@ai-agent-forge/agent-forge 0.85.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 (1654) hide show
  1. package/CHANGELOG.md +5969 -0
  2. package/README.md +629 -0
  3. package/dist/artifacts/artifact-store.d.ts +51 -0
  4. package/dist/artifacts/artifact-store.d.ts.map +1 -0
  5. package/dist/artifacts/artifact-store.js +87 -0
  6. package/dist/artifacts/artifact-store.js.map +1 -0
  7. package/dist/artifacts/paged-read.d.ts +51 -0
  8. package/dist/artifacts/paged-read.d.ts.map +1 -0
  9. package/dist/artifacts/paged-read.js +55 -0
  10. package/dist/artifacts/paged-read.js.map +1 -0
  11. package/dist/bun/cli.d.ts +3 -0
  12. package/dist/bun/cli.d.ts.map +1 -0
  13. package/dist/bun/cli.js +11 -0
  14. package/dist/bun/cli.js.map +1 -0
  15. package/dist/bun/register-bedrock.d.ts +2 -0
  16. package/dist/bun/register-bedrock.d.ts.map +1 -0
  17. package/dist/bun/register-bedrock.js +4 -0
  18. package/dist/bun/register-bedrock.js.map +1 -0
  19. package/dist/bun/restore-sandbox-env.d.ts +17 -0
  20. package/dist/bun/restore-sandbox-env.d.ts.map +1 -0
  21. package/dist/bun/restore-sandbox-env.js +36 -0
  22. package/dist/bun/restore-sandbox-env.js.map +1 -0
  23. package/dist/bundle/.build-manifest.json +3566 -0
  24. package/dist/bundle/chunks/anthropic-messages-RJYU4TCY.js +6 -0
  25. package/dist/bundle/chunks/anthropic.js +75 -0
  26. package/dist/bundle/chunks/azure-openai-responses-LESTCUL7.js +2 -0
  27. package/dist/bundle/chunks/bedrock-converse-stream.js +78 -0
  28. package/dist/bundle/chunks/chunk-3QKHSPQL.js +8 -0
  29. package/dist/bundle/chunks/chunk-4L3WN2XY.js +2 -0
  30. package/dist/bundle/chunks/chunk-4NKZMFSZ.js +1579 -0
  31. package/dist/bundle/chunks/chunk-6CYCI3EJ.js +12 -0
  32. package/dist/bundle/chunks/chunk-6R7UI4IY.js +2 -0
  33. package/dist/bundle/chunks/chunk-7ZC4UXSL.js +2 -0
  34. package/dist/bundle/chunks/chunk-7ZY7IXZD.js +4 -0
  35. package/dist/bundle/chunks/chunk-DRQDKNXA.js +2 -0
  36. package/dist/bundle/chunks/chunk-DTD7JQ7Y.js +42 -0
  37. package/dist/bundle/chunks/chunk-EWXX34QG.js +2 -0
  38. package/dist/bundle/chunks/chunk-GMWCTUPB.js +2 -0
  39. package/dist/bundle/chunks/chunk-JUUC5AZY.js +2 -0
  40. package/dist/bundle/chunks/chunk-KQEGUM34.js +2 -0
  41. package/dist/bundle/chunks/chunk-L2ZPNLYD.js +2 -0
  42. package/dist/bundle/chunks/chunk-MDOTREMR.js +11 -0
  43. package/dist/bundle/chunks/chunk-NUHFSC37.js +25 -0
  44. package/dist/bundle/chunks/chunk-PGXDEOVV.js +2 -0
  45. package/dist/bundle/chunks/chunk-PJACZCIR.js +2 -0
  46. package/dist/bundle/chunks/chunk-PRRNXB7S.js +2 -0
  47. package/dist/bundle/chunks/chunk-SER2HCLE.js +38 -0
  48. package/dist/bundle/chunks/chunk-TEPMHNKQ.js +2 -0
  49. package/dist/bundle/chunks/chunk-V46XUTK3.js +2 -0
  50. package/dist/bundle/chunks/chunk-WGLBM2BP.js +2 -0
  51. package/dist/bundle/chunks/chunk-WW3LMV3F.js +2 -0
  52. package/dist/bundle/chunks/chunk-XDUWOHPL.js +6 -0
  53. package/dist/bundle/chunks/github-copilot.js +2 -0
  54. package/dist/bundle/chunks/google-generative-ai-NZ66X6K7.js +2 -0
  55. package/dist/bundle/chunks/google-vertex-2ZZOFBNQ.js +2 -0
  56. package/dist/bundle/chunks/https-proxy-agent-UDEHOBGS.js +13 -0
  57. package/dist/bundle/chunks/image-resize-worker.js +2 -0
  58. package/dist/bundle/chunks/kimi-coding.js +2 -0
  59. package/dist/bundle/chunks/lib-HGQMNYVT.js +9 -0
  60. package/dist/bundle/chunks/mistral-conversations-B6DZRMEK.js +5 -0
  61. package/dist/bundle/chunks/multipart-parser-SQ6GDJL7.js +3 -0
  62. package/dist/bundle/chunks/node-O3RIBJRH.js +16 -0
  63. package/dist/bundle/chunks/node-TWVVAGPO.js +2 -0
  64. package/dist/bundle/chunks/openai-codex-responses-UFH6O5K6.js +10 -0
  65. package/dist/bundle/chunks/openai-codex.js +75 -0
  66. package/dist/bundle/chunks/openai-completions-A55GHA4O.js +7 -0
  67. package/dist/bundle/chunks/openai-responses-TJLXRAXR.js +2 -0
  68. package/dist/bundle/chunks/openrouter-images-G3GT5BVT.js +2 -0
  69. package/dist/bundle/chunks/openrouter.js +75 -0
  70. package/dist/bundle/chunks/pi-messages-SLF355GF.js +8 -0
  71. package/dist/bundle/chunks/radius.js +75 -0
  72. package/dist/bundle/chunks/src-UK77SYZE.js +4 -0
  73. package/dist/bundle/chunks/xai.js +2 -0
  74. package/dist/bundle/cli.js +3 -0
  75. package/dist/bundle/client.js +2 -0
  76. package/dist/bundle/index.js +8 -0
  77. package/dist/bundle/rpc-entry.js +3 -0
  78. package/dist/capabilities/builtin.d.ts +46 -0
  79. package/dist/capabilities/builtin.d.ts.map +1 -0
  80. package/dist/capabilities/builtin.js +68 -0
  81. package/dist/capabilities/builtin.js.map +1 -0
  82. package/dist/cli/args.d.ts +102 -0
  83. package/dist/cli/args.d.ts.map +1 -0
  84. package/dist/cli/args.js +712 -0
  85. package/dist/cli/args.js.map +1 -0
  86. package/dist/cli/auth-check.d.ts +19 -0
  87. package/dist/cli/auth-check.d.ts.map +1 -0
  88. package/dist/cli/auth-check.js +50 -0
  89. package/dist/cli/auth-check.js.map +1 -0
  90. package/dist/cli/auth-command.d.ts +24 -0
  91. package/dist/cli/auth-command.d.ts.map +1 -0
  92. package/dist/cli/auth-command.js +102 -0
  93. package/dist/cli/auth-command.js.map +1 -0
  94. package/dist/cli/config-selector.d.ts +23 -0
  95. package/dist/cli/config-selector.d.ts.map +1 -0
  96. package/dist/cli/config-selector.js +51 -0
  97. package/dist/cli/config-selector.js.map +1 -0
  98. package/dist/cli/credential-print.d.ts +13 -0
  99. package/dist/cli/credential-print.d.ts.map +1 -0
  100. package/dist/cli/credential-print.js +76 -0
  101. package/dist/cli/credential-print.js.map +1 -0
  102. package/dist/cli/experimental/auth.d.ts +16 -0
  103. package/dist/cli/experimental/auth.d.ts.map +1 -0
  104. package/dist/cli/experimental/auth.js +13 -0
  105. package/dist/cli/experimental/auth.js.map +1 -0
  106. package/dist/cli/experimental/cli.d.ts +6 -0
  107. package/dist/cli/experimental/cli.d.ts.map +1 -0
  108. package/dist/cli/experimental/cli.js +5 -0
  109. package/dist/cli/experimental/cli.js.map +1 -0
  110. package/dist/cli/experimental/command-options.d.ts +17 -0
  111. package/dist/cli/experimental/command-options.d.ts.map +1 -0
  112. package/dist/cli/experimental/command-options.js +35 -0
  113. package/dist/cli/experimental/command-options.js.map +1 -0
  114. package/dist/cli/experimental/command.d.ts +63 -0
  115. package/dist/cli/experimental/command.d.ts.map +1 -0
  116. package/dist/cli/experimental/command.js +130 -0
  117. package/dist/cli/experimental/command.js.map +1 -0
  118. package/dist/cli/experimental/commands/client.d.ts +13 -0
  119. package/dist/cli/experimental/commands/client.d.ts.map +1 -0
  120. package/dist/cli/experimental/commands/client.js +25 -0
  121. package/dist/cli/experimental/commands/client.js.map +1 -0
  122. package/dist/cli/experimental/commands/pi.d.ts +15 -0
  123. package/dist/cli/experimental/commands/pi.d.ts.map +1 -0
  124. package/dist/cli/experimental/commands/pi.js +26 -0
  125. package/dist/cli/experimental/commands/pi.js.map +1 -0
  126. package/dist/cli/experimental/commands/server.d.ts +13 -0
  127. package/dist/cli/experimental/commands/server.d.ts.map +1 -0
  128. package/dist/cli/experimental/commands/server.js +25 -0
  129. package/dist/cli/experimental/commands/server.js.map +1 -0
  130. package/dist/cli/experimental/transport-address.d.ts +10 -0
  131. package/dist/cli/experimental/transport-address.d.ts.map +1 -0
  132. package/dist/cli/experimental/transport-address.js +38 -0
  133. package/dist/cli/experimental/transport-address.js.map +1 -0
  134. package/dist/cli/file-processor.d.ts +15 -0
  135. package/dist/cli/file-processor.d.ts.map +1 -0
  136. package/dist/cli/file-processor.js +71 -0
  137. package/dist/cli/file-processor.js.map +1 -0
  138. package/dist/cli/initial-message.d.ts +18 -0
  139. package/dist/cli/initial-message.d.ts.map +1 -0
  140. package/dist/cli/initial-message.js +22 -0
  141. package/dist/cli/initial-message.js.map +1 -0
  142. package/dist/cli/list-models.d.ts +9 -0
  143. package/dist/cli/list-models.d.ts.map +1 -0
  144. package/dist/cli/list-models.js +98 -0
  145. package/dist/cli/list-models.js.map +1 -0
  146. package/dist/cli/plugin-command.d.ts +50 -0
  147. package/dist/cli/plugin-command.d.ts.map +1 -0
  148. package/dist/cli/plugin-command.js +85 -0
  149. package/dist/cli/plugin-command.js.map +1 -0
  150. package/dist/cli/plugin-manager-controller.d.ts +59 -0
  151. package/dist/cli/plugin-manager-controller.d.ts.map +1 -0
  152. package/dist/cli/plugin-manager-controller.js +183 -0
  153. package/dist/cli/plugin-manager-controller.js.map +1 -0
  154. package/dist/cli/plugin-selection-controller.d.ts +57 -0
  155. package/dist/cli/plugin-selection-controller.d.ts.map +1 -0
  156. package/dist/cli/plugin-selection-controller.js +159 -0
  157. package/dist/cli/plugin-selection-controller.js.map +1 -0
  158. package/dist/cli/serve.d.ts +39 -0
  159. package/dist/cli/serve.d.ts.map +1 -0
  160. package/dist/cli/serve.js +124 -0
  161. package/dist/cli/serve.js.map +1 -0
  162. package/dist/cli/session-picker.d.ts +30 -0
  163. package/dist/cli/session-picker.d.ts.map +1 -0
  164. package/dist/cli/session-picker.js +62 -0
  165. package/dist/cli/session-picker.js.map +1 -0
  166. package/dist/cli/startup-ui.d.ts +20 -0
  167. package/dist/cli/startup-ui.d.ts.map +1 -0
  168. package/dist/cli/startup-ui.js +185 -0
  169. package/dist/cli/startup-ui.js.map +1 -0
  170. package/dist/cli/trace-view.d.ts +86 -0
  171. package/dist/cli/trace-view.d.ts.map +1 -0
  172. package/dist/cli/trace-view.js +263 -0
  173. package/dist/cli/trace-view.js.map +1 -0
  174. package/dist/cli.d.ts +3 -0
  175. package/dist/cli.d.ts.map +1 -0
  176. package/dist/cli.js +19 -0
  177. package/dist/cli.js.map +1 -0
  178. package/dist/client/index.d.ts +3 -0
  179. package/dist/client/index.d.ts.map +1 -0
  180. package/dist/client/index.js +3 -0
  181. package/dist/client/index.js.map +1 -0
  182. package/dist/client/remote-session.d.ts +53 -0
  183. package/dist/client/remote-session.d.ts.map +1 -0
  184. package/dist/client/remote-session.js +340 -0
  185. package/dist/client/remote-session.js.map +1 -0
  186. package/dist/client/transcript.d.ts +12 -0
  187. package/dist/client/transcript.d.ts.map +1 -0
  188. package/dist/client/transcript.js +98 -0
  189. package/dist/client/transcript.js.map +1 -0
  190. package/dist/config.d.ts +95 -0
  191. package/dist/config.d.ts.map +1 -0
  192. package/dist/config.js +459 -0
  193. package/dist/config.js.map +1 -0
  194. package/dist/core/agent-capability-contract.d.ts +322 -0
  195. package/dist/core/agent-capability-contract.d.ts.map +1 -0
  196. package/dist/core/agent-capability-contract.js +1154 -0
  197. package/dist/core/agent-capability-contract.js.map +1 -0
  198. package/dist/core/agent-session-bash.d.ts +51 -0
  199. package/dist/core/agent-session-bash.d.ts.map +1 -0
  200. package/dist/core/agent-session-bash.js +138 -0
  201. package/dist/core/agent-session-bash.js.map +1 -0
  202. package/dist/core/agent-session-compaction.d.ts +188 -0
  203. package/dist/core/agent-session-compaction.d.ts.map +1 -0
  204. package/dist/core/agent-session-compaction.js +1071 -0
  205. package/dist/core/agent-session-compaction.js.map +1 -0
  206. package/dist/core/agent-session-context.d.ts +43 -0
  207. package/dist/core/agent-session-context.d.ts.map +1 -0
  208. package/dist/core/agent-session-context.js +170 -0
  209. package/dist/core/agent-session-context.js.map +1 -0
  210. package/dist/core/agent-session-extensions.d.ts +30 -0
  211. package/dist/core/agent-session-extensions.d.ts.map +1 -0
  212. package/dist/core/agent-session-extensions.js +74 -0
  213. package/dist/core/agent-session-extensions.js.map +1 -0
  214. package/dist/core/agent-session-internal.d.ts +290 -0
  215. package/dist/core/agent-session-internal.d.ts.map +1 -0
  216. package/dist/core/agent-session-internal.js +40 -0
  217. package/dist/core/agent-session-internal.js.map +1 -0
  218. package/dist/core/agent-session-lifecycle.d.ts +242 -0
  219. package/dist/core/agent-session-lifecycle.d.ts.map +1 -0
  220. package/dist/core/agent-session-lifecycle.js +699 -0
  221. package/dist/core/agent-session-lifecycle.js.map +1 -0
  222. package/dist/core/agent-session-loop-runner.d.ts +52 -0
  223. package/dist/core/agent-session-loop-runner.d.ts.map +1 -0
  224. package/dist/core/agent-session-loop-runner.js +168 -0
  225. package/dist/core/agent-session-loop-runner.js.map +1 -0
  226. package/dist/core/agent-session-loop.d.ts +39 -0
  227. package/dist/core/agent-session-loop.d.ts.map +1 -0
  228. package/dist/core/agent-session-loop.js +155 -0
  229. package/dist/core/agent-session-loop.js.map +1 -0
  230. package/dist/core/agent-session-model.d.ts +49 -0
  231. package/dist/core/agent-session-model.d.ts.map +1 -0
  232. package/dist/core/agent-session-model.js +155 -0
  233. package/dist/core/agent-session-model.js.map +1 -0
  234. package/dist/core/agent-session-paths.d.ts +3 -0
  235. package/dist/core/agent-session-paths.d.ts.map +1 -0
  236. package/dist/core/agent-session-paths.js +14 -0
  237. package/dist/core/agent-session-paths.js.map +1 -0
  238. package/dist/core/agent-session-projection.d.ts +53 -0
  239. package/dist/core/agent-session-projection.d.ts.map +1 -0
  240. package/dist/core/agent-session-projection.js +195 -0
  241. package/dist/core/agent-session-projection.js.map +1 -0
  242. package/dist/core/agent-session-retry.d.ts +28 -0
  243. package/dist/core/agent-session-retry.d.ts.map +1 -0
  244. package/dist/core/agent-session-retry.js +141 -0
  245. package/dist/core/agent-session-retry.js.map +1 -0
  246. package/dist/core/agent-session-runtime.d.ts +181 -0
  247. package/dist/core/agent-session-runtime.d.ts.map +1 -0
  248. package/dist/core/agent-session-runtime.js +297 -0
  249. package/dist/core/agent-session-runtime.js.map +1 -0
  250. package/dist/core/agent-session-services.d.ts +281 -0
  251. package/dist/core/agent-session-services.d.ts.map +1 -0
  252. package/dist/core/agent-session-services.js +680 -0
  253. package/dist/core/agent-session-services.js.map +1 -0
  254. package/dist/core/agent-session-store.d.ts +47 -0
  255. package/dist/core/agent-session-store.d.ts.map +1 -0
  256. package/dist/core/agent-session-store.js +155 -0
  257. package/dist/core/agent-session-store.js.map +1 -0
  258. package/dist/core/agent-session-tools.d.ts +36 -0
  259. package/dist/core/agent-session-tools.d.ts.map +1 -0
  260. package/dist/core/agent-session-tools.js +305 -0
  261. package/dist/core/agent-session-tools.js.map +1 -0
  262. package/dist/core/agent-session.d.ts +1156 -0
  263. package/dist/core/agent-session.d.ts.map +1 -0
  264. package/dist/core/agent-session.js +2550 -0
  265. package/dist/core/agent-session.js.map +1 -0
  266. package/dist/core/auth-guidance.d.ts +5 -0
  267. package/dist/core/auth-guidance.d.ts.map +1 -0
  268. package/dist/core/auth-guidance.js +21 -0
  269. package/dist/core/auth-guidance.js.map +1 -0
  270. package/dist/core/auth-storage.d.ts +72 -0
  271. package/dist/core/auth-storage.d.ts.map +1 -0
  272. package/dist/core/auth-storage.js +426 -0
  273. package/dist/core/auth-storage.js.map +1 -0
  274. package/dist/core/bash-executor.d.ts +32 -0
  275. package/dist/core/bash-executor.d.ts.map +1 -0
  276. package/dist/core/bash-executor.js +111 -0
  277. package/dist/core/bash-executor.js.map +1 -0
  278. package/dist/core/cache-stats.d.ts +49 -0
  279. package/dist/core/cache-stats.d.ts.map +1 -0
  280. package/dist/core/cache-stats.js +101 -0
  281. package/dist/core/cache-stats.js.map +1 -0
  282. package/dist/core/compaction/branch-summarization.d.ts +88 -0
  283. package/dist/core/compaction/branch-summarization.d.ts.map +1 -0
  284. package/dist/core/compaction/branch-summarization.js +220 -0
  285. package/dist/core/compaction/branch-summarization.js.map +1 -0
  286. package/dist/core/compaction/compaction.d.ts +178 -0
  287. package/dist/core/compaction/compaction.d.ts.map +1 -0
  288. package/dist/core/compaction/compaction.js +608 -0
  289. package/dist/core/compaction/compaction.js.map +1 -0
  290. package/dist/core/compaction/index.d.ts +7 -0
  291. package/dist/core/compaction/index.d.ts.map +1 -0
  292. package/dist/core/compaction/index.js +7 -0
  293. package/dist/core/compaction/index.js.map +1 -0
  294. package/dist/core/compaction/utils.d.ts +49 -0
  295. package/dist/core/compaction/utils.d.ts.map +1 -0
  296. package/dist/core/compaction/utils.js +170 -0
  297. package/dist/core/compaction/utils.js.map +1 -0
  298. package/dist/core/defaults.d.ts +4 -0
  299. package/dist/core/defaults.d.ts.map +1 -0
  300. package/dist/core/defaults.js +11 -0
  301. package/dist/core/defaults.js.map +1 -0
  302. package/dist/core/diagnostics.d.ts +15 -0
  303. package/dist/core/diagnostics.d.ts.map +1 -0
  304. package/dist/core/diagnostics.js +2 -0
  305. package/dist/core/diagnostics.js.map +1 -0
  306. package/dist/core/embedded-sdk.d.ts +96 -0
  307. package/dist/core/embedded-sdk.d.ts.map +1 -0
  308. package/dist/core/embedded-sdk.js +395 -0
  309. package/dist/core/embedded-sdk.js.map +1 -0
  310. package/dist/core/event-bus.d.ts +9 -0
  311. package/dist/core/event-bus.d.ts.map +1 -0
  312. package/dist/core/event-bus.js +25 -0
  313. package/dist/core/event-bus.js.map +1 -0
  314. package/dist/core/exec.d.ts +29 -0
  315. package/dist/core/exec.d.ts.map +1 -0
  316. package/dist/core/exec.js +75 -0
  317. package/dist/core/exec.js.map +1 -0
  318. package/dist/core/experimental.d.ts +2 -0
  319. package/dist/core/experimental.d.ts.map +1 -0
  320. package/dist/core/experimental.js +6 -0
  321. package/dist/core/experimental.js.map +1 -0
  322. package/dist/core/export-html/ansi-to-html.d.ts +22 -0
  323. package/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
  324. package/dist/core/export-html/ansi-to-html.js +249 -0
  325. package/dist/core/export-html/ansi-to-html.js.map +1 -0
  326. package/dist/core/export-html/index.d.ts +37 -0
  327. package/dist/core/export-html/index.d.ts.map +1 -0
  328. package/dist/core/export-html/index.js +226 -0
  329. package/dist/core/export-html/index.js.map +1 -0
  330. package/dist/core/export-html/template.css +1066 -0
  331. package/dist/core/export-html/template.html +55 -0
  332. package/dist/core/export-html/template.js +1864 -0
  333. package/dist/core/export-html/tool-renderer.d.ts +34 -0
  334. package/dist/core/export-html/tool-renderer.d.ts.map +1 -0
  335. package/dist/core/export-html/tool-renderer.js +108 -0
  336. package/dist/core/export-html/tool-renderer.js.map +1 -0
  337. package/dist/core/export-html/vendor/highlight.min.js +1213 -0
  338. package/dist/core/export-html/vendor/marked.min.js +78 -0
  339. package/dist/core/extensions/agent-composition.d.ts +67 -0
  340. package/dist/core/extensions/agent-composition.d.ts.map +1 -0
  341. package/dist/core/extensions/agent-composition.js +785 -0
  342. package/dist/core/extensions/agent-composition.js.map +1 -0
  343. package/dist/core/extensions/bootstrap-agent-loop.d.ts +203 -0
  344. package/dist/core/extensions/bootstrap-agent-loop.d.ts.map +1 -0
  345. package/dist/core/extensions/bootstrap-agent-loop.js +565 -0
  346. package/dist/core/extensions/bootstrap-agent-loop.js.map +1 -0
  347. package/dist/core/extensions/bootstrap-branch-summary-policy.d.ts +7 -0
  348. package/dist/core/extensions/bootstrap-branch-summary-policy.d.ts.map +1 -0
  349. package/dist/core/extensions/bootstrap-branch-summary-policy.js +28 -0
  350. package/dist/core/extensions/bootstrap-branch-summary-policy.js.map +1 -0
  351. package/dist/core/extensions/bootstrap-compaction-policy.d.ts +7 -0
  352. package/dist/core/extensions/bootstrap-compaction-policy.d.ts.map +1 -0
  353. package/dist/core/extensions/bootstrap-compaction-policy.js +81 -0
  354. package/dist/core/extensions/bootstrap-compaction-policy.js.map +1 -0
  355. package/dist/core/extensions/bootstrap-lifecycle.d.ts +26 -0
  356. package/dist/core/extensions/bootstrap-lifecycle.d.ts.map +1 -0
  357. package/dist/core/extensions/bootstrap-lifecycle.js +181 -0
  358. package/dist/core/extensions/bootstrap-lifecycle.js.map +1 -0
  359. package/dist/core/extensions/bootstrap-overflow-policy.d.ts +7 -0
  360. package/dist/core/extensions/bootstrap-overflow-policy.d.ts.map +1 -0
  361. package/dist/core/extensions/bootstrap-overflow-policy.js +29 -0
  362. package/dist/core/extensions/bootstrap-overflow-policy.js.map +1 -0
  363. package/dist/core/extensions/bootstrap-retry-policy.d.ts +7 -0
  364. package/dist/core/extensions/bootstrap-retry-policy.d.ts.map +1 -0
  365. package/dist/core/extensions/bootstrap-retry-policy.js +28 -0
  366. package/dist/core/extensions/bootstrap-retry-policy.js.map +1 -0
  367. package/dist/core/extensions/bootstrap-skills.d.ts +16 -0
  368. package/dist/core/extensions/bootstrap-skills.d.ts.map +1 -0
  369. package/dist/core/extensions/bootstrap-skills.js +119 -0
  370. package/dist/core/extensions/bootstrap-skills.js.map +1 -0
  371. package/dist/core/extensions/bootstrap-tools.d.ts +20 -0
  372. package/dist/core/extensions/bootstrap-tools.d.ts.map +1 -0
  373. package/dist/core/extensions/bootstrap-tools.js +35 -0
  374. package/dist/core/extensions/bootstrap-tools.js.map +1 -0
  375. package/dist/core/extensions/capability-exports.d.ts +5 -0
  376. package/dist/core/extensions/capability-exports.d.ts.map +1 -0
  377. package/dist/core/extensions/capability-exports.js +4 -0
  378. package/dist/core/extensions/capability-exports.js.map +1 -0
  379. package/dist/core/extensions/capability-plugin.d.ts +69 -0
  380. package/dist/core/extensions/capability-plugin.d.ts.map +1 -0
  381. package/dist/core/extensions/capability-plugin.js +485 -0
  382. package/dist/core/extensions/capability-plugin.js.map +1 -0
  383. package/dist/core/extensions/capability-runtime-events.d.ts +22 -0
  384. package/dist/core/extensions/capability-runtime-events.d.ts.map +1 -0
  385. package/dist/core/extensions/capability-runtime-events.js +381 -0
  386. package/dist/core/extensions/capability-runtime-events.js.map +1 -0
  387. package/dist/core/extensions/capability-runtime-guards.d.ts +93 -0
  388. package/dist/core/extensions/capability-runtime-guards.d.ts.map +1 -0
  389. package/dist/core/extensions/capability-runtime-guards.js +800 -0
  390. package/dist/core/extensions/capability-runtime-guards.js.map +1 -0
  391. package/dist/core/extensions/capability-runtime-inspect.d.ts +12 -0
  392. package/dist/core/extensions/capability-runtime-inspect.d.ts.map +1 -0
  393. package/dist/core/extensions/capability-runtime-inspect.js +106 -0
  394. package/dist/core/extensions/capability-runtime-inspect.js.map +1 -0
  395. package/dist/core/extensions/capability-runtime-manifest.d.ts +19 -0
  396. package/dist/core/extensions/capability-runtime-manifest.d.ts.map +1 -0
  397. package/dist/core/extensions/capability-runtime-manifest.js +218 -0
  398. package/dist/core/extensions/capability-runtime-manifest.js.map +1 -0
  399. package/dist/core/extensions/capability-runtime-operation.d.ts +26 -0
  400. package/dist/core/extensions/capability-runtime-operation.d.ts.map +1 -0
  401. package/dist/core/extensions/capability-runtime-operation.js +88 -0
  402. package/dist/core/extensions/capability-runtime-operation.js.map +1 -0
  403. package/dist/core/extensions/capability-runtime-snapshot.d.ts +11 -0
  404. package/dist/core/extensions/capability-runtime-snapshot.d.ts.map +1 -0
  405. package/dist/core/extensions/capability-runtime-snapshot.js +81 -0
  406. package/dist/core/extensions/capability-runtime-snapshot.js.map +1 -0
  407. package/dist/core/extensions/capability-runtime-store.d.ts +34 -0
  408. package/dist/core/extensions/capability-runtime-store.d.ts.map +1 -0
  409. package/dist/core/extensions/capability-runtime-store.js +153 -0
  410. package/dist/core/extensions/capability-runtime-store.js.map +1 -0
  411. package/dist/core/extensions/capability-runtime-tool.d.ts +10 -0
  412. package/dist/core/extensions/capability-runtime-tool.d.ts.map +1 -0
  413. package/dist/core/extensions/capability-runtime-tool.js +10 -0
  414. package/dist/core/extensions/capability-runtime-tool.js.map +1 -0
  415. package/dist/core/extensions/capability-runtime-types.d.ts +303 -0
  416. package/dist/core/extensions/capability-runtime-types.d.ts.map +1 -0
  417. package/dist/core/extensions/capability-runtime-types.js +2 -0
  418. package/dist/core/extensions/capability-runtime-types.js.map +1 -0
  419. package/dist/core/extensions/capability-runtime-validation.d.ts +35 -0
  420. package/dist/core/extensions/capability-runtime-validation.d.ts.map +1 -0
  421. package/dist/core/extensions/capability-runtime-validation.js +380 -0
  422. package/dist/core/extensions/capability-runtime-validation.js.map +1 -0
  423. package/dist/core/extensions/capability-runtime.d.ts +7 -0
  424. package/dist/core/extensions/capability-runtime.d.ts.map +1 -0
  425. package/dist/core/extensions/capability-runtime.js +2170 -0
  426. package/dist/core/extensions/capability-runtime.js.map +1 -0
  427. package/dist/core/extensions/compaction-memory-failure-mode.d.ts +43 -0
  428. package/dist/core/extensions/compaction-memory-failure-mode.d.ts.map +1 -0
  429. package/dist/core/extensions/compaction-memory-failure-mode.js +31 -0
  430. package/dist/core/extensions/compaction-memory-failure-mode.js.map +1 -0
  431. package/dist/core/extensions/context-strategy-binding.d.ts +12 -0
  432. package/dist/core/extensions/context-strategy-binding.d.ts.map +1 -0
  433. package/dist/core/extensions/context-strategy-binding.js +54 -0
  434. package/dist/core/extensions/context-strategy-binding.js.map +1 -0
  435. package/dist/core/extensions/index.d.ts +19 -0
  436. package/dist/core/extensions/index.d.ts.map +1 -0
  437. package/dist/core/extensions/index.js +18 -0
  438. package/dist/core/extensions/index.js.map +1 -0
  439. package/dist/core/extensions/lifecycle-catalog.d.ts +584 -0
  440. package/dist/core/extensions/lifecycle-catalog.d.ts.map +1 -0
  441. package/dist/core/extensions/lifecycle-catalog.js +1903 -0
  442. package/dist/core/extensions/lifecycle-catalog.js.map +1 -0
  443. package/dist/core/extensions/lifecycle-delivery-queue.d.ts +48 -0
  444. package/dist/core/extensions/lifecycle-delivery-queue.d.ts.map +1 -0
  445. package/dist/core/extensions/lifecycle-delivery-queue.js +164 -0
  446. package/dist/core/extensions/lifecycle-delivery-queue.js.map +1 -0
  447. package/dist/core/extensions/microcompact.d.ts +71 -0
  448. package/dist/core/extensions/microcompact.d.ts.map +1 -0
  449. package/dist/core/extensions/microcompact.js +123 -0
  450. package/dist/core/extensions/microcompact.js.map +1 -0
  451. package/dist/core/extensions/public-api.d.ts +10 -0
  452. package/dist/core/extensions/public-api.d.ts.map +1 -0
  453. package/dist/core/extensions/public-api.js +9 -0
  454. package/dist/core/extensions/public-api.js.map +1 -0
  455. package/dist/core/facade/coding-agent-facade.d.ts +338 -0
  456. package/dist/core/facade/coding-agent-facade.d.ts.map +1 -0
  457. package/dist/core/facade/coding-agent-facade.js +115 -0
  458. package/dist/core/facade/coding-agent-facade.js.map +1 -0
  459. package/dist/core/facade/coding-agent-runtime-facade.d.ts +115 -0
  460. package/dist/core/facade/coding-agent-runtime-facade.d.ts.map +1 -0
  461. package/dist/core/facade/coding-agent-runtime-facade.js +63 -0
  462. package/dist/core/facade/coding-agent-runtime-facade.js.map +1 -0
  463. package/dist/core/facade/index.d.ts +6 -0
  464. package/dist/core/facade/index.d.ts.map +1 -0
  465. package/dist/core/facade/index.js +3 -0
  466. package/dist/core/facade/index.js.map +1 -0
  467. package/dist/core/footer-data-provider.d.ts +57 -0
  468. package/dist/core/footer-data-provider.d.ts.map +1 -0
  469. package/dist/core/footer-data-provider.js +323 -0
  470. package/dist/core/footer-data-provider.js.map +1 -0
  471. package/dist/core/http-dispatcher.d.ts +22 -0
  472. package/dist/core/http-dispatcher.d.ts.map +1 -0
  473. package/dist/core/http-dispatcher.js +98 -0
  474. package/dist/core/http-dispatcher.js.map +1 -0
  475. package/dist/core/index.d.ts +19 -0
  476. package/dist/core/index.d.ts.map +1 -0
  477. package/dist/core/index.js +13 -0
  478. package/dist/core/index.js.map +1 -0
  479. package/dist/core/input-source.d.ts +9 -0
  480. package/dist/core/input-source.d.ts.map +1 -0
  481. package/dist/core/input-source.js +2 -0
  482. package/dist/core/input-source.js.map +1 -0
  483. package/dist/core/keybindings.d.ts +442 -0
  484. package/dist/core/keybindings.d.ts.map +1 -0
  485. package/dist/core/keybindings.js +329 -0
  486. package/dist/core/keybindings.js.map +1 -0
  487. package/dist/core/logger.d.ts +107 -0
  488. package/dist/core/logger.d.ts.map +1 -0
  489. package/dist/core/logger.js +246 -0
  490. package/dist/core/logger.js.map +1 -0
  491. package/dist/core/messages.d.ts +85 -0
  492. package/dist/core/messages.d.ts.map +1 -0
  493. package/dist/core/messages.js +146 -0
  494. package/dist/core/messages.js.map +1 -0
  495. package/dist/core/model-config.d.ts +586 -0
  496. package/dist/core/model-config.d.ts.map +1 -0
  497. package/dist/core/model-config.js +258 -0
  498. package/dist/core/model-config.js.map +1 -0
  499. package/dist/core/model-registry.d.ts +49 -0
  500. package/dist/core/model-registry.d.ts.map +1 -0
  501. package/dist/core/model-registry.js +115 -0
  502. package/dist/core/model-registry.js.map +1 -0
  503. package/dist/core/model-resolver.d.ts +124 -0
  504. package/dist/core/model-resolver.d.ts.map +1 -0
  505. package/dist/core/model-resolver.js +590 -0
  506. package/dist/core/model-resolver.js.map +1 -0
  507. package/dist/core/model-runtime.d.ts +100 -0
  508. package/dist/core/model-runtime.d.ts.map +1 -0
  509. package/dist/core/model-runtime.js +598 -0
  510. package/dist/core/model-runtime.js.map +1 -0
  511. package/dist/core/models-store.d.ts +22 -0
  512. package/dist/core/models-store.d.ts.map +1 -0
  513. package/dist/core/models-store.js +115 -0
  514. package/dist/core/models-store.js.map +1 -0
  515. package/dist/core/output-guard.d.ts +7 -0
  516. package/dist/core/output-guard.d.ts.map +1 -0
  517. package/dist/core/output-guard.js +90 -0
  518. package/dist/core/output-guard.js.map +1 -0
  519. package/dist/core/package-install-host.d.ts +23 -0
  520. package/dist/core/package-install-host.d.ts.map +1 -0
  521. package/dist/core/package-install-host.js +202 -0
  522. package/dist/core/package-install-host.js.map +1 -0
  523. package/dist/core/package-manager.d.ts +93 -0
  524. package/dist/core/package-manager.d.ts.map +1 -0
  525. package/dist/core/package-manager.js +947 -0
  526. package/dist/core/package-manager.js.map +1 -0
  527. package/dist/core/package-process-runner.d.ts +4 -0
  528. package/dist/core/package-process-runner.d.ts.map +1 -0
  529. package/dist/core/package-process-runner.js +47 -0
  530. package/dist/core/package-process-runner.js.map +1 -0
  531. package/dist/core/package-resource-collection.d.ts +16 -0
  532. package/dist/core/package-resource-collection.d.ts.map +1 -0
  533. package/dist/core/package-resource-collection.js +300 -0
  534. package/dist/core/package-resource-collection.js.map +1 -0
  535. package/dist/core/package-resource-discovery.d.ts +33 -0
  536. package/dist/core/package-resource-discovery.d.ts.map +1 -0
  537. package/dist/core/package-resource-discovery.js +449 -0
  538. package/dist/core/package-resource-discovery.js.map +1 -0
  539. package/dist/core/package-source.d.ts +157 -0
  540. package/dist/core/package-source.d.ts.map +1 -0
  541. package/dist/core/package-source.js +179 -0
  542. package/dist/core/package-source.js.map +1 -0
  543. package/dist/core/pi-manifest.d.ts +7 -0
  544. package/dist/core/pi-manifest.d.ts.map +1 -0
  545. package/dist/core/pi-manifest.js +26 -0
  546. package/dist/core/pi-manifest.js.map +1 -0
  547. package/dist/core/prompt-templates.d.ts +54 -0
  548. package/dist/core/prompt-templates.d.ts.map +1 -0
  549. package/dist/core/prompt-templates.js +236 -0
  550. package/dist/core/prompt-templates.js.map +1 -0
  551. package/dist/core/provider-composer.d.ts +58 -0
  552. package/dist/core/provider-composer.d.ts.map +1 -0
  553. package/dist/core/provider-composer.js +403 -0
  554. package/dist/core/provider-composer.js.map +1 -0
  555. package/dist/core/radius.d.ts +2 -0
  556. package/dist/core/radius.d.ts.map +1 -0
  557. package/dist/core/radius.js +2 -0
  558. package/dist/core/radius.js.map +1 -0
  559. package/dist/core/remote-catalog-provider.d.ts +5 -0
  560. package/dist/core/remote-catalog-provider.d.ts.map +1 -0
  561. package/dist/core/remote-catalog-provider.js +121 -0
  562. package/dist/core/remote-catalog-provider.js.map +1 -0
  563. package/dist/core/resolve-config-value.d.ts +30 -0
  564. package/dist/core/resolve-config-value.d.ts.map +1 -0
  565. package/dist/core/resolve-config-value.js +247 -0
  566. package/dist/core/resolve-config-value.js.map +1 -0
  567. package/dist/core/resource-loader.d.ts +211 -0
  568. package/dist/core/resource-loader.d.ts.map +1 -0
  569. package/dist/core/resource-loader.js +687 -0
  570. package/dist/core/resource-loader.js.map +1 -0
  571. package/dist/core/runtime-credentials.d.ts +15 -0
  572. package/dist/core/runtime-credentials.d.ts.map +1 -0
  573. package/dist/core/runtime-credentials.js +39 -0
  574. package/dist/core/runtime-credentials.js.map +1 -0
  575. package/dist/core/sdk.d.ts +395 -0
  576. package/dist/core/sdk.d.ts.map +1 -0
  577. package/dist/core/sdk.js +1112 -0
  578. package/dist/core/sdk.js.map +1 -0
  579. package/dist/core/session-cwd.d.ts +19 -0
  580. package/dist/core/session-cwd.d.ts.map +1 -0
  581. package/dist/core/session-cwd.js +38 -0
  582. package/dist/core/session-cwd.js.map +1 -0
  583. package/dist/core/session-export.d.ts +7 -0
  584. package/dist/core/session-export.d.ts.map +1 -0
  585. package/dist/core/session-export.js +48 -0
  586. package/dist/core/session-export.js.map +1 -0
  587. package/dist/core/session-manager.d.ts +463 -0
  588. package/dist/core/session-manager.d.ts.map +1 -0
  589. package/dist/core/session-manager.js +1583 -0
  590. package/dist/core/session-manager.js.map +1 -0
  591. package/dist/core/session-start.d.ts +12 -0
  592. package/dist/core/session-start.d.ts.map +1 -0
  593. package/dist/core/session-start.js +2 -0
  594. package/dist/core/session-start.js.map +1 -0
  595. package/dist/core/session-storage.d.ts +130 -0
  596. package/dist/core/session-storage.d.ts.map +1 -0
  597. package/dist/core/session-storage.js +386 -0
  598. package/dist/core/session-storage.js.map +1 -0
  599. package/dist/core/settings-diagnostics.d.ts +9 -0
  600. package/dist/core/settings-diagnostics.d.ts.map +1 -0
  601. package/dist/core/settings-diagnostics.js +21 -0
  602. package/dist/core/settings-diagnostics.js.map +1 -0
  603. package/dist/core/settings-manager.d.ts +352 -0
  604. package/dist/core/settings-manager.d.ts.map +1 -0
  605. package/dist/core/settings-manager.js +987 -0
  606. package/dist/core/settings-manager.js.map +1 -0
  607. package/dist/core/skills.d.ts +60 -0
  608. package/dist/core/skills.d.ts.map +1 -0
  609. package/dist/core/skills.js +382 -0
  610. package/dist/core/skills.js.map +1 -0
  611. package/dist/core/slash-commands.d.ts +15 -0
  612. package/dist/core/slash-commands.d.ts.map +1 -0
  613. package/dist/core/slash-commands.js +33 -0
  614. package/dist/core/slash-commands.js.map +1 -0
  615. package/dist/core/source-info.d.ts +18 -0
  616. package/dist/core/source-info.d.ts.map +1 -0
  617. package/dist/core/source-info.js +19 -0
  618. package/dist/core/source-info.js.map +1 -0
  619. package/dist/core/system-prompt.d.ts +8 -0
  620. package/dist/core/system-prompt.d.ts.map +1 -0
  621. package/dist/core/system-prompt.js +137 -0
  622. package/dist/core/system-prompt.js.map +1 -0
  623. package/dist/core/timings.d.ts +11 -0
  624. package/dist/core/timings.d.ts.map +1 -0
  625. package/dist/core/timings.js +46 -0
  626. package/dist/core/timings.js.map +1 -0
  627. package/dist/core/tools/bash.d.ts +87 -0
  628. package/dist/core/tools/bash.d.ts.map +1 -0
  629. package/dist/core/tools/bash.js +409 -0
  630. package/dist/core/tools/bash.js.map +1 -0
  631. package/dist/core/tools/edit-diff.d.ts +110 -0
  632. package/dist/core/tools/edit-diff.d.ts.map +1 -0
  633. package/dist/core/tools/edit-diff.js +425 -0
  634. package/dist/core/tools/edit-diff.js.map +1 -0
  635. package/dist/core/tools/edit.d.ts +55 -0
  636. package/dist/core/tools/edit.d.ts.map +1 -0
  637. package/dist/core/tools/edit.js +305 -0
  638. package/dist/core/tools/edit.js.map +1 -0
  639. package/dist/core/tools/file-mutation-queue.d.ts +6 -0
  640. package/dist/core/tools/file-mutation-queue.d.ts.map +1 -0
  641. package/dist/core/tools/file-mutation-queue.js +52 -0
  642. package/dist/core/tools/file-mutation-queue.js.map +1 -0
  643. package/dist/core/tools/find.d.ts +42 -0
  644. package/dist/core/tools/find.d.ts.map +1 -0
  645. package/dist/core/tools/find.js +303 -0
  646. package/dist/core/tools/find.js.map +1 -0
  647. package/dist/core/tools/grep.d.ts +41 -0
  648. package/dist/core/tools/grep.d.ts.map +1 -0
  649. package/dist/core/tools/grep.js +309 -0
  650. package/dist/core/tools/grep.js.map +1 -0
  651. package/dist/core/tools/index.d.ts +44 -0
  652. package/dist/core/tools/index.d.ts.map +1 -0
  653. package/dist/core/tools/index.js +129 -0
  654. package/dist/core/tools/index.js.map +1 -0
  655. package/dist/core/tools/ls.d.ts +41 -0
  656. package/dist/core/tools/ls.d.ts.map +1 -0
  657. package/dist/core/tools/ls.js +173 -0
  658. package/dist/core/tools/ls.js.map +1 -0
  659. package/dist/core/tools/output-accumulator.d.ts +52 -0
  660. package/dist/core/tools/output-accumulator.d.ts.map +1 -0
  661. package/dist/core/tools/output-accumulator.js +184 -0
  662. package/dist/core/tools/output-accumulator.js.map +1 -0
  663. package/dist/core/tools/path-utils.d.ts +10 -0
  664. package/dist/core/tools/path-utils.d.ts.map +1 -0
  665. package/dist/core/tools/path-utils.js +99 -0
  666. package/dist/core/tools/path-utils.js.map +1 -0
  667. package/dist/core/tools/powershell.d.ts +16 -0
  668. package/dist/core/tools/powershell.d.ts.map +1 -0
  669. package/dist/core/tools/powershell.js +39 -0
  670. package/dist/core/tools/powershell.js.map +1 -0
  671. package/dist/core/tools/read.d.ts +39 -0
  672. package/dist/core/tools/read.d.ts.map +1 -0
  673. package/dist/core/tools/read.js +282 -0
  674. package/dist/core/tools/read.js.map +1 -0
  675. package/dist/core/tools/render-utils.d.ts +24 -0
  676. package/dist/core/tools/render-utils.d.ts.map +1 -0
  677. package/dist/core/tools/render-utils.js +65 -0
  678. package/dist/core/tools/render-utils.js.map +1 -0
  679. package/dist/core/tools/tool-definition-wrapper.d.ts +15 -0
  680. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -0
  681. package/dist/core/tools/tool-definition-wrapper.js +36 -0
  682. package/dist/core/tools/tool-definition-wrapper.js.map +1 -0
  683. package/dist/core/tools/tool-definition.d.ts +123 -0
  684. package/dist/core/tools/tool-definition.d.ts.map +1 -0
  685. package/dist/core/tools/tool-definition.js +20 -0
  686. package/dist/core/tools/tool-definition.js.map +1 -0
  687. package/dist/core/tools/tool-search.d.ts +30 -0
  688. package/dist/core/tools/tool-search.d.ts.map +1 -0
  689. package/dist/core/tools/tool-search.js +99 -0
  690. package/dist/core/tools/tool-search.js.map +1 -0
  691. package/dist/core/tools/truncate.d.ts +70 -0
  692. package/dist/core/tools/truncate.d.ts.map +1 -0
  693. package/dist/core/tools/truncate.js +215 -0
  694. package/dist/core/tools/truncate.js.map +1 -0
  695. package/dist/core/tools/write.d.ts +30 -0
  696. package/dist/core/tools/write.d.ts.map +1 -0
  697. package/dist/core/tools/write.js +202 -0
  698. package/dist/core/tools/write.js.map +1 -0
  699. package/dist/core/trace-retention.d.ts +19 -0
  700. package/dist/core/trace-retention.d.ts.map +1 -0
  701. package/dist/core/trace-retention.js +91 -0
  702. package/dist/core/trace-retention.js.map +1 -0
  703. package/dist/core/usage-totals.d.ts +21 -0
  704. package/dist/core/usage-totals.d.ts.map +1 -0
  705. package/dist/core/usage-totals.js +53 -0
  706. package/dist/core/usage-totals.js.map +1 -0
  707. package/dist/durable/durable-service.d.ts +136 -0
  708. package/dist/durable/durable-service.d.ts.map +1 -0
  709. package/dist/durable/durable-service.js +710 -0
  710. package/dist/durable/durable-service.js.map +1 -0
  711. package/dist/e2e/stdio-launcher.d.ts +25 -0
  712. package/dist/e2e/stdio-launcher.d.ts.map +1 -0
  713. package/dist/e2e/stdio-launcher.js +244 -0
  714. package/dist/e2e/stdio-launcher.js.map +1 -0
  715. package/dist/host/agent-retry-scheduler.d.ts +65 -0
  716. package/dist/host/agent-retry-scheduler.d.ts.map +1 -0
  717. package/dist/host/agent-retry-scheduler.js +52 -0
  718. package/dist/host/agent-retry-scheduler.js.map +1 -0
  719. package/dist/host/auto-compaction.d.ts +56 -0
  720. package/dist/host/auto-compaction.d.ts.map +1 -0
  721. package/dist/host/auto-compaction.js +62 -0
  722. package/dist/host/auto-compaction.js.map +1 -0
  723. package/dist/host/branch-reload.d.ts +56 -0
  724. package/dist/host/branch-reload.d.ts.map +1 -0
  725. package/dist/host/branch-reload.js +39 -0
  726. package/dist/host/branch-reload.js.map +1 -0
  727. package/dist/host/channel-adapter.d.ts +25 -0
  728. package/dist/host/channel-adapter.d.ts.map +1 -0
  729. package/dist/host/channel-adapter.js +45 -0
  730. package/dist/host/channel-adapter.js.map +1 -0
  731. package/dist/host/checkpoint-commit.d.ts +74 -0
  732. package/dist/host/checkpoint-commit.d.ts.map +1 -0
  733. package/dist/host/checkpoint-commit.js +76 -0
  734. package/dist/host/checkpoint-commit.js.map +1 -0
  735. package/dist/host/manual-compaction.d.ts +43 -0
  736. package/dist/host/manual-compaction.d.ts.map +1 -0
  737. package/dist/host/manual-compaction.js +63 -0
  738. package/dist/host/manual-compaction.js.map +1 -0
  739. package/dist/host/output-projection.d.ts +61 -0
  740. package/dist/host/output-projection.d.ts.map +1 -0
  741. package/dist/host/output-projection.js +74 -0
  742. package/dist/host/output-projection.js.map +1 -0
  743. package/dist/host/output-reducer.d.ts +43 -0
  744. package/dist/host/output-reducer.d.ts.map +1 -0
  745. package/dist/host/output-reducer.js +77 -0
  746. package/dist/host/output-reducer.js.map +1 -0
  747. package/dist/host/output-serializer.d.ts +31 -0
  748. package/dist/host/output-serializer.d.ts.map +1 -0
  749. package/dist/host/output-serializer.js +120 -0
  750. package/dist/host/output-serializer.js.map +1 -0
  751. package/dist/host/overflow-recovery.d.ts +55 -0
  752. package/dist/host/overflow-recovery.d.ts.map +1 -0
  753. package/dist/host/overflow-recovery.js +89 -0
  754. package/dist/host/overflow-recovery.js.map +1 -0
  755. package/dist/host/retry-common.d.ts +29 -0
  756. package/dist/host/retry-common.d.ts.map +1 -0
  757. package/dist/host/retry-common.js +12 -0
  758. package/dist/host/retry-common.js.map +1 -0
  759. package/dist/host/session-event-translation.d.ts +26 -0
  760. package/dist/host/session-event-translation.d.ts.map +1 -0
  761. package/dist/host/session-event-translation.js +61 -0
  762. package/dist/host/session-event-translation.js.map +1 -0
  763. package/dist/host/summary-retry.d.ts +54 -0
  764. package/dist/host/summary-retry.d.ts.map +1 -0
  765. package/dist/host/summary-retry.js +66 -0
  766. package/dist/host/summary-retry.js.map +1 -0
  767. package/dist/index.d.ts +105 -0
  768. package/dist/index.d.ts.map +1 -0
  769. package/dist/index.js +176 -0
  770. package/dist/index.js.map +1 -0
  771. package/dist/main.d.ts +36 -0
  772. package/dist/main.d.ts.map +1 -0
  773. package/dist/main.js +1630 -0
  774. package/dist/main.js.map +1 -0
  775. package/dist/migration/migration-tool.d.ts +56 -0
  776. package/dist/migration/migration-tool.d.ts.map +1 -0
  777. package/dist/migration/migration-tool.js +72 -0
  778. package/dist/migration/migration-tool.js.map +1 -0
  779. package/dist/migrations.d.ts +33 -0
  780. package/dist/migrations.d.ts.map +1 -0
  781. package/dist/migrations.js +272 -0
  782. package/dist/migrations.js.map +1 -0
  783. package/dist/modes/index.d.ts +10 -0
  784. package/dist/modes/index.d.ts.map +1 -0
  785. package/dist/modes/index.js +8 -0
  786. package/dist/modes/index.js.map +1 -0
  787. package/dist/modes/interactive/assets/clankolas.png +0 -0
  788. package/dist/modes/interactive/components/armin.d.ts +34 -0
  789. package/dist/modes/interactive/components/armin.d.ts.map +1 -0
  790. package/dist/modes/interactive/components/armin.js +336 -0
  791. package/dist/modes/interactive/components/armin.js.map +1 -0
  792. package/dist/modes/interactive/components/assistant-message.d.ts +25 -0
  793. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
  794. package/dist/modes/interactive/components/assistant-message.js +151 -0
  795. package/dist/modes/interactive/components/assistant-message.js.map +1 -0
  796. package/dist/modes/interactive/components/bash-execution.d.ts +34 -0
  797. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
  798. package/dist/modes/interactive/components/bash-execution.js +176 -0
  799. package/dist/modes/interactive/components/bash-execution.js.map +1 -0
  800. package/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
  801. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
  802. package/dist/modes/interactive/components/bordered-loader.js +56 -0
  803. package/dist/modes/interactive/components/bordered-loader.js.map +1 -0
  804. package/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
  805. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
  806. package/dist/modes/interactive/components/branch-summary-message.js +44 -0
  807. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
  808. package/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
  809. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
  810. package/dist/modes/interactive/components/compaction-summary-message.js +45 -0
  811. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
  812. package/dist/modes/interactive/components/config-selector.d.ts +113 -0
  813. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
  814. package/dist/modes/interactive/components/config-selector.js +857 -0
  815. package/dist/modes/interactive/components/config-selector.js.map +1 -0
  816. package/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
  817. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
  818. package/dist/modes/interactive/components/countdown-timer.js +33 -0
  819. package/dist/modes/interactive/components/countdown-timer.js.map +1 -0
  820. package/dist/modes/interactive/components/custom-editor.d.ts +19 -0
  821. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
  822. package/dist/modes/interactive/components/custom-editor.js +71 -0
  823. package/dist/modes/interactive/components/custom-editor.js.map +1 -0
  824. package/dist/modes/interactive/components/custom-entry.d.ts +19 -0
  825. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -0
  826. package/dist/modes/interactive/components/custom-entry.js +52 -0
  827. package/dist/modes/interactive/components/custom-entry.js.map +1 -0
  828. package/dist/modes/interactive/components/custom-message.d.ts +22 -0
  829. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
  830. package/dist/modes/interactive/components/custom-message.js +87 -0
  831. package/dist/modes/interactive/components/custom-message.js.map +1 -0
  832. package/dist/modes/interactive/components/daxnuts.d.ts +23 -0
  833. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -0
  834. package/dist/modes/interactive/components/daxnuts.js +141 -0
  835. package/dist/modes/interactive/components/daxnuts.js.map +1 -0
  836. package/dist/modes/interactive/components/dialog-editor.d.ts +21 -0
  837. package/dist/modes/interactive/components/dialog-editor.d.ts.map +1 -0
  838. package/dist/modes/interactive/components/dialog-editor.js +98 -0
  839. package/dist/modes/interactive/components/dialog-editor.js.map +1 -0
  840. package/dist/modes/interactive/components/dialog-input.d.ts +23 -0
  841. package/dist/modes/interactive/components/dialog-input.d.ts.map +1 -0
  842. package/dist/modes/interactive/components/dialog-input.js +61 -0
  843. package/dist/modes/interactive/components/dialog-input.js.map +1 -0
  844. package/dist/modes/interactive/components/dialog-selector.d.ts +26 -0
  845. package/dist/modes/interactive/components/dialog-selector.d.ts.map +1 -0
  846. package/dist/modes/interactive/components/dialog-selector.js +83 -0
  847. package/dist/modes/interactive/components/dialog-selector.js.map +1 -0
  848. package/dist/modes/interactive/components/diff.d.ts +12 -0
  849. package/dist/modes/interactive/components/diff.d.ts.map +1 -0
  850. package/dist/modes/interactive/components/diff.js +133 -0
  851. package/dist/modes/interactive/components/diff.js.map +1 -0
  852. package/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
  853. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
  854. package/dist/modes/interactive/components/dynamic-border.js +21 -0
  855. package/dist/modes/interactive/components/dynamic-border.js.map +1 -0
  856. package/dist/modes/interactive/components/first-time-setup.d.ts +25 -0
  857. package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -0
  858. package/dist/modes/interactive/components/first-time-setup.js +103 -0
  859. package/dist/modes/interactive/components/first-time-setup.js.map +1 -0
  860. package/dist/modes/interactive/components/footer.d.ts +33 -0
  861. package/dist/modes/interactive/components/footer.d.ts.map +1 -0
  862. package/dist/modes/interactive/components/footer.js +248 -0
  863. package/dist/modes/interactive/components/footer.js.map +1 -0
  864. package/dist/modes/interactive/components/index.d.ts +34 -0
  865. package/dist/modes/interactive/components/index.d.ts.map +1 -0
  866. package/dist/modes/interactive/components/index.js +35 -0
  867. package/dist/modes/interactive/components/index.js.map +1 -0
  868. package/dist/modes/interactive/components/keybinding-hints.d.ts +13 -0
  869. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
  870. package/dist/modes/interactive/components/keybinding-hints.js +36 -0
  871. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -0
  872. package/dist/modes/interactive/components/login-dialog.d.ts +52 -0
  873. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
  874. package/dist/modes/interactive/components/login-dialog.js +188 -0
  875. package/dist/modes/interactive/components/login-dialog.js.map +1 -0
  876. package/dist/modes/interactive/components/markdown-transform.d.ts +3 -0
  877. package/dist/modes/interactive/components/markdown-transform.d.ts.map +1 -0
  878. package/dist/modes/interactive/components/markdown-transform.js +19 -0
  879. package/dist/modes/interactive/components/markdown-transform.js.map +1 -0
  880. package/dist/modes/interactive/components/mermaid.d.ts +11 -0
  881. package/dist/modes/interactive/components/mermaid.d.ts.map +1 -0
  882. package/dist/modes/interactive/components/mermaid.js +75 -0
  883. package/dist/modes/interactive/components/mermaid.js.map +1 -0
  884. package/dist/modes/interactive/components/model-selector.d.ts +67 -0
  885. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
  886. package/dist/modes/interactive/components/model-selector.js +381 -0
  887. package/dist/modes/interactive/components/model-selector.js.map +1 -0
  888. package/dist/modes/interactive/components/oauth-selector.d.ts +33 -0
  889. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
  890. package/dist/modes/interactive/components/oauth-selector.js +165 -0
  891. package/dist/modes/interactive/components/oauth-selector.js.map +1 -0
  892. package/dist/modes/interactive/components/plugin-manager-entry.d.ts +62 -0
  893. package/dist/modes/interactive/components/plugin-manager-entry.d.ts.map +1 -0
  894. package/dist/modes/interactive/components/plugin-manager-entry.js +294 -0
  895. package/dist/modes/interactive/components/plugin-manager-entry.js.map +1 -0
  896. package/dist/modes/interactive/components/plugin-selection-entry.d.ts +82 -0
  897. package/dist/modes/interactive/components/plugin-selection-entry.d.ts.map +1 -0
  898. package/dist/modes/interactive/components/plugin-selection-entry.js +228 -0
  899. package/dist/modes/interactive/components/plugin-selection-entry.js.map +1 -0
  900. package/dist/modes/interactive/components/render-types.d.ts +26 -0
  901. package/dist/modes/interactive/components/render-types.d.ts.map +1 -0
  902. package/dist/modes/interactive/components/render-types.js +7 -0
  903. package/dist/modes/interactive/components/render-types.js.map +1 -0
  904. package/dist/modes/interactive/components/scoped-models-selector.d.ts +46 -0
  905. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
  906. package/dist/modes/interactive/components/scoped-models-selector.js +328 -0
  907. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -0
  908. package/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
  909. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -0
  910. package/dist/modes/interactive/components/session-selector-search.js +158 -0
  911. package/dist/modes/interactive/components/session-selector-search.js.map +1 -0
  912. package/dist/modes/interactive/components/session-selector.d.ts +143 -0
  913. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
  914. package/dist/modes/interactive/components/session-selector.js +1053 -0
  915. package/dist/modes/interactive/components/session-selector.js.map +1 -0
  916. package/dist/modes/interactive/components/settings-selector.d.ts +88 -0
  917. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
  918. package/dist/modes/interactive/components/settings-selector.js +677 -0
  919. package/dist/modes/interactive/components/settings-selector.js.map +1 -0
  920. package/dist/modes/interactive/components/settings-submenu.d.ts +72 -0
  921. package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -0
  922. package/dist/modes/interactive/components/settings-submenu.js +165 -0
  923. package/dist/modes/interactive/components/settings-submenu.js.map +1 -0
  924. package/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
  925. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
  926. package/dist/modes/interactive/components/show-images-selector.js +39 -0
  927. package/dist/modes/interactive/components/show-images-selector.js.map +1 -0
  928. package/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
  929. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
  930. package/dist/modes/interactive/components/skill-invocation-message.js +47 -0
  931. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
  932. package/dist/modes/interactive/components/status-indicator.d.ts +34 -0
  933. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -0
  934. package/dist/modes/interactive/components/status-indicator.js +60 -0
  935. package/dist/modes/interactive/components/status-indicator.js.map +1 -0
  936. package/dist/modes/interactive/components/theme-selector.d.ts +11 -0
  937. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
  938. package/dist/modes/interactive/components/theme-selector.js +50 -0
  939. package/dist/modes/interactive/components/theme-selector.js.map +1 -0
  940. package/dist/modes/interactive/components/thinking-selector.d.ts +23 -0
  941. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
  942. package/dist/modes/interactive/components/thinking-selector.js +109 -0
  943. package/dist/modes/interactive/components/thinking-selector.js.map +1 -0
  944. package/dist/modes/interactive/components/tool-execution.d.ts +59 -0
  945. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
  946. package/dist/modes/interactive/components/tool-execution.js +335 -0
  947. package/dist/modes/interactive/components/tool-execution.js.map +1 -0
  948. package/dist/modes/interactive/components/tree-list.d.ts +67 -0
  949. package/dist/modes/interactive/components/tree-list.d.ts.map +1 -0
  950. package/dist/modes/interactive/components/tree-list.js +710 -0
  951. package/dist/modes/interactive/components/tree-list.js.map +1 -0
  952. package/dist/modes/interactive/components/tree-render.d.ts +17 -0
  953. package/dist/modes/interactive/components/tree-render.d.ts.map +1 -0
  954. package/dist/modes/interactive/components/tree-render.js +316 -0
  955. package/dist/modes/interactive/components/tree-render.js.map +1 -0
  956. package/dist/modes/interactive/components/tree-selector.d.ts +25 -0
  957. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
  958. package/dist/modes/interactive/components/tree-selector.js +235 -0
  959. package/dist/modes/interactive/components/tree-selector.js.map +1 -0
  960. package/dist/modes/interactive/components/tree-types.d.ts +35 -0
  961. package/dist/modes/interactive/components/tree-types.d.ts.map +1 -0
  962. package/dist/modes/interactive/components/tree-types.js +2 -0
  963. package/dist/modes/interactive/components/tree-types.js.map +1 -0
  964. package/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
  965. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
  966. package/dist/modes/interactive/components/user-message-selector.js +114 -0
  967. package/dist/modes/interactive/components/user-message-selector.js.map +1 -0
  968. package/dist/modes/interactive/components/user-message.d.ts +16 -0
  969. package/dist/modes/interactive/components/user-message.d.ts.map +1 -0
  970. package/dist/modes/interactive/components/user-message.js +49 -0
  971. package/dist/modes/interactive/components/user-message.js.map +1 -0
  972. package/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
  973. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
  974. package/dist/modes/interactive/components/visual-truncate.js +33 -0
  975. package/dist/modes/interactive/components/visual-truncate.js.map +1 -0
  976. package/dist/modes/interactive/external-editor.d.ts +12 -0
  977. package/dist/modes/interactive/external-editor.d.ts.map +1 -0
  978. package/dist/modes/interactive/external-editor.js +38 -0
  979. package/dist/modes/interactive/external-editor.js.map +1 -0
  980. package/dist/modes/interactive/interactive-auth.d.ts +90 -0
  981. package/dist/modes/interactive/interactive-auth.d.ts.map +1 -0
  982. package/dist/modes/interactive/interactive-auth.js +492 -0
  983. package/dist/modes/interactive/interactive-auth.js.map +1 -0
  984. package/dist/modes/interactive/interactive-commands.d.ts +68 -0
  985. package/dist/modes/interactive/interactive-commands.d.ts.map +1 -0
  986. package/dist/modes/interactive/interactive-commands.js +157 -0
  987. package/dist/modes/interactive/interactive-commands.js.map +1 -0
  988. package/dist/modes/interactive/interactive-dialog-ui.d.ts +73 -0
  989. package/dist/modes/interactive/interactive-dialog-ui.d.ts.map +1 -0
  990. package/dist/modes/interactive/interactive-dialog-ui.js +189 -0
  991. package/dist/modes/interactive/interactive-dialog-ui.js.map +1 -0
  992. package/dist/modes/interactive/interactive-format.d.ts +65 -0
  993. package/dist/modes/interactive/interactive-format.d.ts.map +1 -0
  994. package/dist/modes/interactive/interactive-format.js +268 -0
  995. package/dist/modes/interactive/interactive-format.js.map +1 -0
  996. package/dist/modes/interactive/interactive-helpers.d.ts +25 -0
  997. package/dist/modes/interactive/interactive-helpers.d.ts.map +1 -0
  998. package/dist/modes/interactive/interactive-helpers.js +73 -0
  999. package/dist/modes/interactive/interactive-helpers.js.map +1 -0
  1000. package/dist/modes/interactive/interactive-mode.d.ts +640 -0
  1001. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
  1002. package/dist/modes/interactive/interactive-mode.js +4107 -0
  1003. package/dist/modes/interactive/interactive-mode.js.map +1 -0
  1004. package/dist/modes/interactive/interactive-selectors.d.ts +95 -0
  1005. package/dist/modes/interactive/interactive-selectors.d.ts.map +1 -0
  1006. package/dist/modes/interactive/interactive-selectors.js +356 -0
  1007. package/dist/modes/interactive/interactive-selectors.js.map +1 -0
  1008. package/dist/modes/interactive/model-catalog-refresh.d.ts +11 -0
  1009. package/dist/modes/interactive/model-catalog-refresh.d.ts.map +1 -0
  1010. package/dist/modes/interactive/model-catalog-refresh.js +35 -0
  1011. package/dist/modes/interactive/model-catalog-refresh.js.map +1 -0
  1012. package/dist/modes/interactive/model-search.d.ts +12 -0
  1013. package/dist/modes/interactive/model-search.d.ts.map +1 -0
  1014. package/dist/modes/interactive/model-search.js +15 -0
  1015. package/dist/modes/interactive/model-search.js.map +1 -0
  1016. package/dist/modes/interactive/theme/dark.json +90 -0
  1017. package/dist/modes/interactive/theme/light.json +89 -0
  1018. package/dist/modes/interactive/theme/theme-controller.d.ts +40 -0
  1019. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -0
  1020. package/dist/modes/interactive/theme/theme-controller.js +126 -0
  1021. package/dist/modes/interactive/theme/theme-controller.js.map +1 -0
  1022. package/dist/modes/interactive/theme/theme-schema.json +352 -0
  1023. package/dist/modes/interactive/theme/theme.d.ts +122 -0
  1024. package/dist/modes/interactive/theme/theme.d.ts.map +1 -0
  1025. package/dist/modes/interactive/theme/theme.js +1093 -0
  1026. package/dist/modes/interactive/theme/theme.js.map +1 -0
  1027. package/dist/modes/json-event.d.ts +34 -0
  1028. package/dist/modes/json-event.d.ts.map +1 -0
  1029. package/dist/modes/json-event.js +29 -0
  1030. package/dist/modes/json-event.js.map +1 -0
  1031. package/dist/modes/print-mode.d.ts +32 -0
  1032. package/dist/modes/print-mode.d.ts.map +1 -0
  1033. package/dist/modes/print-mode.js +205 -0
  1034. package/dist/modes/print-mode.js.map +1 -0
  1035. package/dist/modes/rpc/jsonl.d.ts +17 -0
  1036. package/dist/modes/rpc/jsonl.d.ts.map +1 -0
  1037. package/dist/modes/rpc/jsonl.js +49 -0
  1038. package/dist/modes/rpc/jsonl.js.map +1 -0
  1039. package/dist/modes/rpc/rpc-client.d.ts +254 -0
  1040. package/dist/modes/rpc/rpc-client.d.ts.map +1 -0
  1041. package/dist/modes/rpc/rpc-client.js +496 -0
  1042. package/dist/modes/rpc/rpc-client.js.map +1 -0
  1043. package/dist/modes/rpc/rpc-mode.d.ts +53 -0
  1044. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
  1045. package/dist/modes/rpc/rpc-mode.js +540 -0
  1046. package/dist/modes/rpc/rpc-mode.js.map +1 -0
  1047. package/dist/modes/rpc/rpc-types.d.ts +486 -0
  1048. package/dist/modes/rpc/rpc-types.d.ts.map +1 -0
  1049. package/dist/modes/rpc/rpc-types.js +8 -0
  1050. package/dist/modes/rpc/rpc-types.js.map +1 -0
  1051. package/dist/package-manager-cli.d.ts +18 -0
  1052. package/dist/package-manager-cli.d.ts.map +1 -0
  1053. package/dist/package-manager-cli.js +944 -0
  1054. package/dist/package-manager-cli.js.map +1 -0
  1055. package/dist/plugins/ecosystem/active-bindings.d.ts +92 -0
  1056. package/dist/plugins/ecosystem/active-bindings.d.ts.map +1 -0
  1057. package/dist/plugins/ecosystem/active-bindings.js +198 -0
  1058. package/dist/plugins/ecosystem/active-bindings.js.map +1 -0
  1059. package/dist/plugins/ecosystem/bootstrap-factory-manifest.d.ts +32 -0
  1060. package/dist/plugins/ecosystem/bootstrap-factory-manifest.d.ts.map +1 -0
  1061. package/dist/plugins/ecosystem/bootstrap-factory-manifest.js +32 -0
  1062. package/dist/plugins/ecosystem/bootstrap-factory-manifest.js.map +1 -0
  1063. package/dist/plugins/ecosystem/catalog.d.ts +38 -0
  1064. package/dist/plugins/ecosystem/catalog.d.ts.map +1 -0
  1065. package/dist/plugins/ecosystem/catalog.js +90 -0
  1066. package/dist/plugins/ecosystem/catalog.js.map +1 -0
  1067. package/dist/plugins/ecosystem/cli.d.ts +102 -0
  1068. package/dist/plugins/ecosystem/cli.d.ts.map +1 -0
  1069. package/dist/plugins/ecosystem/cli.js +970 -0
  1070. package/dist/plugins/ecosystem/cli.js.map +1 -0
  1071. package/dist/plugins/ecosystem/default-active-bindings.d.ts +33 -0
  1072. package/dist/plugins/ecosystem/default-active-bindings.d.ts.map +1 -0
  1073. package/dist/plugins/ecosystem/default-active-bindings.js +105 -0
  1074. package/dist/plugins/ecosystem/default-active-bindings.js.map +1 -0
  1075. package/dist/plugins/ecosystem/default-plugin-market.d.ts +68 -0
  1076. package/dist/plugins/ecosystem/default-plugin-market.d.ts.map +1 -0
  1077. package/dist/plugins/ecosystem/default-plugin-market.js +146 -0
  1078. package/dist/plugins/ecosystem/default-plugin-market.js.map +1 -0
  1079. package/dist/plugins/ecosystem/distribution.d.ts +113 -0
  1080. package/dist/plugins/ecosystem/distribution.d.ts.map +1 -0
  1081. package/dist/plugins/ecosystem/distribution.js +371 -0
  1082. package/dist/plugins/ecosystem/distribution.js.map +1 -0
  1083. package/dist/plugins/ecosystem/index.d.ts +56 -0
  1084. package/dist/plugins/ecosystem/index.d.ts.map +1 -0
  1085. package/dist/plugins/ecosystem/index.js +31 -0
  1086. package/dist/plugins/ecosystem/index.js.map +1 -0
  1087. package/dist/plugins/ecosystem/installer.d.ts +130 -0
  1088. package/dist/plugins/ecosystem/installer.d.ts.map +1 -0
  1089. package/dist/plugins/ecosystem/installer.js +316 -0
  1090. package/dist/plugins/ecosystem/installer.js.map +1 -0
  1091. package/dist/plugins/ecosystem/node-disk-registry-source.d.ts +47 -0
  1092. package/dist/plugins/ecosystem/node-disk-registry-source.d.ts.map +1 -0
  1093. package/dist/plugins/ecosystem/node-disk-registry-source.js +208 -0
  1094. package/dist/plugins/ecosystem/node-disk-registry-source.js.map +1 -0
  1095. package/dist/plugins/ecosystem/node-distribution-host.d.ts +55 -0
  1096. package/dist/plugins/ecosystem/node-distribution-host.d.ts.map +1 -0
  1097. package/dist/plugins/ecosystem/node-distribution-host.js +423 -0
  1098. package/dist/plugins/ecosystem/node-distribution-host.js.map +1 -0
  1099. package/dist/plugins/ecosystem/node-local-package-source.d.ts +10 -0
  1100. package/dist/plugins/ecosystem/node-local-package-source.d.ts.map +1 -0
  1101. package/dist/plugins/ecosystem/node-local-package-source.js +97 -0
  1102. package/dist/plugins/ecosystem/node-local-package-source.js.map +1 -0
  1103. package/dist/plugins/ecosystem/node-npm-registry-source.d.ts +58 -0
  1104. package/dist/plugins/ecosystem/node-npm-registry-source.d.ts.map +1 -0
  1105. package/dist/plugins/ecosystem/node-npm-registry-source.js +326 -0
  1106. package/dist/plugins/ecosystem/node-npm-registry-source.js.map +1 -0
  1107. package/dist/plugins/ecosystem/node-package-install-host.d.ts +91 -0
  1108. package/dist/plugins/ecosystem/node-package-install-host.d.ts.map +1 -0
  1109. package/dist/plugins/ecosystem/node-package-install-host.js +857 -0
  1110. package/dist/plugins/ecosystem/node-package-install-host.js.map +1 -0
  1111. package/dist/plugins/ecosystem/node-package-install-persistence.d.ts +34 -0
  1112. package/dist/plugins/ecosystem/node-package-install-persistence.d.ts.map +1 -0
  1113. package/dist/plugins/ecosystem/node-package-install-persistence.js +221 -0
  1114. package/dist/plugins/ecosystem/node-package-install-persistence.js.map +1 -0
  1115. package/dist/plugins/ecosystem/node-package-install-stack.d.ts +28 -0
  1116. package/dist/plugins/ecosystem/node-package-install-stack.d.ts.map +1 -0
  1117. package/dist/plugins/ecosystem/node-package-install-stack.js +65 -0
  1118. package/dist/plugins/ecosystem/node-package-install-stack.js.map +1 -0
  1119. package/dist/plugins/ecosystem/node-package-media.d.ts +14 -0
  1120. package/dist/plugins/ecosystem/node-package-media.d.ts.map +1 -0
  1121. package/dist/plugins/ecosystem/node-package-media.js +36 -0
  1122. package/dist/plugins/ecosystem/node-package-media.js.map +1 -0
  1123. package/dist/plugins/ecosystem/node-plugin-acquisition-host.d.ts +83 -0
  1124. package/dist/plugins/ecosystem/node-plugin-acquisition-host.d.ts.map +1 -0
  1125. package/dist/plugins/ecosystem/node-plugin-acquisition-host.js +423 -0
  1126. package/dist/plugins/ecosystem/node-plugin-acquisition-host.js.map +1 -0
  1127. package/dist/plugins/ecosystem/node-plugin-bootstrap.d.ts +48 -0
  1128. package/dist/plugins/ecosystem/node-plugin-bootstrap.d.ts.map +1 -0
  1129. package/dist/plugins/ecosystem/node-plugin-bootstrap.js +191 -0
  1130. package/dist/plugins/ecosystem/node-plugin-bootstrap.js.map +1 -0
  1131. package/dist/plugins/ecosystem/node-plugin-trust-root.d.ts +26 -0
  1132. package/dist/plugins/ecosystem/node-plugin-trust-root.d.ts.map +1 -0
  1133. package/dist/plugins/ecosystem/node-plugin-trust-root.js +120 -0
  1134. package/dist/plugins/ecosystem/node-plugin-trust-root.js.map +1 -0
  1135. package/dist/plugins/ecosystem/node-registry-source.d.ts +35 -0
  1136. package/dist/plugins/ecosystem/node-registry-source.d.ts.map +1 -0
  1137. package/dist/plugins/ecosystem/node-registry-source.js +286 -0
  1138. package/dist/plugins/ecosystem/node-registry-source.js.map +1 -0
  1139. package/dist/plugins/ecosystem/node-release-package-source.d.ts +47 -0
  1140. package/dist/plugins/ecosystem/node-release-package-source.d.ts.map +1 -0
  1141. package/dist/plugins/ecosystem/node-release-package-source.js +336 -0
  1142. package/dist/plugins/ecosystem/node-release-package-source.js.map +1 -0
  1143. package/dist/plugins/ecosystem/node-tar-package.d.ts +11 -0
  1144. package/dist/plugins/ecosystem/node-tar-package.d.ts.map +1 -0
  1145. package/dist/plugins/ecosystem/node-tar-package.js +294 -0
  1146. package/dist/plugins/ecosystem/node-tar-package.js.map +1 -0
  1147. package/dist/plugins/ecosystem/node-tar-writer.d.ts +16 -0
  1148. package/dist/plugins/ecosystem/node-tar-writer.d.ts.map +1 -0
  1149. package/dist/plugins/ecosystem/node-tar-writer.js +134 -0
  1150. package/dist/plugins/ecosystem/node-tar-writer.js.map +1 -0
  1151. package/dist/plugins/ecosystem/node-url-package-source.d.ts +31 -0
  1152. package/dist/plugins/ecosystem/node-url-package-source.d.ts.map +1 -0
  1153. package/dist/plugins/ecosystem/node-url-package-source.js +159 -0
  1154. package/dist/plugins/ecosystem/node-url-package-source.js.map +1 -0
  1155. package/dist/plugins/ecosystem/plugin-acquisition.d.ts +88 -0
  1156. package/dist/plugins/ecosystem/plugin-acquisition.d.ts.map +1 -0
  1157. package/dist/plugins/ecosystem/plugin-acquisition.js +197 -0
  1158. package/dist/plugins/ecosystem/plugin-acquisition.js.map +1 -0
  1159. package/dist/plugins/ecosystem/plugin-bootstrap.d.ts +87 -0
  1160. package/dist/plugins/ecosystem/plugin-bootstrap.d.ts.map +1 -0
  1161. package/dist/plugins/ecosystem/plugin-bootstrap.js +134 -0
  1162. package/dist/plugins/ecosystem/plugin-bootstrap.js.map +1 -0
  1163. package/dist/plugins/ecosystem/registry-cli-adapter.d.ts +8 -0
  1164. package/dist/plugins/ecosystem/registry-cli-adapter.d.ts.map +1 -0
  1165. package/dist/plugins/ecosystem/registry-cli-adapter.js +16 -0
  1166. package/dist/plugins/ecosystem/registry-cli-adapter.js.map +1 -0
  1167. package/dist/plugins/ecosystem/registry.d.ts +121 -0
  1168. package/dist/plugins/ecosystem/registry.d.ts.map +1 -0
  1169. package/dist/plugins/ecosystem/registry.js +324 -0
  1170. package/dist/plugins/ecosystem/registry.js.map +1 -0
  1171. package/dist/plugins/ecosystem/resolver.d.ts +32 -0
  1172. package/dist/plugins/ecosystem/resolver.d.ts.map +1 -0
  1173. package/dist/plugins/ecosystem/resolver.js +325 -0
  1174. package/dist/plugins/ecosystem/resolver.js.map +1 -0
  1175. package/dist/plugins/ecosystem/selection-store.d.ts +66 -0
  1176. package/dist/plugins/ecosystem/selection-store.d.ts.map +1 -0
  1177. package/dist/plugins/ecosystem/selection-store.js +241 -0
  1178. package/dist/plugins/ecosystem/selection-store.js.map +1 -0
  1179. package/dist/plugins/ecosystem/selection.d.ts +54 -0
  1180. package/dist/plugins/ecosystem/selection.d.ts.map +1 -0
  1181. package/dist/plugins/ecosystem/selection.js +116 -0
  1182. package/dist/plugins/ecosystem/selection.js.map +1 -0
  1183. package/dist/plugins/ecosystem/state.d.ts +96 -0
  1184. package/dist/plugins/ecosystem/state.d.ts.map +1 -0
  1185. package/dist/plugins/ecosystem/state.js +346 -0
  1186. package/dist/plugins/ecosystem/state.js.map +1 -0
  1187. package/dist/plugins/ecosystem/types.d.ts +90 -0
  1188. package/dist/plugins/ecosystem/types.d.ts.map +1 -0
  1189. package/dist/plugins/ecosystem/types.js +8 -0
  1190. package/dist/plugins/ecosystem/types.js.map +1 -0
  1191. package/dist/plugins/ecosystem/updates.d.ts +30 -0
  1192. package/dist/plugins/ecosystem/updates.d.ts.map +1 -0
  1193. package/dist/plugins/ecosystem/updates.js +148 -0
  1194. package/dist/plugins/ecosystem/updates.js.map +1 -0
  1195. package/dist/plugins/integrity-adapter.d.ts +58 -0
  1196. package/dist/plugins/integrity-adapter.d.ts.map +1 -0
  1197. package/dist/plugins/integrity-adapter.js +70 -0
  1198. package/dist/plugins/integrity-adapter.js.map +1 -0
  1199. package/dist/plugins/mcp-http.d.ts +78 -0
  1200. package/dist/plugins/mcp-http.d.ts.map +1 -0
  1201. package/dist/plugins/mcp-http.js +176 -0
  1202. package/dist/plugins/mcp-http.js.map +1 -0
  1203. package/dist/plugins/observability-types.d.ts +9 -0
  1204. package/dist/plugins/observability-types.d.ts.map +1 -0
  1205. package/dist/plugins/observability-types.js +9 -0
  1206. package/dist/plugins/observability-types.js.map +1 -0
  1207. package/dist/plugins/plugin-host.d.ts +46 -0
  1208. package/dist/plugins/plugin-host.d.ts.map +1 -0
  1209. package/dist/plugins/plugin-host.js +80 -0
  1210. package/dist/plugins/plugin-host.js.map +1 -0
  1211. package/dist/plugins/plugin-supervisor.d.ts +77 -0
  1212. package/dist/plugins/plugin-supervisor.d.ts.map +1 -0
  1213. package/dist/plugins/plugin-supervisor.js +82 -0
  1214. package/dist/plugins/plugin-supervisor.js.map +1 -0
  1215. package/dist/plugins/subagent-task/runner-entry.d.ts +35 -0
  1216. package/dist/plugins/subagent-task/runner-entry.d.ts.map +1 -0
  1217. package/dist/plugins/subagent-task/runner-entry.js +39 -0
  1218. package/dist/plugins/subagent-task/runner-entry.js.map +1 -0
  1219. package/dist/plugins/subagent-task/session-factory.d.ts +57 -0
  1220. package/dist/plugins/subagent-task/session-factory.d.ts.map +1 -0
  1221. package/dist/plugins/subagent-task/session-factory.js +51 -0
  1222. package/dist/plugins/subagent-task/session-factory.js.map +1 -0
  1223. package/dist/profile/child-facade.d.ts +44 -0
  1224. package/dist/profile/child-facade.d.ts.map +1 -0
  1225. package/dist/profile/child-facade.js +56 -0
  1226. package/dist/profile/child-facade.js.map +1 -0
  1227. package/dist/profile/dependency-wiring.d.ts +48 -0
  1228. package/dist/profile/dependency-wiring.d.ts.map +1 -0
  1229. package/dist/profile/dependency-wiring.js +56 -0
  1230. package/dist/profile/dependency-wiring.js.map +1 -0
  1231. package/dist/profile/domain-recovery.d.ts +60 -0
  1232. package/dist/profile/domain-recovery.d.ts.map +1 -0
  1233. package/dist/profile/domain-recovery.js +94 -0
  1234. package/dist/profile/domain-recovery.js.map +1 -0
  1235. package/dist/profile/first-roles.d.ts +30 -0
  1236. package/dist/profile/first-roles.d.ts.map +1 -0
  1237. package/dist/profile/first-roles.js +74 -0
  1238. package/dist/profile/first-roles.js.map +1 -0
  1239. package/dist/profile/goal-plugin.d.ts +38 -0
  1240. package/dist/profile/goal-plugin.d.ts.map +1 -0
  1241. package/dist/profile/goal-plugin.js +113 -0
  1242. package/dist/profile/goal-plugin.js.map +1 -0
  1243. package/dist/profile/identity.d.ts +58 -0
  1244. package/dist/profile/identity.d.ts.map +1 -0
  1245. package/dist/profile/identity.js +100 -0
  1246. package/dist/profile/identity.js.map +1 -0
  1247. package/dist/profile/lock.d.ts +59 -0
  1248. package/dist/profile/lock.d.ts.map +1 -0
  1249. package/dist/profile/lock.js +59 -0
  1250. package/dist/profile/lock.js.map +1 -0
  1251. package/dist/profile/plan-plugin.d.ts +44 -0
  1252. package/dist/profile/plan-plugin.d.ts.map +1 -0
  1253. package/dist/profile/plan-plugin.js +144 -0
  1254. package/dist/profile/plan-plugin.js.map +1 -0
  1255. package/dist/profile/plugin-profiles.d.ts +56 -0
  1256. package/dist/profile/plugin-profiles.d.ts.map +1 -0
  1257. package/dist/profile/plugin-profiles.js +192 -0
  1258. package/dist/profile/plugin-profiles.js.map +1 -0
  1259. package/dist/profile/policy-manifest.d.ts +53 -0
  1260. package/dist/profile/policy-manifest.d.ts.map +1 -0
  1261. package/dist/profile/policy-manifest.js +52 -0
  1262. package/dist/profile/policy-manifest.js.map +1 -0
  1263. package/dist/profile/profile-assembly.d.ts +74 -0
  1264. package/dist/profile/profile-assembly.d.ts.map +1 -0
  1265. package/dist/profile/profile-assembly.js +90 -0
  1266. package/dist/profile/profile-assembly.js.map +1 -0
  1267. package/dist/profile/profile-migration.d.ts +56 -0
  1268. package/dist/profile/profile-migration.d.ts.map +1 -0
  1269. package/dist/profile/profile-migration.js +60 -0
  1270. package/dist/profile/profile-migration.js.map +1 -0
  1271. package/dist/profile/profile-registry.d.ts +58 -0
  1272. package/dist/profile/profile-registry.d.ts.map +1 -0
  1273. package/dist/profile/profile-registry.js +74 -0
  1274. package/dist/profile/profile-registry.js.map +1 -0
  1275. package/dist/profile/role-assembly.d.ts +47 -0
  1276. package/dist/profile/role-assembly.d.ts.map +1 -0
  1277. package/dist/profile/role-assembly.js +31 -0
  1278. package/dist/profile/role-assembly.js.map +1 -0
  1279. package/dist/profile/role-catalog.d.ts +44 -0
  1280. package/dist/profile/role-catalog.d.ts.map +1 -0
  1281. package/dist/profile/role-catalog.js +130 -0
  1282. package/dist/profile/role-catalog.js.map +1 -0
  1283. package/dist/profile/role-orchestrator.d.ts +123 -0
  1284. package/dist/profile/role-orchestrator.d.ts.map +1 -0
  1285. package/dist/profile/role-orchestrator.js +194 -0
  1286. package/dist/profile/role-orchestrator.js.map +1 -0
  1287. package/dist/profile/role-runner.d.ts +99 -0
  1288. package/dist/profile/role-runner.d.ts.map +1 -0
  1289. package/dist/profile/role-runner.js +78 -0
  1290. package/dist/profile/role-runner.js.map +1 -0
  1291. package/dist/profile/root-facade.d.ts +36 -0
  1292. package/dist/profile/root-facade.d.ts.map +1 -0
  1293. package/dist/profile/root-facade.js +48 -0
  1294. package/dist/profile/root-facade.js.map +1 -0
  1295. package/dist/profile/skill-discovery-wiring.d.ts +58 -0
  1296. package/dist/profile/skill-discovery-wiring.d.ts.map +1 -0
  1297. package/dist/profile/skill-discovery-wiring.js +75 -0
  1298. package/dist/profile/skill-discovery-wiring.js.map +1 -0
  1299. package/dist/profile/state-store.d.ts +62 -0
  1300. package/dist/profile/state-store.d.ts.map +1 -0
  1301. package/dist/profile/state-store.js +140 -0
  1302. package/dist/profile/state-store.js.map +1 -0
  1303. package/dist/profile/todo-plugin.d.ts +37 -0
  1304. package/dist/profile/todo-plugin.d.ts.map +1 -0
  1305. package/dist/profile/todo-plugin.js +132 -0
  1306. package/dist/profile/todo-plugin.js.map +1 -0
  1307. package/dist/profiles/builtin-suites.d.ts +142 -0
  1308. package/dist/profiles/builtin-suites.d.ts.map +1 -0
  1309. package/dist/profiles/builtin-suites.js +395 -0
  1310. package/dist/profiles/builtin-suites.js.map +1 -0
  1311. package/dist/profiles/resolved-agent-profile.d.ts +83 -0
  1312. package/dist/profiles/resolved-agent-profile.d.ts.map +1 -0
  1313. package/dist/profiles/resolved-agent-profile.js +75 -0
  1314. package/dist/profiles/resolved-agent-profile.js.map +1 -0
  1315. package/dist/profiles/suite-lifecycle.d.ts +158 -0
  1316. package/dist/profiles/suite-lifecycle.d.ts.map +1 -0
  1317. package/dist/profiles/suite-lifecycle.js +447 -0
  1318. package/dist/profiles/suite-lifecycle.js.map +1 -0
  1319. package/dist/profiles/suite-loader.d.ts +410 -0
  1320. package/dist/profiles/suite-loader.d.ts.map +1 -0
  1321. package/dist/profiles/suite-loader.js +823 -0
  1322. package/dist/profiles/suite-loader.js.map +1 -0
  1323. package/dist/remote/server-assembly.d.ts +230 -0
  1324. package/dist/remote/server-assembly.d.ts.map +1 -0
  1325. package/dist/remote/server-assembly.js +1189 -0
  1326. package/dist/remote/server-assembly.js.map +1 -0
  1327. package/dist/remote/server-entry.d.ts +112 -0
  1328. package/dist/remote/server-entry.d.ts.map +1 -0
  1329. package/dist/remote/server-entry.js +239 -0
  1330. package/dist/remote/server-entry.js.map +1 -0
  1331. package/dist/remote/session-source.d.ts +101 -0
  1332. package/dist/remote/session-source.d.ts.map +1 -0
  1333. package/dist/remote/session-source.js +173 -0
  1334. package/dist/remote/session-source.js.map +1 -0
  1335. package/dist/rpc-entry.d.ts +3 -0
  1336. package/dist/rpc-entry.d.ts.map +1 -0
  1337. package/dist/rpc-entry.js +11 -0
  1338. package/dist/rpc-entry.js.map +1 -0
  1339. package/dist/server/create-harness.d.ts +26 -0
  1340. package/dist/server/create-harness.d.ts.map +1 -0
  1341. package/dist/server/create-harness.js +106 -0
  1342. package/dist/server/create-harness.js.map +1 -0
  1343. package/dist/share/session-share.d.ts +98 -0
  1344. package/dist/share/session-share.d.ts.map +1 -0
  1345. package/dist/share/session-share.js +89 -0
  1346. package/dist/share/session-share.js.map +1 -0
  1347. package/dist/share/share-viewer.d.ts +43 -0
  1348. package/dist/share/share-viewer.d.ts.map +1 -0
  1349. package/dist/share/share-viewer.js +103 -0
  1350. package/dist/share/share-viewer.js.map +1 -0
  1351. package/dist/testing/index.d.ts +4 -0
  1352. package/dist/testing/index.d.ts.map +1 -0
  1353. package/dist/testing/index.js +6 -0
  1354. package/dist/testing/index.js.map +1 -0
  1355. package/dist/testing/mock-ai-server.d.ts +77 -0
  1356. package/dist/testing/mock-ai-server.d.ts.map +1 -0
  1357. package/dist/testing/mock-ai-server.js +69 -0
  1358. package/dist/testing/mock-ai-server.js.map +1 -0
  1359. package/dist/testing/plugin-testkit.d.ts +148 -0
  1360. package/dist/testing/plugin-testkit.d.ts.map +1 -0
  1361. package/dist/testing/plugin-testkit.js +493 -0
  1362. package/dist/testing/plugin-testkit.js.map +1 -0
  1363. package/dist/testing/runtime-delivery-queue.d.ts +47 -0
  1364. package/dist/testing/runtime-delivery-queue.d.ts.map +1 -0
  1365. package/dist/testing/runtime-delivery-queue.js +158 -0
  1366. package/dist/testing/runtime-delivery-queue.js.map +1 -0
  1367. package/dist/testing/session-plugin-testkit.d.ts +144 -0
  1368. package/dist/testing/session-plugin-testkit.d.ts.map +1 -0
  1369. package/dist/testing/session-plugin-testkit.js +444 -0
  1370. package/dist/testing/session-plugin-testkit.js.map +1 -0
  1371. package/dist/utils/abort.d.ts +5 -0
  1372. package/dist/utils/abort.d.ts.map +1 -0
  1373. package/dist/utils/abort.js +53 -0
  1374. package/dist/utils/abort.js.map +1 -0
  1375. package/dist/utils/agent-forge-user-agent.d.ts +2 -0
  1376. package/dist/utils/agent-forge-user-agent.d.ts.map +1 -0
  1377. package/dist/utils/agent-forge-user-agent.js +5 -0
  1378. package/dist/utils/agent-forge-user-agent.js.map +1 -0
  1379. package/dist/utils/ansi.d.ts +2 -0
  1380. package/dist/utils/ansi.d.ts.map +1 -0
  1381. package/dist/utils/ansi.js +53 -0
  1382. package/dist/utils/ansi.js.map +1 -0
  1383. package/dist/utils/changelog.d.ts +22 -0
  1384. package/dist/utils/changelog.d.ts.map +1 -0
  1385. package/dist/utils/changelog.js +165 -0
  1386. package/dist/utils/changelog.js.map +1 -0
  1387. package/dist/utils/child-process.d.ts +18 -0
  1388. package/dist/utils/child-process.d.ts.map +1 -0
  1389. package/dist/utils/child-process.js +107 -0
  1390. package/dist/utils/child-process.js.map +1 -0
  1391. package/dist/utils/clipboard-image.d.ts +11 -0
  1392. package/dist/utils/clipboard-image.d.ts.map +1 -0
  1393. package/dist/utils/clipboard-image.js +246 -0
  1394. package/dist/utils/clipboard-image.js.map +1 -0
  1395. package/dist/utils/clipboard-native.d.ts +11 -0
  1396. package/dist/utils/clipboard-native.d.ts.map +1 -0
  1397. package/dist/utils/clipboard-native.js +22 -0
  1398. package/dist/utils/clipboard-native.js.map +1 -0
  1399. package/dist/utils/clipboard.d.ts +4 -0
  1400. package/dist/utils/clipboard.d.ts.map +1 -0
  1401. package/dist/utils/clipboard.js +161 -0
  1402. package/dist/utils/clipboard.js.map +1 -0
  1403. package/dist/utils/deprecation.d.ts +4 -0
  1404. package/dist/utils/deprecation.d.ts.map +1 -0
  1405. package/dist/utils/deprecation.js +13 -0
  1406. package/dist/utils/deprecation.js.map +1 -0
  1407. package/dist/utils/exif-orientation.d.ts +5 -0
  1408. package/dist/utils/exif-orientation.d.ts.map +1 -0
  1409. package/dist/utils/exif-orientation.js +158 -0
  1410. package/dist/utils/exif-orientation.js.map +1 -0
  1411. package/dist/utils/frontmatter.d.ts +8 -0
  1412. package/dist/utils/frontmatter.d.ts.map +1 -0
  1413. package/dist/utils/frontmatter.js +27 -0
  1414. package/dist/utils/frontmatter.js.map +1 -0
  1415. package/dist/utils/fs-watch.d.ts +5 -0
  1416. package/dist/utils/fs-watch.d.ts.map +1 -0
  1417. package/dist/utils/fs-watch.js +25 -0
  1418. package/dist/utils/fs-watch.js.map +1 -0
  1419. package/dist/utils/git.d.ts +26 -0
  1420. package/dist/utils/git.d.ts.map +1 -0
  1421. package/dist/utils/git.js +201 -0
  1422. package/dist/utils/git.js.map +1 -0
  1423. package/dist/utils/html.d.ts +7 -0
  1424. package/dist/utils/html.d.ts.map +1 -0
  1425. package/dist/utils/html.js +40 -0
  1426. package/dist/utils/html.js.map +1 -0
  1427. package/dist/utils/image-convert.d.ts +10 -0
  1428. package/dist/utils/image-convert.d.ts.map +1 -0
  1429. package/dist/utils/image-convert.js +45 -0
  1430. package/dist/utils/image-convert.js.map +1 -0
  1431. package/dist/utils/image-process.d.ts +18 -0
  1432. package/dist/utils/image-process.d.ts.map +1 -0
  1433. package/dist/utils/image-process.js +84 -0
  1434. package/dist/utils/image-process.js.map +1 -0
  1435. package/dist/utils/image-resize-core.d.ts +30 -0
  1436. package/dist/utils/image-resize-core.d.ts.map +1 -0
  1437. package/dist/utils/image-resize-core.js +125 -0
  1438. package/dist/utils/image-resize-core.js.map +1 -0
  1439. package/dist/utils/image-resize-worker.d.ts +2 -0
  1440. package/dist/utils/image-resize-worker.d.ts.map +1 -0
  1441. package/dist/utils/image-resize-worker.js +31 -0
  1442. package/dist/utils/image-resize-worker.js.map +1 -0
  1443. package/dist/utils/image-resize.d.ts +16 -0
  1444. package/dist/utils/image-resize.d.ts.map +1 -0
  1445. package/dist/utils/image-resize.js +100 -0
  1446. package/dist/utils/image-resize.js.map +1 -0
  1447. package/dist/utils/json.d.ts +3 -0
  1448. package/dist/utils/json.d.ts.map +1 -0
  1449. package/dist/utils/json.js +8 -0
  1450. package/dist/utils/json.js.map +1 -0
  1451. package/dist/utils/management-http.d.ts +25 -0
  1452. package/dist/utils/management-http.d.ts.map +1 -0
  1453. package/dist/utils/management-http.js +54 -0
  1454. package/dist/utils/management-http.js.map +1 -0
  1455. package/dist/utils/mime.d.ts +3 -0
  1456. package/dist/utils/mime.d.ts.map +1 -0
  1457. package/dist/utils/mime.js +115 -0
  1458. package/dist/utils/mime.js.map +1 -0
  1459. package/dist/utils/open-browser.d.ts +9 -0
  1460. package/dist/utils/open-browser.d.ts.map +1 -0
  1461. package/dist/utils/open-browser.js +22 -0
  1462. package/dist/utils/open-browser.js.map +1 -0
  1463. package/dist/utils/paths.d.ts +34 -0
  1464. package/dist/utils/paths.d.ts.map +1 -0
  1465. package/dist/utils/paths.js +114 -0
  1466. package/dist/utils/paths.js.map +1 -0
  1467. package/dist/utils/photon.d.ts +21 -0
  1468. package/dist/utils/photon.d.ts.map +1 -0
  1469. package/dist/utils/photon.js +124 -0
  1470. package/dist/utils/photon.js.map +1 -0
  1471. package/dist/utils/shell.d.ts +34 -0
  1472. package/dist/utils/shell.d.ts.map +1 -0
  1473. package/dist/utils/shell.js +216 -0
  1474. package/dist/utils/shell.js.map +1 -0
  1475. package/dist/utils/sleep.d.ts +5 -0
  1476. package/dist/utils/sleep.d.ts.map +1 -0
  1477. package/dist/utils/sleep.js +17 -0
  1478. package/dist/utils/sleep.js.map +1 -0
  1479. package/dist/utils/sync-sleep.d.ts +2 -0
  1480. package/dist/utils/sync-sleep.d.ts.map +1 -0
  1481. package/dist/utils/sync-sleep.js +11 -0
  1482. package/dist/utils/sync-sleep.js.map +1 -0
  1483. package/dist/utils/syntax-highlight.d.ts +13 -0
  1484. package/dist/utils/syntax-highlight.d.ts.map +1 -0
  1485. package/dist/utils/syntax-highlight.js +177 -0
  1486. package/dist/utils/syntax-highlight.js.map +1 -0
  1487. package/dist/utils/text.d.ts +8 -0
  1488. package/dist/utils/text.d.ts.map +1 -0
  1489. package/dist/utils/text.js +9 -0
  1490. package/dist/utils/text.js.map +1 -0
  1491. package/dist/utils/tool-result-images.d.ts +19 -0
  1492. package/dist/utils/tool-result-images.d.ts.map +1 -0
  1493. package/dist/utils/tool-result-images.js +45 -0
  1494. package/dist/utils/tool-result-images.js.map +1 -0
  1495. package/dist/utils/tools-manager.d.ts +24 -0
  1496. package/dist/utils/tools-manager.d.ts.map +1 -0
  1497. package/dist/utils/tools-manager.js +437 -0
  1498. package/dist/utils/tools-manager.js.map +1 -0
  1499. package/dist/utils/version-check.d.ts +21 -0
  1500. package/dist/utils/version-check.d.ts.map +1 -0
  1501. package/dist/utils/version-check.js +86 -0
  1502. package/dist/utils/version-check.js.map +1 -0
  1503. package/dist/utils/windows-self-update.d.ts +3 -0
  1504. package/dist/utils/windows-self-update.d.ts.map +1 -0
  1505. package/dist/utils/windows-self-update.js +77 -0
  1506. package/dist/utils/windows-self-update.js.map +1 -0
  1507. package/docs/compaction.md +348 -0
  1508. package/docs/containerization.md +114 -0
  1509. package/docs/development.md +71 -0
  1510. package/docs/docs.json +148 -0
  1511. package/docs/environment-variables.md +96 -0
  1512. package/docs/images/exy.png +0 -0
  1513. package/docs/images/interactive-mode.png +0 -0
  1514. package/docs/images/tree-view.png +0 -0
  1515. package/docs/index.md +76 -0
  1516. package/docs/json.md +98 -0
  1517. package/docs/keybindings.md +245 -0
  1518. package/docs/llama-cpp.md +101 -0
  1519. package/docs/models.md +576 -0
  1520. package/docs/packages.md +205 -0
  1521. package/docs/prompt-templates.md +96 -0
  1522. package/docs/providers.md +317 -0
  1523. package/docs/quickstart.md +167 -0
  1524. package/docs/rpc.md +1487 -0
  1525. package/docs/sdk.md +1146 -0
  1526. package/docs/security.md +24 -0
  1527. package/docs/session-format.md +438 -0
  1528. package/docs/sessions.md +145 -0
  1529. package/docs/settings.md +355 -0
  1530. package/docs/shell-aliases.md +13 -0
  1531. package/docs/skills.md +231 -0
  1532. package/docs/terminal-setup.md +192 -0
  1533. package/docs/termux.md +127 -0
  1534. package/docs/themes.md +320 -0
  1535. package/docs/tmux.md +63 -0
  1536. package/docs/tui.md +478 -0
  1537. package/docs/usage.md +291 -0
  1538. package/docs/windows.md +39 -0
  1539. package/examples/README.md +21 -0
  1540. package/examples/extensions/README.md +163 -0
  1541. package/examples/extensions/bash-spawn-hook/index.ts +37 -0
  1542. package/examples/extensions/bash-spawn-hook/plugin.json +10 -0
  1543. package/examples/extensions/bookmark/index.ts +67 -0
  1544. package/examples/extensions/bookmark/plugin.json +11 -0
  1545. package/examples/extensions/built-in-tool-renderer/index.ts +262 -0
  1546. package/examples/extensions/built-in-tool-renderer/plugin.json +10 -0
  1547. package/examples/extensions/claude-rules/index.ts +119 -0
  1548. package/examples/extensions/claude-rules/plugin.json +8 -0
  1549. package/examples/extensions/cli-bridge/README.md +27 -0
  1550. package/examples/extensions/cli-bridge/index.ts +320 -0
  1551. package/examples/extensions/cli-bridge/plugin.json +10 -0
  1552. package/examples/extensions/dynamic-resources/SKILL.md +8 -0
  1553. package/examples/extensions/dynamic-resources/dynamic.json +79 -0
  1554. package/examples/extensions/dynamic-resources/dynamic.md +5 -0
  1555. package/examples/extensions/dynamic-resources/index.ts +53 -0
  1556. package/examples/extensions/dynamic-resources/plugin.json +8 -0
  1557. package/examples/extensions/dynamic-tools/index.ts +102 -0
  1558. package/examples/extensions/dynamic-tools/plugin.json +14 -0
  1559. package/examples/extensions/event-bus/index.ts +75 -0
  1560. package/examples/extensions/event-bus/plugin.json +13 -0
  1561. package/examples/extensions/file-trigger/index.ts +65 -0
  1562. package/examples/extensions/file-trigger/plugin.json +13 -0
  1563. package/examples/extensions/goal/README.md +16 -0
  1564. package/examples/extensions/goal/index.ts +134 -0
  1565. package/examples/extensions/goal/plugin.json +12 -0
  1566. package/examples/extensions/hello/index.ts +29 -0
  1567. package/examples/extensions/hello/plugin.json +10 -0
  1568. package/examples/extensions/kimi-deferred-tools/index.ts +93 -0
  1569. package/examples/extensions/kimi-deferred-tools/plugin.json +11 -0
  1570. package/examples/extensions/mcp-stdio/README.md +19 -0
  1571. package/examples/extensions/mcp-stdio/index.d.ts +64 -0
  1572. package/examples/extensions/mcp-stdio/index.d.ts.map +1 -0
  1573. package/examples/extensions/mcp-stdio/index.js +292 -0
  1574. package/examples/extensions/mcp-stdio/index.js.map +1 -0
  1575. package/examples/extensions/mcp-stdio/index.ts +381 -0
  1576. package/examples/extensions/mcp-stdio/plugin.json +10 -0
  1577. package/examples/extensions/memory-backend/index.ts +120 -0
  1578. package/examples/extensions/memory-backend/plugin.json +10 -0
  1579. package/examples/extensions/minimal-mode/index.ts +447 -0
  1580. package/examples/extensions/minimal-mode/plugin.json +10 -0
  1581. package/examples/extensions/multi-agent/README.md +7 -0
  1582. package/examples/extensions/multi-agent/index.ts +592 -0
  1583. package/examples/extensions/multi-agent/plugin.json +13 -0
  1584. package/examples/extensions/notify/index.ts +70 -0
  1585. package/examples/extensions/notify/plugin.json +8 -0
  1586. package/examples/extensions/permission-gate/index.ts +55 -0
  1587. package/examples/extensions/permission-gate/plugin.json +11 -0
  1588. package/examples/extensions/pirate/index.ts +75 -0
  1589. package/examples/extensions/pirate/plugin.json +8 -0
  1590. package/examples/extensions/plan/README.md +16 -0
  1591. package/examples/extensions/plan/index.ts +136 -0
  1592. package/examples/extensions/plan/plugin.json +12 -0
  1593. package/examples/extensions/prompt-customizer/index.ts +117 -0
  1594. package/examples/extensions/prompt-customizer/plugin.json +8 -0
  1595. package/examples/extensions/protected-paths/index.ts +44 -0
  1596. package/examples/extensions/protected-paths/plugin.json +11 -0
  1597. package/examples/extensions/provider-attribution/README.md +12 -0
  1598. package/examples/extensions/provider-attribution/index.ts +86 -0
  1599. package/examples/extensions/provider-attribution/plugin.json +10 -0
  1600. package/examples/extensions/send-user-message/index.ts +118 -0
  1601. package/examples/extensions/send-user-message/plugin.json +11 -0
  1602. package/examples/extensions/session-name/index.ts +31 -0
  1603. package/examples/extensions/session-name/plugin.json +11 -0
  1604. package/examples/extensions/session-share/README.md +15 -0
  1605. package/examples/extensions/session-share/index.ts +170 -0
  1606. package/examples/extensions/session-share/plugin.json +15 -0
  1607. package/examples/extensions/structured-output/index.ts +68 -0
  1608. package/examples/extensions/structured-output/plugin.json +10 -0
  1609. package/examples/extensions/subagent/README.md +177 -0
  1610. package/examples/extensions/subagent/agents/planner.md +37 -0
  1611. package/examples/extensions/subagent/agents/reviewer.md +35 -0
  1612. package/examples/extensions/subagent/agents/scout.md +50 -0
  1613. package/examples/extensions/subagent/agents/worker.md +24 -0
  1614. package/examples/extensions/subagent/agents.ts +157 -0
  1615. package/examples/extensions/subagent/index.ts +1057 -0
  1616. package/examples/extensions/subagent/plugin.json +13 -0
  1617. package/examples/extensions/subagent/prompts/implement-and-review.md +10 -0
  1618. package/examples/extensions/subagent/prompts/implement.md +10 -0
  1619. package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -0
  1620. package/examples/extensions/suite-manager/README.md +45 -0
  1621. package/examples/extensions/suite-manager/index.ts +182 -0
  1622. package/examples/extensions/suite-manager/plugin.json +13 -0
  1623. package/examples/extensions/timed-confirm/index.ts +93 -0
  1624. package/examples/extensions/timed-confirm/plugin.json +13 -0
  1625. package/examples/extensions/todo-set/README.md +18 -0
  1626. package/examples/extensions/todo-set/index.ts +133 -0
  1627. package/examples/extensions/todo-set/plugin.json +12 -0
  1628. package/examples/extensions/tool-override/index.ts +159 -0
  1629. package/examples/extensions/tool-override/plugin.json +11 -0
  1630. package/examples/extensions/trigger-compact/index.ts +76 -0
  1631. package/examples/extensions/trigger-compact/plugin.json +14 -0
  1632. package/examples/extensions/truncated-tool/index.ts +204 -0
  1633. package/examples/extensions/truncated-tool/plugin.json +10 -0
  1634. package/examples/extensions/with-deps/index.ts +42 -0
  1635. package/examples/extensions/with-deps/package-lock.json +31 -0
  1636. package/examples/extensions/with-deps/package.json +22 -0
  1637. package/examples/extensions/with-deps/plugin.json +10 -0
  1638. package/examples/remote-client.ts +66 -0
  1639. package/examples/rpc-extension-ui.ts +641 -0
  1640. package/examples/sdk/01-minimal.ts +26 -0
  1641. package/examples/sdk/02-custom-model.ts +49 -0
  1642. package/examples/sdk/03-custom-prompt.ts +70 -0
  1643. package/examples/sdk/04-skills.ts +55 -0
  1644. package/examples/sdk/05-tools.ts +48 -0
  1645. package/examples/sdk/07-context-files.ts +42 -0
  1646. package/examples/sdk/08-prompt-templates.ts +51 -0
  1647. package/examples/sdk/09-api-keys-and-oauth.ts +34 -0
  1648. package/examples/sdk/10-settings.ts +53 -0
  1649. package/examples/sdk/11-sessions.ts +52 -0
  1650. package/examples/sdk/12-full-control.ts +72 -0
  1651. package/examples/sdk/13-session-runtime.ts +71 -0
  1652. package/examples/sdk/14-custom-session-storage.ts +132 -0
  1653. package/examples/sdk/README.md +139 -0
  1654. package/package.json +111 -0
@@ -0,0 +1,485 @@
1
+ import { lstatSync, readdirSync, realpathSync, statSync } from "node:fs";
2
+ import { readFile } from "node:fs/promises";
3
+ import { createRequire } from "node:module";
4
+ import * as path from "node:path";
5
+ import * as pluginSdk from "@agent-forge/plugin-sdk";
6
+ import { parseCapabilityPluginManifest, } from "@agent-forge/plugin-sdk";
7
+ import * as pluginSdkSessionLineage from "@agent-forge/plugin-sdk/session-lineage";
8
+ import * as protocolSubagent from "@agent-forge/protocol/subagent";
9
+ import { createJiti } from "jiti/static";
10
+ import * as typebox from "typebox";
11
+ import * as typeboxValue from "typebox/value";
12
+ import { PLUGIN_DISPOSE_EVENT_ID, PLUGIN_DISPOSE_EVENT_VERSION, PLUGIN_READY_EVENT_ID, PLUGIN_READY_EVENT_VERSION, } from "./lifecycle-catalog.js";
13
+ export { parseCapabilityPluginManifest } from "@agent-forge/plugin-sdk";
14
+ const activePlugins = new WeakMap();
15
+ // Host-resolved heavy-dependency aliases (D-075 S4 fourth batch, installed-
16
+ // code-loading): the memory plugin package carries its vector stack pinned in
17
+ // its own package.json, but an npm-installed tarball ships no node_modules —
18
+ // the same void the SDK/protocol virtual modules below fill. Unlike those,
19
+ // lancedb/transformers are NATIVE/lazy packages the host must not bundle or
20
+ // import here: they stay host dependencies, and each specifier is resolved
21
+ // ONCE (module-level cache, successes only) to the host's own entry file
22
+ // path and handed to jiti as an alias. The alias reliably intercepts only
23
+ // STATIC imports on the entry chain of files jiti transforms — lazy
24
+ // `await import()` calls inside an installed ESM dist bypass the transform
25
+ // pipeline and hit the native resolver, so those lazy paths are supplied by
26
+ // the hostDependencyPaths absolute-path channel instead (hostDependencyPaths-
27
+ // Config below plus the plugin-side host-module-import). Resolution failures
28
+ // are tolerated on both channels: the alias table is a best-effort supply
29
+ // path, and heavy-dependency failures must surface at the plugin's point of
30
+ // use, where the memory plugin reports structured failures with an action
31
+ // list.
32
+ const hostHeavyDependencyAliases = new Set([
33
+ "@lancedb/lancedb",
34
+ "@huggingface/transformers",
35
+ // memory 的 onnxruntime 预检(nativeBinaryCheck)在插件内直接 resolve 该传递
36
+ // 依赖;安装店副本无 node_modules,必须与 transformers 同走宿主 alias 通道。
37
+ "onnxruntime-node",
38
+ ]);
39
+ const resolvedHeavyDependencyAliases = new Map();
40
+ const defaultHostDependencyAliasResolution = {
41
+ resolve: (specifier) => createRequire(import.meta.url).resolve(specifier),
42
+ cache: resolvedHeavyDependencyAliases,
43
+ };
44
+ /**
45
+ * Tolerant heavy-dependency resolution shared by the jiti alias channel and
46
+ * the hostDependencyPaths config channel: each specifier is resolved against
47
+ * the host installation (successes cached module-level), and a specifier that
48
+ * fails to resolve is simply absent from the result. The alias table is a
49
+ * best-effort supply path — heavy-dependency failures must surface at the
50
+ * plugin's point of use, where the memory plugin reports structured failures
51
+ * with an action list. Exported for deterministic tests; production callers
52
+ * pass {@link defaultHostDependencyAliasResolution} explicitly.
53
+ */
54
+ export function buildHostDependencyAliases(specifiers, resolution) {
55
+ const aliases = {};
56
+ for (const specifier of specifiers) {
57
+ const cached = resolution.cache.get(specifier);
58
+ if (cached !== undefined) {
59
+ aliases[specifier] = cached;
60
+ continue;
61
+ }
62
+ try {
63
+ const resolved = resolution.resolve(specifier);
64
+ resolution.cache.set(specifier, resolved);
65
+ aliases[specifier] = resolved;
66
+ }
67
+ catch {
68
+ // Tolerant by contract: absent entry = plugin-side fallback.
69
+ }
70
+ }
71
+ return aliases;
72
+ }
73
+ /**
74
+ * Host-resolved heavy-dependency entry paths (specifier → absolute path) for
75
+ * the config channel that feeds the lazy `await import()` paths the jiti
76
+ * alias channel cannot reach (installed ESM dists bypass the transform
77
+ * pipeline). Tolerant like the alias table: a specifier the host installation
78
+ * cannot resolve is simply absent, and plugin code falls back to its own
79
+ * resolution (or reports the structured failure). camelCase keys keep the
80
+ * JSON config channel idiomatic for plugin consumers.
81
+ */
82
+ function hostDependencyPathsConfig() {
83
+ const paths = {};
84
+ for (const [specifier, entryPath] of Object.entries(buildHostDependencyAliases(hostHeavyDependencyAliases, defaultHostDependencyAliasResolution))) {
85
+ paths[camelCaseDependencyKey(specifier)] = entryPath;
86
+ }
87
+ return paths;
88
+ }
89
+ function camelCaseDependencyKey(specifier) {
90
+ const scoped = specifier.replace(/^@[^/]+\//, "");
91
+ return scoped.replace(/[-.](.)/g, (_, character) => character.toUpperCase());
92
+ }
93
+ function isPluginInstance(value) {
94
+ return typeof value === "object" && value !== null && typeof value.dispose === "function";
95
+ }
96
+ function normalizePluginInstance(value, manifest) {
97
+ if (value === undefined)
98
+ return undefined;
99
+ if (!isPluginInstance(value)) {
100
+ throw new Error(`Capability plugin factory must return void or an instance with dispose(): ${manifest.id}`);
101
+ }
102
+ return value;
103
+ }
104
+ function normalizePluginSyncInstance(value, manifest) {
105
+ if (value === undefined)
106
+ return undefined;
107
+ if (!isPluginInstance(value)) {
108
+ throw new Error(`Synchronous capability plugin factory must return void or an instance with dispose(): ${manifest.id}`);
109
+ }
110
+ return value;
111
+ }
112
+ function throwCleanupErrors(errors, manifestId) {
113
+ if (errors.length === 0)
114
+ return;
115
+ if (errors.length === 1)
116
+ throw errors[0];
117
+ throw new AggregateError(errors, `Capability plugin cleanup failed: ${manifestId}`);
118
+ }
119
+ async function dispatchPluginDisposeEvent(runtime, manifest, status) {
120
+ if (!runtime.hasLifecycleEvent(PLUGIN_DISPOSE_EVENT_ID, PLUGIN_DISPOSE_EVENT_VERSION))
121
+ return;
122
+ await runtime.dispatchLifecycle({
123
+ type: PLUGIN_DISPOSE_EVENT_ID,
124
+ version: PLUGIN_DISPOSE_EVENT_VERSION,
125
+ phase: "committed",
126
+ data: {
127
+ version: 1,
128
+ pluginId: manifest.id,
129
+ pluginVersion: manifest.version,
130
+ status,
131
+ },
132
+ source: "capability-plugin",
133
+ });
134
+ }
135
+ async function dispatchPluginReadyEvent(runtime, manifest) {
136
+ if (!runtime.hasLifecycleEvent(PLUGIN_READY_EVENT_ID, PLUGIN_READY_EVENT_VERSION))
137
+ return;
138
+ await runtime.dispatchLifecycle({
139
+ type: PLUGIN_READY_EVENT_ID,
140
+ version: PLUGIN_READY_EVENT_VERSION,
141
+ phase: "committed",
142
+ data: {
143
+ version: 1,
144
+ pluginId: manifest.id,
145
+ pluginVersion: manifest.version,
146
+ },
147
+ source: "capability-plugin",
148
+ });
149
+ }
150
+ function isMissingPathError(error) {
151
+ return typeof error === "object" && error !== null && "code" in error && error.code === "ENOENT";
152
+ }
153
+ function compareNames(left, right) {
154
+ return left < right ? -1 : left > right ? 1 : 0;
155
+ }
156
+ /**
157
+ * Find installed capability manifests below the given plugin directories.
158
+ *
159
+ * Directories are visited in caller order; entries in each directory use a
160
+ * stable lexical order. Missing roots are normal for a first-run host.
161
+ * Existing unreadable or malformed filesystem paths fail explicitly rather
162
+ * than silently changing the loaded plugin set. Dependency and hidden
163
+ * directories are never traversed.
164
+ */
165
+ export function discoverCapabilityPluginManifests(pluginDirectories) {
166
+ const manifests = [];
167
+ const seenDirectories = new Set();
168
+ const seenManifests = new Set();
169
+ const visit = (directory, optional) => {
170
+ const resolvedDirectory = path.resolve(directory);
171
+ let stats;
172
+ try {
173
+ stats = statSync(resolvedDirectory);
174
+ }
175
+ catch (error) {
176
+ if (optional && isMissingPathError(error)) {
177
+ try {
178
+ if (!lstatSync(resolvedDirectory).isSymbolicLink())
179
+ return;
180
+ }
181
+ catch (linkError) {
182
+ if (isMissingPathError(linkError))
183
+ return;
184
+ throw new Error(`Failed to inspect capability plugin directory ${resolvedDirectory}: ${linkError instanceof Error ? linkError.message : String(linkError)}`);
185
+ }
186
+ }
187
+ throw new Error(`Failed to inspect capability plugin directory ${resolvedDirectory}: ${error instanceof Error ? error.message : String(error)}`);
188
+ }
189
+ if (!stats.isDirectory()) {
190
+ throw new Error(`Capability plugin path must be a directory: ${resolvedDirectory}`);
191
+ }
192
+ let canonicalDirectory;
193
+ try {
194
+ canonicalDirectory = realpathSync(resolvedDirectory);
195
+ }
196
+ catch (error) {
197
+ throw new Error(`Failed to resolve capability plugin directory ${resolvedDirectory}: ${error instanceof Error ? error.message : String(error)}`);
198
+ }
199
+ if (seenDirectories.has(canonicalDirectory))
200
+ return;
201
+ seenDirectories.add(canonicalDirectory);
202
+ let entries;
203
+ try {
204
+ entries = readdirSync(resolvedDirectory, { withFileTypes: true, encoding: "utf8" });
205
+ }
206
+ catch (error) {
207
+ throw new Error(`Failed to read capability plugin directory ${resolvedDirectory}: ${error instanceof Error ? error.message : String(error)}`);
208
+ }
209
+ for (const entry of entries.sort((left, right) => compareNames(left.name, right.name))) {
210
+ if (entry.name === "node_modules" || entry.name.startsWith("."))
211
+ continue;
212
+ const entryPath = path.join(resolvedDirectory, entry.name);
213
+ if (entry.isDirectory()) {
214
+ visit(entryPath, false);
215
+ continue;
216
+ }
217
+ if (!entry.isFile() || entry.name !== "plugin.json")
218
+ continue;
219
+ let canonicalManifest;
220
+ try {
221
+ canonicalManifest = realpathSync(entryPath);
222
+ }
223
+ catch (error) {
224
+ throw new Error(`Failed to resolve capability plugin manifest ${entryPath}: ${error instanceof Error ? error.message : String(error)}`);
225
+ }
226
+ if (seenManifests.has(canonicalManifest))
227
+ continue;
228
+ seenManifests.add(canonicalManifest);
229
+ manifests.push(canonicalManifest);
230
+ }
231
+ };
232
+ for (const pluginDirectory of pluginDirectories)
233
+ visit(pluginDirectory, true);
234
+ return manifests;
235
+ }
236
+ /**
237
+ * Load a capability plugin through the public facade only.
238
+ * Filesystem discovery and package installation stay outside this mechanism.
239
+ */
240
+ export async function loadCapabilityPlugin(runtime, manifest, factory) {
241
+ const active = activePlugins.get(runtime) ?? new Map();
242
+ if (active.has(manifest.id))
243
+ throw new Error(`Capability plugin is already loaded: ${manifest.id}`);
244
+ const ownerToken = Symbol(manifest.id);
245
+ active.set(manifest.id, ownerToken);
246
+ activePlugins.set(runtime, active);
247
+ let api;
248
+ let instance;
249
+ const cleanup = async (notifyDispose) => {
250
+ const errors = [];
251
+ if (api)
252
+ runtime.revokeAPI(api);
253
+ try {
254
+ await runtime.disposePlugin(manifest.id);
255
+ }
256
+ catch (error) {
257
+ errors.push(error);
258
+ }
259
+ try {
260
+ await instance?.dispose();
261
+ }
262
+ catch (error) {
263
+ errors.push(error);
264
+ }
265
+ if (notifyDispose) {
266
+ try {
267
+ await dispatchPluginDisposeEvent(runtime, manifest, errors.length === 0 ? "disposed" : "failed");
268
+ }
269
+ catch (error) {
270
+ errors.push(error);
271
+ }
272
+ }
273
+ throwCleanupErrors(errors, manifest.id);
274
+ };
275
+ try {
276
+ api = runtime.createAPI(manifest);
277
+ instance = normalizePluginInstance(await factory(api), manifest);
278
+ await dispatchPluginReadyEvent(runtime, manifest);
279
+ const pluginApi = api;
280
+ let disposePromise;
281
+ return {
282
+ manifest,
283
+ api: pluginApi,
284
+ ready: Promise.resolve(),
285
+ dispose: async () => {
286
+ disposePromise ??= (async () => {
287
+ try {
288
+ await cleanup(true);
289
+ }
290
+ finally {
291
+ if (active.get(manifest.id) === ownerToken)
292
+ active.delete(manifest.id);
293
+ }
294
+ })();
295
+ return disposePromise;
296
+ },
297
+ };
298
+ }
299
+ catch (error) {
300
+ try {
301
+ await cleanup(false);
302
+ }
303
+ catch (cleanupError) {
304
+ throw new AggregateError([error, cleanupError], `Capability plugin startup cleanup failed: ${manifest.id}`);
305
+ }
306
+ finally {
307
+ if (active.get(manifest.id) === ownerToken)
308
+ active.delete(manifest.id);
309
+ }
310
+ throw error;
311
+ }
312
+ }
313
+ /** Load a synchronous embedded plugin during host construction. */
314
+ export function loadCapabilityPluginSync(runtime, manifest, factory) {
315
+ const active = activePlugins.get(runtime) ?? new Map();
316
+ if (active.has(manifest.id))
317
+ throw new Error(`Capability plugin is already loaded: ${manifest.id}`);
318
+ const ownerToken = Symbol(manifest.id);
319
+ active.set(manifest.id, ownerToken);
320
+ activePlugins.set(runtime, active);
321
+ let api;
322
+ let instance;
323
+ const cleanupRegistrationsSync = () => {
324
+ const errors = [];
325
+ if (api)
326
+ runtime.revokeAPI(api);
327
+ try {
328
+ runtime.disposePluginSync(manifest.id);
329
+ }
330
+ catch (error) {
331
+ errors.push(error);
332
+ }
333
+ return errors;
334
+ };
335
+ const cleanupSync = async () => {
336
+ const errors = cleanupRegistrationsSync();
337
+ let result;
338
+ try {
339
+ result = instance?.dispose();
340
+ }
341
+ catch (error) {
342
+ errors.push(error);
343
+ }
344
+ if (result && typeof result.then === "function") {
345
+ const contractError = new Error(`Synchronous capability plugin disposer must not return a Promise: ${manifest.id}`);
346
+ try {
347
+ await result;
348
+ }
349
+ catch (error) {
350
+ errors.push(error);
351
+ }
352
+ errors.push(contractError);
353
+ }
354
+ try {
355
+ await dispatchPluginDisposeEvent(runtime, manifest, errors.length === 0 ? "disposed" : "failed");
356
+ }
357
+ catch (error) {
358
+ errors.push(error);
359
+ }
360
+ throwCleanupErrors(errors, manifest.id);
361
+ };
362
+ try {
363
+ api = runtime.createAPI(manifest);
364
+ instance = normalizePluginSyncInstance(factory(api), manifest);
365
+ }
366
+ catch (error) {
367
+ try {
368
+ throwCleanupErrors(cleanupRegistrationsSync(), manifest.id);
369
+ }
370
+ catch (cleanupError) {
371
+ throw new AggregateError([error, cleanupError], `Capability plugin startup cleanup failed: ${manifest.id}`);
372
+ }
373
+ finally {
374
+ if (active.get(manifest.id) === ownerToken)
375
+ active.delete(manifest.id);
376
+ }
377
+ throw error;
378
+ }
379
+ const ready = dispatchPluginReadyEvent(runtime, manifest);
380
+ // The embedded constructor API is synchronous; retain a handled promise so
381
+ // hosts may explicitly await lifecycle delivery without risking an unhandled rejection.
382
+ void ready.catch(() => undefined);
383
+ let disposePromise;
384
+ return {
385
+ manifest,
386
+ api: api,
387
+ ready,
388
+ dispose: async () => {
389
+ disposePromise ??= (async () => {
390
+ let readyError;
391
+ try {
392
+ await ready;
393
+ }
394
+ catch (error) {
395
+ readyError = error;
396
+ }
397
+ try {
398
+ await cleanupSync();
399
+ if (readyError !== undefined)
400
+ throw readyError;
401
+ }
402
+ catch (error) {
403
+ if (readyError !== undefined && error !== readyError) {
404
+ throw new AggregateError([readyError, error], `Capability plugin cleanup failed: ${manifest.id}`);
405
+ }
406
+ throw error;
407
+ }
408
+ finally {
409
+ if (active.get(manifest.id) === ownerToken)
410
+ active.delete(manifest.id);
411
+ }
412
+ })();
413
+ return disposePromise;
414
+ },
415
+ };
416
+ }
417
+ /**
418
+ * Load a plugin from its JSON manifest. This is intentionally separate from
419
+ * legacy extension discovery until both systems share the same public facade.
420
+ *
421
+ * `options.configOverride` (D-075 S4 third batch) merges host-declared values
422
+ * over the manifest's own `config` defaults before the plugin API is built —
423
+ * a public channel (first-party and third-party plugins alike) for hosts that
424
+ * vouch for facts the manifest cannot know, e.g. the CLI declaring its own
425
+ * process entry trustworthy so the subagent-delegate package auto-pools. It
426
+ * stays below any plugin-side config channel: the agent-dir config file the
427
+ * plugin entry reads merges over whatever the host injected here.
428
+ */
429
+ export async function loadCapabilityPluginFromManifest(runtime, manifestPath, options) {
430
+ let raw;
431
+ try {
432
+ raw = JSON.parse(await readFile(manifestPath, "utf8"));
433
+ }
434
+ catch (error) {
435
+ throw new Error(`Failed to read capability plugin manifest ${manifestPath}: ${error instanceof Error ? error.message : String(error)}`);
436
+ }
437
+ const parsed = parseCapabilityPluginManifest(raw, manifestPath);
438
+ // hostDependencyPaths (安装店重依赖可见性): 宿主已解析的重依赖入口绝对路径
439
+ // 并进 manifest config——安装店副本无 node_modules, 插件内 createRequire 自
440
+ // 解析不可达 (memory 的 onnxruntime native 预检实证); 与 jiti alias 通道互补
441
+ // (alias 拦截 import, 本通道喂插件内的路径式消费)。公共同道: 第一方与第三方
442
+ // 插件同样可读。仍低于插件侧 config 文件通道 (agent-dir 配置合并在其上)。
443
+ const hostDependencyOverride = { hostDependencyPaths: hostDependencyPathsConfig() };
444
+ const callerOverride = options?.configOverride;
445
+ const manifest = callerOverride === undefined || Object.keys(callerOverride).length === 0
446
+ ? { ...parsed, config: { ...parsed.config, ...hostDependencyOverride } }
447
+ : { ...parsed, config: { ...parsed.config, ...hostDependencyOverride, ...callerOverride } };
448
+ const entryPath = path.resolve(path.dirname(manifestPath), manifest.entry);
449
+ // Host-resolved authoring dependencies (D-075 §4.1): installed plugin
450
+ // packages live in the install store, which carries no node_modules (npm
451
+ // tarballs never include dependencies), so their bare imports of the SDK
452
+ // and the pinned typebox dependency resolve against the host's own copies
453
+ // through jiti virtual modules. Works identically in the bundle and Bun
454
+ // binaries where no source-tree node_modules exists at all. D-075 S4 third
455
+ // batch: the protocol package joins — the subagent-delegate package's
456
+ // runtime imports (`@agent-forge/protocol`) resolve the same way. S4 fourth
457
+ // batch: the memory package's native vector stack (`@lancedb/lancedb`,
458
+ // `@huggingface/transformers`) resolves through the jiti alias channel
459
+ // instead — those stay real host node_modules entries, so plugins load the
460
+ // host's native builds rather than a virtual copy.
461
+ const jiti = createJiti(import.meta.url, {
462
+ moduleCache: false,
463
+ tsconfigPaths: true,
464
+ alias: buildHostDependencyAliases(hostHeavyDependencyAliases, defaultHostDependencyAliasResolution),
465
+ virtualModules: {
466
+ "@agent-forge/plugin-sdk": pluginSdk,
467
+ "@agent-forge/plugin-sdk/session-lineage": pluginSdkSessionLineage,
468
+ "@agent-forge/protocol/subagent": protocolSubagent,
469
+ typebox,
470
+ "typebox/value": typeboxValue,
471
+ },
472
+ });
473
+ let factory;
474
+ try {
475
+ factory = await jiti.import(entryPath, { default: true });
476
+ }
477
+ catch (error) {
478
+ throw new Error(`Failed to import capability plugin entry ${entryPath}: ${error instanceof Error ? error.message : String(error)}`);
479
+ }
480
+ if (typeof factory !== "function") {
481
+ throw new Error(`Capability plugin entry must default-export a factory function: ${entryPath}`);
482
+ }
483
+ return loadCapabilityPlugin(runtime, manifest, factory);
484
+ }
485
+ //# sourceMappingURL=capability-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-plugin.js","sourceRoot":"","sources":["../../../src/core/extensions/capability-plugin.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Dirent } from \"node:fs\";\nimport { lstatSync, readdirSync, realpathSync, statSync } from \"node:fs\";\nimport { readFile } from \"node:fs/promises\";\nimport { createRequire } from \"node:module\";\nimport * as path from \"node:path\";\nimport * as pluginSdk from \"@agent-forge/plugin-sdk\";\nimport {\n\ttype CapabilityPluginFactory,\n\ttype CapabilityPluginInstance,\n\ttype CapabilityPluginSyncFactory,\n\ttype CapabilityPluginSyncInstance,\n\tparseCapabilityPluginManifest,\n} from \"@agent-forge/plugin-sdk\";\nimport * as pluginSdkSessionLineage from \"@agent-forge/plugin-sdk/session-lineage\";\nimport * as protocolSubagent from \"@agent-forge/protocol/subagent\";\nimport { createJiti } from \"jiti/static\";\nimport * as typebox from \"typebox\";\nimport * as typeboxValue from \"typebox/value\";\nimport type { CapabilityRuntime } from \"./capability-runtime.ts\";\nimport {\n\tPLUGIN_DISPOSE_EVENT_ID,\n\tPLUGIN_DISPOSE_EVENT_VERSION,\n\tPLUGIN_READY_EVENT_ID,\n\tPLUGIN_READY_EVENT_VERSION,\n\ttype PluginDisposeEventDataV1,\n} from \"./lifecycle-catalog.ts\";\nimport type { CapabilityAPI, PluginConfig, PluginManifest } from \"./public-api.ts\";\n\n// Authoring-surface symbols moved to @agent-forge/plugin-sdk (D-075 S2);\n// re-exported here so existing host imports keep resolving.\nexport type {\n\tCapabilityPluginFactory,\n\tCapabilityPluginFactoryResult,\n\tCapabilityPluginInstance,\n\tCapabilityPluginSyncFactory,\n\tCapabilityPluginSyncInstance,\n} from \"@agent-forge/plugin-sdk\";\nexport { parseCapabilityPluginManifest } from \"@agent-forge/plugin-sdk\";\n\nexport interface CapabilityPluginHandle {\n\treadonly manifest: PluginManifest;\n\treadonly api: CapabilityAPI;\n\t/** Resolves once the plugin.ready lifecycle delivery has settled. */\n\treadonly ready: Promise<void>;\n\tdispose(): Promise<void>;\n}\n\nconst activePlugins = new WeakMap<CapabilityRuntime, Map<string, symbol>>();\n\n// Host-resolved heavy-dependency aliases (D-075 S4 fourth batch, installed-\n// code-loading): the memory plugin package carries its vector stack pinned in\n// its own package.json, but an npm-installed tarball ships no node_modules —\n// the same void the SDK/protocol virtual modules below fill. Unlike those,\n// lancedb/transformers are NATIVE/lazy packages the host must not bundle or\n// import here: they stay host dependencies, and each specifier is resolved\n// ONCE (module-level cache, successes only) to the host's own entry file\n// path and handed to jiti as an alias. The alias reliably intercepts only\n// STATIC imports on the entry chain of files jiti transforms — lazy\n// `await import()` calls inside an installed ESM dist bypass the transform\n// pipeline and hit the native resolver, so those lazy paths are supplied by\n// the hostDependencyPaths absolute-path channel instead (hostDependencyPaths-\n// Config below plus the plugin-side host-module-import). Resolution failures\n// are tolerated on both channels: the alias table is a best-effort supply\n// path, and heavy-dependency failures must surface at the plugin's point of\n// use, where the memory plugin reports structured failures with an action\n// list.\nconst hostHeavyDependencyAliases: ReadonlySet<string> = new Set([\n\t\"@lancedb/lancedb\",\n\t\"@huggingface/transformers\",\n\t// memory 的 onnxruntime 预检(nativeBinaryCheck)在插件内直接 resolve 该传递\n\t// 依赖;安装店副本无 node_modules,必须与 transformers 同走宿主 alias 通道。\n\t\"onnxruntime-node\",\n]);\n\nconst resolvedHeavyDependencyAliases: Map<string, string> = new Map();\n\n/**\n * Explicit injection object for {@link buildHostDependencyAliases}. Both fields\n * are required on purpose: with optional positional parameters a test could\n * inject only `resolve` and silently write its fake results into the\n * module-level production cache (`resolvedHeavyDependencyAliases`), hijacking\n * every later real plugin load in the same vitest worker. Making the object\n * mandatory means a test cannot supply a resolver without also supplying the\n * cache it pollutes.\n */\nexport interface HostDependencyAliasResolution {\n\treadonly resolve: (specifier: string) => string;\n\treadonly cache: Map<string, string>;\n}\n\nconst defaultHostDependencyAliasResolution: HostDependencyAliasResolution = {\n\tresolve: (specifier) => createRequire(import.meta.url).resolve(specifier),\n\tcache: resolvedHeavyDependencyAliases,\n};\n\n/**\n * Tolerant heavy-dependency resolution shared by the jiti alias channel and\n * the hostDependencyPaths config channel: each specifier is resolved against\n * the host installation (successes cached module-level), and a specifier that\n * fails to resolve is simply absent from the result. The alias table is a\n * best-effort supply path — heavy-dependency failures must surface at the\n * plugin's point of use, where the memory plugin reports structured failures\n * with an action list. Exported for deterministic tests; production callers\n * pass {@link defaultHostDependencyAliasResolution} explicitly.\n */\nexport function buildHostDependencyAliases(\n\tspecifiers: ReadonlySet<string> | readonly string[],\n\tresolution: HostDependencyAliasResolution,\n): Record<string, string> {\n\tconst aliases: Record<string, string> = {};\n\tfor (const specifier of specifiers) {\n\t\tconst cached = resolution.cache.get(specifier);\n\t\tif (cached !== undefined) {\n\t\t\taliases[specifier] = cached;\n\t\t\tcontinue;\n\t\t}\n\t\ttry {\n\t\t\tconst resolved = resolution.resolve(specifier);\n\t\t\tresolution.cache.set(specifier, resolved);\n\t\t\taliases[specifier] = resolved;\n\t\t} catch {\n\t\t\t// Tolerant by contract: absent entry = plugin-side fallback.\n\t\t}\n\t}\n\treturn aliases;\n}\n\n/**\n * Host-resolved heavy-dependency entry paths (specifier → absolute path) for\n * the config channel that feeds the lazy `await import()` paths the jiti\n * alias channel cannot reach (installed ESM dists bypass the transform\n * pipeline). Tolerant like the alias table: a specifier the host installation\n * cannot resolve is simply absent, and plugin code falls back to its own\n * resolution (or reports the structured failure). camelCase keys keep the\n * JSON config channel idiomatic for plugin consumers.\n */\nfunction hostDependencyPathsConfig(): Record<string, string> {\n\tconst paths: Record<string, string> = {};\n\tfor (const [specifier, entryPath] of Object.entries(\n\t\tbuildHostDependencyAliases(hostHeavyDependencyAliases, defaultHostDependencyAliasResolution),\n\t)) {\n\t\tpaths[camelCaseDependencyKey(specifier)] = entryPath;\n\t}\n\treturn paths;\n}\n\nfunction camelCaseDependencyKey(specifier: string): string {\n\tconst scoped = specifier.replace(/^@[^/]+\\//, \"\");\n\treturn scoped.replace(/[-.](.)/g, (_, character: string) => character.toUpperCase());\n}\n\nfunction isPluginInstance(value: unknown): value is CapabilityPluginInstance {\n\treturn typeof value === \"object\" && value !== null && typeof (value as { dispose?: unknown }).dispose === \"function\";\n}\n\nfunction normalizePluginInstance(value: unknown, manifest: PluginManifest): CapabilityPluginInstance | undefined {\n\tif (value === undefined) return undefined;\n\tif (!isPluginInstance(value)) {\n\t\tthrow new Error(`Capability plugin factory must return void or an instance with dispose(): ${manifest.id}`);\n\t}\n\treturn value;\n}\n\nfunction normalizePluginSyncInstance(\n\tvalue: unknown,\n\tmanifest: PluginManifest,\n): CapabilityPluginSyncInstance | undefined {\n\tif (value === undefined) return undefined;\n\tif (!isPluginInstance(value)) {\n\t\tthrow new Error(\n\t\t\t`Synchronous capability plugin factory must return void or an instance with dispose(): ${manifest.id}`,\n\t\t);\n\t}\n\treturn value as CapabilityPluginSyncInstance;\n}\n\nfunction throwCleanupErrors(errors: unknown[], manifestId: string): void {\n\tif (errors.length === 0) return;\n\tif (errors.length === 1) throw errors[0];\n\tthrow new AggregateError(errors, `Capability plugin cleanup failed: ${manifestId}`);\n}\n\nasync function dispatchPluginDisposeEvent(\n\truntime: CapabilityRuntime,\n\tmanifest: PluginManifest,\n\tstatus: PluginDisposeEventDataV1[\"status\"],\n): Promise<void> {\n\tif (!runtime.hasLifecycleEvent(PLUGIN_DISPOSE_EVENT_ID, PLUGIN_DISPOSE_EVENT_VERSION)) return;\n\tawait runtime.dispatchLifecycle({\n\t\ttype: PLUGIN_DISPOSE_EVENT_ID,\n\t\tversion: PLUGIN_DISPOSE_EVENT_VERSION,\n\t\tphase: \"committed\",\n\t\tdata: {\n\t\t\tversion: 1,\n\t\t\tpluginId: manifest.id,\n\t\t\tpluginVersion: manifest.version,\n\t\t\tstatus,\n\t\t},\n\t\tsource: \"capability-plugin\",\n\t});\n}\n\nasync function dispatchPluginReadyEvent(runtime: CapabilityRuntime, manifest: PluginManifest): Promise<void> {\n\tif (!runtime.hasLifecycleEvent(PLUGIN_READY_EVENT_ID, PLUGIN_READY_EVENT_VERSION)) return;\n\tawait runtime.dispatchLifecycle({\n\t\ttype: PLUGIN_READY_EVENT_ID,\n\t\tversion: PLUGIN_READY_EVENT_VERSION,\n\t\tphase: \"committed\",\n\t\tdata: {\n\t\t\tversion: 1,\n\t\t\tpluginId: manifest.id,\n\t\t\tpluginVersion: manifest.version,\n\t\t},\n\t\tsource: \"capability-plugin\",\n\t});\n}\n\nfunction isMissingPathError(error: unknown): boolean {\n\treturn typeof error === \"object\" && error !== null && \"code\" in error && error.code === \"ENOENT\";\n}\n\nfunction compareNames(left: string, right: string): number {\n\treturn left < right ? -1 : left > right ? 1 : 0;\n}\n\n/**\n * Find installed capability manifests below the given plugin directories.\n *\n * Directories are visited in caller order; entries in each directory use a\n * stable lexical order. Missing roots are normal for a first-run host.\n * Existing unreadable or malformed filesystem paths fail explicitly rather\n * than silently changing the loaded plugin set. Dependency and hidden\n * directories are never traversed.\n */\nexport function discoverCapabilityPluginManifests(pluginDirectories: readonly string[]): string[] {\n\tconst manifests: string[] = [];\n\tconst seenDirectories = new Set<string>();\n\tconst seenManifests = new Set<string>();\n\n\tconst visit = (directory: string, optional: boolean): void => {\n\t\tconst resolvedDirectory = path.resolve(directory);\n\t\tlet stats: ReturnType<typeof statSync>;\n\t\ttry {\n\t\t\tstats = statSync(resolvedDirectory);\n\t\t} catch (error) {\n\t\t\tif (optional && isMissingPathError(error)) {\n\t\t\t\ttry {\n\t\t\t\t\tif (!lstatSync(resolvedDirectory).isSymbolicLink()) return;\n\t\t\t\t} catch (linkError) {\n\t\t\t\t\tif (isMissingPathError(linkError)) return;\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Failed to inspect capability plugin directory ${resolvedDirectory}: ${\n\t\t\t\t\t\t\tlinkError instanceof Error ? linkError.message : String(linkError)\n\t\t\t\t\t\t}`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthrow new Error(\n\t\t\t\t`Failed to inspect capability plugin directory ${resolvedDirectory}: ${\n\t\t\t\t\terror instanceof Error ? error.message : String(error)\n\t\t\t\t}`,\n\t\t\t);\n\t\t}\n\t\tif (!stats.isDirectory()) {\n\t\t\tthrow new Error(`Capability plugin path must be a directory: ${resolvedDirectory}`);\n\t\t}\n\n\t\tlet canonicalDirectory: string;\n\t\ttry {\n\t\t\tcanonicalDirectory = realpathSync(resolvedDirectory);\n\t\t} catch (error) {\n\t\t\tthrow new Error(\n\t\t\t\t`Failed to resolve capability plugin directory ${resolvedDirectory}: ${\n\t\t\t\t\terror instanceof Error ? error.message : String(error)\n\t\t\t\t}`,\n\t\t\t);\n\t\t}\n\t\tif (seenDirectories.has(canonicalDirectory)) return;\n\t\tseenDirectories.add(canonicalDirectory);\n\n\t\tlet entries: Dirent<string>[];\n\t\ttry {\n\t\t\tentries = readdirSync(resolvedDirectory, { withFileTypes: true, encoding: \"utf8\" });\n\t\t} catch (error) {\n\t\t\tthrow new Error(\n\t\t\t\t`Failed to read capability plugin directory ${resolvedDirectory}: ${\n\t\t\t\t\terror instanceof Error ? error.message : String(error)\n\t\t\t\t}`,\n\t\t\t);\n\t\t}\n\n\t\tfor (const entry of entries.sort((left, right) => compareNames(left.name, right.name))) {\n\t\t\tif (entry.name === \"node_modules\" || entry.name.startsWith(\".\")) continue;\n\t\t\tconst entryPath = path.join(resolvedDirectory, entry.name);\n\t\t\tif (entry.isDirectory()) {\n\t\t\t\tvisit(entryPath, false);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!entry.isFile() || entry.name !== \"plugin.json\") continue;\n\n\t\t\tlet canonicalManifest: string;\n\t\t\ttry {\n\t\t\t\tcanonicalManifest = realpathSync(entryPath);\n\t\t\t} catch (error) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Failed to resolve capability plugin manifest ${entryPath}: ${\n\t\t\t\t\t\terror instanceof Error ? error.message : String(error)\n\t\t\t\t\t}`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (seenManifests.has(canonicalManifest)) continue;\n\t\t\tseenManifests.add(canonicalManifest);\n\t\t\tmanifests.push(canonicalManifest);\n\t\t}\n\t};\n\n\tfor (const pluginDirectory of pluginDirectories) visit(pluginDirectory, true);\n\treturn manifests;\n}\n\n/**\n * Load a capability plugin through the public facade only.\n * Filesystem discovery and package installation stay outside this mechanism.\n */\nexport async function loadCapabilityPlugin(\n\truntime: CapabilityRuntime,\n\tmanifest: PluginManifest,\n\tfactory: CapabilityPluginFactory,\n): Promise<CapabilityPluginHandle> {\n\tconst active = activePlugins.get(runtime) ?? new Map<string, symbol>();\n\tif (active.has(manifest.id)) throw new Error(`Capability plugin is already loaded: ${manifest.id}`);\n\tconst ownerToken = Symbol(manifest.id);\n\tactive.set(manifest.id, ownerToken);\n\tactivePlugins.set(runtime, active);\n\tlet api: CapabilityAPI | undefined;\n\tlet instance: CapabilityPluginInstance | undefined;\n\tconst cleanup = async (notifyDispose: boolean): Promise<void> => {\n\t\tconst errors: unknown[] = [];\n\t\tif (api) runtime.revokeAPI(api);\n\t\ttry {\n\t\t\tawait runtime.disposePlugin(manifest.id);\n\t\t} catch (error) {\n\t\t\terrors.push(error);\n\t\t}\n\t\ttry {\n\t\t\tawait instance?.dispose();\n\t\t} catch (error) {\n\t\t\terrors.push(error);\n\t\t}\n\t\tif (notifyDispose) {\n\t\t\ttry {\n\t\t\t\tawait dispatchPluginDisposeEvent(runtime, manifest, errors.length === 0 ? \"disposed\" : \"failed\");\n\t\t\t} catch (error) {\n\t\t\t\terrors.push(error);\n\t\t\t}\n\t\t}\n\t\tthrowCleanupErrors(errors, manifest.id);\n\t};\n\ttry {\n\t\tapi = runtime.createAPI(manifest);\n\t\tinstance = normalizePluginInstance(await factory(api), manifest);\n\t\tawait dispatchPluginReadyEvent(runtime, manifest);\n\t\tconst pluginApi = api;\n\t\tlet disposePromise: Promise<void> | undefined;\n\t\treturn {\n\t\t\tmanifest,\n\t\t\tapi: pluginApi,\n\t\t\tready: Promise.resolve(),\n\t\t\tdispose: async () => {\n\t\t\t\tdisposePromise ??= (async () => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait cleanup(true);\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tif (active.get(manifest.id) === ownerToken) active.delete(manifest.id);\n\t\t\t\t\t}\n\t\t\t\t})();\n\t\t\t\treturn disposePromise;\n\t\t\t},\n\t\t};\n\t} catch (error) {\n\t\ttry {\n\t\t\tawait cleanup(false);\n\t\t} catch (cleanupError) {\n\t\t\tthrow new AggregateError([error, cleanupError], `Capability plugin startup cleanup failed: ${manifest.id}`);\n\t\t} finally {\n\t\t\tif (active.get(manifest.id) === ownerToken) active.delete(manifest.id);\n\t\t}\n\t\tthrow error;\n\t}\n}\n\n/** Load a synchronous embedded plugin during host construction. */\nexport function loadCapabilityPluginSync(\n\truntime: CapabilityRuntime,\n\tmanifest: PluginManifest,\n\tfactory: CapabilityPluginSyncFactory,\n): CapabilityPluginHandle {\n\tconst active = activePlugins.get(runtime) ?? new Map<string, symbol>();\n\tif (active.has(manifest.id)) throw new Error(`Capability plugin is already loaded: ${manifest.id}`);\n\tconst ownerToken = Symbol(manifest.id);\n\tactive.set(manifest.id, ownerToken);\n\tactivePlugins.set(runtime, active);\n\tlet api: CapabilityAPI | undefined;\n\tlet instance: CapabilityPluginSyncInstance | undefined;\n\tconst cleanupRegistrationsSync = (): unknown[] => {\n\t\tconst errors: unknown[] = [];\n\t\tif (api) runtime.revokeAPI(api);\n\t\ttry {\n\t\t\truntime.disposePluginSync(manifest.id);\n\t\t} catch (error) {\n\t\t\terrors.push(error);\n\t\t}\n\t\treturn errors;\n\t};\n\tconst cleanupSync = async (): Promise<void> => {\n\t\tconst errors = cleanupRegistrationsSync();\n\t\tlet result: unknown;\n\t\ttry {\n\t\t\tresult = instance?.dispose();\n\t\t} catch (error) {\n\t\t\terrors.push(error);\n\t\t}\n\t\tif (result && typeof (result as PromiseLike<void>).then === \"function\") {\n\t\t\tconst contractError = new Error(\n\t\t\t\t`Synchronous capability plugin disposer must not return a Promise: ${manifest.id}`,\n\t\t\t);\n\t\t\ttry {\n\t\t\t\tawait result;\n\t\t\t} catch (error) {\n\t\t\t\terrors.push(error);\n\t\t\t}\n\t\t\terrors.push(contractError);\n\t\t}\n\t\ttry {\n\t\t\tawait dispatchPluginDisposeEvent(runtime, manifest, errors.length === 0 ? \"disposed\" : \"failed\");\n\t\t} catch (error) {\n\t\t\terrors.push(error);\n\t\t}\n\t\tthrowCleanupErrors(errors, manifest.id);\n\t};\n\ttry {\n\t\tapi = runtime.createAPI(manifest);\n\t\tinstance = normalizePluginSyncInstance(factory(api), manifest);\n\t} catch (error) {\n\t\ttry {\n\t\t\tthrowCleanupErrors(cleanupRegistrationsSync(), manifest.id);\n\t\t} catch (cleanupError) {\n\t\t\tthrow new AggregateError([error, cleanupError], `Capability plugin startup cleanup failed: ${manifest.id}`);\n\t\t} finally {\n\t\t\tif (active.get(manifest.id) === ownerToken) active.delete(manifest.id);\n\t\t}\n\t\tthrow error;\n\t}\n\tconst ready = dispatchPluginReadyEvent(runtime, manifest);\n\t// The embedded constructor API is synchronous; retain a handled promise so\n\t// hosts may explicitly await lifecycle delivery without risking an unhandled rejection.\n\tvoid ready.catch(() => undefined);\n\tlet disposePromise: Promise<void> | undefined;\n\treturn {\n\t\tmanifest,\n\t\tapi: api!,\n\t\tready,\n\t\tdispose: async () => {\n\t\t\tdisposePromise ??= (async () => {\n\t\t\t\tlet readyError: unknown;\n\t\t\t\ttry {\n\t\t\t\t\tawait ready;\n\t\t\t\t} catch (error) {\n\t\t\t\t\treadyError = error;\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tawait cleanupSync();\n\t\t\t\t\tif (readyError !== undefined) throw readyError;\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (readyError !== undefined && error !== readyError) {\n\t\t\t\t\t\tthrow new AggregateError([readyError, error], `Capability plugin cleanup failed: ${manifest.id}`);\n\t\t\t\t\t}\n\t\t\t\t\tthrow error;\n\t\t\t\t} finally {\n\t\t\t\t\tif (active.get(manifest.id) === ownerToken) active.delete(manifest.id);\n\t\t\t\t}\n\t\t\t})();\n\t\t\treturn disposePromise;\n\t\t},\n\t};\n}\n\n/**\n * Load a plugin from its JSON manifest. This is intentionally separate from\n * legacy extension discovery until both systems share the same public facade.\n *\n * `options.configOverride` (D-075 S4 third batch) merges host-declared values\n * over the manifest's own `config` defaults before the plugin API is built —\n * a public channel (first-party and third-party plugins alike) for hosts that\n * vouch for facts the manifest cannot know, e.g. the CLI declaring its own\n * process entry trustworthy so the subagent-delegate package auto-pools. It\n * stays below any plugin-side config channel: the agent-dir config file the\n * plugin entry reads merges over whatever the host injected here.\n */\nexport async function loadCapabilityPluginFromManifest(\n\truntime: CapabilityRuntime,\n\tmanifestPath: string,\n\toptions?: { readonly configOverride?: PluginConfig },\n): Promise<CapabilityPluginHandle> {\n\tlet raw: unknown;\n\ttry {\n\t\traw = JSON.parse(await readFile(manifestPath, \"utf8\"));\n\t} catch (error) {\n\t\tthrow new Error(\n\t\t\t`Failed to read capability plugin manifest ${manifestPath}: ${error instanceof Error ? error.message : String(error)}`,\n\t\t);\n\t}\n\tconst parsed = parseCapabilityPluginManifest(raw, manifestPath);\n\t// hostDependencyPaths (安装店重依赖可见性): 宿主已解析的重依赖入口绝对路径\n\t// 并进 manifest config——安装店副本无 node_modules, 插件内 createRequire 自\n\t// 解析不可达 (memory 的 onnxruntime native 预检实证); 与 jiti alias 通道互补\n\t// (alias 拦截 import, 本通道喂插件内的路径式消费)。公共同道: 第一方与第三方\n\t// 插件同样可读。仍低于插件侧 config 文件通道 (agent-dir 配置合并在其上)。\n\tconst hostDependencyOverride = { hostDependencyPaths: hostDependencyPathsConfig() };\n\tconst callerOverride = options?.configOverride;\n\tconst manifest =\n\t\tcallerOverride === undefined || Object.keys(callerOverride).length === 0\n\t\t\t? { ...parsed, config: { ...parsed.config, ...hostDependencyOverride } }\n\t\t\t: { ...parsed, config: { ...parsed.config, ...hostDependencyOverride, ...callerOverride } };\n\tconst entryPath = path.resolve(path.dirname(manifestPath), manifest.entry);\n\t// Host-resolved authoring dependencies (D-075 §4.1): installed plugin\n\t// packages live in the install store, which carries no node_modules (npm\n\t// tarballs never include dependencies), so their bare imports of the SDK\n\t// and the pinned typebox dependency resolve against the host's own copies\n\t// through jiti virtual modules. Works identically in the bundle and Bun\n\t// binaries where no source-tree node_modules exists at all. D-075 S4 third\n\t// batch: the protocol package joins — the subagent-delegate package's\n\t// runtime imports (`@agent-forge/protocol`) resolve the same way. S4 fourth\n\t// batch: the memory package's native vector stack (`@lancedb/lancedb`,\n\t// `@huggingface/transformers`) resolves through the jiti alias channel\n\t// instead — those stay real host node_modules entries, so plugins load the\n\t// host's native builds rather than a virtual copy.\n\tconst jiti = createJiti(import.meta.url, {\n\t\tmoduleCache: false,\n\t\ttsconfigPaths: true,\n\t\talias: buildHostDependencyAliases(hostHeavyDependencyAliases, defaultHostDependencyAliasResolution),\n\t\tvirtualModules: {\n\t\t\t\"@agent-forge/plugin-sdk\": pluginSdk,\n\t\t\t\"@agent-forge/plugin-sdk/session-lineage\": pluginSdkSessionLineage,\n\t\t\t\"@agent-forge/protocol/subagent\": protocolSubagent,\n\t\t\ttypebox,\n\t\t\t\"typebox/value\": typeboxValue,\n\t\t},\n\t});\n\tlet factory: unknown;\n\ttry {\n\t\tfactory = await jiti.import(entryPath, { default: true });\n\t} catch (error) {\n\t\tthrow new Error(\n\t\t\t`Failed to import capability plugin entry ${entryPath}: ${error instanceof Error ? error.message : String(error)}`,\n\t\t);\n\t}\n\tif (typeof factory !== \"function\") {\n\t\tthrow new Error(`Capability plugin entry must default-export a factory function: ${entryPath}`);\n\t}\n\treturn loadCapabilityPlugin(runtime, manifest, factory as CapabilityPluginFactory);\n}\n"]}
@@ -0,0 +1,22 @@
1
+ import type { CapabilityRuntimeOptions, CapabilityRuntimeState, OperationTerminalStatus, RegisteredPluginCapability } from "./capability-runtime-types.ts";
2
+ import { type LifecycleDispatchRequest, type LifecycleDispatchResult, type OperationProgress } from "./public-api.ts";
3
+ export interface LifecycleRuntime {
4
+ dispatchLifecycle: <TData>(request: LifecycleDispatchRequest<TData>) => Promise<LifecycleDispatchResult<TData>>;
5
+ reportOperationEnd: (operationId: string, operationKind: string, status: OperationTerminalStatus, ownerTokens: readonly symbol[]) => void;
6
+ reportOperationStart: (operationId: string, operationKind: string, ownerTokens: readonly symbol[]) => void;
7
+ reportOperationStep: (operationId: string, operationKind: string, ownerTokens: readonly symbol[], progress: OperationProgress, step: number) => boolean;
8
+ reportOperationCancel: (operationId: string, operationKind: string, ownerTokens: readonly symbol[]) => void;
9
+ reportCapabilityCall: (event: "start" | "cancel" | "end", operationId: string, callerPluginId: string, capability: RegisteredPluginCapability, ownerTokens: readonly symbol[], status?: OperationTerminalStatus) => void;
10
+ }
11
+ /**
12
+ * Create the lifecycle dispatch and operation-fact machinery for one runtime.
13
+ * All mutable state is shared through {@link CapabilityRuntimeState}; the
14
+ * returned functions close over the same state object as the runtime entry.
15
+ */
16
+ export declare function createLifecycleRuntime(deps: {
17
+ state: CapabilityRuntimeState;
18
+ clock: () => number;
19
+ createRuntimeId: (kind: string, sequence: number, fallback: string) => string;
20
+ onLifecycleDispatch?: CapabilityRuntimeOptions["onLifecycleDispatch"];
21
+ }): LifecycleRuntime;
22
+ //# sourceMappingURL=capability-runtime-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-runtime-events.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/capability-runtime-events.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACX,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAE1B,MAAM,+BAA+B,CAAC;AAWvC,OAAO,EAGN,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAO5B,KAAK,iBAAiB,EACtB,MAAM,iBAAiB,CAAC;AAIzB,MAAM,WAAW,gBAAgB;IAChC,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,wBAAwB,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;IAChH,kBAAkB,EAAE,CACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,uBAAuB,EAC/B,WAAW,EAAE,SAAS,MAAM,EAAE,KAC1B,IAAI,CAAC;IACV,oBAAoB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3G,mBAAmB,EAAE,CACpB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,MAAM,KACR,OAAO,CAAC;IACb,qBAAqB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5G,oBAAoB,EAAE,CACrB,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,EACjC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,0BAA0B,EACtC,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,MAAM,CAAC,EAAE,uBAAuB,KAC5B,IAAI,CAAC;CACV;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC5C,KAAK,EAAE,sBAAsB,CAAC;IAC9B,KAAK,EAAE,MAAM,MAAM,CAAC;IACpB,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9E,mBAAmB,CAAC,EAAE,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;CACtE,GAAG,gBAAgB,CA4anB","sourcesContent":["import { isPluginConfigValue } from \"./capability-runtime-manifest.ts\";\nimport { cancellationError } from \"./capability-runtime-operation.ts\";\nimport { detachedSnapshot, lifecycleErrorSnapshot } from \"./capability-runtime-snapshot.ts\";\nimport {\n\tcreateRevokedCapabilityError,\n\tinvokeRegisteredCapabilityWithSignal,\n\tisRevokedCapabilityError,\n} from \"./capability-runtime-store.ts\";\nimport type {\n\tCapabilityRuntimeOptions,\n\tCapabilityRuntimeState,\n\tOperationTerminalStatus,\n\tRegisteredPluginCapability,\n\tStoredLifecycleDefinition,\n} from \"./capability-runtime-types.ts\";\nimport { lifecycleEventKey, lifecyclePhases } from \"./capability-runtime-validation.ts\";\nimport {\n\tCAPABILITY_CALL_EVENT_ID,\n\tCAPABILITY_CALL_EVENT_VERSION,\n\tOPERATION_CANCEL_EVENT_ID,\n\tOPERATION_END_EVENT_ID,\n\tOPERATION_START_EVENT_ID,\n\tOPERATION_STEP_EVENT_ID,\n} from \"./lifecycle-catalog.ts\";\nimport { LifecycleDeliveryQueueOverflowError } from \"./lifecycle-delivery-queue.ts\";\nimport {\n\ttype LifecycleDeliveryFailure,\n\ttype LifecycleDeliveryReport,\n\ttype LifecycleDispatchRequest,\n\ttype LifecycleDispatchResult,\n\ttype LifecycleEvent,\n\tLifecycleExecuteError,\n\ttype LifecycleExecuteHandler,\n\ttype LifecycleObserveHandler,\n\tLifecycleTransformError,\n\ttype LifecycleTransformHandler,\n\ttype OperationProgress,\n} from \"./public-api.ts\";\n\nconst MAX_RUNTIME_INSPECTOR_LIFECYCLE_REPORTS = 64;\n\nexport interface LifecycleRuntime {\n\tdispatchLifecycle: <TData>(request: LifecycleDispatchRequest<TData>) => Promise<LifecycleDispatchResult<TData>>;\n\treportOperationEnd: (\n\t\toperationId: string,\n\t\toperationKind: string,\n\t\tstatus: OperationTerminalStatus,\n\t\townerTokens: readonly symbol[],\n\t) => void;\n\treportOperationStart: (operationId: string, operationKind: string, ownerTokens: readonly symbol[]) => void;\n\treportOperationStep: (\n\t\toperationId: string,\n\t\toperationKind: string,\n\t\townerTokens: readonly symbol[],\n\t\tprogress: OperationProgress,\n\t\tstep: number,\n\t) => boolean;\n\treportOperationCancel: (operationId: string, operationKind: string, ownerTokens: readonly symbol[]) => void;\n\treportCapabilityCall: (\n\t\tevent: \"start\" | \"cancel\" | \"end\",\n\t\toperationId: string,\n\t\tcallerPluginId: string,\n\t\tcapability: RegisteredPluginCapability,\n\t\townerTokens: readonly symbol[],\n\t\tstatus?: OperationTerminalStatus,\n\t) => void;\n}\n\n/**\n * Create the lifecycle dispatch and operation-fact machinery for one runtime.\n * All mutable state is shared through {@link CapabilityRuntimeState}; the\n * returned functions close over the same state object as the runtime entry.\n */\nexport function createLifecycleRuntime(deps: {\n\tstate: CapabilityRuntimeState;\n\tclock: () => number;\n\tcreateRuntimeId: (kind: string, sequence: number, fallback: string) => string;\n\tonLifecycleDispatch?: CapabilityRuntimeOptions[\"onLifecycleDispatch\"];\n}): LifecycleRuntime {\n\tconst { state, clock, createRuntimeId, onLifecycleDispatch } = deps;\n\tconst lifecycleReport = (\n\t\tevent: LifecycleEvent,\n\t\tstatus: LifecycleDeliveryReport[\"status\"],\n\t\tattempted: number,\n\t\tsucceeded: number,\n\t\tfailures: readonly LifecycleDeliveryFailure[],\n\t\tqueued = 0,\n\t): LifecycleDeliveryReport =>\n\t\tObject.freeze({\n\t\t\teventId: event.id,\n\t\t\ttype: event.type,\n\t\t\tversion: event.version,\n\t\t\tphase: event.phase,\n\t\t\tstatus,\n\t\t\tattempted,\n\t\t\tsucceeded,\n\t\t\t...(queued === 0 ? {} : { queued }),\n\t\t\tfailed: failures.length,\n\t\t\tfailures: Object.freeze([...failures]),\n\t\t});\n\tconst recordLifecycleReport = (report: LifecycleDeliveryReport): void => {\n\t\tconst snapshot = detachedSnapshot({\n\t\t\teventId: report.eventId,\n\t\t\ttype: report.type,\n\t\t\tversion: report.version,\n\t\t\tphase: report.phase,\n\t\t\tstatus: report.status,\n\t\t\tattempted: report.attempted,\n\t\t\tsucceeded: report.succeeded,\n\t\t\t...(report.queued === undefined ? {} : { queued: report.queued }),\n\t\t\tfailed: report.failed,\n\t\t\tcompletedAt: clock(),\n\t\t\tfailures: report.failures.map((failure) => ({\n\t\t\t\tpluginId: failure.pluginId,\n\t\t\t\tregistrationId: failure.registrationId,\n\t\t\t\tkind: failure.kind,\n\t\t\t\terror: lifecycleErrorSnapshot(failure.error),\n\t\t\t})),\n\t\t});\n\t\tstate.lifecycleReports.push(snapshot);\n\t\tif (state.lifecycleReports.length > MAX_RUNTIME_INSPECTOR_LIFECYCLE_REPORTS) state.lifecycleReports.shift();\n\t};\n\tconst assertLifecycleDefinitionActive = (stored: StoredLifecycleDefinition): void => {\n\t\tif (!state.activeOwnerTokens.has(stored.ownerToken)) {\n\t\t\tthrow createRevokedCapabilityError(stored.owner);\n\t\t}\n\t};\n\n\tconst dispatchLifecycleImpl = async <TData>(\n\t\trequest: LifecycleDispatchRequest<TData>,\n\t): Promise<LifecycleDispatchResult<TData>> => {\n\t\tif (!request || typeof request !== \"object\") throw new Error(\"Lifecycle dispatch request is required\");\n\t\tif (request.signal?.aborted) throw cancellationError(request.signal.reason);\n\t\tif (typeof request.type !== \"string\" || !request.type.trim()) {\n\t\t\tthrow new Error(\"Lifecycle dispatch requires a non-empty type\");\n\t\t}\n\t\tif (!Number.isSafeInteger(request.version) || request.version < 1) {\n\t\t\tthrow new Error(\"Lifecycle dispatch version must be a positive safe integer\");\n\t\t}\n\t\tif (!lifecyclePhases.has(request.phase)) throw new Error(`Lifecycle dispatch phase is invalid: ${request.phase}`);\n\t\tconst stored = state.lifecycleDefinitions.get(lifecycleEventKey(request.type, request.version));\n\t\tif (!stored || !state.activeOwnerTokens.has(stored.ownerToken)) {\n\t\t\tthrow new Error(`Lifecycle event is not defined: ${request.type}@${request.version}`);\n\t\t}\n\t\tif (!(stored.definition.allowedPhases ?? [stored.definition.phase]).includes(request.phase)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Lifecycle dispatch phase does not match event definition: ${request.type}@${request.version}`,\n\t\t\t);\n\t\t}\n\t\tassertLifecycleDefinitionActive(stored);\n\t\tconst sequence = ++state.eventSequence;\n\t\tconst deliveryId = createRuntimeId(\"lifecycle-delivery\", sequence, `lifecycle-delivery:${sequence}`);\n\t\tconst operationId = request.operationId;\n\t\tconst correlationId = request.correlationId ?? operationId;\n\t\tif (operationId !== undefined && (typeof operationId !== \"string\" || !operationId.trim()))\n\t\t\tthrow new Error(\"Lifecycle operationId must be non-empty\");\n\t\tif (correlationId !== undefined && (typeof correlationId !== \"string\" || !correlationId.trim())) {\n\t\t\tthrow new Error(\"Lifecycle correlationId must be non-empty\");\n\t\t}\n\t\tif (\n\t\t\trequest.causationId !== undefined &&\n\t\t\t(typeof request.causationId !== \"string\" || !request.causationId.trim())\n\t\t) {\n\t\t\tthrow new Error(\"Lifecycle causationId must be non-empty\");\n\t\t}\n\t\tconst source = request.source ?? \"host\";\n\t\tif (typeof source !== \"string\" || !source.trim()) throw new Error(\"Lifecycle source must be non-empty\");\n\n\t\tconst validated = stored.definition.validate(detachedSnapshot(request.data));\n\t\tassertLifecycleDefinitionActive(stored);\n\t\tlet data = detachedSnapshot(validated) as TData;\n\t\tconst makeEvent = (): LifecycleEvent<TData> =>\n\t\t\tdetachedSnapshot({\n\t\t\t\tid: createRuntimeId(\"lifecycle-event\", sequence, `lifecycle-event:${sequence}`),\n\t\t\t\tdeliveryId,\n\t\t\t\ttype: request.type,\n\t\t\t\tversion: request.version,\n\t\t\t\tphase: request.phase,\n\t\t\t\tsource,\n\t\t\t\ttimestamp: clock(),\n\t\t\t\t...(operationId === undefined ? {} : { operationId }),\n\t\t\t\t...(correlationId === undefined ? {} : { correlationId }),\n\t\t\t\t...(request.causationId === undefined ? {} : { causationId: request.causationId }),\n\t\t\t\tdata,\n\t\t\t});\n\t\tlet event = makeEvent();\n\t\tconst registrations = Array.from(\n\t\t\tstate.lifecycleRegistrations.get(lifecycleEventKey(request.type, request.version))?.values() ?? [],\n\t\t).sort((left, right) => left.sequence - right.sequence);\n\t\tconst transforms = registrations.filter((registration) => registration.kind === \"transform\");\n\t\tfor (let index = 0; index < transforms.length; index++) {\n\t\t\tconst registration = transforms[index];\n\t\t\ttry {\n\t\t\t\tassertLifecycleDefinitionActive(stored);\n\t\t\t\tconst registered = {\n\t\t\t\t\towner: registration.owner,\n\t\t\t\t\townerToken: registration.ownerToken,\n\t\t\t\t\tvalue: registration.handler,\n\t\t\t\t};\n\t\t\t\tconst result = await invokeRegisteredCapabilityWithSignal(state, registered, request.signal, (handler) =>\n\t\t\t\t\t(handler as LifecycleTransformHandler<TData>)(detachedSnapshot(event), request.signal),\n\t\t\t\t);\n\t\t\t\tassertLifecycleDefinitionActive(stored);\n\t\t\t\tdata = detachedSnapshot(stored.definition.validate(detachedSnapshot(result))) as TData;\n\t\t\t\tassertLifecycleDefinitionActive(stored);\n\t\t\t\tevent = makeEvent();\n\t\t\t\tassertLifecycleDefinitionActive(stored);\n\t\t\t} catch (error) {\n\t\t\t\tconst failure: LifecycleDeliveryFailure = {\n\t\t\t\t\tpluginId: registration.owner,\n\t\t\t\t\tregistrationId: registration.id,\n\t\t\t\t\tkind: registration.kind,\n\t\t\t\t\terror,\n\t\t\t\t};\n\t\t\t\tconst report = lifecycleReport(event, \"transform-failed\", index + 1, index, [failure]);\n\t\t\t\trecordLifecycleReport(report);\n\t\t\t\tthrow new LifecycleTransformError(error, report);\n\t\t\t}\n\t\t}\n\t\tconst executes = registrations.filter(\n\t\t\t(registration) => request.phase === \"committed\" && registration.kind === \"execute\",\n\t\t);\n\t\tconst executeResults: unknown[] = [];\n\t\tfor (let index = 0; index < executes.length; index++) {\n\t\t\tconst registration = executes[index];\n\t\t\ttry {\n\t\t\t\tassertLifecycleDefinitionActive(stored);\n\t\t\t\tconst registered = {\n\t\t\t\t\towner: registration.owner,\n\t\t\t\t\townerToken: registration.ownerToken,\n\t\t\t\t\tvalue: registration.handler,\n\t\t\t\t};\n\t\t\t\tconst result = await invokeRegisteredCapabilityWithSignal(state, registered, request.signal, (handler) =>\n\t\t\t\t\t(handler as LifecycleExecuteHandler<TData>)(detachedSnapshot(event), request.signal),\n\t\t\t\t);\n\t\t\t\tassertLifecycleDefinitionActive(stored);\n\t\t\t\texecuteResults.push(detachedSnapshot(result));\n\t\t\t\tassertLifecycleDefinitionActive(stored);\n\t\t\t} catch (error) {\n\t\t\t\tconst failure: LifecycleDeliveryFailure = {\n\t\t\t\t\tpluginId: registration.owner,\n\t\t\t\t\tregistrationId: registration.id,\n\t\t\t\t\tkind: registration.kind,\n\t\t\t\t\terror,\n\t\t\t\t};\n\t\t\t\tconst report = lifecycleReport(event, \"execute-failed\", index + 1, index, [failure]);\n\t\t\t\trecordLifecycleReport(report);\n\t\t\t\tthrow new LifecycleExecuteError(error, report);\n\t\t\t}\n\t\t}\n\n\t\tconst deliveries = registrations.filter(\n\t\t\t(registration) =>\n\t\t\t\tregistration.kind === \"observe\" || (request.phase === \"committed\" && registration.kind === \"after-commit\"),\n\t\t);\n\t\tassertLifecycleDefinitionActive(stored);\n\t\tconst results = await Promise.allSettled(\n\t\t\tdeliveries\n\t\t\t\t.filter((registration) => registration.queue === undefined)\n\t\t\t\t.map((registration) => {\n\t\t\t\t\tconst registered = {\n\t\t\t\t\t\towner: registration.owner,\n\t\t\t\t\t\townerToken: registration.ownerToken,\n\t\t\t\t\t\tvalue: registration.handler,\n\t\t\t\t\t};\n\t\t\t\t\treturn invokeRegisteredCapabilityWithSignal(state, registered, request.signal, (handler) =>\n\t\t\t\t\t\t(handler as LifecycleObserveHandler<TData>)(detachedSnapshot(event), request.signal),\n\t\t\t\t\t);\n\t\t\t\t}),\n\t\t);\n\t\tif (request.signal?.aborted) throw cancellationError(request.signal.reason);\n\t\tconst failures: LifecycleDeliveryFailure[] = [];\n\t\tlet succeeded = 0;\n\t\tconst inlineDeliveries = deliveries.filter((registration) => registration.queue === undefined);\n\t\tfor (let index = 0; index < results.length; index++) {\n\t\t\tconst result = results[index];\n\t\t\tif (result.status === \"fulfilled\") {\n\t\t\t\tsucceeded++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (isRevokedCapabilityError(result.reason)) continue;\n\t\t\tconst registration = inlineDeliveries[index];\n\t\t\tfailures.push({\n\t\t\t\tpluginId: registration.owner,\n\t\t\t\tregistrationId: registration.id,\n\t\t\t\tkind: registration.kind,\n\t\t\t\terror: result.reason,\n\t\t\t});\n\t\t}\n\t\tlet queued = 0;\n\t\tfor (const registration of deliveries) {\n\t\t\tconst queue = registration.queue;\n\t\t\tif (!queue) continue;\n\t\t\ttry {\n\t\t\t\tconst acceptedBefore = queue.snapshot().accepted;\n\t\t\t\tconst delivery = queue.enqueue({ event: detachedSnapshot(event), signal: request.signal });\n\t\t\t\tconst queueSnapshot = queue.snapshot();\n\t\t\t\tif (queueSnapshot.accepted > acceptedBefore) queued += 1;\n\t\t\t\tif (queueSnapshot.status === \"overflowed\") {\n\t\t\t\t\tfailures.push({\n\t\t\t\t\t\tpluginId: registration.owner,\n\t\t\t\t\t\tregistrationId: registration.id,\n\t\t\t\t\t\tkind: registration.kind,\n\t\t\t\t\t\terror: new LifecycleDeliveryQueueOverflowError(\n\t\t\t\t\t\t\tevent.type === \"model.stream\"\n\t\t\t\t\t\t\t\t? \"model_stream_backpressure_overflow\"\n\t\t\t\t\t\t\t\t: \"lifecycle_delivery_backpressure_overflow\",\n\t\t\t\t\t\t\tqueueSnapshot.maxPendingEvents,\n\t\t\t\t\t\t\tqueueSnapshot.maxPendingBytes,\n\t\t\t\t\t\t\tqueueSnapshot.pendingEvents,\n\t\t\t\t\t\t\tqueueSnapshot.pendingBytes,\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t),\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tvoid delivery.then(\n\t\t\t\t\t() => recordLifecycleReport(lifecycleReport(event, \"delivered\", 1, 1, [])),\n\t\t\t\t\t(error) => {\n\t\t\t\t\t\tif (isRevokedCapabilityError(error)) return;\n\t\t\t\t\t\tif (error instanceof LifecycleDeliveryQueueOverflowError) return;\n\t\t\t\t\t\tconst failure: LifecycleDeliveryFailure = {\n\t\t\t\t\t\t\tpluginId: registration.owner,\n\t\t\t\t\t\t\tregistrationId: registration.id,\n\t\t\t\t\t\t\tkind: registration.kind,\n\t\t\t\t\t\t\terror,\n\t\t\t\t\t\t};\n\t\t\t\t\t\trecordLifecycleReport(lifecycleReport(event, \"delivered\", 1, 0, [failure]));\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t} catch (error) {\n\t\t\t\tfailures.push({\n\t\t\t\t\tpluginId: registration.owner,\n\t\t\t\t\tregistrationId: registration.id,\n\t\t\t\t\tkind: registration.kind,\n\t\t\t\t\terror,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tassertLifecycleDefinitionActive(stored);\n\t\tconst report = lifecycleReport(\n\t\t\tevent,\n\t\t\tqueued > 0 ? \"queued\" : \"delivered\",\n\t\t\tdeliveries.length,\n\t\t\tsucceeded,\n\t\t\tfailures,\n\t\t\tqueued,\n\t\t);\n\t\trecordLifecycleReport(report);\n\t\tassertLifecycleDefinitionActive(stored);\n\t\treturn Object.freeze({ event, data: event.data, executeResults: Object.freeze(executeResults), report });\n\t};\n\tconst dispatchLifecycle = <TData>(\n\t\trequest: LifecycleDispatchRequest<TData>,\n\t): Promise<LifecycleDispatchResult<TData>> => {\n\t\tconst settled = dispatchLifecycleImpl(request);\n\t\ttry {\n\t\t\tonLifecycleDispatch?.(\n\t\t\t\trequest as LifecycleDispatchRequest<unknown>,\n\t\t\t\tsettled as Promise<LifecycleDispatchResult<unknown>>,\n\t\t\t);\n\t\t} catch {\n\t\t\t// Test observers must never alter lifecycle delivery or operation results.\n\t\t}\n\t\treturn settled;\n\t};\n\tconst reportOperationFact = (\n\t\teventId: string,\n\t\toperationId: string,\n\t\toperationKind: string,\n\t\tstatus: OperationTerminalStatus,\n\t\townerTokens: readonly symbol[],\n\t): void => {\n\t\tif (ownerTokens.some((ownerToken) => !state.activeOwnerTokens.has(ownerToken))) return;\n\t\tconst data = {\n\t\t\tversion: 1 as const,\n\t\t\toperationId,\n\t\t\toperationKind,\n\t\t\tstatus,\n\t\t\t...(status === \"failed\" ? { errorMessage: \"operation failed\" } : {}),\n\t\t\t...(status === \"cancelled\" ? { reason: \"cancelled\" } : {}),\n\t\t};\n\t\tvoid dispatchLifecycle({\n\t\t\ttype: eventId,\n\t\t\tversion: 1,\n\t\t\tphase: \"committed\",\n\t\t\tsource: \"host\",\n\t\t\toperationId,\n\t\t\tcorrelationId: operationId,\n\t\t\tdata,\n\t\t}).catch(() => {});\n\t};\n\tconst reportOperationEnd = (\n\t\toperationId: string,\n\t\toperationKind: string,\n\t\tstatus: OperationTerminalStatus,\n\t\townerTokens: readonly symbol[],\n\t): void => {\n\t\treportOperationFact(OPERATION_END_EVENT_ID, operationId, operationKind, status, ownerTokens);\n\t};\n\t// operation.start fires when execution begins; operation.cancel fires at the\n\t// cancellation request, before the terminal operation.end fact. Both stay\n\t// within CapabilityAPI-registered operations and never carry input, results,\n\t// or caller cancellation reasons.\n\tconst reportOperationStart = (operationId: string, operationKind: string, ownerTokens: readonly symbol[]): void => {\n\t\tif (ownerTokens.some((ownerToken) => !state.activeOwnerTokens.has(ownerToken))) return;\n\t\tvoid dispatchLifecycle({\n\t\t\ttype: OPERATION_START_EVENT_ID,\n\t\t\tversion: 1,\n\t\t\tphase: \"committed\",\n\t\t\tsource: \"host\",\n\t\t\toperationId,\n\t\t\tcorrelationId: operationId,\n\t\t\tdata: { version: 1, operationId, operationKind },\n\t\t}).catch(() => {});\n\t};\n\tconst reportOperationStep = (\n\t\toperationId: string,\n\t\toperationKind: string,\n\t\townerTokens: readonly symbol[],\n\t\tprogress: OperationProgress,\n\t\tstep: number,\n\t): boolean => {\n\t\tif (\n\t\t\townerTokens.some((ownerToken) => !state.activeOwnerTokens.has(ownerToken)) ||\n\t\t\tstate.statuses.get(operationId) !== \"running\"\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t\tif (!progress || typeof progress !== \"object\" || Array.isArray(progress)) {\n\t\t\tthrow new Error(\"Operation progress must be an object\");\n\t\t}\n\t\tif (progress.message !== undefined && (typeof progress.message !== \"string\" || !progress.message.trim())) {\n\t\t\tthrow new Error(\"Operation progress message must be a non-empty string\");\n\t\t}\n\t\tif (progress.data !== undefined && !isPluginConfigValue(progress.data)) {\n\t\t\tthrow new Error(\"Operation progress data must be serializable\");\n\t\t}\n\t\tvoid dispatchLifecycle({\n\t\t\ttype: OPERATION_STEP_EVENT_ID,\n\t\t\tversion: 1,\n\t\t\tphase: \"committed\",\n\t\t\tsource: \"host\",\n\t\t\toperationId,\n\t\t\tcorrelationId: operationId,\n\t\t\tdata: {\n\t\t\t\tversion: 1,\n\t\t\t\toperationId,\n\t\t\t\toperationKind,\n\t\t\t\tstep,\n\t\t\t\t...(progress.message === undefined ? {} : { message: progress.message }),\n\t\t\t\t...(progress.data === undefined ? {} : { data: detachedSnapshot(progress.data) }),\n\t\t\t},\n\t\t}).catch(() => {});\n\t\treturn true;\n\t};\n\tconst reportOperationCancel = (operationId: string, operationKind: string, ownerTokens: readonly symbol[]): void => {\n\t\tif (ownerTokens.some((ownerToken) => !state.activeOwnerTokens.has(ownerToken))) return;\n\t\tvoid dispatchLifecycle({\n\t\t\ttype: OPERATION_CANCEL_EVENT_ID,\n\t\t\tversion: 1,\n\t\t\tphase: \"committed\",\n\t\t\tsource: \"host\",\n\t\t\toperationId,\n\t\t\tcorrelationId: operationId,\n\t\t\tdata: { version: 1, operationId, operationKind },\n\t\t}).catch(() => {});\n\t};\n\tconst reportCapabilityCall = (\n\t\tevent: \"start\" | \"cancel\" | \"end\",\n\t\toperationId: string,\n\t\tcallerPluginId: string,\n\t\tcapability: RegisteredPluginCapability,\n\t\townerTokens: readonly symbol[],\n\t\tstatus?: OperationTerminalStatus,\n\t): void => {\n\t\tif (ownerTokens.some((ownerToken) => !state.activeOwnerTokens.has(ownerToken))) return;\n\t\tconst data = {\n\t\t\tversion: 1 as const,\n\t\t\tevent,\n\t\t\toperationId,\n\t\t\tcallerPluginId,\n\t\t\tcapabilityId: capability.declaration.id,\n\t\t\tcapabilityVersion: capability.declaration.version,\n\t\t\tcapabilityKind: capability.declaration.kind,\n\t\t\tproviderPluginId: capability.owner,\n\t\t\t...(status === undefined ? {} : { status }),\n\t\t};\n\t\tvoid dispatchLifecycle({\n\t\t\ttype: CAPABILITY_CALL_EVENT_ID,\n\t\t\tversion: CAPABILITY_CALL_EVENT_VERSION,\n\t\t\tphase: \"committed\",\n\t\t\tsource: \"host\",\n\t\t\toperationId,\n\t\t\tcorrelationId: operationId,\n\t\t\tdata,\n\t\t}).catch(() => {});\n\t};\n\n\treturn {\n\t\tdispatchLifecycle,\n\t\treportOperationEnd,\n\t\treportOperationStart,\n\t\treportOperationStep,\n\t\treportOperationCancel,\n\t\treportCapabilityCall,\n\t};\n}\n"]}