@jagadeesh52423/atlassian-mcp-server 1.0.1 → 1.0.3

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 (85) hide show
  1. package/README.md +92 -45
  2. package/dist/clients/base-client.d.ts +26 -0
  3. package/dist/clients/base-client.d.ts.map +1 -0
  4. package/dist/clients/base-client.js +58 -0
  5. package/dist/clients/base-client.js.map +1 -0
  6. package/dist/clients/bitbucket-client.d.ts +17 -0
  7. package/dist/clients/bitbucket-client.d.ts.map +1 -0
  8. package/dist/clients/bitbucket-client.js +36 -0
  9. package/dist/clients/bitbucket-client.js.map +1 -0
  10. package/dist/clients/confluence-client.d.ts +8 -0
  11. package/dist/clients/confluence-client.d.ts.map +1 -0
  12. package/dist/clients/confluence-client.js +16 -0
  13. package/dist/clients/confluence-client.js.map +1 -0
  14. package/dist/clients/index.d.ts +5 -0
  15. package/dist/clients/index.d.ts.map +1 -0
  16. package/dist/clients/index.js +5 -0
  17. package/dist/clients/index.js.map +1 -0
  18. package/dist/clients/jira-client.d.ts +8 -0
  19. package/dist/clients/jira-client.d.ts.map +1 -0
  20. package/dist/clients/jira-client.js +16 -0
  21. package/dist/clients/jira-client.js.map +1 -0
  22. package/dist/constants.d.ts +67 -0
  23. package/dist/constants.d.ts.map +1 -0
  24. package/dist/constants.js +78 -0
  25. package/dist/constants.js.map +1 -0
  26. package/dist/error-handler.d.ts +77 -0
  27. package/dist/error-handler.d.ts.map +1 -0
  28. package/dist/error-handler.js +135 -0
  29. package/dist/error-handler.js.map +1 -0
  30. package/dist/formatters/adf-formatter.d.ts +25 -0
  31. package/dist/formatters/adf-formatter.d.ts.map +1 -0
  32. package/dist/formatters/adf-formatter.js +609 -0
  33. package/dist/formatters/adf-formatter.js.map +1 -0
  34. package/dist/formatters/index.d.ts +2 -0
  35. package/dist/formatters/index.d.ts.map +1 -0
  36. package/dist/formatters/index.js +2 -0
  37. package/dist/formatters/index.js.map +1 -0
  38. package/dist/handlers/bitbucket-handlers.d.ts +94 -0
  39. package/dist/handlers/bitbucket-handlers.d.ts.map +1 -0
  40. package/dist/handlers/bitbucket-handlers.js +251 -0
  41. package/dist/handlers/bitbucket-handlers.js.map +1 -0
  42. package/dist/handlers/confluence-handlers.d.ts +84 -0
  43. package/dist/handlers/confluence-handlers.d.ts.map +1 -0
  44. package/dist/handlers/confluence-handlers.js +255 -0
  45. package/dist/handlers/confluence-handlers.js.map +1 -0
  46. package/dist/handlers/index.d.ts +4 -0
  47. package/dist/handlers/index.d.ts.map +1 -0
  48. package/dist/handlers/index.js +4 -0
  49. package/dist/handlers/index.js.map +1 -0
  50. package/dist/handlers/jira-handlers.d.ts +153 -0
  51. package/dist/handlers/jira-handlers.d.ts.map +1 -0
  52. package/dist/handlers/jira-handlers.js +577 -0
  53. package/dist/handlers/jira-handlers.js.map +1 -0
  54. package/dist/index.js +147 -2536
  55. package/dist/index.js.map +1 -1
  56. package/dist/services/bitbucket.d.ts +11 -1
  57. package/dist/services/bitbucket.d.ts.map +1 -1
  58. package/dist/services/bitbucket.js +78 -0
  59. package/dist/services/bitbucket.js.map +1 -1
  60. package/dist/services/confluence.d.ts.map +1 -1
  61. package/dist/services/confluence.js +5 -4
  62. package/dist/services/confluence.js.map +1 -1
  63. package/dist/services/jira.d.ts +4 -0
  64. package/dist/services/jira.d.ts.map +1 -1
  65. package/dist/services/jira.js +159 -24
  66. package/dist/services/jira.js.map +1 -1
  67. package/dist/tools/bitbucket-tools.d.ts +6 -0
  68. package/dist/tools/bitbucket-tools.d.ts.map +1 -0
  69. package/dist/tools/bitbucket-tools.js +386 -0
  70. package/dist/tools/bitbucket-tools.js.map +1 -0
  71. package/dist/tools/confluence-tools.d.ts +17 -0
  72. package/dist/tools/confluence-tools.d.ts.map +1 -0
  73. package/dist/tools/confluence-tools.js +337 -0
  74. package/dist/tools/confluence-tools.js.map +1 -0
  75. package/dist/tools/index.d.ts +8 -0
  76. package/dist/tools/index.d.ts.map +1 -0
  77. package/dist/tools/index.js +15 -0
  78. package/dist/tools/index.js.map +1 -0
  79. package/dist/tools/jira-tools.d.ts +6 -0
  80. package/dist/tools/jira-tools.d.ts.map +1 -0
  81. package/dist/tools/jira-tools.js +656 -0
  82. package/dist/tools/jira-tools.js.map +1 -0
  83. package/dist/types.d.ts +23 -0
  84. package/dist/types.d.ts.map +1 -1
  85. package/package.json +1 -1
@@ -0,0 +1,656 @@
1
+ import { PAGINATION, DEFAULTS } from '../constants.js';
2
+ /**
3
+ * Jira tool definitions
4
+ */
5
+ export const jiraTools = [
6
+ {
7
+ name: 'jira_search_issues',
8
+ description: 'Search Jira issues with flexible filtering. Use individual filters (assignee, status, project, labels) or provide raw JQL for advanced queries.',
9
+ inputSchema: {
10
+ type: 'object',
11
+ properties: {
12
+ query: {
13
+ type: 'string',
14
+ description: 'Text to search for in issues',
15
+ },
16
+ assignee: {
17
+ type: 'string',
18
+ description: 'Filter by assignee. Use "currentUser()" for your own issues, or an account ID',
19
+ },
20
+ status: {
21
+ type: 'string',
22
+ description: 'Filter by status name (e.g., "To Do", "In Progress", "Done")',
23
+ },
24
+ project: {
25
+ type: 'string',
26
+ description: 'Filter by project key (e.g., "PROJ")',
27
+ },
28
+ labels: {
29
+ type: 'array',
30
+ items: { type: 'string' },
31
+ description: 'Filter by labels (all must match)',
32
+ },
33
+ reporter: {
34
+ type: 'string',
35
+ description: 'Filter by reporter. Use "currentUser()" for issues you reported, or an account ID',
36
+ },
37
+ createdAfter: {
38
+ type: 'string',
39
+ description: 'Show issues created after this date. Use relative days (e.g., "10d" for last 10 days, "30d" for last 30 days) or absolute date (e.g., "2026-01-15")',
40
+ },
41
+ updatedAfter: {
42
+ type: 'string',
43
+ description: 'Show issues updated after this date. Use relative days (e.g., "7d" for last 7 days) or absolute date (e.g., "2026-01-15")',
44
+ },
45
+ jql: {
46
+ type: 'string',
47
+ description: 'Raw JQL query (overrides all other filters when provided)',
48
+ },
49
+ fields: {
50
+ type: 'array',
51
+ items: { type: 'string' },
52
+ description: 'Fields to include in the response. When specified, ONLY these fields are returned (plus issue key). When omitted, defaults to: summary, description, status, assignee, labels, created, updated. Use jira_get_fields to discover all available field IDs before using this parameter.',
53
+ },
54
+ limit: {
55
+ type: 'number',
56
+ description: `Maximum number of results (default: ${PAGINATION.JIRA_DEFAULT_LIMIT})`,
57
+ default: PAGINATION.JIRA_DEFAULT_LIMIT,
58
+ },
59
+ },
60
+ },
61
+ },
62
+ {
63
+ name: 'jira_get_issue',
64
+ description: 'Get a specific Jira issue by key',
65
+ inputSchema: {
66
+ type: 'object',
67
+ properties: {
68
+ issueKey: {
69
+ type: 'string',
70
+ description: 'The issue key (e.g., PROJ-123)',
71
+ },
72
+ },
73
+ required: ['issueKey'],
74
+ },
75
+ },
76
+ {
77
+ name: 'jira_create_issue',
78
+ description: 'Create a new Jira issue with support for custom fields including due dates',
79
+ inputSchema: {
80
+ type: 'object',
81
+ properties: {
82
+ projectKey: {
83
+ type: 'string',
84
+ description: 'The project key where to create the issue',
85
+ },
86
+ summary: {
87
+ type: 'string',
88
+ description: 'Issue summary/title',
89
+ },
90
+ description: {
91
+ type: 'string',
92
+ description: 'Issue description',
93
+ },
94
+ issueType: {
95
+ type: 'string',
96
+ description: `Issue type (default: ${DEFAULTS.JIRA_ISSUE_TYPE})`,
97
+ default: DEFAULTS.JIRA_ISSUE_TYPE,
98
+ },
99
+ duedate: {
100
+ type: 'string',
101
+ description: 'Due date in YYYY-MM-DD format (e.g., 2024-12-31)',
102
+ },
103
+ priority: {
104
+ type: 'string',
105
+ description: 'Priority name (e.g., High, Medium, Low)',
106
+ },
107
+ labels: {
108
+ type: 'array',
109
+ items: { type: 'string' },
110
+ description: 'Array of label strings',
111
+ },
112
+ components: {
113
+ type: 'array',
114
+ items: { type: 'string' },
115
+ description: 'Array of component names',
116
+ },
117
+ assignee: {
118
+ type: 'string',
119
+ description: 'Account ID of the assignee',
120
+ },
121
+ customFields: {
122
+ type: 'object',
123
+ description: 'Additional custom fields as key-value pairs',
124
+ },
125
+ },
126
+ required: ['projectKey', 'summary', 'description'],
127
+ },
128
+ },
129
+ {
130
+ name: 'jira_update_issue',
131
+ description: 'Update an existing Jira issue',
132
+ inputSchema: {
133
+ type: 'object',
134
+ properties: {
135
+ issueKey: {
136
+ type: 'string',
137
+ description: 'The issue key to update',
138
+ },
139
+ summary: {
140
+ type: 'string',
141
+ description: 'New issue summary',
142
+ },
143
+ description: {
144
+ type: 'string',
145
+ description: 'New issue description',
146
+ },
147
+ assignee: {
148
+ type: 'string',
149
+ description: 'Account ID of the assignee',
150
+ },
151
+ },
152
+ required: ['issueKey'],
153
+ },
154
+ },
155
+ {
156
+ name: 'jira_add_comment',
157
+ description: 'Add a comment to a Jira issue',
158
+ inputSchema: {
159
+ type: 'object',
160
+ properties: {
161
+ issueKey: {
162
+ type: 'string',
163
+ description: 'The issue key to comment on',
164
+ },
165
+ comment: {
166
+ type: 'string',
167
+ description: 'Comment text',
168
+ },
169
+ },
170
+ required: ['issueKey', 'comment'],
171
+ },
172
+ },
173
+ {
174
+ name: 'jira_get_comments',
175
+ description: 'Get all comments for a Jira issue',
176
+ inputSchema: {
177
+ type: 'object',
178
+ properties: {
179
+ issueKey: {
180
+ type: 'string',
181
+ description: 'The issue key to get comments for',
182
+ },
183
+ },
184
+ required: ['issueKey'],
185
+ },
186
+ },
187
+ {
188
+ name: 'jira_update_comment',
189
+ description: 'Update an existing comment on a Jira issue',
190
+ inputSchema: {
191
+ type: 'object',
192
+ properties: {
193
+ issueKey: {
194
+ type: 'string',
195
+ description: 'The issue key (e.g., PROJ-123)',
196
+ },
197
+ commentId: {
198
+ type: 'string',
199
+ description: 'The comment ID to update',
200
+ },
201
+ comment: {
202
+ type: 'string',
203
+ description: 'New comment text',
204
+ },
205
+ },
206
+ required: ['issueKey', 'commentId', 'comment'],
207
+ },
208
+ },
209
+ {
210
+ name: 'jira_delete_comment',
211
+ description: 'Delete a comment from a Jira issue',
212
+ inputSchema: {
213
+ type: 'object',
214
+ properties: {
215
+ issueKey: {
216
+ type: 'string',
217
+ description: 'The issue key (e.g., PROJ-123)',
218
+ },
219
+ commentId: {
220
+ type: 'string',
221
+ description: 'The comment ID to delete',
222
+ },
223
+ },
224
+ required: ['issueKey', 'commentId'],
225
+ },
226
+ },
227
+ {
228
+ name: 'jira_get_projects',
229
+ description: 'Get list of Jira projects',
230
+ inputSchema: {
231
+ type: 'object',
232
+ properties: {},
233
+ },
234
+ },
235
+ {
236
+ name: 'jira_get_issue_transitions',
237
+ description: 'Get available transitions for a Jira issue',
238
+ inputSchema: {
239
+ type: 'object',
240
+ properties: {
241
+ issueKey: {
242
+ type: 'string',
243
+ description: 'The issue key (e.g., PROJECT-123)',
244
+ },
245
+ },
246
+ required: ['issueKey'],
247
+ },
248
+ },
249
+ {
250
+ name: 'jira_transition_issue',
251
+ description: 'Transition a Jira issue to a different status with smart field handling',
252
+ inputSchema: {
253
+ type: 'object',
254
+ properties: {
255
+ issueKey: {
256
+ type: 'string',
257
+ description: 'The issue key to transition',
258
+ },
259
+ transitionId: {
260
+ type: 'string',
261
+ description: 'The transition ID',
262
+ },
263
+ fieldValues: {
264
+ type: 'object',
265
+ description: 'Optional field values for the transition',
266
+ },
267
+ },
268
+ required: ['issueKey', 'transitionId'],
269
+ },
270
+ },
271
+ {
272
+ name: 'jira_transition_issue_interactive',
273
+ description: 'Transition a Jira issue with automatic field suggestion and validation',
274
+ inputSchema: {
275
+ type: 'object',
276
+ properties: {
277
+ issueKey: {
278
+ type: 'string',
279
+ description: 'The issue key to transition',
280
+ },
281
+ transitionId: {
282
+ type: 'string',
283
+ description: 'The transition ID',
284
+ },
285
+ fieldValues: {
286
+ type: 'object',
287
+ description: 'Optional field values for the transition',
288
+ },
289
+ },
290
+ required: ['issueKey', 'transitionId'],
291
+ },
292
+ },
293
+ {
294
+ name: 'jira_get_attachments',
295
+ description: 'Get all attachments for a Jira issue',
296
+ inputSchema: {
297
+ type: 'object',
298
+ properties: {
299
+ issueKey: {
300
+ type: 'string',
301
+ description: 'The issue key to get attachments for',
302
+ },
303
+ },
304
+ required: ['issueKey'],
305
+ },
306
+ },
307
+ {
308
+ name: 'jira_add_attachment',
309
+ description: 'Add an attachment to a Jira issue',
310
+ inputSchema: {
311
+ type: 'object',
312
+ properties: {
313
+ issueKey: {
314
+ type: 'string',
315
+ description: 'The issue key to attach file to',
316
+ },
317
+ filename: {
318
+ type: 'string',
319
+ description: 'The filename for the attachment',
320
+ },
321
+ fileContent: {
322
+ type: 'string',
323
+ description: 'Base64 encoded file content',
324
+ },
325
+ },
326
+ required: ['issueKey', 'filename', 'fileContent'],
327
+ },
328
+ },
329
+ {
330
+ name: 'jira_delete_attachment',
331
+ description: 'Delete an attachment from a Jira issue',
332
+ inputSchema: {
333
+ type: 'object',
334
+ properties: {
335
+ attachmentId: {
336
+ type: 'string',
337
+ description: 'The attachment ID to delete',
338
+ },
339
+ },
340
+ required: ['attachmentId'],
341
+ },
342
+ },
343
+ {
344
+ name: 'jira_get_issue_links',
345
+ description: 'Get all issue links for a Jira issue',
346
+ inputSchema: {
347
+ type: 'object',
348
+ properties: {
349
+ issueKey: {
350
+ type: 'string',
351
+ description: 'The issue key to get links for',
352
+ },
353
+ },
354
+ required: ['issueKey'],
355
+ },
356
+ },
357
+ {
358
+ name: 'jira_create_issue_link',
359
+ description: 'Create a link between two Jira issues',
360
+ inputSchema: {
361
+ type: 'object',
362
+ properties: {
363
+ inwardIssueKey: {
364
+ type: 'string',
365
+ description: 'The inward issue key',
366
+ },
367
+ outwardIssueKey: {
368
+ type: 'string',
369
+ description: 'The outward issue key',
370
+ },
371
+ linkType: {
372
+ type: 'string',
373
+ description: 'Link type name (e.g., "Blocks", "Relates", "Duplicates")',
374
+ },
375
+ },
376
+ required: ['inwardIssueKey', 'outwardIssueKey', 'linkType'],
377
+ },
378
+ },
379
+ {
380
+ name: 'jira_delete_issue_link',
381
+ description: 'Delete a link between Jira issues',
382
+ inputSchema: {
383
+ type: 'object',
384
+ properties: {
385
+ linkId: {
386
+ type: 'string',
387
+ description: 'The link ID to delete',
388
+ },
389
+ },
390
+ required: ['linkId'],
391
+ },
392
+ },
393
+ {
394
+ name: 'jira_get_link_types',
395
+ description: 'Get all available issue link types in Jira',
396
+ inputSchema: {
397
+ type: 'object',
398
+ properties: {},
399
+ },
400
+ },
401
+ {
402
+ name: 'jira_get_worklogs',
403
+ description: 'Get all work logs (time tracking entries) for a Jira issue',
404
+ inputSchema: {
405
+ type: 'object',
406
+ properties: {
407
+ issueKey: {
408
+ type: 'string',
409
+ description: 'The issue key to get work logs for',
410
+ },
411
+ },
412
+ required: ['issueKey'],
413
+ },
414
+ },
415
+ {
416
+ name: 'jira_add_worklog',
417
+ description: 'Add a work log (time spent) to a Jira issue',
418
+ inputSchema: {
419
+ type: 'object',
420
+ properties: {
421
+ issueKey: {
422
+ type: 'string',
423
+ description: 'The issue key to log work on',
424
+ },
425
+ timeSpentSeconds: {
426
+ type: 'number',
427
+ description: 'Time spent in seconds (e.g., 3600 for 1 hour)',
428
+ },
429
+ comment: {
430
+ type: 'string',
431
+ description: 'Optional comment describing the work done',
432
+ },
433
+ started: {
434
+ type: 'string',
435
+ description: 'Optional start date/time in ISO 8601 format (e.g., 2024-01-15T14:30:00.000+0000)',
436
+ },
437
+ },
438
+ required: ['issueKey', 'timeSpentSeconds'],
439
+ },
440
+ },
441
+ {
442
+ name: 'jira_update_worklog',
443
+ description: 'Update an existing work log entry',
444
+ inputSchema: {
445
+ type: 'object',
446
+ properties: {
447
+ issueKey: {
448
+ type: 'string',
449
+ description: 'The issue key',
450
+ },
451
+ worklogId: {
452
+ type: 'string',
453
+ description: 'The work log ID to update',
454
+ },
455
+ timeSpentSeconds: {
456
+ type: 'number',
457
+ description: 'Updated time spent in seconds',
458
+ },
459
+ comment: {
460
+ type: 'string',
461
+ description: 'Updated comment',
462
+ },
463
+ },
464
+ required: ['issueKey', 'worklogId'],
465
+ },
466
+ },
467
+ {
468
+ name: 'jira_delete_worklog',
469
+ description: 'Delete a work log entry from a Jira issue',
470
+ inputSchema: {
471
+ type: 'object',
472
+ properties: {
473
+ issueKey: {
474
+ type: 'string',
475
+ description: 'The issue key',
476
+ },
477
+ worklogId: {
478
+ type: 'string',
479
+ description: 'The work log ID to delete',
480
+ },
481
+ },
482
+ required: ['issueKey', 'worklogId'],
483
+ },
484
+ },
485
+ {
486
+ name: 'jira_get_watchers',
487
+ description: 'Get all watchers for a Jira issue',
488
+ inputSchema: {
489
+ type: 'object',
490
+ properties: {
491
+ issueKey: {
492
+ type: 'string',
493
+ description: 'The issue key to get watchers for',
494
+ },
495
+ },
496
+ required: ['issueKey'],
497
+ },
498
+ },
499
+ {
500
+ name: 'jira_add_watcher',
501
+ description: 'Add a watcher to a Jira issue',
502
+ inputSchema: {
503
+ type: 'object',
504
+ properties: {
505
+ issueKey: {
506
+ type: 'string',
507
+ description: 'The issue key',
508
+ },
509
+ accountId: {
510
+ type: 'string',
511
+ description: 'Account ID of the user to add as watcher',
512
+ },
513
+ },
514
+ required: ['issueKey', 'accountId'],
515
+ },
516
+ },
517
+ {
518
+ name: 'jira_remove_watcher',
519
+ description: 'Remove a watcher from a Jira issue',
520
+ inputSchema: {
521
+ type: 'object',
522
+ properties: {
523
+ issueKey: {
524
+ type: 'string',
525
+ description: 'The issue key',
526
+ },
527
+ accountId: {
528
+ type: 'string',
529
+ description: 'Account ID of the user to remove as watcher',
530
+ },
531
+ },
532
+ required: ['issueKey', 'accountId'],
533
+ },
534
+ },
535
+ {
536
+ name: 'jira_get_subtasks',
537
+ description: 'Get all sub-tasks for a Jira issue',
538
+ inputSchema: {
539
+ type: 'object',
540
+ properties: {
541
+ issueKey: {
542
+ type: 'string',
543
+ description: 'The parent issue key',
544
+ },
545
+ },
546
+ required: ['issueKey'],
547
+ },
548
+ },
549
+ {
550
+ name: 'jira_create_subtask',
551
+ description: 'Create a sub-task under a parent Jira issue',
552
+ inputSchema: {
553
+ type: 'object',
554
+ properties: {
555
+ parentKey: {
556
+ type: 'string',
557
+ description: 'The parent issue key',
558
+ },
559
+ summary: {
560
+ type: 'string',
561
+ description: 'Sub-task summary/title',
562
+ },
563
+ description: {
564
+ type: 'string',
565
+ description: 'Sub-task description',
566
+ },
567
+ },
568
+ required: ['parentKey', 'summary', 'description'],
569
+ },
570
+ },
571
+ {
572
+ name: 'jira_get_issue_history',
573
+ description: 'Get complete change history for a Jira issue',
574
+ inputSchema: {
575
+ type: 'object',
576
+ properties: {
577
+ issueKey: {
578
+ type: 'string',
579
+ description: 'The issue key to get history for',
580
+ },
581
+ },
582
+ required: ['issueKey'],
583
+ },
584
+ },
585
+ {
586
+ name: 'jira_get_fields',
587
+ description: 'Get available fields in Jira. Use this to discover field IDs for use with jira_search_issues fields parameter.',
588
+ inputSchema: {
589
+ type: 'object',
590
+ properties: {
591
+ type: {
592
+ type: 'string',
593
+ enum: ['standard', 'custom', 'all'],
594
+ description: 'Filter by field type: "standard" for built-in fields, "custom" for custom fields, "all" for both (default: "all")',
595
+ },
596
+ },
597
+ },
598
+ },
599
+ {
600
+ name: 'jira_get_labels',
601
+ description: 'Get available labels in Jira. Optionally filter by a search query.',
602
+ inputSchema: {
603
+ type: 'object',
604
+ properties: {
605
+ query: {
606
+ type: 'string',
607
+ description: 'Optional text to filter labels (prefix match)',
608
+ },
609
+ maxResults: {
610
+ type: 'number',
611
+ description: 'Maximum number of labels to return (default: 50)',
612
+ default: 50,
613
+ },
614
+ },
615
+ },
616
+ },
617
+ {
618
+ name: 'jira_add_labels',
619
+ description: 'Add labels to a Jira issue',
620
+ inputSchema: {
621
+ type: 'object',
622
+ properties: {
623
+ issueKey: {
624
+ type: 'string',
625
+ description: 'The issue key (e.g., PROJ-123)',
626
+ },
627
+ labels: {
628
+ type: 'array',
629
+ items: { type: 'string' },
630
+ description: 'Array of label strings to add',
631
+ },
632
+ },
633
+ required: ['issueKey', 'labels'],
634
+ },
635
+ },
636
+ {
637
+ name: 'jira_remove_labels',
638
+ description: 'Remove labels from a Jira issue',
639
+ inputSchema: {
640
+ type: 'object',
641
+ properties: {
642
+ issueKey: {
643
+ type: 'string',
644
+ description: 'The issue key (e.g., PROJ-123)',
645
+ },
646
+ labels: {
647
+ type: 'array',
648
+ items: { type: 'string' },
649
+ description: 'Array of label strings to remove',
650
+ },
651
+ },
652
+ required: ['issueKey', 'labels'],
653
+ },
654
+ },
655
+ ];
656
+ //# sourceMappingURL=jira-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-tools.js","sourceRoot":"","sources":["../../src/tools/jira-tools.ts"],"names":[],"mappings":"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"}