@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,1112 @@
1
+ import { existsSync, realpathSync } from "node:fs";
2
+ import { readFile } from "node:fs/promises";
3
+ import { join, resolve } from "node:path";
4
+ import { Agent, setDefaultStreamFn, } from "@agent-forge/agent-core";
5
+ import { clampThinkingLevel, streamSimple } from "@agent-forge/ai/compat";
6
+ import { createSubagentMailbox } from "@agent-forge/protocol/subagent";
7
+ import { satisfies } from "semver";
8
+ import { BUILTIN_CAPABILITY_PACKAGE_IDS, resolveBuiltinCapabilities } from "../capabilities/builtin.js";
9
+ import { isValidThinkingLevel } from "../cli/args.js";
10
+ import { CONFIG_DIR_NAME, getAgentDir, VERSION } from "../config.js";
11
+ import { profileIdentitiesCompatible } from "../profile/identity.js";
12
+ import { ORIENTATION_PROMPTS } from "../profiles/builtin-suites.js";
13
+ import { buildResolvedAgentProfileV1 } from "../profiles/resolved-agent-profile.js";
14
+ import { createSuiteAssembly, decideSuiteCapabilityPlugin, filterSuiteSkills, readSessionSuiteBinding, resolveSuiteId, SUITE_ENV_VAR, SUITE_SESSION_ENTRY_TYPE, SuiteRebindError, suiteDanglingAssociationDiagnostic, suiteDanglingPluginAssociations, } from "../profiles/suite-loader.js";
15
+ import { resolvePath } from "../utils/paths.js";
16
+ import { AgentSession } from "./agent-session.js";
17
+ import { createAgentSessionRuntime } from "./agent-session-runtime.js";
18
+ import { listAgentSessions, readAgentSession } from "./agent-session-store.js";
19
+ import { formatNoModelsAvailableMessage } from "./auth-guidance.js";
20
+ import { DEFAULT_THINKING_LEVEL } from "./defaults.js";
21
+ import { discoverCapabilityPluginManifests, parseCapabilityPluginManifest } from "./extensions/capability-plugin.js";
22
+ import { resolvePluginCapabilityOrder } from "./extensions/capability-runtime.js";
23
+ import { createCodingAgentFacade } from "./facade/coding-agent-facade.js";
24
+ import { createCodingAgentRuntimeFacade, } from "./facade/coding-agent-runtime-facade.js";
25
+ import { convertToLlm } from "./messages.js";
26
+ import { findExactModelReferenceMatch, findInitialModel } from "./model-resolver.js";
27
+ import { ModelRuntime } from "./model-runtime.js";
28
+ import { DefaultResourceLoader } from "./resource-loader.js";
29
+ import { getDefaultSessionDir, getTraceFilePathForSession, SessionManager } from "./session-manager.js";
30
+ import { SettingsManager } from "./settings-manager.js";
31
+ import { time } from "./timings.js";
32
+ import { createBashTool, createCodingTools, createEditTool, createFindTool, createGrepTool, createLsTool, createPowerShellTool, createReadOnlyTools, createReadTool, createWriteTool, withFileMutationQueue, } from "./tools/index.js";
33
+ // Preserve the pre-0.81 fallback for extensions that construct Agent instances
34
+ // or invoke low-level agent loops without supplying streamFn. Agent core remains
35
+ // provider-agnostic and does not import pi-ai/compat itself.
36
+ setDefaultStreamFn(streamSimple);
37
+ const AGENT_TASK_SETTLED_STATUSES = new Set([
38
+ "queued",
39
+ "admitted",
40
+ "running",
41
+ "succeeded",
42
+ "failed",
43
+ "cancelled",
44
+ "timed_out",
45
+ "drain_timeout",
46
+ "runner_lost",
47
+ ]);
48
+ /** Parses one settlement line; undefined for any shape outside the contract. */
49
+ function parseAgentTaskSettledDigestLine(line) {
50
+ let parsed;
51
+ try {
52
+ parsed = JSON.parse(line);
53
+ }
54
+ catch {
55
+ return undefined;
56
+ }
57
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed))
58
+ return undefined;
59
+ const record = parsed;
60
+ if (typeof record.taskId !== "string" || record.taskId === "")
61
+ return undefined;
62
+ if (typeof record.sessionId !== "string" || record.sessionId === "")
63
+ return undefined;
64
+ if (typeof record.status !== "string" || !AGENT_TASK_SETTLED_STATUSES.has(record.status))
65
+ return undefined;
66
+ if (record.reasonCode !== undefined && (typeof record.reasonCode !== "string" || record.reasonCode === "")) {
67
+ return undefined;
68
+ }
69
+ return {
70
+ taskId: record.taskId,
71
+ // 行内 sessionId 是子会话 id(复审 M1):映射为事件 data 的 taskSessionId。
72
+ taskSessionId: record.sessionId,
73
+ status: record.status,
74
+ ...(record.reasonCode === undefined ? {} : { reasonCode: record.reasonCode }),
75
+ };
76
+ }
77
+ /**
78
+ * 后台委派结算行 → agent.task.settled@1 派发(第 4 期轨迹闭合)。行解析失败或
79
+ * status 不属九值枚举时降级为仅 hostLogger warn——不阻断既有 pending 注入行为。
80
+ * 会话缺席(agentSessionRef.current 在会话创建前为 undefined)或已 dispose(旧 runtime revokeState →
81
+ * hasLifecycleEvent false → 派发助手 no-op)时安全跳过。
82
+ */
83
+ export function deliverAgentTaskSettledDigestLine(session, line, hostLogger) {
84
+ const facts = parseAgentTaskSettledDigestLine(line);
85
+ if (facts === undefined) {
86
+ hostLogger?.warn("sdk", "background delegation settlement line is not a valid agent.task.settled source", {
87
+ cause: line,
88
+ });
89
+ return;
90
+ }
91
+ session?.dispatchAgentTaskSettled(facts);
92
+ }
93
+ /**
94
+ * Plugin id of the standalone observability package (D-075 S4 second batch).
95
+ * When `traceEnabled` is not `false`, the assembler adds it to the installed
96
+ * plugin membership set so the installed package joins the session through
97
+ * the same loading path as every other plugin package.
98
+ */
99
+ const OBSERVABILITY_PACKAGE_ID = "agent-forge.plugin.observability";
100
+ /**
101
+ * Plugin id of the standalone subagent-delegate package (D-075 S4 third
102
+ * batch). When `subagentPoolFromSelfInvocation` is true (the real CLI
103
+ * assembly declaring its own process entry trustworthy), the assembler
104
+ * overrides the plugin's manifest config with `runnerEntryAuto: true` at load
105
+ * — the config key the package's auto-pooling path consumes (the former host
106
+ * `selfInvocationPool` option is retired). The agent-dir config file still
107
+ * merges over it inside the plugin entry, so users keep the final say.
108
+ */
109
+ const SUBAGENT_DELEGATE_PACKAGE_ID = "agent-forge.plugin.subagent-delegate";
110
+ /**
111
+ * Plugin id of the standalone memory package (D-075 S4 fourth batch). When the
112
+ * suite declares `builtin.memory` and the resolved memory mode is light/full,
113
+ * the assembler adds the package to the installed-plugin membership set and
114
+ * overrides its manifest config with `memoryMode`/`memorySettingsMode` at load
115
+ * — the config keys the package's entry resolves with the exact precedence
116
+ * the embedded capability used to have (explicit host option → env →
117
+ * settings.json → legacy alias → off). Mode off keeps the package out of the
118
+ * membership set entirely (禁用 = 不装配, plus one startup diagnostic).
119
+ */
120
+ const MEMORY_PACKAGE_ID = "agent-forge.plugin.memory";
121
+ const isMemoryModeV1 = (value) => value === "off" || value === "light" || value === "full";
122
+ function resolveSdkMemoryMode(explicitMode, env, settingsMode) {
123
+ if (explicitMode !== undefined) {
124
+ if (isMemoryModeV1(explicitMode))
125
+ return { mode: explicitMode };
126
+ return { mode: "off", invalidEnvValue: explicitMode };
127
+ }
128
+ const configured = env.AGENT_FORGE_MEMORY_MODE?.trim().toLowerCase();
129
+ if (configured !== undefined && configured !== "") {
130
+ if (isMemoryModeV1(configured))
131
+ return { mode: configured };
132
+ return { mode: "off", invalidEnvValue: configured };
133
+ }
134
+ const fromSettings = settingsMode?.trim().toLowerCase();
135
+ if (fromSettings !== undefined && fromSettings !== "") {
136
+ if (isMemoryModeV1(fromSettings))
137
+ return { mode: fromSettings };
138
+ return { mode: "off", invalidSettingsValue: fromSettings };
139
+ }
140
+ const legacy = env.AGENT_FORGE_MEMORY_VECTOR?.trim().toLowerCase();
141
+ if (legacy !== undefined && legacy !== "") {
142
+ if (isMemoryModeV1(legacy))
143
+ return { mode: legacy };
144
+ return { mode: "off", invalidEnvValue: legacy };
145
+ }
146
+ return { mode: "off" };
147
+ }
148
+ /**
149
+ * 子代理 headless 交互宿主(D-044 §5.5):child 会话无宿主 UI,interaction 请求
150
+ * 落回冻结 InteractionOutcomeV1 语义——prompt 返回 "unavailable"(宿主无 UI),
151
+ * signal 已中止返回 "cancelled";notify 为 fire-and-forget 空操作(语义 delivered)。
152
+ */
153
+ export const HEADLESS_INTERACTION_HOST = {
154
+ notify: () => { },
155
+ prompt: async (_request, context) => {
156
+ if (context.signal.aborted)
157
+ return { status: "cancelled" };
158
+ return { status: "unavailable" };
159
+ },
160
+ };
161
+ // Re-exports
162
+ export * from "./agent-session-runtime.js";
163
+ export { withFileMutationQueue,
164
+ // Tool factories (for custom cwd)
165
+ createCodingTools, createReadOnlyTools, createReadTool, createBashTool, createEditTool, createWriteTool, createGrepTool, createFindTool, createLsTool, createPowerShellTool, };
166
+ // Helper Functions
167
+ function getDefaultAgentDir() {
168
+ return getAgentDir();
169
+ }
170
+ /**
171
+ * Inserts one request-time injection right after the last user message: the
172
+ * injected context is turn-scoped, so it belongs at the head of the current
173
+ * turn, ahead of any assistant/toolResult round already in flight. Purely a
174
+ * request-time view — the persisted session history stays untouched. (The B1
175
+ * memory auto-recall injection moved to the builtin memory capability plugin,
176
+ * D-071; the background delegation digest below is the remaining consumer.)
177
+ */
178
+ function injectAfterLastUserMessage(messages, injection) {
179
+ for (let index = messages.length - 1; index >= 0; index -= 1) {
180
+ if (messages[index]?.role === "user") {
181
+ return [...messages.slice(0, index + 1), injection, ...messages.slice(index + 1)];
182
+ }
183
+ }
184
+ return messages;
185
+ }
186
+ async function readCapabilityPluginManifestForOrdering(manifestPath) {
187
+ let raw;
188
+ try {
189
+ raw = JSON.parse(await readFile(manifestPath, "utf8"));
190
+ }
191
+ catch (error) {
192
+ throw new Error(`Failed to read capability plugin manifest ${manifestPath}: ${error instanceof Error ? error.message : String(error)}`);
193
+ }
194
+ return parseCapabilityPluginManifest(raw, manifestPath);
195
+ }
196
+ /**
197
+ * Create an AgentSession with the specified options.
198
+ *
199
+ * @example
200
+ * ```typescript
201
+ * // Minimal - uses defaults
202
+ * const { session } = await createAgentSession();
203
+ *
204
+ * // With explicit model
205
+ * import { getModel } from '@agent-forge/ai';
206
+ * const { session } = await createAgentSession({
207
+ * model: getModel('anthropic', 'claude-opus-4-5'),
208
+ * thinkingLevel: 'high',
209
+ * });
210
+ *
211
+ * // Continue previous session
212
+ * const { session, modelFallbackMessage } = await createAgentSession({
213
+ * continueSession: true,
214
+ * });
215
+ *
216
+ * // Full control
217
+ * const loader = new DefaultResourceLoader({
218
+ * cwd: process.cwd(),
219
+ * agentDir: getAgentDir(),
220
+ * settingsManager: SettingsManager.create(),
221
+ * });
222
+ * await loader.reload();
223
+ * const { session } = await createAgentSession({
224
+ * model: myModel,
225
+ * tools: ["read", "bash"],
226
+ * resourceLoader: loader,
227
+ * sessionManager: SessionManager.inMemory(),
228
+ * });
229
+ * ```
230
+ */
231
+ export async function createAgentSession(options = {}) {
232
+ const cwd = resolvePath(options.cwd ?? options.sessionManager?.getCwd() ?? process.cwd());
233
+ const agentDir = options.agentDir ? resolvePath(options.agentDir) : getDefaultAgentDir();
234
+ let resourceLoader = options.resourceLoader;
235
+ const authPath = options.agentDir ? join(agentDir, "auth.json") : undefined;
236
+ const modelsPath = options.agentDir ? join(agentDir, "models.json") : undefined;
237
+ const modelRuntime = options.modelRuntime ?? (await ModelRuntime.create({ authPath, modelsPath, credentials: options.credentials }));
238
+ const settingsManager = options.settingsManager ?? SettingsManager.create(cwd, agentDir);
239
+ // Suite assembly (方案系统 M1a/M2): resolve the active suite and build the
240
+ // shared assembly (workspace + loader overrides + diagnostics channel).
241
+ // The inherit switch also gates the global agentDir SYSTEM.md/
242
+ // APPEND_SYSTEM.md prompt channel (设计 §8: it governs the whole system
243
+ // layer). Unknown ids fail here with a structured error listing the
244
+ // available suites. The loader overrides below are applied only when this
245
+ // call builds its own DefaultResourceLoader; callers that bring their own
246
+ // resourceLoader keep the M1a bypass boundary (unchanged).
247
+ const suiteId = resolveSuiteId({
248
+ explicit: options.suite,
249
+ envSuite: process.env[SUITE_ENV_VAR],
250
+ settings: settingsManager,
251
+ agentDir,
252
+ });
253
+ const suiteAssembly = createSuiteAssembly({
254
+ cwd,
255
+ agentDir,
256
+ suiteId,
257
+ pluginProfileId: options.pluginProfileId,
258
+ selectedPluginIds: options.selectedPluginIds,
259
+ disabledPluginIds: options.disabledPluginIds,
260
+ pluginHost: options.pluginHost,
261
+ verifiedPlugins: options.verifiedPlugins,
262
+ manifestOverrides: options.manifestOverrides,
263
+ pluginProfile: options.pluginProfile,
264
+ });
265
+ const suiteWorkspace = suiteAssembly.workspace;
266
+ // ResolvedAgentProfile (D-047 S4a): one deep-frozen aggregate view over the
267
+ // resolved suite per session, built once at the existing single resolution
268
+ // point right after suite assembly. Pure projection of the authoritative
269
+ // sources above (identity, lock verification, plugin profile, workspace
270
+ // paths) — no new generation mechanism; AgentSession stays suite-unaware.
271
+ const resolvedAgentProfile = buildResolvedAgentProfileV1({
272
+ suiteId,
273
+ workspace: suiteWorkspace,
274
+ ...(suiteAssembly.pluginProfile === undefined ? {} : { pluginProfile: suiteAssembly.pluginProfile }),
275
+ });
276
+ // Capability wiring (方案系统 M3): resolve the suite's `capabilities`
277
+ // short ids onto the builtin family mapping (every short id assembles from
278
+ // its independent plugin package; unknown ids surface as dangling
279
+ // diagnostics, never as errors — 决策记录 §8) and prepare the external
280
+ // pool / legacy skill association filters. Follows the M1a/M1b assembly
281
+ // boundary: wiring is on when this call builds its own loader and off for
282
+ // callers that bring one unless they opt in explicitly.
283
+ const capabilityWiring = options.suiteCapabilityWiring ?? !options.resourceLoader;
284
+ const capabilityDiagnostics = [];
285
+ // Suite preference diagnostics (统一修复轮 B): unresolvable suite.model /
286
+ // suite.thinking declarations surface here instead of failing startup.
287
+ const suitePreferenceDiagnostics = [];
288
+ let capabilitySkillsFilter;
289
+ // 子代理通信面(D-060 S4/S5):每个装配域自持**一个**信箱(本会话的子代理们向它
290
+ // post escalation/兄弟消息,本会话的 delegate drain)。嵌套委派时,子装配域的信箱
291
+ // 由父侧 creator 构造并经 `subagentMailbox` 注入,保证 post 目标与 drain 来源同一
292
+ // 实例;post-up(向自己的父)接线经 `subagentCommunicationWiring` 注入,两者合并。
293
+ let communicationMailbox;
294
+ const selfMailbox = () => {
295
+ communicationMailbox ??= createSubagentMailbox({
296
+ agentDir,
297
+ ownerParentSessionId: () => agentSessionRef.current?.sessionId,
298
+ });
299
+ return communicationMailbox;
300
+ };
301
+ const communicationWiring = options.enableAgentTasks === false && options.subagentCommunicationWiring === undefined
302
+ ? undefined
303
+ : {
304
+ drainEscalations: (sessionId) => selfMailbox().drainEscalations(sessionId),
305
+ ...(options.subagentCommunicationWiring ?? {}),
306
+ };
307
+ // 后台委派结算摘要(D-060 S6):delegate 的 background 任务结算时经 sink 落一行
308
+ // 有界 JSON(上限 20 条,超出丢最旧),transformContext 在父的下一次模型轮次
309
+ // 一次性注入并清空——完成感知不抢占父回合。
310
+ const backgroundDigest = { pending: [] };
311
+ // 记忆档位解析(2.4d6 S1;D-075 S4 第四批):SDK 显式选项最优先,settings.json
312
+ // 档位作为 env 之下的持久来源进入解析链(显式 > env > settings > 旧别名 env >
313
+ // off);两者皆缺省时同样走 env/别名/off 解析(off = memory 插件包不装配)。
314
+ // 门控诊断与成员资格判定在下方 capabilityWiring 块产出。
315
+ const settingsMemoryMode = settingsManager.getMemoryModeSetting();
316
+ const memoryModeOption = options.memoryCapability?.mode;
317
+ const memoryModeResolution = resolveSdkMemoryMode(memoryModeOption, process.env, settingsMemoryMode);
318
+ if (capabilityWiring) {
319
+ const resolved = resolveBuiltinCapabilities(suiteWorkspace.suite.capabilities);
320
+ for (const shortId of resolved.unknownShortIds) {
321
+ capabilityDiagnostics.push(suiteDanglingAssociationDiagnostic(suiteId, "capabilities", shortId));
322
+ }
323
+ // 记忆全局门控诊断(2.4d6 S1, D-075 S4 第四批自 builtin 通道迁入):套件确实
324
+ // 声明了 builtin.memory 时才输出(抑制发生了才声明;未声明的场合由白名单语
325
+ // 义覆盖,不加噪音)。文案由 builtin 时代逐字迁移(memory-mode-gating 等 pin)。
326
+ if (suiteWorkspace.suite.capabilities.includes("builtin.memory")) {
327
+ if (memoryModeResolution.invalidEnvValue !== undefined) {
328
+ capabilityDiagnostics.push(`invalid AGENT_FORGE_MEMORY_MODE value "${memoryModeResolution.invalidEnvValue}"; memory stays off (fail-closed)`);
329
+ }
330
+ if (memoryModeResolution.invalidSettingsValue !== undefined) {
331
+ capabilityDiagnostics.push(`invalid memory.mode setting "${memoryModeResolution.invalidSettingsValue}"; memory stays off (fail-closed)`);
332
+ }
333
+ if (memoryModeResolution.mode === "off") {
334
+ capabilityDiagnostics.push("memory disabled (mode=off) — set memory.mode (light|full) in settings.json to enable");
335
+ }
336
+ }
337
+ // Legacy plugin skill face: the bootstrap-skills contribution face is
338
+ // already filtered loader-side (M1b); only runtime.listSkills() entries
339
+ // pass through this hook. Association dangling is reported by the
340
+ // loader-side skills filter; this hook only narrows the plugin face.
341
+ // The suite-local skill layer (统一修复轮 B) passes by path there.
342
+ const suiteDefinition = suiteWorkspace.suite;
343
+ const suiteLocalSkillsDir = suiteAssembly.localSkillsDir;
344
+ capabilitySkillsFilter = (skills) => filterSuiteSkills(suiteDefinition, skills, { localSkillsDir: suiteLocalSkillsDir }).kept;
345
+ }
346
+ const sessionManager = options.sessionManager ?? SessionManager.create(cwd, getDefaultSessionDir(cwd, agentDir));
347
+ // 打点通道(设计 §5.2):streamFn 闭包的 options 参数会遮蔽装配 options,统一
348
+ // 捕获为局部常量;未注入时全部打点为 no-op。
349
+ const hostLogger = options.hostLogger;
350
+ // 轨迹快照预算(设计 §6 控制面,第 2 期外露):随 trace 服务注入安装店
351
+ // observability 插件;缺省 = 插件内默认(16000 字符/串、384KiB/快照)。
352
+ const traceOptions = options.traceOptions;
353
+ // 轨迹收集默认装配(设计 §4.4/§6,D-065;S4 拆包改造,D-075 第二批):
354
+ // `traceEnabled` 缺省开启时,安装店 `agent-forge.plugin.observability` 包
355
+ // 随装配链加载(成员资格并入 installed 插件集合,可经 disabledPluginIds
356
+ // 显式禁用;第三方可经同一公共 lifecycle 订阅面替换)。宿主适配器闭包只
357
+ // 依赖装配域内既有事实:会话文件路径(惰性解析,经既有 getSessionFile()
358
+ // 读面加 §4.1 配对纯函数)、进程日志(options.hostLogger,未注入为 no-op)、
359
+ // payload 捕获(onPayload 读取;无隐藏全局)。适配器经新 `api.trace` 服务
360
+ // 面注入插件;插件 entry 经适配器可选 `registerFacade` 通道把门面写回
361
+ // 下方三个装配域 ref(payload 捕获 / plugin.log 镜像 / /metrics 数据源),
362
+ // dispose 时置空——与内嵌工厂时代的 ref 语义逐点一致。
363
+ const observabilityCapture = {};
364
+ // 插件日志镜像共享 ref(会话轨迹 plugin.log,设计 §7.2):插件门面
365
+ // mirrorPluginLog 注册时写入,dispose 时置空;AgentSession 的 runtime
366
+ // 日志 sink 经 AgentSessionConfig.logRecordMirrorRef 读它。
367
+ const observabilityLogMirror = {};
368
+ // /metrics 命令的数据源(observability 门面直通):插件门面 getMetrics
369
+ // 注册时写入,dispose 时置空;宿主(TUI/RPC)在装配完成后读取并接进命令
370
+ // options。
371
+ const observabilityGetMetrics = {};
372
+ let traceService;
373
+ if (options.traceEnabled !== false) {
374
+ const adapter = {
375
+ getTraceFilePath: () => {
376
+ const sessionFilePath = sessionManager.getSessionFile();
377
+ return sessionFilePath === undefined ? null : getTraceFilePathForSession(sessionFilePath);
378
+ },
379
+ captureProviderPayload: (payload, model) => {
380
+ observabilityCapture.current?.(payload, model);
381
+ },
382
+ onSinkFailure: (error) => {
383
+ hostLogger?.error("observability", "trace sink failure", { cause: error });
384
+ },
385
+ getTurnCorrelationId: () => agentSessionRef.current?.getTurnCorrelationId(),
386
+ getParentAgentSessionId: () => sessionManager.getHeader()?.parentAgentSession,
387
+ getParentTraceId: () => sessionManager.getHeader()?.parentTraceId,
388
+ registerFacade: (facade) => {
389
+ observabilityCapture.current = facade?.captureProviderPayload;
390
+ observabilityLogMirror.current = facade?.mirrorPluginLog;
391
+ observabilityGetMetrics.current = facade?.getMetrics;
392
+ },
393
+ };
394
+ traceService = { adapter, ...(traceOptions === undefined ? {} : { options: traceOptions }) };
395
+ }
396
+ if (!resourceLoader) {
397
+ // Suite association filtering (方案系统 M1b, 设计 §3/§4): the default
398
+ // loader's skills are filtered down to the suite's
399
+ // associations here, at the assembler layer; project-scope entries
400
+ // (cwd/.agent-forge) always pass. Dangling associations surface through
401
+ // suiteDiagnostics, never as errors.
402
+ resourceLoader = new DefaultResourceLoader({
403
+ cwd,
404
+ agentDir,
405
+ settingsManager,
406
+ ...suiteAssembly.loaderOverrides,
407
+ // Suite-local skill layer (统一修复轮 B): <suiteDir>/skills rides the
408
+ // loader's skill paths when the suite is active. The filterSuiteSkills
409
+ // suite-local exemption keeps these entries; user-level and other
410
+ // unassociated layers stay filtered. Undefined (absent directory)
411
+ // injects nothing, so empty and missing directories are both silent.
412
+ ...(suiteAssembly.localSkillsDir === undefined
413
+ ? {}
414
+ : { additionalSkillPaths: [suiteAssembly.localSkillsDir] }),
415
+ });
416
+ await resourceLoader.reload();
417
+ time("resourceLoader.reload");
418
+ }
419
+ // Check if session has existing data to restore
420
+ const existingSession = sessionManager.buildSessionContext();
421
+ const hasExistingSession = existingSession.messages.length > 0;
422
+ const branchEntries = sessionManager.getBranch();
423
+ const sessionSuiteBinding = readSessionSuiteBinding(branchEntries);
424
+ // 绑定护栏保护的是有对话上下文的会话:会话创建先于插件装载,装载失败(profile
425
+ // drift 等)会留下只有初始化 entry 与绑定的残留——这些 message entries 会让
426
+ // hasExistingSession 为真,若按它门控,用户用同一 session id 重试会永远撞墙
427
+ // (dogfood 2026-09-25 实测)。真实用户输入(user entry)才算对话开始。
428
+ const hasConversation = branchEntries.some((entry) => entry.type === "message" && entry.message?.role === "user");
429
+ if (hasConversation && sessionSuiteBinding !== undefined) {
430
+ if (sessionSuiteBinding.suiteId !== suiteId) {
431
+ throw new SuiteRebindError(`Session is bound to suite "${sessionSuiteBinding.suiteId}" and cannot resume with "${suiteId}"; create a new session or migrate explicitly`);
432
+ }
433
+ if (sessionSuiteBinding.profileIdentity !== undefined &&
434
+ !profileIdentitiesCompatible(sessionSuiteBinding.profileIdentity, suiteWorkspace.identity)) {
435
+ throw new SuiteRebindError("Session Profile identity drift detected; create a new session or migrate explicitly before reloading plugins");
436
+ }
437
+ }
438
+ const hasThinkingEntry = sessionManager.getBranch().some((entry) => entry.type === "thinking_level_change");
439
+ let model = options.model;
440
+ let modelFallbackMessage;
441
+ // If session has data, try to restore model from it
442
+ if (!model && hasExistingSession && existingSession.model) {
443
+ const restoredModel = modelRuntime.getModel(existingSession.model.provider, existingSession.model.modelId);
444
+ if (restoredModel && modelRuntime.hasConfiguredAuth(restoredModel.provider)) {
445
+ model = restoredModel;
446
+ }
447
+ if (!model) {
448
+ modelFallbackMessage = `Could not restore model ${existingSession.model.provider}/${existingSession.model.modelId}`;
449
+ }
450
+ }
451
+ // Suite model preference (统一修复轮 B): sits below the CLI/explicit option
452
+ // and the restored session model, above the settings default that
453
+ // findInitialModel resolves below. A suite model that matches no
454
+ // authenticated model falls through to the next tier with a diagnostic —
455
+ // never a failure (设计 §9: suite content never blocks startup). Factory
456
+ // builtin suites declare null, so their resolution is unchanged.
457
+ const suiteModelPreference = suiteWorkspace.suite.model;
458
+ if (!model && suiteModelPreference !== null) {
459
+ const suiteModel = findExactModelReferenceMatch(suiteModelPreference, [...modelRuntime.getModels()]);
460
+ if (suiteModel && modelRuntime.hasConfiguredAuth(suiteModel.provider)) {
461
+ model = suiteModel;
462
+ }
463
+ else {
464
+ suitePreferenceDiagnostics.push(`Suite "${suiteId}" model "${suiteModelPreference}" does not resolve to an authenticated model; using the normal model resolution instead.`);
465
+ }
466
+ }
467
+ // If still no model, use findInitialModel (checks settings default, then provider defaults)
468
+ if (!model) {
469
+ const result = await findInitialModel({
470
+ scopedModels: [],
471
+ isContinuing: hasExistingSession,
472
+ defaultProvider: settingsManager.getDefaultProvider(),
473
+ defaultModelId: settingsManager.getDefaultModel(),
474
+ defaultThinkingLevel: settingsManager.getDefaultThinkingLevel(),
475
+ modelThinkingLevels: settingsManager.getAllModelThinkingLevels(),
476
+ modelRuntime,
477
+ });
478
+ model = result.model;
479
+ if (!model) {
480
+ modelFallbackMessage = formatNoModelsAvailableMessage();
481
+ }
482
+ else if (modelFallbackMessage) {
483
+ modelFallbackMessage += `. Using ${model.provider}/${model.id}`;
484
+ }
485
+ }
486
+ let thinkingLevel = options.thinkingLevel;
487
+ // If session has data, restore thinking level from it
488
+ if (thinkingLevel === undefined && hasExistingSession && hasThinkingEntry) {
489
+ thinkingLevel = existingSession.thinkingLevel;
490
+ }
491
+ // Suite thinking preference (统一修复轮 B): below the session's persisted
492
+ // thinking entry, above the settings-derived tiers. An invalid value falls
493
+ // through with a diagnostic; factory builtin suites declare null, so their
494
+ // resolution is unchanged.
495
+ const suiteThinkingPreference = suiteWorkspace.suite.thinking;
496
+ if (thinkingLevel === undefined && suiteThinkingPreference !== null) {
497
+ if (isValidThinkingLevel(suiteThinkingPreference)) {
498
+ thinkingLevel = suiteThinkingPreference;
499
+ }
500
+ else {
501
+ suitePreferenceDiagnostics.push(`Suite "${suiteId}" thinking "${suiteThinkingPreference}" is not a valid thinking level; using the normal thinking resolution instead.`);
502
+ }
503
+ }
504
+ // If session has data without a persisted thinking entry, the settings
505
+ // default applies (same tier as before the suite preference was inserted).
506
+ if (thinkingLevel === undefined && hasExistingSession) {
507
+ thinkingLevel = settingsManager.getDefaultThinkingLevel() ?? DEFAULT_THINKING_LEVEL;
508
+ }
509
+ // Fall back to per-model override, then global default
510
+ if (thinkingLevel === undefined && model) {
511
+ const perModel = settingsManager.getModelThinkingLevel(model.provider, model.id);
512
+ if (perModel) {
513
+ thinkingLevel = perModel;
514
+ }
515
+ }
516
+ if (thinkingLevel === undefined) {
517
+ thinkingLevel = settingsManager.getDefaultThinkingLevel() ?? DEFAULT_THINKING_LEVEL;
518
+ }
519
+ // Clamp to model capabilities
520
+ if (!model) {
521
+ thinkingLevel = "off";
522
+ }
523
+ else {
524
+ thinkingLevel = clampThinkingLevel(model, thinkingLevel);
525
+ }
526
+ const defaultActiveToolNames = options.capabilityMode === "readonly" ? ["read", "grep", "find", "ls"] : ["read", "bash", "edit", "write"];
527
+ const configuredDefaultToolNames = settingsManager.getDefaultTools();
528
+ const allowedToolNames = options.tools ?? (options.noTools === "all" ? [] : undefined);
529
+ const excludedToolNames = options.excludeTools;
530
+ const excludedToolNameSet = excludedToolNames ? new Set(excludedToolNames) : undefined;
531
+ // Suite tool surface (设计 §5/§6): the resolved suite's declared tools
532
+ // override the default allowlist when the caller passed neither tools nor
533
+ // noTools. Both builtin suites share the same unrestricted 8-tool
534
+ // declaration (设计 §5: "两方案同一全集、无任何限制"), so the default
535
+ // assistant activates it too — the historical DEFAULT_SUITE_ID exemption
536
+ // that pinned assistant to the 4-tool base was removed in the 统一修复轮
537
+ // (2026-09-08, per 方案设计 §5 and the user decision "不需要限制这么死").
538
+ // capabilityMode stays a separate, orthogonal axis (设计 §5 权限段):
539
+ // readonly narrows BOTH suites' faces a second time, so the suite
540
+ // declaration never defeats the readonly base face.
541
+ const suiteToolOverride = options.tools === undefined && options.noTools === undefined && options.capabilityMode !== "readonly"
542
+ ? [...suiteWorkspace.suite.tools]
543
+ : undefined;
544
+ const initialActiveToolNames = (suiteToolOverride ??
545
+ options.tools ??
546
+ (options.noTools ? [] : (configuredDefaultToolNames ?? defaultActiveToolNames))).filter((name) => !excludedToolNameSet?.has(name));
547
+ let agent;
548
+ // Create convertToLlm wrapper that filters images if blockImages is enabled (defense-in-depth)
549
+ const convertToLlmWithBlockImages = (messages) => {
550
+ const converted = convertToLlm(messages);
551
+ // Check setting dynamically so mid-session changes take effect
552
+ if (!settingsManager.getBlockImages()) {
553
+ return converted;
554
+ }
555
+ // Filter out ImageContent from all messages, replacing with text placeholder
556
+ return converted.map((msg) => {
557
+ if (msg.role === "user" || msg.role === "toolResult") {
558
+ const content = msg.content;
559
+ if (Array.isArray(content)) {
560
+ const hasImages = content.some((c) => c.type === "image");
561
+ if (hasImages) {
562
+ const filteredContent = content
563
+ .map((c) => c.type === "image" ? { type: "text", text: "Image reading is disabled." } : c)
564
+ .filter((c, i, arr) =>
565
+ // Dedupe consecutive "Image reading is disabled." texts
566
+ !(c.type === "text" &&
567
+ c.text === "Image reading is disabled." &&
568
+ i > 0 &&
569
+ arr[i - 1].type === "text" &&
570
+ arr[i - 1].text === "Image reading is disabled."));
571
+ return { ...msg, content: filteredContent };
572
+ }
573
+ }
574
+ }
575
+ return msg;
576
+ });
577
+ };
578
+ const agentSessionRef = {};
579
+ const customStreamFn = options.streamFn;
580
+ agent = new Agent({
581
+ initialState: {
582
+ systemPrompt: "",
583
+ model,
584
+ thinkingLevel,
585
+ tools: [],
586
+ },
587
+ convertToLlm: convertToLlmWithBlockImages,
588
+ streamFn: customStreamFn
589
+ ? (model, context, streamOptions) => customStreamFn(model, context, streamOptions)
590
+ : async (model, context, options) => {
591
+ const providerRetrySettings = settingsManager.getProviderRetrySettings();
592
+ const httpIdleTimeoutMs = settingsManager.getHttpIdleTimeoutMs();
593
+ // SDKs treat timeout=0 as 0ms (immediate timeout), not "no timeout".
594
+ // Use max int32 to effectively disable the timeout.
595
+ const effectiveTimeoutMs = httpIdleTimeoutMs === 0 ? 2147483647 : httpIdleTimeoutMs;
596
+ const timeoutMs = options?.timeoutMs ?? providerRetrySettings.timeoutMs ?? effectiveTimeoutMs;
597
+ const websocketConnectTimeoutMs = options?.websocketConnectTimeoutMs ?? settingsManager.getWebSocketConnectTimeoutMs();
598
+ try {
599
+ return modelRuntime.streamSimple(model, context, {
600
+ ...options,
601
+ timeoutMs,
602
+ websocketConnectTimeoutMs,
603
+ maxRetries: options?.maxRetries ?? providerRetrySettings.maxRetries,
604
+ maxRetryDelayMs: options?.maxRetryDelayMs ?? providerRetrySettings.maxRetryDelayMs,
605
+ transformHeaders: async (requestHeaders) => {
606
+ const session = agentSessionRef.current;
607
+ // v8 ignore next -- 流式请求仅在会话初始化后发生,session 恒已赋值
608
+ if (!session)
609
+ throw new Error("Capability runtime is not initialized for provider request");
610
+ return session.getCapabilityRuntime().transformProviderHeaders({
611
+ model,
612
+ ...(options?.sessionId === undefined ? {} : { sessionId: options.sessionId }),
613
+ headers: requestHeaders,
614
+ });
615
+ },
616
+ });
617
+ }
618
+ catch (error) {
619
+ // streamFn 错误路径打点(设计 §5.2):保留原始错误向上传播。
620
+ hostLogger?.error("sdk", "provider stream failed", { cause: error });
621
+ throw error;
622
+ }
623
+ },
624
+ onPayload: async (payload, model) => {
625
+ // 轨迹快照(设计 §4.2 llm.request):最终 payload 转发给装配域收集器;
626
+ // 转发自身失败只记日志,绝不影响请求。
627
+ try {
628
+ traceService?.adapter.captureProviderPayload(payload, model?.id);
629
+ }
630
+ catch (error) {
631
+ hostLogger?.warn("sdk", "trace payload capture failed", { cause: error });
632
+ }
633
+ },
634
+ sessionId: sessionManager.getSessionId(),
635
+ transformContext: async (messages) => {
636
+ // 后台委派完成感知(D-060 S6):有已结算未消费的摘要时,在下一次模型轮次
637
+ // 注入一块有界清单(一次性,取后即清)——不打断当前回合,也不写进持久历史。
638
+ // (B1 记忆自动注入已迁至 builtin memory 能力插件的 transformContext 链
639
+ // 环节,D-071。)
640
+ let result = messages;
641
+ if (backgroundDigest.pending.length > 0) {
642
+ const drained = backgroundDigest.pending.splice(0);
643
+ result = injectAfterLastUserMessage(result, {
644
+ role: "user",
645
+ content: ["Background subagent tasks settled:", ...drained.map((line) => `- ${line}`)].join("\n"),
646
+ timestamp: Date.now(),
647
+ });
648
+ }
649
+ return result;
650
+ },
651
+ steeringMode: settingsManager.getSteeringMode(),
652
+ followUpMode: settingsManager.getFollowUpMode(),
653
+ transport: settingsManager.getTransport(),
654
+ thinkingBudgets: settingsManager.getThinkingBudgets(),
655
+ maxRetryDelayMs: settingsManager.getProviderRetrySettings().maxRetryDelayMs,
656
+ });
657
+ // Restore messages if session has existing data
658
+ if (hasExistingSession) {
659
+ agent.state.messages = existingSession.messages;
660
+ if (!hasThinkingEntry) {
661
+ sessionManager.appendThinkingLevelChange(thinkingLevel);
662
+ }
663
+ }
664
+ else {
665
+ // Save initial model and thinking level for new sessions so they can be restored on resume
666
+ if (model) {
667
+ sessionManager.appendModelChange(model.provider, model.id);
668
+ }
669
+ sessionManager.appendThinkingLevelChange(thinkingLevel);
670
+ }
671
+ // Assistant preference card (统一修复轮 A 交付3, H2 接线) migrated into the
672
+ // memory plugin package with the S4 fourth batch: the plugin's
673
+ // transformContext loop hook reads the ledger-backed card and injects it on
674
+ // assistant-oriented sessions itself. The sdk no longer loads or injects
675
+ // the card.
676
+ const session = new AgentSession({
677
+ agent,
678
+ sessionManager,
679
+ settingsManager,
680
+ cwd,
681
+ scopedModels: options.scopedModels,
682
+ resourceLoader,
683
+ customTools: options.customTools,
684
+ modelRuntime,
685
+ initialActiveToolNames,
686
+ allowedToolNames,
687
+ excludedToolNames,
688
+ sessionStartEvent: options.sessionStartEvent,
689
+ capabilityMode: options.capabilityMode,
690
+ contextStrategyName: options.contextStrategyName,
691
+ retryPolicyName: options.retryPolicyName,
692
+ compactionPolicyName: options.compactionPolicyName,
693
+ overflowPolicyName: options.overflowPolicyName,
694
+ branchSummaryPolicyName: options.branchSummaryPolicyName,
695
+ runLoopStrategyName: options.runLoopStrategyName,
696
+ // 承载退役切片 2:装配域无默认 creator——委派承载 = 宿主 adapter 或 CLI 自动池化。
697
+ agentTaskAdapter: options.enableAgentTasks === false ? undefined : options.agentTaskAdapter,
698
+ ...(options.agentTaskResults === undefined ? {} : { agentTaskResults: options.agentTaskResults }),
699
+ // 会话回读(D-060 S3):按 sessionId 读子会话 transcript,作用域在**宿主侧**强制——
700
+ // 只放行本会话自己的子会话(文件头 parentAgentSession 必须等于本会话 id),
701
+ // 越界与不存在同型返回 undefined。
702
+ ...(options.enableAgentTasks === false
703
+ ? {}
704
+ : {
705
+ agentSessionReader: async (sessionId) => {
706
+ const parentSession = agentSessionRef.current;
707
+ if (parentSession === undefined)
708
+ return undefined;
709
+ const read = readAgentSession({ agentDir, sessionId });
710
+ if (read === undefined || read.parentAgentSession !== parentSession.sessionId)
711
+ return undefined;
712
+ return {
713
+ sessionId: read.sessionId,
714
+ ...(read.parentAgentSession === undefined ? {} : { parentAgentSession: read.parentAgentSession }),
715
+ ...(read.agentRole === undefined ? {} : { agentRole: read.agentRole }),
716
+ ...(read.createdAt === undefined ? {} : { createdAt: read.createdAt }),
717
+ bytes: read.bytes,
718
+ entryCount: read.entryCount,
719
+ truncated: read.truncated,
720
+ entries: read.entries,
721
+ };
722
+ },
723
+ // 子会话盘点(D-060 模型面):只列本会话自己的子会话摘要(store 默认
724
+ // 最近活动倒序、上限 200),读落盘目录,跨进程重启仍可列出。
725
+ agentSessionLister: async () => {
726
+ const parentSession = agentSessionRef.current;
727
+ if (parentSession === undefined)
728
+ return [];
729
+ return listAgentSessions({ agentDir, parentAgentSession: parentSession.sessionId }).map((summary) => ({
730
+ sessionId: summary.sessionId,
731
+ ...(summary.agentRole === undefined ? {} : { agentRole: summary.agentRole }),
732
+ ...(summary.createdAt === undefined ? {} : { createdAt: summary.createdAt }),
733
+ modifiedAt: summary.modifiedAt,
734
+ bytes: summary.bytes,
735
+ }));
736
+ },
737
+ }),
738
+ agentComposition: options.agentComposition,
739
+ interactionHost: options.interactionHost,
740
+ // 打点通道下沉(设计 §5.2/§7.2):会话级进程日志打点(插件日志镜像、内建
741
+ // 装载失败等)与 plugin.log 轨迹镜像共享 ref(插件门面注册时写入,空 = 无
742
+ // 镜像)。
743
+ hostLogger: options.hostLogger,
744
+ logRecordMirrorRef: observabilityLogMirror,
745
+ observabilityGetMetricsRef: observabilityGetMetrics,
746
+ // D-075 S4 第二批:宿主 agentDir 上公共 HostCapabilities(磁盘状态插件的
747
+ // 配置通道),trace 服务随 traceEnabled 注入 installed observability 包。
748
+ agentDir,
749
+ // D-075 S4 第三批:subagent-delegate 宿主服务上公共 HostCapabilities——
750
+ // communication(父侧 drain + 注入的叶子 post 接线合并)、turnContext
751
+ // (后台结算摘要 sink + 回合 correlationId 捕获)、roleAssociations(当前
752
+ // 方案关联角色;角色定义只在磁盘 <agentDir>/roles/,无编译内定义)。
753
+ // 原内嵌 builtin 构造选项链退役;独立插件包 entry 从 api.host 组装同一形状。
754
+ ...(communicationWiring === undefined ? {} : { communication: communicationWiring }),
755
+ ...(options.enableAgentTasks === false
756
+ ? {}
757
+ : {
758
+ turnContext: {
759
+ backgroundDigestSink: (line) => {
760
+ if (backgroundDigest.pending.length >= 20)
761
+ backgroundDigest.pending.shift();
762
+ backgroundDigest.pending.push(line);
763
+ // 轨迹闭合(第 4 期):结算行同步投递为 agent.task.settled@1(解析
764
+ // 失败/非法 status 降级为 hostLogger warn;dispose 后派发助手 no-op)。
765
+ deliverAgentTaskSettledDigestLine(agentSessionRef.current, line, hostLogger);
766
+ },
767
+ // 回合级血缘(第 3 期第二批):委派提交时刻捕获父回合 correlationId,
768
+ // 随 subagent_run metadata 过线(仅 create 新建路径消费)。
769
+ getTurnCorrelationId: () => agentSessionRef.current?.getTurnCorrelationId(),
770
+ },
771
+ }),
772
+ ...(options.enableAgentTasks === false ? {} : { roleAssociations: suiteWorkspace.suite.associations.roles }),
773
+ ...(traceService === undefined ? {} : { traceService }),
774
+ // D-075 S4 第四批:记忆底层组件注入上公共 HostCapabilities——
775
+ // `api.host.memoryStorage`,安装店的 memory 插件包 entry 组装消费
776
+ // (store/ledger 工厂与向量组件公共契约,缺省 = 包内默认实现)。
777
+ ...(options.memoryCapability?.storage === undefined ? {} : { memoryStorage: options.memoryCapability.storage }),
778
+ // Orientation persona (设计 §6.2, M2): the resolved suite's orientation
779
+ // text rides every system prompt rebuild on this session. Capability
780
+ // tool guides (memory / task management, D-071) ride the owning tools'
781
+ // promptGuidelines instead.
782
+ orientationPrompt: ORIENTATION_PROMPTS[suiteWorkspace.suite.orientation],
783
+ // Capability wiring (方案系统 M3): undefined when the assembly boundary
784
+ // disabled wiring, so the session keeps its default (unwired) identity.
785
+ ...(capabilitySkillsFilter === undefined ? {} : { capabilitySkillsFilter }),
786
+ });
787
+ agentSessionRef.current = session;
788
+ // Session-suite binding (设计 §10.1): record the suite as session protocol
789
+ // data via the existing custom-entry extension point. New sessions only;
790
+ // resumed sessions keep their original binding.
791
+ // 新会话写入绑定;失败残留(有绑定但无对话)恢复时重写为当前装配——
792
+ // readSessionSuiteBinding 取 latest,之后的绑定检查语义与实际装配一致。
793
+ // 有对话的既有会话保持原绑定(护栏语义)。
794
+ if (!hasExistingSession || (sessionSuiteBinding !== undefined && !hasConversation)) {
795
+ session.sessionManager.appendCustomEntry(SUITE_SESSION_ENTRY_TYPE, {
796
+ suiteId,
797
+ profileIdentity: suiteWorkspace.identity,
798
+ });
799
+ }
800
+ const pluginRejections = [];
801
+ const recordRejection = async (code, manifestPath, pluginId, message) => {
802
+ const rejection = Object.freeze({
803
+ code,
804
+ manifestPath,
805
+ ...(pluginId === undefined ? {} : { pluginId }),
806
+ message,
807
+ });
808
+ pluginRejections.push(rejection);
809
+ // 插件装载失败打点(设计 §5.2):结构化 rejection 之外的进程日志一行,
810
+ // 让轨迹中断时可以凭日志定位。
811
+ hostLogger?.error("sdk", `capability plugin rejected: ${message}`, {
812
+ sessionId: session.sessionId,
813
+ fields: { code: rejection.code, pluginId: rejection.pluginId, manifestPath: rejection.manifestPath },
814
+ });
815
+ try {
816
+ await session.getCapabilityRuntime().recordPluginRejection(rejection);
817
+ }
818
+ catch {
819
+ // Rejection visibility must never fail the remaining startup path.
820
+ }
821
+ };
822
+ const rejectionMessage = (error) => (error instanceof Error ? error.message : String(error));
823
+ try {
824
+ const discoveredManifestPaths = options.discoverCapabilityPlugins === false
825
+ ? []
826
+ : discoverCapabilityPluginManifests([join(agentDir, "plugins"), join(cwd, CONFIG_DIR_NAME, "plugins")]);
827
+ // Suite-local plugin layer (统一修复轮 B): manifests below
828
+ // <suiteDir>/plugins load when the suite is active and the capability
829
+ // surface is wired; suite activation is their association, so they bypass
830
+ // associations.plugins filtering like explicit caller paths and win
831
+ // duplicate-id resolution over the pools. The discovery switch gates them
832
+ // too, so callers that disable plugin discovery (child sessions) keep
833
+ // today's plugin-free face.
834
+ const suiteLocalManifestPaths = capabilityWiring && options.discoverCapabilityPlugins !== false && suiteAssembly.localPluginsDir !== undefined
835
+ ? discoverCapabilityPluginManifests([suiteAssembly.localPluginsDir])
836
+ : [];
837
+ // Installed-code-loading (D-075 S2): verified active installations whose
838
+ // plugin id is a member of the resolved plugin profile (selected, not
839
+ // disabled) join the pool as explicit candidates; their code loads
840
+ // through session.loadCapabilityPluginManifest exactly like
841
+ // caller-supplied paths. Installed plugins that miss membership stay
842
+ // unloaded — one diagnostic, no implicit third-party loading.
843
+ const disabledPluginIdSet = new Set(options.disabledPluginIds ?? []);
844
+ const profilePluginIds = suiteAssembly.pluginProfile !== undefined && suiteAssembly.pluginProfile.status === "resolved"
845
+ ? new Set(suiteAssembly.pluginProfile.profile.pluginIds.filter((pluginId) => !disabledPluginIdSet.has(pluginId)))
846
+ : new Set();
847
+ // S4 拆包(D-075 §6 S4 第一批):suite.capabilities 声明的
848
+ // builtin.goal/builtin.plan/builtin.todo-set 短 id 不再有内嵌注册,经
849
+ // BUILTIN_CAPABILITY_PACKAGE_IDS 映射到独立插件包 id,并入 installed 插件的
850
+ // 成员资格集合——已安装即随装配链加载(active-bindings 来源不变),未安装时
851
+ // 静默缺席(不算 dangling);用户显式 disable 仍然生效。第二批:session-share
852
+ // 短 id 同样经映射接管;observability 包 id 随 traceEnabled 直接并入(trace
853
+ // 关闭时不并入 = 插件不加载,与内嵌时代"不注册即禁用"语义一致)。第四批:
854
+ // builtin.memory 经映射接管,但 memory.mode 解析为 off 时不并入(禁用 = 不装
855
+ // 配,与内嵌时代"禁用 = 不注册"同语义;上面已带一行启动声明)。
856
+ const capabilityPackageIds = suiteWorkspace.suite.capabilities.flatMap((shortId) => {
857
+ const pluginId = BUILTIN_CAPABILITY_PACKAGE_IDS[shortId];
858
+ return pluginId === undefined ? [] : [pluginId];
859
+ });
860
+ if (options.traceEnabled !== false)
861
+ capabilityPackageIds.push(OBSERVABILITY_PACKAGE_ID);
862
+ if (memoryModeResolution.mode === "off") {
863
+ const memoryIndex = capabilityPackageIds.indexOf(MEMORY_PACKAGE_ID);
864
+ if (memoryIndex >= 0)
865
+ capabilityPackageIds.splice(memoryIndex, 1);
866
+ }
867
+ for (const pluginId of capabilityPackageIds) {
868
+ if (!disabledPluginIdSet.has(pluginId))
869
+ profilePluginIds.add(pluginId);
870
+ }
871
+ const installedPluginManifestPaths = [];
872
+ const skippedInstalledPluginIds = [];
873
+ for (const plugin of options.installedCapabilityPlugins ?? []) {
874
+ if (profilePluginIds.has(plugin.pluginId))
875
+ installedPluginManifestPaths.push(plugin.manifestPath);
876
+ else
877
+ skippedInstalledPluginIds.push(plugin.pluginId);
878
+ }
879
+ if (skippedInstalledPluginIds.length > 0) {
880
+ capabilityDiagnostics.push(`Installed capability plugins stay unloaded because the active profile did not select them: ${skippedInstalledPluginIds.sort().join(", ")}`);
881
+ }
882
+ const manifestPaths = [
883
+ ...suiteLocalManifestPaths,
884
+ ...installedPluginManifestPaths,
885
+ ...discoveredManifestPaths,
886
+ ...(options.capabilityPluginPaths ?? []),
887
+ ];
888
+ const explicitCandidatePaths = new Set([
889
+ ...suiteLocalManifestPaths,
890
+ ...installedPluginManifestPaths,
891
+ ...(options.capabilityPluginPaths ?? []),
892
+ ]);
893
+ const loadedManifestPaths = new Set();
894
+ const explicitManifestPaths = new Set();
895
+ const candidatePaths = [];
896
+ for (const manifestPath of manifestPaths) {
897
+ const resolvedManifestPath = resolve(cwd, manifestPath);
898
+ const manifestIdentity = existsSync(resolvedManifestPath)
899
+ ? realpathSync(resolvedManifestPath)
900
+ : resolvedManifestPath;
901
+ if (loadedManifestPaths.has(manifestIdentity))
902
+ continue;
903
+ loadedManifestPaths.add(manifestIdentity);
904
+ if (explicitCandidatePaths.has(manifestPath))
905
+ explicitManifestPaths.add(manifestIdentity);
906
+ candidatePaths.push(manifestIdentity);
907
+ }
908
+ // Single-plugin manifest failures reject that plugin only (D-028); the
909
+ // session keeps loading the remaining candidates. The D-073 host-version
910
+ // range gate is semantic (not a parse failure): a manifest whose
911
+ // declared hostVersion range excludes the running VERSION is rejected
912
+ // with its own reason code, and a manifest without hostVersion loads
913
+ // but emits a one-line diagnostic.
914
+ const manifestEntries = [];
915
+ for (const manifestPath of candidatePaths) {
916
+ try {
917
+ const manifest = await readCapabilityPluginManifestForOrdering(manifestPath);
918
+ if (manifest.hostVersion !== undefined) {
919
+ if (!satisfies(VERSION, manifest.hostVersion)) {
920
+ await recordRejection("host_version_incompatible", manifestPath, manifest.id, `Plugin ${manifest.id} declares host version range "${manifest.hostVersion}", but the host is ${VERSION}. Upgrade the host into the declared range, or install a plugin version that supports host ${VERSION}.`);
921
+ continue;
922
+ }
923
+ }
924
+ else {
925
+ capabilityDiagnostics.push(`Capability plugin ${manifest.id} (${manifestPath}) does not declare "hostVersion"; it loads, but published plugins must declare a host semver range (e.g. ">=${VERSION}").`);
926
+ }
927
+ manifestEntries.push({ path: manifestPath, manifest });
928
+ }
929
+ catch (error) {
930
+ await recordRejection("invalid_manifest", manifestPath, undefined, rejectionMessage(error));
931
+ }
932
+ }
933
+ // Duplicate plugin IDs keep the first candidate in discovery order and
934
+ // reject the later duplicates. When suite capability wiring is on, the
935
+ // external plugin pool is filtered by `associations.plugins` (方案系统
936
+ // M3): the project-level pool (cwd/.agent-forge/plugins) is the third
937
+ // layer and always passes; every other manifest must match an
938
+ // association exactly. Explicit capabilityPluginPaths are caller intent
939
+ // and bypass the filter; filtered plugins and dangling associations
940
+ // surface as suite diagnostics, never as errors.
941
+ const poolFilter = capabilityWiring
942
+ ? {
943
+ suite: suiteWorkspace.suite,
944
+ decide: (manifestId, manifestPath) => decideSuiteCapabilityPlugin(suiteWorkspace.suite, { manifestId, manifestPath }, { cwd }),
945
+ }
946
+ : undefined;
947
+ const seenPluginIds = new Set();
948
+ const uniqueEntries = [];
949
+ const discoveredPluginIds = [];
950
+ for (const entry of manifestEntries) {
951
+ discoveredPluginIds.push(entry.manifest.id);
952
+ if (poolFilter && !explicitManifestPaths.has(entry.path)) {
953
+ const decision = poolFilter.decide(entry.manifest.id, entry.path);
954
+ if (!decision.keep) {
955
+ if (decision.diagnostic)
956
+ capabilityDiagnostics.push(decision.diagnostic);
957
+ continue;
958
+ }
959
+ }
960
+ if (seenPluginIds.has(entry.manifest.id)) {
961
+ await recordRejection("duplicate_plugin_id", entry.path, entry.manifest.id, `Capability plugin is already loaded: ${entry.manifest.id}; the first manifest in discovery order wins`);
962
+ continue;
963
+ }
964
+ seenPluginIds.add(entry.manifest.id);
965
+ uniqueEntries.push(entry);
966
+ }
967
+ if (poolFilter) {
968
+ capabilityDiagnostics.push(...suiteDanglingPluginAssociations(poolFilter.suite, discoveredPluginIds));
969
+ }
970
+ // Required-capability shortfalls reject the dependent plugin and, by
971
+ // fixpoint, everything that (transitively) required it. Optional
972
+ // requirements never reject. Combination-level failures that
973
+ // resolvePluginCapabilityOrder still detects (duplicate capability
974
+ // identity, dependency cycles) fail the whole startup explicitly.
975
+ const capabilityIdentity = (id, version) => `${id}\u0000${version}`;
976
+ const survivors = new Set(uniqueEntries);
977
+ let removedInLastPass = true;
978
+ while (removedInLastPass) {
979
+ removedInLastPass = false;
980
+ const providers = new Set();
981
+ for (const entry of survivors) {
982
+ for (const declaration of entry.manifest.provides ?? []) {
983
+ providers.add(capabilityIdentity(declaration.id, declaration.version));
984
+ }
985
+ }
986
+ for (const entry of [...survivors]) {
987
+ const missing = (entry.manifest.requires ?? []).filter((requirement) => !requirement.optional && !providers.has(capabilityIdentity(requirement.id, requirement.version)));
988
+ if (missing.length === 0)
989
+ continue;
990
+ await recordRejection("missing_dependency", entry.path, entry.manifest.id, `Plugin capability is required but unavailable: ${missing
991
+ .map((requirement) => `${requirement.id}@${requirement.version}`)
992
+ .join(", ")} (${entry.manifest.id})`);
993
+ survivors.delete(entry);
994
+ removedInLastPass = true;
995
+ }
996
+ }
997
+ const pathByManifest = new Map([...survivors].map((entry) => [entry.manifest, entry.path]));
998
+ for (const manifest of resolvePluginCapabilityOrder([...survivors].map((entry) => entry.manifest))) {
999
+ const manifestPath = pathByManifest.get(manifest);
1000
+ // v8 ignore next -- 顺序解析返回的 manifest 均来自同一 survivors 集合,路径恒存在
1001
+ if (!manifestPath)
1002
+ throw new Error(`Capability plugin manifest path is unavailable: ${manifest.id}`);
1003
+ try {
1004
+ await session.loadCapabilityPluginManifest(manifestPath, {
1005
+ // CLI 自动池化(承载退役切片 1,D-075 S4 第三批收敛):宿主声明自身
1006
+ // 入口可信时改写插件 config 的 runnerEntryAuto(原 builtin 注入链的
1007
+ // selfInvocationPool 旗标退役);插件入口的 agent-dir 配置文件仍合并
1008
+ // 在其上,用户显式配置保持最终决定权。
1009
+ ...(manifest.id === SUBAGENT_DELEGATE_PACKAGE_ID && options.subagentPoolFromSelfInvocation === true
1010
+ ? { configOverride: { runnerEntryAuto: true } }
1011
+ : {}),
1012
+ // 记忆档位注入(D-075 S4 第四批):显式定档与 settings.json 持久档位经
1013
+ // 公共 configOverride 通道合并进 memory 插件包 manifest config——包 entry
1014
+ // 按同一解析链定档(显式 > env > settings > 旧别名 > off);agent-dir
1015
+ // 配置文件(capabilities/builtin.memory.json)仍合并在其上,用户显式
1016
+ // 配置保持最终决定权。mode=off 的包已在上面的成员资格门控中排除,
1017
+ // 不会走到这里。
1018
+ ...(manifest.id === MEMORY_PACKAGE_ID
1019
+ ? {
1020
+ configOverride: {
1021
+ ...(memoryModeOption === undefined ? {} : { memoryMode: memoryModeOption }),
1022
+ ...(settingsMemoryMode === undefined ? {} : { memorySettingsMode: settingsMemoryMode }),
1023
+ },
1024
+ }
1025
+ : {}),
1026
+ });
1027
+ }
1028
+ catch (error) {
1029
+ await recordRejection("plugin_load_failed", manifestPath, manifest.id, rejectionMessage(error));
1030
+ }
1031
+ }
1032
+ // Plugin-owned context restoration runs only after all manifests are loaded.
1033
+ // The persisted session remains the source of truth; request-time transforms
1034
+ // must never be written back into that history implicitly.
1035
+ if (hasExistingSession && options.contextStrategyName) {
1036
+ await session.replaceContext(existingSession.messages);
1037
+ }
1038
+ }
1039
+ catch (error) {
1040
+ await session.dispose();
1041
+ throw error;
1042
+ }
1043
+ // 会话创建完成打点(设计 §5.2):创建/恢复路径在装配全部完成后落一行 info。
1044
+ hostLogger?.info("sdk", "agent session created", {
1045
+ sessionId: session.sessionId,
1046
+ fields: {
1047
+ suite: suiteId,
1048
+ ...(model === undefined ? {} : { model: `${model.provider}/${model.id}` }),
1049
+ trace: options.traceEnabled !== false,
1050
+ },
1051
+ });
1052
+ return {
1053
+ session,
1054
+ modelFallbackMessage,
1055
+ pluginRejections: Object.freeze(pluginRejections.slice()),
1056
+ suiteDiagnostics: Object.freeze([
1057
+ ...suiteAssembly.collectDiagnostics(),
1058
+ ...capabilityDiagnostics,
1059
+ ...suitePreferenceDiagnostics,
1060
+ ]),
1061
+ ...(suiteAssembly.pluginProfile === undefined ? {} : { pluginProfile: suiteAssembly.pluginProfile }),
1062
+ resolvedAgentProfile,
1063
+ };
1064
+ }
1065
+ /**
1066
+ * Create a stable agent session: the same assembly as createAgentSession
1067
+ * (zero behavior difference), returned as the stable facade pair instead of
1068
+ * the raw session (B-S2b③-S2).
1069
+ *
1070
+ * @example
1071
+ * ```typescript
1072
+ * const { facade, sessionAPI } = await createStableAgentSession({
1073
+ * streamFn: mockStreamFn,
1074
+ * sessionManager: SessionManager.inMemory(),
1075
+ * });
1076
+ * await facade.prompt("hello");
1077
+ * console.log(sessionAPI.getSessionId());
1078
+ * ```
1079
+ */
1080
+ export async function createStableAgentSession(options = {}) {
1081
+ const result = await createAgentSession(options);
1082
+ return {
1083
+ facade: createCodingAgentFacade(result.session),
1084
+ sessionAPI: result.session.getSessionAPI(),
1085
+ // Pure passthrough of the legacy result's create-time diagnostic (D-061):
1086
+ // same value, same assembly, no behavior change.
1087
+ modelFallbackMessage: result.modelFallbackMessage,
1088
+ };
1089
+ }
1090
+ /**
1091
+ * Create a stable agent session runtime: the same assembly as
1092
+ * createAgentSessionRuntime (zero behavior difference), returned as the stable
1093
+ * runtime facade instead of the raw runtime (D-063, 阶段 4 close-out).
1094
+ *
1095
+ * @example
1096
+ * ```typescript
1097
+ * const { runtimeFacade } = await createStableAgentSessionRuntime(createRuntime, {
1098
+ * cwd: process.cwd(),
1099
+ * agentDir: getAgentDir(),
1100
+ * sessionManager: SessionManager.create(process.cwd()),
1101
+ * });
1102
+ * await runtimeFacade.newSession();
1103
+ * // Re-read after a replacement: the accessor projects the current session.
1104
+ * const facade = runtimeFacade.getSessionFacade();
1105
+ * await facade.prompt("hello");
1106
+ * ```
1107
+ */
1108
+ export async function createStableAgentSessionRuntime(createRuntime, options) {
1109
+ const runtime = await createAgentSessionRuntime(createRuntime, options);
1110
+ return { runtimeFacade: createCodingAgentRuntimeFacade(runtime) };
1111
+ }
1112
+ //# sourceMappingURL=sdk.js.map