@structured-world/gitlab-mcp 6.28.0 → 6.29.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.
Files changed (45) hide show
  1. package/dist/src/cli/docker/docker-command.d.ts +15 -0
  2. package/dist/src/cli/docker/docker-command.js +411 -0
  3. package/dist/src/cli/docker/docker-command.js.map +1 -0
  4. package/dist/src/cli/docker/docker-utils.d.ts +24 -0
  5. package/dist/src/cli/docker/docker-utils.js +356 -0
  6. package/dist/src/cli/docker/docker-utils.js.map +1 -0
  7. package/dist/src/cli/docker/index.d.ts +3 -0
  8. package/dist/src/cli/docker/index.js +23 -0
  9. package/dist/src/cli/docker/index.js.map +1 -0
  10. package/dist/src/cli/docker/types.d.ts +71 -0
  11. package/dist/src/cli/docker/types.js +21 -0
  12. package/dist/src/cli/docker/types.js.map +1 -0
  13. package/dist/src/cli/install/backup.d.ts +4 -0
  14. package/dist/src/cli/install/backup.js +63 -0
  15. package/dist/src/cli/install/backup.js.map +1 -0
  16. package/dist/src/cli/install/detector.d.ts +9 -0
  17. package/dist/src/cli/install/detector.js +126 -0
  18. package/dist/src/cli/install/detector.js.map +1 -0
  19. package/dist/src/cli/install/index.d.ts +5 -0
  20. package/dist/src/cli/install/index.js +27 -0
  21. package/dist/src/cli/install/index.js.map +1 -0
  22. package/dist/src/cli/install/install-command.d.ts +19 -0
  23. package/dist/src/cli/install/install-command.js +288 -0
  24. package/dist/src/cli/install/install-command.js.map +1 -0
  25. package/dist/src/cli/install/installers.d.ts +12 -0
  26. package/dist/src/cli/install/installers.js +439 -0
  27. package/dist/src/cli/install/installers.js.map +1 -0
  28. package/dist/src/cli/install/types.d.ts +52 -0
  29. package/dist/src/cli/install/types.js +87 -0
  30. package/dist/src/cli/install/types.js.map +1 -0
  31. package/dist/src/cli/utils/index.d.ts +1 -0
  32. package/dist/src/cli/utils/index.js +6 -0
  33. package/dist/src/cli/utils/index.js.map +1 -0
  34. package/dist/src/cli/utils/path-utils.d.ts +1 -0
  35. package/dist/src/cli/utils/path-utils.js +18 -0
  36. package/dist/src/cli/utils/path-utils.js.map +1 -0
  37. package/dist/src/cli-utils.d.ts +4 -0
  38. package/dist/src/cli-utils.js +18 -3
  39. package/dist/src/cli-utils.js.map +1 -1
  40. package/dist/src/main.js +12 -0
  41. package/dist/src/main.js.map +1 -1
  42. package/dist/structured-world-gitlab-mcp-6.29.0.tgz +0 -0
  43. package/dist/tsconfig.build.tsbuildinfo +1 -1
  44. package/package.json +1 -1
  45. package/dist/structured-world-gitlab-mcp-6.28.0.tgz +0 -0
@@ -0,0 +1,15 @@
1
+ export type DockerSubcommand = "status" | "init" | "start" | "stop" | "restart" | "upgrade" | "logs" | "add-instance" | "remove-instance";
2
+ export declare function parseDockerSubcommand(args: string[]): {
3
+ subcommand: DockerSubcommand | undefined;
4
+ subArgs: string[];
5
+ };
6
+ export declare function showStatus(): void;
7
+ export declare function initDocker(): Promise<void>;
8
+ export declare function dockerStart(): void;
9
+ export declare function dockerStop(): void;
10
+ export declare function dockerRestart(): void;
11
+ export declare function dockerUpgrade(): void;
12
+ export declare function dockerLogs(follow?: boolean, lines?: number): void;
13
+ export declare function dockerAddInstance(host?: string): Promise<void>;
14
+ export declare function dockerRemoveInstance(host: string): void;
15
+ export declare function runDockerCommand(args: string[]): Promise<void>;
@@ -0,0 +1,411 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.parseDockerSubcommand = parseDockerSubcommand;
37
+ exports.showStatus = showStatus;
38
+ exports.initDocker = initDocker;
39
+ exports.dockerStart = dockerStart;
40
+ exports.dockerStop = dockerStop;
41
+ exports.dockerRestart = dockerRestart;
42
+ exports.dockerUpgrade = dockerUpgrade;
43
+ exports.dockerLogs = dockerLogs;
44
+ exports.dockerAddInstance = dockerAddInstance;
45
+ exports.dockerRemoveInstance = dockerRemoveInstance;
46
+ exports.runDockerCommand = runDockerCommand;
47
+ const p = __importStar(require("@clack/prompts"));
48
+ const crypto_1 = require("crypto");
49
+ const docker_utils_1 = require("./docker-utils");
50
+ const types_1 = require("./types");
51
+ function parseDockerSubcommand(args) {
52
+ const subcommand = args[0];
53
+ const subArgs = args.slice(1);
54
+ const validSubcommands = [
55
+ "status",
56
+ "init",
57
+ "start",
58
+ "stop",
59
+ "restart",
60
+ "upgrade",
61
+ "logs",
62
+ "add-instance",
63
+ "remove-instance",
64
+ ];
65
+ if (subcommand && !validSubcommands.includes(subcommand)) {
66
+ return { subcommand: undefined, subArgs: args };
67
+ }
68
+ return { subcommand, subArgs };
69
+ }
70
+ function showStatus() {
71
+ const status = (0, docker_utils_1.getDockerStatus)();
72
+ console.log("\nDocker Environment:");
73
+ console.log(` Docker installed: ${status.dockerInstalled ? "✓" : "✗"}`);
74
+ if (!status.dockerInstalled) {
75
+ console.log("\n⚠ Docker is not installed. Install Docker first.");
76
+ console.log(" https://docs.docker.com/get-docker/");
77
+ return;
78
+ }
79
+ console.log(` Docker running: ${status.dockerRunning ? "✓" : "✗"}`);
80
+ console.log(` Compose installed: ${status.composeInstalled ? "✓" : "✗"}`);
81
+ if (!status.dockerRunning) {
82
+ console.log("\n⚠ Docker daemon is not running. Start Docker first.");
83
+ return;
84
+ }
85
+ console.log("\nContainer Status:");
86
+ if (status.container) {
87
+ const c = status.container;
88
+ console.log(` Name: ${c.name}`);
89
+ console.log(` Status: ${c.status}${c.uptime ? ` (${c.uptime})` : ""}`);
90
+ console.log(` Image: ${c.image}`);
91
+ if (c.ports.length > 0) {
92
+ console.log(` Ports: ${c.ports.join(", ")}`);
93
+ }
94
+ }
95
+ else {
96
+ console.log(" Container not found. Run 'gitlab-mcp docker init' to set up.");
97
+ }
98
+ console.log("\nConfigured Instances:");
99
+ if (status.instances.length > 0) {
100
+ for (const instance of status.instances) {
101
+ console.log(` ${instance.host}: ${instance.name}`);
102
+ if (instance.oauth) {
103
+ console.log(` OAuth: enabled`);
104
+ }
105
+ if (instance.defaultPreset) {
106
+ console.log(` Preset: ${instance.defaultPreset}`);
107
+ }
108
+ }
109
+ }
110
+ else {
111
+ console.log(" No instances configured.");
112
+ }
113
+ console.log(`\nConfig directory: ${(0, docker_utils_1.getExpandedConfigDir)()}`);
114
+ }
115
+ async function initDocker() {
116
+ p.intro("Initialize GitLab MCP Docker Setup");
117
+ const status = (0, docker_utils_1.getDockerStatus)();
118
+ if (!status.dockerInstalled) {
119
+ p.log.error("Docker is not installed.");
120
+ p.note("Visit https://docs.docker.com/get-docker/ to install Docker.", "Install Docker");
121
+ p.outro("Setup cancelled.");
122
+ return;
123
+ }
124
+ if (!status.composeInstalled) {
125
+ p.log.error("Docker Compose is not installed.");
126
+ p.note("Docker Compose is required. Install it with:\n docker compose version (v2, bundled with Docker Desktop)\n or\n pip install docker-compose (v1)", "Install Compose");
127
+ p.outro("Setup cancelled.");
128
+ return;
129
+ }
130
+ const port = await p.text({
131
+ message: "SSE port for MCP server:",
132
+ placeholder: "3333",
133
+ initialValue: "3333",
134
+ validate: value => {
135
+ const num = parseInt(value, 10);
136
+ if (isNaN(num) || num < 1 || num > 65535) {
137
+ return "Port must be a number between 1 and 65535";
138
+ }
139
+ return undefined;
140
+ },
141
+ });
142
+ if (p.isCancel(port)) {
143
+ p.cancel("Setup cancelled");
144
+ return;
145
+ }
146
+ const enableOAuth = await p.confirm({
147
+ message: "Enable OAuth for multi-instance support?",
148
+ initialValue: false,
149
+ });
150
+ if (p.isCancel(enableOAuth)) {
151
+ p.cancel("Setup cancelled");
152
+ return;
153
+ }
154
+ let oauthSessionSecret;
155
+ if (enableOAuth) {
156
+ p.note("OAuth mode allows users to authenticate with multiple GitLab instances.\n" +
157
+ "You'll need to register OAuth applications on each GitLab instance.", "OAuth Mode");
158
+ oauthSessionSecret = (0, crypto_1.randomBytes)(32).toString("hex");
159
+ p.log.info(`Generated session secret (stored in docker-compose.yml)`);
160
+ }
161
+ const config = {
162
+ ...types_1.DEFAULT_DOCKER_CONFIG,
163
+ port: parseInt(port, 10),
164
+ oauthEnabled: enableOAuth,
165
+ oauthSessionSecret,
166
+ };
167
+ const spinner = p.spinner();
168
+ spinner.start("Creating Docker configuration...");
169
+ try {
170
+ (0, docker_utils_1.initDockerConfig)(config);
171
+ spinner.stop("Docker configuration created!");
172
+ p.log.success(`Config directory: ${(0, docker_utils_1.getExpandedConfigDir)()}`);
173
+ const startNow = await p.confirm({
174
+ message: "Start the container now?",
175
+ initialValue: true,
176
+ });
177
+ if (p.isCancel(startNow)) {
178
+ p.cancel("Setup complete without starting container");
179
+ return;
180
+ }
181
+ if (startNow) {
182
+ spinner.start("Starting container...");
183
+ const result = (0, docker_utils_1.startContainer)();
184
+ if (result.success) {
185
+ spinner.stop("Container started!");
186
+ }
187
+ else {
188
+ spinner.stop("Failed to start container");
189
+ p.log.error(result.error ?? "Unknown error");
190
+ }
191
+ }
192
+ p.outro("Docker setup complete!");
193
+ }
194
+ catch (error) {
195
+ spinner.stop("Configuration failed");
196
+ p.log.error(error instanceof Error ? error.message : String(error));
197
+ }
198
+ }
199
+ function dockerStart() {
200
+ console.log("Starting gitlab-mcp container...");
201
+ const result = (0, docker_utils_1.startContainer)();
202
+ if (result.success) {
203
+ console.log("✓ Container started");
204
+ if (result.output) {
205
+ console.log(result.output);
206
+ }
207
+ }
208
+ else {
209
+ console.error(`✗ Failed to start container: ${result.error}`);
210
+ }
211
+ }
212
+ function dockerStop() {
213
+ console.log("Stopping gitlab-mcp container...");
214
+ const result = (0, docker_utils_1.stopContainer)();
215
+ if (result.success) {
216
+ console.log("✓ Container stopped");
217
+ }
218
+ else {
219
+ console.error(`✗ Failed to stop container: ${result.error}`);
220
+ }
221
+ }
222
+ function dockerRestart() {
223
+ console.log("Restarting gitlab-mcp container...");
224
+ const result = (0, docker_utils_1.restartContainer)();
225
+ if (result.success) {
226
+ console.log("✓ Container restarted");
227
+ }
228
+ else {
229
+ console.error(`✗ Failed to restart container: ${result.error}`);
230
+ }
231
+ }
232
+ function dockerUpgrade() {
233
+ console.log("Upgrading gitlab-mcp container...");
234
+ const result = (0, docker_utils_1.upgradeContainer)();
235
+ if (result.success) {
236
+ console.log("✓ Container upgraded to latest version");
237
+ }
238
+ else {
239
+ console.error(`✗ Failed to upgrade container: ${result.error}`);
240
+ }
241
+ }
242
+ function dockerLogs(follow = false, lines = 100) {
243
+ if (follow) {
244
+ console.log(`Tailing logs (last ${lines} lines, Ctrl+C to exit)...\n`);
245
+ const process = (0, docker_utils_1.tailLogs)(true, lines);
246
+ process.on("error", error => {
247
+ console.error(`Failed to get logs: ${error.message}`);
248
+ });
249
+ }
250
+ else {
251
+ const result = (0, docker_utils_1.getLogs)(lines);
252
+ if (result.success) {
253
+ console.log(result.output);
254
+ }
255
+ else {
256
+ console.error(`Failed to get logs: ${result.error}`);
257
+ }
258
+ }
259
+ }
260
+ async function dockerAddInstance(host) {
261
+ p.intro("Add GitLab Instance");
262
+ let instanceHost;
263
+ if (host) {
264
+ instanceHost = host;
265
+ }
266
+ else {
267
+ const hostInput = await p.text({
268
+ message: "GitLab instance host:",
269
+ placeholder: "gitlab.company.com",
270
+ validate: value => {
271
+ if (!value || value.length < 3) {
272
+ return "Host is required";
273
+ }
274
+ if (!/^[a-z0-9]+([-.][a-z0-9]+)*\.[a-z]{2,}$/i.test(value)) {
275
+ return "Invalid hostname format";
276
+ }
277
+ return undefined;
278
+ },
279
+ });
280
+ if (p.isCancel(hostInput)) {
281
+ p.cancel("Setup cancelled");
282
+ return;
283
+ }
284
+ instanceHost = hostInput;
285
+ }
286
+ const name = await p.text({
287
+ message: "Display name:",
288
+ placeholder: "Company GitLab",
289
+ initialValue: instanceHost,
290
+ });
291
+ if (p.isCancel(name)) {
292
+ p.cancel("Setup cancelled");
293
+ return;
294
+ }
295
+ const configureOAuth = await p.confirm({
296
+ message: "Configure OAuth for this instance?",
297
+ initialValue: false,
298
+ });
299
+ if (p.isCancel(configureOAuth)) {
300
+ p.cancel("Setup cancelled");
301
+ return;
302
+ }
303
+ let oauth;
304
+ if (configureOAuth) {
305
+ const clientId = await p.text({
306
+ message: "OAuth Application ID:",
307
+ validate: value => {
308
+ if (!value || value.length < 10) {
309
+ return "Application ID is required";
310
+ }
311
+ return undefined;
312
+ },
313
+ });
314
+ if (p.isCancel(clientId)) {
315
+ p.cancel("Setup cancelled");
316
+ return;
317
+ }
318
+ const envName = instanceHost.toUpperCase().replace(/\./g, "_") + "_SECRET";
319
+ p.note(`Store your OAuth secret in environment variable: ${envName}\n` +
320
+ `Add to docker-compose.yml environment section or use .env file.`, "OAuth Secret");
321
+ oauth = {
322
+ clientId,
323
+ clientSecretEnv: envName,
324
+ };
325
+ }
326
+ const preset = await p.select({
327
+ message: "Default preset for this instance:",
328
+ options: [
329
+ { value: "developer", label: "Developer (default)" },
330
+ { value: "senior-dev", label: "Senior Developer" },
331
+ { value: "full-access", label: "Full Access" },
332
+ { value: "devops", label: "DevOps" },
333
+ { value: "code-reviewer", label: "Code Reviewer" },
334
+ { value: "readonly", label: "Read-Only" },
335
+ ],
336
+ });
337
+ if (p.isCancel(preset)) {
338
+ p.cancel("Setup cancelled");
339
+ return;
340
+ }
341
+ const instance = {
342
+ host: instanceHost,
343
+ name,
344
+ oauth,
345
+ defaultPreset: preset,
346
+ };
347
+ (0, docker_utils_1.addInstance)(instance);
348
+ p.log.success(`Added instance: ${instanceHost}`);
349
+ p.outro("Instance configuration saved. Restart container to apply changes.");
350
+ }
351
+ function dockerRemoveInstance(host) {
352
+ if ((0, docker_utils_1.removeInstance)(host)) {
353
+ console.log(`✓ Removed instance: ${host}`);
354
+ console.log("Restart container to apply changes.");
355
+ }
356
+ else {
357
+ console.error(`✗ Instance not found: ${host}`);
358
+ }
359
+ }
360
+ async function runDockerCommand(args) {
361
+ const { subcommand, subArgs } = parseDockerSubcommand(args);
362
+ switch (subcommand) {
363
+ case "status":
364
+ showStatus();
365
+ break;
366
+ case "init":
367
+ await initDocker();
368
+ break;
369
+ case "start":
370
+ dockerStart();
371
+ break;
372
+ case "stop":
373
+ dockerStop();
374
+ break;
375
+ case "restart":
376
+ dockerRestart();
377
+ break;
378
+ case "upgrade":
379
+ dockerUpgrade();
380
+ break;
381
+ case "logs": {
382
+ const follow = subArgs.includes("-f") || subArgs.includes("--follow");
383
+ const linesArg = subArgs.find(a => a.startsWith("--lines="));
384
+ const lines = linesArg ? parseInt(linesArg.split("=")[1], 10) : 100;
385
+ dockerLogs(follow, lines);
386
+ break;
387
+ }
388
+ case "add-instance":
389
+ await dockerAddInstance(subArgs[0]);
390
+ break;
391
+ case "remove-instance":
392
+ if (!subArgs[0]) {
393
+ throw new Error("Usage: gitlab-mcp docker remove-instance <host>");
394
+ }
395
+ dockerRemoveInstance(subArgs[0]);
396
+ break;
397
+ default:
398
+ console.log("GitLab MCP Docker Commands:\n");
399
+ console.log(" gitlab-mcp docker status Show container and instances status");
400
+ console.log(" gitlab-mcp docker init Initialize Docker configuration");
401
+ console.log(" gitlab-mcp docker start Start container");
402
+ console.log(" gitlab-mcp docker stop Stop container");
403
+ console.log(" gitlab-mcp docker restart Restart container");
404
+ console.log(" gitlab-mcp docker upgrade Pull latest image and restart");
405
+ console.log(" gitlab-mcp docker logs [-f] Show container logs");
406
+ console.log(" gitlab-mcp docker add-instance Add GitLab instance");
407
+ console.log(" gitlab-mcp docker remove-instance Remove GitLab instance");
408
+ break;
409
+ }
410
+ }
411
+ //# sourceMappingURL=docker-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker-command.js","sourceRoot":"","sources":["../../../../src/cli/docker/docker-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { ChildProcess } from "child_process";
2
+ import { DockerConfig, DockerStatusResult, DockerCommandResult, ContainerInfo, GitLabInstance } from "./types";
3
+ export { expandPath } from "../utils/path-utils.js";
4
+ export declare function getExpandedConfigDir(): string;
5
+ export declare function isDockerInstalled(): boolean;
6
+ export declare function isDockerRunning(): boolean;
7
+ export declare function isComposeInstalled(): boolean;
8
+ export declare function getContainerInfo(containerName?: string): ContainerInfo | undefined;
9
+ export declare function getDockerStatus(containerName?: string): DockerStatusResult;
10
+ export declare function generateDockerCompose(config: DockerConfig): string;
11
+ export declare function generateInstancesYaml(instances: GitLabInstance[]): string;
12
+ export declare function loadInstances(): GitLabInstance[];
13
+ export declare function saveInstances(instances: GitLabInstance[]): void;
14
+ export declare function saveDockerCompose(config: DockerConfig): void;
15
+ export declare function runComposeCommand(args: string[], configDir?: string): DockerCommandResult;
16
+ export declare function startContainer(): DockerCommandResult;
17
+ export declare function stopContainer(): DockerCommandResult;
18
+ export declare function restartContainer(): DockerCommandResult;
19
+ export declare function upgradeContainer(): DockerCommandResult;
20
+ export declare function tailLogs(follow?: boolean, lines?: number): ChildProcess;
21
+ export declare function getLogs(lines?: number): DockerCommandResult;
22
+ export declare function addInstance(instance: GitLabInstance): void;
23
+ export declare function removeInstance(host: string): boolean;
24
+ export declare function initDockerConfig(config?: Partial<DockerConfig>): DockerConfig;