@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 @@
1
+ {"version":3,"file":"package-manager-cli.js","sourceRoot":"","sources":["../src/package-manager-cli.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\texistsSync,\n\tmkdirSync,\n\tmkdtempSync,\n\treaddirSync,\n\treadFileSync,\n\trenameSync,\n\trmSync,\n\twriteFileSync,\n} from \"node:fs\";\nimport { join, resolve } from \"node:path\";\nimport { Markdown, type MarkdownTheme } from \"@agent-forge/tui\";\nimport chalk from \"chalk\";\nimport lockfile from \"proper-lockfile\";\nimport { selectConfig } from \"./cli/config-selector.ts\";\nimport { createDefaultPluginManagerControllerV1 } from \"./cli/plugin-command.ts\";\nimport type { PluginManagerControllerV1 } from \"./cli/plugin-manager-controller.ts\";\nimport { createPluginSelectionControllerV1 } from \"./cli/plugin-selection-controller.ts\";\nimport {\n\tAPP_NAME,\n\tCONFIG_DIR_NAME,\n\tdetectInstallMethod,\n\tgetAgentDir,\n\tgetPackageDir,\n\tgetSelfUpdateCommand,\n\tgetSelfUpdateUnavailableInstruction,\n\tPACKAGE_NAME,\n\ttype SelfUpdateCommand,\n\ttype SelfUpdatePackageTarget,\n\tVERSION,\n} from \"./config.ts\";\nimport { ModelRuntime } from \"./core/model-runtime.ts\";\nimport { DefaultPackageManager } from \"./core/package-manager.ts\";\nimport { SettingsManager } from \"./core/settings-manager.ts\";\nimport { createPluginSelectionStoreV1 } from \"./plugins/ecosystem/selection-store.ts\";\nimport { getAgentForgeUserAgent } from \"./utils/agent-forge-user-agent.ts\";\nimport { spawnProcess, spawnProcessSync, waitForChildProcess } from \"./utils/child-process.ts\";\nimport { canonicalizePath, getCwdRelativePath } from \"./utils/paths.ts\";\nimport { sleep } from \"./utils/sleep.ts\";\nimport {\n\tEXPECTED_PACKAGE_NAME,\n\tformatVersionCheckError,\n\tgetLatestRelease,\n\tisNewerPackageVersion,\n} from \"./utils/version-check.ts\";\nimport {\n\tcleanupWindowsSelfUpdateQuarantine,\n\tquarantineWindowsNativeDependencies,\n} from \"./utils/windows-self-update.ts\";\n\nexport type PackageCommand = \"install\" | \"remove\" | \"update\" | \"list\";\n\ntype UpdateTarget = { type: \"all\" } | { type: \"self\" } | { type: \"packages\"; source?: string } | { type: \"models\" };\n\nconst MANAGED_INSTALL_MARKER = \"managed-install.json\";\nconst MANAGED_RELEASE_VERSION_RE = /^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?(?:\\+[0-9A-Za-z.-]+)?$/;\n\nfunction getActiveManagedInstallRoot(): string | undefined {\n\tconst configuredRoot = process.env.AGENT_FORGE_MANAGED_INSTALL_ROOT?.trim();\n\tif (!configuredRoot) return undefined;\n\n\tconst managedRoot = resolve(configuredRoot);\n\tconst releasesDir = canonicalizePath(join(managedRoot, \"releases\"));\n\t// The launcher environment is inherited by child processes. Do not classify a\n\t// source checkout or another installation launched from a managed release as managed.\n\tif (getCwdRelativePath(canonicalizePath(getPackageDir()), releasesDir) === undefined) return undefined;\n\n\tconst markerPath = join(managedRoot, MANAGED_INSTALL_MARKER);\n\ttry {\n\t\tconst marker = JSON.parse(readFileSync(markerPath, \"utf8\")) as {\n\t\t\tkind?: unknown;\n\t\t\tlayout?: unknown;\n\t\t\tschemaVersion?: unknown;\n\t\t};\n\t\tif (\n\t\t\tmarker.kind !== \"agent-forge-managed-install\" ||\n\t\t\tmarker.schemaVersion !== 1 ||\n\t\t\tmarker.layout !== \"releases-v1\"\n\t\t) {\n\t\t\tthrow new Error();\n\t\t}\n\t} catch {\n\t\tthrow new Error(`Managed install marker is missing or invalid: ${markerPath}`);\n\t}\n\n\treturn managedRoot;\n}\n\nasync function fetchInstallerArtifact(url: string, label: string): Promise<string> {\n\tconst response = await fetch(url, { headers: { \"User-Agent\": getAgentForgeUserAgent(VERSION) } });\n\tif (!response.ok) {\n\t\tthrow new Error(`Could not download managed installer ${label} from ${url}: HTTP ${response.status}`);\n\t}\n\treturn await response.text();\n}\n\nasync function runManagedNpmCi(stageDir: string): Promise<void> {\n\tconst args = [\n\t\t\"ci\",\n\t\t\"--ignore-scripts\",\n\t\t\"--min-release-age=0\",\n\t\t\"--omit=dev\",\n\t\t\"--include=optional\",\n\t\t\"--no-fund\",\n\t\t\"--no-audit\",\n\t\t\"--loglevel=error\",\n\t\t\"--progress=false\",\n\t];\n\tconst code = await waitForChildProcess(spawnProcess(\"npm\", args, { cwd: stageDir, stdio: \"inherit\" }));\n\tif (code !== 0) throw new Error(`npm ${args.join(\" \")} exited with code ${code ?? \"unknown\"}`);\n}\n\nfunction verifyManagedRelease(releaseDir: string, expectedVersion: string): void {\n\tconst binPath = join(\n\t\treleaseDir,\n\t\t\"node_modules\",\n\t\t\".bin\",\n\t\tprocess.platform === \"win32\" ? `${APP_NAME}.cmd` : APP_NAME,\n\t);\n\tconst result = spawnProcessSync(binPath, [\"--version\"], {\n\t\tencoding: \"utf8\",\n\t\tstdio: [\"ignore\", \"pipe\", \"pipe\"],\n\t});\n\tif (result.error || result.status !== 0) {\n\t\tconst reason = result.error?.message || result.stderr.trim() || `exit code ${result.status ?? \"unknown\"}`;\n\t\tthrow new Error(`Could not verify managed ${APP_NAME} ${expectedVersion}: ${reason}`);\n\t}\n\tconst installedVersion = result.stdout.trim();\n\tif (installedVersion !== expectedVersion) {\n\t\tthrow new Error(\n\t\t\t`Managed ${APP_NAME} smoke test returned version ${installedVersion}; expected ${expectedVersion}.`,\n\t\t);\n\t}\n}\n\n// Windows AV/indexer can hold freshly written staging files for many seconds\n// under IO load; retry the rename generously instead of failing the whole\n// self-update (observed EBUSY past 3s during full-suite runs).\nasync function activateStagedRelease(stageDir: string, releaseDir: string): Promise<void> {\n\tfor (let attempt = 0; ; attempt++) {\n\t\ttry {\n\t\t\trenameSync(stageDir, releaseDir);\n\t\t\treturn;\n\t\t} catch (error) {\n\t\t\tif (attempt >= 9 || !existsSync(stageDir)) throw error;\n\t\t\tawait sleep(1000);\n\t\t}\n\t}\n}\n\nfunction activateManagedRelease(managedRoot: string, version: string): void {\n\tconst currentPath = join(managedRoot, \"current-version\");\n\tconst temporaryPath = join(managedRoot, `current-version.tmp.${process.pid}-${Date.now()}`);\n\ttry {\n\t\twriteFileSync(temporaryPath, `${version}\\n`);\n\t\trenameSync(temporaryPath, currentPath);\n\t} finally {\n\t\trmSync(temporaryPath, { force: true });\n\t}\n}\n\nfunction cleanupManagedStaging(managedRoot: string): void {\n\tconst stagingRoot = join(managedRoot, \"staging\");\n\ttry {\n\t\tfor (const entry of readdirSync(stagingRoot)) {\n\t\t\tif (entry.startsWith(\"update-\")) {\n\t\t\t\trmSync(join(stagingRoot, entry), { force: true, recursive: true });\n\t\t\t}\n\t\t}\n\t} catch {\n\t\t// The staging directory does not exist yet or is not writable.\n\t}\n}\n\nexport function cleanupManagedInstall(): void {\n\tlet managedRoot: string | undefined;\n\ttry {\n\t\tmanagedRoot = getActiveManagedInstallRoot();\n\t} catch {\n\t\treturn;\n\t}\n\tif (!managedRoot) return;\n\n\ttry {\n\t\tconst releaseLock = lockfile.lockSync(join(managedRoot, \"update\"), { realpath: false });\n\t\ttry {\n\t\t\tcleanupManagedStaging(managedRoot);\n\t\t} finally {\n\t\t\treleaseLock();\n\t\t}\n\t} catch {\n\t\t// A live update owns the staging directory, or cleanup is unavailable.\n\t}\n}\n\nasync function runManagedSelfUpdate(managedRoot: string, version: string): Promise<void> {\n\tif (!MANAGED_RELEASE_VERSION_RE.test(version)) {\n\t\tthrow new Error(`Invalid managed release version: ${version}`);\n\t}\n\n\tlet releaseLock: () => Promise<void>;\n\ttry {\n\t\treleaseLock = await lockfile.lock(join(managedRoot, \"update\"), { realpath: false });\n\t} catch (error: unknown) {\n\t\tif (error instanceof Error && \"code\" in error && error.code === \"ELOCKED\") {\n\t\t\tthrow new Error(`Another managed ${APP_NAME} update is already running.`);\n\t\t}\n\t\tthrow error;\n\t}\n\n\tlet stageDir: string | undefined;\n\ttry {\n\t\tcleanupManagedStaging(managedRoot);\n\t\tconst installerApiBase = process.env.AGENT_FORGE_INSTALLER_API_BASE?.trim().replace(/\\/+$/, \"\");\n\t\tif (!installerApiBase) {\n\t\t\tthrow new Error(\"Managed self-update requires AGENT_FORGE_INSTALLER_API_BASE to be configured.\");\n\t\t}\n\t\tconst releaseUrl = `${installerApiBase}/${encodeURIComponent(version)}`;\n\t\tconst stagingRoot = join(managedRoot, \"staging\");\n\t\tconst releasesRoot = join(managedRoot, \"releases\");\n\t\tmkdirSync(releasesRoot, { recursive: true });\n\t\tconst releaseDir = join(releasesRoot, version);\n\t\tif (existsSync(releaseDir)) {\n\t\t\tverifyManagedRelease(releaseDir, version);\n\t\t\tactivateManagedRelease(managedRoot, version);\n\t\t\treturn;\n\t\t}\n\n\t\tmkdirSync(stagingRoot, { recursive: true });\n\t\tstageDir = mkdtempSync(join(stagingRoot, \"update-\"));\n\t\tconst [packageJsonContent, packageLockContent] = await Promise.all([\n\t\t\tfetchInstallerArtifact(`${releaseUrl}/package.json`, \"package.json\"),\n\t\t\tfetchInstallerArtifact(`${releaseUrl}/package-lock.json`, \"package-lock.json\"),\n\t\t]);\n\t\twriteFileSync(join(stageDir, \"package.json\"), packageJsonContent);\n\t\twriteFileSync(join(stageDir, \"package-lock.json\"), packageLockContent);\n\n\t\tawait runManagedNpmCi(stageDir);\n\t\tverifyManagedRelease(stageDir, version);\n\t\tawait activateStagedRelease(stageDir, releaseDir);\n\t\tactivateManagedRelease(managedRoot, version);\n\t} finally {\n\t\t// Staging files may still be held briefly by AV/scanner on Windows; a\n\t\t// failed cleanup must not mask the actual update error (or success).\n\t\ttry {\n\t\t\tif (stageDir) rmSync(stageDir, { force: true, recursive: true });\n\t\t} catch {\n\t\t\t// Orphaned staging dirs are removed by the next cleanupManagedStaging.\n\t\t}\n\t\tawait releaseLock();\n\t}\n}\n\nconst SELF_UPDATE_NOTE_MARKDOWN_THEME: MarkdownTheme = {\n\theading: (text) => chalk.bold(chalk.yellow(text)),\n\tlink: (text) => chalk.cyan(text),\n\tlinkUrl: (text) => chalk.dim(text),\n\tcode: (text) => chalk.yellow(text),\n\tcodeBlock: (text) => chalk.dim(text),\n\tcodeBlockBorder: (text) => chalk.dim(text),\n\tquote: (text) => chalk.dim(text),\n\tquoteBorder: (text) => chalk.dim(text),\n\thr: (text) => chalk.dim(text),\n\tlistBullet: (text) => chalk.yellow(text),\n\tbold: (text) => chalk.bold(text),\n\titalic: (text) => chalk.italic(text),\n\tstrikethrough: (text) => chalk.strikethrough(text),\n\tunderline: (text) => chalk.underline(text),\n};\n\ninterface PackageCommandOptions {\n\tcommand: PackageCommand;\n\tsource?: string;\n\tupdateTarget?: UpdateTarget;\n\tshowPackagesSkippedNote: boolean;\n\tlocal: boolean;\n\tforce: boolean;\n\thelp: boolean;\n\tinvalidOption?: string;\n\tinvalidArgument?: string;\n\tmissingOptionValue?: string;\n\tconflictingOptions?: string;\n}\n\nfunction reportSettingsErrors(settingsManager: SettingsManager, context: string): void {\n\tconst errors = settingsManager.drainErrors();\n\tfor (const { scope, error } of errors) {\n\t\tconsole.error(chalk.yellow(`Warning (${context}, ${scope} settings): ${error.message}`));\n\t\tif (error.stack) {\n\t\t\tconsole.error(chalk.dim(error.stack));\n\t\t}\n\t}\n}\n\nfunction getPackageCommandUsage(command: PackageCommand): string {\n\tswitch (command) {\n\t\tcase \"install\":\n\t\t\treturn `${APP_NAME} install <source> [-l]`;\n\t\tcase \"remove\":\n\t\t\treturn `${APP_NAME} remove <source> [-l]`;\n\t\tcase \"update\":\n\t\t\treturn `${APP_NAME} update [source|self] [--self|--packages|--models|--all] [--package <source>] [--force]`;\n\t\tcase \"list\":\n\t\t\treturn `${APP_NAME} list`;\n\t}\n}\n\nconst CONFIG_COMMAND_USAGE = `${APP_NAME} config [-l]`;\n\nfunction createConfigPluginSelectionController(agentDir: string, cwd: string, scope: \"global\" | \"project\") {\n\treturn createPluginSelectionControllerV1({\n\t\tstore: createPluginSelectionStoreV1({\n\t\t\tfilePath:\n\t\t\t\tscope === \"project\"\n\t\t\t\t\t? join(cwd, CONFIG_DIR_NAME, \".plugin-selection.json\")\n\t\t\t\t\t: join(agentDir, \".plugin-selection.json\"),\n\t\t}),\n\t\tscope,\n\t\thost: {\n\t\t\tos: process.platform === \"win32\" ? \"windows\" : process.platform === \"darwin\" ? \"macos\" : \"linux\",\n\t\t\tarch: process.arch === \"x64\" || process.arch === \"arm64\" ? process.arch : \"any\",\n\t\t\truntime: [{ name: \"node\", version: process.versions.node }],\n\t\t\tapiVersion: \"1\",\n\t\t\thostFeatures: [\"desktop-control\"],\n\t\t},\n\t});\n}\n\nfunction printConfigCommandHelp(): void {\n\tconsole.log(`${chalk.bold(\"Usage:\")}\n ${CONFIG_COMMAND_USAGE}\n\nOpen the resource configuration TUI to enable or disable package resources.\nWithout -l, starts in global settings (~/${CONFIG_DIR_NAME}/agent/settings.json).\nPress Tab in the TUI to switch between global and project-local modes.\n\nOptions:\n -l, --local Edit project overrides (${CONFIG_DIR_NAME}/settings.json)\n`);\n}\n\nfunction printPackageCommandHelp(command: PackageCommand): void {\n\tswitch (command) {\n\t\tcase \"install\":\n\t\t\tconsole.log(`${chalk.bold(\"Usage:\")}\n ${getPackageCommandUsage(\"install\")}\n\nInstall a package and add it to settings.\n\nOptions:\n -l, --local Install project-locally (${CONFIG_DIR_NAME}/settings.json)\n\nExamples:\n ${APP_NAME} install npm:@foo/bar\n ${APP_NAME} install git:github.com/user/repo\n ${APP_NAME} install git:git@github.com:user/repo\n ${APP_NAME} install https://github.com/user/repo\n ${APP_NAME} install ssh://git@github.com/user/repo\n ${APP_NAME} install ./local/path\n`);\n\t\t\treturn;\n\n\t\tcase \"remove\":\n\t\t\tconsole.log(`${chalk.bold(\"Usage:\")}\n ${getPackageCommandUsage(\"remove\")}\n\nRemove a package and its source from settings.\nAlias: ${APP_NAME} uninstall <source> [-l]\n\nOptions:\n -l, --local Remove from project settings (${CONFIG_DIR_NAME}/settings.json)\n\nExamples:\n ${APP_NAME} remove npm:@foo/bar\n ${APP_NAME} uninstall npm:@foo/bar\n`);\n\t\t\treturn;\n\n\t\tcase \"update\":\n\t\t\tconsole.log(`${chalk.bold(\"Usage:\")}\n ${getPackageCommandUsage(\"update\")}\n\nUpdate Agent Forge, installed packages, or model catalogs.\n\nOptions:\n --self Update Agent Forge only (default when no target is given)\n --packages Update installed packages only\n --models Refresh model catalogs only\n --all Update Agent Forge and installed packages\n --package <source> Update one package only\n --force Reinstall Agent Forge even if the current version is latest\n\nShort forms:\n ${APP_NAME} update Update Agent Forge only\n ${APP_NAME} update --all Update Agent Forge and all packages\n ${APP_NAME} update --models Refresh model catalogs only\n ${APP_NAME} update <source> Update one package\n ${APP_NAME} update self Update Agent Forge only\n`);\n\t\t\treturn;\n\n\t\tcase \"list\":\n\t\t\tconsole.log(`${chalk.bold(\"Usage:\")}\n ${getPackageCommandUsage(\"list\")}\n\nList installed packages from user and project settings.\n\nOptions:\n Project packages are loaded from project settings without a core approval prompt.\n`);\n\t\t\treturn;\n\t}\n}\n\nfunction parsePackageCommand(args: string[]): PackageCommandOptions | undefined {\n\tconst [rawCommand, ...rest] = args;\n\tlet command: PackageCommand | undefined;\n\tif (rawCommand === \"uninstall\") {\n\t\tcommand = \"remove\";\n\t} else if (rawCommand === \"install\" || rawCommand === \"remove\" || rawCommand === \"update\" || rawCommand === \"list\") {\n\t\tcommand = rawCommand;\n\t}\n\tif (!command) {\n\t\treturn undefined;\n\t}\n\n\tlet local = false;\n\tlet force = false;\n\tlet help = false;\n\tlet invalidOption: string | undefined;\n\tlet invalidArgument: string | undefined;\n\tlet missingOptionValue: string | undefined;\n\tlet conflictingOptions: string | undefined;\n\tlet source: string | undefined;\n\tlet selfFlag = false;\n\tlet packagesFlag = false;\n\tlet modelsFlag = false;\n\tlet allFlag = false;\n\tlet packageFlagSource: string | undefined;\n\n\tfor (let index = 0; index < rest.length; index++) {\n\t\tconst arg = rest[index];\n\t\tif (arg === \"-h\" || arg === \"--help\") {\n\t\t\thelp = true;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (arg === \"-l\" || arg === \"--local\") {\n\t\t\tif (command === \"install\" || command === \"remove\") {\n\t\t\t\tlocal = true;\n\t\t\t} else {\n\t\t\t\tinvalidOption = invalidOption ?? arg;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (arg === \"--self\") {\n\t\t\tif (command === \"update\") {\n\t\t\t\tselfFlag = true;\n\t\t\t} else {\n\t\t\t\tinvalidOption = invalidOption ?? arg;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (arg === \"--packages\") {\n\t\t\tif (command === \"update\") {\n\t\t\t\tpackagesFlag = true;\n\t\t\t} else {\n\t\t\t\tinvalidOption = invalidOption ?? arg;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (arg === \"--models\") {\n\t\t\tif (command === \"update\") {\n\t\t\t\tmodelsFlag = true;\n\t\t\t} else {\n\t\t\t\tinvalidOption = invalidOption ?? arg;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (arg === \"--all\") {\n\t\t\tif (command === \"update\") {\n\t\t\t\tallFlag = true;\n\t\t\t} else {\n\t\t\t\tinvalidOption = invalidOption ?? arg;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (arg === \"--force\") {\n\t\t\tif (command === \"update\") {\n\t\t\t\tforce = true;\n\t\t\t} else {\n\t\t\t\tinvalidOption = invalidOption ?? arg;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (arg === \"--package\") {\n\t\t\tif (command !== \"update\") {\n\t\t\t\tinvalidOption = invalidOption ?? arg;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst value = rest[index + 1];\n\t\t\tif (!value || value.startsWith(\"-\")) {\n\t\t\t\tmissingOptionValue = missingOptionValue ?? arg;\n\t\t\t} else if (packageFlagSource) {\n\t\t\t\tconflictingOptions = conflictingOptions ?? \"--package can only be provided once\";\n\t\t\t\tindex++;\n\t\t\t} else {\n\t\t\t\tpackageFlagSource = value;\n\t\t\t\tindex++;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (arg.startsWith(\"-\")) {\n\t\t\tinvalidOption = invalidOption ?? arg;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!source) {\n\t\t\tsource = arg;\n\t\t} else {\n\t\t\tinvalidArgument = invalidArgument ?? arg;\n\t\t}\n\t}\n\n\tlet updateTarget: UpdateTarget | undefined;\n\tlet showPackagesSkippedNote = false;\n\tif (command === \"update\") {\n\t\tif (allFlag && (selfFlag || packagesFlag || modelsFlag || packageFlagSource)) {\n\t\t\tconflictingOptions =\n\t\t\t\tconflictingOptions ?? \"--all cannot be combined with --self, --packages, --models, or --package\";\n\t\t}\n\t\tif (allFlag && source) {\n\t\t\tconflictingOptions = conflictingOptions ?? \"--all cannot be combined with a positional source\";\n\t\t}\n\n\t\tif (modelsFlag) {\n\t\t\tif (selfFlag || packagesFlag || allFlag || packageFlagSource) {\n\t\t\t\tconflictingOptions =\n\t\t\t\t\tconflictingOptions ?? \"--models cannot be combined with --self, --packages, --all, or --package\";\n\t\t\t}\n\t\t\tif (source) {\n\t\t\t\tconflictingOptions = conflictingOptions ?? \"--models cannot be combined with a positional source\";\n\t\t\t}\n\t\t\tupdateTarget = { type: \"models\" };\n\t\t} else if (packageFlagSource) {\n\t\t\tif (selfFlag || packagesFlag || allFlag) {\n\t\t\t\tconflictingOptions = conflictingOptions ?? \"--package cannot be combined with --self, --packages, or --all\";\n\t\t\t}\n\t\t\tif (source) {\n\t\t\t\tconflictingOptions = conflictingOptions ?? \"--package cannot be combined with a positional source\";\n\t\t\t}\n\t\t\tupdateTarget = { type: \"packages\", source: packageFlagSource };\n\t\t} else if (source) {\n\t\t\tconst sourceIsSelf = source === \"self\";\n\t\t\tif (sourceIsSelf) {\n\t\t\t\tupdateTarget = packagesFlag ? { type: \"all\" } : { type: \"self\" };\n\t\t\t} else {\n\t\t\t\tif (packagesFlag || selfFlag || allFlag) {\n\t\t\t\t\tconflictingOptions =\n\t\t\t\t\t\tconflictingOptions ??\n\t\t\t\t\t\t\"positional update targets cannot be combined with --self, --packages, or --all\";\n\t\t\t\t}\n\t\t\t\tupdateTarget = { type: \"packages\", source };\n\t\t\t}\n\t\t} else if (allFlag) {\n\t\t\tupdateTarget = { type: \"all\" };\n\t\t} else if (selfFlag && packagesFlag) {\n\t\t\tupdateTarget = { type: \"all\" };\n\t\t} else if (selfFlag) {\n\t\t\tupdateTarget = { type: \"self\" };\n\t\t} else if (packagesFlag) {\n\t\t\tupdateTarget = { type: \"packages\" };\n\t\t} else {\n\t\t\tupdateTarget = { type: \"self\" };\n\t\t\tshowPackagesSkippedNote = true;\n\t\t}\n\t}\n\n\treturn {\n\t\tcommand,\n\t\tsource,\n\t\tupdateTarget,\n\t\tshowPackagesSkippedNote,\n\t\tlocal,\n\t\tforce,\n\t\thelp,\n\t\tinvalidOption,\n\t\tinvalidArgument,\n\t\tmissingOptionValue,\n\t\tconflictingOptions,\n\t};\n}\n\nfunction updateTargetIncludesSelf(target: UpdateTarget): boolean {\n\treturn target.type === \"all\" || target.type === \"self\";\n}\n\nfunction updateTargetIncludesPackages(target: UpdateTarget): boolean {\n\treturn target.type === \"all\" || target.type === \"packages\";\n}\n\nasync function refreshModelCatalogs(agentDir: string): Promise<void> {\n\tconst controller = new AbortController();\n\tconst timeout = setTimeout(() => controller.abort(), 15_000);\n\ttry {\n\t\tconst modelRuntime = await ModelRuntime.create({\n\t\t\tauthPath: join(agentDir, \"auth.json\"),\n\t\t\tmodelsPath: join(agentDir, \"models.json\"),\n\t\t\tallowModelNetwork: false,\n\t\t\tsignal: controller.signal,\n\t\t});\n\t\tconst result = await modelRuntime.refresh({\n\t\t\tallowNetwork: true,\n\t\t\tforce: true,\n\t\t\tsignal: controller.signal,\n\t\t});\n\t\tif (result.aborted) {\n\t\t\tthrow new Error(\"Model catalog refresh timed out.\");\n\t\t}\n\t\tif (result.errors.size > 0) {\n\t\t\tconst details = Array.from(result.errors, ([provider, error]) => `${provider}: ${error.message}`).join(\"; \");\n\t\t\tthrow new Error(`Could not refresh model catalogs: ${details}`);\n\t\t}\n\t} finally {\n\t\tclearTimeout(timeout);\n\t}\n\tconsole.log(chalk.green(\"Model catalogs refreshed\"));\n}\n\nfunction printSelfUpdateUnavailable(\n\tnpmCommand?: string[],\n\tupdatePackageTarget: SelfUpdatePackageTarget = PACKAGE_NAME,\n): void {\n\tconsole.error(`error: ${APP_NAME} cannot self-update this installation.`);\n\tconsole.error(getSelfUpdateUnavailableInstruction(PACKAGE_NAME, npmCommand, updatePackageTarget));\n\n\tconst entrypoint = process.argv[1];\n\tif (entrypoint) {\n\t\tconsole.error(\"\");\n\t\tconsole.error(`Location of ${APP_NAME} executable: ${entrypoint}`);\n\t}\n}\n\nfunction printSelfUpdateFallback(command: SelfUpdateCommand): void {\n\tconsole.error(chalk.dim(`If this keeps failing, run this command yourself: ${command.display}`));\n}\n\nfunction printPnpmSelfUpdateMetadataHint(): void {\n\tconsole.error(chalk.yellow(\"If pnpm reports missing package versions, its cached registry metadata may be stale.\"));\n\tconsole.error(chalk.yellow(`Run \\`pnpm store prune\\` and retry \\`${APP_NAME} update --self\\`.`));\n}\n\nfunction printSelfUpdateNote(note: string): void {\n\tconst trimmedNote = note.trim();\n\tif (!trimmedNote) {\n\t\treturn;\n\t}\n\n\tconsole.log();\n\tconsole.log(chalk.bold(chalk.yellow(\"Update note\")));\n\ttry {\n\t\tconst width = Math.max(20, process.stdout.columns ?? 80);\n\t\tconst renderedLines = new Markdown(trimmedNote, 0, 0, SELF_UPDATE_NOTE_MARKDOWN_THEME)\n\t\t\t.render(width)\n\t\t\t.map((line) => line.trimEnd());\n\t\tconsole.log(renderedLines.join(\"\\n\"));\n\t} catch {\n\t\tconsole.log(trimmedNote);\n\t}\n\tconsole.log();\n}\n\ninterface SelfUpdatePlan {\n\tpackageName: string;\n\tinstallSpec: string;\n\tversion: string;\n\tshouldRun: boolean;\n\tnote?: string;\n}\n\nasync function getSelfUpdatePlan(force: boolean): Promise<SelfUpdatePlan> {\n\tlet latestRelease: Awaited<ReturnType<typeof getLatestRelease>>;\n\ttry {\n\t\tlatestRelease = await getLatestRelease(VERSION, { retry: true });\n\t} catch (error: unknown) {\n\t\tthrow new Error(`Could not determine latest ${APP_NAME} version: ${formatVersionCheckError(error)}`, {\n\t\t\tcause: error,\n\t\t});\n\t}\n\tif (!latestRelease) {\n\t\tthrow new Error(`Could not determine latest ${APP_NAME} version.`);\n\t}\n\n\t// The version service names the OFFICIAL published distribution\n\t// (@ai-agent-forge/agent-forge, D-075) — not the local workspace package\n\t// name, which differs in dev checkouts and would contradict the\n\t// version-check layer.\n\tif (latestRelease.packageName && latestRelease.packageName !== EXPECTED_PACKAGE_NAME) {\n\t\tthrow new Error(\n\t\t\t`Version service returned an unexpected package name: ${latestRelease.packageName}. Expected ${EXPECTED_PACKAGE_NAME}.`,\n\t\t);\n\t}\n\tconst packageName = PACKAGE_NAME;\n\tconst installSpec = `${packageName}@${latestRelease.version}`;\n\tif (force || isNewerPackageVersion(latestRelease.version, VERSION)) {\n\t\treturn {\n\t\t\tpackageName,\n\t\t\tinstallSpec,\n\t\t\tversion: latestRelease.version,\n\t\t\t...(latestRelease.note ? { note: latestRelease.note } : {}),\n\t\t\tshouldRun: true,\n\t\t};\n\t}\n\n\tconsole.log(chalk.green(`${APP_NAME} is already up to date (v${VERSION})`));\n\treturn { packageName, installSpec, version: latestRelease.version, shouldRun: false };\n}\n\nasync function runSelfUpdate(command: SelfUpdateCommand): Promise<void> {\n\tconsole.log(chalk.dim(`Updating ${APP_NAME} with ${command.display}...`));\n\tfor (const step of command.steps ?? [command]) {\n\t\tawait new Promise<void>((resolve, reject) => {\n\t\t\tconst child = spawnProcess(step.command, step.args, {\n\t\t\t\tstdio: \"inherit\",\n\t\t\t});\n\t\t\tchild.on(\"error\", (error) => {\n\t\t\t\treject(error);\n\t\t\t});\n\t\t\tchild.on(\"close\", (code, signal) => {\n\t\t\t\tif (code === 0) {\n\t\t\t\t\tresolve();\n\t\t\t\t} else if (signal) {\n\t\t\t\t\treject(new Error(`${step.display} terminated by signal ${signal}`));\n\t\t\t\t} else {\n\t\t\t\t\treject(new Error(`${step.display} exited with code ${code ?? \"unknown\"}`));\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n}\n\nfunction prepareWindowsNpmSelfUpdate(): void {\n\t// v8 ignore next -- 非 Windows 平台分支,Windows 测试环境不可达\n\tif (process.platform !== \"win32\") {\n\t\treturn;\n\t}\n\n\tconst packageDir = getPackageDir();\n\tcleanupWindowsSelfUpdateQuarantine(packageDir);\n\tquarantineWindowsNativeDependencies(packageDir);\n}\n\ninterface CommandSettingsResult {\n\tsettingsManager: SettingsManager;\n}\n\n/**\n * Optional host-owned dependencies for the config command.\n *\n * The package manager cannot construct a trustworthy registry or installer on\n * its own. Hosts that provide those dependencies may inject the bounded\n * manager controller; the default CLI leaves this undefined.\n */\nexport interface ConfigCommandOptions {\n\treadonly pluginManagerController?: PluginManagerControllerV1;\n\t/** Optional host-owned manager for project-scoped installations. */\n\treadonly projectPluginManagerController?: PluginManagerControllerV1;\n}\n\nfunction createCommandSettingsManager(options: { cwd: string; agentDir: string }): CommandSettingsResult {\n\treturn { settingsManager: SettingsManager.create(options.cwd, options.agentDir) };\n}\n\nexport async function handleConfigCommand(args: string[], options?: ConfigCommandOptions): Promise<boolean> {\n\tconst [command, ...rest] = args;\n\tif (command !== \"config\") {\n\t\treturn false;\n\t}\n\n\tif (rest.includes(\"-h\") || rest.includes(\"--help\")) {\n\t\tprintConfigCommandHelp();\n\t\treturn true;\n\t}\n\n\tlet local = false;\n\tfor (const arg of rest) {\n\t\tif (arg === \"-l\" || arg === \"--local\") {\n\t\t\tlocal = true;\n\t\t} else if (arg.startsWith(\"-\")) {\n\t\t\tconsole.error(chalk.red(`Unknown option ${arg} for \"config\".`));\n\t\t\tconsole.error(chalk.dim(`Use \"${APP_NAME} --help\" or \"${CONFIG_COMMAND_USAGE}\".`));\n\t\t\tprocess.exitCode = 1;\n\t\t\treturn true;\n\t\t} else {\n\t\t\tconsole.error(chalk.red(`Unexpected argument ${arg}.`));\n\t\t\tconsole.error(chalk.dim(`Usage: ${CONFIG_COMMAND_USAGE}`));\n\t\t\tprocess.exitCode = 1;\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tconst cwd = process.cwd();\n\tconst agentDir = getAgentDir();\n\tconst { settingsManager } = createCommandSettingsManager({\n\t\tcwd,\n\t\tagentDir,\n\t});\n\treportSettingsErrors(settingsManager, \"config command\");\n\tconst globalSettingsManager = SettingsManager.create(cwd, agentDir);\n\tconst globalResolvedPaths = await new DefaultPackageManager({\n\t\tcwd,\n\t\tagentDir,\n\t\tsettingsManager: globalSettingsManager,\n\t}).resolve();\n\tconst projectResolvedPaths = await new DefaultPackageManager({ cwd, agentDir, settingsManager }).resolve();\n\tconst injectedPluginManagerController = local\n\t\t? options?.projectPluginManagerController\n\t\t: options?.pluginManagerController;\n\t// The plugin manager defaults to the disk install store plus an optional\n\t// configured marketplace origin; host injection still wins entirely.\n\tconst defaultPluginManager =\n\t\tinjectedPluginManagerController === undefined\n\t\t\t? await createDefaultPluginManagerControllerV1({ agentDir, cwd, scope: local ? \"project\" : \"global\" })\n\t\t\t: undefined;\n\tconst pluginManagerController = injectedPluginManagerController ?? defaultPluginManager?.controller;\n\n\ttry {\n\t\tawait selectConfig({\n\t\t\tresolvedPaths: { global: globalResolvedPaths, project: projectResolvedPaths },\n\t\t\tsettingsManager,\n\t\t\tcwd,\n\t\t\tagentDir,\n\t\t\twriteScope: local ? \"project\" : \"global\",\n\t\t\tprojectModeAvailable: true,\n\t\t\tpluginSelectionController: createConfigPluginSelectionController(agentDir, cwd, local ? \"project\" : \"global\"),\n\t\t\t...(pluginManagerController === undefined\n\t\t\t\t? {}\n\t\t\t\t: {\n\t\t\t\t\t\tpluginManagerController,\n\t\t\t\t\t\tpluginManagerScope: local ? \"project\" : \"global\",\n\t\t\t\t\t}),\n\t\t});\n\t} finally {\n\t\tawait defaultPluginManager?.close();\n\t}\n\n\tprocess.exit(0);\n}\n\nexport async function handlePackageCommand(args: string[]): Promise<boolean> {\n\tconst options = parsePackageCommand(args);\n\tif (!options) {\n\t\treturn false;\n\t}\n\n\tif (options.help) {\n\t\tprintPackageCommandHelp(options.command);\n\t\treturn true;\n\t}\n\n\tif (options.invalidOption) {\n\t\tconsole.error(chalk.red(`Unknown option ${options.invalidOption} for \"${options.command}\".`));\n\t\tconsole.error(chalk.dim(`Use \"${APP_NAME} --help\" or \"${getPackageCommandUsage(options.command)}\".`));\n\t\tprocess.exitCode = 1;\n\t\treturn true;\n\t}\n\n\tif (options.missingOptionValue) {\n\t\tconsole.error(chalk.red(`Missing value for ${options.missingOptionValue}.`));\n\t\tconsole.error(chalk.dim(`Usage: ${getPackageCommandUsage(options.command)}`));\n\t\tprocess.exitCode = 1;\n\t\treturn true;\n\t}\n\n\tif (options.invalidArgument) {\n\t\tconsole.error(chalk.red(`Unexpected argument ${options.invalidArgument}.`));\n\t\tconsole.error(chalk.dim(`Usage: ${getPackageCommandUsage(options.command)}`));\n\t\tprocess.exitCode = 1;\n\t\treturn true;\n\t}\n\n\tif (options.conflictingOptions) {\n\t\tconsole.error(chalk.red(options.conflictingOptions));\n\t\tconsole.error(chalk.dim(`Usage: ${getPackageCommandUsage(options.command)}`));\n\t\tprocess.exitCode = 1;\n\t\treturn true;\n\t}\n\n\tconst source = options.source;\n\tif ((options.command === \"install\" || options.command === \"remove\") && !source) {\n\t\tconsole.error(chalk.red(`Missing ${options.command} source.`));\n\t\tconsole.error(chalk.dim(`Usage: ${getPackageCommandUsage(options.command)}`));\n\t\tprocess.exitCode = 1;\n\t\treturn true;\n\t}\n\n\tif (options.command === \"update\" && options.updateTarget?.type === \"models\") {\n\t\ttry {\n\t\t\tawait refreshModelCatalogs(getAgentDir());\n\t\t} catch (error: unknown) {\n\t\t\tconst message = error instanceof Error ? error.message : \"Unknown model catalog refresh error\";\n\t\t\tconsole.error(chalk.red(`Error: ${message}`));\n\t\t\tprocess.exitCode = 1;\n\t\t}\n\t\treturn true;\n\t}\n\n\tconst cwd = process.cwd();\n\tconst agentDir = getAgentDir();\n\tconst { settingsManager } = createCommandSettingsManager({\n\t\tcwd,\n\t\tagentDir,\n\t});\n\treportSettingsErrors(settingsManager, \"package command\");\n\tconst selfUpdateNpmCommand = settingsManager.getGlobalSettings().npmCommand;\n\n\tconst packageManager = new DefaultPackageManager({ cwd, agentDir, settingsManager });\n\n\tpackageManager.setProgressCallback((event) => {\n\t\tif (event.type === \"start\") {\n\t\t\tprocess.stdout.write(chalk.dim(`${event.message}\\n`));\n\t\t}\n\t});\n\n\ttry {\n\t\tswitch (options.command) {\n\t\t\tcase \"install\":\n\t\t\t\tawait packageManager.installAndPersist(source!, { local: options.local });\n\t\t\t\tconsole.log(chalk.green(`Installed ${source}`));\n\t\t\t\treturn true;\n\n\t\t\tcase \"remove\": {\n\t\t\t\tconst removed = await packageManager.removeAndPersist(source!, { local: options.local });\n\t\t\t\tif (!removed) {\n\t\t\t\t\tconsole.error(chalk.red(`No matching package found for ${source}`));\n\t\t\t\t\tprocess.exitCode = 1;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tconsole.log(chalk.green(`Removed ${source}`));\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tcase \"list\": {\n\t\t\t\tconst configuredPackages = packageManager.listConfiguredPackages();\n\t\t\t\tconst userPackages = configuredPackages.filter((pkg) => pkg.scope === \"user\");\n\t\t\t\tconst projectPackages = configuredPackages.filter((pkg) => pkg.scope === \"project\");\n\n\t\t\t\tif (configuredPackages.length === 0) {\n\t\t\t\t\tconsole.log(chalk.dim(\"No packages installed.\"));\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tconst formatPackage = (pkg: (typeof configuredPackages)[number]) => {\n\t\t\t\t\tconst display = pkg.filtered ? `${pkg.source} (filtered)` : pkg.source;\n\t\t\t\t\tconsole.log(` ${display}`);\n\t\t\t\t\tif (pkg.installedPath) {\n\t\t\t\t\t\tconsole.log(chalk.dim(` ${pkg.installedPath}`));\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tif (userPackages.length > 0) {\n\t\t\t\t\tconsole.log(chalk.bold(\"User packages:\"));\n\t\t\t\t\tfor (const pkg of userPackages) {\n\t\t\t\t\t\tformatPackage(pkg);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (projectPackages.length > 0) {\n\t\t\t\t\tif (userPackages.length > 0) console.log();\n\t\t\t\t\tconsole.log(chalk.bold(\"Project packages:\"));\n\t\t\t\t\tfor (const pkg of projectPackages) {\n\t\t\t\t\t\tformatPackage(pkg);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tcase \"update\": {\n\t\t\t\tconst target = options.updateTarget ?? { type: \"self\" };\n\t\t\t\tif (options.showPackagesSkippedNote) {\n\t\t\t\t\tconsole.log(chalk.dim(`Packages are skipped. Run ${APP_NAME} update --packages to update packages.`));\n\t\t\t\t}\n\t\t\t\tif (updateTargetIncludesPackages(target)) {\n\t\t\t\t\tconst updateSource = target.type === \"packages\" ? target.source : undefined;\n\t\t\t\t\tawait packageManager.update(updateSource);\n\t\t\t\t\tif (updateSource) {\n\t\t\t\t\t\tconsole.log(chalk.green(`Updated ${updateSource}`));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.log(chalk.green(\"Updated packages\"));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (updateTargetIncludesSelf(target)) {\n\t\t\t\t\tconst managedInstallRoot = getActiveManagedInstallRoot();\n\t\t\t\t\tif (managedInstallRoot && options.force) {\n\t\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t\tchalk.red(\n\t\t\t\t\t\t\t\t`Managed ${APP_NAME} installations do not support --force; rerun the installer to repair this installation.`,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t);\n\t\t\t\t\t\tprocess.exitCode = 1;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tconst selfUpdatePlan = await getSelfUpdatePlan(options.force);\n\t\t\t\t\tif (!selfUpdatePlan.shouldRun) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tif (managedInstallRoot) {\n\t\t\t\t\t\tif (selfUpdatePlan.note) {\n\t\t\t\t\t\t\tprintSelfUpdateNote(selfUpdatePlan.note);\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconsole.log(chalk.dim(`Updating managed ${APP_NAME} installation...`));\n\t\t\t\t\t\t\tawait runManagedSelfUpdate(managedInstallRoot, selfUpdatePlan.version);\n\t\t\t\t\t\t} catch (error: unknown) {\n\t\t\t\t\t\t\tconst message = error instanceof Error ? error.message : \"Unknown managed update error\";\n\t\t\t\t\t\t\tconsole.error(chalk.red(`Error: ${message}`));\n\t\t\t\t\t\t\tprocess.exitCode = 1;\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconsole.log(chalk.green(`Updated ${APP_NAME} from ${VERSION} to ${selfUpdatePlan.version}`));\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst installMethod = detectInstallMethod();\n\t\t\t\t\tif (process.platform === \"win32\" && installMethod !== \"npm\" && installMethod !== \"pnpm\") {\n\t\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t\tchalk.red(`${APP_NAME} self-update on Windows is only supported for npm and pnpm installs.`),\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconsole.error(chalk.dim(`Detected install method: ${installMethod}. Update ${APP_NAME} manually.`));\n\t\t\t\t\t\tprocess.exitCode = 1;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tconst selfUpdateTarget = {\n\t\t\t\t\t\tpackageName: selfUpdatePlan.packageName,\n\t\t\t\t\t\tinstallSpec: selfUpdatePlan.installSpec,\n\t\t\t\t\t};\n\t\t\t\t\tconst selfUpdateCommand = getSelfUpdateCommand(PACKAGE_NAME, selfUpdateNpmCommand, selfUpdateTarget);\n\t\t\t\t\tif (!selfUpdateCommand) {\n\t\t\t\t\t\tprintSelfUpdateUnavailable(selfUpdateNpmCommand, selfUpdateTarget);\n\t\t\t\t\t\tprocess.exitCode = 1;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tif (selfUpdatePlan.note) {\n\t\t\t\t\t\tprintSelfUpdateNote(selfUpdatePlan.note);\n\t\t\t\t\t}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif (installMethod === \"npm\") {\n\t\t\t\t\t\t\tprepareWindowsNpmSelfUpdate();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tawait runSelfUpdate(selfUpdateCommand);\n\t\t\t\t\t} catch (error: unknown) {\n\t\t\t\t\t\tconst message = error instanceof Error ? error.message : \"Unknown package command error\";\n\t\t\t\t\t\tconsole.error(chalk.red(`Error: ${message}`));\n\t\t\t\t\t\tif (installMethod === \"pnpm\") {\n\t\t\t\t\t\t\tprintPnpmSelfUpdateMetadataHint();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tprintSelfUpdateFallback(selfUpdateCommand);\n\t\t\t\t\t\tprocess.exitCode = 1;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tconsole.log(chalk.green(`Updated ${APP_NAME} from ${VERSION} to ${selfUpdatePlan.version}`));\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t} catch (error: unknown) {\n\t\tconst message = error instanceof Error ? error.message : \"Unknown package command error\";\n\t\tconsole.error(chalk.red(`Error: ${message}`));\n\t\tprocess.exitCode = 1;\n\t\treturn true;\n\t}\n}\n"]}
@@ -0,0 +1,92 @@
1
+ import type { BuiltinPluginManifestOverridesV1 } from "../../profile/plugin-profiles.ts";
2
+ import type { VerifiedToolPluginV1 } from "../../profile/profile-assembly.ts";
3
+ import type { PluginRegistryV1 } from "./registry.ts";
4
+ import type { PluginStateScopeV1, PluginStateStoreV1 } from "./state.ts";
5
+ /** Stable, bounded diagnostics from active-install to Profile binding. */
6
+ export type ActivePluginBindingDiagnosticCodeV1 = "state_unavailable" | "registry_unavailable" | "manifest_unavailable" | "manifest_mismatch" | "duplicate_active";
7
+ export interface ActivePluginBindingDiagnosticV1 {
8
+ readonly code: ActivePluginBindingDiagnosticCodeV1;
9
+ readonly message: string;
10
+ readonly pluginId?: string;
11
+ readonly pluginVersion?: string;
12
+ }
13
+ export interface ResolveActivePluginBindingsOptionsV1 {
14
+ readonly stateStore: PluginStateStoreV1;
15
+ readonly registry: PluginRegistryV1;
16
+ readonly scope: PluginStateScopeV1;
17
+ /** Concrete host namespace. It must be supplied even for global state. */
18
+ readonly scopeRef: string;
19
+ /**
20
+ * Optional host channel (D-075 S2): `plugin.json` path of the installation
21
+ * directory backing an active record, for the sdk's installed-plugin code
22
+ * loading. When supplied, every verified active record must resolve or the
23
+ * whole binding result fails closed; absent = no path is projected.
24
+ */
25
+ readonly resolveInstallationManifestPath?: ActivePluginInstallationPathResolverV1;
26
+ readonly signal?: AbortSignal;
27
+ }
28
+ /**
29
+ * One host-owned installation scope participating in profile resolution.
30
+ * Project scope is intentionally listed separately so precedence is explicit
31
+ * and cannot be inferred from filesystem order.
32
+ */
33
+ export interface ActivePluginBindingScopeV1 {
34
+ readonly stateStore: PluginStateStoreV1;
35
+ readonly scope: PluginStateScopeV1;
36
+ readonly scopeRef: string;
37
+ }
38
+ export interface ResolveActivePluginBindingsForScopesOptionsV1 {
39
+ readonly registry: PluginRegistryV1;
40
+ /** Optional global scope; when both scopes contain a plugin, project wins. */
41
+ readonly global?: ActivePluginBindingScopeV1;
42
+ /** Optional project scope; it has precedence over the global scope. */
43
+ readonly project?: ActivePluginBindingScopeV1;
44
+ /** Optional host installation-path channel; see {@link ResolveActivePluginBindingsOptionsV1}. */
45
+ readonly resolveInstallationManifestPath?: ActivePluginInstallationPathResolverV1;
46
+ readonly signal?: AbortSignal;
47
+ }
48
+ /** Resolves the capability manifest path of one active installation directory. */
49
+ export type ActivePluginInstallationPathResolverV1 = (input: {
50
+ readonly pluginId: string;
51
+ readonly pluginVersion: string;
52
+ readonly signal?: AbortSignal;
53
+ }) => Promise<string | undefined>;
54
+ export interface ActivePluginBindingsV1 {
55
+ readonly status: "ready" | "unavailable";
56
+ /** Empty on unavailable; partial active state must never reach a Profile. */
57
+ readonly manifestOverrides: BuiltinPluginManifestOverridesV1;
58
+ readonly verifiedPlugins: readonly VerifiedToolPluginV1[];
59
+ /**
60
+ * pluginId → absolute `plugin.json` path of the active installation, in
61
+ * record order (D-075 S2 installed-code-loading). Empty unless the host
62
+ * supplied the installation-path channel and the result is ready.
63
+ */
64
+ readonly installedManifestPaths: ReadonlyMap<string, string>;
65
+ readonly diagnostics: readonly ActivePluginBindingDiagnosticV1[];
66
+ }
67
+ /** Host callback used by MainOptions; the host owns state/registry construction. */
68
+ export type ActivePluginBindingResolverV1 = (input: {
69
+ readonly cwd: string;
70
+ readonly agentDir: string;
71
+ }) => Promise<ActivePluginBindingsV1>;
72
+ /**
73
+ * Resolve host-owned active installations into explicit Profile inputs.
74
+ *
75
+ * State contains only opaque installation identity, so every active record is
76
+ * re-resolved through the injected registry and its manifest digest is checked
77
+ * twice (manifest projection and registry expected digest). No path scanning,
78
+ * version guessing, or partial projection is allowed.
79
+ */
80
+ export declare function resolveActivePluginBindingsV1(options: ResolveActivePluginBindingsOptionsV1): Promise<ActivePluginBindingsV1>;
81
+ /**
82
+ * Resolve project and global active installs with deterministic precedence.
83
+ *
84
+ * Every participating scope is resolved independently and the complete
85
+ * result is discarded if any scope is unavailable. This prevents a stale or
86
+ * unverifiable project record from silently falling back to a global version.
87
+ * Project manifests are merged first, so a project installation shadows the
88
+ * same plugin identity from the global scope without exposing installation
89
+ * handles or paths to the caller.
90
+ */
91
+ export declare function resolveActivePluginBindingsForScopesV1(options: ResolveActivePluginBindingsForScopesOptionsV1): Promise<ActivePluginBindingsV1>;
92
+ //# sourceMappingURL=active-bindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"active-bindings.d.ts","sourceRoot":"","sources":["../../../src/plugins/ecosystem/active-bindings.ts"],"names":[],"mappings":"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","sourcesContent":["import type { BuiltinPluginManifestOverridesV1 } from \"../../profile/plugin-profiles.ts\";\nimport type { VerifiedToolPluginV1 } from \"../../profile/profile-assembly.ts\";\nimport type { PluginRegistryV1 } from \"./registry.ts\";\nimport type { PluginStateRecordV1, PluginStateScopeV1, PluginStateStoreV1 } from \"./state.ts\";\nimport type { PluginManifestV1 } from \"./types.ts\";\nimport { pluginManifestDigestV1 } from \"./updates.ts\";\n\ntype ResolvedPackageV1 = NonNullable<Awaited<ReturnType<NonNullable<PluginRegistryV1[\"resolve\"]>>>>;\n\n/** Stable, bounded diagnostics from active-install to Profile binding. */\nexport type ActivePluginBindingDiagnosticCodeV1 =\n\t| \"state_unavailable\"\n\t| \"registry_unavailable\"\n\t| \"manifest_unavailable\"\n\t| \"manifest_mismatch\"\n\t| \"duplicate_active\";\n\nexport interface ActivePluginBindingDiagnosticV1 {\n\treadonly code: ActivePluginBindingDiagnosticCodeV1;\n\treadonly message: string;\n\treadonly pluginId?: string;\n\treadonly pluginVersion?: string;\n}\n\nexport interface ResolveActivePluginBindingsOptionsV1 {\n\treadonly stateStore: PluginStateStoreV1;\n\treadonly registry: PluginRegistryV1;\n\treadonly scope: PluginStateScopeV1;\n\t/** Concrete host namespace. It must be supplied even for global state. */\n\treadonly scopeRef: string;\n\t/**\n\t * Optional host channel (D-075 S2): `plugin.json` path of the installation\n\t * directory backing an active record, for the sdk's installed-plugin code\n\t * loading. When supplied, every verified active record must resolve or the\n\t * whole binding result fails closed; absent = no path is projected.\n\t */\n\treadonly resolveInstallationManifestPath?: ActivePluginInstallationPathResolverV1;\n\treadonly signal?: AbortSignal;\n}\n\n/**\n * One host-owned installation scope participating in profile resolution.\n * Project scope is intentionally listed separately so precedence is explicit\n * and cannot be inferred from filesystem order.\n */\nexport interface ActivePluginBindingScopeV1 {\n\treadonly stateStore: PluginStateStoreV1;\n\treadonly scope: PluginStateScopeV1;\n\treadonly scopeRef: string;\n}\n\nexport interface ResolveActivePluginBindingsForScopesOptionsV1 {\n\treadonly registry: PluginRegistryV1;\n\t/** Optional global scope; when both scopes contain a plugin, project wins. */\n\treadonly global?: ActivePluginBindingScopeV1;\n\t/** Optional project scope; it has precedence over the global scope. */\n\treadonly project?: ActivePluginBindingScopeV1;\n\t/** Optional host installation-path channel; see {@link ResolveActivePluginBindingsOptionsV1}. */\n\treadonly resolveInstallationManifestPath?: ActivePluginInstallationPathResolverV1;\n\treadonly signal?: AbortSignal;\n}\n\n/** Resolves the capability manifest path of one active installation directory. */\nexport type ActivePluginInstallationPathResolverV1 = (input: {\n\treadonly pluginId: string;\n\treadonly pluginVersion: string;\n\treadonly signal?: AbortSignal;\n}) => Promise<string | undefined>;\n\nexport interface ActivePluginBindingsV1 {\n\treadonly status: \"ready\" | \"unavailable\";\n\t/** Empty on unavailable; partial active state must never reach a Profile. */\n\treadonly manifestOverrides: BuiltinPluginManifestOverridesV1;\n\treadonly verifiedPlugins: readonly VerifiedToolPluginV1[];\n\t/**\n\t * pluginId → absolute `plugin.json` path of the active installation, in\n\t * record order (D-075 S2 installed-code-loading). Empty unless the host\n\t * supplied the installation-path channel and the result is ready.\n\t */\n\treadonly installedManifestPaths: ReadonlyMap<string, string>;\n\treadonly diagnostics: readonly ActivePluginBindingDiagnosticV1[];\n}\n\n/** Host callback used by MainOptions; the host owns state/registry construction. */\nexport type ActivePluginBindingResolverV1 = (input: {\n\treadonly cwd: string;\n\treadonly agentDir: string;\n}) => Promise<ActivePluginBindingsV1>;\n\nfunction diagnostic(\n\tcode: ActivePluginBindingDiagnosticCodeV1,\n\tmessage: string,\n\tpluginId?: string,\n\tpluginVersion?: string,\n): ActivePluginBindingDiagnosticV1 {\n\treturn Object.freeze({\n\t\tcode,\n\t\tmessage,\n\t\t...(pluginId === undefined ? {} : { pluginId }),\n\t\t...(pluginVersion === undefined ? {} : { pluginVersion }),\n\t});\n}\n\nfunction unavailable(diagnostics: readonly ActivePluginBindingDiagnosticV1[]): ActivePluginBindingsV1 {\n\treturn Object.freeze({\n\t\tstatus: \"unavailable\",\n\t\tmanifestOverrides: Object.freeze({}),\n\t\tverifiedPlugins: Object.freeze([]),\n\t\tinstalledManifestPaths: Object.freeze(new Map<string, string>()),\n\t\tdiagnostics: Object.freeze([...diagnostics]),\n\t});\n}\n\n/**\n * Resolve host-owned active installations into explicit Profile inputs.\n *\n * State contains only opaque installation identity, so every active record is\n * re-resolved through the injected registry and its manifest digest is checked\n * twice (manifest projection and registry expected digest). No path scanning,\n * version guessing, or partial projection is allowed.\n */\nexport async function resolveActivePluginBindingsV1(\n\toptions: ResolveActivePluginBindingsOptionsV1,\n): Promise<ActivePluginBindingsV1> {\n\tconst stateResult = await options.stateStore.read({ signal: options.signal });\n\tif (stateResult.status !== \"ok\" && stateResult.status !== \"missing\") {\n\t\treturn unavailable([\n\t\t\tdiagnostic(\"state_unavailable\", \"Active plugin state is unavailable; no installed version was selected\"),\n\t\t]);\n\t}\n\tconst active = stateResult.snapshot.records\n\t\t.filter(\n\t\t\t(record) =>\n\t\t\t\trecord.state.scope === options.scope &&\n\t\t\t\trecord.state.scopeRef === options.scopeRef &&\n\t\t\t\trecord.state.enabled &&\n\t\t\t\trecord.state.lifecycle === \"active\",\n\t\t)\n\t\t.sort((left, right) =>\n\t\t\t`${left.pluginId}@${left.pluginVersion}`.localeCompare(`${right.pluginId}@${right.pluginVersion}`),\n\t\t);\n\tif (active.length === 0) {\n\t\treturn Object.freeze({\n\t\t\tstatus: \"ready\",\n\t\t\tmanifestOverrides: Object.freeze({}),\n\t\t\tverifiedPlugins: Object.freeze([]),\n\t\t\tinstalledManifestPaths: Object.freeze(new Map<string, string>()),\n\t\t\tdiagnostics: Object.freeze([]),\n\t\t});\n\t}\n\tif (options.registry.resolve === undefined) {\n\t\treturn unavailable([\n\t\t\tdiagnostic(\n\t\t\t\t\"registry_unavailable\",\n\t\t\t\t\"Active plugin registry cannot resolve manifests; no installed version was selected\",\n\t\t\t),\n\t\t]);\n\t}\n\tconst seen = new Set<string>();\n\tconst selectedRecords: PluginStateRecordV1[] = [];\n\tconst diagnostics: ActivePluginBindingDiagnosticV1[] = [];\n\tfor (const record of active) {\n\t\tif (seen.has(record.pluginId)) {\n\t\t\tdiagnostics.push(\n\t\t\t\tdiagnostic(\n\t\t\t\t\t\"duplicate_active\",\n\t\t\t\t\t\"Multiple active versions exist for one plugin; no installed version was selected\",\n\t\t\t\t\trecord.pluginId,\n\t\t\t\t\trecord.pluginVersion,\n\t\t\t\t),\n\t\t\t);\n\t\t\tcontinue;\n\t\t}\n\t\tseen.add(record.pluginId);\n\t\tselectedRecords.push(record);\n\t}\n\tif (diagnostics.length > 0) return unavailable(diagnostics);\n\n\tconst resolved = new Map<\n\t\tstring,\n\t\t{\n\t\t\treadonly record: PluginStateRecordV1;\n\t\t\treadonly package: ResolvedPackageV1;\n\t\t\treadonly manifestPath?: string;\n\t\t}\n\t>();\n\tfor (const record of selectedRecords) {\n\t\tlet packageValue: ResolvedPackageV1 | undefined;\n\t\ttry {\n\t\t\tpackageValue = await options.registry.resolve({\n\t\t\t\tpluginId: record.pluginId,\n\t\t\t\tpluginVersion: record.pluginVersion,\n\t\t\t\tsignal: options.signal,\n\t\t\t});\n\t\t} catch {\n\t\t\tdiagnostics.push(\n\t\t\t\tdiagnostic(\n\t\t\t\t\t\"manifest_unavailable\",\n\t\t\t\t\t\"Active plugin manifest resolution failed; no installed version was selected\",\n\t\t\t\t\trecord.pluginId,\n\t\t\t\t\trecord.pluginVersion,\n\t\t\t\t),\n\t\t\t);\n\t\t\tcontinue;\n\t\t}\n\t\tif (packageValue === undefined) {\n\t\t\tdiagnostics.push(\n\t\t\t\tdiagnostic(\n\t\t\t\t\t\"manifest_unavailable\",\n\t\t\t\t\t\"Active plugin manifest is unavailable; no installed version was selected\",\n\t\t\t\t\trecord.pluginId,\n\t\t\t\t\trecord.pluginVersion,\n\t\t\t\t),\n\t\t\t);\n\t\t\tcontinue;\n\t\t}\n\t\tconst computedDigest = pluginManifestDigestV1(packageValue.manifest);\n\t\tif (\n\t\t\tpackageValue.manifest.id !== record.pluginId ||\n\t\t\tpackageValue.manifest.pluginVersion !== record.pluginVersion ||\n\t\t\tcomputedDigest !== record.manifestDigest ||\n\t\t\tpackageValue.expectedDigest !== record.manifestDigest\n\t\t) {\n\t\t\tdiagnostics.push(\n\t\t\t\tdiagnostic(\n\t\t\t\t\t\"manifest_mismatch\",\n\t\t\t\t\t\"Active plugin manifest identity or digest does not match state; no installed version was selected\",\n\t\t\t\t\trecord.pluginId,\n\t\t\t\t\trecord.pluginVersion,\n\t\t\t\t),\n\t\t\t);\n\t\t\tcontinue;\n\t\t}\n\t\t// Installed-code-loading channel (D-075 S2): the sdk loads plugin code\n\t\t// from the installation directory, so a supplied channel that cannot\n\t\t// resolve a verified record is a store inconsistency — fail closed\n\t\t// instead of silently degrading to a session without the plugin's tools.\n\t\tlet manifestPath: string | undefined;\n\t\tif (options.resolveInstallationManifestPath !== undefined) {\n\t\t\tmanifestPath = await options.resolveInstallationManifestPath({\n\t\t\t\tpluginId: record.pluginId,\n\t\t\t\tpluginVersion: record.pluginVersion,\n\t\t\t\tsignal: options.signal,\n\t\t\t});\n\t\t\tif (manifestPath === undefined) {\n\t\t\t\tdiagnostics.push(\n\t\t\t\t\tdiagnostic(\n\t\t\t\t\t\t\"manifest_unavailable\",\n\t\t\t\t\t\t\"Active plugin installation manifest path is unavailable; no installed version was selected\",\n\t\t\t\t\t\trecord.pluginId,\n\t\t\t\t\t\trecord.pluginVersion,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\t\tresolved.set(record.pluginId, {\n\t\t\trecord,\n\t\t\tpackage: packageValue,\n\t\t\t...(manifestPath === undefined ? {} : { manifestPath }),\n\t\t});\n\t}\n\tif (diagnostics.length > 0) return unavailable(diagnostics);\n\n\tconst manifestOverrides: Record<string, PluginManifestV1> = {};\n\tconst verifiedPlugins: VerifiedToolPluginV1[] = [];\n\tconst installedManifestPaths = new Map<string, string>();\n\tfor (const [pluginId, value] of resolved) {\n\t\tmanifestOverrides[pluginId] = value.package.manifest;\n\t\tverifiedPlugins.push({ pluginId, version: value.record.pluginVersion });\n\t\tif (value.manifestPath !== undefined) installedManifestPaths.set(pluginId, value.manifestPath);\n\t}\n\treturn Object.freeze({\n\t\tstatus: \"ready\",\n\t\tmanifestOverrides: Object.freeze(manifestOverrides),\n\t\tverifiedPlugins: Object.freeze(verifiedPlugins),\n\t\tinstalledManifestPaths: Object.freeze(installedManifestPaths),\n\t\tdiagnostics: Object.freeze([]),\n\t});\n}\n\n/**\n * Resolve project and global active installs with deterministic precedence.\n *\n * Every participating scope is resolved independently and the complete\n * result is discarded if any scope is unavailable. This prevents a stale or\n * unverifiable project record from silently falling back to a global version.\n * Project manifests are merged first, so a project installation shadows the\n * same plugin identity from the global scope without exposing installation\n * handles or paths to the caller.\n */\nexport async function resolveActivePluginBindingsForScopesV1(\n\toptions: ResolveActivePluginBindingsForScopesOptionsV1,\n): Promise<ActivePluginBindingsV1> {\n\tconst scopes = [options.project, options.global].filter(\n\t\t(scope): scope is ActivePluginBindingScopeV1 => scope !== undefined,\n\t);\n\tif (scopes.length === 0) {\n\t\treturn Object.freeze({\n\t\t\tstatus: \"ready\",\n\t\t\tmanifestOverrides: Object.freeze({}),\n\t\t\tverifiedPlugins: Object.freeze([]),\n\t\t\tinstalledManifestPaths: Object.freeze(new Map<string, string>()),\n\t\t\tdiagnostics: Object.freeze([]),\n\t\t});\n\t}\n\tconst results = await Promise.all(\n\t\tscopes.map((scope) =>\n\t\t\tresolveActivePluginBindingsV1({\n\t\t\t\tstateStore: scope.stateStore,\n\t\t\t\tregistry: options.registry,\n\t\t\t\tscope: scope.scope,\n\t\t\t\tscopeRef: scope.scopeRef,\n\t\t\t\t...(options.resolveInstallationManifestPath === undefined\n\t\t\t\t\t? {}\n\t\t\t\t\t: { resolveInstallationManifestPath: options.resolveInstallationManifestPath }),\n\t\t\t\tsignal: options.signal,\n\t\t\t}),\n\t\t),\n\t);\n\tconst unavailableDiagnostics = results.flatMap((result) =>\n\t\tresult.status === \"unavailable\" ? result.diagnostics : [],\n\t);\n\tif (unavailableDiagnostics.length > 0) return unavailable(unavailableDiagnostics);\n\n\tconst manifestOverrides: Record<string, PluginManifestV1> = {};\n\tconst verifiedPlugins: VerifiedToolPluginV1[] = [];\n\tconst installedManifestPaths = new Map<string, string>();\n\tconst seen = new Set<string>();\n\tfor (const result of results) {\n\t\tfor (const [pluginId, manifest] of Object.entries(result.manifestOverrides)) {\n\t\t\tif (seen.has(pluginId)) continue;\n\t\t\tseen.add(pluginId);\n\t\t\tmanifestOverrides[pluginId] = manifest;\n\t\t}\n\t\tfor (const verified of result.verifiedPlugins) {\n\t\t\tif (verifiedPlugins.some((entry) => entry.pluginId === verified.pluginId)) continue;\n\t\t\tverifiedPlugins.push(verified);\n\t\t}\n\t\tfor (const [pluginId, manifestPath] of result.installedManifestPaths) {\n\t\t\tif (installedManifestPaths.has(pluginId)) continue;\n\t\t\tinstalledManifestPaths.set(pluginId, manifestPath);\n\t\t}\n\t}\n\treturn Object.freeze({\n\t\tstatus: \"ready\",\n\t\tmanifestOverrides: Object.freeze(manifestOverrides),\n\t\tverifiedPlugins: Object.freeze(verifiedPlugins),\n\t\tinstalledManifestPaths: Object.freeze(installedManifestPaths),\n\t\tdiagnostics: Object.freeze([]),\n\t});\n}\n"]}
@@ -0,0 +1,198 @@
1
+ import { pluginManifestDigestV1 } from "./updates.js";
2
+ function diagnostic(code, message, pluginId, pluginVersion) {
3
+ return Object.freeze({
4
+ code,
5
+ message,
6
+ ...(pluginId === undefined ? {} : { pluginId }),
7
+ ...(pluginVersion === undefined ? {} : { pluginVersion }),
8
+ });
9
+ }
10
+ function unavailable(diagnostics) {
11
+ return Object.freeze({
12
+ status: "unavailable",
13
+ manifestOverrides: Object.freeze({}),
14
+ verifiedPlugins: Object.freeze([]),
15
+ installedManifestPaths: Object.freeze(new Map()),
16
+ diagnostics: Object.freeze([...diagnostics]),
17
+ });
18
+ }
19
+ /**
20
+ * Resolve host-owned active installations into explicit Profile inputs.
21
+ *
22
+ * State contains only opaque installation identity, so every active record is
23
+ * re-resolved through the injected registry and its manifest digest is checked
24
+ * twice (manifest projection and registry expected digest). No path scanning,
25
+ * version guessing, or partial projection is allowed.
26
+ */
27
+ export async function resolveActivePluginBindingsV1(options) {
28
+ const stateResult = await options.stateStore.read({ signal: options.signal });
29
+ if (stateResult.status !== "ok" && stateResult.status !== "missing") {
30
+ return unavailable([
31
+ diagnostic("state_unavailable", "Active plugin state is unavailable; no installed version was selected"),
32
+ ]);
33
+ }
34
+ const active = stateResult.snapshot.records
35
+ .filter((record) => record.state.scope === options.scope &&
36
+ record.state.scopeRef === options.scopeRef &&
37
+ record.state.enabled &&
38
+ record.state.lifecycle === "active")
39
+ .sort((left, right) => `${left.pluginId}@${left.pluginVersion}`.localeCompare(`${right.pluginId}@${right.pluginVersion}`));
40
+ if (active.length === 0) {
41
+ return Object.freeze({
42
+ status: "ready",
43
+ manifestOverrides: Object.freeze({}),
44
+ verifiedPlugins: Object.freeze([]),
45
+ installedManifestPaths: Object.freeze(new Map()),
46
+ diagnostics: Object.freeze([]),
47
+ });
48
+ }
49
+ if (options.registry.resolve === undefined) {
50
+ return unavailable([
51
+ diagnostic("registry_unavailable", "Active plugin registry cannot resolve manifests; no installed version was selected"),
52
+ ]);
53
+ }
54
+ const seen = new Set();
55
+ const selectedRecords = [];
56
+ const diagnostics = [];
57
+ for (const record of active) {
58
+ if (seen.has(record.pluginId)) {
59
+ diagnostics.push(diagnostic("duplicate_active", "Multiple active versions exist for one plugin; no installed version was selected", record.pluginId, record.pluginVersion));
60
+ continue;
61
+ }
62
+ seen.add(record.pluginId);
63
+ selectedRecords.push(record);
64
+ }
65
+ if (diagnostics.length > 0)
66
+ return unavailable(diagnostics);
67
+ const resolved = new Map();
68
+ for (const record of selectedRecords) {
69
+ let packageValue;
70
+ try {
71
+ packageValue = await options.registry.resolve({
72
+ pluginId: record.pluginId,
73
+ pluginVersion: record.pluginVersion,
74
+ signal: options.signal,
75
+ });
76
+ }
77
+ catch {
78
+ diagnostics.push(diagnostic("manifest_unavailable", "Active plugin manifest resolution failed; no installed version was selected", record.pluginId, record.pluginVersion));
79
+ continue;
80
+ }
81
+ if (packageValue === undefined) {
82
+ diagnostics.push(diagnostic("manifest_unavailable", "Active plugin manifest is unavailable; no installed version was selected", record.pluginId, record.pluginVersion));
83
+ continue;
84
+ }
85
+ const computedDigest = pluginManifestDigestV1(packageValue.manifest);
86
+ if (packageValue.manifest.id !== record.pluginId ||
87
+ packageValue.manifest.pluginVersion !== record.pluginVersion ||
88
+ computedDigest !== record.manifestDigest ||
89
+ packageValue.expectedDigest !== record.manifestDigest) {
90
+ diagnostics.push(diagnostic("manifest_mismatch", "Active plugin manifest identity or digest does not match state; no installed version was selected", record.pluginId, record.pluginVersion));
91
+ continue;
92
+ }
93
+ // Installed-code-loading channel (D-075 S2): the sdk loads plugin code
94
+ // from the installation directory, so a supplied channel that cannot
95
+ // resolve a verified record is a store inconsistency — fail closed
96
+ // instead of silently degrading to a session without the plugin's tools.
97
+ let manifestPath;
98
+ if (options.resolveInstallationManifestPath !== undefined) {
99
+ manifestPath = await options.resolveInstallationManifestPath({
100
+ pluginId: record.pluginId,
101
+ pluginVersion: record.pluginVersion,
102
+ signal: options.signal,
103
+ });
104
+ if (manifestPath === undefined) {
105
+ diagnostics.push(diagnostic("manifest_unavailable", "Active plugin installation manifest path is unavailable; no installed version was selected", record.pluginId, record.pluginVersion));
106
+ continue;
107
+ }
108
+ }
109
+ resolved.set(record.pluginId, {
110
+ record,
111
+ package: packageValue,
112
+ ...(manifestPath === undefined ? {} : { manifestPath }),
113
+ });
114
+ }
115
+ if (diagnostics.length > 0)
116
+ return unavailable(diagnostics);
117
+ const manifestOverrides = {};
118
+ const verifiedPlugins = [];
119
+ const installedManifestPaths = new Map();
120
+ for (const [pluginId, value] of resolved) {
121
+ manifestOverrides[pluginId] = value.package.manifest;
122
+ verifiedPlugins.push({ pluginId, version: value.record.pluginVersion });
123
+ if (value.manifestPath !== undefined)
124
+ installedManifestPaths.set(pluginId, value.manifestPath);
125
+ }
126
+ return Object.freeze({
127
+ status: "ready",
128
+ manifestOverrides: Object.freeze(manifestOverrides),
129
+ verifiedPlugins: Object.freeze(verifiedPlugins),
130
+ installedManifestPaths: Object.freeze(installedManifestPaths),
131
+ diagnostics: Object.freeze([]),
132
+ });
133
+ }
134
+ /**
135
+ * Resolve project and global active installs with deterministic precedence.
136
+ *
137
+ * Every participating scope is resolved independently and the complete
138
+ * result is discarded if any scope is unavailable. This prevents a stale or
139
+ * unverifiable project record from silently falling back to a global version.
140
+ * Project manifests are merged first, so a project installation shadows the
141
+ * same plugin identity from the global scope without exposing installation
142
+ * handles or paths to the caller.
143
+ */
144
+ export async function resolveActivePluginBindingsForScopesV1(options) {
145
+ const scopes = [options.project, options.global].filter((scope) => scope !== undefined);
146
+ if (scopes.length === 0) {
147
+ return Object.freeze({
148
+ status: "ready",
149
+ manifestOverrides: Object.freeze({}),
150
+ verifiedPlugins: Object.freeze([]),
151
+ installedManifestPaths: Object.freeze(new Map()),
152
+ diagnostics: Object.freeze([]),
153
+ });
154
+ }
155
+ const results = await Promise.all(scopes.map((scope) => resolveActivePluginBindingsV1({
156
+ stateStore: scope.stateStore,
157
+ registry: options.registry,
158
+ scope: scope.scope,
159
+ scopeRef: scope.scopeRef,
160
+ ...(options.resolveInstallationManifestPath === undefined
161
+ ? {}
162
+ : { resolveInstallationManifestPath: options.resolveInstallationManifestPath }),
163
+ signal: options.signal,
164
+ })));
165
+ const unavailableDiagnostics = results.flatMap((result) => result.status === "unavailable" ? result.diagnostics : []);
166
+ if (unavailableDiagnostics.length > 0)
167
+ return unavailable(unavailableDiagnostics);
168
+ const manifestOverrides = {};
169
+ const verifiedPlugins = [];
170
+ const installedManifestPaths = new Map();
171
+ const seen = new Set();
172
+ for (const result of results) {
173
+ for (const [pluginId, manifest] of Object.entries(result.manifestOverrides)) {
174
+ if (seen.has(pluginId))
175
+ continue;
176
+ seen.add(pluginId);
177
+ manifestOverrides[pluginId] = manifest;
178
+ }
179
+ for (const verified of result.verifiedPlugins) {
180
+ if (verifiedPlugins.some((entry) => entry.pluginId === verified.pluginId))
181
+ continue;
182
+ verifiedPlugins.push(verified);
183
+ }
184
+ for (const [pluginId, manifestPath] of result.installedManifestPaths) {
185
+ if (installedManifestPaths.has(pluginId))
186
+ continue;
187
+ installedManifestPaths.set(pluginId, manifestPath);
188
+ }
189
+ }
190
+ return Object.freeze({
191
+ status: "ready",
192
+ manifestOverrides: Object.freeze(manifestOverrides),
193
+ verifiedPlugins: Object.freeze(verifiedPlugins),
194
+ installedManifestPaths: Object.freeze(installedManifestPaths),
195
+ diagnostics: Object.freeze([]),
196
+ });
197
+ }
198
+ //# sourceMappingURL=active-bindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"active-bindings.js","sourceRoot":"","sources":["../../../src/plugins/ecosystem/active-bindings.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAoFtD,SAAS,UAAU,CAClB,IAAyC,EACzC,OAAe,EACf,QAAiB,EACjB,aAAsB,EACY;IAClC,OAAO,MAAM,CAAC,MAAM,CAAC;QACpB,IAAI;QACJ,OAAO;QACP,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC/C,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;KACzD,CAAC,CAAC;AAAA,CACH;AAED,SAAS,WAAW,CAAC,WAAuD,EAA0B;IACrG,OAAO,MAAM,CAAC,MAAM,CAAC;QACpB,MAAM,EAAE,aAAa;QACrB,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,EAAkB,CAAC;QAChE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;KAC5C,CAAC,CAAC;AAAA,CACH;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAClD,OAA6C,EACX;IAClC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9E,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACrE,OAAO,WAAW,CAAC;YAClB,UAAU,CAAC,mBAAmB,EAAE,uEAAuE,CAAC;SACxG,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO;SACzC,MAAM,CACN,CAAC,MAAM,EAAE,EAAE,CACV,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK;QACpC,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ;QAC1C,MAAM,CAAC,KAAK,CAAC,OAAO;QACpB,MAAM,CAAC,KAAK,CAAC,SAAS,KAAK,QAAQ,CACpC;SACA,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACrB,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC,CAClG,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,OAAO;YACf,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,EAAkB,CAAC;YAChE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;SAC9B,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,WAAW,CAAC;YAClB,UAAU,CACT,sBAAsB,EACtB,oFAAoF,CACpF;SACD,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,eAAe,GAA0B,EAAE,CAAC;IAClD,MAAM,WAAW,GAAsC,EAAE,CAAC;IAC1D,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,WAAW,CAAC,IAAI,CACf,UAAU,CACT,kBAAkB,EAClB,kFAAkF,EAClF,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,aAAa,CACpB,CACD,CAAC;YACF,SAAS;QACV,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1B,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,WAAW,CAAC,WAAW,CAAC,CAAC;IAE5D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAOrB,CAAC;IACJ,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;QACtC,IAAI,YAA2C,CAAC;QAChD,IAAI,CAAC;YACJ,YAAY,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC7C,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,MAAM,EAAE,OAAO,CAAC,MAAM;aACtB,CAAC,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACR,WAAW,CAAC,IAAI,CACf,UAAU,CACT,sBAAsB,EACtB,6EAA6E,EAC7E,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,aAAa,CACpB,CACD,CAAC;YACF,SAAS;QACV,CAAC;QACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAChC,WAAW,CAAC,IAAI,CACf,UAAU,CACT,sBAAsB,EACtB,0EAA0E,EAC1E,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,aAAa,CACpB,CACD,CAAC;YACF,SAAS;QACV,CAAC;QACD,MAAM,cAAc,GAAG,sBAAsB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrE,IACC,YAAY,CAAC,QAAQ,CAAC,EAAE,KAAK,MAAM,CAAC,QAAQ;YAC5C,YAAY,CAAC,QAAQ,CAAC,aAAa,KAAK,MAAM,CAAC,aAAa;YAC5D,cAAc,KAAK,MAAM,CAAC,cAAc;YACxC,YAAY,CAAC,cAAc,KAAK,MAAM,CAAC,cAAc,EACpD,CAAC;YACF,WAAW,CAAC,IAAI,CACf,UAAU,CACT,mBAAmB,EACnB,mGAAmG,EACnG,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,aAAa,CACpB,CACD,CAAC;YACF,SAAS;QACV,CAAC;QACD,uEAAuE;QACvE,qEAAqE;QACrE,qEAAmE;QACnE,yEAAyE;QACzE,IAAI,YAAgC,CAAC;QACrC,IAAI,OAAO,CAAC,+BAA+B,KAAK,SAAS,EAAE,CAAC;YAC3D,YAAY,GAAG,MAAM,OAAO,CAAC,+BAA+B,CAAC;gBAC5D,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,MAAM,EAAE,OAAO,CAAC,MAAM;aACtB,CAAC,CAAC;YACH,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAChC,WAAW,CAAC,IAAI,CACf,UAAU,CACT,sBAAsB,EACtB,4FAA4F,EAC5F,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,aAAa,CACpB,CACD,CAAC;gBACF,SAAS;YACV,CAAC;QACF,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC7B,MAAM;YACN,OAAO,EAAE,YAAY;YACrB,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;SACvD,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,WAAW,CAAC,WAAW,CAAC,CAAC;IAE5D,MAAM,iBAAiB,GAAqC,EAAE,CAAC;IAC/D,MAAM,eAAe,GAA2B,EAAE,CAAC;IACnD,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzD,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC1C,iBAAiB,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QACrD,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QACxE,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;YAAE,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACpB,MAAM,EAAE,OAAO;QACf,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;QACnD,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;QAC/C,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC;QAC7D,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;KAC9B,CAAC,CAAC;AAAA,CACH;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,sCAAsC,CAC3D,OAAsD,EACpB;IAClC,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CACtD,CAAC,KAAK,EAAuC,EAAE,CAAC,KAAK,KAAK,SAAS,CACnE,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,OAAO;YACf,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,EAAkB,CAAC;YAChE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;SAC9B,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACpB,6BAA6B,CAAC;QAC7B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,CAAC,OAAO,CAAC,+BAA+B,KAAK,SAAS;YACxD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,+BAA+B,EAAE,OAAO,CAAC,+BAA+B,EAAE,CAAC;QAChF,MAAM,EAAE,OAAO,CAAC,MAAM;KACtB,CAAC,CACF,CACD,CAAC;IACF,MAAM,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CACzD,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CACzD,CAAC;IACF,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAElF,MAAM,iBAAiB,GAAqC,EAAE,CAAC;IAC/D,MAAM,eAAe,GAA2B,EAAE,CAAC;IACnD,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC7E,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,SAAS;YACjC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACnB,iBAAiB,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;QACxC,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC/C,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,CAAC;gBAAE,SAAS;YACpF,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QACD,KAAK,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;YACtE,IAAI,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,SAAS;YACnD,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACpD,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACpB,MAAM,EAAE,OAAO;QACf,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;QACnD,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;QAC/C,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC;QAC7D,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;KAC9B,CAAC,CAAC;AAAA,CACH","sourcesContent":["import type { BuiltinPluginManifestOverridesV1 } from \"../../profile/plugin-profiles.ts\";\nimport type { VerifiedToolPluginV1 } from \"../../profile/profile-assembly.ts\";\nimport type { PluginRegistryV1 } from \"./registry.ts\";\nimport type { PluginStateRecordV1, PluginStateScopeV1, PluginStateStoreV1 } from \"./state.ts\";\nimport type { PluginManifestV1 } from \"./types.ts\";\nimport { pluginManifestDigestV1 } from \"./updates.ts\";\n\ntype ResolvedPackageV1 = NonNullable<Awaited<ReturnType<NonNullable<PluginRegistryV1[\"resolve\"]>>>>;\n\n/** Stable, bounded diagnostics from active-install to Profile binding. */\nexport type ActivePluginBindingDiagnosticCodeV1 =\n\t| \"state_unavailable\"\n\t| \"registry_unavailable\"\n\t| \"manifest_unavailable\"\n\t| \"manifest_mismatch\"\n\t| \"duplicate_active\";\n\nexport interface ActivePluginBindingDiagnosticV1 {\n\treadonly code: ActivePluginBindingDiagnosticCodeV1;\n\treadonly message: string;\n\treadonly pluginId?: string;\n\treadonly pluginVersion?: string;\n}\n\nexport interface ResolveActivePluginBindingsOptionsV1 {\n\treadonly stateStore: PluginStateStoreV1;\n\treadonly registry: PluginRegistryV1;\n\treadonly scope: PluginStateScopeV1;\n\t/** Concrete host namespace. It must be supplied even for global state. */\n\treadonly scopeRef: string;\n\t/**\n\t * Optional host channel (D-075 S2): `plugin.json` path of the installation\n\t * directory backing an active record, for the sdk's installed-plugin code\n\t * loading. When supplied, every verified active record must resolve or the\n\t * whole binding result fails closed; absent = no path is projected.\n\t */\n\treadonly resolveInstallationManifestPath?: ActivePluginInstallationPathResolverV1;\n\treadonly signal?: AbortSignal;\n}\n\n/**\n * One host-owned installation scope participating in profile resolution.\n * Project scope is intentionally listed separately so precedence is explicit\n * and cannot be inferred from filesystem order.\n */\nexport interface ActivePluginBindingScopeV1 {\n\treadonly stateStore: PluginStateStoreV1;\n\treadonly scope: PluginStateScopeV1;\n\treadonly scopeRef: string;\n}\n\nexport interface ResolveActivePluginBindingsForScopesOptionsV1 {\n\treadonly registry: PluginRegistryV1;\n\t/** Optional global scope; when both scopes contain a plugin, project wins. */\n\treadonly global?: ActivePluginBindingScopeV1;\n\t/** Optional project scope; it has precedence over the global scope. */\n\treadonly project?: ActivePluginBindingScopeV1;\n\t/** Optional host installation-path channel; see {@link ResolveActivePluginBindingsOptionsV1}. */\n\treadonly resolveInstallationManifestPath?: ActivePluginInstallationPathResolverV1;\n\treadonly signal?: AbortSignal;\n}\n\n/** Resolves the capability manifest path of one active installation directory. */\nexport type ActivePluginInstallationPathResolverV1 = (input: {\n\treadonly pluginId: string;\n\treadonly pluginVersion: string;\n\treadonly signal?: AbortSignal;\n}) => Promise<string | undefined>;\n\nexport interface ActivePluginBindingsV1 {\n\treadonly status: \"ready\" | \"unavailable\";\n\t/** Empty on unavailable; partial active state must never reach a Profile. */\n\treadonly manifestOverrides: BuiltinPluginManifestOverridesV1;\n\treadonly verifiedPlugins: readonly VerifiedToolPluginV1[];\n\t/**\n\t * pluginId → absolute `plugin.json` path of the active installation, in\n\t * record order (D-075 S2 installed-code-loading). Empty unless the host\n\t * supplied the installation-path channel and the result is ready.\n\t */\n\treadonly installedManifestPaths: ReadonlyMap<string, string>;\n\treadonly diagnostics: readonly ActivePluginBindingDiagnosticV1[];\n}\n\n/** Host callback used by MainOptions; the host owns state/registry construction. */\nexport type ActivePluginBindingResolverV1 = (input: {\n\treadonly cwd: string;\n\treadonly agentDir: string;\n}) => Promise<ActivePluginBindingsV1>;\n\nfunction diagnostic(\n\tcode: ActivePluginBindingDiagnosticCodeV1,\n\tmessage: string,\n\tpluginId?: string,\n\tpluginVersion?: string,\n): ActivePluginBindingDiagnosticV1 {\n\treturn Object.freeze({\n\t\tcode,\n\t\tmessage,\n\t\t...(pluginId === undefined ? {} : { pluginId }),\n\t\t...(pluginVersion === undefined ? {} : { pluginVersion }),\n\t});\n}\n\nfunction unavailable(diagnostics: readonly ActivePluginBindingDiagnosticV1[]): ActivePluginBindingsV1 {\n\treturn Object.freeze({\n\t\tstatus: \"unavailable\",\n\t\tmanifestOverrides: Object.freeze({}),\n\t\tverifiedPlugins: Object.freeze([]),\n\t\tinstalledManifestPaths: Object.freeze(new Map<string, string>()),\n\t\tdiagnostics: Object.freeze([...diagnostics]),\n\t});\n}\n\n/**\n * Resolve host-owned active installations into explicit Profile inputs.\n *\n * State contains only opaque installation identity, so every active record is\n * re-resolved through the injected registry and its manifest digest is checked\n * twice (manifest projection and registry expected digest). No path scanning,\n * version guessing, or partial projection is allowed.\n */\nexport async function resolveActivePluginBindingsV1(\n\toptions: ResolveActivePluginBindingsOptionsV1,\n): Promise<ActivePluginBindingsV1> {\n\tconst stateResult = await options.stateStore.read({ signal: options.signal });\n\tif (stateResult.status !== \"ok\" && stateResult.status !== \"missing\") {\n\t\treturn unavailable([\n\t\t\tdiagnostic(\"state_unavailable\", \"Active plugin state is unavailable; no installed version was selected\"),\n\t\t]);\n\t}\n\tconst active = stateResult.snapshot.records\n\t\t.filter(\n\t\t\t(record) =>\n\t\t\t\trecord.state.scope === options.scope &&\n\t\t\t\trecord.state.scopeRef === options.scopeRef &&\n\t\t\t\trecord.state.enabled &&\n\t\t\t\trecord.state.lifecycle === \"active\",\n\t\t)\n\t\t.sort((left, right) =>\n\t\t\t`${left.pluginId}@${left.pluginVersion}`.localeCompare(`${right.pluginId}@${right.pluginVersion}`),\n\t\t);\n\tif (active.length === 0) {\n\t\treturn Object.freeze({\n\t\t\tstatus: \"ready\",\n\t\t\tmanifestOverrides: Object.freeze({}),\n\t\t\tverifiedPlugins: Object.freeze([]),\n\t\t\tinstalledManifestPaths: Object.freeze(new Map<string, string>()),\n\t\t\tdiagnostics: Object.freeze([]),\n\t\t});\n\t}\n\tif (options.registry.resolve === undefined) {\n\t\treturn unavailable([\n\t\t\tdiagnostic(\n\t\t\t\t\"registry_unavailable\",\n\t\t\t\t\"Active plugin registry cannot resolve manifests; no installed version was selected\",\n\t\t\t),\n\t\t]);\n\t}\n\tconst seen = new Set<string>();\n\tconst selectedRecords: PluginStateRecordV1[] = [];\n\tconst diagnostics: ActivePluginBindingDiagnosticV1[] = [];\n\tfor (const record of active) {\n\t\tif (seen.has(record.pluginId)) {\n\t\t\tdiagnostics.push(\n\t\t\t\tdiagnostic(\n\t\t\t\t\t\"duplicate_active\",\n\t\t\t\t\t\"Multiple active versions exist for one plugin; no installed version was selected\",\n\t\t\t\t\trecord.pluginId,\n\t\t\t\t\trecord.pluginVersion,\n\t\t\t\t),\n\t\t\t);\n\t\t\tcontinue;\n\t\t}\n\t\tseen.add(record.pluginId);\n\t\tselectedRecords.push(record);\n\t}\n\tif (diagnostics.length > 0) return unavailable(diagnostics);\n\n\tconst resolved = new Map<\n\t\tstring,\n\t\t{\n\t\t\treadonly record: PluginStateRecordV1;\n\t\t\treadonly package: ResolvedPackageV1;\n\t\t\treadonly manifestPath?: string;\n\t\t}\n\t>();\n\tfor (const record of selectedRecords) {\n\t\tlet packageValue: ResolvedPackageV1 | undefined;\n\t\ttry {\n\t\t\tpackageValue = await options.registry.resolve({\n\t\t\t\tpluginId: record.pluginId,\n\t\t\t\tpluginVersion: record.pluginVersion,\n\t\t\t\tsignal: options.signal,\n\t\t\t});\n\t\t} catch {\n\t\t\tdiagnostics.push(\n\t\t\t\tdiagnostic(\n\t\t\t\t\t\"manifest_unavailable\",\n\t\t\t\t\t\"Active plugin manifest resolution failed; no installed version was selected\",\n\t\t\t\t\trecord.pluginId,\n\t\t\t\t\trecord.pluginVersion,\n\t\t\t\t),\n\t\t\t);\n\t\t\tcontinue;\n\t\t}\n\t\tif (packageValue === undefined) {\n\t\t\tdiagnostics.push(\n\t\t\t\tdiagnostic(\n\t\t\t\t\t\"manifest_unavailable\",\n\t\t\t\t\t\"Active plugin manifest is unavailable; no installed version was selected\",\n\t\t\t\t\trecord.pluginId,\n\t\t\t\t\trecord.pluginVersion,\n\t\t\t\t),\n\t\t\t);\n\t\t\tcontinue;\n\t\t}\n\t\tconst computedDigest = pluginManifestDigestV1(packageValue.manifest);\n\t\tif (\n\t\t\tpackageValue.manifest.id !== record.pluginId ||\n\t\t\tpackageValue.manifest.pluginVersion !== record.pluginVersion ||\n\t\t\tcomputedDigest !== record.manifestDigest ||\n\t\t\tpackageValue.expectedDigest !== record.manifestDigest\n\t\t) {\n\t\t\tdiagnostics.push(\n\t\t\t\tdiagnostic(\n\t\t\t\t\t\"manifest_mismatch\",\n\t\t\t\t\t\"Active plugin manifest identity or digest does not match state; no installed version was selected\",\n\t\t\t\t\trecord.pluginId,\n\t\t\t\t\trecord.pluginVersion,\n\t\t\t\t),\n\t\t\t);\n\t\t\tcontinue;\n\t\t}\n\t\t// Installed-code-loading channel (D-075 S2): the sdk loads plugin code\n\t\t// from the installation directory, so a supplied channel that cannot\n\t\t// resolve a verified record is a store inconsistency — fail closed\n\t\t// instead of silently degrading to a session without the plugin's tools.\n\t\tlet manifestPath: string | undefined;\n\t\tif (options.resolveInstallationManifestPath !== undefined) {\n\t\t\tmanifestPath = await options.resolveInstallationManifestPath({\n\t\t\t\tpluginId: record.pluginId,\n\t\t\t\tpluginVersion: record.pluginVersion,\n\t\t\t\tsignal: options.signal,\n\t\t\t});\n\t\t\tif (manifestPath === undefined) {\n\t\t\t\tdiagnostics.push(\n\t\t\t\t\tdiagnostic(\n\t\t\t\t\t\t\"manifest_unavailable\",\n\t\t\t\t\t\t\"Active plugin installation manifest path is unavailable; no installed version was selected\",\n\t\t\t\t\t\trecord.pluginId,\n\t\t\t\t\t\trecord.pluginVersion,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\t\tresolved.set(record.pluginId, {\n\t\t\trecord,\n\t\t\tpackage: packageValue,\n\t\t\t...(manifestPath === undefined ? {} : { manifestPath }),\n\t\t});\n\t}\n\tif (diagnostics.length > 0) return unavailable(diagnostics);\n\n\tconst manifestOverrides: Record<string, PluginManifestV1> = {};\n\tconst verifiedPlugins: VerifiedToolPluginV1[] = [];\n\tconst installedManifestPaths = new Map<string, string>();\n\tfor (const [pluginId, value] of resolved) {\n\t\tmanifestOverrides[pluginId] = value.package.manifest;\n\t\tverifiedPlugins.push({ pluginId, version: value.record.pluginVersion });\n\t\tif (value.manifestPath !== undefined) installedManifestPaths.set(pluginId, value.manifestPath);\n\t}\n\treturn Object.freeze({\n\t\tstatus: \"ready\",\n\t\tmanifestOverrides: Object.freeze(manifestOverrides),\n\t\tverifiedPlugins: Object.freeze(verifiedPlugins),\n\t\tinstalledManifestPaths: Object.freeze(installedManifestPaths),\n\t\tdiagnostics: Object.freeze([]),\n\t});\n}\n\n/**\n * Resolve project and global active installs with deterministic precedence.\n *\n * Every participating scope is resolved independently and the complete\n * result is discarded if any scope is unavailable. This prevents a stale or\n * unverifiable project record from silently falling back to a global version.\n * Project manifests are merged first, so a project installation shadows the\n * same plugin identity from the global scope without exposing installation\n * handles or paths to the caller.\n */\nexport async function resolveActivePluginBindingsForScopesV1(\n\toptions: ResolveActivePluginBindingsForScopesOptionsV1,\n): Promise<ActivePluginBindingsV1> {\n\tconst scopes = [options.project, options.global].filter(\n\t\t(scope): scope is ActivePluginBindingScopeV1 => scope !== undefined,\n\t);\n\tif (scopes.length === 0) {\n\t\treturn Object.freeze({\n\t\t\tstatus: \"ready\",\n\t\t\tmanifestOverrides: Object.freeze({}),\n\t\t\tverifiedPlugins: Object.freeze([]),\n\t\t\tinstalledManifestPaths: Object.freeze(new Map<string, string>()),\n\t\t\tdiagnostics: Object.freeze([]),\n\t\t});\n\t}\n\tconst results = await Promise.all(\n\t\tscopes.map((scope) =>\n\t\t\tresolveActivePluginBindingsV1({\n\t\t\t\tstateStore: scope.stateStore,\n\t\t\t\tregistry: options.registry,\n\t\t\t\tscope: scope.scope,\n\t\t\t\tscopeRef: scope.scopeRef,\n\t\t\t\t...(options.resolveInstallationManifestPath === undefined\n\t\t\t\t\t? {}\n\t\t\t\t\t: { resolveInstallationManifestPath: options.resolveInstallationManifestPath }),\n\t\t\t\tsignal: options.signal,\n\t\t\t}),\n\t\t),\n\t);\n\tconst unavailableDiagnostics = results.flatMap((result) =>\n\t\tresult.status === \"unavailable\" ? result.diagnostics : [],\n\t);\n\tif (unavailableDiagnostics.length > 0) return unavailable(unavailableDiagnostics);\n\n\tconst manifestOverrides: Record<string, PluginManifestV1> = {};\n\tconst verifiedPlugins: VerifiedToolPluginV1[] = [];\n\tconst installedManifestPaths = new Map<string, string>();\n\tconst seen = new Set<string>();\n\tfor (const result of results) {\n\t\tfor (const [pluginId, manifest] of Object.entries(result.manifestOverrides)) {\n\t\t\tif (seen.has(pluginId)) continue;\n\t\t\tseen.add(pluginId);\n\t\t\tmanifestOverrides[pluginId] = manifest;\n\t\t}\n\t\tfor (const verified of result.verifiedPlugins) {\n\t\t\tif (verifiedPlugins.some((entry) => entry.pluginId === verified.pluginId)) continue;\n\t\t\tverifiedPlugins.push(verified);\n\t\t}\n\t\tfor (const [pluginId, manifestPath] of result.installedManifestPaths) {\n\t\t\tif (installedManifestPaths.has(pluginId)) continue;\n\t\t\tinstalledManifestPaths.set(pluginId, manifestPath);\n\t\t}\n\t}\n\treturn Object.freeze({\n\t\tstatus: \"ready\",\n\t\tmanifestOverrides: Object.freeze(manifestOverrides),\n\t\tverifiedPlugins: Object.freeze(verifiedPlugins),\n\t\tinstalledManifestPaths: Object.freeze(installedManifestPaths),\n\t\tdiagnostics: Object.freeze([]),\n\t});\n}\n"]}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Factory plugin manifest for the startup bootstrap (design
3
+ * `插件独立分发与启动装配设计.md` §4.4). Pure data only: the framework
4
+ * declares which first-party plugin packages a fresh install should end up
5
+ * with, as `pluginId → npm name + version constraint`. It ships with the
6
+ * framework version and is never a code branch.
7
+ *
8
+ * Each S2–S4 migrated package appends one entry here with its publish name
9
+ * (`@ai-agent-forge/plugin-<name>`, §0.8) together with the legacy short-id
10
+ * mapping noted in §4.1.
11
+ */
12
+ /** One factory-declared first-party plugin package. */
13
+ export interface PluginBootstrapFactoryEntryV1 {
14
+ /** Ecosystem plugin id (`agent-forge.plugin.<name>` domain, §4.1). */
15
+ readonly pluginId: string;
16
+ /** npm publish name (`@ai-agent-forge/plugin-<name>`, §0.8). */
17
+ readonly npmName: string;
18
+ /**
19
+ * Minimal range subset shared with npm resolution (`x.y.z`, `^x.y.z`,
20
+ * `~x.y.z`, `latest`); omitted means the highest available version.
21
+ */
22
+ readonly range?: string;
23
+ }
24
+ /**
25
+ * Frozen factory manifest consumed by `runPluginBootstrapV1`. D-075 S4 first
26
+ * batch: the goal/plan/todo-set capability packages joined; second batch:
27
+ * session-share and observability joined; third batch: subagent-delegate
28
+ * joined; fourth batch: memory joined (completing the six-package split).
29
+ * Later B-class batches append their entries per package.
30
+ */
31
+ export declare const BOOTSTRAP_FACTORY_PLUGIN_MANIFEST_V1: readonly PluginBootstrapFactoryEntryV1[];
32
+ //# sourceMappingURL=bootstrap-factory-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap-factory-manifest.d.ts","sourceRoot":"","sources":["../../../src/plugins/ecosystem/bootstrap-factory-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,uDAAuD;AACvD,MAAM,WAAW,6BAA6B;IAC7C,uEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,iEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oCAAoC,EAAE,SAAS,6BAA6B,EAYvF,CAAC","sourcesContent":["/**\n * Factory plugin manifest for the startup bootstrap (design\n * `插件独立分发与启动装配设计.md` §4.4). Pure data only: the framework\n * declares which first-party plugin packages a fresh install should end up\n * with, as `pluginId → npm name + version constraint`. It ships with the\n * framework version and is never a code branch.\n *\n * Each S2–S4 migrated package appends one entry here with its publish name\n * (`@ai-agent-forge/plugin-<name>`, §0.8) together with the legacy short-id\n * mapping noted in §4.1.\n */\n\n/** One factory-declared first-party plugin package. */\nexport interface PluginBootstrapFactoryEntryV1 {\n\t/** Ecosystem plugin id (`agent-forge.plugin.<name>` domain, §4.1). */\n\treadonly pluginId: string;\n\t/** npm publish name (`@ai-agent-forge/plugin-<name>`, §0.8). */\n\treadonly npmName: string;\n\t/**\n\t * Minimal range subset shared with npm resolution (`x.y.z`, `^x.y.z`,\n\t * `~x.y.z`, `latest`); omitted means the highest available version.\n\t */\n\treadonly range?: string;\n}\n\n/**\n * Frozen factory manifest consumed by `runPluginBootstrapV1`. D-075 S4 first\n * batch: the goal/plan/todo-set capability packages joined; second batch:\n * session-share and observability joined; third batch: subagent-delegate\n * joined; fourth batch: memory joined (completing the six-package split).\n * Later B-class batches append their entries per package.\n */\nexport const BOOTSTRAP_FACTORY_PLUGIN_MANIFEST_V1: readonly PluginBootstrapFactoryEntryV1[] = Object.freeze([\n\t{ pluginId: \"agent-forge.plugin.goal\", npmName: \"@ai-agent-forge/plugin-goal\", range: \"^0.84.4\" },\n\t{ pluginId: \"agent-forge.plugin.plan\", npmName: \"@ai-agent-forge/plugin-plan\", range: \"^0.84.4\" },\n\t{ pluginId: \"agent-forge.plugin.todo-set\", npmName: \"@ai-agent-forge/plugin-todo-set\", range: \"^0.84.4\" },\n\t{ pluginId: \"agent-forge.plugin.session-share\", npmName: \"@ai-agent-forge/plugin-session-share\", range: \"^0.84.4\" },\n\t{ pluginId: \"agent-forge.plugin.observability\", npmName: \"@ai-agent-forge/plugin-observability\", range: \"^0.84.4\" },\n\t{\n\t\tpluginId: \"agent-forge.plugin.subagent-delegate\",\n\t\tnpmName: \"@ai-agent-forge/plugin-subagent-delegate\",\n\t\trange: \"^0.84.4\",\n\t},\n\t{ pluginId: \"agent-forge.plugin.memory\", npmName: \"@ai-agent-forge/plugin-memory\", range: \"^0.84.4\" },\n]);\n"]}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Factory plugin manifest for the startup bootstrap (design
3
+ * `插件独立分发与启动装配设计.md` §4.4). Pure data only: the framework
4
+ * declares which first-party plugin packages a fresh install should end up
5
+ * with, as `pluginId → npm name + version constraint`. It ships with the
6
+ * framework version and is never a code branch.
7
+ *
8
+ * Each S2–S4 migrated package appends one entry here with its publish name
9
+ * (`@ai-agent-forge/plugin-<name>`, §0.8) together with the legacy short-id
10
+ * mapping noted in §4.1.
11
+ */
12
+ /**
13
+ * Frozen factory manifest consumed by `runPluginBootstrapV1`. D-075 S4 first
14
+ * batch: the goal/plan/todo-set capability packages joined; second batch:
15
+ * session-share and observability joined; third batch: subagent-delegate
16
+ * joined; fourth batch: memory joined (completing the six-package split).
17
+ * Later B-class batches append their entries per package.
18
+ */
19
+ export const BOOTSTRAP_FACTORY_PLUGIN_MANIFEST_V1 = Object.freeze([
20
+ { pluginId: "agent-forge.plugin.goal", npmName: "@ai-agent-forge/plugin-goal", range: "^0.84.4" },
21
+ { pluginId: "agent-forge.plugin.plan", npmName: "@ai-agent-forge/plugin-plan", range: "^0.84.4" },
22
+ { pluginId: "agent-forge.plugin.todo-set", npmName: "@ai-agent-forge/plugin-todo-set", range: "^0.84.4" },
23
+ { pluginId: "agent-forge.plugin.session-share", npmName: "@ai-agent-forge/plugin-session-share", range: "^0.84.4" },
24
+ { pluginId: "agent-forge.plugin.observability", npmName: "@ai-agent-forge/plugin-observability", range: "^0.84.4" },
25
+ {
26
+ pluginId: "agent-forge.plugin.subagent-delegate",
27
+ npmName: "@ai-agent-forge/plugin-subagent-delegate",
28
+ range: "^0.84.4",
29
+ },
30
+ { pluginId: "agent-forge.plugin.memory", npmName: "@ai-agent-forge/plugin-memory", range: "^0.84.4" },
31
+ ]);
32
+ //# sourceMappingURL=bootstrap-factory-manifest.js.map