claude-expert-workflow-mcp
Version:
Production-ready MCP server for AI-powered product development consultation through specialized expert roles. Enterprise-grade with memory management, monitoring, and Claude Code integration.
69 lines • 2.29 kB
TypeScript
import { WorkflowSession, ExpertType, ExpertOutput, WorkflowOptions, WorkflowProgress } from '../types/workflow';
import { IPersistentStorage } from './interfaces';
/**
* Persistent workflow engine that extends the basic workflow engine
* with file-based persistence capabilities
*/
export declare class PersistentWorkflowEngine {
private workflows;
private storage;
private autoSave;
private readonly DEFAULT_LINEAR_QUEUE;
constructor(storage: IPersistentStorage, autoSave?: boolean);
/**
* Initialize by loading all workflows from storage
*/
initialize(): Promise<void>;
/**
* Generate a unique workflow session ID
*/
private generateWorkflowId;
/**
* Start a new workflow session
*/
startWorkflow(projectDescription: string, options?: WorkflowOptions): Promise<string>;
/**
* Progress the workflow to the next step
*/
progressWorkflow(workflowId: string): Promise<boolean>;
/**
* Get current workflow status
*/
getWorkflowStatus(workflowId: string): WorkflowProgress | undefined;
/**
* Add expert output and continue workflow
*/
addExpertOutput(workflowId: string, expertType: ExpertType, conversationId: string, output: string, topics: string[]): Promise<boolean>;
/**
* Load workflow from storage
*/
loadWorkflow(workflowId: string): Promise<WorkflowSession | undefined>;
/**
* Get all workflow outputs
*/
getWorkflowOutputs(workflowId: string): ExpertOutput[];
/**
* Get workflow session
*/
getWorkflowSession(workflowId: string): WorkflowSession | null;
/**
* List all active workflows
*/
getActiveWorkflows(): WorkflowProgress[];
deleteWorkflow(workflowId: string): Promise<boolean>;
listWorkflows(): Promise<string[]>;
saveWorkflow(workflowId: string): Promise<void>;
saveAllWorkflows(): Promise<void>;
getWorkflowStats(): Promise<{
total: number;
inMemory: number;
completed: number;
active: number;
failed: number;
}>;
setAutoSave(enabled: boolean): void;
private _initializeWorkflow;
private _continueWorkflow;
private _handleWorkflowError;
}
//# sourceMappingURL=persistentWorkflowEngine.d.ts.map