@pimzino/spec-workflow-mcp
Version:
MCP server for spec-driven development workflow with real-time web dashboard
50 lines • 1.89 kB
TypeScript
import { EventEmitter } from 'events';
export interface ApprovalComment {
type: 'selection' | 'general';
selectedText?: string;
comment: string;
timestamp: string;
lineNumber?: number;
characterPosition?: number;
highlightColor?: string;
}
export interface ApprovalRequest {
id: string;
title: string;
filePath: string;
type: 'document' | 'action';
status: 'pending' | 'approved' | 'rejected' | 'needs-revision';
createdAt: string;
respondedAt?: string;
response?: string;
annotations?: string;
comments?: ApprovalComment[];
revisionHistory?: {
version: number;
content: string;
timestamp: string;
reason?: string;
}[];
metadata?: Record<string, any>;
category: 'spec' | 'steering';
categoryName: string;
}
export declare class ApprovalStorage extends EventEmitter {
projectPath: string;
private approvalsDir;
private watcher?;
constructor(projectPath: string);
start(): Promise<void>;
stop(): Promise<void>;
createApproval(title: string, filePath: string, category: 'spec' | 'steering', categoryName: string, type?: 'document' | 'action', metadata?: Record<string, any>): Promise<string>;
getApproval(id: string): Promise<ApprovalRequest | null>;
private findApprovalPath;
updateApproval(id: string, status: 'approved' | 'rejected' | 'needs-revision', response: string, annotations?: string, comments?: ApprovalComment[]): Promise<void>;
createRevision(originalId: string, newContent: string, reason?: string): Promise<string>;
getAllPendingApprovals(): Promise<ApprovalRequest[]>;
getAllApprovals(): Promise<ApprovalRequest[]>;
deleteApproval(id: string): Promise<boolean>;
cleanupOldApprovals(maxAgeDays?: number): Promise<void>;
private generateId;
}
//# sourceMappingURL=approval-storage.d.ts.map