litmus-cli 1.4.47 → 1.4.49

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.
@@ -1,4 +1,4 @@
1
- import { createWriteStream, unlinkSync, existsSync, readFileSync, writeFileSync, appendFileSync, mkdirSync, copyFileSync } from "fs";
1
+ import { createWriteStream, unlinkSync, existsSync, readFileSync, writeFileSync, appendFileSync, mkdirSync, copyFileSync, rmSync } from "fs";
2
2
  import { pipeline } from "stream/promises";
3
3
  import { Readable } from "stream";
4
4
  import path from "path";
@@ -11,8 +11,8 @@ import { extractZip } from "../lib/extract.js";
11
11
  import { ensureEditorAutosave } from "../lib/editor-autosave.js";
12
12
  import { startTracker, waitForTrackerReady } from "../lib/tracker.js";
13
13
  import { detectProject, installRuntime, GRADING_PYTHON_VERSION } from "../lib/detect-project.js";
14
- import { bindNotebooks, buildVenvWithUv, declaredRequirements, kernelNameFor, probeEnvironment, registerKernel, uvVersion, hasJupyterLab, venvJupyterCommand, } from "../lib/python-env.js";
15
- import { fatal, success, info, warn, setErrorContext, reportSuccess, reportEvent, FALLBACK_URL } from "../lib/errors.js";
14
+ import { bindNotebooks, buildVenvWithUv, kernelNameFor, probeEnvironment, registerKernel, uvVersion, hasJupyterLab, venvJupyterCommand, } from "../lib/python-env.js";
15
+ import { fatal, warn, setErrorContext, reportSuccess, reportEvent } from "../lib/errors.js";
16
16
  import { resolveApiBase, resolveBackendBase } from "../lib/api-base.js";
17
17
  import { CLI_VERSION } from "../lib/version.js";
18
18
  import { formatDeadlinePT } from "../lib/format-time.js";
@@ -33,7 +33,8 @@ export async function runInit(token) {
33
33
  try {
34
34
  metadata = await fetchInitMetadata(apiBase, token);
35
35
  setErrorContext({ candidateEmail: metadata.candidateEmail, assessmentName: metadata.assessmentName });
36
- spinner.succeed("Connected");
36
+ // ENG-2895: the header below names the assessment, which is the proof this worked.
37
+ spinner.stop();
37
38
  }
38
39
  catch (err) {
39
40
  spinner.fail("Connection failed");
@@ -45,27 +46,14 @@ export async function runInit(token) {
45
46
  }
46
47
  // Check for naming collision
47
48
  const targetDir = path.resolve(process.cwd(), metadata.folderName);
48
- if (existsSync(targetDir)) {
49
- fatal(`Folder "${metadata.folderName}" already exists in this directory.`, `Delete or rename it, then re-run litmus init with your token.`, { severity: "warning" });
50
- }
51
- // Print what we're setting up
52
- console.log();
53
- console.log(chalk.bold(` ${metadata.assessmentName}`));
54
- if (metadata.deadline) {
55
- const deadline = new Date(metadata.deadline);
56
- const hoursLeft = Math.max(0, Math.floor((deadline.getTime() - Date.now()) / (1000 * 60 * 60)));
57
- const deadlineStr = formatDeadlinePT(deadline);
58
- if (hoursLeft < 24) {
59
- warn(`Deadline in ${hoursLeft} hours (${deadlineStr})`);
60
- }
61
- else {
62
- info(`Deadline: ${deadlineStr}`);
63
- }
64
- }
65
- if (metadata.timeLimit) {
66
- info(`Time limit: ${metadata.timeLimit} minutes`);
67
- }
49
+ // ENG-2895: the likely reason is a candidate who already started, so the first way
50
+ // out keeps their work; "delete it" was the only one offered before.
51
+ const folderExists = () => fatal(`${metadata.folderName} already exists here.`, `If you already started, cd ${metadata.folderName} and keep working. To start over, delete or rename it, then run litmus init again.`, { severity: "warning" });
52
+ if (existsSync(targetDir))
53
+ folderExists();
54
+ // Print what we're setting up: one line (ENG-2895).
68
55
  console.log();
56
+ console.log(initHeaderLine(metadata.assessmentName, metadata.deadline ? new Date(metadata.deadline) : null, metadata.timeLimit ?? null));
69
57
  // Step 2: Download ZIP to a temp file
70
58
  const downloadSpinner = ora("Downloading assessment...").start();
71
59
  const tmpZip = path.join(os.tmpdir(), `litmus-${Date.now()}.zip`);
@@ -76,25 +64,54 @@ export async function runInit(token) {
76
64
  }
77
65
  const nodeStream = Readable.fromWeb(zipResponse.body);
78
66
  await pipeline(nodeStream, createWriteStream(tmpZip));
79
- downloadSpinner.succeed("Downloaded");
67
+ // ENG-2895: one line for download and unpack, printed once the folder exists.
68
+ downloadSpinner.stop();
80
69
  }
81
70
  catch (err) {
82
71
  downloadSpinner.fail("Download failed");
83
72
  const msg = err instanceof Error ? err.message : String(err);
84
73
  const detail = err instanceof ServerError ? `${err.message}\n${err.detail}` : undefined;
85
74
  const severity = err instanceof ServerError && err.statusCode && err.statusCode < 500 ? "warning" : "error";
86
- fatal(msg, `Contact the company for help or visit ${FALLBACK_URL}.`, { internalDetail: detail, severity });
75
+ fatal(msg, hintForError(err), { internalDetail: detail, severity });
76
+ }
77
+ // Step 3: Extract from temp file to target directory.
78
+ //
79
+ // Claim the folder EXCLUSIVELY first (a non-recursive mkdir fails if it exists). The
80
+ // existsSync check above runs before the download, so two inits racing for the same
81
+ // name can both pass it; this is what makes the folder this run's own, and so what
82
+ // makes removing it on a failed unpack safe (Greptile on #3101).
83
+ try {
84
+ mkdirSync(targetDir);
85
+ }
86
+ catch (err) {
87
+ try {
88
+ unlinkSync(tmpZip);
89
+ }
90
+ catch { /* cleanup */ }
91
+ if (err.code === "EEXIST")
92
+ folderExists();
93
+ // Anything else (a read-only directory, a permissions problem) goes through `fatal`
94
+ // like every other init failure: a help line, and a report (Greptile on #3101).
95
+ const msg = err instanceof Error ? err.message : String(err);
96
+ fatal(`Couldn't create ${metadata.folderName}/ here.`, "Run litmus init from a folder you can write to.", { internalDetail: msg, severity: "warning" });
87
97
  }
88
- // Step 3: Extract from temp file to target directory
89
98
  const extractSpinner = ora(`Setting up ${metadata.folderName}/...`).start();
90
99
  try {
91
100
  await extractZip(tmpZip, targetDir);
92
- extractSpinner.succeed(`Created ${chalk.bold(metadata.folderName)}/`);
101
+ extractSpinner.succeed(`Downloaded to ${chalk.bold(metadata.folderName)}/`);
93
102
  }
94
103
  catch (err) {
95
- extractSpinner.fail("Extraction failed");
104
+ extractSpinner.fail("Couldn't unpack the assessment");
105
+ // The raw zip-safety reason (size cap, entry cap, path traversal) is for us, not them.
96
106
  const msg = err instanceof Error ? err.message : String(err);
97
- fatal(msg, `Contact the company for help or visit ${FALLBACK_URL}.`);
107
+ // Remove what the failed unpack left behind, or the retry this tells them to run is
108
+ // refused with "already exists" (Greptile on #3101). Safe: this run created the
109
+ // folder exclusively just above, so nothing in it belongs to anyone else.
110
+ try {
111
+ rmSync(targetDir, { recursive: true, force: true });
112
+ }
113
+ catch { /* best effort */ }
114
+ fatal("The assessment download is damaged.", "Run litmus init again, or contact the company.", { internalDetail: msg });
98
115
  }
99
116
  finally {
100
117
  try {
@@ -194,10 +211,8 @@ export async function runInit(token) {
194
211
  // #2223). It restates, in the terminal, what the disclosure they already
195
212
  // accepted on the assessment page covers.
196
213
  console.log();
197
- console.log(chalk.dim("AI usage tracking: installing hooks for Claude Code, Codex, Cursor, the Gemini CLI"));
198
- console.log(chalk.dim("and the Copilot CLI, and marking them trusted for this assessment folder. The hooks"));
199
- console.log(chalk.dim("run for AI prompts anywhere on this machine but record only the ones made inside"));
200
- console.log(chalk.dim("this folder. Removed when you run litmus submit."));
214
+ for (const line of aiTrackingDisclosureLines())
215
+ console.log(line);
201
216
  const result = setupAiTracking(targetDir);
202
217
  if (result.mode === "project") {
203
218
  // User-scope install failed (sandboxed HOME, permissions, etc.). The
@@ -206,9 +221,7 @@ export async function runInit(token) {
206
221
  // on the candidate's Claude Code cwd being inside the assessment dir,
207
222
  // since the project-scope hook can't use the active-assessments
208
223
  // registry fallback (it references a relative logger path).
209
- console.log();
210
- console.log(chalk.yellow("AI prompt tracking installed at project scope (user-scope install failed)."));
211
- console.log(chalk.dim(" Capture only works when Claude Code is run from inside the assessment directory."));
224
+ console.log(chalk.yellow(` Claude Code prompts are recorded only when you start Claude Code inside ${metadata.folderName}/.`));
212
225
  }
213
226
  const stillGated = [
214
227
  ...(result.codexTrustPinned ? [] : ["Codex"]),
@@ -239,10 +252,8 @@ export async function runInit(token) {
239
252
  for (const line of renderCursorRestartOutcome(cursorRestart))
240
253
  console.log(line);
241
254
  }
242
- console.log();
243
255
  for (const line of captureNoticeLines(stillGated))
244
256
  console.log(line);
245
- console.log();
246
257
  // Greptile P2 on #2613: drop the Cursor sentence exactly when repeating
247
258
  // it would contradict what was just said above — a successful restart
248
259
  // (already handled) or a failed relaunch (Cursor is closed, not open,
@@ -252,36 +263,23 @@ export async function runInit(token) {
252
263
  const cursorHandledOrClosed = cursorRestart?.kind === "restarted" || cursorRestart?.kind === "relaunch-unconfirmed";
253
264
  for (const line of restartWarningLines({ includeCursor: !cursorHandledOrClosed }))
254
265
  console.log(line);
266
+ // Their ~/.cursor/hooks.json, ~/.gemini/settings.json or the project's
267
+ // .github/hooks/litmus.json couldn't be parsed, so it could not be merged into and was
268
+ // replaced. We keep a copy, but replacing a config must never be silent: there may
269
+ // have been hooks or settings in it they need.
255
270
  if (result.cursorConfigReplaced) {
256
- // Their ~/.cursor/hooks.json couldn't be parsed, so it could not be merged
257
- // into and was replaced. We keep a copy, but replacing someone's editor
258
- // config must never be silent — they may have had hooks of their own.
259
- console.log();
260
- console.log(chalk.yellow("Your ~/.cursor/hooks.json could not be parsed and was replaced."));
261
- console.log(chalk.dim(` A copy was saved as ${result.cursorBackupPath ?? "~/.cursor/hooks.json.litmus-backup"} — if you`));
262
- console.log(chalk.dim(" had your own Cursor hooks, restore them from there."));
271
+ console.log(replacedConfigLine("~/.cursor/hooks.json", result.cursorBackupPath ?? "~/.cursor/hooks.json.litmus-backup"));
263
272
  }
264
273
  if (result.copilotConfigReplaced) {
265
- // Same rule as Cursor above: replacing a config we couldn't merge into is
266
- // unavoidable, but it must never be silent.
267
- console.log();
268
- console.log(chalk.yellow("This project's .github/hooks/litmus.json could not be parsed and was replaced."));
269
- console.log(chalk.dim(` A copy was saved as ${result.copilotBackupPath ?? "litmus.json.litmus-backup"}.`));
274
+ console.log(replacedConfigLine(".github/hooks/litmus.json", result.copilotBackupPath ?? ".github/hooks/litmus.json.litmus-backup"));
270
275
  }
271
276
  if (result.geminiConfigReplaced) {
272
- // Same rule again — ~/.gemini/settings.json is the candidate's whole
273
- // Gemini config, so replacing it must never be silent.
274
- console.log();
275
- console.log(chalk.yellow("Your ~/.gemini/settings.json could not be parsed and was replaced."));
276
- console.log(chalk.dim(` A copy was saved as ${result.geminiBackupPath ?? "~/.gemini/settings.json.litmus-backup"} — if you`));
277
- console.log(chalk.dim(" had your own Gemini settings, restore them from there."));
277
+ console.log(replacedConfigLine("~/.gemini/settings.json", result.geminiBackupPath ?? "~/.gemini/settings.json.litmus-backup"));
278
278
  }
279
279
  }
280
280
  catch (err) {
281
281
  const message = err instanceof Error ? err.message : String(err);
282
- console.log();
283
- console.log(chalk.yellow("AI prompt tracking setup failed:"), message);
284
- console.log(chalk.dim(" Assessment will still work, but Claude Code / Copilot CLI / Cursor / Gemini activity won't be captured."));
282
+ console.log(chalk.yellow(` AI tracking setup failed, so your AI prompts won't be recorded. Run litmus doctor in ${metadata.folderName}/ to fix it.`));
285
283
  try {
286
284
  const litmusDir = path.join(targetDir, ".litmus");
287
285
  mkdirSync(litmusDir, { recursive: true });
@@ -303,19 +301,14 @@ export async function runInit(token) {
303
301
  // project's install command unprompted, and this is the declared runtime of
304
302
  // the project they were handed rather than a preference of ours.
305
303
  if (project.missingRuntime === "bun") {
306
- const bunSpinner = ora(`${chalk.cyan("bun")} is this project's runtime and isn't installed — installing it...`).start();
304
+ const bunSpinner = ora(`Installing ${chalk.cyan("bun")}, this project's runtime...`).start();
307
305
  if (installRuntime("bun") === "installed") {
308
306
  bunSpinner.succeed("Bun installed");
309
307
  }
310
308
  else {
311
- bunSpinner.warn("Couldn't install Bun automatically");
312
- console.log();
313
- console.log(chalk.yellow("This project's runtime is Bun, and we couldn't install it for you. Install it " +
314
- "yourself:\n" +
315
- " curl -fsSL https://bun.sh/install | bash\n" +
316
- " # or, with Homebrew: brew install oven-sh/bun/bun\n" +
317
- "then run `bun install` in this folder. npm can install the dependencies but " +
318
- "cannot run the scaffold's server, which uses Bun-only APIs."));
309
+ bunSpinner.warn("Couldn't install Bun. This project needs it.");
310
+ console.log(chalk.cyan(" curl -fsSL https://bun.sh/install | bash"));
311
+ console.log(chalk.yellow(` Then run bun install in ${metadata.folderName}/.`));
319
312
  }
320
313
  }
321
314
  // ENG-1824: uv can do the one thing pip structurally cannot — fetch the
@@ -334,7 +327,6 @@ export async function runInit(token) {
334
327
  return ok;
335
328
  })();
336
329
  if (project.installCommand && !uvBuilt) {
337
- console.log();
338
330
  const installSpinner = ora(`Running ${chalk.cyan(project.installCommand)}... (this may take a minute)`).start();
339
331
  try {
340
332
  execSync(project.installCommand, {
@@ -344,7 +336,7 @@ export async function runInit(token) {
344
336
  installSpinner.succeed("Dependencies installed");
345
337
  }
346
338
  catch {
347
- installSpinner.warn(`Couldn't run "${project.installCommand}" automatically. Run it manually inside ${metadata.folderName}/.`);
339
+ installSpinner.warn(`"${project.installCommand}" failed. Run it in ${metadata.folderName}/ to see why.`);
348
340
  }
349
341
  // The candidate develops locally but is graded in our sandbox, so a version
350
342
  // skew between the two is ours to disclose, not theirs to discover from a
@@ -354,8 +346,7 @@ export async function runInit(token) {
354
346
  // warning names the interpreter the PROBE found on the machine, and uv
355
347
  // built the venv on the grading version regardless of what that was.
356
348
  if (project.toolchainWarning) {
357
- console.log();
358
- console.log(chalk.yellow(project.toolchainWarning));
349
+ warn(project.toolchainWarning.split("{folder}").join(metadata.folderName));
359
350
  }
360
351
  }
361
352
  // Step 7b: bind the notebook to the environment we just built (ENG-1824).
@@ -381,23 +372,16 @@ export async function runInit(token) {
381
372
  if (registerKernel(targetDir, kernelName, `Litmus (${metadata.assessmentName})`)) {
382
373
  kernelBound = bindNotebooks(targetDir, kernelName, `Litmus (${metadata.assessmentName})`);
383
374
  }
384
- if (probe.version) {
385
- const declared = declaredRequirements(targetDir).length;
386
- const short = [
387
- `Python ${probe.version}`,
388
- declared ? `${declared - probe.missing.length}/${declared} packages` : null,
389
- kernelBound.length ? "notebook kernel set" : null,
390
- ].filter(Boolean).join(" · ");
391
- info(short);
392
- }
375
+ // ENG-2895: the probe's summary line (version, package count, kernel) is cut. It
376
+ // restated a step that worked; what didn't work is named just below.
393
377
  // STATED, NOT SWALLOWED. A package that did not install, or one that
394
378
  // installed and cannot import, is something the candidate is about to hit
395
379
  // as an error in their first cell — with no way to tell our problem from
396
380
  // theirs. Naming it here costs a line and saves that guess.
397
381
  const unusable = [...probe.missing, ...probe.broken];
398
382
  if (unusable.length) {
399
- warn(`These packages aren't usable in venv/: ${unusable.join(", ")}. ` +
400
- `Re-run the install inside ${metadata.folderName}/ before you start.`);
383
+ warn(`These packages didn't install: ${unusable.join(", ")}. ` +
384
+ `Run ${project.installCommand ?? "the install"} in ${metadata.folderName}/ before you start.`);
401
385
  }
402
386
  }
403
387
  // Step 7c (ENG-2543): autosave on for VS Code and Cursor, so work in an open
@@ -414,7 +398,7 @@ export async function runInit(token) {
414
398
  execSync("git commit -m \"Assessment: initial state\"", { cwd: targetDir, stdio: "pipe" });
415
399
  }
416
400
  catch {
417
- warn("Git is installed but failed to initialize. Check your git config (user.name / user.email).");
401
+ warn(gitStartFailedLine(metadata.folderName));
418
402
  }
419
403
  }
420
404
  catch {
@@ -495,53 +479,33 @@ export async function runInit(token) {
495
479
  // Done — print next steps
496
480
  reportSuccess("init", `Assessment "${metadata.assessmentName}" initialized`);
497
481
  console.log();
498
- if (trackerRunning) {
499
- success("Assessment ready");
500
- }
501
- else {
482
+ if (!trackerRunning) {
502
483
  for (const line of trackerNotStartedLines(metadata.folderName))
503
484
  console.log(line);
504
485
  // "error", not the capture check's "warning": the candidate is now inside
505
486
  // an assessment with nothing recording it, which is a problem that REMAINS
506
487
  // until they run doctor — the same tier doctor itself uses (ENG-1883).
507
488
  reportEvent("error", `Tracker did not start at init (${trackerStart})`, undefined, "tracker_start").catch(() => { });
508
- }
509
- console.log();
510
- console.log(chalk.bold(" Next steps:"));
511
- console.log();
512
- console.log(` ${chalk.cyan(`cd ${metadata.folderName}`)}`);
513
- console.log(` ${chalk.dim("# Optional: open in a new window")}`);
514
- console.log(` ${chalk.cyan("code .")} ${chalk.dim("or")} ${chalk.cyan("cursor .")}`);
515
- // THE LAST THING THEY READ, and until ENG-1824 it went straight from `cd` to
516
- // an editor — which is precisely where the wrong interpreter gets chosen. The
517
- // jupyter line is first because it is the only one that needs no choosing at
518
- // all: launched from the venv, the notebook's kernel IS this environment,
519
- // whatever the machine's other Pythons are.
520
- if (kernelBound.length && hasJupyterLab(targetDir)) {
521
- console.log();
522
- // Quoted: a shipped notebook is free to have a space in its filename, and
523
- // this line is meant to be copy-pasted.
524
- const notebook = /[\s'"]/.test(kernelBound[0]) ? `"${kernelBound[0]}"` : kernelBound[0];
525
- console.log(` ${chalk.cyan(`${venvJupyterCommand()} lab ${notebook}`)}`);
526
- console.log(` ${chalk.dim("# or open it in your editor — the kernel is already set")}`);
527
- }
528
- else if (project.type === "python") {
529
- console.log();
530
- console.log(` ${chalk.cyan(process.platform === "win32" ? "venv\\Scripts\\activate" : "source venv/bin/activate")}`);
531
- console.log(` ${chalk.dim("# your dependencies live in venv/, not in your system Python")}`);
532
- }
533
- console.log();
534
- console.log(chalk.dim(" Commit often to save your progress."));
535
- console.log();
536
- console.log(chalk.dim(trackerRunning ? " Your work is being tracked. When you're done:" : " When you're done:"));
537
- console.log();
538
- console.log(` ${chalk.cyan("litmus submit")}`);
539
- console.log();
540
- if (metadata.deadline) {
541
- const deadline = new Date(metadata.deadline);
542
- console.log(chalk.dim(` Deadline: ${formatDeadlinePT(deadline)}`));
543
489
  console.log();
544
490
  }
491
+ for (const line of nextStepLines({
492
+ folderName: metadata.folderName,
493
+ trackerRunning,
494
+ // THE LAST THING THEY READ, and until ENG-1824 it went straight from `cd` to
495
+ // an editor — which is precisely where the wrong interpreter gets chosen. The
496
+ // jupyter line is first because it is the only one that needs no choosing at
497
+ // all: launched from the venv, the notebook's kernel IS this environment,
498
+ // whatever the machine's other Pythons are.
499
+ pythonLine: kernelBound.length && hasJupyterLab(targetDir)
500
+ // Quoted: a shipped notebook is free to have a space in its filename, and
501
+ // this line is meant to be copy-pasted.
502
+ ? `${venvJupyterCommand()} lab ${/[\s'"]/.test(kernelBound[0]) ? `"${kernelBound[0]}"` : kernelBound[0]}`
503
+ : project.type === "python"
504
+ ? (process.platform === "win32" ? "venv\\Scripts\\activate" : "source venv/bin/activate")
505
+ : null,
506
+ submitCommand: "litmus submit",
507
+ }))
508
+ console.log(line);
545
509
  // THE LAST THING PRINTED, by design (ENG-2477): the capture verdict. A pass
546
510
  // is one line; a failure is a block a candidate cannot scroll past without
547
511
  // reading, with the fix in it. It follows the next steps because the failure
@@ -570,14 +534,66 @@ export async function runInit(token) {
570
534
  */
571
535
  export function trackerNotStartedLines(folderName) {
572
536
  return [
573
- chalk.bgRed.white.bold(" ACTIVITY TRACKING DID NOT START: your work is not being recorded "),
574
- "",
575
- chalk.red.bold(" Your assessment files are ready, but the Litmus tracker that records your edits"),
576
- chalk.red.bold(" and commits is not running. Fix it before you start:"),
577
- chalk.red(` cd ${folderName} && litmus doctor ${chalk.dim("(restarts the tracker and checks it is running)")}`),
578
- chalk.red(` Still failing? Contact the company for help, or visit ${FALLBACK_URL}.`),
537
+ chalk.bgRed.white.bold(" ACTIVITY TRACKING DIDN'T START: your work isn't being recorded "),
538
+ chalk.red(` Fix it before you start: ${chalk.bold(`cd ${folderName} && litmus doctor`)}`),
539
+ chalk.red(" Still failing? Contact the company."),
540
+ ];
541
+ }
542
+ /**
543
+ * The starting commit failed, most often for want of a git identity. The recovery has to
544
+ * make the commit itself, not just re-run `git init` (Greptile on #3101).
545
+ */
546
+ export function gitStartFailedLine(folderName) {
547
+ return `Couldn't make the starting git commit. Set git user.name and user.email, then in ${folderName}/ run: ` +
548
+ `git init && git add -A && git commit -m "Assessment: initial state"`;
549
+ }
550
+ /**
551
+ * ENG-2895: the assessment, its deadline and its time limit on one line. The deadline is
552
+ * said here and nowhere else in the run; under 24 hours it turns yellow and counts down.
553
+ */
554
+ export function initHeaderLine(name, deadline, timeLimitMinutes, now = Date.now()) {
555
+ const parts = [chalk.bold(name)];
556
+ if (deadline) {
557
+ const hoursLeft = Math.max(0, Math.floor((deadline.getTime() - now) / (1000 * 60 * 60)));
558
+ const when = formatDeadlinePT(deadline);
559
+ parts.push(hoursLeft < 24 ? chalk.yellow(`due in ${hoursLeft} hour${hoursLeft === 1 ? "" : "s"} (${when})`) : `due ${when}`);
560
+ }
561
+ if (timeLimitMinutes)
562
+ parts.push(`${timeLimitMinutes} min time limit`);
563
+ return ` ${parts.join(" · ")}`;
564
+ }
565
+ /**
566
+ * Said BEFORE anything is written, so the candidate is told what is about to happen on
567
+ * their machine rather than after the fact (Greptile on #2223). It restates, in the
568
+ * terminal, what the disclosure they already accepted on the assessment page covers.
569
+ *
570
+ * The last line is ENG-2476's: what we do not record, we cannot count for them. Yellow,
571
+ * not dim, for the reason given there: it is the consequential line on this screen.
572
+ */
573
+ export function aiTrackingDisclosureLines() {
574
+ return [
575
+ chalk.dim(" Setting up AI tracking in Claude Code, Codex, Cursor, Gemini CLI and Copilot CLI, and trusting this folder in them."),
576
+ chalk.dim(" Only prompts made in this folder are recorded. litmus submit removes it."),
577
+ chalk.yellow(" The company reviews your AI use. AI work that isn't recorded can't count for you."),
579
578
  ];
580
579
  }
580
+ /** One of the candidate's own config files could not be merged into, so it was replaced. */
581
+ export function replacedConfigLine(file, backupPath) {
582
+ return chalk.yellow(` Litmus replaced your unreadable ${file}. Your old file is at ${backupPath}.`);
583
+ }
584
+ /**
585
+ * ENG-2895: what to do next, and nothing else. The deadline was already on the header
586
+ * line, and "Your work is being tracked" restated the tracker check. Without a running
587
+ * tracker the ✔ is withheld: `trackerNotStartedLines` has just said why (ENG-1905).
588
+ */
589
+ export function nextStepLines(opts) {
590
+ const lines = [opts.trackerRunning ? chalk.green("✔ Ready. Next:") : chalk.bold(" Next:")];
591
+ lines.push(` ${chalk.cyan(`cd ${opts.folderName}`)}`);
592
+ if (opts.pythonLine)
593
+ lines.push(` ${chalk.cyan(opts.pythonLine)}`);
594
+ lines.push(` ${chalk.cyan(opts.submitCommand)} ${chalk.dim("when you're done. Commit as you go.")}`);
595
+ return lines;
596
+ }
581
597
  /**
582
598
  * ENG-1865: one notice for whatever is still trust-gated. Codex (ENG-951),
583
599
  * Gemini and Copilot (ENG-1323, verified against 1.0.77) each run NO hooks
@@ -603,22 +619,15 @@ export function trackerNotStartedLines(folderName) {
603
619
  * count AGAINST them, because after ENG-2476 they do not; they count for nothing.
604
620
  */
605
621
  export function captureNoticeLines(stillGated) {
606
- const lines = [];
607
- if (stillGated.length === 0) {
608
- lines.push(chalk.yellow("AI usage tracking is on for Claude Code, Codex, Cursor, the Gemini CLI and the"));
609
- lines.push(chalk.yellow("Copilot CLI. The hiring company reviews your AI use as part of your submission,"));
610
- lines.push(chalk.yellow("and AI work that is not recorded cannot count in your favour."));
611
- }
612
- else {
613
- const list = stillGated.length === 1
614
- ? stillGated[0]
615
- : `${stillGated.slice(0, -1).join(", ")} or ${stillGated[stillGated.length - 1]}`;
616
- lines.push(chalk.yellow(`If you use ${list}, accept its trust prompt to enable process capture`));
617
- lines.push(chalk.yellow("(Codex: review the Litmus hooks under /hooks). The hiring company reviews your"));
618
- lines.push(chalk.yellow("AI use as part of your submission, and AI work that is not recorded cannot"));
619
- lines.push(chalk.yellow("count in your favour."));
620
- }
621
- return lines;
622
+ // ENG-2895: nothing to add when nothing is gated. `aiTrackingDisclosureLines` already
623
+ // said what is tracked and why it matters, and the self-test says whether it works.
624
+ if (stillGated.length === 0)
625
+ return [];
626
+ const list = stillGated.length === 1
627
+ ? stillGated[0]
628
+ : `${stillGated.slice(0, -1).join(", ")} or ${stillGated[stillGated.length - 1]}`;
629
+ const codexNote = stillGated.includes("Codex") ? " (in Codex, review the Litmus hooks under /hooks)" : "";
630
+ return [chalk.yellow(` If you use ${list}, accept its trust prompt${codexNote}, or its prompts won't be recorded.`)];
622
631
  }
623
632
  /**
624
633
  * Every one of these tools reads its hook config and trust ONCE, at startup,
@@ -651,16 +660,13 @@ export function captureNoticeLines(stillGated) {
651
660
  */
652
661
  export function restartWarningLines(opts = {}) {
653
662
  const includeCursor = opts.includeCursor ?? true;
654
- const lines = [
655
- chalk.yellow("If any of these tools is already open, quit it completely and reopen it now:"),
656
- chalk.yellow("a tool that was open when this ran records nothing, and everything will look"),
657
- chalk.yellow(`normal while it does not.${includeCursor ? "" : " (Cursor is handled above.)"}`),
658
- ];
659
- if (includeCursor) {
660
- lines.push(chalk.yellow("For Cursor, quit the whole app (Cmd+Q on macOS, File → Exit"));
661
- lines.push(chalk.yellow("elsewhere) — reloading the window or reconnecting is not enough."));
663
+ if (!includeCursor) {
664
+ return [chalk.yellow(" If any of the other tools is open now, quit the whole app and reopen it, or it records nothing.")];
662
665
  }
663
- return lines;
666
+ return [
667
+ chalk.yellow(" If any of these tools is open now, quit the whole app and reopen it, or it records nothing."),
668
+ chalk.yellow(" For Cursor, quit with Cmd+Q (File > Exit off macOS). A window reload or reconnect isn't enough."),
669
+ ];
664
670
  }
665
671
  /**
666
672
  * Set up AI prompt tracking for Claude Code, OpenAI Codex CLI, Cursor,
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AACpI,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAA2B,MAAM,mBAAmB,CAAA;AAC9F,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAChG,OAAO,EACL,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,aAAa,EACb,kBAAkB,GACnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACxH,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,8BAA8B,EAAE,+BAA+B,EAAE,8BAA8B,EAAE,6BAA6B,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAC7Y,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GAEpB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,yBAAyB,EACzB,qCAAqC,EACrC,mBAAmB,EACnB,0BAA0B,EAC1B,uBAAuB,GAExB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAGpD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAa;IACzC,8EAA8E;IAC9E,0EAA0E;IAC1E,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IAC1D,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;IAEnC,yBAAyB;IACzB,MAAM,OAAO,GAAG,GAAG,CAAC,yBAAyB,CAAC,CAAC,KAAK,EAAE,CAAA;IACtD,IAAI,QAAuD,CAAA;IAE3D,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAClD,eAAe,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAA;QACrG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QACjC,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC5D,MAAM,MAAM,GAAG,GAAG,YAAY,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QACvF,yFAAyF;QACzF,MAAM,QAAQ,GAAG,GAAG,YAAY,WAAW,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,SAAkB,CAAC,CAAC,CAAC,OAAgB,CAAA;QAC7H,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;IACrE,CAAC;IAED,6BAA6B;IAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAClE,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,KAAK,CACH,WAAW,QAAQ,CAAC,UAAU,qCAAqC,EACnE,+DAA+D,EAC/D,EAAE,QAAQ,EAAE,SAAS,EAAE,CACxB,CAAA;IACH,CAAC;IAED,8BAA8B;IAC9B,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAA;IACvD,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,CAAC,EACD,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CACjE,CAAA;QACD,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAC9C,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;YACnB,IAAI,CAAC,eAAe,SAAS,WAAW,WAAW,GAAG,CAAC,CAAA;QACzD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,WAAW,EAAE,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,QAAQ,CAAC,SAAS,UAAU,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAA;IAEb,sCAAsC;IACtC,MAAM,eAAe,GAAG,GAAG,CAAC,2BAA2B,CAAC,CAAC,KAAK,EAAE,CAAA;IAChE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAEjE,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QACrD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC/C,CAAC;QACD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CACjC,WAAW,CAAC,IAA8C,CAC3D,CAAA;QACD,MAAM,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAA;QACrD,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IACvC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QACvC,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC5D,MAAM,MAAM,GAAG,GAAG,YAAY,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QACvF,MAAM,QAAQ,GAAG,GAAG,YAAY,WAAW,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,SAAkB,CAAC,CAAC,CAAC,OAAgB,CAAA;QAC7H,KAAK,CAAC,GAAG,EAAE,yCAAyC,YAAY,GAAG,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC5G,CAAC;IAED,qDAAqD;IACrD,MAAM,cAAc,GAAG,GAAG,CAAC,cAAc,QAAQ,CAAC,UAAU,MAAM,CAAC,CAAC,KAAK,EAAE,CAAA;IAE3E,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QACnC,cAAc,CAAC,OAAO,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACvE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,cAAc,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QACxC,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC5D,KAAK,CAAC,GAAG,EAAE,yCAAyC,YAAY,GAAG,CAAC,CAAA;IACtE,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;IAED,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,0EAA0E;IAC1E,4EAA4E;IAC5E,4EAA4E;IAC5E,KAAK,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,CAAC;QACjF,IAAI,CAAC;YAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACvF,CAAC;IAED,6EAA6E;IAC7E,+EAA+E;IAC/E,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;IAC7C,MAAM,gBAAgB,GAA6B;QACjD,IAAI,EAAK,CAAC,eAAe,CAAC;QAC1B,MAAM,EAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC;QACrD,IAAI,EAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;QAC1C,MAAM,EAAG,CAAC,MAAM,EAAE,MAAM,CAAC;QACzB,IAAI,EAAK,CAAC,SAAS,CAAC;QACpB,IAAI,EAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC;QACvC,GAAG,EAAM,CAAC,SAAS,CAAC;QACpB,EAAE,EAAO,EAAE;QACX,OAAO,EAAE,EAAE;KACZ,CAAA;IACD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IACxD,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAClH,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;QACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QACvD,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACzC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA,CAAC,mBAAmB;YACrD,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,CAAA;QAC7D,CAAC,CAAC,CAAA;QACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,cAAc,CAAC,aAAa,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QACjE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,aAAa,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;IACjE,CAAC;IAED,oCAAoC;IACpC,4EAA4E;IAC5E,8EAA8E;IAC9E,wEAAwE;IACxE,4EAA4E;IAC5E,kEAAkE;IAClE,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpF,MAAM,WAAW,CAAC,SAAS,EAAE;QAC3B,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,KAAK;QACL,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,wBAAwB,EAAE,QAAQ,CAAC,wBAAwB;QAC3D,OAAO;QACP,UAAU;QACV,UAAU,EAAE,WAAW;QACvB,2EAA2E;QAC3E,yEAAyE;QACzE,wEAAwE;QACxE,+DAA+D;QAC/D,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;KAC1D,CAAC,CAAA;IAEF,mCAAmC;IACnC,0EAA0E;IAC1E,8GAA8G;IAC9G,4EAA4E;IAC5E,0EAA0E;IAC1E,wBAAwB;IACxB,EAAE;IACF,uEAAuE;IACvE,uEAAuE;IACvE,kEAAkE;IAClE,mEAAmE;IACnE,gBAAgB;IAChB,4EAA4E;IAC5E,wEAAwE;IACxE,yEAAyE;IACzE,wEAAwE;IACxE,mBAAmB;IACnB,IAAI,aAAa,GAA0B,IAAI,CAAA;IAC/C,IAAI,CAAC;QACH,0EAA0E;QAC1E,qEAAqE;QACrE,yEAAyE;QACzE,0CAA0C;QAC1C,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAC,CAAA;QAC5G,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAC,CAAA;QAC7G,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC,CAAA;QAC1G,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC,CAAA;QAC1E,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;QACzC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,qEAAqE;YACrE,sEAAsE;YACtE,uEAAuE;YACvE,sEAAsE;YACtE,gEAAgE;YAChE,4DAA4D;YAC5D,OAAO,CAAC,GAAG,EAAE,CAAA;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4EAA4E,CAAC,CAAC,CAAA;YACvG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAC,CAAA;QAC9G,CAAC;QACD,MAAM,UAAU,GAAG;YACjB,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC7C,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;YACnD,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;SACtD,CAAA;QACD,sEAAsE;QACtE,uEAAuE;QACvE,mEAAmE;QACnE,uEAAuE;QACvE,sEAAsE;QACtE,wEAAwE;QACxE,uEAAuE;QACvE,qEAAqE;QACrE,UAAU;QACV,IACE,sBAAsB,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC3C,qCAAqC,CAAC,OAAO,CAAC,QAAQ,CAAC,EACvD,CAAC;YACD,0DAA0D;YAC1D,oEAAoE;YACpE,+DAA+D;YAC/D,iEAAiE;YACjE,kEAAkE;YAClE,oEAAoE;YACpE,aAAa,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,QAAQ,EAAE,mBAAmB,EAAE,EAAE;gBACrF,WAAW,EAAE,GAAG,EAAE,GAAG,KAAK,MAAM,IAAI,IAAI,yBAAyB,EAAE;oBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC;aACzF,CAAC,CAAA;YACF,KAAK,MAAM,IAAI,IAAI,0BAA0B,CAAC,aAAa,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACjF,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,KAAK,MAAM,IAAI,IAAI,kBAAkB,CAAC,UAAU,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACpE,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,wEAAwE;QACxE,sEAAsE;QACtE,sEAAsE;QACtE,wEAAwE;QACxE,mEAAmE;QACnE,uEAAuE;QACvE,MAAM,qBAAqB,GACzB,aAAa,EAAE,IAAI,KAAK,WAAW,IAAI,aAAa,EAAE,IAAI,KAAK,sBAAsB,CAAA;QACvF,KAAK,MAAM,IAAI,IAAI,mBAAmB,CAAC,EAAE,aAAa,EAAE,CAAC,qBAAqB,EAAE,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACpG,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAChC,2EAA2E;YAC3E,wEAAwE;YACxE,sEAAsE;YACtE,OAAO,CAAC,GAAG,EAAE,CAAA;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iEAAiE,CAAC,CAAC,CAAA;YAC5F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,gBAAgB,IAAI,oCAAoC,WAAW,CAAC,CAAC,CAAA;YAC3H,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC,CAAA;QACjF,CAAC;QACD,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACjC,0EAA0E;YAC1E,4CAA4C;YAC5C,OAAO,CAAC,GAAG,EAAE,CAAA;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gFAAgF,CAAC,CAAC,CAAA;YAC3G,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,iBAAiB,IAAI,2BAA2B,GAAG,CAAC,CAAC,CAAA;QAC7G,CAAC;QACD,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAChC,qEAAqE;YACrE,uDAAuD;YACvD,OAAO,CAAC,GAAG,EAAE,CAAA;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oEAAoE,CAAC,CAAC,CAAA;YAC/F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,gBAAgB,IAAI,uCAAuC,WAAW,CAAC,CAAC,CAAA;YAC9H,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAA;QACpF,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAChE,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,kCAAkC,CAAC,EAAE,OAAO,CAAC,CAAA;QACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2GAA2G,CAAC,CAAC,CAAA;QACnI,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;YACjD,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACzC,aAAa,CACX,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,EACzC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CACtG,CAAA;QACH,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;YAClE,kDAAkD;QACpD,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,MAAM,OAAO,GAAG,YAAY,CAAA;IAE5B,6EAA6E;IAC7E,sEAAsE;IACtE,6EAA6E;IAC7E,qEAAqE;IACrE,EAAE;IACF,8EAA8E;IAC9E,4EAA4E;IAC5E,iEAAiE;IACjE,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,GAAG,CACpB,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,mEAAmE,CACxF,CAAC,KAAK,EAAE,CAAA;QACT,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,WAAW,EAAE,CAAC;YAC1C,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;QACrC,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;YACrD,OAAO,CAAC,GAAG,EAAE,CAAA;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CACtB,gFAAgF;gBAChF,aAAa;gBACb,gDAAgD;gBAChD,0DAA0D;gBAC1D,8EAA8E;gBAC9E,6DAA6D,CAC9D,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,8EAA8E;IAC9E,2EAA2E;IAC3E,4EAA4E;IAC5E,0EAA0E;IAC1E,6DAA6D;IAC7D,MAAM,OAAO,GACX,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,EAAE,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE;QACzD,MAAM,SAAS,GAAG,GAAG,CACnB,qBAAqB,sBAAsB,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAC1E,CAAC,KAAK,EAAE,CAAA;QACT,MAAM,EAAE,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;QACrC,IAAI,EAAE;YAAE,SAAS,CAAC,OAAO,CAAC,UAAU,sBAAsB,oBAAoB,CAAC,CAAA;;YAC1E,SAAS,CAAC,IAAI,EAAE,CAAA;QACrB,OAAO,EAAE,CAAA;IACX,CAAC,CAAC,EAAE,CAAA;IAEN,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,MAAM,cAAc,GAAG,GAAG,CACxB,WAAW,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,8BAA8B,CAC5E,CAAC,KAAK,EAAE,CAAA;QACT,IAAI,CAAC;YACH,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE;gBAC/B,GAAG,EAAE,SAAS;gBACd,KAAK,EAAE,MAAM;aACd,CAAC,CAAA;YACF,cAAc,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAA;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,cAAc,CAAC,IAAI,CACjB,iBAAiB,OAAO,CAAC,cAAc,2CAA2C,QAAQ,CAAC,UAAU,IAAI,CAC1G,CAAA;QACH,CAAC;QACD,4EAA4E;QAC5E,0EAA0E;QAC1E,uDAAuD;QACvD,EAAE;QACF,wEAAwE;QACxE,uEAAuE;QACvE,qEAAqE;QACrE,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,EAAE,CAAA;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAA;QACrD,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,EAAE;IACF,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,wEAAwE;IACxE,wEAAwE;IACxE,oCAAoC;IACpC,EAAE;IACF,sEAAsE;IACtE,oEAAoE;IACpE,EAAE;IACF,wEAAwE;IACxE,0EAA0E;IAC1E,6EAA6E;IAC7E,uCAAuC;IACvC,IAAI,WAAW,GAAa,EAAE,CAAA;IAC9B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAA;QACzC,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;QAChE,IAAI,cAAc,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,QAAQ,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YACjF,WAAW,GAAG,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,QAAQ,CAAC,cAAc,GAAG,CAAC,CAAA;QAC3F,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAA;YACvD,MAAM,KAAK,GAAG;gBACZ,UAAU,KAAK,CAAC,OAAO,EAAE;gBACzB,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,QAAQ,WAAW,CAAC,CAAC,CAAC,IAAI;gBAC3E,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI;aAClD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC7B,IAAI,CAAC,KAAK,CAAC,CAAA;QACb,CAAC;QACD,qEAAqE;QACrE,0EAA0E;QAC1E,yEAAyE;QACzE,4DAA4D;QAC5D,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;QACpD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,IAAI,CACF,0CAA0C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBACjE,6BAA6B,QAAQ,CAAC,UAAU,qBAAqB,CACtE,CAAA;QACH,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,0EAA0E;IAC1E,uEAAuE;IACvE,gDAAgD;IAChD,oBAAoB,CAAC,SAAS,CAAC,CAAA;IAE/B,kDAAkD;IAClD,IAAI,CAAC;QACH,QAAQ,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC;YACH,QAAQ,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;YACvD,QAAQ,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;YACzD,QAAQ,CACN,6CAA6C,EAC7C,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAClC,CAAA;QACH,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,4FAA4F,CAAC,CAAA;QACpG,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;IACnE,CAAC;IAED,+EAA+E;IAC/E,EAAE;IACF,8EAA8E;IAC9E,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,6EAA6E;IAC7E,yEAAyE;IACzE,2EAA2E;IAC3E,4EAA4E;IAC5E,2EAA2E;IAC3E,IAAI,aAAa,GAAiC,IAAI,CAAA;IACtD,IAAI,YAAY,GAAyB,EAAE,CAAA;IAC3C,CAAC;QACC,MAAM,eAAe,GAAG,GAAG,CAAC,4CAA4C,CAAC,CAAC,KAAK,EAAE,CAAA;QACjF,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,kBAAkB,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;YACzF,eAAe,CAAC,IAAI,EAAE,CAAA;QACxB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,qEAAqE;YACrE,oEAAoE;YACpE,eAAe,CAAC,IAAI,EAAE,CAAA;YACtB,aAAa,GAAG,IAAI,CAAA;YACpB,KAAK,GAAG,CAAA;QACV,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC;gBAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YACjF,yEAAyE;YACzE,wEAAwE;YACxE,IAAI,CAAC;gBAAC,MAAM,oBAAoB,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,mBAAmB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAC/H,uEAAuE;YACvE,oEAAoE;YACpE,wEAAwE;YACxE,YAAY,GAAG,sBAAsB,EAAE,CAAC,MAAM,CAC5C,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,aAAa,EAAE,IAAI,KAAK,WAAW,CAAC,CACtE,CAAA;QACH,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,EAAE;IACF,+EAA+E;IAC/E,sEAAsE;IACtE,0EAA0E;IAC1E,2EAA2E;IAC3E,4EAA4E;IAC5E,yEAAyE;IACzE,wBAAwB;IACxB,EAAE;IACF,2EAA2E;IAC3E,2EAA2E;IAC3E,qEAAqE;IACrE,2EAA2E;IAC3E,gEAAgE;IAChE,IAAI,YAA0C,CAAA;IAC9C,CAAC;QACC,MAAM,cAAc,GAAG,GAAG,CAAC,+BAA+B,CAAC,CAAC,KAAK,EAAE,CAAA;QACnE,IAAI,CAAC;YACH,YAAY,CAAC,SAAS,CAAC,CAAA;YACvB,YAAY,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAA;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,sEAAsE;YACtE,YAAY,GAAG,OAAO,CAAA;QACxB,CAAC;QACD,cAAc,CAAC,IAAI,EAAE,CAAA;IACvB,CAAC;IACD,MAAM,cAAc,GAAG,YAAY,KAAK,OAAO,CAAA;IAE/C,0BAA0B;IAC1B,aAAa,CAAC,MAAM,EAAE,eAAe,QAAQ,CAAC,cAAc,eAAe,CAAC,CAAA;IAC5E,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC7B,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,sBAAsB,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACjF,0EAA0E;QAC1E,2EAA2E;QAC3E,uEAAuE;QACvE,WAAW,CAAC,OAAO,EAAE,kCAAkC,YAAY,GAAG,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACrH,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAA;IACxC,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAA;IAC7D,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAA;IACnE,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;IACvF,6EAA6E;IAC7E,8EAA8E;IAC9E,6EAA6E;IAC7E,0EAA0E;IAC1E,4CAA4C;IAC5C,IAAI,WAAW,CAAC,MAAM,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,0EAA0E;QAC1E,wCAAwC;QACxC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QACvF,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,EAAE,QAAQ,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAA;QAC3E,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,yDAAyD,CAAC,EAAE,CAAC,CAAA;IAC5F,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAC3B,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,0BAA0B,CACtF,EAAE,CAAC,CAAA;QACJ,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,8DAA8D,CAAC,EAAE,CAAC,CAAA;IACjG,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAA;IAC/D,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAA;IAClH,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;IACjD,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;QACnE,OAAO,CAAC,GAAG,EAAE,CAAA;IACf,CAAC;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,6EAA6E;IAC7E,qDAAqD;IACrD,IAAI,aAAa,EAAE,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,qBAAqB,CAAC,aAAa,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;YAC3G,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,IAAI,aAAa,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YACrC,2EAA2E;YAC3E,6EAA6E;YAC7E,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACnH,WAAW,CAAC,SAAS,EAAE,qBAAqB,aAAa,CAAC,OAAO,aAAa,MAAM,EAAE,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QACxI,CAAC;IACH,CAAC;AACH,CAAC;AAED,mEAAmE;AAEnE;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAAkB;IACvD,OAAO;QACL,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,sEAAsE,CAAC;QAC9F,EAAE;QACF,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,mFAAmF,CAAC;QACnG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,wDAAwD,CAAC;QACxE,KAAK,CAAC,GAAG,CAAC,UAAU,UAAU,wBAAwB,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,EAAE,CAAC;QACrH,KAAK,CAAC,GAAG,CAAC,2DAA2D,YAAY,GAAG,CAAC;KACtF,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAoB;IACrD,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,gFAAgF,CAAC,CAAC,CAAA;QAC1G,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iFAAiF,CAAC,CAAC,CAAA;QAC3G,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,+DAA+D,CAAC,CAAC,CAAA;IAC3F,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC;YAClC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACf,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAA;QACnF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,IAAI,qDAAqD,CAAC,CAAC,CAAA;QACjG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,gFAAgF,CAAC,CAAC,CAAA;QAC1G,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,4EAA4E,CAAC,CAAC,CAAA;QACtG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAoC,EAAE;IACxE,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAA;IAChD,MAAM,KAAK,GAAG;QACZ,KAAK,CAAC,MAAM,CAAC,8EAA8E,CAAC;QAC5F,KAAK,CAAC,MAAM,CAAC,8EAA8E,CAAC;QAC5F,KAAK,CAAC,MAAM,CAAC,4BAA4B,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,6BAA6B,EAAE,CAAC;KAC/F,CAAA;IACD,IAAI,aAAa,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,6DAA6D,CAAC,CAAC,CAAA;QACvF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,kEAAkE,CAAC,CAAC,CAAA;IAC9F,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IACjD,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAA;IAE1E,gEAAgE;IAChE,EAAE;IACF,+EAA+E;IAC/E,4EAA4E;IAC5E,+EAA+E;IAC/E,+EAA+E;IAC/E,6EAA6E;IAC7E,oEAAoE;IACpE,EAAE;IACF,+EAA+E;IAC/E,uDAAuD;IACvD,IAAI,UAAU,GAAG,KAAK,CAAA;IACtB,2EAA2E;IAC3E,2EAA2E;IAC3E,kEAAkE;IAClE,IAAI,eAAe,GAAG,KAAK,CAAA;IAC3B,IAAI,CAAC;QACH,eAAe,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,KAAK,CAAA;QACtD,UAAU,GAAG,IAAI,CAAA;IACnB,CAAC;IAAC,MAAM,CAAC,CAAC,sEAAsE,CAAC,CAAC;IAElF,kCAAkC;IAClC,IAAI,IAAI,GAAuB,MAAM,CAAA;IACrC,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,4CAA4C;IAC5C,IAAI,cAAkC,CAAA;IACtC,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;QACzF,0BAA0B,CAAC,aAAa,CAAC,CAAA;IAC3C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,cAAc,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACjE,IAAI,GAAG,SAAS,CAAA;QAChB,wEAAwE;QACxE,wEAAwE;QACxE,0EAA0E;QAC1E,uEAAuE;QACvE,sEAAsE;QACtE,cAAc;QACd,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAA;QACpE,2BAA2B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IACnD,CAAC;IACD,sEAAsE;IACtE,uEAAuE;IACvE,0EAA0E;IAC1E,iEAAiE;IACjE,IAAI,mBAAmB,GAAG,KAAK,CAAA;IAC/B,IAAI,CAAC;QACH,mBAAmB,GAAG,8BAA8B,CAAC,SAAS,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,OAAO,CAAA;IAC9F,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;IAC3E,CAAC;IAED,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,0EAA0E;IAC1E,6CAA6C;IAC7C,IAAI,cAAc,GAAG,KAAK,CAAA;IAC1B,IAAI,gBAAgB,GAAG,KAAK,CAAA;IAC5B,IAAI,CAAC;QACH,gBAAgB,GAAG,yBAAyB,EAAE,CAAC,WAAW,CAAA;QAC1D,cAAc,GAAG,IAAI,CAAA;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,sDAAsD;IACxD,CAAC;IACD,uEAAuE;IACvE,wEAAwE;IACxE,yEAAyE;IACzE,iDAAiD;IACjD,IAAI,kBAAkB,GAAG,KAAK,CAAA;IAC9B,IAAI,CAAC;QACH,kBAAkB,GAAG,6BAA6B,CAAC,SAAS,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,OAAO,CAAA;IAC5F,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;IACtE,CAAC;IAED,kFAAkF;IAClF,8EAA8E;IAC9E,6EAA6E;IAC7E,2EAA2E;IAC3E,yEAAyE;IACzE,2EAA2E;IAC3E,iEAAiE;IACjE,IAAI,oBAAoB,GAAG,KAAK,CAAA;IAChC,IAAI,gBAAoC,CAAA;IACxC,IAAI,CAAC;QACH,4EAA4E;QAC5E,uEAAuE;QACvE,2EAA2E;QAC3E,8EAA8E;QAC9E,MAAM,YAAY,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAA;QAC9D,oBAAoB,GAAG,YAAY,CAAC,iBAAiB,CAAA;QACrD,gBAAgB,GAAG,YAAY,CAAC,UAAU,CAAA;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;IAC1E,CAAC;IAED,kEAAkE;IAClE,sEAAsE;IACtE,qEAAqE;IACrE,0EAA0E;IAC1E,sEAAsE;IACtE,8CAA8C;IAC9C,IAAI,eAAe,GAAG,KAAK,CAAA;IAC3B,IAAI,aAAa,GAAG,KAAK,CAAA;IACzB,IAAI,oBAAoB,GAAG,KAAK,CAAA;IAChC,IAAI,gBAAoC,CAAA;IACxC,IAAI,CAAC;QACH,yEAAyE;QACzE,uEAAuE;QACvE,MAAM,YAAY,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAA;QAC9D,eAAe,GAAG,IAAI,CAAA;QACtB,oBAAoB,GAAG,YAAY,CAAC,iBAAiB,CAAA;QACrD,gBAAgB,GAAG,YAAY,CAAC,UAAU,CAAA;QAC1C,yEAAyE;QACzE,0EAA0E;QAC1E,qEAAqE;QACrE,2EAA2E;QAC3E,aAAa,GAAG,8BAA8B,CAAC,SAAS,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,OAAO,CAAA;IACxF,CAAC;IAAC,MAAM,CAAC;QACP,0DAA0D;IAC5D,CAAC;IAED,qEAAqE;IACrE,EAAE;IACF,+EAA+E;IAC/E,iEAAiE;IACjE,qEAAqE;IACrE,0EAA0E;IAC1E,6EAA6E;IAC7E,0EAA0E;IAC1E,qDAAqD;IACrD,EAAE;IACF,6EAA6E;IAC7E,2EAA2E;IAC3E,kFAAkF;IAClF,mEAAmE;IACnE,EAAE;IACF,sEAAsE;IACtE,4EAA4E;IAC5E,wCAAwC;IACxC,IAAI,cAAc,GAAG,KAAK,CAAA;IAC1B,IAAI,qBAAqB,GAAG,KAAK,CAAA;IACjC,IAAI,iBAAqC,CAAA;IACzC,IAAI,CAAC;QACH,4EAA4E;QAC5E,2EAA2E;QAC3E,4EAA4E;QAC5E,iDAAiD;QACjD,MAAM,aAAa,GAAG,UAAU,CAAC,iBAAiB,CAAC;YACjD,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAA;QAC3C,MAAM,aAAa,GAAG,2BAA2B,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QAC3E,qBAAqB,GAAG,aAAa,CAAC,iBAAiB,CAAA;QACvD,iBAAiB,GAAG,aAAa,CAAC,UAAU,CAAA;QAC5C,uEAAuE;QACvE,cAAc,GAAG,+BAA+B,CAAC,SAAS,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,OAAO,CAAA;IAC1F,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;IAC7E,CAAC;IAED,uEAAuE;IACvE,uEAAuE;IACvE,4EAA4E;IAC5E,wEAAwE;IACxE,wEAAwE;IACxE,qEAAqE;IACrE,8EAA8E;IAC9E,iFAAiF;IACjF,+EAA+E;IAC/E,8EAA8E;IAC9E,IAAI,IAAI,KAAK,SAAS,IAAI,UAAU,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,sBAAsB,CAAC,SAAS,CAAC,CAAA;QACnC,CAAC;QAAC,MAAM,CAAC,CAAC,+DAA+D,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,mBAAmB,EAAE,cAAc,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAA;AACtR,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAS,2BAA2B,CAAC,SAAiB,EAAE,SAAiB;IACvE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IACjD,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACzC,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAA;IACtE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAA;IAC7D,MAAM,QAAQ,GAAG;QACf,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,CAAC;gBACN,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,QAAQ,aAAa,CAAC,aAAa,CAAC,SAAS;gBACtD,OAAO,EAAE,CAAC;aACX,CAAC;KACH,CAAA;IACD,MAAM,MAAM,GAAG,UAAU,CAAA;IACzB,IAAI,IAAI,GAA6F,EAAE,CAAA;IACvG,IAAI,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAA;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC;gBAAC,YAAY,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,gBAAgB,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAC3G,IAAI,GAAG,EAAE,CAAA;QACX,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,KAAV,IAAI,CAAC,KAAK,GAAK,EAAE,EAAC,CAAA;IACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAA;IACpF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,KAAK,CAAC,gBAAgB,GAAG,CAAC,GAAG,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC9C,aAAa,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AACzE,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,11 @@
1
+ import { type InstalledHooks } from "../lib/ai-tracking.js";
1
2
  export declare function runStatus(): Promise<void>;
3
+ /**
4
+ * Which tools' prompt hooks are missing, by name. Reads `detectInstalledHooks`, the
5
+ * check `litmus doctor` diagnoses with, so it uses the installers' own paths
6
+ * ($CODEX_HOME included; Greptile on #3101) and can't drift from them. Claude Code
7
+ * counts at either scope. `litmus init` installs all five, so any name here is one
8
+ * `doctor` repairs.
9
+ */
10
+ export declare function missingToolNames(hooks: Pick<InstalledHooks, "claude" | "codex" | "cursor" | "gemini" | "copilot">): string[];
2
11
  //# sourceMappingURL=status.d.ts.map