@structured-world/gitlab-mcp 6.8.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 (108) hide show
  1. package/LICENSE +202 -21
  2. package/LICENSE.MIT +21 -0
  3. package/README.md +149 -1
  4. package/dist/src/config.d.ts +5 -0
  5. package/dist/src/config.js +88 -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/registry.js +3 -0
  24. package/dist/src/entities/integrations/registry.js.map +1 -1
  25. package/dist/src/entities/integrations/schema.d.ts +114 -8
  26. package/dist/src/entities/integrations/schema.js +27 -9
  27. package/dist/src/entities/integrations/schema.js.map +1 -1
  28. package/dist/src/entities/labels/registry.js +8 -7
  29. package/dist/src/entities/labels/registry.js.map +1 -1
  30. package/dist/src/entities/labels/schema-readonly.d.ts +8 -7
  31. package/dist/src/entities/labels/schema-readonly.js +20 -18
  32. package/dist/src/entities/labels/schema-readonly.js.map +1 -1
  33. package/dist/src/entities/labels/schema.d.ts +15 -8
  34. package/dist/src/entities/labels/schema.js +36 -27
  35. package/dist/src/entities/labels/schema.js.map +1 -1
  36. package/dist/src/entities/milestones/registry.js +7 -8
  37. package/dist/src/entities/milestones/registry.js.map +1 -1
  38. package/dist/src/entities/milestones/schema-readonly.d.ts +25 -10
  39. package/dist/src/entities/milestones/schema-readonly.js +47 -26
  40. package/dist/src/entities/milestones/schema-readonly.js.map +1 -1
  41. package/dist/src/entities/milestones/schema.d.ts +19 -9
  42. package/dist/src/entities/milestones/schema.js +31 -20
  43. package/dist/src/entities/milestones/schema.js.map +1 -1
  44. package/dist/src/entities/mrs/registry.js +75 -79
  45. package/dist/src/entities/mrs/registry.js.map +1 -1
  46. package/dist/src/entities/mrs/schema-readonly.d.ts +36 -23
  47. package/dist/src/entities/mrs/schema-readonly.js +197 -338
  48. package/dist/src/entities/mrs/schema-readonly.js.map +1 -1
  49. package/dist/src/entities/mrs/schema.d.ts +113 -37
  50. package/dist/src/entities/mrs/schema.js +140 -258
  51. package/dist/src/entities/mrs/schema.js.map +1 -1
  52. package/dist/src/entities/pipelines/registry.js +10 -4
  53. package/dist/src/entities/pipelines/registry.js.map +1 -1
  54. package/dist/src/entities/pipelines/schema-readonly.d.ts +30 -14
  55. package/dist/src/entities/pipelines/schema-readonly.js +62 -52
  56. package/dist/src/entities/pipelines/schema-readonly.js.map +1 -1
  57. package/dist/src/entities/pipelines/schema.d.ts +23 -16
  58. package/dist/src/entities/pipelines/schema.js +44 -26
  59. package/dist/src/entities/pipelines/schema.js.map +1 -1
  60. package/dist/src/entities/snippets/registry.js +79 -67
  61. package/dist/src/entities/snippets/registry.js.map +1 -1
  62. package/dist/src/entities/snippets/schema-readonly.d.ts +8 -9
  63. package/dist/src/entities/snippets/schema-readonly.js +30 -35
  64. package/dist/src/entities/snippets/schema-readonly.js.map +1 -1
  65. package/dist/src/entities/snippets/schema.d.ts +7 -11
  66. package/dist/src/entities/snippets/schema.js +31 -65
  67. package/dist/src/entities/snippets/schema.js.map +1 -1
  68. package/dist/src/entities/variables/registry.js +9 -5
  69. package/dist/src/entities/variables/registry.js.map +1 -1
  70. package/dist/src/entities/variables/schema-readonly.d.ts +9 -9
  71. package/dist/src/entities/variables/schema-readonly.js +22 -18
  72. package/dist/src/entities/variables/schema-readonly.js.map +1 -1
  73. package/dist/src/entities/variables/schema.d.ts +24 -7
  74. package/dist/src/entities/variables/schema.js +67 -38
  75. package/dist/src/entities/variables/schema.js.map +1 -1
  76. package/dist/src/entities/webhooks/registry.js +48 -46
  77. package/dist/src/entities/webhooks/registry.js.map +1 -1
  78. package/dist/src/entities/webhooks/schema-readonly.d.ts +9 -8
  79. package/dist/src/entities/webhooks/schema-readonly.js +14 -9
  80. package/dist/src/entities/webhooks/schema-readonly.js.map +1 -1
  81. package/dist/src/entities/webhooks/schema.d.ts +79 -26
  82. package/dist/src/entities/webhooks/schema.js +70 -61
  83. package/dist/src/entities/webhooks/schema.js.map +1 -1
  84. package/dist/src/entities/wiki/registry.js +7 -4
  85. package/dist/src/entities/wiki/registry.js.map +1 -1
  86. package/dist/src/entities/wiki/schema-readonly.d.ts +7 -7
  87. package/dist/src/entities/wiki/schema-readonly.js +11 -15
  88. package/dist/src/entities/wiki/schema-readonly.js.map +1 -1
  89. package/dist/src/entities/wiki/schema.d.ts +19 -8
  90. package/dist/src/entities/wiki/schema.js +32 -29
  91. package/dist/src/entities/wiki/schema.js.map +1 -1
  92. package/dist/src/entities/workitems/registry.js +7 -8
  93. package/dist/src/entities/workitems/registry.js.map +1 -1
  94. package/dist/src/entities/workitems/schema-readonly.d.ts +7 -8
  95. package/dist/src/entities/workitems/schema-readonly.js +12 -14
  96. package/dist/src/entities/workitems/schema-readonly.js.map +1 -1
  97. package/dist/src/entities/workitems/schema.d.ts +17 -11
  98. package/dist/src/entities/workitems/schema.js +25 -25
  99. package/dist/src/entities/workitems/schema.js.map +1 -1
  100. package/dist/src/registry-manager.js +22 -11
  101. package/dist/src/registry-manager.js.map +1 -1
  102. package/dist/src/utils/schema-utils.d.ts +28 -0
  103. package/dist/src/utils/schema-utils.js +244 -0
  104. package/dist/src/utils/schema-utils.js.map +1 -0
  105. package/dist/structured-world-gitlab-mcp-6.9.0.tgz +0 -0
  106. package/dist/tsconfig.build.tsbuildinfo +1 -1
  107. package/package.json +2 -2
  108. package/dist/structured-world-gitlab-mcp-6.8.0.tgz +0 -0
@@ -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":";;;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;AAUH,MAAM,cAAc,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;AAChF,MAAM,gBAAgB,GAAG,kBAAU,CAAC,QAAQ,CAAC,wCAAwC,CAAC,CAAC;AACvF,MAAM,gBAAgB,GAAG;IACvB,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;AAGF,MAAM,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IAC7E,SAAS,EAAE,cAAc;IACzB,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IAChG,KAAK,EAAE,OAAC;SACL,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;SAC1B,QAAQ,EAAE;SACV,QAAQ,CAAC,yCAAyC,CAAC;IACtD,KAAK,EAAE,OAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kEAAkE,CAAC;IAC/E,MAAM,EAAE,OAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,iFAAiF,CAAC;IAC9F,iBAAiB,EAAE,uBAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACjF,cAAc,EAAE,OAAC;SACd,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uEAAuE,CAAC;IACpF,aAAa,EAAE,OAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,sEAAsE,CAAC;IACnF,GAAG,gBAAgB;CACpB,CAAC,CAAC;AAGH,MAAM,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IAClC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACjE,SAAS,EAAE,cAAc;IACzB,YAAY,EAAE,gBAAgB;CAC/B,CAAC,CAAC;AAGH,MAAM,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAC3E,SAAS,EAAE,cAAc;IACzB,YAAY,EAAE,gBAAgB;IAC9B,GAAG,gBAAgB;CACpB,CAAC,CAAC;AAGH,MAAM,4BAA4B,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAC3F,SAAS,EAAE,cAAc;IACzB,YAAY,EAAE,gBAAgB;IAC9B,GAAG,gBAAgB;CACpB,CAAC,CAAC;AAGH,MAAM,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACjF,SAAS,EAAE,cAAc;IACzB,YAAY,EAAE,gBAAgB;IAC9B,GAAG,gBAAgB;CACpB,CAAC,CAAC;AAGU,QAAA,sBAAsB,GAAG,OAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IACnE,oBAAoB;IACpB,kBAAkB;IAClB,qBAAqB;IACrB,4BAA4B;IAC5B,uBAAuB;CACxB,CAAC,CAAC"}
@@ -1,13 +1,15 @@
1
1
  import { z } from "zod";
2
- export declare const ManageMilestoneSchema: z.ZodObject<{
3
- action: z.ZodEnum<{
4
- create: "create";
5
- update: "update";
6
- delete: "delete";
7
- promote: "promote";
8
- }>;
2
+ export declare const ManageMilestoneSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3
+ action: z.ZodLiteral<"create">;
9
4
  namespace: z.ZodString;
10
- milestone_id: z.ZodOptional<z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>>;
5
+ title: z.ZodString;
6
+ description: z.ZodOptional<z.ZodString>;
7
+ due_date: z.ZodOptional<z.ZodString>;
8
+ start_date: z.ZodOptional<z.ZodString>;
9
+ }, z.core.$strip>, z.ZodObject<{
10
+ action: z.ZodLiteral<"update">;
11
+ namespace: z.ZodString;
12
+ milestone_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
11
13
  title: z.ZodOptional<z.ZodString>;
12
14
  description: z.ZodOptional<z.ZodString>;
13
15
  due_date: z.ZodOptional<z.ZodString>;
@@ -16,5 +18,13 @@ export declare const ManageMilestoneSchema: z.ZodObject<{
16
18
  close: "close";
17
19
  activate: "activate";
18
20
  }>>>;
19
- }, z.core.$strip>;
21
+ }, z.core.$strip>, z.ZodObject<{
22
+ action: z.ZodLiteral<"delete">;
23
+ namespace: z.ZodString;
24
+ milestone_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
25
+ }, z.core.$strip>, z.ZodObject<{
26
+ action: z.ZodLiteral<"promote">;
27
+ namespace: z.ZodString;
28
+ milestone_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
29
+ }, z.core.$strip>], "action">;
20
30
  export type ManageMilestoneInput = z.infer<typeof ManageMilestoneSchema>;
@@ -3,33 +3,44 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ManageMilestoneSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const utils_1 = require("../utils");
6
- exports.ManageMilestoneSchema = zod_1.z
7
- .object({
8
- action: zod_1.z.enum(["create", "update", "delete", "promote"]).describe("Action to perform"),
9
- namespace: zod_1.z.string().describe("Namespace path (group or project)"),
10
- milestone_id: utils_1.requiredId
11
- .optional()
12
- .describe("The ID of a project or group milestone. Required for 'update', 'delete', 'promote' actions."),
13
- title: zod_1.z
14
- .string()
15
- .optional()
16
- .describe("The title of the milestone. Required for 'create' action."),
6
+ const namespaceField = zod_1.z.string().describe("Namespace path (group or project)");
7
+ const CreateMilestoneSchema = zod_1.z.object({
8
+ action: zod_1.z.literal("create"),
9
+ namespace: namespaceField,
10
+ title: zod_1.z.string().describe("The title of the milestone"),
17
11
  description: zod_1.z.string().optional().describe("The description of the milestone"),
18
12
  due_date: zod_1.z.string().optional().describe("The due date of the milestone (YYYY-MM-DD)"),
19
13
  start_date: zod_1.z.string().optional().describe("The start date of the milestone (YYYY-MM-DD)"),
14
+ });
15
+ const UpdateMilestoneSchema = zod_1.z.object({
16
+ action: zod_1.z.literal("update"),
17
+ namespace: namespaceField,
18
+ milestone_id: utils_1.requiredId.describe("The ID of the milestone to update"),
19
+ title: zod_1.z.string().optional().describe("The new title of the milestone"),
20
+ description: zod_1.z.string().optional().describe("The new description of the milestone"),
21
+ due_date: zod_1.z.string().optional().describe("The due date of the milestone (YYYY-MM-DD)"),
22
+ start_date: zod_1.z.string().optional().describe("The start date of the milestone (YYYY-MM-DD)"),
20
23
  state_event: zod_1.z
21
24
  .string()
22
25
  .transform(val => val.toLowerCase())
23
26
  .pipe(zod_1.z.enum(["close", "activate"]))
24
27
  .optional()
25
- .describe("For 'update': the state event of the milestone (close or activate)"),
26
- })
27
- .refine(data => !["update", "delete", "promote"].includes(data.action) || data.milestone_id !== undefined, {
28
- message: "milestone_id is required for 'update', 'delete', and 'promote' actions",
29
- path: ["milestone_id"],
30
- })
31
- .refine(data => data.action !== "create" || data.title !== undefined, {
32
- message: "title is required for 'create' action",
33
- path: ["title"],
28
+ .describe("State event to apply: 'close' or 'activate'"),
29
+ });
30
+ const DeleteMilestoneSchema = zod_1.z.object({
31
+ action: zod_1.z.literal("delete"),
32
+ namespace: namespaceField,
33
+ milestone_id: utils_1.requiredId.describe("The ID of the milestone to delete"),
34
+ });
35
+ const PromoteMilestoneSchema = zod_1.z.object({
36
+ action: zod_1.z.literal("promote"),
37
+ namespace: namespaceField,
38
+ milestone_id: utils_1.requiredId.describe("The ID of the project milestone to promote to group level"),
34
39
  });
40
+ exports.ManageMilestoneSchema = zod_1.z.discriminatedUnion("action", [
41
+ CreateMilestoneSchema,
42
+ UpdateMilestoneSchema,
43
+ DeleteMilestoneSchema,
44
+ PromoteMilestoneSchema,
45
+ ]);
35
46
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/entities/milestones/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,oCAAsC;AASzB,QAAA,qBAAqB,GAAG,OAAC;KACnC,MAAM,CAAC;IACN,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IACvF,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAEnE,YAAY,EAAE,kBAAU;SACrB,QAAQ,EAAE;SACV,QAAQ,CACP,6FAA6F,CAC9F;IAEH,KAAK,EAAE,OAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,2DAA2D,CAAC;IACxE,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAC/E,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACtF,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IAE1F,WAAW,EAAE,OAAC;SACX,MAAM,EAAE;SACR,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;SACnC,IAAI,CAAC,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;SACnC,QAAQ,EAAE;SACV,QAAQ,CAAC,oEAAoE,CAAC;CAClF,CAAC;KACD,MAAM,CACL,IAAI,CAAC,EAAE,CACL,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAC3F;IACE,OAAO,EAAE,wEAAwE;IACjF,IAAI,EAAE,CAAC,cAAc,CAAC;CACvB,CACF;KACA,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/milestones/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,oCAAsC;AAetC,MAAM,cAAc,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;AAGhF,MAAM,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC3B,SAAS,EAAE,cAAc;IACzB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACxD,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAC/E,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACtF,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;CAC3F,CAAC,CAAC;AAGH,MAAM,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC3B,SAAS,EAAE,cAAc;IACzB,YAAY,EAAE,kBAAU,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACtE,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACvE,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACnF,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACtF,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IAC1F,WAAW,EAAE,OAAC;SACX,MAAM,EAAE;SACR,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;SACnC,IAAI,CAAC,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;SACnC,QAAQ,EAAE;SACV,QAAQ,CAAC,6CAA6C,CAAC;CAC3D,CAAC,CAAC;AAGH,MAAM,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC3B,SAAS,EAAE,cAAc;IACzB,YAAY,EAAE,kBAAU,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CACvE,CAAC,CAAC;AAGH,MAAM,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC5B,SAAS,EAAE,cAAc;IACzB,YAAY,EAAE,kBAAU,CAAC,QAAQ,CAAC,2DAA2D,CAAC;CAC/F,CAAC,CAAC;AAGU,QAAA,qBAAqB,GAAG,OAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IAClE,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,sBAAsB;CACvB,CAAC,CAAC"}