mirror of
https://github.com/cjo4m06/mcp-shrimp-task-manager.git
synced 2025-07-27 16:42:30 +08:00
60 lines
1.4 KiB
TypeScript
60 lines
1.4 KiB
TypeScript
![]() |
/**
|
||
|
* deleteTask prompt 生成器
|
||
|
* 負責將模板和參數組合成最終的 prompt
|
||
|
*/
|
||
|
|
||
|
import {
|
||
|
loadPrompt,
|
||
|
generatePrompt,
|
||
|
loadPromptFromTemplate,
|
||
|
} from "../loader.js";
|
||
|
import { Task } from "../../types/index.js";
|
||
|
|
||
|
/**
|
||
|
* deleteTask prompt 參數介面
|
||
|
*/
|
||
|
export interface DeleteTaskPromptParams {
|
||
|
taskId: string;
|
||
|
task?: Task;
|
||
|
success?: boolean;
|
||
|
message?: string;
|
||
|
isTaskCompleted?: boolean;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 獲取 deleteTask 的完整 prompt
|
||
|
* @param params prompt 參數
|
||
|
* @returns 生成的 prompt
|
||
|
*/
|
||
|
export function getDeleteTaskPrompt(params: DeleteTaskPromptParams): string {
|
||
|
const { taskId, task, success, message, isTaskCompleted } = params;
|
||
|
|
||
|
// 處理任務不存在的情況
|
||
|
if (!task) {
|
||
|
const notFoundTemplate = loadPromptFromTemplate("deleteTask/notFound.md");
|
||
|
return generatePrompt(notFoundTemplate, {
|
||
|
taskId,
|
||
|
});
|
||
|
}
|
||
|
|
||
|
// 處理任務已完成的情況
|
||
|
if (isTaskCompleted) {
|
||
|
const completedTemplate = loadPromptFromTemplate("deleteTask/completed.md");
|
||
|
return generatePrompt(completedTemplate, {
|
||
|
taskId: task.id,
|
||
|
taskName: task.name,
|
||
|
});
|
||
|
}
|
||
|
|
||
|
// 處理刪除成功或失敗的情況
|
||
|
const responseTitle = success ? "Success" : "Failure";
|
||
|
const indexTemplate = loadPromptFromTemplate("deleteTask/index.md");
|
||
|
const prompt = generatePrompt(indexTemplate, {
|
||
|
responseTitle,
|
||
|
message,
|
||
|
});
|
||
|
|
||
|
// 載入可能的自定義 prompt
|
||
|
return loadPrompt(prompt, "DELETE_TASK");
|
||
|
}
|