60 lines
1.4 KiB
TypeScript
Raw Normal View History

/**
* 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");
}