@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,56 @@
1
+ /**
2
+ * Auto compaction executor (2A.3a) — threshold-triggered compaction with
3
+ * explicit cancellation and re-entrancy semantics, still built on the 2A.1
4
+ * checkpoint primitives.
5
+ *
6
+ * The trigger is a declared policy (enabled flag + token threshold); a
7
+ * disabled policy answers `disabled` explicitly. When the threshold is met
8
+ * the executor stages a checkpoint, hands an AbortSignal to the plugin's
9
+ * summarize callback, and commits — unless the signal fired first
10
+ * (`cancelled`, staged entry dropped, no half commit). Re-entrant triggers
11
+ * while a compaction is in flight are rejected as `busy`. Overflow recovery
12
+ * and retry belong to 2A.3b/2A.4.
13
+ */
14
+ import type { JsonValue } from "@agent-forge/ai";
15
+ import type { HostCheckpointCoordinatorV1 } from "./checkpoint-commit.ts";
16
+ export interface AutoCompactionPolicyV1 {
17
+ readonly policyId: string;
18
+ /** Compaction triggers only when currentTokens >= tokenThreshold. */
19
+ readonly tokenThreshold: number;
20
+ readonly enabled: boolean;
21
+ }
22
+ export type AutoCompactionOutcomeV1 = {
23
+ readonly status: "completed";
24
+ readonly revision: number;
25
+ readonly summary: JsonValue;
26
+ } | {
27
+ readonly status: "below_threshold";
28
+ readonly currentTokens: number;
29
+ readonly threshold: number;
30
+ } | {
31
+ readonly status: "cancelled";
32
+ } | {
33
+ readonly status: "summary_failed";
34
+ readonly reason: string;
35
+ } | {
36
+ readonly status: "stale";
37
+ readonly currentRevision: number;
38
+ } | {
39
+ readonly status: "busy";
40
+ } | {
41
+ readonly status: "disabled";
42
+ };
43
+ export interface AutoCompactionExecutorV1 {
44
+ maybeCompact(input: {
45
+ readonly operationId: string;
46
+ readonly currentTokens: number;
47
+ readonly summarize: (signal: AbortSignal | undefined) => JsonValue;
48
+ readonly signal?: AbortSignal;
49
+ }): AutoCompactionOutcomeV1;
50
+ readonly inProgress: boolean;
51
+ }
52
+ export declare function createAutoCompactionExecutor(options: {
53
+ readonly coordinator: HostCheckpointCoordinatorV1;
54
+ readonly policy: AutoCompactionPolicyV1;
55
+ }): AutoCompactionExecutorV1;
56
+ //# sourceMappingURL=auto-compaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-compaction.d.ts","sourceRoot":"","sources":["../../src/host/auto-compaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE1E,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,MAAM,uBAAuB,GAChC;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAA;CAAE,GACxF;IAAE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAClG;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAAE,GAChC;IAAE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAEnC,MAAM,WAAW,wBAAwB;IACxC,YAAY,CAAC,KAAK,EAAE;QACnB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,KAAK,SAAS,CAAC;QACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;KAC9B,GAAG,uBAAuB,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACrD,QAAQ,CAAC,WAAW,EAAE,2BAA2B,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;CACxC,GAAG,wBAAwB,CAsD3B","sourcesContent":["/**\n * Auto compaction executor (2A.3a) — threshold-triggered compaction with\n * explicit cancellation and re-entrancy semantics, still built on the 2A.1\n * checkpoint primitives.\n *\n * The trigger is a declared policy (enabled flag + token threshold); a\n * disabled policy answers `disabled` explicitly. When the threshold is met\n * the executor stages a checkpoint, hands an AbortSignal to the plugin's\n * summarize callback, and commits — unless the signal fired first\n * (`cancelled`, staged entry dropped, no half commit). Re-entrant triggers\n * while a compaction is in flight are rejected as `busy`. Overflow recovery\n * and retry belong to 2A.3b/2A.4.\n */\nimport type { JsonValue } from \"@agent-forge/ai\";\nimport type { HostCheckpointCoordinatorV1 } from \"./checkpoint-commit.ts\";\n\nexport interface AutoCompactionPolicyV1 {\n\treadonly policyId: string;\n\t/** Compaction triggers only when currentTokens >= tokenThreshold. */\n\treadonly tokenThreshold: number;\n\treadonly enabled: boolean;\n}\n\nexport type AutoCompactionOutcomeV1 =\n\t| { readonly status: \"completed\"; readonly revision: number; readonly summary: JsonValue }\n\t| { readonly status: \"below_threshold\"; readonly currentTokens: number; readonly threshold: number }\n\t| { readonly status: \"cancelled\" }\n\t| { readonly status: \"summary_failed\"; readonly reason: string }\n\t| { readonly status: \"stale\"; readonly currentRevision: number }\n\t| { readonly status: \"busy\" }\n\t| { readonly status: \"disabled\" };\n\nexport interface AutoCompactionExecutorV1 {\n\tmaybeCompact(input: {\n\t\treadonly operationId: string;\n\t\treadonly currentTokens: number;\n\t\treadonly summarize: (signal: AbortSignal | undefined) => JsonValue;\n\t\treadonly signal?: AbortSignal;\n\t}): AutoCompactionOutcomeV1;\n\treadonly inProgress: boolean;\n}\n\nexport function createAutoCompactionExecutor(options: {\n\treadonly coordinator: HostCheckpointCoordinatorV1;\n\treadonly policy: AutoCompactionPolicyV1;\n}): AutoCompactionExecutorV1 {\n\tconst coordinator = options.coordinator;\n\tconst policy = options.policy;\n\tlet inProgress = false;\n\n\treturn {\n\t\tget inProgress() {\n\t\t\treturn inProgress;\n\t\t},\n\t\tmaybeCompact(input) {\n\t\t\tif (!policy.enabled) return { status: \"disabled\" };\n\t\t\tif (inProgress) return { status: \"busy\" };\n\t\t\tif (input.currentTokens < policy.tokenThreshold) {\n\t\t\t\treturn { status: \"below_threshold\", currentTokens: input.currentTokens, threshold: policy.tokenThreshold };\n\t\t\t}\n\t\t\tinProgress = true;\n\t\t\ttry {\n\t\t\t\tconst staged = coordinator.stage({\n\t\t\t\t\toperationId: input.operationId,\n\t\t\t\t\texpectedRevision: coordinator.currentRevision,\n\t\t\t\t\tpayload: null,\n\t\t\t\t});\n\t\t\t\tif (staged.status === \"stale\") return { status: \"stale\", currentRevision: staged.currentRevision };\n\t\t\t\tif (staged.status === \"duplicate\") return { status: \"cancelled\" };\n\t\t\t\tif (input.signal?.aborted) {\n\t\t\t\t\tcoordinator.cancelStage(staged.staged.token);\n\t\t\t\t\treturn { status: \"cancelled\" };\n\t\t\t\t}\n\t\t\t\tlet summary: JsonValue;\n\t\t\t\ttry {\n\t\t\t\t\tsummary = input.summarize(input.signal);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tcoordinator.cancelStage(staged.staged.token);\n\t\t\t\t\treturn { status: \"summary_failed\", reason: error instanceof Error ? error.message : String(error) };\n\t\t\t\t}\n\t\t\t\tif (input.signal?.aborted) {\n\t\t\t\t\tcoordinator.cancelStage(staged.staged.token);\n\t\t\t\t\treturn { status: \"cancelled\" };\n\t\t\t\t}\n\t\t\t\tconst outcome = coordinator.commitStage({\n\t\t\t\t\ttoken: staged.staged.token,\n\t\t\t\t\tapply: () => undefined,\n\t\t\t\t});\n\t\t\t\tif (outcome.status === \"stale\") return { status: \"stale\", currentRevision: outcome.currentRevision };\n\t\t\t\tif (outcome.status === \"committed\") {\n\t\t\t\t\treturn { status: \"completed\", revision: outcome.revision, summary };\n\t\t\t\t}\n\t\t\t\tcoordinator.cancelStage(staged.staged.token);\n\t\t\t\treturn { status: \"cancelled\" };\n\t\t\t} finally {\n\t\t\t\tinProgress = false;\n\t\t\t}\n\t\t},\n\t};\n}\n"]}
@@ -0,0 +1,62 @@
1
+ export function createAutoCompactionExecutor(options) {
2
+ const coordinator = options.coordinator;
3
+ const policy = options.policy;
4
+ let inProgress = false;
5
+ return {
6
+ get inProgress() {
7
+ return inProgress;
8
+ },
9
+ maybeCompact(input) {
10
+ if (!policy.enabled)
11
+ return { status: "disabled" };
12
+ if (inProgress)
13
+ return { status: "busy" };
14
+ if (input.currentTokens < policy.tokenThreshold) {
15
+ return { status: "below_threshold", currentTokens: input.currentTokens, threshold: policy.tokenThreshold };
16
+ }
17
+ inProgress = true;
18
+ try {
19
+ const staged = coordinator.stage({
20
+ operationId: input.operationId,
21
+ expectedRevision: coordinator.currentRevision,
22
+ payload: null,
23
+ });
24
+ if (staged.status === "stale")
25
+ return { status: "stale", currentRevision: staged.currentRevision };
26
+ if (staged.status === "duplicate")
27
+ return { status: "cancelled" };
28
+ if (input.signal?.aborted) {
29
+ coordinator.cancelStage(staged.staged.token);
30
+ return { status: "cancelled" };
31
+ }
32
+ let summary;
33
+ try {
34
+ summary = input.summarize(input.signal);
35
+ }
36
+ catch (error) {
37
+ coordinator.cancelStage(staged.staged.token);
38
+ return { status: "summary_failed", reason: error instanceof Error ? error.message : String(error) };
39
+ }
40
+ if (input.signal?.aborted) {
41
+ coordinator.cancelStage(staged.staged.token);
42
+ return { status: "cancelled" };
43
+ }
44
+ const outcome = coordinator.commitStage({
45
+ token: staged.staged.token,
46
+ apply: () => undefined,
47
+ });
48
+ if (outcome.status === "stale")
49
+ return { status: "stale", currentRevision: outcome.currentRevision };
50
+ if (outcome.status === "committed") {
51
+ return { status: "completed", revision: outcome.revision, summary };
52
+ }
53
+ coordinator.cancelStage(staged.staged.token);
54
+ return { status: "cancelled" };
55
+ }
56
+ finally {
57
+ inProgress = false;
58
+ }
59
+ },
60
+ };
61
+ }
62
+ //# sourceMappingURL=auto-compaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-compaction.js","sourceRoot":"","sources":["../../src/host/auto-compaction.ts"],"names":[],"mappings":"AA0CA,MAAM,UAAU,4BAA4B,CAAC,OAG5C,EAA4B;IAC5B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACxC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,OAAO;QACN,IAAI,UAAU,GAAG;YAChB,OAAO,UAAU,CAAC;QAAA,CAClB;QACD,YAAY,CAAC,KAAK,EAAE;YACnB,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;YACnD,IAAI,UAAU;gBAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC1C,IAAI,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;gBACjD,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC;YAC5G,CAAC;YACD,UAAU,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC;oBAChC,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,gBAAgB,EAAE,WAAW,CAAC,eAAe;oBAC7C,OAAO,EAAE,IAAI;iBACb,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO;oBAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC;gBACnG,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW;oBAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;gBAClE,IAAI,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;oBAC3B,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC7C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;gBAChC,CAAC;gBACD,IAAI,OAAkB,CAAC;gBACvB,IAAI,CAAC;oBACJ,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACzC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC7C,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrG,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;oBAC3B,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC7C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;gBAChC,CAAC;gBACD,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC;oBACvC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK;oBAC1B,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS;iBACtB,CAAC,CAAC;gBACH,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO;oBAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;gBACrG,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBACpC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;gBACrE,CAAC;gBACD,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC7C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YAChC,CAAC;oBAAS,CAAC;gBACV,UAAU,GAAG,KAAK,CAAC;YACpB,CAAC;QAAA,CACD;KACD,CAAC;AAAA,CACF","sourcesContent":["/**\n * Auto compaction executor (2A.3a) — threshold-triggered compaction with\n * explicit cancellation and re-entrancy semantics, still built on the 2A.1\n * checkpoint primitives.\n *\n * The trigger is a declared policy (enabled flag + token threshold); a\n * disabled policy answers `disabled` explicitly. When the threshold is met\n * the executor stages a checkpoint, hands an AbortSignal to the plugin's\n * summarize callback, and commits — unless the signal fired first\n * (`cancelled`, staged entry dropped, no half commit). Re-entrant triggers\n * while a compaction is in flight are rejected as `busy`. Overflow recovery\n * and retry belong to 2A.3b/2A.4.\n */\nimport type { JsonValue } from \"@agent-forge/ai\";\nimport type { HostCheckpointCoordinatorV1 } from \"./checkpoint-commit.ts\";\n\nexport interface AutoCompactionPolicyV1 {\n\treadonly policyId: string;\n\t/** Compaction triggers only when currentTokens >= tokenThreshold. */\n\treadonly tokenThreshold: number;\n\treadonly enabled: boolean;\n}\n\nexport type AutoCompactionOutcomeV1 =\n\t| { readonly status: \"completed\"; readonly revision: number; readonly summary: JsonValue }\n\t| { readonly status: \"below_threshold\"; readonly currentTokens: number; readonly threshold: number }\n\t| { readonly status: \"cancelled\" }\n\t| { readonly status: \"summary_failed\"; readonly reason: string }\n\t| { readonly status: \"stale\"; readonly currentRevision: number }\n\t| { readonly status: \"busy\" }\n\t| { readonly status: \"disabled\" };\n\nexport interface AutoCompactionExecutorV1 {\n\tmaybeCompact(input: {\n\t\treadonly operationId: string;\n\t\treadonly currentTokens: number;\n\t\treadonly summarize: (signal: AbortSignal | undefined) => JsonValue;\n\t\treadonly signal?: AbortSignal;\n\t}): AutoCompactionOutcomeV1;\n\treadonly inProgress: boolean;\n}\n\nexport function createAutoCompactionExecutor(options: {\n\treadonly coordinator: HostCheckpointCoordinatorV1;\n\treadonly policy: AutoCompactionPolicyV1;\n}): AutoCompactionExecutorV1 {\n\tconst coordinator = options.coordinator;\n\tconst policy = options.policy;\n\tlet inProgress = false;\n\n\treturn {\n\t\tget inProgress() {\n\t\t\treturn inProgress;\n\t\t},\n\t\tmaybeCompact(input) {\n\t\t\tif (!policy.enabled) return { status: \"disabled\" };\n\t\t\tif (inProgress) return { status: \"busy\" };\n\t\t\tif (input.currentTokens < policy.tokenThreshold) {\n\t\t\t\treturn { status: \"below_threshold\", currentTokens: input.currentTokens, threshold: policy.tokenThreshold };\n\t\t\t}\n\t\t\tinProgress = true;\n\t\t\ttry {\n\t\t\t\tconst staged = coordinator.stage({\n\t\t\t\t\toperationId: input.operationId,\n\t\t\t\t\texpectedRevision: coordinator.currentRevision,\n\t\t\t\t\tpayload: null,\n\t\t\t\t});\n\t\t\t\tif (staged.status === \"stale\") return { status: \"stale\", currentRevision: staged.currentRevision };\n\t\t\t\tif (staged.status === \"duplicate\") return { status: \"cancelled\" };\n\t\t\t\tif (input.signal?.aborted) {\n\t\t\t\t\tcoordinator.cancelStage(staged.staged.token);\n\t\t\t\t\treturn { status: \"cancelled\" };\n\t\t\t\t}\n\t\t\t\tlet summary: JsonValue;\n\t\t\t\ttry {\n\t\t\t\t\tsummary = input.summarize(input.signal);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tcoordinator.cancelStage(staged.staged.token);\n\t\t\t\t\treturn { status: \"summary_failed\", reason: error instanceof Error ? error.message : String(error) };\n\t\t\t\t}\n\t\t\t\tif (input.signal?.aborted) {\n\t\t\t\t\tcoordinator.cancelStage(staged.staged.token);\n\t\t\t\t\treturn { status: \"cancelled\" };\n\t\t\t\t}\n\t\t\t\tconst outcome = coordinator.commitStage({\n\t\t\t\t\ttoken: staged.staged.token,\n\t\t\t\t\tapply: () => undefined,\n\t\t\t\t});\n\t\t\t\tif (outcome.status === \"stale\") return { status: \"stale\", currentRevision: outcome.currentRevision };\n\t\t\t\tif (outcome.status === \"committed\") {\n\t\t\t\t\treturn { status: \"completed\", revision: outcome.revision, summary };\n\t\t\t\t}\n\t\t\t\tcoordinator.cancelStage(staged.staged.token);\n\t\t\t\treturn { status: \"cancelled\" };\n\t\t\t} finally {\n\t\t\t\tinProgress = false;\n\t\t\t}\n\t\t},\n\t};\n}\n"]}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Branch state migration (2A.5a) and reload transaction (2A.5b).
3
+ *
4
+ * Branch migration copies state entries from one branch to another: the
5
+ * source entries stay in place (a migrated copy never overwrites or erases
6
+ * the old branch), and scanning a branch only ever sees that branch's own
7
+ * entries. The reload transaction is all-or-nothing: every item is
8
+ * validated FIRST — one validation failure rolls back the whole batch with
9
+ * structured failure evidence, and no commit callback ever runs. Empty
10
+ * migration sources are an explicit outcome, never a silent no-op success.
11
+ */
12
+ export interface BranchStateEntryV1 {
13
+ readonly key: string;
14
+ readonly value: string;
15
+ readonly branch: string;
16
+ }
17
+ export type BranchMigrationOutcomeV1 = {
18
+ readonly status: "migrated";
19
+ readonly fromBranch: string;
20
+ readonly toBranch: string;
21
+ readonly migrated: readonly {
22
+ readonly key: string;
23
+ readonly value: string;
24
+ }[];
25
+ } | {
26
+ readonly status: "empty_source";
27
+ readonly fromBranch: string;
28
+ };
29
+ export interface BranchStateMigrationV1 {
30
+ migrate(input: {
31
+ readonly entries: readonly BranchStateEntryV1[];
32
+ readonly fromBranch: string;
33
+ readonly toBranch: string;
34
+ }): BranchMigrationOutcomeV1;
35
+ scan(entries: readonly BranchStateEntryV1[], branch: string): readonly BranchStateEntryV1[];
36
+ }
37
+ export declare function createBranchStateMigration(): BranchStateMigrationV1;
38
+ export interface ReloadTransactionItemV1 {
39
+ /** Returns null when valid, otherwise the raw validation failure. */
40
+ validate(): string | null;
41
+ commit(): void;
42
+ }
43
+ export interface ReloadTransactionV1 {
44
+ reload(items: readonly ReloadTransactionItemV1[]): {
45
+ readonly status: "committed";
46
+ readonly count: number;
47
+ } | {
48
+ readonly status: "rolled_back";
49
+ readonly failures: readonly {
50
+ readonly index: number;
51
+ readonly reason: string;
52
+ }[];
53
+ };
54
+ }
55
+ export declare function createReloadTransaction(): ReloadTransactionV1;
56
+ //# sourceMappingURL=branch-reload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branch-reload.d.ts","sourceRoot":"","sources":["../../src/host/branch-reload.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,wBAAwB,GACjC;IACA,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC9E,GACD;IAAE,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpE,MAAM,WAAW,sBAAsB;IACtC,OAAO,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAC;QAChD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC1B,GAAG,wBAAwB,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,SAAS,kBAAkB,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,kBAAkB,EAAE,CAAC;CAC5F;AAED,wBAAgB,0BAA0B,IAAI,sBAAsB,CAkBnE;AAED,MAAM,WAAW,uBAAuB;IACvC,qEAAqE;IACrE,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IACnC,MAAM,CAAC,KAAK,EAAE,SAAS,uBAAuB,EAAE,GAC7C;QAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GACxD;QACA,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;QAC/B,QAAQ,CAAC,QAAQ,EAAE,SAAS;YAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KACjF,CAAC;CACL;AAED,wBAAgB,uBAAuB,IAAI,mBAAmB,CAgB7D","sourcesContent":["/**\n * Branch state migration (2A.5a) and reload transaction (2A.5b).\n *\n * Branch migration copies state entries from one branch to another: the\n * source entries stay in place (a migrated copy never overwrites or erases\n * the old branch), and scanning a branch only ever sees that branch's own\n * entries. The reload transaction is all-or-nothing: every item is\n * validated FIRST — one validation failure rolls back the whole batch with\n * structured failure evidence, and no commit callback ever runs. Empty\n * migration sources are an explicit outcome, never a silent no-op success.\n */\nexport interface BranchStateEntryV1 {\n\treadonly key: string;\n\treadonly value: string;\n\treadonly branch: string;\n}\n\nexport type BranchMigrationOutcomeV1 =\n\t| {\n\t\t\treadonly status: \"migrated\";\n\t\t\treadonly fromBranch: string;\n\t\t\treadonly toBranch: string;\n\t\t\treadonly migrated: readonly { readonly key: string; readonly value: string }[];\n\t }\n\t| { readonly status: \"empty_source\"; readonly fromBranch: string };\n\nexport interface BranchStateMigrationV1 {\n\tmigrate(input: {\n\t\treadonly entries: readonly BranchStateEntryV1[];\n\t\treadonly fromBranch: string;\n\t\treadonly toBranch: string;\n\t}): BranchMigrationOutcomeV1;\n\tscan(entries: readonly BranchStateEntryV1[], branch: string): readonly BranchStateEntryV1[];\n}\n\nexport function createBranchStateMigration(): BranchStateMigrationV1 {\n\treturn {\n\t\tmigrate({ entries, fromBranch, toBranch }) {\n\t\t\tconst source = entries.filter((entry) => entry.branch === fromBranch);\n\t\t\tif (source.length === 0) {\n\t\t\t\treturn { status: \"empty_source\", fromBranch };\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tstatus: \"migrated\",\n\t\t\t\tfromBranch,\n\t\t\t\ttoBranch,\n\t\t\t\tmigrated: Object.freeze(source.map((entry) => ({ key: entry.key, value: entry.value }))),\n\t\t\t};\n\t\t},\n\t\tscan(entries, branch) {\n\t\t\treturn Object.freeze(entries.filter((entry) => entry.branch === branch));\n\t\t},\n\t};\n}\n\nexport interface ReloadTransactionItemV1 {\n\t/** Returns null when valid, otherwise the raw validation failure. */\n\tvalidate(): string | null;\n\tcommit(): void;\n}\n\nexport interface ReloadTransactionV1 {\n\treload(items: readonly ReloadTransactionItemV1[]):\n\t\t| { readonly status: \"committed\"; readonly count: number }\n\t\t| {\n\t\t\t\treadonly status: \"rolled_back\";\n\t\t\t\treadonly failures: readonly { readonly index: number; readonly reason: string }[];\n\t\t };\n}\n\nexport function createReloadTransaction(): ReloadTransactionV1 {\n\treturn {\n\t\treload(items) {\n\t\t\t// Validate EVERY item before committing ANY item.\n\t\t\tconst failures: Array<{ index: number; reason: string }> = [];\n\t\t\tfor (const [index, item] of items.entries()) {\n\t\t\t\tconst failure = item.validate();\n\t\t\t\tif (failure !== null) failures.push({ index, reason: failure });\n\t\t\t}\n\t\t\tif (failures.length > 0) {\n\t\t\t\treturn { status: \"rolled_back\", failures: Object.freeze(failures) };\n\t\t\t}\n\t\t\tfor (const item of items) item.commit();\n\t\t\treturn { status: \"committed\", count: items.length };\n\t\t},\n\t};\n}\n"]}
@@ -0,0 +1,39 @@
1
+ export function createBranchStateMigration() {
2
+ return {
3
+ migrate({ entries, fromBranch, toBranch }) {
4
+ const source = entries.filter((entry) => entry.branch === fromBranch);
5
+ if (source.length === 0) {
6
+ return { status: "empty_source", fromBranch };
7
+ }
8
+ return {
9
+ status: "migrated",
10
+ fromBranch,
11
+ toBranch,
12
+ migrated: Object.freeze(source.map((entry) => ({ key: entry.key, value: entry.value }))),
13
+ };
14
+ },
15
+ scan(entries, branch) {
16
+ return Object.freeze(entries.filter((entry) => entry.branch === branch));
17
+ },
18
+ };
19
+ }
20
+ export function createReloadTransaction() {
21
+ return {
22
+ reload(items) {
23
+ // Validate EVERY item before committing ANY item.
24
+ const failures = [];
25
+ for (const [index, item] of items.entries()) {
26
+ const failure = item.validate();
27
+ if (failure !== null)
28
+ failures.push({ index, reason: failure });
29
+ }
30
+ if (failures.length > 0) {
31
+ return { status: "rolled_back", failures: Object.freeze(failures) };
32
+ }
33
+ for (const item of items)
34
+ item.commit();
35
+ return { status: "committed", count: items.length };
36
+ },
37
+ };
38
+ }
39
+ //# sourceMappingURL=branch-reload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branch-reload.js","sourceRoot":"","sources":["../../src/host/branch-reload.ts"],"names":[],"mappings":"AAmCA,MAAM,UAAU,0BAA0B,GAA2B;IACpE,OAAO;QACN,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE;YAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;YACtE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;YAC/C,CAAC;YACD,OAAO;gBACN,MAAM,EAAE,UAAU;gBAClB,UAAU;gBACV,QAAQ;gBACR,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aACxF,CAAC;QAAA,CACF;QACD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;YACrB,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC;QAAA,CACzE;KACD,CAAC;AAAA,CACF;AAiBD,MAAM,UAAU,uBAAuB,GAAwB;IAC9D,OAAO;QACN,MAAM,CAAC,KAAK,EAAE;YACb,kDAAkD;YAClD,MAAM,QAAQ,GAA6C,EAAE,CAAC;YAC9D,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChC,IAAI,OAAO,KAAK,IAAI;oBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrE,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YACxC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAAA,CACpD;KACD,CAAC;AAAA,CACF","sourcesContent":["/**\n * Branch state migration (2A.5a) and reload transaction (2A.5b).\n *\n * Branch migration copies state entries from one branch to another: the\n * source entries stay in place (a migrated copy never overwrites or erases\n * the old branch), and scanning a branch only ever sees that branch's own\n * entries. The reload transaction is all-or-nothing: every item is\n * validated FIRST — one validation failure rolls back the whole batch with\n * structured failure evidence, and no commit callback ever runs. Empty\n * migration sources are an explicit outcome, never a silent no-op success.\n */\nexport interface BranchStateEntryV1 {\n\treadonly key: string;\n\treadonly value: string;\n\treadonly branch: string;\n}\n\nexport type BranchMigrationOutcomeV1 =\n\t| {\n\t\t\treadonly status: \"migrated\";\n\t\t\treadonly fromBranch: string;\n\t\t\treadonly toBranch: string;\n\t\t\treadonly migrated: readonly { readonly key: string; readonly value: string }[];\n\t }\n\t| { readonly status: \"empty_source\"; readonly fromBranch: string };\n\nexport interface BranchStateMigrationV1 {\n\tmigrate(input: {\n\t\treadonly entries: readonly BranchStateEntryV1[];\n\t\treadonly fromBranch: string;\n\t\treadonly toBranch: string;\n\t}): BranchMigrationOutcomeV1;\n\tscan(entries: readonly BranchStateEntryV1[], branch: string): readonly BranchStateEntryV1[];\n}\n\nexport function createBranchStateMigration(): BranchStateMigrationV1 {\n\treturn {\n\t\tmigrate({ entries, fromBranch, toBranch }) {\n\t\t\tconst source = entries.filter((entry) => entry.branch === fromBranch);\n\t\t\tif (source.length === 0) {\n\t\t\t\treturn { status: \"empty_source\", fromBranch };\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tstatus: \"migrated\",\n\t\t\t\tfromBranch,\n\t\t\t\ttoBranch,\n\t\t\t\tmigrated: Object.freeze(source.map((entry) => ({ key: entry.key, value: entry.value }))),\n\t\t\t};\n\t\t},\n\t\tscan(entries, branch) {\n\t\t\treturn Object.freeze(entries.filter((entry) => entry.branch === branch));\n\t\t},\n\t};\n}\n\nexport interface ReloadTransactionItemV1 {\n\t/** Returns null when valid, otherwise the raw validation failure. */\n\tvalidate(): string | null;\n\tcommit(): void;\n}\n\nexport interface ReloadTransactionV1 {\n\treload(items: readonly ReloadTransactionItemV1[]):\n\t\t| { readonly status: \"committed\"; readonly count: number }\n\t\t| {\n\t\t\t\treadonly status: \"rolled_back\";\n\t\t\t\treadonly failures: readonly { readonly index: number; readonly reason: string }[];\n\t\t };\n}\n\nexport function createReloadTransaction(): ReloadTransactionV1 {\n\treturn {\n\t\treload(items) {\n\t\t\t// Validate EVERY item before committing ANY item.\n\t\t\tconst failures: Array<{ index: number; reason: string }> = [];\n\t\t\tfor (const [index, item] of items.entries()) {\n\t\t\t\tconst failure = item.validate();\n\t\t\t\tif (failure !== null) failures.push({ index, reason: failure });\n\t\t\t}\n\t\t\tif (failures.length > 0) {\n\t\t\t\treturn { status: \"rolled_back\", failures: Object.freeze(failures) };\n\t\t\t}\n\t\t\tfor (const item of items) item.commit();\n\t\t\treturn { status: \"committed\", count: items.length };\n\t\t},\n\t};\n}\n"]}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * stdio/stderr channel adapter (3.5b) — routes projected host output records
3
+ * (2.6b) into print and JSON channel semantics.
4
+ *
5
+ * print mode: stdout carries ONLY the model's answer text (message records);
6
+ * tool activity, diagnostics, and lifecycle phases go to stderr. JSON mode:
7
+ * stdout carries every record as one stable JSON line per record (machine
8
+ * and RPC consumers — identical input yields identical bytes, with traceId
9
+ * and correlationId preserved), while stderr still mirrors diagnostics for
10
+ * humans. No web viewer here.
11
+ */
12
+ import type { HostOutputRecordV1 } from "./output-projection.ts";
13
+ export type ChannelFormatV1 = "print" | "json";
14
+ export interface ChannelAdapterV1 {
15
+ ingest(records: readonly HostOutputRecordV1[]): {
16
+ readonly stdoutLines: number;
17
+ readonly stderrLines: number;
18
+ };
19
+ }
20
+ export declare function createStdioChannelAdapter(options: {
21
+ readonly format: ChannelFormatV1;
22
+ readonly writeStdout: (text: string) => void;
23
+ readonly writeStderr: (text: string) => void;
24
+ }): ChannelAdapterV1;
25
+ //# sourceMappingURL=channel-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel-adapter.d.ts","sourceRoot":"","sources":["../../src/host/channel-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAChC,MAAM,CAAC,OAAO,EAAE,SAAS,kBAAkB,EAAE,GAAG;QAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/G;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE;IAClD,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C,GAAG,gBAAgB,CA6BnB","sourcesContent":["/**\n * stdio/stderr channel adapter (3.5b) — routes projected host output records\n * (2.6b) into print and JSON channel semantics.\n *\n * print mode: stdout carries ONLY the model's answer text (message records);\n * tool activity, diagnostics, and lifecycle phases go to stderr. JSON mode:\n * stdout carries every record as one stable JSON line per record (machine\n * and RPC consumers — identical input yields identical bytes, with traceId\n * and correlationId preserved), while stderr still mirrors diagnostics for\n * humans. No web viewer here.\n */\nimport type { HostOutputRecordV1 } from \"./output-projection.ts\";\n\nexport type ChannelFormatV1 = \"print\" | \"json\";\n\nexport interface ChannelAdapterV1 {\n\tingest(records: readonly HostOutputRecordV1[]): { readonly stdoutLines: number; readonly stderrLines: number };\n}\n\nexport function createStdioChannelAdapter(options: {\n\treadonly format: ChannelFormatV1;\n\treadonly writeStdout: (text: string) => void;\n\treadonly writeStderr: (text: string) => void;\n}): ChannelAdapterV1 {\n\tconst { format, writeStdout, writeStderr } = options;\n\n\treturn {\n\t\tingest(records) {\n\t\t\tlet stdoutLines = 0;\n\t\t\tlet stderrLines = 0;\n\t\t\tfor (const record of records) {\n\t\t\t\tif (format === \"print\") {\n\t\t\t\t\tif (record.channel === \"message\") {\n\t\t\t\t\t\twriteStdout(record.summary);\n\t\t\t\t\t\tstdoutLines += 1;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\twriteStderr(formatStderrLine(record));\n\t\t\t\t\tstderrLines += 1;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\t// JSON mode: stable serialization on stdout for machine/RPC consumers.\n\t\t\t\twriteStdout(JSON.stringify(record));\n\t\t\t\tstdoutLines += 1;\n\t\t\t\tif (record.channel === \"diagnostic\") {\n\t\t\t\t\twriteStderr(formatStderrLine(record));\n\t\t\t\t\tstderrLines += 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn { stdoutLines, stderrLines };\n\t\t},\n\t};\n}\n\nfunction formatStderrLine(record: HostOutputRecordV1): string {\n\tconst parts = [`[${record.channel}/${record.severity}]`];\n\tif (record.traceId) parts.push(`trace=${record.traceId}`);\n\tif (record.correlationId !== undefined) parts.push(`call=${record.correlationId}`);\n\tif (record.code !== undefined) {\n\t\tconst label = record.channel === \"tool\" ? \"tool\" : \"code\";\n\t\tparts.push(`${label}=${record.code}: ${record.summary}`);\n\t} else {\n\t\tparts.push(record.summary);\n\t}\n\treturn parts.join(\" \");\n}\n"]}
@@ -0,0 +1,45 @@
1
+ export function createStdioChannelAdapter(options) {
2
+ const { format, writeStdout, writeStderr } = options;
3
+ return {
4
+ ingest(records) {
5
+ let stdoutLines = 0;
6
+ let stderrLines = 0;
7
+ for (const record of records) {
8
+ if (format === "print") {
9
+ if (record.channel === "message") {
10
+ writeStdout(record.summary);
11
+ stdoutLines += 1;
12
+ continue;
13
+ }
14
+ writeStderr(formatStderrLine(record));
15
+ stderrLines += 1;
16
+ continue;
17
+ }
18
+ // JSON mode: stable serialization on stdout for machine/RPC consumers.
19
+ writeStdout(JSON.stringify(record));
20
+ stdoutLines += 1;
21
+ if (record.channel === "diagnostic") {
22
+ writeStderr(formatStderrLine(record));
23
+ stderrLines += 1;
24
+ }
25
+ }
26
+ return { stdoutLines, stderrLines };
27
+ },
28
+ };
29
+ }
30
+ function formatStderrLine(record) {
31
+ const parts = [`[${record.channel}/${record.severity}]`];
32
+ if (record.traceId)
33
+ parts.push(`trace=${record.traceId}`);
34
+ if (record.correlationId !== undefined)
35
+ parts.push(`call=${record.correlationId}`);
36
+ if (record.code !== undefined) {
37
+ const label = record.channel === "tool" ? "tool" : "code";
38
+ parts.push(`${label}=${record.code}: ${record.summary}`);
39
+ }
40
+ else {
41
+ parts.push(record.summary);
42
+ }
43
+ return parts.join(" ");
44
+ }
45
+ //# sourceMappingURL=channel-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel-adapter.js","sourceRoot":"","sources":["../../src/host/channel-adapter.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,yBAAyB,CAAC,OAIzC,EAAoB;IACpB,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAErD,OAAO;QACN,MAAM,CAAC,OAAO,EAAE;YACf,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC9B,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;oBACxB,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;wBAClC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAC5B,WAAW,IAAI,CAAC,CAAC;wBACjB,SAAS;oBACV,CAAC;oBACD,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;oBACtC,WAAW,IAAI,CAAC,CAAC;oBACjB,SAAS;gBACV,CAAC;gBACD,uEAAuE;gBACvE,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpC,WAAW,IAAI,CAAC,CAAC;gBACjB,IAAI,MAAM,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;oBACrC,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;oBACtC,WAAW,IAAI,CAAC,CAAC;gBAClB,CAAC;YACF,CAAC;YACD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;QAAA,CACpC;KACD,CAAC;AAAA,CACF;AAED,SAAS,gBAAgB,CAAC,MAA0B,EAAU;IAC7D,MAAM,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;IACzD,IAAI,MAAM,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;IACnF,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACP,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAAA,CACvB","sourcesContent":["/**\n * stdio/stderr channel adapter (3.5b) — routes projected host output records\n * (2.6b) into print and JSON channel semantics.\n *\n * print mode: stdout carries ONLY the model's answer text (message records);\n * tool activity, diagnostics, and lifecycle phases go to stderr. JSON mode:\n * stdout carries every record as one stable JSON line per record (machine\n * and RPC consumers — identical input yields identical bytes, with traceId\n * and correlationId preserved), while stderr still mirrors diagnostics for\n * humans. No web viewer here.\n */\nimport type { HostOutputRecordV1 } from \"./output-projection.ts\";\n\nexport type ChannelFormatV1 = \"print\" | \"json\";\n\nexport interface ChannelAdapterV1 {\n\tingest(records: readonly HostOutputRecordV1[]): { readonly stdoutLines: number; readonly stderrLines: number };\n}\n\nexport function createStdioChannelAdapter(options: {\n\treadonly format: ChannelFormatV1;\n\treadonly writeStdout: (text: string) => void;\n\treadonly writeStderr: (text: string) => void;\n}): ChannelAdapterV1 {\n\tconst { format, writeStdout, writeStderr } = options;\n\n\treturn {\n\t\tingest(records) {\n\t\t\tlet stdoutLines = 0;\n\t\t\tlet stderrLines = 0;\n\t\t\tfor (const record of records) {\n\t\t\t\tif (format === \"print\") {\n\t\t\t\t\tif (record.channel === \"message\") {\n\t\t\t\t\t\twriteStdout(record.summary);\n\t\t\t\t\t\tstdoutLines += 1;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\twriteStderr(formatStderrLine(record));\n\t\t\t\t\tstderrLines += 1;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\t// JSON mode: stable serialization on stdout for machine/RPC consumers.\n\t\t\t\twriteStdout(JSON.stringify(record));\n\t\t\t\tstdoutLines += 1;\n\t\t\t\tif (record.channel === \"diagnostic\") {\n\t\t\t\t\twriteStderr(formatStderrLine(record));\n\t\t\t\t\tstderrLines += 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn { stdoutLines, stderrLines };\n\t\t},\n\t};\n}\n\nfunction formatStderrLine(record: HostOutputRecordV1): string {\n\tconst parts = [`[${record.channel}/${record.severity}]`];\n\tif (record.traceId) parts.push(`trace=${record.traceId}`);\n\tif (record.correlationId !== undefined) parts.push(`call=${record.correlationId}`);\n\tif (record.code !== undefined) {\n\t\tconst label = record.channel === \"tool\" ? \"tool\" : \"code\";\n\t\tparts.push(`${label}=${record.code}: ${record.summary}`);\n\t} else {\n\t\tparts.push(record.summary);\n\t}\n\treturn parts.join(\" \");\n}\n"]}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Host checkpoint/commit (2A.1) — the revision-guarded, idempotent,
3
+ * two-phase write primitive the execution loop uses to persist session
4
+ * context.
5
+ *
6
+ * Phase 1 (`stage`): the writer declares an operation against an expected
7
+ * revision. Stale expectations are rejected with the current revision.
8
+ * Phase 2 (`commitStage`): the payload is applied exactly once through the
9
+ * caller's apply callback ONLY if the revision still matches; the revision
10
+ * advances strictly after a successful apply.
11
+ *
12
+ * No path ever leaves a half commit: stale → revision untouched; duplicate
13
+ * operationId → the first committed result is returned verbatim (never
14
+ * re-applied); write failure → staged entry dropped, revision untouched;
15
+ * cancellation → the staged entry is cancelled and can never commit.
16
+ * Everything is deterministic and replayable. Summary policies, auto
17
+ * compaction, retry, and branch migration are later 2A slices.
18
+ */
19
+ import type { JsonValue } from "@agent-forge/ai";
20
+ export interface HostStagedWriteV1 {
21
+ readonly token: string;
22
+ readonly operationId: string;
23
+ readonly expectedRevision: number;
24
+ readonly currentRevision: number;
25
+ }
26
+ export type HostStageResultV1 = {
27
+ readonly status: "staged";
28
+ readonly staged: HostStagedWriteV1;
29
+ } | {
30
+ readonly status: "stale";
31
+ readonly currentRevision: number;
32
+ }
33
+ /** The operationId already committed; the first result is echoed, never re-applied. */
34
+ | {
35
+ readonly status: "duplicate";
36
+ readonly revision: number;
37
+ };
38
+ export type HostCommitOutcomeV1 = {
39
+ readonly status: "committed";
40
+ readonly revision: number;
41
+ } | {
42
+ readonly status: "stale";
43
+ readonly currentRevision: number;
44
+ } | {
45
+ readonly status: "write_failed";
46
+ readonly reason: string;
47
+ } | {
48
+ readonly status: "cancelled";
49
+ } | {
50
+ readonly status: "unknown_token";
51
+ } | {
52
+ readonly status: "duplicate";
53
+ readonly revision: number;
54
+ };
55
+ export interface HostCheckpointCoordinatorV1 {
56
+ stage(input: {
57
+ readonly operationId: string;
58
+ readonly expectedRevision: number;
59
+ readonly payload: JsonValue;
60
+ }): HostStageResultV1;
61
+ commitStage(input: {
62
+ readonly token: string;
63
+ readonly apply: (payload: JsonValue, revision: number) => void;
64
+ }): HostCommitOutcomeV1;
65
+ cancelStage(token: string): {
66
+ readonly status: "cancelled" | "unknown_token" | "already_committed";
67
+ };
68
+ readonly currentRevision: number;
69
+ committedOperationIds(): readonly string[];
70
+ }
71
+ export declare function createHostCheckpointCoordinator(options?: {
72
+ readonly startRevision?: number;
73
+ }): HostCheckpointCoordinatorV1;
74
+ //# sourceMappingURL=checkpoint-commit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkpoint-commit.d.ts","sourceRoot":"","sources":["../../src/host/checkpoint-commit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,MAAM,iBAAiB,GAC1B;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;CAAE,GACjE;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAAE;AAChE,uFAAuF;GACrF;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/D,MAAM,MAAM,mBAAmB,GAC5B;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAAE,GAChC;IAAE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;CAAE,GACpC;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/D,MAAM,WAAW,2BAA2B;IAC3C,KAAK,CAAC,KAAK,EAAE;QACZ,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;QAClC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;KAC5B,GAAG,iBAAiB,CAAC;IACtB,WAAW,CAAC,KAAK,EAAE;QAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;KAC/D,GAAG,mBAAmB,CAAC;IACxB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,mBAAmB,CAAA;KAAE,CAAC;IACrG,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,qBAAqB,IAAI,SAAS,MAAM,EAAE,CAAC;CAC3C;AASD,wBAAgB,+BAA+B,CAC9C,OAAO,GAAE;IAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/C,2BAA2B,CAsE7B","sourcesContent":["/**\n * Host checkpoint/commit (2A.1) — the revision-guarded, idempotent,\n * two-phase write primitive the execution loop uses to persist session\n * context.\n *\n * Phase 1 (`stage`): the writer declares an operation against an expected\n * revision. Stale expectations are rejected with the current revision.\n * Phase 2 (`commitStage`): the payload is applied exactly once through the\n * caller's apply callback ONLY if the revision still matches; the revision\n * advances strictly after a successful apply.\n *\n * No path ever leaves a half commit: stale → revision untouched; duplicate\n * operationId → the first committed result is returned verbatim (never\n * re-applied); write failure → staged entry dropped, revision untouched;\n * cancellation → the staged entry is cancelled and can never commit.\n * Everything is deterministic and replayable. Summary policies, auto\n * compaction, retry, and branch migration are later 2A slices.\n */\nimport type { JsonValue } from \"@agent-forge/ai\";\n\nexport interface HostStagedWriteV1 {\n\treadonly token: string;\n\treadonly operationId: string;\n\treadonly expectedRevision: number;\n\treadonly currentRevision: number;\n}\n\nexport type HostStageResultV1 =\n\t| { readonly status: \"staged\"; readonly staged: HostStagedWriteV1 }\n\t| { readonly status: \"stale\"; readonly currentRevision: number }\n\t/** The operationId already committed; the first result is echoed, never re-applied. */\n\t| { readonly status: \"duplicate\"; readonly revision: number };\n\nexport type HostCommitOutcomeV1 =\n\t| { readonly status: \"committed\"; readonly revision: number }\n\t| { readonly status: \"stale\"; readonly currentRevision: number }\n\t| { readonly status: \"write_failed\"; readonly reason: string }\n\t| { readonly status: \"cancelled\" }\n\t| { readonly status: \"unknown_token\" }\n\t| { readonly status: \"duplicate\"; readonly revision: number };\n\nexport interface HostCheckpointCoordinatorV1 {\n\tstage(input: {\n\t\treadonly operationId: string;\n\t\treadonly expectedRevision: number;\n\t\treadonly payload: JsonValue;\n\t}): HostStageResultV1;\n\tcommitStage(input: {\n\t\treadonly token: string;\n\t\treadonly apply: (payload: JsonValue, revision: number) => void;\n\t}): HostCommitOutcomeV1;\n\tcancelStage(token: string): { readonly status: \"cancelled\" | \"unknown_token\" | \"already_committed\" };\n\treadonly currentRevision: number;\n\tcommittedOperationIds(): readonly string[];\n}\n\ninterface StagedEntry {\n\toperationId: string;\n\texpectedRevision: number;\n\tpayload: JsonValue;\n\tstate: \"staged\" | \"cancelled\";\n}\n\nexport function createHostCheckpointCoordinator(\n\toptions: { readonly startRevision?: number } = {},\n): HostCheckpointCoordinatorV1 {\n\tlet revision = options.startRevision ?? 0;\n\tconst staged = new Map<string, StagedEntry>();\n\tconst committed = new Map<string, number>();\n\tlet tokenSequence = 0;\n\n\treturn {\n\t\tget currentRevision() {\n\t\t\treturn revision;\n\t\t},\n\t\tstage(input) {\n\t\t\tif (typeof input.operationId !== \"string\" || input.operationId.trim().length === 0) {\n\t\t\t\tthrow new Error(\"Checkpoint operationId must be a non-empty string\");\n\t\t\t}\n\t\t\tconst appliedRevision = committed.get(input.operationId);\n\t\t\tif (appliedRevision !== undefined) {\n\t\t\t\treturn { status: \"duplicate\", revision: appliedRevision };\n\t\t\t}\n\t\t\tif (input.expectedRevision !== revision) {\n\t\t\t\treturn { status: \"stale\", currentRevision: revision };\n\t\t\t}\n\t\t\ttokenSequence += 1;\n\t\t\tconst token = `ckpt-${tokenSequence}`;\n\t\t\tconst entry: StagedEntry = {\n\t\t\t\toperationId: input.operationId,\n\t\t\t\texpectedRevision: input.expectedRevision,\n\t\t\t\tpayload: input.payload,\n\t\t\t\tstate: \"staged\",\n\t\t\t};\n\t\t\tstaged.set(token, entry);\n\t\t\treturn {\n\t\t\t\tstatus: \"staged\",\n\t\t\t\tstaged: {\n\t\t\t\t\ttoken,\n\t\t\t\t\toperationId: input.operationId,\n\t\t\t\t\texpectedRevision: input.expectedRevision,\n\t\t\t\t\tcurrentRevision: revision,\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\tcommitStage({ token, apply }) {\n\t\t\tconst entry = staged.get(token);\n\t\t\tif (!entry) return { status: \"unknown_token\" };\n\t\t\tif (entry.state === \"cancelled\") return { status: \"cancelled\" };\n\t\t\tif (entry.expectedRevision !== revision) {\n\t\t\t\tstaged.delete(token);\n\t\t\t\treturn { status: \"stale\", currentRevision: revision };\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tapply(entry.payload, revision + 1);\n\t\t\t} catch (error) {\n\t\t\t\tstaged.delete(token);\n\t\t\t\treturn { status: \"write_failed\", reason: error instanceof Error ? error.message : String(error) };\n\t\t\t}\n\t\t\trevision += 1;\n\t\t\tcommitted.set(entry.operationId, revision);\n\t\t\tstaged.delete(token);\n\t\t\treturn { status: \"committed\", revision };\n\t\t},\n\t\tcancelStage(token) {\n\t\t\tconst entry = staged.get(token);\n\t\t\tif (!entry) return { status: \"unknown_token\" };\n\t\t\tif (committed.has(entry.operationId)) return { status: \"already_committed\" };\n\t\t\tentry.state = \"cancelled\";\n\t\t\treturn { status: \"cancelled\" };\n\t\t},\n\t\tcommittedOperationIds() {\n\t\t\treturn Object.freeze([...committed.keys()].sort());\n\t\t},\n\t};\n}\n"]}
@@ -0,0 +1,76 @@
1
+ export function createHostCheckpointCoordinator(options = {}) {
2
+ let revision = options.startRevision ?? 0;
3
+ const staged = new Map();
4
+ const committed = new Map();
5
+ let tokenSequence = 0;
6
+ return {
7
+ get currentRevision() {
8
+ return revision;
9
+ },
10
+ stage(input) {
11
+ if (typeof input.operationId !== "string" || input.operationId.trim().length === 0) {
12
+ throw new Error("Checkpoint operationId must be a non-empty string");
13
+ }
14
+ const appliedRevision = committed.get(input.operationId);
15
+ if (appliedRevision !== undefined) {
16
+ return { status: "duplicate", revision: appliedRevision };
17
+ }
18
+ if (input.expectedRevision !== revision) {
19
+ return { status: "stale", currentRevision: revision };
20
+ }
21
+ tokenSequence += 1;
22
+ const token = `ckpt-${tokenSequence}`;
23
+ const entry = {
24
+ operationId: input.operationId,
25
+ expectedRevision: input.expectedRevision,
26
+ payload: input.payload,
27
+ state: "staged",
28
+ };
29
+ staged.set(token, entry);
30
+ return {
31
+ status: "staged",
32
+ staged: {
33
+ token,
34
+ operationId: input.operationId,
35
+ expectedRevision: input.expectedRevision,
36
+ currentRevision: revision,
37
+ },
38
+ };
39
+ },
40
+ commitStage({ token, apply }) {
41
+ const entry = staged.get(token);
42
+ if (!entry)
43
+ return { status: "unknown_token" };
44
+ if (entry.state === "cancelled")
45
+ return { status: "cancelled" };
46
+ if (entry.expectedRevision !== revision) {
47
+ staged.delete(token);
48
+ return { status: "stale", currentRevision: revision };
49
+ }
50
+ try {
51
+ apply(entry.payload, revision + 1);
52
+ }
53
+ catch (error) {
54
+ staged.delete(token);
55
+ return { status: "write_failed", reason: error instanceof Error ? error.message : String(error) };
56
+ }
57
+ revision += 1;
58
+ committed.set(entry.operationId, revision);
59
+ staged.delete(token);
60
+ return { status: "committed", revision };
61
+ },
62
+ cancelStage(token) {
63
+ const entry = staged.get(token);
64
+ if (!entry)
65
+ return { status: "unknown_token" };
66
+ if (committed.has(entry.operationId))
67
+ return { status: "already_committed" };
68
+ entry.state = "cancelled";
69
+ return { status: "cancelled" };
70
+ },
71
+ committedOperationIds() {
72
+ return Object.freeze([...committed.keys()].sort());
73
+ },
74
+ };
75
+ }
76
+ //# sourceMappingURL=checkpoint-commit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkpoint-commit.js","sourceRoot":"","sources":["../../src/host/checkpoint-commit.ts"],"names":[],"mappings":"AA+DA,MAAM,UAAU,+BAA+B,CAC9C,OAAO,GAAwC,EAAE,EACnB;IAC9B,IAAI,QAAQ,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,OAAO;QACN,IAAI,eAAe,GAAG;YACrB,OAAO,QAAQ,CAAC;QAAA,CAChB;QACD,KAAK,CAAC,KAAK,EAAE;YACZ,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpF,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBACnC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;YAC3D,CAAC;YACD,IAAI,KAAK,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;gBACzC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC;YACvD,CAAC;YACD,aAAa,IAAI,CAAC,CAAC;YACnB,MAAM,KAAK,GAAG,QAAQ,aAAa,EAAE,CAAC;YACtC,MAAM,KAAK,GAAgB;gBAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,QAAQ;aACf,CAAC;YACF,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACzB,OAAO;gBACN,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE;oBACP,KAAK;oBACL,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;oBACxC,eAAe,EAAE,QAAQ;iBACzB;aACD,CAAC;QAAA,CACF;QACD,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;YAC/C,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW;gBAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YAChE,IAAI,KAAK,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;gBACzC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACrB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC;YACvD,CAAC;YACD,IAAI,CAAC;gBACJ,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACrB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACnG,CAAC;YACD,QAAQ,IAAI,CAAC,CAAC;YACd,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QAAA,CACzC;QACD,WAAW,CAAC,KAAK,EAAE;YAClB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;YAC/C,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;gBAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;YAC7E,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;YAC1B,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QAAA,CAC/B;QACD,qBAAqB,GAAG;YACvB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAAA,CACnD;KACD,CAAC;AAAA,CACF","sourcesContent":["/**\n * Host checkpoint/commit (2A.1) — the revision-guarded, idempotent,\n * two-phase write primitive the execution loop uses to persist session\n * context.\n *\n * Phase 1 (`stage`): the writer declares an operation against an expected\n * revision. Stale expectations are rejected with the current revision.\n * Phase 2 (`commitStage`): the payload is applied exactly once through the\n * caller's apply callback ONLY if the revision still matches; the revision\n * advances strictly after a successful apply.\n *\n * No path ever leaves a half commit: stale → revision untouched; duplicate\n * operationId → the first committed result is returned verbatim (never\n * re-applied); write failure → staged entry dropped, revision untouched;\n * cancellation → the staged entry is cancelled and can never commit.\n * Everything is deterministic and replayable. Summary policies, auto\n * compaction, retry, and branch migration are later 2A slices.\n */\nimport type { JsonValue } from \"@agent-forge/ai\";\n\nexport interface HostStagedWriteV1 {\n\treadonly token: string;\n\treadonly operationId: string;\n\treadonly expectedRevision: number;\n\treadonly currentRevision: number;\n}\n\nexport type HostStageResultV1 =\n\t| { readonly status: \"staged\"; readonly staged: HostStagedWriteV1 }\n\t| { readonly status: \"stale\"; readonly currentRevision: number }\n\t/** The operationId already committed; the first result is echoed, never re-applied. */\n\t| { readonly status: \"duplicate\"; readonly revision: number };\n\nexport type HostCommitOutcomeV1 =\n\t| { readonly status: \"committed\"; readonly revision: number }\n\t| { readonly status: \"stale\"; readonly currentRevision: number }\n\t| { readonly status: \"write_failed\"; readonly reason: string }\n\t| { readonly status: \"cancelled\" }\n\t| { readonly status: \"unknown_token\" }\n\t| { readonly status: \"duplicate\"; readonly revision: number };\n\nexport interface HostCheckpointCoordinatorV1 {\n\tstage(input: {\n\t\treadonly operationId: string;\n\t\treadonly expectedRevision: number;\n\t\treadonly payload: JsonValue;\n\t}): HostStageResultV1;\n\tcommitStage(input: {\n\t\treadonly token: string;\n\t\treadonly apply: (payload: JsonValue, revision: number) => void;\n\t}): HostCommitOutcomeV1;\n\tcancelStage(token: string): { readonly status: \"cancelled\" | \"unknown_token\" | \"already_committed\" };\n\treadonly currentRevision: number;\n\tcommittedOperationIds(): readonly string[];\n}\n\ninterface StagedEntry {\n\toperationId: string;\n\texpectedRevision: number;\n\tpayload: JsonValue;\n\tstate: \"staged\" | \"cancelled\";\n}\n\nexport function createHostCheckpointCoordinator(\n\toptions: { readonly startRevision?: number } = {},\n): HostCheckpointCoordinatorV1 {\n\tlet revision = options.startRevision ?? 0;\n\tconst staged = new Map<string, StagedEntry>();\n\tconst committed = new Map<string, number>();\n\tlet tokenSequence = 0;\n\n\treturn {\n\t\tget currentRevision() {\n\t\t\treturn revision;\n\t\t},\n\t\tstage(input) {\n\t\t\tif (typeof input.operationId !== \"string\" || input.operationId.trim().length === 0) {\n\t\t\t\tthrow new Error(\"Checkpoint operationId must be a non-empty string\");\n\t\t\t}\n\t\t\tconst appliedRevision = committed.get(input.operationId);\n\t\t\tif (appliedRevision !== undefined) {\n\t\t\t\treturn { status: \"duplicate\", revision: appliedRevision };\n\t\t\t}\n\t\t\tif (input.expectedRevision !== revision) {\n\t\t\t\treturn { status: \"stale\", currentRevision: revision };\n\t\t\t}\n\t\t\ttokenSequence += 1;\n\t\t\tconst token = `ckpt-${tokenSequence}`;\n\t\t\tconst entry: StagedEntry = {\n\t\t\t\toperationId: input.operationId,\n\t\t\t\texpectedRevision: input.expectedRevision,\n\t\t\t\tpayload: input.payload,\n\t\t\t\tstate: \"staged\",\n\t\t\t};\n\t\t\tstaged.set(token, entry);\n\t\t\treturn {\n\t\t\t\tstatus: \"staged\",\n\t\t\t\tstaged: {\n\t\t\t\t\ttoken,\n\t\t\t\t\toperationId: input.operationId,\n\t\t\t\t\texpectedRevision: input.expectedRevision,\n\t\t\t\t\tcurrentRevision: revision,\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\tcommitStage({ token, apply }) {\n\t\t\tconst entry = staged.get(token);\n\t\t\tif (!entry) return { status: \"unknown_token\" };\n\t\t\tif (entry.state === \"cancelled\") return { status: \"cancelled\" };\n\t\t\tif (entry.expectedRevision !== revision) {\n\t\t\t\tstaged.delete(token);\n\t\t\t\treturn { status: \"stale\", currentRevision: revision };\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tapply(entry.payload, revision + 1);\n\t\t\t} catch (error) {\n\t\t\t\tstaged.delete(token);\n\t\t\t\treturn { status: \"write_failed\", reason: error instanceof Error ? error.message : String(error) };\n\t\t\t}\n\t\t\trevision += 1;\n\t\t\tcommitted.set(entry.operationId, revision);\n\t\t\tstaged.delete(token);\n\t\t\treturn { status: \"committed\", revision };\n\t\t},\n\t\tcancelStage(token) {\n\t\t\tconst entry = staged.get(token);\n\t\t\tif (!entry) return { status: \"unknown_token\" };\n\t\t\tif (committed.has(entry.operationId)) return { status: \"already_committed\" };\n\t\t\tentry.state = \"cancelled\";\n\t\t\treturn { status: \"cancelled\" };\n\t\t},\n\t\tcommittedOperationIds() {\n\t\t\treturn Object.freeze([...committed.keys()].sort());\n\t\t},\n\t};\n}\n"]}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Manual compaction executor (2A.2) — the host primitive that lets a PLUGIN
3
+ * decide when compaction happens and what the summary contains, while the
4
+ * kernel side only provides the model/session/commit primitives (here: the
5
+ * 2A.1 checkpoint coordinator).
6
+ *
7
+ * The executor owns no summarization policy: the requesting plugin supplies
8
+ * the deterministic `summarize` callback. The executor sequences the
9
+ * operation through the checkpoint coordinator (stage → summarize → commit),
10
+ * so a stale revision, a failing summary, or a concurrent compaction can
11
+ * never produce a half commit. Auto compaction, overflow recovery, retry,
12
+ * and tree/branch migration are later 2A slices.
13
+ */
14
+ import type { JsonValue } from "@agent-forge/ai";
15
+ import type { HostCheckpointCoordinatorV1 } from "./checkpoint-commit.ts";
16
+ export type ManualCompactionStateV1 = "idle" | "in_progress";
17
+ export type ManualCompactionOutcomeV1 = {
18
+ readonly status: "completed";
19
+ readonly revision: number;
20
+ readonly summary: JsonValue;
21
+ } | {
22
+ readonly status: "stale";
23
+ readonly currentRevision: number;
24
+ } | {
25
+ readonly status: "summary_failed";
26
+ readonly reason: string;
27
+ } | {
28
+ readonly status: "busy";
29
+ readonly currentOperationId: string;
30
+ };
31
+ export interface ManualCompactionExecutorV1 {
32
+ /** Plugin-driven entry point: the plugin decides timing AND the summary. */
33
+ requestCompaction(input: {
34
+ readonly pluginId: string;
35
+ readonly operationId: string;
36
+ readonly summarize: () => JsonValue;
37
+ }): ManualCompactionOutcomeV1;
38
+ readonly state: ManualCompactionStateV1;
39
+ }
40
+ export declare function createManualCompactionExecutor(options: {
41
+ readonly coordinator: HostCheckpointCoordinatorV1;
42
+ }): ManualCompactionExecutorV1;
43
+ //# sourceMappingURL=manual-compaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manual-compaction.d.ts","sourceRoot":"","sources":["../../src/host/manual-compaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE1E,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,aAAa,CAAC;AAE7D,MAAM,MAAM,yBAAyB,GAClC;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAA;CAAE,GACxF;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpE,MAAM,WAAW,0BAA0B;IAC1C,4EAA4E;IAC5E,iBAAiB,CAAC,KAAK,EAAE;QACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,SAAS,CAAC;KACpC,GAAG,yBAAyB,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAC;CACxC;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE;IACvD,QAAQ,CAAC,WAAW,EAAE,2BAA2B,CAAC;CAClD,GAAG,0BAA0B,CA4D7B","sourcesContent":["/**\n * Manual compaction executor (2A.2) — the host primitive that lets a PLUGIN\n * decide when compaction happens and what the summary contains, while the\n * kernel side only provides the model/session/commit primitives (here: the\n * 2A.1 checkpoint coordinator).\n *\n * The executor owns no summarization policy: the requesting plugin supplies\n * the deterministic `summarize` callback. The executor sequences the\n * operation through the checkpoint coordinator (stage → summarize → commit),\n * so a stale revision, a failing summary, or a concurrent compaction can\n * never produce a half commit. Auto compaction, overflow recovery, retry,\n * and tree/branch migration are later 2A slices.\n */\nimport type { JsonValue } from \"@agent-forge/ai\";\nimport type { HostCheckpointCoordinatorV1 } from \"./checkpoint-commit.ts\";\n\nexport type ManualCompactionStateV1 = \"idle\" | \"in_progress\";\n\nexport type ManualCompactionOutcomeV1 =\n\t| { readonly status: \"completed\"; readonly revision: number; readonly summary: JsonValue }\n\t| { readonly status: \"stale\"; readonly currentRevision: number }\n\t| { readonly status: \"summary_failed\"; readonly reason: string }\n\t| { readonly status: \"busy\"; readonly currentOperationId: string };\n\nexport interface ManualCompactionExecutorV1 {\n\t/** Plugin-driven entry point: the plugin decides timing AND the summary. */\n\trequestCompaction(input: {\n\t\treadonly pluginId: string;\n\t\treadonly operationId: string;\n\t\treadonly summarize: () => JsonValue;\n\t}): ManualCompactionOutcomeV1;\n\treadonly state: ManualCompactionStateV1;\n}\n\nexport function createManualCompactionExecutor(options: {\n\treadonly coordinator: HostCheckpointCoordinatorV1;\n}): ManualCompactionExecutorV1 {\n\tconst coordinator = options.coordinator;\n\tlet state: ManualCompactionStateV1 = \"idle\";\n\tlet currentOperationId: string | undefined;\n\n\treturn {\n\t\tget state() {\n\t\t\treturn state;\n\t\t},\n\t\trequestCompaction(input) {\n\t\t\tif (state === \"in_progress\") {\n\t\t\t\t// v8 ignore next -- state 与 currentOperationId 同步赋值,busy 时必有 operationId\n\t\t\t\treturn { status: \"busy\", currentOperationId: currentOperationId ?? \"unknown\" };\n\t\t\t}\n\t\t\tif (input.pluginId.trim().length === 0) {\n\t\t\t\tthrow new Error(\"Compaction pluginId must be a non-empty string\");\n\t\t\t}\n\t\t\tstate = \"in_progress\";\n\t\t\tcurrentOperationId = input.operationId;\n\t\t\ttry {\n\t\t\t\t// Stage against the current revision; a concurrent commit makes this stale.\n\t\t\t\tconst staged = coordinator.stage({\n\t\t\t\t\toperationId: input.operationId,\n\t\t\t\t\texpectedRevision: coordinator.currentRevision,\n\t\t\t\t\tpayload: null,\n\t\t\t\t});\n\t\t\t\tif (staged.status === \"stale\") {\n\t\t\t\t\treturn { status: \"stale\", currentRevision: staged.currentRevision };\n\t\t\t\t}\n\t\t\t\tif (staged.status === \"duplicate\") {\n\t\t\t\t\treturn { status: \"completed\", revision: staged.revision, summary: { duplicate: true } };\n\t\t\t\t}\n\t\t\t\t// Plugin-owned summarization; the executor knows nothing of the content.\n\t\t\t\tlet summary: JsonValue;\n\t\t\t\ttry {\n\t\t\t\t\tsummary = input.summarize();\n\t\t\t\t} catch (error) {\n\t\t\t\t\tcoordinator.cancelStage(staged.staged.token);\n\t\t\t\t\treturn { status: \"summary_failed\", reason: error instanceof Error ? error.message : String(error) };\n\t\t\t\t}\n\t\t\t\tconst outcome = coordinator.commitStage({\n\t\t\t\t\ttoken: staged.staged.token,\n\t\t\t\t\tapply: (payload, revision) => {\n\t\t\t\t\t\tvoid payload;\n\t\t\t\t\t\tvoid revision;\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tif (outcome.status === \"stale\") {\n\t\t\t\t\treturn { status: \"stale\", currentRevision: outcome.currentRevision };\n\t\t\t\t}\n\t\t\t\tif (outcome.status === \"committed\") {\n\t\t\t\t\treturn { status: \"completed\", revision: outcome.revision, summary };\n\t\t\t\t}\n\t\t\t\treturn { status: \"summary_failed\", reason: `Unexpected checkpoint outcome: ${outcome.status}` };\n\t\t\t} finally {\n\t\t\t\tstate = \"idle\";\n\t\t\t\tcurrentOperationId = undefined;\n\t\t\t}\n\t\t},\n\t};\n}\n"]}