litmus-cli 1.4.24 → 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 CHANGED
@@ -27,6 +27,19 @@ litmus init <token>
27
27
 
28
28
  Your token is provided on the Litmus candidate portal when you open your assessment.
29
29
 
30
+ ### Check your machine before you start
31
+
32
+ ```bash
33
+ litmus setup-check
34
+ ```
35
+
36
+ Run this before a live interview or before opening a take-home, from any
37
+ folder. It needs no token and touches nothing outside a temporary directory.
38
+ It confirms Node.js is new enough, the CLI is the current version, git is
39
+ installed, Litmus is reachable from your network, and the activity tracker
40
+ can start on this machine (antivirus software occasionally blocks it). It
41
+ ends with either `Ready` or one line saying what to fix.
42
+
30
43
  ### Check your status
31
44
 
32
45
  ```bash
@@ -69,6 +82,7 @@ first. The Submit button on your assessment page does the same thing.
69
82
 
70
83
  ## How it works
71
84
 
85
+ 0. `litmus setup-check` — confirm your machine is ready (no token needed)
72
86
  1. `litmus init <token>` — sets up your workspace and starts the clock
73
87
  2. Work in your preferred editor, committing frequently
74
88
  3. `litmus status` — check your progress and time remaining
@@ -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;AAkBhC;;;;;;;;;;;;;;;;;;;;;;;;;;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,CAgqBlE"}
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"}
@@ -25,6 +25,7 @@ import { pruneShadows, readShadowTrackerFile, shadowTrackerFileMtime, shadowLogP
25
25
  import { collectToolBackfillSources } from "../lib/backfill-tools.js";
26
26
  import { CLI_VERSION } from "../lib/version.js";
27
27
  import { submitCommandFor } from "../lib/submit-route.js";
28
+ import { checkNodeVersion, checkCliVersion, checkGit } from "../lib/environment-checks.js";
28
29
  // Doctor prints in the same grammar as `litmus status` and `litmus submit`:
29
30
  // plain 4-space "Key: value" lines where the STATE lives in the wording and
30
31
  // color, not in a status gutter. ok/fixed render plain (the words say what
@@ -313,6 +314,16 @@ export async function runDoctor(opts) {
313
314
  console.log(chalk.bold(` ${config.assessmentName}`));
314
315
  console.log();
315
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
+ }
316
327
  if (configRebuilt) {
317
328
  record({
318
329
  name: "assessment",
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * `litmus setup-check` — the command a candidate runs BEFORE they have an
3
+ * assessment: from the reminder email before a live interview, or from the
4
+ * take-home setup instructions. ENG-2300.
5
+ *
6
+ * It is its own commander command and deliberately NOT an `.alias()` of
7
+ * `litmus doctor`: an alias inherits doctor's positional token and its R1
8
+ * config rebuild, which with no `.litmus/config.json` prompts for a token and
9
+ * writes an assessment config into whatever directory the candidate is in.
10
+ *
11
+ * Takes no token, reads no config, writes nothing outside a temp dir it
12
+ * removes, and phones home nothing. Output is doctor's "Key: value" grammar
13
+ * and ends with either "Ready" or one sentence naming the fix. Exit 0 when
14
+ * ready, 1 when something needs the candidate.
15
+ */
16
+ export declare function runSetupCheck(opts?: {
17
+ verbose?: boolean;
18
+ }): Promise<void>;
19
+ //# sourceMappingURL=setup-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-check.d.ts","sourceRoot":"","sources":["../../src/commands/setup-check.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,aAAa,CAAC,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BnF"}
@@ -0,0 +1,48 @@
1
+ import chalk from "chalk";
2
+ import { resolveApiBase } from "../lib/api-base.js";
3
+ import { CLI_VERSION } from "../lib/version.js";
4
+ import { runEnvironmentChecks } from "../lib/environment-checks.js";
5
+ /**
6
+ * `litmus setup-check` — the command a candidate runs BEFORE they have an
7
+ * assessment: from the reminder email before a live interview, or from the
8
+ * take-home setup instructions. ENG-2300.
9
+ *
10
+ * It is its own commander command and deliberately NOT an `.alias()` of
11
+ * `litmus doctor`: an alias inherits doctor's positional token and its R1
12
+ * config rebuild, which with no `.litmus/config.json` prompts for a token and
13
+ * writes an assessment config into whatever directory the candidate is in.
14
+ *
15
+ * Takes no token, reads no config, writes nothing outside a temp dir it
16
+ * removes, and phones home nothing. Output is doctor's "Key: value" grammar
17
+ * and ends with either "Ready" or one sentence naming the fix. Exit 0 when
18
+ * ready, 1 when something needs the candidate.
19
+ */
20
+ export async function runSetupCheck(opts = {}) {
21
+ const verbose = opts.verbose === true;
22
+ const apiBase = resolveApiBase(process.env.LITMUS_API_URL);
23
+ console.log();
24
+ console.log(chalk.bold(" Litmus setup check"));
25
+ console.log();
26
+ const results = await runEnvironmentChecks({
27
+ apiBase,
28
+ record: (r) => {
29
+ const paint = r.status === "fail" ? chalk.red : r.status === "warn" ? chalk.yellow : (s) => s;
30
+ console.log(` ${paint(r.detail)}`);
31
+ if (verbose && r.verbose)
32
+ console.log(chalk.dim(` ${r.verbose.split("\n").join("\n ")}`));
33
+ },
34
+ });
35
+ const problems = results.filter((r) => r.status === "fail");
36
+ console.log();
37
+ if (problems.length === 0) {
38
+ console.log(chalk.green(" Ready. Your machine can run the Litmus CLI."));
39
+ }
40
+ else {
41
+ console.log(chalk.red(` ${problems.length} thing${problems.length === 1 ? "" : "s"} to fix before you start.`));
42
+ console.log(chalk.dim(" Copy this whole output into an email to support@litmushiring.com if you need help."));
43
+ }
44
+ console.log(chalk.dim(` setup-check v${CLI_VERSION}: ${results.map((r) => `${r.name}=${r.status}`).join(" ")}`));
45
+ console.log();
46
+ process.exitCode = problems.length > 0 ? 1 : 0;
47
+ }
48
+ //# sourceMappingURL=setup-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-check.js","sourceRoot":"","sources":["../../src/commands/setup-check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAyB,MAAM,8BAA8B,CAAA;AAE1F;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAA8B,EAAE;IAClE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAA;IACrC,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IAE1D,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAA;IAC/C,OAAO,CAAC,GAAG,EAAE,CAAA;IAEb,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC;QACzC,OAAO;QACP,MAAM,EAAE,CAAC,CAAmB,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAA;YACrG,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACrC,IAAI,OAAO,IAAI,CAAC,CAAC,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;QACrG,CAAC;KACF,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;IAC3D,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC,CAAA;IAC3E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,MAAM,SAAS,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,2BAA2B,CAAC,CAAC,CAAA;QAChH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sFAAsF,CAAC,CAAC,CAAA;IAChH,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,WAAW,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACjH,OAAO,CAAC,GAAG,EAAE,CAAA;IAEb,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAChD,CAAC"}
package/dist/index.js CHANGED
@@ -7,6 +7,7 @@ import { runSubmit } from "./commands/submit.js";
7
7
  import { runPause } from "./commands/pause.js";
8
8
  import { runStatus } from "./commands/status.js";
9
9
  import { runDoctor } from "./commands/doctor.js";
10
+ import { runSetupCheck } from "./commands/setup-check.js";
10
11
  import { FatalError } from "./lib/errors.js";
11
12
  import { CLI_VERSION } from "./lib/version.js";
12
13
  program
@@ -116,6 +117,21 @@ program
116
117
  process.exit(1);
117
118
  }
118
119
  });
120
+ program
121
+ .command("setup-check")
122
+ .description("Check this machine can run the Litmus CLI, before you start an assessment")
123
+ .option("--verbose", "Show diagnostic details for support")
124
+ .action(async (opts) => {
125
+ try {
126
+ await runSetupCheck(opts);
127
+ }
128
+ catch (err) {
129
+ if (err instanceof FatalError)
130
+ return;
131
+ console.error(err instanceof Error ? err.message : String(err));
132
+ process.exit(1);
133
+ }
134
+ });
119
135
  program
120
136
  .command("status")
121
137
  .description("Show assessment status and stats")
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Environment checks shared by `litmus setup-check` (pre-init, ENG-2300) and
3
+ * `litmus doctor` (post-init repair, ENG-1446).
4
+ *
5
+ * setup-check is the command a candidate runs BEFORE they have an assessment
6
+ * folder or a token — from the T-10 reminder email before a live interview,
7
+ * or from the take-home setup instructions. Doctor cannot be that command:
8
+ * with no `.litmus/config.json` it enters its R1 rebuild, prompts for a token
9
+ * and writes an assessment config into whatever directory the candidate is
10
+ * standing in. So the checks live here, doctor runs the cheap ones first, and
11
+ * the two commands cannot drift on what "your environment is fine" means.
12
+ *
13
+ * The false-alarm rule, which every check in this file is held to: a line may
14
+ * render `fail` only when it names a one-step fix the candidate can do
15
+ * themselves. A check that could not be performed (the npm registry did not
16
+ * answer, git is not on PATH) is `warn` — an honest "could not verify", never a
17
+ * red line about a machine that may be fine. No antivirus detection, no
18
+ * disk-space or network-speed probes: those are where false alarms come from.
19
+ *
20
+ * What each check would have caught in the field (Aug 2026 CLI review):
21
+ * - CLI version: candidates stayed on old versions because nothing
22
+ * auto-updates, so fixes shipped in 1.4.21 never reached them.
23
+ * - Watcher boot smoke: antivirus killed the watcher at boot (an EPERM on
24
+ * `createWriteStream` under Windows Defender) with no candidate-visible
25
+ * explanation. The watcher already dies loudly inside its init window on
26
+ * that error, so spawning the real one against a temp dir is a real test.
27
+ * - Server reachability: a download that timed out on a slow connection.
28
+ */
29
+ export type EnvironmentCheckStatus = "ok" | "warn" | "fail";
30
+ export interface EnvironmentCheck {
31
+ /** Stable machine-readable name. */
32
+ name: string;
33
+ status: EnvironmentCheckStatus;
34
+ /** Candidate-facing one-liner, in doctor's "Key: value" grammar. */
35
+ detail: string;
36
+ /** Internals shown with --verbose. */
37
+ verbose?: string;
38
+ }
39
+ /** The `engines.node` floor in package.json; pinned to it by test. */
40
+ export declare const NODE_MIN_MAJOR = 18;
41
+ export declare const REINSTALL_COMMAND = "npm install -g litmus-cli@latest";
42
+ /** How long the watcher smoke waits for the ready marker before calling the boot failed. */
43
+ export declare const WATCHER_BOOT_TIMEOUT_MS = 6000;
44
+ /** Registry document for the `latest` dist-tag. */
45
+ export declare const NPM_LATEST_URL = "https://registry.npmjs.org/litmus-cli/latest";
46
+ export declare function parseNodeMajor(version: string): number | null;
47
+ export declare function checkNodeVersion(version?: string): EnvironmentCheck;
48
+ /**
49
+ * Numeric compare of dotted versions; prerelease suffixes are ignored, so
50
+ * `1.4.25-beta` compares as `1.4.25`. Returns <0 when a is behind b.
51
+ */
52
+ export declare function compareVersions(a: string, b: string): number;
53
+ export type FetchLike = (url: string, init?: {
54
+ signal?: AbortSignal;
55
+ }) => Promise<{
56
+ ok: boolean;
57
+ status: number;
58
+ json(): Promise<unknown>;
59
+ }>;
60
+ export declare function fetchNpmLatest(fetchImpl?: FetchLike): Promise<string>;
61
+ export declare function checkCliVersion(opts?: {
62
+ installed?: string;
63
+ fetchLatest?: () => Promise<string>;
64
+ }): Promise<EnvironmentCheck>;
65
+ /**
66
+ * Any HTTP answer from the API host counts as reachable — the question is
67
+ * whether this machine can talk to us at all, not whether the endpoint is
68
+ * healthy. `/api/health/db` is public (Clerk's middleware lets `/api/health/`
69
+ * through) and cheap.
70
+ */
71
+ export declare function checkServerReachable(opts: {
72
+ apiBase: string;
73
+ fetchImpl?: FetchLike;
74
+ now?: () => number;
75
+ }): Promise<EnvironmentCheck>;
76
+ export declare function checkGit(exec?: (cmd: string) => string): EnvironmentCheck;
77
+ /**
78
+ * Spawn the REAL watcher against a throwaway directory and wait for it to
79
+ * stamp `tracker.ready`, which it does only once its monitors are running
80
+ * (end of its module init). Then ask it to exit through the shutdown
81
+ * sentinel it already polls — never a signal at a pid — and delete the dir.
82
+ *
83
+ * Safe to run on a candidate's machine before any assessment exists: with no
84
+ * config the watcher has no token and no backend, so it uploads nothing, arms
85
+ * no auto-submit, and its capture nudge needs two scans ten minutes apart
86
+ * before it will notify. Everything it writes lands under the temp dir.
87
+ */
88
+ export declare function checkWatcherBoot(opts?: {
89
+ timeoutMs?: number;
90
+ tmpRoot?: string;
91
+ }): Promise<EnvironmentCheck>;
92
+ /**
93
+ * Stop the smoke watcher and remove its directory, in that order and never
94
+ * the other way round (Greptile P1 on #2410): a watcher that wedged during
95
+ * init has not reached its sentinel poll and cannot see a shutdown file, so
96
+ * deleting the directory under it would orphan a live process with no
97
+ * control files left to stop it by.
98
+ *
99
+ * Escalation: the sentinel first (the watcher's own graceful path, and the
100
+ * only one that works on Windows without killing handlers), then SIGTERM,
101
+ * then SIGKILL. Signalling a pid is safe HERE where doctor refuses it: this
102
+ * pid was written by our own `startTracker` into a directory we created
103
+ * moments ago, so it is provably our child and not a recycled stranger.
104
+ * The directory is removed only once the process is gone; if it somehow
105
+ * survives even SIGKILL the directory is left in place so the files that
106
+ * name it are still there for a human.
107
+ */
108
+ export declare function stopSmokeWatcher(dir: string, opts?: {
109
+ kill?: (pid: number, signal: NodeJS.Signals) => void;
110
+ graceMs?: number;
111
+ }): Promise<{
112
+ exited: boolean;
113
+ how: "sentinel" | "sigterm" | "sigkill" | "never_started" | "survived";
114
+ }>;
115
+ /**
116
+ * The checks a candidate can act on before init, in the order they print.
117
+ * `apiBase` is the resolved frontend base (`resolveApiBase`).
118
+ */
119
+ export declare function runEnvironmentChecks(opts: {
120
+ apiBase: string;
121
+ record: (check: EnvironmentCheck) => void;
122
+ }): Promise<EnvironmentCheck[]>;
123
+ //# sourceMappingURL=environment-checks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-checks.d.ts","sourceRoot":"","sources":["../../src/lib/environment-checks.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,MAAM,MAAM,sBAAsB,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,sBAAsB,CAAA;IAC9B,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAA;IACd,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,sEAAsE;AACtE,eAAO,MAAM,cAAc,KAAK,CAAA;AAEhC,eAAO,MAAM,iBAAiB,qCAAqC,CAAA;AAEnE,4FAA4F;AAC5F,eAAO,MAAM,uBAAuB,OAAQ,CAAA;AAE5C,mDAAmD;AACnD,eAAO,MAAM,cAAc,iDAAiD,CAAA;AAS5E,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG7D;AAED,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,MAAwB,GAAG,gBAAgB,CAapF;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAU5D;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KAAK,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC,CAAA;AAE5I,wBAAsB,cAAc,CAAC,SAAS,GAAE,SAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAMlF;AAED,wBAAsB,eAAe,CAAC,IAAI,GAAE;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;CAC/B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA0BjC;AAID;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACnB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwB5B;AAID,wBAAgB,QAAQ,CAAC,IAAI,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAgF,GAAG,gBAAgB,CAclJ;AAID;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,GAAE;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACZ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA2EjC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACpF,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,eAAe,GAAG,UAAU,CAAA;CAAE,CAAC,CAyCtG;AAID;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAA;CAC1C,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAS9B"}
@@ -0,0 +1,324 @@
1
+ import { existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "fs";
2
+ import os from "os";
3
+ import path from "path";
4
+ import { execSync } from "child_process";
5
+ import { CLI_VERSION } from "./version.js";
6
+ import { startTracker, trackerDiagnostics } from "./tracker.js";
7
+ /** The `engines.node` floor in package.json; pinned to it by test. */
8
+ export const NODE_MIN_MAJOR = 18;
9
+ export const REINSTALL_COMMAND = "npm install -g litmus-cli@latest";
10
+ /** How long the watcher smoke waits for the ready marker before calling the boot failed. */
11
+ export const WATCHER_BOOT_TIMEOUT_MS = 6000;
12
+ /** Registry document for the `latest` dist-tag. */
13
+ export const NPM_LATEST_URL = "https://registry.npmjs.org/litmus-cli/latest";
14
+ const REGISTRY_TIMEOUT_MS = 5000;
15
+ const SERVER_TIMEOUT_MS = 8000;
16
+ /** Above this the connection is reported as slow. Still `ok`: slowness is not a fix the candidate can apply. */
17
+ const SERVER_SLOW_MS = 3000;
18
+ // ── Node ─────────────────────────────────────────────────────────────
19
+ export function parseNodeMajor(version) {
20
+ const m = /^v?(\d+)/.exec(version.trim());
21
+ return m ? Number(m[1]) : null;
22
+ }
23
+ export function checkNodeVersion(version = process.version) {
24
+ const major = parseNodeMajor(version);
25
+ if (major === null) {
26
+ return { name: "node", status: "warn", detail: `Node.js: version could not be read (${version})` };
27
+ }
28
+ if (major < NODE_MIN_MAJOR) {
29
+ return {
30
+ name: "node",
31
+ status: "fail",
32
+ detail: `Node.js: ${version} is too old. Install Node.js ${NODE_MIN_MAJOR} or newer from https://nodejs.org, then run "litmus setup-check" again.`,
33
+ };
34
+ }
35
+ return { name: "node", status: "ok", detail: `Node.js: ${version}` };
36
+ }
37
+ // ── CLI version against npm ──────────────────────────────────────────
38
+ /**
39
+ * Numeric compare of dotted versions; prerelease suffixes are ignored, so
40
+ * `1.4.25-beta` compares as `1.4.25`. Returns <0 when a is behind b.
41
+ */
42
+ export function compareVersions(a, b) {
43
+ const parse = (v) => v.replace(/^v/, "").split("-")[0].split(".").map((n) => Number(n) || 0);
44
+ const pa = parse(a);
45
+ const pb = parse(b);
46
+ const len = Math.max(pa.length, pb.length);
47
+ for (let i = 0; i < len; i++) {
48
+ const d = (pa[i] ?? 0) - (pb[i] ?? 0);
49
+ if (d !== 0)
50
+ return d;
51
+ }
52
+ return 0;
53
+ }
54
+ export async function fetchNpmLatest(fetchImpl = fetch) {
55
+ const res = await fetchImpl(NPM_LATEST_URL, { signal: AbortSignal.timeout(REGISTRY_TIMEOUT_MS) });
56
+ if (!res.ok)
57
+ throw new Error(`registry answered HTTP ${res.status}`);
58
+ const body = (await res.json());
59
+ if (typeof body?.version !== "string")
60
+ throw new Error("registry document has no version");
61
+ return body.version;
62
+ }
63
+ export async function checkCliVersion(opts = {}) {
64
+ const installed = opts.installed ?? CLI_VERSION;
65
+ let latest;
66
+ try {
67
+ latest = await (opts.fetchLatest ?? fetchNpmLatest)();
68
+ }
69
+ catch (err) {
70
+ // Could not verify is not a failure: the candidate's install may be
71
+ // current and the registry merely unreachable from where they sit.
72
+ return {
73
+ name: "cli_version",
74
+ status: "warn",
75
+ detail: `Litmus CLI: ${installed} installed (could not check npm for a newer version)`,
76
+ verbose: err instanceof Error ? err.message : String(err),
77
+ };
78
+ }
79
+ if (installed === "unknown") {
80
+ return { name: "cli_version", status: "warn", detail: `Litmus CLI: installed version could not be read (${latest} is current)` };
81
+ }
82
+ if (compareVersions(installed, latest) < 0) {
83
+ return {
84
+ name: "cli_version",
85
+ status: "fail",
86
+ detail: `Litmus CLI: ${installed} installed, ${latest} is current. Run "${REINSTALL_COMMAND}" and then "litmus setup-check" again.`,
87
+ };
88
+ }
89
+ return { name: "cli_version", status: "ok", detail: `Litmus CLI: ${installed} (current)` };
90
+ }
91
+ // ── Server reachability ──────────────────────────────────────────────
92
+ /**
93
+ * Any HTTP answer from the API host counts as reachable — the question is
94
+ * whether this machine can talk to us at all, not whether the endpoint is
95
+ * healthy. `/api/health/db` is public (Clerk's middleware lets `/api/health/`
96
+ * through) and cheap.
97
+ */
98
+ export async function checkServerReachable(opts) {
99
+ const now = opts.now ?? Date.now;
100
+ const url = `${opts.apiBase.replace(/\/$/, "")}/api/health/db`;
101
+ const started = now();
102
+ try {
103
+ const res = await (opts.fetchImpl ?? fetch)(url, { signal: AbortSignal.timeout(SERVER_TIMEOUT_MS) });
104
+ const ms = now() - started;
105
+ const slow = ms > SERVER_SLOW_MS;
106
+ return {
107
+ name: "server",
108
+ status: "ok",
109
+ detail: slow
110
+ ? `Server connection: OK but slow (${ms}ms). Downloads may take a while; a wired or stronger connection helps.`
111
+ : `Server connection: OK (${ms}ms)`,
112
+ verbose: `GET ${url} -> HTTP ${res.status}`,
113
+ };
114
+ }
115
+ catch (err) {
116
+ return {
117
+ name: "server",
118
+ status: "fail",
119
+ detail: `Server connection: FAILED. Check your internet connection (and any VPN or firewall), then run "litmus setup-check" again.`,
120
+ verbose: `GET ${url}: ${err instanceof Error ? err.message : String(err)}`,
121
+ };
122
+ }
123
+ }
124
+ // ── git ──────────────────────────────────────────────────────────────
125
+ export function checkGit(exec = (cmd) => execSync(cmd, { stdio: "pipe", windowsHide: true }).toString()) {
126
+ try {
127
+ const out = exec("git --version").trim();
128
+ return { name: "git", status: "ok", detail: `Git: ${out.replace(/^git version\s*/i, "")}` };
129
+ }
130
+ catch (err) {
131
+ // `litmus init` runs `git init` and the tracker records commits, so a
132
+ // missing git is a real blocker with a one-step fix.
133
+ return {
134
+ name: "git",
135
+ status: "fail",
136
+ detail: "Git: not found. Install it from https://git-scm.com, then run \"litmus setup-check\" again.",
137
+ verbose: err instanceof Error ? err.message : String(err),
138
+ };
139
+ }
140
+ }
141
+ // ── Watcher boot smoke ───────────────────────────────────────────────
142
+ /**
143
+ * Spawn the REAL watcher against a throwaway directory and wait for it to
144
+ * stamp `tracker.ready`, which it does only once its monitors are running
145
+ * (end of its module init). Then ask it to exit through the shutdown
146
+ * sentinel it already polls — never a signal at a pid — and delete the dir.
147
+ *
148
+ * Safe to run on a candidate's machine before any assessment exists: with no
149
+ * config the watcher has no token and no backend, so it uploads nothing, arms
150
+ * no auto-submit, and its capture nudge needs two scans ten minutes apart
151
+ * before it will notify. Everything it writes lands under the temp dir.
152
+ */
153
+ export async function checkWatcherBoot(opts = {}) {
154
+ const timeoutMs = opts.timeoutMs ?? WATCHER_BOOT_TIMEOUT_MS;
155
+ let dir;
156
+ try {
157
+ dir = mkdtempSync(path.join(opts.tmpRoot ?? os.tmpdir(), "litmus-setup-check-"));
158
+ }
159
+ catch (err) {
160
+ return {
161
+ name: "watcher",
162
+ status: "fail",
163
+ detail: "Activity tracker: could not create a temporary folder to test in. Check that your temp directory is writable, then run \"litmus setup-check\" again.",
164
+ verbose: err instanceof Error ? err.message : String(err),
165
+ };
166
+ }
167
+ const litmusDir = path.join(dir, ".litmus");
168
+ const readyFile = path.join(litmusDir, "tracker.ready");
169
+ const logFile = path.join(litmusDir, "tracker.log");
170
+ const stderrTail = () => {
171
+ try {
172
+ return readFileSync(logFile, "utf8").trim().split("\n").slice(-12).join("\n");
173
+ }
174
+ catch {
175
+ return "(no tracker.log)";
176
+ }
177
+ };
178
+ let stopOutcome = null;
179
+ const annotate = (check) => {
180
+ if (!stopOutcome || stopOutcome.how === "sentinel" || stopOutcome.how === "never_started")
181
+ return check;
182
+ const note = stopOutcome.exited
183
+ ? `smoke watcher ignored the shutdown sentinel and was stopped with ${stopOutcome.how.toUpperCase()}`
184
+ : `smoke watcher pid could not be stopped; its folder ${dir} was left in place`;
185
+ return { ...check, verbose: check.verbose ? `${check.verbose}\n${note}` : note };
186
+ };
187
+ let result;
188
+ try {
189
+ mkdirSync(litmusDir, { recursive: true });
190
+ startTracker(dir);
191
+ const deadline = Date.now() + timeoutMs;
192
+ let ready = false;
193
+ let died = false;
194
+ while (Date.now() < deadline) {
195
+ if (existsSync(readyFile)) {
196
+ ready = true;
197
+ break;
198
+ }
199
+ const diag = trackerDiagnostics(dir);
200
+ if (diag.pid !== null && !diag.pidAlive) {
201
+ died = true;
202
+ break;
203
+ }
204
+ await new Promise((r) => setTimeout(r, 100));
205
+ }
206
+ if (ready) {
207
+ result = { name: "watcher", status: "ok", detail: "Activity tracker: starts and runs", verbose: stderrTail() };
208
+ }
209
+ else {
210
+ const tail = stderrTail();
211
+ const looksBlocked = /EPERM|EACCES|operation not permitted|access is denied/i.test(tail);
212
+ result = {
213
+ name: "watcher",
214
+ status: "fail",
215
+ detail: died
216
+ ? looksBlocked
217
+ ? "Activity tracker: exited during startup because something on this machine blocked it from writing files. Antivirus or endpoint-protection software is the usual cause; allow Node.js and the folder you will work in, then run \"litmus setup-check\" again."
218
+ : "Activity tracker: exited during startup. Copy this whole output into an email to support@litmushiring.com."
219
+ : "Activity tracker: did not finish starting in time. Run \"litmus setup-check\" again; if this line repeats, copy this whole output into an email to support@litmushiring.com.",
220
+ verbose: tail,
221
+ };
222
+ }
223
+ }
224
+ catch (err) {
225
+ result = {
226
+ name: "watcher",
227
+ status: "fail",
228
+ detail: "Activity tracker: could not be started. Copy this whole output into an email to support@litmushiring.com.",
229
+ verbose: `${err instanceof Error ? err.message : String(err)}\n${stderrTail()}`,
230
+ };
231
+ }
232
+ finally {
233
+ stopOutcome = await stopSmokeWatcher(dir);
234
+ }
235
+ return annotate(result);
236
+ }
237
+ /**
238
+ * Stop the smoke watcher and remove its directory, in that order and never
239
+ * the other way round (Greptile P1 on #2410): a watcher that wedged during
240
+ * init has not reached its sentinel poll and cannot see a shutdown file, so
241
+ * deleting the directory under it would orphan a live process with no
242
+ * control files left to stop it by.
243
+ *
244
+ * Escalation: the sentinel first (the watcher's own graceful path, and the
245
+ * only one that works on Windows without killing handlers), then SIGTERM,
246
+ * then SIGKILL. Signalling a pid is safe HERE where doctor refuses it: this
247
+ * pid was written by our own `startTracker` into a directory we created
248
+ * moments ago, so it is provably our child and not a recycled stranger.
249
+ * The directory is removed only once the process is gone; if it somehow
250
+ * survives even SIGKILL the directory is left in place so the files that
251
+ * name it are still there for a human.
252
+ */
253
+ export async function stopSmokeWatcher(dir, opts = {}) {
254
+ const kill = opts.kill ?? ((pid, signal) => process.kill(pid, signal));
255
+ const graceMs = opts.graceMs ?? 3000;
256
+ const litmusDir = path.join(dir, ".litmus");
257
+ const alive = () => {
258
+ const diag = trackerDiagnostics(dir);
259
+ return diag.pid !== null && diag.pidAlive;
260
+ };
261
+ const waitForExit = async (ms) => {
262
+ const deadline = Date.now() + ms;
263
+ while (Date.now() < deadline) {
264
+ if (!alive())
265
+ return true;
266
+ await new Promise((r) => setTimeout(r, 100));
267
+ }
268
+ return !alive();
269
+ };
270
+ const remove = () => {
271
+ try {
272
+ rmSync(dir, { recursive: true, force: true });
273
+ }
274
+ catch { /* a still-held handle on Windows; the OS temp cleaner takes it */ }
275
+ };
276
+ if (!alive()) {
277
+ remove();
278
+ return { exited: true, how: "never_started" };
279
+ }
280
+ try {
281
+ writeFileSync(path.join(litmusDir, "shutdown"), "", "utf8");
282
+ }
283
+ catch { /* fall through to signals */ }
284
+ if (await waitForExit(graceMs)) {
285
+ remove();
286
+ return { exited: true, how: "sentinel" };
287
+ }
288
+ const pid = trackerDiagnostics(dir).pid;
289
+ if (pid !== null) {
290
+ try {
291
+ kill(pid, "SIGTERM");
292
+ }
293
+ catch { /* already gone */ }
294
+ if (await waitForExit(graceMs)) {
295
+ remove();
296
+ return { exited: true, how: "sigterm" };
297
+ }
298
+ try {
299
+ kill(pid, "SIGKILL");
300
+ }
301
+ catch { /* already gone */ }
302
+ if (await waitForExit(graceMs)) {
303
+ remove();
304
+ return { exited: true, how: "sigkill" };
305
+ }
306
+ }
307
+ return { exited: false, how: "survived" };
308
+ }
309
+ // ── Composition ──────────────────────────────────────────────────────
310
+ /**
311
+ * The checks a candidate can act on before init, in the order they print.
312
+ * `apiBase` is the resolved frontend base (`resolveApiBase`).
313
+ */
314
+ export async function runEnvironmentChecks(opts) {
315
+ const results = [];
316
+ const push = (c) => { results.push(c); opts.record(c); };
317
+ push(checkNodeVersion());
318
+ push(await checkCliVersion());
319
+ push(checkGit());
320
+ push(await checkServerReachable({ apiBase: opts.apiBase }));
321
+ push(await checkWatcherBoot());
322
+ return results;
323
+ }
324
+ //# sourceMappingURL=environment-checks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-checks.js","sourceRoot":"","sources":["../../src/lib/environment-checks.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "litmus-cli",
3
- "version": "1.4.24",
3
+ "version": "1.4.25",
4
4
  "description": "CLI tool for Litmus engineering assessments",
5
5
  "license": "MIT",
6
6
  "author": "elenazhao",