ai-ip-plugin
Version:
AI-IP Plugin for MCP Workflow Management with SSE streaming and event handling
122 lines • 2.85 kB
TypeScript
/**
* MCP Manager - Core class for managing MCP workflows
*/
import { MCPStartProps, MCPInterruptParams, MCPContinueProps, MCPResumeParams, MessageItem, APIConfig } from "../types";
export interface MCPManagerConfig extends APIConfig {
onStateChange?: (state: MCPManagerState) => void;
onDataUpdate?: (data: Map<string, MessageItem>) => void;
onError?: (error: Error) => void;
}
export interface MCPManagerState {
taskId: string | null;
isLoading: boolean;
error: string | null;
currentStep: string | null;
}
export declare class MCPManager {
private apiService;
private eventHandler;
private streamProcessor;
private dataManager;
private config;
private state;
private streamController;
constructor(config: MCPManagerConfig);
/**
* Setup event handlers
*/
private setupEventHandlers;
/**
* Update manager state
*/
private updateState;
/**
* Start workflow
*/
startWorkflow(params: MCPStartProps): Promise<void>;
/**
* Continue workflow
*/
continueWorkflow(params: MCPContinueProps): Promise<void>;
/**
* Resume workflow
*/
resumeWorkflow(params: MCPResumeParams): Promise<void>;
/**
* Stop workflow
*/
stopWorkflow(params: MCPInterruptParams): Promise<void>;
/**
* Get workflow history
*/
getWorkflowHistory(taskId: string): Promise<any[]>;
/**
* Get workflow state data
*/
getWorkflowStateData(taskId: string): Promise<{
success: boolean;
oralText: string;
}>;
/**
* Create SSE handlers
*/
private createSSEHandlers;
/**
* Abort current stream
*/
private abortCurrentStream;
/**
* Get current state
*/
getState(): MCPManagerState;
/**
* Get workflow data
*/
getWorkflowData(): Map<string, MessageItem>;
/**
* Handle workflow created event
*/
private handleWorkflowCreated;
/**
* Handle workflow restarted event
*/
private handleWorkflowRestarted;
/**
* Handle start of agent event
*/
private handleStartOfAgent;
/**
* Handle end of agent event
*/
private handleEndOfAgent;
/**
* Handle message event
*/
private handleMessage;
/**
* Handle tool call event
*/
private handleToolCall;
/**
* Handle tool call result event
*/
private handleToolCallResult;
/**
* Handle workflow interrupted event
*/
private handleWorkflowInterrupted;
/**
* Handle error event
*/
private handleError;
/**
* Notify data update
*/
private notifyDataUpdate;
/**
* Cleanup resources
*/
destroy(): void;
}
export { MCPManager as MCPPlugin };
//# sourceMappingURL=MCPManager.d.ts.map