From 4264fa7ce0f53716b103a6d754a8f3ec5d87d129 Mon Sep 17 00:00:00 2001 From: siage Date: Fri, 16 May 2025 13:40:03 +0800 Subject: [PATCH] =?UTF-8?q?fixes=20#24=20=E4=BF=AE=E6=AD=A3=20Augment=20AI?= =?UTF-8?q?=20=E4=B8=8D=E6=94=AF=E6=8F=B4=20uuid=20format=20=E5=95=8F?= =?UTF-8?q?=E9=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/tools/task/deleteTask.ts | 5 ++++- src/tools/task/executeTask.ts | 5 +++-- src/tools/task/splitTasks.ts | 4 +--- src/tools/task/updateTask.ts | 5 ++++- src/tools/task/verifyTask.ts | 5 ++++- src/utils/regex.ts | 2 ++ 6 files changed, 18 insertions(+), 8 deletions(-) create mode 100644 src/utils/regex.ts 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}$/;