@dungle-scrubs/harness-cli-normalizer 0.6.0 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -6
- package/dist/cli/args.d.ts +9 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +36 -26
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/check.d.ts +14 -0
- package/dist/cli/check.d.ts.map +1 -1
- package/dist/cli/check.js +10 -3
- package/dist/cli/check.js.map +1 -1
- package/dist/cli/config.d.ts +4 -4
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +8 -6
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/exit-codes.d.ts +0 -1
- package/dist/cli/exit-codes.d.ts.map +1 -1
- package/dist/cli/exit-codes.js +0 -1
- package/dist/cli/exit-codes.js.map +1 -1
- package/dist/cli/help.d.ts +2 -2
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +10 -2
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +3 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/inspect.d.ts.map +1 -1
- package/dist/cli/inspect.js +84 -265
- package/dist/cli/inspect.js.map +1 -1
- package/dist/cli/plan-turn.d.ts +68 -0
- package/dist/cli/plan-turn.d.ts.map +1 -0
- package/dist/cli/plan-turn.js +268 -0
- package/dist/cli/plan-turn.js.map +1 -0
- package/dist/cli/refuse.d.ts.map +1 -1
- package/dist/cli/refuse.js +2 -1
- package/dist/cli/refuse.js.map +1 -1
- package/dist/cli/resolve-harness.d.ts.map +1 -1
- package/dist/cli/resolve-harness.js +2 -3
- package/dist/cli/resolve-harness.js.map +1 -1
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +33 -367
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/session-json.d.ts +1 -1
- package/dist/cli/session-json.d.ts.map +1 -1
- package/dist/cli/session-json.js +1 -3
- package/dist/cli/session-json.js.map +1 -1
- package/dist/cli/session.d.ts.map +1 -1
- package/dist/cli/session.js +35 -43
- package/dist/cli/session.js.map +1 -1
- package/dist/cli/skills-root.d.ts +1 -1
- package/dist/cli/skills-root.d.ts.map +1 -1
- package/dist/cli/skills-root.js +1 -1
- package/dist/cli/skills-root.js.map +1 -1
- package/dist/execution/decode.d.ts.map +1 -1
- package/dist/execution/decode.js +11 -36
- package/dist/execution/decode.js.map +1 -1
- package/dist/execution/events.d.ts +4 -1
- package/dist/execution/events.d.ts.map +1 -1
- package/dist/execution/events.js.map +1 -1
- package/dist/execution/failure.d.ts +3 -1
- package/dist/execution/failure.d.ts.map +1 -1
- package/dist/execution/failure.js +14 -11
- package/dist/execution/failure.js.map +1 -1
- package/dist/execution/open-session.d.ts +1 -1
- package/dist/execution/open-session.d.ts.map +1 -1
- package/dist/execution/open-session.js +150 -223
- package/dist/execution/open-session.js.map +1 -1
- package/dist/execution/stream-turn.d.ts +9 -14
- package/dist/execution/stream-turn.d.ts.map +1 -1
- package/dist/execution/stream-turn.js +85 -188
- package/dist/execution/stream-turn.js.map +1 -1
- package/dist/execution/supervisor.d.ts +71 -0
- package/dist/execution/supervisor.d.ts.map +1 -0
- package/dist/execution/supervisor.js +127 -0
- package/dist/execution/supervisor.js.map +1 -0
- package/dist/interpretation/argv.d.ts +39 -12
- package/dist/interpretation/argv.d.ts.map +1 -1
- package/dist/interpretation/argv.js +28 -20
- package/dist/interpretation/argv.js.map +1 -1
- package/dist/interpretation/content.d.ts +10 -1
- package/dist/interpretation/content.d.ts.map +1 -1
- package/dist/interpretation/content.js +20 -11
- package/dist/interpretation/content.js.map +1 -1
- package/dist/interpretation/hints.d.ts +1 -1
- package/dist/interpretation/hints.d.ts.map +1 -1
- package/dist/interpretation/hints.js +10 -11
- package/dist/interpretation/hints.js.map +1 -1
- package/dist/interpretation/index.d.ts +0 -1
- package/dist/interpretation/index.d.ts.map +1 -1
- package/dist/interpretation/index.js +0 -1
- package/dist/interpretation/index.js.map +1 -1
- package/dist/interpretation/isolation.d.ts +10 -0
- package/dist/interpretation/isolation.d.ts.map +1 -0
- package/dist/interpretation/isolation.js +30 -0
- package/dist/interpretation/isolation.js.map +1 -0
- package/dist/interpretation/limits.d.ts +2 -5
- package/dist/interpretation/limits.d.ts.map +1 -1
- package/dist/interpretation/limits.js +8 -62
- package/dist/interpretation/limits.js.map +1 -1
- package/dist/interpretation/question.d.ts +27 -0
- package/dist/interpretation/question.d.ts.map +1 -1
- package/dist/interpretation/question.js +28 -0
- package/dist/interpretation/question.js.map +1 -1
- package/dist/interpretation/refusal.d.ts +10 -5
- package/dist/interpretation/refusal.d.ts.map +1 -1
- package/dist/interpretation/refusal.js +24 -15
- package/dist/interpretation/refusal.js.map +1 -1
- package/dist/interpretation/resolve-options.d.ts +36 -2
- package/dist/interpretation/resolve-options.d.ts.map +1 -1
- package/dist/interpretation/resolve-options.js +53 -22
- package/dist/interpretation/resolve-options.js.map +1 -1
- package/dist/interpretation/session-input.d.ts +44 -1
- package/dist/interpretation/session-input.d.ts.map +1 -1
- package/dist/interpretation/session-input.js +59 -4
- package/dist/interpretation/session-input.js.map +1 -1
- package/dist/interpretation/shape.d.ts +1 -0
- package/dist/interpretation/shape.d.ts.map +1 -1
- package/dist/interpretation/shape.js +10 -0
- package/dist/interpretation/shape.js.map +1 -1
- package/dist/interpretation/skills-selection.d.ts +25 -33
- package/dist/interpretation/skills-selection.d.ts.map +1 -1
- package/dist/interpretation/skills-selection.js +41 -48
- package/dist/interpretation/skills-selection.js.map +1 -1
- package/dist/interpretation/support.d.ts.map +1 -1
- package/dist/interpretation/support.js +25 -8
- package/dist/interpretation/support.js.map +1 -1
- package/dist/interpretation/tool-selection.d.ts +7 -6
- package/dist/interpretation/tool-selection.d.ts.map +1 -1
- package/dist/interpretation/tool-selection.js +54 -116
- package/dist/interpretation/tool-selection.js.map +1 -1
- package/dist/interpretation/tool-vocabulary.d.ts +31 -12
- package/dist/interpretation/tool-vocabulary.d.ts.map +1 -1
- package/dist/interpretation/tool-vocabulary.js +19 -41
- package/dist/interpretation/tool-vocabulary.js.map +1 -1
- package/dist/interpretation/turn-options.d.ts +4 -0
- package/dist/interpretation/turn-options.d.ts.map +1 -1
- package/dist/interpretation/turn-options.js +107 -241
- package/dist/interpretation/turn-options.js.map +1 -1
- package/dist/interpretation/vocabulary.d.ts +8 -6
- package/dist/interpretation/vocabulary.d.ts.map +1 -1
- package/dist/interpretation/vocabulary.js +22 -9
- package/dist/interpretation/vocabulary.js.map +1 -1
- package/dist/knowledge/claude-code.d.ts +3 -1
- package/dist/knowledge/claude-code.d.ts.map +1 -1
- package/dist/knowledge/claude-code.js +17 -4
- package/dist/knowledge/claude-code.js.map +1 -1
- package/dist/knowledge/codex.d.ts.map +1 -1
- package/dist/knowledge/codex.js +31 -7
- package/dist/knowledge/codex.js.map +1 -1
- package/dist/knowledge/descriptor.d.ts +67 -36
- package/dist/knowledge/descriptor.d.ts.map +1 -1
- package/dist/knowledge/descriptor.js +50 -15
- package/dist/knowledge/descriptor.js.map +1 -1
- package/dist/knowledge/matchers.d.ts +12 -0
- package/dist/knowledge/matchers.d.ts.map +1 -1
- package/dist/knowledge/matchers.js +34 -0
- package/dist/knowledge/matchers.js.map +1 -1
- package/dist/knowledge/muse.d.ts.map +1 -1
- package/dist/knowledge/muse.js +13 -6
- package/dist/knowledge/muse.js.map +1 -1
- package/dist/knowledge/overrides.d.ts.map +1 -1
- package/dist/knowledge/overrides.js +9 -20
- package/dist/knowledge/overrides.js.map +1 -1
- package/dist/knowledge/pi.d.ts.map +1 -1
- package/dist/knowledge/pi.js +8 -6
- package/dist/knowledge/pi.js.map +1 -1
- package/dist/knowledge/profile.d.ts +1 -0
- package/dist/knowledge/profile.d.ts.map +1 -1
- package/dist/knowledge/profile.js +1 -0
- package/dist/knowledge/profile.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/args.ts +39 -27
- package/src/cli/check.ts +10 -3
- package/src/cli/config.ts +14 -11
- package/src/cli/exit-codes.ts +0 -2
- package/src/cli/help.ts +10 -2
- package/src/cli/index.ts +3 -1
- package/src/cli/inspect.ts +88 -269
- package/src/cli/plan-turn.ts +350 -0
- package/src/cli/refuse.ts +2 -1
- package/src/cli/resolve-harness.ts +4 -5
- package/src/cli/run.ts +36 -399
- package/src/cli/session-json.ts +1 -6
- package/src/cli/session.ts +51 -44
- package/src/cli/skills-root.ts +1 -4
- package/src/execution/decode.ts +10 -36
- package/src/execution/events.ts +4 -1
- package/src/execution/failure.ts +18 -11
- package/src/execution/open-session.ts +154 -228
- package/src/execution/stream-turn.ts +90 -193
- package/src/execution/supervisor.ts +199 -0
- package/src/interpretation/argv.ts +65 -34
- package/src/interpretation/content.ts +30 -13
- package/src/interpretation/hints.ts +2 -12
- package/src/interpretation/index.ts +0 -1
- package/src/interpretation/isolation.ts +39 -0
- package/src/interpretation/limits.ts +14 -75
- package/src/interpretation/question.ts +46 -0
- package/src/interpretation/refusal.ts +28 -18
- package/src/interpretation/resolve-options.ts +98 -33
- package/src/interpretation/session-input.ts +88 -5
- package/src/interpretation/shape.ts +10 -0
- package/src/interpretation/skills-selection.ts +70 -74
- package/src/interpretation/support.ts +21 -6
- package/src/interpretation/tool-selection.ts +67 -122
- package/src/interpretation/tool-vocabulary.ts +48 -53
- package/src/interpretation/turn-options.ts +125 -220
- package/src/interpretation/vocabulary.ts +15 -10
- package/src/knowledge/claude-code.ts +17 -4
- package/src/knowledge/codex.ts +31 -7
- package/src/knowledge/descriptor.ts +106 -49
- package/src/knowledge/matchers.ts +35 -0
- package/src/knowledge/muse.ts +13 -6
- package/src/knowledge/overrides.ts +17 -32
- package/src/knowledge/pi.ts +8 -6
- package/src/knowledge/profile.ts +1 -0
- package/dist/interpretation/dimensions.d.ts +0 -11
- package/dist/interpretation/dimensions.d.ts.map +0 -1
- package/dist/interpretation/dimensions.js +0 -4
- package/dist/interpretation/dimensions.js.map +0 -1
- package/src/interpretation/dimensions.ts +0 -14
package/dist/cli/run.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import { nodeRunnerDeps } from "../execution/node-deps.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { composeEscalatedPrompt } from "../interpretation/question.js";
|
|
2
|
+
import { streamTurn } from "../execution/stream-turn.js";
|
|
3
|
+
import { KILL_GRACE_MS } from "../execution/supervisor.js";
|
|
5
4
|
import { ArgvRefusalError } from "../interpretation/refusal.js";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { defaultDescriptors } from "../knowledge/overrides.js";
|
|
9
|
-
import { parseRunExtra, parseTurnOptions, resolvePromptAsync } from "./args.js";
|
|
5
|
+
import { EXIT_FAILURE, exitCodeForCause } from "./exit-codes.js";
|
|
6
|
+
import { planTurn, writePlanDiagnostics } from "./plan-turn.js";
|
|
10
7
|
import { refusalOf, refuse } from "./refuse.js";
|
|
11
8
|
import { createRenderState, renderEvent, writeEventNdjsonAsync } from "./render.js";
|
|
12
9
|
import { resolveHarness } from "./resolve-harness.js";
|
|
@@ -18,356 +15,46 @@ export const run = async (harnessName, rawArgs) => {
|
|
|
18
15
|
process.stdout.write(RUN_HELP);
|
|
19
16
|
return;
|
|
20
17
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const injection = detectPositionalPromptInjection(rawArgs);
|
|
27
|
-
if (injection) {
|
|
28
|
-
const err = new ArgvRefusalError({
|
|
29
|
-
issue: "prompt-flag-injection",
|
|
30
|
-
harness: h.name,
|
|
31
|
-
supported: ["prompt must not start with '-'"],
|
|
32
|
-
detail: `it would be parsed as a flag by ${h.bin}`,
|
|
33
|
-
});
|
|
34
|
-
refuse(refusalOf(err), wantJson);
|
|
18
|
+
// One owner turns the arguments into the plan the runner spawns from
|
|
19
|
+
// (RFC-02 change 10); every refusal it raises is structured.
|
|
20
|
+
const outcome = await planTurn(h, rawArgs, { command: "run" });
|
|
21
|
+
if (outcome.kind === "refusal") {
|
|
22
|
+
refuse(outcome.refusal, outcome.wantJson);
|
|
35
23
|
return;
|
|
36
24
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
catch (err) {
|
|
42
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
43
|
-
// D7 part B: a native spelling passed before the separator gets
|
|
44
|
-
// recognized and redirected to the normalized flag instead of a
|
|
45
|
-
// generic unknown-flag error.
|
|
46
|
-
// parseArgs reports unknown long flags as "Unknown option '--x'" but
|
|
47
|
-
// splits bundled short flags ("-nt" -> "Unknown option 'n'"). Match the
|
|
48
|
-
// reported token back against the ORIGINAL argv: a short-flag bundle
|
|
49
|
-
// that some descriptor spells exactly (pi's -nt) is recognizable; a
|
|
50
|
-
// lone unknown token keeps the plain error.
|
|
51
|
-
const flagMatch = message.match(/Unknown option '([A-Za-z0-9_-]+)'/);
|
|
52
|
-
let rawFlag;
|
|
53
|
-
if (flagMatch?.[1] !== undefined) {
|
|
54
|
-
const reported = flagMatch[1].startsWith("-") ? flagMatch[1] : `-${flagMatch[1]}`;
|
|
55
|
-
// Exact long flag: use it. Reported short flag (e.g. -n): the caller
|
|
56
|
-
// may have typed a BUNDLE (-nt) that parseArgs split - find the argv
|
|
57
|
-
// token that starts with the reported short and is longer; recognition
|
|
58
|
-
// then decides whether the whole bundle is a descriptor spelling.
|
|
59
|
-
const fromArgv = rawArgs.find((a) => a === reported) ??
|
|
60
|
-
(reported.length === 2
|
|
61
|
-
? rawArgs.find((a) => a.length > 2 && a.startsWith(reported))
|
|
62
|
-
: undefined);
|
|
63
|
-
rawFlag = fromArgv ?? reported;
|
|
64
|
-
}
|
|
65
|
-
const native = rawFlag !== undefined ? recognizeNativeSpelling(defaultDescriptors(), rawFlag) : null;
|
|
66
|
-
if (native !== null) {
|
|
67
|
-
const by = native.option.startsWith("discovery.")
|
|
68
|
-
? native.entries
|
|
69
|
-
: supportedBy(defaultDescriptors(), native.option);
|
|
70
|
-
const normalizedSpelling = native.option === "excludeTools"
|
|
71
|
-
? "--exclude-tools"
|
|
72
|
-
: native.option.startsWith("discovery.")
|
|
73
|
-
? `--no-${native.option.split(".")[1] === "instructionFiles" ? "instruction-files" : native.option.split(".")[1]}`
|
|
74
|
-
: `--${native.option}`;
|
|
75
|
-
refuse({
|
|
76
|
-
message: `unknown flag: ${rawFlag} is a native spelling (used by ${native.entries.map((e) => e.harness).join(", ")}) - use the normalized ${normalizedSpelling} flag instead`,
|
|
77
|
-
issue: "invalid-option-value",
|
|
78
|
-
supportedBy: by,
|
|
79
|
-
trailer: ["Run 'hcn run --help' for usage."],
|
|
80
|
-
}, wantJson);
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
refuse({
|
|
84
|
-
message: `unknown flag: ${message}`,
|
|
85
|
-
issue: "invalid-option-value",
|
|
86
|
-
trailer: ["Run 'hcn run --help' for usage."],
|
|
87
|
-
}, wantJson);
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
const values = parsed.values;
|
|
91
|
-
const positionals = parsed.positionals;
|
|
92
|
-
// positionals may contain prompt if not using flag; harness already consumed so first positional is prompt
|
|
93
|
-
const positionalPrompt = positionals.length > 0 ? positionals[0] : undefined;
|
|
94
|
-
if (positionals.length > 1) {
|
|
95
|
-
refuse({
|
|
96
|
-
message: "too many positionals for run; expected one prompt",
|
|
97
|
-
issue: "invalid-option-value",
|
|
98
|
-
}, wantJson);
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
if (passthrough.length === 0 && rawArgs.includes("--")) {
|
|
102
|
-
refuse({
|
|
103
|
-
message: "-- separator given but no passthrough tokens followed it",
|
|
104
|
-
issue: "invalid-option-value",
|
|
105
|
-
}, wantJson);
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
// Resolve prompt (async for --prompt-file -)
|
|
109
|
-
let prompt;
|
|
110
|
-
let promptSource;
|
|
111
|
-
try {
|
|
112
|
-
const resolved = await resolvePromptAsync({
|
|
113
|
-
positionalPrompt,
|
|
114
|
-
promptFlag: values.prompt,
|
|
115
|
-
promptFile: values["prompt-file"],
|
|
116
|
-
});
|
|
117
|
-
prompt = resolved.prompt;
|
|
118
|
-
promptSource = resolved.source;
|
|
119
|
-
}
|
|
120
|
-
catch (err) {
|
|
121
|
-
if (err instanceof ArgvRefusalError) {
|
|
122
|
-
refuse(refusalOf(err), wantJson);
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
if (err instanceof Error && err.code === "ENOENT") {
|
|
126
|
-
refuse({ message: `prompt file not found: ${err.message}`, issue: "invalid-option-value" }, wantJson);
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
throw err;
|
|
130
|
-
}
|
|
131
|
-
// Build turn options
|
|
132
|
-
let turnOpts;
|
|
133
|
-
try {
|
|
134
|
-
turnOpts = parseTurnOptions(values);
|
|
135
|
-
}
|
|
136
|
-
catch (err) {
|
|
137
|
-
if (err instanceof ArgvRefusalError) {
|
|
138
|
-
refuse(refusalOf(err), wantJson);
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
throw err;
|
|
142
|
-
}
|
|
143
|
-
let extra;
|
|
144
|
-
try {
|
|
145
|
-
extra = parseRunExtra(values);
|
|
146
|
-
}
|
|
147
|
-
catch (err) {
|
|
148
|
-
if (err instanceof ArgvRefusalError) {
|
|
149
|
-
refuse(refusalOf(err), wantJson);
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
throw err;
|
|
153
|
-
}
|
|
154
|
-
const isExplicit = promptSource !== "positional";
|
|
155
|
-
// issue #38: resolve --skills names against the caller's registry root,
|
|
156
|
-
// then hand the harness its native rendering (pi loads; claude narrows).
|
|
157
|
-
const rawSkills = turnOpts.skills;
|
|
158
|
-
if (rawSkills !== undefined && rawSkills.length > 0) {
|
|
159
|
-
try {
|
|
160
|
-
const { resolveSkillNames, listKnownSkills } = await import("./skills-root.js");
|
|
161
|
-
const resolvedSkills = resolveSkillNames(rawSkills, h.name);
|
|
162
|
-
const skillTokens = [];
|
|
163
|
-
if (h.name === "claude") {
|
|
164
|
-
const { claudeSkillOverridesArg } = await import("../interpretation/skills-selection.js");
|
|
165
|
-
skillTokens.push(...claudeSkillOverridesArg(listKnownSkills(), resolvedSkills));
|
|
166
|
-
}
|
|
167
|
-
else if (h.name === "codex") {
|
|
168
|
-
const { codexSkillConfigArg } = await import("../interpretation/skills-selection.js");
|
|
169
|
-
skillTokens.push(...codexSkillConfigArg(listKnownSkills(), resolvedSkills));
|
|
170
|
-
}
|
|
171
|
-
turnOpts.skills = resolvedSkills;
|
|
172
|
-
turnOpts.__skillTokens = skillTokens;
|
|
173
|
-
}
|
|
174
|
-
catch (err) {
|
|
175
|
-
if (err instanceof ArgvRefusalError) {
|
|
176
|
-
refuse(refusalOf(err), wantJson);
|
|
177
|
-
return;
|
|
178
|
-
}
|
|
179
|
-
throw err;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
// Defaults profile + user config: LAUNCH-ONLY. A resumed session keeps
|
|
183
|
-
// its own settings; the resolver never runs on resume paths.
|
|
184
|
-
let effectiveTurnOpts = turnOpts;
|
|
185
|
-
const resolvedTiers = {};
|
|
186
|
-
// Config files load on EVERY run, launch or resume: the tiers feed the
|
|
187
|
-
// defaults profile on launch, and issue #41's questions (a
|
|
188
|
-
// behavior instruction, not a turn option) resolves from them on resume
|
|
189
|
-
// too - otherwise a no-ask session would flip its preamble on the
|
|
190
|
-
// answer turn. Resolution of TURN options stays launch-only.
|
|
191
|
-
const tiers = resolvedTiers;
|
|
192
|
-
{
|
|
193
|
-
const { loadUserConfig, loadProjectConfig, ConfigError } = await import("./config.js");
|
|
194
|
-
try {
|
|
195
|
-
const loaded = loadUserConfig();
|
|
196
|
-
if (loaded !== null)
|
|
197
|
-
tiers.user = loaded.config;
|
|
198
|
-
const proj = loadProjectConfig();
|
|
199
|
-
if (proj !== null)
|
|
200
|
-
tiers.project = proj.config;
|
|
201
|
-
}
|
|
202
|
-
catch (configErr) {
|
|
203
|
-
if (configErr instanceof ConfigError) {
|
|
204
|
-
refuse({ message: `config error: ${configErr.message}`, issue: "invalid-option-value" }, wantJson);
|
|
205
|
-
return;
|
|
206
|
-
}
|
|
207
|
-
throw configErr;
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
if (extra.resume === undefined) {
|
|
211
|
-
let resolved;
|
|
212
|
-
try {
|
|
213
|
-
resolved = resolveEffectiveOptions(h, { ...turnOpts, prompt }, tiers);
|
|
214
|
-
}
|
|
215
|
-
catch (resErr) {
|
|
216
|
-
if (resErr instanceof FloorExceededError) {
|
|
217
|
-
refuse({ message: resErr.message, issue: "invalid-tool-grant" }, wantJson);
|
|
218
|
-
return;
|
|
219
|
-
}
|
|
220
|
-
if (resErr instanceof ArgvRefusalError) {
|
|
221
|
-
refuse(refusalOf(resErr), wantJson);
|
|
222
|
-
return;
|
|
223
|
-
}
|
|
224
|
-
throw resErr;
|
|
225
|
-
}
|
|
226
|
-
const { provenance, unrenderable } = resolved;
|
|
227
|
-
const { prompt: _p, ...rest } = resolved.options;
|
|
228
|
-
effectiveTurnOpts = rest;
|
|
229
|
-
// Provenance is diagnostic data like the spawn line - stderr in BOTH
|
|
230
|
-
// render modes, never stdout (stdout carries the NDJSON contract).
|
|
231
|
-
const { writeProvenance } = await import("./provenance.js");
|
|
232
|
-
writeProvenance(h.name, provenance, unrenderable);
|
|
233
|
-
}
|
|
234
|
-
// question mode precedence arg > project > user > default (ask)
|
|
235
|
-
const projectQuestions = resolvedTiers.project?.questions;
|
|
236
|
-
const userQuestions = resolvedTiers.user?.questions;
|
|
237
|
-
const rawMode = turnOpts.questions;
|
|
238
|
-
const questionMode = rawMode !== undefined
|
|
239
|
-
? rawMode
|
|
240
|
-
: projectQuestions !== undefined
|
|
241
|
-
? projectQuestions
|
|
242
|
-
: userQuestions !== undefined
|
|
243
|
-
? userQuestions
|
|
244
|
-
: "ask";
|
|
245
|
-
const questionTier = rawMode !== undefined
|
|
246
|
-
? "arg"
|
|
247
|
-
: projectQuestions !== undefined
|
|
248
|
-
? "project-config"
|
|
249
|
-
: userQuestions !== undefined
|
|
250
|
-
? "user-config"
|
|
251
|
-
: "default";
|
|
252
|
-
const fullOpts = {
|
|
253
|
-
...effectiveTurnOpts,
|
|
254
|
-
prompt: composeEscalatedPrompt(prompt, questionMode),
|
|
255
|
-
cwd: extra.cwd,
|
|
256
|
-
env: extra.env,
|
|
257
|
-
resume: extra.resume,
|
|
258
|
-
questions: questionMode,
|
|
259
|
-
...(passthrough.length > 0 ? { passthrough } : {}),
|
|
260
|
-
...(isExplicit ? { __explicitPrompt: true } : {}),
|
|
261
|
-
};
|
|
262
|
-
// Pre-validate via building argv to catch refusals before spawn (so we don't spawn on bad args)
|
|
263
|
-
let _validated = false;
|
|
264
|
-
let preArgv = null;
|
|
265
|
-
try {
|
|
266
|
-
if (fullOpts.resume) {
|
|
267
|
-
// Resume never carries TURN-option profile resolution (launch-only
|
|
268
|
-
// rule), so it builds from the raw turn options; hcn-owned behavior
|
|
269
|
-
// (questions preamble, timeout budget) still applies.
|
|
270
|
-
preArgv = buildResumeArgv(h, {
|
|
271
|
-
...turnOpts,
|
|
272
|
-
prompt: fullOpts.prompt,
|
|
273
|
-
sessionId: fullOpts.resume,
|
|
274
|
-
__explicitPrompt: isExplicit,
|
|
275
|
-
});
|
|
276
|
-
}
|
|
277
|
-
else {
|
|
278
|
-
// Launch builds from the RESOLVED options so the spawn line and the
|
|
279
|
-
// real argv agree. The prompt here is the COMPOSED one (escalation
|
|
280
|
-
// preamble included) - redactArgv masks by position, so an argv
|
|
281
|
-
// built from the raw prompt would leak it into the spawn line.
|
|
282
|
-
preArgv = buildLaunchArgv(h, {
|
|
283
|
-
...effectiveTurnOpts,
|
|
284
|
-
prompt: fullOpts.prompt,
|
|
285
|
-
__explicitPrompt: isExplicit,
|
|
286
|
-
});
|
|
287
|
-
const skillTokens = effectiveTurnOpts
|
|
288
|
-
.__skillTokens;
|
|
289
|
-
if (skillTokens !== undefined && skillTokens.length > 0) {
|
|
290
|
-
preArgv.push(...skillTokens);
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
_validated = true;
|
|
294
|
-
}
|
|
295
|
-
catch (err) {
|
|
296
|
-
if (err instanceof ArgvRefusalError) {
|
|
297
|
-
refuse(refusalOf(err), wantJson);
|
|
298
|
-
return;
|
|
299
|
-
}
|
|
300
|
-
throw err;
|
|
301
|
-
}
|
|
302
|
-
// preArgv is already set via validated build; no extra handling needed for explicit prompt bypass
|
|
303
|
-
// since buildLaunchArgv now respects __explicitPrompt.
|
|
304
|
-
if (preArgv) {
|
|
305
|
-
const redacted = redactArgv(preArgv, fullOpts.prompt);
|
|
306
|
-
if (!wantJson) {
|
|
307
|
-
process.stderr.write(`spawn: ${redacted.join(" ")}\n`);
|
|
308
|
-
}
|
|
309
|
-
else {
|
|
310
|
-
// In JSON mode, diagnostics to stderr only
|
|
311
|
-
process.stderr.write(`spawn: ${redacted.join(" ")}\n`);
|
|
312
|
-
}
|
|
313
|
-
// issue #41: the escalation mode rides stderr as provenance, like
|
|
314
|
-
// every other resolution the turn depends on.
|
|
315
|
-
process.stderr.write(`provenance: questions = ${questionMode} (${questionTier})\n`);
|
|
316
|
-
// On a harness whose include flag is not a strict allowlist (claude),
|
|
317
|
-
// a name outside the curated set passes through ungated; say which
|
|
318
|
-
// ones so a wrong-case name is visible. A grant with no known name at
|
|
319
|
-
// all refuses inside buildLaunchArgv below, so a throw here is left
|
|
320
|
-
// to that path.
|
|
321
|
-
const grant = (fullOpts.resume ? turnOpts : effectiveTurnOpts).tools;
|
|
322
|
-
if (grant !== undefined && grant.length > 0) {
|
|
323
|
-
try {
|
|
324
|
-
const { renderToolSelection } = await import("../interpretation/tool-selection.js");
|
|
325
|
-
const { passthrough } = renderToolSelection(h, { include: [...grant] });
|
|
326
|
-
if (passthrough.length > 0) {
|
|
327
|
-
process.stderr.write(`provenance: native tools = ${JSON.stringify(passthrough)}\n`);
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
catch {
|
|
331
|
-
// refused below with the structured message
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
}
|
|
25
|
+
const { plan } = outcome;
|
|
26
|
+
const { wantJson } = plan;
|
|
27
|
+
writePlanDiagnostics(h, plan, "spawn");
|
|
335
28
|
// A harness that creates a session when the id is unknown (pi, muse)
|
|
336
29
|
// would turn a stale --resume into a silent blank session. Refuse when
|
|
337
30
|
// the session store path does not exist; where the path cannot be
|
|
338
31
|
// computed, the runner's pre-spawn warning is the only guard.
|
|
339
|
-
|
|
32
|
+
const resume = plan.options.resume;
|
|
33
|
+
if (resume !== undefined && h.resume.onMissing === "create") {
|
|
340
34
|
const { path, exists } = resumeStore(h, {
|
|
341
35
|
home: process.env.HOME ?? process.env.USERPROFILE ?? "",
|
|
342
|
-
cwd:
|
|
343
|
-
sessionId:
|
|
36
|
+
cwd: plan.options.cwd ?? process.cwd(),
|
|
37
|
+
sessionId: resume,
|
|
344
38
|
});
|
|
345
39
|
if (path !== null && !exists) {
|
|
346
40
|
refuse({
|
|
347
|
-
message: `no ${h.name} session ${
|
|
41
|
+
message: `no ${h.name} session ${resume} found at ${path}`,
|
|
348
42
|
issue: "invalid-option-value",
|
|
349
43
|
supported: [`a session id that exists in ${h.name}'s store`],
|
|
350
44
|
}, wantJson);
|
|
351
45
|
return;
|
|
352
46
|
}
|
|
353
47
|
}
|
|
354
|
-
//
|
|
48
|
+
// D-025: a child harness must not inherit Herdr's environment.
|
|
355
49
|
delete process.env.HERDR_ENV;
|
|
356
|
-
// D11: opt-in wall-clock budget
|
|
357
|
-
//
|
|
358
|
-
const timeoutSeconds =
|
|
359
|
-
? extra.timeoutSeconds
|
|
360
|
-
: (resolvedTiers?.project?.timeout ??
|
|
361
|
-
resolvedTiers?.user?.timeout);
|
|
50
|
+
// D11: opt-in wall-clock budget (no profile entry by ratification);
|
|
51
|
+
// 0 = explicit disable.
|
|
52
|
+
const timeoutSeconds = plan.behavior.timeoutSeconds.value;
|
|
362
53
|
const deps = timeoutSeconds !== undefined && timeoutSeconds > 0
|
|
363
54
|
? nodeRunnerDeps({ turnTimeoutMs: timeoutSeconds * 1000 })
|
|
364
55
|
: nodeRunnerDeps();
|
|
365
|
-
// Signal handling
|
|
366
|
-
|
|
367
|
-
// We'll need to track the spawned process via deps.signal; but streamTurn owns process handle.
|
|
368
|
-
// Instead we intercept deps.signal via a wrapper that captures proc.
|
|
369
|
-
// Simpler: use deps directly and handle SIGINT via injected signal.
|
|
370
|
-
// We'll create a wrapper deps where signal captures last proc.
|
|
56
|
+
// Signal handling: the runner owns the process handle, so the deps are
|
|
57
|
+
// wrapped to remember the last spawned process for SIGINT/SIGTERM.
|
|
371
58
|
let lastProc = null;
|
|
372
59
|
const originalSignal = deps.signal;
|
|
373
60
|
const wrappedDeps = {
|
|
@@ -413,8 +100,7 @@ export const run = async (harnessName, rawArgs) => {
|
|
|
413
100
|
let lastEvent = null;
|
|
414
101
|
let exitCode = 0;
|
|
415
102
|
try {
|
|
416
|
-
|
|
417
|
-
const events = streamTurn(h, { ...fullOpts, signal: abortController.signal }, wrappedDeps);
|
|
103
|
+
const events = streamTurn(h, { ...plan.options, signal: abortController.signal }, wrappedDeps);
|
|
418
104
|
for await (const event of events) {
|
|
419
105
|
lastEvent = event;
|
|
420
106
|
if (wantJson) {
|
|
@@ -425,38 +111,20 @@ export const run = async (harnessName, rawArgs) => {
|
|
|
425
111
|
else {
|
|
426
112
|
renderEvent(event, state);
|
|
427
113
|
}
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
exitCode = 1;
|
|
433
|
-
// If failure class is rejected? But done.cause for rejected would be failed? Still 1 per mapping, but refusal before spawn is 2.
|
|
434
|
-
// The RFC says limit/auth ->1, transport ->1, refusal ->2 (already handled). So done non-clean =>1.
|
|
435
|
-
}
|
|
436
|
-
if (event.kind === "limit") {
|
|
437
|
-
// Also ensure exitCode will be 1 (handled via done)
|
|
438
|
-
}
|
|
114
|
+
// A refusal before spawn exits 2 above; every done maps through the
|
|
115
|
+
// one exit-code rule.
|
|
116
|
+
if (event.kind === "done")
|
|
117
|
+
exitCode = exitCodeForCause(event.cause);
|
|
439
118
|
}
|
|
440
119
|
}
|
|
441
120
|
catch (err) {
|
|
442
121
|
if (err instanceof ArgvRefusalError) {
|
|
443
|
-
|
|
444
|
-
if (err.hint)
|
|
445
|
-
process.stderr.write(`hint: ${err.hint}\n`);
|
|
446
|
-
if (err.supportedBy?.length) {
|
|
447
|
-
process.stderr.write(`supported on: ${err.supportedBy.map((e) => `${e.harness} (${e.spelling})`).join(", ")}\n`);
|
|
448
|
-
}
|
|
449
|
-
if (err.supported.length)
|
|
450
|
-
process.stderr.write(`supported: ${err.supported.join(", ")}\n`);
|
|
451
|
-
process.exitCode = 2;
|
|
452
|
-
process.off("SIGINT", onSig);
|
|
453
|
-
process.off("SIGTERM", onSig);
|
|
122
|
+
refuse(refusalOf(err), wantJson);
|
|
454
123
|
return;
|
|
455
124
|
}
|
|
456
125
|
// Transport / spawn failure
|
|
457
126
|
process.stderr.write(`run failed: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
458
127
|
if (wantJson && lastEvent?.kind !== "done") {
|
|
459
|
-
// Emit failure+done if stream didn't? streamTurn should already emit done, but if we crashed before spawn, synthesize?
|
|
460
128
|
const failure = {
|
|
461
129
|
kind: "failure",
|
|
462
130
|
class: "transport",
|
|
@@ -466,9 +134,7 @@ export const run = async (harnessName, rawArgs) => {
|
|
|
466
134
|
process.stdout.write(`${JSON.stringify(failure)}\n`);
|
|
467
135
|
process.stdout.write(`${JSON.stringify({ kind: "done", exitCode: null, cause: "failed", failure })}\n`);
|
|
468
136
|
}
|
|
469
|
-
process.exitCode =
|
|
470
|
-
process.off("SIGINT", onSig);
|
|
471
|
-
process.off("SIGTERM", onSig);
|
|
137
|
+
process.exitCode = EXIT_FAILURE;
|
|
472
138
|
return;
|
|
473
139
|
}
|
|
474
140
|
finally {
|
|
@@ -481,7 +147,7 @@ export const run = async (harnessName, rawArgs) => {
|
|
|
481
147
|
}
|
|
482
148
|
// If no done event was seen (should not happen), exit 1
|
|
483
149
|
if (lastEvent === null) {
|
|
484
|
-
process.exitCode =
|
|
150
|
+
process.exitCode = EXIT_FAILURE;
|
|
485
151
|
return;
|
|
486
152
|
}
|
|
487
153
|
if (lastEvent.kind === "done") {
|
|
@@ -489,9 +155,9 @@ export const run = async (harnessName, rawArgs) => {
|
|
|
489
155
|
}
|
|
490
156
|
else {
|
|
491
157
|
// Stream ended without done (e.g., consumer break via head)
|
|
492
|
-
process.exitCode = interrupted ?
|
|
158
|
+
process.exitCode = interrupted ? EXIT_FAILURE : 0;
|
|
493
159
|
}
|
|
494
160
|
if (interrupted && process.exitCode === 0)
|
|
495
|
-
process.exitCode =
|
|
161
|
+
process.exitCode = EXIT_FAILURE;
|
|
496
162
|
};
|
|
497
163
|
//# sourceMappingURL=run.js.map
|
package/dist/cli/run.js.map
CHANGED
|
@@ -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,5 +1,5 @@
|
|
|
1
1
|
import { type SessionHandle } from "../execution/open-session.js";
|
|
2
|
-
import type
|
|
2
|
+
import { type QuestionMode } from "../interpretation/question.js";
|
|
3
3
|
/** What the CLI reads back after a close, captured from the runner's
|
|
4
4
|
* `session_close` boundary log. */
|
|
5
5
|
export interface CloseInfo {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-json.d.ts","sourceRoot":"","sources":["../../src/cli/session-json.ts"],"names":[],"mappings":"AAaA,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"session-json.d.ts","sourceRoot":"","sources":["../../src/cli/session-json.ts"],"names":[],"mappings":"AAaA,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAEjF;mCACmC;AACnC,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;AAEhD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,gEAAgE;IAChE,QAAQ,CAAC,YAAY,EAAE,MAAM,SAAS,CAAC;IACvC;mEAC+D;IAC/D,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;IACjD,sEAAsE;IACtE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CAC7C;AA2BD,eAAO,MAAM,cAAc,MAAa,eAAe,KAAG,OAAO,CAAC,MAAM,CA8LvE,CAAC"}
|
package/dist/cli/session-json.js
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { createInterface } from "node:readline/promises";
|
|
12
12
|
import { SessionClosedError, } from "../execution/open-session.js";
|
|
13
|
+
import { composeAnswer } from "../interpretation/question.js";
|
|
13
14
|
const parseCommand = (line) => {
|
|
14
15
|
let obj;
|
|
15
16
|
try {
|
|
@@ -33,9 +34,6 @@ const parseCommand = (line) => {
|
|
|
33
34
|
}
|
|
34
35
|
return { malformed: `unknown op ${JSON.stringify(rec.op)}` };
|
|
35
36
|
};
|
|
36
|
-
/** The answer wrapper hcn composes so a consumer never re-derives it
|
|
37
|
-
* (RFC-01: the preamble is normalizer knowledge). */
|
|
38
|
-
const composeAnswer = (question, answer) => `The user answered the question: "${question}" with: ${answer}. Continue accordingly.`;
|
|
39
37
|
export const runJsonSession = async (a) => {
|
|
40
38
|
const rawWrite = a.write ?? ((line) => process.stdout.write(line));
|
|
41
39
|
const onDrain = a.onDrain ?? ((fn) => process.stdout.once("drain", fn));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-json.js","sourceRoot":"","sources":["../../src/cli/session-json.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EACL,kBAAkB,GAGnB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"session-json.js","sourceRoot":"","sources":["../../src/cli/session-json.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/cli/session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/cli/session.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,OAAO,gBAAuB,MAAM,WAAW,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CAmZlF,CAAC"}
|