@hypnosis/docker-mcp-server 1.2.1 → 1.3.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 (77) hide show
  1. package/README.md +12 -0
  2. package/dist/adapters/database-adapter.d.ts +9 -5
  3. package/dist/adapters/database-adapter.d.ts.map +1 -1
  4. package/dist/adapters/postgresql.d.ts +14 -5
  5. package/dist/adapters/postgresql.d.ts.map +1 -1
  6. package/dist/adapters/postgresql.js +36 -23
  7. package/dist/adapters/postgresql.js.map +1 -1
  8. package/dist/adapters/redis.d.ts +10 -1
  9. package/dist/adapters/redis.d.ts.map +1 -1
  10. package/dist/adapters/redis.js +10 -7
  11. package/dist/adapters/redis.js.map +1 -1
  12. package/dist/adapters/sqlite.d.ts +11 -1
  13. package/dist/adapters/sqlite.d.ts.map +1 -1
  14. package/dist/adapters/sqlite.js +11 -7
  15. package/dist/adapters/sqlite.js.map +1 -1
  16. package/dist/adapters/types.d.ts +7 -0
  17. package/dist/adapters/types.d.ts.map +1 -1
  18. package/dist/discovery/compose-parser.d.ts.map +1 -1
  19. package/dist/discovery/compose-parser.js +4 -7
  20. package/dist/discovery/compose-parser.js.map +1 -1
  21. package/dist/discovery/project-discovery.d.ts.map +1 -1
  22. package/dist/discovery/project-discovery.js +4 -2
  23. package/dist/discovery/project-discovery.js.map +1 -1
  24. package/dist/index.js +15 -36
  25. package/dist/index.js.map +1 -1
  26. package/dist/managers/container-manager.d.ts +2 -0
  27. package/dist/managers/container-manager.d.ts.map +1 -1
  28. package/dist/managers/container-manager.js +10 -3
  29. package/dist/managers/container-manager.js.map +1 -1
  30. package/dist/tools/container-tools.d.ts +2 -10
  31. package/dist/tools/container-tools.d.ts.map +1 -1
  32. package/dist/tools/container-tools.js +50 -74
  33. package/dist/tools/container-tools.js.map +1 -1
  34. package/dist/tools/database-tools.d.ts +15 -1
  35. package/dist/tools/database-tools.d.ts.map +1 -1
  36. package/dist/tools/database-tools.js +124 -20
  37. package/dist/tools/database-tools.js.map +1 -1
  38. package/dist/tools/discovery-tools.d.ts +1 -8
  39. package/dist/tools/discovery-tools.d.ts.map +1 -1
  40. package/dist/tools/discovery-tools.js +9 -45
  41. package/dist/tools/discovery-tools.js.map +1 -1
  42. package/dist/tools/env-tools.d.ts +1 -7
  43. package/dist/tools/env-tools.d.ts.map +1 -1
  44. package/dist/tools/env-tools.js +35 -77
  45. package/dist/tools/env-tools.js.map +1 -1
  46. package/dist/tools/executor-tool.d.ts +0 -7
  47. package/dist/tools/executor-tool.d.ts.map +1 -1
  48. package/dist/tools/executor-tool.js +8 -45
  49. package/dist/tools/executor-tool.js.map +1 -1
  50. package/dist/tools/mcp-health-tool.d.ts +1 -3
  51. package/dist/tools/mcp-health-tool.d.ts.map +1 -1
  52. package/dist/tools/mcp-health-tool.js +24 -18
  53. package/dist/tools/mcp-health-tool.js.map +1 -1
  54. package/dist/tools/profile-tool.d.ts +5 -12
  55. package/dist/tools/profile-tool.d.ts.map +1 -1
  56. package/dist/tools/profile-tool.js +12 -33
  57. package/dist/tools/profile-tool.js.map +1 -1
  58. package/dist/utils/docker-client.d.ts +9 -1
  59. package/dist/utils/docker-client.d.ts.map +1 -1
  60. package/dist/utils/docker-client.js +30 -3
  61. package/dist/utils/docker-client.js.map +1 -1
  62. package/dist/utils/profile-resolver.d.ts +58 -0
  63. package/dist/utils/profile-resolver.d.ts.map +1 -0
  64. package/dist/utils/profile-resolver.js +218 -0
  65. package/dist/utils/profile-resolver.js.map +1 -0
  66. package/dist/utils/remote-compose.d.ts +32 -0
  67. package/dist/utils/remote-compose.d.ts.map +1 -0
  68. package/dist/utils/remote-compose.js +69 -0
  69. package/dist/utils/remote-compose.js.map +1 -0
  70. package/dist/utils/schema-helpers.d.ts +96 -0
  71. package/dist/utils/schema-helpers.d.ts.map +1 -0
  72. package/dist/utils/schema-helpers.js +61 -0
  73. package/dist/utils/schema-helpers.js.map +1 -0
  74. package/dist/utils/ssh-exec.d.ts.map +1 -1
  75. package/dist/utils/ssh-exec.js +5 -2
  76. package/dist/utils/ssh-exec.js.map +1 -1
  77. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"docker-client.d.ts","sourceRoot":"","sources":["../../src/utils/docker-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,MAAM,MAAM,WAAW,CAAC;AAM/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAIjD;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,kBAAkB,CAAgC;IAC1D,OAAO,CAAC,yBAAyB,CAA+B;gBAEpD,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI;IAgBxC;;OAEG;IACH,OAAO,IAAI,IAAI;IAuCf;;;OAGG;YACW,eAAe;IA6C7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAoC9B;;;OAGG;YACW,eAAe;IAuI7B;;OAEG;YACW,aAAa;IAiB3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgC3B;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;;OAGG;IACG,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,oBAAoB;IAsB1D;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,SAAS;CAG3C;AAKD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,YAAY,CAU1E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAKxC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAI1C;AAoED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,CA4B5E;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAyBtC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAM9C"}
1
+ {"version":3,"file":"docker-client.d.ts","sourceRoot":"","sources":["../../src/utils/docker-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,MAAM,MAAM,WAAW,CAAC;AAM/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAIjD;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAmB;IACpC,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAClC,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,kBAAkB,CAAgC;IAC1D,OAAO,CAAC,yBAAyB,CAA+B;gBAEpD,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI;IAgBxC;;OAEG;IACH,YAAY,IAAI,SAAS,GAAG,IAAI;IAIhC;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,IAAI;IAI3B;;OAEG;IACH,OAAO,IAAI,IAAI;IAuCf;;;OAGG;YACW,eAAe;IA6C7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAoC9B;;;OAGG;YACW,eAAe;IAuI7B;;OAEG;YACW,aAAa;IAiB3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgC3B;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;;OAGG;IACG,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,oBAAoB;IAsB1D;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,SAAS;CAG3C;AAKD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,YAAY,CA6B1E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAKxC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAI1C;AAoED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,CA4B5E;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAyBtC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAM9C"}
@@ -16,7 +16,7 @@ import { loadProfilesFile, profileDataToSSHConfig } from './profiles-file.js';
16
16
  export class DockerClient {
17
17
  docker;
18
18
  sshConfig;
19
- isRemote;
19
+ isRemote; // Public for comparison in getDockerClient
20
20
  activeSocketPath = null;
21
21
  sshProcessPid = null;
22
22
  tunnelCreationLock = null;
@@ -36,6 +36,18 @@ export class DockerClient {
36
36
  logger.debug('Dockerode client initialized (local)');
37
37
  }
38
38
  }
39
+ /**
40
+ * Get SSH config for comparison
41
+ */
42
+ getSSHConfig() {
43
+ return this.sshConfig;
44
+ }
45
+ /**
46
+ * Get SSH host for identification
47
+ */
48
+ getSSHHost() {
49
+ return this.sshConfig?.host || null;
50
+ }
39
51
  /**
40
52
  * Cleanup SSH tunnel (called on shutdown)
41
53
  */
@@ -376,15 +388,30 @@ let dockerClientInstance = null;
376
388
  * @param sshConfig - SSH configuration (optional, for remote Docker)
377
389
  */
378
390
  export function getDockerClient(sshConfig) {
391
+ // ❗ КРИТИЧНО: Каждый раз создаем новый клиент для правильной работы с SSH
392
+ // Singleton не работает правильно когда переключаемся между local и remote
379
393
  // Если конфигурация изменилась, пересоздаем клиент
380
- if (!dockerClientInstance || sshConfig !== undefined) {
394
+ const requestedIsRemote = !!sshConfig;
395
+ const requestedHost = sshConfig?.host || null;
396
+ const shouldRecreate = !dockerClientInstance ||
397
+ (sshConfig !== undefined && (dockerClientInstance.isRemote !== requestedIsRemote ||
398
+ dockerClientInstance.getSSHHost() !== requestedHost));
399
+ if (shouldRecreate) {
381
400
  // Cleanup old instance if exists
382
401
  if (dockerClientInstance) {
402
+ const oldConfig = dockerClientInstance.isRemote
403
+ ? `remote (${dockerClientInstance.getSSHHost()})`
404
+ : 'local';
405
+ const newConfig = requestedIsRemote
406
+ ? `remote (${requestedHost})`
407
+ : 'local';
408
+ logger.debug(`Recreating Docker client: ${oldConfig} -> ${newConfig}`);
383
409
  dockerClientInstance.cleanup();
384
410
  }
385
411
  dockerClientInstance = new DockerClient(sshConfig);
412
+ logger.debug(`Docker client created: ${requestedIsRemote ? `remote (${requestedHost})` : 'local'}`);
386
413
  }
387
- return dockerClientInstance;
414
+ return dockerClientInstance; // Non-null: checked above
388
415
  }
389
416
  /**
390
417
  * Reset singleton instance (for testing)
@@ -1 +1 @@
1
- {"version":3,"file":"docker-client.js","sourceRoot":"","sources":["../../src/utils/docker-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docker-client.js","sourceRoot":"","sources":["../../src/utils/docker-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Profile Resolver - Load SSH profiles from environment variables
3
+ *
4
+ * Profiles are loaded ONCE from DOCKER_PROFILES environment variable at module import.
5
+ * This provides synchronous access with zero I/O overhead.
6
+ *
7
+ * @example ENV configuration
8
+ * ```json
9
+ * {
10
+ * "default": "local",
11
+ * "profiles": {
12
+ * "local": { "mode": "local" },
13
+ * "production": {
14
+ * "host": "109.172.39.241",
15
+ * "username": "root",
16
+ * "port": 22,
17
+ * "privateKeyPath": "~/.ssh/id_rsa",
18
+ * "projectsPath": "/var/www"
19
+ * }
20
+ * }
21
+ * }
22
+ * ```
23
+ */
24
+ import type { SSHConfig } from './ssh-config.js';
25
+ /**
26
+ * Resolve SSH configuration from tool arguments
27
+ *
28
+ * Priority:
29
+ * 1. Profile name in args.profile
30
+ * 2. Default profile from DOCKER_PROFILES
31
+ *
32
+ * @param args Tool arguments containing profile
33
+ * @returns SSH configuration or null for local mode
34
+ * @throws Error if specified profile is not found
35
+ *
36
+ * @example Using profile name
37
+ * ```typescript
38
+ * resolveSSHConfig({ profile: "production" })
39
+ * ```
40
+ *
41
+ * @example Using default profile
42
+ * ```typescript
43
+ * resolveSSHConfig({}) // Uses default from DOCKER_PROFILES
44
+ * ```
45
+ */
46
+ export declare function resolveSSHConfig(args: {
47
+ profile?: string;
48
+ }): SSHConfig | null;
49
+ /**
50
+ * Get list of available profile names
51
+ * Useful for debugging and error messages
52
+ */
53
+ export declare function getAvailableProfiles(): string[];
54
+ /**
55
+ * Get default profile name
56
+ */
57
+ export declare function getDefaultProfile(): string;
58
+ //# sourceMappingURL=profile-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/profile-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AA8HjD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,SAAS,GAAG,IAAI,CAsEnB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAE/C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C"}
@@ -0,0 +1,218 @@
1
+ /**
2
+ * Profile Resolver - Load SSH profiles from environment variables
3
+ *
4
+ * Profiles are loaded ONCE from DOCKER_PROFILES environment variable at module import.
5
+ * This provides synchronous access with zero I/O overhead.
6
+ *
7
+ * @example ENV configuration
8
+ * ```json
9
+ * {
10
+ * "default": "local",
11
+ * "profiles": {
12
+ * "local": { "mode": "local" },
13
+ * "production": {
14
+ * "host": "109.172.39.241",
15
+ * "username": "root",
16
+ * "port": 22,
17
+ * "privateKeyPath": "~/.ssh/id_rsa",
18
+ * "projectsPath": "/var/www"
19
+ * }
20
+ * }
21
+ * }
22
+ * ```
23
+ */
24
+ import { homedir } from 'os';
25
+ import { logger } from './logger.js';
26
+ import { loadProfilesFile } from './profiles-file.js';
27
+ /**
28
+ * Load profiles from file or environment variable
29
+ * This function runs ONCE at module import time
30
+ *
31
+ * Priority:
32
+ * 1. DOCKER_PROFILES_FILE - path to JSON file (recommended, old system)
33
+ * 2. DOCKER_PROFILES - JSON string in env var (new system)
34
+ * 3. Fallback to local-only mode
35
+ */
36
+ function loadProfilesFromEnv() {
37
+ // Priority 1: Load from file (DOCKER_PROFILES_FILE)
38
+ const profilesFile = process.env.DOCKER_PROFILES_FILE;
39
+ if (profilesFile) {
40
+ logger.debug(`Loading profiles from file: ${profilesFile}`);
41
+ try {
42
+ const result = loadProfilesFile(profilesFile);
43
+ if (result.errors.length > 0) {
44
+ logger.error('Errors loading profiles file:', result.errors);
45
+ logger.warn('Falling back to DOCKER_PROFILES env var or local-only mode');
46
+ }
47
+ else if (result.config) {
48
+ const profileCount = Object.keys(result.config.profiles).length;
49
+ logger.info(`Loaded ${profileCount} profiles from file: ${profilesFile}`);
50
+ return {
51
+ default: result.config.default || 'local',
52
+ profiles: result.config.profiles
53
+ };
54
+ }
55
+ }
56
+ catch (err) {
57
+ logger.error(`Exception loading profiles file: ${err.message}`);
58
+ logger.warn('Falling back to DOCKER_PROFILES env var or local-only mode');
59
+ }
60
+ }
61
+ // Priority 2: Load from DOCKER_PROFILES env var
62
+ const envProfiles = process.env.DOCKER_PROFILES;
63
+ if (envProfiles) {
64
+ logger.debug('Loading profiles from DOCKER_PROFILES env var');
65
+ try {
66
+ let parsed;
67
+ if (typeof envProfiles === 'string') {
68
+ parsed = JSON.parse(envProfiles);
69
+ }
70
+ else if (typeof envProfiles === 'object' && envProfiles !== null) {
71
+ parsed = envProfiles;
72
+ }
73
+ else {
74
+ throw new Error(`Unexpected type: ${typeof envProfiles}`);
75
+ }
76
+ // Validate structure
77
+ if (!parsed || typeof parsed !== 'object') {
78
+ throw new Error('DOCKER_PROFILES must be a JSON object');
79
+ }
80
+ if (!parsed.profiles || typeof parsed.profiles !== 'object') {
81
+ throw new Error('DOCKER_PROFILES must have a "profiles" object');
82
+ }
83
+ if (!parsed.default || typeof parsed.default !== 'string') {
84
+ throw new Error('DOCKER_PROFILES must have a "default" string');
85
+ }
86
+ const profileCount = Object.keys(parsed.profiles).length;
87
+ logger.info(`Loaded ${profileCount} profiles from DOCKER_PROFILES env var`);
88
+ return parsed;
89
+ }
90
+ catch (err) {
91
+ logger.error(`Error parsing DOCKER_PROFILES: ${err.message}`);
92
+ logger.warn('Falling back to local-only mode');
93
+ logger.debug(`DOCKER_PROFILES value (first 200 chars): ${typeof envProfiles === 'string' ? envProfiles.substring(0, 200) : JSON.stringify(envProfiles).substring(0, 200)}`);
94
+ }
95
+ }
96
+ else {
97
+ logger.debug('DOCKER_PROFILES variable not set, using local-only mode');
98
+ }
99
+ // Fallback: local-only mode
100
+ logger.info('Using local-only mode (fallback)');
101
+ return {
102
+ default: 'local',
103
+ profiles: {
104
+ local: { mode: 'local' }
105
+ }
106
+ };
107
+ }
108
+ /**
109
+ * Profiles loaded at module initialization (once)
110
+ */
111
+ const PROFILES = loadProfilesFromEnv();
112
+ /**
113
+ * Expand tilde (~) in file paths to user home directory
114
+ * Works cross-platform (macOS, Linux, Windows)
115
+ */
116
+ function expandTilde(filepath) {
117
+ if (!filepath)
118
+ return undefined;
119
+ return filepath.startsWith('~/')
120
+ ? filepath.replace('~', homedir())
121
+ : filepath;
122
+ }
123
+ /**
124
+ * Resolve SSH configuration from tool arguments
125
+ *
126
+ * Priority:
127
+ * 1. Profile name in args.profile
128
+ * 2. Default profile from DOCKER_PROFILES
129
+ *
130
+ * @param args Tool arguments containing profile
131
+ * @returns SSH configuration or null for local mode
132
+ * @throws Error if specified profile is not found
133
+ *
134
+ * @example Using profile name
135
+ * ```typescript
136
+ * resolveSSHConfig({ profile: "production" })
137
+ * ```
138
+ *
139
+ * @example Using default profile
140
+ * ```typescript
141
+ * resolveSSHConfig({}) // Uses default from DOCKER_PROFILES
142
+ * ```
143
+ */
144
+ export function resolveSSHConfig(args) {
145
+ // Priority 1: Profile name specified
146
+ if (args.profile) {
147
+ const profileData = PROFILES.profiles[args.profile];
148
+ if (!profileData) {
149
+ const available = Object.keys(PROFILES.profiles).join(', ');
150
+ throw new Error(`Profile "${args.profile}" not found in DOCKER_PROFILES. ` +
151
+ `Available profiles: ${available}`);
152
+ }
153
+ // Check if profile is local mode
154
+ if (profileData.mode === 'local') {
155
+ logger.debug(`Profile "${args.profile}" is configured for LOCAL mode`);
156
+ return null;
157
+ }
158
+ // Validate required fields for SSH
159
+ if (!profileData.host || !profileData.username) {
160
+ throw new Error(`Profile "${args.profile}" must have "host" and "username" fields for SSH mode`);
161
+ }
162
+ logger.debug(`Using profile: ${args.profile}`);
163
+ const expandedKeyPath = expandTilde(profileData.privateKeyPath);
164
+ if (profileData.privateKeyPath && expandedKeyPath !== profileData.privateKeyPath) {
165
+ logger.debug(`Expanded privateKeyPath: ${profileData.privateKeyPath} → ${expandedKeyPath}`);
166
+ }
167
+ return {
168
+ host: profileData.host,
169
+ username: profileData.username,
170
+ port: profileData.port || 22,
171
+ privateKeyPath: expandedKeyPath,
172
+ passphrase: profileData.passphrase,
173
+ password: profileData.password,
174
+ projectsPath: profileData.projectsPath
175
+ };
176
+ }
177
+ // Priority 2: Default profile
178
+ const defaultProfileName = PROFILES.default;
179
+ const defaultProfileData = PROFILES.profiles[defaultProfileName];
180
+ // Check if default profile is local mode
181
+ if (defaultProfileData.mode === 'local') {
182
+ logger.debug(`Default profile "${defaultProfileName}" is configured for LOCAL mode`);
183
+ return null;
184
+ }
185
+ // Validate required fields for SSH
186
+ if (!defaultProfileData.host || !defaultProfileData.username) {
187
+ logger.warn(`Default profile "${defaultProfileName}" missing host/username, using local Docker`);
188
+ return null;
189
+ }
190
+ logger.debug(`Using default profile: ${defaultProfileName}`);
191
+ const expandedKeyPath = expandTilde(defaultProfileData.privateKeyPath);
192
+ if (defaultProfileData.privateKeyPath && expandedKeyPath !== defaultProfileData.privateKeyPath) {
193
+ logger.debug(`Expanded privateKeyPath: ${defaultProfileData.privateKeyPath} → ${expandedKeyPath}`);
194
+ }
195
+ return {
196
+ host: defaultProfileData.host,
197
+ username: defaultProfileData.username,
198
+ port: defaultProfileData.port || 22,
199
+ privateKeyPath: expandedKeyPath,
200
+ passphrase: defaultProfileData.passphrase,
201
+ password: defaultProfileData.password,
202
+ projectsPath: defaultProfileData.projectsPath
203
+ };
204
+ }
205
+ /**
206
+ * Get list of available profile names
207
+ * Useful for debugging and error messages
208
+ */
209
+ export function getAvailableProfiles() {
210
+ return Object.keys(PROFILES.profiles);
211
+ }
212
+ /**
213
+ * Get default profile name
214
+ */
215
+ export function getDefaultProfile() {
216
+ return PROFILES.default;
217
+ }
218
+ //# sourceMappingURL=profile-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-resolver.js","sourceRoot":"","sources":["../../src/utils/profile-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Remote Compose File Reader
3
+ * Utility for reading and parsing remote docker-compose.yml files via SSH
4
+ */
5
+ import type { SSHConfig } from './ssh-config.js';
6
+ import type { ProjectConfig } from '../discovery/types.js';
7
+ /**
8
+ * Result of reading remote compose file
9
+ */
10
+ export interface RemoteComposeResult {
11
+ /** YAML content as string */
12
+ content: string;
13
+ /** Full path to compose file on remote server */
14
+ filePath: string;
15
+ }
16
+ /**
17
+ * Read remote docker-compose.yml file content (RAW YAML)
18
+ *
19
+ * @param projectName - Project name
20
+ * @param sshConfig - SSH configuration
21
+ * @returns Raw YAML content and file path
22
+ */
23
+ export declare function readRemoteComposeContent(projectName: string, sshConfig: SSHConfig): Promise<RemoteComposeResult>;
24
+ /**
25
+ * Read and PARSE remote docker-compose.yml file
26
+ *
27
+ * @param projectName - Project name
28
+ * @param sshConfig - SSH configuration
29
+ * @returns Parsed project configuration with services
30
+ */
31
+ export declare function readRemoteComposeFile(projectName: string, sshConfig: SSHConfig): Promise<ProjectConfig>;
32
+ //# sourceMappingURL=remote-compose.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-compose.d.ts","sourceRoot":"","sources":["../../src/utils/remote-compose.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,mBAAmB,CAAC,CAsC9B;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,aAAa,CAAC,CAgBxB"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Remote Compose File Reader
3
+ * Utility for reading and parsing remote docker-compose.yml files via SSH
4
+ */
5
+ import { logger } from './logger.js';
6
+ import { readRemoteFile } from './ssh-exec.js';
7
+ import { ComposeParser } from '../discovery/compose-parser.js';
8
+ /**
9
+ * Read remote docker-compose.yml file content (RAW YAML)
10
+ *
11
+ * @param projectName - Project name
12
+ * @param sshConfig - SSH configuration
13
+ * @returns Raw YAML content and file path
14
+ */
15
+ export async function readRemoteComposeContent(projectName, sshConfig) {
16
+ const projectsPath = sshConfig.projectsPath || '/var/www';
17
+ const possiblePaths = [
18
+ `${projectsPath}/${projectName}/docker-compose.yml`,
19
+ `${projectsPath}/${projectName}/compose.yml`,
20
+ `${projectsPath}/${projectName}/docker-compose.yaml`,
21
+ `${projectsPath}/${projectName}/compose.yaml`,
22
+ ];
23
+ let composeContent = null;
24
+ let composeFile = '';
25
+ for (const remoteComposePath of possiblePaths) {
26
+ try {
27
+ logger.debug(`Trying to read remote compose file: ${remoteComposePath}`);
28
+ composeContent = await readRemoteFile(remoteComposePath, {
29
+ sshConfig,
30
+ timeout: 30000,
31
+ });
32
+ composeFile = remoteComposePath;
33
+ logger.info(`Successfully read remote compose file from: ${remoteComposePath}`);
34
+ break;
35
+ }
36
+ catch (error) {
37
+ logger.debug(`Failed to read from ${remoteComposePath}: ${error.message}`);
38
+ }
39
+ }
40
+ if (!composeContent) {
41
+ throw new Error(`Remote compose file not found for project '${projectName}' in ${projectsPath}. ` +
42
+ `Tried: docker-compose.yml, compose.yml, docker-compose.yaml, compose.yaml`);
43
+ }
44
+ return {
45
+ content: composeContent,
46
+ filePath: composeFile,
47
+ };
48
+ }
49
+ /**
50
+ * Read and PARSE remote docker-compose.yml file
51
+ *
52
+ * @param projectName - Project name
53
+ * @param sshConfig - SSH configuration
54
+ * @returns Parsed project configuration with services
55
+ */
56
+ export async function readRemoteComposeFile(projectName, sshConfig) {
57
+ // Read raw content
58
+ const { content, filePath } = await readRemoteComposeContent(projectName, sshConfig);
59
+ // Parse compose file
60
+ const composeParser = new ComposeParser();
61
+ const projectConfig = composeParser.parseFromString(content, filePath);
62
+ // Set project name and remote path
63
+ projectConfig.name = projectName;
64
+ projectConfig.composeFile = filePath;
65
+ projectConfig.projectDir = `${sshConfig.projectsPath || '/var/www'}/${projectName}`;
66
+ logger.info(`Parsed remote compose file: ${Object.keys(projectConfig.services).length} services found`);
67
+ return projectConfig;
68
+ }
69
+ //# sourceMappingURL=remote-compose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-compose.js","sourceRoot":"","sources":["../../src/utils/remote-compose.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAc/D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,WAAmB,EACnB,SAAoB;IAEpB,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,IAAI,UAAU,CAAC;IAC1D,MAAM,aAAa,GAAG;QACpB,GAAG,YAAY,IAAI,WAAW,qBAAqB;QACnD,GAAG,YAAY,IAAI,WAAW,cAAc;QAC5C,GAAG,YAAY,IAAI,WAAW,sBAAsB;QACpD,GAAG,YAAY,IAAI,WAAW,eAAe;KAC9C,CAAC;IAEF,IAAI,cAAc,GAAkB,IAAI,CAAC;IACzC,IAAI,WAAW,GAAW,EAAE,CAAC;IAE7B,KAAK,MAAM,iBAAiB,IAAI,aAAa,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,uCAAuC,iBAAiB,EAAE,CAAC,CAAC;YACzE,cAAc,GAAG,MAAM,cAAc,CAAC,iBAAiB,EAAE;gBACvD,SAAS;gBACT,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YACH,WAAW,GAAG,iBAAiB,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,+CAA+C,iBAAiB,EAAE,CAAC,CAAC;YAChF,MAAM;QACR,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,uBAAuB,iBAAiB,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,8CAA8C,WAAW,QAAQ,YAAY,IAAI;YACjF,2EAA2E,CAC5E,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,cAAc;QACvB,QAAQ,EAAE,WAAW;KACtB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,WAAmB,EACnB,SAAoB;IAEpB,mBAAmB;IACnB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,wBAAwB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAErF,qBAAqB;IACrB,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAC1C,MAAM,aAAa,GAAG,aAAa,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEvE,mCAAmC;IACnC,aAAa,CAAC,IAAI,GAAG,WAAW,CAAC;IACjC,aAAa,CAAC,WAAW,GAAG,QAAQ,CAAC;IACrC,aAAa,CAAC,UAAU,GAAG,GAAG,SAAS,CAAC,YAAY,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;IAEpF,MAAM,CAAC,IAAI,CAAC,+BAA+B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,iBAAiB,CAAC,CAAC;IAExG,OAAO,aAAa,CAAC;AACvB,CAAC"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Schema Helpers
3
+ * Common schema definitions for MCP tools
4
+ */
5
+ /**
6
+ * SSH configuration schema for direct SSH connection
7
+ * Can be used instead of profile parameter
8
+ */
9
+ export declare const sshConfigSchema: {
10
+ type: "object";
11
+ description: string;
12
+ properties: {
13
+ host: {
14
+ type: string;
15
+ description: string;
16
+ };
17
+ username: {
18
+ type: string;
19
+ description: string;
20
+ };
21
+ port: {
22
+ type: string;
23
+ description: string;
24
+ };
25
+ privateKeyPath: {
26
+ type: string;
27
+ description: string;
28
+ };
29
+ password: {
30
+ type: string;
31
+ description: string;
32
+ };
33
+ passphrase: {
34
+ type: string;
35
+ description: string;
36
+ };
37
+ projectsPath: {
38
+ type: string;
39
+ description: string;
40
+ };
41
+ };
42
+ required: string[];
43
+ };
44
+ /**
45
+ * Profile parameter schema
46
+ */
47
+ export declare const profileSchema: {
48
+ type: "string";
49
+ description: string;
50
+ };
51
+ /**
52
+ * Get common connection parameters (profile + ssh)
53
+ * Use this in tool schemas for consistent SSH/profile support
54
+ */
55
+ export declare function getConnectionParams(): {
56
+ profile: {
57
+ type: "string";
58
+ description: string;
59
+ };
60
+ ssh: {
61
+ type: "object";
62
+ description: string;
63
+ properties: {
64
+ host: {
65
+ type: string;
66
+ description: string;
67
+ };
68
+ username: {
69
+ type: string;
70
+ description: string;
71
+ };
72
+ port: {
73
+ type: string;
74
+ description: string;
75
+ };
76
+ privateKeyPath: {
77
+ type: string;
78
+ description: string;
79
+ };
80
+ password: {
81
+ type: string;
82
+ description: string;
83
+ };
84
+ passphrase: {
85
+ type: string;
86
+ description: string;
87
+ };
88
+ projectsPath: {
89
+ type: string;
90
+ description: string;
91
+ };
92
+ };
93
+ required: string[];
94
+ };
95
+ };
96
+ //# sourceMappingURL=schema-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/schema-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkC3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa;;;CAGzB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKlC"}