@dungle-scrubs/harness-cli-normalizer 0.3.1 → 0.4.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 (97) hide show
  1. package/README.md +64 -86
  2. package/dist/cli/args.d.ts +11 -0
  3. package/dist/cli/args.d.ts.map +1 -1
  4. package/dist/cli/args.js +23 -5
  5. package/dist/cli/args.js.map +1 -1
  6. package/dist/cli/config.d.ts +25 -0
  7. package/dist/cli/config.d.ts.map +1 -0
  8. package/dist/cli/config.js +139 -0
  9. package/dist/cli/config.js.map +1 -0
  10. package/dist/cli/inspect.d.ts.map +1 -1
  11. package/dist/cli/inspect.js +35 -1
  12. package/dist/cli/inspect.js.map +1 -1
  13. package/dist/cli/render.d.ts.map +1 -1
  14. package/dist/cli/render.js +10 -1
  15. package/dist/cli/render.js.map +1 -1
  16. package/dist/cli/run.d.ts.map +1 -1
  17. package/dist/cli/run.js +134 -4
  18. package/dist/cli/run.js.map +1 -1
  19. package/dist/execution/failure.d.ts +21 -4
  20. package/dist/execution/failure.d.ts.map +1 -1
  21. package/dist/execution/failure.js +26 -3
  22. package/dist/execution/failure.js.map +1 -1
  23. package/dist/execution/stream-turn.d.ts +4 -0
  24. package/dist/execution/stream-turn.d.ts.map +1 -1
  25. package/dist/execution/stream-turn.js +28 -4
  26. package/dist/execution/stream-turn.js.map +1 -1
  27. package/dist/interpretation/argv.d.ts +1 -0
  28. package/dist/interpretation/argv.d.ts.map +1 -1
  29. package/dist/interpretation/argv.js +13 -19
  30. package/dist/interpretation/argv.js.map +1 -1
  31. package/dist/interpretation/hints.d.ts +22 -0
  32. package/dist/interpretation/hints.d.ts.map +1 -0
  33. package/dist/interpretation/hints.js +59 -0
  34. package/dist/interpretation/hints.js.map +1 -0
  35. package/dist/interpretation/refusal.d.ts +25 -4
  36. package/dist/interpretation/refusal.d.ts.map +1 -1
  37. package/dist/interpretation/refusal.js +16 -0
  38. package/dist/interpretation/refusal.js.map +1 -1
  39. package/dist/interpretation/resolve-options.d.ts +42 -0
  40. package/dist/interpretation/resolve-options.d.ts.map +1 -0
  41. package/dist/interpretation/resolve-options.js +140 -0
  42. package/dist/interpretation/resolve-options.js.map +1 -0
  43. package/dist/interpretation/support.d.ts +32 -0
  44. package/dist/interpretation/support.d.ts.map +1 -0
  45. package/dist/interpretation/support.js +107 -0
  46. package/dist/interpretation/support.js.map +1 -0
  47. package/dist/interpretation/tool-selection.d.ts +29 -0
  48. package/dist/interpretation/tool-selection.d.ts.map +1 -0
  49. package/dist/interpretation/tool-selection.js +122 -0
  50. package/dist/interpretation/tool-selection.js.map +1 -0
  51. package/dist/interpretation/turn-options.d.ts.map +1 -1
  52. package/dist/interpretation/turn-options.js +4 -0
  53. package/dist/interpretation/turn-options.js.map +1 -1
  54. package/dist/knowledge/claude-code.d.ts.map +1 -1
  55. package/dist/knowledge/claude-code.js +34 -1
  56. package/dist/knowledge/claude-code.js.map +1 -1
  57. package/dist/knowledge/codex.d.ts.map +1 -1
  58. package/dist/knowledge/codex.js +19 -0
  59. package/dist/knowledge/codex.js.map +1 -1
  60. package/dist/knowledge/descriptor.d.ts +32 -0
  61. package/dist/knowledge/descriptor.d.ts.map +1 -1
  62. package/dist/knowledge/muse.d.ts.map +1 -1
  63. package/dist/knowledge/muse.js +19 -0
  64. package/dist/knowledge/muse.js.map +1 -1
  65. package/dist/knowledge/pi.d.ts.map +1 -1
  66. package/dist/knowledge/pi.js +21 -0
  67. package/dist/knowledge/pi.js.map +1 -1
  68. package/dist/knowledge/profile.d.ts +13 -0
  69. package/dist/knowledge/profile.d.ts.map +1 -0
  70. package/dist/knowledge/profile.js +31 -0
  71. package/dist/knowledge/profile.js.map +1 -0
  72. package/package.json +2 -23
  73. package/src/cli/args.ts +31 -1
  74. package/src/cli/config.ts +166 -0
  75. package/src/cli/inspect.ts +34 -1
  76. package/src/cli/render.ts +10 -1
  77. package/src/cli/run.ts +161 -5
  78. package/src/execution/failure.ts +44 -5
  79. package/src/execution/stream-turn.ts +33 -3
  80. package/src/interpretation/argv.ts +14 -19
  81. package/src/interpretation/hints.ts +99 -0
  82. package/src/interpretation/refusal.ts +32 -3
  83. package/src/interpretation/resolve-options.ts +190 -0
  84. package/src/interpretation/support.ts +119 -0
  85. package/src/interpretation/tool-selection.ts +161 -0
  86. package/src/interpretation/turn-options.ts +4 -0
  87. package/src/knowledge/claude-code.ts +34 -1
  88. package/src/knowledge/codex.ts +19 -0
  89. package/src/knowledge/descriptor.ts +32 -0
  90. package/src/knowledge/muse.ts +19 -0
  91. package/src/knowledge/pi.ts +21 -0
  92. package/src/knowledge/profile.ts +33 -0
  93. package/dist/index.d.ts +0 -8
  94. package/dist/index.d.ts.map +0 -1
  95. package/dist/index.js +0 -8
  96. package/dist/index.js.map +0 -1
  97. package/src/index.ts +0 -7
@@ -34,7 +34,16 @@ export const renderEvent = (event, state) => {
34
34
  break;
35
35
  case "failure": {
36
36
  const detail = event.message ?? `${event.class}`;
37
- process.stdout.write(red(`\n ✗ failure ${event.class}: ${detail}`));
37
+ // D6: native failures get an unmistakable prefix and the native exit
38
+ // code shown as data, so a human never reads a harness error as an
39
+ // hcn error.
40
+ if (event.class === "native") {
41
+ const nat = event.nativeExitCode !== undefined ? ` [native exit ${event.nativeExitCode}]` : "";
42
+ process.stdout.write(red(`\n ✗ NATIVE${nat} ${detail}`));
43
+ }
44
+ else {
45
+ process.stdout.write(red(`\n ✗ failure ${event.class}: ${detail}`));
46
+ }
38
47
  break;
39
48
  }
40
49
  case "done": {
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/cli/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/cli/render.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,GAAG,gBAAuB,MAAM,WAAW,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CA8Q9E,CAAC"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,GAAG,gBAAuB,MAAM,WAAW,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CAma9E,CAAC"}
package/dist/cli/run.js CHANGED
@@ -2,6 +2,9 @@ import { nodeRunnerDeps } from "../execution/node-deps.js";
2
2
  import { KILL_GRACE_MS, redactArgv, streamTurn } from "../execution/stream-turn.js";
3
3
  import { buildLaunchArgv, buildResumeArgv } from "../interpretation/argv.js";
4
4
  import { ArgvRefusalError } from "../interpretation/refusal.js";
5
+ import { FloorExceededError, resolveEffectiveOptions, } from "../interpretation/resolve-options.js";
6
+ import { recognizeNativeSpelling, supportedBy } from "../interpretation/support.js";
7
+ import { defaultDescriptors } from "../knowledge/overrides.js";
5
8
  import { parseRunExtra, parseTurnOptions, resolvePromptAsync } from "./args.js";
6
9
  import { createRenderState, renderEvent, writeEventNdjson } from "./render.js";
7
10
  import { resolveHarness } from "./resolve-harness.js";
@@ -12,7 +15,8 @@ export const run = async (harnessName, rawArgs) => {
12
15
  process.stdout.write(RUN_HELP);
13
16
  return;
14
17
  }
15
- const { parseCommonFlags, detectPositionalPromptInjection } = await import("./args.js");
18
+ const { parseCommonFlags, detectPositionalPromptInjection, splitPassthrough } = await import("./args.js");
19
+ const { passthrough } = splitPassthrough(rawArgs);
16
20
  const injection = detectPositionalPromptInjection(rawArgs);
17
21
  if (injection) {
18
22
  const err = new ArgvRefusalError({
@@ -32,7 +36,46 @@ export const run = async (harnessName, rawArgs) => {
32
36
  }
33
37
  catch (err) {
34
38
  const message = err instanceof Error ? err.message : String(err);
35
- process.stderr.write(`unknown flag: ${message}\n`);
39
+ // D7 part B: a native spelling passed before the separator gets
40
+ // recognized and redirected to the normalized flag instead of a
41
+ // generic unknown-flag error.
42
+ // parseArgs reports unknown long flags as "Unknown option '--x'" but
43
+ // splits bundled short flags ("-nt" -> "Unknown option 'n'"). Match the
44
+ // reported token back against the ORIGINAL argv: a short-flag bundle
45
+ // that some descriptor spells exactly (pi's -nt) is recognizable; a
46
+ // lone unknown token keeps the plain error.
47
+ const flagMatch = message.match(/Unknown option '([A-Za-z0-9_-]+)'/);
48
+ let rawFlag;
49
+ if (flagMatch?.[1] !== undefined) {
50
+ const reported = flagMatch[1].startsWith("-") ? flagMatch[1] : `-${flagMatch[1]}`;
51
+ // Exact long flag: use it. Reported short flag (e.g. -n): the caller
52
+ // may have typed a BUNDLE (-nt) that parseArgs split - find the argv
53
+ // token that starts with the reported short and is longer; recognition
54
+ // then decides whether the whole bundle is a descriptor spelling.
55
+ const fromArgv = rawArgs.find((a) => a === reported) ??
56
+ (reported.length === 2
57
+ ? rawArgs.find((a) => a.length > 2 && a.startsWith(reported))
58
+ : undefined);
59
+ rawFlag = fromArgv ?? reported;
60
+ }
61
+ const native = rawFlag !== undefined ? recognizeNativeSpelling(defaultDescriptors(), rawFlag) : null;
62
+ if (native !== null) {
63
+ const by = native.option.startsWith("discovery.")
64
+ ? native.entries
65
+ : supportedBy(defaultDescriptors(), native.option);
66
+ const normalizedSpelling = native.option === "excludeTools"
67
+ ? "--exclude-tools"
68
+ : native.option.startsWith("discovery.")
69
+ ? `--no-${native.option.split(".")[1] === "instructionFiles" ? "instruction-files" : native.option.split(".")[1]}`
70
+ : `--${native.option}`;
71
+ 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`);
72
+ if (by.length > 0) {
73
+ process.stderr.write(`supported on: ${by.map((e) => `${e.harness} (${e.spelling})`).join(", ")}\n`);
74
+ }
75
+ }
76
+ else {
77
+ process.stderr.write(`unknown flag: ${message}\n`);
78
+ }
36
79
  process.stderr.write(`Run 'hcn run --help' for usage.\n`);
37
80
  process.exitCode = 2;
38
81
  return;
@@ -46,6 +89,11 @@ export const run = async (harnessName, rawArgs) => {
46
89
  process.exitCode = 2;
47
90
  return;
48
91
  }
92
+ if (passthrough.length === 0 && rawArgs.includes("--")) {
93
+ process.stderr.write(`-- separator given but no passthrough tokens followed it\n`);
94
+ process.exitCode = 2;
95
+ return;
96
+ }
49
97
  const wantJson = values.json === true;
50
98
  // Resolve prompt (async for --prompt-file -)
51
99
  let prompt;
@@ -62,6 +110,11 @@ export const run = async (harnessName, rawArgs) => {
62
110
  catch (err) {
63
111
  if (err instanceof ArgvRefusalError) {
64
112
  process.stderr.write(`${err.message}\n`);
113
+ if (err.hint)
114
+ process.stderr.write(`hint: ${err.hint}\n`);
115
+ if (err.supportedBy?.length) {
116
+ process.stderr.write(`supported on: ${err.supportedBy.map((e) => `${e.harness} (${e.spelling})`).join(", ")}\n`);
117
+ }
65
118
  if (err.supported.length)
66
119
  process.stderr.write(`supported: ${err.supported.join(", ")}\n`);
67
120
  process.exitCode = 2;
@@ -82,6 +135,11 @@ export const run = async (harnessName, rawArgs) => {
82
135
  catch (err) {
83
136
  if (err instanceof ArgvRefusalError) {
84
137
  process.stderr.write(`${err.message}\n`);
138
+ if (err.hint)
139
+ process.stderr.write(`hint: ${err.hint}\n`);
140
+ if (err.supportedBy?.length) {
141
+ process.stderr.write(`supported on: ${err.supportedBy.map((e) => `${e.harness} (${e.spelling})`).join(", ")}\n`);
142
+ }
85
143
  if (err.supported.length)
86
144
  process.stderr.write(`supported: ${err.supported.join(", ")}\n`);
87
145
  process.exitCode = 2;
@@ -96,6 +154,11 @@ export const run = async (harnessName, rawArgs) => {
96
154
  catch (err) {
97
155
  if (err instanceof ArgvRefusalError) {
98
156
  process.stderr.write(`${err.message}\n`);
157
+ if (err.hint)
158
+ process.stderr.write(`hint: ${err.hint}\n`);
159
+ if (err.supportedBy?.length) {
160
+ process.stderr.write(`supported on: ${err.supportedBy.map((e) => `${e.harness} (${e.spelling})`).join(", ")}\n`);
161
+ }
99
162
  if (err.supported.length)
100
163
  process.stderr.write(`supported: ${err.supported.join(", ")}\n`);
101
164
  process.exitCode = 2;
@@ -104,12 +167,65 @@ export const run = async (harnessName, rawArgs) => {
104
167
  throw err;
105
168
  }
106
169
  const isExplicit = promptSource !== "positional";
170
+ // Defaults profile + user config: LAUNCH-ONLY. A resumed session keeps
171
+ // its own settings; the resolver never runs on resume paths.
172
+ let resolvedProvenance = [];
173
+ let resolvedUnrenderable = [];
174
+ let effectiveTurnOpts = turnOpts;
175
+ if (extra.resume === undefined) {
176
+ const tiers = {};
177
+ const { loadUserConfig, loadProjectConfig, ConfigError } = await import("./config.js");
178
+ try {
179
+ const loaded = loadUserConfig();
180
+ if (loaded !== null)
181
+ tiers.user = loaded.config;
182
+ const proj = loadProjectConfig();
183
+ if (proj !== null)
184
+ tiers.project = proj.config;
185
+ }
186
+ catch (configErr) {
187
+ if (configErr instanceof ConfigError) {
188
+ process.stderr.write(`config error: ${configErr.message}\n`);
189
+ process.exitCode = 2;
190
+ return;
191
+ }
192
+ throw configErr;
193
+ }
194
+ let resolved;
195
+ try {
196
+ resolved = resolveEffectiveOptions(h, { ...turnOpts, prompt }, tiers);
197
+ }
198
+ catch (resErr) {
199
+ if (resErr instanceof FloorExceededError) {
200
+ process.stderr.write(`${resErr.message}\n`);
201
+ process.exitCode = 2;
202
+ return;
203
+ }
204
+ throw resErr;
205
+ }
206
+ const { provenance, unrenderable } = resolved;
207
+ resolvedProvenance = provenance;
208
+ resolvedUnrenderable = unrenderable;
209
+ const { prompt: _p, ...rest } = resolved.options;
210
+ effectiveTurnOpts = rest;
211
+ // Provenance is diagnostic data like the spawn line - stderr in BOTH
212
+ // render modes, never stdout (stdout carries the NDJSON contract).
213
+ if (provenance.length > 0 || unrenderable.length > 0) {
214
+ for (const entry of provenance) {
215
+ process.stderr.write(`provenance: ${entry.key} = ${JSON.stringify(entry.value)} (${entry.tier})\n`);
216
+ }
217
+ for (const key of unrenderable) {
218
+ process.stderr.write(`divergence: profile ${JSON.stringify(key)} not expressible on ${h.name}; harness default applies\n`);
219
+ }
220
+ }
221
+ }
107
222
  const fullOpts = {
108
- ...turnOpts,
223
+ ...effectiveTurnOpts,
109
224
  prompt,
110
225
  cwd: extra.cwd,
111
226
  env: extra.env,
112
227
  resume: extra.resume,
228
+ ...(passthrough.length > 0 ? { passthrough } : {}),
113
229
  ...(isExplicit ? { __explicitPrompt: true } : {}),
114
230
  };
115
231
  // Pre-validate via building argv to catch refusals before spawn (so we don't spawn on bad args)
@@ -117,6 +233,8 @@ export const run = async (harnessName, rawArgs) => {
117
233
  let preArgv = null;
118
234
  try {
119
235
  if (fullOpts.resume) {
236
+ // Resume never carries profile/config resolution (launch-only rule),
237
+ // so it builds from the raw turn options.
120
238
  preArgv = buildResumeArgv(h, {
121
239
  ...turnOpts,
122
240
  prompt,
@@ -125,8 +243,10 @@ export const run = async (harnessName, rawArgs) => {
125
243
  });
126
244
  }
127
245
  else {
246
+ // Launch builds from the RESOLVED options so the spawn line and the
247
+ // real argv agree.
128
248
  preArgv = buildLaunchArgv(h, {
129
- ...turnOpts,
249
+ ...effectiveTurnOpts,
130
250
  prompt,
131
251
  __explicitPrompt: isExplicit,
132
252
  });
@@ -136,6 +256,11 @@ export const run = async (harnessName, rawArgs) => {
136
256
  catch (err) {
137
257
  if (err instanceof ArgvRefusalError) {
138
258
  process.stderr.write(`${err.message}\n`);
259
+ if (err.hint)
260
+ process.stderr.write(`hint: ${err.hint}\n`);
261
+ if (err.supportedBy?.length) {
262
+ process.stderr.write(`supported on: ${err.supportedBy.map((e) => `${e.harness} (${e.spelling})`).join(", ")}\n`);
263
+ }
139
264
  if (err.supported.length)
140
265
  process.stderr.write(`supported: ${err.supported.join(", ")}\n`);
141
266
  process.exitCode = 2;
@@ -233,6 +358,11 @@ export const run = async (harnessName, rawArgs) => {
233
358
  catch (err) {
234
359
  if (err instanceof ArgvRefusalError) {
235
360
  process.stderr.write(`${err.message}\n`);
361
+ if (err.hint)
362
+ process.stderr.write(`hint: ${err.hint}\n`);
363
+ if (err.supportedBy?.length) {
364
+ process.stderr.write(`supported on: ${err.supportedBy.map((e) => `${e.harness} (${e.spelling})`).join(", ")}\n`);
365
+ }
236
366
  if (err.supported.length)
237
367
  process.stderr.write(`supported: ${err.supported.join(", ")}\n`);
238
368
  process.exitCode = 2;
@@ -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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"}
@@ -13,8 +13,8 @@
13
13
  * options or a different harness, not a different model.
14
14
  */
15
15
  import type { RefusalIssue } from "../interpretation/refusal.js";
16
- import type { AuthFailureKind, DiscoveryFacet, LimitCode, TurnOptionKey } from "../knowledge/descriptor.js";
17
- export declare const FAILURE_CLASSES: readonly ["rate-limit", "usage-limit", "quota", "auth", "budget", "task", "transport", "rejected"];
16
+ import type { AuthFailureKind, DiscoveryFacet, LimitCode } from "../knowledge/descriptor.js";
17
+ export declare const FAILURE_CLASSES: readonly ["rate-limit", "usage-limit", "quota", "auth", "budget", "task", "transport", "rejected", "native"];
18
18
  export type FailureClass = (typeof FAILURE_CLASSES)[number];
19
19
  export interface FailureSummary {
20
20
  readonly class: FailureClass;
@@ -24,11 +24,23 @@ export interface FailureSummary {
24
24
  readonly authKind?: AuthFailureKind;
25
25
  readonly resetsAt?: number;
26
26
  readonly issue?: RefusalIssue;
27
- readonly option?: TurnOptionKey;
27
+ readonly option?: import("../interpretation/refusal.js").RefusalOption;
28
28
  readonly facet?: DiscoveryFacet;
29
29
  readonly supported?: readonly string[];
30
+ /** D7: cross-harness support entries derived from descriptors. */
31
+ readonly supportedBy?: ReadonlyArray<{
32
+ harness: string;
33
+ spelling: string;
34
+ }>;
35
+ /** D8: nearest-alternative hint for the current harness. */
36
+ readonly hint?: string;
37
+ /** D6: the harness process's own exit code for a native failure - data,
38
+ * because native conventions differ from hcn's (codex usage errors exit
39
+ * 2, which hcn reserves for refusals). */
40
+ readonly nativeExitCode?: number;
30
41
  }
31
42
  export declare const retryableOf: (cls: FailureClass) => boolean;
43
+ export declare const failureFromNative: (nativeExitCode: number | null, stderrTail: readonly string[]) => FailureSummary;
32
44
  export declare const failureFromLimit: (code: LimitCode) => FailureSummary;
33
45
  export declare const failureFromAuth: (kind: AuthFailureKind) => FailureSummary;
34
46
  export declare const failureFromTask: (detail?: string) => FailureSummary;
@@ -36,9 +48,14 @@ export declare const failureFromBudget: (detail?: string) => FailureSummary;
36
48
  export declare const failureFromTransport: (detail?: string) => FailureSummary;
37
49
  export declare const failureFromRejected: (opts: {
38
50
  issue: RefusalIssue;
39
- option?: TurnOptionKey;
51
+ option?: import("../interpretation/refusal.js").RefusalOption;
40
52
  facet?: DiscoveryFacet;
41
53
  supported?: readonly string[];
54
+ supportedBy?: ReadonlyArray<{
55
+ harness: string;
56
+ spelling: string;
57
+ }>;
58
+ hint?: string;
42
59
  detail?: string;
43
60
  }) => FailureSummary;
44
61
  export declare const reduceFailures: (failures: readonly FailureSummary[]) => FailureSummary | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"failure.d.ts","sourceRoot":"","sources":["../../src/execution/failure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,SAAS,EACT,aAAa,EACd,MAAM,4BAA4B,CAAC;AAEpC,eAAO,MAAM,eAAe,oGASjB,CAAC;AACZ,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,eAAO,MAAM,WAAW,QAAS,YAAY,KAAG,OACU,CAAC;AAyB3D,eAAO,MAAM,gBAAgB,SAAU,SAAS,KAAG,cAalD,CAAC;AAEF,eAAO,MAAM,eAAe,SAAU,eAAe,KAAG,cAKtD,CAAC;AAEH,eAAO,MAAM,eAAe,YAAa,MAAM,KAAG,cAIhD,CAAC;AAEH,eAAO,MAAM,iBAAiB,YAAa,MAAM,KAAG,cAIlD,CAAC;AAEH,eAAO,MAAM,oBAAoB,YAAa,MAAM,KAAG,cAIrD,CAAC;AAEH,eAAO,MAAM,mBAAmB,SAAU;IACxC,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,KAAG,cAQF,CAAC;AAcH,eAAO,MAAM,cAAc,aAAc,SAAS,cAAc,EAAE,KAAG,cAAc,GAAG,SAgBrF,CAAC"}
1
+ {"version":3,"file":"failure.d.ts","sourceRoot":"","sources":["../../src/execution/failure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,SAAS,EAEV,MAAM,4BAA4B,CAAC;AAEpC,eAAO,MAAM,eAAe,8GAUjB,CAAC;AACZ,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,8BAA8B,EAAE,aAAa,CAAC;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,kEAAkE;IAClE,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;8CAE0C;IAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,eAAO,MAAM,WAAW,QAAS,YAAY,KAAG,OAC8B,CAAC;AAgC/E,eAAO,MAAM,iBAAiB,mBACZ,MAAM,GAAG,IAAI,cACjB,SAAS,MAAM,EAAE,KAC5B,cAQD,CAAC;AAEH,eAAO,MAAM,gBAAgB,SAAU,SAAS,KAAG,cAalD,CAAC;AAEF,eAAO,MAAM,eAAe,SAAU,eAAe,KAAG,cAKtD,CAAC;AAEH,eAAO,MAAM,eAAe,YAAa,MAAM,KAAG,cAIhD,CAAC;AAEH,eAAO,MAAM,iBAAiB,YAAa,MAAM,KAAG,cAIlD,CAAC;AAEH,eAAO,MAAM,oBAAoB,YAAa,MAAM,KAAG,cAIrD,CAAC;AAEH,eAAO,MAAM,mBAAmB,SAAU;IACxC,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,8BAA8B,EAAE,aAAa,CAAC;IAC9D,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,WAAW,CAAC,EAAE,aAAa,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,KAAG,cAaF,CAAC;AAiBH,eAAO,MAAM,cAAc,aAAc,SAAS,cAAc,EAAE,KAAG,cAAc,GAAG,SAgBrF,CAAC"}
@@ -21,8 +21,9 @@ export const FAILURE_CLASSES = Object.freeze([
21
21
  "task",
22
22
  "transport",
23
23
  "rejected",
24
+ "native",
24
25
  ]);
25
- export const retryableOf = (cls) => cls !== "task" && cls !== "budget" && cls !== "rejected";
26
+ export const retryableOf = (cls) => cls !== "task" && cls !== "budget" && cls !== "rejected" && cls !== "native";
26
27
  const messageFor = (cls, detail) => {
27
28
  switch (cls) {
28
29
  case "rate-limit":
@@ -41,10 +42,24 @@ const messageFor = (cls, detail) => {
41
42
  return `Transport failure${detail ? ` (${detail})` : ""} - retry or route to another provider`;
42
43
  case "rejected":
43
44
  return `Request rejected${detail ? ` (${detail})` : ""} - change options or harness`;
45
+ case "native":
46
+ // D6: labeled NATIVE so it can never be confused with an hcn error.
47
+ // The harness's own message follows verbatim; the process exit code
48
+ // rides as data (nativeExitCode), because harness conventions differ
49
+ // (codex exits 2 on usage errors - the same code hcn uses for
50
+ // refusals, so hcn owns its own exit code and reports the native one).
51
+ return `NATIVE ERROR from harness${detail ? `: ${detail}` : ""} - the harness rejected or failed on its own arguments; this is not an hcn error`;
44
52
  default:
45
53
  return `Failure${detail ? ` (${detail})` : ""}`;
46
54
  }
47
- };
55
+ }; /** D6: a failure that belongs to the harness, not hcn. Carries the
56
+ * native stderr verbatim and the native exit code as data. */
57
+ export const failureFromNative = (nativeExitCode, stderrTail) => ({
58
+ class: "native",
59
+ retryable: false,
60
+ message: messageFor("native", stderrTail.slice(-3).join(" | ").slice(0, 512) || `exit ${nativeExitCode}`),
61
+ nativeExitCode: nativeExitCode ?? undefined,
62
+ });
48
63
  export const failureFromLimit = (code) => {
49
64
  const cls = code === "rate-limit"
50
65
  ? "rate-limit"
@@ -82,11 +97,16 @@ export const failureFromTransport = (detail) => ({
82
97
  export const failureFromRejected = (opts) => ({
83
98
  class: "rejected",
84
99
  retryable: false,
100
+ // D8: hint first, support list second - prose order matches the
101
+ // structured fields so an agent scanning the message hits the
102
+ // stay-on-harness suggestion before the switch temptation.
85
103
  message: messageFor("rejected", opts.detail ?? opts.issue),
86
104
  issue: opts.issue,
87
105
  option: opts.option,
88
106
  facet: opts.facet,
89
107
  supported: opts.supported,
108
+ supportedBy: opts.supportedBy,
109
+ hint: opts.hint,
90
110
  });
91
111
  /** Precedence for reduction: lower number = higher priority (wins). */
92
112
  const PRECEDENCE = {
@@ -97,7 +117,10 @@ const PRECEDENCE = {
97
117
  budget: 3,
98
118
  task: 3,
99
119
  transport: 4,
100
- rejected: 0, // rejected is separate, not reduced with others? But per spec, rejected is non-retryable and stands alone
120
+ // rejected stands alone (checked before precedence applies); native is
121
+ // terminal-by-classification, never reduced into anything else.
122
+ rejected: 0,
123
+ native: 0,
101
124
  };
102
125
  export const reduceFailures = (failures) => {
103
126
  if (failures.length === 0)
@@ -1 +1 @@
1
- {"version":3,"file":"failure.js","sourceRoot":"","sources":["../../src/execution/failure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"failure.js","sourceRoot":"","sources":["../../src/execution/failure.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,10 @@ export interface TurnRunOptions extends LaunchOptions {
42
42
  readonly cwd?: string;
43
43
  /** Per-call environment, merged over parent; "" deletes. */
44
44
  readonly env?: Readonly<Record<string, string>>;
45
+ /** D6 passthrough: raw harness tokens appended verbatim after the
46
+ * normalized argv. Wrong-harness flags here fail in the harness itself
47
+ * and surface as native errors - hcn never validates them. */
48
+ readonly passthrough?: readonly string[];
45
49
  }
46
50
  export declare function streamTurn(h: HarnessDescriptor, opts: TurnRunOptions, deps: RunnerDeps): AsyncIterable<HarnessEvent>;
47
51
  //# sourceMappingURL=stream-turn.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream-turn.d.ts","sourceRoot":"","sources":["../../src/execution/stream-turn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAIpE,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,WAAW,CAAC;AAC5D,OAAO,KAAK,EAAa,YAAY,EAAE,MAAM,aAAa,CAAC;AAe3D;;sCAEsC;AACtC,eAAO,MAAM,aAAa,OAAQ,CAAC;AACnC,eAAO,MAAM,aAAa,OAAQ,CAAC;AAWnC;;;;wDAIwD;AACxD,eAAO,MAAM,UAAU,SAAU,SAAS,MAAM,EAAE,WAAW,MAAM,KAAG,MAAM,EAQ3E,CAAC;AAEF;;8BAE8B;AAC9B,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,KAAK,CAAK;IAClB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAOvB;IACD,QAAQ,IAAI,SAAS,MAAM,EAAE,CAE5B;CACF;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD;;uDAEmD;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACjD;AAED,wBAAuB,UAAU,CAC/B,CAAC,EAAE,iBAAiB,EACpB,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,UAAU,GACf,aAAa,CAAC,YAAY,CAAC,CAwX7B"}
1
+ {"version":3,"file":"stream-turn.d.ts","sourceRoot":"","sources":["../../src/execution/stream-turn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAIpE,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,WAAW,CAAC;AAC5D,OAAO,KAAK,EAAa,YAAY,EAAE,MAAM,aAAa,CAAC;AAgB3D;;sCAEsC;AACtC,eAAO,MAAM,aAAa,OAAQ,CAAC;AACnC,eAAO,MAAM,aAAa,OAAQ,CAAC;AAWnC;;;;wDAIwD;AACxD,eAAO,MAAM,UAAU,SAAU,SAAS,MAAM,EAAE,WAAW,MAAM,KAAG,MAAM,EAQ3E,CAAC;AAEF;;8BAE8B;AAC9B,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,KAAK,CAAK;IAClB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAOvB;IACD,QAAQ,IAAI,SAAS,MAAM,EAAE,CAE5B;CACF;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD;;uDAEmD;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD;;kEAE8D;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED,wBAAuB,UAAU,CAC/B,CAAC,EAAE,iBAAiB,EACpB,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,UAAU,GACf,aAAa,CAAC,YAAY,CAAC,CAiZ7B"}
@@ -16,7 +16,7 @@ import { ArgvRefusalError } from "../interpretation/refusal.js";
16
16
  import { matcherOverridesOf } from "../knowledge/overrides.js";
17
17
  import { AsyncChannel } from "./channel.js";
18
18
  import { decodeLine, freshDecodeState } from "./decode.js";
19
- import { failureFromAuth, failureFromLimit, failureFromRejected, failureFromTransport, reduceFailures, } from "./failure.js";
19
+ import { failureFromAuth, failureFromLimit, failureFromNative, failureFromRejected, failureFromTransport, reduceFailures, } from "./failure.js";
20
20
  import { LineBuffer } from "./lines.js";
21
21
  /** Fallback correlation when the host does not mint turn ids: monotonic per
22
22
  * process. Hosts that need cross-process uniqueness pass deps.turnId. */
@@ -105,6 +105,9 @@ export async function* streamTurn(h, opts, deps) {
105
105
  opts.resume === undefined
106
106
  ? buildLaunchArgv(h, opts)
107
107
  : buildResumeArgv(h, { ...opts, sessionId: opts.resume });
108
+ if (opts.passthrough !== undefined && opts.passthrough.length > 0) {
109
+ argv = [...argv, "--", ...opts.passthrough];
110
+ }
108
111
  granularity = streamingGranularityOf(h, argv);
109
112
  }
110
113
  catch (e) {
@@ -114,6 +117,8 @@ export async function* streamTurn(h, opts, deps) {
114
117
  option: e.option,
115
118
  facet: e.facet,
116
119
  supported: e.supported,
120
+ supportedBy: e.supportedBy,
121
+ hint: e.hint,
117
122
  detail: e.message,
118
123
  });
119
124
  // No process spawned on a refusal - log rejected instead of spawn
@@ -363,13 +368,21 @@ export async function* streamTurn(h, opts, deps) {
363
368
  try {
364
369
  for await (const event of queue)
365
370
  yield event;
366
- // Post-queue failure sources: nonzero exit with no other failure is transport
371
+ // Post-queue failure sources. Nonzero exit with no other failure and a
372
+ // non-empty stderr tail is a NATIVE failure (D6): the harness rejected
373
+ // its own arguments or crashed on them - verbatim stderr, native exit
374
+ // code as data, hcn exit 1. Without a stderr tail it stays transport
375
+ // (a silent nonzero exit reads as an environment problem, not a
376
+ // harness judgment).
367
377
  if (failures.length === 0 &&
368
378
  exitCode !== 0 &&
369
379
  exitCode !== null &&
370
380
  !killedByWatchdog &&
371
381
  !state.limitSeen) {
372
- const f = failureFromTransport(`nonzero exit ${exitCode}`);
382
+ const tailForNative = stderrTail.snapshot();
383
+ const f = tailForNative.length > 0
384
+ ? failureFromNative(exitCode, tailForNative)
385
+ : failureFromTransport(`nonzero exit ${exitCode}`);
373
386
  failures.push(f);
374
387
  // Need to emit this failure before done, even though queue is closed
375
388
  yield { kind: "failure", ...f };
@@ -412,7 +425,18 @@ export async function* streamTurn(h, opts, deps) {
412
425
  yield { kind: "error", message: tail.join("\n").slice(0, 4096) };
413
426
  }
414
427
  terminalEventReached = true;
415
- yield { kind: "done", exitCode, cause, ...(reduced ? { failure: reduced } : {}) };
428
+ // D6: when the failure is native, the harness's own exit convention is
429
+ // DATA (nativeExitCode on the failure), not the done event's contract -
430
+ // hcn owns the process exit code (1 for any native failure) because
431
+ // harness conventions collide with hcn's (codex usage errors exit 2,
432
+ // which hcn reserves for refusals).
433
+ const nativeReduced = reduced?.class === "native";
434
+ yield {
435
+ kind: "done",
436
+ exitCode: nativeReduced ? null : exitCode,
437
+ cause,
438
+ ...(reduced ? { failure: reduced } : {}),
439
+ };
416
440
  }
417
441
  finally {
418
442
  const abandoned = !terminalEventReached;