@duetso/agent 0.2.1 → 0.2.3

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 (244) hide show
  1. package/README.md +19 -11
  2. package/dist/package.json +4 -4
  3. package/dist/src/cli/config.d.ts +10 -0
  4. package/dist/src/cli/config.d.ts.map +1 -0
  5. package/dist/src/cli/config.js +24 -0
  6. package/dist/src/cli/config.js.map +1 -0
  7. package/dist/src/cli/help.d.ts.map +1 -1
  8. package/dist/src/cli/help.js +13 -10
  9. package/dist/src/cli/help.js.map +1 -1
  10. package/dist/src/cli/inline-slash.d.ts +2 -1
  11. package/dist/src/cli/inline-slash.d.ts.map +1 -1
  12. package/dist/src/cli/inline-slash.js +14 -5
  13. package/dist/src/cli/inline-slash.js.map +1 -1
  14. package/dist/src/cli/memory-db.d.ts.map +1 -1
  15. package/dist/src/cli/memory-db.js +9 -5
  16. package/dist/src/cli/memory-db.js.map +1 -1
  17. package/dist/src/cli/memory-query.d.ts +1 -1
  18. package/dist/src/cli/model.d.ts +1 -1
  19. package/dist/src/cli/model.d.ts.map +1 -1
  20. package/dist/src/cli/model.js +1 -1
  21. package/dist/src/cli/model.js.map +1 -1
  22. package/dist/src/cli/route.d.ts +84 -0
  23. package/dist/src/cli/route.d.ts.map +1 -0
  24. package/dist/src/cli/route.js +261 -0
  25. package/dist/src/cli/route.js.map +1 -0
  26. package/dist/src/cli/rpc.d.ts +43 -2
  27. package/dist/src/cli/rpc.d.ts.map +1 -1
  28. package/dist/src/cli/rpc.js +176 -23
  29. package/dist/src/cli/rpc.js.map +1 -1
  30. package/dist/src/cli/run.d.ts +8 -1
  31. package/dist/src/cli/run.d.ts.map +1 -1
  32. package/dist/src/cli/run.js +24 -7
  33. package/dist/src/cli/run.js.map +1 -1
  34. package/dist/src/cli/shared.d.ts +4 -3
  35. package/dist/src/cli/shared.d.ts.map +1 -1
  36. package/dist/src/cli/shared.js +3 -4
  37. package/dist/src/cli/shared.js.map +1 -1
  38. package/dist/src/cli/shutdown.d.ts +4 -2
  39. package/dist/src/cli/shutdown.d.ts.map +1 -1
  40. package/dist/src/cli/shutdown.js +4 -2
  41. package/dist/src/cli/shutdown.js.map +1 -1
  42. package/dist/src/cli.d.ts +2 -0
  43. package/dist/src/cli.d.ts.map +1 -1
  44. package/dist/src/cli.js +12 -0
  45. package/dist/src/cli.js.map +1 -1
  46. package/dist/src/core/structured-output.d.ts +2 -0
  47. package/dist/src/core/structured-output.d.ts.map +1 -1
  48. package/dist/src/core/structured-output.js +1 -0
  49. package/dist/src/core/structured-output.js.map +1 -1
  50. package/dist/src/lib/system-reminder.d.ts +14 -0
  51. package/dist/src/lib/system-reminder.d.ts.map +1 -0
  52. package/dist/src/lib/system-reminder.js +53 -0
  53. package/dist/src/lib/system-reminder.js.map +1 -0
  54. package/dist/src/lib/walk-ancestors.d.ts +9 -0
  55. package/dist/src/lib/walk-ancestors.d.ts.map +1 -0
  56. package/dist/src/lib/walk-ancestors.js +28 -0
  57. package/dist/src/lib/walk-ancestors.js.map +1 -0
  58. package/dist/src/memory/observational-prompts.d.ts.map +1 -1
  59. package/dist/src/memory/observational-prompts.js +2 -1
  60. package/dist/src/memory/observational-prompts.js.map +1 -1
  61. package/dist/src/memory/observational.d.ts +31 -4
  62. package/dist/src/memory/observational.d.ts.map +1 -1
  63. package/dist/src/memory/observational.js +43 -4
  64. package/dist/src/memory/observational.js.map +1 -1
  65. package/dist/src/model-resolution/catalog.d.ts +2 -2
  66. package/dist/src/model-resolution/catalog.d.ts.map +1 -1
  67. package/dist/src/model-resolution/catalog.js +61 -33
  68. package/dist/src/model-resolution/catalog.js.map +1 -1
  69. package/dist/src/model-resolution/duet-gateway.d.ts +3 -3
  70. package/dist/src/model-resolution/duet-gateway.d.ts.map +1 -1
  71. package/dist/src/model-resolution/duet-gateway.js +119 -19
  72. package/dist/src/model-resolution/duet-gateway.js.map +1 -1
  73. package/dist/src/model-resolution/model-gateway.d.ts.map +1 -0
  74. package/dist/src/{cli → model-resolution}/model-gateway.js +10 -6
  75. package/dist/src/model-resolution/model-gateway.js.map +1 -0
  76. package/dist/src/model-resolution/resolver.d.ts +11 -4
  77. package/dist/src/model-resolution/resolver.d.ts.map +1 -1
  78. package/dist/src/model-resolution/resolver.js +39 -8
  79. package/dist/src/model-resolution/resolver.js.map +1 -1
  80. package/dist/src/model-routing/advisor-transcript.d.ts +36 -0
  81. package/dist/src/model-routing/advisor-transcript.d.ts.map +1 -0
  82. package/dist/src/model-routing/advisor-transcript.js +103 -0
  83. package/dist/src/model-routing/advisor-transcript.js.map +1 -0
  84. package/dist/src/model-routing/advisor.d.ts +27 -0
  85. package/dist/src/model-routing/advisor.d.ts.map +1 -0
  86. package/dist/src/model-routing/advisor.js +20 -0
  87. package/dist/src/model-routing/advisor.js.map +1 -0
  88. package/dist/src/model-routing/classifier.d.ts +57 -0
  89. package/dist/src/model-routing/classifier.d.ts.map +1 -0
  90. package/dist/src/model-routing/classifier.js +63 -0
  91. package/dist/src/model-routing/classifier.js.map +1 -0
  92. package/dist/src/model-routing/loader.d.ts +48 -0
  93. package/dist/src/model-routing/loader.d.ts.map +1 -0
  94. package/dist/src/model-routing/loader.js +79 -0
  95. package/dist/src/model-routing/loader.js.map +1 -0
  96. package/dist/src/model-routing/prompts.d.ts +22 -0
  97. package/dist/src/model-routing/prompts.d.ts.map +1 -0
  98. package/dist/src/model-routing/prompts.js +87 -0
  99. package/dist/src/model-routing/prompts.js.map +1 -0
  100. package/dist/src/model-routing/resolve.d.ts +40 -0
  101. package/dist/src/model-routing/resolve.d.ts.map +1 -0
  102. package/dist/src/model-routing/resolve.js +76 -0
  103. package/dist/src/model-routing/resolve.js.map +1 -0
  104. package/dist/src/model-routing/router.d.ts +149 -0
  105. package/dist/src/model-routing/router.d.ts.map +1 -0
  106. package/dist/src/model-routing/router.js +235 -0
  107. package/dist/src/model-routing/router.js.map +1 -0
  108. package/dist/src/model-routing/step-triggers.d.ts +27 -0
  109. package/dist/src/model-routing/step-triggers.d.ts.map +1 -0
  110. package/dist/src/model-routing/step-triggers.js +20 -0
  111. package/dist/src/model-routing/step-triggers.js.map +1 -0
  112. package/dist/src/model-routing/table.d.ts +126 -0
  113. package/dist/src/model-routing/table.d.ts.map +1 -0
  114. package/dist/src/model-routing/table.js +351 -0
  115. package/dist/src/model-routing/table.js.map +1 -0
  116. package/dist/src/session/session.d.ts +40 -23
  117. package/dist/src/session/session.d.ts.map +1 -1
  118. package/dist/src/session/session.js +173 -97
  119. package/dist/src/session/session.js.map +1 -1
  120. package/dist/src/tasks/quiescence.d.ts +13 -0
  121. package/dist/src/tasks/quiescence.d.ts.map +1 -0
  122. package/dist/src/tasks/quiescence.js +11 -0
  123. package/dist/src/tasks/quiescence.js.map +1 -0
  124. package/dist/src/tasks/task-manager.d.ts +101 -0
  125. package/dist/src/tasks/task-manager.d.ts.map +1 -0
  126. package/dist/src/tasks/task-manager.js +311 -0
  127. package/dist/src/tasks/task-manager.js.map +1 -0
  128. package/dist/src/tasks/types.d.ts +85 -0
  129. package/dist/src/tasks/types.d.ts.map +1 -0
  130. package/dist/src/tasks/types.js +2 -0
  131. package/dist/src/tasks/types.js.map +1 -0
  132. package/dist/src/train/archive.d.ts +3 -0
  133. package/dist/src/train/archive.d.ts.map +1 -1
  134. package/dist/src/train/archive.js +7 -3
  135. package/dist/src/train/archive.js.map +1 -1
  136. package/dist/src/train/types.d.ts +7 -2
  137. package/dist/src/train/types.d.ts.map +1 -1
  138. package/dist/src/tui/app.d.ts +1 -1
  139. package/dist/src/tui/app.d.ts.map +1 -1
  140. package/dist/src/tui/app.js +12 -2
  141. package/dist/src/tui/app.js.map +1 -1
  142. package/dist/src/tui/initial-prompt.d.ts.map +1 -1
  143. package/dist/src/tui/initial-prompt.js +0 -3
  144. package/dist/src/tui/initial-prompt.js.map +1 -1
  145. package/dist/src/tui/session-subscription.d.ts +3 -0
  146. package/dist/src/tui/session-subscription.d.ts.map +1 -1
  147. package/dist/src/tui/session-subscription.js +29 -5
  148. package/dist/src/tui/session-subscription.js.map +1 -1
  149. package/dist/src/tui/sidebar.d.ts +3 -0
  150. package/dist/src/tui/sidebar.d.ts.map +1 -1
  151. package/dist/src/tui/sidebar.js +19 -3
  152. package/dist/src/tui/sidebar.js.map +1 -1
  153. package/dist/src/tui/slash-commands.d.ts +12 -9
  154. package/dist/src/tui/slash-commands.d.ts.map +1 -1
  155. package/dist/src/tui/slash-commands.js +48 -10
  156. package/dist/src/tui/slash-commands.js.map +1 -1
  157. package/dist/src/tui/status-controller.d.ts +14 -9
  158. package/dist/src/tui/status-controller.d.ts.map +1 -1
  159. package/dist/src/tui/status-controller.js +26 -7
  160. package/dist/src/tui/status-controller.js.map +1 -1
  161. package/dist/src/tui/task-lane-renderer.d.ts +30 -0
  162. package/dist/src/tui/task-lane-renderer.d.ts.map +1 -0
  163. package/dist/src/tui/task-lane-renderer.js +93 -0
  164. package/dist/src/tui/task-lane-renderer.js.map +1 -0
  165. package/dist/src/tui/task-tree.d.ts +47 -0
  166. package/dist/src/tui/task-tree.d.ts.map +1 -0
  167. package/dist/src/tui/task-tree.js +190 -0
  168. package/dist/src/tui/task-tree.js.map +1 -0
  169. package/dist/src/tui/tool-formatters.js +3 -0
  170. package/dist/src/tui/tool-formatters.js.map +1 -1
  171. package/dist/src/turn-runner/agent-events.d.ts.map +1 -1
  172. package/dist/src/turn-runner/agent-events.js +1 -0
  173. package/dist/src/turn-runner/agent-events.js.map +1 -1
  174. package/dist/src/turn-runner/duration.d.ts +2 -2
  175. package/dist/src/turn-runner/duration.js +3 -3
  176. package/dist/src/turn-runner/duration.js.map +1 -1
  177. package/dist/src/turn-runner/prompts.d.ts +5 -1
  178. package/dist/src/turn-runner/prompts.d.ts.map +1 -1
  179. package/dist/src/turn-runner/prompts.js +30 -6
  180. package/dist/src/turn-runner/prompts.js.map +1 -1
  181. package/dist/src/turn-runner/runtime-clock.d.ts +20 -0
  182. package/dist/src/turn-runner/runtime-clock.d.ts.map +1 -0
  183. package/dist/src/turn-runner/runtime-clock.js +38 -0
  184. package/dist/src/turn-runner/runtime-clock.js.map +1 -0
  185. package/dist/src/turn-runner/shell-state-handle.d.ts +0 -3
  186. package/dist/src/turn-runner/shell-state-handle.d.ts.map +1 -1
  187. package/dist/src/turn-runner/shell-state-handle.js +5 -55
  188. package/dist/src/turn-runner/shell-state-handle.js.map +1 -1
  189. package/dist/src/turn-runner/skill-context.d.ts +6 -7
  190. package/dist/src/turn-runner/skill-context.d.ts.map +1 -1
  191. package/dist/src/turn-runner/skill-context.js +10 -10
  192. package/dist/src/turn-runner/skill-context.js.map +1 -1
  193. package/dist/src/turn-runner/skills.d.ts.map +1 -1
  194. package/dist/src/turn-runner/skills.js +2 -22
  195. package/dist/src/turn-runner/skills.js.map +1 -1
  196. package/dist/src/turn-runner/state-compaction.d.ts +7 -5
  197. package/dist/src/turn-runner/state-compaction.d.ts.map +1 -1
  198. package/dist/src/turn-runner/state-compaction.js +69 -10
  199. package/dist/src/turn-runner/state-compaction.js.map +1 -1
  200. package/dist/src/turn-runner/state-machine-decisions.d.ts +135 -0
  201. package/dist/src/turn-runner/state-machine-decisions.d.ts.map +1 -0
  202. package/dist/src/turn-runner/state-machine-decisions.js +443 -0
  203. package/dist/src/turn-runner/state-machine-decisions.js.map +1 -0
  204. package/dist/src/turn-runner/state-machine-session.d.ts +13 -28
  205. package/dist/src/turn-runner/state-machine-session.d.ts.map +1 -1
  206. package/dist/src/turn-runner/state-machine-session.js +18 -55
  207. package/dist/src/turn-runner/state-machine-session.js.map +1 -1
  208. package/dist/src/turn-runner/subagent.d.ts +156 -0
  209. package/dist/src/turn-runner/subagent.d.ts.map +1 -0
  210. package/dist/src/turn-runner/subagent.js +164 -0
  211. package/dist/src/turn-runner/subagent.js.map +1 -0
  212. package/dist/src/turn-runner/task-tools.d.ts +76 -0
  213. package/dist/src/turn-runner/task-tools.d.ts.map +1 -0
  214. package/dist/src/turn-runner/task-tools.js +370 -0
  215. package/dist/src/turn-runner/task-tools.js.map +1 -0
  216. package/dist/src/turn-runner/tools.d.ts +65 -17
  217. package/dist/src/turn-runner/tools.d.ts.map +1 -1
  218. package/dist/src/turn-runner/tools.js +173 -59
  219. package/dist/src/turn-runner/tools.js.map +1 -1
  220. package/dist/src/turn-runner/turn-runner.d.ts +198 -134
  221. package/dist/src/turn-runner/turn-runner.d.ts.map +1 -1
  222. package/dist/src/turn-runner/turn-runner.js +1302 -713
  223. package/dist/src/turn-runner/turn-runner.js.map +1 -1
  224. package/dist/src/turn-runner/usage-accounting.d.ts +4 -0
  225. package/dist/src/turn-runner/usage-accounting.d.ts.map +1 -1
  226. package/dist/src/turn-runner/usage-accounting.js +19 -0
  227. package/dist/src/turn-runner/usage-accounting.js.map +1 -1
  228. package/dist/src/types/config.d.ts +9 -1
  229. package/dist/src/types/config.d.ts.map +1 -1
  230. package/dist/src/types/config.js +2 -1
  231. package/dist/src/types/config.js.map +1 -1
  232. package/dist/src/types/protocol.d.ts +110 -30
  233. package/dist/src/types/protocol.d.ts.map +1 -1
  234. package/dist/src/types/state-machine.d.ts +10 -12
  235. package/dist/src/types/state-machine.d.ts.map +1 -1
  236. package/dist/src/types/state-machine.js.map +1 -1
  237. package/package.json +4 -4
  238. package/dist/src/cli/model-gateway.d.ts.map +0 -1
  239. package/dist/src/cli/model-gateway.js.map +0 -1
  240. package/dist/src/turn-runner/state-machine-controller.d.ts +0 -140
  241. package/dist/src/turn-runner/state-machine-controller.d.ts.map +0 -1
  242. package/dist/src/turn-runner/state-machine-controller.js +0 -501
  243. package/dist/src/turn-runner/state-machine-controller.js.map +0 -1
  244. /package/dist/src/{cli → model-resolution}/model-gateway.d.ts +0 -0
@@ -1,6 +1,7 @@
1
1
  import { createCodingTools, createLocalBashOperations, } from "@earendil-works/pi-coding-agent";
2
2
  import { Ajv } from "ajv";
3
3
  import dedent from "dedent";
4
+ import { systemReminder } from "../lib/system-reminder.js";
4
5
  import { statSync } from "node:fs";
5
6
  import { isAbsolute, resolve } from "node:path";
6
7
  import { Type } from "typebox";
@@ -8,28 +9,24 @@ import { Value } from "typebox/value";
8
9
  import { toXML } from "../lib/xml.js";
9
10
  import { parseDurationToMs, parseWakeAtToMs } from "./duration.js";
10
11
  import { INTERRUPTED_STATE_MACHINE_STATE } from "../types/state-machine.js";
12
+ import { serializeMessageForObserver } from "../memory/observational.js";
11
13
  import { recallMemoryExpanded } from "../memory/recall.js";
14
+ import { buildAdvisorTranscript } from "../model-routing/advisor-transcript.js";
15
+ import { callAdvisor, } from "../model-routing/advisor.js";
16
+ import { ASK_ADVISOR_TOOL_DESCRIPTION } from "../model-routing/prompts.js";
17
+ import { applyStateOverride } from "./state-machine-decisions.js";
12
18
  import { withBundledRipgrep } from "./bundled-ripgrep.js";
19
+ import { SystemRuntimeClock } from "./runtime-clock.js";
20
+ import { parkNudge } from "./prompts.js";
13
21
  const jsonSchemaValidator = new Ajv({ strictSchema: false });
14
22
  /**
15
- * Default cap (in seconds) applied to bash tool invocations that omit an
16
- * explicit timeout. Upstream's bash tool ships with no default timeout, so
17
- * stray commands like `find /` could otherwise run for many minutes before
18
- * anything intervenes. The model can still pass a larger `timeout` argument
19
- * for legitimate long-running work.
23
+ * Remove pi's kill-timeout input at the execution boundary. The public bash
24
+ * `timeout` field is consumed by the task wrapper as a foreground wait budget;
25
+ * only explicit task_stop, interrupt, or scope closure may abort the command.
20
26
  */
21
- export const DEFAULT_BASH_TIMEOUT_SECONDS = 600;
22
- /**
23
- * Wrap a `BashOperations` implementation so any `exec` call without an
24
- * explicit `timeout` uses `defaultTimeoutSeconds`. Calls that already specify
25
- * a timeout (the model passed one) are forwarded unchanged.
26
- */
27
- export function withDefaultBashTimeout(base, defaultTimeoutSeconds = DEFAULT_BASH_TIMEOUT_SECONDS) {
27
+ export function withoutBashKillTimeout(base) {
28
28
  return {
29
- exec: (command, cwd, options) => base.exec(command, cwd, {
30
- ...options,
31
- timeout: options.timeout ?? defaultTimeoutSeconds,
32
- }),
29
+ exec: (command, cwd, options) => base.exec(command, cwd, { ...options, timeout: undefined }),
33
30
  };
34
31
  }
35
32
  const questionOptionSchema = Type.Object({
@@ -135,11 +132,17 @@ const timerOverrideSchema = Type.Partial(Type.Object({
135
132
  description: 'Replacement valid JSON Schema object for transition input accepted by this state, such as { "type": "object", "properties": { "scheduledAt": { "type": "number" } }, "required": ["scheduledAt"] }. Fields omitted from required are optional.',
136
133
  }),
137
134
  }));
135
+ const parkOverrideSchema = Type.Partial(Type.Object({
136
+ inputSchema: Type.Record(Type.String(), Type.Any(), {
137
+ description: "Replacement valid JSON Schema object for transition input accepted by this park state.",
138
+ }),
139
+ }));
138
140
  const stateOverrideSchema = Type.Union([
139
141
  Type.Object({ kind: Type.Literal("agent"), state: agentOverrideSchema }),
140
142
  Type.Object({ kind: Type.Literal("script"), state: scriptOverrideSchema }),
141
143
  Type.Object({ kind: Type.Literal("poll"), state: pollOverrideSchema }),
142
144
  Type.Object({ kind: Type.Literal("timer"), state: timerOverrideSchema }),
145
+ Type.Object({ kind: Type.Literal("park"), state: parkOverrideSchema }),
143
146
  ]);
144
147
  const baseStateSchema = {
145
148
  name: Type.String({ description: "State name used by select_state_machine_state." }),
@@ -208,6 +211,12 @@ const timerStateSchema = Type.Object({
208
211
  description: 'Relative duration measured from the moment the parent selects this timer state, after which the timer should complete. Accepts a duration string like "3h" or "5d", or a raw number of milliseconds. Mutually exclusive with wakeAt.',
209
212
  })),
210
213
  });
214
+ const parkStateSchema = Type.Object({
215
+ ...baseStateSchema,
216
+ kind: Type.Literal("park", {
217
+ description: "Hold the machine without running work or scheduling a wake while the parent drives.",
218
+ }),
219
+ });
211
220
  const terminalStateSchema = Type.Object({
212
221
  ...baseStateSchema,
213
222
  kind: Type.Literal("terminal", { description: "Finalize the state-machine session." }),
@@ -223,6 +232,7 @@ const stateMachineStateSchema = Type.Union([
223
232
  scriptStateSchema,
224
233
  pollStateSchema,
225
234
  timerStateSchema,
235
+ parkStateSchema,
226
236
  terminalStateSchema,
227
237
  ]);
228
238
  const stateMachineDefinitionSchema = Type.Object({
@@ -273,11 +283,11 @@ export function isTurnRunnerControlResult(value) {
273
283
  type === "create_state_machine_definition" ||
274
284
  type === "select_state_machine_state");
275
285
  }
276
- export function createDefaultTurnRunnerTools(cwd, todoStorage, recallStorage) {
286
+ export function createDefaultTurnRunnerTools(cwd, todoStorage, recallStorage, advisorStorage) {
277
287
  const tools = [
278
288
  ...createCodingTools(cwd, {
279
289
  bash: {
280
- operations: withBundledRipgrep(withDefaultBashTimeout(createLocalBashOperations())),
290
+ operations: withBundledRipgrep(withoutBashKillTimeout(createLocalBashOperations())),
281
291
  },
282
292
  }),
283
293
  createTodoWriteTool(todoStorage),
@@ -286,17 +296,23 @@ export function createDefaultTurnRunnerTools(cwd, todoStorage, recallStorage) {
286
296
  if (recallStorage) {
287
297
  tools.push(createRecallMemoryTool(recallStorage));
288
298
  }
299
+ if (advisorStorage) {
300
+ tools.push(createAskAdvisorTool(advisorStorage));
301
+ }
289
302
  return tools;
290
303
  }
291
304
  export function createTurnRunnerTools(input) {
292
305
  const tools = [
293
- ...createDefaultTurnRunnerTools(input.cwd, input.todoStorage, input.recallStorage),
306
+ ...createDefaultTurnRunnerTools(input.cwd, input.todoStorage, input.recallStorage, input.advisorStorage),
294
307
  ];
295
308
  if (input.mode === "agent") {
296
309
  return tools;
297
310
  }
298
311
  if (input.mode === "auto") {
299
- tools.push(createStateMachineDefinitionTool(input.getStateMachine, input.cwd));
312
+ tools.push(createStateMachineDefinitionTool(input.getStateMachine, input.cwd, {
313
+ clock: input.clock ?? new SystemRuntimeClock(),
314
+ minimumScheduledDelayMs: input.minimumScheduledDelayMs ?? MINIMUM_STATE_MACHINE_DELAY_MS,
315
+ }));
300
316
  }
301
317
  const getDefinition = typeof input.mode === "object"
302
318
  ? () => input.mode
@@ -305,6 +321,106 @@ export function createTurnRunnerTools(input) {
305
321
  tools.push(createCurrentStateMachineStateTool(input.getStateMachine, input.getActiveStateOutput));
306
322
  return tools;
307
323
  }
324
+ const askAdvisorSchema = Type.Object({});
325
+ /** Build the no-parameter, non-terminating advisor consultation tool. */
326
+ export function createAskAdvisorTool(storage) {
327
+ return {
328
+ name: "ask_advisor",
329
+ label: "Ask advisor",
330
+ description: ASK_ADVISOR_TOOL_DESCRIPTION,
331
+ parameters: askAdvisorSchema,
332
+ async execute(...args) {
333
+ const signal = args[2];
334
+ const gate = storage.advisorGate();
335
+ const endConsult = (success) => storage.noteAdvisorConsult(success);
336
+ if (!gate.allowed) {
337
+ const text = gate.inFlight
338
+ ? "An advisor consultation is already in progress. Continue without starting another."
339
+ : `The advisor was consulted too recently. Continue for ${gate.stepsUntilAllowed} more assistant step${gate.stepsUntilAllowed === 1 ? "" : "s"} before asking again.`;
340
+ return {
341
+ content: [{ type: "text", text }],
342
+ details: {
343
+ type: "ask_advisor",
344
+ rateLimited: true,
345
+ stepsUntilAllowed: gate.stepsUntilAllowed,
346
+ ...(gate.inFlight ? { inFlight: true } : {}),
347
+ },
348
+ terminate: false,
349
+ };
350
+ }
351
+ const messages = storage.getMessages();
352
+ const firstUserMessage = messages.find((message) => message.role === "user");
353
+ if (!firstUserMessage) {
354
+ endConsult(false);
355
+ return {
356
+ content: [{ type: "text", text: "The advisor transcript has no user message yet." }],
357
+ details: { type: "ask_advisor", unavailable: true },
358
+ terminate: false,
359
+ };
360
+ }
361
+ let modelName;
362
+ try {
363
+ modelName =
364
+ typeof storage.modelName === "function" ? storage.modelName() : storage.modelName;
365
+ if (!modelName)
366
+ throw new Error("advisor model unavailable");
367
+ }
368
+ catch {
369
+ endConsult(false);
370
+ return {
371
+ content: [
372
+ {
373
+ type: "text",
374
+ text: "The advisor model is unavailable for the configured providers.",
375
+ },
376
+ ],
377
+ details: { type: "ask_advisor", unavailable: true },
378
+ terminate: false,
379
+ };
380
+ }
381
+ try {
382
+ const transcript = buildAdvisorTranscript({
383
+ firstUserMessage: serializeMessageForObserver(firstUserMessage),
384
+ executorSystemPrompt: storage.getSystemPrompt(),
385
+ observations: await storage.getObservations(),
386
+ tailMessages: messages.map(serializeMessageForObserver),
387
+ budgetTokens: storage.budgetTokens,
388
+ });
389
+ const result = await (storage.callAdvisor ?? callAdvisor)({
390
+ transcriptText: transcript.text,
391
+ modelName,
392
+ thinkingLevel: storage.thinkingLevel,
393
+ signal,
394
+ });
395
+ try {
396
+ storage.recordUsage(result.usage);
397
+ }
398
+ catch (error) {
399
+ try {
400
+ storage.onUsageError?.(error);
401
+ }
402
+ catch {
403
+ // Logging is best-effort; valid advisor output still wins.
404
+ }
405
+ }
406
+ endConsult(true);
407
+ return {
408
+ content: [{ type: "text", text: result.advice }],
409
+ details: {
410
+ type: "ask_advisor",
411
+ model: modelName,
412
+ tokens: transcript.tokens,
413
+ },
414
+ terminate: false,
415
+ };
416
+ }
417
+ catch (error) {
418
+ endConsult(false);
419
+ throw error;
420
+ }
421
+ },
422
+ };
423
+ }
308
424
  /**
309
425
  * Builds the agent-facing error thrown when `create_state_machine_definition`
310
426
  * is called while a machine is still running and `replaceActive` was not set.
@@ -326,28 +442,10 @@ function activeStateMachineCreateError(session) {
326
442
  Advance or end it with select_state_machine_state before creating a new one. If you instead intend to abandon this machine and run a different one in its place, call create_state_machine_definition again with replaceActive: true to cancel the active machine and replace it.
327
443
  `;
328
444
  }
329
- export function applyStateOverride(state, override) {
330
- if (!override || override.kind !== state.kind) {
331
- return state;
332
- }
333
- const merged = { ...state, ...override.state };
334
- // Timer states must keep wakeAt and wakeAfterMs mutually exclusive: an
335
- // override that introduces one field must drop the other so downstream
336
- // validation and runtime resolution see exactly one schedule source.
337
- if (merged.kind === "timer" && override.kind === "timer") {
338
- const overrideState = override.state;
339
- if ("wakeAt" in overrideState && overrideState.wakeAt !== undefined) {
340
- delete merged.wakeAfterMs;
341
- }
342
- else if ("wakeAfterMs" in overrideState && overrideState.wakeAfterMs !== undefined) {
343
- delete merged.wakeAt;
344
- }
345
- }
346
- return merged;
347
- }
348
445
  function createAskUserQuestionTool() {
349
446
  return {
350
447
  name: "ask_user_question",
448
+ executionMode: "sequential",
351
449
  label: "Ask user question",
352
450
  description: "Ask the user one or more structured multiple-choice questions. Use this when progress requires user input before continuing.",
353
451
  parameters: askUserQuestionSchema,
@@ -554,7 +652,7 @@ export function formatStateMachineTerminalAcknowledgmentPrompt(input) {
554
652
  if (!terminal) {
555
653
  throw new Error("formatStateMachineTerminalAcknowledgmentPrompt requires a terminal session.");
556
654
  }
557
- return dedent `
655
+ return systemReminder(dedent `
558
656
  The state machine "${session.definition.name}" has reached a terminal state and is no longer running.
559
657
 
560
658
  ${toXML({
@@ -568,7 +666,7 @@ export function formatStateMachineTerminalAcknowledgmentPrompt(input) {
568
666
  Usually: reply to the user in plain text — summarize what happened and recommend what to do next, then let control return to them. Don't proactively spin up new work or resume this machine just because the tools are available.
569
667
 
570
668
  The exception is a standing instruction the user already gave: if they told you to keep going until the work is finished (or asked for follow-up this terminal does not yet satisfy), continuing is fine — call create_state_machine_definition for new work, or select a non-terminal state to reactivate and continue this machine. Absent that signal, default to summarizing and handing back.
571
- `;
669
+ `);
572
670
  }
573
671
  export function formatCarriedTodosReminder(todos) {
574
672
  if (!todos || todos.length === 0)
@@ -577,20 +675,21 @@ export function formatCarriedTodosReminder(todos) {
577
675
  if (openTodos.length === 0)
578
676
  return undefined;
579
677
  const lines = todos.map((todo) => `- [${todo.status}] ${todo.id}: ${todo.content}`);
580
- return dedent `
678
+ return systemReminder(dedent `
581
679
  <system-reminder>
582
680
  You have an existing todo list from earlier in this conversation:
583
681
  ${lines.join("\n")}
584
682
  This list is shown to the user, so it must accurately reflect what you are actually working on right now. Update it with todo_write (merge=true) as you make progress, and keep calling todo_write until every item is in a terminal state. If the list is no longer relevant to the current request, call todo_write with merge=false and an empty todos array to clear it.
585
683
  </system-reminder>
586
- `;
684
+ `);
587
685
  }
588
686
  function createStateMachineDefinitionTool(getStateMachine,
589
687
  // Base directory used to resolve a relative state `cwd` before checking it
590
688
  // exists, matching the resolution used when the state actually runs.
591
- baseCwd) {
689
+ baseCwd, scheduleValidation) {
592
690
  return {
593
691
  name: "create_state_machine_definition",
692
+ executionMode: "sequential",
594
693
  label: "Create state machine definition",
595
694
  description: dedent `
596
695
  Create a new state-machine definition for durable, multi-step, or recurring work. See the system prompt for full routing rules (when to choose this over todo_write, how states resume, terminal acknowledgment, etc.). This description only covers the call shape. The states you define here ARE the visible plan for this work, so do not also call todo_write to mirror or track the same phases; the state machine is already the plan surface.
@@ -609,7 +708,7 @@ baseCwd) {
609
708
  "firstState": "step-1"
610
709
  }
611
710
 
612
- State \`kind\` is one of \`agent\`, \`script\`, \`poll\`, \`timer\`, \`terminal\`. Poll \`intervalMs\`, timer \`wakeAt\`, and timer \`wakeAfterMs\` must be ≥ 15 minutes; agent/script states have no minimum duration. Durations accept human-readable strings like \`"3h"\` or \`"5d"\` parsed by the \`ms\` package, and \`wakeAt\` accepts ISO 8601 strings like \`"2026-05-24T18:00:00Z"\`; raw millisecond numbers still work as a fallback. Timer states must set exactly one of \`wakeAt\` (absolute) or \`wakeAfterMs\` (relative from selection time). Every definition needs at least one \`terminal\` state with status "completed"; "failed" and "cancelled" terminals are auto-injected if omitted.
711
+ State \`kind\` is one of \`agent\`, \`script\`, \`poll\`, \`timer\`, \`park\`, \`terminal\`. A park holds the machine without running work or scheduling a wake while you converse with or ask the user. Poll \`intervalMs\`, timer \`wakeAt\`, and timer \`wakeAfterMs\` must be ≥ 15 minutes; agent/script states have no minimum duration. Durations accept human-readable strings like \`"3h"\` or \`"5d"\` parsed by the \`ms\` package, and \`wakeAt\` accepts ISO 8601 strings like \`"2026-05-24T18:00:00Z"\`; raw millisecond numbers still work as a fallback. Timer states must set exactly one of \`wakeAt\` (absolute) or \`wakeAfterMs\` (relative from selection time). Every definition needs at least one \`terminal\` state with status "completed"; "failed" and "cancelled" terminals are auto-injected if omitted.
613
712
 
614
713
  State prompts and script commands may use \`{{ input.foo }}\` templates — declare \`inputSchema\` on those states and pass matching \`input\` when selecting them via select_state_machine_state. Agent states may set \`allowedSkills\` to restrict the skill set for that sub-agent.
615
714
 
@@ -631,14 +730,18 @@ baseCwd) {
631
730
  if (active && !active.terminal && params.replaceActive !== true) {
632
731
  throw new Error(activeStateMachineCreateError(active));
633
732
  }
634
- assertValidDefinition(params.definition, baseCwd);
733
+ assertValidDefinition(params.definition, baseCwd, scheduleValidation);
635
734
  const result = {
636
735
  type: "create_state_machine_definition",
637
736
  definition: params.definition,
638
737
  firstState: params.firstState,
639
738
  };
739
+ const firstState = params.definition.states.find((state) => state.name === params.firstState);
740
+ const text = firstState?.kind === "park"
741
+ ? `${JSON.stringify(result, null, 2)}\n\n${parkNudge(firstState.name)}`
742
+ : JSON.stringify(result, null, 2);
640
743
  return {
641
- content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
744
+ content: [{ type: "text", text }],
642
745
  details: result,
643
746
  terminate: true,
644
747
  };
@@ -653,9 +756,10 @@ function createSelectStateTool(getDefinition,
653
756
  baseCwd) {
654
757
  return {
655
758
  name: "select_state_machine_state",
759
+ executionMode: "sequential",
656
760
  label: "Select state machine state",
657
761
  description: dedent `
658
- Select the next state-machine state. \`decision.state\` must exactly match one of the state names declared in the active definition; the named state's own kind in the definition (agent, script, poll, timer, or terminal) drives what runs. When the selected state has inputSchema or template strings like {{ input.email }}, pass the matching input object here. Poll overrides must keep intervalMs set; timer overrides may replace wakeAt or wakeAfterMs (exactly one).
762
+ Select the next state-machine state. \`decision.state\` must exactly match one of the state names declared in the active definition; the named state's own kind in the definition (agent, script, poll, timer, park, or terminal) drives what runs. When the selected state has inputSchema or template strings like {{ input.email }}, pass the matching input object here. Poll overrides must keep intervalMs set; timer overrides may replace wakeAt or wakeAfterMs (exactly one).
659
763
 
660
764
  Carry forward what the orchestrator now knows. By default, agent states run in a fresh sub-agent context with no view of the previous state's transcript, tool output, or output value — they only see the rendered prompt and the input you pass here. So when a previous state surfaced facts the next state will need (file paths, IDs, error messages, decisions, summaries, root causes), either pass them as \`input\` (when the state's inputSchema has matching fields) or use \`override.prompt\` to inline the findings into the next state's prompt before running it. A static prompt that says "using the findings from the previous step" without inputs or an override is a bug: a fresh sub-agent has no way to read those findings, and neither your reasoning nor your reply text reaches it — this call's \`input\`/\`override.prompt\` is its only channel. Put the facts there on the FIRST select into a finding-dependent state; selecting it bare and adding context only after it comes back confused is the failure mode, not the fix. If restating the needed context would be lossy, set \`override.state.forkContext: true\` on an agent state so it starts with a copy of the parent transcript; leave it off for self-contained work because it copies the full context.
661
765
 
@@ -679,8 +783,12 @@ baseCwd) {
679
783
  };
680
784
  assertValidSelectedState(decision, definition, baseCwd);
681
785
  const result = { type: "select_state_machine_state", decision };
786
+ const selectedState = definition?.states.find((state) => state.name === decision.state);
787
+ const text = selectedState?.kind === "park"
788
+ ? `${JSON.stringify(result, null, 2)}\n\n${parkNudge(selectedState.name)}`
789
+ : JSON.stringify(result, null, 2);
682
790
  return {
683
- content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
791
+ content: [{ type: "text", text }],
684
792
  details: result,
685
793
  terminate: true,
686
794
  };
@@ -800,15 +908,15 @@ function assertValidStateInput(state, input) {
800
908
  // work that survives sleeps, wakes, and background execution; anything shorter
801
909
  // than this should be performed directly in the parent turn rather than paid
802
910
  // for with the orchestration overhead of a state machine.
803
- const MINIMUM_STATE_MACHINE_DELAY_MS = 15 * 60 * 1000;
804
- function assertValidDefinition(definition, baseCwd) {
911
+ export const MINIMUM_STATE_MACHINE_DELAY_MS = 15 * 60 * 1000;
912
+ function assertValidDefinition(definition, baseCwd, scheduleValidation) {
805
913
  for (const state of definition.states) {
806
914
  if (state.name === INTERRUPTED_STATE_MACHINE_STATE) {
807
915
  throw new Error(`State name "${INTERRUPTED_STATE_MACHINE_STATE}" is reserved.`);
808
916
  }
809
917
  assertValidStateInputSchema(state);
810
918
  assertValidStateSchedule(state);
811
- assertValidStateScheduleMinimum(state);
919
+ assertValidStateScheduleMinimum(state, scheduleValidation);
812
920
  assertValidStateCwd(state, baseCwd, CREATE_CWD_GUIDANCE);
813
921
  }
814
922
  injectMissingTerminalEscapeHatches(definition);
@@ -868,25 +976,31 @@ function assertValidStateSchedule(state) {
868
976
  // created. Existing definitions handed to the runner via `mode:` may legitimately
869
977
  // have shorter cadences from configuration the agent did not author, and the
870
978
  // runtime should run them as-is rather than re-litigating the boundary.
871
- function assertValidStateScheduleMinimum(state) {
979
+ function assertValidStateScheduleMinimum(state, input) {
872
980
  if (state.kind === "poll" && state.intervalMs !== undefined) {
873
981
  const intervalMs = parseDurationToMs(state.intervalMs, `Invalid poll schedule for state "${state.name}": intervalMs`);
874
- if (intervalMs < MINIMUM_STATE_MACHINE_DELAY_MS) {
875
- throw new Error(`Invalid poll schedule for state "${state.name}": intervalMs must be at least 15 minutes (${MINIMUM_STATE_MACHINE_DELAY_MS} ms). Anything shorter should run directly in the parent turn instead of through a state machine.`);
982
+ if (intervalMs < input.minimumScheduledDelayMs) {
983
+ throw new Error(`Invalid poll schedule for state "${state.name}": intervalMs must be at least ${scheduleFloorDescription(input.minimumScheduledDelayMs, true)}. Anything shorter should run directly in the parent turn instead of through a state machine.`);
876
984
  }
877
985
  }
878
986
  if (state.kind === "timer" && state.wakeAt !== undefined) {
879
987
  const wakeAt = parseWakeAtToMs(state.wakeAt, `Invalid timer schedule for state "${state.name}": wakeAt`);
880
- const minWakeAt = Date.now() + MINIMUM_STATE_MACHINE_DELAY_MS;
988
+ const minWakeAt = input.clock.now() + input.minimumScheduledDelayMs;
881
989
  if (wakeAt < minWakeAt) {
882
- throw new Error(`Invalid timer schedule for state "${state.name}": wakeAt must be at least 15 minutes in the future. Anything shorter should run directly in the parent turn instead of through a state machine.`);
990
+ throw new Error(`Invalid timer schedule for state "${state.name}": wakeAt must be at least ${scheduleFloorDescription(input.minimumScheduledDelayMs)} in the future. Anything shorter should run directly in the parent turn instead of through a state machine.`);
883
991
  }
884
992
  }
885
993
  if (state.kind === "timer" && state.wakeAfterMs !== undefined) {
886
994
  const wakeAfterMs = parseDurationToMs(state.wakeAfterMs, `Invalid timer schedule for state "${state.name}": wakeAfterMs`);
887
- if (wakeAfterMs < MINIMUM_STATE_MACHINE_DELAY_MS) {
888
- throw new Error(`Invalid timer schedule for state "${state.name}": wakeAfterMs must be at least 15 minutes (${MINIMUM_STATE_MACHINE_DELAY_MS} ms). Anything shorter should run directly in the parent turn instead of through a state machine.`);
995
+ if (wakeAfterMs < input.minimumScheduledDelayMs) {
996
+ throw new Error(`Invalid timer schedule for state "${state.name}": wakeAfterMs must be at least ${scheduleFloorDescription(input.minimumScheduledDelayMs, true)}. Anything shorter should run directly in the parent turn instead of through a state machine.`);
889
997
  }
890
998
  }
891
999
  }
1000
+ function scheduleFloorDescription(delayMs, includeMilliseconds = false) {
1001
+ if (delayMs === MINIMUM_STATE_MACHINE_DELAY_MS) {
1002
+ return includeMilliseconds ? `15 minutes (${delayMs} ms)` : "15 minutes";
1003
+ }
1004
+ return `${delayMs} ms`;
1005
+ }
892
1006
  //# sourceMappingURL=tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/turn-runner/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/turn-runner/tools.ts"],"names":[],"mappings":"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"}