@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.
Files changed (72) hide show
  1. package/README.md +21 -0
  2. package/dist/package.json +1 -1
  3. package/dist/src/cli/inline-slash.d.ts +22 -0
  4. package/dist/src/cli/inline-slash.d.ts.map +1 -0
  5. package/dist/src/cli/inline-slash.js +48 -0
  6. package/dist/src/cli/inline-slash.js.map +1 -0
  7. package/dist/src/cli/run.d.ts.map +1 -1
  8. package/dist/src/cli/run.js +23 -0
  9. package/dist/src/cli/run.js.map +1 -1
  10. package/dist/src/core/serializer.d.ts +8 -0
  11. package/dist/src/core/serializer.d.ts.map +1 -1
  12. package/dist/src/core/serializer.js +16 -0
  13. package/dist/src/core/serializer.js.map +1 -1
  14. package/dist/src/session/session.d.ts +29 -0
  15. package/dist/src/session/session.d.ts.map +1 -1
  16. package/dist/src/session/session.js +41 -0
  17. package/dist/src/session/session.js.map +1 -1
  18. package/dist/src/session/thinking-level.d.ts +19 -0
  19. package/dist/src/session/thinking-level.d.ts.map +1 -0
  20. package/dist/src/session/thinking-level.js +32 -0
  21. package/dist/src/session/thinking-level.js.map +1 -0
  22. package/dist/src/tui/app.d.ts.map +1 -1
  23. package/dist/src/tui/app.js +17 -4
  24. package/dist/src/tui/app.js.map +1 -1
  25. package/dist/src/tui/autocomplete-controller.d.ts +7 -0
  26. package/dist/src/tui/autocomplete-controller.d.ts.map +1 -1
  27. package/dist/src/tui/autocomplete-controller.js +6 -0
  28. package/dist/src/tui/autocomplete-controller.js.map +1 -1
  29. package/dist/src/tui/boot-screen.d.ts.map +1 -1
  30. package/dist/src/tui/boot-screen.js +2 -10
  31. package/dist/src/tui/boot-screen.js.map +1 -1
  32. package/dist/src/tui/controllers.d.ts.map +1 -1
  33. package/dist/src/tui/controllers.js +24 -0
  34. package/dist/src/tui/controllers.js.map +1 -1
  35. package/dist/src/tui/dino/index.d.ts +3 -3
  36. package/dist/src/tui/dino/index.d.ts.map +1 -1
  37. package/dist/src/tui/dino/index.js +14 -25
  38. package/dist/src/tui/dino/index.js.map +1 -1
  39. package/dist/src/tui/dino/render.d.ts +4 -5
  40. package/dist/src/tui/dino/render.d.ts.map +1 -1
  41. package/dist/src/tui/dino/render.js +4 -7
  42. package/dist/src/tui/dino/render.js.map +1 -1
  43. package/dist/src/tui/dino/visibility.d.ts.map +1 -1
  44. package/dist/src/tui/dino/visibility.js +2 -1
  45. package/dist/src/tui/dino/visibility.js.map +1 -1
  46. package/dist/src/tui/layout.d.ts.map +1 -1
  47. package/dist/src/tui/layout.js +4 -1
  48. package/dist/src/tui/layout.js.map +1 -1
  49. package/dist/src/tui/slash-commands.d.ts +102 -8
  50. package/dist/src/tui/slash-commands.d.ts.map +1 -1
  51. package/dist/src/tui/slash-commands.js +155 -5
  52. package/dist/src/tui/slash-commands.js.map +1 -1
  53. package/dist/src/turn-runner/prompts.d.ts.map +1 -1
  54. package/dist/src/turn-runner/prompts.js +1 -0
  55. package/dist/src/turn-runner/prompts.js.map +1 -1
  56. package/dist/src/turn-runner/shell-state-handle.d.ts +8 -1
  57. package/dist/src/turn-runner/shell-state-handle.d.ts.map +1 -1
  58. package/dist/src/turn-runner/shell-state-handle.js +4 -1
  59. package/dist/src/turn-runner/shell-state-handle.js.map +1 -1
  60. package/dist/src/turn-runner/skill-context.d.ts +6 -0
  61. package/dist/src/turn-runner/skill-context.d.ts.map +1 -1
  62. package/dist/src/turn-runner/skill-context.js +12 -0
  63. package/dist/src/turn-runner/skill-context.js.map +1 -1
  64. package/dist/src/turn-runner/state-machine-controller.d.ts +8 -2
  65. package/dist/src/turn-runner/state-machine-controller.d.ts.map +1 -1
  66. package/dist/src/turn-runner/state-machine-controller.js +51 -20
  67. package/dist/src/turn-runner/state-machine-controller.js.map +1 -1
  68. package/dist/src/turn-runner/turn-runner.d.ts +15 -3
  69. package/dist/src/turn-runner/turn-runner.d.ts.map +1 -1
  70. package/dist/src/turn-runner/turn-runner.js +32 -19
  71. package/dist/src/turn-runner/turn-runner.js.map +1 -1
  72. 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
- if (this.hasActiveWork()) {
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 run = { kind: "agent", state: state.name, agent };
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 run = { kind: "script", state: state.name, shell };
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 (run.interruptedReason) {
177
- if (this.activeRun === run)
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 run = { kind: "poll", state, shell };
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 (run.interruptedReason) {
219
- if (this.activeRun === run)
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: run.interruptedReason ?? last.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, run.interruptedReason ?? "Interrupted", output);
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
- /** Terminal event prepared by `interrupt()` and returned when active work unwinds. */
84
- private interruptedTerminal?;
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":"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"}
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
- /** Terminal event prepared by `interrupt()` and returned when active work unwinds. */
116
- interruptedTerminal;
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 this terminal event after agent.prompt() unwinds.
462
- // interrupt() only aborts out-of-band; it does not own turn completion.
463
- this.interruptedTerminal = terminal;
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 (this.consumeInterruptedTerminal())
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
- let interruptedDuringPrompt;
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
- interruptedDuringPrompt = this.consumeInterruptedTerminal();
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
- const interrupted = interruptedDuringPrompt ?? this.consumeInterruptedTerminal();
1064
- if (interrupted) {
1067
+ if (this.parentAgentInterrupted) {
1065
1068
  return {
1066
1069
  control: this.parentControlResult,
1067
- outcome: { type: "interrupted", state: 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();