diff --git a/src/tools/task/deleteTask.ts b/src/tools/task/deleteTask.ts index edde139..7448da7 100644 --- a/src/tools/task/deleteTask.ts +++ b/src/tools/task/deleteTask.ts @@ -1,4 +1,5 @@ import { z } from "zod"; +import { UUID_V4_REGEX } from "../../utils/regex.js"; import { getTaskById, deleteTask as modelDeleteTask, @@ -10,7 +11,9 @@ import { getDeleteTaskPrompt } from "../../prompts/index.js"; export const deleteTaskSchema = z.object({ taskId: z .string() - .uuid({ message: "任務ID格式無效,請提供有效的UUID格式" }) + .regex(UUID_V4_REGEX, { + message: "任務ID格式無效,請提供有效的UUID v4格式", + }) .describe("待刪除任務的唯一標識符,必須是系統中存在且未完成的任務ID"), }); diff --git a/src/tools/task/executeTask.ts b/src/tools/task/executeTask.ts index ae81c4f..af5f7a2 100644 --- a/src/tools/task/executeTask.ts +++ b/src/tools/task/executeTask.ts @@ -1,4 +1,5 @@ import { z } from "zod"; +import { UUID_V4_REGEX } from "../../utils/regex.js"; import { getTaskById, updateTaskStatus, @@ -13,8 +14,8 @@ import { loadTaskRelatedFiles } from "../../utils/fileLoader.js"; export const executeTaskSchema = z.object({ taskId: z .string() - .uuid({ - message: "任務ID必須是有效的UUID格式", + .regex(UUID_V4_REGEX, { + message: "任務ID格式無效,請提供有效的UUID v4格式", }) .describe("待執行任務的唯一標識符,必須是系統中存在的有效任務ID"), }); diff --git a/src/tools/task/splitTasks.ts b/src/tools/task/splitTasks.ts index 5a00828..3cd620d 100644 --- a/src/tools/task/splitTasks.ts +++ b/src/tools/task/splitTasks.ts @@ -97,9 +97,7 @@ export const splitTasksSchema = z.object({ globalAnalysisResult: z .string() .optional() - .describe( - "全局分析結果:來自 reflect_task 的完整分析結果,適用於所有任務的通用部分" - ), + .describe("任務最終目標,來自之前分析適用於所有任務的通用部分"), }); export async function splitTasks({ diff --git a/src/tools/task/updateTask.ts b/src/tools/task/updateTask.ts index 47f0bd4..4314de4 100644 --- a/src/tools/task/updateTask.ts +++ b/src/tools/task/updateTask.ts @@ -1,4 +1,5 @@ import { z } from "zod"; +import { UUID_V4_REGEX } from "../../utils/regex.js"; import { getTaskById, updateTaskContent as modelUpdateTaskContent, @@ -10,7 +11,9 @@ import { getUpdateTaskContentPrompt } from "../../prompts/index.js"; export const updateTaskContentSchema = z.object({ taskId: z .string() - .uuid({ message: "任務ID格式無效,請提供有效的UUID格式" }) + .regex(UUID_V4_REGEX, { + message: "任務ID格式無效,請提供有效的UUID v4格式", + }) .describe("待更新任務的唯一標識符,必須是系統中存在且未完成的任務ID"), name: z.string().optional().describe("任務的新名稱(選填)"), description: z.string().optional().describe("任務的新描述內容(選填)"), diff --git a/src/tools/task/verifyTask.ts b/src/tools/task/verifyTask.ts index 0c3bac3..ab150c0 100644 --- a/src/tools/task/verifyTask.ts +++ b/src/tools/task/verifyTask.ts @@ -1,4 +1,5 @@ import { z } from "zod"; +import { UUID_V4_REGEX } from "../../utils/regex.js"; import { getTaskById, updateTaskStatus, @@ -11,7 +12,9 @@ import { getVerifyTaskPrompt } from "../../prompts/index.js"; export const verifyTaskSchema = z.object({ taskId: z .string() - .uuid({ message: "任務ID格式無效,請提供有效的UUID格式" }) + .regex(UUID_V4_REGEX, { + message: "任務ID格式無效,請提供有效的UUID v4格式", + }) .describe("待驗證任務的唯一標識符,必須是系統中存在的有效任務ID"), summary: z .string() diff --git a/src/utils/regex.ts b/src/utils/regex.ts new file mode 100644 index 0000000..d570941 --- /dev/null +++ b/src/utils/regex.ts @@ -0,0 +1,2 @@ +export const UUID_V4_REGEX = + /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/;