@dungle-scrubs/harness-cli-normalizer 0.5.5 → 0.5.6
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 +3 -2
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +16 -8
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +11 -4
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/help.d.ts +3 -3
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +32 -23
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/inspect.d.ts.map +1 -1
- package/dist/cli/inspect.js +10 -7
- package/dist/cli/inspect.js.map +1 -1
- package/dist/cli/resume-guard.js +29 -2
- package/dist/cli/resume-guard.js.map +1 -1
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +31 -32
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/session-json.d.ts +5 -2
- package/dist/cli/session-json.d.ts.map +1 -1
- package/dist/cli/session-json.js +5 -3
- package/dist/cli/session-json.js.map +1 -1
- package/dist/cli/session.d.ts.map +1 -1
- package/dist/cli/session.js +103 -36
- package/dist/cli/session.js.map +1 -1
- package/dist/execution/events.d.ts +8 -1
- package/dist/execution/events.d.ts.map +1 -1
- package/dist/execution/events.js.map +1 -1
- package/dist/execution/open-session.d.ts +7 -6
- package/dist/execution/open-session.d.ts.map +1 -1
- package/dist/execution/open-session.js +88 -59
- package/dist/execution/open-session.js.map +1 -1
- package/dist/execution/stream-turn.d.ts +4 -7
- package/dist/execution/stream-turn.d.ts.map +1 -1
- package/dist/execution/stream-turn.js +43 -22
- package/dist/execution/stream-turn.js.map +1 -1
- package/dist/interpretation/argv.d.ts +9 -5
- package/dist/interpretation/argv.d.ts.map +1 -1
- package/dist/interpretation/argv.js +2 -7
- package/dist/interpretation/argv.js.map +1 -1
- package/dist/interpretation/capabilities.d.ts +20 -0
- package/dist/interpretation/capabilities.d.ts.map +1 -1
- package/dist/interpretation/capabilities.js +27 -0
- package/dist/interpretation/capabilities.js.map +1 -1
- package/dist/interpretation/hints.js +1 -1
- package/dist/interpretation/hints.js.map +1 -1
- package/dist/interpretation/question.d.ts +6 -2
- package/dist/interpretation/question.d.ts.map +1 -1
- package/dist/interpretation/question.js +13 -4
- package/dist/interpretation/question.js.map +1 -1
- package/dist/interpretation/refusal.d.ts +1 -1
- package/dist/interpretation/refusal.d.ts.map +1 -1
- package/dist/interpretation/refusal.js +1 -1
- package/dist/interpretation/refusal.js.map +1 -1
- package/dist/interpretation/skills-selection.d.ts +18 -1
- package/dist/interpretation/skills-selection.d.ts.map +1 -1
- package/dist/interpretation/skills-selection.js +33 -6
- package/dist/interpretation/skills-selection.js.map +1 -1
- package/dist/knowledge/claude-code.d.ts.map +1 -1
- package/dist/knowledge/claude-code.js +21 -0
- package/dist/knowledge/claude-code.js.map +1 -1
- package/dist/knowledge/codex.d.ts.map +1 -1
- package/dist/knowledge/codex.js +16 -6
- package/dist/knowledge/codex.js.map +1 -1
- package/dist/knowledge/descriptor.d.ts +39 -12
- package/dist/knowledge/descriptor.d.ts.map +1 -1
- package/dist/knowledge/descriptor.js +1 -0
- package/dist/knowledge/descriptor.js.map +1 -1
- package/dist/knowledge/muse.d.ts.map +1 -1
- package/dist/knowledge/muse.js +7 -0
- package/dist/knowledge/muse.js.map +1 -1
- package/dist/knowledge/pi.d.ts.map +1 -1
- package/dist/knowledge/pi.js +23 -4
- package/dist/knowledge/pi.js.map +1 -1
- package/package.json +3 -2
- package/src/cli/args.ts +16 -6
- package/src/cli/config.ts +13 -4
- package/src/cli/help.ts +32 -23
- package/src/cli/inspect.ts +8 -6
- package/src/cli/resume-guard.ts +26 -2
- package/src/cli/run.ts +32 -36
- package/src/cli/session-json.ts +11 -5
- package/src/cli/session.ts +122 -40
- package/src/execution/events.ts +9 -1
- package/src/execution/open-session.ts +99 -72
- package/src/execution/stream-turn.ts +53 -30
- package/src/interpretation/argv.ts +11 -12
- package/src/interpretation/capabilities.ts +50 -0
- package/src/interpretation/hints.ts +1 -1
- package/src/interpretation/question.ts +17 -7
- package/src/interpretation/refusal.ts +2 -1
- package/src/interpretation/skills-selection.ts +46 -8
- package/src/knowledge/claude-code.ts +21 -0
- package/src/knowledge/codex.ts +16 -6
- package/src/knowledge/descriptor.ts +40 -12
- package/src/knowledge/muse.ts +7 -0
- package/src/knowledge/pi.ts +23 -4
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type QuestionMode } from "../interpretation/question.js";
|
|
1
2
|
import type { HarnessDescriptor } from "../knowledge/descriptor.js";
|
|
2
3
|
import type { RunnerDeps } from "./deps.js";
|
|
3
4
|
import type { HarnessEvent } from "./events.js";
|
|
@@ -5,7 +6,7 @@ import type { HarnessEvent } from "./events.js";
|
|
|
5
6
|
* own and escalating signals. */
|
|
6
7
|
export declare const CLOSE_GRACE_MS = 5000;
|
|
7
8
|
export interface SessionSendResult {
|
|
8
|
-
readonly disposition: "started" | "
|
|
9
|
+
readonly disposition: "started" | "rejected";
|
|
9
10
|
/** Present when rejected. `write-failed` is a broken stdin pipe, which is
|
|
10
11
|
* a different remedy from a session the caller already closed - the two
|
|
11
12
|
* must stay distinguishable. */
|
|
@@ -39,13 +40,13 @@ export interface OpenSessionOptions {
|
|
|
39
40
|
readonly model?: string;
|
|
40
41
|
/** Working directory for the spawned harness. */
|
|
41
42
|
readonly cwd?: string;
|
|
42
|
-
/**
|
|
43
|
-
|
|
44
|
-
* every send and arms block detection at turn end; false composes the
|
|
45
|
-
* no-ask instruction and disarms detection. */
|
|
46
|
-
readonly escalateQuestions?: boolean;
|
|
43
|
+
/** question mode for session (ask/assume/none), default "ask" */
|
|
44
|
+
readonly questions?: QuestionMode;
|
|
47
45
|
/** Provider selector (pi); refused on a harness without one. */
|
|
48
46
|
readonly provider?: string;
|
|
47
|
+
/** True when resuming an existing conversation; controls which flag
|
|
48
|
+
* (resumeFlag vs idFlag) buildSessionArgv renders. */
|
|
49
|
+
readonly isResume?: boolean;
|
|
49
50
|
}
|
|
50
51
|
export declare class SessionClosedError extends Error {
|
|
51
52
|
constructor();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-session.d.ts","sourceRoot":"","sources":["../../src/execution/open-session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"open-session.d.ts","sourceRoot":"","sources":["../../src/execution/open-session.ts"],"names":[],"mappings":"AAgBA,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,+BAA+B,CAAC;AAMvC,OAAO,KAAK,EAAE,iBAAiB,EAAwB,MAAM,4BAA4B,CAAC;AAG1F,OAAO,KAAK,EAAE,UAAU,EAA+B,MAAM,WAAW,CAAC;AACzE,OAAO,KAAK,EAAkC,YAAY,EAAE,MAAM,aAAa,CAAC;AAahF;iCACiC;AACjC,eAAO,MAAM,cAAc,OAAQ,CAAC;AAIpC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,SAAS,GAAG,UAAU,CAAC;IAC7C;;oCAEgC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;CAClC;AAED;;4EAE4E;AAC5E,MAAM,WAAW,WAAY,SAAQ,aAAa,CAAC,YAAY,CAAC;IAC9D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,sEAAsE;IACtE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;kBAEkB;AAClB,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B;;8DAE0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,iBAAiB,CAAC;IAC7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,iDAAiD;IACjD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC;IAClC,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;0DACsD;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,cAGC;CACF;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAK1C;CACF;AAED,eAAO,MAAM,WAAW,MACnB,iBAAiB,QACd,kBAAkB,QAClB,UAAU,KACf,aAimBF,CAAC"}
|
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* openSession: the persistent headless session runner - ONE process, many
|
|
3
|
-
* turns (A-001). `send`
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* context unpredictably - the harness itself queues, so we mirror its
|
|
7
|
-
* disposition). `result` lines delimit turns; identity dedupe (D-022)
|
|
3
|
+
* turns (A-001). `send` writes a descriptor-encoded user record to stdin and starts a
|
|
4
|
+
* turn when idle or hands the text to the harness when a turn is live
|
|
5
|
+
* (the harness queues it). `result` lines delimit turns; identity dedupe (D-022)
|
|
8
6
|
* spans the whole session. Lifecycle is bounded end to end: close() ends
|
|
9
7
|
* stdin, escalates SIGTERM->SIGKILL if the child ignores EOF, and pipes
|
|
10
8
|
* held open past exit close out after grace - a session can always be
|
|
11
|
-
* ended.
|
|
9
|
+
* ended. Pending sends that die with the session are surfaced, never
|
|
12
10
|
* silently dropped. Structured lifecycle events (session open/close, turn
|
|
13
11
|
* start/end, send dispositions, drops) are always-on evidence with
|
|
14
12
|
* sessionId + turnId correlation.
|
|
15
13
|
*/
|
|
16
14
|
import { buildSessionArgv } from "../interpretation/argv.js";
|
|
17
15
|
import { capabilitiesOf } from "../interpretation/capabilities.js";
|
|
18
|
-
import { detectAuthFailureInLine, detectLimitInLine
|
|
19
|
-
import { composeEscalatedPrompt, detectQuestionBlock } from "../interpretation/question.js";
|
|
16
|
+
import { detectAuthFailureInLine, detectLimitInLine } from "../interpretation/limits.js";
|
|
17
|
+
import { composeEscalatedPrompt, detectQuestionBlock, } from "../interpretation/question.js";
|
|
20
18
|
import { encodeSessionInput, resolveSessionInput, SessionInputRefusalError, } from "../interpretation/session-input.js";
|
|
21
19
|
import { AsyncChannel } from "./channel.js";
|
|
22
20
|
import { decodeParsed, freshDecodeState } from "./decode.js";
|
|
@@ -45,6 +43,7 @@ export const openSession = (h, opts, deps) => {
|
|
|
45
43
|
sessionId: opts.sessionId,
|
|
46
44
|
...(opts.model !== undefined ? { model: opts.model } : {}),
|
|
47
45
|
...(opts.provider !== undefined ? { provider: opts.provider } : {}),
|
|
46
|
+
...(opts.isResume !== undefined ? { isResume: opts.isResume } : {}),
|
|
48
47
|
});
|
|
49
48
|
let sessionInput;
|
|
50
49
|
try {
|
|
@@ -90,13 +89,21 @@ export const openSession = (h, opts, deps) => {
|
|
|
90
89
|
});
|
|
91
90
|
const turnsChannel = new AsyncChannel();
|
|
92
91
|
const state = freshDecodeState(opts.sessionId);
|
|
93
|
-
const
|
|
92
|
+
const questionMode = opts.questions ?? "ask";
|
|
94
93
|
const sessionInputMode = h.sessionMode;
|
|
95
94
|
const stderrTail = new StderrTail();
|
|
96
95
|
let turnCounter = 0;
|
|
97
96
|
let activeTurn = null;
|
|
98
97
|
let activeTurnId = "";
|
|
99
|
-
const
|
|
98
|
+
const pendingIds = [];
|
|
99
|
+
const pendingLengths = [];
|
|
100
|
+
// close() waits here while a turn is open. Ending the child's stdin
|
|
101
|
+
// mid-turn is fatal on pi: rpc treats EOF as "finish up and exit", so the
|
|
102
|
+
// prompt it has buffered never runs and the turn ends clean with no
|
|
103
|
+
// output (issue #99). claude happens to drain a queued turn after EOF,
|
|
104
|
+
// which is why this was invisible there. The README promises that a close
|
|
105
|
+
// after a send lets the turn finish; this is what keeps that promise.
|
|
106
|
+
let turnSettled = null;
|
|
100
107
|
const preTurnEvents = [];
|
|
101
108
|
let dead = false;
|
|
102
109
|
let closing = false;
|
|
@@ -110,6 +117,7 @@ export const openSession = (h, opts, deps) => {
|
|
|
110
117
|
// hcn-question block lives) and whether the turn ended by asking.
|
|
111
118
|
let lastAssistantText = null;
|
|
112
119
|
let turnAsked = false;
|
|
120
|
+
let turnEscalationDetection = "none";
|
|
113
121
|
let identityAnnounced = false;
|
|
114
122
|
const safeSignal = (sig) => {
|
|
115
123
|
if (!dead)
|
|
@@ -159,7 +167,7 @@ export const openSession = (h, opts, deps) => {
|
|
|
159
167
|
};
|
|
160
168
|
const writeUser = (text) => {
|
|
161
169
|
try {
|
|
162
|
-
stdin.write(encodeSessionInput(sessionInput, composeEscalatedPrompt(text,
|
|
170
|
+
stdin.write(encodeSessionInput(sessionInput, composeEscalatedPrompt(text, questionMode, "session")));
|
|
163
171
|
return true;
|
|
164
172
|
}
|
|
165
173
|
catch {
|
|
@@ -182,11 +190,12 @@ export const openSession = (h, opts, deps) => {
|
|
|
182
190
|
turnLimitSeen = false;
|
|
183
191
|
turnFailures = [];
|
|
184
192
|
turnAsked = false;
|
|
193
|
+
turnEscalationDetection = "none";
|
|
185
194
|
lastAssistantText = null;
|
|
186
195
|
activeTurn = new AsyncChannel();
|
|
187
196
|
activeTurnId = `${opts.sessionId}:turn-${++turnCounter}`;
|
|
188
197
|
// Tag the turn with the id of the send that opened it, so the consumer
|
|
189
|
-
// correlates
|
|
198
|
+
// correlates an input to its turn by reading the tag, not by
|
|
190
199
|
// shadowing the runner's delivery order.
|
|
191
200
|
activeTurn.inputId = inputId;
|
|
192
201
|
activeTurn.turnId = activeTurnId;
|
|
@@ -205,18 +214,24 @@ export const openSession = (h, opts, deps) => {
|
|
|
205
214
|
* turn stream right before its done; a malformed block surfaces as an
|
|
206
215
|
* error event, never a silent no-op. */
|
|
207
216
|
const emitQuestionIfAsked = () => {
|
|
208
|
-
if (
|
|
217
|
+
if (questionMode !== "ask" || lastAssistantText === null) {
|
|
218
|
+
turnEscalationDetection = "none";
|
|
209
219
|
return;
|
|
220
|
+
}
|
|
210
221
|
const detection = detectQuestionBlock(lastAssistantText);
|
|
211
|
-
if (detection === null)
|
|
222
|
+
if (detection === null) {
|
|
223
|
+
turnEscalationDetection = "none";
|
|
212
224
|
return;
|
|
225
|
+
}
|
|
213
226
|
if ("malformed" in detection) {
|
|
227
|
+
turnEscalationDetection = "malformed";
|
|
214
228
|
activeTurn?.push({ kind: "error", message: detection.malformed });
|
|
215
229
|
const failure = failureFromTask(`malformed hcn-question block: ${detection.malformed}`);
|
|
216
230
|
turnFailures.push(failure);
|
|
217
231
|
void activeTurn?.push({ kind: "failure", ...failure });
|
|
218
232
|
return;
|
|
219
233
|
}
|
|
234
|
+
turnEscalationDetection = "block";
|
|
220
235
|
turnAsked = true;
|
|
221
236
|
log({
|
|
222
237
|
event: "question",
|
|
@@ -244,52 +259,51 @@ export const openSession = (h, opts, deps) => {
|
|
|
244
259
|
emitQuestionIfAsked();
|
|
245
260
|
if (turnAsked && done.cause === "clean")
|
|
246
261
|
done = { ...done, cause: "awaiting-input" };
|
|
262
|
+
// RFC-01 every turn end carries the escalation record
|
|
263
|
+
let fullDone = {
|
|
264
|
+
...done,
|
|
265
|
+
escalation: { mode: questionMode, detection: turnEscalationDetection },
|
|
266
|
+
};
|
|
247
267
|
// Every failure was already emitted as an event through pushFailure;
|
|
248
268
|
// the turn's done carries the reduced summary, as streamTurn's does.
|
|
249
269
|
const reduced = reduceFailures(turnFailures);
|
|
250
270
|
if (reduced !== undefined) {
|
|
251
|
-
if (
|
|
252
|
-
|
|
271
|
+
if (fullDone.cause === "clean")
|
|
272
|
+
fullDone = { ...fullDone, cause: "failed", failure: reduced };
|
|
253
273
|
else
|
|
254
|
-
|
|
274
|
+
fullDone = { ...fullDone, failure: reduced };
|
|
255
275
|
}
|
|
256
|
-
activeTurn.push(
|
|
276
|
+
activeTurn.push(fullDone);
|
|
257
277
|
activeTurn.close();
|
|
258
278
|
log({
|
|
259
279
|
event: "turn_end",
|
|
260
280
|
sessionId: opts.sessionId,
|
|
261
281
|
turnId: activeTurnId,
|
|
262
|
-
cause:
|
|
282
|
+
cause: fullDone.cause,
|
|
263
283
|
});
|
|
264
284
|
activeTurn = null;
|
|
265
285
|
resultError = false;
|
|
266
|
-
|
|
286
|
+
if (turnSettled !== null) {
|
|
287
|
+
const release = turnSettled;
|
|
288
|
+
turnSettled = null;
|
|
289
|
+
release();
|
|
290
|
+
}
|
|
267
291
|
if (dead || closing)
|
|
268
292
|
return;
|
|
269
|
-
const
|
|
270
|
-
if (
|
|
271
|
-
return;
|
|
272
|
-
if (writeUser(next.text)) {
|
|
273
|
-
startTurn(next.id);
|
|
293
|
+
const nextId = pendingIds.shift();
|
|
294
|
+
if (nextId === undefined)
|
|
274
295
|
return;
|
|
275
|
-
|
|
276
|
-
// The
|
|
277
|
-
//
|
|
278
|
-
|
|
279
|
-
event: "sends_dropped",
|
|
280
|
-
sessionId: opts.sessionId,
|
|
281
|
-
count: 1,
|
|
282
|
-
ids: [next.id],
|
|
283
|
-
reason: "write-failed",
|
|
284
|
-
lengths: [next.text.length],
|
|
285
|
-
});
|
|
296
|
+
pendingLengths.shift();
|
|
297
|
+
// The text was already written to the harness when the send arrived;
|
|
298
|
+
// the id was held to correlate the next turn.
|
|
299
|
+
startTurn(nextId);
|
|
286
300
|
};
|
|
287
301
|
const routeEvent = (event) => {
|
|
288
302
|
if (event.kind === "limit") {
|
|
289
303
|
state.limitSeen = true;
|
|
290
304
|
turnLimitSeen = true;
|
|
291
305
|
}
|
|
292
|
-
if (
|
|
306
|
+
if (questionMode === "ask" && event.kind === "message" && event.role === "assistant") {
|
|
293
307
|
lastAssistantText = event.text;
|
|
294
308
|
}
|
|
295
309
|
if (activeTurn !== null) {
|
|
@@ -502,22 +516,22 @@ export const openSession = (h, opts, deps) => {
|
|
|
502
516
|
if (pumpError !== null) {
|
|
503
517
|
void routeEvent({ kind: "error", message: `session pump failed: ${String(pumpError)}` });
|
|
504
518
|
}
|
|
505
|
-
if (
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
const droppedIds = pendingSends.map((s) => s.id);
|
|
519
|
+
if (pendingIds.length > 0) {
|
|
520
|
+
const droppedIds = [...pendingIds];
|
|
521
|
+
const droppedLengths = [...pendingLengths];
|
|
509
522
|
void routeEvent({
|
|
510
523
|
kind: "error",
|
|
511
|
-
message: `${
|
|
524
|
+
message: `${pendingIds.length} pending send(s) died with the session: ${droppedIds.join(", ")}`,
|
|
512
525
|
});
|
|
513
526
|
log({
|
|
514
527
|
event: "sends_dropped",
|
|
515
528
|
sessionId: opts.sessionId,
|
|
516
|
-
count:
|
|
529
|
+
count: pendingIds.length,
|
|
517
530
|
ids: droppedIds,
|
|
518
|
-
lengths:
|
|
531
|
+
lengths: droppedLengths,
|
|
519
532
|
});
|
|
520
|
-
|
|
533
|
+
pendingIds.length = 0;
|
|
534
|
+
pendingLengths.length = 0;
|
|
521
535
|
}
|
|
522
536
|
endTurn({ kind: "done", exitCode, cause });
|
|
523
537
|
if (preTurnEvents.some((e) => e.kind !== "token" && e.kind !== "progress")) {
|
|
@@ -541,6 +555,12 @@ export const openSession = (h, opts, deps) => {
|
|
|
541
555
|
void proc.exited.then((code) => {
|
|
542
556
|
dead = true;
|
|
543
557
|
exitCode = code;
|
|
558
|
+
// A close() waiting on an open turn must not outlive the child.
|
|
559
|
+
if (turnSettled !== null) {
|
|
560
|
+
const release = turnSettled;
|
|
561
|
+
turnSettled = null;
|
|
562
|
+
release();
|
|
563
|
+
}
|
|
544
564
|
// The process is gone: a later fire would flip a finished turn to stall.
|
|
545
565
|
disarmStall();
|
|
546
566
|
// Pipes held open past exit (a grandchild) must not hang the session.
|
|
@@ -555,10 +575,23 @@ export const openSession = (h, opts, deps) => {
|
|
|
555
575
|
finalize();
|
|
556
576
|
});
|
|
557
577
|
});
|
|
558
|
-
|
|
578
|
+
// Two intents share this path and must not be conflated. A CLOSE is the
|
|
579
|
+
// consumer asking politely: an open turn gets to finish first, because
|
|
580
|
+
// the consumer is still there to receive it. ABANDONMENT is the consumer
|
|
581
|
+
// walking away from the turns iterable: nobody is left to receive a turn,
|
|
582
|
+
// so stdin ends at once and the child is reaped, not drained.
|
|
583
|
+
const close = async (drain = true) => {
|
|
559
584
|
if (closing)
|
|
560
585
|
return shutdown;
|
|
561
586
|
closing = true;
|
|
587
|
+
// Let an open turn reach its end record before stdin goes away. The
|
|
588
|
+
// wait is bounded twice over: the stall watchdog ends a silent turn,
|
|
589
|
+
// and the grace below still escalates a child that never exits.
|
|
590
|
+
if (drain && activeTurn !== null && !dead) {
|
|
591
|
+
await new Promise((resolve) => {
|
|
592
|
+
turnSettled = resolve;
|
|
593
|
+
});
|
|
594
|
+
}
|
|
562
595
|
try {
|
|
563
596
|
stdin.end();
|
|
564
597
|
}
|
|
@@ -581,23 +614,13 @@ export const openSession = (h, opts, deps) => {
|
|
|
581
614
|
}
|
|
582
615
|
finally {
|
|
583
616
|
if (!closing && !dead)
|
|
584
|
-
void close();
|
|
617
|
+
void close(false);
|
|
585
618
|
}
|
|
586
619
|
})(),
|
|
587
620
|
send(input) {
|
|
588
621
|
if (dead || closing)
|
|
589
622
|
throw new SessionClosedError();
|
|
590
|
-
|
|
591
|
-
pendingSends.push(input);
|
|
592
|
-
log({
|
|
593
|
-
event: "send",
|
|
594
|
-
sessionId: opts.sessionId,
|
|
595
|
-
turnId: activeTurnId,
|
|
596
|
-
inputId: input.id,
|
|
597
|
-
disposition: "queued",
|
|
598
|
-
});
|
|
599
|
-
return { disposition: "queued" };
|
|
600
|
-
}
|
|
623
|
+
const wasBusy = activeTurn !== null;
|
|
601
624
|
if (!writeUser(input.text)) {
|
|
602
625
|
log({
|
|
603
626
|
event: "send",
|
|
@@ -609,7 +632,13 @@ export const openSession = (h, opts, deps) => {
|
|
|
609
632
|
});
|
|
610
633
|
return { disposition: "rejected", reason: "write-failed" };
|
|
611
634
|
}
|
|
612
|
-
|
|
635
|
+
if (wasBusy) {
|
|
636
|
+
pendingIds.push(input.id);
|
|
637
|
+
pendingLengths.push(input.text.length);
|
|
638
|
+
}
|
|
639
|
+
else {
|
|
640
|
+
startTurn(input.id);
|
|
641
|
+
}
|
|
613
642
|
log({
|
|
614
643
|
event: "send",
|
|
615
644
|
sessionId: opts.sessionId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-session.js","sourceRoot":"","sources":["../../src/execution/open-session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"open-session.js","sourceRoot":"","sources":["../../src/execution/open-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* pumps before it returns.
|
|
11
11
|
*/
|
|
12
12
|
import { type LaunchOptions } from "../interpretation/argv.js";
|
|
13
|
+
import { type QuestionMode } from "../interpretation/question.js";
|
|
13
14
|
import type { HarnessDescriptor } from "../knowledge/descriptor.js";
|
|
14
15
|
import type { RunnerDeps } from "./deps.js";
|
|
15
16
|
import type { HarnessEvent } from "./events.js";
|
|
@@ -46,13 +47,9 @@ export interface TurnRunOptions extends LaunchOptions {
|
|
|
46
47
|
* normalized argv. Wrong-harness flags here fail in the harness itself
|
|
47
48
|
* and surface as native errors - hcn never validates them. */
|
|
48
49
|
readonly passthrough?: readonly string[];
|
|
49
|
-
/**
|
|
50
|
-
*
|
|
51
|
-
|
|
52
|
-
* detection; false prepends the state-the-assumption instruction and
|
|
53
|
-
* disarms detection. Applies on launch AND resume: it shapes each
|
|
54
|
-
* turn's prompt and event stream, never a session setting. */
|
|
55
|
-
readonly escalateQuestions?: boolean;
|
|
50
|
+
/** question mode: which preamble to inject (ask/assume/none).
|
|
51
|
+
* Behavior instruction - never a harness flag. Defaults to "ask". */
|
|
52
|
+
readonly questions?: QuestionMode;
|
|
56
53
|
/** F-05: caller-requested stop. When aborted, the runner escalates
|
|
57
54
|
* SIGTERM then SIGKILL and classifies the exit as killed with no
|
|
58
55
|
* transport failure for the kill itself. */
|
|
@@ -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;
|
|
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;AAQnC,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAIpE,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,WAAW,CAAC;AAC5D,OAAO,KAAK,EAAkC,YAAY,EAAE,MAAM,aAAa,CAAC;AAoBhF;;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;IACzC;yEACqE;IACrE,QAAQ,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC;IAClC;;gDAE4C;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,wBAAuB,UAAU,CAC/B,CAAC,EAAE,iBAAiB,EACpB,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,UAAU,GACf,aAAa,CAAC,YAAY,CAAC,CA2lB7B"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
import { buildLaunchArgv, buildResumeArgv, streamingGranularityOf, } from "../interpretation/argv.js";
|
|
13
13
|
import { stdinPolicyOf } from "../interpretation/dimensions.js";
|
|
14
14
|
import { detectAuthFailureInLine, detectLimitInLine, detectTransportInLine, detectUnavailableInLine, } from "../interpretation/limits.js";
|
|
15
|
-
import { composeEscalatedPrompt, detectQuestionBlock } from "../interpretation/question.js";
|
|
15
|
+
import { composeEscalatedPrompt, detectQuestionBlock, } from "../interpretation/question.js";
|
|
16
16
|
import { ArgvRefusalError } from "../interpretation/refusal.js";
|
|
17
17
|
import { matcherOverridesOf } from "../knowledge/overrides.js";
|
|
18
18
|
import { AsyncChannel } from "./channel.js";
|
|
@@ -69,20 +69,17 @@ export class StderrTail {
|
|
|
69
69
|
export async function* streamTurn(h, opts, deps) {
|
|
70
70
|
const turnId = deps.turnId ?? `turn-${++turnCounter}`;
|
|
71
71
|
const log = deps.log ?? (() => { });
|
|
72
|
-
//
|
|
73
|
-
|
|
74
|
-
// and arm detection in the true mode. Composition is idempotent, so a
|
|
75
|
-
// caller that already composed (the CLI does, for spawn-line truth)
|
|
76
|
-
// never double-prepends.
|
|
77
|
-
const escalateQuestions = opts.escalateQuestions !== false;
|
|
72
|
+
// compose the preamble onto the prompt based on question mode.
|
|
73
|
+
const questionMode = opts.questions ?? "ask";
|
|
78
74
|
const effective = {
|
|
79
75
|
...opts,
|
|
80
|
-
prompt: composeEscalatedPrompt(opts.prompt,
|
|
76
|
+
prompt: composeEscalatedPrompt(opts.prompt, questionMode),
|
|
81
77
|
};
|
|
82
78
|
// The turn's last assistant message - where the protocol says the
|
|
83
79
|
// hcn-question block lives. Tracked only when detection is armed.
|
|
84
80
|
let lastAssistantText = null;
|
|
85
81
|
let asked = false;
|
|
82
|
+
let escalationDetection = "none";
|
|
86
83
|
// Validate env before building argv so an invalid env is a refusal, not a spawn
|
|
87
84
|
if (opts.env !== undefined) {
|
|
88
85
|
for (const [k, v] of Object.entries(opts.env)) {
|
|
@@ -108,7 +105,13 @@ export async function* streamTurn(h, opts, deps) {
|
|
|
108
105
|
argv: redactArgv([], effective.prompt),
|
|
109
106
|
});
|
|
110
107
|
yield { kind: "failure", ...failure };
|
|
111
|
-
yield {
|
|
108
|
+
yield {
|
|
109
|
+
kind: "done",
|
|
110
|
+
exitCode: null,
|
|
111
|
+
cause: "failed",
|
|
112
|
+
failure,
|
|
113
|
+
escalation: { mode: questionMode, detection: "none" },
|
|
114
|
+
};
|
|
112
115
|
return;
|
|
113
116
|
}
|
|
114
117
|
}
|
|
@@ -123,12 +126,11 @@ export async function* streamTurn(h, opts, deps) {
|
|
|
123
126
|
if (effective.passthrough !== undefined && effective.passthrough.length > 0) {
|
|
124
127
|
argv = [...argv, "--", ...effective.passthrough];
|
|
125
128
|
}
|
|
126
|
-
// issue #38: claude
|
|
127
|
-
// the argv tail (
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
argv = [...argv, ...claudeSkillTokens];
|
|
129
|
+
// issue #38: claude/codex render the skills allowlist as complement-off
|
|
130
|
+
// tokens at the argv tail (claude: settings JSON; codex: -c skills.config).
|
|
131
|
+
const skillTokens = opts.__skillTokens;
|
|
132
|
+
if (skillTokens !== undefined && skillTokens.length > 0) {
|
|
133
|
+
argv = [...argv, ...skillTokens];
|
|
132
134
|
}
|
|
133
135
|
granularity = streamingGranularityOf(h, argv);
|
|
134
136
|
}
|
|
@@ -160,7 +162,13 @@ export async function* streamTurn(h, opts, deps) {
|
|
|
160
162
|
argv: argvForLog,
|
|
161
163
|
});
|
|
162
164
|
yield { kind: "failure", ...failure };
|
|
163
|
-
yield {
|
|
165
|
+
yield {
|
|
166
|
+
kind: "done",
|
|
167
|
+
exitCode: null,
|
|
168
|
+
cause: "failed",
|
|
169
|
+
failure,
|
|
170
|
+
escalation: { mode: questionMode, detection: "none" },
|
|
171
|
+
};
|
|
164
172
|
return;
|
|
165
173
|
}
|
|
166
174
|
throw e;
|
|
@@ -207,7 +215,13 @@ export async function* streamTurn(h, opts, deps) {
|
|
|
207
215
|
yield { kind: "error", message: resumeCreateWarning };
|
|
208
216
|
yield { kind: "error", message: `spawn failed: ${message}` };
|
|
209
217
|
yield { kind: "failure", ...failure };
|
|
210
|
-
yield {
|
|
218
|
+
yield {
|
|
219
|
+
kind: "done",
|
|
220
|
+
exitCode: 127,
|
|
221
|
+
cause: "failed",
|
|
222
|
+
failure,
|
|
223
|
+
escalation: { mode: questionMode, detection: "none" },
|
|
224
|
+
};
|
|
211
225
|
return;
|
|
212
226
|
}
|
|
213
227
|
const queue = new AsyncChannel();
|
|
@@ -382,7 +396,7 @@ export async function* streamTurn(h, opts, deps) {
|
|
|
382
396
|
await pushFailure(failureFromTerminalError(h, event.message));
|
|
383
397
|
return;
|
|
384
398
|
}
|
|
385
|
-
if (
|
|
399
|
+
if (questionMode === "ask" && event.kind === "message" && event.role === "assistant") {
|
|
386
400
|
lastAssistantText = event.text;
|
|
387
401
|
}
|
|
388
402
|
await queue.push(event);
|
|
@@ -413,20 +427,26 @@ export async function* streamTurn(h, opts, deps) {
|
|
|
413
427
|
/** issue #41: scan the last assistant message for the hcn-question
|
|
414
428
|
* block. Structured-first - the block's fields become the event; no
|
|
415
429
|
* prose parsing. Runs after the pumps settle (the last message is only
|
|
416
|
-
* last then) and only when detection is armed (
|
|
417
|
-
*
|
|
430
|
+
* last then) and only when detection is armed (questions ask).
|
|
431
|
+
* A malformed block surfaces as an error event, never a silent
|
|
418
432
|
* no-op. */
|
|
419
433
|
const emitQuestionIfAsked = async () => {
|
|
420
|
-
if (
|
|
434
|
+
if (questionMode !== "ask" || lastAssistantText === null) {
|
|
435
|
+
escalationDetection = "none";
|
|
421
436
|
return;
|
|
437
|
+
}
|
|
422
438
|
const detection = detectQuestionBlock(lastAssistantText);
|
|
423
|
-
if (detection === null)
|
|
439
|
+
if (detection === null) {
|
|
440
|
+
escalationDetection = "none";
|
|
424
441
|
return;
|
|
442
|
+
}
|
|
425
443
|
if ("malformed" in detection) {
|
|
444
|
+
escalationDetection = "malformed";
|
|
426
445
|
await queue.push({ kind: "error", message: detection.malformed });
|
|
427
446
|
await pushFailure(failureFromTask(`malformed hcn-question block: ${detection.malformed}`));
|
|
428
447
|
return;
|
|
429
448
|
}
|
|
449
|
+
escalationDetection = "block";
|
|
430
450
|
log({
|
|
431
451
|
event: "question",
|
|
432
452
|
turnId,
|
|
@@ -618,6 +638,7 @@ export async function* streamTurn(h, opts, deps) {
|
|
|
618
638
|
exitCode: nativeReduced ? null : exitCode,
|
|
619
639
|
cause,
|
|
620
640
|
...(reduced ? { failure: reduced } : {}),
|
|
641
|
+
escalation: { mode: questionMode, detection: escalationDetection },
|
|
621
642
|
};
|
|
622
643
|
}
|
|
623
644
|
finally {
|