UNPKG

@tosin2013/mcp-shrimp-task-manager

Version:

Enhanced MCP Shrimp Task Manager with comprehensive LLM integration. A task management tool built for AI Agents, emphasizing chain-of-thought, reflection, and style consistency. Features real GPT-4 ↔ MCP tools communication, comprehensive testing pipeline

113 lines 4.91 kB
/** * executeTask prompt 生成器 * 負責將模板和參數組合成最終的 prompt */ import { loadPrompt, generatePrompt, loadPromptFromTemplate, } from "../loader.js"; import { TaskStatus } from "../../types/index.js"; /** * 獲取複雜度級別的樣式文字 * @param level 複雜度級別 * @returns 樣式文字 */ function getComplexityStyle(level) { switch (level) { case "VERY_HIGH": return "⚠️ **警告:此任務複雜度極高** ⚠️"; case "HIGH": return "⚠️ **注意:此任務複雜度較高**"; case "MEDIUM": return "**提示:此任務具有一定複雜性**"; default: return ""; } } /** * 獲取 executeTask 的完整 prompt * @param params prompt 參數 * @returns 生成的 prompt */ export function getExecuteTaskPrompt(params) { const { task, complexityAssessment, relatedFilesSummary, dependencyTasks } = params; const notesTemplate = loadPromptFromTemplate("executeTask/notes.md"); let notesPrompt = ""; if (task.notes) { notesPrompt = generatePrompt(notesTemplate, { notes: task.notes, }); } const implementationGuideTemplate = loadPromptFromTemplate("executeTask/implementationGuide.md"); let implementationGuidePrompt = ""; if (task.implementationGuide) { implementationGuidePrompt = generatePrompt(implementationGuideTemplate, { implementationGuide: task.implementationGuide, }); } const verificationCriteriaTemplate = loadPromptFromTemplate("executeTask/verificationCriteria.md"); let verificationCriteriaPrompt = ""; if (task.verificationCriteria) { verificationCriteriaPrompt = generatePrompt(verificationCriteriaTemplate, { verificationCriteria: task.verificationCriteria, }); } const analysisResultTemplate = loadPromptFromTemplate("executeTask/analysisResult.md"); let analysisResultPrompt = ""; if (task.analysisResult) { analysisResultPrompt = generatePrompt(analysisResultTemplate, { analysisResult: task.analysisResult, }); } const dependencyTasksTemplate = loadPromptFromTemplate("executeTask/dependencyTasks.md"); let dependencyTasksPrompt = ""; if (dependencyTasks && dependencyTasks.length > 0) { const completedDependencyTasks = dependencyTasks.filter((t) => t.status === TaskStatus.COMPLETED && t.summary); if (completedDependencyTasks.length > 0) { let dependencyTasksContent = ""; for (const depTask of completedDependencyTasks) { dependencyTasksContent += `### ${depTask.name}\n${depTask.summary || "*無完成摘要*"}\n\n`; } dependencyTasksPrompt = generatePrompt(dependencyTasksTemplate, { dependencyTasks: dependencyTasksContent, }); } } const relatedFilesSummaryTemplate = loadPromptFromTemplate("executeTask/relatedFilesSummary.md"); let relatedFilesSummaryPrompt = ""; relatedFilesSummaryPrompt = generatePrompt(relatedFilesSummaryTemplate, { relatedFilesSummary: relatedFilesSummary || "當前任務沒有關聯的文件。", }); const complexityTemplate = loadPromptFromTemplate("executeTask/complexity.md"); let complexityPrompt = ""; if (complexityAssessment) { const complexityStyle = getComplexityStyle(complexityAssessment.level); let recommendationContent = ""; if (complexityAssessment.recommendations && complexityAssessment.recommendations.length > 0) { for (const recommendation of complexityAssessment.recommendations) { recommendationContent += `- ${recommendation}\n`; } } complexityPrompt = generatePrompt(complexityTemplate, { level: complexityAssessment.level, complexityStyle: complexityStyle, descriptionLength: complexityAssessment.metrics.descriptionLength, dependenciesCount: complexityAssessment.metrics.dependenciesCount, recommendation: recommendationContent, }); } const indexTemplate = loadPromptFromTemplate("executeTask/index.md"); let prompt = generatePrompt(indexTemplate, { name: task.name, id: task.id, description: task.description, notesTemplate: notesPrompt, implementationGuideTemplate: implementationGuidePrompt, verificationCriteriaTemplate: verificationCriteriaPrompt, analysisResultTemplate: analysisResultPrompt, dependencyTasksTemplate: dependencyTasksPrompt, relatedFilesSummaryTemplate: relatedFilesSummaryPrompt, complexityTemplate: complexityPrompt, }); // 載入可能的自定義 prompt return loadPrompt(prompt, "EXECUTE_TASK"); } //# sourceMappingURL=executeTask.js.map