penpot-mcp/common/src/types.ts
2025-10-11 22:56:57 +02:00

86 lines
1.6 KiB
TypeScript

/**
* Result of a plugin task execution.
*
* Contains the outcome status of a task and any additional result data.
*/
export interface PluginTaskResult<T> {
/**
* Optional result data from the task execution.
*/
data?: T;
}
/**
* Request message sent from server to plugin.
*
* Contains a unique identifier, task name, and parameters for execution.
*/
export interface PluginTaskRequest {
/**
* Unique identifier for request/response correlation.
*/
id: string;
/**
* The name of the task to execute.
*/
task: string;
/**
* The parameters for task execution.
*/
params: any;
}
/**
* Response message sent from plugin back to server.
*
* Contains the original request ID and the execution result.
*/
export interface PluginTaskResponse<T> {
/**
* Unique identifier matching the original request.
*/
id: string;
/**
* Whether the task completed successfully.
*/
success: boolean;
/**
* Optional error message if the task failed.
*/
error?: string;
/**
* The result of the task execution.
*/
data?: T;
}
/**
* Parameters for the executeCode task.
*/
export interface ExecuteCodeTaskParams {
/**
* The JavaScript code to be executed.
*/
code: string;
}
/**
* Result data for the executeCode task.
*/
export interface ExecuteCodeTaskResultData<T> {
/**
* The result of the executed code, if any.
*/
result: T;
/**
* Captured console output during code execution.
*/
log: string;
}