41 lines
856 B
TypeScript
41 lines
856 B
TypeScript
|
|
/**
|
||
|
|
* 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>;
|