UNPKG

mcp-casual-interview

Version:

MCP server for casual interview preparation workflow management

46 lines 1.86 kB
import { WorkflowState, NextActionPrompt } from '../../term/interview-workflow/index.js'; import { ProgressCheckEvent } from '../../command/progress-check/index.js'; /** * Progress View Read Model * * Optimized read models for progress queries and UI presentation. * Built from event projections following CQRS patterns. */ type ProgressResponse = { readonly currentState: WorkflowState; readonly nextAction: NextActionPrompt; readonly canAdvance: boolean; readonly lastUpdated: Date; }; type DetailedProgressView = ProgressResponse & { readonly stateHistory: readonly { readonly state: WorkflowState; readonly timestamp: Date; readonly transitionType: 'manual' | 'automatic'; }[]; }; export declare const ProgressViewQueries: { readonly fromState: (currentState: WorkflowState) => ProgressResponse; readonly fromEvents: (events: ProgressCheckEvent[]) => ProgressResponse; readonly detailed: (currentState: WorkflowState, events?: ProgressCheckEvent[]) => DetailedProgressView; readonly completionStatus: (currentState: WorkflowState) => { isCompleted: boolean; hasNextStep: boolean; nextStep: WorkflowState | null; }; readonly availableActions: (currentState: WorkflowState) => { canAdvance: boolean; canGoBack: boolean; nextState: WorkflowState | null; availableTransitions: WorkflowState[]; currentStateActions: { readonly message: string; }; }; }; export declare const ProgressProjections: { readonly projectCurrentStateFromEvents: (events: ProgressCheckEvent[]) => WorkflowState; readonly buildStateHistoryFromEvents: (events: ProgressCheckEvent[]) => DetailedProgressView["stateHistory"]; }; export type { ProgressResponse, DetailedProgressView }; //# sourceMappingURL=index.d.ts.map