litmus-cli 1.4.22 → 1.4.25
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/README.md +30 -0
- package/dist/commands/connect.d.ts +231 -2
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +311 -12
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +16 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/pause.d.ts +36 -0
- package/dist/commands/pause.d.ts.map +1 -0
- package/dist/commands/pause.js +110 -0
- package/dist/commands/pause.js.map +1 -0
- package/dist/commands/push.d.ts +7 -1
- package/dist/commands/push.d.ts.map +1 -1
- package/dist/commands/push.js +40 -1
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/setup-check.d.ts +19 -0
- package/dist/commands/setup-check.d.ts.map +1 -0
- package/dist/commands/setup-check.js +48 -0
- package/dist/commands/setup-check.js.map +1 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +6 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/submit.d.ts.map +1 -1
- package/dist/commands/submit.js +18 -0
- package/dist/commands/submit.js.map +1 -1
- package/dist/index.js +38 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/api.d.ts +27 -0
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +45 -0
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/environment-checks.d.ts +123 -0
- package/dist/lib/environment-checks.d.ts.map +1 -0
- package/dist/lib/environment-checks.js +324 -0
- package/dist/lib/environment-checks.js.map +1 -0
- package/dist/lib/git-bundle.d.ts +19 -0
- package/dist/lib/git-bundle.d.ts.map +1 -0
- package/dist/lib/git-bundle.js +71 -0
- package/dist/lib/git-bundle.js.map +1 -0
- package/dist/lib/session-end.d.ts +111 -0
- package/dist/lib/session-end.d.ts.map +1 -0
- package/dist/lib/session-end.js +126 -0
- package/dist/lib/session-end.js.map +1 -0
- package/dist/lib/submit-route.d.ts +68 -0
- package/dist/lib/submit-route.d.ts.map +1 -0
- package/dist/lib/submit-route.js +73 -0
- package/dist/lib/submit-route.js.map +1 -0
- package/dist/lib/watcher.js +23 -2
- package/dist/lib/watcher.js.map +1 -1
- package/dist/lib/workspace-token.d.ts +69 -0
- package/dist/lib/workspace-token.d.ts.map +1 -0
- package/dist/lib/workspace-token.js +93 -0
- package/dist/lib/workspace-token.js.map +1 -0
- package/package.json +1 -1
package/dist/commands/connect.js
CHANGED
|
@@ -2,19 +2,21 @@ import os from "os";
|
|
|
2
2
|
import path from "path";
|
|
3
3
|
import readline from "readline";
|
|
4
4
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
5
|
-
import { execFileSync, spawn } from "child_process";
|
|
5
|
+
import { execFileSync, spawn, spawnSync } from "child_process";
|
|
6
6
|
import chalk from "chalk";
|
|
7
7
|
import ora from "ora";
|
|
8
8
|
import { fetchInitMetadata, startWorkspace, getConnection, fetchEditorChatConfig, ServerError, hintForError } from "../lib/api.js";
|
|
9
9
|
import { applyEditorChatConfig } from "../lib/chat-model-config.js";
|
|
10
10
|
import { resolveApiBase } from "../lib/api-base.js";
|
|
11
11
|
import { fatal, success, info, warn, setErrorContext } from "../lib/errors.js";
|
|
12
|
+
import { editorEndingForewarning } from "../lib/session-end.js";
|
|
12
13
|
/**
|
|
13
14
|
* `litmus connect <token>` — the CLI connector for the v2 codespace, modeled on
|
|
14
15
|
* `gh codespace ssh/code`. It removes the manual "paste your public key + copy
|
|
15
16
|
* an ssh -J string + edit ~/.ssh/config" dance:
|
|
16
17
|
*
|
|
17
|
-
* 1. authenticate with the assessment token (
|
|
18
|
+
* 1. authenticate with the assessment token (learns the backend URL; the
|
|
19
|
+
* candidate stays `pending` until step 3 answers with a workspace, ENG-2082)
|
|
18
20
|
* 2. ensure a local SSH key dedicated to Litmus (generate if absent)
|
|
19
21
|
* 3. POST /workspace/start with THIS machine's public key (registers it +
|
|
20
22
|
* provisions the container)
|
|
@@ -249,13 +251,17 @@ function writeSshConfig(alias, block, controlBlock) {
|
|
|
249
251
|
}
|
|
250
252
|
const NATIVE_EDITORS = {
|
|
251
253
|
vscode: {
|
|
254
|
+
ide: "vscode",
|
|
252
255
|
bin: "code",
|
|
256
|
+
banner: /^Visual Studio Code\b/,
|
|
253
257
|
label: "VS Code",
|
|
254
258
|
remoteSshExt: "ms-vscode-remote.remote-ssh",
|
|
255
259
|
shellCommand: "Shell Command: Install 'code' command",
|
|
256
260
|
},
|
|
257
261
|
cursor: {
|
|
262
|
+
ide: "cursor",
|
|
258
263
|
bin: "cursor",
|
|
264
|
+
banner: /^Cursor\b/,
|
|
259
265
|
label: "Cursor",
|
|
260
266
|
remoteSshExt: "anysphere.remote-ssh",
|
|
261
267
|
shellCommand: "Shell Command: Install 'cursor' command",
|
|
@@ -270,6 +276,119 @@ function hasEditorCli(ed) {
|
|
|
270
276
|
return false;
|
|
271
277
|
}
|
|
272
278
|
}
|
|
279
|
+
/**
|
|
280
|
+
* Map `--help` output to an editor we know, or null.
|
|
281
|
+
*
|
|
282
|
+
* FIRST NON-EMPTY LINE ONLY. The body of `--help` names both editors — Cursor's own
|
|
283
|
+
* usage example is `ps aux | grep code | cursor -` — so anything that scans the whole
|
|
284
|
+
* output identifies whichever pattern it happens to try first, on either editor.
|
|
285
|
+
*/
|
|
286
|
+
export function identifyEditorBanner(helpOutput) {
|
|
287
|
+
const first = helpOutput
|
|
288
|
+
.split(/\r?\n/)
|
|
289
|
+
.map((l) => l.trim())
|
|
290
|
+
.find((l) => l.length > 0);
|
|
291
|
+
if (!first)
|
|
292
|
+
return null;
|
|
293
|
+
for (const ed of Object.values(NATIVE_EDITORS)) {
|
|
294
|
+
if (ed.banner.test(first))
|
|
295
|
+
return ed.ide;
|
|
296
|
+
}
|
|
297
|
+
return null;
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* `--help` opens no window, writes the banner to stdout and exits 0 on both editors
|
|
301
|
+
* (measured). Three details are load-bearing.
|
|
302
|
+
*
|
|
303
|
+
* `shell` ON WINDOWS, matching `detect-project.ts`'s `isOnPath` and for the reason its
|
|
304
|
+
* docstring gives: VS Code's Windows install puts `code.cmd` on PATH, and CreateProcess
|
|
305
|
+
* resolves `.exe` only, so a shim-less `execFile`/`spawn` cannot run it at all. Without
|
|
306
|
+
* this the probe answers `unverified` on every Windows machine — which is safe (see
|
|
307
|
+
* `EditorIdentity`) but would mean the wrong-editor guarantee simply does not exist
|
|
308
|
+
* there, which is the whole ticket. The argv here is two literals we own, so putting it
|
|
309
|
+
* through cmd.exe quotes nothing and interpolates nothing.
|
|
310
|
+
*
|
|
311
|
+
* `spawnSync` rather than `execFileSync` so a non-zero exit is a STATUS rather than a
|
|
312
|
+
* throw: a `--help` that exits 1 having printed its banner is still an identification.
|
|
313
|
+
*
|
|
314
|
+
* stdout only — a chatty wrapper's stderr must not become an identity — and a timeout,
|
|
315
|
+
* so a hung binary cannot wedge connect.
|
|
316
|
+
*/
|
|
317
|
+
function runEditorHelp(bin) {
|
|
318
|
+
try {
|
|
319
|
+
const probed = spawnSync(bin, ["--help"], {
|
|
320
|
+
encoding: "utf8",
|
|
321
|
+
shell: process.platform === "win32",
|
|
322
|
+
timeout: 10000,
|
|
323
|
+
});
|
|
324
|
+
if (probed.error)
|
|
325
|
+
return null;
|
|
326
|
+
return probed.stdout ?? null;
|
|
327
|
+
}
|
|
328
|
+
catch {
|
|
329
|
+
// spawnSync throws (rather than returning a status) on some ENOENT paths.
|
|
330
|
+
return null;
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
export function identifyEditorCli(ed, run = runEditorHelp) {
|
|
334
|
+
const out = run(ed.bin);
|
|
335
|
+
if (out === null)
|
|
336
|
+
return { kind: "unverified" };
|
|
337
|
+
const actual = identifyEditorBanner(out);
|
|
338
|
+
if (actual === null)
|
|
339
|
+
return { kind: "unverified" };
|
|
340
|
+
return actual === ed.ide ? { kind: "match" } : { kind: "mismatch", actual };
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* ENG-2152 — the refusal, when the command the candidate's PATH answers with is the
|
|
344
|
+
* other editor.
|
|
345
|
+
*
|
|
346
|
+
* Two routes, and the one that WORKS RIGHT NOW comes first: on a machine where `code` is
|
|
347
|
+
* Cursor, Cursor is almost certainly the daily driver and VS Code may not be installed at
|
|
348
|
+
* all, so leading with "fix your PATH" leads with the thing that may be impossible.
|
|
349
|
+
* That ordering is the same one `announceCursorFullQuit` documents — what a candidate can
|
|
350
|
+
* act on immediately is what they read first.
|
|
351
|
+
*
|
|
352
|
+
* The offered command carries the token already inlined, for the reason `CursorReentry`
|
|
353
|
+
* gives: a `litmus connect <token>` a candidate has to repair themselves is worse than no
|
|
354
|
+
* command at all.
|
|
355
|
+
*
|
|
356
|
+
* When the editor that answered is Cursor, the quit requirement rides along. It is the
|
|
357
|
+
* headline only, not the whole ENG-1728 notice, because the command being offered prints
|
|
358
|
+
* that notice in full at selection time before anything opens — this is a FORWARD
|
|
359
|
+
* reference to output the candidate is about to see, not ENG-2145's back-reference to
|
|
360
|
+
* output that has scrolled away. Restating the whole block here would also have to
|
|
361
|
+
* restate its "this command is still running and will open Cursor for you", which on
|
|
362
|
+
* this path is false.
|
|
363
|
+
*/
|
|
364
|
+
export function editorMismatchLines(chosen, actual, reentry = CURSOR_REENTRY_FALLBACK) {
|
|
365
|
+
const lines = [
|
|
366
|
+
"",
|
|
367
|
+
chalk.yellow.bold(` ⚠ The \`${chosen.bin}\` command on your PATH is ${actual.label}, not ${chosen.label}.`),
|
|
368
|
+
"",
|
|
369
|
+
` You asked for ${chosen.label}, so nothing has been opened and no extension has been`,
|
|
370
|
+
` installed. Working in ${actual.label} while you believe you are in ${chosen.label} would`,
|
|
371
|
+
" leave your AI work unrecorded, so this stops here instead.",
|
|
372
|
+
"",
|
|
373
|
+
" Your workspace is up and waiting — nothing has been lost.",
|
|
374
|
+
"",
|
|
375
|
+
` To carry on in ${actual.label} — which is what \`${chosen.bin}\` actually is — run:`,
|
|
376
|
+
"",
|
|
377
|
+
` ${chalk.cyan(`${reentry.command} --ide ${actual.ide}`)}`,
|
|
378
|
+
];
|
|
379
|
+
if (actual.ide === "cursor") {
|
|
380
|
+
lines.push("");
|
|
381
|
+
lines.push(chalk.yellow(" ⚠ Quit Cursor completely before you run that, or your work is not recorded."));
|
|
382
|
+
lines.push(" That command explains why, in full, before anything opens.");
|
|
383
|
+
}
|
|
384
|
+
lines.push("");
|
|
385
|
+
lines.push(` To carry on in ${chosen.label} instead, put its own \`${chosen.bin}\` command first on`);
|
|
386
|
+
lines.push(` your PATH: in ${chosen.label}, run "${chosen.shellCommand}" from the`);
|
|
387
|
+
lines.push(" Command Palette, then open a NEW terminal and check that");
|
|
388
|
+
lines.push(` \`${chosen.bin} --help\` names ${chosen.label}. Then run litmus connect again.`);
|
|
389
|
+
lines.push("");
|
|
390
|
+
return lines;
|
|
391
|
+
}
|
|
273
392
|
/**
|
|
274
393
|
* Ensure the Remote-SSH extension is installed in the user's editor before we
|
|
275
394
|
* open the remote window (the `gh codespace code` model). Best-effort: a
|
|
@@ -311,12 +430,17 @@ function launchEditor(ed, alias) {
|
|
|
311
430
|
* selection path rather than by reading a string constant. A warning that is never
|
|
312
431
|
* reached is precisely the bug this ticket is fixing, so a test that cannot see whether
|
|
313
432
|
* it was printed is not a test of it.
|
|
433
|
+
*
|
|
434
|
+
* `reentry` is the way back in, and it is threaded from `runConnect` rather than
|
|
435
|
+
* rebuilt here because only the caller holds the token and the resolved base. When it
|
|
436
|
+
* is absent (a test, a scripted call) the notice degrades to the placeholder form
|
|
437
|
+
* rather than dropping the route — see `cursorReentryLines`.
|
|
314
438
|
*/
|
|
315
|
-
export async function resolveIde(flag, log = console.log) {
|
|
439
|
+
export async function resolveIde(flag, log = console.log, reentry) {
|
|
316
440
|
const norm = (flag ?? "").trim().toLowerCase();
|
|
317
441
|
if (norm === "vscode" || norm === "cursor" || norm === "browser" || norm === "ssh") {
|
|
318
442
|
if (norm === "cursor")
|
|
319
|
-
announceCursorFullQuit(log);
|
|
443
|
+
announceCursorFullQuit(log, reentry);
|
|
320
444
|
return { ide: norm, chosen: true };
|
|
321
445
|
}
|
|
322
446
|
if (norm)
|
|
@@ -328,9 +452,82 @@ export async function resolveIde(flag, log = console.log) {
|
|
|
328
452
|
// At SELECTION time — not after the ~1-2 minute boot wait, and not trailing the
|
|
329
453
|
// "opening Cursor" line where it scrolls past. See `announceCursorFullQuit`.
|
|
330
454
|
if (ide === "cursor")
|
|
331
|
-
announceCursorFullQuit(log);
|
|
455
|
+
announceCursorFullQuit(log, reentry);
|
|
332
456
|
return { ide, chosen: answered.trim() !== "" };
|
|
333
457
|
}
|
|
458
|
+
/**
|
|
459
|
+
* The candidate's own assessment page.
|
|
460
|
+
*
|
|
461
|
+
* **The slug is the ASSESSMENT ID, never the token**, and getting that wrong fails in
|
|
462
|
+
* the most misleading way available. `app/candidate/[slug]/layout.tsx` tolerates a
|
|
463
|
+
* token-shaped slug as a fallback, so the shell renders and the URL looks right — but
|
|
464
|
+
* `page.tsx` then fetches `/api/candidates/<email>/assessments/<slug>`, whose store
|
|
465
|
+
* lookup (`getAssessmentForCandidate`) matches on `assessment.id` alone. A token 404s
|
|
466
|
+
* there, and the candidate gets "Assessment Not Found. If you were invited under a
|
|
467
|
+
* different email, sign out and try that address" — a page telling them the problem is
|
|
468
|
+
* their account, at the moment they were promised a way back into their workspace.
|
|
469
|
+
* `/auth-redirect` resolves the token through `/api/assessments/by-token` and pushes
|
|
470
|
+
* exactly this shape, which is why it is the one to reproduce.
|
|
471
|
+
*
|
|
472
|
+
* ONE helper because this module prints the page twice for two different reasons (the
|
|
473
|
+
* disclosure refusal and ENG-2145's re-entry route) and both were the broken spelling.
|
|
474
|
+
* `connect-cursor-option.test.ts` asserts over the module's source that no `/candidate/`
|
|
475
|
+
* URL is built any other way — the mistake is invisible to a behavioural test, since
|
|
476
|
+
* both spellings are well-formed URLs that render a page.
|
|
477
|
+
*/
|
|
478
|
+
export function candidatePageUrl(apiBase, assessmentId) {
|
|
479
|
+
return `${apiBase}/candidate/${assessmentId}`;
|
|
480
|
+
}
|
|
481
|
+
/** The placeholder form, for a call that does not know the token (tests, scripted runs). */
|
|
482
|
+
const CURSOR_REENTRY_FALLBACK = { command: "litmus connect <token>", pageUrl: null };
|
|
483
|
+
/**
|
|
484
|
+
* ENG-2145 — how to get back in, said in the same breath as "quit".
|
|
485
|
+
*
|
|
486
|
+
* Elena, 2026-09-04, after two people who know the product could not work it out:
|
|
487
|
+
* "it prompts you to quit cursor and come back in but it's not quite intuitive how
|
|
488
|
+
* we're going to get back in."
|
|
489
|
+
*
|
|
490
|
+
* The notice used to offer exactly one route — "let this command reopen it" — and that
|
|
491
|
+
* is the one route the instruction above it destroys. A candidate told to quit Cursor is
|
|
492
|
+
* very likely reading the instruction IN CURSOR'S OWN INTEGRATED TERMINAL, because that
|
|
493
|
+
* is where they have a shell; `Cmd+Q` then takes `litmus connect` with it. What is left
|
|
494
|
+
* on screen is a quit editor, no running command, and nothing anywhere naming the way
|
|
495
|
+
* back. On the clock, that reads as the workspace being gone.
|
|
496
|
+
*
|
|
497
|
+
* So the route is stated as an instruction rather than as a promise about a process that
|
|
498
|
+
* may no longer exist, and the terminal it must be run from is named: a candidate who
|
|
499
|
+
* has just been told to quit an application cannot be told to use that application's
|
|
500
|
+
* terminal. The assessment page comes second and is the one that survives closing the
|
|
501
|
+
* tab AND losing the terminal, which is the state Elena was actually in.
|
|
502
|
+
*
|
|
503
|
+
* Both routes reopen the SAME workspace — `litmus connect` re-registers this machine's
|
|
504
|
+
* key and wakes a parked container through the ENG-2005 machinery, and the portal's own
|
|
505
|
+
* card does the same — so the reassurance is a fact about the platform, not a hope.
|
|
506
|
+
*/
|
|
507
|
+
export function cursorReentryLines(reentry = CURSOR_REENTRY_FALLBACK) {
|
|
508
|
+
const lines = [
|
|
509
|
+
" To come back in after quitting, open a terminal that is NOT inside Cursor",
|
|
510
|
+
" (Terminal or iTerm on macOS; PowerShell or Windows Terminal on Windows) and run:",
|
|
511
|
+
"",
|
|
512
|
+
` ${chalk.cyan(reentry.command)}`,
|
|
513
|
+
"",
|
|
514
|
+
" That reopens this same workspace, with your work exactly as you left it.",
|
|
515
|
+
];
|
|
516
|
+
// Deliberately NOT "use the button there". The portal's one-click reopen is the
|
|
517
|
+
// browser-IDE link, and `browser_ide_url` is null wherever `WORKSPACE_IDE_DOMAIN`
|
|
518
|
+
// is unset — those candidates get the same command in a copy field instead. Naming
|
|
519
|
+
// a control a candidate then cannot find costs them the trust they need in the rest
|
|
520
|
+
// of this notice, which is the same line `workspace-guidance.ts` draws over the tool
|
|
521
|
+
// list. What is true on every deployment is that the page states the route.
|
|
522
|
+
if (reentry.pageUrl) {
|
|
523
|
+
lines.push(" Or open your assessment page, which shows the way back in:");
|
|
524
|
+
lines.push(` ${chalk.cyan(reentry.pageUrl)}`);
|
|
525
|
+
}
|
|
526
|
+
else {
|
|
527
|
+
lines.push(" Your assessment page shows the way back in too.");
|
|
528
|
+
}
|
|
529
|
+
return lines;
|
|
530
|
+
}
|
|
334
531
|
/**
|
|
335
532
|
* ENG-1950 — the one thing a Cursor candidate has to be told, and the only place we can
|
|
336
533
|
* reliably tell them.
|
|
@@ -348,15 +545,28 @@ export async function resolveIde(flag, log = console.log) {
|
|
|
348
545
|
*
|
|
349
546
|
* So the copy is written for a candidate, not for us: what to do, and what it costs if
|
|
350
547
|
* they don't. No "hooks", no "capture lane". The mechanism is our problem.
|
|
548
|
+
*
|
|
549
|
+
* ENG-2145 adds the second half of that sentence: what to do is now "quit, THEN run
|
|
550
|
+
* this", because an instruction to quit with no stated way back is what sent two people
|
|
551
|
+
* who know the product looking for their workspace. The order is deliberate — the cost
|
|
552
|
+
* of skipping the quit still comes last, so the thing a candidate acts on immediately is
|
|
553
|
+
* the thing they read first, and `cursorReentryLines` sits between them rather than
|
|
554
|
+
* after the whole notice where it would scroll.
|
|
351
555
|
*/
|
|
352
|
-
export function announceCursorFullQuit(log = console.log) {
|
|
556
|
+
export function announceCursorFullQuit(log = console.log, reentry = CURSOR_REENTRY_FALLBACK) {
|
|
353
557
|
log("");
|
|
354
558
|
log(chalk.yellow.bold(" ⚠ Quit Cursor completely first — otherwise your work is not recorded."));
|
|
355
559
|
log("");
|
|
356
|
-
log(" If Cursor is open right now, quit the whole app
|
|
560
|
+
log(" If Cursor is open right now, quit the whole app:");
|
|
357
561
|
log(` macOS: ${chalk.bold("Cmd+Q")}`);
|
|
358
562
|
log(` Windows/Linux: ${chalk.bold("File → Exit")}, or close every Cursor window`);
|
|
359
563
|
log("");
|
|
564
|
+
for (const line of cursorReentryLines(reentry))
|
|
565
|
+
log(line);
|
|
566
|
+
log("");
|
|
567
|
+
log(" (If you are running this from a terminal outside Cursor, it is still running");
|
|
568
|
+
log(" and will open Cursor for you once your workspace is ready.)");
|
|
569
|
+
log("");
|
|
360
570
|
log(" Reloading the window or reconnecting is NOT enough — Cursor only picks up your");
|
|
361
571
|
log(" workspace's recording setup when the app itself starts. If it stays open,");
|
|
362
572
|
log(" everything will look normal and none of your work will be recorded.");
|
|
@@ -423,6 +633,31 @@ export function chatConfigAction(ide, state) {
|
|
|
423
633
|
return "write";
|
|
424
634
|
return "none";
|
|
425
635
|
}
|
|
636
|
+
/**
|
|
637
|
+
* ENG-2152 — the same question, once the editor CLI's identity is known.
|
|
638
|
+
*
|
|
639
|
+
* A mismatch is refused before anything opens, so a refused connect drives NO editor and
|
|
640
|
+
* may not WRITE: the entry would leave a live `lwt_` bearer token in an editor we then
|
|
641
|
+
* declined to drive, from an attempt that failed.
|
|
642
|
+
*
|
|
643
|
+
* The obvious spelling — keep `chatConfigAction` and pass it "the editor that actually
|
|
644
|
+
* answered" — reads more obviously correct than it is, and is wrong in the direction
|
|
645
|
+
* nobody pictures. Greptile caught it on #2134. Choose VS Code on a machine where `code`
|
|
646
|
+
* is Cursor and it suppresses the write, correctly. Choose CURSOR on a machine where
|
|
647
|
+
* `cursor` is VS Code and it ENABLES a write that the unpatched code suppressed: the very
|
|
648
|
+
* check added to stop the wrong editor being driven would be what plants the credential.
|
|
649
|
+
* So the typed choice stays the input and the mismatch only ever REMOVES an action.
|
|
650
|
+
*
|
|
651
|
+
* `remove` survives a mismatch and must: yesterday's dead token is in that file however
|
|
652
|
+
* today's connect ends, and `writeChatModelConfig` refuses to create a file that was
|
|
653
|
+
* never there, so on a machine that never ran the VS Code path it touches nothing.
|
|
654
|
+
*/
|
|
655
|
+
export function chatConfigActionForIdentity(ide, state, identity) {
|
|
656
|
+
const action = chatConfigAction(ide, state);
|
|
657
|
+
if (identity.kind === "mismatch" && action === "write")
|
|
658
|
+
return "none";
|
|
659
|
+
return action;
|
|
660
|
+
}
|
|
426
661
|
/**
|
|
427
662
|
* ENG-1667 item 3: the browser IDE is the default, not native VS Code.
|
|
428
663
|
*
|
|
@@ -516,7 +751,9 @@ export function browserFallback(hasUrl, ideWasChosen) {
|
|
|
516
751
|
export async function runConnect(token, ideOpt) {
|
|
517
752
|
const apiBase = resolveApiBase(process.env.LITMUS_API_URL);
|
|
518
753
|
setErrorContext({ token, apiBase });
|
|
519
|
-
// 1. Authenticate + learn the backend URL
|
|
754
|
+
// 1. Authenticate + learn the backend URL. This does NOT mark the candidate
|
|
755
|
+
// started: /workspace/start below flips pending -> in_progress once a
|
|
756
|
+
// workspace exists, so a refused start leaves them pending (ENG-2082).
|
|
520
757
|
const spinner = ora("Connecting to Litmus...").start();
|
|
521
758
|
let meta;
|
|
522
759
|
try {
|
|
@@ -535,7 +772,15 @@ export async function runConnect(token, ideOpt) {
|
|
|
535
772
|
const backendUrl = meta.backendUrl;
|
|
536
773
|
// Pick the editor up front (flag or interactive prompt) so the choice is made
|
|
537
774
|
// before the boot wait, not after.
|
|
538
|
-
|
|
775
|
+
//
|
|
776
|
+
// ENG-2145 — the Cursor notice is told the way back in. Both routes are known here
|
|
777
|
+
// and nowhere inside `resolveIde`: the token is a credential the caller holds, and
|
|
778
|
+
// `apiBase` is the frontend base the disclosure branch below already points at.
|
|
779
|
+
const reentry = {
|
|
780
|
+
command: `litmus connect ${token}`,
|
|
781
|
+
pageUrl: candidatePageUrl(apiBase, meta.assessmentId),
|
|
782
|
+
};
|
|
783
|
+
const { ide: chosenIde, chosen: ideWasChosen } = await resolveIde(ideOpt, console.log, reentry);
|
|
539
784
|
let ide = chosenIde;
|
|
540
785
|
// 2. Ensure a local SSH key (private key never leaves this machine).
|
|
541
786
|
try {
|
|
@@ -557,7 +802,7 @@ export async function runConnect(token, ideOpt) {
|
|
|
557
802
|
// Consent lives on the portal page (full text + identity check), so direct
|
|
558
803
|
// the candidate there rather than dead-ending on a raw 403.
|
|
559
804
|
if (code === "disclosure_not_accepted") {
|
|
560
|
-
fatal("You need to accept the workspace monitoring disclosure first.", `Open your assessment page, review + accept the disclosure, then re-run \`litmus connect\`:\n ${apiBase}
|
|
805
|
+
fatal("You need to accept the workspace monitoring disclosure first.", `Open your assessment page, review + accept the disclosure, then re-run \`litmus connect\`:\n ${candidatePageUrl(apiBase, meta.assessmentId)}`, { severity: "warning" });
|
|
561
806
|
return;
|
|
562
807
|
}
|
|
563
808
|
if (code === "assessment_closed") {
|
|
@@ -651,6 +896,11 @@ export async function runConnect(token, ideOpt) {
|
|
|
651
896
|
// reassigned `ide` for the compiler, so pin the descriptor explicitly rather than
|
|
652
897
|
// indexing with a widened key.
|
|
653
898
|
const editor = ide === "cursor" ? NATIVE_EDITORS.cursor : NATIVE_EDITORS.vscode;
|
|
899
|
+
// ENG-2152 — resolve WHAT THAT COMMAND ACTUALLY IS before anything acts on the choice.
|
|
900
|
+
// `bin` is a name on PATH, and on a machine where Cursor is the default editor `code`
|
|
901
|
+
// can be Cursor's own CLI. The verdict is taken here, above the Copilot Chat step,
|
|
902
|
+
// because that step is the first thing that acts on the candidate's answer.
|
|
903
|
+
const identity = identifyEditorCli(editor);
|
|
654
904
|
// 5b. Point this machine's Copilot Chat at the Litmus gateway (ENG-1475).
|
|
655
905
|
//
|
|
656
906
|
// ONLY ON THE NATIVE VS CODE PATH, and that is the whole reason it is here rather
|
|
@@ -696,8 +946,13 @@ export async function runConnect(token, ideOpt) {
|
|
|
696
946
|
// Cursor is still given no laptop-side equivalent of the WRITE: its AI is captured
|
|
697
947
|
// in-container, which is exactly what the full-quit notice at selection time
|
|
698
948
|
// protects.
|
|
949
|
+
//
|
|
950
|
+
// ENG-2152 — a MISMATCH refuses below and opens nothing, so it may not WRITE. See
|
|
951
|
+
// `chatConfigActionForIdentity`, which is where that belongs: keying the write on
|
|
952
|
+
// "the editor that actually answered" instead reads correct and is wrong in the
|
|
953
|
+
// other direction, which is how Greptile found it on #2134.
|
|
699
954
|
const chat = await fetchEditorChatConfig(backendUrl, token);
|
|
700
|
-
const chatAction =
|
|
955
|
+
const chatAction = chatConfigActionForIdentity(ide, chat.state, identity);
|
|
701
956
|
if (chat.state === "configured" && chatAction === "write") {
|
|
702
957
|
const outcome = applyEditorChatConfig(chat);
|
|
703
958
|
if (outcome.status === "written") {
|
|
@@ -724,6 +979,33 @@ export async function runConnect(token, ideOpt) {
|
|
|
724
979
|
// first — or print how to connect if its CLI is absent. ONE body for both editors:
|
|
725
980
|
// every difference between them lives in `NATIVE_EDITORS`, so a later change to this
|
|
726
981
|
// flow cannot land on one editor and quietly miss the other.
|
|
982
|
+
// ENG-2152 — dispatch on the identity, not on the name, and do it FIRST.
|
|
983
|
+
//
|
|
984
|
+
// Above the extension install and the launch, because installing
|
|
985
|
+
// `ms-vscode-remote.remote-ssh` into Cursor is the failure `NATIVE_EDITORS` exists to
|
|
986
|
+
// prevent — and Cursor 3.18.25 answers it "already installed" (exit 0), so the install
|
|
987
|
+
// reports success and the candidate is told we readied VS Code's Remote-SSH for them.
|
|
988
|
+
//
|
|
989
|
+
// Above the ABSENCE check too, and that ordering is what makes this hold on Windows.
|
|
990
|
+
// The probe can READ a `code.cmd` (it goes through a shell there), but `hasEditorCli`
|
|
991
|
+
// and `launchEditor` still cannot DRIVE one, so a Windows candidate has always landed
|
|
992
|
+
// on the manual-instructions branch below — a pre-existing gap this ticket does not
|
|
993
|
+
// widen and deliberately does not paper over: giving those two a shell without proving
|
|
994
|
+
// the spawn works would turn clear instructions into a silent nothing. Checking the
|
|
995
|
+
// mismatch first means a Windows candidate whose `code` is Cursor is told so, rather
|
|
996
|
+
// than told their editor is not installed.
|
|
997
|
+
if (identity.kind === "mismatch") {
|
|
998
|
+
for (const line of editorMismatchLines(editor, NATIVE_EDITORS[identity.actual], reentry)) {
|
|
999
|
+
console.log(line);
|
|
1000
|
+
}
|
|
1001
|
+
return;
|
|
1002
|
+
}
|
|
1003
|
+
if (identity.kind === "unverified") {
|
|
1004
|
+
// Proceeding as asked — see `EditorIdentity`. Said out loud because it is the one line
|
|
1005
|
+
// that tells us, when a candidate reports opening the wrong editor, that the probe
|
|
1006
|
+
// could not read this machine rather than that it read it wrong.
|
|
1007
|
+
console.log(chalk.dim(` (Couldn't confirm that \`${editor.bin}\` is ${editor.label}; opening it as you asked.)`));
|
|
1008
|
+
}
|
|
727
1009
|
if (!hasEditorCli(editor)) {
|
|
728
1010
|
console.log();
|
|
729
1011
|
warn(`${editor.label} \`${editor.bin}\` command not found on PATH.`);
|
|
@@ -734,8 +1016,16 @@ export async function runConnect(token, ideOpt) {
|
|
|
734
1016
|
// The full-quit requirement outlives this degraded path — arguably it matters MORE
|
|
735
1017
|
// here, since a candidate typing the command by hand is doing it from a shell that
|
|
736
1018
|
// may well be inside the Cursor they still have to quit.
|
|
1019
|
+
//
|
|
1020
|
+
// ENG-2145: and so does the way back. This used to point at "the note above", which
|
|
1021
|
+
// is a back-reference to a notice printed BEFORE a boot wait that can run to two
|
|
1022
|
+
// minutes and fills the screen — and, worse, one whose own route back was a promise
|
|
1023
|
+
// about this very command, which by then has returned. So the route is restated
|
|
1024
|
+
// here in full rather than referred to.
|
|
737
1025
|
if (ide === "cursor") {
|
|
738
|
-
console.log(chalk.yellow(" Quit Cursor completely before you run that
|
|
1026
|
+
console.log(chalk.yellow(" Quit Cursor completely before you run that, or your work is not recorded."));
|
|
1027
|
+
for (const line of cursorReentryLines(reentry))
|
|
1028
|
+
console.log(line);
|
|
739
1029
|
}
|
|
740
1030
|
return;
|
|
741
1031
|
}
|
|
@@ -755,5 +1045,14 @@ export async function runConnect(token, ideOpt) {
|
|
|
755
1045
|
else {
|
|
756
1046
|
console.log(chalk.dim(" If a new window doesn't appear, run litmus connect again."));
|
|
757
1047
|
}
|
|
1048
|
+
// ENG-2154. The window we have just opened outlives the session, and what it
|
|
1049
|
+
// does when the session ends looks like a failure. This is the only moment
|
|
1050
|
+
// anything of ours is on the candidate's own machine — `connect` returns here
|
|
1051
|
+
// and the submit that ends the session happens in the container or on the
|
|
1052
|
+
// assessment page — so it is also the only warning that reaches a candidate
|
|
1053
|
+
// who ends their session somewhere we do not run. See lib/session-end.ts,
|
|
1054
|
+
// which also carries why we do not simply close the window.
|
|
1055
|
+
for (const line of editorEndingForewarning(editor.label))
|
|
1056
|
+
console.log(line);
|
|
758
1057
|
}
|
|
759
1058
|
//# sourceMappingURL=connect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAavD,OAAO,EACL,eAAe,EACf,4BAA4B,EAC5B,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,UAAU,GAChB,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAavD,OAAO,EACL,eAAe,EACf,4BAA4B,EAC5B,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,UAAU,GAChB,MAAM,yBAAyB,CAAA;AAmBhC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,KAAK,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;AAEnD,UAAU,WAAW;IACnB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,WAAW,CAAA;IACnB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAwMD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GACvD,OAAO,GAAG,SAAS,GAAG,MAAM,CAI9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,WAAW,EAAE,EACtB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiCzB;AAID,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6EAA6E;IAC7E,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA2qBlE"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -24,6 +24,8 @@ import { collectBackfillSessions, planUploadBatches, defaultClaudeProjectsDir, }
|
|
|
24
24
|
import { pruneShadows, readShadowTrackerFile, shadowTrackerFileMtime, shadowLogPath } from "../lib/shadow.js";
|
|
25
25
|
import { collectToolBackfillSources } from "../lib/backfill-tools.js";
|
|
26
26
|
import { CLI_VERSION } from "../lib/version.js";
|
|
27
|
+
import { submitCommandFor } from "../lib/submit-route.js";
|
|
28
|
+
import { checkNodeVersion, checkCliVersion, checkGit } from "../lib/environment-checks.js";
|
|
27
29
|
// Doctor prints in the same grammar as `litmus status` and `litmus submit`:
|
|
28
30
|
// plain 4-space "Key: value" lines where the STATE lives in the wording and
|
|
29
31
|
// color, not in a status gutter. ok/fixed render plain (the words say what
|
|
@@ -312,6 +314,16 @@ export async function runDoctor(opts) {
|
|
|
312
314
|
console.log(chalk.bold(` ${config.assessmentName}`));
|
|
313
315
|
console.log();
|
|
314
316
|
logToTrackerLog(projectRoot, `run started (cli ${CLI_VERSION})${configRebuilt ? " — config rebuilt" : ""}`);
|
|
317
|
+
// 0. Environment (shared with `litmus setup-check`, ENG-2300) -------------
|
|
318
|
+
// The cheap machine-level checks a candidate can act on themselves: Node
|
|
319
|
+
// floor, CLI behind npm, git on PATH. Quiet when fine — doctor's job is the
|
|
320
|
+
// assessment, and these lines only earn their place by naming a fix. The
|
|
321
|
+
// server probe and the watcher smoke are NOT run here: doctor makes an
|
|
322
|
+
// authenticated round-trip and inspects the real tracker below, which are
|
|
323
|
+
// stronger versions of both.
|
|
324
|
+
for (const env of [checkNodeVersion(), await checkCliVersion(), checkGit()]) {
|
|
325
|
+
record({ ...env, quiet: env.status === "ok" });
|
|
326
|
+
}
|
|
315
327
|
if (configRebuilt) {
|
|
316
328
|
record({
|
|
317
329
|
name: "assessment",
|
|
@@ -343,7 +355,10 @@ export async function runDoctor(opts) {
|
|
|
343
355
|
record({
|
|
344
356
|
name: "deadline",
|
|
345
357
|
status: "fail",
|
|
346
|
-
|
|
358
|
+
// ENG-2130: the command is derived, because doctor also runs inside a
|
|
359
|
+
// Codespaces v2 workspace, where `litmus submit` is the other flow's
|
|
360
|
+
// command and refuses. See lib/submit-route.ts.
|
|
361
|
+
detail: `Time remaining: PASSED (cutoff was ${cutoff}). If you have not submitted, run "${submitCommandFor(import.meta.url)}" now and contact support@litmushiring.com.`,
|
|
347
362
|
});
|
|
348
363
|
}
|
|
349
364
|
else {
|