@namzu/sdk 59.0.0 → 60.0.0

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 (260) hide show
  1. package/CHANGELOG.md +102 -0
  2. package/dist/compaction/context-window.d.ts +53 -0
  3. package/dist/compaction/context-window.d.ts.map +1 -1
  4. package/dist/compaction/context-window.js +141 -2
  5. package/dist/compaction/context-window.js.map +1 -1
  6. package/dist/execution/workflow/index.d.ts +3 -1
  7. package/dist/execution/workflow/index.d.ts.map +1 -1
  8. package/dist/execution/workflow/index.js +2 -1
  9. package/dist/execution/workflow/index.js.map +1 -1
  10. package/dist/execution/workflow/journal.d.ts +24 -4
  11. package/dist/execution/workflow/journal.d.ts.map +1 -1
  12. package/dist/execution/workflow/journal.js +131 -9
  13. package/dist/execution/workflow/journal.js.map +1 -1
  14. package/dist/execution/workflow/prelude.d.ts +2 -0
  15. package/dist/execution/workflow/prelude.d.ts.map +1 -1
  16. package/dist/execution/workflow/prelude.js +49 -8
  17. package/dist/execution/workflow/prelude.js.map +1 -1
  18. package/dist/execution/workflow/resume.d.ts +59 -0
  19. package/dist/execution/workflow/resume.d.ts.map +1 -0
  20. package/dist/execution/workflow/resume.js +273 -0
  21. package/dist/execution/workflow/resume.js.map +1 -0
  22. package/dist/execution/workflow/runtime.d.ts.map +1 -1
  23. package/dist/execution/workflow/runtime.js +112 -8
  24. package/dist/execution/workflow/runtime.js.map +1 -1
  25. package/dist/execution/workflow/types.d.ts +105 -1
  26. package/dist/execution/workflow/types.d.ts.map +1 -1
  27. package/dist/index.d.ts +3 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +4 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/plugin/compat.d.ts +24 -0
  32. package/dist/plugin/compat.d.ts.map +1 -0
  33. package/dist/plugin/compat.js +149 -0
  34. package/dist/plugin/compat.js.map +1 -0
  35. package/dist/plugin/loader.d.ts +2 -1
  36. package/dist/plugin/loader.d.ts.map +1 -1
  37. package/dist/plugin/loader.js +6 -0
  38. package/dist/plugin/loader.js.map +1 -1
  39. package/dist/pricing/index.d.ts.map +1 -1
  40. package/dist/pricing/index.js +2 -1
  41. package/dist/pricing/index.js.map +1 -1
  42. package/dist/process/kill-tree.d.ts +44 -0
  43. package/dist/process/kill-tree.d.ts.map +1 -1
  44. package/dist/process/kill-tree.js +102 -4
  45. package/dist/process/kill-tree.js.map +1 -1
  46. package/dist/prompt/coding-agent-doctrine.d.ts +1 -1
  47. package/dist/prompt/coding-agent-doctrine.d.ts.map +1 -1
  48. package/dist/prompt/coding-agent-doctrine.js +9 -1
  49. package/dist/prompt/coding-agent-doctrine.js.map +1 -1
  50. package/dist/provider/model-window-suffix.d.ts +18 -0
  51. package/dist/provider/model-window-suffix.d.ts.map +1 -0
  52. package/dist/provider/model-window-suffix.js +77 -0
  53. package/dist/provider/model-window-suffix.js.map +1 -0
  54. package/dist/public-runtime.d.ts +5 -3
  55. package/dist/public-runtime.d.ts.map +1 -1
  56. package/dist/public-runtime.js +5 -4
  57. package/dist/public-runtime.js.map +1 -1
  58. package/dist/public-types.d.ts +1 -0
  59. package/dist/public-types.d.ts.map +1 -1
  60. package/dist/registry/command/kernel-commands.d.ts +1 -4
  61. package/dist/registry/command/kernel-commands.d.ts.map +1 -1
  62. package/dist/registry/command/kernel-commands.js +0 -28
  63. package/dist/registry/command/kernel-commands.js.map +1 -1
  64. package/dist/runtime/jobs/awaited-jobs.d.ts +6 -0
  65. package/dist/runtime/jobs/awaited-jobs.d.ts.map +1 -1
  66. package/dist/runtime/jobs/awaited-jobs.js +11 -0
  67. package/dist/runtime/jobs/awaited-jobs.js.map +1 -1
  68. package/dist/runtime/jobs/host-exit-finalizer.d.ts +20 -0
  69. package/dist/runtime/jobs/host-exit-finalizer.d.ts.map +1 -0
  70. package/dist/runtime/jobs/host-exit-finalizer.js +57 -0
  71. package/dist/runtime/jobs/host-exit-finalizer.js.map +1 -0
  72. package/dist/runtime/jobs/liveness.d.ts +67 -0
  73. package/dist/runtime/jobs/liveness.d.ts.map +1 -0
  74. package/dist/runtime/jobs/liveness.js +94 -0
  75. package/dist/runtime/jobs/liveness.js.map +1 -0
  76. package/dist/runtime/jobs/registry.d.ts +21 -0
  77. package/dist/runtime/jobs/registry.d.ts.map +1 -1
  78. package/dist/runtime/jobs/registry.js +104 -2
  79. package/dist/runtime/jobs/registry.js.map +1 -1
  80. package/dist/runtime/jobs/wake-budget.d.ts +35 -0
  81. package/dist/runtime/jobs/wake-budget.d.ts.map +1 -0
  82. package/dist/runtime/jobs/wake-budget.js +48 -0
  83. package/dist/runtime/jobs/wake-budget.js.map +1 -0
  84. package/dist/runtime/query/detached-calls.d.ts +65 -0
  85. package/dist/runtime/query/detached-calls.d.ts.map +1 -0
  86. package/dist/runtime/query/detached-calls.js +116 -0
  87. package/dist/runtime/query/detached-calls.js.map +1 -0
  88. package/dist/runtime/query/executor.d.ts +4 -1
  89. package/dist/runtime/query/executor.d.ts.map +1 -1
  90. package/dist/runtime/query/executor.js +90 -6
  91. package/dist/runtime/query/executor.js.map +1 -1
  92. package/dist/runtime/query/index.d.ts +20 -0
  93. package/dist/runtime/query/index.d.ts.map +1 -1
  94. package/dist/runtime/query/index.js +31 -5
  95. package/dist/runtime/query/index.js.map +1 -1
  96. package/dist/runtime/query/iteration/outstanding-work.d.ts.map +1 -1
  97. package/dist/runtime/query/iteration/outstanding-work.js +11 -3
  98. package/dist/runtime/query/iteration/outstanding-work.js.map +1 -1
  99. package/dist/runtime/query/iteration/phases/context.d.ts +7 -0
  100. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  101. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  102. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  103. package/dist/runtime/query/iteration/phases/tool-review.js +63 -1
  104. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  105. package/dist/runtime/query/session-storage.d.ts.map +1 -1
  106. package/dist/runtime/query/session-storage.js +8 -3
  107. package/dist/runtime/query/session-storage.js.map +1 -1
  108. package/dist/runtime/query/steering.d.ts +29 -3
  109. package/dist/runtime/query/steering.d.ts.map +1 -1
  110. package/dist/runtime/query/steering.js +58 -3
  111. package/dist/runtime/query/steering.js.map +1 -1
  112. package/dist/runtime/query/tooling.d.ts +1 -0
  113. package/dist/runtime/query/tooling.d.ts.map +1 -1
  114. package/dist/runtime/query/tooling.js +1 -0
  115. package/dist/runtime/query/tooling.js.map +1 -1
  116. package/dist/runtime/system-events.d.ts +5 -0
  117. package/dist/runtime/system-events.d.ts.map +1 -1
  118. package/dist/runtime/system-events.js +7 -1
  119. package/dist/runtime/system-events.js.map +1 -1
  120. package/dist/sandbox/denial.d.ts +11 -0
  121. package/dist/sandbox/denial.d.ts.map +1 -0
  122. package/dist/sandbox/denial.js +61 -0
  123. package/dist/sandbox/denial.js.map +1 -0
  124. package/dist/sandbox/file-walk-program.d.ts.map +1 -1
  125. package/dist/sandbox/file-walk-program.js +31 -13
  126. package/dist/sandbox/file-walk-program.js.map +1 -1
  127. package/dist/sandbox/file-walk.d.ts +2 -0
  128. package/dist/sandbox/file-walk.d.ts.map +1 -1
  129. package/dist/sandbox/file-walk.js +64 -13
  130. package/dist/sandbox/file-walk.js.map +1 -1
  131. package/dist/sandbox/ignore-matcher.d.ts +30 -0
  132. package/dist/sandbox/ignore-matcher.d.ts.map +1 -0
  133. package/dist/sandbox/ignore-matcher.js +11 -0
  134. package/dist/sandbox/ignore-matcher.js.map +1 -0
  135. package/dist/sandbox/ignore-source.d.ts +26 -0
  136. package/dist/sandbox/ignore-source.d.ts.map +1 -0
  137. package/dist/sandbox/ignore-source.js +221 -0
  138. package/dist/sandbox/ignore-source.js.map +1 -0
  139. package/dist/sandbox/provider/local.d.ts.map +1 -1
  140. package/dist/sandbox/provider/local.js +11 -1
  141. package/dist/sandbox/provider/local.js.map +1 -1
  142. package/dist/scheduler/completion-inbox.d.ts.map +1 -1
  143. package/dist/scheduler/completion-inbox.js +1 -0
  144. package/dist/scheduler/completion-inbox.js.map +1 -1
  145. package/dist/session/log-hash.d.ts.map +1 -1
  146. package/dist/session/log-hash.js +18 -1
  147. package/dist/session/log-hash.js.map +1 -1
  148. package/dist/store/session-index/sqlite.d.ts.map +1 -1
  149. package/dist/store/session-index/sqlite.js +169 -16
  150. package/dist/store/session-index/sqlite.js.map +1 -1
  151. package/dist/tools/builtins/bash.d.ts.map +1 -1
  152. package/dist/tools/builtins/bash.js +10 -4
  153. package/dist/tools/builtins/bash.js.map +1 -1
  154. package/dist/tools/builtins/computer-use.d.ts +35 -0
  155. package/dist/tools/builtins/computer-use.d.ts.map +1 -1
  156. package/dist/tools/builtins/computer-use.js +512 -67
  157. package/dist/tools/builtins/computer-use.js.map +1 -1
  158. package/dist/tools/builtins/glob.d.ts +1 -0
  159. package/dist/tools/builtins/glob.d.ts.map +1 -1
  160. package/dist/tools/builtins/glob.js +65 -28
  161. package/dist/tools/builtins/glob.js.map +1 -1
  162. package/dist/tools/builtins/grep.d.ts +2 -0
  163. package/dist/tools/builtins/grep.d.ts.map +1 -1
  164. package/dist/tools/builtins/grep.js +94 -40
  165. package/dist/tools/builtins/grep.js.map +1 -1
  166. package/dist/tools/builtins/job.d.ts +1 -1
  167. package/dist/tools/builtins/job.d.ts.map +1 -1
  168. package/dist/tools/builtins/job.js +34 -7
  169. package/dist/tools/builtins/job.js.map +1 -1
  170. package/dist/tools/builtins/search-support.d.ts +44 -0
  171. package/dist/tools/builtins/search-support.d.ts.map +1 -0
  172. package/dist/tools/builtins/search-support.js +89 -0
  173. package/dist/tools/builtins/search-support.js.map +1 -0
  174. package/dist/tools/builtins/wait-for-job-bounds.d.ts +2 -0
  175. package/dist/tools/builtins/wait-for-job-bounds.d.ts.map +1 -1
  176. package/dist/tools/builtins/wait-for-job-bounds.js +3 -1
  177. package/dist/tools/builtins/wait-for-job-bounds.js.map +1 -1
  178. package/dist/tools/builtins/wait-for-job.d.ts +1 -1
  179. package/dist/tools/builtins/wait-for-job.d.ts.map +1 -1
  180. package/dist/tools/builtins/wait-for-job.js +13 -2
  181. package/dist/tools/builtins/wait-for-job.js.map +1 -1
  182. package/dist/tools/command-shell.d.ts.map +1 -1
  183. package/dist/tools/command-shell.js +14 -5
  184. package/dist/tools/command-shell.js.map +1 -1
  185. package/dist/types/computer-use/index.d.ts +129 -13
  186. package/dist/types/computer-use/index.d.ts.map +1 -1
  187. package/dist/types/computer-use/index.js.map +1 -1
  188. package/dist/types/plugin/index.d.ts +24 -0
  189. package/dist/types/plugin/index.d.ts.map +1 -1
  190. package/dist/types/plugin/index.js +4 -0
  191. package/dist/types/plugin/index.js.map +1 -1
  192. package/dist/types/sandbox/index.d.ts +38 -1
  193. package/dist/types/sandbox/index.d.ts.map +1 -1
  194. package/dist/types/sandbox/index.js.map +1 -1
  195. package/dist/types/session/records.d.ts +264 -0
  196. package/dist/types/session/records.d.ts.map +1 -1
  197. package/dist/types/session/records.js +32 -1
  198. package/dist/types/session/records.js.map +1 -1
  199. package/dist/types/tool/index.d.ts +30 -0
  200. package/dist/types/tool/index.d.ts.map +1 -1
  201. package/dist/types/tool/index.js.map +1 -1
  202. package/dist/types/tool/presentation.d.ts +8 -0
  203. package/dist/types/tool/presentation.d.ts.map +1 -1
  204. package/package.json +1 -1
  205. package/src/compaction/context-window.ts +163 -2
  206. package/src/execution/workflow/index.ts +14 -1
  207. package/src/execution/workflow/journal.ts +161 -11
  208. package/src/execution/workflow/prelude.ts +51 -8
  209. package/src/execution/workflow/resume.ts +313 -0
  210. package/src/execution/workflow/runtime.ts +127 -9
  211. package/src/execution/workflow/types.ts +109 -1
  212. package/src/index.ts +17 -0
  213. package/src/plugin/compat.ts +173 -0
  214. package/src/plugin/loader.ts +7 -1
  215. package/src/pricing/index.ts +2 -1
  216. package/src/process/kill-tree.ts +106 -4
  217. package/src/prompt/coding-agent-doctrine.ts +9 -1
  218. package/src/provider/model-window-suffix.ts +84 -0
  219. package/src/public-runtime.ts +21 -2
  220. package/src/public-types.ts +1 -0
  221. package/src/registry/command/kernel-commands.ts +1 -32
  222. package/src/runtime/jobs/awaited-jobs.ts +11 -0
  223. package/src/runtime/jobs/host-exit-finalizer.ts +67 -0
  224. package/src/runtime/jobs/liveness.ts +144 -0
  225. package/src/runtime/jobs/registry.ts +114 -2
  226. package/src/runtime/jobs/wake-budget.ts +55 -0
  227. package/src/runtime/query/detached-calls.ts +135 -0
  228. package/src/runtime/query/executor.ts +92 -10
  229. package/src/runtime/query/index.ts +50 -7
  230. package/src/runtime/query/iteration/outstanding-work.ts +12 -3
  231. package/src/runtime/query/iteration/phases/context.ts +7 -0
  232. package/src/runtime/query/iteration/phases/tool-review.ts +73 -8
  233. package/src/runtime/query/session-storage.ts +8 -3
  234. package/src/runtime/query/steering.ts +77 -6
  235. package/src/runtime/query/tooling.ts +2 -0
  236. package/src/runtime/system-events.ts +12 -1
  237. package/src/sandbox/denial.ts +79 -0
  238. package/src/sandbox/file-walk-program.ts +32 -13
  239. package/src/sandbox/file-walk.ts +75 -12
  240. package/src/sandbox/ignore-matcher.ts +46 -0
  241. package/src/sandbox/ignore-source.ts +220 -0
  242. package/src/sandbox/provider/local.ts +11 -1
  243. package/src/scheduler/completion-inbox.ts +1 -0
  244. package/src/session/log-hash.ts +21 -0
  245. package/src/store/session-index/sqlite.ts +171 -16
  246. package/src/tools/builtins/bash.ts +11 -4
  247. package/src/tools/builtins/computer-use.ts +593 -68
  248. package/src/tools/builtins/glob.ts +79 -32
  249. package/src/tools/builtins/grep.ts +107 -43
  250. package/src/tools/builtins/job.ts +42 -12
  251. package/src/tools/builtins/search-support.ts +107 -0
  252. package/src/tools/builtins/wait-for-job-bounds.ts +5 -1
  253. package/src/tools/builtins/wait-for-job.ts +14 -2
  254. package/src/tools/command-shell.ts +13 -5
  255. package/src/types/computer-use/index.ts +157 -15
  256. package/src/types/plugin/index.ts +8 -0
  257. package/src/types/sandbox/index.ts +40 -1
  258. package/src/types/session/records.ts +36 -2
  259. package/src/types/tool/index.ts +30 -0
  260. package/src/types/tool/presentation.ts +8 -0
@@ -0,0 +1,65 @@
1
+ import type { ToolCallOutcome } from './executor.js';
2
+ /**
3
+ * Tool calls that were still running when the operator wrote.
4
+ *
5
+ * A model cannot answer while a `tool_use` block has no `tool_result`, and a
6
+ * long call used to hold the operator's question until it finished: the person
7
+ * asked how things stand and heard nothing for as long as the call took. When
8
+ * the operator writes while a call has been running for a while, the batch
9
+ * answers the unfinished calls with a placeholder result, the model reads the
10
+ * message at once, and the call carries on untouched. Its real result reaches
11
+ * the model later as a message of its own that names the call.
12
+ *
13
+ * This holds the bookkeeping for one turn: which calls were handed back this
14
+ * way, and the outcomes that have arrived since.
15
+ */
16
+ /** How long a call must have been running before an operator message detaches it. */
17
+ export declare const DETACH_AFTER_MS = 2000;
18
+ /**
19
+ * What a model reads as the result of a call that is still running.
20
+ *
21
+ * It says the call goes on, what not to do about it, and what to tell the
22
+ * person; the model never sees these words as anything the tool printed.
23
+ */
24
+ export declare function stillRunningResult(toolName: string, started?: boolean): string;
25
+ /** What a model reads when a call it was told was still running has finished. */
26
+ export declare function formatLateResults(outcomes: readonly ToolCallOutcome[]): string;
27
+ export declare class DetachedCalls {
28
+ readonly waitForOperator?: ((signal: AbortSignal) => Promise<void>) | undefined;
29
+ private readonly open;
30
+ private arrived;
31
+ private readonly waiters;
32
+ /**
33
+ * `waitForOperator` resolves when the operator wrote and at no other wake: a
34
+ * child's notice or a peer's mail must not hand a call back, because the
35
+ * model would then get a turn with no question to answer.
36
+ */
37
+ constructor(waitForOperator?: ((signal: AbortSignal) => Promise<void>) | undefined);
38
+ /** A call was answered with the placeholder and is still running. */
39
+ begin(toolCallId: string, toolName: string): void;
40
+ /** The real outcome of a detached call. Ignored for a call that was never detached. */
41
+ settle(outcome: ToolCallOutcome): void;
42
+ /** True while a call is still running or its outcome has not been read. */
43
+ get hasWork(): boolean;
44
+ /** Calls still running. */
45
+ get running(): number;
46
+ /** The outcomes that have arrived since the last read, in arrival order. */
47
+ take(): readonly ToolCallOutcome[];
48
+ /**
49
+ * Resolves when an outcome is waiting, when nothing is running, after
50
+ * `graceMs`, or rejects when `signal` aborts. Resolving early is never
51
+ * delivery: the caller reads with {@link take}.
52
+ */
53
+ waitForArrival(graceMs: number, signal: AbortSignal): Promise<void>;
54
+ private wake;
55
+ }
56
+ /**
57
+ * What one batch needs to hand its unfinished calls back. `requested` settles
58
+ * once the operator has written and the batch has run for {@link DETACH_AFTER_MS};
59
+ * `calls` receives each call that was handed back and, later, its outcome.
60
+ */
61
+ export interface BatchDetach {
62
+ readonly requested: Promise<void>;
63
+ readonly calls: DetachedCalls;
64
+ }
65
+ //# sourceMappingURL=detached-calls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detached-calls.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/detached-calls.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD;;;;;;;;;;;;;GAaG;AAEH,qFAAqF;AACrF,eAAO,MAAM,eAAe,OAAQ,CAAA;AAEpC;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,UAAO,GAAG,MAAM,CAc3E;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,GAAG,MAAM,CAM9E;AAED,qBAAa,aAAa;IAUb,QAAQ,CAAC,eAAe,CAAC,GAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC;IAT7E,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA4B;IACjD,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAEhD;;;;OAIG;gBACkB,eAAe,CAAC,GAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,aAAA;IAE7E,qEAAqE;IACrE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIjD,uFAAuF;IACvF,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAMtC,2EAA2E;IAC3E,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,2BAA2B;IAC3B,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,4EAA4E;IAC5E,IAAI,IAAI,SAAS,eAAe,EAAE;IAMlC;;;;OAIG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBnE,OAAO,CAAC,IAAI;CAGZ;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAA;CAC7B"}
@@ -0,0 +1,116 @@
1
+ import { frameNotice } from '../../types/message/notice-frame.js';
2
+ /**
3
+ * Tool calls that were still running when the operator wrote.
4
+ *
5
+ * A model cannot answer while a `tool_use` block has no `tool_result`, and a
6
+ * long call used to hold the operator's question until it finished: the person
7
+ * asked how things stand and heard nothing for as long as the call took. When
8
+ * the operator writes while a call has been running for a while, the batch
9
+ * answers the unfinished calls with a placeholder result, the model reads the
10
+ * message at once, and the call carries on untouched. Its real result reaches
11
+ * the model later as a message of its own that names the call.
12
+ *
13
+ * This holds the bookkeeping for one turn: which calls were handed back this
14
+ * way, and the outcomes that have arrived since.
15
+ */
16
+ /** How long a call must have been running before an operator message detaches it. */
17
+ export const DETACH_AFTER_MS = 2_000;
18
+ /**
19
+ * What a model reads as the result of a call that is still running.
20
+ *
21
+ * It says the call goes on, what not to do about it, and what to tell the
22
+ * person; the model never sees these words as anything the tool printed.
23
+ */
24
+ export function stillRunningResult(toolName, started = true) {
25
+ if (!started) {
26
+ return [
27
+ `[Waiting to start] The ${toolName} call has not started: it is queued behind an earlier call in this batch. The operator wrote a message while the batch ran, and that message follows so you can answer it now.`,
28
+ 'The call will start by itself when the earlier one ends, and its result will arrive in a later message that names this call id.',
29
+ 'Repeating the call would run the work twice, and waiting or polling for it would delay your answer, so do neither. If they ask, say it has not started yet.',
30
+ ].join('\n');
31
+ }
32
+ return [
33
+ `[Still running] The ${toolName} call has not finished. The operator wrote a message while it ran, and that message follows so you can answer it now.`,
34
+ 'The call was not interrupted. Its result will arrive on its own, in a later message that names this call id.',
35
+ 'Repeating the call would run the work twice, and waiting or polling for it would delay your answer, so do neither.',
36
+ 'You cannot stop it from here, so do not say you cancelled or dropped it. On the operator’s screen it still shows as in progress; if they ask, say it is still running.',
37
+ ].join('\n');
38
+ }
39
+ /** What a model reads when a call it was told was still running has finished. */
40
+ export function formatLateResults(outcomes) {
41
+ const parts = outcomes.map((outcome) => `The ${outcome.toolName} call with id ${outcome.toolCallId}, which you were told was still running, has finished${outcome.isError ? ' with an error' : ''}. This is what it returned:\n${outcome.output}`);
42
+ return frameNotice('job', '[Tool call finished]', parts.join('\n\n'));
43
+ }
44
+ export class DetachedCalls {
45
+ waitForOperator;
46
+ open = new Map();
47
+ arrived = [];
48
+ waiters = new Set();
49
+ /**
50
+ * `waitForOperator` resolves when the operator wrote and at no other wake: a
51
+ * child's notice or a peer's mail must not hand a call back, because the
52
+ * model would then get a turn with no question to answer.
53
+ */
54
+ constructor(waitForOperator) {
55
+ this.waitForOperator = waitForOperator;
56
+ }
57
+ /** A call was answered with the placeholder and is still running. */
58
+ begin(toolCallId, toolName) {
59
+ this.open.set(toolCallId, toolName);
60
+ }
61
+ /** The real outcome of a detached call. Ignored for a call that was never detached. */
62
+ settle(outcome) {
63
+ if (!this.open.delete(outcome.toolCallId))
64
+ return;
65
+ this.arrived.push(outcome);
66
+ this.wake();
67
+ }
68
+ /** True while a call is still running or its outcome has not been read. */
69
+ get hasWork() {
70
+ return this.open.size > 0 || this.arrived.length > 0;
71
+ }
72
+ /** Calls still running. */
73
+ get running() {
74
+ return this.open.size;
75
+ }
76
+ /** The outcomes that have arrived since the last read, in arrival order. */
77
+ take() {
78
+ const taken = this.arrived;
79
+ this.arrived = [];
80
+ return taken;
81
+ }
82
+ /**
83
+ * Resolves when an outcome is waiting, when nothing is running, after
84
+ * `graceMs`, or rejects when `signal` aborts. Resolving early is never
85
+ * delivery: the caller reads with {@link take}.
86
+ */
87
+ waitForArrival(graceMs, signal) {
88
+ if (this.arrived.length > 0 || this.open.size === 0)
89
+ return Promise.resolve();
90
+ if (signal.aborted)
91
+ return Promise.reject(signal.reason);
92
+ return new Promise((resolve, reject) => {
93
+ const done = () => {
94
+ clearTimeout(timer);
95
+ this.waiters.delete(wake);
96
+ signal.removeEventListener('abort', abort);
97
+ };
98
+ const wake = () => {
99
+ done();
100
+ resolve();
101
+ };
102
+ const abort = () => {
103
+ done();
104
+ reject(signal.reason);
105
+ };
106
+ const timer = setTimeout(wake, Math.max(0, graceMs));
107
+ this.waiters.add(wake);
108
+ signal.addEventListener('abort', abort, { once: true });
109
+ });
110
+ }
111
+ wake() {
112
+ for (const wake of [...this.waiters])
113
+ wake();
114
+ }
115
+ }
116
+ //# sourceMappingURL=detached-calls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detached-calls.js","sourceRoot":"","sources":["../../../src/runtime/query/detached-calls.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ import type { RepairToolCall } from '../../types/tool/repair.js';
24
24
  import { type BackoffPolicy } from '../../utils/backoff.js';
25
25
  import type { Logger } from '../../utils/logger.js';
26
26
  import { type BackgroundJobRegistry } from '../jobs/registry.js';
27
+ import { type BatchDetach } from './detached-calls.js';
27
28
  import { type FileEvidence } from './file-evidence-context.js';
28
29
  import type { ToolResultObservation } from './project-instructions.js';
29
30
  export type { EmitEvent } from './events.js';
@@ -181,6 +182,8 @@ export interface ToolExecutorConfig {
181
182
  * recorder gets no hold rather than a marking call that goes nowhere.
182
183
  */
183
184
  onJobAwaited?: (id: string) => void;
185
+ /** Where a tool result that handed the model a job's exit says so; see `ToolContext.backgroundJobs.markCollected`. */
186
+ onJobCollected?: (id: string) => void;
184
187
  /** The longest a monitor may live in this turn; see `QueryParams.monitorTimeoutCapMs`. */
185
188
  monitorTimeoutCapMs?: number;
186
189
  /**
@@ -637,7 +640,7 @@ export declare class ToolExecutor {
637
640
  /** Re-prepare only calls whose raw input a reviewer actually changed. */
638
641
  reprepareBatchForReview(response: ChatCompletionResponse, previous: PreparedToolBatch, changedCallIds: ReadonlySet<string>): Promise<PreparedToolBatch>;
639
642
  private publishPreparedBatch;
640
- executeBatch(response: ChatCompletionResponse, denials?: ToolCallDenials, prior?: PriorToolResults, preparedBatch?: PreparedToolBatch, declines?: ToolCallDeclines, review?: ReviewedExecution): Promise<ToolExecutionBatch>;
643
+ executeBatch(response: ChatCompletionResponse, denials?: ToolCallDenials, prior?: PriorToolResults, preparedBatch?: PreparedToolBatch, declines?: ToolCallDeclines, review?: ReviewedExecution, detach?: BatchDetach): Promise<ToolExecutionBatch>;
641
644
  private runBatch;
642
645
  /**
643
646
  * Walk the calls of a batch in the model's order, asking about each as it
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/executor.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ import { generateToolCallId } from '../../utils/id.js';
26
26
  import { compressShellOutput } from '../../utils/shell-compress.js';
27
27
  import { parseStructuredResultJson } from '../../utils/structured-result-json.js';
28
28
  import { bindOwner } from '../jobs/registry.js';
29
+ import { stillRunningResult } from './detached-calls.js';
29
30
  import { formatFailedToolOutput, hookNote, isUnregistered, prepareDirectCall, runPreToolHook, unknownToolMessage, } from './executor/tool-call-admission.js';
30
31
  import { describeVisibleFileEvidence, visibleFileEvidence, } from './file-evidence-context.js';
31
32
  import { seedObservationLedger } from './file-evidence-seed.js';
@@ -844,7 +845,7 @@ export class ToolExecutor {
844
845
  this.preparedBatches.add(batch);
845
846
  return batch;
846
847
  }
847
- async executeBatch(response, denials, prior, preparedBatch, declines, review) {
848
+ async executeBatch(response, denials, prior, preparedBatch, declines, review, detach) {
848
849
  const toolCalls = response.message.toolCalls;
849
850
  if (!toolCalls) {
850
851
  return { messages: [], results: [], observations: [] };
@@ -868,9 +869,9 @@ export class ToolExecutor {
868
869
  for (const call of toolCalls)
869
870
  if (!refused.has(call.id))
870
871
  refused.set(call.id, refusal);
871
- return await this.runBatch(toolCalls, refused, prior, owned, declines, review);
872
+ return await this.runBatch(toolCalls, refused, prior, owned, declines, review, detach);
872
873
  }
873
- return await this.runBatch(toolCalls, denials, prior, owned, declines, review);
874
+ return await this.runBatch(toolCalls, denials, prior, owned, declines, review, detach);
874
875
  }
875
876
  finally {
876
877
  // Cleared so a later single execution outside a batch resolves
@@ -878,7 +879,7 @@ export class ToolExecutor {
878
879
  this.batchMode = undefined;
879
880
  }
880
881
  }
881
- async runBatch(toolCalls, denials, prior, preparedBatch, declines, review) {
882
+ async runBatch(toolCalls, denials, prior, preparedBatch, declines, review, detach) {
882
883
  this.log.debug('Executing tool batch', {
883
884
  [NAMZU.TURN_ID]: this.config.turnId,
884
885
  'namzu.runtime.tool_count': toolCalls.length,
@@ -912,6 +913,18 @@ export class ToolExecutor {
912
913
  // (which let the last writer clobber the rest). Results are written by
913
914
  // index to preserve the original tool-call order.
914
915
  const results = new Array(toolCalls.length);
916
+ // Calls handed back to the model as still running (see `detach`), and the
917
+ // ones among them whose real outcome has been reported.
918
+ const handedBack = new Set();
919
+ const reported = new Set();
920
+ // Calls that have begun; one queued behind a serial or barrier call has not.
921
+ const started = new Set();
922
+ const reportLate = (outcome) => {
923
+ if (reported.has(outcome.toolCallId))
924
+ return;
925
+ reported.add(outcome.toolCallId);
926
+ detach?.calls.settle(outcome);
927
+ };
915
928
  const parallel = [];
916
929
  let serial = Promise.resolve();
917
930
  let barrier;
@@ -1028,7 +1041,28 @@ export class ToolExecutor {
1028
1041
  }
1029
1042
  const run = async () => {
1030
1043
  try {
1031
- results[i] = await this.executeSingle(toolCall, ctx, recordObservation, () => progress.close(), preparedCall);
1044
+ let outcome;
1045
+ started.add(toolCall.id);
1046
+ try {
1047
+ outcome = await this.executeSingle(toolCall, ctx, recordObservation, () => progress.close(), preparedCall);
1048
+ }
1049
+ catch (error) {
1050
+ // A call already answered with the placeholder has no batch
1051
+ // left to fail; its failure is its outcome.
1052
+ if (!handedBack.has(toolCall.id))
1053
+ throw error;
1054
+ reportLate({
1055
+ toolCallId: toolCall.id,
1056
+ toolName: toolCall.function.name,
1057
+ output: `Error: Tool "${toolCall.function.name}" did not complete — ${error instanceof Error ? error.message : String(error)}`,
1058
+ isError: true,
1059
+ });
1060
+ return;
1061
+ }
1062
+ if (handedBack.has(toolCall.id))
1063
+ reportLate(outcome);
1064
+ else
1065
+ results[i] = outcome;
1032
1066
  }
1033
1067
  finally {
1034
1068
  await progress.close();
@@ -1067,7 +1101,50 @@ export class ToolExecutor {
1067
1101
  });
1068
1102
  if (review)
1069
1103
  await this.walkReviewed(reviewUnits, results, review);
1070
- await Promise.all([...parallel, serial]);
1104
+ const completion = Promise.all([...parallel, serial]);
1105
+ if (detach && !review) {
1106
+ const first = await Promise.race([
1107
+ completion.then(() => 'finished'),
1108
+ detach.requested.then(() => 'requested'),
1109
+ ]);
1110
+ if (first === 'requested' && toolCalls.some((_, i) => results[i] === undefined)) {
1111
+ // The operator wrote while calls were still running. Answer each
1112
+ // unfinished call with the placeholder so the model can read the
1113
+ // message now; the calls keep running and report themselves.
1114
+ toolCalls.forEach((toolCall, i) => {
1115
+ if (results[i])
1116
+ return;
1117
+ handedBack.add(toolCall.id);
1118
+ detach.calls.begin(toolCall.id, toolCall.function.name);
1119
+ results[i] = {
1120
+ toolCallId: toolCall.id,
1121
+ toolName: toolCall.function.name,
1122
+ output: stillRunningResult(toolCall.function.name, started.has(toolCall.id)),
1123
+ isError: false,
1124
+ };
1125
+ });
1126
+ const settleRest = () => {
1127
+ for (const id of handedBack) {
1128
+ if (reported.has(id))
1129
+ continue;
1130
+ const name = toolCalls.find((call) => call.id === id)?.function.name ?? 'tool';
1131
+ reportLate({
1132
+ toolCallId: id,
1133
+ toolName: name,
1134
+ output: `Error: Tool "${name}" did not complete — the batch failed before it produced a result.`,
1135
+ isError: true,
1136
+ });
1137
+ }
1138
+ };
1139
+ completion.then(settleRest, settleRest);
1140
+ }
1141
+ else {
1142
+ await completion;
1143
+ }
1144
+ }
1145
+ else {
1146
+ await completion;
1147
+ }
1071
1148
  // Whatever failed above left a hole in `results`; fill every one, so
1072
1149
  // the invariant holds by construction rather than by everything having
1073
1150
  // gone well.
@@ -1543,6 +1620,12 @@ export class ToolExecutor {
1543
1620
  ...(this.config.additionalDirectories?.length
1544
1621
  ? { additionalDirectories: this.config.additionalDirectories }
1545
1622
  : {}),
1623
+ ...(this.config.authorizationGate
1624
+ ? {
1625
+ readDenied: (absolutePath) => this.evaluatePreparedAuthorization('read', { path: absolutePath })?.decision ===
1626
+ 'deny',
1627
+ }
1628
+ : {}),
1546
1629
  ...(this.outputDirectory()
1547
1630
  ? { retainedOutputDirectory: this.outputDirectory() }
1548
1631
  : {}),
@@ -1625,6 +1708,7 @@ export class ToolExecutor {
1625
1708
  }
1626
1709
  : {}),
1627
1710
  ...(this.config.onJobAwaited ? { onAwaited: this.config.onJobAwaited } : {}),
1711
+ ...(this.config.onJobCollected ? { onCollected: this.config.onJobCollected } : {}),
1628
1712
  ...(this.config.monitorTimeoutCapMs !== undefined
1629
1713
  ? { monitorTimeoutCapMs: this.config.monitorTimeoutCapMs }
1630
1714
  : {}),