spec-workflow-mcp
Version:
MCP server for managing spec workflow (requirements, design, implementation)
101 lines • 2.45 kB
TypeScript
export interface WorkflowRequest {
path: string;
action: Action;
}
export interface Action {
type: 'init' | 'check' | 'skip' | 'confirm' | 'complete_task';
featureName?: string;
introduction?: string;
taskNumber?: string | string[];
}
export interface WorkflowResponse {
result: InitResponse | CheckResponse | SkipResponse | ConfirmResponse | BatchCompleteTaskResponse;
}
export interface InitResponse {
success: boolean;
data: {
path: string;
featureName: string;
nextAction: 'edit_requirements';
};
displayText: string;
resources?: ResourceRef[];
}
export interface CheckResponse {
stage: Stage;
progress: Progress;
status: Status;
displayText: string;
resources?: ResourceRef[];
}
export interface SkipResponse {
stage: string;
skipped: boolean;
progress: Progress;
displayText: string;
resources?: ResourceRef[];
}
export interface ConfirmResponse {
stage: string;
confirmed: boolean;
nextStage: string;
progress: Progress;
displayText: string;
resources?: ResourceRef[];
}
export interface BatchCompleteTaskResponse {
success: boolean;
completedTasks?: string[];
alreadyCompleted?: string[];
failedTasks?: {
taskNumber: string;
reason: string;
}[];
results?: {
taskNumber: string;
success: boolean;
status: 'completed' | 'already_completed' | 'failed';
}[];
nextTask?: {
number: string;
description: string;
};
hasNextTask?: boolean;
displayText: string;
}
export interface Stage {
}
export interface Progress {
overall: number;
requirements: number;
design: number;
tasks: number;
}
export interface Status {
type: 'not_started' | 'not_edited' | 'in_progress' | 'ready_to_confirm' | 'confirmed' | 'completed';
reason?: string;
readyToConfirm?: boolean;
}
export interface Resource {
id: string;
content: string;
}
export interface ResourceRef {
uri: string;
title?: string;
mimeType: string;
text?: string;
}
export interface ErrorResponse {
displayText: string;
variables?: Record<string, any>;
}
export interface ContentCheckRules {
minLength?: number;
requiredSections?: string[];
optionalSections?: string[];
minTasks?: number;
taskFormat?: string;
requiresEstimate?: boolean;
}
//# sourceMappingURL=openApiTypes.d.ts.map