@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
package/dist/entities/utils.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
export declare const flexibleBoolean: z.
|
|
3
|
-
export declare const flexibleBooleanNullable: z.ZodNullable<z.
|
|
2
|
+
export declare const flexibleBoolean: z.ZodEffects<z.ZodBoolean, boolean, unknown>;
|
|
3
|
+
export declare const flexibleBooleanNullable: z.ZodNullable<z.ZodEffects<z.ZodBoolean, boolean, unknown>> | z.ZodDefault<z.ZodNullable<z.ZodEffects<z.ZodBoolean, boolean, unknown>>>;
|
|
@@ -8,20 +8,19 @@ const zod_to_json_schema_1 = require("zod-to-json-schema");
|
|
|
8
8
|
const schema_readonly_1 = require("./schema-readonly");
|
|
9
9
|
const schema_1 = require("./schema");
|
|
10
10
|
const fetch_1 = require("../../utils/fetch");
|
|
11
|
+
const namespace_1 = require("../../utils/namespace");
|
|
11
12
|
exports.variablesToolRegistry = new Map([
|
|
12
13
|
[
|
|
13
14
|
'list_variables',
|
|
14
15
|
{
|
|
15
16
|
name: 'list_variables',
|
|
16
|
-
description: '
|
|
17
|
+
description: 'View all CI/CD environment variables configured for pipelines. Use to audit secrets, review configuration, or understand pipeline environment. Shows variable keys (values are masked for security). Returns protection status, masking, and environment scopes. Group variables are inherited by all projects.',
|
|
17
18
|
inputSchema: (0, zod_to_json_schema_1.zodToJsonSchema)(schema_readonly_1.ListVariablesSchema),
|
|
18
19
|
handler: async (args) => {
|
|
19
20
|
const options = schema_readonly_1.ListVariablesSchema.parse(args);
|
|
20
|
-
const {
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const entityId = (isProject ? project_id : group_id);
|
|
24
|
-
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${encodeURIComponent(entityId)}/variables`;
|
|
21
|
+
const { namespacePath } = options;
|
|
22
|
+
const { entityType, encodedPath } = await (0, namespace_1.resolveNamespaceForAPI)(namespacePath);
|
|
23
|
+
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${encodedPath}/variables`;
|
|
25
24
|
const response = await (0, fetch_1.enhancedFetch)(apiUrl, {
|
|
26
25
|
headers: {
|
|
27
26
|
Authorization: `Bearer ${process.env.GITLAB_TOKEN}`,
|
|
@@ -39,19 +38,17 @@ exports.variablesToolRegistry = new Map([
|
|
|
39
38
|
'get_variable',
|
|
40
39
|
{
|
|
41
40
|
name: 'get_variable',
|
|
42
|
-
description: '
|
|
41
|
+
description: 'Retrieve specific CI/CD variable details including value (if not masked), type, and security settings. Use for debugging pipeline issues, verifying configuration, or checking environment-specific values. Supports scoped variables for different environments (production/staging).',
|
|
43
42
|
inputSchema: (0, zod_to_json_schema_1.zodToJsonSchema)(schema_readonly_1.GetVariableSchema),
|
|
44
43
|
handler: async (args) => {
|
|
45
44
|
const options = schema_readonly_1.GetVariableSchema.parse(args);
|
|
46
|
-
const {
|
|
47
|
-
const
|
|
48
|
-
const entityType = isProject ? 'projects' : 'groups';
|
|
49
|
-
const entityId = (isProject ? project_id : group_id);
|
|
45
|
+
const { namespacePath, key, filter } = options;
|
|
46
|
+
const { entityType, encodedPath } = await (0, namespace_1.resolveNamespaceForAPI)(namespacePath);
|
|
50
47
|
const queryParams = new URLSearchParams();
|
|
51
48
|
if (filter?.environment_scope) {
|
|
52
49
|
queryParams.set('filter[environment_scope]', filter.environment_scope);
|
|
53
50
|
}
|
|
54
|
-
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${
|
|
51
|
+
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${encodedPath}/variables/${encodeURIComponent(key)}?${queryParams}`;
|
|
55
52
|
const response = await (0, fetch_1.enhancedFetch)(apiUrl, {
|
|
56
53
|
headers: {
|
|
57
54
|
Authorization: `Bearer ${process.env.GITLAB_TOKEN}`,
|
|
@@ -69,21 +66,19 @@ exports.variablesToolRegistry = new Map([
|
|
|
69
66
|
'create_variable',
|
|
70
67
|
{
|
|
71
68
|
name: 'create_variable',
|
|
72
|
-
description: '
|
|
69
|
+
description: 'Add new CI/CD environment variable for pipeline configuration, secrets, or deployment settings. Use for API keys, database URLs, feature flags. Supports masking sensitive values, protection for specific branches, environment scoping, and file type for certificates/configs. Group variables apply to all child projects.',
|
|
73
70
|
inputSchema: (0, zod_to_json_schema_1.zodToJsonSchema)(schema_1.CreateVariableSchema),
|
|
74
71
|
handler: async (args) => {
|
|
75
72
|
const options = schema_1.CreateVariableSchema.parse(args);
|
|
76
|
-
const {
|
|
77
|
-
const
|
|
78
|
-
const entityType = isProject ? 'projects' : 'groups';
|
|
79
|
-
const entityId = (isProject ? project_id : group_id);
|
|
73
|
+
const { namespacePath } = options;
|
|
74
|
+
const { entityType, encodedPath } = await (0, namespace_1.resolveNamespaceForAPI)(namespacePath);
|
|
80
75
|
const body = {};
|
|
81
76
|
Object.entries(options).forEach(([key, value]) => {
|
|
82
|
-
if (value !== undefined && value !== null && key !== '
|
|
77
|
+
if (value !== undefined && value !== null && key !== 'namespacePath') {
|
|
83
78
|
body[key] = value;
|
|
84
79
|
}
|
|
85
80
|
});
|
|
86
|
-
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${
|
|
81
|
+
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${encodedPath}/variables`;
|
|
87
82
|
const response = await (0, fetch_1.enhancedFetch)(apiUrl, {
|
|
88
83
|
method: 'POST',
|
|
89
84
|
headers: {
|
|
@@ -104,20 +99,17 @@ exports.variablesToolRegistry = new Map([
|
|
|
104
99
|
'update_variable',
|
|
105
100
|
{
|
|
106
101
|
name: 'update_variable',
|
|
107
|
-
description:
|
|
102
|
+
description: 'Modify CI/CD variable value or configuration. Use to rotate secrets, update endpoints, change security settings, or adjust environment scopes. Can convert between env_var and file types. Changes take effect in next pipeline run. Be cautious with production variables.',
|
|
108
103
|
inputSchema: (0, zod_to_json_schema_1.zodToJsonSchema)(schema_1.UpdateVariableSchema),
|
|
109
104
|
handler: async (args) => {
|
|
110
105
|
const options = schema_1.UpdateVariableSchema.parse(args);
|
|
111
|
-
const {
|
|
112
|
-
const
|
|
113
|
-
const entityType = isProject ? 'projects' : 'groups';
|
|
114
|
-
const entityId = (isProject ? project_id : group_id);
|
|
106
|
+
const { namespacePath, key, filter } = options;
|
|
107
|
+
const { entityType, encodedPath } = await (0, namespace_1.resolveNamespaceForAPI)(namespacePath);
|
|
115
108
|
const body = {};
|
|
116
109
|
Object.entries(options).forEach(([k, value]) => {
|
|
117
110
|
if (value !== undefined &&
|
|
118
111
|
value !== null &&
|
|
119
|
-
k !== '
|
|
120
|
-
k !== 'group_id' &&
|
|
112
|
+
k !== 'namespacePath' &&
|
|
121
113
|
k !== 'key' &&
|
|
122
114
|
k !== 'filter') {
|
|
123
115
|
body[k] = value;
|
|
@@ -127,7 +119,7 @@ exports.variablesToolRegistry = new Map([
|
|
|
127
119
|
if (filter?.environment_scope) {
|
|
128
120
|
queryParams.set('filter[environment_scope]', filter.environment_scope);
|
|
129
121
|
}
|
|
130
|
-
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${
|
|
122
|
+
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${encodedPath}/variables/${encodeURIComponent(key)}?${queryParams}`;
|
|
131
123
|
const response = await (0, fetch_1.enhancedFetch)(apiUrl, {
|
|
132
124
|
method: 'PUT',
|
|
133
125
|
headers: {
|
|
@@ -148,19 +140,17 @@ exports.variablesToolRegistry = new Map([
|
|
|
148
140
|
'delete_variable',
|
|
149
141
|
{
|
|
150
142
|
name: 'delete_variable',
|
|
151
|
-
description: '
|
|
143
|
+
description: 'Delete CI/CD variable permanently from configuration. Use to remove unused secrets, clean up after migrations, or revoke access. Can target specific environment-scoped variants. Warning: may break pipelines depending on the variable. Cannot be undone.',
|
|
152
144
|
inputSchema: (0, zod_to_json_schema_1.zodToJsonSchema)(schema_1.DeleteVariableSchema),
|
|
153
145
|
handler: async (args) => {
|
|
154
146
|
const options = schema_1.DeleteVariableSchema.parse(args);
|
|
155
|
-
const {
|
|
156
|
-
const
|
|
157
|
-
const entityType = isProject ? 'projects' : 'groups';
|
|
158
|
-
const entityId = (isProject ? project_id : group_id);
|
|
147
|
+
const { namespacePath, key, filter } = options;
|
|
148
|
+
const { entityType, encodedPath } = await (0, namespace_1.resolveNamespaceForAPI)(namespacePath);
|
|
159
149
|
const queryParams = new URLSearchParams();
|
|
160
150
|
if (filter?.environment_scope) {
|
|
161
151
|
queryParams.set('filter[environment_scope]', filter.environment_scope);
|
|
162
152
|
}
|
|
163
|
-
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${
|
|
153
|
+
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${encodedPath}/variables/${encodeURIComponent(key)}?${queryParams}`;
|
|
164
154
|
const response = await (0, fetch_1.enhancedFetch)(apiUrl, {
|
|
165
155
|
method: 'DELETE',
|
|
166
156
|
headers: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/entities/variables/registry.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/entities/variables/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,40 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export declare const ListVariablesSchema: z.ZodObject<{
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
namespacePath: z.ZodString;
|
|
4
|
+
} & {
|
|
5
5
|
page: z.ZodOptional<z.ZodNumber>;
|
|
6
6
|
per_page: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
7
|
-
}, z.
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
per_page: number;
|
|
9
|
+
namespacePath: string;
|
|
10
|
+
page?: number | undefined;
|
|
11
|
+
}, {
|
|
12
|
+
namespacePath: string;
|
|
13
|
+
page?: number | undefined;
|
|
14
|
+
per_page?: number | undefined;
|
|
15
|
+
}>;
|
|
8
16
|
export declare const GetVariableSchema: z.ZodObject<{
|
|
9
|
-
|
|
10
|
-
group_id: z.ZodOptional<z.ZodCoercedString<unknown>>;
|
|
17
|
+
namespacePath: z.ZodString;
|
|
11
18
|
key: z.ZodString;
|
|
12
19
|
filter: z.ZodOptional<z.ZodObject<{
|
|
13
20
|
environment_scope: z.ZodOptional<z.ZodString>;
|
|
14
|
-
}, z.
|
|
15
|
-
|
|
21
|
+
}, "strip", z.ZodTypeAny, {
|
|
22
|
+
environment_scope?: string | undefined;
|
|
23
|
+
}, {
|
|
24
|
+
environment_scope?: string | undefined;
|
|
25
|
+
}>>;
|
|
26
|
+
}, "strip", z.ZodTypeAny, {
|
|
27
|
+
key: string;
|
|
28
|
+
namespacePath: string;
|
|
29
|
+
filter?: {
|
|
30
|
+
environment_scope?: string | undefined;
|
|
31
|
+
} | undefined;
|
|
32
|
+
}, {
|
|
33
|
+
key: string;
|
|
34
|
+
namespacePath: string;
|
|
35
|
+
filter?: {
|
|
36
|
+
environment_scope?: string | undefined;
|
|
37
|
+
} | undefined;
|
|
38
|
+
}>;
|
|
16
39
|
export type ListVariablesOptions = z.infer<typeof ListVariablesSchema>;
|
|
17
40
|
export type GetVariableOptions = z.infer<typeof GetVariableSchema>;
|
|
@@ -5,17 +5,11 @@ const zod_1 = require("zod");
|
|
|
5
5
|
const shared_1 = require("../shared");
|
|
6
6
|
exports.ListVariablesSchema = zod_1.z
|
|
7
7
|
.object({
|
|
8
|
-
|
|
9
|
-
group_id: zod_1.z.coerce.string().optional().describe('Group ID or URL-encoded path'),
|
|
8
|
+
namespacePath: zod_1.z.string().describe('Namespace path (group or project) to list variables from'),
|
|
10
9
|
})
|
|
11
|
-
.merge(shared_1.PaginationOptionsSchema)
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
});
|
|
15
|
-
exports.GetVariableSchema = zod_1.z
|
|
16
|
-
.object({
|
|
17
|
-
project_id: zod_1.z.coerce.string().optional().describe('Project ID or URL-encoded path'),
|
|
18
|
-
group_id: zod_1.z.coerce.string().optional().describe('Group ID or URL-encoded path'),
|
|
10
|
+
.merge(shared_1.PaginationOptionsSchema);
|
|
11
|
+
exports.GetVariableSchema = zod_1.z.object({
|
|
12
|
+
namespacePath: zod_1.z.string().describe('Namespace path (group or project) containing the variable'),
|
|
19
13
|
key: zod_1.z
|
|
20
14
|
.string()
|
|
21
15
|
.describe('The key of the CI/CD variable. Maximum 255 characters, alphanumeric and underscore only'),
|
|
@@ -28,8 +22,5 @@ exports.GetVariableSchema = zod_1.z
|
|
|
28
22
|
})
|
|
29
23
|
.optional()
|
|
30
24
|
.describe('Filter parameters for the variable lookup'),
|
|
31
|
-
})
|
|
32
|
-
.refine((data) => Boolean(data.project_id) !== Boolean(data.group_id), {
|
|
33
|
-
message: 'Exactly one of project_id or group_id must be provided',
|
|
34
25
|
});
|
|
35
26
|
//# sourceMappingURL=schema-readonly.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-readonly.js","sourceRoot":"","sources":["../../../src/entities/variables/schema-readonly.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,sCAAoD;AAKvC,QAAA,mBAAmB,GAAG,OAAC;KACjC,MAAM,CAAC;IACN,
|
|
1
|
+
{"version":3,"file":"schema-readonly.js","sourceRoot":"","sources":["../../../src/entities/variables/schema-readonly.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,sCAAoD;AAKvC,QAAA,mBAAmB,GAAG,OAAC;KACjC,MAAM,CAAC;IACN,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;CAC/F,CAAC;KACD,KAAK,CAAC,gCAAuB,CAAC,CAAC;AAGrB,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;IAC/F,GAAG,EAAE,OAAC;SACH,MAAM,EAAE;SACR,QAAQ,CACP,yFAAyF,CAC1F;IACH,MAAM,EAAE,OAAC;SACN,MAAM,CAAC;QACN,iBAAiB,EAAE,OAAC;aACjB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,0GAA0G,CAC3G;KACJ,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CAAC,2CAA2C,CAAC;CACzD,CAAC,CAAC"}
|
|
@@ -1,45 +1,102 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export declare const CreateVariableSchema: z.ZodObject<{
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
key: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>;
|
|
3
|
+
namespacePath: z.ZodString;
|
|
4
|
+
key: z.ZodEffects<z.ZodString, string, unknown>;
|
|
6
5
|
value: z.ZodString;
|
|
7
|
-
variable_type: z.ZodDefault<z.ZodOptional<z.
|
|
8
|
-
file: "file";
|
|
9
|
-
env_var: "env_var";
|
|
10
|
-
}>>>>;
|
|
6
|
+
variable_type: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodEnum<["env_var", "file"]>, "file" | "env_var", unknown>>>;
|
|
11
7
|
environment_scope: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
12
|
-
protected: z.ZodDefault<z.ZodOptional<z.
|
|
13
|
-
masked: z.ZodDefault<z.ZodOptional<z.
|
|
14
|
-
raw: z.ZodDefault<z.ZodOptional<z.
|
|
8
|
+
protected: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodBoolean, boolean, unknown>>>;
|
|
9
|
+
masked: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodBoolean, boolean, unknown>>>;
|
|
10
|
+
raw: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodBoolean, boolean, unknown>>>;
|
|
15
11
|
description: z.ZodOptional<z.ZodString>;
|
|
16
|
-
}, z.
|
|
12
|
+
}, "strip", z.ZodTypeAny, {
|
|
13
|
+
key: string;
|
|
14
|
+
value: string;
|
|
15
|
+
namespacePath: string;
|
|
16
|
+
variable_type: "file" | "env_var";
|
|
17
|
+
environment_scope: string;
|
|
18
|
+
protected: boolean;
|
|
19
|
+
masked: boolean;
|
|
20
|
+
raw: boolean;
|
|
21
|
+
description?: string | undefined;
|
|
22
|
+
}, {
|
|
23
|
+
value: string;
|
|
24
|
+
namespacePath: string;
|
|
25
|
+
key?: unknown;
|
|
26
|
+
description?: string | undefined;
|
|
27
|
+
variable_type?: unknown;
|
|
28
|
+
environment_scope?: string | undefined;
|
|
29
|
+
protected?: unknown;
|
|
30
|
+
masked?: unknown;
|
|
31
|
+
raw?: unknown;
|
|
32
|
+
}>;
|
|
17
33
|
export declare const UpdateVariableSchema: z.ZodObject<{
|
|
18
|
-
|
|
19
|
-
group_id: z.ZodOptional<z.ZodCoercedString<unknown>>;
|
|
34
|
+
namespacePath: z.ZodString;
|
|
20
35
|
key: z.ZodString;
|
|
21
36
|
value: z.ZodString;
|
|
22
|
-
variable_type: z.ZodOptional<z.
|
|
23
|
-
file: "file";
|
|
24
|
-
env_var: "env_var";
|
|
25
|
-
}>>>;
|
|
37
|
+
variable_type: z.ZodOptional<z.ZodEffects<z.ZodEnum<["env_var", "file"]>, "file" | "env_var", unknown>>;
|
|
26
38
|
environment_scope: z.ZodOptional<z.ZodString>;
|
|
27
|
-
protected: z.ZodOptional<z.
|
|
28
|
-
masked: z.ZodOptional<z.
|
|
29
|
-
raw: z.ZodOptional<z.
|
|
39
|
+
protected: z.ZodOptional<z.ZodEffects<z.ZodBoolean, boolean, unknown>>;
|
|
40
|
+
masked: z.ZodOptional<z.ZodEffects<z.ZodBoolean, boolean, unknown>>;
|
|
41
|
+
raw: z.ZodOptional<z.ZodEffects<z.ZodBoolean, boolean, unknown>>;
|
|
30
42
|
description: z.ZodOptional<z.ZodString>;
|
|
31
43
|
filter: z.ZodOptional<z.ZodObject<{
|
|
32
44
|
environment_scope: z.ZodOptional<z.ZodString>;
|
|
33
|
-
}, z.
|
|
34
|
-
|
|
45
|
+
}, "strip", z.ZodTypeAny, {
|
|
46
|
+
environment_scope?: string | undefined;
|
|
47
|
+
}, {
|
|
48
|
+
environment_scope?: string | undefined;
|
|
49
|
+
}>>;
|
|
50
|
+
}, "strip", z.ZodTypeAny, {
|
|
51
|
+
key: string;
|
|
52
|
+
value: string;
|
|
53
|
+
namespacePath: string;
|
|
54
|
+
filter?: {
|
|
55
|
+
environment_scope?: string | undefined;
|
|
56
|
+
} | undefined;
|
|
57
|
+
description?: string | undefined;
|
|
58
|
+
variable_type?: "file" | "env_var" | undefined;
|
|
59
|
+
environment_scope?: string | undefined;
|
|
60
|
+
protected?: boolean | undefined;
|
|
61
|
+
masked?: boolean | undefined;
|
|
62
|
+
raw?: boolean | undefined;
|
|
63
|
+
}, {
|
|
64
|
+
key: string;
|
|
65
|
+
value: string;
|
|
66
|
+
namespacePath: string;
|
|
67
|
+
filter?: {
|
|
68
|
+
environment_scope?: string | undefined;
|
|
69
|
+
} | undefined;
|
|
70
|
+
description?: string | undefined;
|
|
71
|
+
variable_type?: unknown;
|
|
72
|
+
environment_scope?: string | undefined;
|
|
73
|
+
protected?: unknown;
|
|
74
|
+
masked?: unknown;
|
|
75
|
+
raw?: unknown;
|
|
76
|
+
}>;
|
|
35
77
|
export declare const DeleteVariableSchema: z.ZodObject<{
|
|
36
|
-
|
|
37
|
-
group_id: z.ZodOptional<z.ZodCoercedString<unknown>>;
|
|
78
|
+
namespacePath: z.ZodString;
|
|
38
79
|
key: z.ZodString;
|
|
39
80
|
filter: z.ZodOptional<z.ZodObject<{
|
|
40
81
|
environment_scope: z.ZodOptional<z.ZodString>;
|
|
41
|
-
}, z.
|
|
42
|
-
|
|
82
|
+
}, "strip", z.ZodTypeAny, {
|
|
83
|
+
environment_scope?: string | undefined;
|
|
84
|
+
}, {
|
|
85
|
+
environment_scope?: string | undefined;
|
|
86
|
+
}>>;
|
|
87
|
+
}, "strip", z.ZodTypeAny, {
|
|
88
|
+
key: string;
|
|
89
|
+
namespacePath: string;
|
|
90
|
+
filter?: {
|
|
91
|
+
environment_scope?: string | undefined;
|
|
92
|
+
} | undefined;
|
|
93
|
+
}, {
|
|
94
|
+
key: string;
|
|
95
|
+
namespacePath: string;
|
|
96
|
+
filter?: {
|
|
97
|
+
environment_scope?: string | undefined;
|
|
98
|
+
} | undefined;
|
|
99
|
+
}>;
|
|
43
100
|
export type CreateVariableOptions = z.infer<typeof CreateVariableSchema>;
|
|
44
101
|
export type UpdateVariableOptions = z.infer<typeof UpdateVariableSchema>;
|
|
45
102
|
export type DeleteVariableOptions = z.infer<typeof DeleteVariableSchema>;
|
|
@@ -24,10 +24,8 @@ const variableKey = zod_1.z.preprocess((val) => {
|
|
|
24
24
|
.string()
|
|
25
25
|
.max(255)
|
|
26
26
|
.regex(/^[a-zA-Z0-9_]+$/, 'Key must contain only alphanumeric characters and underscores'));
|
|
27
|
-
exports.CreateVariableSchema = zod_1.z
|
|
28
|
-
.
|
|
29
|
-
project_id: zod_1.z.coerce.string().optional().describe('Project ID or URL-encoded path'),
|
|
30
|
-
group_id: zod_1.z.coerce.string().optional().describe('Group ID or URL-encoded path'),
|
|
27
|
+
exports.CreateVariableSchema = zod_1.z.object({
|
|
28
|
+
namespacePath: zod_1.z.string().describe('Namespace path (group or project) to create variable in'),
|
|
31
29
|
key: variableKey.describe('The unique key for the CI/CD variable. Maximum 255 characters, only alphanumeric and underscore characters allowed. Used to reference the variable in CI/CD pipelines (e.g., $MY_API_KEY)'),
|
|
32
30
|
value: zod_1.z
|
|
33
31
|
.string()
|
|
@@ -57,14 +55,9 @@ exports.CreateVariableSchema = zod_1.z
|
|
|
57
55
|
.string()
|
|
58
56
|
.optional()
|
|
59
57
|
.describe('Optional description explaining the purpose and usage of this variable. Helps team members understand what this variable is for and how it should be used (Available in GitLab 16.2+)'),
|
|
60
|
-
})
|
|
61
|
-
.refine((data) => Boolean(data.project_id) !== Boolean(data.group_id), {
|
|
62
|
-
message: 'Exactly one of project_id or group_id must be provided',
|
|
63
58
|
});
|
|
64
|
-
exports.UpdateVariableSchema = zod_1.z
|
|
65
|
-
.
|
|
66
|
-
project_id: zod_1.z.coerce.string().optional().describe('Project ID or URL-encoded path'),
|
|
67
|
-
group_id: zod_1.z.coerce.string().optional().describe('Group ID or URL-encoded path'),
|
|
59
|
+
exports.UpdateVariableSchema = zod_1.z.object({
|
|
60
|
+
namespacePath: zod_1.z.string().describe('Namespace path (group or project) containing the variable'),
|
|
68
61
|
key: zod_1.z
|
|
69
62
|
.string()
|
|
70
63
|
.describe('The key of the existing CI/CD variable to update. Must match an existing variable key exactly'),
|
|
@@ -100,14 +93,9 @@ exports.UpdateVariableSchema = zod_1.z
|
|
|
100
93
|
})
|
|
101
94
|
.optional()
|
|
102
95
|
.describe('Filter parameters to identify the specific variable to update'),
|
|
103
|
-
})
|
|
104
|
-
.refine((data) => Boolean(data.project_id) !== Boolean(data.group_id), {
|
|
105
|
-
message: 'Exactly one of project_id or group_id must be provided',
|
|
106
96
|
});
|
|
107
|
-
exports.DeleteVariableSchema = zod_1.z
|
|
108
|
-
.
|
|
109
|
-
project_id: zod_1.z.coerce.string().optional().describe('Project ID or URL-encoded path'),
|
|
110
|
-
group_id: zod_1.z.coerce.string().optional().describe('Group ID or URL-encoded path'),
|
|
97
|
+
exports.DeleteVariableSchema = zod_1.z.object({
|
|
98
|
+
namespacePath: zod_1.z.string().describe('Namespace path (group or project) containing the variable'),
|
|
111
99
|
key: zod_1.z
|
|
112
100
|
.string()
|
|
113
101
|
.describe('The key of the CI/CD variable to delete. This will permanently remove the variable from the project'),
|
|
@@ -120,8 +108,5 @@ exports.DeleteVariableSchema = zod_1.z
|
|
|
120
108
|
})
|
|
121
109
|
.optional()
|
|
122
110
|
.describe('Filter parameters to identify the specific variable to delete'),
|
|
123
|
-
})
|
|
124
|
-
.refine((data) => Boolean(data.project_id) !== Boolean(data.group_id), {
|
|
125
|
-
message: 'Exactly one of project_id or group_id must be provided',
|
|
126
111
|
});
|
|
127
112
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/entities/variables/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,oCAA2C;AAK3C,MAAM,oBAAoB,GAAG,OAAC,CAAC,UAAU,CACvC,CAAC,GAAG,EAAE,EAAE;IACN,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9E,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9C,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,EACD,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAC5B,CAAC;AAGF,MAAM,WAAW,GAAG,OAAC,CAAC,UAAU,CAC9B,CAAC,GAAG,EAAE,EAAE;IACN,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,EACD,OAAC;KACE,MAAM,EAAE;KACR,GAAG,CAAC,GAAG,CAAC;KACR,KAAK,CAAC,iBAAiB,EAAE,+DAA+D,CAAC,CAC7F,CAAC;AAGW,QAAA,oBAAoB,GAAG,OAAC
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/entities/variables/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,26 +8,25 @@ const zod_to_json_schema_1 = require("zod-to-json-schema");
|
|
|
8
8
|
const schema_readonly_1 = require("./schema-readonly");
|
|
9
9
|
const schema_1 = require("./schema");
|
|
10
10
|
const fetch_1 = require("../../utils/fetch");
|
|
11
|
+
const namespace_1 = require("../../utils/namespace");
|
|
11
12
|
exports.wikiToolRegistry = new Map([
|
|
12
13
|
[
|
|
13
14
|
'list_wiki_pages',
|
|
14
15
|
{
|
|
15
16
|
name: 'list_wiki_pages',
|
|
16
|
-
description: '
|
|
17
|
+
description: 'BROWSE: Explore all wiki pages in project or group documentation. Use when: Discovering available guides and documentation, Understanding project knowledge base structure, Finding existing pages before creating new ones. Wiki provides collaborative documentation separate from code repository. Returns page titles, slugs, content formats, and creation dates.',
|
|
17
18
|
inputSchema: (0, zod_to_json_schema_1.zodToJsonSchema)(schema_readonly_1.ListWikiPagesSchema),
|
|
18
19
|
handler: async (args) => {
|
|
19
20
|
const options = schema_readonly_1.ListWikiPagesSchema.parse(args);
|
|
20
|
-
const {
|
|
21
|
-
const
|
|
22
|
-
const entityType = isProject ? 'projects' : 'groups';
|
|
23
|
-
const entityId = (isProject ? project_id : group_id);
|
|
21
|
+
const { namespacePath } = options;
|
|
22
|
+
const { entityType, encodedPath } = await (0, namespace_1.resolveNamespaceForAPI)(namespacePath);
|
|
24
23
|
const queryParams = new URLSearchParams();
|
|
25
24
|
Object.entries(options).forEach(([key, value]) => {
|
|
26
|
-
if (value !== undefined && value !== null && key !== '
|
|
25
|
+
if (value !== undefined && value !== null && key !== 'namespacePath') {
|
|
27
26
|
queryParams.set(key, String(value));
|
|
28
27
|
}
|
|
29
28
|
});
|
|
30
|
-
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${
|
|
29
|
+
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${encodedPath}/wikis?${queryParams}`;
|
|
31
30
|
const response = await (0, fetch_1.enhancedFetch)(apiUrl, {
|
|
32
31
|
headers: {
|
|
33
32
|
Authorization: `Bearer ${process.env.GITLAB_TOKEN}`,
|
|
@@ -45,25 +44,19 @@ exports.wikiToolRegistry = new Map([
|
|
|
45
44
|
'get_wiki_page',
|
|
46
45
|
{
|
|
47
46
|
name: 'get_wiki_page',
|
|
48
|
-
description: 'Get
|
|
47
|
+
description: 'READ: Get complete wiki page content and metadata by slug. Use when: Reading technical documentation and guides, Accessing project knowledge base content, Getting full markdown with formatting. Returns complete page content, metadata, edit history, and author information. Perfect for content analysis and documentation review.',
|
|
49
48
|
inputSchema: (0, zod_to_json_schema_1.zodToJsonSchema)(schema_readonly_1.GetWikiPageSchema),
|
|
50
49
|
handler: async (args) => {
|
|
51
50
|
const options = schema_readonly_1.GetWikiPageSchema.parse(args);
|
|
52
|
-
const {
|
|
53
|
-
const
|
|
54
|
-
const entityType = isProject ? 'projects' : 'groups';
|
|
55
|
-
const entityId = (isProject ? project_id : group_id);
|
|
51
|
+
const { namespacePath, slug } = options;
|
|
52
|
+
const { entityType, encodedPath } = await (0, namespace_1.resolveNamespaceForAPI)(namespacePath);
|
|
56
53
|
const queryParams = new URLSearchParams();
|
|
57
54
|
Object.entries(options).forEach(([key, value]) => {
|
|
58
|
-
if (value !== undefined &&
|
|
59
|
-
value !== null &&
|
|
60
|
-
key !== 'project_id' &&
|
|
61
|
-
key !== 'group_id' &&
|
|
62
|
-
key !== 'slug') {
|
|
55
|
+
if (value !== undefined && value !== null && key !== 'namespacePath' && key !== 'slug') {
|
|
63
56
|
queryParams.set(key, String(value));
|
|
64
57
|
}
|
|
65
58
|
});
|
|
66
|
-
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${
|
|
59
|
+
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${encodedPath}/wikis/${encodeURIComponent(slug)}?${queryParams}`;
|
|
67
60
|
const response = await (0, fetch_1.enhancedFetch)(apiUrl, {
|
|
68
61
|
headers: {
|
|
69
62
|
Authorization: `Bearer ${process.env.GITLAB_TOKEN}`,
|
|
@@ -81,21 +74,19 @@ exports.wikiToolRegistry = new Map([
|
|
|
81
74
|
'create_wiki_page',
|
|
82
75
|
{
|
|
83
76
|
name: 'create_wiki_page',
|
|
84
|
-
description: '
|
|
77
|
+
description: 'CREATE: Add new documentation page to project or group wiki. Use when: Adding technical documentation, user guides, or FAQs, Creating project knowledge base content, Establishing team documentation standards. Check list_wiki_pages FIRST to avoid duplicate topics. Supports GitLab Flavored Markdown with extensions. Creates version-controlled documentation.',
|
|
85
78
|
inputSchema: (0, zod_to_json_schema_1.zodToJsonSchema)(schema_1.CreateWikiPageSchema),
|
|
86
79
|
handler: async (args) => {
|
|
87
80
|
const options = schema_1.CreateWikiPageSchema.parse(args);
|
|
88
|
-
const {
|
|
89
|
-
const
|
|
90
|
-
const entityType = isProject ? 'projects' : 'groups';
|
|
91
|
-
const entityId = (isProject ? project_id : group_id);
|
|
81
|
+
const { namespacePath } = options;
|
|
82
|
+
const { entityType, encodedPath } = await (0, namespace_1.resolveNamespaceForAPI)(namespacePath);
|
|
92
83
|
const body = {};
|
|
93
84
|
Object.entries(options).forEach(([key, value]) => {
|
|
94
|
-
if (value !== undefined && value !== null && key !== '
|
|
85
|
+
if (value !== undefined && value !== null && key !== 'namespacePath') {
|
|
95
86
|
body[key] = value;
|
|
96
87
|
}
|
|
97
88
|
});
|
|
98
|
-
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${
|
|
89
|
+
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${encodedPath}/wikis`;
|
|
99
90
|
const response = await (0, fetch_1.enhancedFetch)(apiUrl, {
|
|
100
91
|
method: 'POST',
|
|
101
92
|
headers: {
|
|
@@ -116,25 +107,19 @@ exports.wikiToolRegistry = new Map([
|
|
|
116
107
|
'update_wiki_page',
|
|
117
108
|
{
|
|
118
109
|
name: 'update_wiki_page',
|
|
119
|
-
description: '
|
|
110
|
+
description: 'UPDATE: Modify existing wiki page content or properties. Use when: Updating documentation with new information, Fixing errors or improving clarity, Reorganizing content structure. Maintains complete version history with change tracking. Supports collaborative editing with author attribution and diff viewing.',
|
|
120
111
|
inputSchema: (0, zod_to_json_schema_1.zodToJsonSchema)(schema_1.UpdateWikiPageSchema),
|
|
121
112
|
handler: async (args) => {
|
|
122
113
|
const options = schema_1.UpdateWikiPageSchema.parse(args);
|
|
123
|
-
const {
|
|
124
|
-
const
|
|
125
|
-
const entityType = isProject ? 'projects' : 'groups';
|
|
126
|
-
const entityId = (isProject ? project_id : group_id);
|
|
114
|
+
const { namespacePath, slug } = options;
|
|
115
|
+
const { entityType, encodedPath } = await (0, namespace_1.resolveNamespaceForAPI)(namespacePath);
|
|
127
116
|
const body = {};
|
|
128
117
|
Object.entries(options).forEach(([key, value]) => {
|
|
129
|
-
if (value !== undefined &&
|
|
130
|
-
value !== null &&
|
|
131
|
-
key !== 'project_id' &&
|
|
132
|
-
key !== 'group_id' &&
|
|
133
|
-
key !== 'slug') {
|
|
118
|
+
if (value !== undefined && value !== null && key !== 'namespacePath' && key !== 'slug') {
|
|
134
119
|
body[key] = value;
|
|
135
120
|
}
|
|
136
121
|
});
|
|
137
|
-
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${
|
|
122
|
+
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${encodedPath}/wikis/${encodeURIComponent(slug)}`;
|
|
138
123
|
const response = await (0, fetch_1.enhancedFetch)(apiUrl, {
|
|
139
124
|
method: 'PUT',
|
|
140
125
|
headers: {
|
|
@@ -155,15 +140,13 @@ exports.wikiToolRegistry = new Map([
|
|
|
155
140
|
'delete_wiki_page',
|
|
156
141
|
{
|
|
157
142
|
name: 'delete_wiki_page',
|
|
158
|
-
description: '
|
|
143
|
+
description: 'DELETE: Permanently remove wiki page from documentation. Use when: Cleaning up outdated or obsolete content, Removing duplicate or incorrect pages, Reorganizing wiki structure. WARNING: Deletes page and ALL version history permanently - cannot be undone. Consider archiving important content first.',
|
|
159
144
|
inputSchema: (0, zod_to_json_schema_1.zodToJsonSchema)(schema_1.DeleteWikiPageSchema),
|
|
160
145
|
handler: async (args) => {
|
|
161
146
|
const options = schema_1.DeleteWikiPageSchema.parse(args);
|
|
162
|
-
const {
|
|
163
|
-
const
|
|
164
|
-
const
|
|
165
|
-
const entityId = (isProject ? project_id : group_id);
|
|
166
|
-
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${encodeURIComponent(entityId)}/wikis/${encodeURIComponent(slug)}`;
|
|
147
|
+
const { namespacePath, slug } = options;
|
|
148
|
+
const { entityType, encodedPath } = await (0, namespace_1.resolveNamespaceForAPI)(namespacePath);
|
|
149
|
+
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${encodedPath}/wikis/${encodeURIComponent(slug)}`;
|
|
167
150
|
const response = await (0, fetch_1.enhancedFetch)(apiUrl, {
|
|
168
151
|
method: 'DELETE',
|
|
169
152
|
headers: {
|