@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,236 @@
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 { wrapFetchWithPayment } from "thirdweb/x402";
12
+ import { isCronosChain, CHAIN_IDS, thirdwebClient, CHAIN_CONFIG } from "./chains";
13
+ import { wrapFetchWithCronosPayment } from "./cronos/facilitator";
14
+ // =============================================================================
15
+ // Configuration
16
+ // =============================================================================
17
+ /**
18
+ * Set to true to enable ECDSA signature v-value normalization.
19
+ * This is typically only needed for older ThirdWeb SDK versions.
20
+ * Currently disabled as modern SDK handles signatures correctly.
21
+ */
22
+ const ENABLE_SIGNATURE_NORMALIZATION = false;
23
+ export const SESSION_BUDGET_EVENT = "compose:session-budget";
24
+ export const SESSION_INVALID_EVENT = "compose:session-invalid";
25
+ // =============================================================================
26
+ // Signature Normalization (For ThirdWeb x402)
27
+ // =============================================================================
28
+ /**
29
+ * Normalizes ECDSA signature v value to legacy format (27/28)
30
+ * Some chains/wallets produce EIP-155 v values that need normalization.
31
+ *
32
+ * @param signature - The hex signature string
33
+ * @param chainId - The chain ID (used for EIP-155 recovery)
34
+ */
35
+ function normalizeSignatureV(signature, chainId) {
36
+ const cleanSig = signature.startsWith('0x') ? signature.slice(2) : signature;
37
+ if (cleanSig.length !== 130) {
38
+ return signature;
39
+ }
40
+ const vHex = cleanSig.slice(128);
41
+ const vValue = parseInt(vHex, 16);
42
+ let normalizedV;
43
+ if (vValue === 0 || vValue === 1) {
44
+ normalizedV = vValue + 27;
45
+ }
46
+ else if (vValue === 27 || vValue === 28) {
47
+ normalizedV = vValue;
48
+ }
49
+ else if (vValue >= 35) {
50
+ const yParity = (vValue - 35 - chainId * 2) % 2;
51
+ normalizedV = yParity + 27;
52
+ }
53
+ else {
54
+ normalizedV = vValue;
55
+ }
56
+ const prefix = signature.startsWith('0x') ? '0x' : '';
57
+ return prefix + cleanSig.slice(0, 128) + normalizedV.toString(16).padStart(2, '0');
58
+ }
59
+ // =============================================================================
60
+ // Normalized Fetch (For ThirdWeb x402)
61
+ // =============================================================================
62
+ /**
63
+ * Creates a fetch wrapper that can optionally normalize payment signature headers.
64
+ * Used with ThirdWeb x402 for chains that need signature normalization.
65
+ *
66
+ * @param chainId - Chain ID for EIP-155 v-value calculation (defaults to Cronos Testnet)
67
+ * @returns A fetch-compatible function
68
+ */
69
+ export function createNormalizedFetch(chainId = CHAIN_IDS.cronosTestnet) {
70
+ const normalizedFetch = async (input, init) => {
71
+ if (ENABLE_SIGNATURE_NORMALIZATION) {
72
+ let paymentHeader = null;
73
+ if (init?.headers instanceof Headers) {
74
+ paymentHeader = init.headers.get('payment-signature') || init.headers.get('PAYMENT-SIGNATURE');
75
+ }
76
+ else if (typeof init?.headers === 'object' && init.headers !== null) {
77
+ const headers = init.headers;
78
+ paymentHeader = headers['payment-signature'] || headers['PAYMENT-SIGNATURE'];
79
+ }
80
+ if (paymentHeader) {
81
+ try {
82
+ const decoded = JSON.parse(atob(paymentHeader));
83
+ if (decoded.payload?.signature) {
84
+ const normalizedSig = normalizeSignatureV(decoded.payload.signature, chainId);
85
+ decoded.payload.signature = normalizedSig;
86
+ const normalizedPaymentHeader = btoa(JSON.stringify(decoded));
87
+ if (init?.headers instanceof Headers) {
88
+ init.headers.set('PAYMENT-SIGNATURE', normalizedPaymentHeader);
89
+ }
90
+ else if (typeof init?.headers === 'object' && init.headers !== null) {
91
+ const headers = init.headers;
92
+ delete headers['payment-signature'];
93
+ delete headers['PAYMENT-SIGNATURE'];
94
+ headers['PAYMENT-SIGNATURE'] = normalizedPaymentHeader;
95
+ }
96
+ }
97
+ }
98
+ catch {
99
+ // Ignore normalization errors - proceed with original header
100
+ }
101
+ }
102
+ }
103
+ return fetch(input, init);
104
+ };
105
+ // Cast to fetch type for compatibility with wrapFetchWithPayment
106
+ return normalizedFetch;
107
+ }
108
+ /**
109
+ * Chain-aware payment fetch wrapper factory
110
+ *
111
+ * Automatically routes payment handling based on chain:
112
+ * - Cronos chains (338, 25): Uses Cronos x402 V1 with EIP-712 via @crypto.com/facilitator-client
113
+ * - Other EVM chains: Uses ThirdWeb x402 V2
114
+ *
115
+ * SESSION BYPASS: When sessionToken is provided, skips x402 payment flow entirely
116
+ * and uses Compose Key bearer auth for <100ms latency.
117
+ *
118
+ * @example
119
+ * ```ts
120
+ * // Standard x402 flow
121
+ * const paymentFetch = createPaymentFetch({
122
+ * chainId: 338, // Cronos Testnet
123
+ * account,
124
+ * wallet,
125
+ * maxValue: BigInt(5000), // $0.005 USDC
126
+ * });
127
+ *
128
+ * // Session bypass flow (instant)
129
+ * const sessionFetch = createPaymentFetch({
130
+ * chainId: 43114,
131
+ * account,
132
+ * wallet,
133
+ * maxValue: BigInt(5000),
134
+ * sessionToken: 'compose-abc123...',
135
+ * });
136
+ * ```
137
+ */
138
+ export function createPaymentFetch(params) {
139
+ const { chainId, account, wallet, maxValue, sessionToken } = params;
140
+ const chainName = CHAIN_CONFIG[chainId]?.name || `Chain ${chainId}`;
141
+ const isCronos = isCronosChain(chainId);
142
+ /**
143
+ * Helper to inject X-CHAIN-ID header into all requests.
144
+ * This tells the backend which chain the client is using,
145
+ * so it returns the correct 402 format (Cronos V1 vs ThirdWeb V2).
146
+ */
147
+ function injectChainHeader(init) {
148
+ const headers = new Headers(init?.headers);
149
+ headers.set('X-CHAIN-ID', chainId.toString());
150
+ return { ...init, headers };
151
+ }
152
+ // SESSION BYPASS: Skip x402 entirely when we have a valid session token
153
+ // This provides <100ms latency instead of ~2-3s for payment flow
154
+ if (sessionToken) {
155
+ console.log(`[payment] Using session bypass for chain ${chainId}`);
156
+ return async (input, init) => {
157
+ const headers = new Headers(init?.headers);
158
+ headers.set('X-CHAIN-ID', chainId.toString());
159
+ headers.set('Authorization', `Bearer ${sessionToken}`);
160
+ headers.set('x-idempotency-key', crypto.randomUUID());
161
+ const response = await fetch(input, { ...init, headers });
162
+ // Emit authoritative session budget state from backend response headers.
163
+ // Header priority: payment session headers -> compose key budget headers -> fallback
164
+ if (typeof window !== "undefined") {
165
+ const budgetRemainingHeader = response.headers.get("x-budget-remaining") ??
166
+ response.headers.get("x-compose-key-budget-remaining");
167
+ const budgetUsedHeader = response.headers.get("x-compose-key-budget-used");
168
+ const budgetLimitHeader = response.headers.get("x-compose-key-budget-limit");
169
+ const budgetRemaining = budgetRemainingHeader ? Number.parseInt(budgetRemainingHeader, 10) : NaN;
170
+ const budgetUsed = budgetUsedHeader ? Number.parseInt(budgetUsedHeader, 10) : NaN;
171
+ const budgetLimit = budgetLimitHeader ? Number.parseInt(budgetLimitHeader, 10) : NaN;
172
+ if (Number.isFinite(budgetRemaining) && budgetRemaining >= 0) {
173
+ console.log(`[payment] Budget sync from headers: remaining=${budgetRemaining}, used=${budgetUsed}, limit=${budgetLimit}`);
174
+ window.dispatchEvent(new CustomEvent(SESSION_BUDGET_EVENT, {
175
+ detail: {
176
+ budgetRemaining,
177
+ budgetUsed: Number.isFinite(budgetUsed) && budgetUsed >= 0 ? budgetUsed : undefined,
178
+ budgetLimit: Number.isFinite(budgetLimit) && budgetLimit >= 0 ? budgetLimit : undefined,
179
+ },
180
+ }));
181
+ }
182
+ else {
183
+ console.warn(`[payment] No valid budget headers in response; headers:`, {
184
+ "x-budget-remaining": response.headers.get("x-budget-remaining"),
185
+ "x-compose-key-budget-remaining": response.headers.get("x-compose-key-budget-remaining"),
186
+ });
187
+ }
188
+ if (response.status === 401 || response.status === 402 || response.status === 403) {
189
+ window.dispatchEvent(new CustomEvent(SESSION_INVALID_EVENT, {
190
+ detail: { status: response.status },
191
+ }));
192
+ }
193
+ }
194
+ return response;
195
+ };
196
+ }
197
+ if (isCronos) {
198
+ // Route: Cronos x402 V1 payment flow
199
+ return async (input, init) => {
200
+ const url = typeof input === 'string'
201
+ ? input
202
+ : input instanceof URL
203
+ ? input.toString()
204
+ : input.url;
205
+ return wrapFetchWithCronosPayment(url, {
206
+ ...injectChainHeader(init),
207
+ account,
208
+ chainId,
209
+ });
210
+ };
211
+ }
212
+ else {
213
+ // Route: ThirdWeb x402 V2 payment flow
214
+ // Create fetch wrapper that injects X-CHAIN-ID header
215
+ const chainAwareFetch = async (input, init) => {
216
+ return fetch(input, injectChainHeader(init));
217
+ };
218
+ const normalizedFetch = createNormalizedFetch(chainId);
219
+ // Compose: chain header → normalize → ThirdWeb payment
220
+ const composedFetch = async (input, init) => {
221
+ const initWithChain = injectChainHeader(init);
222
+ return normalizedFetch(input, initWithChain);
223
+ };
224
+ const thirdwebFetch = wrapFetchWithPayment(composedFetch, thirdwebClient, wallet, { maxValue });
225
+ // Wrap to match our expected signature
226
+ return async (input, init) => {
227
+ const normalizedInput = input instanceof URL ? input.toString() : input;
228
+ return thirdwebFetch(normalizedInput, init);
229
+ };
230
+ }
231
+ }
232
+ // =============================================================================
233
+ // Re-exports for convenience
234
+ // =============================================================================
235
+ export { isCronosChain, CHAIN_IDS } from "./chains";
236
+ //# sourceMappingURL=payment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment.js","sourceRoot":"","sources":["../../src/lib/payment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAClF,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElE,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,8BAA8B,GAAG,KAAK,CAAC;AAC7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AAC7D,MAAM,CAAC,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;AAE/D,gFAAgF;AAChF,8CAA8C;AAC9C,gFAAgF;AAEhF;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,SAAiB,EAAE,OAAe;IAC7D,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7E,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAElC,IAAI,WAAmB,CAAC;IAExB,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,WAAW,GAAG,MAAM,GAAG,EAAE,CAAC;IAC5B,CAAC;SAAM,IAAI,MAAM,KAAK,EAAE,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAC1C,WAAW,GAAG,MAAM,CAAC;IACvB,CAAC;SAAM,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAChD,WAAW,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,OAAO,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACrF,CAAC;AAED,gFAAgF;AAChF,uCAAuC;AACvC,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAkB,SAAS,CAAC,aAAa;IAC7E,MAAM,eAAe,GAAG,KAAK,EAAE,KAAwB,EAAE,IAAkB,EAAqB,EAAE;QAChG,IAAI,8BAA8B,EAAE,CAAC;YACnC,IAAI,aAAa,GAAkB,IAAI,CAAC;YAExC,IAAI,IAAI,EAAE,OAAO,YAAY,OAAO,EAAE,CAAC;gBACrC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACjG,CAAC;iBAAM,IAAI,OAAO,IAAI,EAAE,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBACtE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAiC,CAAC;gBACvD,aAAa,GAAG,OAAO,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAC/E,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;oBAEhD,IAAI,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;wBAC/B,MAAM,aAAa,GAAG,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;wBAC9E,OAAO,CAAC,OAAO,CAAC,SAAS,GAAG,aAAa,CAAC;wBAC1C,MAAM,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;wBAE9D,IAAI,IAAI,EAAE,OAAO,YAAY,OAAO,EAAE,CAAC;4BACrC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,uBAAuB,CAAC,CAAC;wBACjE,CAAC;6BAAM,IAAI,OAAO,IAAI,EAAE,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;4BACtE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAiC,CAAC;4BACvD,OAAO,OAAO,CAAC,mBAAmB,CAAC,CAAC;4BACpC,OAAO,OAAO,CAAC,mBAAmB,CAAC,CAAC;4BACpC,OAAO,CAAC,mBAAmB,CAAC,GAAG,uBAAuB,CAAC;wBACzD,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,6DAA6D;gBAC/D,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,iEAAiE;IACjE,OAAO,eAA+B,CAAC;AACzC,CAAC;AAmBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC3D,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IAEpE,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,SAAS,OAAO,EAAE,CAAC;IACpE,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAExC;;;;OAIG;IACH,SAAS,iBAAiB,CAAC,IAAkB;QAC3C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9C,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED,wEAAwE;IACxE,iEAAiE;IACjE,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,4CAA4C,OAAO,EAAE,CAAC,CAAC;QACnE,OAAO,KAAK,EAAE,KAAwB,EAAE,IAAkB,EAAqB,EAAE;YAC/E,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,YAAY,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAEtD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAE1D,yEAAyE;YACzE,qFAAqF;YACrF,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,MAAM,qBAAqB,GACzB,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAC1C,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;gBACzD,MAAM,gBAAgB,GACpB,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBACpD,MAAM,iBAAiB,GACrB,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;gBAErD,MAAM,eAAe,GAAG,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBACjG,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAClF,MAAM,WAAW,GAAG,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAErF,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC;oBAC7D,OAAO,CAAC,GAAG,CAAC,iDAAiD,eAAe,UAAU,UAAU,WAAW,WAAW,EAAE,CAAC,CAAC;oBAC1H,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,oBAAoB,EAAE;wBACpC,MAAM,EAAE;4BACN,eAAe;4BACf,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;4BACnF,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;yBACxF;qBACF,CAAC,CACH,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,yDAAyD,EAAE;wBACtE,oBAAoB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;wBAChE,gCAAgC,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;qBACzF,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAClF,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,qBAAqB,EAAE;wBACrC,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE;qBACpC,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,qCAAqC;QACrC,OAAO,KAAK,EAAE,KAAwB,EAAE,IAAkB,EAAqB,EAAE;YAC/E,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ;gBACnC,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,KAAK,YAAY,GAAG;oBACpB,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;oBAClB,CAAC,CAAE,KAAiB,CAAC,GAAG,CAAC;YAE7B,OAAO,0BAA0B,CAAC,GAAG,EAAE;gBACrC,GAAG,iBAAiB,CAAC,IAAI,CAAC;gBAC1B,OAAO;gBACP,OAAO;aACR,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,uCAAuC;QACvC,sDAAsD;QACtD,MAAM,eAAe,GAAG,KAAK,EAAE,KAAwB,EAAE,IAAkB,EAAqB,EAAE;YAChG,OAAO,KAAK,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEvD,uDAAuD;QACvD,MAAM,aAAa,GAAG,KAAK,EAAE,KAAwB,EAAE,IAAkB,EAAqB,EAAE;YAC9F,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC9C,OAAO,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAC/C,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,oBAAoB,CACxC,aAA6B,EAC7B,cAAc,EACd,MAAM,EACN,EAAE,QAAQ,EAAE,CACb,CAAC;QAEF,uCAAuC;QACvC,OAAO,KAAK,EAAE,KAAwB,EAAE,IAAkB,EAAqB,EAAE;YAC/E,MAAM,eAAe,GAAG,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACxE,OAAO,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC,CAAC;IACJ,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,6BAA6B;AAC7B,gFAAgF;AAEhF,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * Pinata IPFS Storage Utility
3
+ * Used for storing agent avatars, agent cards, and Manowar metadata
4
+ */
5
+ interface PinataMetadata {
6
+ name?: string;
7
+ keyvalues?: Record<string, string>;
8
+ }
9
+ /**
10
+ * Upload a file to Pinata IPFS
11
+ */
12
+ export declare function uploadFile(file: File, metadata?: PinataMetadata): Promise<string>;
13
+ /**
14
+ * Upload JSON data to Pinata IPFS
15
+ */
16
+ export declare function uploadJSON<T extends object>(data: T, metadata?: PinataMetadata): Promise<string>;
17
+ /**
18
+ * Get IPFS URL for a CID
19
+ */
20
+ export declare function getIpfsUrl(cid: string): string;
21
+ /**
22
+ * Get IPFS URI (protocol format)
23
+ */
24
+ export declare function getIpfsUri(cid: string): string;
25
+ /**
26
+ * Fetch JSON from IPFS
27
+ */
28
+ export declare function fetchFromIpfs<T = unknown>(cid: string): Promise<T>;
29
+ /**
30
+ * Delete/unpin a file from Pinata by CID
31
+ * Used for cleaning up temporary uploads (e.g., conversation attachments)
32
+ */
33
+ export declare function unpinFile(cid: string): Promise<boolean>;
34
+ /**
35
+ * Upload a temporary file for conversation (will be cleaned up later)
36
+ * Returns both the CID and the gateway URL
37
+ */
38
+ export declare function uploadConversationFile(file: File, conversationId: string): Promise<{
39
+ cid: string;
40
+ url: string;
41
+ }>;
42
+ /**
43
+ * Clean up all files for a conversation
44
+ */
45
+ export declare function cleanupConversationFiles(cids: string[]): Promise<void>;
46
+ export interface AgentCard {
47
+ schemaVersion: string;
48
+ name: string;
49
+ description: string;
50
+ skills: string[];
51
+ image?: string;
52
+ avatar?: string;
53
+ dnaHash: string;
54
+ walletAddress: string;
55
+ walletTimestamp?: number;
56
+ chain: number;
57
+ model: string;
58
+ framework?: "eliza" | "langchain" | "openclaw";
59
+ licensePrice: string;
60
+ licenses: number;
61
+ cloneable: boolean;
62
+ endpoint?: string;
63
+ protocols: Array<{
64
+ name: string;
65
+ version: string;
66
+ }>;
67
+ plugins?: Array<{
68
+ registryId: string;
69
+ name: string;
70
+ origin: string;
71
+ }>;
72
+ createdAt: string;
73
+ creator?: string;
74
+ }
75
+ /**
76
+ * Upload an agent avatar and return the IPFS CID
77
+ */
78
+ export declare function uploadAgentAvatar(file: File, agentName: string): Promise<string>;
79
+ /**
80
+ * Upload an agent card to IPFS and return the CID
81
+ */
82
+ export declare function uploadAgentCard(card: AgentCard): Promise<string>;
83
+ export interface ManowarMetadata {
84
+ schemaVersion: string;
85
+ title: string;
86
+ description: string;
87
+ image?: string;
88
+ dnaHash: string;
89
+ walletAddress: string;
90
+ walletTimestamp: number;
91
+ agents: AgentCard[];
92
+ edges?: Array<{
93
+ source: number;
94
+ target: number;
95
+ label?: string;
96
+ }>;
97
+ coordinator?: {
98
+ hasCoordinator: boolean;
99
+ model: string;
100
+ };
101
+ pricing: {
102
+ totalAgentPrice: string;
103
+ };
104
+ lease?: {
105
+ enabled: boolean;
106
+ durationDays: number;
107
+ creatorPercent: number;
108
+ };
109
+ rfa?: {
110
+ title: string;
111
+ description: string;
112
+ skills: string[];
113
+ offerAmount: string;
114
+ };
115
+ creator: string;
116
+ createdAt: string;
117
+ }
118
+ /**
119
+ * Upload a Manowar banner and return the IPFS CID
120
+ */
121
+ export declare function uploadManowarBanner(file: File, title: string): Promise<string>;
122
+ /**
123
+ * Upload Manowar metadata to IPFS and return the CID
124
+ */
125
+ export declare function uploadManowarMetadata(metadata: ManowarMetadata): Promise<string>;
126
+ /**
127
+ * Generate DNA hash from agent parameters
128
+ * Matches contract: keccak256(abi.encodePacked(skills, chain, model))
129
+ */
130
+ export declare function generateDnaHash(skills: string[], chain: number, model: string): string;
131
+ /**
132
+ * Check if Pinata is configured
133
+ */
134
+ export declare function isPinataConfigured(): boolean;
135
+ /**
136
+ * Convert file to base64 data URL for preview
137
+ */
138
+ export declare function fileToDataUrl(file: File): Promise<string>;
139
+ export {};
140
+ //# sourceMappingURL=pinata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pinata.d.ts","sourceRoot":"","sources":["../../src/lib/pinata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,209 @@
1
+ /**
2
+ * Pinata IPFS Storage Utility
3
+ * Used for storing agent avatars, agent cards, and Manowar metadata
4
+ */
5
+ const PINATA_JWT = import.meta.env.VITE_PINATA_JWT || "";
6
+ const PINATA_GATEWAY = import.meta.env.VITE_PINATA_GATEWAY || "compose.mypinata.cloud";
7
+ const PINATA_API_URL = "https://api.pinata.cloud";
8
+ /**
9
+ * Upload a file to Pinata IPFS
10
+ */
11
+ export async function uploadFile(file, metadata) {
12
+ const formData = new FormData();
13
+ formData.append("file", file);
14
+ if (metadata) {
15
+ formData.append("pinataMetadata", JSON.stringify(metadata));
16
+ }
17
+ formData.append("pinataOptions", JSON.stringify({ cidVersion: 1 }));
18
+ const response = await fetch(`${PINATA_API_URL}/pinning/pinFileToIPFS`, {
19
+ method: "POST",
20
+ headers: {
21
+ Authorization: `Bearer ${PINATA_JWT}`,
22
+ },
23
+ body: formData,
24
+ });
25
+ if (!response.ok) {
26
+ const error = await response.text();
27
+ throw new Error(`Pinata upload failed: ${error}`);
28
+ }
29
+ const result = await response.json();
30
+ return result.IpfsHash;
31
+ }
32
+ /**
33
+ * Upload JSON data to Pinata IPFS
34
+ */
35
+ export async function uploadJSON(data, metadata) {
36
+ const response = await fetch(`${PINATA_API_URL}/pinning/pinJSONToIPFS`, {
37
+ method: "POST",
38
+ headers: {
39
+ Authorization: `Bearer ${PINATA_JWT}`,
40
+ "Content-Type": "application/json",
41
+ },
42
+ body: JSON.stringify({
43
+ pinataContent: data,
44
+ pinataMetadata: metadata,
45
+ pinataOptions: { cidVersion: 1 },
46
+ }),
47
+ });
48
+ if (!response.ok) {
49
+ const error = await response.text();
50
+ throw new Error(`Pinata JSON upload failed: ${error}`);
51
+ }
52
+ const result = await response.json();
53
+ return result.IpfsHash;
54
+ }
55
+ /**
56
+ * Get IPFS URL for a CID
57
+ */
58
+ export function getIpfsUrl(cid) {
59
+ return `https://${PINATA_GATEWAY}/ipfs/${cid}`;
60
+ }
61
+ /**
62
+ * Get IPFS URI (protocol format)
63
+ */
64
+ export function getIpfsUri(cid) {
65
+ return `ipfs://${cid}`;
66
+ }
67
+ /**
68
+ * Fetch JSON from IPFS
69
+ */
70
+ export async function fetchFromIpfs(cid) {
71
+ const response = await fetch(getIpfsUrl(cid));
72
+ if (!response.ok) {
73
+ throw new Error(`Failed to fetch from IPFS: ${response.statusText}`);
74
+ }
75
+ return response.json();
76
+ }
77
+ /**
78
+ * Delete/unpin a file from Pinata by CID
79
+ * Used for cleaning up temporary uploads (e.g., conversation attachments)
80
+ */
81
+ export async function unpinFile(cid) {
82
+ if (!PINATA_JWT) {
83
+ console.warn("[pinata] No JWT configured, cannot unpin");
84
+ return false;
85
+ }
86
+ try {
87
+ const response = await fetch(`${PINATA_API_URL}/pinning/unpin/${cid}`, {
88
+ method: "DELETE",
89
+ headers: {
90
+ Authorization: `Bearer ${PINATA_JWT}`,
91
+ },
92
+ });
93
+ if (!response.ok) {
94
+ const error = await response.text();
95
+ console.error(`[pinata] Failed to unpin ${cid}: ${error}`);
96
+ return false;
97
+ }
98
+ console.log(`[pinata] Successfully unpinned ${cid}`);
99
+ return true;
100
+ }
101
+ catch (error) {
102
+ console.error(`[pinata] Error unpinning ${cid}:`, error);
103
+ return false;
104
+ }
105
+ }
106
+ /**
107
+ * Upload a temporary file for conversation (will be cleaned up later)
108
+ * Returns both the CID and the gateway URL
109
+ */
110
+ export async function uploadConversationFile(file, conversationId) {
111
+ const cid = await uploadFile(file, {
112
+ name: `conversation-${conversationId}-${file.name}`,
113
+ keyvalues: {
114
+ type: "conversation-attachment",
115
+ conversationId,
116
+ originalName: file.name,
117
+ mimeType: file.type,
118
+ uploadedAt: new Date().toISOString(),
119
+ },
120
+ });
121
+ return { cid, url: getIpfsUrl(cid) };
122
+ }
123
+ /**
124
+ * Clean up all files for a conversation
125
+ */
126
+ export async function cleanupConversationFiles(cids) {
127
+ console.log(`[pinata] Cleaning up ${cids.length} conversation files...`);
128
+ await Promise.all(cids.map(cid => unpinFile(cid)));
129
+ }
130
+ /**
131
+ * Upload an agent avatar and return the IPFS CID
132
+ */
133
+ export async function uploadAgentAvatar(file, agentName) {
134
+ return uploadFile(file, {
135
+ name: `${agentName}-avatar`,
136
+ keyvalues: {
137
+ type: "agent-avatar",
138
+ agent: agentName,
139
+ },
140
+ });
141
+ }
142
+ /**
143
+ * Upload an agent card to IPFS and return the CID
144
+ */
145
+ export async function uploadAgentCard(card) {
146
+ return uploadJSON(card, {
147
+ name: `${card.name}-agent-card`,
148
+ keyvalues: {
149
+ type: "agent-card",
150
+ agent: card.name,
151
+ chain: card.chain.toString(),
152
+ },
153
+ });
154
+ }
155
+ /**
156
+ * Upload a Manowar banner and return the IPFS CID
157
+ */
158
+ export async function uploadManowarBanner(file, title) {
159
+ return uploadFile(file, {
160
+ name: `${title}-banner`,
161
+ keyvalues: {
162
+ type: "manowar-banner",
163
+ manowar: title,
164
+ },
165
+ });
166
+ }
167
+ /**
168
+ * Upload Manowar metadata to IPFS and return the CID
169
+ */
170
+ export async function uploadManowarMetadata(metadata) {
171
+ return uploadJSON(metadata, {
172
+ name: `${metadata.title}-metadata`,
173
+ keyvalues: {
174
+ type: "manowar-metadata",
175
+ manowar: metadata.title,
176
+ },
177
+ });
178
+ }
179
+ // =============================================================================
180
+ // Utility Functions
181
+ // =============================================================================
182
+ /**
183
+ * Generate DNA hash from agent parameters
184
+ * Matches contract: keccak256(abi.encodePacked(skills, chain, model))
185
+ */
186
+ export function generateDnaHash(skills, chain, model) {
187
+ // Use Web Crypto API for keccak256-like hash
188
+ // Note: In production, use a proper keccak256 implementation (e.g., from viem)
189
+ const data = `${skills.sort().join(",")}:${chain}:${model}`;
190
+ return data; // This will be hashed on-chain; frontend stores the source data
191
+ }
192
+ /**
193
+ * Check if Pinata is configured
194
+ */
195
+ export function isPinataConfigured() {
196
+ return Boolean(PINATA_JWT);
197
+ }
198
+ /**
199
+ * Convert file to base64 data URL for preview
200
+ */
201
+ export function fileToDataUrl(file) {
202
+ return new Promise((resolve, reject) => {
203
+ const reader = new FileReader();
204
+ reader.onload = () => resolve(reader.result);
205
+ reader.onerror = reject;
206
+ reader.readAsDataURL(file);
207
+ });
208
+ }
209
+ //# sourceMappingURL=pinata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pinata.js","sourceRoot":"","sources":["../../src/lib/pinata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { QueryFunction } from "@tanstack/react-query";
2
+ export declare function apiRequest(method: string, url: string, data?: unknown | undefined): Promise<Response>;
3
+ type UnauthorizedBehavior = "returnNull" | "throw";
4
+ export declare const getQueryFn: <T>(options: {
5
+ on401: UnauthorizedBehavior;
6
+ }) => QueryFunction<T>;
7
+ export declare const queryClient: any;
8
+ export {};
9
+ //# sourceMappingURL=queryClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryClient.d.ts","sourceRoot":"","sources":["../../src/lib/queryClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,aAAa,EAAE,MAAM,uBAAuB,CAAC;AASnE,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GACzB,OAAO,CAAC,QAAQ,CAAC,CAUnB;AAED,KAAK,oBAAoB,GAAG,YAAY,GAAG,OAAO,CAAC;AACnD,eAAO,MAAM,UAAU,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE;IACpC,KAAK,EAAE,oBAAoB,CAAC;CAC7B,KAAK,aAAa,CAAC,CAAC,CAalB,CAAC;AAEJ,eAAO,MAAM,WAAW,KAatB,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { QueryClient } from "@tanstack/react-query";
2
+ async function throwIfResNotOk(res) {
3
+ if (!res.ok) {
4
+ const text = (await res.text()) || res.statusText;
5
+ throw new Error(`${res.status}: ${text}`);
6
+ }
7
+ }
8
+ export async function apiRequest(method, url, data) {
9
+ const res = await fetch(url, {
10
+ method,
11
+ headers: data ? { "Content-Type": "application/json" } : {},
12
+ body: data ? JSON.stringify(data) : undefined,
13
+ credentials: "include",
14
+ });
15
+ await throwIfResNotOk(res);
16
+ return res;
17
+ }
18
+ export const getQueryFn = ({ on401: unauthorizedBehavior }) => async ({ queryKey }) => {
19
+ const res = await fetch(queryKey.join("/"), {
20
+ credentials: "include",
21
+ });
22
+ if (unauthorizedBehavior === "returnNull" && res.status === 401) {
23
+ return null;
24
+ }
25
+ await throwIfResNotOk(res);
26
+ return await res.json();
27
+ };
28
+ export const queryClient = new QueryClient({
29
+ defaultOptions: {
30
+ queries: {
31
+ queryFn: getQueryFn({ on401: "throw" }),
32
+ refetchInterval: false,
33
+ refetchOnWindowFocus: false,
34
+ staleTime: Infinity,
35
+ retry: false,
36
+ },
37
+ mutations: {
38
+ retry: false,
39
+ },
40
+ },
41
+ });
42
+ //# sourceMappingURL=queryClient.js.map