Files
smartrust/ts/interfaces/ipc.ts

41 lines
856 B
TypeScript
Raw Permalink Normal View History

/**
* Management request sent to the Rust binary via stdin.
*/
export interface IManagementRequest {
id: string;
method: string;
params: Record<string, any>;
}
/**
* Management response received from the Rust binary via stdout.
*/
export interface IManagementResponse {
id: string;
success: boolean;
result?: any;
error?: string;
}
/**
* Management event received from the Rust binary (unsolicited, no id field).
*/
export interface IManagementEvent {
event: string;
data: any;
}
/**
* Definition of a single command supported by a Rust binary.
*/
export interface ICommandDefinition<TParams = any, TResult = any> {
params: TParams;
result: TResult;
}
/**
* Map of command names to their definitions.
* Used to type-safe the bridge's sendCommand method.
*/
export type TCommandMap = Record<string, ICommandDefinition>;