@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-tools.js","sourceRoot":"","sources":["../../../src/cli/list-tools.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,9 @@ export declare const GITLAB_AUTH_COOKIE_PATH: string | undefined;
3
3
  export declare const IS_OLD: boolean;
4
4
  export declare const GITLAB_READ_ONLY_MODE: boolean;
5
5
  export declare const GITLAB_DENIED_TOOLS_REGEX: RegExp | undefined;
6
+ export declare const GITLAB_DENIED_ACTIONS: Map<string, Set<string>>;
7
+ export type SchemaMode = "flat" | "discriminated";
8
+ export declare const GITLAB_SCHEMA_MODE: SchemaMode;
6
9
  export declare const USE_GITLAB_WIKI: boolean;
7
10
  export declare const USE_MILESTONE: boolean;
8
11
  export declare const USE_PIPELINE: boolean;
@@ -42,3 +45,7 @@ declare let packageName: string;
42
45
  declare let packageVersion: string;
43
46
  export { packageName, packageVersion };
44
47
  export declare function getToolDescriptionOverrides(): Map<string, string>;
48
+ export declare function getActionDescriptionOverrides(): Map<string, string>;
49
+ export declare function getParamDescriptionOverrides(): Map<string, string>;
50
+ export declare function isActionDenied(toolName: string, actionName: string): boolean;
51
+ export declare function getAllowedActions(toolName: string, allActions: string[]): string[];
@@ -33,9 +33,13 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.packageVersion = exports.packageName = exports.GITLAB_ALLOWED_PROJECT_IDS = exports.GITLAB_PROJECT_ID = exports.GITLAB_API_URL = exports.GITLAB_BASE_URL = exports.GITLAB_CA_CERT_PATH = exports.NODE_TLS_REJECT_UNAUTHORIZED = exports.HTTPS_PROXY = exports.HTTP_PROXY = exports.SKIP_TLS_VERIFY = exports.RATE_LIMIT_SESSION_MAX_REQUESTS = exports.RATE_LIMIT_SESSION_WINDOW_MS = exports.RATE_LIMIT_SESSION_ENABLED = exports.RATE_LIMIT_IP_MAX_REQUESTS = exports.RATE_LIMIT_IP_WINDOW_MS = exports.RATE_LIMIT_IP_ENABLED = exports.API_TIMEOUT_MS = exports.TRUST_PROXY = exports.SSL_PASSPHRASE = exports.SSL_CA_PATH = exports.SSL_KEY_PATH = exports.SSL_CERT_PATH = exports.PORT = exports.HOST = exports.USE_INTEGRATIONS = exports.USE_WEBHOOKS = exports.USE_SNIPPETS = exports.USE_VARIABLES = exports.USE_FILES = exports.USE_MRS = exports.USE_LABELS = exports.USE_WORKITEMS = exports.USE_PIPELINE = exports.USE_MILESTONE = exports.USE_GITLAB_WIKI = exports.GITLAB_DENIED_TOOLS_REGEX = exports.GITLAB_READ_ONLY_MODE = exports.IS_OLD = exports.GITLAB_AUTH_COOKIE_PATH = exports.GITLAB_TOKEN = void 0;
36
+ exports.packageVersion = exports.packageName = exports.GITLAB_ALLOWED_PROJECT_IDS = exports.GITLAB_PROJECT_ID = exports.GITLAB_API_URL = exports.GITLAB_BASE_URL = exports.GITLAB_CA_CERT_PATH = exports.NODE_TLS_REJECT_UNAUTHORIZED = exports.HTTPS_PROXY = exports.HTTP_PROXY = exports.SKIP_TLS_VERIFY = exports.RATE_LIMIT_SESSION_MAX_REQUESTS = exports.RATE_LIMIT_SESSION_WINDOW_MS = exports.RATE_LIMIT_SESSION_ENABLED = exports.RATE_LIMIT_IP_MAX_REQUESTS = exports.RATE_LIMIT_IP_WINDOW_MS = exports.RATE_LIMIT_IP_ENABLED = exports.API_TIMEOUT_MS = exports.TRUST_PROXY = exports.SSL_PASSPHRASE = exports.SSL_CA_PATH = exports.SSL_KEY_PATH = exports.SSL_CERT_PATH = exports.PORT = exports.HOST = exports.USE_INTEGRATIONS = exports.USE_WEBHOOKS = exports.USE_SNIPPETS = exports.USE_VARIABLES = exports.USE_FILES = exports.USE_MRS = exports.USE_LABELS = exports.USE_WORKITEMS = exports.USE_PIPELINE = exports.USE_MILESTONE = exports.USE_GITLAB_WIKI = exports.GITLAB_SCHEMA_MODE = exports.GITLAB_DENIED_ACTIONS = exports.GITLAB_DENIED_TOOLS_REGEX = exports.GITLAB_READ_ONLY_MODE = exports.IS_OLD = exports.GITLAB_AUTH_COOKIE_PATH = exports.GITLAB_TOKEN = void 0;
37
37
  exports.getEffectiveProjectId = getEffectiveProjectId;
38
38
  exports.getToolDescriptionOverrides = getToolDescriptionOverrides;
39
+ exports.getActionDescriptionOverrides = getActionDescriptionOverrides;
40
+ exports.getParamDescriptionOverrides = getParamDescriptionOverrides;
41
+ exports.isActionDenied = isActionDenied;
42
+ exports.getAllowedActions = getAllowedActions;
39
43
  const path = __importStar(require("path"));
40
44
  const fs = __importStar(require("fs"));
41
45
  const packageJsonPath = path.resolve(process.cwd(), "package.json");
@@ -46,6 +50,43 @@ exports.GITLAB_READ_ONLY_MODE = process.env.GITLAB_READ_ONLY_MODE === "true";
46
50
  exports.GITLAB_DENIED_TOOLS_REGEX = process.env.GITLAB_DENIED_TOOLS_REGEX
47
51
  ? new RegExp(process.env.GITLAB_DENIED_TOOLS_REGEX)
48
52
  : undefined;
53
+ function parseDeniedActions(envValue) {
54
+ const deniedActions = new Map();
55
+ if (!envValue) {
56
+ return deniedActions;
57
+ }
58
+ const pairs = envValue
59
+ .split(",")
60
+ .map(s => s.trim())
61
+ .filter(Boolean);
62
+ for (const pair of pairs) {
63
+ const colonIndex = pair.indexOf(":");
64
+ if (colonIndex === -1) {
65
+ continue;
66
+ }
67
+ const toolName = pair.substring(0, colonIndex).toLowerCase();
68
+ const actionName = pair.substring(colonIndex + 1).toLowerCase();
69
+ if (!toolName || !actionName) {
70
+ continue;
71
+ }
72
+ let actionSet = deniedActions.get(toolName);
73
+ if (!actionSet) {
74
+ actionSet = new Set();
75
+ deniedActions.set(toolName, actionSet);
76
+ }
77
+ actionSet.add(actionName);
78
+ }
79
+ return deniedActions;
80
+ }
81
+ exports.GITLAB_DENIED_ACTIONS = parseDeniedActions(process.env.GITLAB_DENIED_ACTIONS);
82
+ function parseSchemaMode(value) {
83
+ const mode = value?.toLowerCase();
84
+ if (mode === "discriminated") {
85
+ return "discriminated";
86
+ }
87
+ return "flat";
88
+ }
89
+ exports.GITLAB_SCHEMA_MODE = parseSchemaMode(process.env.GITLAB_SCHEMA_MODE);
49
90
  exports.USE_GITLAB_WIKI = process.env.USE_GITLAB_WIKI !== "false";
50
91
  exports.USE_MILESTONE = process.env.USE_MILESTONE !== "false";
51
92
  exports.USE_PIPELINE = process.env.USE_PIPELINE !== "false";
@@ -125,4 +166,58 @@ function getToolDescriptionOverrides() {
125
166
  }
126
167
  return overrides;
127
168
  }
169
+ function getActionDescriptionOverrides() {
170
+ const overrides = new Map();
171
+ const prefix = "GITLAB_ACTION_";
172
+ for (const [key, value] of Object.entries(process.env)) {
173
+ if (key.startsWith(prefix) && value) {
174
+ const rest = key.substring(prefix.length).toLowerCase();
175
+ const lastUnderscoreIndex = rest.lastIndexOf("_");
176
+ if (lastUnderscoreIndex === -1) {
177
+ continue;
178
+ }
179
+ const toolName = rest.substring(0, lastUnderscoreIndex);
180
+ const actionName = rest.substring(lastUnderscoreIndex + 1);
181
+ if (!toolName || !actionName) {
182
+ continue;
183
+ }
184
+ overrides.set(`${toolName}:${actionName}`, value);
185
+ }
186
+ }
187
+ return overrides;
188
+ }
189
+ function getParamDescriptionOverrides() {
190
+ const overrides = new Map();
191
+ const prefix = "GITLAB_PARAM_";
192
+ for (const [key, value] of Object.entries(process.env)) {
193
+ if (key.startsWith(prefix) && value) {
194
+ const rest = key.substring(prefix.length).toLowerCase();
195
+ const lastUnderscoreIndex = rest.lastIndexOf("_");
196
+ if (lastUnderscoreIndex === -1) {
197
+ continue;
198
+ }
199
+ const toolName = rest.substring(0, lastUnderscoreIndex);
200
+ const paramName = rest.substring(lastUnderscoreIndex + 1);
201
+ if (!toolName || !paramName) {
202
+ continue;
203
+ }
204
+ overrides.set(`${toolName}:${paramName}`, value);
205
+ }
206
+ }
207
+ return overrides;
208
+ }
209
+ function isActionDenied(toolName, actionName) {
210
+ const deniedActions = exports.GITLAB_DENIED_ACTIONS.get(toolName.toLowerCase());
211
+ if (!deniedActions) {
212
+ return false;
213
+ }
214
+ return deniedActions.has(actionName.toLowerCase());
215
+ }
216
+ function getAllowedActions(toolName, allActions) {
217
+ const deniedActions = exports.GITLAB_DENIED_ACTIONS.get(toolName.toLowerCase());
218
+ if (!deniedActions || deniedActions.size === 0) {
219
+ return allActions;
220
+ }
221
+ return allActions.filter(action => !deniedActions.has(action.toLowerCase()));
222
+ }
128
223
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,7 @@ const fetch_1 = require("../../utils/fetch");
44
44
  const projectIdentifier_1 = require("../../utils/projectIdentifier");
45
45
  const smart_user_search_1 = require("../../utils/smart-user-search");
46
46
  const idConversion_1 = require("../../utils/idConversion");
47
- const utils_1 = require("../utils");
47
+ const config_1 = require("../../config");
48
48
  exports.coreToolRegistry = new Map([
49
49
  [
50
50
  "browse_projects",
@@ -53,10 +53,13 @@ exports.coreToolRegistry = new Map([
53
53
  description: "PROJECT DISCOVERY: Find, browse, or inspect GitLab projects. Use 'search' to find projects by name/topic across all GitLab. Use 'list' to browse your accessible projects or projects within a specific group. Use 'get' with project_id to retrieve full details of a known project. Filter by visibility, language, or ownership.",
54
54
  inputSchema: z.toJSONSchema(schema_readonly_1.BrowseProjectsSchema),
55
55
  handler: async (args) => {
56
- const options = schema_readonly_1.BrowseProjectsSchema.parse(args);
57
- switch (options.action) {
56
+ const input = schema_readonly_1.BrowseProjectsSchema.parse(args);
57
+ if ((0, config_1.isActionDenied)("browse_projects", input.action)) {
58
+ throw new Error(`Action '${input.action}' is not allowed for browse_projects tool`);
59
+ }
60
+ switch (input.action) {
58
61
  case "search": {
59
- const { q, with_programming_language, visibility, order_by, sort, per_page, page } = options;
62
+ const { q, with_programming_language, visibility, order_by, sort, per_page, page } = input;
60
63
  const queryParams = new URLSearchParams();
61
64
  if (q) {
62
65
  let finalSearchTerms = q;
@@ -92,7 +95,7 @@ exports.coreToolRegistry = new Map([
92
95
  return (0, idConversion_1.cleanGidsFromObject)(projects);
93
96
  }
94
97
  case "list": {
95
- const { group_id, search, owned, starred, membership, simple, with_programming_language, include_subgroups, with_shared, visibility, archived, order_by, sort, per_page, page, } = options;
98
+ const { group_id, search, owned, starred, membership, simple, with_programming_language, include_subgroups, with_shared, visibility, archived, order_by, sort, per_page, page, } = input;
96
99
  const queryParams = new URLSearchParams();
97
100
  if (visibility)
98
101
  queryParams.set("visibility", visibility);
@@ -146,15 +149,13 @@ exports.coreToolRegistry = new Map([
146
149
  return (0, idConversion_1.cleanGidsFromObject)(projects);
147
150
  }
148
151
  case "get": {
149
- (0, utils_1.assertDefined)(options.project_id, "project_id");
150
- const projectId = options.project_id;
151
- const { statistics, license } = options;
152
+ const { project_id, statistics, license } = input;
152
153
  const queryParams = new URLSearchParams();
153
154
  if (statistics)
154
155
  queryParams.set("statistics", "true");
155
156
  if (license)
156
157
  queryParams.set("license", "true");
157
- const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/projects/${(0, projectIdentifier_1.normalizeProjectId)(projectId)}?${queryParams}`;
158
+ const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/projects/${(0, projectIdentifier_1.normalizeProjectId)(project_id)}?${queryParams}`;
158
159
  const response = await (0, fetch_1.enhancedFetch)(apiUrl);
159
160
  if (!response.ok) {
160
161
  throw new Error(`GitLab API error: ${response.status} ${response.statusText}`);
@@ -163,7 +164,7 @@ exports.coreToolRegistry = new Map([
163
164
  return (0, idConversion_1.cleanGidsFromObject)(project);
164
165
  }
165
166
  default:
166
- throw new Error(`Unknown action: ${options.action}`);
167
+ throw new Error(`Unknown action: ${input.action}`);
167
168
  }
168
169
  },
169
170
  },
@@ -175,10 +176,13 @@ exports.coreToolRegistry = new Map([
175
176
  description: "NAMESPACE OPERATIONS: Explore GitLab groups and user namespaces. Use 'list' to discover available namespaces for project creation. Use 'get' with namespace_id to retrieve full details including storage stats. Use 'verify' to check if a namespace path exists before creating projects or groups.",
176
177
  inputSchema: z.toJSONSchema(schema_readonly_1.BrowseNamespacesSchema),
177
178
  handler: async (args) => {
178
- const options = schema_readonly_1.BrowseNamespacesSchema.parse(args);
179
- switch (options.action) {
179
+ const input = schema_readonly_1.BrowseNamespacesSchema.parse(args);
180
+ if ((0, config_1.isActionDenied)("browse_namespaces", input.action)) {
181
+ throw new Error(`Action '${input.action}' is not allowed for browse_namespaces tool`);
182
+ }
183
+ switch (input.action) {
180
184
  case "list": {
181
- const { search, owned_only, top_level_only, with_statistics, min_access_level, per_page, page, } = options;
185
+ const { search, owned_only, top_level_only, with_statistics, min_access_level, per_page, page, } = input;
182
186
  const queryParams = new URLSearchParams();
183
187
  if (search)
184
188
  queryParams.set("search", search);
@@ -203,9 +207,8 @@ exports.coreToolRegistry = new Map([
203
207
  return (0, idConversion_1.cleanGidsFromObject)(namespaces);
204
208
  }
205
209
  case "get": {
206
- (0, utils_1.assertDefined)(options.namespace_id, "namespace_id");
207
- const namespaceId = options.namespace_id;
208
- const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/namespaces/${encodeURIComponent(namespaceId)}`;
210
+ const { namespace_id } = input;
211
+ const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/namespaces/${encodeURIComponent(namespace_id)}`;
209
212
  const response = await (0, fetch_1.enhancedFetch)(apiUrl);
210
213
  if (!response.ok) {
211
214
  throw new Error(`GitLab API error: ${response.status} ${response.statusText}`);
@@ -214,19 +217,18 @@ exports.coreToolRegistry = new Map([
214
217
  return (0, idConversion_1.cleanGidsFromObject)(namespace);
215
218
  }
216
219
  case "verify": {
217
- (0, utils_1.assertDefined)(options.namespace_id, "namespace_id");
218
- const namespaceId = options.namespace_id;
219
- const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/namespaces/${encodeURIComponent(namespaceId)}`;
220
+ const { namespace_id } = input;
221
+ const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/namespaces/${encodeURIComponent(namespace_id)}`;
220
222
  const response = await (0, fetch_1.enhancedFetch)(apiUrl);
221
223
  return {
222
224
  exists: response.ok,
223
225
  status: response.status,
224
- namespace: namespaceId,
226
+ namespace: namespace_id,
225
227
  data: response.ok ? await response.json() : null,
226
228
  };
227
229
  }
228
230
  default:
229
- throw new Error(`Unknown action: ${options.action}`);
231
+ throw new Error(`Unknown action: ${input.action}`);
230
232
  }
231
233
  },
232
234
  },
@@ -238,10 +240,13 @@ exports.coreToolRegistry = new Map([
238
240
  description: "COMMIT HISTORY: Explore repository commit history. Use 'list' to browse commits with optional date range, author, or file path filters. Use 'get' with sha to retrieve commit metadata and stats. Use 'diff' to see actual code changes in a commit. Essential for code review and change tracking.",
239
241
  inputSchema: z.toJSONSchema(schema_readonly_1.BrowseCommitsSchema),
240
242
  handler: async (args) => {
241
- const options = schema_readonly_1.BrowseCommitsSchema.parse(args);
242
- switch (options.action) {
243
+ const input = schema_readonly_1.BrowseCommitsSchema.parse(args);
244
+ if ((0, config_1.isActionDenied)("browse_commits", input.action)) {
245
+ throw new Error(`Action '${input.action}' is not allowed for browse_commits tool`);
246
+ }
247
+ switch (input.action) {
243
248
  case "list": {
244
- const { project_id, ref_name, since, until, path, author, all, with_stats, first_parent, order, trailers, per_page, page, } = options;
249
+ const { project_id, ref_name, since, until, path, author, all, with_stats, first_parent, order, trailers, per_page, page, } = input;
245
250
  const queryParams = new URLSearchParams();
246
251
  if (ref_name)
247
252
  queryParams.set("ref_name", ref_name);
@@ -275,13 +280,11 @@ exports.coreToolRegistry = new Map([
275
280
  return await response.json();
276
281
  }
277
282
  case "get": {
278
- (0, utils_1.assertDefined)(options.sha, "sha");
279
- const commitSha = options.sha;
280
- const { project_id, stats } = options;
283
+ const { project_id, sha, stats } = input;
281
284
  const queryParams = new URLSearchParams();
282
285
  if (stats)
283
286
  queryParams.set("stats", "true");
284
- const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/projects/${encodeURIComponent(project_id)}/repository/commits/${encodeURIComponent(commitSha)}?${queryParams}`;
287
+ const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/projects/${encodeURIComponent(project_id)}/repository/commits/${encodeURIComponent(sha)}?${queryParams}`;
285
288
  const response = await (0, fetch_1.enhancedFetch)(apiUrl);
286
289
  if (!response.ok) {
287
290
  throw new Error(`GitLab API error: ${response.status} ${response.statusText}`);
@@ -289,13 +292,15 @@ exports.coreToolRegistry = new Map([
289
292
  return await response.json();
290
293
  }
291
294
  case "diff": {
292
- (0, utils_1.assertDefined)(options.sha, "sha");
293
- const commitSha = options.sha;
294
- const { project_id, unidiff } = options;
295
+ const { project_id, sha, unidiff, per_page, page } = input;
295
296
  const queryParams = new URLSearchParams();
296
297
  if (unidiff)
297
298
  queryParams.set("unidiff", "true");
298
- const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/projects/${encodeURIComponent(project_id)}/repository/commits/${encodeURIComponent(commitSha)}/diff?${queryParams}`;
299
+ if (per_page)
300
+ queryParams.set("per_page", String(per_page));
301
+ if (page)
302
+ queryParams.set("page", String(page));
303
+ const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/projects/${encodeURIComponent(project_id)}/repository/commits/${encodeURIComponent(sha)}/diff?${queryParams}`;
299
304
  const response = await (0, fetch_1.enhancedFetch)(apiUrl);
300
305
  if (!response.ok) {
301
306
  throw new Error(`GitLab API error: ${response.status} ${response.statusText}`);
@@ -303,7 +308,7 @@ exports.coreToolRegistry = new Map([
303
308
  return await response.json();
304
309
  }
305
310
  default:
306
- throw new Error(`Unknown action: ${options.action}`);
311
+ throw new Error(`Unknown action: ${input.action}`);
307
312
  }
308
313
  },
309
314
  },
@@ -315,7 +320,10 @@ exports.coreToolRegistry = new Map([
315
320
  description: "ACTIVITY FEED: Track GitLab activity and events. Use 'user' to see YOUR recent activity across all projects (commits, issues, MRs). Use 'project' with project_id to monitor a specific project's activity feed. Filter by date range or action type (pushed, commented, merged, etc.).",
316
321
  inputSchema: z.toJSONSchema(schema_readonly_1.BrowseEventsSchema),
317
322
  handler: async (args) => {
318
- const options = schema_readonly_1.BrowseEventsSchema.parse(args);
323
+ const input = schema_readonly_1.BrowseEventsSchema.parse(args);
324
+ if ((0, config_1.isActionDenied)("browse_events", input.action)) {
325
+ throw new Error(`Action '${input.action}' is not allowed for browse_events tool`);
326
+ }
319
327
  const buildQueryParams = (opts) => {
320
328
  const queryParams = new URLSearchParams();
321
329
  if (opts.target_type)
@@ -334,9 +342,9 @@ exports.coreToolRegistry = new Map([
334
342
  queryParams.set("page", String(opts.page));
335
343
  return queryParams;
336
344
  };
337
- switch (options.action) {
345
+ switch (input.action) {
338
346
  case "user": {
339
- const queryParams = buildQueryParams(options);
347
+ const queryParams = buildQueryParams(input);
340
348
  const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/events?${queryParams}`;
341
349
  const response = await (0, fetch_1.enhancedFetch)(apiUrl);
342
350
  if (!response.ok) {
@@ -345,10 +353,9 @@ exports.coreToolRegistry = new Map([
345
353
  return await response.json();
346
354
  }
347
355
  case "project": {
348
- (0, utils_1.assertDefined)(options.project_id, "project_id");
349
- const projectId = options.project_id;
350
- const queryParams = buildQueryParams(options);
351
- const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/projects/${encodeURIComponent(projectId)}/events?${queryParams}`;
356
+ const { project_id } = input;
357
+ const queryParams = buildQueryParams(input);
358
+ const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/projects/${encodeURIComponent(project_id)}/events?${queryParams}`;
352
359
  const response = await (0, fetch_1.enhancedFetch)(apiUrl);
353
360
  if (!response.ok) {
354
361
  throw new Error(`GitLab API error: ${response.status} ${response.statusText}`);
@@ -356,7 +363,7 @@ exports.coreToolRegistry = new Map([
356
363
  return await response.json();
357
364
  }
358
365
  default:
359
- throw new Error(`Unknown action: ${options.action}`);
366
+ throw new Error(`Unknown action: ${input.action}`);
360
367
  }
361
368
  },
362
369
  },
@@ -368,12 +375,13 @@ exports.coreToolRegistry = new Map([
368
375
  description: "REPOSITORY MANAGEMENT: Create or fork GitLab projects. Use 'create' to start a new project with custom settings (visibility, features, namespace). Use 'fork' with project_id to create your own copy of an existing project for independent development or contribution back via MRs.",
369
376
  inputSchema: z.toJSONSchema(schema_1.ManageRepositorySchema),
370
377
  handler: async (args) => {
371
- const options = schema_1.ManageRepositorySchema.parse(args);
372
- switch (options.action) {
378
+ const input = schema_1.ManageRepositorySchema.parse(args);
379
+ if ((0, config_1.isActionDenied)("manage_repository", input.action)) {
380
+ throw new Error(`Action '${input.action}' is not allowed for manage_repository tool`);
381
+ }
382
+ switch (input.action) {
373
383
  case "create": {
374
- (0, utils_1.assertDefined)(options.name, "name");
375
- const projectName = options.name;
376
- const { namespace, description, visibility, initialize_with_readme, issues_enabled, merge_requests_enabled, jobs_enabled, wiki_enabled, snippets_enabled, lfs_enabled, request_access_enabled, only_allow_merge_if_pipeline_succeeds, only_allow_merge_if_all_discussions_are_resolved, } = options;
384
+ const { name, namespace, description, visibility, initialize_with_readme, issues_enabled, merge_requests_enabled, jobs_enabled, wiki_enabled, snippets_enabled, lfs_enabled, request_access_enabled, only_allow_merge_if_pipeline_succeeds, only_allow_merge_if_all_discussions_are_resolved, } = input;
377
385
  let namespaceId;
378
386
  let resolvedNamespace = null;
379
387
  if (namespace) {
@@ -390,7 +398,7 @@ exports.coreToolRegistry = new Map([
390
398
  const targetNamespacePath = resolvedNamespace
391
399
  ? resolvedNamespace.full_path
392
400
  : "current-user";
393
- const projectPath = `${targetNamespacePath}/${projectName}`;
401
+ const projectPath = `${targetNamespacePath}/${name}`;
394
402
  const checkProjectUrl = `${process.env.GITLAB_API_URL}/api/v4/projects/${encodeURIComponent(projectPath)}`;
395
403
  const checkResponse = await (0, fetch_1.enhancedFetch)(checkProjectUrl);
396
404
  if (checkResponse.ok) {
@@ -398,8 +406,8 @@ exports.coreToolRegistry = new Map([
398
406
  throw new Error(`Project '${projectPath}' already exists (ID: ${existingProject.id}).`);
399
407
  }
400
408
  const body = new URLSearchParams();
401
- body.set("name", projectName);
402
- const generatedPath = projectName
409
+ body.set("name", name);
410
+ const generatedPath = name
403
411
  .toLowerCase()
404
412
  .replace(/[^a-z0-9-]/g, "-")
405
413
  .replace(/-+/g, "-")
@@ -450,9 +458,7 @@ exports.coreToolRegistry = new Map([
450
458
  };
451
459
  }
452
460
  case "fork": {
453
- (0, utils_1.assertDefined)(options.project_id, "project_id");
454
- const sourceProjectId = options.project_id;
455
- const { namespace, namespace_path, fork_name, fork_path } = options;
461
+ const { project_id, namespace, namespace_path, fork_name, fork_path } = input;
456
462
  const body = new URLSearchParams();
457
463
  if (namespace)
458
464
  body.set("namespace", namespace);
@@ -462,7 +468,7 @@ exports.coreToolRegistry = new Map([
462
468
  body.set("name", fork_name);
463
469
  if (fork_path)
464
470
  body.set("path", fork_path);
465
- const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/projects/${encodeURIComponent(sourceProjectId)}/fork`;
471
+ const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/projects/${encodeURIComponent(project_id)}/fork`;
466
472
  const response = await (0, fetch_1.enhancedFetch)(apiUrl, {
467
473
  method: "POST",
468
474
  headers: { "Content-Type": "application/x-www-form-urlencoded" },
@@ -474,7 +480,7 @@ exports.coreToolRegistry = new Map([
474
480
  return await response.json();
475
481
  }
476
482
  default:
477
- throw new Error(`Unknown action: ${options.action}`);
483
+ throw new Error(`Unknown action: ${input.action}`);
478
484
  }
479
485
  },
480
486
  },
@@ -684,12 +690,13 @@ exports.coreToolRegistry = new Map([
684
690
  description: "TODO ACTIONS: Manage your GitLab todo items. Use 'mark_done' with id to complete a single todo (returns the updated todo object). Use 'mark_all_done' to clear your entire todo queue (returns success status). Use 'restore' with id to undo a completed todo (returns the restored todo object).",
685
691
  inputSchema: z.toJSONSchema(schema_1.ManageTodosSchema),
686
692
  handler: async (args) => {
687
- const options = schema_1.ManageTodosSchema.parse(args);
688
- switch (options.action) {
693
+ const input = schema_1.ManageTodosSchema.parse(args);
694
+ if ((0, config_1.isActionDenied)("manage_todos", input.action)) {
695
+ throw new Error(`Action '${input.action}' is not allowed for manage_todos tool`);
696
+ }
697
+ switch (input.action) {
689
698
  case "mark_done": {
690
- (0, utils_1.assertDefined)(options.id, "id");
691
- const todoId = options.id;
692
- const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/todos/${todoId}/mark_as_done`;
699
+ const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/todos/${input.id}/mark_as_done`;
693
700
  const response = await (0, fetch_1.enhancedFetch)(apiUrl, { method: "POST" });
694
701
  if (!response.ok) {
695
702
  throw new Error(`GitLab API error: ${response.status} ${response.statusText}`);
@@ -706,9 +713,7 @@ exports.coreToolRegistry = new Map([
706
713
  return { success: true, message: "All todos marked as done" };
707
714
  }
708
715
  case "restore": {
709
- (0, utils_1.assertDefined)(options.id, "id");
710
- const todoId = options.id;
711
- const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/todos/${todoId}/mark_as_pending`;
716
+ const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/todos/${input.id}/mark_as_pending`;
712
717
  const response = await (0, fetch_1.enhancedFetch)(apiUrl, { method: "POST" });
713
718
  if (!response.ok) {
714
719
  throw new Error(`GitLab API error: ${response.status} ${response.statusText}`);
@@ -717,7 +722,7 @@ exports.coreToolRegistry = new Map([
717
722
  return (0, idConversion_1.cleanGidsFromObject)(todo);
718
723
  }
719
724
  default:
720
- throw new Error(`Unknown action: ${options.action}`);
725
+ throw new Error(`Unknown action: ${input.action}`);
721
726
  }
722
727
  },
723
728
  },