@acedatacloud/nexior 3.92.0 → 3.93.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/dist/assets/{Auth-Ca1zlpxV.js → Auth-DIPkFNNF.js} +1 -1
  2. package/dist/assets/{BotPlaceholder-CnYzSwa6.js → BotPlaceholder-DeiY4SpV.js} +1 -1
  3. package/dist/assets/{Callback-DAzsXClB.js → Callback-WwBCQdK2.js} +1 -1
  4. package/dist/assets/{Console-BGwSeITk.js → Console-QwCsZsRp.js} +1 -1
  5. package/dist/assets/{Consumption-C-RXHwF8.js → Consumption-DaHsAueY.js} +1 -1
  6. package/dist/assets/{Conversation-BvkyoHjc.js → Conversation-ecP5iLo-.js} +1 -1
  7. package/dist/assets/{CopyToClipboard-j5Q2Kc6N.js → CopyToClipboard-BPnYSmV9.js} +1 -1
  8. package/dist/assets/{Detail-Xqtlygg1.js → Detail-CQ1uTWL0.js} +2 -2
  9. package/dist/assets/{EditArray-DGyTLWw6.js → EditArray-dmf6oe-H.js} +1 -1
  10. package/dist/assets/{Extra-DLEvIL8x.js → Extra-CN3f0aJT.js} +1 -1
  11. package/dist/assets/{FilePreview-CMiekYFn.js → FilePreview-CfvbOm_j.js} +1 -1
  12. package/dist/assets/{History-B7qmGxDF.js → History-DMjDOr6r.js} +1 -1
  13. package/dist/assets/{IconPark.vue_vue_type_script_setup_true_lang-BcKtCnVg.js → IconPark.vue_vue_type_script_setup_true_lang-DXR2pKRe.js} +1 -1
  14. package/dist/assets/{ImagePreview-hUTkC0Ih.js → ImagePreview-UzQByA5J.js} +1 -1
  15. package/dist/assets/{ImageWrapper-nAPnMgFW.js → ImageWrapper-ZOmq3B5u.js} +1 -1
  16. package/dist/assets/{Index-Ba6UBNcH.css → Index-0F2esyJL.css} +1 -1
  17. package/dist/assets/{Index-Duq6pei3.js → Index-0js7wCZo.js} +1 -1
  18. package/dist/assets/{Index-BxdDYTsN.js → Index-2coZuITH.js} +1 -1
  19. package/dist/assets/{Index-BMAnpnob.js → Index-BLaTrWvA.js} +1 -1
  20. package/dist/assets/{Index-BKenI2nT.js → Index-BU5rYMEi.js} +1 -1
  21. package/dist/assets/{Index-D8pk_n2z.js → Index-BYtUdRHb.js} +1 -1
  22. package/dist/assets/{Index-CGUKr6rz.js → Index-ByPvBN95.js} +1 -1
  23. package/dist/assets/{Index-Ce95Xhwd.js → Index-C1-gKnu5.js} +1 -1
  24. package/dist/assets/{Index-DPtb1Dvv.js → Index-C1EOh3kJ.js} +1 -1
  25. package/dist/assets/{Index-DdOnDD2J.js → Index-C3fq2COG.js} +1 -1
  26. package/dist/assets/{Index-BWoOKlKN.js → Index-C6Im0ksN.js} +1 -1
  27. package/dist/assets/{Index-leXD0T4X.js → Index-CM87vgYa.js} +1 -1
  28. package/dist/assets/{Index-CkZ-GIeN.js → Index-CXyS1mni.js} +1 -1
  29. package/dist/assets/{Index-CSU9bGI_.js → Index-DAIGpgGz.js} +1 -1
  30. package/dist/assets/{Index-BjeaExfc.js → Index-DRFK3UsV.js} +1 -1
  31. package/dist/assets/{Index-BMqJMsLk.js → Index-DXjBrH1C.js} +1 -1
  32. package/dist/assets/{Index-B0RDQ9kc.js → Index-D_33WH-0.js} +1 -1
  33. package/dist/assets/{Index-R6LvF-rK.js → Index-DolefGxB.js} +1 -1
  34. package/dist/assets/{Index-DkjTtAdR.js → Index-Dtg7qgTC.js} +1 -1
  35. package/dist/assets/{Index-qS_7rc_F.js → Index-Iu_g7Ft2.js} +1 -1
  36. package/dist/assets/Index-LsRp2JcU.js +1 -0
  37. package/dist/assets/{Index-DOSUI8yl.js → Index-WSLvWgLi.js} +1 -1
  38. package/dist/assets/{Index-DhaeVX3f.js → Index-_k1zqj8A.js} +1 -1
  39. package/dist/assets/{Index-DgVGVr0G.js → Index-osVBF6Id.js} +1 -1
  40. package/dist/assets/{Index-BdxUwUTL.js → Index-uvY1XMKe.js} +1 -1
  41. package/dist/assets/{Index-Uy6pks0w.js → Index-yieos81L.js} +1 -1
  42. package/dist/assets/{Invitees-CPvt_Mr0.js → Invitees-C9V5irEM.js} +1 -1
  43. package/dist/assets/{List-Bc6eFHkF.js → List-84s1Snkz.js} +1 -1
  44. package/dist/assets/{List-CSCdeqyT.js → List-BAreC5iU.js} +1 -1
  45. package/dist/assets/{List-B4MnI4Ut.js → List-CE3wuCi7.js} +1 -1
  46. package/dist/assets/{List-CbiQGNQQ.js → List-DqkFMmyg.js} +1 -1
  47. package/dist/assets/{Main-C7gD7488.js → Main-BH2TN9Bb.js} +1 -1
  48. package/dist/assets/{Navigator-DuFYGvKr.js → Navigator-B1kqEik2.js} +1 -1
  49. package/dist/assets/{NoTasks-DCFz_cPB.js → NoTasks-Dv0geGXS.js} +1 -1
  50. package/dist/assets/{NotFound-7_cX8wpK.js → NotFound-DFu__Y6N.js} +1 -1
  51. package/dist/assets/{OAuthCallback-_xVLEqAx.js → OAuthCallback-umRQLiue.js} +1 -1
  52. package/dist/assets/{Pagination-qfdTQPrv.js → Pagination-CCGr-nTj.js} +1 -1
  53. package/dist/assets/{ScrollList-ppHF7k1A.js → ScrollList-fEddRgze.js} +1 -1
  54. package/dist/assets/{Status-BDDYaZ43.js → Status-D4Q4gy2j.js} +1 -1
  55. package/dist/assets/{Subscribe-Bd1QDvmP.js → Subscribe-6cECKpFx.js} +1 -1
  56. package/dist/assets/{TransportWebHID-jk9Hc7Xp.js → TransportWebHID-ypIR3sjm.js} +1 -1
  57. package/dist/assets/{VideoPlayer-BiZGhs1e.js → VideoPlayer-Db4UU0Jh.js} +1 -1
  58. package/dist/assets/{_Uint8Array-B9wo990u.js → _Uint8Array-B1ZmS77O.js} +1 -1
  59. package/dist/assets/{_baseClone-OaArZu3M.js → _baseClone-DVWa3d3y.js} +1 -1
  60. package/dist/assets/{_baseIteratee-CAzVICbz.js → _baseIteratee-BxV3nP3B.js} +1 -1
  61. package/dist/assets/{_initCloneObject-CezWJWWn.js → _initCloneObject-fE07fVX-.js} +1 -1
  62. package/dist/assets/{add-DEMwPiju.js → add-DJJWDYUX.js} +1 -1
  63. package/dist/assets/{all-wallets-hS5Bx0k7.js → all-wallets-BtpLdKtz.js} +1 -1
  64. package/dist/assets/{app-store-Dp5xS8YD.js → app-store-ChK831b0.js} +1 -1
  65. package/dist/assets/{apple-DH-j8df2.js → apple-CPteCqZL.js} +1 -1
  66. package/dist/assets/{arrow-bottom-BsP1IGir.js → arrow-bottom-CH8RAooX.js} +1 -1
  67. package/dist/assets/{arrow-bottom-circle-C3e6Zp8c.js → arrow-bottom-circle-BZN0buW-.js} +1 -1
  68. package/dist/assets/{arrow-left-Cgxg9Goo.js → arrow-left-Bs47L7ti.js} +1 -1
  69. package/dist/assets/{arrow-right-CQpuYp_y.js → arrow-right-DjyU--_E.js} +1 -1
  70. package/dist/assets/{arrow-top-JQgX23y6.js → arrow-top-BRHxwvQD.js} +1 -1
  71. package/dist/assets/{avatar-KEKoYOP6.js → avatar-Gp6TrxxL.js} +1 -1
  72. package/dist/assets/{bank-I3Zvi_fF.js → bank-3261RGdl.js} +1 -1
  73. package/dist/assets/{basic-DvrGKvqa.js → basic-CSEZa9az.js} +1 -1
  74. package/dist/assets/{browser-DGYZYvuX.js → browser-Cn5cE--d.js} +1 -1
  75. package/dist/assets/{byokCredential-5sSSQc66.js → byokCredential-CoBRlrwa.js} +1 -1
  76. package/dist/assets/{card-DK1W3Qtw.js → card-FunR0N8J.js} +1 -1
  77. package/dist/assets/{castArray-CEgxRlUQ.js → castArray-CdNG57Vc.js} +1 -1
  78. package/dist/assets/{chat-BKbNZjqm.js → chat-DJNWIdW5.js} +1 -1
  79. package/dist/assets/{checkmark-bold-BMOkUNdP.js → checkmark-bold-DSgERLs7.js} +1 -1
  80. package/dist/assets/{checkmark-DnugIskI.js → checkmark-jPH3mcuE.js} +1 -1
  81. package/dist/assets/{chevron-bottom-C5gAkiCt.js → chevron-bottom-Dt0N1I5c.js} +1 -1
  82. package/dist/assets/{chevron-left-BjyBbgWT.js → chevron-left-BeUDcc7U.js} +1 -1
  83. package/dist/assets/{chevron-right-DIIzRj0Q.js → chevron-right-BkhdGAD4.js} +1 -1
  84. package/dist/assets/{chevron-top-PDFzmwA6.js → chevron-top-r-BMHmnd.js} +1 -1
  85. package/dist/assets/{chrome-store-Do1xQLwV.js → chrome-store-B8GLh3pX.js} +1 -1
  86. package/dist/assets/{clock-CU-Y6bZa.js → clock-Baem6GCG.js} +1 -1
  87. package/dist/assets/{close-_0kQCp84.js → close-CXA1o-uw.js} +1 -1
  88. package/dist/assets/{coinPlaceholder-Bi6bmmn3.js → coinPlaceholder-KNgovsfX.js} +1 -1
  89. package/dist/assets/{compass-BLwv3tbG.js → compass-Dr8NdlSk.js} +1 -1
  90. package/dist/assets/{copy-Bgx9soZe.js → copy-CX7qzfGI.js} +1 -1
  91. package/dist/assets/{cursor-Cupf9JP6.js → cursor-CC4efWEm.js} +1 -1
  92. package/dist/assets/{cursor-transparent-3rfNV1z4.js → cursor-transparent-CCC4NNle.js} +1 -1
  93. package/dist/assets/{debounce-z3wHMjDj.js → debounce-DJG7nn03.js} +1 -1
  94. package/dist/assets/{desktop-DgGQ9yxs.js → desktop-DpgL4ttq.js} +1 -1
  95. package/dist/assets/{disconnect-4BrXCIam.js → disconnect-Bs4t-jmP.js} +1 -1
  96. package/dist/assets/{discord-BvNN6ZEV.js → discord-DOtcZNjt.js} +1 -1
  97. package/dist/assets/{distribution-CyV-Hg8s.js → distribution-_EpYeaUb.js} +1 -1
  98. package/dist/assets/{dropdown-DPQ051fG.js → dropdown-CCaQCEdp.js} +1 -1
  99. package/dist/assets/{etherscan-Dl9-zgUj.js → etherscan-CSWHz9OZ.js} +1 -1
  100. package/dist/assets/{exclamation-triangle-BSvg3YYN.js → exclamation-triangle-CVD5gwaC.js} +1 -1
  101. package/dist/assets/{extension-DfH2rBT-.js → extension-BMgRw53T.js} +1 -1
  102. package/dist/assets/{external-link-Dme5cbGO.js → external-link-Ynbbfgz0.js} +1 -1
  103. package/dist/assets/{facebook-qtFBWJ7u.js → facebook-rhLOKPe2.js} +1 -1
  104. package/dist/assets/{farcaster-Bpz1mbg7.js → farcaster-DRi4pHqK.js} +1 -1
  105. package/dist/assets/{filters-Dewno6B6.js → filters-CvbyP2CA.js} +1 -1
  106. package/dist/assets/{flux-FC-ZXbLy.js → flux-D5zv5eJT.js} +1 -1
  107. package/dist/assets/{github-WPcuqu7y.js → github-BYYsyy4v.js} +1 -1
  108. package/dist/assets/{google-CQIisxib.js → google-BLLcEZAk.js} +1 -1
  109. package/dist/assets/{hailuo-Bwx9zGTZ.js → hailuo-DPdbrKtH.js} +1 -1
  110. package/dist/assets/{headshots-DH_21x1m.js → headshots-CL3Xa6dZ.js} +1 -1
  111. package/dist/assets/{help-circle-BYzCuumC.js → help-circle-BdJemOyg.js} +1 -1
  112. package/dist/assets/{id-DzulqMi0.js → id-DSLx3KcS.js} +1 -1
  113. package/dist/assets/{image-C9vp7EJR.js → image-DE7OaOvi.js} +1 -1
  114. package/dist/assets/{index-Bfa0l5Mz.js → index-34y1g5ez.js} +1 -1
  115. package/dist/assets/{index-BLrLR8tq.js → index-5jCMuLIZ.js} +1 -1
  116. package/dist/assets/{index-COZ2Qhqe.js → index-B3uhzaUf.js} +1 -1
  117. package/dist/assets/{index-SPbBnreU.js → index-B4TMI3dX.js} +1 -1
  118. package/dist/assets/{index-al6k0BWh.js → index-B6_eVPkS.js} +1 -1
  119. package/dist/assets/{index-B--cBpnc.js → index-B7ZGW3qZ.js} +1 -1
  120. package/dist/assets/{index-ntZJxZkI.js → index-BAv-lcRV.js} +1 -1
  121. package/dist/assets/{index-DpUlq2LB.js → index-BCojwkhr.js} +1 -1
  122. package/dist/assets/{index-BCUP3Qpw.js → index-BPqCFsfP.js} +1 -1
  123. package/dist/assets/{index-BoMrEY9d.js → index-BTFeaU3-.js} +1 -1
  124. package/dist/assets/{index-CMy7JKPa.js → index-BTcfXhgd.js} +1 -1
  125. package/dist/assets/{index-5durBcIc.js → index-BUReUXKk.js} +1 -1
  126. package/dist/assets/{index-DiqBmBf1.js → index-BVzdhJ87.js} +1 -1
  127. package/dist/assets/{index-D5nhIR6Q.js → index-BWaRzv5s.js} +1 -1
  128. package/dist/assets/{index-Bf_0a_2-.js → index-BnmPQajF.js} +1 -1
  129. package/dist/assets/{index-Brb5A4NQ.js → index-Bqf1CMe_.js} +1 -1
  130. package/dist/assets/{index-eMWbvaT8.js → index-Bs422SEk.js} +1 -1
  131. package/dist/assets/{index-BEISdWxi.js → index-C4LEUyuD.js} +1 -1
  132. package/dist/assets/{index-Dz8ZozJg.js → index-C5XO_xzK.js} +1 -1
  133. package/dist/assets/{index-CZSdwn7u.js → index-C80csLdP.js} +1 -1
  134. package/dist/assets/{index-3Jquc4Vy.js → index-CAmbJuRn.js} +1 -1
  135. package/dist/assets/{index-Qx6yMP72.js → index-CDqaOjLm.js} +1 -1
  136. package/dist/assets/{index-BWUBjXz2.js → index-CHmbfkMb.js} +1 -1
  137. package/dist/assets/{index-CerYJYug.js → index-CLQ8gXUq.js} +3 -3
  138. package/dist/assets/{index-Ht8ZOU1H.js → index-CLi4-Mwl.js} +1 -1
  139. package/dist/assets/{index-DxnrvYVH.js → index-CM9zReVQ.js} +4 -4
  140. package/dist/assets/{index-UjZdwrmf.js → index-CX-MmZx5.js} +1 -1
  141. package/dist/assets/{index-Ca4hYOWF.js → index-CZHXFRKp.js} +1 -1
  142. package/dist/assets/{index-B5z3D9g7.js → index-CeMqgwl5.js} +1 -1
  143. package/dist/assets/{index-ODKX1GcE.js → index-Cga7gSz-.js} +1 -1
  144. package/dist/assets/{index-BoNQ2bwh.js → index-CkXICIBK.js} +1 -1
  145. package/dist/assets/{index-D6IXtSdh.js → index-CqKztwOD.js} +1 -1
  146. package/dist/assets/{index-C2C5Wr_B.js → index-CtRTmc2s.js} +1 -1
  147. package/dist/assets/{index-BtKP25bm.js → index-Cuq9JFhk.js} +1 -1
  148. package/dist/assets/{index-Uo0Z1peq.js → index-CveO1Vwg.js} +1 -1
  149. package/dist/assets/{index-9rUgJTM0.js → index-CwfioadH.js} +1 -1
  150. package/dist/assets/{index-De6GneQ8.js → index-Cyl0FZ0o.js} +1 -1
  151. package/dist/assets/{index-6Kj8H0UT.js → index-D8Tu-V2f.js} +1 -1
  152. package/dist/assets/{index-D2HSg-zC.js → index-D9_8-GJo.js} +1 -1
  153. package/dist/assets/{index-C3qdTgIX.js → index-DBh-Z3x9.js} +1 -1
  154. package/dist/assets/{index-wZWQdxfX.js → index-DDTvqMio.js} +6 -6
  155. package/dist/assets/{index-BXzGGBJg.js → index-DMxWp3gt.js} +1 -1
  156. package/dist/assets/{index-B0CgevO0.js → index-DRKpUhDN.js} +1 -1
  157. package/dist/assets/{index-BgVy5KIm.js → index-Dh03fpj0.js} +1 -1
  158. package/dist/assets/{index-Cc0CymYy.js → index-DhFe7ngA.js} +1 -1
  159. package/dist/assets/{index-CkFTRS4T.js → index-Dp4weQgU.js} +1 -1
  160. package/dist/assets/{index-Di4WB8s_.js → index-J05RNTHu.js} +1 -1
  161. package/dist/assets/{index-bLc6Jspi.js → index-OZ8uKCgC.js} +1 -1
  162. package/dist/assets/{index-B57xaC7s.js → index-SbjjayfS.js} +1 -1
  163. package/dist/assets/{index-CnQGsAad.js → index-aYklBF-u.js} +1 -1
  164. package/dist/assets/{index-BfOryRNq.js → index-binwyAFH.js} +1 -1
  165. package/dist/assets/{index-D_lHh-es.js → index-dbYYFqE2.js} +1 -1
  166. package/dist/assets/{index-CVHZPJ6x.js → index-ioBbJDcl.js} +1 -1
  167. package/dist/assets/{index-Cyblde_V.js → index-j_WdOBCc.js} +1 -1
  168. package/dist/assets/{index-LGUNEkGJ.js → index-lDec1F7k.js} +1 -1
  169. package/dist/assets/{index-CIgoWPQC.js → index-lmIBanhI.js} +1 -1
  170. package/dist/assets/{index-CrLjycjS.js → index-rQYBjefP.js} +1 -1
  171. package/dist/assets/{index-CVh8Wj89.js → index-sqdaAdWg.js} +1 -1
  172. package/dist/assets/{index-B_a5jHgv.js → index-tJnVMy2h.js} +1 -1
  173. package/dist/assets/{index-ybuanIkm.js → index-wjaONMsX.js} +1 -1
  174. package/dist/assets/{index-CdgG2-bY.js → index-xzGMHVKb.js} +1 -1
  175. package/dist/assets/{index.browser.esm-CMyd3P11.js → index.browser.esm-B3O1fBpw.js} +1 -1
  176. package/dist/assets/{index.es-CTSlEmkZ.js → index.es-JHCCRstw.js} +1 -1
  177. package/dist/assets/{info-DMZFMzxp.js → info-CzabOSmf.js} +1 -1
  178. package/dist/assets/{info-circle-xICxd0uu.js → info-circle-Dau7ltmj.js} +1 -1
  179. package/dist/assets/{isEqual-6gRCrOyw.js → isEqual-BBm-NN6U.js} +1 -1
  180. package/dist/assets/{isPlainObject-BEYgAMDz.js → isPlainObject-DuBiEZNF.js} +1 -1
  181. package/dist/assets/{kling-DXYa77Iq.js → kling-BFDKWnWp.js} +1 -1
  182. package/dist/assets/{kling-D85RoxIl.js → kling-BojhonxZ.js} +1 -1
  183. package/dist/assets/{kling-BBHRts9Z.js → kling-hb-qhPzM.js} +1 -1
  184. package/dist/assets/{lightbulb-C5LhhyzR.js → lightbulb-BrtFzx_z.js} +1 -1
  185. package/dist/assets/{luma-Dkzf0Kx5.js → luma-CwBZB_2P.js} +1 -1
  186. package/dist/assets/{mail-LNMuUQYI.js → mail-DCMn-zeE.js} +1 -1
  187. package/dist/assets/{midjourney-CtLPRylN.js → midjourney-C8pcQVjE.js} +1 -1
  188. package/dist/assets/{mobile-tfJMv3jS.js → mobile-Mu3aJ4QV.js} +1 -1
  189. package/dist/assets/{more-B_CeVrMU.js → more-CAm4LYUe.js} +1 -1
  190. package/dist/assets/{nanobanana-DBSwoCbv.js → nanobanana-BUPi3LYP.js} +1 -1
  191. package/dist/assets/{network-placeholder-BMZoT_Xp.js → network-placeholder-DE8ffM76.js} +1 -1
  192. package/dist/assets/{nftPlaceholder-CYj1TKgl.js → nftPlaceholder-DyxQ31cL.js} +1 -1
  193. package/dist/assets/{off-Diu2oqGG.js → off-CJQTdRcw.js} +1 -1
  194. package/dist/assets/{openaiimage-Dp1aJmh-.js → openaiimage-C-GXJi5M.js} +1 -1
  195. package/dist/assets/{order-DcvZog5z.js → order-kDx6UsLq.js} +1 -1
  196. package/dist/assets/{pika-C87UZtqr.js → pika-D6p9sHjW.js} +1 -1
  197. package/dist/assets/{pixverse-Dij-fj8j.js → pixverse-DNL8iTs3.js} +1 -1
  198. package/dist/assets/{play-store-CC50ZlqW.js → play-store-YYyg31CV.js} +1 -1
  199. package/dist/assets/{plus-VfQZsL1i.js → plus-BUeix2P-.js} +1 -1
  200. package/dist/assets/{price-pXO0t_ig.js → price-BEn078PF.js} +1 -1
  201. package/dist/assets/{producer-9gDqjKg1.js → producer-Bf8qHSCt.js} +1 -1
  202. package/dist/assets/{qr-code-DdU7ijlx.js → qr-code-BYXdL0eZ.js} +1 -1
  203. package/dist/assets/{qrart-D-QIJqqN.js → qrart-7-J_VkX_.js} +1 -1
  204. package/dist/assets/{recycle-horizontal-Ci-6r0iZ.js → recycle-horizontal-eeJAcqOP.js} +1 -1
  205. package/dist/assets/{refresh-v3PXYPXV.js → refresh-CSJ-VGp4.js} +1 -1
  206. package/dist/assets/{reown-logo-BaFHxeh1.js → reown-logo-DnfarLk7.js} +1 -1
  207. package/dist/assets/{search-Dncno5Z2.js → search-BBZwFFi1.js} +1 -1
  208. package/dist/assets/{secp256k1-BInEFu_O.js → secp256k1-Ct2cQEIi.js} +1 -1
  209. package/dist/assets/{secp256k1-BYHZzCXX.js → secp256k1-eI2l3nbt.js} +1 -1
  210. package/dist/assets/{seedance-DPzn40ni.js → seedance-BVTt1wyM.js} +1 -1
  211. package/dist/assets/{seedream-DFHN2jyY.js → seedream-BzgiZYXm.js} +1 -1
  212. package/dist/assets/{send-DLKez4WU.js → send-D--vjbo7.js} +1 -1
  213. package/dist/assets/{service-C-BcC0jW.js → service-C7_CIThJ.js} +1 -1
  214. package/dist/assets/{solana-wallets-BLmaFGOH.js → solana-wallets-B-PWMA--.js} +2 -2
  215. package/dist/assets/{solana-wallets-vue-Ce5vHq8g.js → solana-wallets-vue-C_ZPaxM8.js} +1 -1
  216. package/dist/assets/{solanaEmbed.esm-C-1HVW-p.js → solanaEmbed.esm-PTE5GX_j.js} +1 -1
  217. package/dist/assets/{sora-BGy-JOjT.js → sora-CGORfmqD.js} +1 -1
  218. package/dist/assets/{string_decoder-ByRWPqnw.js → string_decoder-LHsfqlAK.js} +1 -1
  219. package/dist/assets/{suno-ClcDMAOe.js → suno-ozQa7fi5.js} +1 -1
  220. package/dist/assets/{swapHorizontal-DKdNOxYo.js → swapHorizontal-CuWb7_HP.js} +1 -1
  221. package/dist/assets/{swapHorizontalBold-BLD9O-zm.js → swapHorizontalBold-cfFVaEjJ.js} +1 -1
  222. package/dist/assets/{swapHorizontalMedium-C9W1N81N.js → swapHorizontalMedium-CnM2ATMI.js} +1 -1
  223. package/dist/assets/{swapHorizontalRoundedBold-BPn-5dZu.js → swapHorizontalRoundedBold-Bb-nStix.js} +1 -1
  224. package/dist/assets/{swapVertical-I5K-5MU2.js → swapVertical-DNcgIJyl.js} +1 -1
  225. package/dist/assets/{telegram-DXoeeESQ.js → telegram-DdB3C6LO.js} +1 -1
  226. package/dist/assets/{three-dots-DzXpa-5W.js → three-dots-Dkq27puE.js} +1 -1
  227. package/dist/assets/{twitch-DxMB98Lh.js → twitch-B11Ec6EG.js} +1 -1
  228. package/dist/assets/{twitterIcon-Bk7-lqqy.js → twitterIcon-jHHmxHyS.js} +1 -1
  229. package/dist/assets/{typescript-Cdvt30Lj.js → typescript-gcHX6vpO.js} +1 -1
  230. package/dist/assets/{use-form-item-CVgF_2-v.js → use-form-item-8zDrNpgH.js} +1 -1
  231. package/dist/assets/validator-CkfxPu8i.js +1 -0
  232. package/dist/assets/{veo-DZMs4i-A.js → veo-CdSdlLrq.js} +1 -1
  233. package/dist/assets/{verify-JGkCYxuc.js → verify-Kr5if2ST.js} +1 -1
  234. package/dist/assets/{verify-filled-BXrONTz-.js → verify-filled-BpkSGASG.js} +1 -1
  235. package/dist/assets/{w3m-modal-ByzqxOkN.js → w3m-modal-CSpPP0pg.js} +1 -1
  236. package/dist/assets/{wallet-Z8BoHxQF.js → wallet-Dp6cMon-.js} +1 -1
  237. package/dist/assets/{wallet-placeholder-BFR6lqau.js → wallet-placeholder-BcdSq-qu.js} +1 -1
  238. package/dist/assets/{walletconnect-D5ZEGds1.js → walletconnect-Czg4KyUB.js} +1 -1
  239. package/dist/assets/{wan-DPH_ee52.js → wan-gbPjYBHJ.js} +1 -1
  240. package/dist/assets/{warning-circle-DLJyvaJ4.js → warning-circle-CvxFFYr2.js} +1 -1
  241. package/dist/assets/{web-BuQvlgS1.js → web-B95Dv1zX.js} +1 -1
  242. package/dist/assets/{web-CdVnwqeA.js → web-D1ZwyiJi.js} +1 -1
  243. package/dist/assets/{x-ClteeeY4.js → x-Cjhm19HS.js} +1 -1
  244. package/dist/index.html +1 -1
  245. package/package.json +1 -1
  246. package/dist/assets/Index-CqA84pm1.js +0 -1
  247. package/dist/assets/validator-C3W4Q7W8.js +0 -1
@@ -1 +1 @@
1
- import{F as L}from"./index.es-CTSlEmkZ.js";import{E as S}from"./index-C2C5Wr_B.js";import{E as R}from"./index-D2HSg-zC.js";import{d as b,H as c,E as i,z as V,C as t,y as u,D as o,q as a,F as n,O as C,N as G,x as v,I as p,J as h,M as A,Q as I}from"./vendor-vue-C5BV5QrY.js";import{D as k,b1 as M,ao as U}from"./index-DxnrvYVH.js";import{a as D}from"./hailuo-C8Dw-0xR.js";import{a as j,E as B}from"./index-DiqBmBf1.js";import{p as q}from"./pasteUploadMixin-BurWbGNQ.js";import{I as P,S as O}from"./ScrollList-ppHF7k1A.js";import{I as z}from"./ImagePreview-hUTkC0Ih.js";import{E as F}from"./index-De6GneQ8.js";import{E}from"./index-BEISdWxi.js";import{E as N}from"./index-CVHZPJ6x.js";import{C as H}from"./Consumption-C-RXHwF8.js";import{a as J}from"./price-pXO0t_ig.js";import{b as K}from"./errorCode-Cqj9Td_Z.js";import{h as Q}from"./hailuo-Bwx9zGTZ.js";import{C as W}from"./CopyToClipboard-j5Q2Kc6N.js";import{V as X}from"./VideoPlayer-BiZGhs1e.js";import{E as Y}from"./index-CZSdwn7u.js";import{E as Z}from"./index-CVh8Wj89.js";import{E as x}from"./index-BoNQ2bwh.js";import{B as ee}from"./BotPlaceholder-CnYzSwa6.js";import{N as te}from"./NoTasks-DCFz_cPB.js";import{l as oe}from"./pagination-D5yjLyAE.js";import"./use-form-item-CVgF_2-v.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Bl-Po99g.js";import"./index-Ht8ZOU1H.js";import"./typescript-Cdvt30Lj.js";import"./index-BoMrEY9d.js";import"./strings-DGr9fDRd.js";import"./isEqual-6gRCrOyw.js";import"./_Uint8Array-B9wo990u.js";import"./castArray-CEgxRlUQ.js";import"./debounce-z3wHMjDj.js";import"./_baseIteratee-CAzVICbz.js";import"./index-BfOryRNq.js";import"./index-Qx6yMP72.js";import"./_baseClone-OaArZu3M.js";import"./_initCloneObject-CezWJWWn.js";import"./index-D5nhIR6Q.js";import"./vue-plyr-BO2nlN4c.js";import"./index-5durBcIc.js";const se=b({name:"LayoutHailuo",components:{ElDrawer:R,ElButton:S,FontAwesomeIcon:L},data(){return{drawer:!1}}}),ae={class:"main flex flex-row flex-1"},ne={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},le={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ie(e,s,f,g,w,y){const d=o("font-awesome-icon"),m=o("el-button"),r=o("el-drawer");return a(),c("div",ae,[i("div",ne,[V(e.$slots,"config",{},void 0,!0)]),i("div",le,[V(e.$slots,"result",{},void 0,!0)]),t(m,{circle:"",class:"menu",onClick:s[0]||(s[0]=_=>e.drawer=!0)},{default:u(()=>[t(d,{icon:"fa-solid fa-magic"})]),_:1}),t(r,{modelValue:e.drawer,"onUpdate:modelValue":s[1]||(s[1]=_=>e.drawer=_),direction:"ltr","with-header":!1,size:"340px"},{default:u(()=>[V(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const re=k(se,[["render",ie],["__scopeId","data-v-fa61db7a"]]),ce=b({name:"ModelSelector",components:{ElSelect:B,ElOption:j},data(){return{}},computed:{options(){return[{value:"minimax-t2v",label:this.$t("hailuo.button.model1")},{value:"minimax-i2v",label:this.$t("hailuo.button.model2")},{value:"minimax-i2v-director",label:this.$t("hailuo.button.model3")}]},value:{get(){return this.$store.state.hailuo?.config?.model},set(e){this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,model:e})}}},mounted(){this.value||(this.value=D)}}),ue={class:"field"},de={class:"title font-bold"},me={class:"float-left"};function pe(e,s,f,g,w,y){const d=o("el-option"),m=o("el-select");return a(),c("div",ue,[i("h2",de,n(e.$t("hailuo.name.model")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=r=>e.value=r),class:"value",placeholder:e.$t("hailuo.placeholder.select"),clearable:""},{default:u(()=>[(a(!0),c(C,null,G(e.options,r=>(a(),v(d,{key:r.value,label:r.label,value:r.value},{default:u(()=>[i("span",me,n(r.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const he=k(ce,[["render",pe],["__scopeId","data-v-a768fbd9"]]),fe=b({name:"StartImageUrlInput",components:{ElUpload:F,ElButton:S,InfoIcon:P,ImagePreview:z},mixins:[q],data(){return{fileList:[],uploadUrl:M()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.hailuo?.config?.first_image_url},set(){const e=this.urls?.[0];this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,first_image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t("hailuo.message.uploadStartImageExceed"))},onError(){E.error(this.$t("hailuo.message.uploadStartImageError"))},async onRemove(){E.error(this.$t("hailuo.message.uploadStartImageError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,first_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),ge={class:"relative"},_e={class:"flex justify-between"},$e={class:"flex justify-start items-center"},ve={class:"text-sm font-bold"};function be(e,s,f,g,w,y){const d=o("info-icon"),m=o("image-preview"),r=o("el-button"),_=o("el-upload");return a(),c("div",ge,[i("div",_e,[i("div",$e,[i("span",ve,n(e.$t("hailuo.name.startImageUrl")),1),t(d,{content:e.$t("hailuo.description.startImageUrl"),class:"info"},null,8,["content"])])]),t(_,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":s[0]||(s[0]=l=>e.fileList=l),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file","show-file-list":!0,limit:1,multiple:!1,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:l})=>[l.url&&l.percentage!==void 0?(a(),v(m,{key:0,url:l.url,name:l.name,percentage:l.percentage,onRemove:$=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):h("",!0)]),default:u(()=>[t(r,{size:"small",type:"primary",class:"btn btn-upload",round:""},{default:u(()=>[p(n(e.$t("hailuo.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])])}const ke=k(fe,[["render",be],["__scopeId","data-v-48f4a681"]]),we="",ye=b({name:"PromptInput",components:{ElInput:N,InfoIcon:P},computed:{prompt:{get(){return this.$store.state.hailuo?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=we)}}),Ee={class:"field"},Se={class:"box"},Ie={class:"title font-bold"};function Te(e,s,f,g,w,y){const d=o("info-icon"),m=o("el-input");return a(),c("div",Ee,[i("div",Se,[i("h2",Ie,n(e.$t("hailuo.name.prompt")),1),t(d,{content:e.$t("hailuo.description.prompt"),class:"info"},null,8,["content"])]),t(m,{modelValue:e.prompt,"onUpdate:modelValue":s[0]||(s[0]=r=>e.prompt=r),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("hailuo.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ve=k(ye,[["render",Te],["__scopeId","data-v-c601bcba"]]),Ce=b({name:"PresetPanel",components:{ElButton:S,FontAwesomeIcon:L,PromptInput:Ve,StartImageUrlInput:ke,ModelSelector:he,Consumption:H},emits:["generate"],computed:{config(){return this.$store.state.hailuo?.config},consumption(){return J(this.config,this.service?.cost)},service(){return this.$store.state.hailuo?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Le={class:"flex flex-col h-full"},Ue={class:"flex-1 overflow-y-auto p-5"},Ge={class:"flex flex-col items-center justify-center px-5 pb-5"};function Pe(e,s,f,g,w,y){const d=o("prompt-input"),m=o("model-selector"),r=o("start-image-url-input"),_=o("consumption"),l=o("font-awesome-icon"),$=o("el-button");return a(),c("div",Le,[i("div",Ue,[t(d,{class:"mb-4"}),t(m,{class:"mb-4"}),e.config?.model==="minimax-i2v"?(a(),v(r,{key:0,class:"mb-2"})):h("",!0)]),i("div",Ge,[t(_,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(a(),v($,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(l,{icon:"fa-solid fa-magic",class:"mr-2"}),p(" "+n(e.$t("hailuo.button.extend")),1)]),_:1},8,["onClick"])):(a(),v($,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(l,{icon:"fa-solid fa-magic",class:"mr-2"}),p(" "+n(e.$t("hailuo.button.generate")),1)]),_:1},8,["onClick"]))])])}const Re=k(Ce,[["render",Pe]]),Ae=b({name:"TaskPreview",components:{ElImage:x,CopyToClipboard:W,FontAwesomeIcon:L,ElAlert:Z,VideoPlayer:X,ElTooltip:Y,ElButton:S},props:{modelValue:{type:Object,required:!0}},computed:{application(){return this.$store.state.hailuo?.application},config(){return this.$store.state.hailuo?.config},video(){return this.modelValue?.response?.data?.[0]}},methods:{onDownload(e){console.debug("on download hailuo video",e),window.open(e,"_blank")}}}),Me={class:"preview"},De={class:"left"},je={class:"main"},Be={class:"bot"},qe={class:"datetime"},Oe={class:"info"},ze={key:0,class:"prompt mt-2"},Fe={key:0},Ne={key:1},He={key:0,class:I({content:!0,failed:!0})},Je={key:0,class:"mb-4"},Ke={key:1,class:I({operations:!0,"mt-2":!0})},Qe={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},We={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Xe={key:1,class:I({content:!0})},Ye={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ze={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},xe={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},et={key:2,class:I({content:!0})},tt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function ot(e,s,f,g,w,y){const d=o("el-image"),m=o("video-player"),r=o("el-button"),_=o("el-tooltip"),l=o("font-awesome-icon"),$=o("copy-to-clipboard"),T=o("el-alert");return a(),c("div",Me,[i("div",De,[t(d,{src:"https://cdn.acedata.cloud/0qg4gp.png",class:"avatar"})]),i("div",je,[i("div",Be,[p(n(e.$t("hailuo.name.hailuoBot"))+" ",1),i("span",qe,n(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",Oe,[e.modelValue?.request?.prompt?(a(),c("p",ze,[p(n(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?h("",!0):(a(),c("span",Fe," - ("+n(e.$t("hailuo.status.pending"))+") ",1)),e.video?.state==="processing"||e.video?.state==="pending"||e.video?.state==="running"?(a(),c("span",Ne," - ("+n(e.$t("hailuo.status.processing"))+") ",1)):h("",!0)])):h("",!0)]),e.modelValue?.response?.success===!0?(a(),c("div",He,[e.video?.video_url?(a(),c("div",Je,[t(m,{src:e.video?.video_url},null,8,["src"])])):h("",!0),e.video?(a(),c("div",Ke,[t(_,{class:"box-item",effect:"dark",content:e.$t("hailuo.message.downloadVideo"),placement:"top-start"},{default:u(()=>[e.video?.video_url?(a(),v(r,{key:0,type:"info",size:"small",class:"mb-2",onClick:s[0]||(s[0]=A(mt=>e.onDownload(e.video?.video_url),["stop"]))},{default:u(()=>[p(n(e.$t("hailuo.button.download")),1)]),_:1})):h("",!0)]),_:1},8,["content"])])):h("",!0),t(T,{closable:!1,class:"mt-2 success"},{default:u(()=>[e.modelValue?.request?.model?(a(),c("p",Qe,[t(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.model"))+": "+n(e.modelValue?.request?.model)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])])):h("",!0),i("p",We,[t(l,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):h("",!0),e.modelValue?.response?.success===!1?(a(),c("div",Xe,[t(T,{closable:!1,class:"failure"},{template:u(()=>[t(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.failure")),1)]),default:u(()=>[i("p",Ye,[t(l,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])]),i("p",Ze,[t(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.failureReason"))+": "+n(e.modelValue?.response?.error?.message)+" ",1),t($,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),i("p",xe,[t(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),t($,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):h("",!0),e.modelValue?.response?.success===void 0?(a(),c("div",et,[t(T,{closable:!1,class:"info"},{template:u(()=>[t(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.failure")),1)]),default:u(()=>[i("p",tt,[t(l,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):h("",!0)])])}const st=k(Ae,[["render",ot],["__scopeId","data-v-48b0ddf9"]]),at=b({name:"RecentPanel",components:{TaskPreview:st,BotPlaceholder:ee,NoTasks:te,ScrollList:O},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.hailuo?.tasks,items:this.$store.state.hailuo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),nt={key:0},lt={key:2,class:"w-full h-full flex items-center justify-center"};function it(e,s,f,g,w,y){const d=o("bot-placeholder"),m=o("task-preview"),r=o("scroll-list"),_=o("no-tasks");return a(),c(C,null,[e.tasks?.items===void 0?(a(),c("div",nt,[t(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),v(r,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:s[0]||(s[0]=l=>e.$emit("reach-top"))},{default:u(()=>[(a(!0),c(C,null,G(e.tasks?.items,l=>(a(),v(m,{key:l.id,"model-value":l},null,8,["model-value"]))),128))]),_:1},8,["loading"])):h("",!0),e.tasks?.items?.length===0?(a(),c("div",lt,[t(_)])):h("",!0)],64)}const rt=k(at,[["render",it]]),ct="https://webhook.acedata.cloud/hailuo",ut=b({name:"HailuoIndex",components:{ConfigPanel:Re,Layout:re,RecentPanel:rt},inject:["initialized"],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.hailuo?.status?.getApplications===U.Request},tasksLoading(){return this.$store.state.hailuo?.status?.getTasks===U.Request||this.fetchingTasks},credential(){return this.$store.state.hailuo.credential},config(){return this.$store.state.hailuo.config},application(){return this.$store.state.hailuo.application},tasks(){return this.$store.state.hailuo.tasks}},watch:{tasks:{handler(e,s){e?.items?.length>s?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await oe({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("hailuo/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("hailuo/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:s=5,createdAtMin:f,createdAtMax:g}=e||{};console.debug("limit",s,"createdAtMin",f,"createdAtMax",g),this.fetchingTasks=!0;try{await this.$store.dispatch("hailuo/getTasks",{limit:s,createdAtMin:f,createdAtMax:g})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:ct},s=this.credential?.token;if(!s){console.error("no token specified");return}E.info(this.$t("hailuo.message.startingTask")),Q.generate(e,{token:s}).then(()=>{E.success(this.$t("hailuo.message.startTaskSuccess"))}).catch(f=>{f?.response?.data?.error?.code===K?E.error(this.$t("hailuo.message.usedUp")):E.error(this.$t("hailuo.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function dt(e,s,f,g,w,y){const d=o("config-panel"),m=o("recent-panel"),r=o("layout");return a(),v(r,null,{config:u(()=>[t(d,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[t(m,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const no=k(ut,[["render",dt]]);export{no as default};
1
+ import{F as L}from"./index.es-JHCCRstw.js";import{E as S}from"./index-CtRTmc2s.js";import{E as R}from"./index-D9_8-GJo.js";import{d as b,H as c,E as i,z as V,C as t,y as u,D as o,q as a,F as n,O as C,N as G,x as v,I as p,J as h,M as A,Q as I}from"./vendor-vue-C5BV5QrY.js";import{D as k,b1 as M,ao as U}from"./index-CM9zReVQ.js";import{a as D}from"./hailuo-C8Dw-0xR.js";import{a as j,E as B}from"./index-BVzdhJ87.js";import{p as q}from"./pasteUploadMixin-BurWbGNQ.js";import{I as P,S as O}from"./ScrollList-fEddRgze.js";import{I as z}from"./ImagePreview-UzQByA5J.js";import{E as F}from"./index-Cyl0FZ0o.js";import{E}from"./index-C4LEUyuD.js";import{E as N}from"./index-ioBbJDcl.js";import{C as H}from"./Consumption-DaHsAueY.js";import{a as J}from"./price-BEn078PF.js";import{b as K}from"./errorCode-Cqj9Td_Z.js";import{h as Q}from"./hailuo-DPdbrKtH.js";import{C as W}from"./CopyToClipboard-BPnYSmV9.js";import{V as X}from"./VideoPlayer-Db4UU0Jh.js";import{E as Y}from"./index-C80csLdP.js";import{E as Z}from"./index-sqdaAdWg.js";import{E as x}from"./index-CkXICIBK.js";import{B as ee}from"./BotPlaceholder-DeiY4SpV.js";import{N as te}from"./NoTasks-Dv0geGXS.js";import{l as oe}from"./pagination-D5yjLyAE.js";import"./use-form-item-8zDrNpgH.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Bl-Po99g.js";import"./index-CLi4-Mwl.js";import"./typescript-gcHX6vpO.js";import"./index-BTFeaU3-.js";import"./strings-DGr9fDRd.js";import"./isEqual-BBm-NN6U.js";import"./_Uint8Array-B1ZmS77O.js";import"./castArray-CdNG57Vc.js";import"./debounce-DJG7nn03.js";import"./_baseIteratee-BxV3nP3B.js";import"./index-binwyAFH.js";import"./index-CDqaOjLm.js";import"./_baseClone-DVWa3d3y.js";import"./_initCloneObject-fE07fVX-.js";import"./index-BWaRzv5s.js";import"./vue-plyr-BO2nlN4c.js";import"./index-BUReUXKk.js";const se=b({name:"LayoutHailuo",components:{ElDrawer:R,ElButton:S,FontAwesomeIcon:L},data(){return{drawer:!1}}}),ae={class:"main flex flex-row flex-1"},ne={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},le={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function ie(e,s,f,g,w,y){const d=o("font-awesome-icon"),m=o("el-button"),r=o("el-drawer");return a(),c("div",ae,[i("div",ne,[V(e.$slots,"config",{},void 0,!0)]),i("div",le,[V(e.$slots,"result",{},void 0,!0)]),t(m,{circle:"",class:"menu",onClick:s[0]||(s[0]=_=>e.drawer=!0)},{default:u(()=>[t(d,{icon:"fa-solid fa-magic"})]),_:1}),t(r,{modelValue:e.drawer,"onUpdate:modelValue":s[1]||(s[1]=_=>e.drawer=_),direction:"ltr","with-header":!1,size:"340px"},{default:u(()=>[V(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const re=k(se,[["render",ie],["__scopeId","data-v-fa61db7a"]]),ce=b({name:"ModelSelector",components:{ElSelect:B,ElOption:j},data(){return{}},computed:{options(){return[{value:"minimax-t2v",label:this.$t("hailuo.button.model1")},{value:"minimax-i2v",label:this.$t("hailuo.button.model2")},{value:"minimax-i2v-director",label:this.$t("hailuo.button.model3")}]},value:{get(){return this.$store.state.hailuo?.config?.model},set(e){this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,model:e})}}},mounted(){this.value||(this.value=D)}}),ue={class:"field"},de={class:"title font-bold"},me={class:"float-left"};function pe(e,s,f,g,w,y){const d=o("el-option"),m=o("el-select");return a(),c("div",ue,[i("h2",de,n(e.$t("hailuo.name.model")),1),t(m,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=r=>e.value=r),class:"value",placeholder:e.$t("hailuo.placeholder.select"),clearable:""},{default:u(()=>[(a(!0),c(C,null,G(e.options,r=>(a(),v(d,{key:r.value,label:r.label,value:r.value},{default:u(()=>[i("span",me,n(r.label),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const he=k(ce,[["render",pe],["__scopeId","data-v-a768fbd9"]]),fe=b({name:"StartImageUrlInput",components:{ElUpload:F,ElButton:S,InfoIcon:P,ImagePreview:z},mixins:[q],data(){return{fileList:[],uploadUrl:M()+"/api/v1/files/"}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.hailuo?.config?.first_image_url},set(){const e=this.urls?.[0];this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,first_image_url:e})}}},mounted(){this.value||(this.value=void 0),this.onSetStartImageUrl()},methods:{onExceed(){E.warning(this.$t("hailuo.message.uploadStartImageExceed"))},onError(){E.error(this.$t("hailuo.message.uploadStartImageError"))},async onRemove(){E.error(this.$t("hailuo.message.uploadStartImageError"))},onSetStartImageUrl(){const e=this.urls?.[0];this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,first_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),ge={class:"relative"},_e={class:"flex justify-between"},$e={class:"flex justify-start items-center"},ve={class:"text-sm font-bold"};function be(e,s,f,g,w,y){const d=o("info-icon"),m=o("image-preview"),r=o("el-button"),_=o("el-upload");return a(),c("div",ge,[i("div",_e,[i("div",$e,[i("span",ve,n(e.$t("hailuo.name.startImageUrl")),1),t(d,{content:e.$t("hailuo.description.startImageUrl"),class:"info"},null,8,["content"])])]),t(_,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":s[0]||(s[0]=l=>e.fileList=l),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file","show-file-list":!0,limit:1,multiple:!1,"list-type":"picture",action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:u(({file:l})=>[l.url&&l.percentage!==void 0?(a(),v(m,{key:0,url:l.url,name:l.name,percentage:l.percentage,onRemove:$=>e.fileList.splice(e.fileList.indexOf(l),1)},null,8,["url","name","percentage","onRemove"])):h("",!0)]),default:u(()=>[t(r,{size:"small",type:"primary",class:"btn btn-upload",round:""},{default:u(()=>[p(n(e.$t("hailuo.button.uploadStartImageUrl")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-remove","on-success","headers"])])}const ke=k(fe,[["render",be],["__scopeId","data-v-48f4a681"]]),we="",ye=b({name:"PromptInput",components:{ElInput:N,InfoIcon:P},computed:{prompt:{get(){return this.$store.state.hailuo?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("hailuo/setConfig",{...this.$store.state.hailuo?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=we)}}),Ee={class:"field"},Se={class:"box"},Ie={class:"title font-bold"};function Te(e,s,f,g,w,y){const d=o("info-icon"),m=o("el-input");return a(),c("div",Ee,[i("div",Se,[i("h2",Ie,n(e.$t("hailuo.name.prompt")),1),t(d,{content:e.$t("hailuo.description.prompt"),class:"info"},null,8,["content"])]),t(m,{modelValue:e.prompt,"onUpdate:modelValue":s[0]||(s[0]=r=>e.prompt=r),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("hailuo.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ve=k(ye,[["render",Te],["__scopeId","data-v-c601bcba"]]),Ce=b({name:"PresetPanel",components:{ElButton:S,FontAwesomeIcon:L,PromptInput:Ve,StartImageUrlInput:ke,ModelSelector:he,Consumption:H},emits:["generate"],computed:{config(){return this.$store.state.hailuo?.config},consumption(){return J(this.config,this.service?.cost)},service(){return this.$store.state.hailuo?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Le={class:"flex flex-col h-full"},Ue={class:"flex-1 overflow-y-auto p-5"},Ge={class:"flex flex-col items-center justify-center px-5 pb-5"};function Pe(e,s,f,g,w,y){const d=o("prompt-input"),m=o("model-selector"),r=o("start-image-url-input"),_=o("consumption"),l=o("font-awesome-icon"),$=o("el-button");return a(),c("div",Le,[i("div",Ue,[t(d,{class:"mb-4"}),t(m,{class:"mb-4"}),e.config?.model==="minimax-i2v"?(a(),v(r,{key:0,class:"mb-2"})):h("",!0)]),i("div",Ge,[t(_,{value:e.consumption,service:e.service},null,8,["value","service"]),e.config?.video_url!==void 0||e.config?.custom?(a(),v($,{key:0,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(l,{icon:"fa-solid fa-magic",class:"mr-2"}),p(" "+n(e.$t("hailuo.button.extend")),1)]),_:1},8,["onClick"])):(a(),v($,{key:1,type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:u(()=>[t(l,{icon:"fa-solid fa-magic",class:"mr-2"}),p(" "+n(e.$t("hailuo.button.generate")),1)]),_:1},8,["onClick"]))])])}const Re=k(Ce,[["render",Pe]]),Ae=b({name:"TaskPreview",components:{ElImage:x,CopyToClipboard:W,FontAwesomeIcon:L,ElAlert:Z,VideoPlayer:X,ElTooltip:Y,ElButton:S},props:{modelValue:{type:Object,required:!0}},computed:{application(){return this.$store.state.hailuo?.application},config(){return this.$store.state.hailuo?.config},video(){return this.modelValue?.response?.data?.[0]}},methods:{onDownload(e){console.debug("on download hailuo video",e),window.open(e,"_blank")}}}),Me={class:"preview"},De={class:"left"},je={class:"main"},Be={class:"bot"},qe={class:"datetime"},Oe={class:"info"},ze={key:0,class:"prompt mt-2"},Fe={key:0},Ne={key:1},He={key:0,class:I({content:!0,failed:!0})},Je={key:0,class:"mb-4"},Ke={key:1,class:I({operations:!0,"mt-2":!0})},Qe={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},We={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Xe={key:1,class:I({content:!0})},Ye={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ze={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},xe={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},et={key:2,class:I({content:!0})},tt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function ot(e,s,f,g,w,y){const d=o("el-image"),m=o("video-player"),r=o("el-button"),_=o("el-tooltip"),l=o("font-awesome-icon"),$=o("copy-to-clipboard"),T=o("el-alert");return a(),c("div",Me,[i("div",De,[t(d,{src:"https://cdn.acedata.cloud/0qg4gp.png",class:"avatar"})]),i("div",je,[i("div",Be,[p(n(e.$t("hailuo.name.hailuoBot"))+" ",1),i("span",qe,n(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),i("div",Oe,[e.modelValue?.request?.prompt?(a(),c("p",ze,[p(n(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?h("",!0):(a(),c("span",Fe," - ("+n(e.$t("hailuo.status.pending"))+") ",1)),e.video?.state==="processing"||e.video?.state==="pending"||e.video?.state==="running"?(a(),c("span",Ne," - ("+n(e.$t("hailuo.status.processing"))+") ",1)):h("",!0)])):h("",!0)]),e.modelValue?.response?.success===!0?(a(),c("div",He,[e.video?.video_url?(a(),c("div",Je,[t(m,{src:e.video?.video_url},null,8,["src"])])):h("",!0),e.video?(a(),c("div",Ke,[t(_,{class:"box-item",effect:"dark",content:e.$t("hailuo.message.downloadVideo"),placement:"top-start"},{default:u(()=>[e.video?.video_url?(a(),v(r,{key:0,type:"info",size:"small",class:"mb-2",onClick:s[0]||(s[0]=A(mt=>e.onDownload(e.video?.video_url),["stop"]))},{default:u(()=>[p(n(e.$t("hailuo.button.download")),1)]),_:1})):h("",!0)]),_:1},8,["content"])])):h("",!0),t(T,{closable:!1,class:"mt-2 success"},{default:u(()=>[e.modelValue?.request?.model?(a(),c("p",Qe,[t(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.model"))+": "+n(e.modelValue?.request?.model)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])])):h("",!0),i("p",We,[t(l,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):h("",!0),e.modelValue?.response?.success===!1?(a(),c("div",Xe,[t(T,{closable:!1,class:"failure"},{template:u(()=>[t(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.failure")),1)]),default:u(()=>[i("p",Ye,[t(l,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])]),i("p",Ze,[t(l,{icon:"fa-solid fa-circle-info",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.failureReason"))+": "+n(e.modelValue?.response?.error?.message)+" ",1),t($,{content:e.modelValue?.response?.error?.message},null,8,["content"])]),i("p",xe,[t(l,{icon:"fa-solid fa-hashtag",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.traceId"))+": "+n(e.modelValue?.response?.trace_id)+" ",1),t($,{content:e.modelValue?.response?.trace_id},null,8,["content"])])]),_:1})])):h("",!0),e.modelValue?.response?.success===void 0?(a(),c("div",et,[t(T,{closable:!1,class:"info"},{template:u(()=>[t(l,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.failure")),1)]),default:u(()=>[i("p",tt,[t(l,{icon:"fa-solid fa-magic",class:"mr-1"}),p(" "+n(e.$t("hailuo.name.taskId"))+": "+n(e.modelValue?.id)+" ",1),t($,{content:e.modelValue?.id},null,8,["content"])])]),_:1})])):h("",!0)])])}const st=k(Ae,[["render",ot],["__scopeId","data-v-48b0ddf9"]]),at=b({name:"RecentPanel",components:{TaskPreview:st,BotPlaceholder:ee,NoTasks:te,ScrollList:O},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.hailuo?.tasks,items:this.$store.state.hailuo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),nt={key:0},lt={key:2,class:"w-full h-full flex items-center justify-center"};function it(e,s,f,g,w,y){const d=o("bot-placeholder"),m=o("task-preview"),r=o("scroll-list"),_=o("no-tasks");return a(),c(C,null,[e.tasks?.items===void 0?(a(),c("div",nt,[t(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),v(r,{key:1,ref:"scrollList",class:"tasks w-full h-full overflow-y-auto",loading:e.loading,onReachTop:s[0]||(s[0]=l=>e.$emit("reach-top"))},{default:u(()=>[(a(!0),c(C,null,G(e.tasks?.items,l=>(a(),v(m,{key:l.id,"model-value":l},null,8,["model-value"]))),128))]),_:1},8,["loading"])):h("",!0),e.tasks?.items?.length===0?(a(),c("div",lt,[t(_)])):h("",!0)],64)}const rt=k(at,[["render",it]]),ct="https://webhook.acedata.cloud/hailuo",ut=b({name:"HailuoIndex",components:{ConfigPanel:Re,Layout:re,RecentPanel:rt},inject:["initialized"],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.hailuo?.status?.getApplications===U.Request},tasksLoading(){return this.$store.state.hailuo?.status?.getTasks===U.Request||this.fetchingTasks},credential(){return this.$store.state.hailuo.credential},config(){return this.$store.state.hailuo.config},application(){return this.$store.state.hailuo.application},tasks(){return this.$store.state.hailuo.tasks}},watch:{tasks:{handler(e,s){e?.items?.length>s?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await oe({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("hailuo/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("hailuo/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:s=5,createdAtMin:f,createdAtMax:g}=e||{};console.debug("limit",s,"createdAtMin",f,"createdAtMax",g),this.fetchingTasks=!0;try{await this.$store.dispatch("hailuo/getTasks",{limit:s,createdAtMin:f,createdAtMax:g})}finally{this.fetchingTasks=!1}},async onGenerate(){const e={...this.config,callback_url:ct},s=this.credential?.token;if(!s){console.error("no token specified");return}E.info(this.$t("hailuo.message.startingTask")),Q.generate(e,{token:s}).then(()=>{E.success(this.$t("hailuo.message.startTaskSuccess"))}).catch(f=>{f?.response?.data?.error?.code===K?E.error(this.$t("hailuo.message.usedUp")):E.error(this.$t("hailuo.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function dt(e,s,f,g,w,y){const d=o("config-panel"),m=o("recent-panel"),r=o("layout");return a(),v(r,null,{config:u(()=>[t(d,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:u(()=>[t(m,{ref:"recentPanel",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const no=k(ut,[["render",dt]]);export{no as default};
@@ -1 +1 @@
1
- import{F as S}from"./index.es-CTSlEmkZ.js";import{E as q}from"./index-C2C5Wr_B.js";import{E as W}from"./index-D2HSg-zC.js";import{d as k,H as l,E as c,z as C,C as o,y as $,D as s,q as n,F as a,I as u,O as A,N,x as V,J as b,M as x,Q as O}from"./vendor-vue-C5BV5QrY.js";import{D as y,b1 as K,cA as J,cB as z,cC as P,cD as Q,cE as T,cF as G,cG as D,cH as j,ao as F}from"./index-DxnrvYVH.js";import{I as U,S as X}from"./ScrollList-ppHF7k1A.js";import{E as Y}from"./index-CVHZPJ6x.js";import{p as Z}from"./pasteUploadMixin-BurWbGNQ.js";import{I as H}from"./ImagePreview-hUTkC0Ih.js";import{E as ee}from"./index-De6GneQ8.js";import{E as R}from"./index-BEISdWxi.js";import{a as B,E as M}from"./index-DiqBmBf1.js";import{C as te}from"./Consumption-C-RXHwF8.js";import{a as oe}from"./price-pXO0t_ig.js";import{b as ae}from"./errorCode-Cqj9Td_Z.js";import{n as ne}from"./nanobanana-DBSwoCbv.js";import{C as se}from"./CopyToClipboard-j5Q2Kc6N.js";import{I as le}from"./ImageWrapper-nAPnMgFW.js";import{E as re}from"./index-CZSdwn7u.js";import{E as ie}from"./index-CVh8Wj89.js";import{E as ce}from"./index-BoNQ2bwh.js";import{B as ue}from"./BotPlaceholder-CnYzSwa6.js";import{N as me}from"./NoTasks-DCFz_cPB.js";import"./use-form-item-CVgF_2-v.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Bl-Po99g.js";import"./typescript-Cdvt30Lj.js";import"./index-BoMrEY9d.js";import"./index-D5nhIR6Q.js";import"./index-Qx6yMP72.js";import"./_baseClone-OaArZu3M.js";import"./_Uint8Array-B9wo990u.js";import"./_initCloneObject-CezWJWWn.js";import"./isEqual-6gRCrOyw.js";import"./index-Ht8ZOU1H.js";import"./strings-DGr9fDRd.js";import"./castArray-CEgxRlUQ.js";import"./debounce-z3wHMjDj.js";import"./_baseIteratee-CAzVICbz.js";import"./index-BfOryRNq.js";import"./index-5durBcIc.js";const de=k({name:"LayoutNanobanana",components:{ElDrawer:W,ElButton:q,FontAwesomeIcon:S},data(){return{drawer:!1}}}),pe={class:"main flex flex-row flex-1"},fe={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},he={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function _e(e,t,g,r,m,f){const h=s("font-awesome-icon"),_=s("el-button"),d=s("el-drawer");return n(),l("div",pe,[c("div",fe,[C(e.$slots,"config",{},void 0,!0)]),c("div",he,[C(e.$slots,"result",{},void 0,!0)]),o(_,{circle:"",class:"menu",onClick:t[0]||(t[0]=p=>e.drawer=!0)},{default:$(()=>[o(h,{icon:"fa-solid fa-magic"})]),_:1}),o(d,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=p=>e.drawer=p),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:$(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ge=y(de,[["render",_e],["__scopeId","data-v-9fbc8a5c"]]),be="",$e=k({name:"PromptInput",components:{ElInput:Y,InfoIcon:U},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=be)}}),ve={class:"field"},ke={class:"box"},ye={class:"title font-bold"};function we(e,t,g,r,m,f){const h=s("info-icon"),_=s("el-input");return n(),l("div",ve,[c("div",ke,[c("h2",ye,a(e.$t("nanobanana.name.prompt")),1),o(h,{content:e.$t("nanobanana.description.prompt"),class:"info"},null,8,["content"])]),o(_,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=d=>e.prompt=d),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("nanobanana.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ae=y($e,[["render",we],["__scopeId","data-v-2331e197"]]),Ve=k({name:"ImageUrlsInput",components:{ElUpload:ee,ElButton:q,InfoIcon:U,ImagePreview:H,FontAwesomeIcon:S},mixins:[Z],data(){return{fileList:[],uploadUrl:K()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const r=(this.fileList||[]).filter(m=>!m?.response?.file_url);this.fileList=r.length?r:[];return}const t=[];e.forEach(r=>{const m=this.fileList.find(f=>f?.response?.file_url===r||f?.url===r);m?t.push(m):t.push({name:r.split("/").pop()||r,url:r,status:"success",percentage:100,response:{file_url:r}})}),(this.fileList||[]).filter(r=>!r?.response?.file_url).forEach(r=>{t.some(f=>f===r||f?.url===r?.url||f?.response?.file_url===r?.response?.file_url)||t.push(r)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){R.warning(this.$t("nanobanana.message.uploadImageExceed"))},onError(){R.error(this.$t("nanobanana.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Ne={class:"field flex items-center justify-between"},Ee={class:"title font-bold text-[14px] mb-[10px]"},Re={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Ie={class:"controls flex items-center"},Le={class:"file-list flex flex-wrap gap-[10px]"};function Te(e,t,g,r,m,f){const h=s("font-awesome-icon"),_=s("el-button"),d=s("el-upload"),p=s("info-icon"),w=s("image-preview");return n(),l(A,null,[c("div",Ne,[c("h2",Ee,a(e.$t("nanobanana.name.imageUrls")),1),c("div",Re,[c("div",Ie,[o(d,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=i=>e.fileList=i),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:$(()=>[o(_,{size:"small",type:"primary",round:""},{default:$(()=>[o(h,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+a(e.$t("nanobanana.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),o(p,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",Le,[(n(!0),l(A,null,N(e.fileList,(i,v)=>(n(),V(w,{key:i.uid||i?.response?.file_url||i.url||v,url:i.url||i?.response?.file_url,name:i.name,percentage:i.percentage,onRemove:E=>e.onRemovePreview(v,i)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Se=y(Ve,[["render",Te]]),qe=k({name:"AspectRatioSelector",components:{ElSelect:M,ElOption:B},data(){return{options:["1:1","3:2","2:3","16:9","9:16","4:3","3:4"]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e);const t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit("nanobanana/setConfig",t)}}}}),Oe={class:"field"},Ue={class:"title font-bold"};function Ce(e,t,g,r,m,f){const h=s("el-option"),_=s("el-select");return n(),l("div",Oe,[c("h2",Ue,a(e.$t("nanobanana.name.aspectRatio")),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",clearable:"",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(A,null,N(e.options,d=>(n(),V(h,{key:d,label:d,value:d},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Pe=y(qe,[["render",Ce],["__scopeId","data-v-67f08a08"]]),Be=k({name:"NanobananaModelSelector",components:{ElSelect:M,ElOption:B,InfoIcon:U},data(){return{options:[{value:z,label:this.$t("nanobanana.model.nanoBanana")},{value:P,label:this.$t("nanobanana.model.nanoBananaPro")},{value:Q,label:this.$t("nanobanana.model.nanoBanana2")}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t("nanobanana.description.model")}},mounted(){this.value||(this.value=J)}}),Me={class:"field"},Ge={class:"label"},De={class:"box"},je={class:"title font-bold"};function Fe(e,t,g,r,m,f){const h=s("info-icon"),_=s("el-option"),d=s("el-select");return n(),l("div",Me,[c("div",Ge,[c("div",De,[c("h2",je,a(e.$t("nanobanana.name.model")),1),o(h,{content:e.modelDescription,class:"info"},null,8,["content"])])]),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=p=>e.value=p),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(A,null,N(e.options,p=>(n(),V(_,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const ze=y(Be,[["render",Fe],["__scopeId","data-v-94304d73"]]),He=k({name:"NanobananaResolutionSelector",components:{ElSelect:M,ElOption:B,InfoIcon:U},data(){return{cachedResolution:T,options:[{value:G,label:G},{value:D,label:D},{value:j,label:j}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model!==z}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||(this.value=this.cachedResolution||T):(this.value&&(this.cachedResolution=this.value),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.isProModel&&!this.value&&(this.value=T),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),We={class:"field"},xe={class:"label"},Ke={class:"box"},Je={class:"title font-bold"};function Qe(e,t,g,r,m,f){const h=s("info-icon"),_=s("el-option"),d=s("el-select");return n(),l("div",We,[c("div",xe,[c("div",Ke,[c("h2",Je,a(e.$t("nanobanana.name.resolution")),1),o(h,{content:e.$t("nanobanana.description.resolutionProOnly"),class:"info"},null,8,["content"])])]),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=p=>e.value=p),class:"value",placeholder:e.$t("nanobanana.placeholder.select"),disabled:!e.isProModel},{default:$(()=>[(n(!0),l(A,null,N(e.options,p=>(n(),V(_,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])}const Xe=y(He,[["render",Qe],["__scopeId","data-v-fd5ab393"]]),Ye=k({name:"ConfigPanel",components:{ElButton:q,FontAwesomeIcon:S,PromptInput:Ae,Consumption:te,ImageUrlsInput:Se,AspectRatioSelector:Pe,ModelSelector:ze,ResolutionSelector:Xe},emits:["generate"],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return oe({...e,action:t?"edit":"generate"},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ze={class:"flex flex-col h-full"},et={class:"flex-1 overflow-y-auto p-5"},tt={class:"flex flex-col items-center justify-center px-5 pb-5"};function ot(e,t,g,r,m,f){const h=s("model-selector"),_=s("resolution-selector"),d=s("prompt-input"),p=s("aspect-ratio-selector"),w=s("image-urls-input"),i=s("consumption"),v=s("font-awesome-icon"),E=s("el-button");return n(),l("div",Ze,[c("div",et,[o(h,{class:"mb-4"}),o(_,{class:"mb-4"}),o(d,{class:"mb-4"}),o(p,{class:"mb-4"}),o(w,{class:"mb-4"})]),c("div",tt,[o(i,{value:e.consumption,service:e.service},null,8,["value","service"]),o(E,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:$(()=>[o(v,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+a(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const at=y(Ye,[["render",ot]]),nt=k({name:"TaskPreview",components:{ElImage:ce,CopyToClipboard:se,FontAwesomeIcon:S,ElAlert:ie,ImageWrapper:le,ElButton:q,ElTooltip:re,ImagePreview:H},props:{modelValue:{type:Object,required:!0}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit("nanobanana/setConfig",t)}}}),st={class:"preview"},lt={class:"left"},rt={class:"main"},it={class:"bot"},ct={class:"datetime"},ut={class:"info"},mt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},dt={key:1,class:"prompt mt-2"},pt={key:0},ft={key:0,class:O({content:!0,failed:!0})},ht={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},_t={class:O({operations:!0,"mt-2":!0,"mb-2":!0})},gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},wt={key:1,class:O({content:!0})},At={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Et={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Tt={key:2,class:O({content:!0})},St={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ct={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function Pt(e,t,g,r,m,f){const h=s("el-image"),_=s("image-preview"),d=s("image-wrapper"),p=s("el-button"),w=s("el-tooltip"),i=s("font-awesome-icon"),v=s("copy-to-clipboard"),E=s("el-alert");return n(),l("div",st,[c("div",lt,[o(h,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),c("div",rt,[c("div",it,[u(a(e.$t("nanobanana.name.nanobananaBot"))+" ",1),c("span",ct,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",ut,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(n(),l("div",mt,[(n(!0),l(A,null,N(e.modelValue?.request?.image_urls,(I,L)=>(n(),V(_,{key:L,url:I,name:`image-${L+1}`,closable:!1},null,8,["url","name"]))),128))])):b("",!0),e.modelValue?.request?.prompt?(n(),l("p",dt,[u(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?b("",!0):(n(),l("span",pt," - ("+a(e.$t("nanobanana.status.pending"))+") ",1))])):b("",!0)]),e.modelValue?.response?.success===!0?(n(),l("div",ft,[c("div",ht,[(n(!0),l(A,null,N(e.images,(I,L)=>(n(),V(d,{key:L,src:I?.image_url,"raw-src":I?.image_url},null,8,["src","raw-src"]))),128))]),c("div",_t,[o(w,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:$(()=>[o(p,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=x(I=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:$(()=>[u(a(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(E,{closable:!1,class:"mt-2 success"},{default:$(()=>[e.modelValue?.request?.model?(n(),l("p",gt,[o(i,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(n(),l("p",bt,[o(i,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",$t,[o(i,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):b("",!0),e.modelValue?.request?.action?(n(),l("p",vt,[o(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",kt,[o(i,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),l("p",yt,[o(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):b("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(n(),l("div",wt,[o(E,{closable:!1,class:"failure"},{template:$(()=>[o(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",At,[o(i,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(n(),l("p",Vt,[o(i,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Nt,[o(i,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):b("",!0),e.modelValue?.request?.action?(n(),l("p",Et,[o(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",Rt,[o(i,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",It,[o(i,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),o(v,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),l("p",Lt,[o(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):b("",!0)]),_:1})])):(n(),l("div",Tt,[o(E,{closable:!1,class:"info"},{template:$(()=>[o(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",St,[o(i,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(n(),l("p",qt,[o(i,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Ot,[o(i,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):b("",!0),e.modelValue?.request?.action?(n(),l("p",Ut,[o(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",Ct,[o(i,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Bt=y(nt,[["render",Pt],["__scopeId","data-v-72e2ec32"]]),Mt=k({name:"RecentPanel",components:{TaskPreview:Bt,BotPlaceholder:ue,NoTasks:me,ScrollList:X},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Gt={key:0},Dt={key:2,class:"w-full h-full flex items-center justify-center"};function jt(e,t,g,r,m,f){const h=s("bot-placeholder"),_=s("task-preview"),d=s("scroll-list"),p=s("no-tasks");return n(),l(A,null,[e.tasks?.items===void 0?(n(),l("div",Gt,[o(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),V(d,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=w=>e.$emit("reach-top"))},{default:$(()=>[(n(!0),l(A,null,N(e.tasks?.items,w=>(n(),V(_,{key:w.id,"model-value":w},null,8,["model-value"]))),128))]),_:1},8,["loading"])):b("",!0),e.tasks?.items?.length===0?(n(),l("div",Dt,[o(p)])):b("",!0)],64)}const Ft=y(Mt,[["render",jt]]),zt="https://webhook.acedata.cloud/nanobanana",Ht=k({name:"NanobananaIndex",components:{ConfigPanel:at,Layout:ge,RecentPanel:Ft},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===F.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const g=this.tasks?.items?.[0];if(!g?.created_at)return;const m=this.$refs.recentPanel?.getScrollElement?.(),f=m?.scrollHeight||0,h=m?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:g.created_at}),await this.$nextTick(),m){const _=m.scrollHeight;m.scrollTop=_-f+h}}finally{this.loading=!1}},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("nanobanana/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("nanobanana/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:g,createdAtMax:r}=e||{};console.debug("limit",t,"createdAtMin",g,"createdAtMax",r),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:g,createdAtMax:r})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;delete e.action,!t&&"image_urls"in e&&delete e.image_urls,e?.aspect_ratio||delete e.aspect_ratio,e?.model!==P&&"resolution"in e&&delete e.resolution,e?.model===P&&!e?.resolution&&(e.resolution=T);const g={...e,action:t?"edit":"generate",callback_url:zt},r=this.credential?.token;if(!r){console.error("no token specified");return}R.info(this.$t("nanobanana.message.startingTask")),ne.generate(g,{token:r}).then(()=>{R.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(m=>{const f=m?.response?.data;f?.error?.code===ae?R.error(this.$t("nanobanana.message.usedUp")):R.error(this.$t("nanobanana.message.startTaskFailed")+(f?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Wt(e,t,g,r,m,f){const h=s("config-panel"),_=s("recent-panel"),d=s("layout");return n(),V(d,null,{config:$(()=>[o(h,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:$(()=>[o(_,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Po=y(Ht,[["render",Wt]]);export{Po as default};
1
+ import{F as S}from"./index.es-JHCCRstw.js";import{E as q}from"./index-CtRTmc2s.js";import{E as W}from"./index-D9_8-GJo.js";import{d as k,H as l,E as c,z as C,C as o,y as $,D as s,q as n,F as a,I as u,O as A,N,x as V,J as b,M as x,Q as O}from"./vendor-vue-C5BV5QrY.js";import{D as y,b1 as K,cA as J,cB as z,cC as P,cD as Q,cE as T,cF as G,cG as D,cH as j,ao as F}from"./index-CM9zReVQ.js";import{I as U,S as X}from"./ScrollList-fEddRgze.js";import{E as Y}from"./index-ioBbJDcl.js";import{p as Z}from"./pasteUploadMixin-BurWbGNQ.js";import{I as H}from"./ImagePreview-UzQByA5J.js";import{E as ee}from"./index-Cyl0FZ0o.js";import{E as R}from"./index-C4LEUyuD.js";import{a as B,E as M}from"./index-BVzdhJ87.js";import{C as te}from"./Consumption-DaHsAueY.js";import{a as oe}from"./price-BEn078PF.js";import{b as ae}from"./errorCode-Cqj9Td_Z.js";import{n as ne}from"./nanobanana-BUPi3LYP.js";import{C as se}from"./CopyToClipboard-BPnYSmV9.js";import{I as le}from"./ImageWrapper-ZOmq3B5u.js";import{E as re}from"./index-C80csLdP.js";import{E as ie}from"./index-sqdaAdWg.js";import{E as ce}from"./index-CkXICIBK.js";import{B as ue}from"./BotPlaceholder-DeiY4SpV.js";import{N as me}from"./NoTasks-Dv0geGXS.js";import"./use-form-item-8zDrNpgH.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Bl-Po99g.js";import"./typescript-gcHX6vpO.js";import"./index-BTFeaU3-.js";import"./index-BWaRzv5s.js";import"./index-CDqaOjLm.js";import"./_baseClone-DVWa3d3y.js";import"./_Uint8Array-B1ZmS77O.js";import"./_initCloneObject-fE07fVX-.js";import"./isEqual-BBm-NN6U.js";import"./index-CLi4-Mwl.js";import"./strings-DGr9fDRd.js";import"./castArray-CdNG57Vc.js";import"./debounce-DJG7nn03.js";import"./_baseIteratee-BxV3nP3B.js";import"./index-binwyAFH.js";import"./index-BUReUXKk.js";const de=k({name:"LayoutNanobanana",components:{ElDrawer:W,ElButton:q,FontAwesomeIcon:S},data(){return{drawer:!1}}}),pe={class:"main flex flex-row flex-1"},fe={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},he={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function _e(e,t,g,r,m,f){const h=s("font-awesome-icon"),_=s("el-button"),d=s("el-drawer");return n(),l("div",pe,[c("div",fe,[C(e.$slots,"config",{},void 0,!0)]),c("div",he,[C(e.$slots,"result",{},void 0,!0)]),o(_,{circle:"",class:"menu",onClick:t[0]||(t[0]=p=>e.drawer=!0)},{default:$(()=>[o(h,{icon:"fa-solid fa-magic"})]),_:1}),o(d,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=p=>e.drawer=p),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:$(()=>[C(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ge=y(de,[["render",_e],["__scopeId","data-v-9fbc8a5c"]]),be="",$e=k({name:"PromptInput",components:{ElInput:Y,InfoIcon:U},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=be)}}),ve={class:"field"},ke={class:"box"},ye={class:"title font-bold"};function we(e,t,g,r,m,f){const h=s("info-icon"),_=s("el-input");return n(),l("div",ve,[c("div",ke,[c("h2",ye,a(e.$t("nanobanana.name.prompt")),1),o(h,{content:e.$t("nanobanana.description.prompt"),class:"info"},null,8,["content"])]),o(_,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=d=>e.prompt=d),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("nanobanana.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ae=y($e,[["render",we],["__scopeId","data-v-2331e197"]]),Ve=k({name:"ImageUrlsInput",components:{ElUpload:ee,ElButton:q,InfoIcon:U,ImagePreview:H,FontAwesomeIcon:S},mixins:[Z],data(){return{fileList:[],uploadUrl:K()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.nanobanana?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const r=(this.fileList||[]).filter(m=>!m?.response?.file_url);this.fileList=r.length?r:[];return}const t=[];e.forEach(r=>{const m=this.fileList.find(f=>f?.response?.file_url===r||f?.url===r);m?t.push(m):t.push({name:r.split("/").pop()||r,url:r,status:"success",percentage:100,response:{file_url:r}})}),(this.fileList||[]).filter(r=>!r?.response?.file_url).forEach(r=>{t.some(f=>f===r||f?.url===r?.url||f?.response?.file_url===r?.response?.file_url)||t.push(r)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){R.warning(this.$t("nanobanana.message.uploadImageExceed"))},onError(){R.error(this.$t("nanobanana.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Ne={class:"field flex items-center justify-between"},Ee={class:"title font-bold text-[14px] mb-[10px]"},Re={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Ie={class:"controls flex items-center"},Le={class:"file-list flex flex-wrap gap-[10px]"};function Te(e,t,g,r,m,f){const h=s("font-awesome-icon"),_=s("el-button"),d=s("el-upload"),p=s("info-icon"),w=s("image-preview");return n(),l(A,null,[c("div",Ne,[c("h2",Ee,a(e.$t("nanobanana.name.imageUrls")),1),c("div",Re,[c("div",Ie,[o(d,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=i=>e.fileList=i),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:$(()=>[o(_,{size:"small",type:"primary",round:""},{default:$(()=>[o(h,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+a(e.$t("nanobanana.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),o(p,{content:e.$t("nanobanana.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",Le,[(n(!0),l(A,null,N(e.fileList,(i,v)=>(n(),V(w,{key:i.uid||i?.response?.file_url||i.url||v,url:i.url||i?.response?.file_url,name:i.name,percentage:i.percentage,onRemove:E=>e.onRemovePreview(v,i)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const Se=y(Ve,[["render",Te]]),qe=k({name:"AspectRatioSelector",components:{ElSelect:M,ElOption:B},data(){return{options:["1:1","3:2","2:3","16:9","9:16","4:3","3:4"]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.aspect_ratio},set(e){console.debug("set aspect_ratio",e);const t={...this.$store.state.nanobanana?.config||{}};e?t.aspect_ratio=e:delete t.aspect_ratio,this.$store.commit("nanobanana/setConfig",t)}}}}),Oe={class:"field"},Ue={class:"title font-bold"};function Ce(e,t,g,r,m,f){const h=s("el-option"),_=s("el-select");return n(),l("div",Oe,[c("h2",Ue,a(e.$t("nanobanana.name.aspectRatio")),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=d=>e.value=d),class:"value",clearable:"",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(A,null,N(e.options,d=>(n(),V(h,{key:d,label:d,value:d},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Pe=y(qe,[["render",Ce],["__scopeId","data-v-67f08a08"]]),Be=k({name:"NanobananaModelSelector",components:{ElSelect:M,ElOption:B,InfoIcon:U},data(){return{options:[{value:z,label:this.$t("nanobanana.model.nanoBanana")},{value:P,label:this.$t("nanobanana.model.nanoBananaPro")},{value:Q,label:this.$t("nanobanana.model.nanoBanana2")}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.model},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,model:e})}},modelDescription(){return this.$t("nanobanana.description.model")}},mounted(){this.value||(this.value=J)}}),Me={class:"field"},Ge={class:"label"},De={class:"box"},je={class:"title font-bold"};function Fe(e,t,g,r,m,f){const h=s("info-icon"),_=s("el-option"),d=s("el-select");return n(),l("div",Me,[c("div",Ge,[c("div",De,[c("h2",je,a(e.$t("nanobanana.name.model")),1),o(h,{content:e.modelDescription,class:"info"},null,8,["content"])])]),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=p=>e.value=p),class:"value",placeholder:e.$t("nanobanana.placeholder.select")},{default:$(()=>[(n(!0),l(A,null,N(e.options,p=>(n(),V(_,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const ze=y(Be,[["render",Fe],["__scopeId","data-v-94304d73"]]),He=k({name:"NanobananaResolutionSelector",components:{ElSelect:M,ElOption:B,InfoIcon:U},data(){return{cachedResolution:T,options:[{value:G,label:G},{value:D,label:D},{value:j,label:j}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:e})}},isProModel(){return this.$store.state.nanobanana?.config?.model!==z}},watch:{value(e){this.isProModel&&e&&(this.cachedResolution=e)},isProModel(e){e?this.value||(this.value=this.cachedResolution||T):(this.value&&(this.cachedResolution=this.value),this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.isProModel&&!this.value&&(this.value=T),!this.isProModel&&this.value&&(this.cachedResolution=this.value,this.$store.commit("nanobanana/setConfig",{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),We={class:"field"},xe={class:"label"},Ke={class:"box"},Je={class:"title font-bold"};function Qe(e,t,g,r,m,f){const h=s("info-icon"),_=s("el-option"),d=s("el-select");return n(),l("div",We,[c("div",xe,[c("div",Ke,[c("h2",Je,a(e.$t("nanobanana.name.resolution")),1),o(h,{content:e.$t("nanobanana.description.resolutionProOnly"),class:"info"},null,8,["content"])])]),o(d,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=p=>e.value=p),class:"value",placeholder:e.$t("nanobanana.placeholder.select"),disabled:!e.isProModel},{default:$(()=>[(n(!0),l(A,null,N(e.options,p=>(n(),V(_,{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])}const Xe=y(He,[["render",Qe],["__scopeId","data-v-fd5ab393"]]),Ye=k({name:"ConfigPanel",components:{ElButton:q,FontAwesomeIcon:S,PromptInput:Ae,Consumption:te,ImageUrlsInput:Se,AspectRatioSelector:Pe,ModelSelector:ze,ResolutionSelector:Xe},emits:["generate"],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return oe({...e,action:t?"edit":"generate"},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Ze={class:"flex flex-col h-full"},et={class:"flex-1 overflow-y-auto p-5"},tt={class:"flex flex-col items-center justify-center px-5 pb-5"};function ot(e,t,g,r,m,f){const h=s("model-selector"),_=s("resolution-selector"),d=s("prompt-input"),p=s("aspect-ratio-selector"),w=s("image-urls-input"),i=s("consumption"),v=s("font-awesome-icon"),E=s("el-button");return n(),l("div",Ze,[c("div",et,[o(h,{class:"mb-4"}),o(_,{class:"mb-4"}),o(d,{class:"mb-4"}),o(p,{class:"mb-4"}),o(w,{class:"mb-4"})]),c("div",tt,[o(i,{value:e.consumption,service:e.service},null,8,["value","service"]),o(E,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:$(()=>[o(v,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+a(e.$t("nanobanana.button.generate")),1)]),_:1},8,["onClick"])])])}const at=y(Ye,[["render",ot]]),nt=k({name:"TaskPreview",components:{ElImage:ce,CopyToClipboard:se,FontAwesomeIcon:S,ElAlert:ie,ImageWrapper:le,ElButton:q,ElTooltip:re,ImagePreview:H},props:{modelValue:{type:Object,required:!0}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit("nanobanana/setConfig",t)}}}),st={class:"preview"},lt={class:"left"},rt={class:"main"},it={class:"bot"},ct={class:"datetime"},ut={class:"info"},mt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},dt={key:1,class:"prompt mt-2"},pt={key:0},ft={key:0,class:O({content:!0,failed:!0})},ht={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},_t={class:O({operations:!0,"mt-2":!0,"mb-2":!0})},gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},wt={key:1,class:O({content:!0})},At={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Nt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Et={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Rt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={key:4,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Tt={key:2,class:O({content:!0})},St={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},qt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ot={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ut={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Ct={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function Pt(e,t,g,r,m,f){const h=s("el-image"),_=s("image-preview"),d=s("image-wrapper"),p=s("el-button"),w=s("el-tooltip"),i=s("font-awesome-icon"),v=s("copy-to-clipboard"),E=s("el-alert");return n(),l("div",st,[c("div",lt,[o(h,{src:"https://cdn.acedata.cloud/859plc.jpg",class:"avatar"})]),c("div",rt,[c("div",it,[u(a(e.$t("nanobanana.name.nanobananaBot"))+" ",1),c("span",ct,a(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",ut,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(n(),l("div",mt,[(n(!0),l(A,null,N(e.modelValue?.request?.image_urls,(I,L)=>(n(),V(_,{key:L,url:I,name:`image-${L+1}`,closable:!1},null,8,["url","name"]))),128))])):b("",!0),e.modelValue?.request?.prompt?(n(),l("p",dt,[u(a(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?b("",!0):(n(),l("span",pt," - ("+a(e.$t("nanobanana.status.pending"))+") ",1))])):b("",!0)]),e.modelValue?.response?.success===!0?(n(),l("div",ft,[c("div",ht,[(n(!0),l(A,null,N(e.images,(I,L)=>(n(),V(d,{key:L,src:I?.image_url,"raw-src":I?.image_url},null,8,["src","raw-src"]))),128))]),c("div",_t,[o(w,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:$(()=>[o(p,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=x(I=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:$(()=>[u(a(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(E,{closable:!1,class:"mt-2 success"},{default:$(()=>[e.modelValue?.request?.model?(n(),l("p",gt,[o(i,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(n(),l("p",bt,[o(i,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",$t,[o(i,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):b("",!0),e.modelValue?.request?.action?(n(),l("p",vt,[o(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",kt,[o(i,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),l("p",yt,[o(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):b("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(n(),l("div",wt,[o(E,{closable:!1,class:"failure"},{template:$(()=>[o(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",At,[o(i,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(n(),l("p",Vt,[o(i,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Nt,[o(i,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):b("",!0),e.modelValue?.request?.action?(n(),l("p",Et,[o(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",Rt,[o(i,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",It,[o(i,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failureReason"))+": "+a(e.modelValue?.response?.error?.message)+" ",1),o(v,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.trace_id?(n(),l("p",Lt,[o(i,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.traceId"))+": "+a(e.modelValue?.response?.trace_id)+" ",1),o(v,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):b("",!0)]),_:1})])):(n(),l("div",Tt,[o(E,{closable:!1,class:"info"},{template:$(()=>[o(i,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(n(),l("p",St,[o(i,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.model"))+": "+a(e.modelValue?.request?.model),1)])):b("",!0),e.modelValue?.request?.resolution?(n(),l("p",qt,[o(i,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.resolution"))+": "+a(e.modelValue?.request?.resolution),1)])):b("",!0),e.modelValue?.request?.aspect_ratio?(n(),l("p",Ot,[o(i,{icon:"fa-solid fa-up-right-from-square",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.aspectRatio"))+": "+a(e.modelValue?.request?.aspect_ratio),1)])):b("",!0),e.modelValue?.request?.action?(n(),l("p",Ut,[o(i,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.task"))+": "+a(e.modelValue?.request?.action==="generate"?e.$t("nanobanana.name.generate"):e.$t("nanobanana.name.edits")),1)])):b("",!0),c("p",Ct,[o(i,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+a(e.$t("nanobanana.name.taskId"))+": "+a(e.modelValue?.id)+" ",1),o(v,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Bt=y(nt,[["render",Pt],["__scopeId","data-v-72e2ec32"]]),Mt=k({name:"RecentPanel",components:{TaskPreview:Bt,BotPlaceholder:ue,NoTasks:me,ScrollList:X},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.nanobanana?.tasks,items:this.$store.state.nanobanana?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Gt={key:0},Dt={key:2,class:"w-full h-full flex items-center justify-center"};function jt(e,t,g,r,m,f){const h=s("bot-placeholder"),_=s("task-preview"),d=s("scroll-list"),p=s("no-tasks");return n(),l(A,null,[e.tasks?.items===void 0?(n(),l("div",Gt,[o(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(n(),V(d,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=w=>e.$emit("reach-top"))},{default:$(()=>[(n(!0),l(A,null,N(e.tasks?.items,w=>(n(),V(_,{key:w.id,"model-value":w},null,8,["model-value"]))),128))]),_:1},8,["loading"])):b("",!0),e.tasks?.items?.length===0?(n(),l("div",Dt,[o(p)])):b("",!0)],64)}const Ft=y(Mt,[["render",jt]]),zt="https://webhook.acedata.cloud/nanobanana",Ht=k({name:"NanobananaIndex",components:{ConfigPanel:at,Layout:ge,RecentPanel:Ft},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.nanobanana?.status?.getApplications===F.Request},tasksLoading(){return this.$store.state.nanobanana?.status?.getTasks===F.Request},credential(){return this.$store.state.nanobanana?.credential},config(){return this.$store.state.nanobanana?.config},application(){return this.$store.state.nanobanana?.application},tasks(){return this.$store.state.nanobanana?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const g=this.tasks?.items?.[0];if(!g?.created_at)return;const m=this.$refs.recentPanel?.getScrollElement?.(),f=m?.scrollHeight||0,h=m?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:g.created_at}),await this.$nextTick(),m){const _=m.scrollHeight;m.scrollTop=_-f+h}}finally{this.loading=!1}},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("nanobanana/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("nanobanana/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:g,createdAtMax:r}=e||{};console.debug("limit",t,"createdAtMin",g,"createdAtMax",r),await this.$store.dispatch("nanobanana/getTasks",{limit:t,createdAtMin:g,createdAtMax:r})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;delete e.action,!t&&"image_urls"in e&&delete e.image_urls,e?.aspect_ratio||delete e.aspect_ratio,e?.model!==P&&"resolution"in e&&delete e.resolution,e?.model===P&&!e?.resolution&&(e.resolution=T);const g={...e,action:t?"edit":"generate",callback_url:zt},r=this.credential?.token;if(!r){console.error("no token specified");return}R.info(this.$t("nanobanana.message.startingTask")),ne.generate(g,{token:r}).then(()=>{R.success(this.$t("nanobanana.message.startTaskSuccess"))}).catch(m=>{const f=m?.response?.data;f?.error?.code===ae?R.error(this.$t("nanobanana.message.usedUp")):R.error(this.$t("nanobanana.message.startTaskFailed")+(f?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Wt(e,t,g,r,m,f){const h=s("config-panel"),_=s("recent-panel"),d=s("layout");return n(),V(d,null,{config:$(()=>[o(h,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:$(()=>[o(_,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Po=y(Ht,[["render",Wt]]);export{Po as default};
@@ -1 +1 @@
1
- import{F as A}from"./index.es-CTSlEmkZ.js";import{E as M}from"./index-C2C5Wr_B.js";import{E as N}from"./index-D2HSg-zC.js";import{d as k,H as i,E as c,z as D,C as t,y as _,D as n,q as a,F as o,I as u,O as E,N as I,x as w,J as v,M as W,Q as R}from"./vendor-vue-C5BV5QrY.js";import{D as y,b1 as H,cq as K,cr as Z,cs as J,ct as Q,cu as X,cv as Y,cw as U,cx as q,cy as G,cz as j,ao as P}from"./index-DxnrvYVH.js";import{I as C,S as x}from"./ScrollList-ppHF7k1A.js";import{E as ee}from"./index-CVHZPJ6x.js";import{p as te}from"./pasteUploadMixin-BurWbGNQ.js";import{I as O}from"./ImagePreview-hUTkC0Ih.js";import{E as se}from"./index-De6GneQ8.js";import{E as V}from"./index-BEISdWxi.js";import{C as oe}from"./Consumption-C-RXHwF8.js";import{a as ae}from"./price-pXO0t_ig.js";import{a as B,E as F}from"./index-DiqBmBf1.js";import{b as ne}from"./errorCode-Cqj9Td_Z.js";import{s as re}from"./seedream-DFHN2jyY.js";import{C as le}from"./CopyToClipboard-j5Q2Kc6N.js";import{I as ie}from"./ImageWrapper-nAPnMgFW.js";import{E as ce}from"./index-CZSdwn7u.js";import{E as me}from"./index-CVh8Wj89.js";import{E as de}from"./index-BoNQ2bwh.js";import{B as ue}from"./BotPlaceholder-CnYzSwa6.js";import{N as pe}from"./NoTasks-DCFz_cPB.js";import"./use-form-item-CVgF_2-v.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Bl-Po99g.js";import"./typescript-Cdvt30Lj.js";import"./index-BoMrEY9d.js";import"./index-D5nhIR6Q.js";import"./index-Qx6yMP72.js";import"./_baseClone-OaArZu3M.js";import"./_Uint8Array-B9wo990u.js";import"./_initCloneObject-CezWJWWn.js";import"./isEqual-6gRCrOyw.js";import"./index-Ht8ZOU1H.js";import"./strings-DGr9fDRd.js";import"./castArray-CEgxRlUQ.js";import"./debounce-z3wHMjDj.js";import"./_baseIteratee-CAzVICbz.js";import"./index-BfOryRNq.js";import"./index-5durBcIc.js";const fe=k({name:"LayoutSeedream",components:{ElDrawer:N,ElButton:M,FontAwesomeIcon:A},data(){return{drawer:!1}}}),he={class:"main flex flex-row flex-1"},_e={class:"config w-[320px] h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ge={class:"result h-full p-6 flex-1 flex flex-col bg-[var(--app-content-bg)]"};function $e(e,s,g,l,d,p){const f=n("font-awesome-icon"),h=n("el-button"),r=n("el-drawer");return a(),i("div",he,[c("div",_e,[D(e.$slots,"config",{},void 0,!0)]),c("div",ge,[D(e.$slots,"result",{},void 0,!0)]),t(h,{circle:"",class:"menu",onClick:s[0]||(s[0]=m=>e.drawer=!0)},{default:_(()=>[t(f,{icon:"fa-solid fa-magic"})]),_:1}),t(r,{modelValue:e.drawer,"onUpdate:modelValue":s[1]||(s[1]=m=>e.drawer=m),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:_(()=>[D(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ve=y(fe,[["render",$e],["__scopeId","data-v-5ff0c320"]]),be="",ke=k({name:"SeedreamPromptInput",components:{ElInput:ee,InfoIcon:C},computed:{prompt:{get(){return this.$store.state.seedream?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("seedream/setConfig",{...this.$store.state.seedream?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=be)}}),ye={class:"field"},Ee={class:"box"},we={class:"title font-bold"};function Se(e,s,g,l,d,p){const f=n("info-icon"),h=n("el-input");return a(),i("div",ye,[c("div",Ee,[c("h2",we,o(e.$t("seedream.name.prompt")),1),t(f,{content:e.$t("seedream.description.prompt"),class:"info"},null,8,["content"])]),t(h,{modelValue:e.prompt,"onUpdate:modelValue":s[0]||(s[0]=r=>e.prompt=r),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("seedream.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ve=y(ke,[["render",Se],["__scopeId","data-v-5559520a"]]),Ie=k({name:"SeedreamImageInput",components:{ElUpload:se,ElButton:M,InfoIcon:C,ImagePreview:O,FontAwesomeIcon:A},mixins:[te],data(){return{fileList:[],uploadUrl:H()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.seedream?.config?.image}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const l=(this.fileList||[]).filter(d=>!d?.response?.file_url);this.fileList=l.length?l:[];return}const s=[];e.forEach(l=>{const d=this.fileList.find(p=>p?.response?.file_url===l||p?.url===l);d?s.push(d):s.push({name:l.split("/").pop()||l,url:l,status:"success",percentage:100,response:{file_url:l}})}),(this.fileList||[]).filter(l=>!l?.response?.file_url).forEach(l=>{s.some(p=>p===l||p?.url===l?.url||p?.response?.file_url===l?.response?.file_url)||s.push(l)}),this.fileList=s}}},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImages()},onExceed(){V.warning(this.$t("seedream.message.uploadImageExceed"))},onError(){V.error(this.$t("seedream.message.uploadImageError"))},onSetImages(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("seedream/setConfig",{...this.$store.state.seedream?.config,image:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,s){e?.file_url&&(s.url=e.file_url,s.response=e),this.onSetImages()},onRemovePreview(e,s){if(this.fileList.splice(e,1),s?.url&&typeof s.url=="string"&&s.url.startsWith("blob:"))try{URL.revokeObjectURL(s.url)}catch{}this.onSetImages()}}}),Le={class:"field"},Re={class:"label"},Te={class:"box"},Ae={class:"title font-bold"},Me={class:"value"},Ce={class:"file-list mt-2 flex flex-wrap gap-[10px]"};function De(e,s,g,l,d,p){const f=n("info-icon"),h=n("font-awesome-icon"),r=n("el-button"),m=n("el-upload"),b=n("image-preview");return a(),i(E,null,[c("div",Le,[c("div",Re,[c("div",Te,[c("h2",Ae,o(e.$t("seedream.name.imageUrls")),1),t(f,{content:e.$t("seedream.description.imageUrls"),class:"info"},null,8,["content"])])]),c("div",Me,[t(m,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":s[0]||(s[0]=$=>e.fileList=$),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",limit:14,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:_(()=>[t(r,{size:"small",type:"primary",round:""},{default:_(()=>[t(h,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+o(e.$t("seedream.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"])])]),c("div",Ce,[(a(!0),i(E,null,I(e.fileList,($,S)=>(a(),w(b,{key:$.uid||$?.response?.file_url||$.url||S,url:$.url||$?.response?.file_url,name:$.name,percentage:$.percentage,onRemove:z=>e.onRemovePreview(S,$)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const ze=y(Ie,[["render",De],["__scopeId","data-v-dc18c674"]]),Ue=k({name:"SeedreamModelSelector",components:{ElSelect:F,ElOption:B,InfoIcon:C},data(){return{options:[{value:Z,label:this.$t("seedream.model.seedream45")},{value:J,label:this.$t("seedream.model.seedream40")},{value:Q,label:this.$t("seedream.model.seedream30t2i")},{value:X,label:this.$t("seedream.model.seededit30i2i")}]}},computed:{value:{get(){return this.$store.state.seedream?.config?.model},set(e){this.$store.commit("seedream/setConfig",{...this.$store.state.seedream?.config,model:e})}}},mounted(){this.value||(this.value=K)}}),qe={class:"field"},Ge={class:"label"},Pe={class:"box"},je={class:"title font-bold"};function Oe(e,s,g,l,d,p){const f=n("info-icon"),h=n("el-option"),r=n("el-select");return a(),i("div",qe,[c("div",Ge,[c("div",Pe,[c("h2",je,o(e.$t("seedream.name.model")),1),t(f,{content:e.$t("seedream.description.model"),class:"info"},null,8,["content"])])]),t(r,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=m=>e.value=m),class:"value",placeholder:e.$t("seedream.placeholder.select")},{default:_(()=>[(a(!0),i(E,null,I(e.options,m=>(a(),w(h,{key:m.value,label:m.label,value:m.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Be=y(Ue,[["render",Oe],["__scopeId","data-v-3c3ca27d"]]),Fe=k({name:"SeedreamSizeSelector",components:{ElSelect:F,ElOption:B,InfoIcon:C},data(){return{options:[{value:U,label:U},{value:q,label:q},{value:G,label:G}]}},computed:{value:{get(){return this.$store.state.seedream?.config?.size},set(e){this.$store.commit("seedream/setConfig",{...this.$store.state.seedream?.config,size:e})}}},mounted(){this.value||(this.value=Y)}}),Ne={class:"field"},We={class:"label"},He={class:"box"},Ke={class:"title font-bold"};function Ze(e,s,g,l,d,p){const f=n("info-icon"),h=n("el-option"),r=n("el-select");return a(),i("div",Ne,[c("div",We,[c("div",He,[c("h2",Ke,o(e.$t("seedream.name.size")),1),t(f,{content:e.$t("seedream.description.size"),class:"info"},null,8,["content"])])]),t(r,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=m=>e.value=m),class:"value",placeholder:e.$t("seedream.placeholder.select"),filterable:"","allow-create":"","default-first-option":""},{default:_(()=>[(a(!0),i(E,null,I(e.options,m=>(a(),w(h,{key:m.value,label:m.label,value:m.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Je=y(Fe,[["render",Ze],["__scopeId","data-v-54a9a469"]]),Qe=k({name:"SeedreamConfigPanel",components:{ElButton:M,FontAwesomeIcon:A,PromptInput:Ve,Consumption:oe,ImageInput:ze,ModelSelector:Be,SizeSelector:Je},emits:["generate"],computed:{config(){return this.$store.state.seedream?.config},consumption(){const e={...this.config||{}},s=Array.isArray(e?.image)&&e.image.length>0;return ae({...e,action:s?"edit":"generate",model:j(e?.model),count:1},this.service?.cost)},service(){return this.$store.state.seedream?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Xe={class:"flex flex-col h-full"},Ye={class:"flex-1 overflow-y-auto p-5"},xe={class:"flex flex-col items-center justify-center px-5 pb-5"};function et(e,s,g,l,d,p){const f=n("model-selector"),h=n("size-selector"),r=n("prompt-input"),m=n("image-input"),b=n("consumption"),$=n("font-awesome-icon"),S=n("el-button");return a(),i("div",Xe,[c("div",Ye,[t(f,{class:"mb-4"}),t(h,{class:"mb-4"}),t(r,{class:"mb-4"}),t(m,{class:"mb-4"})]),c("div",xe,[t(b,{value:e.consumption,service:e.service},null,8,["value","service"]),t(S,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:_(()=>[t($,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+o(e.$t("seedream.button.generate")),1)]),_:1},8,["onClick"])])])}const tt=y(Qe,[["render",et]]),st=k({name:"SeedreamTaskPreview",components:{ElImage:de,CopyToClipboard:le,FontAwesomeIcon:A,ElAlert:me,ImageWrapper:ie,ElButton:M,ElTooltip:ce,ImagePreview:O},props:{modelValue:{type:Object,required:!0}},computed:{isEdit(){return Array.isArray(this.modelValue?.request?.image)&&(this.modelValue?.request?.image?.length||0)>0},images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(s=>{e.push(s)}),e}},methods:{shortModel(e){return j(e)||e},onEdit(e){if(!e)return;console.debug("Edit image:",e);const s={...this.$store.state.seedream?.config||{}};s.image=[e],this.$store.commit("seedream/setConfig",s)}}}),ot={class:"preview"},at={class:"left"},nt={class:"main"},rt={class:"bot"},lt={class:"datetime"},it={class:"info"},ct={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},mt={key:1,class:"prompt mt-2"},dt={key:0},ut={key:0,class:R({content:!0})},pt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},ft={key:1,class:R({content:!0,failed:!0})},ht={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},_t={class:R({operations:!0,"mt-2":!0,"mb-2":!0})},gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},yt={key:2,class:R({content:!0})},Et={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},St={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Rt={key:3,class:R({content:!0})},Tt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},At={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Mt(e,s,g,l,d,p){const f=n("el-image"),h=n("image-preview"),r=n("font-awesome-icon"),m=n("copy-to-clipboard"),b=n("el-alert"),$=n("image-wrapper"),S=n("el-button"),z=n("el-tooltip");return a(),i("div",ot,[c("div",at,[t(f,{src:"https://cdn.acedata.cloud/9egrbn.png",class:"avatar"})]),c("div",nt,[c("div",rt,[u(o(e.$t("seedream.name.seedreamBot"))+" ",1),c("span",lt,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",it,[Array.isArray(e.modelValue?.request?.image)&&e.modelValue?.request?.image.length>0?(a(),i("div",ct,[(a(!0),i(E,null,I(e.modelValue?.request?.image,(L,T)=>(a(),w(h,{key:T,url:L,name:`image-${T+1}`,closable:!1},null,8,["url","name"]))),128))])):v("",!0),e.modelValue?.request?.prompt?(a(),i("p",mt,[u(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?v("",!0):(a(),i("span",dt," - ("+o(e.$t("seedream.status.pending"))+") ",1))])):v("",!0)]),e.modelValue?.response?e.modelValue?.response?.success===!0?(a(),i("div",ft,[c("div",ht,[(a(!0),i(E,null,I(e.images,(L,T)=>(a(),w($,{key:T,src:L?.image_url,"raw-src":L?.image_url},null,8,["src","raw-src"]))),128))]),c("div",_t,[t(z,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:_(()=>[t(S,{type:"info",size:"small",class:"btn-action",onClick:s[0]||(s[0]=W(L=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:_(()=>[u(o(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),t(b,{closable:!1,class:"mt-2 success"},{default:_(()=>[e.modelValue?.request?.model?(a(),i("p",gt,[t(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("seedream.name.model"))+": "+o(e.shortModel(e.modelValue?.request?.model)),1)])):v("",!0),e.modelValue?.request?.size?(a(),i("p",$t,[t(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("seedream.name.size"))+": "+o(e.modelValue?.request?.size),1)])):v("",!0),c("p",vt,[t(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("seedream.name.task"))+": "+o(e.isEdit?e.$t("seedream.name.edits"):e.$t("seedream.name.generate")),1)]),c("p",bt,[t(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("seedream.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),t(m,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),i("p",kt,[t(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("seedream.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),t(m,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(a(),i("div",yt,[t(b,{closable:!1,class:"failure"},{template:_(()=>[t(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+o(e.$t("seedream.name.failure")),1)]),default:_(()=>[e.modelValue?.request?.model?(a(),i("p",Et,[t(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("seedream.name.model"))+": "+o(e.shortModel(e.modelValue?.request?.model)),1)])):v("",!0),e.modelValue?.request?.size?(a(),i("p",wt,[t(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("seedream.name.size"))+": "+o(e.modelValue?.request?.size),1)])):v("",!0),c("p",St,[t(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("seedream.name.task"))+": "+o(e.isEdit?e.$t("seedream.name.edits"):e.$t("seedream.name.generate")),1)]),c("p",Vt,[t(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("seedream.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),t(m,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.error?.message?(a(),i("p",It,[t(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+o(e.$t("seedream.name.failureReason"))+": "+o(e.modelValue?.response?.error?.message)+" ",1),t(m,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])])):v("",!0),e.modelValue?.response?.trace_id?(a(),i("p",Lt,[t(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("seedream.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),t(m,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):v("",!0)]),_:1})])):(a(),i("div",Rt,[t(b,{closable:!1,class:"info"},{template:_(()=>[t(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+o(e.$t("seedream.name.status")),1)]),default:_(()=>[c("p",Tt,[t(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("seedream.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),t(m,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),i("p",At,[t(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("seedream.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),t(m,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):v("",!0)]),_:1})])):(a(),i("div",ut,[t(b,{closable:!1,class:"info"},{template:_(()=>[t(r,{icon:"fa-regular fa-clock",class:"mr-1"}),u(" "+o(e.$t("seedream.status.pending")),1)]),default:_(()=>[c("p",pt,[t(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("seedream.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),t(m,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})]))])])}const Ct=y(st,[["render",Mt],["__scopeId","data-v-e939362a"]]),Dt=k({name:"SeedreamRecentPanel",components:{TaskPreview:Ct,BotPlaceholder:ue,NoTasks:pe,ScrollList:x},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],computed:{tasks(){return{...this.$store.state.seedream?.tasks,items:this.$store.state.seedream?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),zt={key:0},Ut={key:2,class:"w-full h-full flex items-center justify-center"};function qt(e,s,g,l,d,p){const f=n("bot-placeholder"),h=n("task-preview"),r=n("scroll-list"),m=n("no-tasks");return a(),i(E,null,[e.tasks?.items===void 0?(a(),i("div",zt,[t(f)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),w(r,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:s[0]||(s[0]=b=>e.$emit("reach-top"))},{default:_(()=>[(a(!0),i(E,null,I(e.tasks?.items,b=>(a(),w(h,{key:b.id,"model-value":b},null,8,["model-value"]))),128))]),_:1},8,["loading"])):v("",!0),e.tasks?.items?.length===0?(a(),i("div",Ut,[t(m)])):v("",!0)],64)}const Gt=y(Dt,[["render",qt]]),Pt="https://webhook.acedata.cloud/seedream",jt=k({name:"SeedreamIndex",components:{ConfigPanel:tt,Layout:ve,RecentPanel:Gt},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.seedream?.status?.getApplications===P.Request},tasksLoading(){return this.$store.state.seedream?.status?.getTasks===P.Request},credential(){return this.$store.state.seedream?.credential},config(){return this.$store.state.seedream?.config},application(){return this.$store.state.seedream?.application},tasks(){return this.$store.state.seedream?.tasks}},watch:{tasks:{handler(e,s){e?.items?.length>s?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,s=this.tasks?.items?.length||0;if(e!==void 0&&e<=s)return;const g=this.tasks?.items?.[0];if(!g?.created_at)return;const d=this.$refs.recentPanel?.getScrollElement?.(),p=d?.scrollHeight||0,f=d?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:g.created_at}),await this.$nextTick(),d){const h=d.scrollHeight;d.scrollTop=h-p+f}}finally{this.loading=!1}},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("seedream/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("seedream/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:s=20,createdAtMin:g,createdAtMax:l}=e||{};console.debug("limit",s,"createdAtMin",g,"createdAtMax",l),await this.$store.dispatch("seedream/getTasks",{limit:s,createdAtMin:g,createdAtMax:l})},async onGenerate(){const e={...this.config||{}};!(Array.isArray(e?.image)&&e.image.length>0)&&"image"in e&&delete e.image,e?.size||delete e.size;const g={...e,callback_url:Pt},l=this.credential?.token;if(!l){console.error("no token specified");return}V.info(this.$t("seedream.message.startingTask")),re.generate(g,{token:l}).then(()=>{V.success(this.$t("seedream.message.startTaskSuccess"))}).catch(d=>{const p=d?.response?.data;p?.error?.code===ne?V.error(this.$t("seedream.message.usedUp")):V.error(this.$t("seedream.message.startTaskFailed")+(p?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ot(e,s,g,l,d,p){const f=n("config-panel"),h=n("recent-panel"),r=n("layout");return a(),w(r,null,{config:_(()=>[t(f,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:_(()=>[t(h,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const As=y(jt,[["render",Ot]]);export{As as default};
1
+ import{F as A}from"./index.es-JHCCRstw.js";import{E as M}from"./index-CtRTmc2s.js";import{E as N}from"./index-D9_8-GJo.js";import{d as k,H as i,E as c,z as D,C as t,y as _,D as n,q as a,F as o,I as u,O as E,N as I,x as w,J as v,M as W,Q as R}from"./vendor-vue-C5BV5QrY.js";import{D as y,b1 as H,cq as K,cr as Z,cs as J,ct as Q,cu as X,cv as Y,cw as U,cx as q,cy as G,cz as j,ao as P}from"./index-CM9zReVQ.js";import{I as C,S as x}from"./ScrollList-fEddRgze.js";import{E as ee}from"./index-ioBbJDcl.js";import{p as te}from"./pasteUploadMixin-BurWbGNQ.js";import{I as O}from"./ImagePreview-UzQByA5J.js";import{E as se}from"./index-Cyl0FZ0o.js";import{E as V}from"./index-C4LEUyuD.js";import{C as oe}from"./Consumption-DaHsAueY.js";import{a as ae}from"./price-BEn078PF.js";import{a as B,E as F}from"./index-BVzdhJ87.js";import{b as ne}from"./errorCode-Cqj9Td_Z.js";import{s as re}from"./seedream-BzgiZYXm.js";import{C as le}from"./CopyToClipboard-BPnYSmV9.js";import{I as ie}from"./ImageWrapper-ZOmq3B5u.js";import{E as ce}from"./index-C80csLdP.js";import{E as me}from"./index-sqdaAdWg.js";import{E as de}from"./index-CkXICIBK.js";import{B as ue}from"./BotPlaceholder-DeiY4SpV.js";import{N as pe}from"./NoTasks-Dv0geGXS.js";import"./use-form-item-8zDrNpgH.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Bl-Po99g.js";import"./typescript-gcHX6vpO.js";import"./index-BTFeaU3-.js";import"./index-BWaRzv5s.js";import"./index-CDqaOjLm.js";import"./_baseClone-DVWa3d3y.js";import"./_Uint8Array-B1ZmS77O.js";import"./_initCloneObject-fE07fVX-.js";import"./isEqual-BBm-NN6U.js";import"./index-CLi4-Mwl.js";import"./strings-DGr9fDRd.js";import"./castArray-CdNG57Vc.js";import"./debounce-DJG7nn03.js";import"./_baseIteratee-BxV3nP3B.js";import"./index-binwyAFH.js";import"./index-BUReUXKk.js";const fe=k({name:"LayoutSeedream",components:{ElDrawer:N,ElButton:M,FontAwesomeIcon:A},data(){return{drawer:!1}}}),he={class:"main flex flex-row flex-1"},_e={class:"config w-[320px] h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},ge={class:"result h-full p-6 flex-1 flex flex-col bg-[var(--app-content-bg)]"};function $e(e,s,g,l,d,p){const f=n("font-awesome-icon"),h=n("el-button"),r=n("el-drawer");return a(),i("div",he,[c("div",_e,[D(e.$slots,"config",{},void 0,!0)]),c("div",ge,[D(e.$slots,"result",{},void 0,!0)]),t(h,{circle:"",class:"menu",onClick:s[0]||(s[0]=m=>e.drawer=!0)},{default:_(()=>[t(f,{icon:"fa-solid fa-magic"})]),_:1}),t(r,{modelValue:e.drawer,"onUpdate:modelValue":s[1]||(s[1]=m=>e.drawer=m),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:_(()=>[D(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ve=y(fe,[["render",$e],["__scopeId","data-v-5ff0c320"]]),be="",ke=k({name:"SeedreamPromptInput",components:{ElInput:ee,InfoIcon:C},computed:{prompt:{get(){return this.$store.state.seedream?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("seedream/setConfig",{...this.$store.state.seedream?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=be)}}),ye={class:"field"},Ee={class:"box"},we={class:"title font-bold"};function Se(e,s,g,l,d,p){const f=n("info-icon"),h=n("el-input");return a(),i("div",ye,[c("div",Ee,[c("h2",we,o(e.$t("seedream.name.prompt")),1),t(f,{content:e.$t("seedream.description.prompt"),class:"info"},null,8,["content"])]),t(h,{modelValue:e.prompt,"onUpdate:modelValue":s[0]||(s[0]=r=>e.prompt=r),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("seedream.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ve=y(ke,[["render",Se],["__scopeId","data-v-5559520a"]]),Ie=k({name:"SeedreamImageInput",components:{ElUpload:se,ElButton:M,InfoIcon:C,ImagePreview:O,FontAwesomeIcon:A},mixins:[te],data(){return{fileList:[],uploadUrl:H()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.seedream?.config?.image}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const l=(this.fileList||[]).filter(d=>!d?.response?.file_url);this.fileList=l.length?l:[];return}const s=[];e.forEach(l=>{const d=this.fileList.find(p=>p?.response?.file_url===l||p?.url===l);d?s.push(d):s.push({name:l.split("/").pop()||l,url:l,status:"success",percentage:100,response:{file_url:l}})}),(this.fileList||[]).filter(l=>!l?.response?.file_url).forEach(l=>{s.some(p=>p===l||p?.url===l?.url||p?.response?.file_url===l?.response?.file_url)||s.push(l)}),this.fileList=s}}},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImages()},onExceed(){V.warning(this.$t("seedream.message.uploadImageExceed"))},onError(){V.error(this.$t("seedream.message.uploadImageError"))},onSetImages(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("seedream/setConfig",{...this.$store.state.seedream?.config,image:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,s){e?.file_url&&(s.url=e.file_url,s.response=e),this.onSetImages()},onRemovePreview(e,s){if(this.fileList.splice(e,1),s?.url&&typeof s.url=="string"&&s.url.startsWith("blob:"))try{URL.revokeObjectURL(s.url)}catch{}this.onSetImages()}}}),Le={class:"field"},Re={class:"label"},Te={class:"box"},Ae={class:"title font-bold"},Me={class:"value"},Ce={class:"file-list mt-2 flex flex-wrap gap-[10px]"};function De(e,s,g,l,d,p){const f=n("info-icon"),h=n("font-awesome-icon"),r=n("el-button"),m=n("el-upload"),b=n("image-preview");return a(),i(E,null,[c("div",Le,[c("div",Re,[c("div",Te,[c("h2",Ae,o(e.$t("seedream.name.imageUrls")),1),t(f,{content:e.$t("seedream.description.imageUrls"),class:"info"},null,8,["content"])])]),c("div",Me,[t(m,{ref:"uploader","file-list":e.fileList,"onUpdate:fileList":s[0]||(s[0]=$=>e.fileList=$),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",limit:14,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:_(()=>[t(r,{size:"small",type:"primary",round:""},{default:_(()=>[t(h,{icon:"fa-solid fa-upload",class:"mr-1"}),u(" "+o(e.$t("seedream.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"])])]),c("div",Ce,[(a(!0),i(E,null,I(e.fileList,($,S)=>(a(),w(b,{key:$.uid||$?.response?.file_url||$.url||S,url:$.url||$?.response?.file_url,name:$.name,percentage:$.percentage,onRemove:z=>e.onRemovePreview(S,$)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const ze=y(Ie,[["render",De],["__scopeId","data-v-dc18c674"]]),Ue=k({name:"SeedreamModelSelector",components:{ElSelect:F,ElOption:B,InfoIcon:C},data(){return{options:[{value:Z,label:this.$t("seedream.model.seedream45")},{value:J,label:this.$t("seedream.model.seedream40")},{value:Q,label:this.$t("seedream.model.seedream30t2i")},{value:X,label:this.$t("seedream.model.seededit30i2i")}]}},computed:{value:{get(){return this.$store.state.seedream?.config?.model},set(e){this.$store.commit("seedream/setConfig",{...this.$store.state.seedream?.config,model:e})}}},mounted(){this.value||(this.value=K)}}),qe={class:"field"},Ge={class:"label"},Pe={class:"box"},je={class:"title font-bold"};function Oe(e,s,g,l,d,p){const f=n("info-icon"),h=n("el-option"),r=n("el-select");return a(),i("div",qe,[c("div",Ge,[c("div",Pe,[c("h2",je,o(e.$t("seedream.name.model")),1),t(f,{content:e.$t("seedream.description.model"),class:"info"},null,8,["content"])])]),t(r,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=m=>e.value=m),class:"value",placeholder:e.$t("seedream.placeholder.select")},{default:_(()=>[(a(!0),i(E,null,I(e.options,m=>(a(),w(h,{key:m.value,label:m.label,value:m.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Be=y(Ue,[["render",Oe],["__scopeId","data-v-3c3ca27d"]]),Fe=k({name:"SeedreamSizeSelector",components:{ElSelect:F,ElOption:B,InfoIcon:C},data(){return{options:[{value:U,label:U},{value:q,label:q},{value:G,label:G}]}},computed:{value:{get(){return this.$store.state.seedream?.config?.size},set(e){this.$store.commit("seedream/setConfig",{...this.$store.state.seedream?.config,size:e})}}},mounted(){this.value||(this.value=Y)}}),Ne={class:"field"},We={class:"label"},He={class:"box"},Ke={class:"title font-bold"};function Ze(e,s,g,l,d,p){const f=n("info-icon"),h=n("el-option"),r=n("el-select");return a(),i("div",Ne,[c("div",We,[c("div",He,[c("h2",Ke,o(e.$t("seedream.name.size")),1),t(f,{content:e.$t("seedream.description.size"),class:"info"},null,8,["content"])])]),t(r,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=m=>e.value=m),class:"value",placeholder:e.$t("seedream.placeholder.select"),filterable:"","allow-create":"","default-first-option":""},{default:_(()=>[(a(!0),i(E,null,I(e.options,m=>(a(),w(h,{key:m.value,label:m.label,value:m.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Je=y(Fe,[["render",Ze],["__scopeId","data-v-54a9a469"]]),Qe=k({name:"SeedreamConfigPanel",components:{ElButton:M,FontAwesomeIcon:A,PromptInput:Ve,Consumption:oe,ImageInput:ze,ModelSelector:Be,SizeSelector:Je},emits:["generate"],computed:{config(){return this.$store.state.seedream?.config},consumption(){const e={...this.config||{}},s=Array.isArray(e?.image)&&e.image.length>0;return ae({...e,action:s?"edit":"generate",model:j(e?.model),count:1},this.service?.cost)},service(){return this.$store.state.seedream?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Xe={class:"flex flex-col h-full"},Ye={class:"flex-1 overflow-y-auto p-5"},xe={class:"flex flex-col items-center justify-center px-5 pb-5"};function et(e,s,g,l,d,p){const f=n("model-selector"),h=n("size-selector"),r=n("prompt-input"),m=n("image-input"),b=n("consumption"),$=n("font-awesome-icon"),S=n("el-button");return a(),i("div",Xe,[c("div",Ye,[t(f,{class:"mb-4"}),t(h,{class:"mb-4"}),t(r,{class:"mb-4"}),t(m,{class:"mb-4"})]),c("div",xe,[t(b,{value:e.consumption,service:e.service},null,8,["value","service"]),t(S,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:_(()=>[t($,{icon:"fa-solid fa-magic",class:"mr-2"}),u(" "+o(e.$t("seedream.button.generate")),1)]),_:1},8,["onClick"])])])}const tt=y(Qe,[["render",et]]),st=k({name:"SeedreamTaskPreview",components:{ElImage:de,CopyToClipboard:le,FontAwesomeIcon:A,ElAlert:me,ImageWrapper:ie,ElButton:M,ElTooltip:ce,ImagePreview:O},props:{modelValue:{type:Object,required:!0}},computed:{isEdit(){return Array.isArray(this.modelValue?.request?.image)&&(this.modelValue?.request?.image?.length||0)>0},images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(s=>{e.push(s)}),e}},methods:{shortModel(e){return j(e)||e},onEdit(e){if(!e)return;console.debug("Edit image:",e);const s={...this.$store.state.seedream?.config||{}};s.image=[e],this.$store.commit("seedream/setConfig",s)}}}),ot={class:"preview"},at={class:"left"},nt={class:"main"},rt={class:"bot"},lt={class:"datetime"},it={class:"info"},ct={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},mt={key:1,class:"prompt mt-2"},dt={key:0},ut={key:0,class:R({content:!0})},pt={class:"text-[var(--el-text-color-regular)] text-xs mb-0"},ft={key:1,class:R({content:!0,failed:!0})},ht={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},_t={class:R({operations:!0,"mt-2":!0,"mb-2":!0})},gt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},$t={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},vt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},yt={key:2,class:R({content:!0})},Et={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},St={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Vt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},It={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},Rt={key:3,class:R({content:!0})},Tt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},At={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-0"};function Mt(e,s,g,l,d,p){const f=n("el-image"),h=n("image-preview"),r=n("font-awesome-icon"),m=n("copy-to-clipboard"),b=n("el-alert"),$=n("image-wrapper"),S=n("el-button"),z=n("el-tooltip");return a(),i("div",ot,[c("div",at,[t(f,{src:"https://cdn.acedata.cloud/9egrbn.png",class:"avatar"})]),c("div",nt,[c("div",rt,[u(o(e.$t("seedream.name.seedreamBot"))+" ",1),c("span",lt,o(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",it,[Array.isArray(e.modelValue?.request?.image)&&e.modelValue?.request?.image.length>0?(a(),i("div",ct,[(a(!0),i(E,null,I(e.modelValue?.request?.image,(L,T)=>(a(),w(h,{key:T,url:L,name:`image-${T+1}`,closable:!1},null,8,["url","name"]))),128))])):v("",!0),e.modelValue?.request?.prompt?(a(),i("p",mt,[u(o(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?v("",!0):(a(),i("span",dt," - ("+o(e.$t("seedream.status.pending"))+") ",1))])):v("",!0)]),e.modelValue?.response?e.modelValue?.response?.success===!0?(a(),i("div",ft,[c("div",ht,[(a(!0),i(E,null,I(e.images,(L,T)=>(a(),w($,{key:T,src:L?.image_url,"raw-src":L?.image_url},null,8,["src","raw-src"]))),128))]),c("div",_t,[t(z,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:_(()=>[t(S,{type:"info",size:"small",class:"btn-action",onClick:s[0]||(s[0]=W(L=>e.onEdit(e.images?.[0]?.image_url),["stop"]))},{default:_(()=>[u(o(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),t(b,{closable:!1,class:"mt-2 success"},{default:_(()=>[e.modelValue?.request?.model?(a(),i("p",gt,[t(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("seedream.name.model"))+": "+o(e.shortModel(e.modelValue?.request?.model)),1)])):v("",!0),e.modelValue?.request?.size?(a(),i("p",$t,[t(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("seedream.name.size"))+": "+o(e.modelValue?.request?.size),1)])):v("",!0),c("p",vt,[t(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("seedream.name.task"))+": "+o(e.isEdit?e.$t("seedream.name.edits"):e.$t("seedream.name.generate")),1)]),c("p",bt,[t(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("seedream.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),t(m,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),i("p",kt,[t(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("seedream.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),t(m,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(a(),i("div",yt,[t(b,{closable:!1,class:"failure"},{template:_(()=>[t(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),u(" "+o(e.$t("seedream.name.failure")),1)]),default:_(()=>[e.modelValue?.request?.model?(a(),i("p",Et,[t(r,{icon:"fa-solid fa-cube",class:"mr-1"}),u(" "+o(e.$t("seedream.name.model"))+": "+o(e.shortModel(e.modelValue?.request?.model)),1)])):v("",!0),e.modelValue?.request?.size?(a(),i("p",wt,[t(r,{icon:"fa-solid fa-image",class:"mr-1"}),u(" "+o(e.$t("seedream.name.size"))+": "+o(e.modelValue?.request?.size),1)])):v("",!0),c("p",St,[t(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),u(" "+o(e.$t("seedream.name.task"))+": "+o(e.isEdit?e.$t("seedream.name.edits"):e.$t("seedream.name.generate")),1)]),c("p",Vt,[t(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("seedream.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),t(m,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.error?.message?(a(),i("p",It,[t(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+o(e.$t("seedream.name.failureReason"))+": "+o(e.modelValue?.response?.error?.message)+" ",1),t(m,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])])):v("",!0),e.modelValue?.response?.trace_id?(a(),i("p",Lt,[t(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("seedream.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),t(m,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):v("",!0)]),_:1})])):(a(),i("div",Rt,[t(b,{closable:!1,class:"info"},{template:_(()=>[t(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),u(" "+o(e.$t("seedream.name.status")),1)]),default:_(()=>[c("p",Tt,[t(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("seedream.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),t(m,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),i("p",At,[t(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),u(" "+o(e.$t("seedream.name.traceId"))+": "+o(e.modelValue?.response?.trace_id)+" ",1),t(m,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):v("",!0)]),_:1})])):(a(),i("div",ut,[t(b,{closable:!1,class:"info"},{template:_(()=>[t(r,{icon:"fa-regular fa-clock",class:"mr-1"}),u(" "+o(e.$t("seedream.status.pending")),1)]),default:_(()=>[c("p",pt,[t(r,{icon:"fa-solid fa-magic",class:"mr-1"}),u(" "+o(e.$t("seedream.name.taskId"))+": "+o(e.modelValue?.id)+" ",1),t(m,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])])]),_:1})]))])])}const Ct=y(st,[["render",Mt],["__scopeId","data-v-e939362a"]]),Dt=k({name:"SeedreamRecentPanel",components:{TaskPreview:Ct,BotPlaceholder:ue,NoTasks:pe,ScrollList:x},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],computed:{tasks(){return{...this.$store.state.seedream?.tasks,items:this.$store.state.seedream?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),zt={key:0},Ut={key:2,class:"w-full h-full flex items-center justify-center"};function qt(e,s,g,l,d,p){const f=n("bot-placeholder"),h=n("task-preview"),r=n("scroll-list"),m=n("no-tasks");return a(),i(E,null,[e.tasks?.items===void 0?(a(),i("div",zt,[t(f)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),w(r,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:s[0]||(s[0]=b=>e.$emit("reach-top"))},{default:_(()=>[(a(!0),i(E,null,I(e.tasks?.items,b=>(a(),w(h,{key:b.id,"model-value":b},null,8,["model-value"]))),128))]),_:1},8,["loading"])):v("",!0),e.tasks?.items?.length===0?(a(),i("div",Ut,[t(m)])):v("",!0)],64)}const Gt=y(Dt,[["render",qt]]),Pt="https://webhook.acedata.cloud/seedream",jt=k({name:"SeedreamIndex",components:{ConfigPanel:tt,Layout:ve,RecentPanel:Gt},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.seedream?.status?.getApplications===P.Request},tasksLoading(){return this.$store.state.seedream?.status?.getTasks===P.Request},credential(){return this.$store.state.seedream?.credential},config(){return this.$store.state.seedream?.config},application(){return this.$store.state.seedream?.application},tasks(){return this.$store.state.seedream?.tasks}},watch:{tasks:{handler(e,s){e?.items?.length>s?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,s=this.tasks?.items?.length||0;if(e!==void 0&&e<=s)return;const g=this.tasks?.items?.[0];if(!g?.created_at)return;const d=this.$refs.recentPanel?.getScrollElement?.(),p=d?.scrollHeight||0,f=d?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:g.created_at}),await this.$nextTick(),d){const h=d.scrollHeight;d.scrollTop=h-p+f}}finally{this.loading=!1}},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("seedream/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("seedream/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:s=20,createdAtMin:g,createdAtMax:l}=e||{};console.debug("limit",s,"createdAtMin",g,"createdAtMax",l),await this.$store.dispatch("seedream/getTasks",{limit:s,createdAtMin:g,createdAtMax:l})},async onGenerate(){const e={...this.config||{}};!(Array.isArray(e?.image)&&e.image.length>0)&&"image"in e&&delete e.image,e?.size||delete e.size;const g={...e,callback_url:Pt},l=this.credential?.token;if(!l){console.error("no token specified");return}V.info(this.$t("seedream.message.startingTask")),re.generate(g,{token:l}).then(()=>{V.success(this.$t("seedream.message.startTaskSuccess"))}).catch(d=>{const p=d?.response?.data;p?.error?.code===ne?V.error(this.$t("seedream.message.usedUp")):V.error(this.$t("seedream.message.startTaskFailed")+(p?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ot(e,s,g,l,d,p){const f=n("config-panel"),h=n("recent-panel"),r=n("layout");return a(),w(r,null,{config:_(()=>[t(f,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:_(()=>[t(h,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const As=y(jt,[["render",Ot]]);export{As as default};
@@ -1 +1 @@
1
- import{F as G}from"./index.es-CTSlEmkZ.js";import{E as P}from"./index-C2C5Wr_B.js";import{E as W}from"./index-D2HSg-zC.js";import{d as w,H as i,E as c,z as R,C as o,y as $,D as n,q as a,F as s,I as f,O as E,N as L,x as I,J as v,M as H,Q as q}from"./vendor-vue-C5BV5QrY.js";import{D as y,b1 as Z,ch as x,ci as J,cj as K,ck as Q,cl as X,cm as C,cn as U,co as M,cp as Y,ao as z}from"./index-DxnrvYVH.js";import{I as O,S as ee}from"./ScrollList-ppHF7k1A.js";import{E as te}from"./index-CVHZPJ6x.js";import{I as N}from"./ImagePreview-hUTkC0Ih.js";import{E as oe}from"./index-De6GneQ8.js";import{E as A}from"./index-BEISdWxi.js";import{C as se}from"./Consumption-C-RXHwF8.js";import{a as ae}from"./price-pXO0t_ig.js";import{a as B,E as F}from"./index-DiqBmBf1.js";import{b as ne}from"./errorCode-Cqj9Td_Z.js";import{o as j}from"./openaiimage-Dp1aJmh-.js";import{C as ie}from"./CopyToClipboard-j5Q2Kc6N.js";import{I as le}from"./ImageWrapper-nAPnMgFW.js";import{E as re}from"./index-CZSdwn7u.js";import{E as ce}from"./index-CVh8Wj89.js";import{E as me}from"./index-BoNQ2bwh.js";import{B as pe}from"./BotPlaceholder-CnYzSwa6.js";import{N as ue}from"./NoTasks-DCFz_cPB.js";import"./use-form-item-CVgF_2-v.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Bl-Po99g.js";import"./typescript-Cdvt30Lj.js";import"./index-BoMrEY9d.js";import"./index-D5nhIR6Q.js";import"./index-Qx6yMP72.js";import"./_baseClone-OaArZu3M.js";import"./_Uint8Array-B9wo990u.js";import"./_initCloneObject-CezWJWWn.js";import"./isEqual-6gRCrOyw.js";import"./index-Ht8ZOU1H.js";import"./strings-DGr9fDRd.js";import"./castArray-CEgxRlUQ.js";import"./debounce-z3wHMjDj.js";import"./_baseIteratee-CAzVICbz.js";import"./index-BfOryRNq.js";import"./index-5durBcIc.js";const de=w({name:"LayoutNanobanana",components:{ElDrawer:W,ElButton:P,FontAwesomeIcon:G},data(){return{drawer:!1}}}),ge={class:"main flex flex-row flex-1"},fe={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},he={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function _e(e,t,m,l,p,h){const u=n("font-awesome-icon"),d=n("el-button"),_=n("el-drawer");return a(),i("div",ge,[c("div",fe,[R(e.$slots,"config",{},void 0,!0)]),c("div",he,[R(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=g=>e.drawer=!0)},{default:$(()=>[o(u,{icon:"fa-solid fa-magic"})]),_:1}),o(_,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:$(()=>[R(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const $e=y(de,[["render",_e],["__scopeId","data-v-bfe5cd4b"]]),ve="",be=w({name:"PromptInput",components:{ElInput:te,InfoIcon:O},computed:{prompt:{get(){return this.$store.state.openaiimage?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ve)}}),ke={class:"field"},we={class:"box"},ye={class:"title font-bold"};function Ee(e,t,m,l,p,h){const u=n("info-icon"),d=n("el-input");return a(),i("div",ke,[c("div",we,[c("h2",ye,s(e.$t("openaiimage.name.prompt")),1),o(u,{content:e.$t("openaiimage.description.prompt"),class:"info"},null,8,["content"])]),o(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=_=>e.prompt=_),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("openaiimage.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ie=y(be,[["render",Ee],["__scopeId","data-v-92f61e4a"]]),Ve=w({name:"ImageUrlsInput",components:{ElUpload:oe,ElButton:P,InfoIcon:O,ImagePreview:N,FontAwesomeIcon:G},data(){return{fileList:[],uploadUrl:Z()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.openaiimage?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const l=(this.fileList||[]).filter(p=>!p?.response?.file_url);this.fileList=l.length?l:[];return}const t=[];e.forEach(l=>{const p=this.fileList.find(h=>h?.response?.file_url===l||h?.url===l);p?t.push(p):t.push({name:l.split("/").pop()||l,url:l,status:"success",percentage:100,response:{file_url:l}})}),(this.fileList||[]).filter(l=>!l?.response?.file_url).forEach(l=>{t.some(h=>h===l||h?.url===l?.url||h?.response?.file_url===l?.response?.file_url)||t.push(l)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){A.warning(this.$t("openaiimage.message.uploadImageExceed"))},onError(){A.error(this.$t("openaiimage.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Ae={class:"field flex items-center justify-between"},Le={class:"title font-bold text-[14px] mb-[10px]"},Te={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Se={class:"controls flex items-center"},Ge={class:"file-list flex flex-wrap gap-[10px]"};function Pe(e,t,m,l,p,h){const u=n("font-awesome-icon"),d=n("el-button"),_=n("el-upload"),g=n("info-icon"),k=n("image-preview");return a(),i(E,null,[c("div",Ae,[c("h2",Le,s(e.$t("openaiimage.name.imageUrls")),1),c("div",Te,[c("div",Se,[o(_,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=r=>e.fileList=r),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:$(()=>[o(d,{size:"small",type:"primary",round:""},{default:$(()=>[o(u,{icon:"fa-solid fa-upload",class:"mr-1"}),f(" "+s(e.$t("openaiimage.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),o(g,{content:e.$t("openaiimage.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",Ge,[(a(!0),i(E,null,L(e.fileList,(r,b)=>(a(),I(k,{key:r.uid||r?.response?.file_url||r.url||b,url:r.url||r?.response?.file_url,name:r.name,percentage:r.percentage,onRemove:T=>e.onRemovePreview(b,r)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const qe=y(Ve,[["render",Pe]]),Oe=w({name:"OpenAIImageModelSelector",components:{ElSelect:F,ElOption:B,InfoIcon:O},data(){return{options:[{value:J,label:this.$t("openaiimage.model.gptImage1")},{value:K,label:this.$t("openaiimage.model.gptImage15")},{value:Q,label:this.$t("openaiimage.model.gptImage2")}]}},computed:{value:{get(){return this.$store.state.openaiimage?.config?.model},set(e){this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,model:e})}},modelDescription(){return this.$t("openaiimage.description.model")}},mounted(){this.value||(this.value=x)}}),Re={class:"field"},Ce={class:"label"},Ue={class:"box"},Me={class:"title font-bold"};function ze(e,t,m,l,p,h){const u=n("info-icon"),d=n("el-option"),_=n("el-select");return a(),i("div",Re,[c("div",Ce,[c("div",Ue,[c("h2",Me,s(e.$t("openaiimage.name.model")),1),o(u,{content:e.modelDescription,class:"info"},null,8,["content"])])]),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=g=>e.value=g),class:"value",placeholder:e.$t("openaiimage.placeholder.select")},{default:$(()=>[(a(!0),i(E,null,L(e.options,g=>(a(),I(d,{key:g.value,label:g.label,value:g.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const je=y(Oe,[["render",ze],["__scopeId","data-v-cec771bd"]]),De=w({name:"OpenAIImageSizeSelector",components:{ElSelect:F,ElOption:B,InfoIcon:O},data(){return{options:[{value:C,label:C},{value:U,label:U},{value:M,label:M}]}},computed:{value:{get(){return this.$store.state.openaiimage?.config?.size},set(e){this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,size:e})}}},mounted(){this.value||(this.value=X)}}),Ne={class:"field"},Be={class:"label"},Fe={class:"box"},We={class:"title font-bold"};function He(e,t,m,l,p,h){const u=n("info-icon"),d=n("el-option"),_=n("el-select");return a(),i("div",Ne,[c("div",Be,[c("div",Fe,[c("h2",We,s(e.$t("openaiimage.name.size")),1),o(u,{content:e.$t("openaiimage.description.size"),class:"info"},null,8,["content"])])]),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=g=>e.value=g),class:"value",placeholder:e.$t("openaiimage.placeholder.select")},{default:$(()=>[(a(!0),i(E,null,L(e.options,g=>(a(),I(d,{key:g.value,label:g.label,value:g.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ze=y(De,[["render",He],["__scopeId","data-v-11116785"]]),xe=w({name:"ConfigPanel",components:{ElButton:P,FontAwesomeIcon:G,PromptInput:Ie,Consumption:se,ImageUrlsInput:qe,ModelSelector:je,ResolutionSelector:Ze},emits:["generate"],computed:{config(){return this.$store.state.openaiimage?.config},consumption(){const e={...this.config||{}};return ae({...e},this.service?.cost)},service(){return this.$store.state.openaiimage?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Je={class:"flex flex-col h-full"},Ke={class:"flex-1 overflow-y-auto p-5"},Qe={class:"flex flex-col items-center justify-center px-5 pb-5"};function Xe(e,t,m,l,p,h){const u=n("model-selector"),d=n("resolution-selector"),_=n("prompt-input"),g=n("image-urls-input"),k=n("consumption"),r=n("font-awesome-icon"),b=n("el-button");return a(),i("div",Je,[c("div",Ke,[o(u,{class:"mb-4"}),o(d,{class:"mb-4"}),o(_,{class:"mb-4"}),o(g,{class:"mb-4"})]),c("div",Qe,[o(k,{value:e.consumption,service:e.service},null,8,["value","service"]),o(b,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:$(()=>[o(r,{icon:"fa-solid fa-magic",class:"mr-2"}),f(" "+s(e.$t("openaiimage.button.generate")),1)]),_:1},8,["onClick"])])])}const Ye=y(xe,[["render",Xe]]),et=w({name:"TaskPreview",components:{ElImage:me,CopyToClipboard:ie,FontAwesomeIcon:G,ElAlert:ce,ImageWrapper:le,ElButton:P,ElTooltip:re,ImagePreview:N},props:{modelValue:{type:Object,required:!0}},setup(){return{OPENAIIMAGE_LOGO:Y}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{const m=t;if(m?.image_url||m?.url){e.push(m);return}m?.b64_json&&e.push({...m,url:`data:image/png;base64,${m.b64_json}`})}),e}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.openaiimage?.config||{}};t.image_urls=[e],this.$store.commit("openaiimage/setConfig",t)}}}),tt={class:"preview"},ot={class:"left"},st={class:"main"},at={class:"bot"},nt={class:"datetime"},it={class:"info"},lt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},rt={key:1,class:"prompt mt-2"},ct={key:0},mt={key:0,class:q({content:!0,failed:!0})},pt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},ut={class:q({operations:!0,"mt-2":!0,"mb-2":!0})},dt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ft={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ht={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},_t={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},$t={key:1,class:q({content:!0})},vt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Et={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},It={key:2,class:q({content:!0})},Vt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},At={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function St(e,t,m,l,p,h){const u=n("el-image"),d=n("image-preview"),_=n("image-wrapper"),g=n("el-button"),k=n("el-tooltip"),r=n("font-awesome-icon"),b=n("copy-to-clipboard"),T=n("el-alert");return a(),i("div",tt,[c("div",ot,[o(u,{src:e.OPENAIIMAGE_LOGO,class:"avatar"},null,8,["src"])]),c("div",st,[c("div",at,[f(s(e.$t("openaiimage.name.openaiimageBot"))+" ",1),c("span",nt,s(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",it,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(a(),i("div",lt,[(a(!0),i(E,null,L(e.modelValue?.request?.image_urls,(V,S)=>(a(),I(d,{key:S,url:V,name:`image-${S+1}`,closable:!1},null,8,["url","name"]))),128))])):v("",!0),e.modelValue?.request?.prompt?(a(),i("p",rt,[f(s(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?v("",!0):(a(),i("span",ct," - ("+s(e.$t("openaiimage.status.pending"))+") ",1))])):v("",!0)]),e.modelValue?.response?.success===!0?(a(),i("div",mt,[c("div",pt,[(a(!0),i(E,null,L(e.images,(V,S)=>(a(),I(_,{key:S,src:V?.image_url||V?.url||"","raw-src":V?.image_url||V?.url||""},null,8,["src","raw-src"]))),128))]),c("div",ut,[o(k,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:$(()=>[o(g,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=H(V=>e.onEdit(e.images?.[0]?.image_url||e.images?.[0]?.url),["stop"]))},{default:$(()=>[f(s(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(T,{closable:!1,class:"mt-2 success"},{default:$(()=>[e.modelValue?.request?.model?(a(),i("p",dt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):v("",!0),e.modelValue?.request?.size?(a(),i("p",gt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):v("",!0),e.modelValue?.request?.action?(a(),i("p",ft,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):v("",!0),c("p",ht,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.taskId"))+": "+s(e.modelValue?.id)+" ",1),o(b,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),i("p",_t,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.traceId"))+": "+s(e.modelValue?.response?.trace_id)+" ",1),o(b,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(a(),i("div",$t,[o(T,{closable:!1,class:"failure"},{template:$(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(a(),i("p",vt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):v("",!0),e.modelValue?.request?.size?(a(),i("p",bt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):v("",!0),e.modelValue?.request?.action?(a(),i("p",kt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):v("",!0),c("p",wt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.taskId"))+": "+s(e.modelValue?.id)+" ",1),o(b,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",yt,[o(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.failureReason"))+": "+s(e.modelValue?.response?.error?.message)+" ",1),o(b,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),i("p",Et,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.traceId"))+": "+s(e.modelValue?.response?.trace_id)+" ",1),o(b,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):v("",!0)]),_:1})])):(a(),i("div",It,[o(T,{closable:!1,class:"info"},{template:$(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(a(),i("p",Vt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):v("",!0),e.modelValue?.request?.size?(a(),i("p",At,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):v("",!0),e.modelValue?.request?.action?(a(),i("p",Lt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):v("",!0),c("p",Tt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.taskId"))+": "+s(e.modelValue?.id)+" ",1),o(b,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Gt=y(et,[["render",St],["__scopeId","data-v-0235adad"]]),Pt=w({name:"RecentPanel",components:{TaskPreview:Gt,BotPlaceholder:pe,NoTasks:ue,ScrollList:ee},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.openaiimage?.tasks,items:this.$store.state.openaiimage?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),qt={key:0},Ot={key:2,class:"w-full h-full flex items-center justify-center"};function Rt(e,t,m,l,p,h){const u=n("bot-placeholder"),d=n("task-preview"),_=n("scroll-list"),g=n("no-tasks");return a(),i(E,null,[e.tasks?.items===void 0?(a(),i("div",qt,[o(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),I(_,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=k=>e.$emit("reach-top"))},{default:$(()=>[(a(!0),i(E,null,L(e.tasks?.items,k=>(a(),I(d,{key:k.id,"model-value":k},null,8,["model-value"]))),128))]),_:1},8,["loading"])):v("",!0),e.tasks?.items?.length===0?(a(),i("div",Ot,[o(g)])):v("",!0)],64)}const Ct=y(Pt,[["render",Rt]]),D="https://webhook.acedata.cloud/openaiimage",Ut=w({name:"OpenAIImageIndex",components:{ConfigPanel:Ye,Layout:$e,RecentPanel:Ct},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.openaiimage?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.openaiimage?.status?.getTasks===z.Request},credential(){return this.$store.state.openaiimage?.credential},config(){return this.$store.state.openaiimage?.config},application(){return this.$store.state.openaiimage?.application},tasks(){return this.$store.state.openaiimage?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const m=this.tasks?.items?.[0];if(!m?.created_at)return;const p=this.$refs.recentPanel?.getScrollElement?.(),h=p?.scrollHeight||0,u=p?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:m.created_at}),await this.$nextTick(),p){const d=p.scrollHeight;p.scrollTop=d-h+u}}finally{this.loading=!1}},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("openaiimage/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("openaiimage/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:m,createdAtMax:l}=e||{};console.debug("limit",t,"createdAtMin",m,"createdAtMax",l),await this.$store.dispatch("openaiimage/getTasks",{limit:t,createdAtMin:m,createdAtMax:l})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;!t&&"image_urls"in e&&delete e.image_urls;const m={...e,action:"generate",callback_url:D},l={action:"edit",model:e?.model,prompt:e?.prompt,image_urls:e?.image_urls||[],callback_url:D},p=this.credential?.token;if(!p){console.error("no token specified");return}A.info(this.$t("openaiimage.message.startingTask")),(t?j.edit(l,{token:p}):j.generate(m,{token:p})).then(u=>{console.debug("task accepted",u.data?.task_id),A.success(this.$t("openaiimage.message.startTaskSuccess"))}).catch(u=>{const d=u?.response?.data;d?.error?.code===ne?A.error(this.$t("openaiimage.message.usedUp")):A.error(this.$t("openaiimage.message.startTaskFailed")+(d?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Mt(e,t,m,l,p,h){const u=n("config-panel"),d=n("recent-panel"),_=n("layout");return a(),I(_,null,{config:$(()=>[o(u,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:$(()=>[o(d,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Lo=y(Ut,[["render",Mt]]);export{Lo as default};
1
+ import{F as G}from"./index.es-JHCCRstw.js";import{E as P}from"./index-CtRTmc2s.js";import{E as W}from"./index-D9_8-GJo.js";import{d as w,H as i,E as c,z as R,C as o,y as $,D as n,q as a,F as s,I as f,O as E,N as L,x as I,J as v,M as H,Q as q}from"./vendor-vue-C5BV5QrY.js";import{D as y,b1 as Z,ch as x,ci as J,cj as K,ck as Q,cl as X,cm as C,cn as U,co as M,cp as Y,ao as z}from"./index-CM9zReVQ.js";import{I as O,S as ee}from"./ScrollList-fEddRgze.js";import{E as te}from"./index-ioBbJDcl.js";import{I as N}from"./ImagePreview-UzQByA5J.js";import{E as oe}from"./index-Cyl0FZ0o.js";import{E as A}from"./index-C4LEUyuD.js";import{C as se}from"./Consumption-DaHsAueY.js";import{a as ae}from"./price-BEn078PF.js";import{a as B,E as F}from"./index-BVzdhJ87.js";import{b as ne}from"./errorCode-Cqj9Td_Z.js";import{o as j}from"./openaiimage-C-GXJi5M.js";import{C as ie}from"./CopyToClipboard-BPnYSmV9.js";import{I as le}from"./ImageWrapper-ZOmq3B5u.js";import{E as re}from"./index-C80csLdP.js";import{E as ce}from"./index-sqdaAdWg.js";import{E as me}from"./index-CkXICIBK.js";import{B as pe}from"./BotPlaceholder-DeiY4SpV.js";import{N as ue}from"./NoTasks-Dv0geGXS.js";import"./use-form-item-8zDrNpgH.js";import"./index-BuyEbX8F.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Bl-Po99g.js";import"./typescript-gcHX6vpO.js";import"./index-BTFeaU3-.js";import"./index-BWaRzv5s.js";import"./index-CDqaOjLm.js";import"./_baseClone-DVWa3d3y.js";import"./_Uint8Array-B1ZmS77O.js";import"./_initCloneObject-fE07fVX-.js";import"./isEqual-BBm-NN6U.js";import"./index-CLi4-Mwl.js";import"./strings-DGr9fDRd.js";import"./castArray-CdNG57Vc.js";import"./debounce-DJG7nn03.js";import"./_baseIteratee-BxV3nP3B.js";import"./index-binwyAFH.js";import"./index-BUReUXKk.js";const de=w({name:"LayoutNanobanana",components:{ElDrawer:W,ElButton:P,FontAwesomeIcon:G},data(){return{drawer:!1}}}),ge={class:"main flex flex-row flex-1"},fe={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},he={class:"result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"};function _e(e,t,m,l,p,h){const u=n("font-awesome-icon"),d=n("el-button"),_=n("el-drawer");return a(),i("div",ge,[c("div",fe,[R(e.$slots,"config",{},void 0,!0)]),c("div",he,[R(e.$slots,"result",{},void 0,!0)]),o(d,{circle:"",class:"menu",onClick:t[0]||(t[0]=g=>e.drawer=!0)},{default:$(()=>[o(u,{icon:"fa-solid fa-magic"})]),_:1}),o(_,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=g=>e.drawer=g),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:$(()=>[R(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const $e=y(de,[["render",_e],["__scopeId","data-v-bfe5cd4b"]]),ve="",be=w({name:"PromptInput",components:{ElInput:te,InfoIcon:O},computed:{prompt:{get(){return this.$store.state.openaiimage?.config?.prompt},set(e){console.debug("set prompt",e),this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,prompt:e})}}},mounted(){this.prompt||(this.prompt=ve)}}),ke={class:"field"},we={class:"box"},ye={class:"title font-bold"};function Ee(e,t,m,l,p,h){const u=n("info-icon"),d=n("el-input");return a(),i("div",ke,[c("div",we,[c("h2",ye,s(e.$t("openaiimage.name.prompt")),1),o(u,{content:e.$t("openaiimage.description.prompt"),class:"info"},null,8,["content"])]),o(d,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=_=>e.prompt=_),rows:3,type:"textarea",class:"prompt",placeholder:e.$t("openaiimage.placeholder.prompt")},null,8,["modelValue","placeholder"])])}const Ie=y(be,[["render",Ee],["__scopeId","data-v-92f61e4a"]]),Ve=w({name:"ImageUrlsInput",components:{ElUpload:oe,ElButton:P,InfoIcon:O,ImagePreview:N,FontAwesomeIcon:G},data(){return{fileList:[],uploadUrl:Z()+"/api/v1/files/",suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.openaiimage?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){const l=(this.fileList||[]).filter(p=>!p?.response?.file_url);this.fileList=l.length?l:[];return}const t=[];e.forEach(l=>{const p=this.fileList.find(h=>h?.response?.file_url===l||h?.url===l);p?t.push(p):t.push({name:l.split("/").pop()||l,url:l,status:"success",percentage:100,response:{file_url:l}})}),(this.fileList||[]).filter(l=>!l?.response?.file_url).forEach(l=>{t.some(h=>h===l||h?.url===l?.url||h?.response?.file_url===l?.response?.file_url)||t.push(l)}),this.fileList=t}}},mounted(){},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url=="string"&&e.url.startsWith("blob:"))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImageUrls()},onExceed(){A.warning(this.$t("openaiimage.message.uploadImageExceed"))},onError(){A.error(this.$t("openaiimage.message.uploadImageError"))},onSetImageUrls(){const e=this.urls;this.suppressWatch=!0,this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,image_urls:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImageUrls()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url=="string"&&t.url.startsWith("blob:"))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImageUrls()}}}),Ae={class:"field flex items-center justify-between"},Le={class:"title font-bold text-[14px] mb-[10px]"},Te={class:"upload-wrapper flex flex-col items-start gap-[8px]"},Se={class:"controls flex items-center"},Ge={class:"file-list flex flex-wrap gap-[10px]"};function Pe(e,t,m,l,p,h){const u=n("font-awesome-icon"),d=n("el-button"),_=n("el-upload"),g=n("info-icon"),k=n("image-preview");return a(),i(E,null,[c("div",Ae,[c("h2",Le,s(e.$t("openaiimage.name.imageUrls")),1),c("div",Te,[c("div",Se,[o(_,{"file-list":e.fileList,"onUpdate:fileList":t[0]||(t[0]=r=>e.fileList=r),accept:".png,.jpg,.jpeg,.gif,.bmp,.webp",name:"file",class:"value",limit:5,multiple:!0,"show-file-list":!1,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,"on-change":e.onChange,"on-remove":e.onRemove,headers:e.headers},{default:$(()=>[o(d,{size:"small",type:"primary",round:""},{default:$(()=>[o(u,{icon:"fa-solid fa-upload",class:"mr-1"}),f(" "+s(e.$t("openaiimage.button.uploadImageUrls")),1)]),_:1})]),_:1},8,["file-list","action","on-exceed","on-error","on-success","on-change","on-remove","headers"]),o(g,{content:e.$t("openaiimage.description.imageUrls"),class:"ml-2"},null,8,["content"])])])]),c("div",Ge,[(a(!0),i(E,null,L(e.fileList,(r,b)=>(a(),I(k,{key:r.uid||r?.response?.file_url||r.url||b,url:r.url||r?.response?.file_url,name:r.name,percentage:r.percentage,onRemove:T=>e.onRemovePreview(b,r)},null,8,["url","name","percentage","onRemove"]))),128))])],64)}const qe=y(Ve,[["render",Pe]]),Oe=w({name:"OpenAIImageModelSelector",components:{ElSelect:F,ElOption:B,InfoIcon:O},data(){return{options:[{value:J,label:this.$t("openaiimage.model.gptImage1")},{value:K,label:this.$t("openaiimage.model.gptImage15")},{value:Q,label:this.$t("openaiimage.model.gptImage2")}]}},computed:{value:{get(){return this.$store.state.openaiimage?.config?.model},set(e){this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,model:e})}},modelDescription(){return this.$t("openaiimage.description.model")}},mounted(){this.value||(this.value=x)}}),Re={class:"field"},Ce={class:"label"},Ue={class:"box"},Me={class:"title font-bold"};function ze(e,t,m,l,p,h){const u=n("info-icon"),d=n("el-option"),_=n("el-select");return a(),i("div",Re,[c("div",Ce,[c("div",Ue,[c("h2",Me,s(e.$t("openaiimage.name.model")),1),o(u,{content:e.modelDescription,class:"info"},null,8,["content"])])]),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=g=>e.value=g),class:"value",placeholder:e.$t("openaiimage.placeholder.select")},{default:$(()=>[(a(!0),i(E,null,L(e.options,g=>(a(),I(d,{key:g.value,label:g.label,value:g.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const je=y(Oe,[["render",ze],["__scopeId","data-v-cec771bd"]]),De=w({name:"OpenAIImageSizeSelector",components:{ElSelect:F,ElOption:B,InfoIcon:O},data(){return{options:[{value:C,label:C},{value:U,label:U},{value:M,label:M}]}},computed:{value:{get(){return this.$store.state.openaiimage?.config?.size},set(e){this.$store.commit("openaiimage/setConfig",{...this.$store.state.openaiimage?.config,size:e})}}},mounted(){this.value||(this.value=X)}}),Ne={class:"field"},Be={class:"label"},Fe={class:"box"},We={class:"title font-bold"};function He(e,t,m,l,p,h){const u=n("info-icon"),d=n("el-option"),_=n("el-select");return a(),i("div",Ne,[c("div",Be,[c("div",Fe,[c("h2",We,s(e.$t("openaiimage.name.size")),1),o(u,{content:e.$t("openaiimage.description.size"),class:"info"},null,8,["content"])])]),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=g=>e.value=g),class:"value",placeholder:e.$t("openaiimage.placeholder.select")},{default:$(()=>[(a(!0),i(E,null,L(e.options,g=>(a(),I(d,{key:g.value,label:g.label,value:g.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])}const Ze=y(De,[["render",He],["__scopeId","data-v-11116785"]]),xe=w({name:"ConfigPanel",components:{ElButton:P,FontAwesomeIcon:G,PromptInput:Ie,Consumption:se,ImageUrlsInput:qe,ModelSelector:je,ResolutionSelector:Ze},emits:["generate"],computed:{config(){return this.$store.state.openaiimage?.config},consumption(){const e={...this.config||{}};return ae({...e},this.service?.cost)},service(){return this.$store.state.openaiimage?.service}},methods:{onGenerate(){this.$emit("generate")}}}),Je={class:"flex flex-col h-full"},Ke={class:"flex-1 overflow-y-auto p-5"},Qe={class:"flex flex-col items-center justify-center px-5 pb-5"};function Xe(e,t,m,l,p,h){const u=n("model-selector"),d=n("resolution-selector"),_=n("prompt-input"),g=n("image-urls-input"),k=n("consumption"),r=n("font-awesome-icon"),b=n("el-button");return a(),i("div",Je,[c("div",Ke,[o(u,{class:"mb-4"}),o(d,{class:"mb-4"}),o(_,{class:"mb-4"}),o(g,{class:"mb-4"})]),c("div",Qe,[o(k,{value:e.consumption,service:e.service},null,8,["value","service"]),o(b,{type:"primary",class:"btn w-full",round:"",onClick:e.onGenerate},{default:$(()=>[o(r,{icon:"fa-solid fa-magic",class:"mr-2"}),f(" "+s(e.$t("openaiimage.button.generate")),1)]),_:1},8,["onClick"])])])}const Ye=y(xe,[["render",Xe]]),et=w({name:"TaskPreview",components:{ElImage:me,CopyToClipboard:ie,FontAwesomeIcon:G,ElAlert:ce,ImageWrapper:le,ElButton:P,ElTooltip:re,ImagePreview:N},props:{modelValue:{type:Object,required:!0}},setup(){return{OPENAIIMAGE_LOGO:Y}},computed:{images(){const e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{const m=t;if(m?.image_url||m?.url){e.push(m);return}m?.b64_json&&e.push({...m,url:`data:image/png;base64,${m.b64_json}`})}),e}},methods:{onEdit(e){if(!e)return;console.debug("Edit image:",e);const t={...this.$store.state.openaiimage?.config||{}};t.image_urls=[e],this.$store.commit("openaiimage/setConfig",t)}}}),tt={class:"preview"},ot={class:"left"},st={class:"main"},at={class:"bot"},nt={class:"datetime"},it={class:"info"},lt={key:0,class:"flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto"},rt={key:1,class:"prompt mt-2"},ct={key:0},mt={key:0,class:q({content:!0,failed:!0})},pt={class:"flex justify-start items-center gap-4 w-full overflow-x-auto"},ut={class:q({operations:!0,"mt-2":!0,"mb-2":!0})},dt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},gt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ft={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},ht={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},_t={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},$t={key:1,class:q({content:!0})},vt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},bt={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},kt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},wt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},yt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Et={key:3,class:"text-[var(--el-text-color-regular)] text-xs mb-0"},It={key:2,class:q({content:!0})},Vt={key:0,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},At={key:1,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Lt={key:2,class:"text-[var(--el-text-color-regular)] text-xs mb-2"},Tt={class:"text-[var(--el-text-color-regular)] text-xs mb-2"};function St(e,t,m,l,p,h){const u=n("el-image"),d=n("image-preview"),_=n("image-wrapper"),g=n("el-button"),k=n("el-tooltip"),r=n("font-awesome-icon"),b=n("copy-to-clipboard"),T=n("el-alert");return a(),i("div",tt,[c("div",ot,[o(u,{src:e.OPENAIIMAGE_LOGO,class:"avatar"},null,8,["src"])]),c("div",st,[c("div",at,[f(s(e.$t("openaiimage.name.openaiimageBot"))+" ",1),c("span",nt,s(e.$dayjs.format(""+new Date(parseFloat((e.modelValue?.created_at||"").toString())*1e3))),1)]),c("div",it,[e.modelValue?.request?.image_urls&&e.modelValue?.request?.image_urls.length>0?(a(),i("div",lt,[(a(!0),i(E,null,L(e.modelValue?.request?.image_urls,(V,S)=>(a(),I(d,{key:S,url:V,name:`image-${S+1}`,closable:!1},null,8,["url","name"]))),128))])):v("",!0),e.modelValue?.request?.prompt?(a(),i("p",rt,[f(s(e.modelValue?.request?.prompt)+" ",1),e.modelValue?.response?v("",!0):(a(),i("span",ct," - ("+s(e.$t("openaiimage.status.pending"))+") ",1))])):v("",!0)]),e.modelValue?.response?.success===!0?(a(),i("div",mt,[c("div",pt,[(a(!0),i(E,null,L(e.images,(V,S)=>(a(),I(_,{key:S,src:V?.image_url||V?.url||"","raw-src":V?.image_url||V?.url||""},null,8,["src","raw-src"]))),128))]),c("div",ut,[o(k,{class:"box-item",effect:"dark",content:e.$t("common.button.edit"),placement:"top-start"},{default:$(()=>[o(g,{type:"info",size:"small",class:"btn-action",onClick:t[0]||(t[0]=H(V=>e.onEdit(e.images?.[0]?.image_url||e.images?.[0]?.url),["stop"]))},{default:$(()=>[f(s(e.$t("common.button.edit")),1)]),_:1})]),_:1},8,["content"])]),o(T,{closable:!1,class:"mt-2 success"},{default:$(()=>[e.modelValue?.request?.model?(a(),i("p",dt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):v("",!0),e.modelValue?.request?.size?(a(),i("p",gt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):v("",!0),e.modelValue?.request?.action?(a(),i("p",ft,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):v("",!0),c("p",ht,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.taskId"))+": "+s(e.modelValue?.id)+" ",1),o(b,{content:e.modelValue?.id,class:"btn-copy inline-block"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),i("p",_t,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.traceId"))+": "+s(e.modelValue?.response?.trace_id)+" ",1),o(b,{content:e.modelValue?.response?.trace_id,class:"btn-copy inline-block"},null,8,["content"])])):v("",!0)]),_:1})])):e.modelValue?.response?.success===!1?(a(),i("div",$t,[o(T,{closable:!1,class:"failure"},{template:$(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(a(),i("p",vt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):v("",!0),e.modelValue?.request?.size?(a(),i("p",bt,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):v("",!0),e.modelValue?.request?.action?(a(),i("p",kt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):v("",!0),c("p",wt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.taskId"))+": "+s(e.modelValue?.id)+" ",1),o(b,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])]),c("p",yt,[o(r,{icon:"fa-solid fa-circle-info",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.failureReason"))+": "+s(e.modelValue?.response?.error?.message)+" ",1),o(b,{content:e.modelValue?.response?.error?.message,class:"btn-copy"},null,8,["content"])]),e.modelValue?.response?.trace_id?(a(),i("p",Et,[o(r,{icon:"fa-solid fa-hashtag",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.traceId"))+": "+s(e.modelValue?.response?.trace_id)+" ",1),o(b,{content:e.modelValue?.response?.trace_id,class:"btn-copy"},null,8,["content"])])):v("",!0)]),_:1})])):(a(),i("div",It,[o(T,{closable:!1,class:"info"},{template:$(()=>[o(r,{icon:"fa-solid fa-exclamation-triangle",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.failure")),1)]),default:$(()=>[e.modelValue?.request?.model?(a(),i("p",Vt,[o(r,{icon:"fa-solid fa-cube",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.model"))+": "+s(e.modelValue?.request?.model),1)])):v("",!0),e.modelValue?.request?.size?(a(),i("p",At,[o(r,{icon:"fa-solid fa-image",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.size"))+": "+s(e.modelValue?.request?.size),1)])):v("",!0),e.modelValue?.request?.action?(a(),i("p",Lt,[o(r,{icon:"fa-solid fa-bolt",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.task"))+": "+s(e.modelValue?.request?.action==="generate"?e.$t("openaiimage.name.generate"):e.$t("openaiimage.name.edits")),1)])):v("",!0),c("p",Tt,[o(r,{icon:"fa-solid fa-magic",class:"mr-1"}),f(" "+s(e.$t("openaiimage.name.taskId"))+": "+s(e.modelValue?.id)+" ",1),o(b,{content:e.modelValue?.id,class:"btn-copy"},null,8,["content"])])]),_:1})]))])])}const Gt=y(et,[["render",St],["__scopeId","data-v-0235adad"]]),Pt=w({name:"RecentPanel",components:{TaskPreview:Gt,BotPlaceholder:pe,NoTasks:ue,ScrollList:ee},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.openaiimage?.tasks,items:this.$store.state.openaiimage?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),qt={key:0},Ot={key:2,class:"w-full h-full flex items-center justify-center"};function Rt(e,t,m,l,p,h){const u=n("bot-placeholder"),d=n("task-preview"),_=n("scroll-list"),g=n("no-tasks");return a(),i(E,null,[e.tasks?.items===void 0?(a(),i("div",qt,[o(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(a(),I(_,{key:1,ref:"scrollList",class:"tasks h-full w-full overflow-y-auto",loading:e.loading,onReachTop:t[0]||(t[0]=k=>e.$emit("reach-top"))},{default:$(()=>[(a(!0),i(E,null,L(e.tasks?.items,k=>(a(),I(d,{key:k.id,"model-value":k},null,8,["model-value"]))),128))]),_:1},8,["loading"])):v("",!0),e.tasks?.items?.length===0?(a(),i("div",Ot,[o(g)])):v("",!0)],64)}const Ct=y(Pt,[["render",Rt]]),D="https://webhook.acedata.cloud/openaiimage",Ut=w({name:"OpenAIImageIndex",components:{ConfigPanel:Ye,Layout:$e,RecentPanel:Ct},inject:["initialized"],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.openaiimage?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.openaiimage?.status?.getTasks===z.Request},credential(){return this.$store.state.openaiimage?.credential},config(){return this.$store.state.openaiimage?.config},application(){return this.$store.state.openaiimage?.application},tasks(){return this.$store.state.openaiimage?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug("new tasks detected")},deep:!0},initialized:{async handler(e){e&&(console.debug("layout initialized"),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){if(console.debug("reached top"),this.loading||this.tasksLoading)return;const e=this.tasks?.total,t=this.tasks?.items?.length||0;if(e!==void 0&&e<=t)return;const m=this.tasks?.items?.[0];if(!m?.created_at)return;const p=this.$refs.recentPanel?.getScrollElement?.(),h=p?.scrollHeight||0,u=p?.scrollTop||0;this.loading=!0;try{if(await this.onGetTasks({createdAtMax:m.created_at}),await this.$nextTick(),p){const d=p.scrollHeight;p.scrollTop=d-h+u}}finally{this.loading=!1}},async onGetService(){console.debug("start onGetService"),await this.$store.dispatch("openaiimage/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplication"),await this.$store.dispatch("openaiimage/getApplications"),console.debug("end onGetApplication"),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();const e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug("loading");return}console.debug("start onGetTasks",e);const{limit:t=20,createdAtMin:m,createdAtMax:l}=e||{};console.debug("limit",t,"createdAtMin",m,"createdAtMax",l),await this.$store.dispatch("openaiimage/getTasks",{limit:t,createdAtMin:m,createdAtMax:l})},async onGenerate(){const e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;!t&&"image_urls"in e&&delete e.image_urls;const m={...e,action:"generate",callback_url:D},l={action:"edit",model:e?.model,prompt:e?.prompt,image_urls:e?.image_urls||[],callback_url:D},p=this.credential?.token;if(!p){console.error("no token specified");return}A.info(this.$t("openaiimage.message.startingTask")),(t?j.edit(l,{token:p}):j.generate(m,{token:p})).then(u=>{console.debug("task accepted",u.data?.task_id),A.success(this.$t("openaiimage.message.startTaskSuccess"))}).catch(u=>{const d=u?.response?.data;d?.error?.code===ne?A.error(this.$t("openaiimage.message.usedUp")):A.error(this.$t("openaiimage.message.startTaskFailed")+(d?.error?.message||""))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Mt(e,t,m,l,p,h){const u=n("config-panel"),d=n("recent-panel"),_=n("layout");return a(),I(_,null,{config:$(()=>[o(u,{onGenerate:e.onGenerate},null,8,["onGenerate"])]),result:$(()=>[o(d,{ref:"recentPanel",loading:e.loading,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),_:1})}const Lo=y(Ut,[["render",Mt]]);export{Lo as default};
@@ -1 +1 @@
1
- import{aZ as x,b7 as g,D as $,b8 as C,b2 as T,b3 as N,b4 as L,a9 as U,b5 as D,b9 as R,ba as B,bb as P,b1 as A}from"./index-DxnrvYVH.js";import{F as v}from"./index.es-CTSlEmkZ.js";import{E as F,a as H}from"./index-eMWbvaT8.js";import{E as V}from"./index-bLc6Jspi.js";import{E as k}from"./index-BoNQ2bwh.js";import{d as E,x as f,y as n,C as o,I as _,F as m,J as b,E as s,D as t,q as r,H as h,R as X,O as q,N as J,Q as M}from"./vendor-vue-C5BV5QrY.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Bl-Po99g.js";import"./typescript-Cdvt30Lj.js";import"./index-BWUBjXz2.js";import"./index-CZSdwn7u.js";import"./index-BoMrEY9d.js";import"./index-BuyEbX8F.js";import"./index-BfOryRNq.js";import"./dropdown-DPQ051fG.js";import"./debounce-z3wHMjDj.js";import"./index-D5nhIR6Q.js";const z=E({name:"HelpEntry",components:{ElImage:k,ElDialog:x,ElPopover:V,ElMenu:H,ElMenuItem:F,FontAwesomeIcon:v},props:{visible:{type:Boolean,default:!0}},emits:["close"],computed:{site(){return this.$store.state.site}},methods:{onJoin(){window.open(this.$store.state.site?.features?.support?.discord?.url,"_blank")},onProfit(){this.$router.push({name:g})}}}),j={class:"flex"},G={class:"flex-1 text-center"};function K(e,i,y,I,w,O){const c=t("font-awesome-icon"),l=t("el-menu-item"),u=t("el-image"),p=t("el-popover"),a=t("el-menu"),d=t("el-dialog");return r(),f(d,{"model-value":e.visible,width:200,class:"text-center",onClose:i[0]||(i[0]=S=>e.$emit("close"))},{default:n(()=>[o(a,{collapse:!1,class:"menu"},{default:n(()=>[e.site?.features?.support?.discord?.enabled?(r(),f(l,{key:0,index:"1",onClick:e.onJoin},{title:n(()=>[_(m(e.$t("common.message.joinDiscord")),1)]),default:n(()=>[o(c,{icon:"fa-brands fa-discord",class:"mr-2"})]),_:1},8,["onClick"])):b("",!0),o(p,{width:350,trigger:"hover"},{reference:n(()=>[e.site?.features?.support?.wechat?.enabled?(r(),f(l,{key:0,index:"2"},{title:n(()=>[_(m(e.$t("common.message.addWeChat")),1)]),default:n(()=>[o(c,{icon:"fa-brands fa-weixin",class:"mr-2"})]),_:1})):b("",!0)]),default:n(()=>[s("div",j,[s("div",G,[o(u,{src:e.site?.features?.support?.wechat?.qr},null,8,["src"])])])]),_:1})]),_:1})]),_:1},8,["model-value"])}const Q=$(z,[["render",K],["__scopeId","data-v-0fce633f"]]),W=E({name:"ProfileIndex",components:{ElImage:k,HelpDialog:Q,FontAwesomeIcon:v},data(){return{operating:{locale:!1,dark:!1,help:!1}}},computed:{user(){return this.$store.getters.user},showSupport(){return this.$store?.state?.site?.features?.support?.enabled&&(this.$store?.state?.site?.features?.support?.discord?.enabled||this.$store?.state?.site?.features?.support?.wechat?.enabled)},showSite(){return this.$store?.state?.site?.admins?.includes(this.$store.getters.user?.id)},showSubsite(){return!!this.$store?.state?.site?.features?.subsite?.enabled},links(){return[{key:"profile",text:this.$t("console.menu.userProfile"),href:`${P()}/user/profile`,icon:"fa-regular fa-user"},{key:"application-list",text:this.$t("console.menu.applicationList"),name:N,icon:"fa-solid fa-cube"},{key:"order-list",text:this.$t("console.menu.orderList"),name:L,icon:"fa-solid fa-store"},{key:"usage-list",text:this.$t("console.menu.usageList"),name:U,icon:"fa-solid fa-rotate-left"},{key:"byok-list",text:this.$t("console.menu.byokList"),name:D,icon:"fa-solid fa-key"},{key:"distribution-index",text:this.$t("console.menu.distributionIndex"),name:g,icon:"fa-solid fa-coins"},...this.showSite?[{key:"site-index",text:this.$t("common.nav.site"),name:R,icon:"fa-solid fa-gear"}]:[],...this.showSubsite?[{key:"subsite-index",text:this.$t("common.nav.subsite"),name:B,icon:"fa-solid fa-sitemap"}]:[],{key:"dark-setting",text:this.$t("common.nav.darkMode"),icon:"fa-solid fa-moon",callback:()=>{this.operating.dark=!0}},{key:"locale-setting",text:this.$t("common.nav.locale"),icon:"fa-solid fa-language",callback:()=>{this.operating.locale=!0}},{key:"developerPlatform",text:this.$t("console.menu.developerPlatform"),href:A(),icon:"fa-solid fa-laptop-code"},...this.showSupport?[{key:"support",text:this.$t("common.nav.support"),callback:()=>{this.operating.help=!0},icon:"fa-solid fa-question"}]:[],{key:"logout",text:this.$t("common.nav.logOut"),icon:"fa-solid fa-arrow-right-from-bracket",callback:async()=>{await this.$store.dispatch("logout")}}]}},methods:{onHome(){this.$router.push({name:T})},onNavigate(e){e.name?this.$router.push({name:e.name}):e.href?window.open(C(e.href),"_blank"):e.callback&&e.callback()}}}),Y={class:"profile"},Z={class:"info"},ee={class:"links"},te=["onClick"],oe={class:"icon"},se={class:"text"},ae={class:"suffix"};function ne(e,i,y,I,w,O){const c=t("el-image"),l=t("font-awesome-icon"),u=t("locale-selector"),p=t("help-dialog");return r(),h("div",Y,[s("div",Z,[o(c,{src:e.user.avatar,fit:"cover",class:"avatar"},null,8,["src"]),s("h2",null,m(e.user.username),1),s("div",{style:X({backgroundImage:"url("+e.user.avatar+")"}),class:"background"},null,4)]),s("div",ee,[(r(!0),h(q,null,J(e.links,(a,d)=>(r(),h("a",{key:d,class:M({link:!0,active:e.$route.name===a.name}),onClick:S=>e.onNavigate(a)},[s("span",oe,[o(l,{icon:a.icon,class:"text-sm"},null,8,["icon"])]),s("span",se,m(a.text),1),s("span",ae,[o(l,{icon:"fa-solid fa-chevron-right",class:"text-sm"})])],10,te))),128))]),o(u,{visible:e.operating.locale==!0,onClose:i[0]||(i[0]=a=>e.operating.locale=!1)},null,8,["visible"]),o(p,{visible:e.operating.help==!0,onClose:i[1]||(i[1]=a=>e.operating.help=!1)},null,8,["visible"])])}const Ie=$(W,[["render",ne],["__scopeId","data-v-588fb7cd"]]);export{Ie as default};
1
+ import{aZ as x,b7 as g,D as $,b8 as C,b2 as T,b3 as N,b4 as L,a9 as U,b5 as D,b9 as R,ba as B,bb as P,b1 as A}from"./index-CM9zReVQ.js";import{F as v}from"./index.es-JHCCRstw.js";import{E as F,a as H}from"./index-Bs422SEk.js";import{E as V}from"./index-OZ8uKCgC.js";import{E as k}from"./index-CkXICIBK.js";import{d as E,x as f,y as n,C as o,I as _,F as m,J as b,E as s,D as t,q as r,H as h,R as X,O as q,N as J,Q as M}from"./vendor-vue-C5BV5QrY.js";import"./vendor-axios-B8_nURbH.js";import"./vendor-dayjs-Cvgzdobq.js";import"./vendor-vue-router-Bl-Po99g.js";import"./typescript-gcHX6vpO.js";import"./index-CHmbfkMb.js";import"./index-C80csLdP.js";import"./index-BTFeaU3-.js";import"./index-BuyEbX8F.js";import"./index-binwyAFH.js";import"./dropdown-CCaQCEdp.js";import"./debounce-DJG7nn03.js";import"./index-BWaRzv5s.js";const z=E({name:"HelpEntry",components:{ElImage:k,ElDialog:x,ElPopover:V,ElMenu:H,ElMenuItem:F,FontAwesomeIcon:v},props:{visible:{type:Boolean,default:!0}},emits:["close"],computed:{site(){return this.$store.state.site}},methods:{onJoin(){window.open(this.$store.state.site?.features?.support?.discord?.url,"_blank")},onProfit(){this.$router.push({name:g})}}}),j={class:"flex"},G={class:"flex-1 text-center"};function K(e,i,y,I,w,O){const c=t("font-awesome-icon"),l=t("el-menu-item"),u=t("el-image"),p=t("el-popover"),a=t("el-menu"),d=t("el-dialog");return r(),f(d,{"model-value":e.visible,width:200,class:"text-center",onClose:i[0]||(i[0]=S=>e.$emit("close"))},{default:n(()=>[o(a,{collapse:!1,class:"menu"},{default:n(()=>[e.site?.features?.support?.discord?.enabled?(r(),f(l,{key:0,index:"1",onClick:e.onJoin},{title:n(()=>[_(m(e.$t("common.message.joinDiscord")),1)]),default:n(()=>[o(c,{icon:"fa-brands fa-discord",class:"mr-2"})]),_:1},8,["onClick"])):b("",!0),o(p,{width:350,trigger:"hover"},{reference:n(()=>[e.site?.features?.support?.wechat?.enabled?(r(),f(l,{key:0,index:"2"},{title:n(()=>[_(m(e.$t("common.message.addWeChat")),1)]),default:n(()=>[o(c,{icon:"fa-brands fa-weixin",class:"mr-2"})]),_:1})):b("",!0)]),default:n(()=>[s("div",j,[s("div",G,[o(u,{src:e.site?.features?.support?.wechat?.qr},null,8,["src"])])])]),_:1})]),_:1})]),_:1},8,["model-value"])}const Q=$(z,[["render",K],["__scopeId","data-v-0fce633f"]]),W=E({name:"ProfileIndex",components:{ElImage:k,HelpDialog:Q,FontAwesomeIcon:v},data(){return{operating:{locale:!1,dark:!1,help:!1}}},computed:{user(){return this.$store.getters.user},showSupport(){return this.$store?.state?.site?.features?.support?.enabled&&(this.$store?.state?.site?.features?.support?.discord?.enabled||this.$store?.state?.site?.features?.support?.wechat?.enabled)},showSite(){return this.$store?.state?.site?.admins?.includes(this.$store.getters.user?.id)},showSubsite(){return!!this.$store?.state?.site?.features?.subsite?.enabled},links(){return[{key:"profile",text:this.$t("console.menu.userProfile"),href:`${P()}/user/profile`,icon:"fa-regular fa-user"},{key:"application-list",text:this.$t("console.menu.applicationList"),name:N,icon:"fa-solid fa-cube"},{key:"order-list",text:this.$t("console.menu.orderList"),name:L,icon:"fa-solid fa-store"},{key:"usage-list",text:this.$t("console.menu.usageList"),name:U,icon:"fa-solid fa-rotate-left"},{key:"byok-list",text:this.$t("console.menu.byokList"),name:D,icon:"fa-solid fa-key"},{key:"distribution-index",text:this.$t("console.menu.distributionIndex"),name:g,icon:"fa-solid fa-coins"},...this.showSite?[{key:"site-index",text:this.$t("common.nav.site"),name:R,icon:"fa-solid fa-gear"}]:[],...this.showSubsite?[{key:"subsite-index",text:this.$t("common.nav.subsite"),name:B,icon:"fa-solid fa-sitemap"}]:[],{key:"dark-setting",text:this.$t("common.nav.darkMode"),icon:"fa-solid fa-moon",callback:()=>{this.operating.dark=!0}},{key:"locale-setting",text:this.$t("common.nav.locale"),icon:"fa-solid fa-language",callback:()=>{this.operating.locale=!0}},{key:"developerPlatform",text:this.$t("console.menu.developerPlatform"),href:A(),icon:"fa-solid fa-laptop-code"},...this.showSupport?[{key:"support",text:this.$t("common.nav.support"),callback:()=>{this.operating.help=!0},icon:"fa-solid fa-question"}]:[],{key:"logout",text:this.$t("common.nav.logOut"),icon:"fa-solid fa-arrow-right-from-bracket",callback:async()=>{await this.$store.dispatch("logout")}}]}},methods:{onHome(){this.$router.push({name:T})},onNavigate(e){e.name?this.$router.push({name:e.name}):e.href?window.open(C(e.href),"_blank"):e.callback&&e.callback()}}}),Y={class:"profile"},Z={class:"info"},ee={class:"links"},te=["onClick"],oe={class:"icon"},se={class:"text"},ae={class:"suffix"};function ne(e,i,y,I,w,O){const c=t("el-image"),l=t("font-awesome-icon"),u=t("locale-selector"),p=t("help-dialog");return r(),h("div",Y,[s("div",Z,[o(c,{src:e.user.avatar,fit:"cover",class:"avatar"},null,8,["src"]),s("h2",null,m(e.user.username),1),s("div",{style:X({backgroundImage:"url("+e.user.avatar+")"}),class:"background"},null,4)]),s("div",ee,[(r(!0),h(q,null,J(e.links,(a,d)=>(r(),h("a",{key:d,class:M({link:!0,active:e.$route.name===a.name}),onClick:S=>e.onNavigate(a)},[s("span",oe,[o(l,{icon:a.icon,class:"text-sm"},null,8,["icon"])]),s("span",se,m(a.text),1),s("span",ae,[o(l,{icon:"fa-solid fa-chevron-right",class:"text-sm"})])],10,te))),128))]),o(u,{visible:e.operating.locale==!0,onClose:i[0]||(i[0]=a=>e.operating.locale=!1)},null,8,["visible"]),o(p,{visible:e.operating.help==!0,onClose:i[1]||(i[1]=a=>e.operating.help=!1)},null,8,["visible"])])}const Ie=$(W,[["render",ne],["__scopeId","data-v-588fb7cd"]]);export{Ie as default};