@structured-world/gitlab-mcp 4.0.0 → 4.1.1

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 (86) hide show
  1. package/README.md +90 -4
  2. package/dist/entities/core/registry.js +162 -70
  3. package/dist/entities/core/registry.js.map +1 -1
  4. package/dist/entities/core/schema-readonly.d.ts +421 -199
  5. package/dist/entities/core/schema-readonly.js +222 -131
  6. package/dist/entities/core/schema-readonly.js.map +1 -1
  7. package/dist/entities/core/schema.d.ts +152 -61
  8. package/dist/entities/core/schema.js +111 -55
  9. package/dist/entities/core/schema.js.map +1 -1
  10. package/dist/entities/files/registry.js +5 -5
  11. package/dist/entities/files/registry.js.map +1 -1
  12. package/dist/entities/files/schema-readonly.d.ts +124 -24
  13. package/dist/entities/files/schema.d.ts +82 -17
  14. package/dist/entities/labels/registry.js +23 -34
  15. package/dist/entities/labels/registry.js.map +1 -1
  16. package/dist/entities/labels/schema-readonly.d.ts +26 -10
  17. package/dist/entities/labels/schema-readonly.js +5 -15
  18. package/dist/entities/labels/schema-readonly.js.map +1 -1
  19. package/dist/entities/labels/schema.d.ts +40 -11
  20. package/dist/entities/labels/schema.js +8 -23
  21. package/dist/entities/labels/schema.js.map +1 -1
  22. package/dist/entities/milestones/registry.js +44 -61
  23. package/dist/entities/milestones/registry.js.map +1 -1
  24. package/dist/entities/milestones/schema-readonly.d.ts +105 -30
  25. package/dist/entities/milestones/schema-readonly.js +7 -15
  26. package/dist/entities/milestones/schema-readonly.js.map +1 -1
  27. package/dist/entities/milestones/schema.d.ts +52 -19
  28. package/dist/entities/milestones/schema.js +8 -28
  29. package/dist/entities/milestones/schema.js.map +1 -1
  30. package/dist/entities/mrs/registry.js +20 -20
  31. package/dist/entities/mrs/registry.js.map +1 -1
  32. package/dist/entities/mrs/schema-readonly.d.ts +243 -68
  33. package/dist/entities/mrs/schema-readonly.js +83 -54
  34. package/dist/entities/mrs/schema-readonly.js.map +1 -1
  35. package/dist/entities/mrs/schema.d.ts +885 -142
  36. package/dist/entities/mrs/schema.js +113 -37
  37. package/dist/entities/mrs/schema.js.map +1 -1
  38. package/dist/entities/pipelines/registry.js +12 -12
  39. package/dist/entities/pipelines/registry.js.map +1 -1
  40. package/dist/entities/pipelines/schema-readonly.d.ts +525 -115
  41. package/dist/entities/pipelines/schema.d.ts +104 -30
  42. package/dist/entities/shared.d.ts +787 -110
  43. package/dist/entities/utils.d.ts +2 -2
  44. package/dist/entities/variables/registry.js +23 -33
  45. package/dist/entities/variables/registry.js.map +1 -1
  46. package/dist/entities/variables/schema-readonly.d.ts +30 -7
  47. package/dist/entities/variables/schema-readonly.js +4 -13
  48. package/dist/entities/variables/schema-readonly.js.map +1 -1
  49. package/dist/entities/variables/schema.d.ts +83 -26
  50. package/dist/entities/variables/schema.js +6 -21
  51. package/dist/entities/variables/schema.js.map +1 -1
  52. package/dist/entities/wiki/registry.js +25 -42
  53. package/dist/entities/wiki/registry.js.map +1 -1
  54. package/dist/entities/wiki/schema-readonly.d.ts +37 -8
  55. package/dist/entities/wiki/schema-readonly.js +4 -13
  56. package/dist/entities/wiki/schema-readonly.js.map +1 -1
  57. package/dist/entities/wiki/schema.d.ts +34 -9
  58. package/dist/entities/wiki/schema.js +6 -21
  59. package/dist/entities/wiki/schema.js.map +1 -1
  60. package/dist/entities/workitems/registry.js +94 -13
  61. package/dist/entities/workitems/registry.js.map +1 -1
  62. package/dist/entities/workitems/schema-readonly.d.ts +29 -32
  63. package/dist/entities/workitems/schema-readonly.js +7 -2
  64. package/dist/entities/workitems/schema-readonly.js.map +1 -1
  65. package/dist/entities/workitems/schema.d.ts +45 -21
  66. package/dist/graphql/workItems.d.ts +34 -1
  67. package/dist/graphql/workItems.js +349 -2
  68. package/dist/graphql/workItems.js.map +1 -1
  69. package/dist/handlers.js +44 -0
  70. package/dist/handlers.js.map +1 -1
  71. package/dist/registry-manager.d.ts +1 -0
  72. package/dist/registry-manager.js +54 -0
  73. package/dist/registry-manager.js.map +1 -1
  74. package/dist/services/ConnectionManager.js +3 -3
  75. package/dist/services/ConnectionManager.js.map +1 -1
  76. package/dist/services/SchemaIntrospector.js +3 -3
  77. package/dist/services/SchemaIntrospector.js.map +1 -1
  78. package/dist/services/ToolAvailability.js +30 -1
  79. package/dist/services/ToolAvailability.js.map +1 -1
  80. package/dist/structured-world-gitlab-mcp-4.1.1.tgz +0 -0
  81. package/dist/tsconfig.build.tsbuildinfo +1 -1
  82. package/dist/utils/namespace.d.ts +6 -0
  83. package/dist/utils/namespace.js +52 -0
  84. package/dist/utils/namespace.js.map +1 -0
  85. package/package.json +5 -3
  86. package/dist/structured-world-gitlab-mcp-4.0.0.tgz +0 -0
@@ -2,36 +2,60 @@ import { z } from 'zod';
2
2
  export declare const CreateWorkItemSchema: z.ZodObject<{
3
3
  namespacePath: z.ZodString;
4
4
  title: z.ZodString;
5
- workItemType: z.ZodEnum<{
6
- OBJECTIVE: "OBJECTIVE";
7
- KEY_RESULT: "KEY_RESULT";
8
- REQUIREMENT: "REQUIREMENT";
9
- ISSUE: "ISSUE";
10
- INCIDENT: "INCIDENT";
11
- TEST_CASE: "TEST_CASE";
12
- TASK: "TASK";
13
- EPIC: "EPIC";
14
- }>;
5
+ workItemType: z.ZodEnum<["EPIC", "ISSUE", "TASK", "INCIDENT", "TEST_CASE", "REQUIREMENT", "OBJECTIVE", "KEY_RESULT"]>;
15
6
  description: z.ZodOptional<z.ZodString>;
16
- assigneeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
17
- labelIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
7
+ assigneeIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
8
+ labelIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
18
9
  milestoneId: z.ZodOptional<z.ZodString>;
19
- }, z.core.$strip>;
10
+ }, "strip", z.ZodTypeAny, {
11
+ title: string;
12
+ namespacePath: string;
13
+ workItemType: "OBJECTIVE" | "KEY_RESULT" | "REQUIREMENT" | "ISSUE" | "INCIDENT" | "TEST_CASE" | "TASK" | "EPIC";
14
+ description?: string | undefined;
15
+ assigneeIds?: string[] | undefined;
16
+ labelIds?: string[] | undefined;
17
+ milestoneId?: string | undefined;
18
+ }, {
19
+ title: string;
20
+ namespacePath: string;
21
+ workItemType: "OBJECTIVE" | "KEY_RESULT" | "REQUIREMENT" | "ISSUE" | "INCIDENT" | "TEST_CASE" | "TASK" | "EPIC";
22
+ description?: string | undefined;
23
+ assigneeIds?: string[] | undefined;
24
+ labelIds?: string[] | undefined;
25
+ milestoneId?: string | undefined;
26
+ }>;
20
27
  export declare const UpdateWorkItemSchema: z.ZodObject<{
21
28
  id: z.ZodString;
22
29
  title: z.ZodOptional<z.ZodString>;
23
30
  description: z.ZodOptional<z.ZodString>;
24
- state: z.ZodOptional<z.ZodEnum<{
25
- CLOSE: "CLOSE";
26
- REOPEN: "REOPEN";
27
- }>>;
28
- assigneeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
29
- labelIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
31
+ state: z.ZodOptional<z.ZodEnum<["CLOSE", "REOPEN"]>>;
32
+ assigneeIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
33
+ labelIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
30
34
  milestoneId: z.ZodOptional<z.ZodString>;
31
- }, z.core.$strip>;
35
+ }, "strip", z.ZodTypeAny, {
36
+ id: string;
37
+ title?: string | undefined;
38
+ description?: string | undefined;
39
+ state?: "CLOSE" | "REOPEN" | undefined;
40
+ assigneeIds?: string[] | undefined;
41
+ labelIds?: string[] | undefined;
42
+ milestoneId?: string | undefined;
43
+ }, {
44
+ id: string;
45
+ title?: string | undefined;
46
+ description?: string | undefined;
47
+ state?: "CLOSE" | "REOPEN" | undefined;
48
+ assigneeIds?: string[] | undefined;
49
+ labelIds?: string[] | undefined;
50
+ milestoneId?: string | undefined;
51
+ }>;
32
52
  export declare const DeleteWorkItemSchema: z.ZodObject<{
33
53
  id: z.ZodString;
34
- }, z.core.$strip>;
54
+ }, "strip", z.ZodTypeAny, {
55
+ id: string;
56
+ }, {
57
+ id: string;
58
+ }>;
35
59
  export type CreateWorkItemOptions = z.infer<typeof CreateWorkItemSchema>;
36
60
  export type UpdateWorkItemOptions = z.infer<typeof UpdateWorkItemSchema>;
37
61
  export type DeleteWorkItemOptions = z.infer<typeof DeleteWorkItemSchema>;
@@ -363,6 +363,27 @@ export interface Vulnerability {
363
363
  name: string;
364
364
  webUrl: string;
365
365
  }
366
+ export declare const GET_GROUP_PROJECTS: TypedDocumentNode<{
367
+ group: {
368
+ projects: {
369
+ nodes: Array<{
370
+ id: string;
371
+ fullPath: string;
372
+ }>;
373
+ };
374
+ };
375
+ }, {
376
+ groupPath: string;
377
+ includeSubgroups?: boolean;
378
+ }>;
379
+ export declare const GET_NAMESPACE_TYPE: TypedDocumentNode<{
380
+ namespace: {
381
+ __typename: string;
382
+ fullPath: string;
383
+ };
384
+ }, {
385
+ namespacePath: string;
386
+ }>;
366
387
  export declare const GET_WORK_ITEMS: TypedDocumentNode<{
367
388
  group: {
368
389
  workItems: {
@@ -371,7 +392,19 @@ export declare const GET_WORK_ITEMS: TypedDocumentNode<{
371
392
  };
372
393
  }, {
373
394
  groupPath: string;
374
- types?: WorkItemTypeEnum[];
395
+ types?: string[];
396
+ first?: number;
397
+ after?: string;
398
+ }>;
399
+ export declare const GET_PROJECT_WORK_ITEMS: TypedDocumentNode<{
400
+ project: {
401
+ workItems: {
402
+ nodes: WorkItem[];
403
+ };
404
+ };
405
+ }, {
406
+ projectPath: string;
407
+ types?: string[];
375
408
  first?: number;
376
409
  after?: string;
377
410
  }>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
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;
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_PROJECT_WORK_ITEMS = exports.GET_WORK_ITEMS = exports.GET_NAMESPACE_TYPE = exports.GET_GROUP_PROJECTS = exports.WorkItemWidgetTypes = void 0;
4
4
  const graphql_tag_1 = require("graphql-tag");
5
5
  exports.WorkItemWidgetTypes = {
6
6
  ASSIGNEES: 'ASSIGNEES',
@@ -33,6 +33,26 @@ exports.WorkItemWidgetTypes = {
33
33
  LINKED_RESOURCES: 'LINKED_RESOURCES',
34
34
  VULNERABILITIES: 'VULNERABILITIES',
35
35
  };
36
+ exports.GET_GROUP_PROJECTS = (0, graphql_tag_1.gql) `
37
+ query GetGroupProjects($groupPath: ID!, $includeSubgroups: Boolean) {
38
+ group(fullPath: $groupPath) {
39
+ projects(includeSubgroups: $includeSubgroups) {
40
+ nodes {
41
+ id
42
+ fullPath
43
+ }
44
+ }
45
+ }
46
+ }
47
+ `;
48
+ exports.GET_NAMESPACE_TYPE = (0, graphql_tag_1.gql) `
49
+ query GetNamespaceType($namespacePath: ID!) {
50
+ namespace(fullPath: $namespacePath) {
51
+ __typename
52
+ fullPath
53
+ }
54
+ }
55
+ `;
36
56
  exports.GET_WORK_ITEMS = (0, graphql_tag_1.gql) `
37
57
  query GetWorkItems($groupPath: ID!, $types: [IssueType!], $first: Int, $after: String) {
38
58
  group(fullPath: $groupPath) {
@@ -239,7 +259,6 @@ exports.GET_WORK_ITEMS = (0, graphql_tag_1.gql) `
239
259
  ... on WorkItemWidgetLinkedItems {
240
260
  linkedItems {
241
261
  nodes {
242
- linkId
243
262
  linkType
244
263
  workItem {
245
264
  id
@@ -352,6 +371,334 @@ exports.GET_WORK_ITEMS = (0, graphql_tag_1.gql) `
352
371
  }
353
372
  }
354
373
  `;
374
+ exports.GET_PROJECT_WORK_ITEMS = (0, graphql_tag_1.gql) `
375
+ query GetProjectWorkItems($projectPath: ID!, $types: [IssueType!], $first: Int, $after: String) {
376
+ project(fullPath: $projectPath) {
377
+ workItems(types: $types, first: $first, after: $after) {
378
+ nodes {
379
+ id
380
+ iid
381
+ title
382
+ description
383
+ state
384
+ workItemType {
385
+ id
386
+ name
387
+ }
388
+ createdAt
389
+ updatedAt
390
+ closedAt
391
+ webUrl
392
+ widgets {
393
+ type
394
+ ... on WorkItemWidgetAssignees {
395
+ allowsMultipleAssignees
396
+ canInviteMembers
397
+ assignees {
398
+ nodes {
399
+ id
400
+ username
401
+ name
402
+ avatarUrl
403
+ webUrl
404
+ }
405
+ }
406
+ }
407
+ ... on WorkItemWidgetDescription {
408
+ description
409
+ descriptionHtml
410
+ edited
411
+ lastEditedAt
412
+ lastEditedBy {
413
+ id
414
+ username
415
+ name
416
+ }
417
+ }
418
+ ... on WorkItemWidgetHierarchy {
419
+ parent {
420
+ id
421
+ iid
422
+ title
423
+ workItemType {
424
+ name
425
+ }
426
+ }
427
+ children {
428
+ nodes {
429
+ id
430
+ iid
431
+ title
432
+ state
433
+ workItemType {
434
+ name
435
+ }
436
+ }
437
+ }
438
+ }
439
+ ... on WorkItemWidgetLabels {
440
+ allowsScopedLabels
441
+ labels {
442
+ nodes {
443
+ id
444
+ title
445
+ description
446
+ color
447
+ textColor
448
+ }
449
+ }
450
+ }
451
+ ... on WorkItemWidgetMilestone {
452
+ milestone {
453
+ id
454
+ title
455
+ state
456
+ dueDate
457
+ startDate
458
+ webPath
459
+ }
460
+ }
461
+ ... on WorkItemWidgetNotes {
462
+ discussions {
463
+ nodes {
464
+ id
465
+ resolvable
466
+ resolved
467
+ notes {
468
+ nodes {
469
+ id
470
+ body
471
+ author {
472
+ id
473
+ username
474
+ name
475
+ avatarUrl
476
+ }
477
+ createdAt
478
+ updatedAt
479
+ system
480
+ }
481
+ }
482
+ }
483
+ }
484
+ }
485
+ ... on WorkItemWidgetStartAndDueDate {
486
+ startDate
487
+ dueDate
488
+ isFixed
489
+ }
490
+ ... on WorkItemWidgetHealthStatus {
491
+ healthStatus
492
+ }
493
+ ... on WorkItemWidgetWeight {
494
+ weight
495
+ }
496
+ ... on WorkItemWidgetIteration {
497
+ iteration {
498
+ id
499
+ title
500
+ startDate
501
+ dueDate
502
+ webUrl
503
+ iterationCadence {
504
+ id
505
+ title
506
+ }
507
+ }
508
+ }
509
+ ... on WorkItemWidgetProgress {
510
+ currentValue
511
+ endValue
512
+ progress
513
+ startValue
514
+ }
515
+ ... on WorkItemWidgetRequirementLegacy {
516
+ type
517
+ }
518
+ ... on WorkItemWidgetTestReports {
519
+ testReports {
520
+ nodes {
521
+ id
522
+ state
523
+ createdAt
524
+ author {
525
+ id
526
+ username
527
+ }
528
+ }
529
+ }
530
+ }
531
+ ... on WorkItemWidgetNotifications {
532
+ subscribed
533
+ }
534
+ ... on WorkItemWidgetCurrentUserTodos {
535
+ currentUserTodos {
536
+ nodes {
537
+ id
538
+ action
539
+ author {
540
+ id
541
+ username
542
+ }
543
+ createdAt
544
+ state
545
+ }
546
+ }
547
+ }
548
+ ... on WorkItemWidgetAwardEmoji {
549
+ awardEmoji {
550
+ nodes {
551
+ name
552
+ emoji
553
+ description
554
+ user {
555
+ id
556
+ username
557
+ }
558
+ }
559
+ }
560
+ downvotes
561
+ upvotes
562
+ }
563
+ ... on WorkItemWidgetLinkedItems {
564
+ linkedItems {
565
+ nodes {
566
+ linkType
567
+ workItem {
568
+ id
569
+ iid
570
+ title
571
+ state
572
+ workItemType {
573
+ name
574
+ }
575
+ }
576
+ }
577
+ }
578
+ }
579
+ ... on WorkItemWidgetColor {
580
+ color
581
+ textColor
582
+ }
583
+ ... on WorkItemWidgetParticipants {
584
+ participants {
585
+ nodes {
586
+ id
587
+ username
588
+ name
589
+ avatarUrl
590
+ }
591
+ }
592
+ }
593
+ ... on WorkItemWidgetDesigns {
594
+ designCollection {
595
+ designs {
596
+ nodes {
597
+ id
598
+ filename
599
+ fullPath
600
+ image
601
+ imageV432x230
602
+ }
603
+ }
604
+ }
605
+ }
606
+ ... on WorkItemWidgetDevelopment {
607
+ featureFlags {
608
+ nodes {
609
+ id
610
+ name
611
+ active
612
+ }
613
+ }
614
+ closingMergeRequests {
615
+ nodes {
616
+ id
617
+ mergeRequest {
618
+ id
619
+ iid
620
+ title
621
+ state
622
+ webUrl
623
+ }
624
+ }
625
+ }
626
+ }
627
+ ... on WorkItemWidgetCrmContacts {
628
+ contacts {
629
+ nodes {
630
+ id
631
+ firstName
632
+ lastName
633
+ email
634
+ organization {
635
+ id
636
+ name
637
+ }
638
+ }
639
+ }
640
+ }
641
+ ... on WorkItemWidgetTimeTracking {
642
+ timeEstimate
643
+ totalTimeSpent
644
+ timelogs {
645
+ nodes {
646
+ id
647
+ timeSpent
648
+ note {
649
+ body
650
+ }
651
+ spentAt
652
+ user {
653
+ id
654
+ username
655
+ }
656
+ }
657
+ }
658
+ }
659
+ ... on WorkItemWidgetEmailParticipants {
660
+ emailParticipants {
661
+ nodes {
662
+ email
663
+ }
664
+ }
665
+ }
666
+ ... on WorkItemWidgetCustomFields {
667
+ type
668
+ }
669
+ ... on WorkItemWidgetErrorTracking {
670
+ identifier
671
+ status
672
+ }
673
+ ... on WorkItemWidgetLinkedResources {
674
+ linkedResources {
675
+ nodes {
676
+ url
677
+ }
678
+ }
679
+ }
680
+ ... on WorkItemWidgetVulnerabilities {
681
+ relatedVulnerabilities {
682
+ nodes {
683
+ id
684
+ state
685
+ severity
686
+ name
687
+ webUrl
688
+ }
689
+ pageInfo {
690
+ hasNextPage
691
+ endCursor
692
+ }
693
+ count
694
+ }
695
+ }
696
+ }
697
+ }
698
+ }
699
+ }
700
+ }
701
+ `;
355
702
  exports.GET_WORK_ITEM = (0, graphql_tag_1.gql) `
356
703
  query GetWorkItem($id: WorkItemID!) {
357
704
  workItem(id: $id) {
@@ -1 +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"}
1
+ {"version":3,"file":"workItems.js","sourceRoot":"","sources":["../../src/graphql/workItems.ts"],"names":[],"mappings":"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"}
package/dist/handlers.js CHANGED
@@ -50,11 +50,55 @@ async function setupHandlers(server) {
50
50
  const { RegistryManager } = await Promise.resolve().then(() => __importStar(require('./registry-manager')));
51
51
  const registryManager = RegistryManager.getInstance();
52
52
  const tools = registryManager.getAllToolDefinitions();
53
+ function resolveRefs(schema, rootSchema) {
54
+ if (!schema || typeof schema !== 'object')
55
+ return schema;
56
+ rootSchema ??= schema;
57
+ if (Array.isArray(schema)) {
58
+ return schema.map((item) => resolveRefs(item, rootSchema));
59
+ }
60
+ if (schema.$ref && typeof schema.$ref === 'string') {
61
+ const refPath = schema.$ref.replace('#/properties/', '');
62
+ const referencedProperty = rootSchema.properties?.[refPath];
63
+ if (referencedProperty) {
64
+ const resolvedRef = resolveRefs(referencedProperty, rootSchema);
65
+ const schemaWithoutRef = { ...schema };
66
+ delete schemaWithoutRef.$ref;
67
+ return { ...resolvedRef, ...schemaWithoutRef };
68
+ }
69
+ const schemaWithoutRef = { ...schema };
70
+ delete schemaWithoutRef.$ref;
71
+ return schemaWithoutRef;
72
+ }
73
+ const result = {};
74
+ for (const [key, value] of Object.entries(schema)) {
75
+ if (key === 'properties' && typeof value === 'object' && value !== null) {
76
+ const resolvedProperties = {};
77
+ for (const [propKey, propValue] of Object.entries(value)) {
78
+ resolvedProperties[propKey] = resolveRefs(propValue, rootSchema);
79
+ }
80
+ result[key] = resolvedProperties;
81
+ }
82
+ else if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
83
+ result[key] = resolveRefs(value, rootSchema);
84
+ }
85
+ else {
86
+ result[key] = value;
87
+ }
88
+ }
89
+ return result;
90
+ }
53
91
  const modifiedTools = tools.map((tool) => {
54
92
  let inputSchema = tool.inputSchema;
55
93
  if (inputSchema && typeof inputSchema === 'object') {
56
94
  inputSchema = { ...inputSchema, type: 'object' };
57
95
  }
96
+ if (inputSchema && typeof inputSchema === 'object') {
97
+ const resolved = resolveRefs(inputSchema);
98
+ if (resolved && typeof resolved === 'object' && !Array.isArray(resolved)) {
99
+ inputSchema = resolved;
100
+ }
101
+ }
58
102
  if (inputSchema && typeof inputSchema === 'object' && '$schema' in inputSchema) {
59
103
  const cleanedSchema = { ...inputSchema };
60
104
  delete cleanedSchema.$schema;
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ declare class RegistryManager {
19
19
  executeTool(toolName: string, args: unknown): Promise<unknown>;
20
20
  refreshCache(): void;
21
21
  getAllToolDefinitions(): ToolDefinition[];
22
+ getAllToolDefinitionsTierless(): EnhancedToolDefinition[];
22
23
  hasToolHandler(toolName: string): boolean;
23
24
  getAvailableToolNames(): string[];
24
25
  }
@@ -164,6 +164,60 @@ class RegistryManager {
164
164
  }
165
165
  return this.toolDefinitionsCache;
166
166
  }
167
+ getAllToolDefinitionsTierless() {
168
+ const allTools = [];
169
+ const isReadOnly = process.env.GITLAB_READ_ONLY_MODE === 'true';
170
+ const deniedRegex = process.env.GITLAB_DENIED_TOOLS_REGEX
171
+ ? new RegExp(process.env.GITLAB_DENIED_TOOLS_REGEX)
172
+ : undefined;
173
+ const useLabels = process.env.USE_LABELS !== 'false';
174
+ const useMrs = process.env.USE_MRS !== 'false';
175
+ const useFiles = process.env.USE_FILES !== 'false';
176
+ const useMilestone = process.env.USE_MILESTONE !== 'false';
177
+ const usePipeline = process.env.USE_PIPELINE !== 'false';
178
+ const useVariables = process.env.USE_VARIABLES !== 'false';
179
+ const useWiki = process.env.USE_GITLAB_WIKI !== 'false';
180
+ const useWorkitems = process.env.USE_WORKITEMS !== 'false';
181
+ const registriesToUse = new Map();
182
+ registriesToUse.set('core', registry_1.coreToolRegistry);
183
+ if (useLabels)
184
+ registriesToUse.set('labels', registry_2.labelsToolRegistry);
185
+ if (useMrs)
186
+ registriesToUse.set('mrs', registry_3.mrsToolRegistry);
187
+ if (useFiles)
188
+ registriesToUse.set('files', registry_4.filesToolRegistry);
189
+ if (useMilestone)
190
+ registriesToUse.set('milestones', registry_5.milestonesToolRegistry);
191
+ if (usePipeline)
192
+ registriesToUse.set('pipelines', registry_6.pipelinesToolRegistry);
193
+ if (useVariables)
194
+ registriesToUse.set('variables', registry_7.variablesToolRegistry);
195
+ if (useWiki)
196
+ registriesToUse.set('wiki', registry_8.wikiToolRegistry);
197
+ if (useWorkitems)
198
+ registriesToUse.set('workitems', registry_9.workitemsToolRegistry);
199
+ const descOverrides = (0, config_1.getToolDescriptionOverrides)();
200
+ for (const registry of registriesToUse.values()) {
201
+ for (const [toolName, tool] of registry) {
202
+ if (isReadOnly && !this.getReadOnlyTools().includes(toolName)) {
203
+ continue;
204
+ }
205
+ if (deniedRegex?.test(toolName)) {
206
+ continue;
207
+ }
208
+ let finalTool = tool;
209
+ const customDescription = descOverrides.get(toolName);
210
+ if (customDescription) {
211
+ finalTool = {
212
+ ...tool,
213
+ description: customDescription,
214
+ };
215
+ }
216
+ allTools.push(finalTool);
217
+ }
218
+ }
219
+ return allTools;
220
+ }
167
221
  hasToolHandler(toolName) {
168
222
  return this.toolLookupCache.has(toolName);
169
223
  }