@task-shepherd/agent 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/cli/index.js +1 -1
  2. package/dist/index.js +1 -1
  3. package/dist/meta.json +5 -5
  4. package/package.json +3 -2
  5. package/shared/dist/index.d.ts +15 -0
  6. package/shared/dist/index.js +12 -0
  7. package/shared/dist/mcp-client/client.d.ts +18 -0
  8. package/shared/dist/mcp-client/client.js +49 -0
  9. package/shared/dist/mcp-client/index.d.ts +7 -0
  10. package/shared/dist/mcp-client/index.js +7 -0
  11. package/shared/dist/mcp-client/types.d.ts +822 -0
  12. package/shared/dist/mcp-client/types.js +193 -0
  13. package/shared/dist/schema/index.d.ts +189 -0
  14. package/shared/dist/schema/index.js +142 -0
  15. package/shared/dist/schema/mcp-mappings.d.ts +50 -0
  16. package/shared/dist/schema/mcp-mappings.js +563 -0
  17. package/shared/dist/schema/validation.d.ts +91 -0
  18. package/shared/dist/schema/validation.js +282 -0
  19. package/shared/dist/work-queue/index.d.ts +7 -0
  20. package/shared/dist/work-queue/index.js +7 -0
  21. package/shared/dist/work-queue/types.d.ts +147 -0
  22. package/shared/dist/work-queue/types.js +4 -0
  23. package/shared/dist/work-queue/validation.d.ts +24 -0
  24. package/shared/dist/work-queue/validation.js +160 -0
  25. package/shared/dist/workspace/constants.d.ts +148 -0
  26. package/shared/dist/workspace/constants.js +432 -0
  27. package/shared/dist/workspace/index.d.ts +10 -0
  28. package/shared/dist/workspace/index.js +10 -0
  29. package/shared/dist/workspace/types.d.ts +477 -0
  30. package/shared/dist/workspace/types.js +9 -0
  31. package/shared/dist/workspace/utils.d.ts +79 -0
  32. package/shared/dist/workspace/utils.js +334 -0
  33. package/shared/dist/workspace/validation.d.ts +1312 -0
  34. package/shared/dist/workspace/validation.js +467 -0
  35. package/shared/graphql/generated-internal.ts +3629 -0
  36. package/shared/graphql/generated-public.ts +773 -0
  37. package/shared/graphql/generated.d.ts +7456 -0
  38. package/shared/graphql/generated.js +11799 -0
  39. package/shared/graphql/generated.ts +27569 -0
  40. package/shared/graphql/generated.ts.backup +16531 -0
  41. package/shared/graphql/generated.ts.working +4828 -0
  42. package/shared/graphql/introspection-internal.json +15845 -0
  43. package/shared/graphql/introspection-public.json +9658 -0
  44. package/shared/graphql/introspection.json +44263 -0
  45. package/shared/graphql/operations/ai-service.graphql +131 -0
  46. package/shared/graphql/operations/ai-work-queue.graphql +31 -0
  47. package/shared/graphql/operations/analytics.graphql +283 -0
  48. package/shared/graphql/operations/analytics.ts +3 -0
  49. package/shared/graphql/operations/api-keys.graphql +126 -0
  50. package/shared/graphql/operations/attachments.graphql +53 -0
  51. package/shared/graphql/operations/attachments.ts +39 -0
  52. package/shared/graphql/operations/audit.graphql +46 -0
  53. package/shared/graphql/operations/auth.graphql +83 -0
  54. package/shared/graphql/operations/claude-usage.graphql +178 -0
  55. package/shared/graphql/operations/comments.graphql +4 -0
  56. package/shared/graphql/operations/dashboard.graphql +29 -0
  57. package/shared/graphql/operations/development-plans.graphql +408 -0
  58. package/shared/graphql/operations/early-access.graphql.disabled +21 -0
  59. package/shared/graphql/operations/errors.graphql.disabled +83 -0
  60. package/shared/graphql/operations/internal-api.graphql +931 -0
  61. package/shared/graphql/operations/notifications.graphql +4 -0
  62. package/shared/graphql/operations/organization-invites.graphql.disabled +32 -0
  63. package/shared/graphql/operations/performance.graphql +4 -0
  64. package/shared/graphql/operations/project-reviews.graphql +610 -0
  65. package/shared/graphql/operations/projects.graphql +98 -0
  66. package/shared/graphql/operations/settings.graphql +4 -0
  67. package/shared/graphql/operations/stories.graphql +113 -0
  68. package/shared/graphql/operations/subscriptions.graphql +235 -0
  69. package/shared/graphql/operations/subscriptions.graphql.disabled +96 -0
  70. package/shared/graphql/operations/tasks.graphql +257 -0
  71. package/shared/graphql/operations/team.graphql +111 -0
  72. package/shared/graphql/operations/team.ts +226 -0
  73. package/shared/graphql/operations/time-tracking.graphql.disabled +96 -0
  74. package/shared/graphql/operations/work-queue.graphql +210 -0
  75. package/shared/graphql/operations/work-queue.graphql.disabled +474 -0
  76. package/shared/graphql/operations/workspace.graphql +146 -0
  77. package/shared/graphql/schema-internal.graphql +1085 -0
  78. package/shared/graphql/schema-public.graphql +709 -0
  79. package/shared/graphql/schema.graphql +3473 -0
  80. package/shared/package.json +23 -0
  81. package/web/README.md +68 -0
@@ -0,0 +1,822 @@
1
+ /**
2
+ * Generated MCP Client Types
3
+ *
4
+ * This file is auto-generated from MCP tool mappings.
5
+ * Do not modify directly - run npm run generate:mcp-client instead.
6
+ */
7
+ export interface ListProjectsInput {
8
+ limit?: number;
9
+ offset?: number;
10
+ search?: Record<string, any>;
11
+ }
12
+ export interface ListProjectsResult {
13
+ success: boolean;
14
+ data?: any;
15
+ error?: string;
16
+ }
17
+ /**
18
+ * List all projects with optional filtering
19
+ * GraphQL Operation: projects (query)
20
+ * Required Permissions: VIEW
21
+ */
22
+ export interface ListProjectsTool {
23
+ name: 'list_projects';
24
+ description: 'List all projects with optional filtering';
25
+ operationType: 'query';
26
+ graphqlOperation: 'projects';
27
+ execute(input: ListProjectsInput): Promise<ListProjectsResult>;
28
+ }
29
+ export interface GetProjectInput {
30
+ id: string;
31
+ }
32
+ export interface GetProjectResult {
33
+ success: boolean;
34
+ data?: any;
35
+ error?: string;
36
+ }
37
+ /**
38
+ * Get a specific project by ID
39
+ * GraphQL Operation: project (query)
40
+ * Required Permissions: VIEW
41
+ */
42
+ export interface GetProjectTool {
43
+ name: 'get_project';
44
+ description: 'Get a specific project by ID';
45
+ operationType: 'query';
46
+ graphqlOperation: 'project';
47
+ execute(input: GetProjectInput): Promise<GetProjectResult>;
48
+ }
49
+ export interface CreateProjectInput {
50
+ name: string;
51
+ description?: string;
52
+ stage?: 'REQUIREMENTS' | 'DESIGN' | 'IMPLEMENTATION' | 'COMPLETE' | 'ARCHIVED';
53
+ isPublic?: boolean;
54
+ startDate?: string;
55
+ targetCompletionDate?: string;
56
+ repositoryUrl?: string;
57
+ documentationUrl?: string;
58
+ }
59
+ export interface CreateProjectResult {
60
+ success: boolean;
61
+ data?: any;
62
+ error?: string;
63
+ }
64
+ /**
65
+ * Create a new project
66
+ * GraphQL Operation: createProject (mutation)
67
+ * Required Permissions: PRODUCT, ADMIN
68
+ */
69
+ export interface CreateProjectTool {
70
+ name: 'create_project';
71
+ description: 'Create a new project';
72
+ operationType: 'mutation';
73
+ graphqlOperation: 'createProject';
74
+ execute(input: CreateProjectInput): Promise<CreateProjectResult>;
75
+ }
76
+ export interface UpdateProjectInput {
77
+ id: string;
78
+ name?: string;
79
+ description?: string;
80
+ stage?: 'REQUIREMENTS' | 'DESIGN' | 'IMPLEMENTATION' | 'COMPLETE' | 'ARCHIVED';
81
+ isPublic?: boolean;
82
+ startDate?: string;
83
+ targetCompletionDate?: string;
84
+ repositoryUrl?: string;
85
+ documentationUrl?: string;
86
+ }
87
+ export interface UpdateProjectResult {
88
+ success: boolean;
89
+ data?: any;
90
+ error?: string;
91
+ }
92
+ /**
93
+ * Update an existing project
94
+ * GraphQL Operation: updateProject (mutation)
95
+ * Required Permissions: PRODUCT, ADMIN
96
+ */
97
+ export interface UpdateProjectTool {
98
+ name: 'update_project';
99
+ description: 'Update an existing project';
100
+ operationType: 'mutation';
101
+ graphqlOperation: 'updateProject';
102
+ execute(input: UpdateProjectInput): Promise<UpdateProjectResult>;
103
+ }
104
+ export interface DeleteProjectInput {
105
+ id: string;
106
+ }
107
+ export interface DeleteProjectResult {
108
+ success: boolean;
109
+ data?: any;
110
+ error?: string;
111
+ }
112
+ /**
113
+ * Delete a project
114
+ * GraphQL Operation: deleteProject (mutation)
115
+ * Required Permissions: PRODUCT, ADMIN
116
+ */
117
+ export interface DeleteProjectTool {
118
+ name: 'delete_project';
119
+ description: 'Delete a project';
120
+ operationType: 'mutation';
121
+ graphqlOperation: 'deleteProject';
122
+ execute(input: DeleteProjectInput): Promise<DeleteProjectResult>;
123
+ }
124
+ export interface ListStoriesInput {
125
+ limit?: number;
126
+ offset?: number;
127
+ projectId?: string;
128
+ search?: Record<string, any>;
129
+ }
130
+ export interface ListStoriesResult {
131
+ success: boolean;
132
+ data?: any;
133
+ error?: string;
134
+ }
135
+ /**
136
+ * List stories with filtering and pagination
137
+ * GraphQL Operation: stories (query)
138
+ * Required Permissions: VIEW
139
+ */
140
+ export interface ListStoriesTool {
141
+ name: 'list_stories';
142
+ description: 'List stories with filtering and pagination';
143
+ operationType: 'query';
144
+ graphqlOperation: 'stories';
145
+ execute(input: ListStoriesInput): Promise<ListStoriesResult>;
146
+ }
147
+ export interface GetStoryInput {
148
+ id: string;
149
+ }
150
+ export interface GetStoryResult {
151
+ success: boolean;
152
+ data?: any;
153
+ error?: string;
154
+ }
155
+ /**
156
+ * Get a specific story by ID
157
+ * GraphQL Operation: story (query)
158
+ * Required Permissions: VIEW
159
+ */
160
+ export interface GetStoryTool {
161
+ name: 'get_story';
162
+ description: 'Get a specific story by ID';
163
+ operationType: 'query';
164
+ graphqlOperation: 'story';
165
+ execute(input: GetStoryInput): Promise<GetStoryResult>;
166
+ }
167
+ export interface CreateStoryInput {
168
+ title: string;
169
+ description?: string;
170
+ projectId: string;
171
+ priority?: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
172
+ estimate?: number;
173
+ tags?: string[];
174
+ acceptanceCriteria?: string[];
175
+ storyLink?: string;
176
+ assignedTo?: string;
177
+ orderIndex?: number;
178
+ }
179
+ export interface CreateStoryResult {
180
+ success: boolean;
181
+ data?: any;
182
+ error?: string;
183
+ }
184
+ /**
185
+ * Create a new story
186
+ * GraphQL Operation: createStory (mutation)
187
+ * Required Permissions: WORKER, PRODUCT, ADMIN
188
+ */
189
+ export interface CreateStoryTool {
190
+ name: 'create_story';
191
+ description: 'Create a new story';
192
+ operationType: 'mutation';
193
+ graphqlOperation: 'createStory';
194
+ execute(input: CreateStoryInput): Promise<CreateStoryResult>;
195
+ }
196
+ export interface UpdateStoryInput {
197
+ id: string;
198
+ title?: string;
199
+ description?: string;
200
+ priority?: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
201
+ estimate?: number;
202
+ tags?: string[];
203
+ acceptanceCriteria?: string[];
204
+ storyLink?: string;
205
+ assignedTo?: string;
206
+ }
207
+ export interface UpdateStoryResult {
208
+ success: boolean;
209
+ data?: any;
210
+ error?: string;
211
+ }
212
+ /**
213
+ * Update an existing story
214
+ * GraphQL Operation: updateStory (mutation)
215
+ * Required Permissions: WORKER, PRODUCT, ADMIN
216
+ */
217
+ export interface UpdateStoryTool {
218
+ name: 'update_story';
219
+ description: 'Update an existing story';
220
+ operationType: 'mutation';
221
+ graphqlOperation: 'updateStory';
222
+ execute(input: UpdateStoryInput): Promise<UpdateStoryResult>;
223
+ }
224
+ export interface ClaimStoryInput {
225
+ id: string;
226
+ }
227
+ export interface ClaimStoryResult {
228
+ success: boolean;
229
+ data?: any;
230
+ error?: string;
231
+ }
232
+ /**
233
+ * Claim a story for work
234
+ * GraphQL Operation: claimStory (mutation)
235
+ * Required Permissions: WORKER, PRODUCT, ADMIN
236
+ */
237
+ export interface ClaimStoryTool {
238
+ name: 'claim_story';
239
+ description: 'Claim a story for work';
240
+ operationType: 'mutation';
241
+ graphqlOperation: 'claimStory';
242
+ execute(input: ClaimStoryInput): Promise<ClaimStoryResult>;
243
+ }
244
+ export interface UnclaimStoryInput {
245
+ id: string;
246
+ }
247
+ export interface UnclaimStoryResult {
248
+ success: boolean;
249
+ data?: any;
250
+ error?: string;
251
+ }
252
+ /**
253
+ * Unclaim a previously claimed story
254
+ * GraphQL Operation: releaseStory (mutation)
255
+ * Required Permissions: WORKER, PRODUCT, ADMIN
256
+ */
257
+ export interface UnclaimStoryTool {
258
+ name: 'unclaim_story';
259
+ description: 'Unclaim a previously claimed story';
260
+ operationType: 'mutation';
261
+ graphqlOperation: 'releaseStory';
262
+ execute(input: UnclaimStoryInput): Promise<UnclaimStoryResult>;
263
+ }
264
+ export interface CompleteStoryInput {
265
+ id: string;
266
+ implementationSummary?: string;
267
+ }
268
+ export interface CompleteStoryResult {
269
+ success: boolean;
270
+ data?: any;
271
+ error?: string;
272
+ }
273
+ /**
274
+ * Mark a story as complete
275
+ * GraphQL Operation: completeStory (mutation)
276
+ * Required Permissions: WORKER, PRODUCT, ADMIN
277
+ */
278
+ export interface CompleteStoryTool {
279
+ name: 'complete_story';
280
+ description: 'Mark a story as complete';
281
+ operationType: 'mutation';
282
+ graphqlOperation: 'completeStory';
283
+ execute(input: CompleteStoryInput): Promise<CompleteStoryResult>;
284
+ }
285
+ export interface ReviewStoryInput {
286
+ id: string;
287
+ approved: boolean;
288
+ reviewNotes?: string;
289
+ }
290
+ export interface ReviewStoryResult {
291
+ success: boolean;
292
+ data?: any;
293
+ error?: string;
294
+ }
295
+ /**
296
+ * Review a completed story
297
+ * GraphQL Operation: reviewStory (mutation)
298
+ * Required Permissions: PRODUCT, ADMIN
299
+ */
300
+ export interface ReviewStoryTool {
301
+ name: 'review_story';
302
+ description: 'Review a completed story';
303
+ operationType: 'mutation';
304
+ graphqlOperation: 'reviewStory';
305
+ execute(input: ReviewStoryInput): Promise<ReviewStoryResult>;
306
+ }
307
+ export interface ListTasksInput {
308
+ limit?: number;
309
+ offset?: number;
310
+ storyId?: string;
311
+ search?: Record<string, any>;
312
+ }
313
+ export interface ListTasksResult {
314
+ success: boolean;
315
+ data?: any;
316
+ error?: string;
317
+ }
318
+ /**
319
+ * List tasks with filtering and pagination
320
+ * GraphQL Operation: tasks (query)
321
+ * Required Permissions: VIEW
322
+ */
323
+ export interface ListTasksTool {
324
+ name: 'list_tasks';
325
+ description: 'List tasks with filtering and pagination';
326
+ operationType: 'query';
327
+ graphqlOperation: 'tasks';
328
+ execute(input: ListTasksInput): Promise<ListTasksResult>;
329
+ }
330
+ export interface GetTaskInput {
331
+ id: string;
332
+ }
333
+ export interface GetTaskResult {
334
+ success: boolean;
335
+ data?: any;
336
+ error?: string;
337
+ }
338
+ /**
339
+ * Get a specific task by ID
340
+ * GraphQL Operation: task (query)
341
+ * Required Permissions: VIEW
342
+ */
343
+ export interface GetTaskTool {
344
+ name: 'get_task';
345
+ description: 'Get a specific task by ID';
346
+ operationType: 'query';
347
+ graphqlOperation: 'task';
348
+ execute(input: GetTaskInput): Promise<GetTaskResult>;
349
+ }
350
+ export interface CreateTaskInput {
351
+ title: string;
352
+ description?: string;
353
+ storyId: string;
354
+ areas: string[];
355
+ type?: 'PLANNED' | 'FOLLOWUP' | 'ASK';
356
+ priority?: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
357
+ estimate?: number;
358
+ assignedTo?: string;
359
+ }
360
+ export interface CreateTaskResult {
361
+ success: boolean;
362
+ data?: any;
363
+ error?: string;
364
+ }
365
+ /**
366
+ * Create a new task
367
+ * GraphQL Operation: createTask (mutation)
368
+ * Required Permissions: WORKER, PRODUCT, ADMIN
369
+ */
370
+ export interface CreateTaskTool {
371
+ name: 'create_task';
372
+ description: 'Create a new task';
373
+ operationType: 'mutation';
374
+ graphqlOperation: 'createTask';
375
+ execute(input: CreateTaskInput): Promise<CreateTaskResult>;
376
+ }
377
+ export interface UpdateTaskInput {
378
+ id: string;
379
+ title?: string;
380
+ description?: string;
381
+ type?: 'PLANNED' | 'FOLLOWUP' | 'ASK';
382
+ priority?: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
383
+ estimate?: number;
384
+ assignedTo?: string;
385
+ }
386
+ export interface UpdateTaskResult {
387
+ success: boolean;
388
+ data?: any;
389
+ error?: string;
390
+ }
391
+ /**
392
+ * Update an existing task
393
+ * GraphQL Operation: updateTask (mutation)
394
+ * Required Permissions: WORKER, PRODUCT, ADMIN
395
+ */
396
+ export interface UpdateTaskTool {
397
+ name: 'update_task';
398
+ description: 'Update an existing task';
399
+ operationType: 'mutation';
400
+ graphqlOperation: 'updateTask';
401
+ execute(input: UpdateTaskInput): Promise<UpdateTaskResult>;
402
+ }
403
+ export interface ClaimTaskInput {
404
+ id: string;
405
+ }
406
+ export interface ClaimTaskResult {
407
+ success: boolean;
408
+ data?: any;
409
+ error?: string;
410
+ }
411
+ /**
412
+ * Claim a task for work
413
+ * GraphQL Operation: claimTask (mutation)
414
+ * Required Permissions: WORKER, PRODUCT, ADMIN
415
+ */
416
+ export interface ClaimTaskTool {
417
+ name: 'claim_task';
418
+ description: 'Claim a task for work';
419
+ operationType: 'mutation';
420
+ graphqlOperation: 'claimTask';
421
+ execute(input: ClaimTaskInput): Promise<ClaimTaskResult>;
422
+ }
423
+ export interface UnclaimTaskInput {
424
+ id: string;
425
+ }
426
+ export interface UnclaimTaskResult {
427
+ success: boolean;
428
+ data?: any;
429
+ error?: string;
430
+ }
431
+ /**
432
+ * Unclaim a previously claimed task
433
+ * GraphQL Operation: unclaimTask (mutation)
434
+ * Required Permissions: WORKER, PRODUCT, ADMIN
435
+ */
436
+ export interface UnclaimTaskTool {
437
+ name: 'unclaim_task';
438
+ description: 'Unclaim a previously claimed task';
439
+ operationType: 'mutation';
440
+ graphqlOperation: 'unclaimTask';
441
+ execute(input: UnclaimTaskInput): Promise<UnclaimTaskResult>;
442
+ }
443
+ export interface CompleteTaskInput {
444
+ id: string;
445
+ implementationSummary?: string;
446
+ }
447
+ export interface CompleteTaskResult {
448
+ success: boolean;
449
+ data?: any;
450
+ error?: string;
451
+ }
452
+ /**
453
+ * Mark a task as complete with implementation details
454
+ * GraphQL Operation: completeTask (mutation)
455
+ * Required Permissions: WORKER, PRODUCT, ADMIN
456
+ */
457
+ export interface CompleteTaskTool {
458
+ name: 'complete_task';
459
+ description: 'Mark a task as complete with implementation details';
460
+ operationType: 'mutation';
461
+ graphqlOperation: 'completeTask';
462
+ execute(input: CompleteTaskInput): Promise<CompleteTaskResult>;
463
+ }
464
+ export interface RegisterWorkerInput {
465
+ email: string;
466
+ password: string;
467
+ firstName?: string;
468
+ lastName?: string;
469
+ role?: 'VIEW' | 'WORKER' | 'PRODUCT' | 'ADMIN';
470
+ }
471
+ export interface RegisterWorkerResult {
472
+ success: boolean;
473
+ data?: any;
474
+ error?: string;
475
+ }
476
+ /**
477
+ * Register a new worker (human or AI) with the system
478
+ * GraphQL Operation: register (mutation)
479
+ * Required Permissions: None
480
+ */
481
+ export interface RegisterWorkerTool {
482
+ name: 'register_worker';
483
+ description: 'Register a new worker (human or AI) with the system';
484
+ operationType: 'mutation';
485
+ graphqlOperation: 'register';
486
+ execute(input: RegisterWorkerInput): Promise<RegisterWorkerResult>;
487
+ }
488
+ export interface ListWorkersInput {
489
+ activeOnly?: boolean;
490
+ type?: 'HUMAN' | 'AI';
491
+ capability?: string;
492
+ }
493
+ export interface ListWorkersResult {
494
+ success: boolean;
495
+ data?: any;
496
+ error?: string;
497
+ }
498
+ /**
499
+ * List all registered workers
500
+ * GraphQL Operation: users (query)
501
+ * Required Permissions: ADMIN
502
+ */
503
+ export interface ListWorkersTool {
504
+ name: 'list_workers';
505
+ description: 'List all registered workers';
506
+ operationType: 'query';
507
+ graphqlOperation: 'users';
508
+ execute(input: ListWorkersInput): Promise<ListWorkersResult>;
509
+ }
510
+ export interface CreateStoryDependencyInput {
511
+ storyId: string;
512
+ dependsOnStoryId: string;
513
+ }
514
+ export interface CreateStoryDependencyResult {
515
+ success: boolean;
516
+ data?: any;
517
+ error?: string;
518
+ }
519
+ /**
520
+ * Create a dependency between two stories
521
+ * GraphQL Operation: createStoryDependency (mutation)
522
+ * Required Permissions: WORKER, PRODUCT, ADMIN
523
+ */
524
+ export interface CreateStoryDependencyTool {
525
+ name: 'create_story_dependency';
526
+ description: 'Create a dependency between two stories';
527
+ operationType: 'mutation';
528
+ graphqlOperation: 'createStoryDependency';
529
+ execute(input: CreateStoryDependencyInput): Promise<CreateStoryDependencyResult>;
530
+ }
531
+ export interface GetDependencyGraphInput {
532
+ projectId: string;
533
+ }
534
+ export interface GetDependencyGraphResult {
535
+ success: boolean;
536
+ data?: any;
537
+ error?: string;
538
+ }
539
+ /**
540
+ * Get the complete dependency graph for a project
541
+ * GraphQL Operation: project (query)
542
+ * Required Permissions: VIEW
543
+ */
544
+ export interface GetDependencyGraphTool {
545
+ name: 'get_dependency_graph';
546
+ description: 'Get the complete dependency graph for a project';
547
+ operationType: 'query';
548
+ graphqlOperation: 'project';
549
+ execute(input: GetDependencyGraphInput): Promise<GetDependencyGraphResult>;
550
+ }
551
+ export interface GetAvailableStoriesInput {
552
+ limit?: number;
553
+ offset?: number;
554
+ areas?: string[];
555
+ search?: Record<string, any>;
556
+ }
557
+ export interface GetAvailableStoriesResult {
558
+ success: boolean;
559
+ data?: any;
560
+ error?: string;
561
+ }
562
+ /**
563
+ * Find stories available for claiming
564
+ * GraphQL Operation: stories (query)
565
+ * Required Permissions: VIEW
566
+ */
567
+ export interface GetAvailableStoriesTool {
568
+ name: 'get_available_stories';
569
+ description: 'Find stories available for claiming';
570
+ operationType: 'query';
571
+ graphqlOperation: 'stories';
572
+ execute(input: GetAvailableStoriesInput): Promise<GetAvailableStoriesResult>;
573
+ }
574
+ export interface GetAvailableTasksInput {
575
+ limit?: number;
576
+ offset?: number;
577
+ areas?: string[];
578
+ search?: Record<string, any>;
579
+ }
580
+ export interface GetAvailableTasksResult {
581
+ success: boolean;
582
+ data?: any;
583
+ error?: string;
584
+ }
585
+ /**
586
+ * Find tasks available for claiming
587
+ * GraphQL Operation: tasks (query)
588
+ * Required Permissions: VIEW
589
+ */
590
+ export interface GetAvailableTasksTool {
591
+ name: 'get_available_tasks';
592
+ description: 'Find tasks available for claiming';
593
+ operationType: 'query';
594
+ graphqlOperation: 'tasks';
595
+ execute(input: GetAvailableTasksInput): Promise<GetAvailableTasksResult>;
596
+ }
597
+ /**
598
+ * Tools for managing projects, stories, and tasks
599
+ */
600
+ export type ProjectManagementTools = ListProjectsTool | GetProjectTool | CreateProjectTool | UpdateProjectTool | DeleteProjectTool;
601
+ /**
602
+ * Tools for managing user stories and their lifecycle
603
+ */
604
+ export type StoryManagementTools = ListStoriesTool | GetStoryTool | CreateStoryTool | UpdateStoryTool | ClaimStoryTool | UnclaimStoryTool | CompleteStoryTool | ReviewStoryTool;
605
+ /**
606
+ * Tools for managing tasks within stories
607
+ */
608
+ export type TaskManagementTools = ListTasksTool | GetTaskTool | CreateTaskTool | UpdateTaskTool | ClaimTaskTool | UnclaimTaskTool | CompleteTaskTool;
609
+ /**
610
+ * Tools for user authentication and management
611
+ */
612
+ export type UserManagementTools = RegisterWorkerTool | ListWorkersTool;
613
+ /**
614
+ * Tools for managing story and task dependencies
615
+ */
616
+ export type DependenciesTools = CreateStoryDependencyTool | GetDependencyGraphTool;
617
+ /**
618
+ * Tools for finding and allocating available work
619
+ */
620
+ export type WorkManagementTools = GetAvailableStoriesTool | GetAvailableTasksTool;
621
+ /**
622
+ * Union type of all available MCP tools
623
+ */
624
+ export type AllMCPTools = ProjectManagementTools | StoryManagementTools | TaskManagementTools | UserManagementTools | DependenciesTools | WorkManagementTools;
625
+ /**
626
+ * MCP Client interface for executing tools
627
+ */
628
+ export interface MCPClient {
629
+ isConnected(): boolean;
630
+ connect(endpoint?: string): Promise<void>;
631
+ disconnect(): Promise<void>;
632
+ execute<T extends AllMCPTools>(tool: T['name'], input: any): Promise<any>;
633
+ listTools(): string[];
634
+ getCapabilities(): string[];
635
+ }
636
+ /**
637
+ * Tool registry for type-safe tool execution
638
+ */
639
+ export declare const MCP_TOOL_REGISTRY: {
640
+ readonly list_projects: {
641
+ readonly name: "list_projects";
642
+ readonly description: "List all projects with optional filtering";
643
+ readonly operationType: "query";
644
+ readonly graphqlOperation: "projects";
645
+ readonly requiredPermissions: readonly ["VIEW"];
646
+ };
647
+ readonly get_project: {
648
+ readonly name: "get_project";
649
+ readonly description: "Get a specific project by ID";
650
+ readonly operationType: "query";
651
+ readonly graphqlOperation: "project";
652
+ readonly requiredPermissions: readonly ["VIEW"];
653
+ };
654
+ readonly create_project: {
655
+ readonly name: "create_project";
656
+ readonly description: "Create a new project";
657
+ readonly operationType: "mutation";
658
+ readonly graphqlOperation: "createProject";
659
+ readonly requiredPermissions: readonly ["PRODUCT", "ADMIN"];
660
+ };
661
+ readonly update_project: {
662
+ readonly name: "update_project";
663
+ readonly description: "Update an existing project";
664
+ readonly operationType: "mutation";
665
+ readonly graphqlOperation: "updateProject";
666
+ readonly requiredPermissions: readonly ["PRODUCT", "ADMIN"];
667
+ };
668
+ readonly delete_project: {
669
+ readonly name: "delete_project";
670
+ readonly description: "Delete a project";
671
+ readonly operationType: "mutation";
672
+ readonly graphqlOperation: "deleteProject";
673
+ readonly requiredPermissions: readonly ["PRODUCT", "ADMIN"];
674
+ };
675
+ readonly list_stories: {
676
+ readonly name: "list_stories";
677
+ readonly description: "List stories with filtering and pagination";
678
+ readonly operationType: "query";
679
+ readonly graphqlOperation: "stories";
680
+ readonly requiredPermissions: readonly ["VIEW"];
681
+ };
682
+ readonly get_story: {
683
+ readonly name: "get_story";
684
+ readonly description: "Get a specific story by ID";
685
+ readonly operationType: "query";
686
+ readonly graphqlOperation: "story";
687
+ readonly requiredPermissions: readonly ["VIEW"];
688
+ };
689
+ readonly create_story: {
690
+ readonly name: "create_story";
691
+ readonly description: "Create a new story";
692
+ readonly operationType: "mutation";
693
+ readonly graphqlOperation: "createStory";
694
+ readonly requiredPermissions: readonly ["WORKER", "PRODUCT", "ADMIN"];
695
+ };
696
+ readonly update_story: {
697
+ readonly name: "update_story";
698
+ readonly description: "Update an existing story";
699
+ readonly operationType: "mutation";
700
+ readonly graphqlOperation: "updateStory";
701
+ readonly requiredPermissions: readonly ["WORKER", "PRODUCT", "ADMIN"];
702
+ };
703
+ readonly claim_story: {
704
+ readonly name: "claim_story";
705
+ readonly description: "Claim a story for work";
706
+ readonly operationType: "mutation";
707
+ readonly graphqlOperation: "claimStory";
708
+ readonly requiredPermissions: readonly ["WORKER", "PRODUCT", "ADMIN"];
709
+ };
710
+ readonly unclaim_story: {
711
+ readonly name: "unclaim_story";
712
+ readonly description: "Unclaim a previously claimed story";
713
+ readonly operationType: "mutation";
714
+ readonly graphqlOperation: "releaseStory";
715
+ readonly requiredPermissions: readonly ["WORKER", "PRODUCT", "ADMIN"];
716
+ };
717
+ readonly complete_story: {
718
+ readonly name: "complete_story";
719
+ readonly description: "Mark a story as complete";
720
+ readonly operationType: "mutation";
721
+ readonly graphqlOperation: "completeStory";
722
+ readonly requiredPermissions: readonly ["WORKER", "PRODUCT", "ADMIN"];
723
+ };
724
+ readonly review_story: {
725
+ readonly name: "review_story";
726
+ readonly description: "Review a completed story";
727
+ readonly operationType: "mutation";
728
+ readonly graphqlOperation: "reviewStory";
729
+ readonly requiredPermissions: readonly ["PRODUCT", "ADMIN"];
730
+ };
731
+ readonly list_tasks: {
732
+ readonly name: "list_tasks";
733
+ readonly description: "List tasks with filtering and pagination";
734
+ readonly operationType: "query";
735
+ readonly graphqlOperation: "tasks";
736
+ readonly requiredPermissions: readonly ["VIEW"];
737
+ };
738
+ readonly get_task: {
739
+ readonly name: "get_task";
740
+ readonly description: "Get a specific task by ID";
741
+ readonly operationType: "query";
742
+ readonly graphqlOperation: "task";
743
+ readonly requiredPermissions: readonly ["VIEW"];
744
+ };
745
+ readonly create_task: {
746
+ readonly name: "create_task";
747
+ readonly description: "Create a new task";
748
+ readonly operationType: "mutation";
749
+ readonly graphqlOperation: "createTask";
750
+ readonly requiredPermissions: readonly ["WORKER", "PRODUCT", "ADMIN"];
751
+ };
752
+ readonly update_task: {
753
+ readonly name: "update_task";
754
+ readonly description: "Update an existing task";
755
+ readonly operationType: "mutation";
756
+ readonly graphqlOperation: "updateTask";
757
+ readonly requiredPermissions: readonly ["WORKER", "PRODUCT", "ADMIN"];
758
+ };
759
+ readonly claim_task: {
760
+ readonly name: "claim_task";
761
+ readonly description: "Claim a task for work";
762
+ readonly operationType: "mutation";
763
+ readonly graphqlOperation: "claimTask";
764
+ readonly requiredPermissions: readonly ["WORKER", "PRODUCT", "ADMIN"];
765
+ };
766
+ readonly unclaim_task: {
767
+ readonly name: "unclaim_task";
768
+ readonly description: "Unclaim a previously claimed task";
769
+ readonly operationType: "mutation";
770
+ readonly graphqlOperation: "unclaimTask";
771
+ readonly requiredPermissions: readonly ["WORKER", "PRODUCT", "ADMIN"];
772
+ };
773
+ readonly complete_task: {
774
+ readonly name: "complete_task";
775
+ readonly description: "Mark a task as complete with implementation details";
776
+ readonly operationType: "mutation";
777
+ readonly graphqlOperation: "completeTask";
778
+ readonly requiredPermissions: readonly ["WORKER", "PRODUCT", "ADMIN"];
779
+ };
780
+ readonly register_worker: {
781
+ readonly name: "register_worker";
782
+ readonly description: "Register a new worker (human or AI) with the system";
783
+ readonly operationType: "mutation";
784
+ readonly graphqlOperation: "register";
785
+ readonly requiredPermissions: readonly [];
786
+ };
787
+ readonly list_workers: {
788
+ readonly name: "list_workers";
789
+ readonly description: "List all registered workers";
790
+ readonly operationType: "query";
791
+ readonly graphqlOperation: "users";
792
+ readonly requiredPermissions: readonly ["ADMIN"];
793
+ };
794
+ readonly create_story_dependency: {
795
+ readonly name: "create_story_dependency";
796
+ readonly description: "Create a dependency between two stories";
797
+ readonly operationType: "mutation";
798
+ readonly graphqlOperation: "createStoryDependency";
799
+ readonly requiredPermissions: readonly ["WORKER", "PRODUCT", "ADMIN"];
800
+ };
801
+ readonly get_dependency_graph: {
802
+ readonly name: "get_dependency_graph";
803
+ readonly description: "Get the complete dependency graph for a project";
804
+ readonly operationType: "query";
805
+ readonly graphqlOperation: "project";
806
+ readonly requiredPermissions: readonly ["VIEW"];
807
+ };
808
+ readonly get_available_stories: {
809
+ readonly name: "get_available_stories";
810
+ readonly description: "Find stories available for claiming";
811
+ readonly operationType: "query";
812
+ readonly graphqlOperation: "stories";
813
+ readonly requiredPermissions: readonly ["VIEW"];
814
+ };
815
+ readonly get_available_tasks: {
816
+ readonly name: "get_available_tasks";
817
+ readonly description: "Find tasks available for claiming";
818
+ readonly operationType: "query";
819
+ readonly graphqlOperation: "tasks";
820
+ readonly requiredPermissions: readonly ["VIEW"];
821
+ };
822
+ };