@namzu/sdk 2.0.0 → 3.1.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 (1526) hide show
  1. package/CHANGELOG.md +2311 -0
  2. package/README.md +49 -53
  3. package/dist/__tests__/default-path-conformance.test.d.ts +2 -0
  4. package/dist/__tests__/default-path-conformance.test.d.ts.map +1 -0
  5. package/dist/__tests__/default-path-conformance.test.js +262 -0
  6. package/dist/__tests__/default-path-conformance.test.js.map +1 -0
  7. package/dist/__tests__/shipped-defaults.test.d.ts +2 -0
  8. package/dist/__tests__/shipped-defaults.test.d.ts.map +1 -0
  9. package/dist/__tests__/shipped-defaults.test.js +97 -0
  10. package/dist/__tests__/shipped-defaults.test.js.map +1 -0
  11. package/dist/advisory/__tests__/budget-enforcement.test.d.ts +2 -0
  12. package/dist/advisory/__tests__/budget-enforcement.test.d.ts.map +1 -0
  13. package/dist/advisory/__tests__/budget-enforcement.test.js +159 -0
  14. package/dist/advisory/__tests__/budget-enforcement.test.js.map +1 -0
  15. package/dist/advisory/__tests__/structured-response.test.d.ts +2 -0
  16. package/dist/advisory/__tests__/structured-response.test.d.ts.map +1 -0
  17. package/dist/advisory/__tests__/structured-response.test.js +99 -0
  18. package/dist/advisory/__tests__/structured-response.test.js.map +1 -0
  19. package/dist/advisory/budget.d.ts +15 -0
  20. package/dist/advisory/budget.d.ts.map +1 -0
  21. package/dist/advisory/budget.js +21 -0
  22. package/dist/advisory/budget.js.map +1 -0
  23. package/dist/advisory/context.d.ts +2 -0
  24. package/dist/advisory/context.d.ts.map +1 -1
  25. package/dist/advisory/context.js +16 -0
  26. package/dist/advisory/context.js.map +1 -1
  27. package/dist/advisory/executor.d.ts +14 -11
  28. package/dist/advisory/executor.d.ts.map +1 -1
  29. package/dist/advisory/executor.js +36 -24
  30. package/dist/advisory/executor.js.map +1 -1
  31. package/dist/advisory/executor.test.d.ts +8 -6
  32. package/dist/advisory/executor.test.d.ts.map +1 -1
  33. package/dist/advisory/executor.test.js +12 -8
  34. package/dist/advisory/executor.test.js.map +1 -1
  35. package/dist/advisory/index.d.ts +2 -0
  36. package/dist/advisory/index.d.ts.map +1 -1
  37. package/dist/advisory/index.js +2 -0
  38. package/dist/advisory/index.js.map +1 -1
  39. package/dist/advisory/parse.d.ts +23 -0
  40. package/dist/advisory/parse.d.ts.map +1 -0
  41. package/dist/advisory/parse.js +56 -0
  42. package/dist/advisory/parse.js.map +1 -0
  43. package/dist/agents/AbstractAgent.d.ts +48 -0
  44. package/dist/agents/AbstractAgent.d.ts.map +1 -1
  45. package/dist/agents/AbstractAgent.js +77 -0
  46. package/dist/agents/AbstractAgent.js.map +1 -1
  47. package/dist/agents/PipelineAgent.d.ts +10 -0
  48. package/dist/agents/PipelineAgent.d.ts.map +1 -1
  49. package/dist/agents/PipelineAgent.js +12 -0
  50. package/dist/agents/PipelineAgent.js.map +1 -1
  51. package/dist/agents/ReactiveAgent.d.ts +10 -0
  52. package/dist/agents/ReactiveAgent.d.ts.map +1 -1
  53. package/dist/agents/ReactiveAgent.js +40 -0
  54. package/dist/agents/ReactiveAgent.js.map +1 -1
  55. package/dist/agents/RouterAgent.d.ts +10 -0
  56. package/dist/agents/RouterAgent.d.ts.map +1 -1
  57. package/dist/agents/RouterAgent.js +23 -2
  58. package/dist/agents/RouterAgent.js.map +1 -1
  59. package/dist/agents/SupervisorAgent.d.ts +11 -1
  60. package/dist/agents/SupervisorAgent.d.ts.map +1 -1
  61. package/dist/agents/SupervisorAgent.js +23 -1
  62. package/dist/agents/SupervisorAgent.js.map +1 -1
  63. package/dist/agents/__tests__/idempotency-key.test.d.ts +2 -0
  64. package/dist/agents/__tests__/idempotency-key.test.d.ts.map +1 -0
  65. package/dist/agents/__tests__/idempotency-key.test.js +149 -0
  66. package/dist/agents/__tests__/idempotency-key.test.js.map +1 -0
  67. package/dist/agents/__tests__/invocation-lock.test.d.ts +2 -0
  68. package/dist/agents/__tests__/invocation-lock.test.d.ts.map +1 -0
  69. package/dist/agents/__tests__/invocation-lock.test.js +126 -0
  70. package/dist/agents/__tests__/invocation-lock.test.js.map +1 -0
  71. package/dist/agents/__tests__/reachability.test.d.ts +2 -0
  72. package/dist/agents/__tests__/reachability.test.d.ts.map +1 -0
  73. package/dist/agents/__tests__/reachability.test.js +173 -0
  74. package/dist/agents/__tests__/reachability.test.js.map +1 -0
  75. package/dist/agents/__tests__/supervisor-ledger.test.js +1 -1
  76. package/dist/agents/__tests__/supervisor-ledger.test.js.map +1 -1
  77. package/dist/agents/index.d.ts +1 -1
  78. package/dist/agents/index.d.ts.map +1 -1
  79. package/dist/agents/lock.d.ts +0 -1
  80. package/dist/agents/lock.d.ts.map +1 -1
  81. package/dist/agents/lock.js.map +1 -1
  82. package/dist/bridge/a2a/late-events.test.d.ts +2 -0
  83. package/dist/bridge/a2a/late-events.test.d.ts.map +1 -0
  84. package/dist/bridge/a2a/late-events.test.js +70 -0
  85. package/dist/bridge/a2a/late-events.test.js.map +1 -0
  86. package/dist/bridge/a2a/mapper.d.ts.map +1 -1
  87. package/dist/bridge/a2a/mapper.js +55 -3
  88. package/dist/bridge/a2a/mapper.js.map +1 -1
  89. package/dist/bridge/a2a/mapper.test.js +1 -1
  90. package/dist/bridge/a2a/mapper.test.js.map +1 -1
  91. package/dist/bridge/a2a/message.d.ts.map +1 -1
  92. package/dist/bridge/a2a/message.js +5 -1
  93. package/dist/bridge/a2a/message.js.map +1 -1
  94. package/dist/bridge/sse/late-events.test.d.ts +2 -0
  95. package/dist/bridge/sse/late-events.test.d.ts.map +1 -0
  96. package/dist/bridge/sse/late-events.test.js +163 -0
  97. package/dist/bridge/sse/late-events.test.js.map +1 -0
  98. package/dist/bridge/sse/mapper.d.ts.map +1 -1
  99. package/dist/bridge/sse/mapper.js +100 -0
  100. package/dist/bridge/sse/mapper.js.map +1 -1
  101. package/dist/compaction/__tests__/cleared-result-recovery.test.d.ts +2 -0
  102. package/dist/compaction/__tests__/cleared-result-recovery.test.d.ts.map +1 -0
  103. package/dist/compaction/__tests__/cleared-result-recovery.test.js +101 -0
  104. package/dist/compaction/__tests__/cleared-result-recovery.test.js.map +1 -0
  105. package/dist/compaction/__tests__/context-window.test.d.ts +2 -0
  106. package/dist/compaction/__tests__/context-window.test.d.ts.map +1 -0
  107. package/dist/compaction/__tests__/context-window.test.js +62 -0
  108. package/dist/compaction/__tests__/context-window.test.js.map +1 -0
  109. package/dist/compaction/__tests__/dangling.test.js +16 -5
  110. package/dist/compaction/__tests__/dangling.test.js.map +1 -1
  111. package/dist/compaction/__tests__/lossiness.test.d.ts +2 -0
  112. package/dist/compaction/__tests__/lossiness.test.d.ts.map +1 -0
  113. package/dist/compaction/__tests__/lossiness.test.js +163 -0
  114. package/dist/compaction/__tests__/lossiness.test.js.map +1 -0
  115. package/dist/compaction/__tests__/state-across-resume.test.d.ts +2 -0
  116. package/dist/compaction/__tests__/state-across-resume.test.d.ts.map +1 -0
  117. package/dist/compaction/__tests__/state-across-resume.test.js +88 -0
  118. package/dist/compaction/__tests__/state-across-resume.test.js.map +1 -0
  119. package/dist/compaction/__tests__/tool-result-editing.test.d.ts +2 -0
  120. package/dist/compaction/__tests__/tool-result-editing.test.d.ts.map +1 -0
  121. package/dist/compaction/__tests__/tool-result-editing.test.js +184 -0
  122. package/dist/compaction/__tests__/tool-result-editing.test.js.map +1 -0
  123. package/dist/compaction/__tests__/trim-opens-on-user.test.d.ts +2 -0
  124. package/dist/compaction/__tests__/trim-opens-on-user.test.d.ts.map +1 -0
  125. package/dist/compaction/__tests__/trim-opens-on-user.test.js +109 -0
  126. package/dist/compaction/__tests__/trim-opens-on-user.test.js.map +1 -0
  127. package/dist/compaction/__tests__/verifier-model.test.d.ts +2 -0
  128. package/dist/compaction/__tests__/verifier-model.test.d.ts.map +1 -0
  129. package/dist/compaction/__tests__/verifier-model.test.js +58 -0
  130. package/dist/compaction/__tests__/verifier-model.test.js.map +1 -0
  131. package/dist/compaction/context-window.d.ts +44 -0
  132. package/dist/compaction/context-window.d.ts.map +1 -0
  133. package/dist/compaction/context-window.js +97 -0
  134. package/dist/compaction/context-window.js.map +1 -0
  135. package/dist/compaction/dangling.js +48 -1
  136. package/dist/compaction/dangling.js.map +1 -1
  137. package/dist/compaction/extractor.d.ts.map +1 -1
  138. package/dist/compaction/extractor.js +55 -1
  139. package/dist/compaction/extractor.js.map +1 -1
  140. package/dist/compaction/index.d.ts +5 -0
  141. package/dist/compaction/index.d.ts.map +1 -1
  142. package/dist/compaction/index.js +3 -0
  143. package/dist/compaction/index.js.map +1 -1
  144. package/dist/compaction/manager.d.ts +25 -0
  145. package/dist/compaction/manager.d.ts.map +1 -1
  146. package/dist/compaction/manager.js +42 -8
  147. package/dist/compaction/manager.js.map +1 -1
  148. package/dist/compaction/managers/structured.d.ts.map +1 -1
  149. package/dist/compaction/managers/structured.js +7 -3
  150. package/dist/compaction/managers/structured.js.map +1 -1
  151. package/dist/compaction/retention.d.ts +15 -0
  152. package/dist/compaction/retention.d.ts.map +1 -0
  153. package/dist/compaction/retention.js +89 -0
  154. package/dist/compaction/retention.js.map +1 -0
  155. package/dist/compaction/serializer.d.ts.map +1 -1
  156. package/dist/compaction/serializer.js +28 -11
  157. package/dist/compaction/serializer.js.map +1 -1
  158. package/dist/compaction/tool-result-editing.d.ts +54 -0
  159. package/dist/compaction/tool-result-editing.d.ts.map +1 -0
  160. package/dist/compaction/tool-result-editing.js +164 -0
  161. package/dist/compaction/tool-result-editing.js.map +1 -0
  162. package/dist/compaction/types.d.ts +10 -0
  163. package/dist/compaction/types.d.ts.map +1 -1
  164. package/dist/compaction/verifier.d.ts +20 -1
  165. package/dist/compaction/verifier.d.ts.map +1 -1
  166. package/dist/compaction/verifier.js +11 -2
  167. package/dist/compaction/verifier.js.map +1 -1
  168. package/dist/compaction/wire.d.ts +54 -0
  169. package/dist/compaction/wire.d.ts.map +1 -0
  170. package/dist/compaction/wire.js +45 -0
  171. package/dist/compaction/wire.js.map +1 -0
  172. package/dist/config/runtime.d.ts +161 -45
  173. package/dist/config/runtime.d.ts.map +1 -1
  174. package/dist/config/runtime.js +61 -19
  175. package/dist/config/runtime.js.map +1 -1
  176. package/dist/connector/builtins/http.d.ts.map +1 -1
  177. package/dist/connector/builtins/http.js +14 -1
  178. package/dist/connector/builtins/http.js.map +1 -1
  179. package/dist/connector/builtins/http.test.js +12 -0
  180. package/dist/connector/builtins/http.test.js.map +1 -1
  181. package/dist/connector/mcp/__tests__/discovery-policy.test.d.ts +2 -0
  182. package/dist/connector/mcp/__tests__/discovery-policy.test.d.ts.map +1 -0
  183. package/dist/connector/mcp/__tests__/discovery-policy.test.js +109 -0
  184. package/dist/connector/mcp/__tests__/discovery-policy.test.js.map +1 -0
  185. package/dist/connector/mcp/__tests__/list-pagination.test.d.ts +2 -0
  186. package/dist/connector/mcp/__tests__/list-pagination.test.d.ts.map +1 -0
  187. package/dist/connector/mcp/__tests__/list-pagination.test.js +81 -0
  188. package/dist/connector/mcp/__tests__/list-pagination.test.js.map +1 -0
  189. package/dist/connector/mcp/__tests__/policy.test.d.ts +2 -0
  190. package/dist/connector/mcp/__tests__/policy.test.d.ts.map +1 -0
  191. package/dist/connector/mcp/__tests__/policy.test.js +86 -0
  192. package/dist/connector/mcp/__tests__/policy.test.js.map +1 -0
  193. package/dist/connector/mcp/__tests__/protocol-negotiation.test.d.ts +2 -0
  194. package/dist/connector/mcp/__tests__/protocol-negotiation.test.d.ts.map +1 -0
  195. package/dist/connector/mcp/__tests__/protocol-negotiation.test.js +81 -0
  196. package/dist/connector/mcp/__tests__/protocol-negotiation.test.js.map +1 -0
  197. package/dist/connector/mcp/__tests__/schema-fidelity.test.d.ts +2 -0
  198. package/dist/connector/mcp/__tests__/schema-fidelity.test.d.ts.map +1 -0
  199. package/dist/connector/mcp/__tests__/schema-fidelity.test.js +206 -0
  200. package/dist/connector/mcp/__tests__/schema-fidelity.test.js.map +1 -0
  201. package/dist/connector/mcp/__tests__/structured-result.test.d.ts +2 -0
  202. package/dist/connector/mcp/__tests__/structured-result.test.d.ts.map +1 -0
  203. package/dist/connector/mcp/__tests__/structured-result.test.js +112 -0
  204. package/dist/connector/mcp/__tests__/structured-result.test.js.map +1 -0
  205. package/dist/connector/mcp/adapter.d.ts +14 -0
  206. package/dist/connector/mcp/adapter.d.ts.map +1 -1
  207. package/dist/connector/mcp/adapter.js +292 -18
  208. package/dist/connector/mcp/adapter.js.map +1 -1
  209. package/dist/connector/mcp/client.d.ts +38 -0
  210. package/dist/connector/mcp/client.d.ts.map +1 -1
  211. package/dist/connector/mcp/client.js +138 -12
  212. package/dist/connector/mcp/client.js.map +1 -1
  213. package/dist/connector/mcp/client.test.d.ts +2 -0
  214. package/dist/connector/mcp/client.test.d.ts.map +1 -0
  215. package/dist/connector/mcp/client.test.js +105 -0
  216. package/dist/connector/mcp/client.test.js.map +1 -0
  217. package/dist/connector/mcp/discovery.d.ts +32 -1
  218. package/dist/connector/mcp/discovery.d.ts.map +1 -1
  219. package/dist/connector/mcp/discovery.js +41 -4
  220. package/dist/connector/mcp/discovery.js.map +1 -1
  221. package/dist/connector/mcp/http-sse.d.ts.map +1 -1
  222. package/dist/connector/mcp/http-sse.js +15 -1
  223. package/dist/connector/mcp/http-sse.js.map +1 -1
  224. package/dist/connector/mcp/index.d.ts +3 -0
  225. package/dist/connector/mcp/index.d.ts.map +1 -1
  226. package/dist/connector/mcp/index.js +1 -0
  227. package/dist/connector/mcp/index.js.map +1 -1
  228. package/dist/connector/mcp/policy.d.ts +57 -0
  229. package/dist/connector/mcp/policy.d.ts.map +1 -0
  230. package/dist/connector/mcp/policy.js +84 -0
  231. package/dist/connector/mcp/policy.js.map +1 -0
  232. package/dist/connector/mcp/schema-refs.d.ts +26 -0
  233. package/dist/connector/mcp/schema-refs.d.ts.map +1 -0
  234. package/dist/connector/mcp/schema-refs.js +111 -0
  235. package/dist/connector/mcp/schema-refs.js.map +1 -0
  236. package/dist/constants/agent/index.d.ts.map +1 -1
  237. package/dist/constants/agent/index.js +3 -0
  238. package/dist/constants/agent/index.js.map +1 -1
  239. package/dist/constants/compaction/index.js +1 -1
  240. package/dist/constants/compaction/index.js.map +1 -1
  241. package/dist/constants/continuation.d.ts +4 -4
  242. package/dist/constants/continuation.js +4 -4
  243. package/dist/constants/mcp/index.d.ts +31 -0
  244. package/dist/constants/mcp/index.d.ts.map +1 -1
  245. package/dist/constants/mcp/index.js +31 -0
  246. package/dist/constants/mcp/index.js.map +1 -1
  247. package/dist/constants/plugin/index.d.ts +23 -2
  248. package/dist/constants/plugin/index.d.ts.map +1 -1
  249. package/dist/constants/plugin/index.js +23 -2
  250. package/dist/constants/plugin/index.js.map +1 -1
  251. package/dist/constants/sandbox/index.d.ts +2 -3
  252. package/dist/constants/sandbox/index.d.ts.map +1 -1
  253. package/dist/constants/sandbox/index.js +6 -5
  254. package/dist/constants/sandbox/index.js.map +1 -1
  255. package/dist/constants/telemetry/index.d.ts +7 -0
  256. package/dist/constants/telemetry/index.d.ts.map +1 -1
  257. package/dist/constants/telemetry/index.js +7 -0
  258. package/dist/constants/telemetry/index.js.map +1 -1
  259. package/dist/constants/tools/index.d.ts +16 -0
  260. package/dist/constants/tools/index.d.ts.map +1 -1
  261. package/dist/constants/tools/index.js +16 -0
  262. package/dist/constants/tools/index.js.map +1 -1
  263. package/dist/contracts/a2a.d.ts +94 -94
  264. package/dist/contracts/api.d.ts +40 -2
  265. package/dist/contracts/api.d.ts.map +1 -1
  266. package/dist/contracts/run-status.d.ts +17 -0
  267. package/dist/contracts/run-status.d.ts.map +1 -0
  268. package/dist/contracts/run-status.js +41 -0
  269. package/dist/contracts/run-status.js.map +1 -0
  270. package/dist/contracts/schemas.d.ts +6 -6
  271. package/dist/eval/__tests__/case-deadline.test.d.ts +2 -0
  272. package/dist/eval/__tests__/case-deadline.test.d.ts.map +1 -0
  273. package/dist/eval/__tests__/case-deadline.test.js +128 -0
  274. package/dist/eval/__tests__/case-deadline.test.js.map +1 -0
  275. package/dist/eval/__tests__/end-to-end.test.d.ts +2 -0
  276. package/dist/eval/__tests__/end-to-end.test.d.ts.map +1 -0
  277. package/dist/eval/__tests__/end-to-end.test.js +223 -0
  278. package/dist/eval/__tests__/end-to-end.test.js.map +1 -0
  279. package/dist/eval/__tests__/harness-honesty.test.d.ts +2 -0
  280. package/dist/eval/__tests__/harness-honesty.test.d.ts.map +1 -0
  281. package/dist/eval/__tests__/harness-honesty.test.js +85 -0
  282. package/dist/eval/__tests__/harness-honesty.test.js.map +1 -0
  283. package/dist/eval/__tests__/harness.test.d.ts +2 -0
  284. package/dist/eval/__tests__/harness.test.d.ts.map +1 -0
  285. package/dist/eval/__tests__/harness.test.js +207 -0
  286. package/dist/eval/__tests__/harness.test.js.map +1 -0
  287. package/dist/eval/__tests__/judge.test.d.ts +2 -0
  288. package/dist/eval/__tests__/judge.test.d.ts.map +1 -0
  289. package/dist/eval/__tests__/judge.test.js +255 -0
  290. package/dist/eval/__tests__/judge.test.js.map +1 -0
  291. package/dist/eval/__tests__/scorer-gates.test.d.ts +2 -0
  292. package/dist/eval/__tests__/scorer-gates.test.d.ts.map +1 -0
  293. package/dist/eval/__tests__/scorer-gates.test.js +136 -0
  294. package/dist/eval/__tests__/scorer-gates.test.js.map +1 -0
  295. package/dist/eval/experiment.d.ts +54 -0
  296. package/dist/eval/experiment.d.ts.map +1 -0
  297. package/dist/eval/experiment.js +263 -0
  298. package/dist/eval/experiment.js.map +1 -0
  299. package/dist/eval/from-run.d.ts +30 -0
  300. package/dist/eval/from-run.d.ts.map +1 -0
  301. package/dist/eval/from-run.js +46 -0
  302. package/dist/eval/from-run.js.map +1 -0
  303. package/dist/eval/index.d.ts +8 -0
  304. package/dist/eval/index.d.ts.map +1 -0
  305. package/dist/eval/index.js +5 -0
  306. package/dist/eval/index.js.map +1 -0
  307. package/dist/eval/judge.d.ts +63 -0
  308. package/dist/eval/judge.d.ts.map +1 -0
  309. package/dist/eval/judge.js +136 -0
  310. package/dist/eval/judge.js.map +1 -0
  311. package/dist/eval/scorers.d.ts +40 -0
  312. package/dist/eval/scorers.d.ts.map +1 -0
  313. package/dist/eval/scorers.js +151 -0
  314. package/dist/eval/scorers.js.map +1 -0
  315. package/dist/eval/types.d.ts +150 -0
  316. package/dist/eval/types.d.ts.map +1 -0
  317. package/dist/eval/types.js +2 -0
  318. package/dist/eval/types.js.map +1 -0
  319. package/dist/execution/local.d.ts.map +1 -1
  320. package/dist/execution/local.js +6 -1
  321. package/dist/execution/local.js.map +1 -1
  322. package/dist/execution/local.test.d.ts +2 -0
  323. package/dist/execution/local.test.d.ts.map +1 -0
  324. package/dist/execution/local.test.js +37 -0
  325. package/dist/execution/local.test.js.map +1 -0
  326. package/dist/gateway/__tests__/list-survives-eviction.test.d.ts +2 -0
  327. package/dist/gateway/__tests__/list-survives-eviction.test.d.ts.map +1 -0
  328. package/dist/gateway/__tests__/list-survives-eviction.test.js +102 -0
  329. package/dist/gateway/__tests__/list-survives-eviction.test.js.map +1 -0
  330. package/dist/gateway/local.d.ts +42 -2
  331. package/dist/gateway/local.d.ts.map +1 -1
  332. package/dist/gateway/local.js +110 -3
  333. package/dist/gateway/local.js.map +1 -1
  334. package/dist/manager/agent/__tests__/dispose-cancels.test.d.ts +2 -0
  335. package/dist/manager/agent/__tests__/dispose-cancels.test.d.ts.map +1 -0
  336. package/dist/manager/agent/__tests__/dispose-cancels.test.js +88 -0
  337. package/dist/manager/agent/__tests__/dispose-cancels.test.js.map +1 -0
  338. package/dist/manager/agent/__tests__/lifecycle.test.js +230 -0
  339. package/dist/manager/agent/__tests__/lifecycle.test.js.map +1 -1
  340. package/dist/manager/agent/lifecycle.d.ts +35 -0
  341. package/dist/manager/agent/lifecycle.d.ts.map +1 -1
  342. package/dist/manager/agent/lifecycle.js +117 -7
  343. package/dist/manager/agent/lifecycle.js.map +1 -1
  344. package/dist/manager/run/persistence.d.ts +90 -1
  345. package/dist/manager/run/persistence.d.ts.map +1 -1
  346. package/dist/manager/run/persistence.js +120 -0
  347. package/dist/manager/run/persistence.js.map +1 -1
  348. package/dist/plugin/__tests__/enable-contributions.test.js +3 -3
  349. package/dist/plugin/__tests__/enable-contributions.test.js.map +1 -1
  350. package/dist/plugin/__tests__/hook-ordering.test.d.ts +2 -0
  351. package/dist/plugin/__tests__/hook-ordering.test.d.ts.map +1 -0
  352. package/dist/plugin/__tests__/hook-ordering.test.js +227 -0
  353. package/dist/plugin/__tests__/hook-ordering.test.js.map +1 -0
  354. package/dist/plugin/__tests__/install-time-refusal.test.d.ts +2 -0
  355. package/dist/plugin/__tests__/install-time-refusal.test.d.ts.map +1 -0
  356. package/dist/plugin/__tests__/install-time-refusal.test.js +49 -0
  357. package/dist/plugin/__tests__/install-time-refusal.test.js.map +1 -0
  358. package/dist/plugin/__tests__/lifecycle.test.js +95 -68
  359. package/dist/plugin/__tests__/lifecycle.test.js.map +1 -1
  360. package/dist/plugin/lifecycle.d.ts +15 -1
  361. package/dist/plugin/lifecycle.d.ts.map +1 -1
  362. package/dist/plugin/lifecycle.js +67 -20
  363. package/dist/plugin/lifecycle.js.map +1 -1
  364. package/dist/plugin/loader.d.ts +15 -0
  365. package/dist/plugin/loader.d.ts.map +1 -1
  366. package/dist/plugin/loader.js +33 -1
  367. package/dist/plugin/loader.js.map +1 -1
  368. package/dist/probe/registry.d.ts.map +1 -1
  369. package/dist/probe/registry.js +19 -1
  370. package/dist/probe/registry.js.map +1 -1
  371. package/dist/probe/registry.test.d.ts +9 -3
  372. package/dist/probe/registry.test.d.ts.map +1 -1
  373. package/dist/probe/registry.test.js +44 -6
  374. package/dist/probe/registry.test.js.map +1 -1
  375. package/dist/provider/__tests__/mock-script.test.d.ts +2 -0
  376. package/dist/provider/__tests__/mock-script.test.d.ts.map +1 -0
  377. package/dist/provider/__tests__/mock-script.test.js +151 -0
  378. package/dist/provider/__tests__/mock-script.test.js.map +1 -0
  379. package/dist/provider/__tests__/retry-visibility.test.d.ts +2 -0
  380. package/dist/provider/__tests__/retry-visibility.test.d.ts.map +1 -0
  381. package/dist/provider/__tests__/retry-visibility.test.js +137 -0
  382. package/dist/provider/__tests__/retry-visibility.test.js.map +1 -0
  383. package/dist/provider/__tests__/retry.test.d.ts +2 -0
  384. package/dist/provider/__tests__/retry.test.d.ts.map +1 -0
  385. package/dist/provider/__tests__/retry.test.js +259 -0
  386. package/dist/provider/__tests__/retry.test.js.map +1 -0
  387. package/dist/provider/capabilities.d.ts +1 -0
  388. package/dist/provider/capabilities.d.ts.map +1 -1
  389. package/dist/provider/capabilities.js +2 -0
  390. package/dist/provider/capabilities.js.map +1 -1
  391. package/dist/provider/collect.d.ts +1 -1
  392. package/dist/provider/collect.js +1 -1
  393. package/dist/provider/collect.test.d.ts +1 -1
  394. package/dist/provider/collect.test.js +1 -1
  395. package/dist/provider/index.d.ts +3 -0
  396. package/dist/provider/index.d.ts.map +1 -1
  397. package/dist/provider/index.js +2 -0
  398. package/dist/provider/index.js.map +1 -1
  399. package/dist/provider/mock-register.d.ts.map +1 -1
  400. package/dist/provider/mock-register.js +5 -2
  401. package/dist/provider/mock-register.js.map +1 -1
  402. package/dist/provider/mock.d.ts +35 -5
  403. package/dist/provider/mock.d.ts.map +1 -1
  404. package/dist/provider/mock.js +104 -32
  405. package/dist/provider/mock.js.map +1 -1
  406. package/dist/provider/retry.d.ts +42 -0
  407. package/dist/provider/retry.d.ts.map +1 -0
  408. package/dist/provider/retry.js +161 -0
  409. package/dist/provider/retry.js.map +1 -0
  410. package/dist/public-runtime.d.ts +26 -7
  411. package/dist/public-runtime.d.ts.map +1 -1
  412. package/dist/public-runtime.js +55 -7
  413. package/dist/public-runtime.js.map +1 -1
  414. package/dist/public-types.d.ts +5 -1
  415. package/dist/public-types.d.ts.map +1 -1
  416. package/dist/rag/__tests__/retrieval-math.test.d.ts +2 -0
  417. package/dist/rag/__tests__/retrieval-math.test.d.ts.map +1 -0
  418. package/dist/rag/__tests__/retrieval-math.test.js +46 -0
  419. package/dist/rag/__tests__/retrieval-math.test.js.map +1 -0
  420. package/dist/rag/chunking.d.ts +12 -0
  421. package/dist/rag/chunking.d.ts.map +1 -1
  422. package/dist/rag/chunking.js +32 -1
  423. package/dist/rag/chunking.js.map +1 -1
  424. package/dist/rag/embedding.d.ts +4 -4
  425. package/dist/rag/embedding.d.ts.map +1 -1
  426. package/dist/rag/embedding.js +23 -3
  427. package/dist/rag/embedding.js.map +1 -1
  428. package/dist/rag/embedding.test.d.ts +1 -1
  429. package/dist/rag/embedding.test.js +59 -10
  430. package/dist/rag/embedding.test.js.map +1 -1
  431. package/dist/rag/index.d.ts +1 -1
  432. package/dist/rag/index.d.ts.map +1 -1
  433. package/dist/rag/index.js +1 -1
  434. package/dist/rag/index.js.map +1 -1
  435. package/dist/rag/retriever.d.ts +0 -1
  436. package/dist/rag/retriever.d.ts.map +1 -1
  437. package/dist/rag/retriever.js +75 -22
  438. package/dist/rag/retriever.js.map +1 -1
  439. package/dist/rag/vector-store.test.d.ts +1 -1
  440. package/dist/rag/vector-store.test.js +2 -2
  441. package/dist/rag/vector-store.test.js.map +1 -1
  442. package/dist/registry/ManagedRegistry.test.d.ts +1 -1
  443. package/dist/registry/ManagedRegistry.test.js +1 -1
  444. package/dist/registry/Registry.test.d.ts +1 -1
  445. package/dist/registry/Registry.test.js +1 -1
  446. package/dist/registry/connector/definitions.test.d.ts +1 -1
  447. package/dist/registry/connector/definitions.test.js +1 -1
  448. package/dist/registry/tool/__tests__/schema.test.d.ts +2 -0
  449. package/dist/registry/tool/__tests__/schema.test.d.ts.map +1 -0
  450. package/dist/registry/tool/__tests__/schema.test.js +176 -0
  451. package/dist/registry/tool/__tests__/schema.test.js.map +1 -0
  452. package/dist/registry/tool/__tests__/tool-name-validation.test.d.ts +2 -0
  453. package/dist/registry/tool/__tests__/tool-name-validation.test.d.ts.map +1 -0
  454. package/dist/registry/tool/__tests__/tool-name-validation.test.js +70 -0
  455. package/dist/registry/tool/__tests__/tool-name-validation.test.js.map +1 -0
  456. package/dist/registry/tool/execute.d.ts +37 -0
  457. package/dist/registry/tool/execute.d.ts.map +1 -1
  458. package/dist/registry/tool/execute.js +91 -21
  459. package/dist/registry/tool/execute.js.map +1 -1
  460. package/dist/registry/tool/schema.d.ts +26 -0
  461. package/dist/registry/tool/schema.d.ts.map +1 -0
  462. package/dist/registry/tool/schema.js +77 -0
  463. package/dist/registry/tool/schema.js.map +1 -0
  464. package/dist/registry/toolset/catalog.d.ts.map +1 -1
  465. package/dist/registry/toolset/catalog.js +0 -1
  466. package/dist/registry/toolset/catalog.js.map +1 -1
  467. package/dist/registry/toolset/catalog.test.js +0 -1
  468. package/dist/registry/toolset/catalog.test.js.map +1 -1
  469. package/dist/run/reporter.d.ts.map +1 -1
  470. package/dist/run/reporter.js +76 -0
  471. package/dist/run/reporter.js.map +1 -1
  472. package/dist/runtime/bidi/__tests__/session.test.d.ts +2 -0
  473. package/dist/runtime/bidi/__tests__/session.test.d.ts.map +1 -0
  474. package/dist/runtime/bidi/__tests__/session.test.js +201 -0
  475. package/dist/runtime/bidi/__tests__/session.test.js.map +1 -0
  476. package/dist/runtime/bidi/index.d.ts +5 -0
  477. package/dist/runtime/bidi/index.d.ts.map +1 -0
  478. package/dist/runtime/bidi/index.js +3 -0
  479. package/dist/runtime/bidi/index.js.map +1 -0
  480. package/dist/runtime/bidi/mock.d.ts +34 -0
  481. package/dist/runtime/bidi/mock.d.ts.map +1 -0
  482. package/dist/runtime/bidi/mock.js +60 -0
  483. package/dist/runtime/bidi/mock.js.map +1 -0
  484. package/dist/runtime/bidi/session.d.ts +44 -0
  485. package/dist/runtime/bidi/session.d.ts.map +1 -0
  486. package/dist/runtime/bidi/session.js +154 -0
  487. package/dist/runtime/bidi/session.js.map +1 -0
  488. package/dist/runtime/decision/parser.d.ts.map +1 -1
  489. package/dist/runtime/decision/parser.js +8 -1
  490. package/dist/runtime/decision/parser.js.map +1 -1
  491. package/dist/runtime/decision/parser.test.d.ts +2 -0
  492. package/dist/runtime/decision/parser.test.d.ts.map +1 -0
  493. package/dist/runtime/decision/parser.test.js +37 -0
  494. package/dist/runtime/decision/parser.test.js.map +1 -0
  495. package/dist/runtime/query/__tests__/answer-review.test.d.ts +2 -0
  496. package/dist/runtime/query/__tests__/answer-review.test.d.ts.map +1 -0
  497. package/dist/runtime/query/__tests__/answer-review.test.js +141 -0
  498. package/dist/runtime/query/__tests__/answer-review.test.js.map +1 -0
  499. package/dist/runtime/query/__tests__/capability-negotiation.test.js +77 -105
  500. package/dist/runtime/query/__tests__/capability-negotiation.test.js.map +1 -1
  501. package/dist/runtime/query/__tests__/checkpoint-store.test.js +12 -44
  502. package/dist/runtime/query/__tests__/checkpoint-store.test.js.map +1 -1
  503. package/dist/runtime/query/__tests__/checkpoint.test.js +2 -10
  504. package/dist/runtime/query/__tests__/checkpoint.test.js.map +1 -1
  505. package/dist/runtime/query/__tests__/citations.test.d.ts +2 -0
  506. package/dist/runtime/query/__tests__/citations.test.d.ts.map +1 -0
  507. package/dist/runtime/query/__tests__/citations.test.js +85 -0
  508. package/dist/runtime/query/__tests__/citations.test.js.map +1 -0
  509. package/dist/runtime/query/__tests__/content-budget.test.d.ts +2 -0
  510. package/dist/runtime/query/__tests__/content-budget.test.d.ts.map +1 -0
  511. package/dist/runtime/query/__tests__/content-budget.test.js +69 -0
  512. package/dist/runtime/query/__tests__/content-budget.test.js.map +1 -0
  513. package/dist/runtime/query/__tests__/context.test.js +3 -2
  514. package/dist/runtime/query/__tests__/context.test.js.map +1 -1
  515. package/dist/runtime/query/__tests__/deferred-tools.test.js +21 -130
  516. package/dist/runtime/query/__tests__/deferred-tools.test.js.map +1 -1
  517. package/dist/runtime/query/__tests__/delegation-resume.test.d.ts +2 -0
  518. package/dist/runtime/query/__tests__/delegation-resume.test.d.ts.map +1 -0
  519. package/dist/runtime/query/__tests__/delegation-resume.test.js +111 -0
  520. package/dist/runtime/query/__tests__/delegation-resume.test.js.map +1 -0
  521. package/dist/runtime/query/__tests__/document-attachments.test.d.ts +2 -0
  522. package/dist/runtime/query/__tests__/document-attachments.test.d.ts.map +1 -0
  523. package/dist/runtime/query/__tests__/document-attachments.test.js +92 -0
  524. package/dist/runtime/query/__tests__/document-attachments.test.js.map +1 -0
  525. package/dist/runtime/query/__tests__/durable-park-and-trace.test.d.ts +2 -0
  526. package/dist/runtime/query/__tests__/durable-park-and-trace.test.d.ts.map +1 -0
  527. package/dist/runtime/query/__tests__/durable-park-and-trace.test.js +194 -0
  528. package/dist/runtime/query/__tests__/durable-park-and-trace.test.js.map +1 -0
  529. package/dist/runtime/query/__tests__/durable-question-park.test.d.ts +2 -0
  530. package/dist/runtime/query/__tests__/durable-question-park.test.d.ts.map +1 -0
  531. package/dist/runtime/query/__tests__/durable-question-park.test.js +253 -0
  532. package/dist/runtime/query/__tests__/durable-question-park.test.js.map +1 -0
  533. package/dist/runtime/query/__tests__/durable-run-state.test.d.ts +2 -0
  534. package/dist/runtime/query/__tests__/durable-run-state.test.d.ts.map +1 -0
  535. package/dist/runtime/query/__tests__/durable-run-state.test.js +158 -0
  536. package/dist/runtime/query/__tests__/durable-run-state.test.js.map +1 -0
  537. package/dist/runtime/query/__tests__/executor-plugin-hooks.test.js +24 -20
  538. package/dist/runtime/query/__tests__/executor-plugin-hooks.test.js.map +1 -1
  539. package/dist/runtime/query/__tests__/finish-reason-vs-tool-calls.test.d.ts +2 -0
  540. package/dist/runtime/query/__tests__/finish-reason-vs-tool-calls.test.d.ts.map +1 -0
  541. package/dist/runtime/query/__tests__/finish-reason-vs-tool-calls.test.js +187 -0
  542. package/dist/runtime/query/__tests__/finish-reason-vs-tool-calls.test.js.map +1 -0
  543. package/dist/runtime/query/__tests__/grant-cannot-overrule-the-gate.test.d.ts +2 -0
  544. package/dist/runtime/query/__tests__/grant-cannot-overrule-the-gate.test.d.ts.map +1 -0
  545. package/dist/runtime/query/__tests__/grant-cannot-overrule-the-gate.test.js +95 -0
  546. package/dist/runtime/query/__tests__/grant-cannot-overrule-the-gate.test.js.map +1 -0
  547. package/dist/runtime/query/__tests__/guardrails-e2e.test.d.ts +2 -0
  548. package/dist/runtime/query/__tests__/guardrails-e2e.test.d.ts.map +1 -0
  549. package/dist/runtime/query/__tests__/guardrails-e2e.test.js +132 -0
  550. package/dist/runtime/query/__tests__/guardrails-e2e.test.js.map +1 -0
  551. package/dist/runtime/query/__tests__/guardrails.test.d.ts +2 -0
  552. package/dist/runtime/query/__tests__/guardrails.test.d.ts.map +1 -0
  553. package/dist/runtime/query/__tests__/guardrails.test.js +163 -0
  554. package/dist/runtime/query/__tests__/guardrails.test.js.map +1 -0
  555. package/dist/runtime/query/__tests__/hook-model-visibility.test.d.ts +2 -0
  556. package/dist/runtime/query/__tests__/hook-model-visibility.test.d.ts.map +1 -0
  557. package/dist/runtime/query/__tests__/hook-model-visibility.test.js +119 -0
  558. package/dist/runtime/query/__tests__/hook-model-visibility.test.js.map +1 -0
  559. package/dist/runtime/query/__tests__/long-document-flow.test.js +9 -2
  560. package/dist/runtime/query/__tests__/long-document-flow.test.js.map +1 -1
  561. package/dist/runtime/query/__tests__/memory-promotion.test.d.ts +2 -0
  562. package/dist/runtime/query/__tests__/memory-promotion.test.d.ts.map +1 -0
  563. package/dist/runtime/query/__tests__/memory-promotion.test.js +119 -0
  564. package/dist/runtime/query/__tests__/memory-promotion.test.js.map +1 -0
  565. package/dist/runtime/query/__tests__/orphan-task-turn-end.test.js +5 -27
  566. package/dist/runtime/query/__tests__/orphan-task-turn-end.test.js.map +1 -1
  567. package/dist/runtime/query/__tests__/overflow-relief.test.d.ts +2 -0
  568. package/dist/runtime/query/__tests__/overflow-relief.test.d.ts.map +1 -0
  569. package/dist/runtime/query/__tests__/overflow-relief.test.js +119 -0
  570. package/dist/runtime/query/__tests__/overflow-relief.test.js.map +1 -0
  571. package/dist/runtime/query/__tests__/partial-batch-resume.test.d.ts +2 -0
  572. package/dist/runtime/query/__tests__/partial-batch-resume.test.d.ts.map +1 -0
  573. package/dist/runtime/query/__tests__/partial-batch-resume.test.js +205 -0
  574. package/dist/runtime/query/__tests__/partial-batch-resume.test.js.map +1 -0
  575. package/dist/runtime/query/__tests__/plugin-hooks.test.js +0 -1
  576. package/dist/runtime/query/__tests__/plugin-hooks.test.js.map +1 -1
  577. package/dist/runtime/query/__tests__/prepare-step-chain.test.d.ts +2 -0
  578. package/dist/runtime/query/__tests__/prepare-step-chain.test.d.ts.map +1 -0
  579. package/dist/runtime/query/__tests__/prepare-step-chain.test.js +104 -0
  580. package/dist/runtime/query/__tests__/prepare-step-chain.test.js.map +1 -0
  581. package/dist/runtime/query/__tests__/prepare-step.test.d.ts +2 -0
  582. package/dist/runtime/query/__tests__/prepare-step.test.d.ts.map +1 -0
  583. package/dist/runtime/query/__tests__/prepare-step.test.js +194 -0
  584. package/dist/runtime/query/__tests__/prepare-step.test.js.map +1 -0
  585. package/dist/runtime/query/__tests__/probe-veto-is-error.test.d.ts +2 -0
  586. package/dist/runtime/query/__tests__/probe-veto-is-error.test.d.ts.map +1 -0
  587. package/dist/runtime/query/__tests__/probe-veto-is-error.test.js +111 -0
  588. package/dist/runtime/query/__tests__/probe-veto-is-error.test.js.map +1 -0
  589. package/dist/runtime/query/__tests__/prompt.test.js +1 -1
  590. package/dist/runtime/query/__tests__/prompt.test.js.map +1 -1
  591. package/dist/runtime/query/__tests__/provider-fault-pauses.test.d.ts +2 -0
  592. package/dist/runtime/query/__tests__/provider-fault-pauses.test.d.ts.map +1 -0
  593. package/dist/runtime/query/__tests__/provider-fault-pauses.test.js +86 -0
  594. package/dist/runtime/query/__tests__/provider-fault-pauses.test.js.map +1 -0
  595. package/dist/runtime/query/__tests__/reasoning-stream.test.d.ts +2 -0
  596. package/dist/runtime/query/__tests__/reasoning-stream.test.d.ts.map +1 -0
  597. package/dist/runtime/query/__tests__/reasoning-stream.test.js +146 -0
  598. package/dist/runtime/query/__tests__/reasoning-stream.test.js.map +1 -0
  599. package/dist/runtime/query/__tests__/recoverable-settle.test.d.ts +2 -0
  600. package/dist/runtime/query/__tests__/recoverable-settle.test.d.ts.map +1 -0
  601. package/dist/runtime/query/__tests__/recoverable-settle.test.js +119 -0
  602. package/dist/runtime/query/__tests__/recoverable-settle.test.js.map +1 -0
  603. package/dist/runtime/query/__tests__/resume-budget.test.d.ts +2 -0
  604. package/dist/runtime/query/__tests__/resume-budget.test.d.ts.map +1 -0
  605. package/dist/runtime/query/__tests__/resume-budget.test.js +130 -0
  606. package/dist/runtime/query/__tests__/resume-budget.test.js.map +1 -0
  607. package/dist/runtime/query/__tests__/resume-pending.test.d.ts +2 -0
  608. package/dist/runtime/query/__tests__/resume-pending.test.d.ts.map +1 -0
  609. package/dist/runtime/query/__tests__/resume-pending.test.js +226 -0
  610. package/dist/runtime/query/__tests__/resume-pending.test.js.map +1 -0
  611. package/dist/runtime/query/__tests__/rich-content-budget-wiring.test.d.ts +2 -0
  612. package/dist/runtime/query/__tests__/rich-content-budget-wiring.test.d.ts.map +1 -0
  613. package/dist/runtime/query/__tests__/rich-content-budget-wiring.test.js +89 -0
  614. package/dist/runtime/query/__tests__/rich-content-budget-wiring.test.js.map +1 -0
  615. package/dist/runtime/query/__tests__/stop-condition.test.d.ts +2 -0
  616. package/dist/runtime/query/__tests__/stop-condition.test.d.ts.map +1 -0
  617. package/dist/runtime/query/__tests__/stop-condition.test.js +205 -0
  618. package/dist/runtime/query/__tests__/stop-condition.test.js.map +1 -0
  619. package/dist/runtime/query/__tests__/structured-output.test.d.ts +2 -0
  620. package/dist/runtime/query/__tests__/structured-output.test.d.ts.map +1 -0
  621. package/dist/runtime/query/__tests__/structured-output.test.js +219 -0
  622. package/dist/runtime/query/__tests__/structured-output.test.js.map +1 -0
  623. package/dist/runtime/query/__tests__/structured-run-failure.test.d.ts +2 -0
  624. package/dist/runtime/query/__tests__/structured-run-failure.test.d.ts.map +1 -0
  625. package/dist/runtime/query/__tests__/structured-run-failure.test.js +117 -0
  626. package/dist/runtime/query/__tests__/structured-run-failure.test.js.map +1 -0
  627. package/dist/runtime/query/__tests__/terminal-tool.test.d.ts +2 -0
  628. package/dist/runtime/query/__tests__/terminal-tool.test.d.ts.map +1 -0
  629. package/dist/runtime/query/__tests__/terminal-tool.test.js +119 -0
  630. package/dist/runtime/query/__tests__/terminal-tool.test.js.map +1 -0
  631. package/dist/runtime/query/__tests__/tool-grants.test.d.ts +2 -0
  632. package/dist/runtime/query/__tests__/tool-grants.test.d.ts.map +1 -0
  633. package/dist/runtime/query/__tests__/tool-grants.test.js +85 -0
  634. package/dist/runtime/query/__tests__/tool-grants.test.js.map +1 -0
  635. package/dist/runtime/query/__tests__/tool-output-budget.test.d.ts +2 -0
  636. package/dist/runtime/query/__tests__/tool-output-budget.test.d.ts.map +1 -0
  637. package/dist/runtime/query/__tests__/tool-output-budget.test.js +0 -0
  638. package/dist/runtime/query/__tests__/tool-output-budget.test.js.map +1 -0
  639. package/dist/runtime/query/__tests__/tool-pause.test.d.ts +2 -0
  640. package/dist/runtime/query/__tests__/tool-pause.test.d.ts.map +1 -0
  641. package/dist/runtime/query/__tests__/tool-pause.test.js +165 -0
  642. package/dist/runtime/query/__tests__/tool-pause.test.js.map +1 -0
  643. package/dist/runtime/query/__tests__/tool-progress.test.d.ts +2 -0
  644. package/dist/runtime/query/__tests__/tool-progress.test.d.ts.map +1 -0
  645. package/dist/runtime/query/__tests__/tool-progress.test.js +122 -0
  646. package/dist/runtime/query/__tests__/tool-progress.test.js.map +1 -0
  647. package/dist/runtime/query/__tests__/tool-repair-retry.test.d.ts +2 -0
  648. package/dist/runtime/query/__tests__/tool-repair-retry.test.d.ts.map +1 -0
  649. package/dist/runtime/query/__tests__/tool-repair-retry.test.js +196 -0
  650. package/dist/runtime/query/__tests__/tool-repair-retry.test.js.map +1 -0
  651. package/dist/runtime/query/__tests__/tool-result-wire.test.d.ts +2 -0
  652. package/dist/runtime/query/__tests__/tool-result-wire.test.d.ts.map +1 -0
  653. package/dist/runtime/query/__tests__/tool-result-wire.test.js +106 -0
  654. package/dist/runtime/query/__tests__/tool-result-wire.test.js.map +1 -0
  655. package/dist/runtime/query/__tests__/tool-timeout.test.d.ts +2 -0
  656. package/dist/runtime/query/__tests__/tool-timeout.test.d.ts.map +1 -0
  657. package/dist/runtime/query/__tests__/tool-timeout.test.js +184 -0
  658. package/dist/runtime/query/__tests__/tool-timeout.test.js.map +1 -0
  659. package/dist/runtime/query/__tests__/trace-parenting.test.d.ts +2 -0
  660. package/dist/runtime/query/__tests__/trace-parenting.test.d.ts.map +1 -0
  661. package/dist/runtime/query/__tests__/trace-parenting.test.js +111 -0
  662. package/dist/runtime/query/__tests__/trace-parenting.test.js.map +1 -0
  663. package/dist/runtime/query/__tests__/wiring-seams.test.d.ts +2 -0
  664. package/dist/runtime/query/__tests__/wiring-seams.test.d.ts.map +1 -0
  665. package/dist/runtime/query/__tests__/wiring-seams.test.js +237 -0
  666. package/dist/runtime/query/__tests__/wiring-seams.test.js.map +1 -0
  667. package/dist/runtime/query/checkpoint.d.ts +124 -6
  668. package/dist/runtime/query/checkpoint.d.ts.map +1 -1
  669. package/dist/runtime/query/checkpoint.js +207 -6
  670. package/dist/runtime/query/checkpoint.js.map +1 -1
  671. package/dist/runtime/query/events.js +2 -2
  672. package/dist/runtime/query/events.js.map +1 -1
  673. package/dist/runtime/query/executor.d.ts +225 -7
  674. package/dist/runtime/query/executor.d.ts.map +1 -1
  675. package/dist/runtime/query/executor.js +672 -36
  676. package/dist/runtime/query/executor.js.map +1 -1
  677. package/dist/runtime/query/guard.d.ts +18 -0
  678. package/dist/runtime/query/guard.d.ts.map +1 -1
  679. package/dist/runtime/query/guard.js +16 -1
  680. package/dist/runtime/query/guard.js.map +1 -1
  681. package/dist/runtime/query/guardrail-presets.d.ts +36 -0
  682. package/dist/runtime/query/guardrail-presets.d.ts.map +1 -0
  683. package/dist/runtime/query/guardrail-presets.js +96 -0
  684. package/dist/runtime/query/guardrail-presets.js.map +1 -0
  685. package/dist/runtime/query/guardrails.d.ts +35 -0
  686. package/dist/runtime/query/guardrails.d.ts.map +1 -0
  687. package/dist/runtime/query/guardrails.js +102 -0
  688. package/dist/runtime/query/guardrails.js.map +1 -0
  689. package/dist/runtime/query/index.d.ts +213 -2
  690. package/dist/runtime/query/index.d.ts.map +1 -1
  691. package/dist/runtime/query/index.js +458 -10
  692. package/dist/runtime/query/index.js.map +1 -1
  693. package/dist/runtime/query/iteration/__tests__/cancel-settles-turn.test.d.ts +2 -0
  694. package/dist/runtime/query/iteration/__tests__/cancel-settles-turn.test.d.ts.map +1 -0
  695. package/dist/runtime/query/iteration/__tests__/cancel-settles-turn.test.js +131 -0
  696. package/dist/runtime/query/iteration/__tests__/cancel-settles-turn.test.js.map +1 -0
  697. package/dist/runtime/query/iteration/index.d.ts +76 -1
  698. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  699. package/dist/runtime/query/iteration/index.js +594 -29
  700. package/dist/runtime/query/iteration/index.js.map +1 -1
  701. package/dist/runtime/query/iteration/phases/advisory.d.ts.map +1 -1
  702. package/dist/runtime/query/iteration/phases/advisory.js +14 -2
  703. package/dist/runtime/query/iteration/phases/advisory.js.map +1 -1
  704. package/dist/runtime/query/iteration/phases/advisory.test.d.ts +1 -1
  705. package/dist/runtime/query/iteration/phases/advisory.test.js +4 -1
  706. package/dist/runtime/query/iteration/phases/advisory.test.js.map +1 -1
  707. package/dist/runtime/query/iteration/phases/checkpoint.js +2 -2
  708. package/dist/runtime/query/iteration/phases/checkpoint.js.map +1 -1
  709. package/dist/runtime/query/iteration/phases/compaction-safe-cut.test.js +1 -1
  710. package/dist/runtime/query/iteration/phases/compaction-safe-cut.test.js.map +1 -1
  711. package/dist/runtime/query/iteration/phases/compaction.d.ts +22 -1
  712. package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
  713. package/dist/runtime/query/iteration/phases/compaction.js +297 -64
  714. package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
  715. package/dist/runtime/query/iteration/phases/context-measurement.test.d.ts +21 -0
  716. package/dist/runtime/query/iteration/phases/context-measurement.test.d.ts.map +1 -0
  717. package/dist/runtime/query/iteration/phases/context-measurement.test.js +161 -0
  718. package/dist/runtime/query/iteration/phases/context-measurement.test.js.map +1 -0
  719. package/dist/runtime/query/iteration/phases/context.d.ts +62 -2
  720. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  721. package/dist/runtime/query/iteration/phases/context.js +87 -0
  722. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  723. package/dist/runtime/query/iteration/phases/hitl-answer-question.test.js +3 -1
  724. package/dist/runtime/query/iteration/phases/hitl-answer-question.test.js.map +1 -1
  725. package/dist/runtime/query/iteration/phases/overflow-escalation.test.d.ts +15 -0
  726. package/dist/runtime/query/iteration/phases/overflow-escalation.test.d.ts.map +1 -0
  727. package/dist/runtime/query/iteration/phases/overflow-escalation.test.js +130 -0
  728. package/dist/runtime/query/iteration/phases/overflow-escalation.test.js.map +1 -0
  729. package/dist/runtime/query/iteration/phases/plan.d.ts.map +1 -1
  730. package/dist/runtime/query/iteration/phases/plan.js +8 -2
  731. package/dist/runtime/query/iteration/phases/plan.js.map +1 -1
  732. package/dist/runtime/query/iteration/phases/retained-messages.test.d.ts +2 -0
  733. package/dist/runtime/query/iteration/phases/retained-messages.test.d.ts.map +1 -0
  734. package/dist/runtime/query/iteration/phases/retained-messages.test.js +180 -0
  735. package/dist/runtime/query/iteration/phases/retained-messages.test.js.map +1 -0
  736. package/dist/runtime/query/iteration/phases/tool-review-denials.test.d.ts +2 -0
  737. package/dist/runtime/query/iteration/phases/tool-review-denials.test.d.ts.map +1 -0
  738. package/dist/runtime/query/iteration/phases/tool-review-denials.test.js +224 -0
  739. package/dist/runtime/query/iteration/phases/tool-review-denials.test.js.map +1 -0
  740. package/dist/runtime/query/iteration/phases/tool-review.d.ts +29 -1
  741. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  742. package/dist/runtime/query/iteration/phases/tool-review.js +114 -44
  743. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  744. package/dist/runtime/query/iteration/phases/working-memory-compaction.test.js +20 -9
  745. package/dist/runtime/query/iteration/phases/working-memory-compaction.test.js.map +1 -1
  746. package/dist/runtime/query/iteration/stream-turn.d.ts +2 -26
  747. package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
  748. package/dist/runtime/query/iteration/stream-turn.js +254 -16
  749. package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
  750. package/dist/runtime/query/plugin-hooks.d.ts.map +1 -1
  751. package/dist/runtime/query/plugin-hooks.js +6 -2
  752. package/dist/runtime/query/plugin-hooks.js.map +1 -1
  753. package/dist/runtime/query/prompt.d.ts.map +1 -1
  754. package/dist/runtime/query/prompt.js +25 -1
  755. package/dist/runtime/query/prompt.js.map +1 -1
  756. package/dist/runtime/query/question-park.d.ts +85 -0
  757. package/dist/runtime/query/question-park.d.ts.map +1 -0
  758. package/dist/runtime/query/question-park.js +71 -0
  759. package/dist/runtime/query/question-park.js.map +1 -0
  760. package/dist/runtime/query/result.d.ts +9 -0
  761. package/dist/runtime/query/result.d.ts.map +1 -1
  762. package/dist/runtime/query/result.js +49 -0
  763. package/dist/runtime/query/result.js.map +1 -1
  764. package/dist/runtime/query/resume-pending.d.ts +106 -0
  765. package/dist/runtime/query/resume-pending.d.ts.map +1 -0
  766. package/dist/runtime/query/resume-pending.js +312 -0
  767. package/dist/runtime/query/resume-pending.js.map +1 -0
  768. package/dist/runtime/query/run-state.d.ts +52 -0
  769. package/dist/runtime/query/run-state.d.ts.map +1 -0
  770. package/dist/runtime/query/run-state.js +87 -0
  771. package/dist/runtime/query/run-state.js.map +1 -0
  772. package/dist/runtime/query/tool-grants.d.ts +44 -0
  773. package/dist/runtime/query/tool-grants.d.ts.map +1 -0
  774. package/dist/runtime/query/tool-grants.js +63 -0
  775. package/dist/runtime/query/tool-grants.js.map +1 -0
  776. package/dist/runtime/query/tool-output-budget.d.ts +83 -0
  777. package/dist/runtime/query/tool-output-budget.d.ts.map +1 -0
  778. package/dist/runtime/query/tool-output-budget.js +147 -0
  779. package/dist/runtime/query/tool-output-budget.js.map +1 -0
  780. package/dist/runtime/query/tool-pause.d.ts +41 -0
  781. package/dist/runtime/query/tool-pause.d.ts.map +1 -0
  782. package/dist/runtime/query/tool-pause.js +94 -0
  783. package/dist/runtime/query/tool-pause.js.map +1 -0
  784. package/dist/runtime/query/tooling.d.ts +10 -1
  785. package/dist/runtime/query/tooling.d.ts.map +1 -1
  786. package/dist/runtime/query/tooling.js +13 -0
  787. package/dist/runtime/query/tooling.js.map +1 -1
  788. package/dist/sandbox/__tests__/isolation.test.d.ts +2 -0
  789. package/dist/sandbox/__tests__/isolation.test.d.ts.map +1 -0
  790. package/dist/sandbox/__tests__/isolation.test.js +139 -0
  791. package/dist/sandbox/__tests__/isolation.test.js.map +1 -0
  792. package/dist/sandbox/__tests__/output-truncation.test.d.ts +2 -0
  793. package/dist/sandbox/__tests__/output-truncation.test.d.ts.map +1 -0
  794. package/dist/sandbox/__tests__/output-truncation.test.js +88 -0
  795. package/dist/sandbox/__tests__/output-truncation.test.js.map +1 -0
  796. package/dist/sandbox/__tests__/resource-limits.test.d.ts +2 -0
  797. package/dist/sandbox/__tests__/resource-limits.test.d.ts.map +1 -0
  798. package/dist/sandbox/__tests__/resource-limits.test.js +86 -0
  799. package/dist/sandbox/__tests__/resource-limits.test.js.map +1 -0
  800. package/dist/sandbox/factory.js +1 -1
  801. package/dist/sandbox/factory.js.map +1 -1
  802. package/dist/sandbox/index.d.ts +2 -0
  803. package/dist/sandbox/index.d.ts.map +1 -1
  804. package/dist/sandbox/index.js +1 -0
  805. package/dist/sandbox/index.js.map +1 -1
  806. package/dist/sandbox/isolation.d.ts +15 -0
  807. package/dist/sandbox/isolation.d.ts.map +1 -0
  808. package/dist/sandbox/isolation.js +53 -0
  809. package/dist/sandbox/isolation.js.map +1 -0
  810. package/dist/sandbox/provider/local.d.ts +51 -2
  811. package/dist/sandbox/provider/local.d.ts.map +1 -1
  812. package/dist/sandbox/provider/local.js +139 -69
  813. package/dist/sandbox/provider/local.js.map +1 -1
  814. package/dist/session/__tests__/integration/spawn-rollback.test.d.ts +1 -1
  815. package/dist/session/__tests__/integration/spawn-rollback.test.js +1 -1
  816. package/dist/session/handoff/broadcast.js +3 -3
  817. package/dist/session/handoff/broadcast.js.map +1 -1
  818. package/dist/session/migration/__tests__/filesystem.test.js +5 -1
  819. package/dist/session/migration/__tests__/filesystem.test.js.map +1 -1
  820. package/dist/session/migration/filesystem.d.ts.map +1 -1
  821. package/dist/session/migration/filesystem.js +7 -13
  822. package/dist/session/migration/filesystem.js.map +1 -1
  823. package/dist/session/migration/marker.d.ts.map +1 -1
  824. package/dist/session/migration/marker.js +5 -10
  825. package/dist/session/migration/marker.js.map +1 -1
  826. package/dist/session/retention/disk-backend.d.ts.map +1 -1
  827. package/dist/session/retention/disk-backend.js +5 -12
  828. package/dist/session/retention/disk-backend.js.map +1 -1
  829. package/dist/session/workspace/__tests__/git-worktree.test.js +6 -2
  830. package/dist/session/workspace/__tests__/git-worktree.test.js.map +1 -1
  831. package/dist/session/workspace/__tests__/shared-run.test.js +15 -0
  832. package/dist/session/workspace/__tests__/shared-run.test.js.map +1 -1
  833. package/dist/session/workspace/shared-run.js +8 -1
  834. package/dist/session/workspace/shared-run.js.map +1 -1
  835. package/dist/skills/__tests__/frontmatter.test.d.ts +2 -0
  836. package/dist/skills/__tests__/frontmatter.test.d.ts.map +1 -0
  837. package/dist/skills/__tests__/frontmatter.test.js +106 -0
  838. package/dist/skills/__tests__/frontmatter.test.js.map +1 -0
  839. package/dist/skills/loader.d.ts.map +1 -1
  840. package/dist/skills/loader.js +42 -3
  841. package/dist/skills/loader.js.map +1 -1
  842. package/dist/store/__tests__/checkpoint-integrity.test.d.ts +2 -0
  843. package/dist/store/__tests__/checkpoint-integrity.test.d.ts.map +1 -0
  844. package/dist/store/__tests__/checkpoint-integrity.test.js +112 -0
  845. package/dist/store/__tests__/checkpoint-integrity.test.js.map +1 -0
  846. package/dist/store/__tests__/checkpoint-versioning.test.d.ts +2 -0
  847. package/dist/store/__tests__/checkpoint-versioning.test.d.ts.map +1 -0
  848. package/dist/store/__tests__/checkpoint-versioning.test.js +151 -0
  849. package/dist/store/__tests__/checkpoint-versioning.test.js.map +1 -0
  850. package/dist/store/__tests__/schema-adoption.test.d.ts +2 -0
  851. package/dist/store/__tests__/schema-adoption.test.d.ts.map +1 -0
  852. package/dist/store/__tests__/schema-adoption.test.js +90 -0
  853. package/dist/store/__tests__/schema-adoption.test.js.map +1 -0
  854. package/dist/store/__tests__/schema.test.d.ts +2 -0
  855. package/dist/store/__tests__/schema.test.d.ts.map +1 -0
  856. package/dist/store/__tests__/schema.test.js +93 -0
  857. package/dist/store/__tests__/schema.test.js.map +1 -0
  858. package/dist/store/memory/disk.d.ts.map +1 -1
  859. package/dist/store/memory/disk.js +16 -16
  860. package/dist/store/memory/disk.js.map +1 -1
  861. package/dist/store/run/disk.d.ts +23 -0
  862. package/dist/store/run/disk.d.ts.map +1 -1
  863. package/dist/store/run/disk.js +148 -23
  864. package/dist/store/run/disk.js.map +1 -1
  865. package/dist/store/schema.d.ts +73 -0
  866. package/dist/store/schema.d.ts.map +1 -0
  867. package/dist/store/schema.js +103 -0
  868. package/dist/store/schema.js.map +1 -0
  869. package/dist/store/session/disk.d.ts.map +1 -1
  870. package/dist/store/session/disk.js +25 -13
  871. package/dist/store/session/disk.js.map +1 -1
  872. package/dist/store/task/__tests__/lookup-across-runs.test.d.ts +2 -0
  873. package/dist/store/task/__tests__/lookup-across-runs.test.d.ts.map +1 -0
  874. package/dist/store/task/__tests__/lookup-across-runs.test.js +60 -0
  875. package/dist/store/task/__tests__/lookup-across-runs.test.js.map +1 -0
  876. package/dist/store/task/disk.d.ts +18 -0
  877. package/dist/store/task/disk.d.ts.map +1 -1
  878. package/dist/store/task/disk.js +61 -16
  879. package/dist/store/task/disk.js.map +1 -1
  880. package/dist/store/thread/disk.d.ts.map +1 -1
  881. package/dist/store/thread/disk.js +20 -11
  882. package/dist/store/thread/disk.js.map +1 -1
  883. package/dist/streaming/coalesce.d.ts +1 -1
  884. package/dist/streaming/coalesce.js +1 -1
  885. package/dist/telemetry/__tests__/latency-instruments.test.d.ts +2 -0
  886. package/dist/telemetry/__tests__/latency-instruments.test.d.ts.map +1 -0
  887. package/dist/telemetry/__tests__/latency-instruments.test.js +82 -0
  888. package/dist/telemetry/__tests__/latency-instruments.test.js.map +1 -0
  889. package/dist/telemetry/__tests__/metrics.test.d.ts +2 -0
  890. package/dist/telemetry/__tests__/metrics.test.d.ts.map +1 -0
  891. package/dist/telemetry/__tests__/metrics.test.js +112 -0
  892. package/dist/telemetry/__tests__/metrics.test.js.map +1 -0
  893. package/dist/telemetry/__tests__/span-hierarchy.test.d.ts +2 -0
  894. package/dist/telemetry/__tests__/span-hierarchy.test.d.ts.map +1 -0
  895. package/dist/telemetry/__tests__/span-hierarchy.test.js +84 -0
  896. package/dist/telemetry/__tests__/span-hierarchy.test.js.map +1 -0
  897. package/dist/telemetry/attributes.d.ts +44 -0
  898. package/dist/telemetry/attributes.d.ts.map +1 -1
  899. package/dist/telemetry/attributes.js +80 -0
  900. package/dist/telemetry/attributes.js.map +1 -1
  901. package/dist/telemetry/metrics.d.ts +41 -0
  902. package/dist/telemetry/metrics.d.ts.map +1 -0
  903. package/dist/telemetry/metrics.js +160 -0
  904. package/dist/telemetry/metrics.js.map +1 -0
  905. package/dist/test-setup.d.ts +3 -3
  906. package/dist/test-setup.js +3 -3
  907. package/dist/test-support/paths.d.ts +14 -0
  908. package/dist/test-support/paths.d.ts.map +1 -0
  909. package/dist/test-support/paths.js +16 -0
  910. package/dist/test-support/paths.js.map +1 -0
  911. package/dist/tools/__tests__/path-containment.test.d.ts +2 -0
  912. package/dist/tools/__tests__/path-containment.test.d.ts.map +1 -0
  913. package/dist/tools/__tests__/path-containment.test.js +133 -0
  914. package/dist/tools/__tests__/path-containment.test.js.map +1 -0
  915. package/dist/tools/__tests__/posix-path.test.d.ts +2 -0
  916. package/dist/tools/__tests__/posix-path.test.d.ts.map +1 -0
  917. package/dist/tools/__tests__/posix-path.test.js +67 -0
  918. package/dist/tools/__tests__/posix-path.test.js.map +1 -0
  919. package/dist/tools/__tests__/sandboxed-search.test.d.ts +2 -0
  920. package/dist/tools/__tests__/sandboxed-search.test.d.ts.map +1 -0
  921. package/dist/tools/__tests__/sandboxed-search.test.js +114 -0
  922. package/dist/tools/__tests__/sandboxed-search.test.js.map +1 -0
  923. package/dist/tools/builtins/__tests__/computer-use.test.js +12 -2
  924. package/dist/tools/builtins/__tests__/computer-use.test.js.map +1 -1
  925. package/dist/tools/builtins/__tests__/edit-commits-atomically.test.d.ts +2 -0
  926. package/dist/tools/builtins/__tests__/edit-commits-atomically.test.d.ts.map +1 -0
  927. package/dist/tools/builtins/__tests__/edit-commits-atomically.test.js +78 -0
  928. package/dist/tools/builtins/__tests__/edit-commits-atomically.test.js.map +1 -0
  929. package/dist/tools/builtins/__tests__/edit.test.js +52 -17
  930. package/dist/tools/builtins/__tests__/edit.test.js.map +1 -1
  931. package/dist/tools/builtins/__tests__/payload-budget.test.js +16 -30
  932. package/dist/tools/builtins/__tests__/payload-budget.test.js.map +1 -1
  933. package/dist/tools/builtins/__tests__/read-file.test.js +23 -1
  934. package/dist/tools/builtins/__tests__/read-file.test.js.map +1 -1
  935. package/dist/tools/builtins/__tests__/stale-file-refusal.test.d.ts +2 -0
  936. package/dist/tools/builtins/__tests__/stale-file-refusal.test.d.ts.map +1 -0
  937. package/dist/tools/builtins/__tests__/stale-file-refusal.test.js +187 -0
  938. package/dist/tools/builtins/__tests__/stale-file-refusal.test.js.map +1 -0
  939. package/dist/tools/builtins/__tests__/write-file.test.js +13 -37
  940. package/dist/tools/builtins/__tests__/write-file.test.js.map +1 -1
  941. package/dist/tools/builtins/atomic-write-file.d.ts +1 -1
  942. package/dist/tools/builtins/atomic-write-file.d.ts.map +1 -1
  943. package/dist/tools/builtins/atomic-write-file.js +31 -2
  944. package/dist/tools/builtins/atomic-write-file.js.map +1 -1
  945. package/dist/tools/builtins/bash.d.ts.map +1 -1
  946. package/dist/tools/builtins/bash.js +33 -4
  947. package/dist/tools/builtins/bash.js.map +1 -1
  948. package/dist/tools/builtins/computer-use.d.ts +22 -22
  949. package/dist/tools/builtins/computer-use.d.ts.map +1 -1
  950. package/dist/tools/builtins/computer-use.js +7 -1
  951. package/dist/tools/builtins/computer-use.js.map +1 -1
  952. package/dist/tools/builtins/content-fingerprint.d.ts +23 -0
  953. package/dist/tools/builtins/content-fingerprint.d.ts.map +1 -0
  954. package/dist/tools/builtins/content-fingerprint.js +30 -0
  955. package/dist/tools/builtins/content-fingerprint.js.map +1 -0
  956. package/dist/tools/builtins/edit.d.ts +5 -2
  957. package/dist/tools/builtins/edit.d.ts.map +1 -1
  958. package/dist/tools/builtins/edit.js +218 -57
  959. package/dist/tools/builtins/edit.js.map +1 -1
  960. package/dist/tools/builtins/glob.d.ts +1 -1
  961. package/dist/tools/builtins/glob.d.ts.map +1 -1
  962. package/dist/tools/builtins/glob.js +63 -6
  963. package/dist/tools/builtins/glob.js.map +1 -1
  964. package/dist/tools/builtins/grep.d.ts.map +1 -1
  965. package/dist/tools/builtins/grep.js +61 -8
  966. package/dist/tools/builtins/grep.js.map +1 -1
  967. package/dist/tools/builtins/index.js +6 -6
  968. package/dist/tools/builtins/index.js.map +1 -1
  969. package/dist/tools/builtins/ls.d.ts.map +1 -1
  970. package/dist/tools/builtins/ls.js +4 -2
  971. package/dist/tools/builtins/ls.js.map +1 -1
  972. package/dist/tools/builtins/read-file.d.ts +1 -1
  973. package/dist/tools/builtins/read-file.d.ts.map +1 -1
  974. package/dist/tools/builtins/read-file.js +43 -6
  975. package/dist/tools/builtins/read-file.js.map +1 -1
  976. package/dist/tools/builtins/write-file.d.ts +2 -1
  977. package/dist/tools/builtins/write-file.d.ts.map +1 -1
  978. package/dist/tools/builtins/write-file.js +47 -25
  979. package/dist/tools/builtins/write-file.js.map +1 -1
  980. package/dist/tools/coordinator/__tests__/agent.test.d.ts +1 -1
  981. package/dist/tools/coordinator/__tests__/agent.test.js +2 -2
  982. package/dist/tools/coordinator/__tests__/agent.test.js.map +1 -1
  983. package/dist/tools/coordinator/__tests__/ask-user-question.test.js +55 -0
  984. package/dist/tools/coordinator/__tests__/ask-user-question.test.js.map +1 -1
  985. package/dist/tools/coordinator/agent.d.ts +20 -9
  986. package/dist/tools/coordinator/agent.d.ts.map +1 -1
  987. package/dist/tools/coordinator/agent.js +2 -1
  988. package/dist/tools/coordinator/agent.js.map +1 -1
  989. package/dist/tools/coordinator/index.d.ts +20 -0
  990. package/dist/tools/coordinator/index.d.ts.map +1 -1
  991. package/dist/tools/coordinator/index.js +142 -36
  992. package/dist/tools/coordinator/index.js.map +1 -1
  993. package/dist/tools/defineTool.d.ts +16 -0
  994. package/dist/tools/defineTool.d.ts.map +1 -1
  995. package/dist/tools/defineTool.js +4 -0
  996. package/dist/tools/defineTool.js.map +1 -1
  997. package/dist/tools/glob-match.d.ts +18 -0
  998. package/dist/tools/glob-match.d.ts.map +1 -0
  999. package/dist/tools/glob-match.js +50 -0
  1000. package/dist/tools/glob-match.js.map +1 -0
  1001. package/dist/tools/paths.d.ts +20 -0
  1002. package/dist/tools/paths.d.ts.map +1 -0
  1003. package/dist/tools/paths.js +41 -0
  1004. package/dist/tools/paths.js.map +1 -0
  1005. package/dist/tools/posix-path.d.ts +24 -0
  1006. package/dist/tools/posix-path.d.ts.map +1 -0
  1007. package/dist/tools/posix-path.js +67 -0
  1008. package/dist/tools/posix-path.js.map +1 -0
  1009. package/dist/types/advisory/config.d.ts +21 -3
  1010. package/dist/types/advisory/config.d.ts.map +1 -1
  1011. package/dist/types/advisory/result.d.ts +12 -10
  1012. package/dist/types/advisory/result.d.ts.map +1 -1
  1013. package/dist/types/agent/base.d.ts +20 -2
  1014. package/dist/types/agent/base.d.ts.map +1 -1
  1015. package/dist/types/agent/factory.d.ts +15 -9
  1016. package/dist/types/agent/factory.d.ts.map +1 -1
  1017. package/dist/types/agent/gateway.d.ts +18 -0
  1018. package/dist/types/agent/gateway.d.ts.map +1 -1
  1019. package/dist/types/agent/manager.d.ts +19 -0
  1020. package/dist/types/agent/manager.d.ts.map +1 -1
  1021. package/dist/types/agent/reactive.d.ts +48 -0
  1022. package/dist/types/agent/reactive.d.ts.map +1 -1
  1023. package/dist/types/agent/router.d.ts +11 -0
  1024. package/dist/types/agent/router.d.ts.map +1 -1
  1025. package/dist/types/agent/supervisor.d.ts +2 -2
  1026. package/dist/types/agent/task.d.ts +24 -0
  1027. package/dist/types/agent/task.d.ts.map +1 -1
  1028. package/dist/types/bidi/index.d.ts +140 -0
  1029. package/dist/types/bidi/index.d.ts.map +1 -0
  1030. package/dist/types/bidi/index.js +2 -0
  1031. package/dist/types/bidi/index.js.map +1 -0
  1032. package/dist/types/common/__tests__/numeric-correctness.test.d.ts +2 -0
  1033. package/dist/types/common/__tests__/numeric-correctness.test.d.ts.map +1 -0
  1034. package/dist/types/common/__tests__/numeric-correctness.test.js +108 -0
  1035. package/dist/types/common/__tests__/numeric-correctness.test.js.map +1 -0
  1036. package/dist/types/common/index.d.ts +1 -1
  1037. package/dist/types/common/index.d.ts.map +1 -1
  1038. package/dist/types/common/index.js +15 -4
  1039. package/dist/types/common/index.js.map +1 -1
  1040. package/dist/types/connector/mcp.d.ts +29 -0
  1041. package/dist/types/connector/mcp.d.ts.map +1 -1
  1042. package/dist/types/errors/__tests__/catalog.test.d.ts +2 -0
  1043. package/dist/types/errors/__tests__/catalog.test.d.ts.map +1 -0
  1044. package/dist/types/errors/__tests__/catalog.test.js +106 -0
  1045. package/dist/types/errors/__tests__/catalog.test.js.map +1 -0
  1046. package/dist/types/errors/__tests__/errors.test.d.ts +2 -0
  1047. package/dist/types/errors/__tests__/errors.test.d.ts.map +1 -0
  1048. package/dist/types/errors/__tests__/errors.test.js +104 -0
  1049. package/dist/types/errors/__tests__/errors.test.js.map +1 -0
  1050. package/dist/types/errors/catalog.d.ts +83 -0
  1051. package/dist/types/errors/catalog.d.ts.map +1 -0
  1052. package/dist/types/errors/catalog.js +148 -0
  1053. package/dist/types/errors/catalog.js.map +1 -0
  1054. package/dist/types/errors/index.d.ts +73 -0
  1055. package/dist/types/errors/index.d.ts.map +1 -0
  1056. package/dist/types/errors/index.js +70 -0
  1057. package/dist/types/errors/index.js.map +1 -0
  1058. package/dist/types/guardrail/index.d.ts +57 -0
  1059. package/dist/types/guardrail/index.d.ts.map +1 -0
  1060. package/dist/types/guardrail/index.js +2 -0
  1061. package/dist/types/guardrail/index.js.map +1 -0
  1062. package/dist/types/hitl/index.d.ts +97 -14
  1063. package/dist/types/hitl/index.d.ts.map +1 -1
  1064. package/dist/types/hitl/index.js.map +1 -1
  1065. package/dist/types/ids/index.d.ts +2 -2
  1066. package/dist/types/message/content.d.ts +22 -0
  1067. package/dist/types/message/content.d.ts.map +1 -0
  1068. package/dist/types/message/content.js +49 -0
  1069. package/dist/types/message/content.js.map +1 -0
  1070. package/dist/types/message/index.d.ts +193 -8
  1071. package/dist/types/message/index.d.ts.map +1 -1
  1072. package/dist/types/message/index.js +19 -4
  1073. package/dist/types/message/index.js.map +1 -1
  1074. package/dist/types/plugin/index.d.ts +78 -3
  1075. package/dist/types/plugin/index.d.ts.map +1 -1
  1076. package/dist/types/plugin/index.js +0 -1
  1077. package/dist/types/plugin/index.js.map +1 -1
  1078. package/dist/types/provider/__tests__/cause-chain.test.d.ts +2 -0
  1079. package/dist/types/provider/__tests__/cause-chain.test.d.ts.map +1 -0
  1080. package/dist/types/provider/__tests__/cause-chain.test.js +108 -0
  1081. package/dist/types/provider/__tests__/cause-chain.test.js.map +1 -0
  1082. package/dist/types/provider/__tests__/declared-retryable.test.d.ts +2 -0
  1083. package/dist/types/provider/__tests__/declared-retryable.test.d.ts.map +1 -0
  1084. package/dist/types/provider/__tests__/declared-retryable.test.js +70 -0
  1085. package/dist/types/provider/__tests__/declared-retryable.test.js.map +1 -0
  1086. package/dist/types/provider/__tests__/overflow-classification.test.d.ts +2 -0
  1087. package/dist/types/provider/__tests__/overflow-classification.test.d.ts.map +1 -0
  1088. package/dist/types/provider/__tests__/overflow-classification.test.js +80 -0
  1089. package/dist/types/provider/__tests__/overflow-classification.test.js.map +1 -0
  1090. package/dist/types/provider/chat.d.ts +27 -1
  1091. package/dist/types/provider/chat.d.ts.map +1 -1
  1092. package/dist/types/provider/config.d.ts +83 -2
  1093. package/dist/types/provider/config.d.ts.map +1 -1
  1094. package/dist/types/provider/errors.d.ts +102 -0
  1095. package/dist/types/provider/errors.d.ts.map +1 -0
  1096. package/dist/types/provider/errors.js +393 -0
  1097. package/dist/types/provider/errors.js.map +1 -0
  1098. package/dist/types/provider/index.d.ts +3 -2
  1099. package/dist/types/provider/index.d.ts.map +1 -1
  1100. package/dist/types/provider/stream.d.ts +59 -3
  1101. package/dist/types/provider/stream.d.ts.map +1 -1
  1102. package/dist/types/rag/embedding.d.ts +11 -2
  1103. package/dist/types/rag/embedding.d.ts.map +1 -1
  1104. package/dist/types/run/__tests__/step.test.d.ts +2 -0
  1105. package/dist/types/run/__tests__/step.test.d.ts.map +1 -0
  1106. package/dist/types/run/__tests__/step.test.js +107 -0
  1107. package/dist/types/run/__tests__/step.test.js.map +1 -0
  1108. package/dist/types/run/answer-review.d.ts +46 -0
  1109. package/dist/types/run/answer-review.d.ts.map +1 -0
  1110. package/dist/types/run/answer-review.js +2 -0
  1111. package/dist/types/run/answer-review.js.map +1 -0
  1112. package/dist/types/run/config.d.ts +33 -0
  1113. package/dist/types/run/config.d.ts.map +1 -1
  1114. package/dist/types/run/derive-status.d.ts +29 -0
  1115. package/dist/types/run/derive-status.d.ts.map +1 -0
  1116. package/dist/types/run/derive-status.js +49 -0
  1117. package/dist/types/run/derive-status.js.map +1 -0
  1118. package/dist/types/run/entity.d.ts +16 -0
  1119. package/dist/types/run/entity.d.ts.map +1 -1
  1120. package/dist/types/run/events.d.ts +228 -4
  1121. package/dist/types/run/events.d.ts.map +1 -1
  1122. package/dist/types/run/events.js +7 -0
  1123. package/dist/types/run/events.js.map +1 -1
  1124. package/dist/types/run/index.d.ts +5 -0
  1125. package/dist/types/run/index.d.ts.map +1 -1
  1126. package/dist/types/run/index.js +3 -0
  1127. package/dist/types/run/index.js.map +1 -1
  1128. package/dist/types/run/memory-promotion.d.ts +90 -0
  1129. package/dist/types/run/memory-promotion.d.ts.map +1 -0
  1130. package/dist/types/run/memory-promotion.js +38 -0
  1131. package/dist/types/run/memory-promotion.js.map +1 -0
  1132. package/dist/types/run/prepare-step.d.ts +100 -0
  1133. package/dist/types/run/prepare-step.d.ts.map +1 -0
  1134. package/dist/types/run/prepare-step.js +2 -0
  1135. package/dist/types/run/prepare-step.js.map +1 -0
  1136. package/dist/types/run/state.d.ts +85 -0
  1137. package/dist/types/run/state.d.ts.map +1 -0
  1138. package/dist/types/run/state.js +33 -0
  1139. package/dist/types/run/state.js.map +1 -0
  1140. package/dist/types/run/step.d.ts +77 -0
  1141. package/dist/types/run/step.d.ts.map +1 -0
  1142. package/dist/types/run/step.js +26 -0
  1143. package/dist/types/run/step.js.map +1 -0
  1144. package/dist/types/run/stop-reason.d.ts +31 -3
  1145. package/dist/types/run/stop-reason.d.ts.map +1 -1
  1146. package/dist/types/sandbox/index.d.ts +82 -10
  1147. package/dist/types/sandbox/index.d.ts.map +1 -1
  1148. package/dist/types/sandbox/index.js +13 -1
  1149. package/dist/types/sandbox/index.js.map +1 -1
  1150. package/dist/types/structured-output/index.d.ts +6 -5
  1151. package/dist/types/structured-output/index.d.ts.map +1 -1
  1152. package/dist/types/thread/entity.d.ts +2 -3
  1153. package/dist/types/thread/entity.d.ts.map +1 -1
  1154. package/dist/types/tool/index.d.ts +210 -2
  1155. package/dist/types/tool/index.d.ts.map +1 -1
  1156. package/dist/types/tool/index.js +1 -1
  1157. package/dist/types/tool/index.js.map +1 -1
  1158. package/dist/types/tool/repair.d.ts +49 -0
  1159. package/dist/types/tool/repair.d.ts.map +1 -0
  1160. package/dist/types/tool/repair.js +2 -0
  1161. package/dist/types/tool/repair.js.map +1 -0
  1162. package/dist/types/toolset/index.d.ts +2 -5
  1163. package/dist/types/toolset/index.d.ts.map +1 -1
  1164. package/dist/utils/__tests__/atomic-write.test.d.ts +2 -0
  1165. package/dist/utils/__tests__/atomic-write.test.d.ts.map +1 -0
  1166. package/dist/utils/__tests__/atomic-write.test.js +91 -0
  1167. package/dist/utils/__tests__/atomic-write.test.js.map +1 -0
  1168. package/dist/utils/__tests__/shell-compress.test.d.ts +2 -0
  1169. package/dist/utils/__tests__/shell-compress.test.d.ts.map +1 -0
  1170. package/dist/utils/__tests__/shell-compress.test.js +41 -0
  1171. package/dist/utils/__tests__/shell-compress.test.js.map +1 -0
  1172. package/dist/utils/atomic-write.d.ts +10 -0
  1173. package/dist/utils/atomic-write.d.ts.map +1 -0
  1174. package/dist/utils/atomic-write.js +83 -0
  1175. package/dist/utils/atomic-write.js.map +1 -0
  1176. package/dist/utils/shell-compress.d.ts.map +1 -1
  1177. package/dist/utils/shell-compress.js +12 -1
  1178. package/dist/utils/shell-compress.js.map +1 -1
  1179. package/dist/verification/presets.d.ts +6 -3
  1180. package/dist/verification/presets.d.ts.map +1 -1
  1181. package/dist/verification/presets.js +6 -3
  1182. package/dist/verification/presets.js.map +1 -1
  1183. package/package.json +3 -3
  1184. package/src/__tests__/default-path-conformance.test.ts +306 -0
  1185. package/src/__tests__/shipped-defaults.test.ts +111 -0
  1186. package/src/advisory/__tests__/budget-enforcement.test.ts +208 -0
  1187. package/src/advisory/__tests__/structured-response.test.ts +128 -0
  1188. package/src/advisory/budget.ts +27 -0
  1189. package/src/advisory/context.ts +19 -0
  1190. package/src/advisory/executor.test.ts +12 -8
  1191. package/src/advisory/executor.ts +37 -25
  1192. package/src/advisory/index.ts +2 -0
  1193. package/src/advisory/parse.ts +63 -0
  1194. package/src/agents/AbstractAgent.ts +82 -0
  1195. package/src/agents/PipelineAgent.ts +19 -0
  1196. package/src/agents/ReactiveAgent.ts +47 -0
  1197. package/src/agents/RouterAgent.ts +32 -2
  1198. package/src/agents/SupervisorAgent.ts +31 -1
  1199. package/src/agents/__tests__/idempotency-key.test.ts +177 -0
  1200. package/src/agents/__tests__/invocation-lock.test.ts +154 -0
  1201. package/src/agents/__tests__/reachability.test.ts +224 -0
  1202. package/src/agents/__tests__/supervisor-ledger.test.ts +1 -1
  1203. package/src/agents/index.ts +1 -1
  1204. package/src/agents/lock.ts +0 -2
  1205. package/src/bridge/a2a/late-events.test.ts +84 -0
  1206. package/src/bridge/a2a/mapper.test.ts +1 -1
  1207. package/src/bridge/a2a/mapper.ts +70 -5
  1208. package/src/bridge/a2a/message.ts +5 -1
  1209. package/src/bridge/sse/late-events.test.ts +182 -0
  1210. package/src/bridge/sse/mapper.ts +109 -0
  1211. package/src/compaction/__tests__/cleared-result-recovery.test.ts +118 -0
  1212. package/src/compaction/__tests__/context-window.test.ts +77 -0
  1213. package/src/compaction/__tests__/dangling.test.ts +16 -6
  1214. package/src/compaction/__tests__/lossiness.test.ts +187 -0
  1215. package/src/compaction/__tests__/state-across-resume.test.ts +99 -0
  1216. package/src/compaction/__tests__/tool-result-editing.test.ts +213 -0
  1217. package/src/compaction/__tests__/trim-opens-on-user.test.ts +118 -0
  1218. package/src/compaction/__tests__/verifier-model.test.ts +83 -0
  1219. package/src/compaction/context-window.ts +107 -0
  1220. package/src/compaction/dangling.ts +48 -1
  1221. package/src/compaction/extractor.ts +56 -1
  1222. package/src/compaction/index.ts +16 -0
  1223. package/src/compaction/manager.ts +53 -8
  1224. package/src/compaction/managers/structured.ts +7 -6
  1225. package/src/compaction/retention.ts +89 -0
  1226. package/src/compaction/serializer.ts +42 -11
  1227. package/src/compaction/tool-result-editing.ts +229 -0
  1228. package/src/compaction/types.ts +10 -0
  1229. package/src/compaction/verifier.ts +24 -1
  1230. package/src/compaction/wire.ts +91 -0
  1231. package/src/config/runtime.ts +63 -19
  1232. package/src/connector/builtins/http.test.ts +13 -0
  1233. package/src/connector/builtins/http.ts +15 -1
  1234. package/src/connector/mcp/__tests__/discovery-policy.test.ts +133 -0
  1235. package/src/connector/mcp/__tests__/list-pagination.test.ts +98 -0
  1236. package/src/connector/mcp/__tests__/policy.test.ts +100 -0
  1237. package/src/connector/mcp/__tests__/protocol-negotiation.test.ts +105 -0
  1238. package/src/connector/mcp/__tests__/schema-fidelity.test.ts +250 -0
  1239. package/src/connector/mcp/__tests__/structured-result.test.ts +143 -0
  1240. package/src/connector/mcp/adapter.ts +306 -19
  1241. package/src/connector/mcp/client.test.ts +159 -0
  1242. package/src/connector/mcp/client.ts +160 -13
  1243. package/src/connector/mcp/discovery.ts +74 -5
  1244. package/src/connector/mcp/http-sse.ts +16 -1
  1245. package/src/connector/mcp/index.ts +4 -0
  1246. package/src/connector/mcp/policy.ts +134 -0
  1247. package/src/connector/mcp/schema-refs.ts +126 -0
  1248. package/src/constants/agent/index.ts +3 -0
  1249. package/src/constants/compaction/index.ts +1 -1
  1250. package/src/constants/continuation.ts +4 -4
  1251. package/src/constants/mcp/index.ts +34 -0
  1252. package/src/constants/plugin/index.ts +24 -2
  1253. package/src/constants/sandbox/index.ts +6 -5
  1254. package/src/constants/telemetry/index.ts +8 -0
  1255. package/src/constants/tools/index.ts +20 -0
  1256. package/src/contracts/api.ts +40 -0
  1257. package/src/contracts/run-status.ts +43 -0
  1258. package/src/eval/__tests__/case-deadline.test.ts +147 -0
  1259. package/src/eval/__tests__/end-to-end.test.ts +259 -0
  1260. package/src/eval/__tests__/harness-honesty.test.ts +99 -0
  1261. package/src/eval/__tests__/harness.test.ts +249 -0
  1262. package/src/eval/__tests__/judge.test.ts +306 -0
  1263. package/src/eval/__tests__/scorer-gates.test.ts +156 -0
  1264. package/src/eval/experiment.ts +335 -0
  1265. package/src/eval/from-run.ts +48 -0
  1266. package/src/eval/index.ts +21 -0
  1267. package/src/eval/judge.ts +240 -0
  1268. package/src/eval/scorers.ts +169 -0
  1269. package/src/eval/types.ts +157 -0
  1270. package/src/execution/local.test.ts +46 -0
  1271. package/src/execution/local.ts +6 -1
  1272. package/src/gateway/__tests__/list-survives-eviction.test.ts +124 -0
  1273. package/src/gateway/local.ts +117 -3
  1274. package/src/manager/agent/__tests__/dispose-cancels.test.ts +104 -0
  1275. package/src/manager/agent/__tests__/lifecycle.test.ts +297 -0
  1276. package/src/manager/agent/lifecycle.ts +127 -7
  1277. package/src/manager/run/persistence.ts +132 -1
  1278. package/src/plugin/__tests__/enable-contributions.test.ts +3 -3
  1279. package/src/plugin/__tests__/hook-ordering.test.ts +252 -0
  1280. package/src/plugin/__tests__/install-time-refusal.test.ts +68 -0
  1281. package/src/plugin/__tests__/lifecycle.test.ts +95 -73
  1282. package/src/plugin/lifecycle.ts +76 -22
  1283. package/src/plugin/loader.ts +37 -1
  1284. package/src/probe/registry.test.ts +49 -6
  1285. package/src/probe/registry.ts +21 -1
  1286. package/src/provider/__tests__/mock-script.test.ts +179 -0
  1287. package/src/provider/__tests__/registry.test.ts +1 -1
  1288. package/src/provider/__tests__/retry-visibility.test.ts +160 -0
  1289. package/src/provider/__tests__/retry.test.ts +296 -0
  1290. package/src/provider/capabilities.ts +4 -0
  1291. package/src/provider/collect.test.ts +1 -1
  1292. package/src/provider/collect.ts +1 -1
  1293. package/src/provider/index.ts +8 -0
  1294. package/src/provider/mock-register.ts +5 -2
  1295. package/src/provider/mock.ts +117 -34
  1296. package/src/provider/retry.ts +199 -0
  1297. package/src/public-runtime.ts +118 -7
  1298. package/src/public-types.ts +5 -1
  1299. package/src/rag/__tests__/retrieval-math.test.ts +54 -0
  1300. package/src/rag/chunking.ts +32 -1
  1301. package/src/rag/embedding.test.ts +65 -10
  1302. package/src/rag/embedding.ts +26 -5
  1303. package/src/rag/index.ts +1 -1
  1304. package/src/rag/retriever.ts +92 -21
  1305. package/src/rag/vector-store.test.ts +2 -2
  1306. package/src/registry/ManagedRegistry.test.ts +1 -1
  1307. package/src/registry/Registry.test.ts +1 -1
  1308. package/src/registry/connector/definitions.test.ts +1 -1
  1309. package/src/registry/tool/__tests__/schema.test.ts +208 -0
  1310. package/src/registry/tool/__tests__/tool-name-validation.test.ts +88 -0
  1311. package/src/registry/tool/execute.ts +104 -22
  1312. package/src/registry/tool/schema.ts +80 -0
  1313. package/src/registry/toolset/catalog.test.ts +0 -1
  1314. package/src/registry/toolset/catalog.ts +0 -1
  1315. package/src/run/reporter.ts +84 -0
  1316. package/src/runtime/bidi/__tests__/session.test.ts +232 -0
  1317. package/src/runtime/bidi/index.ts +4 -0
  1318. package/src/runtime/bidi/mock.ts +90 -0
  1319. package/src/runtime/bidi/session.ts +205 -0
  1320. package/src/runtime/decision/parser.test.ts +46 -0
  1321. package/src/runtime/decision/parser.ts +8 -1
  1322. package/src/runtime/query/__tests__/answer-review.test.ts +172 -0
  1323. package/src/runtime/query/__tests__/capability-negotiation.test.ts +88 -123
  1324. package/src/runtime/query/__tests__/checkpoint-store.test.ts +13 -50
  1325. package/src/runtime/query/__tests__/checkpoint.test.ts +2 -10
  1326. package/src/runtime/query/__tests__/citations.test.ts +111 -0
  1327. package/src/runtime/query/__tests__/content-budget.test.ts +83 -0
  1328. package/src/runtime/query/__tests__/context.test.ts +3 -2
  1329. package/src/runtime/query/__tests__/deferred-tools.test.ts +23 -148
  1330. package/src/runtime/query/__tests__/delegation-resume.test.ts +159 -0
  1331. package/src/runtime/query/__tests__/document-attachments.test.ts +125 -0
  1332. package/src/runtime/query/__tests__/durable-park-and-trace.test.ts +245 -0
  1333. package/src/runtime/query/__tests__/durable-question-park.test.ts +305 -0
  1334. package/src/runtime/query/__tests__/durable-run-state.test.ts +194 -0
  1335. package/src/runtime/query/__tests__/executor-plugin-hooks.test.ts +24 -20
  1336. package/src/runtime/query/__tests__/finish-reason-vs-tool-calls.test.ts +206 -0
  1337. package/src/runtime/query/__tests__/grant-cannot-overrule-the-gate.test.ts +115 -0
  1338. package/src/runtime/query/__tests__/guardrails-e2e.test.ts +164 -0
  1339. package/src/runtime/query/__tests__/guardrails.test.ts +236 -0
  1340. package/src/runtime/query/__tests__/hook-model-visibility.test.ts +143 -0
  1341. package/src/runtime/query/__tests__/long-document-flow.test.ts +9 -2
  1342. package/src/runtime/query/__tests__/memory-promotion.test.ts +148 -0
  1343. package/src/runtime/query/__tests__/orphan-task-turn-end.test.ts +5 -31
  1344. package/src/runtime/query/__tests__/overflow-relief.test.ts +139 -0
  1345. package/src/runtime/query/__tests__/partial-batch-resume.test.ts +264 -0
  1346. package/src/runtime/query/__tests__/plugin-hooks.test.ts +0 -1
  1347. package/src/runtime/query/__tests__/prepare-step-chain.test.ts +127 -0
  1348. package/src/runtime/query/__tests__/prepare-step.test.ts +233 -0
  1349. package/src/runtime/query/__tests__/probe-veto-is-error.test.ts +145 -0
  1350. package/src/runtime/query/__tests__/prompt.test.ts +1 -1
  1351. package/src/runtime/query/__tests__/provider-fault-pauses.test.ts +104 -0
  1352. package/src/runtime/query/__tests__/reasoning-stream.test.ts +177 -0
  1353. package/src/runtime/query/__tests__/recoverable-settle.test.ts +145 -0
  1354. package/src/runtime/query/__tests__/resume-budget.test.ts +158 -0
  1355. package/src/runtime/query/__tests__/resume-pending.test.ts +273 -0
  1356. package/src/runtime/query/__tests__/rich-content-budget-wiring.test.ts +109 -0
  1357. package/src/runtime/query/__tests__/stop-condition.test.ts +265 -0
  1358. package/src/runtime/query/__tests__/structured-output.test.ts +268 -0
  1359. package/src/runtime/query/__tests__/structured-run-failure.test.ts +144 -0
  1360. package/src/runtime/query/__tests__/terminal-tool.test.ts +148 -0
  1361. package/src/runtime/query/__tests__/tool-grants.test.ts +102 -0
  1362. package/src/runtime/query/__tests__/tool-output-budget.test.ts +0 -0
  1363. package/src/runtime/query/__tests__/tool-pause.test.ts +209 -0
  1364. package/src/runtime/query/__tests__/tool-progress.test.ts +154 -0
  1365. package/src/runtime/query/__tests__/tool-repair-retry.test.ts +255 -0
  1366. package/src/runtime/query/__tests__/tool-result-wire.test.ts +135 -0
  1367. package/src/runtime/query/__tests__/tool-timeout.test.ts +230 -0
  1368. package/src/runtime/query/__tests__/trace-parenting.test.ts +128 -0
  1369. package/src/runtime/query/__tests__/wiring-seams.test.ts +288 -0
  1370. package/src/runtime/query/checkpoint.ts +242 -10
  1371. package/src/runtime/query/events.ts +2 -2
  1372. package/src/runtime/query/executor.ts +856 -40
  1373. package/src/runtime/query/guard.ts +26 -1
  1374. package/src/runtime/query/guardrail-presets.ts +124 -0
  1375. package/src/runtime/query/guardrails.ts +144 -0
  1376. package/src/runtime/query/index.ts +759 -12
  1377. package/src/runtime/query/iteration/__tests__/cancel-settles-turn.test.ts +177 -0
  1378. package/src/runtime/query/iteration/index.ts +674 -31
  1379. package/src/runtime/query/iteration/phases/advisory.test.ts +4 -1
  1380. package/src/runtime/query/iteration/phases/advisory.ts +14 -2
  1381. package/src/runtime/query/iteration/phases/checkpoint.ts +2 -2
  1382. package/src/runtime/query/iteration/phases/compaction-safe-cut.test.ts +3 -1
  1383. package/src/runtime/query/iteration/phases/compaction.ts +329 -64
  1384. package/src/runtime/query/iteration/phases/context-measurement.test.ts +196 -0
  1385. package/src/runtime/query/iteration/phases/context.ts +155 -2
  1386. package/src/runtime/query/iteration/phases/hitl-answer-question.test.ts +3 -1
  1387. package/src/runtime/query/iteration/phases/overflow-escalation.test.ts +167 -0
  1388. package/src/runtime/query/iteration/phases/plan.ts +10 -2
  1389. package/src/runtime/query/iteration/phases/retained-messages.test.ts +226 -0
  1390. package/src/runtime/query/iteration/phases/tool-review-denials.test.ts +270 -0
  1391. package/src/runtime/query/iteration/phases/tool-review.ts +140 -51
  1392. package/src/runtime/query/iteration/phases/working-memory-compaction.test.ts +21 -9
  1393. package/src/runtime/query/iteration/stream-turn.ts +285 -15
  1394. package/src/runtime/query/plugin-hooks.ts +6 -2
  1395. package/src/runtime/query/prompt.ts +26 -1
  1396. package/src/runtime/query/question-park.ts +120 -0
  1397. package/src/runtime/query/result.ts +64 -0
  1398. package/src/runtime/query/resume-pending.ts +394 -0
  1399. package/src/runtime/query/run-state.ts +124 -0
  1400. package/src/runtime/query/tool-grants.ts +83 -0
  1401. package/src/runtime/query/tool-output-budget.ts +183 -0
  1402. package/src/runtime/query/tool-pause.ts +119 -0
  1403. package/src/runtime/query/tooling.ts +23 -1
  1404. package/src/sandbox/__tests__/isolation.test.ts +164 -0
  1405. package/src/sandbox/__tests__/output-truncation.test.ts +106 -0
  1406. package/src/sandbox/__tests__/resource-limits.test.ts +106 -0
  1407. package/src/sandbox/factory.ts +1 -1
  1408. package/src/sandbox/index.ts +2 -0
  1409. package/src/sandbox/isolation.ts +72 -0
  1410. package/src/sandbox/provider/local.ts +173 -74
  1411. package/src/session/__tests__/integration/spawn-rollback.test.ts +1 -1
  1412. package/src/session/handoff/broadcast.ts +3 -3
  1413. package/src/session/migration/__tests__/filesystem.test.ts +26 -19
  1414. package/src/session/migration/filesystem.ts +7 -12
  1415. package/src/session/migration/marker.ts +5 -9
  1416. package/src/session/retention/disk-backend.ts +5 -11
  1417. package/src/session/workspace/__tests__/git-worktree.test.ts +6 -2
  1418. package/src/session/workspace/__tests__/shared-run.test.ts +18 -0
  1419. package/src/session/workspace/shared-run.ts +7 -1
  1420. package/src/skills/__tests__/frontmatter.test.ts +135 -0
  1421. package/src/skills/loader.ts +47 -3
  1422. package/src/store/__tests__/checkpoint-integrity.test.ts +134 -0
  1423. package/src/store/__tests__/checkpoint-versioning.test.ts +194 -0
  1424. package/src/store/__tests__/schema-adoption.test.ts +118 -0
  1425. package/src/store/__tests__/schema.test.ts +119 -0
  1426. package/src/store/memory/disk.ts +17 -16
  1427. package/src/store/run/disk.ts +169 -22
  1428. package/src/store/schema.ts +135 -0
  1429. package/src/store/session/disk.ts +30 -21
  1430. package/src/store/task/__tests__/lookup-across-runs.test.ts +77 -0
  1431. package/src/store/task/disk.ts +59 -15
  1432. package/src/store/thread/disk.ts +21 -10
  1433. package/src/streaming/coalesce.ts +1 -1
  1434. package/src/telemetry/__tests__/latency-instruments.test.ts +120 -0
  1435. package/src/telemetry/__tests__/metrics.test.ts +160 -0
  1436. package/src/telemetry/__tests__/span-hierarchy.test.ts +94 -0
  1437. package/src/telemetry/attributes.ts +109 -0
  1438. package/src/telemetry/metrics.ts +190 -0
  1439. package/src/test-setup.ts +3 -3
  1440. package/src/test-support/paths.ts +17 -0
  1441. package/src/tools/__tests__/path-containment.test.ts +167 -0
  1442. package/src/tools/__tests__/posix-path.test.ts +83 -0
  1443. package/src/tools/__tests__/sandboxed-search.test.ts +140 -0
  1444. package/src/tools/builtins/__tests__/computer-use.test.ts +15 -2
  1445. package/src/tools/builtins/__tests__/edit-commits-atomically.test.ts +103 -0
  1446. package/src/tools/builtins/__tests__/edit.test.ts +80 -17
  1447. package/src/tools/builtins/__tests__/payload-budget.test.ts +20 -40
  1448. package/src/tools/builtins/__tests__/read-file.test.ts +29 -1
  1449. package/src/tools/builtins/__tests__/stale-file-refusal.test.ts +258 -0
  1450. package/src/tools/builtins/__tests__/write-file.test.ts +13 -52
  1451. package/src/tools/builtins/atomic-write-file.ts +30 -2
  1452. package/src/tools/builtins/bash.ts +34 -4
  1453. package/src/tools/builtins/computer-use.ts +7 -1
  1454. package/src/tools/builtins/content-fingerprint.ts +33 -0
  1455. package/src/tools/builtins/edit.ts +258 -60
  1456. package/src/tools/builtins/glob.ts +71 -6
  1457. package/src/tools/builtins/grep.ts +82 -8
  1458. package/src/tools/builtins/index.ts +6 -6
  1459. package/src/tools/builtins/ls.ts +4 -2
  1460. package/src/tools/builtins/read-file.ts +45 -6
  1461. package/src/tools/builtins/write-file.ts +52 -25
  1462. package/src/tools/coordinator/__tests__/agent.test.ts +2 -2
  1463. package/src/tools/coordinator/__tests__/ask-user-question.test.ts +68 -0
  1464. package/src/tools/coordinator/agent.ts +23 -10
  1465. package/src/tools/coordinator/index.ts +213 -72
  1466. package/src/tools/defineTool.ts +20 -0
  1467. package/src/tools/glob-match.ts +50 -0
  1468. package/src/tools/paths.ts +44 -0
  1469. package/src/tools/posix-path.ts +73 -0
  1470. package/src/types/advisory/config.ts +21 -3
  1471. package/src/types/advisory/result.ts +12 -7
  1472. package/src/types/agent/base.ts +22 -2
  1473. package/src/types/agent/factory.ts +15 -9
  1474. package/src/types/agent/gateway.ts +20 -0
  1475. package/src/types/agent/manager.ts +19 -0
  1476. package/src/types/agent/reactive.ts +50 -0
  1477. package/src/types/agent/router.ts +11 -0
  1478. package/src/types/agent/supervisor.ts +2 -2
  1479. package/src/types/agent/task.ts +26 -0
  1480. package/src/types/bidi/index.ts +119 -0
  1481. package/src/types/common/__tests__/numeric-correctness.test.ts +123 -0
  1482. package/src/types/common/index.ts +16 -4
  1483. package/src/types/computer-use/index.ts +1 -1
  1484. package/src/types/connector/mcp.ts +29 -0
  1485. package/src/types/errors/__tests__/catalog.test.ts +130 -0
  1486. package/src/types/errors/__tests__/errors.test.ts +118 -0
  1487. package/src/types/errors/catalog.ts +211 -0
  1488. package/src/types/errors/index.ts +121 -0
  1489. package/src/types/guardrail/index.ts +62 -0
  1490. package/src/types/hitl/index.ts +102 -20
  1491. package/src/types/ids/index.ts +2 -2
  1492. package/src/types/message/content.ts +50 -0
  1493. package/src/types/message/index.ts +210 -9
  1494. package/src/types/plugin/index.ts +82 -2
  1495. package/src/types/provider/__tests__/cause-chain.test.ts +132 -0
  1496. package/src/types/provider/__tests__/declared-retryable.test.ts +85 -0
  1497. package/src/types/provider/__tests__/overflow-classification.test.ts +113 -0
  1498. package/src/types/provider/chat.ts +29 -1
  1499. package/src/types/provider/config.ts +83 -2
  1500. package/src/types/provider/errors.ts +472 -0
  1501. package/src/types/provider/index.ts +5 -0
  1502. package/src/types/provider/stream.ts +63 -3
  1503. package/src/types/rag/embedding.ts +11 -2
  1504. package/src/types/run/__tests__/step.test.ts +123 -0
  1505. package/src/types/run/answer-review.ts +51 -0
  1506. package/src/types/run/config.ts +35 -0
  1507. package/src/types/run/derive-status.ts +62 -0
  1508. package/src/types/run/entity.ts +18 -0
  1509. package/src/types/run/events.ts +230 -3
  1510. package/src/types/run/index.ts +5 -0
  1511. package/src/types/run/memory-promotion.ts +112 -0
  1512. package/src/types/run/prepare-step.ts +109 -0
  1513. package/src/types/run/state.ts +111 -0
  1514. package/src/types/run/step.ts +95 -0
  1515. package/src/types/run/stop-reason.ts +29 -1
  1516. package/src/types/sandbox/index.ts +93 -12
  1517. package/src/types/structured-output/index.ts +6 -5
  1518. package/src/types/thread/entity.ts +2 -3
  1519. package/src/types/tool/index.ts +221 -2
  1520. package/src/types/tool/repair.ts +54 -0
  1521. package/src/types/toolset/index.ts +2 -6
  1522. package/src/utils/__tests__/atomic-write.test.ts +108 -0
  1523. package/src/utils/__tests__/shell-compress.test.ts +49 -0
  1524. package/src/utils/atomic-write.ts +85 -0
  1525. package/src/utils/shell-compress.ts +12 -1
  1526. package/src/verification/presets.ts +6 -3
@@ -0,0 +1,130 @@
1
+ import { describe, expect, it } from 'vitest'
2
+
3
+ import { ProviderError } from '../../provider/errors.js'
4
+ import { DEFAULT_ERROR_RULES, explainError, factsOf, readHint, withHint } from '../catalog.js'
5
+ import { NamzuError } from '../index.js'
6
+
7
+ /**
8
+ * A failure surfaced as whatever prose the vendor SDK happened to write:
9
+ * no stable id to grep in logs, no instruction on what to change, and no
10
+ * growth point — a newly-observed failure shape could only be given
11
+ * curated copy by editing the classifier itself.
12
+ *
13
+ * Classification and remediation are separate jobs. The first is
14
+ * structural and belongs at the boundary; the second is editorial and
15
+ * belongs in a list a human appends to. `DoctorCheckResult` already
16
+ * carried `message` and `remediation` as separate fields — `namzu doctor`
17
+ * was simply the only surface that got either.
18
+ */
19
+
20
+ const providerError = (code: string, status?: number) =>
21
+ new ProviderError({
22
+ code: code as never,
23
+ message: 'the vendor wrote this',
24
+ providerId: 'test',
25
+ ...(status !== undefined ? { status } : {}),
26
+ })
27
+
28
+ describe('explaining a failure', () => {
29
+ it('gives a stale key an id and something to do about it', () => {
30
+ const explanation = explainError(providerError('auth', 401))
31
+
32
+ expect(explanation?.id).toBe('provider.auth')
33
+ expect(explanation?.hint).toMatch(/API key/)
34
+ // Not the vendor's sentence: the point is copy an operator can act
35
+ // on, keyed by an id they can grep for.
36
+ expect(explanation?.message).not.toContain('the vendor wrote this')
37
+ })
38
+
39
+ it('separates a permission failure from an authentication one', () => {
40
+ // The provider codes collapse 401 and 403, but the two call for
41
+ // different actions and the status still tells them apart.
42
+ expect(explainError(providerError('auth', 403))?.id).toBe('provider.permission')
43
+ expect(explainError(providerError('auth', 401))?.id).toBe('provider.auth')
44
+ })
45
+
46
+ it('recognises the failures an operator hits first', () => {
47
+ expect(explainError(providerError('rate_limit', 429))?.id).toBe('provider.rate_limit')
48
+ expect(explainError(providerError('context_length_exceeded'))?.id).toBe(
49
+ 'provider.context_overflow',
50
+ )
51
+ expect(explainError(providerError('overloaded', 529))?.id).toBe('provider.unavailable')
52
+ expect(explainError(providerError('network'))?.id).toBe('provider.network')
53
+ expect(explainError(providerError('not_found', 404))?.id).toBe('provider.model_not_found')
54
+ })
55
+
56
+ it('says nothing rather than inventing advice', () => {
57
+ // A generic fallback would send the reader somewhere specific and
58
+ // wrong, which is worse than admitting the failure is unfamiliar.
59
+ expect(explainError(new Error('something nobody has characterised'))).toBeNull()
60
+ })
61
+
62
+ it('matches on structure, not on vendor prose', () => {
63
+ // Vendor copy changes without warning and differs per SDK version,
64
+ // so a rule keyed to it silently stops matching.
65
+ const reworded = providerError('rate_limit', 429)
66
+ Object.defineProperty(reworded, 'message', { value: 'completely different wording' })
67
+ expect(explainError(reworded)?.id).toBe('provider.rate_limit')
68
+ })
69
+
70
+ it('takes the first matching rule, so a rule can be as specific as it likes', () => {
71
+ const ids = DEFAULT_ERROR_RULES.map((rule) => rule.id)
72
+ expect(ids.indexOf('provider.permission')).toBeLessThan(ids.indexOf('provider.auth'))
73
+ })
74
+ })
75
+
76
+ describe('a hint attached where the failure was raised', () => {
77
+ it('wins over a rule matched on a status code', () => {
78
+ // Code that raised the failure knows more about it than a generic
79
+ // rule ever will — a container that has not been built, a daemon
80
+ // that is not running.
81
+ const err = withHint(providerError('rate_limit', 429), 'the sandbox worker is not running')
82
+ const explanation = explainError(err)
83
+
84
+ expect(explanation?.id).toBe('hint.from_throw_site')
85
+ expect(explanation?.hint).toBe('the sandbox worker is not running')
86
+ })
87
+
88
+ it('survives being read back off a plain throwable', () => {
89
+ expect(readHint(withHint(new Error('boom'), 'check the socket path'))).toBe(
90
+ 'check the socket path',
91
+ )
92
+ })
93
+
94
+ it('does not change the message or the type', () => {
95
+ // Baking remediation into the message is what made it impossible to
96
+ // separate again — a surface could not render one without the other.
97
+ const original = new NamzuError({ code: 'storage_error', message: 'write failed' })
98
+ const hinted = withHint(original, 'the run directory is not writable')
99
+
100
+ expect(hinted).toBe(original)
101
+ expect(hinted.message).toBe('write failed')
102
+ expect(hinted instanceof NamzuError).toBe(true)
103
+ })
104
+
105
+ it('is not enumerable, so it cannot leak into a serialized error', () => {
106
+ const err = withHint(new Error('boom'), 'a hint')
107
+ expect(Object.keys(err)).not.toContain('hint')
108
+ })
109
+
110
+ it('ignores an empty or non-string hint', () => {
111
+ expect(readHint(withHint(new Error('boom'), ''))).toBeUndefined()
112
+ expect(readHint({ hint: 42 })).toBeUndefined()
113
+ expect(readHint(null)).toBeUndefined()
114
+ })
115
+ })
116
+
117
+ describe('the facts a rule matches on', () => {
118
+ it('reads a provider classification', () => {
119
+ const facts = factsOf(providerError('rate_limit', 429))
120
+ expect(facts).toMatchObject({ code: 'rate_limit', status: 429 })
121
+ })
122
+
123
+ it('reads a namzu code', () => {
124
+ expect(factsOf(new NamzuError({ code: 'tool_error', message: 'x' })).code).toBe('tool_error')
125
+ })
126
+
127
+ it('still produces facts for something that was never an Error', () => {
128
+ expect(factsOf('just a string').message).toBe('just a string')
129
+ })
130
+ })
@@ -0,0 +1,118 @@
1
+ import { describe, expect, it } from 'vitest'
2
+
3
+ import { ProviderError } from '../../provider/errors.js'
4
+ import { NamzuError, isNamzuError, toPlatformError } from '../index.js'
5
+
6
+ /**
7
+ * `PlatformError` was declared and never constructed — a shape nothing
8
+ * produced and nothing consumed — while the runtime threw bare `Error`
9
+ * everywhere. A caller catching a failure from `query()` could not tell
10
+ * "the model rate-limited us" from "the run was configured wrong" from
11
+ * "that checkpoint does not exist". Matching on message text was the only
12
+ * recourse, and message text is not an interface.
13
+ */
14
+
15
+ describe('NamzuError', () => {
16
+ it('is an Error, so code that only knows about Error still works', () => {
17
+ const err = new NamzuError({ code: 'invalid_config', message: 'no model' })
18
+ expect(err).toBeInstanceOf(Error)
19
+ expect(err.message).toBe('no model')
20
+ expect(err.stack).toBeDefined()
21
+ })
22
+
23
+ it('preserves the cause chain', () => {
24
+ const root = new Error('ENOENT')
25
+ const err = new NamzuError({ code: 'storage_error', message: 'write failed', cause: root })
26
+ expect(err.cause).toBe(root)
27
+ })
28
+
29
+ it('defaults `retryable` per code, and lets a caller override it', () => {
30
+ expect(new NamzuError({ code: 'invalid_config', message: 'x' }).retryable).toBe(false)
31
+ expect(new NamzuError({ code: 'storage_error', message: 'x' }).retryable).toBe(true)
32
+ expect(
33
+ new NamzuError({ code: 'invalid_config', message: 'x', retryable: true }).retryable,
34
+ ).toBe(true)
35
+ })
36
+
37
+ it('narrows through `isNamzuError`', () => {
38
+ expect(isNamzuError(new NamzuError({ code: 'unknown', message: 'x' }))).toBe(true)
39
+ expect(isNamzuError(new Error('x'))).toBe(false)
40
+ expect(isNamzuError('x')).toBe(false)
41
+ })
42
+ })
43
+
44
+ describe('toPlatformError', () => {
45
+ it('gives a host ONE shape regardless of what was thrown', () => {
46
+ // Which is the entire point: without this, "handle errors from the
47
+ // SDK" means writing the same instanceof ladder in every caller.
48
+ for (const thrown of [
49
+ new NamzuError({ code: 'plugin_error', message: 'a' }),
50
+ new ProviderError({ code: 'rate_limit', message: 'b' }),
51
+ new Error('c'),
52
+ 'not even an error',
53
+ ]) {
54
+ const platform = toPlatformError(thrown)
55
+ expect(typeof platform.code).toBe('string')
56
+ expect(typeof platform.message).toBe('string')
57
+ expect(typeof platform.retryable).toBe('boolean')
58
+ }
59
+ })
60
+
61
+ it('carries a NamzuError through unchanged', () => {
62
+ const err = new NamzuError({
63
+ code: 'not_found',
64
+ message: 'Checkpoint not found: cp_1',
65
+ details: { checkpointId: 'cp_1' },
66
+ })
67
+ expect(toPlatformError(err)).toEqual({
68
+ code: 'not_found',
69
+ message: 'Checkpoint not found: cp_1',
70
+ details: { checkpointId: 'cp_1' },
71
+ retryable: false,
72
+ })
73
+ })
74
+
75
+ it('keeps a ProviderError`s classification instead of recomputing it', () => {
76
+ // The provider taxonomy already knows things this one does not —
77
+ // which status codes back off, what the server asked for.
78
+ const err = new ProviderError({
79
+ code: 'rate_limit',
80
+ message: 'slow down',
81
+ providerId: 'anthropic',
82
+ status: 429,
83
+ retryAfterMs: 3_000,
84
+ })
85
+
86
+ expect(toPlatformError(err)).toEqual({
87
+ code: 'provider_error',
88
+ message: 'slow down',
89
+ details: {
90
+ providerCode: 'rate_limit',
91
+ providerId: 'anthropic',
92
+ status: 429,
93
+ retryAfterMs: 3_000,
94
+ },
95
+ retryable: true,
96
+ })
97
+ })
98
+
99
+ it('does not claim a non-retryable provider failure is retryable', () => {
100
+ const err = new ProviderError({ code: 'auth', message: 'bad key' })
101
+ expect(toPlatformError(err).retryable).toBe(false)
102
+ })
103
+
104
+ it('reports a plain Error honestly as `unknown` rather than guessing', () => {
105
+ expect(toPlatformError(new Error('something broke'))).toEqual({
106
+ code: 'unknown',
107
+ message: 'something broke',
108
+ retryable: false,
109
+ })
110
+ })
111
+
112
+ it('does not lose a thrown non-Error', () => {
113
+ // Rare, and usually a bug elsewhere — but dropping it is worse than
114
+ // reporting it as-is.
115
+ expect(toPlatformError({ weird: true }).message).toBe('[object Object]')
116
+ expect(toPlatformError(undefined).message).toBe('undefined')
117
+ })
118
+ })
@@ -0,0 +1,211 @@
1
+ import { ProviderError } from '../provider/errors.js'
2
+ import { isNamzuError } from './index.js'
3
+
4
+ /**
5
+ * An ordered rule layer between a caught throwable and the operator.
6
+ *
7
+ * A failure surfaced as whatever prose the vendor SDK happened to write:
8
+ * no stable id to grep for in logs, and no instruction on what to change.
9
+ * There was also no growth point — a newly-observed failure shape could
10
+ * only be given curated copy by editing the classifier itself, which mixes
11
+ * "what kind of failure is this" with "what should a person do about it".
12
+ *
13
+ * The two are separate jobs. Classification is structural and belongs at
14
+ * the boundary; remediation is editorial and belongs in a list a human
15
+ * appends to. `DoctorCheckResult` already proves the pattern is native
16
+ * here: it carries `message` and `remediation` as separate fields, and
17
+ * `namzu doctor` has been the only surface that got either.
18
+ *
19
+ * Rules match on STRUCTURAL signals — code, status, error name, an
20
+ * explicit `hint` own-property from the throw site — never on volatile
21
+ * vendor prose, which changes without warning and differs per SDK version.
22
+ */
23
+
24
+ /** What a rule knows about a failure, flattened for matching. */
25
+ export interface ErrorFacts {
26
+ /** namzu or provider code, whichever classification produced one. */
27
+ readonly code?: string
28
+ readonly status?: number
29
+ /** Constructor name, for a throwable neither classifier recognised. */
30
+ readonly name?: string
31
+ readonly message: string
32
+ /** Server-directed backoff, when one was parsed. */
33
+ readonly retryAfterMs?: number
34
+ /** A hint the throw site attached directly. See {@link readHint}. */
35
+ readonly hint?: string
36
+ }
37
+
38
+ export interface ErrorCatalogRule {
39
+ /**
40
+ * Stable id. Appears in logs and in operator output, so it is greppable
41
+ * and can be linked to. Never renamed once shipped — a rule whose
42
+ * meaning changes gets a new id.
43
+ */
44
+ readonly id: string
45
+ readonly when: (facts: ErrorFacts) => boolean
46
+ /** What happened, in an operator's terms rather than the vendor's. */
47
+ readonly message: string
48
+ /** What to change. Separate from `message` so a surface can override it. */
49
+ readonly hint: string
50
+ }
51
+
52
+ export interface ErrorExplanation {
53
+ readonly id: string
54
+ readonly message: string
55
+ readonly hint: string
56
+ }
57
+
58
+ /**
59
+ * A hint attached at the throw site.
60
+ *
61
+ * Infrastructure code knows things the classifier cannot infer — that a
62
+ * daemon is not running, that a socket path is wrong — and had no channel
63
+ * to say so except by baking prose into the message, where it cannot be
64
+ * separated from the failure again. An own-property survives every
65
+ * `instanceof` check and every rethrow, and rules can pass it through
66
+ * under a stable id.
67
+ */
68
+ export function readHint(err: unknown): string | undefined {
69
+ if (typeof err !== 'object' || err === null) return undefined
70
+ const hint = (err as { hint?: unknown }).hint
71
+ return typeof hint === 'string' && hint.length > 0 ? hint : undefined
72
+ }
73
+
74
+ /** Attach a hint to a throwable without changing its message or type. */
75
+ export function withHint<E>(err: E, hint: string): E {
76
+ if (typeof err === 'object' && err !== null) {
77
+ Object.defineProperty(err, 'hint', { value: hint, enumerable: false, configurable: true })
78
+ }
79
+ return err
80
+ }
81
+
82
+ /** Flatten a throwable into the shape rules match on. */
83
+ export function factsOf(err: unknown): ErrorFacts {
84
+ const hint = readHint(err)
85
+ const message = err instanceof Error ? err.message : String(err)
86
+
87
+ if (err instanceof ProviderError) {
88
+ return {
89
+ code: err.code,
90
+ message,
91
+ name: err.name,
92
+ ...(err.status !== undefined ? { status: err.status } : {}),
93
+ ...(err.retryAfterMs !== undefined ? { retryAfterMs: err.retryAfterMs } : {}),
94
+ ...(hint !== undefined ? { hint } : {}),
95
+ }
96
+ }
97
+
98
+ if (isNamzuError(err)) {
99
+ const status = err.details?.status
100
+ return {
101
+ code: err.code,
102
+ message,
103
+ name: err.name,
104
+ ...(typeof status === 'number' ? { status } : {}),
105
+ ...(hint !== undefined ? { hint } : {}),
106
+ }
107
+ }
108
+
109
+ return {
110
+ message,
111
+ ...(err instanceof Error ? { name: err.name } : {}),
112
+ ...(hint !== undefined ? { hint } : {}),
113
+ }
114
+ }
115
+
116
+ /**
117
+ * The seed rules.
118
+ *
119
+ * Ordered, first match wins — so a rule may be as specific as it likes
120
+ * without having to exclude everything below it. Three to start, chosen
121
+ * because they are the failures an operator hits first and the ones where
122
+ * the vendor's own words help least.
123
+ */
124
+ export const DEFAULT_ERROR_RULES: readonly ErrorCatalogRule[] = [
125
+ {
126
+ id: 'hint.from_throw_site',
127
+ // Highest precedence on purpose: code that raised the failure knows
128
+ // more about it than a rule matching on a status code ever will.
129
+ when: (facts) => facts.hint !== undefined,
130
+ message: '',
131
+ hint: '',
132
+ },
133
+ {
134
+ // Before the generic auth rule: the codes collapse 401 and 403 into
135
+ // one, but the two call for different actions and the status still
136
+ // separates them when the provider sent it.
137
+ id: 'provider.permission',
138
+ when: (facts) => facts.status === 403,
139
+ message: 'The credentials are valid but not permitted to use this model.',
140
+ hint: 'The key authenticated, so this is an entitlement rather than a secret problem: check the model name and whether the account has access to it.',
141
+ },
142
+ {
143
+ id: 'provider.auth',
144
+ when: (facts) => facts.code === 'auth' || facts.status === 401,
145
+ message: 'The provider rejected the credentials for this run.',
146
+ hint: 'Check that the API key is set, is not expired, and belongs to the account the model is billed to. Retrying will not help until it changes.',
147
+ },
148
+ {
149
+ id: 'provider.rate_limit',
150
+ when: (facts) => facts.code === 'rate_limit' || facts.status === 429,
151
+ message: 'The provider is rate limiting this run.',
152
+ hint: 'Automatic retries with backoff have already been exhausted. Lower concurrency, or wait for the quota window to reset before resuming.',
153
+ },
154
+ {
155
+ id: 'provider.context_overflow',
156
+ when: (facts) => facts.code === 'context_length_exceeded',
157
+ message: 'The prompt is larger than the model can accept.',
158
+ hint: 'Compaction ran and could not make enough room. Lower `compactionConfig.triggerThreshold`, reduce `keepRecentMessages`, or cap large tool outputs so history stops growing faster than it can be shed.',
159
+ },
160
+ {
161
+ id: 'provider.unavailable',
162
+ when: (facts) =>
163
+ facts.code === 'server_error' ||
164
+ facts.code === 'overloaded' ||
165
+ (facts.status !== undefined && facts.status >= 500),
166
+ message: 'The provider is failing on its own side.',
167
+ hint: 'Nothing in the run is wrong. Resume from the last checkpoint once the provider recovers.',
168
+ },
169
+ {
170
+ id: 'provider.network',
171
+ when: (facts) => facts.code === 'network' || facts.code === 'timeout',
172
+ message: 'The provider could not be reached.',
173
+ hint: 'Check network reachability and any proxy or firewall between this host and the provider endpoint, then resume from the last checkpoint.',
174
+ },
175
+ {
176
+ id: 'provider.model_not_found',
177
+ when: (facts) => facts.code === 'not_found' || facts.status === 404,
178
+ message: 'The provider does not recognise the model or endpoint requested.',
179
+ hint: "Check `runConfig.model` against the provider's current model list — a model id that was valid can be retired, and a deployment-scoped provider needs the deployment name rather than the base model name.",
180
+ },
181
+ {
182
+ id: 'provider.content_filter',
183
+ when: (facts) => facts.code === 'content_filter',
184
+ message: 'The provider refused the request on safety grounds.',
185
+ hint: "This is the provider's policy decision, not a namzu one, and resending the same prompt cannot change it. The refusal usually names the category it triggered.",
186
+ },
187
+ ]
188
+
189
+ /**
190
+ * Explain a failure, or return `null` when no rule claims it.
191
+ *
192
+ * `null` rather than a generic fallback: inventing advice for a failure
193
+ * nobody has characterised is worse than saying nothing, because it sends
194
+ * the reader somewhere specific and wrong.
195
+ */
196
+ export function explainError(
197
+ err: unknown,
198
+ rules: readonly ErrorCatalogRule[] = DEFAULT_ERROR_RULES,
199
+ ): ErrorExplanation | null {
200
+ const facts = factsOf(err)
201
+ for (const rule of rules) {
202
+ if (!rule.when(facts)) continue
203
+ // The throw-site rule carries no copy of its own — it exists to give
204
+ // a hint written at the raise point precedence over a generic one.
205
+ if (rule.id === 'hint.from_throw_site') {
206
+ return { id: rule.id, message: facts.message, hint: facts.hint ?? '' }
207
+ }
208
+ return { id: rule.id, message: rule.message, hint: rule.hint }
209
+ }
210
+ return null
211
+ }
@@ -0,0 +1,121 @@
1
+ import type { PlatformError } from '../common/index.js'
2
+ import { ProviderError } from '../provider/errors.js'
3
+
4
+ /**
5
+ * What went wrong, at the granularity a HOST actually branches on.
6
+ *
7
+ * `PlatformError` was declared and never constructed — a shape nothing
8
+ * produced and nothing consumed. Meanwhile the runtime threw bare `Error`
9
+ * everywhere, so a caller catching a failure from `query()` could not tell
10
+ * "the model rate-limited us" from "the run was configured wrong" from
11
+ * "that checkpoint does not exist". The only recourse was matching on
12
+ * message text, which is not an interface.
13
+ *
14
+ * The union stays small on purpose: each member exists because a caller
15
+ * does something DIFFERENT about it. `provider_error` carries the finer
16
+ * {@link ProviderErrorCode} in `details` rather than being fanned out
17
+ * here, because that taxonomy answers the runtime's questions, not a
18
+ * host's.
19
+ */
20
+ export type NamzuErrorCode =
21
+ /** The run was set up wrong — missing model, contradictory options. Retrying cannot help. */
22
+ | 'invalid_config'
23
+ /** The upstream model call failed. `details.providerCode` narrows it. */
24
+ | 'provider_error'
25
+ /** A tool could not be executed or resolved. */
26
+ | 'tool_error'
27
+ /** A referenced checkpoint, run or emergency dump does not exist. */
28
+ | 'not_found'
29
+ /** A plugin hook failed or refused. */
30
+ | 'plugin_error'
31
+ /** The provider or environment cannot do what the run requires. */
32
+ | 'capability_unavailable'
33
+ /** Persistence (checkpoint store, run store, workspace) failed. */
34
+ | 'storage_error'
35
+ /** Unclassified. Treated as non-retryable. */
36
+ | 'unknown'
37
+
38
+ export interface NamzuErrorInit {
39
+ readonly code: NamzuErrorCode
40
+ readonly message: string
41
+ readonly details?: Record<string, unknown>
42
+ /** Defaults per code; pass explicitly to override. */
43
+ readonly retryable?: boolean
44
+ readonly cause?: unknown
45
+ }
46
+
47
+ /** Codes for which the same operation may succeed if repeated. */
48
+ const RETRYABLE: ReadonlySet<NamzuErrorCode> = new Set<NamzuErrorCode>(['storage_error'])
49
+
50
+ /**
51
+ * A runtime failure a host can branch on.
52
+ *
53
+ * Implements {@link PlatformError} so the declared shape finally has a
54
+ * producer, and extends `Error` so it still behaves like one everywhere
55
+ * that only knows about `Error` — stack, `instanceof`, `cause`.
56
+ */
57
+ export class NamzuError extends Error implements PlatformError {
58
+ readonly code: NamzuErrorCode
59
+ readonly details: Record<string, unknown> | undefined
60
+ readonly retryable: boolean
61
+
62
+ constructor(init: NamzuErrorInit) {
63
+ super(init.message, init.cause !== undefined ? { cause: init.cause } : undefined)
64
+ this.name = 'NamzuError'
65
+ this.code = init.code
66
+ this.details = init.details
67
+ this.retryable = init.retryable ?? RETRYABLE.has(init.code)
68
+ }
69
+ }
70
+
71
+ export function isNamzuError(err: unknown): err is NamzuError {
72
+ return err instanceof NamzuError
73
+ }
74
+
75
+ /**
76
+ * Normalize ANYTHING thrown into the declared shape.
77
+ *
78
+ * This is what makes `PlatformError` worth having: a host wraps one call
79
+ * and gets a consistent `{ code, message, details, retryable }` no matter
80
+ * what came out — a `NamzuError`, a `ProviderError`, a plain `Error` from
81
+ * a dependency, or a thrown string. Without it, "handle errors from the
82
+ * SDK" means writing the same defensive `instanceof` ladder in every
83
+ * caller.
84
+ *
85
+ * A `ProviderError` keeps its classification: its code lands in
86
+ * `details.providerCode` and its `retryable` verdict is preserved rather
87
+ * than recomputed, because that verdict already encodes what the provider
88
+ * taxonomy knows and this one does not.
89
+ */
90
+ export function toPlatformError(err: unknown): PlatformError {
91
+ if (isNamzuError(err)) {
92
+ return {
93
+ code: err.code,
94
+ message: err.message,
95
+ ...(err.details ? { details: err.details } : {}),
96
+ retryable: err.retryable,
97
+ }
98
+ }
99
+
100
+ if (err instanceof ProviderError) {
101
+ return {
102
+ code: 'provider_error',
103
+ message: err.message,
104
+ details: {
105
+ providerCode: err.code,
106
+ ...(err.providerId !== undefined ? { providerId: err.providerId } : {}),
107
+ ...(err.status !== undefined ? { status: err.status } : {}),
108
+ ...(err.retryAfterMs !== undefined ? { retryAfterMs: err.retryAfterMs } : {}),
109
+ },
110
+ retryable: err.retryable,
111
+ }
112
+ }
113
+
114
+ if (err instanceof Error) {
115
+ return { code: 'unknown', message: err.message, retryable: false }
116
+ }
117
+
118
+ // A thrown non-Error is rare and usually a bug elsewhere, but losing it
119
+ // entirely is worse than reporting it as-is.
120
+ return { code: 'unknown', message: String(err), retryable: false }
121
+ }
@@ -0,0 +1,62 @@
1
+ import type { RunId } from '../ids/index.js'
2
+ import type { Message } from '../message/index.js'
3
+
4
+ /**
5
+ * Guardrails inspect what goes INTO a run and what comes OUT of it.
6
+ *
7
+ * namzu had three good gates on tool calls — probe veto, `VerificationGate`,
8
+ * HITL review — and they all point the same way: they protect the world
9
+ * from the agent. Nothing protected the user from the agent's own output,
10
+ * and nothing looked at the prompt before the run started.
11
+ *
12
+ * The concrete failure: an agent reads a credential file, the read is
13
+ * allowed (it is a legitimate file), the secret enters context, and it is
14
+ * repeated in the final answer. Every existing gate is upstream of that
15
+ * and none of them fire.
16
+ */
17
+
18
+ export interface InputGuardrailContext {
19
+ readonly runId: RunId
20
+ /** The messages the run is about to start with. */
21
+ readonly messages: readonly Message[]
22
+ /** The assembled system prompt, when there is one. */
23
+ readonly systemPrompt?: string
24
+ }
25
+
26
+ export interface OutputGuardrailContext {
27
+ readonly runId: RunId
28
+ /** The run's final assistant text. */
29
+ readonly output: string
30
+ /** Full message history, for a guardrail that needs the conversation. */
31
+ readonly messages: readonly Message[]
32
+ }
33
+
34
+ /**
35
+ * What a guardrail decided.
36
+ *
37
+ * `rewrite` matters as much as `tripwire`: a PII policy usually wants to
38
+ * redact an account number, not throw the whole answer away. A gate that
39
+ * can only abort forces every redaction use case to be implemented
40
+ * somewhere else.
41
+ */
42
+ export type GuardrailVerdict =
43
+ | { readonly action: 'pass' }
44
+ | { readonly action: 'block'; readonly reason: string }
45
+ | { readonly action: 'rewrite'; readonly output: string; readonly reason?: string }
46
+
47
+ export type InputGuardrail = (
48
+ ctx: InputGuardrailContext,
49
+ ) => GuardrailVerdict | Promise<GuardrailVerdict>
50
+
51
+ export type OutputGuardrail = (
52
+ ctx: OutputGuardrailContext,
53
+ ) => GuardrailVerdict | Promise<GuardrailVerdict>
54
+
55
+ /** Convenience: a named guardrail, so a block can say which rule tripped. */
56
+ export interface NamedGuardrail<T> {
57
+ readonly name: string
58
+ readonly check: T
59
+ }
60
+
61
+ export type InputGuardrailSpec = InputGuardrail | NamedGuardrail<InputGuardrail>
62
+ export type OutputGuardrailSpec = OutputGuardrail | NamedGuardrail<OutputGuardrail>