@claudexor/cli 3.19.0 → 3.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/dist/account-catalog.d.ts +3 -5
  2. package/dist/account-catalog.d.ts.map +1 -1
  3. package/dist/account-catalog.js +21 -7
  4. package/dist/account-catalog.js.map +1 -1
  5. package/dist/accounts-projection.d.ts +4 -1
  6. package/dist/accounts-projection.d.ts.map +1 -1
  7. package/dist/accounts-projection.js +18 -4
  8. package/dist/accounts-projection.js.map +1 -1
  9. package/dist/accounts-services.d.ts +2 -1
  10. package/dist/accounts-services.d.ts.map +1 -1
  11. package/dist/accounts-services.js +38 -10
  12. package/dist/accounts-services.js.map +1 -1
  13. package/dist/acp-surface-runner.d.ts.map +1 -1
  14. package/dist/acp-surface-runner.js +2 -0
  15. package/dist/acp-surface-runner.js.map +1 -1
  16. package/dist/claude-oauth-credential.d.ts +16 -0
  17. package/dist/claude-oauth-credential.d.ts.map +1 -0
  18. package/dist/claude-oauth-credential.js +82 -0
  19. package/dist/claude-oauth-credential.js.map +1 -0
  20. package/dist/claude-oauth-usage.d.ts +5 -30
  21. package/dist/claude-oauth-usage.d.ts.map +1 -1
  22. package/dist/claude-oauth-usage.js +98 -104
  23. package/dist/claude-oauth-usage.js.map +1 -1
  24. package/dist/claudexord.d.ts.map +1 -1
  25. package/dist/claudexord.js +1 -1
  26. package/dist/claudexord.js.map +1 -1
  27. package/dist/codex-quota-source.d.ts +6 -2
  28. package/dist/codex-quota-source.d.ts.map +1 -1
  29. package/dist/codex-quota-source.js +58 -94
  30. package/dist/codex-quota-source.js.map +1 -1
  31. package/dist/control-services.d.ts +12 -3
  32. package/dist/control-services.d.ts.map +1 -1
  33. package/dist/control-services.js +15 -20
  34. package/dist/control-services.js.map +1 -1
  35. package/dist/credential-commands.d.ts.map +1 -1
  36. package/dist/credential-commands.js +10 -4
  37. package/dist/credential-commands.js.map +1 -1
  38. package/dist/daemon-agent-runner.d.ts.map +1 -1
  39. package/dist/daemon-agent-runner.js +2 -6
  40. package/dist/daemon-agent-runner.js.map +1 -1
  41. package/dist/gc-receipt-notes.d.ts +14 -0
  42. package/dist/gc-receipt-notes.d.ts.map +1 -0
  43. package/dist/gc-receipt-notes.js +28 -0
  44. package/dist/gc-receipt-notes.js.map +1 -0
  45. package/dist/harness-command-specs.d.ts +1 -1
  46. package/dist/harness-command-specs.d.ts.map +1 -1
  47. package/dist/harness-command-specs.js +8 -1
  48. package/dist/harness-command-specs.js.map +1 -1
  49. package/dist/harness-install-proof.d.ts.map +1 -1
  50. package/dist/harness-install-proof.js +14 -18
  51. package/dist/harness-install-proof.js.map +1 -1
  52. package/dist/harness-install-recipes.d.ts +2 -1
  53. package/dist/harness-install-recipes.d.ts.map +1 -1
  54. package/dist/harness-install-recipes.js +12 -9
  55. package/dist/harness-install-recipes.js.map +1 -1
  56. package/dist/harness-installer.d.ts +1 -1
  57. package/dist/harness-installer.d.ts.map +1 -1
  58. package/dist/harness-installer.js +8 -9
  59. package/dist/harness-installer.js.map +1 -1
  60. package/dist/live.d.ts.map +1 -1
  61. package/dist/live.js +4 -1
  62. package/dist/live.js.map +1 -1
  63. package/dist/mcp-run-projections.d.ts +7 -1
  64. package/dist/mcp-run-projections.d.ts.map +1 -1
  65. package/dist/model-account-evidence.d.ts +18 -0
  66. package/dist/model-account-evidence.d.ts.map +1 -0
  67. package/dist/model-account-evidence.js +71 -0
  68. package/dist/model-account-evidence.js.map +1 -0
  69. package/dist/model-services.d.ts.map +1 -1
  70. package/dist/model-services.js +77 -83
  71. package/dist/model-services.js.map +1 -1
  72. package/dist/native-login.d.ts +5 -0
  73. package/dist/native-login.d.ts.map +1 -1
  74. package/dist/native-login.js +18 -2
  75. package/dist/native-login.js.map +1 -1
  76. package/dist/ops-commands.d.ts.map +1 -1
  77. package/dist/ops-commands.js +22 -25
  78. package/dist/ops-commands.js.map +1 -1
  79. package/dist/quota-refresh-diagnostics.d.ts +33 -0
  80. package/dist/quota-refresh-diagnostics.d.ts.map +1 -0
  81. package/dist/quota-refresh-diagnostics.js +9 -0
  82. package/dist/quota-refresh-diagnostics.js.map +1 -0
  83. package/dist/quota-refreshers.d.ts +5 -4
  84. package/dist/quota-refreshers.d.ts.map +1 -1
  85. package/dist/quota-refreshers.js +11 -4
  86. package/dist/quota-refreshers.js.map +1 -1
  87. package/dist/quota-services.d.ts +4 -2
  88. package/dist/quota-services.d.ts.map +1 -1
  89. package/dist/registry.d.ts +1 -1
  90. package/dist/registry.d.ts.map +1 -1
  91. package/dist/registry.js +3 -1
  92. package/dist/registry.js.map +1 -1
  93. package/dist/retention-service.d.ts +7 -1
  94. package/dist/retention-service.d.ts.map +1 -1
  95. package/dist/retention-service.js +84 -5
  96. package/dist/retention-service.js.map +1 -1
  97. package/dist/run-orchestrator.d.ts +0 -6
  98. package/dist/run-orchestrator.d.ts.map +1 -1
  99. package/dist/run-orchestrator.js +41 -10
  100. package/dist/run-orchestrator.js.map +1 -1
  101. package/dist/setup-jobs.js +6 -6
  102. package/dist/setup-jobs.js.map +1 -1
  103. package/dist/setup-login-capability.d.ts.map +1 -1
  104. package/dist/setup-login-capability.js +6 -2
  105. package/dist/setup-login-capability.js.map +1 -1
  106. package/dist/setup-login-child-lifecycle.d.ts.map +1 -1
  107. package/dist/setup-login-child-lifecycle.js +16 -4
  108. package/dist/setup-login-child-lifecycle.js.map +1 -1
  109. package/dist/setup-login-fallback.d.ts +54 -0
  110. package/dist/setup-login-fallback.d.ts.map +1 -0
  111. package/dist/setup-login-fallback.js +95 -0
  112. package/dist/setup-login-fallback.js.map +1 -0
  113. package/dist/setup-login-inline.d.ts +8 -46
  114. package/dist/setup-login-inline.d.ts.map +1 -1
  115. package/dist/setup-login-inline.js +79 -104
  116. package/dist/setup-login-inline.js.map +1 -1
  117. package/dist/setup-login-input-prompt.d.ts +7 -0
  118. package/dist/setup-login-input-prompt.d.ts.map +1 -0
  119. package/dist/setup-login-input-prompt.js +27 -0
  120. package/dist/setup-login-input-prompt.js.map +1 -0
  121. package/dist/setup-login-runner.d.ts.map +1 -1
  122. package/dist/setup-login-runner.js +15 -11
  123. package/dist/setup-login-runner.js.map +1 -1
  124. package/dist/thread-purge.d.ts +52 -0
  125. package/dist/thread-purge.d.ts.map +1 -0
  126. package/dist/thread-purge.js +27 -0
  127. package/dist/thread-purge.js.map +1 -0
  128. package/package.json +25 -24
@@ -1,111 +1,21 @@
1
1
  /**
2
- * D-17: inline CLI presentation of a durable codex device-code login job.
2
+ * Inline CLI presentation of a durable managed login job.
3
3
  *
4
- * Both `claudexor auth login codex` and `claudexor profiles login codex <id>`
5
- * ride the SAME daemon-owned setup job; this helper polls the job snapshot,
4
+ * Bootstrap logins and Codex profile logins use the daemon-owned setup job.
5
+ * This helper polls the job snapshot,
6
6
  * shows the one-time code + verification URL as soon as the runner discloses
7
7
  * them (transient, from the snapshot overlay — never journaled), and follows
8
8
  * the job to its typed terminal outcome. Ctrl-C detaches the CLI; the daemon
9
9
  * runner keeps the login alive.
10
10
  */
11
- import { createInterface } from "node:readline/promises";
12
- import { ControlSetupJob, ControlSetupJobSnapshot, isTerminalControlSetupJobState, } from "@claudexor/schema";
11
+ import { ControlSetupJob, ControlSetupJobInputRequest, ControlSetupJobSnapshot, isTerminalControlSetupJobState, } from "@claudexor/schema";
13
12
  import { print, printJson } from "./cli-io.js";
14
13
  import { controlApiFetch } from "./live.js";
14
+ import { createTerminalFallbackJob, defaultPromptYesNo, terminalLoginFallback, terminalLoginReport, } from "./setup-login-fallback.js";
15
+ import { promptLoginInput } from "./setup-login-input-prompt.js";
15
16
  const POLL_MS = 1_000;
16
- const NEGATIVE_TERMINAL_STATES = ["failed", "cancelled", "timed_out", "not_supported"];
17
- function hasTerminalLoginFallback(job) {
18
- return (job.harness === "codex" &&
19
- job.state === "not_supported" &&
20
- job.nativeCommand?.errorCode === "device_auth_unsupported");
21
- }
22
- /** The typed next action for a terminal job, or null for an ordinary outcome.
23
- * The target comes from the server-owned job so every machine producer agrees. */
24
- export function terminalLoginFallback(job) {
25
- if (hasTerminalLoginFallback(job)) {
26
- return {
27
- kind: "terminal_login_fallback",
28
- reason: "device_auth_unsupported",
29
- loginFlow: "browser_redirect",
30
- profileId: job.profileId,
31
- };
32
- }
33
- return null;
34
- }
35
- /**
36
- * D-17 audit point 8: the terminal report for a durable codex login. The
37
- * `not_supported` state is actionable, not a dead-end message: when the daemon
38
- * carries the consistent typed code `device_auth_unsupported` on the
39
- * native-command receipt (the SAME code the runner result, journal, control
40
- * DTO, and Swift surface use), the CLI names the code AND the exact next step
41
- * (the legacy Terminal sign-in), and exits non-zero. Used for the non-TTY /
42
- * declined path; a TTY OFFERS the transition directly (see below).
43
- */
44
- export function terminalLoginReport(job, label) {
45
- const nextAction = terminalLoginFallback(job);
46
- if (nextAction) {
47
- const fallbackLabel = nextAction.profileId ? `codex/${nextAction.profileId}` : "codex";
48
- return {
49
- lines: [
50
- `${fallbackLabel} login not_supported (device_auth_unsupported): this codex build has no in-app device-code sign-in.`,
51
- nextAction.profileId
52
- ? "Next: retry this profile with the legacy Terminal sign-in (the browser-redirect flow)."
53
- : "Next: run `claudexor auth login codex --browser-redirect` for the Terminal sign-in.",
54
- ],
55
- exitCode: 1,
56
- };
57
- }
58
- return {
59
- lines: [`${label} login ${job.state}: ${job.message}`],
60
- exitCode: job.state === "succeeded" ? 0 : 1,
61
- };
62
- }
63
- /** Default TTY yes/no prompt. Declines (false) when stdin is not a TTY so a
64
- * non-interactive pipe never blocks waiting for an answer. */
65
- async function defaultPromptYesNo(question) {
66
- if (!process.stdin.isTTY)
67
- return false;
68
- const rl = createInterface({ input: process.stdin, output: process.stdout });
69
- try {
70
- const answer = (await rl.question(question)).trim().toLowerCase();
71
- return answer === "y" || answer === "yes";
72
- }
73
- finally {
74
- rl.close();
75
- }
76
- }
77
17
  /**
78
- * Create the legacy Terminal (browser_redirect) login for the same target. This
79
- * rides the daemon's existing duplicate-create / 409 semantics: the prior
80
- * device-code job is already terminal (not_supported), so no conflict blocks
81
- * it, and a real conflict surfaces the daemon's reason rather than silently
82
- * starting a duplicate.
83
- */
84
- async function createTerminalFallbackJob(fetchImpl, nextAction, label) {
85
- const response = await fetchImpl("/setup/jobs", {
86
- method: "POST",
87
- headers: { "Content-Type": "application/json" },
88
- body: JSON.stringify({
89
- harness: "codex",
90
- action: "login",
91
- authRequest: "subscription",
92
- loginFlow: nextAction.loginFlow,
93
- ...(nextAction.profileId ? { profileId: nextAction.profileId } : {}),
94
- }),
95
- });
96
- if (!response.ok) {
97
- print(`could not start the Terminal ${label} sign-in (${response.status}): ${await response.text()}`);
98
- return 1;
99
- }
100
- const job = ControlSetupJob.parse(await response.json());
101
- const accepted = !NEGATIVE_TERMINAL_STATES.includes(job.state);
102
- print(accepted
103
- ? `Opening the Terminal ${label} sign-in (managed by claudexord as ${job.jobId}). Complete it in the Terminal window that opens.`
104
- : `Terminal ${label} sign-in was not started: ${job.message}`);
105
- return accepted ? 0 : 1;
106
- }
107
- /**
108
- * Poll a device-code login job. In TTY mode it prints the one-time code once
18
+ * Follow a managed login job. In TTY mode it displays the current disclosure
109
19
  * and follows the job to its terminal outcome; on a device_auth_unsupported
110
20
  * miss it OFFERS the legacy Terminal sign-in (a y/N prompt that, on yes, starts
111
21
  * the browser_redirect job in one action). In `--json` mode it emits one JSON
@@ -113,17 +23,21 @@ async function createTerminalFallbackJob(fetchImpl, nextAction, label) {
113
23
  * terminal outcome (with a typed `nextAction` on the fallback), or a
114
24
  * detached/error envelope. Returns the process exit code (0 on success).
115
25
  */
116
- export async function streamDurableCodexLogin(addr, jobId, opts = { label: "codex" }) {
26
+ export async function streamDurableLogin(addr, jobId, opts = { label: "codex" }) {
117
27
  const { label } = opts;
118
28
  const json = opts.json ?? false;
119
29
  const pollMs = opts.pollMs ?? POLL_MS;
120
30
  const sleep = opts.sleep ?? ((ms) => new Promise((done) => setTimeout(done, ms)));
121
31
  const fetchImpl = opts.fetchImpl ?? ((path, init) => controlApiFetch(addr, path, init));
122
32
  const promptYesNo = opts.promptYesNo ?? defaultPromptYesNo;
123
- let disclosed = false;
33
+ let disclosed = "";
34
+ const inputAbort = new AbortController();
35
+ let inputStarted = false;
36
+ let inputResult;
124
37
  let detached = false;
125
38
  const onSigint = () => {
126
39
  detached = true;
40
+ inputAbort.abort();
127
41
  };
128
42
  process.once("SIGINT", onSigint);
129
43
  try {
@@ -135,7 +49,9 @@ export async function streamDurableCodexLogin(addr, jobId, opts = { label: "code
135
49
  return detachExitCode;
136
50
  }
137
51
  print(`Detached. ${label} login keeps running as ${jobId}; ` +
138
- `re-attach with \`claudexor auth status\` or finish it in the browser.`);
52
+ (opts.resumeCommand
53
+ ? `repeat \`${opts.resumeCommand}\` while it is still active to continue.`
54
+ : "Finish it in the browser, or return through the client that started it."));
139
55
  return detachExitCode;
140
56
  }
141
57
  const response = await fetchImpl(`/setup/jobs/${encodeURIComponent(jobId)}/snapshot`);
@@ -149,6 +65,9 @@ export async function streamDurableCodexLogin(addr, jobId, opts = { label: "code
149
65
  }
150
66
  const snapshot = ControlSetupJobSnapshot.parse(await response.json());
151
67
  const job = snapshot.job;
68
+ if (job.jobId !== jobId)
69
+ throw new Error("setup snapshot does not match the requested login");
70
+ const jobLabel = job.profileId ? `${job.harness}/${job.profileId}` : job.harness;
152
71
  const terminal = isTerminalControlSetupJobState(job.state);
153
72
  if (json) {
154
73
  // Return promptly once we know the flow's shape: a disclosure means the
@@ -165,6 +84,16 @@ export async function streamDurableCodexLogin(addr, jobId, opts = { label: "code
165
84
  verificationUrl: snapshot.deviceCode.verificationUrl,
166
85
  userCode: snapshot.deviceCode.userCode,
167
86
  },
87
+ ...(snapshot.deviceCode.flow === "oauth_url_input"
88
+ ? {
89
+ nextAction: {
90
+ kind: "submit_sign_in_input",
91
+ method: "POST",
92
+ path: `/v2/setup/jobs/${encodeURIComponent(jobId)}/input`,
93
+ jobId,
94
+ },
95
+ }
96
+ : {}),
168
97
  });
169
98
  return 0;
170
99
  }
@@ -177,13 +106,14 @@ export async function streamDurableCodexLogin(addr, jobId, opts = { label: "code
177
106
  continue;
178
107
  }
179
108
  // TTY mode.
180
- if (snapshot.deviceCode && !disclosed) {
181
- disclosed = true;
109
+ const disclosureKey = JSON.stringify(snapshot.deviceCode ?? null);
110
+ if (snapshot.deviceCode && disclosureKey !== disclosed) {
111
+ disclosed = disclosureKey;
182
112
  print("");
183
113
  print(`Open: ${snapshot.deviceCode.verificationUrl}`);
184
114
  if (snapshot.deviceCode.userCode)
185
115
  print(`Code: ${snapshot.deviceCode.userCode}`);
186
- print(`Waiting for OpenAI… (Ctrl-C detaches; the login keeps running)`);
116
+ print(`Waiting for ${job.harness}… (Ctrl-C detaches; the login keeps running)`);
187
117
  print("");
188
118
  }
189
119
  if (terminal) {
@@ -203,15 +133,60 @@ export async function streamDurableCodexLogin(addr, jobId, opts = { label: "code
203
133
  : "You can start it later with `claudexor auth login codex --browser-redirect`.");
204
134
  return 1;
205
135
  }
206
- const report = terminalLoginReport(job, label);
136
+ const report = terminalLoginReport(job, jobLabel);
207
137
  for (const line of report.lines)
208
138
  print(line);
209
139
  return report.exitCode;
210
140
  }
141
+ if (snapshot.deviceCode?.flow === "oauth_url_input" && !inputStarted) {
142
+ if (!(opts.isTTY ?? process.stdin.isTTY)) {
143
+ print(`This sign-in needs a code. Continue in an interactive terminal${opts.resumeCommand ? ` with \`${opts.resumeCommand}\`` : ""}, or POST the code to /v2/setup/jobs/${encodeURIComponent(jobId)}/input. The same login is still running.`);
144
+ return 1;
145
+ }
146
+ inputStarted = true;
147
+ void (opts.promptInput ?? promptLoginInput)("Paste the sign-in code: ", inputAbort.signal).then((value) => {
148
+ inputResult = { value };
149
+ }, (error) => {
150
+ inputResult = { error };
151
+ });
152
+ }
153
+ if (inputStarted && job.phase !== "awaiting_user")
154
+ inputAbort.abort();
155
+ if (inputResult && !detached && snapshot.deviceCode?.flow === "oauth_url_input") {
156
+ const result = inputResult;
157
+ inputResult = undefined;
158
+ if ("error" in result)
159
+ throw result.error;
160
+ if (result.value === null) {
161
+ print(`No code was submitted. ${jobLabel} login keeps running as ${jobId}.`);
162
+ return 1;
163
+ }
164
+ const body = ControlSetupJobInputRequest.parse({ value: result.value.trim() });
165
+ const submitted = await fetchImpl(`/setup/jobs/${encodeURIComponent(jobId)}/input`, {
166
+ method: "POST",
167
+ headers: { "Content-Type": "application/json" },
168
+ body: JSON.stringify(body),
169
+ });
170
+ if (!submitted.ok) {
171
+ const problem = (await submitted.json());
172
+ if (submitted.status === 409 && problem.code === "setup_input_already_submitted") {
173
+ print("A code was already submitted for this login. Waiting for its result…");
174
+ await sleep(pollMs);
175
+ continue;
176
+ }
177
+ print(`Sign-in input was not confirmed (${submitted.status}). Read the status of ${jobId} before submitting again.`);
178
+ return 1;
179
+ }
180
+ const updated = ControlSetupJob.parse(await submitted.json());
181
+ if (updated.jobId !== jobId)
182
+ throw new Error("setup input response does not match the requested login");
183
+ print(`Code delivered. Waiting for ${job.harness} to finish the sign-in…`);
184
+ }
211
185
  await sleep(pollMs);
212
186
  }
213
187
  }
214
188
  finally {
189
+ inputAbort.abort();
215
190
  process.removeListener("SIGINT", onSigint);
216
191
  }
217
192
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setup-login-inline.js","sourceRoot":"","sources":["../src/setup-login-inline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-login-inline.js","sourceRoot":"","sources":["../src/setup-login-inline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { Readable, Writable } from "node:stream";
2
+ /** Keep the prompt cancellable while the independent snapshot observer runs. */
3
+ export declare function promptLoginInput(question: string, signal: AbortSignal, streams?: {
4
+ input: Readable;
5
+ output: Writable;
6
+ }): Promise<string | null>;
7
+ //# sourceMappingURL=setup-login-input-prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-login-input-prompt.d.ts","sourceRoot":"","sources":["../src/setup-login-input-prompt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEtD,gFAAgF;AAChF,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAA;CAAqD,GAChG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAoBxB"}
@@ -0,0 +1,27 @@
1
+ import { createInterface } from "node:readline";
2
+ /** Keep the prompt cancellable while the independent snapshot observer runs. */
3
+ export function promptLoginInput(question, signal, streams = { input: process.stdin, output: process.stdout }) {
4
+ return new Promise((resolve) => {
5
+ const rl = createInterface(streams);
6
+ let settled = false;
7
+ const finish = (value) => {
8
+ if (settled)
9
+ return;
10
+ settled = true;
11
+ signal.removeEventListener("abort", abort);
12
+ rl.close();
13
+ resolve(value);
14
+ };
15
+ const abort = () => finish(null);
16
+ rl.once("close", abort);
17
+ // A terminal readline owns Ctrl-C instead of the process signal handler.
18
+ // Hand it to the existing follower's detach handler.
19
+ rl.once("SIGINT", () => process.emit("SIGINT"));
20
+ signal.addEventListener("abort", abort, { once: true });
21
+ if (signal.aborted)
22
+ abort();
23
+ else
24
+ rl.question(question, (value) => finish(value));
25
+ });
26
+ }
27
+ //# sourceMappingURL=setup-login-input-prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-login-input-prompt.js","sourceRoot":"","sources":["../src/setup-login-input-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,gFAAgF;AAChF,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,MAAmB,EACnB,OAAO,GAA0C,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;IAEjG,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,KAAoB,EAAE,EAAE;YACtC,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3C,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACxB,yEAAyE;QACzE,qDAAqD;QACrD,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,OAAO;YAAE,KAAK,EAAE,CAAC;;YACvB,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup-login-runner.d.ts","sourceRoot":"","sources":["../src/setup-login-runner.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAwC,MAAM,oBAAoB,CAAC;AAKjF,OAAO,EAAE,qCAAqC,EAAE,MAAM,iBAAiB,CAAC;AAQxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,OAAO,EAEL,wBAAwB,EAEzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAoB/E,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,OAAO,KAAK,CAAC;IAC5B,mBAAmB,CAAC,EAAE,UAAU,CAAC,OAAO,qCAAqC,CAAC,CAAC;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,wBAAwB,CAAC;IACpD,yBAAyB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED,gFAAgF;AAChF,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,MAAM,CAAC,CAuQjB"}
1
+ {"version":3,"file":"setup-login-runner.d.ts","sourceRoot":"","sources":["../src/setup-login-runner.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,EAAwC,MAAM,oBAAoB,CAAC;AAKjF,OAAO,EAAE,qCAAqC,EAAE,MAAM,iBAAiB,CAAC;AAQxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,OAAO,EAEL,wBAAwB,EAEzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAoB/E,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,OAAO,KAAK,CAAC;IAC5B,mBAAmB,CAAC,EAAE,UAAU,CAAC,OAAO,qCAAqC,CAAC,CAAC;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,wBAAwB,CAAC;IACpD,yBAAyB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED,gFAAgF;AAChF,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,MAAM,CAAC,CA8QjB"}
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env node
2
+ import { interpretedCommand, killOwnedProcessTree } from "@claudexor/core";
2
3
  import { spawn } from "node:child_process";
3
4
  import { realpathSync } from "node:fs";
4
5
  import { createInterface } from "node:readline";
@@ -99,7 +100,7 @@ export async function runSetupLoginWorker(manifestPath, options = {}) {
99
100
  // first so an old CLI yields a typed unsupported outcome. Fails OPEN — a
100
101
  // broken probe falls through to the real spawn and its own diagnostics.
101
102
  if (manifest.args.includes("--device-auth")) {
102
- const probe = await probeLoginHelp(manifest.binary, spawnProcess, nativeLoginEnv(manifest.harness, process.env, manifest.profileConfigDir));
103
+ const probe = await probeLoginHelp(manifest.binary, spawnProcess, nativeLoginEnv(manifest.harness, process.env, manifest.profileConfigDir), manifest.interpreter);
103
104
  if (probe.completed && !probe.output.includes("--device-auth")) {
104
105
  persistFailure(manifest, now, permit.issuedAt, "device_auth_unsupported", boundedTail(probe.output));
105
106
  return 1;
@@ -155,11 +156,12 @@ export async function runSetupLoginWorker(manifestPath, options = {}) {
155
156
  process.on("SIGINT", holdLeaderForEscalation);
156
157
  let stopInputWatch;
157
158
  try {
159
+ const invocation = interpretedCommand(manifest.binary, manifest.args, nativeLoginEnv(manifest.harness, process.env, manifest.profileConfigDir), manifest.interpreter);
158
160
  let terminal = null;
159
161
  if (manifest.ptyStdin) {
160
162
  let resolution;
161
163
  try {
162
- resolution = await resolvePtyCommand(manifest.binary, manifest.args);
164
+ resolution = await resolvePtyCommand(invocation.binary, invocation.args);
163
165
  }
164
166
  catch {
165
167
  persistFailure(manifest, now, permit.issuedAt, "terminal_transport_probe_failed", "terminal transport capability probe failed");
@@ -171,7 +173,7 @@ export async function runSetupLoginWorker(manifestPath, options = {}) {
171
173
  }
172
174
  terminal = resolution;
173
175
  }
174
- const command = terminal?.command ?? { binary: manifest.binary, args: manifest.args };
176
+ const command = terminal?.command ?? invocation;
175
177
  // A spawn throw and a wait rejection write the SAME receipt, so they share
176
178
  // one catch. The outer finally releases both input and signal handlers on
177
179
  // resolver, spawn, wait, and result-classification exits.
@@ -183,7 +185,7 @@ export async function runSetupLoginWorker(manifestPath, options = {}) {
183
185
  // A sealed profileConfigDir (INV-135) scopes the vendor login to the
184
186
  // binding's exact environment/state root. Credential custody remains
185
187
  // platform-defined; absent = the harness default route as before.
186
- env: nativeLoginEnv(manifest.harness, process.env, manifest.profileConfigDir),
188
+ env: invocation.env,
187
189
  ...(terminal?.backend === "windows_conpty" ? { windowsHide: true } : {}),
188
190
  detached: false,
189
191
  stdio: urlDisclosure
@@ -228,7 +230,7 @@ export async function runSetupLoginWorker(manifestPath, options = {}) {
228
230
  }
229
231
  let refreshed = null;
230
232
  try {
231
- refreshed = await resolvePtyCommand(manifest.binary, manifest.args);
233
+ refreshed = await resolvePtyCommand(invocation.binary, invocation.args);
232
234
  }
233
235
  catch {
234
236
  // A resolver must normally return a typed result. If its own I/O fails,
@@ -288,9 +290,10 @@ async function runDeviceCodeLogin(manifest, permit, deps) {
288
290
  }
289
291
  let child;
290
292
  try {
291
- child = spawnProcess(manifest.binary, manifest.args, {
293
+ const invocation = interpretedCommand(manifest.binary, manifest.args, nativeLoginEnv(manifest.harness, process.env, manifest.profileConfigDir), manifest.interpreter);
294
+ child = spawnProcess(invocation.binary, invocation.args, {
292
295
  cwd: manifest.cwd,
293
- env: nativeLoginEnv(manifest.harness, process.env, manifest.profileConfigDir),
296
+ env: invocation.env,
294
297
  detached: false,
295
298
  stdio: ["pipe", "pipe", "pipe"],
296
299
  });
@@ -403,7 +406,7 @@ function appServerConnection(child) {
403
406
  }
404
407
  /** Run `<binary> login --help` captured, bounded to 10s. Fails OPEN: only a
405
408
  * COMPLETED probe whose help text lacks the flag reports unsupported. */
406
- function probeLoginHelp(binary, spawnProcess, probeEnv) {
409
+ function probeLoginHelp(binary, spawnProcess, probeEnv, interpreter) {
407
410
  return new Promise((resolveProbe) => {
408
411
  const PROBE_OUTPUT_CAP = 65_536;
409
412
  const chunks = [];
@@ -417,10 +420,11 @@ function probeLoginHelp(binary, spawnProcess, probeEnv) {
417
420
  };
418
421
  let probe;
419
422
  try {
420
- probe = spawnProcess(binary, ["login", "--help"], {
423
+ const invocation = interpretedCommand(binary, ["login", "--help"], probeEnv, interpreter);
424
+ probe = spawnProcess(invocation.binary, invocation.args, {
421
425
  // Same provider-secret-scrubbed allowlist env as the real vendor
422
426
  // spawn — the probe must never inherit the Terminal's full env.
423
- env: probeEnv,
427
+ env: invocation.env,
424
428
  stdio: ["ignore", "pipe", "pipe"],
425
429
  });
426
430
  }
@@ -446,7 +450,7 @@ function probeLoginHelp(binary, spawnProcess, probeEnv) {
446
450
  probe.on("close", (code) => settle(code === 0 && retainedBytes > 0));
447
451
  const timer = setTimeout(() => {
448
452
  try {
449
- probe.kill("SIGKILL");
453
+ killOwnedProcessTree(probe, "SIGKILL");
450
454
  }
451
455
  catch {
452
456
  // best-effort
@@ -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,52 @@
1
+ /**
2
+ * The ONE owner of thread byte deletion (owner decision E2): the purge route
3
+ * and the retention pass both call it. The purge is journaled FIRST, so the
4
+ * explicit authority exists before any byte goes, and validation can never
5
+ * fail after user state was removed. Then the thread's daemon-owned
6
+ * directories go: the isolated worktree with its `claudexor/thread-*` branch,
7
+ * and every lane home (INV-034 lifecycle owner (a)).
8
+ *
9
+ * A directory error after the journal commit (ENOTEMPTY, EBUSY, a Windows
10
+ * lock) leaves a purged thread that every listing hides while its directories
11
+ * remain. Calling the owner again journals nothing new (the reducer keeps a
12
+ * purged thread as it is) and deletes what is left; `hasPurgeLeftovers` names
13
+ * exactly the directories this owner deletes, so the retention pass retries a
14
+ * purge until they are gone and never loops on a directory it cannot own.
15
+ */
16
+ import type { ProjectPartitions } from "@claudexor/daemon";
17
+ import type { Thread } from "@claudexor/schema";
18
+ export declare function threadPurgeOwner(threads: Pick<ProjectPartitions, "getThread" | "purgeThread">, noProjectRoot: string): {
19
+ purgeThread: (id: string) => Promise<{
20
+ schema_version: 2;
21
+ id: string;
22
+ created_at: string;
23
+ updated_at: string;
24
+ repo: {
25
+ root: string;
26
+ base_ref: string;
27
+ } | null;
28
+ title: string | null;
29
+ folder: string | null;
30
+ mode: "agent" | "ask" | "plan";
31
+ auth_preference: "api_key" | "auto" | "subscription";
32
+ access: "external_sandbox_full" | "full" | "inherit_native" | "readonly" | "workspace_write" | null;
33
+ credential_profile_id: string | null;
34
+ primary_harness: string | null;
35
+ eligible_harnesses: string[];
36
+ workspace: {
37
+ mode: "in_place" | "isolated";
38
+ worktree_path: string | null;
39
+ base_sha: string | null;
40
+ delivered_through_run_id: string | null;
41
+ };
42
+ run_ids: string[];
43
+ head_run_id: string | null;
44
+ state: "active" | "closed" | "purged" | "trashed";
45
+ trashed_at: string | null;
46
+ purge_after: string | null;
47
+ pre_trash_state: "active" | "closed" | null;
48
+ }>;
49
+ /** Whether a directory this owner deletes for the thread is still on disk. */
50
+ hasPurgeLeftovers: (thread: Thread) => boolean;
51
+ };
52
+ //# sourceMappingURL=thread-purge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread-purge.d.ts","sourceRoot":"","sources":["../src/thread-purge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAQhD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,aAAa,CAAC,EAC7D,aAAa,EAAE,MAAM;IAMnB,WAAW,OAAa,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAW9B,8EAA8E;IAC9E,iBAAiB,WAAW,MAAM,KAAG,OAAO;EAQ/C"}
@@ -0,0 +1,27 @@
1
+ import { purgeThreadLanes, purgeThreadWorktree, threadLanesExist, threadWorktreeDirExists, } from "@claudexor/workspace";
2
+ export function threadPurgeOwner(threads, noProjectRoot) {
3
+ const isolatedRoot = (thread) => thread.repo && thread.workspace.mode === "isolated" ? thread.repo.root : null;
4
+ const lanesRoot = (thread) => thread.repo?.root ?? noProjectRoot;
5
+ return {
6
+ purgeThread: async (id) => {
7
+ const thread = threads.getThread(id);
8
+ if (!thread)
9
+ throw Object.assign(new Error(`no such thread: ${id}`), { status: 404 });
10
+ const purged = threads.purgeThread(id);
11
+ const worktreeRoot = isolatedRoot(thread);
12
+ if (worktreeRoot)
13
+ await purgeThreadWorktree(worktreeRoot, id);
14
+ // Lane homes exist regardless of workspace mode (in_place threads have
15
+ // them too), so they go for EVERY purged thread.
16
+ purgeThreadLanes(lanesRoot(thread), id);
17
+ return purged;
18
+ },
19
+ /** Whether a directory this owner deletes for the thread is still on disk. */
20
+ hasPurgeLeftovers: (thread) => {
21
+ const worktreeRoot = isolatedRoot(thread);
22
+ return ((worktreeRoot !== null && threadWorktreeDirExists(worktreeRoot, thread.id)) ||
23
+ threadLanesExist(lanesRoot(thread), thread.id));
24
+ },
25
+ };
26
+ }
27
+ //# sourceMappingURL=thread-purge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread-purge.js","sourceRoot":"","sources":["../src/thread-purge.ts"],"names":[],"mappings":"AAiBA,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,UAAU,gBAAgB,CAC9B,OAA6D,EAC7D,aAAqB;IAErB,MAAM,YAAY,GAAG,CAAC,MAAc,EAAiB,EAAE,CACrD,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAChF,MAAM,SAAS,GAAG,CAAC,MAAc,EAAU,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,aAAa,CAAC;IACjF,OAAO;QACL,WAAW,EAAE,KAAK,EAAE,EAAU,EAAE,EAAE;YAChC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM;gBAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACtF,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACvC,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,YAAY;gBAAE,MAAM,mBAAmB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAC9D,uEAAuE;YACvE,iDAAiD;YACjD,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACxC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,8EAA8E;QAC9E,iBAAiB,EAAE,CAAC,MAAc,EAAW,EAAE;YAC7C,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAC1C,OAAO,CACL,CAAC,YAAY,KAAK,IAAI,IAAI,uBAAuB,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC3E,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAC/C,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}