@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
@@ -1,38 +1,46 @@
1
1
  import { z } from "zod";
2
- export declare const ManageWebhookSchema: z.ZodObject<{
3
- action: z.ZodEnum<{
4
- test: "test";
5
- create: "create";
6
- update: "update";
7
- delete: "delete";
8
- read: "read";
9
- }>;
2
+ export declare const ManageWebhookSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3
+ push_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
4
+ push_events_branch_filter: z.ZodOptional<z.ZodString>;
5
+ tag_push_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
6
+ merge_requests_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
7
+ issues_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
8
+ confidential_issues_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
9
+ note_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
10
+ confidential_note_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
11
+ job_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
12
+ pipeline_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
13
+ wiki_page_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
14
+ deployment_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
15
+ feature_flag_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
16
+ releases_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
17
+ emoji_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
18
+ resource_access_token_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
19
+ member_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
20
+ subgroup_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
21
+ project_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
22
+ enable_ssl_verification: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
23
+ action: z.ZodLiteral<"create">;
10
24
  scope: z.ZodEnum<{
11
25
  project: "project";
12
26
  group: "group";
13
27
  }>;
14
28
  projectId: z.ZodOptional<z.ZodString>;
15
29
  groupId: z.ZodOptional<z.ZodString>;
16
- hookId: z.ZodOptional<z.ZodNumber>;
17
- trigger: z.ZodOptional<z.ZodEnum<{
18
- push_events: "push_events";
19
- tag_push_events: "tag_push_events";
20
- merge_requests_events: "merge_requests_events";
21
- issues_events: "issues_events";
22
- confidential_issues_events: "confidential_issues_events";
23
- note_events: "note_events";
24
- job_events: "job_events";
25
- pipeline_events: "pipeline_events";
26
- wiki_page_events: "wiki_page_events";
27
- releases_events: "releases_events";
28
- milestone_events: "milestone_events";
29
- emoji_events: "emoji_events";
30
- resource_access_token_events: "resource_access_token_events";
31
- }>>;
32
- url: z.ZodOptional<z.ZodString>;
30
+ url: z.ZodString;
33
31
  name: z.ZodOptional<z.ZodString>;
34
32
  description: z.ZodOptional<z.ZodString>;
35
33
  token: z.ZodOptional<z.ZodString>;
34
+ }, z.core.$strip>, z.ZodObject<{
35
+ action: z.ZodLiteral<"read">;
36
+ scope: z.ZodEnum<{
37
+ project: "project";
38
+ group: "group";
39
+ }>;
40
+ projectId: z.ZodOptional<z.ZodString>;
41
+ groupId: z.ZodOptional<z.ZodString>;
42
+ hookId: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
43
+ }, z.core.$strip>, z.ZodObject<{
36
44
  push_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
37
45
  push_events_branch_filter: z.ZodOptional<z.ZodString>;
38
46
  tag_push_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
@@ -53,5 +61,50 @@ export declare const ManageWebhookSchema: z.ZodObject<{
53
61
  subgroup_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
54
62
  project_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
55
63
  enable_ssl_verification: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
56
- }, z.core.$strip>;
64
+ action: z.ZodLiteral<"update">;
65
+ scope: z.ZodEnum<{
66
+ project: "project";
67
+ group: "group";
68
+ }>;
69
+ projectId: z.ZodOptional<z.ZodString>;
70
+ groupId: z.ZodOptional<z.ZodString>;
71
+ hookId: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
72
+ url: z.ZodOptional<z.ZodString>;
73
+ name: z.ZodOptional<z.ZodString>;
74
+ description: z.ZodOptional<z.ZodString>;
75
+ token: z.ZodOptional<z.ZodString>;
76
+ }, z.core.$strip>, z.ZodObject<{
77
+ action: z.ZodLiteral<"delete">;
78
+ scope: z.ZodEnum<{
79
+ project: "project";
80
+ group: "group";
81
+ }>;
82
+ projectId: z.ZodOptional<z.ZodString>;
83
+ groupId: z.ZodOptional<z.ZodString>;
84
+ hookId: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
85
+ }, z.core.$strip>, z.ZodObject<{
86
+ action: z.ZodLiteral<"test">;
87
+ scope: z.ZodEnum<{
88
+ project: "project";
89
+ group: "group";
90
+ }>;
91
+ projectId: z.ZodOptional<z.ZodString>;
92
+ groupId: z.ZodOptional<z.ZodString>;
93
+ hookId: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
94
+ trigger: z.ZodEnum<{
95
+ push_events: "push_events";
96
+ tag_push_events: "tag_push_events";
97
+ merge_requests_events: "merge_requests_events";
98
+ issues_events: "issues_events";
99
+ confidential_issues_events: "confidential_issues_events";
100
+ note_events: "note_events";
101
+ job_events: "job_events";
102
+ pipeline_events: "pipeline_events";
103
+ wiki_page_events: "wiki_page_events";
104
+ releases_events: "releases_events";
105
+ milestone_events: "milestone_events";
106
+ emoji_events: "emoji_events";
107
+ resource_access_token_events: "resource_access_token_events";
108
+ }>;
109
+ }, z.core.$strip>], "action">;
57
110
  export type ManageWebhookOptions = z.infer<typeof ManageWebhookSchema>;
@@ -3,37 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ManageWebhookSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const utils_1 = require("../utils");
6
- exports.ManageWebhookSchema = zod_1.z
7
- .object({
8
- action: zod_1.z
9
- .enum(["create", "read", "update", "delete", "test"])
10
- .describe("Action to perform on webhook"),
11
- scope: zod_1.z.enum(["project", "group"]).describe("Scope of webhook (project or group)"),
12
- projectId: zod_1.z.string().optional().describe("Project ID or path (required if scope=project)"),
13
- groupId: zod_1.z.string().optional().describe("Group ID or path (required if scope=group)"),
14
- hookId: zod_1.z.number().optional().describe("Webhook ID (required for read/update/delete/test)"),
15
- trigger: zod_1.z
16
- .enum([
17
- "push_events",
18
- "tag_push_events",
19
- "merge_requests_events",
20
- "issues_events",
21
- "confidential_issues_events",
22
- "note_events",
23
- "job_events",
24
- "pipeline_events",
25
- "wiki_page_events",
26
- "releases_events",
27
- "milestone_events",
28
- "emoji_events",
29
- "resource_access_token_events",
30
- ])
31
- .optional()
32
- .describe("Event type to test (required for test action)"),
33
- url: zod_1.z.string().optional().describe("Webhook URL (required for create)"),
34
- name: zod_1.z.string().optional().describe("Human-readable webhook name (GitLab 16.11+)"),
35
- description: zod_1.z.string().optional().describe("Webhook description (GitLab 16.11+)"),
36
- token: zod_1.z.string().optional().describe("Secret token for webhook validation"),
6
+ const WebhookEventFields = {
37
7
  push_events: utils_1.flexibleBoolean.optional().describe("Enable push events"),
38
8
  push_events_branch_filter: zod_1.z
39
9
  .string()
@@ -46,9 +16,7 @@ exports.ManageWebhookSchema = zod_1.z
46
16
  .optional()
47
17
  .describe("Enable confidential issue events"),
48
18
  note_events: utils_1.flexibleBoolean.optional().describe("Enable note/comment events"),
49
- confidential_note_events: utils_1.flexibleBoolean
50
- .optional()
51
- .describe("Enable confidential note events"),
19
+ confidential_note_events: utils_1.flexibleBoolean.optional().describe("Enable confidential note events"),
52
20
  job_events: utils_1.flexibleBoolean.optional().describe("Enable job/build events"),
53
21
  pipeline_events: utils_1.flexibleBoolean.optional().describe("Enable pipeline events"),
54
22
  wiki_page_events: utils_1.flexibleBoolean.optional().describe("Enable wiki page events"),
@@ -69,32 +37,73 @@ exports.ManageWebhookSchema = zod_1.z
69
37
  enable_ssl_verification: utils_1.flexibleBoolean
70
38
  .optional()
71
39
  .describe("Enable SSL certificate verification"),
72
- })
73
- .refine(utils_1.validateScopeId, {
74
- message: "projectId is required when scope=project, groupId is required when scope=group",
75
- })
76
- .refine(data => {
77
- if (["read", "update", "delete", "test"].includes(data.action)) {
78
- return data.hookId !== undefined;
79
- }
80
- return true;
81
- }, {
82
- message: "hookId is required for read, update, delete, and test actions",
83
- })
84
- .refine(data => {
85
- if (data.action === "create") {
86
- return !!data.url;
87
- }
88
- return true;
89
- }, {
90
- message: "url is required for create action",
91
- })
92
- .refine(data => {
93
- if (data.action === "test") {
94
- return !!data.trigger;
95
- }
96
- return true;
97
- }, {
98
- message: "trigger is required for test action",
40
+ };
41
+ const TriggerEventSchema = zod_1.z.enum([
42
+ "push_events",
43
+ "tag_push_events",
44
+ "merge_requests_events",
45
+ "issues_events",
46
+ "confidential_issues_events",
47
+ "note_events",
48
+ "job_events",
49
+ "pipeline_events",
50
+ "wiki_page_events",
51
+ "releases_events",
52
+ "milestone_events",
53
+ "emoji_events",
54
+ "resource_access_token_events",
55
+ ]);
56
+ const scopeField = zod_1.z.enum(["project", "group"]).describe("Scope of webhook (project or group)");
57
+ const CreateWebhookSchema = zod_1.z.object({
58
+ action: zod_1.z.literal("create"),
59
+ scope: scopeField,
60
+ projectId: zod_1.z.string().optional().describe("Project ID or path (required if scope=project)"),
61
+ groupId: zod_1.z.string().optional().describe("Group ID or path (required if scope=group)"),
62
+ url: zod_1.z.string().describe("Webhook URL (required)"),
63
+ name: zod_1.z.string().optional().describe("Human-readable webhook name (GitLab 16.11+)"),
64
+ description: zod_1.z.string().optional().describe("Webhook description (GitLab 16.11+)"),
65
+ token: zod_1.z.string().optional().describe("Secret token for webhook validation"),
66
+ ...WebhookEventFields,
67
+ });
68
+ const ReadWebhookSchema = zod_1.z.object({
69
+ action: zod_1.z.literal("read"),
70
+ scope: scopeField,
71
+ projectId: zod_1.z.string().optional().describe("Project ID or path (required if scope=project)"),
72
+ groupId: zod_1.z.string().optional().describe("Group ID or path (required if scope=group)"),
73
+ hookId: utils_1.requiredId.describe("Webhook ID (required)"),
74
+ });
75
+ const UpdateWebhookSchema = zod_1.z.object({
76
+ action: zod_1.z.literal("update"),
77
+ scope: scopeField,
78
+ projectId: zod_1.z.string().optional().describe("Project ID or path (required if scope=project)"),
79
+ groupId: zod_1.z.string().optional().describe("Group ID or path (required if scope=group)"),
80
+ hookId: utils_1.requiredId.describe("Webhook ID (required)"),
81
+ url: zod_1.z.string().optional().describe("Webhook URL"),
82
+ name: zod_1.z.string().optional().describe("Human-readable webhook name (GitLab 16.11+)"),
83
+ description: zod_1.z.string().optional().describe("Webhook description (GitLab 16.11+)"),
84
+ token: zod_1.z.string().optional().describe("Secret token for webhook validation"),
85
+ ...WebhookEventFields,
86
+ });
87
+ const DeleteWebhookSchema = zod_1.z.object({
88
+ action: zod_1.z.literal("delete"),
89
+ scope: scopeField,
90
+ projectId: zod_1.z.string().optional().describe("Project ID or path (required if scope=project)"),
91
+ groupId: zod_1.z.string().optional().describe("Group ID or path (required if scope=group)"),
92
+ hookId: utils_1.requiredId.describe("Webhook ID (required)"),
93
+ });
94
+ const TestWebhookSchema = zod_1.z.object({
95
+ action: zod_1.z.literal("test"),
96
+ scope: scopeField,
97
+ projectId: zod_1.z.string().optional().describe("Project ID or path (required if scope=project)"),
98
+ groupId: zod_1.z.string().optional().describe("Group ID or path (required if scope=group)"),
99
+ hookId: utils_1.requiredId.describe("Webhook ID (required)"),
100
+ trigger: TriggerEventSchema.describe("Event type to test (required)"),
99
101
  });
102
+ exports.ManageWebhookSchema = zod_1.z.discriminatedUnion("action", [
103
+ CreateWebhookSchema,
104
+ ReadWebhookSchema,
105
+ UpdateWebhookSchema,
106
+ DeleteWebhookSchema,
107
+ TestWebhookSchema,
108
+ ]);
100
109
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/entities/webhooks/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/entities/webhooks/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.wikiToolRegistry = new Map([
47
47
  [
48
48
  "browse_wiki",
@@ -52,6 +52,9 @@ exports.wikiToolRegistry = new Map([
52
52
  inputSchema: z.toJSONSchema(schema_readonly_1.BrowseWikiSchema),
53
53
  handler: async (args) => {
54
54
  const input = schema_readonly_1.BrowseWikiSchema.parse(args);
55
+ if ((0, config_1.isActionDenied)("browse_wiki", input.action)) {
56
+ throw new Error(`Action '${input.action}' is not allowed for browse_wiki tool`);
57
+ }
55
58
  const { entityType, encodedPath } = await (0, namespace_1.resolveNamespaceForAPI)(input.namespace);
56
59
  switch (input.action) {
57
60
  case "list": {
@@ -60,7 +63,6 @@ exports.wikiToolRegistry = new Map([
60
63
  return gitlab_api_1.gitlab.get(`${entityType}/${encodedPath}/wikis`, { query });
61
64
  }
62
65
  case "get": {
63
- (0, utils_1.assertDefined)(input.slug, "slug");
64
66
  return gitlab_api_1.gitlab.get(`${entityType}/${encodedPath}/wikis/${encodeURIComponent(input.slug)}`);
65
67
  }
66
68
  default:
@@ -77,6 +79,9 @@ exports.wikiToolRegistry = new Map([
77
79
  inputSchema: z.toJSONSchema(schema_1.ManageWikiSchema),
78
80
  handler: async (args) => {
79
81
  const input = schema_1.ManageWikiSchema.parse(args);
82
+ if ((0, config_1.isActionDenied)("manage_wiki", input.action)) {
83
+ throw new Error(`Action '${input.action}' is not allowed for manage_wiki tool`);
84
+ }
80
85
  const { entityType, encodedPath } = await (0, namespace_1.resolveNamespaceForAPI)(input.namespace);
81
86
  switch (input.action) {
82
87
  case "create": {
@@ -87,7 +92,6 @@ exports.wikiToolRegistry = new Map([
87
92
  });
88
93
  }
89
94
  case "update": {
90
- (0, utils_1.assertDefined)(input.slug, "slug");
91
95
  const { action: _action, namespace: _namespace, slug, ...body } = input;
92
96
  return gitlab_api_1.gitlab.put(`${entityType}/${encodedPath}/wikis/${encodeURIComponent(slug)}`, {
93
97
  body,
@@ -95,7 +99,6 @@ exports.wikiToolRegistry = new Map([
95
99
  });
96
100
  }
97
101
  case "delete": {
98
- (0, utils_1.assertDefined)(input.slug, "slug");
99
102
  await gitlab_api_1.gitlab.delete(`${entityType}/${encodedPath}/wikis/${encodeURIComponent(input.slug)}`);
100
103
  return { deleted: true };
101
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/entities/wiki/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/entities/wiki/registry.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  import { z } from "zod";
2
- export declare const BrowseWikiSchema: z.ZodObject<{
3
- action: z.ZodEnum<{
4
- list: "list";
5
- get: "get";
6
- }>;
2
+ export declare const BrowseWikiSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3
+ action: z.ZodLiteral<"list">;
7
4
  namespace: z.ZodString;
8
- slug: z.ZodOptional<z.ZodString>;
9
5
  with_content: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
10
6
  per_page: z.ZodOptional<z.ZodNumber>;
11
7
  page: z.ZodOptional<z.ZodNumber>;
12
- }, z.core.$strip>;
8
+ }, z.core.$strip>, z.ZodObject<{
9
+ action: z.ZodLiteral<"get">;
10
+ namespace: z.ZodString;
11
+ slug: z.ZodString;
12
+ }, z.core.$strip>], "action">;
13
13
  export declare const GitLabWikiPageSchema: z.ZodObject<{
14
14
  title: z.ZodString;
15
15
  slug: z.ZodString;
@@ -3,24 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GitLabWikiPageSchema = exports.BrowseWikiSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const utils_1 = require("../utils");
6
- exports.BrowseWikiSchema = 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
- slug: zod_1.z
11
- .string()
12
- .optional()
13
- .describe("URL-encoded slug of the wiki page. Required for 'get' action."),
14
- with_content: utils_1.flexibleBoolean
15
- .optional()
16
- .describe("For 'list': include content of the wiki pages"),
6
+ const namespaceField = zod_1.z.string().describe("Namespace path (group or project)");
7
+ const ListWikiSchema = zod_1.z.object({
8
+ action: zod_1.z.literal("list").describe("List all wiki pages"),
9
+ namespace: namespaceField,
10
+ with_content: utils_1.flexibleBoolean.optional().describe("Include content of the wiki pages"),
17
11
  per_page: zod_1.z.number().optional().describe("Number of items per page"),
18
12
  page: zod_1.z.number().optional().describe("Page number"),
19
- })
20
- .refine(data => data.action !== "get" || data.slug !== undefined, {
21
- message: "slug is required for 'get' action",
22
- path: ["slug"],
23
13
  });
14
+ const GetWikiSchema = zod_1.z.object({
15
+ action: zod_1.z.literal("get").describe("Get a single wiki page by slug"),
16
+ namespace: namespaceField,
17
+ slug: zod_1.z.string().describe("URL-encoded slug of the wiki page"),
18
+ });
19
+ exports.BrowseWikiSchema = zod_1.z.discriminatedUnion("action", [ListWikiSchema, GetWikiSchema]);
24
20
  exports.GitLabWikiPageSchema = zod_1.z.object({
25
21
  title: zod_1.z.string(),
26
22
  slug: zod_1.z.string(),
@@ -1 +1 @@
1
- {"version":3,"file":"schema-readonly.js","sourceRoot":"","sources":["../../../../src/entities/wiki/schema-readonly.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,oCAA2C;AAS9B,QAAA,gBAAgB,GAAG,OAAC;KAC9B,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,IAAI,EAAE,OAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,+DAA+D,CAAC;IAE5E,YAAY,EAAE,uBAAe;SAC1B,QAAQ,EAAE;SACV,QAAQ,CAAC,+CAA+C,CAAC;IAE5D,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,IAAI,KAAK,SAAS,EAAE;IAChE,OAAO,EAAE,mCAAmC;IAC5C,IAAI,EAAE,CAAC,MAAM,CAAC;CACf,CAAC,CAAC;AAMQ,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC"}
1
+ {"version":3,"file":"schema-readonly.js","sourceRoot":"","sources":["../../../../src/entities/wiki/schema-readonly.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,oCAA2C;AAU3C,MAAM,cAAc,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;AAGhF,MAAM,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9B,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACzD,SAAS,EAAE,cAAc;IACzB,YAAY,EAAE,uBAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACtF,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,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7B,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACnE,SAAS,EAAE,cAAc;IACzB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CAC/D,CAAC,CAAC;AAGU,QAAA,gBAAgB,GAAG,OAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;AAMnF,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC"}
@@ -1,12 +1,19 @@
1
1
  import { z } from "zod";
2
- export declare const ManageWikiSchema: z.ZodObject<{
3
- action: z.ZodEnum<{
4
- create: "create";
5
- update: "update";
6
- delete: "delete";
7
- }>;
2
+ export declare const ManageWikiSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3
+ action: z.ZodLiteral<"create">;
8
4
  namespace: z.ZodString;
9
- slug: z.ZodOptional<z.ZodString>;
5
+ title: z.ZodString;
6
+ content: z.ZodString;
7
+ format: z.ZodOptional<z.ZodEnum<{
8
+ markdown: "markdown";
9
+ rdoc: "rdoc";
10
+ asciidoc: "asciidoc";
11
+ org: "org";
12
+ }>>;
13
+ }, z.core.$strip>, z.ZodObject<{
14
+ action: z.ZodLiteral<"update">;
15
+ namespace: z.ZodString;
16
+ slug: z.ZodString;
10
17
  title: z.ZodOptional<z.ZodString>;
11
18
  content: z.ZodOptional<z.ZodString>;
12
19
  format: z.ZodOptional<z.ZodEnum<{
@@ -15,5 +22,9 @@ export declare const ManageWikiSchema: z.ZodObject<{
15
22
  asciidoc: "asciidoc";
16
23
  org: "org";
17
24
  }>>;
18
- }, z.core.$strip>;
25
+ }, z.core.$strip>, z.ZodObject<{
26
+ action: z.ZodLiteral<"delete">;
27
+ namespace: z.ZodString;
28
+ slug: z.ZodString;
29
+ }, z.core.$strip>], "action">;
19
30
  export type ManageWikiInput = z.infer<typeof ManageWikiSchema>;
@@ -2,34 +2,37 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ManageWikiSchema = void 0;
4
4
  const zod_1 = require("zod");
5
- exports.ManageWikiSchema = zod_1.z
6
- .object({
7
- action: zod_1.z.enum(["create", "update", "delete"]).describe("Action to perform"),
8
- namespace: zod_1.z.string().describe("Namespace path (group or project)"),
9
- slug: zod_1.z
10
- .string()
11
- .optional()
12
- .describe("URL-encoded slug of the wiki page. Required for 'update' and 'delete' actions."),
13
- title: zod_1.z.string().optional().describe("Title of the wiki page. Required for 'create' action."),
14
- content: zod_1.z
15
- .string()
16
- .optional()
17
- .describe("Content of the wiki page. Required for 'create' action."),
18
- format: zod_1.z
19
- .enum(["markdown", "rdoc", "asciidoc", "org"])
20
- .optional()
21
- .describe("Content format (markdown, rdoc, asciidoc, org). Defaults to markdown."),
22
- })
23
- .refine(data => data.action === "create" || data.slug !== undefined, {
24
- message: "slug is required for 'update' and 'delete' actions",
25
- path: ["slug"],
26
- })
27
- .refine(data => data.action !== "create" || data.title !== undefined, {
28
- message: "title is required for 'create' action",
29
- path: ["title"],
30
- })
31
- .refine(data => data.action !== "create" || data.content !== undefined, {
32
- message: "content is required for 'create' action",
33
- path: ["content"],
5
+ const namespaceField = zod_1.z.string().describe("Namespace path (group or project)");
6
+ const slugField = zod_1.z.string().describe("URL-encoded slug of the wiki page");
7
+ const titleField = zod_1.z.string().describe("Title of the wiki page");
8
+ const contentField = zod_1.z.string().describe("Content of the wiki page");
9
+ const formatField = zod_1.z
10
+ .enum(["markdown", "rdoc", "asciidoc", "org"])
11
+ .optional()
12
+ .describe("Content format (markdown, rdoc, asciidoc, org). Defaults to markdown.");
13
+ const CreateWikiSchema = zod_1.z.object({
14
+ action: zod_1.z.literal("create").describe("Create a new wiki page"),
15
+ namespace: namespaceField,
16
+ title: titleField,
17
+ content: contentField,
18
+ format: formatField,
34
19
  });
20
+ const UpdateWikiSchema = zod_1.z.object({
21
+ action: zod_1.z.literal("update").describe("Update an existing wiki page"),
22
+ namespace: namespaceField,
23
+ slug: slugField,
24
+ title: zod_1.z.string().optional().describe("New title of the wiki page"),
25
+ content: zod_1.z.string().optional().describe("New content of the wiki page"),
26
+ format: formatField,
27
+ });
28
+ const DeleteWikiSchema = zod_1.z.object({
29
+ action: zod_1.z.literal("delete").describe("Delete a wiki page"),
30
+ namespace: namespaceField,
31
+ slug: slugField,
32
+ });
33
+ exports.ManageWikiSchema = zod_1.z.discriminatedUnion("action", [
34
+ CreateWikiSchema,
35
+ UpdateWikiSchema,
36
+ DeleteWikiSchema,
37
+ ]);
35
38
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/entities/wiki/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AASX,QAAA,gBAAgB,GAAG,OAAC;KAC9B,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,IAAI,EAAE,OAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,gFAAgF,CAAC;IAE7F,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;IAC9F,OAAO,EAAE,OAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,yDAAyD,CAAC;IACtE,MAAM,EAAE,OAAC;SACN,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;SAC7C,QAAQ,EAAE;SACV,QAAQ,CAAC,uEAAuE,CAAC;CACrF,CAAC;KACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;IACnE,OAAO,EAAE,oDAAoD;IAC7D,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;KACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;IACtE,OAAO,EAAE,yCAAyC;IAClD,IAAI,EAAE,CAAC,SAAS,CAAC;CAClB,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/entities/wiki/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAUxB,MAAM,cAAc,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;AAChF,MAAM,SAAS,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;AAC3E,MAAM,UAAU,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;AACjE,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AACrE,MAAM,WAAW,GAAG,OAAC;KAClB,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;KAC7C,QAAQ,EAAE;KACV,QAAQ,CAAC,uEAAuE,CAAC,CAAC;AAGrF,MAAM,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAC9D,SAAS,EAAE,cAAc;IACzB,KAAK,EAAE,UAAU;IACjB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,WAAW;CACpB,CAAC,CAAC;AAGH,MAAM,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACpE,SAAS,EAAE,cAAc;IACzB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACnE,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACvE,MAAM,EAAE,WAAW;CACpB,CAAC,CAAC;AAGH,MAAM,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC1D,SAAS,EAAE,cAAc;IACzB,IAAI,EAAE,SAAS;CAChB,CAAC,CAAC;AAGU,QAAA,gBAAgB,GAAG,OAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IAC7D,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;CACjB,CAAC,CAAC"}
@@ -41,7 +41,7 @@ const z = __importStar(require("zod"));
41
41
  const schema_readonly_1 = require("./schema-readonly");
42
42
  const schema_1 = require("./schema");
43
43
  const ConnectionManager_1 = require("../../services/ConnectionManager");
44
- const utils_1 = require("../utils");
44
+ const config_1 = require("../../config");
45
45
  const workItemTypes_1 = require("../../utils/workItemTypes");
46
46
  const idConversion_1 = require("../../utils/idConversion");
47
47
  const workItems_1 = require("../../graphql/workItems");
@@ -140,9 +140,11 @@ exports.workitemsToolRegistry = new Map([
140
140
  inputSchema: z.toJSONSchema(schema_readonly_1.BrowseWorkItemsSchema),
141
141
  handler: async (args) => {
142
142
  const input = schema_readonly_1.BrowseWorkItemsSchema.parse(args);
143
+ if ((0, config_1.isActionDenied)("browse_work_items", input.action)) {
144
+ throw new Error(`Action '${input.action}' is not allowed for browse_work_items tool`);
145
+ }
143
146
  switch (input.action) {
144
147
  case "list": {
145
- (0, utils_1.assertDefined)(input.namespace, "namespace");
146
148
  const { namespace, types, state, first, after, simple } = input;
147
149
  const namespacePath = namespace;
148
150
  console.log("browse_work_items list called with:", {
@@ -186,7 +188,6 @@ exports.workitemsToolRegistry = new Map([
186
188
  };
187
189
  }
188
190
  case "get": {
189
- (0, utils_1.assertDefined)(input.id, "id");
190
191
  const workItemId = input.id;
191
192
  const connectionManager = ConnectionManager_1.ConnectionManager.getInstance();
192
193
  const client = connectionManager.getClient();
@@ -211,11 +212,11 @@ exports.workitemsToolRegistry = new Map([
211
212
  inputSchema: z.toJSONSchema(schema_1.ManageWorkItemSchema),
212
213
  handler: async (args) => {
213
214
  const input = schema_1.ManageWorkItemSchema.parse(args);
215
+ if ((0, config_1.isActionDenied)("manage_work_item", input.action)) {
216
+ throw new Error(`Action '${input.action}' is not allowed for manage_work_item tool`);
217
+ }
214
218
  switch (input.action) {
215
219
  case "create": {
216
- (0, utils_1.assertDefined)(input.namespace, "namespace");
217
- (0, utils_1.assertDefined)(input.title, "title");
218
- (0, utils_1.assertDefined)(input.workItemType, "workItemType");
219
220
  const { namespace, title, workItemType, description, assigneeIds, labelIds, milestoneId, } = input;
220
221
  const namespacePath = namespace;
221
222
  const workItemTitle = title;
@@ -258,7 +259,6 @@ exports.workitemsToolRegistry = new Map([
258
259
  return (0, idConversion_1.cleanWorkItemResponse)(response.workItemCreate.workItem);
259
260
  }
260
261
  case "update": {
261
- (0, utils_1.assertDefined)(input.id, "id");
262
262
  const { id, title, description, state, assigneeIds, labelIds, milestoneId } = input;
263
263
  const workItemId = id;
264
264
  const connectionManager = ConnectionManager_1.ConnectionManager.getInstance();
@@ -292,7 +292,6 @@ exports.workitemsToolRegistry = new Map([
292
292
  return (0, idConversion_1.cleanWorkItemResponse)(response.workItemUpdate.workItem);
293
293
  }
294
294
  case "delete": {
295
- (0, utils_1.assertDefined)(input.id, "id");
296
295
  const workItemId = input.id;
297
296
  const connectionManager = ConnectionManager_1.ConnectionManager.getInstance();
298
297
  const client = connectionManager.getClient();