@kaitranntt/ccs 7.61.1-dev.3 → 7.61.1-dev.5
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/cliproxy/binary/installer.d.ts.map +1 -1
- package/dist/cliproxy/binary/installer.js +32 -7
- package/dist/cliproxy/binary/installer.js.map +1 -1
- package/dist/docker/docker-bootstrap.js +18 -0
- package/dist/docker/docker-bootstrap.js.map +1 -1
- package/dist/docker/docker-executor.d.ts.map +1 -1
- package/dist/docker/docker-executor.js +16 -11
- package/dist/docker/docker-executor.js.map +1 -1
- package/dist/web-server/health/cliproxy-checks.d.ts +4 -0
- package/dist/web-server/health/cliproxy-checks.d.ts.map +1 -1
- package/dist/web-server/health/cliproxy-checks.js +29 -14
- package/dist/web-server/health/cliproxy-checks.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/binary/installer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EACL,cAAc,EAKf,MAAM,sBAAsB,CAAC;AAQ9B;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,mBAAmB,EAC3B,OAAO,UAAQ,GACd,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/binary/installer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EACL,cAAc,EAKf,MAAM,sBAAsB,CAAC;AAQ9B;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,mBAAmB,EAC3B,OAAO,UAAQ,GACd,OAAO,CAAC,IAAI,CAAC,CAkFf;AAED,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,+CAA+C;AAC/C,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,UAAQ,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAgB9F;AAED,sBAAsB;AACtB,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAGhF;AAED,6BAA6B;AAC7B,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAErF;AAED,mCAAmC;AACnC,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC;IACT,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IAC5C,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,CAAC,CAQR"}
|
|
@@ -47,12 +47,28 @@ async function downloadAndInstall(config, verbose = false) {
|
|
|
47
47
|
const checksumsUrl = (0, platform_detector_1.getChecksumsUrl)(config.version, backend);
|
|
48
48
|
const backendLabel = backend === 'plus' ? 'CLIProxy Plus' : 'CLIProxy';
|
|
49
49
|
fs.mkdirSync(config.binPath, { recursive: true });
|
|
50
|
-
// Delete existing binary before install to prevent mismatched binaries
|
|
50
|
+
// Delete existing binary before install to prevent mismatched binaries.
|
|
51
|
+
// Abort if binary is currently running (ETXTBSY) — cannot replace in-use binary.
|
|
52
|
+
// Happens in Docker when dashboard tries to update while bootstrap's instance is active.
|
|
51
53
|
const existingBinary = path.join(config.binPath, (0, platform_detector_1.getExecutableName)(backend));
|
|
52
54
|
if (fs.existsSync(existingBinary)) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
55
|
+
try {
|
|
56
|
+
fs.unlinkSync(existingBinary);
|
|
57
|
+
if (verbose)
|
|
58
|
+
console.error(`[cliproxy] Removed existing binary: ${existingBinary}`);
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
const code = error instanceof Error && 'code' in error ? error.code : '';
|
|
62
|
+
// ETXTBSY: Linux-specific error when unlinking a running executable.
|
|
63
|
+
// EBUSY on Windows may mean something different (mount point, etc.),
|
|
64
|
+
// so only treat ETXTBSY as "binary in use" to avoid misleading messages.
|
|
65
|
+
if (code === 'ETXTBSY') {
|
|
66
|
+
if (verbose)
|
|
67
|
+
console.error(`[cliproxy] Binary is running, cannot replace: ${existingBinary}`);
|
|
68
|
+
throw new Error('CLIProxy binary is currently running and cannot be replaced. Restart the container to apply the update.');
|
|
69
|
+
}
|
|
70
|
+
throw error;
|
|
71
|
+
}
|
|
56
72
|
}
|
|
57
73
|
const archivePath = path.join(config.binPath, `cliproxy-archive.${platform.extension}`);
|
|
58
74
|
const spinner = new progress_indicator_1.ProgressIndicator(`Downloading ${backendLabel} v${config.version}`);
|
|
@@ -98,9 +114,18 @@ function deleteBinary(binPath, verbose = false, backend) {
|
|
|
98
114
|
const effectiveBackend = backend ?? platform_detector_1.DEFAULT_BACKEND;
|
|
99
115
|
const binaryPath = path.join(binPath, (0, platform_detector_1.getExecutableName)(effectiveBackend));
|
|
100
116
|
if (fs.existsSync(binaryPath)) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
117
|
+
try {
|
|
118
|
+
fs.unlinkSync(binaryPath);
|
|
119
|
+
if (verbose)
|
|
120
|
+
console.error(`[cliproxy] Deleted: ${binaryPath}`);
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
const code = error instanceof Error && 'code' in error ? error.code : '';
|
|
124
|
+
if (code === 'ETXTBSY') {
|
|
125
|
+
throw new Error('CLIProxy binary is currently running and cannot be deleted.');
|
|
126
|
+
}
|
|
127
|
+
throw error;
|
|
128
|
+
}
|
|
104
129
|
}
|
|
105
130
|
}
|
|
106
131
|
exports.deleteBinary = deleteBinary;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../../../src/cliproxy/binary/installer.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAE7B,4DAM8B;AAC9B,6CAAiD;AACjD,yCAA6D;AAC7D,2CAA6C;AAC7C,mDAAwD;AACxD,uEAAmE;AACnE,uCAAoC;AAEpC;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACtC,MAA2B,EAC3B,OAAO,GAAG,KAAK;IAEf,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,mCAAe,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAA,kCAAc,EAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,IAAA,kCAAc,EAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,IAAA,mCAAe,EAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC;IAEvE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAElD,
|
|
1
|
+
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../../../src/cliproxy/binary/installer.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ const binary_manager_1 = require("../cliproxy/binary-manager");
|
|
|
5
5
|
const config_generator_1 = require("../cliproxy/config-generator");
|
|
6
6
|
const port_manager_1 = require("../cliproxy/config/port-manager");
|
|
7
7
|
const path_resolver_1 = require("../cliproxy/config/path-resolver");
|
|
8
|
+
const session_tracker_1 = require("../cliproxy/session-tracker");
|
|
9
|
+
const binary_manager_2 = require("../cliproxy/binary-manager");
|
|
8
10
|
async function prepareIntegratedRuntime() {
|
|
9
11
|
const binaryPath = await (0, binary_manager_1.ensureCLIProxyBinary)(false);
|
|
10
12
|
const configPath = !(0, config_generator_1.configExists)(port_manager_1.CLIPROXY_DEFAULT_PORT)
|
|
@@ -24,8 +26,24 @@ async function runCliproxy() {
|
|
|
24
26
|
WRITABLE_PATH: (0, config_generator_1.getCliproxyWritablePath)(),
|
|
25
27
|
},
|
|
26
28
|
});
|
|
29
|
+
// Register session lock so dashboard can detect the running proxy
|
|
30
|
+
let sessionId;
|
|
31
|
+
child.on('spawn', () => {
|
|
32
|
+
if (!child.pid)
|
|
33
|
+
return;
|
|
34
|
+
try {
|
|
35
|
+
const version = (0, binary_manager_2.getInstalledCliproxyVersion)();
|
|
36
|
+
sessionId = (0, session_tracker_1.registerSession)(port_manager_1.CLIPROXY_DEFAULT_PORT, child.pid, version, 'plus');
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
console.error(`[cliproxy] Failed to register session lock: ${err instanceof Error ? err.message : String(err)}`);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
27
42
|
child.on('error', reject);
|
|
28
43
|
child.on('close', (code) => {
|
|
44
|
+
if (sessionId) {
|
|
45
|
+
(0, session_tracker_1.unregisterSession)(sessionId, port_manager_1.CLIPROXY_DEFAULT_PORT);
|
|
46
|
+
}
|
|
29
47
|
resolve(code ?? 1);
|
|
30
48
|
});
|
|
31
49
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-bootstrap.js","sourceRoot":"","sources":["../../src/docker/docker-bootstrap.ts"],"names":[],"mappings":";;AAAA,iDAAsC;AACtC,+DAAkE;AAClE,mEAMsC;AACtC,kEAAwE;AACxE,oEAAyE;AAEzE,KAAK,UAAU,wBAAwB;IACrC,MAAM,UAAU,GAAG,MAAM,IAAA,qCAAoB,EAAC,KAAK,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,CAAC,IAAA,+BAAY,EAAC,oCAAqB,CAAC;QACrD,CAAC,CAAC,IAAA,iCAAc,EAAC,QAAQ,EAAE,oCAAqB,CAAC;QACjD,CAAC,CAAC,IAAA,0CAAuB,GAAE;YACzB,CAAC,CAAC,IAAA,mCAAgB,EAAC,oCAAqB,CAAC;YACzC,CAAC,CAAC,IAAA,qCAAqB,GAAE,CAAC;IAE9B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AACpC,CAAC;AAED,KAAK,UAAU,WAAW;IACxB,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,wBAAwB,EAAE,CAAC;IACpE,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,UAAU,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE;YACxD,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,aAAa,EAAE,IAAA,0CAAuB,GAAE;aACzC;SACF,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAC9E,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,WAAW,EAAE,CAAC;AACvB,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,KAAK,IAAI,EAAE;SACR,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjB,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC9B,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,OAAO,CAAC,KAAK,CACX,yCAAyC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClG,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
1
|
+
{"version":3,"file":"docker-bootstrap.js","sourceRoot":"","sources":["../../src/docker/docker-bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-executor.d.ts","sourceRoot":"","sources":["../../src/docker/docker-executor.ts"],"names":[],"mappings":";AAEA,OAAO,EAIL,KAAK,gBAAgB,EAItB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EAChB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"docker-executor.d.ts","sourceRoot":"","sources":["../../src/docker/docker-executor.ts"],"names":[],"mappings":";AAEA,OAAO,EAIL,KAAK,gBAAgB,EAItB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EAChB,MAAM,gBAAgB,CAAC;AAmBxB,UAAU,oBAAoB;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA+HD,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,sBAAsB,CAAC,EAAE,MAAM,MAAM,CAAC;IACtC,yBAAyB,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IAC3C,OAAO,CAAC,EAAE,CACR,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE,oBAAoB,KAC3B,mBAAmB,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE;AAED,qBAAa,cAAc;IAGb,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;gBAEb,IAAI,GAAE,kBAAuB;IAI1D,SAAS,CAAC,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,mBAAmB;IAI7F,EAAE,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAoBlC,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAIxC,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,kBAAkB;IAaxD,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAcpC,IAAI,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAuB9D,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,UAAU;IA0BlB,OAAO,CAAC,SAAS;YAcH,kBAAkB;IAQhC,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,yBAAyB;IAIjC,OAAO,CAAC,OAAO;YAYD,YAAY;IAI1B,OAAO,CAAC,aAAa;CAgBtB"}
|
|
@@ -29,6 +29,7 @@ const path = __importStar(require("path"));
|
|
|
29
29
|
const docker_assets_1 = require("./docker-assets");
|
|
30
30
|
const LOCAL_DOCKER_SYNC_TIMEOUT_MS = 10000;
|
|
31
31
|
const REMOTE_DOCKER_SYNC_TIMEOUT_MS = 30000;
|
|
32
|
+
const REMOTE_DOCKER_BUILD_TIMEOUT_MS = 300000;
|
|
32
33
|
function quotePosix(value) {
|
|
33
34
|
return `'${value.replace(/'/g, `'\"'\"'`)}'`;
|
|
34
35
|
}
|
|
@@ -148,7 +149,7 @@ class DockerExecutor {
|
|
|
148
149
|
CCS_NPM_VERSION: this.getInstalledCcsVersion(),
|
|
149
150
|
CCS_DASHBOARD_PORT: String(options.port),
|
|
150
151
|
CCS_CLIPROXY_PORT: String(options.proxyPort),
|
|
151
|
-
}), 'Docker stack startup', options);
|
|
152
|
+
}, REMOTE_DOCKER_BUILD_TIMEOUT_MS), 'Docker stack startup', options);
|
|
152
153
|
}
|
|
153
154
|
down(options) {
|
|
154
155
|
this.ensureSuccess(this.runCompose(['down'], options), 'Docker stack shutdown', options);
|
|
@@ -164,7 +165,7 @@ class DockerExecutor {
|
|
|
164
165
|
}
|
|
165
166
|
update(options) {
|
|
166
167
|
const script = 'npm install -g @kaitranntt/ccs@latest --force && ccs cliproxy --latest && supervisorctl -c /etc/supervisord.conf restart ccs-dashboard cliproxy';
|
|
167
|
-
this.ensureSuccess(this.runDocker(['exec', docker_assets_1.DOCKER_CONTAINER_NAME, 'sh', '-lc', script], options), 'Docker stack update', options);
|
|
168
|
+
this.ensureSuccess(this.runDocker(['exec', docker_assets_1.DOCKER_CONTAINER_NAME, 'sh', '-lc', script], options, REMOTE_DOCKER_BUILD_TIMEOUT_MS), 'Docker stack update', options);
|
|
168
169
|
}
|
|
169
170
|
async logs(options) {
|
|
170
171
|
const files = options.service
|
|
@@ -197,7 +198,7 @@ class DockerExecutor {
|
|
|
197
198
|
host,
|
|
198
199
|
});
|
|
199
200
|
}
|
|
200
|
-
runCompose(args, options, env = {}) {
|
|
201
|
+
runCompose(args, options, env = {}, timeoutMs) {
|
|
201
202
|
if (!options.host) {
|
|
202
203
|
const prefix = this.resolveLocalComposePrefix();
|
|
203
204
|
const command = prefix[0];
|
|
@@ -206,20 +207,24 @@ class DockerExecutor {
|
|
|
206
207
|
cwd: path.dirname(this.assets.composeFile),
|
|
207
208
|
env: { ...process.env, ...env },
|
|
208
209
|
remote: false,
|
|
210
|
+
timeoutMs,
|
|
209
211
|
});
|
|
210
212
|
}
|
|
211
|
-
const
|
|
212
|
-
.map(([key, value]) =>
|
|
213
|
-
.join(' ');
|
|
213
|
+
const envExports = Object.entries(env)
|
|
214
|
+
.map(([key, value]) => `export ${key}=${quotePosix(value)}`)
|
|
215
|
+
.join(' && ');
|
|
214
216
|
const composeArgs = ['-f', path.basename(this.assets.composeFile), ...args];
|
|
215
|
-
const remoteCommand = `cd ${docker_assets_1.DOCKER_REMOTE_DIR}
|
|
216
|
-
return this.runSync('ssh', [options.host, remoteCommand], { remote: true });
|
|
217
|
+
const remoteCommand = `cd ${docker_assets_1.DOCKER_REMOTE_DIR}${envExports ? ` && ${envExports}` : ''} && ${buildRemoteComposeCommand(composeArgs)}`;
|
|
218
|
+
return this.runSync('ssh', [options.host, remoteCommand], { remote: true, timeoutMs });
|
|
217
219
|
}
|
|
218
|
-
runDocker(args, options) {
|
|
220
|
+
runDocker(args, options, timeoutMs) {
|
|
219
221
|
if (!options.host) {
|
|
220
|
-
return this.runSync('docker', args);
|
|
222
|
+
return this.runSync('docker', args, { timeoutMs });
|
|
221
223
|
}
|
|
222
|
-
return this.runSync('ssh', [options.host, buildRemoteDockerCommand(args)], {
|
|
224
|
+
return this.runSync('ssh', [options.host, buildRemoteDockerCommand(args)], {
|
|
225
|
+
remote: true,
|
|
226
|
+
timeoutMs,
|
|
227
|
+
});
|
|
223
228
|
}
|
|
224
229
|
async runDockerStreaming(args, options) {
|
|
225
230
|
if (!options.host) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-executor.js","sourceRoot":"","sources":["../../src/docker/docker-executor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAiD;AACjD,2CAA6B;AAC7B,mDAQyB;AAUzB,MAAM,4BAA4B,GAAG,KAAM,CAAC;AAC5C,MAAM,6BAA6B,GAAG,KAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"docker-executor.js","sourceRoot":"","sources":["../../src/docker/docker-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,10 @@ export declare function checkCliproxyConfig(): HealthCheck;
|
|
|
18
18
|
export declare function checkOAuthProviders(): HealthCheck[];
|
|
19
19
|
/**
|
|
20
20
|
* Check CLIProxy port status
|
|
21
|
+
*
|
|
22
|
+
* Uses unified proxy detection (HTTP check first, then session lock, then
|
|
23
|
+
* port-process). This works reliably inside Docker containers where OS-level
|
|
24
|
+
* port detection tools (lsof/ss) may be unavailable.
|
|
21
25
|
*/
|
|
22
26
|
export declare function checkCliproxyPort(): Promise<HealthCheck>;
|
|
23
27
|
//# sourceMappingURL=cliproxy-checks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cliproxy-checks.d.ts","sourceRoot":"","sources":["../../../src/web-server/health/cliproxy-checks.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3C;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,CAgDjD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,CAmBjD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,EAAE,CA4BnD;AAED
|
|
1
|
+
{"version":3,"file":"cliproxy-checks.d.ts","sourceRoot":"","sources":["../../../src/web-server/health/cliproxy-checks.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3C;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,CAgDjD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,CAmBjD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,EAAE,CA4BnD;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC,CA2C9D"}
|
|
@@ -31,7 +31,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
31
31
|
exports.checkCliproxyPort = exports.checkOAuthProviders = exports.checkCliproxyConfig = exports.checkCliproxyBinary = void 0;
|
|
32
32
|
const fs = __importStar(require("fs"));
|
|
33
33
|
const cliproxy_1 = require("../../cliproxy");
|
|
34
|
-
const
|
|
34
|
+
const proxy_detector_1 = require("../../cliproxy/proxy-detector");
|
|
35
35
|
const platform_detector_1 = require("../../cliproxy/platform-detector");
|
|
36
36
|
const version_checker_1 = require("../../cliproxy/binary/version-checker");
|
|
37
37
|
/**
|
|
@@ -137,34 +137,49 @@ function checkOAuthProviders() {
|
|
|
137
137
|
exports.checkOAuthProviders = checkOAuthProviders;
|
|
138
138
|
/**
|
|
139
139
|
* Check CLIProxy port status
|
|
140
|
+
*
|
|
141
|
+
* Uses unified proxy detection (HTTP check first, then session lock, then
|
|
142
|
+
* port-process). This works reliably inside Docker containers where OS-level
|
|
143
|
+
* port detection tools (lsof/ss) may be unavailable.
|
|
140
144
|
*/
|
|
141
145
|
async function checkCliproxyPort() {
|
|
142
|
-
const
|
|
143
|
-
if (
|
|
146
|
+
const status = await (0, proxy_detector_1.detectRunningProxy)(cliproxy_1.CLIPROXY_DEFAULT_PORT);
|
|
147
|
+
if (status.running && status.verified) {
|
|
144
148
|
return {
|
|
145
149
|
id: 'cliproxy-port',
|
|
146
150
|
name: 'CLIProxy Port',
|
|
147
|
-
status: '
|
|
148
|
-
message:
|
|
149
|
-
details:
|
|
151
|
+
status: 'ok',
|
|
152
|
+
message: 'CLIProxy running',
|
|
153
|
+
details: status.pid ? `PID ${status.pid}` : `Detected via ${status.method}`,
|
|
150
154
|
};
|
|
151
155
|
}
|
|
152
|
-
if (
|
|
156
|
+
if (status.running) {
|
|
153
157
|
return {
|
|
154
158
|
id: 'cliproxy-port',
|
|
155
159
|
name: 'CLIProxy Port',
|
|
156
|
-
status: '
|
|
157
|
-
message: 'CLIProxy
|
|
158
|
-
details: `PID ${
|
|
160
|
+
status: 'warning',
|
|
161
|
+
message: 'CLIProxy starting',
|
|
162
|
+
details: status.pid ? `PID ${status.pid}` : `Detected via ${status.method}`,
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
if (status.blocked) {
|
|
166
|
+
return {
|
|
167
|
+
id: 'cliproxy-port',
|
|
168
|
+
name: 'CLIProxy Port',
|
|
169
|
+
status: 'warning',
|
|
170
|
+
message: status.blocker
|
|
171
|
+
? `Occupied by ${status.blocker.processName}`
|
|
172
|
+
: 'Port occupied by unknown process',
|
|
173
|
+
details: status.blocker ? `PID ${status.blocker.pid}` : undefined,
|
|
174
|
+
...(status.blocker && { fix: `Kill process: kill ${status.blocker.pid}` }),
|
|
159
175
|
};
|
|
160
176
|
}
|
|
161
177
|
return {
|
|
162
178
|
id: 'cliproxy-port',
|
|
163
179
|
name: 'CLIProxy Port',
|
|
164
|
-
status: '
|
|
165
|
-
message:
|
|
166
|
-
details:
|
|
167
|
-
fix: `Kill process: kill ${portProcess.pid}`,
|
|
180
|
+
status: 'info',
|
|
181
|
+
message: `${cliproxy_1.CLIPROXY_DEFAULT_PORT} free`,
|
|
182
|
+
details: 'Proxy not running',
|
|
168
183
|
};
|
|
169
184
|
}
|
|
170
185
|
exports.checkCliproxyPort = checkCliproxyPort;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cliproxy-checks.js","sourceRoot":"","sources":["../../../src/web-server/health/cliproxy-checks.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,6CAOwB;AACxB,
|
|
1
|
+
{"version":3,"file":"cliproxy-checks.js","sourceRoot":"","sources":["../../../src/web-server/health/cliproxy-checks.ts"],"names":[],"mappings":"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"}
|