UNPKG

mcp-casual-interview

Version:

MCP server for casual interview preparation workflow management

45 lines 2.37 kB
import { Result } from 'neverthrow'; import { WorkflowState, WorkflowError } from '../../domain/term/interview-workflow/index.js'; /** * Workflow State Effect Layer * * Handles side effects for workflow state persistence and retrieval. * Abstracts storage implementation details from domain logic. */ type StateStorageError = { type: 'StorageUnavailable' | 'SerializationError' | 'StateNotFound'; message: string; cause?: unknown; }; type GetWorkflowStateEffect = () => Promise<Result<WorkflowState, StateStorageError>>; type SetWorkflowStateEffect = (state: WorkflowState) => Promise<Result<void, StateStorageError>>; type ClearWorkflowStateEffect = () => Promise<Result<void, StateStorageError>>; type GetNotionPageUrlEffect = () => Promise<Result<string, StateStorageError>>; type SetNotionPageUrlEffect = (url: string) => Promise<Result<void, StateStorageError>>; type StorageType = 'memory' | 'file' | 'database'; interface StorageConfig { type: StorageType; filePath?: string; connectionString?: string; } export declare const WorkflowStateEffects: { getWorkflowState: () => Promise<Result<WorkflowState, StateStorageError>>; setWorkflowState: (state: WorkflowState) => Promise<Result<void, StateStorageError>>; clearWorkflowState: () => Promise<Result<void, StateStorageError>>; getNotionPageUrl: () => Promise<Result<string, StateStorageError>>; setNotionPageUrl: (url: string) => Promise<Result<void, StateStorageError>>; getLastUpdated: () => Date; }; export declare const createWorkflowStateEffectsWithConfig: () => { getWorkflowState: () => Promise<Result<WorkflowState, StateStorageError>>; setWorkflowState: (state: WorkflowState) => Promise<Result<void, StateStorageError>>; clearWorkflowState: () => Promise<Result<void, StateStorageError>>; getNotionPageUrl: () => Promise<Result<string, StateStorageError>>; setNotionPageUrl: (url: string) => Promise<Result<void, StateStorageError>>; getLastUpdated: () => Date; }; export declare const ErrorMapping: { readonly mapStorageErrorToWorkflowError: (storageError: StateStorageError) => WorkflowError; }; export type { StateStorageError, StorageConfig, StorageType, GetWorkflowStateEffect, SetWorkflowStateEffect, ClearWorkflowStateEffect, GetNotionPageUrlEffect, SetNotionPageUrlEffect }; //# sourceMappingURL=index.d.ts.map