@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.
- package/README.md +12 -0
- package/dist/adapters/database-adapter.d.ts +9 -5
- package/dist/adapters/database-adapter.d.ts.map +1 -1
- package/dist/adapters/postgresql.d.ts +14 -5
- package/dist/adapters/postgresql.d.ts.map +1 -1
- package/dist/adapters/postgresql.js +36 -23
- package/dist/adapters/postgresql.js.map +1 -1
- package/dist/adapters/redis.d.ts +10 -1
- package/dist/adapters/redis.d.ts.map +1 -1
- package/dist/adapters/redis.js +10 -7
- package/dist/adapters/redis.js.map +1 -1
- package/dist/adapters/sqlite.d.ts +11 -1
- package/dist/adapters/sqlite.d.ts.map +1 -1
- package/dist/adapters/sqlite.js +11 -7
- package/dist/adapters/sqlite.js.map +1 -1
- package/dist/adapters/types.d.ts +7 -0
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/discovery/compose-parser.d.ts.map +1 -1
- package/dist/discovery/compose-parser.js +4 -7
- package/dist/discovery/compose-parser.js.map +1 -1
- package/dist/discovery/project-discovery.d.ts.map +1 -1
- package/dist/discovery/project-discovery.js +4 -2
- package/dist/discovery/project-discovery.js.map +1 -1
- package/dist/index.js +15 -36
- package/dist/index.js.map +1 -1
- package/dist/managers/container-manager.d.ts +2 -0
- package/dist/managers/container-manager.d.ts.map +1 -1
- package/dist/managers/container-manager.js +10 -3
- package/dist/managers/container-manager.js.map +1 -1
- package/dist/tools/container-tools.d.ts +2 -10
- package/dist/tools/container-tools.d.ts.map +1 -1
- package/dist/tools/container-tools.js +50 -74
- package/dist/tools/container-tools.js.map +1 -1
- package/dist/tools/database-tools.d.ts +15 -1
- package/dist/tools/database-tools.d.ts.map +1 -1
- package/dist/tools/database-tools.js +124 -20
- package/dist/tools/database-tools.js.map +1 -1
- package/dist/tools/discovery-tools.d.ts +1 -8
- package/dist/tools/discovery-tools.d.ts.map +1 -1
- package/dist/tools/discovery-tools.js +9 -45
- package/dist/tools/discovery-tools.js.map +1 -1
- package/dist/tools/env-tools.d.ts +1 -7
- package/dist/tools/env-tools.d.ts.map +1 -1
- package/dist/tools/env-tools.js +35 -77
- package/dist/tools/env-tools.js.map +1 -1
- package/dist/tools/executor-tool.d.ts +0 -7
- package/dist/tools/executor-tool.d.ts.map +1 -1
- package/dist/tools/executor-tool.js +8 -45
- package/dist/tools/executor-tool.js.map +1 -1
- package/dist/tools/mcp-health-tool.d.ts +1 -3
- package/dist/tools/mcp-health-tool.d.ts.map +1 -1
- package/dist/tools/mcp-health-tool.js +24 -18
- package/dist/tools/mcp-health-tool.js.map +1 -1
- package/dist/tools/profile-tool.d.ts +5 -12
- package/dist/tools/profile-tool.d.ts.map +1 -1
- package/dist/tools/profile-tool.js +12 -33
- package/dist/tools/profile-tool.js.map +1 -1
- package/dist/utils/docker-client.d.ts +9 -1
- package/dist/utils/docker-client.d.ts.map +1 -1
- package/dist/utils/docker-client.js +30 -3
- package/dist/utils/docker-client.js.map +1 -1
- package/dist/utils/profile-resolver.d.ts +58 -0
- package/dist/utils/profile-resolver.d.ts.map +1 -0
- package/dist/utils/profile-resolver.js +218 -0
- package/dist/utils/profile-resolver.js.map +1 -0
- package/dist/utils/remote-compose.d.ts +32 -0
- package/dist/utils/remote-compose.d.ts.map +1 -0
- package/dist/utils/remote-compose.js +69 -0
- package/dist/utils/remote-compose.js.map +1 -0
- package/dist/utils/schema-helpers.d.ts +96 -0
- package/dist/utils/schema-helpers.d.ts.map +1 -0
- package/dist/utils/schema-helpers.js +61 -0
- package/dist/utils/schema-helpers.js.map +1 -0
- package/dist/utils/ssh-exec.d.ts.map +1 -1
- package/dist/utils/ssh-exec.js +5 -2
- package/dist/utils/ssh-exec.js.map +1 -1
- 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
|
|
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
|
-
|
|
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":"AAAA;;;GAGG;AAEH,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAgB,UAAU,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE9E;;GAEG;AACH,MAAM,OAAO,YAAY;IACf,MAAM,CAAS;IACf,SAAS,CAAmB;IAC5B,QAAQ,CAAU;IAClB,gBAAgB,GAAkB,IAAI,CAAC;IACvC,aAAa,GAAkB,IAAI,CAAC;IACpC,kBAAkB,GAA2B,IAAI,CAAC;IAClD,yBAAyB,GAA0B,IAAI,CAAC;IAEhE,YAAY,SAA4B;QACtC,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,IAAI,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAEjC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,+EAA+E;YAC/E,sEAAsE;YACtE,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,iDAAiD,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC;QACpH,CAAC;aAAM,CAAC;YACN,sBAAsB;YACtB,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO;QACL,4BAA4B;QAC5B,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACnC,aAAa,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC9C,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAEzC,qBAAqB;QACrB,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACtC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAClC,MAAM,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,gCAAgC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,kCAAkC;QAClC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gBAC5C,MAAM,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,gCAAgC;gBAChC,MAAM,CAAC,KAAK,CAAC,mCAAmC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAGD;;;OAGG;IACK,KAAK,CAAC,eAAe;QAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,yDAAyD;QACzD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YAChE,MAAM,IAAI,CAAC,kBAAkB,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QAEtG,wCAAwC;QACxC,IAAI,CAAC,kBAAkB,GAAG,CAAC,KAAK,IAAI,EAAE;YACpC,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAU,CAAC,CAAC;gBAE/D,uCAAuC;gBACvC,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC;gBAEnC,6CAA6C;gBAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC;oBACvB,UAAU,EAAE,UAAU;iBACvB,CAAC,CAAC;gBAEH,MAAM,CAAC,IAAI,CAAC,iDAAiD,UAAU,EAAE,CAAC,CAAC;gBAE3E,wCAAwC;gBACxC,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAE9B,OAAO,UAAU,CAAC;YACpB,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,gCAAgC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC9D,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,eAAe;gBACf,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,IAAI,CAAC,kBAAkB,CAAC;IAChC,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC5B,iCAAiC;QACjC,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACnC,aAAa,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAChD,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,yBAAyB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YACtD,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC7C,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,6CAA6C;gBAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACzB,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/D,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;gBAEpD,yBAAyB;gBACzB,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;gBACnD,CAAC;gBAAC,OAAO,aAAkB,EAAE,CAAC;oBAC5B,MAAM,CAAC,KAAK,CAAC,kCAAkC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;QACH,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa;QAExB,0DAA0D;QAC1D,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC;QAEvC,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,eAAe,CAAC,MAAiB;QAC7C,0CAA0C;QAC1C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,iGAAiG,CAAC,CAAC;QACrH,CAAC;QAED,8BAA8B;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,cAAc,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,OAAO,CAAC,CAAC;QAEzF,qCAAqC;QACrC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,wDAAwD;YACxD,MAAM,CAAC,KAAK,CAAC,6BAA6B,UAAU,6BAA6B,CAAC,CAAC;YAEnF,IAAI,CAAC;gBACH,yCAAyC;gBACzC,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC9C,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;gBACxB,MAAM,CAAC,KAAK,CAAC,+BAA+B,UAAU,EAAE,CAAC,CAAC;gBAC1D,OAAO,UAAU,CAAC;YACpB,CAAC;YAAC,MAAM,CAAC;gBACP,8DAA8D;gBAC9D,MAAM,CAAC,IAAI,CAAC,qDAAqD,UAAU,EAAE,CAAC,CAAC;gBAC/E,IAAI,CAAC;oBACH,UAAU,CAAC,UAAU,CAAC,CAAC;gBACzB,CAAC;gBAAC,MAAM,CAAC;oBACP,wBAAwB;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAE3D,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,iCAAiC,OAAO,4DAA4D,CAAC,CAAC;YACpH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,sCAAsC;YAC5C,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,8BAA8B;YACpC,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,wBAAwB;YAC9B,IAAI,EAAE,uBAAuB;YAC7B,IAAI,EAAE,GAAG,UAAU,uBAAuB,EAAE,gCAAgC;SAC7E,CAAC;QAEF,uBAAuB;QACvB,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;QAED,oBAAoB;QACpB,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAElD,mBAAmB;QACnB,MAAM,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QAE3F,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,8BAA8B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAEhE,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE;oBACvC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;oBACjC,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;gBAEH,wBAAwB;gBACxB,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;oBACnB,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;gBACzD,CAAC;gBAED,IAAI,YAAY,GAAG,EAAE,CAAC;gBACtB,IAAI,YAAY,GAAG,EAAE,CAAC;gBAEtB,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACrC,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,CAAC,CAAC,CAAC;gBAEH,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACrC,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChC,8BAA8B;oBAC9B,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAC;gBAEH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC/B,MAAM,CAAC,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC3D,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC3D,CAAC,CAAC,CAAC;gBAEH,uEAAuE;gBACvE,8BAA8B;gBAC9B,UAAU,CAAC,GAAG,EAAE;oBACd,UAAU,CAAC,KAAK,EAAE,CAAC;oBAEnB,2BAA2B;oBAC3B,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,iCAAiC;yBACpE,IAAI,CAAC,GAAG,EAAE;wBACT,MAAM,CAAC,IAAI,CAAC,2CAA2C,UAAU,EAAE,CAAC,CAAC;wBACrE,gCAAgC;wBAChC,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC;wBACnC,OAAO,CAAC,UAAU,CAAC,CAAC;oBACtB,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;wBACpB,MAAM,CAAC,KAAK,CAAC,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;wBAChE,IAAI,YAAY,EAAE,CAAC;4BACjB,MAAM,CAAC,KAAK,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;wBACrD,CAAC;wBACD,IAAI,YAAY,EAAE,CAAC;4BACjB,MAAM,CAAC,KAAK,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;wBACrD,CAAC;wBACD,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBACvE,CAAC,CAAC,CAAC;gBACP,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,iCAAiC;YAE5C,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC7D,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CAAC,UAAkB,EAAE,OAAe;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,GAAG,CAAC,CAAC,yBAAyB;QAEpD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;gBACnC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC3B,aAAa,CAAC,WAAW,CAAC,CAAC;oBAC3B,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,OAAO,EAAE,CAAC;oBAC5C,aAAa,CAAC,WAAW,CAAC,CAAC;oBAC3B,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,OAAO,IAAI,CAAC,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC,EAAE,aAAa,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,OAAe;QACpC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;YAC/D,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,oDAAoD;QACpD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;YACxB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QAChH,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,6CAA6C;YAC7C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,gBAAgB,CAAC,MAAM,EAAE;oBAC7B,WAAW,EAAE,CAAC;oBACd,OAAO,EAAE,KAAK;oBACd,WAAW,EAAE,2BAA2B,EAAE;iBAC3C,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ;gBAChC,CAAC,CAAC,yCAAyC,IAAI,CAAC,SAAS,EAAE,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE;gBACnF,CAAC,CAAC,mEAAmE,CAAC;YAExE,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,OAAqC;QACxD,oDAAoD;QACpD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;YAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEF,6CAA6C;QAC7C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,gBAAgB,CAAC,MAAM,EAAE;gBAC9B,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,2BAA2B,EAAE;aAC3C,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,EAAE,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;CACF;AAED,qBAAqB;AACrB,IAAI,oBAAoB,GAAwB,IAAI,CAAC;AAErD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,SAA4B;IAC1D,mDAAmD;IACnD,IAAI,CAAC,oBAAoB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACrD,iCAAiC;QACjC,IAAI,oBAAoB,EAAE,CAAC;YACzB,oBAAoB,CAAC,OAAO,EAAE,CAAC;QACjC,CAAC;QACD,oBAAoB,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,oBAAoB,EAAE,CAAC;QACzB,oBAAoB,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IACD,oBAAoB,GAAG,IAAI,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,IAAI,oBAAoB,EAAE,CAAC;QACzB,oBAAoB,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,mCAAmC;AACnC,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,GAA8B,IAAI,GAAG,EAAE,CAAC;AAExD;;GAEG;AACH,IAAI,iBAAiB,GAAwB,IAAI,CAAC;AAElD;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,WAAmB;IAC5C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;IAE1D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACjG,CAAC;IAED,oCAAoC;IACpC,MAAM,UAAU,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAElD,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,iCAAiC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,qCAAqC,YAAY,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,mBAAmB;IACnB,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC5D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,YAAY,WAAW,oCAAoC,SAAS,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,sBAAsB;IACtB,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,YAAY,WAAW,gCAAgC,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB;IACvB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,YAAY,WAAW,6BAA6B,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QAChF,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,YAAY,WAAW,gCAAgC,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,yBAAyB,CAAC,WAAoB;IAC5D,sCAAsC;IACtC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,iBAAiB,GAAG,IAAI,YAAY,EAAE,CAAC;YACvC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,yCAAyC;IACzC,IAAI,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,2CAA2C,WAAW,EAAE,CAAC,CAAC;QACvE,OAAO,UAAU,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;IACtC,CAAC;IAED,4CAA4C;IAC5C,MAAM,CAAC,IAAI,CAAC,sCAAsC,WAAW,EAAE,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAEjD,kDAAkD;IAClD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;IAE3C,gBAAgB;IAChB,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,CAAC,IAAI,CAAC,qCAAqC,WAAW,EAAE,CAAC,CAAC;IAEhE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,CAAC,IAAI,CAAC,gCAAgC,UAAU,CAAC,IAAI,WAAW,CAAC,CAAC;IAExE,8BAA8B;IAC9B,KAAK,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC,kCAAkC,WAAW,EAAE,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,wCAAwC,WAAW,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,UAAU,CAAC,KAAK,EAAE,CAAC;IAEnB,uBAAuB;IACvB,IAAI,iBAAiB,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,iBAAiB,CAAC,OAAO,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,iBAAiB,GAAG,IAAI,CAAC;IAC3B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,oBAAoB;IACpB,mBAAmB,EAAE,CAAC;IAEtB,eAAe;IACf,eAAe,EAAE,CAAC;AACpB,CAAC"}
|
|
1
|
+
{"version":3,"file":"docker-client.js","sourceRoot":"","sources":["../../src/utils/docker-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAgB,UAAU,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE9E;;GAEG;AACH,MAAM,OAAO,YAAY;IACf,MAAM,CAAS;IACf,SAAS,CAAmB;IACpB,QAAQ,CAAU,CAAC,2CAA2C;IACtE,gBAAgB,GAAkB,IAAI,CAAC;IACvC,aAAa,GAAkB,IAAI,CAAC;IACpC,kBAAkB,GAA2B,IAAI,CAAC;IAClD,yBAAyB,GAA0B,IAAI,CAAC;IAEhE,YAAY,SAA4B;QACtC,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,IAAI,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAEjC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,+EAA+E;YAC/E,sEAAsE;YACtE,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,iDAAiD,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC;QACpH,CAAC;aAAM,CAAC;YACN,sBAAsB;YACtB,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,IAAI,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,4BAA4B;QAC5B,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACnC,aAAa,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC9C,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAEzC,qBAAqB;QACrB,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACtC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAClC,MAAM,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,gCAAgC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,kCAAkC;QAClC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gBAC5C,MAAM,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,gCAAgC;gBAChC,MAAM,CAAC,KAAK,CAAC,mCAAmC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAGD;;;OAGG;IACK,KAAK,CAAC,eAAe;QAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,yDAAyD;QACzD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YAChE,MAAM,IAAI,CAAC,kBAAkB,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QAEtG,wCAAwC;QACxC,IAAI,CAAC,kBAAkB,GAAG,CAAC,KAAK,IAAI,EAAE;YACpC,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAU,CAAC,CAAC;gBAE/D,uCAAuC;gBACvC,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC;gBAEnC,6CAA6C;gBAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC;oBACvB,UAAU,EAAE,UAAU;iBACvB,CAAC,CAAC;gBAEH,MAAM,CAAC,IAAI,CAAC,iDAAiD,UAAU,EAAE,CAAC,CAAC;gBAE3E,wCAAwC;gBACxC,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAE9B,OAAO,UAAU,CAAC;YACpB,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,gCAAgC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC9D,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,eAAe;gBACf,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,IAAI,CAAC,kBAAkB,CAAC;IAChC,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC5B,iCAAiC;QACjC,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACnC,aAAa,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAChD,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,yBAAyB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YACtD,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC7C,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,6CAA6C;gBAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACzB,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/D,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;gBAEpD,yBAAyB;gBACzB,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;gBACnD,CAAC;gBAAC,OAAO,aAAkB,EAAE,CAAC;oBAC5B,MAAM,CAAC,KAAK,CAAC,kCAAkC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;QACH,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa;QAExB,0DAA0D;QAC1D,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC;QAEvC,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,eAAe,CAAC,MAAiB;QAC7C,0CAA0C;QAC1C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,iGAAiG,CAAC,CAAC;QACrH,CAAC;QAED,8BAA8B;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,cAAc,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,OAAO,CAAC,CAAC;QAEzF,qCAAqC;QACrC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,wDAAwD;YACxD,MAAM,CAAC,KAAK,CAAC,6BAA6B,UAAU,6BAA6B,CAAC,CAAC;YAEnF,IAAI,CAAC;gBACH,yCAAyC;gBACzC,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC9C,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;gBACxB,MAAM,CAAC,KAAK,CAAC,+BAA+B,UAAU,EAAE,CAAC,CAAC;gBAC1D,OAAO,UAAU,CAAC;YACpB,CAAC;YAAC,MAAM,CAAC;gBACP,8DAA8D;gBAC9D,MAAM,CAAC,IAAI,CAAC,qDAAqD,UAAU,EAAE,CAAC,CAAC;gBAC/E,IAAI,CAAC;oBACH,UAAU,CAAC,UAAU,CAAC,CAAC;gBACzB,CAAC;gBAAC,MAAM,CAAC;oBACP,wBAAwB;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAE3D,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,iCAAiC,OAAO,4DAA4D,CAAC,CAAC;YACpH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,sCAAsC;YAC5C,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,8BAA8B;YACpC,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,wBAAwB;YAC9B,IAAI,EAAE,uBAAuB;YAC7B,IAAI,EAAE,GAAG,UAAU,uBAAuB,EAAE,gCAAgC;SAC7E,CAAC;QAEF,uBAAuB;QACvB,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;QAED,oBAAoB;QACpB,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAElD,mBAAmB;QACnB,MAAM,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QAE3F,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,8BAA8B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAEhE,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE;oBACvC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;oBACjC,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;gBAEH,wBAAwB;gBACxB,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;oBACnB,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;gBACzD,CAAC;gBAED,IAAI,YAAY,GAAG,EAAE,CAAC;gBACtB,IAAI,YAAY,GAAG,EAAE,CAAC;gBAEtB,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACrC,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,CAAC,CAAC,CAAC;gBAEH,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACrC,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChC,8BAA8B;oBAC9B,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAC;gBAEH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC/B,MAAM,CAAC,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC3D,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC3D,CAAC,CAAC,CAAC;gBAEH,uEAAuE;gBACvE,8BAA8B;gBAC9B,UAAU,CAAC,GAAG,EAAE;oBACd,UAAU,CAAC,KAAK,EAAE,CAAC;oBAEnB,2BAA2B;oBAC3B,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,iCAAiC;yBACpE,IAAI,CAAC,GAAG,EAAE;wBACT,MAAM,CAAC,IAAI,CAAC,2CAA2C,UAAU,EAAE,CAAC,CAAC;wBACrE,gCAAgC;wBAChC,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC;wBACnC,OAAO,CAAC,UAAU,CAAC,CAAC;oBACtB,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;wBACpB,MAAM,CAAC,KAAK,CAAC,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;wBAChE,IAAI,YAAY,EAAE,CAAC;4BACjB,MAAM,CAAC,KAAK,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;wBACrD,CAAC;wBACD,IAAI,YAAY,EAAE,CAAC;4BACjB,MAAM,CAAC,KAAK,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;wBACrD,CAAC;wBACD,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBACvE,CAAC,CAAC,CAAC;gBACP,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,iCAAiC;YAE5C,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC7D,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CAAC,UAAkB,EAAE,OAAe;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,GAAG,CAAC,CAAC,yBAAyB;QAEpD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;gBACnC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC3B,aAAa,CAAC,WAAW,CAAC,CAAC;oBAC3B,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,OAAO,EAAE,CAAC;oBAC5C,aAAa,CAAC,WAAW,CAAC,CAAC;oBAC3B,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,OAAO,IAAI,CAAC,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC,EAAE,aAAa,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,OAAe;QACpC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;YAC/D,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,oDAAoD;QACpD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;YACxB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QAChH,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,6CAA6C;YAC7C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,gBAAgB,CAAC,MAAM,EAAE;oBAC7B,WAAW,EAAE,CAAC;oBACd,OAAO,EAAE,KAAK;oBACd,WAAW,EAAE,2BAA2B,EAAE;iBAC3C,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ;gBAChC,CAAC,CAAC,yCAAyC,IAAI,CAAC,SAAS,EAAE,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE;gBACnF,CAAC,CAAC,mEAAmE,CAAC;YAExE,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,OAAqC;QACxD,oDAAoD;QACpD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;YAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEF,6CAA6C;QAC7C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,gBAAgB,CAAC,MAAM,EAAE;gBAC9B,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,2BAA2B,EAAE;aAC3C,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,EAAE,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;CACF;AAED,qBAAqB;AACrB,IAAI,oBAAoB,GAAwB,IAAI,CAAC;AAErD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,SAA4B;IAC1D,0EAA0E;IAC1E,2EAA2E;IAC3E,mDAAmD;IACnD,MAAM,iBAAiB,GAAG,CAAC,CAAC,SAAS,CAAC;IACtC,MAAM,aAAa,GAAG,SAAS,EAAE,IAAI,IAAI,IAAI,CAAC;IAE9C,MAAM,cAAc,GAAG,CAAC,oBAAoB;QAC1C,CAAC,SAAS,KAAK,SAAS,IAAI,CAC1B,oBAAoB,CAAC,QAAQ,KAAK,iBAAiB;YACnD,oBAAoB,CAAC,UAAU,EAAE,KAAK,aAAa,CACpD,CAAC,CAAC;IAEL,IAAI,cAAc,EAAE,CAAC;QACnB,iCAAiC;QACjC,IAAI,oBAAoB,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,oBAAoB,CAAC,QAAQ;gBAC7C,CAAC,CAAC,WAAW,oBAAoB,CAAC,UAAU,EAAE,GAAG;gBACjD,CAAC,CAAC,OAAO,CAAC;YACZ,MAAM,SAAS,GAAG,iBAAiB;gBACjC,CAAC,CAAC,WAAW,aAAa,GAAG;gBAC7B,CAAC,CAAC,OAAO,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,6BAA6B,SAAS,OAAO,SAAS,EAAE,CAAC,CAAC;YACvE,oBAAoB,CAAC,OAAO,EAAE,CAAC;QACjC,CAAC;QACD,oBAAoB,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,0BAA0B,iBAAiB,CAAC,CAAC,CAAC,WAAW,aAAa,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACtG,CAAC;IACD,OAAO,oBAAqB,CAAC,CAAC,0BAA0B;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,oBAAoB,EAAE,CAAC;QACzB,oBAAoB,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IACD,oBAAoB,GAAG,IAAI,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,IAAI,oBAAoB,EAAE,CAAC;QACzB,oBAAoB,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,mCAAmC;AACnC,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,GAA8B,IAAI,GAAG,EAAE,CAAC;AAExD;;GAEG;AACH,IAAI,iBAAiB,GAAwB,IAAI,CAAC;AAElD;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,WAAmB;IAC5C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;IAE1D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACjG,CAAC;IAED,oCAAoC;IACpC,MAAM,UAAU,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAElD,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,iCAAiC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,qCAAqC,YAAY,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,mBAAmB;IACnB,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC5D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,YAAY,WAAW,oCAAoC,SAAS,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,sBAAsB;IACtB,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,YAAY,WAAW,gCAAgC,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB;IACvB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,YAAY,WAAW,6BAA6B,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QAChF,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,YAAY,WAAW,gCAAgC,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,yBAAyB,CAAC,WAAoB;IAC5D,sCAAsC;IACtC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,iBAAiB,GAAG,IAAI,YAAY,EAAE,CAAC;YACvC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,yCAAyC;IACzC,IAAI,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,2CAA2C,WAAW,EAAE,CAAC,CAAC;QACvE,OAAO,UAAU,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;IACtC,CAAC;IAED,4CAA4C;IAC5C,MAAM,CAAC,IAAI,CAAC,sCAAsC,WAAW,EAAE,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAEjD,kDAAkD;IAClD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;IAE3C,gBAAgB;IAChB,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,CAAC,IAAI,CAAC,qCAAqC,WAAW,EAAE,CAAC,CAAC;IAEhE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,CAAC,IAAI,CAAC,gCAAgC,UAAU,CAAC,IAAI,WAAW,CAAC,CAAC;IAExE,8BAA8B;IAC9B,KAAK,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC,kCAAkC,WAAW,EAAE,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,wCAAwC,WAAW,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,UAAU,CAAC,KAAK,EAAE,CAAC;IAEnB,uBAAuB;IACvB,IAAI,iBAAiB,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,iBAAiB,CAAC,OAAO,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,iBAAiB,GAAG,IAAI,CAAC;IAC3B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,oBAAoB;IACpB,mBAAmB,EAAE,CAAC;IAEtB,eAAe;IACf,eAAe,EAAE,CAAC;AACpB,CAAC"}
|
|
@@ -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"}
|