@claudexor/cli 3.3.7-rc.0 → 3.3.8
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/accounts-projection.d.ts.map +1 -1
- package/dist/accounts-projection.js +1 -0
- package/dist/accounts-projection.js.map +1 -1
- package/dist/accounts-services.d.ts +46 -49
- package/dist/accounts-services.d.ts.map +1 -1
- package/dist/accounts-services.js +31 -11
- package/dist/accounts-services.js.map +1 -1
- package/dist/claude-oauth-usage.d.ts.map +1 -1
- package/dist/claude-oauth-usage.js +5 -2
- package/dist/claude-oauth-usage.js.map +1 -1
- package/dist/claudexord.d.ts.map +1 -1
- package/dist/claudexord.js +4 -0
- package/dist/claudexord.js.map +1 -1
- package/dist/command-flags.d.ts.map +1 -1
- package/dist/command-flags.js +1 -0
- package/dist/command-flags.js.map +1 -1
- package/dist/control-services.d.ts +232 -51
- package/dist/control-services.d.ts.map +1 -1
- package/dist/control-services.js +29 -21
- package/dist/control-services.js.map +1 -1
- package/dist/credential-commands.d.ts.map +1 -1
- package/dist/credential-commands.js +6 -9
- package/dist/credential-commands.js.map +1 -1
- package/dist/native-login.d.ts +6 -4
- package/dist/native-login.d.ts.map +1 -1
- package/dist/native-login.js +18 -1
- package/dist/native-login.js.map +1 -1
- package/dist/profile-registration.js +2 -2
- package/dist/profile-registration.js.map +1 -1
- package/dist/registry.d.ts +1 -1
- package/dist/registry.js +1 -1
- package/dist/review-command.d.ts.map +1 -1
- package/dist/review-command.js +27 -1
- package/dist/review-command.js.map +1 -1
- package/dist/setup-client-pty.d.ts.map +1 -1
- package/dist/setup-client-pty.js +5 -1
- package/dist/setup-client-pty.js.map +1 -1
- package/dist/setup-device-code-disclosure.d.ts +4 -2
- package/dist/setup-device-code-disclosure.d.ts.map +1 -1
- package/dist/setup-device-code-disclosure.js +45 -13
- package/dist/setup-device-code-disclosure.js.map +1 -1
- package/dist/setup-job-store.d.ts +2 -2
- package/dist/setup-job-store.d.ts.map +1 -1
- package/dist/setup-job-store.js +1 -0
- package/dist/setup-job-store.js.map +1 -1
- package/dist/setup-job-support.d.ts.map +1 -1
- package/dist/setup-job-support.js +6 -3
- package/dist/setup-job-support.js.map +1 -1
- package/dist/setup-jobs.d.ts +3 -2
- package/dist/setup-jobs.d.ts.map +1 -1
- package/dist/setup-jobs.js +85 -31
- package/dist/setup-jobs.js.map +1 -1
- package/dist/setup-login-completion.d.ts +27 -0
- package/dist/setup-login-completion.d.ts.map +1 -0
- package/dist/setup-login-completion.js +85 -0
- package/dist/setup-login-completion.js.map +1 -0
- package/dist/setup-login-io.d.ts +36 -0
- package/dist/setup-login-io.d.ts.map +1 -0
- package/dist/setup-login-io.js +99 -0
- package/dist/setup-login-io.js.map +1 -0
- package/dist/setup-login-protocol.d.ts +4 -1
- package/dist/setup-login-protocol.d.ts.map +1 -1
- package/dist/setup-login-protocol.js +21 -10
- package/dist/setup-login-protocol.js.map +1 -1
- package/dist/setup-login-runner.d.ts +8 -8
- package/dist/setup-login-runner.d.ts.map +1 -1
- package/dist/setup-login-runner.js +144 -182
- package/dist/setup-login-runner.js.map +1 -1
- package/dist/status-projection-cache.d.ts +57 -0
- package/dist/status-projection-cache.d.ts.map +1 -0
- package/dist/status-projection-cache.js +103 -0
- package/dist/status-projection-cache.js.map +1 -0
- package/package.json +23 -23
|
@@ -4,12 +4,12 @@ import { realpathSync } from "node:fs";
|
|
|
4
4
|
import { createInterface } from "node:readline";
|
|
5
5
|
import { dirname, resolve, sep } from "node:path";
|
|
6
6
|
import { fileURLToPath } from "node:url";
|
|
7
|
-
import { defaultProcessGroupService
|
|
8
|
-
import { redactSecrets } from "@claudexor/util";
|
|
7
|
+
import { defaultProcessGroupService } from "@claudexor/core";
|
|
9
8
|
import { startCodexDeviceLogin, } from "./codex-device-login.js";
|
|
10
9
|
import { terminateAppServerChild } from "./setup-login-child-lifecycle.js";
|
|
11
10
|
export { terminateAppServerChild } from "./setup-login-child-lifecycle.js";
|
|
12
11
|
import { nativeLoginEnv } from "./native-login.js";
|
|
12
|
+
import { C0_CONTROL_RE, TERM_ESCAPE_RE, boundedTail, createTailBuffer, watchLoginInput, } from "./setup-login-io.js";
|
|
13
13
|
import { waitForSetupLoginPermit } from "./setup-login-permit.js";
|
|
14
14
|
import { SETUP_LOGIN_PROTOCOL_VERSION, atomicPrivateJson, readLoginManifest, verifyExecutableEvidence, } from "./setup-login-protocol.js";
|
|
15
15
|
/**
|
|
@@ -39,7 +39,9 @@ export async function runSetupLoginWorker(manifestPath, options = {}) {
|
|
|
39
39
|
const processGroups = options.processGroupService ?? defaultProcessGroupService;
|
|
40
40
|
const captured = processGroups.captureLeader(options.selfPid ?? process.pid);
|
|
41
41
|
if (captured.status !== "known") {
|
|
42
|
-
throw new Error(
|
|
42
|
+
throw new Error(captured.status === "missing"
|
|
43
|
+
? "setup-login worker disappeared before its process group could be captured"
|
|
44
|
+
: `setup-login worker process-group identity is unprovable: ${captured.reason}`);
|
|
43
45
|
}
|
|
44
46
|
const observedAt = now().toISOString();
|
|
45
47
|
const awaitingPermit = {
|
|
@@ -55,25 +57,11 @@ export async function runSetupLoginWorker(manifestPath, options = {}) {
|
|
|
55
57
|
atomicPrivateJson(manifest.statePath, awaitingPermit);
|
|
56
58
|
const permit = await waitForSetupLoginPermit(manifest, now, sleep, observedAt);
|
|
57
59
|
if (!permit) {
|
|
58
|
-
|
|
59
|
-
permitIssuedAt: null,
|
|
60
|
-
commandStarted: false,
|
|
61
|
-
errorCode: "permit_timeout",
|
|
62
|
-
exitCode: null,
|
|
63
|
-
signal: null,
|
|
64
|
-
finishedAt: now().toISOString(),
|
|
65
|
-
});
|
|
60
|
+
persistFailure(manifest, now, null, "permit_timeout");
|
|
66
61
|
return 1;
|
|
67
62
|
}
|
|
68
63
|
if (!verifyExecutableEvidence(manifest.executable)) {
|
|
69
|
-
|
|
70
|
-
permitIssuedAt: permit.issuedAt,
|
|
71
|
-
commandStarted: false,
|
|
72
|
-
errorCode: "spawn_failed",
|
|
73
|
-
exitCode: null,
|
|
74
|
-
signal: null,
|
|
75
|
-
finishedAt: now().toISOString(),
|
|
76
|
-
});
|
|
64
|
+
persistFailure(manifest, now, permit.issuedAt, "spawn_failed");
|
|
77
65
|
return 1;
|
|
78
66
|
}
|
|
79
67
|
atomicPrivateJson(manifest.statePath, { ...awaitingPermit, stage: "running" });
|
|
@@ -84,39 +72,62 @@ export async function runSetupLoginWorker(manifestPath, options = {}) {
|
|
|
84
72
|
if (manifest.loginMode === "device_code") {
|
|
85
73
|
return runDeviceCodeLogin(manifest, permit, { now, spawnProcess });
|
|
86
74
|
}
|
|
87
|
-
//
|
|
88
|
-
//
|
|
89
|
-
//
|
|
90
|
-
// argv error. The probe fails OPEN — a broken probe falls through to the
|
|
91
|
-
// real spawn, whose own failure carries the diagnostics.
|
|
75
|
+
// `--device-auth` exists only since codex 0.46.0: probe `login --help`
|
|
76
|
+
// first so an old CLI yields a typed unsupported outcome. Fails OPEN — a
|
|
77
|
+
// broken probe falls through to the real spawn and its own diagnostics.
|
|
92
78
|
if (manifest.args.includes("--device-auth")) {
|
|
93
79
|
const probe = await probeLoginHelp(manifest.binary, spawnProcess, nativeLoginEnv(manifest.harness, process.env, manifest.profileConfigDir));
|
|
94
80
|
if (probe.completed && !probe.output.includes("--device-auth")) {
|
|
95
|
-
|
|
96
|
-
permitIssuedAt: permit.issuedAt,
|
|
97
|
-
commandStarted: false,
|
|
98
|
-
errorCode: "device_auth_unsupported",
|
|
99
|
-
exitCode: null,
|
|
100
|
-
signal: null,
|
|
101
|
-
finishedAt: now().toISOString(),
|
|
102
|
-
outputTail: boundedTail(probe.output),
|
|
103
|
-
});
|
|
81
|
+
persistFailure(manifest, now, permit.issuedAt, "device_auth_unsupported", boundedTail(probe.output));
|
|
104
82
|
return 1;
|
|
105
83
|
}
|
|
106
84
|
}
|
|
107
|
-
// Keep the group leader alive through TERM so the daemon can
|
|
108
|
-
//
|
|
109
|
-
//
|
|
85
|
+
// Keep the group leader alive through TERM so the daemon can prove identity
|
|
86
|
+
// and escalate stubborn descendants with KILL; the vendor child receives
|
|
87
|
+
// the same group signal directly.
|
|
110
88
|
const holdLeaderForEscalation = () => undefined;
|
|
111
89
|
process.on("SIGTERM", holdLeaderForEscalation);
|
|
112
90
|
process.on("SIGINT", holdLeaderForEscalation);
|
|
113
|
-
//
|
|
114
|
-
//
|
|
115
|
-
//
|
|
116
|
-
|
|
117
|
-
const
|
|
91
|
+
// Daemon-hosted no-Terminal modes (owner directive 2026-08-04): the runner
|
|
92
|
+
// is detached, so nothing may inherit a TTY. with_input additionally pipes
|
|
93
|
+
// stdin so the daemon-delivered one-shot input can reach the vendor CLI.
|
|
94
|
+
const urlDisclosure = manifest.loginMode === "url_disclosure" || manifest.loginMode === "url_disclosure_with_input";
|
|
95
|
+
const withInput = manifest.loginMode === "url_disclosure_with_input";
|
|
96
|
+
// Tee the login output: a bounded ANSI-stripped tail rides the result for
|
|
97
|
+
// failure classification, and (with deviceCodePath) the vendor's OAuth URL
|
|
98
|
+
// is captured into the sidecar (codex tail-tee tradeoff).
|
|
99
|
+
const teeOutput = manifest.harness === "codex" || manifest.deviceCodePath !== undefined || urlDisclosure;
|
|
118
100
|
const tail = createTailBuffer();
|
|
119
|
-
|
|
101
|
+
const urlDetector = createOAuthUrlDetector();
|
|
102
|
+
const discloseOAuthUrl = (chunk) => {
|
|
103
|
+
if (!manifest.deviceCodePath)
|
|
104
|
+
return;
|
|
105
|
+
const url = urlDetector.push(chunk);
|
|
106
|
+
if (!url)
|
|
107
|
+
return;
|
|
108
|
+
try {
|
|
109
|
+
// Same transient-sidecar discipline as the device-code flow: the URL
|
|
110
|
+
// rides ONLY this read-time projection file, never the durable receipt.
|
|
111
|
+
// The with-input flow discloses as oauth_url_input so the card knows to
|
|
112
|
+
// render the one-shot paste field alongside the link.
|
|
113
|
+
atomicPrivateJson(manifest.deviceCodePath, {
|
|
114
|
+
version: SETUP_LOGIN_PROTOCOL_VERSION,
|
|
115
|
+
jobId: manifest.jobId,
|
|
116
|
+
executionId: manifest.executionId,
|
|
117
|
+
flow: withInput ? "oauth_url_input" : "oauth_url",
|
|
118
|
+
verificationUrl: url,
|
|
119
|
+
userCode: "",
|
|
120
|
+
disclosedAt: now().toISOString(),
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
// The disclosure is best-effort context; it must never kill the login.
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
// A spawn throw and a wait rejection wrote the SAME receipt, so they share
|
|
128
|
+
// one catch; de-registering the hold handlers is every exit's finally.
|
|
129
|
+
let result;
|
|
130
|
+
let stopInputWatch;
|
|
120
131
|
try {
|
|
121
132
|
const spawnOptions = {
|
|
122
133
|
cwd: manifest.cwd,
|
|
@@ -124,52 +135,36 @@ export async function runSetupLoginWorker(manifestPath, options = {}) {
|
|
|
124
135
|
// profile's own store; absent = the default vendor store as before.
|
|
125
136
|
env: nativeLoginEnv(manifest.harness, process.env, manifest.profileConfigDir),
|
|
126
137
|
detached: false,
|
|
127
|
-
stdio:
|
|
138
|
+
stdio: urlDisclosure
|
|
139
|
+
? [withInput ? "pipe" : "ignore", "pipe", "pipe"]
|
|
140
|
+
: teeOutput
|
|
141
|
+
? ["inherit", "pipe", "pipe"]
|
|
142
|
+
: "inherit",
|
|
128
143
|
};
|
|
129
|
-
child = spawnProcess(manifest.binary, manifest.args, spawnOptions);
|
|
144
|
+
const child = spawnProcess(manifest.binary, manifest.args, spawnOptions);
|
|
130
145
|
if (teeOutput) {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
tail.push(chunk);
|
|
134
|
-
});
|
|
135
|
-
child.stderr?.on("data", (chunk) => {
|
|
136
|
-
process.stderr.write(chunk);
|
|
146
|
+
const tee = (sink) => (chunk) => {
|
|
147
|
+
sink.write(chunk);
|
|
137
148
|
tail.push(chunk);
|
|
138
|
-
|
|
149
|
+
discloseOAuthUrl(chunk);
|
|
150
|
+
};
|
|
151
|
+
child.stdout?.on("data", tee(process.stdout));
|
|
152
|
+
child.stderr?.on("data", tee(process.stderr));
|
|
153
|
+
}
|
|
154
|
+
if (withInput && manifest.inputPath) {
|
|
155
|
+
stopInputWatch = watchLoginInput(manifest, child, now);
|
|
139
156
|
}
|
|
157
|
+
result = await waitForExit(child);
|
|
140
158
|
}
|
|
141
159
|
catch {
|
|
142
|
-
|
|
143
|
-
permitIssuedAt: permit.issuedAt,
|
|
144
|
-
commandStarted: false,
|
|
145
|
-
errorCode: "spawn_failed",
|
|
146
|
-
exitCode: null,
|
|
147
|
-
signal: null,
|
|
148
|
-
finishedAt: now().toISOString(),
|
|
149
|
-
});
|
|
150
|
-
process.off("SIGTERM", holdLeaderForEscalation);
|
|
151
|
-
process.off("SIGINT", holdLeaderForEscalation);
|
|
160
|
+
persistFailure(manifest, now, permit.issuedAt, "spawn_failed");
|
|
152
161
|
return 1;
|
|
153
162
|
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
result = await waitForExit(child);
|
|
157
|
-
}
|
|
158
|
-
catch {
|
|
159
|
-
persistResult(manifest, {
|
|
160
|
-
permitIssuedAt: permit.issuedAt,
|
|
161
|
-
commandStarted: false,
|
|
162
|
-
errorCode: "spawn_failed",
|
|
163
|
-
exitCode: null,
|
|
164
|
-
signal: null,
|
|
165
|
-
finishedAt: now().toISOString(),
|
|
166
|
-
});
|
|
163
|
+
finally {
|
|
164
|
+
stopInputWatch?.();
|
|
167
165
|
process.off("SIGTERM", holdLeaderForEscalation);
|
|
168
166
|
process.off("SIGINT", holdLeaderForEscalation);
|
|
169
|
-
return 1;
|
|
170
167
|
}
|
|
171
|
-
process.off("SIGTERM", holdLeaderForEscalation);
|
|
172
|
-
process.off("SIGINT", holdLeaderForEscalation);
|
|
173
168
|
const capturedTail = tail.text();
|
|
174
169
|
persistResult(manifest, {
|
|
175
170
|
permitIssuedAt: permit.issuedAt,
|
|
@@ -194,14 +189,7 @@ export async function runSetupLoginWorker(manifestPath, options = {}) {
|
|
|
194
189
|
async function runDeviceCodeLogin(manifest, permit, deps) {
|
|
195
190
|
const { now, spawnProcess } = deps;
|
|
196
191
|
if (!manifest.deviceCodePath || !manifest.appServerFlow) {
|
|
197
|
-
|
|
198
|
-
permitIssuedAt: permit.issuedAt,
|
|
199
|
-
commandStarted: false,
|
|
200
|
-
errorCode: "spawn_failed",
|
|
201
|
-
exitCode: null,
|
|
202
|
-
signal: null,
|
|
203
|
-
finishedAt: now().toISOString(),
|
|
204
|
-
});
|
|
192
|
+
persistFailure(manifest, now, permit.issuedAt, "spawn_failed");
|
|
205
193
|
return 1;
|
|
206
194
|
}
|
|
207
195
|
let child;
|
|
@@ -214,14 +202,7 @@ async function runDeviceCodeLogin(manifest, permit, deps) {
|
|
|
214
202
|
});
|
|
215
203
|
}
|
|
216
204
|
catch {
|
|
217
|
-
|
|
218
|
-
permitIssuedAt: permit.issuedAt,
|
|
219
|
-
commandStarted: false,
|
|
220
|
-
errorCode: "spawn_failed",
|
|
221
|
-
exitCode: null,
|
|
222
|
-
signal: null,
|
|
223
|
-
finishedAt: now().toISOString(),
|
|
224
|
-
});
|
|
205
|
+
persistFailure(manifest, now, permit.issuedAt, "spawn_failed");
|
|
225
206
|
return 1;
|
|
226
207
|
}
|
|
227
208
|
child.stderr?.resume();
|
|
@@ -239,14 +220,7 @@ async function runDeviceCodeLogin(manifest, permit, deps) {
|
|
|
239
220
|
await terminateAppServerChild(child, connection);
|
|
240
221
|
// Typed capability-probe miss: reuse the existing not_supported outcome
|
|
241
222
|
// so the daemon offers the legacy Terminal fallback (no stdout regex).
|
|
242
|
-
|
|
243
|
-
permitIssuedAt: permit.issuedAt,
|
|
244
|
-
commandStarted: false,
|
|
245
|
-
errorCode: "device_auth_unsupported",
|
|
246
|
-
exitCode: null,
|
|
247
|
-
signal: null,
|
|
248
|
-
finishedAt: now().toISOString(),
|
|
249
|
-
});
|
|
223
|
+
persistFailure(manifest, now, permit.issuedAt, "device_auth_unsupported");
|
|
250
224
|
return 1;
|
|
251
225
|
}
|
|
252
226
|
// Transient disclosure sidecar. The userCode rides ONLY this file (read-time
|
|
@@ -262,25 +236,16 @@ async function runDeviceCodeLogin(manifest, permit, deps) {
|
|
|
262
236
|
});
|
|
263
237
|
const outcome = await start.awaitCompletion();
|
|
264
238
|
await terminateAppServerChild(child, connection);
|
|
265
|
-
|
|
266
|
-
persistResult(manifest, {
|
|
267
|
-
permitIssuedAt: permit.issuedAt,
|
|
268
|
-
commandStarted: true,
|
|
269
|
-
exitCode: 0,
|
|
270
|
-
signal: null,
|
|
271
|
-
finishedAt: now().toISOString(),
|
|
272
|
-
});
|
|
273
|
-
return 0;
|
|
274
|
-
}
|
|
239
|
+
const exitCode = outcome.kind === "completed" ? 0 : 1;
|
|
275
240
|
persistResult(manifest, {
|
|
276
241
|
permitIssuedAt: permit.issuedAt,
|
|
277
242
|
commandStarted: true,
|
|
278
|
-
exitCode
|
|
243
|
+
exitCode,
|
|
279
244
|
signal: null,
|
|
280
245
|
finishedAt: now().toISOString(),
|
|
281
246
|
...(outcome.kind === "failed" ? { outputTail: boundedTail(outcome.detail) } : {}),
|
|
282
247
|
});
|
|
283
|
-
return
|
|
248
|
+
return exitCode;
|
|
284
249
|
}
|
|
285
250
|
catch (error) {
|
|
286
251
|
await terminateAppServerChild(child, connection);
|
|
@@ -342,65 +307,52 @@ function appServerConnection(child) {
|
|
|
342
307
|
},
|
|
343
308
|
};
|
|
344
309
|
}
|
|
345
|
-
const
|
|
346
|
-
/**
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
310
|
+
const OAUTH_URL_SIGNATURE_RE = /(oauth|authori[sz]e|login|sign[-_]?in|device|sso|verification|callback)/i;
|
|
311
|
+
/**
|
|
312
|
+
* First sign-in-shaped URL in vendor CLI output, or null. Terminal escapes are
|
|
313
|
+
* stripped first; trailing prose punctuation is trimmed; a docs link in a
|
|
314
|
+
* banner never qualifies.
|
|
315
|
+
*/
|
|
316
|
+
const OAUTH_URL_SCAN_WINDOW = 8_192;
|
|
317
|
+
export function extractOAuthUrl(text) {
|
|
318
|
+
const plain = text.replace(TERM_ESCAPE_RE, "").replace(C0_CONTROL_RE, "");
|
|
319
|
+
for (const match of plain.matchAll(/https:\/\/[^\s"'<>()[\]]+/g)) {
|
|
320
|
+
const url = match[0].replace(/[.,;:!?]+$/, "");
|
|
321
|
+
if (OAUTH_URL_SIGNATURE_RE.test(url))
|
|
322
|
+
return url;
|
|
323
|
+
}
|
|
324
|
+
return null;
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Per-login detector. A match ending at the window's very end may be cut by a
|
|
328
|
+
* chunk boundary (wave finding): it is published PROVISIONALLY, superseded by
|
|
329
|
+
* a longer capture, and FINAL only once output continues past its end.
|
|
330
|
+
*/
|
|
331
|
+
export function createOAuthUrlDetector() {
|
|
332
|
+
let window = "";
|
|
333
|
+
let published = null;
|
|
334
|
+
let finalized = false;
|
|
356
335
|
return {
|
|
357
336
|
push(chunk) {
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
337
|
+
if (finalized)
|
|
338
|
+
return null;
|
|
339
|
+
window = (window + chunk.toString("utf8")).slice(-OAUTH_URL_SCAN_WINDOW);
|
|
340
|
+
const plain = window.replace(TERM_ESCAPE_RE, "").replace(C0_CONTROL_RE, "");
|
|
341
|
+
const match = [...plain.matchAll(/https:\/\/[^\s"'<>()[\]]+/g)].find((m) => OAUTH_URL_SIGNATURE_RE.test(m[0]));
|
|
342
|
+
if (!match)
|
|
343
|
+
return null;
|
|
344
|
+
const url = match[0].replace(/[.,;:!?]+$/, "");
|
|
345
|
+
if ((match.index ?? 0) + match[0].length < plain.length) {
|
|
346
|
+
finalized = true;
|
|
347
|
+
return url === published ? null : url;
|
|
348
|
+
}
|
|
349
|
+
if (published !== null && url.length <= published.length)
|
|
350
|
+
return null;
|
|
351
|
+
published = url;
|
|
352
|
+
return url;
|
|
370
353
|
},
|
|
371
354
|
};
|
|
372
355
|
}
|
|
373
|
-
/** Strip terminal escapes (CSI, OSC, bare ESC, C0 controls except newline),
|
|
374
|
-
* redact secret-like tokens, and clamp - diagnostic evidence entering a
|
|
375
|
-
* durable journal/API surface, never a raw vendor log copy (INV-062). */
|
|
376
|
-
export function boundedTail(text, truncated = false) {
|
|
377
|
-
const plain = text
|
|
378
|
-
// eslint-disable-next-line no-control-regex
|
|
379
|
-
.replace(/\u001b(?:\[[0-9;?]*[ -/]*[@-~]|\][^\u0007\u001b]*(?:\u0007|\u001b\\)?)/g, "")
|
|
380
|
-
// eslint-disable-next-line no-control-regex
|
|
381
|
-
.replace(/[\u0000-\u0009\u000b-\u001f\u007f]/g, "");
|
|
382
|
-
// Redact the complete sanitized input before any boundary is selected. A
|
|
383
|
-
// tail-first clamp can retain only the suffix of a token and thereby remove
|
|
384
|
-
// the prefix the detector needs to recognize it.
|
|
385
|
-
const redacted = redactSecrets(plain);
|
|
386
|
-
// When the source was truncated at the front (ring overflow, or a
|
|
387
|
-
// direct-string caller over the byte budget), a secret split by that
|
|
388
|
-
// boundary could leave a prefix-less fragment redactSecrets cannot anchor.
|
|
389
|
-
// Drop the leading partial token in that case; untruncated output is whole.
|
|
390
|
-
// The caller's flag is authoritative (a ring string is already <= the cap,
|
|
391
|
-
// so a length check here cannot see the cut); direct callers OR in their
|
|
392
|
-
// own over-budget check.
|
|
393
|
-
const bytes = Buffer.from(redacted, "utf8");
|
|
394
|
-
const cut = truncated || bytes.length > OUTPUT_TAIL_BYTES;
|
|
395
|
-
const tail = bytes.subarray(Math.max(0, bytes.length - OUTPUT_TAIL_BYTES));
|
|
396
|
-
let start = 0;
|
|
397
|
-
while (start < tail.length && (tail[start] & 0b1100_0000) === 0b1000_0000)
|
|
398
|
-
start += 1;
|
|
399
|
-
let bounded = tail.subarray(start).toString("utf8");
|
|
400
|
-
if (cut)
|
|
401
|
-
bounded = bounded.replace(/^\S+/, "");
|
|
402
|
-
return bounded.trim();
|
|
403
|
-
}
|
|
404
356
|
/** Run `<binary> login --help` captured, bounded to 10s. Fails OPEN: only a
|
|
405
357
|
* COMPLETED probe whose help text lacks the flag reports unsupported. */
|
|
406
358
|
function probeLoginHelp(binary, spawnProcess, probeEnv) {
|
|
@@ -410,10 +362,10 @@ function probeLoginHelp(binary, spawnProcess, probeEnv) {
|
|
|
410
362
|
let retainedBytes = 0;
|
|
411
363
|
let settled = false;
|
|
412
364
|
const settle = (completed) => {
|
|
413
|
-
if (
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
}
|
|
365
|
+
if (settled)
|
|
366
|
+
return;
|
|
367
|
+
settled = true;
|
|
368
|
+
resolveProbe({ completed, output: Buffer.concat(chunks).toString("utf8") });
|
|
417
369
|
};
|
|
418
370
|
let probe;
|
|
419
371
|
try {
|
|
@@ -476,6 +428,19 @@ function persistResult(manifest, result) {
|
|
|
476
428
|
...result,
|
|
477
429
|
});
|
|
478
430
|
}
|
|
431
|
+
/** Every not-started outcome writes the same receipt: no exit code, no signal.
|
|
432
|
+
* Eight call sites spelled it out; one shape means the next field lands once. */
|
|
433
|
+
function persistFailure(manifest, now, permitIssuedAt, errorCode, outputTail) {
|
|
434
|
+
persistResult(manifest, {
|
|
435
|
+
permitIssuedAt,
|
|
436
|
+
commandStarted: false,
|
|
437
|
+
errorCode,
|
|
438
|
+
exitCode: null,
|
|
439
|
+
signal: null,
|
|
440
|
+
finishedAt: now().toISOString(),
|
|
441
|
+
...(outputTail === undefined ? {} : { outputTail }),
|
|
442
|
+
});
|
|
443
|
+
}
|
|
479
444
|
function waitForExit(child) {
|
|
480
445
|
// `close` fires after the stdio streams drain (wave-1 finding: `exit` can
|
|
481
446
|
// race the final piped data chunks, truncating the captured tail); children
|
|
@@ -485,11 +450,6 @@ function waitForExit(child) {
|
|
|
485
450
|
child.once("close", (code, signal) => resolveExit({ code, signal }));
|
|
486
451
|
});
|
|
487
452
|
}
|
|
488
|
-
function describeCaptureFailure(captured) {
|
|
489
|
-
return captured.status === "missing"
|
|
490
|
-
? "setup-login worker disappeared before its process group could be captured"
|
|
491
|
-
: `setup-login worker process-group identity is unprovable: ${captured.reason}`;
|
|
492
|
-
}
|
|
493
453
|
/** The bootstrap itself never needs model/provider credentials. */
|
|
494
454
|
function runnerBootstrapEnv(source = process.env) {
|
|
495
455
|
const env = {};
|
|
@@ -501,11 +461,12 @@ function runnerBootstrapEnv(source = process.env) {
|
|
|
501
461
|
"LC_ALL",
|
|
502
462
|
"USER",
|
|
503
463
|
"LOGNAME",
|
|
464
|
+
// Without the daemon's config root the worker re-roots onto the GLOBAL default (2026-08-04).
|
|
465
|
+
"CLAUDEXOR_CONFIG_DIR",
|
|
504
466
|
"CLAUDEXOR_CODEX_NATIVE_HOME",
|
|
505
467
|
"CLAUDEXOR_CLAUDE_NATIVE_DIR",
|
|
506
|
-
//
|
|
507
|
-
//
|
|
508
|
-
// the device-code login dies opaquely. Pass-through only — never set.
|
|
468
|
+
// Proxy/CA pass-through: without it a corporate-proxy machine cannot
|
|
469
|
+
// reach the vendor and the device-code login dies opaquely. Never set.
|
|
509
470
|
"HTTP_PROXY",
|
|
510
471
|
"HTTPS_PROXY",
|
|
511
472
|
"NO_PROXY",
|
|
@@ -526,8 +487,8 @@ function isDirectEntrypoint() {
|
|
|
526
487
|
if (!process.argv[1])
|
|
527
488
|
return false;
|
|
528
489
|
try {
|
|
529
|
-
|
|
530
|
-
|
|
490
|
+
const self = realpathSync(resolve(fileURLToPath(import.meta.url)));
|
|
491
|
+
return realpathSync(resolve(process.argv[1])) === self;
|
|
531
492
|
}
|
|
532
493
|
catch {
|
|
533
494
|
return false;
|
|
@@ -544,7 +505,8 @@ if (isDirectEntrypoint()) {
|
|
|
544
505
|
(workerMode ? runSetupLoginWorker(manifestPath) : runSetupLogin(manifestPath)).then((code) => {
|
|
545
506
|
process.exitCode = code;
|
|
546
507
|
}, (error) => {
|
|
547
|
-
|
|
508
|
+
const detail = error instanceof Error ? error.message : String(error);
|
|
509
|
+
process.stderr.write(`setup-login-runner: ${detail}\n`);
|
|
548
510
|
process.exitCode = 1;
|
|
549
511
|
});
|
|
550
512
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-login-runner.js","sourceRoot":"","sources":["../src/setup-login-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup-login-runner.js","sourceRoot":"","sources":["../src/setup-login-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TTL + single-flight cache for the daemon's poll-heavy status projections.
|
|
3
|
+
*
|
|
4
|
+
* Hit live 2026-08-04: a UI polling `/v2/credential-profiles` and
|
|
5
|
+
* `/v2/harnesses` every 5 seconds made the daemon spawn full harness sweeps
|
|
6
|
+
* (discover + doctor for every adapter, plus a doctor probe per registered
|
|
7
|
+
* credential profile) on EVERY tick — each sweep shells out to the vendor
|
|
8
|
+
* CLIs, takes >8s under load, and starves the daemon's request loop until an
|
|
9
|
+
* interactive login POST times out client-side ("Daemon unreachable:
|
|
10
|
+
* ReadTimeout"). The poller needs cheap reads, not fresh probes per tick, so
|
|
11
|
+
* these projections now serve the last computed value inside a short TTL and
|
|
12
|
+
* coalesce concurrent recomputes into one in-flight sweep. An explicit
|
|
13
|
+
* fresh/snapshot request still bypasses the TTL, and a credential-state
|
|
14
|
+
* change (login/logout) invalidates every registered cache so a fresh login
|
|
15
|
+
* is visible on the next poll rather than a TTL later.
|
|
16
|
+
*/
|
|
17
|
+
/** Cheap identity stamp of the global config file: any write — service-layer,
|
|
18
|
+
* CLI, or hand edit — changes it, so config-derived projection facts are never
|
|
19
|
+
* served stale. One stat() per poll read. */
|
|
20
|
+
export declare function globalConfigVersion(): string;
|
|
21
|
+
export declare const STATUS_PROJECTION_TTL_MS = 15000;
|
|
22
|
+
export interface StatusProjectionCacheOptions {
|
|
23
|
+
ttlMs?: number;
|
|
24
|
+
now?: () => number;
|
|
25
|
+
/**
|
|
26
|
+
* Cheap version stamp the cached value must match to be served — the global
|
|
27
|
+
* config file's identity for both poll surfaces. Config-derived facts (the
|
|
28
|
+
* Enabled toggle, registered profiles) are cheap to read and mutable through
|
|
29
|
+
* MANY paths (service mutations, the CLI, a hand edit), so they must never
|
|
30
|
+
* lag a TTL: only the expensive probe-derived facts deserve one. A version
|
|
31
|
+
* mismatch recomputes exactly like an invalidation.
|
|
32
|
+
*/
|
|
33
|
+
versionOf?: () => string;
|
|
34
|
+
}
|
|
35
|
+
export declare class StatusProjectionCache<T> {
|
|
36
|
+
private value;
|
|
37
|
+
private inFlight;
|
|
38
|
+
private generation;
|
|
39
|
+
private readonly ttlMs;
|
|
40
|
+
private readonly now;
|
|
41
|
+
private readonly versionOf;
|
|
42
|
+
constructor(opts?: StatusProjectionCacheOptions);
|
|
43
|
+
/** Serve the cached value inside the TTL (same version); otherwise compute
|
|
44
|
+
* once, shared by every concurrent reader. `fresh` bypasses the TTL but
|
|
45
|
+
* still coalesces with a current in-flight compute and re-primes the cache
|
|
46
|
+
* on completion. An invalidation or version change during an in-flight
|
|
47
|
+
* compute keeps that compute's result OUT of the cache (its data predates
|
|
48
|
+
* the change) and later readers start a new one. */
|
|
49
|
+
read(compute: () => Promise<T>, opts?: {
|
|
50
|
+
fresh?: boolean;
|
|
51
|
+
}): Promise<T>;
|
|
52
|
+
invalidate(): void;
|
|
53
|
+
}
|
|
54
|
+
/** Credential state changed (login/logout): every projection that embeds
|
|
55
|
+
* harness/profile status is stale at once. */
|
|
56
|
+
export declare function invalidateStatusProjections(): void;
|
|
57
|
+
//# sourceMappingURL=status-projection-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status-projection-cache.d.ts","sourceRoot":"","sources":["../src/status-projection-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAOH;;6CAE6C;AAC7C,wBAAgB,mBAAmB,IAAI,MAAM,CAO5C;AAED,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAE/C,MAAM,WAAW,4BAA4B;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,MAAM,CAAC;CAC1B;AAED,qBAAa,qBAAqB,CAAC,CAAC;IAClC,OAAO,CAAC,KAAK,CAAyD;IACtE,OAAO,CAAC,QAAQ,CAA6E;IAC7F,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IAEzC,YAAY,IAAI,GAAE,4BAAiC,EAKlD;IAED;;;;;wDAKoD;IAC9C,IAAI,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CA6C5E;IAED,UAAU,IAAI,IAAI,CAGjB;CACF;AAED;8CAC8C;AAC9C,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
|