@namzu/sdk 27.0.0 → 28.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1439) hide show
  1. package/CHANGELOG.md +1714 -0
  2. package/README.md +45 -42
  3. package/dist/advisory/executor.d.ts.map +1 -1
  4. package/dist/advisory/executor.js +14 -12
  5. package/dist/advisory/executor.js.map +1 -1
  6. package/dist/advisory/registry.d.ts +2 -2
  7. package/dist/advisory/registry.d.ts.map +1 -1
  8. package/dist/advisory/registry.js +2 -2
  9. package/dist/advisory/registry.js.map +1 -1
  10. package/dist/agents/AbstractAgent.d.ts +44 -2
  11. package/dist/agents/AbstractAgent.d.ts.map +1 -1
  12. package/dist/agents/AbstractAgent.js +62 -13
  13. package/dist/agents/AbstractAgent.js.map +1 -1
  14. package/dist/agents/PipelineAgent.d.ts +29 -1
  15. package/dist/agents/PipelineAgent.d.ts.map +1 -1
  16. package/dist/agents/PipelineAgent.js +33 -4
  17. package/dist/agents/PipelineAgent.js.map +1 -1
  18. package/dist/agents/ReactiveAgent.d.ts +2 -1
  19. package/dist/agents/ReactiveAgent.d.ts.map +1 -1
  20. package/dist/agents/ReactiveAgent.js +15 -5
  21. package/dist/agents/ReactiveAgent.js.map +1 -1
  22. package/dist/agents/RouterAgent.d.ts +2 -1
  23. package/dist/agents/RouterAgent.d.ts.map +1 -1
  24. package/dist/agents/RouterAgent.js +21 -13
  25. package/dist/agents/RouterAgent.js.map +1 -1
  26. package/dist/agents/SupervisorAgent.d.ts +3 -2
  27. package/dist/agents/SupervisorAgent.d.ts.map +1 -1
  28. package/dist/agents/SupervisorAgent.js +29 -14
  29. package/dist/agents/SupervisorAgent.js.map +1 -1
  30. package/dist/agents/handle.d.ts +85 -0
  31. package/dist/agents/handle.d.ts.map +1 -0
  32. package/dist/agents/handle.js +79 -0
  33. package/dist/agents/handle.js.map +1 -0
  34. package/dist/agents/runAgent.d.ts +10 -5
  35. package/dist/agents/runAgent.d.ts.map +1 -1
  36. package/dist/agents/runAgent.js +3 -2
  37. package/dist/agents/runAgent.js.map +1 -1
  38. package/dist/{verification → authorization}/gate.d.ts +4 -4
  39. package/dist/authorization/gate.d.ts.map +1 -0
  40. package/dist/{verification → authorization}/gate.js +31 -24
  41. package/dist/authorization/gate.js.map +1 -0
  42. package/dist/authorization/index.d.ts +6 -0
  43. package/dist/authorization/index.d.ts.map +1 -0
  44. package/dist/authorization/index.js +14 -0
  45. package/dist/authorization/index.js.map +1 -0
  46. package/dist/authorization/permission-presets.d.ts +119 -0
  47. package/dist/authorization/permission-presets.d.ts.map +1 -0
  48. package/dist/authorization/permission-presets.js +137 -0
  49. package/dist/authorization/permission-presets.js.map +1 -0
  50. package/dist/{verification → authorization}/presets.d.ts +3 -3
  51. package/dist/authorization/presets.d.ts.map +1 -0
  52. package/dist/{verification → authorization}/presets.js +12 -0
  53. package/dist/authorization/presets.js.map +1 -0
  54. package/dist/authorization/rules.d.ts +4 -0
  55. package/dist/authorization/rules.d.ts.map +1 -0
  56. package/dist/{verification → authorization}/rules.js +14 -1
  57. package/dist/authorization/rules.js.map +1 -0
  58. package/dist/bridge/a2a/client.d.ts +107 -0
  59. package/dist/bridge/a2a/client.d.ts.map +1 -0
  60. package/dist/bridge/a2a/client.js +275 -0
  61. package/dist/bridge/a2a/client.js.map +1 -0
  62. package/dist/bridge/a2a/mapper.d.ts.map +1 -1
  63. package/dist/bridge/a2a/mapper.js +16 -0
  64. package/dist/bridge/a2a/mapper.js.map +1 -1
  65. package/dist/bridge/acp/filesystem.d.ts +33 -0
  66. package/dist/bridge/acp/filesystem.d.ts.map +1 -0
  67. package/dist/bridge/acp/filesystem.js +30 -0
  68. package/dist/bridge/acp/filesystem.js.map +1 -0
  69. package/dist/bridge/acp/index.d.ts +8 -0
  70. package/dist/bridge/acp/index.d.ts.map +1 -0
  71. package/dist/bridge/acp/index.js +5 -0
  72. package/dist/bridge/acp/index.js.map +1 -0
  73. package/dist/bridge/acp/permission.d.ts +51 -0
  74. package/dist/bridge/acp/permission.d.ts.map +1 -0
  75. package/dist/bridge/acp/permission.js +37 -0
  76. package/dist/bridge/acp/permission.js.map +1 -0
  77. package/dist/bridge/acp/server.d.ts +163 -0
  78. package/dist/bridge/acp/server.d.ts.map +1 -0
  79. package/dist/bridge/acp/server.js +312 -0
  80. package/dist/bridge/acp/server.js.map +1 -0
  81. package/dist/bridge/acp/update.d.ts +13 -0
  82. package/dist/bridge/acp/update.d.ts.map +1 -0
  83. package/dist/bridge/acp/update.js +94 -0
  84. package/dist/bridge/acp/update.js.map +1 -0
  85. package/dist/bridge/mcp/connector/adapter.d.ts +2 -0
  86. package/dist/bridge/mcp/connector/adapter.d.ts.map +1 -1
  87. package/dist/bridge/mcp/connector/adapter.js +7 -3
  88. package/dist/bridge/mcp/connector/adapter.js.map +1 -1
  89. package/dist/bridge/sse/mapper.d.ts.map +1 -1
  90. package/dist/bridge/sse/mapper.js +27 -0
  91. package/dist/bridge/sse/mapper.js.map +1 -1
  92. package/dist/bus/breaker.d.ts.map +1 -1
  93. package/dist/bus/breaker.js +15 -10
  94. package/dist/bus/breaker.js.map +1 -1
  95. package/dist/bus/index.d.ts.map +1 -1
  96. package/dist/bus/index.js +10 -8
  97. package/dist/bus/index.js.map +1 -1
  98. package/dist/bus/lock.d.ts.map +1 -1
  99. package/dist/bus/lock.js +36 -19
  100. package/dist/bus/lock.js.map +1 -1
  101. package/dist/bus/ownership.d.ts.map +1 -1
  102. package/dist/bus/ownership.js +17 -9
  103. package/dist/bus/ownership.js.map +1 -1
  104. package/dist/compaction/context-window.d.ts +18 -2
  105. package/dist/compaction/context-window.d.ts.map +1 -1
  106. package/dist/compaction/context-window.js +15 -1
  107. package/dist/compaction/context-window.js.map +1 -1
  108. package/dist/compaction/index.d.ts +3 -0
  109. package/dist/compaction/index.d.ts.map +1 -1
  110. package/dist/compaction/index.js +4 -0
  111. package/dist/compaction/index.js.map +1 -1
  112. package/dist/compaction/manual.d.ts +58 -0
  113. package/dist/compaction/manual.d.ts.map +1 -0
  114. package/dist/compaction/manual.js +104 -0
  115. package/dist/compaction/manual.js.map +1 -0
  116. package/dist/compaction/plan.d.ts +92 -0
  117. package/dist/compaction/plan.d.ts.map +1 -0
  118. package/dist/compaction/plan.js +149 -0
  119. package/dist/compaction/plan.js.map +1 -0
  120. package/dist/compaction/summary.d.ts +23 -0
  121. package/dist/compaction/summary.d.ts.map +1 -0
  122. package/dist/compaction/summary.js +27 -0
  123. package/dist/compaction/summary.js.map +1 -0
  124. package/dist/compaction/verifier.js +2 -2
  125. package/dist/compaction/verifier.js.map +1 -1
  126. package/dist/config/registry.d.ts +104 -0
  127. package/dist/config/registry.d.ts.map +1 -0
  128. package/dist/config/registry.js +105 -0
  129. package/dist/config/registry.js.map +1 -0
  130. package/dist/config/runtime.d.ts +99 -28
  131. package/dist/config/runtime.d.ts.map +1 -1
  132. package/dist/config/runtime.js +27 -0
  133. package/dist/config/runtime.js.map +1 -1
  134. package/dist/connector/BaseConnector.d.ts +1 -1
  135. package/dist/connector/BaseConnector.d.ts.map +1 -1
  136. package/dist/connector/BaseConnector.js +8 -3
  137. package/dist/connector/BaseConnector.js.map +1 -1
  138. package/dist/connector/builtins/http.d.ts +1 -1
  139. package/dist/connector/builtins/http.d.ts.map +1 -1
  140. package/dist/connector/builtins/http.js +11 -2
  141. package/dist/connector/builtins/http.js.map +1 -1
  142. package/dist/connector/builtins/webhook.d.ts +1 -1
  143. package/dist/connector/builtins/webhook.d.ts.map +1 -1
  144. package/dist/connector/builtins/webhook.js +5 -2
  145. package/dist/connector/builtins/webhook.js.map +1 -1
  146. package/dist/connector/index.d.ts +4 -15
  147. package/dist/connector/index.d.ts.map +1 -1
  148. package/dist/connector/index.js +12 -12
  149. package/dist/connector/index.js.map +1 -1
  150. package/dist/connector/mcp/adapter.d.ts +30 -0
  151. package/dist/connector/mcp/adapter.d.ts.map +1 -1
  152. package/dist/connector/mcp/adapter.js +43 -1
  153. package/dist/connector/mcp/adapter.js.map +1 -1
  154. package/dist/connector/mcp/client.d.ts.map +1 -1
  155. package/dist/connector/mcp/client.js +31 -20
  156. package/dist/connector/mcp/client.js.map +1 -1
  157. package/dist/connector/mcp/discovery.d.ts.map +1 -1
  158. package/dist/connector/mcp/discovery.js +31 -20
  159. package/dist/connector/mcp/discovery.js.map +1 -1
  160. package/dist/connector/mcp/http-sse.d.ts +2 -1
  161. package/dist/connector/mcp/http-sse.d.ts.map +1 -1
  162. package/dist/connector/mcp/http-sse.js +9 -6
  163. package/dist/connector/mcp/http-sse.js.map +1 -1
  164. package/dist/connector/mcp/index.d.ts +2 -3
  165. package/dist/connector/mcp/index.d.ts.map +1 -1
  166. package/dist/connector/mcp/index.js +5 -4
  167. package/dist/connector/mcp/index.js.map +1 -1
  168. package/dist/connector/mcp/reconnect.d.ts +123 -0
  169. package/dist/connector/mcp/reconnect.d.ts.map +1 -0
  170. package/dist/connector/mcp/reconnect.js +121 -0
  171. package/dist/connector/mcp/reconnect.js.map +1 -0
  172. package/dist/connector/mcp/server/index.d.ts +28 -0
  173. package/dist/connector/mcp/server/index.d.ts.map +1 -0
  174. package/dist/connector/mcp/server/index.js +27 -0
  175. package/dist/connector/mcp/server/index.js.map +1 -0
  176. package/dist/connector/mcp/{server-stdio.d.ts → server/server-stdio.d.ts} +3 -2
  177. package/dist/connector/mcp/server/server-stdio.d.ts.map +1 -0
  178. package/dist/connector/mcp/{server-stdio.js → server/server-stdio.js} +4 -3
  179. package/dist/connector/mcp/server/server-stdio.js.map +1 -0
  180. package/dist/connector/mcp/{server.d.ts → server/server.d.ts} +5 -4
  181. package/dist/connector/mcp/server/server.d.ts.map +1 -0
  182. package/dist/connector/mcp/{server.js → server/server.js} +14 -9
  183. package/dist/connector/mcp/server/server.js.map +1 -0
  184. package/dist/connector/mcp/stdio.d.ts +2 -1
  185. package/dist/connector/mcp/stdio.d.ts.map +1 -1
  186. package/dist/connector/mcp/stdio.js +15 -7
  187. package/dist/connector/mcp/stdio.js.map +1 -1
  188. package/dist/connector/mcp/streamable-http.d.ts +2 -1
  189. package/dist/connector/mcp/streamable-http.d.ts.map +1 -1
  190. package/dist/connector/mcp/streamable-http.js +5 -4
  191. package/dist/connector/mcp/streamable-http.js.map +1 -1
  192. package/dist/{bridge/tools/connector → connector/tools}/adapter.d.ts +4 -4
  193. package/dist/connector/tools/adapter.d.ts.map +1 -0
  194. package/dist/{bridge/tools/connector → connector/tools}/adapter.js +1 -1
  195. package/dist/connector/tools/adapter.js.map +1 -0
  196. package/dist/{bridge/tools/connector → connector/tools}/definitions.d.ts +2 -2
  197. package/dist/connector/tools/definitions.d.ts.map +1 -0
  198. package/dist/{bridge/tools/connector → connector/tools}/definitions.js +2 -2
  199. package/dist/connector/tools/definitions.js.map +1 -0
  200. package/dist/connector/tools/index.d.ts.map +1 -0
  201. package/dist/connector/tools/index.js.map +1 -0
  202. package/dist/{bridge/tools/connector → connector/tools}/router.d.ts +4 -2
  203. package/dist/connector/tools/router.d.ts.map +1 -0
  204. package/dist/{bridge/tools/connector → connector/tools}/router.js +14 -7
  205. package/dist/connector/tools/router.js.map +1 -0
  206. package/dist/connector/web/guarded-fetch.d.ts +60 -0
  207. package/dist/connector/web/guarded-fetch.d.ts.map +1 -0
  208. package/dist/connector/web/guarded-fetch.js +233 -0
  209. package/dist/connector/web/guarded-fetch.js.map +1 -0
  210. package/dist/connector/web/index.d.ts +5 -0
  211. package/dist/connector/web/index.d.ts.map +1 -0
  212. package/dist/connector/web/index.js +7 -0
  213. package/dist/connector/web/index.js.map +1 -0
  214. package/dist/connector/web/types.d.ts +87 -0
  215. package/dist/connector/web/types.d.ts.map +1 -0
  216. package/dist/connector/web/types.js +25 -0
  217. package/dist/connector/web/types.js.map +1 -0
  218. package/dist/constants/acp/index.d.ts +97 -0
  219. package/dist/constants/acp/index.d.ts.map +1 -0
  220. package/dist/constants/acp/index.js +96 -0
  221. package/dist/constants/acp/index.js.map +1 -0
  222. package/dist/constants/authorization/index.d.ts.map +1 -0
  223. package/dist/constants/authorization/index.js.map +1 -0
  224. package/dist/constants/credential-env-keys.d.ts +36 -0
  225. package/dist/constants/credential-env-keys.d.ts.map +1 -0
  226. package/dist/constants/credential-env-keys.js +62 -0
  227. package/dist/constants/credential-env-keys.js.map +1 -0
  228. package/dist/constants/index.d.ts +3 -1
  229. package/dist/constants/index.d.ts.map +1 -1
  230. package/dist/constants/index.js +3 -1
  231. package/dist/constants/index.js.map +1 -1
  232. package/dist/constants/secret-patterns.d.ts +78 -0
  233. package/dist/constants/secret-patterns.d.ts.map +1 -0
  234. package/dist/constants/secret-patterns.js +99 -0
  235. package/dist/constants/secret-patterns.js.map +1 -0
  236. package/dist/constants/telemetry/index.d.ts +42 -0
  237. package/dist/constants/telemetry/index.d.ts.map +1 -1
  238. package/dist/constants/telemetry/index.js +87 -0
  239. package/dist/constants/telemetry/index.js.map +1 -1
  240. package/dist/contracts/a2a.d.ts +54 -54
  241. package/dist/contracts/api.d.ts +12 -1
  242. package/dist/contracts/api.d.ts.map +1 -1
  243. package/dist/contracts/schemas.d.ts +12 -12
  244. package/dist/deprecated-aliases.d.ts +80 -0
  245. package/dist/deprecated-aliases.d.ts.map +1 -0
  246. package/dist/deprecated-aliases.js +60 -0
  247. package/dist/deprecated-aliases.js.map +1 -0
  248. package/dist/eval/judge.js +2 -2
  249. package/dist/eval/judge.js.map +1 -1
  250. package/dist/execution/base.d.ts +1 -1
  251. package/dist/execution/base.d.ts.map +1 -1
  252. package/dist/execution/base.js +18 -7
  253. package/dist/execution/base.js.map +1 -1
  254. package/dist/execution/code-runtime/types.d.ts +114 -0
  255. package/dist/execution/code-runtime/types.d.ts.map +1 -0
  256. package/dist/execution/code-runtime/types.js +40 -0
  257. package/dist/execution/code-runtime/types.js.map +1 -0
  258. package/dist/execution/code-runtime/worker.d.ts +6 -0
  259. package/dist/execution/code-runtime/worker.d.ts.map +1 -0
  260. package/dist/execution/code-runtime/worker.js +248 -0
  261. package/dist/execution/code-runtime/worker.js.map +1 -0
  262. package/dist/{connector/execution → execution}/factory.d.ts +3 -3
  263. package/dist/execution/factory.d.ts.map +1 -0
  264. package/dist/{connector/execution → execution}/factory.js +1 -1
  265. package/dist/execution/factory.js.map +1 -0
  266. package/dist/{connector/execution → execution}/hybrid.d.ts +5 -3
  267. package/dist/execution/hybrid.d.ts.map +1 -0
  268. package/dist/{connector/execution → execution}/hybrid.js +10 -4
  269. package/dist/execution/hybrid.js.map +1 -0
  270. package/dist/execution/index.d.ts +23 -0
  271. package/dist/execution/index.d.ts.map +1 -1
  272. package/dist/execution/index.js +21 -0
  273. package/dist/execution/index.js.map +1 -1
  274. package/dist/execution/local.d.ts +2 -0
  275. package/dist/execution/local.d.ts.map +1 -1
  276. package/dist/execution/local.js +2 -2
  277. package/dist/execution/local.js.map +1 -1
  278. package/dist/{connector/execution → execution}/remote.d.ts +4 -2
  279. package/dist/execution/remote.d.ts.map +1 -0
  280. package/dist/{connector/execution → execution}/remote.js +12 -5
  281. package/dist/execution/remote.js.map +1 -0
  282. package/dist/index.d.ts +2 -0
  283. package/dist/index.d.ts.map +1 -1
  284. package/dist/index.js +4 -0
  285. package/dist/index.js.map +1 -1
  286. package/dist/invariants/index.d.ts +111 -0
  287. package/dist/invariants/index.d.ts.map +1 -0
  288. package/dist/invariants/index.js +138 -0
  289. package/dist/invariants/index.js.map +1 -0
  290. package/dist/manager/agent/lifecycle.d.ts +29 -7
  291. package/dist/manager/agent/lifecycle.d.ts.map +1 -1
  292. package/dist/manager/agent/lifecycle.js +140 -50
  293. package/dist/manager/agent/lifecycle.js.map +1 -1
  294. package/dist/manager/connector/environment.d.ts +2 -0
  295. package/dist/manager/connector/environment.d.ts.map +1 -1
  296. package/dist/manager/connector/environment.js +20 -9
  297. package/dist/manager/connector/environment.js.map +1 -1
  298. package/dist/manager/connector/lifecycle.d.ts +10 -0
  299. package/dist/manager/connector/lifecycle.d.ts.map +1 -1
  300. package/dist/manager/connector/lifecycle.js +21 -11
  301. package/dist/manager/connector/lifecycle.js.map +1 -1
  302. package/dist/manager/connector/tenant.d.ts +9 -0
  303. package/dist/manager/connector/tenant.d.ts.map +1 -1
  304. package/dist/manager/connector/tenant.js +24 -10
  305. package/dist/manager/connector/tenant.js.map +1 -1
  306. package/dist/manager/index.d.ts +6 -2
  307. package/dist/manager/index.d.ts.map +1 -1
  308. package/dist/manager/index.js +7 -1
  309. package/dist/manager/index.js.map +1 -1
  310. package/dist/manager/project/lifecycle.d.ts +1 -1
  311. package/dist/manager/project/lifecycle.js +1 -1
  312. package/dist/manager/run/emergency.d.ts.map +1 -1
  313. package/dist/manager/run/emergency.js +9 -7
  314. package/dist/manager/run/emergency.js.map +1 -1
  315. package/dist/manager/run/persistence.d.ts +46 -4
  316. package/dist/manager/run/persistence.d.ts.map +1 -1
  317. package/dist/manager/run/persistence.js +102 -7
  318. package/dist/manager/run/persistence.js.map +1 -1
  319. package/dist/manager/topic/lifecycle.d.ts +123 -0
  320. package/dist/manager/topic/lifecycle.d.ts.map +1 -0
  321. package/dist/manager/{thread → topic}/lifecycle.js +79 -61
  322. package/dist/manager/topic/lifecycle.js.map +1 -0
  323. package/dist/manager/topic/objective.d.ts +77 -0
  324. package/dist/manager/topic/objective.d.ts.map +1 -0
  325. package/dist/manager/topic/objective.js +133 -0
  326. package/dist/manager/topic/objective.js.map +1 -0
  327. package/dist/model-router/task-router.d.ts.map +1 -0
  328. package/dist/model-router/task-router.js.map +1 -0
  329. package/dist/persona/assembler.d.ts +1 -1
  330. package/dist/persona/assembler.d.ts.map +1 -1
  331. package/dist/persona/assembler.js +14 -2
  332. package/dist/persona/assembler.js.map +1 -1
  333. package/dist/plugin/lifecycle.d.ts +24 -0
  334. package/dist/plugin/lifecycle.d.ts.map +1 -1
  335. package/dist/plugin/lifecycle.js +112 -20
  336. package/dist/plugin/lifecycle.js.map +1 -1
  337. package/dist/plugin/loader.d.ts +17 -2
  338. package/dist/plugin/loader.d.ts.map +1 -1
  339. package/dist/plugin/loader.js +46 -26
  340. package/dist/plugin/loader.js.map +1 -1
  341. package/dist/probe/index.d.ts +1 -0
  342. package/dist/probe/index.d.ts.map +1 -1
  343. package/dist/probe/registry.d.ts +34 -1
  344. package/dist/probe/registry.d.ts.map +1 -1
  345. package/dist/probe/registry.js +5 -4
  346. package/dist/probe/registry.js.map +1 -1
  347. package/dist/process/kill-tree.d.ts +40 -0
  348. package/dist/process/kill-tree.d.ts.map +1 -0
  349. package/dist/process/kill-tree.js +54 -0
  350. package/dist/process/kill-tree.js.map +1 -0
  351. package/dist/prompt/contributions.d.ts +138 -0
  352. package/dist/prompt/contributions.d.ts.map +1 -0
  353. package/dist/prompt/contributions.js +78 -0
  354. package/dist/prompt/contributions.js.map +1 -0
  355. package/dist/prompt/index.d.ts +3 -0
  356. package/dist/prompt/index.d.ts.map +1 -0
  357. package/dist/prompt/index.js +6 -0
  358. package/dist/prompt/index.js.map +1 -0
  359. package/dist/provider/attribution.d.ts +45 -0
  360. package/dist/provider/attribution.d.ts.map +1 -0
  361. package/dist/provider/attribution.js +23 -0
  362. package/dist/provider/attribution.js.map +1 -0
  363. package/dist/provider/{collect.d.ts → collect-chat-completion.d.ts} +3 -3
  364. package/dist/provider/collect-chat-completion.d.ts.map +1 -0
  365. package/dist/provider/{collect.js → collect-chat-completion.js} +3 -3
  366. package/dist/provider/collect-chat-completion.js.map +1 -0
  367. package/dist/provider/conformance.d.ts +93 -0
  368. package/dist/provider/conformance.d.ts.map +1 -0
  369. package/dist/provider/conformance.js +124 -0
  370. package/dist/provider/conformance.js.map +1 -0
  371. package/dist/provider/errors.d.ts +29 -0
  372. package/dist/provider/errors.d.ts.map +1 -1
  373. package/dist/provider/errors.js +27 -10
  374. package/dist/provider/errors.js.map +1 -1
  375. package/dist/provider/fallback.d.ts +1 -1
  376. package/dist/provider/fallback.d.ts.map +1 -1
  377. package/dist/provider/fallback.js +27 -9
  378. package/dist/provider/fallback.js.map +1 -1
  379. package/dist/provider/idle-timeout.d.ts +47 -0
  380. package/dist/provider/idle-timeout.d.ts.map +1 -0
  381. package/dist/provider/idle-timeout.js +61 -0
  382. package/dist/provider/idle-timeout.js.map +1 -0
  383. package/dist/provider/instrumentation.d.ts +3 -2
  384. package/dist/provider/instrumentation.d.ts.map +1 -1
  385. package/dist/provider/instrumentation.js.map +1 -1
  386. package/dist/provider/retry.d.ts.map +1 -1
  387. package/dist/provider/retry.js +58 -21
  388. package/dist/provider/retry.js.map +1 -1
  389. package/dist/public-runtime.d.ts +79 -15
  390. package/dist/public-runtime.d.ts.map +1 -1
  391. package/dist/public-runtime.js +173 -17
  392. package/dist/public-runtime.js.map +1 -1
  393. package/dist/public-tools.d.ts +8 -1
  394. package/dist/public-tools.d.ts.map +1 -1
  395. package/dist/public-tools.js +29 -1
  396. package/dist/public-tools.js.map +1 -1
  397. package/dist/public-types.d.ts +21 -4
  398. package/dist/public-types.d.ts.map +1 -1
  399. package/dist/rag/rag-tool.d.ts.map +1 -1
  400. package/dist/rag/rag-tool.js +4 -1
  401. package/dist/rag/rag-tool.js.map +1 -1
  402. package/dist/read-model/index.d.ts +5 -0
  403. package/dist/read-model/index.d.ts.map +1 -0
  404. package/dist/read-model/index.js +7 -0
  405. package/dist/read-model/index.js.map +1 -0
  406. package/dist/read-model/registry.d.ts +112 -0
  407. package/dist/read-model/registry.d.ts.map +1 -0
  408. package/dist/read-model/registry.js +105 -0
  409. package/dist/read-model/registry.js.map +1 -0
  410. package/dist/read-model/run-status.d.ts +43 -0
  411. package/dist/read-model/run-status.d.ts.map +1 -0
  412. package/dist/read-model/run-status.js +89 -0
  413. package/dist/read-model/run-status.js.map +1 -0
  414. package/dist/registry/{Registry.d.ts → BaseRegistry.d.ts} +2 -2
  415. package/dist/registry/BaseRegistry.d.ts.map +1 -0
  416. package/dist/registry/{Registry.js → BaseRegistry.js} +2 -2
  417. package/dist/registry/BaseRegistry.js.map +1 -0
  418. package/dist/registry/ManagedRegistry.d.ts +2 -2
  419. package/dist/registry/ManagedRegistry.d.ts.map +1 -1
  420. package/dist/registry/ManagedRegistry.js +26 -9
  421. package/dist/registry/ManagedRegistry.js.map +1 -1
  422. package/dist/registry/command/index-exports.d.ts +3 -0
  423. package/dist/registry/command/index-exports.d.ts.map +1 -0
  424. package/dist/registry/command/index-exports.js +5 -0
  425. package/dist/registry/command/index-exports.js.map +1 -0
  426. package/dist/registry/command/index.d.ts +53 -0
  427. package/dist/registry/command/index.d.ts.map +1 -0
  428. package/dist/registry/command/index.js +87 -0
  429. package/dist/registry/command/index.js.map +1 -0
  430. package/dist/registry/command/kernel-commands.d.ts +32 -0
  431. package/dist/registry/command/kernel-commands.d.ts.map +1 -0
  432. package/dist/registry/command/kernel-commands.js +78 -0
  433. package/dist/registry/command/kernel-commands.js.map +1 -0
  434. package/dist/registry/connector/scoped.d.ts +2 -1
  435. package/dist/registry/connector/scoped.d.ts.map +1 -1
  436. package/dist/registry/connector/scoped.js +6 -5
  437. package/dist/registry/connector/scoped.js.map +1 -1
  438. package/dist/registry/index.d.ts +4 -1
  439. package/dist/registry/index.d.ts.map +1 -1
  440. package/dist/registry/index.js +5 -1
  441. package/dist/registry/index.js.map +1 -1
  442. package/dist/registry/tool/execute.d.ts +1 -0
  443. package/dist/registry/tool/execute.d.ts.map +1 -1
  444. package/dist/registry/tool/execute.js +46 -13
  445. package/dist/registry/tool/execute.js.map +1 -1
  446. package/dist/registry/tool/presentation.d.ts +32 -0
  447. package/dist/registry/tool/presentation.d.ts.map +1 -0
  448. package/dist/registry/tool/presentation.js +92 -0
  449. package/dist/registry/tool/presentation.js.map +1 -0
  450. package/dist/registry/tool/screen.d.ts +33 -0
  451. package/dist/registry/tool/screen.d.ts.map +1 -0
  452. package/dist/registry/tool/screen.js +103 -0
  453. package/dist/registry/tool/screen.js.map +1 -0
  454. package/dist/run/drain.d.ts +13 -3
  455. package/dist/run/drain.d.ts.map +1 -1
  456. package/dist/run/drain.js +10 -0
  457. package/dist/run/drain.js.map +1 -1
  458. package/dist/run/reporter.d.ts.map +1 -1
  459. package/dist/run/reporter.js +203 -149
  460. package/dist/run/reporter.js.map +1 -1
  461. package/dist/run-query/index.d.ts +74 -0
  462. package/dist/run-query/index.d.ts.map +1 -0
  463. package/dist/run-query/index.js +73 -0
  464. package/dist/run-query/index.js.map +1 -0
  465. package/dist/runtime/bidi/session.d.ts.map +1 -1
  466. package/dist/runtime/bidi/session.js +7 -2
  467. package/dist/runtime/bidi/session.js.map +1 -1
  468. package/dist/runtime/decision/fallback.d.ts.map +1 -1
  469. package/dist/runtime/decision/fallback.js +6 -3
  470. package/dist/runtime/decision/fallback.js.map +1 -1
  471. package/dist/runtime/decision/parser.d.ts.map +1 -1
  472. package/dist/runtime/decision/parser.js +10 -9
  473. package/dist/runtime/decision/parser.js.map +1 -1
  474. package/dist/runtime/jobs/registry.d.ts +147 -0
  475. package/dist/runtime/jobs/registry.d.ts.map +1 -0
  476. package/dist/runtime/jobs/registry.js +242 -0
  477. package/dist/runtime/jobs/registry.js.map +1 -0
  478. package/dist/runtime/query/approval-policy.d.ts +22 -0
  479. package/dist/runtime/query/approval-policy.d.ts.map +1 -0
  480. package/dist/runtime/query/approval-policy.js +61 -0
  481. package/dist/runtime/query/approval-policy.js.map +1 -0
  482. package/dist/runtime/query/checkpoint.d.ts +3 -3
  483. package/dist/runtime/query/checkpoint.d.ts.map +1 -1
  484. package/dist/runtime/query/checkpoint.js +2 -2
  485. package/dist/runtime/query/checkpoint.js.map +1 -1
  486. package/dist/runtime/query/context.d.ts +85 -15
  487. package/dist/runtime/query/context.d.ts.map +1 -1
  488. package/dist/runtime/query/context.js +57 -14
  489. package/dist/runtime/query/context.js.map +1 -1
  490. package/dist/runtime/query/events.d.ts +5 -4
  491. package/dist/runtime/query/events.d.ts.map +1 -1
  492. package/dist/runtime/query/events.js +9 -6
  493. package/dist/runtime/query/events.js.map +1 -1
  494. package/dist/runtime/query/executor.d.ts +113 -4
  495. package/dist/runtime/query/executor.d.ts.map +1 -1
  496. package/dist/runtime/query/executor.js +228 -62
  497. package/dist/runtime/query/executor.js.map +1 -1
  498. package/dist/runtime/query/guardrail-presets.d.ts +30 -1
  499. package/dist/runtime/query/guardrail-presets.d.ts.map +1 -1
  500. package/dist/runtime/query/guardrail-presets.js +59 -14
  501. package/dist/runtime/query/guardrail-presets.js.map +1 -1
  502. package/dist/runtime/query/guardrails.d.ts.map +1 -1
  503. package/dist/runtime/query/guardrails.js +16 -12
  504. package/dist/runtime/query/guardrails.js.map +1 -1
  505. package/dist/runtime/query/index.d.ts +140 -16
  506. package/dist/runtime/query/index.d.ts.map +1 -1
  507. package/dist/runtime/query/index.js +379 -76
  508. package/dist/runtime/query/index.js.map +1 -1
  509. package/dist/runtime/query/iteration/index.d.ts +32 -0
  510. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  511. package/dist/runtime/query/iteration/index.js +256 -88
  512. package/dist/runtime/query/iteration/index.js.map +1 -1
  513. package/dist/runtime/query/iteration/phases/advisory.d.ts.map +1 -1
  514. package/dist/runtime/query/iteration/phases/advisory.js +17 -16
  515. package/dist/runtime/query/iteration/phases/advisory.js.map +1 -1
  516. package/dist/runtime/query/iteration/phases/compaction.d.ts +1 -8
  517. package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
  518. package/dist/runtime/query/iteration/phases/compaction.js +202 -178
  519. package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
  520. package/dist/runtime/query/iteration/phases/context.d.ts +52 -6
  521. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  522. package/dist/runtime/query/iteration/phases/context.js +26 -17
  523. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  524. package/dist/runtime/query/iteration/phases/tool-review.d.ts +2 -2
  525. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  526. package/dist/runtime/query/iteration/phases/tool-review.js +27 -7
  527. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  528. package/dist/runtime/query/iteration/phases/working-memory.d.ts.map +1 -1
  529. package/dist/runtime/query/iteration/phases/working-memory.js +3 -2
  530. package/dist/runtime/query/iteration/phases/working-memory.js.map +1 -1
  531. package/dist/runtime/query/iteration/stream-turn.js +14 -14
  532. package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
  533. package/dist/runtime/query/{context-cache.d.ts → prompt-cache.d.ts} +6 -4
  534. package/dist/runtime/query/prompt-cache.d.ts.map +1 -0
  535. package/dist/runtime/query/{context-cache.js → prompt-cache.js} +20 -2
  536. package/dist/runtime/query/prompt-cache.js.map +1 -0
  537. package/dist/runtime/query/prompt.d.ts +50 -0
  538. package/dist/runtime/query/prompt.d.ts.map +1 -1
  539. package/dist/runtime/query/prompt.js +83 -4
  540. package/dist/runtime/query/prompt.js.map +1 -1
  541. package/dist/runtime/query/repeat-call.d.ts +42 -0
  542. package/dist/runtime/query/repeat-call.d.ts.map +1 -0
  543. package/dist/runtime/query/repeat-call.js +107 -0
  544. package/dist/runtime/query/repeat-call.js.map +1 -0
  545. package/dist/runtime/query/replay/mutate.js +8 -1
  546. package/dist/runtime/query/replay/mutate.js.map +1 -1
  547. package/dist/runtime/query/result.d.ts +7 -0
  548. package/dist/runtime/query/result.d.ts.map +1 -1
  549. package/dist/runtime/query/result.js +38 -10
  550. package/dist/runtime/query/result.js.map +1 -1
  551. package/dist/runtime/query/resume-pending.d.ts.map +1 -1
  552. package/dist/runtime/query/resume-pending.js +19 -17
  553. package/dist/runtime/query/resume-pending.js.map +1 -1
  554. package/dist/runtime/query/resume-run.d.ts +2 -2
  555. package/dist/runtime/query/resume-run.d.ts.map +1 -1
  556. package/dist/runtime/query/run-state.d.ts +3 -3
  557. package/dist/runtime/query/run-state.d.ts.map +1 -1
  558. package/dist/runtime/query/run-state.js +2 -2
  559. package/dist/runtime/query/run-state.js.map +1 -1
  560. package/dist/runtime/query/tool-grants.d.ts +7 -0
  561. package/dist/runtime/query/tool-grants.d.ts.map +1 -1
  562. package/dist/runtime/query/tool-grants.js +1 -1
  563. package/dist/runtime/query/tool-grants.js.map +1 -1
  564. package/dist/runtime/query/tool-output-budget.js +34 -3
  565. package/dist/runtime/query/tool-output-budget.js.map +1 -1
  566. package/dist/runtime/query/tool-pause.d.ts.map +1 -1
  567. package/dist/runtime/query/tool-pause.js +2 -1
  568. package/dist/runtime/query/tool-pause.js.map +1 -1
  569. package/dist/runtime/query/tooling.d.ts +10 -2
  570. package/dist/runtime/query/tooling.d.ts.map +1 -1
  571. package/dist/runtime/query/tooling.js +3 -0
  572. package/dist/runtime/query/tooling.js.map +1 -1
  573. package/dist/sandbox/provider/local.d.ts +10 -0
  574. package/dist/sandbox/provider/local.d.ts.map +1 -1
  575. package/dist/sandbox/provider/local.js +77 -23
  576. package/dist/sandbox/provider/local.js.map +1 -1
  577. package/dist/sandbox/terminal.d.ts +130 -0
  578. package/dist/sandbox/terminal.d.ts.map +1 -0
  579. package/dist/sandbox/terminal.js +119 -0
  580. package/dist/sandbox/terminal.js.map +1 -0
  581. package/dist/{gateway → scheduler}/completion-inbox.d.ts +12 -5
  582. package/dist/scheduler/completion-inbox.d.ts.map +1 -0
  583. package/dist/{gateway → scheduler}/completion-inbox.js +19 -7
  584. package/dist/scheduler/completion-inbox.js.map +1 -0
  585. package/dist/scheduler/delegating.d.ts +90 -0
  586. package/dist/scheduler/delegating.d.ts.map +1 -0
  587. package/dist/scheduler/delegating.js +230 -0
  588. package/dist/scheduler/delegating.js.map +1 -0
  589. package/dist/{gateway → scheduler}/local.d.ts +10 -2
  590. package/dist/scheduler/local.d.ts.map +1 -0
  591. package/dist/{gateway → scheduler}/local.js +20 -11
  592. package/dist/scheduler/local.js.map +1 -0
  593. package/dist/session/actor-scope.d.ts +52 -0
  594. package/dist/session/actor-scope.d.ts.map +1 -0
  595. package/dist/session/actor-scope.js +112 -0
  596. package/dist/session/actor-scope.js.map +1 -0
  597. package/dist/session/errors.d.ts +31 -8
  598. package/dist/session/errors.d.ts.map +1 -1
  599. package/dist/session/errors.js +21 -1
  600. package/dist/session/errors.js.map +1 -1
  601. package/dist/session/handoff/assignment.d.ts +5 -5
  602. package/dist/session/handoff/assignment.d.ts.map +1 -1
  603. package/dist/session/handoff/broadcast.d.ts +2 -2
  604. package/dist/session/handoff/broadcast.d.ts.map +1 -1
  605. package/dist/session/handoff/broadcast.js +7 -7
  606. package/dist/session/handoff/broadcast.js.map +1 -1
  607. package/dist/session/handoff/single.d.ts +4 -4
  608. package/dist/session/handoff/single.d.ts.map +1 -1
  609. package/dist/session/handoff/single.js +4 -4
  610. package/dist/session/handoff/single.js.map +1 -1
  611. package/dist/session/migration/filesystem.d.ts +28 -0
  612. package/dist/session/migration/filesystem.d.ts.map +1 -1
  613. package/dist/session/migration/filesystem.js +44 -2
  614. package/dist/session/migration/filesystem.js.map +1 -1
  615. package/dist/session/migration/id-prefix.d.ts +50 -19
  616. package/dist/session/migration/id-prefix.d.ts.map +1 -1
  617. package/dist/session/migration/id-prefix.js +54 -22
  618. package/dist/session/migration/id-prefix.js.map +1 -1
  619. package/dist/session/migration/index.d.ts +6 -2
  620. package/dist/session/migration/index.d.ts.map +1 -1
  621. package/dist/session/migration/index.js +6 -2
  622. package/dist/session/migration/index.js.map +1 -1
  623. package/dist/session/migration/marker.d.ts.map +1 -1
  624. package/dist/session/migration/marker.js +21 -4
  625. package/dist/session/migration/marker.js.map +1 -1
  626. package/dist/session/retention/archive.d.ts.map +1 -1
  627. package/dist/session/retention/archive.js +25 -11
  628. package/dist/session/retention/archive.js.map +1 -1
  629. package/dist/session/workspace/git-worktree.d.ts.map +1 -1
  630. package/dist/session/workspace/git-worktree.js +17 -8
  631. package/dist/session/workspace/git-worktree.js.map +1 -1
  632. package/dist/skills/loader.d.ts +4 -2
  633. package/dist/skills/loader.d.ts.map +1 -1
  634. package/dist/skills/loader.js +36 -9
  635. package/dist/skills/loader.js.map +1 -1
  636. package/dist/skills/registry.d.ts +59 -1
  637. package/dist/skills/registry.d.ts.map +1 -1
  638. package/dist/skills/registry.js +154 -20
  639. package/dist/skills/registry.js.map +1 -1
  640. package/dist/store/attachment/index.d.ts +111 -0
  641. package/dist/store/attachment/index.d.ts.map +1 -0
  642. package/dist/store/attachment/index.js +94 -0
  643. package/dist/store/attachment/index.js.map +1 -0
  644. package/dist/store/config/index.d.ts +43 -0
  645. package/dist/store/config/index.d.ts.map +1 -0
  646. package/dist/store/config/index.js +51 -0
  647. package/dist/store/config/index.js.map +1 -0
  648. package/dist/store/feedback/conformance.d.ts +44 -0
  649. package/dist/store/feedback/conformance.d.ts.map +1 -0
  650. package/dist/store/feedback/conformance.js +127 -0
  651. package/dist/store/feedback/conformance.js.map +1 -0
  652. package/dist/store/feedback/disk.d.ts +46 -0
  653. package/dist/store/feedback/disk.d.ts.map +1 -0
  654. package/dist/store/feedback/disk.js +141 -0
  655. package/dist/store/feedback/disk.js.map +1 -0
  656. package/dist/store/feedback/index.d.ts +9 -0
  657. package/dist/store/feedback/index.d.ts.map +1 -0
  658. package/dist/store/feedback/index.js +5 -0
  659. package/dist/store/feedback/index.js.map +1 -0
  660. package/dist/store/feedback/memory.d.ts +33 -0
  661. package/dist/store/feedback/memory.d.ts.map +1 -0
  662. package/dist/store/feedback/memory.js +0 -0
  663. package/dist/store/feedback/memory.js.map +1 -0
  664. package/dist/store/feedback/types.d.ts +95 -0
  665. package/dist/store/feedback/types.d.ts.map +1 -0
  666. package/dist/store/feedback/types.js +27 -0
  667. package/dist/store/feedback/types.js.map +1 -0
  668. package/dist/store/index.d.ts +1 -0
  669. package/dist/store/index.d.ts.map +1 -1
  670. package/dist/store/index.js +4 -0
  671. package/dist/store/index.js.map +1 -1
  672. package/dist/store/kv/record-store.d.ts +54 -0
  673. package/dist/store/kv/record-store.d.ts.map +1 -0
  674. package/dist/store/kv/record-store.js +94 -0
  675. package/dist/store/kv/record-store.js.map +1 -0
  676. package/dist/store/memory/disk.d.ts +2 -0
  677. package/dist/store/memory/disk.d.ts.map +1 -1
  678. package/dist/store/memory/disk.js +36 -30
  679. package/dist/store/memory/disk.js.map +1 -1
  680. package/dist/store/run/checkpoint-disk.d.ts +4 -4
  681. package/dist/store/run/checkpoint-disk.d.ts.map +1 -1
  682. package/dist/store/run/checkpoint-disk.js +22 -1
  683. package/dist/store/run/checkpoint-disk.js.map +1 -1
  684. package/dist/store/run/checkpoint-memory.d.ts +4 -4
  685. package/dist/store/run/checkpoint-memory.d.ts.map +1 -1
  686. package/dist/store/run/checkpoint-memory.js.map +1 -1
  687. package/dist/store/run/claim-disk.d.ts +5 -5
  688. package/dist/store/run/claim-disk.d.ts.map +1 -1
  689. package/dist/store/run/claim-disk.js +20 -0
  690. package/dist/store/run/claim-disk.js.map +1 -1
  691. package/dist/store/run/conformance.d.ts.map +1 -1
  692. package/dist/store/run/conformance.js +10 -9
  693. package/dist/store/run/conformance.js.map +1 -1
  694. package/dist/store/run/disk.d.ts +3 -1
  695. package/dist/store/run/disk.d.ts.map +1 -1
  696. package/dist/store/run/disk.js +73 -4
  697. package/dist/store/run/disk.js.map +1 -1
  698. package/dist/store/run/listing.d.ts +4 -4
  699. package/dist/store/run/listing.d.ts.map +1 -1
  700. package/dist/store/run/listing.js.map +1 -1
  701. package/dist/store/run/memory.d.ts +5 -0
  702. package/dist/store/run/memory.d.ts.map +1 -1
  703. package/dist/store/run/memory.js +20 -1
  704. package/dist/store/run/memory.js.map +1 -1
  705. package/dist/store/session/canonical-path.d.ts +32 -0
  706. package/dist/store/session/canonical-path.d.ts.map +1 -0
  707. package/dist/store/session/canonical-path.js +46 -0
  708. package/dist/store/session/canonical-path.js.map +1 -0
  709. package/dist/store/session/disk.d.ts +46 -2
  710. package/dist/store/session/disk.d.ts.map +1 -1
  711. package/dist/store/session/disk.js +191 -205
  712. package/dist/store/session/disk.js.map +1 -1
  713. package/dist/store/session/memory.d.ts +10 -2
  714. package/dist/store/session/memory.d.ts.map +1 -1
  715. package/dist/store/session/memory.js +36 -4
  716. package/dist/store/session/memory.js.map +1 -1
  717. package/dist/store/task/disk.d.ts.map +1 -1
  718. package/dist/store/task/disk.js +76 -68
  719. package/dist/store/task/disk.js.map +1 -1
  720. package/dist/store/topic/index.d.ts +6 -0
  721. package/dist/store/topic/index.d.ts.map +1 -0
  722. package/dist/store/topic/index.js +20 -0
  723. package/dist/store/topic/index.js.map +1 -0
  724. package/dist/store/topic/memory.d.ts +30 -0
  725. package/dist/store/topic/memory.d.ts.map +1 -0
  726. package/dist/store/topic/memory.js +97 -0
  727. package/dist/store/topic/memory.js.map +1 -0
  728. package/dist/store/topic/objective.d.ts +104 -0
  729. package/dist/store/topic/objective.d.ts.map +1 -0
  730. package/dist/store/topic/objective.js +195 -0
  731. package/dist/store/topic/objective.js.map +1 -0
  732. package/dist/store/topic/state.d.ts +60 -0
  733. package/dist/store/topic/state.d.ts.map +1 -0
  734. package/dist/store/topic/state.js +128 -0
  735. package/dist/store/topic/state.js.map +1 -0
  736. package/dist/streaming/coalesce.d.ts +19 -6
  737. package/dist/streaming/coalesce.d.ts.map +1 -1
  738. package/dist/streaming/coalesce.js +13 -4
  739. package/dist/streaming/coalesce.js.map +1 -1
  740. package/dist/telemetry/runtime-accessors.d.ts +27 -1
  741. package/dist/telemetry/runtime-accessors.d.ts.map +1 -1
  742. package/dist/telemetry/runtime-accessors.js +45 -1
  743. package/dist/telemetry/runtime-accessors.js.map +1 -1
  744. package/dist/test-support/ids.d.ts +68 -0
  745. package/dist/test-support/ids.d.ts.map +1 -0
  746. package/dist/test-support/ids.js +70 -0
  747. package/dist/test-support/ids.js.map +1 -0
  748. package/dist/testing.d.ts +24 -0
  749. package/dist/testing.d.ts.map +1 -0
  750. package/dist/testing.js +22 -0
  751. package/dist/testing.js.map +1 -0
  752. package/dist/tools/builtins/bash.d.ts +1 -0
  753. package/dist/tools/builtins/bash.d.ts.map +1 -1
  754. package/dist/tools/builtins/bash.js +77 -3
  755. package/dist/tools/builtins/bash.js.map +1 -1
  756. package/dist/tools/builtins/computer-use.d.ts +8 -8
  757. package/dist/tools/builtins/edit.d.ts +1 -1
  758. package/dist/tools/builtins/edit.d.ts.map +1 -1
  759. package/dist/tools/builtins/edit.js +34 -0
  760. package/dist/tools/builtins/edit.js.map +1 -1
  761. package/dist/tools/builtins/index.d.ts +6 -0
  762. package/dist/tools/builtins/index.d.ts.map +1 -1
  763. package/dist/tools/builtins/index.js +24 -1
  764. package/dist/tools/builtins/index.js.map +1 -1
  765. package/dist/tools/builtins/job.d.ts +6 -0
  766. package/dist/tools/builtins/job.d.ts.map +1 -0
  767. package/dist/tools/builtins/job.js +114 -0
  768. package/dist/tools/builtins/job.js.map +1 -0
  769. package/dist/tools/builtins/lsp.d.ts +21 -0
  770. package/dist/tools/builtins/lsp.d.ts.map +1 -0
  771. package/dist/tools/builtins/lsp.js +186 -0
  772. package/dist/tools/builtins/lsp.js.map +1 -0
  773. package/dist/tools/builtins/run-code.d.ts +13 -0
  774. package/dist/tools/builtins/run-code.d.ts.map +1 -0
  775. package/dist/tools/builtins/run-code.js +126 -0
  776. package/dist/tools/builtins/run-code.js.map +1 -0
  777. package/dist/tools/builtins/skill.d.ts +14 -0
  778. package/dist/tools/builtins/skill.d.ts.map +1 -0
  779. package/dist/tools/builtins/skill.js +120 -0
  780. package/dist/tools/builtins/skill.js.map +1 -0
  781. package/dist/tools/builtins/web-guidance.d.ts +31 -0
  782. package/dist/tools/builtins/web-guidance.d.ts.map +1 -0
  783. package/dist/tools/builtins/web-guidance.js +42 -0
  784. package/dist/tools/builtins/web-guidance.js.map +1 -0
  785. package/dist/tools/builtins/web.d.ts +10 -0
  786. package/dist/tools/builtins/web.d.ts.map +1 -0
  787. package/dist/tools/builtins/web.js +137 -0
  788. package/dist/tools/builtins/web.js.map +1 -0
  789. package/dist/tools/builtins/write-file.d.ts.map +1 -1
  790. package/dist/tools/builtins/write-file.js +35 -0
  791. package/dist/tools/builtins/write-file.js.map +1 -1
  792. package/dist/tools/coordinator/agent.d.ts +2 -2
  793. package/dist/tools/coordinator/agent.d.ts.map +1 -1
  794. package/dist/tools/coordinator/index.d.ts +13 -4
  795. package/dist/tools/coordinator/index.d.ts.map +1 -1
  796. package/dist/tools/coordinator/index.js +125 -38
  797. package/dist/tools/coordinator/index.js.map +1 -1
  798. package/dist/tools/coordinator/outcome.d.ts +2 -2
  799. package/dist/tools/coordinator/outcome.d.ts.map +1 -1
  800. package/dist/tools/coordinator/outcome.js +1 -1
  801. package/dist/tools/coordinator/wait-with-idle-bound.d.ts +3 -3
  802. package/dist/tools/coordinator/wait-with-idle-bound.d.ts.map +1 -1
  803. package/dist/tools/coordinator/wait-with-idle-bound.js.map +1 -1
  804. package/dist/tools/defineTool.d.ts +12 -0
  805. package/dist/tools/defineTool.d.ts.map +1 -1
  806. package/dist/tools/defineTool.js +2 -0
  807. package/dist/tools/defineTool.js.map +1 -1
  808. package/dist/tools/env-scrub.d.ts +66 -0
  809. package/dist/tools/env-scrub.d.ts.map +1 -0
  810. package/dist/tools/env-scrub.js +68 -0
  811. package/dist/tools/env-scrub.js.map +1 -0
  812. package/dist/tools/memory/read.d.ts.map +1 -1
  813. package/dist/tools/memory/read.js +5 -1
  814. package/dist/tools/memory/read.js.map +1 -1
  815. package/dist/tools/task/create.d.ts.map +1 -1
  816. package/dist/tools/task/create.js +2 -1
  817. package/dist/tools/task/create.js.map +1 -1
  818. package/dist/tools/task/update.d.ts.map +1 -1
  819. package/dist/tools/task/update.js +7 -3
  820. package/dist/tools/task/update.js.map +1 -1
  821. package/dist/types/acp/index.d.ts +161 -0
  822. package/dist/types/acp/index.d.ts.map +1 -0
  823. package/dist/types/acp/index.js +2 -0
  824. package/dist/types/acp/index.js.map +1 -0
  825. package/dist/types/agent/base.d.ts +62 -5
  826. package/dist/types/agent/base.d.ts.map +1 -1
  827. package/dist/types/agent/delegate.d.ts +102 -0
  828. package/dist/types/agent/delegate.d.ts.map +1 -0
  829. package/dist/types/agent/delegate.js +2 -0
  830. package/dist/types/agent/delegate.js.map +1 -0
  831. package/dist/types/agent/index.d.ts +1 -1
  832. package/dist/types/agent/index.d.ts.map +1 -1
  833. package/dist/types/agent/index.js +1 -1
  834. package/dist/types/agent/index.js.map +1 -1
  835. package/dist/types/agent/manager.d.ts +7 -1
  836. package/dist/types/agent/manager.d.ts.map +1 -1
  837. package/dist/types/agent/reactive.d.ts +24 -3
  838. package/dist/types/agent/reactive.d.ts.map +1 -1
  839. package/dist/types/agent/{gateway.d.ts → scheduler.d.ts} +41 -5
  840. package/dist/types/agent/scheduler.d.ts.map +1 -0
  841. package/dist/types/agent/scheduler.js +2 -0
  842. package/dist/types/agent/scheduler.js.map +1 -0
  843. package/dist/types/agent/supervisor.d.ts +23 -5
  844. package/dist/types/agent/supervisor.d.ts.map +1 -1
  845. package/dist/types/agent/task.d.ts +31 -9
  846. package/dist/types/agent/task.d.ts.map +1 -1
  847. package/dist/types/agent/working-memory.d.ts +1 -1
  848. package/dist/types/authorization/index.d.ts +634 -0
  849. package/dist/types/authorization/index.d.ts.map +1 -0
  850. package/dist/types/authorization/index.js +103 -0
  851. package/dist/types/authorization/index.js.map +1 -0
  852. package/dist/types/bus/index.d.ts +24 -1
  853. package/dist/types/bus/index.d.ts.map +1 -1
  854. package/dist/types/code-navigation/index.d.ts +112 -0
  855. package/dist/types/code-navigation/index.d.ts.map +1 -0
  856. package/dist/types/code-navigation/index.js +17 -0
  857. package/dist/types/code-navigation/index.js.map +1 -0
  858. package/dist/types/command/index.d.ts +74 -0
  859. package/dist/types/command/index.d.ts.map +1 -0
  860. package/dist/types/command/index.js +18 -0
  861. package/dist/types/command/index.js.map +1 -0
  862. package/dist/types/common/index.d.ts +19 -2
  863. package/dist/types/common/index.d.ts.map +1 -1
  864. package/dist/types/common/index.js.map +1 -1
  865. package/dist/types/connector/mcp.d.ts +8 -0
  866. package/dist/types/connector/mcp.d.ts.map +1 -1
  867. package/dist/types/guardrail/index.d.ts +74 -1
  868. package/dist/types/guardrail/index.d.ts.map +1 -1
  869. package/dist/types/hitl/policy.d.ts +79 -0
  870. package/dist/types/hitl/policy.d.ts.map +1 -0
  871. package/dist/types/hitl/policy.js +2 -0
  872. package/dist/types/hitl/policy.js.map +1 -0
  873. package/dist/types/ids/brand.d.ts +55 -0
  874. package/dist/types/ids/brand.d.ts.map +1 -0
  875. package/dist/types/ids/brand.js +45 -0
  876. package/dist/types/ids/brand.js.map +1 -0
  877. package/dist/types/ids/index.d.ts +98 -39
  878. package/dist/types/ids/index.d.ts.map +1 -1
  879. package/dist/types/ids/index.js +5 -1
  880. package/dist/types/ids/index.js.map +1 -1
  881. package/dist/types/message/index.d.ts +24 -1
  882. package/dist/types/message/index.d.ts.map +1 -1
  883. package/dist/types/message/index.js.map +1 -1
  884. package/dist/types/plugin/index.d.ts +2 -2
  885. package/dist/types/project/entity.d.ts +22 -2
  886. package/dist/types/project/entity.d.ts.map +1 -1
  887. package/dist/types/provider/interface.d.ts +43 -2
  888. package/dist/types/provider/interface.d.ts.map +1 -1
  889. package/dist/types/provider/model.d.ts +16 -2
  890. package/dist/types/provider/model.d.ts.map +1 -1
  891. package/dist/types/run/audit.d.ts +150 -0
  892. package/dist/types/run/audit.d.ts.map +1 -0
  893. package/dist/types/run/audit.js +39 -0
  894. package/dist/types/run/audit.js.map +1 -0
  895. package/dist/types/run/cancel-cause.d.ts +49 -0
  896. package/dist/types/run/cancel-cause.d.ts.map +1 -0
  897. package/dist/types/run/cancel-cause.js +39 -0
  898. package/dist/types/run/cancel-cause.js.map +1 -0
  899. package/dist/types/run/checkpoint-store.d.ts +29 -11
  900. package/dist/types/run/checkpoint-store.d.ts.map +1 -1
  901. package/dist/types/run/config.d.ts +24 -4
  902. package/dist/types/run/config.d.ts.map +1 -1
  903. package/dist/types/run/derive-status.d.ts +3 -3
  904. package/dist/types/run/derive-status.d.ts.map +1 -1
  905. package/dist/types/run/derive-status.js +1 -1
  906. package/dist/types/run/entity.d.ts +2 -3
  907. package/dist/types/run/entity.d.ts.map +1 -1
  908. package/dist/types/run/event-cursor.d.ts +3 -3
  909. package/dist/types/run/event-cursor.d.ts.map +1 -1
  910. package/dist/types/run/events.d.ts +159 -4
  911. package/dist/types/run/events.d.ts.map +1 -1
  912. package/dist/types/run/events.js.map +1 -1
  913. package/dist/types/run/index.d.ts +2 -0
  914. package/dist/types/run/index.d.ts.map +1 -1
  915. package/dist/types/run/index.js +2 -0
  916. package/dist/types/run/index.js.map +1 -1
  917. package/dist/types/run/metadata.d.ts +2 -2
  918. package/dist/types/run/metadata.d.ts.map +1 -1
  919. package/dist/types/run/prepare-step.d.ts +29 -0
  920. package/dist/types/run/prepare-step.d.ts.map +1 -1
  921. package/dist/types/run/state.d.ts +33 -10
  922. package/dist/types/run/state.d.ts.map +1 -1
  923. package/dist/types/run/state.js +60 -3
  924. package/dist/types/run/state.js.map +1 -1
  925. package/dist/types/run/stop-reason.d.ts +9 -0
  926. package/dist/types/run/stop-reason.d.ts.map +1 -1
  927. package/dist/types/run/store.d.ts +38 -0
  928. package/dist/types/run/store.d.ts.map +1 -1
  929. package/dist/types/sandbox/index.d.ts +38 -0
  930. package/dist/types/sandbox/index.d.ts.map +1 -1
  931. package/dist/types/sandbox/index.js +21 -0
  932. package/dist/types/sandbox/index.js.map +1 -1
  933. package/dist/types/session/actor.d.ts +2 -2
  934. package/dist/types/session/actor.d.ts.map +1 -1
  935. package/dist/types/session/entity.d.ts +9 -7
  936. package/dist/types/session/entity.d.ts.map +1 -1
  937. package/dist/types/session/ids.d.ts +3 -1
  938. package/dist/types/session/ids.d.ts.map +1 -1
  939. package/dist/types/session/index.d.ts +4 -2
  940. package/dist/types/session/index.d.ts.map +1 -1
  941. package/dist/types/session/store.d.ts +51 -22
  942. package/dist/types/session/store.d.ts.map +1 -1
  943. package/dist/types/session/sub-session.d.ts +55 -5
  944. package/dist/types/session/sub-session.d.ts.map +1 -1
  945. package/dist/types/skills/index.d.ts +41 -0
  946. package/dist/types/skills/index.d.ts.map +1 -1
  947. package/dist/types/skills/index.js +17 -1
  948. package/dist/types/skills/index.js.map +1 -1
  949. package/dist/types/tool/index.d.ts +186 -1
  950. package/dist/types/tool/index.d.ts.map +1 -1
  951. package/dist/types/tool/index.js.map +1 -1
  952. package/dist/types/tool/presentation.d.ts +53 -0
  953. package/dist/types/tool/presentation.d.ts.map +1 -0
  954. package/dist/types/tool/presentation.js +2 -0
  955. package/dist/types/tool/presentation.js.map +1 -0
  956. package/dist/types/{thread → topic}/entity.d.ts +34 -26
  957. package/dist/types/topic/entity.d.ts.map +1 -0
  958. package/dist/types/{thread → topic}/entity.js.map +1 -1
  959. package/dist/types/topic/index.d.ts +5 -0
  960. package/dist/types/topic/index.d.ts.map +1 -0
  961. package/dist/types/topic/index.js +11 -0
  962. package/dist/types/topic/index.js.map +1 -0
  963. package/dist/types/topic/objective.d.ts +86 -0
  964. package/dist/types/topic/objective.d.ts.map +1 -0
  965. package/dist/types/topic/objective.js +10 -0
  966. package/dist/types/topic/objective.js.map +1 -0
  967. package/dist/types/topic/state.d.ts +56 -0
  968. package/dist/types/topic/state.d.ts.map +1 -0
  969. package/dist/types/topic/state.js +10 -0
  970. package/dist/types/topic/state.js.map +1 -0
  971. package/dist/types/topic/store.d.ts +95 -0
  972. package/dist/types/topic/store.d.ts.map +1 -0
  973. package/dist/types/topic/store.js +29 -0
  974. package/dist/types/topic/store.js.map +1 -0
  975. package/dist/types/workspace/ref.d.ts +7 -0
  976. package/dist/types/workspace/ref.d.ts.map +1 -1
  977. package/dist/utils/abort.d.ts.map +1 -1
  978. package/dist/utils/abort.js +13 -1
  979. package/dist/utils/abort.js.map +1 -1
  980. package/dist/utils/hash.d.ts +10 -0
  981. package/dist/utils/hash.d.ts.map +1 -1
  982. package/dist/utils/hash.js +15 -0
  983. package/dist/utils/hash.js.map +1 -1
  984. package/dist/utils/id.d.ts +90 -2
  985. package/dist/utils/id.d.ts.map +1 -1
  986. package/dist/utils/id.js +113 -5
  987. package/dist/utils/id.js.map +1 -1
  988. package/dist/utils/log/attributes.d.ts +17 -0
  989. package/dist/utils/log/attributes.d.ts.map +1 -0
  990. package/dist/utils/log/attributes.js +2 -0
  991. package/dist/utils/log/attributes.js.map +1 -0
  992. package/dist/utils/log/caps.d.ts +27 -0
  993. package/dist/utils/log/caps.d.ts.map +1 -0
  994. package/dist/utils/log/caps.js +107 -0
  995. package/dist/utils/log/caps.js.map +1 -0
  996. package/dist/utils/log/create-logger.d.ts +28 -0
  997. package/dist/utils/log/create-logger.d.ts.map +1 -0
  998. package/dist/utils/log/create-logger.js +168 -0
  999. package/dist/utils/log/create-logger.js.map +1 -0
  1000. package/dist/utils/log/exception.d.ts +11 -0
  1001. package/dist/utils/log/exception.d.ts.map +1 -0
  1002. package/dist/utils/log/exception.js +108 -0
  1003. package/dist/utils/log/exception.js.map +1 -0
  1004. package/dist/utils/log/index.d.ts +7 -0
  1005. package/dist/utils/log/index.d.ts.map +1 -0
  1006. package/dist/utils/log/index.js +15 -0
  1007. package/dist/utils/log/index.js.map +1 -0
  1008. package/dist/utils/log/process-sink.d.ts +28 -0
  1009. package/dist/utils/log/process-sink.d.ts.map +1 -0
  1010. package/dist/utils/log/process-sink.js +56 -0
  1011. package/dist/utils/log/process-sink.js.map +1 -0
  1012. package/dist/utils/log/redact.d.ts +3 -0
  1013. package/dist/utils/log/redact.d.ts.map +1 -0
  1014. package/dist/utils/log/redact.js +71 -0
  1015. package/dist/utils/log/redact.js.map +1 -0
  1016. package/dist/utils/log/sinks.d.ts +43 -0
  1017. package/dist/utils/log/sinks.d.ts.map +1 -0
  1018. package/dist/utils/log/sinks.js +184 -0
  1019. package/dist/utils/log/sinks.js.map +1 -0
  1020. package/dist/utils/log/templates.d.ts +63 -0
  1021. package/dist/utils/log/templates.d.ts.map +1 -0
  1022. package/dist/utils/log/templates.js +119 -0
  1023. package/dist/utils/log/templates.js.map +1 -0
  1024. package/dist/utils/log/types.d.ts +183 -0
  1025. package/dist/utils/log/types.d.ts.map +1 -0
  1026. package/dist/utils/log/types.js +55 -0
  1027. package/dist/utils/log/types.js.map +1 -0
  1028. package/dist/utils/logger.d.ts +44 -0
  1029. package/dist/utils/logger.d.ts.map +1 -1
  1030. package/dist/utils/logger.js +102 -2
  1031. package/dist/utils/logger.js.map +1 -1
  1032. package/dist/utils/renamed-field.d.ts +19 -0
  1033. package/dist/utils/renamed-field.d.ts.map +1 -0
  1034. package/dist/utils/renamed-field.js +29 -0
  1035. package/dist/utils/renamed-field.js.map +1 -0
  1036. package/dist/vault/CredentialProvider.d.ts +89 -0
  1037. package/dist/vault/CredentialProvider.d.ts.map +1 -0
  1038. package/dist/vault/CredentialProvider.js +64 -0
  1039. package/dist/vault/CredentialProvider.js.map +1 -0
  1040. package/dist/vault/InMemoryCredentialVault.d.ts +2 -1
  1041. package/dist/vault/InMemoryCredentialVault.d.ts.map +1 -1
  1042. package/dist/vault/InMemoryCredentialVault.js +15 -5
  1043. package/dist/vault/InMemoryCredentialVault.js.map +1 -1
  1044. package/dist/vault/index.d.ts +3 -0
  1045. package/dist/vault/index.d.ts.map +1 -1
  1046. package/dist/vault/index.js +5 -0
  1047. package/dist/vault/index.js.map +1 -1
  1048. package/dist/vault/instrumentation.d.ts +18 -2
  1049. package/dist/vault/instrumentation.d.ts.map +1 -1
  1050. package/dist/vault/instrumentation.js +47 -0
  1051. package/dist/vault/instrumentation.js.map +1 -1
  1052. package/package.json +4 -4
  1053. package/src/advisory/executor.ts +14 -12
  1054. package/src/advisory/registry.ts +2 -2
  1055. package/src/agents/AGENTS.md +91 -0
  1056. package/src/agents/AbstractAgent.ts +67 -14
  1057. package/src/agents/PipelineAgent.ts +46 -12
  1058. package/src/agents/ReactiveAgent.ts +27 -13
  1059. package/src/agents/RouterAgent.ts +33 -21
  1060. package/src/agents/SupervisorAgent.ts +51 -26
  1061. package/src/agents/handle.ts +149 -0
  1062. package/src/agents/runAgent.ts +14 -7
  1063. package/src/{verification → authorization}/gate.ts +39 -32
  1064. package/src/authorization/index.ts +26 -0
  1065. package/src/authorization/permission-presets.ts +215 -0
  1066. package/src/{verification → authorization}/presets.ts +15 -3
  1067. package/src/{verification → authorization}/rules.ts +16 -3
  1068. package/src/bridge/a2a/client.ts +369 -0
  1069. package/src/bridge/a2a/mapper.ts +17 -0
  1070. package/src/bridge/acp/filesystem.ts +63 -0
  1071. package/src/bridge/acp/index.ts +11 -0
  1072. package/src/bridge/acp/permission.ts +71 -0
  1073. package/src/bridge/acp/server.ts +500 -0
  1074. package/src/bridge/acp/update.ts +109 -0
  1075. package/src/bridge/mcp/connector/adapter.ts +8 -4
  1076. package/src/bridge/sse/mapper.ts +30 -0
  1077. package/src/bus/breaker.ts +15 -10
  1078. package/src/bus/index.ts +10 -8
  1079. package/src/bus/lock.ts +36 -19
  1080. package/src/bus/ownership.ts +17 -9
  1081. package/src/compaction/context-window.ts +23 -1
  1082. package/src/compaction/index.ts +6 -0
  1083. package/src/compaction/manual.ts +177 -0
  1084. package/src/compaction/plan.ts +226 -0
  1085. package/src/compaction/summary.ts +31 -0
  1086. package/src/compaction/verifier.ts +2 -2
  1087. package/src/config/registry.ts +208 -0
  1088. package/src/config/runtime.ts +27 -0
  1089. package/src/connector/BaseConnector.ts +8 -3
  1090. package/src/connector/builtins/http.ts +12 -2
  1091. package/src/connector/builtins/webhook.ts +6 -2
  1092. package/src/connector/index.ts +45 -29
  1093. package/src/connector/mcp/adapter.ts +51 -1
  1094. package/src/connector/mcp/client.ts +32 -20
  1095. package/src/connector/mcp/discovery.ts +31 -20
  1096. package/src/connector/mcp/http-sse.ts +12 -6
  1097. package/src/connector/mcp/index.ts +8 -7
  1098. package/src/connector/mcp/reconnect.ts +194 -0
  1099. package/src/connector/mcp/server/index.ts +32 -0
  1100. package/src/connector/mcp/{server-stdio.ts → server/server-stdio.ts} +5 -4
  1101. package/src/connector/mcp/{server.ts → server/server.ts} +17 -11
  1102. package/src/connector/mcp/stdio.ts +18 -9
  1103. package/src/connector/mcp/streamable-http.ts +8 -4
  1104. package/src/{bridge/tools/connector → connector/tools}/adapter.ts +5 -5
  1105. package/src/{bridge/tools/connector → connector/tools}/definitions.ts +4 -4
  1106. package/src/{bridge/tools/connector → connector/tools}/router.ts +17 -9
  1107. package/src/connector/web/guarded-fetch.ts +288 -0
  1108. package/src/connector/web/index.ts +17 -0
  1109. package/src/connector/web/types.ts +99 -0
  1110. package/src/constants/acp/index.ts +104 -0
  1111. package/src/constants/credential-env-keys.ts +63 -0
  1112. package/src/constants/index.ts +3 -1
  1113. package/src/constants/secret-patterns.ts +102 -0
  1114. package/src/constants/telemetry/index.ts +98 -0
  1115. package/src/contracts/api.ts +11 -0
  1116. package/src/deprecated-aliases.ts +86 -0
  1117. package/src/eval/judge.ts +2 -2
  1118. package/src/execution/base.ts +18 -7
  1119. package/src/execution/code-runtime/types.ts +116 -0
  1120. package/src/execution/code-runtime/worker.ts +266 -0
  1121. package/src/{connector/execution → execution}/factory.ts +3 -3
  1122. package/src/{connector/execution → execution}/hybrid.ts +13 -7
  1123. package/src/execution/index.ts +24 -0
  1124. package/src/execution/local.ts +4 -2
  1125. package/src/{connector/execution → execution}/remote.ts +15 -8
  1126. package/src/index.ts +17 -0
  1127. package/src/invariants/index.ts +201 -0
  1128. package/src/manager/agent/lifecycle.ts +172 -58
  1129. package/src/manager/connector/environment.ts +22 -11
  1130. package/src/manager/connector/lifecycle.ts +30 -11
  1131. package/src/manager/connector/tenant.ts +33 -14
  1132. package/src/manager/index.ts +16 -2
  1133. package/src/manager/project/lifecycle.ts +1 -1
  1134. package/src/manager/run/emergency.ts +9 -7
  1135. package/src/manager/run/persistence.ts +110 -8
  1136. package/src/manager/topic/lifecycle.ts +235 -0
  1137. package/src/manager/topic/objective.ts +203 -0
  1138. package/src/persona/assembler.ts +14 -3
  1139. package/src/plugin/lifecycle.ts +156 -20
  1140. package/src/plugin/loader.ts +67 -16
  1141. package/src/probe/index.ts +1 -0
  1142. package/src/probe/registry.ts +41 -5
  1143. package/src/process/kill-tree.ts +52 -0
  1144. package/src/prompt/contributions.ts +173 -0
  1145. package/src/prompt/index.ts +15 -0
  1146. package/src/provider/attribution.ts +57 -0
  1147. package/src/provider/{collect.ts → collect-chat-completion.ts} +4 -2
  1148. package/src/provider/conformance.ts +189 -0
  1149. package/src/provider/errors.ts +27 -12
  1150. package/src/provider/fallback.ts +32 -10
  1151. package/src/provider/idle-timeout.ts +112 -0
  1152. package/src/provider/instrumentation.ts +4 -2
  1153. package/src/provider/retry.ts +63 -21
  1154. package/src/public-runtime.ts +378 -14
  1155. package/src/public-tools.ts +41 -1
  1156. package/src/public-types.ts +101 -4
  1157. package/src/rag/rag-tool.ts +4 -2
  1158. package/src/read-model/index.ts +14 -0
  1159. package/src/read-model/registry.ts +152 -0
  1160. package/src/read-model/run-status.ts +127 -0
  1161. package/src/registry/{Registry.ts → BaseRegistry.ts} +1 -1
  1162. package/src/registry/ManagedRegistry.ts +26 -9
  1163. package/src/registry/command/index-exports.ts +4 -0
  1164. package/src/registry/command/index.ts +105 -0
  1165. package/src/registry/command/kernel-commands.ts +110 -0
  1166. package/src/registry/connector/scoped.ts +6 -5
  1167. package/src/registry/index.ts +7 -1
  1168. package/src/registry/tool/execute.ts +52 -13
  1169. package/src/registry/tool/presentation.ts +116 -0
  1170. package/src/registry/tool/screen.ts +132 -0
  1171. package/src/run/drain.ts +13 -3
  1172. package/src/run/reporter.ts +208 -153
  1173. package/src/run-query/index.ts +108 -0
  1174. package/src/runtime/bidi/session.ts +7 -2
  1175. package/src/runtime/decision/fallback.ts +6 -3
  1176. package/src/runtime/decision/parser.ts +10 -9
  1177. package/src/runtime/jobs/registry.ts +346 -0
  1178. package/src/runtime/query/approval-policy.ts +78 -0
  1179. package/src/runtime/query/checkpoint.ts +6 -6
  1180. package/src/runtime/query/context.ts +120 -30
  1181. package/src/runtime/query/events.ts +19 -11
  1182. package/src/runtime/query/executor.ts +287 -66
  1183. package/src/runtime/query/guardrail-presets.ts +61 -14
  1184. package/src/runtime/query/guardrails.ts +16 -12
  1185. package/src/runtime/query/index.ts +579 -96
  1186. package/src/runtime/query/iteration/index.ts +269 -87
  1187. package/src/runtime/query/iteration/phases/advisory.ts +17 -16
  1188. package/src/runtime/query/iteration/phases/compaction.ts +235 -187
  1189. package/src/runtime/query/iteration/phases/context.ts +82 -21
  1190. package/src/runtime/query/iteration/phases/tool-review.ts +28 -9
  1191. package/src/runtime/query/iteration/phases/working-memory.ts +3 -2
  1192. package/src/runtime/query/iteration/stream-turn.ts +14 -14
  1193. package/src/runtime/query/{context-cache.ts → prompt-cache.ts} +23 -3
  1194. package/src/runtime/query/prompt.ts +104 -4
  1195. package/src/runtime/query/repeat-call.ts +130 -0
  1196. package/src/runtime/query/replay/mutate.ts +6 -0
  1197. package/src/runtime/query/result.ts +47 -10
  1198. package/src/runtime/query/resume-pending.ts +19 -17
  1199. package/src/runtime/query/resume-run.ts +2 -2
  1200. package/src/runtime/query/run-state.ts +5 -5
  1201. package/src/runtime/query/tool-grants.ts +1 -1
  1202. package/src/runtime/query/tool-output-budget.ts +36 -3
  1203. package/src/runtime/query/tool-pause.ts +2 -1
  1204. package/src/runtime/query/tooling.ts +17 -2
  1205. package/src/sandbox/provider/local.ts +94 -21
  1206. package/src/sandbox/terminal.ts +197 -0
  1207. package/src/{gateway → scheduler}/completion-inbox.ts +20 -10
  1208. package/src/scheduler/delegating.ts +297 -0
  1209. package/src/{gateway → scheduler}/local.ts +24 -15
  1210. package/src/session/actor-scope.ts +121 -0
  1211. package/src/session/errors.ts +30 -8
  1212. package/src/session/handoff/assignment.ts +5 -5
  1213. package/src/session/handoff/broadcast.ts +9 -9
  1214. package/src/session/handoff/single.ts +8 -8
  1215. package/src/session/migration/filesystem.ts +46 -2
  1216. package/src/session/migration/id-prefix.ts +60 -22
  1217. package/src/session/migration/index.ts +5 -0
  1218. package/src/session/migration/marker.ts +19 -4
  1219. package/src/session/retention/archive.ts +32 -12
  1220. package/src/session/workspace/git-worktree.ts +17 -8
  1221. package/src/skills/loader.ts +39 -9
  1222. package/src/skills/registry.ts +177 -20
  1223. package/src/store/attachment/index.ts +182 -0
  1224. package/src/store/config/index.ts +74 -0
  1225. package/src/store/feedback/conformance.ts +193 -0
  1226. package/src/store/feedback/disk.ts +184 -0
  1227. package/src/store/feedback/index.ts +13 -0
  1228. package/src/store/feedback/memory.ts +0 -0
  1229. package/src/store/feedback/types.ts +107 -0
  1230. package/src/store/index.ts +5 -0
  1231. package/src/store/kv/record-store.ts +91 -0
  1232. package/src/store/memory/disk.ts +35 -32
  1233. package/src/store/run/checkpoint-disk.ts +27 -6
  1234. package/src/store/run/checkpoint-memory.ts +8 -8
  1235. package/src/store/run/claim-disk.ts +58 -13
  1236. package/src/store/run/conformance.ts +11 -10
  1237. package/src/store/run/disk.ts +77 -5
  1238. package/src/store/run/listing.ts +6 -6
  1239. package/src/store/run/memory.ts +24 -1
  1240. package/src/store/session/canonical-path.ts +45 -0
  1241. package/src/store/session/disk.ts +216 -191
  1242. package/src/store/session/memory.ts +43 -5
  1243. package/src/store/task/disk.ts +77 -67
  1244. package/src/store/topic/index.ts +33 -0
  1245. package/src/store/topic/memory.ts +111 -0
  1246. package/src/store/topic/objective.ts +290 -0
  1247. package/src/store/topic/state.ts +204 -0
  1248. package/src/streaming/coalesce.ts +19 -5
  1249. package/src/telemetry/runtime-accessors.ts +45 -1
  1250. package/src/test-support/ids.ts +117 -0
  1251. package/src/testing.ts +40 -0
  1252. package/src/tools/builtins/bash.ts +82 -3
  1253. package/src/tools/builtins/edit.ts +36 -0
  1254. package/src/tools/builtins/index.ts +29 -1
  1255. package/src/tools/builtins/job.ts +133 -0
  1256. package/src/tools/builtins/lsp.ts +214 -0
  1257. package/src/tools/builtins/run-code.ts +154 -0
  1258. package/src/tools/builtins/skill.ts +134 -0
  1259. package/src/tools/builtins/web-guidance.ts +46 -0
  1260. package/src/tools/builtins/web.ts +156 -0
  1261. package/src/tools/builtins/write-file.ts +37 -1
  1262. package/src/tools/coordinator/agent.ts +2 -2
  1263. package/src/tools/coordinator/index.ts +144 -40
  1264. package/src/tools/coordinator/outcome.ts +2 -2
  1265. package/src/tools/coordinator/wait-with-idle-bound.ts +3 -3
  1266. package/src/tools/defineTool.ts +14 -0
  1267. package/src/tools/env-scrub.ts +91 -0
  1268. package/src/tools/memory/read.ts +5 -2
  1269. package/src/tools/task/create.ts +2 -1
  1270. package/src/tools/task/update.ts +7 -4
  1271. package/src/types/acp/index.ts +163 -0
  1272. package/src/types/agent/base.ts +67 -5
  1273. package/src/types/agent/delegate.ts +110 -0
  1274. package/src/types/agent/index.ts +1 -1
  1275. package/src/types/agent/manager.ts +7 -1
  1276. package/src/types/agent/reactive.ts +27 -3
  1277. package/src/types/agent/{gateway.ts → scheduler.ts} +41 -4
  1278. package/src/types/agent/supervisor.ts +26 -5
  1279. package/src/types/agent/task.ts +31 -9
  1280. package/src/types/agent/working-memory.ts +1 -1
  1281. package/src/types/{verification → authorization}/index.ts +79 -10
  1282. package/src/types/bus/index.ts +30 -1
  1283. package/src/types/code-navigation/index.ts +99 -0
  1284. package/src/types/command/index.ts +68 -0
  1285. package/src/types/common/index.ts +26 -2
  1286. package/src/types/connector/mcp.ts +8 -0
  1287. package/src/types/guardrail/index.ts +72 -1
  1288. package/src/types/hitl/policy.ts +83 -0
  1289. package/src/types/ids/brand.ts +58 -0
  1290. package/src/types/ids/index.ts +109 -42
  1291. package/src/types/message/index.ts +25 -1
  1292. package/src/types/project/entity.ts +22 -2
  1293. package/src/types/provider/interface.ts +45 -2
  1294. package/src/types/provider/model.ts +16 -2
  1295. package/src/types/run/audit.ts +164 -0
  1296. package/src/types/run/cancel-cause.ts +60 -0
  1297. package/src/types/run/checkpoint-store.ts +31 -11
  1298. package/src/types/run/config.ts +25 -4
  1299. package/src/types/run/derive-status.ts +3 -3
  1300. package/src/types/run/entity.ts +2 -4
  1301. package/src/types/run/event-cursor.ts +3 -3
  1302. package/src/types/run/events.ts +165 -6
  1303. package/src/types/run/index.ts +2 -0
  1304. package/src/types/run/metadata.ts +2 -2
  1305. package/src/types/run/prepare-step.ts +33 -0
  1306. package/src/types/run/state.ts +78 -11
  1307. package/src/types/run/stop-reason.ts +9 -0
  1308. package/src/types/run/store.ts +40 -0
  1309. package/src/types/sandbox/index.ts +37 -0
  1310. package/src/types/session/actor.ts +10 -2
  1311. package/src/types/session/entity.ts +9 -7
  1312. package/src/types/session/ids.ts +2 -0
  1313. package/src/types/session/index.ts +2 -0
  1314. package/src/types/session/store.ts +53 -22
  1315. package/src/types/session/sub-session.ts +50 -9
  1316. package/src/types/skills/index.ts +50 -0
  1317. package/src/types/tool/index.ts +171 -1
  1318. package/src/types/tool/presentation.ts +48 -0
  1319. package/src/types/{thread → topic}/entity.ts +34 -26
  1320. package/src/types/topic/index.ts +23 -0
  1321. package/src/types/topic/objective.ts +93 -0
  1322. package/src/types/topic/state.ts +60 -0
  1323. package/src/types/topic/store.ts +101 -0
  1324. package/src/types/workspace/ref.ts +7 -0
  1325. package/src/utils/abort.ts +16 -1
  1326. package/src/utils/hash.ts +16 -0
  1327. package/src/utils/id.ts +172 -12
  1328. package/src/utils/log/attributes.ts +47 -0
  1329. package/src/utils/log/caps.ts +118 -0
  1330. package/src/utils/log/create-logger.ts +198 -0
  1331. package/src/utils/log/exception.ts +124 -0
  1332. package/src/utils/log/index.ts +24 -0
  1333. package/src/utils/log/process-sink.ts +76 -0
  1334. package/src/utils/log/redact.ts +77 -0
  1335. package/src/utils/log/sinks.ts +205 -0
  1336. package/src/utils/log/templates.ts +161 -0
  1337. package/src/utils/log/types.ts +195 -0
  1338. package/src/utils/logger.ts +121 -2
  1339. package/src/utils/renamed-field.ts +35 -0
  1340. package/src/vault/CredentialProvider.ts +147 -0
  1341. package/src/vault/InMemoryCredentialVault.ts +16 -5
  1342. package/src/vault/index.ts +16 -0
  1343. package/src/vault/instrumentation.ts +63 -2
  1344. package/dist/bridge/tools/connector/adapter.d.ts.map +0 -1
  1345. package/dist/bridge/tools/connector/adapter.js.map +0 -1
  1346. package/dist/bridge/tools/connector/definitions.d.ts.map +0 -1
  1347. package/dist/bridge/tools/connector/definitions.js.map +0 -1
  1348. package/dist/bridge/tools/connector/index.d.ts.map +0 -1
  1349. package/dist/bridge/tools/connector/index.js.map +0 -1
  1350. package/dist/bridge/tools/connector/router.d.ts.map +0 -1
  1351. package/dist/bridge/tools/connector/router.js.map +0 -1
  1352. package/dist/connector/execution/factory.d.ts.map +0 -1
  1353. package/dist/connector/execution/factory.js.map +0 -1
  1354. package/dist/connector/execution/hybrid.d.ts.map +0 -1
  1355. package/dist/connector/execution/hybrid.js.map +0 -1
  1356. package/dist/connector/execution/index.d.ts +0 -6
  1357. package/dist/connector/execution/index.d.ts.map +0 -1
  1358. package/dist/connector/execution/index.js +0 -4
  1359. package/dist/connector/execution/index.js.map +0 -1
  1360. package/dist/connector/execution/remote.d.ts.map +0 -1
  1361. package/dist/connector/execution/remote.js.map +0 -1
  1362. package/dist/connector/mcp/server-stdio.d.ts.map +0 -1
  1363. package/dist/connector/mcp/server-stdio.js.map +0 -1
  1364. package/dist/connector/mcp/server.d.ts.map +0 -1
  1365. package/dist/connector/mcp/server.js.map +0 -1
  1366. package/dist/constants/verification/index.d.ts.map +0 -1
  1367. package/dist/constants/verification/index.js.map +0 -1
  1368. package/dist/gateway/completion-inbox.d.ts.map +0 -1
  1369. package/dist/gateway/completion-inbox.js.map +0 -1
  1370. package/dist/gateway/local.d.ts.map +0 -1
  1371. package/dist/gateway/local.js.map +0 -1
  1372. package/dist/manager/thread/lifecycle.d.ts +0 -105
  1373. package/dist/manager/thread/lifecycle.d.ts.map +0 -1
  1374. package/dist/manager/thread/lifecycle.js.map +0 -1
  1375. package/dist/provider/collect.d.ts.map +0 -1
  1376. package/dist/provider/collect.js.map +0 -1
  1377. package/dist/registry/Registry.d.ts.map +0 -1
  1378. package/dist/registry/Registry.js.map +0 -1
  1379. package/dist/router/task-router.d.ts.map +0 -1
  1380. package/dist/router/task-router.js.map +0 -1
  1381. package/dist/runtime/query/context-cache.d.ts.map +0 -1
  1382. package/dist/runtime/query/context-cache.js.map +0 -1
  1383. package/dist/store/thread/disk.d.ts +0 -41
  1384. package/dist/store/thread/disk.d.ts.map +0 -1
  1385. package/dist/store/thread/disk.js +0 -238
  1386. package/dist/store/thread/disk.js.map +0 -1
  1387. package/dist/store/thread/index.d.ts +0 -4
  1388. package/dist/store/thread/index.d.ts.map +0 -1
  1389. package/dist/store/thread/index.js +0 -6
  1390. package/dist/store/thread/index.js.map +0 -1
  1391. package/dist/store/thread/memory.d.ts +0 -23
  1392. package/dist/store/thread/memory.d.ts.map +0 -1
  1393. package/dist/store/thread/memory.js +0 -90
  1394. package/dist/store/thread/memory.js.map +0 -1
  1395. package/dist/types/agent/gateway.d.ts.map +0 -1
  1396. package/dist/types/agent/gateway.js +0 -2
  1397. package/dist/types/agent/gateway.js.map +0 -1
  1398. package/dist/types/thread/entity.d.ts.map +0 -1
  1399. package/dist/types/thread/index.d.ts +0 -3
  1400. package/dist/types/thread/index.d.ts.map +0 -1
  1401. package/dist/types/thread/index.js +0 -5
  1402. package/dist/types/thread/index.js.map +0 -1
  1403. package/dist/types/thread/store.d.ts +0 -86
  1404. package/dist/types/thread/store.d.ts.map +0 -1
  1405. package/dist/types/thread/store.js +0 -22
  1406. package/dist/types/thread/store.js.map +0 -1
  1407. package/dist/types/verification/index.d.ts +0 -317
  1408. package/dist/types/verification/index.d.ts.map +0 -1
  1409. package/dist/types/verification/index.js +0 -53
  1410. package/dist/types/verification/index.js.map +0 -1
  1411. package/dist/verification/gate.d.ts.map +0 -1
  1412. package/dist/verification/gate.js.map +0 -1
  1413. package/dist/verification/index.d.ts +0 -4
  1414. package/dist/verification/index.d.ts.map +0 -1
  1415. package/dist/verification/index.js +0 -4
  1416. package/dist/verification/index.js.map +0 -1
  1417. package/dist/verification/presets.d.ts.map +0 -1
  1418. package/dist/verification/presets.js.map +0 -1
  1419. package/dist/verification/rules.d.ts +0 -4
  1420. package/dist/verification/rules.d.ts.map +0 -1
  1421. package/dist/verification/rules.js.map +0 -1
  1422. package/src/connector/execution/index.ts +0 -5
  1423. package/src/manager/thread/lifecycle.ts +0 -217
  1424. package/src/store/thread/disk.ts +0 -272
  1425. package/src/store/thread/index.ts +0 -7
  1426. package/src/store/thread/memory.ts +0 -104
  1427. package/src/types/thread/index.ts +0 -6
  1428. package/src/types/thread/store.ts +0 -92
  1429. package/src/verification/index.ts +0 -3
  1430. /package/dist/{bridge/tools/connector → connector/tools}/index.d.ts +0 -0
  1431. /package/dist/{bridge/tools/connector → connector/tools}/index.js +0 -0
  1432. /package/dist/constants/{verification → authorization}/index.d.ts +0 -0
  1433. /package/dist/constants/{verification → authorization}/index.js +0 -0
  1434. /package/dist/{router → model-router}/task-router.d.ts +0 -0
  1435. /package/dist/{router → model-router}/task-router.js +0 -0
  1436. /package/dist/types/{thread → topic}/entity.js +0 -0
  1437. /package/src/{bridge/tools/connector → connector/tools}/index.ts +0 -0
  1438. /package/src/constants/{verification → authorization}/index.ts +0 -0
  1439. /package/src/{router → model-router}/task-router.ts +0 -0
@@ -0,0 +1,156 @@
1
+ import { z } from 'zod'
2
+
3
+ import { WebFetchRefusedError } from '../../connector/web/types.js'
4
+ import { defineTool } from '../defineTool.js'
5
+
6
+ /**
7
+ * The two web tools, and the reason they are one file.
8
+ *
9
+ * Both declare `category: 'network'`, which is not decoration: the
10
+ * authorization presets route `network` to human review and only the
11
+ * `unattended` preset — the one that requires the sandbox to enforce
12
+ * network isolation — auto-approves it. Getting that category wrong would
13
+ * quietly hand every sandboxed run outbound reach, so the two tools that
14
+ * most need it are written where the reason is visible once.
15
+ *
16
+ * `web_search` was already a name in this tree before either tool existed:
17
+ * two fixtures invented it, one to have a deferred-loading tool in a
18
+ * catalog test and one to have a network tool for a gate test. Neither was
19
+ * wrong, and both were describing a tool nobody had written — so the name
20
+ * had a meaning in the tests and none in the runtime.
21
+ */
22
+
23
+ const fetchInput = z.object({
24
+ url: z.string().min(1).describe('The absolute http(s) URL to fetch.'),
25
+ })
26
+
27
+ const searchInput = z.object({
28
+ query: z.string().min(1).describe('What to search for.'),
29
+ limit: z
30
+ .number()
31
+ .int()
32
+ .min(1)
33
+ .max(25)
34
+ .optional()
35
+ .describe('How many results to return. The provider may return fewer.'),
36
+ })
37
+
38
+ export const WEB_FETCH_TOOL_NAME = 'web_fetch'
39
+ export const WEB_SEARCH_TOOL_NAME = 'web_search'
40
+
41
+ export const WebFetchTool = defineTool({
42
+ name: WEB_FETCH_TOOL_NAME,
43
+ description:
44
+ 'Fetches an http(s) URL and returns its body as text. Requests to addresses inside the host, and non-web schemes, are refused.',
45
+ inputSchema: fetchInput,
46
+ // The load-bearing line. `network` is what the presets branch on, and a
47
+ // tool that claimed `analysis` would auto-approve under every sandboxed
48
+ // preset — handing outbound reach to runs whose sandbox was never asked
49
+ // to confine the network.
50
+ category: 'network',
51
+ permissions: ['network_access'],
52
+ // Reads a page and changes nothing HERE. That is not the same as
53
+ // harmless — a GET can still act on a remote system — which is why the
54
+ // category, not this flag, is what the presets use.
55
+ readOnly: true,
56
+ destructive: false,
57
+ concurrencySafe: true,
58
+
59
+ async execute(input, context) {
60
+ if (!context.web?.fetch) {
61
+ return {
62
+ success: false,
63
+ output: '',
64
+ error: 'This run has no web fetch provider configured, so no URL can be fetched.',
65
+ }
66
+ }
67
+
68
+ try {
69
+ const result = await context.web.fetch.fetch({
70
+ url: input.url,
71
+ ...(context.abortSignal ? { signal: context.abortSignal } : {}),
72
+ })
73
+
74
+ // The chain, when there was one. A model citing the URL it asked
75
+ // for after three redirects is citing a page it did not read.
76
+ const arrivedAt = result.redirects.length > 1 ? `\n[redirected to ${result.url}]` : ''
77
+ const cut = result.truncated
78
+ ? '\n[the page was longer than the fetch limit and was cut here]'
79
+ : ''
80
+
81
+ return {
82
+ success: true,
83
+ output: `${result.body}${arrivedAt}${cut}`,
84
+ data: {
85
+ url: result.url,
86
+ status: result.status,
87
+ truncated: result.truncated,
88
+ redirects: result.redirects,
89
+ ...(result.contentType === undefined ? {} : { contentType: result.contentType }),
90
+ },
91
+ }
92
+ } catch (err) {
93
+ if (err instanceof WebFetchRefusedError) {
94
+ // The refusal reaches the model in its own words, because the
95
+ // reason is actionable: a wrong scheme is a mistake it can fix,
96
+ // and a private address is one it should stop trying.
97
+ return { success: false, output: '', error: err.message }
98
+ }
99
+ return {
100
+ success: false,
101
+ output: '',
102
+ error: `Fetching "${input.url}" failed: ${err instanceof Error ? err.message : String(err)}`,
103
+ }
104
+ }
105
+ },
106
+ })
107
+
108
+ export const WebSearchTool = defineTool({
109
+ name: WEB_SEARCH_TOOL_NAME,
110
+ description:
111
+ "Searches the web and returns titles, URLs and the provider's own snippets. Fetch a result with web_fetch before relying on its contents.",
112
+ inputSchema: searchInput,
113
+ category: 'network',
114
+ permissions: ['network_access'],
115
+ readOnly: true,
116
+ destructive: false,
117
+ concurrencySafe: true,
118
+
119
+ async execute(input, context) {
120
+ if (!context.web?.search) {
121
+ // This kernel ships no search backend, so "not configured" is the
122
+ // ordinary case rather than an error state — and saying which
123
+ // piece is missing is what tells an operator it is a wiring
124
+ // decision and not a failure.
125
+ return {
126
+ success: false,
127
+ output: '',
128
+ error:
129
+ 'This run has no web search provider configured. Namzu ships no search backend; a host supplies one.',
130
+ }
131
+ }
132
+
133
+ const result = await context.web.search.search({
134
+ query: input.query,
135
+ ...(input.limit === undefined ? {} : { limit: input.limit }),
136
+ ...(context.abortSignal ? { signal: context.abortSignal } : {}),
137
+ })
138
+
139
+ if (result.hits.length === 0) {
140
+ // A real answer, and distinct from the refusal above: the search
141
+ // happened and found nothing.
142
+ return { success: true, output: `No results for "${input.query}".`, data: { hits: [] } }
143
+ }
144
+
145
+ return {
146
+ success: true,
147
+ output: result.hits
148
+ .map(
149
+ (hit, i) =>
150
+ `${i + 1}. ${hit.title}\n ${hit.url}${hit.snippet ? `\n ${hit.snippet}` : ''}`,
151
+ )
152
+ .join('\n'),
153
+ data: { query: result.query, hits: result.hits },
154
+ }
155
+ },
156
+ })
@@ -1,7 +1,7 @@
1
1
  import { access, mkdir } from 'node:fs/promises'
2
2
  import { dirname } from 'node:path'
3
3
  import { z } from 'zod'
4
- import type { ToolContext } from '../../types/tool/index.js'
4
+ import type { ToolContext, ToolResult } from '../../types/tool/index.js'
5
5
  import { defineTool } from '../defineTool.js'
6
6
  import { resolveWithinReal } from '../paths.js'
7
7
  import { atomicWriteFile } from './atomic-write-file.js'
@@ -80,6 +80,42 @@ export const WriteFileTool = defineTool({
80
80
  destructive: true,
81
81
  concurrencySafe: false,
82
82
 
83
+ /**
84
+ * The whole file body, described by the tool.
85
+ *
86
+ * A `diff` with an EMPTY `before`, which is what a write actually is:
87
+ * whatever was there is gone and this is what replaces it. `edit`
88
+ * declines to do that for an insert — there, an empty `before` would
89
+ * claim the whole file was added and it was not. Here it is true.
90
+ *
91
+ * A host with nothing to contrast against renders the `after` plainly
92
+ * rather than as `+` lines, which is the row a reader wants: they are
93
+ * approving a file, not reviewing a patch.
94
+ */
95
+ presentCall(input: WriteInput) {
96
+ const content = input.content ?? input.newStr
97
+ if (typeof content !== 'string') return undefined
98
+ return {
99
+ kind: 'diff' as const,
100
+ ...(input.path ? { path: input.path } : {}),
101
+ before: '',
102
+ after: content,
103
+ }
104
+ },
105
+
106
+ /**
107
+ * A label, deliberately — which is what suppresses the detail block.
108
+ *
109
+ * The content was already shown under the CALL, where the user could
110
+ * act on it. Repeating it under the result doubles the longest rows in
111
+ * the transcript to say nothing new. A host used to decide this by
112
+ * matching `name === 'write' || name === 'edit'`; it is the tool's to
113
+ * say, and now it says it.
114
+ */
115
+ presentResult(_input: WriteInput, result: ToolResult) {
116
+ return { kind: 'generic' as const, label: result.output?.split('\n')[0] ?? '' }
117
+ },
118
+
83
119
  async execute(input: WriteInput, context) {
84
120
  // `execute` is reachable without going through the registry, so the
85
121
  // closed contract has to be enforced on this path too or it is not
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod'
2
2
 
3
3
  import type { AgentRuntimeContext } from '../../types/agent/base.js'
4
- import type { TaskGateway } from '../../types/agent/gateway.js'
4
+ import type { TaskScheduler } from '../../types/agent/scheduler.js'
5
5
  import type { ToolDefinition } from '../../types/tool/index.js'
6
6
  import { defineTool } from '../defineTool.js'
7
7
  import { wrapUntrusted } from '../untrusted-envelope.js'
@@ -44,7 +44,7 @@ import type { TaskLaunchedCallback } from './index.js'
44
44
  * Neither is legacy. Pick by how much of the coordinator surface you want.
45
45
  */
46
46
  export interface AgentToolOptions {
47
- gateway: TaskGateway
47
+ gateway: TaskScheduler
48
48
  workingDirectory: string
49
49
  runtimeContext?: AgentRuntimeContext
50
50
  allowedAgentIds: string[]
@@ -1,13 +1,15 @@
1
1
  import { z } from 'zod'
2
- import type { CompletionInbox } from '../../gateway/completion-inbox.js'
3
2
  import type { PlanManager } from '../../manager/plan/lifecycle.js'
4
3
  import type { PendingAnswers, QuestionParkRecorder } from '../../runtime/query/question-park.js'
4
+ import type { CompletionInbox } from '../../scheduler/completion-inbox.js'
5
5
  import type { AgentRuntimeContext } from '../../types/agent/base.js'
6
- import type { TaskGateway } from '../../types/agent/gateway.js'
6
+ import type { TaskScheduler } from '../../types/agent/scheduler.js'
7
7
  import type { ResumeHandler, UserQuestionOption } from '../../types/hitl/index.js'
8
8
  import type { RunId, TaskId } from '../../types/ids/index.js'
9
9
  import type { TaskStore } from '../../types/task/index.js'
10
10
  import type { ToolDefinition } from '../../types/tool/index.js'
11
+ import { toErrorMessage } from '../../utils/error.js'
12
+ import { asCheckpointId, asTaskId } from '../../utils/id.js'
11
13
  import { defineTool } from '../defineTool.js'
12
14
  import { wrapUntrusted } from '../untrusted-envelope.js'
13
15
  import { failureLabel, taskSucceeded } from './outcome.js'
@@ -31,7 +33,7 @@ export type TaskLaunchedCallback = (
31
33
  ) => void
32
34
 
33
35
  export interface CoordinatorToolsOptions {
34
- gateway: TaskGateway
36
+ gateway: TaskScheduler
35
37
  workingDirectory: string
36
38
  runtimeContext?: AgentRuntimeContext
37
39
  allowedAgentIds: string[]
@@ -48,6 +50,16 @@ export interface CoordinatorToolsOptions {
48
50
 
49
51
  taskStore?: TaskStore
50
52
 
53
+ /**
54
+ * Called when a plan is APPROVED, so the run can leave plan mode.
55
+ *
56
+ * A callback rather than a store handle, because what "leaving plan
57
+ * mode" means belongs to whoever owns the mode — a run flipping its own
58
+ * box, a host persisting to a topic record, both, or neither. This file
59
+ * knows only that approval happened.
60
+ */
61
+ onPlanApproved?: () => Promise<void> | void
62
+
51
63
  runId?: RunId
52
64
 
53
65
  getPlanManager?: () => PlanManager | undefined
@@ -409,7 +421,7 @@ export const DELEGATION_TIMEOUT_MS = 60 * 60 * 1000
409
421
  * `NAMZU_DELEGATION_IDLE_MS` to change it.
410
422
  *
411
423
  * Only armed when the gateway can report progress at all; see
412
- * `TaskGateway.onTaskProgress`.
424
+ * `TaskScheduler.onTaskProgress`.
413
425
  */
414
426
  export const DELEGATION_IDLE_MS = readPositiveIntEnv('NAMZU_DELEGATION_IDLE_MS', 5 * 60 * 1000)
415
427
 
@@ -446,6 +458,7 @@ export function buildCoordinatorTools(opts: CoordinatorToolsOptions): ToolDefini
446
458
  allowedAgentIds: agentIds,
447
459
  allowDelegation,
448
460
  taskStore,
461
+ onPlanApproved,
449
462
  runId,
450
463
  getPlanManager,
451
464
  resumeHandler,
@@ -464,7 +477,7 @@ export function buildCoordinatorTools(opts: CoordinatorToolsOptions): ToolDefini
464
477
  /**
465
478
  * The tasks THIS surface launched — the scope of everything it will read back.
466
479
  *
467
- * A `TaskGateway` is shared on purpose: `SupervisorAgentConfig.gateway`
480
+ * A `TaskScheduler` is shared on purpose: `SupervisorAgentConfig.scheduler`
468
481
  * exists so a host can hand the same one to several runs. `listTasks()` is
469
482
  * therefore gateway-wide by design, and `agent_task_list` used to hand that
470
483
  * straight to the model — so a supervisor could read a sibling run's worker
@@ -612,7 +625,7 @@ export function buildCoordinatorTools(opts: CoordinatorToolsOptions): ToolDefini
612
625
 
613
626
  if (taskStore) {
614
627
  if (resolvedPlanTaskId) {
615
- await taskStore.update(resolvedPlanTaskId as `task_${string}`, {
628
+ await taskStore.update(asTaskId(resolvedPlanTaskId), {
616
629
  status: 'in_progress',
617
630
  owner: agent_id,
618
631
  })
@@ -673,7 +686,7 @@ export function buildCoordinatorTools(opts: CoordinatorToolsOptions): ToolDefini
673
686
  // worker behind it — indefinitely, since nothing later will
674
687
  // close a task whose launch never happened.
675
688
  if (resolvedPlanTaskId && taskStore) {
676
- await taskStore.update(resolvedPlanTaskId as `task_${string}`, {
689
+ await taskStore.update(asTaskId(resolvedPlanTaskId), {
677
690
  status: 'failed',
678
691
  description: 'Failed: the launch was refused before any worker started',
679
692
  })
@@ -776,7 +789,7 @@ export function buildCoordinatorTools(opts: CoordinatorToolsOptions): ToolDefini
776
789
  // statuses saw work that had been done; only a reader of every
777
790
  // description saw otherwise — and a dependent unit had no way
778
791
  // to tell at all.
779
- await taskStore.update(resolvedPlanTaskId as `task_${string}`, {
792
+ await taskStore.update(asTaskId(resolvedPlanTaskId), {
780
793
  status: success ? 'completed' : 'failed',
781
794
  description: success ? undefined : `Failed: ${resultText.substring(0, 200)}`,
782
795
  })
@@ -849,10 +862,17 @@ export function buildCoordinatorTools(opts: CoordinatorToolsOptions): ToolDefini
849
862
  // waiting. Same bound as the launch it is waiting on.
850
863
  timeoutMs: DELEGATION_TIMEOUT_MS,
851
864
  async execute({ task_id }, _context) {
865
+ // ONE cast, hoisted, and deliberately not `asTaskId`. The membership
866
+ // gate below is a strictly stronger check than the prefix: a
867
+ // `task_` spelling proves nothing about ownership, and
868
+ // `launchedHere` proves both that the id is real and that this run
869
+ // owns it. A prefix check in front of it would be a check whose
870
+ // every failure the next line already catches.
871
+ const taskId = task_id as TaskId
852
872
  // Same scope as the listing — see `launchedHere`. Asked FIRST, so a
853
873
  // task belonging to a sibling run on a shared gateway is refused
854
874
  // here rather than waited on and then read.
855
- if (!launchedHere.has(task_id as TaskId)) {
875
+ if (!launchedHere.has(taskId)) {
856
876
  // Deliberately does not distinguish "never existed" from
857
877
  // "belongs to someone else". The second answer is itself the
858
878
  // leak in miniature: it confirms a task id a run was not
@@ -864,7 +884,7 @@ export function buildCoordinatorTools(opts: CoordinatorToolsOptions): ToolDefini
864
884
  }
865
885
  }
866
886
 
867
- const known = gateway.getTask(task_id as TaskId)
887
+ const known = gateway.getTask(taskId)
868
888
  if (!known) {
869
889
  return {
870
890
  success: false,
@@ -873,7 +893,7 @@ export function buildCoordinatorTools(opts: CoordinatorToolsOptions): ToolDefini
873
893
  }
874
894
  }
875
895
 
876
- const outcome = await waitForTaskWithBounds(gateway, task_id as TaskId, {
896
+ const outcome = await waitForTaskWithBounds(gateway, taskId, {
877
897
  runMs: DELEGATION_TIMEOUT_MS,
878
898
  idleMs: DELEGATION_IDLE_MS,
879
899
  })
@@ -888,11 +908,11 @@ export function buildCoordinatorTools(opts: CoordinatorToolsOptions): ToolDefini
888
908
  if (_context.abortSignal?.aborted) {
889
909
  return {
890
910
  success: false,
891
- output: `This wait was abandoned before task ${task_id} finished; ${whereTheResultWillTurnUp(task_id as TaskId)}`,
911
+ output: `This wait was abandoned before task ${task_id} finished; ${whereTheResultWillTurnUp(taskId)}`,
892
912
  data: { task_id, abandoned: true },
893
913
  }
894
914
  }
895
- completionInbox?.claim(task_id as TaskId)
915
+ completionInbox?.claim(taskId)
896
916
 
897
917
  const success = completed.state === 'completed'
898
918
  const resultText =
@@ -932,13 +952,17 @@ export function buildCoordinatorTools(opts: CoordinatorToolsOptions): ToolDefini
932
952
  destructive: false,
933
953
  concurrencySafe: true,
934
954
  async execute({ task_id }) {
935
- gateway.cancelTask(task_id as TaskId)
955
+ // One cast at the boundary. `cancelTask` is idempotent on an id it
956
+ // does not know, so a malformed one is a no-op rather than a fault —
957
+ // which is why this is a cast and not a throwing constructor.
958
+ const taskId = task_id as TaskId
959
+ gateway.cancelTask(taskId)
936
960
  // Stop holding the run open for it. `expect` put this task on the
937
961
  // inbox's outstanding list at launch and only a completion takes it
938
962
  // off — so without this a cancelled worker kept `hasPendingWork`
939
963
  // true and every attempt to settle paid the full grace period
940
964
  // waiting for a result that had just been called off.
941
- completionInbox?.forget(task_id as TaskId)
965
+ completionInbox?.forget(taskId)
942
966
  return {
943
967
  success: true,
944
968
  output: `Task ${task_id} cancelled`,
@@ -947,6 +971,78 @@ export function buildCoordinatorTools(opts: CoordinatorToolsOptions): ToolDefini
947
971
  },
948
972
  })
949
973
 
974
+ const continueTaskTool = defineTool({
975
+ name: 'continue_task',
976
+ description:
977
+ "Send a further instruction to a running agent task you launched with create_task. Use it to redirect a background worker that is heading the wrong way, instead of cancelling it and losing everything it has done. Does not block: the worker's result still arrives the way it already would.",
978
+ inputSchema: z.object({
979
+ task_id: z.string().describe('Agent task ID from a previous create_task'),
980
+ message: z.string().describe('The instruction to hand the worker'),
981
+ }),
982
+ category: 'custom',
983
+ permissions: [],
984
+ readOnly: false,
985
+ destructive: false,
986
+ concurrencySafe: true,
987
+ async execute({ task_id, message }) {
988
+ // ONE cast, hoisted, and deliberately not `asTaskId`. The membership
989
+ // gate below is a strictly stronger check than the prefix: a
990
+ // `task_` spelling proves nothing about ownership, and
991
+ // `launchedHere` proves both that the id is real and that this run
992
+ // owns it. A prefix check in front of it would be a check whose
993
+ // every failure the next line already catches.
994
+ const taskId = task_id as TaskId
995
+ // Same fencing as the listing and the wait — see `launchedHere`.
996
+ // Asked FIRST, so a task belonging to a sibling run on a shared
997
+ // gateway is refused before anything is delivered to it.
998
+ if (!launchedHere.has(taskId)) {
999
+ // Does not distinguish "never existed" from "belongs to someone
1000
+ // else", for the reason `wait_for_task` gives: the second answer
1001
+ // confirms a task id this run was not supposed to know.
1002
+ return {
1003
+ success: false,
1004
+ output: `No task ${task_id} was launched by this run. Call agent_task_list to see the tasks you can steer.`,
1005
+ data: { task_id },
1006
+ }
1007
+ }
1008
+
1009
+ const known = gateway.getTask(taskId)
1010
+ if (!known) {
1011
+ return {
1012
+ success: false,
1013
+ output: `Task ${task_id} is no longer tracked, so there is nothing to send it.`,
1014
+ data: { task_id },
1015
+ }
1016
+ }
1017
+
1018
+ try {
1019
+ await gateway.continueTask(taskId, message)
1020
+ } catch (err) {
1021
+ // The manager refuses a terminal task by throwing, and a throw
1022
+ // out of `execute` is a tool ERROR — which reads to the model as
1023
+ // "the platform broke" rather than "that worker has finished".
1024
+ // Named as a refusal with the state in it, so the next move is
1025
+ // obvious: read its result instead of steering it.
1026
+ return {
1027
+ success: false,
1028
+ output: `Could not send to task ${task_id} (state: ${known.state}): ${toErrorMessage(err)}`,
1029
+ data: { task_id, state: known.state },
1030
+ }
1031
+ }
1032
+
1033
+ // Deliberately does not wait. The worker's result arrives the way it
1034
+ // already would — as this call's `tool_result` for a blocking
1035
+ // launch, or as a completion notification for a background one — and
1036
+ // blocking here would turn a redirect into a second `wait_for_task`
1037
+ // the supervisor did not ask for.
1038
+ return {
1039
+ success: true,
1040
+ output: `Sent to task ${task_id}. It will see this at its next turn; its result still arrives the way it already would.`,
1041
+ data: { task_id },
1042
+ }
1043
+ },
1044
+ })
1045
+
950
1046
  const agentTaskList = defineTool({
951
1047
  name: 'agent_task_list',
952
1048
  description: `Inspect the live state of the agent tasks YOU launched with create_task: returns each task's id, agent, state (pending/running/completed/failed/canceled), and timing. Tasks launched by another run are not listed, even when it shares this gateway. Distinct from the plan-task store's \`task_list\` (which lists planning tasks): this tool lists running/completed worker invocations. ${listingAdvice}`,
@@ -1047,32 +1143,27 @@ export function buildCoordinatorTools(opts: CoordinatorToolsOptions): ToolDefini
1047
1143
  },
1048
1144
  })
1049
1145
 
1050
- // `continue_task` is gone, and the reasoning is worth keeping because
1051
- // the obvious argument for bringing it back does not survive contact.
1052
- //
1053
- // It was dropped on the grounds that a blocking `create_task` leaves every
1054
- // worker terminal before a later turn learns its id, and the manager
1055
- // refuses `continue` on a terminal task. `background: true` reinstated that
1056
- // precondition — a live id is reachable now — so the question was reopened.
1146
+ // `continue_task` is registered again, and the reasoning that dropped it
1147
+ // is kept because it was correct and has expired rather than been wrong.
1057
1148
  //
1058
- // Measured rather than assumed, and it fails on the other side. On a LIVE
1059
- // task the manager accepts the call and pushes onto `pendingMessages`,
1060
- // and NOTHING drains that queue during a run. This codebase already
1061
- // knows: `runtime/query/steering.ts` says in as many words that
1062
- // `queueMessage`/`drainMessages` were never read by the iteration loop,
1063
- // and `SteeringChannel` exists BECAUSE of that it delivers guidance on a
1064
- // tool result instead, since a `tool_use` must be answered by a
1065
- // `tool_result` with the same id and there is no legal slot for a user
1066
- // message mid-batch.
1149
+ // It read: on a LIVE task the manager accepts the call and pushes onto
1150
+ // `pendingMessages`, and NOTHING drains that queue during a run — so the
1151
+ // tool had no state it worked in. Terminal tasks refused it; live ones
1152
+ // accepted it into a queue nobody read. Registering it would have handed
1153
+ // the model a call that silently does nothing, which is worse than an
1154
+ // unregistered definition, because a tool that cannot be called at least
1155
+ // cannot fail quietly.
1067
1156
  //
1068
- // So the tool had no state it worked in: terminal tasks refuse it, live
1069
- // tasks accept it into a queue nobody reads. Registering it would have
1070
- // handed the model a call that silently does nothing — worse than the
1071
- // unregistered definition it replaced, because a defined-but-unreachable
1072
- // tool at least cannot be called.
1157
+ // The comment named its own expiry condition: "if follow-ups on a live
1158
+ // worker are wanted, the work is a consumer for the queue". That consumer
1159
+ // exists `BaseAgentConfig.inboundMessages`, drained at the iteration
1160
+ // boundary so the precondition the tool needed is met and the argument
1161
+ // against it no longer holds.
1073
1162
  //
1074
- // If follow-ups on a live worker are wanted, the work is a consumer for
1075
- // the queue or a steering channel that reaches a child, not this tool.
1163
+ // A supervisor whose background worker is heading the wrong way could
1164
+ // previously only wait for it or kill it, and killing it throws away
1165
+ // everything it has done.
1166
+
1076
1167
  // `cancel_task` is registered again, and the reasoning that dropped it is
1077
1168
  // worth keeping because it was sound at the time and is not any more.
1078
1169
  //
@@ -1128,7 +1219,7 @@ export function buildCoordinatorTools(opts: CoordinatorToolsOptions): ToolDefini
1128
1219
  // behaviour exactly.
1129
1220
  const canDelegate = agentIds.length > 0 && allowDelegation !== false
1130
1221
  const tools: ToolDefinition[] = canDelegate
1131
- ? [createTask, waitForTaskTool, cancelTask, agentTaskList]
1222
+ ? [createTask, waitForTaskTool, continueTaskTool, cancelTask, agentTaskList]
1132
1223
  : [agentTaskList]
1133
1224
 
1134
1225
  if (getPlanManager) {
@@ -1265,6 +1356,19 @@ export function buildCoordinatorTools(opts: CoordinatorToolsOptions): ToolDefini
1265
1356
  const output = response.feedback
1266
1357
  ? `Plan approved by user with required edits — apply them during execution:\n${response.feedback}\nProceed with execution — launch workers via create_task.${howToReport}`
1267
1358
  : `Plan approved by user. Proceed with execution — launch workers via create_task.${howToReport}`
1359
+ // An approved plan LEAVES plan mode, in this conversation and
1360
+ // durably. That flow — look around under plan mode, propose,
1361
+ // get approval, continue in the SAME run — is what the mode's
1362
+ // per-run lifetime made impossible: leaving it meant ending
1363
+ // the run and discarding the step and tool-schema context.
1364
+ //
1365
+ // Failures are swallowed with a log rather than turning an
1366
+ // approval into a refusal. The user said yes; a state store
1367
+ // that cannot record it is an operator's problem to see in the
1368
+ // logs, not a reason to tell the model its approved plan was
1369
+ // rejected.
1370
+ await onPlanApproved?.()
1371
+
1268
1372
  return {
1269
1373
  success: true,
1270
1374
  output,
@@ -1480,7 +1584,7 @@ export function buildCoordinatorTools(opts: CoordinatorToolsOptions): ToolDefini
1480
1584
  (await parkHandler({
1481
1585
  type: 'user_question',
1482
1586
  runId: parkRunId,
1483
- checkpointId: parkedAt ?? `cp_question_${toolUseId}`,
1587
+ checkpointId: parkedAt ?? asCheckpointId(`cp_question_${toolUseId}`),
1484
1588
  question: questionData,
1485
1589
  }))
1486
1590
 
@@ -1,4 +1,4 @@
1
- import type { TaskHandle } from '../../types/agent/gateway.js'
1
+ import type { TaskHandle } from '../../types/agent/scheduler.js'
2
2
 
3
3
  /**
4
4
  * Did this worker actually succeed?
@@ -48,7 +48,7 @@ export function taskSucceeded(handle: Pick<TaskHandle, 'state' | 'result'>): boo
48
48
  * the gateway state would never see it fail.
49
49
  *
50
50
  * Third copy of this knowledge, now in the one place `taskSucceeded` already
51
- * lives — it was written independently in `LocalTaskGateway`, which got it
51
+ * lives — it was written independently in `LocalTaskScheduler`, which got it
52
52
  * right, but a rule that each caller has to remember is a rule one of them
53
53
  * eventually forgets. That has already happened once with `taskSucceeded`.
54
54
  */
@@ -1,4 +1,4 @@
1
- import type { TaskGateway, TaskHandle } from '../../types/agent/gateway.js'
1
+ import type { TaskHandle, TaskScheduler } from '../../types/agent/scheduler.js'
2
2
  import type { TaskId } from '../../types/ids/index.js'
3
3
 
4
4
  /**
@@ -22,7 +22,7 @@ import type { TaskId } from '../../types/ids/index.js'
22
22
  *
23
23
  * The idle bound is only armed when the gateway can report progress.
24
24
  * `onTaskProgress` is optional on the contract, because hosts implement
25
- * `TaskGateway` and not all of them can observe their children — so a gateway
25
+ * `TaskScheduler` and not all of them can observe their children — so a gateway
26
26
  * without it is bounded by the wall clock alone, exactly as before. That is a
27
27
  * real degradation and it is deliberately visible in the result rather than
28
28
  * silent: `idleBoundArmed` says whether the quieter half was ever watching.
@@ -61,7 +61,7 @@ export interface WaitBounds {
61
61
  * been unpicking.
62
62
  */
63
63
  export async function waitForTaskWithBounds(
64
- gateway: TaskGateway,
64
+ gateway: TaskScheduler,
65
65
  taskId: TaskId,
66
66
  bounds: WaitBounds,
67
67
  now: () => number = Date.now,
@@ -5,6 +5,7 @@ import type {
5
5
  ToolPermission,
6
6
  ToolResult,
7
7
  } from '../types/tool/index.js'
8
+ import type { ToolPresentation } from '../types/tool/presentation.js'
8
9
  import { toErrorMessage } from '../utils/error.js'
9
10
 
10
11
  export interface DefineToolOptions<S extends z.ZodType> {
@@ -20,6 +21,17 @@ export interface DefineToolOptions<S extends z.ZodType> {
20
21
  destructive: boolean | ((input: z.infer<S>) => boolean)
21
22
  concurrencySafe: boolean
22
23
  tier?: string
24
+ /**
25
+ * How this tool's call and result should be shown; see
26
+ * {@link ToolPresentation}.
27
+ *
28
+ * Here rather than only on `ToolDefinition` for the reason `maxRetries`
29
+ * is: this builder is the sanctioned way to author a tool, and a field
30
+ * the executor reads that the builder cannot set is a field only
31
+ * hand-written definitions can use.
32
+ */
33
+ presentCall?: ToolPresentation<z.infer<S>>['presentCall']
34
+ presentResult?: ToolPresentation<z.infer<S>>['presentResult']
23
35
  /** Per-execution deadline; see {@link ToolDefinition.timeoutMs}. */
24
36
  timeoutMs?: number
25
37
  /**
@@ -54,6 +66,8 @@ export function defineTool<S extends z.ZodType>(
54
66
  tier: options.tier,
55
67
  ...(options.timeoutMs !== undefined ? { timeoutMs: options.timeoutMs } : {}),
56
68
  ...(options.maxRetries !== undefined ? { maxRetries: options.maxRetries } : {}),
69
+ ...(options.presentCall ? { presentCall: options.presentCall } : {}),
70
+ ...(options.presentResult ? { presentResult: options.presentResult } : {}),
57
71
  ...(options.outputSchema !== undefined ? { outputSchema: options.outputSchema } : {}),
58
72
  ...(options.terminal !== undefined ? { terminal: options.terminal } : {}),
59
73
  category: options.category,