refactor: обновление типов под UUID member refs
- tasks.ts: assignee_slug -> assignee_id в параметрах - Обновлены описания и фильтры для использования UUID идентификаторов - TrackerClient методы остались без изменений (пока)
This commit is contained in:
parent
195c2eb691
commit
5e60e34c3f
@ -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<any>[] {
|
||||
{
|
||||
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<string, string> = {};
|
||||
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<any>[] {
|
||||
{
|
||||
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;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user