@namzu/sdk 42.0.2 → 44.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 (2100) hide show
  1. package/CHANGELOG.md +540 -0
  2. package/README.md +41 -34
  3. package/dist/advisory/budget.js +3 -3
  4. package/dist/advisory/budget.js.map +1 -1
  5. package/dist/advisory/context.d.ts +5 -5
  6. package/dist/advisory/context.d.ts.map +1 -1
  7. package/dist/advisory/context.js +6 -6
  8. package/dist/advisory/context.js.map +1 -1
  9. package/dist/advisory/evaluator.js +2 -2
  10. package/dist/advisory/evaluator.js.map +1 -1
  11. package/dist/advisory/parse.d.ts +1 -1
  12. package/dist/advisory/parse.js +1 -1
  13. package/dist/agents/AbstractAgent.d.ts +47 -40
  14. package/dist/agents/AbstractAgent.d.ts.map +1 -1
  15. package/dist/agents/AbstractAgent.js +60 -46
  16. package/dist/agents/AbstractAgent.js.map +1 -1
  17. package/dist/agents/PipelineAgent.d.ts +7 -7
  18. package/dist/agents/PipelineAgent.d.ts.map +1 -1
  19. package/dist/agents/PipelineAgent.js +75 -23
  20. package/dist/agents/PipelineAgent.js.map +1 -1
  21. package/dist/agents/ReactiveAgent.d.ts +7 -7
  22. package/dist/agents/ReactiveAgent.d.ts.map +1 -1
  23. package/dist/agents/ReactiveAgent.js +32 -25
  24. package/dist/agents/ReactiveAgent.js.map +1 -1
  25. package/dist/agents/RouterAgent.d.ts +7 -7
  26. package/dist/agents/RouterAgent.d.ts.map +1 -1
  27. package/dist/agents/RouterAgent.js +29 -32
  28. package/dist/agents/RouterAgent.js.map +1 -1
  29. package/dist/agents/SupervisorAgent.d.ts +13 -10
  30. package/dist/agents/SupervisorAgent.d.ts.map +1 -1
  31. package/dist/agents/SupervisorAgent.js +50 -36
  32. package/dist/agents/SupervisorAgent.js.map +1 -1
  33. package/dist/agents/budget.d.ts +17 -4
  34. package/dist/agents/budget.d.ts.map +1 -1
  35. package/dist/agents/budget.js +55 -14
  36. package/dist/agents/budget.js.map +1 -1
  37. package/dist/agents/defineAgent.d.ts +2 -2
  38. package/dist/agents/defineAgent.d.ts.map +1 -1
  39. package/dist/agents/defineAgent.js.map +1 -1
  40. package/dist/agents/handle.d.ts +12 -14
  41. package/dist/agents/handle.d.ts.map +1 -1
  42. package/dist/agents/handle.js +6 -6
  43. package/dist/agents/handle.js.map +1 -1
  44. package/dist/agents/lock.js +4 -4
  45. package/dist/agents/lock.js.map +1 -1
  46. package/dist/agents/runAgent.d.ts +42 -29
  47. package/dist/agents/runAgent.d.ts.map +1 -1
  48. package/dist/agents/runAgent.js +53 -14
  49. package/dist/agents/runAgent.js.map +1 -1
  50. package/dist/agents/storage.d.ts +21 -0
  51. package/dist/agents/storage.d.ts.map +1 -0
  52. package/dist/agents/storage.js +33 -0
  53. package/dist/agents/storage.js.map +1 -0
  54. package/dist/authorization/command-line.d.ts +1 -1
  55. package/dist/authorization/command-line.js +1 -1
  56. package/dist/authorization/gate.js +1 -1
  57. package/dist/authorization/gate.js.map +1 -1
  58. package/dist/authorization/permission-presets.d.ts +4 -4
  59. package/dist/authorization/permission-presets.d.ts.map +1 -1
  60. package/dist/authorization/permission-presets.js +2 -2
  61. package/dist/bridge/a2a/client.d.ts +1 -1
  62. package/dist/bridge/a2a/client.js +2 -2
  63. package/dist/bridge/a2a/client.js.map +1 -1
  64. package/dist/bridge/a2a/context.d.ts +26 -0
  65. package/dist/bridge/a2a/context.d.ts.map +1 -0
  66. package/dist/bridge/a2a/context.js +20 -0
  67. package/dist/bridge/a2a/context.js.map +1 -0
  68. package/dist/bridge/a2a/index.d.ts +4 -2
  69. package/dist/bridge/a2a/index.d.ts.map +1 -1
  70. package/dist/bridge/a2a/index.js +6 -2
  71. package/dist/bridge/a2a/index.js.map +1 -1
  72. package/dist/bridge/a2a/mapper.d.ts +12 -4
  73. package/dist/bridge/a2a/mapper.d.ts.map +1 -1
  74. package/dist/bridge/a2a/mapper.js +38 -31
  75. package/dist/bridge/a2a/mapper.js.map +1 -1
  76. package/dist/bridge/a2a/task.d.ts +39 -7
  77. package/dist/bridge/a2a/task.d.ts.map +1 -1
  78. package/dist/bridge/a2a/task.js +52 -31
  79. package/dist/bridge/a2a/task.js.map +1 -1
  80. package/dist/bridge/acp/permission.d.ts +2 -2
  81. package/dist/bridge/acp/server.d.ts +22 -8
  82. package/dist/bridge/acp/server.d.ts.map +1 -1
  83. package/dist/bridge/acp/server.js +18 -5
  84. package/dist/bridge/acp/server.js.map +1 -1
  85. package/dist/bridge/acp/update.d.ts +4 -4
  86. package/dist/bridge/acp/update.d.ts.map +1 -1
  87. package/dist/bridge/acp/update.js +6 -6
  88. package/dist/bridge/acp/update.js.map +1 -1
  89. package/dist/bridge/external-session.d.ts +43 -0
  90. package/dist/bridge/external-session.d.ts.map +1 -0
  91. package/dist/bridge/external-session.js +28 -0
  92. package/dist/bridge/external-session.js.map +1 -0
  93. package/dist/bridge/sse/index.d.ts +1 -1
  94. package/dist/bridge/sse/index.d.ts.map +1 -1
  95. package/dist/bridge/sse/index.js +1 -1
  96. package/dist/bridge/sse/index.js.map +1 -1
  97. package/dist/bridge/sse/mapper.d.ts +21 -13
  98. package/dist/bridge/sse/mapper.d.ts.map +1 -1
  99. package/dist/bridge/sse/mapper.js +99 -129
  100. package/dist/bridge/sse/mapper.js.map +1 -1
  101. package/dist/bus/breaker.d.ts +6 -6
  102. package/dist/bus/breaker.d.ts.map +1 -1
  103. package/dist/bus/breaker.js +28 -27
  104. package/dist/bus/breaker.js.map +1 -1
  105. package/dist/bus/index.d.ts +2 -2
  106. package/dist/bus/index.d.ts.map +1 -1
  107. package/dist/bus/index.js +6 -6
  108. package/dist/bus/index.js.map +1 -1
  109. package/dist/bus/lock.d.ts +5 -5
  110. package/dist/bus/lock.d.ts.map +1 -1
  111. package/dist/bus/lock.js.map +1 -1
  112. package/dist/bus/ownership.d.ts +8 -8
  113. package/dist/bus/ownership.d.ts.map +1 -1
  114. package/dist/bus/ownership.js.map +1 -1
  115. package/dist/compaction/consolidation.d.ts +23 -11
  116. package/dist/compaction/consolidation.d.ts.map +1 -1
  117. package/dist/compaction/consolidation.js +43 -13
  118. package/dist/compaction/consolidation.js.map +1 -1
  119. package/dist/compaction/context-window.d.ts +4 -4
  120. package/dist/compaction/context-window.js +4 -4
  121. package/dist/compaction/index.d.ts +1 -1
  122. package/dist/compaction/index.d.ts.map +1 -1
  123. package/dist/compaction/index.js +2 -2
  124. package/dist/compaction/index.js.map +1 -1
  125. package/dist/compaction/manager.d.ts +4 -4
  126. package/dist/compaction/manager.js +4 -4
  127. package/dist/compaction/manual.d.ts +2 -2
  128. package/dist/compaction/manual.js +3 -3
  129. package/dist/compaction/manual.js.map +1 -1
  130. package/dist/compaction/plan.d.ts +5 -5
  131. package/dist/compaction/plan.js +4 -4
  132. package/dist/compaction/plan.js.map +1 -1
  133. package/dist/compaction/reducer.d.ts +8 -8
  134. package/dist/compaction/reducer.d.ts.map +1 -1
  135. package/dist/compaction/retention.js +2 -2
  136. package/dist/compaction/salience/bm25.d.ts +2 -2
  137. package/dist/compaction/salience/bm25.js +2 -2
  138. package/dist/compaction/salience/goal.d.ts +3 -3
  139. package/dist/compaction/salience/goal.js +3 -3
  140. package/dist/compaction/salience/minhash.d.ts +1 -1
  141. package/dist/compaction/salience/minhash.js +1 -1
  142. package/dist/compaction/salience/score.d.ts +2 -2
  143. package/dist/compaction/salience/score.js +3 -3
  144. package/dist/compaction/salience/score.js.map +1 -1
  145. package/dist/compaction/salience/tokenize.d.ts +1 -1
  146. package/dist/compaction/salience/tokenize.js +1 -1
  147. package/dist/compaction/verifier.d.ts +6 -6
  148. package/dist/compaction/verifier.js +5 -5
  149. package/dist/compaction/verifier.js.map +1 -1
  150. package/dist/compaction/wire.d.ts +1 -1
  151. package/dist/config/registry.d.ts +4 -4
  152. package/dist/config/registry.js +2 -2
  153. package/dist/config/runtime.d.ts +24 -24
  154. package/dist/config/runtime.js +3 -3
  155. package/dist/connector/http-operation.d.ts +1 -1
  156. package/dist/connector/http-operation.js +1 -1
  157. package/dist/connector/mcp/adapter.js +1 -1
  158. package/dist/connector/mcp/client.d.ts +1 -1
  159. package/dist/connector/mcp/client.js +1 -1
  160. package/dist/connector/mcp/discovery.d.ts +1 -1
  161. package/dist/connector/mcp/discovery.js +1 -1
  162. package/dist/connector/mcp/discovery.js.map +1 -1
  163. package/dist/connector/mcp/policy.d.ts +1 -1
  164. package/dist/connector/mcp/prompt-adapter.d.ts +1 -1
  165. package/dist/connector/mcp/prompt-adapter.js +3 -3
  166. package/dist/connector/mcp/prompt-adapter.js.map +1 -1
  167. package/dist/constants/a2a/index.d.ts +8 -2
  168. package/dist/constants/a2a/index.d.ts.map +1 -1
  169. package/dist/constants/a2a/index.js +9 -2
  170. package/dist/constants/a2a/index.js.map +1 -1
  171. package/dist/constants/continuation.d.ts +1 -1
  172. package/dist/constants/continuation.js +1 -1
  173. package/dist/constants/index.d.ts +0 -1
  174. package/dist/constants/index.d.ts.map +1 -1
  175. package/dist/constants/index.js +0 -1
  176. package/dist/constants/index.js.map +1 -1
  177. package/dist/constants/limits.d.ts +2 -2
  178. package/dist/constants/limits.js +2 -2
  179. package/dist/constants/telemetry/index.d.ts +9 -3
  180. package/dist/constants/telemetry/index.d.ts.map +1 -1
  181. package/dist/constants/telemetry/index.js +14 -12
  182. package/dist/constants/telemetry/index.js.map +1 -1
  183. package/dist/constants/tools/index.d.ts +2 -2
  184. package/dist/constants/tools/index.js +2 -2
  185. package/dist/contracts/a2a.d.ts +2 -2
  186. package/dist/contracts/api.d.ts +11 -126
  187. package/dist/contracts/api.d.ts.map +1 -1
  188. package/dist/contracts/index.d.ts +3 -2
  189. package/dist/contracts/index.d.ts.map +1 -1
  190. package/dist/contracts/index.js +7 -2
  191. package/dist/contracts/index.js.map +1 -1
  192. package/dist/contracts/schemas.d.ts +6 -165
  193. package/dist/contracts/schemas.d.ts.map +1 -1
  194. package/dist/contracts/schemas.js +6 -36
  195. package/dist/contracts/schemas.js.map +1 -1
  196. package/dist/contracts/session/api.d.ts +94 -0
  197. package/dist/contracts/session/api.d.ts.map +1 -0
  198. package/dist/contracts/session/api.js +10 -0
  199. package/dist/contracts/session/api.js.map +1 -0
  200. package/dist/contracts/session/index.d.ts +7 -0
  201. package/dist/contracts/session/index.d.ts.map +1 -0
  202. package/dist/contracts/session/index.js +7 -0
  203. package/dist/contracts/session/index.js.map +1 -0
  204. package/dist/contracts/session/schemas.d.ts +173 -0
  205. package/dist/contracts/session/schemas.d.ts.map +1 -0
  206. package/dist/contracts/session/schemas.js +52 -0
  207. package/dist/contracts/session/schemas.js.map +1 -0
  208. package/dist/contracts/session/turn-status.d.ts +45 -0
  209. package/dist/contracts/session/turn-status.d.ts.map +1 -0
  210. package/dist/contracts/session/turn-status.js +46 -0
  211. package/dist/contracts/session/turn-status.js.map +1 -0
  212. package/dist/contracts/session/turn.d.ts +64 -0
  213. package/dist/contracts/session/turn.d.ts.map +1 -0
  214. package/dist/contracts/session/turn.js +2 -0
  215. package/dist/contracts/session/turn.js.map +1 -0
  216. package/dist/directory/derive-supervisor.d.ts +1 -1
  217. package/dist/directory/derive-supervisor.js +2 -2
  218. package/dist/directory/derive-supervisor.js.map +1 -1
  219. package/dist/directory/derive.d.ts +2 -2
  220. package/dist/directory/derive.d.ts.map +1 -1
  221. package/dist/directory/derive.js +2 -2
  222. package/dist/directory/derive.js.map +1 -1
  223. package/dist/directory/index.d.ts +2 -2
  224. package/dist/directory/index.d.ts.map +1 -1
  225. package/dist/directory/index.js +1 -1
  226. package/dist/directory/index.js.map +1 -1
  227. package/dist/directory/load.js +2 -2
  228. package/dist/directory/load.js.map +1 -1
  229. package/dist/directory/types.d.ts +2 -2
  230. package/dist/directory/types.d.ts.map +1 -1
  231. package/dist/eval/experiment.d.ts +5 -5
  232. package/dist/eval/experiment.d.ts.map +1 -1
  233. package/dist/eval/experiment.js +18 -18
  234. package/dist/eval/experiment.js.map +1 -1
  235. package/dist/eval/from-turn.d.ts +30 -0
  236. package/dist/eval/from-turn.d.ts.map +1 -0
  237. package/dist/eval/from-turn.js +46 -0
  238. package/dist/eval/from-turn.js.map +1 -0
  239. package/dist/eval/harness-verification.js +7 -7
  240. package/dist/eval/harness-verification.js.map +1 -1
  241. package/dist/eval/index.d.ts +2 -2
  242. package/dist/eval/index.d.ts.map +1 -1
  243. package/dist/eval/index.js +1 -1
  244. package/dist/eval/index.js.map +1 -1
  245. package/dist/eval/judge.d.ts +3 -3
  246. package/dist/eval/judge.d.ts.map +1 -1
  247. package/dist/eval/judge.js +6 -6
  248. package/dist/eval/judge.js.map +1 -1
  249. package/dist/eval/scorers.d.ts +8 -8
  250. package/dist/eval/scorers.d.ts.map +1 -1
  251. package/dist/eval/scorers.js +21 -21
  252. package/dist/eval/scorers.js.map +1 -1
  253. package/dist/eval/types.d.ts +12 -12
  254. package/dist/eval/types.d.ts.map +1 -1
  255. package/dist/eval/uncertainty.d.ts +2 -2
  256. package/dist/eval/uncertainty.js +2 -2
  257. package/dist/execution/code-runtime/types.d.ts +4 -4
  258. package/dist/execution/code-runtime/types.js +2 -2
  259. package/dist/execution/code-runtime/worker.d.ts +1 -1
  260. package/dist/execution/code-runtime/worker.js +1 -1
  261. package/dist/invariants/index.d.ts +1 -1
  262. package/dist/manager/agent/child-session.d.ts +49 -0
  263. package/dist/manager/agent/child-session.d.ts.map +1 -0
  264. package/dist/manager/agent/child-session.js +94 -0
  265. package/dist/manager/agent/child-session.js.map +1 -0
  266. package/dist/manager/agent/lifecycle.d.ts +90 -13
  267. package/dist/manager/agent/lifecycle.d.ts.map +1 -1
  268. package/dist/manager/agent/lifecycle.js +332 -88
  269. package/dist/manager/agent/lifecycle.js.map +1 -1
  270. package/dist/manager/index.d.ts +1 -2
  271. package/dist/manager/index.d.ts.map +1 -1
  272. package/dist/manager/index.js +1 -2
  273. package/dist/manager/index.js.map +1 -1
  274. package/dist/manager/plan/lifecycle.d.ts +11 -7
  275. package/dist/manager/plan/lifecycle.d.ts.map +1 -1
  276. package/dist/manager/plan/lifecycle.js +12 -9
  277. package/dist/manager/plan/lifecycle.js.map +1 -1
  278. package/dist/manager/resident/consumption.d.ts +12 -6
  279. package/dist/manager/resident/consumption.d.ts.map +1 -1
  280. package/dist/manager/resident/consumption.js +7 -5
  281. package/dist/manager/resident/consumption.js.map +1 -1
  282. package/dist/manager/resident/evidence-recall.d.ts +5 -5
  283. package/dist/manager/resident/evidence-recall.d.ts.map +1 -1
  284. package/dist/manager/resident/evidence-recall.js +9 -9
  285. package/dist/manager/resident/evidence-recall.js.map +1 -1
  286. package/dist/manager/resident/host.d.ts +2 -2
  287. package/dist/manager/resident/host.d.ts.map +1 -1
  288. package/dist/manager/resident/host.js +1 -1
  289. package/dist/manager/resident/learning-cycle.d.ts +8 -4
  290. package/dist/manager/resident/learning-cycle.d.ts.map +1 -1
  291. package/dist/manager/resident/learning-cycle.js +4 -2
  292. package/dist/manager/resident/learning-cycle.js.map +1 -1
  293. package/dist/manager/resident/learning-observation.d.ts +12 -7
  294. package/dist/manager/resident/learning-observation.d.ts.map +1 -1
  295. package/dist/manager/resident/learning-observation.js +8 -4
  296. package/dist/manager/resident/learning-observation.js.map +1 -1
  297. package/dist/manager/resident/learning-store.d.ts +13 -0
  298. package/dist/manager/resident/learning-store.d.ts.map +1 -1
  299. package/dist/manager/resident/learning-store.js +35 -16
  300. package/dist/manager/resident/learning-store.js.map +1 -1
  301. package/dist/manager/resident/learning.d.ts +14 -14
  302. package/dist/manager/resident/outbox.d.ts +4 -4
  303. package/dist/manager/resident/store.d.ts +8 -8
  304. package/dist/manager/resident/tool-evidence.d.ts +15 -10
  305. package/dist/manager/resident/tool-evidence.d.ts.map +1 -1
  306. package/dist/manager/resident/tool-evidence.js +14 -14
  307. package/dist/manager/resident/tool-evidence.js.map +1 -1
  308. package/dist/manager/session/turn-recorder.d.ts +261 -0
  309. package/dist/manager/session/turn-recorder.d.ts.map +1 -0
  310. package/dist/manager/session/turn-recorder.js +1115 -0
  311. package/dist/manager/session/turn-recorder.js.map +1 -0
  312. package/dist/plugin/lifecycle.d.ts +4 -4
  313. package/dist/plugin/lifecycle.d.ts.map +1 -1
  314. package/dist/plugin/lifecycle.js +17 -10
  315. package/dist/plugin/lifecycle.js.map +1 -1
  316. package/dist/plugin/shell-hook.d.ts +35 -12
  317. package/dist/plugin/shell-hook.d.ts.map +1 -1
  318. package/dist/plugin/shell-hook.js +52 -20
  319. package/dist/plugin/shell-hook.js.map +1 -1
  320. package/dist/pricing/index.d.ts +4 -4
  321. package/dist/pricing/index.js +5 -5
  322. package/dist/pricing/index.js.map +1 -1
  323. package/dist/probe/context.d.ts +3 -2
  324. package/dist/probe/context.d.ts.map +1 -1
  325. package/dist/probe/context.js +2 -1
  326. package/dist/probe/context.js.map +1 -1
  327. package/dist/probe/registry.js +1 -1
  328. package/dist/probe/registry.js.map +1 -1
  329. package/dist/prompt/coding-agent-doctrine.d.ts +1 -1
  330. package/dist/prompt/coding-agent-doctrine.js +1 -1
  331. package/dist/prompt/contributions.d.ts +27 -6
  332. package/dist/prompt/contributions.d.ts.map +1 -1
  333. package/dist/prompt/contributions.js +1 -1
  334. package/dist/prompt/contributions.js.map +1 -1
  335. package/dist/prompt/resident-learning.js +2 -2
  336. package/dist/prompt/resident-learning.js.map +1 -1
  337. package/dist/provider/collect-chat-completion.d.ts +2 -2
  338. package/dist/provider/collect-chat-completion.js +3 -3
  339. package/dist/provider/collect-chat-completion.js.map +1 -1
  340. package/dist/provider/conformance.d.ts +8 -1
  341. package/dist/provider/conformance.d.ts.map +1 -1
  342. package/dist/provider/conformance.js +13 -1
  343. package/dist/provider/conformance.js.map +1 -1
  344. package/dist/provider/errors.d.ts +1 -1
  345. package/dist/provider/errors.js +2 -2
  346. package/dist/provider/fallback.d.ts +4 -4
  347. package/dist/provider/fallback.js +6 -6
  348. package/dist/provider/fallback.js.map +1 -1
  349. package/dist/provider/idle-timeout.d.ts +2 -2
  350. package/dist/provider/idle-timeout.d.ts.map +1 -1
  351. package/dist/provider/idle-timeout.js +3 -3
  352. package/dist/provider/idle-timeout.js.map +1 -1
  353. package/dist/provider/instrumentation.d.ts +5 -2
  354. package/dist/provider/instrumentation.d.ts.map +1 -1
  355. package/dist/provider/instrumentation.js +9 -5
  356. package/dist/provider/instrumentation.js.map +1 -1
  357. package/dist/provider/mock.d.ts +1 -1
  358. package/dist/provider/mock.js +1 -1
  359. package/dist/provider/retry.d.ts +2 -2
  360. package/dist/provider/retry.js +6 -6
  361. package/dist/provider/retry.js.map +1 -1
  362. package/dist/provider/stream-text.d.ts +1 -1
  363. package/dist/provider/stream-text.d.ts.map +1 -1
  364. package/dist/provider/stream-text.js +1 -1
  365. package/dist/provider/stream-text.js.map +1 -1
  366. package/dist/provider/thinking-support.js +2 -2
  367. package/dist/provider/thinking-support.js.map +1 -1
  368. package/dist/provider/token-budget.d.ts +2 -2
  369. package/dist/provider/token-budget.d.ts.map +1 -1
  370. package/dist/provider/token-budget.js.map +1 -1
  371. package/dist/public-runtime.d.ts +69 -55
  372. package/dist/public-runtime.d.ts.map +1 -1
  373. package/dist/public-runtime.js +104 -99
  374. package/dist/public-runtime.js.map +1 -1
  375. package/dist/public-tools.d.ts +2 -2
  376. package/dist/public-tools.d.ts.map +1 -1
  377. package/dist/public-tools.js +7 -7
  378. package/dist/public-tools.js.map +1 -1
  379. package/dist/public-types.d.ts +18 -16
  380. package/dist/public-types.d.ts.map +1 -1
  381. package/dist/rag/embedding.js +1 -1
  382. package/dist/rag/embedding.js.map +1 -1
  383. package/dist/read-model/index.d.ts +2 -2
  384. package/dist/read-model/index.d.ts.map +1 -1
  385. package/dist/read-model/index.js +1 -1
  386. package/dist/read-model/index.js.map +1 -1
  387. package/dist/read-model/registry.d.ts +11 -11
  388. package/dist/read-model/registry.d.ts.map +1 -1
  389. package/dist/read-model/registry.js +2 -2
  390. package/dist/read-model/registry.js.map +1 -1
  391. package/dist/read-model/session-status.d.ts +34 -0
  392. package/dist/read-model/session-status.d.ts.map +1 -0
  393. package/dist/read-model/session-status.js +58 -0
  394. package/dist/read-model/session-status.js.map +1 -0
  395. package/dist/registry/command/kernel-commands.d.ts +4 -4
  396. package/dist/registry/command/kernel-commands.d.ts.map +1 -1
  397. package/dist/registry/command/kernel-commands.js +6 -6
  398. package/dist/registry/command/kernel-commands.js.map +1 -1
  399. package/dist/registry/tool/dialect.js +1 -1
  400. package/dist/registry/tool/execute.d.ts +2 -2
  401. package/dist/registry/tool/execute.d.ts.map +1 -1
  402. package/dist/registry/tool/execute.js +19 -7
  403. package/dist/registry/tool/execute.js.map +1 -1
  404. package/dist/registry/tool/portable.d.ts +1 -1
  405. package/dist/registry/tool/portable.js +1 -1
  406. package/dist/registry/tool/presentation.d.ts +1 -1
  407. package/dist/registry/tool/presentation.js +1 -1
  408. package/dist/registry/tool/schema.js +1 -1
  409. package/dist/registry/tool/screen.js +3 -3
  410. package/dist/registry/tool/screen.js.map +1 -1
  411. package/dist/runtime/bidi/index.d.ts +2 -2
  412. package/dist/runtime/bidi/index.d.ts.map +1 -1
  413. package/dist/runtime/bidi/index.js +1 -1
  414. package/dist/runtime/bidi/index.js.map +1 -1
  415. package/dist/runtime/bidi/session.d.ts +14 -11
  416. package/dist/runtime/bidi/session.d.ts.map +1 -1
  417. package/dist/runtime/bidi/session.js +27 -21
  418. package/dist/runtime/bidi/session.js.map +1 -1
  419. package/dist/runtime/jobs/awaited-jobs.d.ts +15 -15
  420. package/dist/runtime/jobs/awaited-jobs.d.ts.map +1 -1
  421. package/dist/runtime/jobs/awaited-jobs.js +13 -13
  422. package/dist/runtime/jobs/awaited-jobs.js.map +1 -1
  423. package/dist/runtime/jobs/registry.d.ts +10 -10
  424. package/dist/runtime/jobs/registry.d.ts.map +1 -1
  425. package/dist/runtime/jobs/registry.js +5 -5
  426. package/dist/runtime/jobs/registry.js.map +1 -1
  427. package/dist/runtime/query/abandon-turn.d.ts +35 -0
  428. package/dist/runtime/query/abandon-turn.d.ts.map +1 -0
  429. package/dist/runtime/query/abandon-turn.js +81 -0
  430. package/dist/runtime/query/abandon-turn.js.map +1 -0
  431. package/dist/runtime/query/approval-policy.d.ts +10 -10
  432. package/dist/runtime/query/approval-policy.d.ts.map +1 -1
  433. package/dist/runtime/query/approval-policy.js +5 -5
  434. package/dist/runtime/query/approval-policy.js.map +1 -1
  435. package/dist/runtime/query/callback-inference.d.ts +1 -1
  436. package/dist/runtime/query/callback-inference.d.ts.map +1 -1
  437. package/dist/runtime/query/callback-inference.js +12 -6
  438. package/dist/runtime/query/callback-inference.js.map +1 -1
  439. package/dist/runtime/query/cancelled-before-start.d.ts +20 -20
  440. package/dist/runtime/query/cancelled-before-start.d.ts.map +1 -1
  441. package/dist/runtime/query/cancelled-before-start.js +72 -55
  442. package/dist/runtime/query/cancelled-before-start.js.map +1 -1
  443. package/dist/runtime/query/checkpoint.d.ts +153 -220
  444. package/dist/runtime/query/checkpoint.d.ts.map +1 -1
  445. package/dist/runtime/query/checkpoint.js +399 -370
  446. package/dist/runtime/query/checkpoint.js.map +1 -1
  447. package/dist/runtime/query/compact-session.d.ts +20 -0
  448. package/dist/runtime/query/compact-session.d.ts.map +1 -0
  449. package/dist/runtime/query/compact-session.js +81 -0
  450. package/dist/runtime/query/compact-session.js.map +1 -0
  451. package/dist/runtime/query/context.d.ts +42 -85
  452. package/dist/runtime/query/context.d.ts.map +1 -1
  453. package/dist/runtime/query/context.js +36 -75
  454. package/dist/runtime/query/context.js.map +1 -1
  455. package/dist/runtime/query/events.d.ts +54 -26
  456. package/dist/runtime/query/events.d.ts.map +1 -1
  457. package/dist/runtime/query/events.js +121 -114
  458. package/dist/runtime/query/events.js.map +1 -1
  459. package/dist/runtime/query/executor/tool-call-admission.d.ts.map +1 -1
  460. package/dist/runtime/query/executor/tool-call-admission.js +6 -5
  461. package/dist/runtime/query/executor/tool-call-admission.js.map +1 -1
  462. package/dist/runtime/query/executor.d.ts +56 -34
  463. package/dist/runtime/query/executor.d.ts.map +1 -1
  464. package/dist/runtime/query/executor.js +165 -85
  465. package/dist/runtime/query/executor.js.map +1 -1
  466. package/dist/runtime/query/file-evidence-seed.d.ts +1 -1
  467. package/dist/runtime/query/file-evidence-seed.d.ts.map +1 -1
  468. package/dist/runtime/query/file-evidence-seed.js +1 -1
  469. package/dist/runtime/query/finalize-turn.d.ts +55 -0
  470. package/dist/runtime/query/finalize-turn.d.ts.map +1 -0
  471. package/dist/runtime/query/finalize-turn.js +129 -0
  472. package/dist/runtime/query/finalize-turn.js.map +1 -0
  473. package/dist/runtime/query/fork/list.d.ts +15 -0
  474. package/dist/runtime/query/fork/list.d.ts.map +1 -0
  475. package/dist/runtime/query/fork/list.js +11 -0
  476. package/dist/runtime/query/fork/list.js.map +1 -0
  477. package/dist/runtime/query/fork/mutate.d.ts +17 -0
  478. package/dist/runtime/query/fork/mutate.d.ts.map +1 -0
  479. package/dist/runtime/query/fork/mutate.js +69 -0
  480. package/dist/runtime/query/fork/mutate.js.map +1 -0
  481. package/dist/runtime/query/fork/prepare.d.ts +52 -0
  482. package/dist/runtime/query/fork/prepare.d.ts.map +1 -0
  483. package/dist/runtime/query/fork/prepare.js +43 -0
  484. package/dist/runtime/query/fork/prepare.js.map +1 -0
  485. package/dist/runtime/query/guard.d.ts +16 -16
  486. package/dist/runtime/query/guard.d.ts.map +1 -1
  487. package/dist/runtime/query/guard.js +16 -16
  488. package/dist/runtime/query/guard.js.map +1 -1
  489. package/dist/runtime/query/guardrail-presets.d.ts +10 -10
  490. package/dist/runtime/query/guardrail-presets.js +12 -12
  491. package/dist/runtime/query/guardrail-presets.js.map +1 -1
  492. package/dist/runtime/query/guardrails.d.ts +4 -4
  493. package/dist/runtime/query/guardrails.js +11 -11
  494. package/dist/runtime/query/guardrails.js.map +1 -1
  495. package/dist/runtime/query/index.d.ts +178 -155
  496. package/dist/runtime/query/index.d.ts.map +1 -1
  497. package/dist/runtime/query/index.js +1294 -1260
  498. package/dist/runtime/query/index.js.map +1 -1
  499. package/dist/runtime/query/iteration/index.d.ts +16 -16
  500. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  501. package/dist/runtime/query/iteration/index.js +285 -243
  502. package/dist/runtime/query/iteration/index.js.map +1 -1
  503. package/dist/runtime/query/iteration/outstanding-work.d.ts +22 -22
  504. package/dist/runtime/query/iteration/outstanding-work.d.ts.map +1 -1
  505. package/dist/runtime/query/iteration/outstanding-work.js +63 -63
  506. package/dist/runtime/query/iteration/outstanding-work.js.map +1 -1
  507. package/dist/runtime/query/iteration/phases/advisory.js +16 -16
  508. package/dist/runtime/query/iteration/phases/advisory.js.map +1 -1
  509. package/dist/runtime/query/iteration/phases/checkpoint.d.ts +2 -2
  510. package/dist/runtime/query/iteration/phases/checkpoint.d.ts.map +1 -1
  511. package/dist/runtime/query/iteration/phases/checkpoint.js +25 -8
  512. package/dist/runtime/query/iteration/phases/checkpoint.js.map +1 -1
  513. package/dist/runtime/query/iteration/phases/compaction.d.ts +2 -2
  514. package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
  515. package/dist/runtime/query/iteration/phases/compaction.js +74 -72
  516. package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
  517. package/dist/runtime/query/iteration/phases/context.d.ts +32 -29
  518. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  519. package/dist/runtime/query/iteration/phases/context.js +29 -29
  520. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  521. package/dist/runtime/query/iteration/phases/plan.d.ts +2 -2
  522. package/dist/runtime/query/iteration/phases/plan.d.ts.map +1 -1
  523. package/dist/runtime/query/iteration/phases/plan.js +5 -4
  524. package/dist/runtime/query/iteration/phases/plan.js.map +1 -1
  525. package/dist/runtime/query/iteration/phases/tool-review.d.ts +2 -2
  526. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  527. package/dist/runtime/query/iteration/phases/tool-review.js +129 -24
  528. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  529. package/dist/runtime/query/iteration/phases/working-memory.d.ts +27 -3
  530. package/dist/runtime/query/iteration/phases/working-memory.d.ts.map +1 -1
  531. package/dist/runtime/query/iteration/phases/working-memory.js +54 -20
  532. package/dist/runtime/query/iteration/phases/working-memory.js.map +1 -1
  533. package/dist/runtime/query/iteration/step-context.d.ts +11 -0
  534. package/dist/runtime/query/iteration/step-context.d.ts.map +1 -0
  535. package/dist/runtime/query/iteration/step-context.js +14 -0
  536. package/dist/runtime/query/iteration/step-context.js.map +1 -0
  537. package/dist/runtime/query/iteration/step-shaping.d.ts +4 -3
  538. package/dist/runtime/query/iteration/step-shaping.d.ts.map +1 -1
  539. package/dist/runtime/query/iteration/step-shaping.js +20 -19
  540. package/dist/runtime/query/iteration/step-shaping.js.map +1 -1
  541. package/dist/runtime/query/iteration/stream-turn.d.ts +5 -3
  542. package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
  543. package/dist/runtime/query/iteration/stream-turn.js +32 -28
  544. package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
  545. package/dist/runtime/query/plugin-hooks.js +1 -1
  546. package/dist/runtime/query/plugin-hooks.js.map +1 -1
  547. package/dist/runtime/query/prepare-turn.d.ts +105 -0
  548. package/dist/runtime/query/prepare-turn.d.ts.map +1 -0
  549. package/dist/runtime/query/prepare-turn.js +779 -0
  550. package/dist/runtime/query/prepare-turn.js.map +1 -0
  551. package/dist/runtime/query/project-instructions.d.ts +5 -4
  552. package/dist/runtime/query/project-instructions.d.ts.map +1 -1
  553. package/dist/runtime/query/project-instructions.js.map +1 -1
  554. package/dist/runtime/query/prompt-cache.js +1 -1
  555. package/dist/runtime/query/prompt-cache.js.map +1 -1
  556. package/dist/runtime/query/prompt.d.ts +3 -3
  557. package/dist/runtime/query/prompt.d.ts.map +1 -1
  558. package/dist/runtime/query/prompt.js +3 -3
  559. package/dist/runtime/query/prompt.js.map +1 -1
  560. package/dist/runtime/query/question-park.d.ts +7 -7
  561. package/dist/runtime/query/question-park.d.ts.map +1 -1
  562. package/dist/runtime/query/question-park.js +5 -5
  563. package/dist/runtime/query/question-park.js.map +1 -1
  564. package/dist/runtime/query/release-turn.d.ts +53 -0
  565. package/dist/runtime/query/release-turn.d.ts.map +1 -0
  566. package/dist/runtime/query/release-turn.js +95 -0
  567. package/dist/runtime/query/release-turn.js.map +1 -0
  568. package/dist/runtime/query/repeat-call.d.ts +2 -2
  569. package/dist/runtime/query/repeat-call.js +7 -7
  570. package/dist/runtime/query/repeat-call.js.map +1 -1
  571. package/dist/runtime/query/result.d.ts +25 -17
  572. package/dist/runtime/query/result.d.ts.map +1 -1
  573. package/dist/runtime/query/result.js +110 -115
  574. package/dist/runtime/query/result.js.map +1 -1
  575. package/dist/runtime/query/resume-pending.d.ts +34 -17
  576. package/dist/runtime/query/resume-pending.d.ts.map +1 -1
  577. package/dist/runtime/query/resume-pending.js +70 -30
  578. package/dist/runtime/query/resume-pending.js.map +1 -1
  579. package/dist/runtime/query/resume-session.d.ts +65 -0
  580. package/dist/runtime/query/resume-session.d.ts.map +1 -0
  581. package/dist/runtime/query/resume-session.js +88 -0
  582. package/dist/runtime/query/resume-session.js.map +1 -0
  583. package/dist/runtime/query/review-policy.d.ts +57 -16
  584. package/dist/runtime/query/review-policy.d.ts.map +1 -1
  585. package/dist/runtime/query/review-policy.js +115 -11
  586. package/dist/runtime/query/review-policy.js.map +1 -1
  587. package/dist/runtime/query/sandbox-lifecycle.d.ts +5 -5
  588. package/dist/runtime/query/sandbox-lifecycle.d.ts.map +1 -1
  589. package/dist/runtime/query/sandbox-lifecycle.js +4 -4
  590. package/dist/runtime/query/sandbox-lifecycle.js.map +1 -1
  591. package/dist/runtime/query/session-storage.d.ts +75 -0
  592. package/dist/runtime/query/session-storage.d.ts.map +1 -0
  593. package/dist/runtime/query/session-storage.js +236 -0
  594. package/dist/runtime/query/session-storage.js.map +1 -0
  595. package/dist/runtime/query/steering.d.ts +9 -3
  596. package/dist/runtime/query/steering.d.ts.map +1 -1
  597. package/dist/runtime/query/steering.js +12 -2
  598. package/dist/runtime/query/steering.js.map +1 -1
  599. package/dist/runtime/query/token-budget.d.ts +19 -5
  600. package/dist/runtime/query/token-budget.d.ts.map +1 -1
  601. package/dist/runtime/query/token-budget.js +43 -74
  602. package/dist/runtime/query/token-budget.js.map +1 -1
  603. package/dist/runtime/query/tool-call-budget.d.ts +6 -5
  604. package/dist/runtime/query/tool-call-budget.d.ts.map +1 -1
  605. package/dist/runtime/query/tool-call-budget.js +10 -12
  606. package/dist/runtime/query/tool-call-budget.js.map +1 -1
  607. package/dist/runtime/query/tool-executions.d.ts +26 -0
  608. package/dist/runtime/query/tool-executions.d.ts.map +1 -0
  609. package/dist/runtime/query/tool-executions.js +66 -0
  610. package/dist/runtime/query/tool-executions.js.map +1 -0
  611. package/dist/runtime/query/tool-grants.d.ts +3 -3
  612. package/dist/runtime/query/tool-grants.js +3 -3
  613. package/dist/runtime/query/tool-output-budget.d.ts +2 -2
  614. package/dist/runtime/query/tool-output-budget.js +4 -4
  615. package/dist/runtime/query/tool-output-budget.js.map +1 -1
  616. package/dist/runtime/query/tool-pause.d.ts +4 -3
  617. package/dist/runtime/query/tool-pause.d.ts.map +1 -1
  618. package/dist/runtime/query/tool-pause.js +5 -4
  619. package/dist/runtime/query/tool-pause.js.map +1 -1
  620. package/dist/runtime/query/tooling.d.ts +15 -10
  621. package/dist/runtime/query/tooling.d.ts.map +1 -1
  622. package/dist/runtime/query/tooling.js +7 -4
  623. package/dist/runtime/query/tooling.js.map +1 -1
  624. package/dist/runtime/query/turn-state.d.ts +56 -0
  625. package/dist/runtime/query/turn-state.d.ts.map +1 -0
  626. package/dist/runtime/query/turn-state.js +99 -0
  627. package/dist/runtime/query/turn-state.js.map +1 -0
  628. package/dist/sandbox/isolation.d.ts +1 -1
  629. package/dist/sandbox/isolation.js +2 -2
  630. package/dist/sandbox/isolation.js.map +1 -1
  631. package/dist/sandbox/provider/local.d.ts +2 -2
  632. package/dist/sandbox/provider/local.js +7 -7
  633. package/dist/sandbox/provider/local.js.map +1 -1
  634. package/dist/scheduler/completion-inbox.d.ts +21 -21
  635. package/dist/scheduler/completion-inbox.js +36 -36
  636. package/dist/scheduler/completion-inbox.js.map +1 -1
  637. package/dist/scheduler/delegating.d.ts +6 -3
  638. package/dist/scheduler/delegating.d.ts.map +1 -1
  639. package/dist/scheduler/delegating.js +15 -8
  640. package/dist/scheduler/delegating.js.map +1 -1
  641. package/dist/scheduler/local.d.ts +10 -8
  642. package/dist/scheduler/local.d.ts.map +1 -1
  643. package/dist/scheduler/local.js +37 -11
  644. package/dist/scheduler/local.js.map +1 -1
  645. package/dist/session/events/index.d.ts +3 -3
  646. package/dist/session/events/index.d.ts.map +1 -1
  647. package/dist/session/events/index.js +4 -8
  648. package/dist/session/events/index.js.map +1 -1
  649. package/dist/session/handoff/broadcast.d.ts +3 -3
  650. package/dist/session/handoff/broadcast.d.ts.map +1 -1
  651. package/dist/session/handoff/broadcast.js +4 -4
  652. package/dist/session/handoff/broadcast.js.map +1 -1
  653. package/dist/session/handoff/events.d.ts +1 -1
  654. package/dist/session/handoff/events.js +1 -1
  655. package/dist/session/handoff/index.d.ts +1 -1
  656. package/dist/session/handoff/index.d.ts.map +1 -1
  657. package/dist/session/handoff/single.d.ts +12 -12
  658. package/dist/session/handoff/single.d.ts.map +1 -1
  659. package/dist/session/handoff/single.js +9 -9
  660. package/dist/session/handoff/single.js.map +1 -1
  661. package/dist/session/handoff/version.d.ts +7 -7
  662. package/dist/session/handoff/version.d.ts.map +1 -1
  663. package/dist/session/handoff/version.js +2 -2
  664. package/dist/session/handoff/version.js.map +1 -1
  665. package/dist/session/home.d.ts +23 -0
  666. package/dist/session/home.d.ts.map +1 -0
  667. package/dist/session/home.js +45 -0
  668. package/dist/session/home.js.map +1 -0
  669. package/dist/session/index.d.ts +1 -0
  670. package/dist/session/index.d.ts.map +1 -1
  671. package/dist/session/index.js +1 -0
  672. package/dist/session/index.js.map +1 -1
  673. package/dist/session/log-hash.d.ts +25 -0
  674. package/dist/session/log-hash.d.ts.map +1 -0
  675. package/dist/session/log-hash.js +82 -0
  676. package/dist/session/log-hash.js.map +1 -0
  677. package/dist/session/messages.d.ts +11 -0
  678. package/dist/session/messages.d.ts.map +1 -0
  679. package/dist/session/messages.js +32 -0
  680. package/dist/session/messages.js.map +1 -0
  681. package/dist/session/paths.d.ts +168 -0
  682. package/dist/session/paths.d.ts.map +1 -0
  683. package/dist/session/paths.js +338 -0
  684. package/dist/session/paths.js.map +1 -0
  685. package/dist/session/retention/archive.d.ts +8 -1
  686. package/dist/session/retention/archive.d.ts.map +1 -1
  687. package/dist/session/retention/archive.js +3 -5
  688. package/dist/session/retention/archive.js.map +1 -1
  689. package/dist/session/status/derive.d.ts +13 -13
  690. package/dist/session/status/derive.d.ts.map +1 -1
  691. package/dist/session/status/derive.js +20 -20
  692. package/dist/session/status/derive.js.map +1 -1
  693. package/dist/session/workspace/git-worktree.d.ts +8 -1
  694. package/dist/session/workspace/git-worktree.d.ts.map +1 -1
  695. package/dist/session/workspace/git-worktree.js +29 -1
  696. package/dist/session/workspace/git-worktree.js.map +1 -1
  697. package/dist/session/workspace/index.d.ts +2 -4
  698. package/dist/session/workspace/index.d.ts.map +1 -1
  699. package/dist/session/workspace/index.js +2 -3
  700. package/dist/session/workspace/index.js.map +1 -1
  701. package/dist/session/workspace/shared-session.d.ts +112 -0
  702. package/dist/session/workspace/shared-session.d.ts.map +1 -0
  703. package/dist/session/workspace/shared-session.js +290 -0
  704. package/dist/session/workspace/shared-session.js.map +1 -0
  705. package/dist/session-query/index.d.ts +67 -0
  706. package/dist/session-query/index.d.ts.map +1 -0
  707. package/dist/session-query/index.js +100 -0
  708. package/dist/session-query/index.js.map +1 -0
  709. package/dist/skills/registry.d.ts +1 -1
  710. package/dist/skills/registry.js +1 -1
  711. package/dist/store/activity/memory.d.ts +3 -3
  712. package/dist/store/activity/memory.d.ts.map +1 -1
  713. package/dist/store/activity/memory.js +4 -4
  714. package/dist/store/activity/memory.js.map +1 -1
  715. package/dist/store/attachment/index.d.ts +4 -4
  716. package/dist/store/attachment/index.d.ts.map +1 -1
  717. package/dist/store/attachment/index.js +3 -3
  718. package/dist/store/attachment/index.js.map +1 -1
  719. package/dist/store/budget/disk.d.ts +59 -0
  720. package/dist/store/budget/disk.d.ts.map +1 -0
  721. package/dist/store/budget/disk.js +179 -0
  722. package/dist/store/budget/disk.js.map +1 -0
  723. package/dist/store/budget/index.d.ts +6 -0
  724. package/dist/store/budget/index.d.ts.map +1 -0
  725. package/dist/store/budget/index.js +6 -0
  726. package/dist/store/budget/index.js.map +1 -0
  727. package/dist/store/budget/ledger.d.ts +156 -0
  728. package/dist/store/budget/ledger.d.ts.map +1 -0
  729. package/dist/store/budget/ledger.js +683 -0
  730. package/dist/store/budget/ledger.js.map +1 -0
  731. package/dist/store/budget/memory.d.ts +18 -0
  732. package/dist/store/budget/memory.d.ts.map +1 -0
  733. package/dist/store/budget/memory.js +31 -0
  734. package/dist/store/budget/memory.js.map +1 -0
  735. package/dist/store/checkpoint/contract.d.ts +140 -0
  736. package/dist/store/checkpoint/contract.d.ts.map +1 -0
  737. package/dist/store/checkpoint/contract.js +91 -0
  738. package/dist/store/checkpoint/contract.js.map +1 -0
  739. package/dist/store/checkpoint/disk.d.ts +44 -0
  740. package/dist/store/checkpoint/disk.d.ts.map +1 -0
  741. package/dist/store/checkpoint/disk.js +168 -0
  742. package/dist/store/checkpoint/disk.js.map +1 -0
  743. package/dist/store/checkpoint/index.d.ts +9 -0
  744. package/dist/store/checkpoint/index.d.ts.map +1 -0
  745. package/dist/store/checkpoint/index.js +7 -0
  746. package/dist/store/checkpoint/index.js.map +1 -0
  747. package/dist/store/checkpoint/memory.d.ts +27 -0
  748. package/dist/store/checkpoint/memory.d.ts.map +1 -0
  749. package/dist/store/checkpoint/memory.js +80 -0
  750. package/dist/store/checkpoint/memory.js.map +1 -0
  751. package/dist/store/checkpoint/prune.d.ts +45 -0
  752. package/dist/store/checkpoint/prune.d.ts.map +1 -0
  753. package/dist/store/checkpoint/prune.js +71 -0
  754. package/dist/store/checkpoint/prune.js.map +1 -0
  755. package/dist/store/config/index.d.ts +1 -1
  756. package/dist/store/config/index.js +1 -1
  757. package/dist/store/evidence/disk.d.ts +25 -8
  758. package/dist/store/evidence/disk.d.ts.map +1 -1
  759. package/dist/store/evidence/disk.js +148 -47
  760. package/dist/store/evidence/disk.js.map +1 -1
  761. package/dist/store/evidence/index-page.d.ts +31 -140
  762. package/dist/store/evidence/index-page.d.ts.map +1 -1
  763. package/dist/store/evidence/index-page.js +59 -129
  764. package/dist/store/evidence/index-page.js.map +1 -1
  765. package/dist/store/evidence/source-text.d.ts +7 -6
  766. package/dist/store/evidence/source-text.d.ts.map +1 -1
  767. package/dist/store/evidence/source-text.js +16 -23
  768. package/dist/store/evidence/source-text.js.map +1 -1
  769. package/dist/store/evidence/types.d.ts +38 -39
  770. package/dist/store/evidence/types.d.ts.map +1 -1
  771. package/dist/store/feedback/conformance.d.ts +6 -6
  772. package/dist/store/feedback/conformance.d.ts.map +1 -1
  773. package/dist/store/feedback/conformance.js +30 -29
  774. package/dist/store/feedback/conformance.js.map +1 -1
  775. package/dist/store/feedback/disk.d.ts +20 -19
  776. package/dist/store/feedback/disk.d.ts.map +1 -1
  777. package/dist/store/feedback/disk.js +53 -53
  778. package/dist/store/feedback/disk.js.map +1 -1
  779. package/dist/store/feedback/index.d.ts +1 -1
  780. package/dist/store/feedback/index.d.ts.map +1 -1
  781. package/dist/store/feedback/index.js +1 -1
  782. package/dist/store/feedback/index.js.map +1 -1
  783. package/dist/store/feedback/memory.d.ts +8 -5
  784. package/dist/store/feedback/memory.d.ts.map +1 -1
  785. package/dist/store/feedback/memory.js +0 -0
  786. package/dist/store/feedback/memory.js.map +1 -1
  787. package/dist/store/feedback/types.d.ts +12 -11
  788. package/dist/store/feedback/types.d.ts.map +1 -1
  789. package/dist/store/feedback/types.js +3 -3
  790. package/dist/store/feedback/types.js.map +1 -1
  791. package/dist/store/index.d.ts +7 -8
  792. package/dist/store/index.d.ts.map +1 -1
  793. package/dist/store/index.js +4 -16
  794. package/dist/store/index.js.map +1 -1
  795. package/dist/store/memory/digest.d.ts +15 -0
  796. package/dist/store/memory/digest.d.ts.map +1 -0
  797. package/dist/store/memory/digest.js +27 -0
  798. package/dist/store/memory/digest.js.map +1 -0
  799. package/dist/store/memory/disk.d.ts.map +1 -1
  800. package/dist/store/memory/disk.js +42 -7
  801. package/dist/store/memory/disk.js.map +1 -1
  802. package/dist/store/memory/index-file.d.ts +56 -0
  803. package/dist/store/memory/index-file.d.ts.map +1 -0
  804. package/dist/store/memory/index-file.js +92 -0
  805. package/dist/store/memory/index-file.js.map +1 -0
  806. package/dist/store/memory/index.d.ts.map +1 -1
  807. package/dist/store/memory/index.js +4 -2
  808. package/dist/store/memory/index.js.map +1 -1
  809. package/dist/store/memory/links.d.ts +15 -0
  810. package/dist/store/memory/links.d.ts.map +1 -0
  811. package/dist/store/memory/links.js +35 -0
  812. package/dist/store/memory/links.js.map +1 -0
  813. package/dist/store/memory/markdown-format.d.ts +88 -0
  814. package/dist/store/memory/markdown-format.d.ts.map +1 -0
  815. package/dist/store/memory/markdown-format.js +222 -0
  816. package/dist/store/memory/markdown-format.js.map +1 -0
  817. package/dist/store/memory/markdown.d.ts +109 -0
  818. package/dist/store/memory/markdown.d.ts.map +1 -0
  819. package/dist/store/memory/markdown.js +606 -0
  820. package/dist/store/memory/markdown.js.map +1 -0
  821. package/dist/store/memory/memory.d.ts.map +1 -1
  822. package/dist/store/memory/memory.js +17 -4
  823. package/dist/store/memory/memory.js.map +1 -1
  824. package/dist/store/memory/naming.d.ts +66 -0
  825. package/dist/store/memory/naming.d.ts.map +1 -0
  826. package/dist/store/memory/naming.js +162 -0
  827. package/dist/store/memory/naming.js.map +1 -0
  828. package/dist/store/memory/origin.d.ts +25 -0
  829. package/dist/store/memory/origin.d.ts.map +1 -0
  830. package/dist/store/memory/origin.js +26 -0
  831. package/dist/store/memory/origin.js.map +1 -0
  832. package/dist/store/session/disk.d.ts +21 -24
  833. package/dist/store/session/disk.d.ts.map +1 -1
  834. package/dist/store/session/disk.js +27 -132
  835. package/dist/store/session/disk.js.map +1 -1
  836. package/dist/store/session/index.d.ts +0 -3
  837. package/dist/store/session/index.d.ts.map +1 -1
  838. package/dist/store/session/index.js +5 -7
  839. package/dist/store/session/index.js.map +1 -1
  840. package/dist/store/session/memory.d.ts +1 -8
  841. package/dist/store/session/memory.d.ts.map +1 -1
  842. package/dist/store/session/memory.js +1 -58
  843. package/dist/store/session/memory.js.map +1 -1
  844. package/dist/store/session-claim.d.ts +30 -0
  845. package/dist/store/session-claim.d.ts.map +1 -0
  846. package/dist/store/session-claim.js +71 -0
  847. package/dist/store/session-claim.js.map +1 -0
  848. package/dist/store/session-index/fts.d.ts +60 -0
  849. package/dist/store/session-index/fts.d.ts.map +1 -0
  850. package/dist/store/session-index/fts.js +160 -0
  851. package/dist/store/session-index/fts.js.map +1 -0
  852. package/dist/store/session-index/index.d.ts +206 -0
  853. package/dist/store/session-index/index.d.ts.map +1 -0
  854. package/dist/store/session-index/index.js +22 -0
  855. package/dist/store/session-index/index.js.map +1 -0
  856. package/dist/store/session-index/rebuild.d.ts +180 -0
  857. package/dist/store/session-index/rebuild.d.ts.map +1 -0
  858. package/dist/store/session-index/rebuild.js +669 -0
  859. package/dist/store/session-index/rebuild.js.map +1 -0
  860. package/dist/store/session-index/refs.d.ts +66 -0
  861. package/dist/store/session-index/refs.d.ts.map +1 -0
  862. package/dist/store/session-index/refs.js +107 -0
  863. package/dist/store/session-index/refs.js.map +1 -0
  864. package/dist/store/session-index/scan.d.ts +42 -0
  865. package/dist/store/session-index/scan.d.ts.map +1 -0
  866. package/dist/store/session-index/scan.js +188 -0
  867. package/dist/store/session-index/scan.js.map +1 -0
  868. package/dist/store/session-index/sqlite.d.ts +76 -0
  869. package/dist/store/session-index/sqlite.d.ts.map +1 -0
  870. package/dist/store/session-index/sqlite.js +547 -0
  871. package/dist/store/session-index/sqlite.js.map +1 -0
  872. package/dist/store/session-log/chain.d.ts +111 -0
  873. package/dist/store/session-log/chain.d.ts.map +1 -0
  874. package/dist/store/session-log/chain.js +212 -0
  875. package/dist/store/session-log/chain.js.map +1 -0
  876. package/dist/store/session-log/conformance.d.ts +61 -0
  877. package/dist/store/session-log/conformance.d.ts.map +1 -0
  878. package/dist/store/session-log/conformance.js +392 -0
  879. package/dist/store/session-log/conformance.js.map +1 -0
  880. package/dist/store/session-log/core.d.ts +203 -0
  881. package/dist/store/session-log/core.d.ts.map +1 -0
  882. package/dist/store/session-log/core.js +516 -0
  883. package/dist/store/session-log/core.js.map +1 -0
  884. package/dist/store/session-log/disk.d.ts +56 -0
  885. package/dist/store/session-log/disk.d.ts.map +1 -0
  886. package/dist/store/session-log/disk.js +169 -0
  887. package/dist/store/session-log/disk.js.map +1 -0
  888. package/dist/store/session-log/fold.d.ts +115 -0
  889. package/dist/store/session-log/fold.d.ts.map +1 -0
  890. package/dist/store/session-log/fold.js +265 -0
  891. package/dist/store/session-log/fold.js.map +1 -0
  892. package/dist/store/session-log/heal.d.ts +34 -0
  893. package/dist/store/session-log/heal.d.ts.map +1 -0
  894. package/dist/store/session-log/heal.js +12 -0
  895. package/dist/store/session-log/heal.js.map +1 -0
  896. package/dist/store/session-log/held-leases.d.ts +56 -0
  897. package/dist/store/session-log/held-leases.d.ts.map +1 -0
  898. package/dist/store/session-log/held-leases.js +67 -0
  899. package/dist/store/session-log/held-leases.js.map +1 -0
  900. package/dist/store/session-log/index.d.ts +10 -0
  901. package/dist/store/session-log/index.d.ts.map +1 -0
  902. package/dist/store/session-log/index.js +16 -0
  903. package/dist/store/session-log/index.js.map +1 -0
  904. package/dist/store/session-log/lease.d.ts +126 -0
  905. package/dist/store/session-log/lease.d.ts.map +1 -0
  906. package/dist/store/session-log/lease.js +226 -0
  907. package/dist/store/session-log/lease.js.map +1 -0
  908. package/dist/store/session-log/memory.d.ts +43 -0
  909. package/dist/store/session-log/memory.d.ts.map +1 -0
  910. package/dist/store/session-log/memory.js +78 -0
  911. package/dist/store/session-log/memory.js.map +1 -0
  912. package/dist/store/session-log/spill.d.ts +109 -0
  913. package/dist/store/session-log/spill.d.ts.map +1 -0
  914. package/dist/store/session-log/spill.js +223 -0
  915. package/dist/store/session-log/spill.js.map +1 -0
  916. package/dist/store/task/context.d.ts +25 -0
  917. package/dist/store/task/context.d.ts.map +1 -0
  918. package/dist/store/task/context.js +18 -0
  919. package/dist/store/task/context.js.map +1 -0
  920. package/dist/store/task/disk.d.ts +29 -26
  921. package/dist/store/task/disk.d.ts.map +1 -1
  922. package/dist/store/task/disk.js +102 -137
  923. package/dist/store/task/disk.js.map +1 -1
  924. package/dist/store/task/memory.d.ts +2 -2
  925. package/dist/store/task/memory.d.ts.map +1 -1
  926. package/dist/store/task/memory.js +10 -6
  927. package/dist/store/task/memory.js.map +1 -1
  928. package/dist/store/topic/index.js +2 -2
  929. package/dist/store/topic/index.js.map +1 -1
  930. package/dist/store/topic/objective.d.ts.map +1 -1
  931. package/dist/store/topic/objective.js +10 -3
  932. package/dist/store/topic/objective.js.map +1 -1
  933. package/dist/store/topic/state.js +1 -1
  934. package/dist/streaming/coalesce.d.ts +3 -3
  935. package/dist/streaming/coalesce.d.ts.map +1 -1
  936. package/dist/streaming/coalesce.js +1 -1
  937. package/dist/streaming/coalesce.js.map +1 -1
  938. package/dist/telemetry/attributes.d.ts +9 -8
  939. package/dist/telemetry/attributes.d.ts.map +1 -1
  940. package/dist/telemetry/attributes.js +6 -5
  941. package/dist/telemetry/attributes.js.map +1 -1
  942. package/dist/telemetry/metrics.d.ts +2 -2
  943. package/dist/telemetry/metrics.d.ts.map +1 -1
  944. package/dist/telemetry/metrics.js +5 -5
  945. package/dist/telemetry/metrics.js.map +1 -1
  946. package/dist/telemetry/runtime-accessors.js +1 -1
  947. package/dist/telemetry/runtime-accessors.js.map +1 -1
  948. package/dist/test-support/ids.d.ts +4 -4
  949. package/dist/test-support/ids.d.ts.map +1 -1
  950. package/dist/test-support/ids.js +3 -3
  951. package/dist/test-support/ids.js.map +1 -1
  952. package/dist/testing.d.ts +4 -6
  953. package/dist/testing.d.ts.map +1 -1
  954. package/dist/testing.js +3 -5
  955. package/dist/testing.js.map +1 -1
  956. package/dist/tools/advisory/index.js +1 -1
  957. package/dist/tools/advisory/index.js.map +1 -1
  958. package/dist/tools/builtins/bash.d.ts +6 -0
  959. package/dist/tools/builtins/bash.d.ts.map +1 -1
  960. package/dist/tools/builtins/bash.js +37 -5
  961. package/dist/tools/builtins/bash.js.map +1 -1
  962. package/dist/tools/builtins/content-fingerprint.d.ts +2 -2
  963. package/dist/tools/builtins/content-fingerprint.js +2 -2
  964. package/dist/tools/builtins/edit-apply.js +1 -1
  965. package/dist/tools/builtins/edit-apply.js.map +1 -1
  966. package/dist/tools/builtins/edit.d.ts.map +1 -1
  967. package/dist/tools/builtins/edit.js +3 -0
  968. package/dist/tools/builtins/edit.js.map +1 -1
  969. package/dist/tools/builtins/glob.d.ts.map +1 -1
  970. package/dist/tools/builtins/glob.js +3 -0
  971. package/dist/tools/builtins/glob.js.map +1 -1
  972. package/dist/tools/builtins/grep.d.ts.map +1 -1
  973. package/dist/tools/builtins/grep.js +3 -0
  974. package/dist/tools/builtins/grep.js.map +1 -1
  975. package/dist/tools/builtins/job.js +5 -5
  976. package/dist/tools/builtins/job.js.map +1 -1
  977. package/dist/tools/builtins/ls.d.ts +1 -1
  978. package/dist/tools/builtins/ls.d.ts.map +1 -1
  979. package/dist/tools/builtins/ls.js +3 -0
  980. package/dist/tools/builtins/ls.js.map +1 -1
  981. package/dist/tools/builtins/lsp.d.ts +1 -1
  982. package/dist/tools/builtins/lsp.d.ts.map +1 -1
  983. package/dist/tools/builtins/lsp.js +5 -2
  984. package/dist/tools/builtins/lsp.js.map +1 -1
  985. package/dist/tools/builtins/read-file.d.ts.map +1 -1
  986. package/dist/tools/builtins/read-file.js +3 -0
  987. package/dist/tools/builtins/read-file.js.map +1 -1
  988. package/dist/tools/builtins/run-code.js +9 -9
  989. package/dist/tools/builtins/run-code.js.map +1 -1
  990. package/dist/tools/builtins/skill.js +3 -3
  991. package/dist/tools/builtins/skill.js.map +1 -1
  992. package/dist/tools/builtins/wait-for-job-bounds.d.ts +4 -4
  993. package/dist/tools/builtins/wait-for-job-bounds.d.ts.map +1 -1
  994. package/dist/tools/builtins/wait-for-job-bounds.js +2 -2
  995. package/dist/tools/builtins/wait-for-job-bounds.js.map +1 -1
  996. package/dist/tools/builtins/wait-for-job.js +3 -3
  997. package/dist/tools/builtins/wait-for-job.js.map +1 -1
  998. package/dist/tools/builtins/web-guidance.d.ts +2 -2
  999. package/dist/tools/builtins/web-guidance.js +2 -2
  1000. package/dist/tools/builtins/web.js +3 -3
  1001. package/dist/tools/builtins/web.js.map +1 -1
  1002. package/dist/tools/builtins/write-file.d.ts.map +1 -1
  1003. package/dist/tools/builtins/write-file.js +3 -0
  1004. package/dist/tools/builtins/write-file.js.map +1 -1
  1005. package/dist/tools/coordinator/agent.d.ts +1 -1
  1006. package/dist/tools/coordinator/agent.js +7 -7
  1007. package/dist/tools/coordinator/agent.js.map +1 -1
  1008. package/dist/tools/coordinator/ask-user-question.d.ts +10 -9
  1009. package/dist/tools/coordinator/ask-user-question.d.ts.map +1 -1
  1010. package/dist/tools/coordinator/ask-user-question.js +9 -8
  1011. package/dist/tools/coordinator/ask-user-question.js.map +1 -1
  1012. package/dist/tools/coordinator/index.d.ts +17 -11
  1013. package/dist/tools/coordinator/index.d.ts.map +1 -1
  1014. package/dist/tools/coordinator/index.js +45 -44
  1015. package/dist/tools/coordinator/index.js.map +1 -1
  1016. package/dist/tools/coordinator/outcome.d.ts +5 -5
  1017. package/dist/tools/coordinator/outcome.js +7 -7
  1018. package/dist/tools/coordinator/outcome.js.map +1 -1
  1019. package/dist/tools/coordinator/plan-dependencies.js +1 -1
  1020. package/dist/tools/coordinator/plan-dependencies.js.map +1 -1
  1021. package/dist/tools/coordinator/wait-with-idle-bound.d.ts +4 -4
  1022. package/dist/tools/coordinator/wait-with-idle-bound.d.ts.map +1 -1
  1023. package/dist/tools/coordinator/wait-with-idle-bound.js +2 -2
  1024. package/dist/tools/coordinator/wait-with-idle-bound.js.map +1 -1
  1025. package/dist/tools/defineTool.d.ts +5 -1
  1026. package/dist/tools/defineTool.d.ts.map +1 -1
  1027. package/dist/tools/defineTool.js +4 -0
  1028. package/dist/tools/defineTool.js.map +1 -1
  1029. package/dist/tools/env-scrub.d.ts +1 -1
  1030. package/dist/tools/env-scrub.js +1 -1
  1031. package/dist/tools/goal/index.d.ts +10 -6
  1032. package/dist/tools/goal/index.d.ts.map +1 -1
  1033. package/dist/tools/goal/index.js +9 -9
  1034. package/dist/tools/goal/index.js.map +1 -1
  1035. package/dist/tools/memory/fields.d.ts +8 -0
  1036. package/dist/tools/memory/fields.d.ts.map +1 -0
  1037. package/dist/tools/memory/fields.js +22 -0
  1038. package/dist/tools/memory/fields.js.map +1 -0
  1039. package/dist/tools/memory/read.d.ts.map +1 -1
  1040. package/dist/tools/memory/read.js +60 -7
  1041. package/dist/tools/memory/read.js.map +1 -1
  1042. package/dist/tools/memory/resolve.d.ts +21 -0
  1043. package/dist/tools/memory/resolve.d.ts.map +1 -0
  1044. package/dist/tools/memory/resolve.js +23 -0
  1045. package/dist/tools/memory/resolve.js.map +1 -0
  1046. package/dist/tools/memory/save.d.ts.map +1 -1
  1047. package/dist/tools/memory/save.js +57 -18
  1048. package/dist/tools/memory/save.js.map +1 -1
  1049. package/dist/tools/memory/search.d.ts.map +1 -1
  1050. package/dist/tools/memory/search.js +9 -2
  1051. package/dist/tools/memory/search.js.map +1 -1
  1052. package/dist/tools/memory/update.d.ts.map +1 -1
  1053. package/dist/tools/memory/update.js +45 -7
  1054. package/dist/tools/memory/update.js.map +1 -1
  1055. package/dist/tools/paths.d.ts +29 -3
  1056. package/dist/tools/paths.d.ts.map +1 -1
  1057. package/dist/tools/paths.js +81 -23
  1058. package/dist/tools/paths.js.map +1 -1
  1059. package/dist/tools/posix-path.js +1 -1
  1060. package/dist/tools/posix-path.js.map +1 -1
  1061. package/dist/tools/resident-history.d.ts +1 -1
  1062. package/dist/tools/resident-history.js +1 -1
  1063. package/dist/tools/resident-tool-evidence.d.ts +1 -1
  1064. package/dist/tools/resident-tool-evidence.d.ts.map +1 -1
  1065. package/dist/tools/resident-tool-evidence.js +1 -1
  1066. package/dist/tools/resident-tool-evidence.js.map +1 -1
  1067. package/dist/tools/task/create.d.ts +2 -2
  1068. package/dist/tools/task/create.d.ts.map +1 -1
  1069. package/dist/tools/task/create.js +3 -2
  1070. package/dist/tools/task/create.js.map +1 -1
  1071. package/dist/tools/task/index.d.ts +16 -2
  1072. package/dist/tools/task/index.d.ts.map +1 -1
  1073. package/dist/tools/task/index.js +4 -3
  1074. package/dist/tools/task/index.js.map +1 -1
  1075. package/dist/tools/task/list.d.ts +4 -2
  1076. package/dist/tools/task/list.d.ts.map +1 -1
  1077. package/dist/tools/task/list.js +8 -4
  1078. package/dist/tools/task/list.js.map +1 -1
  1079. package/dist/turn/LimitChecker.d.ts +30 -0
  1080. package/dist/turn/LimitChecker.d.ts.map +1 -0
  1081. package/dist/turn/LimitChecker.js +57 -0
  1082. package/dist/turn/LimitChecker.js.map +1 -0
  1083. package/dist/turn/command-gate.d.ts +107 -0
  1084. package/dist/turn/command-gate.d.ts.map +1 -0
  1085. package/dist/turn/command-gate.js +221 -0
  1086. package/dist/turn/command-gate.js.map +1 -0
  1087. package/dist/turn/drain.d.ts +138 -0
  1088. package/dist/turn/drain.d.ts.map +1 -0
  1089. package/dist/turn/drain.js +209 -0
  1090. package/dist/turn/drain.js.map +1 -0
  1091. package/dist/turn/evidence-query.d.ts +41 -0
  1092. package/dist/turn/evidence-query.d.ts.map +1 -0
  1093. package/dist/turn/evidence-query.js +270 -0
  1094. package/dist/turn/evidence-query.js.map +1 -0
  1095. package/dist/turn/evidence-recall.d.ts +102 -0
  1096. package/dist/turn/evidence-recall.d.ts.map +1 -0
  1097. package/dist/turn/evidence-recall.js +635 -0
  1098. package/dist/turn/evidence-recall.js.map +1 -0
  1099. package/dist/turn/index.d.ts +17 -0
  1100. package/dist/turn/index.d.ts.map +1 -0
  1101. package/dist/turn/index.js +9 -0
  1102. package/dist/turn/index.js.map +1 -0
  1103. package/dist/turn/json-claim-verifier.d.ts +83 -0
  1104. package/dist/turn/json-claim-verifier.d.ts.map +1 -0
  1105. package/dist/turn/json-claim-verifier.js +200 -0
  1106. package/dist/turn/json-claim-verifier.js.map +1 -0
  1107. package/dist/turn/memory-promoter.d.ts +43 -0
  1108. package/dist/turn/memory-promoter.d.ts.map +1 -0
  1109. package/dist/turn/memory-promoter.js +111 -0
  1110. package/dist/turn/memory-promoter.js.map +1 -0
  1111. package/dist/turn/memory-recall.d.ts +33 -0
  1112. package/dist/turn/memory-recall.d.ts.map +1 -0
  1113. package/dist/turn/memory-recall.js +248 -0
  1114. package/dist/turn/memory-recall.js.map +1 -0
  1115. package/dist/turn/preparation-context-error.d.ts.map +1 -0
  1116. package/dist/turn/preparation-context-error.js.map +1 -0
  1117. package/dist/turn/reporter.d.ts +8 -0
  1118. package/dist/turn/reporter.d.ts.map +1 -0
  1119. package/dist/turn/reporter.js +420 -0
  1120. package/dist/turn/reporter.js.map +1 -0
  1121. package/dist/turn/workspace-fingerprint.d.ts.map +1 -0
  1122. package/dist/turn/workspace-fingerprint.js.map +1 -0
  1123. package/dist/types/activity/index.d.ts +2 -2
  1124. package/dist/types/activity/index.d.ts.map +1 -1
  1125. package/dist/types/advisory/config.d.ts +7 -7
  1126. package/dist/types/advisory/config.d.ts.map +1 -1
  1127. package/dist/types/agent/base.d.ts +71 -44
  1128. package/dist/types/agent/base.d.ts.map +1 -1
  1129. package/dist/types/agent/core.d.ts +10 -10
  1130. package/dist/types/agent/core.d.ts.map +1 -1
  1131. package/dist/types/agent/delegate.d.ts +2 -2
  1132. package/dist/types/agent/factory.d.ts +6 -4
  1133. package/dist/types/agent/factory.d.ts.map +1 -1
  1134. package/dist/types/agent/manager.d.ts +6 -6
  1135. package/dist/types/agent/manager.d.ts.map +1 -1
  1136. package/dist/types/agent/pipeline.d.ts +5 -4
  1137. package/dist/types/agent/pipeline.d.ts.map +1 -1
  1138. package/dist/types/agent/reactive.d.ts +11 -10
  1139. package/dist/types/agent/reactive.d.ts.map +1 -1
  1140. package/dist/types/agent/router.d.ts +1 -1
  1141. package/dist/types/agent/scheduler.d.ts +27 -11
  1142. package/dist/types/agent/scheduler.d.ts.map +1 -1
  1143. package/dist/types/agent/supervisor.d.ts +13 -13
  1144. package/dist/types/agent/task.d.ts +48 -12
  1145. package/dist/types/agent/task.d.ts.map +1 -1
  1146. package/dist/types/agent/working-memory.d.ts +5 -4
  1147. package/dist/types/agent/working-memory.d.ts.map +1 -1
  1148. package/dist/types/authorization/index.d.ts +6 -6
  1149. package/dist/types/bidi/index.d.ts +21 -12
  1150. package/dist/types/bidi/index.d.ts.map +1 -1
  1151. package/dist/types/bus/index.d.ts +34 -28
  1152. package/dist/types/bus/index.d.ts.map +1 -1
  1153. package/dist/types/code-navigation/index.d.ts +1 -1
  1154. package/dist/types/common/index.d.ts +10 -18
  1155. package/dist/types/common/index.d.ts.map +1 -1
  1156. package/dist/types/common/index.js +3 -2
  1157. package/dist/types/common/index.js.map +1 -1
  1158. package/dist/types/connector/core.d.ts +2 -2
  1159. package/dist/types/connector/definition.d.ts +1 -1
  1160. package/dist/types/connector/mcp.d.ts +1 -1
  1161. package/dist/types/errors/catalog.js +4 -4
  1162. package/dist/types/errors/catalog.js.map +1 -1
  1163. package/dist/types/errors/index.d.ts +5 -5
  1164. package/dist/types/errors/index.d.ts.map +1 -1
  1165. package/dist/types/guardrail/index.d.ts +12 -10
  1166. package/dist/types/guardrail/index.d.ts.map +1 -1
  1167. package/dist/types/hitl/index.d.ts +60 -117
  1168. package/dist/types/hitl/index.d.ts.map +1 -1
  1169. package/dist/types/hitl/index.js +1 -1
  1170. package/dist/types/hitl/index.js.map +1 -1
  1171. package/dist/types/hitl/policy.d.ts +8 -6
  1172. package/dist/types/hitl/policy.d.ts.map +1 -1
  1173. package/dist/types/ids/brand.d.ts +10 -3
  1174. package/dist/types/ids/brand.d.ts.map +1 -1
  1175. package/dist/types/ids/brand.js.map +1 -1
  1176. package/dist/types/ids/index.d.ts +10 -4
  1177. package/dist/types/ids/index.d.ts.map +1 -1
  1178. package/dist/types/ids/index.js.map +1 -1
  1179. package/dist/types/memory/index.d.ts +35 -0
  1180. package/dist/types/memory/index.d.ts.map +1 -1
  1181. package/dist/types/memory/index.js +17 -0
  1182. package/dist/types/memory/index.js.map +1 -1
  1183. package/dist/types/message/index.d.ts +4 -4
  1184. package/dist/types/plan/index.d.ts +5 -3
  1185. package/dist/types/plan/index.d.ts.map +1 -1
  1186. package/dist/types/plugin/index.d.ts +27 -19
  1187. package/dist/types/plugin/index.d.ts.map +1 -1
  1188. package/dist/types/plugin/index.js +16 -3
  1189. package/dist/types/plugin/index.js.map +1 -1
  1190. package/dist/types/probe/event-kind.d.ts +3 -3
  1191. package/dist/types/probe/event-kind.d.ts.map +1 -1
  1192. package/dist/types/probe/registry.d.ts +3 -2
  1193. package/dist/types/probe/registry.d.ts.map +1 -1
  1194. package/dist/types/project/entity.d.ts +3 -3
  1195. package/dist/types/provider/config.d.ts +3 -3
  1196. package/dist/types/provider/error.d.ts +1 -1
  1197. package/dist/types/provider/errors.d.ts +2 -2
  1198. package/dist/types/provider/errors.js +2 -2
  1199. package/dist/types/provider/errors.js.map +1 -1
  1200. package/dist/types/provider/interface.d.ts +5 -5
  1201. package/dist/types/provider/model.d.ts +26 -2
  1202. package/dist/types/provider/model.d.ts.map +1 -1
  1203. package/dist/types/router/task-router.d.ts +1 -1
  1204. package/dist/types/sandbox/index.d.ts +14 -14
  1205. package/dist/types/sandbox/index.d.ts.map +1 -1
  1206. package/dist/types/sandbox/index.js +4 -4
  1207. package/dist/types/session/answer-review.d.ts +80 -0
  1208. package/dist/types/session/answer-review.d.ts.map +1 -0
  1209. package/dist/types/session/answer-review.js.map +1 -0
  1210. package/dist/types/session/audit.d.ts +153 -0
  1211. package/dist/types/session/audit.d.ts.map +1 -0
  1212. package/dist/types/session/audit.js +35 -0
  1213. package/dist/types/session/audit.js.map +1 -0
  1214. package/dist/types/session/cancel-cause.d.ts +49 -0
  1215. package/dist/types/session/cancel-cause.d.ts.map +1 -0
  1216. package/dist/types/session/cancel-cause.js +39 -0
  1217. package/dist/types/session/cancel-cause.js.map +1 -0
  1218. package/dist/types/session/checkpoint.d.ts +325 -0
  1219. package/dist/types/session/checkpoint.d.ts.map +1 -0
  1220. package/dist/types/session/checkpoint.js +100 -0
  1221. package/dist/types/session/checkpoint.js.map +1 -0
  1222. package/dist/types/session/config.d.ts +199 -0
  1223. package/dist/types/session/config.d.ts.map +1 -0
  1224. package/dist/types/session/config.js.map +1 -0
  1225. package/dist/types/session/derive-status.d.ts +28 -0
  1226. package/dist/types/session/derive-status.d.ts.map +1 -0
  1227. package/dist/types/session/derive-status.js +49 -0
  1228. package/dist/types/session/derive-status.js.map +1 -0
  1229. package/dist/types/session/durable.d.ts +142 -0
  1230. package/dist/types/session/durable.d.ts.map +1 -0
  1231. package/dist/types/session/durable.js +11 -0
  1232. package/dist/types/session/durable.js.map +1 -0
  1233. package/dist/types/session/entity.d.ts +1 -1
  1234. package/dist/types/session/events.d.ts +1139 -0
  1235. package/dist/types/session/events.d.ts.map +1 -0
  1236. package/dist/types/session/events.js +15 -0
  1237. package/dist/types/session/events.js.map +1 -0
  1238. package/dist/types/session/fork.d.ts +45 -0
  1239. package/dist/types/session/fork.d.ts.map +1 -0
  1240. package/dist/types/session/fork.js +15 -0
  1241. package/dist/types/session/fork.js.map +1 -0
  1242. package/dist/types/session/ids.d.ts +1 -1
  1243. package/dist/types/session/ids.d.ts.map +1 -1
  1244. package/dist/types/session/index.d.ts +20 -1
  1245. package/dist/types/session/index.d.ts.map +1 -1
  1246. package/dist/types/session/index.js +22 -4
  1247. package/dist/types/session/index.js.map +1 -1
  1248. package/dist/types/session/lineage.d.ts +15 -0
  1249. package/dist/types/session/lineage.d.ts.map +1 -0
  1250. package/dist/types/session/lineage.js.map +1 -0
  1251. package/dist/types/session/log-cursor.d.ts +57 -0
  1252. package/dist/types/session/log-cursor.d.ts.map +1 -0
  1253. package/dist/types/session/log-cursor.js +34 -0
  1254. package/dist/types/session/log-cursor.js.map +1 -0
  1255. package/dist/types/session/memory-promotion.d.ts +91 -0
  1256. package/dist/types/session/memory-promotion.d.ts.map +1 -0
  1257. package/dist/types/session/memory-promotion.js +39 -0
  1258. package/dist/types/session/memory-promotion.js.map +1 -0
  1259. package/dist/types/session/messages.d.ts +1 -1
  1260. package/dist/types/session/messages.js +1 -1
  1261. package/dist/types/session/prepare-step.d.ts +278 -0
  1262. package/dist/types/session/prepare-step.d.ts.map +1 -0
  1263. package/dist/types/session/prepare-step.js.map +1 -0
  1264. package/dist/types/session/records.d.ts +5597 -0
  1265. package/dist/types/session/records.d.ts.map +1 -0
  1266. package/dist/types/session/records.js +721 -0
  1267. package/dist/types/session/records.js.map +1 -0
  1268. package/dist/types/session/step.d.ts +195 -0
  1269. package/dist/types/session/step.d.ts.map +1 -0
  1270. package/dist/types/session/step.js +26 -0
  1271. package/dist/types/session/step.js.map +1 -0
  1272. package/dist/types/session/stop-reason.d.ts +67 -0
  1273. package/dist/types/session/stop-reason.d.ts.map +1 -0
  1274. package/dist/types/session/stop-reason.js.map +1 -0
  1275. package/dist/types/session/store.d.ts +2 -43
  1276. package/dist/types/session/store.d.ts.map +1 -1
  1277. package/dist/types/session/tool-execution.d.ts +34 -0
  1278. package/dist/types/session/tool-execution.d.ts.map +1 -0
  1279. package/dist/types/session/tool-execution.js +11 -0
  1280. package/dist/types/session/tool-execution.js.map +1 -0
  1281. package/dist/types/session/turn-state.d.ts +74 -0
  1282. package/dist/types/session/turn-state.d.ts.map +1 -0
  1283. package/dist/types/session/turn-state.js +59 -0
  1284. package/dist/types/session/turn-state.js.map +1 -0
  1285. package/dist/types/session/turn.d.ts +215 -0
  1286. package/dist/types/session/turn.d.ts.map +1 -0
  1287. package/dist/types/session/turn.js +44 -0
  1288. package/dist/types/session/turn.js.map +1 -0
  1289. package/dist/types/structured-output/index.d.ts +2 -2
  1290. package/dist/types/structured-output/index.d.ts.map +1 -1
  1291. package/dist/types/summary/deliverable.d.ts +4 -4
  1292. package/dist/types/summary/deliverable.d.ts.map +1 -1
  1293. package/dist/types/task/index.d.ts +8 -4
  1294. package/dist/types/task/index.d.ts.map +1 -1
  1295. package/dist/types/tool/index.d.ts +73 -26
  1296. package/dist/types/tool/index.d.ts.map +1 -1
  1297. package/dist/types/tool/index.js.map +1 -1
  1298. package/dist/types/topic/entity.d.ts +6 -6
  1299. package/dist/types/topic/objective.d.ts +10 -5
  1300. package/dist/types/topic/objective.d.ts.map +1 -1
  1301. package/dist/types/topic/objective.js.map +1 -1
  1302. package/dist/types/topic/state.d.ts +4 -4
  1303. package/dist/types/topic/store.d.ts +1 -1
  1304. package/dist/types/topic/store.js +1 -1
  1305. package/dist/types/workspace/index.d.ts +1 -1
  1306. package/dist/types/workspace/index.d.ts.map +1 -1
  1307. package/dist/types/workspace/index.js +1 -1
  1308. package/dist/types/workspace/index.js.map +1 -1
  1309. package/dist/types/workspace/ref.d.ts +3 -3
  1310. package/dist/types/workspace/shared-session.d.ts +61 -0
  1311. package/dist/types/workspace/shared-session.d.ts.map +1 -0
  1312. package/dist/types/workspace/shared-session.js +2 -0
  1313. package/dist/types/workspace/shared-session.js.map +1 -0
  1314. package/dist/utils/abort.js +4 -4
  1315. package/dist/utils/abort.js.map +1 -1
  1316. package/dist/utils/atomic-write.d.ts +29 -1
  1317. package/dist/utils/atomic-write.d.ts.map +1 -1
  1318. package/dist/utils/atomic-write.js +60 -4
  1319. package/dist/utils/atomic-write.js.map +1 -1
  1320. package/dist/utils/cost.d.ts +3 -3
  1321. package/dist/utils/cost.d.ts.map +1 -1
  1322. package/dist/utils/cost.js +11 -12
  1323. package/dist/utils/cost.js.map +1 -1
  1324. package/dist/utils/env.d.ts +1 -1
  1325. package/dist/utils/env.js +1 -1
  1326. package/dist/utils/id.d.ts +9 -8
  1327. package/dist/utils/id.d.ts.map +1 -1
  1328. package/dist/utils/id.js +20 -13
  1329. package/dist/utils/id.js.map +1 -1
  1330. package/dist/utils/log/create-logger.js +1 -1
  1331. package/dist/utils/log/create-logger.js.map +1 -1
  1332. package/dist/utils/log/types.js +1 -1
  1333. package/dist/utils/log/types.js.map +1 -1
  1334. package/dist/utils/shell-compress.js +2 -2
  1335. package/dist/utils/shell-compress.js.map +1 -1
  1336. package/dist/utils/uuidv7.d.ts +33 -0
  1337. package/dist/utils/uuidv7.d.ts.map +1 -0
  1338. package/dist/utils/uuidv7.js +70 -0
  1339. package/dist/utils/uuidv7.js.map +1 -0
  1340. package/dist/vault/instrumentation.d.ts +5 -2
  1341. package/dist/vault/instrumentation.d.ts.map +1 -1
  1342. package/dist/vault/instrumentation.js +12 -6
  1343. package/dist/vault/instrumentation.js.map +1 -1
  1344. package/package.json +1 -1
  1345. package/src/advisory/budget.ts +3 -3
  1346. package/src/advisory/context.ts +9 -9
  1347. package/src/advisory/evaluator.ts +2 -2
  1348. package/src/advisory/parse.ts +1 -1
  1349. package/src/agents/AbstractAgent.ts +74 -50
  1350. package/src/agents/PipelineAgent.ts +91 -26
  1351. package/src/agents/ReactiveAgent.ts +35 -29
  1352. package/src/agents/RouterAgent.ts +32 -44
  1353. package/src/agents/SupervisorAgent.ts +55 -41
  1354. package/src/agents/budget.ts +73 -16
  1355. package/src/agents/defineAgent.ts +7 -3
  1356. package/src/agents/handle.ts +17 -19
  1357. package/src/agents/lock.ts +4 -4
  1358. package/src/agents/runAgent.ts +96 -38
  1359. package/src/agents/storage.ts +36 -0
  1360. package/src/authorization/command-line.ts +1 -1
  1361. package/src/authorization/gate.ts +1 -1
  1362. package/src/authorization/permission-presets.ts +4 -4
  1363. package/src/bridge/a2a/client.ts +2 -2
  1364. package/src/bridge/a2a/context.ts +46 -0
  1365. package/src/bridge/a2a/index.ts +12 -5
  1366. package/src/bridge/a2a/mapper.ts +48 -38
  1367. package/src/bridge/a2a/task.ts +91 -37
  1368. package/src/bridge/acp/permission.ts +2 -2
  1369. package/src/bridge/acp/server.ts +45 -11
  1370. package/src/bridge/acp/update.ts +9 -9
  1371. package/src/bridge/external-session.ts +82 -0
  1372. package/src/bridge/sse/index.ts +1 -1
  1373. package/src/bridge/sse/mapper.ts +116 -145
  1374. package/src/bus/breaker.ts +30 -29
  1375. package/src/bus/index.ts +7 -7
  1376. package/src/bus/lock.ts +7 -7
  1377. package/src/bus/ownership.ts +8 -8
  1378. package/src/compaction/consolidation.ts +61 -15
  1379. package/src/compaction/context-window.ts +4 -4
  1380. package/src/compaction/index.ts +2 -2
  1381. package/src/compaction/manager.ts +4 -4
  1382. package/src/compaction/manual.ts +5 -5
  1383. package/src/compaction/plan.ts +8 -8
  1384. package/src/compaction/reducer.ts +8 -8
  1385. package/src/compaction/retention.ts +2 -2
  1386. package/src/compaction/salience/bm25.ts +2 -2
  1387. package/src/compaction/salience/goal.ts +3 -3
  1388. package/src/compaction/salience/minhash.ts +1 -1
  1389. package/src/compaction/salience/score.ts +3 -3
  1390. package/src/compaction/salience/tokenize.ts +1 -1
  1391. package/src/compaction/verifier.ts +7 -7
  1392. package/src/compaction/wire.ts +1 -1
  1393. package/src/config/registry.ts +4 -4
  1394. package/src/config/runtime.ts +3 -3
  1395. package/src/connector/http-operation.ts +1 -1
  1396. package/src/connector/mcp/adapter.ts +1 -1
  1397. package/src/connector/mcp/client.ts +1 -1
  1398. package/src/connector/mcp/discovery.ts +2 -2
  1399. package/src/connector/mcp/policy.ts +1 -1
  1400. package/src/connector/mcp/prompt-adapter.ts +3 -3
  1401. package/src/constants/a2a/index.ts +10 -3
  1402. package/src/constants/continuation.ts +1 -1
  1403. package/src/constants/index.ts +0 -1
  1404. package/src/constants/limits.ts +2 -2
  1405. package/src/constants/telemetry/index.ts +15 -12
  1406. package/src/constants/tools/index.ts +2 -2
  1407. package/src/contracts/api.ts +11 -202
  1408. package/src/contracts/index.ts +8 -15
  1409. package/src/contracts/schemas.ts +6 -39
  1410. package/src/contracts/session/api.ts +150 -0
  1411. package/src/contracts/session/index.ts +29 -0
  1412. package/src/contracts/session/schemas.ts +60 -0
  1413. package/src/contracts/session/turn-status.ts +83 -0
  1414. package/src/contracts/session/turn.ts +67 -0
  1415. package/src/directory/derive-supervisor.ts +2 -2
  1416. package/src/directory/derive.ts +4 -4
  1417. package/src/directory/index.ts +2 -2
  1418. package/src/directory/load.ts +2 -2
  1419. package/src/directory/types.ts +2 -2
  1420. package/src/eval/experiment.ts +23 -23
  1421. package/src/eval/from-turn.ts +50 -0
  1422. package/src/eval/harness-verification.ts +7 -7
  1423. package/src/eval/index.ts +2 -2
  1424. package/src/eval/judge.ts +10 -10
  1425. package/src/eval/scorers.ts +23 -23
  1426. package/src/eval/types.ts +12 -12
  1427. package/src/eval/uncertainty.ts +2 -2
  1428. package/src/execution/code-runtime/types.ts +4 -4
  1429. package/src/execution/code-runtime/worker.ts +1 -1
  1430. package/src/invariants/index.ts +2 -2
  1431. package/src/manager/agent/child-session.ts +120 -0
  1432. package/src/manager/agent/lifecycle.ts +422 -102
  1433. package/src/manager/index.ts +1 -2
  1434. package/src/manager/plan/lifecycle.ts +16 -10
  1435. package/src/manager/resident/consumption.ts +8 -6
  1436. package/src/manager/resident/evidence-recall.ts +14 -14
  1437. package/src/manager/resident/host.ts +2 -2
  1438. package/src/manager/resident/learning-cycle.ts +5 -3
  1439. package/src/manager/resident/learning-observation.ts +9 -4
  1440. package/src/manager/resident/learning-store.ts +46 -16
  1441. package/src/manager/resident/tool-evidence.ts +38 -31
  1442. package/src/manager/session/turn-recorder.ts +1291 -0
  1443. package/src/plugin/lifecycle.ts +20 -13
  1444. package/src/plugin/shell-hook.ts +64 -25
  1445. package/src/pricing/index.ts +5 -5
  1446. package/src/pricing/rates.source.json +5 -5
  1447. package/src/probe/context.ts +5 -3
  1448. package/src/probe/registry.ts +1 -1
  1449. package/src/prompt/coding-agent-doctrine.ts +1 -1
  1450. package/src/prompt/contributions.ts +28 -6
  1451. package/src/prompt/resident-learning.ts +2 -2
  1452. package/src/provider/collect-chat-completion.ts +3 -3
  1453. package/src/provider/conformance.ts +21 -6
  1454. package/src/provider/errors.ts +2 -2
  1455. package/src/provider/fallback.ts +8 -8
  1456. package/src/provider/idle-timeout.ts +4 -4
  1457. package/src/provider/instrumentation.ts +14 -7
  1458. package/src/provider/mock.ts +1 -1
  1459. package/src/provider/retry.ts +7 -7
  1460. package/src/provider/stream-text.ts +1 -1
  1461. package/src/provider/thinking-support.ts +2 -2
  1462. package/src/provider/token-budget.ts +2 -2
  1463. package/src/public-runtime.ts +213 -141
  1464. package/src/public-tools.ts +14 -7
  1465. package/src/public-types.ts +71 -59
  1466. package/src/rag/embedding.ts +1 -1
  1467. package/src/read-model/index.ts +2 -2
  1468. package/src/read-model/registry.ts +11 -11
  1469. package/src/read-model/session-status.ts +87 -0
  1470. package/src/registry/command/kernel-commands.ts +10 -10
  1471. package/src/registry/tool/dialect.ts +1 -1
  1472. package/src/registry/tool/execute.ts +20 -7
  1473. package/src/registry/tool/portable.ts +1 -1
  1474. package/src/registry/tool/presentation.ts +1 -1
  1475. package/src/registry/tool/schema.ts +1 -1
  1476. package/src/registry/tool/screen.ts +3 -3
  1477. package/src/runtime/bidi/index.ts +2 -2
  1478. package/src/runtime/bidi/session.ts +45 -34
  1479. package/src/runtime/jobs/awaited-jobs.ts +13 -13
  1480. package/src/runtime/jobs/registry.ts +11 -11
  1481. package/src/runtime/query/abandon-turn.ts +110 -0
  1482. package/src/runtime/query/approval-policy.ts +13 -13
  1483. package/src/runtime/query/callback-inference.ts +16 -10
  1484. package/src/runtime/query/cancelled-before-start.ts +96 -79
  1485. package/src/runtime/query/checkpoint.ts +519 -420
  1486. package/src/runtime/query/compact-session.ts +92 -0
  1487. package/src/runtime/query/context.ts +80 -136
  1488. package/src/runtime/query/events.ts +159 -126
  1489. package/src/runtime/query/executor/tool-call-admission.ts +6 -5
  1490. package/src/runtime/query/executor.ts +206 -111
  1491. package/src/runtime/query/file-evidence-seed.ts +2 -2
  1492. package/src/runtime/query/finalize-turn.ts +209 -0
  1493. package/src/runtime/query/fork/list.ts +20 -0
  1494. package/src/runtime/query/fork/mutate.ts +82 -0
  1495. package/src/runtime/query/fork/prepare.ts +92 -0
  1496. package/src/runtime/query/guard.ts +22 -22
  1497. package/src/runtime/query/guardrail-presets.ts +12 -12
  1498. package/src/runtime/query/guardrails.ts +11 -11
  1499. package/src/runtime/query/index.ts +1607 -1533
  1500. package/src/runtime/query/iteration/index.ts +304 -253
  1501. package/src/runtime/query/iteration/outstanding-work.ts +65 -65
  1502. package/src/runtime/query/iteration/phases/advisory.ts +16 -16
  1503. package/src/runtime/query/iteration/phases/checkpoint.ts +26 -10
  1504. package/src/runtime/query/iteration/phases/compaction.ts +74 -72
  1505. package/src/runtime/query/iteration/phases/context.ts +57 -60
  1506. package/src/runtime/query/iteration/phases/plan.ts +9 -6
  1507. package/src/runtime/query/iteration/phases/tool-review.ts +141 -27
  1508. package/src/runtime/query/iteration/phases/working-memory.ts +57 -22
  1509. package/src/runtime/query/iteration/step-context.ts +17 -0
  1510. package/src/runtime/query/iteration/step-shaping.ts +21 -24
  1511. package/src/runtime/query/iteration/stream-turn.ts +36 -32
  1512. package/src/runtime/query/plugin-hooks.ts +1 -1
  1513. package/src/runtime/query/prepare-turn.ts +932 -0
  1514. package/src/runtime/query/project-instructions.ts +5 -4
  1515. package/src/runtime/query/prompt-cache.ts +1 -1
  1516. package/src/runtime/query/prompt.ts +5 -5
  1517. package/src/runtime/query/question-park.ts +7 -7
  1518. package/src/runtime/query/release-turn.ts +157 -0
  1519. package/src/runtime/query/repeat-call.ts +7 -7
  1520. package/src/runtime/query/result.ts +123 -131
  1521. package/src/runtime/query/resume-pending.ts +101 -44
  1522. package/src/runtime/query/resume-session.ts +153 -0
  1523. package/src/runtime/query/review-policy.ts +147 -19
  1524. package/src/runtime/query/sandbox-lifecycle.ts +5 -5
  1525. package/src/runtime/query/session-storage.ts +302 -0
  1526. package/src/runtime/query/steering.ts +17 -4
  1527. package/src/runtime/query/token-budget.ts +59 -93
  1528. package/src/runtime/query/tool-call-budget.ts +14 -14
  1529. package/src/runtime/query/tool-executions.ts +77 -0
  1530. package/src/runtime/query/tool-grants.ts +3 -3
  1531. package/src/runtime/query/tool-output-budget.ts +4 -4
  1532. package/src/runtime/query/tool-pause.ts +8 -6
  1533. package/src/runtime/query/tooling.ts +22 -14
  1534. package/src/runtime/query/turn-state.ts +153 -0
  1535. package/src/sandbox/isolation.ts +2 -2
  1536. package/src/sandbox/provider/local.ts +8 -8
  1537. package/src/scheduler/completion-inbox.ts +36 -36
  1538. package/src/scheduler/delegating.ts +27 -13
  1539. package/src/scheduler/local.ts +49 -21
  1540. package/src/session/events/index.ts +10 -14
  1541. package/src/session/handoff/broadcast.ts +7 -7
  1542. package/src/session/handoff/events.ts +1 -1
  1543. package/src/session/handoff/index.ts +1 -1
  1544. package/src/session/handoff/single.ts +21 -21
  1545. package/src/session/handoff/version.ts +11 -7
  1546. package/src/session/home.ts +66 -0
  1547. package/src/session/index.ts +1 -0
  1548. package/src/session/log-hash.ts +115 -0
  1549. package/src/session/messages.ts +39 -0
  1550. package/src/session/paths.ts +449 -0
  1551. package/src/session/retention/archive.ts +13 -5
  1552. package/src/session/status/derive.ts +21 -21
  1553. package/src/session/workspace/git-worktree.ts +31 -2
  1554. package/src/session/workspace/index.ts +5 -8
  1555. package/src/session/workspace/shared-session.ts +354 -0
  1556. package/src/session-query/index.ts +152 -0
  1557. package/src/skills/registry.ts +1 -1
  1558. package/src/store/activity/memory.ts +5 -5
  1559. package/src/store/attachment/index.ts +5 -5
  1560. package/src/store/budget/disk.ts +243 -0
  1561. package/src/store/budget/index.ts +24 -0
  1562. package/src/store/budget/ledger.ts +836 -0
  1563. package/src/store/budget/memory.ts +39 -0
  1564. package/src/store/checkpoint/contract.ts +225 -0
  1565. package/src/store/checkpoint/disk.ts +209 -0
  1566. package/src/store/checkpoint/index.ts +22 -0
  1567. package/src/store/checkpoint/memory.ts +112 -0
  1568. package/src/store/checkpoint/prune.ts +93 -0
  1569. package/src/store/config/index.ts +1 -1
  1570. package/src/store/evidence/disk.ts +185 -81
  1571. package/src/store/evidence/index-page.ts +67 -140
  1572. package/src/store/evidence/source-text.ts +23 -28
  1573. package/src/store/evidence/types.ts +51 -41
  1574. package/src/store/feedback/conformance.ts +37 -35
  1575. package/src/store/feedback/disk.ts +61 -63
  1576. package/src/store/feedback/index.ts +1 -1
  1577. package/src/store/feedback/memory.ts +0 -0
  1578. package/src/store/feedback/types.ts +14 -13
  1579. package/src/store/index.ts +24 -28
  1580. package/src/store/memory/digest.ts +35 -0
  1581. package/src/store/memory/disk.ts +66 -20
  1582. package/src/store/memory/index-file.ts +121 -0
  1583. package/src/store/memory/index.ts +4 -2
  1584. package/src/store/memory/links.ts +37 -0
  1585. package/src/store/memory/markdown-format.ts +276 -0
  1586. package/src/store/memory/markdown.ts +741 -0
  1587. package/src/store/memory/memory.ts +39 -17
  1588. package/src/store/memory/naming.ts +195 -0
  1589. package/src/store/memory/origin.ts +35 -0
  1590. package/src/store/session/disk.ts +27 -200
  1591. package/src/store/session/index.ts +5 -9
  1592. package/src/store/session/memory.ts +1 -78
  1593. package/src/store/session-claim.ts +101 -0
  1594. package/src/store/session-index/fts.ts +215 -0
  1595. package/src/store/session-index/index.ts +253 -0
  1596. package/src/store/session-index/rebuild.ts +869 -0
  1597. package/src/store/session-index/refs.ts +164 -0
  1598. package/src/store/session-index/scan.ts +273 -0
  1599. package/src/store/session-index/sqlite.ts +772 -0
  1600. package/src/store/session-log/chain.ts +314 -0
  1601. package/src/store/session-log/conformance.ts +487 -0
  1602. package/src/store/session-log/core.ts +809 -0
  1603. package/src/store/session-log/disk.ts +217 -0
  1604. package/src/store/session-log/fold.ts +368 -0
  1605. package/src/store/session-log/heal.ts +44 -0
  1606. package/src/store/session-log/held-leases.ts +103 -0
  1607. package/src/store/session-log/index.ts +87 -0
  1608. package/src/store/session-log/lease.ts +354 -0
  1609. package/src/store/session-log/memory.ts +111 -0
  1610. package/src/store/session-log/spill.ts +311 -0
  1611. package/src/store/task/context.ts +33 -0
  1612. package/src/store/task/disk.ts +122 -141
  1613. package/src/store/task/memory.ts +14 -8
  1614. package/src/store/topic/index.ts +2 -2
  1615. package/src/store/topic/objective.ts +12 -3
  1616. package/src/store/topic/state.ts +1 -1
  1617. package/src/streaming/coalesce.ts +8 -7
  1618. package/src/telemetry/attributes.ts +10 -9
  1619. package/src/telemetry/metrics.ts +6 -6
  1620. package/src/telemetry/runtime-accessors.ts +1 -1
  1621. package/src/test-support/ids.ts +5 -6
  1622. package/src/testing.ts +11 -16
  1623. package/src/tools/advisory/index.ts +1 -1
  1624. package/src/tools/builtins/bash.ts +43 -5
  1625. package/src/tools/builtins/content-fingerprint.ts +2 -2
  1626. package/src/tools/builtins/edit-apply.ts +1 -1
  1627. package/src/tools/builtins/edit.ts +3 -0
  1628. package/src/tools/builtins/glob.ts +3 -0
  1629. package/src/tools/builtins/grep.ts +3 -0
  1630. package/src/tools/builtins/job.ts +5 -5
  1631. package/src/tools/builtins/ls.ts +3 -0
  1632. package/src/tools/builtins/lsp.ts +5 -2
  1633. package/src/tools/builtins/read-file.ts +3 -0
  1634. package/src/tools/builtins/run-code.ts +11 -11
  1635. package/src/tools/builtins/skill.ts +3 -3
  1636. package/src/tools/builtins/wait-for-job-bounds.ts +6 -6
  1637. package/src/tools/builtins/wait-for-job.ts +3 -3
  1638. package/src/tools/builtins/web-guidance.ts +2 -2
  1639. package/src/tools/builtins/web.ts +3 -3
  1640. package/src/tools/builtins/write-file.ts +3 -0
  1641. package/src/tools/coordinator/agent.ts +8 -8
  1642. package/src/tools/coordinator/ask-user-question.ts +16 -14
  1643. package/src/tools/coordinator/index.ts +64 -54
  1644. package/src/tools/coordinator/outcome.ts +7 -7
  1645. package/src/tools/coordinator/plan-dependencies.ts +1 -1
  1646. package/src/tools/coordinator/wait-with-idle-bound.ts +6 -6
  1647. package/src/tools/defineTool.ts +9 -1
  1648. package/src/tools/env-scrub.ts +1 -1
  1649. package/src/tools/goal/index.ts +16 -12
  1650. package/src/tools/memory/fields.ts +26 -0
  1651. package/src/tools/memory/read.ts +75 -8
  1652. package/src/tools/memory/resolve.ts +37 -0
  1653. package/src/tools/memory/save.ts +54 -18
  1654. package/src/tools/memory/search.ts +9 -5
  1655. package/src/tools/memory/update.ts +43 -7
  1656. package/src/tools/paths.ts +87 -27
  1657. package/src/tools/posix-path.ts +1 -1
  1658. package/src/tools/resident-history.ts +1 -1
  1659. package/src/tools/resident-tool-evidence.ts +1 -1
  1660. package/src/tools/task/create.ts +7 -3
  1661. package/src/tools/task/index.ts +20 -4
  1662. package/src/tools/task/list.ts +12 -6
  1663. package/src/turn/LimitChecker.ts +99 -0
  1664. package/src/turn/command-gate.ts +294 -0
  1665. package/src/turn/drain.ts +324 -0
  1666. package/src/turn/evidence-query.ts +333 -0
  1667. package/src/turn/evidence-recall.ts +860 -0
  1668. package/src/turn/index.ts +38 -0
  1669. package/src/turn/json-claim-verifier.ts +298 -0
  1670. package/src/turn/memory-promoter.ts +160 -0
  1671. package/src/turn/memory-recall.ts +285 -0
  1672. package/src/turn/reporter.ts +469 -0
  1673. package/src/types/activity/index.ts +2 -2
  1674. package/src/types/advisory/config.ts +7 -7
  1675. package/src/types/agent/base.ts +74 -44
  1676. package/src/types/agent/core.ts +10 -10
  1677. package/src/types/agent/delegate.ts +2 -2
  1678. package/src/types/agent/factory.ts +8 -4
  1679. package/src/types/agent/manager.ts +6 -6
  1680. package/src/types/agent/pipeline.ts +5 -4
  1681. package/src/types/agent/reactive.ts +11 -10
  1682. package/src/types/agent/router.ts +1 -1
  1683. package/src/types/agent/scheduler.ts +28 -11
  1684. package/src/types/agent/supervisor.ts +13 -13
  1685. package/src/types/agent/task.ts +53 -12
  1686. package/src/types/agent/working-memory.ts +6 -4
  1687. package/src/types/bidi/index.ts +31 -12
  1688. package/src/types/bus/index.ts +32 -26
  1689. package/src/types/code-navigation/index.ts +1 -1
  1690. package/src/types/common/index.ts +12 -26
  1691. package/src/types/connector/core.ts +2 -2
  1692. package/src/types/connector/definition.ts +1 -1
  1693. package/src/types/connector/mcp.ts +1 -1
  1694. package/src/types/errors/catalog.ts +4 -4
  1695. package/src/types/errors/index.ts +5 -5
  1696. package/src/types/guardrail/index.ts +12 -10
  1697. package/src/types/hitl/index.ts +81 -125
  1698. package/src/types/hitl/policy.ts +8 -6
  1699. package/src/types/ids/brand.ts +10 -2
  1700. package/src/types/ids/index.ts +10 -4
  1701. package/src/types/memory/index.ts +53 -0
  1702. package/src/types/message/index.ts +4 -4
  1703. package/src/types/plan/index.ts +5 -3
  1704. package/src/types/plugin/index.ts +41 -24
  1705. package/src/types/probe/event-kind.ts +3 -3
  1706. package/src/types/probe/registry.ts +3 -2
  1707. package/src/types/project/entity.ts +3 -3
  1708. package/src/types/provider/config.ts +3 -3
  1709. package/src/types/provider/error.ts +1 -1
  1710. package/src/types/provider/errors.ts +3 -3
  1711. package/src/types/provider/interface.ts +5 -5
  1712. package/src/types/provider/model.ts +26 -2
  1713. package/src/types/router/task-router.ts +1 -1
  1714. package/src/types/sandbox/index.ts +12 -12
  1715. package/src/types/session/answer-review.ts +85 -0
  1716. package/src/types/session/audit.ts +167 -0
  1717. package/src/types/session/cancel-cause.ts +60 -0
  1718. package/src/types/session/checkpoint.ts +167 -0
  1719. package/src/types/session/config.ts +212 -0
  1720. package/src/types/session/derive-status.ts +61 -0
  1721. package/src/types/session/durable.ts +150 -0
  1722. package/src/types/session/entity.ts +1 -1
  1723. package/src/types/session/events.ts +1187 -0
  1724. package/src/types/session/fork.ts +52 -0
  1725. package/src/types/session/ids.ts +1 -1
  1726. package/src/types/session/index.ts +24 -4
  1727. package/src/types/session/lineage.ts +15 -0
  1728. package/src/types/session/log-cursor.ts +69 -0
  1729. package/src/types/session/memory-promotion.ts +116 -0
  1730. package/src/types/session/messages.ts +1 -1
  1731. package/src/types/session/prepare-step.ts +299 -0
  1732. package/src/types/session/records.ts +931 -0
  1733. package/src/types/session/step.ts +214 -0
  1734. package/src/types/session/stop-reason.ts +83 -0
  1735. package/src/types/session/store.ts +5 -52
  1736. package/src/types/session/tool-execution.ts +32 -0
  1737. package/src/types/session/turn-state.ts +136 -0
  1738. package/src/types/session/turn.ts +289 -0
  1739. package/src/types/structured-output/index.ts +4 -4
  1740. package/src/types/summary/deliverable.ts +4 -4
  1741. package/src/types/task/index.ts +8 -4
  1742. package/src/types/tool/index.ts +74 -27
  1743. package/src/types/topic/entity.ts +6 -6
  1744. package/src/types/topic/objective.ts +7 -5
  1745. package/src/types/topic/state.ts +4 -4
  1746. package/src/types/topic/store.ts +1 -1
  1747. package/src/types/workspace/index.ts +8 -8
  1748. package/src/types/workspace/ref.ts +3 -3
  1749. package/src/types/workspace/shared-session.ts +65 -0
  1750. package/src/utils/abort.ts +4 -4
  1751. package/src/utils/atomic-write.ts +67 -4
  1752. package/src/utils/cost.ts +11 -12
  1753. package/src/utils/env.ts +1 -1
  1754. package/src/utils/id.ts +25 -18
  1755. package/src/utils/log/attributes.ts +2 -2
  1756. package/src/utils/log/create-logger.ts +1 -1
  1757. package/src/utils/log/types.ts +1 -1
  1758. package/src/utils/shell-compress.ts +2 -2
  1759. package/src/utils/uuidv7.ts +107 -0
  1760. package/src/vault/instrumentation.ts +21 -8
  1761. package/dist/constants/emergency.d.ts +0 -4
  1762. package/dist/constants/emergency.d.ts.map +0 -1
  1763. package/dist/constants/emergency.js +0 -4
  1764. package/dist/constants/emergency.js.map +0 -1
  1765. package/dist/contracts/run-status.d.ts +0 -17
  1766. package/dist/contracts/run-status.d.ts.map +0 -1
  1767. package/dist/contracts/run-status.js +0 -41
  1768. package/dist/contracts/run-status.js.map +0 -1
  1769. package/dist/eval/from-run.d.ts +0 -30
  1770. package/dist/eval/from-run.d.ts.map +0 -1
  1771. package/dist/eval/from-run.js +0 -46
  1772. package/dist/eval/from-run.js.map +0 -1
  1773. package/dist/manager/run/emergency.d.ts +0 -19
  1774. package/dist/manager/run/emergency.d.ts.map +0 -1
  1775. package/dist/manager/run/emergency.js +0 -122
  1776. package/dist/manager/run/emergency.js.map +0 -1
  1777. package/dist/manager/run/persistence.d.ts +0 -312
  1778. package/dist/manager/run/persistence.d.ts.map +0 -1
  1779. package/dist/manager/run/persistence.js +0 -656
  1780. package/dist/manager/run/persistence.js.map +0 -1
  1781. package/dist/read-model/run-status.d.ts +0 -43
  1782. package/dist/read-model/run-status.d.ts.map +0 -1
  1783. package/dist/read-model/run-status.js +0 -89
  1784. package/dist/read-model/run-status.js.map +0 -1
  1785. package/dist/run/LimitChecker.d.ts +0 -30
  1786. package/dist/run/LimitChecker.d.ts.map +0 -1
  1787. package/dist/run/LimitChecker.js +0 -57
  1788. package/dist/run/LimitChecker.js.map +0 -1
  1789. package/dist/run/command-gate.d.ts +0 -107
  1790. package/dist/run/command-gate.d.ts.map +0 -1
  1791. package/dist/run/command-gate.js +0 -221
  1792. package/dist/run/command-gate.js.map +0 -1
  1793. package/dist/run/drain.d.ts +0 -204
  1794. package/dist/run/drain.d.ts.map +0 -1
  1795. package/dist/run/drain.js +0 -238
  1796. package/dist/run/drain.js.map +0 -1
  1797. package/dist/run/evidence-query.d.ts +0 -41
  1798. package/dist/run/evidence-query.d.ts.map +0 -1
  1799. package/dist/run/evidence-query.js +0 -270
  1800. package/dist/run/evidence-query.js.map +0 -1
  1801. package/dist/run/evidence-recall.d.ts +0 -99
  1802. package/dist/run/evidence-recall.d.ts.map +0 -1
  1803. package/dist/run/evidence-recall.js +0 -633
  1804. package/dist/run/evidence-recall.js.map +0 -1
  1805. package/dist/run/index.d.ts +0 -19
  1806. package/dist/run/index.d.ts.map +0 -1
  1807. package/dist/run/index.js +0 -11
  1808. package/dist/run/index.js.map +0 -1
  1809. package/dist/run/json-claim-verifier.d.ts +0 -83
  1810. package/dist/run/json-claim-verifier.d.ts.map +0 -1
  1811. package/dist/run/json-claim-verifier.js +0 -200
  1812. package/dist/run/json-claim-verifier.js.map +0 -1
  1813. package/dist/run/memory-promoter.d.ts +0 -38
  1814. package/dist/run/memory-promoter.d.ts.map +0 -1
  1815. package/dist/run/memory-promoter.js +0 -109
  1816. package/dist/run/memory-promoter.js.map +0 -1
  1817. package/dist/run/memory-recall.d.ts +0 -25
  1818. package/dist/run/memory-recall.d.ts.map +0 -1
  1819. package/dist/run/memory-recall.js +0 -228
  1820. package/dist/run/memory-recall.js.map +0 -1
  1821. package/dist/run/preparation-context-error.d.ts.map +0 -1
  1822. package/dist/run/preparation-context-error.js.map +0 -1
  1823. package/dist/run/reporter.d.ts +0 -8
  1824. package/dist/run/reporter.d.ts.map +0 -1
  1825. package/dist/run/reporter.js +0 -420
  1826. package/dist/run/reporter.js.map +0 -1
  1827. package/dist/run/token-budget.d.ts +0 -116
  1828. package/dist/run/token-budget.d.ts.map +0 -1
  1829. package/dist/run/token-budget.js +0 -626
  1830. package/dist/run/token-budget.js.map +0 -1
  1831. package/dist/run/workspace-fingerprint.d.ts.map +0 -1
  1832. package/dist/run/workspace-fingerprint.js.map +0 -1
  1833. package/dist/run-query/index.d.ts +0 -90
  1834. package/dist/run-query/index.d.ts.map +0 -1
  1835. package/dist/run-query/index.js +0 -127
  1836. package/dist/run-query/index.js.map +0 -1
  1837. package/dist/runtime/query/finalize-run.d.ts +0 -55
  1838. package/dist/runtime/query/finalize-run.d.ts.map +0 -1
  1839. package/dist/runtime/query/finalize-run.js +0 -113
  1840. package/dist/runtime/query/finalize-run.js.map +0 -1
  1841. package/dist/runtime/query/prepare-run.d.ts +0 -94
  1842. package/dist/runtime/query/prepare-run.d.ts.map +0 -1
  1843. package/dist/runtime/query/prepare-run.js +0 -589
  1844. package/dist/runtime/query/prepare-run.js.map +0 -1
  1845. package/dist/runtime/query/release-run.d.ts +0 -56
  1846. package/dist/runtime/query/release-run.d.ts.map +0 -1
  1847. package/dist/runtime/query/release-run.js +0 -101
  1848. package/dist/runtime/query/release-run.js.map +0 -1
  1849. package/dist/runtime/query/replay/list.d.ts +0 -40
  1850. package/dist/runtime/query/replay/list.d.ts.map +0 -1
  1851. package/dist/runtime/query/replay/list.js +0 -38
  1852. package/dist/runtime/query/replay/list.js.map +0 -1
  1853. package/dist/runtime/query/replay/mutate.d.ts +0 -17
  1854. package/dist/runtime/query/replay/mutate.d.ts.map +0 -1
  1855. package/dist/runtime/query/replay/mutate.js +0 -69
  1856. package/dist/runtime/query/replay/mutate.js.map +0 -1
  1857. package/dist/runtime/query/replay/prepare.d.ts +0 -66
  1858. package/dist/runtime/query/replay/prepare.d.ts.map +0 -1
  1859. package/dist/runtime/query/replay/prepare.js +0 -81
  1860. package/dist/runtime/query/replay/prepare.js.map +0 -1
  1861. package/dist/runtime/query/resume-run.d.ts +0 -103
  1862. package/dist/runtime/query/resume-run.d.ts.map +0 -1
  1863. package/dist/runtime/query/resume-run.js +0 -105
  1864. package/dist/runtime/query/resume-run.js.map +0 -1
  1865. package/dist/runtime/query/run-state.d.ts +0 -57
  1866. package/dist/runtime/query/run-state.d.ts.map +0 -1
  1867. package/dist/runtime/query/run-state.js +0 -96
  1868. package/dist/runtime/query/run-state.js.map +0 -1
  1869. package/dist/session/workspace/path-builder.d.ts +0 -50
  1870. package/dist/session/workspace/path-builder.d.ts.map +0 -1
  1871. package/dist/session/workspace/path-builder.js +0 -51
  1872. package/dist/session/workspace/path-builder.js.map +0 -1
  1873. package/dist/session/workspace/shared-run.d.ts +0 -112
  1874. package/dist/session/workspace/shared-run.d.ts.map +0 -1
  1875. package/dist/session/workspace/shared-run.js +0 -290
  1876. package/dist/session/workspace/shared-run.js.map +0 -1
  1877. package/dist/store/evidence/compaction-archive.d.ts +0 -109
  1878. package/dist/store/evidence/compaction-archive.d.ts.map +0 -1
  1879. package/dist/store/evidence/compaction-archive.js +0 -125
  1880. package/dist/store/evidence/compaction-archive.js.map +0 -1
  1881. package/dist/store/evidence/linked.d.ts +0 -9
  1882. package/dist/store/evidence/linked.d.ts.map +0 -1
  1883. package/dist/store/evidence/linked.js +0 -314
  1884. package/dist/store/evidence/linked.js.map +0 -1
  1885. package/dist/store/evidence/record-chain.d.ts +0 -42
  1886. package/dist/store/evidence/record-chain.d.ts.map +0 -1
  1887. package/dist/store/evidence/record-chain.js +0 -111
  1888. package/dist/store/evidence/record-chain.js.map +0 -1
  1889. package/dist/store/run/checkpoint-disk.d.ts +0 -98
  1890. package/dist/store/run/checkpoint-disk.d.ts.map +0 -1
  1891. package/dist/store/run/checkpoint-disk.js +0 -190
  1892. package/dist/store/run/checkpoint-disk.js.map +0 -1
  1893. package/dist/store/run/checkpoint-memory.d.ts +0 -51
  1894. package/dist/store/run/checkpoint-memory.d.ts.map +0 -1
  1895. package/dist/store/run/checkpoint-memory.js +0 -178
  1896. package/dist/store/run/checkpoint-memory.js.map +0 -1
  1897. package/dist/store/run/claim-disk.d.ts +0 -130
  1898. package/dist/store/run/claim-disk.d.ts.map +0 -1
  1899. package/dist/store/run/claim-disk.js +0 -570
  1900. package/dist/store/run/claim-disk.js.map +0 -1
  1901. package/dist/store/run/conformance.d.ts +0 -159
  1902. package/dist/store/run/conformance.d.ts.map +0 -1
  1903. package/dist/store/run/conformance.js +0 -466
  1904. package/dist/store/run/conformance.js.map +0 -1
  1905. package/dist/store/run/disk.d.ts +0 -189
  1906. package/dist/store/run/disk.d.ts.map +0 -1
  1907. package/dist/store/run/disk.js +0 -804
  1908. package/dist/store/run/disk.js.map +0 -1
  1909. package/dist/store/run/listing.d.ts +0 -118
  1910. package/dist/store/run/listing.d.ts.map +0 -1
  1911. package/dist/store/run/listing.js +0 -333
  1912. package/dist/store/run/listing.js.map +0 -1
  1913. package/dist/store/run/memory.d.ts +0 -55
  1914. package/dist/store/run/memory.d.ts.map +0 -1
  1915. package/dist/store/run/memory.js +0 -176
  1916. package/dist/store/run/memory.js.map +0 -1
  1917. package/dist/store/run/token-budget-disk.d.ts +0 -37
  1918. package/dist/store/run/token-budget-disk.d.ts.map +0 -1
  1919. package/dist/store/run/token-budget-disk.js +0 -211
  1920. package/dist/store/run/token-budget-disk.js.map +0 -1
  1921. package/dist/store/run/tool-executions.d.ts +0 -13
  1922. package/dist/store/run/tool-executions.d.ts.map +0 -1
  1923. package/dist/store/run/tool-executions.js +0 -99
  1924. package/dist/store/run/tool-executions.js.map +0 -1
  1925. package/dist/store/session/sqlite.d.ts +0 -57
  1926. package/dist/store/session/sqlite.d.ts.map +0 -1
  1927. package/dist/store/session/sqlite.js +0 -430
  1928. package/dist/store/session/sqlite.js.map +0 -1
  1929. package/dist/types/run/answer-review.d.ts +0 -79
  1930. package/dist/types/run/answer-review.d.ts.map +0 -1
  1931. package/dist/types/run/answer-review.js.map +0 -1
  1932. package/dist/types/run/audit.d.ts +0 -150
  1933. package/dist/types/run/audit.d.ts.map +0 -1
  1934. package/dist/types/run/audit.js +0 -39
  1935. package/dist/types/run/audit.js.map +0 -1
  1936. package/dist/types/run/cancel-cause.d.ts +0 -49
  1937. package/dist/types/run/cancel-cause.d.ts.map +0 -1
  1938. package/dist/types/run/cancel-cause.js +0 -39
  1939. package/dist/types/run/cancel-cause.js.map +0 -1
  1940. package/dist/types/run/checkpoint-store.d.ts +0 -511
  1941. package/dist/types/run/checkpoint-store.d.ts.map +0 -1
  1942. package/dist/types/run/checkpoint-store.js +0 -12
  1943. package/dist/types/run/checkpoint-store.js.map +0 -1
  1944. package/dist/types/run/config.d.ts +0 -207
  1945. package/dist/types/run/config.d.ts.map +0 -1
  1946. package/dist/types/run/config.js.map +0 -1
  1947. package/dist/types/run/derive-status.d.ts +0 -29
  1948. package/dist/types/run/derive-status.d.ts.map +0 -1
  1949. package/dist/types/run/derive-status.js +0 -49
  1950. package/dist/types/run/derive-status.js.map +0 -1
  1951. package/dist/types/run/emergency.d.ts +0 -32
  1952. package/dist/types/run/emergency.d.ts.map +0 -1
  1953. package/dist/types/run/emergency.js +0 -6
  1954. package/dist/types/run/emergency.js.map +0 -1
  1955. package/dist/types/run/entity.d.ts +0 -151
  1956. package/dist/types/run/entity.d.ts.map +0 -1
  1957. package/dist/types/run/entity.js +0 -2
  1958. package/dist/types/run/entity.js.map +0 -1
  1959. package/dist/types/run/event-cursor.d.ts +0 -90
  1960. package/dist/types/run/event-cursor.d.ts.map +0 -1
  1961. package/dist/types/run/event-cursor.js +0 -47
  1962. package/dist/types/run/event-cursor.js.map +0 -1
  1963. package/dist/types/run/events.d.ts +0 -1064
  1964. package/dist/types/run/events.d.ts.map +0 -1
  1965. package/dist/types/run/events.js +0 -31
  1966. package/dist/types/run/events.js.map +0 -1
  1967. package/dist/types/run/index.d.ts +0 -24
  1968. package/dist/types/run/index.d.ts.map +0 -1
  1969. package/dist/types/run/index.js +0 -23
  1970. package/dist/types/run/index.js.map +0 -1
  1971. package/dist/types/run/lineage.d.ts +0 -15
  1972. package/dist/types/run/lineage.d.ts.map +0 -1
  1973. package/dist/types/run/lineage.js.map +0 -1
  1974. package/dist/types/run/memory-promotion.d.ts +0 -90
  1975. package/dist/types/run/memory-promotion.d.ts.map +0 -1
  1976. package/dist/types/run/memory-promotion.js +0 -38
  1977. package/dist/types/run/memory-promotion.js.map +0 -1
  1978. package/dist/types/run/metadata.d.ts +0 -47
  1979. package/dist/types/run/metadata.d.ts.map +0 -1
  1980. package/dist/types/run/metadata.js +0 -2
  1981. package/dist/types/run/metadata.js.map +0 -1
  1982. package/dist/types/run/prepare-step.d.ts +0 -260
  1983. package/dist/types/run/prepare-step.d.ts.map +0 -1
  1984. package/dist/types/run/prepare-step.js.map +0 -1
  1985. package/dist/types/run/replay.d.ts +0 -53
  1986. package/dist/types/run/replay.d.ts.map +0 -1
  1987. package/dist/types/run/replay.js +0 -15
  1988. package/dist/types/run/replay.js.map +0 -1
  1989. package/dist/types/run/schema-version.d.ts +0 -19
  1990. package/dist/types/run/schema-version.d.ts.map +0 -1
  1991. package/dist/types/run/schema-version.js +0 -18
  1992. package/dist/types/run/schema-version.js.map +0 -1
  1993. package/dist/types/run/state.d.ts +0 -109
  1994. package/dist/types/run/state.d.ts.map +0 -1
  1995. package/dist/types/run/state.js +0 -109
  1996. package/dist/types/run/state.js.map +0 -1
  1997. package/dist/types/run/status.d.ts +0 -26
  1998. package/dist/types/run/status.d.ts.map +0 -1
  1999. package/dist/types/run/status.js +0 -2
  2000. package/dist/types/run/status.js.map +0 -1
  2001. package/dist/types/run/step.d.ts +0 -198
  2002. package/dist/types/run/step.d.ts.map +0 -1
  2003. package/dist/types/run/step.js +0 -26
  2004. package/dist/types/run/step.js.map +0 -1
  2005. package/dist/types/run/stop-reason.d.ts +0 -67
  2006. package/dist/types/run/stop-reason.d.ts.map +0 -1
  2007. package/dist/types/run/stop-reason.js.map +0 -1
  2008. package/dist/types/run/store.d.ts +0 -300
  2009. package/dist/types/run/store.d.ts.map +0 -1
  2010. package/dist/types/run/store.js +0 -2
  2011. package/dist/types/run/store.js.map +0 -1
  2012. package/dist/types/run/subsession-events.d.ts +0 -64
  2013. package/dist/types/run/subsession-events.d.ts.map +0 -1
  2014. package/dist/types/run/subsession-events.js +0 -2
  2015. package/dist/types/run/subsession-events.js.map +0 -1
  2016. package/dist/types/run/token-budget-store.d.ts +0 -29
  2017. package/dist/types/run/token-budget-store.d.ts.map +0 -1
  2018. package/dist/types/run/token-budget-store.js +0 -25
  2019. package/dist/types/run/token-budget-store.js.map +0 -1
  2020. package/dist/types/workspace/shared-run.d.ts +0 -61
  2021. package/dist/types/workspace/shared-run.d.ts.map +0 -1
  2022. package/dist/types/workspace/shared-run.js +0 -2
  2023. package/dist/types/workspace/shared-run.js.map +0 -1
  2024. package/src/constants/emergency.ts +0 -3
  2025. package/src/contracts/run-status.ts +0 -43
  2026. package/src/eval/from-run.ts +0 -48
  2027. package/src/manager/run/emergency.ts +0 -148
  2028. package/src/manager/run/persistence.ts +0 -746
  2029. package/src/read-model/run-status.ts +0 -127
  2030. package/src/run/LimitChecker.ts +0 -99
  2031. package/src/run/command-gate.ts +0 -294
  2032. package/src/run/drain.ts +0 -403
  2033. package/src/run/evidence-query.ts +0 -333
  2034. package/src/run/evidence-recall.ts +0 -854
  2035. package/src/run/index.ts +0 -42
  2036. package/src/run/json-claim-verifier.ts +0 -298
  2037. package/src/run/memory-promoter.ts +0 -147
  2038. package/src/run/memory-recall.ts +0 -254
  2039. package/src/run/reporter.ts +0 -469
  2040. package/src/run/token-budget.ts +0 -733
  2041. package/src/run-query/index.ts +0 -177
  2042. package/src/runtime/query/finalize-run.ts +0 -192
  2043. package/src/runtime/query/prepare-run.ts +0 -718
  2044. package/src/runtime/query/release-run.ts +0 -168
  2045. package/src/runtime/query/replay/list.ts +0 -66
  2046. package/src/runtime/query/replay/mutate.ts +0 -82
  2047. package/src/runtime/query/replay/prepare.ts +0 -147
  2048. package/src/runtime/query/resume-run.ts +0 -202
  2049. package/src/runtime/query/run-state.ts +0 -138
  2050. package/src/session/workspace/path-builder.ts +0 -72
  2051. package/src/session/workspace/shared-run.ts +0 -354
  2052. package/src/store/evidence/compaction-archive.ts +0 -139
  2053. package/src/store/evidence/linked.ts +0 -365
  2054. package/src/store/evidence/record-chain.ts +0 -108
  2055. package/src/store/run/checkpoint-disk.ts +0 -264
  2056. package/src/store/run/checkpoint-memory.ts +0 -216
  2057. package/src/store/run/claim-disk.ts +0 -638
  2058. package/src/store/run/conformance.ts +0 -728
  2059. package/src/store/run/disk.ts +0 -911
  2060. package/src/store/run/listing.ts +0 -422
  2061. package/src/store/run/memory.ts +0 -204
  2062. package/src/store/run/token-budget-disk.ts +0 -250
  2063. package/src/store/run/tool-executions.ts +0 -112
  2064. package/src/store/session/sqlite.ts +0 -584
  2065. package/src/types/run/answer-review.ts +0 -84
  2066. package/src/types/run/audit.ts +0 -164
  2067. package/src/types/run/cancel-cause.ts +0 -60
  2068. package/src/types/run/checkpoint-store.ts +0 -545
  2069. package/src/types/run/config.ts +0 -221
  2070. package/src/types/run/derive-status.ts +0 -62
  2071. package/src/types/run/emergency.ts +0 -28
  2072. package/src/types/run/entity.ts +0 -161
  2073. package/src/types/run/event-cursor.ts +0 -118
  2074. package/src/types/run/events.ts +0 -1146
  2075. package/src/types/run/index.ts +0 -32
  2076. package/src/types/run/lineage.ts +0 -15
  2077. package/src/types/run/memory-promotion.ts +0 -112
  2078. package/src/types/run/metadata.ts +0 -51
  2079. package/src/types/run/prepare-step.ts +0 -281
  2080. package/src/types/run/replay.ts +0 -61
  2081. package/src/types/run/schema-version.ts +0 -19
  2082. package/src/types/run/state.ts +0 -206
  2083. package/src/types/run/status.ts +0 -33
  2084. package/src/types/run/step.ts +0 -217
  2085. package/src/types/run/stop-reason.ts +0 -83
  2086. package/src/types/run/store.ts +0 -325
  2087. package/src/types/run/subsession-events.ts +0 -71
  2088. package/src/types/run/token-budget-store.ts +0 -54
  2089. package/src/types/workspace/shared-run.ts +0 -65
  2090. /package/dist/{run → turn}/preparation-context-error.d.ts +0 -0
  2091. /package/dist/{run → turn}/preparation-context-error.js +0 -0
  2092. /package/dist/{run → turn}/workspace-fingerprint.d.ts +0 -0
  2093. /package/dist/{run → turn}/workspace-fingerprint.js +0 -0
  2094. /package/dist/types/{run → session}/answer-review.js +0 -0
  2095. /package/dist/types/{run → session}/config.js +0 -0
  2096. /package/dist/types/{run → session}/lineage.js +0 -0
  2097. /package/dist/types/{run → session}/prepare-step.js +0 -0
  2098. /package/dist/types/{run → session}/stop-reason.js +0 -0
  2099. /package/src/{run → turn}/preparation-context-error.ts +0 -0
  2100. /package/src/{run → turn}/workspace-fingerprint.ts +0 -0
@@ -0,0 +1,294 @@
1
+ /**
2
+ * A {@link ReviewAnswer} that runs shell commands and hands the failure back.
3
+ *
4
+ * `reviewAnswer` was the seam for exactly this — judge the answer at the point
5
+ * the model stops calling tools, and return it with feedback instead of
6
+ * settling — and nothing shipped supplied one, so an operator who wanted
7
+ * "don't finish until the build passes" had to write TypeScript. This is the
8
+ * supplier. With it, `--gate 'pnpm test'` is the whole unattended story: the
9
+ * model works, stops, the tests run, and a failure comes back as the next user
10
+ * turn rather than as a green run somebody discovers in CI.
11
+ *
12
+ * The kernel already bounds it. The reviewer is consulted only when the model
13
+ * stopped calling tools, never on the forced-final turn, and a rejection
14
+ * budget stops the turn with `answer_rejected` — a stop reason that names the
15
+ * reviewer rather than blaming a token budget. None of that is re-implemented
16
+ * here.
17
+ *
18
+ * ## The part that is not just "run a command"
19
+ *
20
+ * **Before re-running a command that already failed, the workspace is
21
+ * fingerprinted, and an identical fingerprint means the command is NOT run.**
22
+ *
23
+ * This is the difference between a bounded loop and one that spends its whole
24
+ * budget. A model that has run out of ideas answers again without editing
25
+ * anything; re-running the suite then costs a full execution — often the most
26
+ * expensive thing in the loop — to produce a failure already known character
27
+ * for character. Worse, the feedback is identical, so the model is handed the
28
+ * same prompt that just failed to help it. Saying instead "the workspace has
29
+ * not changed since that failure; edit something before trying to finish"
30
+ * is both cheaper and a different instruction.
31
+ *
32
+ * The attempt still advances. Skipping the command is a saving, not a pardon:
33
+ * an answer that changed nothing has been rejected, and the turn's budget must
34
+ * see that or a stuck model loops forever for free.
35
+ *
36
+ * And it fails open on the cheap side. No fingerprint — a git invocation that
37
+ * errored, a timeout, output past the cap, a tree with no commits — means the
38
+ * command runs. See {@link fingerprintWorkspace}: the cost of re-running
39
+ * unnecessarily is one execution; the cost of wrongly skipping is a
40
+ * verification that silently did not happen.
41
+ */
42
+
43
+ import { LocalExecutionContext } from '../execution/local.js'
44
+ import type { CommandOptions, CommandResult } from '../types/execution/index.js'
45
+ import type { AnswerReview, ReviewAnswer } from '../types/session/answer-review.js'
46
+ import { fingerprintWorkspace } from './workspace-fingerprint.js'
47
+
48
+ /** How the gate runs a command. Injected so a test needs no shell. */
49
+ export type GateExec = (
50
+ command: string,
51
+ args: string[],
52
+ options?: CommandOptions,
53
+ ) => Promise<CommandResult>
54
+
55
+ /** Default per-command deadline. A test suite is allowed to be slow. */
56
+ export const DEFAULT_GATE_TIMEOUT_MS = 600_000
57
+
58
+ /** How many attempts the gate will EXECUTE its commands for, by default. */
59
+ export const DEFAULT_GATE_MAX_RETRIES = 3
60
+
61
+ /**
62
+ * Model-visible characters of a failing command's output.
63
+ *
64
+ * Head and tail, not head alone: a compiler names the file at the top and a
65
+ * test runner names the failure at the bottom, and a gate that only ever kept
66
+ * one end would be useless for one of them.
67
+ */
68
+ export const DEFAULT_GATE_OUTPUT_CHARS = 4_000
69
+
70
+ export interface CommandGateOptions {
71
+ /**
72
+ * Shell command lines, run in order, stopping at the first failure.
73
+ *
74
+ * In order and short-circuiting because that is what a person means by
75
+ * "typecheck then test": a type error makes the test output noise about
76
+ * the same cause, and handing the model both invites it to fix the
77
+ * symptom.
78
+ */
79
+ readonly commands: readonly string[]
80
+ /** Directory the commands run in, and the tree that is fingerprinted. */
81
+ readonly cwd: string
82
+ /**
83
+ * How many attempts will actually EXECUTE the commands.
84
+ *
85
+ * Past it the gate rejects without running anything, naming the
86
+ * exhaustion. It does not accept: an answer that never passed the gate
87
+ * has not passed the gate, and a reviewer that gave up by accepting would
88
+ * hand back a green run over a red build — the exact outcome the gate
89
+ * exists to prevent. What ENDS the turn is the kernel's rejection budget,
90
+ * so set that to the same number (the CLI does).
91
+ */
92
+ readonly maxRetries?: number
93
+ /** Per-command deadline. See {@link DEFAULT_GATE_TIMEOUT_MS}. */
94
+ readonly timeoutMs?: number
95
+ /** Override the executor. Defaults to a local shell in `cwd`. */
96
+ readonly exec?: GateExec
97
+ /** See {@link DEFAULT_GATE_OUTPUT_CHARS}. */
98
+ readonly maxOutputChars?: number
99
+ /**
100
+ * Override the change detector. Defaults to
101
+ * {@link fingerprintWorkspace} over `cwd`.
102
+ *
103
+ * Returning `null` means "cannot tell", and the gate then runs its
104
+ * commands. A detector that returned a constant would silence the gate
105
+ * after its first failure, so this seam exists for tests and for a host
106
+ * whose workspace is not a git tree — not as a way to turn the check off.
107
+ */
108
+ readonly fingerprint?: () => Promise<string | null>
109
+ }
110
+
111
+ /** Head and tail of a command's output, with the middle marked as dropped. */
112
+ export function clipOutput(text: string, max: number): string {
113
+ if (!Number.isSafeInteger(max) || max < 0) {
114
+ throw new RangeError('maxOutputChars must be a nonnegative safe integer.')
115
+ }
116
+ const trimmed = text.trimEnd()
117
+ if (trimmed.length <= max) return trimmed
118
+ const markerBudget = `\n… ${trimmed.length} characters omitted …\n`.length
119
+ if (max < markerBudget) return max === 0 ? '' : '…'
120
+ const retained = max - markerBudget
121
+ const head = Math.ceil(retained / 2)
122
+ const tail = retained - head
123
+ const marker = `\n… ${trimmed.length - retained} characters omitted …\n`
124
+ return `${trimmed.slice(0, head)}${marker}${tail > 0 ? trimmed.slice(-tail) : ''}`
125
+ }
126
+
127
+ interface LastFailure {
128
+ readonly command: string
129
+ /** The tree as it stood when this failed. `null` = could not be taken. */
130
+ readonly fingerprint: string | null
131
+ }
132
+
133
+ function failureFeedback(
134
+ command: string,
135
+ attempt: number,
136
+ result: CommandResult,
137
+ maxOutputChars: number,
138
+ ): string {
139
+ const output = clipOutput(`${result.stdout}\n${result.stderr}`, maxOutputChars)
140
+ const truncatedStreams = [
141
+ result.stdoutTruncated === true ? 'stdout' : undefined,
142
+ result.stderrTruncated === true ? 'stderr' : undefined,
143
+ ].filter((stream): stream is string => stream !== undefined)
144
+ const truncationWarning =
145
+ truncatedStreams.length === 0
146
+ ? []
147
+ : [
148
+ '',
149
+ `Retained output is incomplete: ${truncatedStreams.join(' and ')} ${truncatedStreams.length === 1 ? 'was' : 'were'} truncated by the execution context. Re-run with a narrower command or filter to recover the missing diagnostics.`,
150
+ ]
151
+ return [
152
+ `The answer was not accepted: \`${command}\` failed (attempt ${attempt}, exit ${result.exitCode}${result.termination ? `, terminated: ${result.termination.origin}` : ''}).`,
153
+ '',
154
+ 'Output:',
155
+ '```',
156
+ output || '(no output)',
157
+ '```',
158
+ ...truncationWarning,
159
+ '',
160
+ 'Fix the cause and then finish. Do not restate the failure back to me; change the code so the command passes.',
161
+ ].join('\n')
162
+ }
163
+
164
+ function unchangedFeedback(command: string, attempt: number): string {
165
+ return [
166
+ `The answer was not accepted, and \`${command}\` was NOT re-run (attempt ${attempt}).`,
167
+ '',
168
+ 'The configured change detector reports the same state as after the last failure. The default detector covers the Git commit and Git-visible working state; ignored files and external inputs may have changed.',
169
+ '',
170
+ 'Check that the intended fix is present and addresses the reported failure. If verification depends on state outside the detector, the host should supply a matching fingerprint or return null to re-run checks.',
171
+ ].join('\n')
172
+ }
173
+
174
+ function exhaustedFeedback(command: string, maxRetries: number): string {
175
+ return [
176
+ `The answer was not accepted: \`${command}\` has failed and this gate has spent its ${maxRetries} attempts.`,
177
+ '',
178
+ 'No further command will be run.',
179
+ ].join('\n')
180
+ }
181
+
182
+ /**
183
+ * Build a reviewer that accepts an answer only when every command passes.
184
+ *
185
+ * Stateful across calls within one turn, deliberately: the whole point is that
186
+ * attempt N+1 can be compared with attempt N. Build one gate per turn.
187
+ */
188
+ export function createCommandGate(options: CommandGateOptions): ReviewAnswer {
189
+ const { commands, cwd } = options
190
+ const timeoutMs = options.timeoutMs ?? DEFAULT_GATE_TIMEOUT_MS
191
+ const maxRetries = options.maxRetries ?? DEFAULT_GATE_MAX_RETRIES
192
+ const maxOutputChars = options.maxOutputChars ?? DEFAULT_GATE_OUTPUT_CHARS
193
+ // Validate before a reviewer is installed: malformed limits cannot turn
194
+ // a formatting exception during verification into an unreviewed answer.
195
+ clipOutput('', maxOutputChars)
196
+
197
+ // Built once and reused: constructing a context per attempt would re-stat
198
+ // the directory for no gain, and the context holds nothing per-turn.
199
+ const context = new LocalExecutionContext({ id: 'namzu-command-gate', cwd })
200
+ const exec: GateExec =
201
+ options.exec ?? ((command, args, opts) => context.executeCommand(command, args, opts))
202
+ const readFingerprint = async (signal?: AbortSignal): Promise<string | null> => {
203
+ if (signal?.aborted) return null
204
+ try {
205
+ return options.fingerprint
206
+ ? await options.fingerprint()
207
+ : await fingerprintWorkspace({
208
+ cwd,
209
+ timeoutMs: 20_000,
210
+ exec: (command, args, commandOptions) =>
211
+ exec(command, args, { ...commandOptions, ...(signal ? { signal } : {}) }),
212
+ })
213
+ } catch {
214
+ return null
215
+ }
216
+ }
217
+
218
+ let attempt = 0
219
+ let last: LastFailure | undefined
220
+ let executions = 0
221
+
222
+ return async (_answer, reviewContext): Promise<AnswerReview> => {
223
+ const signal = reviewContext.signal
224
+ if (signal?.aborted)
225
+ return { accept: false, feedback: 'Verification was cancelled before admission.' }
226
+ attempt += 1
227
+
228
+ // A gate that already failed, over a tree nothing has touched since.
229
+ // The command is skipped, and the attempt still counts.
230
+ //
231
+ // The comparison is a bare `===` rather than `now !== null && now ===
232
+ // …`. The guard above already establishes that the recorded
233
+ // fingerprint is non-null, so a `null` from this call cannot match it,
234
+ // and the extra clause was a branch nothing could reach — a mutation
235
+ // that deleted it killed no test, which is what a dead condition looks
236
+ // like from the outside.
237
+ if (last && last.fingerprint !== null) {
238
+ const now = await readFingerprint(signal)
239
+ if (now === last.fingerprint) {
240
+ return { accept: false, feedback: unchangedFeedback(last.command, attempt) }
241
+ }
242
+ }
243
+
244
+ if (last && executions >= maxRetries) {
245
+ return { accept: false, feedback: exhaustedFeedback(last.command, maxRetries) }
246
+ }
247
+
248
+ executions += 1
249
+ for (const command of commands) {
250
+ if (signal?.aborted)
251
+ return { accept: false, feedback: 'Verification was cancelled before admission.' }
252
+ // `shell: true` because the operator handed over a command LINE —
253
+ // `pnpm test -- --run`, with its flags and its quoting — and taking
254
+ // that as an executable name plus literal arguments would fail on
255
+ // every gate anyone would actually write. Explicit, per the note on
256
+ // `LocalExecutionContext.executeCommand`: shell interpretation is
257
+ // opt-in, and this is the opt-in.
258
+ let result: CommandResult
259
+ try {
260
+ result = await exec(command, [], {
261
+ cwd,
262
+ timeoutMs,
263
+ shell: true,
264
+ ...(signal ? { signal } : {}),
265
+ })
266
+ } catch (error) {
267
+ // A command that could not be observed completing is not a pass.
268
+ // Keep this inside the builtin reviewer: generic review callbacks
269
+ // historically fail open on throws. No fabricated exit status.
270
+ last = { command, fingerprint: null }
271
+ return {
272
+ accept: false,
273
+ feedback: `The answer was not accepted: verification with \`${command}\` could not complete (attempt ${attempt}).\n${clipOutput(error instanceof Error ? error.message : String(error), maxOutputChars)}\nCheck the execution problem and any partial effects before retrying. Do not claim verification passed.`,
274
+ }
275
+ }
276
+ if (signal?.aborted) return { accept: false, feedback: 'Verification was cancelled.' }
277
+ if (result.exitCode === 0 && result.termination === undefined) continue
278
+
279
+ // Taken AFTER the failure, not before the turn: the comparison next
280
+ // time is against the tree this verdict was formed over. A snapshot
281
+ // from before the command would miss anything the command itself
282
+ // wrote — a formatter, a snapshot updater, a lockfile.
283
+ // Interrupted verification is not a stable failure of these source
284
+ // bytes. Allow another check even when no tracked file has changed.
285
+ last = { command, fingerprint: result.termination ? null : await readFingerprint(signal) }
286
+ return { accept: false, feedback: failureFeedback(command, attempt, result, maxOutputChars) }
287
+ }
288
+
289
+ // Cleared, so a later rejection by a DIFFERENT command is not compared
290
+ // against a tree this one failed over.
291
+ last = undefined
292
+ return { accept: true }
293
+ }
294
+ }
@@ -0,0 +1,324 @@
1
+ /**
2
+ * One pass over a queue of durable turns: list what nobody holds, take it,
3
+ * hand it to a worker, give it back.
4
+ *
5
+ * Every primitive this composes already exists — `SessionIndex` lists the
6
+ * parked turns (`listPendingDecisions`) and the sessions whose turn is
7
+ * still open, a session's lease arbitrates between processes, and
8
+ * `resumeSession` carries the lease's fence into every record. This
9
+ * composes them, so an approval inbox and a crash sweeper do not each have
10
+ * to get the release into a `finally` and the `null` claim out of the error
11
+ * path.
12
+ *
13
+ * ## What this deliberately is NOT
14
+ *
15
+ * A supervisor, a daemon, or a scheduler. There is no timer here, no
16
+ * process spawn, no retry backoff and no `while (true)`. `drainParkedTurns` makes
17
+ * ONE bounded pass and returns what happened; running it again is the
18
+ * caller's decision, made wherever that caller already has a scheduler. A
19
+ * per-platform supervisor is the same trade the deployment-adapter matrix
20
+ * was rejected for: one seam beats N adapters.
21
+ *
22
+ * Read the scope of that narrowly. This paragraph has been cited as the
23
+ * kernel's refusal of a model-facing "remind me tomorrow" capability, and
24
+ * it is not one: it says a HOST brings the timer, which presumes the host
25
+ * has one rather than ruling the capability out. Whether such a capability
26
+ * should exist -- and if so, as a store plus a host-driven sweep rather
27
+ * than a daemon here -- is open. `directory/types.ts` records the adjacent
28
+ * decision that cut a declarative `schedules/` slot, on grounds of
29
+ * double-fire and timezone; that is a different question from a runtime
30
+ * tool, and neither text settles the other.
31
+ *
32
+ * The unit of work is a callback, so this module never needs a provider, a
33
+ * tool registry or a sandbox — the half of a turn that cannot be serialized
34
+ * stays with the caller, exactly as `resumeSession` already splits it.
35
+ */
36
+
37
+ import { readParks } from '../runtime/query/checkpoint.js'
38
+ import type { SessionIndex } from '../store/session-index/index.js'
39
+ import { DiskSessionLog, type SessionLease, type SessionLog } from '../store/session-log/index.js'
40
+ import type { NamzuErrorCode } from '../types/errors/index.js'
41
+ import { NamzuError } from '../types/errors/index.js'
42
+ import type { CheckpointId, ProjectId, SessionId, TenantId, TurnId } from '../types/ids/index.js'
43
+ import type { DurableTurnEntry, ParkState, ParkSummary } from '../types/session/durable.js'
44
+
45
+ /** Turns handled per pass when the caller names no page size. */
46
+ export const DEFAULT_DRAIN_PAGE_SIZE = 100
47
+
48
+ /**
49
+ * What a drainer does with one turn it successfully took.
50
+ *
51
+ * Receives the lease, not just its fence: the holder and expiry are what a
52
+ * worker needs to decide whether it still has time to start. The intended
53
+ * body is a resume under that lease:
54
+ *
55
+ * ```ts
56
+ * onTurn: (entry, lease) =>
57
+ * resumeSession({ ...yourQueryParams, scope: { ...entry, topicId }, sessionLog, checkpointStore, lease })
58
+ * ```
59
+ *
60
+ * A throw is recorded against that turn and the pass continues.
61
+ */
62
+ export type DrainTurn = (entry: DurableTurnEntry, lease: SessionLease) => void | Promise<void>
63
+
64
+ export interface DrainTurnsParams {
65
+ /** Where the durable turns are listed from. */
66
+ readonly index: SessionIndex
67
+ /** Attribution of every entry; the index is per `NAMZU_HOME`, which is per tenant. */
68
+ readonly tenantId: TenantId
69
+ /** Narrow to one project. */
70
+ readonly projectId?: ProjectId
71
+ /** Narrow to one session. */
72
+ readonly sessionId?: SessionId
73
+ /**
74
+ * Opens the log of a listed session. Default: the disk log at the path
75
+ * the index files it under.
76
+ */
77
+ readonly openLog?: (sessionId: SessionId, logPath: string) => SessionLog
78
+ /**
79
+ * Who is taking the turns. Per-PROCESS, never per-deployment: two drainers
80
+ * sharing a string would wait on each other's leases as their own.
81
+ */
82
+ readonly holder: string
83
+ /** Lease length in ms. Long enough that the slowest turn finishes inside it. */
84
+ readonly ttlMs: number
85
+ /** The work. See {@link DrainTurn}. */
86
+ readonly onTurn: DrainTurn
87
+ /**
88
+ * Keep only turns whose park is in one of these states.
89
+ *
90
+ * **Absent means every open turn nobody holds, parked or not**: what a
91
+ * crash sweep wants, because a turn that died mid-flight never parked. An
92
+ * approval inbox passes `['outstanding']`; a reclamation sweep passes
93
+ * `['expired']`.
94
+ */
95
+ readonly park?: readonly ParkState[]
96
+ /** Stop taking new turns. Work already in flight is not interrupted. */
97
+ readonly signal?: AbortSignal
98
+ /** How many turns may be in flight at once. Defaults to 1. */
99
+ readonly maxConcurrent?: number
100
+ /** Candidates handled per pass. See {@link DEFAULT_DRAIN_PAGE_SIZE}. */
101
+ readonly pageSize?: number
102
+ /** Clock for expiry, so one pass judges every lease and park against one instant. */
103
+ readonly now?: number
104
+ }
105
+
106
+ /** A turn a pass could not finish, and why. */
107
+ export interface DrainFailure {
108
+ readonly turnId: TurnId
109
+ readonly error: string
110
+ }
111
+
112
+ /** What one pass did. */
113
+ export interface DrainTurnsResult {
114
+ /** Candidates listed, before any of them were contended for. */
115
+ readonly listed: number
116
+ /** Turns whose `onTurn` returned. */
117
+ readonly drained: readonly TurnId[]
118
+ /** Turns whose session another worker held. Not failures. */
119
+ readonly skipped: readonly TurnId[]
120
+ /**
121
+ * Turns that stopped matching between the listing and the claim (another
122
+ * drainer finished them, or their park changed state), given straight back.
123
+ */
124
+ readonly stale: readonly TurnId[]
125
+ /** Turns whose `onTurn` threw. */
126
+ readonly failed: readonly DrainFailure[]
127
+ /** Turns that finished but whose lease could not be handed back. */
128
+ readonly unreleased: readonly DrainFailure[]
129
+ /** Whether the pass stopped early because the signal aborted. */
130
+ readonly stopped: boolean
131
+ }
132
+
133
+ function refuse(code: NamzuErrorCode, message: string, details: Record<string, unknown>): never {
134
+ throw new NamzuError({ code, message, details })
135
+ }
136
+
137
+ function toMessage(err: unknown): string {
138
+ return err instanceof Error ? err.message : String(err)
139
+ }
140
+
141
+ interface Candidate {
142
+ readonly sessionId: SessionId
143
+ readonly projectId: ProjectId
144
+ readonly logPath: string
145
+ }
146
+
147
+ /**
148
+ * The durable facts of one open turn, from its session log: its checkpoints
149
+ * (written and not pruned) and its newest park. `undefined` when the turn is
150
+ * no longer the session's active turn.
151
+ */
152
+ async function describeTurn(
153
+ log: SessionLog,
154
+ tenantId: TenantId,
155
+ projectId: ProjectId,
156
+ lease: SessionLease,
157
+ now: number,
158
+ ): Promise<DurableTurnEntry | undefined> {
159
+ const active = await log.activeTurn({ lease, now })
160
+ if (!active) return undefined
161
+ const checkpoints = new Map<string, number>()
162
+ for await (const { record } of log.read({ mode: 'tolerant' })) {
163
+ if (record.type === 'checkpoint_written' && record.turnId === active.turnId) {
164
+ checkpoints.set(record.checkpointId, Date.parse(record.ts))
165
+ }
166
+ if (record.type === 'checkpoint_pruned') {
167
+ for (const id of record.checkpointIds) checkpoints.delete(id)
168
+ }
169
+ }
170
+ const latest = [...checkpoints.entries()].at(-1)
171
+ if (!latest) return undefined
172
+ const park = (await readParks(log, { turnId: active.turnId })).at(-1)
173
+ const summary: ParkSummary | undefined = park
174
+ ? {
175
+ state:
176
+ park.pending.resolvedAt !== undefined
177
+ ? 'resolved'
178
+ : park.pending.deadlineAt !== undefined && now >= park.pending.deadlineAt
179
+ ? 'expired'
180
+ : 'outstanding',
181
+ checkpointId: park.checkpointId,
182
+ requestType: park.pending.request.type,
183
+ parkedAt: park.pending.parkedAt,
184
+ ...(park.pending.deadlineAt !== undefined ? { deadlineAt: park.pending.deadlineAt } : {}),
185
+ ...(park.pending.resolvedAt !== undefined ? { resolvedAt: park.pending.resolvedAt } : {}),
186
+ }
187
+ : undefined
188
+ return {
189
+ tenantId,
190
+ projectId,
191
+ sessionId: log.sessionId,
192
+ turnId: active.turnId,
193
+ turnCreatedAt: Date.parse(active.startedAt),
194
+ checkpointCount: checkpoints.size,
195
+ latestCheckpointId: latest[0] as CheckpointId,
196
+ latestCheckpointAt: latest[1],
197
+ ...(summary ? { park: summary } : {}),
198
+ }
199
+ }
200
+
201
+ /**
202
+ * Take every open turn nobody holds, one bounded pass, and give each one
203
+ * back when its work returns.
204
+ *
205
+ * The shape is: list → claim the session's lease → re-read the turn under
206
+ * the lease → work → release in a `finally`. Only under the lease is the
207
+ * re-read stable, and a turn that no longer matches (settled, resumed by
208
+ * another drainer, or its park answered) is given straight back as
209
+ * {@link DrainTurnsResult.stale}. An inbox drain whose work answers the park
210
+ * is therefore exactly-once: doing the work removes the turn from the queue.
211
+ *
212
+ * @throws NamzuError `invalid_config` on a lease or concurrency that cannot
213
+ * mean what it says.
214
+ */
215
+ export async function drainParkedTurns(params: DrainTurnsParams): Promise<DrainTurnsResult> {
216
+ const { index, tenantId, holder, ttlMs, onTurn, park, signal } = params
217
+
218
+ if (holder.trim().length === 0) {
219
+ refuse(
220
+ 'invalid_config',
221
+ 'drainParkedTurns: `holder` is empty. Use something per-process — a worker id, a pod name plus a pid.',
222
+ { holder },
223
+ )
224
+ }
225
+ if (!Number.isFinite(ttlMs) || ttlMs <= 0) {
226
+ refuse(
227
+ 'invalid_config',
228
+ `drainParkedTurns: ttlMs must be a positive number of milliseconds, got ${String(ttlMs)}. A lease that expires immediately is a lease every worker can take at once.`,
229
+ { ttlMs },
230
+ )
231
+ }
232
+ const maxConcurrent = params.maxConcurrent ?? 1
233
+ if (!Number.isInteger(maxConcurrent) || maxConcurrent < 1) {
234
+ refuse(
235
+ 'invalid_config',
236
+ `drainParkedTurns: maxConcurrent must be a positive integer, got ${String(params.maxConcurrent)}.`,
237
+ { maxConcurrent: params.maxConcurrent },
238
+ )
239
+ }
240
+ const pageSize = params.pageSize ?? DEFAULT_DRAIN_PAGE_SIZE
241
+ const openLog =
242
+ params.openLog ??
243
+ ((sessionId: SessionId, logPath: string) =>
244
+ new DiskSessionLog({ sessionId, file: logPath, sessionDir: logPath.replace(/\.jsonl$/, '') }))
245
+
246
+ const drained: TurnId[] = []
247
+ const skipped: TurnId[] = []
248
+ const stale: TurnId[] = []
249
+ const failed: DrainFailure[] = []
250
+ const unreleased: DrainFailure[] = []
251
+ let stopped = false
252
+
253
+ // Candidates: sessions with an unresolved decision, and — with no park
254
+ // filter — every session whose turn is still open (running, paused or
255
+ // interrupted); a running one is held, and its claim below is refused.
256
+ const sessions = new Map<SessionId, Candidate>()
257
+ const pending = await index.listPendingDecisions(
258
+ params.sessionId ? { sessionId: params.sessionId } : {},
259
+ )
260
+ const consider = async (sessionId: SessionId): Promise<void> => {
261
+ if (sessions.has(sessionId)) return
262
+ const session = await index.getSession(sessionId)
263
+ if (!session) return
264
+ if (params.projectId && session.projectId !== params.projectId) return
265
+ sessions.set(sessionId, { sessionId, projectId: session.projectId, logPath: session.logPath })
266
+ }
267
+ for (const decision of pending) await consider(decision.sessionId)
268
+ if (!park) {
269
+ for (const session of await index.listSessions()) {
270
+ if (params.sessionId && session.id !== params.sessionId) continue
271
+ if (session.status !== 'idle') await consider(session.id)
272
+ }
273
+ }
274
+ const candidates = [...sessions.values()].slice(0, pageSize)
275
+
276
+ const handle = async (candidate: Candidate): Promise<void> => {
277
+ const log = openLog(candidate.sessionId, candidate.logPath)
278
+ const now = params.now ?? Date.now()
279
+ const lease = await log.claim({ holder, ttlMs, now })
280
+ const active = await log.activeTurn()
281
+ const turnId = active?.turnId ?? ('' as TurnId)
282
+ if (!lease) {
283
+ if (active) skipped.push(active.turnId)
284
+ return
285
+ }
286
+ let entry: DurableTurnEntry | undefined
287
+ try {
288
+ entry = await describeTurn(log, tenantId, candidate.projectId, lease, now)
289
+ } catch (err) {
290
+ failed.push({ turnId, error: toMessage(err) })
291
+ }
292
+ const matches =
293
+ entry !== undefined &&
294
+ (!park || (entry.park !== undefined && park.includes(entry.park.state)))
295
+ try {
296
+ if (!entry || !matches) {
297
+ if (entry || active) stale.push(entry?.turnId ?? turnId)
298
+ return
299
+ }
300
+ try {
301
+ await onTurn(entry, lease)
302
+ drained.push(entry.turnId)
303
+ } catch (err) {
304
+ failed.push({ turnId: entry.turnId, error: toMessage(err) })
305
+ }
306
+ } finally {
307
+ try {
308
+ await log.release(lease)
309
+ } catch (err) {
310
+ unreleased.push({ turnId: entry?.turnId ?? turnId, error: toMessage(err) })
311
+ }
312
+ }
313
+ }
314
+
315
+ for (let i = 0; i < candidates.length; i += maxConcurrent) {
316
+ if (signal?.aborted) {
317
+ stopped = true
318
+ break
319
+ }
320
+ await Promise.all(candidates.slice(i, i + maxConcurrent).map(handle))
321
+ }
322
+
323
+ return { listed: candidates.length, drained, skipped, stale, failed, unreleased, stopped }
324
+ }