@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.
- package/dist/account-catalog.d.ts +3 -5
- package/dist/account-catalog.d.ts.map +1 -1
- package/dist/account-catalog.js +21 -7
- package/dist/account-catalog.js.map +1 -1
- package/dist/accounts-projection.d.ts +4 -1
- package/dist/accounts-projection.d.ts.map +1 -1
- package/dist/accounts-projection.js +18 -4
- package/dist/accounts-projection.js.map +1 -1
- package/dist/accounts-services.d.ts +2 -1
- package/dist/accounts-services.d.ts.map +1 -1
- package/dist/accounts-services.js +38 -10
- package/dist/accounts-services.js.map +1 -1
- package/dist/acp-surface-runner.d.ts.map +1 -1
- package/dist/acp-surface-runner.js +2 -0
- package/dist/acp-surface-runner.js.map +1 -1
- package/dist/claude-oauth-credential.d.ts +16 -0
- package/dist/claude-oauth-credential.d.ts.map +1 -0
- package/dist/claude-oauth-credential.js +82 -0
- package/dist/claude-oauth-credential.js.map +1 -0
- package/dist/claude-oauth-usage.d.ts +5 -30
- package/dist/claude-oauth-usage.d.ts.map +1 -1
- package/dist/claude-oauth-usage.js +98 -104
- package/dist/claude-oauth-usage.js.map +1 -1
- package/dist/claudexord.d.ts.map +1 -1
- package/dist/claudexord.js +1 -1
- package/dist/claudexord.js.map +1 -1
- package/dist/codex-quota-source.d.ts +6 -2
- package/dist/codex-quota-source.d.ts.map +1 -1
- package/dist/codex-quota-source.js +58 -94
- package/dist/codex-quota-source.js.map +1 -1
- package/dist/control-services.d.ts +12 -3
- package/dist/control-services.d.ts.map +1 -1
- package/dist/control-services.js +15 -20
- package/dist/control-services.js.map +1 -1
- package/dist/credential-commands.d.ts.map +1 -1
- package/dist/credential-commands.js +10 -4
- package/dist/credential-commands.js.map +1 -1
- package/dist/daemon-agent-runner.d.ts.map +1 -1
- package/dist/daemon-agent-runner.js +2 -6
- package/dist/daemon-agent-runner.js.map +1 -1
- package/dist/gc-receipt-notes.d.ts +14 -0
- package/dist/gc-receipt-notes.d.ts.map +1 -0
- package/dist/gc-receipt-notes.js +28 -0
- package/dist/gc-receipt-notes.js.map +1 -0
- package/dist/harness-command-specs.d.ts +1 -1
- package/dist/harness-command-specs.d.ts.map +1 -1
- package/dist/harness-command-specs.js +8 -1
- package/dist/harness-command-specs.js.map +1 -1
- package/dist/harness-install-proof.d.ts.map +1 -1
- package/dist/harness-install-proof.js +14 -18
- package/dist/harness-install-proof.js.map +1 -1
- package/dist/harness-install-recipes.d.ts +2 -1
- package/dist/harness-install-recipes.d.ts.map +1 -1
- package/dist/harness-install-recipes.js +12 -9
- package/dist/harness-install-recipes.js.map +1 -1
- package/dist/harness-installer.d.ts +1 -1
- package/dist/harness-installer.d.ts.map +1 -1
- package/dist/harness-installer.js +8 -9
- package/dist/harness-installer.js.map +1 -1
- package/dist/live.d.ts.map +1 -1
- package/dist/live.js +4 -1
- package/dist/live.js.map +1 -1
- package/dist/mcp-run-projections.d.ts +7 -1
- package/dist/mcp-run-projections.d.ts.map +1 -1
- package/dist/model-account-evidence.d.ts +18 -0
- package/dist/model-account-evidence.d.ts.map +1 -0
- package/dist/model-account-evidence.js +71 -0
- package/dist/model-account-evidence.js.map +1 -0
- package/dist/model-services.d.ts.map +1 -1
- package/dist/model-services.js +77 -83
- package/dist/model-services.js.map +1 -1
- package/dist/native-login.d.ts +5 -0
- package/dist/native-login.d.ts.map +1 -1
- package/dist/native-login.js +18 -2
- package/dist/native-login.js.map +1 -1
- package/dist/ops-commands.d.ts.map +1 -1
- package/dist/ops-commands.js +22 -25
- package/dist/ops-commands.js.map +1 -1
- package/dist/quota-refresh-diagnostics.d.ts +33 -0
- package/dist/quota-refresh-diagnostics.d.ts.map +1 -0
- package/dist/quota-refresh-diagnostics.js +9 -0
- package/dist/quota-refresh-diagnostics.js.map +1 -0
- package/dist/quota-refreshers.d.ts +5 -4
- package/dist/quota-refreshers.d.ts.map +1 -1
- package/dist/quota-refreshers.js +11 -4
- package/dist/quota-refreshers.js.map +1 -1
- package/dist/quota-services.d.ts +4 -2
- package/dist/quota-services.d.ts.map +1 -1
- package/dist/registry.d.ts +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +3 -1
- package/dist/registry.js.map +1 -1
- package/dist/retention-service.d.ts +7 -1
- package/dist/retention-service.d.ts.map +1 -1
- package/dist/retention-service.js +84 -5
- package/dist/retention-service.js.map +1 -1
- package/dist/run-orchestrator.d.ts +0 -6
- package/dist/run-orchestrator.d.ts.map +1 -1
- package/dist/run-orchestrator.js +41 -10
- package/dist/run-orchestrator.js.map +1 -1
- package/dist/setup-jobs.js +6 -6
- package/dist/setup-jobs.js.map +1 -1
- package/dist/setup-login-capability.d.ts.map +1 -1
- package/dist/setup-login-capability.js +6 -2
- package/dist/setup-login-capability.js.map +1 -1
- package/dist/setup-login-child-lifecycle.d.ts.map +1 -1
- package/dist/setup-login-child-lifecycle.js +16 -4
- package/dist/setup-login-child-lifecycle.js.map +1 -1
- package/dist/setup-login-fallback.d.ts +54 -0
- package/dist/setup-login-fallback.d.ts.map +1 -0
- package/dist/setup-login-fallback.js +95 -0
- package/dist/setup-login-fallback.js.map +1 -0
- package/dist/setup-login-inline.d.ts +8 -46
- package/dist/setup-login-inline.d.ts.map +1 -1
- package/dist/setup-login-inline.js +79 -104
- package/dist/setup-login-inline.js.map +1 -1
- package/dist/setup-login-input-prompt.d.ts +7 -0
- package/dist/setup-login-input-prompt.d.ts.map +1 -0
- package/dist/setup-login-input-prompt.js +27 -0
- package/dist/setup-login-input-prompt.js.map +1 -0
- package/dist/setup-login-runner.d.ts.map +1 -1
- package/dist/setup-login-runner.js +15 -11
- package/dist/setup-login-runner.js.map +1 -1
- package/dist/thread-purge.d.ts +52 -0
- package/dist/thread-purge.d.ts.map +1 -0
- package/dist/thread-purge.js +27 -0
- package/dist/thread-purge.js.map +1 -0
- package/package.json +25 -24
|
@@ -1,111 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Inline CLI presentation of a durable managed login job.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
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 {
|
|
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
|
-
*
|
|
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
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
181
|
-
|
|
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
|
|
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,
|
|
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":"AAAA;;;;;;;;;GASG;AACH,OAAO,
|
|
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":";
|
|
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(
|
|
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 ??
|
|
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:
|
|
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(
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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
|
|
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":";AACA,OAAO,EAAE,KAAK,EAAwC,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,qCAAqC,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EACL,qBAAqB,GAGtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EACL,yBAAyB,EACzB,wBAAwB,GAEzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EACL,2BAA2B,IAAI,qBAAqB,EACpD,oBAAoB,IAAI,cAAc,EACtC,mBAAmB,IAAI,aAAa,EACpC,kBAAkB,EAClB,iBAAiB,IAAI,WAAW,GACjC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,4BAA4B,EAC5B,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,GAIzB,MAAM,2BAA2B,CAAC;AAanC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,YAAoB,EACpB,OAAO,GAA4B,EAAE;IAErC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE;QAC7F,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,GAAG,EAAE,kBAAkB,EAAE;QACzB,mEAAmE;QACnE,sEAAsE;QACtE,oEAAoE;QACpE,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,YAAoB,EACpB,OAAO,GAA4B,EAAE;IAErC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3F,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;IACnD,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,wBAAwB,CAAC;IAChF,MAAM,aAAa,GAAG,OAAO,CAAC,mBAAmB,IAAI,qCAAqC,EAAE,CAAC;IAC7F,MAAM,QAAQ,GAAG,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7E,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,QAAQ,CAAC,MAAM,KAAK,SAAS;YAC3B,CAAC,CAAC,2EAA2E;YAC7E,CAAC,CAAC,4DAA4D,QAAQ,CAAC,MAAM,EAAE,CAClF,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IACvC,MAAM,cAAc,GAA0B;QAC5C,OAAO,EAAE,4BAA4B;QACrC,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,YAAY,EAAE,QAAQ,CAAC,MAAM;QAC7B,KAAK,EAAE,iBAAiB;QACxB,UAAU;QACV,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,cAAc,EAAE,QAAQ,CAAC,cAAc;KACxC,CAAC;IACF,iBAAiB,CAAC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAC/E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACnD,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAC/D,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAC5D,IAAI,CAAC;YACH,CAAC,OAAO,CAAC,yBAAyB,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,CACxF,QAAQ,CAAC,gBAAgB,CAC1B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtC,cAAc,CACZ,QAAQ,EACR,GAAG,EACH,MAAM,CAAC,QAAQ,EACf,cAAc,EACd,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;gBACF,OAAO,CAAC,CAAC;YACX,CAAC;YACD,kEAAkE;YAClE,wDAAwD;QAC1D,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,GAAG,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAE/E,2EAA2E;IAC3E,yEAAyE;IACzE,0EAA0E;IAC1E,oCAAoC;IACpC,IAAI,QAAQ,CAAC,SAAS,KAAK,aAAa,EAAE,CAAC;QACzC,OAAO,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,uEAAuE;IACvE,yEAAyE;IACzE,wEAAwE;IACxE,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,cAAc,CAChC,QAAQ,CAAC,MAAM,EACf,YAAY,EACZ,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CACzE,CAAC;QACF,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YAC/D,cAAc,CACZ,QAAQ,EACR,GAAG,EACH,MAAM,CAAC,QAAQ,EACf,yBAAyB,EACzB,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAC1B,CAAC;YACF,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,yEAAyE;IACzE,kCAAkC;IAClC,MAAM,uBAAuB,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;IAChD,2EAA2E;IAC3E,2EAA2E;IAC3E,yEAAyE;IACzE,MAAM,aAAa,GACjB,QAAQ,CAAC,SAAS,KAAK,gBAAgB,IAAI,QAAQ,CAAC,SAAS,KAAK,2BAA2B,CAAC;IAChG,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,KAAK,2BAA2B,CAAC;IACrE,0EAA0E;IAC1E,2EAA2E;IAC3E,0DAA0D;IAC1D,MAAM,SAAS,GACb,QAAQ,CAAC,OAAO,KAAK,OAAO,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,IAAI,aAAa,CAAC;IACzF,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAChC,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;IAC7C,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAQ,EAAE;QAC/C,IAAI,CAAC,QAAQ,CAAC,cAAc;YAAE,OAAO;QACrC,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,CAAC;YACH,qEAAqE;YACrE,wEAAwE;YACxE,wEAAwE;YACxE,sDAAsD;YACtD,iBAAiB,CAAC,QAAQ,CAAC,cAAc,EAAE;gBACzC,OAAO,EAAE,4BAA4B;gBACrC,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW;gBACjD,eAAe,EAAE,GAAG;gBACpB,QAAQ,EAAE,EAAE;gBACZ,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;aACjC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;QACzE,CAAC;IACH,CAAC,CAAC;IACF,yEAAyE;IACzE,wEAAwE;IACxE,0DAA0D;IAC1D,4EAA4E;IAC5E,0EAA0E;IAC1E,qDAAqD;IACrD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;IAC9C,IAAI,cAAwC,CAAC;IAC7C,IAAI,CAAC;QACH,IAAI,QAAQ,GAAqE,IAAI,CAAC;QACtF,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,IAAI,UAAuC,CAAC;YAC5C,IAAI,CAAC;gBACH,UAAU,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvE,CAAC;YAAC,MAAM,CAAC;gBACP,cAAc,CACZ,QAAQ,EACR,GAAG,EACH,MAAM,CAAC,QAAQ,EACf,iCAAiC,EACjC,4CAA4C,CAC7C,CAAC;gBACF,OAAO,CAAC,CAAC;YACX,CAAC;YACD,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAClC,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;gBACxF,OAAO,CAAC,CAAC;YACX,CAAC;YACD,QAAQ,GAAG,UAAU,CAAC;QACxB,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEtF,2EAA2E;QAC3E,0EAA0E;QAC1E,0DAA0D;QAC1D,IAAI,MAA8D,CAAC;QACnE,MAAM,aAAa,GAAG,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACzF,IAAI,CAAC;YACH,MAAM,YAAY,GAAiB;gBACjC,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,qEAAqE;gBACrE,qEAAqE;gBACrE,kEAAkE;gBAClE,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,gBAAgB,CAAC;gBAC7E,GAAG,CAAC,QAAQ,EAAE,OAAO,KAAK,gBAAgB,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxE,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,aAAa;oBAClB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;oBACjD,CAAC,CAAC,QAAQ,EAAE,mBAAmB;wBAC7B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;wBACrD,CAAC,CAAC,SAAS;4BACT,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;4BAC7B,CAAC,CAAC,SAAS;aAClB,CAAC;YACF,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACvE,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,GAAG,GAAG,CAAC,IAAwB,EAAE,EAAE,CAAC,CAAC,KAAa,EAAE,EAAE;oBAC1D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAClB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACjB,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC,CAAC;gBACF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,aAAa;oBAAE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,aAAa;gBAAE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1F,IAAI,SAAS,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACpC,yEAAyE;gBACzE,cAAc,GAAG,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;oBACrD,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC1C,aAAa,EAAE,QAAQ,EAAE,OAAO,KAAK,gBAAgB;iBACtD,CAAC,CAAC;YACL,CAAC;YACD,MAAM,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAC/D,OAAO,CAAC,CAAC;YACX,CAAC;YACD,MAAM,OAAO,GAAG,aAAa,EAAE,MAAM,EAAE,CAAC;YACxC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;gBACrB,qBAAqB,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,2BAA2B,EAAE,IAAI,CAAC,CAAC;gBACzF,OAAO,CAAC,CAAC;YACX,CAAC;YACD,IAAI,SAAS,GAAuC,IAAI,CAAC;YACzD,IAAI,CAAC;gBACH,SAAS,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtE,CAAC;YAAC,MAAM,CAAC;gBACP,wEAAwE;gBACxE,qEAAqE;YACvE,CAAC;YACD,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC9C,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;YACxF,CAAC;iBAAM,CAAC;gBACN,qBAAqB,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAC5F,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;gBACzE,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAC/D,OAAO,CAAC,CAAC;YACX,CAAC;YACD,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpE,qBAAqB,CACnB,QAAQ,EACR,GAAG,EACH,MAAM,CAAC,QAAQ,EACf,2BAA2B,EAC3B,OAAO,CAAC,OAAO,CAChB,CAAC;gBACF,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,aAAa,CAAC,QAAQ,EAAE;YACtB,cAAc,EAAE,MAAM,CAAC,QAAQ;YAC/B,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,MAAM,CAAC,IAAI;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;YAC/B,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC;gBAC/D,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE;gBAC9B,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;YAAS,CAAC;QACT,cAAc,EAAE,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,kBAAkB,CAC/B,QAA4B,EAC5B,MAAwB,EACxB,IAAqD;IAErD,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IACnC,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACxD,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAC/D,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,KAAmB,CAAC;IACxB,IAAI,CAAC;QACH,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE;YACnD,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,gBAAgB,CAAC;YAC7E,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAC/D,OAAO,CAAC,CAAC;IACX,CAAC;IACD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,UAAU,EAAE;YACpD,IAAI,EAAE,QAAQ,CAAC,aAAa;YAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACnC,MAAM,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACjD,wEAAwE;YACxE,uEAAuE;YACvE,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;YAC1E,OAAO,CAAC,CAAC;QACX,CAAC;QACD,6EAA6E;QAC7E,2EAA2E;QAC3E,iBAAiB,CAAC,QAAQ,CAAC,cAAc,EAAE;YACzC,OAAO,EAAE,4BAA4B;YACrC,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,IAAI,EAAE,QAAQ,CAAC,aAAa;YAC5B,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC,eAAe;YACjD,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ;YACnC,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;SACjC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,aAAa,CAAC,QAAQ,EAAE;YACtB,cAAc,EAAE,MAAM,CAAC,QAAQ;YAC/B,cAAc,EAAE,IAAI;YACpB,QAAQ;YACR,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;YAC/B,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClF,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACjD,aAAa,CAAC,QAAQ,EAAE;YACtB,cAAc,EAAE,MAAM,CAAC,QAAQ;YAC/B,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;YAC/B,UAAU,EAAE,WAAW,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAChF,CAAC,CAAC;QACH,OAAO,CAAC,CAAC;IACX,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED;uDACuD;AACvD,SAAS,mBAAmB,CAAC,KAAmB;IAC9C,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAO,EAAE,CAAC,CAAC;IACxD,IAAI,YAAY,GAA2C,IAAI,CAAC;IAChE,MAAM,aAAa,GAAmC,EAAE,CAAC;IACzD,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACxB,IAAI,KAAmB,CAAC;QACxB,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAiB,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,iDAAiD;QAC3D,CAAC;QACD,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,CAAC,KAAY,EAAE,EAAE;QACjC,KAAK,MAAM,OAAO,IAAI,aAAa;YAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAClC,SAAS,CAAC,IAAI,KAAK,CAAC,iCAAiC,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAC/F,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1C,OAAO;QACL,IAAI,CAAC,KAAK;YACR,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,CAAC,OAAO;YACb,YAAY,GAAG,OAAO,CAAC;QACzB,CAAC;QACD,OAAO,CAAC,OAAO;YACb,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QACD,KAAK;YACH,IAAI,CAAC;gBACH,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,iBAAiB;YACnB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED;yEACyE;AACzE,SAAS,cAAc,CACrB,MAAc,EACd,YAA0B,EAC1B,QAA2B;IAE3B,OAAO,IAAI,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;QAClC,MAAM,gBAAgB,GAAG,MAAM,CAAC;QAChC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,SAAkB,EAAE,EAAE;YACpC,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC,CAAC;QACF,IAAI,KAA+B,CAAC;QACpC,IAAI,CAAC;YACH,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;gBAChD,iEAAiE;gBACjE,gEAAgE;gBAChE,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,KAAK,CAAC,CAAC;YACd,OAAO;QACT,CAAC;QACD,uEAAuE;QACvE,gEAAgE;QAChE,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE;YAC/B,IAAI,aAAa,IAAI,gBAAgB;gBAAE,OAAO;YAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,gBAAgB,GAAG,aAAa,CAAC,CAAC;YAClE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAChC,aAAa,IAAI,KAAK,CAAC,MAAM,CAAC;QAChC,CAAC,CAAC;QACF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,uEAAuE;QACvE,uEAAuE;QACvE,kEAAkE;QAClE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,cAAc;YAChB,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB;IACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnE,OAAO,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,IAAI,kBAAkB,EAAE,EAAE,CAAC;IACzB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC;IAClD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC/E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CACjF,CAAC,IAAI,EAAE,EAAE;YACP,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1B,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,MAAM,IAAI,CAAC,CAAC;YACxD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
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"}
|