@structured-world/gitlab-mcp 4.0.0

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 (176) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +486 -0
  3. package/dist/config.d.ts +31 -0
  4. package/dist/config.js +115 -0
  5. package/dist/config.js.map +1 -0
  6. package/dist/entities/core/index.d.ts +7 -0
  7. package/dist/entities/core/index.js +31 -0
  8. package/dist/entities/core/index.js.map +1 -0
  9. package/dist/entities/core/registry.d.ts +5 -0
  10. package/dist/entities/core/registry.js +584 -0
  11. package/dist/entities/core/registry.js.map +1 -0
  12. package/dist/entities/core/schema-readonly.d.ts +302 -0
  13. package/dist/entities/core/schema-readonly.js +364 -0
  14. package/dist/entities/core/schema-readonly.js.map +1 -0
  15. package/dist/entities/core/schema.d.ts +87 -0
  16. package/dist/entities/core/schema.js +143 -0
  17. package/dist/entities/core/schema.js.map +1 -0
  18. package/dist/entities/files/index.d.ts +7 -0
  19. package/dist/entities/files/index.js +31 -0
  20. package/dist/entities/files/index.js.map +1 -0
  21. package/dist/entities/files/registry.d.ts +5 -0
  22. package/dist/entities/files/registry.js +199 -0
  23. package/dist/entities/files/registry.js.map +1 -0
  24. package/dist/entities/files/schema-readonly.d.ts +78 -0
  25. package/dist/entities/files/schema-readonly.js +50 -0
  26. package/dist/entities/files/schema-readonly.js.map +1 -0
  27. package/dist/entities/files/schema.d.ts +42 -0
  28. package/dist/entities/files/schema.js +38 -0
  29. package/dist/entities/files/schema.js.map +1 -0
  30. package/dist/entities/index.d.ts +10 -0
  31. package/dist/entities/index.js +27 -0
  32. package/dist/entities/index.js.map +1 -0
  33. package/dist/entities/labels/index.d.ts +7 -0
  34. package/dist/entities/labels/index.js +31 -0
  35. package/dist/entities/labels/index.js.map +1 -0
  36. package/dist/entities/labels/registry.d.ts +5 -0
  37. package/dist/entities/labels/registry.js +186 -0
  38. package/dist/entities/labels/registry.js.map +1 -0
  39. package/dist/entities/labels/schema-readonly.d.ts +16 -0
  40. package/dist/entities/labels/schema-readonly.js +29 -0
  41. package/dist/entities/labels/schema-readonly.js.map +1 -0
  42. package/dist/entities/labels/schema.d.ts +26 -0
  43. package/dist/entities/labels/schema.js +50 -0
  44. package/dist/entities/labels/schema.js.map +1 -0
  45. package/dist/entities/milestones/index.d.ts +7 -0
  46. package/dist/entities/milestones/index.js +31 -0
  47. package/dist/entities/milestones/index.js.map +1 -0
  48. package/dist/entities/milestones/registry.d.ts +5 -0
  49. package/dist/entities/milestones/registry.js +316 -0
  50. package/dist/entities/milestones/registry.js.map +1 -0
  51. package/dist/entities/milestones/schema-readonly.d.ts +63 -0
  52. package/dist/entities/milestones/schema-readonly.js +68 -0
  53. package/dist/entities/milestones/schema-readonly.js.map +1 -0
  54. package/dist/entities/milestones/schema.d.ts +36 -0
  55. package/dist/entities/milestones/schema.js +52 -0
  56. package/dist/entities/milestones/schema.js.map +1 -0
  57. package/dist/entities/mrs/index.d.ts +7 -0
  58. package/dist/entities/mrs/index.js +31 -0
  59. package/dist/entities/mrs/index.js.map +1 -0
  60. package/dist/entities/mrs/registry.d.ts +5 -0
  61. package/dist/entities/mrs/registry.js +629 -0
  62. package/dist/entities/mrs/registry.js.map +1 -0
  63. package/dist/entities/mrs/schema-readonly.d.ts +127 -0
  64. package/dist/entities/mrs/schema-readonly.js +213 -0
  65. package/dist/entities/mrs/schema-readonly.js.map +1 -0
  66. package/dist/entities/mrs/schema.d.ts +285 -0
  67. package/dist/entities/mrs/schema.js +161 -0
  68. package/dist/entities/mrs/schema.js.map +1 -0
  69. package/dist/entities/pipelines/index.d.ts +7 -0
  70. package/dist/entities/pipelines/index.js +31 -0
  71. package/dist/entities/pipelines/index.js.map +1 -0
  72. package/dist/entities/pipelines/registry.d.ts +5 -0
  73. package/dist/entities/pipelines/registry.js +369 -0
  74. package/dist/entities/pipelines/registry.js.map +1 -0
  75. package/dist/entities/pipelines/schema-readonly.d.ts +238 -0
  76. package/dist/entities/pipelines/schema-readonly.js +257 -0
  77. package/dist/entities/pipelines/schema-readonly.js.map +1 -0
  78. package/dist/entities/pipelines/schema.d.ts +49 -0
  79. package/dist/entities/pipelines/schema.js +44 -0
  80. package/dist/entities/pipelines/schema.js.map +1 -0
  81. package/dist/entities/shared.d.ts +291 -0
  82. package/dist/entities/shared.js +277 -0
  83. package/dist/entities/shared.js.map +1 -0
  84. package/dist/entities/utils.d.ts +3 -0
  85. package/dist/entities/utils.js +22 -0
  86. package/dist/entities/utils.js.map +1 -0
  87. package/dist/entities/variables/index.d.ts +7 -0
  88. package/dist/entities/variables/index.js +31 -0
  89. package/dist/entities/variables/index.js.map +1 -0
  90. package/dist/entities/variables/registry.d.ts +5 -0
  91. package/dist/entities/variables/registry.js +192 -0
  92. package/dist/entities/variables/registry.js.map +1 -0
  93. package/dist/entities/variables/schema-readonly.d.ts +17 -0
  94. package/dist/entities/variables/schema-readonly.js +35 -0
  95. package/dist/entities/variables/schema-readonly.js.map +1 -0
  96. package/dist/entities/variables/schema.d.ts +45 -0
  97. package/dist/entities/variables/schema.js +127 -0
  98. package/dist/entities/variables/schema.js.map +1 -0
  99. package/dist/entities/wiki/index.d.ts +7 -0
  100. package/dist/entities/wiki/index.js +31 -0
  101. package/dist/entities/wiki/index.js.map +1 -0
  102. package/dist/entities/wiki/registry.d.ts +5 -0
  103. package/dist/entities/wiki/registry.js +195 -0
  104. package/dist/entities/wiki/registry.js.map +1 -0
  105. package/dist/entities/wiki/schema-readonly.d.ts +24 -0
  106. package/dist/entities/wiki/schema-readonly.js +34 -0
  107. package/dist/entities/wiki/schema-readonly.js.map +1 -0
  108. package/dist/entities/wiki/schema.d.ts +24 -0
  109. package/dist/entities/wiki/schema.js +37 -0
  110. package/dist/entities/wiki/schema.js.map +1 -0
  111. package/dist/entities/workitems/index.d.ts +7 -0
  112. package/dist/entities/workitems/index.js +31 -0
  113. package/dist/entities/workitems/index.js.map +1 -0
  114. package/dist/entities/workitems/registry.d.ts +5 -0
  115. package/dist/entities/workitems/registry.js +183 -0
  116. package/dist/entities/workitems/registry.js.map +1 -0
  117. package/dist/entities/workitems/schema-readonly.d.ts +46 -0
  118. package/dist/entities/workitems/schema-readonly.js +38 -0
  119. package/dist/entities/workitems/schema-readonly.js.map +1 -0
  120. package/dist/entities/workitems/schema.d.ts +37 -0
  121. package/dist/entities/workitems/schema.js +29 -0
  122. package/dist/entities/workitems/schema.js.map +1 -0
  123. package/dist/graphql/DynamicWorkItemsQuery.d.ts +56 -0
  124. package/dist/graphql/DynamicWorkItemsQuery.js +190 -0
  125. package/dist/graphql/DynamicWorkItemsQuery.js.map +1 -0
  126. package/dist/graphql/client.d.ts +15 -0
  127. package/dist/graphql/client.js +50 -0
  128. package/dist/graphql/client.js.map +1 -0
  129. package/dist/graphql/index.d.ts +2 -0
  130. package/dist/graphql/index.js +21 -0
  131. package/dist/graphql/index.js.map +1 -0
  132. package/dist/graphql/workItems.d.ts +430 -0
  133. package/dist/graphql/workItems.js +559 -0
  134. package/dist/graphql/workItems.js.map +1 -0
  135. package/dist/handlers.d.ts +2 -0
  136. package/dist/handlers.js +132 -0
  137. package/dist/handlers.js.map +1 -0
  138. package/dist/http-client.d.ts +1 -0
  139. package/dist/http-client.js +13 -0
  140. package/dist/http-client.js.map +1 -0
  141. package/dist/logger.d.ts +2 -0
  142. package/dist/logger.js +21 -0
  143. package/dist/logger.js.map +1 -0
  144. package/dist/main.d.ts +2 -0
  145. package/dist/main.js +10 -0
  146. package/dist/main.js.map +1 -0
  147. package/dist/registry-manager.d.ts +25 -0
  148. package/dist/registry-manager.js +176 -0
  149. package/dist/registry-manager.js.map +1 -0
  150. package/dist/server.d.ts +25 -0
  151. package/dist/server.js +129 -0
  152. package/dist/server.js.map +1 -0
  153. package/dist/services/ConnectionManager.d.ts +27 -0
  154. package/dist/services/ConnectionManager.js +144 -0
  155. package/dist/services/ConnectionManager.js.map +1 -0
  156. package/dist/services/GitLabVersionDetector.d.ts +53 -0
  157. package/dist/services/GitLabVersionDetector.js +216 -0
  158. package/dist/services/GitLabVersionDetector.js.map +1 -0
  159. package/dist/services/SchemaIntrospector.d.ts +39 -0
  160. package/dist/services/SchemaIntrospector.js +188 -0
  161. package/dist/services/SchemaIntrospector.js.map +1 -0
  162. package/dist/services/ToolAvailability.d.ts +18 -0
  163. package/dist/services/ToolAvailability.js +373 -0
  164. package/dist/services/ToolAvailability.js.map +1 -0
  165. package/dist/services/WidgetAvailability.d.ts +14 -0
  166. package/dist/services/WidgetAvailability.js +84 -0
  167. package/dist/services/WidgetAvailability.js.map +1 -0
  168. package/dist/structured-world-gitlab-mcp-4.0.0.tgz +0 -0
  169. package/dist/tsconfig.build.tsbuildinfo +1 -0
  170. package/dist/types.d.ts +21 -0
  171. package/dist/types.js +10 -0
  172. package/dist/types.js.map +1 -0
  173. package/dist/utils/fetch.d.ts +9 -0
  174. package/dist/utils/fetch.js +164 -0
  175. package/dist/utils/fetch.js.map +1 -0
  176. package/package.json +90 -0
@@ -0,0 +1,559 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET_WORK_ITEM_TYPES = exports.DELETE_WORK_ITEM = exports.UPDATE_WORK_ITEM = exports.CREATE_WORK_ITEM_WITH_DESCRIPTION = exports.CREATE_WORK_ITEM = exports.GET_WORK_ITEM = exports.GET_WORK_ITEMS = exports.WorkItemWidgetTypes = void 0;
4
+ const graphql_tag_1 = require("graphql-tag");
5
+ exports.WorkItemWidgetTypes = {
6
+ ASSIGNEES: 'ASSIGNEES',
7
+ DESCRIPTION: 'DESCRIPTION',
8
+ HIERARCHY: 'HIERARCHY',
9
+ LABELS: 'LABELS',
10
+ MILESTONE: 'MILESTONE',
11
+ NOTES: 'NOTES',
12
+ START_AND_DUE_DATE: 'START_AND_DUE_DATE',
13
+ HEALTH_STATUS: 'HEALTH_STATUS',
14
+ WEIGHT: 'WEIGHT',
15
+ ITERATION: 'ITERATION',
16
+ PROGRESS: 'PROGRESS',
17
+ STATUS: 'STATUS',
18
+ REQUIREMENT_LEGACY: 'REQUIREMENT_LEGACY',
19
+ TEST_REPORTS: 'TEST_REPORTS',
20
+ NOTIFICATIONS: 'NOTIFICATIONS',
21
+ CURRENT_USER_TODOS: 'CURRENT_USER_TODOS',
22
+ AWARD_EMOJI: 'AWARD_EMOJI',
23
+ LINKED_ITEMS: 'LINKED_ITEMS',
24
+ COLOR: 'COLOR',
25
+ PARTICIPANTS: 'PARTICIPANTS',
26
+ DESIGNS: 'DESIGNS',
27
+ DEVELOPMENT: 'DEVELOPMENT',
28
+ CRM_CONTACTS: 'CRM_CONTACTS',
29
+ TIME_TRACKING: 'TIME_TRACKING',
30
+ EMAIL_PARTICIPANTS: 'EMAIL_PARTICIPANTS',
31
+ CUSTOM_FIELDS: 'CUSTOM_FIELDS',
32
+ ERROR_TRACKING: 'ERROR_TRACKING',
33
+ LINKED_RESOURCES: 'LINKED_RESOURCES',
34
+ VULNERABILITIES: 'VULNERABILITIES',
35
+ };
36
+ exports.GET_WORK_ITEMS = (0, graphql_tag_1.gql) `
37
+ query GetWorkItems($groupPath: ID!, $types: [IssueType!], $first: Int, $after: String) {
38
+ group(fullPath: $groupPath) {
39
+ workItems(types: $types, first: $first, after: $after) {
40
+ nodes {
41
+ id
42
+ iid
43
+ title
44
+ description
45
+ state
46
+ workItemType {
47
+ id
48
+ name
49
+ }
50
+ createdAt
51
+ updatedAt
52
+ closedAt
53
+ webUrl
54
+ widgets {
55
+ type
56
+ ... on WorkItemWidgetAssignees {
57
+ allowsMultipleAssignees
58
+ canInviteMembers
59
+ assignees {
60
+ nodes {
61
+ id
62
+ username
63
+ name
64
+ avatarUrl
65
+ webUrl
66
+ }
67
+ }
68
+ }
69
+ ... on WorkItemWidgetDescription {
70
+ description
71
+ descriptionHtml
72
+ edited
73
+ lastEditedAt
74
+ lastEditedBy {
75
+ id
76
+ username
77
+ name
78
+ }
79
+ }
80
+ ... on WorkItemWidgetHierarchy {
81
+ parent {
82
+ id
83
+ iid
84
+ title
85
+ workItemType {
86
+ name
87
+ }
88
+ }
89
+ children {
90
+ nodes {
91
+ id
92
+ iid
93
+ title
94
+ workItemType {
95
+ name
96
+ }
97
+ }
98
+ }
99
+ hasChildren
100
+ }
101
+ ... on WorkItemWidgetLabels {
102
+ allowsScopedLabels
103
+ labels {
104
+ nodes {
105
+ id
106
+ title
107
+ description
108
+ color
109
+ textColor
110
+ }
111
+ }
112
+ }
113
+ ... on WorkItemWidgetMilestone {
114
+ milestone {
115
+ id
116
+ title
117
+ description
118
+ state
119
+ dueDate
120
+ startDate
121
+ webPath
122
+ }
123
+ }
124
+ ... on WorkItemWidgetNotes {
125
+ discussions {
126
+ nodes {
127
+ id
128
+ resolvable
129
+ resolved
130
+ notes {
131
+ nodes {
132
+ id
133
+ body
134
+ author {
135
+ id
136
+ username
137
+ name
138
+ }
139
+ createdAt
140
+ updatedAt
141
+ system
142
+ }
143
+ }
144
+ }
145
+ }
146
+ }
147
+ ... on WorkItemWidgetStartAndDueDate {
148
+ startDate
149
+ dueDate
150
+ isFixed
151
+ }
152
+ ... on WorkItemWidgetHealthStatus {
153
+ healthStatus
154
+ }
155
+ ... on WorkItemWidgetWeight {
156
+ weight
157
+ }
158
+ ... on WorkItemWidgetStatus {
159
+ status {
160
+ name
161
+ color
162
+ }
163
+ }
164
+ ... on WorkItemWidgetTimeTracking {
165
+ timeEstimate
166
+ totalTimeSpent
167
+ humanReadableAttributes {
168
+ timeEstimate
169
+ totalTimeSpent
170
+ }
171
+ }
172
+ ... on WorkItemWidgetParticipants {
173
+ participants {
174
+ nodes {
175
+ id
176
+ username
177
+ name
178
+ avatarUrl
179
+ webUrl
180
+ }
181
+ }
182
+ }
183
+ ... on WorkItemWidgetProgress {
184
+ currentValue
185
+ endValue
186
+ progress
187
+ startValue
188
+ }
189
+ ... on WorkItemWidgetRequirementLegacy {
190
+ type
191
+ }
192
+ ... on WorkItemWidgetTestReports {
193
+ testReports {
194
+ nodes {
195
+ id
196
+ state
197
+ createdAt
198
+ author {
199
+ id
200
+ username
201
+ }
202
+ }
203
+ }
204
+ }
205
+ ... on WorkItemWidgetNotifications {
206
+ subscribed
207
+ }
208
+ ... on WorkItemWidgetCurrentUserTodos {
209
+ currentUserTodos {
210
+ nodes {
211
+ id
212
+ action
213
+ author {
214
+ id
215
+ username
216
+ name
217
+ }
218
+ createdAt
219
+ state
220
+ }
221
+ }
222
+ }
223
+ ... on WorkItemWidgetAwardEmoji {
224
+ awardEmoji {
225
+ nodes {
226
+ name
227
+ emoji
228
+ description
229
+ user {
230
+ id
231
+ username
232
+ name
233
+ }
234
+ }
235
+ }
236
+ upvotes
237
+ downvotes
238
+ }
239
+ ... on WorkItemWidgetLinkedItems {
240
+ linkedItems {
241
+ nodes {
242
+ linkId
243
+ linkType
244
+ workItem {
245
+ id
246
+ iid
247
+ title
248
+ state
249
+ workItemType {
250
+ name
251
+ }
252
+ }
253
+ }
254
+ }
255
+ }
256
+ ... on WorkItemWidgetColor {
257
+ color
258
+ }
259
+ ... on WorkItemWidgetDesigns {
260
+ designCollection {
261
+ designs {
262
+ nodes {
263
+ id
264
+ filename
265
+ fullPath
266
+ image
267
+ imageV432x230
268
+ }
269
+ }
270
+ }
271
+ }
272
+ ... on WorkItemWidgetDevelopment {
273
+ closingMergeRequests {
274
+ nodes {
275
+ id
276
+ mergeRequest {
277
+ id
278
+ iid
279
+ title
280
+ state
281
+ webUrl
282
+ }
283
+ }
284
+ }
285
+ featureFlags {
286
+ nodes {
287
+ id
288
+ name
289
+ path
290
+ reference
291
+ active
292
+ }
293
+ }
294
+ }
295
+ ... on WorkItemWidgetCrmContacts {
296
+ contacts {
297
+ nodes {
298
+ id
299
+ firstName
300
+ lastName
301
+ email
302
+ phone
303
+ organization {
304
+ id
305
+ name
306
+ description
307
+ }
308
+ }
309
+ }
310
+ }
311
+ ... on WorkItemWidgetEmailParticipants {
312
+ emailParticipants {
313
+ nodes {
314
+ email
315
+ }
316
+ }
317
+ }
318
+ ... on WorkItemWidgetCustomFields {
319
+ type
320
+ }
321
+ ... on WorkItemWidgetErrorTracking {
322
+ identifier
323
+ status
324
+ }
325
+ ... on WorkItemWidgetLinkedResources {
326
+ linkedResources {
327
+ nodes {
328
+ url
329
+ }
330
+ }
331
+ }
332
+ ... on WorkItemWidgetVulnerabilities {
333
+ type
334
+ relatedVulnerabilities(first: 25) {
335
+ nodes {
336
+ id
337
+ state
338
+ severity
339
+ name
340
+ webUrl
341
+ }
342
+ pageInfo {
343
+ hasNextPage
344
+ endCursor
345
+ }
346
+ count
347
+ }
348
+ }
349
+ }
350
+ }
351
+ }
352
+ }
353
+ }
354
+ `;
355
+ exports.GET_WORK_ITEM = (0, graphql_tag_1.gql) `
356
+ query GetWorkItem($id: WorkItemID!) {
357
+ workItem(id: $id) {
358
+ id
359
+ iid
360
+ title
361
+ description
362
+ state
363
+ workItemType {
364
+ id
365
+ name
366
+ }
367
+ createdAt
368
+ updatedAt
369
+ closedAt
370
+ webUrl
371
+ widgets {
372
+ type
373
+ ... on WorkItemWidgetAssignees {
374
+ allowsMultipleAssignees
375
+ canInviteMembers
376
+ assignees {
377
+ nodes {
378
+ id
379
+ username
380
+ name
381
+ avatarUrl
382
+ webUrl
383
+ }
384
+ }
385
+ }
386
+ ... on WorkItemWidgetDescription {
387
+ description
388
+ descriptionHtml
389
+ edited
390
+ lastEditedAt
391
+ lastEditedBy {
392
+ id
393
+ username
394
+ name
395
+ }
396
+ }
397
+ ... on WorkItemWidgetHierarchy {
398
+ parent {
399
+ id
400
+ iid
401
+ title
402
+ workItemType {
403
+ name
404
+ }
405
+ }
406
+ children {
407
+ nodes {
408
+ id
409
+ iid
410
+ title
411
+ workItemType {
412
+ name
413
+ }
414
+ }
415
+ }
416
+ hasChildren
417
+ }
418
+ ... on WorkItemWidgetLabels {
419
+ allowsScopedLabels
420
+ labels {
421
+ nodes {
422
+ id
423
+ title
424
+ description
425
+ color
426
+ textColor
427
+ }
428
+ }
429
+ }
430
+ }
431
+ }
432
+ }
433
+ `;
434
+ exports.CREATE_WORK_ITEM = (0, graphql_tag_1.gql) `
435
+ mutation CreateWorkItem($namespacePath: ID!, $title: String!, $workItemTypeId: WorkItemsTypeID!) {
436
+ workItemCreate(
437
+ input: { namespacePath: $namespacePath, title: $title, workItemTypeId: $workItemTypeId }
438
+ ) {
439
+ workItem {
440
+ id
441
+ iid
442
+ title
443
+ description
444
+ state
445
+ workItemType {
446
+ id
447
+ name
448
+ }
449
+ webUrl
450
+ }
451
+ errors
452
+ }
453
+ }
454
+ `;
455
+ exports.CREATE_WORK_ITEM_WITH_DESCRIPTION = (0, graphql_tag_1.gql) `
456
+ mutation CreateWorkItemWithDescription(
457
+ $namespacePath: ID!
458
+ $title: String!
459
+ $workItemTypeId: WorkItemsTypeID!
460
+ $description: String!
461
+ ) {
462
+ workItemCreate(
463
+ input: {
464
+ namespacePath: $namespacePath
465
+ title: $title
466
+ workItemTypeId: $workItemTypeId
467
+ descriptionWidget: { description: $description }
468
+ }
469
+ ) {
470
+ workItem {
471
+ id
472
+ iid
473
+ title
474
+ description
475
+ state
476
+ workItemType {
477
+ id
478
+ name
479
+ }
480
+ webUrl
481
+ }
482
+ errors
483
+ }
484
+ }
485
+ `;
486
+ exports.UPDATE_WORK_ITEM = (0, graphql_tag_1.gql) `
487
+ mutation UpdateWorkItem($input: WorkItemUpdateInput!) {
488
+ workItemUpdate(input: $input) {
489
+ workItem {
490
+ id
491
+ iid
492
+ title
493
+ description
494
+ state
495
+ workItemType {
496
+ id
497
+ name
498
+ }
499
+ webUrl
500
+ widgets {
501
+ type
502
+ ... on WorkItemWidgetAssignees {
503
+ assignees {
504
+ nodes {
505
+ id
506
+ username
507
+ name
508
+ avatarUrl
509
+ webUrl
510
+ }
511
+ }
512
+ }
513
+ ... on WorkItemWidgetLabels {
514
+ labels {
515
+ nodes {
516
+ id
517
+ title
518
+ description
519
+ color
520
+ textColor
521
+ }
522
+ }
523
+ }
524
+ ... on WorkItemWidgetMilestone {
525
+ milestone {
526
+ id
527
+ title
528
+ state
529
+ startDate
530
+ dueDate
531
+ webPath
532
+ }
533
+ }
534
+ }
535
+ }
536
+ errors
537
+ }
538
+ }
539
+ `;
540
+ exports.DELETE_WORK_ITEM = (0, graphql_tag_1.gql) `
541
+ mutation DeleteWorkItem($id: WorkItemID!) {
542
+ workItemDelete(input: { id: $id }) {
543
+ errors
544
+ }
545
+ }
546
+ `;
547
+ exports.GET_WORK_ITEM_TYPES = (0, graphql_tag_1.gql) `
548
+ query GetWorkItemTypes($namespacePath: ID!) {
549
+ namespace(fullPath: $namespacePath) {
550
+ workItemTypes {
551
+ nodes {
552
+ id
553
+ name
554
+ }
555
+ }
556
+ }
557
+ }
558
+ `;
559
+ //# sourceMappingURL=workItems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workItems.js","sourceRoot":"","sources":["../../src/graphql/workItems.ts"],"names":[],"mappings":";;;AAAA,6CAAkC;AAuDrB,QAAA,mBAAmB,GAAG;IACjC,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,OAAO;IACd,kBAAkB,EAAE,oBAAoB;IACxC,aAAa,EAAE,eAAe;IAC9B,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,kBAAkB,EAAE,oBAAoB;IACxC,YAAY,EAAE,cAAc;IAC5B,aAAa,EAAE,eAAe;IAC9B,kBAAkB,EAAE,oBAAoB;IACxC,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;IAC5B,KAAK,EAAE,OAAO;IAEd,YAAY,EAAE,cAAc;IAC5B,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;IAC5B,aAAa,EAAE,eAAe;IAC9B,kBAAkB,EAAE,oBAAoB;IACxC,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;IAChC,gBAAgB,EAAE,kBAAkB;IACpC,eAAe,EAAE,iBAAiB;CAC1B,CAAC;AAgWE,QAAA,cAAc,GAGvB,IAAA,iBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8TN,CAAC;AAEW,QAAA,aAAa,GAA8D,IAAA,iBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8E1F,CAAC;AAKW,QAAA,gBAAgB,GAOzB,IAAA,iBAAG,EAAA;;;;;;;;;;;;;;;;;;;;CAoBN,CAAC;AAGW,QAAA,iCAAiC,GAQ1C,IAAA,iBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BN,CAAC;AAEW,QAAA,gBAAgB,GAGzB,IAAA,iBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDN,CAAC;AAEW,QAAA,gBAAgB,GAGzB,IAAA,iBAAG,EAAA;;;;;;CAMN,CAAC;AAEW,QAAA,mBAAmB,GAG5B,IAAA,iBAAG,EAAA;;;;;;;;;;;CAWN,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
+ export declare function setupHandlers(server: Server): Promise<void>;
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.setupHandlers = setupHandlers;
37
+ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
38
+ const ConnectionManager_1 = require("./services/ConnectionManager");
39
+ const logger_1 = require("./logger");
40
+ async function setupHandlers(server) {
41
+ const connectionManager = ConnectionManager_1.ConnectionManager.getInstance();
42
+ try {
43
+ await connectionManager.initialize();
44
+ logger_1.logger.info('Connection initialized during server setup');
45
+ }
46
+ catch (error) {
47
+ logger_1.logger.warn(`Initial connection failed during setup, will retry on first tool call: ${error instanceof Error ? error.message : String(error)}`);
48
+ }
49
+ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
50
+ const { RegistryManager } = await Promise.resolve().then(() => __importStar(require('./registry-manager')));
51
+ const registryManager = RegistryManager.getInstance();
52
+ const tools = registryManager.getAllToolDefinitions();
53
+ const modifiedTools = tools.map((tool) => {
54
+ let inputSchema = tool.inputSchema;
55
+ if (inputSchema && typeof inputSchema === 'object') {
56
+ inputSchema = { ...inputSchema, type: 'object' };
57
+ }
58
+ if (inputSchema && typeof inputSchema === 'object' && '$schema' in inputSchema) {
59
+ const cleanedSchema = { ...inputSchema };
60
+ delete cleanedSchema.$schema;
61
+ inputSchema = cleanedSchema;
62
+ }
63
+ return { ...tool, inputSchema };
64
+ });
65
+ return {
66
+ tools: modifiedTools,
67
+ };
68
+ });
69
+ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
70
+ try {
71
+ if (!request.params.arguments) {
72
+ throw new Error('Arguments are required');
73
+ }
74
+ logger_1.logger.info(`Tool called: ${request.params.name}`);
75
+ const connectionManager = ConnectionManager_1.ConnectionManager.getInstance();
76
+ try {
77
+ connectionManager.getClient();
78
+ const instanceInfo = connectionManager.getInstanceInfo();
79
+ logger_1.logger.info(`Connection verified: ${instanceInfo.version} ${instanceInfo.tier}`);
80
+ }
81
+ catch {
82
+ logger_1.logger.info('Connection not initialized, attempting to initialize...');
83
+ try {
84
+ await connectionManager.initialize();
85
+ connectionManager.getClient();
86
+ const instanceInfo = connectionManager.getInstanceInfo();
87
+ logger_1.logger.info(`Connection initialized: ${instanceInfo.version} ${instanceInfo.tier}`);
88
+ }
89
+ catch (initError) {
90
+ logger_1.logger.error(`Connection initialization failed: ${initError instanceof Error ? initError.message : String(initError)}`);
91
+ throw new Error('Bad Request: Server not initialized');
92
+ }
93
+ }
94
+ const toolName = request.params.name;
95
+ try {
96
+ const { RegistryManager } = await Promise.resolve().then(() => __importStar(require('./registry-manager')));
97
+ const registryManager = RegistryManager.getInstance();
98
+ if (!registryManager.hasToolHandler(toolName)) {
99
+ throw new Error(`Tool '${toolName}' is not available or has been filtered out`);
100
+ }
101
+ logger_1.logger.info(`Executing tool: ${toolName}`);
102
+ const result = await registryManager.executeTool(toolName, request.params.arguments);
103
+ return {
104
+ content: [
105
+ {
106
+ type: 'text',
107
+ text: JSON.stringify(result, null, 2),
108
+ },
109
+ ],
110
+ };
111
+ }
112
+ catch (error) {
113
+ const errorMessage = error instanceof Error ? error.message : String(error);
114
+ throw new Error(`Failed to execute tool '${toolName}': ${errorMessage}`);
115
+ }
116
+ }
117
+ catch (error) {
118
+ logger_1.logger.error(`Error in tool handler: ${error instanceof Error ? error.message : String(error)}`);
119
+ const errorMessage = error instanceof Error ? error.message : String(error);
120
+ return {
121
+ content: [
122
+ {
123
+ type: 'text',
124
+ text: JSON.stringify({ error: errorMessage }, null, 2),
125
+ },
126
+ ],
127
+ isError: true,
128
+ };
129
+ }
130
+ });
131
+ }
132
+ //# sourceMappingURL=handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const DEFAULT_HEADERS: Record<string, string>;