@withbuddi/buddi 0.1.0-pre.19 → 0.1.0-pre.21

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 (525) hide show
  1. package/README.md +1 -1
  2. package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
  3. package/node_modules/@buddi/cli/dist/args.d.ts +6 -0
  4. package/node_modules/@buddi/cli/dist/args.d.ts.map +1 -1
  5. package/node_modules/@buddi/cli/dist/args.js +15 -0
  6. package/node_modules/@buddi/cli/dist/args.js.map +1 -1
  7. package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -1
  8. package/node_modules/@buddi/cli/dist/commands.js +18 -1
  9. package/node_modules/@buddi/cli/dist/commands.js.map +1 -1
  10. package/node_modules/@buddi/cli/dist/main.d.ts.map +1 -1
  11. package/node_modules/@buddi/cli/dist/main.js +19 -2
  12. package/node_modules/@buddi/cli/dist/main.js.map +1 -1
  13. package/node_modules/@buddi/cli/dist/status.d.ts +10 -0
  14. package/node_modules/@buddi/cli/dist/status.d.ts.map +1 -1
  15. package/node_modules/@buddi/cli/dist/status.js +4 -0
  16. package/node_modules/@buddi/cli/dist/status.js.map +1 -1
  17. package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
  18. package/node_modules/@buddi/core/dist/agents/catalog.d.ts.map +1 -1
  19. package/node_modules/@buddi/core/dist/agents/catalog.js +7 -1
  20. package/node_modules/@buddi/core/dist/agents/catalog.js.map +1 -1
  21. package/node_modules/@buddi/core/dist/host/build.d.ts.map +1 -1
  22. package/node_modules/@buddi/core/dist/host/build.js +33 -16
  23. package/node_modules/@buddi/core/dist/host/build.js.map +1 -1
  24. package/node_modules/@buddi/core/dist/host/types.d.ts +17 -0
  25. package/node_modules/@buddi/core/dist/host/types.d.ts.map +1 -1
  26. package/node_modules/@buddi/core/dist/pages/__fixtures__/demo.d.ts.map +1 -1
  27. package/node_modules/@buddi/core/dist/pages/__fixtures__/demo.js +1 -0
  28. package/node_modules/@buddi/core/dist/pages/__fixtures__/demo.js.map +1 -1
  29. package/node_modules/@buddi/core/dist/pages.d.ts +74 -0
  30. package/node_modules/@buddi/core/dist/pages.d.ts.map +1 -1
  31. package/node_modules/@buddi/core/dist/pages.js +27 -1
  32. package/node_modules/@buddi/core/dist/pages.js.map +1 -1
  33. package/node_modules/@buddi/core/dist/plugin/index.d.ts +2 -2
  34. package/node_modules/@buddi/core/dist/plugin/index.d.ts.map +1 -1
  35. package/node_modules/@buddi/core/dist/plugin/version.d.ts +1 -1
  36. package/node_modules/@buddi/core/dist/plugin/version.js +1 -1
  37. package/node_modules/@buddi/core/dist/provider-accounts.d.ts +15 -1
  38. package/node_modules/@buddi/core/dist/provider-accounts.d.ts.map +1 -1
  39. package/node_modules/@buddi/core/dist/provider-accounts.js +22 -1
  40. package/node_modules/@buddi/core/dist/provider-accounts.js.map +1 -1
  41. package/node_modules/@buddi/core/dist/provider.d.ts +6 -0
  42. package/node_modules/@buddi/core/dist/provider.d.ts.map +1 -1
  43. package/node_modules/@buddi/core/dist/provider.js.map +1 -1
  44. package/node_modules/@buddi/core/dist/surfaces.d.ts +11 -0
  45. package/node_modules/@buddi/core/dist/surfaces.d.ts.map +1 -1
  46. package/node_modules/@buddi/core/dist/surfaces.js +4 -0
  47. package/node_modules/@buddi/core/dist/surfaces.js.map +1 -1
  48. package/node_modules/@buddi/core/migrations/046_ollama_device_key.sql +7 -0
  49. package/node_modules/@buddi/core/migrations/047_reported_context_windows.sql +5 -0
  50. package/node_modules/@buddi/core/migrations/048_surface_chat_voice.sql +13 -0
  51. package/node_modules/@buddi/core/migrations/049_surface_chat_voice_form.sql +8 -0
  52. package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
  53. package/node_modules/@buddi/gateway/dist/agents-cli.d.ts +2 -0
  54. package/node_modules/@buddi/gateway/dist/agents-cli.d.ts.map +1 -1
  55. package/node_modules/@buddi/gateway/dist/agents-cli.js +5 -3
  56. package/node_modules/@buddi/gateway/dist/agents-cli.js.map +1 -1
  57. package/node_modules/@buddi/gateway/dist/chat/session.d.ts.map +1 -1
  58. package/node_modules/@buddi/gateway/dist/chat/session.js +2 -2
  59. package/node_modules/@buddi/gateway/dist/chat/session.js.map +1 -1
  60. package/node_modules/@buddi/gateway/dist/chat/usage.d.ts +16 -0
  61. package/node_modules/@buddi/gateway/dist/chat/usage.d.ts.map +1 -1
  62. package/node_modules/@buddi/gateway/dist/chat/usage.js +53 -11
  63. package/node_modules/@buddi/gateway/dist/chat/usage.js.map +1 -1
  64. package/node_modules/@buddi/gateway/dist/codex-accounts.d.ts +24 -11
  65. package/node_modules/@buddi/gateway/dist/codex-accounts.d.ts.map +1 -1
  66. package/node_modules/@buddi/gateway/dist/codex-accounts.js +151 -215
  67. package/node_modules/@buddi/gateway/dist/codex-accounts.js.map +1 -1
  68. package/node_modules/@buddi/gateway/dist/index.d.ts +2 -0
  69. package/node_modules/@buddi/gateway/dist/index.d.ts.map +1 -1
  70. package/node_modules/@buddi/gateway/dist/index.js +2 -0
  71. package/node_modules/@buddi/gateway/dist/index.js.map +1 -1
  72. package/node_modules/@buddi/gateway/dist/ollama-accounts.d.ts +87 -0
  73. package/node_modules/@buddi/gateway/dist/ollama-accounts.d.ts.map +1 -0
  74. package/node_modules/@buddi/gateway/dist/ollama-accounts.js +179 -0
  75. package/node_modules/@buddi/gateway/dist/ollama-accounts.js.map +1 -0
  76. package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts +51 -1
  77. package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts.map +1 -1
  78. package/node_modules/@buddi/gateway/dist/provider-accounts.js +184 -25
  79. package/node_modules/@buddi/gateway/dist/provider-accounts.js.map +1 -1
  80. package/node_modules/@buddi/gateway/dist/speech-cli.d.ts +43 -0
  81. package/node_modules/@buddi/gateway/dist/speech-cli.d.ts.map +1 -0
  82. package/node_modules/@buddi/gateway/dist/speech-cli.js +105 -0
  83. package/node_modules/@buddi/gateway/dist/speech-cli.js.map +1 -0
  84. package/node_modules/@buddi/gateway/dist/surfaces/context-budget.d.ts.map +1 -1
  85. package/node_modules/@buddi/gateway/dist/surfaces/context-budget.js +10 -3
  86. package/node_modules/@buddi/gateway/dist/surfaces/context-budget.js.map +1 -1
  87. package/node_modules/@buddi/gateway/dist/telegram/api.d.ts +10 -0
  88. package/node_modules/@buddi/gateway/dist/telegram/api.d.ts.map +1 -1
  89. package/node_modules/@buddi/gateway/dist/telegram/api.js +12 -0
  90. package/node_modules/@buddi/gateway/dist/telegram/api.js.map +1 -1
  91. package/node_modules/@buddi/gateway/dist/telegram/browser-view.d.ts +2 -1
  92. package/node_modules/@buddi/gateway/dist/telegram/browser-view.d.ts.map +1 -1
  93. package/node_modules/@buddi/gateway/dist/telegram/browser-view.js +4 -2
  94. package/node_modules/@buddi/gateway/dist/telegram/browser-view.js.map +1 -1
  95. package/node_modules/@buddi/gateway/dist/telegram/main.d.ts.map +1 -1
  96. package/node_modules/@buddi/gateway/dist/telegram/main.js +10 -2
  97. package/node_modules/@buddi/gateway/dist/telegram/main.js.map +1 -1
  98. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts +25 -0
  99. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts.map +1 -1
  100. package/node_modules/@buddi/gateway/dist/telegram/surface.js +212 -10
  101. package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
  102. package/node_modules/@buddi/gateway/dist/telegram/voice.d.ts +112 -0
  103. package/node_modules/@buddi/gateway/dist/telegram/voice.d.ts.map +1 -0
  104. package/node_modules/@buddi/gateway/dist/telegram/voice.js +220 -0
  105. package/node_modules/@buddi/gateway/dist/telegram/voice.js.map +1 -0
  106. package/node_modules/@buddi/gateway/dist/web/chat.d.ts +31 -8
  107. package/node_modules/@buddi/gateway/dist/web/chat.d.ts.map +1 -1
  108. package/node_modules/@buddi/gateway/dist/web/chat.js +3 -2
  109. package/node_modules/@buddi/gateway/dist/web/chat.js.map +1 -1
  110. package/node_modules/@buddi/gateway/dist/web/onboarding.d.ts +13 -2
  111. package/node_modules/@buddi/gateway/dist/web/onboarding.d.ts.map +1 -1
  112. package/node_modules/@buddi/gateway/dist/web/onboarding.js +24 -3
  113. package/node_modules/@buddi/gateway/dist/web/onboarding.js.map +1 -1
  114. package/node_modules/@buddi/gateway/dist/web/read.d.ts +15 -12
  115. package/node_modules/@buddi/gateway/dist/web/read.d.ts.map +1 -1
  116. package/node_modules/@buddi/gateway/dist/web/read.js +9 -10
  117. package/node_modules/@buddi/gateway/dist/web/read.js.map +1 -1
  118. package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
  119. package/node_modules/@buddi/gateway/dist/web/server.js +29 -13
  120. package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
  121. package/node_modules/@buddi/gateway/dist/web/speech.d.ts +47 -0
  122. package/node_modules/@buddi/gateway/dist/web/speech.d.ts.map +1 -0
  123. package/node_modules/@buddi/gateway/dist/web/speech.js +83 -0
  124. package/node_modules/@buddi/gateway/dist/web/speech.js.map +1 -0
  125. package/node_modules/@buddi/gateway/dist/web/stream.d.ts +0 -24
  126. package/node_modules/@buddi/gateway/dist/web/stream.d.ts.map +1 -1
  127. package/node_modules/@buddi/gateway/dist/web/stream.js +26 -2
  128. package/node_modules/@buddi/gateway/dist/web/stream.js.map +1 -1
  129. package/node_modules/@buddi/gateway/dist/web/usage-view.d.ts +15 -0
  130. package/node_modules/@buddi/gateway/dist/web/usage-view.d.ts.map +1 -0
  131. package/node_modules/@buddi/gateway/dist/web/usage-view.js +20 -0
  132. package/node_modules/@buddi/gateway/dist/web/usage-view.js.map +1 -0
  133. package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
  134. package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
  135. package/node_modules/@buddi/runtime/dist/anthropic.d.ts +18 -0
  136. package/node_modules/@buddi/runtime/dist/anthropic.d.ts.map +1 -1
  137. package/node_modules/@buddi/runtime/dist/anthropic.js +65 -13
  138. package/node_modules/@buddi/runtime/dist/anthropic.js.map +1 -1
  139. package/node_modules/@buddi/runtime/dist/codex-direct.d.ts +55 -0
  140. package/node_modules/@buddi/runtime/dist/codex-direct.d.ts.map +1 -0
  141. package/node_modules/@buddi/runtime/dist/codex-direct.js +342 -0
  142. package/node_modules/@buddi/runtime/dist/codex-direct.js.map +1 -0
  143. package/node_modules/@buddi/runtime/dist/codex-oauth.d.ts +66 -0
  144. package/node_modules/@buddi/runtime/dist/codex-oauth.d.ts.map +1 -0
  145. package/node_modules/@buddi/runtime/dist/codex-oauth.js +210 -0
  146. package/node_modules/@buddi/runtime/dist/codex-oauth.js.map +1 -0
  147. package/node_modules/@buddi/runtime/dist/codex-profile.d.ts +19 -0
  148. package/node_modules/@buddi/runtime/dist/codex-profile.d.ts.map +1 -0
  149. package/node_modules/@buddi/runtime/dist/codex-profile.js +99 -0
  150. package/node_modules/@buddi/runtime/dist/codex-profile.js.map +1 -0
  151. package/node_modules/@buddi/runtime/dist/context-window.d.ts.map +1 -1
  152. package/node_modules/@buddi/runtime/dist/context-window.js +17 -4
  153. package/node_modules/@buddi/runtime/dist/context-window.js.map +1 -1
  154. package/node_modules/@buddi/runtime/dist/delegate.d.ts +24 -0
  155. package/node_modules/@buddi/runtime/dist/delegate.d.ts.map +1 -1
  156. package/node_modules/@buddi/runtime/dist/delegate.js +87 -11
  157. package/node_modules/@buddi/runtime/dist/delegate.js.map +1 -1
  158. package/node_modules/@buddi/runtime/dist/index.d.ts +4 -4
  159. package/node_modules/@buddi/runtime/dist/index.d.ts.map +1 -1
  160. package/node_modules/@buddi/runtime/dist/index.js +5 -5
  161. package/node_modules/@buddi/runtime/dist/index.js.map +1 -1
  162. package/node_modules/@buddi/runtime/dist/loop.d.ts +7 -0
  163. package/node_modules/@buddi/runtime/dist/loop.d.ts.map +1 -1
  164. package/node_modules/@buddi/runtime/dist/loop.js +54 -8
  165. package/node_modules/@buddi/runtime/dist/loop.js.map +1 -1
  166. package/node_modules/@buddi/runtime/dist/ollama-signing.d.ts +52 -0
  167. package/node_modules/@buddi/runtime/dist/ollama-signing.d.ts.map +1 -0
  168. package/node_modules/@buddi/runtime/dist/ollama-signing.js +154 -0
  169. package/node_modules/@buddi/runtime/dist/ollama-signing.js.map +1 -0
  170. package/node_modules/@buddi/runtime/dist/openai.d.ts +16 -4
  171. package/node_modules/@buddi/runtime/dist/openai.d.ts.map +1 -1
  172. package/node_modules/@buddi/runtime/dist/openai.js +44 -11
  173. package/node_modules/@buddi/runtime/dist/openai.js.map +1 -1
  174. package/node_modules/@buddi/runtime/dist/provider-models.d.ts +2 -0
  175. package/node_modules/@buddi/runtime/dist/provider-models.d.ts.map +1 -1
  176. package/node_modules/@buddi/runtime/dist/provider-models.js +13 -4
  177. package/node_modules/@buddi/runtime/dist/provider-models.js.map +1 -1
  178. package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
  179. package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
  180. package/node_modules/@buddi/tool-browser/dist/computer.d.ts +53 -1
  181. package/node_modules/@buddi/tool-browser/dist/computer.d.ts.map +1 -1
  182. package/node_modules/@buddi/tool-browser/dist/computer.js +154 -5
  183. package/node_modules/@buddi/tool-browser/dist/computer.js.map +1 -1
  184. package/node_modules/@buddi/tool-browser/dist/controller.d.ts +20 -3
  185. package/node_modules/@buddi/tool-browser/dist/controller.d.ts.map +1 -1
  186. package/node_modules/@buddi/tool-browser/dist/controller.js +170 -5
  187. package/node_modules/@buddi/tool-browser/dist/controller.js.map +1 -1
  188. package/node_modules/@buddi/tool-browser/dist/index.d.ts.map +1 -1
  189. package/node_modules/@buddi/tool-browser/dist/index.js +9 -1
  190. package/node_modules/@buddi/tool-browser/dist/index.js.map +1 -1
  191. package/node_modules/@buddi/tool-browser/dist/service.d.ts +14 -1
  192. package/node_modules/@buddi/tool-browser/dist/service.d.ts.map +1 -1
  193. package/node_modules/@buddi/tool-browser/dist/service.js +28 -5
  194. package/node_modules/@buddi/tool-browser/dist/service.js.map +1 -1
  195. package/node_modules/@buddi/tool-browser/dist/types.d.ts +11 -0
  196. package/node_modules/@buddi/tool-browser/dist/types.d.ts.map +1 -1
  197. package/node_modules/@buddi/tool-browser/dist/types.js +16 -3
  198. package/node_modules/@buddi/tool-browser/dist/types.js.map +1 -1
  199. package/node_modules/@buddi/tool-browser/package.json +1 -1
  200. package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
  201. package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
  202. package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
  203. package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
  204. package/node_modules/imapflow/CHANGELOG.md +29 -0
  205. package/node_modules/imapflow/dist/cjs/commands/append.js +12 -12
  206. package/node_modules/imapflow/dist/cjs/commands/authenticate.d.ts +3 -8
  207. package/node_modules/imapflow/dist/cjs/commands/close.js +2 -1
  208. package/node_modules/imapflow/dist/cjs/commands/copy.js +4 -4
  209. package/node_modules/imapflow/dist/cjs/commands/create.js +2 -3
  210. package/node_modules/imapflow/dist/cjs/commands/delete.js +4 -4
  211. package/node_modules/imapflow/dist/cjs/commands/expunge.js +8 -5
  212. package/node_modules/imapflow/dist/cjs/commands/fetch.js +12 -10
  213. package/node_modules/imapflow/dist/cjs/commands/idle.js +6 -2
  214. package/node_modules/imapflow/dist/cjs/commands/list.js +22 -18
  215. package/node_modules/imapflow/dist/cjs/commands/move.js +11 -6
  216. package/node_modules/imapflow/dist/cjs/commands/namespace.js +1 -1
  217. package/node_modules/imapflow/dist/cjs/commands/quota.js +10 -9
  218. package/node_modules/imapflow/dist/cjs/commands/rename.js +4 -4
  219. package/node_modules/imapflow/dist/cjs/commands/search.js +7 -8
  220. package/node_modules/imapflow/dist/cjs/commands/select.js +12 -9
  221. package/node_modules/imapflow/dist/cjs/commands/status.js +11 -11
  222. package/node_modules/imapflow/dist/cjs/commands/store.js +5 -5
  223. package/node_modules/imapflow/dist/cjs/commands/subscribe.js +2 -17
  224. package/node_modules/imapflow/dist/cjs/commands/subscription.d.ts +10 -0
  225. package/node_modules/imapflow/dist/cjs/commands/subscription.js +29 -0
  226. package/node_modules/imapflow/dist/cjs/commands/unsubscribe.js +2 -17
  227. package/node_modules/imapflow/dist/cjs/download.d.ts +22 -0
  228. package/node_modules/imapflow/dist/cjs/download.js +588 -0
  229. package/node_modules/imapflow/dist/cjs/errors.d.ts +50 -1
  230. package/node_modules/imapflow/dist/cjs/errors.js +53 -1
  231. package/node_modules/imapflow/dist/cjs/handler/imap-compiler.js +1 -1
  232. package/node_modules/imapflow/dist/cjs/handler/imap-stream.d.ts +13 -2
  233. package/node_modules/imapflow/dist/cjs/handler/imap-stream.js +51 -30
  234. package/node_modules/imapflow/dist/cjs/handler/parser-instance.js +2 -2
  235. package/node_modules/imapflow/dist/cjs/handler/token-parser.js +15 -9
  236. package/node_modules/imapflow/dist/cjs/imap-flow.d.ts +30 -84
  237. package/node_modules/imapflow/dist/cjs/imap-flow.js +282 -734
  238. package/node_modules/imapflow/dist/cjs/jp-decoder.js +1 -1
  239. package/node_modules/imapflow/dist/cjs/package-info.d.ts +1 -1
  240. package/node_modules/imapflow/dist/cjs/package-info.js +3 -3
  241. package/node_modules/imapflow/dist/cjs/search-compiler.js +5 -12
  242. package/node_modules/imapflow/dist/cjs/tools.d.ts +52 -11
  243. package/node_modules/imapflow/dist/cjs/tools.js +86 -23
  244. package/node_modules/imapflow/dist/cjs/types.d.ts +30 -16
  245. package/node_modules/imapflow/dist/esm/commands/append.js +13 -13
  246. package/node_modules/imapflow/dist/esm/commands/authenticate.d.ts +3 -8
  247. package/node_modules/imapflow/dist/esm/commands/close.js +2 -1
  248. package/node_modules/imapflow/dist/esm/commands/copy.js +5 -5
  249. package/node_modules/imapflow/dist/esm/commands/create.js +3 -4
  250. package/node_modules/imapflow/dist/esm/commands/delete.js +5 -5
  251. package/node_modules/imapflow/dist/esm/commands/expunge.js +9 -6
  252. package/node_modules/imapflow/dist/esm/commands/fetch.js +13 -11
  253. package/node_modules/imapflow/dist/esm/commands/idle.js +7 -3
  254. package/node_modules/imapflow/dist/esm/commands/list.js +22 -18
  255. package/node_modules/imapflow/dist/esm/commands/move.js +12 -7
  256. package/node_modules/imapflow/dist/esm/commands/namespace.js +2 -2
  257. package/node_modules/imapflow/dist/esm/commands/quota.js +11 -10
  258. package/node_modules/imapflow/dist/esm/commands/rename.js +5 -5
  259. package/node_modules/imapflow/dist/esm/commands/search.js +8 -9
  260. package/node_modules/imapflow/dist/esm/commands/select.js +13 -10
  261. package/node_modules/imapflow/dist/esm/commands/status.js +12 -12
  262. package/node_modules/imapflow/dist/esm/commands/store.js +6 -6
  263. package/node_modules/imapflow/dist/esm/commands/subscribe.js +2 -17
  264. package/node_modules/imapflow/dist/esm/commands/subscription.d.ts +10 -0
  265. package/node_modules/imapflow/dist/esm/commands/subscription.js +26 -0
  266. package/node_modules/imapflow/dist/esm/commands/unsubscribe.js +2 -17
  267. package/node_modules/imapflow/dist/esm/download.d.ts +22 -0
  268. package/node_modules/imapflow/dist/esm/download.js +581 -0
  269. package/node_modules/imapflow/dist/esm/errors.d.ts +50 -1
  270. package/node_modules/imapflow/dist/esm/errors.js +52 -0
  271. package/node_modules/imapflow/dist/esm/handler/imap-compiler.js +1 -1
  272. package/node_modules/imapflow/dist/esm/handler/imap-stream.d.ts +13 -2
  273. package/node_modules/imapflow/dist/esm/handler/imap-stream.js +51 -30
  274. package/node_modules/imapflow/dist/esm/handler/parser-instance.js +2 -2
  275. package/node_modules/imapflow/dist/esm/handler/token-parser.js +15 -9
  276. package/node_modules/imapflow/dist/esm/imap-flow.d.ts +30 -84
  277. package/node_modules/imapflow/dist/esm/imap-flow.js +282 -735
  278. package/node_modules/imapflow/dist/esm/jp-decoder.js +1 -1
  279. package/node_modules/imapflow/dist/esm/package-info.d.ts +1 -1
  280. package/node_modules/imapflow/dist/esm/package-info.js +3 -3
  281. package/node_modules/imapflow/dist/esm/search-compiler.js +5 -12
  282. package/node_modules/imapflow/dist/esm/tools.d.ts +52 -11
  283. package/node_modules/imapflow/dist/esm/tools.js +79 -21
  284. package/node_modules/imapflow/dist/esm/types.d.ts +30 -16
  285. package/node_modules/imapflow/package.json +4 -4
  286. package/package.json +2 -2
  287. package/packages/cli/dist/.tsbuildinfo +1 -1
  288. package/packages/cli/dist/args.d.ts +6 -0
  289. package/packages/cli/dist/args.d.ts.map +1 -1
  290. package/packages/cli/dist/args.js +15 -0
  291. package/packages/cli/dist/args.js.map +1 -1
  292. package/packages/cli/dist/commands.d.ts.map +1 -1
  293. package/packages/cli/dist/commands.js +18 -1
  294. package/packages/cli/dist/commands.js.map +1 -1
  295. package/packages/cli/dist/main.d.ts.map +1 -1
  296. package/packages/cli/dist/main.js +19 -2
  297. package/packages/cli/dist/main.js.map +1 -1
  298. package/packages/cli/dist/status.d.ts +10 -0
  299. package/packages/cli/dist/status.d.ts.map +1 -1
  300. package/packages/cli/dist/status.js +4 -0
  301. package/packages/cli/dist/status.js.map +1 -1
  302. package/packages/core/dist/.tsbuildinfo +1 -1
  303. package/packages/core/dist/agents/catalog.d.ts.map +1 -1
  304. package/packages/core/dist/agents/catalog.js +7 -1
  305. package/packages/core/dist/agents/catalog.js.map +1 -1
  306. package/packages/core/dist/host/build.d.ts.map +1 -1
  307. package/packages/core/dist/host/build.js +33 -16
  308. package/packages/core/dist/host/build.js.map +1 -1
  309. package/packages/core/dist/host/types.d.ts +17 -0
  310. package/packages/core/dist/host/types.d.ts.map +1 -1
  311. package/packages/core/dist/pages/__fixtures__/demo.d.ts.map +1 -1
  312. package/packages/core/dist/pages/__fixtures__/demo.js +1 -0
  313. package/packages/core/dist/pages/__fixtures__/demo.js.map +1 -1
  314. package/packages/core/dist/pages.d.ts +74 -0
  315. package/packages/core/dist/pages.d.ts.map +1 -1
  316. package/packages/core/dist/pages.js +27 -1
  317. package/packages/core/dist/pages.js.map +1 -1
  318. package/packages/core/dist/plugin/index.d.ts +2 -2
  319. package/packages/core/dist/plugin/index.d.ts.map +1 -1
  320. package/packages/core/dist/plugin/version.d.ts +1 -1
  321. package/packages/core/dist/plugin/version.js +1 -1
  322. package/packages/core/dist/provider-accounts.d.ts +15 -1
  323. package/packages/core/dist/provider-accounts.d.ts.map +1 -1
  324. package/packages/core/dist/provider-accounts.js +22 -1
  325. package/packages/core/dist/provider-accounts.js.map +1 -1
  326. package/packages/core/dist/provider.d.ts +6 -0
  327. package/packages/core/dist/provider.d.ts.map +1 -1
  328. package/packages/core/dist/provider.js.map +1 -1
  329. package/packages/core/dist/surfaces.d.ts +11 -0
  330. package/packages/core/dist/surfaces.d.ts.map +1 -1
  331. package/packages/core/dist/surfaces.js +4 -0
  332. package/packages/core/dist/surfaces.js.map +1 -1
  333. package/packages/core/migrations/046_ollama_device_key.sql +7 -0
  334. package/packages/core/migrations/047_reported_context_windows.sql +5 -0
  335. package/packages/core/migrations/048_surface_chat_voice.sql +13 -0
  336. package/packages/core/migrations/049_surface_chat_voice_form.sql +8 -0
  337. package/packages/gateway/dist/.tsbuildinfo +1 -1
  338. package/packages/gateway/dist/agents-cli.d.ts +2 -0
  339. package/packages/gateway/dist/agents-cli.d.ts.map +1 -1
  340. package/packages/gateway/dist/agents-cli.js +5 -3
  341. package/packages/gateway/dist/agents-cli.js.map +1 -1
  342. package/packages/gateway/dist/chat/session.d.ts.map +1 -1
  343. package/packages/gateway/dist/chat/session.js +2 -2
  344. package/packages/gateway/dist/chat/session.js.map +1 -1
  345. package/packages/gateway/dist/chat/usage.d.ts +16 -0
  346. package/packages/gateway/dist/chat/usage.d.ts.map +1 -1
  347. package/packages/gateway/dist/chat/usage.js +53 -11
  348. package/packages/gateway/dist/chat/usage.js.map +1 -1
  349. package/packages/gateway/dist/codex-accounts.d.ts +24 -11
  350. package/packages/gateway/dist/codex-accounts.d.ts.map +1 -1
  351. package/packages/gateway/dist/codex-accounts.js +151 -215
  352. package/packages/gateway/dist/codex-accounts.js.map +1 -1
  353. package/packages/gateway/dist/index.d.ts +2 -0
  354. package/packages/gateway/dist/index.d.ts.map +1 -1
  355. package/packages/gateway/dist/index.js +2 -0
  356. package/packages/gateway/dist/index.js.map +1 -1
  357. package/packages/gateway/dist/ollama-accounts.d.ts +87 -0
  358. package/packages/gateway/dist/ollama-accounts.d.ts.map +1 -0
  359. package/packages/gateway/dist/ollama-accounts.js +179 -0
  360. package/packages/gateway/dist/ollama-accounts.js.map +1 -0
  361. package/packages/gateway/dist/provider-accounts.d.ts +51 -1
  362. package/packages/gateway/dist/provider-accounts.d.ts.map +1 -1
  363. package/packages/gateway/dist/provider-accounts.js +184 -25
  364. package/packages/gateway/dist/provider-accounts.js.map +1 -1
  365. package/packages/gateway/dist/speech-cli.d.ts +43 -0
  366. package/packages/gateway/dist/speech-cli.d.ts.map +1 -0
  367. package/packages/gateway/dist/speech-cli.js +105 -0
  368. package/packages/gateway/dist/speech-cli.js.map +1 -0
  369. package/packages/gateway/dist/surfaces/context-budget.d.ts.map +1 -1
  370. package/packages/gateway/dist/surfaces/context-budget.js +10 -3
  371. package/packages/gateway/dist/surfaces/context-budget.js.map +1 -1
  372. package/packages/gateway/dist/telegram/api.d.ts +10 -0
  373. package/packages/gateway/dist/telegram/api.d.ts.map +1 -1
  374. package/packages/gateway/dist/telegram/api.js +12 -0
  375. package/packages/gateway/dist/telegram/api.js.map +1 -1
  376. package/packages/gateway/dist/telegram/browser-view.d.ts +2 -1
  377. package/packages/gateway/dist/telegram/browser-view.d.ts.map +1 -1
  378. package/packages/gateway/dist/telegram/browser-view.js +4 -2
  379. package/packages/gateway/dist/telegram/browser-view.js.map +1 -1
  380. package/packages/gateway/dist/telegram/main.d.ts.map +1 -1
  381. package/packages/gateway/dist/telegram/main.js +10 -2
  382. package/packages/gateway/dist/telegram/main.js.map +1 -1
  383. package/packages/gateway/dist/telegram/surface.d.ts +25 -0
  384. package/packages/gateway/dist/telegram/surface.d.ts.map +1 -1
  385. package/packages/gateway/dist/telegram/surface.js +212 -10
  386. package/packages/gateway/dist/telegram/surface.js.map +1 -1
  387. package/packages/gateway/dist/telegram/voice.d.ts +112 -0
  388. package/packages/gateway/dist/telegram/voice.d.ts.map +1 -0
  389. package/packages/gateway/dist/telegram/voice.js +220 -0
  390. package/packages/gateway/dist/telegram/voice.js.map +1 -0
  391. package/packages/gateway/dist/web/chat.d.ts +31 -8
  392. package/packages/gateway/dist/web/chat.d.ts.map +1 -1
  393. package/packages/gateway/dist/web/chat.js +3 -2
  394. package/packages/gateway/dist/web/chat.js.map +1 -1
  395. package/packages/gateway/dist/web/onboarding.d.ts +13 -2
  396. package/packages/gateway/dist/web/onboarding.d.ts.map +1 -1
  397. package/packages/gateway/dist/web/onboarding.js +24 -3
  398. package/packages/gateway/dist/web/onboarding.js.map +1 -1
  399. package/packages/gateway/dist/web/read.d.ts +15 -12
  400. package/packages/gateway/dist/web/read.d.ts.map +1 -1
  401. package/packages/gateway/dist/web/read.js +9 -10
  402. package/packages/gateway/dist/web/read.js.map +1 -1
  403. package/packages/gateway/dist/web/server.d.ts.map +1 -1
  404. package/packages/gateway/dist/web/server.js +29 -13
  405. package/packages/gateway/dist/web/server.js.map +1 -1
  406. package/packages/gateway/dist/web/speech.d.ts +47 -0
  407. package/packages/gateway/dist/web/speech.d.ts.map +1 -0
  408. package/packages/gateway/dist/web/speech.js +83 -0
  409. package/packages/gateway/dist/web/speech.js.map +1 -0
  410. package/packages/gateway/dist/web/stream.d.ts +0 -24
  411. package/packages/gateway/dist/web/stream.d.ts.map +1 -1
  412. package/packages/gateway/dist/web/stream.js +26 -2
  413. package/packages/gateway/dist/web/stream.js.map +1 -1
  414. package/packages/gateway/dist/web/usage-view.d.ts +15 -0
  415. package/packages/gateway/dist/web/usage-view.d.ts.map +1 -0
  416. package/packages/gateway/dist/web/usage-view.js +20 -0
  417. package/packages/gateway/dist/web/usage-view.js.map +1 -0
  418. package/packages/install/dist/.tsbuildinfo +1 -1
  419. package/packages/runtime/dist/.tsbuildinfo +1 -1
  420. package/packages/runtime/dist/anthropic.d.ts +18 -0
  421. package/packages/runtime/dist/anthropic.d.ts.map +1 -1
  422. package/packages/runtime/dist/anthropic.js +65 -13
  423. package/packages/runtime/dist/anthropic.js.map +1 -1
  424. package/packages/runtime/dist/codex-direct.d.ts +55 -0
  425. package/packages/runtime/dist/codex-direct.d.ts.map +1 -0
  426. package/packages/runtime/dist/codex-direct.js +342 -0
  427. package/packages/runtime/dist/codex-direct.js.map +1 -0
  428. package/packages/runtime/dist/codex-oauth.d.ts +66 -0
  429. package/packages/runtime/dist/codex-oauth.d.ts.map +1 -0
  430. package/packages/runtime/dist/codex-oauth.js +210 -0
  431. package/packages/runtime/dist/codex-oauth.js.map +1 -0
  432. package/packages/runtime/dist/codex-profile.d.ts +19 -0
  433. package/packages/runtime/dist/codex-profile.d.ts.map +1 -0
  434. package/packages/runtime/dist/codex-profile.js +99 -0
  435. package/packages/runtime/dist/codex-profile.js.map +1 -0
  436. package/packages/runtime/dist/context-window.d.ts.map +1 -1
  437. package/packages/runtime/dist/context-window.js +17 -4
  438. package/packages/runtime/dist/context-window.js.map +1 -1
  439. package/packages/runtime/dist/delegate.d.ts +24 -0
  440. package/packages/runtime/dist/delegate.d.ts.map +1 -1
  441. package/packages/runtime/dist/delegate.js +87 -11
  442. package/packages/runtime/dist/delegate.js.map +1 -1
  443. package/packages/runtime/dist/index.d.ts +4 -4
  444. package/packages/runtime/dist/index.d.ts.map +1 -1
  445. package/packages/runtime/dist/index.js +5 -5
  446. package/packages/runtime/dist/index.js.map +1 -1
  447. package/packages/runtime/dist/loop.d.ts +7 -0
  448. package/packages/runtime/dist/loop.d.ts.map +1 -1
  449. package/packages/runtime/dist/loop.js +54 -8
  450. package/packages/runtime/dist/loop.js.map +1 -1
  451. package/packages/runtime/dist/ollama-signing.d.ts +52 -0
  452. package/packages/runtime/dist/ollama-signing.d.ts.map +1 -0
  453. package/packages/runtime/dist/ollama-signing.js +154 -0
  454. package/packages/runtime/dist/ollama-signing.js.map +1 -0
  455. package/packages/runtime/dist/openai.d.ts +16 -4
  456. package/packages/runtime/dist/openai.d.ts.map +1 -1
  457. package/packages/runtime/dist/openai.js +44 -11
  458. package/packages/runtime/dist/openai.js.map +1 -1
  459. package/packages/runtime/dist/provider-models.d.ts +2 -0
  460. package/packages/runtime/dist/provider-models.d.ts.map +1 -1
  461. package/packages/runtime/dist/provider-models.js +13 -4
  462. package/packages/runtime/dist/provider-models.js.map +1 -1
  463. package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
  464. package/packages/tools/browser/dist/.tsbuildinfo +1 -1
  465. package/packages/tools/browser/dist/computer.d.ts +53 -1
  466. package/packages/tools/browser/dist/computer.d.ts.map +1 -1
  467. package/packages/tools/browser/dist/computer.js +154 -5
  468. package/packages/tools/browser/dist/computer.js.map +1 -1
  469. package/packages/tools/browser/dist/controller.d.ts +20 -3
  470. package/packages/tools/browser/dist/controller.d.ts.map +1 -1
  471. package/packages/tools/browser/dist/controller.js +170 -5
  472. package/packages/tools/browser/dist/controller.js.map +1 -1
  473. package/packages/tools/browser/dist/index.d.ts.map +1 -1
  474. package/packages/tools/browser/dist/index.js +9 -1
  475. package/packages/tools/browser/dist/index.js.map +1 -1
  476. package/packages/tools/browser/dist/service.d.ts +14 -1
  477. package/packages/tools/browser/dist/service.d.ts.map +1 -1
  478. package/packages/tools/browser/dist/service.js +28 -5
  479. package/packages/tools/browser/dist/service.js.map +1 -1
  480. package/packages/tools/browser/dist/types.d.ts +11 -0
  481. package/packages/tools/browser/dist/types.d.ts.map +1 -1
  482. package/packages/tools/browser/dist/types.js +16 -3
  483. package/packages/tools/browser/dist/types.js.map +1 -1
  484. package/packages/tools/browser/package.json +1 -1
  485. package/packages/tools/email/dist/.tsbuildinfo +1 -1
  486. package/packages/tools/host/dist/.tsbuildinfo +1 -1
  487. package/packages/tools/memory/dist/.tsbuildinfo +1 -1
  488. package/packages/tools/web/dist/.tsbuildinfo +1 -1
  489. package/packages/web/dist/assets/index-D5cRFcgm.css +1 -0
  490. package/packages/web/dist/assets/index-GCFB1vBV.js +125 -0
  491. package/packages/web/dist/index.html +2 -2
  492. package/node_modules/@buddi/runtime/dist/codex-app-server.d.ts +0 -20
  493. package/node_modules/@buddi/runtime/dist/codex-app-server.d.ts.map +0 -1
  494. package/node_modules/@buddi/runtime/dist/codex-app-server.js +0 -172
  495. package/node_modules/@buddi/runtime/dist/codex-app-server.js.map +0 -1
  496. package/node_modules/@buddi/runtime/dist/codex-policy.d.ts +0 -6
  497. package/node_modules/@buddi/runtime/dist/codex-policy.d.ts.map +0 -1
  498. package/node_modules/@buddi/runtime/dist/codex-policy.js +0 -79
  499. package/node_modules/@buddi/runtime/dist/codex-policy.js.map +0 -1
  500. package/node_modules/@buddi/runtime/dist/codex-rpc.d.ts +0 -34
  501. package/node_modules/@buddi/runtime/dist/codex-rpc.d.ts.map +0 -1
  502. package/node_modules/@buddi/runtime/dist/codex-rpc.js +0 -152
  503. package/node_modules/@buddi/runtime/dist/codex-rpc.js.map +0 -1
  504. package/node_modules/@buddi/runtime/dist/codex-session.d.ts +0 -30
  505. package/node_modules/@buddi/runtime/dist/codex-session.d.ts.map +0 -1
  506. package/node_modules/@buddi/runtime/dist/codex-session.js +0 -169
  507. package/node_modules/@buddi/runtime/dist/codex-session.js.map +0 -1
  508. package/packages/runtime/dist/codex-app-server.d.ts +0 -20
  509. package/packages/runtime/dist/codex-app-server.d.ts.map +0 -1
  510. package/packages/runtime/dist/codex-app-server.js +0 -172
  511. package/packages/runtime/dist/codex-app-server.js.map +0 -1
  512. package/packages/runtime/dist/codex-policy.d.ts +0 -6
  513. package/packages/runtime/dist/codex-policy.d.ts.map +0 -1
  514. package/packages/runtime/dist/codex-policy.js +0 -79
  515. package/packages/runtime/dist/codex-policy.js.map +0 -1
  516. package/packages/runtime/dist/codex-rpc.d.ts +0 -34
  517. package/packages/runtime/dist/codex-rpc.d.ts.map +0 -1
  518. package/packages/runtime/dist/codex-rpc.js +0 -152
  519. package/packages/runtime/dist/codex-rpc.js.map +0 -1
  520. package/packages/runtime/dist/codex-session.d.ts +0 -30
  521. package/packages/runtime/dist/codex-session.d.ts.map +0 -1
  522. package/packages/runtime/dist/codex-session.js +0 -169
  523. package/packages/runtime/dist/codex-session.js.map +0 -1
  524. package/packages/web/dist/assets/index-B727JQsO.css +0 -1
  525. package/packages/web/dist/assets/index-OA0xgibo.js +0 -123
@@ -1,5 +1,5 @@
1
1
  import type { CodexProfile, Vault } from '@buddi/core';
2
- import { type CodexSession, type CompletionRequest, type CompletionResponse, type AccountModels } from '@buddi/runtime';
2
+ import { CodexOAuthProtocol, type AccountModels, type CompletionRequest, type CompletionResponse, type HttpTransport } from '@buddi/runtime';
3
3
  export interface CodexLoginView {
4
4
  state: 'pending' | 'connected' | 'cancelled' | 'failed';
5
5
  verificationUrl?: string;
@@ -15,38 +15,51 @@ export interface CodexAccountAccess {
15
15
  check(): Promise<void>;
16
16
  }
17
17
  /**
18
- * Owns only native account sessions, not permission decisions or tool execution.
19
- * Operations on one account are exclusive; other accounts remain independent.
20
- * The gateway must hold a cross-process account lock for each operation.
18
+ * ChatGPT subscription accounts: buddi's own device sign-in, the refresh of
19
+ * the vault envelope, and the calls that use it. Operations on one account are
20
+ * exclusive; other accounts stay independent. The gateway holds a
21
+ * cross-process account lock around each operation, which is what makes the
22
+ * single-use refresh token safe to rotate.
21
23
  */
22
24
  export declare class CodexAccounts {
23
25
  #private;
24
26
  readonly deps: {
25
27
  vault: Vault;
26
- open?: (credential: string | null) => Promise<CodexSession>;
28
+ protocol?: CodexOAuthProtocol;
29
+ transport?: HttpTransport;
30
+ now?: () => number;
27
31
  loginTimeoutMs?: number;
28
32
  };
33
+ readonly protocol: CodexOAuthProtocol;
34
+ readonly now: () => number;
29
35
  constructor(deps: {
30
36
  vault: Vault;
31
- open?: (credential: string | null) => Promise<CodexSession>;
37
+ protocol?: CodexOAuthProtocol;
38
+ transport?: HttpTransport;
39
+ now?: () => number;
32
40
  loginTimeoutMs?: number;
33
41
  });
34
42
  view(id: string): CodexLoginView | null;
35
43
  cancel(id: string): Promise<void>;
36
44
  forget(id: string): void;
37
- /** No credential is loaded for sign-in, so reconnect cannot reuse another login. */
45
+ /**
46
+ * Device sign-in: the owner opens the link, types the code on openai.com,
47
+ * and buddi polls in the background. Nothing is written to the vault until
48
+ * the tokens are in hand and the account is rechecked, so a cancelled or
49
+ * failed reconnect keeps the old credential.
50
+ */
38
51
  login(access: CodexAccountAccess): Promise<{
39
52
  view: CodexLoginView;
40
53
  finished: Promise<void>;
41
54
  }>;
42
55
  complete(access: CodexAccountAccess, model: string, request: CompletionRequest): Promise<CompletionResponse>;
56
+ models(access: CodexAccountAccess): Promise<AccountModels>;
43
57
  /**
44
58
  * Stage this account's credential in a private profile and hand it to `use`,
45
- * which runs its own native child (the image plugin's `codex exec`). The
46
- * same exclusivity, recheck and refresh-save as a completion; the profile is
47
- * removed afterwards whatever happened.
59
+ * which runs its own native child (the image plugin's `codex exec`). A
60
+ * refresh the child made is saved back; the profile is removed afterwards
61
+ * whatever happened.
48
62
  */
49
63
  withProfile<T>(access: CodexAccountAccess, use: (profile: CodexProfile) => Promise<T>): Promise<T>;
50
- models(access: CodexAccountAccess): Promise<AccountModels>;
51
64
  }
52
65
  //# sourceMappingURL=codex-accounts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex-accounts.d.ts","sourceRoot":"","sources":["../src/codex-accounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAEL,KAAK,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EACpD,KAAK,aAAa,EACjC,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;IACxD,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;GAIG;AACH,qBAAa,aAAa;;IAGZ,QAAQ,CAAC,IAAI,EAAE;QACzB,KAAK,EAAE,KAAK,CAAC;QACb,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;QAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB;gBAJoB,IAAI,EAAE;QACzB,KAAK,EAAE,KAAK,CAAC;QACb,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;QAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB;IACD,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IACjC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACvC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAUxB,oFAAoF;IAC9E,KAAK,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;IAoF7F,QAAQ,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA0BlH;;;;;OAKG;IACG,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAsBlG,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;CAqCjE"}
1
+ {"version":3,"file":"codex-accounts.d.ts","sourceRoot":"","sources":["../src/codex-accounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,EAAoB,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAC1G,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;IACxD,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAKD;;;;;;GAMG;AACH,qBAAa,aAAa;;IAKZ,QAAQ,CAAC,IAAI,EAAE;QACzB,KAAK,EAAE,KAAK,CAAC;QACb,QAAQ,CAAC,EAAE,kBAAkB,CAAC;QAC9B,SAAS,CAAC,EAAE,aAAa,CAAC;QAC1B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB;IARD,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAC;gBACN,IAAI,EAAE;QACzB,KAAK,EAAE,KAAK,CAAC;QACb,QAAQ,CAAC,EAAE,kBAAkB,CAAC;QAC9B,SAAS,CAAC,EAAE,aAAa,CAAC;QAC1B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB;IAID,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IACjC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACvC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAoCxB;;;;;OAKG;IACG,KAAK,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;IA6D7F,QAAQ,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAS5G,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAOhE;;;;;OAKG;IACG,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAkBzG"}
@@ -1,270 +1,206 @@
1
- import { createCodexAppServerAdapter, initializeCodex, openCodexSession, assertCodexIsolation, stageCodexProfile, modelOptions, } from '@buddi/runtime';
1
+ import { CodexOAuthProtocol, createCodexDirectAdapter, listCodexModels, readCodexTokens, stageCodexProfile, } from '@buddi/runtime';
2
+ const REFRESH_SKEW_MS = 5 * 60_000;
3
+ const SAVE_FAILED = 'Could not save ChatGPT credentials securely. Check the host vault and reconnect.';
2
4
  /**
3
- * Owns only native account sessions, not permission decisions or tool execution.
4
- * Operations on one account are exclusive; other accounts remain independent.
5
- * The gateway must hold a cross-process account lock for each operation.
5
+ * ChatGPT subscription accounts: buddi's own device sign-in, the refresh of
6
+ * the vault envelope, and the calls that use it. Operations on one account are
7
+ * exclusive; other accounts stay independent. The gateway holds a
8
+ * cross-process account lock around each operation, which is what makes the
9
+ * single-use refresh token safe to rotate.
6
10
  */
7
11
  export class CodexAccounts {
8
12
  deps;
9
13
  #active = new Map();
10
14
  #logins = new Map();
15
+ protocol;
16
+ now;
11
17
  constructor(deps) {
12
18
  this.deps = deps;
19
+ this.now = deps.now ?? Date.now;
20
+ this.protocol = deps.protocol ?? new CodexOAuthProtocol(deps.transport, this.now);
13
21
  }
14
22
  view(id) { return this.#logins.get(id) ?? null; }
15
23
  async cancel(id) { await this.#active.get(id)?.cancel(); }
16
24
  forget(id) { this.#logins.delete(id); }
17
25
  #reserve(id, cancel) {
18
26
  if (this.#active.has(id))
19
- throw new Error('This Codex account is busy. Finish or cancel its current operation first.');
27
+ throw new Error('This ChatGPT account is busy. Finish or cancel its current operation first.');
20
28
  this.#active.set(id, { cancel });
21
29
  }
22
- async #open(access, credential) {
30
+ /** Run `work` holding the account; `cancel` aborts it. */
31
+ async #exclusive(id, work) {
32
+ const controller = new AbortController();
33
+ let finish;
34
+ const finished = new Promise(resolve => { finish = resolve; });
35
+ this.#reserve(id, async () => { controller.abort(); await finished; });
36
+ try {
37
+ return await work(controller.signal);
38
+ }
39
+ finally {
40
+ this.#active.delete(id);
41
+ finish();
42
+ }
43
+ }
44
+ /**
45
+ * The account's tokens, refreshed when they expire within five minutes. A
46
+ * durable `refreshing` marker is written first so a crash or a failed save
47
+ * never lets another process replay a consumed refresh token.
48
+ */
49
+ async #credential(access) {
50
+ const raw = await this.deps.vault.get(access.secretRef);
51
+ if (!raw)
52
+ throw new Error('Connect this ChatGPT subscription account first.');
53
+ const tokens = readCodexTokens(raw);
54
+ if (tokens.state !== 'ready')
55
+ throw new Error('ChatGPT token refresh was interrupted or failed. Reconnect this account.');
56
+ if (tokens.expiresAt > this.now() + REFRESH_SKEW_MS)
57
+ return tokens;
23
58
  await access.check();
24
- return (this.deps.open ?? openCodexSession)(credential);
59
+ await this.deps.vault.set(access.secretRef, JSON.stringify({ ...tokens, state: 'refreshing' }));
60
+ let rotated;
61
+ try {
62
+ rotated = await this.protocol.refresh(tokens);
63
+ }
64
+ catch {
65
+ throw new Error('ChatGPT token refresh failed. Reconnect this account.');
66
+ }
67
+ try {
68
+ await this.deps.vault.set(access.secretRef, JSON.stringify(rotated));
69
+ }
70
+ catch {
71
+ throw new Error('ChatGPT credentials rotated but could not be saved. Reconnect this account.');
72
+ }
73
+ return rotated;
25
74
  }
26
- /** No credential is loaded for sign-in, so reconnect cannot reuse another login. */
75
+ /**
76
+ * Device sign-in: the owner opens the link, types the code on openai.com,
77
+ * and buddi polls in the background. Nothing is written to the vault until
78
+ * the tokens are in hand and the account is rechecked, so a cancelled or
79
+ * failed reconnect keeps the old credential.
80
+ */
27
81
  async login(access) {
28
- let session;
29
82
  let cancelled = false;
30
- let finish;
31
- const finished = new Promise((resolve) => { finish = resolve; });
32
- let cleanup;
33
- let timer;
34
- let removeListener = () => { };
35
- let removeClose = () => { };
36
- let loginId;
37
- let earlyCompletion;
38
83
  let committing = false;
39
- const end = (state, message) => {
40
- if (cleanup)
41
- return cleanup;
42
- cleanup = (async () => {
43
- clearTimeout(timer);
44
- removeListener();
45
- removeClose();
46
- try {
47
- if (session) {
48
- await session.rpc.close();
49
- if (state === 'connected' && !cancelled) {
50
- const credential = await session.credential();
51
- if (!credential)
52
- throw new Error('No subscription credential was saved.');
53
- await access.check();
54
- if (cancelled)
55
- throw new Error('Sign-in cancelled.');
56
- committing = true;
57
- await this.deps.vault.set(access.secretRef, credential);
58
- }
59
- }
60
- this.#logins.set(access.id, { state: cancelled ? 'cancelled' : state, message });
61
- }
62
- catch {
63
- this.#logins.set(access.id, { state: 'failed', message: 'Could not finish sign-in securely. Check the host vault and reconnect.' });
64
- }
65
- finally {
66
- try {
67
- await session?.dispose();
68
- }
69
- finally {
70
- this.#active.delete(access.id);
71
- finish();
72
- }
73
- }
74
- })();
75
- // Login completion is asynchronous. Surface a sanitized state, not an
76
- // unhandled rejection containing filesystem/authentication details.
77
- void cleanup.catch(() => { this.#logins.set(access.id, { state: 'failed', message: 'Native session cleanup failed. Check the host.' }); });
78
- return cleanup;
79
- };
84
+ let wake;
85
+ let finish;
86
+ const finished = new Promise(resolve => { finish = resolve; });
87
+ const release = () => { this.#active.delete(access.id); finish(); };
80
88
  this.#reserve(access.id, async () => {
81
- if (committing) {
82
- await cleanup;
83
- return;
89
+ if (!committing) {
90
+ cancelled = true;
91
+ wake?.();
84
92
  }
85
- cancelled = true;
86
- if (session && loginId)
87
- await session.rpc.request('account/login/cancel', { loginId }).catch(() => { });
88
- await end('cancelled');
93
+ await finished;
89
94
  });
95
+ let start;
90
96
  try {
91
- session = await this.#open(access, null);
92
- if (cancelled) {
93
- await session.dispose();
97
+ await access.check();
98
+ start = await this.protocol.startDevice();
99
+ if (cancelled)
94
100
  throw new Error('Sign-in cancelled.');
95
- }
96
- await initializeCodex(session.rpc);
97
- await assertCodexIsolation(session.rpc, session.cwd);
98
- removeClose = session.rpc.onClose(() => { void end('failed', 'Codex sign-in process closed.'); });
99
- removeListener = session.rpc.onMessage(message => {
100
- if (message.method !== 'account/login/completed')
101
- return;
102
- const result = message.params;
103
- if (!loginId) {
104
- earlyCompletion = result;
105
- return;
106
- }
107
- if (result.loginId !== loginId)
108
- return;
109
- void end(result.success ? 'connected' : 'failed', result.success ? undefined : 'Sign-in did not complete. Try again.');
110
- });
111
- const result = await session.rpc.request('account/login/start', { type: 'chatgptDeviceCode' });
112
- if (result.type !== 'chatgptDeviceCode' || typeof result.loginId !== 'string' ||
113
- result.verificationUrl !== 'https://auth.openai.com/codex/device' ||
114
- typeof result.userCode !== 'string' || !/^[A-Za-z0-9-]{4,32}$/.test(result.userCode)) {
115
- throw new Error('Codex returned an unsupported device sign-in response.');
116
- }
117
- loginId = result.loginId;
118
- if (cancelled || cleanup)
119
- throw new Error('Sign-in ended before the device challenge was ready.');
120
- const timeout = this.deps.loginTimeoutMs ?? 5 * 60_000;
121
- const view = { state: 'pending', verificationUrl: result.verificationUrl, userCode: result.userCode,
122
- expiresAt: new Date(Date.now() + timeout).toISOString() };
123
- this.#logins.set(access.id, view);
124
- timer = setTimeout(() => { cancelled = true; void end('cancelled', 'Sign-in timed out. Start again.'); }, timeout);
125
- timer.unref();
126
- if (earlyCompletion?.loginId === loginId)
127
- void end(earlyCompletion.success ? 'connected' : 'failed');
128
- return { view, finished };
129
101
  }
130
102
  catch (error) {
131
- await end('failed', 'Could not start Codex sign-in. Check the installed client and host vault.');
103
+ const message = error instanceof Error && /ChatGPT|Device code|cancelled/.test(error.message) ? error.message : 'Could not start ChatGPT sign-in. Check the host vault and try again.';
104
+ this.#logins.set(access.id, { state: cancelled ? 'cancelled' : 'failed', message });
105
+ release();
132
106
  throw error;
133
107
  }
134
- }
135
- async complete(access, model, request) {
136
- let session;
137
- const controller = new AbortController();
138
- let finish;
139
- const finished = new Promise((resolve) => { finish = resolve; });
140
- this.#reserve(access.id, async () => { controller.abort(); await session?.rpc.close(); await finished; });
141
- try {
142
- const credential = await this.deps.vault.get(access.secretRef);
143
- if (!credential)
144
- throw new Error('Connect this Codex subscription account first.');
145
- session = await this.#open(access, credential);
146
- const signal = request.signal ? AbortSignal.any([request.signal, controller.signal]) : controller.signal;
147
- return await createCodexAppServerAdapter({ model, cwd: session.cwd, connect: () => session.rpc }).complete({ ...request, signal });
148
- }
149
- finally {
108
+ const deadline = Math.min(start.expiresAt, this.now() + (this.deps.loginTimeoutMs ?? 15 * 60_000));
109
+ const view = { state: 'pending', verificationUrl: start.verificationUrl, userCode: start.userCode, expiresAt: new Date(deadline).toISOString() };
110
+ this.#logins.set(access.id, view);
111
+ const end = (state, message) => {
112
+ this.#logins.set(access.id, { state: cancelled && state !== 'connected' ? 'cancelled' : state, ...(message ? { message } : {}) });
113
+ };
114
+ const sleep = (ms) => new Promise(resolve => {
115
+ const timer = setTimeout(resolve, Math.max(0, Math.min(ms, deadline - this.now())));
116
+ timer.unref?.();
117
+ wake = () => { clearTimeout(timer); resolve(); };
118
+ });
119
+ const poll = async () => {
120
+ let interval = start.intervalMs;
150
121
  try {
151
- if (session) {
152
- await session.rpc.close();
153
- const refreshed = await session.credential();
154
- if (refreshed && !controller.signal.aborted) {
155
- await access.check();
156
- await this.deps.vault.set(access.secretRef, refreshed);
122
+ for (;;) {
123
+ await sleep(interval);
124
+ if (cancelled)
125
+ return end('cancelled', 'Sign-in cancelled.');
126
+ if (this.now() >= deadline)
127
+ return end('failed', 'Sign-in timed out. Start again.');
128
+ const result = await this.protocol.pollDevice(start.deviceAuthId, start.userCode);
129
+ if (cancelled)
130
+ return end('cancelled', 'Sign-in cancelled.');
131
+ if (result === 'pending')
132
+ continue;
133
+ if (result === 'slow_down') {
134
+ interval += 5_000;
135
+ continue;
136
+ }
137
+ if ('denied' in result)
138
+ return end('failed', result.denied);
139
+ const tokens = await this.protocol.exchange(result);
140
+ await access.check().catch(() => { throw new Error('This account was changed or disabled during sign-in. Start again.'); });
141
+ if (cancelled)
142
+ return end('cancelled', 'Sign-in cancelled.');
143
+ committing = true;
144
+ try {
145
+ await this.deps.vault.set(access.secretRef, JSON.stringify(tokens));
157
146
  }
147
+ catch {
148
+ return end('failed', SAVE_FAILED);
149
+ }
150
+ return end('connected');
158
151
  }
159
152
  }
153
+ catch (error) {
154
+ end('failed', error instanceof Error && /ChatGPT|account|Start/.test(error.message) ? error.message : 'Sign-in did not complete. Try again.');
155
+ }
160
156
  finally {
161
- try {
162
- await session?.dispose();
163
- }
164
- finally {
165
- this.#active.delete(access.id);
166
- finish();
167
- }
157
+ release();
168
158
  }
169
- }
159
+ };
160
+ void poll();
161
+ return { view, finished };
162
+ }
163
+ async complete(access, model, request) {
164
+ return this.#exclusive(access.id, async (abort) => {
165
+ const tokens = await this.#credential(access);
166
+ const signal = request.signal ? AbortSignal.any([request.signal, abort]) : abort;
167
+ return createCodexDirectAdapter({ model, accessToken: tokens.accessToken, accountId: tokens.accountId, ...(this.deps.transport ? { transport: this.deps.transport } : {}) })
168
+ .complete({ ...request, signal });
169
+ });
170
+ }
171
+ async models(access) {
172
+ return this.#exclusive(access.id, async () => {
173
+ const tokens = await this.#credential(access);
174
+ return listCodexModels({ accessToken: tokens.accessToken, accountId: tokens.accountId, ...(this.deps.transport ? { transport: this.deps.transport } : {}) });
175
+ });
170
176
  }
171
177
  /**
172
178
  * Stage this account's credential in a private profile and hand it to `use`,
173
- * which runs its own native child (the image plugin's `codex exec`). The
174
- * same exclusivity, recheck and refresh-save as a completion; the profile is
175
- * removed afterwards whatever happened.
179
+ * which runs its own native child (the image plugin's `codex exec`). A
180
+ * refresh the child made is saved back; the profile is removed afterwards
181
+ * whatever happened.
176
182
  */
177
183
  async withProfile(access, use) {
178
- let finish;
179
- const finished = new Promise((resolve) => { finish = resolve; });
180
- let cancelled = false;
181
- this.#reserve(access.id, async () => { cancelled = true; await finished; });
182
- let staged;
183
- try {
184
- const credential = await this.deps.vault.get(access.secretRef);
185
- if (!credential)
186
- throw new Error('Connect this Codex subscription account first.');
184
+ return this.#exclusive(access.id, async (abort) => {
185
+ const tokens = await this.#credential(access);
187
186
  await access.check();
188
- staged = await stageCodexProfile(credential);
189
- return await use({ home: staged.home, env: staged.env });
190
- }
191
- finally {
187
+ const staged = await stageCodexProfile(tokens);
192
188
  try {
193
- if (staged) {
194
- const refreshed = await staged.credential().catch(() => null);
195
- if (refreshed && !cancelled) {
196
- await access.check();
197
- await this.deps.vault.set(access.secretRef, refreshed);
198
- }
199
- }
189
+ return await use({ home: staged.home, env: staged.env });
200
190
  }
201
191
  finally {
202
192
  try {
203
- await staged?.dispose();
204
- }
205
- finally {
206
- this.#active.delete(access.id);
207
- finish();
208
- }
209
- }
210
- }
211
- }
212
- async models(access) {
213
- let session;
214
- let cancelled = false;
215
- let finish;
216
- const finished = new Promise(resolve => { finish = resolve; });
217
- this.#reserve(access.id, async () => { cancelled = true; await session?.rpc.close(); await finished; });
218
- const timer = setTimeout(() => { cancelled = true; void session?.rpc.close().catch(() => { }); }, 20_000);
219
- try {
220
- const credential = await this.deps.vault.get(access.secretRef);
221
- if (!credential)
222
- throw new Error('Connect this Codex subscription account first.');
223
- session = await this.#open(access, credential);
224
- if (cancelled)
225
- throw new Error('Model discovery cancelled.');
226
- await initializeCodex(session.rpc);
227
- const models = [];
228
- const seen = new Set();
229
- let cursor;
230
- for (let page = 0; page < 10; page++) {
231
- const result = await session.rpc.request('model/list', { includeHidden: false, limit: 100, ...(cursor ? { cursor } : {}) });
232
- if (!Array.isArray(result.data))
233
- throw new Error('Invalid native model list.');
234
- models.push(...modelOptions(result.data, true));
235
- if (models.length > 1000)
236
- return { models: models.slice(0, 1000), truncated: true };
237
- if (!result.nextCursor)
238
- return { models: [...new Map(models.map(m => [m.id, m])).values()], truncated: false };
239
- if (typeof result.nextCursor !== 'string' || result.nextCursor.length > 2048 || seen.has(result.nextCursor))
240
- throw new Error('Invalid native model pagination.');
241
- cursor = result.nextCursor;
242
- seen.add(cursor);
243
- }
244
- return { models, truncated: true };
245
- }
246
- finally {
247
- clearTimeout(timer);
248
- try {
249
- if (session) {
250
- await session.rpc.close();
251
- const refreshed = await session.credential();
252
- if (refreshed && !cancelled) {
193
+ const after = await staged.credential().catch(() => null);
194
+ if (after && !abort.aborted && (after.accessToken !== tokens.accessToken || after.refreshToken !== tokens.refreshToken)) {
253
195
  await access.check();
254
- await this.deps.vault.set(access.secretRef, refreshed);
196
+ await this.deps.vault.set(access.secretRef, JSON.stringify(after));
255
197
  }
256
198
  }
257
- }
258
- finally {
259
- try {
260
- await session?.dispose();
261
- }
262
199
  finally {
263
- this.#active.delete(access.id);
264
- finish();
200
+ await staged.dispose();
265
201
  }
266
202
  }
267
- }
203
+ });
268
204
  }
269
205
  }
270
206
  //# sourceMappingURL=codex-accounts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex-accounts.js","sourceRoot":"","sources":["../src/codex-accounts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-accounts.js","sourceRoot":"","sources":["../src/codex-accounts.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ export { MCP_REQUEST_KINDS, throughMcp } from './mcp/requests.js';
21
21
  export { currentVersion, readUpgradeFile, type UpgradeFile } from './web/version.js';
22
22
  export { supervisorCall, type SupervisorReply } from './web/service.js';
23
23
  export { readAgentAttention, type AgentAttention, type AttentionSnapshot } from './web/attention.js';
24
+ export { readOllamaDevices, connectedLine } from './ollama-accounts.js';
24
25
  export { createHttpTransport, defaultHttpTransport, TransportError, type HttpTransport, type TransportRequest, type TransportResponse, } from '@buddi/runtime';
25
26
  export { main as runChatCli, parseArgs as parseChatArgs } from './cli.js';
26
27
  export { main as runAgentsCli, parseAgentsArgs } from './agents-cli.js';
@@ -31,4 +32,5 @@ export { main as runPluginsCli, parsePluginsArgs } from './plugins-cli.js';
31
32
  export * from './plugins/index.js';
32
33
  export { main as runServe } from './serve.js';
33
34
  export { detectBrowser, browserLine, installBrowser, installDepsCommand, noSandboxMessage } from '@buddi/tool-browser';
35
+ export { runSpeechCli, SPEECH_MODELS, type SpeechModel } from './speech-cli.js';
34
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAMrG,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,IAAI,IAAI,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,IAAI,IAAI,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,IAAI,IAAI,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,IAAI,IAAI,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAMxE,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,IAAI,IAAI,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,IAAI,IAAI,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,IAAI,IAAI,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,IAAI,IAAI,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
@@ -23,6 +23,7 @@ export { MCP_REQUEST_KINDS, throughMcp } from './mcp/requests.js';
23
23
  export { currentVersion, readUpgradeFile } from './web/version.js';
24
24
  export { supervisorCall } from './web/service.js';
25
25
  export { readAgentAttention } from './web/attention.js';
26
+ export { readOllamaDevices, connectedLine } from './ollama-accounts.js';
26
27
  // The one outbound HTTP transport (packages/runtime/src/transport.ts), re-exported
27
28
  // because the CLI depends on the gateway and not on the runtime — and every
28
29
  // outbound call in this repo has to be able to reach it. `scripts/check-boundaries.mjs`
@@ -40,4 +41,5 @@ export * from './plugins/index.js';
40
41
  export { main as runServe } from './serve.js';
41
42
  // The agents' own browser, for the launcher's first-run line and `buddi browser install`.
42
43
  export { detectBrowser, browserLine, installBrowser, installDepsCommand, noSandboxMessage } from '@buddi/tool-browser';
44
+ export { runSpeechCli, SPEECH_MODELS } from './speech-cli.js';
43
45
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAClE,qFAAqF;AACrF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAoB,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAwB,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAA+C,MAAM,oBAAoB,CAAC;AAErG,mFAAmF;AACnF,4EAA4E;AAC5E,wFAAwF;AACxF,qEAAqE;AACrE,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,GAIf,MAAM,gBAAgB,CAAC;AAExB,8EAA8E;AAC9E,2EAA2E;AAC3E,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,IAAI,IAAI,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,IAAI,IAAI,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,IAAI,IAAI,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,IAAI,IAAI,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC9C,0FAA0F;AAC1F,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAClE,qFAAqF;AACrF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAoB,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAwB,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAA+C,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAExE,mFAAmF;AACnF,4EAA4E;AAC5E,wFAAwF;AACxF,qEAAqE;AACrE,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,GAIf,MAAM,gBAAgB,CAAC;AAExB,8EAA8E;AAC9E,2EAA2E;AAC3E,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,IAAI,IAAI,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,IAAI,IAAI,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,IAAI,IAAI,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,IAAI,IAAI,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC9C,0FAA0F;AAC1F,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAoB,MAAM,iBAAiB,CAAC"}