From 5e60e34c3f5fd2f273d0a8ead7a4d955e834b13c Mon Sep 17 00:00:00 2001 From: Markov Date: Wed, 25 Feb 2026 00:13:41 +0100 Subject: [PATCH] =?UTF-8?q?refactor:=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=82=D0=B8=D0=BF=D0=BE=D0=B2?= =?UTF-8?q?=20=D0=BF=D0=BE=D0=B4=20UUID=20member=20refs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - tasks.ts: assignee_slug -> assignee_id в параметрах - Обновлены описания и фильтры для использования UUID идентификаторов - TrackerClient методы остались без изменений (пока) --- src/tools/tasks.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/tools/tasks.ts b/src/tools/tasks.ts index 99eb140..58731dc 100644 --- a/src/tools/tasks.ts +++ b/src/tools/tasks.ts @@ -5,7 +5,7 @@ import type { ToolContext } from './types.js'; const ListTasksParams = Type.Object({ project_slug: Type.Optional(Type.String({ description: 'Filter by project slug' })), status: Type.Optional(Type.String({ description: 'Filter by status: backlog|todo|in_progress|in_review|done' })), - assignee_slug: Type.Optional(Type.String({ description: 'Filter by assignee slug' })), + assignee_id: Type.Optional(Type.String({ description: 'Filter by assignee ID (UUID)' })), }); const GetTaskParams = Type.Object({ @@ -26,7 +26,7 @@ const UpdateTaskParams = Type.Object({ description: Type.Optional(Type.String({ description: 'New description' })), status: Type.Optional(Type.String({ description: 'New status: backlog|todo|in_progress|in_review|done' })), priority: Type.Optional(Type.String({ description: 'New priority: low|medium|high|critical' })), - assignee_slug: Type.Optional(Type.String({ description: 'Assignee slug (or null to unassign)' })), + assignee_id: Type.Optional(Type.String({ description: 'Assignee ID (UUID, or null to unassign)' })), }); const TakeTaskParams = Type.Object({ @@ -51,13 +51,13 @@ export function createTaskTools(ctx: ToolContext): ToolDefinition[] { { name: 'list_tasks', label: 'List Tasks', - description: 'List tasks with optional filters (project_slug, status, assignee_slug). Returns array of task objects.', + description: 'List tasks with optional filters (project_slug, status, assignee_id). Returns array of task objects.', parameters: ListTasksParams, async execute(_id: string, params: any) { const query: Record = {}; if (params.project_slug) query.project_slug = params.project_slug; if (params.status) query.status = params.status; - if (params.assignee_slug) query.assignee_slug = params.assignee_slug; + if (params.assignee_id) query.assignee_id = params.assignee_id; const tasks = await ctx.trackerClient.listTasks(query); return ok(JSON.stringify(tasks, null, 2)); }, @@ -86,7 +86,7 @@ export function createTaskTools(ctx: ToolContext): ToolDefinition[] { { name: 'update_task', label: 'Update Task', - description: 'Update task fields (title, description, status, priority, assignee_slug). Only pass fields you want to change.', + description: 'Update task fields (title, description, status, priority, assignee_id). Only pass fields you want to change.', parameters: UpdateTaskParams, async execute(_id: string, params: any) { const { task_id, ...fields } = params;