@structured-world/gitlab-mcp 4.5.0 → 5.1.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/README.md +1 -0
- package/dist/config.js +23 -23
- package/dist/config.js.map +1 -1
- package/dist/entities/core/index.d.ts +5 -5
- package/dist/entities/core/index.js +1 -1
- package/dist/entities/core/registry.d.ts +1 -1
- package/dist/entities/core/registry.js +149 -149
- package/dist/entities/core/registry.js.map +1 -1
- package/dist/entities/core/schema-readonly.d.ts +1 -1
- package/dist/entities/core/schema-readonly.js +132 -132
- package/dist/entities/core/schema-readonly.js.map +1 -1
- package/dist/entities/core/schema.d.ts +1 -1
- package/dist/entities/core/schema.js +59 -59
- package/dist/entities/files/index.d.ts +5 -5
- package/dist/entities/files/index.js +1 -1
- package/dist/entities/files/registry.d.ts +1 -1
- package/dist/entities/files/registry.js +32 -32
- package/dist/entities/files/registry.js.map +1 -1
- package/dist/entities/files/schema-readonly.d.ts +1 -1
- package/dist/entities/files/schema-readonly.js +10 -10
- package/dist/entities/files/schema.d.ts +1 -1
- package/dist/entities/files/schema.js +19 -19
- package/dist/entities/index.d.ts +10 -10
- package/dist/entities/labels/index.d.ts +5 -5
- package/dist/entities/labels/index.js +1 -1
- package/dist/entities/labels/registry.d.ts +1 -1
- package/dist/entities/labels/registry.js +31 -31
- package/dist/entities/labels/registry.js.map +1 -1
- package/dist/entities/labels/schema-readonly.d.ts +1 -1
- package/dist/entities/labels/schema-readonly.js +7 -7
- package/dist/entities/labels/schema.d.ts +1 -1
- package/dist/entities/labels/schema.js +11 -11
- package/dist/entities/milestones/index.d.ts +5 -5
- package/dist/entities/milestones/index.js +1 -1
- package/dist/entities/milestones/registry.d.ts +1 -1
- package/dist/entities/milestones/registry.js +49 -49
- package/dist/entities/milestones/registry.js.map +1 -1
- package/dist/entities/milestones/schema-readonly.d.ts +2 -2
- package/dist/entities/milestones/schema-readonly.js +11 -11
- package/dist/entities/milestones/schema.d.ts +1 -1
- package/dist/entities/milestones/schema.js +18 -18
- package/dist/entities/milestones/schema.js.map +1 -1
- package/dist/entities/mrs/index.d.ts +5 -5
- package/dist/entities/mrs/index.js +1 -1
- package/dist/entities/mrs/registry.d.ts +1 -1
- package/dist/entities/mrs/registry.js +118 -118
- package/dist/entities/mrs/registry.js.map +1 -1
- package/dist/entities/mrs/schema-readonly.d.ts +1 -1
- package/dist/entities/mrs/schema-readonly.js +47 -47
- package/dist/entities/mrs/schema-readonly.js.map +1 -1
- package/dist/entities/mrs/schema.d.ts +1 -1
- package/dist/entities/mrs/schema.js +86 -86
- package/dist/entities/mrs/schema.js.map +1 -1
- package/dist/entities/pipelines/index.d.ts +5 -5
- package/dist/entities/pipelines/index.js +1 -1
- package/dist/entities/pipelines/registry.d.ts +1 -1
- package/dist/entities/pipelines/registry.js +58 -58
- package/dist/entities/pipelines/registry.js.map +1 -1
- package/dist/entities/pipelines/schema-readonly.d.ts +1 -1
- package/dist/entities/pipelines/schema-readonly.js +65 -65
- package/dist/entities/pipelines/schema.d.ts +1 -1
- package/dist/entities/pipelines/schema.js +15 -15
- package/dist/entities/shared.d.ts +1 -1
- package/dist/entities/shared.js +7 -7
- package/dist/entities/utils.d.ts +1 -1
- package/dist/entities/utils.js +5 -5
- package/dist/entities/utils.js.map +1 -1
- package/dist/entities/variables/index.d.ts +5 -5
- package/dist/entities/variables/index.js +1 -1
- package/dist/entities/variables/registry.d.ts +1 -1
- package/dist/entities/variables/registry.js +29 -29
- package/dist/entities/variables/registry.js.map +1 -1
- package/dist/entities/variables/schema-readonly.d.ts +1 -1
- package/dist/entities/variables/schema-readonly.js +4 -4
- package/dist/entities/variables/schema.d.ts +1 -1
- package/dist/entities/variables/schema.js +32 -32
- package/dist/entities/variables/schema.js.map +1 -1
- package/dist/entities/wiki/index.d.ts +5 -5
- package/dist/entities/wiki/index.js +1 -1
- package/dist/entities/wiki/registry.d.ts +1 -1
- package/dist/entities/wiki/registry.js +26 -26
- package/dist/entities/wiki/registry.js.map +1 -1
- package/dist/entities/wiki/schema-readonly.d.ts +1 -1
- package/dist/entities/wiki/schema-readonly.js +4 -4
- package/dist/entities/wiki/schema.d.ts +1 -1
- package/dist/entities/wiki/schema.js +11 -11
- package/dist/entities/workitems/index.d.ts +5 -5
- package/dist/entities/workitems/index.js +1 -1
- package/dist/entities/workitems/registry.d.ts +1 -1
- package/dist/entities/workitems/registry.js +55 -55
- package/dist/entities/workitems/registry.js.map +1 -1
- package/dist/entities/workitems/schema-readonly.d.ts +1 -1
- package/dist/entities/workitems/schema-readonly.js +25 -25
- package/dist/entities/workitems/schema-readonly.js.map +1 -1
- package/dist/entities/workitems/schema.d.ts +1 -1
- package/dist/entities/workitems/schema.js +11 -11
- package/dist/graphql/DynamicWorkItemsQuery.d.ts +2 -2
- package/dist/graphql/DynamicWorkItemsQuery.js +47 -47
- package/dist/graphql/DynamicWorkItemsQuery.js.map +1 -1
- package/dist/graphql/client.d.ts +1 -1
- package/dist/graphql/client.js +4 -4
- package/dist/graphql/client.js.map +1 -1
- package/dist/graphql/index.d.ts +2 -2
- package/dist/graphql/workItems.d.ts +33 -33
- package/dist/graphql/workItems.js +29 -29
- package/dist/handlers.d.ts +1 -1
- package/dist/handlers.js +20 -20
- package/dist/handlers.js.map +1 -1
- package/dist/http-client.js +3 -3
- package/dist/logger.js +4 -4
- package/dist/registry-manager.d.ts +1 -1
- package/dist/registry-manager.js +27 -27
- package/dist/server.d.ts +1 -1
- package/dist/server.js +46 -46
- package/dist/services/ConnectionManager.d.ts +4 -4
- package/dist/services/ConnectionManager.js +13 -13
- package/dist/services/GitLabVersionDetector.d.ts +2 -2
- package/dist/services/GitLabVersionDetector.js +41 -41
- package/dist/services/GitLabVersionDetector.js.map +1 -1
- package/dist/services/SchemaIntrospector.d.ts +1 -1
- package/dist/services/SchemaIntrospector.js +42 -42
- package/dist/services/SchemaIntrospector.js.map +1 -1
- package/dist/services/ToolAvailability.d.ts +2 -2
- package/dist/services/ToolAvailability.js +279 -279
- package/dist/services/ToolAvailability.js.map +1 -1
- package/dist/services/WidgetAvailability.d.ts +3 -3
- package/dist/services/WidgetAvailability.js +32 -32
- package/dist/structured-world-gitlab-mcp-5.1.0.tgz +0 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types.js +4 -4
- package/dist/utils/fetch.d.ts +4 -4
- package/dist/utils/fetch.js +15 -15
- package/dist/utils/fetch.js.map +1 -1
- package/dist/utils/idConversion.js +33 -33
- package/dist/utils/idConversion.js.map +1 -1
- package/dist/utils/namespace.d.ts +2 -2
- package/dist/utils/namespace.js +13 -13
- package/dist/utils/smart-user-search.d.ts +1 -1
- package/dist/utils/smart-user-search.js +10 -10
- package/package.json +1 -1
- package/dist/structured-world-gitlab-mcp-4.5.0.tgz +0 -0
|
@@ -14,94 +14,94 @@ exports.CreateRepositorySchema = zod_1.z.object({
|
|
|
14
14
|
description: zod_1.z
|
|
15
15
|
.string()
|
|
16
16
|
.optional()
|
|
17
|
-
.describe(
|
|
17
|
+
.describe("Project description shown on overview page. Supports Markdown formatting. Max 2000 chars."),
|
|
18
18
|
issues_enabled: utils_1.flexibleBoolean
|
|
19
19
|
.optional()
|
|
20
|
-
.describe(
|
|
20
|
+
.describe("Enable issue tracking for bug reports and feature requests. Default: true."),
|
|
21
21
|
merge_requests_enabled: utils_1.flexibleBoolean
|
|
22
22
|
.optional()
|
|
23
|
-
.describe(
|
|
23
|
+
.describe("Enable merge requests for code review and collaboration. Default: true."),
|
|
24
24
|
jobs_enabled: utils_1.flexibleBoolean
|
|
25
25
|
.optional()
|
|
26
|
-
.describe(
|
|
26
|
+
.describe("Enable CI/CD jobs and pipelines. Required for automated testing and deployment."),
|
|
27
27
|
wiki_enabled: utils_1.flexibleBoolean
|
|
28
28
|
.optional()
|
|
29
|
-
.describe(
|
|
29
|
+
.describe("Enable project wiki for documentation. Creates separate Git repository for wiki content."),
|
|
30
30
|
snippets_enabled: utils_1.flexibleBoolean
|
|
31
31
|
.optional()
|
|
32
|
-
.describe(
|
|
32
|
+
.describe("Enable code snippets for sharing small code examples and scripts."),
|
|
33
33
|
resolve_outdated_diff_discussions: utils_1.flexibleBoolean
|
|
34
34
|
.optional()
|
|
35
|
-
.describe(
|
|
35
|
+
.describe("Auto-resolve MR discussions on modified lines when new commits are pushed. Keeps discussions relevant."),
|
|
36
36
|
container_registry_enabled: utils_1.flexibleBoolean
|
|
37
37
|
.optional()
|
|
38
|
-
.describe(
|
|
38
|
+
.describe("Enable Docker container registry for storing and managing Docker images."),
|
|
39
39
|
container_registry_access_level: zod_1.z
|
|
40
|
-
.enum([
|
|
40
|
+
.enum(["disabled", "private", "enabled"])
|
|
41
41
|
.optional()
|
|
42
|
-
.describe(
|
|
42
|
+
.describe("Container registry visibility: disabled=off, private=project members only, enabled=follows project visibility."),
|
|
43
43
|
shared_runners_enabled: utils_1.flexibleBoolean
|
|
44
44
|
.optional()
|
|
45
|
-
.describe(
|
|
45
|
+
.describe("Use GitLab shared runners for CI/CD. Disable to use only project-specific runners."),
|
|
46
46
|
visibility: zod_1.z
|
|
47
|
-
.enum([
|
|
47
|
+
.enum(["private", "internal", "public"])
|
|
48
48
|
.optional()
|
|
49
|
-
.describe(
|
|
49
|
+
.describe("Project visibility: private=members only, internal=logged-in users, public=everyone. Affects clone/browse access."),
|
|
50
50
|
import_url: zod_1.z
|
|
51
51
|
.string()
|
|
52
52
|
.optional()
|
|
53
|
-
.describe(
|
|
53
|
+
.describe("Git URL to import existing repository. Supports HTTP(S) and SSH URLs. Example: https://github.com/user/repo.git"),
|
|
54
54
|
public_jobs: utils_1.flexibleBoolean
|
|
55
55
|
.optional()
|
|
56
|
-
.describe(
|
|
56
|
+
.describe("Allow non-members to view CI/CD job logs and artifacts. Useful for open source projects."),
|
|
57
57
|
only_allow_merge_if_pipeline_succeeds: utils_1.flexibleBoolean
|
|
58
58
|
.optional()
|
|
59
|
-
.describe(
|
|
59
|
+
.describe("Require all CI/CD pipelines to pass before allowing merge. Ensures code quality."),
|
|
60
60
|
allow_merge_on_skipped_pipeline: utils_1.flexibleBoolean
|
|
61
61
|
.optional()
|
|
62
|
-
.describe(
|
|
62
|
+
.describe("Treat skipped pipelines as successful. Use when some pipelines are optional."),
|
|
63
63
|
only_allow_merge_if_all_discussions_are_resolved: utils_1.flexibleBoolean
|
|
64
64
|
.optional()
|
|
65
|
-
.describe(
|
|
65
|
+
.describe("Require all discussion threads to be resolved before merge. Ensures all feedback is addressed."),
|
|
66
66
|
merge_method: zod_1.z
|
|
67
|
-
.enum([
|
|
67
|
+
.enum(["merge", "rebase_merge", "ff"])
|
|
68
68
|
.optional()
|
|
69
|
-
.describe(
|
|
69
|
+
.describe("Merge strategy: merge=create merge commit, rebase_merge=rebase then merge, ff=fast-forward only."),
|
|
70
70
|
autoclose_referenced_issues: utils_1.flexibleBoolean
|
|
71
71
|
.optional()
|
|
72
72
|
.describe('Automatically close issues referenced by "Closes #123" in commit messages when merged to default branch.'),
|
|
73
73
|
suggestion_commit_message: zod_1.z
|
|
74
74
|
.string()
|
|
75
75
|
.optional()
|
|
76
|
-
.describe(
|
|
76
|
+
.describe("Template for commit messages when applying code suggestions. Supports variables like %{suggestion_author}."),
|
|
77
77
|
remove_source_branch_after_merge: utils_1.flexibleBoolean
|
|
78
78
|
.optional()
|
|
79
79
|
.describe('Auto-enable "Delete source branch" checkbox on new MRs. Keeps repository clean after merging.'),
|
|
80
80
|
lfs_enabled: utils_1.flexibleBoolean
|
|
81
81
|
.optional()
|
|
82
|
-
.describe(
|
|
82
|
+
.describe("Enable Git LFS (Large File Storage) for managing large binary files efficiently."),
|
|
83
83
|
request_access_enabled: utils_1.flexibleBoolean
|
|
84
84
|
.optional()
|
|
85
|
-
.describe(
|
|
85
|
+
.describe("Allow non-members to request project access. Maintainers can approve/deny requests."),
|
|
86
86
|
tag_list: zod_1.z
|
|
87
87
|
.array(zod_1.z.string())
|
|
88
88
|
.optional()
|
|
89
89
|
.describe('Project tags/topics for categorization and discovery. Example: ["javascript", "frontend", "react"].'),
|
|
90
90
|
printing_merge_request_link_enabled: utils_1.flexibleBoolean
|
|
91
91
|
.optional()
|
|
92
|
-
.describe(
|
|
92
|
+
.describe("Display MR creation URL in git push output. Convenient for quickly creating MRs after pushing."),
|
|
93
93
|
build_git_strategy: zod_1.z
|
|
94
|
-
.enum([
|
|
94
|
+
.enum(["fetch", "clone"])
|
|
95
95
|
.optional()
|
|
96
|
-
.describe(
|
|
96
|
+
.describe("CI/CD git strategy: fetch=incremental fetch (faster), clone=fresh clone each time (cleaner)."),
|
|
97
97
|
build_timeout: zod_1.z
|
|
98
98
|
.number()
|
|
99
99
|
.optional()
|
|
100
|
-
.describe(
|
|
100
|
+
.describe("Maximum job runtime in seconds before automatic termination. Default: 3600 (1 hour)."),
|
|
101
101
|
auto_cancel_pending_pipelines: zod_1.z
|
|
102
|
-
.enum([
|
|
102
|
+
.enum(["disabled", "enabled"])
|
|
103
103
|
.optional()
|
|
104
|
-
.describe(
|
|
104
|
+
.describe("Cancel redundant pipelines when new commits are pushed. Saves CI resources."),
|
|
105
105
|
build_coverage_regex: zod_1.z
|
|
106
106
|
.string()
|
|
107
107
|
.optional()
|
|
@@ -109,35 +109,35 @@ exports.CreateRepositorySchema = zod_1.z.object({
|
|
|
109
109
|
ci_config_path: zod_1.z
|
|
110
110
|
.string()
|
|
111
111
|
.optional()
|
|
112
|
-
.describe(
|
|
112
|
+
.describe("Path to CI/CD configuration file. Default: .gitlab-ci.yml. Can be in other repos with @group/project."),
|
|
113
113
|
auto_devops_enabled: utils_1.flexibleBoolean
|
|
114
114
|
.optional()
|
|
115
|
-
.describe(
|
|
115
|
+
.describe("Enable Auto DevOps for automatic CI/CD pipeline configuration. Requires Kubernetes for deployment."),
|
|
116
116
|
auto_devops_deploy_strategy: zod_1.z
|
|
117
|
-
.enum([
|
|
117
|
+
.enum(["continuous", "manual", "timed_incremental"])
|
|
118
118
|
.optional()
|
|
119
|
-
.describe(
|
|
119
|
+
.describe("Auto DevOps deployment strategy: continuous=every push, manual=manual trigger, timed_incremental=gradual rollout."),
|
|
120
120
|
repository_storage: zod_1.z
|
|
121
121
|
.string()
|
|
122
122
|
.optional()
|
|
123
|
-
.describe(
|
|
123
|
+
.describe("Storage shard for repository data (admin setting). Used in multi-shard GitLab installations."),
|
|
124
124
|
approvals_before_merge: zod_1.z
|
|
125
125
|
.number()
|
|
126
126
|
.optional()
|
|
127
|
-
.describe(
|
|
127
|
+
.describe("Minimum number of approvals required for merge requests. Requires GitLab Premium. 0=disabled."),
|
|
128
128
|
external_authorization_classification_label: zod_1.z
|
|
129
129
|
.string()
|
|
130
130
|
.optional()
|
|
131
|
-
.describe(
|
|
131
|
+
.describe("External authorization system classification label. For compliance with external auth systems."),
|
|
132
132
|
mirror: utils_1.flexibleBoolean
|
|
133
133
|
.optional()
|
|
134
|
-
.describe(
|
|
134
|
+
.describe("Enable repository mirroring from external source. Keeps fork synchronized with upstream."),
|
|
135
135
|
mirror_trigger_builds: utils_1.flexibleBoolean
|
|
136
136
|
.optional()
|
|
137
|
-
.describe(
|
|
137
|
+
.describe("Trigger CI/CD pipelines when mirror updates. Useful for testing upstream changes."),
|
|
138
138
|
initialize_with_readme: utils_1.flexibleBoolean
|
|
139
139
|
.optional()
|
|
140
|
-
.describe(
|
|
140
|
+
.describe("Create initial README.md file. Prevents empty repository and enables immediate cloning."),
|
|
141
141
|
template_name: zod_1.z
|
|
142
142
|
.string()
|
|
143
143
|
.optional()
|
|
@@ -145,20 +145,20 @@ exports.CreateRepositorySchema = zod_1.z.object({
|
|
|
145
145
|
template_project_id: zod_1.z
|
|
146
146
|
.number()
|
|
147
147
|
.optional()
|
|
148
|
-
.describe(
|
|
148
|
+
.describe("Source project ID to use as template. Creates project with same structure and settings."),
|
|
149
149
|
use_custom_template: utils_1.flexibleBoolean
|
|
150
150
|
.optional()
|
|
151
|
-
.describe(
|
|
151
|
+
.describe("Enable custom project templates. Requires template_name or template_project_id. For advanced project initialization."),
|
|
152
152
|
group_with_project_templates_id: zod_1.z
|
|
153
153
|
.number()
|
|
154
154
|
.optional()
|
|
155
|
-
.describe(
|
|
155
|
+
.describe("Group ID containing custom project templates. For organizations with standard project structures."),
|
|
156
156
|
packages_enabled: utils_1.flexibleBoolean
|
|
157
157
|
.optional()
|
|
158
|
-
.describe(
|
|
158
|
+
.describe("Enable package registry for NPM, Maven, PyPI, etc. packages. Store and share dependencies."),
|
|
159
159
|
service_desk_enabled: utils_1.flexibleBoolean
|
|
160
160
|
.optional()
|
|
161
|
-
.describe(
|
|
161
|
+
.describe("Enable Service Desk for customer support via email. Creates issues from emails. Premium feature."),
|
|
162
162
|
compliance_frameworks: zod_1.z
|
|
163
163
|
.array(zod_1.z.string())
|
|
164
164
|
.optional()
|
|
@@ -171,27 +171,27 @@ exports.ForkRepositorySchema = zod_1.z.object({
|
|
|
171
171
|
namespace: zod_1.z
|
|
172
172
|
.string()
|
|
173
173
|
.optional()
|
|
174
|
-
.describe(
|
|
174
|
+
.describe("Target namespace (group or user) for the fork. Use ID or path. Defaults to current user namespace."),
|
|
175
175
|
namespace_path: zod_1.z
|
|
176
176
|
.string()
|
|
177
177
|
.optional()
|
|
178
|
-
.describe(
|
|
178
|
+
.describe("Alternative to namespace parameter. Specify target namespace by path only."),
|
|
179
179
|
name: zod_1.z
|
|
180
180
|
.string()
|
|
181
181
|
.optional()
|
|
182
|
-
.describe(
|
|
182
|
+
.describe("Display name for the fork. Defaults to original project name."),
|
|
183
183
|
path: zod_1.z
|
|
184
184
|
.string()
|
|
185
185
|
.optional()
|
|
186
|
-
.describe(
|
|
186
|
+
.describe("URL path for the fork. Must be unique in namespace. Defaults to original path."),
|
|
187
187
|
});
|
|
188
188
|
exports.CreateBranchSchema = zod_1.z.object({
|
|
189
189
|
project_id: zod_1.z.coerce
|
|
190
190
|
.string()
|
|
191
|
-
.describe(
|
|
191
|
+
.describe("Target project for new branch. Use numeric ID or URL-encoded path."),
|
|
192
192
|
branch: zod_1.z
|
|
193
193
|
.string()
|
|
194
|
-
.describe(
|
|
194
|
+
.describe("New branch name. Must be unique. Cannot contain spaces or special chars except - and _."),
|
|
195
195
|
ref: zod_1.z
|
|
196
196
|
.string()
|
|
197
197
|
.describe('Source reference: existing branch name or commit SHA. Example: "main" or "abc123def".'),
|
|
@@ -206,25 +206,25 @@ exports.CreateGroupSchema = zod_1.z.object({
|
|
|
206
206
|
description: zod_1.z
|
|
207
207
|
.string()
|
|
208
208
|
.optional()
|
|
209
|
-
.describe(
|
|
209
|
+
.describe("Group description shown on overview page. Supports Markdown formatting."),
|
|
210
210
|
visibility: zod_1.z
|
|
211
|
-
.enum([
|
|
211
|
+
.enum(["private", "internal", "public"])
|
|
212
212
|
.optional()
|
|
213
|
-
.default(
|
|
214
|
-
.describe(
|
|
213
|
+
.default("private")
|
|
214
|
+
.describe("Group visibility: private=members only, internal=logged-in users, public=everyone."),
|
|
215
215
|
parent_id: zod_1.z
|
|
216
216
|
.number()
|
|
217
217
|
.optional()
|
|
218
|
-
.describe(
|
|
219
|
-
lfs_enabled: zod_1.z.boolean().optional().describe(
|
|
218
|
+
.describe("Parent group ID to create subgroup. Omit for root-level group."),
|
|
219
|
+
lfs_enabled: zod_1.z.boolean().optional().describe("Enable Git LFS for all projects in this group."),
|
|
220
220
|
request_access_enabled: zod_1.z
|
|
221
221
|
.boolean()
|
|
222
222
|
.optional()
|
|
223
|
-
.describe(
|
|
223
|
+
.describe("Allow non-members to request group access."),
|
|
224
224
|
default_branch_protection: zod_1.z
|
|
225
225
|
.number()
|
|
226
226
|
.optional()
|
|
227
|
-
.describe(
|
|
228
|
-
avatar: zod_1.z.string().optional().describe(
|
|
227
|
+
.describe("Default branch protection level: 0=no protection, 1=partial, 2=full protection."),
|
|
228
|
+
avatar: zod_1.z.string().optional().describe("Group avatar image file path or URL."),
|
|
229
229
|
});
|
|
230
230
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
import type { ToolDefinition } from
|
|
1
|
+
export * from "../shared";
|
|
2
|
+
export * from "./schema-readonly";
|
|
3
|
+
export * from "./schema";
|
|
4
|
+
export * from "./registry";
|
|
5
|
+
import type { ToolDefinition } from "../../types";
|
|
6
6
|
export declare const filesTools: ToolDefinition[];
|
|
7
7
|
export declare const filesReadOnlyTools: string[];
|
|
@@ -20,7 +20,7 @@ __exportStar(require("./schema-readonly"), exports);
|
|
|
20
20
|
__exportStar(require("./schema"), exports);
|
|
21
21
|
__exportStar(require("./registry"), exports);
|
|
22
22
|
const registry_1 = require("./registry");
|
|
23
|
-
const isReadOnly = process.env.GITLAB_READONLY ===
|
|
23
|
+
const isReadOnly = process.env.GITLAB_READONLY === "true";
|
|
24
24
|
const filesToolsFromRegistry = (0, registry_1.getFilteredFilesTools)(isReadOnly);
|
|
25
25
|
exports.filesTools = filesToolsFromRegistry.map((tool) => ({
|
|
26
26
|
name: tool.name,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ToolRegistry, EnhancedToolDefinition } from
|
|
1
|
+
import { ToolRegistry, EnhancedToolDefinition } from "../../types";
|
|
2
2
|
export declare const filesToolRegistry: ToolRegistry;
|
|
3
3
|
export declare function getFilesReadOnlyToolNames(): string[];
|
|
4
4
|
export declare function getFilesToolDefinitions(): EnhancedToolDefinition[];
|
|
@@ -11,17 +11,17 @@ const fetch_1 = require("../../utils/fetch");
|
|
|
11
11
|
const idConversion_1 = require("../../utils/idConversion");
|
|
12
12
|
exports.filesToolRegistry = new Map([
|
|
13
13
|
[
|
|
14
|
-
|
|
14
|
+
"get_repository_tree",
|
|
15
15
|
{
|
|
16
|
-
name:
|
|
17
|
-
description:
|
|
16
|
+
name: "get_repository_tree",
|
|
17
|
+
description: "BROWSE: List files/folders WITHOUT reading content. Use when: Exploring project structure, Finding file locations, Checking what exists. Returns: names, types (blob=file, tree=folder), sizes. Set recursive=true for full tree. Does NOT return file contents! See also: get_file_contents to READ actual content.",
|
|
18
18
|
inputSchema: (0, zod_to_json_schema_1.zodToJsonSchema)(schema_readonly_1.GetRepositoryTreeSchema),
|
|
19
19
|
handler: async (args) => {
|
|
20
20
|
const options = schema_readonly_1.GetRepositoryTreeSchema.parse(args);
|
|
21
21
|
const { project_id } = options;
|
|
22
22
|
const queryParams = new URLSearchParams();
|
|
23
23
|
Object.entries(options).forEach(([key, value]) => {
|
|
24
|
-
if (value !== undefined && key !==
|
|
24
|
+
if (value !== undefined && key !== "project_id") {
|
|
25
25
|
queryParams.set(key, String(value));
|
|
26
26
|
}
|
|
27
27
|
});
|
|
@@ -40,17 +40,17 @@ exports.filesToolRegistry = new Map([
|
|
|
40
40
|
},
|
|
41
41
|
],
|
|
42
42
|
[
|
|
43
|
-
|
|
43
|
+
"get_file_contents",
|
|
44
44
|
{
|
|
45
|
-
name:
|
|
46
|
-
description:
|
|
45
|
+
name: "get_file_contents",
|
|
46
|
+
description: "READ: Get actual file content from repository. Use when: Reading source code, Viewing configs/docs, Getting file data. Returns base64-encoded content (decode required!) plus metadata. For browsing structure use get_repository_tree instead. Supports any branch/tag/commit via ref param.",
|
|
47
47
|
inputSchema: (0, zod_to_json_schema_1.zodToJsonSchema)(schema_readonly_1.GetFileContentsSchema),
|
|
48
48
|
handler: async (args) => {
|
|
49
49
|
const options = schema_readonly_1.GetFileContentsSchema.parse(args);
|
|
50
50
|
const { project_id, file_path, ref } = options;
|
|
51
51
|
const queryParams = new URLSearchParams();
|
|
52
52
|
if (ref) {
|
|
53
|
-
queryParams.set(
|
|
53
|
+
queryParams.set("ref", ref);
|
|
54
54
|
}
|
|
55
55
|
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/projects/${encodeURIComponent(project_id)}/repository/files/${encodeURIComponent(file_path)}?${queryParams}`;
|
|
56
56
|
const response = await (0, fetch_1.enhancedFetch)(apiUrl, {
|
|
@@ -67,26 +67,26 @@ exports.filesToolRegistry = new Map([
|
|
|
67
67
|
},
|
|
68
68
|
],
|
|
69
69
|
[
|
|
70
|
-
|
|
70
|
+
"create_or_update_file",
|
|
71
71
|
{
|
|
72
|
-
name:
|
|
73
|
-
description:
|
|
72
|
+
name: "create_or_update_file",
|
|
73
|
+
description: "SINGLE FILE: Create new OR update existing file in one commit. Use when: Changing ONE file only, Quick edits, Adding single document. Auto-detects create vs update. Content must be base64-encoded! For multiple files use push_files instead. Creates commit with your message.",
|
|
74
74
|
inputSchema: (0, zod_to_json_schema_1.zodToJsonSchema)(schema_1.CreateOrUpdateFileSchema),
|
|
75
75
|
handler: async (args) => {
|
|
76
76
|
const options = schema_1.CreateOrUpdateFileSchema.parse(args);
|
|
77
77
|
const { project_id, file_path } = options;
|
|
78
78
|
const body = new URLSearchParams();
|
|
79
79
|
Object.entries(options).forEach(([key, value]) => {
|
|
80
|
-
if (value !== undefined && key !==
|
|
80
|
+
if (value !== undefined && key !== "project_id" && key !== "file_path") {
|
|
81
81
|
body.set(key, String(value));
|
|
82
82
|
}
|
|
83
83
|
});
|
|
84
84
|
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/projects/${encodeURIComponent(project_id)}/repository/files/${encodeURIComponent(file_path)}`;
|
|
85
85
|
const response = await (0, fetch_1.enhancedFetch)(apiUrl, {
|
|
86
|
-
method:
|
|
86
|
+
method: "POST",
|
|
87
87
|
headers: {
|
|
88
88
|
Authorization: `Bearer ${process.env.GITLAB_TOKEN}`,
|
|
89
|
-
|
|
89
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
90
90
|
},
|
|
91
91
|
body: body.toString(),
|
|
92
92
|
});
|
|
@@ -99,19 +99,19 @@ exports.filesToolRegistry = new Map([
|
|
|
99
99
|
},
|
|
100
100
|
],
|
|
101
101
|
[
|
|
102
|
-
|
|
102
|
+
"push_files",
|
|
103
103
|
{
|
|
104
|
-
name:
|
|
105
|
-
description:
|
|
104
|
+
name: "push_files",
|
|
105
|
+
description: "BATCH: Commit MULTIPLE file changes atomically. Use when: Changing 2+ files together, Refactoring across files, Coordinated updates. More efficient than multiple single commits. Supports: create/update/delete/move operations. All changes in ONE commit. For single file use create_or_update_file.",
|
|
106
106
|
inputSchema: (0, zod_to_json_schema_1.zodToJsonSchema)(schema_1.PushFilesSchema),
|
|
107
107
|
handler: async (args) => {
|
|
108
108
|
const options = schema_1.PushFilesSchema.parse(args);
|
|
109
109
|
const { project_id } = options;
|
|
110
|
-
const actions = options.files.map(
|
|
111
|
-
action:
|
|
110
|
+
const actions = options.files.map(file => ({
|
|
111
|
+
action: "create",
|
|
112
112
|
file_path: file.file_path,
|
|
113
113
|
content: file.content,
|
|
114
|
-
encoding: file.encoding ??
|
|
114
|
+
encoding: file.encoding ?? "text",
|
|
115
115
|
execute_filemode: file.execute_filemode ?? false,
|
|
116
116
|
}));
|
|
117
117
|
const body = {
|
|
@@ -122,17 +122,17 @@ exports.filesToolRegistry = new Map([
|
|
|
122
122
|
author_email: options.author_email,
|
|
123
123
|
author_name: options.author_name,
|
|
124
124
|
};
|
|
125
|
-
Object.keys(body).forEach(
|
|
125
|
+
Object.keys(body).forEach(key => {
|
|
126
126
|
if (body[key] === undefined) {
|
|
127
127
|
delete body[key];
|
|
128
128
|
}
|
|
129
129
|
});
|
|
130
130
|
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/projects/${encodeURIComponent(project_id)}/repository/commits`;
|
|
131
131
|
const response = await (0, fetch_1.enhancedFetch)(apiUrl, {
|
|
132
|
-
method:
|
|
132
|
+
method: "POST",
|
|
133
133
|
headers: {
|
|
134
134
|
Authorization: `Bearer ${process.env.GITLAB_TOKEN}`,
|
|
135
|
-
|
|
135
|
+
"Content-Type": "application/json",
|
|
136
136
|
},
|
|
137
137
|
body: JSON.stringify(body),
|
|
138
138
|
});
|
|
@@ -145,18 +145,18 @@ exports.filesToolRegistry = new Map([
|
|
|
145
145
|
},
|
|
146
146
|
],
|
|
147
147
|
[
|
|
148
|
-
|
|
148
|
+
"upload_markdown",
|
|
149
149
|
{
|
|
150
|
-
name:
|
|
151
|
-
description:
|
|
150
|
+
name: "upload_markdown",
|
|
151
|
+
description: "UPLOAD ASSET: Add images/docs for markdown embedding. Use when: Adding screenshots to issues/MRs, Uploading diagrams for wikis, Attaching files to documentation. Returns markdown-ready URL like . Stored in uploads, NOT repository. Supports: images, PDFs, any binary files.",
|
|
152
152
|
inputSchema: (0, zod_to_json_schema_1.zodToJsonSchema)(schema_1.MarkdownUploadSchema),
|
|
153
153
|
handler: async (args) => {
|
|
154
154
|
const options = schema_1.MarkdownUploadSchema.parse(args);
|
|
155
155
|
const { project_id, file, filename } = options;
|
|
156
156
|
const formData = new FormData();
|
|
157
157
|
let fileBlob;
|
|
158
|
-
if (typeof file ===
|
|
159
|
-
const binaryString = Buffer.from(file,
|
|
158
|
+
if (typeof file === "string") {
|
|
159
|
+
const binaryString = Buffer.from(file, "base64").toString("binary");
|
|
160
160
|
const bytes = new Uint8Array(binaryString.length);
|
|
161
161
|
for (let i = 0; i < binaryString.length; i++) {
|
|
162
162
|
bytes[i] = binaryString.charCodeAt(i);
|
|
@@ -166,10 +166,10 @@ exports.filesToolRegistry = new Map([
|
|
|
166
166
|
else {
|
|
167
167
|
fileBlob = file;
|
|
168
168
|
}
|
|
169
|
-
formData.append(
|
|
169
|
+
formData.append("file", fileBlob, filename);
|
|
170
170
|
const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/projects/${encodeURIComponent(project_id)}/uploads`;
|
|
171
171
|
const response = await (0, fetch_1.enhancedFetch)(apiUrl, {
|
|
172
|
-
method:
|
|
172
|
+
method: "POST",
|
|
173
173
|
headers: {
|
|
174
174
|
Authorization: `Bearer ${process.env.GITLAB_TOKEN}`,
|
|
175
175
|
},
|
|
@@ -185,7 +185,7 @@ exports.filesToolRegistry = new Map([
|
|
|
185
185
|
],
|
|
186
186
|
]);
|
|
187
187
|
function getFilesReadOnlyToolNames() {
|
|
188
|
-
return [
|
|
188
|
+
return ["get_repository_tree", "get_file_contents"];
|
|
189
189
|
}
|
|
190
190
|
function getFilesToolDefinitions() {
|
|
191
191
|
return Array.from(exports.filesToolRegistry.values());
|
|
@@ -193,7 +193,7 @@ function getFilesToolDefinitions() {
|
|
|
193
193
|
function getFilteredFilesTools(readOnlyMode = false) {
|
|
194
194
|
if (readOnlyMode) {
|
|
195
195
|
const readOnlyNames = getFilesReadOnlyToolNames();
|
|
196
|
-
return Array.from(exports.filesToolRegistry.values()).filter(
|
|
196
|
+
return Array.from(exports.filesToolRegistry.values()).filter(tool => readOnlyNames.includes(tool.name));
|
|
197
197
|
}
|
|
198
198
|
return getFilesToolDefinitions();
|
|
199
199
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/entities/files/registry.ts"],"names":[],"mappings":";;;AAiOA,8DAEC;AAKD,0DAEC;AAKD,
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/entities/files/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ exports.GitLabFileContentSchema = zod_1.z.object({
|
|
|
19
19
|
exports.GitLabDirectoryContentSchema = zod_1.z.object({
|
|
20
20
|
id: zod_1.z.string(),
|
|
21
21
|
name: zod_1.z.string(),
|
|
22
|
-
type: zod_1.z.enum([
|
|
22
|
+
type: zod_1.z.enum(["tree", "blob"]),
|
|
23
23
|
path: zod_1.z.string(),
|
|
24
24
|
mode: zod_1.z.string(),
|
|
25
25
|
});
|
|
@@ -31,20 +31,20 @@ exports.GitLabCreateUpdateFileResponseSchema = zod_1.z.object({
|
|
|
31
31
|
exports.GitLabTreeSchema = zod_1.z.object({
|
|
32
32
|
id: zod_1.z.string(),
|
|
33
33
|
name: zod_1.z.string(),
|
|
34
|
-
type: zod_1.z.enum([
|
|
34
|
+
type: zod_1.z.enum(["tree", "blob"]),
|
|
35
35
|
path: zod_1.z.string(),
|
|
36
36
|
mode: zod_1.z.string(),
|
|
37
37
|
});
|
|
38
38
|
exports.GetRepositoryTreeSchema = zod_1.z.object({
|
|
39
|
-
project_id: zod_1.z.coerce.string().describe(
|
|
40
|
-
path: zod_1.z.string().optional().describe(
|
|
41
|
-
ref: zod_1.z.string().optional().describe(
|
|
42
|
-
recursive: utils_1.flexibleBoolean.optional().describe(
|
|
43
|
-
per_page: zod_1.z.number().int().min(1).max(100).optional().describe(
|
|
44
|
-
page: zod_1.z.number().int().min(1).optional().describe(
|
|
39
|
+
project_id: zod_1.z.coerce.string().describe("Project ID or URL-encoded path"),
|
|
40
|
+
path: zod_1.z.string().optional().describe("The path inside repository"),
|
|
41
|
+
ref: zod_1.z.string().optional().describe("The name of a repository branch or tag"),
|
|
42
|
+
recursive: utils_1.flexibleBoolean.optional().describe("Boolean value used to get a recursive tree"),
|
|
43
|
+
per_page: zod_1.z.number().int().min(1).max(100).optional().describe("Number of results per page"),
|
|
44
|
+
page: zod_1.z.number().int().min(1).optional().describe("Page number"),
|
|
45
45
|
});
|
|
46
46
|
exports.GetFileContentsSchema = shared_1.ProjectParamsSchema.extend({
|
|
47
|
-
file_path: zod_1.z.string().describe(
|
|
48
|
-
ref: zod_1.z.string().optional().describe(
|
|
47
|
+
file_path: zod_1.z.string().describe("URL-encoded full path to the file"),
|
|
48
|
+
ref: zod_1.z.string().optional().describe("The name of branch, tag or commit"),
|
|
49
49
|
});
|
|
50
50
|
//# sourceMappingURL=schema-readonly.js.map
|