mcp-casual-interview
Version:
MCP server for casual interview preparation workflow management
50 lines • 1.9 kB
TypeScript
/**
* Interview Workflow Term Models
*
* Domain vocabulary for casual interview preparation workflow.
* These models represent the core business concepts and rules
* for managing interview preparation progress.
*/
/**
* 語彙「WorkflowState」
* domain type: value
*/
type WorkflowState = 'not_started' | 'information_initially_registered' | 'career_summary_created' | 'match_position_determined' | 'match_degree_prediagnosed' | 'attract_plan_determined' | 'completed';
/**
* 語彙「NextActionPrompt」
* domain type: value
*/
type NextActionPrompt = {
readonly message: string;
};
type ValidationError = {
type: 'InvalidFormat' | 'InvalidRange' | 'RequiredField' | 'BusinessRule';
message: string;
};
type WorkflowError = {
type: 'InvalidStateTransition' | 'InvalidWorkflowStep' | 'ValidationFailed';
message: string;
};
export declare const WorkflowValues: {
readonly NextActionPrompts: Record<"not_started" | "career_summary_created" | "match_position_determined" | "attract_plan_determined" | "completed" | "information_initially_registered" | "match_degree_prediagnosed", {
readonly message: string;
}>;
};
export declare const WorkflowPolicies: {
readonly StateTransitions: {
/**
* Validates if a state transition is allowed
*/
readonly canTransition: (from: WorkflowState, to: WorkflowState) => boolean;
/**
* Gets the next logical state in the workflow
*/
readonly getNextState: (current: WorkflowState) => WorkflowState | null;
};
};
export declare const WorkflowErrors: {
readonly createValidationError: (message: string) => ValidationError;
readonly createWorkflowError: (type: WorkflowError["type"], message: string) => WorkflowError;
};
export type { WorkflowState, NextActionPrompt, ValidationError, WorkflowError };
//# sourceMappingURL=index.d.ts.map