@namzu/cli 7.0.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +2 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/doctor.d.ts.map +1 -1
  5. package/dist/commands/doctor.js +27 -3
  6. package/dist/commands/doctor.js.map +1 -1
  7. package/dist/commands/drain.d.ts +59 -0
  8. package/dist/commands/drain.d.ts.map +1 -0
  9. package/dist/commands/drain.js +301 -0
  10. package/dist/commands/drain.js.map +1 -0
  11. package/dist/commands/run-stream.d.ts +37 -9
  12. package/dist/commands/run-stream.d.ts.map +1 -1
  13. package/dist/commands/run-stream.js +108 -18
  14. package/dist/commands/run-stream.js.map +1 -1
  15. package/dist/doctor/checks/chain.d.ts.map +1 -1
  16. package/dist/doctor/checks/chain.js +11 -1
  17. package/dist/doctor/checks/chain.js.map +1 -1
  18. package/dist/doctor/checks/providers.d.ts +6 -1
  19. package/dist/doctor/checks/providers.d.ts.map +1 -1
  20. package/dist/doctor/checks/providers.js +7 -2
  21. package/dist/doctor/checks/providers.js.map +1 -1
  22. package/dist/doctor/checks/telemetry.d.ts +35 -1
  23. package/dist/doctor/checks/telemetry.d.ts.map +1 -1
  24. package/dist/doctor/checks/telemetry.js +64 -13
  25. package/dist/doctor/checks/telemetry.js.map +1 -1
  26. package/dist/doctor/checks/vault.d.ts +10 -1
  27. package/dist/doctor/checks/vault.d.ts.map +1 -1
  28. package/dist/doctor/checks/vault.js +11 -2
  29. package/dist/doctor/checks/vault.js.map +1 -1
  30. package/dist/doctor/registry.js +25 -1
  31. package/dist/doctor/registry.js.map +1 -1
  32. package/dist/exit-codes.d.ts +18 -1
  33. package/dist/exit-codes.d.ts.map +1 -1
  34. package/dist/exit-codes.js +17 -0
  35. package/dist/exit-codes.js.map +1 -1
  36. package/dist/tui/App.d.ts.map +1 -1
  37. package/dist/tui/App.js +224 -50
  38. package/dist/tui/App.js.map +1 -1
  39. package/dist/tui/agent.d.ts +57 -1
  40. package/dist/tui/agent.d.ts.map +1 -1
  41. package/dist/tui/agent.js +72 -3
  42. package/dist/tui/agent.js.map +1 -1
  43. package/dist/user-commands/store.d.ts +14 -1
  44. package/dist/user-commands/store.d.ts.map +1 -1
  45. package/dist/user-commands/store.js +6 -1
  46. package/dist/user-commands/store.js.map +1 -1
  47. package/package.json +5 -4
@@ -16,18 +16,46 @@
16
16
  * persisted (stateless one-shot).
17
17
  *
18
18
  * Status lines never hit stdout (logger silenced) so every stdout line is a
19
- * valid JSON event. Provider/credential failures are emitted as a final
20
- * `{"kind":"error",…}` line (exit 0) so the host surfaces them in-band.
19
+ * valid JSON event, and EVERY failure is reported in band, including the ones
20
+ * that also carry an exit code.
21
21
  *
22
- * ONE condition breaks that rule and exits non-zero: a working directory the
23
- * operator has not trusted. Exit 0 is right for a run that STARTED and failed,
24
- * which a host renders and may sensibly retry; a folder that was never trusted
25
- * is a refusal to start, and a host that cannot tell the two apart retries the
26
- * one thing retrying cannot fix. That case gets both — the explanation as an
27
- * event, and `77` as the fact that nothing ran.
22
+ * ## What the exit code means
23
+ *
24
+ * It used to be explained as "a run that STARTED and failed exits 0; a refusal
25
+ * to start exits non-zero", and that rule did not sort the cases it was applied
26
+ * to. An unknown option, a missing prompt, a `--cwd` that is not there and a
27
+ * tool server that will not connect are all refusals to start, and all four
28
+ * exited 0 while an untrusted folder exited 77. Neither does the retry argument
29
+ * the old comment appealed to: retrying an unknown option is exactly as
30
+ * pointless as retrying an untrusted folder.
31
+ *
32
+ * The axis that does sort them:
33
+ *
34
+ * CAN THE CALLER REACH THE RUN IT ASKED FOR BY CHANGING WHAT IT SENDS?
35
+ *
36
+ * - **Yes → `0`.** The host reads the `error` event and fixes its own
37
+ * invocation. An unknown option, no prompt, a `--cwd` that does not exist, a
38
+ * `--permission-mode` that is not a mode, an interactive command named
39
+ * headlessly, a provider id that is not a provider.
40
+ * - **A run that started and failed → `0`.** Unchanged: that is an outcome to
41
+ * render, and possibly to retry.
42
+ * - **No → non-zero, because a person has to go and do something.** `77` when
43
+ * the folder is untrusted — kept to that one condition, because being
44
+ * unambiguous is its entire justification. `1` for everything else in this
45
+ * group: a conversation that cannot be opened, no provider available, a
46
+ * credential or driver the session needs, a declared tool server that is not
47
+ * there, a command file that will not parse.
48
+ *
49
+ * `1` rather than a new code because `namzu run` — the same one-shot, differing
50
+ * only in how it prints — already exits `1` for these conditions and `77` for
51
+ * trust. A host that shells to one for a script and the other for a UI must not
52
+ * be handed two tables for one fact.
53
+ *
54
+ * Dropping `--session` is NOT "the caller fixing it": it abandons what was
55
+ * asked for rather than achieving it.
28
56
  */
29
57
  import { configureLogger } from '@namzu/sdk';
30
- import { EXIT_UNTRUSTED } from '../exit-codes.js';
58
+ import { EXIT_FAIL, EXIT_OK, EXIT_UNTRUSTED } from '../exit-codes.js';
31
59
  import { appendMessages, loadConversation, openSessions, resolveConversation, } from '../integrations/sessions/store.js';
32
60
  import { decideHeadlessTrust } from '../permissions/headless-trust.js';
33
61
  import { resolvePermissionMode } from '../permissions/mode.js';
@@ -90,26 +118,59 @@ export const runStreamCommand = {
90
118
  'Takes the same options as `namzu run`, including --permission-mode and',
91
119
  'the [permissions] table from the config file.',
92
120
  '',
121
+ 'History is bound with --session <id>. --continue and --resume are `run`',
122
+ 'options and are refused here rather than ignored.',
123
+ '',
93
124
  'The folder has to be trusted: run `namzu` here once and accept the',
94
125
  'prompt, or pass --trust for one run. An untrusted folder emits an error',
95
- 'event and exits 77 without running anything — the one case where this',
96
- 'command exits non-zero, because nothing started and a retry cannot help.',
126
+ 'event and exits 77 without running anything.',
97
127
  '',
98
128
  'Needs a provider. Set a credential in the environment, or run namzu',
99
129
  'once to pick one interactively.',
130
+ '',
131
+ 'Every failure is an event on stdout. The exit code says whether YOU can',
132
+ 'do anything about it: 0 when changing what you send would reach the run',
133
+ '(a wrong option, no prompt, a bad --cwd) and when a run started and',
134
+ 'failed; 1 when it would not (no provider, a tool server that is not',
135
+ 'there, a conversation that cannot be opened); 77 when the folder has not',
136
+ 'been trusted, which only a person can change.',
100
137
  ].join('\n'),
101
138
  handler: async ({ ctx, rawArgs }) => {
102
139
  const write = (o) => {
103
140
  process.stdout.write(`${JSON.stringify(o)}\n`);
104
141
  };
142
+ /**
143
+ * Report and stop.
144
+ *
145
+ * Always in band, always terminated with `done`, and the code says only
146
+ * whether the caller can reach the run by sending something else. The
147
+ * argument for each case is in this file's header; the two spellings exist
148
+ * so that every call site below has to state which side it is on rather
149
+ * than inheriting a default nobody re-reads.
150
+ */
105
151
  const fail = (message) => {
106
152
  write({ kind: 'error', message });
107
153
  write({ kind: 'done' });
108
- return 0;
154
+ return EXIT_OK;
155
+ };
156
+ const refuse = (message) => {
157
+ write({ kind: 'error', message });
158
+ write({ kind: 'done' });
159
+ return EXIT_FAIL;
109
160
  };
110
161
  const flags = parseRunFlags(rawArgs);
111
162
  if (flags.unknown.length > 0)
112
163
  return fail(unknownOptionMessage(flags.unknown));
164
+ // `--continue` and `--resume` parse here because the two commands share one
165
+ // parser, and this command reads neither. Accepting a flag and doing
166
+ // nothing with it is the failure mode the shared parser was introduced to
167
+ // end: a host that asked to reopen a conversation was given a stateless
168
+ // run, reported as an ordinary success, and the next turn had no history
169
+ // with nothing anywhere connecting the two. Refused instead, and named,
170
+ // because a host CAN fix this — `--session` is the flag it wanted.
171
+ if (flags.continueLast || flags.resume !== null) {
172
+ return fail('run-stream does not take --continue or --resume; they are `namzu run` options. Bind history with --session <id>, which keys a persisted conversation in this folder.');
173
+ }
113
174
  const sessionKey = flags.session;
114
175
  const prompt = flags.rest.join(' ').trim();
115
176
  if (!prompt)
@@ -125,8 +186,13 @@ export const runStreamCommand = {
125
186
  cwd,
126
187
  builtins: SLASH_COMMANDS.map((c) => c.name),
127
188
  });
128
- if (expansion.kind === 'refused')
129
- return fail(expansion.reason);
189
+ // Two different refusals wear this one word. An interactive builtin named
190
+ // headlessly, or arguments handed to a template that takes none, are fixed
191
+ // by sending a different prompt. A command FILE that will not parse is not
192
+ // — and no prompt fixes a file.
193
+ if (expansion.kind === 'refused') {
194
+ return expansion.fixable ? fail(expansion.reason) : refuse(expansion.reason);
195
+ }
130
196
  const finalPrompt = expansion.kind === 'expanded' ? expansion.prompt : prompt;
131
197
  // Before the session store is opened, before anything is read or run in
132
198
  // that directory.
@@ -176,7 +242,15 @@ export const runStreamCommand = {
176
242
  // In band, like every other failure here, because that is what the
177
243
  // host reads. No session has been built at this point in the flow,
178
244
  // so there is nothing to close on the way out.
179
- return fail(`could not open conversation "${sessionKey}": ${err instanceof Error ? err.message : String(err)}. Nothing ran, because continuing the wrong history is worse than not continuing. Drop --session to run this turn stateless.`);
245
+ //
246
+ // Non-zero, which is the correction #321 is about. `resolveConversation`
247
+ // CREATES the key on first use, so this cannot be a key the host got
248
+ // wrong — the only way here is the store itself: an unwritable
249
+ // `.namzu`, a corrupt map file. Nothing the host sends changes that,
250
+ // so a host treating 0 as "render the error and move on" would loop
251
+ // on an environment fault it could have raised to a person. Dropping
252
+ // `--session` is not a fix; it abandons what was asked for.
253
+ return refuse(`could not open conversation "${sessionKey}": ${err instanceof Error ? err.message : String(err)}. Nothing ran, because continuing the wrong history is worse than not continuing. Drop --session to run this turn stateless.`);
180
254
  }
181
255
  }
182
256
  if (!cli) {
@@ -187,7 +261,9 @@ export const runStreamCommand = {
187
261
  const probe = await probeAgentSession();
188
262
  let prefs = probe.preferences ?? defaultPrefs(probe.detected);
189
263
  if (!prefs) {
190
- return fail('no LLM provider available — set a credential (e.g. ANTHROPIC_API_KEY) or run `namzu` to pick one');
264
+ // Nothing detected and nothing configured. `--provider` cannot conjure a
265
+ // credential, so no argument the host changes gets past this line.
266
+ return refuse('no LLM provider available — set a credential (e.g. ANTHROPIC_API_KEY) or run `namzu` to pick one');
191
267
  }
192
268
  // --provider/--model override the persona's configured provider+model for
193
269
  // this run, so the Namzu tab's picks win over ~/.namzu/preferences.json.
@@ -223,7 +299,18 @@ export const runStreamCommand = {
223
299
  });
224
300
  if (!session.hasProvider) {
225
301
  await session.close();
226
- return fail(session.errorHint ?? 'agent is not ready');
302
+ // The one branch here that is genuinely BOTH. `createAgentSession`
303
+ // refuses an id that is not a provider — which `--provider` put there,
304
+ // so the host fixes it — and, with the same result object, a missing
305
+ // credential, a driver package that would not load, a chain that
306
+ // contradicts itself, a client that would not construct. None of those
307
+ // four move for any argument.
308
+ //
309
+ // The session says which, in a field. Deciding it here by reading its
310
+ // `errorHint` would be the message-matching that `exit-codes.ts` exists
311
+ // to prevent, and would make that sentence unrewordable.
312
+ const message = session.errorHint ?? 'agent is not ready';
313
+ return session.errorKind === 'invocation' ? fail(message) : refuse(message);
227
314
  }
228
315
  // A configured tool server that is not here means the turn cannot do what
229
316
  // the operator set it up to do, and this command answers a host, not a
@@ -234,7 +321,10 @@ export const runStreamCommand = {
234
321
  .map((f) => `tool server "${f.name}" is not available: ${f.reason}`)
235
322
  .join('; ');
236
323
  await session.close();
237
- return fail(said);
324
+ // The servers come from `namzu.config.json`, not from the invocation, so
325
+ // there is no argument the host can change to bring one up. `run`
326
+ // already exits 1 here.
327
+ return refuse(said);
238
328
  }
239
329
  // "Printed on every launch" has to reach a host UI too, or the one caller
240
330
  // with no human watching is the one that never hears it. Its own event
@@ -1 +1 @@
1
- {"version":3,"file":"run-stream.js","sourceRoot":"","sources":["../../src/commands/run-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-stream.js","sourceRoot":"","sources":["../../src/commands/run-stream.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../src/doctor/checks/chain.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAMhE,OAAO,EAAE,KAAK,eAAe,EAAqB,MAAM,0CAA0C,CAAA;AAKlG,MAAM,WAAW,yBAAyB;IACzC,wEAAwE;IACxE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,CAAA;IACrC,uFAAuF;IACvF,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAsB,qBAAqB,CAC1C,OAAO,GAAE,yBAA8B,GACrC,OAAO,CAAC,iBAAiB,CAAC,CAyJ5B;AAED,eAAO,MAAM,kBAAkB,EAAE,WAIhC,CAAA"}
1
+ {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../src/doctor/checks/chain.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAMhE,OAAO,EAAE,KAAK,eAAe,EAAqB,MAAM,0CAA0C,CAAA;AAKlG,MAAM,WAAW,yBAAyB;IACzC,wEAAwE;IACxE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,CAAA;IACrC,uFAAuF;IACvF,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAsB,qBAAqB,CAC1C,OAAO,GAAE,yBAA8B,GACrC,OAAO,CAAC,iBAAiB,CAAC,CAmK5B;AAED,eAAO,MAAM,kBAAkB,EAAE,WAIhC,CAAA"}
@@ -60,8 +60,18 @@ export async function describeProviderChain(options = {}) {
60
60
  };
61
61
  }
62
62
  if (read.status === 'missing') {
63
+ // `skipped`: this check LOOKED and there is no chain here to describe.
64
+ // Not `inconclusive`, which now means the check could not answer — the
65
+ // answer was reached, and it is "there is none".
66
+ //
67
+ // Not `warn` either, which in this file means namzu is usable but
68
+ // degraded. A machine with no preferences file and a key in the
69
+ // environment is an ordinary working namzu: `run` builds a default chain
70
+ // from what it detects, and whether a credential exists at all is
71
+ // `providers.credentials`' question, answered there and not restated
72
+ // here.
63
73
  return {
64
- status: 'inconclusive',
74
+ status: 'skipped',
65
75
  message: `no provider chain configured (${path} does not exist)`,
66
76
  remediation: 'Run `namzu` and pick a provider; the choice is saved to that file.',
67
77
  };
@@ -1 +1 @@
1
- {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/doctor/checks/chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAIjC,OAAO,EACN,4BAA4B,EAC5B,iBAAiB,GACjB,MAAM,oDAAoD,CAAA;AAC3D,OAAO,EAAwB,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAClG,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAA;AAC9F,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAU5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,UAAqC,EAAE;IAEvC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,EAAE,CAAA;IACtC,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;IAElC,IAAI,IAAwC,CAAA;IAC5C,IAAI,CAAC;QACJ,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO;YACN,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,kBAAkB,IAAI,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YACtF,WAAW,EAAE,oEAAoE;SACjF,CAAA;IACF,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO;YACN,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,iCAAiC,IAAI,kBAAkB;YAChE,WAAW,EAAE,oEAAoE;SACjF,CAAA;IACF,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;QACpC,OAAO;YACN,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,4BAA4B,IAAI,CAAC,MAAM,EAAE;YAClD,WAAW,EAAE,uDAAuD;SACpE,CAAA;IACF,CAAC;IAED,IAAI,QAAuD,CAAA;IAC3D,IAAI,CAAC;QACJ,QAAQ,GAAG,MAAM,iBAAiB,CAAC;YAClC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnD,CAAC,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,uEAAuE;QACvE,iEAAiE;QACjE,iBAAiB;QACjB,OAAO;YACN,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,yDACR,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAChD,EAAE;SACF,CAAA;IACF,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAA;IACpC,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,eAAe,GAAG,KAAK,CAAA;IAE3B,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC1C,MAAM,QAAQ,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,KAAK,EAAE,CAAA;QAC9D,uEAAuE;QACvE,0EAA0E;QAC1E,wEAAwE;QACxE,2EAA2E;QAC3E,oEAAoE;QACpE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,YAAY,kBAAkB,CAAA;QACrE,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAA;QAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACzE,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,QAAQ,EAAE,CAAA;YACV,IAAI,KAAK,KAAK,CAAC;gBAAE,eAAe,GAAG,IAAI,CAAA;QACxC,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc;YACjC,CAAC,CAAC,MAAM;gBACP,CAAC,CAAC,kBAAkB;gBACpB,CAAC,CAAC,eAAe;YAClB,CAAC,CAAC,MAAM;gBACP,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,eAAe,CAAA;QACnB,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,QAAQ,MAAM,KAAK,CAAC,KAAK,MAAM,KAAK,MAAM,KAAK,EAAE,CAAC,CAAA;IAC/E,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAE9B,4EAA4E;IAC5E,4EAA4E;IAC5E,sCAAsC;IACtC,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAA;IACxD,MAAM,aAAa,GAAG,4BAA4B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,KAAK,IAAI,CAAA;IAC5D,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IACvD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,YAAY,CAAA;IAE5D,MAAM,QAAQ,GAAa,CAAC,KAAK,CAAC,CAAA;IAClC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CACZ,QAAQ;YACP,CAAC,CAAC,yEAAyE;YAC3E,CAAC,CAAC,2EAA2E,EAC9E,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAChD,CAAA;IACF,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,yEAAyE;QACzE,2EAA2E;QAC3E,yEAAyE;QACzE,sBAAsB;QACtB,QAAQ,CAAC,IAAI,CACZ,4CAA4C,EAC5C,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAC1C,CAAA;IACF,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEnC,0EAA0E;IAC1E,2EAA2E;IAC3E,gDAAgD;IAChD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,OAAO;YACN,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,kDAAkD,OAAO,EAAE;YACpE,WAAW,EACV,+OAA+O;SAChP,CAAA;IACF,CAAC;IACD,IAAI,eAAe,IAAI,iBAAiB,EAAE,CAAC;QAC1C,OAAO;YACN,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,QAAQ,OAAO,OAAO,CAAC,MAAM,qCAAqC,OAAO,EAAE;YACvF,WAAW,EAAE,eAAe;gBAC3B,CAAC,CAAC,kIAAkI;gBACpI,CAAC,CAAC,yGAAyG;SAC5G,CAAA;IACF,CAAC;IACD,IAAI,QAAQ,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvE,OAAO;YACN,yEAAyE;YACzE,+CAA+C;YAC/C,MAAM,EAAE,MAAM;YACd,OAAO,EACN,QAAQ,GAAG,CAAC;gBACX,CAAC,CAAC,GAAG,QAAQ,OAAO,OAAO,CAAC,MAAM,qCAAqC,OAAO,EAAE;gBAChF,CAAC,CAAC,6CAA6C,OAAO,EAAE;YAC1D,WAAW,EACV,QAAQ,GAAG,CAAC;gBACX,CAAC,CAAC,8IAA8I;gBAChJ,CAAC,CAAC,uJAAuJ;SAC3J,CAAA;IACF,CAAC;IAED,OAAO;QACN,MAAM,EAAE,MAAM;QACd,OAAO,EACN,OAAO,CAAC,MAAM,KAAK,CAAC;YACnB,CAAC,CAAC,yCAAyC,OAAO,EAAE;YACpD,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,qCAAqC,OAAO,EAAE;KACnE,CAAA;AACF,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAgB;IAC9C,EAAE,EAAE,iBAAiB;IACrB,QAAQ,EAAE,WAAW;IACrB,GAAG,EAAE,CAAC,GAAG,EAA8B,EAAE,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;CACjF,CAAA"}
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/doctor/checks/chain.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
1
  import type { DoctorCheck } from '@namzu/sdk';
2
2
  /**
3
- * Built-in provider probe is intentionally inconclusive in v1.
3
+ * Built-in provider probe is intentionally `skipped` in v1.
4
+ *
5
+ * `skipped` rather than `inconclusive` for the reason spelled out on
6
+ * `vault.registered`: there is no discovery mechanism here to fail, so this is
7
+ * a permanent absence of a subject rather than a question that went unanswered,
8
+ * and only the latter is worth an exit code.
4
9
  *
5
10
  * Provider auto-discovery requires walking `ProviderRegistry`, which is
6
11
  * a module-private map populated by side-effecting calls in consumer
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../src/doctor/checks/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAA;AAEhE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAQtC,CAAA"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../src/doctor/checks/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAA;AAEhE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAQtC,CAAA"}
@@ -1,5 +1,10 @@
1
1
  /**
2
- * Built-in provider probe is intentionally inconclusive in v1.
2
+ * Built-in provider probe is intentionally `skipped` in v1.
3
+ *
4
+ * `skipped` rather than `inconclusive` for the reason spelled out on
5
+ * `vault.registered`: there is no discovery mechanism here to fail, so this is
6
+ * a permanent absence of a subject rather than a question that went unanswered,
7
+ * and only the latter is worth an exit code.
3
8
  *
4
9
  * Provider auto-discovery requires walking `ProviderRegistry`, which is
5
10
  * a module-private map populated by side-effecting calls in consumer
@@ -18,7 +23,7 @@ export const providersRegisteredCheck = {
18
23
  id: 'providers.registered',
19
24
  category: 'providers',
20
25
  run: async () => ({
21
- status: 'inconclusive',
26
+ status: 'skipped',
22
27
  message: 'no provider auto-discovery in v1; register a provider check via registerDoctorCheck for your specific provider configuration (call provider.doctorCheck?() per registered provider)',
23
28
  }),
24
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../src/doctor/checks/providers.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAgB;IACpD,EAAE,EAAE,sBAAsB;IAC1B,QAAQ,EAAE,WAAW;IACrB,GAAG,EAAE,KAAK,IAAgC,EAAE,CAAC,CAAC;QAC7C,MAAM,EAAE,cAAc;QACtB,OAAO,EACN,qLAAqL;KACtL,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../src/doctor/checks/providers.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAgB;IACpD,EAAE,EAAE,sBAAsB;IAC1B,QAAQ,EAAE,WAAW;IACrB,GAAG,EAAE,KAAK,IAAgC,EAAE,CAAC,CAAC;QAC7C,MAAM,EAAE,SAAS;QACjB,OAAO,EACN,qLAAqL;KACtL,CAAC;CACF,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { DoctorCheck } from '@namzu/sdk';
1
+ import type { DoctorCheck, DoctorCheckResult } from '@namzu/sdk';
2
2
  /**
3
3
  * Telemetry presence probe.
4
4
  *
@@ -7,6 +7,40 @@ import type { DoctorCheck } from '@namzu/sdk';
7
7
  * (not a failure). Endpoint reachability + dry-run span export are
8
8
  * deferred to a follow-up check that the consumer can register
9
9
  * themselves once their telemetry config is known.
10
+ *
11
+ * ## Resolving and loading are asked separately, on purpose
12
+ *
13
+ * This used to be one `import()` in a `try`, and every rejection was reported
14
+ * as `not installed (optional package)`. A package that IS installed and throws
15
+ * on load — a broken build, a native binding that will not open, a dependency
16
+ * of its own that cannot resolve — was reported as absent. One word, two facts,
17
+ * and the reader is told the reassuring one.
18
+ *
19
+ * Splitting the question is what makes each answer honest, and a code check on
20
+ * the thrown error is not enough to do it: a transitive dependency that cannot
21
+ * resolve raises `ERR_MODULE_NOT_FOUND` exactly as a missing `@namzu/telemetry`
22
+ * does, so matching on the code would report a broken installation as no
23
+ * installation. `resolve` asks only about THIS specifier, so it separates the
24
+ * two by construction rather than by reading a message that may be reworded.
25
+ *
26
+ * - cannot resolve → the package is not here → `skipped`
27
+ * - resolves, import throws → it is here and unusable → `fail`
28
+ */
29
+ /**
30
+ * Whether `specifier` is installed, and whether it loads.
31
+ *
32
+ * Exported separately from the `DoctorCheck` so all three outcomes can be
33
+ * driven with a specifier the test controls — there is no way to uninstall or
34
+ * break the real optional package from inside a test run. The check itself is
35
+ * still exercised through `telemetryInstalledCheck.run`, because a helper
36
+ * proven in isolation says nothing about whether the check reaches it. Same
37
+ * arrangement, and the same reason, as `describeProviderChain`.
38
+ *
39
+ * The import goes through the RESOLVED path rather than the specifier, so one
40
+ * code path serves a package name and a file, which is what lets the
41
+ * present-but-broken case be reached at all. Resolution has already applied the
42
+ * package's export map by that point.
10
43
  */
44
+ export declare function describeInstalledPackage(specifier: string): Promise<DoctorCheckResult>;
11
45
  export declare const telemetryInstalledCheck: DoctorCheck;
12
46
  //# sourceMappingURL=telemetry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../../src/doctor/checks/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAA;AAEhE;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,EAAE,WAerC,CAAA"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../../src/doctor/checks/telemetry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAIhE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA0B5F;AAED,eAAO,MAAM,uBAAuB,EAAE,WAIrC,CAAA"}
@@ -1,3 +1,6 @@
1
+ import { createRequire } from 'node:module';
2
+ import { pathToFileURL } from 'node:url';
3
+ const TELEMETRY = '@namzu/telemetry';
1
4
  /**
2
5
  * Telemetry presence probe.
3
6
  *
@@ -6,22 +9,70 @@
6
9
  * (not a failure). Endpoint reachability + dry-run span export are
7
10
  * deferred to a follow-up check that the consumer can register
8
11
  * themselves once their telemetry config is known.
12
+ *
13
+ * ## Resolving and loading are asked separately, on purpose
14
+ *
15
+ * This used to be one `import()` in a `try`, and every rejection was reported
16
+ * as `not installed (optional package)`. A package that IS installed and throws
17
+ * on load — a broken build, a native binding that will not open, a dependency
18
+ * of its own that cannot resolve — was reported as absent. One word, two facts,
19
+ * and the reader is told the reassuring one.
20
+ *
21
+ * Splitting the question is what makes each answer honest, and a code check on
22
+ * the thrown error is not enough to do it: a transitive dependency that cannot
23
+ * resolve raises `ERR_MODULE_NOT_FOUND` exactly as a missing `@namzu/telemetry`
24
+ * does, so matching on the code would report a broken installation as no
25
+ * installation. `resolve` asks only about THIS specifier, so it separates the
26
+ * two by construction rather than by reading a message that may be reworded.
27
+ *
28
+ * - cannot resolve → the package is not here → `skipped`
29
+ * - resolves, import throws → it is here and unusable → `fail`
30
+ */
31
+ /**
32
+ * Whether `specifier` is installed, and whether it loads.
33
+ *
34
+ * Exported separately from the `DoctorCheck` so all three outcomes can be
35
+ * driven with a specifier the test controls — there is no way to uninstall or
36
+ * break the real optional package from inside a test run. The check itself is
37
+ * still exercised through `telemetryInstalledCheck.run`, because a helper
38
+ * proven in isolation says nothing about whether the check reaches it. Same
39
+ * arrangement, and the same reason, as `describeProviderChain`.
40
+ *
41
+ * The import goes through the RESOLVED path rather than the specifier, so one
42
+ * code path serves a package name and a file, which is what lets the
43
+ * present-but-broken case be reached at all. Resolution has already applied the
44
+ * package's export map by that point.
9
45
  */
46
+ export async function describeInstalledPackage(specifier) {
47
+ const require = createRequire(import.meta.url);
48
+ let resolved;
49
+ try {
50
+ resolved = require.resolve(specifier);
51
+ }
52
+ catch {
53
+ return {
54
+ status: 'skipped',
55
+ message: `${specifier} not installed (optional package)`,
56
+ };
57
+ }
58
+ try {
59
+ await import(pathToFileURL(resolved).href);
60
+ return { status: 'pass', message: `${specifier} is installed` };
61
+ }
62
+ catch (err) {
63
+ return {
64
+ status: 'fail',
65
+ // The reason is the whole value of separating these: "installed but
66
+ // will not load" sends the reader somewhere, and "not installed" would
67
+ // have sent them to install what is already there.
68
+ message: `${specifier} is installed but failed to load: ${err instanceof Error ? err.message : String(err)}`,
69
+ remediation: `Reinstall ${specifier}, or remove it if you are not using telemetry — it is optional and namzu runs without it.`,
70
+ };
71
+ }
72
+ }
10
73
  export const telemetryInstalledCheck = {
11
74
  id: 'telemetry.installed',
12
75
  category: 'telemetry',
13
- run: async () => {
14
- const specifier = '@namzu/telemetry';
15
- try {
16
- await import(specifier);
17
- return { status: 'pass', message: '@namzu/telemetry is installed' };
18
- }
19
- catch {
20
- return {
21
- status: 'inconclusive',
22
- message: '@namzu/telemetry not installed (optional package)',
23
- };
24
- }
25
- },
76
+ run: () => describeInstalledPackage(TELEMETRY),
26
77
  };
27
78
  //# sourceMappingURL=telemetry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../../src/doctor/checks/telemetry.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAgB;IACnD,EAAE,EAAE,qBAAqB;IACzB,QAAQ,EAAE,WAAW;IACrB,GAAG,EAAE,KAAK,IAAgC,EAAE;QAC3C,MAAM,SAAS,GAAG,kBAAkB,CAAA;QACpC,IAAI,CAAC;YACJ,MAAM,MAAM,CAAC,SAAS,CAAC,CAAA;YACvB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAA;QACpE,CAAC;QAAC,MAAM,CAAC;YACR,OAAO;gBACN,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE,mDAAmD;aAC5D,CAAA;QACF,CAAC;IACF,CAAC;CACD,CAAA"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../../src/doctor/checks/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAIxC,MAAM,SAAS,GAAG,kBAAkB,CAAA;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,SAAiB;IAC/D,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9C,IAAI,QAAgB,CAAA;IACpB,IAAI,CAAC;QACJ,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACtC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO;YACN,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,GAAG,SAAS,mCAAmC;SACxD,CAAA;IACF,CAAC;IACD,IAAI,CAAC;QACJ,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAA;QAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,eAAe,EAAE,CAAA;IAChE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO;YACN,MAAM,EAAE,MAAM;YACd,oEAAoE;YACpE,uEAAuE;YACvE,mDAAmD;YACnD,OAAO,EAAE,GAAG,SAAS,qCACpB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAChD,EAAE;YACF,WAAW,EAAE,aAAa,SAAS,2FAA2F;SAC9H,CAAA;IACF,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAgB;IACnD,EAAE,EAAE,qBAAqB;IACzB,QAAQ,EAAE,WAAW;IACrB,GAAG,EAAE,GAA+B,EAAE,CAAC,wBAAwB,CAAC,SAAS,CAAC;CAC1E,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import type { DoctorCheck } from '@namzu/sdk';
2
2
  /**
3
- * Built-in vault probe is intentionally inconclusive.
3
+ * Built-in vault probe is intentionally `skipped`.
4
4
  *
5
5
  * `CredentialVault` is an interface, not a globally-discoverable
6
6
  * registry — consumers instantiate their own (`InMemoryCredentialVault`,
@@ -8,6 +8,15 @@ import type { DoctorCheck } from '@namzu/sdk';
8
8
  * vaults it doesn't know about. To get a real vault healthcheck, the
9
9
  * consumer registers a custom check via `registerDoctorCheck` that
10
10
  * exercises their specific vault wiring.
11
+ *
12
+ * `skipped`, not `inconclusive`, and the difference is the whole point of the
13
+ * split: `inconclusive` means a check tried and could not answer, which is a
14
+ * gap in the report and now carries a non-zero exit code. This check has no
15
+ * subject to answer about — there is no discovery mechanism to fail — and that
16
+ * is true on every machine, permanently, by design. Reporting a permanent
17
+ * design decision as an unanswered question would make `namzu doctor` non-zero
18
+ * on every healthy machine, and a diagnostic that always complains is one
19
+ * nobody reads.
11
20
  */
12
21
  export declare const vaultRegisteredCheck: DoctorCheck;
13
22
  //# sourceMappingURL=vault.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../../src/doctor/checks/vault.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAA;AAEhE;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAQlC,CAAA"}
1
+ {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../../src/doctor/checks/vault.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAA;AAEhE;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAQlC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Built-in vault probe is intentionally inconclusive.
2
+ * Built-in vault probe is intentionally `skipped`.
3
3
  *
4
4
  * `CredentialVault` is an interface, not a globally-discoverable
5
5
  * registry — consumers instantiate their own (`InMemoryCredentialVault`,
@@ -7,12 +7,21 @@
7
7
  * vaults it doesn't know about. To get a real vault healthcheck, the
8
8
  * consumer registers a custom check via `registerDoctorCheck` that
9
9
  * exercises their specific vault wiring.
10
+ *
11
+ * `skipped`, not `inconclusive`, and the difference is the whole point of the
12
+ * split: `inconclusive` means a check tried and could not answer, which is a
13
+ * gap in the report and now carries a non-zero exit code. This check has no
14
+ * subject to answer about — there is no discovery mechanism to fail — and that
15
+ * is true on every machine, permanently, by design. Reporting a permanent
16
+ * design decision as an unanswered question would make `namzu doctor` non-zero
17
+ * on every healthy machine, and a diagnostic that always complains is one
18
+ * nobody reads.
10
19
  */
11
20
  export const vaultRegisteredCheck = {
12
21
  id: 'vault.registered',
13
22
  category: 'vault',
14
23
  run: async () => ({
15
- status: 'inconclusive',
24
+ status: 'skipped',
16
25
  message: 'no vault auto-discovery in v1; register a vault check via registerDoctorCheck for your specific vault setup',
17
26
  }),
18
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../../src/doctor/checks/vault.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAChD,EAAE,EAAE,kBAAkB;IACtB,QAAQ,EAAE,OAAO;IACjB,GAAG,EAAE,KAAK,IAAgC,EAAE,CAAC,CAAC;QAC7C,MAAM,EAAE,cAAc;QACtB,OAAO,EACN,6GAA6G;KAC9G,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../../src/doctor/checks/vault.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAChD,EAAE,EAAE,kBAAkB;IACtB,QAAQ,EAAE,OAAO;IACjB,GAAG,EAAE,KAAK,IAAgC,EAAE,CAAC,CAAC;QAC7C,MAAM,EAAE,SAAS;QACjB,OAAO,EACN,6GAA6G;KAC9G,CAAC;CACF,CAAA"}
@@ -182,9 +182,33 @@ function buildReport(records, version) {
182
182
  fail: records.filter((r) => r.status === 'fail').length,
183
183
  inconclusive: records.filter((r) => r.status === 'inconclusive').length,
184
184
  warn: records.filter((r) => r.status === 'warn').length,
185
+ skipped: records.filter((r) => r.status === 'skipped').length,
185
186
  total: records.length,
186
187
  };
187
- const exit = summary.fail > 0 ? 1 : summary.total === 0 ? 2 : 0;
188
+ /**
189
+ * What this command's exit code means, decided here because here is where
190
+ * the codes are.
191
+ *
192
+ * `inconclusive` used not to appear in this expression at all, so a check
193
+ * that COULD NOT ANSWER exited `0` — the same number as a machine where
194
+ * everything passed. A script could not tell "namzu is healthy" from "namzu
195
+ * did not manage to look", in the one command whose entire job is to report
196
+ * state it read.
197
+ *
198
+ * The order is the ranking, and it is deliberate:
199
+ *
200
+ * - `fail` outranks `inconclusive`. A definite failure is the actionable
201
+ * fact, and `1` does not claim health, so nothing is lost by reporting it
202
+ * even when part of the run is also unknown.
203
+ * - `2` stays above `inconclusive` because an empty run has no checks to be
204
+ * inconclusive about; the two cannot both be true.
205
+ * - `skipped` never moves this off `0`. A skipped check is an ordinary state
206
+ * of a healthy machine — an optional package absent, a registry with
207
+ * nothing to discover — and a diagnostic that went non-zero on every
208
+ * healthy machine would be turned off within a week, which is the failure
209
+ * mode of a check that fires where nothing is wrong.
210
+ */
211
+ const exit = summary.fail > 0 ? 1 : summary.total === 0 ? 2 : summary.inconclusive > 0 ? 69 : 0;
188
212
  return Object.freeze({
189
213
  version,
190
214
  timestamp: new Date().toISOString(),