@agllama/mcp 0.5.16 → 0.5.18

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 (40) hide show
  1. package/dist/api-client.d.ts +6 -1
  2. package/dist/api-client.d.ts.map +1 -1
  3. package/dist/api-client.js +18 -0
  4. package/dist/api-client.js.map +1 -1
  5. package/dist/server.d.ts.map +1 -1
  6. package/dist/server.js +41 -150
  7. package/dist/server.js.map +1 -1
  8. package/dist/tools/comments.d.ts +14 -68
  9. package/dist/tools/comments.d.ts.map +1 -1
  10. package/dist/tools/comments.js +97 -246
  11. package/dist/tools/comments.js.map +1 -1
  12. package/dist/tools/decomposition.d.ts +236 -0
  13. package/dist/tools/decomposition.d.ts.map +1 -0
  14. package/dist/tools/decomposition.js +285 -0
  15. package/dist/tools/decomposition.js.map +1 -0
  16. package/dist/tools/help.d.ts.map +1 -1
  17. package/dist/tools/help.js +13 -1
  18. package/dist/tools/help.js.map +1 -1
  19. package/dist/tools/index.d.ts +0 -3
  20. package/dist/tools/index.d.ts.map +1 -1
  21. package/dist/tools/index.js +4 -3
  22. package/dist/tools/index.js.map +1 -1
  23. package/dist/tools/issueLinks.d.ts +2 -2
  24. package/dist/tools/labels.d.ts +2 -2
  25. package/dist/tools/notificationRules.d.ts +21 -96
  26. package/dist/tools/notificationRules.d.ts.map +1 -1
  27. package/dist/tools/notificationRules.js +193 -436
  28. package/dist/tools/notificationRules.js.map +1 -1
  29. package/dist/tools/planComments.d.ts +14 -68
  30. package/dist/tools/planComments.d.ts.map +1 -1
  31. package/dist/tools/planComments.js +73 -116
  32. package/dist/tools/planComments.js.map +1 -1
  33. package/dist/tools/projectErrors.d.ts +24 -80
  34. package/dist/tools/projectErrors.d.ts.map +1 -1
  35. package/dist/tools/projectErrors.js +149 -376
  36. package/dist/tools/projectErrors.js.map +1 -1
  37. package/dist/tools/workflowStatus.d.ts +2 -2
  38. package/dist/types.d.ts +104 -0
  39. package/dist/types.d.ts.map +1 -1
  40. package/package.json +1 -1
@@ -1,405 +1,178 @@
1
1
  import { z } from 'zod';
2
2
  import { getApiClient, LlamaApiError } from '../api-client.js';
3
3
  import { getSessionDefaults } from './session.js';
4
- // ============================================
5
- // List Project Errors
6
- // ============================================
7
- export const listProjectErrorsToolName = 'llama_list_errors';
8
- export const listProjectErrorsToolDescription = `List errors from the Error Inbox. Filter by status, sort, paginate.`;
9
- export const listProjectErrorsToolSchema = z.object({
10
- orgSlug: z
11
- .string()
12
- .optional()
13
- .describe('Organization slug (uses session default if not provided)'),
14
- projectKey: z
15
- .string()
16
- .optional()
17
- .describe('Project key (uses session default if not provided)'),
18
- status: z
19
- .enum(['PENDING', 'ACCEPTED', 'DISMISSED'])
20
- .optional()
21
- .describe('Filter by status (default: all statuses)'),
22
- sortBy: z
23
- .enum(['createdAt', 'lastSeenAt', 'occurrenceCount'])
24
- .optional()
25
- .describe('Sort field (default: createdAt)'),
26
- sortOrder: z.enum(['asc', 'desc']).optional().describe('Sort order (default: desc)'),
27
- page: z.number().int().positive().optional().describe('Page number (default: 1)'),
28
- limit: z.number().int().positive().max(100).optional().describe('Items per page (default: 25, max: 100)'),
29
- });
30
- export async function executeListProjectErrors(input) {
31
- try {
32
- const session = await getSessionDefaults();
33
- const orgSlug = input.orgSlug ?? session?.orgSlug;
34
- const projectKey = input.projectKey ?? session?.projectKey;
35
- if (!orgSlug) {
36
- return JSON.stringify({
37
- success: false,
38
- error: 'orgSlug is required. Either provide it or set session context with llama_set_context first.',
39
- });
40
- }
41
- if (!projectKey) {
42
- return JSON.stringify({
43
- success: false,
44
- error: 'projectKey is required. Either provide it or set session context with llama_set_context first.',
45
- });
46
- }
47
- const client = getApiClient();
48
- // Record tool call
49
- try {
50
- await client.recordToolCall('llama_list_errors', { orgSlug, projectKey });
51
- }
52
- catch {
53
- // Ignore recording errors
54
- }
55
- const result = await client.listProjectErrors(orgSlug, projectKey, {
56
- status: input.status,
57
- sortBy: input.sortBy,
58
- sortOrder: input.sortOrder,
59
- page: input.page,
60
- limit: input.limit,
61
- });
62
- return JSON.stringify({
63
- success: true,
64
- errors: result.errors.map((e) => ({
65
- id: e.id,
66
- title: e.title,
67
- message: e.message,
68
- source: e.source,
69
- occurrenceCount: e.occurrenceCount,
70
- status: e.status,
71
- createdAt: e.createdAt,
72
- lastSeenAt: e.lastSeenAt,
73
- acceptedAsIssue: e.acceptedAsIssue,
74
- })),
75
- total: result.total,
76
- filters: {
77
- status: input.status || 'all',
78
- sortBy: input.sortBy || 'createdAt',
79
- sortOrder: input.sortOrder || 'desc',
80
- },
81
- }, null, 2);
4
+ async function resolveOrgProject(inputOrgSlug, inputProjectKey) {
5
+ const defaults = await getSessionDefaults();
6
+ const orgSlug = inputOrgSlug ?? defaults?.orgSlug;
7
+ const projectKey = inputProjectKey ?? defaults?.projectKey;
8
+ if (!orgSlug) {
9
+ return { error: 'orgSlug is required. Either provide it or set session context with llama_set_context first.' };
82
10
  }
83
- catch (error) {
84
- if (error instanceof LlamaApiError) {
85
- return JSON.stringify({
86
- success: false,
87
- error: `Failed to list errors: ${error.message}`,
88
- statusCode: error.statusCode,
89
- });
90
- }
91
- return JSON.stringify({
92
- success: false,
93
- error: error instanceof Error ? error.message : 'Unknown error',
94
- });
11
+ if (!projectKey) {
12
+ return { error: 'projectKey is required. Either provide it or set session context with llama_set_context first.' };
95
13
  }
14
+ return { orgSlug, projectKey };
96
15
  }
97
- // ============================================
98
- // Get Project Error
99
- // ============================================
100
- export const getProjectErrorToolName = 'llama_get_error';
101
- export const getProjectErrorToolDescription = `Get error details including stack trace.`;
102
- export const getProjectErrorToolSchema = z.object({
103
- orgSlug: z
104
- .string()
105
- .optional()
106
- .describe('Organization slug (uses session default if not provided)'),
107
- projectKey: z
108
- .string()
109
- .optional()
110
- .describe('Project key (uses session default if not provided)'),
111
- errorId: z.string().describe('Error ID to retrieve'),
112
- });
113
- export async function executeGetProjectError(input) {
114
- try {
115
- const session = await getSessionDefaults();
116
- const orgSlug = input.orgSlug ?? session?.orgSlug;
117
- const projectKey = input.projectKey ?? session?.projectKey;
118
- if (!orgSlug) {
119
- return JSON.stringify({
120
- success: false,
121
- error: 'orgSlug is required. Either provide it or set session context with llama_set_context first.',
122
- });
123
- }
124
- if (!projectKey) {
125
- return JSON.stringify({
126
- success: false,
127
- error: 'projectKey is required. Either provide it or set session context with llama_set_context first.',
128
- });
129
- }
130
- const client = getApiClient();
131
- // Record tool call
132
- try {
133
- await client.recordToolCall('llama_get_error', { orgSlug, projectKey, errorId: input.errorId });
134
- }
135
- catch {
136
- // Ignore recording errors
137
- }
138
- const error = await client.getProjectError(orgSlug, projectKey, input.errorId);
139
- return JSON.stringify({
140
- success: true,
141
- error: {
142
- id: error.id,
143
- title: error.title,
144
- message: error.message,
145
- source: error.source,
146
- fingerprint: error.fingerprint,
147
- occurrenceCount: error.occurrenceCount,
148
- status: error.status,
149
- stackTrace: error.stackTrace,
150
- metadata: error.metadata,
151
- createdAt: error.createdAt,
152
- lastSeenAt: error.lastSeenAt,
153
- updatedAt: error.updatedAt,
154
- acceptedAsIssue: error.acceptedAsIssue,
155
- },
156
- }, null, 2);
157
- }
158
- catch (error) {
159
- if (error instanceof LlamaApiError) {
160
- return JSON.stringify({
161
- success: false,
162
- error: `Failed to get error: ${error.message}`,
163
- statusCode: error.statusCode,
164
- });
165
- }
16
+ function formatError(error, operation) {
17
+ if (error instanceof LlamaApiError) {
166
18
  return JSON.stringify({
167
19
  success: false,
168
- error: error instanceof Error ? error.message : 'Unknown error',
20
+ error: `Failed to ${operation}: ${error.message}`,
21
+ statusCode: error.statusCode,
169
22
  });
170
23
  }
24
+ return JSON.stringify({
25
+ success: false,
26
+ error: error instanceof Error ? error.message : 'Unknown error',
27
+ });
171
28
  }
172
29
  // ============================================
173
- // Get Pending Error Count
30
+ // Manage Errors (consolidated tool)
174
31
  // ============================================
175
- export const getErrorCountToolName = 'llama_get_error_count';
176
- export const getErrorCountToolDescription = `Get pending error count.`;
177
- export const getErrorCountToolSchema = z.object({
178
- orgSlug: z
179
- .string()
180
- .optional()
181
- .describe('Organization slug (uses session default if not provided)'),
182
- projectKey: z
183
- .string()
184
- .optional()
185
- .describe('Project key (uses session default if not provided)'),
32
+ export const manageErrorToolName = 'llama_manage_error';
33
+ export const manageErrorToolDescription = `Manage Error Inbox: list, get, count, accept (create BUG), or dismiss errors.`;
34
+ export const manageErrorToolSchema = z.object({
35
+ orgSlug: z.string().optional().describe('Organization slug (uses session default if not provided)'),
36
+ projectKey: z.string().optional().describe('Project key (uses session default if not provided)'),
37
+ action: z.enum(['list', 'get', 'count', 'accept', 'dismiss']).describe('Action to perform'),
38
+ errorId: z.string().optional().describe('Error ID (required for get/accept/dismiss)'),
39
+ errorIds: z.array(z.string()).optional().describe('Error IDs for bulk dismiss (max 100)'),
40
+ // Filters for list
41
+ status: z.enum(['PENDING', 'ACCEPTED', 'DISMISSED']).optional().describe('Filter by status'),
42
+ sortBy: z.enum(['createdAt', 'lastSeenAt', 'occurrenceCount']).optional().describe('Sort field'),
43
+ sortOrder: z.enum(['asc', 'desc']).optional().describe('Sort order'),
44
+ page: z.number().int().positive().optional().describe('Page number'),
45
+ limit: z.number().int().positive().max(100).optional().describe('Items per page (max 100)'),
46
+ // Fields for accept
47
+ priority: z.enum(['CRITICAL', 'HIGH', 'MEDIUM', 'LOW', 'TRIVIAL']).optional().describe('Priority for created issue'),
48
+ assigneeId: z.string().optional().describe('Assignee for created issue'),
49
+ sprintId: z.string().optional().describe('Sprint for created issue'),
50
+ labels: z.array(z.string()).optional().describe('Labels for created issue'),
186
51
  });
187
- export async function executeGetErrorCount(input) {
52
+ export async function executeManageError(input) {
188
53
  try {
189
- const session = await getSessionDefaults();
190
- const orgSlug = input.orgSlug ?? session?.orgSlug;
191
- const projectKey = input.projectKey ?? session?.projectKey;
192
- if (!orgSlug) {
193
- return JSON.stringify({
194
- success: false,
195
- error: 'orgSlug is required. Either provide it or set session context with llama_set_context first.',
196
- });
197
- }
198
- if (!projectKey) {
199
- return JSON.stringify({
200
- success: false,
201
- error: 'projectKey is required. Either provide it or set session context with llama_set_context first.',
202
- });
54
+ const context = await resolveOrgProject(input.orgSlug, input.projectKey);
55
+ if ('error' in context) {
56
+ return JSON.stringify({ success: false, error: context.error });
203
57
  }
204
58
  const client = getApiClient();
205
59
  // Record tool call
206
60
  try {
207
- await client.recordToolCall('llama_get_error_count', { orgSlug, projectKey });
61
+ await client.recordToolCall('llama_manage_error', { orgSlug: context.orgSlug, projectKey: context.projectKey, action: input.action });
208
62
  }
209
63
  catch {
210
64
  // Ignore recording errors
211
65
  }
212
- const result = await client.getProjectErrorPendingCount(orgSlug, projectKey);
213
- return JSON.stringify({
214
- success: true,
215
- pendingCount: result.count,
216
- message: result.count === 0
217
- ? 'No pending errors in the Error Inbox'
218
- : `${result.count} pending error${result.count === 1 ? '' : 's'} in the Error Inbox`,
219
- }, null, 2);
220
- }
221
- catch (error) {
222
- if (error instanceof LlamaApiError) {
223
- return JSON.stringify({
224
- success: false,
225
- error: `Failed to get error count: ${error.message}`,
226
- statusCode: error.statusCode,
227
- });
66
+ switch (input.action) {
67
+ case 'list': {
68
+ const result = await client.listProjectErrors(context.orgSlug, context.projectKey, {
69
+ status: input.status,
70
+ sortBy: input.sortBy,
71
+ sortOrder: input.sortOrder,
72
+ page: input.page,
73
+ limit: input.limit,
74
+ });
75
+ return JSON.stringify({
76
+ success: true,
77
+ total: result.total,
78
+ errors: result.errors.map((e) => ({
79
+ id: e.id,
80
+ title: e.title,
81
+ message: e.message,
82
+ source: e.source,
83
+ occurrenceCount: e.occurrenceCount,
84
+ status: e.status,
85
+ createdAt: e.createdAt,
86
+ lastSeenAt: e.lastSeenAt,
87
+ })),
88
+ });
89
+ }
90
+ case 'get': {
91
+ if (!input.errorId) {
92
+ return JSON.stringify({ success: false, error: 'errorId is required for get action' });
93
+ }
94
+ const error = await client.getProjectError(context.orgSlug, context.projectKey, input.errorId);
95
+ return JSON.stringify({
96
+ success: true,
97
+ error: {
98
+ id: error.id,
99
+ title: error.title,
100
+ message: error.message,
101
+ source: error.source,
102
+ fingerprint: error.fingerprint,
103
+ occurrenceCount: error.occurrenceCount,
104
+ status: error.status,
105
+ stackTrace: error.stackTrace,
106
+ metadata: error.metadata,
107
+ createdAt: error.createdAt,
108
+ lastSeenAt: error.lastSeenAt,
109
+ acceptedAsIssue: error.acceptedAsIssue,
110
+ },
111
+ });
112
+ }
113
+ case 'count': {
114
+ const result = await client.getProjectErrorPendingCount(context.orgSlug, context.projectKey);
115
+ return JSON.stringify({
116
+ success: true,
117
+ pendingCount: result.count,
118
+ message: result.count === 0
119
+ ? 'No pending errors'
120
+ : `${result.count} pending error${result.count === 1 ? '' : 's'}`,
121
+ });
122
+ }
123
+ case 'accept': {
124
+ if (!input.errorId) {
125
+ return JSON.stringify({ success: false, error: 'errorId is required for accept action' });
126
+ }
127
+ const result = await client.acceptProjectError(context.orgSlug, context.projectKey, input.errorId, {
128
+ priority: input.priority,
129
+ assigneeId: input.assigneeId,
130
+ sprintId: input.sprintId,
131
+ labels: input.labels,
132
+ });
133
+ return JSON.stringify({
134
+ success: true,
135
+ message: `Created issue ${result.issue.key} from error`,
136
+ issue: {
137
+ id: result.issue.id,
138
+ key: result.issue.key,
139
+ summary: result.issue.summary,
140
+ },
141
+ error: {
142
+ id: result.error.id,
143
+ title: result.error.title,
144
+ status: result.error.status,
145
+ },
146
+ });
147
+ }
148
+ case 'dismiss': {
149
+ // Support single errorId or array of errorIds
150
+ const errorIds = input.errorIds || (input.errorId ? [input.errorId] : null);
151
+ if (!errorIds || errorIds.length === 0) {
152
+ return JSON.stringify({ success: false, error: 'errorId or errorIds is required for dismiss action' });
153
+ }
154
+ if (errorIds.length === 1) {
155
+ const error = await client.dismissProjectError(context.orgSlug, context.projectKey, errorIds[0]);
156
+ return JSON.stringify({
157
+ success: true,
158
+ message: `Dismissed error "${error.title}"`,
159
+ dismissed: 1,
160
+ });
161
+ }
162
+ // Bulk dismiss
163
+ const result = await client.bulkDismissProjectErrors(context.orgSlug, context.projectKey, errorIds);
164
+ return JSON.stringify({
165
+ success: true,
166
+ message: `Dismissed ${result.dismissed} of ${errorIds.length} errors`,
167
+ dismissed: result.dismissed,
168
+ });
169
+ }
170
+ default:
171
+ return JSON.stringify({ success: false, error: `Unknown action: ${input.action}` });
228
172
  }
229
- return JSON.stringify({
230
- success: false,
231
- error: error instanceof Error ? error.message : 'Unknown error',
232
- });
233
- }
234
- }
235
- // ============================================
236
- // Accept Project Error
237
- // ============================================
238
- export const acceptProjectErrorToolName = 'llama_accept_error';
239
- export const acceptProjectErrorToolDescription = `Accept an error and create a BUG issue from it.`;
240
- export const acceptProjectErrorToolSchema = z.object({
241
- orgSlug: z
242
- .string()
243
- .optional()
244
- .describe('Organization slug (uses session default if not provided)'),
245
- projectKey: z
246
- .string()
247
- .optional()
248
- .describe('Project key (uses session default if not provided)'),
249
- errorId: z.string().describe('Error ID to accept'),
250
- priority: z
251
- .enum(['CRITICAL', 'HIGH', 'MEDIUM', 'LOW', 'TRIVIAL'])
252
- .optional()
253
- .describe('Priority for the created issue (default: MEDIUM)'),
254
- assigneeId: z.string().optional().describe('User ID to assign the issue to'),
255
- sprintId: z.string().optional().describe('Sprint ID to add the issue to'),
256
- labels: z.array(z.string()).optional().describe('Labels to add to the issue'),
257
- });
258
- export async function executeAcceptProjectError(input) {
259
- try {
260
- const session = await getSessionDefaults();
261
- const orgSlug = input.orgSlug ?? session?.orgSlug;
262
- const projectKey = input.projectKey ?? session?.projectKey;
263
- if (!orgSlug) {
264
- return JSON.stringify({
265
- success: false,
266
- error: 'orgSlug is required. Either provide it or set session context with llama_set_context first.',
267
- });
268
- }
269
- if (!projectKey) {
270
- return JSON.stringify({
271
- success: false,
272
- error: 'projectKey is required. Either provide it or set session context with llama_set_context first.',
273
- });
274
- }
275
- const client = getApiClient();
276
- // Record tool call
277
- try {
278
- await client.recordToolCall('llama_accept_error', { orgSlug, projectKey, errorId: input.errorId });
279
- }
280
- catch {
281
- // Ignore recording errors
282
- }
283
- const result = await client.acceptProjectError(orgSlug, projectKey, input.errorId, {
284
- priority: input.priority,
285
- assigneeId: input.assigneeId,
286
- sprintId: input.sprintId,
287
- labels: input.labels,
288
- });
289
- return JSON.stringify({
290
- success: true,
291
- message: `Error accepted and created issue ${result.issue.key}`,
292
- issue: {
293
- id: result.issue.id,
294
- key: result.issue.key,
295
- summary: result.issue.summary,
296
- },
297
- error: {
298
- id: result.error.id,
299
- title: result.error.title,
300
- status: result.error.status,
301
- occurrenceCount: result.error.occurrenceCount,
302
- },
303
- }, null, 2);
304
- }
305
- catch (error) {
306
- if (error instanceof LlamaApiError) {
307
- return JSON.stringify({
308
- success: false,
309
- error: `Failed to accept error: ${error.message}`,
310
- statusCode: error.statusCode,
311
- });
312
- }
313
- return JSON.stringify({
314
- success: false,
315
- error: error instanceof Error ? error.message : 'Unknown error',
316
- });
317
- }
318
- }
319
- // ============================================
320
- // Dismiss Project Error(s) - consolidated single/bulk
321
- // ============================================
322
- export const dismissProjectErrorToolName = 'llama_dismiss_errors';
323
- export const dismissProjectErrorToolDescription = `Dismiss one or more errors. Pass single errorId or array of errorIds.`;
324
- export const dismissProjectErrorToolSchema = z.object({
325
- orgSlug: z
326
- .string()
327
- .optional()
328
- .describe('Organization slug (uses session default if not provided)'),
329
- projectKey: z
330
- .string()
331
- .optional()
332
- .describe('Project key (uses session default if not provided)'),
333
- errorIds: z
334
- .preprocess((val) => {
335
- // Accept single string or array
336
- if (typeof val === 'string')
337
- return [val];
338
- return val;
339
- }, z.array(z.string()).min(1).max(100))
340
- .describe('Error ID(s) to dismiss - single ID or array (max 100)'),
341
- });
342
- export async function executeDismissProjectError(input) {
343
- try {
344
- const session = await getSessionDefaults();
345
- const orgSlug = input.orgSlug ?? session?.orgSlug;
346
- const projectKey = input.projectKey ?? session?.projectKey;
347
- if (!orgSlug) {
348
- return JSON.stringify({
349
- success: false,
350
- error: 'orgSlug is required. Either provide it or set session context with llama_set_context first.',
351
- });
352
- }
353
- if (!projectKey) {
354
- return JSON.stringify({
355
- success: false,
356
- error: 'projectKey is required. Either provide it or set session context with llama_set_context first.',
357
- });
358
- }
359
- const client = getApiClient();
360
- const errorIds = input.errorIds;
361
- // Record tool call
362
- try {
363
- await client.recordToolCall('llama_dismiss_errors', { orgSlug, projectKey, count: errorIds.length });
364
- }
365
- catch {
366
- // Ignore recording errors
367
- }
368
- // Single error - use single dismiss for better response
369
- if (errorIds.length === 1) {
370
- const error = await client.dismissProjectError(orgSlug, projectKey, errorIds[0]);
371
- return JSON.stringify({
372
- success: true,
373
- message: `Error "${error.title}" dismissed`,
374
- dismissed: 1,
375
- error: {
376
- id: error.id,
377
- title: error.title,
378
- status: error.status,
379
- },
380
- });
381
- }
382
- // Multiple errors - use bulk dismiss
383
- const result = await client.bulkDismissProjectErrors(orgSlug, projectKey, errorIds);
384
- return JSON.stringify({
385
- success: true,
386
- message: `Dismissed ${result.dismissed} of ${errorIds.length} errors`,
387
- dismissed: result.dismissed,
388
- requested: errorIds.length,
389
- });
390
173
  }
391
174
  catch (error) {
392
- if (error instanceof LlamaApiError) {
393
- return JSON.stringify({
394
- success: false,
395
- error: `Failed to dismiss error(s): ${error.message}`,
396
- statusCode: error.statusCode,
397
- });
398
- }
399
- return JSON.stringify({
400
- success: false,
401
- error: error instanceof Error ? error.message : 'Unknown error',
402
- });
175
+ return formatError(error, `${input.action} error`);
403
176
  }
404
177
  }
405
178
  //# sourceMappingURL=projectErrors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"projectErrors.js","sourceRoot":"","sources":["../../src/tools/projectErrors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projectErrors.js","sourceRoot":"","sources":["../../src/tools/projectErrors.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export declare const manageWorkflowStatusToolSchema: z.ZodObject<{
11
11
  afterStatusId: z.ZodOptional<z.ZodString>;
12
12
  statusId: z.ZodOptional<z.ZodString>;
13
13
  }, "strip", z.ZodTypeAny, {
14
- action: "delete" | "add";
14
+ action: "add" | "delete";
15
15
  workflowId: string;
16
16
  description?: string | undefined;
17
17
  statusId?: string | undefined;
@@ -20,7 +20,7 @@ export declare const manageWorkflowStatusToolSchema: z.ZodObject<{
20
20
  category?: "TODO" | "IN_PROGRESS" | "DONE" | undefined;
21
21
  afterStatusId?: string | undefined;
22
22
  }, {
23
- action: "delete" | "add";
23
+ action: "add" | "delete";
24
24
  workflowId: string;
25
25
  description?: string | undefined;
26
26
  statusId?: string | undefined;