@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.
- package/LICENSE +202 -21
- package/LICENSE.MIT +21 -0
- package/README.md +169 -1
- package/dist/src/cli/list-tools.d.ts +2 -0
- package/dist/src/cli/list-tools.js +768 -0
- package/dist/src/cli/list-tools.js.map +1 -0
- package/dist/src/config.d.ts +7 -0
- package/dist/src/config.js +96 -1
- package/dist/src/config.js.map +1 -1
- package/dist/src/entities/core/registry.js +68 -63
- package/dist/src/entities/core/registry.js.map +1 -1
- package/dist/src/entities/core/schema-readonly.d.ts +93 -36
- package/dist/src/entities/core/schema-readonly.js +146 -121
- package/dist/src/entities/core/schema-readonly.js.map +1 -1
- package/dist/src/entities/core/schema.d.ts +33 -23
- package/dist/src/entities/core/schema.js +65 -60
- package/dist/src/entities/core/schema.js.map +1 -1
- package/dist/src/entities/files/registry.js +14 -21
- package/dist/src/entities/files/registry.js.map +1 -1
- package/dist/src/entities/files/schema-readonly.d.ts +8 -7
- package/dist/src/entities/files/schema-readonly.js +20 -25
- package/dist/src/entities/files/schema-readonly.js.map +1 -1
- package/dist/src/entities/files/schema.d.ts +22 -15
- package/dist/src/entities/files/schema.js +32 -73
- package/dist/src/entities/files/schema.js.map +1 -1
- package/dist/src/entities/integrations/registry.js +3 -0
- package/dist/src/entities/integrations/registry.js.map +1 -1
- package/dist/src/entities/integrations/schema.d.ts +114 -8
- package/dist/src/entities/integrations/schema.js +27 -9
- package/dist/src/entities/integrations/schema.js.map +1 -1
- package/dist/src/entities/labels/registry.js +8 -7
- package/dist/src/entities/labels/registry.js.map +1 -1
- package/dist/src/entities/labels/schema-readonly.d.ts +8 -7
- package/dist/src/entities/labels/schema-readonly.js +20 -18
- package/dist/src/entities/labels/schema-readonly.js.map +1 -1
- package/dist/src/entities/labels/schema.d.ts +15 -8
- package/dist/src/entities/labels/schema.js +36 -27
- package/dist/src/entities/labels/schema.js.map +1 -1
- package/dist/src/entities/milestones/registry.js +7 -8
- package/dist/src/entities/milestones/registry.js.map +1 -1
- package/dist/src/entities/milestones/schema-readonly.d.ts +25 -10
- package/dist/src/entities/milestones/schema-readonly.js +47 -26
- package/dist/src/entities/milestones/schema-readonly.js.map +1 -1
- package/dist/src/entities/milestones/schema.d.ts +19 -9
- package/dist/src/entities/milestones/schema.js +31 -20
- package/dist/src/entities/milestones/schema.js.map +1 -1
- package/dist/src/entities/mrs/registry.js +75 -79
- package/dist/src/entities/mrs/registry.js.map +1 -1
- package/dist/src/entities/mrs/schema-readonly.d.ts +36 -23
- package/dist/src/entities/mrs/schema-readonly.js +197 -338
- package/dist/src/entities/mrs/schema-readonly.js.map +1 -1
- package/dist/src/entities/mrs/schema.d.ts +113 -37
- package/dist/src/entities/mrs/schema.js +140 -258
- package/dist/src/entities/mrs/schema.js.map +1 -1
- package/dist/src/entities/pipelines/registry.js +10 -4
- package/dist/src/entities/pipelines/registry.js.map +1 -1
- package/dist/src/entities/pipelines/schema-readonly.d.ts +30 -14
- package/dist/src/entities/pipelines/schema-readonly.js +62 -52
- package/dist/src/entities/pipelines/schema-readonly.js.map +1 -1
- package/dist/src/entities/pipelines/schema.d.ts +23 -16
- package/dist/src/entities/pipelines/schema.js +44 -26
- package/dist/src/entities/pipelines/schema.js.map +1 -1
- package/dist/src/entities/snippets/registry.js +79 -67
- package/dist/src/entities/snippets/registry.js.map +1 -1
- package/dist/src/entities/snippets/schema-readonly.d.ts +8 -9
- package/dist/src/entities/snippets/schema-readonly.js +30 -35
- package/dist/src/entities/snippets/schema-readonly.js.map +1 -1
- package/dist/src/entities/snippets/schema.d.ts +7 -11
- package/dist/src/entities/snippets/schema.js +31 -65
- package/dist/src/entities/snippets/schema.js.map +1 -1
- package/dist/src/entities/variables/registry.js +9 -5
- package/dist/src/entities/variables/registry.js.map +1 -1
- package/dist/src/entities/variables/schema-readonly.d.ts +9 -9
- package/dist/src/entities/variables/schema-readonly.js +22 -18
- package/dist/src/entities/variables/schema-readonly.js.map +1 -1
- package/dist/src/entities/variables/schema.d.ts +24 -7
- package/dist/src/entities/variables/schema.js +67 -38
- package/dist/src/entities/variables/schema.js.map +1 -1
- package/dist/src/entities/webhooks/registry.js +48 -46
- package/dist/src/entities/webhooks/registry.js.map +1 -1
- package/dist/src/entities/webhooks/schema-readonly.d.ts +9 -8
- package/dist/src/entities/webhooks/schema-readonly.js +14 -9
- package/dist/src/entities/webhooks/schema-readonly.js.map +1 -1
- package/dist/src/entities/webhooks/schema.d.ts +79 -26
- package/dist/src/entities/webhooks/schema.js +70 -61
- package/dist/src/entities/webhooks/schema.js.map +1 -1
- package/dist/src/entities/wiki/registry.js +7 -4
- package/dist/src/entities/wiki/registry.js.map +1 -1
- package/dist/src/entities/wiki/schema-readonly.d.ts +7 -7
- package/dist/src/entities/wiki/schema-readonly.js +11 -15
- package/dist/src/entities/wiki/schema-readonly.js.map +1 -1
- package/dist/src/entities/wiki/schema.d.ts +19 -8
- package/dist/src/entities/wiki/schema.js +32 -29
- package/dist/src/entities/wiki/schema.js.map +1 -1
- package/dist/src/entities/workitems/registry.js +7 -8
- package/dist/src/entities/workitems/registry.js.map +1 -1
- package/dist/src/entities/workitems/schema-readonly.d.ts +7 -8
- package/dist/src/entities/workitems/schema-readonly.js +12 -14
- package/dist/src/entities/workitems/schema-readonly.js.map +1 -1
- package/dist/src/entities/workitems/schema.d.ts +17 -11
- package/dist/src/entities/workitems/schema.js +25 -25
- package/dist/src/entities/workitems/schema.js.map +1 -1
- package/dist/src/registry-manager.d.ts +1 -0
- package/dist/src/registry-manager.js +45 -11
- package/dist/src/registry-manager.js.map +1 -1
- package/dist/src/utils/schema-utils.d.ts +28 -0
- package/dist/src/utils/schema-utils.js +240 -0
- package/dist/src/utils/schema-utils.js.map +1 -0
- package/dist/structured-world-gitlab-mcp-6.10.0.tgz +0 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +4 -4
- 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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"}
|
package/dist/src/config.d.ts
CHANGED
|
@@ -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[];
|
package/dist/src/config.js
CHANGED
|
@@ -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
|
package/dist/src/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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
|
|
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
|
|
57
|
-
|
|
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 } =
|
|
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, } =
|
|
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
|
-
|
|
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)(
|
|
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: ${
|
|
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
|
|
179
|
-
|
|
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, } =
|
|
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
|
-
|
|
207
|
-
const
|
|
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
|
-
|
|
218
|
-
const
|
|
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:
|
|
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: ${
|
|
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
|
|
242
|
-
|
|
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, } =
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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: ${
|
|
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
|
|
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 (
|
|
345
|
+
switch (input.action) {
|
|
338
346
|
case "user": {
|
|
339
|
-
const queryParams = buildQueryParams(
|
|
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
|
-
|
|
349
|
-
const
|
|
350
|
-
const
|
|
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: ${
|
|
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
|
|
372
|
-
|
|
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
|
-
|
|
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}/${
|
|
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",
|
|
402
|
-
const generatedPath =
|
|
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
|
-
|
|
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(
|
|
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: ${
|
|
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
|
|
688
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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: ${
|
|
725
|
+
throw new Error(`Unknown action: ${input.action}`);
|
|
721
726
|
}
|
|
722
727
|
},
|
|
723
728
|
},
|