mirror of
https://github.com/cjo4m06/mcp-shrimp-task-manager.git
synced 2025-11-12 21:11:40 +08:00
65 lines
1.5 KiB
TypeScript
65 lines
1.5 KiB
TypeScript
/**
|
|
* clearAllTasks prompt 生成器
|
|
* 負責將模板和參數組合成最終的 prompt
|
|
*/
|
|
|
|
import {
|
|
loadPrompt,
|
|
generatePrompt,
|
|
loadPromptFromTemplate,
|
|
} from "../loader.js";
|
|
|
|
/**
|
|
* clearAllTasks prompt 參數介面
|
|
*/
|
|
export interface ClearAllTasksPromptParams {
|
|
confirm?: boolean;
|
|
success?: boolean;
|
|
message?: string;
|
|
backupFile?: string;
|
|
isEmpty?: boolean;
|
|
}
|
|
|
|
/**
|
|
* 獲取 clearAllTasks 的完整 prompt
|
|
* @param params prompt 參數
|
|
* @returns 生成的 prompt
|
|
*/
|
|
export function getClearAllTasksPrompt(
|
|
params: ClearAllTasksPromptParams
|
|
): string {
|
|
const { confirm, success, message, backupFile, isEmpty } = params;
|
|
|
|
// 處理未確認的情況
|
|
if (confirm === false) {
|
|
const cancelTemplate = loadPromptFromTemplate("clearAllTasks/cancel.md");
|
|
return generatePrompt(cancelTemplate, {});
|
|
}
|
|
|
|
// 處理無任務需要清除的情況
|
|
if (isEmpty) {
|
|
const emptyTemplate = loadPromptFromTemplate("clearAllTasks/empty.md");
|
|
return generatePrompt(emptyTemplate, {});
|
|
}
|
|
|
|
// 處理清除成功或失敗的情況
|
|
const responseTitle = success ? "Success" : "Failure";
|
|
|
|
// 使用模板生成 backupInfo
|
|
const backupInfo = backupFile
|
|
? generatePrompt(loadPromptFromTemplate("clearAllTasks/backupInfo.md"), {
|
|
backupFile,
|
|
})
|
|
: "";
|
|
|
|
const indexTemplate = loadPromptFromTemplate("clearAllTasks/index.md");
|
|
const prompt = generatePrompt(indexTemplate, {
|
|
responseTitle,
|
|
message,
|
|
backupInfo,
|
|
});
|
|
|
|
// 載入可能的自定義 prompt
|
|
return loadPrompt(prompt, "CLEAR_ALL_TASKS");
|
|
}
|