@ai-agent-forge/agent-forge 0.85.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1654) hide show
  1. package/CHANGELOG.md +5969 -0
  2. package/README.md +629 -0
  3. package/dist/artifacts/artifact-store.d.ts +51 -0
  4. package/dist/artifacts/artifact-store.d.ts.map +1 -0
  5. package/dist/artifacts/artifact-store.js +87 -0
  6. package/dist/artifacts/artifact-store.js.map +1 -0
  7. package/dist/artifacts/paged-read.d.ts +51 -0
  8. package/dist/artifacts/paged-read.d.ts.map +1 -0
  9. package/dist/artifacts/paged-read.js +55 -0
  10. package/dist/artifacts/paged-read.js.map +1 -0
  11. package/dist/bun/cli.d.ts +3 -0
  12. package/dist/bun/cli.d.ts.map +1 -0
  13. package/dist/bun/cli.js +11 -0
  14. package/dist/bun/cli.js.map +1 -0
  15. package/dist/bun/register-bedrock.d.ts +2 -0
  16. package/dist/bun/register-bedrock.d.ts.map +1 -0
  17. package/dist/bun/register-bedrock.js +4 -0
  18. package/dist/bun/register-bedrock.js.map +1 -0
  19. package/dist/bun/restore-sandbox-env.d.ts +17 -0
  20. package/dist/bun/restore-sandbox-env.d.ts.map +1 -0
  21. package/dist/bun/restore-sandbox-env.js +36 -0
  22. package/dist/bun/restore-sandbox-env.js.map +1 -0
  23. package/dist/bundle/.build-manifest.json +3566 -0
  24. package/dist/bundle/chunks/anthropic-messages-RJYU4TCY.js +6 -0
  25. package/dist/bundle/chunks/anthropic.js +75 -0
  26. package/dist/bundle/chunks/azure-openai-responses-LESTCUL7.js +2 -0
  27. package/dist/bundle/chunks/bedrock-converse-stream.js +78 -0
  28. package/dist/bundle/chunks/chunk-3QKHSPQL.js +8 -0
  29. package/dist/bundle/chunks/chunk-4L3WN2XY.js +2 -0
  30. package/dist/bundle/chunks/chunk-4NKZMFSZ.js +1579 -0
  31. package/dist/bundle/chunks/chunk-6CYCI3EJ.js +12 -0
  32. package/dist/bundle/chunks/chunk-6R7UI4IY.js +2 -0
  33. package/dist/bundle/chunks/chunk-7ZC4UXSL.js +2 -0
  34. package/dist/bundle/chunks/chunk-7ZY7IXZD.js +4 -0
  35. package/dist/bundle/chunks/chunk-DRQDKNXA.js +2 -0
  36. package/dist/bundle/chunks/chunk-DTD7JQ7Y.js +42 -0
  37. package/dist/bundle/chunks/chunk-EWXX34QG.js +2 -0
  38. package/dist/bundle/chunks/chunk-GMWCTUPB.js +2 -0
  39. package/dist/bundle/chunks/chunk-JUUC5AZY.js +2 -0
  40. package/dist/bundle/chunks/chunk-KQEGUM34.js +2 -0
  41. package/dist/bundle/chunks/chunk-L2ZPNLYD.js +2 -0
  42. package/dist/bundle/chunks/chunk-MDOTREMR.js +11 -0
  43. package/dist/bundle/chunks/chunk-NUHFSC37.js +25 -0
  44. package/dist/bundle/chunks/chunk-PGXDEOVV.js +2 -0
  45. package/dist/bundle/chunks/chunk-PJACZCIR.js +2 -0
  46. package/dist/bundle/chunks/chunk-PRRNXB7S.js +2 -0
  47. package/dist/bundle/chunks/chunk-SER2HCLE.js +38 -0
  48. package/dist/bundle/chunks/chunk-TEPMHNKQ.js +2 -0
  49. package/dist/bundle/chunks/chunk-V46XUTK3.js +2 -0
  50. package/dist/bundle/chunks/chunk-WGLBM2BP.js +2 -0
  51. package/dist/bundle/chunks/chunk-WW3LMV3F.js +2 -0
  52. package/dist/bundle/chunks/chunk-XDUWOHPL.js +6 -0
  53. package/dist/bundle/chunks/github-copilot.js +2 -0
  54. package/dist/bundle/chunks/google-generative-ai-NZ66X6K7.js +2 -0
  55. package/dist/bundle/chunks/google-vertex-2ZZOFBNQ.js +2 -0
  56. package/dist/bundle/chunks/https-proxy-agent-UDEHOBGS.js +13 -0
  57. package/dist/bundle/chunks/image-resize-worker.js +2 -0
  58. package/dist/bundle/chunks/kimi-coding.js +2 -0
  59. package/dist/bundle/chunks/lib-HGQMNYVT.js +9 -0
  60. package/dist/bundle/chunks/mistral-conversations-B6DZRMEK.js +5 -0
  61. package/dist/bundle/chunks/multipart-parser-SQ6GDJL7.js +3 -0
  62. package/dist/bundle/chunks/node-O3RIBJRH.js +16 -0
  63. package/dist/bundle/chunks/node-TWVVAGPO.js +2 -0
  64. package/dist/bundle/chunks/openai-codex-responses-UFH6O5K6.js +10 -0
  65. package/dist/bundle/chunks/openai-codex.js +75 -0
  66. package/dist/bundle/chunks/openai-completions-A55GHA4O.js +7 -0
  67. package/dist/bundle/chunks/openai-responses-TJLXRAXR.js +2 -0
  68. package/dist/bundle/chunks/openrouter-images-G3GT5BVT.js +2 -0
  69. package/dist/bundle/chunks/openrouter.js +75 -0
  70. package/dist/bundle/chunks/pi-messages-SLF355GF.js +8 -0
  71. package/dist/bundle/chunks/radius.js +75 -0
  72. package/dist/bundle/chunks/src-UK77SYZE.js +4 -0
  73. package/dist/bundle/chunks/xai.js +2 -0
  74. package/dist/bundle/cli.js +3 -0
  75. package/dist/bundle/client.js +2 -0
  76. package/dist/bundle/index.js +8 -0
  77. package/dist/bundle/rpc-entry.js +3 -0
  78. package/dist/capabilities/builtin.d.ts +46 -0
  79. package/dist/capabilities/builtin.d.ts.map +1 -0
  80. package/dist/capabilities/builtin.js +68 -0
  81. package/dist/capabilities/builtin.js.map +1 -0
  82. package/dist/cli/args.d.ts +102 -0
  83. package/dist/cli/args.d.ts.map +1 -0
  84. package/dist/cli/args.js +712 -0
  85. package/dist/cli/args.js.map +1 -0
  86. package/dist/cli/auth-check.d.ts +19 -0
  87. package/dist/cli/auth-check.d.ts.map +1 -0
  88. package/dist/cli/auth-check.js +50 -0
  89. package/dist/cli/auth-check.js.map +1 -0
  90. package/dist/cli/auth-command.d.ts +24 -0
  91. package/dist/cli/auth-command.d.ts.map +1 -0
  92. package/dist/cli/auth-command.js +102 -0
  93. package/dist/cli/auth-command.js.map +1 -0
  94. package/dist/cli/config-selector.d.ts +23 -0
  95. package/dist/cli/config-selector.d.ts.map +1 -0
  96. package/dist/cli/config-selector.js +51 -0
  97. package/dist/cli/config-selector.js.map +1 -0
  98. package/dist/cli/credential-print.d.ts +13 -0
  99. package/dist/cli/credential-print.d.ts.map +1 -0
  100. package/dist/cli/credential-print.js +76 -0
  101. package/dist/cli/credential-print.js.map +1 -0
  102. package/dist/cli/experimental/auth.d.ts +16 -0
  103. package/dist/cli/experimental/auth.d.ts.map +1 -0
  104. package/dist/cli/experimental/auth.js +13 -0
  105. package/dist/cli/experimental/auth.js.map +1 -0
  106. package/dist/cli/experimental/cli.d.ts +6 -0
  107. package/dist/cli/experimental/cli.d.ts.map +1 -0
  108. package/dist/cli/experimental/cli.js +5 -0
  109. package/dist/cli/experimental/cli.js.map +1 -0
  110. package/dist/cli/experimental/command-options.d.ts +17 -0
  111. package/dist/cli/experimental/command-options.d.ts.map +1 -0
  112. package/dist/cli/experimental/command-options.js +35 -0
  113. package/dist/cli/experimental/command-options.js.map +1 -0
  114. package/dist/cli/experimental/command.d.ts +63 -0
  115. package/dist/cli/experimental/command.d.ts.map +1 -0
  116. package/dist/cli/experimental/command.js +130 -0
  117. package/dist/cli/experimental/command.js.map +1 -0
  118. package/dist/cli/experimental/commands/client.d.ts +13 -0
  119. package/dist/cli/experimental/commands/client.d.ts.map +1 -0
  120. package/dist/cli/experimental/commands/client.js +25 -0
  121. package/dist/cli/experimental/commands/client.js.map +1 -0
  122. package/dist/cli/experimental/commands/pi.d.ts +15 -0
  123. package/dist/cli/experimental/commands/pi.d.ts.map +1 -0
  124. package/dist/cli/experimental/commands/pi.js +26 -0
  125. package/dist/cli/experimental/commands/pi.js.map +1 -0
  126. package/dist/cli/experimental/commands/server.d.ts +13 -0
  127. package/dist/cli/experimental/commands/server.d.ts.map +1 -0
  128. package/dist/cli/experimental/commands/server.js +25 -0
  129. package/dist/cli/experimental/commands/server.js.map +1 -0
  130. package/dist/cli/experimental/transport-address.d.ts +10 -0
  131. package/dist/cli/experimental/transport-address.d.ts.map +1 -0
  132. package/dist/cli/experimental/transport-address.js +38 -0
  133. package/dist/cli/experimental/transport-address.js.map +1 -0
  134. package/dist/cli/file-processor.d.ts +15 -0
  135. package/dist/cli/file-processor.d.ts.map +1 -0
  136. package/dist/cli/file-processor.js +71 -0
  137. package/dist/cli/file-processor.js.map +1 -0
  138. package/dist/cli/initial-message.d.ts +18 -0
  139. package/dist/cli/initial-message.d.ts.map +1 -0
  140. package/dist/cli/initial-message.js +22 -0
  141. package/dist/cli/initial-message.js.map +1 -0
  142. package/dist/cli/list-models.d.ts +9 -0
  143. package/dist/cli/list-models.d.ts.map +1 -0
  144. package/dist/cli/list-models.js +98 -0
  145. package/dist/cli/list-models.js.map +1 -0
  146. package/dist/cli/plugin-command.d.ts +50 -0
  147. package/dist/cli/plugin-command.d.ts.map +1 -0
  148. package/dist/cli/plugin-command.js +85 -0
  149. package/dist/cli/plugin-command.js.map +1 -0
  150. package/dist/cli/plugin-manager-controller.d.ts +59 -0
  151. package/dist/cli/plugin-manager-controller.d.ts.map +1 -0
  152. package/dist/cli/plugin-manager-controller.js +183 -0
  153. package/dist/cli/plugin-manager-controller.js.map +1 -0
  154. package/dist/cli/plugin-selection-controller.d.ts +57 -0
  155. package/dist/cli/plugin-selection-controller.d.ts.map +1 -0
  156. package/dist/cli/plugin-selection-controller.js +159 -0
  157. package/dist/cli/plugin-selection-controller.js.map +1 -0
  158. package/dist/cli/serve.d.ts +39 -0
  159. package/dist/cli/serve.d.ts.map +1 -0
  160. package/dist/cli/serve.js +124 -0
  161. package/dist/cli/serve.js.map +1 -0
  162. package/dist/cli/session-picker.d.ts +30 -0
  163. package/dist/cli/session-picker.d.ts.map +1 -0
  164. package/dist/cli/session-picker.js +62 -0
  165. package/dist/cli/session-picker.js.map +1 -0
  166. package/dist/cli/startup-ui.d.ts +20 -0
  167. package/dist/cli/startup-ui.d.ts.map +1 -0
  168. package/dist/cli/startup-ui.js +185 -0
  169. package/dist/cli/startup-ui.js.map +1 -0
  170. package/dist/cli/trace-view.d.ts +86 -0
  171. package/dist/cli/trace-view.d.ts.map +1 -0
  172. package/dist/cli/trace-view.js +263 -0
  173. package/dist/cli/trace-view.js.map +1 -0
  174. package/dist/cli.d.ts +3 -0
  175. package/dist/cli.d.ts.map +1 -0
  176. package/dist/cli.js +19 -0
  177. package/dist/cli.js.map +1 -0
  178. package/dist/client/index.d.ts +3 -0
  179. package/dist/client/index.d.ts.map +1 -0
  180. package/dist/client/index.js +3 -0
  181. package/dist/client/index.js.map +1 -0
  182. package/dist/client/remote-session.d.ts +53 -0
  183. package/dist/client/remote-session.d.ts.map +1 -0
  184. package/dist/client/remote-session.js +340 -0
  185. package/dist/client/remote-session.js.map +1 -0
  186. package/dist/client/transcript.d.ts +12 -0
  187. package/dist/client/transcript.d.ts.map +1 -0
  188. package/dist/client/transcript.js +98 -0
  189. package/dist/client/transcript.js.map +1 -0
  190. package/dist/config.d.ts +95 -0
  191. package/dist/config.d.ts.map +1 -0
  192. package/dist/config.js +459 -0
  193. package/dist/config.js.map +1 -0
  194. package/dist/core/agent-capability-contract.d.ts +322 -0
  195. package/dist/core/agent-capability-contract.d.ts.map +1 -0
  196. package/dist/core/agent-capability-contract.js +1154 -0
  197. package/dist/core/agent-capability-contract.js.map +1 -0
  198. package/dist/core/agent-session-bash.d.ts +51 -0
  199. package/dist/core/agent-session-bash.d.ts.map +1 -0
  200. package/dist/core/agent-session-bash.js +138 -0
  201. package/dist/core/agent-session-bash.js.map +1 -0
  202. package/dist/core/agent-session-compaction.d.ts +188 -0
  203. package/dist/core/agent-session-compaction.d.ts.map +1 -0
  204. package/dist/core/agent-session-compaction.js +1071 -0
  205. package/dist/core/agent-session-compaction.js.map +1 -0
  206. package/dist/core/agent-session-context.d.ts +43 -0
  207. package/dist/core/agent-session-context.d.ts.map +1 -0
  208. package/dist/core/agent-session-context.js +170 -0
  209. package/dist/core/agent-session-context.js.map +1 -0
  210. package/dist/core/agent-session-extensions.d.ts +30 -0
  211. package/dist/core/agent-session-extensions.d.ts.map +1 -0
  212. package/dist/core/agent-session-extensions.js +74 -0
  213. package/dist/core/agent-session-extensions.js.map +1 -0
  214. package/dist/core/agent-session-internal.d.ts +290 -0
  215. package/dist/core/agent-session-internal.d.ts.map +1 -0
  216. package/dist/core/agent-session-internal.js +40 -0
  217. package/dist/core/agent-session-internal.js.map +1 -0
  218. package/dist/core/agent-session-lifecycle.d.ts +242 -0
  219. package/dist/core/agent-session-lifecycle.d.ts.map +1 -0
  220. package/dist/core/agent-session-lifecycle.js +699 -0
  221. package/dist/core/agent-session-lifecycle.js.map +1 -0
  222. package/dist/core/agent-session-loop-runner.d.ts +52 -0
  223. package/dist/core/agent-session-loop-runner.d.ts.map +1 -0
  224. package/dist/core/agent-session-loop-runner.js +168 -0
  225. package/dist/core/agent-session-loop-runner.js.map +1 -0
  226. package/dist/core/agent-session-loop.d.ts +39 -0
  227. package/dist/core/agent-session-loop.d.ts.map +1 -0
  228. package/dist/core/agent-session-loop.js +155 -0
  229. package/dist/core/agent-session-loop.js.map +1 -0
  230. package/dist/core/agent-session-model.d.ts +49 -0
  231. package/dist/core/agent-session-model.d.ts.map +1 -0
  232. package/dist/core/agent-session-model.js +155 -0
  233. package/dist/core/agent-session-model.js.map +1 -0
  234. package/dist/core/agent-session-paths.d.ts +3 -0
  235. package/dist/core/agent-session-paths.d.ts.map +1 -0
  236. package/dist/core/agent-session-paths.js +14 -0
  237. package/dist/core/agent-session-paths.js.map +1 -0
  238. package/dist/core/agent-session-projection.d.ts +53 -0
  239. package/dist/core/agent-session-projection.d.ts.map +1 -0
  240. package/dist/core/agent-session-projection.js +195 -0
  241. package/dist/core/agent-session-projection.js.map +1 -0
  242. package/dist/core/agent-session-retry.d.ts +28 -0
  243. package/dist/core/agent-session-retry.d.ts.map +1 -0
  244. package/dist/core/agent-session-retry.js +141 -0
  245. package/dist/core/agent-session-retry.js.map +1 -0
  246. package/dist/core/agent-session-runtime.d.ts +181 -0
  247. package/dist/core/agent-session-runtime.d.ts.map +1 -0
  248. package/dist/core/agent-session-runtime.js +297 -0
  249. package/dist/core/agent-session-runtime.js.map +1 -0
  250. package/dist/core/agent-session-services.d.ts +281 -0
  251. package/dist/core/agent-session-services.d.ts.map +1 -0
  252. package/dist/core/agent-session-services.js +680 -0
  253. package/dist/core/agent-session-services.js.map +1 -0
  254. package/dist/core/agent-session-store.d.ts +47 -0
  255. package/dist/core/agent-session-store.d.ts.map +1 -0
  256. package/dist/core/agent-session-store.js +155 -0
  257. package/dist/core/agent-session-store.js.map +1 -0
  258. package/dist/core/agent-session-tools.d.ts +36 -0
  259. package/dist/core/agent-session-tools.d.ts.map +1 -0
  260. package/dist/core/agent-session-tools.js +305 -0
  261. package/dist/core/agent-session-tools.js.map +1 -0
  262. package/dist/core/agent-session.d.ts +1156 -0
  263. package/dist/core/agent-session.d.ts.map +1 -0
  264. package/dist/core/agent-session.js +2550 -0
  265. package/dist/core/agent-session.js.map +1 -0
  266. package/dist/core/auth-guidance.d.ts +5 -0
  267. package/dist/core/auth-guidance.d.ts.map +1 -0
  268. package/dist/core/auth-guidance.js +21 -0
  269. package/dist/core/auth-guidance.js.map +1 -0
  270. package/dist/core/auth-storage.d.ts +72 -0
  271. package/dist/core/auth-storage.d.ts.map +1 -0
  272. package/dist/core/auth-storage.js +426 -0
  273. package/dist/core/auth-storage.js.map +1 -0
  274. package/dist/core/bash-executor.d.ts +32 -0
  275. package/dist/core/bash-executor.d.ts.map +1 -0
  276. package/dist/core/bash-executor.js +111 -0
  277. package/dist/core/bash-executor.js.map +1 -0
  278. package/dist/core/cache-stats.d.ts +49 -0
  279. package/dist/core/cache-stats.d.ts.map +1 -0
  280. package/dist/core/cache-stats.js +101 -0
  281. package/dist/core/cache-stats.js.map +1 -0
  282. package/dist/core/compaction/branch-summarization.d.ts +88 -0
  283. package/dist/core/compaction/branch-summarization.d.ts.map +1 -0
  284. package/dist/core/compaction/branch-summarization.js +220 -0
  285. package/dist/core/compaction/branch-summarization.js.map +1 -0
  286. package/dist/core/compaction/compaction.d.ts +178 -0
  287. package/dist/core/compaction/compaction.d.ts.map +1 -0
  288. package/dist/core/compaction/compaction.js +608 -0
  289. package/dist/core/compaction/compaction.js.map +1 -0
  290. package/dist/core/compaction/index.d.ts +7 -0
  291. package/dist/core/compaction/index.d.ts.map +1 -0
  292. package/dist/core/compaction/index.js +7 -0
  293. package/dist/core/compaction/index.js.map +1 -0
  294. package/dist/core/compaction/utils.d.ts +49 -0
  295. package/dist/core/compaction/utils.d.ts.map +1 -0
  296. package/dist/core/compaction/utils.js +170 -0
  297. package/dist/core/compaction/utils.js.map +1 -0
  298. package/dist/core/defaults.d.ts +4 -0
  299. package/dist/core/defaults.d.ts.map +1 -0
  300. package/dist/core/defaults.js +11 -0
  301. package/dist/core/defaults.js.map +1 -0
  302. package/dist/core/diagnostics.d.ts +15 -0
  303. package/dist/core/diagnostics.d.ts.map +1 -0
  304. package/dist/core/diagnostics.js +2 -0
  305. package/dist/core/diagnostics.js.map +1 -0
  306. package/dist/core/embedded-sdk.d.ts +96 -0
  307. package/dist/core/embedded-sdk.d.ts.map +1 -0
  308. package/dist/core/embedded-sdk.js +395 -0
  309. package/dist/core/embedded-sdk.js.map +1 -0
  310. package/dist/core/event-bus.d.ts +9 -0
  311. package/dist/core/event-bus.d.ts.map +1 -0
  312. package/dist/core/event-bus.js +25 -0
  313. package/dist/core/event-bus.js.map +1 -0
  314. package/dist/core/exec.d.ts +29 -0
  315. package/dist/core/exec.d.ts.map +1 -0
  316. package/dist/core/exec.js +75 -0
  317. package/dist/core/exec.js.map +1 -0
  318. package/dist/core/experimental.d.ts +2 -0
  319. package/dist/core/experimental.d.ts.map +1 -0
  320. package/dist/core/experimental.js +6 -0
  321. package/dist/core/experimental.js.map +1 -0
  322. package/dist/core/export-html/ansi-to-html.d.ts +22 -0
  323. package/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
  324. package/dist/core/export-html/ansi-to-html.js +249 -0
  325. package/dist/core/export-html/ansi-to-html.js.map +1 -0
  326. package/dist/core/export-html/index.d.ts +37 -0
  327. package/dist/core/export-html/index.d.ts.map +1 -0
  328. package/dist/core/export-html/index.js +226 -0
  329. package/dist/core/export-html/index.js.map +1 -0
  330. package/dist/core/export-html/template.css +1066 -0
  331. package/dist/core/export-html/template.html +55 -0
  332. package/dist/core/export-html/template.js +1864 -0
  333. package/dist/core/export-html/tool-renderer.d.ts +34 -0
  334. package/dist/core/export-html/tool-renderer.d.ts.map +1 -0
  335. package/dist/core/export-html/tool-renderer.js +108 -0
  336. package/dist/core/export-html/tool-renderer.js.map +1 -0
  337. package/dist/core/export-html/vendor/highlight.min.js +1213 -0
  338. package/dist/core/export-html/vendor/marked.min.js +78 -0
  339. package/dist/core/extensions/agent-composition.d.ts +67 -0
  340. package/dist/core/extensions/agent-composition.d.ts.map +1 -0
  341. package/dist/core/extensions/agent-composition.js +785 -0
  342. package/dist/core/extensions/agent-composition.js.map +1 -0
  343. package/dist/core/extensions/bootstrap-agent-loop.d.ts +203 -0
  344. package/dist/core/extensions/bootstrap-agent-loop.d.ts.map +1 -0
  345. package/dist/core/extensions/bootstrap-agent-loop.js +565 -0
  346. package/dist/core/extensions/bootstrap-agent-loop.js.map +1 -0
  347. package/dist/core/extensions/bootstrap-branch-summary-policy.d.ts +7 -0
  348. package/dist/core/extensions/bootstrap-branch-summary-policy.d.ts.map +1 -0
  349. package/dist/core/extensions/bootstrap-branch-summary-policy.js +28 -0
  350. package/dist/core/extensions/bootstrap-branch-summary-policy.js.map +1 -0
  351. package/dist/core/extensions/bootstrap-compaction-policy.d.ts +7 -0
  352. package/dist/core/extensions/bootstrap-compaction-policy.d.ts.map +1 -0
  353. package/dist/core/extensions/bootstrap-compaction-policy.js +81 -0
  354. package/dist/core/extensions/bootstrap-compaction-policy.js.map +1 -0
  355. package/dist/core/extensions/bootstrap-lifecycle.d.ts +26 -0
  356. package/dist/core/extensions/bootstrap-lifecycle.d.ts.map +1 -0
  357. package/dist/core/extensions/bootstrap-lifecycle.js +181 -0
  358. package/dist/core/extensions/bootstrap-lifecycle.js.map +1 -0
  359. package/dist/core/extensions/bootstrap-overflow-policy.d.ts +7 -0
  360. package/dist/core/extensions/bootstrap-overflow-policy.d.ts.map +1 -0
  361. package/dist/core/extensions/bootstrap-overflow-policy.js +29 -0
  362. package/dist/core/extensions/bootstrap-overflow-policy.js.map +1 -0
  363. package/dist/core/extensions/bootstrap-retry-policy.d.ts +7 -0
  364. package/dist/core/extensions/bootstrap-retry-policy.d.ts.map +1 -0
  365. package/dist/core/extensions/bootstrap-retry-policy.js +28 -0
  366. package/dist/core/extensions/bootstrap-retry-policy.js.map +1 -0
  367. package/dist/core/extensions/bootstrap-skills.d.ts +16 -0
  368. package/dist/core/extensions/bootstrap-skills.d.ts.map +1 -0
  369. package/dist/core/extensions/bootstrap-skills.js +119 -0
  370. package/dist/core/extensions/bootstrap-skills.js.map +1 -0
  371. package/dist/core/extensions/bootstrap-tools.d.ts +20 -0
  372. package/dist/core/extensions/bootstrap-tools.d.ts.map +1 -0
  373. package/dist/core/extensions/bootstrap-tools.js +35 -0
  374. package/dist/core/extensions/bootstrap-tools.js.map +1 -0
  375. package/dist/core/extensions/capability-exports.d.ts +5 -0
  376. package/dist/core/extensions/capability-exports.d.ts.map +1 -0
  377. package/dist/core/extensions/capability-exports.js +4 -0
  378. package/dist/core/extensions/capability-exports.js.map +1 -0
  379. package/dist/core/extensions/capability-plugin.d.ts +69 -0
  380. package/dist/core/extensions/capability-plugin.d.ts.map +1 -0
  381. package/dist/core/extensions/capability-plugin.js +485 -0
  382. package/dist/core/extensions/capability-plugin.js.map +1 -0
  383. package/dist/core/extensions/capability-runtime-events.d.ts +22 -0
  384. package/dist/core/extensions/capability-runtime-events.d.ts.map +1 -0
  385. package/dist/core/extensions/capability-runtime-events.js +381 -0
  386. package/dist/core/extensions/capability-runtime-events.js.map +1 -0
  387. package/dist/core/extensions/capability-runtime-guards.d.ts +93 -0
  388. package/dist/core/extensions/capability-runtime-guards.d.ts.map +1 -0
  389. package/dist/core/extensions/capability-runtime-guards.js +800 -0
  390. package/dist/core/extensions/capability-runtime-guards.js.map +1 -0
  391. package/dist/core/extensions/capability-runtime-inspect.d.ts +12 -0
  392. package/dist/core/extensions/capability-runtime-inspect.d.ts.map +1 -0
  393. package/dist/core/extensions/capability-runtime-inspect.js +106 -0
  394. package/dist/core/extensions/capability-runtime-inspect.js.map +1 -0
  395. package/dist/core/extensions/capability-runtime-manifest.d.ts +19 -0
  396. package/dist/core/extensions/capability-runtime-manifest.d.ts.map +1 -0
  397. package/dist/core/extensions/capability-runtime-manifest.js +218 -0
  398. package/dist/core/extensions/capability-runtime-manifest.js.map +1 -0
  399. package/dist/core/extensions/capability-runtime-operation.d.ts +26 -0
  400. package/dist/core/extensions/capability-runtime-operation.d.ts.map +1 -0
  401. package/dist/core/extensions/capability-runtime-operation.js +88 -0
  402. package/dist/core/extensions/capability-runtime-operation.js.map +1 -0
  403. package/dist/core/extensions/capability-runtime-snapshot.d.ts +11 -0
  404. package/dist/core/extensions/capability-runtime-snapshot.d.ts.map +1 -0
  405. package/dist/core/extensions/capability-runtime-snapshot.js +81 -0
  406. package/dist/core/extensions/capability-runtime-snapshot.js.map +1 -0
  407. package/dist/core/extensions/capability-runtime-store.d.ts +34 -0
  408. package/dist/core/extensions/capability-runtime-store.d.ts.map +1 -0
  409. package/dist/core/extensions/capability-runtime-store.js +153 -0
  410. package/dist/core/extensions/capability-runtime-store.js.map +1 -0
  411. package/dist/core/extensions/capability-runtime-tool.d.ts +10 -0
  412. package/dist/core/extensions/capability-runtime-tool.d.ts.map +1 -0
  413. package/dist/core/extensions/capability-runtime-tool.js +10 -0
  414. package/dist/core/extensions/capability-runtime-tool.js.map +1 -0
  415. package/dist/core/extensions/capability-runtime-types.d.ts +303 -0
  416. package/dist/core/extensions/capability-runtime-types.d.ts.map +1 -0
  417. package/dist/core/extensions/capability-runtime-types.js +2 -0
  418. package/dist/core/extensions/capability-runtime-types.js.map +1 -0
  419. package/dist/core/extensions/capability-runtime-validation.d.ts +35 -0
  420. package/dist/core/extensions/capability-runtime-validation.d.ts.map +1 -0
  421. package/dist/core/extensions/capability-runtime-validation.js +380 -0
  422. package/dist/core/extensions/capability-runtime-validation.js.map +1 -0
  423. package/dist/core/extensions/capability-runtime.d.ts +7 -0
  424. package/dist/core/extensions/capability-runtime.d.ts.map +1 -0
  425. package/dist/core/extensions/capability-runtime.js +2170 -0
  426. package/dist/core/extensions/capability-runtime.js.map +1 -0
  427. package/dist/core/extensions/compaction-memory-failure-mode.d.ts +43 -0
  428. package/dist/core/extensions/compaction-memory-failure-mode.d.ts.map +1 -0
  429. package/dist/core/extensions/compaction-memory-failure-mode.js +31 -0
  430. package/dist/core/extensions/compaction-memory-failure-mode.js.map +1 -0
  431. package/dist/core/extensions/context-strategy-binding.d.ts +12 -0
  432. package/dist/core/extensions/context-strategy-binding.d.ts.map +1 -0
  433. package/dist/core/extensions/context-strategy-binding.js +54 -0
  434. package/dist/core/extensions/context-strategy-binding.js.map +1 -0
  435. package/dist/core/extensions/index.d.ts +19 -0
  436. package/dist/core/extensions/index.d.ts.map +1 -0
  437. package/dist/core/extensions/index.js +18 -0
  438. package/dist/core/extensions/index.js.map +1 -0
  439. package/dist/core/extensions/lifecycle-catalog.d.ts +584 -0
  440. package/dist/core/extensions/lifecycle-catalog.d.ts.map +1 -0
  441. package/dist/core/extensions/lifecycle-catalog.js +1903 -0
  442. package/dist/core/extensions/lifecycle-catalog.js.map +1 -0
  443. package/dist/core/extensions/lifecycle-delivery-queue.d.ts +48 -0
  444. package/dist/core/extensions/lifecycle-delivery-queue.d.ts.map +1 -0
  445. package/dist/core/extensions/lifecycle-delivery-queue.js +164 -0
  446. package/dist/core/extensions/lifecycle-delivery-queue.js.map +1 -0
  447. package/dist/core/extensions/microcompact.d.ts +71 -0
  448. package/dist/core/extensions/microcompact.d.ts.map +1 -0
  449. package/dist/core/extensions/microcompact.js +123 -0
  450. package/dist/core/extensions/microcompact.js.map +1 -0
  451. package/dist/core/extensions/public-api.d.ts +10 -0
  452. package/dist/core/extensions/public-api.d.ts.map +1 -0
  453. package/dist/core/extensions/public-api.js +9 -0
  454. package/dist/core/extensions/public-api.js.map +1 -0
  455. package/dist/core/facade/coding-agent-facade.d.ts +338 -0
  456. package/dist/core/facade/coding-agent-facade.d.ts.map +1 -0
  457. package/dist/core/facade/coding-agent-facade.js +115 -0
  458. package/dist/core/facade/coding-agent-facade.js.map +1 -0
  459. package/dist/core/facade/coding-agent-runtime-facade.d.ts +115 -0
  460. package/dist/core/facade/coding-agent-runtime-facade.d.ts.map +1 -0
  461. package/dist/core/facade/coding-agent-runtime-facade.js +63 -0
  462. package/dist/core/facade/coding-agent-runtime-facade.js.map +1 -0
  463. package/dist/core/facade/index.d.ts +6 -0
  464. package/dist/core/facade/index.d.ts.map +1 -0
  465. package/dist/core/facade/index.js +3 -0
  466. package/dist/core/facade/index.js.map +1 -0
  467. package/dist/core/footer-data-provider.d.ts +57 -0
  468. package/dist/core/footer-data-provider.d.ts.map +1 -0
  469. package/dist/core/footer-data-provider.js +323 -0
  470. package/dist/core/footer-data-provider.js.map +1 -0
  471. package/dist/core/http-dispatcher.d.ts +22 -0
  472. package/dist/core/http-dispatcher.d.ts.map +1 -0
  473. package/dist/core/http-dispatcher.js +98 -0
  474. package/dist/core/http-dispatcher.js.map +1 -0
  475. package/dist/core/index.d.ts +19 -0
  476. package/dist/core/index.d.ts.map +1 -0
  477. package/dist/core/index.js +13 -0
  478. package/dist/core/index.js.map +1 -0
  479. package/dist/core/input-source.d.ts +9 -0
  480. package/dist/core/input-source.d.ts.map +1 -0
  481. package/dist/core/input-source.js +2 -0
  482. package/dist/core/input-source.js.map +1 -0
  483. package/dist/core/keybindings.d.ts +442 -0
  484. package/dist/core/keybindings.d.ts.map +1 -0
  485. package/dist/core/keybindings.js +329 -0
  486. package/dist/core/keybindings.js.map +1 -0
  487. package/dist/core/logger.d.ts +107 -0
  488. package/dist/core/logger.d.ts.map +1 -0
  489. package/dist/core/logger.js +246 -0
  490. package/dist/core/logger.js.map +1 -0
  491. package/dist/core/messages.d.ts +85 -0
  492. package/dist/core/messages.d.ts.map +1 -0
  493. package/dist/core/messages.js +146 -0
  494. package/dist/core/messages.js.map +1 -0
  495. package/dist/core/model-config.d.ts +586 -0
  496. package/dist/core/model-config.d.ts.map +1 -0
  497. package/dist/core/model-config.js +258 -0
  498. package/dist/core/model-config.js.map +1 -0
  499. package/dist/core/model-registry.d.ts +49 -0
  500. package/dist/core/model-registry.d.ts.map +1 -0
  501. package/dist/core/model-registry.js +115 -0
  502. package/dist/core/model-registry.js.map +1 -0
  503. package/dist/core/model-resolver.d.ts +124 -0
  504. package/dist/core/model-resolver.d.ts.map +1 -0
  505. package/dist/core/model-resolver.js +590 -0
  506. package/dist/core/model-resolver.js.map +1 -0
  507. package/dist/core/model-runtime.d.ts +100 -0
  508. package/dist/core/model-runtime.d.ts.map +1 -0
  509. package/dist/core/model-runtime.js +598 -0
  510. package/dist/core/model-runtime.js.map +1 -0
  511. package/dist/core/models-store.d.ts +22 -0
  512. package/dist/core/models-store.d.ts.map +1 -0
  513. package/dist/core/models-store.js +115 -0
  514. package/dist/core/models-store.js.map +1 -0
  515. package/dist/core/output-guard.d.ts +7 -0
  516. package/dist/core/output-guard.d.ts.map +1 -0
  517. package/dist/core/output-guard.js +90 -0
  518. package/dist/core/output-guard.js.map +1 -0
  519. package/dist/core/package-install-host.d.ts +23 -0
  520. package/dist/core/package-install-host.d.ts.map +1 -0
  521. package/dist/core/package-install-host.js +202 -0
  522. package/dist/core/package-install-host.js.map +1 -0
  523. package/dist/core/package-manager.d.ts +93 -0
  524. package/dist/core/package-manager.d.ts.map +1 -0
  525. package/dist/core/package-manager.js +947 -0
  526. package/dist/core/package-manager.js.map +1 -0
  527. package/dist/core/package-process-runner.d.ts +4 -0
  528. package/dist/core/package-process-runner.d.ts.map +1 -0
  529. package/dist/core/package-process-runner.js +47 -0
  530. package/dist/core/package-process-runner.js.map +1 -0
  531. package/dist/core/package-resource-collection.d.ts +16 -0
  532. package/dist/core/package-resource-collection.d.ts.map +1 -0
  533. package/dist/core/package-resource-collection.js +300 -0
  534. package/dist/core/package-resource-collection.js.map +1 -0
  535. package/dist/core/package-resource-discovery.d.ts +33 -0
  536. package/dist/core/package-resource-discovery.d.ts.map +1 -0
  537. package/dist/core/package-resource-discovery.js +449 -0
  538. package/dist/core/package-resource-discovery.js.map +1 -0
  539. package/dist/core/package-source.d.ts +157 -0
  540. package/dist/core/package-source.d.ts.map +1 -0
  541. package/dist/core/package-source.js +179 -0
  542. package/dist/core/package-source.js.map +1 -0
  543. package/dist/core/pi-manifest.d.ts +7 -0
  544. package/dist/core/pi-manifest.d.ts.map +1 -0
  545. package/dist/core/pi-manifest.js +26 -0
  546. package/dist/core/pi-manifest.js.map +1 -0
  547. package/dist/core/prompt-templates.d.ts +54 -0
  548. package/dist/core/prompt-templates.d.ts.map +1 -0
  549. package/dist/core/prompt-templates.js +236 -0
  550. package/dist/core/prompt-templates.js.map +1 -0
  551. package/dist/core/provider-composer.d.ts +58 -0
  552. package/dist/core/provider-composer.d.ts.map +1 -0
  553. package/dist/core/provider-composer.js +403 -0
  554. package/dist/core/provider-composer.js.map +1 -0
  555. package/dist/core/radius.d.ts +2 -0
  556. package/dist/core/radius.d.ts.map +1 -0
  557. package/dist/core/radius.js +2 -0
  558. package/dist/core/radius.js.map +1 -0
  559. package/dist/core/remote-catalog-provider.d.ts +5 -0
  560. package/dist/core/remote-catalog-provider.d.ts.map +1 -0
  561. package/dist/core/remote-catalog-provider.js +121 -0
  562. package/dist/core/remote-catalog-provider.js.map +1 -0
  563. package/dist/core/resolve-config-value.d.ts +30 -0
  564. package/dist/core/resolve-config-value.d.ts.map +1 -0
  565. package/dist/core/resolve-config-value.js +247 -0
  566. package/dist/core/resolve-config-value.js.map +1 -0
  567. package/dist/core/resource-loader.d.ts +211 -0
  568. package/dist/core/resource-loader.d.ts.map +1 -0
  569. package/dist/core/resource-loader.js +687 -0
  570. package/dist/core/resource-loader.js.map +1 -0
  571. package/dist/core/runtime-credentials.d.ts +15 -0
  572. package/dist/core/runtime-credentials.d.ts.map +1 -0
  573. package/dist/core/runtime-credentials.js +39 -0
  574. package/dist/core/runtime-credentials.js.map +1 -0
  575. package/dist/core/sdk.d.ts +395 -0
  576. package/dist/core/sdk.d.ts.map +1 -0
  577. package/dist/core/sdk.js +1112 -0
  578. package/dist/core/sdk.js.map +1 -0
  579. package/dist/core/session-cwd.d.ts +19 -0
  580. package/dist/core/session-cwd.d.ts.map +1 -0
  581. package/dist/core/session-cwd.js +38 -0
  582. package/dist/core/session-cwd.js.map +1 -0
  583. package/dist/core/session-export.d.ts +7 -0
  584. package/dist/core/session-export.d.ts.map +1 -0
  585. package/dist/core/session-export.js +48 -0
  586. package/dist/core/session-export.js.map +1 -0
  587. package/dist/core/session-manager.d.ts +463 -0
  588. package/dist/core/session-manager.d.ts.map +1 -0
  589. package/dist/core/session-manager.js +1583 -0
  590. package/dist/core/session-manager.js.map +1 -0
  591. package/dist/core/session-start.d.ts +12 -0
  592. package/dist/core/session-start.d.ts.map +1 -0
  593. package/dist/core/session-start.js +2 -0
  594. package/dist/core/session-start.js.map +1 -0
  595. package/dist/core/session-storage.d.ts +130 -0
  596. package/dist/core/session-storage.d.ts.map +1 -0
  597. package/dist/core/session-storage.js +386 -0
  598. package/dist/core/session-storage.js.map +1 -0
  599. package/dist/core/settings-diagnostics.d.ts +9 -0
  600. package/dist/core/settings-diagnostics.d.ts.map +1 -0
  601. package/dist/core/settings-diagnostics.js +21 -0
  602. package/dist/core/settings-diagnostics.js.map +1 -0
  603. package/dist/core/settings-manager.d.ts +352 -0
  604. package/dist/core/settings-manager.d.ts.map +1 -0
  605. package/dist/core/settings-manager.js +987 -0
  606. package/dist/core/settings-manager.js.map +1 -0
  607. package/dist/core/skills.d.ts +60 -0
  608. package/dist/core/skills.d.ts.map +1 -0
  609. package/dist/core/skills.js +382 -0
  610. package/dist/core/skills.js.map +1 -0
  611. package/dist/core/slash-commands.d.ts +15 -0
  612. package/dist/core/slash-commands.d.ts.map +1 -0
  613. package/dist/core/slash-commands.js +33 -0
  614. package/dist/core/slash-commands.js.map +1 -0
  615. package/dist/core/source-info.d.ts +18 -0
  616. package/dist/core/source-info.d.ts.map +1 -0
  617. package/dist/core/source-info.js +19 -0
  618. package/dist/core/source-info.js.map +1 -0
  619. package/dist/core/system-prompt.d.ts +8 -0
  620. package/dist/core/system-prompt.d.ts.map +1 -0
  621. package/dist/core/system-prompt.js +137 -0
  622. package/dist/core/system-prompt.js.map +1 -0
  623. package/dist/core/timings.d.ts +11 -0
  624. package/dist/core/timings.d.ts.map +1 -0
  625. package/dist/core/timings.js +46 -0
  626. package/dist/core/timings.js.map +1 -0
  627. package/dist/core/tools/bash.d.ts +87 -0
  628. package/dist/core/tools/bash.d.ts.map +1 -0
  629. package/dist/core/tools/bash.js +409 -0
  630. package/dist/core/tools/bash.js.map +1 -0
  631. package/dist/core/tools/edit-diff.d.ts +110 -0
  632. package/dist/core/tools/edit-diff.d.ts.map +1 -0
  633. package/dist/core/tools/edit-diff.js +425 -0
  634. package/dist/core/tools/edit-diff.js.map +1 -0
  635. package/dist/core/tools/edit.d.ts +55 -0
  636. package/dist/core/tools/edit.d.ts.map +1 -0
  637. package/dist/core/tools/edit.js +305 -0
  638. package/dist/core/tools/edit.js.map +1 -0
  639. package/dist/core/tools/file-mutation-queue.d.ts +6 -0
  640. package/dist/core/tools/file-mutation-queue.d.ts.map +1 -0
  641. package/dist/core/tools/file-mutation-queue.js +52 -0
  642. package/dist/core/tools/file-mutation-queue.js.map +1 -0
  643. package/dist/core/tools/find.d.ts +42 -0
  644. package/dist/core/tools/find.d.ts.map +1 -0
  645. package/dist/core/tools/find.js +303 -0
  646. package/dist/core/tools/find.js.map +1 -0
  647. package/dist/core/tools/grep.d.ts +41 -0
  648. package/dist/core/tools/grep.d.ts.map +1 -0
  649. package/dist/core/tools/grep.js +309 -0
  650. package/dist/core/tools/grep.js.map +1 -0
  651. package/dist/core/tools/index.d.ts +44 -0
  652. package/dist/core/tools/index.d.ts.map +1 -0
  653. package/dist/core/tools/index.js +129 -0
  654. package/dist/core/tools/index.js.map +1 -0
  655. package/dist/core/tools/ls.d.ts +41 -0
  656. package/dist/core/tools/ls.d.ts.map +1 -0
  657. package/dist/core/tools/ls.js +173 -0
  658. package/dist/core/tools/ls.js.map +1 -0
  659. package/dist/core/tools/output-accumulator.d.ts +52 -0
  660. package/dist/core/tools/output-accumulator.d.ts.map +1 -0
  661. package/dist/core/tools/output-accumulator.js +184 -0
  662. package/dist/core/tools/output-accumulator.js.map +1 -0
  663. package/dist/core/tools/path-utils.d.ts +10 -0
  664. package/dist/core/tools/path-utils.d.ts.map +1 -0
  665. package/dist/core/tools/path-utils.js +99 -0
  666. package/dist/core/tools/path-utils.js.map +1 -0
  667. package/dist/core/tools/powershell.d.ts +16 -0
  668. package/dist/core/tools/powershell.d.ts.map +1 -0
  669. package/dist/core/tools/powershell.js +39 -0
  670. package/dist/core/tools/powershell.js.map +1 -0
  671. package/dist/core/tools/read.d.ts +39 -0
  672. package/dist/core/tools/read.d.ts.map +1 -0
  673. package/dist/core/tools/read.js +282 -0
  674. package/dist/core/tools/read.js.map +1 -0
  675. package/dist/core/tools/render-utils.d.ts +24 -0
  676. package/dist/core/tools/render-utils.d.ts.map +1 -0
  677. package/dist/core/tools/render-utils.js +65 -0
  678. package/dist/core/tools/render-utils.js.map +1 -0
  679. package/dist/core/tools/tool-definition-wrapper.d.ts +15 -0
  680. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -0
  681. package/dist/core/tools/tool-definition-wrapper.js +36 -0
  682. package/dist/core/tools/tool-definition-wrapper.js.map +1 -0
  683. package/dist/core/tools/tool-definition.d.ts +123 -0
  684. package/dist/core/tools/tool-definition.d.ts.map +1 -0
  685. package/dist/core/tools/tool-definition.js +20 -0
  686. package/dist/core/tools/tool-definition.js.map +1 -0
  687. package/dist/core/tools/tool-search.d.ts +30 -0
  688. package/dist/core/tools/tool-search.d.ts.map +1 -0
  689. package/dist/core/tools/tool-search.js +99 -0
  690. package/dist/core/tools/tool-search.js.map +1 -0
  691. package/dist/core/tools/truncate.d.ts +70 -0
  692. package/dist/core/tools/truncate.d.ts.map +1 -0
  693. package/dist/core/tools/truncate.js +215 -0
  694. package/dist/core/tools/truncate.js.map +1 -0
  695. package/dist/core/tools/write.d.ts +30 -0
  696. package/dist/core/tools/write.d.ts.map +1 -0
  697. package/dist/core/tools/write.js +202 -0
  698. package/dist/core/tools/write.js.map +1 -0
  699. package/dist/core/trace-retention.d.ts +19 -0
  700. package/dist/core/trace-retention.d.ts.map +1 -0
  701. package/dist/core/trace-retention.js +91 -0
  702. package/dist/core/trace-retention.js.map +1 -0
  703. package/dist/core/usage-totals.d.ts +21 -0
  704. package/dist/core/usage-totals.d.ts.map +1 -0
  705. package/dist/core/usage-totals.js +53 -0
  706. package/dist/core/usage-totals.js.map +1 -0
  707. package/dist/durable/durable-service.d.ts +136 -0
  708. package/dist/durable/durable-service.d.ts.map +1 -0
  709. package/dist/durable/durable-service.js +710 -0
  710. package/dist/durable/durable-service.js.map +1 -0
  711. package/dist/e2e/stdio-launcher.d.ts +25 -0
  712. package/dist/e2e/stdio-launcher.d.ts.map +1 -0
  713. package/dist/e2e/stdio-launcher.js +244 -0
  714. package/dist/e2e/stdio-launcher.js.map +1 -0
  715. package/dist/host/agent-retry-scheduler.d.ts +65 -0
  716. package/dist/host/agent-retry-scheduler.d.ts.map +1 -0
  717. package/dist/host/agent-retry-scheduler.js +52 -0
  718. package/dist/host/agent-retry-scheduler.js.map +1 -0
  719. package/dist/host/auto-compaction.d.ts +56 -0
  720. package/dist/host/auto-compaction.d.ts.map +1 -0
  721. package/dist/host/auto-compaction.js +62 -0
  722. package/dist/host/auto-compaction.js.map +1 -0
  723. package/dist/host/branch-reload.d.ts +56 -0
  724. package/dist/host/branch-reload.d.ts.map +1 -0
  725. package/dist/host/branch-reload.js +39 -0
  726. package/dist/host/branch-reload.js.map +1 -0
  727. package/dist/host/channel-adapter.d.ts +25 -0
  728. package/dist/host/channel-adapter.d.ts.map +1 -0
  729. package/dist/host/channel-adapter.js +45 -0
  730. package/dist/host/channel-adapter.js.map +1 -0
  731. package/dist/host/checkpoint-commit.d.ts +74 -0
  732. package/dist/host/checkpoint-commit.d.ts.map +1 -0
  733. package/dist/host/checkpoint-commit.js +76 -0
  734. package/dist/host/checkpoint-commit.js.map +1 -0
  735. package/dist/host/manual-compaction.d.ts +43 -0
  736. package/dist/host/manual-compaction.d.ts.map +1 -0
  737. package/dist/host/manual-compaction.js +63 -0
  738. package/dist/host/manual-compaction.js.map +1 -0
  739. package/dist/host/output-projection.d.ts +61 -0
  740. package/dist/host/output-projection.d.ts.map +1 -0
  741. package/dist/host/output-projection.js +74 -0
  742. package/dist/host/output-projection.js.map +1 -0
  743. package/dist/host/output-reducer.d.ts +43 -0
  744. package/dist/host/output-reducer.d.ts.map +1 -0
  745. package/dist/host/output-reducer.js +77 -0
  746. package/dist/host/output-reducer.js.map +1 -0
  747. package/dist/host/output-serializer.d.ts +31 -0
  748. package/dist/host/output-serializer.d.ts.map +1 -0
  749. package/dist/host/output-serializer.js +120 -0
  750. package/dist/host/output-serializer.js.map +1 -0
  751. package/dist/host/overflow-recovery.d.ts +55 -0
  752. package/dist/host/overflow-recovery.d.ts.map +1 -0
  753. package/dist/host/overflow-recovery.js +89 -0
  754. package/dist/host/overflow-recovery.js.map +1 -0
  755. package/dist/host/retry-common.d.ts +29 -0
  756. package/dist/host/retry-common.d.ts.map +1 -0
  757. package/dist/host/retry-common.js +12 -0
  758. package/dist/host/retry-common.js.map +1 -0
  759. package/dist/host/session-event-translation.d.ts +26 -0
  760. package/dist/host/session-event-translation.d.ts.map +1 -0
  761. package/dist/host/session-event-translation.js +61 -0
  762. package/dist/host/session-event-translation.js.map +1 -0
  763. package/dist/host/summary-retry.d.ts +54 -0
  764. package/dist/host/summary-retry.d.ts.map +1 -0
  765. package/dist/host/summary-retry.js +66 -0
  766. package/dist/host/summary-retry.js.map +1 -0
  767. package/dist/index.d.ts +105 -0
  768. package/dist/index.d.ts.map +1 -0
  769. package/dist/index.js +176 -0
  770. package/dist/index.js.map +1 -0
  771. package/dist/main.d.ts +36 -0
  772. package/dist/main.d.ts.map +1 -0
  773. package/dist/main.js +1630 -0
  774. package/dist/main.js.map +1 -0
  775. package/dist/migration/migration-tool.d.ts +56 -0
  776. package/dist/migration/migration-tool.d.ts.map +1 -0
  777. package/dist/migration/migration-tool.js +72 -0
  778. package/dist/migration/migration-tool.js.map +1 -0
  779. package/dist/migrations.d.ts +33 -0
  780. package/dist/migrations.d.ts.map +1 -0
  781. package/dist/migrations.js +272 -0
  782. package/dist/migrations.js.map +1 -0
  783. package/dist/modes/index.d.ts +10 -0
  784. package/dist/modes/index.d.ts.map +1 -0
  785. package/dist/modes/index.js +8 -0
  786. package/dist/modes/index.js.map +1 -0
  787. package/dist/modes/interactive/assets/clankolas.png +0 -0
  788. package/dist/modes/interactive/components/armin.d.ts +34 -0
  789. package/dist/modes/interactive/components/armin.d.ts.map +1 -0
  790. package/dist/modes/interactive/components/armin.js +336 -0
  791. package/dist/modes/interactive/components/armin.js.map +1 -0
  792. package/dist/modes/interactive/components/assistant-message.d.ts +25 -0
  793. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
  794. package/dist/modes/interactive/components/assistant-message.js +151 -0
  795. package/dist/modes/interactive/components/assistant-message.js.map +1 -0
  796. package/dist/modes/interactive/components/bash-execution.d.ts +34 -0
  797. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
  798. package/dist/modes/interactive/components/bash-execution.js +176 -0
  799. package/dist/modes/interactive/components/bash-execution.js.map +1 -0
  800. package/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
  801. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
  802. package/dist/modes/interactive/components/bordered-loader.js +56 -0
  803. package/dist/modes/interactive/components/bordered-loader.js.map +1 -0
  804. package/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
  805. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
  806. package/dist/modes/interactive/components/branch-summary-message.js +44 -0
  807. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
  808. package/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
  809. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
  810. package/dist/modes/interactive/components/compaction-summary-message.js +45 -0
  811. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
  812. package/dist/modes/interactive/components/config-selector.d.ts +113 -0
  813. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
  814. package/dist/modes/interactive/components/config-selector.js +857 -0
  815. package/dist/modes/interactive/components/config-selector.js.map +1 -0
  816. package/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
  817. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
  818. package/dist/modes/interactive/components/countdown-timer.js +33 -0
  819. package/dist/modes/interactive/components/countdown-timer.js.map +1 -0
  820. package/dist/modes/interactive/components/custom-editor.d.ts +19 -0
  821. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
  822. package/dist/modes/interactive/components/custom-editor.js +71 -0
  823. package/dist/modes/interactive/components/custom-editor.js.map +1 -0
  824. package/dist/modes/interactive/components/custom-entry.d.ts +19 -0
  825. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -0
  826. package/dist/modes/interactive/components/custom-entry.js +52 -0
  827. package/dist/modes/interactive/components/custom-entry.js.map +1 -0
  828. package/dist/modes/interactive/components/custom-message.d.ts +22 -0
  829. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
  830. package/dist/modes/interactive/components/custom-message.js +87 -0
  831. package/dist/modes/interactive/components/custom-message.js.map +1 -0
  832. package/dist/modes/interactive/components/daxnuts.d.ts +23 -0
  833. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -0
  834. package/dist/modes/interactive/components/daxnuts.js +141 -0
  835. package/dist/modes/interactive/components/daxnuts.js.map +1 -0
  836. package/dist/modes/interactive/components/dialog-editor.d.ts +21 -0
  837. package/dist/modes/interactive/components/dialog-editor.d.ts.map +1 -0
  838. package/dist/modes/interactive/components/dialog-editor.js +98 -0
  839. package/dist/modes/interactive/components/dialog-editor.js.map +1 -0
  840. package/dist/modes/interactive/components/dialog-input.d.ts +23 -0
  841. package/dist/modes/interactive/components/dialog-input.d.ts.map +1 -0
  842. package/dist/modes/interactive/components/dialog-input.js +61 -0
  843. package/dist/modes/interactive/components/dialog-input.js.map +1 -0
  844. package/dist/modes/interactive/components/dialog-selector.d.ts +26 -0
  845. package/dist/modes/interactive/components/dialog-selector.d.ts.map +1 -0
  846. package/dist/modes/interactive/components/dialog-selector.js +83 -0
  847. package/dist/modes/interactive/components/dialog-selector.js.map +1 -0
  848. package/dist/modes/interactive/components/diff.d.ts +12 -0
  849. package/dist/modes/interactive/components/diff.d.ts.map +1 -0
  850. package/dist/modes/interactive/components/diff.js +133 -0
  851. package/dist/modes/interactive/components/diff.js.map +1 -0
  852. package/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
  853. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
  854. package/dist/modes/interactive/components/dynamic-border.js +21 -0
  855. package/dist/modes/interactive/components/dynamic-border.js.map +1 -0
  856. package/dist/modes/interactive/components/first-time-setup.d.ts +25 -0
  857. package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -0
  858. package/dist/modes/interactive/components/first-time-setup.js +103 -0
  859. package/dist/modes/interactive/components/first-time-setup.js.map +1 -0
  860. package/dist/modes/interactive/components/footer.d.ts +33 -0
  861. package/dist/modes/interactive/components/footer.d.ts.map +1 -0
  862. package/dist/modes/interactive/components/footer.js +248 -0
  863. package/dist/modes/interactive/components/footer.js.map +1 -0
  864. package/dist/modes/interactive/components/index.d.ts +34 -0
  865. package/dist/modes/interactive/components/index.d.ts.map +1 -0
  866. package/dist/modes/interactive/components/index.js +35 -0
  867. package/dist/modes/interactive/components/index.js.map +1 -0
  868. package/dist/modes/interactive/components/keybinding-hints.d.ts +13 -0
  869. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
  870. package/dist/modes/interactive/components/keybinding-hints.js +36 -0
  871. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -0
  872. package/dist/modes/interactive/components/login-dialog.d.ts +52 -0
  873. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
  874. package/dist/modes/interactive/components/login-dialog.js +188 -0
  875. package/dist/modes/interactive/components/login-dialog.js.map +1 -0
  876. package/dist/modes/interactive/components/markdown-transform.d.ts +3 -0
  877. package/dist/modes/interactive/components/markdown-transform.d.ts.map +1 -0
  878. package/dist/modes/interactive/components/markdown-transform.js +19 -0
  879. package/dist/modes/interactive/components/markdown-transform.js.map +1 -0
  880. package/dist/modes/interactive/components/mermaid.d.ts +11 -0
  881. package/dist/modes/interactive/components/mermaid.d.ts.map +1 -0
  882. package/dist/modes/interactive/components/mermaid.js +75 -0
  883. package/dist/modes/interactive/components/mermaid.js.map +1 -0
  884. package/dist/modes/interactive/components/model-selector.d.ts +67 -0
  885. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
  886. package/dist/modes/interactive/components/model-selector.js +381 -0
  887. package/dist/modes/interactive/components/model-selector.js.map +1 -0
  888. package/dist/modes/interactive/components/oauth-selector.d.ts +33 -0
  889. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
  890. package/dist/modes/interactive/components/oauth-selector.js +165 -0
  891. package/dist/modes/interactive/components/oauth-selector.js.map +1 -0
  892. package/dist/modes/interactive/components/plugin-manager-entry.d.ts +62 -0
  893. package/dist/modes/interactive/components/plugin-manager-entry.d.ts.map +1 -0
  894. package/dist/modes/interactive/components/plugin-manager-entry.js +294 -0
  895. package/dist/modes/interactive/components/plugin-manager-entry.js.map +1 -0
  896. package/dist/modes/interactive/components/plugin-selection-entry.d.ts +82 -0
  897. package/dist/modes/interactive/components/plugin-selection-entry.d.ts.map +1 -0
  898. package/dist/modes/interactive/components/plugin-selection-entry.js +228 -0
  899. package/dist/modes/interactive/components/plugin-selection-entry.js.map +1 -0
  900. package/dist/modes/interactive/components/render-types.d.ts +26 -0
  901. package/dist/modes/interactive/components/render-types.d.ts.map +1 -0
  902. package/dist/modes/interactive/components/render-types.js +7 -0
  903. package/dist/modes/interactive/components/render-types.js.map +1 -0
  904. package/dist/modes/interactive/components/scoped-models-selector.d.ts +46 -0
  905. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
  906. package/dist/modes/interactive/components/scoped-models-selector.js +328 -0
  907. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -0
  908. package/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
  909. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -0
  910. package/dist/modes/interactive/components/session-selector-search.js +158 -0
  911. package/dist/modes/interactive/components/session-selector-search.js.map +1 -0
  912. package/dist/modes/interactive/components/session-selector.d.ts +143 -0
  913. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
  914. package/dist/modes/interactive/components/session-selector.js +1053 -0
  915. package/dist/modes/interactive/components/session-selector.js.map +1 -0
  916. package/dist/modes/interactive/components/settings-selector.d.ts +88 -0
  917. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
  918. package/dist/modes/interactive/components/settings-selector.js +677 -0
  919. package/dist/modes/interactive/components/settings-selector.js.map +1 -0
  920. package/dist/modes/interactive/components/settings-submenu.d.ts +72 -0
  921. package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -0
  922. package/dist/modes/interactive/components/settings-submenu.js +165 -0
  923. package/dist/modes/interactive/components/settings-submenu.js.map +1 -0
  924. package/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
  925. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
  926. package/dist/modes/interactive/components/show-images-selector.js +39 -0
  927. package/dist/modes/interactive/components/show-images-selector.js.map +1 -0
  928. package/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
  929. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
  930. package/dist/modes/interactive/components/skill-invocation-message.js +47 -0
  931. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
  932. package/dist/modes/interactive/components/status-indicator.d.ts +34 -0
  933. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -0
  934. package/dist/modes/interactive/components/status-indicator.js +60 -0
  935. package/dist/modes/interactive/components/status-indicator.js.map +1 -0
  936. package/dist/modes/interactive/components/theme-selector.d.ts +11 -0
  937. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
  938. package/dist/modes/interactive/components/theme-selector.js +50 -0
  939. package/dist/modes/interactive/components/theme-selector.js.map +1 -0
  940. package/dist/modes/interactive/components/thinking-selector.d.ts +23 -0
  941. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
  942. package/dist/modes/interactive/components/thinking-selector.js +109 -0
  943. package/dist/modes/interactive/components/thinking-selector.js.map +1 -0
  944. package/dist/modes/interactive/components/tool-execution.d.ts +59 -0
  945. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
  946. package/dist/modes/interactive/components/tool-execution.js +335 -0
  947. package/dist/modes/interactive/components/tool-execution.js.map +1 -0
  948. package/dist/modes/interactive/components/tree-list.d.ts +67 -0
  949. package/dist/modes/interactive/components/tree-list.d.ts.map +1 -0
  950. package/dist/modes/interactive/components/tree-list.js +710 -0
  951. package/dist/modes/interactive/components/tree-list.js.map +1 -0
  952. package/dist/modes/interactive/components/tree-render.d.ts +17 -0
  953. package/dist/modes/interactive/components/tree-render.d.ts.map +1 -0
  954. package/dist/modes/interactive/components/tree-render.js +316 -0
  955. package/dist/modes/interactive/components/tree-render.js.map +1 -0
  956. package/dist/modes/interactive/components/tree-selector.d.ts +25 -0
  957. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
  958. package/dist/modes/interactive/components/tree-selector.js +235 -0
  959. package/dist/modes/interactive/components/tree-selector.js.map +1 -0
  960. package/dist/modes/interactive/components/tree-types.d.ts +35 -0
  961. package/dist/modes/interactive/components/tree-types.d.ts.map +1 -0
  962. package/dist/modes/interactive/components/tree-types.js +2 -0
  963. package/dist/modes/interactive/components/tree-types.js.map +1 -0
  964. package/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
  965. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
  966. package/dist/modes/interactive/components/user-message-selector.js +114 -0
  967. package/dist/modes/interactive/components/user-message-selector.js.map +1 -0
  968. package/dist/modes/interactive/components/user-message.d.ts +16 -0
  969. package/dist/modes/interactive/components/user-message.d.ts.map +1 -0
  970. package/dist/modes/interactive/components/user-message.js +49 -0
  971. package/dist/modes/interactive/components/user-message.js.map +1 -0
  972. package/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
  973. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
  974. package/dist/modes/interactive/components/visual-truncate.js +33 -0
  975. package/dist/modes/interactive/components/visual-truncate.js.map +1 -0
  976. package/dist/modes/interactive/external-editor.d.ts +12 -0
  977. package/dist/modes/interactive/external-editor.d.ts.map +1 -0
  978. package/dist/modes/interactive/external-editor.js +38 -0
  979. package/dist/modes/interactive/external-editor.js.map +1 -0
  980. package/dist/modes/interactive/interactive-auth.d.ts +90 -0
  981. package/dist/modes/interactive/interactive-auth.d.ts.map +1 -0
  982. package/dist/modes/interactive/interactive-auth.js +492 -0
  983. package/dist/modes/interactive/interactive-auth.js.map +1 -0
  984. package/dist/modes/interactive/interactive-commands.d.ts +68 -0
  985. package/dist/modes/interactive/interactive-commands.d.ts.map +1 -0
  986. package/dist/modes/interactive/interactive-commands.js +157 -0
  987. package/dist/modes/interactive/interactive-commands.js.map +1 -0
  988. package/dist/modes/interactive/interactive-dialog-ui.d.ts +73 -0
  989. package/dist/modes/interactive/interactive-dialog-ui.d.ts.map +1 -0
  990. package/dist/modes/interactive/interactive-dialog-ui.js +189 -0
  991. package/dist/modes/interactive/interactive-dialog-ui.js.map +1 -0
  992. package/dist/modes/interactive/interactive-format.d.ts +65 -0
  993. package/dist/modes/interactive/interactive-format.d.ts.map +1 -0
  994. package/dist/modes/interactive/interactive-format.js +268 -0
  995. package/dist/modes/interactive/interactive-format.js.map +1 -0
  996. package/dist/modes/interactive/interactive-helpers.d.ts +25 -0
  997. package/dist/modes/interactive/interactive-helpers.d.ts.map +1 -0
  998. package/dist/modes/interactive/interactive-helpers.js +73 -0
  999. package/dist/modes/interactive/interactive-helpers.js.map +1 -0
  1000. package/dist/modes/interactive/interactive-mode.d.ts +640 -0
  1001. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
  1002. package/dist/modes/interactive/interactive-mode.js +4107 -0
  1003. package/dist/modes/interactive/interactive-mode.js.map +1 -0
  1004. package/dist/modes/interactive/interactive-selectors.d.ts +95 -0
  1005. package/dist/modes/interactive/interactive-selectors.d.ts.map +1 -0
  1006. package/dist/modes/interactive/interactive-selectors.js +356 -0
  1007. package/dist/modes/interactive/interactive-selectors.js.map +1 -0
  1008. package/dist/modes/interactive/model-catalog-refresh.d.ts +11 -0
  1009. package/dist/modes/interactive/model-catalog-refresh.d.ts.map +1 -0
  1010. package/dist/modes/interactive/model-catalog-refresh.js +35 -0
  1011. package/dist/modes/interactive/model-catalog-refresh.js.map +1 -0
  1012. package/dist/modes/interactive/model-search.d.ts +12 -0
  1013. package/dist/modes/interactive/model-search.d.ts.map +1 -0
  1014. package/dist/modes/interactive/model-search.js +15 -0
  1015. package/dist/modes/interactive/model-search.js.map +1 -0
  1016. package/dist/modes/interactive/theme/dark.json +90 -0
  1017. package/dist/modes/interactive/theme/light.json +89 -0
  1018. package/dist/modes/interactive/theme/theme-controller.d.ts +40 -0
  1019. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -0
  1020. package/dist/modes/interactive/theme/theme-controller.js +126 -0
  1021. package/dist/modes/interactive/theme/theme-controller.js.map +1 -0
  1022. package/dist/modes/interactive/theme/theme-schema.json +352 -0
  1023. package/dist/modes/interactive/theme/theme.d.ts +122 -0
  1024. package/dist/modes/interactive/theme/theme.d.ts.map +1 -0
  1025. package/dist/modes/interactive/theme/theme.js +1093 -0
  1026. package/dist/modes/interactive/theme/theme.js.map +1 -0
  1027. package/dist/modes/json-event.d.ts +34 -0
  1028. package/dist/modes/json-event.d.ts.map +1 -0
  1029. package/dist/modes/json-event.js +29 -0
  1030. package/dist/modes/json-event.js.map +1 -0
  1031. package/dist/modes/print-mode.d.ts +32 -0
  1032. package/dist/modes/print-mode.d.ts.map +1 -0
  1033. package/dist/modes/print-mode.js +205 -0
  1034. package/dist/modes/print-mode.js.map +1 -0
  1035. package/dist/modes/rpc/jsonl.d.ts +17 -0
  1036. package/dist/modes/rpc/jsonl.d.ts.map +1 -0
  1037. package/dist/modes/rpc/jsonl.js +49 -0
  1038. package/dist/modes/rpc/jsonl.js.map +1 -0
  1039. package/dist/modes/rpc/rpc-client.d.ts +254 -0
  1040. package/dist/modes/rpc/rpc-client.d.ts.map +1 -0
  1041. package/dist/modes/rpc/rpc-client.js +496 -0
  1042. package/dist/modes/rpc/rpc-client.js.map +1 -0
  1043. package/dist/modes/rpc/rpc-mode.d.ts +53 -0
  1044. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
  1045. package/dist/modes/rpc/rpc-mode.js +540 -0
  1046. package/dist/modes/rpc/rpc-mode.js.map +1 -0
  1047. package/dist/modes/rpc/rpc-types.d.ts +486 -0
  1048. package/dist/modes/rpc/rpc-types.d.ts.map +1 -0
  1049. package/dist/modes/rpc/rpc-types.js +8 -0
  1050. package/dist/modes/rpc/rpc-types.js.map +1 -0
  1051. package/dist/package-manager-cli.d.ts +18 -0
  1052. package/dist/package-manager-cli.d.ts.map +1 -0
  1053. package/dist/package-manager-cli.js +944 -0
  1054. package/dist/package-manager-cli.js.map +1 -0
  1055. package/dist/plugins/ecosystem/active-bindings.d.ts +92 -0
  1056. package/dist/plugins/ecosystem/active-bindings.d.ts.map +1 -0
  1057. package/dist/plugins/ecosystem/active-bindings.js +198 -0
  1058. package/dist/plugins/ecosystem/active-bindings.js.map +1 -0
  1059. package/dist/plugins/ecosystem/bootstrap-factory-manifest.d.ts +32 -0
  1060. package/dist/plugins/ecosystem/bootstrap-factory-manifest.d.ts.map +1 -0
  1061. package/dist/plugins/ecosystem/bootstrap-factory-manifest.js +32 -0
  1062. package/dist/plugins/ecosystem/bootstrap-factory-manifest.js.map +1 -0
  1063. package/dist/plugins/ecosystem/catalog.d.ts +38 -0
  1064. package/dist/plugins/ecosystem/catalog.d.ts.map +1 -0
  1065. package/dist/plugins/ecosystem/catalog.js +90 -0
  1066. package/dist/plugins/ecosystem/catalog.js.map +1 -0
  1067. package/dist/plugins/ecosystem/cli.d.ts +102 -0
  1068. package/dist/plugins/ecosystem/cli.d.ts.map +1 -0
  1069. package/dist/plugins/ecosystem/cli.js +970 -0
  1070. package/dist/plugins/ecosystem/cli.js.map +1 -0
  1071. package/dist/plugins/ecosystem/default-active-bindings.d.ts +33 -0
  1072. package/dist/plugins/ecosystem/default-active-bindings.d.ts.map +1 -0
  1073. package/dist/plugins/ecosystem/default-active-bindings.js +105 -0
  1074. package/dist/plugins/ecosystem/default-active-bindings.js.map +1 -0
  1075. package/dist/plugins/ecosystem/default-plugin-market.d.ts +68 -0
  1076. package/dist/plugins/ecosystem/default-plugin-market.d.ts.map +1 -0
  1077. package/dist/plugins/ecosystem/default-plugin-market.js +146 -0
  1078. package/dist/plugins/ecosystem/default-plugin-market.js.map +1 -0
  1079. package/dist/plugins/ecosystem/distribution.d.ts +113 -0
  1080. package/dist/plugins/ecosystem/distribution.d.ts.map +1 -0
  1081. package/dist/plugins/ecosystem/distribution.js +371 -0
  1082. package/dist/plugins/ecosystem/distribution.js.map +1 -0
  1083. package/dist/plugins/ecosystem/index.d.ts +56 -0
  1084. package/dist/plugins/ecosystem/index.d.ts.map +1 -0
  1085. package/dist/plugins/ecosystem/index.js +31 -0
  1086. package/dist/plugins/ecosystem/index.js.map +1 -0
  1087. package/dist/plugins/ecosystem/installer.d.ts +130 -0
  1088. package/dist/plugins/ecosystem/installer.d.ts.map +1 -0
  1089. package/dist/plugins/ecosystem/installer.js +316 -0
  1090. package/dist/plugins/ecosystem/installer.js.map +1 -0
  1091. package/dist/plugins/ecosystem/node-disk-registry-source.d.ts +47 -0
  1092. package/dist/plugins/ecosystem/node-disk-registry-source.d.ts.map +1 -0
  1093. package/dist/plugins/ecosystem/node-disk-registry-source.js +208 -0
  1094. package/dist/plugins/ecosystem/node-disk-registry-source.js.map +1 -0
  1095. package/dist/plugins/ecosystem/node-distribution-host.d.ts +55 -0
  1096. package/dist/plugins/ecosystem/node-distribution-host.d.ts.map +1 -0
  1097. package/dist/plugins/ecosystem/node-distribution-host.js +423 -0
  1098. package/dist/plugins/ecosystem/node-distribution-host.js.map +1 -0
  1099. package/dist/plugins/ecosystem/node-local-package-source.d.ts +10 -0
  1100. package/dist/plugins/ecosystem/node-local-package-source.d.ts.map +1 -0
  1101. package/dist/plugins/ecosystem/node-local-package-source.js +97 -0
  1102. package/dist/plugins/ecosystem/node-local-package-source.js.map +1 -0
  1103. package/dist/plugins/ecosystem/node-npm-registry-source.d.ts +58 -0
  1104. package/dist/plugins/ecosystem/node-npm-registry-source.d.ts.map +1 -0
  1105. package/dist/plugins/ecosystem/node-npm-registry-source.js +326 -0
  1106. package/dist/plugins/ecosystem/node-npm-registry-source.js.map +1 -0
  1107. package/dist/plugins/ecosystem/node-package-install-host.d.ts +91 -0
  1108. package/dist/plugins/ecosystem/node-package-install-host.d.ts.map +1 -0
  1109. package/dist/plugins/ecosystem/node-package-install-host.js +857 -0
  1110. package/dist/plugins/ecosystem/node-package-install-host.js.map +1 -0
  1111. package/dist/plugins/ecosystem/node-package-install-persistence.d.ts +34 -0
  1112. package/dist/plugins/ecosystem/node-package-install-persistence.d.ts.map +1 -0
  1113. package/dist/plugins/ecosystem/node-package-install-persistence.js +221 -0
  1114. package/dist/plugins/ecosystem/node-package-install-persistence.js.map +1 -0
  1115. package/dist/plugins/ecosystem/node-package-install-stack.d.ts +28 -0
  1116. package/dist/plugins/ecosystem/node-package-install-stack.d.ts.map +1 -0
  1117. package/dist/plugins/ecosystem/node-package-install-stack.js +65 -0
  1118. package/dist/plugins/ecosystem/node-package-install-stack.js.map +1 -0
  1119. package/dist/plugins/ecosystem/node-package-media.d.ts +14 -0
  1120. package/dist/plugins/ecosystem/node-package-media.d.ts.map +1 -0
  1121. package/dist/plugins/ecosystem/node-package-media.js +36 -0
  1122. package/dist/plugins/ecosystem/node-package-media.js.map +1 -0
  1123. package/dist/plugins/ecosystem/node-plugin-acquisition-host.d.ts +83 -0
  1124. package/dist/plugins/ecosystem/node-plugin-acquisition-host.d.ts.map +1 -0
  1125. package/dist/plugins/ecosystem/node-plugin-acquisition-host.js +423 -0
  1126. package/dist/plugins/ecosystem/node-plugin-acquisition-host.js.map +1 -0
  1127. package/dist/plugins/ecosystem/node-plugin-bootstrap.d.ts +48 -0
  1128. package/dist/plugins/ecosystem/node-plugin-bootstrap.d.ts.map +1 -0
  1129. package/dist/plugins/ecosystem/node-plugin-bootstrap.js +191 -0
  1130. package/dist/plugins/ecosystem/node-plugin-bootstrap.js.map +1 -0
  1131. package/dist/plugins/ecosystem/node-plugin-trust-root.d.ts +26 -0
  1132. package/dist/plugins/ecosystem/node-plugin-trust-root.d.ts.map +1 -0
  1133. package/dist/plugins/ecosystem/node-plugin-trust-root.js +120 -0
  1134. package/dist/plugins/ecosystem/node-plugin-trust-root.js.map +1 -0
  1135. package/dist/plugins/ecosystem/node-registry-source.d.ts +35 -0
  1136. package/dist/plugins/ecosystem/node-registry-source.d.ts.map +1 -0
  1137. package/dist/plugins/ecosystem/node-registry-source.js +286 -0
  1138. package/dist/plugins/ecosystem/node-registry-source.js.map +1 -0
  1139. package/dist/plugins/ecosystem/node-release-package-source.d.ts +47 -0
  1140. package/dist/plugins/ecosystem/node-release-package-source.d.ts.map +1 -0
  1141. package/dist/plugins/ecosystem/node-release-package-source.js +336 -0
  1142. package/dist/plugins/ecosystem/node-release-package-source.js.map +1 -0
  1143. package/dist/plugins/ecosystem/node-tar-package.d.ts +11 -0
  1144. package/dist/plugins/ecosystem/node-tar-package.d.ts.map +1 -0
  1145. package/dist/plugins/ecosystem/node-tar-package.js +294 -0
  1146. package/dist/plugins/ecosystem/node-tar-package.js.map +1 -0
  1147. package/dist/plugins/ecosystem/node-tar-writer.d.ts +16 -0
  1148. package/dist/plugins/ecosystem/node-tar-writer.d.ts.map +1 -0
  1149. package/dist/plugins/ecosystem/node-tar-writer.js +134 -0
  1150. package/dist/plugins/ecosystem/node-tar-writer.js.map +1 -0
  1151. package/dist/plugins/ecosystem/node-url-package-source.d.ts +31 -0
  1152. package/dist/plugins/ecosystem/node-url-package-source.d.ts.map +1 -0
  1153. package/dist/plugins/ecosystem/node-url-package-source.js +159 -0
  1154. package/dist/plugins/ecosystem/node-url-package-source.js.map +1 -0
  1155. package/dist/plugins/ecosystem/plugin-acquisition.d.ts +88 -0
  1156. package/dist/plugins/ecosystem/plugin-acquisition.d.ts.map +1 -0
  1157. package/dist/plugins/ecosystem/plugin-acquisition.js +197 -0
  1158. package/dist/plugins/ecosystem/plugin-acquisition.js.map +1 -0
  1159. package/dist/plugins/ecosystem/plugin-bootstrap.d.ts +87 -0
  1160. package/dist/plugins/ecosystem/plugin-bootstrap.d.ts.map +1 -0
  1161. package/dist/plugins/ecosystem/plugin-bootstrap.js +134 -0
  1162. package/dist/plugins/ecosystem/plugin-bootstrap.js.map +1 -0
  1163. package/dist/plugins/ecosystem/registry-cli-adapter.d.ts +8 -0
  1164. package/dist/plugins/ecosystem/registry-cli-adapter.d.ts.map +1 -0
  1165. package/dist/plugins/ecosystem/registry-cli-adapter.js +16 -0
  1166. package/dist/plugins/ecosystem/registry-cli-adapter.js.map +1 -0
  1167. package/dist/plugins/ecosystem/registry.d.ts +121 -0
  1168. package/dist/plugins/ecosystem/registry.d.ts.map +1 -0
  1169. package/dist/plugins/ecosystem/registry.js +324 -0
  1170. package/dist/plugins/ecosystem/registry.js.map +1 -0
  1171. package/dist/plugins/ecosystem/resolver.d.ts +32 -0
  1172. package/dist/plugins/ecosystem/resolver.d.ts.map +1 -0
  1173. package/dist/plugins/ecosystem/resolver.js +325 -0
  1174. package/dist/plugins/ecosystem/resolver.js.map +1 -0
  1175. package/dist/plugins/ecosystem/selection-store.d.ts +66 -0
  1176. package/dist/plugins/ecosystem/selection-store.d.ts.map +1 -0
  1177. package/dist/plugins/ecosystem/selection-store.js +241 -0
  1178. package/dist/plugins/ecosystem/selection-store.js.map +1 -0
  1179. package/dist/plugins/ecosystem/selection.d.ts +54 -0
  1180. package/dist/plugins/ecosystem/selection.d.ts.map +1 -0
  1181. package/dist/plugins/ecosystem/selection.js +116 -0
  1182. package/dist/plugins/ecosystem/selection.js.map +1 -0
  1183. package/dist/plugins/ecosystem/state.d.ts +96 -0
  1184. package/dist/plugins/ecosystem/state.d.ts.map +1 -0
  1185. package/dist/plugins/ecosystem/state.js +346 -0
  1186. package/dist/plugins/ecosystem/state.js.map +1 -0
  1187. package/dist/plugins/ecosystem/types.d.ts +90 -0
  1188. package/dist/plugins/ecosystem/types.d.ts.map +1 -0
  1189. package/dist/plugins/ecosystem/types.js +8 -0
  1190. package/dist/plugins/ecosystem/types.js.map +1 -0
  1191. package/dist/plugins/ecosystem/updates.d.ts +30 -0
  1192. package/dist/plugins/ecosystem/updates.d.ts.map +1 -0
  1193. package/dist/plugins/ecosystem/updates.js +148 -0
  1194. package/dist/plugins/ecosystem/updates.js.map +1 -0
  1195. package/dist/plugins/integrity-adapter.d.ts +58 -0
  1196. package/dist/plugins/integrity-adapter.d.ts.map +1 -0
  1197. package/dist/plugins/integrity-adapter.js +70 -0
  1198. package/dist/plugins/integrity-adapter.js.map +1 -0
  1199. package/dist/plugins/mcp-http.d.ts +78 -0
  1200. package/dist/plugins/mcp-http.d.ts.map +1 -0
  1201. package/dist/plugins/mcp-http.js +176 -0
  1202. package/dist/plugins/mcp-http.js.map +1 -0
  1203. package/dist/plugins/observability-types.d.ts +9 -0
  1204. package/dist/plugins/observability-types.d.ts.map +1 -0
  1205. package/dist/plugins/observability-types.js +9 -0
  1206. package/dist/plugins/observability-types.js.map +1 -0
  1207. package/dist/plugins/plugin-host.d.ts +46 -0
  1208. package/dist/plugins/plugin-host.d.ts.map +1 -0
  1209. package/dist/plugins/plugin-host.js +80 -0
  1210. package/dist/plugins/plugin-host.js.map +1 -0
  1211. package/dist/plugins/plugin-supervisor.d.ts +77 -0
  1212. package/dist/plugins/plugin-supervisor.d.ts.map +1 -0
  1213. package/dist/plugins/plugin-supervisor.js +82 -0
  1214. package/dist/plugins/plugin-supervisor.js.map +1 -0
  1215. package/dist/plugins/subagent-task/runner-entry.d.ts +35 -0
  1216. package/dist/plugins/subagent-task/runner-entry.d.ts.map +1 -0
  1217. package/dist/plugins/subagent-task/runner-entry.js +39 -0
  1218. package/dist/plugins/subagent-task/runner-entry.js.map +1 -0
  1219. package/dist/plugins/subagent-task/session-factory.d.ts +57 -0
  1220. package/dist/plugins/subagent-task/session-factory.d.ts.map +1 -0
  1221. package/dist/plugins/subagent-task/session-factory.js +51 -0
  1222. package/dist/plugins/subagent-task/session-factory.js.map +1 -0
  1223. package/dist/profile/child-facade.d.ts +44 -0
  1224. package/dist/profile/child-facade.d.ts.map +1 -0
  1225. package/dist/profile/child-facade.js +56 -0
  1226. package/dist/profile/child-facade.js.map +1 -0
  1227. package/dist/profile/dependency-wiring.d.ts +48 -0
  1228. package/dist/profile/dependency-wiring.d.ts.map +1 -0
  1229. package/dist/profile/dependency-wiring.js +56 -0
  1230. package/dist/profile/dependency-wiring.js.map +1 -0
  1231. package/dist/profile/domain-recovery.d.ts +60 -0
  1232. package/dist/profile/domain-recovery.d.ts.map +1 -0
  1233. package/dist/profile/domain-recovery.js +94 -0
  1234. package/dist/profile/domain-recovery.js.map +1 -0
  1235. package/dist/profile/first-roles.d.ts +30 -0
  1236. package/dist/profile/first-roles.d.ts.map +1 -0
  1237. package/dist/profile/first-roles.js +74 -0
  1238. package/dist/profile/first-roles.js.map +1 -0
  1239. package/dist/profile/goal-plugin.d.ts +38 -0
  1240. package/dist/profile/goal-plugin.d.ts.map +1 -0
  1241. package/dist/profile/goal-plugin.js +113 -0
  1242. package/dist/profile/goal-plugin.js.map +1 -0
  1243. package/dist/profile/identity.d.ts +58 -0
  1244. package/dist/profile/identity.d.ts.map +1 -0
  1245. package/dist/profile/identity.js +100 -0
  1246. package/dist/profile/identity.js.map +1 -0
  1247. package/dist/profile/lock.d.ts +59 -0
  1248. package/dist/profile/lock.d.ts.map +1 -0
  1249. package/dist/profile/lock.js +59 -0
  1250. package/dist/profile/lock.js.map +1 -0
  1251. package/dist/profile/plan-plugin.d.ts +44 -0
  1252. package/dist/profile/plan-plugin.d.ts.map +1 -0
  1253. package/dist/profile/plan-plugin.js +144 -0
  1254. package/dist/profile/plan-plugin.js.map +1 -0
  1255. package/dist/profile/plugin-profiles.d.ts +56 -0
  1256. package/dist/profile/plugin-profiles.d.ts.map +1 -0
  1257. package/dist/profile/plugin-profiles.js +192 -0
  1258. package/dist/profile/plugin-profiles.js.map +1 -0
  1259. package/dist/profile/policy-manifest.d.ts +53 -0
  1260. package/dist/profile/policy-manifest.d.ts.map +1 -0
  1261. package/dist/profile/policy-manifest.js +52 -0
  1262. package/dist/profile/policy-manifest.js.map +1 -0
  1263. package/dist/profile/profile-assembly.d.ts +74 -0
  1264. package/dist/profile/profile-assembly.d.ts.map +1 -0
  1265. package/dist/profile/profile-assembly.js +90 -0
  1266. package/dist/profile/profile-assembly.js.map +1 -0
  1267. package/dist/profile/profile-migration.d.ts +56 -0
  1268. package/dist/profile/profile-migration.d.ts.map +1 -0
  1269. package/dist/profile/profile-migration.js +60 -0
  1270. package/dist/profile/profile-migration.js.map +1 -0
  1271. package/dist/profile/profile-registry.d.ts +58 -0
  1272. package/dist/profile/profile-registry.d.ts.map +1 -0
  1273. package/dist/profile/profile-registry.js +74 -0
  1274. package/dist/profile/profile-registry.js.map +1 -0
  1275. package/dist/profile/role-assembly.d.ts +47 -0
  1276. package/dist/profile/role-assembly.d.ts.map +1 -0
  1277. package/dist/profile/role-assembly.js +31 -0
  1278. package/dist/profile/role-assembly.js.map +1 -0
  1279. package/dist/profile/role-catalog.d.ts +44 -0
  1280. package/dist/profile/role-catalog.d.ts.map +1 -0
  1281. package/dist/profile/role-catalog.js +130 -0
  1282. package/dist/profile/role-catalog.js.map +1 -0
  1283. package/dist/profile/role-orchestrator.d.ts +123 -0
  1284. package/dist/profile/role-orchestrator.d.ts.map +1 -0
  1285. package/dist/profile/role-orchestrator.js +194 -0
  1286. package/dist/profile/role-orchestrator.js.map +1 -0
  1287. package/dist/profile/role-runner.d.ts +99 -0
  1288. package/dist/profile/role-runner.d.ts.map +1 -0
  1289. package/dist/profile/role-runner.js +78 -0
  1290. package/dist/profile/role-runner.js.map +1 -0
  1291. package/dist/profile/root-facade.d.ts +36 -0
  1292. package/dist/profile/root-facade.d.ts.map +1 -0
  1293. package/dist/profile/root-facade.js +48 -0
  1294. package/dist/profile/root-facade.js.map +1 -0
  1295. package/dist/profile/skill-discovery-wiring.d.ts +58 -0
  1296. package/dist/profile/skill-discovery-wiring.d.ts.map +1 -0
  1297. package/dist/profile/skill-discovery-wiring.js +75 -0
  1298. package/dist/profile/skill-discovery-wiring.js.map +1 -0
  1299. package/dist/profile/state-store.d.ts +62 -0
  1300. package/dist/profile/state-store.d.ts.map +1 -0
  1301. package/dist/profile/state-store.js +140 -0
  1302. package/dist/profile/state-store.js.map +1 -0
  1303. package/dist/profile/todo-plugin.d.ts +37 -0
  1304. package/dist/profile/todo-plugin.d.ts.map +1 -0
  1305. package/dist/profile/todo-plugin.js +132 -0
  1306. package/dist/profile/todo-plugin.js.map +1 -0
  1307. package/dist/profiles/builtin-suites.d.ts +142 -0
  1308. package/dist/profiles/builtin-suites.d.ts.map +1 -0
  1309. package/dist/profiles/builtin-suites.js +395 -0
  1310. package/dist/profiles/builtin-suites.js.map +1 -0
  1311. package/dist/profiles/resolved-agent-profile.d.ts +83 -0
  1312. package/dist/profiles/resolved-agent-profile.d.ts.map +1 -0
  1313. package/dist/profiles/resolved-agent-profile.js +75 -0
  1314. package/dist/profiles/resolved-agent-profile.js.map +1 -0
  1315. package/dist/profiles/suite-lifecycle.d.ts +158 -0
  1316. package/dist/profiles/suite-lifecycle.d.ts.map +1 -0
  1317. package/dist/profiles/suite-lifecycle.js +447 -0
  1318. package/dist/profiles/suite-lifecycle.js.map +1 -0
  1319. package/dist/profiles/suite-loader.d.ts +410 -0
  1320. package/dist/profiles/suite-loader.d.ts.map +1 -0
  1321. package/dist/profiles/suite-loader.js +823 -0
  1322. package/dist/profiles/suite-loader.js.map +1 -0
  1323. package/dist/remote/server-assembly.d.ts +230 -0
  1324. package/dist/remote/server-assembly.d.ts.map +1 -0
  1325. package/dist/remote/server-assembly.js +1189 -0
  1326. package/dist/remote/server-assembly.js.map +1 -0
  1327. package/dist/remote/server-entry.d.ts +112 -0
  1328. package/dist/remote/server-entry.d.ts.map +1 -0
  1329. package/dist/remote/server-entry.js +239 -0
  1330. package/dist/remote/server-entry.js.map +1 -0
  1331. package/dist/remote/session-source.d.ts +101 -0
  1332. package/dist/remote/session-source.d.ts.map +1 -0
  1333. package/dist/remote/session-source.js +173 -0
  1334. package/dist/remote/session-source.js.map +1 -0
  1335. package/dist/rpc-entry.d.ts +3 -0
  1336. package/dist/rpc-entry.d.ts.map +1 -0
  1337. package/dist/rpc-entry.js +11 -0
  1338. package/dist/rpc-entry.js.map +1 -0
  1339. package/dist/server/create-harness.d.ts +26 -0
  1340. package/dist/server/create-harness.d.ts.map +1 -0
  1341. package/dist/server/create-harness.js +106 -0
  1342. package/dist/server/create-harness.js.map +1 -0
  1343. package/dist/share/session-share.d.ts +98 -0
  1344. package/dist/share/session-share.d.ts.map +1 -0
  1345. package/dist/share/session-share.js +89 -0
  1346. package/dist/share/session-share.js.map +1 -0
  1347. package/dist/share/share-viewer.d.ts +43 -0
  1348. package/dist/share/share-viewer.d.ts.map +1 -0
  1349. package/dist/share/share-viewer.js +103 -0
  1350. package/dist/share/share-viewer.js.map +1 -0
  1351. package/dist/testing/index.d.ts +4 -0
  1352. package/dist/testing/index.d.ts.map +1 -0
  1353. package/dist/testing/index.js +6 -0
  1354. package/dist/testing/index.js.map +1 -0
  1355. package/dist/testing/mock-ai-server.d.ts +77 -0
  1356. package/dist/testing/mock-ai-server.d.ts.map +1 -0
  1357. package/dist/testing/mock-ai-server.js +69 -0
  1358. package/dist/testing/mock-ai-server.js.map +1 -0
  1359. package/dist/testing/plugin-testkit.d.ts +148 -0
  1360. package/dist/testing/plugin-testkit.d.ts.map +1 -0
  1361. package/dist/testing/plugin-testkit.js +493 -0
  1362. package/dist/testing/plugin-testkit.js.map +1 -0
  1363. package/dist/testing/runtime-delivery-queue.d.ts +47 -0
  1364. package/dist/testing/runtime-delivery-queue.d.ts.map +1 -0
  1365. package/dist/testing/runtime-delivery-queue.js +158 -0
  1366. package/dist/testing/runtime-delivery-queue.js.map +1 -0
  1367. package/dist/testing/session-plugin-testkit.d.ts +144 -0
  1368. package/dist/testing/session-plugin-testkit.d.ts.map +1 -0
  1369. package/dist/testing/session-plugin-testkit.js +444 -0
  1370. package/dist/testing/session-plugin-testkit.js.map +1 -0
  1371. package/dist/utils/abort.d.ts +5 -0
  1372. package/dist/utils/abort.d.ts.map +1 -0
  1373. package/dist/utils/abort.js +53 -0
  1374. package/dist/utils/abort.js.map +1 -0
  1375. package/dist/utils/agent-forge-user-agent.d.ts +2 -0
  1376. package/dist/utils/agent-forge-user-agent.d.ts.map +1 -0
  1377. package/dist/utils/agent-forge-user-agent.js +5 -0
  1378. package/dist/utils/agent-forge-user-agent.js.map +1 -0
  1379. package/dist/utils/ansi.d.ts +2 -0
  1380. package/dist/utils/ansi.d.ts.map +1 -0
  1381. package/dist/utils/ansi.js +53 -0
  1382. package/dist/utils/ansi.js.map +1 -0
  1383. package/dist/utils/changelog.d.ts +22 -0
  1384. package/dist/utils/changelog.d.ts.map +1 -0
  1385. package/dist/utils/changelog.js +165 -0
  1386. package/dist/utils/changelog.js.map +1 -0
  1387. package/dist/utils/child-process.d.ts +18 -0
  1388. package/dist/utils/child-process.d.ts.map +1 -0
  1389. package/dist/utils/child-process.js +107 -0
  1390. package/dist/utils/child-process.js.map +1 -0
  1391. package/dist/utils/clipboard-image.d.ts +11 -0
  1392. package/dist/utils/clipboard-image.d.ts.map +1 -0
  1393. package/dist/utils/clipboard-image.js +246 -0
  1394. package/dist/utils/clipboard-image.js.map +1 -0
  1395. package/dist/utils/clipboard-native.d.ts +11 -0
  1396. package/dist/utils/clipboard-native.d.ts.map +1 -0
  1397. package/dist/utils/clipboard-native.js +22 -0
  1398. package/dist/utils/clipboard-native.js.map +1 -0
  1399. package/dist/utils/clipboard.d.ts +4 -0
  1400. package/dist/utils/clipboard.d.ts.map +1 -0
  1401. package/dist/utils/clipboard.js +161 -0
  1402. package/dist/utils/clipboard.js.map +1 -0
  1403. package/dist/utils/deprecation.d.ts +4 -0
  1404. package/dist/utils/deprecation.d.ts.map +1 -0
  1405. package/dist/utils/deprecation.js +13 -0
  1406. package/dist/utils/deprecation.js.map +1 -0
  1407. package/dist/utils/exif-orientation.d.ts +5 -0
  1408. package/dist/utils/exif-orientation.d.ts.map +1 -0
  1409. package/dist/utils/exif-orientation.js +158 -0
  1410. package/dist/utils/exif-orientation.js.map +1 -0
  1411. package/dist/utils/frontmatter.d.ts +8 -0
  1412. package/dist/utils/frontmatter.d.ts.map +1 -0
  1413. package/dist/utils/frontmatter.js +27 -0
  1414. package/dist/utils/frontmatter.js.map +1 -0
  1415. package/dist/utils/fs-watch.d.ts +5 -0
  1416. package/dist/utils/fs-watch.d.ts.map +1 -0
  1417. package/dist/utils/fs-watch.js +25 -0
  1418. package/dist/utils/fs-watch.js.map +1 -0
  1419. package/dist/utils/git.d.ts +26 -0
  1420. package/dist/utils/git.d.ts.map +1 -0
  1421. package/dist/utils/git.js +201 -0
  1422. package/dist/utils/git.js.map +1 -0
  1423. package/dist/utils/html.d.ts +7 -0
  1424. package/dist/utils/html.d.ts.map +1 -0
  1425. package/dist/utils/html.js +40 -0
  1426. package/dist/utils/html.js.map +1 -0
  1427. package/dist/utils/image-convert.d.ts +10 -0
  1428. package/dist/utils/image-convert.d.ts.map +1 -0
  1429. package/dist/utils/image-convert.js +45 -0
  1430. package/dist/utils/image-convert.js.map +1 -0
  1431. package/dist/utils/image-process.d.ts +18 -0
  1432. package/dist/utils/image-process.d.ts.map +1 -0
  1433. package/dist/utils/image-process.js +84 -0
  1434. package/dist/utils/image-process.js.map +1 -0
  1435. package/dist/utils/image-resize-core.d.ts +30 -0
  1436. package/dist/utils/image-resize-core.d.ts.map +1 -0
  1437. package/dist/utils/image-resize-core.js +125 -0
  1438. package/dist/utils/image-resize-core.js.map +1 -0
  1439. package/dist/utils/image-resize-worker.d.ts +2 -0
  1440. package/dist/utils/image-resize-worker.d.ts.map +1 -0
  1441. package/dist/utils/image-resize-worker.js +31 -0
  1442. package/dist/utils/image-resize-worker.js.map +1 -0
  1443. package/dist/utils/image-resize.d.ts +16 -0
  1444. package/dist/utils/image-resize.d.ts.map +1 -0
  1445. package/dist/utils/image-resize.js +100 -0
  1446. package/dist/utils/image-resize.js.map +1 -0
  1447. package/dist/utils/json.d.ts +3 -0
  1448. package/dist/utils/json.d.ts.map +1 -0
  1449. package/dist/utils/json.js +8 -0
  1450. package/dist/utils/json.js.map +1 -0
  1451. package/dist/utils/management-http.d.ts +25 -0
  1452. package/dist/utils/management-http.d.ts.map +1 -0
  1453. package/dist/utils/management-http.js +54 -0
  1454. package/dist/utils/management-http.js.map +1 -0
  1455. package/dist/utils/mime.d.ts +3 -0
  1456. package/dist/utils/mime.d.ts.map +1 -0
  1457. package/dist/utils/mime.js +115 -0
  1458. package/dist/utils/mime.js.map +1 -0
  1459. package/dist/utils/open-browser.d.ts +9 -0
  1460. package/dist/utils/open-browser.d.ts.map +1 -0
  1461. package/dist/utils/open-browser.js +22 -0
  1462. package/dist/utils/open-browser.js.map +1 -0
  1463. package/dist/utils/paths.d.ts +34 -0
  1464. package/dist/utils/paths.d.ts.map +1 -0
  1465. package/dist/utils/paths.js +114 -0
  1466. package/dist/utils/paths.js.map +1 -0
  1467. package/dist/utils/photon.d.ts +21 -0
  1468. package/dist/utils/photon.d.ts.map +1 -0
  1469. package/dist/utils/photon.js +124 -0
  1470. package/dist/utils/photon.js.map +1 -0
  1471. package/dist/utils/shell.d.ts +34 -0
  1472. package/dist/utils/shell.d.ts.map +1 -0
  1473. package/dist/utils/shell.js +216 -0
  1474. package/dist/utils/shell.js.map +1 -0
  1475. package/dist/utils/sleep.d.ts +5 -0
  1476. package/dist/utils/sleep.d.ts.map +1 -0
  1477. package/dist/utils/sleep.js +17 -0
  1478. package/dist/utils/sleep.js.map +1 -0
  1479. package/dist/utils/sync-sleep.d.ts +2 -0
  1480. package/dist/utils/sync-sleep.d.ts.map +1 -0
  1481. package/dist/utils/sync-sleep.js +11 -0
  1482. package/dist/utils/sync-sleep.js.map +1 -0
  1483. package/dist/utils/syntax-highlight.d.ts +13 -0
  1484. package/dist/utils/syntax-highlight.d.ts.map +1 -0
  1485. package/dist/utils/syntax-highlight.js +177 -0
  1486. package/dist/utils/syntax-highlight.js.map +1 -0
  1487. package/dist/utils/text.d.ts +8 -0
  1488. package/dist/utils/text.d.ts.map +1 -0
  1489. package/dist/utils/text.js +9 -0
  1490. package/dist/utils/text.js.map +1 -0
  1491. package/dist/utils/tool-result-images.d.ts +19 -0
  1492. package/dist/utils/tool-result-images.d.ts.map +1 -0
  1493. package/dist/utils/tool-result-images.js +45 -0
  1494. package/dist/utils/tool-result-images.js.map +1 -0
  1495. package/dist/utils/tools-manager.d.ts +24 -0
  1496. package/dist/utils/tools-manager.d.ts.map +1 -0
  1497. package/dist/utils/tools-manager.js +437 -0
  1498. package/dist/utils/tools-manager.js.map +1 -0
  1499. package/dist/utils/version-check.d.ts +21 -0
  1500. package/dist/utils/version-check.d.ts.map +1 -0
  1501. package/dist/utils/version-check.js +86 -0
  1502. package/dist/utils/version-check.js.map +1 -0
  1503. package/dist/utils/windows-self-update.d.ts +3 -0
  1504. package/dist/utils/windows-self-update.d.ts.map +1 -0
  1505. package/dist/utils/windows-self-update.js +77 -0
  1506. package/dist/utils/windows-self-update.js.map +1 -0
  1507. package/docs/compaction.md +348 -0
  1508. package/docs/containerization.md +114 -0
  1509. package/docs/development.md +71 -0
  1510. package/docs/docs.json +148 -0
  1511. package/docs/environment-variables.md +96 -0
  1512. package/docs/images/exy.png +0 -0
  1513. package/docs/images/interactive-mode.png +0 -0
  1514. package/docs/images/tree-view.png +0 -0
  1515. package/docs/index.md +76 -0
  1516. package/docs/json.md +98 -0
  1517. package/docs/keybindings.md +245 -0
  1518. package/docs/llama-cpp.md +101 -0
  1519. package/docs/models.md +576 -0
  1520. package/docs/packages.md +205 -0
  1521. package/docs/prompt-templates.md +96 -0
  1522. package/docs/providers.md +317 -0
  1523. package/docs/quickstart.md +167 -0
  1524. package/docs/rpc.md +1487 -0
  1525. package/docs/sdk.md +1146 -0
  1526. package/docs/security.md +24 -0
  1527. package/docs/session-format.md +438 -0
  1528. package/docs/sessions.md +145 -0
  1529. package/docs/settings.md +355 -0
  1530. package/docs/shell-aliases.md +13 -0
  1531. package/docs/skills.md +231 -0
  1532. package/docs/terminal-setup.md +192 -0
  1533. package/docs/termux.md +127 -0
  1534. package/docs/themes.md +320 -0
  1535. package/docs/tmux.md +63 -0
  1536. package/docs/tui.md +478 -0
  1537. package/docs/usage.md +291 -0
  1538. package/docs/windows.md +39 -0
  1539. package/examples/README.md +21 -0
  1540. package/examples/extensions/README.md +163 -0
  1541. package/examples/extensions/bash-spawn-hook/index.ts +37 -0
  1542. package/examples/extensions/bash-spawn-hook/plugin.json +10 -0
  1543. package/examples/extensions/bookmark/index.ts +67 -0
  1544. package/examples/extensions/bookmark/plugin.json +11 -0
  1545. package/examples/extensions/built-in-tool-renderer/index.ts +262 -0
  1546. package/examples/extensions/built-in-tool-renderer/plugin.json +10 -0
  1547. package/examples/extensions/claude-rules/index.ts +119 -0
  1548. package/examples/extensions/claude-rules/plugin.json +8 -0
  1549. package/examples/extensions/cli-bridge/README.md +27 -0
  1550. package/examples/extensions/cli-bridge/index.ts +320 -0
  1551. package/examples/extensions/cli-bridge/plugin.json +10 -0
  1552. package/examples/extensions/dynamic-resources/SKILL.md +8 -0
  1553. package/examples/extensions/dynamic-resources/dynamic.json +79 -0
  1554. package/examples/extensions/dynamic-resources/dynamic.md +5 -0
  1555. package/examples/extensions/dynamic-resources/index.ts +53 -0
  1556. package/examples/extensions/dynamic-resources/plugin.json +8 -0
  1557. package/examples/extensions/dynamic-tools/index.ts +102 -0
  1558. package/examples/extensions/dynamic-tools/plugin.json +14 -0
  1559. package/examples/extensions/event-bus/index.ts +75 -0
  1560. package/examples/extensions/event-bus/plugin.json +13 -0
  1561. package/examples/extensions/file-trigger/index.ts +65 -0
  1562. package/examples/extensions/file-trigger/plugin.json +13 -0
  1563. package/examples/extensions/goal/README.md +16 -0
  1564. package/examples/extensions/goal/index.ts +134 -0
  1565. package/examples/extensions/goal/plugin.json +12 -0
  1566. package/examples/extensions/hello/index.ts +29 -0
  1567. package/examples/extensions/hello/plugin.json +10 -0
  1568. package/examples/extensions/kimi-deferred-tools/index.ts +93 -0
  1569. package/examples/extensions/kimi-deferred-tools/plugin.json +11 -0
  1570. package/examples/extensions/mcp-stdio/README.md +19 -0
  1571. package/examples/extensions/mcp-stdio/index.d.ts +64 -0
  1572. package/examples/extensions/mcp-stdio/index.d.ts.map +1 -0
  1573. package/examples/extensions/mcp-stdio/index.js +292 -0
  1574. package/examples/extensions/mcp-stdio/index.js.map +1 -0
  1575. package/examples/extensions/mcp-stdio/index.ts +381 -0
  1576. package/examples/extensions/mcp-stdio/plugin.json +10 -0
  1577. package/examples/extensions/memory-backend/index.ts +120 -0
  1578. package/examples/extensions/memory-backend/plugin.json +10 -0
  1579. package/examples/extensions/minimal-mode/index.ts +447 -0
  1580. package/examples/extensions/minimal-mode/plugin.json +10 -0
  1581. package/examples/extensions/multi-agent/README.md +7 -0
  1582. package/examples/extensions/multi-agent/index.ts +592 -0
  1583. package/examples/extensions/multi-agent/plugin.json +13 -0
  1584. package/examples/extensions/notify/index.ts +70 -0
  1585. package/examples/extensions/notify/plugin.json +8 -0
  1586. package/examples/extensions/permission-gate/index.ts +55 -0
  1587. package/examples/extensions/permission-gate/plugin.json +11 -0
  1588. package/examples/extensions/pirate/index.ts +75 -0
  1589. package/examples/extensions/pirate/plugin.json +8 -0
  1590. package/examples/extensions/plan/README.md +16 -0
  1591. package/examples/extensions/plan/index.ts +136 -0
  1592. package/examples/extensions/plan/plugin.json +12 -0
  1593. package/examples/extensions/prompt-customizer/index.ts +117 -0
  1594. package/examples/extensions/prompt-customizer/plugin.json +8 -0
  1595. package/examples/extensions/protected-paths/index.ts +44 -0
  1596. package/examples/extensions/protected-paths/plugin.json +11 -0
  1597. package/examples/extensions/provider-attribution/README.md +12 -0
  1598. package/examples/extensions/provider-attribution/index.ts +86 -0
  1599. package/examples/extensions/provider-attribution/plugin.json +10 -0
  1600. package/examples/extensions/send-user-message/index.ts +118 -0
  1601. package/examples/extensions/send-user-message/plugin.json +11 -0
  1602. package/examples/extensions/session-name/index.ts +31 -0
  1603. package/examples/extensions/session-name/plugin.json +11 -0
  1604. package/examples/extensions/session-share/README.md +15 -0
  1605. package/examples/extensions/session-share/index.ts +170 -0
  1606. package/examples/extensions/session-share/plugin.json +15 -0
  1607. package/examples/extensions/structured-output/index.ts +68 -0
  1608. package/examples/extensions/structured-output/plugin.json +10 -0
  1609. package/examples/extensions/subagent/README.md +177 -0
  1610. package/examples/extensions/subagent/agents/planner.md +37 -0
  1611. package/examples/extensions/subagent/agents/reviewer.md +35 -0
  1612. package/examples/extensions/subagent/agents/scout.md +50 -0
  1613. package/examples/extensions/subagent/agents/worker.md +24 -0
  1614. package/examples/extensions/subagent/agents.ts +157 -0
  1615. package/examples/extensions/subagent/index.ts +1057 -0
  1616. package/examples/extensions/subagent/plugin.json +13 -0
  1617. package/examples/extensions/subagent/prompts/implement-and-review.md +10 -0
  1618. package/examples/extensions/subagent/prompts/implement.md +10 -0
  1619. package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -0
  1620. package/examples/extensions/suite-manager/README.md +45 -0
  1621. package/examples/extensions/suite-manager/index.ts +182 -0
  1622. package/examples/extensions/suite-manager/plugin.json +13 -0
  1623. package/examples/extensions/timed-confirm/index.ts +93 -0
  1624. package/examples/extensions/timed-confirm/plugin.json +13 -0
  1625. package/examples/extensions/todo-set/README.md +18 -0
  1626. package/examples/extensions/todo-set/index.ts +133 -0
  1627. package/examples/extensions/todo-set/plugin.json +12 -0
  1628. package/examples/extensions/tool-override/index.ts +159 -0
  1629. package/examples/extensions/tool-override/plugin.json +11 -0
  1630. package/examples/extensions/trigger-compact/index.ts +76 -0
  1631. package/examples/extensions/trigger-compact/plugin.json +14 -0
  1632. package/examples/extensions/truncated-tool/index.ts +204 -0
  1633. package/examples/extensions/truncated-tool/plugin.json +10 -0
  1634. package/examples/extensions/with-deps/index.ts +42 -0
  1635. package/examples/extensions/with-deps/package-lock.json +31 -0
  1636. package/examples/extensions/with-deps/package.json +22 -0
  1637. package/examples/extensions/with-deps/plugin.json +10 -0
  1638. package/examples/remote-client.ts +66 -0
  1639. package/examples/rpc-extension-ui.ts +641 -0
  1640. package/examples/sdk/01-minimal.ts +26 -0
  1641. package/examples/sdk/02-custom-model.ts +49 -0
  1642. package/examples/sdk/03-custom-prompt.ts +70 -0
  1643. package/examples/sdk/04-skills.ts +55 -0
  1644. package/examples/sdk/05-tools.ts +48 -0
  1645. package/examples/sdk/07-context-files.ts +42 -0
  1646. package/examples/sdk/08-prompt-templates.ts +51 -0
  1647. package/examples/sdk/09-api-keys-and-oauth.ts +34 -0
  1648. package/examples/sdk/10-settings.ts +53 -0
  1649. package/examples/sdk/11-sessions.ts +52 -0
  1650. package/examples/sdk/12-full-control.ts +72 -0
  1651. package/examples/sdk/13-session-runtime.ts +71 -0
  1652. package/examples/sdk/14-custom-session-storage.ts +132 -0
  1653. package/examples/sdk/README.md +139 -0
  1654. package/package.json +111 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-delivery-queue.d.ts","sourceRoot":"","sources":["../../src/testing/runtime-delivery-queue.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,eAAO,MAAM,uCAAuC,sCAAgD,CAAC;AAErG,MAAM,MAAM,8BAA8B,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;AAEhF,MAAM,WAAW,gCAAgC;IAChD,QAAQ,CAAC,MAAM,EAAE,8BAA8B,CAAC;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,+BAA+B,CAAC,CAAC;IACjD,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,uCAAuC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC;IAC1C,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,IAAI,gCAAgC,CAAC;CAC7C;AAED,qBAAa,oCAAqC,SAAQ,KAAK;IAC9D,QAAQ,CAAC,IAAI,uCAA2C;IACxD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,YAAY,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAQ/D;CACD;AAeD;;;;;;;;;;;;GAYG;AACH,wBAAgB,8BAA8B,CAAC,CAAC,EAC/C,OAAO,EAAE,+BAA+B,CAAC,CAAC,CAAC,GACzC,wBAAwB,CAAC,CAAC,CAAC,CAsH7B","sourcesContent":["/** Stable error code required by the model.stream backpressure contract. */\nexport const MODEL_STREAM_BACKPRESSURE_OVERFLOW_CODE = \"model_stream_backpressure_overflow\" as const;\n\nexport type RuntimeOnlyDeliveryQueueStatus = \"active\" | \"overflowed\" | \"closed\";\n\nexport interface RuntimeOnlyDeliveryQueueSnapshot {\n\treadonly status: RuntimeOnlyDeliveryQueueStatus;\n\treadonly capacity: number;\n\t/** Weight of in-flight and queued values that have not finished delivery. */\n\treadonly pending: number;\n\treadonly accepted: number;\n\treadonly delivered: number;\n\treadonly rejected: number;\n}\n\nexport interface RuntimeOnlyDeliveryQueueOptions<T> {\n\t/** Maximum pending weight for this subscription. */\n\treadonly capacity: number;\n\t/** Defaults to one event per value. */\n\treadonly measure?: (value: T) => number;\n\treadonly deliver: (value: T) => void | Promise<void>;\n}\n\nexport interface RuntimeOnlyDeliveryQueue<T> {\n\tenqueue(value: T): Promise<void>;\n\tdrain(): Promise<void>;\n\tclose(): void;\n\tsnapshot(): RuntimeOnlyDeliveryQueueSnapshot;\n}\n\nexport class RuntimeOnlyBackpressureOverflowError extends Error {\n\treadonly code = MODEL_STREAM_BACKPRESSURE_OVERFLOW_CODE;\n\treadonly capacity: number;\n\treadonly pending: number;\n\treadonly attempted: number;\n\n\tconstructor(capacity: number, pending: number, attempted: number) {\n\t\tsuper(\n\t\t\t`Runtime-only delivery queue overflow: pending ${pending} + attempted ${attempted} exceeds capacity ${capacity}`,\n\t\t);\n\t\tthis.name = \"RuntimeOnlyBackpressureOverflowError\";\n\t\tthis.capacity = capacity;\n\t\tthis.pending = pending;\n\t\tthis.attempted = attempted;\n\t}\n}\n\ninterface QueueEntry<T> {\n\treadonly value: T;\n\treadonly weight: number;\n\treadonly resolve: () => void;\n\treadonly reject: (error: unknown) => void;\n}\n\nfunction assertPositiveSafeInteger(value: number, name: string): void {\n\tif (!Number.isSafeInteger(value) || value < 1) {\n\t\tthrow new Error(`Runtime-only delivery queue ${name} must be a positive safe integer`);\n\t}\n}\n\n/**\n * Creates a deterministic host-side subscription queue for runtime-only tests.\n *\n * Overflow rejects only the new enqueue, permanently terminates this queue,\n * and leaves already accepted values in order for delivery. Other queues are\n * independent and are not affected.\n *\n * Test-only divergence from the production lifecycle delivery queue: a handler\n * failure closes this whole queue and rejects every pending value with the\n * same error, while the production queue isolates the failure to that single\n * delivery and keeps accepting. Tests that need production semantics must use\n * the production runtime, not this fixture.\n */\nexport function createRuntimeOnlyDeliveryQueue<T>(\n\toptions: RuntimeOnlyDeliveryQueueOptions<T>,\n): RuntimeOnlyDeliveryQueue<T> {\n\tassertPositiveSafeInteger(options.capacity, \"capacity\");\n\tconst measure = options.measure ?? (() => 1);\n\tconst entries: QueueEntry<T>[] = [];\n\tlet status: RuntimeOnlyDeliveryQueueStatus = \"active\";\n\tlet pending = 0;\n\tlet accepted = 0;\n\tlet delivered = 0;\n\tlet rejected = 0;\n\tlet processing = false;\n\tlet drainPromise: Promise<void> | undefined;\n\tlet resolveDrain: (() => void) | undefined;\n\n\tconst ensureDrainPromise = (): Promise<void> => {\n\t\tif (drainPromise === undefined) {\n\t\t\tdrainPromise = new Promise<void>((resolve) => {\n\t\t\t\tresolveDrain = resolve;\n\t\t\t});\n\t\t}\n\t\treturn drainPromise;\n\t};\n\n\tconst settleDrainIfIdle = (): void => {\n\t\tif (processing || entries.length > 0) return;\n\t\tresolveDrain?.();\n\t\tdrainPromise = undefined;\n\t\tresolveDrain = undefined;\n\t};\n\n\tconst pump = async (): Promise<void> => {\n\t\tif (processing) return;\n\t\tprocessing = true;\n\t\ttry {\n\t\t\twhile (entries.length > 0) {\n\t\t\t\tconst entry = entries.shift();\n\t\t\t\t// v8 ignore next -- 循环条件保证 shift 必有元素\n\t\t\t\tif (entry === undefined) continue;\n\t\t\t\ttry {\n\t\t\t\t\tawait options.deliver(entry.value);\n\t\t\t\t\tdelivered += 1;\n\t\t\t\t\tentry.resolve();\n\t\t\t\t} catch (error) {\n\t\t\t\t\tstatus = \"closed\";\n\t\t\t\t\trejected += 1;\n\t\t\t\t\tentry.reject(error);\n\t\t\t\t\twhile (entries.length > 0) {\n\t\t\t\t\t\tconst pendingEntry = entries.shift();\n\t\t\t\t\t\t// v8 ignore next -- 循环条件保证 shift 必有元素\n\t\t\t\t\t\tif (pendingEntry === undefined) continue;\n\t\t\t\t\t\tpending -= pendingEntry.weight;\n\t\t\t\t\t\trejected += 1;\n\t\t\t\t\t\tpendingEntry.reject(error);\n\t\t\t\t\t}\n\t\t\t\t} finally {\n\t\t\t\t\tpending -= entry.weight;\n\t\t\t\t}\n\t\t\t\tif (status === \"closed\") break;\n\t\t\t}\n\t\t} finally {\n\t\t\tprocessing = false;\n\t\t\tsettleDrainIfIdle();\n\t\t}\n\t};\n\n\tconst enqueue = (value: T): Promise<void> => {\n\t\tif (status !== \"active\") {\n\t\t\trejected += 1;\n\t\t\tif (status === \"overflowed\") {\n\t\t\t\treturn Promise.reject(new RuntimeOnlyBackpressureOverflowError(options.capacity, pending, 0));\n\t\t\t}\n\t\t\treturn Promise.reject(new Error(`Runtime-only delivery queue is ${status}`));\n\t\t}\n\t\tconst weight = measure(value);\n\t\tassertPositiveSafeInteger(weight, \"measure result\");\n\t\tif (pending + weight > options.capacity) {\n\t\t\tstatus = \"overflowed\";\n\t\t\trejected += 1;\n\t\t\treturn Promise.reject(new RuntimeOnlyBackpressureOverflowError(options.capacity, pending, weight));\n\t\t}\n\t\taccepted += 1;\n\t\tpending += weight;\n\t\tconst result = new Promise<void>((resolve, reject) => {\n\t\t\tentries.push({ value, weight, resolve, reject });\n\t\t});\n\t\tensureDrainPromise();\n\t\tvoid pump();\n\t\treturn result;\n\t};\n\n\treturn {\n\t\tenqueue,\n\t\tdrain: () => {\n\t\t\tif (!processing && entries.length === 0) return Promise.resolve();\n\t\t\treturn ensureDrainPromise();\n\t\t},\n\t\tclose: () => {\n\t\t\tif (status === \"closed\") return;\n\t\t\tstatus = \"closed\";\n\t\t\twhile (entries.length > 0) {\n\t\t\t\tconst entry = entries.shift();\n\t\t\t\t// v8 ignore next -- 循环条件保证 shift 必有元素\n\t\t\t\tif (entry === undefined) continue;\n\t\t\t\tpending -= entry.weight;\n\t\t\t\trejected += 1;\n\t\t\t\tentry.reject(new Error(\"Runtime-only delivery queue was closed\"));\n\t\t\t}\n\t\t\tsettleDrainIfIdle();\n\t\t},\n\t\tsnapshot: () =>\n\t\t\tObject.freeze({\n\t\t\t\tstatus,\n\t\t\t\tcapacity: options.capacity,\n\t\t\t\tpending,\n\t\t\t\taccepted,\n\t\t\t\tdelivered,\n\t\t\t\trejected,\n\t\t\t}),\n\t};\n}\n"]}
@@ -0,0 +1,158 @@
1
+ /** Stable error code required by the model.stream backpressure contract. */
2
+ export const MODEL_STREAM_BACKPRESSURE_OVERFLOW_CODE = "model_stream_backpressure_overflow";
3
+ export class RuntimeOnlyBackpressureOverflowError extends Error {
4
+ code = MODEL_STREAM_BACKPRESSURE_OVERFLOW_CODE;
5
+ capacity;
6
+ pending;
7
+ attempted;
8
+ constructor(capacity, pending, attempted) {
9
+ super(`Runtime-only delivery queue overflow: pending ${pending} + attempted ${attempted} exceeds capacity ${capacity}`);
10
+ this.name = "RuntimeOnlyBackpressureOverflowError";
11
+ this.capacity = capacity;
12
+ this.pending = pending;
13
+ this.attempted = attempted;
14
+ }
15
+ }
16
+ function assertPositiveSafeInteger(value, name) {
17
+ if (!Number.isSafeInteger(value) || value < 1) {
18
+ throw new Error(`Runtime-only delivery queue ${name} must be a positive safe integer`);
19
+ }
20
+ }
21
+ /**
22
+ * Creates a deterministic host-side subscription queue for runtime-only tests.
23
+ *
24
+ * Overflow rejects only the new enqueue, permanently terminates this queue,
25
+ * and leaves already accepted values in order for delivery. Other queues are
26
+ * independent and are not affected.
27
+ *
28
+ * Test-only divergence from the production lifecycle delivery queue: a handler
29
+ * failure closes this whole queue and rejects every pending value with the
30
+ * same error, while the production queue isolates the failure to that single
31
+ * delivery and keeps accepting. Tests that need production semantics must use
32
+ * the production runtime, not this fixture.
33
+ */
34
+ export function createRuntimeOnlyDeliveryQueue(options) {
35
+ assertPositiveSafeInteger(options.capacity, "capacity");
36
+ const measure = options.measure ?? (() => 1);
37
+ const entries = [];
38
+ let status = "active";
39
+ let pending = 0;
40
+ let accepted = 0;
41
+ let delivered = 0;
42
+ let rejected = 0;
43
+ let processing = false;
44
+ let drainPromise;
45
+ let resolveDrain;
46
+ const ensureDrainPromise = () => {
47
+ if (drainPromise === undefined) {
48
+ drainPromise = new Promise((resolve) => {
49
+ resolveDrain = resolve;
50
+ });
51
+ }
52
+ return drainPromise;
53
+ };
54
+ const settleDrainIfIdle = () => {
55
+ if (processing || entries.length > 0)
56
+ return;
57
+ resolveDrain?.();
58
+ drainPromise = undefined;
59
+ resolveDrain = undefined;
60
+ };
61
+ const pump = async () => {
62
+ if (processing)
63
+ return;
64
+ processing = true;
65
+ try {
66
+ while (entries.length > 0) {
67
+ const entry = entries.shift();
68
+ // v8 ignore next -- 循环条件保证 shift 必有元素
69
+ if (entry === undefined)
70
+ continue;
71
+ try {
72
+ await options.deliver(entry.value);
73
+ delivered += 1;
74
+ entry.resolve();
75
+ }
76
+ catch (error) {
77
+ status = "closed";
78
+ rejected += 1;
79
+ entry.reject(error);
80
+ while (entries.length > 0) {
81
+ const pendingEntry = entries.shift();
82
+ // v8 ignore next -- 循环条件保证 shift 必有元素
83
+ if (pendingEntry === undefined)
84
+ continue;
85
+ pending -= pendingEntry.weight;
86
+ rejected += 1;
87
+ pendingEntry.reject(error);
88
+ }
89
+ }
90
+ finally {
91
+ pending -= entry.weight;
92
+ }
93
+ if (status === "closed")
94
+ break;
95
+ }
96
+ }
97
+ finally {
98
+ processing = false;
99
+ settleDrainIfIdle();
100
+ }
101
+ };
102
+ const enqueue = (value) => {
103
+ if (status !== "active") {
104
+ rejected += 1;
105
+ if (status === "overflowed") {
106
+ return Promise.reject(new RuntimeOnlyBackpressureOverflowError(options.capacity, pending, 0));
107
+ }
108
+ return Promise.reject(new Error(`Runtime-only delivery queue is ${status}`));
109
+ }
110
+ const weight = measure(value);
111
+ assertPositiveSafeInteger(weight, "measure result");
112
+ if (pending + weight > options.capacity) {
113
+ status = "overflowed";
114
+ rejected += 1;
115
+ return Promise.reject(new RuntimeOnlyBackpressureOverflowError(options.capacity, pending, weight));
116
+ }
117
+ accepted += 1;
118
+ pending += weight;
119
+ const result = new Promise((resolve, reject) => {
120
+ entries.push({ value, weight, resolve, reject });
121
+ });
122
+ ensureDrainPromise();
123
+ void pump();
124
+ return result;
125
+ };
126
+ return {
127
+ enqueue,
128
+ drain: () => {
129
+ if (!processing && entries.length === 0)
130
+ return Promise.resolve();
131
+ return ensureDrainPromise();
132
+ },
133
+ close: () => {
134
+ if (status === "closed")
135
+ return;
136
+ status = "closed";
137
+ while (entries.length > 0) {
138
+ const entry = entries.shift();
139
+ // v8 ignore next -- 循环条件保证 shift 必有元素
140
+ if (entry === undefined)
141
+ continue;
142
+ pending -= entry.weight;
143
+ rejected += 1;
144
+ entry.reject(new Error("Runtime-only delivery queue was closed"));
145
+ }
146
+ settleDrainIfIdle();
147
+ },
148
+ snapshot: () => Object.freeze({
149
+ status,
150
+ capacity: options.capacity,
151
+ pending,
152
+ accepted,
153
+ delivered,
154
+ rejected,
155
+ }),
156
+ };
157
+ }
158
+ //# sourceMappingURL=runtime-delivery-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-delivery-queue.js","sourceRoot":"","sources":["../../src/testing/runtime-delivery-queue.ts"],"names":[],"mappings":"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","sourcesContent":["/** Stable error code required by the model.stream backpressure contract. */\nexport const MODEL_STREAM_BACKPRESSURE_OVERFLOW_CODE = \"model_stream_backpressure_overflow\" as const;\n\nexport type RuntimeOnlyDeliveryQueueStatus = \"active\" | \"overflowed\" | \"closed\";\n\nexport interface RuntimeOnlyDeliveryQueueSnapshot {\n\treadonly status: RuntimeOnlyDeliveryQueueStatus;\n\treadonly capacity: number;\n\t/** Weight of in-flight and queued values that have not finished delivery. */\n\treadonly pending: number;\n\treadonly accepted: number;\n\treadonly delivered: number;\n\treadonly rejected: number;\n}\n\nexport interface RuntimeOnlyDeliveryQueueOptions<T> {\n\t/** Maximum pending weight for this subscription. */\n\treadonly capacity: number;\n\t/** Defaults to one event per value. */\n\treadonly measure?: (value: T) => number;\n\treadonly deliver: (value: T) => void | Promise<void>;\n}\n\nexport interface RuntimeOnlyDeliveryQueue<T> {\n\tenqueue(value: T): Promise<void>;\n\tdrain(): Promise<void>;\n\tclose(): void;\n\tsnapshot(): RuntimeOnlyDeliveryQueueSnapshot;\n}\n\nexport class RuntimeOnlyBackpressureOverflowError extends Error {\n\treadonly code = MODEL_STREAM_BACKPRESSURE_OVERFLOW_CODE;\n\treadonly capacity: number;\n\treadonly pending: number;\n\treadonly attempted: number;\n\n\tconstructor(capacity: number, pending: number, attempted: number) {\n\t\tsuper(\n\t\t\t`Runtime-only delivery queue overflow: pending ${pending} + attempted ${attempted} exceeds capacity ${capacity}`,\n\t\t);\n\t\tthis.name = \"RuntimeOnlyBackpressureOverflowError\";\n\t\tthis.capacity = capacity;\n\t\tthis.pending = pending;\n\t\tthis.attempted = attempted;\n\t}\n}\n\ninterface QueueEntry<T> {\n\treadonly value: T;\n\treadonly weight: number;\n\treadonly resolve: () => void;\n\treadonly reject: (error: unknown) => void;\n}\n\nfunction assertPositiveSafeInteger(value: number, name: string): void {\n\tif (!Number.isSafeInteger(value) || value < 1) {\n\t\tthrow new Error(`Runtime-only delivery queue ${name} must be a positive safe integer`);\n\t}\n}\n\n/**\n * Creates a deterministic host-side subscription queue for runtime-only tests.\n *\n * Overflow rejects only the new enqueue, permanently terminates this queue,\n * and leaves already accepted values in order for delivery. Other queues are\n * independent and are not affected.\n *\n * Test-only divergence from the production lifecycle delivery queue: a handler\n * failure closes this whole queue and rejects every pending value with the\n * same error, while the production queue isolates the failure to that single\n * delivery and keeps accepting. Tests that need production semantics must use\n * the production runtime, not this fixture.\n */\nexport function createRuntimeOnlyDeliveryQueue<T>(\n\toptions: RuntimeOnlyDeliveryQueueOptions<T>,\n): RuntimeOnlyDeliveryQueue<T> {\n\tassertPositiveSafeInteger(options.capacity, \"capacity\");\n\tconst measure = options.measure ?? (() => 1);\n\tconst entries: QueueEntry<T>[] = [];\n\tlet status: RuntimeOnlyDeliveryQueueStatus = \"active\";\n\tlet pending = 0;\n\tlet accepted = 0;\n\tlet delivered = 0;\n\tlet rejected = 0;\n\tlet processing = false;\n\tlet drainPromise: Promise<void> | undefined;\n\tlet resolveDrain: (() => void) | undefined;\n\n\tconst ensureDrainPromise = (): Promise<void> => {\n\t\tif (drainPromise === undefined) {\n\t\t\tdrainPromise = new Promise<void>((resolve) => {\n\t\t\t\tresolveDrain = resolve;\n\t\t\t});\n\t\t}\n\t\treturn drainPromise;\n\t};\n\n\tconst settleDrainIfIdle = (): void => {\n\t\tif (processing || entries.length > 0) return;\n\t\tresolveDrain?.();\n\t\tdrainPromise = undefined;\n\t\tresolveDrain = undefined;\n\t};\n\n\tconst pump = async (): Promise<void> => {\n\t\tif (processing) return;\n\t\tprocessing = true;\n\t\ttry {\n\t\t\twhile (entries.length > 0) {\n\t\t\t\tconst entry = entries.shift();\n\t\t\t\t// v8 ignore next -- 循环条件保证 shift 必有元素\n\t\t\t\tif (entry === undefined) continue;\n\t\t\t\ttry {\n\t\t\t\t\tawait options.deliver(entry.value);\n\t\t\t\t\tdelivered += 1;\n\t\t\t\t\tentry.resolve();\n\t\t\t\t} catch (error) {\n\t\t\t\t\tstatus = \"closed\";\n\t\t\t\t\trejected += 1;\n\t\t\t\t\tentry.reject(error);\n\t\t\t\t\twhile (entries.length > 0) {\n\t\t\t\t\t\tconst pendingEntry = entries.shift();\n\t\t\t\t\t\t// v8 ignore next -- 循环条件保证 shift 必有元素\n\t\t\t\t\t\tif (pendingEntry === undefined) continue;\n\t\t\t\t\t\tpending -= pendingEntry.weight;\n\t\t\t\t\t\trejected += 1;\n\t\t\t\t\t\tpendingEntry.reject(error);\n\t\t\t\t\t}\n\t\t\t\t} finally {\n\t\t\t\t\tpending -= entry.weight;\n\t\t\t\t}\n\t\t\t\tif (status === \"closed\") break;\n\t\t\t}\n\t\t} finally {\n\t\t\tprocessing = false;\n\t\t\tsettleDrainIfIdle();\n\t\t}\n\t};\n\n\tconst enqueue = (value: T): Promise<void> => {\n\t\tif (status !== \"active\") {\n\t\t\trejected += 1;\n\t\t\tif (status === \"overflowed\") {\n\t\t\t\treturn Promise.reject(new RuntimeOnlyBackpressureOverflowError(options.capacity, pending, 0));\n\t\t\t}\n\t\t\treturn Promise.reject(new Error(`Runtime-only delivery queue is ${status}`));\n\t\t}\n\t\tconst weight = measure(value);\n\t\tassertPositiveSafeInteger(weight, \"measure result\");\n\t\tif (pending + weight > options.capacity) {\n\t\t\tstatus = \"overflowed\";\n\t\t\trejected += 1;\n\t\t\treturn Promise.reject(new RuntimeOnlyBackpressureOverflowError(options.capacity, pending, weight));\n\t\t}\n\t\taccepted += 1;\n\t\tpending += weight;\n\t\tconst result = new Promise<void>((resolve, reject) => {\n\t\t\tentries.push({ value, weight, resolve, reject });\n\t\t});\n\t\tensureDrainPromise();\n\t\tvoid pump();\n\t\treturn result;\n\t};\n\n\treturn {\n\t\tenqueue,\n\t\tdrain: () => {\n\t\t\tif (!processing && entries.length === 0) return Promise.resolve();\n\t\t\treturn ensureDrainPromise();\n\t\t},\n\t\tclose: () => {\n\t\t\tif (status === \"closed\") return;\n\t\t\tstatus = \"closed\";\n\t\t\twhile (entries.length > 0) {\n\t\t\t\tconst entry = entries.shift();\n\t\t\t\t// v8 ignore next -- 循环条件保证 shift 必有元素\n\t\t\t\tif (entry === undefined) continue;\n\t\t\t\tpending -= entry.weight;\n\t\t\t\trejected += 1;\n\t\t\t\tentry.reject(new Error(\"Runtime-only delivery queue was closed\"));\n\t\t\t}\n\t\t\tsettleDrainIfIdle();\n\t\t},\n\t\tsnapshot: () =>\n\t\t\tObject.freeze({\n\t\t\t\tstatus,\n\t\t\t\tcapacity: options.capacity,\n\t\t\t\tpending,\n\t\t\t\taccepted,\n\t\t\t\tdelivered,\n\t\t\t\trejected,\n\t\t\t}),\n\t};\n}\n"]}
@@ -0,0 +1,144 @@
1
+ import type { Agent } from "@agent-forge/agent-core";
2
+ import { type FauxProviderRegistration, type FauxResponseStep } from "@agent-forge/ai/compat";
3
+ import type { AgentSession } from "../core/agent-session.ts";
4
+ import type { CapabilityPluginFactory } from "../core/extensions/capability-plugin.ts";
5
+ import { type CapabilityRuntime } from "../core/extensions/capability-runtime.ts";
6
+ import type { AgentCompositionAPI, CapabilityAPI, HostCapabilities, PluginManifest, RuntimeInspectorSnapshot } from "../core/extensions/public-api.ts";
7
+ import type { ToolDefinition } from "../core/tools/tool-definition.ts";
8
+ export interface SessionPluginTestKitPlugin {
9
+ readonly manifest: PluginManifest;
10
+ readonly factory: CapabilityPluginFactory;
11
+ }
12
+ export interface SessionPluginTestKitOptions {
13
+ readonly plugins: readonly SessionPluginTestKitPlugin[];
14
+ readonly responses?: readonly FauxResponseStep[];
15
+ readonly providerId?: string;
16
+ readonly api?: string;
17
+ readonly composition?: AgentCompositionAPI;
18
+ /** Custom tools registered on the fixture session for gated lifecycle scenarios. */
19
+ readonly tools?: readonly ToolDefinition[];
20
+ /** Post-run continuation strategy name selected through the public AgentSession config. */
21
+ readonly runLoopStrategyName?: string;
22
+ }
23
+ export interface SessionPluginTestKitInspector {
24
+ readonly host: HostCapabilities;
25
+ readonly plugins: readonly {
26
+ readonly id: string;
27
+ readonly version: string;
28
+ readonly active: boolean;
29
+ readonly provides: RuntimeInspectorSnapshot["plugins"][number]["provides"];
30
+ readonly requires: RuntimeInspectorSnapshot["plugins"][number]["requires"];
31
+ }[];
32
+ readonly registrations: RuntimeInspectorSnapshot["registrations"];
33
+ readonly contributionPoints: readonly {
34
+ readonly id: string;
35
+ readonly version: number;
36
+ readonly lifecycle: string;
37
+ readonly owner: string;
38
+ readonly active: boolean;
39
+ }[];
40
+ readonly contributions: readonly {
41
+ readonly id: string;
42
+ readonly pointId: string;
43
+ readonly version: number;
44
+ readonly owner: string;
45
+ readonly lifecycle: string;
46
+ }[];
47
+ readonly lifecycle: readonly {
48
+ readonly id: string;
49
+ readonly version: number;
50
+ readonly phase: string;
51
+ readonly schema: string;
52
+ readonly owner: string;
53
+ readonly active: boolean;
54
+ readonly registrations: readonly {
55
+ readonly id: string;
56
+ readonly kind: string;
57
+ readonly owner: string;
58
+ }[];
59
+ }[];
60
+ readonly lifecycleReports: readonly {
61
+ readonly eventId: string;
62
+ readonly type: string;
63
+ readonly version: number;
64
+ readonly phase: string;
65
+ readonly status: string;
66
+ readonly attempted: number;
67
+ readonly succeeded: number;
68
+ readonly queued?: number;
69
+ readonly failed: number;
70
+ readonly failures: readonly {
71
+ readonly pluginId: string;
72
+ readonly registrationId: string;
73
+ readonly kind: string;
74
+ readonly error: unknown;
75
+ }[];
76
+ }[];
77
+ readonly pluginRejections: RuntimeInspectorSnapshot["pluginRejections"];
78
+ readonly subscriptions: RuntimeInspectorSnapshot["subscriptions"];
79
+ readonly operations: RuntimeInspectorSnapshot["operations"];
80
+ readonly logs: readonly {
81
+ readonly version: 1;
82
+ readonly level: string;
83
+ readonly message: string;
84
+ readonly fields?: unknown;
85
+ readonly cause?: unknown;
86
+ readonly pluginId: string;
87
+ readonly sessionId?: string;
88
+ readonly operationId?: string;
89
+ readonly correlationId?: string;
90
+ readonly phase?: string;
91
+ }[];
92
+ readonly spans: readonly {
93
+ readonly version: 1;
94
+ readonly traceId: string;
95
+ readonly spanId: string;
96
+ readonly parentSpanId?: string;
97
+ readonly name: string;
98
+ readonly pluginId: string;
99
+ readonly sessionId?: string;
100
+ readonly status: string;
101
+ readonly attributes: unknown;
102
+ readonly result?: unknown;
103
+ readonly cause?: unknown;
104
+ readonly operationId?: string;
105
+ readonly correlationId?: string;
106
+ readonly phase?: string;
107
+ }[];
108
+ }
109
+ export interface SessionPluginTestKitTranscript {
110
+ readonly version: 1;
111
+ readonly sessionId: string;
112
+ readonly revision: number;
113
+ readonly loadOrder: readonly string[];
114
+ readonly fauxCallCount: number;
115
+ readonly messages: readonly {
116
+ readonly role: string;
117
+ readonly text: string;
118
+ }[];
119
+ readonly entries: readonly {
120
+ readonly type: string;
121
+ readonly customType?: string;
122
+ readonly data?: unknown;
123
+ }[];
124
+ readonly inspector: SessionPluginTestKitInspector;
125
+ }
126
+ export interface SessionPluginTestKit {
127
+ readonly ready: Promise<void>;
128
+ readonly session: AgentSession;
129
+ readonly agent: Agent;
130
+ readonly runtime: CapabilityRuntime;
131
+ readonly faux: FauxProviderRegistration;
132
+ api(pluginId: string): CapabilityAPI;
133
+ revoke(pluginId: string): void;
134
+ /** Throws when a scripted response was not consumed by the fixture. */
135
+ assertResponsesConsumed(): void;
136
+ inspect(): RuntimeInspectorSnapshot;
137
+ transcript(): SessionPluginTestKitTranscript;
138
+ dispose(): Promise<void>;
139
+ }
140
+ /** Create a complete deterministic AgentSession fixture and load inline capability plugins. */
141
+ export declare function createSessionPluginTestKit(options: SessionPluginTestKitOptions): Promise<SessionPluginTestKit>;
142
+ /** Runs a session fixture repeatedly and rejects on the first transcript divergence. */
143
+ export declare function repeatSessionPluginTestKit(times: number, run: () => Promise<SessionPluginTestKitTranscript>): Promise<SessionPluginTestKitTranscript>;
144
+ //# sourceMappingURL=session-plugin-testkit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-plugin-testkit.d.ts","sourceRoot":"","sources":["../../src/testing/session-plugin-testkit.ts"],"names":[],"mappings":"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","sourcesContent":["import { mkdtemp, rm } from \"node:fs/promises\";\nimport { tmpdir } from \"node:os\";\nimport { join } from \"node:path\";\nimport type { Agent } from \"@agent-forge/agent-core\";\nimport {\n\ttype FauxProviderRegistration,\n\ttype FauxResponseStep,\n\tregisterFauxProvider,\n\tstreamSimple,\n} from \"@agent-forge/ai/compat\";\nimport type { AgentSession } from \"../core/agent-session.ts\";\nimport { AuthStorage } from \"../core/auth-storage.ts\";\nimport type { CapabilityPluginFactory, CapabilityPluginHandle } from \"../core/extensions/capability-plugin.ts\";\nimport { type CapabilityRuntime, resolvePluginCapabilityOrder } from \"../core/extensions/capability-runtime.ts\";\nimport type {\n\tAgentCompositionAPI,\n\tCapabilityAPI,\n\tHostCapabilities,\n\tPluginManifest,\n\tRuntimeInspectorSnapshot,\n} from \"../core/extensions/public-api.ts\";\nimport { ModelRuntime } from \"../core/model-runtime.ts\";\nimport { InMemoryCodingAgentModelsStore } from \"../core/models-store.ts\";\nimport { DefaultResourceLoader } from \"../core/resource-loader.ts\";\nimport { createAgentSession } from \"../core/sdk.ts\";\nimport { SessionManager } from \"../core/session-manager.ts\";\nimport { SettingsManager } from \"../core/settings-manager.ts\";\nimport type { ToolDefinition } from \"../core/tools/tool-definition.ts\";\n\nexport interface SessionPluginTestKitPlugin {\n\treadonly manifest: PluginManifest;\n\treadonly factory: CapabilityPluginFactory;\n}\n\nexport interface SessionPluginTestKitOptions {\n\treadonly plugins: readonly SessionPluginTestKitPlugin[];\n\treadonly responses?: readonly FauxResponseStep[];\n\treadonly providerId?: string;\n\treadonly api?: string;\n\treadonly composition?: AgentCompositionAPI;\n\t/** Custom tools registered on the fixture session for gated lifecycle scenarios. */\n\treadonly tools?: readonly ToolDefinition[];\n\t/** Post-run continuation strategy name selected through the public AgentSession config. */\n\treadonly runLoopStrategyName?: string;\n}\n\nexport interface SessionPluginTestKitInspector {\n\treadonly host: HostCapabilities;\n\treadonly plugins: readonly {\n\t\treadonly id: string;\n\t\treadonly version: string;\n\t\treadonly active: boolean;\n\t\treadonly provides: RuntimeInspectorSnapshot[\"plugins\"][number][\"provides\"];\n\t\treadonly requires: RuntimeInspectorSnapshot[\"plugins\"][number][\"requires\"];\n\t}[];\n\treadonly registrations: RuntimeInspectorSnapshot[\"registrations\"];\n\treadonly contributionPoints: readonly {\n\t\treadonly id: string;\n\t\treadonly version: number;\n\t\treadonly lifecycle: string;\n\t\treadonly owner: string;\n\t\treadonly active: boolean;\n\t}[];\n\treadonly contributions: readonly {\n\t\treadonly id: string;\n\t\treadonly pointId: string;\n\t\treadonly version: number;\n\t\treadonly owner: string;\n\t\treadonly lifecycle: string;\n\t}[];\n\treadonly lifecycle: readonly {\n\t\treadonly id: string;\n\t\treadonly version: number;\n\t\treadonly phase: string;\n\t\treadonly schema: string;\n\t\treadonly owner: string;\n\t\treadonly active: boolean;\n\t\treadonly registrations: readonly { readonly id: string; readonly kind: string; readonly owner: string }[];\n\t}[];\n\treadonly lifecycleReports: readonly {\n\t\treadonly eventId: string;\n\t\treadonly type: string;\n\t\treadonly version: number;\n\t\treadonly phase: string;\n\t\treadonly status: string;\n\t\treadonly attempted: number;\n\t\treadonly succeeded: number;\n\t\treadonly queued?: number;\n\t\treadonly failed: number;\n\t\treadonly failures: readonly {\n\t\t\treadonly pluginId: string;\n\t\t\treadonly registrationId: string;\n\t\t\treadonly kind: string;\n\t\t\treadonly error: unknown;\n\t\t}[];\n\t}[];\n\treadonly pluginRejections: RuntimeInspectorSnapshot[\"pluginRejections\"];\n\treadonly subscriptions: RuntimeInspectorSnapshot[\"subscriptions\"];\n\treadonly operations: RuntimeInspectorSnapshot[\"operations\"];\n\treadonly logs: readonly {\n\t\treadonly version: 1;\n\t\treadonly level: string;\n\t\treadonly message: string;\n\t\treadonly fields?: unknown;\n\t\treadonly cause?: unknown;\n\t\treadonly pluginId: string;\n\t\treadonly sessionId?: string;\n\t\treadonly operationId?: string;\n\t\treadonly correlationId?: string;\n\t\treadonly phase?: string;\n\t}[];\n\treadonly spans: readonly {\n\t\treadonly version: 1;\n\t\treadonly traceId: string;\n\t\treadonly spanId: string;\n\t\treadonly parentSpanId?: string;\n\t\treadonly name: string;\n\t\treadonly pluginId: string;\n\t\treadonly sessionId?: string;\n\t\treadonly status: string;\n\t\treadonly attributes: unknown;\n\t\treadonly result?: unknown;\n\t\treadonly cause?: unknown;\n\t\treadonly operationId?: string;\n\t\treadonly correlationId?: string;\n\t\treadonly phase?: string;\n\t}[];\n}\n\nexport interface SessionPluginTestKitTranscript {\n\treadonly version: 1;\n\treadonly sessionId: string;\n\treadonly revision: number;\n\treadonly loadOrder: readonly string[];\n\treadonly fauxCallCount: number;\n\treadonly messages: readonly { readonly role: string; readonly text: string }[];\n\treadonly entries: readonly { readonly type: string; readonly customType?: string; readonly data?: unknown }[];\n\treadonly inspector: SessionPluginTestKitInspector;\n}\n\nexport interface SessionPluginTestKit {\n\treadonly ready: Promise<void>;\n\treadonly session: AgentSession;\n\treadonly agent: Agent;\n\treadonly runtime: CapabilityRuntime;\n\treadonly faux: FauxProviderRegistration;\n\tapi(pluginId: string): CapabilityAPI;\n\trevoke(pluginId: string): void;\n\t/** Throws when a scripted response was not consumed by the fixture. */\n\tassertResponsesConsumed(): void;\n\tinspect(): RuntimeInspectorSnapshot;\n\ttranscript(): SessionPluginTestKitTranscript;\n\tdispose(): Promise<void>;\n}\n\nconst FIXED_SESSION_ID = \"session-plugin-testkit\";\nconst DEFAULT_PROVIDER_ID = \"faux-session-plugin-testkit\";\nconst DEFAULT_API = \"faux:session-plugin-testkit\";\n\nfunction stableText(message: unknown): string {\n\t// v8 ignore next -- 消息对象恒带 content 字段(AgentMessage 类型契约)\n\tif (!message || typeof message !== \"object\" || !(\"content\" in message)) return \"\";\n\tconst content = (message as { content?: unknown }).content;\n\t// v8 ignore next -- 助手消息的 content 恒为分段数组,字符串路径不会被命中\n\tif (typeof content === \"string\") return content;\n\t// v8 ignore next -- 同上:content 恒为数组\n\tif (!Array.isArray(content)) return \"\";\n\treturn content\n\t\t.filter((part): part is { type: \"text\"; text: string } => {\n\t\t\treturn (\n\t\t\t\ttypeof part === \"object\" &&\n\t\t\t\tpart !== null &&\n\t\t\t\t(part as { type?: unknown }).type === \"text\" &&\n\t\t\t\ttypeof (part as { text?: unknown }).text === \"string\"\n\t\t\t);\n\t\t})\n\t\t.map((part) => part.text)\n\t\t.join(\"\\n\");\n}\n\nfunction freezeSnapshot<T>(value: T): T {\n\tconst clone = structuredClone(value);\n\tconst freeze = (candidate: unknown): void => {\n\t\tif (!candidate || typeof candidate !== \"object\" || ArrayBuffer.isView(candidate)) return;\n\t\tfor (const child of Object.values(candidate as Record<string, unknown>)) freeze(child);\n\t\tObject.freeze(candidate);\n\t};\n\tfreeze(clone);\n\treturn clone;\n}\n\nfunction transcriptValue(value: unknown, seen = new WeakSet<object>()): unknown {\n\tif (value === null || typeof value === \"string\" || typeof value === \"boolean\") return value;\n\tif (typeof value === \"number\") return Number.isFinite(value) ? value : String(value);\n\tif (typeof value === \"bigint\") return `${value}n`;\n\tif (value === undefined) return null;\n\tif (value instanceof Error) {\n\t\t// v8 ignore next -- 错误经过 structuredClone 落盘,克隆体不可能形成循环引用\n\t\tif (seen.has(value)) return \"[Circular]\";\n\t\tseen.add(value);\n\t\tconst output: Record<string, unknown> = { name: value.name, message: value.message };\n\t\tconst code = (value as Error & { code?: unknown }).code;\n\t\tif (code !== undefined) output.code = transcriptValue(code, seen);\n\t\tconst cause = (value as Error & { cause?: unknown }).cause;\n\t\tif (cause !== undefined) output.cause = transcriptValue(cause, seen);\n\t\tfor (const key of Object.keys(value).sort()) {\n\t\t\tif (key === \"code\" || key === \"cause\") continue;\n\t\t\toutput[key] = transcriptValue((value as unknown as Record<string, unknown>)[key], seen);\n\t\t}\n\t\treturn output;\n\t}\n\t// v8 ignore next -- 值均来自 structuredClone 克隆,函数/符号无法存活\n\tif (typeof value !== \"object\") return String(value);\n\t// v8 ignore next -- 同上:克隆后的对象图无循环引用\n\tif (seen.has(value)) return \"[Circular]\";\n\tseen.add(value);\n\tif (Array.isArray(value)) return value.map((item) => transcriptValue(item, seen));\n\tconst output: Record<string, unknown> = {};\n\tfor (const key of Object.keys(value as Record<string, unknown>).sort()) {\n\t\toutput[key] = transcriptValue((value as Record<string, unknown>)[key], seen);\n\t}\n\treturn output;\n}\n\nfunction canonicalJson(value: unknown): string {\n\tconst serialized = JSON.stringify(transcriptValue(value));\n\t// v8 ignore next -- transcriptValue 已消毒全部值,JSON.stringify 不会返回 undefined\n\tif (serialized === undefined) throw new Error(\"Session plugin testkit transcript is not JSON-serializable\");\n\treturn serialized;\n}\n\n/**\n * The host's agentDir is the fixture's mkdtemp path — environment-specific and\n * random per run, not a behavioral signal. Mask it so repeated-run transcript\n * comparisons stay deterministic (D-075 S4 added agentDir to HostCapabilities).\n */\nfunction normalizeInspectorHost(host: HostCapabilities): HostCapabilities {\n\tif (typeof host.agentDir !== \"string\" || host.agentDir.length === 0) return host;\n\treturn { ...host, agentDir: \"<agentDir>\" };\n}\n\nfunction stableInspector(snapshot: RuntimeInspectorSnapshot): SessionPluginTestKitInspector {\n\treturn {\n\t\thost: normalizeInspectorHost(snapshot.host),\n\t\tplugins: snapshot.plugins.map(({ id, version, active, provides, requires }) => ({\n\t\t\tid,\n\t\t\tversion,\n\t\t\tactive,\n\t\t\tprovides,\n\t\t\trequires,\n\t\t})),\n\t\tregistrations: snapshot.registrations,\n\t\tcontributionPoints: snapshot.contributionPoints.map(({ id, version, lifecycle, owner, active }) => ({\n\t\t\tid,\n\t\t\tversion,\n\t\t\tlifecycle,\n\t\t\towner,\n\t\t\tactive,\n\t\t})),\n\t\tcontributions: snapshot.contributions.map(({ id, pointId, version, owner, lifecycle }) => ({\n\t\t\tid,\n\t\t\tpointId,\n\t\t\tversion,\n\t\t\towner,\n\t\t\tlifecycle,\n\t\t})),\n\t\tlifecycle: snapshot.lifecycle.map(({ id, version, phase, schema, owner, active, registrations }) => ({\n\t\t\tid,\n\t\t\tversion,\n\t\t\tphase,\n\t\t\tschema,\n\t\t\towner,\n\t\t\tactive,\n\t\t\tregistrations,\n\t\t})),\n\t\tlifecycleReports: snapshot.lifecycleReports.map(\n\t\t\t({ eventId, type, version, phase, status, attempted, succeeded, failed, failures }) => ({\n\t\t\t\teventId,\n\t\t\t\ttype,\n\t\t\t\tversion,\n\t\t\t\tphase,\n\t\t\t\tstatus,\n\t\t\t\tattempted,\n\t\t\t\tsucceeded,\n\t\t\t\tfailed,\n\t\t\t\tfailures: failures.map(({ pluginId, registrationId, kind, error }) => ({\n\t\t\t\t\tpluginId,\n\t\t\t\t\tregistrationId,\n\t\t\t\t\tkind,\n\t\t\t\t\terror: transcriptValue(error),\n\t\t\t\t})),\n\t\t\t}),\n\t\t),\n\t\tpluginRejections: snapshot.pluginRejections,\n\t\tsubscriptions: snapshot.subscriptions,\n\t\toperations: snapshot.operations,\n\t\tlogs: snapshot.logs.map(\n\t\t\t({ version, level, message, fields, cause, pluginId, sessionId, operationId, correlationId, phase }) => ({\n\t\t\t\tversion,\n\t\t\t\tlevel,\n\t\t\t\tmessage,\n\t\t\t\t...(fields === undefined ? {} : { fields: transcriptValue(fields) }),\n\t\t\t\t...(cause === undefined ? {} : { cause: transcriptValue(cause) }),\n\t\t\t\tpluginId,\n\t\t\t\t...(sessionId === undefined ? {} : { sessionId }),\n\t\t\t\t...(operationId === undefined ? {} : { operationId }),\n\t\t\t\t...(correlationId === undefined ? {} : { correlationId }),\n\t\t\t\t...(phase === undefined ? {} : { phase }),\n\t\t\t}),\n\t\t),\n\t\tspans: snapshot.spans.map(\n\t\t\t({\n\t\t\t\tversion,\n\t\t\t\ttraceId,\n\t\t\t\tspanId,\n\t\t\t\tparentSpanId,\n\t\t\t\tname,\n\t\t\t\tpluginId,\n\t\t\t\tsessionId,\n\t\t\t\tstatus,\n\t\t\t\tattributes,\n\t\t\t\tresult,\n\t\t\t\tcause,\n\t\t\t\toperationId,\n\t\t\t\tcorrelationId,\n\t\t\t\tphase,\n\t\t\t}) => ({\n\t\t\t\tversion,\n\t\t\t\ttraceId,\n\t\t\t\tspanId,\n\t\t\t\t...(parentSpanId === undefined ? {} : { parentSpanId }),\n\t\t\t\tname,\n\t\t\t\tpluginId,\n\t\t\t\t...(sessionId === undefined ? {} : { sessionId }),\n\t\t\t\tattributes: transcriptValue(attributes),\n\t\t\t\tstatus,\n\t\t\t\t...(result === undefined ? {} : { result: transcriptValue(result) }),\n\t\t\t\t...(cause === undefined ? {} : { cause: transcriptValue(cause) }),\n\t\t\t\t...(operationId === undefined ? {} : { operationId }),\n\t\t\t\t...(correlationId === undefined ? {} : { correlationId }),\n\t\t\t\t...(phase === undefined ? {} : { phase }),\n\t\t\t}),\n\t\t),\n\t};\n}\n\nfunction modelConfig(model: {\n\tid: string;\n\tname: string;\n\tapi: string;\n\tprovider: string;\n\tbaseUrl: string;\n\treasoning: boolean;\n\tinput: readonly (\"text\" | \"image\")[];\n\tcost: { input: number; output: number; cacheRead: number; cacheWrite: number };\n\tcontextWindow: number;\n\tmaxTokens: number;\n}) {\n\treturn {\n\t\tid: model.id,\n\t\tname: model.name,\n\t\tapi: model.api,\n\t\tprovider: model.provider,\n\t\tbaseUrl: model.baseUrl,\n\t\treasoning: model.reasoning,\n\t\tinput: [...model.input],\n\t\tcost: model.cost,\n\t\tcontextWindow: model.contextWindow,\n\t\tmaxTokens: model.maxTokens,\n\t};\n}\n\n/** Create a complete deterministic AgentSession fixture and load inline capability plugins. */\nexport async function createSessionPluginTestKit(options: SessionPluginTestKitOptions): Promise<SessionPluginTestKit> {\n\tconst tempDir = await mkdtemp(join(tmpdir(), \"agent-forge-session-plugin-testkit-\"));\n\tconst providerId = options.providerId ?? DEFAULT_PROVIDER_ID;\n\tconst apiName = options.api ?? DEFAULT_API;\n\tlet faux: FauxProviderRegistration | undefined;\n\tlet session: AgentSession | undefined;\n\ttry {\n\t\tfaux = registerFauxProvider({\n\t\t\tapi: apiName,\n\t\t\tprovider: providerId,\n\t\t\tclock: () => 0,\n\t\t\tidFactory: (prefix, sequence) => `${prefix}-${sequence}`,\n\t\t});\n\t\tif (options.responses) faux.setResponses([...options.responses]);\n\t\tconst fauxRegistration = faux;\n\t\tconst model = fauxRegistration.getModel();\n\t\tconst authStorage = AuthStorage.inMemory();\n\t\tawait authStorage.modify(providerId, async () => ({ type: \"api_key\", key: \"faux-key\" }));\n\t\tconst modelRuntime = await ModelRuntime.create({\n\t\t\tcredentials: authStorage,\n\t\t\tmodelsPath: null,\n\t\t\tmodelsStore: new InMemoryCodingAgentModelsStore(),\n\t\t\tallowModelNetwork: false,\n\t\t\trefreshOnCreate: false,\n\t\t});\n\t\tmodelRuntime.registerProvider(providerId, {\n\t\t\tbaseUrl: model.baseUrl,\n\t\t\tapi: apiName,\n\t\t\tapiKey: \"faux-key\",\n\t\t\tmodels: fauxRegistration.models.map(modelConfig),\n\t\t});\n\t\tconst settingsManager = SettingsManager.create(tempDir, tempDir);\n\t\tconst resourceLoader = new DefaultResourceLoader({\n\t\t\tcwd: tempDir,\n\t\t\tagentDir: tempDir,\n\t\t\tsettingsManager,\n\t\t\tnoSkills: true,\n\t\t\tnoPromptTemplates: true,\n\t\t\tnoThemes: true,\n\t\t\tnoContextFiles: true,\n\t\t});\n\t\tawait resourceLoader.reload();\n\t\tconst sessionManager = SessionManager.inMemory(tempDir, { id: FIXED_SESSION_ID });\n\t\tconst created = await createAgentSession({\n\t\t\tagentDir: tempDir,\n\t\t\tnoTools: \"all\",\n\t\t\t// Custom fixture tools must be allowlisted explicitly: noTools=\"all\"\n\t\t\t// clears the allowlist, which would otherwise leave them inactive.\n\t\t\t...(options.tools === undefined\n\t\t\t\t? {}\n\t\t\t\t: { tools: options.tools.map((tool) => tool.name), customTools: [...options.tools] }),\n\t\t\tdiscoverCapabilityPlugins: false,\n\t\t\tenableAgentTasks: false,\n\t\t\t...(options.runLoopStrategyName === undefined ? {} : { runLoopStrategyName: options.runLoopStrategyName }),\n\t\t\tstreamFn: streamSimple,\n\t\t\tmodel,\n\t\t\tmodelRuntime,\n\t\t\tresourceLoader,\n\t\t\tsessionManager,\n\t\t\tsettingsManager,\n\t\t\tcwd: tempDir,\n\t\t\tagentComposition: options.composition,\n\t\t}).then(({ session: createdSession }) => createdSession);\n\t\tsession = created;\n\t\tconst activeSession = session;\n\t\tconst initialRuntime = activeSession.getCapabilityRuntime();\n\t\tconst handles = new Map<string, CapabilityPluginHandle>();\n\t\tconst pluginByManifest = new Map(options.plugins.map((plugin) => [plugin.manifest, plugin]));\n\t\tlet closing = false;\n\t\tlet disposed = false;\n\t\tlet disposePromise: Promise<void> | undefined;\n\t\tconst cleanup = async (): Promise<void> => {\n\t\t\tconst failures: unknown[] = [];\n\t\t\tfor (const handle of [...handles.values()].reverse()) {\n\t\t\t\ttry {\n\t\t\t\t\tawait handle.dispose();\n\t\t\t\t} catch (error) {\n\t\t\t\t\tfailures.push(error);\n\t\t\t\t}\n\t\t\t}\n\t\t\thandles.clear();\n\t\t\ttry {\n\t\t\t\tawait session?.dispose();\n\t\t\t} catch (error) {\n\t\t\t\tfailures.push(error);\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tfaux?.unregister();\n\t\t\t\tawait rm(tempDir, { recursive: true, force: true });\n\t\t\t} catch (error) {\n\t\t\t\tfailures.push(error);\n\t\t\t}\n\t\t\tif (failures.length === 1) throw failures[0];\n\t\t\tif (failures.length > 1) throw new AggregateError(failures, \"Session plugin testkit cleanup failed\");\n\t\t};\n\t\tconst ready = (async () => {\n\t\t\ttry {\n\t\t\t\tfor (const manifest of resolvePluginCapabilityOrder(options.plugins.map((plugin) => plugin.manifest))) {\n\t\t\t\t\t// v8 ignore next -- kit 仅在 ready 成功后返回,startup 期间不会调用 dispose\n\t\t\t\t\tif (closing) throw new Error(\"Session plugin testkit was disposed during startup\");\n\t\t\t\t\tconst plugin = pluginByManifest.get(manifest);\n\t\t\t\t\t// v8 ignore next -- plugins 数组同时供给加载顺序与 factory 映射,必可解析\n\t\t\t\t\tif (!plugin) throw new Error(`Session plugin testkit cannot resolve factory: ${manifest.id}`);\n\t\t\t\t\tconst handle = await activeSession.loadCapabilityPlugin(manifest, plugin.factory);\n\t\t\t\t\thandles.set(manifest.id, handle);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\ttry {\n\t\t\t\t\tawait cleanup();\n\t\t\t\t} catch (cleanupError) {\n\t\t\t\t\tthrow new AggregateError([error, cleanupError], \"Session plugin testkit startup rollback failed\");\n\t\t\t\t}\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t})();\n\t\tconst kit: SessionPluginTestKit = {\n\t\t\tready,\n\t\t\tsession: activeSession,\n\t\t\tagent: activeSession.agent,\n\t\t\tget runtime(): CapabilityRuntime {\n\t\t\t\tif (disposed) throw new Error(\"Session plugin testkit runtime is disposed\");\n\t\t\t\treturn activeSession.getCapabilityRuntime();\n\t\t\t},\n\t\t\tfaux: fauxRegistration,\n\t\t\tapi(pluginId) {\n\t\t\t\tif (activeSession.getCapabilityRuntime() !== initialRuntime) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\"Session plugin testkit plugin API handles expire after session reload; access the current runtime directly\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tconst handle = handles.get(pluginId);\n\t\t\t\tif (!handle) throw new Error(`Session plugin testkit has no loaded plugin: ${pluginId}`);\n\t\t\t\treturn handle.api;\n\t\t\t},\n\t\t\trevoke(pluginId) {\n\t\t\t\tif (activeSession.getCapabilityRuntime() !== initialRuntime) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\"Session plugin testkit plugin API handles expire after session reload; access the current runtime directly\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tconst handle = handles.get(pluginId);\n\t\t\t\tif (!handle) throw new Error(`Session plugin testkit has no loaded plugin: ${pluginId}`);\n\t\t\t\tactiveSession.getCapabilityRuntime().revokeAPI(handle.api);\n\t\t\t},\n\t\t\tassertResponsesConsumed() {\n\t\t\t\tconst pending = fauxRegistration.getPendingResponseCount();\n\t\t\t\tif (pending !== 0) {\n\t\t\t\t\tthrow new Error(`Session plugin testkit has ${pending} unused faux response${pending === 1 ? \"\" : \"s\"}`);\n\t\t\t\t}\n\t\t\t},\n\t\t\tinspect: () => activeSession.getCapabilityRuntime().inspect(),\n\t\t\ttranscript: () => {\n\t\t\t\tconst branch = sessionManager.getBranch();\n\t\t\t\tconst transcript: SessionPluginTestKitTranscript = {\n\t\t\t\t\tversion: 1,\n\t\t\t\t\tsessionId: sessionManager.getSessionId(),\n\t\t\t\t\trevision: sessionManager.getRevision().sequence,\n\t\t\t\t\tloadOrder: [...handles.keys()],\n\t\t\t\t\tfauxCallCount: fauxRegistration.state.callCount,\n\t\t\t\t\tmessages: activeSession.agent.state.messages.map((message) => ({\n\t\t\t\t\t\trole: message.role,\n\t\t\t\t\t\ttext: stableText(message),\n\t\t\t\t\t})),\n\t\t\t\t\tentries: branch.map((entry) => ({\n\t\t\t\t\t\ttype: entry.type,\n\t\t\t\t\t\t...(entry.type === \"custom\"\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tcustomType: entry.customType,\n\t\t\t\t\t\t\t\t\t...(entry.data === undefined ? {} : { data: transcriptValue(entry.data) }),\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t})),\n\t\t\t\t\tinspector: stableInspector(activeSession.getCapabilityRuntime().inspect()),\n\t\t\t\t};\n\t\t\t\treturn freezeSnapshot(transcript);\n\t\t\t},\n\t\t\tdispose: async () => {\n\t\t\t\tdisposePromise ??= (async () => {\n\t\t\t\t\tclosing = true;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait ready;\n\t\t\t\t\t} catch {\n\t\t\t\t\t\t// Startup rollback already disposed the session and faux provider.\n\t\t\t\t\t\t// v8 ignore next -- ready 已在返回前 await,dispose 中不会进入该 catch\n\t\t\t\t\t\tif (session?.isDisposed) {\n\t\t\t\t\t\t\tdisposed = true;\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait cleanup();\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tdisposed = true;\n\t\t\t\t\t}\n\t\t\t\t})();\n\t\t\t\treturn disposePromise;\n\t\t\t},\n\t\t};\n\t\tawait ready;\n\t\treturn kit;\n\t} catch (error) {\n\t\ttry {\n\t\t\tsession && (await session.dispose());\n\t\t} finally {\n\t\t\tfaux?.unregister();\n\t\t\tawait rm(tempDir, { recursive: true, force: true });\n\t\t}\n\t\tthrow error;\n\t}\n}\n\n/** Runs a session fixture repeatedly and rejects on the first transcript divergence. */\nexport async function repeatSessionPluginTestKit(\n\ttimes: number,\n\trun: () => Promise<SessionPluginTestKitTranscript>,\n): Promise<SessionPluginTestKitTranscript> {\n\tif (!Number.isSafeInteger(times) || times < 1)\n\t\tthrow new Error(\"Session plugin testkit repeat count must be a positive integer\");\n\tlet baseline: SessionPluginTestKitTranscript | undefined;\n\tfor (let index = 0; index < times; index += 1) {\n\t\tconst transcript = await run();\n\t\tif (baseline && canonicalJson(transcript) !== canonicalJson(baseline)) {\n\t\t\tthrow new Error(`Session plugin testkit transcript diverged on run ${index + 1}`);\n\t\t}\n\t\tbaseline = transcript;\n\t}\n\treturn baseline!;\n}\n"]}