@structured-world/gitlab-mcp 4.0.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 +21 -0
- package/README.md +486 -0
- package/dist/config.d.ts +31 -0
- package/dist/config.js +115 -0
- package/dist/config.js.map +1 -0
- package/dist/entities/core/index.d.ts +7 -0
- package/dist/entities/core/index.js +31 -0
- package/dist/entities/core/index.js.map +1 -0
- package/dist/entities/core/registry.d.ts +5 -0
- package/dist/entities/core/registry.js +584 -0
- package/dist/entities/core/registry.js.map +1 -0
- package/dist/entities/core/schema-readonly.d.ts +302 -0
- package/dist/entities/core/schema-readonly.js +364 -0
- package/dist/entities/core/schema-readonly.js.map +1 -0
- package/dist/entities/core/schema.d.ts +87 -0
- package/dist/entities/core/schema.js +143 -0
- package/dist/entities/core/schema.js.map +1 -0
- package/dist/entities/files/index.d.ts +7 -0
- package/dist/entities/files/index.js +31 -0
- package/dist/entities/files/index.js.map +1 -0
- package/dist/entities/files/registry.d.ts +5 -0
- package/dist/entities/files/registry.js +199 -0
- package/dist/entities/files/registry.js.map +1 -0
- package/dist/entities/files/schema-readonly.d.ts +78 -0
- package/dist/entities/files/schema-readonly.js +50 -0
- package/dist/entities/files/schema-readonly.js.map +1 -0
- package/dist/entities/files/schema.d.ts +42 -0
- package/dist/entities/files/schema.js +38 -0
- package/dist/entities/files/schema.js.map +1 -0
- package/dist/entities/index.d.ts +10 -0
- package/dist/entities/index.js +27 -0
- package/dist/entities/index.js.map +1 -0
- package/dist/entities/labels/index.d.ts +7 -0
- package/dist/entities/labels/index.js +31 -0
- package/dist/entities/labels/index.js.map +1 -0
- package/dist/entities/labels/registry.d.ts +5 -0
- package/dist/entities/labels/registry.js +186 -0
- package/dist/entities/labels/registry.js.map +1 -0
- package/dist/entities/labels/schema-readonly.d.ts +16 -0
- package/dist/entities/labels/schema-readonly.js +29 -0
- package/dist/entities/labels/schema-readonly.js.map +1 -0
- package/dist/entities/labels/schema.d.ts +26 -0
- package/dist/entities/labels/schema.js +50 -0
- package/dist/entities/labels/schema.js.map +1 -0
- package/dist/entities/milestones/index.d.ts +7 -0
- package/dist/entities/milestones/index.js +31 -0
- package/dist/entities/milestones/index.js.map +1 -0
- package/dist/entities/milestones/registry.d.ts +5 -0
- package/dist/entities/milestones/registry.js +316 -0
- package/dist/entities/milestones/registry.js.map +1 -0
- package/dist/entities/milestones/schema-readonly.d.ts +63 -0
- package/dist/entities/milestones/schema-readonly.js +68 -0
- package/dist/entities/milestones/schema-readonly.js.map +1 -0
- package/dist/entities/milestones/schema.d.ts +36 -0
- package/dist/entities/milestones/schema.js +52 -0
- package/dist/entities/milestones/schema.js.map +1 -0
- package/dist/entities/mrs/index.d.ts +7 -0
- package/dist/entities/mrs/index.js +31 -0
- package/dist/entities/mrs/index.js.map +1 -0
- package/dist/entities/mrs/registry.d.ts +5 -0
- package/dist/entities/mrs/registry.js +629 -0
- package/dist/entities/mrs/registry.js.map +1 -0
- package/dist/entities/mrs/schema-readonly.d.ts +127 -0
- package/dist/entities/mrs/schema-readonly.js +213 -0
- package/dist/entities/mrs/schema-readonly.js.map +1 -0
- package/dist/entities/mrs/schema.d.ts +285 -0
- package/dist/entities/mrs/schema.js +161 -0
- package/dist/entities/mrs/schema.js.map +1 -0
- package/dist/entities/pipelines/index.d.ts +7 -0
- package/dist/entities/pipelines/index.js +31 -0
- package/dist/entities/pipelines/index.js.map +1 -0
- package/dist/entities/pipelines/registry.d.ts +5 -0
- package/dist/entities/pipelines/registry.js +369 -0
- package/dist/entities/pipelines/registry.js.map +1 -0
- package/dist/entities/pipelines/schema-readonly.d.ts +238 -0
- package/dist/entities/pipelines/schema-readonly.js +257 -0
- package/dist/entities/pipelines/schema-readonly.js.map +1 -0
- package/dist/entities/pipelines/schema.d.ts +49 -0
- package/dist/entities/pipelines/schema.js +44 -0
- package/dist/entities/pipelines/schema.js.map +1 -0
- package/dist/entities/shared.d.ts +291 -0
- package/dist/entities/shared.js +277 -0
- package/dist/entities/shared.js.map +1 -0
- package/dist/entities/utils.d.ts +3 -0
- package/dist/entities/utils.js +22 -0
- package/dist/entities/utils.js.map +1 -0
- package/dist/entities/variables/index.d.ts +7 -0
- package/dist/entities/variables/index.js +31 -0
- package/dist/entities/variables/index.js.map +1 -0
- package/dist/entities/variables/registry.d.ts +5 -0
- package/dist/entities/variables/registry.js +192 -0
- package/dist/entities/variables/registry.js.map +1 -0
- package/dist/entities/variables/schema-readonly.d.ts +17 -0
- package/dist/entities/variables/schema-readonly.js +35 -0
- package/dist/entities/variables/schema-readonly.js.map +1 -0
- package/dist/entities/variables/schema.d.ts +45 -0
- package/dist/entities/variables/schema.js +127 -0
- package/dist/entities/variables/schema.js.map +1 -0
- package/dist/entities/wiki/index.d.ts +7 -0
- package/dist/entities/wiki/index.js +31 -0
- package/dist/entities/wiki/index.js.map +1 -0
- package/dist/entities/wiki/registry.d.ts +5 -0
- package/dist/entities/wiki/registry.js +195 -0
- package/dist/entities/wiki/registry.js.map +1 -0
- package/dist/entities/wiki/schema-readonly.d.ts +24 -0
- package/dist/entities/wiki/schema-readonly.js +34 -0
- package/dist/entities/wiki/schema-readonly.js.map +1 -0
- package/dist/entities/wiki/schema.d.ts +24 -0
- package/dist/entities/wiki/schema.js +37 -0
- package/dist/entities/wiki/schema.js.map +1 -0
- package/dist/entities/workitems/index.d.ts +7 -0
- package/dist/entities/workitems/index.js +31 -0
- package/dist/entities/workitems/index.js.map +1 -0
- package/dist/entities/workitems/registry.d.ts +5 -0
- package/dist/entities/workitems/registry.js +183 -0
- package/dist/entities/workitems/registry.js.map +1 -0
- package/dist/entities/workitems/schema-readonly.d.ts +46 -0
- package/dist/entities/workitems/schema-readonly.js +38 -0
- package/dist/entities/workitems/schema-readonly.js.map +1 -0
- package/dist/entities/workitems/schema.d.ts +37 -0
- package/dist/entities/workitems/schema.js +29 -0
- package/dist/entities/workitems/schema.js.map +1 -0
- package/dist/graphql/DynamicWorkItemsQuery.d.ts +56 -0
- package/dist/graphql/DynamicWorkItemsQuery.js +190 -0
- package/dist/graphql/DynamicWorkItemsQuery.js.map +1 -0
- package/dist/graphql/client.d.ts +15 -0
- package/dist/graphql/client.js +50 -0
- package/dist/graphql/client.js.map +1 -0
- package/dist/graphql/index.d.ts +2 -0
- package/dist/graphql/index.js +21 -0
- package/dist/graphql/index.js.map +1 -0
- package/dist/graphql/workItems.d.ts +430 -0
- package/dist/graphql/workItems.js +559 -0
- package/dist/graphql/workItems.js.map +1 -0
- package/dist/handlers.d.ts +2 -0
- package/dist/handlers.js +132 -0
- package/dist/handlers.js.map +1 -0
- package/dist/http-client.d.ts +1 -0
- package/dist/http-client.js +13 -0
- package/dist/http-client.js.map +1 -0
- package/dist/logger.d.ts +2 -0
- package/dist/logger.js +21 -0
- package/dist/logger.js.map +1 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.js +10 -0
- package/dist/main.js.map +1 -0
- package/dist/registry-manager.d.ts +25 -0
- package/dist/registry-manager.js +176 -0
- package/dist/registry-manager.js.map +1 -0
- package/dist/server.d.ts +25 -0
- package/dist/server.js +129 -0
- package/dist/server.js.map +1 -0
- package/dist/services/ConnectionManager.d.ts +27 -0
- package/dist/services/ConnectionManager.js +144 -0
- package/dist/services/ConnectionManager.js.map +1 -0
- package/dist/services/GitLabVersionDetector.d.ts +53 -0
- package/dist/services/GitLabVersionDetector.js +216 -0
- package/dist/services/GitLabVersionDetector.js.map +1 -0
- package/dist/services/SchemaIntrospector.d.ts +39 -0
- package/dist/services/SchemaIntrospector.js +188 -0
- package/dist/services/SchemaIntrospector.js.map +1 -0
- package/dist/services/ToolAvailability.d.ts +18 -0
- package/dist/services/ToolAvailability.js +373 -0
- package/dist/services/ToolAvailability.js.map +1 -0
- package/dist/services/WidgetAvailability.d.ts +14 -0
- package/dist/services/WidgetAvailability.js +84 -0
- package/dist/services/WidgetAvailability.js.map +1 -0
- package/dist/structured-world-gitlab-mcp-4.0.0.tgz +0 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/types.d.ts +21 -0
- package/dist/types.js +10 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/fetch.d.ts +9 -0
- package/dist/utils/fetch.js +164 -0
- package/dist/utils/fetch.js.map +1 -0
- package/package.json +90 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const CreateVariableSchema: z.ZodObject<{
|
|
3
|
+
project_id: z.ZodOptional<z.ZodCoercedString<unknown>>;
|
|
4
|
+
group_id: z.ZodOptional<z.ZodCoercedString<unknown>>;
|
|
5
|
+
key: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>;
|
|
6
|
+
value: z.ZodString;
|
|
7
|
+
variable_type: z.ZodDefault<z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodEnum<{
|
|
8
|
+
file: "file";
|
|
9
|
+
env_var: "env_var";
|
|
10
|
+
}>>>>;
|
|
11
|
+
environment_scope: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
12
|
+
protected: z.ZodDefault<z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>>;
|
|
13
|
+
masked: z.ZodDefault<z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>>;
|
|
14
|
+
raw: z.ZodDefault<z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>>;
|
|
15
|
+
description: z.ZodOptional<z.ZodString>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
export declare const UpdateVariableSchema: z.ZodObject<{
|
|
18
|
+
project_id: z.ZodOptional<z.ZodCoercedString<unknown>>;
|
|
19
|
+
group_id: z.ZodOptional<z.ZodCoercedString<unknown>>;
|
|
20
|
+
key: z.ZodString;
|
|
21
|
+
value: z.ZodString;
|
|
22
|
+
variable_type: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodEnum<{
|
|
23
|
+
file: "file";
|
|
24
|
+
env_var: "env_var";
|
|
25
|
+
}>>>;
|
|
26
|
+
environment_scope: z.ZodOptional<z.ZodString>;
|
|
27
|
+
protected: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
|
|
28
|
+
masked: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
|
|
29
|
+
raw: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
|
|
30
|
+
description: z.ZodOptional<z.ZodString>;
|
|
31
|
+
filter: z.ZodOptional<z.ZodObject<{
|
|
32
|
+
environment_scope: z.ZodOptional<z.ZodString>;
|
|
33
|
+
}, z.core.$strip>>;
|
|
34
|
+
}, z.core.$strip>;
|
|
35
|
+
export declare const DeleteVariableSchema: z.ZodObject<{
|
|
36
|
+
project_id: z.ZodOptional<z.ZodCoercedString<unknown>>;
|
|
37
|
+
group_id: z.ZodOptional<z.ZodCoercedString<unknown>>;
|
|
38
|
+
key: z.ZodString;
|
|
39
|
+
filter: z.ZodOptional<z.ZodObject<{
|
|
40
|
+
environment_scope: z.ZodOptional<z.ZodString>;
|
|
41
|
+
}, z.core.$strip>>;
|
|
42
|
+
}, z.core.$strip>;
|
|
43
|
+
export type CreateVariableOptions = z.infer<typeof CreateVariableSchema>;
|
|
44
|
+
export type UpdateVariableOptions = z.infer<typeof UpdateVariableSchema>;
|
|
45
|
+
export type DeleteVariableOptions = z.infer<typeof DeleteVariableSchema>;
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DeleteVariableSchema = exports.UpdateVariableSchema = exports.CreateVariableSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const utils_1 = require("../utils");
|
|
6
|
+
const flexibleVariableType = zod_1.z.preprocess((val) => {
|
|
7
|
+
if (typeof val === 'string') {
|
|
8
|
+
const normalized = val.toLowerCase().trim();
|
|
9
|
+
if (['env_var', 'env', 'environment', 'var', 'variable'].includes(normalized)) {
|
|
10
|
+
return 'env_var';
|
|
11
|
+
}
|
|
12
|
+
if (['file', 'file_var'].includes(normalized)) {
|
|
13
|
+
return 'file';
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return val;
|
|
17
|
+
}, zod_1.z.enum(['env_var', 'file']));
|
|
18
|
+
const variableKey = zod_1.z.preprocess((val) => {
|
|
19
|
+
if (typeof val === 'string') {
|
|
20
|
+
return val.trim().replace(/[^a-zA-Z0-9_]/g, '');
|
|
21
|
+
}
|
|
22
|
+
return val;
|
|
23
|
+
}, zod_1.z
|
|
24
|
+
.string()
|
|
25
|
+
.max(255)
|
|
26
|
+
.regex(/^[a-zA-Z0-9_]+$/, 'Key must contain only alphanumeric characters and underscores'));
|
|
27
|
+
exports.CreateVariableSchema = zod_1.z
|
|
28
|
+
.object({
|
|
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'),
|
|
31
|
+
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
|
+
value: zod_1.z
|
|
33
|
+
.string()
|
|
34
|
+
.describe('The value of the CI/CD variable. This is the actual content that will be available in your CI/CD pipeline. For file type variables, this should be the file content'),
|
|
35
|
+
variable_type: flexibleVariableType
|
|
36
|
+
.optional()
|
|
37
|
+
.default('env_var')
|
|
38
|
+
.describe('The type of variable: "env_var" for environment variables (default) or "file" for file variables. File variables create temporary files with the variable content during pipeline execution'),
|
|
39
|
+
environment_scope: zod_1.z
|
|
40
|
+
.string()
|
|
41
|
+
.optional()
|
|
42
|
+
.default('*')
|
|
43
|
+
.describe('The environment scope for this variable. Use "*" for all environments (default), or specify environment names like "production", "staging", "review/*" for environment-specific values'),
|
|
44
|
+
protected: utils_1.flexibleBoolean
|
|
45
|
+
.optional()
|
|
46
|
+
.default(false)
|
|
47
|
+
.describe('Whether this variable is protected. Protected variables are only available to protected branches/tags (typically main/master). Enhances security for sensitive production variables'),
|
|
48
|
+
masked: utils_1.flexibleBoolean
|
|
49
|
+
.optional()
|
|
50
|
+
.default(false)
|
|
51
|
+
.describe('Whether this variable should be masked in job logs. Masked variables have their values hidden in pipeline output for security. Variable value must meet masking requirements (minimum 8 characters, base64-compatible)'),
|
|
52
|
+
raw: utils_1.flexibleBoolean
|
|
53
|
+
.optional()
|
|
54
|
+
.default(false)
|
|
55
|
+
.describe('Whether variable expansion is disabled. When true, variables like $OTHER_VAR in the value will NOT be expanded/substituted. Useful for values containing literal dollar signs'),
|
|
56
|
+
description: zod_1.z
|
|
57
|
+
.string()
|
|
58
|
+
.optional()
|
|
59
|
+
.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
|
+
});
|
|
64
|
+
exports.UpdateVariableSchema = zod_1.z
|
|
65
|
+
.object({
|
|
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'),
|
|
68
|
+
key: zod_1.z
|
|
69
|
+
.string()
|
|
70
|
+
.describe('The key of the existing CI/CD variable to update. Must match an existing variable key exactly'),
|
|
71
|
+
value: zod_1.z
|
|
72
|
+
.string()
|
|
73
|
+
.describe('The new value for the CI/CD variable. This will replace the current value completely'),
|
|
74
|
+
variable_type: flexibleVariableType
|
|
75
|
+
.optional()
|
|
76
|
+
.describe('Update the variable type: "env_var" for environment variables or "file" for file variables. Changing type may affect how the variable is used in pipelines'),
|
|
77
|
+
environment_scope: zod_1.z
|
|
78
|
+
.string()
|
|
79
|
+
.optional()
|
|
80
|
+
.describe('Update the environment scope. Use "*" for all environments, or specify environment names. Changing scope may create a new variable instance'),
|
|
81
|
+
protected: utils_1.flexibleBoolean
|
|
82
|
+
.optional()
|
|
83
|
+
.describe('Update the protected status. Protected variables are only available to protected branches/tags for enhanced security'),
|
|
84
|
+
masked: utils_1.flexibleBoolean
|
|
85
|
+
.optional()
|
|
86
|
+
.describe('Update the masked status. Masked variables have their values hidden in job logs. Value must meet masking requirements if enabling'),
|
|
87
|
+
raw: utils_1.flexibleBoolean
|
|
88
|
+
.optional()
|
|
89
|
+
.describe('Update the raw status. When true, disables variable expansion (no substitution of $OTHER_VAR patterns)'),
|
|
90
|
+
description: zod_1.z
|
|
91
|
+
.string()
|
|
92
|
+
.optional()
|
|
93
|
+
.describe('Update the description of this variable to help team members understand its purpose (Available in GitLab 16.2+)'),
|
|
94
|
+
filter: zod_1.z
|
|
95
|
+
.object({
|
|
96
|
+
environment_scope: zod_1.z
|
|
97
|
+
.string()
|
|
98
|
+
.optional()
|
|
99
|
+
.describe('Filter to specify which environment scope variant to update when multiple variables exist with the same key'),
|
|
100
|
+
})
|
|
101
|
+
.optional()
|
|
102
|
+
.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
|
+
});
|
|
107
|
+
exports.DeleteVariableSchema = zod_1.z
|
|
108
|
+
.object({
|
|
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'),
|
|
111
|
+
key: zod_1.z
|
|
112
|
+
.string()
|
|
113
|
+
.describe('The key of the CI/CD variable to delete. This will permanently remove the variable from the project'),
|
|
114
|
+
filter: zod_1.z
|
|
115
|
+
.object({
|
|
116
|
+
environment_scope: zod_1.z
|
|
117
|
+
.string()
|
|
118
|
+
.optional()
|
|
119
|
+
.describe('Filter to specify which environment scope variant to delete when multiple variables exist with the same key. If not specified, deletes the "*" (all environments) variant'),
|
|
120
|
+
})
|
|
121
|
+
.optional()
|
|
122
|
+
.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
|
+
});
|
|
127
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +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;KAClC,MAAM,CAAC;IACN,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACnF,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC/E,GAAG,EAAE,WAAW,CAAC,QAAQ,CACvB,2LAA2L,CAC5L;IACD,KAAK,EAAE,OAAC;SACL,MAAM,EAAE;SACR,QAAQ,CACP,qKAAqK,CACtK;IACH,aAAa,EAAE,oBAAoB;SAChC,QAAQ,EAAE;SACV,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CACP,6LAA6L,CAC9L;IACH,iBAAiB,EAAE,OAAC;SACjB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,GAAG,CAAC;SACZ,QAAQ,CACP,wLAAwL,CACzL;IACH,SAAS,EAAE,uBAAe;SACvB,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,qLAAqL,CACtL;IACH,MAAM,EAAE,uBAAe;SACpB,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,wNAAwN,CACzN;IACH,GAAG,EAAE,uBAAe;SACjB,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,+KAA+K,CAChL;IACH,WAAW,EAAE,OAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,uLAAuL,CACxL;CACJ,CAAC;KACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;IACrE,OAAO,EAAE,wDAAwD;CAClE,CAAC,CAAC;AAGQ,QAAA,oBAAoB,GAAG,OAAC;KAClC,MAAM,CAAC;IACN,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACnF,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC/E,GAAG,EAAE,OAAC;SACH,MAAM,EAAE;SACR,QAAQ,CACP,+FAA+F,CAChG;IACH,KAAK,EAAE,OAAC;SACL,MAAM,EAAE;SACR,QAAQ,CACP,sFAAsF,CACvF;IACH,aAAa,EAAE,oBAAoB;SAChC,QAAQ,EAAE;SACV,QAAQ,CACP,4JAA4J,CAC7J;IACH,iBAAiB,EAAE,OAAC;SACjB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,6IAA6I,CAC9I;IACH,SAAS,EAAE,uBAAe;SACvB,QAAQ,EAAE;SACV,QAAQ,CACP,sHAAsH,CACvH;IACH,MAAM,EAAE,uBAAe;SACpB,QAAQ,EAAE;SACV,QAAQ,CACP,mIAAmI,CACpI;IACH,GAAG,EAAE,uBAAe;SACjB,QAAQ,EAAE;SACV,QAAQ,CACP,wGAAwG,CACzG;IACH,WAAW,EAAE,OAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,iHAAiH,CAClH;IACH,MAAM,EAAE,OAAC;SACN,MAAM,CAAC;QACN,iBAAiB,EAAE,OAAC;aACjB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,6GAA6G,CAC9G;KACJ,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CAAC,+DAA+D,CAAC;CAC7E,CAAC;KACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;IACrE,OAAO,EAAE,wDAAwD;CAClE,CAAC,CAAC;AAGQ,QAAA,oBAAoB,GAAG,OAAC;KAClC,MAAM,CAAC;IACN,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACnF,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC/E,GAAG,EAAE,OAAC;SACH,MAAM,EAAE;SACR,QAAQ,CACP,qGAAqG,CACtG;IACH,MAAM,EAAE,OAAC;SACN,MAAM,CAAC;QACN,iBAAiB,EAAE,OAAC;aACjB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,2KAA2K,CAC5K;KACJ,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CAAC,+DAA+D,CAAC;CAC7E,CAAC;KACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;IACrE,OAAO,EAAE,wDAAwD;CAClE,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from '../shared';
|
|
2
|
+
export * from './schema-readonly';
|
|
3
|
+
export * from './schema';
|
|
4
|
+
export * from './registry';
|
|
5
|
+
import type { ToolDefinition } from '../../types';
|
|
6
|
+
export declare const wikiTools: ToolDefinition[];
|
|
7
|
+
export declare const wikiReadOnlyTools: string[];
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.wikiReadOnlyTools = exports.wikiTools = void 0;
|
|
18
|
+
__exportStar(require("../shared"), exports);
|
|
19
|
+
__exportStar(require("./schema-readonly"), exports);
|
|
20
|
+
__exportStar(require("./schema"), exports);
|
|
21
|
+
__exportStar(require("./registry"), exports);
|
|
22
|
+
const registry_1 = require("./registry");
|
|
23
|
+
const isReadOnly = process.env.GITLAB_READONLY === 'true';
|
|
24
|
+
const wikiToolsFromRegistry = (0, registry_1.getFilteredWikiTools)(isReadOnly);
|
|
25
|
+
exports.wikiTools = wikiToolsFromRegistry.map((tool) => ({
|
|
26
|
+
name: tool.name,
|
|
27
|
+
description: tool.description,
|
|
28
|
+
inputSchema: tool.inputSchema,
|
|
29
|
+
}));
|
|
30
|
+
exports.wikiReadOnlyTools = (0, registry_1.getWikiReadOnlyToolNames)();
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/entities/wiki/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,4CAA0B;AAG1B,oDAAkC;AAGlC,2CAAyB;AAGzB,6CAA2B;AAG3B,yCAA4E;AAI5E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,MAAM,CAAC;AAG1D,MAAM,qBAAqB,GAAG,IAAA,+BAAoB,EAAC,UAAU,CAAC,CAAC;AAGlD,QAAA,SAAS,GAAqB,qBAAqB,CAAC,GAAG,CAClE,CAAC,IAAI,EAAkB,EAAE,CAAC,CAAC;IACzB,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,WAAW,EAAE,IAAI,CAAC,WAAW;IAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;CAC9B,CAAC,CACH,CAAC;AAGW,QAAA,iBAAiB,GAAG,IAAA,mCAAwB,GAAE,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ToolRegistry, EnhancedToolDefinition } from '../../types';
|
|
2
|
+
export declare const wikiToolRegistry: ToolRegistry;
|
|
3
|
+
export declare function getWikiReadOnlyToolNames(): string[];
|
|
4
|
+
export declare function getWikiToolDefinitions(): EnhancedToolDefinition[];
|
|
5
|
+
export declare function getFilteredWikiTools(readOnlyMode?: boolean): EnhancedToolDefinition[];
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.wikiToolRegistry = void 0;
|
|
4
|
+
exports.getWikiReadOnlyToolNames = getWikiReadOnlyToolNames;
|
|
5
|
+
exports.getWikiToolDefinitions = getWikiToolDefinitions;
|
|
6
|
+
exports.getFilteredWikiTools = getFilteredWikiTools;
|
|
7
|
+
const zod_to_json_schema_1 = require("zod-to-json-schema");
|
|
8
|
+
const schema_readonly_1 = require("./schema-readonly");
|
|
9
|
+
const schema_1 = require("./schema");
|
|
10
|
+
const fetch_1 = require("../../utils/fetch");
|
|
11
|
+
exports.wikiToolRegistry = new Map([
|
|
12
|
+
[
|
|
13
|
+
'list_wiki_pages',
|
|
14
|
+
{
|
|
15
|
+
name: 'list_wiki_pages',
|
|
16
|
+
description: 'List wiki pages in a GitLab project or group',
|
|
17
|
+
inputSchema: (0, zod_to_json_schema_1.zodToJsonSchema)(schema_readonly_1.ListWikiPagesSchema),
|
|
18
|
+
handler: async (args) => {
|
|
19
|
+
const options = schema_readonly_1.ListWikiPagesSchema.parse(args);
|
|
20
|
+
const { project_id, group_id } = options;
|
|
21
|
+
const isProject = !!project_id;
|
|
22
|
+
const entityType = isProject ? 'projects' : 'groups';
|
|
23
|
+
const entityId = (isProject ? project_id : group_id);
|
|
24
|
+
const queryParams = new URLSearchParams();
|
|
25
|
+
Object.entries(options).forEach(([key, value]) => {
|
|
26
|
+
if (value !== undefined && value !== null && key !== 'project_id' && key !== 'group_id') {
|
|
27
|
+
queryParams.set(key, String(value));
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${encodeURIComponent(entityId)}/wikis?${queryParams}`;
|
|
31
|
+
const response = await (0, fetch_1.enhancedFetch)(apiUrl, {
|
|
32
|
+
headers: {
|
|
33
|
+
Authorization: `Bearer ${process.env.GITLAB_TOKEN}`,
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
if (!response.ok) {
|
|
37
|
+
throw new Error(`GitLab API error: ${response.status} ${response.statusText}`);
|
|
38
|
+
}
|
|
39
|
+
const wikiPages = await response.json();
|
|
40
|
+
return wikiPages;
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
[
|
|
45
|
+
'get_wiki_page',
|
|
46
|
+
{
|
|
47
|
+
name: 'get_wiki_page',
|
|
48
|
+
description: 'Get details of a specific wiki page from a project or group',
|
|
49
|
+
inputSchema: (0, zod_to_json_schema_1.zodToJsonSchema)(schema_readonly_1.GetWikiPageSchema),
|
|
50
|
+
handler: async (args) => {
|
|
51
|
+
const options = schema_readonly_1.GetWikiPageSchema.parse(args);
|
|
52
|
+
const { project_id, group_id, slug } = options;
|
|
53
|
+
const isProject = !!project_id;
|
|
54
|
+
const entityType = isProject ? 'projects' : 'groups';
|
|
55
|
+
const entityId = (isProject ? project_id : group_id);
|
|
56
|
+
const queryParams = new URLSearchParams();
|
|
57
|
+
Object.entries(options).forEach(([key, value]) => {
|
|
58
|
+
if (value !== undefined &&
|
|
59
|
+
value !== null &&
|
|
60
|
+
key !== 'project_id' &&
|
|
61
|
+
key !== 'group_id' &&
|
|
62
|
+
key !== 'slug') {
|
|
63
|
+
queryParams.set(key, String(value));
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${encodeURIComponent(entityId)}/wikis/${encodeURIComponent(slug)}?${queryParams}`;
|
|
67
|
+
const response = await (0, fetch_1.enhancedFetch)(apiUrl, {
|
|
68
|
+
headers: {
|
|
69
|
+
Authorization: `Bearer ${process.env.GITLAB_TOKEN}`,
|
|
70
|
+
},
|
|
71
|
+
});
|
|
72
|
+
if (!response.ok) {
|
|
73
|
+
throw new Error(`GitLab API error: ${response.status} ${response.statusText}`);
|
|
74
|
+
}
|
|
75
|
+
const wikiPage = await response.json();
|
|
76
|
+
return wikiPage;
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
[
|
|
81
|
+
'create_wiki_page',
|
|
82
|
+
{
|
|
83
|
+
name: 'create_wiki_page',
|
|
84
|
+
description: 'Create a new wiki page in a GitLab project or group',
|
|
85
|
+
inputSchema: (0, zod_to_json_schema_1.zodToJsonSchema)(schema_1.CreateWikiPageSchema),
|
|
86
|
+
handler: async (args) => {
|
|
87
|
+
const options = schema_1.CreateWikiPageSchema.parse(args);
|
|
88
|
+
const { project_id, group_id } = options;
|
|
89
|
+
const isProject = !!project_id;
|
|
90
|
+
const entityType = isProject ? 'projects' : 'groups';
|
|
91
|
+
const entityId = (isProject ? project_id : group_id);
|
|
92
|
+
const body = {};
|
|
93
|
+
Object.entries(options).forEach(([key, value]) => {
|
|
94
|
+
if (value !== undefined && value !== null && key !== 'project_id' && key !== 'group_id') {
|
|
95
|
+
body[key] = value;
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${encodeURIComponent(entityId)}/wikis`;
|
|
99
|
+
const response = await (0, fetch_1.enhancedFetch)(apiUrl, {
|
|
100
|
+
method: 'POST',
|
|
101
|
+
headers: {
|
|
102
|
+
Authorization: `Bearer ${process.env.GITLAB_TOKEN}`,
|
|
103
|
+
'Content-Type': 'application/json',
|
|
104
|
+
},
|
|
105
|
+
body: JSON.stringify(body),
|
|
106
|
+
});
|
|
107
|
+
if (!response.ok) {
|
|
108
|
+
throw new Error(`GitLab API error: ${response.status} ${response.statusText}`);
|
|
109
|
+
}
|
|
110
|
+
const wikiPage = await response.json();
|
|
111
|
+
return wikiPage;
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
],
|
|
115
|
+
[
|
|
116
|
+
'update_wiki_page',
|
|
117
|
+
{
|
|
118
|
+
name: 'update_wiki_page',
|
|
119
|
+
description: 'Update an existing wiki page in a GitLab project or group',
|
|
120
|
+
inputSchema: (0, zod_to_json_schema_1.zodToJsonSchema)(schema_1.UpdateWikiPageSchema),
|
|
121
|
+
handler: async (args) => {
|
|
122
|
+
const options = schema_1.UpdateWikiPageSchema.parse(args);
|
|
123
|
+
const { project_id, group_id, slug } = options;
|
|
124
|
+
const isProject = !!project_id;
|
|
125
|
+
const entityType = isProject ? 'projects' : 'groups';
|
|
126
|
+
const entityId = (isProject ? project_id : group_id);
|
|
127
|
+
const body = {};
|
|
128
|
+
Object.entries(options).forEach(([key, value]) => {
|
|
129
|
+
if (value !== undefined &&
|
|
130
|
+
value !== null &&
|
|
131
|
+
key !== 'project_id' &&
|
|
132
|
+
key !== 'group_id' &&
|
|
133
|
+
key !== 'slug') {
|
|
134
|
+
body[key] = value;
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${encodeURIComponent(entityId)}/wikis/${encodeURIComponent(slug)}`;
|
|
138
|
+
const response = await (0, fetch_1.enhancedFetch)(apiUrl, {
|
|
139
|
+
method: 'PUT',
|
|
140
|
+
headers: {
|
|
141
|
+
Authorization: `Bearer ${process.env.GITLAB_TOKEN}`,
|
|
142
|
+
'Content-Type': 'application/json',
|
|
143
|
+
},
|
|
144
|
+
body: JSON.stringify(body),
|
|
145
|
+
});
|
|
146
|
+
if (!response.ok) {
|
|
147
|
+
throw new Error(`GitLab API error: ${response.status} ${response.statusText}`);
|
|
148
|
+
}
|
|
149
|
+
const wikiPage = await response.json();
|
|
150
|
+
return wikiPage;
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
],
|
|
154
|
+
[
|
|
155
|
+
'delete_wiki_page',
|
|
156
|
+
{
|
|
157
|
+
name: 'delete_wiki_page',
|
|
158
|
+
description: 'Delete a wiki page from a GitLab project or group',
|
|
159
|
+
inputSchema: (0, zod_to_json_schema_1.zodToJsonSchema)(schema_1.DeleteWikiPageSchema),
|
|
160
|
+
handler: async (args) => {
|
|
161
|
+
const options = schema_1.DeleteWikiPageSchema.parse(args);
|
|
162
|
+
const { project_id, group_id, slug } = options;
|
|
163
|
+
const isProject = !!project_id;
|
|
164
|
+
const entityType = isProject ? 'projects' : 'groups';
|
|
165
|
+
const entityId = (isProject ? project_id : group_id);
|
|
166
|
+
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${encodeURIComponent(entityId)}/wikis/${encodeURIComponent(slug)}`;
|
|
167
|
+
const response = await (0, fetch_1.enhancedFetch)(apiUrl, {
|
|
168
|
+
method: 'DELETE',
|
|
169
|
+
headers: {
|
|
170
|
+
Authorization: `Bearer ${process.env.GITLAB_TOKEN}`,
|
|
171
|
+
},
|
|
172
|
+
});
|
|
173
|
+
if (!response.ok) {
|
|
174
|
+
throw new Error(`GitLab API error: ${response.status} ${response.statusText}`);
|
|
175
|
+
}
|
|
176
|
+
const result = response.status === 204 ? { deleted: true } : await response.json();
|
|
177
|
+
return result;
|
|
178
|
+
},
|
|
179
|
+
},
|
|
180
|
+
],
|
|
181
|
+
]);
|
|
182
|
+
function getWikiReadOnlyToolNames() {
|
|
183
|
+
return ['list_wiki_pages', 'get_wiki_page'];
|
|
184
|
+
}
|
|
185
|
+
function getWikiToolDefinitions() {
|
|
186
|
+
return Array.from(exports.wikiToolRegistry.values());
|
|
187
|
+
}
|
|
188
|
+
function getFilteredWikiTools(readOnlyMode = false) {
|
|
189
|
+
if (readOnlyMode) {
|
|
190
|
+
const readOnlyNames = getWikiReadOnlyToolNames();
|
|
191
|
+
return Array.from(exports.wikiToolRegistry.values()).filter((tool) => readOnlyNames.includes(tool.name));
|
|
192
|
+
}
|
|
193
|
+
return getWikiToolDefinitions();
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/entities/wiki/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const ListWikiPagesSchema: z.ZodObject<{
|
|
3
|
+
project_id: z.ZodOptional<z.ZodCoercedString<unknown>>;
|
|
4
|
+
group_id: z.ZodOptional<z.ZodCoercedString<unknown>>;
|
|
5
|
+
with_content: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
|
|
6
|
+
page: z.ZodOptional<z.ZodNumber>;
|
|
7
|
+
per_page: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
8
|
+
}, z.core.$strip>;
|
|
9
|
+
export declare const GetWikiPageSchema: z.ZodObject<{
|
|
10
|
+
project_id: z.ZodOptional<z.ZodCoercedString<unknown>>;
|
|
11
|
+
group_id: z.ZodOptional<z.ZodCoercedString<unknown>>;
|
|
12
|
+
slug: z.ZodString;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
export declare const GitLabWikiPageSchema: z.ZodObject<{
|
|
15
|
+
title: z.ZodString;
|
|
16
|
+
slug: z.ZodString;
|
|
17
|
+
format: z.ZodString;
|
|
18
|
+
content: z.ZodOptional<z.ZodString>;
|
|
19
|
+
created_at: z.ZodOptional<z.ZodString>;
|
|
20
|
+
updated_at: z.ZodOptional<z.ZodString>;
|
|
21
|
+
}, z.core.$strip>;
|
|
22
|
+
export type ListWikiPagesOptions = z.infer<typeof ListWikiPagesSchema>;
|
|
23
|
+
export type GetWikiPageOptions = z.infer<typeof GetWikiPageSchema>;
|
|
24
|
+
export type GitLabWikiPage = z.infer<typeof GitLabWikiPageSchema>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GitLabWikiPageSchema = exports.GetWikiPageSchema = exports.ListWikiPagesSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const shared_1 = require("../shared");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
exports.ListWikiPagesSchema = zod_1.z
|
|
8
|
+
.object({
|
|
9
|
+
project_id: zod_1.z.coerce.string().optional().describe('Project ID or URL-encoded path'),
|
|
10
|
+
group_id: zod_1.z.coerce.string().optional().describe('Group ID or URL-encoded path'),
|
|
11
|
+
with_content: utils_1.flexibleBoolean.optional().describe('Include content of the wiki pages'),
|
|
12
|
+
})
|
|
13
|
+
.merge(shared_1.PaginationOptionsSchema)
|
|
14
|
+
.refine((data) => Boolean(data.project_id) !== Boolean(data.group_id), {
|
|
15
|
+
message: 'Exactly one of project_id or group_id must be provided',
|
|
16
|
+
});
|
|
17
|
+
exports.GetWikiPageSchema = zod_1.z
|
|
18
|
+
.object({
|
|
19
|
+
project_id: zod_1.z.coerce.string().optional().describe('Project ID or URL-encoded path'),
|
|
20
|
+
group_id: zod_1.z.coerce.string().optional().describe('Group ID or URL-encoded path'),
|
|
21
|
+
slug: zod_1.z.string().describe('URL-encoded slug of the wiki page'),
|
|
22
|
+
})
|
|
23
|
+
.refine((data) => Boolean(data.project_id) !== Boolean(data.group_id), {
|
|
24
|
+
message: 'Exactly one of project_id or group_id must be provided',
|
|
25
|
+
});
|
|
26
|
+
exports.GitLabWikiPageSchema = zod_1.z.object({
|
|
27
|
+
title: zod_1.z.string(),
|
|
28
|
+
slug: zod_1.z.string(),
|
|
29
|
+
format: zod_1.z.string(),
|
|
30
|
+
content: zod_1.z.string().optional(),
|
|
31
|
+
created_at: zod_1.z.string().optional(),
|
|
32
|
+
updated_at: zod_1.z.string().optional(),
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=schema-readonly.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-readonly.js","sourceRoot":"","sources":["../../../src/entities/wiki/schema-readonly.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,sCAAoD;AACpD,oCAA2C;AAG9B,QAAA,mBAAmB,GAAG,OAAC;KACjC,MAAM,CAAC;IACN,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACnF,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC/E,YAAY,EAAE,uBAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CACvF,CAAC;KACD,KAAK,CAAC,gCAAuB,CAAC;KAC9B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;IACrE,OAAO,EAAE,wDAAwD;CAClE,CAAC,CAAC;AAEQ,QAAA,iBAAiB,GAAG,OAAC;KAC/B,MAAM,CAAC;IACN,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACnF,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC/E,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CAC/D,CAAC;KACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;IACrE,OAAO,EAAE,wDAAwD;CAClE,CAAC,CAAC;AAGQ,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const CreateWikiPageSchema: z.ZodObject<{
|
|
3
|
+
project_id: z.ZodOptional<z.ZodCoercedString<unknown>>;
|
|
4
|
+
group_id: z.ZodOptional<z.ZodCoercedString<unknown>>;
|
|
5
|
+
title: z.ZodString;
|
|
6
|
+
content: z.ZodString;
|
|
7
|
+
format: z.ZodOptional<z.ZodString>;
|
|
8
|
+
}, z.core.$strip>;
|
|
9
|
+
export declare const UpdateWikiPageSchema: z.ZodObject<{
|
|
10
|
+
project_id: z.ZodOptional<z.ZodCoercedString<unknown>>;
|
|
11
|
+
group_id: z.ZodOptional<z.ZodCoercedString<unknown>>;
|
|
12
|
+
slug: z.ZodString;
|
|
13
|
+
title: z.ZodOptional<z.ZodString>;
|
|
14
|
+
content: z.ZodOptional<z.ZodString>;
|
|
15
|
+
format: z.ZodOptional<z.ZodString>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
export declare const DeleteWikiPageSchema: z.ZodObject<{
|
|
18
|
+
project_id: z.ZodOptional<z.ZodCoercedString<unknown>>;
|
|
19
|
+
group_id: z.ZodOptional<z.ZodCoercedString<unknown>>;
|
|
20
|
+
slug: z.ZodString;
|
|
21
|
+
}, z.core.$strip>;
|
|
22
|
+
export type CreateWikiPageOptions = z.infer<typeof CreateWikiPageSchema>;
|
|
23
|
+
export type UpdateWikiPageOptions = z.infer<typeof UpdateWikiPageSchema>;
|
|
24
|
+
export type DeleteWikiPageOptions = z.infer<typeof DeleteWikiPageSchema>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DeleteWikiPageSchema = exports.UpdateWikiPageSchema = exports.CreateWikiPageSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
exports.CreateWikiPageSchema = zod_1.z
|
|
6
|
+
.object({
|
|
7
|
+
project_id: zod_1.z.coerce.string().optional().describe('Project ID or URL-encoded path'),
|
|
8
|
+
group_id: zod_1.z.coerce.string().optional().describe('Group ID or URL-encoded path'),
|
|
9
|
+
title: zod_1.z.string().describe('Title of the wiki page'),
|
|
10
|
+
content: zod_1.z.string().describe('Content of the wiki page'),
|
|
11
|
+
format: zod_1.z.string().optional().describe('Content format, e.g., markdown, rdoc'),
|
|
12
|
+
})
|
|
13
|
+
.refine((data) => Boolean(data.project_id) !== Boolean(data.group_id), {
|
|
14
|
+
message: 'Exactly one of project_id or group_id must be provided',
|
|
15
|
+
});
|
|
16
|
+
exports.UpdateWikiPageSchema = zod_1.z
|
|
17
|
+
.object({
|
|
18
|
+
project_id: zod_1.z.coerce.string().optional().describe('Project ID or URL-encoded path'),
|
|
19
|
+
group_id: zod_1.z.coerce.string().optional().describe('Group ID or URL-encoded path'),
|
|
20
|
+
slug: zod_1.z.string().describe('URL-encoded slug of the wiki page'),
|
|
21
|
+
title: zod_1.z.string().optional().describe('New title of the wiki page'),
|
|
22
|
+
content: zod_1.z.string().optional().describe('New content of the wiki page'),
|
|
23
|
+
format: zod_1.z.string().optional().describe('Content format, e.g., markdown, rdoc'),
|
|
24
|
+
})
|
|
25
|
+
.refine((data) => Boolean(data.project_id) !== Boolean(data.group_id), {
|
|
26
|
+
message: 'Exactly one of project_id or group_id must be provided',
|
|
27
|
+
});
|
|
28
|
+
exports.DeleteWikiPageSchema = zod_1.z
|
|
29
|
+
.object({
|
|
30
|
+
project_id: zod_1.z.coerce.string().optional().describe('Project ID or URL-encoded path'),
|
|
31
|
+
group_id: zod_1.z.coerce.string().optional().describe('Group ID or URL-encoded path'),
|
|
32
|
+
slug: zod_1.z.string().describe('URL-encoded slug of the wiki page'),
|
|
33
|
+
})
|
|
34
|
+
.refine((data) => Boolean(data.project_id) !== Boolean(data.group_id), {
|
|
35
|
+
message: 'Exactly one of project_id or group_id must be provided',
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/entities/wiki/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAGX,QAAA,oBAAoB,GAAG,OAAC;KAClC,MAAM,CAAC;IACN,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACnF,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC/E,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACpD,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACxD,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CAC/E,CAAC;KACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;IACrE,OAAO,EAAE,wDAAwD;CAClE,CAAC,CAAC;AAEQ,QAAA,oBAAoB,GAAG,OAAC;KAClC,MAAM,CAAC;IACN,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACnF,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC/E,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAC9D,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACnE,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACvE,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CAC/E,CAAC;KACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;IACrE,OAAO,EAAE,wDAAwD;CAClE,CAAC,CAAC;AAEQ,QAAA,oBAAoB,GAAG,OAAC;KAClC,MAAM,CAAC;IACN,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACnF,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC/E,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CAC/D,CAAC;KACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;IACrE,OAAO,EAAE,wDAAwD;CAClE,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from '../shared';
|
|
2
|
+
export * from './schema-readonly';
|
|
3
|
+
export * from './schema';
|
|
4
|
+
export * from './registry';
|
|
5
|
+
import type { ToolDefinition } from '../../types';
|
|
6
|
+
export declare const workitemsTools: ToolDefinition[];
|
|
7
|
+
export declare const workitemsReadOnlyTools: string[];
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.workitemsReadOnlyTools = exports.workitemsTools = void 0;
|
|
18
|
+
__exportStar(require("../shared"), exports);
|
|
19
|
+
__exportStar(require("./schema-readonly"), exports);
|
|
20
|
+
__exportStar(require("./schema"), exports);
|
|
21
|
+
__exportStar(require("./registry"), exports);
|
|
22
|
+
const registry_1 = require("./registry");
|
|
23
|
+
const isReadOnly = process.env.GITLAB_READONLY === 'true';
|
|
24
|
+
const workitemsToolsFromRegistry = (0, registry_1.getFilteredWorkitemsTools)(isReadOnly);
|
|
25
|
+
exports.workitemsTools = workitemsToolsFromRegistry.map((tool) => ({
|
|
26
|
+
name: tool.name,
|
|
27
|
+
description: tool.description,
|
|
28
|
+
inputSchema: tool.inputSchema,
|
|
29
|
+
}));
|
|
30
|
+
exports.workitemsReadOnlyTools = (0, registry_1.getWorkitemsReadOnlyToolNames)();
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/entities/workitems/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,4CAA0B;AAG1B,oDAAkC;AAGlC,2CAAyB;AAGzB,6CAA2B;AAG3B,yCAAsF;AAItF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,MAAM,CAAC;AAG1D,MAAM,0BAA0B,GAAG,IAAA,oCAAyB,EAAC,UAAU,CAAC,CAAC;AAG5D,QAAA,cAAc,GAAqB,0BAA0B,CAAC,GAAG,CAC5E,CAAC,IAAI,EAAkB,EAAE,CAAC,CAAC;IACzB,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,WAAW,EAAE,IAAI,CAAC,WAAW;IAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;CAC9B,CAAC,CACH,CAAC;AAGW,QAAA,sBAAsB,GAAG,IAAA,wCAA6B,GAAE,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ToolRegistry, EnhancedToolDefinition } from '../../types';
|
|
2
|
+
export declare const workitemsToolRegistry: ToolRegistry;
|
|
3
|
+
export declare function getWorkitemsReadOnlyToolNames(): string[];
|
|
4
|
+
export declare function getWorkitemsToolDefinitions(): EnhancedToolDefinition[];
|
|
5
|
+
export declare function getFilteredWorkitemsTools(readOnlyMode?: boolean): EnhancedToolDefinition[];
|