@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
@@ -1,16 +1,21 @@
1
1
  import { pathToFileURL } from 'node:url'
2
+ import type { ConfigRegistry } from '../config/registry.js'
2
3
  import { mcpToolToToolDefinition } from '../connector/mcp/adapter.js'
3
4
  import { MCPClient } from '../connector/mcp/client.js'
4
5
  import { MCPToolDiscovery } from '../connector/mcp/discovery.js'
5
6
  import type { MCPToolDiscoveryOptions } from '../connector/mcp/discovery.js'
6
7
  import type { MCPToolPolicy } from '../connector/mcp/policy.js'
7
8
  import { mcpPromptToToolDefinition } from '../connector/mcp/prompt-adapter.js'
9
+ import { MCPReconnectOptionsSchema, MCPReconnectSupervisor } from '../connector/mcp/reconnect.js'
8
10
  import {
9
11
  DEFAULT_HOOK_PRIORITY,
10
12
  HOOK_TIMEOUT_MS,
11
13
  PLUGIN_NAMESPACE_SEPARATOR,
12
14
  } from '../constants/plugin/index.js'
15
+ import { GENAI } from '../constants/telemetry/index.js'
13
16
  import type { PluginRegistry } from '../registry/plugin/index.js'
17
+ import { loadSkill } from '../skills/loader.js'
18
+ import type { SkillRegistry } from '../skills/registry.js'
14
19
  import { resolveWithinReal } from '../tools/paths.js'
15
20
  import type { PluginId } from '../types/ids/index.js'
16
21
  import type {
@@ -28,19 +33,52 @@ import type { RunEvent } from '../types/run/index.js'
28
33
  import type { ToolDefinition, ToolRegistryContract } from '../types/tool/index.js'
29
34
  import { toErrorMessage } from '../utils/error.js'
30
35
  import { generatePluginId } from '../utils/id.js'
36
+ import { SCOPE_ATTRIBUTE } from '../utils/log/types.js'
31
37
  import type { Logger } from '../utils/logger.js'
32
38
  import { assertEnableable, loadPluginManifest } from './loader.js'
33
39
 
34
40
  interface PluginContributionRecord {
35
41
  toolNames: string[]
36
42
  mcpClients: MCPClient[]
43
+ /** Namespaced skill names, so rollback and disable can take them back. */
44
+ skillNames: string[]
45
+ /**
46
+ * One per client, held so teardown can stop them.
47
+ *
48
+ * A supervisor still attached when `disconnect()` runs reads the teardown
49
+ * as a fault and reconnects what was just closed — the lifecycle event
50
+ * cannot tell a deliberate disconnect from a dropped transport. Keeping
51
+ * them here is what makes the required stop-then-disconnect ordering
52
+ * possible at all.
53
+ */
54
+ mcpSupervisors: MCPReconnectSupervisor[]
37
55
  }
38
56
 
39
57
  export interface PluginLifecycleManagerConfig {
40
58
  pluginRegistry: PluginRegistry
41
59
  toolRegistry: ToolRegistryContract
60
+ /**
61
+ * Where a plugin's declared skills land.
62
+ *
63
+ * Optional, and its absence is enforced rather than tolerated: a
64
+ * manifest that declares skills is REFUSED when this is missing, the
65
+ * same way it was refused before the manifest path existed. Accepting it
66
+ * and dropping the skills would produce a plugin reporting `enabled`
67
+ * that contributes nothing its author declared.
68
+ */
69
+ skillRegistry?: SkillRegistry
42
70
  log: Logger
43
71
  hookTimeoutMs?: number
72
+ /**
73
+ * Where each MCP server's reconnect policy is registered, so an operator
74
+ * can retune it while a run is live.
75
+ *
76
+ * Optional, and its absence is not a degraded mode: without one the
77
+ * supervisor uses its own defaults, which is what it did before this
78
+ * existed. What a registry buys is the ability to change them without
79
+ * restarting the process — see `config/registry.ts`.
80
+ */
81
+ configRegistry?: ConfigRegistry
44
82
 
45
83
  /**
46
84
  * What each MCP server a plugin brings is allowed to contribute, keyed by
@@ -84,6 +122,7 @@ export class PluginLifecycleManager {
84
122
  > = new Map()
85
123
  private pluginContributions: Map<PluginId, PluginContributionRecord> = new Map()
86
124
  private hookTimeoutMs: number
125
+ private readonly configRegistry: ConfigRegistry | undefined
87
126
  private log: Logger
88
127
  /**
89
128
  * The admission boundary for everything a plugin's MCP servers advertise.
@@ -101,11 +140,15 @@ export class PluginLifecycleManager {
101
140
  */
102
141
  private mcpDiscovery: MCPToolDiscovery
103
142
 
143
+ private readonly skillRegistry: SkillRegistry | undefined
144
+
104
145
  constructor(config: PluginLifecycleManagerConfig) {
105
146
  this.pluginRegistry = config.pluginRegistry
106
147
  this.toolRegistry = config.toolRegistry
148
+ this.skillRegistry = config.skillRegistry
107
149
  this.hookTimeoutMs = config.hookTimeoutMs ?? HOOK_TIMEOUT_MS
108
- this.log = config.log.child({ component: 'PluginLifecycleManager' })
150
+ this.configRegistry = config.configRegistry
151
+ this.log = config.log.child({ [SCOPE_ATTRIBUTE]: 'plugin/lifecycle' })
109
152
  this.mcpDiscovery = new MCPToolDiscovery([], {
110
153
  ...(config.mcpToolPolicies ? { policies: config.mcpToolPolicies } : {}),
111
154
  ...(config.onMCPToolDrift ? { onDrift: config.onMCPToolDrift } : {}),
@@ -178,10 +221,11 @@ export class PluginLifecycleManager {
178
221
  scope,
179
222
  })
180
223
 
181
- this.log.info(`Plugin installed: ${manifest.name}`, {
182
- pluginId,
183
- scope,
184
- version: manifest.version,
224
+ this.log.info('Plugin installed', {
225
+ 'namzu.plugin.name': manifest.name,
226
+ 'namzu.plugin.id': pluginId,
227
+ 'namzu.plugin.scope': scope,
228
+ 'namzu.plugin.version': manifest.version,
185
229
  })
186
230
 
187
231
  return definition
@@ -206,13 +250,18 @@ export class PluginLifecycleManager {
206
250
  // `installed`: a status that says the plugin is fine while it can
207
251
  // never enable is how the next reader gets misled.
208
252
  try {
209
- assertEnableable(manifest)
253
+ assertEnableable(manifest, { skillsSupported: Boolean(this.skillRegistry) })
210
254
  } catch (err) {
211
255
  this.pluginRegistry.register({ ...plugin, status: 'error' })
212
256
  throw err
213
257
  }
214
258
 
215
- const contributions: PluginContributionRecord = { toolNames: [], mcpClients: [] }
259
+ const contributions: PluginContributionRecord = {
260
+ toolNames: [],
261
+ mcpClients: [],
262
+ skillNames: [],
263
+ mcpSupervisors: [],
264
+ }
216
265
 
217
266
  try {
218
267
  // Load tools
@@ -237,6 +286,33 @@ export class PluginLifecycleManager {
237
286
  }
238
287
  }
239
288
 
289
+ // Load skills. Namespaced like tools, and for the same reason: two
290
+ // plugins shipping `reconcile` would otherwise overwrite each
291
+ // other in a Map keyed by the frontmatter name, and the loser
292
+ // would vanish with nothing reporting it.
293
+ if (manifest.skills && manifest.skills.length > 0) {
294
+ const skillRegistry = this.skillRegistry
295
+ if (!skillRegistry) {
296
+ // Unreachable via `enable` — `assertEnableable` above refuses
297
+ // first — and kept because this method is also the one a
298
+ // future caller reaches directly. A silent skip here would
299
+ // be the exact failure that check exists to prevent.
300
+ throw new Error(
301
+ `Plugin "${manifest.name}" declares skills but no SkillRegistry is configured.`,
302
+ )
303
+ }
304
+ for (const skillPath of manifest.skills) {
305
+ const absolutePath = await resolveWithinReal(plugin.rootDir, skillPath)
306
+ const { skill } = await loadSkill(absolutePath, 'metadata', this.log)
307
+ const namespacedName = manifest.name + PLUGIN_NAMESPACE_SEPARATOR + skill.metadata.name
308
+ skillRegistry.add(namespacedName, {
309
+ ...skill,
310
+ metadata: { ...skill.metadata, name: namespacedName },
311
+ })
312
+ contributions.skillNames.push(namespacedName)
313
+ }
314
+ }
315
+
240
316
  // Load hooks
241
317
  if (manifest.hooks && manifest.hooks.length > 0) {
242
318
  for (const hookPath of manifest.hooks) {
@@ -282,10 +358,16 @@ export class PluginLifecycleManager {
282
358
  name: manifest.name,
283
359
  })
284
360
 
285
- this.log.info(`Plugin enabled: ${manifest.name}`, {
286
- pluginId,
287
- toolCount: contributions.toolNames.length,
288
- mcpServerCount: contributions.mcpClients.length,
361
+ this.log.info('Plugin enabled', {
362
+ // Every key namespaced, not just the newest one. Adding a bare
363
+ // `skillCount` beside bare neighbours would have moved the
364
+ // log-standard ratchet the wrong way for the sake of matching
365
+ // prose that is itself the debt.
366
+ 'namzu.plugin.id': pluginId,
367
+ 'namzu.plugin.name': manifest.name,
368
+ 'namzu.plugin.tool_count': contributions.toolNames.length,
369
+ 'namzu.plugin.skill_count': contributions.skillNames.length,
370
+ 'namzu.plugin.mcp_server_count': contributions.mcpClients.length,
289
371
  })
290
372
  }
291
373
 
@@ -302,11 +384,36 @@ export class PluginLifecycleManager {
302
384
  args: config.args ? [...config.args] : undefined,
303
385
  env: config.env ? { ...config.env } : undefined,
304
386
  },
387
+ logger: this.log,
305
388
  })
306
389
 
307
390
  await client.connect()
308
391
  contributions.mcpClients.push(client)
309
392
 
393
+ // Watched from here on. `connect()` above is the only attempt anything
394
+ // made: `transport.onClose` marked the client disconnected and rejected
395
+ // its pending calls, and nothing scheduled another try — so one blip
396
+ // took this plugin's tools out for the life of the process while the
397
+ // plugin went on reporting as enabled.
398
+ // The policy is read from the registry on EVERY attempt, not captured
399
+ // here. That is what makes the seam live: raising `maxAttempts` during
400
+ // an outage takes effect on the retry that is already running, which is
401
+ // the moment an operator actually reaches for it.
402
+ //
403
+ // Namespaced per server rather than globally, because two plugins'
404
+ // servers fail differently — one behind a flaky proxy wants patience,
405
+ // one behind a crash loop wants to give up and say so.
406
+ const policyScope = this.configRegistry?.register(
407
+ `mcp.${config.name}`,
408
+ MCPReconnectOptionsSchema,
409
+ )
410
+ const supervisor = new MCPReconnectSupervisor(
411
+ client,
412
+ policyScope ? () => policyScope.get() : {},
413
+ )
414
+ supervisor.start()
415
+ contributions.mcpSupervisors.push(supervisor)
416
+
310
417
  // Through the boundary, not around it. This used to call
311
418
  // `client.listTools()` and register everything the server answered
312
419
  // with, so the remote side decided what entered the agent's registry
@@ -346,18 +453,28 @@ export class PluginLifecycleManager {
346
453
  this.toolRegistry.unregister(name)
347
454
  } catch (unregErr) {
348
455
  this.log.warn('Rollback: tool unregister failed', {
349
- tool: name,
350
- error: toErrorMessage(unregErr),
456
+ [GENAI.TOOL_NAME]: name,
457
+ 'exception.message': toErrorMessage(unregErr),
351
458
  })
352
459
  }
353
460
  }
461
+ for (const name of contributions.skillNames) {
462
+ // No try/catch: `unregister` is a Map delete and cannot throw.
463
+ // Wrapping it would suggest a failure mode that does not exist.
464
+ this.skillRegistry?.unregister(name)
465
+ }
466
+ // Stop supervising BEFORE disconnecting. The lifecycle event a
467
+ // deliberate disconnect emits is the same one a dropped transport
468
+ // emits, so a still-attached supervisor would reconnect what this
469
+ // rollback just closed.
470
+ for (const supervisor of contributions.mcpSupervisors) supervisor.stop()
354
471
  for (const client of contributions.mcpClients) {
355
472
  try {
356
473
  await client.disconnect()
357
474
  } catch (discErr) {
358
475
  this.log.warn('Rollback: MCP disconnect failed', {
359
- clientId: client.id,
360
- error: toErrorMessage(discErr),
476
+ 'namzu.mcp.client_id': client.id,
477
+ 'exception.message': toErrorMessage(discErr),
361
478
  })
362
479
  }
363
480
  }
@@ -383,16 +500,21 @@ export class PluginLifecycleManager {
383
500
  const contributions = this.pluginContributions.get(pluginId) ?? {
384
501
  toolNames: [],
385
502
  mcpClients: [],
503
+ skillNames: [],
504
+ mcpSupervisors: [],
386
505
  }
387
506
 
507
+ // Stop supervising first, for the same reason as the rollback path: the
508
+ // disconnect below emits the event the supervisor treats as a fault.
509
+ for (const supervisor of contributions.mcpSupervisors) supervisor.stop()
388
510
  // Disconnect MCP clients first so no new tool calls can reach them mid-teardown.
389
511
  for (const client of contributions.mcpClients) {
390
512
  try {
391
513
  await client.disconnect()
392
514
  } catch (err) {
393
515
  this.log.warn('MCP client disconnect failed during disable', {
394
- clientId: client.id,
395
- error: toErrorMessage(err),
516
+ 'namzu.mcp.client_id': client.id,
517
+ 'exception.message': toErrorMessage(err),
396
518
  })
397
519
  }
398
520
  }
@@ -402,6 +524,14 @@ export class PluginLifecycleManager {
402
524
  this.toolRegistry.unregister(name)
403
525
  }
404
526
 
527
+ // And its skills. A disabled plugin whose skills stayed registered
528
+ // would keep offering the model instructions from something the
529
+ // runtime has switched off, which is worse than a stale tool: a tool
530
+ // call would at least fail, and a skill is followed silently.
531
+ for (const name of contributions.skillNames) {
532
+ this.skillRegistry?.unregister(name)
533
+ }
534
+
405
535
  // Remove hook handlers for this plugin
406
536
  for (const [event, handlers] of this.hookHandlers) {
407
537
  const filtered = handlers.filter((h) => h.pluginId !== pluginId)
@@ -428,7 +558,10 @@ export class PluginLifecycleManager {
428
558
  name: plugin.manifest.name,
429
559
  })
430
560
 
431
- this.log.info(`Plugin disabled: ${plugin.manifest.name}`, { pluginId })
561
+ this.log.info('Plugin disabled', {
562
+ 'namzu.plugin.name': plugin.manifest.name,
563
+ 'namzu.plugin.id': pluginId,
564
+ })
432
565
  }
433
566
 
434
567
  async uninstall(pluginId: PluginId): Promise<void> {
@@ -446,7 +579,10 @@ export class PluginLifecycleManager {
446
579
  name: plugin.manifest.name,
447
580
  })
448
581
 
449
- this.log.info(`Plugin uninstalled: ${plugin.manifest.name}`, { pluginId })
582
+ this.log.info('Plugin uninstalled', {
583
+ 'namzu.plugin.name': plugin.manifest.name,
584
+ 'namzu.plugin.id': pluginId,
585
+ })
450
586
  }
451
587
 
452
588
  async executeHooks(
@@ -576,7 +712,7 @@ export class PluginLifecycleManager {
576
712
  listener(event)
577
713
  } catch (err) {
578
714
  this.log.error('Plugin event listener error', {
579
- error: toErrorMessage(err),
715
+ 'exception.message': toErrorMessage(err),
580
716
  })
581
717
  }
582
718
  }
@@ -7,15 +7,27 @@ import {
7
7
  USER_PLUGIN_DIR,
8
8
  } from '../constants/plugin/index.js'
9
9
  import { type PluginManifest, PluginManifestSchema } from '../types/plugin/index.js'
10
- import { getRootLogger } from '../utils/logger.js'
11
-
12
- const logger = getRootLogger().child({ component: 'PluginLoader' })
10
+ import { SCOPE_ATTRIBUTE } from '../utils/log/types.js'
11
+ import { type Logger, resolveLogger } from '../utils/logger.js'
13
12
 
14
13
  /**
15
14
  * Scans a directory for subdirectories containing a plugin manifest.
16
15
  * Returns an array of absolute paths to plugin directories.
17
16
  */
18
- export async function discoverPlugins(parentDir: string): Promise<string[]> {
17
+ export async function discoverPlugins(parentDir: string, log?: Logger): Promise<string[]> {
18
+ // Resolved here, not at module scope. A module-scope
19
+ // `getRootLogger().child(...)` ran once, at import time — before any
20
+ // host's `configureLogger()` call had a chance to run — and `child()`
21
+ // bakes `minLevel` into the closure `log()` reads from forever after
22
+ // (`utils/logger.ts`), so whatever level was live at that one moment
23
+ // was permanent. `configureLogger` replaces the `_rootLogger` binding
24
+ // rather than mutating the object it points at, so caching the CHILD
25
+ // (as this loader did) survives no later call at all — including the
26
+ // CLI's own `configureLogger({ level: 'silent' })`.
27
+ //
28
+ // `log`, when a caller has one, wins over the process default — LOG-10:
29
+ // this was the module's own remaining getRootLogger() call site.
30
+ const logger = resolveLogger(log).child({ [SCOPE_ATTRIBUTE]: 'plugin/loader' })
19
31
  const dirs: string[] = []
20
32
 
21
33
  try {
@@ -31,7 +43,7 @@ export async function discoverPlugins(parentDir: string): Promise<string[]> {
31
43
  // directory listed is not the directory loaded.
32
44
  const s = await lstat(fullPath)
33
45
  if (s.isSymbolicLink()) {
34
- logger.warn('Refusing a symlinked plugin directory', { path: fullPath })
46
+ logger.warn('Refusing a symlinked plugin directory', { 'namzu.plugin.path': fullPath })
35
47
  continue
36
48
  }
37
49
  if (!s.isDirectory()) continue
@@ -45,7 +57,7 @@ export async function discoverPlugins(parentDir: string): Promise<string[]> {
45
57
  }
46
58
  }
47
59
  } catch {
48
- logger.debug('Plugins directory not found', { parentDir })
60
+ logger.debug('Plugins directory not found', { 'namzu.plugin.parent_dir': parentDir })
49
61
  }
50
62
 
51
63
  return dirs
@@ -72,7 +84,18 @@ export async function loadPluginManifest(pluginDir: string): Promise<PluginManif
72
84
  * shipping four tools and one skill validated clean, installed clean, and
73
85
  * contributed zero tools. The refusal was right; its position was not.
74
86
  */
75
- const UNSUPPORTED_CONTRIBUTIONS = ['skills', 'connectors', 'personas'] as const
87
+ /**
88
+ * Contribution types the runtime can enable only when the host supplies the
89
+ * registry they land in.
90
+ *
91
+ * `skills` moved here from the flat unsupported list once the manifest path
92
+ * into `SkillRegistry` existed. It is still refused when there is no
93
+ * registry — and refused rather than dropped, because a plugin whose skills
94
+ * silently vanished would report `enabled` and contribute nothing the
95
+ * author declared, which is the same lie the wholesale refusal was written
96
+ * to prevent.
97
+ */
98
+ const REGISTRY_BACKED_CONTRIBUTIONS = ['skills'] as const
76
99
 
77
100
  /**
78
101
  * Refuse a manifest whose contributions can never be enabled.
@@ -88,9 +111,32 @@ const UNSUPPORTED_CONTRIBUTIONS = ['skills', 'connectors', 'personas'] as const
88
111
  * through host configuration; what does not exist is the manifest path
89
112
  * into them. Naming the types is what makes that actionable.
90
113
  */
91
- export function assertEnableable(manifest: PluginManifest): void {
114
+ export interface EnableableOptions {
115
+ /**
116
+ * Whether the host wired a `SkillRegistry`.
117
+ *
118
+ * Defaults to `false`, which keeps the previous behaviour for every
119
+ * caller that has not been updated: a manifest declaring skills is
120
+ * refused. The check cannot default the other way — a host that never
121
+ * supplied a registry would then install a plugin whose skills go
122
+ * nowhere.
123
+ */
124
+ readonly skillsSupported?: boolean
125
+ }
126
+
127
+ export function assertEnableable(manifest: PluginManifest, opts: EnableableOptions = {}): void {
92
128
  const record = manifest as unknown as Record<string, unknown[] | undefined>
93
- const unsupported = UNSUPPORTED_CONTRIBUTIONS.filter((key) => record[key]?.length)
129
+ // One ordered pass over all three rather than two group filters
130
+ // concatenated, so the message keeps naming them in the order the
131
+ // manifest declares them. Two groups would list `connectors, personas,
132
+ // skills`, which reads as though the grouping were the point rather than
133
+ // an implementation detail of which registry each one needs.
134
+ const enableable = (key: string): boolean =>
135
+ opts.skillsSupported === true &&
136
+ (REGISTRY_BACKED_CONTRIBUTIONS as readonly string[]).includes(key)
137
+ const unsupported = ['skills', 'connectors', 'personas'].filter(
138
+ (key) => Boolean(record[key]?.length) && !enableable(key),
139
+ )
94
140
  if (unsupported.length === 0) return
95
141
 
96
142
  throw new Error(
@@ -114,6 +160,8 @@ export interface PluginDiscoveryOptions {
114
160
  readonly autoDiscovery?: boolean
115
161
  /** Which locations may be scanned. Absent means both. */
116
162
  readonly allowedScopes?: readonly PluginScope[]
163
+ /** Threaded into both `discoverPlugins` calls below. */
164
+ readonly log?: Logger
117
165
  }
118
166
 
119
167
  /**
@@ -144,10 +192,13 @@ export async function discoverAllPluginDirs(
144
192
  workingDirectory?: string,
145
193
  options?: PluginDiscoveryOptions,
146
194
  ): Promise<{ project: string[]; user: string[] }> {
195
+ // Resolved here too — see discoverPlugins above for why module scope
196
+ // froze this logger's level, and its very reference, at import time.
197
+ const logger = resolveLogger(options?.log).child({ [SCOPE_ATTRIBUTE]: 'plugin/loader' })
147
198
  if (options?.enabled === false || options?.autoDiscovery === false) {
148
199
  logger.debug('Plugin discovery skipped', {
149
- enabled: options.enabled,
150
- autoDiscovery: options.autoDiscovery,
200
+ 'namzu.plugin.enabled': options.enabled,
201
+ 'namzu.plugin.auto_discovery': options.autoDiscovery,
151
202
  })
152
203
  return { project: [], user: [] }
153
204
  }
@@ -161,14 +212,14 @@ export async function discoverAllPluginDirs(
161
212
  const userDir = join(homedir(), USER_PLUGIN_DIR)
162
213
 
163
214
  const [project, user] = await Promise.all([
164
- mayScan('project') ? discoverPlugins(projectDir) : Promise.resolve([]),
165
- mayScan('user') ? discoverPlugins(userDir) : Promise.resolve([]),
215
+ mayScan('project') ? discoverPlugins(projectDir, options?.log) : Promise.resolve([]),
216
+ mayScan('user') ? discoverPlugins(userDir, options?.log) : Promise.resolve([]),
166
217
  ])
167
218
 
168
219
  logger.debug('Plugin discovery complete', {
169
- projectCount: project.length,
170
- userCount: user.length,
171
- ...(scopes ? { allowedScopes: scopes } : {}),
220
+ 'namzu.plugin.project_count': project.length,
221
+ 'namzu.plugin.user_count': user.length,
222
+ ...(scopes ? { 'namzu.plugin.allowed_scopes': scopes } : {}),
172
223
  })
173
224
 
174
225
  return { project, user }
@@ -2,3 +2,4 @@ export { ProbeNameCollisionError, ProbeVetoError } from './errors.js'
2
2
  export { buildProbeContext } from './context.js'
3
3
  export type { ProbeContextInput } from './context.js'
4
4
  export { ProbeRegistry, createProbeRegistry, probe } from './registry.js'
5
+ export type { ProbeEnforcement, ProbeObservation } from './registry.js'
@@ -11,6 +11,7 @@ import type {
11
11
  VetoOutcome,
12
12
  VetoableEventKind,
13
13
  } from '../types/probe/index.js'
14
+ import { SCOPE_ATTRIBUTE } from '../utils/log/types.js'
14
15
  import type { Logger } from '../utils/logger.js'
15
16
 
16
17
  import { ProbeNameCollisionError } from './errors.js'
@@ -79,7 +80,42 @@ function removeEntry(list: ProbeEntry[], entry: ProbeEntry): void {
79
80
  if (idx >= 0) list.splice(idx, 1)
80
81
  }
81
82
 
82
- export class ProbeRegistry {
83
+ /**
84
+ * The observation half: watch, and record what you saw.
85
+ *
86
+ * Split from the enforcement half because `ProbeRegistry` was described,
87
+ * in the SDK's own barrel, as "typed observation" — which is true of these
88
+ * four methods and false of the two below. A registered veto handler can
89
+ * DENY a tool call, and `runtime/query/executor.ts` turns that denial into
90
+ * a failed `tool_result`. That is the third of the three gates on a tool
91
+ * call, not telemetry.
92
+ *
93
+ * A consumer that wants telemetry had no way to say so: `ProbeRegistry`
94
+ * was the only export, so accepting one meant accepting the power to
95
+ * refuse. These two interfaces are what let a signature say which half it
96
+ * needs, and the class implements both unchanged.
97
+ */
98
+ export interface ProbeObservation {
99
+ setLogger(log: Logger): void
100
+ on: ProbeRegistry['on']
101
+ onAny: ProbeRegistry['onAny']
102
+ dispatch: ProbeRegistry['dispatch']
103
+ }
104
+
105
+ /**
106
+ * The enforcement half: refuse, and make the refusal the outcome.
107
+ *
108
+ * `veto` registers a handler that can deny; `queryVeto` asks the
109
+ * registered handlers and returns their verdict. A caller holding only
110
+ * this cannot observe, and a caller holding only {@link ProbeObservation}
111
+ * cannot refuse.
112
+ */
113
+ export interface ProbeEnforcement {
114
+ veto: ProbeRegistry['veto']
115
+ queryVeto: ProbeRegistry['queryVeto']
116
+ }
117
+
118
+ export class ProbeRegistry implements ProbeObservation, ProbeEnforcement {
83
119
  private readonly typedByKind: Map<ProbeEventKind, ProbeEntry[]> = new Map()
84
120
  private readonly vetoByKind: Map<VetoableEventKind, VetoEntry[]> = new Map()
85
121
  private readonly catchAll: ProbeEntry[] = []
@@ -88,7 +124,7 @@ export class ProbeRegistry {
88
124
  private log?: Logger
89
125
 
90
126
  setLogger(log: Logger): void {
91
- this.log = log.child({ component: 'ProbeRegistry' })
127
+ this.log = log.child({ [SCOPE_ATTRIBUTE]: 'probe/registry' })
92
128
  }
93
129
 
94
130
  on<K extends ProbeEventKind>(
@@ -282,9 +318,9 @@ export class ProbeRegistry {
282
318
  private logThrow(probeName: string, eventType: string, error: unknown): void {
283
319
  if (!this.log) return
284
320
  this.log.error('probe handler threw', {
285
- probeName,
286
- eventType,
287
- error: error instanceof Error ? error.message : String(error),
321
+ 'namzu.probe.probe_name': probeName,
322
+ 'namzu.event.type': eventType,
323
+ 'exception.message': error instanceof Error ? error.message : String(error),
288
324
  })
289
325
  }
290
326
  }
@@ -0,0 +1,52 @@
1
+ import { execFileSync } from 'node:child_process'
2
+ import type { spawn } from 'node:child_process'
3
+
4
+ /**
5
+ * Signal a spawned child AND everything it forked.
6
+ *
7
+ * Extracted from `sandbox/provider/local.ts` unchanged, because a second
8
+ * caller arrived — the background job registry — and this is not a function
9
+ * anybody should write twice. Every sentence of the reasoning below was
10
+ * paid for by a bug where a cancelled command kept running, and a
11
+ * near-copy would reproduce the bug in the copy.
12
+ *
13
+ * Every caller reaches a real command through `/bin/sh -c "cmd"`, and under
14
+ * the local sandbox's `linux-namespace`/`macos-seatbelt` tiers that shell is
15
+ * wrapped again (`unshare …`/`sandbox-exec … -- /bin/sh -c "cmd"`). Either
16
+ * way, `child.pid` names the OUTERMOST wrapper Node spawned, not `cmd` —
17
+ * signalling only that pid, which is both what `child.kill()` does and what
18
+ * `spawn`'s own `signal` option does internally on abort, reaps the wrapper
19
+ * and leaves `cmd`, and anything it forked, running past both a cancel and a
20
+ * timeout.
21
+ *
22
+ * POSIX: the caller must spawn with `detached: true`, which makes the child
23
+ * the leader of a new process group (pgid === pid) instead of joining this
24
+ * Node process's own. A negative pid signals that whole group in one call.
25
+ * Group membership is a host-kernel fact that a fork()'d descendant inherits
26
+ * from its parent whether or not it — or an ancestor such as `unshare --pid`
27
+ * — subsequently entered a new PID namespace, so this reaches `cmd` and its
28
+ * descendants along with the wrapper itself even under the namespaced
29
+ * isolation tiers.
30
+ *
31
+ * Windows has no process-group id to sign a kill with — `process.kill` with
32
+ * a negative pid there either throws or silently does nothing, depending on
33
+ * the signal — so there is no equivalent single call. The OS's own
34
+ * tree-walk, `taskkill /T`, runs instead. Windows also has no soft-vs-forced
35
+ * distinction the way SIGTERM/SIGKILL do: `child.kill()` there already
36
+ * terminates unconditionally, so `/F` is passed every time this runs,
37
+ * including the post-grace call that follows a POSIX SIGTERM — against an
38
+ * already-dead tree that second call is a deliberate no-op, the same as the
39
+ * POSIX SIGKILL that follows a SIGTERM which already worked.
40
+ */
41
+ export function killTree(child: ReturnType<typeof spawn>, signal: NodeJS.Signals): void {
42
+ if (!child.pid) return
43
+ try {
44
+ if (process.platform === 'win32') {
45
+ execFileSync('taskkill', ['/pid', String(child.pid), '/t', '/f'], { stdio: 'ignore' })
46
+ } else {
47
+ process.kill(-child.pid, signal)
48
+ }
49
+ } catch {
50
+ // Group (or tree) already gone
51
+ }
52
+ }