66 lines
1.5 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 async function getDeleteTaskPrompt(
params: DeleteTaskPromptParams
): Promise<string> {
const { taskId, task, success, message, isTaskCompleted } = params;
// 處理任務不存在的情況
if (!task) {
const notFoundTemplate = await loadPromptFromTemplate(
"deleteTask/notFound.md"
);
return generatePrompt(notFoundTemplate, {
taskId,
});
}
// 處理任務已完成的情況
if (isTaskCompleted) {
const completedTemplate = await loadPromptFromTemplate(
"deleteTask/completed.md"
);
return generatePrompt(completedTemplate, {
taskId: task.id,
taskName: task.name,
});
}
// 處理刪除成功或失敗的情況
const responseTitle = success ? "Success" : "Failure";
const indexTemplate = await loadPromptFromTemplate("deleteTask/index.md");
const prompt = generatePrompt(indexTemplate, {
responseTitle,
message,
});
// 載入可能的自定義 prompt
return loadPrompt(prompt, "DELETE_TASK");
}