UNPKG

mcp-shrimp-task-manager

Version:

Shrimp Task Manager is a task tool built for AI Agents, emphasizing chain-of-thought, reflection, and style consistency. It converts natural language into structured dev tasks with dependency tracking and iterative refinement, enabling agent-like develope

95 lines (84 loc) 4.32 kB
// 任務狀態枚舉:定義任務在工作流程中的當前階段 export enum TaskStatus { PENDING = "pending", // 已創建但尚未開始執行的任務 IN_PROGRESS = "in_progress", // 當前正在執行的任務 COMPLETED = "completed", // 已成功完成並通過驗證的任務 BLOCKED = "blocked", // 由於依賴關係而暫時無法執行的任務 } // 任務依賴關係:定義任務之間的前置條件關係 export interface TaskDependency { taskId: string; // 前置任務的唯一標識符,當前任務執行前必須完成此依賴任務 } // 相關文件類型:定義文件與任務的關係類型 export enum RelatedFileType { TO_MODIFY = "TO_MODIFY", // 需要在任務中修改的文件 REFERENCE = "REFERENCE", // 任務的參考資料或相關文檔 CREATE = "CREATE", // 需要在任務中建立的文件 DEPENDENCY = "DEPENDENCY", // 任務依賴的組件或庫文件 OTHER = "OTHER", // 其他類型的相關文件 } // 相關文件:定義任務相關的文件信息 export interface RelatedFile { path: string; // 文件路徑,可以是相對於項目根目錄的路徑或絕對路徑 type: RelatedFileType; // 文件與任務的關係類型 description?: string; // 文件的補充描述,說明其與任務的具體關係或用途 lineStart?: number; // 相關代碼區塊的起始行(選填) lineEnd?: number; // 相關代碼區塊的結束行(選填) } // 任務介面:定義任務的完整數據結構 export interface Task { id: string; // 任務的唯一標識符 name: string; // 簡潔明確的任務名稱 description: string; // 詳細的任務描述,包含實施要點和驗收標準 notes?: string; // 補充說明、特殊處理要求或實施建議(選填) status: TaskStatus; // 任務當前的執行狀態 dependencies: TaskDependency[]; // 任務的前置依賴關係列表 createdAt: Date; // 任務創建的時間戳 updatedAt: Date; // 任務最後更新的時間戳 completedAt?: Date; // 任務完成的時間戳(僅適用於已完成的任務) summary?: string; // 任務完成摘要,簡潔描述實施結果和重要決策(僅適用於已完成的任務) relatedFiles?: RelatedFile[]; // 與任務相關的文件列表(選填) // 新增欄位:保存完整的技術分析結果 analysisResult?: string; // 來自 analyze_task 和 reflect_task 階段的完整分析結果 // 新增欄位:保存具體的實現指南 implementationGuide?: string; // 具體的實現方法、步驟和建議 // 新增欄位:保存驗證標準和檢驗方法 verificationCriteria?: string; // 明確的驗證標準、測試要點和驗收條件 } // 任務複雜度級別:定義任務的複雜程度分類 export enum TaskComplexityLevel { LOW = "低複雜度", // 簡單且直接的任務,通常不需要特殊處理 MEDIUM = "中等複雜度", // 具有一定複雜性但仍可管理的任務 HIGH = "高複雜度", // 複雜且耗時的任務,需要特別關注 VERY_HIGH = "極高複雜度", // 極其複雜的任務,建議拆分處理 } // 任務複雜度閾值:定義任務複雜度評估的參考標準 export const TaskComplexityThresholds = { DESCRIPTION_LENGTH: { MEDIUM: 500, // 超過此字數判定為中等複雜度 HIGH: 1000, // 超過此字數判定為高複雜度 VERY_HIGH: 2000, // 超過此字數判定為極高複雜度 }, DEPENDENCIES_COUNT: { MEDIUM: 2, // 超過此依賴數量判定為中等複雜度 HIGH: 5, // 超過此依賴數量判定為高複雜度 VERY_HIGH: 10, // 超過此依賴數量判定為極高複雜度 }, NOTES_LENGTH: { MEDIUM: 200, // 超過此字數判定為中等複雜度 HIGH: 500, // 超過此字數判定為高複雜度 VERY_HIGH: 1000, // 超過此字數判定為極高複雜度 }, }; // 任務複雜度評估結果:記錄任務複雜度分析的詳細結果 export interface TaskComplexityAssessment { level: TaskComplexityLevel; // 整體複雜度級別 metrics: { // 各項評估指標的詳細數據 descriptionLength: number; // 描述長度 dependenciesCount: number; // 依賴數量 notesLength: number; // 注記長度 hasNotes: boolean; // 是否有注記 }; recommendations: string[]; // 處理建議列表 }