@dungle-scrubs/harness-cli-normalizer 0.4.3 → 0.4.5

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 (99) hide show
  1. package/README.md +14 -5
  2. package/dist/cli/args.d.ts.map +1 -1
  3. package/dist/cli/args.js +8 -0
  4. package/dist/cli/args.js.map +1 -1
  5. package/dist/cli/config.d.ts.map +1 -1
  6. package/dist/cli/config.js +4 -0
  7. package/dist/cli/config.js.map +1 -1
  8. package/dist/cli/help.d.ts +2 -2
  9. package/dist/cli/help.d.ts.map +1 -1
  10. package/dist/cli/help.js +8 -1
  11. package/dist/cli/help.js.map +1 -1
  12. package/dist/cli/inspect.d.ts.map +1 -1
  13. package/dist/cli/inspect.js +57 -24
  14. package/dist/cli/inspect.js.map +1 -1
  15. package/dist/cli/run.d.ts.map +1 -1
  16. package/dist/cli/run.js +125 -65
  17. package/dist/cli/run.js.map +1 -1
  18. package/dist/execution/decode.d.ts +3 -3
  19. package/dist/execution/decode.d.ts.map +1 -1
  20. package/dist/execution/decode.js +44 -12
  21. package/dist/execution/decode.js.map +1 -1
  22. package/dist/execution/deps.d.ts +3 -0
  23. package/dist/execution/deps.d.ts.map +1 -1
  24. package/dist/execution/events.d.ts +7 -2
  25. package/dist/execution/events.d.ts.map +1 -1
  26. package/dist/execution/events.js.map +1 -1
  27. package/dist/execution/node-deps.d.ts.map +1 -1
  28. package/dist/execution/node-deps.js +1 -0
  29. package/dist/execution/node-deps.js.map +1 -1
  30. package/dist/execution/open-session.d.ts.map +1 -1
  31. package/dist/execution/open-session.js +36 -5
  32. package/dist/execution/open-session.js.map +1 -1
  33. package/dist/execution/stream-turn.d.ts +4 -0
  34. package/dist/execution/stream-turn.d.ts.map +1 -1
  35. package/dist/execution/stream-turn.js +135 -29
  36. package/dist/execution/stream-turn.js.map +1 -1
  37. package/dist/interpretation/argv.d.ts +7 -0
  38. package/dist/interpretation/argv.d.ts.map +1 -1
  39. package/dist/interpretation/argv.js +24 -4
  40. package/dist/interpretation/argv.js.map +1 -1
  41. package/dist/interpretation/capabilities.d.ts.map +1 -1
  42. package/dist/interpretation/capabilities.js +4 -1
  43. package/dist/interpretation/capabilities.js.map +1 -1
  44. package/dist/interpretation/content.d.ts +9 -1
  45. package/dist/interpretation/content.d.ts.map +1 -1
  46. package/dist/interpretation/content.js +13 -4
  47. package/dist/interpretation/content.js.map +1 -1
  48. package/dist/interpretation/hints.d.ts.map +1 -1
  49. package/dist/interpretation/hints.js +5 -0
  50. package/dist/interpretation/hints.js.map +1 -1
  51. package/dist/interpretation/resolve-options.d.ts.map +1 -1
  52. package/dist/interpretation/resolve-options.js +16 -0
  53. package/dist/interpretation/resolve-options.js.map +1 -1
  54. package/dist/interpretation/tool-selection.d.ts.map +1 -1
  55. package/dist/interpretation/tool-selection.js +9 -0
  56. package/dist/interpretation/tool-selection.js.map +1 -1
  57. package/dist/interpretation/turn-options.d.ts.map +1 -1
  58. package/dist/interpretation/turn-options.js +35 -3
  59. package/dist/interpretation/turn-options.js.map +1 -1
  60. package/dist/knowledge/claude-code.d.ts.map +1 -1
  61. package/dist/knowledge/claude-code.js +21 -0
  62. package/dist/knowledge/claude-code.js.map +1 -1
  63. package/dist/knowledge/codex.d.ts.map +1 -1
  64. package/dist/knowledge/codex.js +9 -0
  65. package/dist/knowledge/codex.js.map +1 -1
  66. package/dist/knowledge/descriptor.d.ts +21 -10
  67. package/dist/knowledge/descriptor.d.ts.map +1 -1
  68. package/dist/knowledge/descriptor.js +6 -0
  69. package/dist/knowledge/descriptor.js.map +1 -1
  70. package/dist/knowledge/matchers.d.ts.map +1 -1
  71. package/dist/knowledge/matchers.js +8 -1
  72. package/dist/knowledge/matchers.js.map +1 -1
  73. package/dist/knowledge/pi.d.ts.map +1 -1
  74. package/dist/knowledge/pi.js +20 -0
  75. package/dist/knowledge/pi.js.map +1 -1
  76. package/package.json +1 -1
  77. package/src/cli/args.ts +7 -0
  78. package/src/cli/config.ts +4 -0
  79. package/src/cli/help.ts +8 -1
  80. package/src/cli/inspect.ts +54 -22
  81. package/src/cli/run.ts +166 -67
  82. package/src/execution/decode.ts +44 -11
  83. package/src/execution/deps.ts +3 -0
  84. package/src/execution/events.ts +5 -2
  85. package/src/execution/node-deps.ts +1 -0
  86. package/src/execution/open-session.ts +34 -3
  87. package/src/execution/stream-turn.ts +134 -27
  88. package/src/interpretation/argv.ts +30 -4
  89. package/src/interpretation/capabilities.ts +4 -1
  90. package/src/interpretation/content.ts +18 -5
  91. package/src/interpretation/hints.ts +8 -0
  92. package/src/interpretation/resolve-options.ts +17 -0
  93. package/src/interpretation/tool-selection.ts +9 -0
  94. package/src/interpretation/turn-options.ts +31 -3
  95. package/src/knowledge/claude-code.ts +21 -0
  96. package/src/knowledge/codex.ts +9 -0
  97. package/src/knowledge/descriptor.ts +28 -10
  98. package/src/knowledge/matchers.ts +8 -1
  99. package/src/knowledge/pi.ts +20 -0
package/dist/cli/run.js CHANGED
@@ -1,14 +1,52 @@
1
+ import { existsSync } from "node:fs";
2
+ import { failureFromRejected } from "../execution/failure.js";
1
3
  import { nodeRunnerDeps } from "../execution/node-deps.js";
2
4
  import { KILL_GRACE_MS, redactArgv, streamTurn } from "../execution/stream-turn.js";
3
5
  import { buildLaunchArgv, buildResumeArgv } from "../interpretation/argv.js";
4
6
  import { composeEscalatedPrompt } from "../interpretation/question.js";
5
7
  import { ArgvRefusalError } from "../interpretation/refusal.js";
6
8
  import { FloorExceededError, resolveEffectiveOptions } from "../interpretation/resolve-options.js";
9
+ import { storePath } from "../interpretation/store.js";
7
10
  import { recognizeNativeSpelling, supportedBy } from "../interpretation/support.js";
8
11
  import { defaultDescriptors } from "../knowledge/overrides.js";
9
12
  import { parseRunExtra, parseTurnOptions, resolvePromptAsync } from "./args.js";
10
13
  import { createRenderState, renderEvent, writeEventNdjson } from "./render.js";
11
14
  import { resolveHarness } from "./resolve-harness.js";
15
+ const refusalOf = (err) => ({
16
+ message: err.message,
17
+ issue: err.issue,
18
+ option: err.option,
19
+ facet: err.facet,
20
+ supported: err.supported,
21
+ supportedBy: err.supportedBy,
22
+ hint: err.hint,
23
+ });
24
+ const refuse = (r, json) => {
25
+ process.stderr.write(`${r.message}\n`);
26
+ if (r.hint)
27
+ process.stderr.write(`hint: ${r.hint}\n`);
28
+ if (r.supportedBy?.length) {
29
+ process.stderr.write(`supported on: ${r.supportedBy.map((e) => `${e.harness} (${e.spelling})`).join(", ")}\n`);
30
+ }
31
+ if (r.supported?.length)
32
+ process.stderr.write(`supported: ${r.supported.join(", ")}\n`);
33
+ for (const line of r.trailer ?? [])
34
+ process.stderr.write(`${line}\n`);
35
+ if (json) {
36
+ const summary = failureFromRejected({
37
+ issue: r.issue,
38
+ option: r.option,
39
+ facet: r.facet,
40
+ supported: r.supported,
41
+ supportedBy: r.supportedBy,
42
+ hint: r.hint,
43
+ detail: r.message,
44
+ });
45
+ writeEventNdjson({ kind: "failure", ...summary });
46
+ writeEventNdjson({ kind: "done", exitCode: null, cause: "failed", failure: summary });
47
+ }
48
+ process.exitCode = 2;
49
+ };
12
50
  export const run = async (harnessName, rawArgs) => {
13
51
  const h = resolveHarness(harnessName);
14
52
  if (rawArgs.includes("--help") || rawArgs.includes("-h")) {
@@ -17,7 +55,10 @@ export const run = async (harnessName, rawArgs) => {
17
55
  return;
18
56
  }
19
57
  const { parseCommonFlags, detectPositionalPromptInjection, splitPassthrough } = await import("./args.js");
20
- const { passthrough } = splitPassthrough(rawArgs);
58
+ const { normalized, passthrough } = splitPassthrough(rawArgs);
59
+ // Decided before any refusal can fire: a refused --json run still owes
60
+ // the stream a failure and a done.
61
+ const wantJson = normalized.includes("--json");
21
62
  const injection = detectPositionalPromptInjection(rawArgs);
22
63
  if (injection) {
23
64
  const err = new ArgvRefusalError({
@@ -26,9 +67,7 @@ export const run = async (harnessName, rawArgs) => {
26
67
  supported: ["prompt must not start with '-'"],
27
68
  detail: `it would be parsed as a flag by ${h.bin}`,
28
69
  });
29
- process.stderr.write(`${err.message}\n`);
30
- process.stderr.write(`supported: prompt must not start with '-'\n`);
31
- process.exitCode = 2;
70
+ refuse(refusalOf(err), wantJson);
32
71
  return;
33
72
  }
34
73
  let parsed;
@@ -69,16 +108,19 @@ export const run = async (harnessName, rawArgs) => {
69
108
  : native.option.startsWith("discovery.")
70
109
  ? `--no-${native.option.split(".")[1] === "instructionFiles" ? "instruction-files" : native.option.split(".")[1]}`
71
110
  : `--${native.option}`;
72
- process.stderr.write(`unknown flag: ${rawFlag} is a native spelling (used by ${native.entries.map((e) => e.harness).join(", ")}) - use the normalized ${normalizedSpelling} flag instead\n`);
73
- if (by.length > 0) {
74
- process.stderr.write(`supported on: ${by.map((e) => `${e.harness} (${e.spelling})`).join(", ")}\n`);
75
- }
76
- }
77
- else {
78
- process.stderr.write(`unknown flag: ${message}\n`);
111
+ refuse({
112
+ message: `unknown flag: ${rawFlag} is a native spelling (used by ${native.entries.map((e) => e.harness).join(", ")}) - use the normalized ${normalizedSpelling} flag instead`,
113
+ issue: "invalid-option-value",
114
+ supportedBy: by,
115
+ trailer: ["Run 'hcn run --help' for usage."],
116
+ }, wantJson);
117
+ return;
79
118
  }
80
- process.stderr.write(`Run 'hcn run --help' for usage.\n`);
81
- process.exitCode = 2;
119
+ refuse({
120
+ message: `unknown flag: ${message}`,
121
+ issue: "invalid-option-value",
122
+ trailer: ["Run 'hcn run --help' for usage."],
123
+ }, wantJson);
82
124
  return;
83
125
  }
84
126
  const values = parsed.values;
@@ -86,16 +128,19 @@ export const run = async (harnessName, rawArgs) => {
86
128
  // positionals may contain prompt if not using flag; harness already consumed so first positional is prompt
87
129
  const positionalPrompt = positionals.length > 0 ? positionals[0] : undefined;
88
130
  if (positionals.length > 1) {
89
- process.stderr.write(`too many positionals for run; expected one prompt\n`);
90
- process.exitCode = 2;
131
+ refuse({
132
+ message: "too many positionals for run; expected one prompt",
133
+ issue: "invalid-option-value",
134
+ }, wantJson);
91
135
  return;
92
136
  }
93
137
  if (passthrough.length === 0 && rawArgs.includes("--")) {
94
- process.stderr.write(`-- separator given but no passthrough tokens followed it\n`);
95
- process.exitCode = 2;
138
+ refuse({
139
+ message: "-- separator given but no passthrough tokens followed it",
140
+ issue: "invalid-option-value",
141
+ }, wantJson);
96
142
  return;
97
143
  }
98
- const wantJson = values.json === true;
99
144
  // Resolve prompt (async for --prompt-file -)
100
145
  let prompt;
101
146
  let promptSource;
@@ -110,20 +155,11 @@ export const run = async (harnessName, rawArgs) => {
110
155
  }
111
156
  catch (err) {
112
157
  if (err instanceof ArgvRefusalError) {
113
- process.stderr.write(`${err.message}\n`);
114
- if (err.hint)
115
- process.stderr.write(`hint: ${err.hint}\n`);
116
- if (err.supportedBy?.length) {
117
- process.stderr.write(`supported on: ${err.supportedBy.map((e) => `${e.harness} (${e.spelling})`).join(", ")}\n`);
118
- }
119
- if (err.supported.length)
120
- process.stderr.write(`supported: ${err.supported.join(", ")}\n`);
121
- process.exitCode = 2;
158
+ refuse(refusalOf(err), wantJson);
122
159
  return;
123
160
  }
124
161
  if (err instanceof Error && err.code === "ENOENT") {
125
- process.stderr.write(`prompt file not found: ${err.message}\n`);
126
- process.exitCode = 2;
162
+ refuse({ message: `prompt file not found: ${err.message}`, issue: "invalid-option-value" }, wantJson);
127
163
  return;
128
164
  }
129
165
  throw err;
@@ -135,15 +171,7 @@ export const run = async (harnessName, rawArgs) => {
135
171
  }
136
172
  catch (err) {
137
173
  if (err instanceof ArgvRefusalError) {
138
- process.stderr.write(`${err.message}\n`);
139
- if (err.hint)
140
- process.stderr.write(`hint: ${err.hint}\n`);
141
- if (err.supportedBy?.length) {
142
- process.stderr.write(`supported on: ${err.supportedBy.map((e) => `${e.harness} (${e.spelling})`).join(", ")}\n`);
143
- }
144
- if (err.supported.length)
145
- process.stderr.write(`supported: ${err.supported.join(", ")}\n`);
146
- process.exitCode = 2;
174
+ refuse(refusalOf(err), wantJson);
147
175
  return;
148
176
  }
149
177
  throw err;
@@ -154,15 +182,7 @@ export const run = async (harnessName, rawArgs) => {
154
182
  }
155
183
  catch (err) {
156
184
  if (err instanceof ArgvRefusalError) {
157
- process.stderr.write(`${err.message}\n`);
158
- if (err.hint)
159
- process.stderr.write(`hint: ${err.hint}\n`);
160
- if (err.supportedBy?.length) {
161
- process.stderr.write(`supported on: ${err.supportedBy.map((e) => `${e.harness} (${e.spelling})`).join(", ")}\n`);
162
- }
163
- if (err.supported.length)
164
- process.stderr.write(`supported: ${err.supported.join(", ")}\n`);
165
- process.exitCode = 2;
185
+ refuse(refusalOf(err), wantJson);
166
186
  return;
167
187
  }
168
188
  throw err;
@@ -185,10 +205,7 @@ export const run = async (harnessName, rawArgs) => {
185
205
  }
186
206
  catch (err) {
187
207
  if (err instanceof ArgvRefusalError) {
188
- process.stderr.write(`${err.message}\n`);
189
- if (err.supported.length)
190
- process.stderr.write(`supported: ${err.supported.join(", ")}\n`);
191
- process.exitCode = 2;
208
+ refuse(refusalOf(err), wantJson);
192
209
  return;
193
210
  }
194
211
  throw err;
@@ -216,8 +233,7 @@ export const run = async (harnessName, rawArgs) => {
216
233
  }
217
234
  catch (configErr) {
218
235
  if (configErr instanceof ConfigError) {
219
- process.stderr.write(`config error: ${configErr.message}\n`);
220
- process.exitCode = 2;
236
+ refuse({ message: `config error: ${configErr.message}`, issue: "invalid-option-value" }, wantJson);
221
237
  return;
222
238
  }
223
239
  throw configErr;
@@ -230,8 +246,7 @@ export const run = async (harnessName, rawArgs) => {
230
246
  }
231
247
  catch (resErr) {
232
248
  if (resErr instanceof FloorExceededError) {
233
- process.stderr.write(`${resErr.message}\n`);
234
- process.exitCode = 2;
249
+ refuse({ message: resErr.message, issue: "invalid-tool-grant" }, wantJson);
235
250
  return;
236
251
  }
237
252
  throw resErr;
@@ -248,6 +263,14 @@ export const run = async (harnessName, rawArgs) => {
248
263
  for (const key of unrenderable) {
249
264
  process.stderr.write(`divergence: profile ${JSON.stringify(key)} not expressible on ${h.name}; harness default applies\n`);
250
265
  }
266
+ // issue #48 (ratified): when claude's instruction-files isolation
267
+ // rides (the --setting-sources project spelling), surface its known
268
+ // cost as a divergence line - legal to use, priced in stderr.
269
+ if (h.name === "claude" &&
270
+ resolved.options.discovery
271
+ ?.instructionFiles === false) {
272
+ process.stderr.write("divergence: setting-sources isolation also skips hooks, LSP and keychain reads on claude - weighed, not refused\n");
273
+ }
251
274
  }
252
275
  }
253
276
  // issue #41: question-escalation precedence arg > project > user >
@@ -318,15 +341,7 @@ export const run = async (harnessName, rawArgs) => {
318
341
  }
319
342
  catch (err) {
320
343
  if (err instanceof ArgvRefusalError) {
321
- process.stderr.write(`${err.message}\n`);
322
- if (err.hint)
323
- process.stderr.write(`hint: ${err.hint}\n`);
324
- if (err.supportedBy?.length) {
325
- process.stderr.write(`supported on: ${err.supportedBy.map((e) => `${e.harness} (${e.spelling})`).join(", ")}\n`);
326
- }
327
- if (err.supported.length)
328
- process.stderr.write(`supported: ${err.supported.join(", ")}\n`);
329
- process.exitCode = 2;
344
+ refuse(refusalOf(err), wantJson);
330
345
  return;
331
346
  }
332
347
  throw err;
@@ -345,6 +360,49 @@ export const run = async (harnessName, rawArgs) => {
345
360
  // issue #41: the escalation mode rides stderr as provenance, like
346
361
  // every other resolution the turn depends on.
347
362
  process.stderr.write(`provenance: escalateQuestions = ${escalateQuestions} (${escalateTier})\n`);
363
+ // On a harness whose include flag is not a strict allowlist (claude),
364
+ // a name outside the curated set passes through ungated; say which
365
+ // ones so a wrong-case name is visible. A grant with no known name at
366
+ // all refuses inside buildLaunchArgv below, so a throw here is left
367
+ // to that path.
368
+ const grant = (fullOpts.resume ? turnOpts : effectiveTurnOpts).tools;
369
+ if (grant !== undefined && grant.length > 0 && !h.tools.includeIsStrictAllowlist) {
370
+ try {
371
+ const { renderToolSelection } = await import("../interpretation/tool-selection.js");
372
+ const { unmapped } = renderToolSelection(h, { include: [...grant] });
373
+ if (unmapped.length > 0) {
374
+ process.stderr.write(`provenance: unmapped tools = ${JSON.stringify(unmapped)}\n`);
375
+ }
376
+ }
377
+ catch {
378
+ // refused below with the structured message
379
+ }
380
+ }
381
+ }
382
+ // A harness that creates a session when the id is unknown (pi, muse)
383
+ // would turn a stale --resume into a silent blank session. Refuse when
384
+ // the session store path does not exist; where the path cannot be
385
+ // computed, the runner's pre-spawn warning is the only guard.
386
+ if (fullOpts.resume !== undefined && h.resume.onMissing === "create") {
387
+ let path = null;
388
+ try {
389
+ path = storePath(h, {
390
+ home: process.env.HOME ?? process.env.USERPROFILE ?? "",
391
+ cwd: extra.cwd ?? process.cwd(),
392
+ sessionId: fullOpts.resume,
393
+ });
394
+ }
395
+ catch {
396
+ path = null;
397
+ }
398
+ if (path !== null && !existsSync(path)) {
399
+ refuse({
400
+ message: `no ${h.name} session ${fullOpts.resume} found at ${path}`,
401
+ issue: "invalid-option-value",
402
+ supported: [`a session id that exists in ${h.name}'s store`],
403
+ }, wantJson);
404
+ return;
405
+ }
348
406
  }
349
407
  // Delete HERDR_ENV before spawn
350
408
  delete process.env.HERDR_ENV;
@@ -377,11 +435,13 @@ export const run = async (harnessName, rawArgs) => {
377
435
  return proc;
378
436
  },
379
437
  };
438
+ const abortController = new AbortController();
380
439
  let interrupted = false;
381
440
  const onSig = async () => {
382
441
  if (interrupted)
383
442
  return;
384
443
  interrupted = true;
444
+ abortController.abort();
385
445
  if (lastProc) {
386
446
  try {
387
447
  wrappedDeps.signal(lastProc, "SIGTERM");
@@ -407,7 +467,7 @@ export const run = async (harnessName, rawArgs) => {
407
467
  let exitCode = 0;
408
468
  try {
409
469
  // streamTurn handles both launch and resume via TurnRunOptions
410
- const events = streamTurn(h, fullOpts, wrappedDeps);
470
+ const events = streamTurn(h, { ...fullOpts, signal: abortController.signal }, wrappedDeps);
411
471
  for await (const event of events) {
412
472
  lastEvent = event;
413
473
  if (wantJson) {
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { HarnessDescriptor } from "../knowledge/descriptor.js";
1
+ import type { HarnessDescriptor, StreamingGranularity } from "../knowledge/descriptor.js";
2
2
  import type { HarnessEvent } from "./events.js";
3
3
  export interface DecodeState {
4
4
  lastSeenId: string | null;
@@ -8,9 +8,9 @@ export interface DecodeState {
8
8
  requestedId: string | null;
9
9
  }
10
10
  export declare const freshDecodeState: (requestedId?: string | null) => DecodeState;
11
- export declare const decodeLine: (h: HarnessDescriptor, line: string, state: DecodeState, model: string) => HarnessEvent[];
11
+ export declare const decodeLine: (h: HarnessDescriptor, line: string, state: DecodeState, model: string, streaming?: StreamingGranularity) => HarnessEvent[];
12
12
  /** The parsed-record half of decodeLine, for pumps that already parsed the
13
13
  * line once (a session pump inspects `type` before routing) - the hottest
14
14
  * path must not JSON.parse every token delta twice. */
15
- export declare const decodeParsed: (h: HarnessDescriptor, raw: unknown, state: DecodeState, model: string) => HarnessEvent[];
15
+ export declare const decodeParsed: (h: HarnessDescriptor, raw: unknown, state: DecodeState, model: string, streaming?: StreamingGranularity) => HarnessEvent[];
16
16
  //# sourceMappingURL=decode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../src/execution/decode.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB;8CAC0C;IAC1C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,eAAO,MAAM,gBAAgB,iBAAiB,MAAM,GAAG,IAAI,KAAU,WAInE,CAAC;AAEH,eAAO,MAAM,UAAU,MAClB,iBAAiB,QACd,MAAM,SACL,WAAW,SACX,MAAM,KACZ,YAAY,EAcd,CAAC;AAEF;;uDAEuD;AACvD,eAAO,MAAM,YAAY,MACpB,iBAAiB,OACf,OAAO,SACL,WAAW,SACX,MAAM,KACZ,YAAY,EAsDd,CAAC"}
1
+ {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../src/execution/decode.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB;8CAC0C;IAC1C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,eAAO,MAAM,gBAAgB,iBAAiB,MAAM,GAAG,IAAI,KAAU,WAInE,CAAC;AAEH,eAAO,MAAM,UAAU,MAClB,iBAAiB,QACd,MAAM,SACL,WAAW,SACX,MAAM,cACD,oBAAoB,KAC/B,YAAY,EAcd,CAAC;AAEF;;uDAEuD;AACvD,eAAO,MAAM,YAAY,MACpB,iBAAiB,OACf,OAAO,SACL,WAAW,SACX,MAAM,cACD,oBAAoB,KAC/B,YAAY,EAoFd,CAAC"}
@@ -8,12 +8,13 @@ import { capabilitiesOf } from "../interpretation/capabilities.js";
8
8
  import { contentEventsOf } from "../interpretation/content.js";
9
9
  import { decodeIdentity } from "../interpretation/identity.js";
10
10
  import { detectLimitInLine } from "../interpretation/limits.js";
11
+ import { failureFromBudget } from "./failure.js";
11
12
  export const freshDecodeState = (requestedId = null) => ({
12
13
  lastSeenId: null,
13
14
  limitSeen: false,
14
15
  requestedId,
15
16
  });
16
- export const decodeLine = (h, line, state, model) => {
17
+ export const decodeLine = (h, line, state, model, streaming) => {
17
18
  let raw;
18
19
  try {
19
20
  raw = JSON.parse(line);
@@ -27,13 +28,20 @@ export const decodeLine = (h, line, state, model) => {
27
28
  }
28
29
  return [];
29
30
  }
30
- return decodeParsed(h, raw, state, model);
31
+ return decodeParsed(h, raw, state, model, streaming);
31
32
  };
32
33
  /** The parsed-record half of decodeLine, for pumps that already parsed the
33
34
  * line once (a session pump inspects `type` before routing) - the hottest
34
35
  * path must not JSON.parse every token delta twice. */
35
- export const decodeParsed = (h, raw, state, model) => {
36
+ export const decodeParsed = (h, raw, state, model, streaming) => {
36
37
  const events = [];
38
+ // Streaming is a property of the spawned argv, not of the model, so the
39
+ // runner passes what streamingGranularityOf computed for it; the curated
40
+ // baseline supplies the rest. An unknown model stays unknown throughout.
41
+ const capabilities = () => {
42
+ const base = capabilitiesOf(h, model, "headless-turn");
43
+ return streaming !== undefined && base.source !== "unknown" ? { ...base, streaming } : base;
44
+ };
37
45
  const decoded = decodeIdentity(h, raw, state.lastSeenId, state.requestedId);
38
46
  if (decoded.sessionId !== null)
39
47
  state.lastSeenId = decoded.sessionId;
@@ -42,19 +50,43 @@ export const decodeParsed = (h, raw, state, model) => {
42
50
  kind: "identity",
43
51
  sessionId: decoded.identity,
44
52
  authority: h.identity.authority,
45
- capabilities: capabilitiesOf(h, model, "headless-turn"),
53
+ capabilities: capabilities(),
46
54
  });
47
55
  }
48
56
  else if (decoded.outcome === "malformed" || decoded.outcome === "rotated") {
49
- // The interpretation layer classified an identity anomaly; swallowing
50
- // it would leave the runner waiting for an identity that already
51
- // failed to arrive (or bind a rotated one).
52
- events.push({ kind: "error", message: `identity ${decoded.outcome}` });
57
+ if (decoded.outcome === "rotated") {
58
+ const requested = state.requestedId ?? "unknown";
59
+ const announced = decoded.sessionId ?? "unknown";
60
+ events.push({
61
+ kind: "error",
62
+ message: `identity rotated: requested ${requested} but announced ${announced}`,
63
+ });
64
+ // The harness answered under a different id: hand the consumer the
65
+ // id it can actually resume, marked as minted by the harness.
66
+ if (decoded.sessionId !== null) {
67
+ events.push({
68
+ kind: "identity",
69
+ sessionId: decoded.sessionId,
70
+ authority: "harness-minted",
71
+ capabilities: capabilities(),
72
+ });
73
+ }
74
+ }
75
+ else {
76
+ events.push({ kind: "error", message: `identity ${decoded.outcome}` });
77
+ }
78
+ }
79
+ // Content (message/token/tool/error/budget) is per-harness; identity
80
+ // above is descriptor-driven. contentEventsOf dispatches by harness
81
+ // name. budget is not a HarnessEvent kind and must not leak out.
82
+ for (const content of contentEventsOf(h.name, raw)) {
83
+ if (content.kind === "budget") {
84
+ events.push({ kind: "failure", ...failureFromBudget(content.detail) });
85
+ }
86
+ else {
87
+ events.push(content);
88
+ }
53
89
  }
54
- // Content (message/token/tool/error) is per-harness; identity above is
55
- // descriptor-driven. contentEventsOf dispatches by harness name.
56
- for (const content of contentEventsOf(h.name, raw))
57
- events.push(content);
58
90
  // claude's rate_limit_event: only non-"allowed" statuses are failures.
59
91
  // overageStatus is deliberately not classified - it is a separate
60
92
  // billing signal, not a rate limit.
@@ -1 +1 @@
1
- {"version":3,"file":"decode.js","sourceRoot":"","sources":["../../src/execution/decode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decode.js","sourceRoot":"","sources":["../../src/execution/decode.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAyB,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAUjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAAW,GAAkB,IAAI,EAAe,EAAE,CAAC,CAAC;IACnF,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,KAAK;IAChB,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,CAAoB,EACpB,IAAY,EACZ,KAAkB,EAClB,KAAa,EACb,SAAgC,EAChB,EAAE;IAClB,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;QAC3E,MAAM,IAAI,GAAG,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;YACvB,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,IAAI,GAAG,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF;;uDAEuD;AACvD,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,CAAoB,EACpB,GAAY,EACZ,KAAkB,EAClB,KAAa,EACb,SAAgC,EAChB,EAAE;IAClB,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,wEAAwE;IACxE,yEAAyE;IACzE,yEAAyE;IACzE,MAAM,YAAY,GAAG,GAAqB,EAAE;QAC1C,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;QACvD,OAAO,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9F,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC5E,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI;QAAE,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IACrE,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,OAAO,CAAC,QAAQ;YAC3B,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS;YAC/B,YAAY,EAAE,YAAY,EAAE;SAC7B,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,OAAO,CAAC,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5E,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,IAAI,SAAS,CAAC;YACjD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC;YACjD,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,+BAA+B,SAAS,kBAAkB,SAAS,EAAE;aAC/E,CAAC,CAAC;YACH,mEAAmE;YACnE,8DAA8D;YAC9D,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,UAAU;oBAChB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,SAAS,EAAE,gBAAgB;oBAC3B,YAAY,EAAE,YAAY,EAAE;iBAC7B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,oEAAoE;IACpE,iEAAiE;IACjE,KAAK,MAAM,OAAO,IAAI,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QACnD,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,kEAAkE;IAClE,oCAAoC;IACpC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAQ,GAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrF,MAAM,GAAG,GAAG,GAA8B,CAAC;QAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,GAAG,CAAC,eAAsD,CAAC;YACxE,MAAM,MAAM,GAAG,IAAI,EAAE,MAA4B,CAAC;YAClD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACjD,MAAM,SAAS,GAAG,IAAI,EAAE,QAAQ,CAAC;gBACjC,IAAI,QAA4B,CAAC;gBACjC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;oBACjF,wFAAwF;oBACxF,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC;oBAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC;wBAAE,QAAQ,GAAG,SAAS,CAAC;gBACxE,CAAC;gBACD,+EAA+E;gBAC/E,MAAM,OAAO,GAA0C;oBACrD,KAAK,EAAE,YAAY;oBACnB,SAAS,EAAE,IAAI;oBACf,OAAO,EAAE,2CAA2C,MAAM,sDAAsD;oBAChH,IAAI,EAAE,YAAqB;oBAC3B,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChD,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,SAAS;oBACf,GAAG,OAAO;iBACsC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -15,6 +15,9 @@ export interface SpawnedProcess {
15
15
  /** Resolves with the exit code, or null when the process died to a
16
16
  * signal without one. */
17
17
  readonly exited: Promise<number | null>;
18
+ /** After `exited` settles, the spawn-time error message when the child
19
+ * never started (async ENOENT and the like), else null. */
20
+ readonly startupError?: () => string | null;
18
21
  /** Present when the spawner opened a writable stdin (session mode needs
19
22
  * it; one-shot turns close or inherit stdin instead). */
20
23
  readonly stdin?: {
@@ -1 +1 @@
1
- {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../src/execution/deps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;IACpD;;;8DAG0D;IAC1D,aAAa,IAAI,IAAI,CAAC;IACtB;6BACyB;IACzB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC;6DACyD;IACzD,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,GAAG,IAAI,IAAI,CAAC;KACb,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB;4EACwE;IACxE,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;IAC7C;;0DAEsD;IACtD,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACjD;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC,MAAM,WAAW,KAAK;IACpB,GAAG,IAAI,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,WAAW,CAAC;IACpD,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAE/C;;WAEW;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AAEnE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,KAAK,cAAc,CAAC;IAChF,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IACjE,mFAAmF;IACnF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,iEAAiE;IACjE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC;IAC3B;oEACgE;IAChE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B"}
1
+ {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../src/execution/deps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;IACpD;;;8DAG0D;IAC1D,aAAa,IAAI,IAAI,CAAC;IACtB;6BACyB;IACzB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC;+DAC2D;IAC3D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC5C;6DACyD;IACzD,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,GAAG,IAAI,IAAI,CAAC;KACb,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB;4EACwE;IACxE,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;IAC7C;;0DAEsD;IACtD,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACjD;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC,MAAM,WAAW,KAAK;IACpB,GAAG,IAAI,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,WAAW,CAAC;IACpD,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAE/C;;WAEW;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AAEnE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,KAAK,cAAc,CAAC;IAChF,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IACjE,mFAAmF;IACnF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,iEAAiE;IACjE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC;IAC3B;oEACgE;IAChE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B"}
@@ -15,6 +15,7 @@
15
15
  * concatenate both.
16
16
  */
17
17
  import type { CapabilityResult } from "../interpretation/capabilities.js";
18
+ import type { LimitCode } from "../knowledge/descriptor.js";
18
19
  import type { FailureSummary } from "./failure.js";
19
20
  export type ExitCause = "clean" | "limit" | "crash" | "stall" | "killed" | "failed"
20
21
  /** issue #41: the turn ended by asking (escalateQuestions) - a
@@ -52,11 +53,15 @@ export type HarnessEvent = {
52
53
  readonly recommended?: string;
53
54
  } | {
54
55
  readonly kind: "limit";
55
- readonly code: string;
56
+ readonly code: LimitCode;
56
57
  readonly message: string;
57
- } | {
58
+ }
59
+ /** `terminal: true` marks an error that ended the turn; the matching
60
+ * `failure` (class task) follows it. */
61
+ | {
58
62
  readonly kind: "error";
59
63
  readonly message: string;
64
+ readonly terminal?: boolean;
60
65
  } | ({
61
66
  readonly kind: "failure";
62
67
  } & FailureSummary) | {
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/execution/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,MAAM,SAAS,GACjB,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,QAAQ,GACR,QAAQ;AACV;2EAC2E;GACzE,gBAAgB,CAAC;AAErB,MAAM,MAAM,YAAY,GACpB;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,iBAAiB,GAAG,gBAAgB,CAAC;IACzD,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC;CACzC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1E;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1E;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACtD;IACE;;iEAE6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC3E;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpD,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAAG,cAAc,CAAC,GAC/C;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;CACnC,CAAC;AAEN,eAAO,MAAM,eAAe,aAA4C,CAAC"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/execution/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,MAAM,SAAS,GACjB,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,QAAQ,GACR,QAAQ;AACV;2EAC2E;GACzE,gBAAgB,CAAC;AAErB,MAAM,MAAM,YAAY,GACpB;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,iBAAiB,GAAG,gBAAgB,CAAC;IACzD,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC;CACzC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1E;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1E;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACtD;IACE;;iEAE6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAChF;wCACwC;GACtC;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GACjF,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAAG,cAAc,CAAC,GAC/C;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;CACnC,CAAC;AAEN,eAAO,MAAM,eAAe,aAA4C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/execution/events.ts"],"names":[],"mappings":"AA6DA,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/execution/events.ts"],"names":[],"mappings":"AAgEA,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"node-deps.d.ts","sourceRoot":"","sources":["../../src/execution/node-deps.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAS,UAAU,EAAgC,MAAM,WAAW,CAAC;AAMjF,KAAK,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAwBzC;;kEAEkE;AAClE,eAAO,MAAM,sBAAsB,WACzB,QAAQ,iBACD,KAAK,gBACN,OAAO,CAAC,YAAY,CAAC,KAClC;IAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAAC,OAAO,IAAI,IAAI,CAAA;CAyC/D,CAAC;AAoGF,eAAO,MAAM,cAAc,WAAY,OAAO,CAAC,UAAU,CAAC,KAAG,UAO3D,CAAC"}
1
+ {"version":3,"file":"node-deps.d.ts","sourceRoot":"","sources":["../../src/execution/node-deps.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAS,UAAU,EAAgC,MAAM,WAAW,CAAC;AAMjF,KAAK,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAwBzC;;kEAEkE;AAClE,eAAO,MAAM,sBAAsB,WACzB,QAAQ,iBACD,KAAK,gBACN,OAAO,CAAC,YAAY,CAAC,KAClC;IAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAAC,OAAO,IAAI,IAAI,CAAA;CAyC/D,CAAC;AAqGF,eAAO,MAAM,cAAc,WAAY,OAAO,CAAC,UAAU,CAAC,KAAG,UAO3D,CAAC"}
@@ -144,6 +144,7 @@ const realSpawn = (argv, opts) => {
144
144
  stdout: stdoutOutput === null ? emptyStream() : stdoutOutput.stream,
145
145
  stderr: stderrWithError(),
146
146
  exited,
147
+ startupError: () => spawnError?.message ?? null,
147
148
  disposeOutput: () => {
148
149
  if (outputDisposed)
149
150
  return;