@elizaos/agent 2.0.0-alpha.98 → 2.0.0-beta.2

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 (1227) hide show
  1. package/package.json +78 -923
  2. package/packages/agent/src/actions/connector-resolver.d.ts +74 -0
  3. package/packages/agent/src/actions/connector-resolver.d.ts.map +1 -0
  4. package/packages/agent/src/actions/connector-resolver.js +253 -0
  5. package/packages/agent/src/actions/contact.d.ts +35 -0
  6. package/packages/agent/src/actions/contact.d.ts.map +1 -0
  7. package/packages/agent/src/actions/contact.js +1698 -0
  8. package/packages/agent/src/actions/context-signal-lexicon.d.ts +17 -0
  9. package/packages/agent/src/actions/context-signal-lexicon.d.ts.map +1 -0
  10. package/packages/agent/src/actions/context-signal-lexicon.js +206 -0
  11. package/packages/agent/src/actions/context-signal.d.ts +48 -0
  12. package/packages/agent/src/actions/context-signal.d.ts.map +1 -0
  13. package/packages/agent/src/actions/context-signal.js +153 -0
  14. package/packages/agent/src/actions/database.d.ts +20 -0
  15. package/packages/agent/src/actions/database.d.ts.map +1 -0
  16. package/packages/agent/src/actions/database.js +671 -0
  17. package/packages/agent/src/actions/extract-page.d.ts +3 -0
  18. package/packages/agent/src/actions/extract-page.d.ts.map +1 -0
  19. package/packages/agent/src/actions/extract-page.js +153 -0
  20. package/packages/agent/src/actions/extract-params.d.ts +87 -0
  21. package/packages/agent/src/actions/extract-params.d.ts.map +1 -0
  22. package/packages/agent/src/actions/extract-params.js +187 -0
  23. package/packages/agent/src/actions/grounded-action-reply.d.ts +22 -0
  24. package/packages/agent/src/actions/grounded-action-reply.d.ts.map +1 -0
  25. package/packages/agent/src/actions/grounded-action-reply.js +287 -0
  26. package/packages/agent/src/actions/index.d.ts +22 -0
  27. package/packages/agent/src/actions/index.d.ts.map +1 -0
  28. package/packages/agent/src/actions/index.js +21 -0
  29. package/packages/agent/src/actions/logs.d.ts +11 -0
  30. package/packages/agent/src/actions/logs.d.ts.map +1 -0
  31. package/packages/agent/src/actions/logs.js +300 -0
  32. package/packages/agent/src/actions/media.d.ts +9 -0
  33. package/packages/agent/src/actions/media.d.ts.map +1 -0
  34. package/packages/agent/src/actions/media.js +135 -0
  35. package/packages/agent/src/actions/memories.d.ts +9 -0
  36. package/packages/agent/src/actions/memories.d.ts.map +1 -0
  37. package/packages/agent/src/actions/memories.js +369 -0
  38. package/packages/agent/src/actions/page-action-groups.d.ts +17 -0
  39. package/packages/agent/src/actions/page-action-groups.d.ts.map +1 -0
  40. package/packages/agent/src/actions/page-action-groups.js +413 -0
  41. package/packages/agent/src/actions/plugin.d.ts +32 -0
  42. package/packages/agent/src/actions/plugin.d.ts.map +1 -0
  43. package/packages/agent/src/actions/plugin.js +780 -0
  44. package/packages/agent/src/actions/recent-conversation-texts.d.ts +9 -0
  45. package/packages/agent/src/actions/recent-conversation-texts.d.ts.map +1 -0
  46. package/packages/agent/src/actions/recent-conversation-texts.js +76 -0
  47. package/packages/agent/src/actions/runtime.d.ts +19 -0
  48. package/packages/agent/src/actions/runtime.d.ts.map +1 -0
  49. package/packages/agent/src/actions/runtime.js +517 -0
  50. package/packages/agent/src/actions/settings-actions.d.ts +19 -0
  51. package/packages/agent/src/actions/settings-actions.d.ts.map +1 -0
  52. package/packages/agent/src/actions/settings-actions.js +478 -0
  53. package/packages/agent/src/actions/skill-command.d.ts +20 -0
  54. package/packages/agent/src/actions/skill-command.d.ts.map +1 -0
  55. package/packages/agent/src/actions/skill-command.js +170 -0
  56. package/packages/agent/src/actions/stream-control.d.ts +13 -8
  57. package/packages/agent/src/actions/stream-control.d.ts.map +1 -1
  58. package/packages/agent/src/actions/stream-control.js +127 -318
  59. package/packages/agent/src/actions/terminal.d.ts +4 -3
  60. package/packages/agent/src/actions/terminal.d.ts.map +1 -1
  61. package/packages/agent/src/actions/terminal.js +247 -96
  62. package/packages/agent/src/actions/trajectories.d.ts +8 -0
  63. package/packages/agent/src/actions/trajectories.d.ts.map +1 -0
  64. package/packages/agent/src/actions/trajectories.js +135 -0
  65. package/packages/agent/src/actions/trigger.d.ts +5 -0
  66. package/packages/agent/src/actions/trigger.d.ts.map +1 -0
  67. package/packages/agent/src/actions/trigger.js +514 -0
  68. package/packages/agent/src/api/accounts-routes.d.ts +38 -0
  69. package/packages/agent/src/api/accounts-routes.d.ts.map +1 -0
  70. package/packages/agent/src/api/accounts-routes.js +927 -0
  71. package/packages/agent/src/api/agent-admin-routes.d.ts +6 -5
  72. package/packages/agent/src/api/agent-admin-routes.d.ts.map +1 -1
  73. package/packages/agent/src/api/agent-admin-routes.js +106 -9
  74. package/packages/agent/src/api/agent-lifecycle-routes.d.ts +2 -2
  75. package/packages/agent/src/api/agent-lifecycle-routes.d.ts.map +1 -1
  76. package/packages/agent/src/api/agent-lifecycle-routes.js +22 -1
  77. package/packages/agent/src/api/agent-model.d.ts +2 -9
  78. package/packages/agent/src/api/agent-model.d.ts.map +1 -1
  79. package/packages/agent/src/api/agent-model.js +50 -3
  80. package/packages/agent/src/api/agent-status-routes.d.ts +75 -0
  81. package/packages/agent/src/api/agent-status-routes.d.ts.map +1 -0
  82. package/packages/agent/src/api/agent-status-routes.js +264 -0
  83. package/packages/agent/src/api/agent-transfer-routes.d.ts +1 -1
  84. package/packages/agent/src/api/agent-transfer-routes.js +1 -1
  85. package/packages/agent/src/api/app-package-routes.d.ts +7 -0
  86. package/packages/agent/src/api/app-package-routes.d.ts.map +1 -0
  87. package/packages/agent/src/api/app-package-routes.js +59 -0
  88. package/packages/agent/src/api/apps-routes.d.ts +16 -3
  89. package/packages/agent/src/api/apps-routes.d.ts.map +1 -1
  90. package/packages/agent/src/api/apps-routes.js +885 -15
  91. package/packages/agent/src/api/auth-routes.d.ts +1 -1
  92. package/packages/agent/src/api/auth-routes.d.ts.map +1 -1
  93. package/packages/agent/src/api/auth-routes.js +67 -2
  94. package/packages/agent/src/api/avatar-routes.d.ts +11 -0
  95. package/packages/agent/src/api/avatar-routes.d.ts.map +1 -0
  96. package/packages/agent/src/api/avatar-routes.js +205 -0
  97. package/packages/agent/src/api/binance-skill-helpers.d.ts +21 -0
  98. package/packages/agent/src/api/binance-skill-helpers.d.ts.map +1 -0
  99. package/packages/agent/src/api/binance-skill-helpers.js +745 -0
  100. package/packages/agent/src/api/bug-report-routes.d.ts +5 -2
  101. package/packages/agent/src/api/bug-report-routes.d.ts.map +1 -1
  102. package/packages/agent/src/api/bug-report-routes.js +155 -8
  103. package/packages/agent/src/api/build-variant-routes.d.ts +27 -0
  104. package/packages/agent/src/api/build-variant-routes.d.ts.map +1 -0
  105. package/packages/agent/src/api/build-variant-routes.js +27 -0
  106. package/packages/agent/src/api/character-routes.d.ts +7 -5
  107. package/packages/agent/src/api/character-routes.d.ts.map +1 -1
  108. package/packages/agent/src/api/character-routes.js +100 -49
  109. package/packages/agent/src/api/chat-augmentation.d.ts +70 -0
  110. package/packages/agent/src/api/chat-augmentation.d.ts.map +1 -0
  111. package/packages/agent/src/api/chat-augmentation.js +464 -0
  112. package/packages/agent/src/api/chat-routes.d.ts +124 -0
  113. package/packages/agent/src/api/chat-routes.d.ts.map +1 -0
  114. package/packages/agent/src/api/chat-routes.js +1841 -0
  115. package/packages/agent/src/api/chat-text-helpers.d.ts +11 -0
  116. package/packages/agent/src/api/chat-text-helpers.d.ts.map +1 -0
  117. package/packages/agent/src/api/chat-text-helpers.js +184 -0
  118. package/packages/agent/src/api/client-chat-admin.d.ts +19 -0
  119. package/packages/agent/src/api/client-chat-admin.d.ts.map +1 -0
  120. package/packages/agent/src/api/client-chat-admin.js +27 -0
  121. package/packages/agent/src/api/cloud-route-registry.d.ts +22 -0
  122. package/packages/agent/src/api/cloud-route-registry.d.ts.map +1 -0
  123. package/packages/agent/src/api/cloud-route-registry.js +20 -0
  124. package/packages/agent/src/api/compat-utils.d.ts.map +1 -1
  125. package/packages/agent/src/api/compat-utils.js +1 -5
  126. package/packages/agent/src/api/config-env.d.ts +43 -0
  127. package/packages/agent/src/api/config-env.d.ts.map +1 -0
  128. package/packages/agent/src/api/config-env.js +284 -0
  129. package/packages/agent/src/api/config-routes.d.ts +40 -0
  130. package/packages/agent/src/api/config-routes.d.ts.map +1 -0
  131. package/packages/agent/src/api/config-routes.js +429 -0
  132. package/packages/agent/src/api/connector-account-routes.d.ts +25 -0
  133. package/packages/agent/src/api/connector-account-routes.d.ts.map +1 -0
  134. package/packages/agent/src/api/connector-account-routes.js +740 -0
  135. package/packages/agent/src/api/connector-health.d.ts +9 -1
  136. package/packages/agent/src/api/connector-health.d.ts.map +1 -1
  137. package/packages/agent/src/api/connector-health.js +33 -10
  138. package/packages/agent/src/api/connector-oauth-callback-auth.d.ts +2 -0
  139. package/packages/agent/src/api/connector-oauth-callback-auth.d.ts.map +1 -0
  140. package/packages/agent/src/api/connector-oauth-callback-auth.js +4 -0
  141. package/packages/agent/src/api/connector-routes.d.ts +36 -0
  142. package/packages/agent/src/api/connector-routes.d.ts.map +1 -0
  143. package/packages/agent/src/api/connector-routes.js +184 -0
  144. package/packages/agent/src/api/conversation-metadata.d.ts +10 -0
  145. package/packages/agent/src/api/conversation-metadata.d.ts.map +1 -0
  146. package/packages/agent/src/api/conversation-metadata.js +107 -0
  147. package/packages/agent/src/api/conversation-routes.d.ts +43 -0
  148. package/packages/agent/src/api/conversation-routes.d.ts.map +1 -0
  149. package/packages/agent/src/api/conversation-routes.js +1208 -0
  150. package/packages/agent/src/api/coordinator-wiring.d.ts +4 -4
  151. package/packages/agent/src/api/coordinator-wiring.d.ts.map +1 -1
  152. package/packages/agent/src/api/coordinator-wiring.js +13 -6
  153. package/packages/agent/src/api/credit-detection.d.ts.map +1 -1
  154. package/packages/agent/src/api/credit-detection.js +12 -6
  155. package/packages/agent/src/api/curated-skills-routes.d.ts +22 -0
  156. package/packages/agent/src/api/curated-skills-routes.d.ts.map +1 -0
  157. package/packages/agent/src/api/curated-skills-routes.js +295 -0
  158. package/packages/agent/src/api/database.d.ts +2 -0
  159. package/packages/agent/src/api/database.d.ts.map +1 -1
  160. package/packages/agent/src/api/database.js +129 -8
  161. package/packages/agent/src/api/diagnostics-routes.d.ts +15 -2
  162. package/packages/agent/src/api/diagnostics-routes.d.ts.map +1 -1
  163. package/packages/agent/src/api/diagnostics-routes.js +145 -21
  164. package/packages/agent/src/api/documents-routes.d.ts +9 -0
  165. package/packages/agent/src/api/documents-routes.d.ts.map +1 -0
  166. package/packages/agent/src/api/documents-routes.js +26 -0
  167. package/packages/agent/src/api/documents-service-loader.d.ts +76 -0
  168. package/packages/agent/src/api/documents-service-loader.d.ts.map +1 -0
  169. package/packages/agent/src/api/{knowledge-service-loader.js → documents-service-loader.js} +10 -8
  170. package/packages/agent/src/api/health-routes.d.ts +46 -0
  171. package/packages/agent/src/api/health-routes.d.ts.map +1 -0
  172. package/packages/agent/src/api/health-routes.js +450 -0
  173. package/packages/agent/src/api/inbox-routes.d.ts +47 -0
  174. package/packages/agent/src/api/inbox-routes.d.ts.map +1 -0
  175. package/packages/agent/src/api/inbox-routes.js +1579 -0
  176. package/packages/agent/src/api/index.d.ts +45 -60
  177. package/packages/agent/src/api/index.d.ts.map +1 -1
  178. package/packages/agent/src/api/index.js +49 -59
  179. package/packages/agent/src/api/memory-routes.d.ts +1 -1
  180. package/packages/agent/src/api/memory-routes.d.ts.map +1 -1
  181. package/packages/agent/src/api/memory-routes.js +274 -41
  182. package/packages/agent/src/api/misc-routes.d.ts +64 -0
  183. package/packages/agent/src/api/misc-routes.d.ts.map +1 -0
  184. package/packages/agent/src/api/misc-routes.js +569 -0
  185. package/packages/agent/src/api/mobile-optional-routes.d.ts +3 -0
  186. package/packages/agent/src/api/mobile-optional-routes.d.ts.map +1 -0
  187. package/packages/agent/src/api/mobile-optional-routes.js +91 -0
  188. package/packages/agent/src/api/model-provider-helpers.d.ts +68 -0
  189. package/packages/agent/src/api/model-provider-helpers.d.ts.map +1 -0
  190. package/packages/agent/src/api/model-provider-helpers.js +623 -0
  191. package/packages/agent/src/api/models-routes.d.ts +1 -1
  192. package/packages/agent/src/api/models-routes.d.ts.map +1 -1
  193. package/packages/agent/src/api/music-player-route-fallback.d.ts +16 -0
  194. package/packages/agent/src/api/music-player-route-fallback.d.ts.map +1 -0
  195. package/packages/agent/src/api/music-player-route-fallback.js +65 -0
  196. package/packages/agent/src/api/nfa-routes.d.ts +2 -1
  197. package/packages/agent/src/api/nfa-routes.d.ts.map +1 -1
  198. package/packages/agent/src/api/nfa-routes.js +10 -10
  199. package/packages/agent/src/api/onboarding-routes.d.ts +50 -0
  200. package/packages/agent/src/api/onboarding-routes.d.ts.map +1 -0
  201. package/packages/agent/src/api/onboarding-routes.js +588 -0
  202. package/packages/agent/src/api/owner-contact-helpers.d.ts +39 -0
  203. package/packages/agent/src/api/owner-contact-helpers.d.ts.map +1 -0
  204. package/packages/agent/src/api/owner-contact-helpers.js +47 -0
  205. package/packages/agent/src/api/parse-action-block.d.ts +20 -3
  206. package/packages/agent/src/api/parse-action-block.d.ts.map +1 -1
  207. package/packages/agent/src/api/parse-action-block.js +77 -6
  208. package/packages/agent/src/api/permission-request-prompt.d.ts +19 -0
  209. package/packages/agent/src/api/permission-request-prompt.d.ts.map +1 -0
  210. package/packages/agent/src/api/permission-request-prompt.js +53 -0
  211. package/packages/agent/src/api/permissions-routes-extra.d.ts +30 -0
  212. package/packages/agent/src/api/permissions-routes-extra.d.ts.map +1 -0
  213. package/packages/agent/src/api/permissions-routes-extra.js +78 -0
  214. package/packages/agent/src/api/permissions-routes.d.ts +6 -11
  215. package/packages/agent/src/api/permissions-routes.d.ts.map +1 -1
  216. package/packages/agent/src/api/permissions-routes.js +230 -27
  217. package/packages/agent/src/api/plugin-discovery-helpers.d.ts +147 -0
  218. package/packages/agent/src/api/plugin-discovery-helpers.d.ts.map +1 -0
  219. package/packages/agent/src/api/plugin-discovery-helpers.js +1118 -0
  220. package/packages/agent/src/api/plugin-routes.d.ts +144 -0
  221. package/packages/agent/src/api/plugin-routes.d.ts.map +1 -0
  222. package/packages/agent/src/api/plugin-routes.js +1285 -0
  223. package/packages/agent/src/api/plugin-runtime-apply.d.ts +31 -0
  224. package/packages/agent/src/api/plugin-runtime-apply.d.ts.map +1 -0
  225. package/packages/agent/src/api/plugin-runtime-apply.js +217 -0
  226. package/packages/agent/src/api/plugin-validation.d.ts.map +1 -1
  227. package/packages/agent/src/api/plugin-validation.js +4 -2
  228. package/packages/agent/src/api/provider-switch-config.d.ts +32 -7
  229. package/packages/agent/src/api/provider-switch-config.d.ts.map +1 -1
  230. package/packages/agent/src/api/provider-switch-config.js +627 -225
  231. package/packages/agent/src/api/provider-switch-routes.d.ts +29 -0
  232. package/packages/agent/src/api/provider-switch-routes.d.ts.map +1 -0
  233. package/packages/agent/src/api/provider-switch-routes.js +142 -0
  234. package/packages/agent/src/api/rate-limiter.d.ts +29 -0
  235. package/packages/agent/src/api/rate-limiter.d.ts.map +1 -0
  236. package/packages/agent/src/api/rate-limiter.js +57 -0
  237. package/packages/agent/src/api/registry-routes.d.ts +5 -2
  238. package/packages/agent/src/api/registry-routes.d.ts.map +1 -1
  239. package/packages/agent/src/api/registry-routes.js +13 -5
  240. package/packages/agent/src/api/registry-service.d.ts +1 -1
  241. package/packages/agent/src/api/registry-service.d.ts.map +1 -1
  242. package/packages/agent/src/api/relationships-routes.d.ts +7 -0
  243. package/packages/agent/src/api/relationships-routes.d.ts.map +1 -0
  244. package/packages/agent/src/api/relationships-routes.js +287 -0
  245. package/packages/agent/src/api/runtime-plugin-routes.d.ts +27 -0
  246. package/packages/agent/src/api/runtime-plugin-routes.d.ts.map +1 -0
  247. package/packages/agent/src/api/runtime-plugin-routes.js +203 -0
  248. package/packages/agent/src/api/server-auth.d.ts +46 -0
  249. package/packages/agent/src/api/server-auth.d.ts.map +1 -0
  250. package/packages/agent/src/api/server-auth.js +507 -0
  251. package/packages/agent/src/api/server-autonomy-helpers.d.ts +5 -0
  252. package/packages/agent/src/api/server-autonomy-helpers.d.ts.map +1 -0
  253. package/packages/agent/src/api/server-autonomy-helpers.js +28 -0
  254. package/packages/agent/src/api/server-helpers-auth.d.ts +41 -0
  255. package/packages/agent/src/api/server-helpers-auth.d.ts.map +1 -0
  256. package/packages/agent/src/api/server-helpers-auth.js +627 -0
  257. package/packages/agent/src/api/server-helpers-config.d.ts +37 -0
  258. package/packages/agent/src/api/server-helpers-config.d.ts.map +1 -0
  259. package/packages/agent/src/api/server-helpers-config.js +293 -0
  260. package/packages/agent/src/api/server-helpers-fetch.d.ts +15 -0
  261. package/packages/agent/src/api/server-helpers-fetch.d.ts.map +1 -0
  262. package/packages/agent/src/api/server-helpers-fetch.js +149 -0
  263. package/packages/agent/src/api/server-helpers-mcp.d.ts +12 -0
  264. package/packages/agent/src/api/server-helpers-mcp.d.ts.map +1 -0
  265. package/packages/agent/src/api/server-helpers-mcp.js +315 -0
  266. package/packages/agent/src/api/server-helpers-plugin.d.ts +13 -0
  267. package/packages/agent/src/api/server-helpers-plugin.d.ts.map +1 -0
  268. package/packages/agent/src/api/server-helpers-plugin.js +160 -0
  269. package/packages/agent/src/api/server-helpers-swarm.d.ts +101 -0
  270. package/packages/agent/src/api/server-helpers-swarm.d.ts.map +1 -0
  271. package/packages/agent/src/api/server-helpers-swarm.js +646 -0
  272. package/packages/agent/src/api/server-helpers-wallet.d.ts +18 -0
  273. package/packages/agent/src/api/server-helpers-wallet.d.ts.map +1 -0
  274. package/packages/agent/src/api/server-helpers-wallet.js +177 -0
  275. package/packages/agent/src/api/server-helpers.d.ts +96 -0
  276. package/packages/agent/src/api/server-helpers.d.ts.map +1 -0
  277. package/packages/agent/src/api/server-helpers.js +595 -0
  278. package/packages/agent/src/api/server-route-dispatch.d.ts +30 -0
  279. package/packages/agent/src/api/server-route-dispatch.d.ts.map +1 -0
  280. package/packages/agent/src/api/server-route-dispatch.js +103 -0
  281. package/packages/agent/src/api/server-startup.d.ts +16 -0
  282. package/packages/agent/src/api/server-startup.d.ts.map +1 -0
  283. package/packages/agent/src/api/server-startup.js +14 -0
  284. package/packages/agent/src/api/server-types.d.ts +232 -0
  285. package/packages/agent/src/api/server-types.d.ts.map +1 -0
  286. package/packages/agent/src/api/server-types.js +6 -0
  287. package/packages/agent/src/api/server.d.ts +26 -383
  288. package/packages/agent/src/api/server.d.ts.map +1 -1
  289. package/packages/agent/src/api/server.js +2022 -12484
  290. package/packages/agent/src/api/skill-discovery-helpers.d.ts +80 -0
  291. package/packages/agent/src/api/skill-discovery-helpers.d.ts.map +1 -0
  292. package/packages/agent/src/api/skill-discovery-helpers.js +385 -0
  293. package/packages/agent/src/api/skills-routes.d.ts +32 -0
  294. package/packages/agent/src/api/skills-routes.d.ts.map +1 -0
  295. package/packages/agent/src/api/skills-routes.js +978 -0
  296. package/packages/agent/src/api/static-file-server.d.ts +19 -0
  297. package/packages/agent/src/api/static-file-server.d.ts.map +1 -0
  298. package/packages/agent/src/api/static-file-server.js +234 -0
  299. package/packages/agent/src/api/subscription-routes.d.ts +6 -6
  300. package/packages/agent/src/api/subscription-routes.d.ts.map +1 -1
  301. package/packages/agent/src/api/subscription-routes.js +84 -14
  302. package/packages/agent/src/api/task-agent-message-routing.d.ts +10 -0
  303. package/packages/agent/src/api/task-agent-message-routing.d.ts.map +1 -0
  304. package/packages/agent/src/api/task-agent-message-routing.js +62 -0
  305. package/packages/agent/src/api/terminal-execution-routing.d.ts +14 -0
  306. package/packages/agent/src/api/terminal-execution-routing.d.ts.map +1 -0
  307. package/packages/agent/src/api/terminal-execution-routing.js +23 -0
  308. package/packages/agent/src/api/terminal-run-limits.d.ts.map +1 -1
  309. package/packages/agent/src/api/terminal-run-limits.js +3 -5
  310. package/packages/agent/src/api/trade-safety.d.ts +35 -0
  311. package/packages/agent/src/api/trade-safety.d.ts.map +1 -0
  312. package/packages/agent/src/api/trade-safety.js +62 -0
  313. package/packages/agent/src/api/training-service-like.d.ts +3 -2
  314. package/packages/agent/src/api/training-service-like.d.ts.map +1 -1
  315. package/packages/agent/src/api/travel-provider-relay-routes.d.ts +9 -0
  316. package/packages/agent/src/api/travel-provider-relay-routes.d.ts.map +1 -0
  317. package/packages/agent/src/api/travel-provider-relay-routes.js +143 -0
  318. package/packages/agent/src/api/tx-service.d.ts +6 -0
  319. package/packages/agent/src/api/tx-service.d.ts.map +1 -1
  320. package/packages/agent/src/api/tx-service.js +64 -3
  321. package/packages/agent/src/api/update-routes.d.ts +19 -0
  322. package/packages/agent/src/api/update-routes.d.ts.map +1 -0
  323. package/packages/agent/src/api/update-routes.js +54 -0
  324. package/packages/agent/src/api/wallet-capability.d.ts +33 -0
  325. package/packages/agent/src/api/wallet-capability.d.ts.map +1 -0
  326. package/packages/agent/src/api/wallet-capability.js +193 -0
  327. package/packages/agent/src/api/wallet-dex-prices.d.ts +0 -18
  328. package/packages/agent/src/api/wallet-dex-prices.d.ts.map +1 -1
  329. package/packages/agent/src/api/wallet-dex-prices.js +14 -38
  330. package/packages/agent/src/api/wallet-env-sync.d.ts +2 -0
  331. package/packages/agent/src/api/wallet-env-sync.d.ts.map +1 -0
  332. package/packages/agent/src/api/wallet-env-sync.js +108 -0
  333. package/packages/agent/src/api/wallet-evm-balance.d.ts +8 -1
  334. package/packages/agent/src/api/wallet-evm-balance.d.ts.map +1 -1
  335. package/packages/agent/src/api/wallet-evm-balance.js +5 -5
  336. package/packages/agent/src/api/wallet-routes.d.ts +20 -12
  337. package/packages/agent/src/api/wallet-routes.d.ts.map +1 -1
  338. package/packages/agent/src/api/wallet-routes.js +593 -37
  339. package/packages/agent/src/api/wallet-rpc.d.ts +14 -11
  340. package/packages/agent/src/api/wallet-rpc.d.ts.map +1 -1
  341. package/packages/agent/src/api/wallet-rpc.js +108 -38
  342. package/packages/agent/src/api/wallet-trading-profile.d.ts +2 -22
  343. package/packages/agent/src/api/wallet-trading-profile.d.ts.map +1 -1
  344. package/packages/agent/src/api/wallet-trading-profile.js +27 -30
  345. package/packages/agent/src/api/wallet.d.ts +38 -5
  346. package/packages/agent/src/api/wallet.d.ts.map +1 -1
  347. package/packages/agent/src/api/wallet.js +469 -202
  348. package/packages/agent/src/api/workbench-helpers.d.ts +39 -0
  349. package/packages/agent/src/api/workbench-helpers.d.ts.map +1 -0
  350. package/packages/agent/src/api/workbench-helpers.js +137 -0
  351. package/packages/agent/src/api/workbench-routes.d.ts +43 -0
  352. package/packages/agent/src/api/workbench-routes.d.ts.map +1 -0
  353. package/packages/agent/src/api/workbench-routes.js +265 -0
  354. package/packages/agent/src/api/x-relay-routes.d.ts +27 -0
  355. package/packages/agent/src/api/x-relay-routes.d.ts.map +1 -0
  356. package/packages/agent/src/api/x-relay-routes.js +134 -0
  357. package/packages/agent/src/auth/account-storage.d.ts +48 -0
  358. package/packages/agent/src/auth/account-storage.d.ts.map +1 -0
  359. package/packages/agent/src/auth/account-storage.js +229 -0
  360. package/packages/agent/src/auth/anthropic.d.ts +3 -4
  361. package/packages/agent/src/auth/anthropic.d.ts.map +1 -1
  362. package/packages/agent/src/auth/anthropic.js +5 -7
  363. package/packages/agent/src/auth/claude-code-stealth-preload.d.ts +2 -0
  364. package/packages/agent/src/auth/claude-code-stealth-preload.d.ts.map +1 -0
  365. package/packages/agent/src/auth/claude-code-stealth-preload.js +2 -0
  366. package/packages/agent/src/auth/claude-code-stealth.d.ts.map +1 -1
  367. package/packages/agent/src/auth/claude-code-stealth.js +21 -9
  368. package/packages/agent/src/auth/credentials.d.ts +62 -17
  369. package/packages/agent/src/auth/credentials.d.ts.map +1 -1
  370. package/packages/agent/src/auth/credentials.js +492 -121
  371. package/packages/agent/src/auth/index.d.ts +7 -6
  372. package/packages/agent/src/auth/index.d.ts.map +1 -1
  373. package/packages/agent/src/auth/index.js +7 -3
  374. package/packages/agent/src/auth/oauth-flow.d.ts +106 -0
  375. package/packages/agent/src/auth/oauth-flow.d.ts.map +1 -0
  376. package/packages/agent/src/auth/oauth-flow.js +349 -0
  377. package/packages/agent/src/auth/openai-codex.d.ts +2 -2
  378. package/packages/agent/src/auth/openai-codex.d.ts.map +1 -1
  379. package/packages/agent/src/auth/openai-codex.js +17 -13
  380. package/packages/agent/src/auth/refresh-mutex.d.ts +19 -0
  381. package/packages/agent/src/auth/refresh-mutex.d.ts.map +1 -0
  382. package/packages/agent/src/auth/refresh-mutex.js +33 -0
  383. package/packages/agent/src/auth/types.d.ts +42 -2
  384. package/packages/agent/src/auth/types.d.ts.map +1 -1
  385. package/packages/agent/src/auth/types.js +142 -1
  386. package/packages/agent/src/auth/vendor/pi-oauth/anthropic-login.d.ts +48 -0
  387. package/packages/agent/src/auth/vendor/pi-oauth/anthropic-login.d.ts.map +1 -0
  388. package/packages/agent/src/auth/vendor/pi-oauth/anthropic-login.js +113 -0
  389. package/packages/agent/src/auth/vendor/pi-oauth/openai-codex-login.d.ts +26 -0
  390. package/packages/agent/src/auth/vendor/pi-oauth/openai-codex-login.d.ts.map +1 -0
  391. package/packages/agent/src/auth/vendor/pi-oauth/openai-codex-login.js +343 -0
  392. package/packages/agent/src/auth/vendor/pi-oauth/pkce.d.ts +9 -0
  393. package/packages/agent/src/auth/vendor/pi-oauth/pkce.d.ts.map +1 -0
  394. package/packages/agent/src/auth/vendor/pi-oauth/pkce.js +21 -0
  395. package/packages/agent/src/autonomy/index.d.ts +48 -0
  396. package/packages/agent/src/autonomy/index.d.ts.map +1 -0
  397. package/packages/agent/src/autonomy/index.js +344 -0
  398. package/packages/agent/src/awareness/index.d.ts +2 -0
  399. package/packages/agent/src/awareness/index.d.ts.map +1 -0
  400. package/packages/agent/src/awareness/index.js +1 -0
  401. package/packages/agent/src/awareness/registry.d.ts +1 -26
  402. package/packages/agent/src/awareness/registry.d.ts.map +1 -1
  403. package/packages/agent/src/awareness/registry.js +1 -161
  404. package/packages/agent/src/bin.js +46 -1
  405. package/packages/agent/src/cli/benchmark.d.ts +10 -0
  406. package/packages/agent/src/cli/benchmark.d.ts.map +1 -0
  407. package/packages/agent/src/cli/benchmark.js +293 -0
  408. package/packages/agent/src/cli/index.d.ts.map +1 -1
  409. package/packages/agent/src/cli/index.js +58 -4
  410. package/packages/agent/src/config/config.d.ts +2 -2
  411. package/packages/agent/src/config/config.d.ts.map +1 -1
  412. package/packages/agent/src/config/config.js +185 -18
  413. package/packages/agent/src/config/env-vars.d.ts +7 -1
  414. package/packages/agent/src/config/env-vars.d.ts.map +1 -1
  415. package/packages/agent/src/config/env-vars.js +205 -0
  416. package/packages/agent/src/config/feature-flags.d.ts +17 -0
  417. package/packages/agent/src/config/feature-flags.d.ts.map +1 -0
  418. package/packages/agent/src/config/feature-flags.js +37 -0
  419. package/packages/agent/src/config/includes.d.ts.map +1 -1
  420. package/packages/agent/src/config/includes.js +6 -5
  421. package/packages/agent/src/config/index.d.ts +10 -15
  422. package/packages/agent/src/config/index.d.ts.map +1 -1
  423. package/packages/agent/src/config/index.js +9 -15
  424. package/packages/agent/src/config/model-metadata.d.ts +20 -0
  425. package/packages/agent/src/config/model-metadata.d.ts.map +1 -0
  426. package/packages/agent/src/config/model-metadata.js +133 -0
  427. package/packages/agent/src/config/owner-contacts.d.ts +42 -0
  428. package/packages/agent/src/config/owner-contacts.d.ts.map +1 -0
  429. package/packages/agent/src/config/owner-contacts.js +238 -0
  430. package/packages/agent/src/config/paths.d.ts +10 -6
  431. package/packages/agent/src/config/paths.d.ts.map +1 -1
  432. package/packages/agent/src/config/paths.js +43 -45
  433. package/packages/agent/src/config/plugin-auto-enable.d.ts +12 -15
  434. package/packages/agent/src/config/plugin-auto-enable.d.ts.map +1 -1
  435. package/packages/agent/src/config/plugin-auto-enable.js +12 -384
  436. package/packages/agent/src/config/plugin-widgets.d.ts +29 -0
  437. package/packages/agent/src/config/plugin-widgets.d.ts.map +1 -0
  438. package/packages/agent/src/config/plugin-widgets.js +104 -0
  439. package/packages/agent/src/config/schema.d.ts +2 -2
  440. package/packages/agent/src/config/schema.d.ts.map +1 -1
  441. package/packages/agent/src/config/schema.js +24 -24
  442. package/packages/agent/src/config/types.agent-defaults.d.ts +1 -330
  443. package/packages/agent/src/config/types.agent-defaults.d.ts.map +1 -1
  444. package/packages/agent/src/config/types.agent-defaults.js +1 -1
  445. package/packages/agent/src/config/types.agents.d.ts +1 -109
  446. package/packages/agent/src/config/types.agents.d.ts.map +1 -1
  447. package/packages/agent/src/config/types.agents.js +1 -1
  448. package/packages/agent/src/config/types.d.ts +1 -7
  449. package/packages/agent/src/config/types.d.ts.map +1 -1
  450. package/packages/agent/src/config/types.eliza.d.ts +1 -635
  451. package/packages/agent/src/config/types.eliza.d.ts.map +1 -1
  452. package/packages/agent/src/config/types.eliza.js +1 -1
  453. package/packages/agent/src/config/types.gateway.d.ts +1 -215
  454. package/packages/agent/src/config/types.gateway.d.ts.map +1 -1
  455. package/packages/agent/src/config/types.gateway.js +1 -1
  456. package/packages/agent/src/config/types.hooks.d.ts +1 -106
  457. package/packages/agent/src/config/types.hooks.d.ts.map +1 -1
  458. package/packages/agent/src/config/types.hooks.js +1 -1
  459. package/packages/agent/src/config/types.js +1 -7
  460. package/packages/agent/src/config/types.messages.d.ts +1 -175
  461. package/packages/agent/src/config/types.messages.d.ts.map +1 -1
  462. package/packages/agent/src/config/types.messages.js +1 -1
  463. package/packages/agent/src/config/types.tools.d.ts +1 -399
  464. package/packages/agent/src/config/types.tools.d.ts.map +1 -1
  465. package/packages/agent/src/config/types.tools.js +1 -1
  466. package/packages/agent/src/config/zod-schema.agent-runtime.d.ts +111 -9
  467. package/packages/agent/src/config/zod-schema.agent-runtime.d.ts.map +1 -1
  468. package/packages/agent/src/config/zod-schema.agent-runtime.js +89 -2
  469. package/packages/agent/src/config/zod-schema.core.d.ts +308 -50
  470. package/packages/agent/src/config/zod-schema.core.d.ts.map +1 -1
  471. package/packages/agent/src/config/zod-schema.core.js +81 -14
  472. package/packages/agent/src/config/zod-schema.d.ts +500 -1913
  473. package/packages/agent/src/config/zod-schema.d.ts.map +1 -1
  474. package/packages/agent/src/config/zod-schema.js +84 -16
  475. package/packages/agent/src/config/zod-schema.providers-core.d.ts +135 -359
  476. package/packages/agent/src/config/zod-schema.providers-core.d.ts.map +1 -1
  477. package/packages/agent/src/config/zod-schema.providers-core.js +51 -88
  478. package/packages/agent/src/config/zod-schema.session.d.ts +1 -1
  479. package/packages/agent/src/config/zod-schema.session.js +1 -1
  480. package/packages/agent/src/contracts/awareness.d.ts +1 -1
  481. package/packages/agent/src/contracts/index.d.ts +1 -8
  482. package/packages/agent/src/contracts/index.d.ts.map +1 -1
  483. package/packages/agent/src/contracts/index.js +1 -8
  484. package/packages/agent/src/contracts/onboarding-provider-defaults.d.ts +177 -0
  485. package/packages/agent/src/contracts/onboarding-provider-defaults.d.ts.map +1 -0
  486. package/packages/agent/src/contracts/{onboarding.js → onboarding-provider-defaults.js} +21 -109
  487. package/packages/agent/src/diagnostics/index.d.ts +2 -0
  488. package/packages/agent/src/diagnostics/index.d.ts.map +1 -0
  489. package/packages/agent/src/diagnostics/index.js +1 -0
  490. package/packages/agent/src/diagnostics/integration-observability.d.ts +1 -1
  491. package/packages/agent/src/diagnostics/integration-observability.d.ts.map +1 -1
  492. package/packages/agent/src/diagnostics/integration-observability.js +13 -3
  493. package/packages/agent/src/hooks/discovery.d.ts +1 -1
  494. package/packages/agent/src/hooks/discovery.d.ts.map +1 -1
  495. package/packages/agent/src/hooks/discovery.js +10 -3
  496. package/packages/agent/src/hooks/eligibility.d.ts +2 -2
  497. package/packages/agent/src/hooks/eligibility.d.ts.map +1 -1
  498. package/packages/agent/src/hooks/eligibility.js +7 -2
  499. package/packages/agent/src/hooks/index.d.ts +2 -2
  500. package/packages/agent/src/hooks/index.d.ts.map +1 -1
  501. package/packages/agent/src/hooks/index.js +2 -2
  502. package/packages/agent/src/hooks/loader.d.ts +2 -2
  503. package/packages/agent/src/hooks/loader.d.ts.map +1 -1
  504. package/packages/agent/src/hooks/loader.js +50 -12
  505. package/packages/agent/src/hooks/registry.d.ts +1 -1
  506. package/packages/agent/src/hooks/registry.d.ts.map +1 -1
  507. package/packages/agent/src/index.d.ts +72 -19
  508. package/packages/agent/src/index.d.ts.map +1 -1
  509. package/packages/agent/src/index.js +104 -19
  510. package/packages/agent/src/providers/admin-panel.d.ts +4 -0
  511. package/packages/agent/src/providers/admin-panel.d.ts.map +1 -0
  512. package/packages/agent/src/providers/admin-panel.js +89 -0
  513. package/packages/agent/src/providers/admin-trust.d.ts.map +1 -1
  514. package/packages/agent/src/providers/admin-trust.js +20 -33
  515. package/packages/agent/src/providers/automation-terminal-bridge.d.ts +3 -0
  516. package/packages/agent/src/providers/automation-terminal-bridge.d.ts.map +1 -0
  517. package/packages/agent/src/providers/automation-terminal-bridge.js +77 -0
  518. package/packages/agent/src/providers/conversation-proximity.d.ts +3 -0
  519. package/packages/agent/src/providers/conversation-proximity.d.ts.map +1 -0
  520. package/packages/agent/src/providers/conversation-proximity.js +62 -0
  521. package/packages/agent/src/providers/escalation-trigger.d.ts +15 -0
  522. package/packages/agent/src/providers/escalation-trigger.d.ts.map +1 -0
  523. package/packages/agent/src/providers/escalation-trigger.js +171 -0
  524. package/packages/agent/src/providers/index.d.ts +19 -0
  525. package/packages/agent/src/providers/index.d.ts.map +1 -0
  526. package/packages/agent/src/providers/index.js +18 -0
  527. package/packages/agent/src/providers/local-models.d.ts +118 -0
  528. package/packages/agent/src/providers/local-models.d.ts.map +1 -0
  529. package/packages/agent/src/providers/local-models.js +418 -0
  530. package/packages/agent/src/providers/media-provider.d.ts +233 -0
  531. package/packages/agent/src/providers/media-provider.d.ts.map +1 -0
  532. package/packages/agent/src/providers/media-provider.js +1474 -0
  533. package/packages/agent/src/providers/page-scoped-context.d.ts +3 -0
  534. package/packages/agent/src/providers/page-scoped-context.d.ts.map +1 -0
  535. package/packages/agent/src/providers/page-scoped-context.js +551 -0
  536. package/packages/agent/src/providers/pending-permissions-provider.d.ts +19 -0
  537. package/packages/agent/src/providers/pending-permissions-provider.d.ts.map +1 -0
  538. package/packages/agent/src/providers/pending-permissions-provider.js +104 -0
  539. package/packages/agent/src/providers/recent-conversations.d.ts +3 -0
  540. package/packages/agent/src/providers/recent-conversations.d.ts.map +1 -0
  541. package/packages/agent/src/providers/recent-conversations.js +100 -0
  542. package/packages/agent/src/providers/relevant-conversations.d.ts +3 -0
  543. package/packages/agent/src/providers/relevant-conversations.d.ts.map +1 -0
  544. package/packages/agent/src/providers/relevant-conversations.js +99 -0
  545. package/packages/agent/src/providers/role-backfill.d.ts +18 -0
  546. package/packages/agent/src/providers/role-backfill.d.ts.map +1 -0
  547. package/packages/agent/src/providers/role-backfill.js +86 -0
  548. package/packages/agent/src/providers/rolodex.d.ts +3 -0
  549. package/packages/agent/src/providers/rolodex.d.ts.map +1 -0
  550. package/packages/agent/src/providers/rolodex.js +83 -0
  551. package/packages/agent/src/providers/self-status.d.ts +4 -0
  552. package/packages/agent/src/providers/self-status.d.ts.map +1 -0
  553. package/packages/agent/src/providers/self-status.js +22 -0
  554. package/packages/agent/src/providers/session-bridge.d.ts.map +1 -1
  555. package/packages/agent/src/providers/session-bridge.js +6 -1
  556. package/packages/agent/src/providers/session-utils.d.ts +1 -1
  557. package/packages/agent/src/providers/session-utils.d.ts.map +1 -1
  558. package/packages/agent/src/providers/session-utils.js +2 -3
  559. package/packages/agent/src/providers/simple-mode.d.ts.map +1 -1
  560. package/packages/agent/src/providers/simple-mode.js +18 -54
  561. package/packages/agent/src/providers/skill-provider.d.ts +16 -0
  562. package/packages/agent/src/providers/skill-provider.d.ts.map +1 -0
  563. package/packages/agent/src/providers/skill-provider.js +353 -0
  564. package/packages/agent/src/providers/tasks.d.ts +9 -0
  565. package/packages/agent/src/providers/tasks.d.ts.map +1 -0
  566. package/packages/agent/src/providers/tasks.js +118 -0
  567. package/packages/agent/src/providers/ui-catalog.d.ts.map +1 -1
  568. package/packages/agent/src/providers/ui-catalog.js +15 -38
  569. package/packages/agent/src/providers/user-name.d.ts +11 -0
  570. package/packages/agent/src/providers/user-name.d.ts.map +1 -0
  571. package/packages/agent/src/providers/user-name.js +46 -0
  572. package/packages/agent/src/providers/workspace-provider.d.ts +3 -11
  573. package/packages/agent/src/providers/workspace-provider.d.ts.map +1 -1
  574. package/packages/agent/src/providers/workspace-provider.js +27 -11
  575. package/packages/agent/src/providers/workspace.d.ts +2 -3
  576. package/packages/agent/src/providers/workspace.d.ts.map +1 -1
  577. package/packages/agent/src/providers/workspace.js +81 -68
  578. package/packages/agent/src/runtime/advanced-capabilities-config.d.ts +8 -0
  579. package/packages/agent/src/runtime/advanced-capabilities-config.d.ts.map +1 -0
  580. package/packages/agent/src/runtime/advanced-capabilities-config.js +41 -0
  581. package/packages/agent/src/runtime/agent-wallets.d.ts +138 -0
  582. package/packages/agent/src/runtime/agent-wallets.d.ts.map +1 -0
  583. package/packages/agent/src/runtime/agent-wallets.js +308 -0
  584. package/packages/agent/src/runtime/analysis-mode-flag.d.ts +93 -0
  585. package/packages/agent/src/runtime/analysis-mode-flag.d.ts.map +1 -0
  586. package/packages/agent/src/runtime/analysis-mode-flag.js +131 -0
  587. package/packages/agent/src/runtime/android-app-plugins.d.ts +13 -0
  588. package/packages/agent/src/runtime/android-app-plugins.d.ts.map +1 -0
  589. package/packages/agent/src/runtime/android-app-plugins.js +48 -0
  590. package/packages/agent/src/runtime/aosp-dflash-adapter.d.ts +99 -0
  591. package/packages/agent/src/runtime/aosp-dflash-adapter.d.ts.map +1 -0
  592. package/packages/agent/src/runtime/aosp-dflash-adapter.js +332 -0
  593. package/packages/agent/src/runtime/build-character-config.d.ts +2 -0
  594. package/packages/agent/src/runtime/build-character-config.d.ts.map +1 -0
  595. package/packages/agent/src/runtime/build-character-config.js +176 -0
  596. package/packages/agent/src/runtime/conversation-compactor-runtime.d.ts +141 -0
  597. package/packages/agent/src/runtime/conversation-compactor-runtime.d.ts.map +1 -0
  598. package/packages/agent/src/runtime/conversation-compactor-runtime.js +460 -0
  599. package/packages/agent/src/runtime/conversation-compactor.d.ts +38 -0
  600. package/packages/agent/src/runtime/conversation-compactor.d.ts.map +1 -0
  601. package/packages/agent/src/runtime/conversation-compactor.js +1121 -0
  602. package/packages/agent/src/runtime/conversation-compactor.types.d.ts +102 -0
  603. package/packages/agent/src/runtime/conversation-compactor.types.d.ts.map +1 -0
  604. package/packages/agent/src/runtime/conversation-compactor.types.js +30 -0
  605. package/packages/agent/src/runtime/core-plugins.d.ts +50 -0
  606. package/packages/agent/src/runtime/core-plugins.d.ts.map +1 -1
  607. package/packages/agent/src/runtime/core-plugins.js +85 -16
  608. package/packages/agent/src/runtime/custom-actions.d.ts +5 -2
  609. package/packages/agent/src/runtime/custom-actions.d.ts.map +1 -1
  610. package/packages/agent/src/runtime/custom-actions.js +93 -14
  611. package/packages/agent/src/runtime/default-documents.d.ts +21 -0
  612. package/packages/agent/src/runtime/default-documents.d.ts.map +1 -0
  613. package/packages/agent/src/runtime/default-documents.js +283 -0
  614. package/packages/agent/src/runtime/eliza-plugin.d.ts +1 -1
  615. package/packages/agent/src/runtime/eliza-plugin.d.ts.map +1 -1
  616. package/packages/agent/src/runtime/eliza-plugin.js +142 -67
  617. package/packages/agent/src/runtime/eliza.d.ts +23 -119
  618. package/packages/agent/src/runtime/eliza.d.ts.map +1 -1
  619. package/packages/agent/src/runtime/eliza.js +1512 -2085
  620. package/packages/agent/src/runtime/embedding-presets.d.ts.map +1 -1
  621. package/packages/agent/src/runtime/embedding-presets.js +27 -20
  622. package/packages/agent/src/runtime/first-time-setup.d.ts +47 -0
  623. package/packages/agent/src/runtime/first-time-setup.d.ts.map +1 -0
  624. package/packages/agent/src/runtime/first-time-setup.js +704 -0
  625. package/packages/agent/src/runtime/index.d.ts +19 -8
  626. package/packages/agent/src/runtime/index.d.ts.map +1 -1
  627. package/packages/agent/src/runtime/index.js +19 -8
  628. package/packages/agent/src/runtime/load-plugin-from-vfs.d.ts +54 -0
  629. package/packages/agent/src/runtime/load-plugin-from-vfs.d.ts.map +1 -0
  630. package/packages/agent/src/runtime/load-plugin-from-vfs.js +86 -0
  631. package/packages/agent/src/runtime/local-execution-mode.d.ts +11 -0
  632. package/packages/agent/src/runtime/local-execution-mode.d.ts.map +1 -0
  633. package/packages/agent/src/runtime/local-execution-mode.js +10 -0
  634. package/packages/agent/src/runtime/model-resolution.d.ts +2 -0
  635. package/packages/agent/src/runtime/model-resolution.d.ts.map +1 -0
  636. package/packages/agent/src/runtime/model-resolution.js +55 -0
  637. package/packages/agent/src/runtime/native-runtime-features.d.ts +4 -0
  638. package/packages/agent/src/runtime/native-runtime-features.d.ts.map +1 -0
  639. package/packages/agent/src/runtime/native-runtime-features.js +10 -0
  640. package/packages/agent/src/runtime/onboarding-names.d.ts +3 -3
  641. package/packages/agent/src/runtime/onboarding-names.d.ts.map +1 -1
  642. package/packages/agent/src/runtime/onboarding-names.js +14 -7
  643. package/packages/agent/src/runtime/operations/classifier.d.ts +36 -0
  644. package/packages/agent/src/runtime/operations/classifier.d.ts.map +1 -0
  645. package/packages/agent/src/runtime/operations/classifier.js +72 -0
  646. package/packages/agent/src/runtime/operations/cold-strategy.d.ts +19 -0
  647. package/packages/agent/src/runtime/operations/cold-strategy.d.ts.map +1 -0
  648. package/packages/agent/src/runtime/operations/cold-strategy.js +50 -0
  649. package/packages/agent/src/runtime/operations/health-checks.d.ts +25 -0
  650. package/packages/agent/src/runtime/operations/health-checks.d.ts.map +1 -0
  651. package/packages/agent/src/runtime/operations/health-checks.js +186 -0
  652. package/packages/agent/src/runtime/operations/health.d.ts +32 -0
  653. package/packages/agent/src/runtime/operations/health.d.ts.map +1 -0
  654. package/packages/agent/src/runtime/operations/health.js +139 -0
  655. package/packages/agent/src/runtime/operations/index.d.ts +17 -0
  656. package/packages/agent/src/runtime/operations/index.d.ts.map +1 -0
  657. package/packages/agent/src/runtime/operations/index.js +15 -0
  658. package/packages/agent/src/runtime/operations/manager.d.ts +70 -0
  659. package/packages/agent/src/runtime/operations/manager.d.ts.map +1 -0
  660. package/packages/agent/src/runtime/operations/manager.js +202 -0
  661. package/packages/agent/src/runtime/operations/reload-hot.d.ts +43 -0
  662. package/packages/agent/src/runtime/operations/reload-hot.d.ts.map +1 -0
  663. package/packages/agent/src/runtime/operations/reload-hot.js +181 -0
  664. package/packages/agent/src/runtime/operations/repository.d.ts +66 -0
  665. package/packages/agent/src/runtime/operations/repository.d.ts.map +1 -0
  666. package/packages/agent/src/runtime/operations/repository.js +319 -0
  667. package/packages/agent/src/runtime/operations/types.d.ts +203 -0
  668. package/packages/agent/src/runtime/operations/types.d.ts.map +1 -0
  669. package/packages/agent/src/runtime/operations/types.js +18 -0
  670. package/packages/agent/src/runtime/operations/vault-bridge.d.ts +81 -0
  671. package/packages/agent/src/runtime/operations/vault-bridge.d.ts.map +1 -0
  672. package/packages/agent/src/runtime/operations/vault-bridge.js +133 -0
  673. package/packages/agent/src/runtime/owner-entity.d.ts +4 -0
  674. package/packages/agent/src/runtime/owner-entity.d.ts.map +1 -0
  675. package/packages/agent/src/runtime/owner-entity.js +30 -0
  676. package/packages/agent/src/runtime/pglite-error-compat.d.ts +28 -0
  677. package/packages/agent/src/runtime/pglite-error-compat.d.ts.map +1 -0
  678. package/packages/agent/src/runtime/pglite-error-compat.js +54 -0
  679. package/packages/agent/src/runtime/plugin-collector.d.ts +22 -0
  680. package/packages/agent/src/runtime/plugin-collector.d.ts.map +1 -0
  681. package/packages/agent/src/runtime/plugin-collector.js +503 -0
  682. package/packages/agent/src/runtime/plugin-lifecycle.d.ts +45 -0
  683. package/packages/agent/src/runtime/plugin-lifecycle.d.ts.map +1 -0
  684. package/packages/agent/src/runtime/plugin-lifecycle.js +602 -0
  685. package/packages/agent/src/runtime/plugin-resolver.d.ts +46 -0
  686. package/packages/agent/src/runtime/plugin-resolver.d.ts.map +1 -0
  687. package/packages/agent/src/runtime/plugin-resolver.js +1375 -0
  688. package/packages/agent/src/runtime/plugin-role-gating.d.ts +24 -0
  689. package/packages/agent/src/runtime/plugin-role-gating.d.ts.map +1 -0
  690. package/packages/agent/src/runtime/plugin-role-gating.js +106 -0
  691. package/packages/agent/src/runtime/plugin-types.d.ts +64 -0
  692. package/packages/agent/src/runtime/plugin-types.d.ts.map +1 -0
  693. package/packages/agent/src/runtime/plugin-types.js +306 -0
  694. package/packages/agent/src/runtime/prompt-compaction.d.ts +98 -0
  695. package/packages/agent/src/runtime/prompt-compaction.d.ts.map +1 -0
  696. package/packages/agent/src/runtime/prompt-compaction.js +362 -0
  697. package/packages/agent/src/runtime/prompt-optimization.d.ts +47 -0
  698. package/packages/agent/src/runtime/prompt-optimization.d.ts.map +1 -0
  699. package/packages/agent/src/runtime/prompt-optimization.js +1123 -0
  700. package/packages/agent/src/runtime/release-plugin-policy.d.ts.map +1 -1
  701. package/packages/agent/src/runtime/release-plugin-policy.js +2 -4
  702. package/packages/agent/src/runtime/restart.d.ts +5 -41
  703. package/packages/agent/src/runtime/restart.d.ts.map +1 -1
  704. package/packages/agent/src/runtime/restart.js +5 -42
  705. package/packages/agent/src/runtime/roles/src/index.d.ts +24 -0
  706. package/packages/agent/src/runtime/roles/src/index.d.ts.map +1 -0
  707. package/packages/agent/src/runtime/roles/src/index.js +255 -0
  708. package/packages/agent/src/runtime/roles/src/provider.d.ts +7 -0
  709. package/packages/agent/src/runtime/roles/src/provider.d.ts.map +1 -0
  710. package/packages/agent/src/runtime/roles/src/provider.js +138 -0
  711. package/packages/agent/src/runtime/roles/src/types.d.ts +3 -0
  712. package/packages/agent/src/runtime/roles/src/types.d.ts.map +1 -0
  713. package/packages/agent/src/runtime/roles/src/types.js +1 -0
  714. package/packages/agent/src/runtime/roles/src/utils.d.ts +2 -0
  715. package/packages/agent/src/runtime/roles/src/utils.d.ts.map +1 -0
  716. package/packages/agent/src/runtime/roles/src/utils.js +1 -0
  717. package/packages/agent/src/runtime/roles.d.ts +3 -0
  718. package/packages/agent/src/runtime/roles.d.ts.map +1 -0
  719. package/packages/agent/src/runtime/roles.js +5 -0
  720. package/packages/agent/src/runtime/subagent-output.d.ts +51 -0
  721. package/packages/agent/src/runtime/subagent-output.d.ts.map +1 -0
  722. package/packages/agent/src/runtime/subagent-output.js +173 -0
  723. package/packages/agent/src/runtime/task-heartbeat.d.ts +22 -0
  724. package/packages/agent/src/runtime/task-heartbeat.d.ts.map +1 -0
  725. package/packages/agent/src/runtime/task-heartbeat.js +84 -0
  726. package/packages/agent/src/runtime/tool-call-cache/cache.d.ts +62 -0
  727. package/packages/agent/src/runtime/tool-call-cache/cache.d.ts.map +1 -0
  728. package/packages/agent/src/runtime/tool-call-cache/cache.js +123 -0
  729. package/packages/agent/src/runtime/tool-call-cache/disk-store.d.ts +23 -0
  730. package/packages/agent/src/runtime/tool-call-cache/disk-store.d.ts.map +1 -0
  731. package/packages/agent/src/runtime/tool-call-cache/disk-store.js +55 -0
  732. package/packages/agent/src/runtime/tool-call-cache/index.d.ts +7 -0
  733. package/packages/agent/src/runtime/tool-call-cache/index.d.ts.map +1 -0
  734. package/packages/agent/src/runtime/tool-call-cache/index.js +4 -0
  735. package/packages/agent/src/runtime/tool-call-cache/key.d.ts +11 -0
  736. package/packages/agent/src/runtime/tool-call-cache/key.d.ts.map +1 -0
  737. package/packages/agent/src/runtime/tool-call-cache/key.js +31 -0
  738. package/packages/agent/src/runtime/tool-call-cache/lru.d.ts +17 -0
  739. package/packages/agent/src/runtime/tool-call-cache/lru.d.ts.map +1 -0
  740. package/packages/agent/src/runtime/tool-call-cache/lru.js +46 -0
  741. package/packages/agent/src/runtime/tool-call-cache/redact.d.ts +17 -0
  742. package/packages/agent/src/runtime/tool-call-cache/redact.d.ts.map +1 -0
  743. package/packages/agent/src/runtime/tool-call-cache/redact.js +77 -0
  744. package/packages/agent/src/runtime/tool-call-cache/registry.d.ts +18 -0
  745. package/packages/agent/src/runtime/tool-call-cache/registry.d.ts.map +1 -0
  746. package/packages/agent/src/runtime/tool-call-cache/registry.js +66 -0
  747. package/packages/agent/src/runtime/tool-call-cache/types.d.ts +50 -0
  748. package/packages/agent/src/runtime/tool-call-cache/types.d.ts.map +1 -0
  749. package/packages/agent/src/runtime/tool-call-cache/types.js +10 -0
  750. package/packages/agent/src/runtime/tool-call-cache-wrapper.d.ts +39 -0
  751. package/packages/agent/src/runtime/tool-call-cache-wrapper.d.ts.map +1 -0
  752. package/packages/agent/src/runtime/tool-call-cache-wrapper.js +72 -0
  753. package/packages/agent/src/runtime/trajectory-export.d.ts +18 -0
  754. package/packages/agent/src/runtime/trajectory-export.d.ts.map +1 -0
  755. package/packages/agent/src/runtime/trajectory-export.js +109 -0
  756. package/packages/agent/src/runtime/trajectory-internals.d.ts +242 -0
  757. package/packages/agent/src/runtime/trajectory-internals.d.ts.map +1 -0
  758. package/packages/agent/src/runtime/trajectory-internals.js +1281 -0
  759. package/packages/agent/src/runtime/trajectory-persistence.d.ts +13 -212
  760. package/packages/agent/src/runtime/trajectory-persistence.d.ts.map +1 -1
  761. package/packages/agent/src/runtime/trajectory-persistence.js +25 -1952
  762. package/packages/agent/src/runtime/trajectory-query.d.ts +8 -0
  763. package/packages/agent/src/runtime/trajectory-query.d.ts.map +1 -0
  764. package/packages/agent/src/runtime/trajectory-query.js +27 -0
  765. package/packages/agent/src/runtime/trajectory-storage.d.ts +91 -0
  766. package/packages/agent/src/runtime/trajectory-storage.d.ts.map +1 -0
  767. package/packages/agent/src/runtime/trajectory-storage.js +1093 -0
  768. package/packages/agent/src/runtime/vault-profile-resolver.d.ts +37 -0
  769. package/packages/agent/src/runtime/vault-profile-resolver.d.ts.map +1 -0
  770. package/packages/agent/src/runtime/vault-profile-resolver.js +79 -0
  771. package/packages/agent/src/runtime/version.js +1 -1
  772. package/packages/agent/src/runtime/web-search-tools.d.ts +22 -0
  773. package/packages/agent/src/runtime/web-search-tools.d.ts.map +1 -0
  774. package/packages/agent/src/runtime/web-search-tools.js +151 -0
  775. package/packages/agent/src/security/access.d.ts +17 -0
  776. package/packages/agent/src/security/access.d.ts.map +1 -0
  777. package/packages/agent/src/security/access.js +54 -0
  778. package/packages/agent/src/security/audit-log.d.ts +0 -2
  779. package/packages/agent/src/security/audit-log.d.ts.map +1 -1
  780. package/packages/agent/src/security/index.d.ts +4 -0
  781. package/packages/agent/src/security/index.d.ts.map +1 -0
  782. package/packages/agent/src/security/index.js +3 -0
  783. package/packages/agent/src/services/agent-export.d.ts.map +1 -1
  784. package/packages/agent/src/services/agent-export.js +58 -23
  785. package/packages/agent/src/services/app-manager-agents-list-guard.d.ts +4 -0
  786. package/packages/agent/src/services/app-manager-agents-list-guard.d.ts.map +1 -0
  787. package/packages/agent/src/services/app-manager-agents-list-guard.js +15 -0
  788. package/packages/agent/src/services/app-manager.d.ts +78 -4
  789. package/packages/agent/src/services/app-manager.d.ts.map +1 -1
  790. package/packages/agent/src/services/app-manager.js +1429 -176
  791. package/packages/agent/src/services/app-package-modules.d.ts +22 -0
  792. package/packages/agent/src/services/app-package-modules.d.ts.map +1 -0
  793. package/packages/agent/src/services/app-package-modules.js +397 -0
  794. package/packages/agent/src/services/app-run-store.d.ts +6 -0
  795. package/packages/agent/src/services/app-run-store.d.ts.map +1 -0
  796. package/packages/agent/src/services/app-run-store.js +547 -0
  797. package/packages/agent/src/services/app-session-gate.d.ts +15 -0
  798. package/packages/agent/src/services/app-session-gate.d.ts.map +1 -0
  799. package/packages/agent/src/services/app-session-gate.js +71 -0
  800. package/packages/agent/src/services/capability-broker.d.ts +89 -0
  801. package/packages/agent/src/services/capability-broker.d.ts.map +1 -0
  802. package/packages/agent/src/services/capability-broker.js +339 -0
  803. package/packages/agent/src/services/character-history.d.ts +69 -0
  804. package/packages/agent/src/services/character-history.d.ts.map +1 -0
  805. package/packages/agent/src/services/character-history.js +280 -0
  806. package/packages/agent/src/services/character-persistence.d.ts +25 -0
  807. package/packages/agent/src/services/character-persistence.d.ts.map +1 -0
  808. package/packages/agent/src/services/character-persistence.js +167 -0
  809. package/packages/agent/src/services/client-chat-sender.d.ts +19 -0
  810. package/packages/agent/src/services/client-chat-sender.d.ts.map +1 -0
  811. package/packages/agent/src/services/client-chat-sender.js +88 -0
  812. package/packages/agent/src/services/config-plugin-manager.d.ts +6 -0
  813. package/packages/agent/src/services/config-plugin-manager.d.ts.map +1 -0
  814. package/packages/agent/src/services/config-plugin-manager.js +53 -0
  815. package/packages/agent/src/services/connector-setup-service.d.ts +48 -0
  816. package/packages/agent/src/services/connector-setup-service.d.ts.map +1 -0
  817. package/packages/agent/src/services/connector-setup-service.js +60 -0
  818. package/packages/agent/src/services/escalation.d.ts +35 -0
  819. package/packages/agent/src/services/escalation.d.ts.map +1 -0
  820. package/packages/agent/src/services/escalation.js +376 -0
  821. package/packages/agent/src/services/evm-signing-capability.d.ts +33 -0
  822. package/packages/agent/src/services/evm-signing-capability.d.ts.map +1 -0
  823. package/packages/agent/src/services/evm-signing-capability.js +52 -0
  824. package/packages/agent/src/services/external-bridge-state.d.ts +10 -0
  825. package/packages/agent/src/services/external-bridge-state.d.ts.map +1 -0
  826. package/packages/agent/src/services/external-bridge-state.js +14 -0
  827. package/packages/agent/src/services/hosted-tools.d.ts +70 -0
  828. package/packages/agent/src/services/hosted-tools.d.ts.map +1 -0
  829. package/packages/agent/src/services/hosted-tools.js +87 -0
  830. package/packages/agent/src/services/index.d.ts +26 -17
  831. package/packages/agent/src/services/index.d.ts.map +1 -1
  832. package/packages/agent/src/services/index.js +32 -17
  833. package/packages/agent/src/services/js-runtime-bridge.d.ts +105 -0
  834. package/packages/agent/src/services/js-runtime-bridge.d.ts.map +1 -0
  835. package/packages/agent/src/services/js-runtime-bridge.js +217 -0
  836. package/packages/agent/src/services/mcp-marketplace.js +1 -1
  837. package/packages/agent/src/services/media-generation.d.ts +10 -0
  838. package/packages/agent/src/services/media-generation.d.ts.map +1 -0
  839. package/packages/agent/src/services/media-generation.js +102 -0
  840. package/packages/agent/src/services/overlay-app-presence.d.ts +9 -0
  841. package/packages/agent/src/services/overlay-app-presence.d.ts.map +1 -0
  842. package/packages/agent/src/services/overlay-app-presence.js +18 -0
  843. package/packages/agent/src/services/owner-name.d.ts +4 -0
  844. package/packages/agent/src/services/owner-name.d.ts.map +1 -0
  845. package/packages/agent/src/services/owner-name.js +46 -0
  846. package/packages/agent/src/services/permissions/contracts.d.ts +9 -0
  847. package/packages/agent/src/services/permissions/contracts.d.ts.map +1 -0
  848. package/packages/agent/src/services/permissions/contracts.js +8 -0
  849. package/packages/agent/src/services/permissions/probers/_bridge.d.ts +77 -0
  850. package/packages/agent/src/services/permissions/probers/_bridge.d.ts.map +1 -0
  851. package/packages/agent/src/services/permissions/probers/_bridge.js +224 -0
  852. package/packages/agent/src/services/permissions/probers/accessibility.d.ts +16 -0
  853. package/packages/agent/src/services/permissions/probers/accessibility.d.ts.map +1 -0
  854. package/packages/agent/src/services/permissions/probers/accessibility.js +45 -0
  855. package/packages/agent/src/services/permissions/probers/automation.d.ts +17 -0
  856. package/packages/agent/src/services/permissions/probers/automation.d.ts.map +1 -0
  857. package/packages/agent/src/services/permissions/probers/automation.js +46 -0
  858. package/packages/agent/src/services/permissions/probers/calendar.d.ts +14 -0
  859. package/packages/agent/src/services/permissions/probers/calendar.d.ts.map +1 -0
  860. package/packages/agent/src/services/permissions/probers/calendar.js +33 -0
  861. package/packages/agent/src/services/permissions/probers/camera.d.ts +14 -0
  862. package/packages/agent/src/services/permissions/probers/camera.d.ts.map +1 -0
  863. package/packages/agent/src/services/permissions/probers/camera.js +39 -0
  864. package/packages/agent/src/services/permissions/probers/contacts.d.ts +13 -0
  865. package/packages/agent/src/services/permissions/probers/contacts.d.ts.map +1 -0
  866. package/packages/agent/src/services/permissions/probers/contacts.js +32 -0
  867. package/packages/agent/src/services/permissions/probers/full-disk.d.ts +22 -0
  868. package/packages/agent/src/services/permissions/probers/full-disk.d.ts.map +1 -0
  869. package/packages/agent/src/services/permissions/probers/full-disk.js +78 -0
  870. package/packages/agent/src/services/permissions/probers/health.d.ts +23 -0
  871. package/packages/agent/src/services/permissions/probers/health.d.ts.map +1 -0
  872. package/packages/agent/src/services/permissions/probers/health.js +82 -0
  873. package/packages/agent/src/services/permissions/probers/index.d.ts +27 -0
  874. package/packages/agent/src/services/permissions/probers/index.d.ts.map +1 -0
  875. package/packages/agent/src/services/permissions/probers/index.js +42 -0
  876. package/packages/agent/src/services/permissions/probers/location.d.ts +21 -0
  877. package/packages/agent/src/services/permissions/probers/location.d.ts.map +1 -0
  878. package/packages/agent/src/services/permissions/probers/location.js +47 -0
  879. package/packages/agent/src/services/permissions/probers/microphone.d.ts +14 -0
  880. package/packages/agent/src/services/permissions/probers/microphone.d.ts.map +1 -0
  881. package/packages/agent/src/services/permissions/probers/microphone.js +41 -0
  882. package/packages/agent/src/services/permissions/probers/notes.d.ts +19 -0
  883. package/packages/agent/src/services/permissions/probers/notes.d.ts.map +1 -0
  884. package/packages/agent/src/services/permissions/probers/notes.js +55 -0
  885. package/packages/agent/src/services/permissions/probers/notifications.d.ts +24 -0
  886. package/packages/agent/src/services/permissions/probers/notifications.d.ts.map +1 -0
  887. package/packages/agent/src/services/permissions/probers/notifications.js +47 -0
  888. package/packages/agent/src/services/permissions/probers/reminders.d.ts +22 -0
  889. package/packages/agent/src/services/permissions/probers/reminders.d.ts.map +1 -0
  890. package/packages/agent/src/services/permissions/probers/reminders.js +44 -0
  891. package/packages/agent/src/services/permissions/probers/screen-recording.d.ts +15 -0
  892. package/packages/agent/src/services/permissions/probers/screen-recording.d.ts.map +1 -0
  893. package/packages/agent/src/services/permissions/probers/screen-recording.js +39 -0
  894. package/packages/agent/src/services/permissions/probers/screentime.d.ts +21 -0
  895. package/packages/agent/src/services/permissions/probers/screentime.d.ts.map +1 -0
  896. package/packages/agent/src/services/permissions/probers/screentime.js +67 -0
  897. package/packages/agent/src/services/permissions/probers/shell.d.ts +19 -0
  898. package/packages/agent/src/services/permissions/probers/shell.d.ts.map +1 -0
  899. package/packages/agent/src/services/permissions/probers/shell.js +31 -0
  900. package/packages/agent/src/services/permissions/probers/website-blocking.d.ts +16 -0
  901. package/packages/agent/src/services/permissions/probers/website-blocking.d.ts.map +1 -0
  902. package/packages/agent/src/services/permissions/probers/website-blocking.js +27 -0
  903. package/packages/agent/src/services/permissions/register-probers.d.ts +29 -0
  904. package/packages/agent/src/services/permissions/register-probers.d.ts.map +1 -0
  905. package/packages/agent/src/services/permissions/register-probers.js +31 -0
  906. package/packages/agent/src/services/permissions-registry.d.ts +62 -0
  907. package/packages/agent/src/services/permissions-registry.d.ts.map +1 -0
  908. package/packages/agent/src/services/permissions-registry.js +213 -0
  909. package/packages/agent/src/services/plugin-compiler.d.ts +51 -0
  910. package/packages/agent/src/services/plugin-compiler.d.ts.map +1 -0
  911. package/packages/agent/src/services/plugin-compiler.js +90 -0
  912. package/packages/agent/src/services/plugin-installer.d.ts +93 -0
  913. package/packages/agent/src/services/plugin-installer.d.ts.map +1 -0
  914. package/packages/agent/src/services/plugin-installer.js +623 -0
  915. package/packages/agent/src/services/plugin-manager-types.d.ts +30 -55
  916. package/packages/agent/src/services/plugin-manager-types.d.ts.map +1 -1
  917. package/packages/agent/src/services/registry-client-app-meta.d.ts +1 -1
  918. package/packages/agent/src/services/registry-client-app-meta.d.ts.map +1 -1
  919. package/packages/agent/src/services/registry-client-app-meta.js +53 -32
  920. package/packages/agent/src/services/registry-client-endpoints.d.ts +2 -2
  921. package/packages/agent/src/services/registry-client-endpoints.d.ts.map +1 -1
  922. package/packages/agent/src/services/registry-client-endpoints.js +11 -4
  923. package/packages/agent/src/services/registry-client-local.d.ts +1 -1
  924. package/packages/agent/src/services/registry-client-local.d.ts.map +1 -1
  925. package/packages/agent/src/services/registry-client-local.js +239 -61
  926. package/packages/agent/src/services/registry-client-network.d.ts +6 -1
  927. package/packages/agent/src/services/registry-client-network.d.ts.map +1 -1
  928. package/packages/agent/src/services/registry-client-network.js +43 -5
  929. package/packages/agent/src/services/registry-client-queries.d.ts +16 -5
  930. package/packages/agent/src/services/registry-client-queries.d.ts.map +1 -1
  931. package/packages/agent/src/services/registry-client-queries.js +50 -3
  932. package/packages/agent/src/services/registry-client-types.d.ts +39 -40
  933. package/packages/agent/src/services/registry-client-types.d.ts.map +1 -1
  934. package/packages/agent/src/services/registry-client.d.ts +3 -3
  935. package/packages/agent/src/services/registry-client.d.ts.map +1 -1
  936. package/packages/agent/src/services/registry-client.js +116 -16
  937. package/packages/agent/src/services/relationships-graph.d.ts +13 -0
  938. package/packages/agent/src/services/relationships-graph.d.ts.map +1 -0
  939. package/packages/agent/src/services/relationships-graph.js +38 -0
  940. package/packages/agent/src/services/remote-signing-service.d.ts +2 -2
  941. package/packages/agent/src/services/remote-signing-service.d.ts.map +1 -1
  942. package/packages/agent/src/services/remote-signing-service.js +2 -2
  943. package/packages/agent/src/services/research-task-executor.d.ts +14 -0
  944. package/packages/agent/src/services/research-task-executor.d.ts.map +1 -0
  945. package/packages/agent/src/services/research-task-executor.js +138 -0
  946. package/packages/agent/src/services/sandbox-manager.d.ts +24 -1
  947. package/packages/agent/src/services/sandbox-manager.d.ts.map +1 -1
  948. package/packages/agent/src/services/sandbox-manager.js +174 -109
  949. package/packages/agent/src/services/self-updater.d.ts +1 -1
  950. package/packages/agent/src/services/self-updater.d.ts.map +1 -1
  951. package/packages/agent/src/services/self-updater.js +1 -1
  952. package/packages/agent/src/services/send-handler-availability.d.ts +5 -0
  953. package/packages/agent/src/services/send-handler-availability.d.ts.map +1 -0
  954. package/packages/agent/src/services/send-handler-availability.js +20 -0
  955. package/packages/agent/src/services/shell-execution-router.d.ts +67 -0
  956. package/packages/agent/src/services/shell-execution-router.d.ts.map +1 -0
  957. package/packages/agent/src/services/shell-execution-router.js +201 -0
  958. package/packages/agent/src/services/skill-marketplace.d.ts.map +1 -1
  959. package/packages/agent/src/services/skill-marketplace.js +36 -25
  960. package/packages/agent/src/services/task-executor.d.ts +47 -0
  961. package/packages/agent/src/services/task-executor.d.ts.map +1 -0
  962. package/packages/agent/src/services/task-executor.js +31 -0
  963. package/packages/agent/src/services/update-checker.d.ts +1 -1
  964. package/packages/agent/src/services/update-checker.d.ts.map +1 -1
  965. package/packages/agent/src/services/update-checker.js +4 -4
  966. package/packages/agent/src/services/version-compat.d.ts +4 -4
  967. package/packages/agent/src/services/version-compat.d.ts.map +1 -1
  968. package/packages/agent/src/services/version-compat.js +23 -7
  969. package/packages/agent/src/services/virtual-filesystem.d.ts +88 -0
  970. package/packages/agent/src/services/virtual-filesystem.d.ts.map +1 -0
  971. package/packages/agent/src/services/virtual-filesystem.js +410 -0
  972. package/packages/agent/src/shared/conversation-format.d.ts +11 -0
  973. package/packages/agent/src/shared/conversation-format.d.ts.map +1 -0
  974. package/packages/agent/src/shared/conversation-format.js +69 -0
  975. package/packages/agent/src/shared/index.d.ts +4 -0
  976. package/packages/agent/src/shared/index.d.ts.map +1 -0
  977. package/packages/agent/src/shared/index.js +3 -0
  978. package/packages/agent/src/shared/ui-catalog-prompt.d.ts +60 -18
  979. package/packages/agent/src/shared/ui-catalog-prompt.d.ts.map +1 -1
  980. package/packages/agent/src/shared/ui-catalog-prompt.js +116 -99
  981. package/packages/agent/src/shared/workspace-resolution.d.ts +5 -0
  982. package/packages/agent/src/shared/workspace-resolution.d.ts.map +1 -0
  983. package/packages/agent/src/shared/workspace-resolution.js +70 -0
  984. package/packages/agent/src/templates/skill-scaffold.d.ts +9 -0
  985. package/packages/agent/src/templates/skill-scaffold.d.ts.map +1 -0
  986. package/packages/agent/src/templates/skill-scaffold.js +26 -0
  987. package/packages/agent/src/test-support/index.d.ts +4 -0
  988. package/packages/agent/src/test-support/index.d.ts.map +1 -0
  989. package/packages/agent/src/test-support/index.js +3 -0
  990. package/packages/agent/src/test-support/route-test-helpers.d.ts +2 -2
  991. package/packages/agent/src/test-support/route-test-helpers.d.ts.map +1 -1
  992. package/packages/agent/src/test-support/route-test-helpers.js +1 -1
  993. package/packages/agent/src/test-support/test-helpers.d.ts +3 -3
  994. package/packages/agent/src/test-support/test-helpers.d.ts.map +1 -1
  995. package/packages/agent/src/test-support/test-helpers.js +35 -24
  996. package/packages/agent/src/test-utils/sqlite-compat.d.ts +23 -0
  997. package/packages/agent/src/test-utils/sqlite-compat.d.ts.map +1 -0
  998. package/packages/agent/src/test-utils/sqlite-compat.js +214 -0
  999. package/packages/agent/src/testing/index.d.ts +3 -3
  1000. package/packages/agent/src/testing/index.d.ts.map +1 -1
  1001. package/packages/agent/src/testing/index.js +3 -3
  1002. package/packages/agent/src/triggers/index.d.ts +5 -0
  1003. package/packages/agent/src/triggers/index.d.ts.map +1 -0
  1004. package/packages/agent/src/triggers/index.js +4 -0
  1005. package/packages/agent/src/triggers/runtime.d.ts +8 -2
  1006. package/packages/agent/src/triggers/runtime.d.ts.map +1 -1
  1007. package/packages/agent/src/triggers/runtime.js +197 -72
  1008. package/packages/agent/src/triggers/scheduling.d.ts +9 -1
  1009. package/packages/agent/src/triggers/scheduling.d.ts.map +1 -1
  1010. package/packages/agent/src/triggers/scheduling.js +103 -22
  1011. package/packages/agent/src/triggers/text-to-workflow.d.ts +58 -0
  1012. package/packages/agent/src/triggers/text-to-workflow.d.ts.map +1 -0
  1013. package/packages/agent/src/triggers/text-to-workflow.js +44 -0
  1014. package/packages/agent/src/triggers/types.d.ts +18 -37
  1015. package/packages/agent/src/triggers/types.d.ts.map +1 -1
  1016. package/packages/agent/src/triggers/types.js +1 -1
  1017. package/packages/agent/src/types/agent-skills.d.ts +19 -0
  1018. package/packages/agent/src/types/agent-skills.d.ts.map +1 -0
  1019. package/packages/agent/src/types/agent-skills.js +7 -0
  1020. package/packages/agent/src/types/config-like.d.ts +17 -0
  1021. package/packages/agent/src/types/config-like.d.ts.map +1 -0
  1022. package/packages/agent/src/types/config-like.js +7 -0
  1023. package/packages/agent/src/types/index.d.ts +4 -0
  1024. package/packages/agent/src/types/index.d.ts.map +1 -0
  1025. package/packages/agent/src/types/index.js +3 -0
  1026. package/packages/agent/src/types/trajectory.d.ts +20 -0
  1027. package/packages/agent/src/types/trajectory.d.ts.map +1 -0
  1028. package/packages/agent/src/types/trajectory.js +2 -0
  1029. package/packages/agent/src/utils/atomic-json.d.ts +37 -0
  1030. package/packages/agent/src/utils/atomic-json.d.ts.map +1 -0
  1031. package/packages/agent/src/utils/atomic-json.js +98 -0
  1032. package/packages/agent/src/utils/index.d.ts +2 -0
  1033. package/packages/agent/src/utils/index.d.ts.map +1 -0
  1034. package/packages/agent/src/utils/index.js +1 -0
  1035. package/packages/agent/src/utils/number-parsing.d.ts.map +1 -1
  1036. package/packages/agent/src/utils/number-parsing.js +1 -2
  1037. package/packages/agent/src/version-resolver.d.ts +0 -1
  1038. package/packages/agent/src/version-resolver.d.ts.map +1 -1
  1039. package/packages/agent/src/version-resolver.js +0 -1
  1040. package/LICENSE +0 -21
  1041. package/packages/agent/src/actions/emote.d.ts +0 -14
  1042. package/packages/agent/src/actions/emote.d.ts.map +0 -1
  1043. package/packages/agent/src/actions/emote.js +0 -91
  1044. package/packages/agent/src/actions/restart.d.ts +0 -19
  1045. package/packages/agent/src/actions/restart.d.ts.map +0 -1
  1046. package/packages/agent/src/actions/restart.js +0 -86
  1047. package/packages/agent/src/actions/send-message.d.ts +0 -3
  1048. package/packages/agent/src/actions/send-message.d.ts.map +0 -1
  1049. package/packages/agent/src/actions/send-message.js +0 -144
  1050. package/packages/agent/src/actions/switch-stream-source.d.ts +0 -16
  1051. package/packages/agent/src/actions/switch-stream-source.d.ts.map +0 -1
  1052. package/packages/agent/src/actions/switch-stream-source.js +0 -94
  1053. package/packages/agent/src/api/bsc-trade.d.ts +0 -34
  1054. package/packages/agent/src/api/bsc-trade.d.ts.map +0 -1
  1055. package/packages/agent/src/api/bsc-trade.js +0 -567
  1056. package/packages/agent/src/api/cloud-billing-routes.d.ts +0 -14
  1057. package/packages/agent/src/api/cloud-billing-routes.d.ts.map +0 -1
  1058. package/packages/agent/src/api/cloud-billing-routes.js +0 -400
  1059. package/packages/agent/src/api/cloud-compat-routes.d.ts +0 -15
  1060. package/packages/agent/src/api/cloud-compat-routes.d.ts.map +0 -1
  1061. package/packages/agent/src/api/cloud-compat-routes.js +0 -131
  1062. package/packages/agent/src/api/cloud-routes.d.ts +0 -62
  1063. package/packages/agent/src/api/cloud-routes.d.ts.map +0 -1
  1064. package/packages/agent/src/api/cloud-routes.js +0 -339
  1065. package/packages/agent/src/api/cloud-status-routes.d.ts +0 -15
  1066. package/packages/agent/src/api/cloud-status-routes.d.ts.map +0 -1
  1067. package/packages/agent/src/api/cloud-status-routes.js +0 -165
  1068. package/packages/agent/src/api/drop-service.d.ts +0 -26
  1069. package/packages/agent/src/api/drop-service.d.ts.map +0 -1
  1070. package/packages/agent/src/api/drop-service.js +0 -134
  1071. package/packages/agent/src/api/http-helpers.d.ts +0 -50
  1072. package/packages/agent/src/api/http-helpers.d.ts.map +0 -1
  1073. package/packages/agent/src/api/http-helpers.js +0 -145
  1074. package/packages/agent/src/api/knowledge-routes.d.ts +0 -23
  1075. package/packages/agent/src/api/knowledge-routes.d.ts.map +0 -1
  1076. package/packages/agent/src/api/knowledge-routes.js +0 -931
  1077. package/packages/agent/src/api/knowledge-service-loader.d.ts +0 -51
  1078. package/packages/agent/src/api/knowledge-service-loader.d.ts.map +0 -1
  1079. package/packages/agent/src/api/merkle-tree.d.ts +0 -90
  1080. package/packages/agent/src/api/merkle-tree.d.ts.map +0 -1
  1081. package/packages/agent/src/api/merkle-tree.js +0 -174
  1082. package/packages/agent/src/api/og-tracker.d.ts +0 -28
  1083. package/packages/agent/src/api/og-tracker.d.ts.map +0 -1
  1084. package/packages/agent/src/api/og-tracker.js +0 -60
  1085. package/packages/agent/src/api/route-helpers.d.ts +0 -16
  1086. package/packages/agent/src/api/route-helpers.d.ts.map +0 -1
  1087. package/packages/agent/src/api/route-helpers.js +0 -1
  1088. package/packages/agent/src/api/sandbox-routes.d.ts +0 -12
  1089. package/packages/agent/src/api/sandbox-routes.d.ts.map +0 -1
  1090. package/packages/agent/src/api/sandbox-routes.js +0 -1334
  1091. package/packages/agent/src/api/signal-routes.d.ts +0 -39
  1092. package/packages/agent/src/api/signal-routes.d.ts.map +0 -1
  1093. package/packages/agent/src/api/signal-routes.js +0 -168
  1094. package/packages/agent/src/api/stream-persistence.d.ts +0 -64
  1095. package/packages/agent/src/api/stream-persistence.d.ts.map +0 -1
  1096. package/packages/agent/src/api/stream-persistence.js +0 -231
  1097. package/packages/agent/src/api/stream-route-state.d.ts +0 -50
  1098. package/packages/agent/src/api/stream-route-state.d.ts.map +0 -1
  1099. package/packages/agent/src/api/stream-route-state.js +0 -1
  1100. package/packages/agent/src/api/stream-routes.d.ts +0 -45
  1101. package/packages/agent/src/api/stream-routes.d.ts.map +0 -1
  1102. package/packages/agent/src/api/stream-routes.js +0 -809
  1103. package/packages/agent/src/api/stream-voice-routes.d.ts +0 -36
  1104. package/packages/agent/src/api/stream-voice-routes.d.ts.map +0 -1
  1105. package/packages/agent/src/api/stream-voice-routes.js +0 -133
  1106. package/packages/agent/src/api/streaming-text.d.ts +0 -9
  1107. package/packages/agent/src/api/streaming-text.d.ts.map +0 -1
  1108. package/packages/agent/src/api/streaming-text.js +0 -85
  1109. package/packages/agent/src/api/streaming-types.d.ts +0 -30
  1110. package/packages/agent/src/api/streaming-types.d.ts.map +0 -1
  1111. package/packages/agent/src/api/streaming-types.js +0 -1
  1112. package/packages/agent/src/api/training-routes.d.ts +0 -44
  1113. package/packages/agent/src/api/training-routes.d.ts.map +0 -1
  1114. package/packages/agent/src/api/training-routes.js +0 -195
  1115. package/packages/agent/src/api/trajectory-routes.d.ts +0 -17
  1116. package/packages/agent/src/api/trajectory-routes.d.ts.map +0 -1
  1117. package/packages/agent/src/api/trajectory-routes.js +0 -405
  1118. package/packages/agent/src/api/trigger-routes.d.ts +0 -72
  1119. package/packages/agent/src/api/trigger-routes.d.ts.map +0 -1
  1120. package/packages/agent/src/api/trigger-routes.js +0 -268
  1121. package/packages/agent/src/api/twitter-verify.d.ts +0 -25
  1122. package/packages/agent/src/api/twitter-verify.d.ts.map +0 -1
  1123. package/packages/agent/src/api/twitter-verify.js +0 -168
  1124. package/packages/agent/src/api/whatsapp-routes.d.ts +0 -39
  1125. package/packages/agent/src/api/whatsapp-routes.d.ts.map +0 -1
  1126. package/packages/agent/src/api/whatsapp-routes.js +0 -182
  1127. package/packages/agent/src/auth/apply-stealth.d.ts +0 -8
  1128. package/packages/agent/src/auth/apply-stealth.d.ts.map +0 -1
  1129. package/packages/agent/src/auth/apply-stealth.js +0 -35
  1130. package/packages/agent/src/benchmark-server.d.ts +0 -2
  1131. package/packages/agent/src/benchmark-server.d.ts.map +0 -1
  1132. package/packages/agent/src/benchmark-server.js +0 -773
  1133. package/packages/agent/src/cloud/auth.d.ts +0 -19
  1134. package/packages/agent/src/cloud/auth.d.ts.map +0 -1
  1135. package/packages/agent/src/cloud/auth.js +0 -107
  1136. package/packages/agent/src/cloud/backup.d.ts +0 -18
  1137. package/packages/agent/src/cloud/backup.d.ts.map +0 -1
  1138. package/packages/agent/src/cloud/backup.js +0 -42
  1139. package/packages/agent/src/cloud/base-url.d.ts +0 -3
  1140. package/packages/agent/src/cloud/base-url.d.ts.map +0 -1
  1141. package/packages/agent/src/cloud/base-url.js +0 -40
  1142. package/packages/agent/src/cloud/bridge-client.d.ts +0 -56
  1143. package/packages/agent/src/cloud/bridge-client.d.ts.map +0 -1
  1144. package/packages/agent/src/cloud/bridge-client.js +0 -190
  1145. package/packages/agent/src/cloud/cloud-manager.d.ts +0 -32
  1146. package/packages/agent/src/cloud/cloud-manager.d.ts.map +0 -1
  1147. package/packages/agent/src/cloud/cloud-manager.js +0 -119
  1148. package/packages/agent/src/cloud/cloud-proxy.d.ts +0 -20
  1149. package/packages/agent/src/cloud/cloud-proxy.d.ts.map +0 -1
  1150. package/packages/agent/src/cloud/cloud-proxy.js +0 -34
  1151. package/packages/agent/src/cloud/index.d.ts +0 -7
  1152. package/packages/agent/src/cloud/index.d.ts.map +0 -1
  1153. package/packages/agent/src/cloud/index.js +0 -6
  1154. package/packages/agent/src/cloud/reconnect.d.ts +0 -26
  1155. package/packages/agent/src/cloud/reconnect.d.ts.map +0 -1
  1156. package/packages/agent/src/cloud/reconnect.js +0 -86
  1157. package/packages/agent/src/cloud/validate-url.d.ts +0 -2
  1158. package/packages/agent/src/cloud/validate-url.d.ts.map +0 -1
  1159. package/packages/agent/src/cloud/validate-url.js +0 -162
  1160. package/packages/agent/src/config/object-utils.d.ts +0 -2
  1161. package/packages/agent/src/config/object-utils.d.ts.map +0 -1
  1162. package/packages/agent/src/config/object-utils.js +0 -6
  1163. package/packages/agent/src/contracts/apps.d.ts +0 -42
  1164. package/packages/agent/src/contracts/apps.d.ts.map +0 -1
  1165. package/packages/agent/src/contracts/apps.js +0 -4
  1166. package/packages/agent/src/contracts/config.d.ts +0 -146
  1167. package/packages/agent/src/contracts/config.d.ts.map +0 -1
  1168. package/packages/agent/src/contracts/config.js +0 -4
  1169. package/packages/agent/src/contracts/drop.d.ts +0 -20
  1170. package/packages/agent/src/contracts/drop.d.ts.map +0 -1
  1171. package/packages/agent/src/contracts/drop.js +0 -4
  1172. package/packages/agent/src/contracts/onboarding.d.ts +0 -384
  1173. package/packages/agent/src/contracts/onboarding.d.ts.map +0 -1
  1174. package/packages/agent/src/contracts/permissions.d.ts +0 -35
  1175. package/packages/agent/src/contracts/permissions.d.ts.map +0 -1
  1176. package/packages/agent/src/contracts/permissions.js +0 -4
  1177. package/packages/agent/src/contracts/verification.d.ts +0 -9
  1178. package/packages/agent/src/contracts/verification.d.ts.map +0 -1
  1179. package/packages/agent/src/contracts/verification.js +0 -4
  1180. package/packages/agent/src/contracts/wallet.d.ts +0 -409
  1181. package/packages/agent/src/contracts/wallet.d.ts.map +0 -1
  1182. package/packages/agent/src/contracts/wallet.js +0 -60
  1183. package/packages/agent/src/emotes/catalog.d.ts +0 -31
  1184. package/packages/agent/src/emotes/catalog.d.ts.map +0 -1
  1185. package/packages/agent/src/emotes/catalog.js +0 -402
  1186. package/packages/agent/src/onboarding-presets.d.ts +0 -59
  1187. package/packages/agent/src/onboarding-presets.d.ts.map +0 -1
  1188. package/packages/agent/src/onboarding-presets.js +0 -1470
  1189. package/packages/agent/src/plugins/custom-rtmp/index.d.ts +0 -12
  1190. package/packages/agent/src/plugins/custom-rtmp/index.d.ts.map +0 -1
  1191. package/packages/agent/src/plugins/custom-rtmp/index.js +0 -26
  1192. package/packages/agent/src/runtime/cloud-onboarding.d.ts +0 -55
  1193. package/packages/agent/src/runtime/cloud-onboarding.d.ts.map +0 -1
  1194. package/packages/agent/src/runtime/cloud-onboarding.js +0 -279
  1195. package/packages/agent/src/server/index.d.ts +0 -3
  1196. package/packages/agent/src/server/index.d.ts.map +0 -1
  1197. package/packages/agent/src/server/index.js +0 -1
  1198. package/packages/agent/src/services/browser-capture.d.ts +0 -39
  1199. package/packages/agent/src/services/browser-capture.d.ts.map +0 -1
  1200. package/packages/agent/src/services/browser-capture.js +0 -162
  1201. package/packages/agent/src/services/coding-agent-context.d.ts +0 -310
  1202. package/packages/agent/src/services/coding-agent-context.d.ts.map +0 -1
  1203. package/packages/agent/src/services/coding-agent-context.js +0 -281
  1204. package/packages/agent/src/services/fallback-training-service.d.ts +0 -78
  1205. package/packages/agent/src/services/fallback-training-service.d.ts.map +0 -1
  1206. package/packages/agent/src/services/fallback-training-service.js +0 -126
  1207. package/packages/agent/src/services/privy-wallets.d.ts +0 -18
  1208. package/packages/agent/src/services/privy-wallets.d.ts.map +0 -1
  1209. package/packages/agent/src/services/privy-wallets.js +0 -225
  1210. package/packages/agent/src/services/signal-pairing.d.ts +0 -37
  1211. package/packages/agent/src/services/signal-pairing.d.ts.map +0 -1
  1212. package/packages/agent/src/services/signal-pairing.js +0 -124
  1213. package/packages/agent/src/services/stream-manager.d.ts +0 -121
  1214. package/packages/agent/src/services/stream-manager.d.ts.map +0 -1
  1215. package/packages/agent/src/services/stream-manager.js +0 -604
  1216. package/packages/agent/src/services/tts-stream-bridge.d.ts +0 -83
  1217. package/packages/agent/src/services/tts-stream-bridge.d.ts.map +0 -1
  1218. package/packages/agent/src/services/tts-stream-bridge.js +0 -349
  1219. package/packages/agent/src/services/whatsapp-pairing.d.ts +0 -41
  1220. package/packages/agent/src/services/whatsapp-pairing.d.ts.map +0 -1
  1221. package/packages/agent/src/services/whatsapp-pairing.js +0 -209
  1222. package/packages/agent/src/triggers/action.d.ts +0 -3
  1223. package/packages/agent/src/triggers/action.d.ts.map +0 -1
  1224. package/packages/agent/src/triggers/action.js +0 -267
  1225. package/packages/agent/src/utils/spoken-text.d.ts +0 -2
  1226. package/packages/agent/src/utils/spoken-text.d.ts.map +0 -1
  1227. package/packages/agent/src/utils/spoken-text.js +0 -56
@@ -0,0 +1,1474 @@
1
+ /**
2
+ * Media Provider Abstraction Layer
3
+ *
4
+ * Provides a single interface for media generation across multiple providers:
5
+ * - Image Generation: FAL.ai, OpenAI (DALL-E), Google (Imagen), xAI, Eliza Cloud
6
+ * - Video Generation: FAL.ai, OpenAI (Sora), Google (Veo), Eliza Cloud
7
+ * - Audio Generation: Suno, ElevenLabs (SFX), Eliza Cloud
8
+ * - Vision (Analysis): OpenAI, Google, Anthropic, xAI, Eliza Cloud
9
+ *
10
+ * Follows the same pattern as TTS provider selection:
11
+ * - "cloud" mode uses Eliza Cloud (no API key needed)
12
+ * - "own-key" mode uses the user's own API keys
13
+ */
14
+ // ============================================================================
15
+ // Fetch Utilities
16
+ // ============================================================================
17
+ /** Fetch with an AbortController-based timeout (default 30s). */
18
+ export function fetchWithTimeout(url, init, timeoutMs = 30_000) {
19
+ const controller = new AbortController();
20
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
21
+ return fetch(url, { ...init, signal: controller.signal }).finally(() => clearTimeout(timer));
22
+ }
23
+ async function withProviderErrorBoundary(providerName, run) {
24
+ try {
25
+ return await run();
26
+ }
27
+ catch (err) {
28
+ const message = err instanceof Error ? err.message : String(err);
29
+ return {
30
+ success: false,
31
+ error: `[${providerName}] Network error: ${message}`,
32
+ };
33
+ }
34
+ }
35
+ const DEFAULT_ELIZA_CLOUD_BASE_URL = "https://elizacloud.ai/api/v1";
36
+ const DEFAULT_AUDIO_TIMEOUT_MS = 120_000;
37
+ function normalizeAudioKind(value) {
38
+ switch (value) {
39
+ case "music":
40
+ return "music";
41
+ case "sfx":
42
+ case "sound-effect":
43
+ case "sound_effect":
44
+ return "sfx";
45
+ case "tts":
46
+ case "speech":
47
+ case "text-to-speech":
48
+ case "text_to_speech":
49
+ return "tts";
50
+ default:
51
+ return undefined;
52
+ }
53
+ }
54
+ function getAudioKind(options, config) {
55
+ return (normalizeAudioKind(options.audioKind) ??
56
+ normalizeAudioKind(options.kind) ??
57
+ normalizeAudioKind(config?.audioKind) ??
58
+ normalizeAudioKind(config?.kind) ??
59
+ normalizeAudioKind(config?.defaultKind) ??
60
+ "music");
61
+ }
62
+ function createCloudAudioProvider(options) {
63
+ return new ElizaCloudAudioProvider(options.elizaCloudBaseUrl ?? DEFAULT_ELIZA_CLOUD_BASE_URL, options.elizaCloudApiKey);
64
+ }
65
+ async function responseToAudioResult(response, title, duration) {
66
+ const contentType = response.headers.get("content-type")?.split(";")[0] || "audio/mpeg";
67
+ const arrayBuffer = await response.arrayBuffer();
68
+ const audioBase64 = Buffer.from(arrayBuffer).toString("base64");
69
+ return {
70
+ audioUrl: `data:${contentType};base64,${audioBase64}`,
71
+ audioBase64,
72
+ mimeType: contentType,
73
+ id: response.headers.get("song-id") ?? undefined,
74
+ title,
75
+ duration,
76
+ };
77
+ }
78
+ function buildOutputFormatQuery(outputFormat) {
79
+ if (!outputFormat)
80
+ return "";
81
+ return `?output_format=${encodeURIComponent(outputFormat)}`;
82
+ }
83
+ // ============================================================================
84
+ // Eliza Cloud Provider Implementations
85
+ // ============================================================================
86
+ class ElizaCloudImageProvider {
87
+ name = "eliza-cloud";
88
+ baseUrl;
89
+ apiKey;
90
+ constructor(baseUrl, apiKey) {
91
+ this.baseUrl = baseUrl;
92
+ this.apiKey = apiKey;
93
+ }
94
+ async generate(options) {
95
+ const response = await fetchWithTimeout(`${this.baseUrl}/media/image/generate`, {
96
+ method: "POST",
97
+ headers: {
98
+ "Content-Type": "application/json",
99
+ ...(this.apiKey ? { Authorization: `Bearer ${this.apiKey}` } : {}),
100
+ },
101
+ body: JSON.stringify({
102
+ prompt: options.prompt,
103
+ size: options.size,
104
+ quality: options.quality,
105
+ style: options.style,
106
+ }),
107
+ });
108
+ if (!response.ok) {
109
+ const text = await response.text();
110
+ return { success: false, error: `Eliza Cloud error: ${text}` };
111
+ }
112
+ const data = (await response.json());
113
+ return {
114
+ success: true,
115
+ data: {
116
+ imageUrl: data.imageUrl,
117
+ imageBase64: data.imageBase64,
118
+ revisedPrompt: data.revisedPrompt,
119
+ },
120
+ };
121
+ }
122
+ }
123
+ class ElizaCloudVideoProvider {
124
+ name = "eliza-cloud";
125
+ baseUrl;
126
+ apiKey;
127
+ constructor(baseUrl, apiKey) {
128
+ this.baseUrl = baseUrl;
129
+ this.apiKey = apiKey;
130
+ }
131
+ async generate(options) {
132
+ const response = await fetchWithTimeout(`${this.baseUrl}/media/video/generate`, {
133
+ method: "POST",
134
+ headers: {
135
+ "Content-Type": "application/json",
136
+ ...(this.apiKey ? { Authorization: `Bearer ${this.apiKey}` } : {}),
137
+ },
138
+ body: JSON.stringify({
139
+ prompt: options.prompt,
140
+ duration: options.duration,
141
+ aspectRatio: options.aspectRatio,
142
+ imageUrl: options.imageUrl,
143
+ }),
144
+ });
145
+ if (!response.ok) {
146
+ const text = await response.text();
147
+ return { success: false, error: `Eliza Cloud error: ${text}` };
148
+ }
149
+ const data = (await response.json());
150
+ return {
151
+ success: true,
152
+ data: {
153
+ videoUrl: data.videoUrl,
154
+ thumbnailUrl: data.thumbnailUrl,
155
+ duration: data.duration,
156
+ },
157
+ };
158
+ }
159
+ }
160
+ class ElizaCloudAudioProvider {
161
+ name = "eliza-cloud";
162
+ baseUrl;
163
+ apiKey;
164
+ constructor(baseUrl, apiKey) {
165
+ this.baseUrl = baseUrl;
166
+ this.apiKey = apiKey;
167
+ }
168
+ async generate(options) {
169
+ const response = await fetchWithTimeout(`${this.baseUrl}/media/audio/generate`, {
170
+ method: "POST",
171
+ headers: {
172
+ "Content-Type": "application/json",
173
+ ...(this.apiKey ? { Authorization: `Bearer ${this.apiKey}` } : {}),
174
+ },
175
+ body: JSON.stringify({
176
+ prompt: options.prompt,
177
+ kind: options.kind,
178
+ audioKind: options.audioKind,
179
+ duration: options.duration,
180
+ instrumental: options.instrumental,
181
+ genre: options.genre,
182
+ voiceId: options.voiceId,
183
+ modelId: options.modelId,
184
+ outputFormat: options.outputFormat,
185
+ }),
186
+ });
187
+ if (!response.ok) {
188
+ const text = await response.text();
189
+ return { success: false, error: `Eliza Cloud error: ${text}` };
190
+ }
191
+ const data = (await response.json());
192
+ return {
193
+ success: true,
194
+ data: {
195
+ audioUrl: data.audioUrl,
196
+ title: data.title,
197
+ duration: data.duration,
198
+ },
199
+ };
200
+ }
201
+ }
202
+ class ElizaCloudVisionProvider {
203
+ name = "eliza-cloud";
204
+ baseUrl;
205
+ apiKey;
206
+ constructor(baseUrl, apiKey) {
207
+ this.baseUrl = baseUrl;
208
+ this.apiKey = apiKey;
209
+ }
210
+ async analyze(options) {
211
+ const response = await fetchWithTimeout(`${this.baseUrl}/media/vision/analyze`, {
212
+ method: "POST",
213
+ headers: {
214
+ "Content-Type": "application/json",
215
+ ...(this.apiKey ? { Authorization: `Bearer ${this.apiKey}` } : {}),
216
+ },
217
+ body: JSON.stringify({
218
+ imageUrl: options.imageUrl,
219
+ imageBase64: options.imageBase64,
220
+ prompt: options.prompt,
221
+ maxTokens: options.maxTokens,
222
+ }),
223
+ });
224
+ if (!response.ok) {
225
+ const text = await response.text();
226
+ return { success: false, error: `Eliza Cloud error: ${text}` };
227
+ }
228
+ const data = (await response.json());
229
+ return {
230
+ success: true,
231
+ data: {
232
+ description: data.description,
233
+ labels: data.labels,
234
+ confidence: data.confidence,
235
+ },
236
+ };
237
+ }
238
+ }
239
+ // ============================================================================
240
+ // FAL.ai Provider Implementations
241
+ // ============================================================================
242
+ export class FalImageProvider {
243
+ name = "fal";
244
+ apiKey;
245
+ model;
246
+ baseUrl;
247
+ constructor(config) {
248
+ if (!config.apiKey) {
249
+ throw new Error(`${this.name} API key is required`);
250
+ }
251
+ this.apiKey = config.apiKey;
252
+ this.model = config.model ?? "fal-ai/flux-pro";
253
+ this.baseUrl = config.baseUrl ?? "https://fal.run";
254
+ }
255
+ async generate(options) {
256
+ return withProviderErrorBoundary(this.name, async () => {
257
+ const response = await fetchWithTimeout(`${this.baseUrl}/${this.model}`, {
258
+ method: "POST",
259
+ headers: {
260
+ "Content-Type": "application/json",
261
+ Authorization: `Key ${this.apiKey}`,
262
+ },
263
+ body: JSON.stringify({
264
+ prompt: options.prompt,
265
+ image_size: options.size ?? "landscape_4_3",
266
+ num_images: 1,
267
+ ...(options.negativePrompt
268
+ ? { negative_prompt: options.negativePrompt }
269
+ : {}),
270
+ ...(options.seed ? { seed: options.seed } : {}),
271
+ }),
272
+ });
273
+ if (!response.ok) {
274
+ const text = await response.text();
275
+ return { success: false, error: `FAL error: ${text}` };
276
+ }
277
+ const data = (await response.json());
278
+ const imageUrl = data.images?.[0]?.url;
279
+ if (!imageUrl) {
280
+ return { success: false, error: "No image returned from FAL" };
281
+ }
282
+ return {
283
+ success: true,
284
+ data: { imageUrl },
285
+ };
286
+ });
287
+ }
288
+ }
289
+ export class FalVideoProvider {
290
+ name = "fal";
291
+ apiKey;
292
+ model;
293
+ baseUrl;
294
+ constructor(config) {
295
+ if (!config.apiKey) {
296
+ throw new Error(`${this.name} API key is required`);
297
+ }
298
+ this.apiKey = config.apiKey;
299
+ this.model = config.model ?? "fal-ai/minimax-video";
300
+ this.baseUrl = config.baseUrl ?? "https://fal.run";
301
+ }
302
+ async generate(options) {
303
+ return withProviderErrorBoundary(this.name, async () => {
304
+ const response = await fetchWithTimeout(`${this.baseUrl}/${this.model}`, {
305
+ method: "POST",
306
+ headers: {
307
+ "Content-Type": "application/json",
308
+ Authorization: `Key ${this.apiKey}`,
309
+ },
310
+ body: JSON.stringify({
311
+ prompt: options.prompt,
312
+ ...(options.duration ? { duration: options.duration } : {}),
313
+ ...(options.aspectRatio ? { aspect_ratio: options.aspectRatio } : {}),
314
+ ...(options.imageUrl ? { image_url: options.imageUrl } : {}),
315
+ }),
316
+ });
317
+ if (!response.ok) {
318
+ const text = await response.text();
319
+ return { success: false, error: `FAL error: ${text}` };
320
+ }
321
+ const data = (await response.json());
322
+ return {
323
+ success: true,
324
+ data: {
325
+ videoUrl: data.video?.url,
326
+ thumbnailUrl: data.thumbnail?.url,
327
+ duration: data.duration,
328
+ },
329
+ };
330
+ });
331
+ }
332
+ }
333
+ // ============================================================================
334
+ // OpenAI Provider Implementations
335
+ // ============================================================================
336
+ export class OpenAIImageProvider {
337
+ name = "openai";
338
+ apiKey;
339
+ model;
340
+ quality;
341
+ style;
342
+ constructor(config) {
343
+ if (!config.apiKey) {
344
+ throw new Error(`${this.name} API key is required`);
345
+ }
346
+ this.apiKey = config.apiKey;
347
+ this.model = config.model ?? "dall-e-3";
348
+ this.quality = config.quality ?? "standard";
349
+ this.style = config.style ?? "vivid";
350
+ }
351
+ async generate(options) {
352
+ return withProviderErrorBoundary(this.name, async () => {
353
+ const response = await fetchWithTimeout("https://api.openai.com/v1/images/generations", {
354
+ method: "POST",
355
+ headers: {
356
+ "Content-Type": "application/json",
357
+ Authorization: `Bearer ${this.apiKey}`,
358
+ },
359
+ body: JSON.stringify({
360
+ model: this.model,
361
+ prompt: options.prompt,
362
+ n: 1,
363
+ size: options.size ?? "1024x1024",
364
+ quality: options.quality ?? this.quality,
365
+ style: options.style ?? this.style,
366
+ }),
367
+ });
368
+ if (!response.ok) {
369
+ const text = await response.text();
370
+ return { success: false, error: `OpenAI error: ${text}` };
371
+ }
372
+ const data = (await response.json());
373
+ const image = data.data?.[0];
374
+ if (!image?.url) {
375
+ return { success: false, error: "No image returned from OpenAI" };
376
+ }
377
+ return {
378
+ success: true,
379
+ data: {
380
+ imageUrl: image.url,
381
+ revisedPrompt: image.revised_prompt,
382
+ },
383
+ };
384
+ });
385
+ }
386
+ }
387
+ export class OpenAIVideoProvider {
388
+ name = "openai";
389
+ apiKey;
390
+ model;
391
+ constructor(config) {
392
+ if (!config.apiKey) {
393
+ throw new Error(`${this.name} API key is required`);
394
+ }
395
+ this.apiKey = config.apiKey;
396
+ this.model = config.model ?? "sora-1.0-turbo";
397
+ }
398
+ async generate(options) {
399
+ return withProviderErrorBoundary(this.name, async () => {
400
+ // OpenAI Sora API (video generation)
401
+ const response = await fetchWithTimeout("https://api.openai.com/v1/videos/generations", {
402
+ method: "POST",
403
+ headers: {
404
+ "Content-Type": "application/json",
405
+ Authorization: `Bearer ${this.apiKey}`,
406
+ },
407
+ body: JSON.stringify({
408
+ model: this.model,
409
+ prompt: options.prompt,
410
+ n: 1,
411
+ duration: options.duration ?? 5,
412
+ aspect_ratio: options.aspectRatio ?? "16:9",
413
+ ...(options.imageUrl ? { image: options.imageUrl } : {}),
414
+ }),
415
+ });
416
+ if (!response.ok) {
417
+ const text = await response.text();
418
+ return { success: false, error: `OpenAI Sora error: ${text}` };
419
+ }
420
+ const data = (await response.json());
421
+ const video = data.data?.[0];
422
+ if (!video?.url) {
423
+ return { success: false, error: "No video returned from OpenAI Sora" };
424
+ }
425
+ return {
426
+ success: true,
427
+ data: {
428
+ videoUrl: video.url,
429
+ duration: video.duration,
430
+ },
431
+ };
432
+ });
433
+ }
434
+ }
435
+ export class OpenAIVisionProvider {
436
+ name = "openai";
437
+ apiKey;
438
+ model;
439
+ maxTokens;
440
+ constructor(config) {
441
+ if (!config.apiKey) {
442
+ throw new Error(`${this.name} API key is required`);
443
+ }
444
+ this.apiKey = config.apiKey;
445
+ this.model = config.model ?? "gpt-4o";
446
+ this.maxTokens = config.maxTokens ?? 1024;
447
+ }
448
+ async analyze(options) {
449
+ const imageContent = options.imageBase64
450
+ ? {
451
+ type: "image_url",
452
+ image_url: { url: `data:image/jpeg;base64,${options.imageBase64}` },
453
+ }
454
+ : {
455
+ type: "image_url",
456
+ image_url: { url: options.imageUrl ?? "" },
457
+ };
458
+ return withProviderErrorBoundary(this.name, async () => {
459
+ const response = await fetchWithTimeout("https://api.openai.com/v1/chat/completions", {
460
+ method: "POST",
461
+ headers: {
462
+ "Content-Type": "application/json",
463
+ Authorization: `Bearer ${this.apiKey}`,
464
+ },
465
+ body: JSON.stringify({
466
+ model: this.model,
467
+ max_tokens: options.maxTokens ?? this.maxTokens,
468
+ messages: [
469
+ {
470
+ role: "user",
471
+ content: [
472
+ {
473
+ type: "text",
474
+ text: options.prompt ?? "Describe this image in detail.",
475
+ },
476
+ imageContent,
477
+ ],
478
+ },
479
+ ],
480
+ }),
481
+ });
482
+ if (!response.ok) {
483
+ const text = await response.text();
484
+ return { success: false, error: `OpenAI error: ${text}` };
485
+ }
486
+ const data = (await response.json());
487
+ const description = data.choices?.[0]?.message?.content;
488
+ if (!description) {
489
+ return {
490
+ success: false,
491
+ error: "No description returned from OpenAI",
492
+ };
493
+ }
494
+ return {
495
+ success: true,
496
+ data: { description },
497
+ };
498
+ });
499
+ }
500
+ }
501
+ // ============================================================================
502
+ // Google Provider Implementations
503
+ // ============================================================================
504
+ export class GoogleImageProvider {
505
+ name = "google";
506
+ apiKey;
507
+ model;
508
+ aspectRatio;
509
+ constructor(config) {
510
+ if (!config.apiKey) {
511
+ throw new Error(`${this.name} API key is required`);
512
+ }
513
+ this.apiKey = config.apiKey;
514
+ this.model = config.model ?? "imagen-3.0-generate-002";
515
+ this.aspectRatio = config.aspectRatio ?? "1:1";
516
+ }
517
+ async generate(options) {
518
+ return withProviderErrorBoundary(this.name, async () => {
519
+ const response = await fetchWithTimeout(`https://generativelanguage.googleapis.com/v1beta/models/${this.model}:predict`, {
520
+ method: "POST",
521
+ headers: {
522
+ "Content-Type": "application/json",
523
+ "x-goog-api-key": this.apiKey,
524
+ },
525
+ body: JSON.stringify({
526
+ instances: [{ prompt: options.prompt }],
527
+ parameters: {
528
+ sampleCount: 1,
529
+ aspectRatio: options.size ?? this.aspectRatio,
530
+ personGeneration: "allow_adult",
531
+ safetyFilterLevel: "block_few",
532
+ },
533
+ }),
534
+ });
535
+ if (!response.ok) {
536
+ const text = await response.text();
537
+ return { success: false, error: `Google Imagen error: ${text}` };
538
+ }
539
+ const data = (await response.json());
540
+ const imageData = data.predictions?.[0]?.bytesBase64Encoded;
541
+ if (!imageData) {
542
+ return {
543
+ success: false,
544
+ error: "No image returned from Google Imagen",
545
+ };
546
+ }
547
+ return {
548
+ success: true,
549
+ data: {
550
+ imageBase64: imageData,
551
+ },
552
+ };
553
+ });
554
+ }
555
+ }
556
+ export class GoogleVideoProvider {
557
+ name = "google";
558
+ apiKey;
559
+ model;
560
+ constructor(config) {
561
+ if (!config.apiKey) {
562
+ throw new Error(`${this.name} API key is required`);
563
+ }
564
+ this.apiKey = config.apiKey;
565
+ this.model = config.model ?? "veo-2.0-generate-001";
566
+ }
567
+ async generate(options) {
568
+ return withProviderErrorBoundary(this.name, async () => {
569
+ // Google Veo uses a different endpoint structure
570
+ const response = await fetchWithTimeout(`https://generativelanguage.googleapis.com/v1beta/models/${this.model}:predictLongRunning`, {
571
+ method: "POST",
572
+ headers: {
573
+ "Content-Type": "application/json",
574
+ "x-goog-api-key": this.apiKey,
575
+ },
576
+ body: JSON.stringify({
577
+ instances: [
578
+ {
579
+ prompt: options.prompt,
580
+ ...(options.imageUrl
581
+ ? { image: { gcsUri: options.imageUrl } }
582
+ : {}),
583
+ },
584
+ ],
585
+ parameters: {
586
+ aspectRatio: options.aspectRatio ?? "16:9",
587
+ durationSeconds: options.duration ?? 5,
588
+ personGeneration: "allow_adult",
589
+ },
590
+ }),
591
+ });
592
+ if (!response.ok) {
593
+ const text = await response.text();
594
+ return { success: false, error: `Google Veo error: ${text}` };
595
+ }
596
+ // Veo returns a long-running operation - for now we return the operation name
597
+ // In production, you'd poll the operation until it completes
598
+ const data = (await response.json());
599
+ if (data.done && data.response?.predictions?.[0]?.videoUri) {
600
+ return {
601
+ success: true,
602
+ data: {
603
+ videoUrl: data.response.predictions[0].videoUri,
604
+ },
605
+ };
606
+ }
607
+ // Operation started but not complete - return operation reference
608
+ // Client should poll the operation endpoint
609
+ return {
610
+ success: true,
611
+ data: {
612
+ videoUrl: `pending:${data.name}`,
613
+ },
614
+ };
615
+ });
616
+ }
617
+ }
618
+ export class GoogleVisionProvider {
619
+ name = "google";
620
+ apiKey;
621
+ model;
622
+ constructor(config) {
623
+ if (!config.apiKey) {
624
+ throw new Error(`${this.name} API key is required`);
625
+ }
626
+ this.apiKey = config.apiKey;
627
+ this.model = config.model ?? "gemini-2.0-flash";
628
+ }
629
+ async analyze(options) {
630
+ const imagePart = options.imageBase64
631
+ ? { inline_data: { mime_type: "image/jpeg", data: options.imageBase64 } }
632
+ : { file_data: { file_uri: options.imageUrl, mime_type: "image/jpeg" } };
633
+ return withProviderErrorBoundary(this.name, async () => {
634
+ const response = await fetchWithTimeout(`https://generativelanguage.googleapis.com/v1beta/models/${this.model}:generateContent`, {
635
+ method: "POST",
636
+ headers: {
637
+ "Content-Type": "application/json",
638
+ "x-goog-api-key": this.apiKey,
639
+ },
640
+ body: JSON.stringify({
641
+ contents: [
642
+ {
643
+ parts: [
644
+ { text: options.prompt ?? "Describe this image in detail." },
645
+ imagePart,
646
+ ],
647
+ },
648
+ ],
649
+ }),
650
+ });
651
+ if (!response.ok) {
652
+ const text = await response.text();
653
+ return { success: false, error: `Google error: ${text}` };
654
+ }
655
+ const data = (await response.json());
656
+ const description = data.candidates?.[0]?.content?.parts?.[0]?.text;
657
+ if (!description) {
658
+ return {
659
+ success: false,
660
+ error: "No description returned from Google",
661
+ };
662
+ }
663
+ return {
664
+ success: true,
665
+ data: { description },
666
+ };
667
+ });
668
+ }
669
+ }
670
+ // ============================================================================
671
+ // xAI Provider Implementations
672
+ // ============================================================================
673
+ export class XAIImageProvider {
674
+ name = "xai";
675
+ apiKey;
676
+ model;
677
+ constructor(config) {
678
+ if (!config.apiKey) {
679
+ throw new Error(`${this.name} API key is required`);
680
+ }
681
+ this.apiKey = config.apiKey;
682
+ this.model = config.model ?? "grok-2-image";
683
+ }
684
+ async generate(options) {
685
+ return withProviderErrorBoundary(this.name, async () => {
686
+ // xAI uses OpenAI-compatible API format for image generation
687
+ const response = await fetchWithTimeout("https://api.x.ai/v1/images/generations", {
688
+ method: "POST",
689
+ headers: {
690
+ "Content-Type": "application/json",
691
+ Authorization: `Bearer ${this.apiKey}`,
692
+ },
693
+ body: JSON.stringify({
694
+ model: this.model,
695
+ prompt: options.prompt,
696
+ n: 1,
697
+ size: options.size ?? "1024x1024",
698
+ response_format: "url",
699
+ }),
700
+ });
701
+ if (!response.ok) {
702
+ const text = await response.text();
703
+ return { success: false, error: `xAI error: ${text}` };
704
+ }
705
+ const data = (await response.json());
706
+ const image = data.data?.[0];
707
+ if (!image?.url) {
708
+ return { success: false, error: "No image returned from xAI" };
709
+ }
710
+ return {
711
+ success: true,
712
+ data: {
713
+ imageUrl: image.url,
714
+ revisedPrompt: image.revised_prompt,
715
+ },
716
+ };
717
+ });
718
+ }
719
+ }
720
+ export class XAIVisionProvider {
721
+ name = "xai";
722
+ apiKey;
723
+ model;
724
+ constructor(config) {
725
+ if (!config.apiKey) {
726
+ throw new Error(`${this.name} API key is required`);
727
+ }
728
+ this.apiKey = config.apiKey;
729
+ this.model = config.model ?? "grok-2-vision-1212";
730
+ }
731
+ async analyze(options) {
732
+ // xAI uses OpenAI-compatible API format
733
+ const imageContent = options.imageBase64
734
+ ? {
735
+ type: "image_url",
736
+ image_url: { url: `data:image/jpeg;base64,${options.imageBase64}` },
737
+ }
738
+ : {
739
+ type: "image_url",
740
+ image_url: { url: options.imageUrl ?? "" },
741
+ };
742
+ return withProviderErrorBoundary(this.name, async () => {
743
+ const response = await fetchWithTimeout("https://api.x.ai/v1/chat/completions", {
744
+ method: "POST",
745
+ headers: {
746
+ "Content-Type": "application/json",
747
+ Authorization: `Bearer ${this.apiKey}`,
748
+ },
749
+ body: JSON.stringify({
750
+ model: this.model,
751
+ max_tokens: options.maxTokens ?? 1024,
752
+ messages: [
753
+ {
754
+ role: "user",
755
+ content: [
756
+ {
757
+ type: "text",
758
+ text: options.prompt ?? "Describe this image in detail.",
759
+ },
760
+ imageContent,
761
+ ],
762
+ },
763
+ ],
764
+ }),
765
+ });
766
+ if (!response.ok) {
767
+ const text = await response.text();
768
+ return { success: false, error: `xAI error: ${text}` };
769
+ }
770
+ const data = (await response.json());
771
+ const description = data.choices?.[0]?.message?.content;
772
+ if (!description) {
773
+ return { success: false, error: "No description returned from xAI" };
774
+ }
775
+ return {
776
+ success: true,
777
+ data: { description },
778
+ };
779
+ });
780
+ }
781
+ }
782
+ // ============================================================================
783
+ // Anthropic Provider Implementation
784
+ // ============================================================================
785
+ // ============================================================================
786
+ // Ollama Provider Implementation (Local Vision)
787
+ // ============================================================================
788
+ class OllamaVisionProvider {
789
+ name = "ollama";
790
+ baseUrl;
791
+ model;
792
+ maxTokens;
793
+ autoDownload;
794
+ modelChecked = false;
795
+ constructor(config) {
796
+ this.baseUrl = config.baseUrl ?? "http://localhost:11434";
797
+ this.model = config.model ?? "llava";
798
+ this.maxTokens = config.maxTokens ?? 1024;
799
+ this.autoDownload = config.autoDownload ?? true;
800
+ }
801
+ async ensureModelAvailable() {
802
+ if (this.modelChecked)
803
+ return;
804
+ try {
805
+ // Check if model exists
806
+ const response = await fetchWithTimeout(`${this.baseUrl}/api/tags`, {}, 120_000);
807
+ if (!response.ok) {
808
+ throw new Error(`Ollama server not reachable: ${response.statusText}`);
809
+ }
810
+ const data = (await response.json());
811
+ const models = data.models ?? [];
812
+ const hasModel = models.some((m) => m.name === this.model || m.name.startsWith(`${this.model}:`));
813
+ if (!hasModel && this.autoDownload) {
814
+ console.log(`[ollama-vision] Model ${this.model} not found, downloading...`);
815
+ await this.downloadModel();
816
+ }
817
+ else if (!hasModel) {
818
+ throw new Error(`Ollama model ${this.model} not found. Run 'ollama pull ${this.model}' or enable autoDownload.`);
819
+ }
820
+ this.modelChecked = true;
821
+ }
822
+ catch (err) {
823
+ if (err instanceof Error &&
824
+ err.message.includes("Ollama server not reachable")) {
825
+ throw err;
826
+ }
827
+ throw new Error(`Failed to check Ollama models: ${err instanceof Error ? err.message : String(err)}`);
828
+ }
829
+ }
830
+ async downloadModel() {
831
+ const response = await fetchWithTimeout(`${this.baseUrl}/api/pull`, {
832
+ method: "POST",
833
+ headers: { "Content-Type": "application/json" },
834
+ body: JSON.stringify({ name: this.model, stream: false }),
835
+ }, 300_000);
836
+ if (!response.ok) {
837
+ const text = await response.text();
838
+ throw new Error(`Failed to download model ${this.model}: ${text}`);
839
+ }
840
+ // Wait for download to complete (non-streaming mode)
841
+ await response.json();
842
+ console.log(`[ollama-vision] Model ${this.model} downloaded successfully`);
843
+ }
844
+ async analyze(options) {
845
+ try {
846
+ await this.ensureModelAvailable();
847
+ }
848
+ catch (err) {
849
+ return {
850
+ success: false,
851
+ error: `Ollama setup failed: ${err instanceof Error ? err.message : String(err)}`,
852
+ };
853
+ }
854
+ // Ollama uses a different format for vision - images must be base64
855
+ let imageData = options.imageBase64;
856
+ if (!imageData && options.imageUrl) {
857
+ // Fetch the image and convert to base64
858
+ try {
859
+ const imageResponse = await fetchWithTimeout(options.imageUrl, {}, 120_000);
860
+ if (!imageResponse.ok) {
861
+ return {
862
+ success: false,
863
+ error: `Failed to fetch image: ${imageResponse.statusText}`,
864
+ };
865
+ }
866
+ const buffer = await imageResponse.arrayBuffer();
867
+ imageData = Buffer.from(buffer).toString("base64");
868
+ }
869
+ catch (err) {
870
+ return {
871
+ success: false,
872
+ error: `Failed to fetch image: ${err instanceof Error ? err.message : String(err)}`,
873
+ };
874
+ }
875
+ }
876
+ if (!imageData) {
877
+ return {
878
+ success: false,
879
+ error: "No image provided (imageUrl or imageBase64 required)",
880
+ };
881
+ }
882
+ return withProviderErrorBoundary(this.name, async () => {
883
+ const response = await fetchWithTimeout(`${this.baseUrl}/api/chat`, {
884
+ method: "POST",
885
+ headers: { "Content-Type": "application/json" },
886
+ body: JSON.stringify({
887
+ model: this.model,
888
+ messages: [
889
+ {
890
+ role: "user",
891
+ content: options.prompt ?? "Describe this image in detail.",
892
+ images: [imageData],
893
+ },
894
+ ],
895
+ stream: false,
896
+ options: {
897
+ num_predict: this.maxTokens,
898
+ },
899
+ }),
900
+ }, 120_000);
901
+ if (!response.ok) {
902
+ const text = await response.text();
903
+ return { success: false, error: `Ollama error: ${text}` };
904
+ }
905
+ const data = (await response.json());
906
+ const description = data.message?.content;
907
+ if (!description) {
908
+ return { success: false, error: "No description returned from Ollama" };
909
+ }
910
+ return {
911
+ success: true,
912
+ data: { description },
913
+ };
914
+ });
915
+ }
916
+ }
917
+ // ============================================================================
918
+ // Anthropic Provider Implementation
919
+ // ============================================================================
920
+ export class AnthropicVisionProvider {
921
+ name = "anthropic";
922
+ apiKey;
923
+ model;
924
+ constructor(config) {
925
+ if (!config.apiKey) {
926
+ throw new Error(`${this.name} API key is required`);
927
+ }
928
+ this.apiKey = config.apiKey;
929
+ this.model = config.model ?? "claude-opus-4-7";
930
+ }
931
+ async analyze(options) {
932
+ const imageSource = options.imageBase64
933
+ ? {
934
+ type: "base64",
935
+ media_type: "image/jpeg",
936
+ data: options.imageBase64,
937
+ }
938
+ : { type: "url", url: options.imageUrl ?? "" };
939
+ return withProviderErrorBoundary(this.name, async () => {
940
+ const response = await fetchWithTimeout("https://api.anthropic.com/v1/messages", {
941
+ method: "POST",
942
+ headers: {
943
+ "Content-Type": "application/json",
944
+ "x-api-key": this.apiKey,
945
+ "anthropic-version": "2023-06-01",
946
+ },
947
+ body: JSON.stringify({
948
+ model: this.model,
949
+ max_tokens: options.maxTokens ?? 1024,
950
+ messages: [
951
+ {
952
+ role: "user",
953
+ content: [
954
+ { type: "image", source: imageSource },
955
+ {
956
+ type: "text",
957
+ text: options.prompt ?? "Describe this image in detail.",
958
+ },
959
+ ],
960
+ },
961
+ ],
962
+ }),
963
+ });
964
+ if (!response.ok) {
965
+ const text = await response.text();
966
+ return { success: false, error: `Anthropic error: ${text}` };
967
+ }
968
+ const data = (await response.json());
969
+ const textBlock = data.content?.find((c) => c.type === "text");
970
+ if (!textBlock?.text) {
971
+ return {
972
+ success: false,
973
+ error: "No description returned from Anthropic",
974
+ };
975
+ }
976
+ return {
977
+ success: true,
978
+ data: { description: textBlock.text },
979
+ };
980
+ });
981
+ }
982
+ }
983
+ // ============================================================================
984
+ // FAL Audio Provider Implementation
985
+ // ============================================================================
986
+ export class FalAudioProvider {
987
+ name = "fal";
988
+ apiKey;
989
+ model;
990
+ baseUrl;
991
+ secondsStart;
992
+ secondsTotal;
993
+ steps;
994
+ timeoutMs;
995
+ extraInput;
996
+ constructor(config) {
997
+ if (!config.apiKey) {
998
+ throw new Error(`${this.name} API key is required`);
999
+ }
1000
+ this.apiKey = config.apiKey;
1001
+ this.model = config.model ?? "fal-ai/stable-audio";
1002
+ this.baseUrl = config.baseUrl ?? "https://fal.run";
1003
+ this.secondsStart = config.secondsStart;
1004
+ this.secondsTotal = config.secondsTotal;
1005
+ this.steps = config.steps;
1006
+ this.timeoutMs = config.timeoutMs ?? DEFAULT_AUDIO_TIMEOUT_MS;
1007
+ this.extraInput = config.extraInput;
1008
+ }
1009
+ async generate(options) {
1010
+ return withProviderErrorBoundary(this.name, async () => {
1011
+ const response = await fetchWithTimeout(`${this.baseUrl}/${this.model}`, {
1012
+ method: "POST",
1013
+ headers: {
1014
+ "Content-Type": "application/json",
1015
+ Authorization: `Key ${this.apiKey}`,
1016
+ },
1017
+ body: JSON.stringify({
1018
+ ...(this.extraInput ?? {}),
1019
+ prompt: options.prompt,
1020
+ ...(this.secondsStart !== undefined
1021
+ ? { seconds_start: this.secondsStart }
1022
+ : {}),
1023
+ seconds_total: options.duration ??
1024
+ this.secondsTotal ??
1025
+ this.extraInput?.duration,
1026
+ ...(this.steps !== undefined ? { steps: this.steps } : {}),
1027
+ }),
1028
+ }, this.timeoutMs);
1029
+ if (!response.ok) {
1030
+ const text = await response.text();
1031
+ return { success: false, error: `FAL audio error: ${text}` };
1032
+ }
1033
+ const data = (await response.json());
1034
+ const file = data.audio_file ?? data.audio ?? data.file;
1035
+ const audioUrl = file?.url ?? data.audio_url ?? data.url;
1036
+ if (!audioUrl) {
1037
+ return { success: false, error: "No audio returned from FAL" };
1038
+ }
1039
+ return {
1040
+ success: true,
1041
+ data: {
1042
+ audioUrl,
1043
+ mimeType: file?.content_type,
1044
+ fileName: file?.file_name,
1045
+ title: "Generated Audio",
1046
+ duration: data.duration ?? options.duration,
1047
+ },
1048
+ };
1049
+ });
1050
+ }
1051
+ }
1052
+ // ============================================================================
1053
+ // ElevenLabs Audio Provider Implementation
1054
+ // ============================================================================
1055
+ export class ElevenLabsAudioProvider {
1056
+ name = "elevenlabs";
1057
+ apiKey;
1058
+ baseUrl;
1059
+ config;
1060
+ timeoutMs;
1061
+ constructor(config) {
1062
+ if (!config.apiKey) {
1063
+ throw new Error(`${this.name} API key is required`);
1064
+ }
1065
+ this.apiKey = config.apiKey;
1066
+ this.baseUrl = config.baseUrl ?? "https://api.elevenlabs.io/v1";
1067
+ this.config = config;
1068
+ this.timeoutMs = config.timeoutMs ?? DEFAULT_AUDIO_TIMEOUT_MS;
1069
+ }
1070
+ async generate(options) {
1071
+ const kind = normalizeAudioKind(options.audioKind ?? options.kind) ?? "sfx";
1072
+ switch (kind) {
1073
+ case "tts":
1074
+ return this.generateSpeech(options);
1075
+ case "music":
1076
+ return this.generateMusic(options);
1077
+ default:
1078
+ return this.generateSoundEffect(options);
1079
+ }
1080
+ }
1081
+ headers() {
1082
+ return {
1083
+ "Content-Type": "application/json",
1084
+ "xi-api-key": this.apiKey,
1085
+ };
1086
+ }
1087
+ async generateSoundEffect(options) {
1088
+ return withProviderErrorBoundary(this.name, async () => {
1089
+ const outputFormat = options.outputFormat ?? this.config.outputFormat;
1090
+ const response = await fetchWithTimeout(`${this.baseUrl}/sound-generation${buildOutputFormatQuery(outputFormat)}`, {
1091
+ method: "POST",
1092
+ headers: this.headers(),
1093
+ body: JSON.stringify({
1094
+ text: options.prompt,
1095
+ ...(options.duration !== undefined ||
1096
+ this.config.duration !== undefined
1097
+ ? { duration_seconds: options.duration ?? this.config.duration }
1098
+ : {}),
1099
+ ...(options.promptInfluence !== undefined ||
1100
+ this.config.promptInfluence !== undefined
1101
+ ? {
1102
+ prompt_influence: options.promptInfluence ?? this.config.promptInfluence,
1103
+ }
1104
+ : {}),
1105
+ ...(options.loop !== undefined || this.config.loop !== undefined
1106
+ ? { loop: options.loop ?? this.config.loop }
1107
+ : {}),
1108
+ ...(options.seed !== undefined || this.config.seed !== undefined
1109
+ ? { seed: options.seed ?? this.config.seed }
1110
+ : {}),
1111
+ model_id: options.modelId ??
1112
+ this.config.sfxModelId ??
1113
+ this.config.modelId ??
1114
+ "eleven_text_to_sound_v2",
1115
+ }),
1116
+ }, this.timeoutMs);
1117
+ if (!response.ok) {
1118
+ const text = await response.text();
1119
+ return { success: false, error: `ElevenLabs SFX error: ${text}` };
1120
+ }
1121
+ return {
1122
+ success: true,
1123
+ data: await responseToAudioResult(response, "Generated Sound Effect", options.duration ?? this.config.duration),
1124
+ };
1125
+ });
1126
+ }
1127
+ async generateMusic(options) {
1128
+ return withProviderErrorBoundary(this.name, async () => {
1129
+ const outputFormat = options.outputFormat ?? this.config.outputFormat;
1130
+ const prompt = options.genre
1131
+ ? `${options.prompt}\nGenre: ${options.genre}`
1132
+ : options.prompt;
1133
+ const response = await fetchWithTimeout(`${this.baseUrl}/music${buildOutputFormatQuery(outputFormat)}`, {
1134
+ method: "POST",
1135
+ headers: this.headers(),
1136
+ body: JSON.stringify({
1137
+ prompt,
1138
+ ...(options.duration
1139
+ ? { music_length_ms: Math.round(options.duration * 1000) }
1140
+ : {}),
1141
+ ...(options.instrumental !== undefined
1142
+ ? { force_instrumental: options.instrumental }
1143
+ : {}),
1144
+ ...(options.seed !== undefined || this.config.seed !== undefined
1145
+ ? { seed: options.seed ?? this.config.seed }
1146
+ : {}),
1147
+ ...(this.config.signWithC2pa !== undefined
1148
+ ? { sign_with_c2pa: this.config.signWithC2pa }
1149
+ : {}),
1150
+ model_id: options.modelId ??
1151
+ this.config.musicModelId ??
1152
+ this.config.modelId ??
1153
+ "music_v1",
1154
+ }),
1155
+ }, this.timeoutMs);
1156
+ if (!response.ok) {
1157
+ const text = await response.text();
1158
+ return { success: false, error: `ElevenLabs music error: ${text}` };
1159
+ }
1160
+ return {
1161
+ success: true,
1162
+ data: await responseToAudioResult(response, "Generated Music", options.duration),
1163
+ };
1164
+ });
1165
+ }
1166
+ async generateSpeech(options) {
1167
+ const voiceId = options.voiceId ?? this.config.voiceId;
1168
+ if (!voiceId) {
1169
+ return {
1170
+ success: false,
1171
+ error: "ElevenLabs TTS requires a voiceId in config or request options",
1172
+ };
1173
+ }
1174
+ return withProviderErrorBoundary(this.name, async () => {
1175
+ const outputFormat = options.outputFormat ?? this.config.outputFormat;
1176
+ const response = await fetchWithTimeout(`${this.baseUrl}/text-to-speech/${encodeURIComponent(voiceId)}${buildOutputFormatQuery(outputFormat)}`, {
1177
+ method: "POST",
1178
+ headers: this.headers(),
1179
+ body: JSON.stringify({
1180
+ text: options.text ?? options.prompt,
1181
+ model_id: options.modelId ??
1182
+ this.config.ttsModelId ??
1183
+ this.config.modelId ??
1184
+ "eleven_multilingual_v2",
1185
+ ...(options.languageCode !== undefined ||
1186
+ this.config.languageCode !== undefined
1187
+ ? {
1188
+ language_code: options.languageCode ?? this.config.languageCode,
1189
+ }
1190
+ : {}),
1191
+ ...(options.voiceSettings !== undefined ||
1192
+ this.config.voiceSettings !== undefined
1193
+ ? {
1194
+ voice_settings: options.voiceSettings ?? this.config.voiceSettings,
1195
+ }
1196
+ : {}),
1197
+ ...(options.seed !== undefined || this.config.seed !== undefined
1198
+ ? { seed: options.seed ?? this.config.seed }
1199
+ : {}),
1200
+ ...(this.config.applyTextNormalization
1201
+ ? {
1202
+ apply_text_normalization: this.config.applyTextNormalization,
1203
+ }
1204
+ : {}),
1205
+ }),
1206
+ }, this.timeoutMs);
1207
+ if (!response.ok) {
1208
+ const text = await response.text();
1209
+ return { success: false, error: `ElevenLabs TTS error: ${text}` };
1210
+ }
1211
+ return {
1212
+ success: true,
1213
+ data: await responseToAudioResult(response, "Generated Speech"),
1214
+ };
1215
+ });
1216
+ }
1217
+ }
1218
+ // ============================================================================
1219
+ // Suno Provider Implementation
1220
+ // ============================================================================
1221
+ export class SunoAudioProvider {
1222
+ name = "suno";
1223
+ apiKey;
1224
+ model;
1225
+ baseUrl;
1226
+ constructor(config) {
1227
+ if (!config.apiKey) {
1228
+ throw new Error(`${this.name} API key is required`);
1229
+ }
1230
+ this.apiKey = config.apiKey;
1231
+ this.model = config.model ?? "chirp-v3.5";
1232
+ this.baseUrl = config.baseUrl ?? "https://api.suno.ai/v1";
1233
+ }
1234
+ async generate(options) {
1235
+ return withProviderErrorBoundary(this.name, async () => {
1236
+ const response = await fetchWithTimeout(`${this.baseUrl}/generate`, {
1237
+ method: "POST",
1238
+ headers: {
1239
+ "Content-Type": "application/json",
1240
+ Authorization: `Bearer ${this.apiKey}`,
1241
+ },
1242
+ body: JSON.stringify({
1243
+ prompt: options.prompt,
1244
+ model: this.model,
1245
+ duration: options.duration,
1246
+ instrumental: options.instrumental,
1247
+ genre: options.genre,
1248
+ }),
1249
+ });
1250
+ if (!response.ok) {
1251
+ const text = await response.text();
1252
+ return { success: false, error: `Suno error: ${text}` };
1253
+ }
1254
+ const data = (await response.json());
1255
+ return {
1256
+ success: true,
1257
+ data: {
1258
+ audioUrl: data.audio_url,
1259
+ title: data.title,
1260
+ duration: data.duration,
1261
+ },
1262
+ };
1263
+ });
1264
+ }
1265
+ }
1266
+ export function createImageProvider(config, options) {
1267
+ const mode = config?.mode ?? (options.cloudMediaDisabled ? "local" : "cloud");
1268
+ const provider = mode === "cloud" ? "cloud" : (config?.provider ?? "cloud");
1269
+ switch (provider) {
1270
+ case "fal":
1271
+ if (config?.fal?.apiKey) {
1272
+ return new FalImageProvider(config.fal);
1273
+ }
1274
+ break;
1275
+ case "openai":
1276
+ if (config?.openai?.apiKey) {
1277
+ return new OpenAIImageProvider(config.openai);
1278
+ }
1279
+ break;
1280
+ case "google":
1281
+ if (config?.google?.apiKey) {
1282
+ return new GoogleImageProvider(config.google);
1283
+ }
1284
+ break;
1285
+ case "xai":
1286
+ if (config?.xai?.apiKey) {
1287
+ return new XAIImageProvider(config.xai);
1288
+ }
1289
+ break;
1290
+ }
1291
+ if (options.cloudMediaDisabled) {
1292
+ throw new Error("No image provider configured and cloud media is disabled. " +
1293
+ "Configure a direct provider (fal, openai, google, xai) or enable cloud media.");
1294
+ }
1295
+ return new ElizaCloudImageProvider(options.elizaCloudBaseUrl ?? "https://elizacloud.ai/api/v1", options.elizaCloudApiKey);
1296
+ }
1297
+ export function createVideoProvider(config, options) {
1298
+ const mode = config?.mode ?? (options.cloudMediaDisabled ? "local" : "cloud");
1299
+ const provider = mode === "cloud" ? "cloud" : (config?.provider ?? "cloud");
1300
+ switch (provider) {
1301
+ case "fal":
1302
+ if (config?.fal?.apiKey) {
1303
+ return new FalVideoProvider(config.fal);
1304
+ }
1305
+ break;
1306
+ case "openai":
1307
+ if (config?.openai?.apiKey) {
1308
+ return new OpenAIVideoProvider(config.openai);
1309
+ }
1310
+ break;
1311
+ case "google":
1312
+ if (config?.google?.apiKey) {
1313
+ return new GoogleVideoProvider(config.google);
1314
+ }
1315
+ break;
1316
+ }
1317
+ if (options.cloudMediaDisabled) {
1318
+ throw new Error("No video provider configured and cloud media is disabled. " +
1319
+ "Configure a direct provider (fal, openai, google) or enable cloud media.");
1320
+ }
1321
+ return new ElizaCloudVideoProvider(options.elizaCloudBaseUrl ?? "https://elizacloud.ai/api/v1", options.elizaCloudApiKey);
1322
+ }
1323
+ function hasUsableDirectAudioProvider(config) {
1324
+ return !!(config?.suno?.apiKey ||
1325
+ config?.elevenlabs?.apiKey ||
1326
+ config?.fal?.apiKey);
1327
+ }
1328
+ function getConfiguredAudioProvider(config, kind) {
1329
+ return (config?.providers?.[kind] ?? config?.providers?.default ?? config?.provider);
1330
+ }
1331
+ function getAutoAudioProvider(config, kind) {
1332
+ if (kind === "music") {
1333
+ if (config?.suno?.apiKey)
1334
+ return "suno";
1335
+ if (config?.elevenlabs?.apiKey)
1336
+ return "elevenlabs";
1337
+ if (config?.fal?.apiKey)
1338
+ return "fal";
1339
+ return undefined;
1340
+ }
1341
+ if (config?.elevenlabs?.apiKey)
1342
+ return "elevenlabs";
1343
+ if (config?.fal?.apiKey)
1344
+ return "fal";
1345
+ return undefined;
1346
+ }
1347
+ function missingAudioProviderError(kind) {
1348
+ return (`No ${kind} audio provider configured and cloud media is disabled. ` +
1349
+ "Configure a direct provider (suno, elevenlabs, fal) or enable cloud media.");
1350
+ }
1351
+ class RoutedAudioProvider {
1352
+ name = "audio-router";
1353
+ config;
1354
+ options;
1355
+ constructor(config, options) {
1356
+ this.config = config;
1357
+ this.options = options;
1358
+ }
1359
+ async generate(options) {
1360
+ const kind = getAudioKind(options, this.config);
1361
+ const providerName = getConfiguredAudioProvider(this.config, kind) ??
1362
+ getAutoAudioProvider(this.config, kind) ??
1363
+ "cloud";
1364
+ if (providerName === "cloud") {
1365
+ if (this.options.cloudMediaDisabled) {
1366
+ return { success: false, error: missingAudioProviderError(kind) };
1367
+ }
1368
+ return createCloudAudioProvider(this.options).generate({
1369
+ ...options,
1370
+ kind,
1371
+ });
1372
+ }
1373
+ try {
1374
+ switch (providerName) {
1375
+ case "suno":
1376
+ if (!this.config?.suno?.apiKey)
1377
+ break;
1378
+ if (kind !== "music") {
1379
+ return {
1380
+ success: false,
1381
+ error: "Suno audio generation only supports music requests",
1382
+ };
1383
+ }
1384
+ return new SunoAudioProvider(this.config.suno).generate({
1385
+ ...options,
1386
+ kind,
1387
+ });
1388
+ case "elevenlabs":
1389
+ if (!this.config?.elevenlabs?.apiKey)
1390
+ break;
1391
+ return new ElevenLabsAudioProvider(this.config.elevenlabs).generate({
1392
+ ...options,
1393
+ kind,
1394
+ });
1395
+ case "fal":
1396
+ if (!this.config?.fal?.apiKey)
1397
+ break;
1398
+ return new FalAudioProvider(this.config.fal).generate({
1399
+ ...options,
1400
+ kind,
1401
+ });
1402
+ }
1403
+ }
1404
+ catch (err) {
1405
+ return {
1406
+ success: false,
1407
+ error: err instanceof Error ? err.message : String(err),
1408
+ };
1409
+ }
1410
+ if (this.options.cloudMediaDisabled) {
1411
+ return { success: false, error: missingAudioProviderError(kind) };
1412
+ }
1413
+ return createCloudAudioProvider(this.options).generate({
1414
+ ...options,
1415
+ kind,
1416
+ });
1417
+ }
1418
+ }
1419
+ export function createAudioProvider(config, options) {
1420
+ const mode = config?.mode ?? (options.cloudMediaDisabled ? "own-key" : "cloud");
1421
+ if (mode === "cloud") {
1422
+ if (options.cloudMediaDisabled) {
1423
+ throw new Error("Audio media is configured for cloud mode but cloud media is disabled.");
1424
+ }
1425
+ return createCloudAudioProvider(options);
1426
+ }
1427
+ if (options.cloudMediaDisabled && !hasUsableDirectAudioProvider(config)) {
1428
+ throw new Error("No audio provider configured and cloud media is disabled. " +
1429
+ "Configure a direct provider (suno, elevenlabs, fal) or enable cloud media.");
1430
+ }
1431
+ return new RoutedAudioProvider(config, options);
1432
+ }
1433
+ export function createVisionProvider(config, options) {
1434
+ const mode = config?.mode ?? (options.cloudMediaDisabled ? "local" : "cloud");
1435
+ const provider = mode === "cloud" ? "cloud" : (config?.provider ?? "cloud");
1436
+ switch (provider) {
1437
+ case "openai":
1438
+ if (config?.openai?.apiKey) {
1439
+ return new OpenAIVisionProvider(config.openai);
1440
+ }
1441
+ break;
1442
+ case "google":
1443
+ if (config?.google?.apiKey) {
1444
+ return new GoogleVisionProvider(config.google);
1445
+ }
1446
+ break;
1447
+ case "anthropic":
1448
+ if (config?.anthropic?.apiKey) {
1449
+ return new AnthropicVisionProvider(config.anthropic);
1450
+ }
1451
+ break;
1452
+ case "xai":
1453
+ if (config?.xai?.apiKey) {
1454
+ return new XAIVisionProvider(config.xai);
1455
+ }
1456
+ break;
1457
+ case "ollama":
1458
+ // Ollama doesn't require an API key, just a base URL
1459
+ return new OllamaVisionProvider(config?.ollama ?? {});
1460
+ }
1461
+ if (options.cloudMediaDisabled) {
1462
+ throw new Error("No vision provider configured and cloud media is disabled. " +
1463
+ "Configure a direct provider (openai, google, anthropic, xai, ollama) or enable cloud media.");
1464
+ }
1465
+ return new ElizaCloudVisionProvider(options.elizaCloudBaseUrl ?? "https://elizacloud.ai/api/v1", options.elizaCloudApiKey);
1466
+ }
1467
+ export function createMediaProviders(config, options) {
1468
+ return {
1469
+ image: createImageProvider(config?.image, options),
1470
+ video: createVideoProvider(config?.video, options),
1471
+ audio: createAudioProvider(config?.audio, options),
1472
+ vision: createVisionProvider(config?.vision, options),
1473
+ };
1474
+ }