@acedatacloud/nexior 3.380.8 → 3.381.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (290) hide show
  1. package/dist/assets/{ApiCodeButton-C5tBSXac.js → ApiCodeButton-C7SPMZJ4.js} +1 -1
  2. package/dist/assets/{ApiCodeDialog-tzrLt7MW.js → ApiCodeDialog-B0m5_btu.js} +2 -2
  3. package/dist/assets/{Artifacts-Bq-ESji9.js → Artifacts-C935GA3p.js} +1 -1
  4. package/dist/assets/{AskUserQuestionCard-BHRutjE4.js → AskUserQuestionCard-Qi57dVV7.js} +1 -1
  5. package/dist/assets/{AudioPreview-fEc2Zd45.js → AudioPreview-h4P2x5TL.js} +1 -1
  6. package/dist/assets/{Auth-D0qonxcj.js → Auth-DW29k_jE.js} +1 -1
  7. package/dist/assets/{Bare-gBTQBYOF.js → Bare-DvCKQeEu.js} +1 -1
  8. package/dist/assets/{BotPlaceholder-7Rci0gLD.js → BotPlaceholder-BBI_oSgE.js} +1 -1
  9. package/dist/assets/{BottomFooter-CXfDJs6K.js → BottomFooter-afn-jz6v.js} +1 -1
  10. package/dist/assets/{BrowseConnectors-jbUHMESo.js → BrowseConnectors-G0r_jByZ.js} +1 -1
  11. package/dist/assets/{BrowserPairingDialog-BLbseBCp.js → BrowserPairingDialog-BJgs6qLU.js} +1 -1
  12. package/dist/assets/{Callback-DQ7s2YUT.js → Callback-DveJm8vT.js} +1 -1
  13. package/dist/assets/{CodeSnippet-DtFkobrj.js → CodeSnippet-BFdyqpEG.js} +1 -1
  14. package/dist/assets/{Console-DqcMlqeQ.js → Console-C21WF1jP.js} +1 -1
  15. package/dist/assets/{Conversation-CxIjxIV3.js → Conversation-D0W5uzHA.js} +1 -1
  16. package/dist/assets/Conversation-E2vMcQr8.js +2 -0
  17. package/dist/assets/{CopyToClipboard-CIB9LY9Y.js → CopyToClipboard-CdXnxkau.js} +1 -1
  18. package/dist/assets/Detail-DDl6m0vE.js +2 -0
  19. package/dist/assets/{Detail-CgTGSka5.css → Detail-DixHmQzJ.css} +1 -1
  20. package/dist/assets/Extra-C6que9Av.js +1 -0
  21. package/dist/assets/{FilePreview-_7yUZ2m8.js → FilePreview-BpPQ5OAR.js} +1 -1
  22. package/dist/assets/{Hailuo-Gr9P4KZh.js → Hailuo-BeRIbNr2.js} +1 -1
  23. package/dist/assets/{History-BdECMOXE.js → History-BsN3wekq.js} +1 -1
  24. package/dist/assets/{ImagePreview-Dq6UkYX8.js → ImagePreview-BOxOkmuq.js} +1 -1
  25. package/dist/assets/{ImageWrapper-C9nEUyQX.js → ImageWrapper-vYpJPO89.js} +1 -1
  26. package/dist/assets/{Index-DF_YSy5V.js → Index-0oHw41Oc.js} +1 -1
  27. package/dist/assets/{Index-FNGDlXFq.js → Index-1U2bTpbF.js} +1 -1
  28. package/dist/assets/{Index-CWWsa0Lz.js → Index-7IkF_rpP.js} +1 -1
  29. package/dist/assets/{Index-CGU29OIG.js → Index-B-Mkt2ur.js} +1 -1
  30. package/dist/assets/Index-BPh5XDKu.js +1 -0
  31. package/dist/assets/{Index-DxgRmJSg.js → Index-BWgi01SX.js} +1 -1
  32. package/dist/assets/{Index-EYQ1NKQW.js → Index-Ba4WWol0.js} +2 -2
  33. package/dist/assets/{Index-BS1nLceI.js → Index-BdjKyfS1.js} +1 -1
  34. package/dist/assets/Index-BiHjCG2i.js +1 -0
  35. package/dist/assets/{Index-DfJKnw20.js → Index-CB-KJcln.js} +1 -1
  36. package/dist/assets/{Index-DN7liprI.js → Index-CI-2_oM6.js} +2 -2
  37. package/dist/assets/Index-CI8i6hTW.js +1 -0
  38. package/dist/assets/{Index-DCSPk7nn.js → Index-CJ7hChmF.js} +1 -1
  39. package/dist/assets/{Index-SDzpl-Jc2.js → Index-CJtxYaZ02.js} +1 -1
  40. package/dist/assets/{Index-B7WKuXER.js → Index-CPrqWc5U.js} +1 -1
  41. package/dist/assets/{Index-CmrcDBzZ2.js → Index-CUsRTBAy2.js} +1 -1
  42. package/dist/assets/{Index-B3fIj3yi.js → Index-CVwMDW-A.js} +2 -2
  43. package/dist/assets/{Index-BinkgTmw.js → Index-CZS8iQGD.js} +1 -1
  44. package/dist/assets/{Index-D5VNzG82.js → Index-CetGJnpB.js} +1 -1
  45. package/dist/assets/{Index-AbcXPxs0.js → Index-CnYc0oJ8.js} +1 -1
  46. package/dist/assets/Index-D4x9T8au.js +1 -0
  47. package/dist/assets/Index-D5Ul2doi.js +1 -0
  48. package/dist/assets/{Index-Drdb9P_r.js → Index-DRVWr0MK.js} +1 -1
  49. package/dist/assets/{Index-DeYrbAvW.js → Index-D_y7v_Gn.js} +1 -1
  50. package/dist/assets/Index-DcVducNv.js +1 -0
  51. package/dist/assets/{Index-DLjlVvNI.js → Index-DeZs_u7x.js} +1 -1
  52. package/dist/assets/{Index-BhPsqs3d.js → Index-Dfg2U97G.js} +1 -1
  53. package/dist/assets/Index-O_CrvytF.js +1 -0
  54. package/dist/assets/Index-U68d2uZj.js +1 -0
  55. package/dist/assets/{Index-DAF6Fi1i.js → Index-_De5KqLp.js} +2 -2
  56. package/dist/assets/{Index-BDfNqyi8.js → Index-hhTRG2BF.js} +1 -1
  57. package/dist/assets/{Index-Bi_F3a9E.js → Index-iVjZH5W4.js} +1 -1
  58. package/dist/assets/Index-j-bMmKiW.js +1 -0
  59. package/dist/assets/Index-jMFiTGzQ2.js +1 -0
  60. package/dist/assets/Index-pButqdV7.js +1 -0
  61. package/dist/assets/{Index-DgC9uvAK.js → Index-wIXSyIsm.js} +1 -1
  62. package/dist/assets/{Invitees-DyGmUv2R.js → Invitees-NIBmPbQA.js} +1 -1
  63. package/dist/assets/List-BRxaXLPy.js +1 -0
  64. package/dist/assets/List-D-zLjR6q.js +1 -0
  65. package/dist/assets/List-wiwQQloc.js +1 -0
  66. package/dist/assets/LocalTools-BC90IHHk.js +5 -0
  67. package/dist/assets/{LocalTools-BPDI9e-z.js → LocalTools-CEjkt2l2.js} +1 -1
  68. package/dist/assets/{Logo-6qSswnm2.js → Logo-C6NJezpt.js} +1 -1
  69. package/dist/assets/{Main-gLvuSjN6.js → Main-B0EVjP0H.js} +1 -1
  70. package/dist/assets/{Message-BtE8gWlu.js → Message-BAL7WOXJ.js} +2 -2
  71. package/dist/assets/{Model-CeOYezTT.js → Model-j4_EX-gG.js} +2 -2
  72. package/dist/assets/{Navigator-DqokGio8.js → Navigator-CERVgrJV.js} +5 -5
  73. package/dist/assets/{NotFound-D3Q4GfiQ.js → NotFound-l7IoxBXr.js} +1 -1
  74. package/dist/assets/{PageHeader-DOWQjC3H.js → PageHeader-Cer1mYPv.js} +1 -1
  75. package/dist/assets/Pay-o3xo2mqm.js +1 -0
  76. package/dist/assets/{Player-B3iX2KLl.js → Player-UOjqiG5R.js} +1 -1
  77. package/dist/assets/{Poivelle-DKlkQB2c.js → Poivelle-BKRPVdM1.js} +1 -1
  78. package/dist/assets/{RealtimeCall-XAJLDR6Q.js → RealtimeCall-Cs8cbkOK.js} +2 -2
  79. package/dist/assets/{ReportButton-D3eba7A1.js → ReportButton-CpSn2HJv.js} +1 -1
  80. package/dist/assets/{ReportDialog-tMrdW_fU.js → ReportDialog-BoKKjM7J.js} +1 -1
  81. package/dist/assets/{ScenarioPaymentMode-BwoqFZco.js → ScenarioPaymentMode-Bfxf8Ufv.js} +1 -1
  82. package/dist/assets/{ScheduledTasks-CMcU7GEK.js → ScheduledTasks-iixEy1Ye.js} +2 -2
  83. package/dist/assets/{ServicePricingSummary-N2X5DfKj.js → ServicePricingSummary-D4J-WJ1t.js} +1 -1
  84. package/dist/assets/{SharedMarkdown-B8a4sQ0t.js → SharedMarkdown-BDyd2eGz.js} +1 -1
  85. package/dist/assets/{ShowcaseGrid-DFAlG_5F.js → ShowcaseGrid-DPrNdkyb.js} +1 -1
  86. package/dist/assets/{ShowcaseResultTabs-Bx16-8QM.js → ShowcaseResultTabs-Di_5PzXP.js} +1 -1
  87. package/dist/assets/{SolanaWalletPickerDialog-DpiM35uj.js → SolanaWalletPickerDialog-JUe0BzI8.js} +1 -1
  88. package/dist/assets/Status-C8r33_t6.js +1 -0
  89. package/dist/assets/{Status-CJdLn3iI.css → Status-Ck9ha4jD.css} +1 -1
  90. package/dist/assets/{Subscribe-BN32hXrS.js → Subscribe-z4lsK-Pw.js} +1 -1
  91. package/dist/assets/{TabSwitcher-6c6JSS4_.js → TabSwitcher-DJsQU_kt.js} +1 -1
  92. package/dist/assets/{Tts-Dio3pSmI.js → Tts-CvIT5Y3Q.js} +1 -1
  93. package/dist/assets/{VideoPlayer-BNtDhrpR.js → VideoPlayer-B43pPHVA.js} +1 -1
  94. package/dist/assets/{VideoPreview-K60Fueap.js → VideoPreview-DxrhYEOD.js} +1 -1
  95. package/dist/assets/{VueMarkdown-ktB0s_p4.js → VueMarkdown-Cm2HOlvG.js} +2 -2
  96. package/dist/assets/WriteSkillDialog-_mcGlQJv.js +1 -0
  97. package/dist/assets/{airwallexCheckout--o-YoruN.js → airwallexCheckout-DfA_t-KL.js} +1 -1
  98. package/dist/assets/arrow-down-D2NapJz3.js +1 -0
  99. package/dist/assets/arrow-left-DylqoAP7.js +1 -0
  100. package/dist/assets/arrow-right-J1XoxSVH.js +1 -0
  101. package/dist/assets/arrow-up-DO1r6z0s.js +1 -0
  102. package/dist/assets/{authorizeFlow-D30X2Lyo.js → authorizeFlow-De8qROX8.js} +1 -1
  103. package/dist/assets/{avatar--_Ho4k0C.js → avatar-CFr7Npbl.js} +1 -1
  104. package/dist/assets/{back-navigation-D-lHpBnE.js → back-navigation-CBmABnbg.js} +1 -1
  105. package/dist/assets/{basic-C8xJ8MvR.js → basic-BFxUUMy1.js} +1 -1
  106. package/dist/assets/{book-open-BH4GaBn5.js → book-open-pud407AJ.js} +1 -1
  107. package/dist/assets/{box-3_e2nW7_.js → box-BzqbI4wX.js} +1 -1
  108. package/dist/assets/{boxes-DQGNW64d.js → boxes-x-qEQ-LI.js} +1 -1
  109. package/dist/assets/{brain-DMDAedtO.js → brain-DJFZK1UE.js} +1 -1
  110. package/dist/assets/{chart-no-axes-combined-N5HL2gKV.js → chart-no-axes-combined-D35CqiRR.js} +1 -1
  111. package/dist/assets/{chat-C3QlZeo1.js → chat-Cbq_zDLN.js} +1 -1
  112. package/dist/assets/check-CHq--2kK.js +1 -0
  113. package/dist/assets/chevron-down-BI4tJ27m.js +1 -0
  114. package/dist/assets/chevron-right-CHuS6TXO.js +1 -0
  115. package/dist/assets/{circle-alert-C-PFf-1o.js → circle-alert-CHxD-85L.js} +1 -1
  116. package/dist/assets/circle-check-D_FoW3dP.js +1 -0
  117. package/dist/assets/{circle-question-mark-iFkJm6Cg.js → circle-question-mark-BGXCIlnz.js} +1 -1
  118. package/dist/assets/{clipboard-list-Cvngrayq.js → clipboard-list-BxI8Nmie.js} +1 -1
  119. package/dist/assets/clock-CvHl_Vd7.js +1 -0
  120. package/dist/assets/code-NL9LxNiy.js +1 -0
  121. package/dist/assets/codingBridge-DW94cI81.js +2 -0
  122. package/dist/assets/{codingBridgeNotify-BoMwcUhd.js → codingBridgeNotify-CokX8Ia4.js} +2 -2
  123. package/dist/assets/{coins-D0M4bX5f.js → coins-PK6Ps1X2.js} +1 -1
  124. package/dist/assets/{connection-CaarfcXm.js → connection-D1Ih6dQd.js} +1 -1
  125. package/dist/assets/{copy-CUk5HyqT.js → copy-D7lHzTGA.js} +1 -1
  126. package/dist/assets/{createTaskActions-DQEdc5ib.js → createTaskActions-BZPCtPLs.js} +1 -1
  127. package/dist/assets/{date-picker-C9cLRv2A.js → date-picker-B72Rk5Dt.js} +1 -1
  128. package/dist/assets/{digitalhuman-C7ZvYqCi.js → digitalhuman-BvEYnRvw.js} +1 -1
  129. package/dist/assets/{dollar-sign-C1s1LGmE.js → dollar-sign-CKl6b5bP.js} +1 -1
  130. package/dist/assets/{download-BmQLXojU.js → download-pMsno2DA.js} +1 -1
  131. package/dist/assets/{drawer-VaJhlwVr.js → drawer-BaqojTRQ.js} +1 -1
  132. package/dist/assets/{dropdown-iF_atr6i.js → dropdown-CuUYnMXP.js} +1 -1
  133. package/dist/assets/{dropdown-DBipAigc.js → dropdown-j3EEj4Tp.js} +1 -1
  134. package/dist/assets/{ellipsis-BqkKsvF-.js → ellipsis-BlYmih11.js} +1 -1
  135. package/dist/assets/{esm-DrVDihqw.js → esm-BmncEOyb.js} +2 -2
  136. package/dist/assets/{esm-Cbxht914.js → esm-CXE577Fh.js} +2 -2
  137. package/dist/assets/esm-qenNKkbC.js +1 -0
  138. package/dist/assets/{external-link-C9bruFod.js → external-link-BIUuevwA.js} +1 -1
  139. package/dist/assets/{eye-CFHeQVx8.js → eye-BFgFlWNS.js} +1 -1
  140. package/dist/assets/{file-CR75F95u.js → file-DmSI4aV7.js} +1 -1
  141. package/dist/assets/{file-output-CfzTcR2_.js → file-output-DncNlmtQ.js} +1 -1
  142. package/dist/assets/{file-text-DBotrbYk.js → file-text-DcI2reu5.js} +1 -1
  143. package/dist/assets/{fish-B1s1UOus.js → fish-DGdFCanw.js} +1 -1
  144. package/dist/assets/{flux-CVzCQ6JR.js → flux-CzW311tV.js} +1 -1
  145. package/dist/assets/{folder-C9cnY4AN.js → folder-uXRfk1mZ.js} +1 -1
  146. package/dist/assets/gauge-BTPC0rXL.js +1 -0
  147. package/dist/assets/{globe-BKX021RY.js → globe-BPuLsDjR.js} +1 -1
  148. package/dist/assets/{nanobanana-BPGCIia_.js → grokvideo-CSAs2I4j.js} +1 -1
  149. package/dist/assets/{hailuo-CP8PTXG3.js → hailuo-D87_m-0U.js} +1 -1
  150. package/dist/assets/{hash-B61j4cgz.js → hash-yia5yLmV.js} +1 -1
  151. package/dist/assets/{headphones-SI1F4r-k.js → headphones-B8rBVQdH.js} +1 -1
  152. package/dist/assets/{history-_iIOa-KW.js → history-BNTxRkBy.js} +1 -1
  153. package/dist/assets/{house-C3am4krm.js → house-CbbGN4zL.js} +1 -1
  154. package/dist/assets/{image-DNGAwErV.js → image-CS6hThMg.js} +1 -1
  155. package/dist/assets/{index-Bk9SKIXV.js → index-C8uXmX2U.js} +17 -17
  156. package/dist/assets/{index.es-xc1wwztg.js → index.es-5Phodjqa.js} +1 -1
  157. package/dist/assets/{info-CDi6ZfZf.js → info-DVNsJvAI.js} +1 -1
  158. package/dist/assets/{input-number-BwJ2QIsY.js → input-number-BmFOlu3s.js} +1 -1
  159. package/dist/assets/{kling-BxsNl9_b.js → kling-BDMU0ncE.js} +1 -1
  160. package/dist/assets/{languages-p0PeYqme.js → languages-DX-qFZ5y.js} +1 -1
  161. package/dist/assets/{laptop-B7PBJgxD.js → laptop-DxflGBrU.js} +1 -1
  162. package/dist/assets/{lightbulb-ByXvOBwJ.js → lightbulb-CvqLaOvJ.js} +1 -1
  163. package/dist/assets/{link-f8tGCmjZ.js → link-BmCk0KSR.js} +1 -1
  164. package/dist/assets/loader-circle-VDhzM6Nn.js +1 -0
  165. package/dist/assets/{luma-D_7feexJ.js → luma-Cc-i1JLx.js} +1 -1
  166. package/dist/assets/{maestro-BO062bai.js → maestro-BSM6rSzW.js} +1 -1
  167. package/dist/assets/{mail-Cu6rYS5J.js → mail-BCkjos6i.js} +1 -1
  168. package/dist/assets/{message-circle-DQGqX_tb.js → message-circle-BmBmlsGF.js} +1 -1
  169. package/dist/assets/{mic-Duo8uJFA.js → mic-UcSG54_q.js} +1 -1
  170. package/dist/assets/{midjourney-DgbyQQt4.js → midjourney-CuMTiD4G.js} +1 -1
  171. package/dist/assets/minimax-kQU1Q46c.js +1 -0
  172. package/dist/assets/{mobileLocalExec-BAoyTFxs.js → mobileLocalExec-CwMOa_zQ.js} +2 -2
  173. package/dist/assets/{monitor-BY7a2lSu.js → monitor-VOFjSWYN.js} +1 -1
  174. package/dist/assets/{mouse-pointer-2-BBBdRKNG.js → mouse-pointer-2-DAKfL4eZ.js} +1 -1
  175. package/dist/assets/music-2-CKgTqNZ9.js +1 -0
  176. package/dist/assets/{grokvideo-IjeySWKZ.js → nanobanana-BARcP081.js} +1 -1
  177. package/dist/assets/{omni-DRmYijL5.js → omni-BdZjSEzD.js} +1 -1
  178. package/dist/assets/openaiimage-sQHUP0bq.js +1 -0
  179. package/dist/assets/{pagination-Srdjt7tL.js → pagination-C4oGiE57.js} +1 -1
  180. package/dist/assets/{pagination-Bxloie8Z.js → pagination-CoQKuK4D.js} +1 -1
  181. package/dist/assets/{pagination-BodQ3KsQ.js → pagination-uSk2V2K7.js} +1 -1
  182. package/dist/assets/{palette-CBVqiEiY.js → palette-Cw-HJS5z.js} +1 -1
  183. package/dist/assets/{paperclip-C5ucVDdU.js → paperclip-CSMkIW0R.js} +1 -1
  184. package/dist/assets/{pause-DEsHu_JX.js → pause-BYsZ80n3.js} +1 -1
  185. package/dist/assets/{pencil-zCR4E3gn.js → pencil-D6KQdtCj.js} +1 -1
  186. package/dist/assets/{pixverse-Br13_G7h.js → pika-a8YZxfOY.js} +1 -1
  187. package/dist/assets/pixverse-B7na9cqk.js +1 -0
  188. package/dist/assets/play-PlISts4C.js +1 -0
  189. package/dist/assets/{plug-BuLs05P4.js → plug-BlxHQPiR.js} +1 -1
  190. package/dist/assets/plus-8qHkLr4t.js +1 -0
  191. package/dist/assets/{poivelle-CmbgX8cH.js → poivelle-C_aJhNN6.js} +1 -1
  192. package/dist/assets/{popover-B0GxuFgb.js → popover-BqK-ErPr.js} +1 -1
  193. package/dist/assets/{producer-CtomnQQP.js → producer-a3I8ulbm.js} +1 -1
  194. package/dist/assets/{qrart-D4w0rqYS.js → qrart-B0UCUS7O.js} +1 -1
  195. package/dist/assets/{qwenimage-DL9zIyXV.js → qwenimage-BKtsaJIJ.js} +1 -1
  196. package/dist/assets/{realtime-DMwjvq1k.js → realtime-D-W5frEc.js} +1 -1
  197. package/dist/assets/{refresh-cw-CcOH8EPk.js → refresh-cw-B-RuE_6C.js} +1 -1
  198. package/dist/assets/rotate-ccw-DafhIXvS.js +1 -0
  199. package/dist/assets/rotate-cw-DIM3zleO.js +1 -0
  200. package/dist/assets/{scheduledTasks-BatLQ_gR.js → scheduledTasks-B7bwGGDF.js} +1 -1
  201. package/dist/assets/{scroll-text-BTS-NpZu.js → scroll-text-o74NoTP2.js} +1 -1
  202. package/dist/assets/search-Bh1-kl2_.js +1 -0
  203. package/dist/assets/{seedance-Bou-k6BW.js → seedance-CWwgV8jO.js} +1 -1
  204. package/dist/assets/{seedream-C9Rua-7B.js → seedream-fbaMKMDO.js} +1 -1
  205. package/dist/assets/{select-Dv7ZrvnE.js → select-Ctt4vMla.js} +1 -1
  206. package/dist/assets/{serp-B8GBsdPs.js → serp-CxyE8Wg6.js} +1 -1
  207. package/dist/assets/{shield-D-mmPu1n.js → shield-CNEip5QK.js} +1 -1
  208. package/dist/assets/{showcase-Cq0oPoIV.js → showcase-B3x-XIzn.js} +1 -1
  209. package/dist/assets/{showcaseRecreateMixin-C0UnaxsG.js → showcaseRecreateMixin-1te_SCEr.js} +1 -1
  210. package/dist/assets/{shuffle-D5K8vZCN.js → shuffle-XCkaDWwW.js} +1 -1
  211. package/dist/assets/{siteHome-Ds14_RM3.js → siteHome-DAuiSeoD.js} +1 -1
  212. package/dist/assets/{slider-C4ifUfAq.js → slider-DgU-R1_f.js} +1 -1
  213. package/dist/assets/{solana-wallets-B_mKv7o5.js → solana-wallets-v9HM0phx.js} +2 -2
  214. package/dist/assets/{sora-CO4yLi7O.js → sora-EYl03Tg1.js} +1 -1
  215. package/dist/assets/{sparkles-BI5Fg4u8.js → sparkles-BWT6yPWj.js} +1 -1
  216. package/dist/assets/square-VQwp91bM.js +1 -0
  217. package/dist/assets/{suno-BPJ6ThLW.js → suno-nHiDCtV6.js} +1 -1
  218. package/dist/assets/{switch-CFUCWNgM.js → switch-DfKiiyLD.js} +1 -1
  219. package/dist/assets/{table-GjLQgxzP.js → table-B3Y40ujp.js} +1 -1
  220. package/dist/assets/{tag-A8kAprsR.js → tag-DeoG4_K6.js} +1 -1
  221. package/dist/assets/{taskPolling-C9KHdhtK.js → taskPolling-ed3DvCWh.js} +1 -1
  222. package/dist/assets/terminal-CoZlBFes.js +1 -0
  223. package/dist/assets/{time-picker-D4M2msCX.js → time-picker-Dw67yBu1.js} +1 -1
  224. package/dist/assets/{tooltip-L2G5ntVi.js → tooltip-Co_mOTlo.js} +1 -1
  225. package/dist/assets/{trash-2-CUcSh2xz.js → trash-2-2Il_x-4b.js} +1 -1
  226. package/dist/assets/{triangle-alert-fl0O4ttl.js → triangle-alert-Dc39dkq0.js} +1 -1
  227. package/dist/assets/{upload-ClpzRFqM.js → upload-RXQqkOuq.js} +1 -1
  228. package/dist/assets/user-CRuiuJ_x.js +1 -0
  229. package/dist/assets/{veo-DzVF-9VO.js → veo-CP7MEHUu.js} +1 -1
  230. package/dist/assets/{video-D2H2yrK5.js → video-6ckJHXgu.js} +1 -1
  231. package/dist/assets/{volume-2-DuPw1i4l.js → volume-2-NeRUKB9t.js} +1 -1
  232. package/dist/assets/{wallet-BoMayNFZ.js → wallet-DqsH6oxz.js} +1 -1
  233. package/dist/assets/{wan-Div7QNhT.js → wan-BD9moAq4.js} +1 -1
  234. package/dist/assets/{wand-sparkles-C9xUdsPZ.js → wand-sparkles-CdzPtG8R.js} +1 -1
  235. package/dist/assets/{web-CxmWSgKl.js → web-B-lQxU2R.js} +1 -1
  236. package/dist/assets/{web-NUACo-ru.js → web-BV1Sidqw.js} +1 -1
  237. package/dist/assets/{web-CXqpsAgb.js → web-Bg9dBHiL.js} +1 -1
  238. package/dist/assets/{web-CMUsrooq.js → web-CeF7asFe.js} +1 -1
  239. package/dist/assets/{web-onuv9tHs.js → web-RYS5ytss.js} +1 -1
  240. package/dist/assets/{webextrator-Di-ibQB9.js → webextrator-DxlqCl-G.js} +1 -1
  241. package/dist/assets/{zap-B0eAEhqX.js → zap-BjEPcYjV.js} +1 -1
  242. package/dist/index.html +1 -1
  243. package/package.json +1 -1
  244. package/dist/assets/Conversation-BdtH_RD0.js +0 -2
  245. package/dist/assets/Detail-Cwhh5P9b.js +0 -2
  246. package/dist/assets/Extra-C2rM0X0l.js +0 -1
  247. package/dist/assets/Index-BHFcy6tF.js +0 -1
  248. package/dist/assets/Index-Bo60hgY3.js +0 -1
  249. package/dist/assets/Index-Bx9XT7ii.js +0 -1
  250. package/dist/assets/Index-C8oOUtOA.js +0 -1
  251. package/dist/assets/Index-CGSt7zKV.js +0 -1
  252. package/dist/assets/Index-DE4Uanlv.js +0 -1
  253. package/dist/assets/Index-DUFd5F6p2.js +0 -1
  254. package/dist/assets/Index-DVhN8ZAF.js +0 -1
  255. package/dist/assets/Index-DeOmC_Q0.js +0 -1
  256. package/dist/assets/Index-Dkc39b3K.js +0 -1
  257. package/dist/assets/Index-Vz7Mw5xh.js +0 -1
  258. package/dist/assets/List-0tPShY4u.js +0 -1
  259. package/dist/assets/List-5Z5tELQE.js +0 -1
  260. package/dist/assets/List-lPxHfTDQ.js +0 -1
  261. package/dist/assets/LocalTools-CWWIjS6k.js +0 -5
  262. package/dist/assets/Pay-O5Qlb6UW.js +0 -1
  263. package/dist/assets/Status-CVUE2QYX.js +0 -1
  264. package/dist/assets/WriteSkillDialog-Bw-u8hlH.js +0 -1
  265. package/dist/assets/arrow-down-DCMjRdO_.js +0 -1
  266. package/dist/assets/arrow-left-DFXx6UvA.js +0 -1
  267. package/dist/assets/arrow-right-BBcVYEm1.js +0 -1
  268. package/dist/assets/arrow-up-BAfO-War.js +0 -1
  269. package/dist/assets/check-kkIqx5X1.js +0 -1
  270. package/dist/assets/chevron-down-vUO0pCAt.js +0 -1
  271. package/dist/assets/chevron-right-CHPHpC1T.js +0 -1
  272. package/dist/assets/circle-check-1eqJK_BD.js +0 -1
  273. package/dist/assets/clock-DIjv9Rh6.js +0 -1
  274. package/dist/assets/code-Bm4SQ3yq.js +0 -1
  275. package/dist/assets/codingBridge-CeVcO4fE.js +0 -2
  276. package/dist/assets/esm-fbzVLLeD.js +0 -1
  277. package/dist/assets/gauge-BdSNWC_w.js +0 -1
  278. package/dist/assets/loader-circle-BWTf1Yce.js +0 -1
  279. package/dist/assets/minimax-C_26yfUG.js +0 -1
  280. package/dist/assets/music-2-BmtV50Q3.js +0 -1
  281. package/dist/assets/openaiimage-DMLO-tzp.js +0 -1
  282. package/dist/assets/pika-CpXs-W0u.js +0 -1
  283. package/dist/assets/play-XZGUGKIJ.js +0 -1
  284. package/dist/assets/plus-Bz8tjapX.js +0 -1
  285. package/dist/assets/rotate-ccw-S9qsO1Sd.js +0 -1
  286. package/dist/assets/rotate-cw-DZrl6qQ6.js +0 -1
  287. package/dist/assets/search-K-yhv6oC.js +0 -1
  288. package/dist/assets/square-_e71CHtO.js +0 -1
  289. package/dist/assets/terminal-fyhUEvgw.js +0 -1
  290. package/dist/assets/user-3UxB-6FB.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,T as c,at 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-Dv7ZrvnE.js";import{t as _}from"./upload-BG3x_JWJ.js";import{t as v}from"./tooltip-L2G5ntVi.js";import{t as y}from"./alert-BprQRUmf.js";import{_ as b,v as x}from"./vuex.esm-bundler-C-5WV-ta.js";import{t as S}from"./clock-DIjv9Rh6.js";import{t as C}from"./hash-B61j4cgz.js";import{t as w}from"./info-CDi6ZfZf.js";import{a as T,i as E,n as D,r as O,t as k}from"./pagination-BodQ3KsQ.js";import{t as A}from"./trash-2-CUcSh2xz.js";import{t as j}from"./triangle-alert-fl0O4ttl.js";import{t as M}from"./wand-sparkles-C9xUdsPZ.js";import{kr as N}from"./constants-CspFM8fh.js";import{D as P,Fi as F,Ha as I,Ia as L,Li as R,T as ee,Tn as te,Xi as z,at as B,ct as V,fr as H,ia as U,li as W,lt as G,oi as K,ot as q,pr as J,st as Y,to as X,tt as Z}from"./index-Bk9SKIXV.js";import{t as Q}from"./CopyToClipboard-CIB9LY9Y.js";import{t as ne}from"./ReportButton-D3eba7A1.js";import{t as re}from"./ImagePreview-Dq6UkYX8.js";import{t as ie}from"./ServicePricingSummary-N2X5DfKj.js";import{t as ae}from"./VideoPlayer-BNtDhrpR.js";import{t as oe}from"./ScenarioPaymentMode-BwoqFZco.js";import{t as se}from"./ApiCodeButton-C5tBSXac.js";import{t as ce}from"./BotPlaceholder-7Rci0gLD.js";import{t as le}from"./taskPollingMixin-CcLxtz8z.js";import{t as ue}from"./Hailuo-Gr9P4KZh.js";import{n as de,t as fe}from"./generationInput-VbA_cpqx.js";var pe=m({name:`ModelSelector`,components:{ElSelect:h,ElOption:g},data(){return{}},computed:{options(){return[{value:`minimax-t2v`,label:this.$t(`hailuo.button.model1`)},{value:`minimax-i2v`,label:this.$t(`hailuo.button.model2`)},{value:`minimax-i2v-director`,label:this.$t(`hailuo.button.model3`)}]},value:{get(){return this.$store.state.hailuo?.config?.model},set(e){this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,model:e})}}},mounted(){this.value||=N}}),me={class:`field`},he={class:`title font-bold`},ge={class:`float-left`};function _e(t,n,r,o,m,h){let g=l(`el-option`),_=l(`el-select`);return p(),s(`div`,me,[e(`h2`,he,i(t.$t(`hailuo.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`hailuo.placeholder.select`),clearable:``},{default:d(()=>[(p(!0),s(c,null,f(t.options,t=>(p(),u(g,{key:t.value,label:t.label,value:t.value},{default:d(()=>[e(`span`,ge,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ve=P(pe,[[`render`,_e],[`__scopeId`,`data-v-a768fbd9`]]),ye=m({name:`StartImageUrlInput`,components:{ElUpload:_,ElButton:X,InfoIcon:T,ImagePreview:re},mixins:[G,V,q,Z],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.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.hailuo?.config?.first_image_url},set(){let e=this.urls?.[0];this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,first_image_url:e})}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){x.warning(this.$t(`hailuo.message.uploadStartImageExceed`))},onError(){x.error(this.$t(`hailuo.message.uploadStartImageError`))},async onRemove(){x.error(this.$t(`hailuo.message.uploadStartImageError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,first_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),be={class:`relative`},xe={class:`flex justify-between`},Se={class:`flex justify-start items-center`},Ce={class:`text-sm font-bold`};function we(t,n,c,f,m,h){let g=l(`info-icon`),_=l(`image-preview`),v=l(`el-button`),y=l(`el-upload`);return p(),s(`div`,be,[e(`div`,xe,[e(`div`,Se,[e(`span`,Ce,i(t.$t(`hailuo.name.startImageUrl`)),1),a(g,{content:t.$t(`hailuo.description.startImageUrl`),class:`info`},null,8,[`content`])])]),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`,"show-file-list":!0,limit:1,multiple:!1,"list-type":`picture`,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-remove":t.onRemove,"on-success":t.onSuccess,headers:t.headers},{file:d(({file:e})=>[e.url&&e.percentage!==void 0?(p(),u(_,{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:d(()=>[a(v,{size:`small`,type:`primary`,class:`btn btn-upload`,round:``},{default:d(()=>[r(i(t.$t(`hailuo.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])])}var Te=P(ye,[[`render`,we],[`__scopeId`,`data-v-322d7e4c`]]),Ee=m({name:`PromptInput`,components:{PromptTextarea:E},computed:{prompt:{get(){return this.$store.state.hailuo?.config?.prompt},set(e){this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function De(e,t,n,r,i,a){let o=l(`prompt-textarea`);return p(),u(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`hailuo.name.prompt`),info:e.$t(`hailuo.description.prompt`),placeholder:e.$t(`hailuo.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Oe=m({name:`PresetPanel`,components:{MagicIcon:M,ElButton:X,PromptInput:P(Ee,[[`render`,De]]),StartImageUrlInput:Te,ModelSelector:ve,ServicePricingSummary:ie,ScenarioPaymentMode:oe},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{canGenerate(){return fe(`hailuo`,H(this.config))},config(){return this.$store.state.hailuo?.config},consumption(){return te(this.config,this.service?.cost)},service(){return this.$store.state.hailuo?.service},walletMode(){return F()&&R(`hailuo`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1;let e=R(`hailuo`);e.quoteUsdc=void 0,e.quoteLoading=!1,this.canGenerate&&(this.quoteTimer=window.setTimeout(this.refreshQuote,350))},async refreshQuote(){if(!this.canGenerate)return;let e=R(`hailuo`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await J.quote(H(this.config));t===this.quoteRunId&&e.mode===`wallet`&&this.canGenerate&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),ke={class:`flex flex-col h-full`},Ae={class:`flex-1 overflow-y-auto p-5`},je={class:`flex flex-col items-center justify-center px-5 pb-5`};function Me(t,n,c,f,m,h){let g=l(`prompt-input`),_=l(`model-selector`),v=l(`start-image-url-input`),y=l(`scenario-payment-mode`),b=l(`service-pricing-summary`),x=l(`magic-icon`),S=l(`el-button`);return p(),s(`div`,ke,[e(`div`,Ae,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.config?.model===`minimax-i2v`?(p(),u(v,{key:0,class:`mb-4`})):o(``,!0)]),e(`div`,je,[a(y,{scenario:`hailuo`}),t.walletMode?o(``,!0):(p(),u(b,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),t.config?.video_url!==void 0||t.config?.custom?(p(),u(S,{key:1,type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:d(()=>[a(x,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`hailuo.button.extend`)),1)]),_:1},8,[`disabled`,`onClick`])):(p(),u(S,{key:2,type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:d(()=>[a(x,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`hailuo.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`]))])])}var Ne=P(Oe,[[`render`,Me]]),Pe=m({name:`TaskPreview`,components:{DeleteIcon:A,ChannelIcon:C,InfoIcon:w,MagicIcon:M,TimeIcon:S,WarningIcon:j,CopyToClipboard:Q,ElAlert:y,VideoPlayer:ae,ElTooltip:v,ElButton:X,ApiCodeButton:se,ReportButton:ne},props:{modelValue:{type:Object,required:!0}},computed:{isFailure(){let e=this.modelValue?.response;return e?.success===!1||!!e?.error||this.video?.state===`failed`||this.video?.state===`cancelled`},isWaiting(){return!this.modelValue?.response||!this.isFailure&&[`queued`,`pending`,`processing`,`running`].includes(this.video?.state||``)},application(){return this.$store.state.hailuo?.application},config(){return this.$store.state.hailuo?.config},video(){return this.modelValue?.response?.data?.[0]}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await I.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`hailuo/deleteTask`,{id:e}),x.success(this.$t(`common.message.deleteTaskSuccess`))}catch{x.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e){console.debug(`on download hailuo video`,e),window.open(e,`_blank`)}}}),Fe={class:`preview`},Ie={class:`left`},Le={class:`main`},Re={class:`bot`},ze={class:`datetime`},Be=[`aria-label`],Ve={class:`info`},He={key:0,class:`prompt mt-2`},Ue={key:0},We={key:1},Ge={key:0,class:n({content:!0,failed:!0})},Ke={key:0,class:`mb-4`},qe={key:1,class:n({operations:!0,"mt-2":!0})},Je={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ye={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Xe={key:1,class:n({content:!0})},Ze={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Qe={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$e={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},et={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},tt={key:2,class:n({content:!0})},nt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function rt(n,c,f,m,h,g){let _=l(`capability-presentation`),v=l(`delete-icon`),y=l(`el-tooltip`),b=l(`video-player`),x=l(`el-button`),S=l(`api-code-button`),C=l(`report-button`),w=l(`channel-icon`),T=l(`copy-to-clipboard`),E=l(`magic-icon`),D=l(`time-icon`),O=l(`el-alert`),k=l(`warning-icon`),A=l(`info-icon`);return p(),s(`div`,Fe,[e(`div`,Ie,[a(_,{capability:`hailuo`,part:`avatar`,class:`avatar`})]),e(`div`,Le,[e(`div`,Re,[a(_,{capability:`hailuo`,part:`name`}),e(`span`,ze,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(y,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:d(()=>[n.modelValue?.id?(p(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(v,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Be)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,Ve,[n.modelValue?.request?.prompt?(p(),s(`p`,He,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(p(),s(`span`,Ue,` - (`+i(n.$t(`hailuo.status.pending`))+`) `,1)),n.modelValue?.response&&n.isWaiting?(p(),s(`span`,We,` - (`+i(n.$t(`hailuo.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&!n.isFailure&&!n.isWaiting?(p(),s(`div`,Ge,[n.video?.video_url?(p(),s(`div`,Ke,[a(b,{src:n.video?.video_url},null,8,[`src`])])):o(``,!0),n.video?(p(),s(`div`,qe,[a(y,{class:`box-item`,effect:`dark`,content:n.$t(`hailuo.message.downloadVideo`),placement:`top-start`},{default:d(()=>[n.video?.video_url?(p(),u(x,{key:0,type:`info`,size:`small`,class:`mb-2`,onClick:c[1]||=t(e=>n.onDownload(n.video?.video_url),[`stop`])},{default:d(()=>[r(i(n.$t(`hailuo.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(S,{path:`/hailuo/videos`,body:n.modelValue?.request},null,8,[`body`]),a(C,{service:`hailuo`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(O,{closable:!1,class:`mt-2 success`},{default:d(()=>[n.modelValue?.request?.model?(p(),s(`p`,Je,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.model`))+`: `+i(n.modelValue?.request?.model)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])])):o(``,!0),e(`p`,$,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(p(),s(`p`,Ye,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.isFailure?(p(),s(`div`,Xe,[a(O,{closable:!1,class:`failure`},{template:d(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.failure`)),1)]),default:d(()=>[e(`p`,Ze,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,Qe,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(T,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(p(),s(`p`,$e,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,et,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(T,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),n.isWaiting?(p(),s(`div`,tt,[a(O,{closable:!1,class:`info`},{template:d(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`hailuo.status.processing`:`hailuo.status.pending`)),1)]),default:d(()=>[e(`p`,nt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`hailuo.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var it=m({name:`RecentPanel`,components:{TaskPreview:P(Pe,[[`render`,rt],[`__scopeId`,`data-v-f8835e7e`]]),BotPlaceholder:ce,NoTasks:O,ScrollList:D},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.hailuo?.tasks,items:this.$store.state.hailuo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),at={key:0},ot={key:2,class:`w-full h-full flex items-center justify-center`};function st(e,t,n,r,i,m){let h=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return p(),s(c,null,[e.tasks?.items===void 0?(p(),s(`div`,at,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(p(),u(_,{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:d(()=>[(p(!0),s(c,null,f(e.tasks?.items,e=>(p(),u(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(p(),s(`div`,ot,[a(v)])):o(``,!0)],64)}var ct=m({name:`HailuoIndex`,components:{ConfigPanel:Ne,Layout:ue,RecentPanel:P(it,[[`render`,st]])},mixins:[Y,le(`hailuo`)],inject:[`initialized`],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.hailuo?.status?.getApplications===b.Request},tasksLoading(){return this.$store.state.hailuo?.status?.getTasks===b.Request||this.fetchingTasks},credential(){return this.$store.state.hailuo.credential},config(){return this.$store.state.hailuo.config},application(){return this.$store.state.hailuo.application},tasks(){return this.$store.state.hailuo.tasks},walletMode(){return F()&&R(`hailuo`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`hailuo/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.onPollTasks,5e3)),!e&&!this.credential?.token){window.clearInterval(this.job),this.job=0,await this.onScrollDown();return}await this.onGetTasks(),await this.onScrollDown()}}},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.onPollTasks,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(`hailuo/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`hailuo/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();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(`hailuo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){let e=H(this.config),t=de(`hailuo`,e);if(t){x.error(this.$t(`common.message.${t}`));return}if(!B(this.uploadTracker,e=>this.$t(e),e=>x.warning(e)))return;let n;if(this.walletMode){let t=this.getWalletContext();if(!t){x.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}n=J.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!U())return;let t=this.credential?.token;if(!t)return;n=J.generate(e,{token:t})}x.info(this.$t(`hailuo.message.startingTask`)),z(`hailuo`,n).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),x.success(this.$t(`hailuo.message.startTaskSuccess`))}).catch(e=>{e instanceof K||ee(e,`hailuo`)||(this.walletMode?x.error(this.$t(`common.x402Scenario.paymentFailed`)):x.error(this.$t(`hailuo.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return W(this.$wallet)},async confirmWalletPayment(e){return I.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function lt(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),f=l(`layout`);return p(),u(f,null,{config:d(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:d(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var ut=P(ct,[[`render`,lt]]);export{ut 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-Dv7ZrvnE.js";import{t as b}from"./upload-BG3x_JWJ.js";import{t as x}from"./tooltip-L2G5ntVi.js";import{t as S}from"./alert-BprQRUmf.js";import{_ as C,v as w}from"./vuex.esm-bundler-C-5WV-ta.js";import{t as T}from"./drawer-VaJhlwVr.js";import{t as E}from"./input-number-BwJ2QIsY.js";import{t as D}from"./slider-C4ifUfAq.js";import{t as O}from"./clock-DIjv9Rh6.js";import{t as k}from"./hash-B61j4cgz.js";import{t as A}from"./info-CDi6ZfZf.js";import{a as j,i as ee,n as M,r as N,t as P}from"./pagination-BodQ3KsQ.js";import{t as F}from"./trash-2-CUcSh2xz.js";import{t as I}from"./triangle-alert-fl0O4ttl.js";import{t as te}from"./upload-ClpzRFqM.js";import{t as L}from"./wand-sparkles-C9xUdsPZ.js";import{Mr as ne,Nr as re,Pr as R}from"./constants-CspFM8fh.js";import{D as z,Fi as B,Ha as V,Ia as H,Li as U,T as W,Tn as G,Xi as K,at as q,ct as J,hr as Y,ia as X,li as ie,lt as ae,mr as Z,oi as oe,ot as se,st as ce,to as Q,tt as le}from"./index-Bk9SKIXV.js";import{t as ue}from"./CopyToClipboard-CIB9LY9Y.js";import{t as de}from"./ReportButton-D3eba7A1.js";import{t as fe}from"./ImagePreview-Dq6UkYX8.js";import{n as pe}from"./taskDrawerMixin-DyAUhFEq.js";import{t as me}from"./ServicePricingSummary-N2X5DfKj.js";import{t as he}from"./ScenarioPaymentMode-BwoqFZco.js";import{t as ge}from"./ApiCodeButton-C5tBSXac.js";import{t as _e}from"./BotPlaceholder-7Rci0gLD.js";import{t as ve}from"./taskPollingMixin-CcLxtz8z.js";import{n as ye,t as be}from"./generationInput-VbA_cpqx.js";import{t as xe}from"./ImageWrapper-C9nEUyQX.js";var Se=_({name:`LayoutFlux`,components:{MagicIcon:L,ElDrawer:T,ElButton:Q},mixins:[pe]}),Ce={class:`main flex flex-row flex-1`},we={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Te={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Ee(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,Ce,[e(`div`,we,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Te,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var De=z(Se,[[`render`,Ee],[`__scopeId`,`data-v-4cd4d561`]]),Oe=_({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},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||=R}}),ke={class:`field`},Ae={class:`title font-bold`};function je(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,ke,[e(`h2`,Ae,i(t.$t(`flux.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Me=z(Oe,[[`render`,je],[`__scopeId`,`data-v-e9b17945`]]),Ne=_({name:`CountSelector`,components:{ElSlider:D,InfoIcon:j,ElInputNumber:E},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`},Fe={class:`flex justify-start items-center`},Ie={class:`text-sm font-bold`},Le={class:`flex justify-end items-center`},Re={class:`w-full`};function ze(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input-number`),p=l(`el-slider`);return h(),s(`div`,null,[e(`div`,Pe,[e(`div`,Fe,[e(`span`,Ie,i(t.$t(`flux.name.numbers`)),1),a(d,{content:t.$t(`flux.description.numbers`)},null,8,[`content`])]),e(`div`,Le,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),e(`div`,Re,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[1]||=e=>t.value=e,min:1,max:4,step:1},null,8,[`modelValue`])])])}var Be=z(Ne,[[`render`,ze]]),Ve=_({name:`ActionSelector`,components:{ElSelect:v,ElOption:y},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||=re}}),He={class:`field`},Ue={class:`title font-bold`};function We(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,He,[e(`h2`,Ue,i(t.$t(`flux.name.task`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ge=z(Ve,[[`render`,We],[`__scopeId`,`data-v-81fd05e5`]]),Ke=_({name:`ImageUrlInput`,components:{UploadIcon:te,ElUpload:b,ElButton:Q,InfoIcon:j,ImagePreview:fe},mixins:[ae,J,se,le],emits:[`change`],data(){return{fileList:[],uploadUrl:H()+`/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(){w.warning(this.$t(`flux.message.uploadStartImageExceed`))},onError(){w.error(this.$t(`flux.message.uploadStartImageError`))}}}),qe={class:`relative`},Je={class:`flex justify-between`},Ye={class:`flex justify-start items-center`},Xe={class:`text-sm font-bold`};function Ze(t,n,o,c,u,d){let f=l(`info-icon`),m=l(`image-preview`),g=l(`upload-icon`),_=l(`el-button`),v=l(`el-upload`);return h(),s(`div`,qe,[e(`div`,Je,[e(`div`,Ye,[e(`span`,Xe,i(t.$t(`flux.name.imageUrl`)),1),a(f,{content:t.$t(`flux.description.imageUrl`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,limit:5,class:`upload-wrapper`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,multiple:!0,"list-type":`picture`,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,headers:t.headers},{file:p(({file:e})=>[a(m,{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:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(g,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`flux.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`headers`])])}var Qe=z(Ke,[[`render`,Ze],[`__scopeId`,`data-v-9830e0c3`]]),$e=_({name:`PromptInput`,components:{PromptTextarea:ee},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 et(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(`flux.name.prompt`),info:e.$t(`flux.description.prompt`),placeholder:e.$t(`flux.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var tt=z($e,[[`render`,et]]),nt=_({name:`SizeSelector`,components:{ElSelect:v,ElOption:y},data(){return{options:ne}},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`}}),rt={class:`field`},it={class:`title font-bold`};function at(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,rt,[e(`h2`,it,i(t.$t(`flux.name.ratio`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ot=z(nt,[[`render`,at],[`__scopeId`,`data-v-8c58dc91`]]),st=350,ct=_({name:`PresetPanel`,components:{MagicIcon:L,ElButton:Q,PromptInput:tt,ModelSelector:Me,CountSelector:Be,ServicePricingSummary:me,ActionSelector:Ge,ImageUrlInput:Qe,SizeSelector:ot,ScenarioPaymentMode:he},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{canGenerate(){return be(`flux`,Z(this.config))},config(){return this.$store.state.flux?.config},consumption(){return G(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service},walletMode(){return B()&&U(`flux`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1;let e=U(`flux`);e.quoteUsdc=void 0,e.quoteLoading=!1,this.canGenerate&&(this.quoteTimer=window.setTimeout(this.refreshQuote,st))},async refreshQuote(){if(!this.canGenerate)return;let e=U(`flux`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await Y.quote(Z(this.config));t===this.quoteRunId&&e.mode===`wallet`&&this.canGenerate&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),lt={class:`flex flex-col h-full`},ut={class:`flex-1 overflow-y-auto p-5`},dt={class:`flex flex-col items-center justify-center px-5 pb-5`};function ft(t,n,c,u,d,m){let g=l(`action-selector`),_=l(`prompt-input`),v=l(`image-url-input`),y=l(`model-selector`),b=l(`size-selector`),x=l(`count-selector`),S=l(`scenario-payment-mode`),C=l(`service-pricing-summary`),w=l(`magic-icon`),T=l(`el-button`);return h(),s(`div`,lt,[e(`div`,ut,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.config?.action===`edits`?(h(),f(v,{key:0,class:`mb-4`})):o(``,!0),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`})]),e(`div`,dt,[a(S,{scenario:`flux`}),t.walletMode?o(``,!0):(h(),f(C,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(T,{type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:p(()=>[a(w,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`flux.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var pt=z(ct,[[`render`,ft]]),mt=_({name:`TaskPreview`,components:{DeleteIcon:F,ElTooltip:x,ChannelIcon:k,InfoIcon:A,MagicIcon:L,TimeIcon:O,WarningIcon:I,CopyToClipboard:ue,ElAlert:S,ImageWrapper:xe,ApiCodeButton:ge,ReportButton:de},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:{async onDelete(){let e=this.modelValue?.id;if(e){try{await V.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`flux/deleteTask`,{id:e}),w.success(this.$t(`common.message.deleteTaskSuccess`))}catch{w.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenImage(e){window.open(e,`_blank`)}}}),ht={class:`preview`},gt={class:`left`},_t={class:`main`},vt={class:`bot`},yt={class:`datetime`},bt=[`aria-label`],xt={class:`info`},St={key:0,class:`prompt mt-2`},Ct={key:0},wt={key:0,class:n({content:!0,failed:!0})},Tt={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},Et={class:n({operations:!0,"mt-2":!0,"mb-2":!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-0`},At={key:1,class:n({content:!0})},jt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Mt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Nt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Pt={key:2,class:n({content:!0})},Ft={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function It(n,u,d,g,_,v){let y=l(`capability-presentation`),b=l(`delete-icon`),x=l(`el-tooltip`),S=l(`image-wrapper`),C=l(`api-code-button`),w=l(`report-button`),T=l(`channel-icon`),E=l(`magic-icon`),D=l(`copy-to-clipboard`),O=l(`time-icon`),k=l(`el-alert`),A=l(`warning-icon`),j=l(`info-icon`);return h(),s(`div`,ht,[e(`div`,gt,[a(y,{capability:`flux`,part:`avatar`,class:`avatar`})]),e(`div`,_t,[e(`div`,vt,[a(y,{capability:`flux`,part:`name`}),e(`span`,yt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:u[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,bt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,xt,[n.modelValue?.request?.prompt?(h(),s(`p`,St,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,Ct,` - (`+i(n.$t(`flux.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,wt,[e(`div`,Tt,[(h(!0),s(c,null,m(n.images,(e,t)=>(h(),f(S,{key:t,src:e?.image_url,"raw-src":e?.image_url,"model-value":e},null,8,[`src`,`raw-src`,`model-value`]))),128))]),e(`div`,Et,[a(C,{path:`/flux/images`,body:n.modelValue?.request},null,8,[`body`]),a(w,{service:`flux`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])]),a(k,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,Dt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.model`))+`: `+i(n.modelValue?.request?.model),1)]),e(`p`,Ot,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,kt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===!1?(h(),s(`div`,At,[a(k,{closable:!1,class:`failure`},{template:p(()=>[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.failure`)),1)]),default:p(()=>[e(`p`,jt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,Mt,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(D,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,Nt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,$,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(D,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),n.modelValue?.response?o(``,!0):(h(),s(`div`,Pt,[a(k,{closable:!1,class:`info`},{template:p(()=>[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.status.pending`)),1)]),default:p(()=>[e(`p`,Ft,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var Lt=_({name:`RecentPanel`,components:{TaskPreview:z(mt,[[`render`,It],[`__scopeId`,`data-v-7bae4285`]]),BotPlaceholder:_e,NoTasks:N,ScrollList:M},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?.()}}}),Rt={key:0},zt={key:2,class:`w-full h-full flex items-center justify-center`};function Bt(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`,Rt,[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`,zt,[a(v)])):o(``,!0)],64)}var Vt=_({name:`FluxIndex`,components:{ConfigPanel:pt,Layout:De,RecentPanel:z(Lt,[[`render`,Bt]])},mixins:[ce,ve(`flux`)],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===C.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===C.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},walletMode(){return B()&&U(`flux`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){t===void 0||e===t||(this.$store.commit(`flux/setTasks`,void 0),await this.onGetTasks(),await this.onScrollDown())}},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.onPollTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await P({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,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){let e=Z(this.config),t=ye(`flux`,e);if(t){w.error(this.$t(`common.message.${t}`));return}if(!q(this.uploadTracker,e=>this.$t(e),e=>w.warning(e)))return;let n;if(this.walletMode){let t=this.getWalletContext();if(!t){w.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}n=Y.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!X())return;let t=this.credential?.token;if(!t)return;n=Y.generate(e,{token:t})}w.info(this.$t(`flux.message.startingTask`)),K(`flux`,n).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),w.success(this.$t(`flux.message.startTaskSuccess`))}).catch(e=>{if(e instanceof oe)return;let t=e?.response?.data;W(e,`flux`)||(this.walletMode?w.error(this.$t(`common.x402Scenario.paymentFailed`)):w.error(this.$t(`flux.message.startTaskFailed`)+(t?.error?.message||``)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return ie(this.$wallet)},async confirmWalletPayment(e){return V.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},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 Ut=z(Vt,[[`render`,Ht]]);export{Ut 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,R as c,T as l,at as u,ht as d,it as f,j as p,mt as m,rt as h,tt as g,x as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{r as y,t as b}from"./select-Dv7ZrvnE.js";import{t as x}from"./upload-BG3x_JWJ.js";import{t as S}from"./tooltip-L2G5ntVi.js";import{t as C}from"./alert-BprQRUmf.js";import{_ as w,v as T}from"./vuex.esm-bundler-C-5WV-ta.js";import{n as E,r as D}from"./radio-BNhFzeBO.js";import{t as O}from"./drawer-VaJhlwVr.js";import{t as k}from"./switch-CFUCWNgM.js";import{t as A}from"./clock-DIjv9Rh6.js";import{t as j}from"./hash-B61j4cgz.js";import{t as M}from"./info-CDi6ZfZf.js";import{a as N,i as ee,n as P,r as F,t as I}from"./pagination-BodQ3KsQ.js";import{t as L}from"./trash-2-CUcSh2xz.js";import{t as R}from"./triangle-alert-fl0O4ttl.js";import{t as te}from"./upload-ClpzRFqM.js";import{t as z}from"./wand-sparkles-C9xUdsPZ.js";import{Ii as ne}from"./constants-CspFM8fh.js";import{t as re}from"./preload-helper-zJ_50EbN.js";import{Br as B,D as V,Fi as H,Ha as U,Ia as W,Ki as G,Li as K,T as q,Tn as J,Xi as Y,at as X,ct as ie,ia as ae,li as oe,lt as se,oi as ce,ot as le,st as ue,to as Z,tt as de,zr as Q}from"./index-Bk9SKIXV.js";import{t as fe}from"./CopyToClipboard-CIB9LY9Y.js";import{t as pe}from"./ReportButton-D3eba7A1.js";import{t as me}from"./ImagePreview-Dq6UkYX8.js";import{n as he}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ge}from"./ServicePricingSummary-N2X5DfKj.js";/* empty css */import{t as _e}from"./ScenarioPaymentMode-BwoqFZco.js";import{t as ve}from"./ApiCodeButton-C5tBSXac.js";import{t as ye}from"./BotPlaceholder-7Rci0gLD.js";import{t as be}from"./taskPollingMixin-CcLxtz8z.js";import{n as xe,t as Se}from"./generationInput-VbA_cpqx.js";var Ce=v({name:`LayoutPika`,components:{MagicIcon:z,ElDrawer:O,ElButton:Z},mixins:[he]}),we={class:`main flex flex-row flex-1`},Te={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Ee={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function De(t,n,r,i,o,c){let l=u(`magic-icon`),p=u(`el-button`),h=u(`el-drawer`);return g(),s(`div`,we,[e(`div`,Te,[f(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ee,[f(t.$slots,`result`,{},void 0,!0)]),d(a(p,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:m(()=>[a(l,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[_,!t.tasksEmpty]]),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`generator-drawer`},{default:m(()=>[f(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Oe=V(Ce,[[`render`,De],[`__scopeId`,`data-v-85e060ce`]]),ke=v({name:`IngredientsSelector`,components:{ElSwitch:k,InfoIcon:N},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients},set(e){if(!e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients:e,ingredients_mode:void 0,image_url:void 0});return}this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients:e,model:`2.0`})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Ae={class:`field`},je={class:`label`},Me={class:`title font-bold`};function Ne(t,n,r,o,c,l){let d=u(`info-icon`),f=u(`el-switch`);return g(),s(`div`,Ae,[e(`div`,je,[e(`h2`,Me,i(t.$t(`pika.name.ingredients`)),1),a(d,{content:t.$t(`pika.description.ingredients`),class:`info`},null,8,[`content`])]),a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])}var Pe=V(ke,[[`render`,Ne],[`__scopeId`,`data-v-606e1d1a`]]),Fe=v({name:`EffectSelector`,components:{ElSelect:y,ElOption:b},data(){return{}},computed:{options(){return[{value:`Levitate`,label:this.$t(`pika.style.effect1`)},{value:`Decapitate`,label:this.$t(`pika.style.effect2`)},{value:`Eye-pop`,label:this.$t(`pika.style.effect3`)},{value:`Ta-da`,label:this.$t(`pika.style.effect4`)},{value:`Deflate`,label:this.$t(`pika.style.effect5`)},{value:`Crumble`,label:this.$t(`pika.style.effect6`)},{value:`Dissolve`,label:this.$t(`pika.style.effect7`)},{value:`Squish`,label:this.$t(`pika.style.effect8`)},{value:`Inflate`,label:this.$t(`pika.style.effect9`)},{value:`Melt`,label:this.$t(`pika.style.effect10`)},{value:`Cake-ify`,label:this.$t(`pika.style.effect11`)},{value:`Crush`,label:this.$t(`pika.style.effect12`)},{value:`Explode`,label:this.$t(`pika.style.effect13`)}]},value:{get(){return this.$store.state.pika?.config?.effect},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,effect:e})}}}}),Ie={class:`field`},Le={class:`title font-bold`},Re={class:`float-left`};function ze(t,n,r,o,c,d){let f=u(`el-option`),_=u(`el-select`);return g(),s(`div`,Ie,[e(`h2`,Le,i(t.$t(`pika.name.effect`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pika.placeholder.select`),clearable:``},{default:m(()=>[(g(!0),s(l,null,h(t.options,t=>(g(),p(f,{key:t.value,label:t.label,value:t.value},{default:m(()=>[e(`span`,Re,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Be=V(Fe,[[`render`,ze],[`__scopeId`,`data-v-d1c54475`]]),Ve=v({name:`IngredientsModelSelector`,components:{ElRadioButton:E,ElRadioGroup:D},data(){return{options:[{label:this.$t(`pika.button.precise`),value:`precise`},{label:this.$t(`pika.button.creative`),value:`creative`}]}},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients_mode},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients_mode:e})}}},mounted(){this.value||=ne}}),He={class:`field`},Ue={class:`title font-bold`};function We(t,n,o,c,d,f){let _=u(`el-radio-button`),v=u(`el-radio-group`);return g(),s(`div`,He,[e(`h2`,Ue,i(t.$t(`pika.name.ingredientsModel`)),1),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`quality`},{default:m(()=>[(g(!0),s(l,null,h(t.options,e=>(g(),p(_,{key:e.value,label:e.value},{default:m(()=>[r(i(e.label),1)]),_:2},1032,[`label`]))),128))]),_:1},8,[`modelValue`])])}var Ge=V(Ve,[[`render`,We],[`__scopeId`,`data-v-b72865fa`]]),Ke=v({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`2.0`,label:`2.0`},{value:`1.5`,label:`1.5`}]}},computed:{value:{get(){return this.$store.state.pika?.config?.model},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika.config,model:e})}}},mounted(){this.value||=`2.0`}}),qe={class:`field`},Je={class:`title font-bold`};function Ye(t,n,r,o,c,d){let f=u(`el-option`),_=u(`el-select`);return g(),s(`div`,qe,[e(`h2`,Je,i(t.$t(`pika.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pika.placeholder.select`)},{default:m(()=>[(g(!0),s(l,null,h(t.options,e=>(g(),p(f,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Xe=V(Ke,[[`render`,Ye],[`__scopeId`,`data-v-7b2e870a`]]),Ze=v({name:`ImageUrlInput`,components:{UploadIcon:te,ElUpload:x,ElButton:Z,InfoIcon:N,ImagePreview:me},mixins:[se,ie,le,de],data(){return{fileList:[],uploadUrl:W()+`/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.pika?.config?.image_url}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;let t=this.fileList.filter(e=>!e.response?.file_url),n=(e||[]).map(e=>this.fileList.find(t=>t.response?.file_url===e||t.url===e)||{name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}});this.fileList=[...n,...t.filter(e=>!n.includes(e))]}}},methods:{onChange(e){!e.url&&e.raw&&(e.url=URL.createObjectURL(e.raw))},onExceed(){T.warning(this.$t(`pika.message.uploadStartImageExceed`))},onError(){T.error(this.$t(`pika.message.uploadStartImageError`))},onRemove(){this.onSetStartImageUrl()},onSetStartImageUrl(){this.suppressWatch=!0,this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,image_url:this.urls}),this.$nextTick(()=>{this.suppressWatch=!1})},onSuccess(){this.onSetStartImageUrl()},onRemovePreview(e){let t=this.fileList.indexOf(e);t>=0&&this.fileList.splice(t,1),e.url?.startsWith(`blob:`)&&URL.revokeObjectURL(e.url),this.onSetStartImageUrl()}}}),Qe={class:`field`},$e={class:`label`},et={class:`title font-bold`},tt={key:0,class:`file-list mt-2 flex flex-wrap gap-[10px]`};function nt(t,n,c,d,f,_){let v=u(`info-icon`),y=u(`upload-icon`),b=u(`el-button`),x=u(`el-upload`),S=u(`image-preview`);return g(),s(`div`,null,[e(`div`,Qe,[e(`div`,$e,[e(`h2`,et,i(t.$t(`pika.name.imageUrl`)),1),a(v,{content:t.$t(`pika.description.imageUrl`),class:`info`},null,8,[`content`])]),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`,class:`value shrink-0`,limit:3,multiple:!0,"show-file-list":!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-change":t.onChange,"on-remove":t.onRemove,"on-success":t.onSuccess,headers:t.headers},{default:m(()=>[a(b,{size:`small`,type:`primary`,round:``},{default:m(()=>[a(y,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`pika.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-change`,`on-remove`,`on-success`,`headers`])]),t.fileList.length?(g(),s(`div`,tt,[(g(!0),s(l,null,h(t.fileList,(e,n)=>(g(),p(S,{key:e.uid||e.url||n,url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.onRemovePreview(e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])):o(``,!0)])}var rt=V(Ze,[[`render`,nt],[`__scopeId`,`data-v-637337bb`]]),it=v({name:`PromptInput`,components:{PromptTextarea:ee},computed:{prompt:{get(){return this.$store.state.pika?.config?.prompt},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,prompt:e})}}},mounted(){this.prompt||=``}});function at(e,t,n,r,i,a){let o=u(`prompt-textarea`);return g(),p(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`pika.name.prompt`),info:e.$t(`pika.description.prompt`),placeholder:e.$t(`pika.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var ot=v({name:`PresetPanel`,components:{MagicIcon:z,ImageUrlInput:rt,ElButton:Z,ServicePricingSummary:ge,PromptInput:V(it,[[`render`,at]]),IngredientsSelector:Pe,IngredientsModelSelector:Ge,ModelSelector:Xe,EffectSelector:Be,ScenarioPaymentMode:_e},emits:[`generate`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{canGenerate(){return Se(`pika`,Q(this.config))},config(){return this.$store.state.pika?.config},consumption(){return J(this.config,this.service?.cost)},service(){return this.$store.state.pika?.service},walletMode(){return H()&&K(`pika`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1;let e=K(`pika`);e.quoteUsdc=void 0,e.quoteLoading=!1,this.canGenerate&&(this.quoteTimer=window.setTimeout(this.refreshQuote,350))},async refreshQuote(){if(!this.canGenerate)return;let e=K(`pika`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await B.quote(Q(this.config));t===this.quoteRunId&&e.mode===`wallet`&&this.canGenerate&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),st={class:`flex flex-col h-full`},ct={class:`flex-1 overflow-y-auto p-5`},lt={class:`flex flex-col items-center justify-center px-5 pb-5`};function ut(t,n,c,l,d,f){let h=u(`prompt-input`),_=u(`model-selector`),v=u(`ingredients-selector`),y=u(`effect-selector`),b=u(`image-url-input`),x=u(`ingredients-model-selector`),S=u(`scenario-payment-mode`),C=u(`service-pricing-summary`),w=u(`magic-icon`),T=u(`el-button`);return g(),s(`div`,st,[e(`div`,ct,[a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),t.config?.ingredients?(g(),p(b,{key:0,class:`mb-4`})):o(``,!0),t.config?.ingredients?(g(),p(x,{key:1,class:`mb-4`})):o(``,!0)]),e(`div`,lt,[a(S,{scenario:`pika`}),t.walletMode?o(``,!0):(g(),p(C,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(T,{type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:m(()=>[a(w,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`pika.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var dt=V(ot,[[`render`,ut]]),ft=v({name:`VideoPlayer`,components:{VuePlyr:c(()=>re(()=>import(`./index.esm-B6OqqThm.js`),[]))},props:{modelValue:{type:Object,required:!0}},data(){return{clientReady:!1,options:{quality:{default:1080,options:[1080]}}}},mounted(){this.clientReady=!0}}),pt=[`data-poster`],mt=[`src`];function ht(t,n,r,i,a,c){let l=u(`vue-plyr`);return g(),s(`div`,null,[t.clientReady?(g(),p(l,{key:0,options:t.options,class:`video`},{default:m(()=>[e(`video`,{controls:``,playsinline:``,preload:`metadata`,"data-poster":t.modelValue?.image_url},[e(`source`,{size:`1080`,src:t.modelValue?.video_url,type:`video/mp4`},null,8,mt)],8,pt)]),_:1},8,[`options`])):o(``,!0)])}var gt=v({name:`TaskPreview`,components:{DeleteIcon:L,ChannelIcon:j,InfoIcon:M,MagicIcon:z,TimeIcon:A,WarningIcon:R,CopyToClipboard:fe,ElAlert:C,VideoPlayer:V(ft,[[`render`,ht],[`__scopeId`,`data-v-3a68a4bd`]]),ElTooltip:S,ElButton:Z,ApiCodeButton:ve,ReportButton:pe},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pika?.application},config(){return this.$store.state.pika?.config},videos(){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.length===0&&e.push({}),e}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await U.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`pika/deleteTask`,{id:e}),T.success(this.$t(`common.message.deleteTaskSuccess`))}catch{T.error(this.$t(`common.message.deleteTaskFailed`))}}},isFailure(e){let t=this.modelValue?.response;return t?.success===!1||!!t?.error||e?.state===`failed`||e?.state===`cancelled`},isWaiting(e){return this.modelValue?.response?this.isFailure(e)||e?.video_url?!1:!e?.state||[`queued`,`pending`,`processing`,`running`].includes(e.state):!0},onDownload(e){console.log(`on download`),window.open(e,`_blank`)},onReload(e){let t=e.target,n=new URL(t.src),r=n.searchParams.get(`retry`);if(!r)n.searchParams.set(`retry`,`1`);else if(parseInt(r)<2)n.searchParams.set(`retry`,(parseInt(r)+1).toString());else return;t.src=n.toString()},onOpenVideo(e){window.open(e,`_blank`)}}}),_t={class:`left`},vt={class:`main`},yt={class:`bot`},bt={class:`datetime`},xt=[`aria-label`],St={class:`info`},Ct={key:0,class:`prompt mt-2`},wt={key:0},Tt={key:1},Et={key:0,class:n({content:!0,failed:!0})},Dt={class:`image-wrapper`},Ot={key:0,class:n({operations:!0,"mt-2":!0})},kt={key:0,class:`description`},At={class:`description`},jt={key:1,class:`description`},Mt={key:1,class:n({content:!0})},Nt={class:`description`},$={class:`description`},Pt={key:0,class:`description`},Ft={class:`description`},It={key:2,class:n({content:!0})},Lt={class:`description`};function Rt(n,c,d,f,_,v){let y=u(`capability-presentation`),b=u(`delete-icon`),x=u(`el-tooltip`),S=u(`VideoPlayer`),C=u(`el-button`),w=u(`api-code-button`),T=u(`report-button`),E=u(`channel-icon`),D=u(`magic-icon`),O=u(`copy-to-clipboard`),k=u(`time-icon`),A=u(`el-alert`),j=u(`warning-icon`),M=u(`info-icon`);return g(!0),s(l,null,h(n.videos,(l,u)=>(g(),s(`div`,{key:u,class:`preview`},[e(`div`,_t,[a(y,{capability:`pika`,part:`avatar`,class:`avatar`})]),e(`div`,vt,[e(`div`,yt,[a(y,{capability:`pika`,part:`name`}),e(`span`,bt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:m(()=>[n.modelValue?.id?(g(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,xt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,St,[n.modelValue?.request?.prompt?(g(),s(`p`,Ct,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(g(),s(`span`,wt,` - (`+i(n.$t(`pika.status.pending`))+`) `,1)),n.modelValue?.response&&n.isWaiting(l)?(g(),s(`span`,Tt,` - (`+i(n.$t(`pika.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&l?.video_url?(g(),s(`div`,Et,[e(`div`,Dt,[a(S,{"model-value":l},null,8,[`model-value`])]),l?(g(),s(`div`,Ot,[a(x,{class:`box-item`,effect:`dark`,content:n.$t(`pika.message.downloadVideo`),placement:`top-start`},{default:m(()=>[l?.video_url?(g(),p(C,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:e=>n.onDownload(l?.video_url)},{default:m(()=>[r(i(n.$t(`pika.button.download`)),1)]),_:1},8,[`onClick`])):o(``,!0)]),_:2},1032,[`content`]),a(w,{path:`/pika/videos`,body:n.modelValue?.request},null,8,[`body`]),a(T,{service:`pika`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(A,{closable:!1,class:`mt-2 success`},{default:m(()=>[n.modelValue?.request?.model?(g(),s(`p`,kt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),e(`p`,At,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(O,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,jt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.isFailure(l)?(g(),s(`div`,Mt,[a(A,{closable:!1,class:`failure`},{template:m(()=>[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.failure`)),1)]),default:m(()=>[e(`p`,Nt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(O,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,$,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(O,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,Pt,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,Ft,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(O,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),n.isWaiting(l)?(g(),s(`div`,It,[a(A,{closable:!1,class:`info`},{template:m(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`pika.status.processing`:`pika.status.pending`)),1)]),default:m(()=>[e(`p`,Lt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`pika.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(O,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0)])]))),128)}var zt=v({name:`RecentPanel`,components:{TaskPreview:V(gt,[[`render`,Rt],[`__scopeId`,`data-v-4c95d941`]]),BotPlaceholder:ye,NoTasks:F,ScrollList:P},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pika?.tasks,items:this.$store.state.pika?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Bt={key:0},Vt={key:2,class:`w-full h-full flex items-center justify-center`};function Ht(e,t,n,r,i,c){let d=u(`bot-placeholder`),f=u(`task-preview`),_=u(`scroll-list`),v=u(`no-tasks`);return g(),s(l,null,[e.tasks?.items===void 0?(g(),s(`div`,Bt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),p(_,{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(()=>[(g(!0),s(l,null,h(e.tasks?.items,(e,t)=>(g(),p(f,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,Vt,[a(v)])):o(``,!0)],64)}var Ut=v({name:`PikaIndex`,components:{ConfigPanel:dt,Layout:Oe,RecentPanel:V(zt,[[`render`,Ht]])},mixins:[ue,be(`pika`)],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.pika?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.pika?.status?.getTasks===w.Request||this.fetchingTasks},service(){return this.$store.state.pika.service},credential(){return this.$store.state.pika.credential},config(){return this.$store.state.pika.config},initializing(){return this.$store.state.pika.status.getApplications===w.Request},needApply(){return this.$store.state.pika.status.getApplications===w.Success&&!this.application},application(){return this.$store.state.pika.application},applications(){return this.$store.state.pika.applications},tasks(){return this.$store.state.pika.tasks},walletMode(){return H()&&K(`pika`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`pika/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.onPollTasks,5e3)),!e&&!this.credential?.token){window.clearInterval(this.job),this.job=0,await this.onScrollDown();return}await this.onGetTasks(),await this.onScrollDown()}}},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.onPollTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await I({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(`pika/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`pika/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},onApply(){G.create({application:this.application}).then(({data:e})=>{this.application=e,T.success(this.$t(`application.message.applySuccessfully`))}).catch(e=>{e?.response?.data?.code===`duplication`&&T.error(this.$t(`application.message.alreadyApplied`))})},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(`pika/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){let e=Q(this.config),t=xe(`pika`,e);if(t){T.error(this.$t(`common.message.${t}`));return}if(!X(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let n;if(this.walletMode){let t=this.getWalletContext();if(!t){T.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}n=B.generate(e,{mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!ae())return;let t=this.credential?.token;if(!t)return;n=B.generate(e,{token:t})}T.info(this.$t(`pika.message.startingTask`)),Y(`pika`,n).then(e=>{let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t),T.success(this.$t(`pika.message.startTaskSuccess`)),this.$store.commit(`pika/setConfig`,{config:void 0})}).catch(e=>{e instanceof ce||q(e,`pika`)||(this.walletMode?T.error(this.$t(`common.x402Scenario.paymentFailed`)):T.error(this.$t(`pika.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return oe(this.$wallet)},async confirmWalletPayment(e){return U.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Wt(e,t,n,r,i,o){let s=u(`config-panel`),c=u(`recent-panel`),l=u(`layout`);return g(),p(l,null,{config:m(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:m(()=>[a(c,{ref:`recentPanel`,class:`panel recent`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Gt=V(Ut,[[`render`,Wt],[`__scopeId`,`data-v-50569acf`]]);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-Dv7ZrvnE.js";import{t as b}from"./upload-BG3x_JWJ.js";import{t as x}from"./tooltip-L2G5ntVi.js";import{t as S}from"./alert-BprQRUmf.js";import{_ as C,v as w}from"./vuex.esm-bundler-C-5WV-ta.js";import{t as T}from"./checkbox-DXMDpaxv.js";import{t as E}from"./drawer-VaJhlwVr.js";import{t as D}from"./input-number-BwJ2QIsY.js";import{t as O}from"./box-3_e2nW7_.js";import{t as k}from"./clock-DIjv9Rh6.js";import{t as A}from"./hash-B61j4cgz.js";import{t as j}from"./image-DNGAwErV.js";import{t as M}from"./info-CDi6ZfZf.js";import{a as N,i as P,n as F,r as I,t as ee}from"./pagination-BodQ3KsQ.js";import{t as L}from"./trash-2-CUcSh2xz.js";import{t as te}from"./triangle-alert-fl0O4ttl.js";import{t as ne}from"./upload-ClpzRFqM.js";import{t as R}from"./wand-sparkles-C9xUdsPZ.js";import{t as re}from"./zap-B0eAEhqX.js";import{On as ie}from"./constants-CspFM8fh.js";import{D as z,Ha as B,Ia as V,T as H,Tn as U,Xi as W,Yn as G,at as K,ct as q,ia as J,lo as Y,lt as ae,ot as oe,st as se,to as X,tt as ce}from"./index-Bk9SKIXV.js";import{t as le}from"./CopyToClipboard-CIB9LY9Y.js";import{t as ue}from"./ReportButton-D3eba7A1.js";import{t as Z}from"./ImagePreview-Dq6UkYX8.js";import{n as de}from"./taskDrawerMixin-DyAUhFEq.js";import{t as fe}from"./ServicePricingSummary-N2X5DfKj.js";import{t as pe}from"./ApiCodeButton-C5tBSXac.js";import{t as me}from"./BotPlaceholder-7Rci0gLD.js";import{t as he}from"./taskPollingMixin-CcLxtz8z.js";import{t as ge}from"./ShowcaseResultTabs-Bx16-8QM.js";import{t as _e}from"./showcaseRecreateMixin-C0UnaxsG.js";import{n as ve,t as ye}from"./generationInput-VbA_cpqx.js";import{t as be}from"./ImageWrapper-C9nEUyQX.js";var xe=_({name:`LayoutQwenImage`,components:{MagicIcon:R,ElDrawer:E,ElButton:X},mixins:[de]}),Se={class:`main flex flex-row flex-1`},Ce={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},we={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Te(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,Se,[e(`div`,Ce,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,we,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Ee=z(xe,[[`render`,Te],[`__scopeId`,`data-v-55d4f45e`]]),De=_({name:`QwenImagePromptInput`,components:{PromptTextarea:P},computed:{prompt:{get(){return this.$store.state.qwenimage?.config?.prompt},set(e){this.$store.commit(`qwenimage/setConfig`,{...this.$store.state.qwenimage?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Oe(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(`qwenimage.name.prompt`),info:e.$t(`qwenimage.description.prompt`),placeholder:e.$t(`qwenimage.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var ke=z(De,[[`render`,Oe]]),Ae=e=>({image:!0}),je=_({name:`QwenImageImageInput`,components:{UploadIcon:ne,ElUpload:b,ElButton:X,InfoIcon:N,ImagePreview:Z},mixins:[ae,q,oe,ce],data(){return{fileList:[],uploadUrl:V()+`/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.qwenimage?.config?.image},model(){return this.$store.state.qwenimage?.config?.model},supported(){return Ae(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(){w.warning(this.$t(`qwenimage.message.uploadImageExceed`))},onError(){w.error(this.$t(`qwenimage.message.uploadImageError`))},onSetImages(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`qwenimage/setConfig`,{...this.$store.state.qwenimage?.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()}}}),Me={key:0},Ne={class:`field`},Pe={class:`label`},Fe={class:`box`},Ie={class:`title font-bold`},Le={class:`value`},Re={class:`file-list mt-2 flex flex-wrap gap-[10px]`};function ze(t,n,u,d,g,_){let v=l(`info-icon`),y=l(`upload-icon`),b=l(`el-button`),x=l(`el-upload`),S=l(`image-preview`);return t.supported?(h(),s(`div`,Me,[e(`div`,Ne,[e(`div`,Pe,[e(`div`,Fe,[e(`h2`,Ie,i(t.$t(`qwenimage.name.imageUrls`)),1),a(v,{content:t.$t(`qwenimage.description.imageUrls`),class:`info`},null,8,[`content`])])]),e(`div`,Le,[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,"before-upload":t.beforeUploadSizeGuard,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,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`qwenimage.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])])]),e(`div`,Re,[(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 Be=z(je,[[`render`,ze],[`__scopeId`,`data-v-1c07f3a8`]]),Q=e=>{let t={...e||{}};typeof t.prompt==`string`&&(t.prompt=t.prompt.trim());let n=t.image?.length?t.image:void 0;return delete t.image,{...t,image_urls:n,watermark:!1,async:!0}},Ve=_({name:`QwenImageConfigPanel`,components:{ElButton:X,ElSelect:v,ElOption:y,ElInput:Y,ElInputNumber:D,ElCheckbox:T,PromptInput:ke,ImageInput:Be,ServicePricingSummary:fe},emits:[`generate`],computed:{canGenerate(){return ye(`qwenimage`,Q(this.config))},config(){return this.$store.state.qwenimage?.config},service(){return this.$store.state.qwenimage?.service},consumption(){return U(Q(this.config),this.service?.cost)},model:{get(){return this.config?.model||`qwen-image-3.0`},set(e){this.set({model:e})}},size:{get(){return this.config?.size||`1024*1024`},set(e){this.set({size:e})}},n:{get(){return this.config?.n||1},set(e){this.set({n:e})}},thinking:{get(){return this.config?.enable_thinking!==!1},set(e){this.set({enable_thinking:e})}}},methods:{set(e){this.$store.commit(`qwenimage/setConfig`,{...this.config,...e})}}}),He={class:`flex flex-col h-full`},Ue={class:`flex-1 overflow-y-auto p-5 space-y-4`},We={class:`px-5 pb-5`};function Ge(t,n,o,c,u,d){let f=l(`el-option`),m=l(`el-select`),g=l(`prompt-input`),_=l(`image-input`),v=l(`el-input`),y=l(`el-input-number`),b=l(`el-checkbox`),x=l(`service-pricing-summary`),S=l(`el-button`);return h(),s(`div`,He,[e(`div`,Ue,[e(`div`,null,[e(`b`,null,i(t.$t(`qwenimage.name.model`)),1),a(m,{modelValue:t.model,"onUpdate:modelValue":n[0]||=e=>t.model=e,class:`w-full`},{default:p(()=>[a(f,{value:`qwen-image-3.0`,label:`qwen-image-3.0`}),a(f,{value:`qwen-image-3.0-pro`,label:`qwen-image-3.0-pro`})]),_:1},8,[`modelValue`])]),a(g),a(_),e(`div`,null,[e(`b`,null,i(t.$t(`qwenimage.name.size`)),1),a(v,{modelValue:t.size,"onUpdate:modelValue":n[1]||=e=>t.size=e,placeholder:`1024*1024`},null,8,[`modelValue`])]),e(`div`,null,[e(`b`,null,i(t.$t(`qwenimage.name.count`)),1),a(y,{modelValue:t.n,"onUpdate:modelValue":n[2]||=e=>t.n=e,min:1,max:6},null,8,[`modelValue`])]),a(b,{modelValue:t.thinking,"onUpdate:modelValue":n[3]||=e=>t.thinking=e},{default:p(()=>[r(i(t.$t(`qwenimage.name.thinking`)),1)]),_:1},8,[`modelValue`])]),e(`div`,We,[a(x,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(S,{type:`primary`,class:`w-full`,round:``,disabled:!t.canGenerate,onClick:n[4]||=e=>t.$emit(`generate`)},{default:p(()=>[r(i(t.$t(`qwenimage.button.generate`)),1)]),_:1},8,[`disabled`])])])}var Ke=z(Ve,[[`render`,Ge]]),qe=_({name:`QwenImageTaskPreview`,components:{DeleteIcon:L,ApplicationIcon:O,ChannelIcon:A,ImageIcon:j,InfoIcon:M,LightningIcon:re,MagicIcon:R,TimeIcon:k,WarningIcon:te,CopyToClipboard:le,ElAlert:S,ImageWrapper:be,ElButton:X,ElTooltip:x,ImagePreview:Z,ApiCodeButton:pe,ReportButton:ue},props:{modelValue:{type:Object,required:!0}},computed:{apiRequest(){return Q(this.modelValue?.request)},isEdit(){return Array.isArray(this.modelValue?.request?.image_urls)&&(this.modelValue?.request?.image_urls?.length||0)>0},images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await B.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`qwenimage/deleteTask`,{id:e}),w.success(this.$t(`common.message.deleteTaskSuccess`))}catch{w.error(this.$t(`common.message.deleteTaskFailed`))}}},shortModel(e){return ie(e)||e},onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.qwenimage?.config||{}};t.image=[e],this.$store.commit(`qwenimage/setConfig`,t)}}}),Je={class:`preview`},Ye={class:`left`},Xe={class:`main`},Ze={class:`bot`},Qe={class:`datetime`},$e=[`aria-label`],et={class:`info`},tt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},nt={key:1,class:`prompt mt-2`},rt={key:0},it={key:0,class:n({content:!0})},at={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},ot={key:1,class:n({content:!0,failed:!0})},st={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},ct={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},lt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ut={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ft={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pt={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},ht={key:2,class:`content`},gt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_t={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},yt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},bt={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xt={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},St={key:3,class:n({content:!0})},Ct={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},wt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Tt(n,u,d,g,_,v){let y=l(`capability-presentation`),b=l(`delete-icon`),x=l(`el-tooltip`),S=l(`image-preview`),C=l(`time-icon`),w=l(`magic-icon`),T=l(`copy-to-clipboard`),E=l(`el-alert`),D=l(`image-wrapper`),O=l(`el-button`),k=l(`api-code-button`),A=l(`report-button`),j=l(`application-icon`),M=l(`image-icon`),N=l(`lightning-icon`),P=l(`channel-icon`),F=l(`warning-icon`),I=l(`info-icon`);return h(),s(`div`,Je,[e(`div`,Ye,[a(y,{capability:`qwenimage`,part:`avatar`,class:`avatar`})]),e(`div`,Xe,[e(`div`,Ze,[a(y,{capability:`qwenimage`,part:`name`}),e(`span`,Qe,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:u[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,$e)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,et,[Array.isArray(n.modelValue?.request?.image_urls)&&n.modelValue?.request?.image_urls.length>0?(h(),s(`div`,tt,[(h(!0),s(c,null,m(n.modelValue?.request?.image_urls,(e,t)=>(h(),f(S,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),n.modelValue?.request?.prompt?(h(),s(`p`,nt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,rt,` - (`+i(n.$t(`qwenimage.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?n.modelValue?.response?.success===!0?(h(),s(`div`,ot,[e(`div`,st,[(h(!0),s(c,null,m(n.images,(e,t)=>(h(),f(D,{key:t,src:e?.image_url,"raw-src":e?.image_url},null,8,[`src`,`raw-src`]))),128))]),e(`div`,ct,[a(x,{class:`box-item`,effect:`dark`,content:n.$t(`common.button.edit`),placement:`top-start`},{default:p(()=>[a(O,{type:`info`,size:`small`,class:`btn-action`,onClick:u[1]||=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(k,{path:`/qwenimage/images`,body:n.apiRequest},null,8,[`body`]),a(A,{service:`qwenimage`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])]),a(E,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,lt,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.model`))+`: `+i(n.shortModel(n.modelValue?.request?.model)),1)])):o(``,!0),n.modelValue?.request?.size?(h(),s(`p`,ut,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.size`))+`: `+i(n.modelValue?.request?.size),1)])):o(``,!0),e(`p`,dt,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.task`))+`: `+i(n.isEdit?n.$t(`qwenimage.name.edits`):n.$t(`qwenimage.name.generate`)),1)]),e(`p`,ft,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,pt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(h(),s(`p`,mt,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(T,{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`,ht,[a(E,{closable:!1,class:`failure`},{template:p(()=>[a(F,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.failure`)),1)]),default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,gt,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.model`))+`: `+i(n.shortModel(n.modelValue?.request?.model)),1)])):o(``,!0),n.modelValue?.request?.size?(h(),s(`p`,_t,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.size`))+`: `+i(n.modelValue?.request?.size),1)])):o(``,!0),e(`p`,vt,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.task`))+`: `+i(n.isEdit?n.$t(`qwenimage.name.edits`):n.$t(`qwenimage.name.generate`)),1)]),e(`p`,yt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.response?.error?.message?(h(),s(`p`,$,[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(T,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])])):o(``,!0),n.modelValue?.elapsed?(h(),s(`p`,bt,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(h(),s(`p`,xt,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(T,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(h(),s(`div`,St,[a(E,{closable:!1,class:`info`},{template:p(()=>[a(I,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.status`)),1)]),default:p(()=>[e(`p`,Ct,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.response?.trace_id?(h(),s(`p`,wt,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(T,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(h(),s(`div`,it,[a(E,{closable:!1,class:`info`},{template:p(()=>[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.status.pending`)),1)]),default:p(()=>[e(`p`,at,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`qwenimage.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(T,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})]))])])}var Et=_({name:`QwenImageRecentPanel`,components:{TaskPreview:z(qe,[[`render`,Tt],[`__scopeId`,`data-v-0aeb264f`]]),BotPlaceholder:me,NoTasks:I,ScrollList:F},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.qwenimage?.tasks,items:this.$store.state.qwenimage?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Dt={key:0},Ot={key:2,class:`w-full h-full flex items-center justify-center`};function kt(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 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`,Ot,[a(v)])):o(``,!0)],64)}var At=_({name:`QwenImageIndex`,components:{ConfigPanel:Ke,Layout:Ee,RecentPanel:z(Et,[[`render`,kt]]),ShowcaseResultTabs:ge},mixins:[se,_e(`qwenimage`),he(`qwenimage`)],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.qwenimage?.status?.getApplications===C.Request},tasksLoading(){return this.$store.state.qwenimage?.status?.getTasks===C.Request},credential(){return this.$store.state.qwenimage?.credential},config(){return this.$store.state.qwenimage?.config},application(){return this.$store.state.qwenimage?.application},tasks(){return this.$store.state.qwenimage?.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.onPollTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ee({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(`qwenimage/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`qwenimage/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(`qwenimage/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})},async onGenerate(){let e=Q(this.config),t=ve(`qwenimage`,e);if(t){w.error(this.$t(`common.message.${t}`));return}if(!K(this.uploadTracker,e=>this.$t(e),e=>w.warning(e))||!J())return;let n=this.credential?.token;if(!n){console.error(`no token specified`);return}w.info(this.$t(`qwenimage.message.startingTask`)),W(`qwenimage`,G.generate(e,{token:n})).then(()=>{w.success(this.$t(`qwenimage.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;H(e,`qwenimage`)||w.error(this.$t(`qwenimage.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function jt(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`showcase-result-tabs`),d=l(`layout`);return h(),f(d,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(u,{service:`qwenimage`},{tasks:p(()=>[a(c,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})]),_:1})}var Mt=z(At,[[`render`,jt]]);export{Mt 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-Dv7ZrvnE.js";import{_,v}from"./vuex.esm-bundler-C-5WV-ta.js";import{n as y,t as b}from"./collapse-Dm00aNe0.js";import{t as x}from"./drawer-VaJhlwVr.js";import{t as S}from"./circle-question-mark-iFkJm6Cg.js";import{t as C}from"./globe-BKX021RY.js";import{t as w}from"./search-K-yhv6oC.js";import{D as T,Fi as E,Ha as D,Hn as O,Li as k,T as ee,Tn as te,Un as A,ia as j,li as M,lo as N,oi as P,to as F}from"./index-Bk9SKIXV.js";import{t as I}from"./ServicePricingSummary-N2X5DfKj.js";import{t as L}from"./ScenarioPaymentMode-BwoqFZco.js";var R=m({name:`LayoutSerp`,components:{SearchIcon:w,ElDrawer:x,ElButton:F},data(){return{drawer:!1}}}),z={class:`main flex flex-row flex-1`},B={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},V={class:`result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function H(t,n,r,a,s,u){let f=c(`search-icon`),m=c(`el-button`),h=c(`el-drawer`);return p(),o(`div`,z,[e(`div`,B,[l(t.$slots,`config`,{},void 0,!0)]),e(`div`,V,[l(t.$slots,`result`,{},void 0,!0)]),i(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:d(()=>[i(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),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 U=T(R,[[`render`,H],[`__scopeId`,`data-v-fc67ba0b`]]),W=m({name:`QueryInput`,components:{ElInput:N},computed:{query:{get(){return this.$store.state.serp?.config?.query},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e})}}}}),G={class:`field`},K={class:`box`},q={class:`title font-bold`};function J(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,G,[e(`div`,K,[e(`h2`,q,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 Y=T(W,[[`render`,J],[`__scopeId`,`data-v-3582b195`]]),X=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`}}),Z={class:`field`},Q={class:`title font-bold`};function ne(t,n,a,s,l,u){let f=c(`el-option`),m=c(`el-select`);return p(),o(`div`,Z,[e(`h2`,Q,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 re=T(X,[[`render`,ne],[`__scopeId`,`data-v-2913fb62`]]),ie=m({name:`CountryInput`,components:{ElInput:N},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`}}),ae={class:`field`},oe={class:`title font-bold`};function se(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,ae,[e(`h2`,oe,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 ce=T(ie,[[`render`,se],[`__scopeId`,`data-v-f0672cc6`]]),le=m({name:`LanguageInput`,components:{ElInput:N},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`}}),ue={class:`field`},de={class:`title font-bold`};function fe(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,ue,[e(`h2`,de,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 pe=m({name:`SearchPanel`,components:{SearchIcon:w,ElButton:F,QueryInput:Y,TypeSelector:re,CountryInput:ce,LanguageInput:T(le,[[`render`,fe],[`__scopeId`,`data-v-dc1c94b7`]]),ServicePricingSummary:I,ScenarioPaymentMode:L},emits:[`search`],data(){return{quoteTimer:0,quoteRunId:0}},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===_.Request},walletMode(){return E()&&k(`serp`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,350)},async refreshQuote(){let e=k(`serp`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await A.quote(O(this.config));t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onSearch(){this.$emit(`search`)}}}),me={class:`flex flex-col h-full`},he={class:`flex-1 overflow-y-auto p-5`},ge={class:`flex flex-col items-center justify-center px-5 pb-5`};function _e(t,s,l,f,m,h){let g=c(`query-input`),_=c(`type-selector`),v=c(`country-input`),y=c(`language-input`),b=c(`scenario-payment-mode`),x=c(`service-pricing-summary`),S=c(`search-icon`),C=c(`el-button`);return p(),o(`div`,me,[e(`div`,he,[i(g,{class:`mb-4`}),i(_,{class:`mb-4`}),i(v,{class:`mb-4`}),i(y,{class:`mb-4`})]),e(`div`,ge,[i(b,{scenario:`serp`}),t.walletMode?a(``,!0):(p(),u(x,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),i(C,{type:`primary`,class:`btn w-full`,round:``,loading:t.searching,onClick:t.onSearch},{default:d(()=>[i(S,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(t.$t(`serp.button.search`)),1)]),_:1},8,[`loading`,`onClick`])])])}var ve=T(pe,[[`render`,_e]]),ye=m({name:`KnowledgeGraph`,props:{data:{type:Object,required:!0}}}),be={class:`knowledge-graph rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},xe={class:`flex flex-row gap-4`},Se=[`src`,`alt`],Ce={class:`flex-1 min-w-0`},we={key:0,class:`text-xs text-[var(--el-text-color-disabled)] mb-1 uppercase tracking-wide`},Te={class:`text-xl font-bold mb-1.5`},Ee={key:1,class:`text-sm text-[var(--el-text-color-regular)] mb-3 leading-relaxed`},De=[`href`],Oe={key:2,class:`text-sm`},ke={class:`text-[var(--el-text-color-disabled)] flex-none font-medium`},Ae={class:`text-[var(--el-text-color-regular)]`};function je(t,i,c,l,u,d){return p(),o(`div`,be,[e(`div`,xe,[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,Se)):a(``,!0),e(`div`,Ce,[t.data.type?(p(),o(`div`,we,r(t.data.type),1)):a(``,!0),e(`h3`,Te,r(t.data.title),1),t.data.description?(p(),o(`p`,Ee,[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,De)):a(``,!0)])):a(``,!0),t.data.attributes&&Object.keys(t.data.attributes).length?(p(),o(`div`,Oe,[(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`,ke,r(n)+`:`,1),e(`span`,Ae,r(t),1)]))),128))])):a(``,!0)])])])}var Me=T(ye,[[`render`,je]]),Ne=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`}}}),Pe={class:`organic-result rounded-lg p-4 transition-all duration-200 hover:bg-[var(--el-fill-color-lighter)]`},Fe={key:0,class:`flex items-center gap-2 mb-1.5`},Ie=[`src`,`alt`],Le={class:`text-xs text-[var(--el-text-color-secondary)] truncate`},Re={class:`text-xs text-[var(--el-text-color-disabled)]`},ze=[`href`],Be={key:1,class:`text-xs text-[var(--el-text-color-disabled)] mt-1`},Ve={key:2,class:`text-sm text-[var(--el-text-color-regular)] mt-1.5 leading-relaxed line-clamp-3`},He={key:3,class:`mt-3 flex flex-wrap gap-x-4 gap-y-1`},Ue=[`href`];function We(t,n,i,c,l,u){return p(),o(`div`,Pe,[t.displayUrl?(p(),o(`div`,Fe,[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,Ie),e(`span`,Le,r(t.hostname),1),e(`span`,Re,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,ze),t.data.date?(p(),o(`div`,Be,r(t.data.date),1)):a(``,!0),t.data.snippet?(p(),o(`p`,Ve,r(t.data.snippet),1)):a(``,!0),t.data.sitelinks?.length?(p(),o(`div`,He,[(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,Ue))),128))])):a(``,!0)])}var Ge=T(Ne,[[`render`,We]]),Ke=m({name:`ImageResults`,props:{data:{type:Array,required:!0}}}),qe={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Je={class:`text-base font-bold mb-3`},Ye={class:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3`},Xe=[`href`],Ze=[`src`,`alt`],Qe={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`},$e={class:`text-xs text-white line-clamp-2`};function et(t,n,i,c,l,u){return p(),o(`div`,qe,[e(`h3`,Je,r(t.$t(`serp.name.imageResults`)),1),e(`div`,Ye,[(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,Ze)):a(``,!0),e(`div`,Qe,[e(`span`,$e,r(t.title),1)])],8,Xe))),128))])])}var tt=T(Ke,[[`render`,et]]),nt=m({name:`VideoResults`,props:{data:{type:Array,required:!0}}}),rt={class:`text-base font-bold mb-3`},it={class:`space-y-4`},at=[`href`],ot={class:`relative flex-shrink-0 w-40 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},st=[`src`,`alt`],ct={key:1,class:`absolute bottom-1 right-1 bg-black/80 text-white text-xs px-1 rounded`},lt={class:`flex-1 min-w-0`},ut={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},dt={class:`text-xs text-gray-400 mt-1`},ft={key:0},pt={key:1},mt={key:2},ht={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`};function gt(t,n,i,c,l,u){return p(),o(`div`,null,[e(`h3`,rt,r(t.$t(`serp.name.videoResults`)),1),e(`div`,it,[(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`,ot,[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,st)):a(``,!0),t.duration?(p(),o(`div`,ct,r(t.duration),1)):a(``,!0)]),e(`div`,lt,[e(`div`,ut,r(t.title),1),e(`div`,dt,[t.source?(p(),o(`span`,ft,r(t.source),1)):a(``,!0),t.channel?(p(),o(`span`,pt,` · `+r(t.channel),1)):a(``,!0),t.date?(p(),o(`span`,mt,` · `+r(t.date),1)):a(``,!0)]),t.snippet?(p(),o(`p`,ht,r(t.snippet),1)):a(``,!0)])],8,at))),128))])])}var _t=T(nt,[[`render`,gt]]),vt=m({name:`NewsResults`,props:{data:{type:Array,required:!0}}}),yt={class:`text-base font-bold mb-3`},bt={class:`space-y-4`},xt=[`href`],St={class:`flex-1 min-w-0`},Ct={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},wt={class:`text-xs text-gray-400 mt-1`},Tt={key:0},Et={key:1},Dt={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`},Ot={key:0,class:`flex-shrink-0 w-24 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},kt=[`src`,`alt`];function At(t,n,i,c,l,u){return p(),o(`div`,null,[e(`h3`,yt,r(t.$t(`serp.name.newsResults`)),1),e(`div`,bt,[(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`,St,[e(`div`,Ct,r(t.title),1),e(`div`,wt,[t.source?(p(),o(`span`,Tt,r(t.source),1)):a(``,!0),t.date?(p(),o(`span`,Et,` · `+r(t.date),1)):a(``,!0)]),t.snippet?(p(),o(`p`,Dt,r(t.snippet),1)):a(``,!0)]),t.image_url?(p(),o(`div`,Ot,[e(`img`,{src:t.image_url,alt:t.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,kt)])):a(``,!0)],8,xt))),128))])])}var jt=T(vt,[[`render`,At]]),Mt=m({name:`PeopleAlsoAsk`,components:{ElCollapse:b,ElCollapseItem:y},props:{data:{type:Array,required:!0}}}),Nt={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Pt={class:`text-base font-bold mb-3`},Ft={key:0,class:`text-sm text-[var(--el-text-color-regular)] mb-2 leading-relaxed`},It=[`href`];function Lt(t,n,l,m,h,g){let _=c(`el-collapse-item`),v=c(`el-collapse`);return p(),o(`div`,Nt,[e(`h3`,Pt,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`,Ft,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,It)):a(``,!0)]),_:2},1032,[`title`]))),128))]),_:1})])}var Rt=T(Mt,[[`render`,Lt]]),zt=m({name:`RelatedSearches`,components:{SearchIcon:w},props:{data:{type:Array,required:!0}},emits:[`search`],methods:{onSearch(e){e&&this.$emit(`search`,e)}}}),Bt={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},$={class:`text-base font-bold mb-3`},Vt={class:`flex flex-wrap gap-2`},Ht=[`onClick`];function Ut(t,a,l,u,d,m){let h=c(`search-icon`);return p(),o(`div`,Bt,[e(`h3`,$,r(t.$t(`serp.name.relatedSearches`)),1),e(`div`,Vt,[(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,{class:`text-xs opacity-50`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(e.query),1)],8,Ht))),128))])])}var Wt=m({name:`ResultPanel`,components:{GlobeIcon:C,HelpIcon:S,KnowledgeGraph:Me,OrganicResult:Ge,ImageResults:tt,VideoResults:_t,NewsResults:jt,PeopleAlsoAsk:Rt,RelatedSearches:T(zt,[[`render`,Ut]])},emits:[`related-search`],computed:{results(){return this.$store.state.serp?.results},searching(){return this.$store.state.serp?.status?.search===_.Request},noResults(){return this.$store.state.serp?.status?.search===_.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)}}}),Gt={class:`h-full overflow-y-auto p-6`},Kt={key:0,class:`max-w-3xl mx-auto py-8`},qt={key:1,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Jt={class:`text-base`},Yt={key:2,class:`max-w-3xl mx-auto`},Xt={key:1,class:`mb-6`},Zt={key:3,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Qt={class:`text-base`};function $t(n,l,d,m,h,g){let _=c(`help-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`),T=c(`globe-icon`);return p(),o(`div`,Gt,[n.searching?(p(),o(`div`,Kt,[(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`,qt,[i(_,{class:`text-5xl mb-4 opacity-40`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Jt,r(n.$t(`serp.message.noResults`)),1)])):n.results?(p(),o(`div`,Yt,[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`,Xt,[(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`,Zt,[i(T,{class:`text-5xl mb-4 opacity-30`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Qt,r(n.$t(`serp.description.query`)),1)]))])}var en=m({name:`SerpIndex`,components:{Layout:U,SearchPanel:ve,ResultPanel:T(Wt,[[`render`,$t]])},inject:[`initialized`],computed:{credential(){return this.$store.state.serp?.credential},walletMode(){return E()&&k(`serp`).mode===`wallet`}},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(!this.$store.state.serp?.config?.query)return;let e;if(this.walletMode){let t=this.getWalletContext();if(!t){v.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}e={mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}}}else if(!j())return;v.info(this.$t(`serp.message.searching`));try{await this.$store.dispatch(`serp/search`,e),v.success(this.$t(`serp.message.searchSuccess`))}catch(e){if(e instanceof P||ee(e,`serp`))return;this.walletMode?v.error(this.$t(`common.x402Scenario.paymentFailed`)):v.error(this.$t(`serp.message.searchFailed`))}},getWalletContext(){return M(this.$wallet)},async confirmWalletPayment(e){return D.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},async onRelatedSearch(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e}),await this.onSearch()}}});function tn(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 nn=T(en,[[`render`,tn]]);export{nn 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,qt as m,rt as h,tt as g,x as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{r as y,t as b}from"./select-Dv7ZrvnE.js";import{n as x,t as S}from"./tabs-BpSLc2Is.js";import{t as C}from"./upload-BG3x_JWJ.js";import{t as w}from"./tooltip-L2G5ntVi.js";import{t as T}from"./alert-BprQRUmf.js";import{_ as E,v as D}from"./vuex.esm-bundler-C-5WV-ta.js";import{n as O,r as k}from"./radio-BNhFzeBO.js";import{t as A}from"./drawer-VaJhlwVr.js";import{t as j}from"./input-number-BwJ2QIsY.js";import{t as M}from"./slider-C4ifUfAq.js";import{t as N}from"./switch-CFUCWNgM.js";import{t as ee}from"./clock-DIjv9Rh6.js";import{t as te}from"./hash-B61j4cgz.js";import{t as ne}from"./headphones-SI1F4r-k.js";import{t as re}from"./info-CDi6ZfZf.js";import{t as ie}from"./lightbulb-ByXvOBwJ.js";import{a as P,i as ae,n as oe,r as se,t as ce}from"./pagination-BodQ3KsQ.js";import{t as le}from"./trash-2-CUcSh2xz.js";import{t as ue}from"./triangle-alert-fl0O4ttl.js";import{t as F}from"./upload-ClpzRFqM.js";import{t as I}from"./wand-sparkles-C9xUdsPZ.js";import{Ai as de,Fi as L,Ni as fe,Pi as pe}from"./constants-CspFM8fh.js";import{Ba as me,D as R,Fi as he,Ha as z,Ia as B,Ir as ge,Li as V,Lr as H,Ra as _e,Rr as U,T as ve,Tn as ye,Xi as W,at as G,ct as K,ia as be,it as xe,li as Se,lo as q,lt as J,nt as Ce,oi as we,ot as Y,rt as Te,st as Ee,to as X,tt as De,zi as Oe}from"./index-Bk9SKIXV.js";import{t as ke}from"./CopyToClipboard-CIB9LY9Y.js";import{t as Ae}from"./ReportButton-D3eba7A1.js";import{t as je}from"./FilePreview-_7yUZ2m8.js";import{t as Z}from"./ImagePreview-Dq6UkYX8.js";import{n as Me}from"./taskDrawerMixin-DyAUhFEq.js";import{t as Ne}from"./ServicePricingSummary-N2X5DfKj.js";import{t as Pe}from"./AudioPreview-fEc2Zd45.js";import{t as Fe}from"./VideoPlayer-BNtDhrpR.js";import{t as Ie}from"./VideoPreview-K60Fueap.js";import{t as Le}from"./ScenarioPaymentMode-BwoqFZco.js";import{t as Re}from"./ApiCodeButton-C5tBSXac.js";import{t as ze}from"./BotPlaceholder-7Rci0gLD.js";import{t as Be}from"./taskPollingMixin-CcLxtz8z.js";import{t as Ve}from"./ShowcaseResultTabs-Bx16-8QM.js";import{t as He}from"./showcaseRecreateMixin-C0UnaxsG.js";import{n as Ue,t as We}from"./generationInput-VbA_cpqx.js";var Ge=v({name:`LayoutKling`,components:{MagicIcon:I,ElDrawer:A,ElButton:X},mixins:[Me]}),Ke={class:`main flex flex-row flex-1 min-h-0`},qe={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Je={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Ye(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,Ke,[e(`div`,qe,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Je,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[_,!t.tasksEmpty]]),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Xe=R(Ge,[[`render`,Ye],[`__scopeId`,`data-v-f4b791b5`]]),Ze={text2video:!0,image2video:!0,endImage:!1,audio:!1,motionControl:!1,referenceVideo:!1,referenceImages:!1};function Q(e,t,n){let r=t||`std`,i=n??5;switch(e){case`kling-v3-turbo`:return{...Ze,audio:!0};case`kling-v1`:return{text2video:!0,image2video:!0,endImage:i===5,audio:!1,motionControl:i===5,referenceVideo:!1,referenceImages:!1};case`kling-v1-6`:case`kling-v2-5-turbo`:return{text2video:!0,image2video:!0,endImage:r===`pro`,audio:!1,motionControl:!1,referenceVideo:!1,referenceImages:!1};case`kling-v2-6`:return{text2video:!0,image2video:!0,endImage:r===`pro`,audio:r===`pro`,motionControl:!1,referenceVideo:!1,referenceImages:!1};case`kling-v2-master`:case`kling-v2-1-master`:return{text2video:!0,image2video:!0,endImage:!1,audio:!1,motionControl:!1,referenceVideo:!1,referenceImages:!1};case`kling-v3`:return{text2video:!0,image2video:!0,endImage:!0,audio:!0,motionControl:r!==`4k`,referenceVideo:!1,referenceImages:!1};case`kling-v3-omni`:return{text2video:!0,image2video:!0,endImage:!0,audio:!0,motionControl:!1,referenceVideo:!0,referenceImages:!0};case`kling-o1`:return{text2video:!0,image2video:!0,endImage:!0,audio:!1,motionControl:!1,referenceVideo:!0,referenceImages:!0};default:return Ze}}var $=`<<<video_1>>>`,Qe=/<<<image_\d+>>>/g;function $e(e){return e?e.split($).join(` `).replace(/\s{2,}/g,` `).trim():``}function et(e){return e?e.replace(Qe,` `).replace(/\s{2,}/g,` `).trim():``}function tt(e,t){if(!e)return[];let n=t.model??e.model,r=t.mode??e.mode,i=t.duration??e.duration;if(!n)return[];let a=Q(n,r,i),o=[];e.end_image_url&&!a.endImage&&o.push({field:`end_image_url`,i18nLabel:`kling.name.endImage`}),e.generate_audio&&!a.audio&&o.push({field:`generate_audio`,i18nLabel:`kling.name.generateAudio`}),e.camera_control?.type&&(!a.motionControl||e.start_image_url)&&o.push({field:`camera_control`,i18nLabel:`kling.name.cameraControl`}),e.video_list?.length&&!a.referenceVideo&&o.push({field:`video_list`,i18nLabel:`kling.name.referenceVideo`}),e.image_list?.length&&!a.referenceImages&&o.push({field:`image_list`,i18nLabel:`kling.name.referenceImages`});let s=[`kling-o1`,`kling-v3-omni`,`kling-v3-turbo`].includes(n)||!!(e.image_list?.length||e.video_list?.length);return s&&e.cfg_scale!==void 0&&o.push({field:`cfg_scale`,i18nLabel:`kling.name.cfgScale`}),s&&e.negative_prompt&&o.push({field:`negative_prompt`,i18nLabel:`kling.name.negativePrompt`}),o}function nt(e,t){let n={...e};for(let e of t)e.field===`end_image_url`&&(n.end_image_url=void 0),e.field===`generate_audio`&&(n.generate_audio=!1),e.field===`camera_control`&&(n.camera_control=void 0),e.field===`cfg_scale`&&(n.cfg_scale=void 0),e.field===`negative_prompt`&&(n.negative_prompt=void 0),e.field===`video_list`&&(n.video_list=void 0,n.prompt=$e(n.prompt)),e.field===`image_list`&&(n.image_list=void 0,n.prompt=et(n.prompt));return n}var rt=v({name:`ModelSelector`,components:{ElSelect:y,ElOption:b},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{revertKey:0,options:[{value:`kling-v3-turbo`,label:`v3-Turbo`},{value:`kling-v3`,label:`v3`},{value:`kling-v3-omni`,label:`v3-Omni`},{value:`kling-v2-6`,label:`v2.6`},{value:`kling-v2-5-turbo`,label:`v2.5-Turbo`},{value:`kling-v2-1-master`,label:`v2.1-Master`},{value:`kling-v2-master`,label:`v2-Master`},{value:`kling-v1-6`,label:`v1.6`},{value:`kling-v1`,label:`v1`},{value:`kling-o1`,label:`Kling O1`}]}},computed:{value(){return this.$store.state.kling?.config?.model}},mounted(){this.value||this.applyModel(de)},methods:{async onChange(e){let t=this.$store.state.kling?.config||{},n=tt(t,{model:e});if(n.length===0){this.applyModel(e);return}let r=n.map(e=>this.$t(e.i18nLabel)).join(`、`);try{await z.confirm(this.$t(`kling.message.featureNotSupportedBody`,{fields:r}),this.$t(`kling.message.featureNotSupportedTitle`),{confirmButtonText:this.$t(`kling.button.confirmContinue`),cancelButtonText:this.$t(`kling.button.cancelSwitch`),type:`warning`});let i=nt({...t,model:e},n);this.$store.commit(`kling/setConfig`,i),D.success(this.$t(`kling.message.featureRemovedNotice`,{fields:r}))}catch{this.revertKey+=1}},applyModel(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling.config,model:e})}}}),it={class:`field`},at={class:`title font-bold`};function ot(t,n,r,a,o,u){let d=l(`el-option`),m=l(`el-select`);return g(),s(`div`,it,[e(`h2`,at,i(t.$t(`pika.name.model`)),1),(g(),f(m,{key:t.revertKey,"model-value":t.value,class:`value`,placeholder:t.$t(`pika.placeholder.select`),onChange:t.onChange},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(d,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onChange`]))])}var st=R(rt,[[`render`,ot],[`__scopeId`,`data-v-d3faca05`]]),ct=v({name:`ModeSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:P},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{revertKey:0}},computed:{selectedModel(){return this.$store.state.kling?.config?.model||``},cameraControlSet(){return!!this.$store.state.kling?.config?.camera_control?.type},fourKReason(){return L.includes(this.selectedModel)?this.cameraControlSet?this.$t(`kling.description.mode4kIncompatibleCamera`):``:this.$t(`kling.description.mode4kRequiresV3`)},options(){return[{value:`std`,label:this.$t(`kling.name.modeStd`),disabled:!1,disabledReason:``},{value:`pro`,label:this.$t(`kling.name.modePro`),disabled:!1,disabledReason:``},{value:`4k`,label:this.$t(`kling.name.mode4k`),disabled:!!this.fourKReason,disabledReason:this.fourKReason}]},value(){return this.$store.state.kling?.config?.mode}},watch:{fourKReason(e){e&&this.value===`4k`&&this.applyMode(`std`)}},mounted(){this.value||this.applyMode(`std`)},methods:{async onChange(e){let t=this.$store.state.kling?.config||{},n=tt(t,{mode:e});if(n.length===0){this.applyMode(e);return}let r=n.map(e=>this.$t(e.i18nLabel)).join(`、`);try{await z.confirm(this.$t(`kling.message.featureNotSupportedBody`,{fields:r}),this.$t(`kling.message.featureNotSupportedTitle`),{confirmButtonText:this.$t(`kling.button.confirmContinue`),cancelButtonText:this.$t(`kling.button.cancelSwitch`),type:`warning`});let i=nt({...t,mode:e},n);this.$store.commit(`kling/setConfig`,i),D.success(this.$t(`kling.message.featureRemovedNotice`,{fields:r}))}catch{this.revertKey+=1}},applyMode(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling.config,mode:e})}}}),lt={class:`field`},ut={class:`header`},dt={class:`title font-bold`},ft={key:0,class:`opt-tip`};function pt(t,r,u,d,m,_){let v=l(`info-icon`),y=l(`el-option`),b=l(`el-select`);return g(),s(`div`,lt,[e(`div`,ut,[e(`h2`,dt,i(t.$t(`kling.name.mode`)),1),a(v,{content:t.$t(`kling.description.mode`),class:`info-icon`},null,8,[`content`])]),(g(),f(b,{key:t.revertKey,"model-value":t.value,class:`value`,placeholder:t.$t(`kling.placeholder.select`),clearable:!0,onChange:t.onChange},{default:p(()=>[(g(!0),s(c,null,h(t.options,t=>(g(),f(y,{key:t.value,label:t.label,value:t.value,disabled:t.disabled},{default:p(()=>[e(`span`,{class:n({"opt-disabled":t.disabled})},i(t.label),3),t.disabled&&t.disabledReason?(g(),s(`span`,ft,i(t.disabledReason),1)):o(``,!0)]),_:2},1032,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onChange`]))])}var mt=R(ct,[[`render`,pt],[`__scopeId`,`data-v-9a8fa3c5`]]),ht=Array.from({length:13},(e,t)=>t+3),gt=[5,10],_t=[5],vt=v({name:`DurationSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:P},data(){return{revertKey:0}},computed:{selectedModel(){return this.$store.state.kling?.config?.model||``},isV3Model(){return this.selectedModel===`kling-v3-turbo`||L.includes(this.selectedModel)},allowedDurations(){return this.selectedModel===`kling-o1`?_t:this.isV3Model?ht:gt},value(){return this.$store.state.kling?.config?.duration??5},selectValue(){let e=this.allowedDurations;return e.includes(this.value)?this.value:e.includes(5)?5:e[0]}},watch:{selectedModel(){this.allowedDurations.includes(this.value)||this.applyDuration(5)}},mounted(){this.$store.state.kling?.config?.duration||this.applyDuration(5)},methods:{async onChange(e){let t=this.$store.state.kling?.config||{},n=tt(t,{duration:e});if(n.length===0){this.applyDuration(e);return}let r=n.map(e=>this.$t(e.i18nLabel)).join(`、`);try{await z.confirm(this.$t(`kling.message.featureNotSupportedBody`,{fields:r}),this.$t(`kling.message.featureNotSupportedTitle`),{confirmButtonText:this.$t(`kling.button.confirmContinue`),cancelButtonText:this.$t(`kling.button.cancelSwitch`),type:`warning`});let i=nt({...t,duration:e},n);this.$store.commit(`kling/setConfig`,i),D.success(this.$t(`kling.message.featureRemovedNotice`,{fields:r}))}catch{this.revertKey+=1}},applyDuration(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling.config,duration:e})}}}),yt={class:`field`},bt={class:`control`},xt={class:`label`},St={class:`title font-bold`};function Ct(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,yt,[e(`div`,bt,[e(`div`,xt,[e(`h2`,St,i(t.$t(`kling.name.duration`)),1),a(m,{content:t.$t(`kling.description.duration`),class:`info-icon ml-1`},null,8,[`content`])]),(g(),f(v,{key:t.revertKey,"model-value":t.selectValue,class:`value`,placeholder:t.$t(`kling.placeholder.select`),onChange:t.onChange},{default:p(()=>[(g(!0),s(c,null,h(t.allowedDurations,e=>(g(),f(_,{key:e,label:`${e}s`,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onChange`]))])])}var wt=R(vt,[[`render`,Ct],[`__scopeId`,`data-v-9051ec82`]]),Tt=v({name:`RatioSelector`,data(){return{options:[{value:`1:1`,label:`1:1`,width:20,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?.kling?.config?.aspect_ratio},set(e){console.debug(`set ratio`,e),this.$store.commit(`kling/setConfig`,{...this.$store.state?.kling?.config,aspect_ratio:e})}}},mounted(){this.value||=`1:1`}}),Et={class:`text-sm font-bold mb-2 block`},Dt={class:`items`},Ot=[`onClick`],kt={class:`name`};function At(t,r,a,o,l,u){return g(),s(`div`,null,[e(`span`,Et,i(t.$t(`kling.name.ratio`)),1),e(`div`,Dt,[(g(!0),s(c,null,h(t.options,(r,a)=>(g(),s(`div`,{key:a,class:n({active:t.active===a,item:!0}),onClick:e=>t.value=r.value},[e(`div`,{class:n([`preview`,r.label])},[e(`div`,{class:`rect`,style:m({width:r.width+`px`,height:r.height+`px`})},null,4)],2),e(`p`,kt,i(r.label),1)],10,Ot))),128))])])}var jt=R(Tt,[[`render`,At],[`__scopeId`,`data-v-cdb14b2f`]]),Mt=v({name:`StartImage`,components:{UploadIcon:F,ElUpload:C,ElButton:X,ElTooltip:w,InfoIcon:P,ImagePreview:Z},mixins:[J,K,Y],emits:[`change`],data(){return{fileList:[],uploadUrl:B()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},reachedLimit(){return(this.fileList?.length||0)>=1},value:{get(){return this.$store.state?.kling?.config?.start_image_url},set(){}}},watch:{value(e){!e&&this.fileList.length>0&&(this.fileList=[])}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){D.warning(this.$t(`kling.message.uploadReferencesExceed`))},onError(){D.error(this.$t(`kling.message.uploadReferencesError`))},onBeforeUpload(){let e=this.$store.state.kling?.config||{};if(e.video_list?.[0]?.refer_type===`base`)return D.warning(this.$t(`kling.message.baseVideoFrameConflict`)),!1;let t=e.video_list?.length?4:7;return(e.image_list?.length||0)+Number(!!e.end_image_url)+1>t?(D.warning(this.$t(`kling.message.referenceImagesTotalLimit`,{count:t})),!1):!0},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`kling/setConfig`,{...this.$store.state?.kling?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()},onRemove(e){this.fileList.splice(this.fileList.indexOf(e),1),this.onSetStartImageUrl()}}}),Nt={class:`relative`},Pt={class:`flex min-h-8 items-center pr-20`},Ft={class:`flex justify-start items-center`},It={class:`text-sm font-bold`};function Lt(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-tooltip`),x=l(`el-upload`);return g(),s(`div`,Nt,[e(`div`,Pt,[e(`div`,Ft,[e(`span`,It,i(t.$t(`kling.name.startImage`)),1),a(h,{content:t.$t(`kling.description.uploadStartImage`)},null,8,[`content`])])]),a(x,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,disabled:t.reachedLimit,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`picture`,"before-upload":t.onBeforeUpload,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.onRemove(e)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(b,{content:t.$t(`kling.message.uploadReferencesExceed`),disabled:!t.reachedLimit,placement:`top`},{default:p(()=>[e(`span`,null,[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`,disabled:t.reachedLimit},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`kling.button.uploadReferences`)),1)]),_:1},8,[`disabled`])])]),_:1},8,[`content`,`disabled`])]),_:1},8,[`file-list`,`disabled`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Rt=R(Mt,[[`render`,Lt],[`__scopeId`,`data-v-60844ac3`]]),zt=v({name:`EndImage`,components:{UploadIcon:F,ElUpload:C,ElButton:X,ElTooltip:w,ImagePreview:Z,InfoIcon:P},mixins:[J,K,Y],data(){return{fileList:[],uploadUrl:B()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},reachedLimit(){return(this.fileList?.length||0)>=1},klingConfig(){return this.$store.state?.kling?.config||{}},endImageSupported(){return Q(this.klingConfig.model,this.klingConfig.mode,this.klingConfig.duration).endImage},hasStartImage(){return!!this.klingConfig.start_image_url},uploadDisabled(){return this.reachedLimit||!this.endImageSupported||!this.hasStartImage},uploadTooltip(){return this.endImageSupported?this.hasStartImage?this.reachedLimit?this.$t(`kling.message.uploadReferencesExceed`):``:this.$t(`kling.message.endImageRequiresStart`):this.$t(`kling.message.endImageNotSupported`)},storeValue(){return this.klingConfig.end_image_url},value:{get(){return this.storeValue},set(){}}},watch:{storeValue(e){!e&&this.fileList.length>0&&(this.fileList=[])},hasStartImage(e){!e&&this.storeValue&&(this.fileList=[],this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,end_image_url:void 0}))}},mounted(){this.value||=void 0,this.onSetEndImageUrl()},methods:{onBeforeUpload(){if(!this.endImageSupported)return D.warning(this.$t(`kling.message.endImageNotSupported`)),!1;if(!this.hasStartImage)return D.warning(this.$t(`kling.message.endImageRequiresStart`)),!1;if(this.klingConfig.video_list?.[0]?.refer_type===`base`)return D.warning(this.$t(`kling.message.baseVideoFrameConflict`)),!1;let e=this.klingConfig.video_list?.length?4:7;return(this.klingConfig.image_list?.length||0)+2>e?(D.warning(this.$t(`kling.message.referenceImagesTotalLimit`,{count:e})),!1):!0},onExceed(){D.warning(this.$t(`kling.message.uploadReferencesExceed`))},onError(){D.error(this.$t(`kling.message.uploadReferencesError`))},onSetEndImageUrl(){let e=this.urls?.[0];this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()},onRemove(e){this.fileList.splice(this.fileList.indexOf(e),1),this.onSetEndImageUrl()}}}),Bt={class:`relative`},Vt={class:`flex min-h-8 items-center pr-20`},Ht={class:`flex justify-start items-center`},Ut={class:`text-sm font-bold`};function Wt(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-tooltip`),x=l(`el-upload`);return g(),s(`div`,Bt,[e(`div`,Vt,[e(`div`,Ht,[e(`span`,Ut,i(t.$t(`kling.name.endImage`)),1),a(h,{content:t.$t(`kling.description.uploadEndImage`)},null,8,[`content`])])]),a(x,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,disabled:t.uploadDisabled,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`picture`,"before-upload":t.onBeforeUpload,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.onRemove(e)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(b,{content:t.uploadTooltip,disabled:!t.uploadDisabled,placement:`top`},{default:p(()=>[e(`span`,null,[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`,disabled:t.uploadDisabled},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`kling.button.uploadReferences`)),1)]),_:1},8,[`disabled`])])]),_:1},8,[`content`,`disabled`])]),_:1},8,[`file-list`,`disabled`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Gt=R(zt,[[`render`,Wt],[`__scopeId`,`data-v-b286c4d0`]]),Kt=v({name:`ReferenceVideo`,components:{ElUpload:C,ElButton:X,ElRadioButton:O,ElRadioGroup:k,ElSwitch:N,InfoIcon:P,FilePreview:je,UploadIcon:F},mixins:[K,Y],data(){return{fileList:[],uploadUrl:B()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},config(){return this.$store.state.kling?.config||{}},hasVideo(){return!!this.urls?.[0]},referenceType:{get(){return this.config.video_list?.[0]?.refer_type||`feature`},set(e){this.updateVideoOptions(e,this.keepOriginalSound)}},keepOriginalSound:{get(){return this.config.video_list?.[0]?.keep_original_sound===`yes`},set(e){this.updateVideoOptions(this.referenceType,e)}}},methods:{onExceed(){D.warning(this.$t(`kling.message.referenceVideoExceed`))},onError(){D.error(this.$t(`kling.message.referenceVideoError`))},beforeUpload(e){if((this.config.image_list?.length||0)+Number(!!this.config.start_image_url)+Number(!!this.config.end_image_url)>4)return D.error(this.$t(`kling.message.referenceVideoImageLimit`)),!1;let t=e.type===`video/mp4`||e.type===`video/quicktime`,n=xe(e.size);return t?n?!0:(D.error(this.$t(`kling.message.referenceVideoSizeExceed`,{max:Te(Ce)})),!1):(D.error(this.$t(`kling.message.referenceVideoTypeFailed`)),!1)},ensurePromptToken(e){let t=this.$store.state.kling?.config,n=t?.prompt||``,r=n.includes($),i;if(e&&!r)i=n?`${n} ${$}`:$;else if(!e&&r)i=$e(n);else return;this.$store.commit(`kling/setConfig`,{...t,prompt:i})},onRemove(e){this.fileList.splice(this.fileList.indexOf(e),1),this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,video_list:void 0}),this.ensurePromptToken(!1)},onSetVideoList(){let e=this.urls?.[0],t=e?[{video_url:e,refer_type:this.referenceType,keep_original_sound:this.keepOriginalSound?`yes`:`no`}]:void 0;this.$store.commit(`kling/setConfig`,{...this.config,video_list:t,generate_audio:!1,camera_control:void 0,cfg_scale:void 0,negative_prompt:void 0}),this.ensurePromptToken(!!e)},updateVideoOptions(e,t){let n=this.urls?.[0];n&&this.$store.commit(`kling/setConfig`,{...this.config,video_list:[{video_url:n,refer_type:e,keep_original_sound:t?`yes`:`no`}],...e===`base`?{start_image_url:void 0,end_image_url:void 0}:{},generate_audio:!1,camera_control:void 0,cfg_scale:void 0,negative_prompt:void 0})},async onSuccess(){this.onSetVideoList()}}}),qt={class:`relative`},Jt={class:`flex min-h-8 items-center pr-20`},Yt={class:`flex justify-start items-center`},Xt={class:`text-sm font-bold`},Zt={key:0,class:`reference-options mt-3 flex flex-col gap-3`},Qt={class:`flex flex-col items-stretch gap-2 sm:flex-row sm:items-center sm:justify-between`},$t={class:`text-sm`},en={class:`flex items-center justify-between gap-3`},tn={class:`text-sm`};function nn(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`file-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`),x=l(`el-radio-button`),S=l(`el-radio-group`),C=l(`el-switch`);return g(),s(`div`,qt,[e(`div`,Jt,[e(`div`,Yt,[e(`span`,Xt,i(t.$t(`kling.name.referenceVideo`)),1),a(h,{content:t.$t(`kling.description.omniReferenceVideo`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.mp4,.mov`,name:`file`,class:`value`,"show-file-list":!0,limit:1,multiple:!1,action:t.uploadUrl,"before-upload":t.beforeUpload,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.percentage===void 0?o(``,!0):(g(),f(_,{key:0,url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.onRemove(e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`kling.button.uploadReferenceVideo`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`]),t.hasVideo?(g(),s(`div`,Zt,[e(`div`,Qt,[e(`span`,$t,i(t.$t(`kling.name.referenceVideoType`)),1),a(S,{modelValue:t.referenceType,"onUpdate:modelValue":n[1]||=e=>t.referenceType=e,size:`small`},{default:p(()=>[a(x,{value:`feature`},{default:p(()=>[r(i(t.$t(`kling.name.referenceVideoFeature`)),1)]),_:1}),a(x,{value:`base`},{default:p(()=>[r(i(t.$t(`kling.name.referenceVideoBase`)),1)]),_:1})]),_:1},8,[`modelValue`])]),e(`div`,en,[e(`span`,tn,i(t.$t(`kling.name.keepOriginalSound`)),1),a(C,{modelValue:t.keepOriginalSound,"onUpdate:modelValue":n[2]||=e=>t.keepOriginalSound=e},null,8,[`modelValue`])])])):o(``,!0)])}var rn=R(Kt,[[`render`,nn],[`__scopeId`,`data-v-e3a9dfab`]]),an=v({name:`KlingReferenceImages`,components:{ElButton:X,ElUpload:C,UploadIcon:F,ImagePreview:Z,InfoIcon:P},mixins:[J,K,Y],data(){return{fileList:[],uploadUrl:B()+`/api/v1/files/`}},computed:{config(){return this.$store.state.kling?.config||{}},headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},frameCount(){return Number(!!this.config.start_image_url)+Number(!!this.config.end_image_url)},maxImages(){return this.config.video_list?.length?4:7},referenceLimit(){return Math.max(0,this.maxImages-this.frameCount)},remainingSlots(){return Math.max(0,this.referenceLimit-this.urls.length)},urls(){return this.fileList.map(e=>e.response?.file_url||e.url).filter(Boolean)},storeImages(){return this.config.image_list}},watch:{frameCount(){this.syncPromptTokens()},storeImages(e){!e?.length&&this.fileList.length>0&&(this.fileList=[])}},methods:{beforeUpload(){return this.remainingSlots===0?(this.onExceed(),!1):!0},onExceed(){D.warning(this.$t(`kling.message.referenceImagesExceed`,{count:this.remainingSlots}))},onError(){D.error(this.$t(`kling.message.referenceImagesError`))},clearOmniConflicts(e){return{...e,generate_audio:!1,camera_control:void 0,cfg_scale:void 0,negative_prompt:void 0}},syncPromptTokens(e){let t=e||this.config,n=[et(t.prompt),...this.urls.map((e,t)=>`<<<image_${this.frameCount+t+1}>>>`)].filter(Boolean).join(` `);n!==t.prompt&&this.$store.commit(`kling/setConfig`,{...t,prompt:n})},syncConfig(){let e=this.urls.length?this.urls.map(e=>({image_url:e})):void 0,t=this.clearOmniConflicts({...this.config,image_list:e});this.$store.commit(`kling/setConfig`,t),this.syncPromptTokens(t)},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.syncConfig()},onRemove(e,t){this.fileList.splice(e,1),t.url?.startsWith(`blob:`)&&URL.revokeObjectURL(t.url),this.syncConfig()}}}),on={class:`relative`},sn={class:`flex justify-between items-center`},cn={class:`flex justify-start items-center`},ln={class:`text-sm font-bold`},un={key:0,class:`file-list flex flex-wrap gap-2 mt-2`};function dn(t,n,u,d,m,_){let v=l(`info-icon`),y=l(`UploadIcon`),b=l(`el-button`),x=l(`el-upload`),S=l(`image-preview`);return g(),s(`div`,on,[e(`div`,sn,[e(`div`,cn,[e(`span`,ln,i(t.$t(`kling.name.referenceImages`)),1),a(v,{content:t.$t(`kling.description.referenceImages`)},null,8,[`content`])]),a(x,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg`,name:`file`,limit:t.referenceLimit,multiple:!0,"show-file-list":!1,action:t.uploadUrl,"before-upload":t.beforeUpload,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{default:p(()=>[a(b,{round:``,type:`primary`,size:`small`,disabled:t.remainingSlots===0},{default:p(()=>[a(y,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`kling.button.uploadReferenceImages`)),1)]),_:1},8,[`disabled`])]),_:1},8,[`file-list`,`limit`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])]),t.fileList.length?(g(),s(`div`,un,[(g(!0),s(c,null,h(t.fileList,(e,n)=>(g(),f(S,{key:e.uid||e.url||n,url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:r=>t.onRemove(n,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])):o(``,!0)])}var fn=R(an,[[`render`,dn]]),pn=v({name:`CfgScaleSelector`,components:{ElSlider:M,InfoIcon:P,ElInputNumber:j},computed:{value:{get(){return this.$store.state?.kling?.config?.cfg_scale},set(e){console.debug(`set cfg_scale`,e),this.$store.commit(`kling/setConfig`,{...this.$store.state?.kling?.config,cfg_scale:e})}}},mounted(){this.value||=0}}),mn={class:`flex justify-between`},hn={class:`flex justify-start items-center`},gn={class:`text-sm font-bold`},_n={class:`flex justify-end items-center`},vn={class:`w-full`};function yn(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input-number`),p=l(`el-slider`);return g(),s(`div`,null,[e(`div`,mn,[e(`div`,hn,[e(`span`,gn,i(t.$t(`kling.name.cfgScale`)),1),a(d,{content:t.$t(`kling.description.cfgScale`)},null,8,[`content`])]),e(`div`,_n,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),e(`div`,vn,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[1]||=e=>t.value=e,min:0,max:1,step:.1},null,8,[`modelValue`])])])}var bn=R(pn,[[`render`,yn]]),xn=v({name:`GenerateAudioSelector`,components:{ElSwitch:N,InfoIcon:P},computed:{selectedModel(){return this.$store.state.kling?.config?.model||``},selectedMode(){return this.$store.state.kling?.config?.mode||``},fixedAudio(){return this.selectedModel===`kling-v3-turbo`},supported(){return!!(this.fixedAudio||L.includes(this.selectedModel)||this.selectedModel===`kling-v2-6`&&this.selectedMode===`pro`)},tooltipContent(){return this.fixedAudio?this.$t(`kling.description.generateAudioIncluded`):this.supported?this.$t(`kling.description.generateAudio`):this.$t(`kling.description.generateAudioUnsupported`)},value:{get(){return this.fixedAudio?!0:this.supported?this.$store.state.kling?.config?.generate_audio??!1:!1},set(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,generate_audio:e})}}},watch:{supported(e){!e&&this.$store.state.kling?.config?.generate_audio&&this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,generate_audio:!1})}}}),Sn={class:`relative`},Cn={class:`flex justify-between items-center`},wn={class:`flex justify-start items-center`},Tn={class:`text-sm font-bold`};function En(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return g(),s(`div`,Sn,[e(`div`,Cn,[e(`div`,wn,[e(`span`,Tn,i(t.$t(`kling.name.generateAudio`)),1),a(d,{content:t.tooltipContent},null,8,[`content`])]),a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,disabled:!t.supported||t.fixedAudio},null,8,[`modelValue`,`disabled`])])])}var Dn=R(xn,[[`render`,En]]),On=[`horizontal`,`vertical`,`pan`,`tilt`,`roll`,`zoom`],kn=v({name:`CameraControlSelector`,components:{ElSelect:y,ElOption:b,ElSlider:M,ElInputNumber:j,InfoIcon:P},data(){return{configKeys:On}},computed:{typeOptions(){return[{value:``,label:this.$t(`kling.name.cameraTypeNone`)},{value:`simple`,label:this.$t(`kling.name.cameraTypeSimple`)},{value:`down_back`,label:this.$t(`kling.name.cameraTypeDownBack`)},{value:`forward_up`,label:this.$t(`kling.name.cameraTypeForwardUp`)},{value:`left_turn_forward`,label:this.$t(`kling.name.cameraTypeLeftTurnForward`)},{value:`right_turn_forward`,label:this.$t(`kling.name.cameraTypeRightTurnForward`)}]},selectedMode(){return this.$store.state.kling?.config?.mode||``},selectedModel(){return this.$store.state.kling?.config?.model||``},selectedDuration(){return this.$store.state.kling?.config?.duration},motionControlSupported(){return Q(this.selectedModel,this.selectedMode,this.selectedDuration).motionControl},hasStartImage(){return!!this.$store.state.kling?.config?.start_image_url},disabled(){return!this.motionControlSupported||this.hasStartImage},tooltipContent(){return this.motionControlSupported?this.hasStartImage?this.$t(`kling.description.cameraControlDisabledImage2Video`):this.$t(`kling.description.cameraControl`):this.$t(`kling.description.cameraControlNotSupported`)},selectedType(){return this.$store.state.kling?.config?.camera_control?.type},selectedTypeRaw:{get(){return this.selectedType??``},set(e){let t=this.$store.state.kling?.config||{};if(!e){let e={...t};delete e.camera_control,this.$store.commit(`kling/setConfig`,e);return}let n=e;this.$store.commit(`kling/setConfig`,{...t,camera_control:{type:n,config:n===`simple`?t.camera_control?.config||{}:void 0}})}},configValues(){return this.$store.state.kling?.config?.camera_control?.config||{}}},watch:{disabled(e){e&&this.selectedType!==void 0&&(this.selectedTypeRaw=``)}},methods:{writeConfig(e,t){let n=this.$store.state.kling?.config||{},r=n.camera_control||{type:`simple`},i={...r.config||{}};t==null?delete i[e]:i[e]=t,this.$store.commit(`kling/setConfig`,{...n,camera_control:{...r,type:`simple`,config:i}})},onSliderChange(e,t){this.writeConfig(e,t)},onNumberChange(e,t){this.writeConfig(e,t)}}}),An={class:`field`},jn={class:`header`},Mn={class:`text-sm font-bold`},Nn={key:0,class:`config-grid`},Pn={class:`cfg-row-head`},Fn={class:`cfg-name`};function In(t,n,r,u,d,m){let _=l(`info-icon`),v=l(`el-option`),y=l(`el-select`),b=l(`el-input-number`),x=l(`el-slider`);return g(),s(`div`,An,[e(`div`,jn,[e(`span`,Mn,i(t.$t(`kling.name.cameraControl`)),1),a(_,{content:t.tooltipContent},null,8,[`content`])]),a(y,{modelValue:t.selectedTypeRaw,"onUpdate:modelValue":n[0]||=e=>t.selectedTypeRaw=e,class:`value`,placeholder:t.$t(`kling.placeholder.cameraType`),clearable:!0,disabled:t.disabled},{default:p(()=>[(g(!0),s(c,null,h(t.typeOptions,e=>(g(),f(v,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`]),t.selectedType===`simple`&&!t.disabled?(g(),s(`div`,Nn,[(g(!0),s(c,null,h(t.configKeys,n=>(g(),s(`div`,{key:n,class:`cfg-row`},[e(`div`,Pn,[e(`span`,Fn,i(t.$t(`kling.name.cc_${n}`)),1),a(b,{modelValue:t.configValues[n],"onUpdate:modelValue":e=>t.configValues[n]=e,min:-1,max:1,step:.1,precision:1,"controls-position":`right`,size:`small`,class:`cfg-num`,onChange:e=>t.onNumberChange(n,e)},null,8,[`modelValue`,`onUpdate:modelValue`,`onChange`])]),a(x,{"model-value":t.configValues[n]??0,min:-1,max:1,step:.1,onInput:e=>t.onSliderChange(n,e)},null,8,[`model-value`,`onInput`])]))),128))])):o(``,!0)])}var Ln=R(kn,[[`render`,In],[`__scopeId`,`data-v-cd896060`]]),Rn=[{groupKey:`cameraMovements`,chipKeys:[`rotateAround`,`stationary`,`handheld`,`zoomOut`,`zoomIn`,`follow`,`panRight`,`tiltUp`,`tiltDown`,`orbit`]},{groupKey:`cameraSpeed`,chipKeys:[`speedSlow`,`speedMedium`,`speedFast`]},{groupKey:`shotType`,chipKeys:[`shotClose`,`shotMedium`,`shotLong`,`shotLowAngle`,`shotHighAngle`,`shotShallowDof`,`shotFront`,`shotProfile`,`shotCloseUp`,`shotDrone`]},{groupKey:`light`,chipKeys:[`lightSunlight`,`lightSoft`,`lightNeon`,`lightWarm`,`lightNature`,`lightCandle`,`lightCityNight`]},{groupKey:`frame`,chipKeys:[`frameRichDetails`,`frameSimpleBg`]},{groupKey:`atmosphere`,chipKeys:[`atmosphereMysterious`,`atmospherePeaceful`,`atmosphereHeartwarming`,`atmosphereVivid`,`atmosphereColorful`]}],zn=`, `;function Bn(e,t){let n=(e||``).trim();return n?n.includes(t)?n:`${n}${zn}${t}`:t}function Vn(e,t){if(!e||!t)return e||``;let n=[`${t}${zn}`,`${zn}${t}`,t],r=e;for(let e of n)if(r.includes(e)){r=r.replace(e,``);break}return r.replace(/(?:,\s*)+$/,``).replace(/^(?:,\s*)+/,``)}var Hn=v({name:`InspirationPills`,components:{CloseIcon:me},computed:{prompt(){return this.$store.state.kling?.config?.prompt||``},allChipTexts(){return Rn.flatMap(e=>e.chipKeys.map(e=>this.$t(`kling.inspiration.chip.${e}`)))},selected(){let e=this.prompt;if(!e)return[];let t=[];for(let n of this.allChipTexts){let r=e.indexOf(n);r!==-1&&t.push({text:n,idx:r})}return t.sort((e,t)=>e.idx-t.idx).map(e=>e.text)}},methods:{onRemove(e){let t=Vn(this.prompt,e);this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,prompt:t})}}}),Un={key:0,class:`pills`,role:`list`},Wn={class:`pill-text`},Gn=[`aria-label`,`title`,`onClick`];function Kn(n,r,u,d,f,p){let m=l(`close-icon`);return n.selected.length>0?(g(),s(`div`,Un,[(g(!0),s(c,null,h(n.selected,r=>(g(),s(`div`,{key:r,class:`pill`,role:`listitem`},[e(`span`,Wn,i(r),1),e(`button`,{type:`button`,class:`pill-remove`,"aria-label":n.$t(`kling.inspiration.removeChip`),title:n.$t(`kling.inspiration.removeChip`),onClick:t(e=>n.onRemove(r),[`stop`])},[a(m,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Gn)]))),128))])):o(``,!0)}var qn=v({name:`PromptInput`,components:{IdeaIcon:ie,ElButton:X,PromptTextarea:ae,InspirationPills:R(Hn,[[`render`,Kn],[`__scopeId`,`data-v-6be01bcf`]])},emits:[`open-inspiration`],computed:{prompt:{get(){return this.$store.state.kling?.config?.prompt},set(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Jn(e,t,n,o,s,c){let u=l(`idea-icon`),d=l(`el-button`),m=l(`inspiration-pills`),h=l(`prompt-textarea`);return g(),f(h,{modelValue:e.prompt,"onUpdate:modelValue":t[1]||=t=>e.prompt=t,title:e.$t(`kling.name.prompt`),info:e.$t(`kling.description.prompt`),placeholder:e.$t(`kling.placeholder.prompt`)},{actions:p(()=>[a(d,{text:``,size:`small`,class:`inspiration-btn`,onClick:t[0]||=t=>e.$emit(`open-inspiration`)},{default:p(()=>[a(u,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(e.$t(`kling.inspiration.openButton`)),1)]),_:1})]),before:p(()=>[a(m)]),_:1},8,[`modelValue`,`title`,`info`,`placeholder`])}var Yn=R(qn,[[`render`,Jn],[`__scopeId`,`data-v-5754ae54`]]),Xn=v({name:`NegativePromptInput`,components:{ElInput:q,InfoIcon:P},computed:{prompt:{get(){return this.$store.state.kling?.config?.negative_prompt},set(e){console.debug(`set prompt`,e),this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,negative_prompt:e})}}},mounted(){this.prompt||=``}}),Zn={class:`field`},Qn={class:`box`},$n={class:`title font-bold`};function er(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input`);return g(),s(`div`,Zn,[e(`div`,Qn,[e(`h2`,$n,i(t.$t(`kling.name.negativePrompt`)),1),a(d,{content:t.$t(`kling.description.negativePrompt`),class:`info`},null,8,[`content`])]),a(f,{modelValue:t.prompt,"onUpdate:modelValue":n[0]||=e=>t.prompt=e,rows:3,type:`textarea`,class:`prompt`,placeholder:t.$t(`kling.placeholder.negativePrompt`)},null,8,[`modelValue`,`placeholder`])])}var tr=R(Xn,[[`render`,er],[`__scopeId`,`data-v-de98cf01`]]),nr=v({name:`InspirationDrawer`,components:{Close:me,IdeaIcon:ie,ElDrawer:A,ElButton:X},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`],data(){return{groups:Rn}},computed:{visible:{get(){return this.modelValue},set(e){this.$emit(`update:modelValue`,e)}},drawerSize(){return window.innerWidth<768?`100%`:`380px`},prompt(){return this.$store.state.kling?.config?.prompt||``},allChipTexts(){return this.groups.flatMap(e=>e.chipKeys.map(e=>this.$t(`kling.inspiration.chip.${e}`)))},selectedCount(){return this.allChipTexts.filter(e=>this.isSelected(e)).length}},methods:{chipText(e){return this.$t(`kling.inspiration.chip.${e}`)},isSelected(e){return e?this.prompt.includes(e):!1},setPrompt(e){this.$store.commit(`kling/setConfig`,{...this.$store.state.kling?.config,prompt:e})},onToggle(e){e&&(this.isSelected(e)?this.setPrompt(Vn(this.prompt,e)):this.setPrompt(Bn(this.prompt,e)))},onClearSelected(){let e=this.prompt;for(let t of this.allChipTexts)for(;e.includes(t);)e=Vn(e,t);this.setPrompt(e)}}}),rr={class:`drawer-content`},ir={class:`drawer-header`},ar={class:`title-row`},or={class:`title`},sr={class:`hint`},cr={key:0,class:`selected-bar`},lr={class:`selected-text`},ur={class:`groups`},dr={class:`group-title`},fr={class:`chip-grid`},pr=[`onClick`];function mr(t,u,d,m,_,v){let y=l(`idea-icon`),b=l(`close`),x=l(`el-button`),S=l(`el-drawer`);return g(),f(S,{modelValue:t.visible,"onUpdate:modelValue":u[1]||=e=>t.visible=e,direction:`rtl`,"with-header":!1,size:t.drawerSize,"custom-class":`kling-inspiration-drawer`,"destroy-on-close":!1},{default:p(()=>[e(`div`,rr,[e(`div`,ir,[e(`div`,ar,[a(y,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,or,i(t.$t(`kling.inspiration.title`)),1)]),a(x,{text:``,class:`close-btn`,"aria-label":t.$t(`common.button.close`),title:t.$t(`common.button.close`),onClick:u[0]||=e=>t.visible=!1},{default:p(()=>[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`])]),e(`div`,sr,i(t.$t(`kling.inspiration.hint`)),1),t.selectedCount>0?(g(),s(`div`,cr,[e(`span`,lr,i(t.$t(`kling.inspiration.selectedSummary`,{count:t.selectedCount})),1),a(x,{text:``,size:`small`,class:`clear-btn`,onClick:t.onClearSelected},{default:p(()=>[r(i(t.$t(`kling.inspiration.clearSelected`)),1)]),_:1},8,[`onClick`])])):o(``,!0),e(`div`,ur,[(g(!0),s(c,null,h(t.groups,r=>(g(),s(`div`,{key:r.groupKey,class:`group`},[e(`div`,dr,i(t.$t(`kling.inspiration.group.${r.groupKey}`)),1),e(`div`,fr,[(g(!0),s(c,null,h(r.chipKeys,e=>(g(),s(`button`,{key:e,type:`button`,class:n({chip:!0,active:t.isSelected(t.chipText(e))}),onClick:n=>t.onToggle(t.chipText(e))},i(t.chipText(e)),11,pr))),128))])]))),128))])])]),_:1},8,[`modelValue`,`size`])}var hr=R(nr,[[`render`,mr],[`__scopeId`,`data-v-8b2e6a5d`]]),gr={"kling-v3":`v3`,"kling-v3-turbo":`v3-Turbo`,"kling-v3-omni":`v3-Omni`,"kling-v2-6":`v2.6`,"kling-v2-5-turbo":`v2.5-Turbo`,"kling-v2-1-master":`v2.1-Master`,"kling-v2-master":`v2-Master`,"kling-v1-6":`v1.6`,"kling-v1":`v1`,"kling-o1":`Kling O1`},_r={std:`720p`,pro:`1080p`,"4k":`4K`},vr=v({name:`SummaryChip`,components:{AudioIcon:ne},computed:{config(){return this.$store.state.kling?.config||{}},modelLabel(){let e=this.config?.model||`kling-v2-5-turbo`;return gr[e]||e},durationLabel(){return`${this.config?.duration??5}s`},aspectRatio(){return this.config?.aspect_ratio||``},modeLabel(){let e=this.config?.mode||`std`;return _r[e]||e},generateAudio(){return this.config?.model===`kling-v3-turbo`||!!this.config?.generate_audio}}}),yr={class:`summary-chip`},br=[`title`],xr=[`title`],Sr=[`title`],Cr=[`title`],wr=[`title`];function Tr(t,n,r,c,u,d){let f=l(`audio-icon`);return g(),s(`div`,yr,[e(`span`,{class:`part`,title:t.$t(`kling.name.model`)},i(t.modelLabel),9,br),n[0]||=e(`span`,{class:`dot`},`·`,-1),e(`span`,{class:`part`,title:t.$t(`kling.name.duration`)},i(t.durationLabel),9,xr),n[1]||=e(`span`,{class:`dot`},`·`,-1),e(`span`,{class:`part`,title:t.$t(`kling.name.ratio`)},i(t.aspectRatio||`16:9`),9,Sr),n[2]||=e(`span`,{class:`dot`},`·`,-1),e(`span`,{class:`part`,title:t.$t(`kling.name.mode`)},i(t.modeLabel),9,Cr),t.generateAudio?(g(),s(`span`,{key:0,class:`audio`,title:t.$t(`kling.name.generateAudio`)},[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,wr)):o(``,!0)])}var Er=v({name:`ConfigPanel`,components:{MagicIcon:I,ElButton:X,ServicePricingSummary:Ne,PromptInput:Yn,NegativePromptInput:tr,ModelSelector:st,ModeSelector:mt,DurationSelector:wt,RatioSelector:jt,StartImage:Rt,CfgScaleSelector:bn,GenerateAudioSelector:Dn,CameraControlSelector:Ln,InspirationDrawer:hr,SummaryChip:R(vr,[[`render`,Tr],[`__scopeId`,`data-v-f59e4d1f`]]),EndImage:Gt,ReferenceImages:fn,ReferenceVideo:rn,ScenarioPaymentMode:Le},emits:[`generate`],data(){return{inspirationOpen:!1,quoteTimer:0,quoteRunId:0}},computed:{canGenerate(){return We(`kling`,H(this.config))},config(){return this.$store.state.kling?.config},capabilities(){return Q(this.config?.model,this.config?.mode,this.config?.duration)},restrictedControls(){return[`kling-o1`,`kling-v3-omni`,`kling-v3-turbo`].includes(this.config?.model||``)||!!(this.config?.image_list?.length||this.config?.video_list?.length)},consumption(){return ye(this.config,this.service?.cost)},service(){return this.$store.state.kling?.service},walletMode(){return he()&&V(`kling`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1;let e=V(`kling`);e.quoteUsdc=void 0,e.quoteLoading=!1,this.canGenerate&&(this.quoteTimer=window.setTimeout(this.refreshQuote,350))},async refreshQuote(){if(!this.canGenerate)return;let e=V(`kling`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await U.quote(H(this.config));t===this.quoteRunId&&e.mode===`wallet`&&this.canGenerate&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onGenerate(){this.$emit(`generate`)}}}),Dr={class:`flex flex-col h-full`},Or={class:`flex-1 overflow-y-auto p-5`},kr={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ar(t,n,c,u,d,m){let h=l(`prompt-input`),_=l(`model-selector`),v=l(`ratio-selector`),y=l(`reference-images`),b=l(`reference-video`),x=l(`start-image`),S=l(`end-image`),C=l(`duration-selector`),w=l(`mode-selector`),T=l(`generate-audio-selector`),E=l(`camera-control-selector`),D=l(`cfg-scale-selector`),O=l(`negative-prompt-input`),k=l(`summary-chip`),A=l(`scenario-payment-mode`),j=l(`service-pricing-summary`),M=l(`magic-icon`),N=l(`el-button`),ee=l(`inspiration-drawer`);return g(),s(`div`,Dr,[e(`div`,Or,[a(h,{class:`mb-4`,onOpenInspiration:n[0]||=e=>t.inspirationOpen=!0}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),t.capabilities.referenceImages?(g(),f(y,{key:0,class:`mb-3`})):o(``,!0),t.capabilities.referenceVideo?(g(),f(b,{key:1,class:`mb-4`})):o(``,!0),a(x,{class:`mb-4`}),t.config?.model===`kling-v3-turbo`?o(``,!0):(g(),f(S,{key:2,class:`mb-4`})),a(C,{class:`mb-4`}),a(w,{class:`mb-4`}),a(T,{class:`mb-4`}),t.restrictedControls?o(``,!0):(g(),f(E,{key:3,class:`mb-4`})),t.restrictedControls?o(``,!0):(g(),f(D,{key:4,class:`mb-4`})),t.restrictedControls?o(``,!0):(g(),f(O,{key:5,class:`mb-4`}))]),e(`div`,kr,[a(k),a(A,{scenario:`kling`}),t.walletMode?o(``,!0):(g(),f(j,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),t.config?.video_url!==void 0||t.config?.custom?(g(),f(N,{key:1,type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:p(()=>[a(M,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`kling.button.extend`)),1)]),_:1},8,[`disabled`,`onClick`])):(g(),f(N,{key:2,type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:p(()=>[a(M,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`kling.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`]))]),a(ee,{modelValue:t.inspirationOpen,"onUpdate:modelValue":n[1]||=e=>t.inspirationOpen=e},null,8,[`modelValue`])])}var jr=R(Er,[[`render`,Ar]]),Mr=v({name:`MotionImage`,components:{UploadIcon:F,ElUpload:C,ElButton:X,InfoIcon:P,ImagePreview:Z},mixins:[J,K,Y,De],data(){return{fileList:[],uploadUrl:B()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},mounted(){this.onSetImageUrl()},methods:{onExceed(){D.warning(this.$t(`kling.message.uploadReferencesExceed`))},onError(){D.error(this.$t(`kling.message.uploadReferencesError`))},onRemove(e){this.fileList.splice(this.fileList.indexOf(e),1),this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,image_url:void 0})},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),Nr={class:`relative`},Pr={class:`flex justify-between`},Fr={class:`flex justify-start items-center`},Ir={class:`text-sm font-bold`};function Lr(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return g(),s(`div`,Nr,[e(`div`,Pr,[e(`div`,Fr,[e(`span`,Ir,i(t.$t(`kling.name.motionImage`)),1),a(h,{content:t.$t(`kling.description.motionImage`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.onRemove(e)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`kling.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Rr=R(Mr,[[`render`,Lr],[`__scopeId`,`data-v-4a95ef2c`]]),zr=v({name:`MotionVideo`,components:{UploadIcon:F,ElUpload:C,ElButton:X,InfoIcon:P,FilePreview:je},mixins:[K,Y],data(){return{fileList:[],uploadUrl:B()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},mounted(){this.onSetVideoUrl()},methods:{onExceed(){D.warning(this.$t(`kling.message.uploadVideoExceed`))},onError(){D.error(this.$t(`kling.message.uploadVideoError`))},onRemove(e){this.fileList.splice(this.fileList.indexOf(e),1),this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,video_url:void 0})},beforeUpload(e){let t=e.type===`video/mp4`||e.type===`video/quicktime`,n=e.size/1024/1024<100;return t?n?!0:(D.error(this.$t(`kling.message.uploadVideoSizeExceed`)),!1):(D.error(this.$t(`kling.message.uploadVideoTypeFailed`)),!1)},onSetVideoUrl(){let e=this.urls?.[0];this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,video_url:e})},async onSuccess(){this.onSetVideoUrl()}}}),Br={class:`relative`},Vr={class:`flex justify-between`},Hr={class:`flex justify-start items-center`},Ur={class:`text-sm font-bold`};function Wr(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`file-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return g(),s(`div`,Br,[e(`div`,Vr,[e(`div`,Hr,[e(`span`,Ur,i(t.$t(`kling.name.motionVideo`)),1),a(h,{content:t.$t(`kling.description.motionVideo`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.mp4,.mov`,name:`file`,class:`value`,"show-file-list":!0,limit:1,multiple:!1,action:t.uploadUrl,"before-upload":t.beforeUpload,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.percentage===void 0?o(``,!0):(g(),f(_,{key:0,url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.onRemove(e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`kling.button.uploadVideoUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Gr=R(zr,[[`render`,Wr],[`__scopeId`,`data-v-630c4521`]]),Kr=v({name:`MotionPromptInput`,components:{ElInput:q,InfoIcon:P},computed:{prompt:{get(){return this.$store.state.kling?.motionConfig?.prompt||``},set(e){this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,prompt:e})}}}}),qr={class:`field`},Jr={class:`box`},Yr={class:`title font-bold`};function Xr(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input`);return g(),s(`div`,qr,[e(`div`,Jr,[e(`h2`,Yr,i(t.$t(`kling.name.motionPrompt`)),1),a(d,{content:t.$t(`kling.description.motionPrompt`),class:`info`},null,8,[`content`])]),a(f,{modelValue:t.prompt,"onUpdate:modelValue":n[0]||=e=>t.prompt=e,rows:3,type:`textarea`,class:`prompt`,placeholder:t.$t(`kling.placeholder.motionPrompt`)},null,8,[`modelValue`,`placeholder`])])}var Zr=R(Kr,[[`render`,Xr],[`__scopeId`,`data-v-ca9fdbe5`]]),Qr=`video`,$r=v({name:`CharacterOrientationSelector`,components:{ElRadioGroup:k,ElRadioButton:O,InfoIcon:P},computed:{value:{get(){return this.$store.state.kling?.motionConfig?.character_orientation||Qr},set(e){this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,character_orientation:e})}}},mounted(){this.$store.state.kling?.motionConfig?.character_orientation||(this.value=Qr)}}),ei={class:`field`},ti={class:`header`},ni={class:`text-sm font-bold`};function ri(t,n,o,c,u,d){let f=l(`info-icon`),m=l(`el-radio-button`),h=l(`el-radio-group`);return g(),s(`div`,ei,[e(`div`,ti,[e(`span`,ni,i(t.$t(`kling.name.characterOrientation`)),1),a(f,{content:t.$t(`kling.description.characterOrientation`)},null,8,[`content`])]),a(h,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,size:`small`,class:`value`},{default:p(()=>[a(m,{label:`image`},{default:p(()=>[r(i(t.$t(`kling.name.orientationImage`)),1)]),_:1}),a(m,{label:`video`},{default:p(()=>[r(i(t.$t(`kling.name.orientationVideo`)),1)]),_:1})]),_:1},8,[`modelValue`])])}var ii=R($r,[[`render`,ri],[`__scopeId`,`data-v-7a91195b`]]),ai=`kling-v2-6`,oi=v({name:`MotionModelSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:P},computed:{options(){return[{value:`kling-v2-6`,label:`Kling 2.6`},{value:`kling-v3`,label:`Kling 3.0`}]},value:{get(){return this.$store.state.kling?.motionConfig?.model_name||ai},set(e){this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,model_name:e})}}},mounted(){this.$store.state.kling?.motionConfig?.model_name||(this.value=ai)}}),si={class:`field`},ci={class:`header`},li={class:`title font-bold`};function ui(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,si,[e(`div`,ci,[e(`h2`,li,i(t.$t(`kling.name.motionModel`)),1),a(m,{content:t.$t(`kling.description.motionModel`)},null,8,[`content`])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`kling.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var di=R(oi,[[`render`,ui],[`__scopeId`,`data-v-480e8da2`]]),fi=`std`,pi=v({name:`MotionModeSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:P},computed:{options(){return[{value:`std`,label:this.$t(`kling.name.modeStd`)},{value:`pro`,label:this.$t(`kling.name.modePro`)}]},value:{get(){return this.$store.state.kling?.motionConfig?.mode||fi},set(e){this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,mode:e})}}},mounted(){this.$store.state.kling?.motionConfig?.mode||(this.value=fi)}}),mi={class:`field`},hi={class:`header`},gi={class:`title font-bold`};function _i(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,mi,[e(`div`,hi,[e(`h2`,gi,i(t.$t(`kling.name.mode`)),1),a(m,{content:t.$t(`kling.description.motionMode`)},null,8,[`content`])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`kling.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var vi=R(pi,[[`render`,_i],[`__scopeId`,`data-v-1295688c`]]),yi=v({name:`KeepOriginalSoundSelector`,components:{ElSwitch:N,InfoIcon:P},computed:{value:{get(){return(this.$store.state.kling?.motionConfig?.keep_original_sound??`yes`)===`yes`},set(e){this.$store.commit(`kling/setMotionConfig`,{...this.$store.state.kling?.motionConfig,keep_original_sound:e?`yes`:`no`})}}}}),bi={class:`relative`},xi={class:`flex justify-between items-center`},Si={class:`flex justify-start items-center`},Ci={class:`text-sm font-bold`};function wi(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return g(),s(`div`,bi,[e(`div`,xi,[e(`div`,Si,[e(`span`,Ci,i(t.$t(`kling.name.keepOriginalSound`)),1),a(d,{content:t.$t(`kling.description.keepOriginalSound`)},null,8,[`content`])]),a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e},null,8,[`modelValue`])])])}var Ti=v({name:`MotionPanel`,components:{MagicIcon:I,ElButton:X,ServicePricingSummary:Ne,MotionImage:Rr,MotionVideo:Gr,MotionPromptInput:Zr,CharacterOrientationSelector:ii,MotionModelSelector:di,MotionModeSelector:vi,KeepOriginalSoundSelector:R(yi,[[`render`,wi]])},emits:[`generate`],computed:{motionConfig(){return this.$store.state.kling?.motionConfig},consumption(){return ye({...this.motionConfig,duration:1},this.service?.cost)},service(){return this.$store.state.kling?.service},canGenerate(){let e=this.motionConfig;return!!(e?.image_url&&e?.video_url)}},methods:{onGenerate(){this.$emit(`generate`)}}}),Ei={class:`flex flex-col h-full`},Di={class:`flex-1 overflow-y-auto p-5`},Oi={class:`flex flex-col items-center justify-center px-5 pb-5`};function ki(t,n,o,c,u,d){let f=l(`motion-image`),m=l(`motion-video`),h=l(`motion-prompt-input`),_=l(`character-orientation-selector`),v=l(`motion-model-selector`),y=l(`motion-mode-selector`),b=l(`keep-original-sound-selector`),x=l(`service-pricing-summary`),S=l(`magic-icon`),C=l(`el-button`);return g(),s(`div`,Ei,[e(`div`,Di,[a(f,{class:`mb-3`}),a(m,{class:`mb-3`}),a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`})]),e(`div`,Oi,[a(x,{value:t.consumption,service:t.service,"rate-unit":t.$t(`kling.name.perSecond`),note:t.$t(`kling.message.motionPricingNote`)},null,8,[`value`,`service`,`rate-unit`,`note`]),a(C,{type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:p(()=>[a(S,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`kling.button.generateMotion`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var Ai=R(Ti,[[`render`,ki]]),ji=v({name:`KlingTabSwitcher`,components:{MetaTag:_e,ElTabs:x,ElTabPane:S},props:{modelValue:{type:String,default:`videos`}},emits:[`update:modelValue`],computed:{tabs(){return[{value:`videos`,label:this.$t(`kling.tab.videoGeneration`)},{value:`motion`,label:this.$t(`kling.tab.motionControl`)},{value:`talking-photo`,label:this.$t(`kling.tab.talkingPhoto`)}]}},methods:{onUpdate(e){this.$emit(`update:modelValue`,e)}}}),Mi=[`title`],Ni={class:`text`};function Pi(t,n,a,u,d,m){let _=l(`meta-tag`),v=l(`el-tab-pane`),y=l(`el-tabs`);return g(),f(y,{"model-value":t.modelValue,class:`kling-tabs scenario-tabs scenario-tabs--divided`,"onUpdate:modelValue":t.onUpdate},{default:p(()=>[(g(!0),s(c,null,h(t.tabs,t=>(g(),f(v,{key:t.value,name:t.value,disabled:t.disabled},{label:p(()=>[e(`span`,{class:`tab-label`,title:t.disabled?t.disabledReason:void 0},[e(`span`,Ni,i(t.label),1),t.badge?(g(),f(_,{key:0,tone:`warning`,class:`badge`,density:`compact`},{default:p(()=>[r(i(t.badge),1)]),_:2},1024)):o(``,!0)],8,Mi)]),_:2},1032,[`name`,`disabled`]))),128))]),_:1},8,[`model-value`,`onUpdate:modelValue`])}var Fi=R(ji,[[`render`,Pi],[`__scopeId`,`data-v-24ca66ec`]]),Ii={"kling-v2-6":`v2.6`,"kling-v2-5-turbo":`v2.5-Turbo`,"kling-v2-1-master":`v2.1-Master`,"kling-v2-master":`v2-Master`,"kling-v1-6":`v1.6`,"kling-v1":`v1`},Li=v({name:`TalkingPhotoModelSelector`,components:{ElSelect:y,ElOption:b},data(){return{options:pe.map(e=>({value:e,label:Ii[e]||e}))}},computed:{value:{get(){return this.$store.state.kling?.talkingPhotoConfig?.model||`kling-v2-1-master`},set(e){this.$store.commit(`kling/setTalkingPhotoConfig`,{...this.$store.state.kling?.talkingPhotoConfig,model:e})}}},mounted(){this.$store.state.kling?.talkingPhotoConfig?.model||(this.value=fe)}}),Ri={class:`field`},zi={class:`title font-bold`};function Bi(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Ri,[e(`h2`,zi,i(t.$t(`kling.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`kling.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Vi=R(Li,[[`render`,Bi],[`__scopeId`,`data-v-cbc83d11`]]),Hi=v({name:`TalkingPhotoModeSelector`,components:{ElSelect:y,ElOption:b},computed:{options(){return[{value:`std`,label:this.$t(`kling.name.modeStd`)},{value:`pro`,label:this.$t(`kling.name.modePro`)}]},value:{get(){return this.$store.state.kling?.talkingPhotoConfig?.mode||`pro`},set(e){this.$store.commit(`kling/setTalkingPhotoConfig`,{...this.$store.state.kling?.talkingPhotoConfig,mode:e})}}},mounted(){this.$store.state.kling?.talkingPhotoConfig?.mode||(this.value=`pro`)}}),Ui={class:`field`},Wi={class:`title font-bold`};function Gi(t,n,r,o,u,d){let m=l(`el-option`),_=l(`el-select`);return g(),s(`div`,Ui,[e(`h2`,Wi,i(t.$t(`kling.name.mode`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`kling.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ki=v({name:`TalkingPhotoPanel`,components:{MagicIcon:I,UploadIcon:F,ElUpload:C,ElButton:X,ElInput:q,ServicePricingSummary:Ne,InfoIcon:P,ImagePreview:Z,ModelSelector:Vi,ModeSelector:R(Hi,[[`render`,Gi],[`__scopeId`,`data-v-92525a1d`]]),ScenarioPaymentMode:Le},mixins:[Y,De],emits:[`generate`],data(){return{imageFiles:[],audioFiles:[],uploadUrl:B()+`/api/v1/files/`,quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.kling?.talkingPhotoConfig||{}},audioUrl(){return this.config.audio_url},headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},service(){return this.$store.state.kling?.service},consumption(){return ye({...this.config,action:`talking-photo`},this.service?.cost)},canGenerate(){return!!(this.config.image_url&&this.config.audio_url)},walletMode(){return he()&&V(`kling`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,350)},async refreshQuote(){let e=V(`kling`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await U.quoteTalkingPhoto(ge(this.config));t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},commit(e){this.$store.commit(`kling/setTalkingPhotoConfig`,{...this.config,...e})},onPromptChange(e){this.commit({prompt:e})},onImageExceed(){D.warning(this.$t(`kling.message.uploadReferencesExceed`))},onImageError(){D.error(this.$t(`kling.message.uploadReferencesError`))},onImageSuccess(e){this.commit({image_url:e?.file_url})},onImageRemove(e){this.imageFiles.splice(this.imageFiles.indexOf(e),1),this.commit({image_url:void 0})},onAudioExceed(){D.warning(this.$t(`kling.message.uploadAudioExceed`))},onAudioError(){D.error(this.$t(`kling.message.uploadAudioError`))},onAudioSuccess(e){this.commit({audio_url:e?.file_url})},onAudioRemove(){this.commit({audio_url:void 0})},onGenerate(){this.$emit(`generate`)}}}),qi={class:`flex flex-col h-full`},Ji={class:`flex-1 overflow-y-auto p-5`},Yi={class:`relative mb-4`},Xi={class:`flex justify-start items-center`},Zi={class:`text-sm font-bold`},Qi={class:`relative mb-4`},$i={class:`flex justify-start items-center`},ea={class:`text-sm font-bold`},ta=[`src`],na={class:`mb-4`},ra={class:`flex justify-start items-center`},ia={class:`text-sm font-bold`},aa={class:`flex flex-col items-center justify-center px-5 pb-5`};function oa(t,n,c,u,d,m){let h=l(`model-selector`),_=l(`mode-selector`),v=l(`info-icon`),y=l(`image-preview`),b=l(`upload-icon`),x=l(`el-button`),S=l(`el-upload`),C=l(`el-input`),w=l(`scenario-payment-mode`),T=l(`service-pricing-summary`),E=l(`magic-icon`);return g(),s(`div`,qi,[e(`div`,Ji,[a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),e(`div`,Yi,[e(`div`,Xi,[e(`span`,Zi,i(t.$t(`kling.name.talkingPhotoImage`)),1),a(v,{content:t.$t(`kling.description.talkingPhotoImage`)},null,8,[`content`])]),a(S,{ref:`imageUploader`,"file-list":t.imageFiles,"onUpdate:fileList":n[0]||=e=>t.imageFiles=e,name:`file`,accept:`.png,.jpg,.jpeg,.webp,.bmp`,limit:1,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"list-type":`picture`,headers:t.headers,"on-exceed":t.onImageExceed,"on-error":t.onImageError,"on-success":t.onImageSuccess},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(y,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.onImageRemove(e)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(x,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(b,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`kling.button.uploadReferences`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`headers`,`on-exceed`,`on-error`,`on-success`])]),e(`div`,Qi,[e(`div`,$i,[e(`span`,ea,i(t.$t(`kling.name.talkingPhotoAudio`)),1),a(v,{content:t.$t(`kling.description.talkingPhotoAudio`)},null,8,[`content`])]),a(S,{ref:`audioUploader`,"file-list":t.audioFiles,"onUpdate:fileList":n[1]||=e=>t.audioFiles=e,name:`file`,accept:`.mp3,.wav,.m4a,.aac`,limit:1,class:`upload-wrapper`,multiple:!1,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,headers:t.headers,"on-exceed":t.onAudioExceed,"on-error":t.onAudioError,"on-success":t.onAudioSuccess,"on-remove":t.onAudioRemove},{default:p(()=>[a(x,{round:``,type:`primary`,size:`small`,class:`btn`},{default:p(()=>[a(b,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`kling.button.uploadAudio`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`headers`,`on-exceed`,`on-error`,`on-success`,`on-remove`]),t.audioUrl?(g(),s(`audio`,{key:0,src:t.audioUrl,controls:``,class:`w-full mt-2`},null,8,ta)):o(``,!0)]),e(`div`,na,[e(`div`,ra,[e(`span`,ia,i(t.$t(`kling.name.talkingPhotoPrompt`)),1),a(v,{content:t.$t(`kling.description.talkingPhotoPrompt`)},null,8,[`content`])]),a(C,{"model-value":t.config.prompt,type:`textarea`,rows:2,placeholder:t.$t(`kling.placeholder.talkingPhotoPrompt`),class:`mt-1`,"onUpdate:modelValue":t.onPromptChange},null,8,[`model-value`,`placeholder`,`onUpdate:modelValue`])])]),e(`div`,aa,[a(w,{scenario:`kling`}),t.walletMode?o(``,!0):(g(),f(T,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(x,{type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:p(()=>[a(E,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`kling.button.generateTalkingPhoto`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var sa=R(Ki,[[`render`,oa],[`__scopeId`,`data-v-46191f92`]]),ca=v({name:`TaskPreview`,components:{DeleteIcon:le,ChannelIcon:te,InfoIcon:re,MagicIcon:I,TimeIcon:ee,WarningIcon:ue,CopyToClipboard:ke,ElAlert:T,VideoPlayer:Fe,ElTooltip:w,ElButton:X,ImagePreview:Z,VideoPreview:Ie,AudioPreview:Pe,ApiCodeButton:Re,ReportButton:Ae},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{isFailure(){let e=this.modelValue?.response;return e?.success===!1||!!e?.error||e?.state===`failed`||e?.state===`cancelled`},isWaiting(){let e=this.modelValue?.response;return!e||!this.isFailure&&e.success!==!0&&!e.video_url},application(){return this.$store.state.kling?.application},config(){return this.$store.state.kling?.config},displayText(){return this.modelValue?.request?.prompt?.trim()||this.modelValue?.request?.text?.trim()||``},referenceImages(){let e=[],t=this.modelValue?.request?.start_image_url,n=this.modelValue?.request?.end_image_url,r=this.modelValue?.request?.image_url;return t&&e.push({url:t,name:`start-image`}),n&&e.push({url:n,name:`end-image`}),r&&e.push({url:r,name:`reference-image`}),e},referenceVideos(){let e=[],t=this.modelValue?.request?.video_url;t&&e.push({url:t,name:`reference-video`});let n=this.modelValue?.request?.video_list;return(Array.isArray(n)?n:[]).forEach((t,n)=>{t?.video_url&&e.push({url:t.video_url,name:`reference-video-${n+1}`})}),e},referenceAudios(){let e=this.modelValue?.request?.audio_url;return e?[{url:e,name:`reference-audio`}]:[]}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await z.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`kling/deleteTask`,{id:e}),D.success(this.$t(`common.message.deleteTaskSuccess`))}catch{D.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenVideo(e){window.open(e,`_blank`)}}}),la={class:`preview`},ua={class:`left`},da={class:`main`},fa={class:`bot`},pa={class:`datetime`},ma=[`aria-label`],ha={key:0,class:`info`},ga={key:0,class:`request-media flex justify-start items-center gap-2 w-full overflow-x-auto`},_a={key:1,class:`prompt`},va={key:0},ya={key:1},ba={key:1,class:n({content:!0,failed:!0})},xa={key:0,class:`mb-4`},Sa={key:1,class:n({operations:!0,"mt-2":!0})},Ca={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},wa={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ta={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ea={key:2,class:n({content:!0})},Da={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Oa={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ka={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Aa={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},ja={key:3,class:n({content:!0})},Ma={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Na={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Pa(n,u,d,m,_,v){let y=l(`capability-presentation`),b=l(`delete-icon`),x=l(`el-tooltip`),S=l(`image-preview`),C=l(`video-preview`),w=l(`audio-preview`),T=l(`video-player`),E=l(`el-button`),D=l(`api-code-button`),O=l(`report-button`),k=l(`channel-icon`),A=l(`magic-icon`),j=l(`copy-to-clipboard`),M=l(`time-icon`),N=l(`el-alert`),ee=l(`warning-icon`),te=l(`info-icon`);return g(),s(`div`,la,[e(`div`,ua,[a(y,{capability:`kling`,part:`avatar`,class:`avatar`})]),e(`div`,da,[e(`div`,fa,[a(y,{capability:`kling`,part:`name`}),e(`span`,pa,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(g(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:u[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,ma)):o(``,!0)]),_:1},8,[`content`])]),n.referenceImages.length>0||n.referenceVideos.length>0||n.referenceAudios.length>0||n.displayText?(g(),s(`div`,ha,[n.referenceImages.length>0||n.referenceVideos.length>0||n.referenceAudios.length>0?(g(),s(`div`,ga,[(g(!0),s(c,null,h(n.referenceImages,(e,t)=>(g(),f(S,{key:`image-${t}`,url:e.url,name:e.name,closable:!1},null,8,[`url`,`name`]))),128)),(g(!0),s(c,null,h(n.referenceVideos,(e,t)=>(g(),f(C,{key:`video-${t}`,url:e.url,name:e.name},null,8,[`url`,`name`]))),128)),(g(!0),s(c,null,h(n.referenceAudios,(e,t)=>(g(),f(w,{key:`audio-${t}`,url:e.url,name:e.name},null,8,[`url`,`name`]))),128))])):o(``,!0),n.displayText?(g(),s(`p`,_a,[r(i(n.displayText)+` `,1),n.modelValue?.response?n.isWaiting?(g(),s(`span`,ya,` - (`+i(n.$t(`kling.status.processing`))+`) `,1)):o(``,!0):(g(),s(`span`,va,` - (`+i(n.$t(`kling.status.pending`))+`) `,1))])):o(``,!0)])):o(``,!0),n.modelValue?.response?.success===!0&&!n.isFailure?(g(),s(`div`,ba,[n.modelValue?.response.video_url?(g(),s(`div`,xa,[a(T,{src:n.modelValue?.response.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response.success?(g(),s(`div`,Sa,[a(x,{class:`box-item`,effect:`dark`,content:n.$t(`kling.message.downloadVideo`),placement:`top-start`},{default:p(()=>[n.modelValue?.response.video_url?(g(),f(E,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:u[1]||=e=>n.onDownload(e,n.modelValue?.response.video_url)},{default:p(()=>[r(i(n.$t(`kling.button.download`)),1)]),_:1})):o(``,!0)]),_:1},8,[`content`]),a(D,{path:`/kling/videos`,body:n.modelValue?.request},null,8,[`body`]),a(O,{service:`kling`,"target-id":n.modelValue?.id,snapshot:{prompt:n.displayText}},null,8,[`target-id`,`snapshot`])])):o(``,!0),a(N,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,Ca,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`kling.name.model`))+`: `+i(n.modelValue?.request?.model),1)]),e(`p`,wa,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`kling.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(j,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,Ta,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`kling.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.isFailure?(g(),s(`div`,Ea,[a(N,{closable:!1,class:`failure`},{template:p(()=>[a(ee,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`kling.name.failure`)),1)]),default:p(()=>[e(`p`,Da,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`kling.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(j,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,Oa,[a(te,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`kling.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(j,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,ka,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`kling.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,Aa,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`kling.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(j,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0),n.isWaiting?(g(),s(`div`,ja,[a(N,{closable:!1,class:`info`},{template:p(()=>[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`kling.status.processing`:`kling.status.pending`)),1)]),default:p(()=>[e(`p`,Ma,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`kling.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(j,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.response?.trace_id?(g(),s(`p`,Na,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`kling.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(j,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0)])])}var Fa=v({name:`RecentPanel`,components:{TaskPreview:R(ca,[[`render`,Pa],[`__scopeId`,`data-v-73637147`]]),NoTasks:se,BotPlaceholder:ze,ScrollList:oe},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.kling?.tasks,items:this.$store.state.kling?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ia={key:0},La={key:2,class:`w-full h-full flex items-center justify-center`};function Ra(e,t,n,r,i,u){let d=l(`bot-placeholder`),m=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return g(),s(c,null,[e.tasks?.items===void 0?(g(),s(`div`,Ia,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{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:p(()=>[(g(!0),s(c,null,h(e.tasks?.items,e=>(g(),f(m,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,La,[a(v)])):o(``,!0)],64)}var za=v({name:`KlingIndex`,components:{ConfigPanel:jr,MotionPanel:Ai,TalkingPhotoPanel:sa,TabSwitcher:Fi,Layout:Xe,RecentPanel:R(Fa,[[`render`,Ra]]),ShowcaseResultTabs:Ve},mixins:[Ee,He(`kling`),Be(`kling`)],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.kling?.status?.getApplications===E.Request},tasksLoading(){return this.$store.state.kling?.status?.getTasks===E.Request||this.fetchingTasks},credential(){return this.$store.state.kling.credential},config(){return this.$store.state.kling.config},motionConfig(){return this.$store.state.kling.motionConfig},talkingPhotoConfig(){return this.$store.state.kling.talkingPhotoConfig},taskType(){return this.$store.state.kling.taskType||`videos`},tasks(){return this.$store.state.kling.tasks},walletMode(){return this.taskType!==`motion`&&he()&&V(`kling`).mode===`wallet`}},watch:{taskType:{handler(e){Oe(`kling`,e!==`motion`)},immediate:!0},walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`kling/setTasks`,void 0),e&&!this.job&&(this.job=window.setInterval(this.onPollTasks,5e3)),!e&&!this.credential?.token){window.clearInterval(this.job),this.job=0,await this.onScrollDown();return}await this.onGetTasks(),await this.onScrollDown()}}},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.onPollTasks,5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ce({tasks: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(`kling/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`kling/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(`kling/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(){let e=H(this.config),t=Ue(`kling`,e);if(t){D.error(this.$t(`common.message.${t}`));return}if(!G(this.uploadTracker,e=>this.$t(e),e=>D.warning(e)))return;let n=Number(!!e.start_image_url)+Number(!!e.end_image_url),r=e.image_list?.length||0,i=e.video_list?.length?4:7;if(n+r>i){D.warning(this.$t(`kling.message.referenceImagesTotalLimit`,{count:i}));return}if(e.video_list?.[0]?.refer_type===`base`&&(e.start_image_url||e.end_image_url||e.image_list?.some(({type:e})=>e))){D.warning(this.$t(`kling.message.baseVideoFrameConflict`));return}if(!e.video_id&&!e.video_url&&!e.start_image_url&&e.end_image_url){D.warning(this.$t(`kling.message.endImageRequiresStart`));return}let a=this.createPaymentOperation(t=>U.generate(e,t));a&&(D.info(this.$t(`kling.message.startingTask`)),W(`kling`,a).then(e=>{this.recordWalletTask(e),D.success(this.$t(`kling.message.startTaskSuccess`))}).catch(e=>this.handleGenerationError(e)).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)}))},createPaymentOperation(e){if(!this.walletMode){if(!be())return;let t=this.credential?.token;return t?e({token:t}):void 0}let t=this.getWalletContext();if(!t){D.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}return e({mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})},recordWalletTask(e){let t=e?.data?.task_id;this.walletMode&&!this.credential?.token&&t&&!this.walletTaskIds.includes(t)&&this.walletTaskIds.unshift(t)},handleGenerationError(e){e instanceof we||ve(e,`kling`)||(this.walletMode?D.error(this.$t(`common.x402Scenario.paymentFailed`)):D.error(this.$t(`kling.message.startTaskFailed`)))},getWalletContext(){return Se(this.$wallet)},async confirmWalletPayment(e){return z.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},async onTabChange(e){e!==this.taskType&&(await this.$store.dispatch(`kling/setTaskType`,e),await this.onGetTasks(),await this.onScrollDown())},async onGenerateMotion(){if(!G(this.uploadTracker,e=>this.$t(e),e=>D.warning(e)))return;let e=this.motionConfig||{};if(!e.image_url||!e.video_url){D.warning(this.$t(`kling.message.motionMissingInputs`));return}let t={image_url:e.image_url,video_url:e.video_url,character_orientation:e.character_orientation||`video`,mode:e.mode||`std`,keep_original_sound:e.keep_original_sound??`yes`,...e.model_name?{model_name:e.model_name}:{},...e.prompt?{prompt:e.prompt}:{},async:!0};if(!be())return;let n=this.credential?.token;if(!n){console.error(`no token specified`);return}D.info(this.$t(`kling.message.startingTask`)),W(`kling`,U.motion(t,{token:n})).then(()=>{D.success(this.$t(`kling.message.startTaskSuccess`))}).catch(e=>{ve(e,`kling`)||D.error(this.$t(`kling.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},async onGenerateTalkingPhoto(){if(!G(this.uploadTracker,e=>this.$t(e),e=>D.warning(e)))return;let e=this.talkingPhotoConfig||{};if(!e.image_url||!e.audio_url){D.warning(this.$t(`kling.message.talkingPhotoMissingInputs`));return}let t=ge(e),n=this.createPaymentOperation(e=>U.talkingPhoto(t,e));n&&(D.info(this.$t(`kling.message.startingTask`)),W(`kling`,n).then(e=>{this.recordWalletTask(e),D.success(this.$t(`kling.message.startTaskSuccess`))}).catch(e=>this.handleGenerationError(e)).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)}))}}}),Ba={class:`flex flex-col h-full`},Va={class:`flex-1 min-h-0`};function Ha(t,n,r,i,s,c){let u=l(`tab-switcher`),d=l(`config-panel`),m=l(`motion-panel`),h=l(`talking-photo-panel`),_=l(`recent-panel`),v=l(`showcase-result-tabs`),y=l(`layout`);return g(),f(y,null,{config:p(()=>[e(`div`,Ba,[a(u,{"model-value":t.taskType,"onUpdate:modelValue":t.onTabChange},null,8,[`model-value`,`onUpdate:modelValue`]),e(`div`,Va,[t.taskType===`videos`?(g(),f(d,{key:0,onGenerate:t.onGenerate},null,8,[`onGenerate`])):t.taskType===`motion`?(g(),f(m,{key:1,onGenerate:t.onGenerateMotion},null,8,[`onGenerate`])):t.taskType===`talking-photo`?(g(),f(h,{key:2,onGenerate:t.onGenerateTalkingPhoto},null,8,[`onGenerate`])):o(``,!0)])])]),result:p(()=>[a(v,{service:`kling`},{tasks:p(()=>[a(_,{ref:`recentPanel`,loading:t.loadingMore,onReachTop:t.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})]),_:1})}var Ua=R(za,[[`render`,Ha]]);export{Ua as default};