@acedatacloud/nexior 3.328.0 → 3.328.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/dist/assets/{ApiCodeButton-mvKRd2vS.js → ApiCodeButton-DJf3Vn3e.js} +1 -1
  2. package/dist/assets/{Artifacts-DiZZ912g.js → Artifacts-D1w4lIz1.js} +1 -1
  3. package/dist/assets/{AskUserQuestionCard-BM4FF-1V.js → AskUserQuestionCard-91tQ_C-7.js} +2 -2
  4. package/dist/assets/{Auth-BrVkJGO_.js → Auth-v1iJWMFN.js} +1 -1
  5. package/dist/assets/{Bare-UbYuAA12.js → Bare-C3oWTDt8.js} +1 -1
  6. package/dist/assets/{BotPlaceholder-DqU8f5Fh.js → BotPlaceholder-BeqcgtFT.js} +1 -1
  7. package/dist/assets/{BottomFooter-DyGYK_Gx.js → BottomFooter-BZCvhyJX.js} +1 -1
  8. package/dist/assets/{Callback-BPODJsx-.js → Callback-B_MkBC7d.js} +1 -1
  9. package/dist/assets/{CodeSnippet-D0BBi2Ky.js → CodeSnippet-Dbj_RmdL.js} +1 -1
  10. package/dist/assets/{Console-Y0tbVxma.js → Console-B1ep16gZ.js} +1 -1
  11. package/dist/assets/{Consumption-C1ALJh9G.js → Consumption-D3ZxFa7w.js} +1 -1
  12. package/dist/assets/{Conversation-BKHYDRGg.css → Conversation-1o65rM_E.css} +1 -1
  13. package/dist/assets/Conversation-BUuyM46q.js +1 -0
  14. package/dist/assets/{Conversation-CBVoGnhp.js → Conversation-DilcgTkY.js} +1 -1
  15. package/dist/assets/{CopyToClipboard-CoT4M6xJ.js → CopyToClipboard-B-NX3qvO.js} +1 -1
  16. package/dist/assets/{Detail-CfisoQTG.js → Detail-84yazabc.js} +2 -2
  17. package/dist/assets/{Extra-D2IzCejr.js → Extra-Bm7M5S71.js} +1 -1
  18. package/dist/assets/{FilePreview-jTXb2Spm.js → FilePreview-Bf3T09Dm.js} +1 -1
  19. package/dist/assets/{Hailuo-DrKaJaV2.js → Hailuo-gpxLhRb8.js} +1 -1
  20. package/dist/assets/{History-B18OkqSK.js → History-BfEbQA_x.js} +1 -1
  21. package/dist/assets/{ImagePreview-DBw0YCSw.js → ImagePreview-CmKJRJlf.js} +1 -1
  22. package/dist/assets/{ImageWrapper-C53P6A5K.js → ImageWrapper-G5iPWAeV.js} +1 -1
  23. package/dist/assets/{Index-Dea2VEzW.js → Index-BD6WjFmN.js} +1 -1
  24. package/dist/assets/Index-BYJhvhOm.js +1 -0
  25. package/dist/assets/{Index-mKqetc_y.js → Index-BahRwKRE.js} +1 -1
  26. package/dist/assets/Index-BclgGbwA.js +1 -0
  27. package/dist/assets/{Index-Dm99mchI.js → Index-Bdr29J7R.js} +1 -1
  28. package/dist/assets/{Index-88lBeScn.js → Index-CKMjNyld.js} +1 -1
  29. package/dist/assets/Index-CKONeYM3.js +1 -0
  30. package/dist/assets/{Index-D2Vhp2CJ.js → Index-CPUT6nZ3.js} +1 -1
  31. package/dist/assets/{Index-B6iscR9u.js → Index-C_mW1mCx.js} +1 -1
  32. package/dist/assets/Index-CiA-SunD.js +1 -0
  33. package/dist/assets/{Index-DRWGSM3g.js → Index-CjSSzDRe.js} +1 -1
  34. package/dist/assets/Index-CtunfRos.js +1 -0
  35. package/dist/assets/{Index-DNAc5g57.js → Index-DBOu5QTb.js} +1 -1
  36. package/dist/assets/{Index-z68h_pJr.js → Index-DEC2GPzy.js} +1 -1
  37. package/dist/assets/{Index-C5x8UoQI.js → Index-DGZkHKyD.js} +1 -1
  38. package/dist/assets/Index-DJG6WmwA.js +1 -0
  39. package/dist/assets/{Index-Dom1NOvI.js → Index-DMXoXQ98.js} +1 -1
  40. package/dist/assets/Index-DSZFpabp.js +1 -0
  41. package/dist/assets/{Index-Bos1LeCW.js → Index-DVvyGeA-.js} +1 -1
  42. package/dist/assets/Index-DYiniad6.js +1 -0
  43. package/dist/assets/{Index-BrsLEiZ7.js → Index-DdccBCVg.js} +1 -1
  44. package/dist/assets/{Index-D86nHL9s.js → Index-DjACf-VM.js} +2 -2
  45. package/dist/assets/{Index-BUOWu16h.js → Index-Dn_BWZmq.js} +1 -1
  46. package/dist/assets/{Index-D5X4FwcM.js → Index-Dwv2eYA8.js} +1 -1
  47. package/dist/assets/Index-aWMty2R-.js +1 -0
  48. package/dist/assets/{Index-BgqcHd_K.js → Index-mCW1hh5e.js} +1 -1
  49. package/dist/assets/{Index-z0HJwMqW.js → Index-tc6InSvN.js} +1 -1
  50. package/dist/assets/{Index-sUcCal1c.js → Index-tis_VF-Q.js} +1 -1
  51. package/dist/assets/Index-vxRLofCk.js +1 -0
  52. package/dist/assets/{Invitees-Cq71yirj.js → Invitees-CBdqG6dL.js} +1 -1
  53. package/dist/assets/{List-B9YtWkbq.js → List-BM78X2dz.js} +1 -1
  54. package/dist/assets/{List-DwbvNbC-.js → List-DWIc1ITn.js} +1 -1
  55. package/dist/assets/List-Drx_hB2-.js +1 -0
  56. package/dist/assets/{LocalTools-BSWQrNHA.js → LocalTools-BNzWUTg2.js} +1 -1
  57. package/dist/assets/{LocalTools-Bro9KBBp.js → LocalTools-DyXm2VxL.js} +3 -3
  58. package/dist/assets/{Main-DvtduPPO.js → Main-Ch01J6dn.js} +1 -1
  59. package/dist/assets/{Message-CJeZElK9.css → Message-B5ETI9_3.css} +1 -1
  60. package/dist/assets/Message-Ca8YWOYo.js +3 -0
  61. package/dist/assets/Model-DF34dFnH.js +1 -0
  62. package/dist/assets/Navigator-B0hMbFQM.css +1 -0
  63. package/dist/assets/Navigator-DagcJYN9.js +8 -0
  64. package/dist/assets/{NoTasks-C1NCAjA5.js → NoTasks-CJDRHQSo.js} +1 -1
  65. package/dist/assets/{NotFound-B9Y2ofCd.js → NotFound-BLxEqRiO.js} +1 -1
  66. package/dist/assets/{Pay-B0K_Tvrn.js → Pay-BjzAsE-o.js} +1 -1
  67. package/dist/assets/{Player-HzZca10j.js → Player-Df5pnGDx.js} +1 -1
  68. package/dist/assets/{PromptTextarea-BDqu8og3.js → PromptTextarea-CIlvFxpZ.js} +1 -1
  69. package/dist/assets/{RealtimeCall-DiH_vBaL.js → RealtimeCall-C0DoIUcC.js} +1 -1
  70. package/dist/assets/{ScheduledTasks-CTAIqYHO.js → ScheduledTasks-CRFQn_o1.js} +2 -2
  71. package/dist/assets/{Status-D_dhm_ea.js → Status-D-G8sl-j.js} +1 -1
  72. package/dist/assets/{Subscribe-lE08Cm5T.js → Subscribe-B7gQMu1L.js} +1 -1
  73. package/dist/assets/{TabSwitcher-CHIQIq79.js → TabSwitcher-WiCDOwh6.js} +1 -1
  74. package/dist/assets/{Tts-lPnAYyEe.js → Tts-CD45pGDQ.js} +1 -1
  75. package/dist/assets/{VideoPlayer-NexTZScZ.js → VideoPlayer-B_6s1RGM.js} +1 -1
  76. package/dist/assets/{VideoPreview-DCeahnWf.js → VideoPreview-i5JZCub2.js} +1 -1
  77. package/dist/assets/{alert-ahs7mNpG.js → alert-Do7N-c2v.js} +1 -1
  78. package/dist/assets/avatar-DQ1a6Neb.js +1 -0
  79. package/dist/assets/{basic-B6pBZ2q-.js → basic-BYs_fVA_.js} +1 -1
  80. package/dist/assets/{chat-oq8iY2nR.js → chat-4tYwZkxH.js} +1 -1
  81. package/dist/assets/{chat-D5gP6Sk5.js → chat-BMMvKWDg.js} +1 -1
  82. package/dist/assets/{chat-Bjjf7eir.js → chat-Bsey_F0S.js} +1 -1
  83. package/dist/assets/{chat-Cv1yaYsZ.js → chat-BuZl6QvI.js} +1 -1
  84. package/dist/assets/{chat-G-oUryzh.js → chat-C08YPcg-.js} +1 -1
  85. package/dist/assets/{chat-Cuihkv7o.js → chat-C0r3VkE0.js} +1 -1
  86. package/dist/assets/{chat-B4uuLtpJ.js → chat-CB1cO5O-.js} +1 -1
  87. package/dist/assets/{chat-COjmFCyK.js → chat-CL-RZ5tX.js} +1 -1
  88. package/dist/assets/chat-Cc3TlRyM.js +1 -0
  89. package/dist/assets/{chat-C4aYd5cf.js → chat-D1R7Rmzz.js} +1 -1
  90. package/dist/assets/{chat-DvxEWzFZ.js → chat-DKJXm35R.js} +1 -1
  91. package/dist/assets/{chat-bJGizI3q.js → chat-DUGAqVoh.js} +1 -1
  92. package/dist/assets/{chat-BI2yQyQy.js → chat-Dzqa8uBY.js} +1 -1
  93. package/dist/assets/{chat-D_WKV49e.js → chat-PeHZpIg4.js} +1 -1
  94. package/dist/assets/{chat-PmqkzdK3.js → chat-hycx43GV.js} +1 -1
  95. package/dist/assets/{chat-aD2kAhrU.js → chat-kWW5qGeZ.js} +1 -1
  96. package/dist/assets/{chat-DRNK8cKV.js → chat-nJkEieDw.js} +1 -1
  97. package/dist/assets/{chat-BV7WcfeH.js → chat-oSctg7ET.js} +1 -1
  98. package/dist/assets/{chat--x9_gJPz.js → chat-rhmyV5Kt.js} +1 -1
  99. package/dist/assets/{codingBridge-o4D8NG2k.js → codingBridge-BQSNennO.js} +2 -2
  100. package/dist/assets/{codingBridgeNotify-CCCkRJaZ.js → codingBridgeNotify-3eZCHW0c.js} +2 -2
  101. package/dist/assets/{collapse-Dt1P8EeN.js → collapse-BFINRdYB.js} +1 -1
  102. package/dist/assets/{common-CSOdlcKl.js → common-0yE2sWCg.js} +1 -1
  103. package/dist/assets/common-B9bzljOF.js +1 -0
  104. package/dist/assets/{common-Dd2daWKp.js → common-BGCarMHt.js} +1 -1
  105. package/dist/assets/{common-BfvDguXi.js → common-BQdoOE3w.js} +1 -1
  106. package/dist/assets/{common-Bddw-y5I.js → common-CED0QyDu.js} +1 -1
  107. package/dist/assets/{common-BPPc5guo.js → common-CXQz58N-.js} +1 -1
  108. package/dist/assets/{common-Dy8zU76h.js → common-CyXkPsGS.js} +1 -1
  109. package/dist/assets/{common-zyiNCcMq.js → common-D-nzts8w.js} +1 -1
  110. package/dist/assets/{common-BXsZrrv0.js → common-D2xM5D_2.js} +1 -1
  111. package/dist/assets/{common-DivvFctq.js → common-DGIEI55-.js} +1 -1
  112. package/dist/assets/{common-BN-Q6wDG.js → common-DIT4cv18.js} +1 -1
  113. package/dist/assets/{common-CPYeJFM8.js → common-DbpUS-Cj.js} +1 -1
  114. package/dist/assets/{common-CQjxBwpG.js → common-DcJ87ahG.js} +1 -1
  115. package/dist/assets/{common-Behwu5ww.js → common-DhrICwhd.js} +1 -1
  116. package/dist/assets/{common-C8aebnH6.js → common-DxjPkjg0.js} +1 -1
  117. package/dist/assets/{common-BIaB2AgA.js → common-ajSSEB6B.js} +1 -1
  118. package/dist/assets/{common-DhfKw6vy.js → common-ne9ERTsq.js} +1 -1
  119. package/dist/assets/{common-Cee1VP_j.js → common-wBd4Jb5l.js} +1 -1
  120. package/dist/assets/{constants-Di8qAaA0.js → constants-BtIkFEQQ.js} +1 -1
  121. package/dist/assets/{createTaskActions-CofCuaMR.js → createTaskActions-DPHaIobL.js} +1 -1
  122. package/dist/assets/{date-picker-Beaq-V0S.js → date-picker-Sl2nj7BR.js} +1 -1
  123. package/dist/assets/{digitalhuman-ywQie6q1.js → digitalhuman-BaGwsbr5.js} +1 -1
  124. package/dist/assets/{drawer-Bbz1bWjK.js → drawer-i0WqQqrI.js} +1 -1
  125. package/dist/assets/{dropdown-Cw_1xU2o.js → dropdown-CvC0oDz2.js} +1 -1
  126. package/dist/assets/{dropdown-2CHlhOc9.js → dropdown-Dcq3uIJb.js} +1 -1
  127. package/dist/assets/{esm-C9dyKRdH.js → esm-B-Yal8GZ.js} +3 -3
  128. package/dist/assets/{esm-BkgOqOsK.js → esm-CC2F7AN9.js} +1 -1
  129. package/dist/assets/{esm-hygnFHoD.js → esm-CCnvyvwz.js} +2 -2
  130. package/dist/assets/esm-CZDipJ8q.js +1 -0
  131. package/dist/assets/{esm-Ct0jmPCD.js → esm-Dohxy_MG.js} +2 -2
  132. package/dist/assets/{esm-BlE1O8HU.js → esm-Ds5SeGVM.js} +1 -1
  133. package/dist/assets/{esm-CXu8KDgo.js → esm-jpaR-VvX.js} +1 -1
  134. package/dist/assets/{fish-3Cku79Zq.js → fish-B_uZ36jd.js} +1 -1
  135. package/dist/assets/{flux-DGDIV7-V.js → flux-BDY0FvtM.js} +1 -1
  136. package/dist/assets/{grokvideo-CBm2EpbA.js → grokvideo-Cy3Zy5l2.js} +1 -1
  137. package/dist/assets/{hailuo-CjcPxVr2.js → hailuo-BSv0RQB8.js} +1 -1
  138. package/dist/assets/{headshots-DBIAayTq.js → headshots-_Wxwkewo.js} +1 -1
  139. package/dist/assets/{i18n-Cnwvyfb3.js → i18n-CnlPPfKT.js} +1 -1
  140. package/dist/assets/{image-CZEhdfIr.js → image-C0Q_kSiF.js} +1 -1
  141. package/dist/assets/index-CLXPsMRh.js +570 -0
  142. package/dist/assets/{index.browser.esm-Dy_KG34b.js → index.browser.esm-C4REW6zw.js} +1 -1
  143. package/dist/assets/{index.es-BeDOj7l9.js → index.es-Dz8k2qMs.js} +1 -1
  144. package/dist/assets/{input-number-CNM48oTw.js → input-number-Cb5Jno4x.js} +1 -1
  145. package/dist/assets/{kling-BQnSXJCU.js → kling-CV0GR3ME.js} +1 -1
  146. package/dist/assets/{luma-Cy-6kvOi.js → luma-D2h4JOWV.js} +1 -1
  147. package/dist/assets/{maestro-mw3UP9ZS.js → maestro-BwQqHNvV.js} +1 -1
  148. package/dist/assets/{maestro-DkXRzCm0.js → maestro-DHASR7Pe.js} +1 -1
  149. package/dist/assets/{midjourney-P7wOWd3A.js → midjourney-Bv7GrNDH.js} +1 -1
  150. package/dist/assets/{mobileLocalExec-C-kplgQv.js → mobileLocalExec-DUbaLO7t.js} +2 -2
  151. package/dist/assets/{nanobanana-BRBjqK_c.js → nanobanana-DQJcS41f.js} +1 -1
  152. package/dist/assets/{openaiimage-DHjjPff3.js → openaiimage-DepXtEuM.js} +1 -1
  153. package/dist/assets/{pagination-Df_omtLz.js → pagination-B7CmT_MW.js} +1 -1
  154. package/dist/assets/{pagination-BCtEfOqh.js → pagination-J4ftE4Ob.js} +1 -1
  155. package/dist/assets/{pika-rzDILOCL.js → pika-Nr-0SzvW.js} +1 -1
  156. package/dist/assets/{pixverse-DEgHSewZ.js → pixverse-xTo6OSg4.js} +1 -1
  157. package/dist/assets/{popover-BUq1te9P.js → popover-DqbmDtrU.js} +1 -1
  158. package/dist/assets/{producer-C7LByMVU.js → producer-DWqd4IA1.js} +1 -1
  159. package/dist/assets/{qrart-jd-KUeeZ.js → qrart-Dn_qdDoq.js} +1 -1
  160. package/dist/assets/realtime-DYRMdFwk.js +1 -0
  161. package/dist/assets/{row-CeGcOFQC.js → row-Dy2MHtHt.js} +1 -1
  162. package/dist/assets/{seedance-BUU9REVe.js → seedance-BSzomGRi.js} +1 -1
  163. package/dist/assets/{seedream-BQBdCJYB.js → seedream-CZ3lvaSb.js} +1 -1
  164. package/dist/assets/{select-BA-cCcAZ.js → select-CtcM2lMW.js} +1 -1
  165. package/dist/assets/{serp-DK-o13iD.js → serp-BqegfFra.js} +1 -1
  166. package/dist/assets/{slider-mSxNRAb6.js → slider-CLB9JHMY.js} +1 -1
  167. package/dist/assets/{solana-wallets-DUN6ORxY.js → solana-wallets-DvJJO52y.js} +2 -2
  168. package/dist/assets/{solana-wallets-vue-B5FC5Ihn.js → solana-wallets-vue-278SsNtI.js} +1 -1
  169. package/dist/assets/{wan-B9NOCIm5.js → sora-BjcF-RTB.js} +1 -1
  170. package/dist/assets/{suno-B0lyGnTl.js → suno-Dn_KCTpj.js} +1 -1
  171. package/dist/assets/{switch-B5T2UZ5K.js → switch-CiYv3gnS.js} +1 -1
  172. package/dist/assets/{table-CEPsV0ch.js → table-6ngqQlLd.js} +1 -1
  173. package/dist/assets/{tabs-ua-Mkkpv.js → tabs-DKAA85pC.js} +1 -1
  174. package/dist/assets/{time-picker-DPPeDwNK.js → time-picker-BfBDVF0X.js} +1 -1
  175. package/dist/assets/{tooltip-DaZcA4iA.js → tooltip-Bi7khUyG.js} +1 -1
  176. package/dist/assets/{upload-uSrKePzA.js → upload-BBjOgc4h.js} +1 -1
  177. package/dist/assets/{veo-BXDjEJvY.js → veo-BsonTT5d.js} +1 -1
  178. package/dist/assets/wan-rnuehswi.js +1 -0
  179. package/dist/assets/{web-CXVHECoS.js → web-63lcrqDL.js} +1 -1
  180. package/dist/assets/{web-C1Hdr0H3.js → web-BPRPmFCS.js} +1 -1
  181. package/dist/assets/{web-CvqA3KbP.js → web-CqzpMd5x.js} +1 -1
  182. package/dist/assets/{web-BUnavYd9.js → web-DVdURVi8.js} +1 -1
  183. package/dist/assets/{web-BMwGjPJP.js → web-Dbx9R1p3.js} +1 -1
  184. package/dist/assets/webextrator-1uiclAg4.js +1 -0
  185. package/dist/index.html +3 -3
  186. package/package.json +1 -1
  187. package/dist/assets/Conversation-B2LOqT8A.js +0 -1
  188. package/dist/assets/Index-4RKfboND.js +0 -1
  189. package/dist/assets/Index-BsFDkqOL.js +0 -1
  190. package/dist/assets/Index-CAX5wNat.js +0 -1
  191. package/dist/assets/Index-CawsB9uy.js +0 -1
  192. package/dist/assets/Index-D2rGLTgW.js +0 -1
  193. package/dist/assets/Index-D2s9qsVK.js +0 -1
  194. package/dist/assets/Index-DBNXBNVW.js +0 -1
  195. package/dist/assets/Index-DG3w7EUn.js +0 -1
  196. package/dist/assets/Index-XCT2nW-q.js +0 -1
  197. package/dist/assets/Index-oYKJzd3F.js +0 -1
  198. package/dist/assets/List-CAuRb7pj.js +0 -1
  199. package/dist/assets/Message-BCnXgc94.js +0 -3
  200. package/dist/assets/Model-OXl45r_3.js +0 -1
  201. package/dist/assets/Navigator-BcIKh2P4.css +0 -1
  202. package/dist/assets/Navigator-DpyMiUbf.js +0 -8
  203. package/dist/assets/avatar-jja3af5K.js +0 -1
  204. package/dist/assets/chat-BTe9NEfY.js +0 -1
  205. package/dist/assets/common-CA0axRkQ.js +0 -1
  206. package/dist/assets/esm-DYow634e.js +0 -1
  207. package/dist/assets/index-CapYApEL.js +0 -570
  208. package/dist/assets/realtime-BSHKId1F.js +0 -1
  209. package/dist/assets/sora-DUIW5h55.js +0 -1
  210. package/dist/assets/webextrator-DqTN5Zq1.js +0 -1
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,S as c,T as l,at as u,b as d,ht as f,it as p,j as m,mt as h,qt as g,rt as _,tt as v,x as y,z as b}from"./vendor-chart-Dw-P17PN.js";import{t as x}from"./upload-uSrKePzA.js";import{t as S}from"./tooltip-DaZcA4iA.js";import{t as C}from"./drawer-Bbz1bWjK.js";import{n as w,r as T,t as E}from"./dropdown-Cw_1xU2o.js";import{t as D}from"./skeleton-CoheJz5x.js";import{t as O}from"./vendor-axios-Ck2ffRoh.js";import{$i as k,Ai as A,Bi as j,Di as ee,Ei as te,Oi as ne,Si as re,Ti as M,aa as ie,ki as ae,na as N,wi as oe,zi as P}from"./constants-Di8qAaA0.js";import{$ as se,$r as ce,An as le,Ci as F,G as I,Gi as L,Ii as R,Oi as z,Q as ue,Ti as B,Y as de,_r as V,di as H,en as fe,hn as U,in as pe,jn as me,ln as he,mi as W,mn as G,nn as ge,q as K,si as q,vn as J,xr as _e}from"./index-CapYApEL.js";import{t as Y}from"./index.es-BeDOj7l9.js";import{n as ve,r as ye,t as be}from"./Message-BCnXgc94.js";import{t as xe}from"./FilePreview-jTXb2Spm.js";import{t as Se}from"./ImagePreview-DBw0YCSw.js";function Ce(){return _e(`SEND_SHORTCUT`)===`mod-enter`?`mod-enter`:`enter`}var we=b({name:`Composer`,components:{FilePreview:xe,ImagePreview:Se,ElTooltip:S,FontAwesomeIcon:Y,ElUpload:x,ElButton:R,ElDropdown:E,ElDropdownMenu:T,ElDropdownItem:w},mixins:[pe,ge],props:{answering:{type:Boolean,required:!1,default:!1},ready:{type:Boolean,required:!1,default:!0},references:{type:Array,required:!1,default:()=>[]},question:{type:String,required:!0}},emits:[`update:question`,`update:references`,`submit`,`stop`],data(){return{inputHeight:`35px`,questionValue:this.question||``,fileList:[],uploadUrl:W()+`/api/v1/files/`}},computed:{model(){return this.$store.state.chat.model},modelGroup(){return this.$store.state.chat.modelGroup},isVoiceCallSupported(){return this.modelGroup?.isVoiceCallSupported??!1},isFileSupported(){return this.model?.isFileSupported},isImageSupported(){return this.model?.isImageSupported},headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},refs(){let e=[];for(let t of this.fileList){let n=t?.response?.file_url;n&&e.push(t?.name?{url:n,name:t.name}:{url:n})}return e},uploading(){return this.fileList.some(e=>e.status===`ready`||e.status===`uploading`)},extensions(){if(this.isFileSupported===!1&&this.isImageSupported===!0)return`.png,.jpg,.jpeg,.gif,.bmp,.webp,.svg,.tiff,.ico,.heic`},pasteAccept(){return`.png,.jpg,.jpeg,.gif,.bmp,.webp,.svg,.tiff,.ico,.heic,image/*`}},watch:{refs(e){console.debug(`References:`,e),e.length>0&&this.$emit(`update:references`,e)},questionValue(e){this.$emit(`update:question`,e.trim())},question(e){e!==this.questionValue&&(this.questionValue=e)},references(e){console.debug(`References updated:`,e),e.length===0&&(this.fileList=[])},isFileSupported(e,t){t&&!e&&(this.fileList=[])}},methods:{isImageUrl:J,onStartCall(){this.$router.push({name:de})},adjustTextareaHeight(){this.$nextTick(()=>{let e=this.$refs.textarea;e&&(e.style.height=`35px`,e.style.height=e.scrollHeight+`px`)})},onSubmit(){!this.question||this.uploading||!this.ready||this.$emit(`submit`)},onEnterKey(e){if(e.isComposing||e.keyCode===229||e.shiftKey)return;let t=e.metaKey||e.ctrlKey;(Ce()===`mod-enter`?t:!t&&!e.altKey)&&(e.preventDefault(),this.onSubmit())},onStop(){this.$emit(`stop`)},onProgress(e,t){console.debug(`File upload progress:`,t.name,e.loaded,e.total,t.percentage)},onExceed(){B.warning(this.$t(`chat.message.uploadReferencesExceed`))},onError(){B.error(this.$t(`chat.message.uploadReferencesError`))},onTriggerUpload(){!this.isFileSupported&&!this.isImageSupported||this.answering||this.$nextTick(()=>{let e=this.$refs.uploader?.$el;(e?.querySelector(`input.el-upload__input`)||e?.querySelector(`input[type="file"]`))?.click()})},onOpenSkills(){window.open(G(`https://auth.acedata.cloud/user/skills`),`_blank`,`noopener`)},onOpenConnections(){window.open(G(`https://auth.acedata.cloud/user/connections`),`_blank`,`noopener`)}}}),Te={class:`composer`},Ee={ref:`uploadTrigger`,class:`upload-trigger`,"aria-hidden":`true`},De={key:0,class:`file-previews`},Oe=[`disabled`,`placeholder`],ke={class:`tools`},Ae={class:`btn-plus-trigger`},je=[`aria-disabled`];function Me(t,r,p,b,x,S){let C=u(`el-upload`),w=u(`image-preview`),T=u(`file-preview`),E=u(`font-awesome-icon`),D=u(`el-tooltip`),O=u(`el-dropdown-item`),k=u(`el-dropdown-menu`),A=u(`el-dropdown`),j=u(`el-button`);return v(),s(`div`,Te,[a(C,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":r[0]||=e=>t.fileList=e,class:`upload-hidden`,accept:t.extensions,disabled:!t.isFileSupported&&!t.isImageSupported||t.answering,name:`file`,limit:10,multiple:!0,action:t.uploadUrl,"show-file-list":!1,"on-exceed":t.onExceed,"on-error":t.onError,"on-progress":t.onProgress,headers:t.headers},{default:h(()=>[e(`span`,Ee,null,512)]),_:1},8,[`file-list`,`accept`,`disabled`,`action`,`on-exceed`,`on-error`,`on-progress`,`headers`]),t.fileList.length>0?(v(),s(`div`,De,[(v(!0),s(l,null,_(t.fileList,e=>(v(),s(l,{key:e.uid},[t.isImageUrl(e.name)?(v(),m(w,{key:0,url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):(v(),m(T,{key:1,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`name`,`percentage`,`onRemove`]))],64))),128))])):o(``,!0),f(e(`textarea`,{ref:`textarea`,"onUpdate:modelValue":r[1]||=e=>t.questionValue=e,disabled:t.answering,class:`input`,placeholder:t.$t(`chat.message.newMessagePlaceholder`),style:g({height:t.inputHeight}),onKeydown:r[2]||=c((...e)=>t.onEnterKey&&t.onEnterKey(...e),[`enter`]),onInput:r[3]||=(...e)=>t.adjustTextareaHeight&&t.adjustTextareaHeight(...e)},null,44,Oe),[[d,t.questionValue]]),e(`div`,ke,[a(A,{trigger:`click`,placement:`top-start`,"hide-on-click":!0,"popper-class":`composer-plus-popper`},{dropdown:h(()=>[a(k,null,{default:h(()=>[a(O,{disabled:!t.isFileSupported&&!t.isImageSupported||t.answering,onClick:t.onTriggerUpload},{default:h(()=>[a(E,{icon:`fa-regular fa-file-alt`,class:`menu-icon`}),e(`span`,null,i(t.$t(`chat.composer.addFiles`)),1)]),_:1},8,[`disabled`,`onClick`]),a(O,{onClick:t.onOpenSkills},{default:h(()=>[a(E,{icon:`fa-solid fa-wand-magic-sparkles`,class:`menu-icon`}),e(`span`,null,i(t.$t(`chat.composer.skills`)),1),a(E,{icon:`fa-solid fa-up-right-from-square`,class:`menu-external`})]),_:1},8,[`onClick`]),a(O,{onClick:t.onOpenConnections},{default:h(()=>[a(E,{icon:`fa-solid fa-plug`,class:`menu-icon`}),e(`span`,null,i(t.$t(`chat.composer.connections`)),1),a(E,{icon:`fa-solid fa-up-right-from-square`,class:`menu-external`})]),_:1},8,[`onClick`])]),_:1})]),default:h(()=>[e(`span`,Ae,[a(D,{class:`box-item`,effect:`dark`,content:t.$t(`chat.composer.addAction`),placement:`top`},{default:h(()=>[e(`span`,{class:n({btn:!0,"btn-plus":!0,disabled:t.answering}),"aria-disabled":t.answering,role:`button`},[a(E,{icon:`fa-solid fa-plus`,class:`icon icon-plus`})],10,je)]),_:1},8,[`content`])])]),_:1}),t.isVoiceCallSupported?(v(),m(D,{key:0,class:`box-item`,effect:`dark`,content:t.$t(`realtime.callTooltip`),placement:`top`},{default:h(()=>[e(`span`,{class:n({btn:!0,"btn-voice":!0}),role:`button`,onClick:r[4]||=(...e)=>t.onStartCall&&t.onStartCall(...e)},[a(E,{icon:`fa-solid fa-microphone`,class:`icon icon-voice`})])]),_:1},8,[`content`])):o(``,!0)]),a(j,{disabled:t.answering||!t.questionValue||t.uploading||!t.ready,type:`primary`,class:n({btn:!0,"btn-send":!0}),onClick:t.onSubmit},{default:h(()=>[a(E,{icon:`fa-solid fa-arrow-up`,class:`icon icon-send`})]),_:1},8,[`disabled`,`onClick`]),f(a(j,{disabled:!t.answering,type:`primary`,class:n({btn:!0,"btn-stop":!0}),onClick:t.onStop},{default:h(()=>[a(E,{icon:`fa-solid fa-stop`,class:`icon icon-stop`})]),_:1},8,[`disabled`,`onClick`]),[[y,t.answering]])])}var Ne=I(we,[[`render`,Me],[`__scopeId`,`data-v-d5bb66b6`]]),Pe=b({name:`ModelSelector`,components:{ElDropdown:E,ElDropdownMenu:T,ElDropdownItem:w,FontAwesomeIcon:Y},emits:[`update:modelValue`,`select`,`model-group-changed`,`model-changed`],data(){return{options:[M,ee,ae,ne,te,A]}},computed:{model(){return console.log(`model`,this.$store.state.chat.model),this.$store.state.chat.model},modelGroup(){return this.$route.meta?.modelGroup||M}},watch:{modelGroup(e){console.debug(`modelGroup from route changed`,e),this.$store.dispatch(`chat/setModelGroup`,e),this.$store.dispatch(`chat/setModel`,e.models[0])}},mounted(){let e=this.modelGroup;this.$store.state.chat?.modelGroup?.name!==e.name&&this.$store.dispatch(`chat/setModelGroup`,e);let t=this.$store.state.chat?.model;e.models.some(e=>e.name===t?.name)||this.$store.dispatch(`chat/setModel`,e.models[0])},methods:{onModelGroupChange(e){this.$store.dispatch(`chat/setModelGroup`,e),this.$emit(`model-group-changed`,e)},onModelChange(e){this.$store.dispatch(`chat/setModel`,e),this.$emit(`model-changed`,e)}}}),Fe={class:`selector`},Ie={class:`trigger`},Le=[`src`],Re={class:`trigger-name`},ze={class:`item`},Be=[`src`],Ve={class:`item-info`},He={key:0,class:`item-name`},Ue={key:0,class:`item-free-tag`},We={key:1,class:`item-desc`};function Ge(t,c,d,f,p,g){let y=u(`font-awesome-icon`),b=u(`el-dropdown-item`),x=u(`el-dropdown-menu`),S=u(`el-dropdown`);return v(),s(`div`,Fe,[a(S,{trigger:`click`,"popper-class":`model-selector-popper`},{dropdown:h(()=>[t.modelGroup&&t.modelGroup?.models?(v(),m(x,{key:0},{default:h(()=>[(v(!0),s(l,null,_(t.modelGroup?.models?.filter(e=>e.enabled),(a,c)=>(v(),m(b,{key:c,class:n({active:t.model?.name===a?.name}),onClick:e=>t.onModelChange(a)},{default:h(()=>[e(`div`,ze,[a?.icon?(v(),s(`img`,{key:0,src:a.icon,class:`item-icon`},null,8,Be)):o(``,!0),e(`div`,Ve,[a?.getDisplayName?(v(),s(`p`,He,[r(i(a?.getDisplayName())+` `,1),a?.isFree?(v(),s(`span`,Ue,i(t.$t(`chat.model.freeTag`)),1)):o(``,!0)])):o(``,!0),a?.getDescription?(v(),s(`p`,We,i(a?.getDescription()),1)):o(``,!0)]),t.model?.name===a?.name?(v(),m(y,{key:1,icon:`fa-solid fa-check`,class:`item-check`})):o(``,!0)])]),_:2},1032,[`class`,`onClick`]))),128))]),_:1})):o(``,!0)]),default:h(()=>[e(`div`,Ie,[t.model?.icon?(v(),s(`img`,{key:0,src:t.model.icon,class:`trigger-icon`},null,8,Le)):o(``,!0),e(`span`,Re,i(t.model?.getDisplayName?.()??t.model?.name??``),1),a(y,{icon:`fa-solid fa-chevron-down`,class:`trigger-arrow`})])]),_:1})])}var Ke=I(Pe,[[`render`,Ge],[`__scopeId`,`data-v-2e6e7a65`]]),qe=b({name:`DesktopAgentManager`,components:{ElDialog:z},props:{modelValue:{type:Boolean,default:!1},connected:{type:Boolean,default:!1},agentName:{type:String,default:``},toolCount:{type:Number,default:0},connectedAt:{type:String,default:``}},emits:[`update:modelValue`]}),Je={class:`agent-manager`},Ye={class:`description`},Xe={key:0,class:`status-card connected`},Ze={class:`status-header`},Qe={class:`status-text`},$e={class:`info-row`},et={class:`label`},tt={class:`value`},nt={class:`info-row`},rt={class:`label`},it={class:`value`},at={class:`info-row`},ot={class:`label`},st={class:`value`},ct={class:`hint`},lt={key:1,class:`status-card disconnected`},ut={class:`status-header`},dt={class:`status-text`},ft={class:`install-guide`},pt={class:`step-label`},mt={class:`step-label`};function ht(t,n,r,a,o,c){let l=u(`el-dialog`);return v(),m(l,{"model-value":t.modelValue,title:t.$t(`chat.agent.title`),width:`480px`,"onUpdate:modelValue":n[0]||=e=>t.$emit(`update:modelValue`,e)},{default:h(()=>[e(`div`,Je,[e(`p`,Ye,i(t.$t(`chat.agent.description`)),1),t.connected?(v(),s(`div`,Xe,[e(`div`,Ze,[n[1]||=e(`span`,{class:`pulse-dot`},null,-1),e(`span`,Qe,i(t.$t(`chat.agent.connected`)),1)]),e(`div`,$e,[e(`span`,et,i(t.$t(`chat.agent.name`))+`:`,1),e(`span`,tt,i(t.agentName),1)]),e(`div`,nt,[e(`span`,rt,i(t.$t(`chat.agent.tools`))+`:`,1),e(`span`,it,i(t.toolCount),1)]),e(`div`,at,[e(`span`,ot,i(t.$t(`chat.agent.connectedSince`))+`:`,1),e(`span`,st,i(t.connectedAt),1)]),e(`p`,ct,i(t.$t(`chat.agent.connectedHint`)),1)])):(v(),s(`div`,lt,[e(`div`,ut,[e(`span`,dt,i(t.$t(`chat.agent.notConnected`)),1)]),e(`div`,ft,[e(`p`,pt,i(t.$t(`chat.agent.installLabel`)),1),n[2]||=e(`code`,{class:`command`},`npm install -g @acedatacloud/desktop-agent`,-1),e(`p`,mt,i(t.$t(`chat.agent.runLabel`)),1),n[3]||=e(`code`,{class:`command`},`adc-agent --token YOUR_API_TOKEN`,-1)])]))])]),_:1},8,[`model-value`,`title`])}var gt=I(qe,[[`render`,ht],[`__scopeId`,`data-v-a365b6f4`]]),_t={chatgpt:`openai`,claude:`anthropic`,gemini:`google`,grok:`xai`,deepseek:`deepseek`,kimi:`moonshot`,glm:`zhipu`},vt=b({name:`BYOKBadge`,components:{ElTooltip:S,FontAwesomeIcon:Y},data(){return{credentials:[],loaded:!1}},computed:{token(){return this.$store?.state?.chat?.credential?.token},modelGroup(){return this.$store?.state?.chat?.modelGroup?.name},expectedProvider(){let e=this.modelGroup;if(e)return _t[e]},activeCredential(){let e=this.expectedProvider;if(e)return this.credentials.find(t=>t.provider===e&&t.is_active)},providerLabel(){return this.activeCredential?.provider_label},show(){return!!this.activeCredential}},watch:{token:{immediate:!0,handler(e){e&&!this.loaded&&this.fetch()}}},methods:{async fetch(){if(this.token)try{let{data:e}=await le.list({token:this.token});this.credentials=e?.items??[],this.loaded=!0}catch(e){console.debug(`BYOK badge fetch skipped`,e),this.credentials=[]}},onClickManage(){window.dispatchEvent(new CustomEvent(`open-user-settings`,{detail:{tab:`apiKey`}}))}}}),yt={class:`badge-text`};function bt(t,n,r,s,c,l){let d=u(`font-awesome-icon`),f=u(`el-tooltip`);return t.show&&t.providerLabel?(v(),m(f,{key:0,content:`${t.$t(`byok.badge.tooltip`,{provider:t.providerLabel})} — ${t.$t(`byok.badge.manage`)}`,placement:`bottom`},{default:h(()=>[e(`button`,{type:`button`,class:`byok-badge`,onClick:n[0]||=(...e)=>t.onClickManage&&t.onClickManage(...e)},[a(d,{icon:`fa-solid fa-key`,class:`badge-icon`}),e(`span`,yt,i(t.$t(`byok.badge.active`,{provider:t.providerLabel})),1)])]),_:1},8,[`content`])):o(``,!0)}var xt=I(vt,[[`render`,bt],[`__scopeId`,`data-v-2875e3f2`]]),St=b({name:`ShareConversationDialog`,components:{ElDialog:z,ElInput:L,ElButton:R,FontAwesomeIcon:Y},props:{modelValue:{type:Boolean,default:!1},conversationId:{type:String,default:void 0},shareId:{type:String,default:void 0}},emits:[`update:modelValue`,`update:shareId`],data(){return{localShareId:this.shareId,creating:!1,disabling:!1,copied:!1}},computed:{visible:{get(){return this.modelValue},set(e){this.$emit(`update:modelValue`,e)}},token(){return this.$store.state.chat?.credential?.token},shareUrl(){return this.localShareId?`${typeof window<`u`?window.location.origin:``}/share/${this.localShareId}`:``}},watch:{shareId(e){this.localShareId=e},modelValue(e){e&&(this.localShareId=this.shareId,this.copied=!1)}},methods:{selectAll(e){e.target?.select?.()},async onCreate(){if(!this.token){B.error(this.$t(`chat.share.needLogin`));return}if(!this.conversationId){B.error(this.$t(`chat.share.noConversation`));return}this.creating=!0;try{let{data:e}=await V.shareConversation(this.conversationId,{token:this.token}),t=e?.share_id;if(!t)throw Error(`missing share_id`);this.localShareId=t,this.$emit(`update:shareId`,t)}catch(e){console.error(`shareConversation failed`,e),B.error(this.$t(`chat.share.createFailed`))}finally{this.creating=!1}},onCopy(){this.shareUrl&&(he(this.shareUrl,{debug:!1}),this.copied=!0,B.success(this.$t(`chat.share.copied`)),setTimeout(()=>{this.copied=!1},2500))},async onDisable(){if(!this.token||!this.conversationId){this.localShareId=void 0,this.$emit(`update:shareId`,void 0);return}this.disabling=!0;try{await V.unshareConversation(this.conversationId,{token:this.token}),this.localShareId=void 0,this.$emit(`update:shareId`,void 0),B.success(this.$t(`chat.share.disabled`))}catch(e){console.error(`unshareConversation failed`,e),B.error(this.$t(`chat.share.disableFailed`))}finally{this.disabling=!1}}}}),Ct={class:`share-desc`},wt={key:0,class:`share-linked`},Tt={class:`share-url-row`},Et={key:1,class:`share-create`};function Dt(t,n,o,c,l,d){let f=u(`el-input`),p=u(`el-button`),g=u(`font-awesome-icon`),_=u(`el-dialog`);return v(),m(_,{modelValue:t.visible,"onUpdate:modelValue":n[2]||=e=>t.visible=e,width:`460px`,title:t.$t(`chat.share.dialogTitle`),"close-on-click-modal":!0},{footer:h(()=>[a(p,{onClick:n[1]||=e=>t.visible=!1},{default:h(()=>[r(i(t.$t(`common.button.close`)),1)]),_:1})]),default:h(()=>[e(`p`,Ct,i(t.$t(`chat.share.description`)),1),t.localShareId?(v(),s(`div`,wt,[e(`div`,Tt,[a(f,{modelValue:t.shareUrl,"onUpdate:modelValue":n[0]||=e=>t.shareUrl=e,readonly:``,class:`share-url`,onFocus:t.selectAll},null,8,[`modelValue`,`onFocus`]),a(p,{type:`primary`,onClick:t.onCopy},{default:h(()=>[r(i(t.copied?t.$t(`chat.share.copied`):t.$t(`chat.share.copy`)),1)]),_:1},8,[`onClick`])]),a(p,{link:``,type:`danger`,class:`share-disable`,loading:t.disabling,onClick:t.onDisable},{default:h(()=>[a(g,{icon:`fa-solid fa-link-slash`,class:`mr-1`}),r(` `+i(t.$t(`chat.share.disable`)),1)]),_:1},8,[`loading`,`onClick`])])):(v(),s(`div`,Et,[a(p,{type:`primary`,round:``,loading:t.creating,onClick:t.onCreate},{default:h(()=>[a(g,{icon:`fa-solid fa-link`,class:`mr-1`}),r(` `+i(t.$t(`chat.share.createLink`)),1)]),_:1},8,[`loading`,`onClick`])]))]),_:1},8,[`modelValue`,`title`])}var X=I(St,[[`render`,Dt],[`__scopeId`,`data-v-0d1ca31a`]]),Ot={},kt={class:`disclaimer`};function At(e,t){return v(),s(`p`,kt,i(e.$t(`chat.message.howToUse`)),1)}var jt=I(Ot,[[`render`,At],[`__scopeId`,`data-v-d2d980ab`]]),Z=5,Mt=b({name:`ConnectorStrip`,components:{ElTooltip:S},data(){return{enabledConnectors:[],loadSeq:0}},computed:{visibleConnectors(){return this.enabledConnectors.length<=Z?this.enabledConnectors:this.enabledConnectors.slice(0,Z-1)},overflowCount(){return this.enabledConnectors.length<=Z?0:this.enabledConnectors.length-(Z-1)},userId(){return this.$store.getters.user?.id??null}},watch:{userId(){this.enabledConnectors=[],this.loadConnectors(!0)}},mounted(){this.loadConnectors(),document.addEventListener(`visibilitychange`,this.onVisibilityChange)},beforeUnmount(){document.removeEventListener(`visibilitychange`,this.onVisibilityChange)},methods:{async loadConnectors(e=!1){let t=this.userId,n=++this.loadSeq,r=await ve(t,e);n===this.loadSeq&&this.userId===t&&(this.enabledConnectors=r)},onVisibilityChange(){document.visibilityState===`visible`&&this.loadConnectors(!0)},onOpen(){fe()}}}),Nt={key:0,class:`connector-strip`},Pt=[`src`,`alt`];function Ft(t,n,r,a,c,d){let f=u(`el-tooltip`);return t.visibleConnectors.length>0?(v(),s(`div`,Nt,[(v(!0),s(l,null,_(t.visibleConnectors,r=>(v(),m(f,{key:r.id,effect:`dark`,content:r.name,placement:`top`},{default:h(()=>[e(`span`,{class:`connector-chip`,role:`button`,onClick:n[0]||=(...e)=>t.onOpen&&t.onOpen(...e)},[e(`img`,{class:`connector-icon`,src:r.icon_url,alt:r.name,loading:`lazy`},null,8,Pt)])]),_:2},1032,[`content`]))),128)),t.overflowCount>0?(v(),m(f,{key:0,effect:`dark`,content:t.$t(`chat.composer.connections`),placement:`top`},{default:h(()=>[e(`span`,{class:`connector-chip connector-more`,role:`button`,onClick:n[1]||=(...e)=>t.onOpen&&t.onOpen(...e)},` +`+i(t.overflowCount),1)]),_:1},8,[`content`])):o(``,!0)])):o(``,!0)}var It=I(Mt,[[`render`,Ft],[`__scopeId`,`data-v-281663b0`]]),Lt=b({name:`SidePanel`,components:{ElInput:L,ElButton:R,ElDialog:z,ElDropdown:E,ElDropdownItem:w,ElDropdownMenu:T,FontAwesomeIcon:Y,ElSkeleton:D,ShareConversationDialog:X},props:{},emits:[`change-conversation`],data(){return{renameDialogVisible:!1,deleteDialogVisible:!1,shareDialogVisible:!1,actingConversation:void 0,renameDraft:``,renameSubmitting:!1,deleteSubmitting:!1}},computed:{conversationId(){return console.debug(`conversationId in side`,this.$route.params?.id),this.$route.params?.id?.toString()},conversations(){return this.$store.state.chat.conversations},conversationGroups(){let e=new Date;e.setHours(0,0,0,0);let t=new Date(e);t.setDate(t.getDate()-1);let n=new Date(e);n.setDate(n.getDate()-e.getDay());let r=new Date(n);r.setDate(r.getDate()-7);let i=this.conversations?.reduce((r,i)=>{let a=new Date(i.updated_at*1e3);return a>=e?r.today.push(i):a>=t?r.yesterday.push(i):a>=n?r.thisWeek.push(i):r.earlier.push(i),r},{today:[],yesterday:[],thisWeek:[],earlier:[]});return{...i?.today?.length>0?{today:i?.today?.sort((e,t)=>t.updated_at-e.updated_at)}:{},...i?.yesterday?.length>0?{yesterday:i?.yesterday?.sort((e,t)=>t.updated_at-e.updated_at)}:{},...i?.thisWeek?.length>0?{thisWeek:i?.thisWeek?.sort((e,t)=>t.updated_at-e.updated_at)}:{},...i?.earlier?.length>0?{earlier:i?.earlier?.sort((e,t)=>t.updated_at-e.updated_at)}:{}}},application(){return this.$store.state.chat.application},loading(){return this.$store.state.chat.status.getConversations===H.Request},token(){return this.$store.state.chat?.credential?.token}},methods:{async onNewConversation(){console.debug(`onNewConversation from side panel`),this.$emit(`change-conversation`,void 0)},onScheduledTasks(){this.$router.push({name:se})},onArtifacts(){this.$router.push({name:ue})},onClickConversation(e){console.debug(`onClickConversation in side panel`,e),this.$emit(`change-conversation`,e)},getConversationTitle(e){return e?.title||e?.last_message_preview||``},onConversationCommand(e,t){e===`rename`?this.openRenameDialog(t):e===`delete`?this.openDeleteDialog(t):e===`share`&&this.openShareDialog(t)},openShareDialog(e){this.actingConversation=e,this.shareDialogVisible=!0},onShareIdUpdated(e){this.actingConversation&&(this.actingConversation.share_id=e,this.$store.dispatch(`chat/setConversation`,{...this.actingConversation,share_id:e}))},openRenameDialog(e){this.actingConversation=e,this.renameDraft=(e?.title||``).trim(),this.renameDialogVisible=!0},openDeleteDialog(e){this.actingConversation=e,this.deleteDialogVisible=!0},async onConfirmRename(){let e=this.token,t=this.actingConversation?.id,n=(this.renameDraft||``).trim();if(!e){B.error(`Token 不存在,请重新登录`);return}if(!t){B.error(`会话不存在`);return}if(!n){B.warning(`请输入名称`);return}this.renameSubmitting=!0;try{await V.updateConversation({id:t,title:n},{token:e}),await this.$store.dispatch(`chat/getConversations`),this.renameDialogVisible=!1,B.success(`已重命名`)}catch(e){console.error(e),B.error(`重命名失败,请稍后重试`)}finally{this.renameSubmitting=!1}},async onConfirmDelete(){let e=this.token,t=this.actingConversation?.id;if(!e){B.error(`Token 不存在,请重新登录`);return}if(!t){B.error(`会话不存在`);return}this.deleteSubmitting=!0;try{await V.deleteConversation(t,{token:e}),await this.$store.dispatch(`chat/getConversations`),t===this.conversationId&&this.$emit(`change-conversation`,void 0),this.deleteDialogVisible=!1,B.success(`已删除`)}catch(e){console.error(e),B.error(`删除失败,请稍后重试`)}finally{this.deleteSubmitting=!1}}}}),Rt={class:`panel`},zt={key:1,class:`conversations`},Bt={class:`icons`},Vt={class:`title`},Ht={class:`icons`},Ut={class:`title`},Wt={class:`icons`},Gt={class:`title`},Kt={class:`key`},qt=[`onClick`],Jt={class:`title`},Yt={class:`operations`};function Xt(o,d,f,p,g,y){let b=u(`el-skeleton`),x=u(`font-awesome-icon`),S=u(`el-dropdown-item`),C=u(`el-dropdown-menu`),w=u(`el-dropdown`),T=u(`el-input`),E=u(`el-button`),D=u(`el-dialog`),O=u(`share-conversation-dialog`);return v(),s(`div`,Rt,[o.loading&&o.conversationGroups===void 0?(v(),m(b,{key:0})):(v(),s(`div`,zt,[e(`div`,{class:`conversation`,onClick:d[0]||=(...e)=>o.onNewConversation&&o.onNewConversation(...e)},[e(`div`,Bt,[a(x,{icon:`fa-solid fa-plus`,class:`icon`})]),e(`div`,Vt,i(o.$t(`chat.message.startNewChat`)),1)]),e(`div`,{class:`conversation`,onClick:d[1]||=(...e)=>o.onScheduledTasks&&o.onScheduledTasks(...e)},[e(`div`,Ht,[a(x,{icon:`fa-solid fa-clock`,class:`icon`})]),e(`div`,Ut,i(o.$t(`chat.scheduledTasks.navTitle`)),1)]),e(`div`,{class:`conversation`,onClick:d[2]||=(...e)=>o.onArtifacts&&o.onArtifacts(...e)},[e(`div`,Wt,[a(x,{icon:`fa-solid fa-box-archive`,class:`icon`})]),e(`div`,Gt,i(o.$t(`chat.artifacts.navTitle`)),1)]),(v(!0),s(l,null,_(o.conversationGroups,(c,u)=>(v(),s(`div`,{key:u,class:`group`},[e(`div`,Kt,i(o.$t(`chat.group.${u}`)),1),(v(!0),s(l,null,_(c,(c,l)=>(v(),s(`div`,{key:l,class:n({conversation:!0,active:c.id===o.conversationId}),onClick:e=>o.onClickConversation(c.id)},[e(`div`,Jt,i(o.getConversationTitle(c)),1),e(`div`,Yt,[a(w,{trigger:`click`,placement:`bottom-end`,teleported:!0,onCommand:e=>o.onConversationCommand(e,c)},{dropdown:h(()=>[a(C,null,{default:h(()=>[a(S,{command:`rename`,onClick:d[4]||=t(()=>{},[`stop`])},{default:h(()=>[a(x,{icon:`fa-solid fa-pen-to-square`,class:`mr-2`}),d[13]||=r(` 重命名 `,-1)]),_:1}),a(S,{command:`share`,onClick:d[5]||=t(()=>{},[`stop`])},{default:h(()=>[a(x,{icon:`fa-solid fa-share-nodes`,class:`mr-2`}),r(` `+i(o.$t(`chat.share.menu`)),1)]),_:1}),a(S,{command:`delete`,onClick:d[6]||=t(()=>{},[`stop`])},{default:h(()=>[a(x,{icon:`fa-solid fa-trash`,class:`mr-2`}),r(` `+i(o.$t(`common.button.delete`)),1)]),_:1})]),_:1})]),default:h(()=>[e(`span`,{class:`more`,onClick:d[3]||=t(()=>{},[`stop`])},[a(x,{icon:`fa-solid fa-ellipsis`})])]),_:1},8,[`onCommand`])])],10,qt))),128))]))),128))])),a(D,{modelValue:o.renameDialogVisible,"onUpdate:modelValue":d[9]||=e=>o.renameDialogVisible=e,width:`420px`,title:`重命名`,"close-on-click-modal":!1},{footer:h(()=>[a(E,{onClick:d[8]||=e=>o.renameDialogVisible=!1},{default:h(()=>[r(i(o.$t(`common.button.cancel`)),1)]),_:1}),a(E,{type:`primary`,loading:o.renameSubmitting,onClick:o.onConfirmRename},{default:h(()=>[r(i(o.$t(`common.button.confirm`)),1)]),_:1},8,[`loading`,`onClick`])]),default:h(()=>[a(T,{modelValue:o.renameDraft,"onUpdate:modelValue":d[7]||=e=>o.renameDraft=e,autofocus:``,onKeydown:c(o.onConfirmRename,[`enter`])},null,8,[`modelValue`,`onKeydown`])]),_:1},8,[`modelValue`]),a(D,{modelValue:o.deleteDialogVisible,"onUpdate:modelValue":d[11]||=e=>o.deleteDialogVisible=e,width:`420px`,title:o.$t(`chat.message.confirmDelete`),"close-on-click-modal":!1},{footer:h(()=>[a(E,{onClick:d[10]||=e=>o.deleteDialogVisible=!1},{default:h(()=>[r(i(o.$t(`common.button.cancel`)),1)]),_:1}),a(E,{type:`danger`,loading:o.deleteSubmitting,onClick:o.onConfirmDelete},{default:h(()=>[r(i(o.$t(`common.button.delete`)),1)]),_:1},8,[`loading`,`onClick`])]),default:h(()=>[d[14]||=e(`div`,{class:`delete-tip`},`确认删除该会话?删除后不可恢复。`,-1)]),_:1},8,[`modelValue`,`title`]),a(O,{modelValue:o.shareDialogVisible,"onUpdate:modelValue":d[12]||=e=>o.shareDialogVisible=e,"conversation-id":o.actingConversation?.id,"share-id":o.actingConversation?.share_id,"onUpdate:shareId":o.onShareIdUpdated},null,8,[`modelValue`,`conversation-id`,`share-id`,`onUpdate:shareId`])])}var Zt=b({name:`LayoutChat`,components:{SidePanel:I(Lt,[[`render`,Xt],[`__scopeId`,`data-v-aff7c556`]]),ElDrawer:C,ElButton:R,FontAwesomeIcon:Y},emits:[`change-conversation`],data(){return{drawer:!1}},methods:{onChangeConversation(e){console.debug(`onChangeConversation in layout`,e),this.$emit(`change-conversation`,e)}}}),Qt={class:`main`},$t={class:`side`},en={class:`chat`};function tn(t,n,r,i,o,c){let l=u(`side-panel`),d=u(`font-awesome-icon`),f=u(`el-button`),m=u(`el-drawer`);return v(),s(`div`,Qt,[e(`div`,$t,[p(t.$slots,`side`,{},()=>[a(l,{onChangeConversation:t.onChangeConversation},null,8,[`onChangeConversation`])],!0)]),e(`div`,en,[p(t.$slots,`chat`,{},void 0,!0)]),a(f,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:h(()=>[a(d,{icon:`fa-solid fa-bars`})]),_:1}),a(m,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`290px`},{default:h(()=>[a(l,{onChangeConversation:t.onChangeConversation},null,8,[`onChangeConversation`])]),_:1},8,[`modelValue`])])}var Q=I(Zt,[[`render`,tn],[`__scopeId`,`data-v-7418117b`]]);function $(e){return typeof e==`string`&&e.trim().length>0?e:Array.isArray(e)&&typeof e[0]==`string`&&e[0].trim().length>0?e[0]:null}function nn(e){let t=$(e.consent),n=$(e.connector);return!t||!n?null:{consentRequestId:t,connector:n}}function rn(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.role===`assistant`&&Array.isArray(r.content)){for(let e=r.content.length-1;e>=0;e--){let n=r.content[e];if(n.type!==`tool_use`||n.tool_name!==`request_user_consent`||n.status!==`awaiting_input`)continue;let i=n.pending_consent_request;if(!(!i||i.consent_request_id!==t)&&n.tool_id)return{toolUseId:n.tool_id,payload:i}}break}}return null}function an(e,t){return ye(e,[t],[])}function on(e,t){try{let n=new URL(e),r=n.searchParams.get(`return_to`);if(!r||!t)return e;let i=new URL(r),a=i.pathname.match(/^\/chat\/c\/([^/]+)/);if(!a)return e;let o=a[1],s=new URL(`${i.origin}${t}/conversations/${o}`);return i.searchParams.forEach((e,t)=>s.searchParams.set(t,e)),n.searchParams.set(`return_to`,s.toString()),n.toString()}catch{return e}}function sn(e){return Array.isArray(e?.messages)&&e.messages.length>0}var cn=b({name:`ChatConversation`,components:{Composer:Ne,Disclaimer:jt,ConnectorStrip:It,ModelSelector:Ke,DesktopAgentManager:gt,"byok-badge":xt,ShareConversationDialog:X,Message:be,Layout:Q,ElTooltip:S,ElButton:R,FontAwesomeIcon:Y},data(){return{drawer:!1,question:``,references:[],localTools:[],pendingClientTools:[],clientToolRunId:0,upload:!1,answering:!1,canceler:void 0,agentManagerVisible:!1,agentConnected:!1,agentName:``,agentToolCount:0,agentConnectedAt:``,shareDialogVisible:!1,skipNextRestoreId:void 0,messages:[],pendingConsentReturn:null}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},model(){return this.$store.state.chat.model},conversationId(){return this.$route.params.id?.toString()},conversation(){return this.$store.state.chat.conversations?.find(e=>e.id===this.conversationId)},service(){return this.$store.state.chat.service},application(){return this.$store.state.chat.application},applications(){return this.$store.state.chat.applications},credential(){return this.$store.state.chat?.credential},needApply(){return this.$store.state.chat.status.getApplications===H.Success&&!this.application},conversations(){return this.$store.state.chat.conversations},initializing(){return this.$store.state.chat.status.getApplications===H.Request},ready(){return this.$store.getters.authenticated?!this.initializing&&!!this.credential?.token&&!!this.application:!0}},watch:{async references(e){console.log(`references changed`,e)},question(e){this.$store.commit(`chat/setPendingDraft`,e||``)},async modelGroup(e){console.debug(`modelGroup changed`,e),this.$store.commit(`chat/setConversations`,[]),await this.$store.dispatch(`chat/getConversations`)},"credential.token":{immediate:!0,async handler(e){e&&(this.modelGroup?.name&&await this.$store.dispatch(`chat/getConversations`),await this.onRestoreCurrentConversation(),this.onCheckAgentStatus())}},async conversationId(e){if(console.debug(`conversationId changed`,e),!e){this.resetConversation();return}await this.onRestoreCurrentConversation()},messages:{handler(){this.pendingConsentReturn&&this.onConsumePendingConsentReturn()},deep:!1}},async mounted(){this.onCaptureConsentReturnFromUrl(),await this.onGetService(),await this.onGetApplication(),this.onConsumePendingDraft(),this.onApplyQueryFromUrl(),F()&&(this.localTools=await K()?.listTools()??[])},methods:{resetConversation(){this.messages=[],this.question=``,this.references=[],this.pendingClientTools=[]},onShareIdUpdated(e){this.conversation&&this.$store.dispatch(`chat/setConversation`,{...this.conversation,share_id:e})},async onRestoreCurrentConversation(){let e=this.conversationId;if(!(!e||!this.credential?.token)){if(this.skipNextRestoreId===e){this.skipNextRestoreId=void 0;return}await this.onRestoreConversation(e)}},async onCheckAgentStatus(){let e=this.credential?.token;if(e)try{let{data:t}=await me.status(e);this.agentConnected=t?.connected===!0,this.agentName=t?.name||``,this.agentToolCount=t?.tool_count||0,this.agentConnectedAt=t?.connected_at||``}catch{this.agentConnected=!1}},onConsumePendingDraft(){if(this.conversationId||this.question&&this.question.trim().length>0)return;let e=this.$store.state.chat?.pendingDraft;e&&(this.question=e)},onApplyQueryFromUrl(){let e=this.$route.query?.query,t=Array.isArray(e)?e[0]:e;if(!t||typeof t!=`string`||this.conversationId)return;if(this.question&&this.question.trim().length>0){let e=this.$store.state.chat?.pendingDraft;if(!(e!=null&&this.question===e))return}this.question=t;let n=new Set([`query`,`source`,`suggestion_id`,`connector`]),r={};for(let[e,t]of Object.entries(this.$route.query||{}))n.has(e)||t!=null&&(r[e]=t);this.$router.replace({path:this.$route.path,query:r})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`chat/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`chat/getApplications`),console.debug(`end onGetApplication`)},async onDraft(e){this.question=e,this.onSubmit()},async onStop(){this.pendingClientTools=[],this.clientToolRunId++,this.canceler&&(this.canceler.abort(),this.answering=!1)},async onRestart(e){let t=this.messages.findIndex(t=>t===e),n=this.messages[t-1],r=[];if(t!==-1){if(r=this.messages.slice(0,t-1),this.messages=this.messages.slice(0,t),this.references=[],typeof n.content==`string`)this.question=n.content;else if(Array.isArray(n.content))for(let e of n.content)if(e.type===`image_url`||e.type===`file_url`){let t=e.type===`image_url`?e.image_url:e.file_url,n=typeof t==`string`?t:t?.url;n&&this.references.push(e.name?{url:n,name:e.name}:{url:n})}else e.type===`text`&&e.text&&(this.question=e.text)}console.debug(`onRestart!`,this.question,JSON.stringify(this.references));let i=this.credential?.token,a=this.question.trim();if(!i||!a){console.error(`no token or endpoint or question`),this.messages.push({error:{code:N},role:P,state:q.FAILED});return}let o=this.conversationId;V.updateConversation({id:this.conversationId,messages:r},{token:i}).then(async()=>{await this.$store.dispatch(`chat/setConversation`,{id:o,messages:this.messages}),console.debug(`finished update conversation`,this.messages),console.debug(`onRestart`,this.question),await this.onRequest()}).catch(e=>{this.handleRequestError(e)})},async onEdit(e,t){let n=this.messages.findIndex(t=>t===e);n!==-1&&(this.messages=this.messages.slice(0,n)),this.question=t;let r=this.credential?.token;if(!r){console.error(`no token or endpoint or question`),this.messages.push({error:{code:N},role:P,state:q.FAILED});return}let i=this.conversationId;V.updateConversation({id:this.conversationId,messages:this.messages},{token:r}).then(async()=>{await this.$store.dispatch(`chat/setConversation`,{id:i,messages:this.messages}),console.debug(`finished update conversation`,this.messages),this.messages.push({content:this.question,role:j}),console.debug(`onEdit`,this.question),await this.onRequest()}).catch(e=>{this.handleRequestError(e)})},conversationsPath(e){let t=this.$route.matched[0]?.path??``;return e?`${t}/conversations/${e}`:`${t}/conversations`},async onNewConversation(){this.conversationId?await this.$router.push(this.conversationsPath()):this.resetConversation()},async onRestoreConversation(e){console.debug(`onRestoreConversation id`,e);let t=this.conversations?.find(t=>t.id===e);if(!sn(t)){let n=await this.$store.dispatch(`chat/getConversation`,e);n&&(t=n)}let n=t?.model,r=re.find(e=>e.name===n),i=oe.find(e=>e.name===r?.modelGroup);i&&this.$store.dispatch(`chat/setModelGroup`,i),r&&this.$store.dispatch(`chat/setModel`,r),this.messages=t?.messages||[],this.onScrollDown()},async onChangeConversation(e){console.log(`onChangeConversation in conversation`,e),await this.onStop();let t=e||``;if(t===(this.conversationId||``)){t||await this.onNewConversation();return}await this.$router.push(this.conversationsPath(t))},async onSubmit(){if(U()){if(this.references.length>0){let e=[{type:`text`,text:this.question.trim()}];for(let t of this.references){let n=J(t.url)?{type:`image_url`,image_url:t.url}:{type:`file_url`,file_url:t.url};t.name&&(n.name=t.name),e.push(n)}this.messages.push({content:e,role:j})}else this.messages.push({content:this.question.trim(),role:j});console.debug(`onSubmit`,this.question,this.references),await this.onRequest()}},async onRequest(){if(!U())return;F()&&(this.localTools=await K()?.listTools()??[]),console.debug(`start to get answer`,this.messages);let e=this.credential?.token,t=this.question.trim(),n=this.references.map(e=>e.url);if(console.debug(`validated`,t,n),this.question=``,this.references=[],!e||!t){console.error(`no token or endpoint or question`),this.messages.push({error:{code:N},role:P,state:q.FAILED});return}let r=this.conversationId;this.messages.push({content:``,role:P,state:q.PENDING}),console.debug(`start to get answer`,this.messages),this.onScrollDown(),this.answering=!0,this.canceler=new AbortController,this._streamAssistantTurn({question:t,model:this.model.name,references:n,id:this.conversationId,stateful:!0,...this._localToolInjection()},e,r)},_resumeWithToolResults(e,t){let n=this.credential?.token,r=t??this.conversationId;if(!n||!r||!e.length){console.error(`cannot resume: no token / conversation id / results`);return}let i=[...this.messages].reverse().find(e=>e.role===P);if(i&&Array.isArray(i.content)){let t=i.content,n=[];for(let r of e){let e=t.find(e=>e.type===`tool_use`&&e.tool_id===r.tool_use_id);if(e&&(e.status=`done`,e.output=r.output,r.is_error&&(e.is_error=!0),delete e.pending_question),r.image&&this._isValidResultImage(r.image)){let e=`${r.tool_use_id} screenshot`,i=t.some(t=>t.type===`image_url`&&t.alt===e),a=n.some(t=>t.alt===e);!i&&!a&&n.push({type:`image_url`,image_url:{url:r.image},alt:e})}}n.length&&t.push(...n)}this.messages.push({content:``,role:P,state:q.PENDING}),this.onScrollDown(),this.answering=!0,this.canceler=new AbortController,this._streamAssistantTurn({id:r,model:this.model.name,stateful:!0,tool_results:e,...this._localToolInjection()},n,r)},async onAnswerAskUserQuestion(e){this._resumeWithToolResults([{tool_use_id:e.tool_use_id,output:e.output,...e.is_error?{is_error:!0}:{}}],e.conversationId)},_localToolInjection(){return!F()||!this.localTools.length?{}:{client_tools:this._wiredTools().map(({spec:e,wire:t})=>({name:t,displayName:e.name,description:e.description,inputSchema:e.input_schema}))}},_wiredTools(){let e=new Set;return this.localTools.map(t=>{let n=t.name.replace(/[^a-zA-Z0-9_-]/g,`_`);if(e.has(n)){let t=2;for(;e.has(`${n}_${t}`);)t++;n=`${n}_${t}`}return e.add(n),{spec:t,wire:n}})},async _runClientTools(e,t,n){let r=(t??this.conversationId)||``,i=[];for(let t of e){if(n!==void 0&&n!==this.clientToolRunId)return;let e=this._wiredTools().find(e=>e.wire===t.name)?.spec.name??t.name,a;try{a=JSON.parse(JSON.stringify(t.input??{}))}catch{a={}}let o;try{o=await K()?.invoke({name:e,input:a,sessionId:r})??{output:`local execution unavailable`,is_error:!0}}catch(e){o={output:e instanceof Error?e.message:String(e),is_error:!0}}let s=o.image?await this._hostToolResultImage(o.image)||o.image:void 0;i.push({tool_use_id:t.toolId,output:o.output,...o.is_error?{is_error:!0}:{},...s?{image:s}:{}})}n!==void 0&&n!==this.clientToolRunId||this._resumeWithToolResults(i,t)},_isValidResultImage(e){return!e||e.length>6e6?!1:e.startsWith(`https://`)?!/\s/.test(e):/^data:image\/(png|jpe?g|webp);base64,[A-Za-z0-9+/]+={0,2}$/.test(e)},async _hostToolResultImage(e){if(!e||!e.startsWith(`data:`))return e||null;let t=this.$store.getters.token?.access;if(!t)return null;try{let n=await(await fetch(e)).blob(),r=(n.type.split(`/`)[1]||`png`).split(`;`)[0],i=new FormData;i.append(`file`,n,`screenshot.${r}`);let a=await fetch(`${W()}/api/v1/files/`,{method:`POST`,headers:{Authorization:`Bearer ${t}`},body:i});if(!a.ok)return null;let o=await a.json(),s=o?.file_url||o?.data?.file_url;return typeof s==`string`&&s?s:null}catch(e){return console.warn(`[computer-use] screenshot upload failed; sending inline`,e),null}},onSkipAskUserQuestion(e){let t=[...this.messages].reverse().find(e=>e.role===P);if(!t||!Array.isArray(t.content))return;let n=t.content.find(t=>t.type===`tool_use`&&t.tool_id===e.tool_use_id);n&&(n.status=`done`,n.is_error=!0,n.output=n.output||``,delete n.pending_question)},async onRespondConnectorConsent(e){let t=this.credential?.token;if(!t||!this.conversationId){console.error(`cannot resume: no token or no conversation id`);return}let n=[...this.messages].reverse().find(e=>e.role===P);if(n&&Array.isArray(n.content)){let t=n.content.find(t=>t.type===`tool_use`&&t.tool_id===e.tool_use_id);t&&(t.status=`done`,t.output=e.output)}this.messages.push({content:``,role:P,state:q.PENDING}),this.onScrollDown(),this.answering=!0,this.canceler=new AbortController,this._streamAssistantTurn({id:this.conversationId,model:this.model.name,stateful:!0,tool_results:[{tool_use_id:e.tool_use_id,output:e.output}],...this._localToolInjection()},t,this.conversationId)},onAuthorizeConnector(e){let t=e.entry?.install_url;if(!t){console.warn(`authorize click with no install_url`,e);return}let n=this.$route.matched[0]?.path??``;window.location.href=on(t,n)},onCaptureConsentReturnFromUrl(){let e=nn(this.$route.query||{});e&&(this.pendingConsentReturn=e)},onConsumePendingConsentReturn(){let e=this.pendingConsentReturn;if(!e||this.messages.length===0)return;let t=rn(this.messages,e.consentRequestId);if(!t)return;this.pendingConsentReturn=null;let n=an(t.payload,e.connector);this.stripConsentReturnFromUrl(),this.onRespondConnectorConsent({tool_use_id:t.toolUseId,output:n})},stripConsentReturnFromUrl(){let e={};for(let[t,n]of Object.entries(this.$route.query||{}))t===`consent`||t===`connector`||n!=null&&(e[t]=n);this.$router.replace({path:this.$route.path,query:e})},_streamAssistantTurn(e,t,n){let r=n,i=this.messages.length-1,a=[],o=new Map,s=``,c=0;V.chatConversation(e,{token:t,stream:e=>{console.debug(`stream response`,e);let t=this.messages[i];if(e.type===`thinking`&&e.content){let t=this.messages[i];t.thinking=(t.thinking??``)+e.content}else if(e.type===`tool_use_start`&&e.tool_id){let t=o.get(e.tool_id);t?(e.tool_name&&(t.tool_name=e.tool_name),e.tool_display_name&&(t.tool_display_name=e.tool_display_name),e.input&&Object.keys(e.input).length>0&&(t.input=e.input)):(s&&(a.push({type:`text`,text:s}),s=``,c=e.answer?.length??0),t={type:`tool_use`,tool_id:e.tool_id,tool_name:e.tool_name,tool_display_name:e.tool_display_name,input:e.input,status:`running`},a.push(t),o.set(e.tool_id,t)),F()&&e.execution===`client`&&!this.pendingClientTools.some(t=>t.toolId===e.tool_id)&&(t.status=`awaiting_input`,this.pendingClientTools.push({toolId:e.tool_id,name:e.tool_name||``,input:e.input||{}}))}else if(e.type===`tool_progress`&&e.tool_id){let t=o.get(e.tool_id);t&&(t.input_stream=(t.input_stream??``)+(e.progress??``))}else if(e.type===`tool_result`&&e.tool_id){let t=o.get(e.tool_id);t&&(t.output=e.output,t.is_error=e.is_error,t.duration_ms=e.duration_ms,t.status=`done`,delete t.input_stream,delete t.pending_question)}else if(e.type===`ask_user_question`&&e.tool_id&&e.payload){let t=o.get(e.tool_id);t&&(t.status=`awaiting_input`,t.pending_question=e.payload)}else if(e.type===`consent_request`&&e.tool_id&&e.payload){let t=o.get(e.tool_id);t&&(t.status=`awaiting_input`,t.pending_consent_request=e.payload)}else if(e.type===`artifact`&&e.artifact)e.artifact.type===`image`||e.artifact.mimeType?.startsWith(`image/`)?a.push({type:`image_url`,image_url:e.artifact.url,name:e.artifact.name,mimeType:e.artifact.mimeType}):a.push({type:`file_url`,file_url:e.artifact.url,name:e.artifact.name,mimeType:e.artifact.mimeType});else if(e.type===`card`&&e.card)s&&(a.push({type:`text`,text:s}),s=``,c=e.answer?.length??0),a.push({type:`card`,card:e.card});else if(e.type===`citation`&&e.citation){let t=this.messages[i];t.citations={...t.citations??{},[e.citation.id]:e.citation}}else e.delta_answer&&(s=(e.answer||``).slice(c));let n=[...a];s&&n.push({type:`text`,text:s}),n.length>0?this.messages[i]={role:P,content:n,thinking:t?.thinking,citations:t?.citations,state:t?.state===q.FINISHED?t?.state:q.ANSWERING}:this.messages[i]={role:P,content:e.answer,thinking:t?.thinking,citations:t?.citations,state:t?.state===q.FINISHED?t?.state:q.ANSWERING},r=e?.id},signal:this.canceler.signal}).then(async()=>{if(console.debug(`finished fetch answer`,this.messages),this.messages[i].state=q.FINISHED,console.debug(`finished fetch answer`,JSON.stringify(this.messages)),await this.$store.dispatch(`chat/setConversation`,{id:r,messages:this.messages}),this.pendingClientTools.length||(this.answering=!1),r&&(this.skipNextRestoreId=r,await this.$router.push(this.conversationsPath(r))),this.onScrollDown(),await this.$store.dispatch(`chat/getConversations`),await this.$store.dispatch(`chat/getApplications`),this.pendingClientTools.length){let e=this.pendingClientTools;this.pendingClientTools=[];let t=++this.clientToolRunId;await this._runClientTools(e,r,t)}}).catch(e=>{this.handleRequestError(e,i)})},async handleRequestError(e,t){console.error(`error happened`,e),this.pendingClientTools=[];let n=t??this.messages.length-1,r=n>=0?this.messages[n]:void 0;if(r&&(r.state=q.FAILED),e.name===`AbortError`){console.error(`aborted`),this.answering=!1;return}else e instanceof ce?(console.debug(`BaseError`,e),r&&(r.error={code:e.code,message:e.detail})):O.isCancel(e)?r&&(r.error={code:k}):r&&(r.error={code:ie});this.answering=!1},async onScrollDown(){setTimeout(()=>{let e=document.querySelector(`.messages`);!e||!this.messages||this.messages.length===0||(e.scrollTop=e?.scrollHeight)},0)}}}),ln={class:`toolbar`},un={class:`toolbar-left`},dn={class:`toolbar-actions`},fn={key:0,class:`messages`},pn={class:`starter`},mn={class:`composer-connectors`};function hn(t,r,i,c,d,f){let p=u(`model-selector`),g=u(`byok-badge`),y=u(`font-awesome-icon`),b=u(`el-button`),x=u(`el-tooltip`),S=u(`desktop-agent-manager`),C=u(`share-conversation-dialog`),w=u(`message`),T=u(`connector-strip`),E=u(`composer`),D=u(`disclaimer`),O=u(`layout`);return v(),m(O,{onChangeConversation:r[8]||=e=>t.onChangeConversation(e)},{chat:h(()=>[e(`div`,ln,[e(`div`,un,[a(p,{class:`selector`,onModelGroupChanged:r[0]||=e=>t.onChangeConversation(void 0)}),a(g,{class:`byok-badge`})]),e(`div`,dn,[t.conversationId?(v(),m(x,{key:0,content:t.$t(`chat.share.menu`),placement:`bottom`},{default:h(()=>[a(b,{class:`toolbar-btn`,text:``,onClick:r[1]||=e=>t.shareDialogVisible=!0},{default:h(()=>[a(y,{icon:`fa-solid fa-share-nodes`})]),_:1})]),_:1},8,[`content`])):o(``,!0),o(``,!0)])]),t.agentManagerVisible?(v(),m(S,{key:0,modelValue:t.agentManagerVisible,"onUpdate:modelValue":r[3]||=e=>t.agentManagerVisible=e,connected:t.agentConnected,"agent-name":t.agentName,"tool-count":t.agentToolCount,"connected-at":t.agentConnectedAt},null,8,[`modelValue`,`connected`,`agent-name`,`tool-count`,`connected-at`])):o(``,!0),a(C,{modelValue:t.shareDialogVisible,"onUpdate:modelValue":r[4]||=e=>t.shareDialogVisible=e,"conversation-id":t.conversationId,"share-id":t.conversation?.share_id,"onUpdate:shareId":t.onShareIdUpdated},null,8,[`modelValue`,`conversation-id`,`share-id`,`onUpdate:shareId`]),e(`div`,{class:n({dialogue:!0,empty:t.messages.length===0})},[t.messages.length>0?(v(),s(`div`,fn,[(v(!0),s(l,null,_(t.messages,(e,n)=>(v(),m(w,{key:n,message:e,messages:t.messages,question:t.question,application:t.application,class:`message`,"onUpdate:question":r[5]||=e=>t.question=e,onEdit:t.onEdit,onRestart:t.onRestart,onAnswerAskUserQuestion:t.onAnswerAskUserQuestion,onSkipAskUserQuestion:t.onSkipAskUserQuestion,onRespondConnectorConsent:t.onRespondConnectorConsent,onAuthorizeConnector:t.onAuthorizeConnector},null,8,[`message`,`messages`,`question`,`application`,`onEdit`,`onRestart`,`onAnswerAskUserQuestion`,`onSkipAskUserQuestion`,`onRespondConnectorConsent`,`onAuthorizeConnector`]))),128))])):o(``,!0),e(`div`,pn,[e(`div`,mn,[a(T)]),a(E,{question:t.question,"onUpdate:question":r[6]||=e=>t.question=e,answering:t.answering,ready:t.ready,references:t.references,"onUpdate:references":r[7]||=e=>t.references=e,onSubmit:t.onSubmit,onStop:t.onStop},null,8,[`question`,`answering`,`ready`,`references`,`onSubmit`,`onStop`]),a(D,{class:`composer-disclaimer`})])],2)]),_:1})}var gn=I(cn,[[`render`,hn],[`__scopeId`,`data-v-85efdf10`]]);export{gn as default};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,Gt as t,I as n,Jt as r,L as i,M as a,N as o,T as s,at as c,ht as l,it as u,j as d,mt as f,rt as p,tt as m,x as h,z as g}from"./vendor-chart-Dw-P17PN.js";import{r as _,t as v}from"./select-BA-cCcAZ.js";import{t as y}from"./upload-uSrKePzA.js";import{t as b}from"./image-CZEhdfIr.js";import{t as x}from"./alert-ahs7mNpG.js";import{t as S}from"./drawer-Bbz1bWjK.js";import{t as C}from"./input-number-CNM48oTw.js";import{t as w}from"./slider-mSxNRAb6.js";import{Xn as T,Yn as E,Zn as D}from"./constants-Di8qAaA0.js";import{G as O,Ii as k,Ti as A,Tr as ee,Xn as te,di as j,hn as M,in as N,mi as P,nn as F,on as I,rn as L,tn as R}from"./index-CapYApEL.js";import{t as z}from"./index.es-BeDOj7l9.js";import{t as B}from"./CopyToClipboard-CoT4M6xJ.js";import{t as V}from"./ImagePreview-DBw0YCSw.js";import{n as H}from"./taskDrawerMixin-DyAUhFEq.js";import{t as U}from"./Consumption-C1ALJh9G.js";import{i as W,n as G,t as K}from"./pagination-Df_omtLz.js";import{t as q}from"./ApiCodeButton-mvKRd2vS.js";import{t as J}from"./BotPlaceholder-DqU8f5Fh.js";import{t as Y}from"./NoTasks-C1NCAjA5.js";import{t as X}from"./PromptTextarea-BDqu8og3.js";import{t as Z}from"./ImageWrapper-C53P6A5K.js";var Q=g({name:`LayoutFlux`,components:{ElDrawer:S,ElButton:k,FontAwesomeIcon:z},mixins:[H]}),ne={class:`main flex flex-row flex-1`},re={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ie={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ae(t,n,r,a,s,d){let p=c(`font-awesome-icon`),g=c(`el-button`),_=c(`el-drawer`);return m(),o(`div`,ne,[e(`div`,re,[u(t.$slots,`config`,{},void 0,!0)]),e(`div`,ie,[u(t.$slots,`result`,{},void 0,!0)]),l(i(g,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:f(()=>[i(p,{icon:`fa-solid fa-magic`})]),_:1},512),[[h,!t.tasksEmpty]]),i(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:f(()=>[u(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var oe=O(Q,[[`render`,ae],[`__scopeId`,`data-v-8ae8c974`]]),se=g({name:`ModelSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`flux-dev`,label:`flux-dev`},{value:`flux-pro`,label:`flux-pro`},{value:`flux-kontext-pro`,label:`flux-kontext-pro`},{value:`flux-kontext-max`,label:`flux-kontext-max`},{value:`flux-2-flex`,label:`flux-2-flex`},{value:`flux-2-pro`,label:`flux-2-pro`},{value:`flux-2-max`,label:`flux-2-max`}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||=D}}),ce={class:`field`},le={class:`title font-bold`};function ue(t,n,a,l,u,h){let g=c(`el-option`),_=c(`el-select`);return m(),o(`div`,ce,[e(`h2`,le,r(t.$t(`flux.name.model`)),1),i(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:f(()=>[(m(!0),o(s,null,p(t.options,e=>(m(),d(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var de=O(se,[[`render`,ue],[`__scopeId`,`data-v-e9b17945`]]),fe=g({name:`CountSelector`,components:{ElSlider:w,InfoIcon:W,ElInputNumber:C},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug(`set count`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||=1}}),pe={class:`flex justify-between`},me={class:`flex justify-start items-center`},he={class:`text-sm font-bold`},ge={class:`flex justify-end items-center`},_e={class:`w-full`};function ve(t,n,a,s,l,u){let d=c(`info-icon`),f=c(`el-input-number`),p=c(`el-slider`);return m(),o(`div`,null,[e(`div`,pe,[e(`div`,me,[e(`span`,he,r(t.$t(`flux.name.numbers`)),1),i(d,{content:t.$t(`flux.description.numbers`)},null,8,[`content`])]),e(`div`,ge,[i(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),e(`div`,_e,[i(p,{modelValue:t.value,"onUpdate:modelValue":n[1]||=e=>t.value=e,min:1,max:4,step:1},null,8,[`modelValue`])])])}var ye=O(fe,[[`render`,ve]]),be=g({name:`ActionSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`generate`,label:this.$t(`flux.name.generate`)},{value:`edits`,label:this.$t(`flux.name.edits`)}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||=T}}),xe={class:`field`},Se={class:`title font-bold`};function Ce(t,n,a,l,u,h){let g=c(`el-option`),_=c(`el-select`);return m(),o(`div`,xe,[e(`h2`,Se,r(t.$t(`flux.name.task`)),1),i(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:f(()=>[(m(!0),o(s,null,p(t.options,e=>(m(),d(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var we=O(be,[[`render`,Ce],[`__scopeId`,`data-v-81fd05e5`]]),Te=g({name:`ImageUrlInput`,components:{ElUpload:y,ElButton:k,InfoIcon:W,FontAwesomeIcon:z,ImagePreview:V},mixins:[N,F],emits:[`change`],data(){return{fileList:[],uploadUrl:P()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{urls:{handler(e){console.debug(`URLs changed:`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){A.warning(this.$t(`flux.message.uploadStartImageExceed`))},onError(){A.error(this.$t(`flux.message.uploadStartImageError`))}}}),Ee={class:`relative`},De={class:`flex justify-between`},Oe={class:`flex justify-start items-center`},ke={class:`text-sm font-bold`};function Ae(t,a,s,l,u,d){let p=c(`info-icon`),h=c(`image-preview`),g=c(`font-awesome-icon`),_=c(`el-button`),v=c(`el-upload`);return m(),o(`div`,Ee,[e(`div`,De,[e(`div`,Oe,[e(`span`,ke,r(t.$t(`flux.name.imageUrl`)),1),i(p,{content:t.$t(`flux.description.imageUrl`)},null,8,[`content`])])]),i(v,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":a[0]||=e=>t.fileList=e,name:`file`,limit:5,class:`upload-wrapper`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,multiple:!0,"list-type":`picture`,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,headers:t.headers},{file:f(({file:e})=>[i(h,{url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:f(()=>[i(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:f(()=>[i(g,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),n(` `+r(t.$t(`flux.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`headers`])])}var je=O(Te,[[`render`,Ae],[`__scopeId`,`data-v-7482072d`]]),Me=g({name:`PromptInput`,components:{PromptTextarea:X},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Ne(e,t,n,r,i,a){let o=c(`prompt-textarea`);return m(),d(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`flux.name.prompt`),info:e.$t(`flux.description.prompt`),placeholder:e.$t(`flux.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Pe=O(Me,[[`render`,Ne]]),Fe=g({name:`SizeSelector`,components:{ElSelect:_,ElOption:v},data(){return{options:E}},computed:{value:{get(){return this.$store.state.flux?.config?.size},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,size:e})}}},mounted(){this.value||=`1:1`}}),Ie={class:`field`},Le={class:`title font-bold`};function Re(t,n,a,l,u,h){let g=c(`el-option`),_=c(`el-select`);return m(),o(`div`,Ie,[e(`h2`,Le,r(t.$t(`flux.name.ratio`)),1),i(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:f(()=>[(m(!0),o(s,null,p(t.options,e=>(m(),d(g,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ze=g({name:`PresetPanel`,components:{ElButton:k,FontAwesomeIcon:z,PromptInput:Pe,ModelSelector:de,CountSelector:ye,Consumption:U,ActionSelector:we,ImageUrlInput:je,SizeSelector:O(Fe,[[`render`,Re],[`__scopeId`,`data-v-8c58dc91`]])},emits:[`generate`],computed:{config(){return this.$store.state.flux?.config},consumption(){return I(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Be={class:`flex flex-col h-full`},Ve={class:`flex-1 overflow-y-auto p-5`},He={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ue(t,s,l,u,p,h){let g=c(`action-selector`),_=c(`prompt-input`),v=c(`image-url-input`),y=c(`model-selector`),b=c(`size-selector`),x=c(`count-selector`),S=c(`consumption`),C=c(`font-awesome-icon`),w=c(`el-button`);return m(),o(`div`,Be,[e(`div`,Ve,[i(g,{class:`mb-4`}),i(_,{class:`mb-4`}),t.config?.action===`edits`?(m(),d(v,{key:0,class:`mb-4`})):a(``,!0),i(y,{class:`mb-4`}),i(b,{class:`mb-4`}),i(x,{class:`mb-4`})]),e(`div`,He,[i(S,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),i(w,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:f(()=>[i(C,{icon:`fa-solid fa-magic`,class:`mr-2`}),n(` `+r(t.$t(`flux.button.generate`)),1)]),_:1},8,[`onClick`])])])}var We=O(ze,[[`render`,Ue]]),Ge=g({name:`TaskPreview`,components:{ElImage:b,CopyToClipboard:B,FontAwesomeIcon:z,ElAlert:x,ImageWrapper:Z,ApiCodeButton:q},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e}},methods:{onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenImage(e){window.open(e,`_blank`)}}}),Ke={class:`preview`},qe={class:`left`},Je={class:`main`},Ye={class:`bot`},Xe={class:`datetime`},Ze={class:`info`},Qe={key:0,class:`prompt mt-2`},$e={key:0},et={key:0,class:t({content:!0,failed:!0})},tt={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},nt={class:t({operations:!0,"mt-2":!0,"mb-2":!0})},rt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},it={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`},ot={key:1,class:t({content:!0})},st={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ct={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},lt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ut={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},dt={key:2,class:t({content:!0})},ft={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function $(t,l,u,h,g,_){let v=c(`el-image`),y=c(`image-wrapper`),b=c(`api-code-button`),x=c(`font-awesome-icon`),S=c(`copy-to-clipboard`),C=c(`el-alert`);return m(),o(`div`,Ke,[e(`div`,qe,[i(v,{src:`https://cdn.acedata.cloud/ogm2oa.png`,class:`avatar`})]),e(`div`,Je,[e(`div`,Ye,[n(r(t.$t(`flux.name.fluxBot`))+` `,1),e(`span`,Xe,r(t.$dayjs.format(``+new Date(parseFloat((t.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,Ze,[t.modelValue?.request?.prompt?(m(),o(`p`,Qe,[n(r(t.modelValue?.request?.prompt)+` `,1),t.modelValue?.response?a(``,!0):(m(),o(`span`,$e,` - (`+r(t.$t(`flux.status.pending`))+`) `,1))])):a(``,!0)]),t.modelValue?.response?.success===!0?(m(),o(`div`,et,[e(`div`,tt,[(m(!0),o(s,null,p(t.images,(e,t)=>(m(),d(y,{key:t,src:e?.image_url,"raw-src":e?.image_url,"model-value":e},null,8,[`src`,`raw-src`,`model-value`]))),128))]),e(`div`,nt,[i(b,{path:`/flux/images`,body:t.modelValue?.request},null,8,[`body`])]),i(C,{closable:!1,class:`mt-2 success`},{default:f(()=>[e(`p`,rt,[i(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),n(` `+r(t.$t(`flux.name.model`))+`: `+r(t.modelValue?.request?.model),1)]),e(`p`,it,[i(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),n(` `+r(t.$t(`flux.name.taskId`))+`: `+r(t.modelValue?.id)+` `,1),i(S,{content:t.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),t.modelValue?.elapsed?(m(),o(`p`,at,[i(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),n(` `+r(t.$t(`flux.name.elapsed`))+`: `+r(t.modelValue?.elapsed?.toFixed(2))+`s `,1)])):a(``,!0)]),_:1})])):a(``,!0),t.modelValue?.response?.success===!1?(m(),o(`div`,ot,[i(C,{closable:!1,class:`failure`},{template:f(()=>[i(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),n(` `+r(t.$t(`flux.name.failure`)),1)]),default:f(()=>[e(`p`,st,[i(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),n(` `+r(t.$t(`flux.name.taskId`))+`: `+r(t.modelValue?.id)+` `,1),i(S,{content:t.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,ct,[i(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),n(` `+r(t.$t(`flux.name.failureReason`))+`: `+r(t.modelValue?.response?.error?.message)+` `,1),i(S,{content:t.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),t.modelValue?.elapsed?(m(),o(`p`,lt,[i(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),n(` `+r(t.$t(`flux.name.elapsed`))+`: `+r(t.modelValue?.elapsed?.toFixed(2))+`s `,1)])):a(``,!0),e(`p`,ut,[i(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),n(` `+r(t.$t(`flux.name.traceId`))+`: `+r(t.modelValue?.response?.trace_id)+` `,1),i(S,{content:t.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):a(``,!0),t.modelValue?.response?a(``,!0):(m(),o(`div`,dt,[i(C,{closable:!1,class:`info`},{template:f(()=>[i(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),n(` `+r(t.$t(`flux.name.failure`)),1)]),default:f(()=>[e(`p`,ft,[i(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),n(` `+r(t.$t(`flux.name.taskId`))+`: `+r(t.modelValue?.id)+` `,1),i(S,{content:t.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var pt=g({name:`RecentPanel`,components:{TaskPreview:O(Ge,[[`render`,$],[`__scopeId`,`data-v-bf1b183c`]]),BotPlaceholder:J,NoTasks:Y,ScrollList:G},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),mt={key:0},ht={key:2,class:`w-full h-full flex items-center justify-center`};function gt(e,t,n,r,l,u){let h=c(`bot-placeholder`),g=c(`task-preview`),_=c(`scroll-list`),v=c(`no-tasks`);return m(),o(s,null,[e.tasks?.items===void 0?(m(),o(`div`,mt,[i(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(m(),d(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:f(()=>[(m(!0),o(s,null,p(e.tasks?.items,e=>(m(),d(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):a(``,!0),e.tasks?.items?.length===0?(m(),o(`div`,ht,[i(v)])):a(``,!0)],64)}var _t=g({name:`FluxIndex`,components:{ConfigPanel:We,Layout:oe,RecentPanel:O(pt,[[`render`,gt]])},mixins:[L],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===j.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===j.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.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(){await K({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(`flux/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`flux/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let 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);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`flux/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!R(this.uploadTracker,e=>this.$t(e),e=>A.warning(e)))return;let e={...this.config,async:!0};if(!M())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}A.info(this.$t(`flux.message.startingTask`)),ee(`flux`,te.generate(e,{token:t})).then(()=>{A.success(this.$t(`flux.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?A.error(this.$t(`flux.message.usedUp`)):A.error(this.$t(`flux.message.startTaskFailed`)+t?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function vt(e,t,n,r,a,o){let s=c(`config-panel`),l=c(`recent-panel`),u=c(`layout`);return m(),d(u,null,{config:f(()=>[i(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:f(()=>[i(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var yt=O(_t,[[`render`,vt]]);export{yt as default};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{n as v,r as y,t as b}from"./select-BA-cCcAZ.js";import{t as x}from"./upload-uSrKePzA.js";import{t as S}from"./tooltip-DaZcA4iA.js";import{t as C}from"./image-CZEhdfIr.js";import{t as w}from"./alert-ahs7mNpG.js";import{t as T}from"./drawer-Bbz1bWjK.js";import{t as E}from"./input-number-CNM48oTw.js";import{t as D}from"./switch-B5T2UZ5K.js";import{_n as O,an as k,cn as A,dn as j,fn as M,gn as ee,in as te,ln as N,mn as P,pn as ne,sn as F,un as I}from"./constants-Di8qAaA0.js";import{G as L,Ii as R,Rn as re,Ti as z,Tr as ie,di as B,hn as V,in as H,mi as U,nn as W,on as G,rn as K,tn as q,wi as J}from"./index-CapYApEL.js";import{t as Y}from"./index.es-BeDOj7l9.js";import{t as ae}from"./CopyToClipboard-CoT4M6xJ.js";import{t as X}from"./ImagePreview-DBw0YCSw.js";import{n as oe}from"./taskDrawerMixin-DyAUhFEq.js";import{t as se}from"./Consumption-C1ALJh9G.js";import{i as Z,n as ce,t as le}from"./pagination-Df_omtLz.js";import{t as ue}from"./ApiCodeButton-mvKRd2vS.js";import{t as de}from"./BotPlaceholder-DqU8f5Fh.js";import{t as fe}from"./NoTasks-C1NCAjA5.js";import{t as pe}from"./PromptTextarea-BDqu8og3.js";import{t as me}from"./ImageWrapper-C53P6A5K.js";var he=_({name:`LayoutSeedream`,components:{ElDrawer:T,ElButton:R,FontAwesomeIcon:Y},mixins:[oe]}),ge={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)]`},ve={class:`result h-full p-6 flex-1 flex flex-col bg-[var(--app-content-bg)]`};function ye(t,n,r,i,o,c){let f=l(`font-awesome-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,ge,[e(`div`,_e,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,ve,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{icon:`fa-solid fa-magic`})]),_:1},512),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var be=L(he,[[`render`,ye],[`__scopeId`,`data-v-2a1715d6`]]),xe=_({name:`SeedreamPromptInput`,components:{PromptTextarea:pe},computed:{prompt:{get(){return this.$store.state.seedream?.config?.prompt},set(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Se(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`seedream.name.prompt`),info:e.$t(`seedream.description.prompt`),placeholder:e.$t(`seedream.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ce=L(xe,[[`render`,Se]]),we={image:!0,imageRequired:!1,sizeTiers:[`1K`,`2K`,`3K`,`4K`],sizeAdaptive:!0,sizePixel:!0,sizePixelDefault:void 0,groupGeneration:!1,seed:!1,guidanceScale:!1,outputFormat:!1,tools:!1};function Q(e){switch(e){case j:return{image:!0,imageRequired:!1,sizeTiers:[`1K`,`2K`],sizeAdaptive:!0,sizePixel:!0,groupGeneration:!1,seed:!1,guidanceScale:!1,outputFormat:!0,tools:!1};case I:return{image:!0,imageRequired:!1,sizeTiers:[`2K`,`3K`,`4K`],sizeAdaptive:!0,sizePixel:!0,groupGeneration:!0,seed:!1,guidanceScale:!1,outputFormat:!0,tools:!0};case N:return{image:!0,imageRequired:!1,sizeTiers:[`2K`,`4K`],sizeAdaptive:!0,sizePixel:!0,groupGeneration:!0,seed:!1,guidanceScale:!1,outputFormat:!1,tools:!1};case A:return{image:!0,imageRequired:!1,sizeTiers:[`1K`,`2K`,`4K`],sizeAdaptive:!0,sizePixel:!0,groupGeneration:!0,seed:!1,guidanceScale:!1,outputFormat:!1,tools:!1};case F:return{image:!1,imageRequired:!1,sizeTiers:[],sizeAdaptive:!1,sizePixel:!0,sizePixelDefault:`1024x1024`,groupGeneration:!1,seed:!0,guidanceScale:!0,guidanceScaleDefault:k[F],outputFormat:!1,tools:!1};case M:return{image:!0,imageRequired:!0,sizeTiers:[],sizeAdaptive:!1,sizePixel:!0,sizePixelDefault:`1024x1024`,groupGeneration:!1,seed:!1,guidanceScale:!0,guidanceScaleDefault:k[M],outputFormat:!1,tools:!1};default:return we}}var Te=[`1K`,`2K`,`3K`,`4K`];function Ee(e,t){if(!e)return[];let n=t.model??e.model;if(!n)return[];let r=Q(n),i=[];Array.isArray(e.image)&&e.image.length>0&&!r.image&&i.push({field:`image`,i18nLabel:`seedream.name.imageUrls`});let a=typeof e.size==`string`?e.size:void 0;if(a){let e=a.toUpperCase();(Te.includes(e)&&!r.sizeTiers.includes(e)||a===`adaptive`&&!r.sizeAdaptive)&&i.push({field:`size`,i18nLabel:`seedream.name.size`})}return e.sequential_image_generation===`auto`&&!r.groupGeneration&&i.push({field:`sequential_image_generation`,i18nLabel:`seedream.name.maxImages`}),e.seed!==void 0&&e.seed!==null&&!r.seed&&i.push({field:`seed`,i18nLabel:`seedream.name.seed`}),e.guidance_scale!==void 0&&e.guidance_scale!==null&&!r.guidanceScale&&i.push({field:`guidance_scale`,i18nLabel:`seedream.name.guidanceScale`}),e.output_format&&!r.outputFormat&&i.push({field:`output_format`,i18nLabel:`seedream.name.outputFormat`}),Array.isArray(e.tools)&&e.tools.length>0&&!r.tools&&i.push({field:`tools`,i18nLabel:`seedream.name.tools`}),i}function De(e,t,n){let r={...e},i=Q(n.model??e.model);for(let e of t)switch(e.field){case`image`:delete r.image;break;case`size`:i.sizePixelDefault?r.size=i.sizePixelDefault:delete r.size;break;case`sequential_image_generation`:r.sequential_image_generation=`disabled`,delete r.sequential_image_generation_options;break;case`seed`:delete r.seed;break;case`guidance_scale`:delete r.guidance_scale;break;case`output_format`:delete r.output_format;break;case`tools`:delete r.tools;break}return r}var Oe=_({name:`SeedreamImageInput`,components:{ElUpload:x,ElButton:R,InfoIcon:Z,ImagePreview:X,FontAwesomeIcon:Y},mixins:[H,W],data(){return{fileList:[],uploadUrl:U()+`/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},model(){return this.$store.state.seedream?.config?.model},supported(){return Q(this.model).image}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},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(){z.warning(this.$t(`seedream.message.uploadImageExceed`))},onError(){z.error(this.$t(`seedream.message.uploadImageError`))},onSetImages(){let 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,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImages()},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.onSetImages()}}}),ke={key:0},Ae={class:`field`},je={class:`label`},Me={class:`box`},Ne={class:`title font-bold`},Pe={class:`value`},Fe={class:`file-list mt-2 flex flex-wrap gap-[10px]`};function Ie(t,n,u,d,g,_){let v=l(`info-icon`),y=l(`font-awesome-icon`),b=l(`el-button`),x=l(`el-upload`),S=l(`image-preview`);return t.supported?(h(),s(`div`,ke,[e(`div`,Ae,[e(`div`,je,[e(`div`,Me,[e(`h2`,Ne,i(t.$t(`seedream.name.imageUrls`)),1),a(v,{content:t.$t(`seedream.description.imageUrls`),class:`info`},null,8,[`content`])])]),e(`div`,Pe,[a(x,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,limit:14,multiple:!0,"show-file-list":!1,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-change":t.onChange,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(b,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(y,{icon:`fa-solid fa-upload`,class:`mr-1`}),r(` `+i(t.$t(`seedream.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])])]),e(`div`,Fe,[(h(!0),s(c,null,m(t.fileList,(e,n)=>(h(),f(S,{key:e.uid||e?.response?.file_url||e.url||n,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:r=>t.onRemovePreview(n,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])])):o(``,!0)}var Le=L(Oe,[[`render`,Ie],[`__scopeId`,`data-v-6ef4c2e4`]]),Re=_({name:`SeedreamModelSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:Z},data(){return{revertKey:0,options:[{value:j,label:this.$t(`seedream.model.seedream50pro`)},{value:I,label:this.$t(`seedream.model.seedream50`)},{value:N,label:this.$t(`seedream.model.seedream45`)},{value:A,label:this.$t(`seedream.model.seedream40`)},{value:F,label:this.$t(`seedream.model.seedream30t2i`)},{value:M,label:this.$t(`seedream.model.seededit30i2i`)}]}},computed:{value(){return this.$store.state.seedream?.config?.model}},mounted(){this.value||this.applyModel(te)},methods:{async onChange(e){let t=this.$store.state.seedream?.config||{},n=Ee(t,{model:e});if(n.length===0){this.applyModel(e);return}let r=n.map(e=>this.$t(e.i18nLabel)).join(`、`);try{await J.confirm(this.$t(`seedream.message.featureNotSupportedBody`,{fields:r}),this.$t(`seedream.message.featureNotSupportedTitle`),{confirmButtonText:this.$t(`seedream.button.confirmContinue`),cancelButtonText:this.$t(`seedream.button.cancelSwitch`),type:`warning`});let i=De({...t,model:e},n,{model:e});this.$store.commit(`seedream/setConfig`,i),z.success(this.$t(`seedream.message.featureRemovedNotice`,{fields:r}))}catch{this.revertKey+=1}},applyModel(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,model:e})}}}),ze={class:`field`},Be={class:`label`},Ve={class:`box`},He={class:`title font-bold`};function Ue(t,n,r,o,u,d){let g=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return h(),s(`div`,ze,[e(`div`,Be,[e(`div`,Ve,[e(`h2`,He,i(t.$t(`seedream.name.model`)),1),a(g,{content:t.$t(`seedream.description.model`),class:`info`},null,8,[`content`])])]),(h(),f(v,{key:t.revertKey,"model-value":t.value,class:`value`,placeholder:t.$t(`seedream.placeholder.select`),onChange:t.onChange},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onChange`]))])}var We=L(Re,[[`render`,Ue],[`__scopeId`,`data-v-6413c179`]]),Ge=_({name:`SeedreamSizeSelector`,components:{ElSelect:y,ElOption:b,ElOptionGroup:v,InfoIcon:Z},data(){return{SEEDREAM_SIZE_ADAPTIVE:ee,pixelOptions:P}},computed:{model(){return this.$store.state.seedream?.config?.model},capabilities(){return Q(this.model)},value:{get(){return this.$store.state.seedream?.config?.size},set(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,size:e})}}},watch:{model:{immediate:!0,handler(){if(this.value)return;let e=this.capabilities;e.sizeTiers.length?this.value=e.sizeTiers.includes(`2K`)?`2K`:e.sizeTiers[0]:e.sizePixelDefault&&(this.value=e.sizePixelDefault)}}}}),Ke={class:`field`},qe={class:`label`},Je={class:`box`},Ye={class:`title font-bold`};function Xe(t,n,r,u,d,g){let _=l(`info-icon`),v=l(`el-option`),y=l(`el-option-group`),b=l(`el-select`);return h(),s(`div`,Ke,[e(`div`,qe,[e(`div`,Je,[e(`h2`,Ye,i(t.$t(`seedream.name.size`)),1),a(_,{content:t.$t(`seedream.description.size`),class:`info`},null,8,[`content`])])]),a(b,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`seedream.placeholder.size`),filterable:``,"allow-create":``,"default-first-option":``},{default:p(()=>[t.capabilities.sizeTiers.length?(h(),f(y,{key:0,label:t.$t(`seedream.size.group.tier`)},{default:p(()=>[(h(!0),s(c,null,m(t.capabilities.sizeTiers,e=>(h(),f(v,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`label`])):o(``,!0),t.capabilities.sizeAdaptive?(h(),f(y,{key:1,label:t.$t(`seedream.size.group.adaptive`)},{default:p(()=>[(h(),f(v,{key:t.SEEDREAM_SIZE_ADAPTIVE,label:t.$t(`seedream.size.adaptive`),value:t.SEEDREAM_SIZE_ADAPTIVE},null,8,[`label`,`value`]))]),_:1},8,[`label`])):o(``,!0),a(y,{label:t.$t(`seedream.size.group.pixel`)},{default:p(()=>[(h(!0),s(c,null,m(t.pixelOptions,e=>(h(),f(v,{key:e.value,label:`${e.value} (${e.ratio})`,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`label`])]),_:1},8,[`modelValue`,`placeholder`])])}var Ze=L(Ge,[[`render`,Xe],[`__scopeId`,`data-v-dd7bd021`]]),Qe=_({name:`SeedreamMaxImagesSelector`,components:{ElInputNumber:E,InfoIcon:Z},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).groupGeneration},referenceImageCount(){let e=this.config?.image;return Array.isArray(e)?e.length:0},effectiveMax(){let e=15-this.referenceImageCount;return Math.max(1,Math.min(15,e))},value:{get(){let e=this.config?.sequential_image_generation_options?.max_images;return typeof e==`number`&&e>=1?e:1},set(e){let t={...this.config||{}},n=Math.max(1,Math.min(this.effectiveMax,Math.floor(e||1)));n>1?(t.sequential_image_generation=`auto`,t.sequential_image_generation_options={...t.sequential_image_generation_options||{},max_images:n}):(t.sequential_image_generation=`disabled`,t.sequential_image_generation_options&&delete t.sequential_image_generation_options),this.$store.commit(`seedream/setConfig`,t)}}},watch:{effectiveMax(e){this.value>e&&(this.value=e)}}}),$e={key:0,class:`field`},et={class:`label`},tt={class:`box`},nt={class:`title font-bold`},rt={class:`value`};function it(t,n,r,c,u,d){let f=l(`info-icon`),p=l(`el-input-number`);return t.supported?(h(),s(`div`,$e,[e(`div`,et,[e(`div`,tt,[e(`h2`,nt,i(t.$t(`seedream.name.maxImages`)),1),a(f,{content:t.$t(`seedream.description.maxImages`),class:`info`},null,8,[`content`])])]),e(`div`,rt,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,min:1,max:t.effectiveMax,step:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`,`max`])])])):o(``,!0)}var at=L(Qe,[[`render`,it],[`__scopeId`,`data-v-f079fd20`]]),ot=_({name:`SeedreamOutputFormatSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:Z},data(){return{options:[...ne]}},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).outputFormat},value:{get(){return this.config?.output_format},set(e){let t={...this.config||{}};t.output_format=e,this.$store.commit(`seedream/setConfig`,t)}}}}),st={key:0,class:`field`},ct={class:`label`},lt={class:`box`},ut={class:`title font-bold`};function dt(t,n,r,u,d,g){let _=l(`info-icon`),v=l(`el-option`),y=l(`el-select`);return t.supported?(h(),s(`div`,st,[e(`div`,ct,[e(`div`,lt,[e(`h2`,ut,i(t.$t(`seedream.name.outputFormat`)),1),a(_,{content:t.$t(`seedream.description.outputFormat`),class:`info`},null,8,[`content`])])]),a(y,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`seedream.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(v,{key:e,label:e.toUpperCase(),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])):o(``,!0)}var ft=L(ot,[[`render`,dt],[`__scopeId`,`data-v-69ea4c07`]]),pt=_({name:`SeedreamSeedInput`,components:{ElInputNumber:E,InfoIcon:Z},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).seed},value:{get(){let e=this.config?.seed;return typeof e==`number`?e:-1},set(e){let t={...this.config||{}};t.seed=typeof e==`number`&&Number.isInteger(e)?e:-1,this.$store.commit(`seedream/setConfig`,t)}}}}),mt={key:0,class:`field`},ht={class:`label`},gt={class:`box`},_t={class:`title font-bold`},vt={class:`value`};function yt(t,n,r,c,u,d){let f=l(`info-icon`),p=l(`el-input-number`);return t.supported?(h(),s(`div`,mt,[e(`div`,ht,[e(`div`,gt,[e(`h2`,_t,i(t.$t(`seedream.name.seed`)),1),a(f,{content:t.$t(`seedream.description.seed`),class:`info`},null,8,[`content`])])]),e(`div`,vt,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,min:-1,max:2147483647,step:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`])])])):o(``,!0)}var bt=L(pt,[[`render`,yt],[`__scopeId`,`data-v-10cdc1e0`]]),xt=_({name:`SeedreamGuidanceScaleInput`,components:{ElInputNumber:E,InfoIcon:Z},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return Q(this.config?.model).guidanceScale},defaultValue(){return Q(this.config?.model).guidanceScaleDefault??2.5},value:{get(){let e=this.config?.guidance_scale;return typeof e==`number`?e:this.defaultValue},set(e){let t={...this.config||{}};t.guidance_scale=typeof e==`number`&&e>=1&&e<=10?e:this.defaultValue,this.$store.commit(`seedream/setConfig`,t)}}}}),St={key:0,class:`field`},Ct={class:`label`},wt={class:`box`},Tt={class:`title font-bold`},Et={class:`value`};function Dt(t,n,r,c,u,d){let f=l(`info-icon`),p=l(`el-input-number`);return t.supported?(h(),s(`div`,St,[e(`div`,Ct,[e(`div`,wt,[e(`h2`,Tt,i(t.$t(`seedream.name.guidanceScale`)),1),a(f,{content:t.$t(`seedream.description.guidanceScale`),class:`info`},null,8,[`content`])])]),e(`div`,Et,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,min:1,max:10,step:.1,precision:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`])])])):o(``,!0)}var Ot=L(xt,[[`render`,Dt],[`__scopeId`,`data-v-7386f064`]]),kt=_({name:`SeedreamWatermarkSwitch`,components:{ElSwitch:D,InfoIcon:Z},computed:{value:{get(){let e=this.$store.state.seedream?.config?.watermark;return e===void 0?!1:!!e},set(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,watermark:e})}}}}),At={class:`field`},jt={class:`label`},Mt={class:`box`},Nt={class:`title font-bold`},Pt={class:`value`};function Ft(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,At,[e(`div`,jt,[e(`div`,Mt,[e(`h2`,Nt,i(t.$t(`seedream.name.watermark`)),1),a(d,{content:t.$t(`seedream.description.watermark`),class:`info`},null,8,[`content`])])]),e(`div`,Pt,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e},null,8,[`modelValue`])])])}var It=_({name:`SeedreamConfigPanel`,components:{ElButton:R,FontAwesomeIcon:Y,PromptInput:Ce,Consumption:se,ImageInput:Le,ModelSelector:We,SizeSelector:Ze,MaxImagesSelector:at,OutputFormatSelector:ft,SeedInput:bt,GuidanceScaleInput:Ot,WatermarkSwitch:L(kt,[[`render`,Ft],[`__scopeId`,`data-v-9e2abf0f`]])},emits:[`generate`],computed:{config(){return this.$store.state.seedream?.config},consumption(){let e={...this.config||{}},t=Array.isArray(e?.image)&&e.image.length>0,n=e?.sequential_image_generation===`auto`?Math.max(1,Math.floor(e?.sequential_image_generation_options?.max_images||1)):1;return G({...e,action:t?`edit`:`generate`,model:O(e?.model),count:n},this.service?.cost)},service(){return this.$store.state.seedream?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Lt={class:`flex flex-col h-full`},Rt={class:`flex-1 overflow-y-auto p-5`},zt={class:`flex flex-col items-center justify-center px-5 pb-5`};function Bt(t,n,o,c,u,d){let f=l(`model-selector`),m=l(`size-selector`),g=l(`max-images-selector`),_=l(`output-format-selector`),v=l(`seed-input`),y=l(`guidance-scale-input`),b=l(`watermark-switch`),x=l(`prompt-input`),S=l(`image-input`),C=l(`consumption`),w=l(`font-awesome-icon`),T=l(`el-button`);return h(),s(`div`,Lt,[e(`div`,Rt,[a(f,{class:`mb-4`}),a(m,{class:`mb-4`}),a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`}),a(S,{class:`mb-4`})]),e(`div`,zt,[a(C,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(T,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),r(` `+i(t.$t(`seedream.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Vt=L(It,[[`render`,Bt]]),Ht=_({name:`SeedreamTaskPreview`,components:{ElImage:C,CopyToClipboard:ae,FontAwesomeIcon:Y,ElAlert:w,ImageWrapper:me,ElButton:R,ElTooltip:S,ImagePreview:X,ApiCodeButton:ue},props:{modelValue:{type:Object,required:!0}},computed:{isEdit(){return Array.isArray(this.modelValue?.request?.image)&&(this.modelValue?.request?.image?.length||0)>0},images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{shortModel(e){return O(e)||e},onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.seedream?.config||{}};t.image=[e],this.$store.commit(`seedream/setConfig`,t)}}}),Ut={class:`preview`},Wt={class:`left`},Gt={class:`main`},Kt={class:`bot`},qt={class:`datetime`},Jt={class:`info`},Yt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Xt={key:1,class:`prompt mt-2`},Zt={key:0},Qt={key:0,class:n({content:!0})},$t={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},en={key:1,class:n({content:!0,failed:!0})},tn={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},nn={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},rn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},an={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},on={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},sn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},cn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},ln={key:2,class:n({content:!0})},un={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},fn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},hn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},gn={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},_n={key:3,class:n({content:!0})},vn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},yn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function bn(n,u,d,g,_,v){let y=l(`el-image`),b=l(`image-preview`),x=l(`font-awesome-icon`),S=l(`copy-to-clipboard`),C=l(`el-alert`),w=l(`image-wrapper`),T=l(`el-button`),E=l(`el-tooltip`),D=l(`api-code-button`);return h(),s(`div`,Ut,[e(`div`,Wt,[a(y,{src:`https://cdn.acedata.cloud/9egrbn.png`,class:`avatar`})]),e(`div`,Gt,[e(`div`,Kt,[r(i(n.$t(`seedream.name.seedreamBot`))+` `,1),e(`span`,qt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,Jt,[Array.isArray(n.modelValue?.request?.image)&&n.modelValue?.request?.image.length>0?(h(),s(`div`,Yt,[(h(!0),s(c,null,m(n.modelValue?.request?.image,(e,t)=>(h(),f(b,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),n.modelValue?.request?.prompt?(h(),s(`p`,Xt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,Zt,` - (`+i(n.$t(`seedream.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?n.modelValue?.response?.success===!0?(h(),s(`div`,en,[e(`div`,tn,[(h(!0),s(c,null,m(n.images,(e,t)=>(h(),f(w,{key:t,src:e?.image_url,"raw-src":e?.image_url},null,8,[`src`,`raw-src`]))),128))]),e(`div`,nn,[a(E,{class:`box-item`,effect:`dark`,content:n.$t(`common.button.edit`),placement:`top-start`},{default:p(()=>[a(T,{type:`info`,size:`small`,class:`btn-action`,onClick:u[0]||=t(e=>n.onEdit(n.images?.[0]?.image_url),[`stop`])},{default:p(()=>[r(i(n.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),a(D,{path:`/seedream/images`,body:n.modelValue?.request},null,8,[`body`])]),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,rn,[a(x,{icon:`fa-solid fa-cube`,class:`mr-1`}),r(` `+i(n.$t(`seedream.name.model`))+`: `+i(n.shortModel(n.modelValue?.request?.model)),1)])):o(``,!0),n.modelValue?.request?.size?(h(),s(`p`,an,[a(x,{icon:`fa-solid fa-image`,class:`mr-1`}),r(` `+i(n.$t(`seedream.name.size`))+`: `+i(n.modelValue?.request?.size),1)])):o(``,!0),e(`p`,on,[a(x,{icon:`fa-solid fa-bolt`,class:`mr-1`}),r(` `+i(n.$t(`seedream.name.task`))+`: `+i(n.isEdit?n.$t(`seedream.name.edits`):n.$t(`seedream.name.generate`)),1)]),e(`p`,sn,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`seedream.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,cn,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),r(` `+i(n.$t(`seedream.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(h(),s(`p`,$,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),r(` `+i(n.$t(`seedream.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(S,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.modelValue?.response?.success===!1?(h(),s(`div`,ln,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),r(` `+i(n.$t(`seedream.name.failure`)),1)]),default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,un,[a(x,{icon:`fa-solid fa-cube`,class:`mr-1`}),r(` `+i(n.$t(`seedream.name.model`))+`: `+i(n.shortModel(n.modelValue?.request?.model)),1)])):o(``,!0),n.modelValue?.request?.size?(h(),s(`p`,dn,[a(x,{icon:`fa-solid fa-image`,class:`mr-1`}),r(` `+i(n.$t(`seedream.name.size`))+`: `+i(n.modelValue?.request?.size),1)])):o(``,!0),e(`p`,fn,[a(x,{icon:`fa-solid fa-bolt`,class:`mr-1`}),r(` `+i(n.$t(`seedream.name.task`))+`: `+i(n.isEdit?n.$t(`seedream.name.edits`):n.$t(`seedream.name.generate`)),1)]),e(`p`,pn,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`seedream.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.response?.error?.message?(h(),s(`p`,mn,[a(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),r(` `+i(n.$t(`seedream.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(S,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])])):o(``,!0),n.modelValue?.elapsed?(h(),s(`p`,hn,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),r(` `+i(n.$t(`seedream.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(h(),s(`p`,gn,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),r(` `+i(n.$t(`seedream.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(S,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(h(),s(`div`,_n,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),r(` `+i(n.$t(`seedream.name.status`)),1)]),default:p(()=>[e(`p`,vn,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`seedream.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.response?.trace_id?(h(),s(`p`,yn,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),r(` `+i(n.$t(`seedream.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(S,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(h(),s(`div`,Qt,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(x,{icon:`fa-regular fa-clock`,class:`mr-1`}),r(` `+i(n.$t(`seedream.status.pending`)),1)]),default:p(()=>[e(`p`,$t,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`seedream.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})]))])])}var xn=_({name:`SeedreamRecentPanel`,components:{TaskPreview:L(Ht,[[`render`,bn],[`__scopeId`,`data-v-1b4654bc`]]),BotPlaceholder:de,NoTasks:fe,ScrollList:ce},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?.()}}}),Sn={key:0},Cn={key:2,class:`w-full h-full flex items-center justify-center`};function wn(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,Sn,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,e=>(h(),f(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,Cn,[a(v)])):o(``,!0)],64)}var Tn=_({name:`SeedreamIndex`,components:{ConfigPanel:Vt,Layout:be,RecentPanel:L(xn,[[`render`,wn]])},mixins:[K],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.seedream?.status?.getApplications===B.Request},tasksLoading(){return this.$store.state.seedream?.status?.getTasks===B.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,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(){await le({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},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();let 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);let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),await this.$store.dispatch(`seedream/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})},async onGenerate(){if(!q(this.uploadTracker,e=>this.$t(e),e=>z.warning(e)))return;let e={...this.config||{}};!(Array.isArray(e?.image)&&e.image.length>0)&&`image`in e&&delete e.image,e?.size||delete e.size;let t={...e,async:!0};if(!V())return;let n=this.credential?.token;if(!n){console.error(`no token specified`);return}z.info(this.$t(`seedream.message.startingTask`)),ie(`seedream`,re.generate(t,{token:n})).then(()=>{z.success(this.$t(`seedream.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?z.error(this.$t(`seedream.message.usedUp`)):z.error(this.$t(`seedream.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function En(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Dn=L(Tn,[[`render`,En]]);export{Dn as default};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,F as t,I as n,Jt as r,L as i,M as a,N as o,T as s,at as c,it as l,j as u,mt as d,rt as f,tt as p,z as m}from"./vendor-chart-Dw-P17PN.js";import{r as h,t as g}from"./select-BA-cCcAZ.js";import{n as _,t as v}from"./collapse-Dt1P8EeN.js";import{t as y}from"./drawer-Bbz1bWjK.js";import"./constants-Di8qAaA0.js";import{G as b,Gi as x,Ii as S,Ti as C,di as w,hn as ee,on as te}from"./index-CapYApEL.js";import{t as T}from"./index.es-BeDOj7l9.js";import{t as E}from"./Consumption-C1ALJh9G.js";var D=m({name:`LayoutSerp`,components:{ElDrawer:y,ElButton:S,FontAwesomeIcon:T},data(){return{drawer:!1}}}),O={class:`main flex flex-row flex-1`},k={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},A={class:`result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function j(t,n,r,a,s,u){let f=c(`font-awesome-icon`),m=c(`el-button`),h=c(`el-drawer`);return p(),o(`div`,O,[e(`div`,k,[l(t.$slots,`config`,{},void 0,!0)]),e(`div`,A,[l(t.$slots,`result`,{},void 0,!0)]),i(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:d(()=>[i(f,{icon:`fa-solid fa-search`})]),_:1}),i(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:d(()=>[l(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var M=b(D,[[`render`,j],[`__scopeId`,`data-v-72398911`]]),N=m({name:`QueryInput`,components:{ElInput:x},computed:{query:{get(){return this.$store.state.serp?.config?.query},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e})}}}}),P={class:`field`},F={class:`box`},I={class:`title font-bold`};function L(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,P,[e(`div`,F,[e(`h2`,I,r(t.$t(`serp.name.query`)),1)]),i(d,{modelValue:t.query,"onUpdate:modelValue":n[0]||=e=>t.query=e,rows:3,type:`textarea`,class:`prompt`,placeholder:t.$t(`serp.placeholder.query`)},null,8,[`modelValue`,`placeholder`])])}var R=b(N,[[`render`,L],[`__scopeId`,`data-v-3582b195`]]),z=m({name:`TypeSelector`,components:{ElSelect:h,ElOption:g},computed:{value:{get(){return this.$store.state.serp?.config?.type},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,type:e})}}},mounted(){this.value||=`search`}}),B={class:`field`},V={class:`title font-bold`};function H(t,n,a,s,l,u){let f=c(`el-option`),m=c(`el-select`);return p(),o(`div`,B,[e(`h2`,V,r(t.$t(`serp.name.type`)),1),i(m,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},{default:d(()=>[i(f,{value:`search`,label:t.$t(`serp.type.search`)},null,8,[`label`]),i(f,{value:`images`,label:t.$t(`serp.type.images`)},null,8,[`label`]),i(f,{value:`news`,label:t.$t(`serp.type.news`)},null,8,[`label`]),i(f,{value:`videos`,label:t.$t(`serp.type.videos`)},null,8,[`label`])]),_:1},8,[`modelValue`])])}var U=b(z,[[`render`,H],[`__scopeId`,`data-v-2913fb62`]]),W=m({name:`CountryInput`,components:{ElInput:x},computed:{value:{get(){return this.$store.state.serp?.config?.country},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,country:e})}}},mounted(){this.value||=`US`}}),G={class:`field`},K={class:`title font-bold`};function q(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,G,[e(`h2`,K,r(t.$t(`serp.name.country`)),1),i(d,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`serp.placeholder.country`)},null,8,[`modelValue`,`placeholder`])])}var J=b(W,[[`render`,q],[`__scopeId`,`data-v-f0672cc6`]]),Y=m({name:`LanguageInput`,components:{ElInput:x},computed:{value:{get(){return this.$store.state.serp?.config?.language},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,language:e})}}},mounted(){this.value||=`en`}}),X={class:`field`},Z={class:`title font-bold`};function Q(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,X,[e(`h2`,Z,r(t.$t(`serp.name.language`)),1),i(d,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`serp.placeholder.language`)},null,8,[`modelValue`,`placeholder`])])}var ne=m({name:`SearchPanel`,components:{ElButton:S,FontAwesomeIcon:T,QueryInput:R,TypeSelector:U,CountryInput:J,LanguageInput:b(Y,[[`render`,Q],[`__scopeId`,`data-v-dc1c94b7`]]),Consumption:E},emits:[`search`],computed:{config(){return this.$store.state.serp?.config},consumption(){return te(this.config,this.service?.cost)},service(){return this.$store.state.serp?.service},searching(){return this.$store.state.serp?.status?.search===w.Request}},methods:{onSearch(){this.$emit(`search`)}}}),re={class:`flex flex-col h-full`},ie={class:`flex-1 overflow-y-auto p-5`},ae={class:`flex flex-col items-center justify-center px-5 pb-5`};function oe(t,a,s,l,u,f){let m=c(`query-input`),h=c(`type-selector`),g=c(`country-input`),_=c(`language-input`),v=c(`consumption`),y=c(`font-awesome-icon`),b=c(`el-button`);return p(),o(`div`,re,[e(`div`,ie,[i(m,{class:`mb-4`}),i(h,{class:`mb-4`}),i(g,{class:`mb-4`}),i(_,{class:`mb-4`})]),e(`div`,ae,[i(v,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),i(b,{type:`primary`,class:`btn w-full`,round:``,loading:t.searching,onClick:t.onSearch},{default:d(()=>[i(y,{icon:`fa-solid fa-search`,class:`mr-2`}),n(` `+r(t.$t(`serp.button.search`)),1)]),_:1},8,[`loading`,`onClick`])])])}var se=b(ne,[[`render`,oe]]),ce=m({name:`KnowledgeGraph`,props:{data:{type:Object,required:!0}}}),le={class:`knowledge-graph rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},ue={class:`flex flex-row gap-4`},de=[`src`,`alt`],fe={class:`flex-1 min-w-0`},pe={key:0,class:`text-xs text-[var(--el-text-color-disabled)] mb-1 uppercase tracking-wide`},me={class:`text-xl font-bold mb-1.5`},he={key:1,class:`text-sm text-[var(--el-text-color-regular)] mb-3 leading-relaxed`},ge=[`href`],_e={key:2,class:`text-sm`},ve={class:`text-[var(--el-text-color-disabled)] flex-none font-medium`},ye={class:`text-[var(--el-text-color-regular)]`};function be(t,i,c,l,u,d){return p(),o(`div`,le,[e(`div`,ue,[t.data.image_url?(p(),o(`img`,{key:0,src:t.data.image_url,alt:t.data.title,class:`w-28 h-28 rounded-lg object-cover flex-none shadow-sm`},null,8,de)):a(``,!0),e(`div`,fe,[t.data.type?(p(),o(`div`,pe,r(t.data.type),1)):a(``,!0),e(`h3`,me,r(t.data.title),1),t.data.description?(p(),o(`p`,he,[n(r(t.data.description)+` `,1),t.data.description_link?(p(),o(`a`,{key:0,href:t.data.description_link,target:`_blank`,rel:`noopener noreferrer`,class:`text-[var(--el-color-primary)] hover:underline ml-1`},r(t.data.description_source||`Source`),9,ge)):a(``,!0)])):a(``,!0),t.data.attributes&&Object.keys(t.data.attributes).length?(p(),o(`div`,_e,[(p(!0),o(s,null,f(t.data.attributes,(t,n)=>(p(),o(`div`,{key:n,class:`flex gap-2 mb-1 py-0.5`},[e(`span`,ve,r(n)+`:`,1),e(`span`,ye,r(t),1)]))),128))])):a(``,!0)])])])}var xe=b(ce,[[`render`,be]]),Se=m({name:`OrganicResult`,props:{data:{type:Object,required:!0}},data(){return{faviconFailed:!1}},computed:{hostname(){if(!this.data.link)return``;try{return new URL(this.data.link).hostname}catch{return``}},pathname(){if(!this.data.link)return``;try{let e=new URL(this.data.link).pathname;return e===`/`?``:e}catch{return``}},displayUrl(){return this.hostname},faviconUrl(){return this.faviconFailed||!this.hostname?``:`https://www.google.com/s2/favicons?domain=${this.hostname}&sz=32`}},methods:{onFaviconError(e){this.faviconFailed=!0,e.target.style.display=`none`}}}),Ce={class:`organic-result rounded-lg p-4 transition-all duration-200 hover:bg-[var(--el-fill-color-lighter)]`},we={key:0,class:`flex items-center gap-2 mb-1.5`},Te=[`src`,`alt`],Ee={class:`text-xs text-[var(--el-text-color-secondary)] truncate`},De={class:`text-xs text-[var(--el-text-color-disabled)]`},Oe=[`href`],ke={key:1,class:`text-xs text-[var(--el-text-color-disabled)] mt-1`},Ae={key:2,class:`text-sm text-[var(--el-text-color-regular)] mt-1.5 leading-relaxed line-clamp-3`},je={key:3,class:`mt-3 flex flex-wrap gap-x-4 gap-y-1`},Me=[`href`];function Ne(t,n,i,c,l,u){return p(),o(`div`,Ce,[t.displayUrl?(p(),o(`div`,we,[e(`img`,{src:t.faviconUrl,alt:t.hostname,class:`w-4 h-4 rounded-sm flex-none`,loading:`lazy`,onError:n[0]||=(...e)=>t.onFaviconError&&t.onFaviconError(...e)},null,40,Te),e(`span`,Ee,r(t.hostname),1),e(`span`,De,r(t.pathname),1)])):a(``,!0),e(`a`,{href:t.data.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-base font-semibold text-[var(--el-color-primary)] hover:underline leading-snug block`},r(t.data.title),9,Oe),t.data.date?(p(),o(`div`,ke,r(t.data.date),1)):a(``,!0),t.data.snippet?(p(),o(`p`,Ae,r(t.data.snippet),1)):a(``,!0),t.data.sitelinks?.length?(p(),o(`div`,je,[(p(!0),o(s,null,f(t.data.sitelinks,(e,t)=>(p(),o(`a`,{key:t,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary-light-3)] hover:text-[var(--el-color-primary)] hover:underline transition-colors`},r(e.title),9,Me))),128))])):a(``,!0)])}var Pe=b(Se,[[`render`,Ne]]),Fe=m({name:`ImageResults`,props:{data:{type:Array,required:!0}}}),Ie={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Le={class:`text-base font-bold mb-3`},Re={class:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3`},ze=[`href`],Be=[`src`,`alt`],Ve={class:`absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/70 to-transparent p-2.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200`},He={class:`text-xs text-white line-clamp-2`};function Ue(t,n,i,c,l,u){return p(),o(`div`,Ie,[e(`h3`,Le,r(t.$t(`serp.name.imageResults`)),1),e(`div`,Re,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`group relative rounded-lg overflow-hidden bg-[var(--el-fill-color-light)] aspect-square`},[t.image_url?(p(),o(`img`,{key:0,src:t.image_url,alt:t.title,class:`w-full h-full object-cover transition-transform duration-300 group-hover:scale-105`,loading:`lazy`},null,8,Be)):a(``,!0),e(`div`,Ve,[e(`span`,He,r(t.title),1)])],8,ze))),128))])])}var We=b(Fe,[[`render`,Ue]]),Ge=m({name:`VideoResults`,props:{data:{type:Array,required:!0}}}),Ke={class:`text-base font-bold mb-3`},qe={class:`space-y-4`},Je=[`href`],Ye={class:`relative flex-shrink-0 w-40 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},Xe=[`src`,`alt`],Ze={key:1,class:`absolute bottom-1 right-1 bg-black/80 text-white text-xs px-1 rounded`},Qe={class:`flex-1 min-w-0`},$e={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},et={class:`text-xs text-gray-400 mt-1`},tt={key:0},nt={key:1},rt={key:2},it={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`};function at(t,n,i,c,l,u){return p(),o(`div`,null,[e(`h3`,Ke,r(t.$t(`serp.name.videoResults`)),1),e(`div`,qe,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[e(`div`,Ye,[t.image_url?(p(),o(`img`,{key:0,src:t.image_url,alt:t.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,Xe)):a(``,!0),t.duration?(p(),o(`div`,Ze,r(t.duration),1)):a(``,!0)]),e(`div`,Qe,[e(`div`,$e,r(t.title),1),e(`div`,et,[t.source?(p(),o(`span`,tt,r(t.source),1)):a(``,!0),t.channel?(p(),o(`span`,nt,` · `+r(t.channel),1)):a(``,!0),t.date?(p(),o(`span`,rt,` · `+r(t.date),1)):a(``,!0)]),t.snippet?(p(),o(`p`,it,r(t.snippet),1)):a(``,!0)])],8,Je))),128))])])}var ot=b(Ge,[[`render`,at]]),st=m({name:`NewsResults`,props:{data:{type:Array,required:!0}}}),ct={class:`text-base font-bold mb-3`},lt={class:`space-y-4`},ut=[`href`],dt={class:`flex-1 min-w-0`},ft={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},pt={class:`text-xs text-gray-400 mt-1`},mt={key:0},ht={key:1},gt={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`},_t={key:0,class:`flex-shrink-0 w-24 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},vt=[`src`,`alt`];function yt(t,n,i,c,l,u){return p(),o(`div`,null,[e(`h3`,ct,r(t.$t(`serp.name.newsResults`)),1),e(`div`,lt,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[e(`div`,dt,[e(`div`,ft,r(t.title),1),e(`div`,pt,[t.source?(p(),o(`span`,mt,r(t.source),1)):a(``,!0),t.date?(p(),o(`span`,ht,` · `+r(t.date),1)):a(``,!0)]),t.snippet?(p(),o(`p`,gt,r(t.snippet),1)):a(``,!0)]),t.image_url?(p(),o(`div`,_t,[e(`img`,{src:t.image_url,alt:t.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,vt)])):a(``,!0)],8,ut))),128))])])}var bt=b(st,[[`render`,yt]]),xt=m({name:`PeopleAlsoAsk`,components:{ElCollapse:v,ElCollapseItem:_},props:{data:{type:Array,required:!0}}}),St={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Ct={class:`text-base font-bold mb-3`},wt={key:0,class:`text-sm text-[var(--el-text-color-regular)] mb-2 leading-relaxed`},Tt=[`href`];function Et(t,n,l,m,h,g){let _=c(`el-collapse-item`),v=c(`el-collapse`);return p(),o(`div`,St,[e(`h3`,Ct,r(t.$t(`serp.name.peopleAlsoAsk`)),1),i(v,null,{default:d(()=>[(p(!0),o(s,null,f(t.data,(e,t)=>(p(),u(_,{key:t,title:e.question||e.title||``},{default:d(()=>[e.snippet?(p(),o(`p`,wt,r(e.snippet),1)):a(``,!0),e.link?(p(),o(`a`,{key:1,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary)] hover:underline`},r(e.title||e.link),9,Tt)):a(``,!0)]),_:2},1032,[`title`]))),128))]),_:1})])}var Dt=b(xt,[[`render`,Et]]),Ot=m({name:`RelatedSearches`,components:{FontAwesomeIcon:T},props:{data:{type:Array,required:!0}},emits:[`search`],methods:{onSearch(e){e&&this.$emit(`search`,e)}}}),kt={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},At={class:`text-base font-bold mb-3`},jt={class:`flex flex-wrap gap-2`},Mt=[`onClick`];function Nt(t,a,l,u,d,m){let h=c(`font-awesome-icon`);return p(),o(`div`,kt,[e(`h3`,At,r(t.$t(`serp.name.relatedSearches`)),1),e(`div`,jt,[(p(!0),o(s,null,f(t.data,(e,a)=>(p(),o(`button`,{key:a,class:`inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm bg-[var(--el-fill-color-light)] text-[var(--el-text-color-regular)] hover:bg-[var(--el-color-primary-light-9)] hover:text-[var(--el-color-primary)] transition-colors cursor-pointer border-none`,onClick:n=>t.onSearch(e.query)},[i(h,{icon:`fa-solid fa-magnifying-glass`,class:`text-xs opacity-50`}),n(` `+r(e.query),1)],8,Mt))),128))])])}var $=m({name:`ResultPanel`,components:{FontAwesomeIcon:T,KnowledgeGraph:xe,OrganicResult:Pe,ImageResults:We,VideoResults:ot,NewsResults:bt,PeopleAlsoAsk:Dt,RelatedSearches:b(Ot,[[`render`,Nt]])},emits:[`related-search`],computed:{results(){return this.$store.state.serp?.results},searching(){return this.$store.state.serp?.status?.search===w.Request},noResults(){return this.$store.state.serp?.status?.search===w.Success&&this.results&&!this.results.organic?.length&&!this.results.images?.length&&!this.results.videos?.length&&!this.results.news?.length&&!this.results.knowledge_graph?.title}},methods:{onRelatedSearch(e){this.$emit(`related-search`,e)}}}),Pt={class:`h-full overflow-y-auto p-6`},Ft={key:0,class:`max-w-3xl mx-auto py-8`},It={key:1,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Lt={class:`text-base`},Rt={key:2,class:`max-w-3xl mx-auto`},zt={key:1,class:`mb-6`},Bt={key:3,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Vt={class:`text-base`};function Ht(n,l,d,m,h,g){let _=c(`font-awesome-icon`),v=c(`knowledge-graph`),y=c(`organic-result`),b=c(`image-results`),x=c(`video-results`),S=c(`news-results`),C=c(`people-also-ask`),w=c(`related-searches`);return p(),o(`div`,Pt,[n.searching?(p(),o(`div`,Ft,[(p(),o(s,null,f(4,n=>e(`div`,{key:n,class:`mb-6 animate-pulse`},[...l[0]||=[t(`<div class="flex items-center gap-2 mb-2"><div class="w-4 h-4 rounded-sm bg-[var(--el-fill-color-darker)]"></div><div class="h-3 w-32 rounded bg-[var(--el-fill-color-darker)]"></div></div><div class="h-4 w-3/4 rounded bg-[var(--el-fill-color-dark)] mb-2"></div><div class="h-3 w-full rounded bg-[var(--el-fill-color)] mb-1"></div><div class="h-3 w-5/6 rounded bg-[var(--el-fill-color)]"></div>`,4)]])),64))])):n.noResults?(p(),o(`div`,It,[i(_,{icon:`fa-solid fa-face-meh`,class:`text-5xl mb-4 opacity-40`}),e(`p`,Lt,r(n.$t(`serp.message.noResults`)),1)])):n.results?(p(),o(`div`,Rt,[n.results.knowledge_graph?.title?(p(),u(v,{key:0,data:n.results.knowledge_graph,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.organic?.length?(p(),o(`div`,zt,[(p(!0),o(s,null,f(n.results.organic,(e,t)=>(p(),u(y,{key:t,data:e,class:`mb-1`},null,8,[`data`]))),128))])):a(``,!0),n.results.images?.length?(p(),u(b,{key:2,data:n.results.images,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.videos?.length?(p(),u(x,{key:3,data:n.results.videos,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.news?.length?(p(),u(S,{key:4,data:n.results.news,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.people_also_ask?.length?(p(),u(C,{key:5,data:n.results.people_also_ask,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.related_searches?.length?(p(),u(w,{key:6,data:n.results.related_searches,class:`mb-6`,onSearch:n.onRelatedSearch},null,8,[`data`,`onSearch`])):a(``,!0)])):(p(),o(`div`,Bt,[i(_,{icon:`fa-solid fa-globe`,class:`text-5xl mb-4 opacity-30`}),e(`p`,Vt,r(n.$t(`serp.description.query`)),1)]))])}var Ut=m({name:`SerpIndex`,components:{Layout:M,SearchPanel:se,ResultPanel:b($,[[`render`,Ht]])},inject:[`initialized`],async mounted(){await this.onGetService()},methods:{async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`serp/getService`),console.debug(`end onGetService`)},async onSearch(){if(ee()&&this.$store.state.serp?.config?.query){C.info(this.$t(`serp.message.searching`));try{await this.$store.dispatch(`serp/search`),C.success(this.$t(`serp.message.searchSuccess`))}catch(e){(e?.response?.data)?.error?.code===`used_up`?C.error(this.$t(`serp.message.usedUp`)):C.error(this.$t(`serp.message.searchFailed`))}}},async onRelatedSearch(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e}),await this.onSearch()}}});function Wt(e,t,n,r,a,o){let s=c(`search-panel`),l=c(`result-panel`),f=c(`layout`);return p(),u(f,null,{config:d(()=>[i(s,{onSearch:e.onSearch},null,8,[`onSearch`])]),result:d(()=>[i(l,{onRelatedSearch:e.onRelatedSearch},null,8,[`onRelatedSearch`])]),_:1})}var Gt=b(Ut,[[`render`,Wt]]);export{Gt as default};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{r as v,t as y}from"./select-BA-cCcAZ.js";import{t as b}from"./upload-uSrKePzA.js";import{t as x}from"./tooltip-DaZcA4iA.js";import{t as S}from"./image-CZEhdfIr.js";import{t as C}from"./alert-ahs7mNpG.js";import{t as w}from"./drawer-Bbz1bWjK.js";import{ht as T,mt as ee}from"./constants-Di8qAaA0.js";import{G as E,Ii as D,Pn as te,Ti as O,Tr as k,di as A,hn as j,in as M,mi as N,nn as P,on as F,rn as I,tn as L}from"./index-CapYApEL.js";import{t as R}from"./index.es-BeDOj7l9.js";import{t as z}from"./CopyToClipboard-CoT4M6xJ.js";import{t as B}from"./ImagePreview-DBw0YCSw.js";import{n as V}from"./taskDrawerMixin-DyAUhFEq.js";import{t as H}from"./Consumption-C1ALJh9G.js";import{i as U,n as W,t as G}from"./pagination-Df_omtLz.js";import{t as K}from"./VideoPlayer-NexTZScZ.js";import{t as q}from"./ApiCodeButton-mvKRd2vS.js";import{t as J}from"./BotPlaceholder-DqU8f5Fh.js";import{t as Y}from"./NoTasks-C1NCAjA5.js";import{t as X}from"./PromptTextarea-BDqu8og3.js";var Z=_({name:`LayoutWan`,components:{ElDrawer:w,ElButton:D,FontAwesomeIcon:R},mixins:[V]}),Q={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)]`},re={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ie(t,n,r,i,o,c){let f=l(`font-awesome-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,Q,[e(`div`,ne,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,re,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{icon:`fa-solid fa-magic`})]),_:1},512),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ae=E(Z,[[`render`,ie],[`__scopeId`,`data-v-1ffeb6b4`]]),oe=_({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},data(){return{}},computed:{options(){return[{value:`wan2.6-t2v`,label:this.$t(`wan.button.modelT2v`)},{value:`wan2.6-i2v`,label:this.$t(`wan.button.modelI2v`)},{value:`wan2.6-i2v-flash`,label:this.$t(`wan.button.modelI2vFlash`)},{value:`wan2.6-r2v`,label:this.$t(`wan.button.modelR2v`)}]},value:{get(){return this.$store.state.wan?.config?.model},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,model:e})}}},mounted(){this.value||=ee}}),se={class:`field`},ce={class:`title font-bold`},le={class:`float-left`};function ue(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,se,[e(`h2`,ce,i(t.$t(`wan.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,le,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var de=E(oe,[[`render`,ue],[`__scopeId`,`data-v-eb090beb`]]),fe=`720p`,pe=_({name:`ResolutionSelector`,components:{ElSelect:v,ElOption:y},computed:{options(){return[{value:`480p`,label:this.$t(`wan.name.resolution480p`)},{value:`720p`,label:this.$t(`wan.name.resolution720p`)},{value:`1080p`,label:this.$t(`wan.name.resolution1080p`)}]},value:{get(){return this.$store.state.wan?.config?.resolution},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,resolution:e})}}},mounted(){this.value||=fe}}),me={class:`field`},he={class:`title font-bold`},ge={class:`float-left`};function _e(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,me,[e(`h2`,he,i(t.$t(`wan.name.resolution`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,ge,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ve=E(pe,[[`render`,_e],[`__scopeId`,`data-v-3e39f44e`]]),ye=5,be=_({name:`DurationSelector`,components:{ElSelect:v,ElOption:y},computed:{options(){return[{value:5,label:this.$t(`wan.name.duration5s`)},{value:10,label:this.$t(`wan.name.duration10s`)},{value:15,label:this.$t(`wan.name.duration15s`)}]},value:{get(){return this.$store.state.wan?.config?.duration},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,duration:e})}}},mounted(){this.value||=ye}}),xe={class:`field`},Se={class:`title font-bold`},Ce={class:`float-left`};function we(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,xe,[e(`h2`,Se,i(t.$t(`wan.name.duration`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,Ce,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Te=E(be,[[`render`,we],[`__scopeId`,`data-v-5f35a2cf`]]),Ee=_({name:`ImageUrlInput`,components:{ElUpload:b,ElButton:D,InfoIcon:U,ImagePreview:B},mixins:[M,P],data(){return{fileList:[],uploadUrl:N()+`/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.wan?.config?.image_url},set(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||=void 0,this.onSetImageUrl()},methods:{onExceed(){O.warning(this.$t(`wan.message.uploadImageExceed`))},onError(){O.error(this.$t(`wan.message.uploadImageError`))},async onRemove(){O.error(this.$t(`wan.message.uploadImageError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),De={class:`relative`},Oe={class:`flex justify-between`},ke={class:`flex justify-start items-center`},Ae={class:`text-sm font-bold`};function je(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`el-button`),y=l(`el-upload`);return h(),s(`div`,De,[e(`div`,Oe,[e(`div`,ke,[e(`span`,Ae,i(t.$t(`wan.name.imageUrl`)),1),a(g,{content:t.$t(`wan.description.imageUrl`),class:`info`},null,8,[`content`])])]),a(y,{"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,"show-file-list":!0,limit:1,multiple:!1,"list-type":`picture`,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-remove":t.onRemove,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(h(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(v,{size:`small`,type:`primary`,class:`btn btn-upload`,round:``},{default:p(()=>[r(i(t.$t(`wan.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])])}var Me=E(Ee,[[`render`,je],[`__scopeId`,`data-v-41a69004`]]),Ne=_({name:`PromptInput`,components:{PromptTextarea:X},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Pe(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`wan.name.prompt`),info:e.$t(`wan.description.prompt`),placeholder:e.$t(`wan.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Fe=_({name:`PresetPanel`,components:{ElButton:D,FontAwesomeIcon:R,PromptInput:E(Ne,[[`render`,Pe]]),ImageUrlInput:Me,ModelSelector:de,ResolutionSelector:ve,DurationSelector:Te,Consumption:H},emits:[`generate`],computed:{config(){return this.$store.state.wan?.config},consumption(){return F(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){let e=this.config?.model;return e===`wan2.6-t2v`||e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`},supportsDuration(){return this.config?.model===`wan2.6-t2v`},supportsImageUrl(){let e=this.config?.model;return e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`}},methods:{onGenerate(){this.$emit(`generate`)}}}),Ie={class:`flex flex-col h-full`},Le={class:`flex-1 overflow-y-auto p-5`},Re={class:`flex flex-col items-center justify-center px-5 pb-5`};function ze(t,n,c,u,d,m){let g=l(`prompt-input`),_=l(`model-selector`),v=l(`resolution-selector`),y=l(`duration-selector`),b=l(`image-url-input`),x=l(`consumption`),S=l(`font-awesome-icon`),C=l(`el-button`);return h(),s(`div`,Ie,[e(`div`,Le,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.supportsResolution?(h(),f(v,{key:0,class:`mb-4`})):o(``,!0),t.supportsDuration?(h(),f(y,{key:1,class:`mb-4`})):o(``,!0),t.supportsImageUrl?(h(),f(b,{key:2,class:`mb-2`})):o(``,!0)]),e(`div`,Re,[a(x,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(C,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(S,{icon:`fa-solid fa-magic`,class:`mr-2`}),r(` `+i(t.$t(`wan.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Be=E(Fe,[[`render`,ze]]),Ve=_({name:`TaskPreview`,components:{ElImage:S,CopyToClipboard:z,FontAwesomeIcon:R,ElAlert:C,VideoPlayer:K,ElTooltip:x,ElButton:D,ApiCodeButton:q},props:{modelValue:{type:Object,required:!0}},setup(){return{WAN_LOGO:T}},computed:{application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{onDownload(e){console.debug(`on download wan video`,e),window.open(e,`_blank`)}}}),He={class:`preview`},Ue={class:`left`},We={class:`main`},Ge={class:`bot`},Ke={class:`datetime`},qe={class:`info`},Je={key:0,class:`prompt mt-2`},Ye={key:0},Xe={key:1},Ze={key:0,class:n({content:!0,failed:!0})},Qe={key:0,class:`mb-4`},$e={key:1,class:n({operations:!0,"mt-2":!0})},et={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},nt={key:1,class:n({content:!0})},rt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},it={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},at={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ot={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},st={key:2,class:n({content:!0})},ct={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function lt(n,c,u,d,f,m){let g=l(`el-image`),_=l(`video-player`),v=l(`el-button`),y=l(`el-tooltip`),b=l(`api-code-button`),x=l(`font-awesome-icon`),S=l(`copy-to-clipboard`),C=l(`el-alert`);return h(),s(`div`,He,[e(`div`,Ue,[a(g,{src:n.WAN_LOGO,class:`avatar`},null,8,[`src`])]),e(`div`,We,[e(`div`,Ge,[r(i(n.$t(`wan.name.wanBot`))+` `,1),e(`span`,Ke,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,qe,[n.modelValue?.request?.prompt?(h(),s(`p`,Je,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,Ye,` - (`+i(n.$t(`wan.status.pending`))+`) `,1)),n.modelValue?.response?.state===`processing`||n.modelValue?.response?.state===`pending`||n.modelValue?.response?.state===`running`?(h(),s(`span`,Xe,` - (`+i(n.$t(`wan.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,Ze,[n.modelValue?.response?.video_url?(h(),s(`div`,Qe,[a(_,{src:n.modelValue?.response?.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response?.video_url?(h(),s(`div`,$e,[a(y,{class:`box-item`,effect:`dark`,content:n.$t(`wan.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(v,{type:`info`,size:`small`,class:`mb-2`,onClick:c[0]||=t(e=>n.onDownload(n.modelValue?.response?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`wan.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(b,{path:`/wan/videos`,body:n.modelValue?.request},null,8,[`body`])])):o(``,!0),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,et,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),r(` `+i(n.$t(`wan.name.model`))+`: `+i(n.modelValue?.request?.model)+` `,1),a(S,{content:n.modelValue?.id},null,8,[`content`])])):o(``,!0),e(`p`,tt,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,$,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),r(` `+i(n.$t(`wan.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===!1?(h(),s(`div`,nt,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),r(` `+i(n.$t(`wan.name.failure`)),1)]),default:p(()=>[e(`p`,rt,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,it,[a(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),r(` `+i(n.$t(`wan.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(S,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,at,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),r(` `+i(n.$t(`wan.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,ot,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),r(` `+i(n.$t(`wan.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(S,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),n.modelValue?.response?.success===void 0?(h(),s(`div`,st,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),r(` `+i(n.$t(`wan.name.failure`)),1)]),default:p(()=>[e(`p`,ct,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var ut=_({name:`RecentPanel`,components:{TaskPreview:E(Ve,[[`render`,lt],[`__scopeId`,`data-v-916b8970`]]),BotPlaceholder:J,NoTasks:Y,ScrollList:W},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),dt={key:0},ft={key:2,class:`w-full h-full flex items-center justify-center`};function pt(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,dt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,e=>(h(),f(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,ft,[a(v)])):o(``,!0)],64)}var mt=_({name:`WanIndex`,components:{ConfigPanel:Be,Layout:ae,RecentPanel:E(ut,[[`render`,pt]])},mixins:[I],inject:[`initialized`],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.wan?.status?.getApplications===A.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===A.Request||this.fetchingTasks},credential(){return this.$store.state.wan.credential},config(){return this.$store.state.wan.config},application(){return this.$store.state.wan.application},tasks(){return this.$store.state.wan.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(){await G({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(`wan/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`wan/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let 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);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`wan/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!L(this.uploadTracker,e=>this.$t(e),e=>O.warning(e)))return;let e={...this.config,async:!0};if(!j())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}O.info(this.$t(`wan.message.startingTask`)),k(`wan`,te.generate(e,{token:t})).then(()=>{O.success(this.$t(`wan.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?O.error(this.$t(`wan.message.usedUp`)):O.error(this.$t(`wan.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ht(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var gt=E(mt,[[`render`,ht]]);export{gt as default};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,S as c,T as l,at as u,ht as d,it as f,j as p,mt as m,qt as h,rt as g,tt as _,x as v,z as y}from"./vendor-chart-Dw-P17PN.js";import{r as b,t as x}from"./select-BA-cCcAZ.js";import{t as S}from"./upload-uSrKePzA.js";import{t as C}from"./tooltip-DaZcA4iA.js";import{t as w}from"./image-CZEhdfIr.js";import{t as T}from"./alert-ahs7mNpG.js";import{t as E}from"./drawer-Bbz1bWjK.js";import{Fn as D,In as O,Ln as k,Mn as A,Pn as j}from"./constants-Di8qAaA0.js";import{Bn as ee,G as M,Ii as N,Ti as P,Tr as te,di as F,hn as I,in as L,mi as R,nn as z,on as B,rn as V,tn as H}from"./index-CapYApEL.js";import{t as U}from"./index.es-BeDOj7l9.js";import{t as W}from"./CopyToClipboard-CoT4M6xJ.js";import{t as G}from"./ImagePreview-DBw0YCSw.js";import{n as K}from"./taskDrawerMixin-DyAUhFEq.js";import{t as q}from"./Consumption-C1ALJh9G.js";import{i as J,n as Y,t as X}from"./pagination-Df_omtLz.js";import{t as Z}from"./ApiCodeButton-mvKRd2vS.js";import{t as Q}from"./BotPlaceholder-DqU8f5Fh.js";import{t as ne}from"./NoTasks-C1NCAjA5.js";import{t as re}from"./PromptTextarea-BDqu8og3.js";import{t as ie}from"./ImageWrapper-C53P6A5K.js";var ae=y({name:`LayoutNanobanana`,components:{ElDrawer:E,ElButton:N,FontAwesomeIcon:U},mixins:[K]}),oe={class:`main flex flex-row flex-1`},se={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ce={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function le(t,n,r,i,o,c){let l=u(`font-awesome-icon`),p=u(`el-button`),h=u(`el-drawer`);return _(),s(`div`,oe,[e(`div`,se,[f(t.$slots,`config`,{},void 0,!0)]),e(`div`,ce,[f(t.$slots,`result`,{},void 0,!0)]),d(a(p,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:m(()=>[a(l,{icon:`fa-solid fa-magic`})]),_:1},512),[[v,!t.tasksEmpty]]),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:m(()=>[f(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ue=M(ae,[[`render`,le],[`__scopeId`,`data-v-d7e69eb2`]]),de=y({name:`PromptInput`,components:{PromptTextarea:re},computed:{prompt:{get(){return this.$store.state.nanobanana?.config?.prompt},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,prompt:e})}}},mounted(){this.prompt||=``}});function fe(e,t,n,r,i,a){let o=u(`prompt-textarea`);return _(),p(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`nanobanana.name.prompt`),info:e.$t(`nanobanana.description.prompt`),placeholder:e.$t(`nanobanana.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var pe=M(de,[[`render`,fe]]),me=y({name:`ImageUrlsInput`,components:{ElUpload:S,ElButton:N,InfoIcon:J,ImagePreview:G,FontAwesomeIcon:U},mixins:[L,z],data(){return{fileList:[],uploadUrl:R()+`/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){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),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(){P.warning(this.$t(`nanobanana.message.uploadImageExceed`))},onError(){P.error(this.$t(`nanobanana.message.uploadImageError`))},onSetImageUrls(){let 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()}}}),he={class:`field flex items-center justify-between`},ge={class:`title font-bold text-[14px] mb-[10px]`},_e={class:`upload-wrapper flex flex-col items-start gap-[8px]`},ve={class:`controls flex items-center`},ye={class:`file-list flex flex-wrap gap-[10px]`};function be(t,n,o,c,d,f){let h=u(`font-awesome-icon`),v=u(`el-button`),y=u(`el-upload`),b=u(`info-icon`),x=u(`image-preview`);return _(),s(l,null,[e(`div`,he,[e(`h2`,ge,i(t.$t(`nanobanana.name.imageUrls`)),1),e(`div`,_e,[e(`div`,ve,[a(y,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value`,limit:5,multiple:!0,"show-file-list":!1,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-change":t.onChange,"on-remove":t.onRemove,headers:t.headers},{default:m(()=>[a(v,{size:`small`,type:`primary`,round:``},{default:m(()=>[a(h,{icon:`fa-solid fa-upload`,class:`mr-1`}),r(` `+i(t.$t(`nanobanana.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`]),a(b,{content:t.$t(`nanobanana.description.imageUrls`),class:`ml-2`},null,8,[`content`])])])]),e(`div`,ye,[(_(!0),s(l,null,g(t.fileList,(e,n)=>(_(),p(x,{key:e.uid||e?.response?.file_url||e.url||n,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:r=>t.onRemovePreview(n,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])],64)}var xe=M(me,[[`render`,be]]),Se=y({name:`AspectRatioSelector`,components:{InfoIcon:J},data(){return{options:[{value:`1:1`,label:`1:1`,width:20,height:20},{value:`3:2`,label:`3:2`,width:27,height:18},{value:`2:3`,label:`2:3`,width:18,height:27},{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25},{value:`4:3`,label:`4:3`,width:24,height:18},{value:`3:4`,label:`3:4`,width:18,height:24}]}},computed:{value(){return this.$store.state.nanobanana?.config?.aspect_ratio}},methods:{onSelect(e){let t=this.value===e?void 0:e,n={...this.$store.state.nanobanana?.config||{}};t?n.aspect_ratio=t:delete n.aspect_ratio,this.$store.commit(`nanobanana/setConfig`,n)}}}),Ce={class:`ratio`},we={class:`header`},Te={class:`title font-bold`},Ee=[`aria-label`],De=[`aria-checked`,`aria-label`,`onClick`,`onKeydown`],Oe={class:`preview`},ke={class:`name`};function Ae(r,o,d,f,p,m){let v=u(`info-icon`);return _(),s(`div`,Ce,[e(`div`,we,[e(`h2`,Te,i(r.$t(`nanobanana.name.aspectRatio`)),1),a(v,{content:r.$t(`nanobanana.description.aspectRatio`),class:`ml-1`},null,8,[`content`])]),e(`div`,{class:`items`,role:`radiogroup`,"aria-label":r.$t(`nanobanana.name.aspectRatio`)},[(_(!0),s(l,null,g(r.options,a=>(_(),s(`div`,{key:a.value,class:n([`item`,{active:r.value===a.value}]),role:`radio`,"aria-checked":r.value===a.value,"aria-label":a.label,tabindex:`0`,onClick:e=>r.onSelect(a.value),onKeydown:[c(t(e=>r.onSelect(a.value),[`prevent`]),[`enter`]),c(t(e=>r.onSelect(a.value),[`prevent`]),[`space`])]},[e(`div`,Oe,[e(`div`,{class:`rect`,style:h({width:a.width+`px`,height:a.height+`px`})},null,4)]),e(`p`,ke,i(a.label),1)],42,De))),128))],8,Ee)])}var je=M(Se,[[`render`,Ae],[`__scopeId`,`data-v-7131eb97`]]),Me=y({name:`NanobananaModelSelector`,components:{ElSelect:b,ElOption:x,InfoIcon:J},data(){return{options:[{value:j,label:this.$t(`nanobanana.model.nanoBanana`)},{value:O,label:O},{value:k,label:this.$t(`nanobanana.model.nanoBananaPro`)},{value:D,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||=A}}),Ne={class:`field`},Pe={class:`label`},Fe={class:`box`},Ie={class:`title font-bold`};function Le(t,n,r,o,c,d){let f=u(`info-icon`),h=u(`el-option`),v=u(`el-select`);return _(),s(`div`,Ne,[e(`div`,Pe,[e(`div`,Fe,[e(`h2`,Ie,i(t.$t(`nanobanana.name.model`)),1),a(f,{content:t.modelDescription,class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`nanobanana.placeholder.select`)},{default:m(()=>[(_(!0),s(l,null,g(t.options,e=>(_(),p(h,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Re=M(Me,[[`render`,Le],[`__scopeId`,`data-v-11cb675b`]]),ze=y({name:`NanobananaResolutionSelector`,components:{ElSelect:b,ElOption:x,InfoIcon:J},data(){return{cachedResolution:`1K`,options:[{value:`1K`,label:`1K`},{value:`2K`,label:`2K`},{value:`4K`,label:`4K`}]}},computed:{value:{get(){return this.$store.state.nanobanana?.config?.resolution},set(e){this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:e})}},supportsResolution(){let e=this.$store.state.nanobanana?.config?.model;return e===`nano-banana-2`||e===`nano-banana-pro`}},watch:{value(e){this.supportsResolution&&e&&(this.cachedResolution=e)},supportsResolution(e){e?this.value||=this.cachedResolution||`1K`:(this.value&&(this.cachedResolution=this.value),this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:void 0}))}},mounted(){this.supportsResolution&&!this.value&&(this.value=`1K`),!this.supportsResolution&&this.value&&(this.cachedResolution=this.value,this.$store.commit(`nanobanana/setConfig`,{...this.$store.state.nanobanana?.config,resolution:void 0}))}}),Be={class:`field`},Ve={class:`label`},He={class:`box`},Ue={class:`title font-bold`};function We(t,n,r,o,c,d){let f=u(`info-icon`),h=u(`el-option`),v=u(`el-select`);return _(),s(`div`,Be,[e(`div`,Ve,[e(`div`,He,[e(`h2`,Ue,i(t.$t(`nanobanana.name.resolution`)),1),a(f,{content:t.$t(`nanobanana.description.resolutionProOnly`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`nanobanana.placeholder.select`),disabled:!t.supportsResolution},{default:m(()=>[(_(!0),s(l,null,g(t.options,e=>(_(),p(h,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])])}var Ge=y({name:`ConfigPanel`,components:{ElButton:N,FontAwesomeIcon:U,PromptInput:pe,Consumption:q,ImageUrlsInput:xe,AspectRatioSelector:je,ModelSelector:Re,ResolutionSelector:M(ze,[[`render`,We],[`__scopeId`,`data-v-7ab9d4d4`]])},emits:[`generate`],computed:{config(){return this.$store.state.nanobanana?.config},consumption(){let e={...this.config||{}},t=Array.isArray(e?.image_urls)&&e.image_urls.length>0;return B({...e,action:t?`edit`:`generate`},this.service?.cost)},service(){return this.$store.state.nanobanana?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Ke={class:`flex flex-col h-full`},qe={class:`flex-1 overflow-y-auto p-5`},Je={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ye(t,n,o,c,l,d){let f=u(`model-selector`),p=u(`resolution-selector`),h=u(`prompt-input`),g=u(`aspect-ratio-selector`),v=u(`image-urls-input`),y=u(`consumption`),b=u(`font-awesome-icon`),x=u(`el-button`);return _(),s(`div`,Ke,[e(`div`,qe,[a(f,{class:`mb-4`}),a(p,{class:`mb-4`}),a(h,{class:`mb-4`}),a(g,{class:`mb-4`}),a(v,{class:`mb-4`})]),e(`div`,Je,[a(y,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(x,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:m(()=>[a(b,{icon:`fa-solid fa-magic`,class:`mr-2`}),r(` `+i(t.$t(`nanobanana.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Xe=M(Ge,[[`render`,Ye]]),Ze=y({name:`TaskPreview`,components:{ElImage:w,CopyToClipboard:W,FontAwesomeIcon:U,ElAlert:T,ImageWrapper:ie,ElButton:N,ElTooltip:C,ImagePreview:G,ApiCodeButton:Z},props:{modelValue:{type:Object,required:!0}},computed:{images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e},hasImages(){return this.images.some(e=>!!e?.image_url)},showResult(){let e=this.modelValue?.response;return e?e.success===!0?!0:this.hasImages&&e.success!==!1:!1}},methods:{onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.nanobanana?.config||{}};delete t.action,t.image_urls=[e],this.$store.commit(`nanobanana/setConfig`,t)}}}),Qe={class:`preview`},$e={class:`left`},et={class:`main`},tt={class:`bot`},nt={class:`datetime`},rt={class:`info`},it={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},at={key:1,class:`prompt mt-2`},ot={key:0},st={key:0,class:n({content:!0,failed:!0})},ct={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},lt={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},ut={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dt={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`},pt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ht={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},gt={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},_t={key:1,class:n({content:!0})},vt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},yt={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},bt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},St={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},wt={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Tt={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Et={key:2,class:n({content:!0})},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Dt={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`},kt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},At={class:`text-[var(--el-text-color-regular)] text-xs mb-2`};function jt(n,c,d,f,h,v){let y=u(`el-image`),b=u(`image-preview`),x=u(`image-wrapper`),S=u(`el-button`),C=u(`el-tooltip`),w=u(`api-code-button`),T=u(`font-awesome-icon`),E=u(`copy-to-clipboard`),D=u(`el-alert`);return _(),s(`div`,Qe,[e(`div`,$e,[a(y,{src:`https://cdn.acedata.cloud/859plc.jpg`,class:`avatar`})]),e(`div`,et,[e(`div`,tt,[r(i(n.$t(`nanobanana.name.nanobananaBot`))+` `,1),e(`span`,nt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,rt,[n.modelValue?.request?.image_urls&&n.modelValue?.request?.image_urls.length>0?(_(),s(`div`,it,[(_(!0),s(l,null,g(n.modelValue?.request?.image_urls,(e,t)=>(_(),p(b,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),n.modelValue?.request?.prompt?(_(),s(`p`,at,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(_(),s(`span`,ot,` - (`+i(n.$t(`nanobanana.status.pending`))+`) `,1))])):o(``,!0)]),n.showResult?(_(),s(`div`,st,[e(`div`,ct,[(_(!0),s(l,null,g(n.images,(e,t)=>(_(),p(x,{key:t,src:e?.image_url,"raw-src":e?.image_url},null,8,[`src`,`raw-src`]))),128))]),e(`div`,lt,[a(C,{class:`box-item`,effect:`dark`,content:n.$t(`common.button.edit`),placement:`top-start`},{default:m(()=>[a(S,{type:`info`,size:`small`,class:`btn-action`,onClick:c[0]||=t(e=>n.onEdit(n.images?.[0]?.image_url),[`stop`])},{default:m(()=>[r(i(n.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),a(w,{path:`/nano-banana/images`,body:n.modelValue?.request},null,8,[`body`])]),a(D,{closable:!1,class:`mt-2 success`},{default:m(()=>[n.modelValue?.request?.model?(_(),s(`p`,ut,[a(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),r(` `+i(n.$t(`nanobanana.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.resolution?(_(),s(`p`,dt,[a(T,{icon:`fa-solid fa-image`,class:`mr-1`}),r(` `+i(n.$t(`nanobanana.name.resolution`))+`: `+i(n.modelValue?.request?.resolution),1)])):o(``,!0),n.modelValue?.request?.aspect_ratio?(_(),s(`p`,ft,[a(T,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1`}),r(` `+i(n.$t(`nanobanana.name.aspectRatio`))+`: `+i(n.modelValue?.request?.aspect_ratio),1)])):o(``,!0),n.modelValue?.request?.action?(_(),s(`p`,pt,[a(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),r(` `+i(n.$t(`nanobanana.name.task`))+`: `+i(n.modelValue?.request?.action===`generate`?n.$t(`nanobanana.name.generate`):n.$t(`nanobanana.name.edits`)),1)])):o(``,!0),e(`p`,mt,[a(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`nanobanana.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(_(),s(`p`,ht,[a(T,{icon:`fa-solid fa-clock`,class:`mr-1`}),r(` `+i(n.$t(`nanobanana.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(_(),s(`p`,gt,[a(T,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),r(` `+i(n.$t(`nanobanana.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(E,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.modelValue?.response?.success===!1?(_(),s(`div`,_t,[a(D,{closable:!1,class:`failure`},{template:m(()=>[a(T,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),r(` `+i(n.$t(`nanobanana.name.failure`)),1)]),default:m(()=>[n.modelValue?.request?.model?(_(),s(`p`,vt,[a(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),r(` `+i(n.$t(`nanobanana.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.resolution?(_(),s(`p`,yt,[a(T,{icon:`fa-solid fa-image`,class:`mr-1`}),r(` `+i(n.$t(`nanobanana.name.resolution`))+`: `+i(n.modelValue?.request?.resolution),1)])):o(``,!0),n.modelValue?.request?.aspect_ratio?(_(),s(`p`,bt,[a(T,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1`}),r(` `+i(n.$t(`nanobanana.name.aspectRatio`))+`: `+i(n.modelValue?.request?.aspect_ratio),1)])):o(``,!0),n.modelValue?.request?.action?(_(),s(`p`,xt,[a(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),r(` `+i(n.$t(`nanobanana.name.task`))+`: `+i(n.modelValue?.request?.action===`generate`?n.$t(`nanobanana.name.generate`):n.$t(`nanobanana.name.edits`)),1)])):o(``,!0),e(`p`,St,[a(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`nanobanana.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,Ct,[a(T,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),r(` `+i(n.$t(`nanobanana.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(E,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(_(),s(`p`,wt,[a(T,{icon:`fa-solid fa-clock`,class:`mr-1`}),r(` `+i(n.$t(`nanobanana.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(_(),s(`p`,Tt,[a(T,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),r(` `+i(n.$t(`nanobanana.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(E,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.modelValue?.response?(_(),s(`div`,Et,[a(D,{closable:!1,class:`info`},{template:m(()=>[a(T,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),r(` `+i(n.$t(`nanobanana.name.failure`)),1)]),default:m(()=>[n.modelValue?.request?.model?(_(),s(`p`,$,[a(T,{icon:`fa-solid fa-cube`,class:`mr-1`}),r(` `+i(n.$t(`nanobanana.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.resolution?(_(),s(`p`,Dt,[a(T,{icon:`fa-solid fa-image`,class:`mr-1`}),r(` `+i(n.$t(`nanobanana.name.resolution`))+`: `+i(n.modelValue?.request?.resolution),1)])):o(``,!0),n.modelValue?.request?.aspect_ratio?(_(),s(`p`,Ot,[a(T,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1`}),r(` `+i(n.$t(`nanobanana.name.aspectRatio`))+`: `+i(n.modelValue?.request?.aspect_ratio),1)])):o(``,!0),n.modelValue?.request?.action?(_(),s(`p`,kt,[a(T,{icon:`fa-solid fa-bolt`,class:`mr-1`}),r(` `+i(n.$t(`nanobanana.name.task`))+`: `+i(n.modelValue?.request?.action===`generate`?n.$t(`nanobanana.name.generate`):n.$t(`nanobanana.name.edits`)),1)])):o(``,!0),e(`p`,At,[a(T,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`nanobanana.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var Mt=y({name:`RecentPanel`,components:{TaskPreview:M(Ze,[[`render`,jt],[`__scopeId`,`data-v-03632767`]]),BotPlaceholder:Q,NoTasks:ne,ScrollList:Y},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?.()}}}),Nt={key:0},Pt={key:2,class:`w-full h-full flex items-center justify-center`};function Ft(e,t,n,r,i,c){let d=u(`bot-placeholder`),f=u(`task-preview`),h=u(`scroll-list`),v=u(`no-tasks`);return _(),s(l,null,[e.tasks?.items===void 0?(_(),s(`div`,Nt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(_(),p(h,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:m(()=>[(_(!0),s(l,null,g(e.tasks?.items,e=>(_(),p(f,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(_(),s(`div`,Pt,[a(v)])):o(``,!0)],64)}var It=y({name:`NanobananaIndex`,components:{ConfigPanel:Xe,Layout:ue,RecentPanel:M(Mt,[[`render`,Ft]])},mixins:[V],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(){await X({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},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();let 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);let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),await this.$store.dispatch(`nanobanana/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})},async onGenerate(){if(!H(this.uploadTracker,e=>this.$t(e),e=>P.warning(e)))return;let 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;let n=e?.model===`nano-banana-2`||e?.model===`nano-banana-pro`;!n&&`resolution`in e&&delete e.resolution,n&&!e?.resolution&&(e.resolution=`1K`);let r={...e,action:t?`edit`:`generate`,async:!0};if(!I())return;let i=this.credential?.token;if(!i){console.error(`no token specified`);return}P.info(this.$t(`nanobanana.message.startingTask`)),te(`nanobanana`,ee.generate(r,{token:i})).then(()=>{P.success(this.$t(`nanobanana.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?P.error(this.$t(`nanobanana.message.usedUp`)):P.error(this.$t(`nanobanana.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Lt(e,t,n,r,i,o){let s=u(`config-panel`),c=u(`recent-panel`),l=u(`layout`);return _(),p(l,null,{config:m(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:m(()=>[a(c,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Rt=M(It,[[`render`,Lt]]);export{Rt as default};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,Gt as t,I as n,Jt as r,L as i,M as a,N as o,T as s,at as c,ht as l,it as u,j as d,mt as f,qt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{r as v,t as y}from"./select-BA-cCcAZ.js";import{t as b}from"./upload-uSrKePzA.js";import{t as x}from"./tooltip-DaZcA4iA.js";import{t as S}from"./image-CZEhdfIr.js";import{t as C}from"./alert-ahs7mNpG.js";import{t as w}from"./drawer-Bbz1bWjK.js";import{t as T}from"./input-number-CNM48oTw.js";import{t as E}from"./slider-mSxNRAb6.js";import{er as ee,nr as te,rr as D,tr as O}from"./constants-Di8qAaA0.js";import{G as k,Ii as A,Ti as j,Tr as M,Zn as N,di as P,hn as F,in as I,mi as L,nn as R,on as z,rn as B,tn as V}from"./index-CapYApEL.js";import{t as H}from"./index.es-BeDOj7l9.js";import{t as U}from"./CopyToClipboard-CoT4M6xJ.js";import{t as W}from"./ImagePreview-DBw0YCSw.js";import{n as G}from"./taskDrawerMixin-DyAUhFEq.js";import{t as K}from"./Consumption-C1ALJh9G.js";import{i as q,n as J,t as Y}from"./pagination-Df_omtLz.js";import{t as X}from"./VideoPlayer-NexTZScZ.js";import{t as Z}from"./ApiCodeButton-mvKRd2vS.js";import{t as Q}from"./BotPlaceholder-DqU8f5Fh.js";import{t as ne}from"./NoTasks-C1NCAjA5.js";import{t as re}from"./PromptTextarea-BDqu8og3.js";var ie=_({name:`LayoutPixverse`,components:{ElDrawer:w,ElButton:A,FontAwesomeIcon:H},mixins:[G]}),ae={class:`main flex flex-row flex-1`},oe={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},se={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ce(t,n,r,a,s,d){let p=c(`font-awesome-icon`),m=c(`el-button`),_=c(`el-drawer`);return h(),o(`div`,ae,[e(`div`,oe,[u(t.$slots,`config`,{},void 0,!0)]),e(`div`,se,[u(t.$slots,`result`,{},void 0,!0)]),l(i(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:f(()=>[i(p,{icon:`fa-solid fa-magic`})]),_:1},512),[[g,!t.tasksEmpty]]),i(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:f(()=>[u(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var le=k(ie,[[`render`,ce],[`__scopeId`,`data-v-e688a015`]]),ue=_({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`v3.5`,label:`v3.5`},{value:`v4`,label:`v4`},{value:`v4.5`,label:`v4.5`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.model},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,model:e})}}},mounted(){this.value||=O}}),de={class:`field`},fe={class:`title font-bold`};function pe(t,n,a,l,u,p){let g=c(`el-option`),_=c(`el-select`);return h(),o(`div`,de,[e(`h2`,fe,r(t.$t(`pixverse.name.model`)),1),i(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:f(()=>[(h(!0),o(s,null,m(t.options,e=>(h(),d(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var me=k(ue,[[`render`,pe],[`__scopeId`,`data-v-e8f337ca`]]),he=_({name:`QualitySelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`360p`,label:`360p`},{value:`540p`,label:`540p`},{value:`720p`,label:`720p`},{value:`1080p`,label:`1080p`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.quality},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,quality:e})}}},mounted(){this.value||=D}}),ge={class:`field`},_e={class:`title font-bold`};function ve(t,n,a,l,u,p){let g=c(`el-option`),_=c(`el-select`);return h(),o(`div`,ge,[e(`h2`,_e,r(t.$t(`pixverse.name.quality`)),1),i(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:f(()=>[(h(!0),o(s,null,m(t.options,e=>(h(),d(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ye=k(he,[[`render`,ve],[`__scopeId`,`data-v-64aeaae9`]]),be=_({name:`MotionSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`normal`,label:this.$t(`pixverse.name.motion1`)},{value:`fast`,label:this.$t(`pixverse.name.motion2`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.motion},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,motion:e})}}},mounted(){this.value||=te}}),xe={class:`field`},Se={class:`title font-bold`};function Ce(t,n,a,l,u,p){let g=c(`el-option`),_=c(`el-select`);return h(),o(`div`,xe,[e(`h2`,Se,r(t.$t(`pixverse.name.motion`)),1),i(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:f(()=>[(h(!0),o(s,null,m(t.options,e=>(h(),d(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var we=k(be,[[`render`,Ce],[`__scopeId`,`data-v-94237408`]]),Te=_({name:`StyleSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`cyberpunk`,label:this.$t(`pixverse.name.style1`)},{value:`anime`,label:this.$t(`pixverse.name.style2`)},{value:`comic`,label:this.$t(`pixverse.name.style3`)},{value:`clay`,label:this.$t(`pixverse.name.style4`)},{value:`3d_animation`,label:this.$t(`pixverse.name.style5`)},{value:`realistic`,label:this.$t(`pixverse.name.style6`)}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.style},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,style:e})}}},mounted(){this.value||=``}}),Ee={class:`field`},De={class:`title font-bold`};function Oe(t,n,a,l,u,p){let g=c(`el-option`),_=c(`el-select`);return h(),o(`div`,Ee,[e(`h2`,De,r(t.$t(`pixverse.name.style`)),1),i(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:f(()=>[(h(!0),o(s,null,m(t.options,e=>(h(),d(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ke=k(Te,[[`render`,Oe],[`__scopeId`,`data-v-64e17b3c`]]),Ae=_({name:`SeedSelector`,components:{ElSlider:E,InfoIcon:q,ElInputNumber:T},computed:{value:{get(){return this.$store.state?.pixverse?.config?.seed},set(e){console.debug(`set seed`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,seed:e})}}},mounted(){this.value||=void 0}}),je={class:`flex justify-between`},Me={class:`flex justify-start items-center`},Ne={class:`text-sm font-bold`},Pe={class:`flex justify-end items-center`},Fe={class:`w-full`};function Ie(t,n,a,s,l,u){let d=c(`info-icon`),f=c(`el-input-number`),p=c(`el-slider`);return h(),o(`div`,null,[e(`div`,je,[e(`div`,Me,[e(`span`,Ne,r(t.$t(`pixverse.name.seed`)),1),i(d,{content:t.$t(`pixverse.description.seed`)},null,8,[`content`])]),e(`div`,Pe,[i(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),e(`div`,Fe,[i(p,{modelValue:t.value,"onUpdate:modelValue":n[1]||=e=>t.value=e,min:0,max:1e3,step:1},null,8,[`modelValue`])])])}var Le=k(Ae,[[`render`,Ie]]),Re=_({name:`DurationSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:5,label:`5s`},{value:8,label:`8s`}]}},computed:{value:{get(){return this.$store.state.pixverse?.config?.duration},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,duration:e})}}},mounted(){this.value||=5}}),ze={class:`field`},Be={class:`title font-bold`};function Ve(t,n,a,l,u,p){let g=c(`el-option`),_=c(`el-select`);return h(),o(`div`,ze,[e(`h2`,Be,r(t.$t(`pixverse.name.duration`)),1),i(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pixverse.placeholder.select`)},{default:f(()=>[(h(!0),o(s,null,m(t.options,e=>(h(),d(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var He=k(Re,[[`render`,Ve],[`__scopeId`,`data-v-065c77ef`]]),Ue=_({name:`RatioSelector`,data(){return{options:[{value:`1:1`,label:`1:1`,width:20,height:20},{value:`4:3`,label:`4:3`,width:20,height:15},{value:`3:4`,label:`3:4`,width:15,height:20},{value:`16:9`,label:`16:9`,width:25,height:13},{value:`9:16`,label:`9:16`,width:13,height:25}]}},computed:{active(){return this.options.findIndex(e=>e.value===this.value)||0},value:{get(){return this.$store.state.pixverse.config?.aspect_ratio},set(e){console.debug(`set aspect_ratio`,e),this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse.config,aspect_ratio:e})}}},mounted(){this.value||=ee}}),We={class:`text-sm font-bold mb-2 block`},Ge={class:`items`},Ke=[`onClick`],qe={class:`name`};function Je(n,i,a,c,l,u){return h(),o(`div`,null,[e(`span`,We,r(n.$t(`pixverse.name.aspectRatio`)),1),e(`div`,Ge,[(h(!0),o(s,null,m(n.options,(i,a)=>(h(),o(`div`,{key:a,class:t({active:n.active===a,item:!0}),onClick:e=>n.value=i.value},[e(`div`,{class:t([`preview`,i.label])},[e(`div`,{class:`rect`,style:p({width:i.width+`px`,height:i.height+`px`})},null,4)],2),e(`p`,qe,r(i.label),1)],10,Ke))),128))])])}var Ye=k(Ue,[[`render`,Je],[`__scopeId`,`data-v-53038264`]]),Xe=_({name:`StartImage`,components:{ElUpload:b,ElButton:A,InfoIcon:q,FontAwesomeIcon:H,ImagePreview:W},mixins:[I,R],emits:[`change`],data(){return{fileList:[],uploadUrl:L()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.pixverse?.config?.image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){j.warning(this.$t(`pixverse.message.uploadReferencesExceed`))},onError(){j.error(this.$t(`pixverse.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`pixverse/setConfig`,{...this.$store.state?.pixverse?.config,image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Ze={class:`relative`},Qe={class:`flex justify-between`},$e={class:`flex justify-start items-center`},et={class:`text-sm font-bold`};function tt(t,s,l,u,p,m){let g=c(`info-icon`),_=c(`image-preview`),v=c(`font-awesome-icon`),y=c(`el-button`),b=c(`el-upload`);return h(),o(`div`,Ze,[e(`div`,Qe,[e(`div`,$e,[e(`span`,et,r(t.$t(`pixverse.name.startImage`)),1),i(g,{content:t.$t(`pixverse.description.uploadStartImage`)},null,8,[`content`])])]),i(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":s[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:f(({file:e})=>[e.url&&e.percentage!==void 0?(h(),d(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):a(``,!0)]),default:f(()=>[i(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:f(()=>[i(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),n(` `+r(t.$t(`pixverse.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var nt=k(Xe,[[`render`,tt],[`__scopeId`,`data-v-0d570ad7`]]),rt=_({name:`PromptInput`,components:{PromptTextarea:re},computed:{prompt:{get(){return this.$store.state.pixverse?.config?.prompt},set(e){this.$store.commit(`pixverse/setConfig`,{...this.$store.state.pixverse?.config,prompt:e})}}},mounted(){this.prompt||=``}});function it(e,t,n,r,i,a){let o=c(`prompt-textarea`);return h(),d(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`pixverse.name.prompt`),info:e.$t(`pixverse.description.prompt`),placeholder:e.$t(`pixverse.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var at=_({name:`ConfigPanel`,components:{ElButton:A,FontAwesomeIcon:H,PromptInput:k(rt,[[`render`,it]]),ModelSelector:me,QualitySelector:ye,MotionSelector:we,StyleSelector:ke,DurationSelector:He,StartImage:nt,SeedSelector:Le,RatioSelector:Ye,Consumption:K},emits:[`generate`],computed:{config(){return this.$store.state.pixverse?.config},consumption(){return z(this.config,this.service?.cost)},service(){return this.$store.state.pixverse?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),ot={class:`flex flex-col h-full`},st={class:`flex-1 overflow-y-auto p-5`},ct={class:`flex flex-col items-center justify-center px-5 pb-5`};function lt(t,a,s,l,u,d){let p=c(`prompt-input`),m=c(`model-selector`),g=c(`style-selector`),_=c(`ratio-selector`),v=c(`motion-selector`),y=c(`quality-selector`),b=c(`start-image`),x=c(`seed-selector`),S=c(`duration-selector`),C=c(`consumption`),w=c(`font-awesome-icon`),T=c(`el-button`);return h(),o(`div`,ot,[e(`div`,st,[i(p,{class:`mb-4`}),i(m,{class:`mb-4`}),i(g,{class:`mb-4`}),i(_,{class:`mb-4`}),i(v,{class:`mb-4`}),i(y,{class:`mb-4`}),i(b,{class:`mb-2`}),i(x,{class:`mb-4`}),i(S,{class:`mb-4`})]),e(`div`,ct,[i(C,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),i(T,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:f(()=>[i(w,{icon:`fa-solid fa-magic`,class:`mr-2`}),n(` `+r(t.$t(`pixverse.button.generate`)),1)]),_:1},8,[`onClick`])])])}var ut=k(at,[[`render`,lt]]),dt=_({name:`TaskPreview`,components:{ElImage:S,CopyToClipboard:U,FontAwesomeIcon:H,ElAlert:C,VideoPlayer:X,ElTooltip:x,ElButton:A,ApiCodeButton:Z},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pixverse?.application},config(){return this.$store.state.pixverse?.config}},methods:{onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),ft={class:`preview`},pt={class:`left`},mt={class:`main`},ht={class:`bot`},gt={class:`datetime`},_t={class:`info`},vt={key:0,class:`prompt mt-2`},yt={key:0},bt={key:1},xt={key:0,class:t({content:!0,failed:!0})},St={key:0,class:`mb-4`},Ct={key:1,class:t({operations:!0,"mt-2":!0})},wt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},$={key:1,class:t({content:!0})},Dt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ot={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},kt={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-0`};function jt(t,s,l,u,p,m){let g=c(`el-image`),_=c(`video-player`),v=c(`el-button`),y=c(`el-tooltip`),b=c(`api-code-button`),x=c(`font-awesome-icon`),S=c(`copy-to-clipboard`),C=c(`el-alert`);return h(),o(`div`,ft,[e(`div`,pt,[i(g,{src:`https://cdn.acedata.cloud/viy61r.jpg`,class:`avatar`})]),e(`div`,mt,[e(`div`,ht,[n(r(t.$t(`pixverse.name.pixverseBot`))+` `,1),e(`span`,gt,r(t.$dayjs.format(``+new Date(parseFloat((t.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,_t,[t.modelValue?.request?.prompt?(h(),o(`p`,vt,[n(r(t.modelValue?.request?.prompt)+` `,1),t.modelValue?.response?a(``,!0):(h(),o(`span`,yt,` - (`+r(t.$t(`pixverse.status.pending`))+`) `,1)),t.modelValue?.response?.data&&(t.modelValue?.response?.data[0]?.state===`processing`||t.modelValue?.response?.data[0]?.state===`pending`)?(h(),o(`span`,bt,` - (`+r(t.$t(`pixverse.status.processing`))+`) `,1)):a(``,!0)])):a(``,!0)]),t.modelValue?.response?.success===!0&&t.modelValue?.response?.data?(h(),o(`div`,xt,[t.modelValue?.response?.data[0]?.video_url?(h(),o(`div`,St,[i(_,{src:t.modelValue?.response?.data[0]?.video_url},null,8,[`src`])])):a(``,!0),t.modelValue?.response.success?(h(),o(`div`,Ct,[i(y,{class:`box-item`,effect:`dark`,content:t.$t(`pixverse.message.downloadVideo`),placement:`top-start`},{default:f(()=>[t.modelValue?.response?.data[0]?.video_url?(h(),d(v,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:s[0]||=e=>t.onDownload(e,t.modelValue?.response?.data[0]?.video_url)},{default:f(()=>[n(r(t.$t(`pixverse.button.download`)),1)]),_:1})):a(``,!0)]),_:1},8,[`content`]),i(b,{path:`/pixverse/videos`,body:t.modelValue?.request},null,8,[`body`])])):a(``,!0),i(C,{closable:!1,class:`mt-2 success`},{default:f(()=>[e(`p`,wt,[i(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),n(` `+r(t.$t(`pixverse.name.model`))+`: `+r(t.modelValue?.request?.model),1)]),e(`p`,Tt,[i(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),n(` `+r(t.$t(`pixverse.name.taskId`))+`: `+r(t.modelValue?.id)+` `,1),i(S,{content:t.modelValue?.id},null,8,[`content`])]),t.modelValue?.elapsed?(h(),o(`p`,Et,[i(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),n(` `+r(t.$t(`pixverse.name.elapsed`))+`: `+r(t.modelValue?.elapsed?.toFixed(2))+`s `,1)])):a(``,!0)]),_:1})])):a(``,!0),t.modelValue?.response?.success===!1?(h(),o(`div`,$,[i(C,{closable:!1,class:`info`},{template:f(()=>[i(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),n(` `+r(t.$t(`pixverse.name.failure`)),1)]),default:f(()=>[e(`p`,Dt,[i(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),n(` `+r(t.$t(`pixverse.name.failureReason`))+`: `+r(t.modelValue?.response?.error?.message)+` `,1),i(S,{content:t.modelValue?.response?.error?.message},null,8,[`content`])]),e(`p`,Ot,[i(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),n(` `+r(t.$t(`pixverse.name.taskId`))+`: `+r(t.modelValue?.id)+` `,1),i(S,{content:t.modelValue?.id},null,8,[`content`])]),t.modelValue?.elapsed?(h(),o(`p`,kt,[i(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),n(` `+r(t.$t(`pixverse.name.elapsed`))+`: `+r(t.modelValue?.elapsed?.toFixed(2))+`s `,1)])):a(``,!0),t.modelValue?.response?.trace_id?(h(),o(`p`,At,[i(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),n(` `+r(t.$t(`pixverse.name.traceId`))+`: `+r(t.modelValue?.response?.trace_id)+` `,1),i(S,{content:t.modelValue?.response?.trace_id},null,8,[`content`])])):a(``,!0)]),_:1})])):a(``,!0)])])}var Mt=_({name:`RecentPanel`,components:{TaskPreview:k(dt,[[`render`,jt],[`__scopeId`,`data-v-dd3037dc`]]),NoTasks:ne,BotPlaceholder:Q,ScrollList:J},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pixverse?.tasks,items:this.$store.state.pixverse?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Nt={key:0},Pt={key:2,class:`w-full h-full flex items-center justify-center`};function Ft(e,t,n,r,l,u){let p=c(`bot-placeholder`),g=c(`task-preview`),_=c(`scroll-list`),v=c(`no-tasks`);return h(),o(s,null,[e.tasks?.items===void 0?(h(),o(`div`,Nt,[i(p)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),d(_,{key:1,ref:`scrollList`,class:`h-full w-full overflow-y-auto tasks`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:f(()=>[(h(!0),o(s,null,m(e.tasks?.items,(e,t)=>(h(),d(g,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):a(``,!0),e.tasks?.items?.length===0?(h(),o(`div`,Pt,[i(v)])):a(``,!0)],64)}var It=_({name:`PixverseIndex`,components:{ConfigPanel:ut,Layout:le,RecentPanel:k(Mt,[[`render`,Ft]])},mixins:[B],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pixverse?.status?.getApplications===P.Request},tasksLoading(){return this.$store.state.pixverse?.status?.getTasks===P.Request||this.fetchingTasks},credential(){return this.$store.state.pixverse.credential},config(){return this.$store.state.pixverse.config},tasks(){return this.$store.state.pixverse.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(){await Y({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(`pixverse/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`pixverse/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let 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);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`pixverse/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!V(this.uploadTracker,e=>this.$t(e),e=>j.warning(e)))return;let e={...this.config,async:!0};if(!F())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}j.info(this.$t(`pixverse.message.startingTask`)),M(`pixverse`,N.generate(e,{token:t})).then(()=>{j.success(this.$t(`pixverse.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?j.error(this.$t(`pixverse.message.usedUp`)):j.error(this.$t(`pixverse.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Lt(e,t,n,r,a,o){let s=c(`config-panel`),l=c(`recent-panel`),u=c(`layout`);return h(),d(u,null,{config:f(()=>[i(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:f(()=>[i(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Rt=k(It,[[`render`,Lt]]);export{Rt as default};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,Gt as t,I as n,Jt as r,L as i,M as a,N as o,T as s,at as c,j as l,mt as u,tt as d,z as f}from"./vendor-chart-Dw-P17PN.js";import{at as p,it as m,nt as ee,rt as h}from"./constants-Di8qAaA0.js";import{G as te,Ii as g,R as _,T as v,Zt as y,a as b,c as x,k as S,n as C,w}from"./index-CapYApEL.js";import{t as T}from"./index.es-BeDOj7l9.js";var E=f({name:`DownloadIndex`,components:{ElButton:g,QrCode:y,FontAwesomeIcon:T},data(){return{faAndroid:w,faApple:v,faGooglePlay:S,faWindows:_,faDownload:x,faCircleInfo:b,faArrowLeft:C}},computed:{brandTitle(){return this.$store.state.site?.title||`AceData`},brandLogo(){return this.$store.state.site?.logo||`/assets/logo-CDy94G52.png`},androidDownloadUrl(){return h},hasAndroidDownload(){return!!h},playStoreUrl(){return m},hasPlayStore(){return!!m},appStoreUrl(){return p},hasAppStore(){return!!p},iosDownloadUrl(){return``},iosFallbackUrl(){return``},hasIosDownload(){return!1},hasIos(){return this.hasAppStore||this.hasIosDownload},desktopReleasesUrl(){return ee}},methods:{goBack(){window.history.length>1?this.$router.back():this.$router.push(`/`)},openSupport(){window.open(`https://platform.acedata.cloud/support`,`_blank`)}}}),D={class:`download-page`},O={class:`download-page__inner`},k={class:`hero`},A={class:`hero__brand`},j=[`src`,`alt`],M={class:`hero__eyebrow`},N={class:`hero__title`},P={class:`hero__subtitle`},F={class:`hero__badges`},I={class:`badge badge--live`},L={class:`badge`},R={class:`hero__actions`},z={class:`platforms`},B={class:`platform platform--android`},V={class:`platform__head`},H={class:`platform__os`},U={class:`chip chip--live`},W={class:`platform__title`},G={class:`platform__text`},K={key:0,class:`qr`},q={class:`qr__hint`},J={class:`platform__foot platform__foot--stack`},Y={key:0,class:`platform__fallback`},X={class:`platform__meta`},Z={class:`platform__meta`},Q={class:`platform platform--ios`},ne={class:`platform__head`},re={class:`platform__os`},ie={class:`platform__title`},ae={class:`platform__text`},oe={key:0,class:`qr`},se={class:`qr__hint`},ce={key:1,class:`platform__foot platform__foot--stack`},le={class:`btn-row`},ue={class:`platform__meta`},de={class:`ios-soon`},fe={class:`ios-soon__text`},pe={class:`platform__foot platform__foot--stack`},me={class:`platform platform--windows`},he={class:`platform__head`},ge={class:`platform__os`},_e={class:`platform__title`},ve={class:`platform__text`},ye={class:`platform__foot platform__foot--stack`},be={class:`platform platform--mac`},xe={class:`platform__head`},Se={class:`platform__os`},Ce={class:`platform__title`},we={class:`platform__text`},Te={class:`platform__foot platform__foot--stack`},Ee={class:`advantages`},De={class:`advantage`},$={class:`advantage__title`},Oe={class:`advantage__text`},ke={class:`advantage`},Ae={class:`advantage__title`},je={class:`advantage__text`},Me={class:`advantage`},Ne={class:`advantage__title`},Pe={class:`advantage__text`},Fe={key:0,class:`note`},Ie={class:`note__text`},Le={class:`note`},Re={class:`note__text`};function ze(f,p,m,ee,h,te){let g=c(`font-awesome-icon`),_=c(`el-button`),v=c(`qr-code`);return d(),o(`div`,D,[p[15]||=e(`div`,{class:`download-page__glow`,"aria-hidden":`true`},null,-1),e(`div`,O,[e(`button`,{type:`button`,class:`download-back`,onClick:p[0]||=(...e)=>f.goBack&&f.goBack(...e)},[i(g,{icon:f.faArrowLeft,class:`download-back__icon`},null,8,[`icon`]),e(`span`,null,r(f.$t(`common.button.goBack`)),1)]),e(`header`,k,[e(`span`,A,[e(`img`,{src:f.brandLogo,alt:f.brandTitle,class:`hero__logo`},null,8,j)]),e(`p`,M,r(f.brandTitle)+` · `+r(f.$t(`common.nav.mobileApp`)),1),e(`h1`,N,r(f.$t(`common.title.mobileApp`)),1),e(`p`,P,r(f.$t(`common.message.mobileAppDescription`)),1),e(`div`,F,[e(`span`,I,[p[1]||=e(`span`,{class:`badge__dot`},null,-1),n(r(f.$t(`common.message.mobileAvailableNow`)),1)]),e(`span`,L,r(f.$t(`common.message.mobileSharedAccount`)),1)]),e(`div`,R,[f.hasPlayStore?(d(),l(_,{key:0,type:`primary`,round:``,size:`large`,tag:`a`,href:f.playStoreUrl,target:`_blank`},{default:u(()=>[i(g,{icon:f.faGooglePlay,class:`btn-icon`},null,8,[`icon`]),n(` `+r(f.$t(`common.button.getOnGooglePlay`)),1)]),_:1},8,[`href`])):f.hasAndroidDownload?(d(),l(_,{key:1,type:`primary`,round:``,size:`large`,tag:`a`,href:f.androidDownloadUrl,target:`_blank`},{default:u(()=>[i(g,{icon:f.faAndroid,class:`btn-icon`},null,8,[`icon`]),n(` `+r(f.$t(`common.button.downloadAndroid`)),1)]),_:1},8,[`href`])):a(``,!0),f.hasAppStore?(d(),l(_,{key:2,round:``,size:`large`,tag:`a`,href:f.appStoreUrl,target:`_blank`},{default:u(()=>[i(g,{icon:f.faApple,class:`btn-icon`},null,8,[`icon`]),n(` `+r(f.$t(`common.button.getOnAppStore`)),1)]),_:1},8,[`href`])):a(``,!0),i(_,{round:``,size:`large`,class:`btn-ghost`,onClick:f.openSupport},{default:u(()=>[n(r(f.$t(`common.nav.support`)),1)]),_:1},8,[`onClick`])])]),e(`section`,z,[e(`article`,B,[e(`div`,V,[e(`span`,H,[i(g,{icon:f.faAndroid,class:`platform__os-icon`},null,8,[`icon`]),p[2]||=n(` Android `,-1)]),e(`span`,U,[p[3]||=e(`span`,{class:`chip__dot`},null,-1),n(r(f.$t(`common.message.mobileAvailableNow`)),1)])]),e(`h2`,W,r(f.$t(`common.button.downloadAndroid`)),1),e(`p`,G,r(f.$t(`common.message.mobileAndroidHint`)),1),f.hasPlayStore||f.hasAndroidDownload?(d(),o(`div`,K,[i(v,{value:f.hasPlayStore?f.playStoreUrl:f.androidDownloadUrl,width:184,height:184,class:`qr__img`,type:`image/png`,color:{dark:`#0e2a33ff`,light:`#ffffffff`}},null,8,[`value`]),e(`p`,q,r(f.hasPlayStore?f.$t(`common.message.mobilePlayStoreHint`):f.$t(`common.message.mobileSecureDelivery`)),1)])):a(``,!0),e(`div`,J,[f.hasPlayStore?(d(),l(_,{key:0,type:`primary`,round:``,size:`large`,tag:`a`,href:f.playStoreUrl,target:`_blank`},{default:u(()=>[i(g,{icon:f.faGooglePlay,class:`btn-icon`},null,8,[`icon`]),n(` `+r(f.$t(`common.button.getOnGooglePlay`)),1)]),_:1},8,[`href`])):a(``,!0),f.hasAndroidDownload?(d(),o(s,{key:1},[f.hasPlayStore?(d(),o(`div`,Y,[i(_,{round:``,tag:`a`,href:f.androidDownloadUrl,target:`_blank`,class:`btn-ghost`},{default:u(()=>[i(g,{icon:f.faDownload,class:`btn-icon`},null,8,[`icon`]),n(` `+r(f.$t(`common.button.downloadAndroid`)),1)]),_:1},8,[`href`]),e(`span`,X,r(f.$t(`common.message.mobileApkFallback`)),1)])):(d(),o(s,{key:1},[i(_,{type:`primary`,round:``,size:`large`,tag:`a`,href:f.androidDownloadUrl,target:`_blank`},{default:u(()=>[i(g,{icon:f.faDownload,class:`btn-icon`},null,8,[`icon`]),n(` `+r(f.$t(`common.button.downloadAndroid`)),1)]),_:1},8,[`href`]),e(`span`,Z,r(f.$t(`common.message.mobileDirectInstall`)),1)],64))],64)):a(``,!0)])]),e(`article`,Q,[e(`div`,ne,[e(`span`,re,[i(g,{icon:f.faApple,class:`platform__os-icon`},null,8,[`icon`]),p[4]||=n(` iOS `,-1)]),e(`span`,{class:t([`chip`,f.hasIos?`chip--live`:`chip--pending`])},[p[5]||=e(`span`,{class:`chip__dot`},null,-1),n(` `+r(f.hasIos?f.$t(`common.message.mobileNowOnAppStore`):f.$t(`common.message.mobileComingSoon`)),1)],2)]),e(`h2`,ie,r(f.$t(`common.button.downloadIos`)),1),e(`p`,ae,r(f.hasIos?f.$t(`common.message.mobileIosHint`):f.$t(`common.message.mobileIosPending`)),1),f.hasAppStore?(d(),o(`div`,oe,[i(v,{value:f.appStoreUrl,width:184,height:184,class:`qr__img`,type:`image/png`,color:{dark:`#0e2a33ff`,light:`#ffffffff`}},null,8,[`value`]),e(`p`,se,r(f.$t(`common.message.mobileAppStoreHint`)),1)])):a(``,!0),f.hasIos?(d(),o(`div`,ce,[f.hasAppStore?(d(),l(_,{key:0,type:`primary`,round:``,size:`large`,tag:`a`,href:f.appStoreUrl,target:`_blank`},{default:u(()=>[i(g,{icon:f.faApple,class:`btn-icon`},null,8,[`icon`]),n(` `+r(f.$t(`common.button.getOnAppStore`)),1)]),_:1},8,[`href`])):a(``,!0),f.hasIosDownload?(d(),o(s,{key:1},[e(`div`,le,[i(_,{type:f.hasAppStore?`default`:`primary`,round:``,size:f.hasAppStore?`default`:`large`,class:t({"btn-ghost":f.hasAppStore}),tag:`a`,href:f.iosDownloadUrl,target:`_blank`},{default:u(()=>[i(g,{icon:f.faApple,class:`btn-icon`},null,8,[`icon`]),n(` `+r(f.$t(`common.button.installIos`)),1)]),_:1},8,[`type`,`size`,`class`,`href`]),i(_,{round:``,size:`large`,class:`btn-ghost`,tag:`a`,href:f.iosFallbackUrl,target:`_blank`},{default:u(()=>[n(r(f.$t(`common.button.downloadIos`)),1)]),_:1},8,[`href`])]),e(`span`,ue,r(f.$t(`common.message.mobileInstallNote`)),1)],64)):a(``,!0)])):(d(),o(s,{key:2},[e(`div`,de,[i(g,{icon:f.faApple,class:`ios-soon__icon`},null,8,[`icon`]),e(`p`,fe,r(f.$t(`common.message.mobileComingSoon`)),1)]),e(`div`,pe,[i(_,{round:``,size:`large`,class:`btn-ghost`,onClick:f.openSupport},{default:u(()=>[n(r(f.$t(`common.nav.support`)),1)]),_:1},8,[`onClick`])])],64))]),e(`article`,me,[e(`div`,he,[e(`span`,ge,[i(g,{icon:f.faWindows,class:`platform__os-icon`},null,8,[`icon`]),p[6]||=n(` Windows `,-1)]),p[7]||=e(`span`,{class:`chip chip--beta`},[e(`span`,{class:`chip__dot`}),n(`Beta `)],-1)]),e(`h2`,_e,r(f.$t(`common.button.downloadWindows`)),1),e(`p`,ve,r(f.$t(`common.message.desktopWindowsHint`)),1),e(`div`,ye,[i(_,{type:`primary`,round:``,size:`large`,tag:`a`,href:f.desktopReleasesUrl,target:`_blank`},{default:u(()=>[i(g,{icon:f.faWindows,class:`btn-icon`},null,8,[`icon`]),n(` `+r(f.$t(`common.button.downloadWindows`)),1)]),_:1},8,[`href`]),p[8]||=e(`span`,{class:`platform__meta`},`Beta`,-1)])]),e(`article`,be,[e(`div`,xe,[e(`span`,Se,[i(g,{icon:f.faApple,class:`platform__os-icon`},null,8,[`icon`]),p[9]||=n(` macOS `,-1)]),p[10]||=e(`span`,{class:`chip chip--beta`},[e(`span`,{class:`chip__dot`}),n(`Beta `)],-1)]),e(`h2`,Ce,r(f.$t(`common.button.downloadMac`)),1),e(`p`,we,r(f.$t(`common.message.desktopMacHint`)),1),e(`div`,Te,[i(_,{type:`primary`,round:``,size:`large`,tag:`a`,href:f.desktopReleasesUrl,target:`_blank`},{default:u(()=>[i(g,{icon:f.faApple,class:`btn-icon`},null,8,[`icon`]),n(` `+r(f.$t(`common.button.downloadMac`)),1)]),_:1},8,[`href`]),p[11]||=e(`span`,{class:`platform__meta`},`Beta · Apple Silicon & Intel`,-1)])])]),e(`section`,Ee,[e(`article`,De,[p[12]||=e(`span`,{class:`advantage__num`},`01`,-1),e(`h3`,$,r(f.$t(`common.title.mobileFastAccess`)),1),e(`p`,Oe,r(f.$t(`common.message.mobileFastAccess`)),1)]),e(`article`,ke,[p[13]||=e(`span`,{class:`advantage__num`},`02`,-1),e(`h3`,Ae,r(f.$t(`common.title.mobileTrustedRelease`)),1),e(`p`,je,r(f.$t(`common.message.mobileTrustedRelease`)),1)]),e(`article`,Me,[p[14]||=e(`span`,{class:`advantage__num`},`03`,-1),e(`h3`,Ne,r(f.$t(`common.title.mobileUnifiedExperience`)),1),e(`p`,Pe,r(f.$t(`common.message.mobileUnifiedExperience`)),1)])]),f.hasIosDownload?(d(),o(`aside`,Fe,[i(g,{icon:f.faCircleInfo,class:`note__icon`},null,8,[`icon`]),e(`p`,Ie,r(f.$t(`common.message.mobileInstallNote`)),1)])):a(``,!0),e(`aside`,Le,[i(g,{icon:f.faCircleInfo,class:`note__icon`},null,8,[`icon`]),e(`p`,Re,r(f.$t(`common.message.desktopUnsignedNote`)),1)])])])}var Be=te(E,[[`render`,ze],[`__scopeId`,`data-v-ba0c480b`]]);export{Be as default};