UNPKG

dfa-mcp-server

Version:

DFA-based workflow MCP server for guiding LLM task completion

115 lines 3.08 kB
export interface WorkflowDefinition { name: string; description?: string; states: Record<string, StateDefinition>; initialState: string; contextUpdater?: (context: WorkflowContext, action: string, data?: any) => WorkflowContext; progressCalculator?: (instance: WorkflowInstance, definition: WorkflowDefinition) => string; judgeConfig?: JudgeConfig; stateValidators?: { [stateName: string]: { entryConditions?: (context: WorkflowContext) => ValidationResult; exitConditions?: (context: WorkflowContext) => ValidationResult; requiredFields?: string[]; }; }; transitionValidators?: { [action: string]: (data: any, context: WorkflowContext) => ValidationResult; }; } export interface TransitionRule { condition: string; target: string; description?: string; } export interface StateDefinition { transitions?: Record<string, TransitionRule[]>; final?: boolean; } export interface WorkflowInstance { id: string; definitionName: string; currentState: string; context: WorkflowContext; createdAt: Date; updatedAt: Date; } export interface WorkflowContext { [key: string]: any; } export interface TransitionResult { state: string; context: WorkflowContext; nextActions: string[]; progress?: string; complete?: boolean; } export interface WorkflowCheckpoint { id: string; workflowId: string; timestamp: Date; state: string; context: WorkflowContext; description?: string; metadata?: { createdBy?: string; reason?: string; [key: string]: any; }; } export interface TransitionLog { timestamp: Date; fromState: string; action: string; toState: string; data?: any; judgeDecision?: JudgeDecision; } export interface JudgeConfig { enabled: boolean; strictMode?: boolean; minConfidence?: number; useLLM?: boolean; validationRules?: ValidationRule[]; customValidator?: (transition: TransitionAttempt) => JudgeDecision; } export interface ValidationRule { name: string; description: string; validate: (transition: TransitionAttempt) => ValidationResult; } export interface TransitionAttempt { workflowId: string; fromState: string; action: string; toState: string; data?: any; context: WorkflowContext; definition: WorkflowDefinition; } export interface JudgeDecision { approved: boolean; confidence: number; reasoning: string; violations?: string[]; suggestions?: string[]; metadata?: any; } export interface ValidationResult { valid: boolean; confidence: number; reason?: string; } export interface ConditionEvaluation { condition: string; result: boolean; confidence: number; reasoning: string; extractedValues?: Record<string, any>; } export interface ConditionEvaluationResult { matchedRule: TransitionRule | null; evaluations: ConditionEvaluation[]; overallReasoning: string; } //# sourceMappingURL=types.d.ts.map