@structured-world/gitlab-mcp 6.8.0 → 6.10.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 (112) hide show
  1. package/LICENSE +202 -21
  2. package/LICENSE.MIT +21 -0
  3. package/README.md +169 -1
  4. package/dist/src/cli/list-tools.d.ts +2 -0
  5. package/dist/src/cli/list-tools.js +768 -0
  6. package/dist/src/cli/list-tools.js.map +1 -0
  7. package/dist/src/config.d.ts +7 -0
  8. package/dist/src/config.js +96 -1
  9. package/dist/src/config.js.map +1 -1
  10. package/dist/src/entities/core/registry.js +68 -63
  11. package/dist/src/entities/core/registry.js.map +1 -1
  12. package/dist/src/entities/core/schema-readonly.d.ts +93 -36
  13. package/dist/src/entities/core/schema-readonly.js +146 -121
  14. package/dist/src/entities/core/schema-readonly.js.map +1 -1
  15. package/dist/src/entities/core/schema.d.ts +33 -23
  16. package/dist/src/entities/core/schema.js +65 -60
  17. package/dist/src/entities/core/schema.js.map +1 -1
  18. package/dist/src/entities/files/registry.js +14 -21
  19. package/dist/src/entities/files/registry.js.map +1 -1
  20. package/dist/src/entities/files/schema-readonly.d.ts +8 -7
  21. package/dist/src/entities/files/schema-readonly.js +20 -25
  22. package/dist/src/entities/files/schema-readonly.js.map +1 -1
  23. package/dist/src/entities/files/schema.d.ts +22 -15
  24. package/dist/src/entities/files/schema.js +32 -73
  25. package/dist/src/entities/files/schema.js.map +1 -1
  26. package/dist/src/entities/integrations/registry.js +3 -0
  27. package/dist/src/entities/integrations/registry.js.map +1 -1
  28. package/dist/src/entities/integrations/schema.d.ts +114 -8
  29. package/dist/src/entities/integrations/schema.js +27 -9
  30. package/dist/src/entities/integrations/schema.js.map +1 -1
  31. package/dist/src/entities/labels/registry.js +8 -7
  32. package/dist/src/entities/labels/registry.js.map +1 -1
  33. package/dist/src/entities/labels/schema-readonly.d.ts +8 -7
  34. package/dist/src/entities/labels/schema-readonly.js +20 -18
  35. package/dist/src/entities/labels/schema-readonly.js.map +1 -1
  36. package/dist/src/entities/labels/schema.d.ts +15 -8
  37. package/dist/src/entities/labels/schema.js +36 -27
  38. package/dist/src/entities/labels/schema.js.map +1 -1
  39. package/dist/src/entities/milestones/registry.js +7 -8
  40. package/dist/src/entities/milestones/registry.js.map +1 -1
  41. package/dist/src/entities/milestones/schema-readonly.d.ts +25 -10
  42. package/dist/src/entities/milestones/schema-readonly.js +47 -26
  43. package/dist/src/entities/milestones/schema-readonly.js.map +1 -1
  44. package/dist/src/entities/milestones/schema.d.ts +19 -9
  45. package/dist/src/entities/milestones/schema.js +31 -20
  46. package/dist/src/entities/milestones/schema.js.map +1 -1
  47. package/dist/src/entities/mrs/registry.js +75 -79
  48. package/dist/src/entities/mrs/registry.js.map +1 -1
  49. package/dist/src/entities/mrs/schema-readonly.d.ts +36 -23
  50. package/dist/src/entities/mrs/schema-readonly.js +197 -338
  51. package/dist/src/entities/mrs/schema-readonly.js.map +1 -1
  52. package/dist/src/entities/mrs/schema.d.ts +113 -37
  53. package/dist/src/entities/mrs/schema.js +140 -258
  54. package/dist/src/entities/mrs/schema.js.map +1 -1
  55. package/dist/src/entities/pipelines/registry.js +10 -4
  56. package/dist/src/entities/pipelines/registry.js.map +1 -1
  57. package/dist/src/entities/pipelines/schema-readonly.d.ts +30 -14
  58. package/dist/src/entities/pipelines/schema-readonly.js +62 -52
  59. package/dist/src/entities/pipelines/schema-readonly.js.map +1 -1
  60. package/dist/src/entities/pipelines/schema.d.ts +23 -16
  61. package/dist/src/entities/pipelines/schema.js +44 -26
  62. package/dist/src/entities/pipelines/schema.js.map +1 -1
  63. package/dist/src/entities/snippets/registry.js +79 -67
  64. package/dist/src/entities/snippets/registry.js.map +1 -1
  65. package/dist/src/entities/snippets/schema-readonly.d.ts +8 -9
  66. package/dist/src/entities/snippets/schema-readonly.js +30 -35
  67. package/dist/src/entities/snippets/schema-readonly.js.map +1 -1
  68. package/dist/src/entities/snippets/schema.d.ts +7 -11
  69. package/dist/src/entities/snippets/schema.js +31 -65
  70. package/dist/src/entities/snippets/schema.js.map +1 -1
  71. package/dist/src/entities/variables/registry.js +9 -5
  72. package/dist/src/entities/variables/registry.js.map +1 -1
  73. package/dist/src/entities/variables/schema-readonly.d.ts +9 -9
  74. package/dist/src/entities/variables/schema-readonly.js +22 -18
  75. package/dist/src/entities/variables/schema-readonly.js.map +1 -1
  76. package/dist/src/entities/variables/schema.d.ts +24 -7
  77. package/dist/src/entities/variables/schema.js +67 -38
  78. package/dist/src/entities/variables/schema.js.map +1 -1
  79. package/dist/src/entities/webhooks/registry.js +48 -46
  80. package/dist/src/entities/webhooks/registry.js.map +1 -1
  81. package/dist/src/entities/webhooks/schema-readonly.d.ts +9 -8
  82. package/dist/src/entities/webhooks/schema-readonly.js +14 -9
  83. package/dist/src/entities/webhooks/schema-readonly.js.map +1 -1
  84. package/dist/src/entities/webhooks/schema.d.ts +79 -26
  85. package/dist/src/entities/webhooks/schema.js +70 -61
  86. package/dist/src/entities/webhooks/schema.js.map +1 -1
  87. package/dist/src/entities/wiki/registry.js +7 -4
  88. package/dist/src/entities/wiki/registry.js.map +1 -1
  89. package/dist/src/entities/wiki/schema-readonly.d.ts +7 -7
  90. package/dist/src/entities/wiki/schema-readonly.js +11 -15
  91. package/dist/src/entities/wiki/schema-readonly.js.map +1 -1
  92. package/dist/src/entities/wiki/schema.d.ts +19 -8
  93. package/dist/src/entities/wiki/schema.js +32 -29
  94. package/dist/src/entities/wiki/schema.js.map +1 -1
  95. package/dist/src/entities/workitems/registry.js +7 -8
  96. package/dist/src/entities/workitems/registry.js.map +1 -1
  97. package/dist/src/entities/workitems/schema-readonly.d.ts +7 -8
  98. package/dist/src/entities/workitems/schema-readonly.js +12 -14
  99. package/dist/src/entities/workitems/schema-readonly.js.map +1 -1
  100. package/dist/src/entities/workitems/schema.d.ts +17 -11
  101. package/dist/src/entities/workitems/schema.js +25 -25
  102. package/dist/src/entities/workitems/schema.js.map +1 -1
  103. package/dist/src/registry-manager.d.ts +1 -0
  104. package/dist/src/registry-manager.js +45 -11
  105. package/dist/src/registry-manager.js.map +1 -1
  106. package/dist/src/utils/schema-utils.d.ts +28 -0
  107. package/dist/src/utils/schema-utils.js +240 -0
  108. package/dist/src/utils/schema-utils.js.map +1 -0
  109. package/dist/structured-world-gitlab-mcp-6.10.0.tgz +0 -0
  110. package/dist/tsconfig.build.tsbuildinfo +1 -1
  111. package/package.json +4 -4
  112. package/dist/structured-world-gitlab-mcp-6.8.0.tgz +0 -0
@@ -55,14 +55,12 @@ exports.IntegrationTypeSchema = zod_1.z.enum([
55
55
  "pushover",
56
56
  "squash-tm",
57
57
  ]);
58
- exports.ManageIntegrationSchema = zod_1.z
59
- .object({
60
- action: zod_1.z.enum(["get", "update", "disable"]).describe("Action to perform"),
61
- project_id: zod_1.z.string().describe("Project ID or URL-encoded path"),
62
- integration: exports.IntegrationTypeSchema.describe("Integration type slug (e.g., slack, jira, discord). Note: gitlab-slack-application cannot be created via API - it requires OAuth installation from GitLab UI."),
58
+ const projectIdField = utils_1.requiredId.describe("Project ID or URL-encoded path");
59
+ const integrationField = exports.IntegrationTypeSchema.describe("Integration type slug (e.g., slack, jira, discord). Note: gitlab-slack-application cannot be created via API - it requires OAuth installation from GitLab UI.");
60
+ const eventFields = {
63
61
  active: utils_1.flexibleBoolean
64
62
  .optional()
65
- .describe("For 'update': Enable or disable the integration without full configuration"),
63
+ .describe("Enable or disable the integration without full configuration"),
66
64
  push_events: utils_1.flexibleBoolean.optional().describe("Trigger integration on push events"),
67
65
  issues_events: utils_1.flexibleBoolean.optional().describe("Trigger integration on issue events"),
68
66
  merge_requests_events: utils_1.flexibleBoolean
@@ -74,9 +72,7 @@ exports.ManageIntegrationSchema = zod_1.z
74
72
  .optional()
75
73
  .describe("Trigger integration on confidential issue events"),
76
74
  pipeline_events: utils_1.flexibleBoolean.optional().describe("Trigger integration on pipeline events"),
77
- wiki_page_events: utils_1.flexibleBoolean
78
- .optional()
79
- .describe("Trigger integration on wiki page events"),
75
+ wiki_page_events: utils_1.flexibleBoolean.optional().describe("Trigger integration on wiki page events"),
80
76
  job_events: utils_1.flexibleBoolean.optional().describe("Trigger integration on job events"),
81
77
  deployment_events: utils_1.flexibleBoolean
82
78
  .optional()
@@ -89,6 +85,28 @@ exports.ManageIntegrationSchema = zod_1.z
89
85
  .record(zod_1.z.string(), zod_1.z.unknown())
90
86
  .optional()
91
87
  .describe("Integration-specific configuration parameters. Pass as key-value pairs. Examples: webhook_url, token, channel, etc. See GitLab API documentation for integration-specific fields."),
88
+ };
89
+ const GetIntegrationSchema = zod_1.z.object({
90
+ action: zod_1.z.literal("get").describe("Get integration settings (read-only)"),
91
+ project_id: projectIdField,
92
+ integration: integrationField,
93
+ });
94
+ const UpdateIntegrationSchema = zod_1.z
95
+ .object({
96
+ action: zod_1.z.literal("update").describe("Update or enable integration with specific config"),
97
+ project_id: projectIdField,
98
+ integration: integrationField,
99
+ ...eventFields,
92
100
  })
93
101
  .passthrough();
102
+ const DisableIntegrationSchema = zod_1.z.object({
103
+ action: zod_1.z.literal("disable").describe("Disable and remove integration"),
104
+ project_id: projectIdField,
105
+ integration: integrationField,
106
+ });
107
+ exports.ManageIntegrationSchema = zod_1.z.discriminatedUnion("action", [
108
+ GetIntegrationSchema,
109
+ UpdateIntegrationSchema,
110
+ DisableIntegrationSchema,
111
+ ]);
94
112
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/entities/integrations/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,oCAA2C;AAM9B,QAAA,qBAAqB,GAAG,OAAC,CAAC,IAAI,CAAC;IAE1C,OAAO;IACP,0BAA0B;IAC1B,sBAAsB;IACtB,SAAS;IACT,iBAAiB;IACjB,YAAY;IACZ,2BAA2B;IAC3B,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,eAAe;IACf,aAAa;IACb,eAAe;IACf,UAAU;IACV,OAAO;IAEP,MAAM;IACN,gBAAgB;IAChB,UAAU;IACV,SAAS;IACT,UAAU;IACV,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,gBAAgB;IAChB,OAAO;IACP,sBAAsB;IACtB,KAAK;IAEL,SAAS;IACT,UAAU;IACV,QAAQ;IACR,WAAW;IACX,UAAU;IACV,SAAS;IACT,SAAS;IACT,gBAAgB;IAEhB,YAAY;IACZ,eAAe;IAEf,iBAAiB;IACjB,aAAa;IACb,WAAW;IAEX,yCAAyC;IACzC,oDAAoD;IACpD,QAAQ;IAER,cAAc;IAEd,QAAQ;IACR,UAAU;IACV,gBAAgB;IAChB,iBAAiB;IACjB,UAAU;IACV,WAAW;CACZ,CAAC,CAAC;AAOU,QAAA,uBAAuB,GAAG,OAAC;KACrC,MAAM,CAAC;IACN,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC1E,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACjE,WAAW,EAAE,6BAAqB,CAAC,QAAQ,CACzC,+JAA+J,CAChK;IAGD,MAAM,EAAE,uBAAe;SACpB,QAAQ,EAAE;SACV,QAAQ,CAAC,4EAA4E,CAAC;IAGzF,WAAW,EAAE,uBAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IACtF,aAAa,EAAE,uBAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACzF,qBAAqB,EAAE,uBAAe;SACnC,QAAQ,EAAE;SACV,QAAQ,CAAC,6CAA6C,CAAC;IAC1D,eAAe,EAAE,uBAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IAC9F,WAAW,EAAE,uBAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IACtF,0BAA0B,EAAE,uBAAe;SACxC,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,eAAe,EAAE,uBAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IAC9F,gBAAgB,EAAE,uBAAe;SAC9B,QAAQ,EAAE;SACV,QAAQ,CAAC,yCAAyC,CAAC;IACtD,UAAU,EAAE,uBAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACpF,iBAAiB,EAAE,uBAAe;SAC/B,QAAQ,EAAE;SACV,QAAQ,CAAC,0CAA0C,CAAC;IACvD,eAAe,EAAE,uBAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAC7F,oBAAoB,EAAE,uBAAe;SAClC,QAAQ,EAAE;SACV,QAAQ,CAAC,6CAA6C,CAAC;IAI1D,MAAM,EAAE,OAAC;SACN,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC;SAC/B,QAAQ,EAAE;SACV,QAAQ,CACP,mLAAmL,CACpL;CACJ,CAAC;KACD,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/entities/integrations/schema.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,7 @@ const schema_readonly_1 = require("./schema-readonly");
42
42
  const schema_1 = require("./schema");
43
43
  const gitlab_api_1 = require("../../utils/gitlab-api");
44
44
  const namespace_1 = require("../../utils/namespace");
45
- const utils_1 = require("../utils");
45
+ const config_1 = require("../../config");
46
46
  exports.labelsToolRegistry = new Map([
47
47
  [
48
48
  "browse_labels",
@@ -52,15 +52,17 @@ exports.labelsToolRegistry = new Map([
52
52
  inputSchema: z.toJSONSchema(schema_readonly_1.BrowseLabelsSchema),
53
53
  handler: async (args) => {
54
54
  const input = schema_readonly_1.BrowseLabelsSchema.parse(args);
55
+ if ((0, config_1.isActionDenied)("browse_labels", input.action)) {
56
+ throw new Error(`Action '${input.action}' is not allowed for browse_labels tool`);
57
+ }
55
58
  const { entityType, encodedPath } = await (0, namespace_1.resolveNamespaceForAPI)(input.namespace);
56
59
  switch (input.action) {
57
60
  case "list": {
58
- const { action: _action, namespace: _namespace, label_id: _labelId, ...rest } = input;
61
+ const { action: _action, namespace: _namespace, ...rest } = input;
59
62
  const query = (0, gitlab_api_1.toQuery)(rest, []);
60
63
  return gitlab_api_1.gitlab.get(`${entityType}/${encodedPath}/labels`, { query });
61
64
  }
62
65
  case "get": {
63
- (0, utils_1.assertDefined)(input.label_id, "label_id");
64
66
  const query = input.include_ancestor_groups
65
67
  ? (0, gitlab_api_1.toQuery)({ include_ancestor_groups: input.include_ancestor_groups }, [])
66
68
  : undefined;
@@ -80,11 +82,12 @@ exports.labelsToolRegistry = new Map([
80
82
  inputSchema: z.toJSONSchema(schema_1.ManageLabelSchema),
81
83
  handler: async (args) => {
82
84
  const input = schema_1.ManageLabelSchema.parse(args);
85
+ if ((0, config_1.isActionDenied)("manage_label", input.action)) {
86
+ throw new Error(`Action '${input.action}' is not allowed for manage_label tool`);
87
+ }
83
88
  const { entityType, encodedPath } = await (0, namespace_1.resolveNamespaceForAPI)(input.namespace);
84
89
  switch (input.action) {
85
90
  case "create": {
86
- (0, utils_1.assertDefined)(input.name, "name");
87
- (0, utils_1.assertDefined)(input.color, "color");
88
91
  return gitlab_api_1.gitlab.post(`${entityType}/${encodedPath}/labels`, {
89
92
  body: {
90
93
  name: input.name,
@@ -96,12 +99,10 @@ exports.labelsToolRegistry = new Map([
96
99
  });
97
100
  }
98
101
  case "update": {
99
- (0, utils_1.assertDefined)(input.label_id, "label_id");
100
102
  const { action: _action, namespace: _namespace, label_id, name: _name, ...body } = input;
101
103
  return gitlab_api_1.gitlab.put(`${entityType}/${encodedPath}/labels/${encodeURIComponent(label_id)}`, { body, contentType: "json" });
102
104
  }
103
105
  case "delete": {
104
- (0, utils_1.assertDefined)(input.label_id, "label_id");
105
106
  await gitlab_api_1.gitlab.delete(`${entityType}/${encodedPath}/labels/${encodeURIComponent(input.label_id)}`);
106
107
  return { deleted: true };
107
108
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/entities/labels/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/entities/labels/registry.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,16 @@
1
1
  import { z } from "zod";
2
- export declare const BrowseLabelsSchema: z.ZodObject<{
3
- action: z.ZodEnum<{
4
- list: "list";
5
- get: "get";
6
- }>;
2
+ export declare const BrowseLabelsSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3
+ action: z.ZodLiteral<"list">;
7
4
  namespace: z.ZodString;
8
- label_id: z.ZodOptional<z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>>;
9
5
  search: z.ZodOptional<z.ZodString>;
10
6
  with_counts: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
11
7
  include_ancestor_groups: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
12
8
  per_page: z.ZodOptional<z.ZodNumber>;
13
9
  page: z.ZodOptional<z.ZodNumber>;
14
- }, z.core.$strip>;
10
+ }, z.core.$strip>, z.ZodObject<{
11
+ action: z.ZodLiteral<"get">;
12
+ namespace: z.ZodString;
13
+ label_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
14
+ include_ancestor_groups: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
15
+ }, z.core.$strip>], "action">;
15
16
  export type BrowseLabelsInput = z.infer<typeof BrowseLabelsSchema>;
@@ -3,25 +3,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BrowseLabelsSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const utils_1 = require("../utils");
6
- exports.BrowseLabelsSchema = zod_1.z
7
- .object({
8
- action: zod_1.z.enum(["list", "get"]).describe("Action to perform"),
9
- namespace: zod_1.z.string().describe("Namespace path (group or project)"),
10
- label_id: utils_1.requiredId
11
- .optional()
12
- .describe("The ID or title of the label. Required for 'get' action."),
13
- search: zod_1.z.string().optional().describe("For 'list': keyword to filter labels by"),
14
- with_counts: utils_1.flexibleBoolean
15
- .optional()
16
- .describe("For 'list': include issue and merge request counts"),
17
- include_ancestor_groups: utils_1.flexibleBoolean
18
- .optional()
19
- .describe("Include ancestor groups when listing or getting labels"),
6
+ const namespaceField = zod_1.z.string().describe("Namespace path (group or project)");
7
+ const includeAncestorGroupsField = utils_1.flexibleBoolean
8
+ .optional()
9
+ .describe("Include ancestor groups when listing or getting labels");
10
+ const ListLabelsSchema = zod_1.z.object({
11
+ action: zod_1.z.literal("list").describe("List labels with optional filtering"),
12
+ namespace: namespaceField,
13
+ search: zod_1.z.string().optional().describe("Keyword to filter labels by"),
14
+ with_counts: utils_1.flexibleBoolean.optional().describe("Include issue and merge request counts"),
15
+ include_ancestor_groups: includeAncestorGroupsField,
20
16
  per_page: zod_1.z.number().optional().describe("Number of items per page"),
21
17
  page: zod_1.z.number().optional().describe("Page number"),
22
- })
23
- .refine(data => data.action !== "get" || data.label_id !== undefined, {
24
- message: "label_id is required for 'get' action",
25
- path: ["label_id"],
26
18
  });
19
+ const GetLabelSchema = zod_1.z.object({
20
+ action: zod_1.z.literal("get").describe("Get a single label by ID or title"),
21
+ namespace: namespaceField,
22
+ label_id: utils_1.requiredId.describe("The ID or title of the label"),
23
+ include_ancestor_groups: includeAncestorGroupsField,
24
+ });
25
+ exports.BrowseLabelsSchema = zod_1.z.discriminatedUnion("action", [
26
+ ListLabelsSchema,
27
+ GetLabelSchema,
28
+ ]);
27
29
  //# sourceMappingURL=schema-readonly.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-readonly.js","sourceRoot":"","sources":["../../../../src/entities/labels/schema-readonly.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,oCAAuD;AAS1C,QAAA,kBAAkB,GAAG,OAAC;KAChC,MAAM,CAAC;IACN,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC7D,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAEnE,QAAQ,EAAE,kBAAU;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IAEvE,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACjF,WAAW,EAAE,uBAAe;SACzB,QAAQ,EAAE;SACV,QAAQ,CAAC,oDAAoD,CAAC;IACjE,uBAAuB,EAAE,uBAAe;SACrC,QAAQ,EAAE;SACV,QAAQ,CAAC,wDAAwD,CAAC;IAErE,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACpE,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;CACpD,CAAC;KACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;IACpE,OAAO,EAAE,uCAAuC;IAChD,IAAI,EAAE,CAAC,UAAU,CAAC;CACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"schema-readonly.js","sourceRoot":"","sources":["../../../../src/entities/labels/schema-readonly.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,oCAAuD;AAUvD,MAAM,cAAc,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;AAChF,MAAM,0BAA0B,GAAG,uBAAe;KAC/C,QAAQ,EAAE;KACV,QAAQ,CAAC,wDAAwD,CAAC,CAAC;AAGtE,MAAM,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACzE,SAAS,EAAE,cAAc;IACzB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACrE,WAAW,EAAE,uBAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IAC1F,uBAAuB,EAAE,0BAA0B;IACnD,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACpE,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;CACpD,CAAC,CAAC;AAGH,MAAM,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9B,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACtE,SAAS,EAAE,cAAc;IACzB,QAAQ,EAAE,kBAAU,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC7D,uBAAuB,EAAE,0BAA0B;CACpD,CAAC,CAAC;AAGU,QAAA,kBAAkB,GAAG,OAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IAC/D,gBAAgB;IAChB,cAAc;CACf,CAAC,CAAC"}
@@ -1,16 +1,23 @@
1
1
  import { z } from "zod";
2
- export declare const ManageLabelSchema: z.ZodObject<{
3
- action: z.ZodEnum<{
4
- create: "create";
5
- update: "update";
6
- delete: "delete";
7
- }>;
2
+ export declare const ManageLabelSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3
+ action: z.ZodLiteral<"create">;
8
4
  namespace: z.ZodString;
9
- label_id: z.ZodOptional<z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>>;
5
+ name: z.ZodString;
6
+ color: z.ZodString;
7
+ description: z.ZodOptional<z.ZodString>;
8
+ priority: z.ZodOptional<z.ZodNumber>;
9
+ }, z.core.$strip>, z.ZodObject<{
10
+ action: z.ZodLiteral<"update">;
11
+ namespace: z.ZodString;
12
+ label_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
10
13
  name: z.ZodOptional<z.ZodString>;
11
14
  new_name: z.ZodOptional<z.ZodString>;
12
15
  color: z.ZodOptional<z.ZodString>;
13
16
  description: z.ZodOptional<z.ZodString>;
14
17
  priority: z.ZodOptional<z.ZodNumber>;
15
- }, z.core.$strip>;
18
+ }, z.core.$strip>, z.ZodObject<{
19
+ action: z.ZodLiteral<"delete">;
20
+ namespace: z.ZodString;
21
+ label_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
22
+ }, z.core.$strip>], "action">;
16
23
  export type ManageLabelInput = z.infer<typeof ManageLabelSchema>;
@@ -3,35 +3,44 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ManageLabelSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const utils_1 = require("../utils");
6
- exports.ManageLabelSchema = zod_1.z
7
- .object({
8
- action: zod_1.z.enum(["create", "update", "delete"]).describe("Action to perform"),
9
- namespace: zod_1.z.string().describe("Namespace path (group or project)"),
10
- label_id: utils_1.requiredId
11
- .optional()
12
- .describe("The ID or title of the label. Required for 'update' and 'delete' actions."),
13
- name: zod_1.z.string().optional().describe("The name of the label. Required for 'create' action."),
14
- new_name: zod_1.z.string().optional().describe("For 'update': the new name of the label"),
6
+ const namespaceField = zod_1.z.string().describe("Namespace path (group or project)");
7
+ const labelIdField = utils_1.requiredId.describe("The ID or title of the label");
8
+ const descriptionField = zod_1.z.string().optional().describe("The description of the label");
9
+ const priorityField = zod_1.z
10
+ .number()
11
+ .optional()
12
+ .describe("The priority of the label. Must be greater or equal than zero or null to remove the priority.");
13
+ const CreateLabelSchema = zod_1.z.object({
14
+ action: zod_1.z.literal("create").describe("Create a new label"),
15
+ namespace: namespaceField,
16
+ name: zod_1.z.string().describe("The name of the label"),
17
+ color: zod_1.z
18
+ .string()
19
+ .describe("The color of the label in 6-digit hex notation with leading '#' (e.g. #FFAABB) or CSS color name"),
20
+ description: descriptionField,
21
+ priority: priorityField,
22
+ });
23
+ const UpdateLabelSchema = zod_1.z.object({
24
+ action: zod_1.z.literal("update").describe("Update an existing label"),
25
+ namespace: namespaceField,
26
+ label_id: labelIdField,
27
+ name: zod_1.z.string().optional().describe("The name of the label"),
28
+ new_name: zod_1.z.string().optional().describe("The new name of the label"),
15
29
  color: zod_1.z
16
30
  .string()
17
31
  .optional()
18
- .describe("The color of the label in 6-digit hex notation with leading '#' (e.g. #FFAABB) or CSS color name. Required for 'create' action."),
19
- description: zod_1.z.string().optional().describe("The description of the label"),
20
- priority: zod_1.z
21
- .number()
22
- .optional()
23
- .describe("The priority of the label. Must be greater or equal than zero or null to remove the priority."),
24
- })
25
- .refine(data => data.action === "create" || data.label_id !== undefined, {
26
- message: "label_id is required for 'update' and 'delete' actions",
27
- path: ["label_id"],
28
- })
29
- .refine(data => data.action !== "create" || data.name !== undefined, {
30
- message: "name is required for 'create' action",
31
- path: ["name"],
32
- })
33
- .refine(data => data.action !== "create" || data.color !== undefined, {
34
- message: "color is required for 'create' action",
35
- path: ["color"],
32
+ .describe("The color of the label in 6-digit hex notation with leading '#' (e.g. #FFAABB) or CSS color name"),
33
+ description: descriptionField,
34
+ priority: priorityField,
35
+ });
36
+ const DeleteLabelSchema = zod_1.z.object({
37
+ action: zod_1.z.literal("delete").describe("Delete a label"),
38
+ namespace: namespaceField,
39
+ label_id: labelIdField,
36
40
  });
41
+ exports.ManageLabelSchema = zod_1.z.discriminatedUnion("action", [
42
+ CreateLabelSchema,
43
+ UpdateLabelSchema,
44
+ DeleteLabelSchema,
45
+ ]);
37
46
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/entities/labels/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,oCAAsC;AASzB,QAAA,iBAAiB,GAAG,OAAC;KAC/B,MAAM,CAAC;IACN,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC5E,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAEnE,QAAQ,EAAE,kBAAU;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,2EAA2E,CAAC;IAExF,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IAC5F,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACnF,KAAK,EAAE,OAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,iIAAiI,CAClI;IACH,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC3E,QAAQ,EAAE,OAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,+FAA+F,CAChG;CACJ,CAAC;KACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;IACvE,OAAO,EAAE,wDAAwD;IACjE,IAAI,EAAE,CAAC,UAAU,CAAC;CACnB,CAAC;KACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;IACnE,OAAO,EAAE,sCAAsC;IAC/C,IAAI,EAAE,CAAC,MAAM,CAAC;CACf,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,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/entities/labels/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,oCAAsC;AAUtC,MAAM,cAAc,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;AAChF,MAAM,YAAY,GAAG,kBAAU,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;AACzE,MAAM,gBAAgB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;AACxF,MAAM,aAAa,GAAG,OAAC;KACpB,MAAM,EAAE;KACR,QAAQ,EAAE;KACV,QAAQ,CACP,+FAA+F,CAChG,CAAC;AAGJ,MAAM,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACjC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC1D,SAAS,EAAE,cAAc;IACzB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAClD,KAAK,EAAE,OAAC;SACL,MAAM,EAAE;SACR,QAAQ,CACP,kGAAkG,CACnG;IACH,WAAW,EAAE,gBAAgB;IAC7B,QAAQ,EAAE,aAAa;CACxB,CAAC,CAAC;AAGH,MAAM,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACjC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAChE,SAAS,EAAE,cAAc;IACzB,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAC7D,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACrE,KAAK,EAAE,OAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,kGAAkG,CACnG;IACH,WAAW,EAAE,gBAAgB;IAC7B,QAAQ,EAAE,aAAa;CACxB,CAAC,CAAC;AAGH,MAAM,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACjC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACtD,SAAS,EAAE,cAAc;IACzB,QAAQ,EAAE,YAAY;CACvB,CAAC,CAAC;AAGU,QAAA,iBAAiB,GAAG,OAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IAC9D,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;CAClB,CAAC,CAAC"}
@@ -42,7 +42,7 @@ const schema_readonly_1 = require("./schema-readonly");
42
42
  const schema_1 = require("./schema");
43
43
  const gitlab_api_1 = require("../../utils/gitlab-api");
44
44
  const namespace_1 = require("../../utils/namespace");
45
- const utils_1 = require("../utils");
45
+ const config_1 = require("../../config");
46
46
  exports.milestonesToolRegistry = new Map([
47
47
  [
48
48
  "browse_milestones",
@@ -52,6 +52,9 @@ exports.milestonesToolRegistry = new Map([
52
52
  inputSchema: z.toJSONSchema(schema_readonly_1.BrowseMilestonesSchema),
53
53
  handler: async (args) => {
54
54
  const input = schema_readonly_1.BrowseMilestonesSchema.parse(args);
55
+ if ((0, config_1.isActionDenied)("browse_milestones", input.action)) {
56
+ throw new Error(`Action '${input.action}' is not allowed for browse_milestones tool`);
57
+ }
55
58
  const { entityType, encodedPath } = await (0, namespace_1.resolveNamespaceForAPI)(input.namespace);
56
59
  switch (input.action) {
57
60
  case "list": {
@@ -60,11 +63,9 @@ exports.milestonesToolRegistry = new Map([
60
63
  return gitlab_api_1.gitlab.get(`${entityType}/${encodedPath}/milestones`, { query });
61
64
  }
62
65
  case "get": {
63
- (0, utils_1.assertDefined)(input.milestone_id, "milestone_id");
64
66
  return gitlab_api_1.gitlab.get(`${entityType}/${encodedPath}/milestones/${input.milestone_id}`);
65
67
  }
66
68
  case "issues": {
67
- (0, utils_1.assertDefined)(input.milestone_id, "milestone_id");
68
69
  const { action: _action, namespace: _namespace, milestone_id, ...rest } = input;
69
70
  const query = (0, gitlab_api_1.toQuery)(rest, []);
70
71
  return gitlab_api_1.gitlab.get(`${entityType}/${encodedPath}/milestones/${milestone_id}/issues`, {
@@ -72,13 +73,11 @@ exports.milestonesToolRegistry = new Map([
72
73
  });
73
74
  }
74
75
  case "merge_requests": {
75
- (0, utils_1.assertDefined)(input.milestone_id, "milestone_id");
76
76
  const { action: _action, namespace: _namespace, milestone_id, ...rest } = input;
77
77
  const query = (0, gitlab_api_1.toQuery)(rest, []);
78
78
  return gitlab_api_1.gitlab.get(`${entityType}/${encodedPath}/milestones/${milestone_id}/merge_requests`, { query });
79
79
  }
80
80
  case "burndown": {
81
- (0, utils_1.assertDefined)(input.milestone_id, "milestone_id");
82
81
  const { action: _action, namespace: _namespace, milestone_id, ...rest } = input;
83
82
  const query = (0, gitlab_api_1.toQuery)(rest, []);
84
83
  return gitlab_api_1.gitlab.get(`${entityType}/${encodedPath}/milestones/${milestone_id}/burndown_events`, { query });
@@ -97,6 +96,9 @@ exports.milestonesToolRegistry = new Map([
97
96
  inputSchema: z.toJSONSchema(schema_1.ManageMilestoneSchema),
98
97
  handler: async (args) => {
99
98
  const input = schema_1.ManageMilestoneSchema.parse(args);
99
+ if ((0, config_1.isActionDenied)("manage_milestone", input.action)) {
100
+ throw new Error(`Action '${input.action}' is not allowed for manage_milestone tool`);
101
+ }
100
102
  const { entityType, encodedPath } = await (0, namespace_1.resolveNamespaceForAPI)(input.namespace);
101
103
  switch (input.action) {
102
104
  case "create": {
@@ -107,7 +109,6 @@ exports.milestonesToolRegistry = new Map([
107
109
  });
108
110
  }
109
111
  case "update": {
110
- (0, utils_1.assertDefined)(input.milestone_id, "milestone_id");
111
112
  const { action: _action, namespace: _namespace, milestone_id, ...body } = input;
112
113
  return gitlab_api_1.gitlab.put(`${entityType}/${encodedPath}/milestones/${milestone_id}`, {
113
114
  body,
@@ -115,12 +116,10 @@ exports.milestonesToolRegistry = new Map([
115
116
  });
116
117
  }
117
118
  case "delete": {
118
- (0, utils_1.assertDefined)(input.milestone_id, "milestone_id");
119
119
  await gitlab_api_1.gitlab.delete(`${entityType}/${encodedPath}/milestones/${input.milestone_id}`);
120
120
  return { deleted: true };
121
121
  }
122
122
  case "promote": {
123
- (0, utils_1.assertDefined)(input.milestone_id, "milestone_id");
124
123
  if (entityType !== "projects") {
125
124
  throw new Error("Milestone promotion is only available for projects, not groups");
126
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/entities/milestones/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/entities/milestones/registry.ts"],"names":[],"mappings":"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"}
@@ -15,16 +15,11 @@ export declare const GitLabMilestonesSchema: z.ZodObject<{
15
15
  expired: z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>;
16
16
  web_url: z.ZodOptional<z.ZodString>;
17
17
  }, z.core.$strip>;
18
- export declare const BrowseMilestonesSchema: z.ZodObject<{
19
- action: z.ZodEnum<{
20
- issues: "issues";
21
- merge_requests: "merge_requests";
22
- list: "list";
23
- get: "get";
24
- burndown: "burndown";
25
- }>;
18
+ export declare const BrowseMilestonesSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
19
+ per_page: z.ZodOptional<z.ZodNumber>;
20
+ page: z.ZodOptional<z.ZodNumber>;
21
+ action: z.ZodLiteral<"list">;
26
22
  namespace: z.ZodString;
27
- milestone_id: z.ZodOptional<z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>>;
28
23
  iids: z.ZodOptional<z.ZodArray<z.ZodString>>;
29
24
  state: z.ZodOptional<z.ZodEnum<{
30
25
  closed: "closed";
@@ -35,8 +30,28 @@ export declare const BrowseMilestonesSchema: z.ZodObject<{
35
30
  include_ancestors: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
36
31
  updated_before: z.ZodOptional<z.ZodString>;
37
32
  updated_after: z.ZodOptional<z.ZodString>;
33
+ }, z.core.$strip>, z.ZodObject<{
34
+ action: z.ZodLiteral<"get">;
35
+ namespace: z.ZodString;
36
+ milestone_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
37
+ }, z.core.$strip>, z.ZodObject<{
38
38
  per_page: z.ZodOptional<z.ZodNumber>;
39
39
  page: z.ZodOptional<z.ZodNumber>;
40
- }, z.core.$strip>;
40
+ action: z.ZodLiteral<"issues">;
41
+ namespace: z.ZodString;
42
+ milestone_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
43
+ }, z.core.$strip>, z.ZodObject<{
44
+ per_page: z.ZodOptional<z.ZodNumber>;
45
+ page: z.ZodOptional<z.ZodNumber>;
46
+ action: z.ZodLiteral<"merge_requests">;
47
+ namespace: z.ZodString;
48
+ milestone_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
49
+ }, z.core.$strip>, z.ZodObject<{
50
+ per_page: z.ZodOptional<z.ZodNumber>;
51
+ page: z.ZodOptional<z.ZodNumber>;
52
+ action: z.ZodLiteral<"burndown">;
53
+ namespace: z.ZodString;
54
+ milestone_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
55
+ }, z.core.$strip>], "action">;
41
56
  export type BrowseMilestonesInput = z.infer<typeof BrowseMilestonesSchema>;
42
57
  export type GitLabMilestones = z.infer<typeof GitLabMilestonesSchema>;
@@ -19,46 +19,67 @@ exports.GitLabMilestonesSchema = zod_1.z.object({
19
19
  expired: utils_1.flexibleBoolean,
20
20
  web_url: zod_1.z.string().optional(),
21
21
  });
22
- exports.BrowseMilestonesSchema = zod_1.z
23
- .object({
24
- action: zod_1.z
25
- .enum(["list", "get", "issues", "merge_requests", "burndown"])
26
- .describe("Action to perform"),
27
- namespace: zod_1.z.string().describe("Namespace path (group or project)"),
28
- milestone_id: utils_1.requiredId
29
- .optional()
30
- .describe("The ID of a project or group milestone. Required for 'get', 'issues', 'merge_requests', 'burndown' actions."),
31
- iids: zod_1.z
32
- .array(zod_1.z.string())
33
- .optional()
34
- .describe("For 'list': return only the milestones having the given iid"),
22
+ const namespaceField = zod_1.z.string().describe("Namespace path (group or project)");
23
+ const milestoneIdField = utils_1.requiredId.describe("The ID of a project or group milestone");
24
+ const paginationFields = {
25
+ per_page: zod_1.z.number().optional().describe("Number of items per page"),
26
+ page: zod_1.z.number().optional().describe("Page number"),
27
+ };
28
+ const ListMilestonesSchema = zod_1.z.object({
29
+ action: zod_1.z.literal("list").describe("List milestones with optional filtering"),
30
+ namespace: namespaceField,
31
+ iids: zod_1.z.array(zod_1.z.string()).optional().describe("Return only the milestones having the given iid"),
35
32
  state: zod_1.z
36
33
  .enum(["active", "closed"])
37
34
  .optional()
38
- .describe("For 'list': return only active or closed milestones"),
35
+ .describe("Return only active or closed milestones"),
39
36
  title: zod_1.z
40
37
  .string()
41
38
  .optional()
42
- .describe("For 'list': return only milestones with a title matching the provided string"),
39
+ .describe("Return only milestones with a title matching the provided string"),
43
40
  search: zod_1.z
44
41
  .string()
45
42
  .optional()
46
- .describe("For 'list': return only milestones with a title or description matching the provided string"),
47
- include_ancestors: utils_1.flexibleBoolean.optional().describe("For 'list': include ancestor groups"),
43
+ .describe("Return only milestones with a title or description matching the provided string"),
44
+ include_ancestors: utils_1.flexibleBoolean.optional().describe("Include ancestor groups"),
48
45
  updated_before: zod_1.z
49
46
  .string()
50
47
  .optional()
51
- .describe("For 'list': return milestones updated before the specified date (ISO 8601 format)"),
48
+ .describe("Return milestones updated before the specified date (ISO 8601 format)"),
52
49
  updated_after: zod_1.z
53
50
  .string()
54
51
  .optional()
55
- .describe("For 'list': return milestones updated after the specified date (ISO 8601 format)"),
56
- per_page: zod_1.z.number().optional().describe("Number of items per page"),
57
- page: zod_1.z.number().optional().describe("Page number"),
58
- })
59
- .refine(data => !["get", "issues", "merge_requests", "burndown"].includes(data.action) ||
60
- data.milestone_id !== undefined, {
61
- message: "milestone_id is required for 'get', 'issues', 'merge_requests', and 'burndown' actions",
62
- path: ["milestone_id"],
52
+ .describe("Return milestones updated after the specified date (ISO 8601 format)"),
53
+ ...paginationFields,
54
+ });
55
+ const GetMilestoneSchema = zod_1.z.object({
56
+ action: zod_1.z.literal("get").describe("Get a single milestone by ID"),
57
+ namespace: namespaceField,
58
+ milestone_id: milestoneIdField,
59
+ });
60
+ const MilestoneIssuesSchema = zod_1.z.object({
61
+ action: zod_1.z.literal("issues").describe("List issues assigned to a milestone"),
62
+ namespace: namespaceField,
63
+ milestone_id: milestoneIdField,
64
+ ...paginationFields,
65
+ });
66
+ const MilestoneMergeRequestsSchema = zod_1.z.object({
67
+ action: zod_1.z.literal("merge_requests").describe("List merge requests assigned to a milestone"),
68
+ namespace: namespaceField,
69
+ milestone_id: milestoneIdField,
70
+ ...paginationFields,
71
+ });
72
+ const MilestoneBurndownSchema = zod_1.z.object({
73
+ action: zod_1.z.literal("burndown").describe("Get burndown chart data for a milestone"),
74
+ namespace: namespaceField,
75
+ milestone_id: milestoneIdField,
76
+ ...paginationFields,
63
77
  });
78
+ exports.BrowseMilestonesSchema = zod_1.z.discriminatedUnion("action", [
79
+ ListMilestonesSchema,
80
+ GetMilestoneSchema,
81
+ MilestoneIssuesSchema,
82
+ MilestoneMergeRequestsSchema,
83
+ MilestoneBurndownSchema,
84
+ ]);
64
85
  //# sourceMappingURL=schema-readonly.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-readonly.js","sourceRoot":"","sources":["../../../../src/entities/milestones/schema-readonly.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,sCAAkD;AAIzC,sGAJA,8BAAqB,OAIA;AAH9B,oCAAuD;AAM1C,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE;IACrB,GAAG,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE;IAC7B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,OAAO,EAAE,uBAAe;IACxB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AASU,QAAA,sBAAsB,GAAG,OAAC;KACpC,MAAM,CAAC;IACN,MAAM,EAAE,OAAC;SACN,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;SAC7D,QAAQ,CAAC,mBAAmB,CAAC;IAChC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAEnE,YAAY,EAAE,kBAAU;SACrB,QAAQ,EAAE;SACV,QAAQ,CACP,6GAA6G,CAC9G;IAEH,IAAI,EAAE,OAAC;SACJ,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,6DAA6D,CAAC;IAC1E,KAAK,EAAE,OAAC;SACL,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;SAC1B,QAAQ,EAAE;SACV,QAAQ,CAAC,qDAAqD,CAAC;IAClE,KAAK,EAAE,OAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8EAA8E,CAAC;IAC3F,MAAM,EAAE,OAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,6FAA6F,CAC9F;IACH,iBAAiB,EAAE,uBAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAC7F,cAAc,EAAE,OAAC;SACd,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,mFAAmF,CACpF;IACH,aAAa,EAAE,OAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kFAAkF,CAAC;IAE/F,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACpE,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;CACpD,CAAC;KACD,MAAM,CACL,IAAI,CAAC,EAAE,CACL,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;IACtE,IAAI,CAAC,YAAY,KAAK,SAAS,EACjC;IACE,OAAO,EACL,wFAAwF;IAC1F,IAAI,EAAE,CAAC,cAAc,CAAC;CACvB,CACF,CAAC"}
1
+ {"version":3,"file":"schema-readonly.js","sourceRoot":"","sources":["../../../../src/entities/milestones/schema-readonly.ts"],"names":[],"mappings":"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"}