@structured-world/gitlab-mcp 6.7.0 → 6.9.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 (115) hide show
  1. package/LICENSE +202 -21
  2. package/LICENSE.MIT +21 -0
  3. package/README.md +182 -3
  4. package/dist/src/config.d.ts +6 -0
  5. package/dist/src/config.js +89 -1
  6. package/dist/src/config.js.map +1 -1
  7. package/dist/src/entities/core/registry.js +68 -63
  8. package/dist/src/entities/core/registry.js.map +1 -1
  9. package/dist/src/entities/core/schema-readonly.d.ts +93 -36
  10. package/dist/src/entities/core/schema-readonly.js +146 -121
  11. package/dist/src/entities/core/schema-readonly.js.map +1 -1
  12. package/dist/src/entities/core/schema.d.ts +33 -23
  13. package/dist/src/entities/core/schema.js +65 -60
  14. package/dist/src/entities/core/schema.js.map +1 -1
  15. package/dist/src/entities/files/registry.js +14 -21
  16. package/dist/src/entities/files/registry.js.map +1 -1
  17. package/dist/src/entities/files/schema-readonly.d.ts +8 -7
  18. package/dist/src/entities/files/schema-readonly.js +20 -25
  19. package/dist/src/entities/files/schema-readonly.js.map +1 -1
  20. package/dist/src/entities/files/schema.d.ts +22 -15
  21. package/dist/src/entities/files/schema.js +32 -73
  22. package/dist/src/entities/files/schema.js.map +1 -1
  23. package/dist/src/entities/integrations/index.d.ts +7 -0
  24. package/dist/src/entities/integrations/index.js +31 -0
  25. package/dist/src/entities/integrations/index.js.map +1 -0
  26. package/dist/src/entities/integrations/registry.d.ts +5 -0
  27. package/dist/src/entities/integrations/registry.js +120 -0
  28. package/dist/src/entities/integrations/registry.js.map +1 -0
  29. package/dist/src/entities/integrations/schema-readonly.d.ts +7 -0
  30. package/dist/src/entities/integrations/schema-readonly.js +10 -0
  31. package/dist/src/entities/integrations/schema-readonly.js.map +1 -0
  32. package/dist/src/entities/integrations/schema.d.ts +235 -0
  33. package/dist/src/entities/integrations/schema.js +112 -0
  34. package/dist/src/entities/integrations/schema.js.map +1 -0
  35. package/dist/src/entities/labels/registry.js +8 -7
  36. package/dist/src/entities/labels/registry.js.map +1 -1
  37. package/dist/src/entities/labels/schema-readonly.d.ts +8 -7
  38. package/dist/src/entities/labels/schema-readonly.js +20 -18
  39. package/dist/src/entities/labels/schema-readonly.js.map +1 -1
  40. package/dist/src/entities/labels/schema.d.ts +15 -8
  41. package/dist/src/entities/labels/schema.js +36 -27
  42. package/dist/src/entities/labels/schema.js.map +1 -1
  43. package/dist/src/entities/milestones/registry.js +7 -8
  44. package/dist/src/entities/milestones/registry.js.map +1 -1
  45. package/dist/src/entities/milestones/schema-readonly.d.ts +25 -10
  46. package/dist/src/entities/milestones/schema-readonly.js +47 -26
  47. package/dist/src/entities/milestones/schema-readonly.js.map +1 -1
  48. package/dist/src/entities/milestones/schema.d.ts +19 -9
  49. package/dist/src/entities/milestones/schema.js +31 -20
  50. package/dist/src/entities/milestones/schema.js.map +1 -1
  51. package/dist/src/entities/mrs/registry.js +75 -79
  52. package/dist/src/entities/mrs/registry.js.map +1 -1
  53. package/dist/src/entities/mrs/schema-readonly.d.ts +36 -23
  54. package/dist/src/entities/mrs/schema-readonly.js +197 -338
  55. package/dist/src/entities/mrs/schema-readonly.js.map +1 -1
  56. package/dist/src/entities/mrs/schema.d.ts +113 -37
  57. package/dist/src/entities/mrs/schema.js +140 -258
  58. package/dist/src/entities/mrs/schema.js.map +1 -1
  59. package/dist/src/entities/pipelines/registry.js +10 -4
  60. package/dist/src/entities/pipelines/registry.js.map +1 -1
  61. package/dist/src/entities/pipelines/schema-readonly.d.ts +30 -14
  62. package/dist/src/entities/pipelines/schema-readonly.js +62 -52
  63. package/dist/src/entities/pipelines/schema-readonly.js.map +1 -1
  64. package/dist/src/entities/pipelines/schema.d.ts +23 -16
  65. package/dist/src/entities/pipelines/schema.js +44 -26
  66. package/dist/src/entities/pipelines/schema.js.map +1 -1
  67. package/dist/src/entities/snippets/registry.js +79 -67
  68. package/dist/src/entities/snippets/registry.js.map +1 -1
  69. package/dist/src/entities/snippets/schema-readonly.d.ts +8 -9
  70. package/dist/src/entities/snippets/schema-readonly.js +30 -35
  71. package/dist/src/entities/snippets/schema-readonly.js.map +1 -1
  72. package/dist/src/entities/snippets/schema.d.ts +7 -11
  73. package/dist/src/entities/snippets/schema.js +31 -65
  74. package/dist/src/entities/snippets/schema.js.map +1 -1
  75. package/dist/src/entities/variables/registry.js +9 -5
  76. package/dist/src/entities/variables/registry.js.map +1 -1
  77. package/dist/src/entities/variables/schema-readonly.d.ts +9 -9
  78. package/dist/src/entities/variables/schema-readonly.js +22 -18
  79. package/dist/src/entities/variables/schema-readonly.js.map +1 -1
  80. package/dist/src/entities/variables/schema.d.ts +24 -7
  81. package/dist/src/entities/variables/schema.js +67 -38
  82. package/dist/src/entities/variables/schema.js.map +1 -1
  83. package/dist/src/entities/webhooks/registry.js +48 -46
  84. package/dist/src/entities/webhooks/registry.js.map +1 -1
  85. package/dist/src/entities/webhooks/schema-readonly.d.ts +9 -8
  86. package/dist/src/entities/webhooks/schema-readonly.js +14 -9
  87. package/dist/src/entities/webhooks/schema-readonly.js.map +1 -1
  88. package/dist/src/entities/webhooks/schema.d.ts +79 -26
  89. package/dist/src/entities/webhooks/schema.js +70 -61
  90. package/dist/src/entities/webhooks/schema.js.map +1 -1
  91. package/dist/src/entities/wiki/registry.js +7 -4
  92. package/dist/src/entities/wiki/registry.js.map +1 -1
  93. package/dist/src/entities/wiki/schema-readonly.d.ts +7 -7
  94. package/dist/src/entities/wiki/schema-readonly.js +11 -15
  95. package/dist/src/entities/wiki/schema-readonly.js.map +1 -1
  96. package/dist/src/entities/wiki/schema.d.ts +19 -8
  97. package/dist/src/entities/wiki/schema.js +32 -29
  98. package/dist/src/entities/wiki/schema.js.map +1 -1
  99. package/dist/src/entities/workitems/registry.js +7 -8
  100. package/dist/src/entities/workitems/registry.js.map +1 -1
  101. package/dist/src/entities/workitems/schema-readonly.d.ts +7 -8
  102. package/dist/src/entities/workitems/schema-readonly.js +12 -14
  103. package/dist/src/entities/workitems/schema-readonly.js.map +1 -1
  104. package/dist/src/entities/workitems/schema.d.ts +17 -11
  105. package/dist/src/entities/workitems/schema.js +25 -25
  106. package/dist/src/entities/workitems/schema.js.map +1 -1
  107. package/dist/src/registry-manager.js +32 -11
  108. package/dist/src/registry-manager.js.map +1 -1
  109. package/dist/src/utils/schema-utils.d.ts +28 -0
  110. package/dist/src/utils/schema-utils.js +244 -0
  111. package/dist/src/utils/schema-utils.js.map +1 -0
  112. package/dist/structured-world-gitlab-mcp-6.9.0.tgz +0 -0
  113. package/dist/tsconfig.build.tsbuildinfo +1 -1
  114. package/package.json +2 -2
  115. package/dist/structured-world-gitlab-mcp-6.7.0.tgz +0 -0
@@ -27,13 +27,12 @@ exports.WorkItemStateEventSchema = zod_1.z
27
27
  .transform(val => val.toUpperCase())
28
28
  .pipe(zod_1.z.enum(["CLOSE", "REOPEN"]))
29
29
  .describe("State event for updating work item");
30
- exports.BrowseWorkItemsSchema = zod_1.z
31
- .object({
32
- action: zod_1.z.enum(["list", "get"]).describe("Action to perform: list or get"),
30
+ const workItemIdField = exports.WorkItemIdSchema.describe("Work item ID to retrieve");
31
+ const ListWorkItemsSchema = zod_1.z.object({
32
+ action: zod_1.z.literal("list").describe("List work items with filtering"),
33
33
  namespace: zod_1.z
34
34
  .string()
35
- .optional()
36
- .describe("Namespace path (group or project). Groups return epics, projects return issues/tasks. Required for 'list' action."),
35
+ .describe("Namespace path (group or project). Groups return epics, projects return issues/tasks."),
37
36
  types: zod_1.z.array(exports.WorkItemTypeEnumSchema).optional().describe("Filter by work item types"),
38
37
  state: zod_1.z
39
38
  .array(exports.WorkItemStateSchema)
@@ -50,14 +49,13 @@ exports.BrowseWorkItemsSchema = zod_1.z
50
49
  .optional()
51
50
  .default(true)
52
51
  .describe("Return simplified structure with essential fields only. RECOMMENDED: Use default true for most cases."),
53
- id: exports.WorkItemIdSchema.optional().describe("Work item ID to retrieve. Required for 'get' action."),
54
- })
55
- .refine(data => data.action !== "list" || data.namespace !== undefined, {
56
- message: "namespace is required for 'list' action",
57
- path: ["namespace"],
58
- })
59
- .refine(data => data.action !== "get" || data.id !== undefined, {
60
- message: "id is required for 'get' action",
61
- path: ["id"],
62
52
  });
53
+ const GetWorkItemSchema = zod_1.z.object({
54
+ action: zod_1.z.literal("get").describe("Get single work item details"),
55
+ id: workItemIdField,
56
+ });
57
+ exports.BrowseWorkItemsSchema = zod_1.z.discriminatedUnion("action", [
58
+ ListWorkItemsSchema,
59
+ GetWorkItemSchema,
60
+ ]);
63
61
  //# sourceMappingURL=schema-readonly.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-readonly.js","sourceRoot":"","sources":["../../../../src/entities/workitems/schema-readonly.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAMX,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAE9D,QAAA,sBAAsB,GAAG,OAAC;KACpC,MAAM,EAAE;KACR,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACxD,IAAI,CACH,OAAC,CAAC,IAAI,CAAC;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,UAAU;IACV,WAAW;IACX,aAAa;IACb,WAAW;IACX,YAAY;CACb,CAAC,CACH;KACA,QAAQ,CAAC,mBAAmB,CAAC,CAAC;AAEpB,QAAA,mBAAmB,GAAG,OAAC;KACjC,MAAM,EAAE;KACR,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;KACnC,IAAI,CAAC,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;KAChC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAErB,QAAA,wBAAwB,GAAG,OAAC;KACtC,MAAM,EAAE;KACR,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;KACnC,IAAI,CAAC,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;KACjC,QAAQ,CAAC,oCAAoC,CAAC,CAAC;AASrC,QAAA,qBAAqB,GAAG,OAAC;KACnC,MAAM,CAAC;IACN,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAE1E,SAAS,EAAE,OAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,mHAAmH,CACpH;IACH,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,8BAAsB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACvF,KAAK,EAAE,OAAC;SACL,KAAK,CAAC,2BAAmB,CAAC;SAC1B,QAAQ,EAAE;SACV,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;SACjB,QAAQ,CACP,+FAA+F,CAChG;IACH,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAC9E,KAAK,EAAE,OAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8DAA8D,CAAC;IAC3E,MAAM,EAAE,OAAC;SACN,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CACP,uGAAuG,CACxG;IAEH,EAAE,EAAE,wBAAgB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACtC,sDAAsD,CACvD;CACF,CAAC;KACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;IACtE,OAAO,EAAE,yCAAyC;IAClD,IAAI,EAAE,CAAC,WAAW,CAAC;CACpB,CAAC;KACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE;IAC9D,OAAO,EAAE,iCAAiC;IAC1C,IAAI,EAAE,CAAC,IAAI,CAAC;CACb,CAAC,CAAC"}
1
+ {"version":3,"file":"schema-readonly.js","sourceRoot":"","sources":["../../../../src/entities/workitems/schema-readonly.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAMX,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAE9D,QAAA,sBAAsB,GAAG,OAAC;KACpC,MAAM,EAAE;KACR,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACxD,IAAI,CACH,OAAC,CAAC,IAAI,CAAC;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,UAAU;IACV,WAAW;IACX,aAAa;IACb,WAAW;IACX,YAAY;CACb,CAAC,CACH;KACA,QAAQ,CAAC,mBAAmB,CAAC,CAAC;AAEpB,QAAA,mBAAmB,GAAG,OAAC;KACjC,MAAM,EAAE;KACR,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;KACnC,IAAI,CAAC,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;KAChC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAErB,QAAA,wBAAwB,GAAG,OAAC;KACtC,MAAM,EAAE;KACR,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;KACnC,IAAI,CAAC,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;KACjC,QAAQ,CAAC,oCAAoC,CAAC,CAAC;AAUlD,MAAM,eAAe,GAAG,wBAAgB,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AAG9E,MAAM,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACpE,SAAS,EAAE,OAAC;SACT,MAAM,EAAE;SACR,QAAQ,CACP,uFAAuF,CACxF;IACH,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,8BAAsB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACvF,KAAK,EAAE,OAAC;SACL,KAAK,CAAC,2BAAmB,CAAC;SAC1B,QAAQ,EAAE;SACV,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;SACjB,QAAQ,CACP,+FAA+F,CAChG;IACH,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAC9E,KAAK,EAAE,OAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8DAA8D,CAAC;IAC3E,MAAM,EAAE,OAAC;SACN,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CACP,uGAAuG,CACxG;CACJ,CAAC,CAAC;AAGH,MAAM,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACjC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACjE,EAAE,EAAE,eAAe;CACpB,CAAC,CAAC;AAGU,QAAA,qBAAqB,GAAG,OAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IAClE,mBAAmB;IACnB,iBAAiB;CAClB,CAAC,CAAC"}
@@ -1,12 +1,8 @@
1
1
  import { z } from "zod";
2
- export declare const ManageWorkItemSchema: z.ZodObject<{
3
- action: z.ZodEnum<{
4
- create: "create";
5
- update: "update";
6
- delete: "delete";
7
- }>;
8
- namespace: z.ZodOptional<z.ZodString>;
9
- workItemType: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodEnum<{
2
+ export declare const ManageWorkItemSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3
+ action: z.ZodLiteral<"create">;
4
+ namespace: z.ZodString;
5
+ workItemType: z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodEnum<{
10
6
  OBJECTIVE: "OBJECTIVE";
11
7
  KEY_RESULT: "KEY_RESULT";
12
8
  REQUIREMENT: "REQUIREMENT";
@@ -15,7 +11,15 @@ export declare const ManageWorkItemSchema: z.ZodObject<{
15
11
  TEST_CASE: "TEST_CASE";
16
12
  TASK: "TASK";
17
13
  EPIC: "EPIC";
18
- }>>>;
14
+ }>>;
15
+ title: z.ZodString;
16
+ description: z.ZodOptional<z.ZodString>;
17
+ assigneeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
18
+ labelIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
19
+ milestoneId: z.ZodOptional<z.ZodString>;
20
+ }, z.core.$strip>, z.ZodObject<{
21
+ action: z.ZodLiteral<"update">;
22
+ id: z.ZodString;
19
23
  title: z.ZodOptional<z.ZodString>;
20
24
  description: z.ZodOptional<z.ZodString>;
21
25
  assigneeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -25,6 +29,8 @@ export declare const ManageWorkItemSchema: z.ZodObject<{
25
29
  CLOSE: "CLOSE";
26
30
  REOPEN: "REOPEN";
27
31
  }>>>;
28
- id: z.ZodOptional<z.ZodString>;
29
- }, z.core.$strip>;
32
+ }, z.core.$strip>, z.ZodObject<{
33
+ action: z.ZodLiteral<"delete">;
34
+ id: z.ZodString;
35
+ }, z.core.$strip>], "action">;
30
36
  export type ManageWorkItemInput = z.infer<typeof ManageWorkItemSchema>;
@@ -3,36 +3,36 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ManageWorkItemSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const schema_readonly_1 = require("./schema-readonly");
6
- exports.ManageWorkItemSchema = zod_1.z
7
- .object({
8
- action: zod_1.z.enum(["create", "update", "delete"]).describe("Action to perform"),
6
+ const workItemIdField = schema_readonly_1.WorkItemIdSchema.describe("Work item ID");
7
+ const CreateWorkItemSchema = zod_1.z.object({
8
+ action: zod_1.z.literal("create").describe("Create a new work item"),
9
9
  namespace: zod_1.z
10
10
  .string()
11
- .optional()
12
- .describe('CRITICAL: Namespace path (group OR project). For Epics use GROUP path (e.g. "my-group"). For Issues/Tasks use PROJECT path (e.g. "my-group/my-project"). Required for "create" action.'),
13
- workItemType: schema_readonly_1.WorkItemTypeEnumSchema.optional().describe("Type of work item. Required for 'create' action."),
14
- title: zod_1.z.string().optional().describe("Title of the work item. Required for 'create' action."),
11
+ .describe('CRITICAL: Namespace path (group OR project). For Epics use GROUP path (e.g. "my-group"). For Issues/Tasks use PROJECT path (e.g. "my-group/my-project").'),
12
+ workItemType: schema_readonly_1.WorkItemTypeEnumSchema.describe("Type of work item"),
13
+ title: zod_1.z.string().describe("Title of the work item"),
15
14
  description: zod_1.z.string().optional().describe("Description of the work item"),
16
15
  assigneeIds: zod_1.z.array(zod_1.z.string()).optional().describe("Array of assignee user IDs"),
17
16
  labelIds: zod_1.z.array(zod_1.z.string()).optional().describe("Array of label IDs"),
18
17
  milestoneId: zod_1.z.string().optional().describe("Milestone ID"),
19
- state: schema_readonly_1.WorkItemStateEventSchema.optional().describe("State event for the work item (CLOSE, REOPEN). Only for 'update' action."),
20
- id: schema_readonly_1.WorkItemIdSchema.optional().describe("Work item ID. Required for 'update' and 'delete' actions."),
21
- })
22
- .refine(data => data.action !== "create" || data.namespace !== undefined, {
23
- message: "namespace is required for 'create' action",
24
- path: ["namespace"],
25
- })
26
- .refine(data => data.action !== "create" || data.title !== undefined, {
27
- message: "title is required for 'create' action",
28
- path: ["title"],
29
- })
30
- .refine(data => data.action !== "create" || data.workItemType !== undefined, {
31
- message: "workItemType is required for 'create' action",
32
- path: ["workItemType"],
33
- })
34
- .refine(data => data.action === "create" || data.id !== undefined, {
35
- message: "id is required for 'update' and 'delete' actions",
36
- path: ["id"],
37
18
  });
19
+ const UpdateWorkItemSchema = zod_1.z.object({
20
+ action: zod_1.z.literal("update").describe("Update an existing work item"),
21
+ id: workItemIdField,
22
+ title: zod_1.z.string().optional().describe("Title of the work item"),
23
+ description: zod_1.z.string().optional().describe("Description of the work item"),
24
+ assigneeIds: zod_1.z.array(zod_1.z.string()).optional().describe("Array of assignee user IDs"),
25
+ labelIds: zod_1.z.array(zod_1.z.string()).optional().describe("Array of label IDs"),
26
+ milestoneId: zod_1.z.string().optional().describe("Milestone ID"),
27
+ state: schema_readonly_1.WorkItemStateEventSchema.optional().describe("State event for the work item (CLOSE, REOPEN)"),
28
+ });
29
+ const DeleteWorkItemSchema = zod_1.z.object({
30
+ action: zod_1.z.literal("delete").describe("Delete a work item"),
31
+ id: workItemIdField,
32
+ });
33
+ exports.ManageWorkItemSchema = zod_1.z.discriminatedUnion("action", [
34
+ CreateWorkItemSchema,
35
+ UpdateWorkItemSchema,
36
+ DeleteWorkItemSchema,
37
+ ]);
38
38
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/entities/workitems/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,uDAI2B;AAoCd,QAAA,oBAAoB,GAAG,OAAC;KAClC,MAAM,CAAC;IACN,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAE5E,SAAS,EAAE,OAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,wLAAwL,CACzL;IACH,YAAY,EAAE,wCAAsB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACtD,kDAAkD,CACnD;IAED,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;IAC9F,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC3E,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IAClF,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACvE,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IAE3D,KAAK,EAAE,0CAAwB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACjD,0EAA0E,CAC3E;IAED,EAAE,EAAE,kCAAgB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACtC,2DAA2D,CAC5D;CACF,CAAC;KACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;IACxE,OAAO,EAAE,2CAA2C;IACpD,IAAI,EAAE,CAAC,WAAW,CAAC;CACpB,CAAC;KACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;IACpE,OAAO,EAAE,uCAAuC;IAChD,IAAI,EAAE,CAAC,OAAO,CAAC;CAChB,CAAC;KACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE;IAC3E,OAAO,EAAE,8CAA8C;IACvD,IAAI,EAAE,CAAC,cAAc,CAAC;CACvB,CAAC;KACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE;IACjE,OAAO,EAAE,kDAAkD;IAC3D,IAAI,EAAE,CAAC,IAAI,CAAC;CACb,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/entities/workitems/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,uDAI2B;AAqC3B,MAAM,eAAe,GAAG,kCAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAGlE,MAAM,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAC9D,SAAS,EAAE,OAAC;SACT,MAAM,EAAE;SACR,QAAQ,CACP,0JAA0J,CAC3J;IACH,YAAY,EAAE,wCAAsB,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAClE,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACpD,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC3E,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IAClF,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACvE,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;CAC5D,CAAC,CAAC;AAGH,MAAM,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACpE,EAAE,EAAE,eAAe;IACnB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAC/D,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC3E,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IAClF,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACvE,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IAC3D,KAAK,EAAE,0CAAwB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACjD,+CAA+C,CAChD;CACF,CAAC,CAAC;AAGH,MAAM,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC1D,EAAE,EAAE,eAAe;CACpB,CAAC,CAAC;AAGU,QAAA,oBAAoB,GAAG,OAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IACjE,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;CACrB,CAAC,CAAC"}
@@ -12,9 +12,11 @@ const registry_8 = require("./entities/wiki/registry");
12
12
  const registry_9 = require("./entities/workitems/registry");
13
13
  const registry_10 = require("./entities/webhooks/registry");
14
14
  const registry_11 = require("./entities/snippets/registry");
15
+ const registry_12 = require("./entities/integrations/registry");
15
16
  const config_1 = require("./config");
16
17
  const ToolAvailability_1 = require("./services/ToolAvailability");
17
18
  const logger_1 = require("./logger");
19
+ const schema_utils_1 = require("./utils/schema-utils");
18
20
  class RegistryManager {
19
21
  static instance;
20
22
  registries = new Map();
@@ -66,6 +68,9 @@ class RegistryManager {
66
68
  if (config_1.USE_WEBHOOKS) {
67
69
  this.registries.set("webhooks", registry_10.webhooksToolRegistry);
68
70
  }
71
+ if (config_1.USE_INTEGRATIONS) {
72
+ this.registries.set("integrations", registry_12.integrationsToolRegistry);
73
+ }
69
74
  }
70
75
  loadDescriptionOverrides() {
71
76
  this.descriptionOverrides = (0, config_1.getToolDescriptionOverrides)();
@@ -109,6 +114,9 @@ class RegistryManager {
109
114
  if (config_1.USE_WEBHOOKS) {
110
115
  readOnlyTools.push(...(0, registry_10.getWebhooksReadOnlyToolNames)());
111
116
  }
117
+ if (config_1.USE_INTEGRATIONS) {
118
+ readOnlyTools.push(...(0, registry_12.getIntegrationsReadOnlyToolNames)());
119
+ }
112
120
  return readOnlyTools;
113
121
  }
114
122
  getReadOnlyTools() {
@@ -132,13 +140,20 @@ class RegistryManager {
132
140
  logger_1.logger.debug(`Tool '${toolName}' filtered out: ${reason}`);
133
141
  continue;
134
142
  }
143
+ const allActions = (0, schema_utils_1.extractActionsFromSchema)(tool.inputSchema);
144
+ if (allActions.length > 0 && (0, schema_utils_1.shouldRemoveTool)(toolName, allActions)) {
145
+ logger_1.logger.debug(`Tool '${toolName}' filtered out: all actions denied`);
146
+ continue;
147
+ }
135
148
  let finalTool = tool;
149
+ const transformedSchema = (0, schema_utils_1.transformToolSchema)(toolName, tool.inputSchema);
136
150
  const customDescription = this.descriptionOverrides.get(toolName);
151
+ finalTool = {
152
+ ...tool,
153
+ inputSchema: transformedSchema,
154
+ ...(customDescription && { description: customDescription }),
155
+ };
137
156
  if (customDescription) {
138
- finalTool = {
139
- ...tool,
140
- description: customDescription,
141
- };
142
157
  logger_1.logger.debug(`Applied description override for '${toolName}': "${customDescription}"`);
143
158
  }
144
159
  this.toolLookupCache.set(toolName, finalTool);
@@ -194,6 +209,7 @@ class RegistryManager {
194
209
  const useWorkitems = process.env.USE_WORKITEMS !== "false";
195
210
  const useSnippets = process.env.USE_SNIPPETS !== "false";
196
211
  const useWebhooks = process.env.USE_WEBHOOKS !== "false";
212
+ const useIntegrations = process.env.USE_INTEGRATIONS !== "false";
197
213
  const registriesToUse = new Map();
198
214
  registriesToUse.set("core", registry_1.coreToolRegistry);
199
215
  if (useLabels)
@@ -216,6 +232,8 @@ class RegistryManager {
216
232
  registriesToUse.set("snippets", registry_11.snippetsToolRegistry);
217
233
  if (useWebhooks)
218
234
  registriesToUse.set("webhooks", registry_10.webhooksToolRegistry);
235
+ if (useIntegrations)
236
+ registriesToUse.set("integrations", registry_12.integrationsToolRegistry);
219
237
  const descOverrides = (0, config_1.getToolDescriptionOverrides)();
220
238
  for (const registry of registriesToUse.values()) {
221
239
  for (const [toolName, tool] of registry) {
@@ -225,14 +243,17 @@ class RegistryManager {
225
243
  if (deniedRegex?.test(toolName)) {
226
244
  continue;
227
245
  }
228
- let finalTool = tool;
229
- const customDescription = descOverrides.get(toolName);
230
- if (customDescription) {
231
- finalTool = {
232
- ...tool,
233
- description: customDescription,
234
- };
246
+ const allActions = (0, schema_utils_1.extractActionsFromSchema)(tool.inputSchema);
247
+ if (allActions.length > 0 && (0, schema_utils_1.shouldRemoveTool)(toolName, allActions)) {
248
+ continue;
235
249
  }
250
+ const transformedSchema = (0, schema_utils_1.transformToolSchema)(toolName, tool.inputSchema);
251
+ const customDescription = descOverrides.get(toolName);
252
+ const finalTool = {
253
+ ...tool,
254
+ inputSchema: transformedSchema,
255
+ ...(customDescription && { description: customDescription }),
256
+ };
236
257
  allTools.push(finalTool);
237
258
  }
238
259
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registry-manager.js","sourceRoot":"","sources":["../../src/registry-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry-manager.js","sourceRoot":"","sources":["../../src/registry-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ interface JSONSchemaProperty {
2
+ type?: string;
3
+ enum?: string[];
4
+ const?: string;
5
+ description?: string;
6
+ [key: string]: unknown;
7
+ }
8
+ interface JSONSchema {
9
+ type?: string;
10
+ properties?: Record<string, JSONSchemaProperty>;
11
+ required?: string[];
12
+ description?: string;
13
+ oneOf?: JSONSchema[];
14
+ anyOf?: JSONSchema[];
15
+ allOf?: JSONSchema[];
16
+ discriminator?: {
17
+ propertyName: string;
18
+ };
19
+ $schema?: string;
20
+ [key: string]: unknown;
21
+ }
22
+ export declare function filterDiscriminatedUnionActions(schema: JSONSchema, toolName: string): JSONSchema;
23
+ export declare function flattenDiscriminatedUnion(schema: JSONSchema): JSONSchema;
24
+ export declare function applyDescriptionOverrides(schema: JSONSchema, toolName: string): JSONSchema;
25
+ export declare function transformToolSchema(toolName: string, inputSchema: JSONSchema): JSONSchema;
26
+ export declare function shouldRemoveTool(toolName: string, allActions: string[]): boolean;
27
+ export declare function extractActionsFromSchema(inputSchema: JSONSchema): string[];
28
+ export {};
@@ -0,0 +1,244 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.filterDiscriminatedUnionActions = filterDiscriminatedUnionActions;
4
+ exports.flattenDiscriminatedUnion = flattenDiscriminatedUnion;
5
+ exports.applyDescriptionOverrides = applyDescriptionOverrides;
6
+ exports.transformToolSchema = transformToolSchema;
7
+ exports.shouldRemoveTool = shouldRemoveTool;
8
+ exports.extractActionsFromSchema = extractActionsFromSchema;
9
+ const config_1 = require("../config");
10
+ const logger_1 = require("../logger");
11
+ function filterDiscriminatedUnionActions(schema, toolName) {
12
+ const deniedActions = config_1.GITLAB_DENIED_ACTIONS.get(toolName.toLowerCase());
13
+ if (!schema.oneOf || !deniedActions || deniedActions.size === 0) {
14
+ return schema;
15
+ }
16
+ const result = JSON.parse(JSON.stringify(schema));
17
+ const originalOneOf = result.oneOf ?? [];
18
+ result.oneOf = originalOneOf.filter(branch => {
19
+ const actionProp = branch.properties?.action;
20
+ if (!actionProp)
21
+ return true;
22
+ if (actionProp.const) {
23
+ const isAllowed = !deniedActions.has(actionProp.const.toLowerCase());
24
+ if (!isAllowed) {
25
+ logger_1.logger.debug(`Tool '${toolName}': filtered out action '${actionProp.const}' from schema`);
26
+ }
27
+ return isAllowed;
28
+ }
29
+ if (actionProp.enum?.[0]) {
30
+ const isAllowed = !deniedActions.has(actionProp.enum[0].toLowerCase());
31
+ if (!isAllowed) {
32
+ logger_1.logger.debug(`Tool '${toolName}': filtered out action '${actionProp.enum[0]}' from schema`);
33
+ }
34
+ return isAllowed;
35
+ }
36
+ return true;
37
+ });
38
+ if (result.oneOf.length === 0) {
39
+ logger_1.logger.warn(`Tool '${toolName}': all actions filtered out!`);
40
+ return { type: "object", properties: {} };
41
+ }
42
+ return result;
43
+ }
44
+ function flattenDiscriminatedUnion(schema) {
45
+ if (!schema.oneOf || schema.oneOf.length === 0) {
46
+ return schema;
47
+ }
48
+ const allProperties = {};
49
+ const propertyBranches = new Map();
50
+ const actionValues = [];
51
+ const totalBranches = schema.oneOf.length;
52
+ const requiredInAllBranches = new Set();
53
+ let firstBranch = true;
54
+ for (const branch of schema.oneOf) {
55
+ if (!branch.properties)
56
+ continue;
57
+ const branchRequired = new Set(branch.required ?? []);
58
+ for (const [propName, propDef] of Object.entries(branch.properties)) {
59
+ if (propName === "action") {
60
+ if (propDef.const) {
61
+ actionValues.push(propDef.const);
62
+ }
63
+ else if (propDef.enum) {
64
+ actionValues.push(...propDef.enum);
65
+ }
66
+ continue;
67
+ }
68
+ if (!allProperties[propName]) {
69
+ allProperties[propName] = { ...propDef };
70
+ propertyBranches.set(propName, 1);
71
+ }
72
+ else {
73
+ propertyBranches.set(propName, (propertyBranches.get(propName) ?? 0) + 1);
74
+ const existingDesc = allProperties[propName].description ?? "";
75
+ if (propDef.description && propDef.description.length > existingDesc.length) {
76
+ allProperties[propName].description = propDef.description;
77
+ }
78
+ }
79
+ if (firstBranch) {
80
+ if (branchRequired.has(propName)) {
81
+ requiredInAllBranches.add(propName);
82
+ }
83
+ }
84
+ else {
85
+ if (!branchRequired.has(propName)) {
86
+ requiredInAllBranches.delete(propName);
87
+ }
88
+ }
89
+ }
90
+ firstBranch = false;
91
+ }
92
+ const flatSchema = {
93
+ type: "object",
94
+ properties: {
95
+ action: {
96
+ type: "string",
97
+ enum: [...new Set(actionValues)],
98
+ description: `Action to perform: ${[...new Set(actionValues)].join(", ")}`,
99
+ },
100
+ ...allProperties,
101
+ },
102
+ required: ["action", ...Array.from(requiredInAllBranches)],
103
+ };
104
+ for (const [propName, count] of propertyBranches) {
105
+ if (count < totalBranches && allProperties[propName]) {
106
+ const actionsUsingProp = [];
107
+ for (const branch of schema.oneOf) {
108
+ if (branch.properties?.[propName]) {
109
+ const actionProp = branch.properties.action;
110
+ if (actionProp?.const) {
111
+ actionsUsingProp.push(actionProp.const);
112
+ }
113
+ else if (actionProp?.enum?.[0]) {
114
+ actionsUsingProp.push(actionProp.enum[0]);
115
+ }
116
+ }
117
+ }
118
+ const propRef = flatSchema.properties?.[propName];
119
+ if (propRef) {
120
+ const currentDesc = propRef.description ?? "";
121
+ if (actionsUsingProp.length > 0 && !currentDesc.includes("Required for")) {
122
+ const actionList = actionsUsingProp.map(a => `'${a}'`).join(", ");
123
+ propRef.description =
124
+ currentDesc + (currentDesc ? " " : "") + `Required for ${actionList} action(s).`;
125
+ }
126
+ }
127
+ }
128
+ }
129
+ if (schema.$schema) {
130
+ flatSchema.$schema = schema.$schema;
131
+ }
132
+ return flatSchema;
133
+ }
134
+ function applyOverridesToProperties(properties, toolName, paramOverrides, actionOverrides) {
135
+ const lowerToolName = toolName.toLowerCase();
136
+ for (const [propName, prop] of Object.entries(properties)) {
137
+ const paramKey = `${lowerToolName}:${propName.toLowerCase()}`;
138
+ const override = paramOverrides.get(paramKey);
139
+ if (override) {
140
+ prop.description = override;
141
+ logger_1.logger.debug(`Applied param override for '${toolName}.${propName}': "${override}"`);
142
+ }
143
+ if (propName === "action") {
144
+ const actionKey = `${lowerToolName}:action`;
145
+ const actionOverride = actionOverrides.get(actionKey);
146
+ if (actionOverride) {
147
+ prop.description = actionOverride;
148
+ logger_1.logger.debug(`Applied action override for '${toolName}': "${actionOverride}"`);
149
+ }
150
+ }
151
+ }
152
+ }
153
+ function applyDescriptionOverrides(schema, toolName) {
154
+ const actionOverrides = (0, config_1.getActionDescriptionOverrides)();
155
+ const paramOverrides = (0, config_1.getParamDescriptionOverrides)();
156
+ const lowerToolName = toolName.toLowerCase();
157
+ const hasOverrides = [...paramOverrides.keys(), ...actionOverrides.keys()].some(key => key.startsWith(`${lowerToolName}:`));
158
+ if (!hasOverrides) {
159
+ return schema;
160
+ }
161
+ const result = JSON.parse(JSON.stringify(schema));
162
+ if (result.oneOf) {
163
+ for (const branch of result.oneOf) {
164
+ if (branch.properties) {
165
+ applyOverridesToProperties(branch.properties, toolName, paramOverrides, actionOverrides);
166
+ }
167
+ }
168
+ return result;
169
+ }
170
+ if (result.properties) {
171
+ applyOverridesToProperties(result.properties, toolName, paramOverrides, actionOverrides);
172
+ }
173
+ return result;
174
+ }
175
+ function getSchemaFormat() {
176
+ const format = process.env.GITLAB_SCHEMA_FORMAT?.toLowerCase();
177
+ if (format === "discriminated") {
178
+ return "discriminated";
179
+ }
180
+ return "flat";
181
+ }
182
+ function transformToolSchema(toolName, inputSchema) {
183
+ let schema = inputSchema;
184
+ if (schema.oneOf) {
185
+ schema = filterDiscriminatedUnionActions(schema, toolName);
186
+ }
187
+ else if (schema.properties?.action?.enum) {
188
+ schema = filterFlatSchemaActions(schema, toolName);
189
+ }
190
+ schema = applyDescriptionOverrides(schema, toolName);
191
+ const schemaFormat = getSchemaFormat();
192
+ if (schemaFormat === "flat" && schema.oneOf) {
193
+ schema = flattenDiscriminatedUnion(schema);
194
+ }
195
+ return schema;
196
+ }
197
+ function filterFlatSchemaActions(schema, toolName) {
198
+ const deniedActions = config_1.GITLAB_DENIED_ACTIONS.get(toolName.toLowerCase());
199
+ if (!deniedActions || deniedActions.size === 0) {
200
+ return schema;
201
+ }
202
+ const result = JSON.parse(JSON.stringify(schema));
203
+ if (result.properties?.action?.enum) {
204
+ const originalActions = result.properties.action.enum;
205
+ const filteredActions = originalActions.filter(action => !deniedActions.has(action.toLowerCase()));
206
+ if (filteredActions.length === 0) {
207
+ logger_1.logger.warn(`Tool '${toolName}': all actions filtered out from flat schema!`);
208
+ }
209
+ else if (filteredActions.length < originalActions.length) {
210
+ result.properties.action.enum = filteredActions;
211
+ result.properties.action.description = `Action to perform: ${filteredActions.join(", ")}`;
212
+ logger_1.logger.debug(`Tool '${toolName}': filtered flat schema actions [${originalActions.join(", ")}] -> [${filteredActions.join(", ")}]`);
213
+ }
214
+ }
215
+ return result;
216
+ }
217
+ function shouldRemoveTool(toolName, allActions) {
218
+ const deniedActions = config_1.GITLAB_DENIED_ACTIONS.get(toolName.toLowerCase());
219
+ if (!deniedActions || deniedActions.size === 0) {
220
+ return false;
221
+ }
222
+ const allowedActions = allActions.filter(action => !deniedActions.has(action.toLowerCase()));
223
+ return allowedActions.length === 0;
224
+ }
225
+ function extractActionsFromSchema(inputSchema) {
226
+ if (inputSchema.properties?.action?.enum) {
227
+ return inputSchema.properties.action.enum;
228
+ }
229
+ if (inputSchema.oneOf) {
230
+ const actions = [];
231
+ for (const branch of inputSchema.oneOf) {
232
+ const actionProp = branch.properties?.action;
233
+ if (actionProp?.const) {
234
+ actions.push(actionProp.const);
235
+ }
236
+ else if (actionProp?.enum?.[0]) {
237
+ actions.push(actionProp.enum[0]);
238
+ }
239
+ }
240
+ return actions;
241
+ }
242
+ return [];
243
+ }
244
+ //# sourceMappingURL=schema-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-utils.js","sourceRoot":"","sources":["../../../src/utils/schema-utils.ts"],"names":[],"mappings":"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"}