@compose-market/theme 0.0.2 → 0.0.3

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 (547) hide show
  1. package/dist/components/RFAComponent.d.ts +10 -0
  2. package/dist/components/RFAComponent.d.ts.map +1 -0
  3. package/dist/components/RFAComponent.js +288 -0
  4. package/dist/components/RFAComponent.js.map +1 -0
  5. package/dist/components/RFADetails.d.ts +9 -0
  6. package/dist/components/RFADetails.d.ts.map +1 -0
  7. package/dist/components/RFADetails.js +407 -0
  8. package/dist/components/RFADetails.js.map +1 -0
  9. package/dist/components/agent-card.d.ts +8 -0
  10. package/dist/components/agent-card.d.ts.map +1 -0
  11. package/dist/components/agent-card.js +216 -0
  12. package/dist/components/agent-card.js.map +1 -0
  13. package/dist/components/backpack.d.ts +21 -0
  14. package/dist/components/backpack.d.ts.map +1 -0
  15. package/dist/components/backpack.js +905 -0
  16. package/dist/components/backpack.js.map +1 -0
  17. package/dist/components/blur.d.ts +9 -0
  18. package/dist/components/blur.d.ts.map +1 -0
  19. package/dist/components/blur.js +60 -0
  20. package/dist/components/blur.js.map +1 -0
  21. package/dist/components/brand/Logo.d.ts +3 -3
  22. package/dist/components/brand/Logo.d.ts.map +1 -1
  23. package/dist/components/brand/Logo.js +37 -4
  24. package/dist/components/brand/Logo.js.map +1 -1
  25. package/dist/components/chat.d.ts +68 -0
  26. package/dist/components/chat.d.ts.map +1 -0
  27. package/dist/components/chat.js +618 -0
  28. package/dist/components/chat.js.map +1 -0
  29. package/dist/components/compose/index.d.ts +10 -0
  30. package/dist/components/compose/index.d.ts.map +1 -0
  31. package/dist/components/compose/index.js +13 -0
  32. package/dist/components/compose/index.js.map +1 -0
  33. package/dist/components/compose/nodes/agent-node.d.ts +11 -0
  34. package/dist/components/compose/nodes/agent-node.d.ts.map +1 -0
  35. package/dist/components/compose/nodes/agent-node.js +101 -0
  36. package/dist/components/compose/nodes/agent-node.js.map +1 -0
  37. package/dist/components/compose/nodes/hook-node.d.ts +11 -0
  38. package/dist/components/compose/nodes/hook-node.d.ts.map +1 -0
  39. package/dist/components/compose/nodes/hook-node.js +100 -0
  40. package/dist/components/compose/nodes/hook-node.js.map +1 -0
  41. package/dist/components/compose/nodes/index.d.ts +60 -0
  42. package/dist/components/compose/nodes/index.d.ts.map +1 -0
  43. package/dist/components/compose/nodes/index.js +22 -0
  44. package/dist/components/compose/nodes/index.js.map +1 -0
  45. package/dist/components/compose/nodes/step-node.d.ts +11 -0
  46. package/dist/components/compose/nodes/step-node.d.ts.map +1 -0
  47. package/dist/components/compose/nodes/step-node.js +88 -0
  48. package/dist/components/compose/nodes/step-node.js.map +1 -0
  49. package/dist/components/compose/nodes/trigger-node.d.ts +11 -0
  50. package/dist/components/compose/nodes/trigger-node.d.ts.map +1 -0
  51. package/dist/components/compose/nodes/trigger-node.js +92 -0
  52. package/dist/components/compose/nodes/trigger-node.js.map +1 -0
  53. package/dist/components/compose/overlay.d.ts +26 -0
  54. package/dist/components/compose/overlay.d.ts.map +1 -0
  55. package/dist/components/compose/overlay.js +48 -0
  56. package/dist/components/compose/overlay.js.map +1 -0
  57. package/dist/components/compose/pickers/agents-picker.d.ts +18 -0
  58. package/dist/components/compose/pickers/agents-picker.d.ts.map +1 -0
  59. package/dist/components/compose/pickers/agents-picker.js +180 -0
  60. package/dist/components/compose/pickers/agents-picker.js.map +1 -0
  61. package/dist/components/compose/pickers/connector-detail.d.ts +16 -0
  62. package/dist/components/compose/pickers/connector-detail.d.ts.map +1 -0
  63. package/dist/components/compose/pickers/connector-detail.js +236 -0
  64. package/dist/components/compose/pickers/connector-detail.js.map +1 -0
  65. package/dist/components/compose/pickers/connector-picker.d.ts +13 -0
  66. package/dist/components/compose/pickers/connector-picker.d.ts.map +1 -0
  67. package/dist/components/compose/pickers/connector-picker.js +101 -0
  68. package/dist/components/compose/pickers/connector-picker.js.map +1 -0
  69. package/dist/components/compose/pickers/index.d.ts +10 -0
  70. package/dist/components/compose/pickers/index.d.ts.map +1 -0
  71. package/dist/components/compose/pickers/index.js +10 -0
  72. package/dist/components/compose/pickers/index.js.map +1 -0
  73. package/dist/components/compose/pickers/trigger-picker.d.ts +13 -0
  74. package/dist/components/compose/pickers/trigger-picker.d.ts.map +1 -0
  75. package/dist/components/compose/pickers/trigger-picker.js +110 -0
  76. package/dist/components/compose/pickers/trigger-picker.js.map +1 -0
  77. package/dist/components/compose/toolbox.d.ts +24 -0
  78. package/dist/components/compose/toolbox.d.ts.map +1 -0
  79. package/dist/components/compose/toolbox.js +183 -0
  80. package/dist/components/compose/toolbox.js.map +1 -0
  81. package/dist/components/connector.d.ts +24 -0
  82. package/dist/components/connector.d.ts.map +1 -0
  83. package/dist/components/connector.js +263 -0
  84. package/dist/components/connector.js.map +1 -0
  85. package/dist/components/dispenser.d.ts +15 -0
  86. package/dist/components/dispenser.d.ts.map +1 -0
  87. package/dist/components/dispenser.js +323 -0
  88. package/dist/components/dispenser.js.map +1 -0
  89. package/dist/components/layout/AppLayout.d.ts +60 -0
  90. package/dist/components/layout/AppLayout.d.ts.map +1 -0
  91. package/dist/components/layout/AppLayout.js +265 -0
  92. package/dist/components/layout/AppLayout.js.map +1 -0
  93. package/dist/components/layout/Layout.d.ts +6 -0
  94. package/dist/components/layout/Layout.d.ts.map +1 -0
  95. package/dist/components/layout/Layout.js +186 -0
  96. package/dist/components/layout/Layout.js.map +1 -0
  97. package/dist/components/layout/Sidebar.d.ts +3 -0
  98. package/dist/components/layout/Sidebar.d.ts.map +1 -0
  99. package/dist/components/layout/Sidebar.js +160 -0
  100. package/dist/components/layout/Sidebar.js.map +1 -0
  101. package/dist/components/layout/TopBar.d.ts +6 -0
  102. package/dist/components/layout/TopBar.d.ts.map +1 -0
  103. package/dist/components/layout/TopBar.js +36 -0
  104. package/dist/components/layout/TopBar.js.map +1 -0
  105. package/dist/components/layout/index.d.ts +2 -0
  106. package/dist/components/layout/index.d.ts.map +1 -0
  107. package/dist/components/layout/index.js +2 -0
  108. package/dist/components/layout/index.js.map +1 -0
  109. package/dist/components/lyria-player.d.ts +23 -0
  110. package/dist/components/lyria-player.d.ts.map +1 -0
  111. package/dist/components/lyria-player.js +241 -0
  112. package/dist/components/lyria-player.js.map +1 -0
  113. package/dist/components/manowar-card.d.ts +8 -0
  114. package/dist/components/manowar-card.d.ts.map +1 -0
  115. package/dist/components/manowar-card.js +349 -0
  116. package/dist/components/manowar-card.js.map +1 -0
  117. package/dist/components/mirror-pane.d.ts +55 -0
  118. package/dist/components/mirror-pane.d.ts.map +1 -0
  119. package/dist/components/mirror-pane.js +330 -0
  120. package/dist/components/mirror-pane.js.map +1 -0
  121. package/dist/components/model-selector.d.ts +12 -0
  122. package/dist/components/model-selector.d.ts.map +1 -0
  123. package/dist/components/model-selector.js +148 -0
  124. package/dist/components/model-selector.js.map +1 -0
  125. package/dist/components/output.d.ts +26 -0
  126. package/dist/components/output.d.ts.map +1 -0
  127. package/dist/components/output.js +259 -0
  128. package/dist/components/output.js.map +1 -0
  129. package/dist/components/partners.d.ts +13 -0
  130. package/dist/components/partners.d.ts.map +1 -0
  131. package/dist/components/partners.js +210 -0
  132. package/dist/components/partners.js.map +1 -0
  133. package/dist/components/plugin-tester.d.ts +13 -0
  134. package/dist/components/plugin-tester.d.ts.map +1 -0
  135. package/dist/components/plugin-tester.js +907 -0
  136. package/dist/components/plugin-tester.js.map +1 -0
  137. package/dist/components/session/SessionComponents.d.ts +2 -0
  138. package/dist/components/session/SessionComponents.d.ts.map +1 -0
  139. package/dist/components/session/SessionComponents.js +2 -0
  140. package/dist/components/session/SessionComponents.js.map +1 -0
  141. package/dist/components/session/index.d.ts +2 -0
  142. package/dist/components/session/index.d.ts.map +1 -0
  143. package/dist/components/session/index.js +2 -0
  144. package/dist/components/session/index.js.map +1 -0
  145. package/dist/components/session.d.ts +3 -3
  146. package/dist/components/session.d.ts.map +1 -1
  147. package/dist/components/session.js +315 -15
  148. package/dist/components/session.js.map +1 -1
  149. package/dist/components/share-dialog.d.ts +9 -0
  150. package/dist/components/share-dialog.d.ts.map +1 -0
  151. package/dist/components/share-dialog.js +49 -0
  152. package/dist/components/share-dialog.js.map +1 -0
  153. package/dist/components/ui/accordion.d.ts +6 -0
  154. package/dist/components/ui/accordion.d.ts.map +1 -0
  155. package/dist/components/ui/accordion.js +20 -0
  156. package/dist/components/ui/accordion.js.map +1 -0
  157. package/dist/components/ui/alert-dialog.d.ts +20 -0
  158. package/dist/components/ui/alert-dialog.d.ts.map +1 -0
  159. package/dist/components/ui/alert-dialog.js +29 -0
  160. package/dist/components/ui/alert-dialog.js.map +1 -0
  161. package/dist/components/ui/alert.d.ts +5 -0
  162. package/dist/components/ui/alert.d.ts.map +1 -0
  163. package/dist/components/ui/alert.js +22 -0
  164. package/dist/components/ui/alert.js.map +1 -0
  165. package/dist/components/ui/aspect-ratio.d.ts +3 -0
  166. package/dist/components/ui/aspect-ratio.d.ts.map +1 -0
  167. package/dist/components/ui/aspect-ratio.js +4 -0
  168. package/dist/components/ui/aspect-ratio.js.map +1 -0
  169. package/dist/components/ui/avatar.d.ts +5 -0
  170. package/dist/components/ui/avatar.d.ts.map +1 -0
  171. package/dist/components/ui/avatar.js +12 -0
  172. package/dist/components/ui/avatar.js.map +1 -0
  173. package/dist/components/ui/badge.d.ts +2 -4
  174. package/dist/components/ui/badge.d.ts.map +1 -1
  175. package/dist/components/ui/badge.js +2 -2
  176. package/dist/components/ui/badge.js.map +1 -1
  177. package/dist/components/ui/breadcrumb.d.ts +16 -0
  178. package/dist/components/ui/breadcrumb.d.ts.map +1 -0
  179. package/dist/components/ui/breadcrumb.js +28 -0
  180. package/dist/components/ui/breadcrumb.js.map +1 -0
  181. package/dist/components/ui/button-group.d.ts +10 -0
  182. package/dist/components/ui/button-group.d.ts.map +1 -0
  183. package/dist/components/ui/button-group.js +27 -0
  184. package/dist/components/ui/button-group.js.map +1 -0
  185. package/dist/components/ui/button.d.ts +2 -5
  186. package/dist/components/ui/button.d.ts.map +1 -1
  187. package/dist/components/ui/button.js +1 -2
  188. package/dist/components/ui/button.js.map +1 -1
  189. package/dist/components/ui/calendar.d.ts +9 -0
  190. package/dist/components/ui/calendar.d.ts.map +1 -0
  191. package/dist/components/ui/calendar.js +78 -0
  192. package/dist/components/ui/calendar.js.map +1 -0
  193. package/dist/components/ui/card.d.ts +6 -11
  194. package/dist/components/ui/card.d.ts.map +1 -1
  195. package/dist/components/ui/card.js +6 -7
  196. package/dist/components/ui/card.js.map +1 -1
  197. package/dist/components/ui/carousel.d.ts +9 -0
  198. package/dist/components/ui/carousel.d.ts.map +1 -0
  199. package/dist/components/ui/carousel.js +110 -0
  200. package/dist/components/ui/carousel.js.map +1 -0
  201. package/dist/components/ui/chart.d.ts +28 -0
  202. package/dist/components/ui/chart.d.ts.map +1 -0
  203. package/dist/components/ui/chart.js +168 -0
  204. package/dist/components/ui/chart.js.map +1 -0
  205. package/dist/components/ui/checkbox.d.ts +3 -0
  206. package/dist/components/ui/checkbox.d.ts.map +1 -0
  207. package/dist/components/ui/checkbox.js +12 -0
  208. package/dist/components/ui/checkbox.js.map +1 -0
  209. package/dist/components/ui/collapsible.d.ts +5 -0
  210. package/dist/components/ui/collapsible.d.ts.map +1 -0
  211. package/dist/components/ui/collapsible.js +7 -0
  212. package/dist/components/ui/collapsible.js.map +1 -0
  213. package/dist/components/ui/command.d.ts +16 -0
  214. package/dist/components/ui/command.d.ts.map +1 -0
  215. package/dist/components/ui/command.js +38 -0
  216. package/dist/components/ui/command.js.map +1 -0
  217. package/dist/components/ui/context-menu.d.ts +21 -0
  218. package/dist/components/ui/context-menu.d.ts.map +1 -0
  219. package/dist/components/ui/context-menu.js +52 -0
  220. package/dist/components/ui/context-menu.js.map +1 -0
  221. package/dist/components/ui/dialog.d.ts +10 -11
  222. package/dist/components/ui/dialog.d.ts.map +1 -1
  223. package/dist/components/ui/dialog.js +15 -7
  224. package/dist/components/ui/dialog.js.map +1 -1
  225. package/dist/components/ui/drawer.d.ts +23 -0
  226. package/dist/components/ui/drawer.d.ts.map +1 -0
  227. package/dist/components/ui/drawer.js +28 -0
  228. package/dist/components/ui/drawer.js.map +1 -0
  229. package/dist/components/ui/dropdown-menu.d.ts +15 -22
  230. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  231. package/dist/components/ui/dropdown-menu.js +28 -10
  232. package/dist/components/ui/dropdown-menu.js.map +1 -1
  233. package/dist/components/ui/empty.d.ts +10 -0
  234. package/dist/components/ui/empty.d.ts.map +1 -0
  235. package/dist/components/ui/empty.js +33 -0
  236. package/dist/components/ui/empty.js.map +1 -0
  237. package/dist/components/ui/field.d.ts +23 -0
  238. package/dist/components/ui/field.d.ts.map +1 -0
  239. package/dist/components/ui/field.js +82 -0
  240. package/dist/components/ui/field.js.map +1 -0
  241. package/dist/components/ui/form.d.ts +11 -0
  242. package/dist/components/ui/form.d.ts.map +1 -0
  243. package/dist/components/ui/form.js +71 -0
  244. package/dist/components/ui/form.js.map +1 -0
  245. package/dist/components/ui/hover-card.d.ts +5 -0
  246. package/dist/components/ui/hover-card.d.ts.map +1 -0
  247. package/dist/components/ui/hover-card.js +9 -0
  248. package/dist/components/ui/hover-card.js.map +1 -0
  249. package/dist/components/ui/input-group.d.ts +13 -0
  250. package/dist/components/ui/input-group.d.ts.map +1 -0
  251. package/dist/components/ui/input-group.js +63 -0
  252. package/dist/components/ui/input-group.js.map +1 -0
  253. package/dist/components/ui/input-otp.d.ts +6 -0
  254. package/dist/components/ui/input-otp.d.ts.map +1 -0
  255. package/dist/components/ui/input-otp.js +25 -0
  256. package/dist/components/ui/input-otp.js.map +1 -0
  257. package/dist/components/ui/input.d.ts +3 -0
  258. package/dist/components/ui/input.d.ts.map +1 -0
  259. package/dist/components/ui/input.js +8 -0
  260. package/dist/components/ui/input.js.map +1 -0
  261. package/dist/components/ui/item.d.ts +19 -0
  262. package/dist/components/ui/item.d.ts.map +1 -0
  263. package/dist/components/ui/item.js +67 -0
  264. package/dist/components/ui/item.js.map +1 -0
  265. package/dist/components/ui/kbd.d.ts +4 -0
  266. package/dist/components/ui/kbd.d.ts.map +1 -0
  267. package/dist/components/ui/kbd.js +9 -0
  268. package/dist/components/ui/kbd.js.map +1 -0
  269. package/dist/components/ui/label.d.ts +3 -0
  270. package/dist/components/ui/label.d.ts.map +1 -0
  271. package/dist/components/ui/label.js +10 -0
  272. package/dist/components/ui/label.js.map +1 -0
  273. package/dist/components/ui/menubar.d.ts +23 -0
  274. package/dist/components/ui/menubar.d.ts.map +1 -0
  275. package/dist/components/ui/menubar.js +64 -0
  276. package/dist/components/ui/menubar.js.map +1 -0
  277. package/dist/components/ui/navigation-menu.d.ts +11 -0
  278. package/dist/components/ui/navigation-menu.d.ts.map +1 -0
  279. package/dist/components/ui/navigation-menu.js +34 -0
  280. package/dist/components/ui/navigation-menu.js.map +1 -0
  281. package/dist/components/ui/network-selector.d.ts +22 -0
  282. package/dist/components/ui/network-selector.d.ts.map +1 -0
  283. package/dist/components/ui/network-selector.js +99 -0
  284. package/dist/components/ui/network-selector.js.map +1 -0
  285. package/dist/components/ui/pagination.d.ts +29 -0
  286. package/dist/components/ui/pagination.d.ts.map +1 -0
  287. package/dist/components/ui/pagination.js +32 -0
  288. package/dist/components/ui/pagination.js.map +1 -0
  289. package/dist/components/ui/popover.d.ts +6 -0
  290. package/dist/components/ui/popover.d.ts.map +1 -0
  291. package/dist/components/ui/popover.js +12 -0
  292. package/dist/components/ui/popover.js.map +1 -0
  293. package/dist/components/ui/progress.d.ts +1 -3
  294. package/dist/components/ui/progress.d.ts.map +1 -1
  295. package/dist/components/ui/progress.js +3 -2
  296. package/dist/components/ui/progress.js.map +1 -1
  297. package/dist/components/ui/radio-group.d.ts +4 -0
  298. package/dist/components/ui/radio-group.d.ts.map +1 -0
  299. package/dist/components/ui/radio-group.js +18 -0
  300. package/dist/components/ui/radio-group.js.map +1 -0
  301. package/dist/components/ui/resizable.d.ts +8 -0
  302. package/dist/components/ui/resizable.d.ts.map +1 -0
  303. package/dist/components/ui/resizable.js +13 -0
  304. package/dist/components/ui/resizable.js.map +1 -0
  305. package/dist/components/ui/scroll-area.d.ts +4 -0
  306. package/dist/components/ui/scroll-area.d.ts.map +1 -0
  307. package/dist/components/ui/scroll-area.js +19 -0
  308. package/dist/components/ui/scroll-area.js.map +1 -0
  309. package/dist/components/ui/select.d.ts +12 -0
  310. package/dist/components/ui/select.d.ts.map +1 -0
  311. package/dist/components/ui/select.js +51 -0
  312. package/dist/components/ui/select.js.map +1 -0
  313. package/dist/components/ui/separator.d.ts +3 -0
  314. package/dist/components/ui/separator.d.ts.map +1 -0
  315. package/dist/components/ui/separator.js +7 -0
  316. package/dist/components/ui/separator.js.map +1 -0
  317. package/dist/components/ui/sheet.d.ts +19 -0
  318. package/dist/components/ui/sheet.d.ts.map +1 -0
  319. package/dist/components/ui/sheet.js +46 -0
  320. package/dist/components/ui/sheet.js.map +1 -0
  321. package/dist/components/ui/sidebar.d.ts +58 -0
  322. package/dist/components/ui/sidebar.d.ts.map +1 -0
  323. package/dist/components/ui/sidebar.js +246 -0
  324. package/dist/components/ui/sidebar.js.map +1 -0
  325. package/dist/components/ui/skeleton.d.ts +3 -0
  326. package/dist/components/ui/skeleton.d.ts.map +1 -0
  327. package/dist/components/ui/skeleton.js +6 -0
  328. package/dist/components/ui/skeleton.js.map +1 -0
  329. package/dist/components/ui/slider.d.ts +3 -0
  330. package/dist/components/ui/slider.d.ts.map +1 -0
  331. package/dist/components/ui/slider.js +12 -0
  332. package/dist/components/ui/slider.js.map +1 -0
  333. package/dist/components/ui/sonner.d.ts +5 -0
  334. package/dist/components/ui/sonner.d.ts.map +1 -0
  335. package/dist/components/ui/sonner.js +16 -0
  336. package/dist/components/ui/sonner.js.map +1 -0
  337. package/dist/components/ui/spinner.d.ts +3 -0
  338. package/dist/components/ui/spinner.d.ts.map +1 -0
  339. package/dist/components/ui/spinner.js +7 -0
  340. package/dist/components/ui/spinner.js.map +1 -0
  341. package/dist/components/ui/switch.d.ts +3 -0
  342. package/dist/components/ui/switch.d.ts.map +1 -0
  343. package/dist/components/ui/switch.js +9 -0
  344. package/dist/components/ui/switch.js.map +1 -0
  345. package/dist/components/ui/table.d.ts +10 -0
  346. package/dist/components/ui/table.d.ts.map +1 -0
  347. package/dist/components/ui/table.js +22 -0
  348. package/dist/components/ui/table.js.map +1 -0
  349. package/dist/components/ui/tabs.d.ts +6 -0
  350. package/dist/components/ui/tabs.d.ts.map +1 -0
  351. package/dist/components/ui/tabs.js +13 -0
  352. package/dist/components/ui/tabs.js.map +1 -0
  353. package/dist/components/ui/textarea.d.ts +3 -0
  354. package/dist/components/ui/textarea.d.ts.map +1 -0
  355. package/dist/components/ui/textarea.js +8 -0
  356. package/dist/components/ui/textarea.js.map +1 -0
  357. package/dist/components/ui/toast.d.ts +12 -0
  358. package/dist/components/ui/toast.d.ts.map +1 -0
  359. package/dist/components/ui/toast.js +35 -0
  360. package/dist/components/ui/toast.js.map +1 -0
  361. package/dist/components/ui/toaster.d.ts +2 -0
  362. package/dist/components/ui/toaster.d.ts.map +1 -0
  363. package/dist/components/ui/toaster.js +19 -0
  364. package/dist/components/ui/toaster.js.map +1 -0
  365. package/dist/components/ui/toggle-group.d.ts +4 -0
  366. package/dist/components/ui/toggle-group.d.ts.map +1 -0
  367. package/dist/components/ui/toggle-group.js +27 -0
  368. package/dist/components/ui/toggle-group.js.map +1 -0
  369. package/dist/components/ui/toggle.d.ts +4 -0
  370. package/dist/components/ui/toggle.d.ts.map +1 -0
  371. package/dist/components/ui/toggle.js +25 -0
  372. package/dist/components/ui/toggle.js.map +1 -0
  373. package/dist/components/ui/tooltip.d.ts +6 -0
  374. package/dist/components/ui/tooltip.d.ts.map +1 -0
  375. package/dist/components/ui/tooltip.js +13 -0
  376. package/dist/components/ui/tooltip.js.map +1 -0
  377. package/dist/components/visual/ManowarField.d.ts +9 -0
  378. package/dist/components/visual/ManowarField.d.ts.map +1 -0
  379. package/dist/components/visual/ManowarField.js +111 -0
  380. package/dist/components/visual/ManowarField.js.map +1 -0
  381. package/dist/components/warp-form.d.ts +22 -0
  382. package/dist/components/warp-form.d.ts.map +1 -0
  383. package/dist/components/warp-form.js +743 -0
  384. package/dist/components/warp-form.js.map +1 -0
  385. package/dist/css/dark.css +38 -0
  386. package/dist/css/index.css +9 -0
  387. package/dist/css/index.d.ts +16 -0
  388. package/dist/css/index.d.ts.map +1 -0
  389. package/dist/css/index.js +96 -0
  390. package/dist/css/index.js.map +1 -0
  391. package/dist/css/light.css +70 -0
  392. package/dist/css/tokens.css +24 -0
  393. package/dist/hooks/use-agents.d.ts +17 -0
  394. package/dist/hooks/use-agents.d.ts.map +1 -0
  395. package/dist/hooks/use-agents.js +64 -0
  396. package/dist/hooks/use-agents.js.map +1 -0
  397. package/dist/hooks/use-api.d.ts +28 -0
  398. package/dist/hooks/use-api.d.ts.map +1 -0
  399. package/dist/hooks/use-api.js +114 -0
  400. package/dist/hooks/use-api.js.map +1 -0
  401. package/dist/hooks/use-chat.d.ts +64 -0
  402. package/dist/hooks/use-chat.d.ts.map +1 -0
  403. package/dist/hooks/use-chat.js +350 -0
  404. package/dist/hooks/use-chat.js.map +1 -0
  405. package/dist/hooks/use-coordinator.d.ts +41 -0
  406. package/dist/hooks/use-coordinator.d.ts.map +1 -0
  407. package/dist/hooks/use-coordinator.js +110 -0
  408. package/dist/hooks/use-coordinator.js.map +1 -0
  409. package/dist/hooks/use-dispenser.d.ts +68 -0
  410. package/dist/hooks/use-dispenser.d.ts.map +1 -0
  411. package/dist/hooks/use-dispenser.js +113 -0
  412. package/dist/hooks/use-dispenser.js.map +1 -0
  413. package/dist/hooks/use-lyria.d.ts +58 -0
  414. package/dist/hooks/use-lyria.d.ts.map +1 -0
  415. package/dist/hooks/use-lyria.js +254 -0
  416. package/dist/hooks/use-lyria.js.map +1 -0
  417. package/dist/hooks/use-mobile.d.ts +2 -0
  418. package/dist/hooks/use-mobile.d.ts.map +1 -0
  419. package/dist/hooks/use-mobile.js +16 -0
  420. package/dist/hooks/use-mobile.js.map +1 -0
  421. package/dist/hooks/use-model.d.ts +34 -0
  422. package/dist/hooks/use-model.d.ts.map +1 -0
  423. package/dist/hooks/use-model.js +105 -0
  424. package/dist/hooks/use-model.js.map +1 -0
  425. package/dist/hooks/use-motion-governor.d.ts +10 -0
  426. package/dist/hooks/use-motion-governor.d.ts.map +1 -0
  427. package/dist/hooks/use-motion-governor.js +63 -0
  428. package/dist/hooks/use-motion-governor.js.map +1 -0
  429. package/dist/hooks/use-multichain.d.ts +34 -0
  430. package/dist/hooks/use-multichain.d.ts.map +1 -0
  431. package/dist/hooks/use-multichain.js +120 -0
  432. package/dist/hooks/use-multichain.js.map +1 -0
  433. package/dist/hooks/use-onchain.d.ts +145 -0
  434. package/dist/hooks/use-onchain.d.ts.map +1 -0
  435. package/dist/hooks/use-onchain.js +652 -0
  436. package/dist/hooks/use-onchain.js.map +1 -0
  437. package/dist/hooks/use-registry.d.ts +140 -0
  438. package/dist/hooks/use-registry.d.ts.map +1 -0
  439. package/dist/hooks/use-registry.js +264 -0
  440. package/dist/hooks/use-registry.js.map +1 -0
  441. package/dist/hooks/use-services.d.ts +66 -0
  442. package/dist/hooks/use-services.d.ts.map +1 -0
  443. package/dist/hooks/use-services.js +216 -0
  444. package/dist/hooks/use-services.js.map +1 -0
  445. package/dist/hooks/use-session.d.ts +36 -0
  446. package/dist/hooks/use-session.d.ts.map +1 -0
  447. package/dist/hooks/use-session.js +449 -0
  448. package/dist/hooks/use-session.js.map +1 -0
  449. package/dist/hooks/use-sse.d.ts +8 -0
  450. package/dist/hooks/use-sse.d.ts.map +1 -0
  451. package/dist/hooks/use-sse.js +86 -0
  452. package/dist/hooks/use-sse.js.map +1 -0
  453. package/dist/hooks/use-tabs.d.ts +2 -0
  454. package/dist/hooks/use-tabs.d.ts.map +1 -0
  455. package/dist/hooks/use-tabs.js +43 -0
  456. package/dist/hooks/use-tabs.js.map +1 -0
  457. package/dist/hooks/use-toast.d.ts +41 -0
  458. package/dist/hooks/use-toast.d.ts.map +1 -0
  459. package/dist/hooks/use-toast.js +127 -0
  460. package/dist/hooks/use-toast.js.map +1 -0
  461. package/dist/hooks/use-triggers.d.ts +51 -0
  462. package/dist/hooks/use-triggers.d.ts.map +1 -0
  463. package/dist/hooks/use-triggers.js +212 -0
  464. package/dist/hooks/use-triggers.js.map +1 -0
  465. package/dist/hooks/use-warp.d.ts +53 -0
  466. package/dist/hooks/use-warp.d.ts.map +1 -0
  467. package/dist/hooks/use-warp.js +231 -0
  468. package/dist/hooks/use-warp.js.map +1 -0
  469. package/dist/hooks/use-workflow.d.ts +40 -0
  470. package/dist/hooks/use-workflow.d.ts.map +1 -0
  471. package/dist/hooks/use-workflow.js +358 -0
  472. package/dist/hooks/use-workflow.js.map +1 -0
  473. package/dist/index.d.ts +6 -5
  474. package/dist/index.d.ts.map +1 -1
  475. package/dist/index.js +6 -5
  476. package/dist/index.js.map +1 -1
  477. package/dist/lib/agents.d.ts +186 -0
  478. package/dist/lib/agents.d.ts.map +1 -0
  479. package/dist/lib/agents.js +633 -0
  480. package/dist/lib/agents.js.map +1 -0
  481. package/dist/lib/api.d.ts +224 -0
  482. package/dist/lib/api.d.ts.map +1 -0
  483. package/dist/lib/api.js +443 -0
  484. package/dist/lib/api.js.map +1 -0
  485. package/dist/lib/chains.d.ts +151 -0
  486. package/dist/lib/chains.d.ts.map +1 -0
  487. package/dist/lib/chains.js +297 -0
  488. package/dist/lib/chains.js.map +1 -0
  489. package/dist/lib/contracts.d.ts +960 -0
  490. package/dist/lib/contracts.d.ts.map +1 -0
  491. package/dist/lib/contracts.js +716 -0
  492. package/dist/lib/contracts.js.map +1 -0
  493. package/dist/lib/cronos/aa.d.ts +111 -0
  494. package/dist/lib/cronos/aa.d.ts.map +1 -0
  495. package/dist/lib/cronos/aa.js +312 -0
  496. package/dist/lib/cronos/aa.js.map +1 -0
  497. package/dist/lib/cronos/facilitator.d.ts +87 -0
  498. package/dist/lib/cronos/facilitator.d.ts.map +1 -0
  499. package/dist/lib/cronos/facilitator.js +183 -0
  500. package/dist/lib/cronos/facilitator.js.map +1 -0
  501. package/dist/lib/evm.d.ts +45 -0
  502. package/dist/lib/evm.d.ts.map +1 -0
  503. package/dist/lib/evm.js +78 -0
  504. package/dist/lib/evm.js.map +1 -0
  505. package/dist/lib/mockData.d.ts +26 -0
  506. package/dist/lib/mockData.d.ts.map +1 -0
  507. package/dist/lib/mockData.js +89 -0
  508. package/dist/lib/mockData.js.map +1 -0
  509. package/dist/lib/models.d.ts +122 -0
  510. package/dist/lib/models.d.ts.map +1 -0
  511. package/dist/lib/models.js +174 -0
  512. package/dist/lib/models.js.map +1 -0
  513. package/dist/lib/multimodal.d.ts +53 -0
  514. package/dist/lib/multimodal.d.ts.map +1 -0
  515. package/dist/lib/multimodal.js +204 -0
  516. package/dist/lib/multimodal.js.map +1 -0
  517. package/dist/lib/payment.d.ts +67 -0
  518. package/dist/lib/payment.d.ts.map +1 -0
  519. package/dist/lib/payment.js +236 -0
  520. package/dist/lib/payment.js.map +1 -0
  521. package/dist/lib/pinata.d.ts +140 -0
  522. package/dist/lib/pinata.d.ts.map +1 -0
  523. package/dist/lib/pinata.js +209 -0
  524. package/dist/lib/pinata.js.map +1 -0
  525. package/dist/lib/queryClient.d.ts +9 -0
  526. package/dist/lib/queryClient.d.ts.map +1 -0
  527. package/dist/lib/queryClient.js +42 -0
  528. package/dist/lib/queryClient.js.map +1 -0
  529. package/dist/lib/services.d.ts +164 -0
  530. package/dist/lib/services.d.ts.map +1 -0
  531. package/dist/lib/services.js +304 -0
  532. package/dist/lib/services.js.map +1 -0
  533. package/dist/lib/share.d.ts +12 -0
  534. package/dist/lib/share.d.ts.map +1 -0
  535. package/dist/lib/share.js +39 -0
  536. package/dist/lib/share.js.map +1 -0
  537. package/dist/lib/triggers.d.ts +128 -0
  538. package/dist/lib/triggers.d.ts.map +1 -0
  539. package/dist/lib/triggers.js +305 -0
  540. package/dist/lib/triggers.js.map +1 -0
  541. package/dist/lib/utils.d.ts +1 -1
  542. package/dist/lib/utils.d.ts.map +1 -1
  543. package/dist/tailwind/preset.d.ts +282 -0
  544. package/dist/tailwind/preset.d.ts.map +1 -0
  545. package/dist/tailwind/preset.js +144 -0
  546. package/dist/tailwind/preset.js.map +1 -0
  547. package/package.json +9 -45
@@ -0,0 +1,174 @@
1
+ // Available AI models for the Manowar platform
2
+ // Users can select any of these for their agents/workflows
3
+ // Models are fetched dynamically from /v1/models (canonical) with
4
+ // fallback to /api/registry/models/available for compatibility.
5
+ const API_BASE = (import.meta.env.VITE_API_URL || "https://api.compose.market").replace(/\/+$/, "");
6
+ /**
7
+ * Fetch available models from canonical /v1/models endpoint.
8
+ * Falls back to /api/registry/models/available if needed.
9
+ */
10
+ export async function fetchAvailableModels() {
11
+ try {
12
+ const v1Res = await fetch(`${API_BASE}/v1/models`);
13
+ if (v1Res.ok) {
14
+ const data = await v1Res.json();
15
+ const models = (data.data || []).map(openAIModelToAIModel);
16
+ if (models.length > 0) {
17
+ console.log(`[models] Loaded ${models.length} models from /v1/models`);
18
+ return models;
19
+ }
20
+ }
21
+ }
22
+ catch (error) {
23
+ console.warn("[models] Failed to fetch /v1/models, falling back to registry:", error);
24
+ }
25
+ const allModels = [];
26
+ let page = 1;
27
+ const limit = 500;
28
+ let hasMore = true;
29
+ try {
30
+ while (hasMore) {
31
+ const res = await fetch(`${API_BASE}/api/registry/models/available?page=${page}&limit=${limit}`);
32
+ if (!res.ok)
33
+ throw new Error(`Failed to fetch models: ${res.status}`);
34
+ const data = await res.json();
35
+ const models = (data.models || []).map((m) => ({
36
+ ...m,
37
+ id: m.modelId || m.id,
38
+ source: m.provider || m.source,
39
+ task: m.taskType || m.task,
40
+ contextLength: m.contextWindow || m.contextLength,
41
+ }));
42
+ allModels.push(...models);
43
+ hasMore = data.hasMore === true;
44
+ page++;
45
+ if (page > 150)
46
+ break;
47
+ }
48
+ console.log(`[models] Loaded ${allModels.length} models from /api/registry/models/available`);
49
+ return allModels;
50
+ }
51
+ catch (error) {
52
+ console.error("[models] Failed to fetch models from all sources:", error);
53
+ return [];
54
+ }
55
+ }
56
+ /**
57
+ * Fetch all models including unavailable ones (registry full view)
58
+ */
59
+ export async function fetchModelRegistry() {
60
+ try {
61
+ const res = await fetch(`${API_BASE}/api/registry/models`);
62
+ if (!res.ok)
63
+ throw new Error(`Failed to fetch registry: ${res.status}`);
64
+ return await res.json();
65
+ }
66
+ catch (error) {
67
+ console.error("[models] Failed to fetch registry:", error);
68
+ return null;
69
+ }
70
+ }
71
+ /**
72
+ * Fetch models from OpenAI-compatible /v1/models endpoint
73
+ * Returns optimized set (~810 models) for fast app loading
74
+ */
75
+ export async function fetchOpenAIModels() {
76
+ try {
77
+ const res = await fetch(`${API_BASE}/v1/models`);
78
+ if (!res.ok)
79
+ throw new Error(`Failed to fetch /v1/models: ${res.status}`);
80
+ const data = await res.json();
81
+ console.log(`[models] Loaded ${data.data.length} models from /v1/models`);
82
+ return data.data;
83
+ }
84
+ catch (error) {
85
+ console.error("[models] Failed to fetch /v1/models:", error);
86
+ return [];
87
+ }
88
+ }
89
+ /**
90
+ * Fetch extended models from /v1/models/all endpoint
91
+ * Returns full catalog (~43k+ models)
92
+ */
93
+ export async function fetchOpenAIModelsExtended() {
94
+ try {
95
+ const res = await fetch(`${API_BASE}/v1/models/all`);
96
+ if (!res.ok)
97
+ throw new Error(`Failed to fetch /v1/models/all: ${res.status}`);
98
+ const data = await res.json();
99
+ console.log(`[models] Loaded ${data.data.length} extended models from /v1/models/all`);
100
+ return data.data;
101
+ }
102
+ catch (error) {
103
+ console.error("[models] Failed to fetch /v1/models/all:", error);
104
+ return [];
105
+ }
106
+ }
107
+ /**
108
+ * Fetch a specific model by ID from /v1/models/:model
109
+ */
110
+ export async function fetchOpenAIModel(modelId) {
111
+ try {
112
+ const res = await fetch(`${API_BASE}/v1/models/${encodeURIComponent(modelId)}`);
113
+ if (!res.ok) {
114
+ if (res.status === 404)
115
+ return null;
116
+ throw new Error(`Failed to fetch model: ${res.status}`);
117
+ }
118
+ return await res.json();
119
+ }
120
+ catch (error) {
121
+ console.error(`[models] Failed to fetch model ${modelId}:`, error);
122
+ return null;
123
+ }
124
+ }
125
+ /**
126
+ * Convert OpenAI model format to AIModel format
127
+ */
128
+ export function openAIModelToAIModel(model) {
129
+ const source = (model.provider || model.owned_by || "openai");
130
+ return {
131
+ id: model.id,
132
+ name: model.name || model.id,
133
+ ownedBy: model.owned_by,
134
+ source,
135
+ task: model.task_type,
136
+ description: model.description,
137
+ available: true,
138
+ contextLength: model.context_window,
139
+ maxOutputTokens: model.max_output_tokens,
140
+ pricing: model.pricing,
141
+ capabilities: model.capabilities,
142
+ inputModalities: model.input_modalities,
143
+ outputModalities: model.output_modalities,
144
+ };
145
+ }
146
+ /**
147
+ * Get the API key environment variable name for a provider
148
+ * Useful for UI hints on what keys are needed
149
+ */
150
+ export function getApiKeyEnvName(provider) {
151
+ switch (provider) {
152
+ case "openai":
153
+ return "OPENAI_API_KEY";
154
+ case "anthropic":
155
+ return "ANTHROPIC_API_KEY";
156
+ case "google":
157
+ return "GOOGLE_GENERATIVE_AI_API_KEY";
158
+ case "asi-one":
159
+ return "ASI_ONE_API_KEY";
160
+ case "asi-cloud":
161
+ case "oss":
162
+ return "ASI_INFERENCE_API_KEY";
163
+ case "huggingface":
164
+ return "HUGGING_FACE_INFERENCE_TOKEN";
165
+ case "openrouter":
166
+ return "OPENROUTER_API_KEY";
167
+ case "aiml":
168
+ return "AIML_API_KEY";
169
+ default:
170
+ return "ASI_INFERENCE_API_KEY";
171
+ }
172
+ }
173
+ ;
174
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/lib/models.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Multimodal Response Handler
3
+ *
4
+ * - Parses responses from Lambda/Manowar into unified format
5
+ * - Uploads base64 media to Pinata → IPFS URLs
6
+ * - Handles binary blobs (audio, video, image)
7
+ */
8
+ import { type MultimodalResult } from "./api";
9
+ type VideoStatusFetch = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
10
+ /**
11
+ * Parse any Lambda/Manowar response into unified MultimodalResult
12
+ * Handles SSE, JSON, and binary responses
13
+ */
14
+ export declare function parseMultimodalResponse(response: Response, options?: {
15
+ onStreamChunk?: (chunk: string) => void;
16
+ uploadToPinata?: boolean;
17
+ conversationId?: string;
18
+ onVideoPolling?: {
19
+ onProgress?: (status: string, progress?: number) => void;
20
+ onComplete: (url: string) => void;
21
+ onError: (error: string) => void;
22
+ };
23
+ videoStatusFetch?: VideoStatusFetch;
24
+ }): Promise<MultimodalResult>;
25
+ /**
26
+ * Upload base64-encoded media to Pinata
27
+ */
28
+ export declare function uploadBase64ToPinata(base64: string, type: "image" | "audio" | "video", conversationId?: string): Promise<string>;
29
+ /**
30
+ * Upload blob to Pinata
31
+ */
32
+ export declare function uploadBlobToPinata(blob: Blob, type: "image" | "audio" | "video", conversationId?: string): Promise<string>;
33
+ /**
34
+ * Revoke object URLs to free memory
35
+ */
36
+ export declare function cleanupObjectUrl(url: string): void;
37
+ export interface VideoPollingCallbacks {
38
+ onProgress?: (status: string, progress?: number) => void;
39
+ onComplete: (url: string) => void;
40
+ onError: (error: string) => void;
41
+ }
42
+ /**
43
+ * Poll for async video generation completion
44
+ * Automatically uploads to Pinata when complete
45
+ */
46
+ export declare function pollVideoJob(jobId: string, callbacks: VideoPollingCallbacks, options?: {
47
+ pollIntervalMs?: number;
48
+ maxAttempts?: number;
49
+ conversationId?: string;
50
+ fetcher?: VideoStatusFetch;
51
+ }): Promise<void>;
52
+ export {};
53
+ //# sourceMappingURL=multimodal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multimodal.d.ts","sourceRoot":"","sources":["../../src/lib/multimodal.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAGH,KAAK,gBAAgB,EAMxB,MAAM,OAAO,CAAC;AAEf,KAAK,gBAAgB,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAM5F;;;GAGG;AACH,wBAAsB,uBAAuB,CACzC,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE;IACN,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,cAAc,CAAC,EAAE;QACb,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;QACzD,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAClC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;KACpC,CAAC;IACF,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACvC,GACF,OAAO,CAAC,gBAAgB,CAAC,CA8E3B;AAgCD;;GAEG;AACH,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,EACjC,cAAc,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,MAAM,CAAC,CA4BjB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACpC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,EACjC,cAAc,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,MAAM,CAAC,CAYjB;AAMD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAIlD;AAMD,MAAM,WAAW,qBAAqB;IAClC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAC9B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,qBAAqB,EAChC,OAAO,CAAC,EAAE;IACN,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC9B,GACF,OAAO,CAAC,IAAI,CAAC,CAoDf"}
@@ -0,0 +1,204 @@
1
+ /**
2
+ * Multimodal Response Handler
3
+ *
4
+ * - Parses responses from Lambda/Manowar into unified format
5
+ * - Uploads base64 media to Pinata → IPFS URLs
6
+ * - Handles binary blobs (audio, video, image)
7
+ */
8
+ import { uploadConversationFile } from "./pinata";
9
+ import { API_BASE_URL, TIMEOUT_CONFIG, parseSSEStream, parseJsonResponse, detectResponseType, } from "./api";
10
+ // =============================================================================
11
+ // Parse Any Response
12
+ // =============================================================================
13
+ /**
14
+ * Parse any Lambda/Manowar response into unified MultimodalResult
15
+ * Handles SSE, JSON, and binary responses
16
+ */
17
+ export async function parseMultimodalResponse(response, options) {
18
+ const contentType = response.headers.get("content-type") || "";
19
+ const responseType = detectResponseType(contentType);
20
+ switch (responseType) {
21
+ case "sse":
22
+ case "text": {
23
+ // Streaming text response
24
+ const reader = response.body?.getReader();
25
+ if (!reader) {
26
+ return { type: "text", success: false, error: "No response body" };
27
+ }
28
+ let fullContent = "";
29
+ for await (const chunk of parseSSEStream(reader)) {
30
+ fullContent += chunk;
31
+ options?.onStreamChunk?.(chunk);
32
+ }
33
+ return { type: "text", success: true, content: fullContent };
34
+ }
35
+ case "json": {
36
+ const data = await response.json();
37
+ const result = parseJsonResponse(data);
38
+ // Handle async video job - trigger polling if callbacks provided
39
+ if (result.polling && result.jobId && options?.onVideoPolling) {
40
+ // Start polling in background, return immediately with polling status
41
+ pollVideoJob(result.jobId, options.onVideoPolling, {
42
+ conversationId: options.conversationId,
43
+ fetcher: options.videoStatusFetch,
44
+ });
45
+ return result;
46
+ }
47
+ // Upload base64 to Pinata if enabled
48
+ if (options?.uploadToPinata && result.base64 && !result.url) {
49
+ try {
50
+ const url = await uploadBase64ToPinata(result.base64, result.type, options.conversationId);
51
+ return { ...result, url, base64: undefined };
52
+ }
53
+ catch (err) {
54
+ console.error("[multimodal] Pinata upload failed:", err);
55
+ // Return with base64 as fallback
56
+ }
57
+ }
58
+ return result;
59
+ }
60
+ case "image": {
61
+ return await handleBinaryResponse(response, "image", options);
62
+ }
63
+ case "audio": {
64
+ return await handleBinaryResponse(response, "audio", options);
65
+ }
66
+ case "video": {
67
+ return await handleBinaryResponse(response, "video", options);
68
+ }
69
+ default: {
70
+ // Binary fallback
71
+ const blob = await response.blob();
72
+ const url = URL.createObjectURL(blob);
73
+ return {
74
+ type: "text",
75
+ success: true,
76
+ url,
77
+ mimeType: contentType,
78
+ };
79
+ }
80
+ }
81
+ }
82
+ // =============================================================================
83
+ // Binary Response Handler
84
+ // =============================================================================
85
+ async function handleBinaryResponse(response, type, options) {
86
+ const contentType = response.headers.get("content-type") || "";
87
+ const blob = await response.blob();
88
+ if (options?.uploadToPinata) {
89
+ try {
90
+ const url = await uploadBlobToPinata(blob, type, options.conversationId);
91
+ return { type, success: true, url, mimeType: contentType };
92
+ }
93
+ catch (err) {
94
+ console.error(`[multimodal] Pinata upload failed for ${type}:`, err);
95
+ }
96
+ }
97
+ // Fallback to object URL
98
+ const url = URL.createObjectURL(blob);
99
+ return { type, success: true, url, mimeType: contentType };
100
+ }
101
+ // =============================================================================
102
+ // Pinata Upload Helpers
103
+ // =============================================================================
104
+ /**
105
+ * Upload base64-encoded media to Pinata
106
+ */
107
+ export async function uploadBase64ToPinata(base64, type, conversationId) {
108
+ const mimeTypes = {
109
+ image: "image/png",
110
+ audio: "audio/wav",
111
+ video: "video/mp4",
112
+ };
113
+ const extensions = {
114
+ image: "png",
115
+ audio: "wav",
116
+ video: "mp4",
117
+ };
118
+ // Convert base64 to blob
119
+ const byteCharacters = atob(base64);
120
+ const byteNumbers = new Array(byteCharacters.length);
121
+ for (let i = 0; i < byteCharacters.length; i++) {
122
+ byteNumbers[i] = byteCharacters.charCodeAt(i);
123
+ }
124
+ const byteArray = new Uint8Array(byteNumbers);
125
+ const blob = new Blob([byteArray], { type: mimeTypes[type] });
126
+ // Create file for upload
127
+ const filename = `${type}-${Date.now()}.${extensions[type]}`;
128
+ const file = new File([blob], filename, { type: mimeTypes[type] });
129
+ // Upload via pinata lib
130
+ const { url } = await uploadConversationFile(file, conversationId || "default");
131
+ return url;
132
+ }
133
+ /**
134
+ * Upload blob to Pinata
135
+ */
136
+ export async function uploadBlobToPinata(blob, type, conversationId) {
137
+ const extensions = {
138
+ image: "png",
139
+ audio: "wav",
140
+ video: "mp4",
141
+ };
142
+ const filename = `${type}-${Date.now()}.${extensions[type]}`;
143
+ const file = new File([blob], filename, { type: blob.type });
144
+ const { url } = await uploadConversationFile(file, conversationId || "default");
145
+ return url;
146
+ }
147
+ // =============================================================================
148
+ // Cleanup
149
+ // =============================================================================
150
+ /**
151
+ * Revoke object URLs to free memory
152
+ */
153
+ export function cleanupObjectUrl(url) {
154
+ if (url.startsWith("blob:")) {
155
+ URL.revokeObjectURL(url);
156
+ }
157
+ }
158
+ /**
159
+ * Poll for async video generation completion
160
+ * Automatically uploads to Pinata when complete
161
+ */
162
+ export async function pollVideoJob(jobId, callbacks, options) {
163
+ const API_BASE = API_BASE_URL;
164
+ const pollInterval = options?.pollIntervalMs ?? TIMEOUT_CONFIG.VIDEO_POLL.INTERVAL_MS;
165
+ const maxAttempts = options?.maxAttempts ?? TIMEOUT_CONFIG.VIDEO_POLL.MAX_ATTEMPTS;
166
+ const statusFetch = options?.fetcher ?? fetch;
167
+ let attempts = 0;
168
+ const poll = async () => {
169
+ attempts++;
170
+ try {
171
+ const response = await statusFetch(`${API_BASE}/v1/videos/${encodeURIComponent(jobId)}`, {
172
+ method: "GET",
173
+ headers: { "Content-Type": "application/json" },
174
+ });
175
+ if (!response.ok) {
176
+ throw new Error(`Status check failed: ${response.status}`);
177
+ }
178
+ const data = await response.json();
179
+ if (data.status === "completed" && data.url) {
180
+ // Backend already uploaded to Pinata, just use the URL directly
181
+ callbacks.onComplete(data.url);
182
+ return;
183
+ }
184
+ if (data.status === "failed") {
185
+ callbacks.onError(data.error || "Video generation failed");
186
+ return;
187
+ }
188
+ // Still processing
189
+ callbacks.onProgress?.(data.status, data.progress);
190
+ if (attempts >= maxAttempts) {
191
+ callbacks.onError("Video generation timed out");
192
+ return;
193
+ }
194
+ // Schedule next poll
195
+ setTimeout(poll, pollInterval);
196
+ }
197
+ catch (error) {
198
+ callbacks.onError(error instanceof Error ? error.message : "Unknown error");
199
+ }
200
+ };
201
+ // Start polling
202
+ poll();
203
+ }
204
+ //# sourceMappingURL=multimodal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multimodal.js","sourceRoot":"","sources":["../../src/lib/multimodal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * x402 Payment Utilities
3
+ *
4
+ * Chain-aware payment routing for multichain x402 support:
5
+ * - Use ThirdWeb x402 V2 via wrapFetchWithPayment
6
+ * - Cronos chains (338, 25) use Cronos x402 V1 via wrapFetchWithCronosPayment
7
+ * This module is fully chain-agnostic - all chain configuration comes from @/lib/chains
8
+ *
9
+ * @module lib/payment
10
+ */
11
+ import type { Account } from "thirdweb/wallets";
12
+ import type { Wallet } from "thirdweb/wallets";
13
+ export declare const SESSION_BUDGET_EVENT = "compose:session-budget";
14
+ export declare const SESSION_INVALID_EVENT = "compose:session-invalid";
15
+ /**
16
+ * Creates a fetch wrapper that can optionally normalize payment signature headers.
17
+ * Used with ThirdWeb x402 for chains that need signature normalization.
18
+ *
19
+ * @param chainId - Chain ID for EIP-155 v-value calculation (defaults to Cronos Testnet)
20
+ * @returns A fetch-compatible function
21
+ */
22
+ export declare function createNormalizedFetch(chainId?: number): typeof fetch;
23
+ export interface PaymentFetchParams {
24
+ /** Chain ID for payment routing (determines Cronos vs ThirdWeb flow) */
25
+ chainId: number;
26
+ /** ThirdWeb account for signing (used for Cronos EIP-712 signatures) */
27
+ account: Account;
28
+ /** ThirdWeb wallet (used for ThirdWeb x402 payments) */
29
+ wallet: Wallet;
30
+ /** Maximum payment amount in USDC wei (6 decimals) */
31
+ maxValue: bigint;
32
+ /** Session bypass: compose key token for Authorization header */
33
+ sessionToken?: string;
34
+ }
35
+ /**
36
+ * Chain-aware payment fetch wrapper factory
37
+ *
38
+ * Automatically routes payment handling based on chain:
39
+ * - Cronos chains (338, 25): Uses Cronos x402 V1 with EIP-712 via @crypto.com/facilitator-client
40
+ * - Other EVM chains: Uses ThirdWeb x402 V2
41
+ *
42
+ * SESSION BYPASS: When sessionToken is provided, skips x402 payment flow entirely
43
+ * and uses Compose Key bearer auth for <100ms latency.
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * // Standard x402 flow
48
+ * const paymentFetch = createPaymentFetch({
49
+ * chainId: 338, // Cronos Testnet
50
+ * account,
51
+ * wallet,
52
+ * maxValue: BigInt(5000), // $0.005 USDC
53
+ * });
54
+ *
55
+ * // Session bypass flow (instant)
56
+ * const sessionFetch = createPaymentFetch({
57
+ * chainId: 43114,
58
+ * account,
59
+ * wallet,
60
+ * maxValue: BigInt(5000),
61
+ * sessionToken: 'compose-abc123...',
62
+ * });
63
+ * ```
64
+ */
65
+ export declare function createPaymentFetch(params: PaymentFetchParams): (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
66
+ export { isCronosChain, CHAIN_IDS } from "./chains";
67
+ //# sourceMappingURL=payment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../src/lib/payment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAe/C,eAAO,MAAM,oBAAoB,2BAA2B,CAAC;AAC7D,eAAO,MAAM,qBAAqB,4BAA4B,CAAC;AA4C/D;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,MAAgC,GAAG,OAAO,KAAK,CAyC7F;AAMD,MAAM,WAAW,kBAAkB;IACjC,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,OAAO,EAAE,OAAO,CAAC;IACjB,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAsHlI;AAMD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC"}