@duetso/agent 0.1.140 → 0.1.142
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 +21 -0
- package/dist/package.json +1 -1
- package/dist/src/cli/inline-slash.d.ts +22 -0
- package/dist/src/cli/inline-slash.d.ts.map +1 -0
- package/dist/src/cli/inline-slash.js +48 -0
- package/dist/src/cli/inline-slash.js.map +1 -0
- package/dist/src/cli/run.d.ts.map +1 -1
- package/dist/src/cli/run.js +23 -0
- package/dist/src/cli/run.js.map +1 -1
- package/dist/src/core/serializer.d.ts +8 -0
- package/dist/src/core/serializer.d.ts.map +1 -1
- package/dist/src/core/serializer.js +16 -0
- package/dist/src/core/serializer.js.map +1 -1
- package/dist/src/session/session.d.ts +29 -0
- package/dist/src/session/session.d.ts.map +1 -1
- package/dist/src/session/session.js +41 -0
- package/dist/src/session/session.js.map +1 -1
- package/dist/src/session/thinking-level.d.ts +19 -0
- package/dist/src/session/thinking-level.d.ts.map +1 -0
- package/dist/src/session/thinking-level.js +32 -0
- package/dist/src/session/thinking-level.js.map +1 -0
- package/dist/src/tui/app.d.ts.map +1 -1
- package/dist/src/tui/app.js +17 -4
- package/dist/src/tui/app.js.map +1 -1
- package/dist/src/tui/autocomplete-controller.d.ts +7 -0
- package/dist/src/tui/autocomplete-controller.d.ts.map +1 -1
- package/dist/src/tui/autocomplete-controller.js +6 -0
- package/dist/src/tui/autocomplete-controller.js.map +1 -1
- package/dist/src/tui/boot-screen.d.ts.map +1 -1
- package/dist/src/tui/boot-screen.js +2 -10
- package/dist/src/tui/boot-screen.js.map +1 -1
- package/dist/src/tui/controllers.d.ts.map +1 -1
- package/dist/src/tui/controllers.js +24 -0
- package/dist/src/tui/controllers.js.map +1 -1
- package/dist/src/tui/dino/index.d.ts +3 -3
- package/dist/src/tui/dino/index.d.ts.map +1 -1
- package/dist/src/tui/dino/index.js +14 -25
- package/dist/src/tui/dino/index.js.map +1 -1
- package/dist/src/tui/dino/render.d.ts +4 -5
- package/dist/src/tui/dino/render.d.ts.map +1 -1
- package/dist/src/tui/dino/render.js +4 -7
- package/dist/src/tui/dino/render.js.map +1 -1
- package/dist/src/tui/dino/visibility.d.ts.map +1 -1
- package/dist/src/tui/dino/visibility.js +2 -1
- package/dist/src/tui/dino/visibility.js.map +1 -1
- package/dist/src/tui/layout.d.ts.map +1 -1
- package/dist/src/tui/layout.js +4 -1
- package/dist/src/tui/layout.js.map +1 -1
- package/dist/src/tui/slash-commands.d.ts +102 -8
- package/dist/src/tui/slash-commands.d.ts.map +1 -1
- package/dist/src/tui/slash-commands.js +155 -5
- package/dist/src/tui/slash-commands.js.map +1 -1
- package/dist/src/turn-runner/prompts.d.ts.map +1 -1
- package/dist/src/turn-runner/prompts.js +1 -0
- package/dist/src/turn-runner/prompts.js.map +1 -1
- package/dist/src/turn-runner/shell-state-handle.d.ts +8 -1
- package/dist/src/turn-runner/shell-state-handle.d.ts.map +1 -1
- package/dist/src/turn-runner/shell-state-handle.js +4 -1
- package/dist/src/turn-runner/shell-state-handle.js.map +1 -1
- package/dist/src/turn-runner/skill-context.d.ts +6 -0
- package/dist/src/turn-runner/skill-context.d.ts.map +1 -1
- package/dist/src/turn-runner/skill-context.js +12 -0
- package/dist/src/turn-runner/skill-context.js.map +1 -1
- package/dist/src/turn-runner/state-machine-controller.d.ts +8 -2
- package/dist/src/turn-runner/state-machine-controller.d.ts.map +1 -1
- package/dist/src/turn-runner/state-machine-controller.js +51 -20
- package/dist/src/turn-runner/state-machine-controller.js.map +1 -1
- package/dist/src/turn-runner/turn-runner.d.ts +15 -3
- package/dist/src/turn-runner/turn-runner.d.ts.map +1 -1
- package/dist/src/turn-runner/turn-runner.js +32 -19
- package/dist/src/turn-runner/turn-runner.js.map +1 -1
- package/package.json +1 -1
|
@@ -69,25 +69,32 @@ export class StateMachineController {
|
|
|
69
69
|
const run = this.activeRun;
|
|
70
70
|
if (!run)
|
|
71
71
|
return;
|
|
72
|
-
run.interruptedReason = reason;
|
|
73
72
|
const state = this.interruptibleStateName(run);
|
|
74
73
|
if (this.session && state) {
|
|
75
74
|
this.session = recordStateInterrupted(this.session, state, reason, this.interruptedOutput(run));
|
|
76
75
|
}
|
|
76
|
+
// The handle owns interrupt classification: `interrupt(reason)` causes
|
|
77
|
+
// its `prompt()` / `run()` to settle as interrupted with this reason.
|
|
77
78
|
if (run.kind === "agent") {
|
|
78
|
-
run.agent.interrupt();
|
|
79
|
+
run.agent.interrupt(reason);
|
|
79
80
|
}
|
|
80
81
|
else {
|
|
81
|
-
run.shell.interrupt();
|
|
82
|
+
run.shell.interrupt(reason);
|
|
82
83
|
}
|
|
83
84
|
}
|
|
84
85
|
async runDecision(decision) {
|
|
85
|
-
|
|
86
|
+
const previous = this.activeRun;
|
|
87
|
+
if (previous) {
|
|
86
88
|
// Selecting a state while work is active is an intentional replacement.
|
|
87
89
|
// The parent can steer state-machine progress by selecting the same state
|
|
88
90
|
// with new input or by selecting a different state; transient work is
|
|
89
91
|
// aborted before the new state starts.
|
|
90
92
|
this.interrupt("Replaced by a newly selected state.");
|
|
93
|
+
// Wait for the old run to actually finish tearing down before we
|
|
94
|
+
// construct the replacement. Without this, the orphaned sub-agent (or
|
|
95
|
+
// shell) keeps running concurrently with the new one and its events
|
|
96
|
+
// leak into the same turn after the parent already declared replacement.
|
|
97
|
+
await previous.finished;
|
|
91
98
|
}
|
|
92
99
|
const stateMachine = this.requireSession();
|
|
93
100
|
this.session = recordRunnerDecision(stateMachine, decision);
|
|
@@ -130,10 +137,20 @@ export class StateMachineController {
|
|
|
130
137
|
async runAgentState(state) {
|
|
131
138
|
const prompt = renderTemplate(state.prompt, this.session?.currentInput ?? {});
|
|
132
139
|
const agent = this.config.createStateAgent({ state, prompt });
|
|
133
|
-
const
|
|
140
|
+
const finished = createDeferredVoid();
|
|
141
|
+
const run = {
|
|
142
|
+
kind: "agent",
|
|
143
|
+
state: state.name,
|
|
144
|
+
agent,
|
|
145
|
+
finished: finished.promise,
|
|
146
|
+
};
|
|
134
147
|
this.activeRun = run;
|
|
135
148
|
try {
|
|
136
149
|
const terminal = await agent.prompt();
|
|
150
|
+
if (terminal.type === "interrupted") {
|
|
151
|
+
this.recordInterruptedState(run, state.name);
|
|
152
|
+
return { type: "interrupted" };
|
|
153
|
+
}
|
|
137
154
|
if (terminal.type === "ask") {
|
|
138
155
|
this.session = recordStateAskedUser(this.requireSession(), state.name, terminal.questions);
|
|
139
156
|
return { type: "ask", questions: terminal.questions };
|
|
@@ -142,11 +159,6 @@ export class StateMachineController {
|
|
|
142
159
|
this.session = recordStateFailed(this.requireSession(), state.name, terminal.error);
|
|
143
160
|
return { type: "terminal", status: "failed", error: terminal.error };
|
|
144
161
|
}
|
|
145
|
-
if (terminal.type === "interrupted") {
|
|
146
|
-
if (this.activeRun === run)
|
|
147
|
-
this.recordInterruptedState(run, state.name);
|
|
148
|
-
return { type: "interrupted" };
|
|
149
|
-
}
|
|
150
162
|
const output = { result: terminal.result };
|
|
151
163
|
this.session = recordStateCompleted(this.requireSession(), state.name, output);
|
|
152
164
|
return { type: "state_completed", stateName: state.name, output };
|
|
@@ -154,6 +166,7 @@ export class StateMachineController {
|
|
|
154
166
|
finally {
|
|
155
167
|
if (this.activeRun === run)
|
|
156
168
|
this.activeRun = undefined;
|
|
169
|
+
finished.resolve();
|
|
157
170
|
}
|
|
158
171
|
}
|
|
159
172
|
async runScriptState(state) {
|
|
@@ -164,7 +177,13 @@ export class StateMachineController {
|
|
|
164
177
|
timeoutMs: state.timeoutMs,
|
|
165
178
|
successCodes: state.successCodes,
|
|
166
179
|
});
|
|
167
|
-
const
|
|
180
|
+
const finished = createDeferredVoid();
|
|
181
|
+
const run = {
|
|
182
|
+
kind: "script",
|
|
183
|
+
state: state.name,
|
|
184
|
+
shell,
|
|
185
|
+
finished: finished.promise,
|
|
186
|
+
};
|
|
168
187
|
this.activeRun = run;
|
|
169
188
|
try {
|
|
170
189
|
const shellOutput = await shell.run();
|
|
@@ -173,9 +192,8 @@ export class StateMachineController {
|
|
|
173
192
|
return { type: "state_completed", stateName: state.name, output: rawOutput };
|
|
174
193
|
}
|
|
175
194
|
catch (error) {
|
|
176
|
-
if (
|
|
177
|
-
|
|
178
|
-
this.recordInterruptedState(run, state.name, shellPartialOutput(error));
|
|
195
|
+
if (shell.interruptedReason() !== undefined) {
|
|
196
|
+
this.recordInterruptedState(run, state.name, shellPartialOutput(error));
|
|
179
197
|
return { type: "interrupted" };
|
|
180
198
|
}
|
|
181
199
|
const message = error instanceof Error ? error.message : String(error);
|
|
@@ -185,6 +203,7 @@ export class StateMachineController {
|
|
|
185
203
|
finally {
|
|
186
204
|
if (this.activeRun === run)
|
|
187
205
|
this.activeRun = undefined;
|
|
206
|
+
finished.resolve();
|
|
188
207
|
}
|
|
189
208
|
}
|
|
190
209
|
async runPollState(state) {
|
|
@@ -200,7 +219,8 @@ export class StateMachineController {
|
|
|
200
219
|
cwd: state.cwd ?? this.config.cwd,
|
|
201
220
|
successCodes: state.successCodes,
|
|
202
221
|
});
|
|
203
|
-
const
|
|
222
|
+
const finished = createDeferredVoid();
|
|
223
|
+
const run = { kind: "poll", state, shell, finished: finished.promise };
|
|
204
224
|
this.activeRun = run;
|
|
205
225
|
try {
|
|
206
226
|
const shellOutput = await shell.run();
|
|
@@ -215,9 +235,8 @@ export class StateMachineController {
|
|
|
215
235
|
return { type: "state_completed", stateName: state.name, output: rawOutput };
|
|
216
236
|
}
|
|
217
237
|
catch (error) {
|
|
218
|
-
if (
|
|
219
|
-
|
|
220
|
-
this.recordInterruptedState(run, state.name, shellPartialOutput(error));
|
|
238
|
+
if (shell.interruptedReason() !== undefined) {
|
|
239
|
+
this.recordInterruptedState(run, state.name, shellPartialOutput(error));
|
|
221
240
|
return { type: "interrupted" };
|
|
222
241
|
}
|
|
223
242
|
const wakeAt = Date.now() + state.intervalMs;
|
|
@@ -227,6 +246,7 @@ export class StateMachineController {
|
|
|
227
246
|
finally {
|
|
228
247
|
if (this.activeRun === run)
|
|
229
248
|
this.activeRun = undefined;
|
|
249
|
+
finished.resolve();
|
|
230
250
|
}
|
|
231
251
|
}
|
|
232
252
|
runTimerState(state, woke = false) {
|
|
@@ -248,6 +268,7 @@ export class StateMachineController {
|
|
|
248
268
|
}
|
|
249
269
|
recordInterruptedState(run, stateName, output) {
|
|
250
270
|
const session = this.requireSession();
|
|
271
|
+
const reason = runInterruptedReason(run);
|
|
251
272
|
const last = session.history.at(-1);
|
|
252
273
|
if (session.currentState === INTERRUPTED_STATE_MACHINE_STATE &&
|
|
253
274
|
last?.type === "state_interrupted" &&
|
|
@@ -258,7 +279,7 @@ export class StateMachineController {
|
|
|
258
279
|
...session.history.slice(0, -1),
|
|
259
280
|
{
|
|
260
281
|
...last,
|
|
261
|
-
reason:
|
|
282
|
+
reason: reason ?? last.reason,
|
|
262
283
|
output: output ?? last.output,
|
|
263
284
|
},
|
|
264
285
|
],
|
|
@@ -266,7 +287,7 @@ export class StateMachineController {
|
|
|
266
287
|
};
|
|
267
288
|
return;
|
|
268
289
|
}
|
|
269
|
-
this.session = recordStateInterrupted(session, stateName,
|
|
290
|
+
this.session = recordStateInterrupted(session, stateName, reason ?? "Interrupted", output);
|
|
270
291
|
}
|
|
271
292
|
interruptedOutput(run) {
|
|
272
293
|
if (run.kind === "agent") {
|
|
@@ -310,4 +331,14 @@ function shellPartialOutput(error) {
|
|
|
310
331
|
return undefined;
|
|
311
332
|
return { stdout: error.output.stdout, stderr: error.output.stderr };
|
|
312
333
|
}
|
|
334
|
+
function runInterruptedReason(run) {
|
|
335
|
+
return run.kind === "agent" ? run.agent.interruptedReason() : run.shell.interruptedReason();
|
|
336
|
+
}
|
|
337
|
+
function createDeferredVoid() {
|
|
338
|
+
let resolve = () => { };
|
|
339
|
+
const promise = new Promise((innerResolve) => {
|
|
340
|
+
resolve = innerResolve;
|
|
341
|
+
});
|
|
342
|
+
return { promise, resolve };
|
|
343
|
+
}
|
|
313
344
|
//# sourceMappingURL=state-machine-controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-machine-controller.js","sourceRoot":"","sources":["../../../src/turn-runner/state-machine-controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"state-machine-controller.js","sourceRoot":"","sources":["../../../src/turn-runner/state-machine-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -80,8 +80,14 @@ export declare class TurnRunner {
|
|
|
80
80
|
private readonly stateMachineController;
|
|
81
81
|
/** Parent prompt started by a steer while state-machine work is driving the turn. */
|
|
82
82
|
private activeStateWorkPrompt?;
|
|
83
|
-
/**
|
|
84
|
-
|
|
83
|
+
/**
|
|
84
|
+
* Set true by `interrupt()` while a parent-agent prompt is in flight, so
|
|
85
|
+
* `runAgentWorker` can tell our own abort apart from a real provider error
|
|
86
|
+
* after `agent.prompt()` rejects. The interrupted `TurnState` itself lives
|
|
87
|
+
* on `this.state` (written by `interrupt()` before aborting); this flag is
|
|
88
|
+
* just the discriminator. Reset at the start of each `runAgentWorker`.
|
|
89
|
+
*/
|
|
90
|
+
private parentAgentInterrupted;
|
|
85
91
|
/**
|
|
86
92
|
* Active work-chain promise. Callers may call turn() repeatedly while this is
|
|
87
93
|
* set; those commands are folded into the same duet-agent turn. A duet-agent
|
|
@@ -156,7 +162,6 @@ export declare class TurnRunner {
|
|
|
156
162
|
private emitFollowUpQueue;
|
|
157
163
|
interrupt(_command: TurnInterruptCommand): void;
|
|
158
164
|
protected emit(event: TurnEvent): void;
|
|
159
|
-
private consumeInterruptedTerminal;
|
|
160
165
|
protected prompt(command: TurnPromptCommand): Promise<TurnTerminalEvent>;
|
|
161
166
|
protected answer(command: TurnAnswerCommand): Promise<TurnTerminalEvent>;
|
|
162
167
|
protected wake(): Promise<TurnTerminalEvent>;
|
|
@@ -331,6 +336,13 @@ export declare class TurnRunner {
|
|
|
331
336
|
protected createMemoryTransform(): (messages: AgentMessage[]) => Promise<AgentMessage[]>;
|
|
332
337
|
protected readonly wireGuardHorizon: WireGuardHorizon;
|
|
333
338
|
getSkills(): Promise<readonly Skill[]>;
|
|
339
|
+
/**
|
|
340
|
+
* Re-discover installed skills from disk. Surfaces newly added skills
|
|
341
|
+
* (e.g. installed in this session) without restarting the runner.
|
|
342
|
+
* Callers typically pair this with `getSkills()` to refresh their
|
|
343
|
+
* autocomplete catalog.
|
|
344
|
+
*/
|
|
345
|
+
reloadSkills(): Promise<readonly Skill[]>;
|
|
334
346
|
/** System-prompt files (AGENTS.md by default) that resolved on disk for this session. */
|
|
335
347
|
getResolvedAgentFiles(): Promise<readonly TurnAgentFile[]>;
|
|
336
348
|
/** Skill name collisions where one definition shadowed another during discovery. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-runner.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/turn-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,KAAK,EACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAgBlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAMxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC5B,SAAS,EACT,eAAe,EAEf,oBAAoB,EACpB,QAAQ,EACR,iBAAiB,EAEjB,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,WAAW,EAEZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAGxE,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAOL,KAAK,uBAAuB,EAC7B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAEL,KAAK,gBAAgB,EAGtB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAC;AAG9B,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;AAE1D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,CAAC;CAClB,GACD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAE9C,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,OAAO,EAAE,uBAAuB,CAAC;IACjC,WAAW,CAAC,EAAE,cAAc,CAAC;CAC9B;AAUD;;;;;;;;GAQG;AACH,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,sBAAsB,EAC5B,WAAW,EAAE,MAAM,GAClB,sBAAsB,CAuDxB;AAED,qBAAa,UAAU;
|
|
1
|
+
{"version":3,"file":"turn-runner.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/turn-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -112,8 +112,14 @@ export class TurnRunner {
|
|
|
112
112
|
stateMachineController;
|
|
113
113
|
/** Parent prompt started by a steer while state-machine work is driving the turn. */
|
|
114
114
|
activeStateWorkPrompt;
|
|
115
|
-
/**
|
|
116
|
-
|
|
115
|
+
/**
|
|
116
|
+
* Set true by `interrupt()` while a parent-agent prompt is in flight, so
|
|
117
|
+
* `runAgentWorker` can tell our own abort apart from a real provider error
|
|
118
|
+
* after `agent.prompt()` rejects. The interrupted `TurnState` itself lives
|
|
119
|
+
* on `this.state` (written by `interrupt()` before aborting); this flag is
|
|
120
|
+
* just the discriminator. Reset at the start of each `runAgentWorker`.
|
|
121
|
+
*/
|
|
122
|
+
parentAgentInterrupted = false;
|
|
117
123
|
/**
|
|
118
124
|
* Active work-chain promise. Callers may call turn() repeatedly while this is
|
|
119
125
|
* set; those commands are folded into the same duet-agent turn. A duet-agent
|
|
@@ -458,9 +464,10 @@ export class TurnRunner {
|
|
|
458
464
|
};
|
|
459
465
|
this.setState(terminal.state);
|
|
460
466
|
if (this.parentAgentRunning || hadActiveControllerWork) {
|
|
461
|
-
// The active turn emits
|
|
462
|
-
// interrupt() only aborts out-of-band
|
|
463
|
-
this.
|
|
467
|
+
// The active turn emits the terminal event after agent.prompt() unwinds;
|
|
468
|
+
// interrupt() only aborts out-of-band. The interrupted snapshot is
|
|
469
|
+
// already on `this.state` above — `runAgentWorker` reads it from there.
|
|
470
|
+
this.parentAgentInterrupted = true;
|
|
464
471
|
}
|
|
465
472
|
this.parentAgent?.abort();
|
|
466
473
|
this.parentAgent?.clearAllQueues();
|
|
@@ -474,11 +481,6 @@ export class TurnRunner {
|
|
|
474
481
|
handler(event);
|
|
475
482
|
}
|
|
476
483
|
}
|
|
477
|
-
consumeInterruptedTerminal() {
|
|
478
|
-
const terminal = this.interruptedTerminal;
|
|
479
|
-
this.interruptedTerminal = undefined;
|
|
480
|
-
return terminal;
|
|
481
|
-
}
|
|
482
484
|
async prompt(command) {
|
|
483
485
|
const originalState = this.requireRunnerState();
|
|
484
486
|
const state = this.clearFinishedTodosAtTurnStart({ ...originalState, status: "running" });
|
|
@@ -725,6 +727,7 @@ export class TurnRunner {
|
|
|
725
727
|
control = result;
|
|
726
728
|
});
|
|
727
729
|
let unsubscribe;
|
|
730
|
+
let interruptedReason;
|
|
728
731
|
const finish = () => {
|
|
729
732
|
if (control.type === "ask_user_question") {
|
|
730
733
|
return { type: "ask", questions: control.questions };
|
|
@@ -744,10 +747,10 @@ export class TurnRunner {
|
|
|
744
747
|
try {
|
|
745
748
|
await agent.prompt(input.prompt);
|
|
746
749
|
await this.retryTransientServerErrors(agent);
|
|
747
|
-
return finish();
|
|
750
|
+
return interruptedReason ? { type: "interrupted" } : finish();
|
|
748
751
|
}
|
|
749
752
|
catch (error) {
|
|
750
|
-
if (
|
|
753
|
+
if (interruptedReason)
|
|
751
754
|
return { type: "interrupted" };
|
|
752
755
|
if (error instanceof Error)
|
|
753
756
|
return { type: "failed", error: error.message };
|
|
@@ -762,12 +765,14 @@ export class TurnRunner {
|
|
|
762
765
|
unsubscribe?.();
|
|
763
766
|
}
|
|
764
767
|
},
|
|
765
|
-
interrupt: () => {
|
|
768
|
+
interrupt: (reason) => {
|
|
769
|
+
interruptedReason = reason;
|
|
766
770
|
agent.abort();
|
|
767
771
|
agent.clearAllQueues();
|
|
768
772
|
unsubscribe?.();
|
|
769
773
|
},
|
|
770
774
|
partialAssistantText: () => assistantText(agent.state.messages) || undefined,
|
|
775
|
+
interruptedReason: () => interruptedReason,
|
|
771
776
|
};
|
|
772
777
|
}
|
|
773
778
|
requireRunnerState() {
|
|
@@ -1034,7 +1039,7 @@ export class TurnRunner {
|
|
|
1034
1039
|
const previousMessageCount = agent.state.messages.length;
|
|
1035
1040
|
this.setParentAgentRunning(true);
|
|
1036
1041
|
const unsubscribe = agent.subscribe((event) => this.emitParentAgentEvent(event));
|
|
1037
|
-
|
|
1042
|
+
this.parentAgentInterrupted = false;
|
|
1038
1043
|
try {
|
|
1039
1044
|
await agent.prompt(input.prompt, input.images);
|
|
1040
1045
|
// Single-shot recovery: if the provider rejected the first attempt
|
|
@@ -1051,8 +1056,7 @@ export class TurnRunner {
|
|
|
1051
1056
|
await this.retryTransientServerErrors(agent);
|
|
1052
1057
|
}
|
|
1053
1058
|
catch (error) {
|
|
1054
|
-
|
|
1055
|
-
if (!interruptedDuringPrompt) {
|
|
1059
|
+
if (!this.parentAgentInterrupted) {
|
|
1056
1060
|
throw error;
|
|
1057
1061
|
}
|
|
1058
1062
|
}
|
|
@@ -1060,11 +1064,10 @@ export class TurnRunner {
|
|
|
1060
1064
|
unsubscribe();
|
|
1061
1065
|
this.setParentAgentRunning(false);
|
|
1062
1066
|
}
|
|
1063
|
-
|
|
1064
|
-
if (interrupted) {
|
|
1067
|
+
if (this.parentAgentInterrupted) {
|
|
1065
1068
|
return {
|
|
1066
1069
|
control: this.parentControlResult,
|
|
1067
|
-
outcome: { type: "interrupted", state:
|
|
1070
|
+
outcome: { type: "interrupted", state: this.requireRunnerState() },
|
|
1068
1071
|
};
|
|
1069
1072
|
}
|
|
1070
1073
|
const messages = agent.state.messages;
|
|
@@ -1359,6 +1362,16 @@ export class TurnRunner {
|
|
|
1359
1362
|
await this.ensureSkillsLoaded();
|
|
1360
1363
|
return this.skillContext.getSkills();
|
|
1361
1364
|
}
|
|
1365
|
+
/**
|
|
1366
|
+
* Re-discover installed skills from disk. Surfaces newly added skills
|
|
1367
|
+
* (e.g. installed in this session) without restarting the runner.
|
|
1368
|
+
* Callers typically pair this with `getSkills()` to refresh their
|
|
1369
|
+
* autocomplete catalog.
|
|
1370
|
+
*/
|
|
1371
|
+
async reloadSkills() {
|
|
1372
|
+
await this.skillContext.reload();
|
|
1373
|
+
return this.skillContext.getSkills();
|
|
1374
|
+
}
|
|
1362
1375
|
/** System-prompt files (AGENTS.md by default) that resolved on disk for this session. */
|
|
1363
1376
|
async getResolvedAgentFiles() {
|
|
1364
1377
|
await this.ensureSkillsLoaded();
|