@structured-world/gitlab-mcp 4.0.0 → 4.1.1
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/README.md +90 -4
- package/dist/entities/core/registry.js +162 -70
- package/dist/entities/core/registry.js.map +1 -1
- package/dist/entities/core/schema-readonly.d.ts +421 -199
- package/dist/entities/core/schema-readonly.js +222 -131
- package/dist/entities/core/schema-readonly.js.map +1 -1
- package/dist/entities/core/schema.d.ts +152 -61
- package/dist/entities/core/schema.js +111 -55
- package/dist/entities/core/schema.js.map +1 -1
- package/dist/entities/files/registry.js +5 -5
- package/dist/entities/files/registry.js.map +1 -1
- package/dist/entities/files/schema-readonly.d.ts +124 -24
- package/dist/entities/files/schema.d.ts +82 -17
- package/dist/entities/labels/registry.js +23 -34
- package/dist/entities/labels/registry.js.map +1 -1
- package/dist/entities/labels/schema-readonly.d.ts +26 -10
- package/dist/entities/labels/schema-readonly.js +5 -15
- package/dist/entities/labels/schema-readonly.js.map +1 -1
- package/dist/entities/labels/schema.d.ts +40 -11
- package/dist/entities/labels/schema.js +8 -23
- package/dist/entities/labels/schema.js.map +1 -1
- package/dist/entities/milestones/registry.js +44 -61
- package/dist/entities/milestones/registry.js.map +1 -1
- package/dist/entities/milestones/schema-readonly.d.ts +105 -30
- package/dist/entities/milestones/schema-readonly.js +7 -15
- package/dist/entities/milestones/schema-readonly.js.map +1 -1
- package/dist/entities/milestones/schema.d.ts +52 -19
- package/dist/entities/milestones/schema.js +8 -28
- package/dist/entities/milestones/schema.js.map +1 -1
- package/dist/entities/mrs/registry.js +20 -20
- package/dist/entities/mrs/registry.js.map +1 -1
- package/dist/entities/mrs/schema-readonly.d.ts +243 -68
- package/dist/entities/mrs/schema-readonly.js +83 -54
- package/dist/entities/mrs/schema-readonly.js.map +1 -1
- package/dist/entities/mrs/schema.d.ts +885 -142
- package/dist/entities/mrs/schema.js +113 -37
- package/dist/entities/mrs/schema.js.map +1 -1
- package/dist/entities/pipelines/registry.js +12 -12
- package/dist/entities/pipelines/registry.js.map +1 -1
- package/dist/entities/pipelines/schema-readonly.d.ts +525 -115
- package/dist/entities/pipelines/schema.d.ts +104 -30
- package/dist/entities/shared.d.ts +787 -110
- package/dist/entities/utils.d.ts +2 -2
- package/dist/entities/variables/registry.js +23 -33
- package/dist/entities/variables/registry.js.map +1 -1
- package/dist/entities/variables/schema-readonly.d.ts +30 -7
- package/dist/entities/variables/schema-readonly.js +4 -13
- package/dist/entities/variables/schema-readonly.js.map +1 -1
- package/dist/entities/variables/schema.d.ts +83 -26
- package/dist/entities/variables/schema.js +6 -21
- package/dist/entities/variables/schema.js.map +1 -1
- package/dist/entities/wiki/registry.js +25 -42
- package/dist/entities/wiki/registry.js.map +1 -1
- package/dist/entities/wiki/schema-readonly.d.ts +37 -8
- package/dist/entities/wiki/schema-readonly.js +4 -13
- package/dist/entities/wiki/schema-readonly.js.map +1 -1
- package/dist/entities/wiki/schema.d.ts +34 -9
- package/dist/entities/wiki/schema.js +6 -21
- package/dist/entities/wiki/schema.js.map +1 -1
- package/dist/entities/workitems/registry.js +94 -13
- package/dist/entities/workitems/registry.js.map +1 -1
- package/dist/entities/workitems/schema-readonly.d.ts +29 -32
- package/dist/entities/workitems/schema-readonly.js +7 -2
- package/dist/entities/workitems/schema-readonly.js.map +1 -1
- package/dist/entities/workitems/schema.d.ts +45 -21
- package/dist/graphql/workItems.d.ts +34 -1
- package/dist/graphql/workItems.js +349 -2
- package/dist/graphql/workItems.js.map +1 -1
- package/dist/handlers.js +44 -0
- package/dist/handlers.js.map +1 -1
- package/dist/registry-manager.d.ts +1 -0
- package/dist/registry-manager.js +54 -0
- package/dist/registry-manager.js.map +1 -1
- package/dist/services/ConnectionManager.js +3 -3
- package/dist/services/ConnectionManager.js.map +1 -1
- package/dist/services/SchemaIntrospector.js +3 -3
- package/dist/services/SchemaIntrospector.js.map +1 -1
- package/dist/services/ToolAvailability.js +30 -1
- package/dist/services/ToolAvailability.js.map +1 -1
- package/dist/structured-world-gitlab-mcp-4.1.1.tgz +0 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/namespace.d.ts +6 -0
- package/dist/utils/namespace.js +52 -0
- package/dist/utils/namespace.js.map +1 -0
- package/package.json +5 -3
- package/dist/structured-world-gitlab-mcp-4.0.0.tgz +0 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function isLikelyProjectPath(namespacePath: string): boolean;
|
|
2
|
+
export declare function detectNamespaceType(namespacePath: string): Promise<'project' | 'group'>;
|
|
3
|
+
export declare function resolveNamespaceForAPI(namespacePath: string): Promise<{
|
|
4
|
+
entityType: 'projects' | 'groups';
|
|
5
|
+
encodedPath: string;
|
|
6
|
+
}>;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isLikelyProjectPath = isLikelyProjectPath;
|
|
4
|
+
exports.detectNamespaceType = detectNamespaceType;
|
|
5
|
+
exports.resolveNamespaceForAPI = resolveNamespaceForAPI;
|
|
6
|
+
const fetch_1 = require("./fetch");
|
|
7
|
+
function isLikelyProjectPath(namespacePath) {
|
|
8
|
+
return namespacePath.includes('/');
|
|
9
|
+
}
|
|
10
|
+
async function detectNamespaceType(namespacePath) {
|
|
11
|
+
if (isLikelyProjectPath(namespacePath)) {
|
|
12
|
+
const isProject = await verifyNamespaceType(namespacePath, 'project');
|
|
13
|
+
if (isProject)
|
|
14
|
+
return 'project';
|
|
15
|
+
const isGroup = await verifyNamespaceType(namespacePath, 'group');
|
|
16
|
+
if (isGroup)
|
|
17
|
+
return 'group';
|
|
18
|
+
return 'project';
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
const isGroup = await verifyNamespaceType(namespacePath, 'group');
|
|
22
|
+
if (isGroup)
|
|
23
|
+
return 'group';
|
|
24
|
+
const isProject = await verifyNamespaceType(namespacePath, 'project');
|
|
25
|
+
if (isProject)
|
|
26
|
+
return 'project';
|
|
27
|
+
return 'group';
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
async function verifyNamespaceType(namespacePath, type) {
|
|
31
|
+
try {
|
|
32
|
+
const entityType = type === 'project' ? 'projects' : 'groups';
|
|
33
|
+
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${encodeURIComponent(namespacePath)}`;
|
|
34
|
+
const response = await (0, fetch_1.enhancedFetch)(apiUrl, {
|
|
35
|
+
headers: {
|
|
36
|
+
Authorization: `Bearer ${process.env.GITLAB_TOKEN}`,
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
return response.ok;
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
async function resolveNamespaceForAPI(namespacePath) {
|
|
46
|
+
const namespaceType = await detectNamespaceType(namespacePath);
|
|
47
|
+
return {
|
|
48
|
+
entityType: namespaceType === 'project' ? 'projects' : 'groups',
|
|
49
|
+
encodedPath: encodeURIComponent(namespacePath),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=namespace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/utils/namespace.ts"],"names":[],"mappings":";;AAMA,kDAEC;AAMD,kDAuBC;AA8BD,wDASC;AA5ED,mCAAwC;AAMxC,SAAgB,mBAAmB,CAAC,aAAqB;IACvD,OAAO,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC;AAMM,KAAK,UAAU,mBAAmB,CAAC,aAAqB;IAE7D,IAAI,mBAAmB,CAAC,aAAa,CAAC,EAAE,CAAC;QAEvC,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACtE,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC;QAEhC,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAClE,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAG5B,OAAO,SAAS,CAAC;IACnB,CAAC;SAAM,CAAC;QAEN,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAClE,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAE5B,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACtE,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC;QAGhC,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAKD,KAAK,UAAU,mBAAmB,CAChC,aAAqB,EACrB,IAAyB;IAEzB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9D,MAAM,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,WAAW,UAAU,IAAI,kBAAkB,CAAC,aAAa,CAAC,EAAE,CAAC;QAEzG,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAa,EAAC,MAAM,EAAE;YAC3C,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;aACpD;SACF,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,EAAE,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QAEP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAMM,KAAK,UAAU,sBAAsB,CAAC,aAAqB;IAIhE,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAC/D,OAAO;QACL,UAAU,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ;QAC/D,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC;KAC/C,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@structured-world/gitlab-mcp",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.1.1",
|
|
4
4
|
"description": "MCP server for using the GitLab API",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Dmitry Prudnikov <mail@polaz.com>",
|
|
@@ -46,7 +46,9 @@
|
|
|
46
46
|
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" ",
|
|
47
47
|
"lint:fix": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
|
|
48
48
|
"format": "prettier --write \"**/*.{js,ts,json,md}\"",
|
|
49
|
-
"format:check": "prettier --check \"**/*.{js,ts,json,md}\""
|
|
49
|
+
"format:check": "prettier --check \"**/*.{js,ts,json,md}\"",
|
|
50
|
+
"list-tools": "node dist/scripts/list-tools.js",
|
|
51
|
+
"list-tools:dev": "node --env-file=.env.test -r source-map-support/register -r ts-node/register --experimental-specifier-resolution=node src/scripts/list-tools.ts"
|
|
50
52
|
},
|
|
51
53
|
"dependencies": {
|
|
52
54
|
"@graphql-typed-document-node/core": "^3.2.0",
|
|
@@ -60,7 +62,7 @@
|
|
|
60
62
|
"pino": "^9.9.5",
|
|
61
63
|
"pino-pretty": "^13.1.1",
|
|
62
64
|
"socks-proxy-agent": "^8.0.5",
|
|
63
|
-
"zod": "^
|
|
65
|
+
"zod": "^3.23.8",
|
|
64
66
|
"zod-to-json-schema": "^3.24.6"
|
|
65
67
|
},
|
|
66
68
|
"devDependencies": {
|
|
Binary file
|