octoflow-core 1.0.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 (2418) hide show
  1. package/README.md +272 -0
  2. package/dist/__tests__/helpers/brain-contract.js +99 -0
  3. package/dist/__tests__/helpers/brain-contract.js.map +7 -0
  4. package/dist/actions/bridge-action-port.d.ts +53 -0
  5. package/dist/actions/bridge-action-port.d.ts.map +1 -0
  6. package/dist/actions/bridge-action-port.js +1 -0
  7. package/dist/actions/bridge-action-port.js.map +7 -0
  8. package/dist/actions/builtin/args.d.ts +6 -0
  9. package/dist/actions/builtin/args.d.ts.map +1 -0
  10. package/dist/actions/builtin/args.js +39 -0
  11. package/dist/actions/builtin/args.js.map +7 -0
  12. package/dist/actions/builtin/auth.d.ts +3 -0
  13. package/dist/actions/builtin/auth.d.ts.map +1 -0
  14. package/dist/actions/builtin/auth.js +94 -0
  15. package/dist/actions/builtin/auth.js.map +7 -0
  16. package/dist/actions/builtin/bash.d.ts +16 -0
  17. package/dist/actions/builtin/bash.d.ts.map +1 -0
  18. package/dist/actions/builtin/bash.js +219 -0
  19. package/dist/actions/builtin/bash.js.map +7 -0
  20. package/dist/actions/builtin/files-helpers.d.ts +15 -0
  21. package/dist/actions/builtin/files-helpers.d.ts.map +1 -0
  22. package/dist/actions/builtin/files-helpers.js +70 -0
  23. package/dist/actions/builtin/files-helpers.js.map +7 -0
  24. package/dist/actions/builtin/files.d.ts +12 -0
  25. package/dist/actions/builtin/files.d.ts.map +1 -0
  26. package/dist/actions/builtin/files.js +305 -0
  27. package/dist/actions/builtin/files.js.map +7 -0
  28. package/dist/actions/builtin/index.d.ts +20 -0
  29. package/dist/actions/builtin/index.d.ts.map +1 -0
  30. package/dist/actions/builtin/index.js +87 -0
  31. package/dist/actions/builtin/index.js.map +7 -0
  32. package/dist/actions/builtin/observability.d.ts +3 -0
  33. package/dist/actions/builtin/observability.d.ts.map +1 -0
  34. package/dist/actions/builtin/observability.js +55 -0
  35. package/dist/actions/builtin/observability.js.map +7 -0
  36. package/dist/actions/builtin/shell-shared.d.ts +4 -0
  37. package/dist/actions/builtin/shell-shared.d.ts.map +1 -0
  38. package/dist/actions/builtin/shell-shared.js +18 -0
  39. package/dist/actions/builtin/shell-shared.js.map +7 -0
  40. package/dist/actions/builtin/shell.d.ts +6 -0
  41. package/dist/actions/builtin/shell.d.ts.map +1 -0
  42. package/dist/actions/builtin/shell.js +221 -0
  43. package/dist/actions/builtin/shell.js.map +7 -0
  44. package/dist/actions/builtin/tasks.d.ts +3 -0
  45. package/dist/actions/builtin/tasks.d.ts.map +1 -0
  46. package/dist/actions/builtin/tasks.js +54 -0
  47. package/dist/actions/builtin/tasks.js.map +7 -0
  48. package/dist/actions/builtin/web.d.ts +8 -0
  49. package/dist/actions/builtin/web.d.ts.map +1 -0
  50. package/dist/actions/builtin/web.js +143 -0
  51. package/dist/actions/builtin/web.js.map +7 -0
  52. package/dist/actions/define.d.ts +40 -0
  53. package/dist/actions/define.d.ts.map +1 -0
  54. package/dist/actions/define.js +77 -0
  55. package/dist/actions/define.js.map +7 -0
  56. package/dist/actions/executor.d.ts +7 -0
  57. package/dist/actions/executor.d.ts.map +1 -0
  58. package/dist/actions/executor.js +101 -0
  59. package/dist/actions/executor.js.map +7 -0
  60. package/dist/actions/executors/mcp.d.ts +28 -0
  61. package/dist/actions/executors/mcp.d.ts.map +1 -0
  62. package/dist/actions/executors/mcp.js +62 -0
  63. package/dist/actions/executors/mcp.js.map +7 -0
  64. package/dist/actions/handoff.d.ts +3 -0
  65. package/dist/actions/handoff.d.ts.map +1 -0
  66. package/dist/actions/handoff.js +49 -0
  67. package/dist/actions/handoff.js.map +7 -0
  68. package/dist/actions/index.d.ts +9 -0
  69. package/dist/actions/index.d.ts.map +1 -0
  70. package/dist/actions/index.js +11 -0
  71. package/dist/actions/index.js.map +7 -0
  72. package/dist/actions/registry.d.ts +28 -0
  73. package/dist/actions/registry.d.ts.map +1 -0
  74. package/dist/actions/registry.js +51 -0
  75. package/dist/actions/registry.js.map +7 -0
  76. package/dist/actions/types.d.ts +139 -0
  77. package/dist/actions/types.d.ts.map +1 -0
  78. package/dist/actions/types.js +1 -0
  79. package/dist/actions/types.js.map +7 -0
  80. package/dist/adapters/agents/agent-client-helpers.d.ts +5 -0
  81. package/dist/adapters/agents/agent-client-helpers.d.ts.map +1 -0
  82. package/dist/adapters/agents/agent-client-helpers.js +68 -0
  83. package/dist/adapters/agents/agent-client-helpers.js.map +7 -0
  84. package/dist/adapters/agents/agent-client-plan.d.ts +4 -0
  85. package/dist/adapters/agents/agent-client-plan.d.ts.map +1 -0
  86. package/dist/adapters/agents/agent-client-plan.js +38 -0
  87. package/dist/adapters/agents/agent-client-plan.js.map +7 -0
  88. package/dist/adapters/agents/agent-client.d.ts +73 -0
  89. package/dist/adapters/agents/agent-client.d.ts.map +1 -0
  90. package/dist/adapters/agents/agent-client.js +314 -0
  91. package/dist/adapters/agents/agent-client.js.map +7 -0
  92. package/dist/adapters/agents/agent-run-result.d.ts +5 -0
  93. package/dist/adapters/agents/agent-run-result.d.ts.map +1 -0
  94. package/dist/adapters/agents/agent-run-result.js +29 -0
  95. package/dist/adapters/agents/agent-run-result.js.map +7 -0
  96. package/dist/adapters/agents/agent-session-client.d.ts +8 -0
  97. package/dist/adapters/agents/agent-session-client.d.ts.map +1 -0
  98. package/dist/adapters/agents/agent-session-client.js +1 -0
  99. package/dist/adapters/agents/agent-session-client.js.map +7 -0
  100. package/dist/adapters/agents/agent-session.d.ts +66 -0
  101. package/dist/adapters/agents/agent-session.d.ts.map +1 -0
  102. package/dist/adapters/agents/agent-session.js +111 -0
  103. package/dist/adapters/agents/agent-session.js.map +7 -0
  104. package/dist/adapters/agents/approval-posture.d.ts +49 -0
  105. package/dist/adapters/agents/approval-posture.d.ts.map +1 -0
  106. package/dist/adapters/agents/approval-posture.js +51 -0
  107. package/dist/adapters/agents/approval-posture.js.map +7 -0
  108. package/dist/adapters/agents/backends/acp-cli-elicitation.d.ts +30 -0
  109. package/dist/adapters/agents/backends/acp-cli-elicitation.d.ts.map +1 -0
  110. package/dist/adapters/agents/backends/acp-cli-elicitation.js +68 -0
  111. package/dist/adapters/agents/backends/acp-cli-elicitation.js.map +7 -0
  112. package/dist/adapters/agents/backends/acp-cli-helpers.d.ts +111 -0
  113. package/dist/adapters/agents/backends/acp-cli-helpers.d.ts.map +1 -0
  114. package/dist/adapters/agents/backends/acp-cli-helpers.js +285 -0
  115. package/dist/adapters/agents/backends/acp-cli-helpers.js.map +7 -0
  116. package/dist/adapters/agents/backends/acp-cli-probe.d.ts +66 -0
  117. package/dist/adapters/agents/backends/acp-cli-probe.d.ts.map +1 -0
  118. package/dist/adapters/agents/backends/acp-cli-probe.js +150 -0
  119. package/dist/adapters/agents/backends/acp-cli-probe.js.map +7 -0
  120. package/dist/adapters/agents/backends/acp-cli.d.ts +9 -0
  121. package/dist/adapters/agents/backends/acp-cli.d.ts.map +1 -0
  122. package/dist/adapters/agents/backends/acp-cli.js +299 -0
  123. package/dist/adapters/agents/backends/acp-cli.js.map +7 -0
  124. package/dist/adapters/agents/backends/anthropic-api-usage.d.ts +13 -0
  125. package/dist/adapters/agents/backends/anthropic-api-usage.d.ts.map +1 -0
  126. package/dist/adapters/agents/backends/anthropic-api-usage.js +28 -0
  127. package/dist/adapters/agents/backends/anthropic-api-usage.js.map +7 -0
  128. package/dist/adapters/agents/backends/anthropic-api.d.ts +11 -0
  129. package/dist/adapters/agents/backends/anthropic-api.d.ts.map +1 -0
  130. package/dist/adapters/agents/backends/anthropic-api.js +302 -0
  131. package/dist/adapters/agents/backends/anthropic-api.js.map +7 -0
  132. package/dist/adapters/agents/backends/api-shared.d.ts +23 -0
  133. package/dist/adapters/agents/backends/api-shared.d.ts.map +1 -0
  134. package/dist/adapters/agents/backends/api-shared.js +54 -0
  135. package/dist/adapters/agents/backends/api-shared.js.map +7 -0
  136. package/dist/adapters/agents/backends/catalog.d.ts +37 -0
  137. package/dist/adapters/agents/backends/catalog.d.ts.map +1 -0
  138. package/dist/adapters/agents/backends/catalog.js +91 -0
  139. package/dist/adapters/agents/backends/catalog.js.map +7 -0
  140. package/dist/adapters/agents/backends/claude-code-cli.d.ts +5 -0
  141. package/dist/adapters/agents/backends/claude-code-cli.d.ts.map +1 -0
  142. package/dist/adapters/agents/backends/claude-code-cli.js +146 -0
  143. package/dist/adapters/agents/backends/claude-code-cli.js.map +7 -0
  144. package/dist/adapters/agents/backends/cli-feature-matrix.d.ts +39 -0
  145. package/dist/adapters/agents/backends/cli-feature-matrix.d.ts.map +1 -0
  146. package/dist/adapters/agents/backends/cli-feature-matrix.js +83 -0
  147. package/dist/adapters/agents/backends/cli-feature-matrix.js.map +7 -0
  148. package/dist/adapters/agents/backends/cli-helpers.d.ts +12 -0
  149. package/dist/adapters/agents/backends/cli-helpers.d.ts.map +1 -0
  150. package/dist/adapters/agents/backends/cli-helpers.js +102 -0
  151. package/dist/adapters/agents/backends/cli-helpers.js.map +7 -0
  152. package/dist/adapters/agents/backends/cli-runner.d.ts +9 -0
  153. package/dist/adapters/agents/backends/cli-runner.d.ts.map +1 -0
  154. package/dist/adapters/agents/backends/cli-runner.js +76 -0
  155. package/dist/adapters/agents/backends/cli-runner.js.map +7 -0
  156. package/dist/adapters/agents/backends/codex-cli.d.ts +5 -0
  157. package/dist/adapters/agents/backends/codex-cli.d.ts.map +1 -0
  158. package/dist/adapters/agents/backends/codex-cli.js +195 -0
  159. package/dist/adapters/agents/backends/codex-cli.js.map +7 -0
  160. package/dist/adapters/agents/backends/cursor-cli.d.ts +5 -0
  161. package/dist/adapters/agents/backends/cursor-cli.d.ts.map +1 -0
  162. package/dist/adapters/agents/backends/cursor-cli.js +142 -0
  163. package/dist/adapters/agents/backends/cursor-cli.js.map +7 -0
  164. package/dist/adapters/agents/backends/gemini-api.d.ts +4 -0
  165. package/dist/adapters/agents/backends/gemini-api.d.ts.map +1 -0
  166. package/dist/adapters/agents/backends/gemini-api.js +306 -0
  167. package/dist/adapters/agents/backends/gemini-api.js.map +7 -0
  168. package/dist/adapters/agents/backends/gemini-cache.d.ts +22 -0
  169. package/dist/adapters/agents/backends/gemini-cache.d.ts.map +1 -0
  170. package/dist/adapters/agents/backends/gemini-cache.js +85 -0
  171. package/dist/adapters/agents/backends/gemini-cache.js.map +7 -0
  172. package/dist/adapters/agents/backends/gemini-cli.d.ts +25 -0
  173. package/dist/adapters/agents/backends/gemini-cli.d.ts.map +1 -0
  174. package/dist/adapters/agents/backends/gemini-cli.js +223 -0
  175. package/dist/adapters/agents/backends/gemini-cli.js.map +7 -0
  176. package/dist/adapters/agents/backends/index.d.ts +21 -0
  177. package/dist/adapters/agents/backends/index.d.ts.map +1 -0
  178. package/dist/adapters/agents/backends/index.js +92 -0
  179. package/dist/adapters/agents/backends/index.js.map +7 -0
  180. package/dist/adapters/agents/backends/model-matrix-entries.d.ts +10 -0
  181. package/dist/adapters/agents/backends/model-matrix-entries.d.ts.map +1 -0
  182. package/dist/adapters/agents/backends/model-matrix-entries.js +336 -0
  183. package/dist/adapters/agents/backends/model-matrix-entries.js.map +7 -0
  184. package/dist/adapters/agents/backends/model-matrix-types.d.ts +21 -0
  185. package/dist/adapters/agents/backends/model-matrix-types.d.ts.map +1 -0
  186. package/dist/adapters/agents/backends/model-matrix-types.js +5 -0
  187. package/dist/adapters/agents/backends/model-matrix-types.js.map +7 -0
  188. package/dist/adapters/agents/backends/model-matrix.d.ts +44 -0
  189. package/dist/adapters/agents/backends/model-matrix.d.ts.map +1 -0
  190. package/dist/adapters/agents/backends/model-matrix.js +73 -0
  191. package/dist/adapters/agents/backends/model-matrix.js.map +7 -0
  192. package/dist/adapters/agents/backends/native-messages/anthropic.d.ts +79 -0
  193. package/dist/adapters/agents/backends/native-messages/anthropic.d.ts.map +1 -0
  194. package/dist/adapters/agents/backends/native-messages/anthropic.js +183 -0
  195. package/dist/adapters/agents/backends/native-messages/anthropic.js.map +7 -0
  196. package/dist/adapters/agents/backends/native-messages/gemini.d.ts +63 -0
  197. package/dist/adapters/agents/backends/native-messages/gemini.d.ts.map +1 -0
  198. package/dist/adapters/agents/backends/native-messages/gemini.js +73 -0
  199. package/dist/adapters/agents/backends/native-messages/gemini.js.map +7 -0
  200. package/dist/adapters/agents/backends/native-messages/index.d.ts +44 -0
  201. package/dist/adapters/agents/backends/native-messages/index.d.ts.map +1 -0
  202. package/dist/adapters/agents/backends/native-messages/index.js +52 -0
  203. package/dist/adapters/agents/backends/native-messages/index.js.map +7 -0
  204. package/dist/adapters/agents/backends/native-messages/ollama.d.ts +56 -0
  205. package/dist/adapters/agents/backends/native-messages/ollama.d.ts.map +1 -0
  206. package/dist/adapters/agents/backends/native-messages/ollama.js +105 -0
  207. package/dist/adapters/agents/backends/native-messages/ollama.js.map +7 -0
  208. package/dist/adapters/agents/backends/native-messages/openai.d.ts +67 -0
  209. package/dist/adapters/agents/backends/native-messages/openai.d.ts.map +1 -0
  210. package/dist/adapters/agents/backends/native-messages/openai.js +120 -0
  211. package/dist/adapters/agents/backends/native-messages/openai.js.map +7 -0
  212. package/dist/adapters/agents/backends/native-messages/shared.d.ts +78 -0
  213. package/dist/adapters/agents/backends/native-messages/shared.d.ts.map +1 -0
  214. package/dist/adapters/agents/backends/native-messages/shared.js +85 -0
  215. package/dist/adapters/agents/backends/native-messages/shared.js.map +7 -0
  216. package/dist/adapters/agents/backends/native-messages/vercel.d.ts +73 -0
  217. package/dist/adapters/agents/backends/native-messages/vercel.d.ts.map +1 -0
  218. package/dist/adapters/agents/backends/native-messages/vercel.js +113 -0
  219. package/dist/adapters/agents/backends/native-messages/vercel.js.map +7 -0
  220. package/dist/adapters/agents/backends/openai-api.d.ts +13 -0
  221. package/dist/adapters/agents/backends/openai-api.d.ts.map +1 -0
  222. package/dist/adapters/agents/backends/openai-api.js +251 -0
  223. package/dist/adapters/agents/backends/openai-api.js.map +7 -0
  224. package/dist/adapters/agents/backends/security-flags.d.ts +29 -0
  225. package/dist/adapters/agents/backends/security-flags.d.ts.map +1 -0
  226. package/dist/adapters/agents/backends/security-flags.js +96 -0
  227. package/dist/adapters/agents/backends/security-flags.js.map +7 -0
  228. package/dist/adapters/agents/backends/shared.d.ts +83 -0
  229. package/dist/adapters/agents/backends/shared.d.ts.map +1 -0
  230. package/dist/adapters/agents/backends/shared.js +293 -0
  231. package/dist/adapters/agents/backends/shared.js.map +7 -0
  232. package/dist/adapters/agents/custom-api-chat-helpers.d.ts +25 -0
  233. package/dist/adapters/agents/custom-api-chat-helpers.d.ts.map +1 -0
  234. package/dist/adapters/agents/custom-api-chat-helpers.js +80 -0
  235. package/dist/adapters/agents/custom-api-chat-helpers.js.map +7 -0
  236. package/dist/adapters/agents/custom-api-client.d.ts +124 -0
  237. package/dist/adapters/agents/custom-api-client.d.ts.map +1 -0
  238. package/dist/adapters/agents/custom-api-client.js +308 -0
  239. package/dist/adapters/agents/custom-api-client.js.map +7 -0
  240. package/dist/adapters/agents/custom-cli-client.d.ts +84 -0
  241. package/dist/adapters/agents/custom-cli-client.d.ts.map +1 -0
  242. package/dist/adapters/agents/custom-cli-client.js +151 -0
  243. package/dist/adapters/agents/custom-cli-client.js.map +7 -0
  244. package/dist/adapters/agents/discover.d.ts +81 -0
  245. package/dist/adapters/agents/discover.d.ts.map +1 -0
  246. package/dist/adapters/agents/discover.js +107 -0
  247. package/dist/adapters/agents/discover.js.map +7 -0
  248. package/dist/adapters/agents/factory.d.ts +171 -0
  249. package/dist/adapters/agents/factory.d.ts.map +1 -0
  250. package/dist/adapters/agents/factory.js +55 -0
  251. package/dist/adapters/agents/factory.js.map +7 -0
  252. package/dist/adapters/agents/internal-run-options.d.ts +11 -0
  253. package/dist/adapters/agents/internal-run-options.d.ts.map +1 -0
  254. package/dist/adapters/agents/internal-run-options.js +1 -0
  255. package/dist/adapters/agents/internal-run-options.js.map +7 -0
  256. package/dist/adapters/agents/ollama/auth.d.ts +21 -0
  257. package/dist/adapters/agents/ollama/auth.d.ts.map +1 -0
  258. package/dist/adapters/agents/ollama/auth.js +27 -0
  259. package/dist/adapters/agents/ollama/auth.js.map +7 -0
  260. package/dist/adapters/agents/ollama/backend.d.ts +8 -0
  261. package/dist/adapters/agents/ollama/backend.d.ts.map +1 -0
  262. package/dist/adapters/agents/ollama/backend.js +185 -0
  263. package/dist/adapters/agents/ollama/backend.js.map +7 -0
  264. package/dist/adapters/agents/ollama/client-helpers.d.ts +16 -0
  265. package/dist/adapters/agents/ollama/client-helpers.d.ts.map +1 -0
  266. package/dist/adapters/agents/ollama/client-helpers.js +10 -0
  267. package/dist/adapters/agents/ollama/client-helpers.js.map +7 -0
  268. package/dist/adapters/agents/ollama/client-ops.d.ts +35 -0
  269. package/dist/adapters/agents/ollama/client-ops.d.ts.map +1 -0
  270. package/dist/adapters/agents/ollama/client-ops.js +162 -0
  271. package/dist/adapters/agents/ollama/client-ops.js.map +7 -0
  272. package/dist/adapters/agents/ollama/client.d.ts +79 -0
  273. package/dist/adapters/agents/ollama/client.d.ts.map +1 -0
  274. package/dist/adapters/agents/ollama/client.js +313 -0
  275. package/dist/adapters/agents/ollama/client.js.map +7 -0
  276. package/dist/adapters/agents/ollama/core.d.ts +65 -0
  277. package/dist/adapters/agents/ollama/core.d.ts.map +1 -0
  278. package/dist/adapters/agents/ollama/core.js +182 -0
  279. package/dist/adapters/agents/ollama/core.js.map +7 -0
  280. package/dist/adapters/agents/ollama/errors.d.ts +20 -0
  281. package/dist/adapters/agents/ollama/errors.d.ts.map +1 -0
  282. package/dist/adapters/agents/ollama/errors.js +31 -0
  283. package/dist/adapters/agents/ollama/errors.js.map +7 -0
  284. package/dist/adapters/agents/ollama/index.d.ts +13 -0
  285. package/dist/adapters/agents/ollama/index.d.ts.map +1 -0
  286. package/dist/adapters/agents/ollama/index.js +8 -0
  287. package/dist/adapters/agents/ollama/index.js.map +7 -0
  288. package/dist/adapters/agents/ollama/max-context-inference.d.ts +16 -0
  289. package/dist/adapters/agents/ollama/max-context-inference.d.ts.map +1 -0
  290. package/dist/adapters/agents/ollama/max-context-inference.js +9 -0
  291. package/dist/adapters/agents/ollama/max-context-inference.js.map +7 -0
  292. package/dist/adapters/agents/ollama/model-resolver.d.ts +18 -0
  293. package/dist/adapters/agents/ollama/model-resolver.d.ts.map +1 -0
  294. package/dist/adapters/agents/ollama/model-resolver.js +70 -0
  295. package/dist/adapters/agents/ollama/model-resolver.js.map +7 -0
  296. package/dist/adapters/agents/ollama/options.d.ts +162 -0
  297. package/dist/adapters/agents/ollama/options.d.ts.map +1 -0
  298. package/dist/adapters/agents/ollama/options.js +1 -0
  299. package/dist/adapters/agents/ollama/options.js.map +7 -0
  300. package/dist/adapters/agents/ollama/request.d.ts +46 -0
  301. package/dist/adapters/agents/ollama/request.d.ts.map +1 -0
  302. package/dist/adapters/agents/ollama/request.js +182 -0
  303. package/dist/adapters/agents/ollama/request.js.map +7 -0
  304. package/dist/adapters/agents/ollama/response.d.ts +39 -0
  305. package/dist/adapters/agents/ollama/response.d.ts.map +1 -0
  306. package/dist/adapters/agents/ollama/response.js +111 -0
  307. package/dist/adapters/agents/ollama/response.js.map +7 -0
  308. package/dist/adapters/agents/ollama/session-client.d.ts +20 -0
  309. package/dist/adapters/agents/ollama/session-client.d.ts.map +1 -0
  310. package/dist/adapters/agents/ollama/session-client.js +1 -0
  311. package/dist/adapters/agents/ollama/session-client.js.map +7 -0
  312. package/dist/adapters/agents/ollama/session.d.ts +26 -0
  313. package/dist/adapters/agents/ollama/session.d.ts.map +1 -0
  314. package/dist/adapters/agents/ollama/session.js +82 -0
  315. package/dist/adapters/agents/ollama/session.js.map +7 -0
  316. package/dist/adapters/agents/ollama/tools.d.ts +9 -0
  317. package/dist/adapters/agents/ollama/tools.d.ts.map +1 -0
  318. package/dist/adapters/agents/ollama/tools.js +15 -0
  319. package/dist/adapters/agents/ollama/tools.js.map +7 -0
  320. package/dist/adapters/agents/parsers/anthropic.d.ts +4 -0
  321. package/dist/adapters/agents/parsers/anthropic.d.ts.map +1 -0
  322. package/dist/adapters/agents/parsers/anthropic.js +36 -0
  323. package/dist/adapters/agents/parsers/anthropic.js.map +7 -0
  324. package/dist/adapters/agents/parsers/claude.d.ts +4 -0
  325. package/dist/adapters/agents/parsers/claude.d.ts.map +1 -0
  326. package/dist/adapters/agents/parsers/claude.js +80 -0
  327. package/dist/adapters/agents/parsers/claude.js.map +7 -0
  328. package/dist/adapters/agents/parsers/codex.d.ts +4 -0
  329. package/dist/adapters/agents/parsers/codex.d.ts.map +1 -0
  330. package/dist/adapters/agents/parsers/codex.js +75 -0
  331. package/dist/adapters/agents/parsers/codex.js.map +7 -0
  332. package/dist/adapters/agents/parsers/cursor.d.ts +4 -0
  333. package/dist/adapters/agents/parsers/cursor.d.ts.map +1 -0
  334. package/dist/adapters/agents/parsers/cursor.js +120 -0
  335. package/dist/adapters/agents/parsers/cursor.js.map +7 -0
  336. package/dist/adapters/agents/parsers/gemini-cli.d.ts +18 -0
  337. package/dist/adapters/agents/parsers/gemini-cli.d.ts.map +1 -0
  338. package/dist/adapters/agents/parsers/gemini-cli.js +67 -0
  339. package/dist/adapters/agents/parsers/gemini-cli.js.map +7 -0
  340. package/dist/adapters/agents/parsers/index.d.ts +5 -0
  341. package/dist/adapters/agents/parsers/index.d.ts.map +1 -0
  342. package/dist/adapters/agents/parsers/index.js +31 -0
  343. package/dist/adapters/agents/parsers/index.js.map +7 -0
  344. package/dist/adapters/agents/parsers/lifecycle.d.ts +10 -0
  345. package/dist/adapters/agents/parsers/lifecycle.d.ts.map +1 -0
  346. package/dist/adapters/agents/parsers/lifecycle.js +51 -0
  347. package/dist/adapters/agents/parsers/lifecycle.js.map +7 -0
  348. package/dist/adapters/agents/parsers/ollama.d.ts +4 -0
  349. package/dist/adapters/agents/parsers/ollama.d.ts.map +1 -0
  350. package/dist/adapters/agents/parsers/ollama.js +64 -0
  351. package/dist/adapters/agents/parsers/ollama.js.map +7 -0
  352. package/dist/adapters/agents/parsers/openai.d.ts +4 -0
  353. package/dist/adapters/agents/parsers/openai.d.ts.map +1 -0
  354. package/dist/adapters/agents/parsers/openai.js +36 -0
  355. package/dist/adapters/agents/parsers/openai.js.map +7 -0
  356. package/dist/adapters/agents/registry/built-in.d.ts +14 -0
  357. package/dist/adapters/agents/registry/built-in.d.ts.map +1 -0
  358. package/dist/adapters/agents/registry/built-in.js +86 -0
  359. package/dist/adapters/agents/registry/built-in.js.map +7 -0
  360. package/dist/adapters/agents/registry/loader.d.ts +26 -0
  361. package/dist/adapters/agents/registry/loader.d.ts.map +1 -0
  362. package/dist/adapters/agents/registry/loader.js +114 -0
  363. package/dist/adapters/agents/registry/loader.js.map +7 -0
  364. package/dist/adapters/agents/registry/project-discovery.d.ts +30 -0
  365. package/dist/adapters/agents/registry/project-discovery.d.ts.map +1 -0
  366. package/dist/adapters/agents/registry/project-discovery.js +93 -0
  367. package/dist/adapters/agents/registry/project-discovery.js.map +7 -0
  368. package/dist/adapters/agents/registry/types.d.ts +19 -0
  369. package/dist/adapters/agents/registry/types.d.ts.map +1 -0
  370. package/dist/adapters/agents/registry/types.js +30 -0
  371. package/dist/adapters/agents/registry/types.js.map +7 -0
  372. package/dist/adapters/agents/routing.d.ts +28 -0
  373. package/dist/adapters/agents/routing.d.ts.map +1 -0
  374. package/dist/adapters/agents/routing.js +48 -0
  375. package/dist/adapters/agents/routing.js.map +7 -0
  376. package/dist/adapters/agents/runtime/command-safety.d.ts +28 -0
  377. package/dist/adapters/agents/runtime/command-safety.d.ts.map +1 -0
  378. package/dist/adapters/agents/runtime/command-safety.js +123 -0
  379. package/dist/adapters/agents/runtime/command-safety.js.map +7 -0
  380. package/dist/adapters/agents/runtime/runner.d.ts +30 -0
  381. package/dist/adapters/agents/runtime/runner.d.ts.map +1 -0
  382. package/dist/adapters/agents/runtime/runner.js +243 -0
  383. package/dist/adapters/agents/runtime/runner.js.map +7 -0
  384. package/dist/adapters/agents/runtime/shell-utils.d.ts +9 -0
  385. package/dist/adapters/agents/runtime/shell-utils.d.ts.map +1 -0
  386. package/dist/adapters/agents/runtime/shell-utils.js +14 -0
  387. package/dist/adapters/agents/runtime/shell-utils.js.map +7 -0
  388. package/dist/adapters/agents/runtime/ssh-runner-internal.d.ts +35 -0
  389. package/dist/adapters/agents/runtime/ssh-runner-internal.d.ts.map +1 -0
  390. package/dist/adapters/agents/runtime/ssh-runner-internal.js +142 -0
  391. package/dist/adapters/agents/runtime/ssh-runner-internal.js.map +7 -0
  392. package/dist/adapters/agents/runtime/ssh-runner-types.d.ts +84 -0
  393. package/dist/adapters/agents/runtime/ssh-runner-types.d.ts.map +1 -0
  394. package/dist/adapters/agents/runtime/ssh-runner-types.js +1 -0
  395. package/dist/adapters/agents/runtime/ssh-runner-types.js.map +7 -0
  396. package/dist/adapters/agents/runtime/ssh-runner.d.ts +37 -0
  397. package/dist/adapters/agents/runtime/ssh-runner.d.ts.map +1 -0
  398. package/dist/adapters/agents/runtime/ssh-runner.js +231 -0
  399. package/dist/adapters/agents/runtime/ssh-runner.js.map +7 -0
  400. package/dist/adapters/agents/selection-backend-checks.d.ts +20 -0
  401. package/dist/adapters/agents/selection-backend-checks.d.ts.map +1 -0
  402. package/dist/adapters/agents/selection-backend-checks.js +194 -0
  403. package/dist/adapters/agents/selection-backend-checks.js.map +7 -0
  404. package/dist/adapters/agents/selection-checks.d.ts +63 -0
  405. package/dist/adapters/agents/selection-checks.d.ts.map +1 -0
  406. package/dist/adapters/agents/selection-checks.js +53 -0
  407. package/dist/adapters/agents/selection-checks.js.map +7 -0
  408. package/dist/adapters/agents/selection-construct-client.d.ts +8 -0
  409. package/dist/adapters/agents/selection-construct-client.d.ts.map +1 -0
  410. package/dist/adapters/agents/selection-construct-client.js +99 -0
  411. package/dist/adapters/agents/selection-construct-client.js.map +7 -0
  412. package/dist/adapters/agents/selection-registry.d.ts +12 -0
  413. package/dist/adapters/agents/selection-registry.d.ts.map +1 -0
  414. package/dist/adapters/agents/selection-registry.js +83 -0
  415. package/dist/adapters/agents/selection-registry.js.map +7 -0
  416. package/dist/adapters/agents/selection.d.ts +61 -0
  417. package/dist/adapters/agents/selection.d.ts.map +1 -0
  418. package/dist/adapters/agents/selection.js +281 -0
  419. package/dist/adapters/agents/selection.js.map +7 -0
  420. package/dist/adapters/agents/session-history.d.ts +12 -0
  421. package/dist/adapters/agents/session-history.d.ts.map +1 -0
  422. package/dist/adapters/agents/session-history.js +29 -0
  423. package/dist/adapters/agents/session-history.js.map +7 -0
  424. package/dist/adapters/agents/tool-delivery.d.ts +66 -0
  425. package/dist/adapters/agents/tool-delivery.d.ts.map +1 -0
  426. package/dist/adapters/agents/tool-delivery.js +140 -0
  427. package/dist/adapters/agents/tool-delivery.js.map +7 -0
  428. package/dist/adapters/agents/vercel-ai-client.d.ts +46 -0
  429. package/dist/adapters/agents/vercel-ai-client.d.ts.map +1 -0
  430. package/dist/adapters/agents/vercel-ai-client.js +306 -0
  431. package/dist/adapters/agents/vercel-ai-client.js.map +7 -0
  432. package/dist/adapters/agents/vercel-ai-load.d.ts +10 -0
  433. package/dist/adapters/agents/vercel-ai-load.d.ts.map +1 -0
  434. package/dist/adapters/agents/vercel-ai-load.js +61 -0
  435. package/dist/adapters/agents/vercel-ai-load.js.map +7 -0
  436. package/dist/adapters/agents/vercel-client.d.ts +10 -0
  437. package/dist/adapters/agents/vercel-client.d.ts.map +1 -0
  438. package/dist/adapters/agents/vercel-client.js +7 -0
  439. package/dist/adapters/agents/vercel-client.js.map +7 -0
  440. package/dist/adapters/agents/vercel-session.d.ts +24 -0
  441. package/dist/adapters/agents/vercel-session.d.ts.map +1 -0
  442. package/dist/adapters/agents/vercel-session.js +67 -0
  443. package/dist/adapters/agents/vercel-session.js.map +7 -0
  444. package/dist/adapters/agents/vercel-types.d.ts +19 -0
  445. package/dist/adapters/agents/vercel-types.d.ts.map +1 -0
  446. package/dist/adapters/agents/vercel-types.js +1 -0
  447. package/dist/adapters/agents/vercel-types.js.map +7 -0
  448. package/dist/adapters/data/approval-store/change-feed.d.ts +7 -0
  449. package/dist/adapters/data/approval-store/change-feed.d.ts.map +1 -0
  450. package/dist/adapters/data/approval-store/change-feed.js +52 -0
  451. package/dist/adapters/data/approval-store/change-feed.js.map +7 -0
  452. package/dist/adapters/data/approval-store/factory.d.ts +11 -0
  453. package/dist/adapters/data/approval-store/factory.d.ts.map +1 -0
  454. package/dist/adapters/data/approval-store/factory.js +15 -0
  455. package/dist/adapters/data/approval-store/factory.js.map +7 -0
  456. package/dist/adapters/data/approval-store/in-memory.d.ts +17 -0
  457. package/dist/adapters/data/approval-store/in-memory.d.ts.map +1 -0
  458. package/dist/adapters/data/approval-store/in-memory.js +145 -0
  459. package/dist/adapters/data/approval-store/in-memory.js.map +7 -0
  460. package/dist/adapters/data/approval-store/sqlite.d.ts +25 -0
  461. package/dist/adapters/data/approval-store/sqlite.d.ts.map +1 -0
  462. package/dist/adapters/data/approval-store/sqlite.js +251 -0
  463. package/dist/adapters/data/approval-store/sqlite.js.map +7 -0
  464. package/dist/adapters/data/approval-store/types.d.ts +91 -0
  465. package/dist/adapters/data/approval-store/types.d.ts.map +1 -0
  466. package/dist/adapters/data/approval-store/types.js +1 -0
  467. package/dist/adapters/data/approval-store/types.js.map +7 -0
  468. package/dist/adapters/data/budget/cost-accumulator.d.ts +74 -0
  469. package/dist/adapters/data/budget/cost-accumulator.d.ts.map +1 -0
  470. package/dist/adapters/data/budget/cost-accumulator.js +157 -0
  471. package/dist/adapters/data/budget/cost-accumulator.js.map +7 -0
  472. package/dist/adapters/data/memory/factory.d.ts +9 -0
  473. package/dist/adapters/data/memory/factory.d.ts.map +1 -0
  474. package/dist/adapters/data/memory/factory.js +14 -0
  475. package/dist/adapters/data/memory/factory.js.map +7 -0
  476. package/dist/adapters/data/memory/in-memory.d.ts +10 -0
  477. package/dist/adapters/data/memory/in-memory.d.ts.map +1 -0
  478. package/dist/adapters/data/memory/in-memory.js +94 -0
  479. package/dist/adapters/data/memory/in-memory.js.map +7 -0
  480. package/dist/adapters/data/memory/shared.d.ts +27 -0
  481. package/dist/adapters/data/memory/shared.d.ts.map +1 -0
  482. package/dist/adapters/data/memory/shared.js +82 -0
  483. package/dist/adapters/data/memory/shared.js.map +7 -0
  484. package/dist/adapters/data/memory/sqlite.d.ts +17 -0
  485. package/dist/adapters/data/memory/sqlite.d.ts.map +1 -0
  486. package/dist/adapters/data/memory/sqlite.js +140 -0
  487. package/dist/adapters/data/memory/sqlite.js.map +7 -0
  488. package/dist/adapters/data/memory/types.d.ts +35 -0
  489. package/dist/adapters/data/memory/types.d.ts.map +1 -0
  490. package/dist/adapters/data/memory/types.js +1 -0
  491. package/dist/adapters/data/memory/types.js.map +7 -0
  492. package/dist/adapters/data/session-memory/factory.d.ts +9 -0
  493. package/dist/adapters/data/session-memory/factory.d.ts.map +1 -0
  494. package/dist/adapters/data/session-memory/factory.js +17 -0
  495. package/dist/adapters/data/session-memory/factory.js.map +7 -0
  496. package/dist/adapters/data/session-memory/in-memory.d.ts +10 -0
  497. package/dist/adapters/data/session-memory/in-memory.d.ts.map +1 -0
  498. package/dist/adapters/data/session-memory/in-memory.js +53 -0
  499. package/dist/adapters/data/session-memory/in-memory.js.map +7 -0
  500. package/dist/adapters/data/session-memory/sqlite.d.ts +16 -0
  501. package/dist/adapters/data/session-memory/sqlite.d.ts.map +1 -0
  502. package/dist/adapters/data/session-memory/sqlite.js +74 -0
  503. package/dist/adapters/data/session-memory/sqlite.js.map +7 -0
  504. package/dist/adapters/data/session-memory/types.d.ts +19 -0
  505. package/dist/adapters/data/session-memory/types.d.ts.map +1 -0
  506. package/dist/adapters/data/session-memory/types.js +1 -0
  507. package/dist/adapters/data/session-memory/types.js.map +7 -0
  508. package/dist/adapters/data/session-store/factory.d.ts +34 -0
  509. package/dist/adapters/data/session-store/factory.d.ts.map +1 -0
  510. package/dist/adapters/data/session-store/factory.js +19 -0
  511. package/dist/adapters/data/session-store/factory.js.map +7 -0
  512. package/dist/adapters/data/session-store/in-memory.d.ts +18 -0
  513. package/dist/adapters/data/session-store/in-memory.d.ts.map +1 -0
  514. package/dist/adapters/data/session-store/in-memory.js +162 -0
  515. package/dist/adapters/data/session-store/in-memory.js.map +7 -0
  516. package/dist/adapters/data/session-store/sqlite.d.ts +26 -0
  517. package/dist/adapters/data/session-store/sqlite.d.ts.map +1 -0
  518. package/dist/adapters/data/session-store/sqlite.js +261 -0
  519. package/dist/adapters/data/session-store/sqlite.js.map +7 -0
  520. package/dist/adapters/data/session-store/types.d.ts +60 -0
  521. package/dist/adapters/data/session-store/types.d.ts.map +1 -0
  522. package/dist/adapters/data/session-store/types.js +1 -0
  523. package/dist/adapters/data/session-store/types.js.map +7 -0
  524. package/dist/adapters/data/sqlite-helpers.d.ts +8 -0
  525. package/dist/adapters/data/sqlite-helpers.d.ts.map +1 -0
  526. package/dist/adapters/data/sqlite-helpers.js +25 -0
  527. package/dist/adapters/data/sqlite-helpers.js.map +7 -0
  528. package/dist/adapters/data/task-store/async-event-queue.d.ts +11 -0
  529. package/dist/adapters/data/task-store/async-event-queue.d.ts.map +1 -0
  530. package/dist/adapters/data/task-store/async-event-queue.js +43 -0
  531. package/dist/adapters/data/task-store/async-event-queue.js.map +7 -0
  532. package/dist/adapters/data/task-store/config-types.d.ts +20 -0
  533. package/dist/adapters/data/task-store/config-types.d.ts.map +1 -0
  534. package/dist/adapters/data/task-store/config-types.js +1 -0
  535. package/dist/adapters/data/task-store/config-types.js.map +7 -0
  536. package/dist/adapters/data/task-store/factory.d.ts +3 -0
  537. package/dist/adapters/data/task-store/factory.d.ts.map +1 -0
  538. package/dist/adapters/data/task-store/factory.js +56 -0
  539. package/dist/adapters/data/task-store/factory.js.map +7 -0
  540. package/dist/adapters/data/task-store/in-memory-listing.d.ts +5 -0
  541. package/dist/adapters/data/task-store/in-memory-listing.d.ts.map +1 -0
  542. package/dist/adapters/data/task-store/in-memory-listing.js +72 -0
  543. package/dist/adapters/data/task-store/in-memory-listing.js.map +7 -0
  544. package/dist/adapters/data/task-store/in-memory.d.ts +47 -0
  545. package/dist/adapters/data/task-store/in-memory.d.ts.map +1 -0
  546. package/dist/adapters/data/task-store/in-memory.js +279 -0
  547. package/dist/adapters/data/task-store/in-memory.js.map +7 -0
  548. package/dist/adapters/data/task-store/index.d.ts +6 -0
  549. package/dist/adapters/data/task-store/index.d.ts.map +1 -0
  550. package/dist/adapters/data/task-store/index.js +11 -0
  551. package/dist/adapters/data/task-store/index.js.map +7 -0
  552. package/dist/adapters/data/task-store/shared.d.ts +24 -0
  553. package/dist/adapters/data/task-store/shared.d.ts.map +1 -0
  554. package/dist/adapters/data/task-store/shared.js +312 -0
  555. package/dist/adapters/data/task-store/shared.js.map +7 -0
  556. package/dist/adapters/data/task-store/sqlite-queries.d.ts +27 -0
  557. package/dist/adapters/data/task-store/sqlite-queries.d.ts.map +1 -0
  558. package/dist/adapters/data/task-store/sqlite-queries.js +222 -0
  559. package/dist/adapters/data/task-store/sqlite-queries.js.map +7 -0
  560. package/dist/adapters/data/task-store/sqlite-subscriptions.d.ts +20 -0
  561. package/dist/adapters/data/task-store/sqlite-subscriptions.d.ts.map +1 -0
  562. package/dist/adapters/data/task-store/sqlite-subscriptions.js +90 -0
  563. package/dist/adapters/data/task-store/sqlite-subscriptions.js.map +7 -0
  564. package/dist/adapters/data/task-store/sqlite.d.ts +33 -0
  565. package/dist/adapters/data/task-store/sqlite.d.ts.map +1 -0
  566. package/dist/adapters/data/task-store/sqlite.js +300 -0
  567. package/dist/adapters/data/task-store/sqlite.js.map +7 -0
  568. package/dist/adapters/data/task-store/types.d.ts +109 -0
  569. package/dist/adapters/data/task-store/types.d.ts.map +1 -0
  570. package/dist/adapters/data/task-store/types.js +1 -0
  571. package/dist/adapters/data/task-store/types.js.map +7 -0
  572. package/dist/adapters/transport/a2a-client-helpers.d.ts +26 -0
  573. package/dist/adapters/transport/a2a-client-helpers.d.ts.map +1 -0
  574. package/dist/adapters/transport/a2a-client-helpers.js +95 -0
  575. package/dist/adapters/transport/a2a-client-helpers.js.map +7 -0
  576. package/dist/adapters/transport/a2a-params.d.ts +32 -0
  577. package/dist/adapters/transport/a2a-params.d.ts.map +1 -0
  578. package/dist/adapters/transport/a2a-params.js +176 -0
  579. package/dist/adapters/transport/a2a-params.js.map +7 -0
  580. package/dist/adapters/transport/auth.d.ts +10 -0
  581. package/dist/adapters/transport/auth.d.ts.map +1 -0
  582. package/dist/adapters/transport/auth.js +95 -0
  583. package/dist/adapters/transport/auth.js.map +7 -0
  584. package/dist/adapters/transport/client-errors.d.ts +24 -0
  585. package/dist/adapters/transport/client-errors.d.ts.map +1 -0
  586. package/dist/adapters/transport/client-errors.js +20 -0
  587. package/dist/adapters/transport/client-errors.js.map +7 -0
  588. package/dist/adapters/transport/client.d.ts +38 -0
  589. package/dist/adapters/transport/client.d.ts.map +1 -0
  590. package/dist/adapters/transport/client.js +324 -0
  591. package/dist/adapters/transport/client.js.map +7 -0
  592. package/dist/adapters/transport/helpers.d.ts +13 -0
  593. package/dist/adapters/transport/helpers.d.ts.map +1 -0
  594. package/dist/adapters/transport/helpers.js +105 -0
  595. package/dist/adapters/transport/helpers.js.map +7 -0
  596. package/dist/adapters/transport/jsonrpc-wire.d.ts +39 -0
  597. package/dist/adapters/transport/jsonrpc-wire.d.ts.map +1 -0
  598. package/dist/adapters/transport/jsonrpc-wire.js +64 -0
  599. package/dist/adapters/transport/jsonrpc-wire.js.map +7 -0
  600. package/dist/adapters/transport/push-notifications.d.ts +15 -0
  601. package/dist/adapters/transport/push-notifications.d.ts.map +1 -0
  602. package/dist/adapters/transport/push-notifications.js +103 -0
  603. package/dist/adapters/transport/push-notifications.js.map +7 -0
  604. package/dist/adapters/transport/rpc-errors.d.ts +73 -0
  605. package/dist/adapters/transport/rpc-errors.d.ts.map +1 -0
  606. package/dist/adapters/transport/rpc-errors.js +100 -0
  607. package/dist/adapters/transport/rpc-errors.js.map +7 -0
  608. package/dist/adapters/transport/schemas.d.ts +964 -0
  609. package/dist/adapters/transport/schemas.d.ts.map +1 -0
  610. package/dist/adapters/transport/schemas.js +117 -0
  611. package/dist/adapters/transport/schemas.js.map +7 -0
  612. package/dist/adapters/transport/server-helpers.d.ts +20 -0
  613. package/dist/adapters/transport/server-helpers.d.ts.map +1 -0
  614. package/dist/adapters/transport/server-helpers.js +70 -0
  615. package/dist/adapters/transport/server-helpers.js.map +7 -0
  616. package/dist/adapters/transport/server-metrics.d.ts +8 -0
  617. package/dist/adapters/transport/server-metrics.d.ts.map +1 -0
  618. package/dist/adapters/transport/server-metrics.js +27 -0
  619. package/dist/adapters/transport/server-metrics.js.map +7 -0
  620. package/dist/adapters/transport/server-options.d.ts +25 -0
  621. package/dist/adapters/transport/server-options.d.ts.map +1 -0
  622. package/dist/adapters/transport/server-options.js +1 -0
  623. package/dist/adapters/transport/server-options.js.map +7 -0
  624. package/dist/adapters/transport/server-rpc-dispatch.d.ts +22 -0
  625. package/dist/adapters/transport/server-rpc-dispatch.d.ts.map +1 -0
  626. package/dist/adapters/transport/server-rpc-dispatch.js +282 -0
  627. package/dist/adapters/transport/server-rpc-dispatch.js.map +7 -0
  628. package/dist/adapters/transport/server-stream.d.ts +7 -0
  629. package/dist/adapters/transport/server-stream.d.ts.map +1 -0
  630. package/dist/adapters/transport/server-stream.js +34 -0
  631. package/dist/adapters/transport/server-stream.js.map +7 -0
  632. package/dist/adapters/transport/server.d.ts +13 -0
  633. package/dist/adapters/transport/server.d.ts.map +1 -0
  634. package/dist/adapters/transport/server.js +349 -0
  635. package/dist/adapters/transport/server.js.map +7 -0
  636. package/dist/adapters/transport/wire-from-a2a.d.ts +4 -0
  637. package/dist/adapters/transport/wire-from-a2a.d.ts.map +1 -0
  638. package/dist/adapters/transport/wire-from-a2a.js +44 -0
  639. package/dist/adapters/transport/wire-from-a2a.js.map +7 -0
  640. package/dist/adapters/transport/wire-shared.d.ts +24 -0
  641. package/dist/adapters/transport/wire-shared.d.ts.map +1 -0
  642. package/dist/adapters/transport/wire-shared.js +175 -0
  643. package/dist/adapters/transport/wire-shared.js.map +7 -0
  644. package/dist/adapters/transport/wire-to-a2a.d.ts +12 -0
  645. package/dist/adapters/transport/wire-to-a2a.d.ts.map +1 -0
  646. package/dist/adapters/transport/wire-to-a2a.js +142 -0
  647. package/dist/adapters/transport/wire-to-a2a.js.map +7 -0
  648. package/dist/adapters/transport/wire-types.d.ts +139 -0
  649. package/dist/adapters/transport/wire-types.d.ts.map +1 -0
  650. package/dist/adapters/transport/wire-types.js +1 -0
  651. package/dist/adapters/transport/wire-types.js.map +7 -0
  652. package/dist/adapters/transport/wire.d.ts +4 -0
  653. package/dist/adapters/transport/wire.d.ts.map +1 -0
  654. package/dist/adapters/transport/wire.js +24 -0
  655. package/dist/adapters/transport/wire.js.map +7 -0
  656. package/dist/auth/anthropic-oauth.d.ts +2 -0
  657. package/dist/auth/anthropic-oauth.d.ts.map +1 -0
  658. package/dist/auth/anthropic-oauth.js +18 -0
  659. package/dist/auth/anthropic-oauth.js.map +7 -0
  660. package/dist/auth/callback-server.d.ts +18 -0
  661. package/dist/auth/callback-server.d.ts.map +1 -0
  662. package/dist/auth/callback-server.js +68 -0
  663. package/dist/auth/callback-server.js.map +7 -0
  664. package/dist/auth/copilot-oauth.d.ts +17 -0
  665. package/dist/auth/copilot-oauth.d.ts.map +1 -0
  666. package/dist/auth/copilot-oauth.js +139 -0
  667. package/dist/auth/copilot-oauth.js.map +7 -0
  668. package/dist/auth/index.d.ts +9 -0
  669. package/dist/auth/index.d.ts.map +1 -0
  670. package/dist/auth/index.js +21 -0
  671. package/dist/auth/index.js.map +7 -0
  672. package/dist/auth/openai-oauth.d.ts +2 -0
  673. package/dist/auth/openai-oauth.d.ts.map +1 -0
  674. package/dist/auth/openai-oauth.js +19 -0
  675. package/dist/auth/openai-oauth.js.map +7 -0
  676. package/dist/auth/pkce-oauth-provider.d.ts +34 -0
  677. package/dist/auth/pkce-oauth-provider.d.ts.map +1 -0
  678. package/dist/auth/pkce-oauth-provider.js +157 -0
  679. package/dist/auth/pkce-oauth-provider.js.map +7 -0
  680. package/dist/auth/pkce.d.ts +11 -0
  681. package/dist/auth/pkce.d.ts.map +1 -0
  682. package/dist/auth/pkce.js +10 -0
  683. package/dist/auth/pkce.js.map +7 -0
  684. package/dist/auth/provider.d.ts +3 -0
  685. package/dist/auth/provider.d.ts.map +1 -0
  686. package/dist/auth/provider.js +19 -0
  687. package/dist/auth/provider.js.map +7 -0
  688. package/dist/auth/store.d.ts +31 -0
  689. package/dist/auth/store.d.ts.map +1 -0
  690. package/dist/auth/store.js +133 -0
  691. package/dist/auth/store.js.map +7 -0
  692. package/dist/auth/types.d.ts +64 -0
  693. package/dist/auth/types.d.ts.map +1 -0
  694. package/dist/auth/types.js +1 -0
  695. package/dist/auth/types.js.map +7 -0
  696. package/dist/capabilities/agent-context/builder.d.ts +41 -0
  697. package/dist/capabilities/agent-context/builder.d.ts.map +1 -0
  698. package/dist/capabilities/agent-context/builder.js +291 -0
  699. package/dist/capabilities/agent-context/builder.js.map +7 -0
  700. package/dist/capabilities/agent-context/compose.d.ts +48 -0
  701. package/dist/capabilities/agent-context/compose.d.ts.map +1 -0
  702. package/dist/capabilities/agent-context/compose.js +238 -0
  703. package/dist/capabilities/agent-context/compose.js.map +7 -0
  704. package/dist/capabilities/agent-context/index.d.ts +7 -0
  705. package/dist/capabilities/agent-context/index.d.ts.map +1 -0
  706. package/dist/capabilities/agent-context/index.js +14 -0
  707. package/dist/capabilities/agent-context/index.js.map +7 -0
  708. package/dist/capabilities/agent-context/middleware/native-tool-delivery.d.ts +8 -0
  709. package/dist/capabilities/agent-context/middleware/native-tool-delivery.d.ts.map +1 -0
  710. package/dist/capabilities/agent-context/middleware/native-tool-delivery.js +9 -0
  711. package/dist/capabilities/agent-context/middleware/native-tool-delivery.js.map +7 -0
  712. package/dist/capabilities/agent-context/render.d.ts +8 -0
  713. package/dist/capabilities/agent-context/render.d.ts.map +1 -0
  714. package/dist/capabilities/agent-context/render.js +64 -0
  715. package/dist/capabilities/agent-context/render.js.map +7 -0
  716. package/dist/capabilities/agent-context/section-cap.d.ts +22 -0
  717. package/dist/capabilities/agent-context/section-cap.d.ts.map +1 -0
  718. package/dist/capabilities/agent-context/section-cap.js +111 -0
  719. package/dist/capabilities/agent-context/section-cap.js.map +7 -0
  720. package/dist/capabilities/agent-context/types.d.ts +87 -0
  721. package/dist/capabilities/agent-context/types.d.ts.map +1 -0
  722. package/dist/capabilities/agent-context/types.js +1 -0
  723. package/dist/capabilities/agent-context/types.js.map +7 -0
  724. package/dist/capabilities/context-compaction-types.d.ts +5 -0
  725. package/dist/capabilities/context-compaction-types.d.ts.map +1 -0
  726. package/dist/capabilities/context-compaction-types.js +1 -0
  727. package/dist/capabilities/context-compaction-types.js.map +7 -0
  728. package/dist/capabilities/context-compaction.d.ts +38 -0
  729. package/dist/capabilities/context-compaction.d.ts.map +1 -0
  730. package/dist/capabilities/context-compaction.js +205 -0
  731. package/dist/capabilities/context-compaction.js.map +7 -0
  732. package/dist/capabilities/context-composer.d.ts +4 -0
  733. package/dist/capabilities/context-composer.d.ts.map +1 -0
  734. package/dist/capabilities/context-composer.js +7 -0
  735. package/dist/capabilities/context-composer.js.map +7 -0
  736. package/dist/capabilities/index.d.ts +19 -0
  737. package/dist/capabilities/index.d.ts.map +1 -0
  738. package/dist/capabilities/index.js +71 -0
  739. package/dist/capabilities/index.js.map +7 -0
  740. package/dist/capabilities/local-context/harness.d.ts +11 -0
  741. package/dist/capabilities/local-context/harness.d.ts.map +1 -0
  742. package/dist/capabilities/local-context/harness.js +41 -0
  743. package/dist/capabilities/local-context/harness.js.map +7 -0
  744. package/dist/capabilities/local-context/index.d.ts +19 -0
  745. package/dist/capabilities/local-context/index.d.ts.map +1 -0
  746. package/dist/capabilities/local-context/index.js +262 -0
  747. package/dist/capabilities/local-context/index.js.map +7 -0
  748. package/dist/capabilities/local-context/toml-parser.d.ts +26 -0
  749. package/dist/capabilities/local-context/toml-parser.d.ts.map +1 -0
  750. package/dist/capabilities/local-context/toml-parser.js +158 -0
  751. package/dist/capabilities/local-context/toml-parser.js.map +7 -0
  752. package/dist/capabilities/local-context/types.d.ts +22 -0
  753. package/dist/capabilities/local-context/types.d.ts.map +1 -0
  754. package/dist/capabilities/local-context/types.js +1 -0
  755. package/dist/capabilities/local-context/types.js.map +7 -0
  756. package/dist/capabilities/local-context/vendors/claude.d.ts +4 -0
  757. package/dist/capabilities/local-context/vendors/claude.d.ts.map +1 -0
  758. package/dist/capabilities/local-context/vendors/claude.js +90 -0
  759. package/dist/capabilities/local-context/vendors/claude.js.map +7 -0
  760. package/dist/capabilities/local-context/vendors/cli.d.ts +9 -0
  761. package/dist/capabilities/local-context/vendors/cli.d.ts.map +1 -0
  762. package/dist/capabilities/local-context/vendors/cli.js +190 -0
  763. package/dist/capabilities/local-context/vendors/cli.js.map +7 -0
  764. package/dist/capabilities/local-context/vendors/descriptor.d.ts +34 -0
  765. package/dist/capabilities/local-context/vendors/descriptor.d.ts.map +1 -0
  766. package/dist/capabilities/local-context/vendors/descriptor.js +49 -0
  767. package/dist/capabilities/local-context/vendors/descriptor.js.map +7 -0
  768. package/dist/capabilities/local-context/vendors/ide.d.ts +7 -0
  769. package/dist/capabilities/local-context/vendors/ide.d.ts.map +1 -0
  770. package/dist/capabilities/local-context/vendors/ide.js +140 -0
  771. package/dist/capabilities/local-context/vendors/ide.js.map +7 -0
  772. package/dist/capabilities/local-context/vendors/index.d.ts +5 -0
  773. package/dist/capabilities/local-context/vendors/index.d.ts.map +1 -0
  774. package/dist/capabilities/local-context/vendors/index.js +53 -0
  775. package/dist/capabilities/local-context/vendors/index.js.map +7 -0
  776. package/dist/capabilities/local-context/vendors/octoflow.d.ts +3 -0
  777. package/dist/capabilities/local-context/vendors/octoflow.d.ts.map +1 -0
  778. package/dist/capabilities/local-context/vendors/octoflow.js +47 -0
  779. package/dist/capabilities/local-context/vendors/octoflow.js.map +7 -0
  780. package/dist/capabilities/local-context/vendors/vscode-ext.d.ts +8 -0
  781. package/dist/capabilities/local-context/vendors/vscode-ext.d.ts.map +1 -0
  782. package/dist/capabilities/local-context/vendors/vscode-ext.js +191 -0
  783. package/dist/capabilities/local-context/vendors/vscode-ext.js.map +7 -0
  784. package/dist/capabilities/mcp/actions.d.ts +4 -0
  785. package/dist/capabilities/mcp/actions.d.ts.map +1 -0
  786. package/dist/capabilities/mcp/actions.js +102 -0
  787. package/dist/capabilities/mcp/actions.js.map +7 -0
  788. package/dist/capabilities/mcp/connection.d.ts +33 -0
  789. package/dist/capabilities/mcp/connection.d.ts.map +1 -0
  790. package/dist/capabilities/mcp/connection.js +178 -0
  791. package/dist/capabilities/mcp/connection.js.map +7 -0
  792. package/dist/capabilities/mcp/context-sections.d.ts +4 -0
  793. package/dist/capabilities/mcp/context-sections.d.ts.map +1 -0
  794. package/dist/capabilities/mcp/context-sections.js +73 -0
  795. package/dist/capabilities/mcp/context-sections.js.map +7 -0
  796. package/dist/capabilities/mcp/elicitation-handler.d.ts +4 -0
  797. package/dist/capabilities/mcp/elicitation-handler.d.ts.map +1 -0
  798. package/dist/capabilities/mcp/elicitation-handler.js +40 -0
  799. package/dist/capabilities/mcp/elicitation-handler.js.map +7 -0
  800. package/dist/capabilities/mcp/pool.d.ts +29 -0
  801. package/dist/capabilities/mcp/pool.d.ts.map +1 -0
  802. package/dist/capabilities/mcp/pool.js +136 -0
  803. package/dist/capabilities/mcp/pool.js.map +7 -0
  804. package/dist/capabilities/mcp/transport-factory.d.ts +16 -0
  805. package/dist/capabilities/mcp/transport-factory.d.ts.map +1 -0
  806. package/dist/capabilities/mcp/transport-factory.js +75 -0
  807. package/dist/capabilities/mcp/transport-factory.js.map +7 -0
  808. package/dist/capabilities/mcp/types.d.ts +80 -0
  809. package/dist/capabilities/mcp/types.d.ts.map +1 -0
  810. package/dist/capabilities/mcp/types.js +1 -0
  811. package/dist/capabilities/mcp/types.js.map +7 -0
  812. package/dist/capabilities/mcp-loader.d.ts +15 -0
  813. package/dist/capabilities/mcp-loader.d.ts.map +1 -0
  814. package/dist/capabilities/mcp-loader.js +20 -0
  815. package/dist/capabilities/mcp-loader.js.map +7 -0
  816. package/dist/capabilities/memory-indexer.d.ts +62 -0
  817. package/dist/capabilities/memory-indexer.d.ts.map +1 -0
  818. package/dist/capabilities/memory-indexer.js +220 -0
  819. package/dist/capabilities/memory-indexer.js.map +7 -0
  820. package/dist/capabilities/skill-delivery.d.ts +18 -0
  821. package/dist/capabilities/skill-delivery.d.ts.map +1 -0
  822. package/dist/capabilities/skill-delivery.js +38 -0
  823. package/dist/capabilities/skill-delivery.js.map +7 -0
  824. package/dist/capabilities/skill-injector.d.ts +12 -0
  825. package/dist/capabilities/skill-injector.d.ts.map +1 -0
  826. package/dist/capabilities/skill-injector.js +20 -0
  827. package/dist/capabilities/skill-injector.js.map +7 -0
  828. package/dist/capabilities/skill-registry.d.ts +42 -0
  829. package/dist/capabilities/skill-registry.d.ts.map +1 -0
  830. package/dist/capabilities/skill-registry.js +51 -0
  831. package/dist/capabilities/skill-registry.js.map +7 -0
  832. package/dist/capabilities/skill-types.d.ts +50 -0
  833. package/dist/capabilities/skill-types.d.ts.map +1 -0
  834. package/dist/capabilities/skill-types.js +14 -0
  835. package/dist/capabilities/skill-types.js.map +7 -0
  836. package/dist/capabilities/skills/activator.d.ts +2 -0
  837. package/dist/capabilities/skills/activator.d.ts.map +1 -0
  838. package/dist/capabilities/skills/activator.js +6 -0
  839. package/dist/capabilities/skills/activator.js.map +7 -0
  840. package/dist/capabilities/skills/bundle-loader.d.ts +2 -0
  841. package/dist/capabilities/skills/bundle-loader.d.ts.map +1 -0
  842. package/dist/capabilities/skills/bundle-loader.js +13 -0
  843. package/dist/capabilities/skills/bundle-loader.js.map +7 -0
  844. package/dist/capabilities/skills/catalog.d.ts +2 -0
  845. package/dist/capabilities/skills/catalog.d.ts.map +1 -0
  846. package/dist/capabilities/skills/catalog.js +11 -0
  847. package/dist/capabilities/skills/catalog.js.map +7 -0
  848. package/dist/capabilities/skills/discovery.d.ts +131 -0
  849. package/dist/capabilities/skills/discovery.d.ts.map +1 -0
  850. package/dist/capabilities/skills/discovery.js +143 -0
  851. package/dist/capabilities/skills/discovery.js.map +7 -0
  852. package/dist/capabilities/skills/frontmatter.d.ts +2 -0
  853. package/dist/capabilities/skills/frontmatter.d.ts.map +1 -0
  854. package/dist/capabilities/skills/frontmatter.js +6 -0
  855. package/dist/capabilities/skills/frontmatter.js.map +7 -0
  856. package/dist/capabilities/skills/github-loader.d.ts +101 -0
  857. package/dist/capabilities/skills/github-loader.d.ts.map +1 -0
  858. package/dist/capabilities/skills/github-loader.js +182 -0
  859. package/dist/capabilities/skills/github-loader.js.map +7 -0
  860. package/dist/capabilities/skills/scanner.d.ts +43 -0
  861. package/dist/capabilities/skills/scanner.d.ts.map +1 -0
  862. package/dist/capabilities/skills/scanner.js +167 -0
  863. package/dist/capabilities/skills/scanner.js.map +7 -0
  864. package/dist/capabilities/skills/symlink-handoff-sentinel.d.ts +22 -0
  865. package/dist/capabilities/skills/symlink-handoff-sentinel.d.ts.map +1 -0
  866. package/dist/capabilities/skills/symlink-handoff-sentinel.js +110 -0
  867. package/dist/capabilities/skills/symlink-handoff-sentinel.js.map +7 -0
  868. package/dist/capabilities/skills/symlink-handoff.d.ts +72 -0
  869. package/dist/capabilities/skills/symlink-handoff.d.ts.map +1 -0
  870. package/dist/capabilities/skills/symlink-handoff.js +255 -0
  871. package/dist/capabilities/skills/symlink-handoff.js.map +7 -0
  872. package/dist/capabilities/skills/types.d.ts +2 -0
  873. package/dist/capabilities/skills/types.d.ts.map +1 -0
  874. package/dist/capabilities/skills/types.js +1 -0
  875. package/dist/capabilities/skills/types.js.map +7 -0
  876. package/dist/capabilities/skills/validator.d.ts +2 -0
  877. package/dist/capabilities/skills/validator.d.ts.map +1 -0
  878. package/dist/capabilities/skills/validator.js +15 -0
  879. package/dist/capabilities/skills/validator.js.map +7 -0
  880. package/dist/capabilities/skills/vendor-backend.d.ts +9 -0
  881. package/dist/capabilities/skills/vendor-backend.d.ts.map +1 -0
  882. package/dist/capabilities/skills/vendor-backend.js +10 -0
  883. package/dist/capabilities/skills/vendor-backend.js.map +7 -0
  884. package/dist/capabilities/tool-call-parser.d.ts +8 -0
  885. package/dist/capabilities/tool-call-parser.d.ts.map +1 -0
  886. package/dist/capabilities/tool-call-parser.js +84 -0
  887. package/dist/capabilities/tool-call-parser.js.map +7 -0
  888. package/dist/capabilities/tool-calls.d.ts +4 -0
  889. package/dist/capabilities/tool-calls.d.ts.map +1 -0
  890. package/dist/capabilities/tool-calls.js +38 -0
  891. package/dist/capabilities/tool-calls.js.map +7 -0
  892. package/dist/capabilities/trim-tool-schema.d.ts +8 -0
  893. package/dist/capabilities/trim-tool-schema.d.ts.map +1 -0
  894. package/dist/capabilities/trim-tool-schema.js +75 -0
  895. package/dist/capabilities/trim-tool-schema.js.map +7 -0
  896. package/dist/capabilities/types.d.ts +123 -0
  897. package/dist/capabilities/types.d.ts.map +1 -0
  898. package/dist/capabilities/types.js +1 -0
  899. package/dist/capabilities/types.js.map +7 -0
  900. package/dist/capabilities/xml-escape.d.ts +7 -0
  901. package/dist/capabilities/xml-escape.d.ts.map +1 -0
  902. package/dist/capabilities/xml-escape.js +7 -0
  903. package/dist/capabilities/xml-escape.js.map +7 -0
  904. package/dist/cli/adapters/bridge-facade.d.ts +31 -0
  905. package/dist/cli/adapters/bridge-facade.d.ts.map +1 -0
  906. package/dist/cli/adapters/bridge-facade.js +70 -0
  907. package/dist/cli/adapters/bridge-facade.js.map +7 -0
  908. package/dist/cli/checks/backend-check.d.ts +4 -0
  909. package/dist/cli/checks/backend-check.d.ts.map +1 -0
  910. package/dist/cli/checks/backend-check.js +31 -0
  911. package/dist/cli/checks/backend-check.js.map +7 -0
  912. package/dist/cli/checks/capability-check.d.ts +4 -0
  913. package/dist/cli/checks/capability-check.d.ts.map +1 -0
  914. package/dist/cli/checks/capability-check.js +74 -0
  915. package/dist/cli/checks/capability-check.js.map +7 -0
  916. package/dist/cli/checks/config-check.d.ts +3 -0
  917. package/dist/cli/checks/config-check.d.ts.map +1 -0
  918. package/dist/cli/checks/config-check.js +45 -0
  919. package/dist/cli/checks/config-check.js.map +7 -0
  920. package/dist/cli/checks/deployment-check.d.ts +4 -0
  921. package/dist/cli/checks/deployment-check.d.ts.map +1 -0
  922. package/dist/cli/checks/deployment-check.js +28 -0
  923. package/dist/cli/checks/deployment-check.js.map +7 -0
  924. package/dist/cli/checks/network-check.d.ts +3 -0
  925. package/dist/cli/checks/network-check.d.ts.map +1 -0
  926. package/dist/cli/checks/network-check.js +52 -0
  927. package/dist/cli/checks/network-check.js.map +7 -0
  928. package/dist/cli/checks/profile-check.d.ts +4 -0
  929. package/dist/cli/checks/profile-check.d.ts.map +1 -0
  930. package/dist/cli/checks/profile-check.js +33 -0
  931. package/dist/cli/checks/profile-check.js.map +7 -0
  932. package/dist/cli/commands/build.d.ts +3 -0
  933. package/dist/cli/commands/build.d.ts.map +1 -0
  934. package/dist/cli/commands/build.js +38 -0
  935. package/dist/cli/commands/build.js.map +7 -0
  936. package/dist/cli/commands/daemon.d.ts +3 -0
  937. package/dist/cli/commands/daemon.d.ts.map +1 -0
  938. package/dist/cli/commands/daemon.js +168 -0
  939. package/dist/cli/commands/daemon.js.map +7 -0
  940. package/dist/cli/commands/dev.d.ts +3 -0
  941. package/dist/cli/commands/dev.d.ts.map +1 -0
  942. package/dist/cli/commands/dev.js +83 -0
  943. package/dist/cli/commands/dev.js.map +7 -0
  944. package/dist/cli/commands/doctor.d.ts +3 -0
  945. package/dist/cli/commands/doctor.d.ts.map +1 -0
  946. package/dist/cli/commands/doctor.js +97 -0
  947. package/dist/cli/commands/doctor.js.map +7 -0
  948. package/dist/cli/commands/env.d.ts +3 -0
  949. package/dist/cli/commands/env.d.ts.map +1 -0
  950. package/dist/cli/commands/env.js +47 -0
  951. package/dist/cli/commands/env.js.map +7 -0
  952. package/dist/cli/commands/init.d.ts +3 -0
  953. package/dist/cli/commands/init.d.ts.map +1 -0
  954. package/dist/cli/commands/init.js +28 -0
  955. package/dist/cli/commands/init.js.map +7 -0
  956. package/dist/cli/commands/inspect.d.ts +3 -0
  957. package/dist/cli/commands/inspect.d.ts.map +1 -0
  958. package/dist/cli/commands/inspect.js +64 -0
  959. package/dist/cli/commands/inspect.js.map +7 -0
  960. package/dist/cli/commands/run.d.ts +3 -0
  961. package/dist/cli/commands/run.d.ts.map +1 -0
  962. package/dist/cli/commands/run.js +86 -0
  963. package/dist/cli/commands/run.js.map +7 -0
  964. package/dist/cli/commands/server.d.ts +3 -0
  965. package/dist/cli/commands/server.d.ts.map +1 -0
  966. package/dist/cli/commands/server.js +62 -0
  967. package/dist/cli/commands/server.js.map +7 -0
  968. package/dist/cli/commands/session.d.ts +3 -0
  969. package/dist/cli/commands/session.d.ts.map +1 -0
  970. package/dist/cli/commands/session.js +80 -0
  971. package/dist/cli/commands/session.js.map +7 -0
  972. package/dist/cli/commands/stream.d.ts +3 -0
  973. package/dist/cli/commands/stream.d.ts.map +1 -0
  974. package/dist/cli/commands/stream.js +103 -0
  975. package/dist/cli/commands/stream.js.map +7 -0
  976. package/dist/cli/commands/task.d.ts +3 -0
  977. package/dist/cli/commands/task.d.ts.map +1 -0
  978. package/dist/cli/commands/task.js +71 -0
  979. package/dist/cli/commands/task.js.map +7 -0
  980. package/dist/cli/contracts/check-result.d.ts +9 -0
  981. package/dist/cli/contracts/check-result.d.ts.map +1 -0
  982. package/dist/cli/contracts/check-result.js +1 -0
  983. package/dist/cli/contracts/check-result.js.map +7 -0
  984. package/dist/cli/contracts/errors.d.ts +14 -0
  985. package/dist/cli/contracts/errors.d.ts.map +1 -0
  986. package/dist/cli/contracts/errors.js +53 -0
  987. package/dist/cli/contracts/errors.js.map +7 -0
  988. package/dist/cli/contracts/output.d.ts +7 -0
  989. package/dist/cli/contracts/output.d.ts.map +1 -0
  990. package/dist/cli/contracts/output.js +7 -0
  991. package/dist/cli/contracts/output.js.map +7 -0
  992. package/dist/cli/contracts/resume.d.ts +26 -0
  993. package/dist/cli/contracts/resume.d.ts.map +1 -0
  994. package/dist/cli/contracts/resume.js +10 -0
  995. package/dist/cli/contracts/resume.js.map +7 -0
  996. package/dist/cli/format/json.d.ts +3 -0
  997. package/dist/cli/format/json.d.ts.map +1 -0
  998. package/dist/cli/format/json.js +8 -0
  999. package/dist/cli/format/json.js.map +7 -0
  1000. package/dist/cli/format/output.d.ts +5 -0
  1001. package/dist/cli/format/output.d.ts.map +1 -0
  1002. package/dist/cli/format/output.js +73 -0
  1003. package/dist/cli/format/output.js.map +7 -0
  1004. package/dist/cli/format/text.d.ts +3 -0
  1005. package/dist/cli/format/text.d.ts.map +1 -0
  1006. package/dist/cli/format/text.js +60 -0
  1007. package/dist/cli/format/text.js.map +7 -0
  1008. package/dist/cli/framework-workspace.d.ts +30 -0
  1009. package/dist/cli/framework-workspace.d.ts.map +1 -0
  1010. package/dist/cli/framework-workspace.js +148 -0
  1011. package/dist/cli/framework-workspace.js.map +7 -0
  1012. package/dist/cli/index.cjs +40888 -0
  1013. package/dist/cli/index.cjs.map +7 -0
  1014. package/dist/cli/index.d.ts +9 -0
  1015. package/dist/cli/index.d.ts.map +1 -0
  1016. package/dist/cli/index.js +83 -0
  1017. package/dist/cli/index.js.map +7 -0
  1018. package/dist/cli/lifecycle/pre-action.d.ts +13 -0
  1019. package/dist/cli/lifecycle/pre-action.d.ts.map +1 -0
  1020. package/dist/cli/lifecycle/pre-action.js +178 -0
  1021. package/dist/cli/lifecycle/pre-action.js.map +7 -0
  1022. package/dist/cli/lifecycle/runtime-options.d.ts +82 -0
  1023. package/dist/cli/lifecycle/runtime-options.d.ts.map +1 -0
  1024. package/dist/cli/lifecycle/runtime-options.js +140 -0
  1025. package/dist/cli/lifecycle/runtime-options.js.map +7 -0
  1026. package/dist/cli/lifecycle/server-listen.d.ts +7 -0
  1027. package/dist/cli/lifecycle/server-listen.d.ts.map +1 -0
  1028. package/dist/cli/lifecycle/server-listen.js +37 -0
  1029. package/dist/cli/lifecycle/server-listen.js.map +7 -0
  1030. package/dist/cli/lifecycle/signal.d.ts +10 -0
  1031. package/dist/cli/lifecycle/signal.d.ts.map +1 -0
  1032. package/dist/cli/lifecycle/signal.js +20 -0
  1033. package/dist/cli/lifecycle/signal.js.map +7 -0
  1034. package/dist/cli/main.d.ts +3 -0
  1035. package/dist/cli/main.d.ts.map +1 -0
  1036. package/dist/cli/main.js +4 -0
  1037. package/dist/cli/main.js.map +7 -0
  1038. package/dist/config/config-load.d.ts +14 -0
  1039. package/dist/config/config-load.d.ts.map +1 -0
  1040. package/dist/config/config-load.js +75 -0
  1041. package/dist/config/config-load.js.map +7 -0
  1042. package/dist/config/config-shapes.d.ts +164 -0
  1043. package/dist/config/config-shapes.d.ts.map +1 -0
  1044. package/dist/config/config-shapes.js +5 -0
  1045. package/dist/config/config-shapes.js.map +7 -0
  1046. package/dist/config/config.d.ts +13 -0
  1047. package/dist/config/config.d.ts.map +1 -0
  1048. package/dist/config/config.js +198 -0
  1049. package/dist/config/config.js.map +7 -0
  1050. package/dist/config/defaults.d.ts +14 -0
  1051. package/dist/config/defaults.d.ts.map +1 -0
  1052. package/dist/config/defaults.js +369 -0
  1053. package/dist/config/defaults.js.map +7 -0
  1054. package/dist/config/env-priority.d.ts +20 -0
  1055. package/dist/config/env-priority.d.ts.map +1 -0
  1056. package/dist/config/env-priority.js +20 -0
  1057. package/dist/config/env-priority.js.map +7 -0
  1058. package/dist/config/env-registry.d.ts +26 -0
  1059. package/dist/config/env-registry.d.ts.map +1 -0
  1060. package/dist/config/env-registry.js +163 -0
  1061. package/dist/config/env-registry.js.map +7 -0
  1062. package/dist/config/env-resolver.d.ts +36 -0
  1063. package/dist/config/env-resolver.d.ts.map +1 -0
  1064. package/dist/config/env-resolver.js +51 -0
  1065. package/dist/config/env-resolver.js.map +7 -0
  1066. package/dist/config/model-budget.d.ts +26 -0
  1067. package/dist/config/model-budget.d.ts.map +1 -0
  1068. package/dist/config/model-budget.js +31 -0
  1069. package/dist/config/model-budget.js.map +7 -0
  1070. package/dist/config/runtime.d.ts +50 -0
  1071. package/dist/config/runtime.d.ts.map +1 -0
  1072. package/dist/config/runtime.js +175 -0
  1073. package/dist/config/runtime.js.map +7 -0
  1074. package/dist/config/server-config.d.ts +66 -0
  1075. package/dist/config/server-config.d.ts.map +1 -0
  1076. package/dist/config/server-config.js +9 -0
  1077. package/dist/config/server-config.js.map +7 -0
  1078. package/dist/config/tools.d.ts +3 -0
  1079. package/dist/config/tools.d.ts.map +1 -0
  1080. package/dist/config/tools.js +26 -0
  1081. package/dist/config/tools.js.map +7 -0
  1082. package/dist/domain/acp-elicitation.d.ts +54 -0
  1083. package/dist/domain/acp-elicitation.d.ts.map +1 -0
  1084. package/dist/domain/acp-elicitation.js +1 -0
  1085. package/dist/domain/acp-elicitation.js.map +7 -0
  1086. package/dist/domain/agent-event.d.ts +8 -0
  1087. package/dist/domain/agent-event.d.ts.map +1 -0
  1088. package/dist/domain/agent-event.js +1 -0
  1089. package/dist/domain/agent-event.js.map +7 -0
  1090. package/dist/domain/agent-registry.d.ts +77 -0
  1091. package/dist/domain/agent-registry.d.ts.map +1 -0
  1092. package/dist/domain/agent-registry.js +1 -0
  1093. package/dist/domain/agent-registry.js.map +7 -0
  1094. package/dist/domain/backend-runtime.d.ts +135 -0
  1095. package/dist/domain/backend-runtime.d.ts.map +1 -0
  1096. package/dist/domain/backend-runtime.js +175 -0
  1097. package/dist/domain/backend-runtime.js.map +7 -0
  1098. package/dist/domain/bridge-api-listing.d.ts +73 -0
  1099. package/dist/domain/bridge-api-listing.d.ts.map +1 -0
  1100. package/dist/domain/bridge-api-listing.js +1 -0
  1101. package/dist/domain/bridge-api-listing.js.map +7 -0
  1102. package/dist/domain/bridge-api-tools.d.ts +68 -0
  1103. package/dist/domain/bridge-api-tools.d.ts.map +1 -0
  1104. package/dist/domain/bridge-api-tools.js +1 -0
  1105. package/dist/domain/bridge-api-tools.js.map +7 -0
  1106. package/dist/domain/bridge-api.d.ts +375 -0
  1107. package/dist/domain/bridge-api.d.ts.map +1 -0
  1108. package/dist/domain/bridge-api.js +1 -0
  1109. package/dist/domain/bridge-api.js.map +7 -0
  1110. package/dist/domain/config-contracts.d.ts +396 -0
  1111. package/dist/domain/config-contracts.d.ts.map +1 -0
  1112. package/dist/domain/config-contracts.js +1 -0
  1113. package/dist/domain/config-contracts.js.map +7 -0
  1114. package/dist/domain/contracts/backends.d.ts +360 -0
  1115. package/dist/domain/contracts/backends.d.ts.map +1 -0
  1116. package/dist/domain/contracts/backends.js +1 -0
  1117. package/dist/domain/contracts/backends.js.map +7 -0
  1118. package/dist/domain/contracts/cli-backends.d.ts +77 -0
  1119. package/dist/domain/contracts/cli-backends.d.ts.map +1 -0
  1120. package/dist/domain/contracts/cli-backends.js +31 -0
  1121. package/dist/domain/contracts/cli-backends.js.map +7 -0
  1122. package/dist/domain/contracts/messages.d.ts +121 -0
  1123. package/dist/domain/contracts/messages.d.ts.map +1 -0
  1124. package/dist/domain/contracts/messages.js +22 -0
  1125. package/dist/domain/contracts/messages.js.map +7 -0
  1126. package/dist/domain/conversation.d.ts +18 -0
  1127. package/dist/domain/conversation.d.ts.map +1 -0
  1128. package/dist/domain/conversation.js +1 -0
  1129. package/dist/domain/conversation.js.map +7 -0
  1130. package/dist/domain/core-cache-types.d.ts +36 -0
  1131. package/dist/domain/core-cache-types.d.ts.map +1 -0
  1132. package/dist/domain/core-cache-types.js +1 -0
  1133. package/dist/domain/core-cache-types.js.map +7 -0
  1134. package/dist/domain/core-client.d.ts +296 -0
  1135. package/dist/domain/core-client.d.ts.map +1 -0
  1136. package/dist/domain/core-client.js +7 -0
  1137. package/dist/domain/core-client.js.map +7 -0
  1138. package/dist/domain/core-task.d.ts +335 -0
  1139. package/dist/domain/core-task.d.ts.map +1 -0
  1140. package/dist/domain/core-task.js +27 -0
  1141. package/dist/domain/core-task.js.map +7 -0
  1142. package/dist/domain/cost-estimation.d.ts +22 -0
  1143. package/dist/domain/cost-estimation.d.ts.map +1 -0
  1144. package/dist/domain/cost-estimation.js +107 -0
  1145. package/dist/domain/cost-estimation.js.map +7 -0
  1146. package/dist/domain/errors/agent.d.ts +24 -0
  1147. package/dist/domain/errors/agent.d.ts.map +1 -0
  1148. package/dist/domain/errors/agent.js +81 -0
  1149. package/dist/domain/errors/agent.js.map +7 -0
  1150. package/dist/domain/errors/api.d.ts +22 -0
  1151. package/dist/domain/errors/api.d.ts.map +1 -0
  1152. package/dist/domain/errors/api.js +73 -0
  1153. package/dist/domain/errors/api.js.map +7 -0
  1154. package/dist/domain/errors/approval.d.ts +18 -0
  1155. package/dist/domain/errors/approval.d.ts.map +1 -0
  1156. package/dist/domain/errors/approval.js +55 -0
  1157. package/dist/domain/errors/approval.js.map +7 -0
  1158. package/dist/domain/errors/backend.d.ts +34 -0
  1159. package/dist/domain/errors/backend.d.ts.map +1 -0
  1160. package/dist/domain/errors/backend.js +105 -0
  1161. package/dist/domain/errors/backend.js.map +7 -0
  1162. package/dist/domain/errors/base.d.ts +52 -0
  1163. package/dist/domain/errors/base.d.ts.map +1 -0
  1164. package/dist/domain/errors/base.js +81 -0
  1165. package/dist/domain/errors/base.js.map +7 -0
  1166. package/dist/domain/errors/domain.d.ts +15 -0
  1167. package/dist/domain/errors/domain.d.ts.map +1 -0
  1168. package/dist/domain/errors/domain.js +71 -0
  1169. package/dist/domain/errors/domain.js.map +7 -0
  1170. package/dist/domain/errors/env-limits.d.ts +2 -0
  1171. package/dist/domain/errors/env-limits.d.ts.map +1 -0
  1172. package/dist/domain/errors/env-limits.js +21 -0
  1173. package/dist/domain/errors/env-limits.js.map +7 -0
  1174. package/dist/domain/errors/index.d.ts +6 -0
  1175. package/dist/domain/errors/index.d.ts.map +1 -0
  1176. package/dist/domain/errors/index.js +77 -0
  1177. package/dist/domain/errors/index.js.map +7 -0
  1178. package/dist/domain/errors/ollama.d.ts +49 -0
  1179. package/dist/domain/errors/ollama.d.ts.map +1 -0
  1180. package/dist/domain/errors/ollama.js +103 -0
  1181. package/dist/domain/errors/ollama.js.map +7 -0
  1182. package/dist/domain/errors/policy.d.ts +8 -0
  1183. package/dist/domain/errors/policy.d.ts.map +1 -0
  1184. package/dist/domain/errors/policy.js +28 -0
  1185. package/dist/domain/errors/policy.js.map +7 -0
  1186. package/dist/domain/errors/subagent.d.ts +31 -0
  1187. package/dist/domain/errors/subagent.d.ts.map +1 -0
  1188. package/dist/domain/errors/subagent.js +76 -0
  1189. package/dist/domain/errors/subagent.js.map +7 -0
  1190. package/dist/domain/errors/task.d.ts +25 -0
  1191. package/dist/domain/errors/task.d.ts.map +1 -0
  1192. package/dist/domain/errors/task.js +101 -0
  1193. package/dist/domain/errors/task.js.map +7 -0
  1194. package/dist/domain/harness-shared.d.ts +59 -0
  1195. package/dist/domain/harness-shared.d.ts.map +1 -0
  1196. package/dist/domain/harness-shared.js +1 -0
  1197. package/dist/domain/harness-shared.js.map +7 -0
  1198. package/dist/domain/index.cjs +19 -0
  1199. package/dist/domain/index.cjs.map +7 -0
  1200. package/dist/domain/index.d.ts +21 -0
  1201. package/dist/domain/index.d.ts.map +1 -0
  1202. package/dist/domain/index.js +1 -0
  1203. package/dist/domain/index.js.map +7 -0
  1204. package/dist/domain/llm-option.d.ts +113 -0
  1205. package/dist/domain/llm-option.d.ts.map +1 -0
  1206. package/dist/domain/llm-option.js +1 -0
  1207. package/dist/domain/llm-option.js.map +7 -0
  1208. package/dist/domain/memory-scope.d.ts +2 -0
  1209. package/dist/domain/memory-scope.d.ts.map +1 -0
  1210. package/dist/domain/memory-scope.js +1 -0
  1211. package/dist/domain/memory-scope.js.map +7 -0
  1212. package/dist/domain/permission.d.ts +52 -0
  1213. package/dist/domain/permission.d.ts.map +1 -0
  1214. package/dist/domain/permission.js +5 -0
  1215. package/dist/domain/permission.js.map +7 -0
  1216. package/dist/domain/process-runner.d.ts +20 -0
  1217. package/dist/domain/process-runner.d.ts.map +1 -0
  1218. package/dist/domain/process-runner.js +1 -0
  1219. package/dist/domain/process-runner.js.map +7 -0
  1220. package/dist/domain/prompt-cache.d.ts +38 -0
  1221. package/dist/domain/prompt-cache.d.ts.map +1 -0
  1222. package/dist/domain/prompt-cache.js +66 -0
  1223. package/dist/domain/prompt-cache.js.map +7 -0
  1224. package/dist/domain/protocol.d.ts +80 -0
  1225. package/dist/domain/protocol.d.ts.map +1 -0
  1226. package/dist/domain/protocol.js +51 -0
  1227. package/dist/domain/protocol.js.map +7 -0
  1228. package/dist/domain/provider-profile.d.ts +65 -0
  1229. package/dist/domain/provider-profile.d.ts.map +1 -0
  1230. package/dist/domain/provider-profile.js +259 -0
  1231. package/dist/domain/provider-profile.js.map +7 -0
  1232. package/dist/domain/session-history.d.ts +9 -0
  1233. package/dist/domain/session-history.d.ts.map +1 -0
  1234. package/dist/domain/session-history.js +1 -0
  1235. package/dist/domain/session-history.js.map +7 -0
  1236. package/dist/domain/shared.d.ts +30 -0
  1237. package/dist/domain/shared.d.ts.map +1 -0
  1238. package/dist/domain/shared.js +1 -0
  1239. package/dist/domain/shared.js.map +7 -0
  1240. package/dist/environments/bash-action.d.ts +17 -0
  1241. package/dist/environments/bash-action.d.ts.map +1 -0
  1242. package/dist/environments/bash-action.js +64 -0
  1243. package/dist/environments/bash-action.js.map +7 -0
  1244. package/dist/environments/docker.d.ts +38 -0
  1245. package/dist/environments/docker.d.ts.map +1 -0
  1246. package/dist/environments/docker.js +123 -0
  1247. package/dist/environments/docker.js.map +7 -0
  1248. package/dist/environments/e2b.d.ts +28 -0
  1249. package/dist/environments/e2b.d.ts.map +1 -0
  1250. package/dist/environments/e2b.js +105 -0
  1251. package/dist/environments/e2b.js.map +7 -0
  1252. package/dist/environments/index.d.ts +19 -0
  1253. package/dist/environments/index.d.ts.map +1 -0
  1254. package/dist/environments/index.js +21 -0
  1255. package/dist/environments/index.js.map +7 -0
  1256. package/dist/environments/local.d.ts +15 -0
  1257. package/dist/environments/local.d.ts.map +1 -0
  1258. package/dist/environments/local.js +104 -0
  1259. package/dist/environments/local.js.map +7 -0
  1260. package/dist/environments/plugin.d.ts +22 -0
  1261. package/dist/environments/plugin.d.ts.map +1 -0
  1262. package/dist/environments/plugin.js +20 -0
  1263. package/dist/environments/plugin.js.map +7 -0
  1264. package/dist/environments/registry.d.ts +19 -0
  1265. package/dist/environments/registry.d.ts.map +1 -0
  1266. package/dist/environments/registry.js +61 -0
  1267. package/dist/environments/registry.js.map +7 -0
  1268. package/dist/environments/shared.d.ts +59 -0
  1269. package/dist/environments/shared.d.ts.map +1 -0
  1270. package/dist/environments/shared.js +142 -0
  1271. package/dist/environments/shared.js.map +7 -0
  1272. package/dist/environments/ssh.d.ts +33 -0
  1273. package/dist/environments/ssh.d.ts.map +1 -0
  1274. package/dist/environments/ssh.js +105 -0
  1275. package/dist/environments/ssh.js.map +7 -0
  1276. package/dist/environments/vercel-sandbox.d.ts +32 -0
  1277. package/dist/environments/vercel-sandbox.d.ts.map +1 -0
  1278. package/dist/environments/vercel-sandbox.js +96 -0
  1279. package/dist/environments/vercel-sandbox.js.map +7 -0
  1280. package/dist/exports/index-actions.d.ts +15 -0
  1281. package/dist/exports/index-actions.d.ts.map +1 -0
  1282. package/dist/exports/index-actions.js +29 -0
  1283. package/dist/exports/index-actions.js.map +7 -0
  1284. package/dist/exports/index-agents.d.ts +33 -0
  1285. package/dist/exports/index-agents.d.ts.map +1 -0
  1286. package/dist/exports/index-agents.js +101 -0
  1287. package/dist/exports/index-agents.js.map +7 -0
  1288. package/dist/exports/index-auth.d.ts +4 -0
  1289. package/dist/exports/index-auth.d.ts.map +1 -0
  1290. package/dist/exports/index-auth.js +23 -0
  1291. package/dist/exports/index-auth.js.map +7 -0
  1292. package/dist/exports/index-bridge.d.ts +75 -0
  1293. package/dist/exports/index-bridge.d.ts.map +1 -0
  1294. package/dist/exports/index-bridge.js +217 -0
  1295. package/dist/exports/index-bridge.js.map +7 -0
  1296. package/dist/exports/index-capabilities.d.ts +35 -0
  1297. package/dist/exports/index-capabilities.d.ts.map +1 -0
  1298. package/dist/exports/index-capabilities.js +138 -0
  1299. package/dist/exports/index-capabilities.js.map +7 -0
  1300. package/dist/exports/index-config.d.ts +13 -0
  1301. package/dist/exports/index-config.d.ts.map +1 -0
  1302. package/dist/exports/index-config.js +49 -0
  1303. package/dist/exports/index-config.js.map +7 -0
  1304. package/dist/exports/index-data.d.ts +24 -0
  1305. package/dist/exports/index-data.d.ts.map +1 -0
  1306. package/dist/exports/index-data.js +37 -0
  1307. package/dist/exports/index-data.js.map +7 -0
  1308. package/dist/exports/index-errors.d.ts +3 -0
  1309. package/dist/exports/index-errors.d.ts.map +1 -0
  1310. package/dist/exports/index-errors.js +65 -0
  1311. package/dist/exports/index-errors.js.map +7 -0
  1312. package/dist/exports/index-hooks.d.ts +3 -0
  1313. package/dist/exports/index-hooks.d.ts.map +1 -0
  1314. package/dist/exports/index-hooks.js +5 -0
  1315. package/dist/exports/index-hooks.js.map +7 -0
  1316. package/dist/exports/index-observability.d.ts +5 -0
  1317. package/dist/exports/index-observability.d.ts.map +1 -0
  1318. package/dist/exports/index-observability.js +11 -0
  1319. package/dist/exports/index-observability.js.map +7 -0
  1320. package/dist/exports/index-orchestration.d.ts +26 -0
  1321. package/dist/exports/index-orchestration.d.ts.map +1 -0
  1322. package/dist/exports/index-orchestration.js +83 -0
  1323. package/dist/exports/index-orchestration.js.map +7 -0
  1324. package/dist/exports/index-output.d.ts +14 -0
  1325. package/dist/exports/index-output.d.ts.map +1 -0
  1326. package/dist/exports/index-output.js +15 -0
  1327. package/dist/exports/index-output.js.map +7 -0
  1328. package/dist/exports/index-plugins.d.ts +3 -0
  1329. package/dist/exports/index-plugins.d.ts.map +1 -0
  1330. package/dist/exports/index-plugins.js +5 -0
  1331. package/dist/exports/index-plugins.js.map +7 -0
  1332. package/dist/exports/index-resilience.d.ts +3 -0
  1333. package/dist/exports/index-resilience.d.ts.map +1 -0
  1334. package/dist/exports/index-resilience.js +5 -0
  1335. package/dist/exports/index-resilience.js.map +7 -0
  1336. package/dist/exports/index-sessions.d.ts +3 -0
  1337. package/dist/exports/index-sessions.d.ts.map +1 -0
  1338. package/dist/exports/index-sessions.js +1 -0
  1339. package/dist/exports/index-sessions.js.map +7 -0
  1340. package/dist/exports/index-transport.d.ts +10 -0
  1341. package/dist/exports/index-transport.d.ts.map +1 -0
  1342. package/dist/exports/index-transport.js +71 -0
  1343. package/dist/exports/index-transport.js.map +7 -0
  1344. package/dist/exports/index-types.d.ts +17 -0
  1345. package/dist/exports/index-types.d.ts.map +1 -0
  1346. package/dist/exports/index-types.js +35 -0
  1347. package/dist/exports/index-types.js.map +7 -0
  1348. package/dist/exports/index-utils.d.ts +9 -0
  1349. package/dist/exports/index-utils.d.ts.map +1 -0
  1350. package/dist/exports/index-utils.js +27 -0
  1351. package/dist/exports/index-utils.js.map +7 -0
  1352. package/dist/hooks/executors/command.d.ts +3 -0
  1353. package/dist/hooks/executors/command.d.ts.map +1 -0
  1354. package/dist/hooks/executors/command.js +52 -0
  1355. package/dist/hooks/executors/command.js.map +7 -0
  1356. package/dist/hooks/executors/http.d.ts +3 -0
  1357. package/dist/hooks/executors/http.d.ts.map +1 -0
  1358. package/dist/hooks/executors/http.js +42 -0
  1359. package/dist/hooks/executors/http.js.map +7 -0
  1360. package/dist/hooks/index.d.ts +5 -0
  1361. package/dist/hooks/index.d.ts.map +1 -0
  1362. package/dist/hooks/index.js +10 -0
  1363. package/dist/hooks/index.js.map +7 -0
  1364. package/dist/hooks/matcher.d.ts +8 -0
  1365. package/dist/hooks/matcher.d.ts.map +1 -0
  1366. package/dist/hooks/matcher.js +25 -0
  1367. package/dist/hooks/matcher.js.map +7 -0
  1368. package/dist/hooks/plugin.d.ts +4 -0
  1369. package/dist/hooks/plugin.d.ts.map +1 -0
  1370. package/dist/hooks/plugin.js +226 -0
  1371. package/dist/hooks/plugin.js.map +7 -0
  1372. package/dist/hooks/runner.d.ts +5 -0
  1373. package/dist/hooks/runner.d.ts.map +1 -0
  1374. package/dist/hooks/runner.js +88 -0
  1375. package/dist/hooks/runner.js.map +7 -0
  1376. package/dist/hooks/types.d.ts +84 -0
  1377. package/dist/hooks/types.d.ts.map +1 -0
  1378. package/dist/hooks/types.js +16 -0
  1379. package/dist/hooks/types.js.map +7 -0
  1380. package/dist/index.cjs +50769 -0
  1381. package/dist/index.cjs.map +7 -0
  1382. package/dist/index.d.ts +48 -0
  1383. package/dist/index.d.ts.map +1 -0
  1384. package/dist/index.js +797 -0
  1385. package/dist/index.js.map +7 -0
  1386. package/dist/observability/bridge-adapter.d.ts +23 -0
  1387. package/dist/observability/bridge-adapter.d.ts.map +1 -0
  1388. package/dist/observability/bridge-adapter.js +235 -0
  1389. package/dist/observability/bridge-adapter.js.map +7 -0
  1390. package/dist/observability/index.cjs +502 -0
  1391. package/dist/observability/index.cjs.map +7 -0
  1392. package/dist/observability/index.d.ts +7 -0
  1393. package/dist/observability/index.d.ts.map +1 -0
  1394. package/dist/observability/index.js +9 -0
  1395. package/dist/observability/index.js.map +7 -0
  1396. package/dist/observability/otel-sink.d.ts +27 -0
  1397. package/dist/observability/otel-sink.d.ts.map +1 -0
  1398. package/dist/observability/otel-sink.js +42 -0
  1399. package/dist/observability/otel-sink.js.map +7 -0
  1400. package/dist/observability/types.d.ts +51 -0
  1401. package/dist/observability/types.d.ts.map +1 -0
  1402. package/dist/observability/types.js +1 -0
  1403. package/dist/observability/types.js.map +7 -0
  1404. package/dist/observability/verbose-listeners.d.ts +30 -0
  1405. package/dist/observability/verbose-listeners.d.ts.map +1 -0
  1406. package/dist/observability/verbose-listeners.js +187 -0
  1407. package/dist/observability/verbose-listeners.js.map +7 -0
  1408. package/dist/output/define-schema.d.ts +16 -0
  1409. package/dist/output/define-schema.d.ts.map +1 -0
  1410. package/dist/output/define-schema.js +7 -0
  1411. package/dist/output/define-schema.js.map +7 -0
  1412. package/dist/output/describe.d.ts +10 -0
  1413. package/dist/output/describe.d.ts.map +1 -0
  1414. package/dist/output/describe.js +78 -0
  1415. package/dist/output/describe.js.map +7 -0
  1416. package/dist/output/index.cjs +472 -0
  1417. package/dist/output/index.cjs.map +7 -0
  1418. package/dist/output/index.d.ts +13 -0
  1419. package/dist/output/index.d.ts.map +1 -0
  1420. package/dist/output/index.js +15 -0
  1421. package/dist/output/index.js.map +7 -0
  1422. package/dist/output/parse.d.ts +13 -0
  1423. package/dist/output/parse.d.ts.map +1 -0
  1424. package/dist/output/parse.js +246 -0
  1425. package/dist/output/parse.js.map +7 -0
  1426. package/dist/output/types.d.ts +90 -0
  1427. package/dist/output/types.d.ts.map +1 -0
  1428. package/dist/output/types.js +1 -0
  1429. package/dist/output/types.js.map +7 -0
  1430. package/dist/output/validated-worker.d.ts +48 -0
  1431. package/dist/output/validated-worker.d.ts.map +1 -0
  1432. package/dist/output/validated-worker.js +59 -0
  1433. package/dist/output/validated-worker.js.map +7 -0
  1434. package/dist/plugins/define.d.ts +24 -0
  1435. package/dist/plugins/define.d.ts.map +1 -0
  1436. package/dist/plugins/define.js +62 -0
  1437. package/dist/plugins/define.js.map +7 -0
  1438. package/dist/plugins/test-context.d.ts +29 -0
  1439. package/dist/plugins/test-context.d.ts.map +1 -0
  1440. package/dist/plugins/test-context.js +186 -0
  1441. package/dist/plugins/test-context.js.map +7 -0
  1442. package/dist/policy/evaluator.d.ts +7 -0
  1443. package/dist/policy/evaluator.d.ts.map +1 -0
  1444. package/dist/policy/evaluator.js +127 -0
  1445. package/dist/policy/evaluator.js.map +7 -0
  1446. package/dist/policy/index.d.ts +3 -0
  1447. package/dist/policy/index.d.ts.map +1 -0
  1448. package/dist/policy/index.js +15 -0
  1449. package/dist/policy/index.js.map +7 -0
  1450. package/dist/policy/types.d.ts +91 -0
  1451. package/dist/policy/types.d.ts.map +1 -0
  1452. package/dist/policy/types.js +1 -0
  1453. package/dist/policy/types.js.map +7 -0
  1454. package/dist/ports/process.d.ts +10 -0
  1455. package/dist/ports/process.d.ts.map +1 -0
  1456. package/dist/ports/process.js +1 -0
  1457. package/dist/ports/process.js.map +7 -0
  1458. package/dist/prompts/agent-type.d.ts +18 -0
  1459. package/dist/prompts/agent-type.d.ts.map +1 -0
  1460. package/dist/prompts/agent-type.js +85 -0
  1461. package/dist/prompts/agent-type.js.map +7 -0
  1462. package/dist/prompts/envelope.d.ts +21 -0
  1463. package/dist/prompts/envelope.d.ts.map +1 -0
  1464. package/dist/prompts/envelope.js +77 -0
  1465. package/dist/prompts/envelope.js.map +7 -0
  1466. package/dist/prompts/roles.d.ts +17 -0
  1467. package/dist/prompts/roles.d.ts.map +1 -0
  1468. package/dist/prompts/roles.js +110 -0
  1469. package/dist/prompts/roles.js.map +7 -0
  1470. package/dist/prompts/sanitise.d.ts +26 -0
  1471. package/dist/prompts/sanitise.d.ts.map +1 -0
  1472. package/dist/prompts/sanitise.js +22 -0
  1473. package/dist/prompts/sanitise.js.map +7 -0
  1474. package/dist/prompts/skills.d.ts +8 -0
  1475. package/dist/prompts/skills.d.ts.map +1 -0
  1476. package/dist/prompts/skills.js +41 -0
  1477. package/dist/prompts/skills.js.map +7 -0
  1478. package/dist/prompts/tool.d.ts +24 -0
  1479. package/dist/prompts/tool.d.ts.map +1 -0
  1480. package/dist/prompts/tool.js +23 -0
  1481. package/dist/prompts/tool.js.map +7 -0
  1482. package/dist/protocol.cjs +364 -0
  1483. package/dist/protocol.cjs.map +7 -0
  1484. package/dist/protocol.d.ts +7 -0
  1485. package/dist/protocol.d.ts.map +1 -0
  1486. package/dist/protocol.js +25 -0
  1487. package/dist/protocol.js.map +7 -0
  1488. package/dist/resilience/circuit-breaker.d.ts +33 -0
  1489. package/dist/resilience/circuit-breaker.d.ts.map +1 -0
  1490. package/dist/resilience/circuit-breaker.js +101 -0
  1491. package/dist/resilience/circuit-breaker.js.map +7 -0
  1492. package/dist/retrieval/vector-store.d.ts +54 -0
  1493. package/dist/retrieval/vector-store.d.ts.map +1 -0
  1494. package/dist/retrieval/vector-store.js +160 -0
  1495. package/dist/retrieval/vector-store.js.map +7 -0
  1496. package/dist/runtime/bridge/action-helpers.d.ts +9 -0
  1497. package/dist/runtime/bridge/action-helpers.d.ts.map +1 -0
  1498. package/dist/runtime/bridge/action-helpers.js +25 -0
  1499. package/dist/runtime/bridge/action-helpers.js.map +7 -0
  1500. package/dist/runtime/bridge/agent-handle-types.d.ts +239 -0
  1501. package/dist/runtime/bridge/agent-handle-types.d.ts.map +1 -0
  1502. package/dist/runtime/bridge/agent-handle-types.js +1 -0
  1503. package/dist/runtime/bridge/agent-handle-types.js.map +7 -0
  1504. package/dist/runtime/bridge/agent-handle.d.ts +8 -0
  1505. package/dist/runtime/bridge/agent-handle.d.ts.map +1 -0
  1506. package/dist/runtime/bridge/agent-handle.js +164 -0
  1507. package/dist/runtime/bridge/agent-handle.js.map +7 -0
  1508. package/dist/runtime/bridge/agent-info-types.d.ts +87 -0
  1509. package/dist/runtime/bridge/agent-info-types.d.ts.map +1 -0
  1510. package/dist/runtime/bridge/agent-info-types.js +1 -0
  1511. package/dist/runtime/bridge/agent-info-types.js.map +7 -0
  1512. package/dist/runtime/bridge/agent-presets.d.ts +16 -0
  1513. package/dist/runtime/bridge/agent-presets.d.ts.map +1 -0
  1514. package/dist/runtime/bridge/agent-presets.js +79 -0
  1515. package/dist/runtime/bridge/agent-presets.js.map +7 -0
  1516. package/dist/runtime/bridge/agent-route-builders.d.ts +19 -0
  1517. package/dist/runtime/bridge/agent-route-builders.d.ts.map +1 -0
  1518. package/dist/runtime/bridge/agent-route-builders.js +321 -0
  1519. package/dist/runtime/bridge/agent-route-builders.js.map +7 -0
  1520. package/dist/runtime/bridge/agent-route-registry.d.ts +14 -0
  1521. package/dist/runtime/bridge/agent-route-registry.d.ts.map +1 -0
  1522. package/dist/runtime/bridge/agent-route-registry.js +20 -0
  1523. package/dist/runtime/bridge/agent-route-registry.js.map +7 -0
  1524. package/dist/runtime/bridge/agent-route-types.d.ts +336 -0
  1525. package/dist/runtime/bridge/agent-route-types.d.ts.map +1 -0
  1526. package/dist/runtime/bridge/agent-route-types.js +1 -0
  1527. package/dist/runtime/bridge/agent-route-types.js.map +7 -0
  1528. package/dist/runtime/bridge/agent-routes.d.ts +14 -0
  1529. package/dist/runtime/bridge/agent-routes.d.ts.map +1 -0
  1530. package/dist/runtime/bridge/agent-routes.js +23 -0
  1531. package/dist/runtime/bridge/agent-routes.js.map +7 -0
  1532. package/dist/runtime/bridge/agent-skill-plugin.d.ts +38 -0
  1533. package/dist/runtime/bridge/agent-skill-plugin.d.ts.map +1 -0
  1534. package/dist/runtime/bridge/agent-skill-plugin.js +102 -0
  1535. package/dist/runtime/bridge/agent-skill-plugin.js.map +7 -0
  1536. package/dist/runtime/bridge/agui-gateway-converters.d.ts +11 -0
  1537. package/dist/runtime/bridge/agui-gateway-converters.d.ts.map +1 -0
  1538. package/dist/runtime/bridge/agui-gateway-converters.js +155 -0
  1539. package/dist/runtime/bridge/agui-gateway-converters.js.map +7 -0
  1540. package/dist/runtime/bridge/agui-gateway-emitters.d.ts +30 -0
  1541. package/dist/runtime/bridge/agui-gateway-emitters.d.ts.map +1 -0
  1542. package/dist/runtime/bridge/agui-gateway-emitters.js +87 -0
  1543. package/dist/runtime/bridge/agui-gateway-emitters.js.map +7 -0
  1544. package/dist/runtime/bridge/agui-gateway-input.d.ts +4 -0
  1545. package/dist/runtime/bridge/agui-gateway-input.d.ts.map +1 -0
  1546. package/dist/runtime/bridge/agui-gateway-input.js +14 -0
  1547. package/dist/runtime/bridge/agui-gateway-input.js.map +7 -0
  1548. package/dist/runtime/bridge/agui-gateway-types.d.ts +123 -0
  1549. package/dist/runtime/bridge/agui-gateway-types.d.ts.map +1 -0
  1550. package/dist/runtime/bridge/agui-gateway-types.js +47 -0
  1551. package/dist/runtime/bridge/agui-gateway-types.js.map +7 -0
  1552. package/dist/runtime/bridge/agui-gateway-verifier.d.ts +31 -0
  1553. package/dist/runtime/bridge/agui-gateway-verifier.d.ts.map +1 -0
  1554. package/dist/runtime/bridge/agui-gateway-verifier.js +185 -0
  1555. package/dist/runtime/bridge/agui-gateway-verifier.js.map +7 -0
  1556. package/dist/runtime/bridge/agui-gateway.d.ts +29 -0
  1557. package/dist/runtime/bridge/agui-gateway.d.ts.map +1 -0
  1558. package/dist/runtime/bridge/agui-gateway.js +257 -0
  1559. package/dist/runtime/bridge/agui-gateway.js.map +7 -0
  1560. package/dist/runtime/bridge/anthropic-gateway-converters.d.ts +81 -0
  1561. package/dist/runtime/bridge/anthropic-gateway-converters.d.ts.map +1 -0
  1562. package/dist/runtime/bridge/anthropic-gateway-converters.js +273 -0
  1563. package/dist/runtime/bridge/anthropic-gateway-converters.js.map +7 -0
  1564. package/dist/runtime/bridge/anthropic-gateway.d.ts +26 -0
  1565. package/dist/runtime/bridge/anthropic-gateway.d.ts.map +1 -0
  1566. package/dist/runtime/bridge/anthropic-gateway.js +90 -0
  1567. package/dist/runtime/bridge/anthropic-gateway.js.map +7 -0
  1568. package/dist/runtime/bridge/approval-facade.d.ts +36 -0
  1569. package/dist/runtime/bridge/approval-facade.d.ts.map +1 -0
  1570. package/dist/runtime/bridge/approval-facade.js +208 -0
  1571. package/dist/runtime/bridge/approval-facade.js.map +7 -0
  1572. package/dist/runtime/bridge/approval-helpers.d.ts +20 -0
  1573. package/dist/runtime/bridge/approval-helpers.d.ts.map +1 -0
  1574. package/dist/runtime/bridge/approval-helpers.js +19 -0
  1575. package/dist/runtime/bridge/approval-helpers.js.map +7 -0
  1576. package/dist/runtime/bridge/approval-impl.d.ts +5 -0
  1577. package/dist/runtime/bridge/approval-impl.d.ts.map +1 -0
  1578. package/dist/runtime/bridge/approval-impl.js +60 -0
  1579. package/dist/runtime/bridge/approval-impl.js.map +7 -0
  1580. package/dist/runtime/bridge/auth-facade.d.ts +27 -0
  1581. package/dist/runtime/bridge/auth-facade.d.ts.map +1 -0
  1582. package/dist/runtime/bridge/auth-facade.js +73 -0
  1583. package/dist/runtime/bridge/auth-facade.js.map +7 -0
  1584. package/dist/runtime/bridge/auth-helpers.d.ts +29 -0
  1585. package/dist/runtime/bridge/auth-helpers.d.ts.map +1 -0
  1586. package/dist/runtime/bridge/auth-helpers.js +182 -0
  1587. package/dist/runtime/bridge/auth-helpers.js.map +7 -0
  1588. package/dist/runtime/bridge/brain-auto-recall-plugin.d.ts +11 -0
  1589. package/dist/runtime/bridge/brain-auto-recall-plugin.d.ts.map +1 -0
  1590. package/dist/runtime/bridge/brain-auto-recall-plugin.js +106 -0
  1591. package/dist/runtime/bridge/brain-auto-recall-plugin.js.map +7 -0
  1592. package/dist/runtime/bridge/brain-auto-remember-plugin.d.ts +7 -0
  1593. package/dist/runtime/bridge/brain-auto-remember-plugin.d.ts.map +1 -0
  1594. package/dist/runtime/bridge/brain-auto-remember-plugin.js +84 -0
  1595. package/dist/runtime/bridge/brain-auto-remember-plugin.js.map +7 -0
  1596. package/dist/runtime/bridge/brain-config.d.ts +248 -0
  1597. package/dist/runtime/bridge/brain-config.d.ts.map +1 -0
  1598. package/dist/runtime/bridge/brain-config.js +71 -0
  1599. package/dist/runtime/bridge/brain-config.js.map +7 -0
  1600. package/dist/runtime/bridge/brain-contract.d.ts +63 -0
  1601. package/dist/runtime/bridge/brain-contract.d.ts.map +1 -0
  1602. package/dist/runtime/bridge/brain-contract.js +7 -0
  1603. package/dist/runtime/bridge/brain-contract.js.map +7 -0
  1604. package/dist/runtime/bridge/brain-plugin-wrapper.d.ts +13 -0
  1605. package/dist/runtime/bridge/brain-plugin-wrapper.d.ts.map +1 -0
  1606. package/dist/runtime/bridge/brain-plugin-wrapper.js +197 -0
  1607. package/dist/runtime/bridge/brain-plugin-wrapper.js.map +7 -0
  1608. package/dist/runtime/bridge/brain-plugin.d.ts +62 -0
  1609. package/dist/runtime/bridge/brain-plugin.d.ts.map +1 -0
  1610. package/dist/runtime/bridge/brain-plugin.js +128 -0
  1611. package/dist/runtime/bridge/brain-plugin.js.map +7 -0
  1612. package/dist/runtime/bridge/brain-resolver.d.ts +67 -0
  1613. package/dist/runtime/bridge/brain-resolver.d.ts.map +1 -0
  1614. package/dist/runtime/bridge/brain-resolver.js +303 -0
  1615. package/dist/runtime/bridge/brain-resolver.js.map +7 -0
  1616. package/dist/runtime/bridge/bridge-class.d.ts +139 -0
  1617. package/dist/runtime/bridge/bridge-class.d.ts.map +1 -0
  1618. package/dist/runtime/bridge/bridge-class.js +327 -0
  1619. package/dist/runtime/bridge/bridge-class.js.map +7 -0
  1620. package/dist/runtime/bridge/bridge-config-snapshot.d.ts +7 -0
  1621. package/dist/runtime/bridge/bridge-config-snapshot.d.ts.map +1 -0
  1622. package/dist/runtime/bridge/bridge-config-snapshot.js +41 -0
  1623. package/dist/runtime/bridge/bridge-config-snapshot.js.map +7 -0
  1624. package/dist/runtime/bridge/bridge-constructor-helpers.d.ts +60 -0
  1625. package/dist/runtime/bridge/bridge-constructor-helpers.d.ts.map +1 -0
  1626. package/dist/runtime/bridge/bridge-constructor-helpers.js +105 -0
  1627. package/dist/runtime/bridge/bridge-constructor-helpers.js.map +7 -0
  1628. package/dist/runtime/bridge/bridge-core-services.d.ts +25 -0
  1629. package/dist/runtime/bridge/bridge-core-services.d.ts.map +1 -0
  1630. package/dist/runtime/bridge/bridge-core-services.js +95 -0
  1631. package/dist/runtime/bridge/bridge-core-services.js.map +7 -0
  1632. package/dist/runtime/bridge/bridge-instance-api.d.ts +37 -0
  1633. package/dist/runtime/bridge/bridge-instance-api.d.ts.map +1 -0
  1634. package/dist/runtime/bridge/bridge-instance-api.js +296 -0
  1635. package/dist/runtime/bridge/bridge-instance-api.js.map +7 -0
  1636. package/dist/runtime/bridge/bridge-lifecycle.d.ts +43 -0
  1637. package/dist/runtime/bridge/bridge-lifecycle.d.ts.map +1 -0
  1638. package/dist/runtime/bridge/bridge-lifecycle.js +43 -0
  1639. package/dist/runtime/bridge/bridge-lifecycle.js.map +7 -0
  1640. package/dist/runtime/bridge/bridge-port.d.ts +35 -0
  1641. package/dist/runtime/bridge/bridge-port.d.ts.map +1 -0
  1642. package/dist/runtime/bridge/bridge-port.js +8 -0
  1643. package/dist/runtime/bridge/bridge-port.js.map +7 -0
  1644. package/dist/runtime/bridge/bridge-send.d.ts +31 -0
  1645. package/dist/runtime/bridge/bridge-send.d.ts.map +1 -0
  1646. package/dist/runtime/bridge/bridge-send.js +273 -0
  1647. package/dist/runtime/bridge/bridge-send.js.map +7 -0
  1648. package/dist/runtime/bridge/bridge-task-store.d.ts +4 -0
  1649. package/dist/runtime/bridge/bridge-task-store.d.ts.map +1 -0
  1650. package/dist/runtime/bridge/bridge-task-store.js +15 -0
  1651. package/dist/runtime/bridge/bridge-task-store.js.map +7 -0
  1652. package/dist/runtime/bridge/bridge.d.ts +10 -0
  1653. package/dist/runtime/bridge/bridge.d.ts.map +1 -0
  1654. package/dist/runtime/bridge/bridge.js +12 -0
  1655. package/dist/runtime/bridge/bridge.js.map +7 -0
  1656. package/dist/runtime/bridge/budget-facade.d.ts +27 -0
  1657. package/dist/runtime/bridge/budget-facade.d.ts.map +1 -0
  1658. package/dist/runtime/bridge/budget-facade.js +32 -0
  1659. package/dist/runtime/bridge/budget-facade.js.map +7 -0
  1660. package/dist/runtime/bridge/budget-helpers.d.ts +4 -0
  1661. package/dist/runtime/bridge/budget-helpers.d.ts.map +1 -0
  1662. package/dist/runtime/bridge/budget-helpers.js +26 -0
  1663. package/dist/runtime/bridge/budget-helpers.js.map +7 -0
  1664. package/dist/runtime/bridge/cache-telemetry.d.ts +16 -0
  1665. package/dist/runtime/bridge/cache-telemetry.d.ts.map +1 -0
  1666. package/dist/runtime/bridge/cache-telemetry.js +40 -0
  1667. package/dist/runtime/bridge/cache-telemetry.js.map +7 -0
  1668. package/dist/runtime/bridge/capability-action-call.d.ts +33 -0
  1669. package/dist/runtime/bridge/capability-action-call.d.ts.map +1 -0
  1670. package/dist/runtime/bridge/capability-action-call.js +246 -0
  1671. package/dist/runtime/bridge/capability-action-call.js.map +7 -0
  1672. package/dist/runtime/bridge/capability-runner.d.ts +35 -0
  1673. package/dist/runtime/bridge/capability-runner.d.ts.map +1 -0
  1674. package/dist/runtime/bridge/capability-runner.js +101 -0
  1675. package/dist/runtime/bridge/capability-runner.js.map +7 -0
  1676. package/dist/runtime/bridge/config-bridge-helpers.d.ts +25 -0
  1677. package/dist/runtime/bridge/config-bridge-helpers.d.ts.map +1 -0
  1678. package/dist/runtime/bridge/config-bridge-helpers.js +52 -0
  1679. package/dist/runtime/bridge/config-bridge-helpers.js.map +7 -0
  1680. package/dist/runtime/bridge/config-validation.d.ts +18 -0
  1681. package/dist/runtime/bridge/config-validation.d.ts.map +1 -0
  1682. package/dist/runtime/bridge/config-validation.js +86 -0
  1683. package/dist/runtime/bridge/config-validation.js.map +7 -0
  1684. package/dist/runtime/bridge/configure.d.ts +40 -0
  1685. package/dist/runtime/bridge/configure.d.ts.map +1 -0
  1686. package/dist/runtime/bridge/configure.js +135 -0
  1687. package/dist/runtime/bridge/configure.js.map +7 -0
  1688. package/dist/runtime/bridge/context-compaction-resolution.d.ts +4 -0
  1689. package/dist/runtime/bridge/context-compaction-resolution.d.ts.map +1 -0
  1690. package/dist/runtime/bridge/context-compaction-resolution.js +25 -0
  1691. package/dist/runtime/bridge/context-compaction-resolution.js.map +7 -0
  1692. package/dist/runtime/bridge/create-agent.d.ts +55 -0
  1693. package/dist/runtime/bridge/create-agent.d.ts.map +1 -0
  1694. package/dist/runtime/bridge/create-agent.js +140 -0
  1695. package/dist/runtime/bridge/create-agent.js.map +7 -0
  1696. package/dist/runtime/bridge/create-bridge.d.ts +6 -0
  1697. package/dist/runtime/bridge/create-bridge.d.ts.map +1 -0
  1698. package/dist/runtime/bridge/create-bridge.js +293 -0
  1699. package/dist/runtime/bridge/create-bridge.js.map +7 -0
  1700. package/dist/runtime/bridge/defaults-helpers.d.ts +12 -0
  1701. package/dist/runtime/bridge/defaults-helpers.d.ts.map +1 -0
  1702. package/dist/runtime/bridge/defaults-helpers.js +151 -0
  1703. package/dist/runtime/bridge/defaults-helpers.js.map +7 -0
  1704. package/dist/runtime/bridge/embedders/index.d.ts +12 -0
  1705. package/dist/runtime/bridge/embedders/index.d.ts.map +1 -0
  1706. package/dist/runtime/bridge/embedders/index.js +7 -0
  1707. package/dist/runtime/bridge/embedders/index.js.map +7 -0
  1708. package/dist/runtime/bridge/embedders/ollama-embedder.d.ts +11 -0
  1709. package/dist/runtime/bridge/embedders/ollama-embedder.d.ts.map +1 -0
  1710. package/dist/runtime/bridge/embedders/ollama-embedder.js +23 -0
  1711. package/dist/runtime/bridge/embedders/ollama-embedder.js.map +7 -0
  1712. package/dist/runtime/bridge/embedders/openai-embedder.d.ts +28 -0
  1713. package/dist/runtime/bridge/embedders/openai-embedder.d.ts.map +1 -0
  1714. package/dist/runtime/bridge/embedders/openai-embedder.js +55 -0
  1715. package/dist/runtime/bridge/embedders/openai-embedder.js.map +7 -0
  1716. package/dist/runtime/bridge/embedders/types.d.ts +18 -0
  1717. package/dist/runtime/bridge/embedders/types.d.ts.map +1 -0
  1718. package/dist/runtime/bridge/embedders/types.js +1 -0
  1719. package/dist/runtime/bridge/embedders/types.js.map +7 -0
  1720. package/dist/runtime/bridge/events/event-map-approval.d.ts +12 -0
  1721. package/dist/runtime/bridge/events/event-map-approval.d.ts.map +1 -0
  1722. package/dist/runtime/bridge/events/event-map-approval.js +1 -0
  1723. package/dist/runtime/bridge/events/event-map-approval.js.map +7 -0
  1724. package/dist/runtime/bridge/events/event-map-auth.d.ts +59 -0
  1725. package/dist/runtime/bridge/events/event-map-auth.d.ts.map +1 -0
  1726. package/dist/runtime/bridge/events/event-map-auth.js +1 -0
  1727. package/dist/runtime/bridge/events/event-map-auth.js.map +7 -0
  1728. package/dist/runtime/bridge/events/event-map-brain.d.ts +156 -0
  1729. package/dist/runtime/bridge/events/event-map-brain.d.ts.map +1 -0
  1730. package/dist/runtime/bridge/events/event-map-brain.js +1 -0
  1731. package/dist/runtime/bridge/events/event-map-brain.js.map +7 -0
  1732. package/dist/runtime/bridge/events/event-map-curator.d.ts +60 -0
  1733. package/dist/runtime/bridge/events/event-map-curator.d.ts.map +1 -0
  1734. package/dist/runtime/bridge/events/event-map-curator.js +1 -0
  1735. package/dist/runtime/bridge/events/event-map-curator.js.map +7 -0
  1736. package/dist/runtime/bridge/events/event-map-environments.d.ts +46 -0
  1737. package/dist/runtime/bridge/events/event-map-environments.d.ts.map +1 -0
  1738. package/dist/runtime/bridge/events/event-map-environments.js +1 -0
  1739. package/dist/runtime/bridge/events/event-map-environments.js.map +7 -0
  1740. package/dist/runtime/bridge/events/event-map-mcp.d.ts +63 -0
  1741. package/dist/runtime/bridge/events/event-map-mcp.d.ts.map +1 -0
  1742. package/dist/runtime/bridge/events/event-map-mcp.js +1 -0
  1743. package/dist/runtime/bridge/events/event-map-mcp.js.map +7 -0
  1744. package/dist/runtime/bridge/events/event-map-runtime.d.ts +138 -0
  1745. package/dist/runtime/bridge/events/event-map-runtime.d.ts.map +1 -0
  1746. package/dist/runtime/bridge/events/event-map-runtime.js +1 -0
  1747. package/dist/runtime/bridge/events/event-map-runtime.js.map +7 -0
  1748. package/dist/runtime/bridge/events/event-map-scheduler.d.ts +48 -0
  1749. package/dist/runtime/bridge/events/event-map-scheduler.d.ts.map +1 -0
  1750. package/dist/runtime/bridge/events/event-map-scheduler.js +1 -0
  1751. package/dist/runtime/bridge/events/event-map-scheduler.js.map +7 -0
  1752. package/dist/runtime/bridge/events/event-map-skills.d.ts +110 -0
  1753. package/dist/runtime/bridge/events/event-map-skills.d.ts.map +1 -0
  1754. package/dist/runtime/bridge/events/event-map-skills.js +1 -0
  1755. package/dist/runtime/bridge/events/event-map-skills.js.map +7 -0
  1756. package/dist/runtime/bridge/events/event-map-task.d.ts +70 -0
  1757. package/dist/runtime/bridge/events/event-map-task.d.ts.map +1 -0
  1758. package/dist/runtime/bridge/events/event-map-task.js +1 -0
  1759. package/dist/runtime/bridge/events/event-map-task.js.map +7 -0
  1760. package/dist/runtime/bridge/events/event-map-tui.d.ts +20 -0
  1761. package/dist/runtime/bridge/events/event-map-tui.d.ts.map +1 -0
  1762. package/dist/runtime/bridge/events/event-map-tui.js +1 -0
  1763. package/dist/runtime/bridge/events/event-map-tui.js.map +7 -0
  1764. package/dist/runtime/bridge/events/shared.d.ts +25 -0
  1765. package/dist/runtime/bridge/events/shared.d.ts.map +1 -0
  1766. package/dist/runtime/bridge/events/shared.js +1 -0
  1767. package/dist/runtime/bridge/events/shared.js.map +7 -0
  1768. package/dist/runtime/bridge/events-contracts.d.ts +39 -0
  1769. package/dist/runtime/bridge/events-contracts.d.ts.map +1 -0
  1770. package/dist/runtime/bridge/events-contracts.js +1 -0
  1771. package/dist/runtime/bridge/events-contracts.js.map +7 -0
  1772. package/dist/runtime/bridge/events-schema.d.ts +43 -0
  1773. package/dist/runtime/bridge/events-schema.d.ts.map +1 -0
  1774. package/dist/runtime/bridge/events-schema.js +103 -0
  1775. package/dist/runtime/bridge/events-schema.js.map +7 -0
  1776. package/dist/runtime/bridge/events.d.ts +90 -0
  1777. package/dist/runtime/bridge/events.d.ts.map +1 -0
  1778. package/dist/runtime/bridge/events.js +143 -0
  1779. package/dist/runtime/bridge/events.js.map +7 -0
  1780. package/dist/runtime/bridge/fabric-bridge-types.d.ts +6 -0
  1781. package/dist/runtime/bridge/fabric-bridge-types.d.ts.map +1 -0
  1782. package/dist/runtime/bridge/fabric-bridge-types.js +1 -0
  1783. package/dist/runtime/bridge/fabric-bridge-types.js.map +7 -0
  1784. package/dist/runtime/bridge/fabric-channel.d.ts +11 -0
  1785. package/dist/runtime/bridge/fabric-channel.d.ts.map +1 -0
  1786. package/dist/runtime/bridge/fabric-channel.js +128 -0
  1787. package/dist/runtime/bridge/fabric-channel.js.map +7 -0
  1788. package/dist/runtime/bridge/fabric-plugin.d.ts +6 -0
  1789. package/dist/runtime/bridge/fabric-plugin.d.ts.map +1 -0
  1790. package/dist/runtime/bridge/fabric-plugin.js +217 -0
  1791. package/dist/runtime/bridge/fabric-plugin.js.map +7 -0
  1792. package/dist/runtime/bridge/fabric-scope.d.ts +32 -0
  1793. package/dist/runtime/bridge/fabric-scope.d.ts.map +1 -0
  1794. package/dist/runtime/bridge/fabric-scope.js +198 -0
  1795. package/dist/runtime/bridge/fabric-scope.js.map +7 -0
  1796. package/dist/runtime/bridge/fabric-store.d.ts +13 -0
  1797. package/dist/runtime/bridge/fabric-store.d.ts.map +1 -0
  1798. package/dist/runtime/bridge/fabric-store.js +163 -0
  1799. package/dist/runtime/bridge/fabric-store.js.map +7 -0
  1800. package/dist/runtime/bridge/fabric-types.d.ts +178 -0
  1801. package/dist/runtime/bridge/fabric-types.d.ts.map +1 -0
  1802. package/dist/runtime/bridge/fabric-types.js +18 -0
  1803. package/dist/runtime/bridge/fabric-types.js.map +7 -0
  1804. package/dist/runtime/bridge/gateway-bridge.d.ts +118 -0
  1805. package/dist/runtime/bridge/gateway-bridge.d.ts.map +1 -0
  1806. package/dist/runtime/bridge/gateway-bridge.js +96 -0
  1807. package/dist/runtime/bridge/gateway-bridge.js.map +7 -0
  1808. package/dist/runtime/bridge/gateway-bridges-builtin.d.ts +36 -0
  1809. package/dist/runtime/bridge/gateway-bridges-builtin.d.ts.map +1 -0
  1810. package/dist/runtime/bridge/gateway-bridges-builtin.js +273 -0
  1811. package/dist/runtime/bridge/gateway-bridges-builtin.js.map +7 -0
  1812. package/dist/runtime/bridge/gateway-server-core.d.ts +87 -0
  1813. package/dist/runtime/bridge/gateway-server-core.d.ts.map +1 -0
  1814. package/dist/runtime/bridge/gateway-server-core.js +104 -0
  1815. package/dist/runtime/bridge/gateway-server-core.js.map +7 -0
  1816. package/dist/runtime/bridge/harness-capabilities.d.ts +26 -0
  1817. package/dist/runtime/bridge/harness-capabilities.d.ts.map +1 -0
  1818. package/dist/runtime/bridge/harness-capabilities.js +188 -0
  1819. package/dist/runtime/bridge/harness-capabilities.js.map +7 -0
  1820. package/dist/runtime/bridge/harness-conformance.d.ts +28 -0
  1821. package/dist/runtime/bridge/harness-conformance.d.ts.map +1 -0
  1822. package/dist/runtime/bridge/harness-conformance.js +86 -0
  1823. package/dist/runtime/bridge/harness-conformance.js.map +7 -0
  1824. package/dist/runtime/bridge/harness-inspection.d.ts +38 -0
  1825. package/dist/runtime/bridge/harness-inspection.d.ts.map +1 -0
  1826. package/dist/runtime/bridge/harness-inspection.js +139 -0
  1827. package/dist/runtime/bridge/harness-inspection.js.map +7 -0
  1828. package/dist/runtime/bridge/internals.d.ts +5 -0
  1829. package/dist/runtime/bridge/internals.d.ts.map +1 -0
  1830. package/dist/runtime/bridge/internals.js +30 -0
  1831. package/dist/runtime/bridge/internals.js.map +7 -0
  1832. package/dist/runtime/bridge/llm-selection.d.ts +26 -0
  1833. package/dist/runtime/bridge/llm-selection.d.ts.map +1 -0
  1834. package/dist/runtime/bridge/llm-selection.js +99 -0
  1835. package/dist/runtime/bridge/llm-selection.js.map +7 -0
  1836. package/dist/runtime/bridge/make-gateway.d.ts +99 -0
  1837. package/dist/runtime/bridge/make-gateway.d.ts.map +1 -0
  1838. package/dist/runtime/bridge/make-gateway.js +62 -0
  1839. package/dist/runtime/bridge/make-gateway.js.map +7 -0
  1840. package/dist/runtime/bridge/mcp-action-plugins.d.ts +14 -0
  1841. package/dist/runtime/bridge/mcp-action-plugins.d.ts.map +1 -0
  1842. package/dist/runtime/bridge/mcp-action-plugins.js +183 -0
  1843. package/dist/runtime/bridge/mcp-action-plugins.js.map +7 -0
  1844. package/dist/runtime/bridge/mcp-options.d.ts +16 -0
  1845. package/dist/runtime/bridge/mcp-options.d.ts.map +1 -0
  1846. package/dist/runtime/bridge/mcp-options.js +23 -0
  1847. package/dist/runtime/bridge/mcp-options.js.map +7 -0
  1848. package/dist/runtime/bridge/memory-plugin.d.ts +62 -0
  1849. package/dist/runtime/bridge/memory-plugin.d.ts.map +1 -0
  1850. package/dist/runtime/bridge/memory-plugin.js +142 -0
  1851. package/dist/runtime/bridge/memory-plugin.js.map +7 -0
  1852. package/dist/runtime/bridge/merge-backend-overrides.d.ts +13 -0
  1853. package/dist/runtime/bridge/merge-backend-overrides.d.ts.map +1 -0
  1854. package/dist/runtime/bridge/merge-backend-overrides.js +13 -0
  1855. package/dist/runtime/bridge/merge-backend-overrides.js.map +7 -0
  1856. package/dist/runtime/bridge/middleware-helpers.d.ts +5 -0
  1857. package/dist/runtime/bridge/middleware-helpers.d.ts.map +1 -0
  1858. package/dist/runtime/bridge/middleware-helpers.js +43 -0
  1859. package/dist/runtime/bridge/middleware-helpers.js.map +7 -0
  1860. package/dist/runtime/bridge/named-agents.d.ts +47 -0
  1861. package/dist/runtime/bridge/named-agents.d.ts.map +1 -0
  1862. package/dist/runtime/bridge/named-agents.js +50 -0
  1863. package/dist/runtime/bridge/named-agents.js.map +7 -0
  1864. package/dist/runtime/bridge/openai-gateway-converters.d.ts +65 -0
  1865. package/dist/runtime/bridge/openai-gateway-converters.d.ts.map +1 -0
  1866. package/dist/runtime/bridge/openai-gateway-converters.js +279 -0
  1867. package/dist/runtime/bridge/openai-gateway-converters.js.map +7 -0
  1868. package/dist/runtime/bridge/openai-gateway-embeddings.d.ts +8 -0
  1869. package/dist/runtime/bridge/openai-gateway-embeddings.d.ts.map +1 -0
  1870. package/dist/runtime/bridge/openai-gateway-embeddings.js +28 -0
  1871. package/dist/runtime/bridge/openai-gateway-embeddings.js.map +7 -0
  1872. package/dist/runtime/bridge/openai-gateway-prompt-parts.d.ts +55 -0
  1873. package/dist/runtime/bridge/openai-gateway-prompt-parts.d.ts.map +1 -0
  1874. package/dist/runtime/bridge/openai-gateway-prompt-parts.js +59 -0
  1875. package/dist/runtime/bridge/openai-gateway-prompt-parts.js.map +7 -0
  1876. package/dist/runtime/bridge/openai-gateway-responses.d.ts +81 -0
  1877. package/dist/runtime/bridge/openai-gateway-responses.d.ts.map +1 -0
  1878. package/dist/runtime/bridge/openai-gateway-responses.js +229 -0
  1879. package/dist/runtime/bridge/openai-gateway-responses.js.map +7 -0
  1880. package/dist/runtime/bridge/openai-gateway-tool-calls.d.ts +13 -0
  1881. package/dist/runtime/bridge/openai-gateway-tool-calls.d.ts.map +1 -0
  1882. package/dist/runtime/bridge/openai-gateway-tool-calls.js +69 -0
  1883. package/dist/runtime/bridge/openai-gateway-tool-calls.js.map +7 -0
  1884. package/dist/runtime/bridge/openai-gateway-tool-routing.d.ts +13 -0
  1885. package/dist/runtime/bridge/openai-gateway-tool-routing.d.ts.map +1 -0
  1886. package/dist/runtime/bridge/openai-gateway-tool-routing.js +45 -0
  1887. package/dist/runtime/bridge/openai-gateway-tool-routing.js.map +7 -0
  1888. package/dist/runtime/bridge/openai-gateway.d.ts +50 -0
  1889. package/dist/runtime/bridge/openai-gateway.d.ts.map +1 -0
  1890. package/dist/runtime/bridge/openai-gateway.js +199 -0
  1891. package/dist/runtime/bridge/openai-gateway.js.map +7 -0
  1892. package/dist/runtime/bridge/permission-resolver.d.ts +57 -0
  1893. package/dist/runtime/bridge/permission-resolver.d.ts.map +1 -0
  1894. package/dist/runtime/bridge/permission-resolver.js +58 -0
  1895. package/dist/runtime/bridge/permission-resolver.js.map +7 -0
  1896. package/dist/runtime/bridge/plugins.d.ts +76 -0
  1897. package/dist/runtime/bridge/plugins.d.ts.map +1 -0
  1898. package/dist/runtime/bridge/plugins.js +245 -0
  1899. package/dist/runtime/bridge/plugins.js.map +7 -0
  1900. package/dist/runtime/bridge/policy-events.d.ts +5 -0
  1901. package/dist/runtime/bridge/policy-events.d.ts.map +1 -0
  1902. package/dist/runtime/bridge/policy-events.js +22 -0
  1903. package/dist/runtime/bridge/policy-events.js.map +7 -0
  1904. package/dist/runtime/bridge/policy-helpers.d.ts +22 -0
  1905. package/dist/runtime/bridge/policy-helpers.d.ts.map +1 -0
  1906. package/dist/runtime/bridge/policy-helpers.js +118 -0
  1907. package/dist/runtime/bridge/policy-helpers.js.map +7 -0
  1908. package/dist/runtime/bridge/project-workspace.d.ts +17 -0
  1909. package/dist/runtime/bridge/project-workspace.d.ts.map +1 -0
  1910. package/dist/runtime/bridge/project-workspace.js +99 -0
  1911. package/dist/runtime/bridge/project-workspace.js.map +7 -0
  1912. package/dist/runtime/bridge/quickstart-types.d.ts +35 -0
  1913. package/dist/runtime/bridge/quickstart-types.d.ts.map +1 -0
  1914. package/dist/runtime/bridge/quickstart-types.js +1 -0
  1915. package/dist/runtime/bridge/quickstart-types.js.map +7 -0
  1916. package/dist/runtime/bridge/quickstart.d.ts +32 -0
  1917. package/dist/runtime/bridge/quickstart.d.ts.map +1 -0
  1918. package/dist/runtime/bridge/quickstart.js +48 -0
  1919. package/dist/runtime/bridge/quickstart.js.map +7 -0
  1920. package/dist/runtime/bridge/registry-facade.d.ts +23 -0
  1921. package/dist/runtime/bridge/registry-facade.d.ts.map +1 -0
  1922. package/dist/runtime/bridge/registry-facade.js +36 -0
  1923. package/dist/runtime/bridge/registry-facade.js.map +7 -0
  1924. package/dist/runtime/bridge/remote-brain.d.ts +55 -0
  1925. package/dist/runtime/bridge/remote-brain.d.ts.map +1 -0
  1926. package/dist/runtime/bridge/remote-brain.js +225 -0
  1927. package/dist/runtime/bridge/remote-brain.js.map +7 -0
  1928. package/dist/runtime/bridge/run-support.d.ts +9 -0
  1929. package/dist/runtime/bridge/run-support.d.ts.map +1 -0
  1930. package/dist/runtime/bridge/run-support.js +139 -0
  1931. package/dist/runtime/bridge/run-support.js.map +7 -0
  1932. package/dist/runtime/bridge/runtime-options.d.ts +24 -0
  1933. package/dist/runtime/bridge/runtime-options.d.ts.map +1 -0
  1934. package/dist/runtime/bridge/runtime-options.js +172 -0
  1935. package/dist/runtime/bridge/runtime-options.js.map +7 -0
  1936. package/dist/runtime/bridge/runtime-plugin-support.d.ts +87 -0
  1937. package/dist/runtime/bridge/runtime-plugin-support.d.ts.map +1 -0
  1938. package/dist/runtime/bridge/runtime-plugin-support.js +114 -0
  1939. package/dist/runtime/bridge/runtime-plugin-support.js.map +7 -0
  1940. package/dist/runtime/bridge/session-helpers.d.ts +13 -0
  1941. package/dist/runtime/bridge/session-helpers.d.ts.map +1 -0
  1942. package/dist/runtime/bridge/session-helpers.js +117 -0
  1943. package/dist/runtime/bridge/session-helpers.js.map +7 -0
  1944. package/dist/runtime/bridge/session.d.ts +40 -0
  1945. package/dist/runtime/bridge/session.d.ts.map +1 -0
  1946. package/dist/runtime/bridge/session.js +146 -0
  1947. package/dist/runtime/bridge/session.js.map +7 -0
  1948. package/dist/runtime/bridge/skill-plugins.d.ts +5 -0
  1949. package/dist/runtime/bridge/skill-plugins.d.ts.map +1 -0
  1950. package/dist/runtime/bridge/skill-plugins.js +162 -0
  1951. package/dist/runtime/bridge/skill-plugins.js.map +7 -0
  1952. package/dist/runtime/bridge/startup-diagnostics.d.ts +7 -0
  1953. package/dist/runtime/bridge/startup-diagnostics.d.ts.map +1 -0
  1954. package/dist/runtime/bridge/startup-diagnostics.js +55 -0
  1955. package/dist/runtime/bridge/startup-diagnostics.js.map +7 -0
  1956. package/dist/runtime/bridge/subagents-option.d.ts +5 -0
  1957. package/dist/runtime/bridge/subagents-option.d.ts.map +1 -0
  1958. package/dist/runtime/bridge/subagents-option.js +28 -0
  1959. package/dist/runtime/bridge/subagents-option.js.map +7 -0
  1960. package/dist/runtime/bridge/swarm-handoff.d.ts +4 -0
  1961. package/dist/runtime/bridge/swarm-handoff.d.ts.map +1 -0
  1962. package/dist/runtime/bridge/swarm-handoff.js +60 -0
  1963. package/dist/runtime/bridge/swarm-handoff.js.map +7 -0
  1964. package/dist/runtime/bridge/task-executor-events.d.ts +5 -0
  1965. package/dist/runtime/bridge/task-executor-events.d.ts.map +1 -0
  1966. package/dist/runtime/bridge/task-executor-events.js +114 -0
  1967. package/dist/runtime/bridge/task-executor-events.js.map +7 -0
  1968. package/dist/runtime/bridge/task-executor-fallback.d.ts +12 -0
  1969. package/dist/runtime/bridge/task-executor-fallback.d.ts.map +1 -0
  1970. package/dist/runtime/bridge/task-executor-fallback.js +86 -0
  1971. package/dist/runtime/bridge/task-executor-fallback.js.map +7 -0
  1972. package/dist/runtime/bridge/task-executor-history.d.ts +22 -0
  1973. package/dist/runtime/bridge/task-executor-history.d.ts.map +1 -0
  1974. package/dist/runtime/bridge/task-executor-history.js +89 -0
  1975. package/dist/runtime/bridge/task-executor-history.js.map +7 -0
  1976. package/dist/runtime/bridge/task-executor.d.ts +43 -0
  1977. package/dist/runtime/bridge/task-executor.d.ts.map +1 -0
  1978. package/dist/runtime/bridge/task-executor.js +261 -0
  1979. package/dist/runtime/bridge/task-executor.js.map +7 -0
  1980. package/dist/runtime/bridge/task-runner-approval.d.ts +55 -0
  1981. package/dist/runtime/bridge/task-runner-approval.d.ts.map +1 -0
  1982. package/dist/runtime/bridge/task-runner-approval.js +264 -0
  1983. package/dist/runtime/bridge/task-runner-approval.js.map +7 -0
  1984. package/dist/runtime/bridge/task-runner-backend-runtime.d.ts +25 -0
  1985. package/dist/runtime/bridge/task-runner-backend-runtime.d.ts.map +1 -0
  1986. package/dist/runtime/bridge/task-runner-backend-runtime.js +215 -0
  1987. package/dist/runtime/bridge/task-runner-backend-runtime.js.map +7 -0
  1988. package/dist/runtime/bridge/task-runner-context.d.ts +42 -0
  1989. package/dist/runtime/bridge/task-runner-context.d.ts.map +1 -0
  1990. package/dist/runtime/bridge/task-runner-context.js +247 -0
  1991. package/dist/runtime/bridge/task-runner-context.js.map +7 -0
  1992. package/dist/runtime/bridge/task-runner-execution.d.ts +23 -0
  1993. package/dist/runtime/bridge/task-runner-execution.d.ts.map +1 -0
  1994. package/dist/runtime/bridge/task-runner-execution.js +384 -0
  1995. package/dist/runtime/bridge/task-runner-execution.js.map +7 -0
  1996. package/dist/runtime/bridge/task-runner-types.d.ts +45 -0
  1997. package/dist/runtime/bridge/task-runner-types.d.ts.map +1 -0
  1998. package/dist/runtime/bridge/task-runner-types.js +1 -0
  1999. package/dist/runtime/bridge/task-runner-types.js.map +7 -0
  2000. package/dist/runtime/bridge/task-runner.d.ts +33 -0
  2001. package/dist/runtime/bridge/task-runner.d.ts.map +1 -0
  2002. package/dist/runtime/bridge/task-runner.js +238 -0
  2003. package/dist/runtime/bridge/task-runner.js.map +7 -0
  2004. package/dist/runtime/bridge/topic-channel-resolve.d.ts +26 -0
  2005. package/dist/runtime/bridge/topic-channel-resolve.d.ts.map +1 -0
  2006. package/dist/runtime/bridge/topic-channel-resolve.js +44 -0
  2007. package/dist/runtime/bridge/topic-channel-resolve.js.map +7 -0
  2008. package/dist/runtime/bridge/topic-channel.d.ts +40 -0
  2009. package/dist/runtime/bridge/topic-channel.d.ts.map +1 -0
  2010. package/dist/runtime/bridge/topic-channel.js +358 -0
  2011. package/dist/runtime/bridge/topic-channel.js.map +7 -0
  2012. package/dist/runtime/bridge/topic-helpers.d.ts +29 -0
  2013. package/dist/runtime/bridge/topic-helpers.d.ts.map +1 -0
  2014. package/dist/runtime/bridge/topic-helpers.js +29 -0
  2015. package/dist/runtime/bridge/topic-helpers.js.map +7 -0
  2016. package/dist/runtime/bridge/topic-types.d.ts +141 -0
  2017. package/dist/runtime/bridge/topic-types.d.ts.map +1 -0
  2018. package/dist/runtime/bridge/topic-types.js +94 -0
  2019. package/dist/runtime/bridge/topic-types.js.map +7 -0
  2020. package/dist/runtime/bridge/verbose-logger.d.ts +7 -0
  2021. package/dist/runtime/bridge/verbose-logger.d.ts.map +1 -0
  2022. package/dist/runtime/bridge/verbose-logger.js +100 -0
  2023. package/dist/runtime/bridge/verbose-logger.js.map +7 -0
  2024. package/dist/runtime/bridge/warnings.d.ts +20 -0
  2025. package/dist/runtime/bridge/warnings.d.ts.map +1 -0
  2026. package/dist/runtime/bridge/warnings.js +23 -0
  2027. package/dist/runtime/bridge/warnings.js.map +7 -0
  2028. package/dist/runtime/bridge/workflow-cleanup.d.ts +20 -0
  2029. package/dist/runtime/bridge/workflow-cleanup.d.ts.map +1 -0
  2030. package/dist/runtime/bridge/workflow-cleanup.js +44 -0
  2031. package/dist/runtime/bridge/workflow-cleanup.js.map +7 -0
  2032. package/dist/runtime/bridge/workflows/controller.d.ts +11 -0
  2033. package/dist/runtime/bridge/workflows/controller.d.ts.map +1 -0
  2034. package/dist/runtime/bridge/workflows/controller.js +178 -0
  2035. package/dist/runtime/bridge/workflows/controller.js.map +7 -0
  2036. package/dist/runtime/bridge/workflows/index.d.ts +4 -0
  2037. package/dist/runtime/bridge/workflows/index.d.ts.map +1 -0
  2038. package/dist/runtime/bridge/workflows/index.js +8 -0
  2039. package/dist/runtime/bridge/workflows/index.js.map +7 -0
  2040. package/dist/runtime/bridge/workflows/schedule.d.ts +11 -0
  2041. package/dist/runtime/bridge/workflows/schedule.d.ts.map +1 -0
  2042. package/dist/runtime/bridge/workflows/schedule.js +94 -0
  2043. package/dist/runtime/bridge/workflows/schedule.js.map +7 -0
  2044. package/dist/runtime/bridge/workflows/types.d.ts +36 -0
  2045. package/dist/runtime/bridge/workflows/types.d.ts.map +1 -0
  2046. package/dist/runtime/bridge/workflows/types.js +1 -0
  2047. package/dist/runtime/bridge/workflows/types.js.map +7 -0
  2048. package/dist/runtime/isolation/managed-worktree.d.ts +20 -0
  2049. package/dist/runtime/isolation/managed-worktree.d.ts.map +1 -0
  2050. package/dist/runtime/isolation/managed-worktree.js +147 -0
  2051. package/dist/runtime/isolation/managed-worktree.js.map +7 -0
  2052. package/dist/runtime/isolation/workspace-boundary.d.ts +6 -0
  2053. package/dist/runtime/isolation/workspace-boundary.d.ts.map +1 -0
  2054. package/dist/runtime/isolation/workspace-boundary.js +19 -0
  2055. package/dist/runtime/isolation/workspace-boundary.js.map +7 -0
  2056. package/dist/runtime/orchestration/pack/coordination-types.d.ts +89 -0
  2057. package/dist/runtime/orchestration/pack/coordination-types.d.ts.map +1 -0
  2058. package/dist/runtime/orchestration/pack/coordination-types.js +1 -0
  2059. package/dist/runtime/orchestration/pack/coordination-types.js.map +7 -0
  2060. package/dist/runtime/orchestration/pack/coordination.d.ts +23 -0
  2061. package/dist/runtime/orchestration/pack/coordination.d.ts.map +1 -0
  2062. package/dist/runtime/orchestration/pack/coordination.js +260 -0
  2063. package/dist/runtime/orchestration/pack/coordination.js.map +7 -0
  2064. package/dist/runtime/orchestration/pack/create-pack-async.d.ts +11 -0
  2065. package/dist/runtime/orchestration/pack/create-pack-async.d.ts.map +1 -0
  2066. package/dist/runtime/orchestration/pack/create-pack-async.js +59 -0
  2067. package/dist/runtime/orchestration/pack/create-pack-async.js.map +7 -0
  2068. package/dist/runtime/orchestration/pack/dispatch-worker.d.ts +25 -0
  2069. package/dist/runtime/orchestration/pack/dispatch-worker.d.ts.map +1 -0
  2070. package/dist/runtime/orchestration/pack/dispatch-worker.js +295 -0
  2071. package/dist/runtime/orchestration/pack/dispatch-worker.js.map +7 -0
  2072. package/dist/runtime/orchestration/pack/dispatch.d.ts +28 -0
  2073. package/dist/runtime/orchestration/pack/dispatch.d.ts.map +1 -0
  2074. package/dist/runtime/orchestration/pack/dispatch.js +191 -0
  2075. package/dist/runtime/orchestration/pack/dispatch.js.map +7 -0
  2076. package/dist/runtime/orchestration/pack/driver.d.ts +7 -0
  2077. package/dist/runtime/orchestration/pack/driver.d.ts.map +1 -0
  2078. package/dist/runtime/orchestration/pack/driver.js +65 -0
  2079. package/dist/runtime/orchestration/pack/driver.js.map +7 -0
  2080. package/dist/runtime/orchestration/pack/flow.d.ts +7 -0
  2081. package/dist/runtime/orchestration/pack/flow.d.ts.map +1 -0
  2082. package/dist/runtime/orchestration/pack/flow.js +80 -0
  2083. package/dist/runtime/orchestration/pack/flow.js.map +7 -0
  2084. package/dist/runtime/orchestration/pack/helpers.d.ts +33 -0
  2085. package/dist/runtime/orchestration/pack/helpers.d.ts.map +1 -0
  2086. package/dist/runtime/orchestration/pack/helpers.js +99 -0
  2087. package/dist/runtime/orchestration/pack/helpers.js.map +7 -0
  2088. package/dist/runtime/orchestration/pack/idle-bus.d.ts +17 -0
  2089. package/dist/runtime/orchestration/pack/idle-bus.d.ts.map +1 -0
  2090. package/dist/runtime/orchestration/pack/idle-bus.js +54 -0
  2091. package/dist/runtime/orchestration/pack/idle-bus.js.map +7 -0
  2092. package/dist/runtime/orchestration/pack/in-process-runner.d.ts +30 -0
  2093. package/dist/runtime/orchestration/pack/in-process-runner.d.ts.map +1 -0
  2094. package/dist/runtime/orchestration/pack/in-process-runner.js +130 -0
  2095. package/dist/runtime/orchestration/pack/in-process-runner.js.map +7 -0
  2096. package/dist/runtime/orchestration/pack/pack-bootstrap.d.ts +7 -0
  2097. package/dist/runtime/orchestration/pack/pack-bootstrap.d.ts.map +1 -0
  2098. package/dist/runtime/orchestration/pack/pack-bootstrap.js +70 -0
  2099. package/dist/runtime/orchestration/pack/pack-bootstrap.js.map +7 -0
  2100. package/dist/runtime/orchestration/pack/pack-delegation-loop.d.ts +28 -0
  2101. package/dist/runtime/orchestration/pack/pack-delegation-loop.d.ts.map +1 -0
  2102. package/dist/runtime/orchestration/pack/pack-delegation-loop.js +115 -0
  2103. package/dist/runtime/orchestration/pack/pack-delegation-loop.js.map +7 -0
  2104. package/dist/runtime/orchestration/pack/pack-mcp-types.d.ts +21 -0
  2105. package/dist/runtime/orchestration/pack/pack-mcp-types.d.ts.map +1 -0
  2106. package/dist/runtime/orchestration/pack/pack-mcp-types.js +1 -0
  2107. package/dist/runtime/orchestration/pack/pack-mcp-types.js.map +7 -0
  2108. package/dist/runtime/orchestration/pack/pack-mesh.d.ts +81 -0
  2109. package/dist/runtime/orchestration/pack/pack-mesh.d.ts.map +1 -0
  2110. package/dist/runtime/orchestration/pack/pack-mesh.js +324 -0
  2111. package/dist/runtime/orchestration/pack/pack-mesh.js.map +7 -0
  2112. package/dist/runtime/orchestration/pack/pack-plugin-helpers.d.ts +3 -0
  2113. package/dist/runtime/orchestration/pack/pack-plugin-helpers.d.ts.map +1 -0
  2114. package/dist/runtime/orchestration/pack/pack-plugin-helpers.js +16 -0
  2115. package/dist/runtime/orchestration/pack/pack-plugin-helpers.js.map +7 -0
  2116. package/dist/runtime/orchestration/pack/pack-stream.d.ts +18 -0
  2117. package/dist/runtime/orchestration/pack/pack-stream.d.ts.map +1 -0
  2118. package/dist/runtime/orchestration/pack/pack-stream.js +269 -0
  2119. package/dist/runtime/orchestration/pack/pack-stream.js.map +7 -0
  2120. package/dist/runtime/orchestration/pack/pack-workers.d.ts +27 -0
  2121. package/dist/runtime/orchestration/pack/pack-workers.d.ts.map +1 -0
  2122. package/dist/runtime/orchestration/pack/pack-workers.js +124 -0
  2123. package/dist/runtime/orchestration/pack/pack-workers.js.map +7 -0
  2124. package/dist/runtime/orchestration/pack/pack.d.ts +55 -0
  2125. package/dist/runtime/orchestration/pack/pack.d.ts.map +1 -0
  2126. package/dist/runtime/orchestration/pack/pack.js +315 -0
  2127. package/dist/runtime/orchestration/pack/pack.js.map +7 -0
  2128. package/dist/runtime/orchestration/pack/presets/code-review.d.ts +3 -0
  2129. package/dist/runtime/orchestration/pack/presets/code-review.d.ts.map +1 -0
  2130. package/dist/runtime/orchestration/pack/presets/code-review.js +94 -0
  2131. package/dist/runtime/orchestration/pack/presets/code-review.js.map +7 -0
  2132. package/dist/runtime/orchestration/pack/presets/debate-decide.d.ts +3 -0
  2133. package/dist/runtime/orchestration/pack/presets/debate-decide.d.ts.map +1 -0
  2134. package/dist/runtime/orchestration/pack/presets/debate-decide.js +61 -0
  2135. package/dist/runtime/orchestration/pack/presets/debate-decide.js.map +7 -0
  2136. package/dist/runtime/orchestration/pack/presets/explore-plan-execute.d.ts +3 -0
  2137. package/dist/runtime/orchestration/pack/presets/explore-plan-execute.d.ts.map +1 -0
  2138. package/dist/runtime/orchestration/pack/presets/explore-plan-execute.js +130 -0
  2139. package/dist/runtime/orchestration/pack/presets/explore-plan-execute.js.map +7 -0
  2140. package/dist/runtime/orchestration/pack/presets/helpers.d.ts +20 -0
  2141. package/dist/runtime/orchestration/pack/presets/helpers.d.ts.map +1 -0
  2142. package/dist/runtime/orchestration/pack/presets/helpers.js +59 -0
  2143. package/dist/runtime/orchestration/pack/presets/helpers.js.map +7 -0
  2144. package/dist/runtime/orchestration/pack/presets/index.d.ts +7 -0
  2145. package/dist/runtime/orchestration/pack/presets/index.d.ts.map +1 -0
  2146. package/dist/runtime/orchestration/pack/presets/index.js +13 -0
  2147. package/dist/runtime/orchestration/pack/presets/index.js.map +7 -0
  2148. package/dist/runtime/orchestration/pack/presets/map-reduce.d.ts +3 -0
  2149. package/dist/runtime/orchestration/pack/presets/map-reduce.d.ts.map +1 -0
  2150. package/dist/runtime/orchestration/pack/presets/map-reduce.js +73 -0
  2151. package/dist/runtime/orchestration/pack/presets/map-reduce.js.map +7 -0
  2152. package/dist/runtime/orchestration/pack/presets/research-synthesize.d.ts +3 -0
  2153. package/dist/runtime/orchestration/pack/presets/research-synthesize.d.ts.map +1 -0
  2154. package/dist/runtime/orchestration/pack/presets/research-synthesize.js +81 -0
  2155. package/dist/runtime/orchestration/pack/presets/research-synthesize.js.map +7 -0
  2156. package/dist/runtime/orchestration/pack/presets/types.d.ts +59 -0
  2157. package/dist/runtime/orchestration/pack/presets/types.d.ts.map +1 -0
  2158. package/dist/runtime/orchestration/pack/presets/types.js +1 -0
  2159. package/dist/runtime/orchestration/pack/presets/types.js.map +7 -0
  2160. package/dist/runtime/orchestration/pack/protocol.d.ts +71 -0
  2161. package/dist/runtime/orchestration/pack/protocol.d.ts.map +1 -0
  2162. package/dist/runtime/orchestration/pack/protocol.js +47 -0
  2163. package/dist/runtime/orchestration/pack/protocol.js.map +7 -0
  2164. package/dist/runtime/orchestration/pack/registry.d.ts +12 -0
  2165. package/dist/runtime/orchestration/pack/registry.d.ts.map +1 -0
  2166. package/dist/runtime/orchestration/pack/registry.js +30 -0
  2167. package/dist/runtime/orchestration/pack/registry.js.map +7 -0
  2168. package/dist/runtime/orchestration/pack/run.d.ts +5 -0
  2169. package/dist/runtime/orchestration/pack/run.d.ts.map +1 -0
  2170. package/dist/runtime/orchestration/pack/run.js +103 -0
  2171. package/dist/runtime/orchestration/pack/run.js.map +7 -0
  2172. package/dist/runtime/orchestration/pack/structured-driver.d.ts +30 -0
  2173. package/dist/runtime/orchestration/pack/structured-driver.d.ts.map +1 -0
  2174. package/dist/runtime/orchestration/pack/structured-driver.js +67 -0
  2175. package/dist/runtime/orchestration/pack/structured-driver.js.map +7 -0
  2176. package/dist/runtime/orchestration/pack/types.d.ts +366 -0
  2177. package/dist/runtime/orchestration/pack/types.d.ts.map +1 -0
  2178. package/dist/runtime/orchestration/pack/types.js +28 -0
  2179. package/dist/runtime/orchestration/pack/types.js.map +7 -0
  2180. package/dist/runtime/orchestration/pack/worker-context.d.ts +3 -0
  2181. package/dist/runtime/orchestration/pack/worker-context.d.ts.map +1 -0
  2182. package/dist/runtime/orchestration/pack/worker-context.js +23 -0
  2183. package/dist/runtime/orchestration/pack/worker-context.js.map +7 -0
  2184. package/dist/runtime/orchestration/pack.cjs +40581 -0
  2185. package/dist/runtime/orchestration/pack.cjs.map +7 -0
  2186. package/dist/runtime/orchestration/pack.d.ts +20 -0
  2187. package/dist/runtime/orchestration/pack.d.ts.map +1 -0
  2188. package/dist/runtime/orchestration/pack.js +60 -0
  2189. package/dist/runtime/orchestration/pack.js.map +7 -0
  2190. package/dist/runtime/orchestration/run/cron-source.d.ts +25 -0
  2191. package/dist/runtime/orchestration/run/cron-source.d.ts.map +1 -0
  2192. package/dist/runtime/orchestration/run/cron-source.js +259 -0
  2193. package/dist/runtime/orchestration/run/cron-source.js.map +7 -0
  2194. package/dist/runtime/orchestration/run/event-types.d.ts +91 -0
  2195. package/dist/runtime/orchestration/run/event-types.d.ts.map +1 -0
  2196. package/dist/runtime/orchestration/run/event-types.js +1 -0
  2197. package/dist/runtime/orchestration/run/event-types.js.map +7 -0
  2198. package/dist/runtime/orchestration/run/flow-engine-graph.d.ts +10 -0
  2199. package/dist/runtime/orchestration/run/flow-engine-graph.d.ts.map +1 -0
  2200. package/dist/runtime/orchestration/run/flow-engine-graph.js +47 -0
  2201. package/dist/runtime/orchestration/run/flow-engine-graph.js.map +7 -0
  2202. package/dist/runtime/orchestration/run/flow-engine.d.ts +6 -0
  2203. package/dist/runtime/orchestration/run/flow-engine.d.ts.map +1 -0
  2204. package/dist/runtime/orchestration/run/flow-engine.js +319 -0
  2205. package/dist/runtime/orchestration/run/flow-engine.js.map +7 -0
  2206. package/dist/runtime/orchestration/run/git-automation.d.ts +9 -0
  2207. package/dist/runtime/orchestration/run/git-automation.d.ts.map +1 -0
  2208. package/dist/runtime/orchestration/run/git-automation.js +44 -0
  2209. package/dist/runtime/orchestration/run/git-automation.js.map +7 -0
  2210. package/dist/runtime/orchestration/run/isolation/context.d.ts +3 -0
  2211. package/dist/runtime/orchestration/run/isolation/context.d.ts.map +1 -0
  2212. package/dist/runtime/orchestration/run/isolation/context.js +18 -0
  2213. package/dist/runtime/orchestration/run/isolation/context.js.map +7 -0
  2214. package/dist/runtime/orchestration/run/isolation/git.d.ts +11 -0
  2215. package/dist/runtime/orchestration/run/isolation/git.d.ts.map +1 -0
  2216. package/dist/runtime/orchestration/run/isolation/git.js +49 -0
  2217. package/dist/runtime/orchestration/run/isolation/git.js.map +7 -0
  2218. package/dist/runtime/orchestration/run/isolation/none.d.ts +3 -0
  2219. package/dist/runtime/orchestration/run/isolation/none.d.ts.map +1 -0
  2220. package/dist/runtime/orchestration/run/isolation/none.js +17 -0
  2221. package/dist/runtime/orchestration/run/isolation/none.js.map +7 -0
  2222. package/dist/runtime/orchestration/run/loop-engine.d.ts +6 -0
  2223. package/dist/runtime/orchestration/run/loop-engine.d.ts.map +1 -0
  2224. package/dist/runtime/orchestration/run/loop-engine.js +287 -0
  2225. package/dist/runtime/orchestration/run/loop-engine.js.map +7 -0
  2226. package/dist/runtime/orchestration/run/orchestration-stream.d.ts +20 -0
  2227. package/dist/runtime/orchestration/run/orchestration-stream.d.ts.map +1 -0
  2228. package/dist/runtime/orchestration/run/orchestration-stream.js +165 -0
  2229. package/dist/runtime/orchestration/run/orchestration-stream.js.map +7 -0
  2230. package/dist/runtime/orchestration/run/resolve-loop-config.d.ts +11 -0
  2231. package/dist/runtime/orchestration/run/resolve-loop-config.d.ts.map +1 -0
  2232. package/dist/runtime/orchestration/run/resolve-loop-config.js +12 -0
  2233. package/dist/runtime/orchestration/run/resolve-loop-config.js.map +7 -0
  2234. package/dist/runtime/orchestration/run/task-batch-graph.d.ts +10 -0
  2235. package/dist/runtime/orchestration/run/task-batch-graph.d.ts.map +1 -0
  2236. package/dist/runtime/orchestration/run/task-batch-graph.js +110 -0
  2237. package/dist/runtime/orchestration/run/task-batch-graph.js.map +7 -0
  2238. package/dist/runtime/orchestration/run/task-batch-helpers.d.ts +8 -0
  2239. package/dist/runtime/orchestration/run/task-batch-helpers.d.ts.map +1 -0
  2240. package/dist/runtime/orchestration/run/task-batch-helpers.js +105 -0
  2241. package/dist/runtime/orchestration/run/task-batch-helpers.js.map +7 -0
  2242. package/dist/runtime/orchestration/run/task-batch-sources.d.ts +3 -0
  2243. package/dist/runtime/orchestration/run/task-batch-sources.d.ts.map +1 -0
  2244. package/dist/runtime/orchestration/run/task-batch-sources.js +93 -0
  2245. package/dist/runtime/orchestration/run/task-batch-sources.js.map +7 -0
  2246. package/dist/runtime/orchestration/run/task-batch.d.ts +7 -0
  2247. package/dist/runtime/orchestration/run/task-batch.d.ts.map +1 -0
  2248. package/dist/runtime/orchestration/run/task-batch.js +267 -0
  2249. package/dist/runtime/orchestration/run/task-batch.js.map +7 -0
  2250. package/dist/runtime/orchestration/run/types.d.ts +250 -0
  2251. package/dist/runtime/orchestration/run/types.d.ts.map +1 -0
  2252. package/dist/runtime/orchestration/run/types.js +1 -0
  2253. package/dist/runtime/orchestration/run/types.js.map +7 -0
  2254. package/dist/runtime/orchestration/subagent/subagent-action-types.d.ts +94 -0
  2255. package/dist/runtime/orchestration/subagent/subagent-action-types.d.ts.map +1 -0
  2256. package/dist/runtime/orchestration/subagent/subagent-action-types.js +1 -0
  2257. package/dist/runtime/orchestration/subagent/subagent-action-types.js.map +7 -0
  2258. package/dist/runtime/orchestration/subagent/subagent-action.d.ts +27 -0
  2259. package/dist/runtime/orchestration/subagent/subagent-action.d.ts.map +1 -0
  2260. package/dist/runtime/orchestration/subagent/subagent-action.js +303 -0
  2261. package/dist/runtime/orchestration/subagent/subagent-action.js.map +7 -0
  2262. package/dist/runtime/sessions/agent-skills-types.d.ts +29 -0
  2263. package/dist/runtime/sessions/agent-skills-types.d.ts.map +1 -0
  2264. package/dist/runtime/sessions/agent-skills-types.js +1 -0
  2265. package/dist/runtime/sessions/agent-skills-types.js.map +7 -0
  2266. package/dist/runtime/sessions/bridge-aux-types.d.ts +28 -0
  2267. package/dist/runtime/sessions/bridge-aux-types.d.ts.map +1 -0
  2268. package/dist/runtime/sessions/bridge-aux-types.js +1 -0
  2269. package/dist/runtime/sessions/bridge-aux-types.js.map +7 -0
  2270. package/dist/runtime/sessions/bridge-options.d.ts +474 -0
  2271. package/dist/runtime/sessions/bridge-options.d.ts.map +1 -0
  2272. package/dist/runtime/sessions/bridge-options.js +1 -0
  2273. package/dist/runtime/sessions/bridge-options.js.map +7 -0
  2274. package/dist/runtime/sessions/compaction-types.d.ts +59 -0
  2275. package/dist/runtime/sessions/compaction-types.d.ts.map +1 -0
  2276. package/dist/runtime/sessions/compaction-types.js +1 -0
  2277. package/dist/runtime/sessions/compaction-types.js.map +7 -0
  2278. package/dist/runtime/sessions/context-helpers.d.ts +58 -0
  2279. package/dist/runtime/sessions/context-helpers.d.ts.map +1 -0
  2280. package/dist/runtime/sessions/context-helpers.js +104 -0
  2281. package/dist/runtime/sessions/context-helpers.js.map +7 -0
  2282. package/dist/runtime/sessions/context-manager.d.ts +36 -0
  2283. package/dist/runtime/sessions/context-manager.d.ts.map +1 -0
  2284. package/dist/runtime/sessions/context-manager.js +261 -0
  2285. package/dist/runtime/sessions/context-manager.js.map +7 -0
  2286. package/dist/runtime/sessions/context-types.d.ts +109 -0
  2287. package/dist/runtime/sessions/context-types.d.ts.map +1 -0
  2288. package/dist/runtime/sessions/context-types.js +1 -0
  2289. package/dist/runtime/sessions/context-types.js.map +7 -0
  2290. package/dist/runtime/sessions/conversation.d.ts +39 -0
  2291. package/dist/runtime/sessions/conversation.d.ts.map +1 -0
  2292. package/dist/runtime/sessions/conversation.js +104 -0
  2293. package/dist/runtime/sessions/conversation.js.map +7 -0
  2294. package/dist/runtime/sessions/local-context-types.d.ts +35 -0
  2295. package/dist/runtime/sessions/local-context-types.d.ts.map +1 -0
  2296. package/dist/runtime/sessions/local-context-types.js +1 -0
  2297. package/dist/runtime/sessions/local-context-types.js.map +7 -0
  2298. package/dist/runtime/sessions/resolver.d.ts +24 -0
  2299. package/dist/runtime/sessions/resolver.d.ts.map +1 -0
  2300. package/dist/runtime/sessions/resolver.js +104 -0
  2301. package/dist/runtime/sessions/resolver.js.map +7 -0
  2302. package/dist/subpath-a2a.cjs +39268 -0
  2303. package/dist/subpath-a2a.cjs.map +7 -0
  2304. package/dist/subpath-a2a.d.ts +7 -0
  2305. package/dist/subpath-a2a.d.ts.map +1 -0
  2306. package/dist/subpath-a2a.js +37 -0
  2307. package/dist/subpath-a2a.js.map +7 -0
  2308. package/dist/subpath-environments.cjs +881 -0
  2309. package/dist/subpath-environments.cjs.map +7 -0
  2310. package/dist/subpath-environments.d.ts +3 -0
  2311. package/dist/subpath-environments.d.ts.map +1 -0
  2312. package/dist/subpath-environments.js +23 -0
  2313. package/dist/subpath-environments.js.map +7 -0
  2314. package/dist/subpath-ssh.cjs +1203 -0
  2315. package/dist/subpath-ssh.cjs.map +7 -0
  2316. package/dist/subpath-ssh.d.ts +3 -0
  2317. package/dist/subpath-ssh.d.ts.map +1 -0
  2318. package/dist/subpath-ssh.js +5 -0
  2319. package/dist/subpath-ssh.js.map +7 -0
  2320. package/dist/subpath-stores.cjs +2288 -0
  2321. package/dist/subpath-stores.cjs.map +7 -0
  2322. package/dist/subpath-stores.d.ts +12 -0
  2323. package/dist/subpath-stores.d.ts.map +1 -0
  2324. package/dist/subpath-stores.js +23 -0
  2325. package/dist/subpath-stores.js.map +7 -0
  2326. package/dist/testing.cjs +3028 -0
  2327. package/dist/testing.cjs.map +7 -0
  2328. package/dist/testing.d.ts +12 -0
  2329. package/dist/testing.d.ts.map +1 -0
  2330. package/dist/testing.js +20 -0
  2331. package/dist/testing.js.map +7 -0
  2332. package/dist/utils/api-keys.d.ts +21 -0
  2333. package/dist/utils/api-keys.d.ts.map +1 -0
  2334. package/dist/utils/api-keys.js +47 -0
  2335. package/dist/utils/api-keys.js.map +7 -0
  2336. package/dist/utils/assert-never.d.ts +11 -0
  2337. package/dist/utils/assert-never.d.ts.map +1 -0
  2338. package/dist/utils/assert-never.js +8 -0
  2339. package/dist/utils/assert-never.js.map +7 -0
  2340. package/dist/utils/clone.d.ts +2 -0
  2341. package/dist/utils/clone.d.ts.map +1 -0
  2342. package/dist/utils/clone.js +10 -0
  2343. package/dist/utils/clone.js.map +7 -0
  2344. package/dist/utils/extract-text.d.ts +11 -0
  2345. package/dist/utils/extract-text.d.ts.map +1 -0
  2346. package/dist/utils/extract-text.js +27 -0
  2347. package/dist/utils/extract-text.js.map +7 -0
  2348. package/dist/utils/messages.d.ts +29 -0
  2349. package/dist/utils/messages.d.ts.map +1 -0
  2350. package/dist/utils/messages.js +43 -0
  2351. package/dist/utils/messages.js.map +7 -0
  2352. package/dist/utils/metadata.d.ts +2 -0
  2353. package/dist/utils/metadata.d.ts.map +1 -0
  2354. package/dist/utils/metadata.js +12 -0
  2355. package/dist/utils/metadata.js.map +7 -0
  2356. package/dist/utils/octoflow-home.d.ts +18 -0
  2357. package/dist/utils/octoflow-home.d.ts.map +1 -0
  2358. package/dist/utils/octoflow-home.js +65 -0
  2359. package/dist/utils/octoflow-home.js.map +7 -0
  2360. package/dist/utils/operation-info.d.ts +15 -0
  2361. package/dist/utils/operation-info.d.ts.map +1 -0
  2362. package/dist/utils/operation-info.js +50 -0
  2363. package/dist/utils/operation-info.js.map +7 -0
  2364. package/dist/utils/rate-limiter.d.ts +22 -0
  2365. package/dist/utils/rate-limiter.d.ts.map +1 -0
  2366. package/dist/utils/rate-limiter.js +81 -0
  2367. package/dist/utils/rate-limiter.js.map +7 -0
  2368. package/dist/utils/redact-secrets.d.ts +2 -0
  2369. package/dist/utils/redact-secrets.d.ts.map +1 -0
  2370. package/dist/utils/redact-secrets.js +24 -0
  2371. package/dist/utils/redact-secrets.js.map +7 -0
  2372. package/dist/utils/retry.d.ts +11 -0
  2373. package/dist/utils/retry.d.ts.map +1 -0
  2374. package/dist/utils/retry.js +24 -0
  2375. package/dist/utils/retry.js.map +7 -0
  2376. package/dist/utils/safe-key.d.ts +10 -0
  2377. package/dist/utils/safe-key.d.ts.map +1 -0
  2378. package/dist/utils/safe-key.js +7 -0
  2379. package/dist/utils/safe-key.js.map +7 -0
  2380. package/dist/utils/safe-path.d.ts +24 -0
  2381. package/dist/utils/safe-path.d.ts.map +1 -0
  2382. package/dist/utils/safe-path.js +49 -0
  2383. package/dist/utils/safe-path.js.map +7 -0
  2384. package/dist/utils/sanitize.d.ts +11 -0
  2385. package/dist/utils/sanitize.d.ts.map +1 -0
  2386. package/dist/utils/sanitize.js +67 -0
  2387. package/dist/utils/sanitize.js.map +7 -0
  2388. package/dist/utils/signals.d.ts +9 -0
  2389. package/dist/utils/signals.d.ts.map +1 -0
  2390. package/dist/utils/signals.js +17 -0
  2391. package/dist/utils/signals.js.map +7 -0
  2392. package/dist/utils/stream-channel.d.ts +17 -0
  2393. package/dist/utils/stream-channel.d.ts.map +1 -0
  2394. package/dist/utils/stream-channel.js +34 -0
  2395. package/dist/utils/stream-channel.js.map +7 -0
  2396. package/dist/utils/sync-promise.d.ts +9 -0
  2397. package/dist/utils/sync-promise.d.ts.map +1 -0
  2398. package/dist/utils/sync-promise.js +11 -0
  2399. package/dist/utils/sync-promise.js.map +7 -0
  2400. package/dist/utils/time.d.ts +3 -0
  2401. package/dist/utils/time.d.ts.map +1 -0
  2402. package/dist/utils/time.js +11 -0
  2403. package/dist/utils/time.js.map +7 -0
  2404. package/dist/utils/timeout.d.ts +9 -0
  2405. package/dist/utils/timeout.d.ts.map +1 -0
  2406. package/dist/utils/timeout.js +26 -0
  2407. package/dist/utils/timeout.js.map +7 -0
  2408. package/dist/utils/token-estimator.d.ts +18 -0
  2409. package/dist/utils/token-estimator.d.ts.map +1 -0
  2410. package/dist/utils/token-estimator.js +51 -0
  2411. package/dist/utils/token-estimator.js.map +7 -0
  2412. package/dist/utils/tokens.d.ts +18 -0
  2413. package/dist/utils/tokens.d.ts.map +1 -0
  2414. package/dist/utils/tokens.js +25 -0
  2415. package/dist/utils/tokens.js.map +7 -0
  2416. package/package.json +172 -0
  2417. package/prompts/AGENT_TECHNIQUES.md +78 -0
  2418. package/prompts/LEADER_TECHNIQUES.md +233 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/testing.ts", "../src/adapters/agents/backends/model-matrix-entries.ts", "../src/adapters/agents/backends/model-matrix.ts", "../src/adapters/agents/backends/cli-helpers.ts", "../src/adapters/agents/backends/shared.ts", "../src/adapters/data/approval-store/in-memory.ts", "../src/domain/errors/base.ts", "../src/domain/errors/approval.ts", "../src/domain/errors/task.ts", "../src/utils/sync-promise.ts", "../src/utils/time.ts", "../src/adapters/data/approval-store/change-feed.ts", "../src/adapters/data/session-store/in-memory.ts", "../src/utils/octoflow-home.ts", "../src/adapters/data/task-store/async-event-queue.ts", "../src/adapters/data/task-store/shared.ts", "../src/utils/clone.ts", "../src/utils/metadata.ts", "../src/adapters/data/task-store/in-memory-listing.ts", "../src/adapters/data/task-store/in-memory.ts", "../src/adapters/data/task-store/sqlite.ts", "../src/adapters/data/task-store/sqlite-subscriptions.ts", "../src/adapters/data/task-store/sqlite-queries.ts", "../src/adapters/data/task-store/factory.ts", "../src/plugins/test-context.ts", "../src/runtime/bridge/events-schema.ts", "../src/adapters/transport/schemas.ts", "../src/runtime/bridge/events.ts", "../src/utils/extract-text.ts"],
4
+ "sourcesContent": ["/**\n * Test helpers and utilities for octoflow consumers.\n * Import via `octoflow-core/testing`.\n */\nexport { clearCliCache } from './adapters/agents/backends/shared.js';\nexport { InMemoryApprovalStore } from './adapters/data/approval-store/in-memory.js';\nexport { InMemorySessionStore } from './adapters/data/session-store/in-memory.js';\nexport {\n createTaskStore,\n InMemoryTaskStore,\n} from './adapters/data/task-store/index.js';\nexport type {\n CreatePluginTestContextOptions,\n PluginTestContext,\n} from './plugins/test-context.js';\nexport { createPluginTestContext } from './plugins/test-context.js';\nexport { extractText, extractTextFromTask } from './utils/extract-text.js';\n", "/**\n * Model matrix row builders and `MODEL_MATRIX` catalog.\n */\n\nimport type { BackendName } from '../../../domain/core-client.js';\nimport type { ModelInfo } from './model-matrix-types.js';\n\nexport type VercelProvider = 'anthropic' | 'openai' | 'google';\n\ntype ModelOverrides = Partial<Omit<ModelInfo, 'modelId' | 'displayName'>>;\n\nconst ANTHROPIC_DEFAULTS: Omit<\n ModelInfo,\n 'modelId' | 'displayName' | 'maxOutputTokens'\n> = {\n provider: 'anthropic',\n contextWindow: 200_000,\n parameterSize: null,\n supportsTools: true,\n supportsMcp: true,\n supportsSkills: true,\n supportsSystemPrompt: true,\n supportsStreaming: true,\n supportsThinking: true,\n supportsVision: true,\n};\n\nconst OPENAI_DEFAULTS: Omit<\n ModelInfo,\n 'modelId' | 'displayName' | 'contextWindow' | 'maxOutputTokens'\n> = {\n provider: 'openai',\n parameterSize: null,\n supportsTools: true,\n supportsMcp: false,\n supportsSkills: true,\n supportsSystemPrompt: true,\n supportsStreaming: true,\n supportsThinking: false,\n supportsVision: true,\n};\n\nconst GOOGLE_DEFAULTS: Omit<\n ModelInfo,\n 'modelId' | 'displayName' | 'maxOutputTokens'\n> = {\n provider: 'google',\n contextWindow: 1_048_576,\n parameterSize: null,\n supportsTools: true,\n supportsMcp: true,\n supportsSkills: true,\n supportsSystemPrompt: true,\n supportsStreaming: true,\n supportsThinking: true,\n supportsVision: true,\n};\n\nfunction anthropic(\n id: string,\n name: string,\n maxOut: number,\n overrides?: ModelOverrides\n): ModelInfo {\n return {\n ...ANTHROPIC_DEFAULTS,\n modelId: id,\n displayName: name,\n maxOutputTokens: maxOut,\n ...overrides,\n };\n}\nfunction openai(\n id: string,\n name: string,\n ctx: number,\n maxOut: number,\n overrides?: ModelOverrides\n): ModelInfo {\n return {\n ...OPENAI_DEFAULTS,\n modelId: id,\n displayName: name,\n contextWindow: ctx,\n maxOutputTokens: maxOut,\n ...overrides,\n };\n}\nfunction google(\n id: string,\n name: string,\n maxOut: number,\n overrides?: ModelOverrides\n): ModelInfo {\n return {\n ...GOOGLE_DEFAULTS,\n modelId: id,\n displayName: name,\n maxOutputTokens: maxOut,\n ...overrides,\n };\n}\n\nconst LOCAL_DEFAULTS: Omit<\n ModelInfo,\n | 'modelId'\n | 'displayName'\n | 'contextWindow'\n | 'maxOutputTokens'\n | 'parameterSize'\n> = {\n provider: 'local',\n supportsTools: true,\n supportsMcp: false,\n supportsSkills: false,\n supportsSystemPrompt: true,\n supportsStreaming: true,\n supportsThinking: false,\n supportsVision: false,\n};\n\nfunction local(\n id: string,\n name: string,\n ctx: number,\n maxOut: number,\n paramSize: string,\n overrides?: ModelOverrides\n): ModelInfo {\n return {\n ...LOCAL_DEFAULTS,\n modelId: id,\n displayName: name,\n contextWindow: ctx,\n maxOutputTokens: maxOut,\n parameterSize: paramSize,\n ...overrides,\n };\n}\n\nexport const VERCEL_PROVIDER_DEFAULT_MODELS: Readonly<\n Record<VercelProvider, string>\n> = {\n anthropic: 'claude-sonnet-4-6',\n openai: 'gpt-4o',\n google: 'gemini-2.5-pro',\n};\n\nexport const BACKEND_DEFAULT_MODELS: Readonly<\n Partial<Record<BackendName, string>>\n> = {\n 'claude-code-cli': 'sonnet',\n 'cursor-cli': 'auto',\n // codex-cli intentionally has no default model: the CLI selects the model\n // based on the account type (API key vs ChatGPT login). Passing -m with a\n // hard-coded model breaks ChatGPT accounts. Users who need a specific model\n // can pass model: 'o4-mini' (or similar) explicitly to createAgent/sendMessage.\n 'openai-api': 'gpt-4o',\n 'anthropic-api': 'claude-sonnet-4-6',\n 'gemini-api': VERCEL_PROVIDER_DEFAULT_MODELS.google,\n ollama: 'auto',\n 'vercel-ai:anthropic': VERCEL_PROVIDER_DEFAULT_MODELS.anthropic,\n 'vercel-ai:openai': VERCEL_PROVIDER_DEFAULT_MODELS.openai,\n 'gemini-cli': 'gemini-2.5-flash',\n 'vercel-ai:google': VERCEL_PROVIDER_DEFAULT_MODELS.google,\n};\nexport const MODEL_MATRIX: readonly ModelInfo[] = [\n // Anthropic API models \u2014 4.6 series: 1M context, older: 200K (sizes undisclosed)\n anthropic('claude-opus-4-6', 'Claude Opus 4.6', 128_000, {\n contextWindow: 1_000_000,\n }),\n anthropic('claude-sonnet-4-6', 'Claude Sonnet 4.6', 64_000, {\n contextWindow: 1_000_000,\n }),\n anthropic('claude-opus-4-5', 'Claude Opus 4.5', 64_000),\n anthropic('claude-sonnet-4-5', 'Claude Sonnet 4.5', 64_000),\n anthropic('claude-haiku-4-5', 'Claude Haiku 4.5', 64_000),\n anthropic('claude-sonnet-4-20250514', 'Claude Sonnet 4 (2025-05-14)', 64_000),\n anthropic('claude-opus-4-20250514', 'Claude Opus 4 (2025-05-14)', 32_000),\n // Claude Code CLI short aliases (resolve to latest: opus\u21924.6, sonnet\u21924.6, haiku\u21924.5)\n anthropic('opus', 'Claude Opus (CLI)', 128_000, { contextWindow: 1_000_000 }),\n anthropic('sonnet', 'Claude Sonnet (CLI)', 64_000, {\n contextWindow: 1_000_000,\n }),\n anthropic('haiku', 'Claude Haiku (CLI)', 64_000),\n\n // OpenAI API models (sizes undisclosed)\n openai('gpt-4o', 'GPT-4o', 128_000, 16_384),\n openai('gpt-4o-mini', 'GPT-4o Mini', 128_000, 16_384),\n openai('o3', 'o3', 200_000, 100_000, { supportsThinking: true }),\n openai('o4-mini', 'o4-mini', 200_000, 100_000, { supportsThinking: true }),\n openai('default', 'Codex Default', 200_000, 100_000, {\n supportsMcp: true,\n supportsThinking: true,\n supportsVision: false,\n }),\n\n // Cursor CLI models\n anthropic('auto', 'Cursor Auto', 16_000, { supportsThinking: false }),\n anthropic('opus-4.6-thinking', 'Cursor Opus 4.6 Thinking', 128_000, {\n contextWindow: 1_000_000,\n }),\n anthropic('opus-4.5', 'Cursor Opus 4.5', 64_000),\n anthropic('sonnet-4.5', 'Cursor Sonnet 4.5', 64_000),\n anthropic('sonnet-4.6', 'Cursor Sonnet 4.6', 64_000, {\n contextWindow: 1_000_000,\n }),\n openai('gpt-5.3-codex', 'Cursor GPT-5.3 Codex', 200_000, 100_000, {\n supportsMcp: true,\n supportsThinking: true,\n }),\n\n // Google Gemini (CLI + Vercel, context: 1M, sizes undisclosed)\n google('gemini-2.5-pro', 'Gemini 2.5 Pro', 65_536),\n google('gemini-2.5-flash', 'Gemini 2.5 Flash', 65_536),\n google('gemini-3-flash-preview', 'Gemini 3 Flash Preview', 65_536),\n\n // Reference catalog from https://ollama.com/library \u2014 user must install\n // models with `ollama pull <model>` before use. Context windows and\n // capabilities match the official library as of 2026-04.\n\n local('llama3.2:1b', 'Llama 3.2 1B', 128_000, 4_096, '1B'),\n local('llama3.2:3b', 'Llama 3.2 3B', 128_000, 4_096, '3B'),\n local('llama3.1:8b', 'Llama 3.1 8B', 128_000, 4_096, '8B'),\n local('llama3.1:70b', 'Llama 3.1 70B', 128_000, 4_096, '70B'),\n local('llama3.3:70b', 'Llama 3.3 70B', 128_000, 4_096, '70B'),\n local(\n 'llama4:16x17b',\n 'Llama 4 Scout (16x17B MoE)',\n 10_000_000,\n 4_096,\n '109B MoE',\n { supportsVision: true }\n ),\n\n // Gemma 4 family (Google) \u2014 MoE + Dense + Edge variants\n local('gemma4:e2b', 'Gemma 4 E2B (Edge)', 128_000, 4_096, '2.3B eff', {\n supportsVision: true,\n supportsThinking: true,\n }),\n local('gemma4:e4b', 'Gemma 4 E4B (Edge)', 128_000, 4_096, '4.5B eff', {\n supportsVision: true,\n supportsThinking: true,\n }),\n local('gemma4:26b', 'Gemma 4 26B (MoE A4B)', 256_000, 4_096, '26B MoE', {\n supportsVision: true,\n supportsThinking: true,\n }),\n local('gemma4:31b', 'Gemma 4 31B (Dense)', 256_000, 4_096, '31B', {\n supportsVision: true,\n supportsThinking: true,\n }),\n\n local('gemma3:1b', 'Gemma 3 1B', 32_000, 4_096, '1B'),\n local('gemma3:4b', 'Gemma 3 4B', 128_000, 4_096, '4B', {\n supportsVision: true,\n }),\n local('gemma3:12b', 'Gemma 3 12B', 128_000, 4_096, '12B', {\n supportsVision: true,\n }),\n local('gemma3:27b', 'Gemma 3 27B', 128_000, 4_096, '27B', {\n supportsVision: true,\n }),\n\n // Gemma 3n \u2014 Edge-optimized (Google)\n local('gemma3n:e2b', 'Gemma 3n E2B (Edge)', 128_000, 4_096, '2B eff', {\n supportsVision: true,\n }),\n local('gemma3n:e4b', 'Gemma 3n E4B (Edge)', 128_000, 4_096, '4B eff', {\n supportsVision: true,\n }),\n\n // Qwen 3.5 family (Alibaba) \u2014 multimodal hybrid MoE\n local('qwen3.5:0.8b', 'Qwen 3.5 0.8B', 256_000, 4_096, '0.8B', {\n supportsVision: true,\n supportsThinking: true,\n }),\n local('qwen3.5:2b', 'Qwen 3.5 2B', 256_000, 4_096, '2B', {\n supportsVision: true,\n supportsThinking: true,\n }),\n local('qwen3.5:4b', 'Qwen 3.5 4B', 256_000, 4_096, '4B', {\n supportsVision: true,\n supportsThinking: true,\n }),\n local('qwen3.5:9b', 'Qwen 3.5 9B', 256_000, 4_096, '9B', {\n supportsVision: true,\n supportsThinking: true,\n }),\n local('qwen3.5:27b', 'Qwen 3.5 27B', 256_000, 4_096, '27B', {\n supportsVision: true,\n supportsThinking: true,\n }),\n local('qwen3.5:35b', 'Qwen 3.5 35B', 256_000, 4_096, '35B', {\n supportsVision: true,\n supportsThinking: true,\n }),\n local('qwen3.5:122b', 'Qwen 3.5 122B', 256_000, 4_096, '122B', {\n supportsVision: true,\n supportsThinking: true,\n }),\n\n // Qwen 3.6 (Alibaba) \u2014 agentic coding\n local('qwen3.6:35b', 'Qwen 3.6 35B', 256_000, 4_096, '35B', {\n supportsVision: true,\n supportsThinking: true,\n }),\n\n local('qwen3:0.6b', 'Qwen 3 0.6B', 40_000, 4_096, '0.6B', {\n supportsThinking: true,\n }),\n local('qwen3:1.7b', 'Qwen 3 1.7B', 40_000, 4_096, '1.7B', {\n supportsThinking: true,\n }),\n local('qwen3:4b', 'Qwen 3 4B', 256_000, 4_096, '4B', {\n supportsThinking: true,\n }),\n local('qwen3:8b', 'Qwen 3 8B', 40_000, 4_096, '8B', {\n supportsThinking: true,\n }),\n local('qwen3:14b', 'Qwen 3 14B', 40_000, 4_096, '14B', {\n supportsThinking: true,\n }),\n local('qwen3:30b', 'Qwen 3 30B', 256_000, 4_096, '30B MoE', {\n supportsThinking: true,\n }),\n local('qwen3:32b', 'Qwen 3 32B', 40_000, 4_096, '32B', {\n supportsThinking: true,\n }),\n local('qwen2.5-coder:7b', 'Qwen 2.5 Coder 7B', 32_768, 4_096, '7B'),\n local('qwen2.5-coder:32b', 'Qwen 2.5 Coder 32B', 32_768, 4_096, '32B'),\n\n // Qwen 3 Coder (Alibaba) \u2014 long-context coding specialist\n local('qwen3-coder:30b', 'Qwen 3 Coder 30B', 256_000, 4_096, '30B'),\n\n // GPT-OSS family (OpenAI) \u2014 Apache 2.0, MXFP4 quantization\n local('gpt-oss:20b', 'GPT-OSS 20B', 128_000, 4_096, '20B', {\n supportsThinking: true,\n }),\n local('gpt-oss:120b', 'GPT-OSS 120B', 128_000, 4_096, '120B', {\n supportsThinking: true,\n }),\n\n local('deepseek-r1:1.5b', 'DeepSeek R1 1.5B', 128_000, 4_096, '1.5B', {\n supportsThinking: true,\n }),\n local('deepseek-r1:7b', 'DeepSeek R1 7B', 128_000, 4_096, '7B', {\n supportsThinking: true,\n }),\n local('deepseek-r1:8b', 'DeepSeek R1 8B', 128_000, 4_096, '8B', {\n supportsThinking: true,\n }),\n local('deepseek-r1:14b', 'DeepSeek R1 14B', 128_000, 4_096, '14B', {\n supportsThinking: true,\n }),\n local('deepseek-r1:32b', 'DeepSeek R1 32B', 128_000, 4_096, '32B', {\n supportsThinking: true,\n }),\n local('deepseek-r1:70b', 'DeepSeek R1 70B', 128_000, 4_096, '70B', {\n supportsThinking: true,\n }),\n\n local('mistral:7b', 'Mistral 7B', 32_768, 4_096, '7B'),\n local('mistral-nemo:12b', 'Mistral Nemo 12B', 128_000, 4_096, '12B'),\n local('codestral:22b', 'Codestral 22B', 32_768, 4_096, '22B'),\n local('devstral:24b', 'Devstral 24B', 128_000, 4_096, '24B'),\n local('magistral:24b', 'Magistral 24B', 128_000, 4_096, '24B', {\n supportsThinking: true,\n }),\n\n local(\n 'nemotron-cascade-2:30b',\n 'Nemotron Cascade 2 30B MoE',\n 128_000,\n 4_096,\n '30B MoE',\n { supportsThinking: true }\n ),\n local('nemotron-3-nano:4b', 'Nemotron 3 Nano 4B', 128_000, 4_096, '4B', {\n supportsThinking: true,\n }),\n\n local('lfm2:24b', 'LFM2 24B', 128_000, 4_096, '24B'),\n local(\n 'lfm2.5-thinking:1.2b',\n 'LFM2.5 Thinking 1.2B',\n 128_000,\n 4_096,\n '1.2B',\n { supportsThinking: true }\n ),\n\n local('phi4:14b', 'Phi 4 14B', 16_384, 4_096, '14B'),\n local('phi4-reasoning:14b', 'Phi 4 Reasoning 14B', 32_768, 4_096, '14B', {\n supportsThinking: true,\n }),\n local('phi4-mini:3.8b', 'Phi 4 Mini 3.8B', 128_000, 4_096, '3.8B'),\n local('cogito:8b', 'Cogito 8B', 128_000, 4_096, '8B', {\n supportsThinking: true,\n }),\n local('glm-4.7-flash', 'GLM 4.7 Flash', 128_000, 4_096, '30B', {\n supportsThinking: true,\n }),\n local('llava:7b', 'LLaVA 7B', 4_096, 2_048, '7B', {\n supportsVision: true,\n supportsTools: false,\n }),\n local('smollm2:1.7b', 'SmolLM2 1.7B', 8_192, 4_096, '1.7B'),\n] as const;\n", "/**\n * Model matrix \u2014 canonical reference for every model reachable through octoflow.\n *\n * Consumers:\n * - BackendMeta picks `contextWindow` and `maxOutputTokens` from the default model.\n * - The harness reads capability flags when deciding what to inject.\n * - Bridge consumers can `getModelInfo(modelId)` to inspect any model at runtime.\n */\n\nimport type { BackendName } from '../../../domain/core-client.js';\n\nexport type { ModelInfo, ModelProvider } from './model-matrix-types.js';\nexport { DEFAULT_MAX_CONTEXT_TOKENS } from './model-matrix-types.js';\nimport {\n BACKEND_DEFAULT_MODELS,\n MODEL_MATRIX,\n VERCEL_PROVIDER_DEFAULT_MODELS,\n type VercelProvider,\n} from './model-matrix-entries.js';\nimport type { ModelInfo, ModelProvider } from './model-matrix-types.js';\nimport { DEFAULT_MAX_CONTEXT_TOKENS } from './model-matrix-types.js';\n\nconst matrixIndex = new Map<string, ModelInfo>();\nfor (const entry of MODEL_MATRIX) {\n matrixIndex.set(entry.modelId, entry);\n}\n\n/** Look up a model's full metadata by its ID string. */\nexport function getModelInfo(modelId: string): ModelInfo | undefined {\n return matrixIndex.get(modelId);\n}\n\n/** Resolve context window for a model, falling back to `DEFAULT_MAX_CONTEXT_TOKENS`. */\nexport function getContextWindow(modelId: string | undefined | null): number {\n if (!modelId) return DEFAULT_MAX_CONTEXT_TOKENS;\n return matrixIndex.get(modelId)?.contextWindow ?? DEFAULT_MAX_CONTEXT_TOKENS;\n}\n\n/** Resolve max output tokens for a model. */\nexport function getMaxOutputTokens(\n modelId: string | undefined | null\n): number | undefined {\n if (!modelId) return undefined;\n return matrixIndex.get(modelId)?.maxOutputTokens;\n}\n\n/** Resolve the default model ID for a Vercel provider. */\nexport function getDefaultModelForVercelProvider(\n provider: VercelProvider\n): string {\n return VERCEL_PROVIDER_DEFAULT_MODELS[provider];\n}\n\n/** Resolve the default model ID for a built-in backend when one is known. */\nexport function getDefaultModelForBackend(\n backend: BackendName\n): string | undefined {\n return BACKEND_DEFAULT_MODELS[backend];\n}\n\nexport function resolveOutputTokens(\n explicit: number | undefined,\n modelId: string | undefined | null,\n backendDefault: number\n): number {\n if (explicit != null) return explicit;\n return getMaxOutputTokens(modelId) ?? backendDefault;\n}\n\nexport function resolveContextTokens(\n explicit: number | undefined,\n modelId: string | undefined | null,\n backendDefault: number\n): number {\n if (explicit != null) return explicit;\n const modelContext = getContextWindow(modelId);\n if (modelContext !== DEFAULT_MAX_CONTEXT_TOKENS) {\n return modelContext;\n }\n return backendDefault;\n}\n\n/** Get all models for a given provider. */\nexport function getModelsByProvider(provider: ModelProvider): ModelInfo[] {\n return MODEL_MATRIX.filter((m) => m.provider === provider);\n}\n/**\n * Default model IDs for abstract registry hints used by `AgentDefinition.model`.\n * `'fast'` \u2192 small/cheap model, `'thinking'` \u2192 reasoning model.\n * `'inherit'` means \"use the parent/bridge default\" (no override).\n */\nexport const REGISTRY_MODEL_DEFAULTS: Record<\n string,\n Record<'fast' | 'thinking', string>\n> = {\n anthropic: { fast: 'claude-haiku-4-5', thinking: 'claude-opus-4-6' },\n openai: { fast: 'gpt-4o-mini', thinking: 'o3' },\n google: { fast: 'gemini-2.5-flash', thinking: 'gemini-2.5-pro' },\n local: { fast: 'gemma4:e2b', thinking: 'gemma4:26b' },\n};\n\n/**\n * Resolve an `AgentDefinition.model` hint to a concrete model ID.\n *\n * - `'inherit'` or `undefined` \u2192 returns `undefined` (use bridge/parent default)\n * - `'fast'` \u2192 cheapest model for the provider\n * - `'thinking'` \u2192 strongest reasoning model for the provider\n * - Any other string \u2192 treated as a literal model ID (pass-through)\n */\nexport function resolveRegistryModel(\n hint: string | undefined,\n provider: ModelProvider = 'anthropic'\n): string | undefined {\n if (!hint || hint === 'inherit') return undefined;\n const providerDefaults = REGISTRY_MODEL_DEFAULTS[provider];\n if (providerDefaults && (hint === 'fast' || hint === 'thinking')) {\n return providerDefaults[hint];\n }\n return hint;\n}\n\nexport { MODEL_MATRIX } from './model-matrix-entries.js';\n", "import { execFile, execSync } from 'node:child_process';\nimport fs from 'node:fs';\nimport os from 'node:os';\nimport path from 'node:path';\nimport process from 'node:process';\nimport { promisify } from 'node:util';\n\nconst execFileAsync = promisify(execFile);\n\nconst BACKEND_EXEC_OPTS = { encoding: 'utf8' as const, timeout: 10000 };\nconst BACKEND_VERSION_EXEC_OPTS = { encoding: 'utf8' as const, timeout: 1500 };\n\nconst CLI_CACHE_TTL_MS = 60_000;\nconst installedCache = new Map<string, { value: boolean; ts: number }>();\n\nconst IS_WINDOWS = process.platform === 'win32';\nconst WHICH_CMD = IS_WINDOWS ? 'where' : 'which';\n\nexport function isCliInstalled(cli: string): boolean {\n const cached = installedCache.get(cli);\n if (cached !== undefined && Date.now() - cached.ts < CLI_CACHE_TTL_MS) {\n return cached.value;\n }\n\n try {\n execSync(`${WHICH_CMD} ${cli}`, BACKEND_EXEC_OPTS);\n installedCache.set(cli, { value: true, ts: Date.now() });\n return true;\n } catch {\n installedCache.set(cli, { value: false, ts: Date.now() });\n return false;\n }\n}\n\nexport async function isCliInstalledAsync(cli: string): Promise<boolean> {\n const cached = installedCache.get(cli);\n if (cached !== undefined && Date.now() - cached.ts < CLI_CACHE_TTL_MS) {\n return cached.value;\n }\n\n try {\n await execFileAsync(WHICH_CMD, [cli], { encoding: 'utf8', timeout: 10000 });\n installedCache.set(cli, { value: true, ts: Date.now() });\n return true;\n } catch {\n installedCache.set(cli, { value: false, ts: Date.now() });\n return false;\n }\n}\n\nexport function getCliVersion(versionCmd: string): string | null {\n try {\n return execSync(versionCmd, BACKEND_VERSION_EXEC_OPTS).trim();\n } catch {\n return null;\n }\n}\n\nexport function clearCliCache(): void {\n installedCache.clear();\n configModelCache.clear();\n}\n\n// Reads each CLI's user-level config file to discover the account-configured\n// default model. Cached for 5 minutes so rapid calls (multiple createAgent\n// calls in one process) don't re-stat the disk.\n//\n// Supported config locations:\n// codex-cli : ~/.codex/config.toml | ~/.config/codex/config.toml (TOML: model = \"...\")\n// claude-code: ~/.claude/settings.json (JSON: { \"model\": \"...\" })\n// cursor-cli : ~/.cursor/settings.json | ~/.cursor/config.json (JSON: { \"model\": \"...\" })\n//\n// Returns null when the CLI is not installed, config not found, or no model\n// key is present \u2014 signalling \"let the CLI use its own account default\".\n\nconst CONFIG_MODEL_TTL_MS = 5 * 60_000;\nconst configModelCache = new Map<\n string,\n { value: string | null; ts: number }\n>();\n\nexport type CliConfigKey =\n | 'codex-cli'\n | 'claude-code-cli'\n | 'cursor-cli'\n | 'gemini-cli';\n\nconst CLI_CONFIG_PATHS: Record<CliConfigKey, string[]> = {\n 'codex-cli': [\n path.join(os.homedir(), '.codex', 'config.toml'),\n path.join(os.homedir(), '.config', 'codex', 'config.toml'),\n ],\n 'claude-code-cli': [path.join(os.homedir(), '.claude', 'settings.json')],\n 'cursor-cli': [\n path.join(os.homedir(), '.cursor', 'settings.json'),\n path.join(os.homedir(), '.cursor', 'config.json'),\n ],\n 'gemini-cli': [path.join(os.homedir(), '.gemini', 'settings.json')],\n};\n\n/**\n * Read the user-configured default model for a CLI backend from its config\n * file. Returns `null` when the config file does not exist or contains no\n * model key \u2014 indicating the caller should let the CLI choose.\n */\nexport function readCliConfigModel(cli: CliConfigKey): string | null {\n const cached = configModelCache.get(cli);\n if (cached !== undefined && Date.now() - cached.ts < CONFIG_MODEL_TTL_MS) {\n return cached.value;\n }\n\n const set = (v: string | null): string | null => {\n configModelCache.set(cli, { value: v, ts: Date.now() });\n return v;\n };\n\n for (const filePath of CLI_CONFIG_PATHS[cli]) {\n let raw: string;\n try {\n raw = fs.readFileSync(filePath, 'utf8');\n } catch {\n continue;\n }\n\n // TOML: model = \"value\" (codex config.toml)\n const tomlMatch = raw.match(/^\\s*model\\s*=\\s*\"([^\"]+)\"/m);\n if (tomlMatch?.[1]) return set(tomlMatch[1]);\n\n // JSON: { \"model\": \"value\" }\n try {\n // JSON.parse returns `any`; cast to a known index shape so we can safely\n // narrow `json.model` with a typeof guard immediately after.\n const json = JSON.parse(raw) as Record<string, unknown>;\n if (typeof json.model === 'string' && json.model.length > 0) {\n return set(json.model);\n }\n } catch {\n /* not JSON */\n }\n }\n\n return set(null);\n}\n", "import type {\n Backend,\n BackendCapabilities,\n} from '../../../domain/contracts/backends.js';\nimport {\n type BackendInfo,\n type BackendInfoCapabilities,\n type BackendInfoType,\n type BridgeProtocol,\n DEFAULT_CACHING_BY_PROTOCOL,\n} from '../../../domain/protocol.js';\nimport { getDefaultModelForBackend } from './model-matrix.js';\n\nexport {\n clearCliCache,\n type CliConfigKey,\n getCliVersion,\n isCliInstalled,\n isCliInstalledAsync,\n readCliConfigModel,\n} from './cli-helpers.js';\n\nexport type OpenAiCompatUsage = {\n prompt_tokens?: number;\n completion_tokens?: number;\n prompt_tokens_details?: {\n cached_tokens?: number;\n };\n};\n\nexport type BackendMeta = {\n name: string;\n displayName: string;\n cli?: string;\n models: string[];\n defaultModel: string;\n /**\n * Conservative default context window (tokens) for this backend.\n * Always 200K \u2014 the safe baseline across models. For the actual per-model\n * context window, use `getContextWindow(modelId)` from model-matrix.ts.\n */\n contextWindow: number;\n /** Default max output tokens for this backend's default model. */\n maxOutputTokens: number;\n authType: 'cli-login' | 'desktop-app' | 'device-auth' | 'api-key';\n authEnvVar?: string;\n authInstructions: string;\n /** RFC-16: wire protocol spoken by this backend. */\n protocol: BridgeProtocol;\n /** RFC-16: provider label (vendor/service behind this backend). */\n provider: string;\n /** RFC-16: runtime type categorization for `BackendInfo.type`. */\n infoType: BackendInfoType;\n /** RFC-16: default host/base URL (API backends) or command (CLI). */\n defaultHost: string | null;\n};\n\nexport type KnownBackendKey =\n | 'claude-code-cli'\n | 'cursor-cli'\n | 'codex-cli'\n | 'gemini-cli'\n | 'gemini-api'\n | 'openai-api'\n | 'anthropic-api'\n | 'ollama'\n | 'acp-cli';\n\nexport const BACKEND_METADATA: Record<KnownBackendKey, BackendMeta> = {\n 'claude-code-cli': {\n name: 'claude-code-cli',\n displayName: 'Claude Code CLI',\n cli: 'claude',\n models: ['opus', 'sonnet', 'haiku'],\n defaultModel: getDefaultModelForBackend('claude-code-cli')!,\n contextWindow: 200_000,\n maxOutputTokens: 64_000,\n authType: 'cli-login',\n authInstructions: 'Run `claude` in a terminal to complete login.',\n protocol: 'anthropic',\n provider: 'anthropic',\n infoType: 'cli',\n defaultHost: 'claude',\n },\n 'cursor-cli': {\n name: 'cursor-cli',\n displayName: 'Cursor CLI',\n cli: 'agent',\n models: [\n 'auto',\n 'opus-4.6-thinking',\n 'opus-4.5',\n 'sonnet-4.5',\n 'sonnet-4.6',\n 'gpt-5.3-codex',\n ],\n defaultModel: getDefaultModelForBackend('cursor-cli')!,\n contextWindow: 200_000,\n maxOutputTokens: 16_000,\n authType: 'desktop-app',\n authInstructions:\n 'Login through the Cursor desktop app. The CLI shares desktop authentication.',\n // Cursor is multi-provider (OpenAI, Anthropic, \u2026); no single wire shape.\n protocol: 'custom',\n provider: 'cursor',\n infoType: 'cli',\n defaultHost: 'agent',\n },\n 'codex-cli': {\n name: 'codex-cli',\n displayName: 'Codex CLI',\n cli: 'codex',\n models: ['gpt-5-codex', 'o3', 'o4-mini', 'gpt-4o'],\n defaultModel: getDefaultModelForBackend('codex-cli')!,\n contextWindow: 200_000,\n maxOutputTokens: 100_000,\n authType: 'device-auth',\n authInstructions:\n 'Run `codex login --device-auth` to authenticate this machine.',\n protocol: 'openai-chat',\n provider: 'openai',\n infoType: 'cli',\n defaultHost: 'codex',\n },\n 'gemini-cli': {\n name: 'gemini-cli',\n displayName: 'Gemini CLI',\n cli: 'gemini',\n models: ['gemini-2.5-pro', 'gemini-2.5-flash', 'gemini-3-flash-preview'],\n defaultModel: getDefaultModelForBackend('gemini-cli')!,\n // Gemini 2.5 supports a 1 M-token context window.\n contextWindow: 1_000_000,\n maxOutputTokens: 65_536,\n // CLI-login covers the Google-OAuth path (`gemini auth login`); GEMINI_API_KEY is\n // also accepted and preferred when present (treated identically to api-key auth).\n authType: 'cli-login',\n authEnvVar: 'GEMINI_API_KEY',\n authInstructions:\n 'Set GEMINI_API_KEY in the environment, or run `gemini auth login` for Google OAuth.',\n // The CLI emits its own JSONL event stream (init/message/tool_use/result), which is\n // distinct from the Gemini REST API wire format handled by native-messages/gemini.ts.\n protocol: 'custom',\n provider: 'google',\n infoType: 'cli',\n defaultHost: 'gemini',\n },\n 'gemini-api': {\n name: 'gemini-api',\n displayName: 'Gemini API',\n models: ['gemini-2.5-pro', 'gemini-2.5-flash', 'gemini-3-flash-preview'],\n defaultModel: getDefaultModelForBackend('gemini-api')!,\n contextWindow: 1_000_000,\n maxOutputTokens: 65_536,\n authType: 'api-key',\n authEnvVar: 'GEMINI_API_KEY',\n authInstructions:\n 'Store a Google Gemini API key in config or set GEMINI_API_KEY in the environment. ' +\n 'Set `host` in backends config or GEMINI_BASE_URL to use a Gemini-compatible gateway.',\n protocol: 'gemini',\n provider: 'google',\n infoType: 'api',\n defaultHost: 'https://generativelanguage.googleapis.com/v1beta',\n },\n 'openai-api': {\n name: 'openai-api',\n displayName: 'OpenAI API',\n models: ['gpt-4o', 'gpt-4o-mini', 'o3', 'o4-mini'],\n defaultModel: getDefaultModelForBackend('openai-api')!,\n contextWindow: 200_000,\n maxOutputTokens: 16_384,\n authType: 'api-key',\n authEnvVar: 'OPENAI_API_KEY',\n authInstructions:\n 'Store an OpenAI API key in config or set OPENAI_API_KEY in the environment. ' +\n 'Set `host` in backends config or OPENAI_BASE_URL to use an OpenAI-compatible provider (Nebius, Groq, Together AI, etc.).',\n protocol: 'openai-chat',\n provider: 'openai',\n infoType: 'api',\n defaultHost: 'https://api.openai.com/v1',\n },\n 'anthropic-api': {\n name: 'anthropic-api',\n displayName: 'Anthropic API',\n models: [\n 'claude-opus-4-6',\n 'claude-sonnet-4-6',\n 'claude-opus-4-5',\n 'claude-sonnet-4-5',\n 'claude-haiku-4-5',\n 'claude-sonnet-4-20250514',\n 'claude-opus-4-20250514',\n ],\n defaultModel: getDefaultModelForBackend('anthropic-api')!,\n contextWindow: 200_000,\n maxOutputTokens: 64_000,\n authType: 'api-key',\n authEnvVar: 'ANTHROPIC_API_KEY',\n authInstructions:\n 'Store an Anthropic API key in config or set ANTHROPIC_API_KEY in the environment. ' +\n 'Set `host` in backends config or ANTHROPIC_BASE_URL to use an Anthropic-compatible provider.',\n protocol: 'anthropic',\n provider: 'anthropic',\n infoType: 'api',\n defaultHost: 'https://api.anthropic.com',\n },\n 'acp-cli': {\n name: 'acp-cli',\n displayName: 'ACP Agent (Agent Client Protocol)',\n cli: 'acpx',\n // All registered ACP agent names. createAcpCliBackend() overrides this per-agent at runtime.\n models: [\n 'default',\n 'claude',\n 'codex',\n 'gemini',\n 'cursor',\n 'copilot',\n 'droid',\n 'factory-droid',\n 'factorydroid',\n 'pi',\n 'openclaw',\n 'iflow',\n 'kilocode',\n 'kimi',\n 'kiro',\n 'opencode',\n 'qoder',\n 'qwen',\n 'trae',\n ],\n defaultModel: 'default',\n contextWindow: 200_000,\n maxOutputTokens: 64_000,\n authType: 'cli-login',\n authInstructions:\n 'Install acpx (`npm install -g acpx`) and authenticate the target agent. ' +\n 'Example: `acpx claude` (uses Claude Code CLI via ACP). ' +\n 'Run `acpx --list` to see available agents.',\n protocol: 'acp',\n provider: 'custom',\n infoType: 'cli',\n defaultHost: 'acpx',\n },\n ollama: {\n name: 'ollama',\n displayName: 'Ollama (Local)',\n models: [\n // Not pre-installed \u2014 user must pull models themselves.\n // See https://ollama.com/library for the full catalog.\n 'gemma4:e4b',\n 'gemma4:26b',\n 'qwen3.5:9b',\n 'qwen3.6:35b',\n 'gpt-oss:20b',\n 'qwen3:8b',\n 'llama3.2:3b',\n 'deepseek-r1:8b',\n 'qwen2.5-coder:7b',\n 'mistral:7b',\n ],\n defaultModel: getDefaultModelForBackend('ollama') ?? 'auto',\n contextWindow: 128_000,\n maxOutputTokens: 4_096,\n authType: 'api-key',\n authEnvVar: 'OLLAMA_API_KEY',\n authInstructions:\n 'Install Ollama from https://ollama.com/download and run `ollama serve`. ' +\n 'Pull a model with `ollama pull <model>` (e.g. `ollama pull llama3.2:3b`). ' +\n 'Browse models at https://ollama.com/library. ' +\n 'Set OLLAMA_HOST to connect to a remote host, or OLLAMA_API_KEY for authenticated endpoints.',\n protocol: 'ollama',\n provider: 'ollama',\n infoType: 'local',\n defaultHost: 'http://127.0.0.1:11434',\n },\n};\ninterface ToBackendInfoArgs {\n /** Backend name (any string \u2014 built-in key, `custom`, `custom-api`, `a2a`, or a vercel subtype). */\n backend: string;\n type: BackendInfoType;\n protocol: BridgeProtocol;\n provider: string | null;\n model: string | null;\n host: string | null;\n version?: string | null;\n capabilities: BackendCapabilities;\n}\n\n/**\n * : convenience helper that produces the three `Backend`-interface\n * fields every built-in backend must add (`protocol`, `provider`, `info()`).\n * Built-in backends spread the result into their return literal.\n */\nexport function createInfoFields(\n meta: BackendMeta,\n capabilities: BackendCapabilities,\n resolve: () => {\n host?: string | null;\n model?: string | null;\n version?: string | null;\n }\n): {\n protocol: BridgeProtocol;\n provider: string;\n info(): BackendInfo;\n} {\n return {\n protocol: meta.protocol,\n provider: meta.provider,\n info(): BackendInfo {\n const r = resolve();\n return toBackendInfo({\n backend: meta.name,\n type: meta.infoType,\n protocol: meta.protocol,\n provider: meta.provider,\n model: r.model ?? meta.defaultModel,\n host: r.host ?? meta.defaultHost,\n version: r.version ?? null,\n capabilities,\n });\n },\n };\n}\nexport function createCliBackendBase(\n meta: BackendMeta,\n capabilities: BackendCapabilities,\n streamParserName: NonNullable<Backend['streamParserName']>,\n options: {\n canResume?: boolean;\n resolveInstalled: () => Promise<boolean>;\n resolveVersion: () => string | null;\n /**\n * Optional: return the live account-configured model from the CLI's user\n * config file (e.g. `~/.codex/config.toml`). When non-null the returned\n * value overrides the static `meta.defaultModel` stored in\n * `BACKEND_METADATA`. Used by codex-cli (and friends) so the bridge\n * honours whatever model the user has configured without hardcoding it.\n */\n resolveConfigModel?: () => string | null;\n }\n): Pick<\n Backend,\n | 'name'\n | 'displayName'\n | 'protocol'\n | 'provider'\n | 'info'\n | 'models'\n | 'defaultModel'\n | 'configModel'\n | 'contextWindow'\n | 'maxOutputTokens'\n | 'canResume'\n | 'streamParserName'\n | 'capabilities'\n | 'isInstalled'\n | 'getVersion'\n> {\n let cachedVersion: string | null = null;\n const liveDefault = options.resolveConfigModel?.() ?? null;\n const effectiveDefault = liveDefault ?? meta.defaultModel;\n return {\n name: meta.name,\n displayName: meta.displayName,\n ...createInfoFields(meta, capabilities, () => ({\n version: cachedVersion,\n model: effectiveDefault ?? undefined,\n })),\n models: meta.models,\n defaultModel: effectiveDefault,\n configModel: liveDefault,\n contextWindow: meta.contextWindow,\n maxOutputTokens: meta.maxOutputTokens,\n canResume: options.canResume ?? true,\n streamParserName,\n capabilities,\n isInstalled(): Promise<boolean> {\n return options.resolveInstalled();\n },\n getVersion(): Promise<string | null> {\n const version = options.resolveVersion();\n cachedVersion = version;\n return Promise.resolve(version);\n },\n };\n}\n\n/**\n * : pure builder for a `BackendInfo` snapshot. Used by every\n * `Backend.info()` implementation and by `Bridge.info()` when composing\n * candidate summaries from `inspectBackends()`.\n */\nexport function toBackendInfo(args: ToBackendInfoArgs): BackendInfo {\n const caching =\n args.capabilities.caching ?? DEFAULT_CACHING_BY_PROTOCOL[args.protocol];\n const capabilitiesInfo: BackendInfoCapabilities = {\n streaming: args.capabilities.streaming,\n sessionPersistence: args.capabilities.sessionPersistence,\n workingDirectory: args.capabilities.workingDirectory,\n forceMode: args.capabilities.forceMode,\n systemPrompt: args.capabilities.systemPrompt,\n planning: args.capabilities.planning,\n tools: args.capabilities.tools,\n ...(args.capabilities.structuredOutput !== undefined\n ? { structuredOutput: args.capabilities.structuredOutput }\n : {}),\n mcp: args.capabilities.mcp,\n ...(args.capabilities.structuredHistory !== undefined\n ? { structuredHistory: args.capabilities.structuredHistory }\n : {}),\n ...(args.capabilities.multimodal !== undefined\n ? { multimodal: args.capabilities.multimodal }\n : {}),\n caching,\n ...(args.capabilities.approvalCallback !== undefined\n ? { approvalCallback: args.capabilities.approvalCallback }\n : {}),\n };\n\n return {\n backend: args.backend,\n type: args.type,\n protocol: args.protocol,\n provider: args.provider,\n model: args.model,\n host: args.host,\n version: args.version ?? null,\n capabilities: capabilitiesInfo,\n cache: { enabled: caching.prompt, ttl: null },\n };\n}\n", "import crypto from 'node:crypto';\n\nimport { ApprovalConcurrencyError } from '../../../domain/errors/index.js';\nimport { syncPromise } from '../../../utils/sync-promise.js';\nimport { nowIso } from '../../../utils/time.js';\nimport { createApprovalChangeSubscription } from './change-feed.js';\nimport type {\n Approval,\n ApprovalChangeEvent,\n ApprovalStatus,\n ApprovalStore,\n ListAllApprovalsOptions,\n ListApprovalsOptions,\n} from './types.js';\n\nexport class InMemoryApprovalStore implements ApprovalStore {\n private readonly approvals = new Map<string, Approval>();\n private readonly listeners = new Set<(event: ApprovalChangeEvent) => void>();\n\n create(\n input: Omit<Approval, 'id' | 'createdAt' | 'updatedAt'>\n ): Promise<Approval> {\n return syncPromise(() => {\n const now = nowIso();\n const approval: Approval = {\n ...input,\n id: crypto.randomUUID(),\n createdAt: now,\n updatedAt: now,\n };\n this.approvals.set(approval.id, approval);\n this.emitChange({ type: 'created', approval, timestamp: now });\n return { ...approval };\n });\n }\n\n getById(id: string): Promise<Approval | null> {\n return syncPromise(() => {\n const record = this.approvals.get(id);\n return record ? { ...record } : null;\n });\n }\n\n list(\n contextId: string,\n options: ListApprovalsOptions = {}\n ): Promise<Approval[]> {\n return syncPromise(() => {\n const results: Approval[] = [];\n for (const approval of this.approvals.values()) {\n if (approval.contextId !== contextId) {\n continue;\n }\n if (options.status && approval.status !== options.status) {\n continue;\n }\n if (\n options.tenant !== undefined &&\n approval.tenant !== options.tenant\n ) {\n continue;\n }\n if (options.taskId && approval.taskId !== options.taskId) {\n continue;\n }\n results.push({ ...approval });\n }\n results.sort((a, b) => b.createdAt.localeCompare(a.createdAt));\n return results;\n });\n }\n\n listAll(options: ListAllApprovalsOptions = {}): Promise<Approval[]> {\n return syncPromise(() => {\n const results: Approval[] = [];\n for (const approval of this.approvals.values()) {\n if (options.contextId && approval.contextId !== options.contextId) {\n continue;\n }\n if (options.status && approval.status !== options.status) {\n continue;\n }\n if (\n options.tenant !== undefined &&\n approval.tenant !== options.tenant\n ) {\n continue;\n }\n if (options.taskId && approval.taskId !== options.taskId) {\n continue;\n }\n if (options.since && approval.updatedAt < options.since) {\n continue;\n }\n results.push({ ...approval });\n }\n results.sort((a, b) => b.createdAt.localeCompare(a.createdAt));\n const offset = options.offset ?? 0;\n const limit = options.limit ?? results.length;\n return results.slice(offset, offset + limit);\n });\n }\n\n subscribeAll(\n options: ListAllApprovalsOptions = {}\n ): AsyncIterable<ApprovalChangeEvent> {\n return createApprovalChangeSubscription((listener) => {\n this.listeners.add(listener);\n return () => this.listeners.delete(listener);\n }, options);\n }\n\n update(\n id: string,\n fields: Partial<\n Pick<\n Approval,\n | 'status'\n | 'decidedBy'\n | 'decidedAt'\n | 'decisionNote'\n | 'payload'\n | 'updatedAt'\n >\n >,\n options: { expectedStatus?: ApprovalStatus } = {}\n ): Promise<Approval> {\n return syncPromise(() => {\n const existing = this.approvals.get(id);\n if (!existing) {\n throw new Error(`Approval not found: ${id}`);\n }\n if (\n options.expectedStatus !== undefined &&\n existing.status !== options.expectedStatus\n ) {\n throw new ApprovalConcurrencyError(\n id,\n options.expectedStatus,\n existing.status\n );\n }\n\n const updated: Approval = {\n ...existing,\n ...fields,\n id: existing.id,\n contextId: existing.contextId,\n taskId: existing.taskId,\n createdAt: existing.createdAt,\n updatedAt: fields.updatedAt ?? nowIso(),\n };\n this.approvals.set(id, updated);\n this.emitChange({\n type: 'updated',\n approval: updated,\n previous: existing,\n timestamp: updated.updatedAt,\n });\n return { ...updated };\n });\n }\n\n deleteExpired(cutoffIso: string): Promise<number> {\n return syncPromise(() => {\n let count = 0;\n for (const [id, approval] of this.approvals) {\n if (approval.updatedAt < cutoffIso) {\n this.approvals.delete(id);\n count++;\n }\n }\n return count;\n });\n }\n\n private emitChange(event: ApprovalChangeEvent): void {\n const snapshot: ApprovalChangeEvent = {\n ...event,\n approval: { ...event.approval },\n previous: event.previous ? { ...event.previous } : undefined,\n };\n for (const listener of this.listeners) listener(snapshot);\n }\n\n close(): Promise<void> {\n return syncPromise(() => {\n this.approvals.clear();\n });\n }\n}\n", "/**\n * Structured payload emitted by {@link OctoFlowError.toJSON} and consumed\n * by {@link deserializeError}. Crosses the A2A wire and the adapter transport.\n */\nexport interface SerializedError {\n name: string;\n code: string;\n message: string;\n context?: Readonly<Record<string, unknown>>;\n cause?: SerializedCause;\n /** Present only when the emitter opts in (off by default in production). */\n stack?: string;\n}\n\nexport interface SerializedCause {\n name?: string;\n message: string;\n code?: string;\n}\n\n/**\n * Factory that rebuilds a concrete subclass from a serialized payload.\n * Registered via {@link registerErrorClass}.\n */\ntype ErrorFactory = (payload: SerializedError) => OctoFlowError;\n\nconst ERROR_CLASS_BY_CODE = new Map<string, ErrorFactory>();\n\n/** Subclasses call this once at module load to opt in to typed deserialization. */\nexport function registerErrorClass(code: string, factory: ErrorFactory): void {\n ERROR_CLASS_BY_CODE.set(code, factory);\n}\n\n/** Present for introspection/tests; returns a snapshot, not a live view. */\nexport function registeredErrorCodes(): readonly string[] {\n return Array.from(ERROR_CLASS_BY_CODE.keys());\n}\n\nlet exposeStackConfig = false;\n/**\n * Toggle whether {@link OctoFlowError.toJSON} includes `.stack`. Off by\n * default; the A2A server opts in when the config says it is safe (dev / debug\n * builds) \u2014 avoids leaking internal paths to untrusted callers in production.\n */\nexport function setExposeStacks(value: boolean): void {\n exposeStackConfig = value;\n}\nfunction shouldExposeStack(): boolean {\n return exposeStackConfig;\n}\n\n/** Reads a string field from a serialized error's context bag, with a safe fallback. */\nexport function ctxString(\n ctx: Readonly<Record<string, unknown>> | undefined,\n key: string,\n fallback = ''\n): string {\n const value = ctx?.[key];\n return typeof value === 'string' ? value : fallback;\n}\n\n/** Reads a number field from a serialized error's context bag, with a safe fallback. */\nexport function ctxNumber(\n ctx: Readonly<Record<string, unknown>> | undefined,\n key: string,\n fallback = 0\n): number {\n const value = ctx?.[key];\n return typeof value === 'number' ? value : fallback;\n}\n\nfunction serializeCause(cause: unknown): SerializedCause | undefined {\n if (!cause) return undefined;\n if (cause instanceof OctoFlowError) {\n return { name: cause.name, message: cause.message, code: cause.code };\n }\n if (cause instanceof Error) {\n return { name: cause.name, message: cause.message };\n }\n if (typeof cause === 'string') {\n return { message: cause };\n }\n try {\n return { message: JSON.stringify(cause) };\n } catch {\n return { message: Object.prototype.toString.call(cause) };\n }\n}\n\n/** Common base class for all octoflow errors. */\nexport class OctoFlowError extends Error {\n readonly code: string;\n readonly context: Readonly<Record<string, unknown>>;\n\n constructor(\n code: string,\n message: string,\n context: Record<string, unknown> = {}\n ) {\n super(message);\n this.name = 'OctoFlowError';\n this.code = code;\n this.context = Object.freeze({ ...context });\n // Ensure stack traces in V8/Node.js point to the actual throw site,\n // not to the base Error constructor internals.\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n\n toJSON(): SerializedError {\n const payload: SerializedError = {\n name: this.name,\n code: this.code,\n message: this.message,\n };\n if (Object.keys(this.context).length > 0) payload.context = this.context;\n const cause = serializeCause((this as { cause?: unknown }).cause);\n if (cause) payload.cause = cause;\n if (shouldExposeStack() && this.stack) payload.stack = this.stack;\n return payload;\n }\n}\n\n/**\n * Rebuild an {@link OctoFlowError} from a {@link SerializedError} payload.\n * Falls back to the generic base class when the `code` is unknown (never\n * throws \u2014 callers prefer a best-effort reconstruction over an exception).\n */\nexport function deserializeError(payload: SerializedError): OctoFlowError {\n const factory = ERROR_CLASS_BY_CODE.get(payload.code);\n const err = factory\n ? factory(payload)\n : new OctoFlowError(payload.code, payload.message, payload.context ?? {});\n if (!factory) err.name = payload.name;\n if (payload.stack) err.stack = payload.stack;\n return err;\n}\n", "import { ctxString, OctoFlowError, registerErrorClass } from './base.js';\n\n/** Thrown when an approval is not found in the approval store. */\nexport class ApprovalNotFoundError extends OctoFlowError {\n constructor(approvalId: string) {\n super('APPROVAL_NOT_FOUND', `Approval not found: \"${approvalId}\"`, {\n approvalId,\n });\n this.name = 'ApprovalNotFoundError';\n }\n}\nregisterErrorClass(\n 'APPROVAL_NOT_FOUND',\n (p) => new ApprovalNotFoundError(ctxString(p.context, 'approvalId'))\n);\n\n/** Thrown when an approval state transition is invalid. */\nexport class ApprovalStateError extends OctoFlowError {\n constructor(approvalId: string, currentStatus: string, targetStatus: string) {\n super(\n 'APPROVAL_STATE_ERROR',\n `Cannot transition approval \"${approvalId}\" from \"${currentStatus}\" to \"${targetStatus}\".`,\n { approvalId, currentStatus, targetStatus }\n );\n this.name = 'ApprovalStateError';\n }\n}\nregisterErrorClass(\n 'APPROVAL_STATE_ERROR',\n (p) =>\n new ApprovalStateError(\n ctxString(p.context, 'approvalId'),\n ctxString(p.context, 'currentStatus'),\n ctxString(p.context, 'targetStatus')\n )\n);\n\n/**\n * Thrown when an approval `update` is rejected because the row's status\n * changed between the read and the write \u2014 i.e., another resolver won the\n * race. Retry by re-reading the approval.\n */\nexport class ApprovalConcurrencyError extends OctoFlowError {\n constructor(\n approvalId: string,\n expectedStatus: string,\n actualStatus: string\n ) {\n super(\n 'APPROVAL_CONCURRENCY_ERROR',\n `Approval \"${approvalId}\" changed underneath us \u2014 expected status \"${expectedStatus}\", found \"${actualStatus}\".`,\n { approvalId, expectedStatus, actualStatus }\n );\n this.name = 'ApprovalConcurrencyError';\n }\n}\nregisterErrorClass(\n 'APPROVAL_CONCURRENCY_ERROR',\n (p) =>\n new ApprovalConcurrencyError(\n ctxString(p.context, 'approvalId'),\n ctxString(p.context, 'expectedStatus'),\n ctxString(p.context, 'actualStatus')\n )\n);\n", "import {\n ctxNumber,\n ctxString,\n OctoFlowError,\n registerErrorClass,\n} from './base.js';\n\n/** Thrown when a task is not found, or does not belong to the caller's context/tenant. */\nexport class TaskNotFoundError extends OctoFlowError {\n constructor(taskId: string, reason?: string) {\n super(\n 'TASK_NOT_FOUND',\n reason\n ? `Task not found: \"${taskId}\" \u2014 ${reason}`\n : `Task not found: \"${taskId}\"`,\n { taskId, ...(reason ? { reason } : {}) }\n );\n this.name = 'TaskNotFoundError';\n }\n}\nregisterErrorClass(\n 'TASK_NOT_FOUND',\n (p) =>\n new TaskNotFoundError(\n ctxString(p.context, 'taskId'),\n ctxString(p.context, 'reason') || undefined\n )\n);\n\n/** Thrown when an operation is attempted on a task that has already reached a terminal state. */\nexport class TaskTerminalError extends OctoFlowError {\n constructor(taskId: string, state: string) {\n super(\n 'TASK_TERMINAL',\n `Task \"${taskId}\" is already terminal (state: ${state}).`,\n { taskId, state }\n );\n this.name = 'TaskTerminalError';\n }\n}\nregisterErrorClass(\n 'TASK_TERMINAL',\n (p) =>\n new TaskTerminalError(\n ctxString(p.context, 'taskId'),\n ctxString(p.context, 'state')\n )\n);\n\n/** Thrown when a context's task queue is at capacity and a new task is rejected. */\nexport class QueueFullError extends OctoFlowError {\n constructor(contextId: string, depth: number) {\n super(\n 'QUEUE_FULL',\n `Context \"${contextId}\" queue is full (depth: ${depth}). Apply backpressure.`,\n { contextId, depth }\n );\n this.name = 'QueueFullError';\n }\n}\nregisterErrorClass(\n 'QUEUE_FULL',\n (p) =>\n new QueueFullError(\n ctxString(p.context, 'contextId'),\n ctxNumber(p.context, 'depth')\n )\n);\n\n/** Thrown when a session ID is not found in the session store. */\nexport class SessionNotFoundError extends OctoFlowError {\n constructor(sessionId: string) {\n super('SESSION_NOT_FOUND', `Session not found: \"${sessionId}\"`, {\n sessionId,\n });\n this.name = 'SessionNotFoundError';\n }\n}\nregisterErrorClass(\n 'SESSION_NOT_FOUND',\n (p) => new SessionNotFoundError(ctxString(p.context, 'sessionId'))\n);\n\n/** Thrown when a context's cost budget hard limit has been reached. */\nexport class BudgetExhaustedError extends OctoFlowError {\n readonly contextId: string;\n readonly spentUsd: number;\n readonly limitUsd: number;\n\n constructor(contextId: string, spentUsd: number, limitUsd: number) {\n super(\n 'BUDGET_EXHAUSTED',\n `Context \"${contextId}\" budget exhausted: $${spentUsd.toFixed(4)} spent of $${limitUsd.toFixed(4)} limit.`,\n { contextId, spentUsd, limitUsd }\n );\n this.name = 'BudgetExhaustedError';\n this.contextId = contextId;\n this.spentUsd = spentUsd;\n this.limitUsd = limitUsd;\n }\n}\nregisterErrorClass(\n 'BUDGET_EXHAUSTED',\n (p) =>\n new BudgetExhaustedError(\n ctxString(p.context, 'contextId'),\n ctxNumber(p.context, 'spentUsd'),\n ctxNumber(p.context, 'limitUsd')\n )\n);\n", "/**\n * Wrap a synchronous function as a `Promise`.\n *\n * Use when implementing an async interface with a sync backend (in-memory\n * stores, synchronous drivers like better-sqlite3) \u2014 preserves the invariant\n * that errors surface as promise rejections instead of synchronous throws.\n */\nexport function syncPromise<T>(fn: () => T): Promise<T> {\n try {\n return Promise.resolve(fn());\n } catch (err) {\n return Promise.reject(err instanceof Error ? err : new Error(String(err)));\n }\n}\n", "export function nowIso(): string {\n return new Date().toISOString();\n}\n\nexport function sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n", "import type {\n Approval,\n ApprovalChangeEvent,\n ListAllApprovalsOptions,\n} from './types.js';\n\ntype ApprovalChangeListener = (event: ApprovalChangeEvent) => void;\n\ntype Unsubscribe = () => void;\n\nexport function createApprovalChangeSubscription(\n register: (listener: ApprovalChangeListener) => Unsubscribe,\n options: ListAllApprovalsOptions = {}\n): AsyncIterable<ApprovalChangeEvent> {\n return {\n [Symbol.asyncIterator](): AsyncIterator<ApprovalChangeEvent> {\n const queue: ApprovalChangeEvent[] = [];\n const waiters: Array<\n (result: IteratorResult<ApprovalChangeEvent>) => void\n > = [];\n let closed = false;\n const unsubscribe = register((event) => {\n if (!matchesApproval(event.approval, options)) return;\n const waiter = waiters.shift();\n if (waiter) {\n waiter({ done: false, value: event });\n } else {\n queue.push(event);\n }\n });\n\n return {\n next(): Promise<IteratorResult<ApprovalChangeEvent>> {\n if (queue.length > 0) {\n return Promise.resolve({ done: false, value: queue.shift()! });\n }\n if (closed) return Promise.resolve({ done: true, value: undefined });\n return new Promise((resolve) => waiters.push(resolve));\n },\n return(): Promise<IteratorResult<ApprovalChangeEvent>> {\n closed = true;\n unsubscribe();\n while (waiters.length > 0) {\n waiters.shift()!({ done: true, value: undefined });\n }\n return Promise.resolve({ done: true, value: undefined });\n },\n };\n },\n };\n}\n\nexport function matchesApproval(\n approval: Approval,\n options: ListAllApprovalsOptions = {}\n): boolean {\n if (options.contextId && approval.contextId !== options.contextId) {\n return false;\n }\n if (options.status && approval.status !== options.status) return false;\n if (options.tenant !== undefined && approval.tenant !== options.tenant) {\n return false;\n }\n if (options.taskId && approval.taskId !== options.taskId) return false;\n if (options.since && approval.updatedAt < options.since) return false;\n return true;\n}\n", "import crypto from 'node:crypto';\n\nimport { syncPromise } from '../../../utils/sync-promise.js';\nimport { nowIso } from '../../../utils/time.js';\nimport type {\n CreateSessionInput,\n ListSessionsOptions,\n SessionListResult,\n SessionRecord,\n SessionStore,\n} from './types.js';\n\nexport class InMemorySessionStore implements SessionStore {\n private readonly sessions = new Map<string, SessionRecord>();\n private readonly contextIndex = new Map<string, string>();\n private gcTimer?: ReturnType<typeof setInterval>;\n\n private contextKey(contextId: string, tenant?: string): string {\n return `${tenant ?? ''}\\u0000${contextId}`;\n }\n\n createSession(input: CreateSessionInput): Promise<SessionRecord> {\n return syncPromise(() => {\n const key = this.contextKey(input.contextId, input.tenant);\n if (this.contextIndex.has(key)) {\n const existing = this.sessions.get(this.contextIndex.get(key)!);\n if (existing) {\n return { ...existing };\n }\n }\n\n const now = nowIso();\n const record: SessionRecord = {\n sessionId: crypto.randomUUID(),\n contextId: input.contextId,\n tenant: input.tenant,\n currentBackend: input.currentBackend,\n cliSessionId: input.cliSessionId,\n switchCount: 0,\n backendHistory: [\n {\n backend: input.currentBackend,\n cliSessionId: input.cliSessionId,\n switchedAt: now,\n reason: 'initial',\n },\n ],\n policySnapshot: input.policySnapshot,\n priority: input.priority,\n model: input.model,\n systemPrompt: input.systemPrompt,\n createdAt: now,\n lastModified: now,\n };\n\n this.sessions.set(record.sessionId, record);\n this.contextIndex.set(key, record.sessionId);\n return { ...record };\n });\n }\n\n getSession(sessionId: string): Promise<SessionRecord | undefined> {\n return syncPromise(() => {\n const record = this.sessions.get(sessionId);\n return record ? { ...record } : undefined;\n });\n }\n\n getSessionByContext(\n contextId: string,\n tenant?: string\n ): Promise<SessionRecord | undefined> {\n return syncPromise(() => {\n const key = this.contextKey(contextId, tenant);\n const sessionId = this.contextIndex.get(key);\n if (!sessionId) {\n return undefined;\n }\n const record = this.sessions.get(sessionId);\n return record ? { ...record } : undefined;\n });\n }\n\n updateSession(\n sessionId: string,\n update: Partial<SessionRecord>\n ): Promise<SessionRecord> {\n return syncPromise(() => {\n const existing = this.sessions.get(sessionId);\n if (!existing) {\n throw new Error(`Session not found: ${sessionId}`);\n }\n\n const updated: SessionRecord = {\n ...existing,\n ...update,\n sessionId: existing.sessionId,\n contextId: existing.contextId,\n createdAt: existing.createdAt,\n lastModified: nowIso(),\n };\n\n this.sessions.set(sessionId, updated);\n return { ...updated };\n });\n }\n\n listSessions(options: ListSessionsOptions = {}): Promise<SessionListResult> {\n return syncPromise(() => {\n const limit = Math.max(1, options.limit ?? 50);\n const offset = Math.max(\n 0,\n Number.parseInt(options.cursor ?? '0', 10) || 0\n );\n\n let all = [...this.sessions.values()];\n if (options.tenant !== undefined) {\n all = all.filter((s) => s.tenant === options.tenant);\n }\n all.sort((a, b) => b.lastModified.localeCompare(a.lastModified));\n\n const page = all.slice(offset, offset + limit);\n return {\n sessions: page.map((s) => ({ ...s })),\n nextCursor: offset + limit < all.length ? String(offset + limit) : null,\n pageSize: limit,\n totalSize: all.length,\n };\n });\n }\n\n deleteSession(sessionId: string): Promise<boolean> {\n return syncPromise(() => {\n const existing = this.sessions.get(sessionId);\n if (!existing) {\n return false;\n }\n this.sessions.delete(sessionId);\n this.contextIndex.delete(\n this.contextKey(existing.contextId, existing.tenant)\n );\n return true;\n });\n }\n\n deleteExpired(cutoffIso: string): Promise<number> {\n return syncPromise(() => {\n let count = 0;\n for (const [sessionId, record] of this.sessions) {\n if (record.lastModified < cutoffIso) {\n this.sessions.delete(sessionId);\n this.contextIndex.delete(\n this.contextKey(record.contextId, record.tenant)\n );\n count++;\n }\n }\n return count;\n });\n }\n\n startGc(ttlMs: number, intervalMs: number): void {\n this.stopGc();\n this.gcTimer = setInterval(() => {\n const cutoff = new Date(Date.now() - ttlMs).toISOString();\n this.deleteExpired(cutoff).catch((err: unknown) => {\n process.stderr.write(\n `[octoflow] session GC error: ${err instanceof Error ? err.message : String(err)}\\n`\n );\n });\n }, intervalMs);\n if (\n this.gcTimer &&\n typeof this.gcTimer === 'object' &&\n 'unref' in this.gcTimer\n ) {\n this.gcTimer.unref();\n }\n }\n\n private stopGc(): void {\n if (this.gcTimer !== undefined) {\n clearInterval(this.gcTimer);\n this.gcTimer = undefined;\n }\n }\n\n close(): Promise<void> {\n return syncPromise(() => {\n this.stopGc();\n });\n }\n}\n", "import { homedir } from 'node:os';\nimport path from 'node:path';\n\nexport const OCTOFLOW_HOME_ENV = 'OCTOFLOW_HOME';\n\nexport type OctoFlowDbName =\n | 'approvals'\n | 'brain'\n | 'memory'\n | 'session-memory'\n | 'sessions'\n | 'tasks';\n\nexport interface OctoFlowHomeOptions {\n cwd?: string;\n env?: NodeJS.ProcessEnv;\n home?: string;\n}\n\nconst DB_FILES: Record<OctoFlowDbName, string> = {\n approvals: 'approvals.sqlite',\n brain: 'brain.sqlite',\n memory: 'memory.sqlite',\n 'session-memory': 'session-memory.sqlite',\n sessions: 'sessions.sqlite',\n tasks: 'tasks.sqlite',\n};\n\nexport function expandUserPath(\n value: string,\n options: OctoFlowHomeOptions = {}\n): string {\n const home = options.home ?? homedir();\n if (value === '~') return home;\n if (value.startsWith('~/') || value.startsWith('~\\\\')) {\n return path.join(home, value.slice(2));\n }\n return value;\n}\n\nexport function resolveUserPath(\n value: string,\n options: OctoFlowHomeOptions = {}\n): string {\n const cwd = options.cwd ?? process.cwd();\n return path.resolve(cwd, expandUserPath(value, options));\n}\n\nexport function getOctoFlowHome(options: OctoFlowHomeOptions = {}): string {\n const configured = (options.env ?? process.env)[OCTOFLOW_HOME_ENV];\n if (configured && configured.trim().length > 0) {\n return resolveUserPath(configured, options);\n }\n return path.join(options.home ?? homedir(), '.octoflow');\n}\n\nexport function getOctoFlowPath(\n segments: string[] = [],\n options: OctoFlowHomeOptions = {}\n): string {\n return path.join(getOctoFlowHome(options), ...segments);\n}\n\nexport function getOctoFlowConfigPath(\n options: OctoFlowHomeOptions = {}\n): string {\n return getOctoFlowPath(['config.json'], options);\n}\n\nexport function getOctoFlowMcpConfigPath(\n options: OctoFlowHomeOptions = {}\n): string {\n return getOctoFlowPath(['mcp.json'], options);\n}\n\nexport function getOctoFlowSkillsDir(\n options: OctoFlowHomeOptions = {}\n): string {\n return getOctoFlowPath(['skills'], options);\n}\n\nexport function getOctoFlowAuthDir(options: OctoFlowHomeOptions = {}): string {\n return getOctoFlowPath(['auth'], options);\n}\n\nexport function getOctoFlowDbDir(options: OctoFlowHomeOptions = {}): string {\n return getOctoFlowPath(['db'], options);\n}\n\nexport function getOctoFlowDbPath(\n name: OctoFlowDbName,\n options: OctoFlowHomeOptions = {}\n): string {\n return path.join(getOctoFlowDbDir(options), DB_FILES[name]);\n}\n", "export class AsyncEventQueue<T> implements AsyncIterator<T>, AsyncIterable<T> {\n private closed = false;\n private readonly items: T[] = [];\n private readonly waiters: Array<(value: IteratorResult<T>) => void> = [];\n\n push(value: T): void {\n if (this.closed) return;\n const waiter = this.waiters.shift();\n if (waiter) {\n waiter({ value, done: false });\n return;\n }\n this.items.push(value);\n }\n\n next(): Promise<IteratorResult<T>> {\n if (this.items.length > 0) {\n return Promise.resolve({ value: this.items.shift()!, done: false });\n }\n if (this.closed) {\n return Promise.resolve({ value: undefined, done: true });\n }\n return new Promise((resolve) => {\n this.waiters.push(resolve);\n });\n }\n\n return(): Promise<IteratorResult<T>> {\n this.close();\n return Promise.resolve({ value: undefined, done: true });\n }\n\n close(): void {\n if (this.closed) return;\n this.closed = true;\n while (this.waiters.length > 0) {\n this.waiters.shift()!({ value: undefined, done: true });\n }\n }\n\n [Symbol.asyncIterator](): AsyncIterator<T> {\n return this;\n }\n}\n", "import crypto from 'node:crypto';\n\nimport type {\n BridgeConversation,\n BridgeConversationSnapshotOptions,\n BridgeListConversationsResult,\n BridgeSubscriptionEvent,\n BridgeTaskSnapshotOptions,\n} from '../../../domain/bridge-api.js';\nimport type { BackendName } from '../../../domain/core-client.js';\nimport type {\n Artifact,\n BridgeMetadata,\n Message,\n Task,\n TaskArtifactUpdateEvent,\n TaskState,\n TaskStatusUpdateEvent,\n} from '../../../domain/core-task.js';\nimport { TaskNotFoundError } from '../../../domain/errors/index.js';\nimport { cloneValue } from '../../../utils/clone.js';\nimport { mergeMetadata } from '../../../utils/metadata.js';\nimport { nowIso } from '../../../utils/time.js';\nimport type {\n AppendArtifactInput,\n CreateTaskInput,\n ResumeTaskInput,\n TaskRecord,\n UpdateStatusInput,\n} from './types.js';\n\nfunction coalesceArtifactParts(parts: Artifact['parts']): Artifact['parts'] {\n const merged: Artifact['parts'] = [];\n\n for (const part of parts) {\n const nextPart = cloneValue(part);\n const current = merged[merged.length - 1];\n\n if (\n current?.kind === 'text' &&\n nextPart.kind === 'text' &&\n current.metadata === undefined &&\n nextPart.metadata === undefined\n ) {\n current.text += nextPart.text;\n continue;\n }\n\n merged.push(nextPart);\n }\n\n return merged;\n}\n\nexport function isTerminalTaskState(state: TaskState): boolean {\n return (\n state === 'completed' ||\n state === 'failed' ||\n state === 'canceled' ||\n state === 'rejected'\n );\n}\n\nexport function createTaskRecord(input: CreateTaskInput): TaskRecord {\n const taskId = input.taskId ?? crypto.randomUUID();\n const createdAt = input.createdAt ?? nowIso();\n const task: Task = {\n id: taskId,\n kind: 'task',\n contextId: input.contextId,\n createdAt,\n lastModified: createdAt,\n history: limitHistory([input.message], input.historyLength),\n artifacts: [],\n metadata: withBridgeMetadata(input.metadata, input.bridgeMetadata),\n status: {\n state: 'submitted',\n timestamp: createdAt,\n },\n tenant: input.tenant,\n };\n\n return {\n task,\n updatedAt: Date.now(),\n };\n}\n\nexport function resumeTaskRecord(\n record: TaskRecord,\n input: ResumeTaskInput\n): TaskRecord {\n const nextTask = cloneValue(record.task);\n if (input.tenant !== undefined && nextTask.tenant !== input.tenant) {\n throw new TaskNotFoundError(\n input.taskId,\n `does not belong to tenant ${input.tenant}`\n );\n }\n\n const timestamp = nowIso();\n nextTask.history = limitHistory(\n [...(nextTask.history ?? []), cloneValue(input.message)],\n input.historyLength\n );\n nextTask.metadata = withBridgeMetadata(\n mergeMetadata(nextTask.metadata, input.metadata),\n input.bridgeMetadata\n );\n nextTask.status = {\n state: 'submitted',\n timestamp,\n };\n nextTask.lastModified = timestamp;\n\n return {\n task: nextTask,\n updatedAt: Date.now(),\n };\n}\n\nexport function updateBridgeMetadataRecord(\n record: TaskRecord,\n bridgeMetadata: BridgeMetadata['bridge']\n): TaskRecord {\n const nextTask = cloneValue(record.task);\n nextTask.metadata = withBridgeMetadata(nextTask.metadata, bridgeMetadata);\n nextTask.lastModified = nowIso();\n\n return {\n task: nextTask,\n updatedAt: Date.now(),\n };\n}\n\nexport function updateStatusRecord(\n record: TaskRecord,\n input: UpdateStatusInput\n): { event: TaskStatusUpdateEvent; record: TaskRecord } {\n const nextTask = cloneValue(record.task);\n nextTask.status = cloneValue(input.status);\n nextTask.metadata = mergeMetadata(nextTask.metadata, input.metadata);\n nextTask.lastModified = input.status.timestamp ?? nowIso();\n\n const nextRecord: TaskRecord = {\n task: nextTask,\n updatedAt: Date.now(),\n };\n\n const event: TaskStatusUpdateEvent = {\n kind: 'status-update',\n taskId: nextTask.id,\n contextId: nextTask.contextId,\n status: cloneValue(input.status),\n final: input.final ?? isTerminalTaskState(input.status.state),\n metadata: input.metadata,\n };\n\n return {\n record: nextRecord,\n event,\n };\n}\n\nexport function appendArtifactRecord(\n record: TaskRecord,\n input: AppendArtifactInput\n): { event: TaskArtifactUpdateEvent; record: TaskRecord } {\n const nextTask = cloneValue(record.task);\n const artifacts = nextTask.artifacts ?? [];\n const index = artifacts.findIndex(\n (artifact) => artifact.artifactId === input.artifact.artifactId\n );\n const incomingArtifact: Artifact = {\n ...cloneValue(input.artifact),\n parts: coalesceArtifactParts(input.artifact.parts),\n };\n\n if (index >= 0 && input.append) {\n const existing = artifacts[index]!;\n artifacts[index] = {\n ...existing,\n ...incomingArtifact,\n parts: coalesceArtifactParts([\n ...existing.parts,\n ...incomingArtifact.parts,\n ]),\n metadata: mergeMetadata(existing.metadata, incomingArtifact.metadata),\n };\n } else if (index >= 0) {\n artifacts[index] = incomingArtifact;\n } else {\n artifacts.push(incomingArtifact);\n }\n\n const timestamp = nowIso();\n nextTask.artifacts = artifacts;\n nextTask.metadata = mergeMetadata(nextTask.metadata, input.metadata);\n nextTask.lastModified = timestamp;\n\n const nextRecord: TaskRecord = {\n task: nextTask,\n updatedAt: Date.now(),\n };\n\n const resultArtifact =\n index >= 0 ? artifacts[index]! : artifacts[artifacts.length - 1]!;\n const event: TaskArtifactUpdateEvent = {\n kind: 'artifact-update',\n taskId: nextTask.id,\n contextId: nextTask.contextId,\n artifact: cloneValue(resultArtifact),\n append: input.append,\n lastChunk: input.lastChunk,\n metadata: input.metadata,\n };\n\n return {\n record: nextRecord,\n event,\n };\n}\n\nexport function appendHistoryRecord(\n record: TaskRecord,\n message: Message,\n historyLength?: number\n): TaskRecord {\n const nextTask = cloneValue(record.task);\n nextTask.history = limitHistory(\n [...(nextTask.history ?? []), cloneValue(message)],\n historyLength\n );\n nextTask.lastModified = nowIso();\n\n return {\n task: nextTask,\n updatedAt: Date.now(),\n };\n}\n\nexport function projectTask(\n task: Task,\n options: BridgeTaskSnapshotOptions\n): Task {\n const projected = cloneValue(task);\n\n if (options.historyLength != null) {\n projected.history = limitHistory(\n projected.history ?? [],\n options.historyLength\n );\n }\n\n if (options.includeArtifacts === false) {\n delete projected.artifacts;\n }\n\n return projected;\n}\n\nexport function cloneTaskResult(task: Task): Task {\n return cloneValue(task);\n}\n\nexport function cloneEventResult<T extends BridgeSubscriptionEvent>(\n event: T\n): T {\n return cloneValue(event);\n}\n\nconst TASK_EVENT_CURSOR_PREFIX = 'e:';\nconst TASK_EVENT_CURSOR_RE = /^e:(\\d+)$/;\n\nexport function encodeTaskEventCursor(sequence: number): string {\n return `${TASK_EVENT_CURSOR_PREFIX}${Math.max(0, Math.trunc(sequence))}`;\n}\n\nexport function decodeTaskEventCursor(\n cursor: string | undefined\n): number | undefined {\n if (cursor == null) return undefined;\n\n if (/^\\d+$/.test(cursor)) {\n return Number.parseInt(cursor, 10);\n }\n\n const match = TASK_EVENT_CURSOR_RE.exec(cursor);\n if (!match?.[1]) {\n throw new Error(`Invalid task event cursor: ${cursor}`);\n }\n\n return Number.parseInt(match[1], 10);\n}\n\nexport function createListConversationsResult(\n input: BridgeListConversationsResult\n): BridgeListConversationsResult {\n return cloneValue(input);\n}\n\nexport function buildConversationFromTasks(\n tasks: Task[],\n options: BridgeConversationSnapshotOptions = {}\n): BridgeConversation {\n if (tasks.length === 0) {\n throw new Error('Cannot build a conversation without tasks');\n }\n\n const sortedTasks = [...tasks].sort(compareTasksByCreatedAt);\n const projectedTasks = sortedTasks.map((task) => projectTask(task, options));\n const latestTask = projectedTasks[projectedTasks.length - 1];\n\n const history =\n options.includeHistory === false\n ? undefined\n : limitHistory(\n collectConversationMessages(sortedTasks),\n options.historyLength\n );\n\n const firstTask = sortedTasks[0]!;\n return {\n id: firstTask.contextId,\n kind: 'conversation',\n contextId: firstTask.contextId,\n tenant: firstTask.tenant,\n createdAt: firstTask.createdAt,\n lastModified: latestTask?.lastModified,\n latestTask,\n metadata: latestTask?.metadata,\n taskCount: projectedTasks.length,\n backends: collectConversationBackends(sortedTasks),\n ...(history !== undefined ? { history } : {}),\n ...(options.includeTasks === false ? {} : { tasks: projectedTasks }),\n };\n}\n\nfunction withBridgeMetadata(\n metadata: Record<string, unknown> | undefined,\n bridgeMetadata: BridgeMetadata['bridge'] | undefined\n): Record<string, unknown> | undefined {\n if (!metadata && !bridgeMetadata) return undefined;\n const existing = metadata?.bridge;\n return {\n ...(metadata ?? {}),\n ...(bridgeMetadata\n ? {\n bridge:\n existing != null && typeof existing === 'object'\n ? { ...existing, ...bridgeMetadata }\n : bridgeMetadata,\n }\n : {}),\n };\n}\n\nfunction limitHistory(history: Message[], historyLength?: number): Message[] {\n if (historyLength == null || historyLength < 0) {\n return cloneValue(history);\n }\n return cloneValue(history.slice(-historyLength));\n}\n\nfunction compareTasksByCreatedAt(left: Task, right: Task): number {\n const leftTime = Date.parse(left.createdAt ?? left.lastModified ?? '');\n const rightTime = Date.parse(right.createdAt ?? right.lastModified ?? '');\n\n if (Number.isNaN(leftTime) && Number.isNaN(rightTime)) {\n return 0;\n }\n if (Number.isNaN(leftTime)) return -1;\n if (Number.isNaN(rightTime)) return 1;\n return leftTime - rightTime;\n}\n\nfunction collectConversationMessages(tasks: Task[]): Message[] {\n const seen = new Set<string>();\n const messages: Message[] = [];\n\n for (const task of tasks) {\n for (const message of task.history ?? []) {\n pushUniqueMessage(messages, seen, message);\n }\n\n if (task.status.message) {\n pushUniqueMessage(messages, seen, task.status.message);\n }\n }\n\n return messages;\n}\n\nfunction collectConversationBackends(tasks: Task[]): BackendName[] {\n const seen = new Set<BackendName>();\n const backends: BackendName[] = [];\n\n for (const task of tasks) {\n const backend = readTaskBackend(task);\n if (!backend || seen.has(backend)) continue;\n seen.add(backend);\n backends.push(backend);\n }\n\n return backends;\n}\n\nfunction pushUniqueMessage(\n messages: Message[],\n seen: Set<string>,\n message: Message\n): void {\n if (message.messageId && seen.has(message.messageId)) {\n return;\n }\n\n if (message.messageId) {\n seen.add(message.messageId);\n }\n messages.push(cloneValue(message));\n}\n\nfunction readTaskBackend(task: Task): BackendName | null {\n const bridge = task.metadata?.bridge;\n if (!bridge || typeof bridge !== 'object') {\n return null;\n }\n\n const backend = (bridge as { backend?: unknown }).backend;\n return typeof backend === 'string' ? (backend as BackendName) : null;\n}\n", "export function cloneValue<T>(value: T): T {\n if (typeof structuredClone === 'function') {\n return structuredClone(value);\n }\n return JSON.parse(JSON.stringify(value)) as T;\n}\n", "export function mergeMetadata(\n left: Record<string, unknown> | undefined,\n right: Record<string, unknown> | undefined\n): Record<string, unknown> | undefined {\n if (!left && !right) return undefined;\n const merged = { ...(left ?? {}), ...(right ?? {}) };\n if (left?.bridge && right?.bridge) {\n merged.bridge = { ...left.bridge, ...right.bridge };\n }\n return merged;\n}\n", "import type {\n BridgeListConversationsOptions,\n BridgeListConversationsResult,\n BridgeListTasksOptions,\n BridgeListTasksResult,\n} from '../../../domain/bridge-api.js';\nimport {\n buildConversationFromTasks,\n createListConversationsResult,\n projectTask,\n} from './shared.js';\nimport type { TaskRecord } from './types.js';\n\nexport function listInMemoryTasks(\n recordsInput: Iterable<TaskRecord>,\n input: BridgeListTasksOptions = {}\n): BridgeListTasksResult {\n const states =\n input.state == null\n ? null\n : new Set(Array.isArray(input.state) ? input.state : [input.state]);\n const limit = Math.max(1, input.limit ?? 50);\n const offset = Math.max(0, Number.parseInt(input.cursor ?? '0', 10) || 0);\n const statusTimestampAfter =\n input.statusTimestampAfter == null\n ? Number.NaN\n : Date.parse(input.statusTimestampAfter);\n\n const records = [...recordsInput]\n .filter(\n (record) => !input.contextId || record.task.contextId === input.contextId\n )\n .filter(\n (record) =>\n input.tenant === undefined || record.task.tenant === input.tenant\n )\n .filter((record) => !states || states.has(record.task.status.state))\n .filter(\n (record) =>\n Number.isNaN(statusTimestampAfter) ||\n (typeof record.task.status.timestamp === 'string' &&\n Date.parse(record.task.status.timestamp) >= statusTimestampAfter)\n )\n .filter(\n (record) =>\n !input.packId || record.task.metadata?.bridge?.packId === input.packId\n )\n .filter(\n (record) =>\n !input.parentTaskId ||\n record.task.metadata?.bridge?.parentTaskId === input.parentTaskId\n )\n .sort((left, right) => right.updatedAt - left.updatedAt);\n\n return {\n tasks: records\n .slice(offset, offset + limit)\n .map((record) => projectTask(record.task, input)),\n nextCursor: offset + limit < records.length ? String(offset + limit) : null,\n pageSize: limit,\n totalSize: records.length,\n };\n}\n\nexport function listInMemoryConversations(\n recordsInput: Iterable<TaskRecord>,\n input: BridgeListConversationsOptions = {}\n): BridgeListConversationsResult {\n const limit = Math.max(1, input.limit ?? 50);\n const offset = Math.max(0, Number.parseInt(input.cursor ?? '0', 10) || 0);\n const statusTimestampAfter =\n input.statusTimestampAfter == null\n ? Number.NaN\n : Date.parse(input.statusTimestampAfter);\n const grouped = new Map<string, TaskRecord[]>();\n\n for (const record of recordsInput) {\n if (input.tenant !== undefined && record.task.tenant !== input.tenant) {\n continue;\n }\n if (!Number.isNaN(statusTimestampAfter)) {\n const taskTimestamp = record.task.status.timestamp;\n if (\n typeof taskTimestamp !== 'string' ||\n Date.parse(taskTimestamp) < statusTimestampAfter\n ) {\n continue;\n }\n }\n const key = `${record.task.tenant ?? ''}\u0000${record.task.contextId}`;\n const existing = grouped.get(key);\n if (existing) existing.push(record);\n else grouped.set(key, [record]);\n }\n\n const maxUpdatedAt = (records: TaskRecord[]): number =>\n records.reduce((m, r) => (r.updatedAt > m ? r.updatedAt : m), 0);\n const ordered = [...grouped.values()]\n .map((records) => ({ records, max: maxUpdatedAt(records) }))\n .sort((a, b) => b.max - a.max)\n .map(({ records }) => records);\n const conversations = ordered.slice(offset, offset + limit).map((records) =>\n buildConversationFromTasks(\n records.map((record) => record.task),\n {\n ...input,\n includeHistory: input.includeHistory ?? false,\n includeTasks: input.includeTasks ?? false,\n }\n )\n );\n\n return createListConversationsResult({\n conversations,\n nextCursor: offset + limit < ordered.length ? String(offset + limit) : null,\n pageSize: limit,\n totalSize: ordered.length,\n });\n}\n", "import type {\n BridgeConversation,\n BridgeConversationSnapshotOptions,\n BridgeListConversationsOptions,\n BridgeListConversationsResult,\n BridgeListTasksOptions,\n BridgeListTasksResult,\n BridgeSubscriptionEvent,\n BridgeTaskSnapshotOptions,\n} from '../../../domain/bridge-api.js';\nimport type {\n BridgeMetadata,\n Message,\n Task,\n TaskArtifactUpdateEvent,\n TaskStatusUpdateEvent,\n} from '../../../domain/core-task.js';\nimport { TaskNotFoundError } from '../../../domain/errors/index.js';\nimport { AsyncEventQueue } from './async-event-queue.js';\nimport {\n listInMemoryConversations,\n listInMemoryTasks,\n} from './in-memory-listing.js';\nimport {\n appendArtifactRecord,\n appendHistoryRecord,\n buildConversationFromTasks,\n cloneEventResult,\n cloneTaskResult,\n createTaskRecord,\n decodeTaskEventCursor,\n encodeTaskEventCursor,\n isTerminalTaskState,\n projectTask,\n resumeTaskRecord,\n updateBridgeMetadataRecord,\n updateStatusRecord,\n} from './shared.js';\nimport type {\n AppendArtifactInput,\n CreateTaskInput,\n ResumeTaskInput,\n TaskRecord,\n TaskStore,\n TaskSubscriptionOptions,\n UpdateStatusInput,\n} from './types.js';\n\nexport interface InMemoryTaskStoreOptions {\n /**\n * Maximum number of tasks to retain. When the store exceeds this limit,\n * the oldest terminal (completed / failed / cancelled) tasks are evicted\n * to make room. Live tasks (submitted / working / input-required) are\n * never evicted by this limit. Default: unlimited.\n */\n maxTasks?: number;\n}\n\nexport class InMemoryTaskStore implements TaskStore {\n private readonly checkpointKV = new Map<string, string>();\n private readonly eventHistory = new Map<string, BridgeSubscriptionEvent[]>();\n private readonly eventSequences = new Map<string, number>();\n private readonly tasks = new Map<string, TaskRecord>();\n private readonly subscribers = new Map<\n string,\n Set<AsyncEventQueue<BridgeSubscriptionEvent>>\n >();\n private readonly tickClaims = new Map<string, Set<number>>();\n private readonly maxTasks: number | undefined;\n\n constructor(opts: InMemoryTaskStoreOptions = {}) {\n this.maxTasks = opts.maxTasks;\n }\n\n createTask(input: CreateTaskInput): Promise<Task> {\n const record = createTaskRecord(input);\n this.tasks.set(record.task.id, record);\n this.ensureEventState(record.task.id);\n this.evictTerminalIfOverCap();\n return Promise.resolve(cloneTaskResult(record.task));\n }\n\n private evictTerminalIfOverCap(): void {\n if (this.maxTasks == null || this.tasks.size <= this.maxTasks) return;\n\n for (const [id, rec] of this.tasks) {\n if (this.tasks.size <= this.maxTasks) break;\n if (isTerminalTaskState(rec.task.status.state)) {\n this.tasks.delete(id);\n this.eventHistory.delete(id);\n this.eventSequences.delete(id);\n this.tickClaims.delete(id);\n }\n }\n }\n\n claimTask(taskId: string): Promise<Task | undefined> {\n const record = this.tasks.get(taskId);\n if (!record || record.task.status.state !== 'submitted') {\n return Promise.resolve(undefined);\n }\n\n const next = updateStatusRecord(record, {\n taskId,\n status: { state: 'working' },\n });\n this.tasks.set(taskId, next.record);\n this.publish(\n taskId,\n this.assignEventId(taskId, { kind: 'status-update', event: next.event })\n );\n return Promise.resolve(cloneTaskResult(next.record.task));\n }\n\n resumeTask(input: ResumeTaskInput): Promise<Task> {\n const record = this.getRequiredRecord(input.taskId);\n const nextRecord = resumeTaskRecord(record, input);\n this.tasks.set(input.taskId, nextRecord);\n return Promise.resolve(cloneTaskResult(nextRecord.task));\n }\n\n getTask(\n taskId: string,\n options: BridgeTaskSnapshotOptions = {}\n ): Promise<Task | undefined> {\n const record = this.tasks.get(taskId);\n return Promise.resolve(\n record ? projectTask(record.task, options) : undefined\n );\n }\n\n getConversation(\n contextId: string,\n options: BridgeConversationSnapshotOptions = {}\n ): Promise<BridgeConversation | undefined> {\n const records = [...this.tasks.values()]\n .filter((record) => record.task.contextId === contextId)\n .filter((record) => record.task.tenant === options.tenant)\n .sort((left, right) => left.updatedAt - right.updatedAt);\n\n if (records.length === 0) {\n return Promise.resolve(undefined);\n }\n\n return Promise.resolve(\n buildConversationFromTasks(\n records.map((record) => record.task),\n options\n )\n );\n }\n\n hasTask(taskId: string): Promise<boolean> {\n return Promise.resolve(this.tasks.has(taskId));\n }\n\n listTasks(\n input: BridgeListTasksOptions = {}\n ): Promise<BridgeListTasksResult> {\n return Promise.resolve(listInMemoryTasks(this.tasks.values(), input));\n }\n\n listConversations(\n input: BridgeListConversationsOptions = {}\n ): Promise<BridgeListConversationsResult> {\n return Promise.resolve(\n listInMemoryConversations(this.tasks.values(), input)\n );\n }\n\n updateBridgeMetadata(\n taskId: string,\n bridgeMetadata: BridgeMetadata['bridge']\n ): Promise<Task> {\n const record = this.getRequiredRecord(taskId);\n const nextRecord = updateBridgeMetadataRecord(record, bridgeMetadata);\n this.tasks.set(taskId, nextRecord);\n return Promise.resolve(cloneTaskResult(nextRecord.task));\n }\n\n updateStatus(input: UpdateStatusInput): Promise<TaskStatusUpdateEvent> {\n const record = this.getRequiredRecord(input.taskId);\n const next = updateStatusRecord(record, input);\n this.tasks.set(input.taskId, next.record);\n this.publish(\n input.taskId,\n this.assignEventId(input.taskId, {\n kind: 'status-update',\n event: next.event,\n })\n );\n return Promise.resolve(\n cloneEventResult({ kind: 'status-update', event: next.event }).event\n );\n }\n\n appendArtifact(input: AppendArtifactInput): Promise<TaskArtifactUpdateEvent> {\n const record = this.getRequiredRecord(input.taskId);\n const next = appendArtifactRecord(record, input);\n this.tasks.set(input.taskId, next.record);\n this.publish(\n input.taskId,\n this.assignEventId(input.taskId, {\n kind: 'artifact-update',\n event: next.event,\n })\n );\n return Promise.resolve(\n cloneEventResult({ kind: 'artifact-update', event: next.event }).event\n );\n }\n\n appendHistory(\n taskId: string,\n message: Message,\n historyLength?: number\n ): Promise<Task> {\n const record = this.getRequiredRecord(taskId);\n const nextRecord = appendHistoryRecord(record, message, historyLength);\n this.tasks.set(taskId, nextRecord);\n return Promise.resolve(cloneTaskResult(nextRecord.task));\n }\n\n subscribe(\n taskId: string,\n options: TaskSubscriptionOptions = {}\n ): Promise<AsyncIterable<BridgeSubscriptionEvent>> {\n const record = this.getRequiredRecord(taskId);\n this.ensureEventState(taskId);\n\n const currentSequence = this.eventSequences.get(taskId) ?? 0;\n const after = decodeTaskEventCursor(options.after);\n const replayAfter =\n after == null ? currentSequence : Math.min(after, currentSequence);\n const queue = new AsyncEventQueue<BridgeSubscriptionEvent>();\n queue.push({\n kind: 'task',\n id: encodeTaskEventCursor(currentSequence),\n task: cloneTaskResult(record.task),\n });\n\n const replayEvents = (this.eventHistory.get(taskId) ?? [])\n .filter((event) => (decodeTaskEventCursor(event.id) ?? 0) > replayAfter)\n .map((event) => cloneEventResult(event));\n\n for (const event of replayEvents) {\n queue.push(event);\n }\n\n if (isTerminalTaskState(record.task.status.state)) {\n queue.close();\n return Promise.resolve({\n [Symbol.asyncIterator](): AsyncIterator<BridgeSubscriptionEvent> {\n return queue;\n },\n });\n }\n\n let set = this.subscribers.get(taskId);\n if (!set) {\n set = new Set();\n this.subscribers.set(taskId, set);\n }\n set.add(queue);\n\n const subscribersMap = this.subscribers;\n return Promise.resolve({\n [Symbol.asyncIterator](): AsyncIterator<BridgeSubscriptionEvent> {\n return {\n next: () => queue.next(),\n return: () => {\n queue.close();\n const subs = subscribersMap.get(taskId);\n subs?.delete(queue);\n if (subs && subs.size === 0) {\n subscribersMap.delete(taskId);\n }\n return Promise.resolve({ value: undefined, done: true as const });\n },\n };\n },\n });\n }\n\n putCheckpoint(key: string, data: string): Promise<void> {\n this.checkpointKV.set(key, data);\n return Promise.resolve();\n }\n\n getCheckpoint(key: string): Promise<string | undefined> {\n return Promise.resolve(this.checkpointKV.get(key));\n }\n\n deleteCheckpoint(key: string): Promise<void> {\n this.checkpointKV.delete(key);\n return Promise.resolve();\n }\n\n listCheckpoints(prefix: string): Promise<string[]> {\n const keys = [...this.checkpointKV.keys()].filter((k) =>\n k.startsWith(prefix)\n );\n return Promise.resolve(keys);\n }\n\n claimNextTick(tickAtMs: number, schedulerId = 'default'): Promise<boolean> {\n let claimed = this.tickClaims.get(schedulerId);\n if (!claimed) {\n claimed = new Set();\n this.tickClaims.set(schedulerId, claimed);\n }\n if (claimed.has(tickAtMs)) {\n return Promise.resolve(false);\n }\n claimed.add(tickAtMs);\n return Promise.resolve(true);\n }\n\n close(): Promise<void> {\n for (const subscribers of this.subscribers.values()) {\n for (const subscriber of subscribers) {\n subscriber.close();\n }\n }\n this.subscribers.clear();\n this.checkpointKV.clear();\n this.eventHistory.clear();\n this.eventSequences.clear();\n this.tasks.clear();\n this.tickClaims.clear();\n return Promise.resolve();\n }\n\n private getRequiredRecord(taskId: string): TaskRecord {\n const record = this.tasks.get(taskId);\n if (!record) {\n throw new TaskNotFoundError(taskId);\n }\n return record;\n }\n\n private ensureEventState(taskId: string): void {\n if (!this.eventSequences.has(taskId)) {\n this.eventSequences.set(taskId, 0);\n }\n if (!this.eventHistory.has(taskId)) {\n this.eventHistory.set(taskId, []);\n }\n }\n\n private assignEventId(\n taskId: string,\n event: BridgeSubscriptionEvent\n ): BridgeSubscriptionEvent {\n this.ensureEventState(taskId);\n const nextSequence = (this.eventSequences.get(taskId) ?? 0) + 1;\n this.eventSequences.set(taskId, nextSequence);\n\n const withId = {\n ...event,\n id: encodeTaskEventCursor(nextSequence),\n } as BridgeSubscriptionEvent;\n\n this.eventHistory.get(taskId)!.push(cloneEventResult(withId));\n return withId;\n }\n\n private publish(taskId: string, event: BridgeSubscriptionEvent): void {\n const subscribers = this.subscribers.get(taskId);\n if (!subscribers) return;\n\n for (const subscriber of subscribers) {\n subscriber.push(cloneEventResult(event));\n }\n\n if (\n event.kind === 'status-update' &&\n (event.event.final || isTerminalTaskState(event.event.status.state))\n ) {\n this.subscribers.delete(taskId);\n for (const subscriber of subscribers) {\n subscriber.close();\n }\n }\n }\n}\n", "import { existsSync, mkdirSync } from 'node:fs';\nimport { dirname, isAbsolute, join } from 'node:path';\n\nimport BetterSqlite3 from 'better-sqlite3';\n\nimport type {\n BridgeConversation,\n BridgeConversationSnapshotOptions,\n BridgeListConversationsOptions,\n BridgeListConversationsResult,\n BridgeListTasksOptions,\n BridgeListTasksResult,\n BridgeSubscriptionEvent,\n BridgeTaskSnapshotOptions,\n} from '../../../domain/bridge-api.js';\nimport type {\n BridgeMetadata,\n Message,\n Task,\n TaskArtifactUpdateEvent,\n TaskStatusUpdateEvent,\n} from '../../../domain/core-task.js';\nimport { cloneValue } from '../../../utils/clone.js';\nimport { getOctoFlowDbPath } from '../../../utils/octoflow-home.js';\nimport {\n appendArtifactRecord,\n appendHistoryRecord,\n buildConversationFromTasks,\n cloneTaskResult,\n createTaskRecord,\n projectTask,\n resumeTaskRecord,\n updateBridgeMetadataRecord,\n updateStatusRecord,\n} from './shared.js';\nimport {\n buildSubscription,\n listConversationsQuery,\n readConversationRecords,\n readRecord,\n transactTask,\n writeRecord,\n} from './sqlite-queries.js';\nimport type {\n AppendArtifactInput,\n CreateTaskInput,\n ResumeTaskInput,\n SqliteTaskStoreConfig,\n TaskStore,\n TaskSubscriptionOptions,\n UpdateStatusInput,\n} from './types.js';\n\nconst DEFAULT_BUSY_TIMEOUT_MS = 5_000;\nconst DEFAULT_POLL_INTERVAL_MS = 50;\n\ninterface SqliteTaskStoreOptions extends SqliteTaskStoreConfig {\n path?: string;\n}\n\nexport class SqliteTaskStore implements TaskStore {\n private readonly db: BetterSqlite3.Database;\n private readonly pollIntervalMs: number;\n\n constructor(options: SqliteTaskStoreOptions = {}) {\n const dbPath = options.path ?? SqliteTaskStore.defaultPath();\n\n if (dbPath !== ':memory:') {\n const dir = dirname(\n isAbsolute(dbPath) ? dbPath : join(process.cwd(), dbPath)\n );\n if (!existsSync(dir)) mkdirSync(dir, { recursive: true });\n }\n\n this.db = new BetterSqlite3(dbPath);\n this.pollIntervalMs = options.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS;\n\n this.db.pragma('journal_mode = WAL');\n this.db.pragma('synchronous = NORMAL');\n this.db.pragma(\n `busy_timeout = ${options.busyTimeoutMs ?? DEFAULT_BUSY_TIMEOUT_MS}`\n );\n this.db.pragma('foreign_keys = ON');\n\n this.db.exec(`\n CREATE TABLE IF NOT EXISTS tasks (\n id TEXT PRIMARY KEY,\n context_id TEXT NOT NULL,\n tenant TEXT,\n created_at TEXT NOT NULL DEFAULT '',\n last_modified TEXT NOT NULL DEFAULT '',\n status_state TEXT NOT NULL DEFAULT 'submitted',\n status_timestamp TEXT,\n updated_at INTEGER NOT NULL DEFAULT 0,\n task_json TEXT NOT NULL\n );\n\n CREATE INDEX IF NOT EXISTS idx_tasks_context_id ON tasks(context_id);\n CREATE INDEX IF NOT EXISTS idx_tasks_status_state ON tasks(status_state);\n CREATE INDEX IF NOT EXISTS idx_tasks_tenant ON tasks(tenant);\n CREATE INDEX IF NOT EXISTS idx_tasks_updated_at ON tasks(updated_at);\n\n CREATE TABLE IF NOT EXISTS task_events (\n sequence INTEGER PRIMARY KEY AUTOINCREMENT,\n task_id TEXT NOT NULL,\n event_kind TEXT NOT NULL,\n payload_json TEXT NOT NULL,\n created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY(task_id) REFERENCES tasks(id) ON DELETE CASCADE\n );\n\n CREATE INDEX IF NOT EXISTS idx_task_events_task_id ON task_events(task_id);\n CREATE INDEX IF NOT EXISTS idx_task_events_task_sequence ON task_events(task_id, sequence);\n\n CREATE TABLE IF NOT EXISTS checkpoints (\n key TEXT PRIMARY KEY,\n data TEXT NOT NULL,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n );\n\n CREATE TABLE IF NOT EXISTS scheduler_tick_claims (\n scheduler_id TEXT NOT NULL,\n tick_at_ms INTEGER NOT NULL,\n claimed_at INTEGER NOT NULL,\n PRIMARY KEY (scheduler_id, tick_at_ms)\n );\n `);\n }\n\n createTask(input: CreateTaskInput): Promise<Task> {\n const record = createTaskRecord(input);\n writeRecord(this.db, record);\n return Promise.resolve(cloneTaskResult(record.task));\n }\n\n claimTask(taskId: string): Promise<Task | undefined> {\n const result = transactTask(this.db, taskId, (record) => {\n if (record.task.status.state !== 'submitted') {\n return { record, claimed: false };\n }\n\n const next = updateStatusRecord(record, {\n taskId,\n status: { state: 'working' },\n });\n return {\n record: next.record,\n event: {\n kind: 'status-update',\n event: next.event,\n } satisfies BridgeSubscriptionEvent,\n claimed: true,\n };\n });\n\n if (!result.claimed) {\n return Promise.resolve(undefined);\n }\n\n return Promise.resolve(cloneTaskResult(result.record.task));\n }\n\n resumeTask(input: ResumeTaskInput): Promise<Task> {\n const nextRecord = transactTask(this.db, input.taskId, (record) => ({\n record: resumeTaskRecord(record, input),\n }));\n return Promise.resolve(cloneTaskResult(nextRecord.record.task));\n }\n\n getTask(\n taskId: string,\n options: BridgeTaskSnapshotOptions = {}\n ): Promise<Task | undefined> {\n const record = readRecord(this.db, taskId);\n return Promise.resolve(\n record ? projectTask(record.task, options) : undefined\n );\n }\n\n hasTask(taskId: string): Promise<boolean> {\n const row = this.db.prepare('SELECT 1 FROM tasks WHERE id = ?').get(taskId);\n return Promise.resolve(row != null);\n }\n\n listTasks(\n input: BridgeListTasksOptions = {}\n ): Promise<BridgeListTasksResult> {\n const states =\n input.state == null\n ? []\n : Array.isArray(input.state)\n ? input.state\n : [input.state];\n const limit = Math.max(1, input.limit ?? 50);\n const offset = Math.max(0, Number.parseInt(input.cursor ?? '0', 10) || 0);\n const whereParts: string[] = [];\n const params: Record<string, string | number | null> = { limit, offset };\n\n if (input.contextId) {\n whereParts.push('context_id = @contextId');\n params.contextId = input.contextId;\n }\n if (input.tenant !== undefined) {\n whereParts.push('tenant = @tenant');\n params.tenant = input.tenant;\n }\n if (states.length > 0) {\n const placeholders = states.map((state, index) => {\n const key = `state${index}`;\n params[key] = state;\n return `@${key}`;\n });\n whereParts.push(`status_state IN (${placeholders.join(', ')})`);\n }\n if (input.statusTimestampAfter) {\n whereParts.push('status_timestamp >= @statusTimestampAfter');\n params.statusTimestampAfter = input.statusTimestampAfter;\n }\n\n const whereSql =\n whereParts.length > 0 ? `WHERE ${whereParts.join(' AND ')}` : '';\n type CountRow = { count: number };\n type TaskRow = { task_json: string; updated_at: number };\n const countRow = this.db\n .prepare(`SELECT COUNT(*) AS count FROM tasks ${whereSql}`)\n .get(params) as CountRow;\n const rows = this.db\n .prepare(\n `\n SELECT task_json, updated_at FROM tasks ${whereSql} ORDER BY updated_at DESC LIMIT @limit OFFSET @offset\n `\n )\n .all(params) as TaskRow[];\n\n // Client-side filtering for packId/parentTaskId (stored inside JSON metadata blob).\n // Future optimisation: use json_extract() (Option B) or dedicated columns (Option C).\n let parsed = rows.map((row) => ({\n task: JSON.parse(row.task_json) as Task,\n updatedAt: row.updated_at,\n }));\n if (input.packId) {\n parsed = parsed.filter(\n (r) => r.task.metadata?.bridge?.packId === input.packId\n );\n }\n if (input.parentTaskId) {\n parsed = parsed.filter(\n (r) => r.task.metadata?.bridge?.parentTaskId === input.parentTaskId\n );\n }\n\n return Promise.resolve({\n tasks: parsed.map((record) => projectTask(record.task, input)),\n nextCursor:\n offset + limit < countRow.count ? String(offset + limit) : null,\n pageSize: limit,\n totalSize: parsed.length,\n });\n }\n\n getConversation(\n contextId: string,\n options: BridgeConversationSnapshotOptions = {}\n ): Promise<BridgeConversation | undefined> {\n const records = readConversationRecords(this.db, contextId, options.tenant);\n if (records.length === 0) return Promise.resolve(undefined);\n\n return Promise.resolve(\n buildConversationFromTasks(\n records.map((r) => r.task),\n options\n )\n );\n }\n\n listConversations(\n input: BridgeListConversationsOptions = {}\n ): Promise<BridgeListConversationsResult> {\n return Promise.resolve(listConversationsQuery(this.db, input));\n }\n\n updateBridgeMetadata(\n taskId: string,\n bridgeMetadata: BridgeMetadata['bridge']\n ): Promise<Task> {\n const nextRecord = transactTask(this.db, taskId, (record) => ({\n record: updateBridgeMetadataRecord(record, bridgeMetadata),\n }));\n return Promise.resolve(cloneTaskResult(nextRecord.record.task));\n }\n\n updateStatus(input: UpdateStatusInput): Promise<TaskStatusUpdateEvent> {\n const result = transactTask(this.db, input.taskId, (record) => {\n const next = updateStatusRecord(record, input);\n return {\n record: next.record,\n event: {\n kind: 'status-update',\n event: next.event,\n } satisfies BridgeSubscriptionEvent,\n };\n });\n\n const event = result.event;\n if (event.kind !== 'status-update') {\n throw new Error('Unexpected task store event type');\n }\n return Promise.resolve(cloneValue(event.event));\n }\n\n appendArtifact(input: AppendArtifactInput): Promise<TaskArtifactUpdateEvent> {\n const result = transactTask(this.db, input.taskId, (record) => {\n const next = appendArtifactRecord(record, input);\n return {\n record: next.record,\n event: {\n kind: 'artifact-update',\n event: next.event,\n } satisfies BridgeSubscriptionEvent,\n };\n });\n\n const event = result.event;\n if (event.kind !== 'artifact-update') {\n throw new Error('Unexpected task store event type');\n }\n return Promise.resolve(cloneValue(event.event));\n }\n\n appendHistory(\n taskId: string,\n message: Message,\n historyLength?: number\n ): Promise<Task> {\n const nextRecord = transactTask(this.db, taskId, (record) => ({\n record: appendHistoryRecord(record, message, historyLength),\n }));\n return Promise.resolve(cloneTaskResult(nextRecord.record.task));\n }\n\n subscribe(\n taskId: string,\n options: TaskSubscriptionOptions = {}\n ): Promise<AsyncIterable<BridgeSubscriptionEvent>> {\n try {\n return Promise.resolve(\n buildSubscription(this.db, taskId, this.pollIntervalMs, options)\n );\n } catch (error) {\n return Promise.reject(\n error instanceof Error ? error : new Error(String(error))\n );\n }\n }\n\n putCheckpoint(key: string, data: string): Promise<void> {\n this.db\n .prepare(\n `\n INSERT INTO checkpoints (key, data, updated_at) VALUES (?, ?, datetime('now'))\n ON CONFLICT(key) DO UPDATE SET data = excluded.data, updated_at = datetime('now')\n `\n )\n .run(key, data);\n return Promise.resolve();\n }\n\n getCheckpoint(key: string): Promise<string | undefined> {\n const row = this.db\n .prepare('SELECT data FROM checkpoints WHERE key = ?')\n .get(key) as { data: string } | undefined;\n return Promise.resolve(row?.data);\n }\n\n deleteCheckpoint(key: string): Promise<void> {\n this.db.prepare('DELETE FROM checkpoints WHERE key = ?').run(key);\n return Promise.resolve();\n }\n\n listCheckpoints(prefix: string): Promise<string[]> {\n const rows = this.db\n .prepare('SELECT key FROM checkpoints WHERE key LIKE ? ORDER BY key')\n .all(`${prefix}%`) as Array<{ key: string }>;\n return Promise.resolve(rows.map((r) => r.key));\n }\n\n claimNextTick(tickAtMs: number, schedulerId = 'default'): Promise<boolean> {\n const result = this.db\n .prepare(\n `\n INSERT OR IGNORE INTO scheduler_tick_claims (scheduler_id, tick_at_ms, claimed_at)\n VALUES (?, ?, ?)\n `\n )\n .run(schedulerId, tickAtMs, Date.now());\n return Promise.resolve(result.changes > 0);\n }\n\n close(): Promise<void> {\n this.db.close();\n return Promise.resolve();\n }\n\n static defaultPath(_workspace = process.cwd()): string {\n return getOctoFlowDbPath('tasks');\n }\n}\n", "import type { BridgeSubscriptionEvent } from '../../../domain/bridge-api.js';\nimport type { Task } from '../../../domain/core-task.js';\nimport { sleep } from '../../../utils/time.js';\nimport {\n cloneTaskResult,\n encodeTaskEventCursor,\n isTerminalTaskState,\n} from './shared.js';\n\ninterface EventRow {\n payload_json: string;\n sequence: number;\n}\n\n/**\n * Build an async-iterable subscription backed by polling the SQLite event log.\n * Extracted from SqliteTaskStore to keep the main store file focused on CRUD.\n */\nexport function createPollingSubscription(opts: {\n attachEventId: (row: EventRow) => BridgeSubscriptionEvent;\n currentSequence: number;\n initialRows: EventRow[];\n initialTask: Task;\n pollIntervalMs: number;\n readRows: (afterSequence: number) => EventRow[];\n}): AsyncIterable<BridgeSubscriptionEvent> {\n const {\n attachEventId,\n currentSequence,\n initialRows,\n initialTask,\n pollIntervalMs,\n readRows,\n } = opts;\n\n let sequence =\n initialRows.length > 0\n ? initialRows[initialRows.length - 1]!.sequence\n : currentSequence;\n\n const isFinalStatusEvent = (event: BridgeSubscriptionEvent) =>\n event.kind === 'status-update' &&\n (event.event.final || isTerminalTaskState(event.event.status.state));\n\n const pending = initialRows.map(attachEventId);\n let closeAfterPendingDrains =\n isTerminalTaskState(initialTask.status.state) ||\n pending.some(isFinalStatusEvent);\n\n return {\n [Symbol.asyncIterator](): AsyncIterator<BridgeSubscriptionEvent> {\n let closed = false;\n let first = true;\n let consecutiveEmpty = 0;\n\n return {\n async next(): Promise<IteratorResult<BridgeSubscriptionEvent>> {\n if (closed) {\n return { value: undefined, done: true };\n }\n\n if (first) {\n first = false;\n return {\n value: {\n kind: 'task',\n id: encodeTaskEventCursor(currentSequence),\n task: cloneTaskResult(initialTask),\n },\n done: false,\n };\n }\n\n while (!closed) {\n if (pending.length > 0) {\n consecutiveEmpty = 0;\n const nextEvent = pending.shift()!;\n if (\n pending.length === 0 &&\n (closeAfterPendingDrains || isFinalStatusEvent(nextEvent))\n ) {\n closeAfterPendingDrains = true;\n }\n return { value: nextEvent, done: false };\n }\n\n if (closeAfterPendingDrains) {\n closed = true;\n return { value: undefined, done: true };\n }\n\n const rows = readRows(sequence);\n\n if (rows.length > 0) {\n consecutiveEmpty = 0;\n sequence = rows[rows.length - 1]!.sequence;\n const nextEvents = rows.map(attachEventId);\n for (const event of nextEvents) {\n pending.push(event);\n }\n if (nextEvents.some(isFinalStatusEvent)) {\n closeAfterPendingDrains = true;\n }\n continue;\n }\n\n consecutiveEmpty++;\n const backoffMs = Math.min(\n pollIntervalMs * 2 ** (consecutiveEmpty - 1),\n 500\n );\n await sleep(backoffMs);\n }\n\n return { value: undefined, done: true };\n },\n return(): Promise<IteratorResult<BridgeSubscriptionEvent>> {\n closed = true;\n return Promise.resolve({ value: undefined, done: true });\n },\n [Symbol.asyncIterator](): AsyncIterator<BridgeSubscriptionEvent> {\n return this;\n },\n } as AsyncIterableIterator<BridgeSubscriptionEvent>;\n },\n };\n}\n", "import type BetterSqlite3 from 'better-sqlite3';\n\nimport type {\n BridgeListConversationsOptions,\n BridgeListConversationsResult,\n BridgeSubscriptionEvent,\n} from '../../../domain/bridge-api.js';\nimport type { Task } from '../../../domain/core-task.js';\nimport { TaskNotFoundError } from '../../../domain/errors/index.js';\nimport {\n buildConversationFromTasks,\n cloneTaskResult,\n createListConversationsResult,\n decodeTaskEventCursor,\n encodeTaskEventCursor,\n} from './shared.js';\nimport { createPollingSubscription } from './sqlite-subscriptions.js';\nimport type { TaskRecord, TaskSubscriptionOptions } from './types.js';\n\ninterface TaskRow {\n task_json: string;\n updated_at: number;\n}\n\ninterface EventRow {\n payload_json: string;\n sequence: number;\n}\n\ninterface SequenceRow {\n sequence: number;\n}\n\ninterface CountRow {\n count: number;\n}\n\ninterface ConversationRow {\n context_id: string;\n task_count: number;\n tenant: string | null;\n updated_at: number;\n}\n\nexport function readRecord(\n db: BetterSqlite3.Database,\n taskId: string\n): TaskRecord | undefined {\n const row = db\n .prepare(\n `\n SELECT task_json, updated_at FROM tasks WHERE id = ?\n `\n )\n .get(taskId) as TaskRow | undefined;\n\n if (!row) return undefined;\n return { task: JSON.parse(row.task_json) as Task, updatedAt: row.updated_at };\n}\n\nexport function readSnapshot(\n db: BetterSqlite3.Database,\n taskId: string\n): { sequence: number; task: Task } | undefined {\n return db.transaction((currentTaskId: string) => {\n const record = readRecord(db, currentTaskId);\n if (!record) return undefined;\n\n const row = db\n .prepare(\n `\n SELECT COALESCE(MAX(sequence), 0) AS sequence FROM task_events WHERE task_id = ?\n `\n )\n .get(currentTaskId) as SequenceRow;\n\n return { task: record.task, sequence: row.sequence ?? 0 };\n })(taskId);\n}\n\nexport function readConversationRecords(\n db: BetterSqlite3.Database,\n contextId: string,\n tenant?: string\n): TaskRecord[] {\n const effectiveTenant: string | undefined = tenant ?? undefined;\n const params: Array<string | null> = [contextId];\n const tenantSql =\n effectiveTenant === undefined ? 'tenant IS NULL' : 'tenant = ?';\n\n if (effectiveTenant !== undefined) {\n params.push(effectiveTenant);\n }\n\n const rows = db\n .prepare(\n `\n SELECT task_json, updated_at FROM tasks\n WHERE context_id = ? AND ${tenantSql}\n ORDER BY created_at ASC, updated_at ASC, id ASC\n `\n )\n .all(...params) as TaskRow[];\n\n return rows.map((row) => ({\n task: JSON.parse(row.task_json) as Task,\n updatedAt: row.updated_at,\n }));\n}\n\nexport function readConversationRecordsBatch(\n db: BetterSqlite3.Database,\n contextIds: string[]\n): TaskRecord[] {\n if (contextIds.length === 0) return [];\n const placeholders = contextIds.map(() => '?').join(', ');\n const rows = db\n .prepare(\n `\n SELECT task_json, updated_at FROM tasks\n WHERE context_id IN (${placeholders})\n ORDER BY created_at ASC, updated_at ASC, id ASC\n `\n )\n .all(...contextIds) as TaskRow[];\n return rows.map((row) => ({\n task: JSON.parse(row.task_json) as Task,\n updatedAt: row.updated_at,\n }));\n}\n\nexport function writeRecord(\n db: BetterSqlite3.Database,\n record: TaskRecord\n): void {\n db.prepare(\n `\n INSERT INTO tasks (\n id, context_id, tenant, created_at, last_modified,\n status_state, status_timestamp, updated_at, task_json\n ) VALUES (\n @id, @context_id, @tenant, @created_at, @last_modified,\n @status_state, @status_timestamp, @updated_at, @task_json\n )\n ON CONFLICT(id) DO UPDATE SET\n context_id = excluded.context_id,\n tenant = excluded.tenant,\n created_at = excluded.created_at,\n last_modified = excluded.last_modified,\n status_state = excluded.status_state,\n status_timestamp = excluded.status_timestamp,\n updated_at = excluded.updated_at,\n task_json = excluded.task_json\n `\n ).run(toTaskRow(record));\n}\n\nexport function insertEvent(\n db: BetterSqlite3.Database,\n taskId: string,\n event: BridgeSubscriptionEvent\n): void {\n const storedEvent = { ...event };\n delete storedEvent.id;\n db.prepare(\n `\n INSERT INTO task_events (task_id, event_kind, payload_json) VALUES (?, ?, ?)\n `\n ).run(taskId, event.kind, JSON.stringify(storedEvent));\n}\n\nexport function toTaskRow(\n record: TaskRecord\n): Record<string, number | string | null> {\n return {\n id: record.task.id,\n context_id: record.task.contextId,\n tenant: record.task.tenant ?? null,\n created_at: record.task.createdAt ?? '',\n last_modified: record.task.lastModified ?? '',\n status_state: record.task.status.state,\n status_timestamp: record.task.status.timestamp ?? null,\n updated_at: record.updatedAt,\n task_json: JSON.stringify(record.task),\n };\n}\n\nexport function attachEventId(row: EventRow): BridgeSubscriptionEvent {\n return {\n ...(JSON.parse(row.payload_json) as BridgeSubscriptionEvent),\n id: encodeTaskEventCursor(row.sequence),\n };\n}\n\nexport function transactTask<\n T extends { event?: BridgeSubscriptionEvent; record: TaskRecord },\n>(\n db: BetterSqlite3.Database,\n taskId: string,\n mutate: (record: TaskRecord) => T\n): T {\n return db.transaction((currentTaskId: string) => {\n const record = readRecord(db, currentTaskId);\n if (!record) throw new TaskNotFoundError(currentTaskId);\n\n const next = mutate(record);\n writeRecord(db, next.record);\n if (next.event) insertEvent(db, currentTaskId, next.event);\n return next;\n })(taskId);\n}\n\nexport function buildSubscription(\n db: BetterSqlite3.Database,\n taskId: string,\n pollIntervalMs: number,\n options: TaskSubscriptionOptions = {}\n): AsyncIterable<BridgeSubscriptionEvent> {\n const snapshot = readSnapshot(db, taskId);\n if (!snapshot) {\n throw new TaskNotFoundError(taskId);\n }\n\n const after = decodeTaskEventCursor(options.after);\n const currentSequence = snapshot.sequence;\n const sequence =\n after == null ? currentSequence : Math.min(after, currentSequence);\n const initialTask = cloneTaskResult(snapshot.task);\n const readRows = (afterSequence: number) =>\n db\n .prepare(\n `\n SELECT sequence, payload_json FROM task_events\n WHERE task_id = ? AND sequence > ?\n ORDER BY sequence ASC\n `\n )\n .all(taskId, afterSequence) as EventRow[];\n const initialRows = readRows(sequence);\n\n return createPollingSubscription({\n attachEventId,\n currentSequence,\n initialRows,\n initialTask,\n pollIntervalMs,\n readRows,\n });\n}\n\nexport function listConversationsQuery(\n db: BetterSqlite3.Database,\n input: BridgeListConversationsOptions = {}\n): BridgeListConversationsResult {\n const limit = Math.max(1, Math.min(input.limit ?? 50, 200));\n const offset = input.cursor ? Number.parseInt(input.cursor, 10) : 0;\n\n const conditions: string[] = [];\n const params: Record<string, number | string | null> = { limit, offset };\n\n if (input.tenant !== undefined) {\n if (input.tenant === null) {\n conditions.push('tenant IS NULL');\n } else {\n conditions.push('tenant = @tenant');\n params.tenant = input.tenant;\n }\n }\n\n const whereSql =\n conditions.length > 0 ? `WHERE ${conditions.join(' AND ')}` : '';\n\n const countRow = db\n .prepare(\n `\n SELECT COUNT(*) AS count FROM (\n SELECT context_id FROM tasks ${whereSql} GROUP BY context_id, tenant\n )\n `\n )\n .get(params) as CountRow;\n\n const rows = db\n .prepare(\n `\n SELECT\n context_id, tenant,\n COUNT(*) AS task_count,\n MAX(updated_at) AS updated_at\n FROM tasks ${whereSql}\n GROUP BY context_id, tenant\n ORDER BY updated_at DESC\n LIMIT @limit OFFSET @offset\n `\n )\n .all(params) as ConversationRow[];\n\n const contextIds = rows.map((row) => row.context_id);\n const allTaskRecords = readConversationRecordsBatch(db, contextIds);\n\n const tasksByKey = new Map<string, Task[]>();\n for (const record of allTaskRecords) {\n const key = `${record.task.contextId}\\u0000${record.task.tenant ?? ''}`;\n const bucket = tasksByKey.get(key);\n if (bucket) bucket.push(record.task);\n else tasksByKey.set(key, [record.task]);\n }\n\n return createListConversationsResult({\n conversations: rows.map((row) =>\n buildConversationFromTasks(\n tasksByKey.get(`${row.context_id}\\u0000${row.tenant ?? ''}`) ?? [],\n {\n ...input,\n includeHistory: input.includeHistory ?? false,\n includeTasks: input.includeTasks ?? false,\n }\n )\n ),\n nextCursor: offset + limit < countRow.count ? String(offset + limit) : null,\n pageSize: limit,\n totalSize: countRow.count,\n });\n}\n", "import { getOctoFlowDbPath } from '../../../utils/octoflow-home.js';\nimport { InMemoryTaskStore } from './in-memory.js';\nimport { SqliteTaskStore } from './sqlite.js';\nimport type {\n CreateTaskStoreOptions,\n ExternalTaskStoreConfig,\n SqliteTaskStoreConfig,\n TaskStore,\n TaskStoreConfig,\n} from './types.js';\n\nfunction isTaskStore(\n value: TaskStore | TaskStoreConfig | undefined\n): value is TaskStore {\n return (\n typeof value === 'object' &&\n value !== null &&\n typeof (value as TaskStore).createTask === 'function'\n );\n}\n\nfunction resolveConfig(options: CreateTaskStoreOptions): TaskStoreConfig {\n if (isTaskStore(options.taskStore)) {\n throw new Error(\n 'resolveConfig() received a TaskStore instance instead of a config object'\n );\n }\n\n if (options.storage !== undefined) {\n return (\n options.taskStore ??\n options.config?.taskStore ??\n (options.storage ? { type: 'sqlite' } : { type: 'memory' })\n );\n }\n\n if (options.config?.storage !== undefined) {\n return (\n options.config.taskStore ??\n (options.config.storage ? { type: 'sqlite' } : { type: 'memory' })\n );\n }\n\n return options.taskStore ?? options.config?.taskStore ?? { type: 'memory' };\n}\n\nfunction resolveSqlitePath(config: SqliteTaskStoreConfig): string {\n if (config.path) {\n return config.path;\n }\n\n return getOctoFlowDbPath('tasks');\n}\n\nfunction createExternalTaskStore(\n config: ExternalTaskStoreConfig,\n options: CreateTaskStoreOptions,\n workspace: string\n): TaskStore {\n const connector = options.taskStoreConnectors?.[config.name];\n if (!connector) {\n throw new Error(\n `Unknown external task store connector \"${config.name}\". ` +\n 'Pass a TaskStore instance directly or register a connector with createBridge({ taskStoreConnectors }).'\n );\n }\n\n return connector({ config, workspace });\n}\n\nexport function createTaskStore(\n options: CreateTaskStoreOptions = {}\n): TaskStore {\n if (isTaskStore(options.taskStore)) {\n return options.taskStore;\n }\n\n const config = resolveConfig(options);\n const workspace = options.workspace ?? process.cwd();\n\n if (config.type === 'memory') {\n return new InMemoryTaskStore({ maxTasks: config.maxTasks });\n }\n\n if (config.type === 'external') {\n return createExternalTaskStore(config, options, workspace);\n }\n\n return new SqliteTaskStore({\n ...config,\n path: resolveSqlitePath(config),\n });\n}\n", "import crypto from 'node:crypto';\n\nimport type { ActionDefinition } from '../actions/types.js';\nimport type { SkillDefinition } from '../capabilities/skill-types.js';\nimport type {\n BridgeListTasksOptions,\n BridgeSendMessageParams,\n BridgeSendResult,\n} from '../domain/bridge-api.js';\nimport type { Message, Task } from '../domain/core-task.js';\nimport { TaskNotFoundError } from '../domain/errors/index.js';\nimport type { BridgeEventMap } from '../runtime/bridge/events.js';\nimport { BridgeEventEmitter } from '../runtime/bridge/events.js';\nimport type { PluginContext } from '../runtime/bridge/plugins.js';\nimport { cloneValue } from '../utils/clone.js';\n\nexport interface PluginTestContext extends PluginContext {\n readonly registeredActions: string[];\n readonly registeredSkills: string[];\n readonly sentMessages: BridgeSendMessageParams[];\n readonly tasks: Task[];\n readonly warnings: string[];\n setTask(task: Task): void;\n simulateEvent<K extends keyof BridgeEventMap>(\n event: K,\n data: BridgeEventMap[K]\n ): Promise<void>;\n}\n\nexport interface CreatePluginTestContextOptions {\n /** Default context id for tasks produced by sendMessage(). */\n contextId?: string;\n /** Seed tasks available through getTask() and listTasks(). */\n tasks?: readonly Task[];\n}\n\n/**\n * Creates an in-memory {@link PluginContext} for unit-testing plugins.\n *\n * @example\n * const ctx = createPluginTestContext({ tasks: [existingTask] });\n * await plugin.setup!(ctx);\n * expect(ctx.registeredActions).toContain('my-action');\n */\nexport function createPluginTestContext(\n options: CreatePluginTestContextOptions = {}\n): PluginTestContext {\n const registeredActions: string[] = [];\n const registeredSkills: string[] = [];\n const sentMessages: BridgeSendMessageParams[] = [];\n const tasks = new Map<string, Task>();\n const warnings: string[] = [];\n const emitter = new BridgeEventEmitter();\n\n for (const task of options.tasks ?? []) {\n tasks.set(task.id, cloneTask(task));\n }\n\n function getTask(taskId: string): Promise<Task> {\n const task = tasks.get(taskId);\n if (!task) {\n return Promise.reject(new TaskNotFoundError(taskId));\n }\n return Promise.resolve(cloneTask(task));\n }\n\n function listTasks(listOptions: BridgeListTasksOptions = {}) {\n const states =\n listOptions.state == null\n ? null\n : new Set(\n Array.isArray(listOptions.state)\n ? listOptions.state\n : [listOptions.state]\n );\n const limit = Math.max(1, listOptions.limit ?? 50);\n const offset = Math.max(\n 0,\n Number.parseInt(listOptions.cursor ?? '0', 10) || 0\n );\n const statusTimestampAfter =\n listOptions.statusTimestampAfter == null\n ? Number.NaN\n : Date.parse(listOptions.statusTimestampAfter);\n\n const filteredTasks = [...tasks.values()]\n .filter(\n (task) =>\n !listOptions.contextId || task.contextId === listOptions.contextId\n )\n .filter(\n (task) =>\n listOptions.tenant === undefined || task.tenant === listOptions.tenant\n )\n .filter((task) => !states || states.has(task.status.state))\n .filter(\n (task) =>\n Number.isNaN(statusTimestampAfter) ||\n (typeof task.status.timestamp === 'string' &&\n Date.parse(task.status.timestamp) >= statusTimestampAfter)\n )\n .filter(\n (task) =>\n !listOptions.packId ||\n task.metadata?.bridge?.packId === listOptions.packId\n )\n .filter(\n (task) =>\n !listOptions.parentTaskId ||\n task.metadata?.bridge?.parentTaskId === listOptions.parentTaskId\n )\n .sort((left, right) => taskSortTime(right) - taskSortTime(left));\n\n return Promise.resolve({\n tasks: filteredTasks\n .slice(offset, offset + limit)\n .map((task) => cloneTask(task, listOptions)),\n nextCursor:\n offset + limit < filteredTasks.length ? String(offset + limit) : null,\n pageSize: limit,\n totalSize: filteredTasks.length,\n });\n }\n\n function sendMessage(\n params: BridgeSendMessageParams\n ): Promise<BridgeSendResult> {\n sentMessages.push(params);\n const task = createSentTask(params, options.contextId ?? 'test-context');\n tasks.set(task.id, cloneTask(task));\n return Promise.resolve({\n kind: 'task' as const,\n task: cloneTask(task),\n contextId: task.contextId,\n taskId: task.id,\n });\n }\n\n function setTask(task: Task): void {\n tasks.set(task.id, cloneTask(task));\n }\n\n function registerAction(action: ActionDefinition): void {\n registeredActions.push(action.name);\n }\n\n function unregisterAction(name: string): boolean {\n const idx = registeredActions.indexOf(name);\n if (idx !== -1) {\n registeredActions.splice(idx, 1);\n return true;\n }\n return false;\n }\n\n function registerSkill(skill: SkillDefinition): void {\n registeredSkills.push(skill.name);\n }\n\n function unregisterSkill(name: string): boolean {\n const idx = registeredSkills.indexOf(name);\n if (idx !== -1) {\n registeredSkills.splice(idx, 1);\n return true;\n }\n return false;\n }\n\n function checkBudget(_contextId: string, _tenant?: string) {\n return { status: 'ok' as const };\n }\n\n function getSpend(_contextId: string) {\n return { totalUsd: 0, totalTokens: 0 };\n }\n\n const ctx: PluginTestContext = {\n bridge: null as unknown as PluginContext['bridge'],\n on: emitter.on.bind(emitter),\n once: emitter.once.bind(emitter),\n off: emitter.off.bind(emitter),\n getTask,\n listTasks,\n checkBudget,\n getSpend,\n sendMessage,\n registerAction,\n unregisterAction,\n registerSkill,\n unregisterSkill,\n setTask,\n\n simulateEvent<K extends keyof BridgeEventMap>(\n event: K,\n data: BridgeEventMap[K]\n ): Promise<void> {\n return emitter.emit(event, data);\n },\n\n get registeredActions() {\n return registeredActions;\n },\n get registeredSkills() {\n return registeredSkills;\n },\n get sentMessages() {\n return sentMessages;\n },\n get tasks() {\n return [...tasks.values()].map((task) => cloneTask(task));\n },\n get warnings() {\n return warnings;\n },\n };\n\n return ctx;\n}\n\nfunction createSentTask(\n params: BridgeSendMessageParams,\n fallbackContextId: string\n): Task {\n const taskId = params.taskId ?? crypto.randomUUID();\n const contextId = params.contextId ?? fallbackContextId;\n const timestamp = new Date().toISOString();\n const message = createUserMessage(params.message, contextId, taskId);\n\n return {\n id: taskId,\n kind: 'task',\n contextId,\n createdAt: timestamp,\n lastModified: timestamp,\n history: [message],\n artifacts: [],\n metadata: params.metadata,\n status: {\n state: 'completed',\n timestamp,\n },\n tenant: params.tenant,\n };\n}\n\nfunction createUserMessage(\n input: BridgeSendMessageParams['message'],\n contextId: string,\n taskId: string\n): Message {\n if (typeof input !== 'string') {\n return {\n ...cloneValue(input),\n contextId: input.contextId ?? contextId,\n taskId: input.taskId ?? taskId,\n };\n }\n\n return {\n kind: 'message',\n messageId: crypto.randomUUID(),\n contextId,\n taskId,\n parts: [{ kind: 'text', text: input }],\n role: 'user',\n };\n}\n\nfunction cloneTask(\n task: Task,\n options: Pick<\n BridgeListTasksOptions,\n 'historyLength' | 'includeArtifacts'\n > = {}\n): Task {\n const cloned = cloneValue(task);\n if (options.historyLength != null) {\n cloned.history = (cloned.history ?? []).slice(\n -Math.max(0, options.historyLength)\n );\n }\n if (options.includeArtifacts === false) {\n delete cloned.artifacts;\n }\n return cloned;\n}\n\nfunction taskSortTime(task: Task): number {\n return (\n Date.parse(\n task.lastModified ?? task.status.timestamp ?? task.createdAt ?? ''\n ) || 0\n );\n}\n", "/**\n * Bridge event schema registry.\n *\n * Mirrors the `transport/schemas.ts` pattern: at sensitive boundaries, zod\n * schemas turn a TS-only contract into a runtime-checked one. Here the\n * boundary is `BridgeEventEmitter.emit()` \u2014 plugins and adapters emit\n * events, and a shape drift would otherwise surface only at subscriber\n * runtime.\n *\n * Policy:\n * * Validation is **opt-in**. It is off by default in production to keep\n * the emitter's hot path free of runtime cost.\n * * When enabled via `BridgeEventEmitter` option (`validate: true`) or the\n * `BRIDGE_EVENT_VALIDATE=1` environment variable, each `emit()` call\n * runs the matching schema (if any).\n * * Events without a registered schema are passed through unchanged \u2014 the\n * registry grows incrementally. Core task/backend events ship validated\n * from day one.\n *\n * Breaking changes to any registered schema must bump\n * {@link BRIDGE_EVENT_VERSION} (see `./events.ts`).\n */\n\nimport { z } from 'zod';\n\nimport { SchemaValidationError } from '../../adapters/transport/schemas.js';\nimport type { BridgeEventMap } from './events-contracts.js';\n\n/** Shared error-info fragment used by many events. */\nconst ErrorInfoSchema = z\n .object({\n code: z.string().optional(),\n message: z.string(),\n retriable: z.boolean().optional(),\n })\n .passthrough();\n\nconst TaskContextSchema = z.object({\n taskId: z.string(),\n contextId: z.string(),\n backend: z.string(),\n});\n\nconst CompactionEndSchema = TaskContextSchema.extend({\n trigger: z.enum(['budget-exceeded', 'task:created']),\n strategy: z.enum(['truncate', 'summarize']),\n messageCount: z.number().int().nonnegative(),\n preCompactTokenCount: z.number().int().nonnegative(),\n promptTokenCount: z.number().int().nonnegative(),\n compacted: z.boolean(),\n messagesRemoved: z.number().int().nonnegative(),\n postCompactTokenCount: z.number().int().nonnegative(),\n summaryGenerated: z.boolean(),\n});\n\n/**\n * Partial registry of zod schemas for Bridge events. Only critical lifecycle\n * events are covered here \u2014 additional events can be added in future PRs\n * without a breaking change to the registry shape.\n */\nexport const BridgeEventSchemas: Partial<{\n [K in keyof BridgeEventMap]: z.ZodTypeAny;\n}> = {\n 'task:created': TaskContextSchema.extend({ message: z.string() }),\n 'task:compaction:start': TaskContextSchema.extend({\n trigger: z.enum(['budget-exceeded', 'task:created']),\n strategy: z.enum(['truncate', 'summarize']),\n messageCount: z.number().int().nonnegative(),\n preCompactTokenCount: z.number().int().nonnegative(),\n promptTokenCount: z.number().int().nonnegative(),\n }),\n 'task:compaction:end': CompactionEndSchema,\n 'agent:compaction': CompactionEndSchema,\n 'task:working': TaskContextSchema,\n 'task:completed': TaskContextSchema.extend({ text: z.string() }),\n 'task:failed': TaskContextSchema.extend({ error: ErrorInfoSchema }),\n 'task:canceled': z.object({ taskId: z.string(), contextId: z.string() }),\n\n 'backend:selected': z.object({ contextId: z.string(), backend: z.string() }),\n\n 'agent:close': z.object({\n agentType: z.string(),\n runtime: z.enum(['bridge', 'pack']),\n }),\n 'agent:tool-call': TaskContextSchema.extend({\n actionName: z.string(),\n args: z.record(z.unknown()).optional(),\n status: z.enum(['started', 'completed', 'failed']),\n output: z.unknown().optional(),\n error: ErrorInfoSchema.optional(),\n durationMs: z.number().nonnegative().optional(),\n }),\n 'agent:mcp': TaskContextSchema.extend({\n server: z.string(),\n tool: z.string(),\n status: z.enum(['completed', 'failed']),\n durationMs: z.number().nonnegative(),\n timedOut: z.boolean(),\n cacheHit: z.boolean().optional(),\n }),\n\n 'bridge:destroy': z.object({ contextIds: z.array(z.string()) }),\n 'bridge:warn': z.object({ code: z.string(), message: z.string() }),\n 'policy:decision': z.object({\n action: z.string(),\n effect: z.enum(['allow', 'deny', 'ask']),\n reason: z.string().optional(),\n subjectId: z.string(),\n resourceKind: z.string(),\n resourceId: z.string().optional(),\n tenant: z.string().optional(),\n contextId: z.string().optional(),\n taskId: z.string().optional(),\n backend: z.string().optional(),\n auditTags: z.array(z.string()).optional(),\n }),\n\n 'validation:failed': z.object({\n boundary: z.string(),\n schemaPath: z.string(),\n errorCount: z.number().int().nonnegative(),\n }),\n};\n\n/**\n * Validate an event payload against its registered schema.\n *\n * * Returns the parsed payload (identical to input when no schema is\n * registered for `event`).\n * * Throws {@link SchemaValidationError} when the payload does not match.\n */\nexport function validateBridgeEvent<K extends keyof BridgeEventMap>(\n event: K,\n payload: unknown\n): BridgeEventMap[K] {\n const schema = BridgeEventSchemas[event];\n if (!schema) return payload as BridgeEventMap[K];\n const result = schema.safeParse(payload);\n if (!result.success) {\n throw new SchemaValidationError(\n 'bridge-event',\n String(event),\n result.error.issues\n );\n }\n return result.data as BridgeEventMap[K];\n}\n\n/** Read the env-var that enables validation without a constructor argument. */\nexport function envValidationEnabled(): boolean {\n const v = process.env.BRIDGE_EVENT_VALIDATE;\n return v === '1' || v === 'true';\n}\n", "/**\n * Zod schemas for inbound A2A requests.\n *\n * Validation is scoped to **protocol boundaries** \u2014 the A2A server's JSON-RPC\n * body and the A2A client's response parser. Internal callers stay typed\n * by the TS compiler alone; the runtime cost is paid only where untrusted\n * bytes first enter the process.\n */\n\nimport { z } from 'zod';\n\nimport { OctoFlowError } from '../../domain/errors/base.js';\n\n/** Parts of an A2A message body \u2014 text, file, or data. */\nconst A2APartSchema = z.object({\n data: z.unknown().optional(),\n filename: z.string().optional(),\n mediaType: z.string().optional(),\n metadata: z.record(z.unknown()).optional(),\n raw: z.string().optional(),\n text: z.string().optional(),\n url: z.string().optional(),\n});\n\nconst A2ARoleSchema = z.enum(['ROLE_USER', 'ROLE_AGENT']);\n\nconst PushNotificationAuthenticationSchema = z.object({\n credentials: z.string().optional(),\n schemes: z.array(z.string()),\n});\n\nconst PushNotificationConfigSchema = z.object({\n authentication: PushNotificationAuthenticationSchema.optional(),\n id: z.string().optional(),\n token: z.string().optional(),\n url: z.string().url(),\n});\n\nexport const TaskPushNotificationConfigSchema = z.object({\n pushNotificationConfig: PushNotificationConfigSchema,\n taskId: z.string(),\n});\n\nexport const GetTaskPushNotificationConfigParamsSchema = z\n .object({\n configId: z.string().optional(),\n id: z.string().optional(),\n taskId: z.string().optional(),\n })\n .refine((value) => value.taskId || value.id, {\n message: 'taskId is required',\n });\n\nexport const A2AMessageSchema = z.object({\n contextId: z.string().optional(),\n extensions: z.array(z.string()).optional(),\n messageId: z.string(),\n metadata: z.record(z.unknown()).optional(),\n parts: z.array(A2APartSchema),\n referenceTaskIds: z.array(z.string()).optional(),\n role: A2ARoleSchema,\n taskId: z.string().optional(),\n});\n\n/** sendMessage / sendStreamingMessage params. */\nexport const SendMessageParamsSchema = z.object({\n message: A2AMessageSchema,\n contextId: z.string().optional(),\n taskId: z.string().optional(),\n configuration: z.record(z.unknown()).optional(),\n metadata: z.record(z.unknown()).optional(),\n taskPushNotificationConfig: TaskPushNotificationConfigSchema.optional(),\n});\n\n/** getTask / subscribeToTask params. */\nexport const GetTaskParamsSchema = z.object({\n id: z.string(),\n historyLength: z.number().int().nonnegative().optional(),\n metadata: z.record(z.unknown()).optional(),\n});\n\n/** cancelTask params \u2014 same surface as getTask in current A2A. */\nexport const CancelTaskParamsSchema = GetTaskParamsSchema;\n\n/** listTasks filters. */\nexport const ListTasksParamsSchema = z.object({\n contextId: z.string().optional(),\n pageSize: z.number().int().positive().optional(),\n pageToken: z.string().optional(),\n state: z.string().optional(),\n metadata: z.record(z.unknown()).optional(),\n});\n\n/**\n * Schema per canonical method. The A2A server normalizes both raw\n * (`message/send`) and shortcut (`SendMessage`) method names to these keys\n * via `CANONICAL_METHODS`, so callers can look up schemas without caring\n * about transport-level aliases.\n */\nexport const INBOUND_PARAMS_SCHEMA = {\n SendMessage: SendMessageParamsSchema,\n SendStreamingMessage: SendMessageParamsSchema,\n GetTask: GetTaskParamsSchema,\n CancelTask: CancelTaskParamsSchema,\n ListTasks: ListTasksParamsSchema,\n SubscribeToTask: GetTaskParamsSchema,\n SetTaskPushNotificationConfig: TaskPushNotificationConfigSchema,\n GetTaskPushNotificationConfig: GetTaskPushNotificationConfigParamsSchema,\n // GetExtendedAgentCard takes no params.\n} as const;\n\n/** Error class thrown on validation failure \u2014 carries the zod issues for telemetry. */\nexport class SchemaValidationError extends OctoFlowError {\n readonly issues: z.ZodIssue[];\n readonly boundary: string;\n readonly schemaPath: string;\n\n constructor(boundary: string, schemaPath: string, issues: z.ZodIssue[]) {\n super(\n 'SCHEMA_VALIDATION',\n `validation failed at ${boundary} (${schemaPath}): ${issues.map((i) => i.message).join('; ')}`,\n { boundary, schemaPath, issueCount: issues.length }\n );\n this.name = 'SchemaValidationError';\n this.boundary = boundary;\n this.schemaPath = schemaPath;\n this.issues = issues;\n }\n}\n\n/**\n * Parse `params` against the canonical method's schema. Returns the typed\n * parsed value when a schema exists, or the raw params unchanged when the\n * method is parameterless (e.g. `GetExtendedAgentCard`).\n *\n * Throws {@link SchemaValidationError} when the body is structurally wrong \u2014\n * the A2A server converts this into a JSON-RPC `INVALID_PARAMS` response.\n */\nexport function validateA2AInbound(\n canonicalMethod: string,\n params: unknown\n): unknown {\n const schema =\n INBOUND_PARAMS_SCHEMA[\n canonicalMethod as keyof typeof INBOUND_PARAMS_SCHEMA\n ];\n if (!schema) return params;\n const result = schema.safeParse(params);\n if (!result.success) {\n throw new SchemaValidationError(\n 'a2a-inbound',\n canonicalMethod,\n result.error.issues\n );\n }\n return result.data;\n}\n", "/**\n * Bridge event bus \u2014 typed, tree-shakeable, safe-against-handler-errors.\n *\n * The catalog itself lives in sibling files:\n * * `events/event-map-task.ts` \u2014 task + backend lifecycle\n * * `events/event-map-mcp.ts` \u2014 tool delivery + MCP protocol\n * * `events/event-map-skills.ts` \u2014 agent skills + local-context\n * * `events/event-map-auth.ts` \u2014 auth + action execution\n * * `events/event-map-brain.ts` \u2014 memory + brain plugin + subagent\n * * `events/event-map-runtime.ts` \u2014 cache, middleware, fabric, A2A, etc.\n * * `events/event-map-environments.ts` \u2014 sandboxed/serverless exec backends (RFC \u00A74)\n * * `events/event-map-scheduler.ts` \u2014 scheduler daemon (RFC \u00A75)\n * * `events/event-map-curator.ts` \u2014 autonomous skill curator (RFC \u00A76)\n * * `events/event-map-tui.ts` \u2014 TUI (RFC \u00A77)\n *\n * This module re-exports the union so the public API\n * (`import { BridgeEventMap } from 'octoflow-core'`) is unchanged.\n */\n\nimport type { RunEvent } from '../orchestration/run/event-types.js';\nimport type { BridgeLogger } from '../sessions/bridge-options.js';\nimport type {\n BridgeAnyEvent,\n BridgeAnyEventHandler,\n BridgeEventHandler,\n BridgeEventMap,\n BridgeEventPayload,\n} from './events-contracts.js';\nimport { envValidationEnabled, validateBridgeEvent } from './events-schema.js';\n\nconst ERROR_EVENTS = new Set<keyof BridgeEventMap>([\n 'task:failed',\n 'action:error',\n 'backend:error',\n]);\nconst WARN_EVENTS = new Set<keyof BridgeEventMap>([\n 'backend:retry',\n 'bridge:warn',\n]);\nconst INFO_EVENTS = new Set<keyof BridgeEventMap>([\n 'task:completed',\n 'task:canceled',\n]);\n\nfunction logLevel(\n event: keyof BridgeEventMap\n): 'debug' | 'info' | 'warn' | 'error' {\n if (ERROR_EVENTS.has(event)) return 'error';\n if (WARN_EVENTS.has(event)) return 'warn';\n if (INFO_EVENTS.has(event)) return 'info';\n return 'debug';\n}\n\nexport const BRIDGE_EVENT_VERSION = 1 as const;\n\nexport type {\n AgentRunEventName,\n BridgeAnyEvent,\n BridgeAnyEventHandler,\n BridgeEventBase,\n BridgeEventHandler,\n BridgeEventMap,\n BridgeEventPayload,\n FabricEventContext,\n OptionalTaskContext,\n TaskEventContext,\n} from './events-contracts.js';\n\n/**\n * Internal handler shape used by the storage Map \u2014 variance-erased so one\n * `Map` can hold every event's handler list. The public `on`/`off`/`emit`\n * methods remain fully typed; the cast happens only at the storage boundary.\n */\ntype StoredHandler = {\n readonly original: object;\n readonly call: (event: unknown) => void | Promise<void>;\n};\ntype AnyEventHandler = (event: BridgeAnyEvent) => void | Promise<void>;\n\n/**\n * Options for {@link BridgeEventEmitter}.\n *\n * `validate` turns on the zod schema registry from `./events-schema.ts`.\n * When true, every `emit()` call runs the schema matching the event key (if\n * any). Unknown events pass through. Missing shape throws\n * `SchemaValidationError` \u2014 the contract is \"fail fast in dev, silent in\n * prod unless explicitly enabled\".\n *\n * Defaults to `false` (or the value of `BRIDGE_EVENT_VALIDATE=1` in the\n * environment).\n *\n * `onError` receives the event key and the raw rejection value whenever a\n * handler throws or rejects. When provided it replaces the default\n * `process.stderr` write, giving applications a structured error-reporting\n * path (metrics, logging, alerting). When omitted the default stderr\n * behaviour is preserved for backward compatibility.\n */\nexport interface BridgeEventEmitterOptions {\n validate?: boolean;\n onError?: (event: keyof BridgeEventMap, error: unknown) => void;\n /** Structured logger. Events are routed to the matching log level. */\n logger?: BridgeLogger;\n}\n\n/**\n * Typed event bus on the Bridge class.\n *\n * Design decisions:\n * - Not Node.js EventEmitter: preserves type safety per event key, tree-shakeable.\n * - Array (not Set) for handler storage: guarantees insertion-order execution.\n * - `emit()` uses Promise.allSettled: a failing handler never breaks other\n * subscribers. Errors are reported to stderr. Handlers MUST NOT assume they\n * can affect control flow by throwing.\n * - Object.freeze on emitted payloads: prevents handler A from mutating the\n * payload seen by handler B.\n * - Every emission is wrapped with a {@link BridgeEventBase} envelope so\n * subscribers can reason about ordering and compatibility.\n */\nexport class BridgeEventEmitter {\n private readonly handlers = new Map<keyof BridgeEventMap, StoredHandler[]>();\n private readonly anyHandlers: AnyEventHandler[] = [];\n private readonly validate: boolean;\n private readonly onError:\n | ((event: keyof BridgeEventMap, error: unknown) => void)\n | undefined;\n private readonly logger: BridgeLogger | undefined;\n\n constructor(options: BridgeEventEmitterOptions = {}) {\n this.validate = options.validate ?? envValidationEnabled();\n this.onError = options.onError;\n this.logger = options.logger;\n }\n\n /**\n * Subscribe to an event. Returns an unsubscribe function.\n * Handlers fire in registration order (insertion order).\n */\n on<K extends keyof BridgeEventMap>(\n event: K,\n handler: BridgeEventHandler<K>\n ): () => void {\n let list = this.handlers.get(event);\n if (!list) {\n list = [];\n this.handlers.set(event, list);\n }\n list.push({\n original: handler,\n call: (payload) => handler(payload as Readonly<BridgeEventPayload<K>>),\n });\n return () => this.off(event, handler);\n }\n\n onAny(handler: BridgeAnyEventHandler): () => void {\n this.anyHandlers.push(handler);\n return () => this.offAny(handler);\n }\n\n offAny(handler: BridgeAnyEventHandler): void {\n const idx = this.anyHandlers.indexOf(handler);\n if (idx !== -1) this.anyHandlers.splice(idx, 1);\n }\n\n once<K extends keyof BridgeEventMap>(\n event: K,\n handler: BridgeEventHandler<K>\n ): () => void {\n const wrapped: BridgeEventHandler<K> = (e) => {\n this.off(event, wrapped);\n return handler(e);\n };\n return this.on(event, wrapped);\n }\n\n off<K extends keyof BridgeEventMap>(\n event: K,\n handler: BridgeEventHandler<K>\n ): void {\n const list = this.handlers.get(event);\n if (!list) return;\n const idx = list.findIndex((entry) => entry.original === handler);\n if (idx !== -1) list.splice(idx, 1);\n }\n\n /**\n * Emit an event to all registered handlers.\n *\n * Uses `Promise.allSettled` \u2014 a failing handler never prevents other handlers\n * from executing. Rejections are reported via stderr. Handlers MUST NOT assume\n * they can affect control flow by throwing.\n */\n async emit<K extends keyof BridgeEventMap>(\n event: K,\n data: BridgeEventMap[K]\n ): Promise<void> {\n const list = this.handlers.get(event) ?? [];\n if (list.length === 0 && this.anyHandlers.length === 0 && !this.logger) {\n return;\n }\n if (this.validate) {\n validateBridgeEvent(event, data);\n }\n const payload: BridgeEventPayload<K> = {\n eventVersion: BRIDGE_EVENT_VERSION,\n timestamp: Date.now(),\n ...data,\n };\n const frozen: Readonly<BridgeEventPayload<K>> = Object.freeze(payload);\n if (this.logger) {\n const level = logLevel(event);\n this.logger[level](`[bridge] ${event}`, data as Record<string, unknown>);\n }\n // Wrap each call in Promise.resolve().then() so synchronous throws are\n // converted to rejected promises before Promise.allSettled receives them.\n const exactCalls = list.map((entry) =>\n Promise.resolve().then(() => entry.call(frozen))\n );\n const eventData: Readonly<BridgeEventMap[K]> = Object.freeze({ ...data });\n const anyEvent = Object.freeze({\n type: event,\n eventVersion: BRIDGE_EVENT_VERSION,\n timestamp: frozen.timestamp,\n data: eventData,\n }) as BridgeAnyEvent;\n const anyCalls = this.anyHandlers.map((h) =>\n Promise.resolve().then(() => h(anyEvent))\n );\n const results = await Promise.allSettled([...exactCalls, ...anyCalls]);\n for (const r of results) {\n if (r.status === 'rejected') {\n if (this.onError) {\n this.onError(event, r.reason);\n } else {\n const reason =\n r.reason instanceof Error ? r.reason.message : String(r.reason);\n process.stderr.write(\n `[octoflow] event handler error on '${event}': ${reason}\\n`\n );\n }\n }\n }\n }\n\n removeAllListeners(event?: keyof BridgeEventMap): void {\n if (event) {\n this.handlers.delete(event);\n } else {\n this.handlers.clear();\n this.anyHandlers.length = 0;\n }\n }\n\n listenerCount(event: keyof BridgeEventMap): number {\n return this.handlers.get(event)?.length ?? 0;\n }\n}\nexport async function emitAgentRunEvent(\n emitter: BridgeEventEmitter,\n event: RunEvent\n): Promise<void> {\n await emitter.emit(`agent:${event.kind}`, event);\n}\n", "import type { BridgeSendResult } from '../domain/bridge-api.js';\nimport type { Message, Part, Task, TextPart } from '../domain/core-task.js';\n\nexport function extractTextFromTask(task: Task): string {\n const artifact = task.artifacts?.find(\n (a) => a.artifactId === 'assistant-response'\n );\n if (artifact) {\n return artifact.parts\n .filter((p): p is Extract<Part, { kind: 'text' }> => p.kind === 'text')\n .map((p) => p.text)\n .join('');\n }\n const msg = task.status.message;\n if (!msg) return '';\n return msg.parts\n .filter((p): p is Extract<Part, { kind: 'text' }> => p.kind === 'text')\n .map((p) => p.text)\n .join('');\n}\n\nexport function extractText(result: BridgeSendResult): string {\n if (result.kind === 'message') {\n return result.message.parts\n .filter((p): p is Extract<Part, { kind: 'text' }> => p.kind === 'text')\n .map((p) => p.text)\n .join('');\n }\n return extractTextFromTask(result.task);\n}\n\n/**\n * Extracts the plain-text body from a run `message` parameter.\n * Handles both the `string` shorthand and the structured `Message` form.\n * Uses the `kind` discriminant for type-safe narrowing \u2014 not `'text' in p`.\n */\nexport function extractRunMessageText(message: Message | string): string {\n if (typeof message === 'string') return message;\n return message.parts\n .filter((p): p is TextPart => p.kind === 'text')\n .map((p) => p.text)\n .join('');\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["process", "path", "os", "crypto", "import_node_crypto", "crypto", "import_node_os", "import_node_path", "path", "path", "import_node_crypto", "crypto", "import_node_fs", "import_node_path", "attachEventId", "BetterSqlite3", "import_node_crypto", "import_zod", "crypto"]
7
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Test helpers and utilities for octoflow consumers.
3
+ * Import via `octoflow-core/testing`.
4
+ */
5
+ export { clearCliCache } from './adapters/agents/backends/shared.js';
6
+ export { InMemoryApprovalStore } from './adapters/data/approval-store/in-memory.js';
7
+ export { InMemorySessionStore } from './adapters/data/session-store/in-memory.js';
8
+ export { createTaskStore, InMemoryTaskStore, } from './adapters/data/task-store/index.js';
9
+ export type { CreatePluginTestContextOptions, PluginTestContext, } from './plugins/test-context.js';
10
+ export { createPluginTestContext } from './plugins/test-context.js';
11
+ export { extractText, extractTextFromTask } from './utils/extract-text.js';
12
+ //# sourceMappingURL=testing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EACL,eAAe,EACf,iBAAiB,GAClB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EACV,8BAA8B,EAC9B,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { clearCliCache } from "./adapters/agents/backends/shared.js";
2
+ import { InMemoryApprovalStore } from "./adapters/data/approval-store/in-memory.js";
3
+ import { InMemorySessionStore } from "./adapters/data/session-store/in-memory.js";
4
+ import {
5
+ createTaskStore,
6
+ InMemoryTaskStore
7
+ } from "./adapters/data/task-store/index.js";
8
+ import { createPluginTestContext } from "./plugins/test-context.js";
9
+ import { extractText, extractTextFromTask } from "./utils/extract-text.js";
10
+ export {
11
+ InMemoryApprovalStore,
12
+ InMemorySessionStore,
13
+ InMemoryTaskStore,
14
+ clearCliCache,
15
+ createPluginTestContext,
16
+ createTaskStore,
17
+ extractText,
18
+ extractTextFromTask
19
+ };
20
+ //# sourceMappingURL=testing.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/testing.ts"],
4
+ "sourcesContent": ["/**\n * Test helpers and utilities for octoflow consumers.\n * Import via `octoflow-core/testing`.\n */\nexport { clearCliCache } from './adapters/agents/backends/shared.js';\nexport { InMemoryApprovalStore } from './adapters/data/approval-store/in-memory.js';\nexport { InMemorySessionStore } from './adapters/data/session-store/in-memory.js';\nexport {\n createTaskStore,\n InMemoryTaskStore,\n} from './adapters/data/task-store/index.js';\nexport type {\n CreatePluginTestContextOptions,\n PluginTestContext,\n} from './plugins/test-context.js';\nexport { createPluginTestContext } from './plugins/test-context.js';\nexport { extractText, extractTextFromTask } from './utils/extract-text.js';\n"],
5
+ "mappings": "AAIA,SAAS,qBAAqB;AAC9B,SAAS,6BAA6B;AACtC,SAAS,4BAA4B;AACrC;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAKP,SAAS,+BAA+B;AACxC,SAAS,aAAa,2BAA2B;",
6
+ "names": []
7
+ }