@namzu/sdk 27.1.0 → 29.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 (1427) hide show
  1. package/CHANGELOG.md +1757 -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 -6
  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 -16
  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 +107 -36
  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/client.d.ts.map +1 -1
  151. package/dist/connector/mcp/client.js +31 -20
  152. package/dist/connector/mcp/client.js.map +1 -1
  153. package/dist/connector/mcp/discovery.d.ts.map +1 -1
  154. package/dist/connector/mcp/discovery.js +31 -20
  155. package/dist/connector/mcp/discovery.js.map +1 -1
  156. package/dist/connector/mcp/http-sse.d.ts +2 -1
  157. package/dist/connector/mcp/http-sse.d.ts.map +1 -1
  158. package/dist/connector/mcp/http-sse.js +9 -6
  159. package/dist/connector/mcp/http-sse.js.map +1 -1
  160. package/dist/connector/mcp/index.d.ts +2 -3
  161. package/dist/connector/mcp/index.d.ts.map +1 -1
  162. package/dist/connector/mcp/index.js +5 -4
  163. package/dist/connector/mcp/index.js.map +1 -1
  164. package/dist/connector/mcp/reconnect.d.ts +123 -0
  165. package/dist/connector/mcp/reconnect.d.ts.map +1 -0
  166. package/dist/connector/mcp/reconnect.js +121 -0
  167. package/dist/connector/mcp/reconnect.js.map +1 -0
  168. package/dist/connector/mcp/server/index.d.ts +28 -0
  169. package/dist/connector/mcp/server/index.d.ts.map +1 -0
  170. package/dist/connector/mcp/server/index.js +27 -0
  171. package/dist/connector/mcp/server/index.js.map +1 -0
  172. package/dist/connector/mcp/{server-stdio.d.ts → server/server-stdio.d.ts} +3 -2
  173. package/dist/connector/mcp/server/server-stdio.d.ts.map +1 -0
  174. package/dist/connector/mcp/{server-stdio.js → server/server-stdio.js} +4 -3
  175. package/dist/connector/mcp/server/server-stdio.js.map +1 -0
  176. package/dist/connector/mcp/{server.d.ts → server/server.d.ts} +5 -4
  177. package/dist/connector/mcp/server/server.d.ts.map +1 -0
  178. package/dist/connector/mcp/{server.js → server/server.js} +14 -9
  179. package/dist/connector/mcp/server/server.js.map +1 -0
  180. package/dist/connector/mcp/stdio.d.ts +2 -1
  181. package/dist/connector/mcp/stdio.d.ts.map +1 -1
  182. package/dist/connector/mcp/stdio.js +15 -7
  183. package/dist/connector/mcp/stdio.js.map +1 -1
  184. package/dist/connector/mcp/streamable-http.d.ts +2 -1
  185. package/dist/connector/mcp/streamable-http.d.ts.map +1 -1
  186. package/dist/connector/mcp/streamable-http.js +5 -4
  187. package/dist/connector/mcp/streamable-http.js.map +1 -1
  188. package/dist/{bridge/tools/connector → connector/tools}/adapter.d.ts +4 -4
  189. package/dist/connector/tools/adapter.d.ts.map +1 -0
  190. package/dist/{bridge/tools/connector → connector/tools}/adapter.js +1 -1
  191. package/dist/connector/tools/adapter.js.map +1 -0
  192. package/dist/{bridge/tools/connector → connector/tools}/definitions.d.ts +2 -2
  193. package/dist/connector/tools/definitions.d.ts.map +1 -0
  194. package/dist/{bridge/tools/connector → connector/tools}/definitions.js +2 -2
  195. package/dist/connector/tools/definitions.js.map +1 -0
  196. package/dist/connector/tools/index.d.ts.map +1 -0
  197. package/dist/connector/tools/index.js.map +1 -0
  198. package/dist/{bridge/tools/connector → connector/tools}/router.d.ts +4 -2
  199. package/dist/connector/tools/router.d.ts.map +1 -0
  200. package/dist/{bridge/tools/connector → connector/tools}/router.js +14 -7
  201. package/dist/connector/tools/router.js.map +1 -0
  202. package/dist/connector/web/guarded-fetch.d.ts +60 -0
  203. package/dist/connector/web/guarded-fetch.d.ts.map +1 -0
  204. package/dist/connector/web/guarded-fetch.js +233 -0
  205. package/dist/connector/web/guarded-fetch.js.map +1 -0
  206. package/dist/connector/web/index.d.ts +5 -0
  207. package/dist/connector/web/index.d.ts.map +1 -0
  208. package/dist/connector/web/index.js +7 -0
  209. package/dist/connector/web/index.js.map +1 -0
  210. package/dist/connector/web/types.d.ts +87 -0
  211. package/dist/connector/web/types.d.ts.map +1 -0
  212. package/dist/connector/web/types.js +25 -0
  213. package/dist/connector/web/types.js.map +1 -0
  214. package/dist/constants/acp/index.d.ts +97 -0
  215. package/dist/constants/acp/index.d.ts.map +1 -0
  216. package/dist/constants/acp/index.js +96 -0
  217. package/dist/constants/acp/index.js.map +1 -0
  218. package/dist/constants/authorization/index.d.ts.map +1 -0
  219. package/dist/constants/authorization/index.js.map +1 -0
  220. package/dist/constants/credential-env-keys.d.ts +36 -0
  221. package/dist/constants/credential-env-keys.d.ts.map +1 -0
  222. package/dist/constants/credential-env-keys.js +62 -0
  223. package/dist/constants/credential-env-keys.js.map +1 -0
  224. package/dist/constants/index.d.ts +3 -1
  225. package/dist/constants/index.d.ts.map +1 -1
  226. package/dist/constants/index.js +3 -1
  227. package/dist/constants/index.js.map +1 -1
  228. package/dist/constants/secret-patterns.d.ts +78 -0
  229. package/dist/constants/secret-patterns.d.ts.map +1 -0
  230. package/dist/constants/secret-patterns.js +99 -0
  231. package/dist/constants/secret-patterns.js.map +1 -0
  232. package/dist/constants/telemetry/index.d.ts +42 -0
  233. package/dist/constants/telemetry/index.d.ts.map +1 -1
  234. package/dist/constants/telemetry/index.js +87 -0
  235. package/dist/constants/telemetry/index.js.map +1 -1
  236. package/dist/contracts/a2a.d.ts +46 -46
  237. package/dist/contracts/api.d.ts +12 -1
  238. package/dist/contracts/api.d.ts.map +1 -1
  239. package/dist/eval/judge.js +2 -2
  240. package/dist/eval/judge.js.map +1 -1
  241. package/dist/execution/base.d.ts +1 -1
  242. package/dist/execution/base.d.ts.map +1 -1
  243. package/dist/execution/base.js +18 -7
  244. package/dist/execution/base.js.map +1 -1
  245. package/dist/execution/code-runtime/types.d.ts +114 -0
  246. package/dist/execution/code-runtime/types.d.ts.map +1 -0
  247. package/dist/execution/code-runtime/types.js +40 -0
  248. package/dist/execution/code-runtime/types.js.map +1 -0
  249. package/dist/execution/code-runtime/worker.d.ts +6 -0
  250. package/dist/execution/code-runtime/worker.d.ts.map +1 -0
  251. package/dist/execution/code-runtime/worker.js +248 -0
  252. package/dist/execution/code-runtime/worker.js.map +1 -0
  253. package/dist/{connector/execution → execution}/factory.d.ts +3 -3
  254. package/dist/execution/factory.d.ts.map +1 -0
  255. package/dist/{connector/execution → execution}/factory.js +1 -1
  256. package/dist/execution/factory.js.map +1 -0
  257. package/dist/{connector/execution → execution}/hybrid.d.ts +5 -3
  258. package/dist/execution/hybrid.d.ts.map +1 -0
  259. package/dist/{connector/execution → execution}/hybrid.js +10 -4
  260. package/dist/execution/hybrid.js.map +1 -0
  261. package/dist/execution/index.d.ts +23 -0
  262. package/dist/execution/index.d.ts.map +1 -1
  263. package/dist/execution/index.js +21 -0
  264. package/dist/execution/index.js.map +1 -1
  265. package/dist/execution/local.d.ts +2 -0
  266. package/dist/execution/local.d.ts.map +1 -1
  267. package/dist/execution/local.js +2 -2
  268. package/dist/execution/local.js.map +1 -1
  269. package/dist/{connector/execution → execution}/remote.d.ts +4 -2
  270. package/dist/execution/remote.d.ts.map +1 -0
  271. package/dist/{connector/execution → execution}/remote.js +12 -5
  272. package/dist/execution/remote.js.map +1 -0
  273. package/dist/index.d.ts +2 -0
  274. package/dist/index.d.ts.map +1 -1
  275. package/dist/index.js +4 -0
  276. package/dist/index.js.map +1 -1
  277. package/dist/invariants/index.d.ts +111 -0
  278. package/dist/invariants/index.d.ts.map +1 -0
  279. package/dist/invariants/index.js +138 -0
  280. package/dist/invariants/index.js.map +1 -0
  281. package/dist/manager/agent/lifecycle.d.ts +29 -7
  282. package/dist/manager/agent/lifecycle.d.ts.map +1 -1
  283. package/dist/manager/agent/lifecycle.js +140 -50
  284. package/dist/manager/agent/lifecycle.js.map +1 -1
  285. package/dist/manager/connector/environment.d.ts +2 -0
  286. package/dist/manager/connector/environment.d.ts.map +1 -1
  287. package/dist/manager/connector/environment.js +20 -9
  288. package/dist/manager/connector/environment.js.map +1 -1
  289. package/dist/manager/connector/lifecycle.d.ts +10 -0
  290. package/dist/manager/connector/lifecycle.d.ts.map +1 -1
  291. package/dist/manager/connector/lifecycle.js +21 -11
  292. package/dist/manager/connector/lifecycle.js.map +1 -1
  293. package/dist/manager/connector/tenant.d.ts +9 -0
  294. package/dist/manager/connector/tenant.d.ts.map +1 -1
  295. package/dist/manager/connector/tenant.js +24 -10
  296. package/dist/manager/connector/tenant.js.map +1 -1
  297. package/dist/manager/index.d.ts +6 -2
  298. package/dist/manager/index.d.ts.map +1 -1
  299. package/dist/manager/index.js +7 -1
  300. package/dist/manager/index.js.map +1 -1
  301. package/dist/manager/project/lifecycle.d.ts +1 -1
  302. package/dist/manager/project/lifecycle.js +1 -1
  303. package/dist/manager/run/emergency.d.ts.map +1 -1
  304. package/dist/manager/run/emergency.js +9 -7
  305. package/dist/manager/run/emergency.js.map +1 -1
  306. package/dist/manager/run/persistence.d.ts +46 -4
  307. package/dist/manager/run/persistence.d.ts.map +1 -1
  308. package/dist/manager/run/persistence.js +102 -7
  309. package/dist/manager/run/persistence.js.map +1 -1
  310. package/dist/manager/topic/lifecycle.d.ts +123 -0
  311. package/dist/manager/topic/lifecycle.d.ts.map +1 -0
  312. package/dist/manager/{thread → topic}/lifecycle.js +79 -61
  313. package/dist/manager/topic/lifecycle.js.map +1 -0
  314. package/dist/manager/topic/objective.d.ts +77 -0
  315. package/dist/manager/topic/objective.d.ts.map +1 -0
  316. package/dist/manager/topic/objective.js +133 -0
  317. package/dist/manager/topic/objective.js.map +1 -0
  318. package/dist/model-router/task-router.d.ts.map +1 -0
  319. package/dist/model-router/task-router.js.map +1 -0
  320. package/dist/persona/assembler.d.ts +1 -1
  321. package/dist/persona/assembler.d.ts.map +1 -1
  322. package/dist/persona/assembler.js +14 -2
  323. package/dist/persona/assembler.js.map +1 -1
  324. package/dist/plugin/lifecycle.d.ts +24 -0
  325. package/dist/plugin/lifecycle.d.ts.map +1 -1
  326. package/dist/plugin/lifecycle.js +112 -20
  327. package/dist/plugin/lifecycle.js.map +1 -1
  328. package/dist/plugin/loader.d.ts +17 -2
  329. package/dist/plugin/loader.d.ts.map +1 -1
  330. package/dist/plugin/loader.js +46 -26
  331. package/dist/plugin/loader.js.map +1 -1
  332. package/dist/probe/index.d.ts +1 -0
  333. package/dist/probe/index.d.ts.map +1 -1
  334. package/dist/probe/registry.d.ts +34 -1
  335. package/dist/probe/registry.d.ts.map +1 -1
  336. package/dist/probe/registry.js +5 -4
  337. package/dist/probe/registry.js.map +1 -1
  338. package/dist/process/kill-tree.d.ts +40 -0
  339. package/dist/process/kill-tree.d.ts.map +1 -0
  340. package/dist/process/kill-tree.js +54 -0
  341. package/dist/process/kill-tree.js.map +1 -0
  342. package/dist/prompt/contributions.d.ts +138 -0
  343. package/dist/prompt/contributions.d.ts.map +1 -0
  344. package/dist/prompt/contributions.js +78 -0
  345. package/dist/prompt/contributions.js.map +1 -0
  346. package/dist/prompt/index.d.ts +3 -0
  347. package/dist/prompt/index.d.ts.map +1 -0
  348. package/dist/prompt/index.js +6 -0
  349. package/dist/prompt/index.js.map +1 -0
  350. package/dist/provider/attribution.d.ts +45 -0
  351. package/dist/provider/attribution.d.ts.map +1 -0
  352. package/dist/provider/attribution.js +23 -0
  353. package/dist/provider/attribution.js.map +1 -0
  354. package/dist/provider/{collect.d.ts → collect-chat-completion.d.ts} +3 -3
  355. package/dist/provider/collect-chat-completion.d.ts.map +1 -0
  356. package/dist/provider/{collect.js → collect-chat-completion.js} +3 -3
  357. package/dist/provider/collect-chat-completion.js.map +1 -0
  358. package/dist/provider/conformance.d.ts +93 -0
  359. package/dist/provider/conformance.d.ts.map +1 -0
  360. package/dist/provider/conformance.js +124 -0
  361. package/dist/provider/conformance.js.map +1 -0
  362. package/dist/provider/errors.d.ts +29 -0
  363. package/dist/provider/errors.d.ts.map +1 -1
  364. package/dist/provider/errors.js +27 -10
  365. package/dist/provider/errors.js.map +1 -1
  366. package/dist/provider/fallback.d.ts +1 -1
  367. package/dist/provider/fallback.d.ts.map +1 -1
  368. package/dist/provider/fallback.js +27 -9
  369. package/dist/provider/fallback.js.map +1 -1
  370. package/dist/provider/idle-timeout.d.ts +47 -0
  371. package/dist/provider/idle-timeout.d.ts.map +1 -0
  372. package/dist/provider/idle-timeout.js +61 -0
  373. package/dist/provider/idle-timeout.js.map +1 -0
  374. package/dist/provider/instrumentation.d.ts +3 -2
  375. package/dist/provider/instrumentation.d.ts.map +1 -1
  376. package/dist/provider/instrumentation.js.map +1 -1
  377. package/dist/provider/retry.d.ts.map +1 -1
  378. package/dist/provider/retry.js +58 -21
  379. package/dist/provider/retry.js.map +1 -1
  380. package/dist/public-runtime.d.ts +77 -15
  381. package/dist/public-runtime.d.ts.map +1 -1
  382. package/dist/public-runtime.js +168 -17
  383. package/dist/public-runtime.js.map +1 -1
  384. package/dist/public-tools.d.ts +8 -1
  385. package/dist/public-tools.d.ts.map +1 -1
  386. package/dist/public-tools.js +29 -1
  387. package/dist/public-tools.js.map +1 -1
  388. package/dist/public-types.d.ts +21 -4
  389. package/dist/public-types.d.ts.map +1 -1
  390. package/dist/rag/rag-tool.d.ts.map +1 -1
  391. package/dist/rag/rag-tool.js +4 -1
  392. package/dist/rag/rag-tool.js.map +1 -1
  393. package/dist/read-model/index.d.ts +5 -0
  394. package/dist/read-model/index.d.ts.map +1 -0
  395. package/dist/read-model/index.js +7 -0
  396. package/dist/read-model/index.js.map +1 -0
  397. package/dist/read-model/registry.d.ts +112 -0
  398. package/dist/read-model/registry.d.ts.map +1 -0
  399. package/dist/read-model/registry.js +105 -0
  400. package/dist/read-model/registry.js.map +1 -0
  401. package/dist/read-model/run-status.d.ts +43 -0
  402. package/dist/read-model/run-status.d.ts.map +1 -0
  403. package/dist/read-model/run-status.js +89 -0
  404. package/dist/read-model/run-status.js.map +1 -0
  405. package/dist/registry/{Registry.d.ts → BaseRegistry.d.ts} +2 -2
  406. package/dist/registry/BaseRegistry.d.ts.map +1 -0
  407. package/dist/registry/{Registry.js → BaseRegistry.js} +2 -2
  408. package/dist/registry/BaseRegistry.js.map +1 -0
  409. package/dist/registry/ManagedRegistry.d.ts +2 -2
  410. package/dist/registry/ManagedRegistry.d.ts.map +1 -1
  411. package/dist/registry/ManagedRegistry.js +26 -9
  412. package/dist/registry/ManagedRegistry.js.map +1 -1
  413. package/dist/registry/command/index-exports.d.ts +3 -0
  414. package/dist/registry/command/index-exports.d.ts.map +1 -0
  415. package/dist/registry/command/index-exports.js +5 -0
  416. package/dist/registry/command/index-exports.js.map +1 -0
  417. package/dist/registry/command/index.d.ts +53 -0
  418. package/dist/registry/command/index.d.ts.map +1 -0
  419. package/dist/registry/command/index.js +87 -0
  420. package/dist/registry/command/index.js.map +1 -0
  421. package/dist/registry/command/kernel-commands.d.ts +32 -0
  422. package/dist/registry/command/kernel-commands.d.ts.map +1 -0
  423. package/dist/registry/command/kernel-commands.js +78 -0
  424. package/dist/registry/command/kernel-commands.js.map +1 -0
  425. package/dist/registry/connector/scoped.d.ts +2 -1
  426. package/dist/registry/connector/scoped.d.ts.map +1 -1
  427. package/dist/registry/connector/scoped.js +6 -5
  428. package/dist/registry/connector/scoped.js.map +1 -1
  429. package/dist/registry/index.d.ts +4 -1
  430. package/dist/registry/index.d.ts.map +1 -1
  431. package/dist/registry/index.js +5 -1
  432. package/dist/registry/index.js.map +1 -1
  433. package/dist/registry/tool/execute.d.ts.map +1 -1
  434. package/dist/registry/tool/execute.js +15 -12
  435. package/dist/registry/tool/execute.js.map +1 -1
  436. package/dist/registry/tool/presentation.d.ts +32 -0
  437. package/dist/registry/tool/presentation.d.ts.map +1 -0
  438. package/dist/registry/tool/presentation.js +92 -0
  439. package/dist/registry/tool/presentation.js.map +1 -0
  440. package/dist/registry/tool/screen.d.ts.map +1 -1
  441. package/dist/registry/tool/screen.js +12 -11
  442. package/dist/registry/tool/screen.js.map +1 -1
  443. package/dist/run/drain.d.ts +13 -3
  444. package/dist/run/drain.d.ts.map +1 -1
  445. package/dist/run/drain.js +10 -0
  446. package/dist/run/drain.js.map +1 -1
  447. package/dist/run/reporter.d.ts.map +1 -1
  448. package/dist/run/reporter.js +203 -149
  449. package/dist/run/reporter.js.map +1 -1
  450. package/dist/run-query/index.d.ts +74 -0
  451. package/dist/run-query/index.d.ts.map +1 -0
  452. package/dist/run-query/index.js +73 -0
  453. package/dist/run-query/index.js.map +1 -0
  454. package/dist/runtime/bidi/session.d.ts.map +1 -1
  455. package/dist/runtime/bidi/session.js +7 -2
  456. package/dist/runtime/bidi/session.js.map +1 -1
  457. package/dist/runtime/decision/fallback.d.ts.map +1 -1
  458. package/dist/runtime/decision/fallback.js +6 -3
  459. package/dist/runtime/decision/fallback.js.map +1 -1
  460. package/dist/runtime/decision/parser.d.ts.map +1 -1
  461. package/dist/runtime/decision/parser.js +10 -9
  462. package/dist/runtime/decision/parser.js.map +1 -1
  463. package/dist/runtime/jobs/registry.d.ts +147 -0
  464. package/dist/runtime/jobs/registry.d.ts.map +1 -0
  465. package/dist/runtime/jobs/registry.js +242 -0
  466. package/dist/runtime/jobs/registry.js.map +1 -0
  467. package/dist/runtime/query/approval-policy.d.ts +22 -0
  468. package/dist/runtime/query/approval-policy.d.ts.map +1 -0
  469. package/dist/runtime/query/approval-policy.js +61 -0
  470. package/dist/runtime/query/approval-policy.js.map +1 -0
  471. package/dist/runtime/query/checkpoint.d.ts +3 -3
  472. package/dist/runtime/query/checkpoint.d.ts.map +1 -1
  473. package/dist/runtime/query/checkpoint.js +2 -2
  474. package/dist/runtime/query/checkpoint.js.map +1 -1
  475. package/dist/runtime/query/context.d.ts +85 -15
  476. package/dist/runtime/query/context.d.ts.map +1 -1
  477. package/dist/runtime/query/context.js +57 -14
  478. package/dist/runtime/query/context.js.map +1 -1
  479. package/dist/runtime/query/events.d.ts +5 -4
  480. package/dist/runtime/query/events.d.ts.map +1 -1
  481. package/dist/runtime/query/events.js +9 -6
  482. package/dist/runtime/query/events.js.map +1 -1
  483. package/dist/runtime/query/executor.d.ts +113 -4
  484. package/dist/runtime/query/executor.d.ts.map +1 -1
  485. package/dist/runtime/query/executor.js +228 -62
  486. package/dist/runtime/query/executor.js.map +1 -1
  487. package/dist/runtime/query/guardrail-presets.d.ts.map +1 -1
  488. package/dist/runtime/query/guardrail-presets.js +11 -14
  489. package/dist/runtime/query/guardrail-presets.js.map +1 -1
  490. package/dist/runtime/query/guardrails.d.ts.map +1 -1
  491. package/dist/runtime/query/guardrails.js +16 -12
  492. package/dist/runtime/query/guardrails.js.map +1 -1
  493. package/dist/runtime/query/index.d.ts +124 -16
  494. package/dist/runtime/query/index.d.ts.map +1 -1
  495. package/dist/runtime/query/index.js +372 -76
  496. package/dist/runtime/query/index.js.map +1 -1
  497. package/dist/runtime/query/iteration/index.d.ts +32 -0
  498. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  499. package/dist/runtime/query/iteration/index.js +256 -88
  500. package/dist/runtime/query/iteration/index.js.map +1 -1
  501. package/dist/runtime/query/iteration/phases/advisory.d.ts.map +1 -1
  502. package/dist/runtime/query/iteration/phases/advisory.js +17 -16
  503. package/dist/runtime/query/iteration/phases/advisory.js.map +1 -1
  504. package/dist/runtime/query/iteration/phases/compaction.d.ts +1 -8
  505. package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
  506. package/dist/runtime/query/iteration/phases/compaction.js +202 -178
  507. package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
  508. package/dist/runtime/query/iteration/phases/context.d.ts +52 -6
  509. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  510. package/dist/runtime/query/iteration/phases/context.js +26 -17
  511. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  512. package/dist/runtime/query/iteration/phases/tool-review.d.ts +2 -2
  513. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  514. package/dist/runtime/query/iteration/phases/tool-review.js +27 -7
  515. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  516. package/dist/runtime/query/iteration/phases/working-memory.d.ts.map +1 -1
  517. package/dist/runtime/query/iteration/phases/working-memory.js +3 -2
  518. package/dist/runtime/query/iteration/phases/working-memory.js.map +1 -1
  519. package/dist/runtime/query/iteration/stream-turn.js +14 -14
  520. package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
  521. package/dist/runtime/query/{context-cache.d.ts → prompt-cache.d.ts} +6 -4
  522. package/dist/runtime/query/prompt-cache.d.ts.map +1 -0
  523. package/dist/runtime/query/{context-cache.js → prompt-cache.js} +20 -2
  524. package/dist/runtime/query/prompt-cache.js.map +1 -0
  525. package/dist/runtime/query/prompt.d.ts +50 -0
  526. package/dist/runtime/query/prompt.d.ts.map +1 -1
  527. package/dist/runtime/query/prompt.js +83 -4
  528. package/dist/runtime/query/prompt.js.map +1 -1
  529. package/dist/runtime/query/repeat-call.d.ts +42 -0
  530. package/dist/runtime/query/repeat-call.d.ts.map +1 -0
  531. package/dist/runtime/query/repeat-call.js +107 -0
  532. package/dist/runtime/query/repeat-call.js.map +1 -0
  533. package/dist/runtime/query/replay/mutate.js +8 -1
  534. package/dist/runtime/query/replay/mutate.js.map +1 -1
  535. package/dist/runtime/query/result.d.ts +7 -0
  536. package/dist/runtime/query/result.d.ts.map +1 -1
  537. package/dist/runtime/query/result.js +38 -10
  538. package/dist/runtime/query/result.js.map +1 -1
  539. package/dist/runtime/query/resume-pending.d.ts.map +1 -1
  540. package/dist/runtime/query/resume-pending.js +19 -17
  541. package/dist/runtime/query/resume-pending.js.map +1 -1
  542. package/dist/runtime/query/resume-run.d.ts +2 -2
  543. package/dist/runtime/query/resume-run.d.ts.map +1 -1
  544. package/dist/runtime/query/run-state.d.ts +3 -3
  545. package/dist/runtime/query/run-state.d.ts.map +1 -1
  546. package/dist/runtime/query/run-state.js +2 -2
  547. package/dist/runtime/query/run-state.js.map +1 -1
  548. package/dist/runtime/query/tool-grants.d.ts +7 -0
  549. package/dist/runtime/query/tool-grants.d.ts.map +1 -1
  550. package/dist/runtime/query/tool-grants.js +1 -1
  551. package/dist/runtime/query/tool-grants.js.map +1 -1
  552. package/dist/runtime/query/tool-output-budget.js +34 -3
  553. package/dist/runtime/query/tool-output-budget.js.map +1 -1
  554. package/dist/runtime/query/tool-pause.d.ts.map +1 -1
  555. package/dist/runtime/query/tool-pause.js +2 -1
  556. package/dist/runtime/query/tool-pause.js.map +1 -1
  557. package/dist/runtime/query/tooling.d.ts +10 -2
  558. package/dist/runtime/query/tooling.d.ts.map +1 -1
  559. package/dist/runtime/query/tooling.js +3 -0
  560. package/dist/runtime/query/tooling.js.map +1 -1
  561. package/dist/sandbox/provider/local.d.ts +10 -0
  562. package/dist/sandbox/provider/local.d.ts.map +1 -1
  563. package/dist/sandbox/provider/local.js +77 -23
  564. package/dist/sandbox/provider/local.js.map +1 -1
  565. package/dist/sandbox/terminal.d.ts +130 -0
  566. package/dist/sandbox/terminal.d.ts.map +1 -0
  567. package/dist/sandbox/terminal.js +119 -0
  568. package/dist/sandbox/terminal.js.map +1 -0
  569. package/dist/{gateway → scheduler}/completion-inbox.d.ts +12 -5
  570. package/dist/scheduler/completion-inbox.d.ts.map +1 -0
  571. package/dist/{gateway → scheduler}/completion-inbox.js +19 -7
  572. package/dist/scheduler/completion-inbox.js.map +1 -0
  573. package/dist/scheduler/delegating.d.ts +90 -0
  574. package/dist/scheduler/delegating.d.ts.map +1 -0
  575. package/dist/scheduler/delegating.js +230 -0
  576. package/dist/scheduler/delegating.js.map +1 -0
  577. package/dist/{gateway → scheduler}/local.d.ts +10 -2
  578. package/dist/scheduler/local.d.ts.map +1 -0
  579. package/dist/{gateway → scheduler}/local.js +20 -11
  580. package/dist/scheduler/local.js.map +1 -0
  581. package/dist/session/actor-scope.d.ts +52 -0
  582. package/dist/session/actor-scope.d.ts.map +1 -0
  583. package/dist/session/actor-scope.js +112 -0
  584. package/dist/session/actor-scope.js.map +1 -0
  585. package/dist/session/errors.d.ts +31 -8
  586. package/dist/session/errors.d.ts.map +1 -1
  587. package/dist/session/errors.js +21 -1
  588. package/dist/session/errors.js.map +1 -1
  589. package/dist/session/handoff/assignment.d.ts +5 -5
  590. package/dist/session/handoff/assignment.d.ts.map +1 -1
  591. package/dist/session/handoff/broadcast.d.ts +8 -4
  592. package/dist/session/handoff/broadcast.d.ts.map +1 -1
  593. package/dist/session/handoff/broadcast.js +8 -9
  594. package/dist/session/handoff/broadcast.js.map +1 -1
  595. package/dist/session/handoff/index.d.ts +1 -1
  596. package/dist/session/handoff/index.d.ts.map +1 -1
  597. package/dist/session/handoff/index.js +1 -1
  598. package/dist/session/handoff/index.js.map +1 -1
  599. package/dist/session/handoff/single.d.ts +11 -7
  600. package/dist/session/handoff/single.d.ts.map +1 -1
  601. package/dist/session/handoff/single.js +5 -11
  602. package/dist/session/handoff/single.js.map +1 -1
  603. package/dist/session/migration/filesystem.d.ts +28 -0
  604. package/dist/session/migration/filesystem.d.ts.map +1 -1
  605. package/dist/session/migration/filesystem.js +44 -2
  606. package/dist/session/migration/filesystem.js.map +1 -1
  607. package/dist/session/migration/id-prefix.d.ts +39 -19
  608. package/dist/session/migration/id-prefix.d.ts.map +1 -1
  609. package/dist/session/migration/id-prefix.js +43 -22
  610. package/dist/session/migration/id-prefix.js.map +1 -1
  611. package/dist/session/migration/index.d.ts +6 -2
  612. package/dist/session/migration/index.d.ts.map +1 -1
  613. package/dist/session/migration/index.js +6 -2
  614. package/dist/session/migration/index.js.map +1 -1
  615. package/dist/session/migration/marker.d.ts.map +1 -1
  616. package/dist/session/migration/marker.js +21 -4
  617. package/dist/session/migration/marker.js.map +1 -1
  618. package/dist/session/retention/archive.d.ts.map +1 -1
  619. package/dist/session/retention/archive.js +13 -11
  620. package/dist/session/retention/archive.js.map +1 -1
  621. package/dist/session/workspace/git-worktree.d.ts.map +1 -1
  622. package/dist/session/workspace/git-worktree.js +17 -8
  623. package/dist/session/workspace/git-worktree.js.map +1 -1
  624. package/dist/skills/loader.d.ts +4 -2
  625. package/dist/skills/loader.d.ts.map +1 -1
  626. package/dist/skills/loader.js +36 -9
  627. package/dist/skills/loader.js.map +1 -1
  628. package/dist/skills/registry.d.ts +59 -1
  629. package/dist/skills/registry.d.ts.map +1 -1
  630. package/dist/skills/registry.js +154 -20
  631. package/dist/skills/registry.js.map +1 -1
  632. package/dist/store/attachment/index.d.ts +111 -0
  633. package/dist/store/attachment/index.d.ts.map +1 -0
  634. package/dist/store/attachment/index.js +94 -0
  635. package/dist/store/attachment/index.js.map +1 -0
  636. package/dist/store/config/index.d.ts +43 -0
  637. package/dist/store/config/index.d.ts.map +1 -0
  638. package/dist/store/config/index.js +51 -0
  639. package/dist/store/config/index.js.map +1 -0
  640. package/dist/store/feedback/conformance.d.ts +44 -0
  641. package/dist/store/feedback/conformance.d.ts.map +1 -0
  642. package/dist/store/feedback/conformance.js +127 -0
  643. package/dist/store/feedback/conformance.js.map +1 -0
  644. package/dist/store/feedback/disk.d.ts +46 -0
  645. package/dist/store/feedback/disk.d.ts.map +1 -0
  646. package/dist/store/feedback/disk.js +141 -0
  647. package/dist/store/feedback/disk.js.map +1 -0
  648. package/dist/store/feedback/index.d.ts +9 -0
  649. package/dist/store/feedback/index.d.ts.map +1 -0
  650. package/dist/store/feedback/index.js +5 -0
  651. package/dist/store/feedback/index.js.map +1 -0
  652. package/dist/store/feedback/memory.d.ts +33 -0
  653. package/dist/store/feedback/memory.d.ts.map +1 -0
  654. package/dist/store/feedback/memory.js +0 -0
  655. package/dist/store/feedback/memory.js.map +1 -0
  656. package/dist/store/feedback/types.d.ts +95 -0
  657. package/dist/store/feedback/types.d.ts.map +1 -0
  658. package/dist/store/feedback/types.js +27 -0
  659. package/dist/store/feedback/types.js.map +1 -0
  660. package/dist/store/index.d.ts +1 -0
  661. package/dist/store/index.d.ts.map +1 -1
  662. package/dist/store/index.js +4 -0
  663. package/dist/store/index.js.map +1 -1
  664. package/dist/store/kv/record-store.d.ts +54 -0
  665. package/dist/store/kv/record-store.d.ts.map +1 -0
  666. package/dist/store/kv/record-store.js +94 -0
  667. package/dist/store/kv/record-store.js.map +1 -0
  668. package/dist/store/memory/disk.d.ts +2 -0
  669. package/dist/store/memory/disk.d.ts.map +1 -1
  670. package/dist/store/memory/disk.js +36 -30
  671. package/dist/store/memory/disk.js.map +1 -1
  672. package/dist/store/run/checkpoint-disk.d.ts +4 -4
  673. package/dist/store/run/checkpoint-disk.d.ts.map +1 -1
  674. package/dist/store/run/checkpoint-disk.js +22 -1
  675. package/dist/store/run/checkpoint-disk.js.map +1 -1
  676. package/dist/store/run/checkpoint-memory.d.ts +4 -4
  677. package/dist/store/run/checkpoint-memory.d.ts.map +1 -1
  678. package/dist/store/run/checkpoint-memory.js.map +1 -1
  679. package/dist/store/run/claim-disk.d.ts +5 -5
  680. package/dist/store/run/claim-disk.d.ts.map +1 -1
  681. package/dist/store/run/claim-disk.js +20 -0
  682. package/dist/store/run/claim-disk.js.map +1 -1
  683. package/dist/store/run/conformance.d.ts.map +1 -1
  684. package/dist/store/run/conformance.js +10 -9
  685. package/dist/store/run/conformance.js.map +1 -1
  686. package/dist/store/run/disk.d.ts +3 -1
  687. package/dist/store/run/disk.d.ts.map +1 -1
  688. package/dist/store/run/disk.js +73 -4
  689. package/dist/store/run/disk.js.map +1 -1
  690. package/dist/store/run/listing.d.ts +4 -4
  691. package/dist/store/run/listing.d.ts.map +1 -1
  692. package/dist/store/run/listing.js.map +1 -1
  693. package/dist/store/run/memory.d.ts +5 -0
  694. package/dist/store/run/memory.d.ts.map +1 -1
  695. package/dist/store/run/memory.js +20 -1
  696. package/dist/store/run/memory.js.map +1 -1
  697. package/dist/store/session/canonical-path.d.ts +32 -0
  698. package/dist/store/session/canonical-path.d.ts.map +1 -0
  699. package/dist/store/session/canonical-path.js +46 -0
  700. package/dist/store/session/canonical-path.js.map +1 -0
  701. package/dist/store/session/disk.d.ts +46 -2
  702. package/dist/store/session/disk.d.ts.map +1 -1
  703. package/dist/store/session/disk.js +191 -205
  704. package/dist/store/session/disk.js.map +1 -1
  705. package/dist/store/session/memory.d.ts +10 -2
  706. package/dist/store/session/memory.d.ts.map +1 -1
  707. package/dist/store/session/memory.js +36 -4
  708. package/dist/store/session/memory.js.map +1 -1
  709. package/dist/store/task/disk.d.ts.map +1 -1
  710. package/dist/store/task/disk.js +76 -68
  711. package/dist/store/task/disk.js.map +1 -1
  712. package/dist/store/topic/index.d.ts +6 -0
  713. package/dist/store/topic/index.d.ts.map +1 -0
  714. package/dist/store/topic/index.js +20 -0
  715. package/dist/store/topic/index.js.map +1 -0
  716. package/dist/store/topic/memory.d.ts +30 -0
  717. package/dist/store/topic/memory.d.ts.map +1 -0
  718. package/dist/store/topic/memory.js +97 -0
  719. package/dist/store/topic/memory.js.map +1 -0
  720. package/dist/store/topic/objective.d.ts +104 -0
  721. package/dist/store/topic/objective.d.ts.map +1 -0
  722. package/dist/store/topic/objective.js +195 -0
  723. package/dist/store/topic/objective.js.map +1 -0
  724. package/dist/store/topic/state.d.ts +60 -0
  725. package/dist/store/topic/state.d.ts.map +1 -0
  726. package/dist/store/topic/state.js +128 -0
  727. package/dist/store/topic/state.js.map +1 -0
  728. package/dist/streaming/coalesce.d.ts +19 -6
  729. package/dist/streaming/coalesce.d.ts.map +1 -1
  730. package/dist/streaming/coalesce.js +13 -4
  731. package/dist/streaming/coalesce.js.map +1 -1
  732. package/dist/telemetry/runtime-accessors.d.ts +27 -1
  733. package/dist/telemetry/runtime-accessors.d.ts.map +1 -1
  734. package/dist/telemetry/runtime-accessors.js +45 -1
  735. package/dist/telemetry/runtime-accessors.js.map +1 -1
  736. package/dist/test-support/ids.d.ts +68 -0
  737. package/dist/test-support/ids.d.ts.map +1 -0
  738. package/dist/test-support/ids.js +70 -0
  739. package/dist/test-support/ids.js.map +1 -0
  740. package/dist/testing.d.ts +24 -0
  741. package/dist/testing.d.ts.map +1 -0
  742. package/dist/testing.js +22 -0
  743. package/dist/testing.js.map +1 -0
  744. package/dist/tools/builtins/bash.d.ts +1 -0
  745. package/dist/tools/builtins/bash.d.ts.map +1 -1
  746. package/dist/tools/builtins/bash.js +77 -3
  747. package/dist/tools/builtins/bash.js.map +1 -1
  748. package/dist/tools/builtins/edit.d.ts +1 -1
  749. package/dist/tools/builtins/edit.d.ts.map +1 -1
  750. package/dist/tools/builtins/edit.js +34 -0
  751. package/dist/tools/builtins/edit.js.map +1 -1
  752. package/dist/tools/builtins/index.d.ts +6 -0
  753. package/dist/tools/builtins/index.d.ts.map +1 -1
  754. package/dist/tools/builtins/index.js +24 -1
  755. package/dist/tools/builtins/index.js.map +1 -1
  756. package/dist/tools/builtins/job.d.ts +6 -0
  757. package/dist/tools/builtins/job.d.ts.map +1 -0
  758. package/dist/tools/builtins/job.js +114 -0
  759. package/dist/tools/builtins/job.js.map +1 -0
  760. package/dist/tools/builtins/lsp.d.ts +21 -0
  761. package/dist/tools/builtins/lsp.d.ts.map +1 -0
  762. package/dist/tools/builtins/lsp.js +186 -0
  763. package/dist/tools/builtins/lsp.js.map +1 -0
  764. package/dist/tools/builtins/run-code.d.ts +13 -0
  765. package/dist/tools/builtins/run-code.d.ts.map +1 -0
  766. package/dist/tools/builtins/run-code.js +126 -0
  767. package/dist/tools/builtins/run-code.js.map +1 -0
  768. package/dist/tools/builtins/skill.d.ts +14 -0
  769. package/dist/tools/builtins/skill.d.ts.map +1 -0
  770. package/dist/tools/builtins/skill.js +120 -0
  771. package/dist/tools/builtins/skill.js.map +1 -0
  772. package/dist/tools/builtins/web-guidance.d.ts +31 -0
  773. package/dist/tools/builtins/web-guidance.d.ts.map +1 -0
  774. package/dist/tools/builtins/web-guidance.js +42 -0
  775. package/dist/tools/builtins/web-guidance.js.map +1 -0
  776. package/dist/tools/builtins/web.d.ts +10 -0
  777. package/dist/tools/builtins/web.d.ts.map +1 -0
  778. package/dist/tools/builtins/web.js +137 -0
  779. package/dist/tools/builtins/web.js.map +1 -0
  780. package/dist/tools/builtins/write-file.d.ts.map +1 -1
  781. package/dist/tools/builtins/write-file.js +35 -0
  782. package/dist/tools/builtins/write-file.js.map +1 -1
  783. package/dist/tools/coordinator/agent.d.ts +2 -2
  784. package/dist/tools/coordinator/agent.d.ts.map +1 -1
  785. package/dist/tools/coordinator/index.d.ts +13 -4
  786. package/dist/tools/coordinator/index.d.ts.map +1 -1
  787. package/dist/tools/coordinator/index.js +125 -38
  788. package/dist/tools/coordinator/index.js.map +1 -1
  789. package/dist/tools/coordinator/outcome.d.ts +2 -2
  790. package/dist/tools/coordinator/outcome.d.ts.map +1 -1
  791. package/dist/tools/coordinator/outcome.js +1 -1
  792. package/dist/tools/coordinator/wait-with-idle-bound.d.ts +3 -3
  793. package/dist/tools/coordinator/wait-with-idle-bound.d.ts.map +1 -1
  794. package/dist/tools/coordinator/wait-with-idle-bound.js.map +1 -1
  795. package/dist/tools/defineTool.d.ts +12 -0
  796. package/dist/tools/defineTool.d.ts.map +1 -1
  797. package/dist/tools/defineTool.js +2 -0
  798. package/dist/tools/defineTool.js.map +1 -1
  799. package/dist/tools/env-scrub.d.ts +66 -0
  800. package/dist/tools/env-scrub.d.ts.map +1 -0
  801. package/dist/tools/env-scrub.js +68 -0
  802. package/dist/tools/env-scrub.js.map +1 -0
  803. package/dist/tools/memory/read.d.ts.map +1 -1
  804. package/dist/tools/memory/read.js +5 -1
  805. package/dist/tools/memory/read.js.map +1 -1
  806. package/dist/tools/task/create.d.ts.map +1 -1
  807. package/dist/tools/task/create.js +2 -1
  808. package/dist/tools/task/create.js.map +1 -1
  809. package/dist/tools/task/update.d.ts.map +1 -1
  810. package/dist/tools/task/update.js +7 -3
  811. package/dist/tools/task/update.js.map +1 -1
  812. package/dist/types/acp/index.d.ts +161 -0
  813. package/dist/types/acp/index.d.ts.map +1 -0
  814. package/dist/types/acp/index.js +2 -0
  815. package/dist/types/acp/index.js.map +1 -0
  816. package/dist/types/agent/base.d.ts +62 -5
  817. package/dist/types/agent/base.d.ts.map +1 -1
  818. package/dist/types/agent/delegate.d.ts +102 -0
  819. package/dist/types/agent/delegate.d.ts.map +1 -0
  820. package/dist/types/agent/delegate.js +2 -0
  821. package/dist/types/agent/delegate.js.map +1 -0
  822. package/dist/types/agent/index.d.ts +1 -1
  823. package/dist/types/agent/index.d.ts.map +1 -1
  824. package/dist/types/agent/index.js +1 -1
  825. package/dist/types/agent/index.js.map +1 -1
  826. package/dist/types/agent/manager.d.ts +7 -1
  827. package/dist/types/agent/manager.d.ts.map +1 -1
  828. package/dist/types/agent/reactive.d.ts +19 -3
  829. package/dist/types/agent/reactive.d.ts.map +1 -1
  830. package/dist/types/agent/{gateway.d.ts → scheduler.d.ts} +31 -5
  831. package/dist/types/agent/scheduler.d.ts.map +1 -0
  832. package/dist/types/agent/scheduler.js +2 -0
  833. package/dist/types/agent/scheduler.js.map +1 -0
  834. package/dist/types/agent/supervisor.d.ts +13 -5
  835. package/dist/types/agent/supervisor.d.ts.map +1 -1
  836. package/dist/types/agent/task.d.ts +31 -9
  837. package/dist/types/agent/task.d.ts.map +1 -1
  838. package/dist/types/agent/working-memory.d.ts +1 -1
  839. package/dist/types/{verification → authorization}/index.d.ts +68 -12
  840. package/dist/types/authorization/index.d.ts.map +1 -0
  841. package/dist/types/authorization/index.js +99 -0
  842. package/dist/types/authorization/index.js.map +1 -0
  843. package/dist/types/bus/index.d.ts +24 -1
  844. package/dist/types/bus/index.d.ts.map +1 -1
  845. package/dist/types/code-navigation/index.d.ts +112 -0
  846. package/dist/types/code-navigation/index.d.ts.map +1 -0
  847. package/dist/types/code-navigation/index.js +17 -0
  848. package/dist/types/code-navigation/index.js.map +1 -0
  849. package/dist/types/command/index.d.ts +74 -0
  850. package/dist/types/command/index.d.ts.map +1 -0
  851. package/dist/types/command/index.js +18 -0
  852. package/dist/types/command/index.js.map +1 -0
  853. package/dist/types/common/index.d.ts +11 -2
  854. package/dist/types/common/index.d.ts.map +1 -1
  855. package/dist/types/common/index.js.map +1 -1
  856. package/dist/types/connector/mcp.d.ts +8 -0
  857. package/dist/types/connector/mcp.d.ts.map +1 -1
  858. package/dist/types/guardrail/index.d.ts +1 -1
  859. package/dist/types/hitl/policy.d.ts +79 -0
  860. package/dist/types/hitl/policy.d.ts.map +1 -0
  861. package/dist/types/hitl/policy.js +2 -0
  862. package/dist/types/hitl/policy.js.map +1 -0
  863. package/dist/types/ids/brand.d.ts +55 -0
  864. package/dist/types/ids/brand.d.ts.map +1 -0
  865. package/dist/types/ids/brand.js +45 -0
  866. package/dist/types/ids/brand.js.map +1 -0
  867. package/dist/types/ids/index.d.ts +83 -39
  868. package/dist/types/ids/index.d.ts.map +1 -1
  869. package/dist/types/ids/index.js +5 -1
  870. package/dist/types/ids/index.js.map +1 -1
  871. package/dist/types/message/index.d.ts +24 -1
  872. package/dist/types/message/index.d.ts.map +1 -1
  873. package/dist/types/message/index.js.map +1 -1
  874. package/dist/types/plugin/index.d.ts +8 -8
  875. package/dist/types/project/entity.d.ts +22 -2
  876. package/dist/types/project/entity.d.ts.map +1 -1
  877. package/dist/types/provider/interface.d.ts +43 -2
  878. package/dist/types/provider/interface.d.ts.map +1 -1
  879. package/dist/types/provider/model.d.ts +16 -2
  880. package/dist/types/provider/model.d.ts.map +1 -1
  881. package/dist/types/run/audit.d.ts +150 -0
  882. package/dist/types/run/audit.d.ts.map +1 -0
  883. package/dist/types/run/audit.js +39 -0
  884. package/dist/types/run/audit.js.map +1 -0
  885. package/dist/types/run/cancel-cause.d.ts +49 -0
  886. package/dist/types/run/cancel-cause.d.ts.map +1 -0
  887. package/dist/types/run/cancel-cause.js +39 -0
  888. package/dist/types/run/cancel-cause.js.map +1 -0
  889. package/dist/types/run/checkpoint-store.d.ts +23 -11
  890. package/dist/types/run/checkpoint-store.d.ts.map +1 -1
  891. package/dist/types/run/config.d.ts +24 -4
  892. package/dist/types/run/config.d.ts.map +1 -1
  893. package/dist/types/run/derive-status.d.ts +3 -3
  894. package/dist/types/run/derive-status.d.ts.map +1 -1
  895. package/dist/types/run/derive-status.js +1 -1
  896. package/dist/types/run/entity.d.ts +2 -3
  897. package/dist/types/run/entity.d.ts.map +1 -1
  898. package/dist/types/run/event-cursor.d.ts +3 -3
  899. package/dist/types/run/event-cursor.d.ts.map +1 -1
  900. package/dist/types/run/events.d.ts +159 -4
  901. package/dist/types/run/events.d.ts.map +1 -1
  902. package/dist/types/run/events.js.map +1 -1
  903. package/dist/types/run/index.d.ts +2 -0
  904. package/dist/types/run/index.d.ts.map +1 -1
  905. package/dist/types/run/index.js +2 -0
  906. package/dist/types/run/index.js.map +1 -1
  907. package/dist/types/run/metadata.d.ts +2 -2
  908. package/dist/types/run/metadata.d.ts.map +1 -1
  909. package/dist/types/run/prepare-step.d.ts +29 -0
  910. package/dist/types/run/prepare-step.d.ts.map +1 -1
  911. package/dist/types/run/state.d.ts +33 -10
  912. package/dist/types/run/state.d.ts.map +1 -1
  913. package/dist/types/run/state.js +60 -3
  914. package/dist/types/run/state.js.map +1 -1
  915. package/dist/types/run/stop-reason.d.ts +9 -0
  916. package/dist/types/run/stop-reason.d.ts.map +1 -1
  917. package/dist/types/run/store.d.ts +38 -0
  918. package/dist/types/run/store.d.ts.map +1 -1
  919. package/dist/types/sandbox/index.d.ts +38 -0
  920. package/dist/types/sandbox/index.d.ts.map +1 -1
  921. package/dist/types/sandbox/index.js +21 -0
  922. package/dist/types/sandbox/index.js.map +1 -1
  923. package/dist/types/session/actor.d.ts +2 -2
  924. package/dist/types/session/actor.d.ts.map +1 -1
  925. package/dist/types/session/entity.d.ts +9 -7
  926. package/dist/types/session/entity.d.ts.map +1 -1
  927. package/dist/types/session/ids.d.ts +1 -1
  928. package/dist/types/session/ids.d.ts.map +1 -1
  929. package/dist/types/session/index.d.ts +2 -2
  930. package/dist/types/session/index.d.ts.map +1 -1
  931. package/dist/types/session/store.d.ts +51 -22
  932. package/dist/types/session/store.d.ts.map +1 -1
  933. package/dist/types/session/sub-session.d.ts +44 -5
  934. package/dist/types/session/sub-session.d.ts.map +1 -1
  935. package/dist/types/skills/index.d.ts +41 -0
  936. package/dist/types/skills/index.d.ts.map +1 -1
  937. package/dist/types/skills/index.js +17 -1
  938. package/dist/types/skills/index.js.map +1 -1
  939. package/dist/types/tool/index.d.ts +175 -1
  940. package/dist/types/tool/index.d.ts.map +1 -1
  941. package/dist/types/tool/index.js.map +1 -1
  942. package/dist/types/tool/presentation.d.ts +53 -0
  943. package/dist/types/tool/presentation.d.ts.map +1 -0
  944. package/dist/types/tool/presentation.js +2 -0
  945. package/dist/types/tool/presentation.js.map +1 -0
  946. package/dist/types/{thread → topic}/entity.d.ts +34 -26
  947. package/dist/types/topic/entity.d.ts.map +1 -0
  948. package/dist/types/{thread → topic}/entity.js.map +1 -1
  949. package/dist/types/topic/index.d.ts +5 -0
  950. package/dist/types/topic/index.d.ts.map +1 -0
  951. package/dist/types/topic/index.js +11 -0
  952. package/dist/types/topic/index.js.map +1 -0
  953. package/dist/types/topic/objective.d.ts +86 -0
  954. package/dist/types/topic/objective.d.ts.map +1 -0
  955. package/dist/types/topic/objective.js +10 -0
  956. package/dist/types/topic/objective.js.map +1 -0
  957. package/dist/types/topic/state.d.ts +56 -0
  958. package/dist/types/topic/state.d.ts.map +1 -0
  959. package/dist/types/topic/state.js +10 -0
  960. package/dist/types/topic/state.js.map +1 -0
  961. package/dist/types/topic/store.d.ts +95 -0
  962. package/dist/types/topic/store.d.ts.map +1 -0
  963. package/dist/types/topic/store.js +29 -0
  964. package/dist/types/topic/store.js.map +1 -0
  965. package/dist/types/workspace/ref.d.ts +7 -0
  966. package/dist/types/workspace/ref.d.ts.map +1 -1
  967. package/dist/utils/abort.d.ts.map +1 -1
  968. package/dist/utils/abort.js +13 -1
  969. package/dist/utils/abort.js.map +1 -1
  970. package/dist/utils/hash.d.ts +10 -0
  971. package/dist/utils/hash.d.ts.map +1 -1
  972. package/dist/utils/hash.js +15 -0
  973. package/dist/utils/hash.js.map +1 -1
  974. package/dist/utils/id.d.ts +82 -2
  975. package/dist/utils/id.d.ts.map +1 -1
  976. package/dist/utils/id.js +104 -4
  977. package/dist/utils/id.js.map +1 -1
  978. package/dist/utils/log/attributes.d.ts +17 -0
  979. package/dist/utils/log/attributes.d.ts.map +1 -0
  980. package/dist/utils/log/attributes.js +2 -0
  981. package/dist/utils/log/attributes.js.map +1 -0
  982. package/dist/utils/log/caps.d.ts +27 -0
  983. package/dist/utils/log/caps.d.ts.map +1 -0
  984. package/dist/utils/log/caps.js +107 -0
  985. package/dist/utils/log/caps.js.map +1 -0
  986. package/dist/utils/log/create-logger.d.ts +28 -0
  987. package/dist/utils/log/create-logger.d.ts.map +1 -0
  988. package/dist/utils/log/create-logger.js +168 -0
  989. package/dist/utils/log/create-logger.js.map +1 -0
  990. package/dist/utils/log/exception.d.ts +11 -0
  991. package/dist/utils/log/exception.d.ts.map +1 -0
  992. package/dist/utils/log/exception.js +108 -0
  993. package/dist/utils/log/exception.js.map +1 -0
  994. package/dist/utils/log/index.d.ts +7 -0
  995. package/dist/utils/log/index.d.ts.map +1 -0
  996. package/dist/utils/log/index.js +15 -0
  997. package/dist/utils/log/index.js.map +1 -0
  998. package/dist/utils/log/process-sink.d.ts +28 -0
  999. package/dist/utils/log/process-sink.d.ts.map +1 -0
  1000. package/dist/utils/log/process-sink.js +56 -0
  1001. package/dist/utils/log/process-sink.js.map +1 -0
  1002. package/dist/utils/log/redact.d.ts +3 -0
  1003. package/dist/utils/log/redact.d.ts.map +1 -0
  1004. package/dist/utils/log/redact.js +71 -0
  1005. package/dist/utils/log/redact.js.map +1 -0
  1006. package/dist/utils/log/sinks.d.ts +43 -0
  1007. package/dist/utils/log/sinks.d.ts.map +1 -0
  1008. package/dist/utils/log/sinks.js +184 -0
  1009. package/dist/utils/log/sinks.js.map +1 -0
  1010. package/dist/utils/log/templates.d.ts +63 -0
  1011. package/dist/utils/log/templates.d.ts.map +1 -0
  1012. package/dist/utils/log/templates.js +119 -0
  1013. package/dist/utils/log/templates.js.map +1 -0
  1014. package/dist/utils/log/types.d.ts +183 -0
  1015. package/dist/utils/log/types.d.ts.map +1 -0
  1016. package/dist/utils/log/types.js +55 -0
  1017. package/dist/utils/log/types.js.map +1 -0
  1018. package/dist/utils/logger.d.ts +44 -0
  1019. package/dist/utils/logger.d.ts.map +1 -1
  1020. package/dist/utils/logger.js +102 -2
  1021. package/dist/utils/logger.js.map +1 -1
  1022. package/dist/utils/renamed-field.d.ts +19 -0
  1023. package/dist/utils/renamed-field.d.ts.map +1 -0
  1024. package/dist/utils/renamed-field.js +29 -0
  1025. package/dist/utils/renamed-field.js.map +1 -0
  1026. package/dist/vault/CredentialProvider.d.ts +89 -0
  1027. package/dist/vault/CredentialProvider.d.ts.map +1 -0
  1028. package/dist/vault/CredentialProvider.js +64 -0
  1029. package/dist/vault/CredentialProvider.js.map +1 -0
  1030. package/dist/vault/InMemoryCredentialVault.d.ts +2 -1
  1031. package/dist/vault/InMemoryCredentialVault.d.ts.map +1 -1
  1032. package/dist/vault/InMemoryCredentialVault.js +15 -5
  1033. package/dist/vault/InMemoryCredentialVault.js.map +1 -1
  1034. package/dist/vault/index.d.ts +3 -0
  1035. package/dist/vault/index.d.ts.map +1 -1
  1036. package/dist/vault/index.js +5 -0
  1037. package/dist/vault/index.js.map +1 -1
  1038. package/dist/vault/instrumentation.d.ts +18 -2
  1039. package/dist/vault/instrumentation.d.ts.map +1 -1
  1040. package/dist/vault/instrumentation.js +47 -0
  1041. package/dist/vault/instrumentation.js.map +1 -1
  1042. package/package.json +4 -4
  1043. package/src/advisory/executor.ts +14 -12
  1044. package/src/advisory/registry.ts +2 -2
  1045. package/src/agents/AGENTS.md +91 -0
  1046. package/src/agents/AbstractAgent.ts +67 -14
  1047. package/src/agents/PipelineAgent.ts +46 -12
  1048. package/src/agents/ReactiveAgent.ts +27 -14
  1049. package/src/agents/RouterAgent.ts +33 -21
  1050. package/src/agents/SupervisorAgent.ts +46 -28
  1051. package/src/agents/handle.ts +149 -0
  1052. package/src/agents/runAgent.ts +14 -7
  1053. package/src/{verification → authorization}/gate.ts +39 -32
  1054. package/src/authorization/index.ts +26 -0
  1055. package/src/authorization/permission-presets.ts +215 -0
  1056. package/src/{verification → authorization}/presets.ts +15 -3
  1057. package/src/{verification → authorization}/rules.ts +16 -3
  1058. package/src/bridge/a2a/client.ts +369 -0
  1059. package/src/bridge/a2a/mapper.ts +17 -0
  1060. package/src/bridge/acp/filesystem.ts +63 -0
  1061. package/src/bridge/acp/index.ts +11 -0
  1062. package/src/bridge/acp/permission.ts +71 -0
  1063. package/src/bridge/acp/server.ts +500 -0
  1064. package/src/bridge/acp/update.ts +109 -0
  1065. package/src/bridge/mcp/connector/adapter.ts +8 -4
  1066. package/src/bridge/sse/mapper.ts +30 -0
  1067. package/src/bus/breaker.ts +15 -10
  1068. package/src/bus/index.ts +10 -8
  1069. package/src/bus/lock.ts +36 -19
  1070. package/src/bus/ownership.ts +17 -9
  1071. package/src/compaction/context-window.ts +23 -1
  1072. package/src/compaction/index.ts +6 -0
  1073. package/src/compaction/manual.ts +177 -0
  1074. package/src/compaction/plan.ts +226 -0
  1075. package/src/compaction/summary.ts +31 -0
  1076. package/src/compaction/verifier.ts +2 -2
  1077. package/src/config/registry.ts +208 -0
  1078. package/src/config/runtime.ts +27 -0
  1079. package/src/connector/BaseConnector.ts +8 -3
  1080. package/src/connector/builtins/http.ts +12 -2
  1081. package/src/connector/builtins/webhook.ts +6 -2
  1082. package/src/connector/index.ts +45 -29
  1083. package/src/connector/mcp/client.ts +32 -20
  1084. package/src/connector/mcp/discovery.ts +31 -20
  1085. package/src/connector/mcp/http-sse.ts +12 -6
  1086. package/src/connector/mcp/index.ts +8 -7
  1087. package/src/connector/mcp/reconnect.ts +194 -0
  1088. package/src/connector/mcp/server/index.ts +32 -0
  1089. package/src/connector/mcp/{server-stdio.ts → server/server-stdio.ts} +5 -4
  1090. package/src/connector/mcp/{server.ts → server/server.ts} +17 -11
  1091. package/src/connector/mcp/stdio.ts +18 -9
  1092. package/src/connector/mcp/streamable-http.ts +8 -4
  1093. package/src/{bridge/tools/connector → connector/tools}/adapter.ts +5 -5
  1094. package/src/{bridge/tools/connector → connector/tools}/definitions.ts +4 -4
  1095. package/src/{bridge/tools/connector → connector/tools}/router.ts +17 -9
  1096. package/src/connector/web/guarded-fetch.ts +288 -0
  1097. package/src/connector/web/index.ts +17 -0
  1098. package/src/connector/web/types.ts +99 -0
  1099. package/src/constants/acp/index.ts +104 -0
  1100. package/src/constants/credential-env-keys.ts +63 -0
  1101. package/src/constants/index.ts +3 -1
  1102. package/src/constants/secret-patterns.ts +102 -0
  1103. package/src/constants/telemetry/index.ts +98 -0
  1104. package/src/contracts/api.ts +11 -0
  1105. package/src/eval/judge.ts +2 -2
  1106. package/src/execution/base.ts +18 -7
  1107. package/src/execution/code-runtime/types.ts +116 -0
  1108. package/src/execution/code-runtime/worker.ts +266 -0
  1109. package/src/{connector/execution → execution}/factory.ts +3 -3
  1110. package/src/{connector/execution → execution}/hybrid.ts +13 -7
  1111. package/src/execution/index.ts +24 -0
  1112. package/src/execution/local.ts +4 -2
  1113. package/src/{connector/execution → execution}/remote.ts +15 -8
  1114. package/src/index.ts +17 -0
  1115. package/src/invariants/index.ts +201 -0
  1116. package/src/manager/agent/lifecycle.ts +172 -58
  1117. package/src/manager/connector/environment.ts +22 -11
  1118. package/src/manager/connector/lifecycle.ts +30 -11
  1119. package/src/manager/connector/tenant.ts +33 -14
  1120. package/src/manager/index.ts +15 -2
  1121. package/src/manager/project/lifecycle.ts +1 -1
  1122. package/src/manager/run/emergency.ts +9 -7
  1123. package/src/manager/run/persistence.ts +110 -8
  1124. package/src/manager/topic/lifecycle.ts +235 -0
  1125. package/src/manager/topic/objective.ts +203 -0
  1126. package/src/persona/assembler.ts +14 -3
  1127. package/src/plugin/lifecycle.ts +156 -20
  1128. package/src/plugin/loader.ts +67 -16
  1129. package/src/probe/index.ts +1 -0
  1130. package/src/probe/registry.ts +41 -5
  1131. package/src/process/kill-tree.ts +52 -0
  1132. package/src/prompt/contributions.ts +173 -0
  1133. package/src/prompt/index.ts +15 -0
  1134. package/src/provider/attribution.ts +57 -0
  1135. package/src/provider/{collect.ts → collect-chat-completion.ts} +4 -2
  1136. package/src/provider/conformance.ts +189 -0
  1137. package/src/provider/errors.ts +27 -12
  1138. package/src/provider/fallback.ts +32 -10
  1139. package/src/provider/idle-timeout.ts +112 -0
  1140. package/src/provider/instrumentation.ts +4 -2
  1141. package/src/provider/retry.ts +63 -21
  1142. package/src/public-runtime.ts +371 -18
  1143. package/src/public-tools.ts +41 -1
  1144. package/src/public-types.ts +101 -4
  1145. package/src/rag/rag-tool.ts +4 -2
  1146. package/src/read-model/index.ts +14 -0
  1147. package/src/read-model/registry.ts +152 -0
  1148. package/src/read-model/run-status.ts +127 -0
  1149. package/src/registry/{Registry.ts → BaseRegistry.ts} +1 -1
  1150. package/src/registry/ManagedRegistry.ts +26 -9
  1151. package/src/registry/command/index-exports.ts +4 -0
  1152. package/src/registry/command/index.ts +105 -0
  1153. package/src/registry/command/kernel-commands.ts +110 -0
  1154. package/src/registry/connector/scoped.ts +6 -5
  1155. package/src/registry/index.ts +7 -1
  1156. package/src/registry/tool/execute.ts +15 -12
  1157. package/src/registry/tool/presentation.ts +116 -0
  1158. package/src/registry/tool/screen.ts +12 -11
  1159. package/src/run/drain.ts +13 -3
  1160. package/src/run/reporter.ts +208 -153
  1161. package/src/run-query/index.ts +108 -0
  1162. package/src/runtime/bidi/session.ts +7 -2
  1163. package/src/runtime/decision/fallback.ts +6 -3
  1164. package/src/runtime/decision/parser.ts +10 -9
  1165. package/src/runtime/jobs/registry.ts +346 -0
  1166. package/src/runtime/query/approval-policy.ts +78 -0
  1167. package/src/runtime/query/checkpoint.ts +6 -6
  1168. package/src/runtime/query/context.ts +120 -30
  1169. package/src/runtime/query/events.ts +19 -11
  1170. package/src/runtime/query/executor.ts +287 -66
  1171. package/src/runtime/query/guardrail-presets.ts +11 -14
  1172. package/src/runtime/query/guardrails.ts +16 -12
  1173. package/src/runtime/query/index.ts +539 -96
  1174. package/src/runtime/query/iteration/index.ts +269 -87
  1175. package/src/runtime/query/iteration/phases/advisory.ts +17 -16
  1176. package/src/runtime/query/iteration/phases/compaction.ts +235 -187
  1177. package/src/runtime/query/iteration/phases/context.ts +82 -21
  1178. package/src/runtime/query/iteration/phases/tool-review.ts +28 -9
  1179. package/src/runtime/query/iteration/phases/working-memory.ts +3 -2
  1180. package/src/runtime/query/iteration/stream-turn.ts +14 -14
  1181. package/src/runtime/query/{context-cache.ts → prompt-cache.ts} +23 -3
  1182. package/src/runtime/query/prompt.ts +104 -4
  1183. package/src/runtime/query/repeat-call.ts +130 -0
  1184. package/src/runtime/query/replay/mutate.ts +6 -0
  1185. package/src/runtime/query/result.ts +47 -10
  1186. package/src/runtime/query/resume-pending.ts +19 -17
  1187. package/src/runtime/query/resume-run.ts +2 -2
  1188. package/src/runtime/query/run-state.ts +5 -5
  1189. package/src/runtime/query/tool-grants.ts +1 -1
  1190. package/src/runtime/query/tool-output-budget.ts +36 -3
  1191. package/src/runtime/query/tool-pause.ts +2 -1
  1192. package/src/runtime/query/tooling.ts +17 -2
  1193. package/src/sandbox/provider/local.ts +94 -21
  1194. package/src/sandbox/terminal.ts +197 -0
  1195. package/src/{gateway → scheduler}/completion-inbox.ts +20 -10
  1196. package/src/scheduler/delegating.ts +297 -0
  1197. package/src/{gateway → scheduler}/local.ts +24 -15
  1198. package/src/session/actor-scope.ts +121 -0
  1199. package/src/session/errors.ts +30 -8
  1200. package/src/session/handoff/assignment.ts +5 -5
  1201. package/src/session/handoff/broadcast.ts +16 -12
  1202. package/src/session/handoff/index.ts +1 -1
  1203. package/src/session/handoff/single.ts +16 -17
  1204. package/src/session/migration/filesystem.ts +46 -2
  1205. package/src/session/migration/id-prefix.ts +47 -22
  1206. package/src/session/migration/index.ts +5 -2
  1207. package/src/session/migration/marker.ts +19 -4
  1208. package/src/session/retention/archive.ts +19 -12
  1209. package/src/session/workspace/git-worktree.ts +17 -8
  1210. package/src/skills/loader.ts +39 -9
  1211. package/src/skills/registry.ts +177 -20
  1212. package/src/store/attachment/index.ts +182 -0
  1213. package/src/store/config/index.ts +74 -0
  1214. package/src/store/feedback/conformance.ts +193 -0
  1215. package/src/store/feedback/disk.ts +184 -0
  1216. package/src/store/feedback/index.ts +13 -0
  1217. package/src/store/feedback/memory.ts +0 -0
  1218. package/src/store/feedback/types.ts +107 -0
  1219. package/src/store/index.ts +5 -0
  1220. package/src/store/kv/record-store.ts +91 -0
  1221. package/src/store/memory/disk.ts +35 -32
  1222. package/src/store/run/checkpoint-disk.ts +27 -6
  1223. package/src/store/run/checkpoint-memory.ts +8 -8
  1224. package/src/store/run/claim-disk.ts +58 -13
  1225. package/src/store/run/conformance.ts +11 -10
  1226. package/src/store/run/disk.ts +77 -5
  1227. package/src/store/run/listing.ts +6 -6
  1228. package/src/store/run/memory.ts +24 -1
  1229. package/src/store/session/canonical-path.ts +45 -0
  1230. package/src/store/session/disk.ts +216 -191
  1231. package/src/store/session/memory.ts +43 -5
  1232. package/src/store/task/disk.ts +77 -67
  1233. package/src/store/topic/index.ts +33 -0
  1234. package/src/store/topic/memory.ts +111 -0
  1235. package/src/store/topic/objective.ts +290 -0
  1236. package/src/store/topic/state.ts +204 -0
  1237. package/src/streaming/coalesce.ts +19 -5
  1238. package/src/telemetry/runtime-accessors.ts +45 -1
  1239. package/src/test-support/ids.ts +117 -0
  1240. package/src/testing.ts +40 -0
  1241. package/src/tools/builtins/bash.ts +82 -3
  1242. package/src/tools/builtins/edit.ts +36 -0
  1243. package/src/tools/builtins/index.ts +29 -1
  1244. package/src/tools/builtins/job.ts +133 -0
  1245. package/src/tools/builtins/lsp.ts +214 -0
  1246. package/src/tools/builtins/run-code.ts +154 -0
  1247. package/src/tools/builtins/skill.ts +134 -0
  1248. package/src/tools/builtins/web-guidance.ts +46 -0
  1249. package/src/tools/builtins/web.ts +156 -0
  1250. package/src/tools/builtins/write-file.ts +37 -1
  1251. package/src/tools/coordinator/agent.ts +2 -2
  1252. package/src/tools/coordinator/index.ts +144 -40
  1253. package/src/tools/coordinator/outcome.ts +2 -2
  1254. package/src/tools/coordinator/wait-with-idle-bound.ts +3 -3
  1255. package/src/tools/defineTool.ts +14 -0
  1256. package/src/tools/env-scrub.ts +91 -0
  1257. package/src/tools/memory/read.ts +5 -2
  1258. package/src/tools/task/create.ts +2 -1
  1259. package/src/tools/task/update.ts +7 -4
  1260. package/src/types/acp/index.ts +163 -0
  1261. package/src/types/agent/base.ts +67 -5
  1262. package/src/types/agent/delegate.ts +110 -0
  1263. package/src/types/agent/index.ts +1 -1
  1264. package/src/types/agent/manager.ts +7 -1
  1265. package/src/types/agent/reactive.ts +22 -3
  1266. package/src/types/agent/{gateway.ts → scheduler.ts} +30 -4
  1267. package/src/types/agent/supervisor.ts +15 -5
  1268. package/src/types/agent/task.ts +31 -9
  1269. package/src/types/agent/working-memory.ts +1 -1
  1270. package/src/types/{verification → authorization}/index.ts +69 -10
  1271. package/src/types/bus/index.ts +30 -1
  1272. package/src/types/code-navigation/index.ts +99 -0
  1273. package/src/types/command/index.ts +68 -0
  1274. package/src/types/common/index.ts +17 -2
  1275. package/src/types/connector/mcp.ts +8 -0
  1276. package/src/types/guardrail/index.ts +1 -1
  1277. package/src/types/hitl/policy.ts +83 -0
  1278. package/src/types/ids/brand.ts +58 -0
  1279. package/src/types/ids/index.ts +94 -42
  1280. package/src/types/message/index.ts +25 -1
  1281. package/src/types/project/entity.ts +22 -2
  1282. package/src/types/provider/interface.ts +45 -2
  1283. package/src/types/provider/model.ts +16 -2
  1284. package/src/types/run/audit.ts +164 -0
  1285. package/src/types/run/cancel-cause.ts +60 -0
  1286. package/src/types/run/checkpoint-store.ts +24 -11
  1287. package/src/types/run/config.ts +25 -4
  1288. package/src/types/run/derive-status.ts +3 -3
  1289. package/src/types/run/entity.ts +2 -4
  1290. package/src/types/run/event-cursor.ts +3 -3
  1291. package/src/types/run/events.ts +165 -6
  1292. package/src/types/run/index.ts +2 -0
  1293. package/src/types/run/metadata.ts +2 -2
  1294. package/src/types/run/prepare-step.ts +33 -0
  1295. package/src/types/run/state.ts +78 -11
  1296. package/src/types/run/stop-reason.ts +9 -0
  1297. package/src/types/run/store.ts +40 -0
  1298. package/src/types/sandbox/index.ts +37 -0
  1299. package/src/types/session/actor.ts +10 -2
  1300. package/src/types/session/entity.ts +9 -7
  1301. package/src/types/session/ids.ts +1 -1
  1302. package/src/types/session/index.ts +1 -1
  1303. package/src/types/session/store.ts +53 -22
  1304. package/src/types/session/sub-session.ts +45 -16
  1305. package/src/types/skills/index.ts +50 -0
  1306. package/src/types/tool/index.ts +156 -1
  1307. package/src/types/tool/presentation.ts +48 -0
  1308. package/src/types/{thread → topic}/entity.ts +34 -26
  1309. package/src/types/topic/index.ts +23 -0
  1310. package/src/types/topic/objective.ts +93 -0
  1311. package/src/types/topic/state.ts +60 -0
  1312. package/src/types/topic/store.ts +101 -0
  1313. package/src/types/workspace/ref.ts +7 -0
  1314. package/src/utils/abort.ts +16 -1
  1315. package/src/utils/hash.ts +16 -0
  1316. package/src/utils/id.ts +163 -12
  1317. package/src/utils/log/attributes.ts +47 -0
  1318. package/src/utils/log/caps.ts +118 -0
  1319. package/src/utils/log/create-logger.ts +198 -0
  1320. package/src/utils/log/exception.ts +124 -0
  1321. package/src/utils/log/index.ts +24 -0
  1322. package/src/utils/log/process-sink.ts +76 -0
  1323. package/src/utils/log/redact.ts +77 -0
  1324. package/src/utils/log/sinks.ts +205 -0
  1325. package/src/utils/log/templates.ts +161 -0
  1326. package/src/utils/log/types.ts +195 -0
  1327. package/src/utils/logger.ts +121 -2
  1328. package/src/utils/renamed-field.ts +35 -0
  1329. package/src/vault/CredentialProvider.ts +147 -0
  1330. package/src/vault/InMemoryCredentialVault.ts +16 -5
  1331. package/src/vault/index.ts +16 -0
  1332. package/src/vault/instrumentation.ts +63 -2
  1333. package/dist/bridge/tools/connector/adapter.d.ts.map +0 -1
  1334. package/dist/bridge/tools/connector/adapter.js.map +0 -1
  1335. package/dist/bridge/tools/connector/definitions.d.ts.map +0 -1
  1336. package/dist/bridge/tools/connector/definitions.js.map +0 -1
  1337. package/dist/bridge/tools/connector/index.d.ts.map +0 -1
  1338. package/dist/bridge/tools/connector/index.js.map +0 -1
  1339. package/dist/bridge/tools/connector/router.d.ts.map +0 -1
  1340. package/dist/bridge/tools/connector/router.js.map +0 -1
  1341. package/dist/connector/execution/factory.d.ts.map +0 -1
  1342. package/dist/connector/execution/factory.js.map +0 -1
  1343. package/dist/connector/execution/hybrid.d.ts.map +0 -1
  1344. package/dist/connector/execution/hybrid.js.map +0 -1
  1345. package/dist/connector/execution/index.d.ts +0 -6
  1346. package/dist/connector/execution/index.d.ts.map +0 -1
  1347. package/dist/connector/execution/index.js +0 -4
  1348. package/dist/connector/execution/index.js.map +0 -1
  1349. package/dist/connector/execution/remote.d.ts.map +0 -1
  1350. package/dist/connector/execution/remote.js.map +0 -1
  1351. package/dist/connector/mcp/server-stdio.d.ts.map +0 -1
  1352. package/dist/connector/mcp/server-stdio.js.map +0 -1
  1353. package/dist/connector/mcp/server.d.ts.map +0 -1
  1354. package/dist/connector/mcp/server.js.map +0 -1
  1355. package/dist/constants/verification/index.d.ts.map +0 -1
  1356. package/dist/constants/verification/index.js.map +0 -1
  1357. package/dist/gateway/completion-inbox.d.ts.map +0 -1
  1358. package/dist/gateway/completion-inbox.js.map +0 -1
  1359. package/dist/gateway/local.d.ts.map +0 -1
  1360. package/dist/gateway/local.js.map +0 -1
  1361. package/dist/manager/thread/lifecycle.d.ts +0 -105
  1362. package/dist/manager/thread/lifecycle.d.ts.map +0 -1
  1363. package/dist/manager/thread/lifecycle.js.map +0 -1
  1364. package/dist/provider/collect.d.ts.map +0 -1
  1365. package/dist/provider/collect.js.map +0 -1
  1366. package/dist/registry/Registry.d.ts.map +0 -1
  1367. package/dist/registry/Registry.js.map +0 -1
  1368. package/dist/router/task-router.d.ts.map +0 -1
  1369. package/dist/router/task-router.js.map +0 -1
  1370. package/dist/runtime/query/context-cache.d.ts.map +0 -1
  1371. package/dist/runtime/query/context-cache.js.map +0 -1
  1372. package/dist/store/thread/disk.d.ts +0 -41
  1373. package/dist/store/thread/disk.d.ts.map +0 -1
  1374. package/dist/store/thread/disk.js +0 -238
  1375. package/dist/store/thread/disk.js.map +0 -1
  1376. package/dist/store/thread/index.d.ts +0 -4
  1377. package/dist/store/thread/index.d.ts.map +0 -1
  1378. package/dist/store/thread/index.js +0 -6
  1379. package/dist/store/thread/index.js.map +0 -1
  1380. package/dist/store/thread/memory.d.ts +0 -23
  1381. package/dist/store/thread/memory.d.ts.map +0 -1
  1382. package/dist/store/thread/memory.js +0 -90
  1383. package/dist/store/thread/memory.js.map +0 -1
  1384. package/dist/types/agent/gateway.d.ts.map +0 -1
  1385. package/dist/types/agent/gateway.js +0 -2
  1386. package/dist/types/agent/gateway.js.map +0 -1
  1387. package/dist/types/thread/entity.d.ts.map +0 -1
  1388. package/dist/types/thread/index.d.ts +0 -3
  1389. package/dist/types/thread/index.d.ts.map +0 -1
  1390. package/dist/types/thread/index.js +0 -5
  1391. package/dist/types/thread/index.js.map +0 -1
  1392. package/dist/types/thread/store.d.ts +0 -86
  1393. package/dist/types/thread/store.d.ts.map +0 -1
  1394. package/dist/types/thread/store.js +0 -22
  1395. package/dist/types/thread/store.js.map +0 -1
  1396. package/dist/types/verification/index.d.ts.map +0 -1
  1397. package/dist/types/verification/index.js +0 -53
  1398. package/dist/types/verification/index.js.map +0 -1
  1399. package/dist/verification/gate.d.ts.map +0 -1
  1400. package/dist/verification/gate.js.map +0 -1
  1401. package/dist/verification/index.d.ts +0 -4
  1402. package/dist/verification/index.d.ts.map +0 -1
  1403. package/dist/verification/index.js +0 -4
  1404. package/dist/verification/index.js.map +0 -1
  1405. package/dist/verification/presets.d.ts.map +0 -1
  1406. package/dist/verification/presets.js.map +0 -1
  1407. package/dist/verification/rules.d.ts +0 -4
  1408. package/dist/verification/rules.d.ts.map +0 -1
  1409. package/dist/verification/rules.js.map +0 -1
  1410. package/src/connector/execution/index.ts +0 -5
  1411. package/src/manager/thread/lifecycle.ts +0 -217
  1412. package/src/store/thread/disk.ts +0 -272
  1413. package/src/store/thread/index.ts +0 -7
  1414. package/src/store/thread/memory.ts +0 -104
  1415. package/src/types/thread/index.ts +0 -6
  1416. package/src/types/thread/store.ts +0 -92
  1417. package/src/verification/index.ts +0 -3
  1418. /package/dist/{bridge/tools/connector → connector/tools}/index.d.ts +0 -0
  1419. /package/dist/{bridge/tools/connector → connector/tools}/index.js +0 -0
  1420. /package/dist/constants/{verification → authorization}/index.d.ts +0 -0
  1421. /package/dist/constants/{verification → authorization}/index.js +0 -0
  1422. /package/dist/{router → model-router}/task-router.d.ts +0 -0
  1423. /package/dist/{router → model-router}/task-router.js +0 -0
  1424. /package/dist/types/{thread → topic}/entity.js +0 -0
  1425. /package/src/{bridge/tools/connector → connector/tools}/index.ts +0 -0
  1426. /package/src/constants/{verification → authorization}/index.ts +0 -0
  1427. /package/src/{router → model-router}/task-router.ts +0 -0
@@ -0,0 +1,226 @@
1
+ import type { CompactionConfig } from '../config/runtime.js'
2
+ import { CHARS_PER_TOKEN } from '../constants/limits.js'
3
+ import type { Message } from '../types/message/index.js'
4
+ import { findSafeTrimIndex } from './dangling.js'
5
+ import { clearStaleToolResults } from './tool-result-editing.js'
6
+
7
+ /**
8
+ * The compaction decision, with no run attached.
9
+ *
10
+ * The whole algorithm — the leading-system floor scan, the tool-result
11
+ * pre-pass, the boundary search, the guards — lived inside
12
+ * `runCompactionCheck` and read everything off the iteration context — the
13
+ * live message array, the logger, the event emitter, the working-state
14
+ * manager. Nothing outside a live iteration could run it, so the pass was
15
+ * testable only through a full run harness and unreachable from any
16
+ * host-callable entry point.
17
+ *
18
+ * This file therefore holds NO reference to that context, and a test greps
19
+ * for one: reintroducing a single field read would quietly re-couple the
20
+ * arithmetic to a run and nothing else would fail.
21
+ *
22
+ * What stayed behind is everything with an effect: the model call, the
23
+ * working-memory re-pin, the array install, the logging, every
24
+ * `emitEvent`. What moved here is the arithmetic. The split is the
25
+ * question "what should happen" separated from "make it happen", and only
26
+ * the first half can be asked without a run.
27
+ */
28
+
29
+ /** Why a pass decided to do nothing. */
30
+ export type CompactionSkipReason =
31
+ /** Fewer messages than the recent window plus a floor — nothing to move. */
32
+ | 'too_few_messages'
33
+ /** No leading `system` message, so there is no permanent floor to keep. */
34
+ | 'no_system_floor'
35
+ /** Every candidate boundary would split a tool-call pair. */
36
+ | 'no_safe_cut'
37
+ /** A safe cut exists but leaves nothing older worth summarising. */
38
+ | 'too_few_older'
39
+
40
+ export type CompactionPlan =
41
+ | { readonly kind: 'skip'; readonly reason: CompactionSkipReason }
42
+ | {
43
+ readonly kind: 'cleared'
44
+ readonly messages: readonly Message[]
45
+ readonly clearedCount: number
46
+ readonly charsReclaimed: number
47
+ readonly reclaimedTokens: number
48
+ readonly reliefWasEnough: boolean
49
+ }
50
+ | {
51
+ readonly kind: 'plan'
52
+ readonly systemMessages: readonly Message[]
53
+ readonly olderMessages: readonly Message[]
54
+ readonly recentMessages: readonly Message[]
55
+ readonly keepStart: number
56
+ }
57
+
58
+ export interface CompactionPlanInput {
59
+ readonly messages: readonly Message[]
60
+ readonly config: CompactionConfig
61
+ readonly contextWindowTokens: number
62
+ readonly estimatedTokens: number
63
+ readonly force?: boolean
64
+ /**
65
+ * Skip the tool-result pre-pass and go straight to the boundary search.
66
+ *
67
+ * The two steps are sequential in a real pass: clear first, install the
68
+ * result, and if that was not enough relief, plan a cut over the history
69
+ * you just edited. Returning both from one call would mean nesting a
70
+ * union inside a union and computing a boundary the caller may never
71
+ * use; asking twice says what is happening.
72
+ */
73
+ readonly skipToolResultClear?: boolean
74
+ }
75
+
76
+ /**
77
+ * How many characters a message's content is worth.
78
+ *
79
+ * An image costs far fewer tokens than its base64 length divided by four —
80
+ * but under-counting it to zero is the worse error: it let a run full of
81
+ * screenshots read as an empty context.
82
+ */
83
+ function measureContentChars(content: unknown): number {
84
+ if (typeof content === 'string') return content.length
85
+ if (!Array.isArray(content)) return 0
86
+ let total = 0
87
+ for (const block of content as readonly Record<string, unknown>[]) {
88
+ if (block.type === 'text' && typeof block.text === 'string') total += block.text.length
89
+ else if (block.type === 'image' && typeof block.data === 'string') total += block.data.length
90
+ }
91
+ return total
92
+ }
93
+
94
+ /**
95
+ * The last index whose tail fits in `budgetTokens`, walking backwards.
96
+ *
97
+ * Replaces the naive count boundary and nothing else — the caller runs the
98
+ * existing `findSafeTrimIndex` search downward from whatever this returns,
99
+ * so the `tool_use` ↔ `tool_result` pairing guarantee is untouched by
100
+ * construction rather than by care.
101
+ *
102
+ * Floored at one message. A single final message larger than the whole
103
+ * budget still has to be kept: it is the live turn, and dropping it to
104
+ * satisfy a size preference would delete the thing the run is answering.
105
+ *
106
+ * Exported for its own tests. There used to be a second copy of this in the
107
+ * phase file with a `__forTests` export beside it; two implementations of
108
+ * one boundary calculation is the failure this extraction exists to end, so
109
+ * the phase's copy is gone and its tests point here.
110
+ */
111
+ export function naiveKeepStartByTokens(messages: readonly Message[], budgetTokens: number): number {
112
+ let tokens = 0
113
+ let start = messages.length
114
+ for (let index = messages.length - 1; index >= 0; index--) {
115
+ const cost = Math.ceil(measureContentChars(messages[index]?.content) / CHARS_PER_TOKEN)
116
+ // Checked BEFORE adding, so the boundary never includes a message
117
+ // that pushes the tail over. Adding first and trimming after would
118
+ // admit one oversized message on every run.
119
+ if (start < messages.length && tokens + cost > budgetTokens) break
120
+ tokens += cost
121
+ start = index
122
+ }
123
+ return start
124
+ }
125
+
126
+ export function planCompaction(input: CompactionPlanInput): CompactionPlan {
127
+ const { config, estimatedTokens, contextWindowTokens: budget } = input
128
+
129
+ if (!input.skipToolResultClear && config.clearToolResults !== false) {
130
+ const edit = clearStaleToolResults(input.messages, {
131
+ ...(config.keepRecentToolResults !== undefined
132
+ ? { keepRecentToolResults: config.keepRecentToolResults }
133
+ : {}),
134
+ ...(config.minToolResultCharsToClear !== undefined
135
+ ? { minCharsToClear: config.minToolResultCharsToClear }
136
+ : {}),
137
+ ...(config.preserveToolResultsFrom ? { preserveTools: config.preserveToolResultsFrom } : {}),
138
+ })
139
+
140
+ if (edit.clearedCount > 0) {
141
+ const reclaimedTokens = Math.ceil(edit.charsReclaimed / CHARS_PER_TOKEN)
142
+ // NOT on a forced pass. A forced pass runs because the provider
143
+ // REJECTED the prompt as too long, which is a measurement — and
144
+ // answering it with the same estimate the provider just refuted
145
+ // would declare success after clearing one result and hand back a
146
+ // history that overflows again on the retry.
147
+ const reliefWasEnough =
148
+ !input.force && (estimatedTokens - reclaimedTokens) / budget < config.triggerThreshold
149
+ return {
150
+ kind: 'cleared',
151
+ messages: edit.messages,
152
+ clearedCount: edit.clearedCount,
153
+ charsReclaimed: edit.charsReclaimed,
154
+ reclaimedTokens,
155
+ reliefWasEnough,
156
+ }
157
+ }
158
+ }
159
+
160
+ const messages = input.messages
161
+ if (messages.length < config.keepRecentMessages + 2) {
162
+ return { kind: 'skip', reason: 'too_few_messages' }
163
+ }
164
+
165
+ const systemMessages: Message[] = []
166
+ for (const msg of messages) {
167
+ if (msg.role !== 'system') break
168
+ systemMessages.push(msg)
169
+ }
170
+ if (systemMessages.length === 0) return { kind: 'skip', reason: 'no_system_floor' }
171
+
172
+ // Tool-pair atomicity. A naive cut at `length - keepRecentMessages` can
173
+ // land BETWEEN an assistant-with-toolCalls (dropped into `older`) and its
174
+ // `tool` results (kept in `recent`), leaving orphaned `tool_result`
175
+ // blocks at the head of the recent window. The provider then emits a
176
+ // `tool_result` with no matching `tool_use` and the API rejects the next
177
+ // turn — so compaction, whose whole job is to keep a long run alive,
178
+ // kills it instead. Snap the boundary backward to a safe point.
179
+ const naiveKeepStart =
180
+ config.keepRecentTokens === undefined
181
+ ? messages.length - config.keepRecentMessages
182
+ : naiveKeepStartByTokens(messages, config.keepRecentTokens)
183
+ let keepStart = -1
184
+ for (let candidate = naiveKeepStart; candidate > systemMessages.length; candidate--) {
185
+ if (findSafeTrimIndex(messages as Message[], candidate) === candidate) {
186
+ keepStart = candidate
187
+ break
188
+ }
189
+ }
190
+
191
+ // No safe boundary at or below naive. Either every candidate splits a
192
+ // pair-set — one assistant fanning out more calls than the recent window
193
+ // holds — or naive itself sits inside the leading system prefix, which
194
+ // would duplicate those prompts into `recent`. Skipping costs one
195
+ // iteration's headroom; cutting anyway costs the live turn, and the
196
+ // condition is self-clearing.
197
+ if (keepStart < 0) return { kind: 'skip', reason: 'no_safe_cut' }
198
+
199
+ const recentMessages = messages.slice(keepStart)
200
+ const olderMessages = messages.slice(systemMessages.length, keepStart)
201
+
202
+ // Nothing meaningful to compact — skip rather than thrash the permanent
203
+ // leading floor every iteration, and avoid a model call with no older
204
+ // history to summarise.
205
+ //
206
+ // UNREACHABLE at the current constant, and kept anyway. The loop above
207
+ // requires `candidate > systemMessages.length`, so `keepStart` is at
208
+ // least one past the floor and `olderMessages` is never shorter than
209
+ // one — which is exactly the threshold. Moved here verbatim with the
210
+ // rest of the pass and left in place because it is the guard that stops
211
+ // the pass paying for a summary of nothing, and the two constants it
212
+ // relates are independent: raise this to 2, or relax the loop bound to
213
+ // `>=`, and it starts firing. Said out loud so nobody reads the branch
214
+ // as covered, and so nobody deletes it as dead.
215
+ if (olderMessages.length < MIN_OLDER_MESSAGES_TO_COMPACT) {
216
+ return { kind: 'skip', reason: 'too_few_older' }
217
+ }
218
+
219
+ return { kind: 'plan', systemMessages, olderMessages, recentMessages, keepStart }
220
+ }
221
+
222
+ /**
223
+ * Below this, a pass would summarise almost nothing and pay a model call to
224
+ * do it.
225
+ */
226
+ export const MIN_OLDER_MESSAGES_TO_COMPACT = 1
@@ -0,0 +1,31 @@
1
+ import { createSystemMessage } from '../types/message/index.js'
2
+ import type { Message } from '../types/message/index.js'
3
+
4
+ /**
5
+ * The one marker that says a message is a compaction summary.
6
+ *
7
+ * It lived in the iteration phase, which is a layer above this module, so
8
+ * anything down here that needed it — a host-callable compaction, for one —
9
+ * either could not reach it or would have had to import upward. Two copies
10
+ * of the string is the other way that goes, and then a rename in one of
11
+ * them makes every prior summary invisible to the check that drops it.
12
+ */
13
+ export const COMPACTION_HEADER =
14
+ '[COMPACTED CONTEXT] The following is a structured summary of the conversation so far.'
15
+
16
+ /**
17
+ * Identity check for a prior compaction summary in the leading floor.
18
+ *
19
+ * Used to REPLACE one in place, so at most one `[COMPACTED CONTEXT]` block
20
+ * ever lives in the never-trimmed floor, and by the checkpoint-restore path
21
+ * to PRESERVE the summary across a resume — it is the only surviving record
22
+ * of the older history a run compacted away.
23
+ */
24
+ export function isCompactionMessage(content: string | null | undefined): boolean {
25
+ return typeof content === 'string' && content.startsWith(COMPACTION_HEADER)
26
+ }
27
+
28
+ /** The summary, as the system message that replaces what it summarises. */
29
+ export function buildCompactionMessage(body: string): Message {
30
+ return createSystemMessage(`${COMPACTION_HEADER}\n\n${body}`)
31
+ }
@@ -1,5 +1,5 @@
1
1
  import type { CompactionConfig } from '../config/runtime.js'
2
- import { collect } from '../provider/collect.js'
2
+ import { collectChatCompletion } from '../provider/collect-chat-completion.js'
3
3
  import type { TokenUsage } from '../types/common/index.js'
4
4
  import type { Message } from '../types/message/index.js'
5
5
  import type { LLMProvider } from '../types/provider/interface.js'
@@ -96,7 +96,7 @@ export async function buildVerifiedSummary(
96
96
  },
97
97
  ]
98
98
 
99
- const response = await collect(
99
+ const response = await collectChatCompletion(
100
100
  provider.chatStream({
101
101
  model: model ?? '',
102
102
  messages: verificationMessages,
@@ -0,0 +1,208 @@
1
+ import type { ZodType, ZodTypeDef } from 'zod'
2
+
3
+ import { type ConfigOverrideStore, InMemoryConfigOverrideStore } from '../store/config/index.js'
4
+ import { type Logger, resolveLogger } from '../utils/logger.js'
5
+
6
+ /**
7
+ * Configuration a plugin declares and an operator retunes while a run is
8
+ * live.
9
+ *
10
+ * `config/runtime.ts` is one Zod schema parsed once into `RUNTIME_DEFAULTS`
11
+ * and threaded around as a frozen object. Every section in it is one the SDK
12
+ * author anticipated — taskRouter, compaction, agentBus, plugins, sandbox —
13
+ * and nothing in `config/` watches, subscribes or changes. So a plugin has
14
+ * no way to expose an operator-editable section of its own, and retuning one
15
+ * knob means rebuilding the config object and restarting whatever consumed
16
+ * it.
17
+ *
18
+ * **Live is the whole point.** A registry that resolved a value once and
19
+ * handed it out would be the frozen object again with more ceremony. The
20
+ * driver in this same change is the MCP reconnect supervisor, which reads
21
+ * `get()` on every attempt — so raising `maxAttempts` during an outage takes
22
+ * effect on the next retry rather than on the next process.
23
+ *
24
+ * Programmatic surface only: no JSON-schema export for a UI, and no
25
+ * redaction. A secret in a config value is the vault's problem, and a
26
+ * redactor here would be a second, weaker one.
27
+ */
28
+
29
+ export interface ConfigScope<T> {
30
+ /**
31
+ * The resolved value, now.
32
+ *
33
+ * Synchronous and cheap: consumers read it inside loops and timers, and
34
+ * an async read would make every one of them async for a value already in
35
+ * memory.
36
+ */
37
+ get(): T
38
+ /**
39
+ * Merge a patch over the override layer and re-validate.
40
+ *
41
+ * Throws on a schema-invalid result, leaving the previous value in place
42
+ * and firing no watcher — validate then assign, never the reverse.
43
+ * `refuse-do-not-degrade`: a config that accepted a bad value and clamped
44
+ * it would leave an operator believing they had set something they had
45
+ * not.
46
+ */
47
+ update(patch: Partial<T> | Record<string, unknown>): T
48
+ /** Called after a successful update. Returns an unsubscribe. */
49
+ watch(listener: (next: T, previous: T) => void): () => void
50
+ }
51
+
52
+ export class ConfigNamespaceCollisionError extends Error {
53
+ constructor(readonly namespace: string) {
54
+ super(
55
+ `Configuration namespace "${namespace}" is already registered. Two owners of one namespace means whichever registered second silently decides the schema, so this refuses instead.`,
56
+ )
57
+ this.name = 'ConfigNamespaceCollisionError'
58
+ }
59
+ }
60
+
61
+ export interface ConfigRegistryOptions {
62
+ /**
63
+ * Where overrides persist. Defaults to memory, which is honest for a
64
+ * process that has not been told where to keep them.
65
+ */
66
+ readonly store?: ConfigOverrideStore
67
+ readonly log?: Logger
68
+ /**
69
+ * Prefix for this registry's store keys. Set by {@link ConfigRegistry.scope}.
70
+ *
71
+ * Two concurrent runs share a process and a store; without a prefix the
72
+ * second would read the first's overrides and retune it.
73
+ */
74
+ readonly scopeId?: string
75
+ }
76
+
77
+ /**
78
+ * Output first, input pinned to `unknown` — the shape every other schema
79
+ * field in this tree uses (`ConnectorDefinition.configSchema`,
80
+ * `ToolDefinition.inputSchema`).
81
+ *
82
+ * Not decoration. `ZodType<T>` alone leaves the input parameter free, so `T`
83
+ * infers from the schema's INPUT as well as its output, and every `.default()`
84
+ * field comes back optional: `get().attempts` types as `number | undefined`
85
+ * for a field that always has a value. What is parsed here really is
86
+ * `unknown` — a persisted override is whatever was on disk.
87
+ */
88
+ type ConfigSchema<T> = ZodType<T, ZodTypeDef, unknown>
89
+
90
+ interface Entry<T> {
91
+ readonly schema: ConfigSchema<T>
92
+ readonly base: Record<string, unknown>
93
+ override: Record<string, unknown>
94
+ resolved: T
95
+ readonly watchers: Set<(next: T, previous: T) => void>
96
+ }
97
+
98
+ export class ConfigRegistry {
99
+ private readonly entries = new Map<string, Entry<unknown>>()
100
+ private readonly store: ConfigOverrideStore
101
+ private readonly persisted: Record<string, unknown>
102
+ private readonly log: Logger
103
+ private readonly scopeId: string | undefined
104
+
105
+ constructor(options: ConfigRegistryOptions = {}) {
106
+ this.store = options.store ?? new InMemoryConfigOverrideStore()
107
+ this.persisted = this.store.load()
108
+ this.log = resolveLogger(options.log).child({ 'namzu.log.scope': 'config/registry' })
109
+ this.scopeId = options.scopeId
110
+ }
111
+
112
+ /**
113
+ * A registry for one run, sharing this one's store.
114
+ *
115
+ * Namespaces and watchers are per scope — two concurrent runs cannot see
116
+ * or retune each other — while the store is shared so an operator's
117
+ * override written under one scope is not lost when it ends. The same
118
+ * arrangement `ScopedConnectorRegistry` uses, keyed the same way.
119
+ */
120
+ scope(scopeId: string): ConfigRegistry {
121
+ return new ConfigRegistry({
122
+ store: this.store,
123
+ log: this.log,
124
+ scopeId: this.scopeId ? `${this.scopeId}:${scopeId}` : scopeId,
125
+ })
126
+ }
127
+
128
+ register<T>(
129
+ namespace: string,
130
+ schema: ConfigSchema<T>,
131
+ options: { readonly base?: Record<string, unknown> } = {},
132
+ ): ConfigScope<T> {
133
+ if (this.entries.has(namespace)) throw new ConfigNamespaceCollisionError(namespace)
134
+
135
+ const base = options.base ?? {}
136
+ const override = asRecord(this.persisted[this.storeKey(namespace)])
137
+ // Schema defaults, then the plugin's declared base, then the operator's
138
+ // override — and the whole thing through the schema, so a persisted
139
+ // override written against an older shape is refused at registration
140
+ // rather than at the first read.
141
+ const entry: Entry<T> = {
142
+ schema,
143
+ base,
144
+ override,
145
+ resolved: schema.parse({ ...base, ...override }),
146
+ watchers: new Set(),
147
+ }
148
+ this.entries.set(namespace, entry as Entry<unknown>)
149
+
150
+ return {
151
+ get: () => entry.resolved,
152
+ update: (patch) => this.applyUpdate(namespace, entry, patch),
153
+ watch: (listener) => {
154
+ entry.watchers.add(listener)
155
+ return () => entry.watchers.delete(listener)
156
+ },
157
+ }
158
+ }
159
+
160
+ /** Namespaces registered on THIS scope. */
161
+ namespaces(): readonly string[] {
162
+ return [...this.entries.keys()].sort()
163
+ }
164
+
165
+ private applyUpdate<T>(
166
+ namespace: string,
167
+ entry: Entry<T>,
168
+ patch: Record<string, unknown> | Partial<T>,
169
+ ): T {
170
+ const candidateOverride = { ...entry.override, ...(patch as Record<string, unknown>) }
171
+ // Parsed BEFORE anything is assigned. An implementation that assigned
172
+ // and then validated would leave the bad value readable through
173
+ // `get()` for the duration of the throw, and would have already told
174
+ // every watcher about it.
175
+ const next = entry.schema.parse({ ...entry.base, ...candidateOverride })
176
+
177
+ const previous = entry.resolved
178
+ entry.override = candidateOverride
179
+ entry.resolved = next
180
+ this.store.save(this.storeKey(namespace), candidateOverride)
181
+
182
+ for (const watcher of entry.watchers) {
183
+ try {
184
+ watcher(next, previous)
185
+ } catch (err) {
186
+ // Caught, not propagated — the same trade `MCPClient.emitLifecycle`
187
+ // already makes. A watcher is host-supplied code, and letting one
188
+ // throw out of `update` would roll a successful configuration
189
+ // change back into an exception for every other watcher too.
190
+ this.log.warn('a config watcher threw', {
191
+ 'namzu.config.namespace': namespace,
192
+ 'exception.message': err instanceof Error ? err.message : String(err),
193
+ })
194
+ }
195
+ }
196
+ return next
197
+ }
198
+
199
+ private storeKey(namespace: string): string {
200
+ return this.scopeId ? `${this.scopeId}:${namespace}` : namespace
201
+ }
202
+ }
203
+
204
+ function asRecord(value: unknown): Record<string, unknown> {
205
+ return typeof value === 'object' && value !== null && !Array.isArray(value)
206
+ ? { ...(value as Record<string, unknown>) }
207
+ : {}
208
+ }
@@ -45,6 +45,21 @@ export const CompactionConfigSchema = z.object({
45
45
  */
46
46
  resetThreshold: z.number().min(0).max(1).default(0.4),
47
47
  keepRecentMessages: z.number().int().positive().default(4),
48
+ /**
49
+ * Size the retained tail by TOKENS instead of by message count.
50
+ *
51
+ * A count cannot express what the tail costs. Four messages is four
52
+ * short turns or three short turns and a 200 KB tool result, and in the
53
+ * second case the tail alone can approach `resetThreshold` — the pass
54
+ * completes, reports it did not reach the threshold, leaves the trigger
55
+ * armed, and the next iteration pays another summarization call and
56
+ * busts the prompt-cache prefix again.
57
+ *
58
+ * Absent means the count is used, exactly as before. Set, it replaces
59
+ * only the NAIVE boundary; the safe-cut search that keeps a `tool_use`
60
+ * with its `tool_result` runs from there unchanged.
61
+ */
62
+ keepRecentTokens: z.number().int().positive().optional(),
48
63
 
49
64
  /**
50
65
  * Before summarizing destructively, clear the OUTPUT of old, large tool
@@ -64,6 +79,18 @@ export const CompactionConfigSchema = z.object({
64
79
  * summarization.
65
80
  */
66
81
  clearToolResults: z.boolean().default(true),
82
+ /**
83
+ * Record what each pass removes, as a `compaction_shed` event.
84
+ *
85
+ * On by default: without it the shed content exists nowhere afterwards
86
+ * — not in memory, not in `messages.json`, not in the transcript — and
87
+ * "what did the agent decide three compactions ago" is unanswerable.
88
+ *
89
+ * Off is for an operator with a transcript-size constraint, and it is a
90
+ * real trade: the transcript grows by roughly what the compaction saved
91
+ * in context, since the whole point is that the bodies are kept.
92
+ */
93
+ recordShedHistory: z.boolean().default(true),
67
94
  /** Most recent tool results left alone — the agent is likely still using them. */
68
95
  keepRecentToolResults: z.number().min(0).default(3),
69
96
  /**
@@ -1,4 +1,5 @@
1
1
  import type { z } from 'zod'
2
+ import { NAMZU } from '../constants/telemetry/index.js'
2
3
  import type {
3
4
  AuthConfig,
4
5
  ConnectionType,
@@ -8,7 +9,8 @@ import type {
8
9
  ConnectorMethod,
9
10
  } from '../types/connector/index.js'
10
11
  import type { ConnectorId } from '../types/ids/index.js'
11
- import { type Logger, getRootLogger } from '../utils/logger.js'
12
+ import { SCOPE_ATTRIBUTE } from '../utils/log/types.js'
13
+ import { type Logger, resolveLogger } from '../utils/logger.js'
12
14
 
13
15
  export abstract class BaseConnector<TConfig = unknown> implements ConnectorLifecycle<TConfig> {
14
16
  abstract readonly id: ConnectorId
@@ -22,8 +24,11 @@ export abstract class BaseConnector<TConfig = unknown> implements ConnectorLifec
22
24
  protected config: TConfig | null = null
23
25
  protected auth: AuthConfig | undefined
24
26
 
25
- constructor() {
26
- this.log = getRootLogger().child({ component: this.constructor.name })
27
+ constructor(log?: Logger) {
28
+ this.log = resolveLogger(log).child({
29
+ [SCOPE_ATTRIBUTE]: 'connector/base',
30
+ [NAMZU.CONNECTOR_TYPE]: this.constructor.name,
31
+ })
27
32
  }
28
33
 
29
34
  abstract connect(config: TConfig, auth?: AuthConfig): Promise<void>
@@ -8,6 +8,7 @@ import type {
8
8
  HttpRequestInput,
9
9
  HttpResponseOutput,
10
10
  } from '../../types/connector/index.js'
11
+ import { asConnectorId } from '../../utils/id.js'
11
12
  import { BaseConnector } from '../BaseConnector.js'
12
13
 
13
14
  const HttpConnectorConfigSchema = z.object({
@@ -38,8 +39,17 @@ function stripTrailingSlashes(value: string): string {
38
39
  return value.slice(0, end)
39
40
  }
40
41
 
42
+ /**
43
+ * Checked once at module load, not per instance.
44
+ *
45
+ * `'conn_http' as const` typed this as its own literal, which satisfied
46
+ * `ConnectorId` only because the id types are still structural. The
47
+ * constructor is what makes the prefix a fact rather than a spelling.
48
+ */
49
+ const HTTP_CONNECTOR_ID = asConnectorId('conn_http')
50
+
41
51
  export class HttpConnector extends BaseConnector<HttpConnectorConfig> {
42
- readonly id = 'conn_http' as const
52
+ readonly id = HTTP_CONNECTOR_ID
43
53
  readonly name = 'HTTP Connector'
44
54
  readonly description = 'Generic HTTP/REST API connector for making HTTP requests'
45
55
  readonly connectionType: ConnectionType = 'http'
@@ -67,7 +77,7 @@ export class HttpConnector extends BaseConnector<HttpConnectorConfig> {
67
77
  Object.assign(this.defaultHeaders, this.resolveAuthHeaders(auth))
68
78
  }
69
79
 
70
- this.log.info(`HTTP connector connected to ${this.baseUrl}`)
80
+ this.log.info('HTTP connector connected', { 'namzu.connector.base_url': this.baseUrl })
71
81
  }
72
82
 
73
83
  async disconnect(): Promise<void> {
@@ -9,6 +9,7 @@ import type {
9
9
  WebhookSendInput,
10
10
  WebhookSendOutput,
11
11
  } from '../../types/connector/index.js'
12
+ import { asConnectorId } from '../../utils/id.js'
12
13
  import { BaseConnector } from '../BaseConnector.js'
13
14
 
14
15
  const WebhookConnectorConfigSchema = z.object({
@@ -24,8 +25,11 @@ const WebhookSendInputSchema = z.object({
24
25
  url: z.string().url().optional(),
25
26
  })
26
27
 
28
+ /** Checked once at module load — see `HttpConnector`'s own constant. */
29
+ const WEBHOOK_CONNECTOR_ID = asConnectorId('conn_webhook')
30
+
27
31
  export class WebhookConnector extends BaseConnector<WebhookConnectorConfig> {
28
- readonly id = 'conn_webhook' as const
32
+ readonly id = WEBHOOK_CONNECTOR_ID
29
33
  readonly name = 'Webhook Connector'
30
34
  readonly description = 'Send webhook payloads to configured endpoints with optional HMAC signing'
31
35
  readonly connectionType: ConnectionType = 'webhook'
@@ -55,7 +59,7 @@ export class WebhookConnector extends BaseConnector<WebhookConnectorConfig> {
55
59
  this.defaultHeaders.Authorization = `Bearer ${auth.credentials.token}`
56
60
  }
57
61
 
58
- this.log.info(`Webhook connector connected to ${this.url}`)
62
+ this.log.info('Webhook connector connected', { 'namzu.connector.url': this.url })
59
63
  }
60
64
 
61
65
  async disconnect(): Promise<void> {