@ai-support-agent/cli 0.0.31 → 0.0.32-beta.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/dist/commands/docker-commands.d.ts +3 -0
- package/dist/commands/docker-commands.d.ts.map +1 -0
- package/dist/commands/docker-commands.js +91 -0
- package/dist/commands/docker-commands.js.map +1 -0
- package/dist/config-manager.d.ts.map +1 -1
- package/dist/config-manager.js +2 -0
- package/dist/config-manager.js.map +1 -1
- package/dist/docker/docker-runner.d.ts +13 -2
- package/dist/docker/docker-runner.d.ts.map +1 -1
- package/dist/docker/docker-runner.js +69 -8
- package/dist/docker/docker-runner.js.map +1 -1
- package/dist/docker/dockerfile-path.d.ts +14 -0
- package/dist/docker/dockerfile-path.d.ts.map +1 -1
- package/dist/docker/dockerfile-path.js +27 -0
- package/dist/docker/dockerfile-path.js.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/locales/en.json +12 -0
- package/dist/locales/ja.json +12 -0
- package/dist/locales/locales/en.json +12 -0
- package/dist/locales/locales/ja.json +12 -0
- package/dist/types/config.d.ts +2 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/utils/unified-diff.d.ts +12 -0
- package/dist/utils/unified-diff.d.ts.map +1 -0
- package/dist/utils/unified-diff.js +166 -0
- package/dist/utils/unified-diff.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker-commands.d.ts","sourceRoot":"","sources":["../../src/commands/docker-commands.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQnC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkD7D"}
|
|
@@ -0,0 +1,91 @@
|
|
|
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.registerDockerCommands = registerDockerCommands;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
const dockerfile_path_1 = require("../docker/dockerfile-path");
|
|
40
|
+
const config_manager_1 = require("../config-manager");
|
|
41
|
+
const i18n_1 = require("../i18n");
|
|
42
|
+
const logger_1 = require("../logger");
|
|
43
|
+
const unified_diff_1 = require("../utils/unified-diff");
|
|
44
|
+
function registerDockerCommands(program) {
|
|
45
|
+
program
|
|
46
|
+
.command('docker-diff-dockerfile')
|
|
47
|
+
.description((0, i18n_1.t)('cmd.dockerDiffDockerfile'))
|
|
48
|
+
.argument('[path]', (0, i18n_1.t)('cmd.dockerDiffDockerfile.arg'))
|
|
49
|
+
.action((customPath) => {
|
|
50
|
+
const config = (0, config_manager_1.loadConfig)();
|
|
51
|
+
// Resolve target: argument > config.dockerfilePath > configDir/Dockerfile
|
|
52
|
+
let resolvedTarget;
|
|
53
|
+
if (customPath) {
|
|
54
|
+
resolvedTarget = path.resolve(customPath);
|
|
55
|
+
}
|
|
56
|
+
else if (config?.dockerfilePath) {
|
|
57
|
+
resolvedTarget = path.resolve(config.dockerfilePath);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
const configDockerfile = (0, dockerfile_path_1.getConfigDockerfilePath)();
|
|
61
|
+
if (fs.existsSync(configDockerfile)) {
|
|
62
|
+
resolvedTarget = configDockerfile;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (!resolvedTarget) {
|
|
66
|
+
logger_1.logger.error((0, i18n_1.t)('docker.diffNoTarget'));
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
if (!fs.existsSync(resolvedTarget)) {
|
|
70
|
+
logger_1.logger.error((0, i18n_1.t)('docker.diffTargetNotFound', { path: resolvedTarget }));
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
let defaultContent;
|
|
74
|
+
try {
|
|
75
|
+
defaultContent = fs.readFileSync((0, dockerfile_path_1.getDockerfilePath)(), 'utf-8');
|
|
76
|
+
}
|
|
77
|
+
catch (err) {
|
|
78
|
+
logger_1.logger.error((0, i18n_1.t)('docker.diffDefaultError', { message: err instanceof Error ? err.message : String(err) }));
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const targetContent = fs.readFileSync(resolvedTarget, 'utf-8');
|
|
82
|
+
if (defaultContent === targetContent) {
|
|
83
|
+
logger_1.logger.success((0, i18n_1.t)('docker.diffIdentical'));
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
const diff = (0, unified_diff_1.computeUnifiedDiff)(defaultContent, targetContent, 'bundled/Dockerfile', resolvedTarget);
|
|
87
|
+
console.log(diff);
|
|
88
|
+
logger_1.logger.info((0, i18n_1.t)('docker.diffDone'));
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=docker-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker-commands.js","sourceRoot":"","sources":["../../src/commands/docker-commands.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,wDAkDC;AA7DD,uCAAwB;AACxB,2CAA4B;AAI5B,+DAAsF;AACtF,sDAA8C;AAC9C,kCAA2B;AAC3B,sCAAkC;AAClC,wDAA0D;AAE1D,SAAgB,sBAAsB,CAAC,OAAgB;IACrD,OAAO;SACJ,OAAO,CAAC,wBAAwB,CAAC;SACjC,WAAW,CAAC,IAAA,QAAC,EAAC,0BAA0B,CAAC,CAAC;SAC1C,QAAQ,CAAC,QAAQ,EAAE,IAAA,QAAC,EAAC,8BAA8B,CAAC,CAAC;SACrD,MAAM,CAAC,CAAC,UAAmB,EAAE,EAAE;QAC9B,MAAM,MAAM,GAAG,IAAA,2BAAU,GAAE,CAAA;QAE3B,0EAA0E;QAC1E,IAAI,cAAkC,CAAA;QACtC,IAAI,UAAU,EAAE,CAAC;YACf,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAC3C,CAAC;aAAM,IAAI,MAAM,EAAE,cAAc,EAAE,CAAC;YAClC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;QACtD,CAAC;aAAM,CAAC;YACN,MAAM,gBAAgB,GAAG,IAAA,yCAAuB,GAAE,CAAA;YAClD,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACpC,cAAc,GAAG,gBAAgB,CAAA;YACnC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,eAAM,CAAC,KAAK,CAAC,IAAA,QAAC,EAAC,qBAAqB,CAAC,CAAC,CAAA;YACtC,OAAM;QACR,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACnC,eAAM,CAAC,KAAK,CAAC,IAAA,QAAC,EAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAA;YACtE,OAAM;QACR,CAAC;QAED,IAAI,cAAsB,CAAA;QAC1B,IAAI,CAAC;YACH,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,IAAA,mCAAiB,GAAE,EAAE,OAAO,CAAC,CAAA;QAChE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,eAAM,CAAC,KAAK,CAAC,IAAA,QAAC,EAAC,yBAAyB,EAAE,EAAE,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YACzG,OAAM;QACR,CAAC;QAED,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;QAE9D,IAAI,cAAc,KAAK,aAAa,EAAE,CAAC;YACrC,eAAM,CAAC,OAAO,CAAC,IAAA,QAAC,EAAC,sBAAsB,CAAC,CAAC,CAAA;YACzC,OAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAG,IAAA,iCAAkB,EAAC,cAAc,EAAE,aAAa,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAA;QACpG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACjB,eAAM,CAAC,IAAI,CAAC,IAAA,QAAC,EAAC,iBAAiB,CAAC,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../src/config-manager.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAqB,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAGlF,wBAAgB,YAAY,IAAI,MAAM,CAKrC;AA0CD,wBAAgB,UAAU,IAAI,WAAW,GAAG,IAAI,CAa/C;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../src/config-manager.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAqB,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAGlF,wBAAgB,YAAY,IAAI,MAAM,CAKrC;AA0CD,wBAAgB,UAAU,IAAI,WAAW,GAAG,IAAI,CAa/C;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAyB7D;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAQ3C;AAED,wBAAgB,WAAW,IAAI,IAAI,CAKlC;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI,CAYlE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAS1D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,WAAW,GAClB,mBAAmB,EAAE,CAEvB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAU9E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAE3D"}
|
package/dist/config-manager.js
CHANGED
|
@@ -126,6 +126,8 @@ function saveConfig(config) {
|
|
|
126
126
|
autoUpdate: config.autoUpdate ?? existing?.autoUpdate,
|
|
127
127
|
agentChatMode: config.agentChatMode ?? existing?.agentChatMode,
|
|
128
128
|
defaultProjectDir: config.defaultProjectDir ?? existing?.defaultProjectDir,
|
|
129
|
+
dockerfilePath: config.dockerfilePath ?? existing?.dockerfilePath,
|
|
130
|
+
dockerfileSync: config.dockerfileSync ?? existing?.dockerfileSync,
|
|
129
131
|
};
|
|
130
132
|
const configPath = getConfigPath();
|
|
131
133
|
writeConfigFile(configPath, merged);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../src/config-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,oCAKC;AA0CD,gCAaC;AAED,
|
|
1
|
+
{"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../src/config-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,oCAKC;AA0CD,gCAaC;AAED,gCAyBC;AAED,gDAQC;AAED,kCAKC;AAKD,gCAYC;AAKD,sCASC;AAKD,wCAIC;AAKD,sCAUC;AAKD,oDAEC;AAjLD,uCAAwB;AACxB,uCAAwB;AACxB,2CAA4B;AAC5B,+CAAgC;AAEhC,2CAA2E;AAC3E,iCAA0B;AAC1B,qCAAiC;AAEjC,mCAAyC;AAEzC,SAAgB,YAAY;IAC1B,IAAI,IAAI,CAAC,UAAU,CAAC,sBAAU,CAAC,EAAE,CAAC;QAChC,OAAO,sBAAU,CAAA;IACnB,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,sBAAU,CAAC,CAAA;AAC5C,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,uBAAW,CAAC,CAAA;AAC/C,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB,EAAE,IAAiB;IAC5D,IAAA,uBAAe,EAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AAC5D,CAAC;AAED,SAAS,eAAe;IACtB,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAA;IACxE,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvD,OAAO,GAAG,QAAQ,IAAI,SAAS,EAAE,CAAA;AACnC,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,GAAsB;IACnD,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAC5E,eAAM,CAAC,IAAI,CAAC,IAAA,QAAC,EAAC,kBAAkB,CAAC,CAAC,CAAA;QAClC,MAAM,QAAQ,GAAgB;YAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,QAAQ,EAAE,CAAC;oBACT,WAAW,EAAE,gCAAoB;oBACjC,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;iBACnB,CAAC;SACH,CAAA;QACD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;QAClC,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QACrC,eAAM,CAAC,OAAO,CAAC,IAAA,QAAC,EAAC,iBAAiB,CAAC,CAAC,CAAA;QACpC,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAgB,UAAU;IACxB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAsB,CAAA;QACjD,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAA;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,IAAI,CAAC,IAAA,QAAC,EAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;QAC5D,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,SAAgB,UAAU,CAAC,MAA4B;IACrD,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAChC,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAA;IAC7B,MAAM,MAAM,GAAgB;QAC1B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,QAAQ,EAAE,OAAO,IAAI,eAAe,EAAE;QACjE,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAC1D,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,QAAQ,EAAE,aAAa;QAC9D,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,QAAQ,EAAE,QAAQ;QAC/C,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,QAAQ,EAAE,QAAQ;QAC/C,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,QAAQ,EAAE,UAAU;QACrD,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,QAAQ,EAAE,aAAa;QAC9D,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,QAAQ,EAAE,iBAAiB;QAC1E,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,QAAQ,EAAE,cAAc;QACjE,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,QAAQ,EAAE,cAAc;KAClE,CAAA;IAED,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IACnC,eAAM,CAAC,KAAK,CAAC,IAAA,QAAC,EAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;AAC5D,CAAC;AAED,SAAgB,kBAAkB;IAChC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;IAC3B,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,OAAO,CAAA;IACvB,CAAC;IACD,MAAM,OAAO,GAAG,eAAe,EAAE,CAAA;IACjC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IACvB,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAgB,WAAW;IACzB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,YAAiC;IAC1D,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;IAC3B,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAA;IACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,YAAY,CAAC,WAAW,CAClD,CAAA;IACD,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,QAAQ,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAA;IACnC,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IAC7B,CAAC;IACD,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;AAC1B,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,WAAmB;IAC/C,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;IAC3B,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAA;IACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,CAAA;IACtE,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QACxC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;IAClC,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAC5B,MAAmB;IAEnB,OAAO,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAA;AAC9B,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,WAAmB,EAAE,UAAkB;IACnE,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;IAC3B,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAA;IACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,CAAA;IACnE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;IAC/B,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IACxB,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,QAAgB;IACnD,UAAU,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC,CAAA;AAC7C,CAAC"}
|
|
@@ -6,10 +6,12 @@ export interface DockerRunOptions {
|
|
|
6
6
|
verbose?: boolean;
|
|
7
7
|
autoUpdate?: boolean;
|
|
8
8
|
updateChannel?: string;
|
|
9
|
+
dockerfile?: string;
|
|
10
|
+
dockerfileSync?: boolean;
|
|
9
11
|
}
|
|
10
12
|
export declare function checkDockerAvailable(): boolean;
|
|
11
13
|
export declare function imageExists(version: string): boolean;
|
|
12
|
-
export declare function buildImage(version: string): void;
|
|
14
|
+
export declare function buildImage(version: string, customDockerfile?: string): void;
|
|
13
15
|
export interface ProjectDirMapping {
|
|
14
16
|
hostDir: string;
|
|
15
17
|
containerDir: string;
|
|
@@ -35,7 +37,16 @@ export declare function getInstalledVersion(): string;
|
|
|
35
37
|
* Reset the cached installed version (for testing).
|
|
36
38
|
*/
|
|
37
39
|
export declare function resetInstalledVersionCache(): void;
|
|
38
|
-
export declare function ensureImage(): string;
|
|
40
|
+
export declare function ensureImage(customDockerfile?: string): string;
|
|
39
41
|
export declare function dockerLogin(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Copy the bundled Dockerfile (and entrypoint.sh) to the config directory
|
|
44
|
+
* on first run so users can customise it.
|
|
45
|
+
* Does NOT overwrite an existing file — user edits are preserved.
|
|
46
|
+
* Exported for testing.
|
|
47
|
+
*/
|
|
48
|
+
export declare function syncDockerfileToConfigDir(): void;
|
|
49
|
+
/** Reset the running flag (for testing). */
|
|
50
|
+
export declare function resetIsDockerRunning(): void;
|
|
40
51
|
export declare function runInDocker(opts: DockerRunOptions): void;
|
|
41
52
|
//# sourceMappingURL=docker-runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-runner.d.ts","sourceRoot":"","sources":["../../src/docker/docker-runner.ts"],"names":[],"mappings":"AA6BA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"docker-runner.d.ts","sourceRoot":"","sources":["../../src/docker/docker-runner.ts"],"names":[],"mappings":"AA6BA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAO9C;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAOpD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAY3E;AAOD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,wBAAgB,iBAAiB,IAAI;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAmE9F;AAED,wBAAgB,YAAY,CAAC,eAAe,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAsC3E;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,EAAE,CA0BnE;AAID;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAqB5C;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD;AAED,wBAAgB,WAAW,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAU7D;AAED,wBAAgB,WAAW,IAAI,IAAI,CAWlC;AAuCD;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAuBhD;AAID,4CAA4C;AAC5C,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CA+ExD"}
|
|
@@ -43,6 +43,8 @@ exports.getInstalledVersion = getInstalledVersion;
|
|
|
43
43
|
exports.resetInstalledVersionCache = resetInstalledVersionCache;
|
|
44
44
|
exports.ensureImage = ensureImage;
|
|
45
45
|
exports.dockerLogin = dockerLogin;
|
|
46
|
+
exports.syncDockerfileToConfigDir = syncDockerfileToConfigDir;
|
|
47
|
+
exports.resetIsDockerRunning = resetIsDockerRunning;
|
|
46
48
|
exports.runInDocker = runInDocker;
|
|
47
49
|
const child_process_1 = require("child_process");
|
|
48
50
|
const fs = __importStar(require("fs"));
|
|
@@ -87,11 +89,13 @@ function imageExists(version) {
|
|
|
87
89
|
return false;
|
|
88
90
|
}
|
|
89
91
|
}
|
|
90
|
-
function buildImage(version) {
|
|
91
|
-
const dockerfilePath = (0, dockerfile_path_1.
|
|
92
|
-
const contextDir = (0, dockerfile_path_1.getDockerContextDir)();
|
|
92
|
+
function buildImage(version, customDockerfile) {
|
|
93
|
+
const { dockerfilePath, contextDir } = (0, dockerfile_path_1.resolveDockerfile)(customDockerfile);
|
|
93
94
|
logger_1.logger.info((0, i18n_1.t)('docker.building'));
|
|
94
|
-
(
|
|
95
|
+
if (customDockerfile) {
|
|
96
|
+
logger_1.logger.info((0, i18n_1.t)('docker.usingCustomDockerfile', { path: dockerfilePath }));
|
|
97
|
+
}
|
|
98
|
+
(0, child_process_1.execFileSync)('docker', ['build', '-t', `${IMAGE_NAME}:${version}`, '--pull=missing', '--build-arg', `AGENT_VERSION=${version}`, '-f', dockerfilePath, contextDir], { stdio: 'inherit' });
|
|
95
99
|
logger_1.logger.success((0, i18n_1.t)('docker.buildComplete'));
|
|
96
100
|
}
|
|
97
101
|
/** Container-internal base path for project directories */
|
|
@@ -259,12 +263,12 @@ function getInstalledVersion() {
|
|
|
259
263
|
function resetInstalledVersionCache() {
|
|
260
264
|
cachedInstalledVersion = null;
|
|
261
265
|
}
|
|
262
|
-
function ensureImage() {
|
|
266
|
+
function ensureImage(customDockerfile) {
|
|
263
267
|
const installedVersion = getInstalledVersion();
|
|
264
268
|
// Use the installed version if it is newer than the compile-time version
|
|
265
269
|
const version = (0, version_1.isNewerVersion)(constants_1.AGENT_VERSION, installedVersion) ? installedVersion : constants_1.AGENT_VERSION;
|
|
266
270
|
if (!imageExists(version)) {
|
|
267
|
-
buildImage(version);
|
|
271
|
+
buildImage(version, customDockerfile);
|
|
268
272
|
}
|
|
269
273
|
else {
|
|
270
274
|
logger_1.logger.info((0, i18n_1.t)('docker.imageFound', { version }));
|
|
@@ -305,7 +309,10 @@ async function installUpdateAndRestart() {
|
|
|
305
309
|
}
|
|
306
310
|
if (newVersion) {
|
|
307
311
|
logger_1.logger.info(`[docker] Installing @ai-support-agent/cli@${newVersion} on host...`);
|
|
308
|
-
|
|
312
|
+
// Always use 'global' install method on the host side regardless of how the
|
|
313
|
+
// host process was originally launched (it may be detected as 'local' in
|
|
314
|
+
// service/systemd environments where the script path is under node_modules).
|
|
315
|
+
const result = await (0, update_checker_1.performUpdate)(newVersion, 'global');
|
|
309
316
|
if (!result.success) {
|
|
310
317
|
logger_1.logger.warn(`[docker] Host npm install failed: ${result.error ?? 'unknown'}. Proceeding with existing version.`);
|
|
311
318
|
}
|
|
@@ -316,13 +323,61 @@ async function installUpdateAndRestart() {
|
|
|
316
323
|
}
|
|
317
324
|
(0, update_checker_1.reExecProcess)();
|
|
318
325
|
}
|
|
326
|
+
/**
|
|
327
|
+
* Copy the bundled Dockerfile (and entrypoint.sh) to the config directory
|
|
328
|
+
* on first run so users can customise it.
|
|
329
|
+
* Does NOT overwrite an existing file — user edits are preserved.
|
|
330
|
+
* Exported for testing.
|
|
331
|
+
*/
|
|
332
|
+
function syncDockerfileToConfigDir() {
|
|
333
|
+
const configDir = (0, config_manager_1.getConfigDir)();
|
|
334
|
+
const destDockerfile = path.join(configDir, 'Dockerfile');
|
|
335
|
+
if (fs.existsSync(destDockerfile))
|
|
336
|
+
return; // preserve existing file
|
|
337
|
+
try {
|
|
338
|
+
const srcDockerfile = (0, dockerfile_path_1.getDockerfilePath)();
|
|
339
|
+
fs.mkdirSync(configDir, { recursive: true, mode: 0o700 });
|
|
340
|
+
fs.copyFileSync(srcDockerfile, destDockerfile);
|
|
341
|
+
// Also copy entrypoint.sh which the bundled Dockerfile references via COPY
|
|
342
|
+
const srcEntrypoint = path.join((0, dockerfile_path_1.getDockerContextDir)(), 'docker', 'entrypoint.sh');
|
|
343
|
+
const destEntrypoint = path.join(configDir, 'docker', 'entrypoint.sh');
|
|
344
|
+
if (fs.existsSync(srcEntrypoint)) {
|
|
345
|
+
fs.mkdirSync(path.dirname(destEntrypoint), { recursive: true });
|
|
346
|
+
fs.copyFileSync(srcEntrypoint, destEntrypoint);
|
|
347
|
+
}
|
|
348
|
+
logger_1.logger.info((0, i18n_1.t)('docker.dockerfileSynced', { path: destDockerfile }));
|
|
349
|
+
}
|
|
350
|
+
catch (err) {
|
|
351
|
+
logger_1.logger.warn((0, i18n_1.t)('docker.dockerfileSyncFailed', { message: err instanceof Error ? err.message : String(err) }));
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
let isDockerRunning = false;
|
|
355
|
+
/** Reset the running flag (for testing). */
|
|
356
|
+
function resetIsDockerRunning() {
|
|
357
|
+
isDockerRunning = false;
|
|
358
|
+
}
|
|
319
359
|
function runInDocker(opts) {
|
|
360
|
+
// Guard against multiple concurrent invocations (e.g. auto-updater and
|
|
361
|
+
// server-triggered update firing at the same time).
|
|
362
|
+
if (isDockerRunning) {
|
|
363
|
+
logger_1.logger.warn('[docker] runInDocker called while already running — ignoring duplicate call');
|
|
364
|
+
return;
|
|
365
|
+
}
|
|
366
|
+
isDockerRunning = true;
|
|
320
367
|
if (!checkDockerAvailable()) {
|
|
321
368
|
logger_1.logger.error((0, i18n_1.t)('docker.notAvailable'));
|
|
322
369
|
process.exit(1);
|
|
323
370
|
return;
|
|
324
371
|
}
|
|
325
|
-
const
|
|
372
|
+
const config = (0, config_manager_1.loadConfig)();
|
|
373
|
+
// Sync bundled Dockerfile to config dir on first run (unless disabled)
|
|
374
|
+
const shouldSync = opts.dockerfileSync !== false && config?.dockerfileSync !== false;
|
|
375
|
+
if (shouldSync) {
|
|
376
|
+
syncDockerfileToConfigDir();
|
|
377
|
+
}
|
|
378
|
+
// Resolve Dockerfile: CLI flag > config.dockerfilePath > configDir/Dockerfile > bundled default
|
|
379
|
+
const customDockerfile = opts.dockerfile ?? config?.dockerfilePath;
|
|
380
|
+
const version = ensureImage(customDockerfile);
|
|
326
381
|
logger_1.logger.info((0, i18n_1.t)('docker.starting'));
|
|
327
382
|
const { mounts, projectMappings } = buildVolumeMounts();
|
|
328
383
|
const envArgs = buildEnvArgs(projectMappings);
|
|
@@ -350,7 +405,13 @@ function runInDocker(opts) {
|
|
|
350
405
|
logger_1.logger.error((0, i18n_1.t)('docker.runFailed', { message: err.message }));
|
|
351
406
|
process.exit(1);
|
|
352
407
|
});
|
|
408
|
+
let closeHandled = false;
|
|
353
409
|
child.on('close', (code) => {
|
|
410
|
+
// Guard against duplicate close events
|
|
411
|
+
if (closeHandled)
|
|
412
|
+
return;
|
|
413
|
+
closeHandled = true;
|
|
414
|
+
isDockerRunning = false;
|
|
354
415
|
// DOCKER_UPDATE_EXIT_CODE signals "update installed, rebuild image and restart".
|
|
355
416
|
// Any other exit (including 0 from SIGINT) exits the host process as-is.
|
|
356
417
|
if (code === constants_1.DOCKER_UPDATE_EXIT_CODE) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-runner.js","sourceRoot":"","sources":["../../src/docker/docker-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"docker-runner.js","sourceRoot":"","sources":["../../src/docker/docker-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,4 +7,18 @@ export declare function getDockerfilePath(): string;
|
|
|
7
7
|
* Get the Docker build context directory (package root).
|
|
8
8
|
*/
|
|
9
9
|
export declare function getDockerContextDir(): string;
|
|
10
|
+
/**
|
|
11
|
+
* Get the path to the Dockerfile in the config directory.
|
|
12
|
+
* (~/.ai-support-agent/Dockerfile)
|
|
13
|
+
*/
|
|
14
|
+
export declare function getConfigDockerfilePath(): string;
|
|
15
|
+
export interface DockerfileResolution {
|
|
16
|
+
dockerfilePath: string;
|
|
17
|
+
contextDir: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Resolve which Dockerfile to use for the Docker build.
|
|
21
|
+
* Priority: customPath > configDir/Dockerfile (if exists) > bundled default
|
|
22
|
+
*/
|
|
23
|
+
export declare function resolveDockerfile(customPath?: string): DockerfileResolution;
|
|
10
24
|
//# sourceMappingURL=dockerfile-path.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dockerfile-path.d.ts","sourceRoot":"","sources":["../../src/docker/dockerfile-path.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dockerfile-path.d.ts","sourceRoot":"","sources":["../../src/docker/dockerfile-path.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAO1C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAY3E"}
|
|
@@ -2,8 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getDockerfilePath = getDockerfilePath;
|
|
4
4
|
exports.getDockerContextDir = getDockerContextDir;
|
|
5
|
+
exports.getConfigDockerfilePath = getConfigDockerfilePath;
|
|
6
|
+
exports.resolveDockerfile = resolveDockerfile;
|
|
5
7
|
const path_1 = require("path");
|
|
6
8
|
const fs_1 = require("fs");
|
|
9
|
+
const config_manager_1 = require("../config-manager");
|
|
7
10
|
/**
|
|
8
11
|
* Get the path to the Dockerfile included in the npm package.
|
|
9
12
|
* __dirname at runtime is dist/docker/, so we go up two levels to reach the package root.
|
|
@@ -22,4 +25,28 @@ function getDockerfilePath() {
|
|
|
22
25
|
function getDockerContextDir() {
|
|
23
26
|
return (0, path_1.join)(__dirname, '..', '..');
|
|
24
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Get the path to the Dockerfile in the config directory.
|
|
30
|
+
* (~/.ai-support-agent/Dockerfile)
|
|
31
|
+
*/
|
|
32
|
+
function getConfigDockerfilePath() {
|
|
33
|
+
return (0, path_1.join)((0, config_manager_1.getConfigDir)(), 'Dockerfile');
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Resolve which Dockerfile to use for the Docker build.
|
|
37
|
+
* Priority: customPath > configDir/Dockerfile (if exists) > bundled default
|
|
38
|
+
*/
|
|
39
|
+
function resolveDockerfile(customPath) {
|
|
40
|
+
if (customPath) {
|
|
41
|
+
if (!(0, fs_1.existsSync)(customPath)) {
|
|
42
|
+
throw new Error(`Dockerfile not found: ${customPath}`);
|
|
43
|
+
}
|
|
44
|
+
return { dockerfilePath: customPath, contextDir: (0, path_1.dirname)(customPath) };
|
|
45
|
+
}
|
|
46
|
+
const configDockerfile = getConfigDockerfilePath();
|
|
47
|
+
if ((0, fs_1.existsSync)(configDockerfile)) {
|
|
48
|
+
return { dockerfilePath: configDockerfile, contextDir: (0, path_1.dirname)(configDockerfile) };
|
|
49
|
+
}
|
|
50
|
+
return { dockerfilePath: getDockerfilePath(), contextDir: getDockerContextDir() };
|
|
51
|
+
}
|
|
25
52
|
//# sourceMappingURL=dockerfile-path.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dockerfile-path.js","sourceRoot":"","sources":["../../src/docker/dockerfile-path.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"dockerfile-path.js","sourceRoot":"","sources":["../../src/docker/dockerfile-path.ts"],"names":[],"mappings":";;AASA,8CAOC;AAKD,kDAEC;AAMD,0DAEC;AAWD,8CAYC;AAtDD,+BAAoC;AACpC,2BAA+B;AAE/B,sDAAgD;AAEhD;;;GAGG;AACH,SAAgB,iBAAiB;IAC/B,MAAM,WAAW,GAAG,mBAAmB,EAAE,CAAA;IACzC,MAAM,cAAc,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;IAChE,IAAI,CAAC,IAAA,eAAU,EAAC,cAAc,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,yBAAyB,cAAc,EAAE,CAAC,CAAA;IAC5D,CAAC;IACD,OAAO,cAAc,CAAA;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB;IACjC,OAAO,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AACpC,CAAC;AAED;;;GAGG;AACH,SAAgB,uBAAuB;IACrC,OAAO,IAAA,WAAI,EAAC,IAAA,6BAAY,GAAE,EAAE,YAAY,CAAC,CAAA;AAC3C,CAAC;AAOD;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,UAAmB;IACnD,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAA;QACxD,CAAC;QACD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,IAAA,cAAO,EAAC,UAAU,CAAC,EAAE,CAAA;IACxE,CAAC;IACD,MAAM,gBAAgB,GAAG,uBAAuB,EAAE,CAAA;IAClD,IAAI,IAAA,eAAU,EAAC,gBAAgB,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,IAAA,cAAO,EAAC,gBAAgB,CAAC,EAAE,CAAA;IACpF,CAAC;IACD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,EAAE,CAAA;AACnF,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -40,6 +40,7 @@ const auth_commands_1 = require("./cli/auth-commands");
|
|
|
40
40
|
const service_command_1 = require("./cli/service-command");
|
|
41
41
|
const status_command_1 = require("./cli/status-command");
|
|
42
42
|
const set_project_dir_1 = require("./commands/set-project-dir");
|
|
43
|
+
const docker_commands_1 = require("./commands/docker-commands");
|
|
43
44
|
const project_dir_1 = require("./project-dir");
|
|
44
45
|
const validators_1 = require("./cli/validators");
|
|
45
46
|
const constants_1 = require("./constants");
|
|
@@ -65,6 +66,8 @@ program
|
|
|
65
66
|
.option('--no-auto-update', (0, i18n_1.t)('cmd.start.noAutoUpdate'))
|
|
66
67
|
.option('--update-channel <channel>', (0, i18n_1.t)('cmd.start.updateChannel'))
|
|
67
68
|
.option('--no-docker', (0, i18n_1.t)('cmd.start.noDocker'))
|
|
69
|
+
.option('--dockerfile <path>', (0, i18n_1.t)('cmd.start.dockerfile'))
|
|
70
|
+
.option('--no-dockerfile-sync', (0, i18n_1.t)('cmd.start.noDockerfileSync'))
|
|
68
71
|
.action(async (opts) => {
|
|
69
72
|
if (opts.docker) {
|
|
70
73
|
const { runInDocker } = await Promise.resolve().then(() => __importStar(require('./docker/docker-runner')));
|
|
@@ -76,6 +79,8 @@ program
|
|
|
76
79
|
verbose: opts.verbose,
|
|
77
80
|
autoUpdate: opts.autoUpdate,
|
|
78
81
|
updateChannel: opts.updateChannel,
|
|
82
|
+
dockerfile: opts.dockerfile,
|
|
83
|
+
dockerfileSync: opts.dockerfileSync,
|
|
79
84
|
});
|
|
80
85
|
return;
|
|
81
86
|
}
|
|
@@ -173,6 +178,7 @@ program
|
|
|
173
178
|
const { dockerLogin } = await Promise.resolve().then(() => __importStar(require('./docker/docker-runner')));
|
|
174
179
|
dockerLogin();
|
|
175
180
|
});
|
|
181
|
+
(0, docker_commands_1.registerDockerCommands)(program);
|
|
176
182
|
(0, status_command_1.registerStatusCommand)(program);
|
|
177
183
|
(0, service_command_1.registerServiceCommands)(program);
|
|
178
184
|
(0, set_project_dir_1.registerSetProjectDirCommand)(program);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAAmC;AAEnC,iDAA2C;AAC3C,uDAA0D;AAC1D,2DAA+D;AAC/D,yDAA4D;AAC5D,gEAAyE;AACzE,+CAAiE;AACjE,iDAA6E;AAC7E,2CAA2C;AAE3C,uCAAwB;AAExB,qDAIyB;AACzB,iCAAoC;AACpC,qCAAiC;AAEjC,IAAA,eAAQ,GAAE,CAAA;AAEV,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,kBAAkB,CAAC;KACxB,WAAW,CAAC,IAAA,QAAC,EAAC,iBAAiB,CAAC,CAAC;KACjC,OAAO,CAAC,yBAAa,CAAC;KACtB,MAAM,CAAC,eAAe,EAAE,IAAA,QAAC,EAAC,UAAU,CAAC,CAAC,CAAA;AAEzC,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,IAAA,QAAC,EAAC,WAAW,CAAC,CAAC;KAC3B,MAAM,CAAC,iBAAiB,EAAE,IAAA,QAAC,EAAC,iBAAiB,CAAC,CAAC;KAC/C,MAAM,CAAC,iBAAiB,EAAE,IAAA,QAAC,EAAC,kBAAkB,CAAC,CAAC;KAChD,MAAM,CAAC,sBAAsB,EAAE,GAAG,IAAA,QAAC,EAAC,wBAAwB,CAAC,eAAe,EAAE,MAAM,CAAC;KACrF,MAAM,CAAC,2BAA2B,EAAE,IAAA,QAAC,EAAC,6BAA6B,CAAC,EAAE,OAAO,CAAC;KAC9E,MAAM,CAAC,WAAW,EAAE,IAAA,QAAC,EAAC,mBAAmB,CAAC,CAAC;KAC3C,MAAM,CAAC,kBAAkB,EAAE,IAAA,QAAC,EAAC,wBAAwB,CAAC,CAAC;KACvD,MAAM,CAAC,4BAA4B,EAAE,IAAA,QAAC,EAAC,yBAAyB,CAAC,CAAC;KAClE,MAAM,CAAC,aAAa,EAAE,IAAA,QAAC,EAAC,oBAAoB,CAAC,CAAC;KAC9C,MAAM,CAAC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/locales/en.json
CHANGED
|
@@ -125,7 +125,11 @@
|
|
|
125
125
|
"autoUpdate.channelSet": "Update channel set to \"{{channel}}\".",
|
|
126
126
|
|
|
127
127
|
"cmd.start.noDocker": "Run directly on host instead of Docker container",
|
|
128
|
+
"cmd.start.dockerfile": "Path to a custom Dockerfile (overrides config and bundled default)",
|
|
129
|
+
"cmd.start.noDockerfileSync": "Skip writing the default Dockerfile to config dir",
|
|
128
130
|
"cmd.dockerLogin": "Log in to Claude Code inside a Docker container",
|
|
131
|
+
"cmd.dockerDiffDockerfile": "Show diff between a Dockerfile and the bundled default",
|
|
132
|
+
"cmd.dockerDiffDockerfile.arg": "Path to Dockerfile (default: config dir Dockerfile)",
|
|
129
133
|
"docker.notAvailable": "Docker is not available. Make sure Docker Desktop is running.",
|
|
130
134
|
"docker.building": "Building Docker image...",
|
|
131
135
|
"docker.buildComplete": "Docker image build complete",
|
|
@@ -135,6 +139,14 @@
|
|
|
135
139
|
"docker.loginStep1": "Step 1: Run the following in your host terminal to get an OAuth token:",
|
|
136
140
|
"docker.loginStep2": "Step 2: Set the token as an environment variable and start in Docker mode:",
|
|
137
141
|
"docker.loginStep3": "The token is long-lived. Add the export to .bashrc or .zshrc to persist it.",
|
|
142
|
+
"docker.usingCustomDockerfile": "Using custom Dockerfile: {{path}}",
|
|
143
|
+
"docker.dockerfileSynced": "Default Dockerfile written to: {{path}}",
|
|
144
|
+
"docker.dockerfileSyncFailed": "Failed to write Dockerfile to config dir: {{message}}",
|
|
145
|
+
"docker.diffNoTarget": "No Dockerfile to diff. Specify a path or set dockerfilePath in config.",
|
|
146
|
+
"docker.diffTargetNotFound": "Dockerfile not found: {{path}}",
|
|
147
|
+
"docker.diffIdentical": "Dockerfile is identical to the bundled default.",
|
|
148
|
+
"docker.diffDone": "Diff complete.",
|
|
149
|
+
"docker.diffDefaultError": "Failed to read bundled Dockerfile: {{message}}",
|
|
138
150
|
|
|
139
151
|
"cmd.service": "Manage background service",
|
|
140
152
|
"cmd.service.install": "Install as a background service (Docker mode by default)",
|
package/dist/locales/ja.json
CHANGED
|
@@ -125,7 +125,11 @@
|
|
|
125
125
|
"autoUpdate.channelSet": "更新チャネルを \"{{channel}}\" に設定しました。",
|
|
126
126
|
|
|
127
127
|
"cmd.start.noDocker": "Dockerコンテナを使わずホスト上で直接実行",
|
|
128
|
+
"cmd.start.dockerfile": "カスタムDockerfileのパス(設定ファイルおよびデフォルトより優先)",
|
|
129
|
+
"cmd.start.noDockerfileSync": "デフォルトDockerfileの設定ディレクトリへの書き出しをスキップ",
|
|
128
130
|
"cmd.dockerLogin": "Dockerコンテナ内でClaude Codeにログイン",
|
|
131
|
+
"cmd.dockerDiffDockerfile": "DockerfileとバンドルデフォルトのDockerfileの差分を表示",
|
|
132
|
+
"cmd.dockerDiffDockerfile.arg": "DockerfileのパスPath(省略時: 設定ディレクトリのDockerfile)",
|
|
129
133
|
"docker.notAvailable": "Dockerが利用できません。Docker Desktopが起動していることを確認してください。",
|
|
130
134
|
"docker.building": "Dockerイメージをビルド中...",
|
|
131
135
|
"docker.buildComplete": "Dockerイメージのビルドが完了しました",
|
|
@@ -135,6 +139,14 @@
|
|
|
135
139
|
"docker.loginStep1": "Step 1: ホスト側のターミナルで以下を実行し、OAuthトークンを取得してください:",
|
|
136
140
|
"docker.loginStep2": "Step 2: 取得したトークンを環境変数に設定してDockerモードで起動:",
|
|
137
141
|
"docker.loginStep3": "トークンは長期間有効です。毎回設定が必要な場合は .bashrc や .zshrc に export を追加してください。",
|
|
142
|
+
"docker.usingCustomDockerfile": "カスタムDockerfileを使用: {{path}}",
|
|
143
|
+
"docker.dockerfileSynced": "デフォルトDockerfileを書き出しました: {{path}}",
|
|
144
|
+
"docker.dockerfileSyncFailed": "Dockerfileの書き出しに失敗しました: {{message}}",
|
|
145
|
+
"docker.diffNoTarget": "比較対象のDockerfileがありません。パスを指定するか設定にdockerfilePathを設定してください。",
|
|
146
|
+
"docker.diffTargetNotFound": "Dockerfileが見つかりません: {{path}}",
|
|
147
|
+
"docker.diffIdentical": "DockerfileはバンドルデフォルトのDockerfileと同一です。",
|
|
148
|
+
"docker.diffDone": "差分表示が完了しました。",
|
|
149
|
+
"docker.diffDefaultError": "バンドルDockerfileの読み込みに失敗しました: {{message}}",
|
|
138
150
|
|
|
139
151
|
"cmd.service": "バックグラウンドサービスの管理",
|
|
140
152
|
"cmd.service.install": "バックグラウンドサービスとしてインストール(デフォルトはDockerモード)",
|
|
@@ -125,7 +125,11 @@
|
|
|
125
125
|
"autoUpdate.channelSet": "Update channel set to \"{{channel}}\".",
|
|
126
126
|
|
|
127
127
|
"cmd.start.noDocker": "Run directly on host instead of Docker container",
|
|
128
|
+
"cmd.start.dockerfile": "Path to a custom Dockerfile (overrides config and bundled default)",
|
|
129
|
+
"cmd.start.noDockerfileSync": "Skip writing the default Dockerfile to config dir",
|
|
128
130
|
"cmd.dockerLogin": "Log in to Claude Code inside a Docker container",
|
|
131
|
+
"cmd.dockerDiffDockerfile": "Show diff between a Dockerfile and the bundled default",
|
|
132
|
+
"cmd.dockerDiffDockerfile.arg": "Path to Dockerfile (default: config dir Dockerfile)",
|
|
129
133
|
"docker.notAvailable": "Docker is not available. Make sure Docker Desktop is running.",
|
|
130
134
|
"docker.building": "Building Docker image...",
|
|
131
135
|
"docker.buildComplete": "Docker image build complete",
|
|
@@ -135,6 +139,14 @@
|
|
|
135
139
|
"docker.loginStep1": "Step 1: Run the following in your host terminal to get an OAuth token:",
|
|
136
140
|
"docker.loginStep2": "Step 2: Set the token as an environment variable and start in Docker mode:",
|
|
137
141
|
"docker.loginStep3": "The token is long-lived. Add the export to .bashrc or .zshrc to persist it.",
|
|
142
|
+
"docker.usingCustomDockerfile": "Using custom Dockerfile: {{path}}",
|
|
143
|
+
"docker.dockerfileSynced": "Default Dockerfile written to: {{path}}",
|
|
144
|
+
"docker.dockerfileSyncFailed": "Failed to write Dockerfile to config dir: {{message}}",
|
|
145
|
+
"docker.diffNoTarget": "No Dockerfile to diff. Specify a path or set dockerfilePath in config.",
|
|
146
|
+
"docker.diffTargetNotFound": "Dockerfile not found: {{path}}",
|
|
147
|
+
"docker.diffIdentical": "Dockerfile is identical to the bundled default.",
|
|
148
|
+
"docker.diffDone": "Diff complete.",
|
|
149
|
+
"docker.diffDefaultError": "Failed to read bundled Dockerfile: {{message}}",
|
|
138
150
|
|
|
139
151
|
"cmd.service": "Manage background service",
|
|
140
152
|
"cmd.service.install": "Install as a background service (Docker mode by default)",
|
|
@@ -125,7 +125,11 @@
|
|
|
125
125
|
"autoUpdate.channelSet": "更新チャネルを \"{{channel}}\" に設定しました。",
|
|
126
126
|
|
|
127
127
|
"cmd.start.noDocker": "Dockerコンテナを使わずホスト上で直接実行",
|
|
128
|
+
"cmd.start.dockerfile": "カスタムDockerfileのパス(設定ファイルおよびデフォルトより優先)",
|
|
129
|
+
"cmd.start.noDockerfileSync": "デフォルトDockerfileの設定ディレクトリへの書き出しをスキップ",
|
|
128
130
|
"cmd.dockerLogin": "Dockerコンテナ内でClaude Codeにログイン",
|
|
131
|
+
"cmd.dockerDiffDockerfile": "DockerfileとバンドルデフォルトのDockerfileの差分を表示",
|
|
132
|
+
"cmd.dockerDiffDockerfile.arg": "DockerfileのパスPath(省略時: 設定ディレクトリのDockerfile)",
|
|
129
133
|
"docker.notAvailable": "Dockerが利用できません。Docker Desktopが起動していることを確認してください。",
|
|
130
134
|
"docker.building": "Dockerイメージをビルド中...",
|
|
131
135
|
"docker.buildComplete": "Dockerイメージのビルドが完了しました",
|
|
@@ -135,6 +139,14 @@
|
|
|
135
139
|
"docker.loginStep1": "Step 1: ホスト側のターミナルで以下を実行し、OAuthトークンを取得してください:",
|
|
136
140
|
"docker.loginStep2": "Step 2: 取得したトークンを環境変数に設定してDockerモードで起動:",
|
|
137
141
|
"docker.loginStep3": "トークンは長期間有効です。毎回設定が必要な場合は .bashrc や .zshrc に export を追加してください。",
|
|
142
|
+
"docker.usingCustomDockerfile": "カスタムDockerfileを使用: {{path}}",
|
|
143
|
+
"docker.dockerfileSynced": "デフォルトDockerfileを書き出しました: {{path}}",
|
|
144
|
+
"docker.dockerfileSyncFailed": "Dockerfileの書き出しに失敗しました: {{message}}",
|
|
145
|
+
"docker.diffNoTarget": "比較対象のDockerfileがありません。パスを指定するか設定にdockerfilePathを設定してください。",
|
|
146
|
+
"docker.diffTargetNotFound": "Dockerfileが見つかりません: {{path}}",
|
|
147
|
+
"docker.diffIdentical": "DockerfileはバンドルデフォルトのDockerfileと同一です。",
|
|
148
|
+
"docker.diffDone": "差分表示が完了しました。",
|
|
149
|
+
"docker.diffDefaultError": "バンドルDockerfileの読み込みに失敗しました: {{message}}",
|
|
138
150
|
|
|
139
151
|
"cmd.service": "バックグラウンドサービスの管理",
|
|
140
152
|
"cmd.service.install": "バックグラウンドサービスとしてインストール(デフォルトはDockerモード)",
|
package/dist/types/config.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AAExD,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,CAAA;AAE9D,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,cAAc,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,OAAO,CAAA;IACpB,OAAO,EAAE,cAAc,CAAA;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,KAAK,CAAA;AAEjD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAA;IAChC,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AAExD,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,CAAA;AAE9D,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,cAAc,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,OAAO,CAAA;IACpB,OAAO,EAAE,cAAc,CAAA;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,KAAK,CAAA;AAEjD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAA;IAChC,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compute a unified diff between two text strings (Myers diff algorithm).
|
|
3
|
+
* Returns a string in unified diff format compatible with `diff -u`.
|
|
4
|
+
*
|
|
5
|
+
* @param oldText - Original text
|
|
6
|
+
* @param newText - Modified text
|
|
7
|
+
* @param oldLabel - Label for the original file (shown after ---)
|
|
8
|
+
* @param newLabel - Label for the modified file (shown after +++)
|
|
9
|
+
* @param contextLines - Number of context lines around each change (default: 3)
|
|
10
|
+
*/
|
|
11
|
+
export declare function computeUnifiedDiff(oldText: string, newText: string, oldLabel: string, newLabel: string, contextLines?: number): string;
|
|
12
|
+
//# sourceMappingURL=unified-diff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-diff.d.ts","sourceRoot":"","sources":["../../src/utils/unified-diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,YAAY,SAAI,GACf,MAAM,CAYR"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.computeUnifiedDiff = computeUnifiedDiff;
|
|
4
|
+
/**
|
|
5
|
+
* Compute a unified diff between two text strings (Myers diff algorithm).
|
|
6
|
+
* Returns a string in unified diff format compatible with `diff -u`.
|
|
7
|
+
*
|
|
8
|
+
* @param oldText - Original text
|
|
9
|
+
* @param newText - Modified text
|
|
10
|
+
* @param oldLabel - Label for the original file (shown after ---)
|
|
11
|
+
* @param newLabel - Label for the modified file (shown after +++)
|
|
12
|
+
* @param contextLines - Number of context lines around each change (default: 3)
|
|
13
|
+
*/
|
|
14
|
+
function computeUnifiedDiff(oldText, newText, oldLabel, newLabel, contextLines = 3) {
|
|
15
|
+
if (oldText === newText)
|
|
16
|
+
return '';
|
|
17
|
+
const oldLines = oldText === '' ? [] : oldText.split('\n');
|
|
18
|
+
const newLines = newText === '' ? [] : newText.split('\n');
|
|
19
|
+
const edits = computeEdits(oldLines, newLines);
|
|
20
|
+
const hunks = buildHunks(edits, oldLines, newLines, contextLines);
|
|
21
|
+
if (hunks.length === 0)
|
|
22
|
+
return '';
|
|
23
|
+
return [`--- ${oldLabel}`, `+++ ${newLabel}`, ...hunks].join('\n');
|
|
24
|
+
}
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
// Myers diff — forward algorithm producing an edit script
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
function computeEdits(oldLines, newLines) {
|
|
29
|
+
const N = oldLines.length;
|
|
30
|
+
const M = newLines.length;
|
|
31
|
+
if (N === 0) {
|
|
32
|
+
return newLines.map((_, i) => ({ type: 'insert', oldIdx: -1, newIdx: i }));
|
|
33
|
+
}
|
|
34
|
+
if (M === 0) {
|
|
35
|
+
return oldLines.map((_, i) => ({ type: 'delete', oldIdx: i, newIdx: -1 }));
|
|
36
|
+
}
|
|
37
|
+
const MAX = N + M;
|
|
38
|
+
// v[k] stores the furthest reaching x-coordinate on diagonal k
|
|
39
|
+
// We use an offset so negative k values can index into the array
|
|
40
|
+
const offset = MAX;
|
|
41
|
+
const v = new Array(2 * MAX + 1).fill(0);
|
|
42
|
+
// trace[d] = snapshot of v array after d edits
|
|
43
|
+
const trace = [];
|
|
44
|
+
outer: for (let d = 0; d <= MAX; d++) {
|
|
45
|
+
trace.push([...v]);
|
|
46
|
+
for (let k = -d; k <= d; k += 2) {
|
|
47
|
+
const ki = k + offset;
|
|
48
|
+
let x;
|
|
49
|
+
if (k === -d || (k !== d && v[ki - 1] < v[ki + 1])) {
|
|
50
|
+
x = v[ki + 1]; // move down (insert)
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
x = v[ki - 1] + 1; // move right (delete)
|
|
54
|
+
}
|
|
55
|
+
let y = x - k;
|
|
56
|
+
while (x < N && y < M && oldLines[x] === newLines[y]) {
|
|
57
|
+
x++;
|
|
58
|
+
y++;
|
|
59
|
+
}
|
|
60
|
+
v[ki] = x;
|
|
61
|
+
if (x >= N && y >= M) {
|
|
62
|
+
trace.push([...v]);
|
|
63
|
+
break outer;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return backtrace(trace, oldLines, newLines, offset);
|
|
68
|
+
}
|
|
69
|
+
function backtrace(trace, oldLines, newLines, offset) {
|
|
70
|
+
const edits = [];
|
|
71
|
+
let x = oldLines.length;
|
|
72
|
+
let y = newLines.length;
|
|
73
|
+
for (let d = trace.length - 1; d >= 0; d--) {
|
|
74
|
+
const v = trace[d];
|
|
75
|
+
const k = x - y;
|
|
76
|
+
const ki = k + offset;
|
|
77
|
+
let prevK;
|
|
78
|
+
if (k === -d || (k !== d && v[ki - 1] < v[ki + 1])) {
|
|
79
|
+
prevK = k + 1; // came from insert
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
prevK = k - 1; // came from delete
|
|
83
|
+
}
|
|
84
|
+
const prevX = v[prevK + offset];
|
|
85
|
+
const prevY = prevX - prevK;
|
|
86
|
+
// Walk back diagonals (equal lines)
|
|
87
|
+
while (x > prevX && y > prevY) {
|
|
88
|
+
x--;
|
|
89
|
+
y--;
|
|
90
|
+
edits.push({ type: 'equal', oldIdx: x, newIdx: y });
|
|
91
|
+
}
|
|
92
|
+
if (d > 0) {
|
|
93
|
+
if (x === prevX) {
|
|
94
|
+
// insert
|
|
95
|
+
y--;
|
|
96
|
+
edits.push({ type: 'insert', oldIdx: -1, newIdx: y });
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
// delete
|
|
100
|
+
x--;
|
|
101
|
+
edits.push({ type: 'delete', oldIdx: x, newIdx: -1 });
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return edits.reverse();
|
|
106
|
+
}
|
|
107
|
+
// ---------------------------------------------------------------------------
|
|
108
|
+
// Hunk construction
|
|
109
|
+
// ---------------------------------------------------------------------------
|
|
110
|
+
function buildHunks(edits, oldLines, newLines, contextLines) {
|
|
111
|
+
if (edits.length === 0)
|
|
112
|
+
return [];
|
|
113
|
+
// Collect indices of changed (non-equal) edits
|
|
114
|
+
const changedIndices = [];
|
|
115
|
+
for (let i = 0; i < edits.length; i++) {
|
|
116
|
+
if (edits[i].type !== 'equal')
|
|
117
|
+
changedIndices.push(i);
|
|
118
|
+
}
|
|
119
|
+
if (changedIndices.length === 0)
|
|
120
|
+
return [];
|
|
121
|
+
// Group changed indices into hunks with context windows
|
|
122
|
+
const groups = []; // [startEditIdx, endEditIdx]
|
|
123
|
+
let groupStart = Math.max(0, changedIndices[0] - contextLines);
|
|
124
|
+
let groupEnd = Math.min(edits.length - 1, changedIndices[0] + contextLines);
|
|
125
|
+
for (let i = 1; i < changedIndices.length; i++) {
|
|
126
|
+
const ci = changedIndices[i];
|
|
127
|
+
const nextStart = Math.max(0, ci - contextLines);
|
|
128
|
+
if (nextStart <= groupEnd + 1) {
|
|
129
|
+
// Merge with current group
|
|
130
|
+
groupEnd = Math.min(edits.length - 1, ci + contextLines);
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
groups.push([groupStart, groupEnd]);
|
|
134
|
+
groupStart = nextStart;
|
|
135
|
+
groupEnd = Math.min(edits.length - 1, ci + contextLines);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
groups.push([groupStart, groupEnd]);
|
|
139
|
+
const result = [];
|
|
140
|
+
for (const [start, end] of groups) {
|
|
141
|
+
const hunkEdits = edits.slice(start, end + 1);
|
|
142
|
+
// Calculate old/new start line numbers (1-based)
|
|
143
|
+
const firstOld = hunkEdits.find((e) => e.oldIdx >= 0);
|
|
144
|
+
const firstNew = hunkEdits.find((e) => e.newIdx >= 0);
|
|
145
|
+
const oldStart = firstOld ? firstOld.oldIdx + 1 : 1;
|
|
146
|
+
const newStart = firstNew ? firstNew.newIdx + 1 : 1;
|
|
147
|
+
const oldCount = hunkEdits.filter((e) => e.type !== 'insert').length;
|
|
148
|
+
const newCount = hunkEdits.filter((e) => e.type !== 'delete').length;
|
|
149
|
+
const oldRange = oldCount === 1 ? `${oldStart}` : `${oldStart},${oldCount}`;
|
|
150
|
+
const newRange = newCount === 1 ? `${newStart}` : `${newStart},${newCount}`;
|
|
151
|
+
result.push(`@@ -${oldRange} +${newRange} @@`);
|
|
152
|
+
for (const edit of hunkEdits) {
|
|
153
|
+
if (edit.type === 'equal') {
|
|
154
|
+
result.push(` ${oldLines[edit.oldIdx]}`);
|
|
155
|
+
}
|
|
156
|
+
else if (edit.type === 'delete') {
|
|
157
|
+
result.push(`-${oldLines[edit.oldIdx]}`);
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
result.push(`+${newLines[edit.newIdx]}`);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
return result;
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=unified-diff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-diff.js","sourceRoot":"","sources":["../../src/utils/unified-diff.ts"],"names":[],"mappings":";;AAUA,gDAkBC;AA5BD;;;;;;;;;GASG;AACH,SAAgB,kBAAkB,CAChC,OAAe,EACf,OAAe,EACf,QAAgB,EAChB,QAAgB,EAChB,YAAY,GAAG,CAAC;IAEhB,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,EAAE,CAAA;IAElC,MAAM,QAAQ,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC1D,MAAM,QAAQ,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAE1D,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;IAEjE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEjC,OAAO,CAAC,OAAO,QAAQ,EAAE,EAAE,OAAO,QAAQ,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACpE,CAAC;AAcD,8EAA8E;AAC9E,0DAA0D;AAC1D,8EAA8E;AAE9E,SAAS,YAAY,CAAC,QAAkB,EAAE,QAAkB;IAC1D,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAA;IACzB,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAA;IAEzB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACrF,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACrF,CAAC;IAED,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;IACjB,+DAA+D;IAC/D,iEAAiE;IACjE,MAAM,MAAM,GAAG,GAAG,CAAA;IAClB,MAAM,CAAC,GAAa,IAAI,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAElD,+CAA+C;IAC/C,MAAM,KAAK,GAAe,EAAE,CAAA;IAE5B,KAAK,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAA;YACrB,IAAI,CAAS,CAAA;YACb,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA,CAAC,qBAAqB;YACrC,CAAC;iBAAM,CAAC;gBACN,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA,CAAC,sBAAsB;YAC1C,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,CAAC,EAAE,CAAA;gBACH,CAAC,EAAE,CAAA;YACL,CAAC;YACD,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;YACT,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBAClB,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;AACrD,CAAC;AAED,SAAS,SAAS,CAChB,KAAiB,EACjB,QAAkB,EAClB,QAAkB,EAClB,MAAc;IAEd,MAAM,KAAK,GAAW,EAAE,CAAA;IACxB,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAA;IACvB,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAA;IAEvB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAClB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACf,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAA;QAErB,IAAI,KAAa,CAAA;QACjB,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA,CAAC,mBAAmB;QACnC,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA,CAAC,mBAAmB;QACnC,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAA;QAC/B,MAAM,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;QAE3B,oCAAoC;QACpC,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;YAC9B,CAAC,EAAE,CAAA;YACH,CAAC,EAAE,CAAA;YACH,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;QACrD,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;gBAChB,SAAS;gBACT,CAAC,EAAE,CAAA;gBACH,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;YACvD,CAAC;iBAAM,CAAC;gBACN,SAAS;gBACT,CAAC,EAAE,CAAA;gBACH,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,OAAO,EAAE,CAAA;AACxB,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,SAAS,UAAU,CACjB,KAAa,EACb,QAAkB,EAClB,QAAkB,EAClB,YAAoB;IAEpB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEjC,+CAA+C;IAC/C,MAAM,cAAc,GAAa,EAAE,CAAA;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACvD,CAAC;IACD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAE1C,wDAAwD;IACxD,MAAM,MAAM,GAA4B,EAAE,CAAA,CAAC,6BAA6B;IACxE,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAA;IAC9D,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAA;IAE3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,YAAY,CAAC,CAAA;QAChD,IAAI,SAAS,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC9B,2BAA2B;YAC3B,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,YAAY,CAAC,CAAA;QAC1D,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;YACnC,UAAU,GAAG,SAAS,CAAA;YACtB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,YAAY,CAAC,CAAA;QAC1D,CAAC;IACH,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEnC,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;QAE7C,iDAAiD;QACjD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAA;QACrD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAA;QACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAEnD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAA;QACpE,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAA;QAEpE,MAAM,QAAQ,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAA;QAC3E,MAAM,QAAQ,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAA;QAC3E,MAAM,CAAC,IAAI,CAAC,OAAO,QAAQ,KAAK,QAAQ,KAAK,CAAC,CAAA;QAE9C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC1C,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC1C,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|