@namzu/sdk 27.0.0 → 28.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1439) hide show
  1. package/CHANGELOG.md +1714 -0
  2. package/README.md +45 -42
  3. package/dist/advisory/executor.d.ts.map +1 -1
  4. package/dist/advisory/executor.js +14 -12
  5. package/dist/advisory/executor.js.map +1 -1
  6. package/dist/advisory/registry.d.ts +2 -2
  7. package/dist/advisory/registry.d.ts.map +1 -1
  8. package/dist/advisory/registry.js +2 -2
  9. package/dist/advisory/registry.js.map +1 -1
  10. package/dist/agents/AbstractAgent.d.ts +44 -2
  11. package/dist/agents/AbstractAgent.d.ts.map +1 -1
  12. package/dist/agents/AbstractAgent.js +62 -13
  13. package/dist/agents/AbstractAgent.js.map +1 -1
  14. package/dist/agents/PipelineAgent.d.ts +29 -1
  15. package/dist/agents/PipelineAgent.d.ts.map +1 -1
  16. package/dist/agents/PipelineAgent.js +33 -4
  17. package/dist/agents/PipelineAgent.js.map +1 -1
  18. package/dist/agents/ReactiveAgent.d.ts +2 -1
  19. package/dist/agents/ReactiveAgent.d.ts.map +1 -1
  20. package/dist/agents/ReactiveAgent.js +15 -5
  21. package/dist/agents/ReactiveAgent.js.map +1 -1
  22. package/dist/agents/RouterAgent.d.ts +2 -1
  23. package/dist/agents/RouterAgent.d.ts.map +1 -1
  24. package/dist/agents/RouterAgent.js +21 -13
  25. package/dist/agents/RouterAgent.js.map +1 -1
  26. package/dist/agents/SupervisorAgent.d.ts +3 -2
  27. package/dist/agents/SupervisorAgent.d.ts.map +1 -1
  28. package/dist/agents/SupervisorAgent.js +29 -14
  29. package/dist/agents/SupervisorAgent.js.map +1 -1
  30. package/dist/agents/handle.d.ts +85 -0
  31. package/dist/agents/handle.d.ts.map +1 -0
  32. package/dist/agents/handle.js +79 -0
  33. package/dist/agents/handle.js.map +1 -0
  34. package/dist/agents/runAgent.d.ts +10 -5
  35. package/dist/agents/runAgent.d.ts.map +1 -1
  36. package/dist/agents/runAgent.js +3 -2
  37. package/dist/agents/runAgent.js.map +1 -1
  38. package/dist/{verification → authorization}/gate.d.ts +4 -4
  39. package/dist/authorization/gate.d.ts.map +1 -0
  40. package/dist/{verification → authorization}/gate.js +31 -24
  41. package/dist/authorization/gate.js.map +1 -0
  42. package/dist/authorization/index.d.ts +6 -0
  43. package/dist/authorization/index.d.ts.map +1 -0
  44. package/dist/authorization/index.js +14 -0
  45. package/dist/authorization/index.js.map +1 -0
  46. package/dist/authorization/permission-presets.d.ts +119 -0
  47. package/dist/authorization/permission-presets.d.ts.map +1 -0
  48. package/dist/authorization/permission-presets.js +137 -0
  49. package/dist/authorization/permission-presets.js.map +1 -0
  50. package/dist/{verification → authorization}/presets.d.ts +3 -3
  51. package/dist/authorization/presets.d.ts.map +1 -0
  52. package/dist/{verification → authorization}/presets.js +12 -0
  53. package/dist/authorization/presets.js.map +1 -0
  54. package/dist/authorization/rules.d.ts +4 -0
  55. package/dist/authorization/rules.d.ts.map +1 -0
  56. package/dist/{verification → authorization}/rules.js +14 -1
  57. package/dist/authorization/rules.js.map +1 -0
  58. package/dist/bridge/a2a/client.d.ts +107 -0
  59. package/dist/bridge/a2a/client.d.ts.map +1 -0
  60. package/dist/bridge/a2a/client.js +275 -0
  61. package/dist/bridge/a2a/client.js.map +1 -0
  62. package/dist/bridge/a2a/mapper.d.ts.map +1 -1
  63. package/dist/bridge/a2a/mapper.js +16 -0
  64. package/dist/bridge/a2a/mapper.js.map +1 -1
  65. package/dist/bridge/acp/filesystem.d.ts +33 -0
  66. package/dist/bridge/acp/filesystem.d.ts.map +1 -0
  67. package/dist/bridge/acp/filesystem.js +30 -0
  68. package/dist/bridge/acp/filesystem.js.map +1 -0
  69. package/dist/bridge/acp/index.d.ts +8 -0
  70. package/dist/bridge/acp/index.d.ts.map +1 -0
  71. package/dist/bridge/acp/index.js +5 -0
  72. package/dist/bridge/acp/index.js.map +1 -0
  73. package/dist/bridge/acp/permission.d.ts +51 -0
  74. package/dist/bridge/acp/permission.d.ts.map +1 -0
  75. package/dist/bridge/acp/permission.js +37 -0
  76. package/dist/bridge/acp/permission.js.map +1 -0
  77. package/dist/bridge/acp/server.d.ts +163 -0
  78. package/dist/bridge/acp/server.d.ts.map +1 -0
  79. package/dist/bridge/acp/server.js +312 -0
  80. package/dist/bridge/acp/server.js.map +1 -0
  81. package/dist/bridge/acp/update.d.ts +13 -0
  82. package/dist/bridge/acp/update.d.ts.map +1 -0
  83. package/dist/bridge/acp/update.js +94 -0
  84. package/dist/bridge/acp/update.js.map +1 -0
  85. package/dist/bridge/mcp/connector/adapter.d.ts +2 -0
  86. package/dist/bridge/mcp/connector/adapter.d.ts.map +1 -1
  87. package/dist/bridge/mcp/connector/adapter.js +7 -3
  88. package/dist/bridge/mcp/connector/adapter.js.map +1 -1
  89. package/dist/bridge/sse/mapper.d.ts.map +1 -1
  90. package/dist/bridge/sse/mapper.js +27 -0
  91. package/dist/bridge/sse/mapper.js.map +1 -1
  92. package/dist/bus/breaker.d.ts.map +1 -1
  93. package/dist/bus/breaker.js +15 -10
  94. package/dist/bus/breaker.js.map +1 -1
  95. package/dist/bus/index.d.ts.map +1 -1
  96. package/dist/bus/index.js +10 -8
  97. package/dist/bus/index.js.map +1 -1
  98. package/dist/bus/lock.d.ts.map +1 -1
  99. package/dist/bus/lock.js +36 -19
  100. package/dist/bus/lock.js.map +1 -1
  101. package/dist/bus/ownership.d.ts.map +1 -1
  102. package/dist/bus/ownership.js +17 -9
  103. package/dist/bus/ownership.js.map +1 -1
  104. package/dist/compaction/context-window.d.ts +18 -2
  105. package/dist/compaction/context-window.d.ts.map +1 -1
  106. package/dist/compaction/context-window.js +15 -1
  107. package/dist/compaction/context-window.js.map +1 -1
  108. package/dist/compaction/index.d.ts +3 -0
  109. package/dist/compaction/index.d.ts.map +1 -1
  110. package/dist/compaction/index.js +4 -0
  111. package/dist/compaction/index.js.map +1 -1
  112. package/dist/compaction/manual.d.ts +58 -0
  113. package/dist/compaction/manual.d.ts.map +1 -0
  114. package/dist/compaction/manual.js +104 -0
  115. package/dist/compaction/manual.js.map +1 -0
  116. package/dist/compaction/plan.d.ts +92 -0
  117. package/dist/compaction/plan.d.ts.map +1 -0
  118. package/dist/compaction/plan.js +149 -0
  119. package/dist/compaction/plan.js.map +1 -0
  120. package/dist/compaction/summary.d.ts +23 -0
  121. package/dist/compaction/summary.d.ts.map +1 -0
  122. package/dist/compaction/summary.js +27 -0
  123. package/dist/compaction/summary.js.map +1 -0
  124. package/dist/compaction/verifier.js +2 -2
  125. package/dist/compaction/verifier.js.map +1 -1
  126. package/dist/config/registry.d.ts +104 -0
  127. package/dist/config/registry.d.ts.map +1 -0
  128. package/dist/config/registry.js +105 -0
  129. package/dist/config/registry.js.map +1 -0
  130. package/dist/config/runtime.d.ts +99 -28
  131. package/dist/config/runtime.d.ts.map +1 -1
  132. package/dist/config/runtime.js +27 -0
  133. package/dist/config/runtime.js.map +1 -1
  134. package/dist/connector/BaseConnector.d.ts +1 -1
  135. package/dist/connector/BaseConnector.d.ts.map +1 -1
  136. package/dist/connector/BaseConnector.js +8 -3
  137. package/dist/connector/BaseConnector.js.map +1 -1
  138. package/dist/connector/builtins/http.d.ts +1 -1
  139. package/dist/connector/builtins/http.d.ts.map +1 -1
  140. package/dist/connector/builtins/http.js +11 -2
  141. package/dist/connector/builtins/http.js.map +1 -1
  142. package/dist/connector/builtins/webhook.d.ts +1 -1
  143. package/dist/connector/builtins/webhook.d.ts.map +1 -1
  144. package/dist/connector/builtins/webhook.js +5 -2
  145. package/dist/connector/builtins/webhook.js.map +1 -1
  146. package/dist/connector/index.d.ts +4 -15
  147. package/dist/connector/index.d.ts.map +1 -1
  148. package/dist/connector/index.js +12 -12
  149. package/dist/connector/index.js.map +1 -1
  150. package/dist/connector/mcp/adapter.d.ts +30 -0
  151. package/dist/connector/mcp/adapter.d.ts.map +1 -1
  152. package/dist/connector/mcp/adapter.js +43 -1
  153. package/dist/connector/mcp/adapter.js.map +1 -1
  154. package/dist/connector/mcp/client.d.ts.map +1 -1
  155. package/dist/connector/mcp/client.js +31 -20
  156. package/dist/connector/mcp/client.js.map +1 -1
  157. package/dist/connector/mcp/discovery.d.ts.map +1 -1
  158. package/dist/connector/mcp/discovery.js +31 -20
  159. package/dist/connector/mcp/discovery.js.map +1 -1
  160. package/dist/connector/mcp/http-sse.d.ts +2 -1
  161. package/dist/connector/mcp/http-sse.d.ts.map +1 -1
  162. package/dist/connector/mcp/http-sse.js +9 -6
  163. package/dist/connector/mcp/http-sse.js.map +1 -1
  164. package/dist/connector/mcp/index.d.ts +2 -3
  165. package/dist/connector/mcp/index.d.ts.map +1 -1
  166. package/dist/connector/mcp/index.js +5 -4
  167. package/dist/connector/mcp/index.js.map +1 -1
  168. package/dist/connector/mcp/reconnect.d.ts +123 -0
  169. package/dist/connector/mcp/reconnect.d.ts.map +1 -0
  170. package/dist/connector/mcp/reconnect.js +121 -0
  171. package/dist/connector/mcp/reconnect.js.map +1 -0
  172. package/dist/connector/mcp/server/index.d.ts +28 -0
  173. package/dist/connector/mcp/server/index.d.ts.map +1 -0
  174. package/dist/connector/mcp/server/index.js +27 -0
  175. package/dist/connector/mcp/server/index.js.map +1 -0
  176. package/dist/connector/mcp/{server-stdio.d.ts → server/server-stdio.d.ts} +3 -2
  177. package/dist/connector/mcp/server/server-stdio.d.ts.map +1 -0
  178. package/dist/connector/mcp/{server-stdio.js → server/server-stdio.js} +4 -3
  179. package/dist/connector/mcp/server/server-stdio.js.map +1 -0
  180. package/dist/connector/mcp/{server.d.ts → server/server.d.ts} +5 -4
  181. package/dist/connector/mcp/server/server.d.ts.map +1 -0
  182. package/dist/connector/mcp/{server.js → server/server.js} +14 -9
  183. package/dist/connector/mcp/server/server.js.map +1 -0
  184. package/dist/connector/mcp/stdio.d.ts +2 -1
  185. package/dist/connector/mcp/stdio.d.ts.map +1 -1
  186. package/dist/connector/mcp/stdio.js +15 -7
  187. package/dist/connector/mcp/stdio.js.map +1 -1
  188. package/dist/connector/mcp/streamable-http.d.ts +2 -1
  189. package/dist/connector/mcp/streamable-http.d.ts.map +1 -1
  190. package/dist/connector/mcp/streamable-http.js +5 -4
  191. package/dist/connector/mcp/streamable-http.js.map +1 -1
  192. package/dist/{bridge/tools/connector → connector/tools}/adapter.d.ts +4 -4
  193. package/dist/connector/tools/adapter.d.ts.map +1 -0
  194. package/dist/{bridge/tools/connector → connector/tools}/adapter.js +1 -1
  195. package/dist/connector/tools/adapter.js.map +1 -0
  196. package/dist/{bridge/tools/connector → connector/tools}/definitions.d.ts +2 -2
  197. package/dist/connector/tools/definitions.d.ts.map +1 -0
  198. package/dist/{bridge/tools/connector → connector/tools}/definitions.js +2 -2
  199. package/dist/connector/tools/definitions.js.map +1 -0
  200. package/dist/connector/tools/index.d.ts.map +1 -0
  201. package/dist/connector/tools/index.js.map +1 -0
  202. package/dist/{bridge/tools/connector → connector/tools}/router.d.ts +4 -2
  203. package/dist/connector/tools/router.d.ts.map +1 -0
  204. package/dist/{bridge/tools/connector → connector/tools}/router.js +14 -7
  205. package/dist/connector/tools/router.js.map +1 -0
  206. package/dist/connector/web/guarded-fetch.d.ts +60 -0
  207. package/dist/connector/web/guarded-fetch.d.ts.map +1 -0
  208. package/dist/connector/web/guarded-fetch.js +233 -0
  209. package/dist/connector/web/guarded-fetch.js.map +1 -0
  210. package/dist/connector/web/index.d.ts +5 -0
  211. package/dist/connector/web/index.d.ts.map +1 -0
  212. package/dist/connector/web/index.js +7 -0
  213. package/dist/connector/web/index.js.map +1 -0
  214. package/dist/connector/web/types.d.ts +87 -0
  215. package/dist/connector/web/types.d.ts.map +1 -0
  216. package/dist/connector/web/types.js +25 -0
  217. package/dist/connector/web/types.js.map +1 -0
  218. package/dist/constants/acp/index.d.ts +97 -0
  219. package/dist/constants/acp/index.d.ts.map +1 -0
  220. package/dist/constants/acp/index.js +96 -0
  221. package/dist/constants/acp/index.js.map +1 -0
  222. package/dist/constants/authorization/index.d.ts.map +1 -0
  223. package/dist/constants/authorization/index.js.map +1 -0
  224. package/dist/constants/credential-env-keys.d.ts +36 -0
  225. package/dist/constants/credential-env-keys.d.ts.map +1 -0
  226. package/dist/constants/credential-env-keys.js +62 -0
  227. package/dist/constants/credential-env-keys.js.map +1 -0
  228. package/dist/constants/index.d.ts +3 -1
  229. package/dist/constants/index.d.ts.map +1 -1
  230. package/dist/constants/index.js +3 -1
  231. package/dist/constants/index.js.map +1 -1
  232. package/dist/constants/secret-patterns.d.ts +78 -0
  233. package/dist/constants/secret-patterns.d.ts.map +1 -0
  234. package/dist/constants/secret-patterns.js +99 -0
  235. package/dist/constants/secret-patterns.js.map +1 -0
  236. package/dist/constants/telemetry/index.d.ts +42 -0
  237. package/dist/constants/telemetry/index.d.ts.map +1 -1
  238. package/dist/constants/telemetry/index.js +87 -0
  239. package/dist/constants/telemetry/index.js.map +1 -1
  240. package/dist/contracts/a2a.d.ts +54 -54
  241. package/dist/contracts/api.d.ts +12 -1
  242. package/dist/contracts/api.d.ts.map +1 -1
  243. package/dist/contracts/schemas.d.ts +12 -12
  244. package/dist/deprecated-aliases.d.ts +80 -0
  245. package/dist/deprecated-aliases.d.ts.map +1 -0
  246. package/dist/deprecated-aliases.js +60 -0
  247. package/dist/deprecated-aliases.js.map +1 -0
  248. package/dist/eval/judge.js +2 -2
  249. package/dist/eval/judge.js.map +1 -1
  250. package/dist/execution/base.d.ts +1 -1
  251. package/dist/execution/base.d.ts.map +1 -1
  252. package/dist/execution/base.js +18 -7
  253. package/dist/execution/base.js.map +1 -1
  254. package/dist/execution/code-runtime/types.d.ts +114 -0
  255. package/dist/execution/code-runtime/types.d.ts.map +1 -0
  256. package/dist/execution/code-runtime/types.js +40 -0
  257. package/dist/execution/code-runtime/types.js.map +1 -0
  258. package/dist/execution/code-runtime/worker.d.ts +6 -0
  259. package/dist/execution/code-runtime/worker.d.ts.map +1 -0
  260. package/dist/execution/code-runtime/worker.js +248 -0
  261. package/dist/execution/code-runtime/worker.js.map +1 -0
  262. package/dist/{connector/execution → execution}/factory.d.ts +3 -3
  263. package/dist/execution/factory.d.ts.map +1 -0
  264. package/dist/{connector/execution → execution}/factory.js +1 -1
  265. package/dist/execution/factory.js.map +1 -0
  266. package/dist/{connector/execution → execution}/hybrid.d.ts +5 -3
  267. package/dist/execution/hybrid.d.ts.map +1 -0
  268. package/dist/{connector/execution → execution}/hybrid.js +10 -4
  269. package/dist/execution/hybrid.js.map +1 -0
  270. package/dist/execution/index.d.ts +23 -0
  271. package/dist/execution/index.d.ts.map +1 -1
  272. package/dist/execution/index.js +21 -0
  273. package/dist/execution/index.js.map +1 -1
  274. package/dist/execution/local.d.ts +2 -0
  275. package/dist/execution/local.d.ts.map +1 -1
  276. package/dist/execution/local.js +2 -2
  277. package/dist/execution/local.js.map +1 -1
  278. package/dist/{connector/execution → execution}/remote.d.ts +4 -2
  279. package/dist/execution/remote.d.ts.map +1 -0
  280. package/dist/{connector/execution → execution}/remote.js +12 -5
  281. package/dist/execution/remote.js.map +1 -0
  282. package/dist/index.d.ts +2 -0
  283. package/dist/index.d.ts.map +1 -1
  284. package/dist/index.js +4 -0
  285. package/dist/index.js.map +1 -1
  286. package/dist/invariants/index.d.ts +111 -0
  287. package/dist/invariants/index.d.ts.map +1 -0
  288. package/dist/invariants/index.js +138 -0
  289. package/dist/invariants/index.js.map +1 -0
  290. package/dist/manager/agent/lifecycle.d.ts +29 -7
  291. package/dist/manager/agent/lifecycle.d.ts.map +1 -1
  292. package/dist/manager/agent/lifecycle.js +140 -50
  293. package/dist/manager/agent/lifecycle.js.map +1 -1
  294. package/dist/manager/connector/environment.d.ts +2 -0
  295. package/dist/manager/connector/environment.d.ts.map +1 -1
  296. package/dist/manager/connector/environment.js +20 -9
  297. package/dist/manager/connector/environment.js.map +1 -1
  298. package/dist/manager/connector/lifecycle.d.ts +10 -0
  299. package/dist/manager/connector/lifecycle.d.ts.map +1 -1
  300. package/dist/manager/connector/lifecycle.js +21 -11
  301. package/dist/manager/connector/lifecycle.js.map +1 -1
  302. package/dist/manager/connector/tenant.d.ts +9 -0
  303. package/dist/manager/connector/tenant.d.ts.map +1 -1
  304. package/dist/manager/connector/tenant.js +24 -10
  305. package/dist/manager/connector/tenant.js.map +1 -1
  306. package/dist/manager/index.d.ts +6 -2
  307. package/dist/manager/index.d.ts.map +1 -1
  308. package/dist/manager/index.js +7 -1
  309. package/dist/manager/index.js.map +1 -1
  310. package/dist/manager/project/lifecycle.d.ts +1 -1
  311. package/dist/manager/project/lifecycle.js +1 -1
  312. package/dist/manager/run/emergency.d.ts.map +1 -1
  313. package/dist/manager/run/emergency.js +9 -7
  314. package/dist/manager/run/emergency.js.map +1 -1
  315. package/dist/manager/run/persistence.d.ts +46 -4
  316. package/dist/manager/run/persistence.d.ts.map +1 -1
  317. package/dist/manager/run/persistence.js +102 -7
  318. package/dist/manager/run/persistence.js.map +1 -1
  319. package/dist/manager/topic/lifecycle.d.ts +123 -0
  320. package/dist/manager/topic/lifecycle.d.ts.map +1 -0
  321. package/dist/manager/{thread → topic}/lifecycle.js +79 -61
  322. package/dist/manager/topic/lifecycle.js.map +1 -0
  323. package/dist/manager/topic/objective.d.ts +77 -0
  324. package/dist/manager/topic/objective.d.ts.map +1 -0
  325. package/dist/manager/topic/objective.js +133 -0
  326. package/dist/manager/topic/objective.js.map +1 -0
  327. package/dist/model-router/task-router.d.ts.map +1 -0
  328. package/dist/model-router/task-router.js.map +1 -0
  329. package/dist/persona/assembler.d.ts +1 -1
  330. package/dist/persona/assembler.d.ts.map +1 -1
  331. package/dist/persona/assembler.js +14 -2
  332. package/dist/persona/assembler.js.map +1 -1
  333. package/dist/plugin/lifecycle.d.ts +24 -0
  334. package/dist/plugin/lifecycle.d.ts.map +1 -1
  335. package/dist/plugin/lifecycle.js +112 -20
  336. package/dist/plugin/lifecycle.js.map +1 -1
  337. package/dist/plugin/loader.d.ts +17 -2
  338. package/dist/plugin/loader.d.ts.map +1 -1
  339. package/dist/plugin/loader.js +46 -26
  340. package/dist/plugin/loader.js.map +1 -1
  341. package/dist/probe/index.d.ts +1 -0
  342. package/dist/probe/index.d.ts.map +1 -1
  343. package/dist/probe/registry.d.ts +34 -1
  344. package/dist/probe/registry.d.ts.map +1 -1
  345. package/dist/probe/registry.js +5 -4
  346. package/dist/probe/registry.js.map +1 -1
  347. package/dist/process/kill-tree.d.ts +40 -0
  348. package/dist/process/kill-tree.d.ts.map +1 -0
  349. package/dist/process/kill-tree.js +54 -0
  350. package/dist/process/kill-tree.js.map +1 -0
  351. package/dist/prompt/contributions.d.ts +138 -0
  352. package/dist/prompt/contributions.d.ts.map +1 -0
  353. package/dist/prompt/contributions.js +78 -0
  354. package/dist/prompt/contributions.js.map +1 -0
  355. package/dist/prompt/index.d.ts +3 -0
  356. package/dist/prompt/index.d.ts.map +1 -0
  357. package/dist/prompt/index.js +6 -0
  358. package/dist/prompt/index.js.map +1 -0
  359. package/dist/provider/attribution.d.ts +45 -0
  360. package/dist/provider/attribution.d.ts.map +1 -0
  361. package/dist/provider/attribution.js +23 -0
  362. package/dist/provider/attribution.js.map +1 -0
  363. package/dist/provider/{collect.d.ts → collect-chat-completion.d.ts} +3 -3
  364. package/dist/provider/collect-chat-completion.d.ts.map +1 -0
  365. package/dist/provider/{collect.js → collect-chat-completion.js} +3 -3
  366. package/dist/provider/collect-chat-completion.js.map +1 -0
  367. package/dist/provider/conformance.d.ts +93 -0
  368. package/dist/provider/conformance.d.ts.map +1 -0
  369. package/dist/provider/conformance.js +124 -0
  370. package/dist/provider/conformance.js.map +1 -0
  371. package/dist/provider/errors.d.ts +29 -0
  372. package/dist/provider/errors.d.ts.map +1 -1
  373. package/dist/provider/errors.js +27 -10
  374. package/dist/provider/errors.js.map +1 -1
  375. package/dist/provider/fallback.d.ts +1 -1
  376. package/dist/provider/fallback.d.ts.map +1 -1
  377. package/dist/provider/fallback.js +27 -9
  378. package/dist/provider/fallback.js.map +1 -1
  379. package/dist/provider/idle-timeout.d.ts +47 -0
  380. package/dist/provider/idle-timeout.d.ts.map +1 -0
  381. package/dist/provider/idle-timeout.js +61 -0
  382. package/dist/provider/idle-timeout.js.map +1 -0
  383. package/dist/provider/instrumentation.d.ts +3 -2
  384. package/dist/provider/instrumentation.d.ts.map +1 -1
  385. package/dist/provider/instrumentation.js.map +1 -1
  386. package/dist/provider/retry.d.ts.map +1 -1
  387. package/dist/provider/retry.js +58 -21
  388. package/dist/provider/retry.js.map +1 -1
  389. package/dist/public-runtime.d.ts +79 -15
  390. package/dist/public-runtime.d.ts.map +1 -1
  391. package/dist/public-runtime.js +173 -17
  392. package/dist/public-runtime.js.map +1 -1
  393. package/dist/public-tools.d.ts +8 -1
  394. package/dist/public-tools.d.ts.map +1 -1
  395. package/dist/public-tools.js +29 -1
  396. package/dist/public-tools.js.map +1 -1
  397. package/dist/public-types.d.ts +21 -4
  398. package/dist/public-types.d.ts.map +1 -1
  399. package/dist/rag/rag-tool.d.ts.map +1 -1
  400. package/dist/rag/rag-tool.js +4 -1
  401. package/dist/rag/rag-tool.js.map +1 -1
  402. package/dist/read-model/index.d.ts +5 -0
  403. package/dist/read-model/index.d.ts.map +1 -0
  404. package/dist/read-model/index.js +7 -0
  405. package/dist/read-model/index.js.map +1 -0
  406. package/dist/read-model/registry.d.ts +112 -0
  407. package/dist/read-model/registry.d.ts.map +1 -0
  408. package/dist/read-model/registry.js +105 -0
  409. package/dist/read-model/registry.js.map +1 -0
  410. package/dist/read-model/run-status.d.ts +43 -0
  411. package/dist/read-model/run-status.d.ts.map +1 -0
  412. package/dist/read-model/run-status.js +89 -0
  413. package/dist/read-model/run-status.js.map +1 -0
  414. package/dist/registry/{Registry.d.ts → BaseRegistry.d.ts} +2 -2
  415. package/dist/registry/BaseRegistry.d.ts.map +1 -0
  416. package/dist/registry/{Registry.js → BaseRegistry.js} +2 -2
  417. package/dist/registry/BaseRegistry.js.map +1 -0
  418. package/dist/registry/ManagedRegistry.d.ts +2 -2
  419. package/dist/registry/ManagedRegistry.d.ts.map +1 -1
  420. package/dist/registry/ManagedRegistry.js +26 -9
  421. package/dist/registry/ManagedRegistry.js.map +1 -1
  422. package/dist/registry/command/index-exports.d.ts +3 -0
  423. package/dist/registry/command/index-exports.d.ts.map +1 -0
  424. package/dist/registry/command/index-exports.js +5 -0
  425. package/dist/registry/command/index-exports.js.map +1 -0
  426. package/dist/registry/command/index.d.ts +53 -0
  427. package/dist/registry/command/index.d.ts.map +1 -0
  428. package/dist/registry/command/index.js +87 -0
  429. package/dist/registry/command/index.js.map +1 -0
  430. package/dist/registry/command/kernel-commands.d.ts +32 -0
  431. package/dist/registry/command/kernel-commands.d.ts.map +1 -0
  432. package/dist/registry/command/kernel-commands.js +78 -0
  433. package/dist/registry/command/kernel-commands.js.map +1 -0
  434. package/dist/registry/connector/scoped.d.ts +2 -1
  435. package/dist/registry/connector/scoped.d.ts.map +1 -1
  436. package/dist/registry/connector/scoped.js +6 -5
  437. package/dist/registry/connector/scoped.js.map +1 -1
  438. package/dist/registry/index.d.ts +4 -1
  439. package/dist/registry/index.d.ts.map +1 -1
  440. package/dist/registry/index.js +5 -1
  441. package/dist/registry/index.js.map +1 -1
  442. package/dist/registry/tool/execute.d.ts +1 -0
  443. package/dist/registry/tool/execute.d.ts.map +1 -1
  444. package/dist/registry/tool/execute.js +46 -13
  445. package/dist/registry/tool/execute.js.map +1 -1
  446. package/dist/registry/tool/presentation.d.ts +32 -0
  447. package/dist/registry/tool/presentation.d.ts.map +1 -0
  448. package/dist/registry/tool/presentation.js +92 -0
  449. package/dist/registry/tool/presentation.js.map +1 -0
  450. package/dist/registry/tool/screen.d.ts +33 -0
  451. package/dist/registry/tool/screen.d.ts.map +1 -0
  452. package/dist/registry/tool/screen.js +103 -0
  453. package/dist/registry/tool/screen.js.map +1 -0
  454. package/dist/run/drain.d.ts +13 -3
  455. package/dist/run/drain.d.ts.map +1 -1
  456. package/dist/run/drain.js +10 -0
  457. package/dist/run/drain.js.map +1 -1
  458. package/dist/run/reporter.d.ts.map +1 -1
  459. package/dist/run/reporter.js +203 -149
  460. package/dist/run/reporter.js.map +1 -1
  461. package/dist/run-query/index.d.ts +74 -0
  462. package/dist/run-query/index.d.ts.map +1 -0
  463. package/dist/run-query/index.js +73 -0
  464. package/dist/run-query/index.js.map +1 -0
  465. package/dist/runtime/bidi/session.d.ts.map +1 -1
  466. package/dist/runtime/bidi/session.js +7 -2
  467. package/dist/runtime/bidi/session.js.map +1 -1
  468. package/dist/runtime/decision/fallback.d.ts.map +1 -1
  469. package/dist/runtime/decision/fallback.js +6 -3
  470. package/dist/runtime/decision/fallback.js.map +1 -1
  471. package/dist/runtime/decision/parser.d.ts.map +1 -1
  472. package/dist/runtime/decision/parser.js +10 -9
  473. package/dist/runtime/decision/parser.js.map +1 -1
  474. package/dist/runtime/jobs/registry.d.ts +147 -0
  475. package/dist/runtime/jobs/registry.d.ts.map +1 -0
  476. package/dist/runtime/jobs/registry.js +242 -0
  477. package/dist/runtime/jobs/registry.js.map +1 -0
  478. package/dist/runtime/query/approval-policy.d.ts +22 -0
  479. package/dist/runtime/query/approval-policy.d.ts.map +1 -0
  480. package/dist/runtime/query/approval-policy.js +61 -0
  481. package/dist/runtime/query/approval-policy.js.map +1 -0
  482. package/dist/runtime/query/checkpoint.d.ts +3 -3
  483. package/dist/runtime/query/checkpoint.d.ts.map +1 -1
  484. package/dist/runtime/query/checkpoint.js +2 -2
  485. package/dist/runtime/query/checkpoint.js.map +1 -1
  486. package/dist/runtime/query/context.d.ts +85 -15
  487. package/dist/runtime/query/context.d.ts.map +1 -1
  488. package/dist/runtime/query/context.js +57 -14
  489. package/dist/runtime/query/context.js.map +1 -1
  490. package/dist/runtime/query/events.d.ts +5 -4
  491. package/dist/runtime/query/events.d.ts.map +1 -1
  492. package/dist/runtime/query/events.js +9 -6
  493. package/dist/runtime/query/events.js.map +1 -1
  494. package/dist/runtime/query/executor.d.ts +113 -4
  495. package/dist/runtime/query/executor.d.ts.map +1 -1
  496. package/dist/runtime/query/executor.js +228 -62
  497. package/dist/runtime/query/executor.js.map +1 -1
  498. package/dist/runtime/query/guardrail-presets.d.ts +30 -1
  499. package/dist/runtime/query/guardrail-presets.d.ts.map +1 -1
  500. package/dist/runtime/query/guardrail-presets.js +59 -14
  501. package/dist/runtime/query/guardrail-presets.js.map +1 -1
  502. package/dist/runtime/query/guardrails.d.ts.map +1 -1
  503. package/dist/runtime/query/guardrails.js +16 -12
  504. package/dist/runtime/query/guardrails.js.map +1 -1
  505. package/dist/runtime/query/index.d.ts +140 -16
  506. package/dist/runtime/query/index.d.ts.map +1 -1
  507. package/dist/runtime/query/index.js +379 -76
  508. package/dist/runtime/query/index.js.map +1 -1
  509. package/dist/runtime/query/iteration/index.d.ts +32 -0
  510. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  511. package/dist/runtime/query/iteration/index.js +256 -88
  512. package/dist/runtime/query/iteration/index.js.map +1 -1
  513. package/dist/runtime/query/iteration/phases/advisory.d.ts.map +1 -1
  514. package/dist/runtime/query/iteration/phases/advisory.js +17 -16
  515. package/dist/runtime/query/iteration/phases/advisory.js.map +1 -1
  516. package/dist/runtime/query/iteration/phases/compaction.d.ts +1 -8
  517. package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
  518. package/dist/runtime/query/iteration/phases/compaction.js +202 -178
  519. package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
  520. package/dist/runtime/query/iteration/phases/context.d.ts +52 -6
  521. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  522. package/dist/runtime/query/iteration/phases/context.js +26 -17
  523. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  524. package/dist/runtime/query/iteration/phases/tool-review.d.ts +2 -2
  525. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  526. package/dist/runtime/query/iteration/phases/tool-review.js +27 -7
  527. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  528. package/dist/runtime/query/iteration/phases/working-memory.d.ts.map +1 -1
  529. package/dist/runtime/query/iteration/phases/working-memory.js +3 -2
  530. package/dist/runtime/query/iteration/phases/working-memory.js.map +1 -1
  531. package/dist/runtime/query/iteration/stream-turn.js +14 -14
  532. package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
  533. package/dist/runtime/query/{context-cache.d.ts → prompt-cache.d.ts} +6 -4
  534. package/dist/runtime/query/prompt-cache.d.ts.map +1 -0
  535. package/dist/runtime/query/{context-cache.js → prompt-cache.js} +20 -2
  536. package/dist/runtime/query/prompt-cache.js.map +1 -0
  537. package/dist/runtime/query/prompt.d.ts +50 -0
  538. package/dist/runtime/query/prompt.d.ts.map +1 -1
  539. package/dist/runtime/query/prompt.js +83 -4
  540. package/dist/runtime/query/prompt.js.map +1 -1
  541. package/dist/runtime/query/repeat-call.d.ts +42 -0
  542. package/dist/runtime/query/repeat-call.d.ts.map +1 -0
  543. package/dist/runtime/query/repeat-call.js +107 -0
  544. package/dist/runtime/query/repeat-call.js.map +1 -0
  545. package/dist/runtime/query/replay/mutate.js +8 -1
  546. package/dist/runtime/query/replay/mutate.js.map +1 -1
  547. package/dist/runtime/query/result.d.ts +7 -0
  548. package/dist/runtime/query/result.d.ts.map +1 -1
  549. package/dist/runtime/query/result.js +38 -10
  550. package/dist/runtime/query/result.js.map +1 -1
  551. package/dist/runtime/query/resume-pending.d.ts.map +1 -1
  552. package/dist/runtime/query/resume-pending.js +19 -17
  553. package/dist/runtime/query/resume-pending.js.map +1 -1
  554. package/dist/runtime/query/resume-run.d.ts +2 -2
  555. package/dist/runtime/query/resume-run.d.ts.map +1 -1
  556. package/dist/runtime/query/run-state.d.ts +3 -3
  557. package/dist/runtime/query/run-state.d.ts.map +1 -1
  558. package/dist/runtime/query/run-state.js +2 -2
  559. package/dist/runtime/query/run-state.js.map +1 -1
  560. package/dist/runtime/query/tool-grants.d.ts +7 -0
  561. package/dist/runtime/query/tool-grants.d.ts.map +1 -1
  562. package/dist/runtime/query/tool-grants.js +1 -1
  563. package/dist/runtime/query/tool-grants.js.map +1 -1
  564. package/dist/runtime/query/tool-output-budget.js +34 -3
  565. package/dist/runtime/query/tool-output-budget.js.map +1 -1
  566. package/dist/runtime/query/tool-pause.d.ts.map +1 -1
  567. package/dist/runtime/query/tool-pause.js +2 -1
  568. package/dist/runtime/query/tool-pause.js.map +1 -1
  569. package/dist/runtime/query/tooling.d.ts +10 -2
  570. package/dist/runtime/query/tooling.d.ts.map +1 -1
  571. package/dist/runtime/query/tooling.js +3 -0
  572. package/dist/runtime/query/tooling.js.map +1 -1
  573. package/dist/sandbox/provider/local.d.ts +10 -0
  574. package/dist/sandbox/provider/local.d.ts.map +1 -1
  575. package/dist/sandbox/provider/local.js +77 -23
  576. package/dist/sandbox/provider/local.js.map +1 -1
  577. package/dist/sandbox/terminal.d.ts +130 -0
  578. package/dist/sandbox/terminal.d.ts.map +1 -0
  579. package/dist/sandbox/terminal.js +119 -0
  580. package/dist/sandbox/terminal.js.map +1 -0
  581. package/dist/{gateway → scheduler}/completion-inbox.d.ts +12 -5
  582. package/dist/scheduler/completion-inbox.d.ts.map +1 -0
  583. package/dist/{gateway → scheduler}/completion-inbox.js +19 -7
  584. package/dist/scheduler/completion-inbox.js.map +1 -0
  585. package/dist/scheduler/delegating.d.ts +90 -0
  586. package/dist/scheduler/delegating.d.ts.map +1 -0
  587. package/dist/scheduler/delegating.js +230 -0
  588. package/dist/scheduler/delegating.js.map +1 -0
  589. package/dist/{gateway → scheduler}/local.d.ts +10 -2
  590. package/dist/scheduler/local.d.ts.map +1 -0
  591. package/dist/{gateway → scheduler}/local.js +20 -11
  592. package/dist/scheduler/local.js.map +1 -0
  593. package/dist/session/actor-scope.d.ts +52 -0
  594. package/dist/session/actor-scope.d.ts.map +1 -0
  595. package/dist/session/actor-scope.js +112 -0
  596. package/dist/session/actor-scope.js.map +1 -0
  597. package/dist/session/errors.d.ts +31 -8
  598. package/dist/session/errors.d.ts.map +1 -1
  599. package/dist/session/errors.js +21 -1
  600. package/dist/session/errors.js.map +1 -1
  601. package/dist/session/handoff/assignment.d.ts +5 -5
  602. package/dist/session/handoff/assignment.d.ts.map +1 -1
  603. package/dist/session/handoff/broadcast.d.ts +2 -2
  604. package/dist/session/handoff/broadcast.d.ts.map +1 -1
  605. package/dist/session/handoff/broadcast.js +7 -7
  606. package/dist/session/handoff/broadcast.js.map +1 -1
  607. package/dist/session/handoff/single.d.ts +4 -4
  608. package/dist/session/handoff/single.d.ts.map +1 -1
  609. package/dist/session/handoff/single.js +4 -4
  610. package/dist/session/handoff/single.js.map +1 -1
  611. package/dist/session/migration/filesystem.d.ts +28 -0
  612. package/dist/session/migration/filesystem.d.ts.map +1 -1
  613. package/dist/session/migration/filesystem.js +44 -2
  614. package/dist/session/migration/filesystem.js.map +1 -1
  615. package/dist/session/migration/id-prefix.d.ts +50 -19
  616. package/dist/session/migration/id-prefix.d.ts.map +1 -1
  617. package/dist/session/migration/id-prefix.js +54 -22
  618. package/dist/session/migration/id-prefix.js.map +1 -1
  619. package/dist/session/migration/index.d.ts +6 -2
  620. package/dist/session/migration/index.d.ts.map +1 -1
  621. package/dist/session/migration/index.js +6 -2
  622. package/dist/session/migration/index.js.map +1 -1
  623. package/dist/session/migration/marker.d.ts.map +1 -1
  624. package/dist/session/migration/marker.js +21 -4
  625. package/dist/session/migration/marker.js.map +1 -1
  626. package/dist/session/retention/archive.d.ts.map +1 -1
  627. package/dist/session/retention/archive.js +25 -11
  628. package/dist/session/retention/archive.js.map +1 -1
  629. package/dist/session/workspace/git-worktree.d.ts.map +1 -1
  630. package/dist/session/workspace/git-worktree.js +17 -8
  631. package/dist/session/workspace/git-worktree.js.map +1 -1
  632. package/dist/skills/loader.d.ts +4 -2
  633. package/dist/skills/loader.d.ts.map +1 -1
  634. package/dist/skills/loader.js +36 -9
  635. package/dist/skills/loader.js.map +1 -1
  636. package/dist/skills/registry.d.ts +59 -1
  637. package/dist/skills/registry.d.ts.map +1 -1
  638. package/dist/skills/registry.js +154 -20
  639. package/dist/skills/registry.js.map +1 -1
  640. package/dist/store/attachment/index.d.ts +111 -0
  641. package/dist/store/attachment/index.d.ts.map +1 -0
  642. package/dist/store/attachment/index.js +94 -0
  643. package/dist/store/attachment/index.js.map +1 -0
  644. package/dist/store/config/index.d.ts +43 -0
  645. package/dist/store/config/index.d.ts.map +1 -0
  646. package/dist/store/config/index.js +51 -0
  647. package/dist/store/config/index.js.map +1 -0
  648. package/dist/store/feedback/conformance.d.ts +44 -0
  649. package/dist/store/feedback/conformance.d.ts.map +1 -0
  650. package/dist/store/feedback/conformance.js +127 -0
  651. package/dist/store/feedback/conformance.js.map +1 -0
  652. package/dist/store/feedback/disk.d.ts +46 -0
  653. package/dist/store/feedback/disk.d.ts.map +1 -0
  654. package/dist/store/feedback/disk.js +141 -0
  655. package/dist/store/feedback/disk.js.map +1 -0
  656. package/dist/store/feedback/index.d.ts +9 -0
  657. package/dist/store/feedback/index.d.ts.map +1 -0
  658. package/dist/store/feedback/index.js +5 -0
  659. package/dist/store/feedback/index.js.map +1 -0
  660. package/dist/store/feedback/memory.d.ts +33 -0
  661. package/dist/store/feedback/memory.d.ts.map +1 -0
  662. package/dist/store/feedback/memory.js +0 -0
  663. package/dist/store/feedback/memory.js.map +1 -0
  664. package/dist/store/feedback/types.d.ts +95 -0
  665. package/dist/store/feedback/types.d.ts.map +1 -0
  666. package/dist/store/feedback/types.js +27 -0
  667. package/dist/store/feedback/types.js.map +1 -0
  668. package/dist/store/index.d.ts +1 -0
  669. package/dist/store/index.d.ts.map +1 -1
  670. package/dist/store/index.js +4 -0
  671. package/dist/store/index.js.map +1 -1
  672. package/dist/store/kv/record-store.d.ts +54 -0
  673. package/dist/store/kv/record-store.d.ts.map +1 -0
  674. package/dist/store/kv/record-store.js +94 -0
  675. package/dist/store/kv/record-store.js.map +1 -0
  676. package/dist/store/memory/disk.d.ts +2 -0
  677. package/dist/store/memory/disk.d.ts.map +1 -1
  678. package/dist/store/memory/disk.js +36 -30
  679. package/dist/store/memory/disk.js.map +1 -1
  680. package/dist/store/run/checkpoint-disk.d.ts +4 -4
  681. package/dist/store/run/checkpoint-disk.d.ts.map +1 -1
  682. package/dist/store/run/checkpoint-disk.js +22 -1
  683. package/dist/store/run/checkpoint-disk.js.map +1 -1
  684. package/dist/store/run/checkpoint-memory.d.ts +4 -4
  685. package/dist/store/run/checkpoint-memory.d.ts.map +1 -1
  686. package/dist/store/run/checkpoint-memory.js.map +1 -1
  687. package/dist/store/run/claim-disk.d.ts +5 -5
  688. package/dist/store/run/claim-disk.d.ts.map +1 -1
  689. package/dist/store/run/claim-disk.js +20 -0
  690. package/dist/store/run/claim-disk.js.map +1 -1
  691. package/dist/store/run/conformance.d.ts.map +1 -1
  692. package/dist/store/run/conformance.js +10 -9
  693. package/dist/store/run/conformance.js.map +1 -1
  694. package/dist/store/run/disk.d.ts +3 -1
  695. package/dist/store/run/disk.d.ts.map +1 -1
  696. package/dist/store/run/disk.js +73 -4
  697. package/dist/store/run/disk.js.map +1 -1
  698. package/dist/store/run/listing.d.ts +4 -4
  699. package/dist/store/run/listing.d.ts.map +1 -1
  700. package/dist/store/run/listing.js.map +1 -1
  701. package/dist/store/run/memory.d.ts +5 -0
  702. package/dist/store/run/memory.d.ts.map +1 -1
  703. package/dist/store/run/memory.js +20 -1
  704. package/dist/store/run/memory.js.map +1 -1
  705. package/dist/store/session/canonical-path.d.ts +32 -0
  706. package/dist/store/session/canonical-path.d.ts.map +1 -0
  707. package/dist/store/session/canonical-path.js +46 -0
  708. package/dist/store/session/canonical-path.js.map +1 -0
  709. package/dist/store/session/disk.d.ts +46 -2
  710. package/dist/store/session/disk.d.ts.map +1 -1
  711. package/dist/store/session/disk.js +191 -205
  712. package/dist/store/session/disk.js.map +1 -1
  713. package/dist/store/session/memory.d.ts +10 -2
  714. package/dist/store/session/memory.d.ts.map +1 -1
  715. package/dist/store/session/memory.js +36 -4
  716. package/dist/store/session/memory.js.map +1 -1
  717. package/dist/store/task/disk.d.ts.map +1 -1
  718. package/dist/store/task/disk.js +76 -68
  719. package/dist/store/task/disk.js.map +1 -1
  720. package/dist/store/topic/index.d.ts +6 -0
  721. package/dist/store/topic/index.d.ts.map +1 -0
  722. package/dist/store/topic/index.js +20 -0
  723. package/dist/store/topic/index.js.map +1 -0
  724. package/dist/store/topic/memory.d.ts +30 -0
  725. package/dist/store/topic/memory.d.ts.map +1 -0
  726. package/dist/store/topic/memory.js +97 -0
  727. package/dist/store/topic/memory.js.map +1 -0
  728. package/dist/store/topic/objective.d.ts +104 -0
  729. package/dist/store/topic/objective.d.ts.map +1 -0
  730. package/dist/store/topic/objective.js +195 -0
  731. package/dist/store/topic/objective.js.map +1 -0
  732. package/dist/store/topic/state.d.ts +60 -0
  733. package/dist/store/topic/state.d.ts.map +1 -0
  734. package/dist/store/topic/state.js +128 -0
  735. package/dist/store/topic/state.js.map +1 -0
  736. package/dist/streaming/coalesce.d.ts +19 -6
  737. package/dist/streaming/coalesce.d.ts.map +1 -1
  738. package/dist/streaming/coalesce.js +13 -4
  739. package/dist/streaming/coalesce.js.map +1 -1
  740. package/dist/telemetry/runtime-accessors.d.ts +27 -1
  741. package/dist/telemetry/runtime-accessors.d.ts.map +1 -1
  742. package/dist/telemetry/runtime-accessors.js +45 -1
  743. package/dist/telemetry/runtime-accessors.js.map +1 -1
  744. package/dist/test-support/ids.d.ts +68 -0
  745. package/dist/test-support/ids.d.ts.map +1 -0
  746. package/dist/test-support/ids.js +70 -0
  747. package/dist/test-support/ids.js.map +1 -0
  748. package/dist/testing.d.ts +24 -0
  749. package/dist/testing.d.ts.map +1 -0
  750. package/dist/testing.js +22 -0
  751. package/dist/testing.js.map +1 -0
  752. package/dist/tools/builtins/bash.d.ts +1 -0
  753. package/dist/tools/builtins/bash.d.ts.map +1 -1
  754. package/dist/tools/builtins/bash.js +77 -3
  755. package/dist/tools/builtins/bash.js.map +1 -1
  756. package/dist/tools/builtins/computer-use.d.ts +8 -8
  757. package/dist/tools/builtins/edit.d.ts +1 -1
  758. package/dist/tools/builtins/edit.d.ts.map +1 -1
  759. package/dist/tools/builtins/edit.js +34 -0
  760. package/dist/tools/builtins/edit.js.map +1 -1
  761. package/dist/tools/builtins/index.d.ts +6 -0
  762. package/dist/tools/builtins/index.d.ts.map +1 -1
  763. package/dist/tools/builtins/index.js +24 -1
  764. package/dist/tools/builtins/index.js.map +1 -1
  765. package/dist/tools/builtins/job.d.ts +6 -0
  766. package/dist/tools/builtins/job.d.ts.map +1 -0
  767. package/dist/tools/builtins/job.js +114 -0
  768. package/dist/tools/builtins/job.js.map +1 -0
  769. package/dist/tools/builtins/lsp.d.ts +21 -0
  770. package/dist/tools/builtins/lsp.d.ts.map +1 -0
  771. package/dist/tools/builtins/lsp.js +186 -0
  772. package/dist/tools/builtins/lsp.js.map +1 -0
  773. package/dist/tools/builtins/run-code.d.ts +13 -0
  774. package/dist/tools/builtins/run-code.d.ts.map +1 -0
  775. package/dist/tools/builtins/run-code.js +126 -0
  776. package/dist/tools/builtins/run-code.js.map +1 -0
  777. package/dist/tools/builtins/skill.d.ts +14 -0
  778. package/dist/tools/builtins/skill.d.ts.map +1 -0
  779. package/dist/tools/builtins/skill.js +120 -0
  780. package/dist/tools/builtins/skill.js.map +1 -0
  781. package/dist/tools/builtins/web-guidance.d.ts +31 -0
  782. package/dist/tools/builtins/web-guidance.d.ts.map +1 -0
  783. package/dist/tools/builtins/web-guidance.js +42 -0
  784. package/dist/tools/builtins/web-guidance.js.map +1 -0
  785. package/dist/tools/builtins/web.d.ts +10 -0
  786. package/dist/tools/builtins/web.d.ts.map +1 -0
  787. package/dist/tools/builtins/web.js +137 -0
  788. package/dist/tools/builtins/web.js.map +1 -0
  789. package/dist/tools/builtins/write-file.d.ts.map +1 -1
  790. package/dist/tools/builtins/write-file.js +35 -0
  791. package/dist/tools/builtins/write-file.js.map +1 -1
  792. package/dist/tools/coordinator/agent.d.ts +2 -2
  793. package/dist/tools/coordinator/agent.d.ts.map +1 -1
  794. package/dist/tools/coordinator/index.d.ts +13 -4
  795. package/dist/tools/coordinator/index.d.ts.map +1 -1
  796. package/dist/tools/coordinator/index.js +125 -38
  797. package/dist/tools/coordinator/index.js.map +1 -1
  798. package/dist/tools/coordinator/outcome.d.ts +2 -2
  799. package/dist/tools/coordinator/outcome.d.ts.map +1 -1
  800. package/dist/tools/coordinator/outcome.js +1 -1
  801. package/dist/tools/coordinator/wait-with-idle-bound.d.ts +3 -3
  802. package/dist/tools/coordinator/wait-with-idle-bound.d.ts.map +1 -1
  803. package/dist/tools/coordinator/wait-with-idle-bound.js.map +1 -1
  804. package/dist/tools/defineTool.d.ts +12 -0
  805. package/dist/tools/defineTool.d.ts.map +1 -1
  806. package/dist/tools/defineTool.js +2 -0
  807. package/dist/tools/defineTool.js.map +1 -1
  808. package/dist/tools/env-scrub.d.ts +66 -0
  809. package/dist/tools/env-scrub.d.ts.map +1 -0
  810. package/dist/tools/env-scrub.js +68 -0
  811. package/dist/tools/env-scrub.js.map +1 -0
  812. package/dist/tools/memory/read.d.ts.map +1 -1
  813. package/dist/tools/memory/read.js +5 -1
  814. package/dist/tools/memory/read.js.map +1 -1
  815. package/dist/tools/task/create.d.ts.map +1 -1
  816. package/dist/tools/task/create.js +2 -1
  817. package/dist/tools/task/create.js.map +1 -1
  818. package/dist/tools/task/update.d.ts.map +1 -1
  819. package/dist/tools/task/update.js +7 -3
  820. package/dist/tools/task/update.js.map +1 -1
  821. package/dist/types/acp/index.d.ts +161 -0
  822. package/dist/types/acp/index.d.ts.map +1 -0
  823. package/dist/types/acp/index.js +2 -0
  824. package/dist/types/acp/index.js.map +1 -0
  825. package/dist/types/agent/base.d.ts +62 -5
  826. package/dist/types/agent/base.d.ts.map +1 -1
  827. package/dist/types/agent/delegate.d.ts +102 -0
  828. package/dist/types/agent/delegate.d.ts.map +1 -0
  829. package/dist/types/agent/delegate.js +2 -0
  830. package/dist/types/agent/delegate.js.map +1 -0
  831. package/dist/types/agent/index.d.ts +1 -1
  832. package/dist/types/agent/index.d.ts.map +1 -1
  833. package/dist/types/agent/index.js +1 -1
  834. package/dist/types/agent/index.js.map +1 -1
  835. package/dist/types/agent/manager.d.ts +7 -1
  836. package/dist/types/agent/manager.d.ts.map +1 -1
  837. package/dist/types/agent/reactive.d.ts +24 -3
  838. package/dist/types/agent/reactive.d.ts.map +1 -1
  839. package/dist/types/agent/{gateway.d.ts → scheduler.d.ts} +41 -5
  840. package/dist/types/agent/scheduler.d.ts.map +1 -0
  841. package/dist/types/agent/scheduler.js +2 -0
  842. package/dist/types/agent/scheduler.js.map +1 -0
  843. package/dist/types/agent/supervisor.d.ts +23 -5
  844. package/dist/types/agent/supervisor.d.ts.map +1 -1
  845. package/dist/types/agent/task.d.ts +31 -9
  846. package/dist/types/agent/task.d.ts.map +1 -1
  847. package/dist/types/agent/working-memory.d.ts +1 -1
  848. package/dist/types/authorization/index.d.ts +634 -0
  849. package/dist/types/authorization/index.d.ts.map +1 -0
  850. package/dist/types/authorization/index.js +103 -0
  851. package/dist/types/authorization/index.js.map +1 -0
  852. package/dist/types/bus/index.d.ts +24 -1
  853. package/dist/types/bus/index.d.ts.map +1 -1
  854. package/dist/types/code-navigation/index.d.ts +112 -0
  855. package/dist/types/code-navigation/index.d.ts.map +1 -0
  856. package/dist/types/code-navigation/index.js +17 -0
  857. package/dist/types/code-navigation/index.js.map +1 -0
  858. package/dist/types/command/index.d.ts +74 -0
  859. package/dist/types/command/index.d.ts.map +1 -0
  860. package/dist/types/command/index.js +18 -0
  861. package/dist/types/command/index.js.map +1 -0
  862. package/dist/types/common/index.d.ts +19 -2
  863. package/dist/types/common/index.d.ts.map +1 -1
  864. package/dist/types/common/index.js.map +1 -1
  865. package/dist/types/connector/mcp.d.ts +8 -0
  866. package/dist/types/connector/mcp.d.ts.map +1 -1
  867. package/dist/types/guardrail/index.d.ts +74 -1
  868. package/dist/types/guardrail/index.d.ts.map +1 -1
  869. package/dist/types/hitl/policy.d.ts +79 -0
  870. package/dist/types/hitl/policy.d.ts.map +1 -0
  871. package/dist/types/hitl/policy.js +2 -0
  872. package/dist/types/hitl/policy.js.map +1 -0
  873. package/dist/types/ids/brand.d.ts +55 -0
  874. package/dist/types/ids/brand.d.ts.map +1 -0
  875. package/dist/types/ids/brand.js +45 -0
  876. package/dist/types/ids/brand.js.map +1 -0
  877. package/dist/types/ids/index.d.ts +98 -39
  878. package/dist/types/ids/index.d.ts.map +1 -1
  879. package/dist/types/ids/index.js +5 -1
  880. package/dist/types/ids/index.js.map +1 -1
  881. package/dist/types/message/index.d.ts +24 -1
  882. package/dist/types/message/index.d.ts.map +1 -1
  883. package/dist/types/message/index.js.map +1 -1
  884. package/dist/types/plugin/index.d.ts +2 -2
  885. package/dist/types/project/entity.d.ts +22 -2
  886. package/dist/types/project/entity.d.ts.map +1 -1
  887. package/dist/types/provider/interface.d.ts +43 -2
  888. package/dist/types/provider/interface.d.ts.map +1 -1
  889. package/dist/types/provider/model.d.ts +16 -2
  890. package/dist/types/provider/model.d.ts.map +1 -1
  891. package/dist/types/run/audit.d.ts +150 -0
  892. package/dist/types/run/audit.d.ts.map +1 -0
  893. package/dist/types/run/audit.js +39 -0
  894. package/dist/types/run/audit.js.map +1 -0
  895. package/dist/types/run/cancel-cause.d.ts +49 -0
  896. package/dist/types/run/cancel-cause.d.ts.map +1 -0
  897. package/dist/types/run/cancel-cause.js +39 -0
  898. package/dist/types/run/cancel-cause.js.map +1 -0
  899. package/dist/types/run/checkpoint-store.d.ts +29 -11
  900. package/dist/types/run/checkpoint-store.d.ts.map +1 -1
  901. package/dist/types/run/config.d.ts +24 -4
  902. package/dist/types/run/config.d.ts.map +1 -1
  903. package/dist/types/run/derive-status.d.ts +3 -3
  904. package/dist/types/run/derive-status.d.ts.map +1 -1
  905. package/dist/types/run/derive-status.js +1 -1
  906. package/dist/types/run/entity.d.ts +2 -3
  907. package/dist/types/run/entity.d.ts.map +1 -1
  908. package/dist/types/run/event-cursor.d.ts +3 -3
  909. package/dist/types/run/event-cursor.d.ts.map +1 -1
  910. package/dist/types/run/events.d.ts +159 -4
  911. package/dist/types/run/events.d.ts.map +1 -1
  912. package/dist/types/run/events.js.map +1 -1
  913. package/dist/types/run/index.d.ts +2 -0
  914. package/dist/types/run/index.d.ts.map +1 -1
  915. package/dist/types/run/index.js +2 -0
  916. package/dist/types/run/index.js.map +1 -1
  917. package/dist/types/run/metadata.d.ts +2 -2
  918. package/dist/types/run/metadata.d.ts.map +1 -1
  919. package/dist/types/run/prepare-step.d.ts +29 -0
  920. package/dist/types/run/prepare-step.d.ts.map +1 -1
  921. package/dist/types/run/state.d.ts +33 -10
  922. package/dist/types/run/state.d.ts.map +1 -1
  923. package/dist/types/run/state.js +60 -3
  924. package/dist/types/run/state.js.map +1 -1
  925. package/dist/types/run/stop-reason.d.ts +9 -0
  926. package/dist/types/run/stop-reason.d.ts.map +1 -1
  927. package/dist/types/run/store.d.ts +38 -0
  928. package/dist/types/run/store.d.ts.map +1 -1
  929. package/dist/types/sandbox/index.d.ts +38 -0
  930. package/dist/types/sandbox/index.d.ts.map +1 -1
  931. package/dist/types/sandbox/index.js +21 -0
  932. package/dist/types/sandbox/index.js.map +1 -1
  933. package/dist/types/session/actor.d.ts +2 -2
  934. package/dist/types/session/actor.d.ts.map +1 -1
  935. package/dist/types/session/entity.d.ts +9 -7
  936. package/dist/types/session/entity.d.ts.map +1 -1
  937. package/dist/types/session/ids.d.ts +3 -1
  938. package/dist/types/session/ids.d.ts.map +1 -1
  939. package/dist/types/session/index.d.ts +4 -2
  940. package/dist/types/session/index.d.ts.map +1 -1
  941. package/dist/types/session/store.d.ts +51 -22
  942. package/dist/types/session/store.d.ts.map +1 -1
  943. package/dist/types/session/sub-session.d.ts +55 -5
  944. package/dist/types/session/sub-session.d.ts.map +1 -1
  945. package/dist/types/skills/index.d.ts +41 -0
  946. package/dist/types/skills/index.d.ts.map +1 -1
  947. package/dist/types/skills/index.js +17 -1
  948. package/dist/types/skills/index.js.map +1 -1
  949. package/dist/types/tool/index.d.ts +186 -1
  950. package/dist/types/tool/index.d.ts.map +1 -1
  951. package/dist/types/tool/index.js.map +1 -1
  952. package/dist/types/tool/presentation.d.ts +53 -0
  953. package/dist/types/tool/presentation.d.ts.map +1 -0
  954. package/dist/types/tool/presentation.js +2 -0
  955. package/dist/types/tool/presentation.js.map +1 -0
  956. package/dist/types/{thread → topic}/entity.d.ts +34 -26
  957. package/dist/types/topic/entity.d.ts.map +1 -0
  958. package/dist/types/{thread → topic}/entity.js.map +1 -1
  959. package/dist/types/topic/index.d.ts +5 -0
  960. package/dist/types/topic/index.d.ts.map +1 -0
  961. package/dist/types/topic/index.js +11 -0
  962. package/dist/types/topic/index.js.map +1 -0
  963. package/dist/types/topic/objective.d.ts +86 -0
  964. package/dist/types/topic/objective.d.ts.map +1 -0
  965. package/dist/types/topic/objective.js +10 -0
  966. package/dist/types/topic/objective.js.map +1 -0
  967. package/dist/types/topic/state.d.ts +56 -0
  968. package/dist/types/topic/state.d.ts.map +1 -0
  969. package/dist/types/topic/state.js +10 -0
  970. package/dist/types/topic/state.js.map +1 -0
  971. package/dist/types/topic/store.d.ts +95 -0
  972. package/dist/types/topic/store.d.ts.map +1 -0
  973. package/dist/types/topic/store.js +29 -0
  974. package/dist/types/topic/store.js.map +1 -0
  975. package/dist/types/workspace/ref.d.ts +7 -0
  976. package/dist/types/workspace/ref.d.ts.map +1 -1
  977. package/dist/utils/abort.d.ts.map +1 -1
  978. package/dist/utils/abort.js +13 -1
  979. package/dist/utils/abort.js.map +1 -1
  980. package/dist/utils/hash.d.ts +10 -0
  981. package/dist/utils/hash.d.ts.map +1 -1
  982. package/dist/utils/hash.js +15 -0
  983. package/dist/utils/hash.js.map +1 -1
  984. package/dist/utils/id.d.ts +90 -2
  985. package/dist/utils/id.d.ts.map +1 -1
  986. package/dist/utils/id.js +113 -5
  987. package/dist/utils/id.js.map +1 -1
  988. package/dist/utils/log/attributes.d.ts +17 -0
  989. package/dist/utils/log/attributes.d.ts.map +1 -0
  990. package/dist/utils/log/attributes.js +2 -0
  991. package/dist/utils/log/attributes.js.map +1 -0
  992. package/dist/utils/log/caps.d.ts +27 -0
  993. package/dist/utils/log/caps.d.ts.map +1 -0
  994. package/dist/utils/log/caps.js +107 -0
  995. package/dist/utils/log/caps.js.map +1 -0
  996. package/dist/utils/log/create-logger.d.ts +28 -0
  997. package/dist/utils/log/create-logger.d.ts.map +1 -0
  998. package/dist/utils/log/create-logger.js +168 -0
  999. package/dist/utils/log/create-logger.js.map +1 -0
  1000. package/dist/utils/log/exception.d.ts +11 -0
  1001. package/dist/utils/log/exception.d.ts.map +1 -0
  1002. package/dist/utils/log/exception.js +108 -0
  1003. package/dist/utils/log/exception.js.map +1 -0
  1004. package/dist/utils/log/index.d.ts +7 -0
  1005. package/dist/utils/log/index.d.ts.map +1 -0
  1006. package/dist/utils/log/index.js +15 -0
  1007. package/dist/utils/log/index.js.map +1 -0
  1008. package/dist/utils/log/process-sink.d.ts +28 -0
  1009. package/dist/utils/log/process-sink.d.ts.map +1 -0
  1010. package/dist/utils/log/process-sink.js +56 -0
  1011. package/dist/utils/log/process-sink.js.map +1 -0
  1012. package/dist/utils/log/redact.d.ts +3 -0
  1013. package/dist/utils/log/redact.d.ts.map +1 -0
  1014. package/dist/utils/log/redact.js +71 -0
  1015. package/dist/utils/log/redact.js.map +1 -0
  1016. package/dist/utils/log/sinks.d.ts +43 -0
  1017. package/dist/utils/log/sinks.d.ts.map +1 -0
  1018. package/dist/utils/log/sinks.js +184 -0
  1019. package/dist/utils/log/sinks.js.map +1 -0
  1020. package/dist/utils/log/templates.d.ts +63 -0
  1021. package/dist/utils/log/templates.d.ts.map +1 -0
  1022. package/dist/utils/log/templates.js +119 -0
  1023. package/dist/utils/log/templates.js.map +1 -0
  1024. package/dist/utils/log/types.d.ts +183 -0
  1025. package/dist/utils/log/types.d.ts.map +1 -0
  1026. package/dist/utils/log/types.js +55 -0
  1027. package/dist/utils/log/types.js.map +1 -0
  1028. package/dist/utils/logger.d.ts +44 -0
  1029. package/dist/utils/logger.d.ts.map +1 -1
  1030. package/dist/utils/logger.js +102 -2
  1031. package/dist/utils/logger.js.map +1 -1
  1032. package/dist/utils/renamed-field.d.ts +19 -0
  1033. package/dist/utils/renamed-field.d.ts.map +1 -0
  1034. package/dist/utils/renamed-field.js +29 -0
  1035. package/dist/utils/renamed-field.js.map +1 -0
  1036. package/dist/vault/CredentialProvider.d.ts +89 -0
  1037. package/dist/vault/CredentialProvider.d.ts.map +1 -0
  1038. package/dist/vault/CredentialProvider.js +64 -0
  1039. package/dist/vault/CredentialProvider.js.map +1 -0
  1040. package/dist/vault/InMemoryCredentialVault.d.ts +2 -1
  1041. package/dist/vault/InMemoryCredentialVault.d.ts.map +1 -1
  1042. package/dist/vault/InMemoryCredentialVault.js +15 -5
  1043. package/dist/vault/InMemoryCredentialVault.js.map +1 -1
  1044. package/dist/vault/index.d.ts +3 -0
  1045. package/dist/vault/index.d.ts.map +1 -1
  1046. package/dist/vault/index.js +5 -0
  1047. package/dist/vault/index.js.map +1 -1
  1048. package/dist/vault/instrumentation.d.ts +18 -2
  1049. package/dist/vault/instrumentation.d.ts.map +1 -1
  1050. package/dist/vault/instrumentation.js +47 -0
  1051. package/dist/vault/instrumentation.js.map +1 -1
  1052. package/package.json +4 -4
  1053. package/src/advisory/executor.ts +14 -12
  1054. package/src/advisory/registry.ts +2 -2
  1055. package/src/agents/AGENTS.md +91 -0
  1056. package/src/agents/AbstractAgent.ts +67 -14
  1057. package/src/agents/PipelineAgent.ts +46 -12
  1058. package/src/agents/ReactiveAgent.ts +27 -13
  1059. package/src/agents/RouterAgent.ts +33 -21
  1060. package/src/agents/SupervisorAgent.ts +51 -26
  1061. package/src/agents/handle.ts +149 -0
  1062. package/src/agents/runAgent.ts +14 -7
  1063. package/src/{verification → authorization}/gate.ts +39 -32
  1064. package/src/authorization/index.ts +26 -0
  1065. package/src/authorization/permission-presets.ts +215 -0
  1066. package/src/{verification → authorization}/presets.ts +15 -3
  1067. package/src/{verification → authorization}/rules.ts +16 -3
  1068. package/src/bridge/a2a/client.ts +369 -0
  1069. package/src/bridge/a2a/mapper.ts +17 -0
  1070. package/src/bridge/acp/filesystem.ts +63 -0
  1071. package/src/bridge/acp/index.ts +11 -0
  1072. package/src/bridge/acp/permission.ts +71 -0
  1073. package/src/bridge/acp/server.ts +500 -0
  1074. package/src/bridge/acp/update.ts +109 -0
  1075. package/src/bridge/mcp/connector/adapter.ts +8 -4
  1076. package/src/bridge/sse/mapper.ts +30 -0
  1077. package/src/bus/breaker.ts +15 -10
  1078. package/src/bus/index.ts +10 -8
  1079. package/src/bus/lock.ts +36 -19
  1080. package/src/bus/ownership.ts +17 -9
  1081. package/src/compaction/context-window.ts +23 -1
  1082. package/src/compaction/index.ts +6 -0
  1083. package/src/compaction/manual.ts +177 -0
  1084. package/src/compaction/plan.ts +226 -0
  1085. package/src/compaction/summary.ts +31 -0
  1086. package/src/compaction/verifier.ts +2 -2
  1087. package/src/config/registry.ts +208 -0
  1088. package/src/config/runtime.ts +27 -0
  1089. package/src/connector/BaseConnector.ts +8 -3
  1090. package/src/connector/builtins/http.ts +12 -2
  1091. package/src/connector/builtins/webhook.ts +6 -2
  1092. package/src/connector/index.ts +45 -29
  1093. package/src/connector/mcp/adapter.ts +51 -1
  1094. package/src/connector/mcp/client.ts +32 -20
  1095. package/src/connector/mcp/discovery.ts +31 -20
  1096. package/src/connector/mcp/http-sse.ts +12 -6
  1097. package/src/connector/mcp/index.ts +8 -7
  1098. package/src/connector/mcp/reconnect.ts +194 -0
  1099. package/src/connector/mcp/server/index.ts +32 -0
  1100. package/src/connector/mcp/{server-stdio.ts → server/server-stdio.ts} +5 -4
  1101. package/src/connector/mcp/{server.ts → server/server.ts} +17 -11
  1102. package/src/connector/mcp/stdio.ts +18 -9
  1103. package/src/connector/mcp/streamable-http.ts +8 -4
  1104. package/src/{bridge/tools/connector → connector/tools}/adapter.ts +5 -5
  1105. package/src/{bridge/tools/connector → connector/tools}/definitions.ts +4 -4
  1106. package/src/{bridge/tools/connector → connector/tools}/router.ts +17 -9
  1107. package/src/connector/web/guarded-fetch.ts +288 -0
  1108. package/src/connector/web/index.ts +17 -0
  1109. package/src/connector/web/types.ts +99 -0
  1110. package/src/constants/acp/index.ts +104 -0
  1111. package/src/constants/credential-env-keys.ts +63 -0
  1112. package/src/constants/index.ts +3 -1
  1113. package/src/constants/secret-patterns.ts +102 -0
  1114. package/src/constants/telemetry/index.ts +98 -0
  1115. package/src/contracts/api.ts +11 -0
  1116. package/src/deprecated-aliases.ts +86 -0
  1117. package/src/eval/judge.ts +2 -2
  1118. package/src/execution/base.ts +18 -7
  1119. package/src/execution/code-runtime/types.ts +116 -0
  1120. package/src/execution/code-runtime/worker.ts +266 -0
  1121. package/src/{connector/execution → execution}/factory.ts +3 -3
  1122. package/src/{connector/execution → execution}/hybrid.ts +13 -7
  1123. package/src/execution/index.ts +24 -0
  1124. package/src/execution/local.ts +4 -2
  1125. package/src/{connector/execution → execution}/remote.ts +15 -8
  1126. package/src/index.ts +17 -0
  1127. package/src/invariants/index.ts +201 -0
  1128. package/src/manager/agent/lifecycle.ts +172 -58
  1129. package/src/manager/connector/environment.ts +22 -11
  1130. package/src/manager/connector/lifecycle.ts +30 -11
  1131. package/src/manager/connector/tenant.ts +33 -14
  1132. package/src/manager/index.ts +16 -2
  1133. package/src/manager/project/lifecycle.ts +1 -1
  1134. package/src/manager/run/emergency.ts +9 -7
  1135. package/src/manager/run/persistence.ts +110 -8
  1136. package/src/manager/topic/lifecycle.ts +235 -0
  1137. package/src/manager/topic/objective.ts +203 -0
  1138. package/src/persona/assembler.ts +14 -3
  1139. package/src/plugin/lifecycle.ts +156 -20
  1140. package/src/plugin/loader.ts +67 -16
  1141. package/src/probe/index.ts +1 -0
  1142. package/src/probe/registry.ts +41 -5
  1143. package/src/process/kill-tree.ts +52 -0
  1144. package/src/prompt/contributions.ts +173 -0
  1145. package/src/prompt/index.ts +15 -0
  1146. package/src/provider/attribution.ts +57 -0
  1147. package/src/provider/{collect.ts → collect-chat-completion.ts} +4 -2
  1148. package/src/provider/conformance.ts +189 -0
  1149. package/src/provider/errors.ts +27 -12
  1150. package/src/provider/fallback.ts +32 -10
  1151. package/src/provider/idle-timeout.ts +112 -0
  1152. package/src/provider/instrumentation.ts +4 -2
  1153. package/src/provider/retry.ts +63 -21
  1154. package/src/public-runtime.ts +378 -14
  1155. package/src/public-tools.ts +41 -1
  1156. package/src/public-types.ts +101 -4
  1157. package/src/rag/rag-tool.ts +4 -2
  1158. package/src/read-model/index.ts +14 -0
  1159. package/src/read-model/registry.ts +152 -0
  1160. package/src/read-model/run-status.ts +127 -0
  1161. package/src/registry/{Registry.ts → BaseRegistry.ts} +1 -1
  1162. package/src/registry/ManagedRegistry.ts +26 -9
  1163. package/src/registry/command/index-exports.ts +4 -0
  1164. package/src/registry/command/index.ts +105 -0
  1165. package/src/registry/command/kernel-commands.ts +110 -0
  1166. package/src/registry/connector/scoped.ts +6 -5
  1167. package/src/registry/index.ts +7 -1
  1168. package/src/registry/tool/execute.ts +52 -13
  1169. package/src/registry/tool/presentation.ts +116 -0
  1170. package/src/registry/tool/screen.ts +132 -0
  1171. package/src/run/drain.ts +13 -3
  1172. package/src/run/reporter.ts +208 -153
  1173. package/src/run-query/index.ts +108 -0
  1174. package/src/runtime/bidi/session.ts +7 -2
  1175. package/src/runtime/decision/fallback.ts +6 -3
  1176. package/src/runtime/decision/parser.ts +10 -9
  1177. package/src/runtime/jobs/registry.ts +346 -0
  1178. package/src/runtime/query/approval-policy.ts +78 -0
  1179. package/src/runtime/query/checkpoint.ts +6 -6
  1180. package/src/runtime/query/context.ts +120 -30
  1181. package/src/runtime/query/events.ts +19 -11
  1182. package/src/runtime/query/executor.ts +287 -66
  1183. package/src/runtime/query/guardrail-presets.ts +61 -14
  1184. package/src/runtime/query/guardrails.ts +16 -12
  1185. package/src/runtime/query/index.ts +579 -96
  1186. package/src/runtime/query/iteration/index.ts +269 -87
  1187. package/src/runtime/query/iteration/phases/advisory.ts +17 -16
  1188. package/src/runtime/query/iteration/phases/compaction.ts +235 -187
  1189. package/src/runtime/query/iteration/phases/context.ts +82 -21
  1190. package/src/runtime/query/iteration/phases/tool-review.ts +28 -9
  1191. package/src/runtime/query/iteration/phases/working-memory.ts +3 -2
  1192. package/src/runtime/query/iteration/stream-turn.ts +14 -14
  1193. package/src/runtime/query/{context-cache.ts → prompt-cache.ts} +23 -3
  1194. package/src/runtime/query/prompt.ts +104 -4
  1195. package/src/runtime/query/repeat-call.ts +130 -0
  1196. package/src/runtime/query/replay/mutate.ts +6 -0
  1197. package/src/runtime/query/result.ts +47 -10
  1198. package/src/runtime/query/resume-pending.ts +19 -17
  1199. package/src/runtime/query/resume-run.ts +2 -2
  1200. package/src/runtime/query/run-state.ts +5 -5
  1201. package/src/runtime/query/tool-grants.ts +1 -1
  1202. package/src/runtime/query/tool-output-budget.ts +36 -3
  1203. package/src/runtime/query/tool-pause.ts +2 -1
  1204. package/src/runtime/query/tooling.ts +17 -2
  1205. package/src/sandbox/provider/local.ts +94 -21
  1206. package/src/sandbox/terminal.ts +197 -0
  1207. package/src/{gateway → scheduler}/completion-inbox.ts +20 -10
  1208. package/src/scheduler/delegating.ts +297 -0
  1209. package/src/{gateway → scheduler}/local.ts +24 -15
  1210. package/src/session/actor-scope.ts +121 -0
  1211. package/src/session/errors.ts +30 -8
  1212. package/src/session/handoff/assignment.ts +5 -5
  1213. package/src/session/handoff/broadcast.ts +9 -9
  1214. package/src/session/handoff/single.ts +8 -8
  1215. package/src/session/migration/filesystem.ts +46 -2
  1216. package/src/session/migration/id-prefix.ts +60 -22
  1217. package/src/session/migration/index.ts +5 -0
  1218. package/src/session/migration/marker.ts +19 -4
  1219. package/src/session/retention/archive.ts +32 -12
  1220. package/src/session/workspace/git-worktree.ts +17 -8
  1221. package/src/skills/loader.ts +39 -9
  1222. package/src/skills/registry.ts +177 -20
  1223. package/src/store/attachment/index.ts +182 -0
  1224. package/src/store/config/index.ts +74 -0
  1225. package/src/store/feedback/conformance.ts +193 -0
  1226. package/src/store/feedback/disk.ts +184 -0
  1227. package/src/store/feedback/index.ts +13 -0
  1228. package/src/store/feedback/memory.ts +0 -0
  1229. package/src/store/feedback/types.ts +107 -0
  1230. package/src/store/index.ts +5 -0
  1231. package/src/store/kv/record-store.ts +91 -0
  1232. package/src/store/memory/disk.ts +35 -32
  1233. package/src/store/run/checkpoint-disk.ts +27 -6
  1234. package/src/store/run/checkpoint-memory.ts +8 -8
  1235. package/src/store/run/claim-disk.ts +58 -13
  1236. package/src/store/run/conformance.ts +11 -10
  1237. package/src/store/run/disk.ts +77 -5
  1238. package/src/store/run/listing.ts +6 -6
  1239. package/src/store/run/memory.ts +24 -1
  1240. package/src/store/session/canonical-path.ts +45 -0
  1241. package/src/store/session/disk.ts +216 -191
  1242. package/src/store/session/memory.ts +43 -5
  1243. package/src/store/task/disk.ts +77 -67
  1244. package/src/store/topic/index.ts +33 -0
  1245. package/src/store/topic/memory.ts +111 -0
  1246. package/src/store/topic/objective.ts +290 -0
  1247. package/src/store/topic/state.ts +204 -0
  1248. package/src/streaming/coalesce.ts +19 -5
  1249. package/src/telemetry/runtime-accessors.ts +45 -1
  1250. package/src/test-support/ids.ts +117 -0
  1251. package/src/testing.ts +40 -0
  1252. package/src/tools/builtins/bash.ts +82 -3
  1253. package/src/tools/builtins/edit.ts +36 -0
  1254. package/src/tools/builtins/index.ts +29 -1
  1255. package/src/tools/builtins/job.ts +133 -0
  1256. package/src/tools/builtins/lsp.ts +214 -0
  1257. package/src/tools/builtins/run-code.ts +154 -0
  1258. package/src/tools/builtins/skill.ts +134 -0
  1259. package/src/tools/builtins/web-guidance.ts +46 -0
  1260. package/src/tools/builtins/web.ts +156 -0
  1261. package/src/tools/builtins/write-file.ts +37 -1
  1262. package/src/tools/coordinator/agent.ts +2 -2
  1263. package/src/tools/coordinator/index.ts +144 -40
  1264. package/src/tools/coordinator/outcome.ts +2 -2
  1265. package/src/tools/coordinator/wait-with-idle-bound.ts +3 -3
  1266. package/src/tools/defineTool.ts +14 -0
  1267. package/src/tools/env-scrub.ts +91 -0
  1268. package/src/tools/memory/read.ts +5 -2
  1269. package/src/tools/task/create.ts +2 -1
  1270. package/src/tools/task/update.ts +7 -4
  1271. package/src/types/acp/index.ts +163 -0
  1272. package/src/types/agent/base.ts +67 -5
  1273. package/src/types/agent/delegate.ts +110 -0
  1274. package/src/types/agent/index.ts +1 -1
  1275. package/src/types/agent/manager.ts +7 -1
  1276. package/src/types/agent/reactive.ts +27 -3
  1277. package/src/types/agent/{gateway.ts → scheduler.ts} +41 -4
  1278. package/src/types/agent/supervisor.ts +26 -5
  1279. package/src/types/agent/task.ts +31 -9
  1280. package/src/types/agent/working-memory.ts +1 -1
  1281. package/src/types/{verification → authorization}/index.ts +79 -10
  1282. package/src/types/bus/index.ts +30 -1
  1283. package/src/types/code-navigation/index.ts +99 -0
  1284. package/src/types/command/index.ts +68 -0
  1285. package/src/types/common/index.ts +26 -2
  1286. package/src/types/connector/mcp.ts +8 -0
  1287. package/src/types/guardrail/index.ts +72 -1
  1288. package/src/types/hitl/policy.ts +83 -0
  1289. package/src/types/ids/brand.ts +58 -0
  1290. package/src/types/ids/index.ts +109 -42
  1291. package/src/types/message/index.ts +25 -1
  1292. package/src/types/project/entity.ts +22 -2
  1293. package/src/types/provider/interface.ts +45 -2
  1294. package/src/types/provider/model.ts +16 -2
  1295. package/src/types/run/audit.ts +164 -0
  1296. package/src/types/run/cancel-cause.ts +60 -0
  1297. package/src/types/run/checkpoint-store.ts +31 -11
  1298. package/src/types/run/config.ts +25 -4
  1299. package/src/types/run/derive-status.ts +3 -3
  1300. package/src/types/run/entity.ts +2 -4
  1301. package/src/types/run/event-cursor.ts +3 -3
  1302. package/src/types/run/events.ts +165 -6
  1303. package/src/types/run/index.ts +2 -0
  1304. package/src/types/run/metadata.ts +2 -2
  1305. package/src/types/run/prepare-step.ts +33 -0
  1306. package/src/types/run/state.ts +78 -11
  1307. package/src/types/run/stop-reason.ts +9 -0
  1308. package/src/types/run/store.ts +40 -0
  1309. package/src/types/sandbox/index.ts +37 -0
  1310. package/src/types/session/actor.ts +10 -2
  1311. package/src/types/session/entity.ts +9 -7
  1312. package/src/types/session/ids.ts +2 -0
  1313. package/src/types/session/index.ts +2 -0
  1314. package/src/types/session/store.ts +53 -22
  1315. package/src/types/session/sub-session.ts +50 -9
  1316. package/src/types/skills/index.ts +50 -0
  1317. package/src/types/tool/index.ts +171 -1
  1318. package/src/types/tool/presentation.ts +48 -0
  1319. package/src/types/{thread → topic}/entity.ts +34 -26
  1320. package/src/types/topic/index.ts +23 -0
  1321. package/src/types/topic/objective.ts +93 -0
  1322. package/src/types/topic/state.ts +60 -0
  1323. package/src/types/topic/store.ts +101 -0
  1324. package/src/types/workspace/ref.ts +7 -0
  1325. package/src/utils/abort.ts +16 -1
  1326. package/src/utils/hash.ts +16 -0
  1327. package/src/utils/id.ts +172 -12
  1328. package/src/utils/log/attributes.ts +47 -0
  1329. package/src/utils/log/caps.ts +118 -0
  1330. package/src/utils/log/create-logger.ts +198 -0
  1331. package/src/utils/log/exception.ts +124 -0
  1332. package/src/utils/log/index.ts +24 -0
  1333. package/src/utils/log/process-sink.ts +76 -0
  1334. package/src/utils/log/redact.ts +77 -0
  1335. package/src/utils/log/sinks.ts +205 -0
  1336. package/src/utils/log/templates.ts +161 -0
  1337. package/src/utils/log/types.ts +195 -0
  1338. package/src/utils/logger.ts +121 -2
  1339. package/src/utils/renamed-field.ts +35 -0
  1340. package/src/vault/CredentialProvider.ts +147 -0
  1341. package/src/vault/InMemoryCredentialVault.ts +16 -5
  1342. package/src/vault/index.ts +16 -0
  1343. package/src/vault/instrumentation.ts +63 -2
  1344. package/dist/bridge/tools/connector/adapter.d.ts.map +0 -1
  1345. package/dist/bridge/tools/connector/adapter.js.map +0 -1
  1346. package/dist/bridge/tools/connector/definitions.d.ts.map +0 -1
  1347. package/dist/bridge/tools/connector/definitions.js.map +0 -1
  1348. package/dist/bridge/tools/connector/index.d.ts.map +0 -1
  1349. package/dist/bridge/tools/connector/index.js.map +0 -1
  1350. package/dist/bridge/tools/connector/router.d.ts.map +0 -1
  1351. package/dist/bridge/tools/connector/router.js.map +0 -1
  1352. package/dist/connector/execution/factory.d.ts.map +0 -1
  1353. package/dist/connector/execution/factory.js.map +0 -1
  1354. package/dist/connector/execution/hybrid.d.ts.map +0 -1
  1355. package/dist/connector/execution/hybrid.js.map +0 -1
  1356. package/dist/connector/execution/index.d.ts +0 -6
  1357. package/dist/connector/execution/index.d.ts.map +0 -1
  1358. package/dist/connector/execution/index.js +0 -4
  1359. package/dist/connector/execution/index.js.map +0 -1
  1360. package/dist/connector/execution/remote.d.ts.map +0 -1
  1361. package/dist/connector/execution/remote.js.map +0 -1
  1362. package/dist/connector/mcp/server-stdio.d.ts.map +0 -1
  1363. package/dist/connector/mcp/server-stdio.js.map +0 -1
  1364. package/dist/connector/mcp/server.d.ts.map +0 -1
  1365. package/dist/connector/mcp/server.js.map +0 -1
  1366. package/dist/constants/verification/index.d.ts.map +0 -1
  1367. package/dist/constants/verification/index.js.map +0 -1
  1368. package/dist/gateway/completion-inbox.d.ts.map +0 -1
  1369. package/dist/gateway/completion-inbox.js.map +0 -1
  1370. package/dist/gateway/local.d.ts.map +0 -1
  1371. package/dist/gateway/local.js.map +0 -1
  1372. package/dist/manager/thread/lifecycle.d.ts +0 -105
  1373. package/dist/manager/thread/lifecycle.d.ts.map +0 -1
  1374. package/dist/manager/thread/lifecycle.js.map +0 -1
  1375. package/dist/provider/collect.d.ts.map +0 -1
  1376. package/dist/provider/collect.js.map +0 -1
  1377. package/dist/registry/Registry.d.ts.map +0 -1
  1378. package/dist/registry/Registry.js.map +0 -1
  1379. package/dist/router/task-router.d.ts.map +0 -1
  1380. package/dist/router/task-router.js.map +0 -1
  1381. package/dist/runtime/query/context-cache.d.ts.map +0 -1
  1382. package/dist/runtime/query/context-cache.js.map +0 -1
  1383. package/dist/store/thread/disk.d.ts +0 -41
  1384. package/dist/store/thread/disk.d.ts.map +0 -1
  1385. package/dist/store/thread/disk.js +0 -238
  1386. package/dist/store/thread/disk.js.map +0 -1
  1387. package/dist/store/thread/index.d.ts +0 -4
  1388. package/dist/store/thread/index.d.ts.map +0 -1
  1389. package/dist/store/thread/index.js +0 -6
  1390. package/dist/store/thread/index.js.map +0 -1
  1391. package/dist/store/thread/memory.d.ts +0 -23
  1392. package/dist/store/thread/memory.d.ts.map +0 -1
  1393. package/dist/store/thread/memory.js +0 -90
  1394. package/dist/store/thread/memory.js.map +0 -1
  1395. package/dist/types/agent/gateway.d.ts.map +0 -1
  1396. package/dist/types/agent/gateway.js +0 -2
  1397. package/dist/types/agent/gateway.js.map +0 -1
  1398. package/dist/types/thread/entity.d.ts.map +0 -1
  1399. package/dist/types/thread/index.d.ts +0 -3
  1400. package/dist/types/thread/index.d.ts.map +0 -1
  1401. package/dist/types/thread/index.js +0 -5
  1402. package/dist/types/thread/index.js.map +0 -1
  1403. package/dist/types/thread/store.d.ts +0 -86
  1404. package/dist/types/thread/store.d.ts.map +0 -1
  1405. package/dist/types/thread/store.js +0 -22
  1406. package/dist/types/thread/store.js.map +0 -1
  1407. package/dist/types/verification/index.d.ts +0 -317
  1408. package/dist/types/verification/index.d.ts.map +0 -1
  1409. package/dist/types/verification/index.js +0 -53
  1410. package/dist/types/verification/index.js.map +0 -1
  1411. package/dist/verification/gate.d.ts.map +0 -1
  1412. package/dist/verification/gate.js.map +0 -1
  1413. package/dist/verification/index.d.ts +0 -4
  1414. package/dist/verification/index.d.ts.map +0 -1
  1415. package/dist/verification/index.js +0 -4
  1416. package/dist/verification/index.js.map +0 -1
  1417. package/dist/verification/presets.d.ts.map +0 -1
  1418. package/dist/verification/presets.js.map +0 -1
  1419. package/dist/verification/rules.d.ts +0 -4
  1420. package/dist/verification/rules.d.ts.map +0 -1
  1421. package/dist/verification/rules.js.map +0 -1
  1422. package/src/connector/execution/index.ts +0 -5
  1423. package/src/manager/thread/lifecycle.ts +0 -217
  1424. package/src/store/thread/disk.ts +0 -272
  1425. package/src/store/thread/index.ts +0 -7
  1426. package/src/store/thread/memory.ts +0 -104
  1427. package/src/types/thread/index.ts +0 -6
  1428. package/src/types/thread/store.ts +0 -92
  1429. package/src/verification/index.ts +0 -3
  1430. /package/dist/{bridge/tools/connector → connector/tools}/index.d.ts +0 -0
  1431. /package/dist/{bridge/tools/connector → connector/tools}/index.js +0 -0
  1432. /package/dist/constants/{verification → authorization}/index.d.ts +0 -0
  1433. /package/dist/constants/{verification → authorization}/index.js +0 -0
  1434. /package/dist/{router → model-router}/task-router.d.ts +0 -0
  1435. /package/dist/{router → model-router}/task-router.js +0 -0
  1436. /package/dist/types/{thread → topic}/entity.js +0 -0
  1437. /package/src/{bridge/tools/connector → connector/tools}/index.ts +0 -0
  1438. /package/src/constants/{verification → authorization}/index.ts +0 -0
  1439. /package/src/{router → model-router}/task-router.ts +0 -0
@@ -0,0 +1,77 @@
1
+ import { type TopicObjectiveStore } from '../../store/topic/objective.js';
2
+ import type { TenantId } from '../../types/ids/index.js';
3
+ import type { ObjectiveAdvanceResult, ObjectiveRoundVerdict, TopicObjective } from '../../types/topic/objective.js';
4
+ /**
5
+ * One round of an objective, from debit to verdict.
6
+ *
7
+ * The store holds the rules and the manager holds the sequence, so a host
8
+ * writes the work and not the bookkeeping. Getting that sequence wrong is
9
+ * how a cap stops capping: run the round first and a crash costs nothing,
10
+ * so an objective failing every round runs forever.
11
+ */
12
+ export interface AdvanceObjectiveParams {
13
+ readonly id: string;
14
+ readonly tenantId: TenantId;
15
+ /**
16
+ * The work. Its return value is the verdict; a throw is `runner_failed`.
17
+ *
18
+ * It receives the record with the round ALREADY debited, so a runner
19
+ * that wants to know which round it is reads the same number the cap
20
+ * will be compared against.
21
+ */
22
+ readonly round: (objective: TopicObjective) => Promise<ObjectiveRoundVerdict>;
23
+ }
24
+ /** Advance one round, or say why it did not. */
25
+ export declare function advanceObjective(store: TopicObjectiveStore, params: AdvanceObjectiveParams): Promise<ObjectiveAdvanceResult>;
26
+ export interface DriveObjectiveParams extends AdvanceObjectiveParams {
27
+ /**
28
+ * Stop after this many rounds in THIS call.
29
+ *
30
+ * Separate from the objective's own `maxRounds`, which is durable and
31
+ * spans every call. This one bounds a single drive so a host can hand
32
+ * back to its caller — an objective with 200 rounds left should not
33
+ * decide how long one HTTP request takes.
34
+ *
35
+ * Omitted, the bound is the objective's OWN remaining rounds rather than
36
+ * no bound at all. See `driveObjective`.
37
+ */
38
+ readonly maxRoundsThisCall?: number;
39
+ /**
40
+ * Checked between rounds, never mid-round.
41
+ *
42
+ * The interrupt a human actually gets: the round in flight finishes and
43
+ * writes its verdict, and the next one does not start. Aborting mid-round
44
+ * would leave a round debited whose work was thrown away, which is the
45
+ * one state the debit-first rule exists to prevent.
46
+ */
47
+ readonly signal?: AbortSignal;
48
+ }
49
+ /** A drive that ran a round and got no round out of it. */
50
+ export declare class ObjectiveNotProgressingError extends Error {
51
+ readonly details: {
52
+ id: string;
53
+ roundsStarted: number;
54
+ };
55
+ constructor(details: {
56
+ id: string;
57
+ roundsStarted: number;
58
+ });
59
+ }
60
+ /**
61
+ * Round after round until the objective stops asking for one.
62
+ *
63
+ * **The default bound is the objective's own remaining rounds, not
64
+ * infinity.** An unbounded default was written here first and a mutation
65
+ * test caught what it costs: break the round debit and this becomes a hot
66
+ * loop that no timeout can interrupt, because with an in-memory store every
67
+ * `await` in it resolves as a microtask and the event loop never reaches a
68
+ * timer. It ran twelve minutes at 100% CPU against a five-second test
69
+ * timeout that could never fire. Deriving the bound from `maxRounds` makes
70
+ * the loop finite by construction, from a number the record already has to
71
+ * carry.
72
+ *
73
+ * The progress check below is the second half of the same lesson: a bound
74
+ * stops the spin, but it stops it silently after a hundred wasted rounds.
75
+ */
76
+ export declare function driveObjective(store: TopicObjectiveStore, params: DriveObjectiveParams): Promise<TopicObjective>;
77
+ //# sourceMappingURL=objective.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objective.d.ts","sourceRoot":"","sources":["../../../src/manager/topic/objective.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAClG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,KAAK,EACX,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,MAAM,gCAAgC,CAAA;AAEvC;;;;;;;GAOG;AAEH,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAA;CAC7E;AAED,gDAAgD;AAChD,wBAAsB,gBAAgB,CACrC,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,sBAAsB,GAC5B,OAAO,CAAC,sBAAsB,CAAC,CAyDjC;AAED,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB;IACnE;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAEnC;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAC7B;AAED,2DAA2D;AAC3D,qBAAa,4BAA6B,SAAQ,KAAK;IACtD,QAAQ,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAA;gBAE3C,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;CAO1D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CACnC,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,oBAAoB,GAC1B,OAAO,CAAC,cAAc,CAAC,CAoDzB"}
@@ -0,0 +1,133 @@
1
+ import { ObjectiveExhaustedError } from '../../store/topic/objective.js';
2
+ /** Advance one round, or say why it did not. */
3
+ export async function advanceObjective(store, params) {
4
+ const current = await store.getObjective(params.id, params.tenantId);
5
+ if (!current)
6
+ throw new Error(`No objective ${params.id}.`);
7
+ if (current.phase !== 'active') {
8
+ // A refusal rather than a throw. "Paused" and "already complete" are
9
+ // ordinary answers to "is there more to do" — a caller polling a set
10
+ // of objectives should not have to catch an exception per finished
11
+ // one to find the running ones.
12
+ return { kind: 'refused', reason: `Objective is ${current.phase}.`, phase: current.phase };
13
+ }
14
+ let debited;
15
+ try {
16
+ debited = await store.beginRound(params.id, params.tenantId, { revision: current.revision });
17
+ }
18
+ catch (error) {
19
+ if (error instanceof ObjectiveExhaustedError) {
20
+ // `beginRound` has already written the `blocked` phase, so this
21
+ // reads the record back rather than describing it — the refusal a
22
+ // caller sees and the record a later reader finds are then the same
23
+ // fact rather than two statements that could disagree.
24
+ const blocked = await store.getObjective(params.id, params.tenantId);
25
+ return {
26
+ kind: 'refused',
27
+ reason: blocked?.blockedReason?.message ?? error.message,
28
+ phase: blocked?.phase ?? 'blocked',
29
+ };
30
+ }
31
+ throw error;
32
+ }
33
+ let verdict;
34
+ try {
35
+ verdict = await params.round(debited);
36
+ }
37
+ catch (error) {
38
+ // Blocked, not lost. A runner that threw has left an objective whose
39
+ // round is spent and whose state would otherwise still say `active`,
40
+ // and the next poll would spend another round the same way.
41
+ const settled = await store.settleRound(params.id, params.tenantId, {
42
+ phase: 'blocked',
43
+ blockedReason: {
44
+ code: 'runner_failed',
45
+ message: error instanceof Error ? error.message : String(error),
46
+ },
47
+ }, { revision: debited.revision });
48
+ return { kind: 'advanced', objective: settled };
49
+ }
50
+ const settled = await store.settleRound(params.id, params.tenantId, verdict, {
51
+ revision: debited.revision,
52
+ });
53
+ return { kind: 'advanced', objective: settled };
54
+ }
55
+ /** A drive that ran a round and got no round out of it. */
56
+ export class ObjectiveNotProgressingError extends Error {
57
+ details;
58
+ constructor(details) {
59
+ super(`Objective ${details.id} ran a round and roundsStarted stayed at ${details.roundsStarted}; refusing to loop.`);
60
+ this.name = 'ObjectiveNotProgressingError';
61
+ this.details = details;
62
+ }
63
+ }
64
+ /**
65
+ * Round after round until the objective stops asking for one.
66
+ *
67
+ * **The default bound is the objective's own remaining rounds, not
68
+ * infinity.** An unbounded default was written here first and a mutation
69
+ * test caught what it costs: break the round debit and this becomes a hot
70
+ * loop that no timeout can interrupt, because with an in-memory store every
71
+ * `await` in it resolves as a microtask and the event loop never reaches a
72
+ * timer. It ran twelve minutes at 100% CPU against a five-second test
73
+ * timeout that could never fire. Deriving the bound from `maxRounds` makes
74
+ * the loop finite by construction, from a number the record already has to
75
+ * carry.
76
+ *
77
+ * The progress check below is the second half of the same lesson: a bound
78
+ * stops the spin, but it stops it silently after a hundred wasted rounds.
79
+ */
80
+ export async function driveObjective(store, params) {
81
+ const start = await store.getObjective(params.id, params.tenantId);
82
+ if (!start)
83
+ throw new Error(`No objective ${params.id}.`);
84
+ const remaining = Math.max(0, start.maxRounds - start.roundsStarted);
85
+ // `remaining + 1`, and the `+ 1` is the point: it is the iteration that
86
+ // asks for the round past the cap and is refused, which is what WRITES
87
+ // the `blocked` record. Stopping at `remaining` would leave an objective
88
+ // out of rounds still reading `active` — a state whose only remaining
89
+ // move is to be blocked, described as if it could still run.
90
+ //
91
+ // The refused iteration costs nothing; `beginRound` turns it away before
92
+ // the round callback is reached.
93
+ //
94
+ // A caller's own budget is the tighter bound when it gives one, and the
95
+ // `Infinity` below never survives the `min` — that is what keeps this
96
+ // finite by construction rather than by the caller remembering.
97
+ const budget = Math.min(params.maxRoundsThisCall ?? Number.POSITIVE_INFINITY, remaining + 1);
98
+ let rounds = 0;
99
+ let lastRoundsStarted = start.roundsStarted;
100
+ while (rounds < budget) {
101
+ if (params.signal?.aborted)
102
+ break;
103
+ const result = await advanceObjective(store, params);
104
+ rounds += 1;
105
+ if (result.kind === 'refused')
106
+ break;
107
+ // A round that did not advance the counter means the debit is broken,
108
+ // and every further iteration would repeat it. Named and thrown rather
109
+ // than left to the budget, so the failure says what it is instead of
110
+ // looking like an objective that quietly ran out.
111
+ if (result.objective.roundsStarted <= lastRoundsStarted) {
112
+ throw new ObjectiveNotProgressingError({
113
+ id: params.id,
114
+ roundsStarted: result.objective.roundsStarted,
115
+ });
116
+ }
117
+ lastRoundsStarted = result.objective.roundsStarted;
118
+ // An early exit, NOT a correctness guard, and it survives mutation for
119
+ // that reason: delete it and the next iteration calls
120
+ // `advanceObjective`, which reads the terminal phase and refuses, and
121
+ // the drive ends in the same state having done one extra store read.
122
+ // The refusal above is what makes stopping correct. This line only
123
+ // makes it cheap — which against the disk store is a real file read
124
+ // per completed drive, so it stays.
125
+ if (result.objective.phase !== 'active')
126
+ break;
127
+ }
128
+ const final = await store.getObjective(params.id, params.tenantId);
129
+ if (!final)
130
+ throw new Error(`No objective ${params.id}.`);
131
+ return final;
132
+ }
133
+ //# sourceMappingURL=objective.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objective.js","sourceRoot":"","sources":["../../../src/manager/topic/objective.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAA4B,MAAM,gCAAgC,CAAA;AA8BlG,gDAAgD;AAChD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,KAA0B,EAC1B,MAA8B;IAE9B,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;IACpE,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,MAAM,CAAC,EAAE,GAAG,CAAC,CAAA;IAE3D,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChC,qEAAqE;QACrE,qEAAqE;QACrE,mEAAmE;QACnE,gCAAgC;QAChC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,OAAO,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAA;IAC3F,CAAC;IAED,IAAI,OAAuB,CAAA;IAC3B,IAAI,CAAC;QACJ,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC7F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,KAAK,YAAY,uBAAuB,EAAE,CAAC;YAC9C,gEAAgE;YAChE,kEAAkE;YAClE,oEAAoE;YACpE,uDAAuD;YACvD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YACpE,OAAO;gBACN,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO;gBACxD,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,SAAS;aAClC,CAAA;QACF,CAAC;QACD,MAAM,KAAK,CAAA;IACZ,CAAC;IAED,IAAI,OAA8B,CAAA;IAClC,IAAI,CAAC;QACJ,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,qEAAqE;QACrE,qEAAqE;QACrE,4DAA4D;QAC5D,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,WAAW,CACtC,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,QAAQ,EACf;YACC,KAAK,EAAE,SAAS;YAChB,aAAa,EAAE;gBACd,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC/D;SACD,EACD,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAC9B,CAAA;QACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;IAChD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE;QAC5E,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC1B,CAAC,CAAA;IACF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;AAChD,CAAC;AA2BD,2DAA2D;AAC3D,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IAC7C,OAAO,CAAuC;IAEvD,YAAY,OAA8C;QACzD,KAAK,CACJ,aAAa,OAAO,CAAC,EAAE,4CAA4C,OAAO,CAAC,aAAa,qBAAqB,CAC7G,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAA;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACvB,CAAC;CACD;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,KAA0B,EAC1B,MAA4B;IAE5B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;IAClE,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,MAAM,CAAC,EAAE,GAAG,CAAC,CAAA;IAEzD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,CAAA;IACpE,wEAAwE;IACxE,uEAAuE;IACvE,yEAAyE;IACzE,sEAAsE;IACtE,6DAA6D;IAC7D,EAAE;IACF,yEAAyE;IACzE,iCAAiC;IACjC,EAAE;IACF,wEAAwE;IACxE,sEAAsE;IACtE,gEAAgE;IAChE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,EAAE,SAAS,GAAG,CAAC,CAAC,CAAA;IAE5F,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,IAAI,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAAA;IAC3C,OAAO,MAAM,GAAG,MAAM,EAAE,CAAC;QACxB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO;YAAE,MAAK;QACjC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACpD,MAAM,IAAI,CAAC,CAAA;QACX,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,MAAK;QAEpC,sEAAsE;QACtE,uEAAuE;QACvE,qEAAqE;QACrE,kDAAkD;QAClD,IAAI,MAAM,CAAC,SAAS,CAAC,aAAa,IAAI,iBAAiB,EAAE,CAAC;YACzD,MAAM,IAAI,4BAA4B,CAAC;gBACtC,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,aAAa;aAC7C,CAAC,CAAA;QACH,CAAC;QACD,iBAAiB,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAA;QAElD,uEAAuE;QACvE,sDAAsD;QACtD,sEAAsE;QACtE,qEAAqE;QACrE,mEAAmE;QACnE,oEAAoE;QACpE,oCAAoC;QACpC,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,KAAK,QAAQ;YAAE,MAAK;IAC/C,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;IAClE,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,MAAM,CAAC,EAAE,GAAG,CAAC,CAAA;IACzD,OAAO,KAAK,CAAA;AACb,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-router.d.ts","sourceRoot":"","sources":["../../src/model-router/task-router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAE1E;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC/B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,YAAY,EAAE,MAAM,GAClB,MAAM,CAYR"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-router.js","sourceRoot":"","sources":["../../src/model-router/task-router.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC/B,QAAkB,EAClB,MAAoC,EACpC,YAAoB;IAEpB,IAAI,CAAC,MAAM;QAAE,OAAO,YAAY,CAAA;IAEhC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;IACjC,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAE7B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAA;QAC/B,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAA;IAC9B,CAAC;IAED,OAAO,YAAY,CAAA;AACpB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { AgentPersona, OutputDiscipline } from '../types/persona/index.js';
2
- import type { Skill } from '../types/skills/index.js';
2
+ import { type Skill } from '../types/skills/index.js';
3
3
  export declare function assembleSystemPrompt(persona: AgentPersona, skills?: Skill[]): string;
4
4
  export declare function renderSkillsSection(skills?: Skill[]): string | null;
5
5
  export declare function renderOutputDiscipline(discipline: OutputDiscipline): string;
@@ -1 +1 @@
1
- {"version":3,"file":"assembler.d.ts","sourceRoot":"","sources":["../../src/persona/assembler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAErD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,CAwCpF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,GAAG,IAAI,CAsCnE;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,gBAAgB,GAAG,MAAM,CA4B3E;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAiB/F;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,GAAG,YAAY,CAE9F"}
1
+ {"version":3,"file":"assembler.d.ts","sourceRoot":"","sources":["../../src/persona/assembler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,EAAE,KAAK,KAAK,EAAiB,MAAM,0BAA0B,CAAA;AAEpE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,CAwCpF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,GAAG,IAAI,CAiDnE;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,gBAAgB,GAAG,MAAM,CA4B3E;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAiB/F;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,GAAG,YAAY,CAE9F"}
@@ -1,3 +1,4 @@
1
+ import { isInvocableBy } from '../types/skills/index.js';
1
2
  export function assembleSystemPrompt(persona, skills) {
2
3
  const sections = [];
3
4
  sections.push(`## Identity\n**${persona.identity.role}**\n\n${persona.identity.description.trim()}`);
@@ -32,7 +33,14 @@ export function assembleSystemPrompt(persona, skills) {
32
33
  export function renderSkillsSection(skills) {
33
34
  if (!skills || skills.length === 0)
34
35
  return null;
35
- const available = skills
36
+ // Only what the MODEL may invoke. An operator-only skill listed here is
37
+ // something the model will read as available and attempt — "collect a
38
+ // support bundle", "rotate the deploy key" — and the attempt is the
39
+ // failure, not the listing.
40
+ const forModel = skills.filter((skill) => isInvocableBy(skill, 'model'));
41
+ if (forModel.length === 0)
42
+ return null;
43
+ const available = forModel
36
44
  .map((s) => {
37
45
  const lines = [
38
46
  '<skill>',
@@ -53,7 +61,11 @@ export function renderSkillsSection(skills) {
53
61
  return lines.join('\n');
54
62
  })
55
63
  .join('\n');
56
- const loadedSkills = skills.filter((s) => s.body);
64
+ // `forModel`, not `skills`: a loaded operator-only skill would otherwise
65
+ // have its whole BODY pasted into the model's prompt while being absent
66
+ // from the manifest above — the worst of both, since the model gets the
67
+ // instructions and no listing that would let it reason about them.
68
+ const loadedSkills = forModel.filter((s) => s.body);
57
69
  const sections = [
58
70
  `## Available Skills\nThe following block is a manifest, not the full skill content. Skill metadata is always visible; SKILL.md bodies are loaded only when the user's task matches the skill description.\n\n<available_skills>\n${available}\n</available_skills>\n\nSkill usage protocol:\n- Plain questions do not require a skill.\n- When a matching skill is already listed under Loaded Skills, apply its loaded instructions.\n- When a matching skill is not loaded and the runtime exposes filesystem or skill-loading tools, read the SKILL.md at its <location> before writing code, creating files, running shell commands for that workflow, or calling mutation tools guided by the skill.\n- Do not claim to have read a SKILL.md until its content is actually present in the prompt or returned by a tool.\n- Tool schemas and runtime permissions remain authoritative; skills provide guidance, not hidden tools.`,
59
71
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"assembler.js","sourceRoot":"","sources":["../../src/persona/assembler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assembler.js","sourceRoot":"","sources":["../../src/persona/assembler.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
+ import type { ConfigRegistry } from '../config/registry.js';
1
2
  import type { MCPToolDiscoveryOptions } from '../connector/mcp/discovery.js';
2
3
  import type { MCPToolPolicy } from '../connector/mcp/policy.js';
3
4
  import type { PluginRegistry } from '../registry/plugin/index.js';
5
+ import type { SkillRegistry } from '../skills/registry.js';
4
6
  import type { PluginId } from '../types/ids/index.js';
5
7
  import type { PluginDefinition, PluginEventListener, PluginHookContext, PluginHookDefinition, PluginHookEvent, PluginHookResult, PluginScope } from '../types/plugin/index.js';
6
8
  import type { RunEvent } from '../types/run/index.js';
@@ -9,8 +11,28 @@ import type { Logger } from '../utils/logger.js';
9
11
  export interface PluginLifecycleManagerConfig {
10
12
  pluginRegistry: PluginRegistry;
11
13
  toolRegistry: ToolRegistryContract;
14
+ /**
15
+ * Where a plugin's declared skills land.
16
+ *
17
+ * Optional, and its absence is enforced rather than tolerated: a
18
+ * manifest that declares skills is REFUSED when this is missing, the
19
+ * same way it was refused before the manifest path existed. Accepting it
20
+ * and dropping the skills would produce a plugin reporting `enabled`
21
+ * that contributes nothing its author declared.
22
+ */
23
+ skillRegistry?: SkillRegistry;
12
24
  log: Logger;
13
25
  hookTimeoutMs?: number;
26
+ /**
27
+ * Where each MCP server's reconnect policy is registered, so an operator
28
+ * can retune it while a run is live.
29
+ *
30
+ * Optional, and its absence is not a degraded mode: without one the
31
+ * supervisor uses its own defaults, which is what it did before this
32
+ * existed. What a registry buys is the ability to change them without
33
+ * restarting the process — see `config/registry.ts`.
34
+ */
35
+ configRegistry?: ConfigRegistry;
14
36
  /**
15
37
  * What each MCP server a plugin brings is allowed to contribute, keyed by
16
38
  * server name. `'*'` covers every server not named explicitly.
@@ -43,6 +65,7 @@ export declare class PluginLifecycleManager {
43
65
  private hookHandlers;
44
66
  private pluginContributions;
45
67
  private hookTimeoutMs;
68
+ private readonly configRegistry;
46
69
  private log;
47
70
  /**
48
71
  * The admission boundary for everything a plugin's MCP servers advertise.
@@ -59,6 +82,7 @@ export declare class PluginLifecycleManager {
59
82
  * reads.
60
83
  */
61
84
  private mcpDiscovery;
85
+ private readonly skillRegistry;
62
86
  constructor(config: PluginLifecycleManagerConfig);
63
87
  /**
64
88
  * Attach a hook without installing a plugin from disk.
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/plugin/lifecycle.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAO/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAEjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EACX,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAGhB,WAAW,EACX,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EAAkB,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAGlF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAQhD,MAAM,WAAW,4BAA4B;IAC5C,cAAc,EAAE,cAAc,CAAA;IAC9B,YAAY,EAAE,oBAAoB,CAAA;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;IAEzD;;;;;;;;;OASG;IACH,cAAc,CAAC,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAA;CACnD;AAED,qBAAa,sBAAsB;IAClC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,YAAY,CAQP;IACb,OAAO,CAAC,mBAAmB,CAAqD;IAChF,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,GAAG,CAAQ;IACnB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,YAAY,CAAkB;gBAE1B,MAAM,EAAE,4BAA4B;IAYhD;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,GAAG,IAAI;IAgBlE,EAAE,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAIvC,GAAG,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAKlC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoCzE,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YAsGjC,eAAe;YAgDf,qBAAqB;IAkC7B,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA4D1C,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB5C,YAAY,CACjB,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,OAAO,CAAC,EACtD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,GAC/C,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAqH9B,OAAO,CAAC,IAAI;CAWZ"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/plugin/lifecycle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAI3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAS/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAE1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EACX,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAGhB,WAAW,EACX,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EAAkB,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAIlF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAoBhD,MAAM,WAAW,4BAA4B;IAC5C,cAAc,EAAE,cAAc,CAAA;IAC9B,YAAY,EAAE,oBAAoB,CAAA;IAClC;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAE/B;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;IAEzD;;;;;;;;;OASG;IACH,cAAc,CAAC,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAA;CACnD;AAED,qBAAa,sBAAsB;IAClC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,YAAY,CAQP;IACb,OAAO,CAAC,mBAAmB,CAAqD;IAChF,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4B;IAC3D,OAAO,CAAC,GAAG,CAAQ;IACnB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,YAAY,CAAkB;IAEtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2B;gBAE7C,MAAM,EAAE,4BAA4B;IAchD;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,GAAG,IAAI;IAgBlE,EAAE,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAIvC,GAAG,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAKlC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqCzE,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YA4IjC,eAAe;YAyEf,qBAAqB;IA4C7B,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA4E1C,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB5C,YAAY,CACjB,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,OAAO,CAAC,EACtD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,GAC/C,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAqH9B,OAAO,CAAC,IAAI;CAWZ"}
@@ -3,10 +3,14 @@ import { mcpToolToToolDefinition } from '../connector/mcp/adapter.js';
3
3
  import { MCPClient } from '../connector/mcp/client.js';
4
4
  import { MCPToolDiscovery } from '../connector/mcp/discovery.js';
5
5
  import { mcpPromptToToolDefinition } from '../connector/mcp/prompt-adapter.js';
6
+ import { MCPReconnectOptionsSchema, MCPReconnectSupervisor } from '../connector/mcp/reconnect.js';
6
7
  import { DEFAULT_HOOK_PRIORITY, HOOK_TIMEOUT_MS, PLUGIN_NAMESPACE_SEPARATOR, } from '../constants/plugin/index.js';
8
+ import { GENAI } from '../constants/telemetry/index.js';
9
+ import { loadSkill } from '../skills/loader.js';
7
10
  import { resolveWithinReal } from '../tools/paths.js';
8
11
  import { toErrorMessage } from '../utils/error.js';
9
12
  import { generatePluginId } from '../utils/id.js';
13
+ import { SCOPE_ATTRIBUTE } from '../utils/log/types.js';
10
14
  import { assertEnableable, loadPluginManifest } from './loader.js';
11
15
  export class PluginLifecycleManager {
12
16
  pluginRegistry;
@@ -15,6 +19,7 @@ export class PluginLifecycleManager {
15
19
  hookHandlers = new Map();
16
20
  pluginContributions = new Map();
17
21
  hookTimeoutMs;
22
+ configRegistry;
18
23
  log;
19
24
  /**
20
25
  * The admission boundary for everything a plugin's MCP servers advertise.
@@ -31,11 +36,14 @@ export class PluginLifecycleManager {
31
36
  * reads.
32
37
  */
33
38
  mcpDiscovery;
39
+ skillRegistry;
34
40
  constructor(config) {
35
41
  this.pluginRegistry = config.pluginRegistry;
36
42
  this.toolRegistry = config.toolRegistry;
43
+ this.skillRegistry = config.skillRegistry;
37
44
  this.hookTimeoutMs = config.hookTimeoutMs ?? HOOK_TIMEOUT_MS;
38
- this.log = config.log.child({ component: 'PluginLifecycleManager' });
45
+ this.configRegistry = config.configRegistry;
46
+ this.log = config.log.child({ [SCOPE_ATTRIBUTE]: 'plugin/lifecycle' });
39
47
  this.mcpDiscovery = new MCPToolDiscovery([], {
40
48
  ...(config.mcpToolPolicies ? { policies: config.mcpToolPolicies } : {}),
41
49
  ...(config.onMCPToolDrift ? { onDrift: config.onMCPToolDrift } : {}),
@@ -100,10 +108,11 @@ export class PluginLifecycleManager {
100
108
  name: manifest.name,
101
109
  scope,
102
110
  });
103
- this.log.info(`Plugin installed: ${manifest.name}`, {
104
- pluginId,
105
- scope,
106
- version: manifest.version,
111
+ this.log.info('Plugin installed', {
112
+ 'namzu.plugin.name': manifest.name,
113
+ 'namzu.plugin.id': pluginId,
114
+ 'namzu.plugin.scope': scope,
115
+ 'namzu.plugin.version': manifest.version,
107
116
  });
108
117
  return definition;
109
118
  }
@@ -121,13 +130,18 @@ export class PluginLifecycleManager {
121
130
  // `installed`: a status that says the plugin is fine while it can
122
131
  // never enable is how the next reader gets misled.
123
132
  try {
124
- assertEnableable(manifest);
133
+ assertEnableable(manifest, { skillsSupported: Boolean(this.skillRegistry) });
125
134
  }
126
135
  catch (err) {
127
136
  this.pluginRegistry.register({ ...plugin, status: 'error' });
128
137
  throw err;
129
138
  }
130
- const contributions = { toolNames: [], mcpClients: [] };
139
+ const contributions = {
140
+ toolNames: [],
141
+ mcpClients: [],
142
+ skillNames: [],
143
+ mcpSupervisors: [],
144
+ };
131
145
  try {
132
146
  // Load tools
133
147
  if (manifest.tools && manifest.tools.length > 0) {
@@ -146,6 +160,30 @@ export class PluginLifecycleManager {
146
160
  }
147
161
  }
148
162
  }
163
+ // Load skills. Namespaced like tools, and for the same reason: two
164
+ // plugins shipping `reconcile` would otherwise overwrite each
165
+ // other in a Map keyed by the frontmatter name, and the loser
166
+ // would vanish with nothing reporting it.
167
+ if (manifest.skills && manifest.skills.length > 0) {
168
+ const skillRegistry = this.skillRegistry;
169
+ if (!skillRegistry) {
170
+ // Unreachable via `enable` — `assertEnableable` above refuses
171
+ // first — and kept because this method is also the one a
172
+ // future caller reaches directly. A silent skip here would
173
+ // be the exact failure that check exists to prevent.
174
+ throw new Error(`Plugin "${manifest.name}" declares skills but no SkillRegistry is configured.`);
175
+ }
176
+ for (const skillPath of manifest.skills) {
177
+ const absolutePath = await resolveWithinReal(plugin.rootDir, skillPath);
178
+ const { skill } = await loadSkill(absolutePath, 'metadata', this.log);
179
+ const namespacedName = manifest.name + PLUGIN_NAMESPACE_SEPARATOR + skill.metadata.name;
180
+ skillRegistry.add(namespacedName, {
181
+ ...skill,
182
+ metadata: { ...skill.metadata, name: namespacedName },
183
+ });
184
+ contributions.skillNames.push(namespacedName);
185
+ }
186
+ }
149
187
  // Load hooks
150
188
  if (manifest.hooks && manifest.hooks.length > 0) {
151
189
  for (const hookPath of manifest.hooks) {
@@ -183,10 +221,16 @@ export class PluginLifecycleManager {
183
221
  pluginId,
184
222
  name: manifest.name,
185
223
  });
186
- this.log.info(`Plugin enabled: ${manifest.name}`, {
187
- pluginId,
188
- toolCount: contributions.toolNames.length,
189
- mcpServerCount: contributions.mcpClients.length,
224
+ this.log.info('Plugin enabled', {
225
+ // Every key namespaced, not just the newest one. Adding a bare
226
+ // `skillCount` beside bare neighbours would have moved the
227
+ // log-standard ratchet the wrong way for the sake of matching
228
+ // prose that is itself the debt.
229
+ 'namzu.plugin.id': pluginId,
230
+ 'namzu.plugin.name': manifest.name,
231
+ 'namzu.plugin.tool_count': contributions.toolNames.length,
232
+ 'namzu.plugin.skill_count': contributions.skillNames.length,
233
+ 'namzu.plugin.mcp_server_count': contributions.mcpClients.length,
190
234
  });
191
235
  }
192
236
  async attachMCPServer(pluginName, config, contributions) {
@@ -198,9 +242,27 @@ export class PluginLifecycleManager {
198
242
  args: config.args ? [...config.args] : undefined,
199
243
  env: config.env ? { ...config.env } : undefined,
200
244
  },
245
+ logger: this.log,
201
246
  });
202
247
  await client.connect();
203
248
  contributions.mcpClients.push(client);
249
+ // Watched from here on. `connect()` above is the only attempt anything
250
+ // made: `transport.onClose` marked the client disconnected and rejected
251
+ // its pending calls, and nothing scheduled another try — so one blip
252
+ // took this plugin's tools out for the life of the process while the
253
+ // plugin went on reporting as enabled.
254
+ // The policy is read from the registry on EVERY attempt, not captured
255
+ // here. That is what makes the seam live: raising `maxAttempts` during
256
+ // an outage takes effect on the retry that is already running, which is
257
+ // the moment an operator actually reaches for it.
258
+ //
259
+ // Namespaced per server rather than globally, because two plugins'
260
+ // servers fail differently — one behind a flaky proxy wants patience,
261
+ // one behind a crash loop wants to give up and say so.
262
+ const policyScope = this.configRegistry?.register(`mcp.${config.name}`, MCPReconnectOptionsSchema);
263
+ const supervisor = new MCPReconnectSupervisor(client, policyScope ? () => policyScope.get() : {});
264
+ supervisor.start();
265
+ contributions.mcpSupervisors.push(supervisor);
204
266
  // Through the boundary, not around it. This used to call
205
267
  // `client.listTools()` and register everything the server answered
206
268
  // with, so the remote side decided what entered the agent's registry
@@ -236,19 +298,30 @@ export class PluginLifecycleManager {
236
298
  }
237
299
  catch (unregErr) {
238
300
  this.log.warn('Rollback: tool unregister failed', {
239
- tool: name,
240
- error: toErrorMessage(unregErr),
301
+ [GENAI.TOOL_NAME]: name,
302
+ 'exception.message': toErrorMessage(unregErr),
241
303
  });
242
304
  }
243
305
  }
306
+ for (const name of contributions.skillNames) {
307
+ // No try/catch: `unregister` is a Map delete and cannot throw.
308
+ // Wrapping it would suggest a failure mode that does not exist.
309
+ this.skillRegistry?.unregister(name);
310
+ }
311
+ // Stop supervising BEFORE disconnecting. The lifecycle event a
312
+ // deliberate disconnect emits is the same one a dropped transport
313
+ // emits, so a still-attached supervisor would reconnect what this
314
+ // rollback just closed.
315
+ for (const supervisor of contributions.mcpSupervisors)
316
+ supervisor.stop();
244
317
  for (const client of contributions.mcpClients) {
245
318
  try {
246
319
  await client.disconnect();
247
320
  }
248
321
  catch (discErr) {
249
322
  this.log.warn('Rollback: MCP disconnect failed', {
250
- clientId: client.id,
251
- error: toErrorMessage(discErr),
323
+ 'namzu.mcp.client_id': client.id,
324
+ 'exception.message': toErrorMessage(discErr),
252
325
  });
253
326
  }
254
327
  }
@@ -270,7 +343,13 @@ export class PluginLifecycleManager {
270
343
  const contributions = this.pluginContributions.get(pluginId) ?? {
271
344
  toolNames: [],
272
345
  mcpClients: [],
346
+ skillNames: [],
347
+ mcpSupervisors: [],
273
348
  };
349
+ // Stop supervising first, for the same reason as the rollback path: the
350
+ // disconnect below emits the event the supervisor treats as a fault.
351
+ for (const supervisor of contributions.mcpSupervisors)
352
+ supervisor.stop();
274
353
  // Disconnect MCP clients first so no new tool calls can reach them mid-teardown.
275
354
  for (const client of contributions.mcpClients) {
276
355
  try {
@@ -278,8 +357,8 @@ export class PluginLifecycleManager {
278
357
  }
279
358
  catch (err) {
280
359
  this.log.warn('MCP client disconnect failed during disable', {
281
- clientId: client.id,
282
- error: toErrorMessage(err),
360
+ 'namzu.mcp.client_id': client.id,
361
+ 'exception.message': toErrorMessage(err),
283
362
  });
284
363
  }
285
364
  }
@@ -287,6 +366,13 @@ export class PluginLifecycleManager {
287
366
  for (const name of contributions.toolNames) {
288
367
  this.toolRegistry.unregister(name);
289
368
  }
369
+ // And its skills. A disabled plugin whose skills stayed registered
370
+ // would keep offering the model instructions from something the
371
+ // runtime has switched off, which is worse than a stale tool: a tool
372
+ // call would at least fail, and a skill is followed silently.
373
+ for (const name of contributions.skillNames) {
374
+ this.skillRegistry?.unregister(name);
375
+ }
290
376
  // Remove hook handlers for this plugin
291
377
  for (const [event, handlers] of this.hookHandlers) {
292
378
  const filtered = handlers.filter((h) => h.pluginId !== pluginId);
@@ -310,7 +396,10 @@ export class PluginLifecycleManager {
310
396
  pluginId,
311
397
  name: plugin.manifest.name,
312
398
  });
313
- this.log.info(`Plugin disabled: ${plugin.manifest.name}`, { pluginId });
399
+ this.log.info('Plugin disabled', {
400
+ 'namzu.plugin.name': plugin.manifest.name,
401
+ 'namzu.plugin.id': pluginId,
402
+ });
314
403
  }
315
404
  async uninstall(pluginId) {
316
405
  const plugin = this.pluginRegistry.getOrThrow(pluginId);
@@ -323,7 +412,10 @@ export class PluginLifecycleManager {
323
412
  pluginId,
324
413
  name: plugin.manifest.name,
325
414
  });
326
- this.log.info(`Plugin uninstalled: ${plugin.manifest.name}`, { pluginId });
415
+ this.log.info('Plugin uninstalled', {
416
+ 'namzu.plugin.name': plugin.manifest.name,
417
+ 'namzu.plugin.id': pluginId,
418
+ });
327
419
  }
328
420
  async executeHooks(event, context, emitRunEvent) {
329
421
  const handlers = this.hookHandlers.get(event);
@@ -437,7 +529,7 @@ export class PluginLifecycleManager {
437
529
  }
438
530
  catch (err) {
439
531
  this.log.error('Plugin event listener error', {
440
- error: toErrorMessage(err),
532
+ 'exception.message': toErrorMessage(err),
441
533
  });
442
534
  }
443
535
  }