@acedatacloud/nexior 3.380.5 → 3.380.6

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 (285) hide show
  1. package/dist/assets/{ApiCodeButton-DBR9tGBM.js → ApiCodeButton-yY9sIC18.js} +1 -1
  2. package/dist/assets/{ApiCodeDialog-CCg8lOq_.js → ApiCodeDialog-BLUVDa6B.js} +1 -1
  3. package/dist/assets/{Artifacts-w1CZhaPc.js → Artifacts-yeVPmg33.js} +1 -1
  4. package/dist/assets/{AskUserQuestionCard-3OJbU7hp.js → AskUserQuestionCard-DX1Pk22u.js} +1 -1
  5. package/dist/assets/{AudioPreview-d8-NMxq_.js → AudioPreview-CnwTRcGy.js} +1 -1
  6. package/dist/assets/{Auth-CUD5XHGs.js → Auth-CJoZFvHM.js} +1 -1
  7. package/dist/assets/{Bare-DnWOFNQY.js → Bare-DY5zCMGG.js} +1 -1
  8. package/dist/assets/{BotPlaceholder-Cl_V5koZ.js → BotPlaceholder-DAC5flJl.js} +1 -1
  9. package/dist/assets/{BottomFooter-BY9m2ruR.js → BottomFooter-BONSfS_F.js} +1 -1
  10. package/dist/assets/{BrowseConnectors-DAclKO9A.js → BrowseConnectors-D9R9JiA8.js} +1 -1
  11. package/dist/assets/{BrowserPairingDialog-D_qGaX9S.js → BrowserPairingDialog-bpgkeeo1.js} +1 -1
  12. package/dist/assets/{Callback--vWw7wDq.js → Callback-ieDXRskK.js} +1 -1
  13. package/dist/assets/{CodeSnippet-B4XBcVVB.js → CodeSnippet-g54knlUN.js} +1 -1
  14. package/dist/assets/{Console-BEN2f_7n.js → Console-CwLw8Auu.js} +1 -1
  15. package/dist/assets/{Conversation-Bu85cN-Z.js → Conversation-CV-3gYUB.js} +1 -1
  16. package/dist/assets/{Conversation-CvvQaGbk.js → Conversation-Dn36zzZT.js} +1 -1
  17. package/dist/assets/{CopyToClipboard-Dc_53C_9.js → CopyToClipboard-OD_-zDDD.js} +1 -1
  18. package/dist/assets/{Detail-CP8XjrwP.js → Detail-C3hvSyp2.js} +1 -1
  19. package/dist/assets/{Extra-BzOxBC3f.js → Extra-BLhcNyVC.js} +1 -1
  20. package/dist/assets/{FilePreview-C0VlAjUT.js → FilePreview-C_zo-MCC.js} +1 -1
  21. package/dist/assets/{Hailuo-CBlo8oMQ.js → Hailuo-KVk3SAC1.js} +1 -1
  22. package/dist/assets/{History-C_9oHSvo.js → History-B2YCbKcj.js} +1 -1
  23. package/dist/assets/{ImagePreview-QrO7VB3T.js → ImagePreview-iMMwS5bK.js} +1 -1
  24. package/dist/assets/{ImageWrapper-D2sKN22b.js → ImageWrapper-DPFYz3PG.js} +1 -1
  25. package/dist/assets/{Index-HdBDAK282.js → Index-B26d3XUb2.js} +1 -1
  26. package/dist/assets/{Index-Cm_sNblt.js → Index-B2dZQWPV.js} +1 -1
  27. package/dist/assets/{Index-DKmuO9HJ.js → Index-B2uiXYsr.js} +1 -1
  28. package/dist/assets/{Index-CVKxg1nH.js → Index-B7nKxqIv.js} +1 -1
  29. package/dist/assets/Index-BBBDlgXP.js +88 -0
  30. package/dist/assets/{Index-D9b419t3.js → Index-BPfyJzDF.js} +1 -1
  31. package/dist/assets/{Index-xPB2P_un.js → Index-BWxATCn4.js} +1 -1
  32. package/dist/assets/{Index-CCBr-lgF.js → Index-Bcyq_YIZ.js} +1 -1
  33. package/dist/assets/{Index-Bv94reqL.js → Index-Bol0-bce.js} +1 -1
  34. package/dist/assets/{Index-5JQ5PAph.js → Index-Brw_NmpE.js} +1 -1
  35. package/dist/assets/{Index-DOv21tLH.css → Index-BsbAhMSz.css} +1 -1
  36. package/dist/assets/{Index-DuKDKmH8.js → Index-BwDwwg6y.js} +1 -1
  37. package/dist/assets/{Index-DXJ-mdMu.js → Index-BxsjRqQ4.js} +1 -1
  38. package/dist/assets/{Index-Bp91Z4Nq.js → Index-ByM-t-zY.js} +1 -1
  39. package/dist/assets/{Index-Bz5IEnOW.js → Index-BzqjfDyK.js} +1 -1
  40. package/dist/assets/{Index-BHxIkZ-a.js → Index-C-nvVaFr.js} +1 -1
  41. package/dist/assets/{Index--pdY-HXU.js → Index-C6eM4OO-.js} +1 -1
  42. package/dist/assets/{Index-DfFP79Ub.js → Index-CNRXBlE4.js} +1 -1
  43. package/dist/assets/{Index-TVvykHny.js → Index-CQ8cqTkq.js} +1 -1
  44. package/dist/assets/{Index-DzlQ8472.js → Index-CRv9WTLe.js} +1 -1
  45. package/dist/assets/{Index-Cqd_YqFI.js → Index-CU7A29sK.js} +1 -1
  46. package/dist/assets/{Index-DVQTbl6Q.js → Index-Cd4FcH7u.js} +1 -1
  47. package/dist/assets/{Index-Dxg0HWdd.js → Index-CesZYOqz.js} +1 -1
  48. package/dist/assets/{Index-DWJoWMqg.js → Index-CjsNDNat.js} +1 -1
  49. package/dist/assets/{Index-DrL4Kua7.js → Index-CoQOM3Lc.js} +1 -1
  50. package/dist/assets/{Index-DTwqo9lt.js → Index-Cp1nDoyT.js} +1 -1
  51. package/dist/assets/{Index-C5Mesekg.js → Index-CutIaotz.js} +1 -1
  52. package/dist/assets/{Index-pygkRSdJ2.js → Index-D4VbsMbC2.js} +1 -1
  53. package/dist/assets/{Index-t7wi6x-C.js → Index-DMZwe1dw.js} +1 -1
  54. package/dist/assets/{Index-jL6GyAo52.js → Index-DTz1508v2.js} +1 -1
  55. package/dist/assets/{Index-EgwMAM87.js → Index-DWWNdA0k.js} +1 -1
  56. package/dist/assets/{Index-ChES2Pak.js → Index-DWmnQVHJ.js} +1 -1
  57. package/dist/assets/{Index-B3zcmDVO.js → Index-DlXFZ6d-.js} +1 -1
  58. package/dist/assets/{Index-DyowxMKL.js → Index-QpI1894D.js} +1 -1
  59. package/dist/assets/{Index-CvMSByPg.js → Index-Tvp1KZvO.js} +1 -1
  60. package/dist/assets/{Index-Chl9pDC8.js → Index-x4ARhV5N.js} +1 -1
  61. package/dist/assets/{Index-DoKFeY1d.js → Index-zAZFxsP7.js} +1 -1
  62. package/dist/assets/{Invitees-CqoC6ZzI.js → Invitees-rNRbRsJK.js} +1 -1
  63. package/dist/assets/{List-CJ0oDC8J.js → List-Bl_Pw6ZM.js} +1 -1
  64. package/dist/assets/{List-Ca7YduxB.js → List-CqqTWjSR.js} +1 -1
  65. package/dist/assets/{List-BKQsGfFn.js → List-YcoeYD3g.js} +1 -1
  66. package/dist/assets/{LocalTools-Dk26D2gM.js → LocalTools-CGzgXYmU.js} +1 -1
  67. package/dist/assets/{LocalTools-Dj5qgU4Q.js → LocalTools-Coin0A-_.js} +1 -1
  68. package/dist/assets/{Logo-0tn3ckQt.js → Logo-CzgdqTtr.js} +1 -1
  69. package/dist/assets/{Main-DZdJRNsj.js → Main-CEJWGYVQ.js} +1 -1
  70. package/dist/assets/{Message-Dhxbifix.js → Message-C2SGTxO1.js} +1 -1
  71. package/dist/assets/{Model-BCLqf6xD.js → Model-BorsWZY7.js} +1 -1
  72. package/dist/assets/{Navigator-D6I38CcF.css → Navigator-BIH1gZzE.css} +1 -1
  73. package/dist/assets/{Navigator-D0to3R2l.js → Navigator-CD6WYL8I.js} +4 -4
  74. package/dist/assets/{NotFound-C1_UBaSi.js → NotFound-bZTypZWk.js} +1 -1
  75. package/dist/assets/{PageHeader-v-5kKXbh.js → PageHeader-Cr_pWNQu.js} +1 -1
  76. package/dist/assets/{Pay-7EzYllB7.js → Pay-jMnf8f4L.js} +1 -1
  77. package/dist/assets/{Player-DMEqEzbG.js → Player-DKlCY38Q.js} +1 -1
  78. package/dist/assets/{Poivelle-BPMERqNg.js → Poivelle-BbrjC2Pf.js} +1 -1
  79. package/dist/assets/{RealtimeCall-YJoGDtET.js → RealtimeCall-CF9IZ4EK.js} +1 -1
  80. package/dist/assets/{ReportButton-BCWM_eUv.js → ReportButton-CBoBD__d.js} +1 -1
  81. package/dist/assets/{ReportDialog-C4nnqvVc.js → ReportDialog-H8JCbrhU.js} +1 -1
  82. package/dist/assets/{ScenarioPaymentMode-DUv_xCgb.js → ScenarioPaymentMode-B-onFjJH.js} +1 -1
  83. package/dist/assets/{ScheduledTasks-CGWohgpS.js → ScheduledTasks-D1ogc14e.js} +1 -1
  84. package/dist/assets/{ServicePricingSummary-BnnhtPm5.js → ServicePricingSummary-mQ3kXYW6.js} +1 -1
  85. package/dist/assets/{SharedMarkdown-DtzDZm3k.js → SharedMarkdown-90N4n0oz.js} +1 -1
  86. package/dist/assets/{ShowcaseGrid-CFbY09WG.js → ShowcaseGrid-Cki1GB7C.js} +1 -1
  87. package/dist/assets/{ShowcaseResultTabs-DoS1AGxi.js → ShowcaseResultTabs-CJ63xnjI.js} +1 -1
  88. package/dist/assets/{SolanaWalletPickerDialog-SPhdpzG5.js → SolanaWalletPickerDialog-BJCPJPLl.js} +1 -1
  89. package/dist/assets/{Status-D3X4rgdx.js → Status-DuMI-huv.js} +1 -1
  90. package/dist/assets/{Subscribe-CRjgaqCu.js → Subscribe-BjsSfzMh.js} +1 -1
  91. package/dist/assets/{TabSwitcher-DCp_o3dC.js → TabSwitcher-C6ing8hE.js} +1 -1
  92. package/dist/assets/{Tts-BHWJBKlm.js → Tts-CaUMvlYA.js} +1 -1
  93. package/dist/assets/{VideoPlayer-Bt19ZgtM.js → VideoPlayer-BHDyrslN.js} +1 -1
  94. package/dist/assets/{VideoPreview-DbXtGsVJ.js → VideoPreview-CVQXuaJq.js} +1 -1
  95. package/dist/assets/{VueMarkdown-xfBKJ0cL.js → VueMarkdown-Ciohflex.js} +2 -2
  96. package/dist/assets/{WriteSkillDialog-DEZTP_2V.js → WriteSkillDialog-CbGJtFx9.js} +1 -1
  97. package/dist/assets/{airwallexCheckout-DG7dh0JD.js → airwallexCheckout-BfsLyuyz.js} +1 -1
  98. package/dist/assets/arrow-down-BGS1e3rU.js +1 -0
  99. package/dist/assets/arrow-left-C64FJjH5.js +1 -0
  100. package/dist/assets/arrow-right-Cv0Ykyrz.js +1 -0
  101. package/dist/assets/arrow-up-C5g67P26.js +1 -0
  102. package/dist/assets/{authorizeFlow-DJrWFBbA.js → authorizeFlow-DUX6f2cF.js} +1 -1
  103. package/dist/assets/{avatar-C0t81PgD.js → avatar-CNQyS-Lp.js} +1 -1
  104. package/dist/assets/{back-navigation-DsXpwk5c.js → back-navigation-D3D9a_KQ.js} +1 -1
  105. package/dist/assets/{basic-BtHDhrf8.js → basic-CKebYjqy.js} +1 -1
  106. package/dist/assets/{book-open-VVs1gk2C.js → book-open-_lTz4QJR.js} +1 -1
  107. package/dist/assets/{box-Bx0ypDsn.js → box-6vYJ5zr0.js} +1 -1
  108. package/dist/assets/{boxes-8WJI87Gu.js → boxes-BFnp7eNw.js} +1 -1
  109. package/dist/assets/{brain-DYAdLxct.js → brain-TP-yaodp.js} +1 -1
  110. package/dist/assets/{chart-no-axes-combined-Cc3WlsU6.js → chart-no-axes-combined-CbDGvzGk.js} +1 -1
  111. package/dist/assets/{chat-Ci-R1f2k.js → chat-D2C5PRGe.js} +1 -1
  112. package/dist/assets/check-BPmW-6Re.js +1 -0
  113. package/dist/assets/chevron-down-_5nRvC6_.js +1 -0
  114. package/dist/assets/chevron-right-CdZ7m0IV.js +1 -0
  115. package/dist/assets/{circle-alert-DF1kIskJ.js → circle-alert-CPXNfais.js} +1 -1
  116. package/dist/assets/circle-check-O20rZJdJ.js +1 -0
  117. package/dist/assets/{circle-question-mark-CNP_CdTe.js → circle-question-mark-bAyiS3uM.js} +1 -1
  118. package/dist/assets/{clipboard-list-BhkjCno-.js → clipboard-list-NDSjeP6T.js} +1 -1
  119. package/dist/assets/clock-CAf8wf9e.js +1 -0
  120. package/dist/assets/code-DSlDLRN9.js +1 -0
  121. package/dist/assets/{codingBridge-CS16iqlt.js → codingBridge-DXxeFXpR.js} +1 -1
  122. package/dist/assets/{codingBridgeNotify-DQXmYQHs.js → codingBridgeNotify-DmpIIIYp.js} +2 -2
  123. package/dist/assets/{coins-CVrCGMHa.js → coins-D2PG1Dcv.js} +1 -1
  124. package/dist/assets/{collapse-qfbCrPJN.js → collapse-B87qL7a1.js} +1 -1
  125. package/dist/assets/{constants-CVb0vrXj.js → constants-4TRM3yeb.js} +1 -1
  126. package/dist/assets/{copy-CP8f_ETR.js → copy-BskT-Tme.js} +1 -1
  127. package/dist/assets/{createTaskActions-DLJLKN-c.js → createTaskActions-Dt37lwuh.js} +1 -1
  128. package/dist/assets/{date-picker-BIwU4ojz.js → date-picker-CWayt2Os.js} +1 -1
  129. package/dist/assets/{digitalhuman-CfG_2-Wv.js → digitalhuman-LDJWJFn6.js} +1 -1
  130. package/dist/assets/{dollar-sign-CFH1O621.js → dollar-sign-Bu6eWtyh.js} +1 -1
  131. package/dist/assets/{download-aKoGQMz4.js → download-B2eXd6xP.js} +1 -1
  132. package/dist/assets/{drawer-CF4BsAtW.js → drawer-DVH0xZU_.js} +1 -1
  133. package/dist/assets/{dropdown-DzQEZ4Jy.js → dropdown-DHi1DFxZ.js} +1 -1
  134. package/dist/assets/{dropdown-CLk44aHS.js → dropdown-H1iCOtDm.js} +1 -1
  135. package/dist/assets/{ellipsis-AczbhGQu.js → ellipsis-CS_-hd2M.js} +1 -1
  136. package/dist/assets/{esm-Bq7l9xVL.js → esm-B-LdsOt6.js} +2 -2
  137. package/dist/assets/esm-CxX1IxoO.js +1 -0
  138. package/dist/assets/{esm-rGuxajaG.js → esm-ej3tHEtC.js} +2 -2
  139. package/dist/assets/{external-link-B5spIiHU.js → external-link-BUaqLKYm.js} +1 -1
  140. package/dist/assets/{eye-DOsuMFw9.js → eye-MNgYUO1j.js} +1 -1
  141. package/dist/assets/{file-D5T6JpWA.js → file-CwiI2ZDt.js} +1 -1
  142. package/dist/assets/{file-output-CAMglfrn.js → file-output-DksFKPyC.js} +1 -1
  143. package/dist/assets/{file-text-MxE-jd8A.js → file-text-DM9_QdSH.js} +1 -1
  144. package/dist/assets/{fish-mS1PJ3fj.js → fish-CdeFszEX.js} +1 -1
  145. package/dist/assets/{flux-FQoAagDW.js → flux-kgren3Q_.js} +1 -1
  146. package/dist/assets/{folder-Cbda4XN8.js → folder-DYKQn0mJ.js} +1 -1
  147. package/dist/assets/gauge-BjEg2K9v.js +1 -0
  148. package/dist/assets/{generationInput-jeoGp56s.js → generationInput-DnJFevpe.js} +1 -1
  149. package/dist/assets/{globe-DZXgzAlm.js → globe-f4dS915S.js} +1 -1
  150. package/dist/assets/{grokvideo-DISRpIM_.js → grokvideo-BObiy7b0.js} +1 -1
  151. package/dist/assets/{hailuo-ZSUIO9UD.js → hailuo-CLRN3C5Y.js} +1 -1
  152. package/dist/assets/{hash-BKpZIJo7.js → hash-DqiIH4WA.js} +1 -1
  153. package/dist/assets/{headphones--YKlJldO.js → headphones-DSR8arQo.js} +1 -1
  154. package/dist/assets/{history-BYzfzIXf.js → history-BmLtxr_f.js} +1 -1
  155. package/dist/assets/{house-DbXM7bV4.js → house-DV6gKn0u.js} +1 -1
  156. package/dist/assets/{image-Dsh8h-Vr.js → image-BVqhVXTy.js} +1 -1
  157. package/dist/assets/{imageRequests-YA3-SUkx.js → imageRequests-GNQtekZ9.js} +1 -1
  158. package/dist/assets/{index-C643U2rX.js → index-DURbYpHp.js} +5 -5
  159. package/dist/assets/{index.es-BS_qwYo-.js → index.es-BPCHaRbX.js} +1 -1
  160. package/dist/assets/{info-CDs2D83H.js → info-DzqnccKk.js} +1 -1
  161. package/dist/assets/{input-number-YpK_vIUu.js → input-number-DSOk0jCW.js} +1 -1
  162. package/dist/assets/{kling-BkuDhdIc.js → kling-C6wE6PWD.js} +1 -1
  163. package/dist/assets/{languages-DFfBKj3V.js → languages-DQhgO8zU.js} +1 -1
  164. package/dist/assets/{laptop-DapobfQv.js → laptop-CuFSxcV7.js} +1 -1
  165. package/dist/assets/{lightbulb-D_g0yrw8.js → lightbulb-DlkrJWeZ.js} +1 -1
  166. package/dist/assets/{link-DTTCfbSO.js → link-CA71xo7D.js} +1 -1
  167. package/dist/assets/loader-circle-DZ3PD17k.js +1 -0
  168. package/dist/assets/{luma-C9imEL86.js → luma-Cx9vm0CD.js} +1 -1
  169. package/dist/assets/{maestro-B_gsOOuc.js → maestro-IWFg0U3T.js} +1 -1
  170. package/dist/assets/{mail-C0_EFTNr.js → mail-BI9wlWnc.js} +1 -1
  171. package/dist/assets/{message-circle-DJ38XN8t.js → message-circle-BCrTeCKd.js} +1 -1
  172. package/dist/assets/{mic-BYjF4A_x.js → mic-GjgLdgrD.js} +1 -1
  173. package/dist/assets/{midjourney-DGnkUMtd.js → midjourney-DfhS25ZZ.js} +1 -1
  174. package/dist/assets/{minimax-ClPDICZU.js → minimax-DMTZr51M.js} +1 -1
  175. package/dist/assets/{mobileLocalExec-B_RtWm83.js → mobileLocalExec-Cez00ZSD.js} +2 -2
  176. package/dist/assets/{monitor-GBsAGWb5.js → monitor-Dhu9PJDl.js} +1 -1
  177. package/dist/assets/{mouse-pointer-2--BMykM3C.js → mouse-pointer-2-D3Hg5hXq.js} +1 -1
  178. package/dist/assets/music-2-LsJnrWjq.js +1 -0
  179. package/dist/assets/{nanobanana-B80mlHG9.js → nanobanana-DL4EGM-7.js} +1 -1
  180. package/dist/assets/{omni-B15iT3Sl.js → omni-BHGuy_OI.js} +1 -1
  181. package/dist/assets/{openaiimage-DAuOj_l2.js → openaiimage-C9KS3PWL.js} +1 -1
  182. package/dist/assets/{pagination-BGnYVZvp.js → pagination-Ccy4p3jJ.js} +1 -1
  183. package/dist/assets/{pagination-DqPdKWtk.js → pagination-ESpJvGCV.js} +1 -1
  184. package/dist/assets/{pagination-BsPBo2WI.js → pagination-hD8vUwHZ.js} +1 -1
  185. package/dist/assets/{palette-CSWZ3lMh.js → palette-zytRStv0.js} +1 -1
  186. package/dist/assets/{paperclip-Ed5mDPx6.js → paperclip-B9-z4Sw4.js} +1 -1
  187. package/dist/assets/{pause-BClTBQOr.js → pause-8fyUMsI6.js} +1 -1
  188. package/dist/assets/{pencil-hdf5uaAO.js → pencil-CsjFAABf.js} +1 -1
  189. package/dist/assets/{pika-Cx5cYUmj.js → pika-DaSS-jhE.js} +1 -1
  190. package/dist/assets/{pixverse-WYyCcVn-.js → pixverse-BBz9_xaO.js} +1 -1
  191. package/dist/assets/play-DbSJkwaz.js +1 -0
  192. package/dist/assets/{plug-BrR77_0k.js → plug-B05LKSuU.js} +1 -1
  193. package/dist/assets/plus-Ch9vaMzG.js +1 -0
  194. package/dist/assets/{poivelle-B-fGy-mp.js → poivelle-DNUpAqAE.js} +1 -1
  195. package/dist/assets/{popover-DnGAvUIE.js → popover-Cyrdnxzf.js} +1 -1
  196. package/dist/assets/{producer-DKQI0Cq6.js → producer-yleleIFK.js} +1 -1
  197. package/dist/assets/{qrart-BypAVHHT.js → qrart-DM5sCAPu.js} +1 -1
  198. package/dist/assets/{qwenimage-Z73dnVux.js → qwenimage-vL6h0JDb.js} +1 -1
  199. package/dist/assets/{realtime-i4smTIH8.js → realtime-CXKU2TRW.js} +1 -1
  200. package/dist/assets/{refresh-cw-Dnm3KhKi.js → refresh-cw-CIkeGSdq.js} +1 -1
  201. package/dist/assets/rotate-ccw-BCt2BBKY.js +1 -0
  202. package/dist/assets/rotate-cw-B1rEwf95.js +1 -0
  203. package/dist/assets/{row-BTg1B7Rq.js → row-BgeFnNqr.js} +1 -1
  204. package/dist/assets/{scheduledTasks-BKFHEZEq.js → scheduledTasks-yKVMpRrF.js} +1 -1
  205. package/dist/assets/{scroll-text-11dAwBrb.js → scroll-text-0TQUmW_G.js} +1 -1
  206. package/dist/assets/search-B4J4NAO1.js +1 -0
  207. package/dist/assets/{seedance-C7VjAFhT.js → seedance-BBl9LPMD.js} +1 -1
  208. package/dist/assets/{seedream-BNeM6wGx.js → seedream-CTCjkQmS.js} +1 -1
  209. package/dist/assets/{select-Dxkn5fnG.js → select-B6ZO1rLl.js} +1 -1
  210. package/dist/assets/{serp-CxGGkmaS.js → serp-AghjMh3X.js} +1 -1
  211. package/dist/assets/{shield-DgibaIqT.js → shield-BoT-slIH.js} +1 -1
  212. package/dist/assets/{showcase-C7ITFcZN.js → showcase-LGm-Jv5z.js} +1 -1
  213. package/dist/assets/{showcaseRecreateMixin-BvSTHecE.js → showcaseRecreateMixin-BmDK7n-L.js} +1 -1
  214. package/dist/assets/{shuffle-BylmN-er.js → shuffle-OUCsSq4D.js} +1 -1
  215. package/dist/assets/{site-BFSh5Tl1.js → site-B49LuPmm.js} +1 -1
  216. package/dist/assets/{site-Cg9MVedN.js → site-B8_t2Gq8.js} +1 -1
  217. package/dist/assets/{site-mJ0A622j.js → site-BRLKAsjK.js} +1 -1
  218. package/dist/assets/{site-v8-PMGDX.js → site-BWg9ZCUm.js} +1 -1
  219. package/dist/assets/{site-D0A9w1iR.js → site-BbxeOam5.js} +1 -1
  220. package/dist/assets/{site-nFnV_r0X.js → site-BpWwDuNx.js} +1 -1
  221. package/dist/assets/{site-BgL5auJs.js → site-CSCiTLp9.js} +1 -1
  222. package/dist/assets/{site-DJxqIMde.js → site-D6wDBCzU.js} +1 -1
  223. package/dist/assets/{site-CEyYV9T9.js → site-DIZYOk2e.js} +1 -1
  224. package/dist/assets/{site-CfeKxRll.js → site-DlUTcObc.js} +1 -1
  225. package/dist/assets/{site-eyXU2Lu9.js → site-fYVkMM28.js} +1 -1
  226. package/dist/assets/{site-Dq6XOltW.js → site-z4EU3abt.js} +1 -1
  227. package/dist/assets/{siteHome-Cryc_q93.js → siteHome-n6fEmZXM.js} +1 -1
  228. package/dist/assets/{slider-DyGvOBhi.js → slider-DJM_8qq1.js} +1 -1
  229. package/dist/assets/{solana-wallets--z2A3Apa.js → solana-wallets-B2jid-qi.js} +2 -2
  230. package/dist/assets/{sora-D29KqrzE.js → sora-Cn4a7G1J.js} +1 -1
  231. package/dist/assets/{sparkles-x66jEqTw.js → sparkles-CA_rhsRh.js} +1 -1
  232. package/dist/assets/square-B1ed_yTG.js +1 -0
  233. package/dist/assets/{suno-BtOeCZcQ.js → suno-DLrqUixP.js} +1 -1
  234. package/dist/assets/{switch-FNAnbKSR.js → switch-Bdw4rC-y.js} +1 -1
  235. package/dist/assets/{table-DcbbzgnI.js → table-DRotfm-k.js} +1 -1
  236. package/dist/assets/{tabs-0J-7r8zS.js → tabs-sZ_AqSxe.js} +1 -1
  237. package/dist/assets/{tag-DmliP9Ok.js → tag-B54dpjWl.js} +1 -1
  238. package/dist/assets/{taskPolling-Bi1lm4L2.js → taskPolling-B_SxyDD9.js} +1 -1
  239. package/dist/assets/terminal-BbSObAgc.js +1 -0
  240. package/dist/assets/{time-picker-DXRHL55A.js → time-picker-BcqGv443.js} +1 -1
  241. package/dist/assets/{tooltip-CsVgfK1f.js → tooltip-BFMHj7yV.js} +1 -1
  242. package/dist/assets/{trash-2-rtHpr3JN.js → trash-2-DTIOXFAX.js} +1 -1
  243. package/dist/assets/{triangle-alert-D_wd4w3Z.js → triangle-alert-BPPxjzKW.js} +1 -1
  244. package/dist/assets/{upload-DoPPJ2yy.js → upload-B8RBApAO.js} +1 -1
  245. package/dist/assets/{upload-ChEGBjQd.js → upload-DvqAUM9o.js} +1 -1
  246. package/dist/assets/user-DbQMGtR0.js +1 -0
  247. package/dist/assets/{veo-BueyYArF.js → veo-Yt8igQIU.js} +1 -1
  248. package/dist/assets/{video-C2QohmLe.js → video-BwlralfI.js} +1 -1
  249. package/dist/assets/{volume-2-BoZZadxh.js → volume-2-L7Us8StJ.js} +1 -1
  250. package/dist/assets/{vuex.esm-bundler-uM-kqbAF.js → vuex.esm-bundler-Dh61cDbO.js} +1 -1
  251. package/dist/assets/{wallet-BtENm1mj.js → wallet-4XwgqLJP.js} +1 -1
  252. package/dist/assets/{wan-BxExpn0G.js → wan-D6vcSwq9.js} +1 -1
  253. package/dist/assets/{wand-sparkles-CReI7Ekg.js → wand-sparkles-Be9RrbrT.js} +1 -1
  254. package/dist/assets/{web-CwqQtLOY.js → web-BV2ceXJ7.js} +1 -1
  255. package/dist/assets/{web-B_mNetg-.js → web-D2nuEqfy.js} +1 -1
  256. package/dist/assets/{web-DHf2pHB5.js → web-DIj3tgeE.js} +1 -1
  257. package/dist/assets/{web-I_RIjvbu.js → web-DlYim1xR.js} +1 -1
  258. package/dist/assets/{web-DSR3VOq9.js → web-zjGs6Tk6.js} +1 -1
  259. package/dist/assets/{webextrator-eme27gPN.js → webextrator-DEaErwUM.js} +1 -1
  260. package/dist/assets/{zap-BVQJGqe4.js → zap-B_4nhrzt.js} +1 -1
  261. package/dist/index.html +3 -3
  262. package/package.json +1 -1
  263. package/dist/assets/Index-IOEjcrMN.js +0 -88
  264. package/dist/assets/arrow-down-CCk6Sb03.js +0 -1
  265. package/dist/assets/arrow-left-CfzVpd8i.js +0 -1
  266. package/dist/assets/arrow-right-Dst44w5B.js +0 -1
  267. package/dist/assets/arrow-up-CvyTr6CH.js +0 -1
  268. package/dist/assets/check-Bfb3v7Zr.js +0 -1
  269. package/dist/assets/chevron-down-BqX4KeBM.js +0 -1
  270. package/dist/assets/chevron-right-1mOXqXoj.js +0 -1
  271. package/dist/assets/circle-check-C6ll6g09.js +0 -1
  272. package/dist/assets/clock-B6Xmh354.js +0 -1
  273. package/dist/assets/code-7YWrTdfy.js +0 -1
  274. package/dist/assets/esm-Dc2aYU0J.js +0 -1
  275. package/dist/assets/gauge-DwHZCDNp.js +0 -1
  276. package/dist/assets/loader-circle-BQqfluno.js +0 -1
  277. package/dist/assets/music-2-DsnQPTru.js +0 -1
  278. package/dist/assets/play-BZy52WBc.js +0 -1
  279. package/dist/assets/plus-Cv4THF6Q.js +0 -1
  280. package/dist/assets/rotate-ccw-CKzZLPvG.js +0 -1
  281. package/dist/assets/rotate-cw-CEoa6Gbp.js +0 -1
  282. package/dist/assets/search-BWxJsKnb.js +0 -1
  283. package/dist/assets/square-84JHxm2_.js +0 -1
  284. package/dist/assets/terminal-fLAKhYLu.js +0 -1
  285. package/dist/assets/user-bjnB3b4c.js +0 -1
@@ -1 +1 @@
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,P 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-Dxkn5fnG.js";import{t as x}from"./upload-ChEGBjQd.js";import{t as S}from"./tooltip-CsVgfK1f.js";import{t as C}from"./alert-BprQRUmf.js";import{_ as w,v as T}from"./vuex.esm-bundler-uM-kqbAF.js";import{n as E,r as D}from"./radio-BNhFzeBO.js";import{n as O,t as k}from"./collapse-qfbCrPJN.js";import{t as A}from"./drawer-CF4BsAtW.js";import{t as j}from"./input-number-YpK_vIUu.js";import{t as M}from"./progress-BuyYfFZn.js";import{t as N}from"./clock-B6Xmh354.js";import{t as ee}from"./hash-BKpZIJo7.js";import{t as P}from"./info-CDs2D83H.js";import{a as te,i as ne,n as re,o as ie,r as ae,t as oe}from"./pagination-BGnYVZvp.js";import{t as se}from"./music-2-DsnQPTru.js";import{t as ce}from"./plus-Cv4THF6Q.js";import{t as F}from"./trash-2-rtHpr3JN.js";import{t as I}from"./triangle-alert-D_wd4w3Z.js";import{t as le}from"./upload-DoPPJ2yy.js";import{t as ue}from"./user-bjnB3b4c.js";import{t as de}from"./video-C2QohmLe.js";import{t as L}from"./wand-sparkles-CReI7Ekg.js";import{Gr as fe,Kr as pe,Ur as me,Wr as R,Xr as he,Yr as ge}from"./constants-CVb0vrXj.js";import{Ba as _e,D as z,Fi as B,Ha as V,Ia as ve,Ja as ye,Li as H,Ra as be,T as xe,Tn as Se,Xi as Ce,at as we,br as U,ct as Te,ia as Ee,li as W,lo as De,lt as Oe,oi as G,ot as ke,st as Ae,to as K,tt as je,vr as q,yr as Me}from"./index-C643U2rX.js";import{t as Ne}from"./CopyToClipboard-Dc_53C_9.js";import{t as Pe}from"./ReportButton-BCWM_eUv.js";import{t as J}from"./ImagePreview-QrO7VB3T.js";import{n as Fe}from"./taskDrawerMixin-DyAUhFEq.js";import{n as Ie,t as Le}from"./ServicePricingSummary-BnnhtPm5.js";import{t as Y}from"./AudioPreview-d8-NMxq_.js";import{t as Re}from"./VideoPlayer-Bt19ZgtM.js";import{t as X}from"./VideoPreview-DbXtGsVJ.js";import{t as ze}from"./ScenarioPaymentMode-DUv_xCgb.js";import{t as Be}from"./ApiCodeButton-DBR9tGBM.js";import{t as Ve}from"./BotPlaceholder-Cl_V5koZ.js";import{t as He}from"./taskPollingMixin-CcLxtz8z.js";var Ue=v({name:`LayoutDigitalHuman`,components:{UserIcon:ue,ElDrawer:A,ElButton:K},mixins:[Fe]}),We={class:`main flex flex-row flex-1`},Ge={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)]`},Ke={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function qe(t,n,r,i,o,c){let l=u(`user-icon`),p=u(`el-button`),h=u(`el-drawer`);return g(),s(`div`,We,[e(`div`,Ge,[f(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ke,[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 Je=z(Ue,[[`render`,qe],[`__scopeId`,`data-v-909c6359`]]),Ye=v({name:`DigitalHumanMediaInput`,components:{AudioPreview:Y,CloseIcon:_e,ElButton:K,ElProgress:M,ElUpload:x,ImagePreview:J,MusicIcon:se,UploadIcon:le,VideoIcon:de,VideoPreview:X},mixins:[Oe,Te,ke,je],props:{kind:{type:String,required:!0},accept:{type:String,default:``},buttonText:{type:String,default:``},hint:{type:String,default:``}},emits:[`change`],data(){return{fileList:[],uploadUrl:ve()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},hasFile(){return this.fileList.length>0}},methods:{uploadedUrl(e){return e?.response?.file_url},isPending(e){return e.status===`ready`||e.status===`uploading`},onExceed(e){let t=this.$refs.uploader;t?.clearFiles();let n=e[0];n&&(t?.handleStart?.(n),t?.submit?.())},onError(){T.error(this.$t(`digitalhuman.message.uploadError`))},onRemoveFile(e){let t=this.fileList.indexOf(e);t>=0&&this.fileList.splice(t,1),this.onChange()},onChange(){let e=this.fileList?.[0];this.$emit(`change`,e?this.uploadedUrl(e):void 0)}}}),Xe={class:`thumb`},Ze={key:2,class:`placeholder`},Qe=[`title`],$e=[`aria-label`,`title`,`onClick`],et={key:0,class:`hint`};function tt(c,d,f,h,_,v){let y=u(`image-preview`),b=u(`video-preview`),x=u(`audio-preview`),S=u(`el-progress`),C=u(`video-icon`),w=u(`music-icon`),T=u(`close-icon`),E=u(`upload-icon`),D=u(`el-button`),O=u(`el-upload`);return g(),p(O,{ref:`uploader`,"file-list":c.fileList,"onUpdate:fileList":d[0]||=e=>c.fileList=e,accept:c.accept,name:`file`,class:`media-input`,limit:1,multiple:!1,"before-upload":c.beforeUploadSizeGuard,action:c.uploadUrl,headers:c.headers,"on-exceed":c.onExceed,"on-error":c.onError,"on-success":c.onChange,"on-remove":c.onChange},{file:m(({file:r})=>[e(`div`,{class:n([`slot`,{pending:c.isPending(r)}])},[c.kind===`image`&&r.url?(g(),p(y,{key:0,url:r.url,name:r.name,percentage:r.percentage,onRemove:e=>c.onRemoveFile(r)},null,8,[`url`,`name`,`percentage`,`onRemove`])):(g(),s(l,{key:1},[e(`div`,Xe,[c.kind===`video`&&c.uploadedUrl(r)?(g(),p(b,{key:0,url:c.uploadedUrl(r)},null,8,[`url`])):c.kind===`audio`&&c.uploadedUrl(r)?(g(),p(x,{key:1,url:c.uploadedUrl(r)},null,8,[`url`])):(g(),s(`div`,Ze,[c.isPending(r)?(g(),p(S,{key:0,type:`circle`,"stroke-width":4,percentage:Math.round(r.percentage||0),width:34},null,8,[`percentage`])):c.kind===`video`?(g(),p(C,{key:1,size:`1em`,"aria-hidden":`true`,focusable:`false`})):(g(),p(w,{key:2,size:`1em`,"aria-hidden":`true`,focusable:`false`}))]))]),e(`span`,{class:`filename`,title:r.name},i(r.name),9,Qe),e(`button`,{type:`button`,class:`remove`,"aria-label":c.$t(`common.button.close`),title:c.$t(`common.button.close`),onClick:t(e=>c.onRemoveFile(r),[`stop`])},[a(T,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,$e)],64))],2)]),default:m(()=>[a(D,{round:``,type:`primary`,size:`small`,class:`btn`},{default:m(()=>[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(c.hasFile?c.$t(`digitalhuman.button.replace`):c.buttonText),1)]),_:1}),c.hint?(g(),s(`p`,et,i(c.hint),1)):o(``,!0)]),_:1},8,[`file-list`,`accept`,`before-upload`,`action`,`headers`,`on-exceed`,`on-error`,`on-success`,`on-remove`])}var Z=z(Ye,[[`render`,tt],[`__scopeId`,`data-v-db0590a9`]]),nt=20,Q=e=>{let t=e;return!!t&&typeof t.voice_id==`string`&&!!t.voice_id&&typeof t.name==`string`},$=()=>{try{let e=JSON.parse(localStorage.getItem(`digitalhuman.voices`)||`[]`);return Array.isArray(e)?e.filter(Q).map(e=>({voice_id:e.voice_id,name:e.name,lang:typeof e.lang==`string`?e.lang:`zh`,created_at:typeof e.created_at==`number`?e.created_at:0})):[]}catch{return[]}},rt=e=>{try{localStorage.setItem(he,JSON.stringify(e))}catch{}return e},it=e=>Q(e)?rt([e,...$().filter(t=>t.voice_id!==e.voice_id)].slice(0,nt)):$(),at=e=>rt($().filter(t=>t.voice_id!==e)),ot=e=>`${e} ${$().length+1}`,st=3e3,ct=60,lt=v({name:`DigitalHumanVoiceCloneDialog`,components:{Consumption:Ie,ElAlert:C,ElButton:K,ElDialog:ye,ElInput:De,ElRadioButton:E,ElRadioGroup:D,MediaInput:Z},props:{visible:{type:Boolean,default:!1}},emits:[`update:visible`,`cloned`],data(){return{sampleUrl:void 0,name:``,lang:`zh`,cloning:!1,destroyed:!1,runId:0,DIGITALHUMAN_AUDIO_ACCEPT:R,DIGITALHUMAN_VOICE_CLONE_CONSUMPTION:2,voiceQuoteUsdc:void 0,voiceQuoteLoading:!1,quoteRunId:0}},computed:{service(){return this.$store.state.digitalhuman?.service},credentialToken(){return this.$store.state.digitalhuman?.credential?.token},walletMode(){return B()&&H(`digitalhuman`).mode===`wallet`},langOptions(){return me.map(e=>({value:e,label:this.$t(`digitalhuman.name.lang_${e}`)}))}},watch:{walletMode(e){this.voiceQuoteUsdc=void 0,e&&this.visible&&this.sampleUrl&&this.refreshVoiceQuote()},visible(e){e?(this.sampleUrl=void 0,this.name=ot(this.$t(`digitalhuman.name.myVoice`)),this.lang=`zh`):(this.runId++,this.quoteRunId++,this.cloning=!1,this.voiceQuoteLoading=!1)}},beforeUnmount(){this.destroyed=!0,this.runId++,this.quoteRunId++},methods:{onVisible(e){this.cloning&&!e||this.$emit(`update:visible`,e)},onSampleChange(e){this.sampleUrl=e,this.voiceQuoteUsdc=void 0,e&&this.walletMode&&this.refreshVoiceQuote()},isStale(e){return this.destroyed||e!==this.runId},sleep(e){return new Promise(t=>setTimeout(t,e))},async refreshVoiceQuote(){if(!this.sampleUrl)return;let e=++this.quoteRunId;this.voiceQuoteLoading=!0;try{let t=await U.quoteVoice(this.voiceRequest());e===this.quoteRunId&&this.walletMode&&(this.voiceQuoteUsdc=t.amountUsdc)}catch(e){console.warn(`x402 voice quote failed`,e)}finally{e===this.quoteRunId&&(this.voiceQuoteLoading=!1)}},voiceRequest(){return Me({audio_url:this.sampleUrl||``,lang:this.lang,name:this.name||void 0})},paymentOptions(){if(!this.walletMode)return this.credentialToken?{token:this.credentialToken}:void 0;let e=this.getWalletContext();if(!e){T.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}return{mode:`x402`,x402:{wallet:e,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credentialToken}}},async onClone(){if(!this.sampleUrl)return;let e=this.paymentOptions();if(!e)return;let t=++this.runId;this.cloning=!0;try{let{data:n}=await U.cloneVoice(this.voiceRequest(),e);if(this.isStale(t))return;if(n?.voice_id){this.onCloned(n.voice_id);return}if(n?.task_id)await this.pollVoice(n.task_id,t);else throw Error(`no task`)}catch(e){if(e instanceof G)return;this.isStale(t)||T.error(this.$t(`digitalhuman.message.voiceCloneFailed`))}finally{this.isStale(t)||(this.cloning=!1)}},async pollVoice(e,t){for(let n=0;n<ct;n++){if(this.isStale(t)||(await this.sleep(st),this.isStale(t)))return;let n=this.credentialToken,{data:r}=await U.pollTask(e,n?{token:n}:{mode:`x402`});if(this.isStale(t))return;if(r?.voice_id){this.onCloned(r.voice_id);return}if(r?.state===`failed`)throw Error(`clone failed`)}throw Error(`timeout`)},getWalletContext(){return W(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)},onCloned(e){it({voice_id:e,name:this.name||this.$t(`digitalhuman.name.myVoice`),lang:this.lang,created_at:Date.now()/1e3}),T.success(this.$t(`digitalhuman.message.voiceCloneSuccess`)),this.cloning=!1,this.$emit(`cloned`,e),this.$emit(`update:visible`,!1)}}}),ut={class:`text-xs text-[var(--el-text-color-secondary)] mb-3`},dt={class:`field mb-3`},ft={class:`label`},pt={class:`field`},mt={class:`label`},ht={class:`text-xs mb-0`},gt={key:1,class:`mt-4 text-xs text-[var(--el-text-color-secondary)]`},_t={class:`footer`},vt={key:0,class:`cost text-xs text-[var(--el-text-color-secondary)]`};function yt(t,n,o,c,d,f){let _=u(`media-input`),v=u(`el-input`),y=u(`el-radio-button`),b=u(`el-radio-group`),x=u(`el-alert`),S=u(`consumption`),C=u(`el-button`),w=u(`el-dialog`);return g(),p(w,{"model-value":t.visible,title:t.$t(`digitalhuman.name.cloneVoice`),width:`440`,"align-center":``,"append-to-body":``,"close-on-click-modal":!t.cloning,"close-on-press-escape":!t.cloning,"onUpdate:modelValue":t.onVisible},{footer:m(()=>[e(`div`,_t,[t.walletMode?(g(),s(`span`,vt,i(t.voiceQuoteLoading?`…`:t.voiceQuoteUsdc?`${t.voiceQuoteUsdc} USDC`:t.$t(`common.x402Scenario.quoteBeforeSigning`)),1)):(g(),p(S,{key:1,value:t.DIGITALHUMAN_VOICE_CLONE_CONSUMPTION,service:t.service,class:`cost`},null,8,[`value`,`service`])),e(`div`,null,[a(C,{disabled:t.cloning,onClick:n[2]||=e=>t.onVisible(!1)},{default:m(()=>[r(i(t.$t(`common.button.cancel`)),1)]),_:1},8,[`disabled`]),a(C,{type:`primary`,loading:t.cloning,disabled:!t.sampleUrl||t.cloning,onClick:t.onClone},{default:m(()=>[r(i(t.$t(`digitalhuman.button.startClone`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])])])]),default:m(()=>[e(`p`,ut,i(t.$t(`digitalhuman.message.voiceCloneHint`)),1),a(_,{kind:`audio`,accept:t.DIGITALHUMAN_AUDIO_ACCEPT,"button-text":t.$t(`digitalhuman.button.uploadSample`),hint:t.$t(`digitalhuman.message.audioHint`),class:`mb-4`,onChange:t.onSampleChange},null,8,[`accept`,`button-text`,`hint`,`onChange`]),e(`div`,dt,[e(`span`,ft,i(t.$t(`digitalhuman.name.voiceName`)),1),a(v,{modelValue:t.name,"onUpdate:modelValue":n[0]||=e=>t.name=e,class:`control`,placeholder:t.$t(`digitalhuman.placeholder.voiceName`)},null,8,[`modelValue`,`placeholder`])]),e(`div`,pt,[e(`span`,mt,i(t.$t(`digitalhuman.name.voiceLang`)),1),a(b,{modelValue:t.lang,"onUpdate:modelValue":n[1]||=e=>t.lang=e,class:`control`},{default:m(()=>[(g(!0),s(l,null,h(t.langOptions,e=>(g(),p(y,{key:e.value,value:e.value},{default:m(()=>[r(i(e.label),1)]),_:2},1032,[`value`]))),128))]),_:1},8,[`modelValue`])]),t.cloning?(g(),p(x,{key:0,closable:!1,type:`info`,class:`mt-4`},{default:m(()=>[e(`p`,ht,i(t.$t(`digitalhuman.message.voiceCloneRunning`)),1)]),_:1})):(g(),s(`p`,gt,i(t.$t(`digitalhuman.message.voiceStoredLocally`)),1))]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`close-on-press-escape`,`onUpdate:modelValue`])}var bt=v({name:`DigitalHumanTimbreSelector`,components:{AddIcon:ce,DeleteIcon:F,ElButton:K,ElOption:b,ElSelect:y,VoiceCloneDialog:z(lt,[[`render`,yt],[`__scopeId`,`data-v-037c810e`]])},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{voices:$(),dialogVisible:!1}},mounted(){this.modelValue&&!this.voices.some(e=>e.voice_id===this.modelValue)&&this.$emit(`update:modelValue`,void 0)},methods:{labelFor(e){let t=this.$t(`digitalhuman.name.lang_${e.lang}`);return t.startsWith(`digitalhuman.`)?e.name:`${e.name} · ${t}`},onCloned(e){this.voices=$(),this.$emit(`update:modelValue`,e)},onRemove(e){this.voices=at(e),this.modelValue===e&&this.$emit(`update:modelValue`,void 0)}}}),xt={class:`row`},St={class:`label`},Ct={class:`option`},wt={class:`option-name`},Tt=[`aria-label`,`title`,`onClick`],Et={class:`empty`};function Dt(n,o,d,f,_,v){let y=u(`delete-icon`),b=u(`el-option`),x=u(`el-select`),S=u(`add-icon`),C=u(`el-button`),w=u(`voice-clone-dialog`);return g(),s(`div`,null,[e(`div`,xt,[e(`span`,St,i(n.$t(`digitalhuman.name.timbre`)),1),a(x,{"model-value":n.modelValue,class:`control`,placeholder:n.$t(`digitalhuman.placeholder.pickTimbre`),"onUpdate:modelValue":o[0]||=e=>n.$emit(`update:modelValue`,e)},c({default:m(()=>[(g(!0),s(l,null,h(n.voices,r=>(g(),p(b,{key:r.voice_id,label:n.labelFor(r),value:r.voice_id},{default:m(()=>[e(`span`,Ct,[e(`span`,wt,i(n.labelFor(r)),1),e(`button`,{type:`button`,class:`option-remove`,"aria-label":n.$t(`common.button.delete`),title:n.$t(`common.button.delete`),onClick:t(e=>n.onRemove(r.voice_id),[`stop`])},[a(y,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Tt)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},[n.voices.length===0?{name:`empty`,fn:m(()=>[e(`p`,Et,i(n.$t(`digitalhuman.message.noVoiceYet`)),1)]),key:`0`}:void 0]),1032,[`model-value`,`placeholder`])]),a(C,{size:`small`,text:``,type:`primary`,class:`clone`,onClick:o[1]||=e=>n.dialogVisible=!0},{default:m(()=>[a(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.button.cloneNewVoice`)),1)]),_:1}),a(w,{visible:n.dialogVisible,"onUpdate:visible":o[2]||=e=>n.dialogVisible=e,onCloned:n.onCloned},null,8,[`visible`,`onCloned`])])}var Ot=v({name:`ConfigPanel`,components:{MetaTag:be,ServicePricingSummary:Le,ElButton:K,ElCollapse:k,ElCollapseItem:O,ElInputNumber:j,ElRadioButton:E,ElRadioGroup:D,InfoIcon:te,MagicIcon:L,MediaInput:Z,PromptTextarea:ne,TimbreSelector:z(bt,[[`render`,Dt],[`__scopeId`,`data-v-e191cc56`]]),WarningIcon:I,ScenarioPaymentMode:ze},emits:[`generate`],data(){return{faceMode:`video`,voiceMode:`text`,advancedOpen:[],DIGITALHUMAN_VIDEO_ACCEPT:ge,DIGITALHUMAN_IMAGE_ACCEPT:pe,DIGITALHUMAN_AUDIO_ACCEPT:R,quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.digitalhuman?.config},service(){return this.$store.state.digitalhuman?.service},consumption(){return Se(this.config,this.service?.cost)},missing(){let e=[];return(this.faceMode===`video`?this.config?.video_url:this.config?.image_url)||e.push({key:`face`,message:this.$t(`digitalhuman.message.missingFace`)}),this.voiceMode===`text`?(this.config?.text?.trim()||e.push({key:`text`,message:this.$t(`digitalhuman.message.missingText`)}),this.config?.voice_id||e.push({key:`timbre`,message:this.$t(`digitalhuman.message.missingTimbre`)})):this.config?.audio_url||e.push({key:`audio`,message:this.$t(`digitalhuman.message.missingAudio`)}),e},text:{get(){return this.config?.text},set(e){this.update({text:e})}},voiceId:{get(){return this.config?.voice_id},set(e){this.update({voice_id:e})}},speed:{get(){return this.config?.speed??1},set(e){this.update({speed:e})}},walletMode(){return B()&&H(`digitalhuman`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0},faceMode(){this.walletMode&&this.scheduleQuote()},voiceMode(){this.walletMode&&this.scheduleQuote()}},mounted(){this.config?.image_url&&!this.config?.video_url&&(this.faceMode=`photo`),this.config?.audio_url&&(this.voiceMode=`audio`)},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=H(`digitalhuman`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=q(this.config,this.faceMode,this.voiceMode),r=await U.quote(n);t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=r.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},isMissing(e){return this.missing.some(t=>t.key===e)},update(e){this.$store.commit(`digitalhuman/setConfig`,{...this.config,...e})},onFaceModeChange(e){this.update(e===`video`?{image_url:void 0}:{video_url:void 0})},onVoiceModeChange(e){this.update(e===`audio`?{text:void 0,voice_id:void 0}:{audio_url:void 0})},onFaceVideoChange(e){this.update({video_url:e})},onFacePhotoChange(e){this.update({image_url:e})},onAudioChange(e){this.update({audio_url:e})},onGenerate(){let e=this.missing[0];if(e){T.warning(e.message);let t=e.key===`face`?`face`:`voice`;this.$refs[t]?.scrollIntoView?.({behavior:`smooth`,block:`center`});return}this.$emit(`generate`,q(this.config,this.faceMode,this.voiceMode))}}}),kt={class:`flex flex-col h-full`},At={class:`flex-1 overflow-y-auto p-5`},jt={ref:`face`,class:`field-block mb-6`},Mt={class:`field-head`},Nt={class:`field-title font-bold`},Pt={ref:`voice`,class:`field-block mb-6`},Ft={class:`field-head`},It={class:`field-title font-bold`},Lt={class:`field-row`},Rt={class:`field-head`},zt={class:`field-title font-bold`},Bt={class:`flex flex-col items-center justify-center px-5 pb-5`},Vt={key:0,class:`hint-missing`},Ht={class:`hint-eta`};function Ut(t,n,c,d,f,h){let _=u(`meta-tag`),v=u(`info-icon`),y=u(`el-radio-button`),b=u(`el-radio-group`),x=u(`media-input`),S=u(`prompt-textarea`),C=u(`timbre-selector`),w=u(`el-input-number`),T=u(`el-collapse-item`),E=u(`el-collapse`),D=u(`warning-icon`),O=u(`scenario-payment-mode`),k=u(`service-pricing-summary`),A=u(`magic-icon`),j=u(`el-button`);return g(),s(`div`,kt,[e(`div`,At,[e(`section`,jt,[e(`div`,Mt,[e(`h2`,Nt,i(t.$t(`digitalhuman.name.step1`)),1),t.isMissing(`face`)?(g(),p(_,{key:0,class:`required-badge`,density:`compact`,tone:`warning`},{default:m(()=>[r(i(t.$t(`digitalhuman.name.required`)),1)]),_:1})):o(``,!0),a(v,{content:t.$t(`digitalhuman.description.step1`),class:`ml-1`},null,8,[`content`])]),a(b,{modelValue:t.faceMode,"onUpdate:modelValue":n[0]||=e=>t.faceMode=e,class:`mode-switch mb-3`,onChange:t.onFaceModeChange},{default:m(()=>[a(y,{value:`video`},{default:m(()=>[r(i(t.$t(`digitalhuman.name.faceModeVideo`)),1)]),_:1}),a(y,{value:`photo`},{default:m(()=>[r(i(t.$t(`digitalhuman.name.faceModePhoto`)),1)]),_:1})]),_:1},8,[`modelValue`,`onChange`]),t.faceMode===`video`?(g(),p(x,{key:0,kind:`video`,accept:t.DIGITALHUMAN_VIDEO_ACCEPT,"button-text":t.$t(`digitalhuman.button.uploadFaceVideo`),hint:t.$t(`digitalhuman.message.faceVideoHint`),onChange:t.onFaceVideoChange},null,8,[`accept`,`button-text`,`hint`,`onChange`])):(g(),p(x,{key:1,kind:`image`,accept:t.DIGITALHUMAN_IMAGE_ACCEPT,"button-text":t.$t(`digitalhuman.button.uploadFacePhoto`),hint:t.$t(`digitalhuman.message.facePhotoHint`),onChange:t.onFacePhotoChange},null,8,[`accept`,`button-text`,`hint`,`onChange`]))],512),e(`section`,Pt,[e(`div`,Ft,[e(`h2`,It,i(t.$t(`digitalhuman.name.step2`)),1),t.isMissing(`text`)||t.isMissing(`timbre`)||t.isMissing(`audio`)?(g(),p(_,{key:0,class:`required-badge`,density:`compact`,tone:`warning`},{default:m(()=>[r(i(t.$t(`digitalhuman.name.required`)),1)]),_:1})):o(``,!0),a(v,{content:t.$t(`digitalhuman.description.step2`),class:`ml-1`},null,8,[`content`])]),a(b,{modelValue:t.voiceMode,"onUpdate:modelValue":n[1]||=e=>t.voiceMode=e,class:`mode-switch mb-3`,onChange:t.onVoiceModeChange},{default:m(()=>[a(y,{value:`text`},{default:m(()=>[r(i(t.$t(`digitalhuman.name.voiceModeText`)),1)]),_:1}),a(y,{value:`audio`},{default:m(()=>[r(i(t.$t(`digitalhuman.name.voiceModeAudio`)),1)]),_:1})]),_:1},8,[`modelValue`,`onChange`]),t.voiceMode===`text`?(g(),s(l,{key:0},[a(S,{modelValue:t.text,"onUpdate:modelValue":n[2]||=e=>t.text=e,class:`mb-3`,title:t.$t(`digitalhuman.name.speech`),placeholder:t.$t(`digitalhuman.placeholder.speech`),"min-rows":5,"max-rows":14},null,8,[`modelValue`,`title`,`placeholder`]),a(C,{modelValue:t.voiceId,"onUpdate:modelValue":n[3]||=e=>t.voiceId=e},null,8,[`modelValue`])],64)):(g(),p(x,{key:1,kind:`audio`,accept:t.DIGITALHUMAN_AUDIO_ACCEPT,"button-text":t.$t(`digitalhuman.button.uploadSpeechAudio`),hint:t.$t(`digitalhuman.message.audioHint`),onChange:t.onAudioChange},null,8,[`accept`,`button-text`,`hint`,`onChange`]))],512),a(E,{modelValue:t.advancedOpen,"onUpdate:modelValue":n[5]||=e=>t.advancedOpen=e,class:`advanced`},{default:m(()=>[a(T,{name:`advanced`,title:t.$t(`digitalhuman.name.advanced`)},{default:m(()=>[e(`div`,Lt,[e(`div`,Rt,[e(`h2`,zt,i(t.$t(`digitalhuman.name.speed`)),1),a(v,{content:t.$t(`digitalhuman.description.speed`),class:`ml-1`},null,8,[`content`])]),a(w,{modelValue:t.speed,"onUpdate:modelValue":n[4]||=e=>t.speed=e,class:`field-control`,min:.5,max:2,step:.1,precision:1,"controls-position":`right`},null,8,[`modelValue`])])]),_:1},8,[`title`])]),_:1},8,[`modelValue`])]),e(`div`,Bt,[t.missing.length>0?(g(),s(`p`,Vt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.missing[0].message),1)])):o(``,!0),a(O,{scenario:`digitalhuman`}),t.walletMode?o(``,!0):(g(),p(k,{key:1,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(j,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:m(()=>[a(A,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`digitalhuman.button.generateVideo`)),1)]),_:1},8,[`onClick`]),e(`p`,Ht,i(t.$t(`digitalhuman.message.eta`)),1)])])}var Wt=z(Ot,[[`render`,Ut],[`__scopeId`,`data-v-a43f6be7`]]),Gt=[`.jpg`,`.jpeg`,`.png`,`.webp`,`.bmp`,`.gif`],Kt=v({name:`TaskPreview`,components:{ApiCodeButton:Be,AudioPreview:Y,ChannelIcon:ee,CopyToClipboard:Ne,DeleteIcon:F,ElAlert:C,ElButton:K,ElProgress:M,ElTooltip:S,FullscreenIcon:ie,ImagePreview:J,InfoIcon:P,MagicIcon:L,ReportButton:Pe,TimeIcon:N,VideoPlayer:Re,VideoPreview:X,WarningIcon:I},props:{modelValue:{type:Object,required:!0}},computed:{status(){return this.modelValue?.status||this.modelValue?.response?.state||`pending`},isSuccess(){return[`succeed`,`succeeded`].includes(this.status)||!!this.modelValue?.response?.video_url},isFailure(){return[`failed`,`dead`].includes(this.status)||this.modelValue?.response?.success===!1},isTerminal(){return this.isSuccess||this.isFailure},videoUrl(){return this.modelValue?.response?.video_url},progressPct(){let e=this.modelValue?.response?.progress;return typeof e==`number`?e:0},voiceLabel(){return this.modelValue?.request?.audio_url?this.$t(`digitalhuman.name.audioDriven`):this.$t(`digitalhuman.name.textDriven`)},faceUrl(){return this.modelValue?.request?.video_url||this.modelValue?.request?.image_url},isPhotoFace(){if(this.modelValue?.request?.image_url)return!0;let e=(this.faceUrl||``).split(`?`)[0].toLowerCase();return Gt.some(t=>e.endsWith(t))},audioUrl(){return this.modelValue?.request?.audio_url},outputSize(){let{width:e,height:t}=this.modelValue?.response||{};return e&&t?`${e}×${t}`:void 0},etaText(){let e=parseFloat((this.modelValue?.created_at||``).toString());if(!e)return;let t=fe-(Date.now()/1e3-e);return t<=60?this.$t(`digitalhuman.message.etaAlmostDone`):this.$t(`digitalhuman.message.etaRemaining`,{minutes:Math.ceil(t/60)})},statusLabel(){let e=`digitalhuman.status.${this.status}`,t=this.$t(e);return t===e?this.$t(`digitalhuman.status.processing`):t},failureReason(){let e=this.modelValue?.response?.error;if(e)return typeof e==`string`?e:e?.message}},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(`digitalhuman/deleteTask`,{id:e}),T.success(this.$t(`common.message.deleteTaskSuccess`))}catch{T.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),window.open(t,`_blank`)}}}),qt={class:`preview`},Jt={class:`left`},Yt={class:`main`},Xt={class:`bot`},Zt={class:`datetime`},Qt=[`aria-label`],$t={class:`info`},en={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},tn={class:`prompt mt-2`},nn={key:0},rn={key:0,class:`content`},an={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},on={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},sn={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},cn={key:1,class:`content`},ln={class:`operations mt-2`},un={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},fn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},hn={key:2,class:`content`},gn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_n={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},yn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function bn(n,c,l,d,f,h){let _=u(`capability-presentation`),v=u(`delete-icon`),y=u(`el-tooltip`),b=u(`image-preview`),x=u(`video-preview`),S=u(`audio-preview`),C=u(`time-icon`),w=u(`el-progress`),T=u(`magic-icon`),E=u(`copy-to-clipboard`),D=u(`el-alert`),O=u(`video-player`),k=u(`el-button`),A=u(`api-code-button`),j=u(`report-button`),M=u(`fullscreen-icon`),N=u(`channel-icon`),ee=u(`warning-icon`),P=u(`info-icon`);return g(),s(`div`,qt,[e(`div`,Jt,[a(_,{capability:`digitalhuman`,part:`avatar`,class:`avatar`})]),e(`div`,Yt,[e(`div`,Xt,[a(_,{capability:`digitalhuman`,part:`name`}),e(`span`,Zt,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: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(v,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Qt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,$t,[n.faceUrl||n.audioUrl?(g(),s(`div`,en,[n.faceUrl&&n.isPhotoFace?(g(),p(b,{key:0,url:n.faceUrl,name:`face`,closable:!1},null,8,[`url`])):n.faceUrl?(g(),p(x,{key:1,url:n.faceUrl,name:`face`},null,8,[`url`])):o(``,!0),n.audioUrl?(g(),p(S,{key:2,url:n.audioUrl,name:`audio`},null,8,[`url`])):o(``,!0)])):o(``,!0),e(`p`,tn,[r(i(n.modelValue?.request?.text||n.voiceLabel)+` `,1),n.isTerminal?o(``,!0):(g(),s(`span`,nn,` - (`+i(n.statusLabel)+`) `,1))])]),n.isTerminal?o(``,!0):(g(),s(`div`,rn,[a(D,{closable:!1,class:`info-state`},{default:m(()=>[e(`p`,an,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.statusLabel),1)]),a(w,{percentage:n.progressPct,"stroke-width":6,class:`mb-2`},null,8,[`percentage`]),n.etaText?(g(),s(`p`,on,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.etaLabel`))+`: `+i(n.etaText),1)])):o(``,!0),e(`p`,sn,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])),n.isSuccess?(g(),s(`div`,cn,[n.videoUrl?(g(),p(O,{key:0,src:n.videoUrl},null,8,[`src`])):o(``,!0),e(`div`,ln,[n.videoUrl?(g(),p(k,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=e=>n.onDownload(e,n.videoUrl)},{default:m(()=>[r(i(n.$t(`digitalhuman.button.download`)),1)]),_:1})):o(``,!0),a(A,{path:`/digital-human/videos`,body:n.modelValue?.request},null,8,[`body`]),a(j,{service:`digitalhuman`,"target-id":n.modelValue?.id,snapshot:{text:n.modelValue?.request?.text}},null,8,[`target-id`,`snapshot`])]),a(D,{closable:!1,class:`mt-2 success`},{default:m(()=>[n.modelValue?.response?.duration?(g(),s(`p`,un,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.duration`))+`: `+i(n.modelValue?.response?.duration?.toFixed(1))+`s `,1)])):o(``,!0),n.outputSize?(g(),s(`p`,dn,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.outputSize`))+`: `+i(n.outputSize),1)])):o(``,!0),e(`p`,fn,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,pn,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,mn,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(E,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0),n.isFailure?(g(),s(`div`,hn,[a(D,{closable:!1,class:`failure`},{template:m(()=>[a(ee,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.failure`)),1)]),default:m(()=>[e(`p`,gn,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),n.failureReason?(g(),s(`p`,_n,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.failureReason`))+`: `+i(n.failureReason)+` `,1),a(E,{content:n.failureReason},null,8,[`content`])])):o(``,!0),n.modelValue?.elapsed?(g(),s(`p`,vn,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,yn,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(E,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0)])])}var xn=v({name:`RecentPanel`,components:{TaskPreview:z(Kt,[[`render`,bn],[`__scopeId`,`data-v-342f1d6d`]]),NoTasks:ae,BotPlaceholder:Ve,ScrollList:re},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.digitalhuman?.tasks,items:this.$store.state.digitalhuman?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Sn={key:0},Cn={key:2,class:`w-full h-full flex items-center justify-center`};function wn(e,t,n,r,i,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`,Sn,[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`,Cn,[a(v)])):o(``,!0)],64)}var Tn=v({name:`DigitalHumanIndex`,components:{ConfigPanel:Wt,Layout:Je,RecentPanel:z(xn,[[`render`,wn]])},mixins:[Ae,He(`digitalhuman`,!1)],inject:[`initialized`],data(){return{job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.digitalhuman?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.digitalhuman?.status?.getTasks===w.Request||this.fetchingTasks},credential(){return this.$store.state.digitalhuman.credential},config(){return this.$store.state.digitalhuman.config},tasks(){return this.$store.state.digitalhuman.tasks},walletMode(){return B()&&H(`digitalhuman`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`digitalhuman/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()}}},initialized:{async handler(e){window.clearInterval(this.job),e&&(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 oe({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch(`digitalhuman/getService`)},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch(`digitalhuman/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(e){if(!we(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let t;if(this.walletMode){let n=this.getWalletContext();if(!n){T.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}t=U.generate(e,{mode:`x402`,x402:{wallet:n,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!Ee())return;let n=this.credential?.token;if(!n)return;t=U.generate(e,{token:n})}T.info(this.$t(`digitalhuman.message.startingTask`)),Ce(`digitalhuman`,t).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(`digitalhuman.message.startTaskSuccess`))}).catch(e=>{e instanceof G||xe(e,`digitalhuman`)||(this.walletMode?T.error(this.$t(`common.x402Scenario.paymentFailed`)):T.error(this.$t(`digitalhuman.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return W(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 En(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`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Dn=z(Tn,[[`render`,En]]);export{Dn as default};
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,P 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-B6ZO1rLl.js";import{t as x}from"./upload-DvqAUM9o.js";import{t as S}from"./tooltip-BFMHj7yV.js";import{t as C}from"./alert-BprQRUmf.js";import{_ as w,v as T}from"./vuex.esm-bundler-Dh61cDbO.js";import{n as E,r as D}from"./radio-BNhFzeBO.js";import{n as O,t as k}from"./collapse-B87qL7a1.js";import{t as A}from"./drawer-DVH0xZU_.js";import{t as j}from"./input-number-DSOk0jCW.js";import{t as M}from"./progress-BuyYfFZn.js";import{t as N}from"./clock-CAf8wf9e.js";import{t as ee}from"./hash-DqiIH4WA.js";import{t as P}from"./info-DzqnccKk.js";import{a as te,i as ne,n as re,o as ie,r as ae,t as oe}from"./pagination-Ccy4p3jJ.js";import{t as se}from"./music-2-LsJnrWjq.js";import{t as ce}from"./plus-Ch9vaMzG.js";import{t as F}from"./trash-2-DTIOXFAX.js";import{t as I}from"./triangle-alert-BPPxjzKW.js";import{t as le}from"./upload-B8RBApAO.js";import{t as ue}from"./user-DbQMGtR0.js";import{t as de}from"./video-BwlralfI.js";import{t as L}from"./wand-sparkles-Be9RrbrT.js";import{Gr as fe,Kr as pe,Ur as me,Wr as R,Xr as he,Yr as ge}from"./constants-4TRM3yeb.js";import{Ba as _e,D as z,Fi as B,Ha as V,Ia as ve,Ja as ye,Li as H,Ra as be,T as xe,Tn as Se,Xi as Ce,at as we,br as U,ct as Te,ia as Ee,li as W,lo as De,lt as Oe,oi as G,ot as ke,st as Ae,to as K,tt as je,vr as q,yr as Me}from"./index-DURbYpHp.js";import{t as Ne}from"./CopyToClipboard-OD_-zDDD.js";import{t as Pe}from"./ReportButton-CBoBD__d.js";import{t as J}from"./ImagePreview-iMMwS5bK.js";import{n as Fe}from"./taskDrawerMixin-DyAUhFEq.js";import{n as Ie,t as Le}from"./ServicePricingSummary-mQ3kXYW6.js";import{t as Y}from"./AudioPreview-CnwTRcGy.js";import{t as Re}from"./VideoPlayer-BHDyrslN.js";import{t as X}from"./VideoPreview-CVQXuaJq.js";import{t as ze}from"./ScenarioPaymentMode-B-onFjJH.js";import{t as Be}from"./ApiCodeButton-yY9sIC18.js";import{t as Ve}from"./BotPlaceholder-DAC5flJl.js";import{t as He}from"./taskPollingMixin-CcLxtz8z.js";var Ue=v({name:`LayoutDigitalHuman`,components:{UserIcon:ue,ElDrawer:A,ElButton:K},mixins:[Fe]}),We={class:`main flex flex-row flex-1`},Ge={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)]`},Ke={class:`result h-full p-4 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function qe(t,n,r,i,o,c){let l=u(`user-icon`),p=u(`el-button`),h=u(`el-drawer`);return g(),s(`div`,We,[e(`div`,Ge,[f(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ke,[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 Je=z(Ue,[[`render`,qe],[`__scopeId`,`data-v-909c6359`]]),Ye=v({name:`DigitalHumanMediaInput`,components:{AudioPreview:Y,CloseIcon:_e,ElButton:K,ElProgress:M,ElUpload:x,ImagePreview:J,MusicIcon:se,UploadIcon:le,VideoIcon:de,VideoPreview:X},mixins:[Oe,Te,ke,je],props:{kind:{type:String,required:!0},accept:{type:String,default:``},buttonText:{type:String,default:``},hint:{type:String,default:``}},emits:[`change`],data(){return{fileList:[],uploadUrl:ve()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},hasFile(){return this.fileList.length>0}},methods:{uploadedUrl(e){return e?.response?.file_url},isPending(e){return e.status===`ready`||e.status===`uploading`},onExceed(e){let t=this.$refs.uploader;t?.clearFiles();let n=e[0];n&&(t?.handleStart?.(n),t?.submit?.())},onError(){T.error(this.$t(`digitalhuman.message.uploadError`))},onRemoveFile(e){let t=this.fileList.indexOf(e);t>=0&&this.fileList.splice(t,1),this.onChange()},onChange(){let e=this.fileList?.[0];this.$emit(`change`,e?this.uploadedUrl(e):void 0)}}}),Xe={class:`thumb`},Ze={key:2,class:`placeholder`},Qe=[`title`],$e=[`aria-label`,`title`,`onClick`],et={key:0,class:`hint`};function tt(c,d,f,h,_,v){let y=u(`image-preview`),b=u(`video-preview`),x=u(`audio-preview`),S=u(`el-progress`),C=u(`video-icon`),w=u(`music-icon`),T=u(`close-icon`),E=u(`upload-icon`),D=u(`el-button`),O=u(`el-upload`);return g(),p(O,{ref:`uploader`,"file-list":c.fileList,"onUpdate:fileList":d[0]||=e=>c.fileList=e,accept:c.accept,name:`file`,class:`media-input`,limit:1,multiple:!1,"before-upload":c.beforeUploadSizeGuard,action:c.uploadUrl,headers:c.headers,"on-exceed":c.onExceed,"on-error":c.onError,"on-success":c.onChange,"on-remove":c.onChange},{file:m(({file:r})=>[e(`div`,{class:n([`slot`,{pending:c.isPending(r)}])},[c.kind===`image`&&r.url?(g(),p(y,{key:0,url:r.url,name:r.name,percentage:r.percentage,onRemove:e=>c.onRemoveFile(r)},null,8,[`url`,`name`,`percentage`,`onRemove`])):(g(),s(l,{key:1},[e(`div`,Xe,[c.kind===`video`&&c.uploadedUrl(r)?(g(),p(b,{key:0,url:c.uploadedUrl(r)},null,8,[`url`])):c.kind===`audio`&&c.uploadedUrl(r)?(g(),p(x,{key:1,url:c.uploadedUrl(r)},null,8,[`url`])):(g(),s(`div`,Ze,[c.isPending(r)?(g(),p(S,{key:0,type:`circle`,"stroke-width":4,percentage:Math.round(r.percentage||0),width:34},null,8,[`percentage`])):c.kind===`video`?(g(),p(C,{key:1,size:`1em`,"aria-hidden":`true`,focusable:`false`})):(g(),p(w,{key:2,size:`1em`,"aria-hidden":`true`,focusable:`false`}))]))]),e(`span`,{class:`filename`,title:r.name},i(r.name),9,Qe),e(`button`,{type:`button`,class:`remove`,"aria-label":c.$t(`common.button.close`),title:c.$t(`common.button.close`),onClick:t(e=>c.onRemoveFile(r),[`stop`])},[a(T,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,$e)],64))],2)]),default:m(()=>[a(D,{round:``,type:`primary`,size:`small`,class:`btn`},{default:m(()=>[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(c.hasFile?c.$t(`digitalhuman.button.replace`):c.buttonText),1)]),_:1}),c.hint?(g(),s(`p`,et,i(c.hint),1)):o(``,!0)]),_:1},8,[`file-list`,`accept`,`before-upload`,`action`,`headers`,`on-exceed`,`on-error`,`on-success`,`on-remove`])}var Z=z(Ye,[[`render`,tt],[`__scopeId`,`data-v-db0590a9`]]),nt=20,Q=e=>{let t=e;return!!t&&typeof t.voice_id==`string`&&!!t.voice_id&&typeof t.name==`string`},$=()=>{try{let e=JSON.parse(localStorage.getItem(`digitalhuman.voices`)||`[]`);return Array.isArray(e)?e.filter(Q).map(e=>({voice_id:e.voice_id,name:e.name,lang:typeof e.lang==`string`?e.lang:`zh`,created_at:typeof e.created_at==`number`?e.created_at:0})):[]}catch{return[]}},rt=e=>{try{localStorage.setItem(he,JSON.stringify(e))}catch{}return e},it=e=>Q(e)?rt([e,...$().filter(t=>t.voice_id!==e.voice_id)].slice(0,nt)):$(),at=e=>rt($().filter(t=>t.voice_id!==e)),ot=e=>`${e} ${$().length+1}`,st=3e3,ct=60,lt=v({name:`DigitalHumanVoiceCloneDialog`,components:{Consumption:Ie,ElAlert:C,ElButton:K,ElDialog:ye,ElInput:De,ElRadioButton:E,ElRadioGroup:D,MediaInput:Z},props:{visible:{type:Boolean,default:!1}},emits:[`update:visible`,`cloned`],data(){return{sampleUrl:void 0,name:``,lang:`zh`,cloning:!1,destroyed:!1,runId:0,DIGITALHUMAN_AUDIO_ACCEPT:R,DIGITALHUMAN_VOICE_CLONE_CONSUMPTION:2,voiceQuoteUsdc:void 0,voiceQuoteLoading:!1,quoteRunId:0}},computed:{service(){return this.$store.state.digitalhuman?.service},credentialToken(){return this.$store.state.digitalhuman?.credential?.token},walletMode(){return B()&&H(`digitalhuman`).mode===`wallet`},langOptions(){return me.map(e=>({value:e,label:this.$t(`digitalhuman.name.lang_${e}`)}))}},watch:{walletMode(e){this.voiceQuoteUsdc=void 0,e&&this.visible&&this.sampleUrl&&this.refreshVoiceQuote()},visible(e){e?(this.sampleUrl=void 0,this.name=ot(this.$t(`digitalhuman.name.myVoice`)),this.lang=`zh`):(this.runId++,this.quoteRunId++,this.cloning=!1,this.voiceQuoteLoading=!1)}},beforeUnmount(){this.destroyed=!0,this.runId++,this.quoteRunId++},methods:{onVisible(e){this.cloning&&!e||this.$emit(`update:visible`,e)},onSampleChange(e){this.sampleUrl=e,this.voiceQuoteUsdc=void 0,e&&this.walletMode&&this.refreshVoiceQuote()},isStale(e){return this.destroyed||e!==this.runId},sleep(e){return new Promise(t=>setTimeout(t,e))},async refreshVoiceQuote(){if(!this.sampleUrl)return;let e=++this.quoteRunId;this.voiceQuoteLoading=!0;try{let t=await U.quoteVoice(this.voiceRequest());e===this.quoteRunId&&this.walletMode&&(this.voiceQuoteUsdc=t.amountUsdc)}catch(e){console.warn(`x402 voice quote failed`,e)}finally{e===this.quoteRunId&&(this.voiceQuoteLoading=!1)}},voiceRequest(){return Me({audio_url:this.sampleUrl||``,lang:this.lang,name:this.name||void 0})},paymentOptions(){if(!this.walletMode)return this.credentialToken?{token:this.credentialToken}:void 0;let e=this.getWalletContext();if(!e){T.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}return{mode:`x402`,x402:{wallet:e,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credentialToken}}},async onClone(){if(!this.sampleUrl)return;let e=this.paymentOptions();if(!e)return;let t=++this.runId;this.cloning=!0;try{let{data:n}=await U.cloneVoice(this.voiceRequest(),e);if(this.isStale(t))return;if(n?.voice_id){this.onCloned(n.voice_id);return}if(n?.task_id)await this.pollVoice(n.task_id,t);else throw Error(`no task`)}catch(e){if(e instanceof G)return;this.isStale(t)||T.error(this.$t(`digitalhuman.message.voiceCloneFailed`))}finally{this.isStale(t)||(this.cloning=!1)}},async pollVoice(e,t){for(let n=0;n<ct;n++){if(this.isStale(t)||(await this.sleep(st),this.isStale(t)))return;let n=this.credentialToken,{data:r}=await U.pollTask(e,n?{token:n}:{mode:`x402`});if(this.isStale(t))return;if(r?.voice_id){this.onCloned(r.voice_id);return}if(r?.state===`failed`)throw Error(`clone failed`)}throw Error(`timeout`)},getWalletContext(){return W(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)},onCloned(e){it({voice_id:e,name:this.name||this.$t(`digitalhuman.name.myVoice`),lang:this.lang,created_at:Date.now()/1e3}),T.success(this.$t(`digitalhuman.message.voiceCloneSuccess`)),this.cloning=!1,this.$emit(`cloned`,e),this.$emit(`update:visible`,!1)}}}),ut={class:`text-xs text-[var(--el-text-color-secondary)] mb-3`},dt={class:`field mb-3`},ft={class:`label`},pt={class:`field`},mt={class:`label`},ht={class:`text-xs mb-0`},gt={key:1,class:`mt-4 text-xs text-[var(--el-text-color-secondary)]`},_t={class:`footer`},vt={key:0,class:`cost text-xs text-[var(--el-text-color-secondary)]`};function yt(t,n,o,c,d,f){let _=u(`media-input`),v=u(`el-input`),y=u(`el-radio-button`),b=u(`el-radio-group`),x=u(`el-alert`),S=u(`consumption`),C=u(`el-button`),w=u(`el-dialog`);return g(),p(w,{"model-value":t.visible,title:t.$t(`digitalhuman.name.cloneVoice`),width:`440`,"align-center":``,"append-to-body":``,"close-on-click-modal":!t.cloning,"close-on-press-escape":!t.cloning,"onUpdate:modelValue":t.onVisible},{footer:m(()=>[e(`div`,_t,[t.walletMode?(g(),s(`span`,vt,i(t.voiceQuoteLoading?`…`:t.voiceQuoteUsdc?`${t.voiceQuoteUsdc} USDC`:t.$t(`common.x402Scenario.quoteBeforeSigning`)),1)):(g(),p(S,{key:1,value:t.DIGITALHUMAN_VOICE_CLONE_CONSUMPTION,service:t.service,class:`cost`},null,8,[`value`,`service`])),e(`div`,null,[a(C,{disabled:t.cloning,onClick:n[2]||=e=>t.onVisible(!1)},{default:m(()=>[r(i(t.$t(`common.button.cancel`)),1)]),_:1},8,[`disabled`]),a(C,{type:`primary`,loading:t.cloning,disabled:!t.sampleUrl||t.cloning,onClick:t.onClone},{default:m(()=>[r(i(t.$t(`digitalhuman.button.startClone`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])])])]),default:m(()=>[e(`p`,ut,i(t.$t(`digitalhuman.message.voiceCloneHint`)),1),a(_,{kind:`audio`,accept:t.DIGITALHUMAN_AUDIO_ACCEPT,"button-text":t.$t(`digitalhuman.button.uploadSample`),hint:t.$t(`digitalhuman.message.audioHint`),class:`mb-4`,onChange:t.onSampleChange},null,8,[`accept`,`button-text`,`hint`,`onChange`]),e(`div`,dt,[e(`span`,ft,i(t.$t(`digitalhuman.name.voiceName`)),1),a(v,{modelValue:t.name,"onUpdate:modelValue":n[0]||=e=>t.name=e,class:`control`,placeholder:t.$t(`digitalhuman.placeholder.voiceName`)},null,8,[`modelValue`,`placeholder`])]),e(`div`,pt,[e(`span`,mt,i(t.$t(`digitalhuman.name.voiceLang`)),1),a(b,{modelValue:t.lang,"onUpdate:modelValue":n[1]||=e=>t.lang=e,class:`control`},{default:m(()=>[(g(!0),s(l,null,h(t.langOptions,e=>(g(),p(y,{key:e.value,value:e.value},{default:m(()=>[r(i(e.label),1)]),_:2},1032,[`value`]))),128))]),_:1},8,[`modelValue`])]),t.cloning?(g(),p(x,{key:0,closable:!1,type:`info`,class:`mt-4`},{default:m(()=>[e(`p`,ht,i(t.$t(`digitalhuman.message.voiceCloneRunning`)),1)]),_:1})):(g(),s(`p`,gt,i(t.$t(`digitalhuman.message.voiceStoredLocally`)),1))]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`close-on-press-escape`,`onUpdate:modelValue`])}var bt=v({name:`DigitalHumanTimbreSelector`,components:{AddIcon:ce,DeleteIcon:F,ElButton:K,ElOption:b,ElSelect:y,VoiceCloneDialog:z(lt,[[`render`,yt],[`__scopeId`,`data-v-037c810e`]])},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{voices:$(),dialogVisible:!1}},mounted(){this.modelValue&&!this.voices.some(e=>e.voice_id===this.modelValue)&&this.$emit(`update:modelValue`,void 0)},methods:{labelFor(e){let t=this.$t(`digitalhuman.name.lang_${e.lang}`);return t.startsWith(`digitalhuman.`)?e.name:`${e.name} · ${t}`},onCloned(e){this.voices=$(),this.$emit(`update:modelValue`,e)},onRemove(e){this.voices=at(e),this.modelValue===e&&this.$emit(`update:modelValue`,void 0)}}}),xt={class:`row`},St={class:`label`},Ct={class:`option`},wt={class:`option-name`},Tt=[`aria-label`,`title`,`onClick`],Et={class:`empty`};function Dt(n,o,d,f,_,v){let y=u(`delete-icon`),b=u(`el-option`),x=u(`el-select`),S=u(`add-icon`),C=u(`el-button`),w=u(`voice-clone-dialog`);return g(),s(`div`,null,[e(`div`,xt,[e(`span`,St,i(n.$t(`digitalhuman.name.timbre`)),1),a(x,{"model-value":n.modelValue,class:`control`,placeholder:n.$t(`digitalhuman.placeholder.pickTimbre`),"onUpdate:modelValue":o[0]||=e=>n.$emit(`update:modelValue`,e)},c({default:m(()=>[(g(!0),s(l,null,h(n.voices,r=>(g(),p(b,{key:r.voice_id,label:n.labelFor(r),value:r.voice_id},{default:m(()=>[e(`span`,Ct,[e(`span`,wt,i(n.labelFor(r)),1),e(`button`,{type:`button`,class:`option-remove`,"aria-label":n.$t(`common.button.delete`),title:n.$t(`common.button.delete`),onClick:t(e=>n.onRemove(r.voice_id),[`stop`])},[a(y,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Tt)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},[n.voices.length===0?{name:`empty`,fn:m(()=>[e(`p`,Et,i(n.$t(`digitalhuman.message.noVoiceYet`)),1)]),key:`0`}:void 0]),1032,[`model-value`,`placeholder`])]),a(C,{size:`small`,text:``,type:`primary`,class:`clone`,onClick:o[1]||=e=>n.dialogVisible=!0},{default:m(()=>[a(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.button.cloneNewVoice`)),1)]),_:1}),a(w,{visible:n.dialogVisible,"onUpdate:visible":o[2]||=e=>n.dialogVisible=e,onCloned:n.onCloned},null,8,[`visible`,`onCloned`])])}var Ot=v({name:`ConfigPanel`,components:{MetaTag:be,ServicePricingSummary:Le,ElButton:K,ElCollapse:k,ElCollapseItem:O,ElInputNumber:j,ElRadioButton:E,ElRadioGroup:D,InfoIcon:te,MagicIcon:L,MediaInput:Z,PromptTextarea:ne,TimbreSelector:z(bt,[[`render`,Dt],[`__scopeId`,`data-v-e191cc56`]]),WarningIcon:I,ScenarioPaymentMode:ze},emits:[`generate`],data(){return{faceMode:`video`,voiceMode:`text`,advancedOpen:[],DIGITALHUMAN_VIDEO_ACCEPT:ge,DIGITALHUMAN_IMAGE_ACCEPT:pe,DIGITALHUMAN_AUDIO_ACCEPT:R,quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.digitalhuman?.config},service(){return this.$store.state.digitalhuman?.service},consumption(){return Se(this.config,this.service?.cost)},missing(){let e=[];return(this.faceMode===`video`?this.config?.video_url:this.config?.image_url)||e.push({key:`face`,message:this.$t(`digitalhuman.message.missingFace`)}),this.voiceMode===`text`?(this.config?.text?.trim()||e.push({key:`text`,message:this.$t(`digitalhuman.message.missingText`)}),this.config?.voice_id||e.push({key:`timbre`,message:this.$t(`digitalhuman.message.missingTimbre`)})):this.config?.audio_url||e.push({key:`audio`,message:this.$t(`digitalhuman.message.missingAudio`)}),e},text:{get(){return this.config?.text},set(e){this.update({text:e})}},voiceId:{get(){return this.config?.voice_id},set(e){this.update({voice_id:e})}},speed:{get(){return this.config?.speed??1},set(e){this.update({speed:e})}},walletMode(){return B()&&H(`digitalhuman`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0},faceMode(){this.walletMode&&this.scheduleQuote()},voiceMode(){this.walletMode&&this.scheduleQuote()}},mounted(){this.config?.image_url&&!this.config?.video_url&&(this.faceMode=`photo`),this.config?.audio_url&&(this.voiceMode=`audio`)},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=H(`digitalhuman`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=q(this.config,this.faceMode,this.voiceMode),r=await U.quote(n);t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=r.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},isMissing(e){return this.missing.some(t=>t.key===e)},update(e){this.$store.commit(`digitalhuman/setConfig`,{...this.config,...e})},onFaceModeChange(e){this.update(e===`video`?{image_url:void 0}:{video_url:void 0})},onVoiceModeChange(e){this.update(e===`audio`?{text:void 0,voice_id:void 0}:{audio_url:void 0})},onFaceVideoChange(e){this.update({video_url:e})},onFacePhotoChange(e){this.update({image_url:e})},onAudioChange(e){this.update({audio_url:e})},onGenerate(){let e=this.missing[0];if(e){T.warning(e.message);let t=e.key===`face`?`face`:`voice`;this.$refs[t]?.scrollIntoView?.({behavior:`smooth`,block:`center`});return}this.$emit(`generate`,q(this.config,this.faceMode,this.voiceMode))}}}),kt={class:`flex flex-col h-full`},At={class:`flex-1 overflow-y-auto p-5`},jt={ref:`face`,class:`field-block mb-6`},Mt={class:`field-head`},Nt={class:`field-title font-bold`},Pt={ref:`voice`,class:`field-block mb-6`},Ft={class:`field-head`},It={class:`field-title font-bold`},Lt={class:`field-row`},Rt={class:`field-head`},zt={class:`field-title font-bold`},Bt={class:`flex flex-col items-center justify-center px-5 pb-5`},Vt={key:0,class:`hint-missing`},Ht={class:`hint-eta`};function Ut(t,n,c,d,f,h){let _=u(`meta-tag`),v=u(`info-icon`),y=u(`el-radio-button`),b=u(`el-radio-group`),x=u(`media-input`),S=u(`prompt-textarea`),C=u(`timbre-selector`),w=u(`el-input-number`),T=u(`el-collapse-item`),E=u(`el-collapse`),D=u(`warning-icon`),O=u(`scenario-payment-mode`),k=u(`service-pricing-summary`),A=u(`magic-icon`),j=u(`el-button`);return g(),s(`div`,kt,[e(`div`,At,[e(`section`,jt,[e(`div`,Mt,[e(`h2`,Nt,i(t.$t(`digitalhuman.name.step1`)),1),t.isMissing(`face`)?(g(),p(_,{key:0,class:`required-badge`,density:`compact`,tone:`warning`},{default:m(()=>[r(i(t.$t(`digitalhuman.name.required`)),1)]),_:1})):o(``,!0),a(v,{content:t.$t(`digitalhuman.description.step1`),class:`ml-1`},null,8,[`content`])]),a(b,{modelValue:t.faceMode,"onUpdate:modelValue":n[0]||=e=>t.faceMode=e,class:`mode-switch mb-3`,onChange:t.onFaceModeChange},{default:m(()=>[a(y,{value:`video`},{default:m(()=>[r(i(t.$t(`digitalhuman.name.faceModeVideo`)),1)]),_:1}),a(y,{value:`photo`},{default:m(()=>[r(i(t.$t(`digitalhuman.name.faceModePhoto`)),1)]),_:1})]),_:1},8,[`modelValue`,`onChange`]),t.faceMode===`video`?(g(),p(x,{key:0,kind:`video`,accept:t.DIGITALHUMAN_VIDEO_ACCEPT,"button-text":t.$t(`digitalhuman.button.uploadFaceVideo`),hint:t.$t(`digitalhuman.message.faceVideoHint`),onChange:t.onFaceVideoChange},null,8,[`accept`,`button-text`,`hint`,`onChange`])):(g(),p(x,{key:1,kind:`image`,accept:t.DIGITALHUMAN_IMAGE_ACCEPT,"button-text":t.$t(`digitalhuman.button.uploadFacePhoto`),hint:t.$t(`digitalhuman.message.facePhotoHint`),onChange:t.onFacePhotoChange},null,8,[`accept`,`button-text`,`hint`,`onChange`]))],512),e(`section`,Pt,[e(`div`,Ft,[e(`h2`,It,i(t.$t(`digitalhuman.name.step2`)),1),t.isMissing(`text`)||t.isMissing(`timbre`)||t.isMissing(`audio`)?(g(),p(_,{key:0,class:`required-badge`,density:`compact`,tone:`warning`},{default:m(()=>[r(i(t.$t(`digitalhuman.name.required`)),1)]),_:1})):o(``,!0),a(v,{content:t.$t(`digitalhuman.description.step2`),class:`ml-1`},null,8,[`content`])]),a(b,{modelValue:t.voiceMode,"onUpdate:modelValue":n[1]||=e=>t.voiceMode=e,class:`mode-switch mb-3`,onChange:t.onVoiceModeChange},{default:m(()=>[a(y,{value:`text`},{default:m(()=>[r(i(t.$t(`digitalhuman.name.voiceModeText`)),1)]),_:1}),a(y,{value:`audio`},{default:m(()=>[r(i(t.$t(`digitalhuman.name.voiceModeAudio`)),1)]),_:1})]),_:1},8,[`modelValue`,`onChange`]),t.voiceMode===`text`?(g(),s(l,{key:0},[a(S,{modelValue:t.text,"onUpdate:modelValue":n[2]||=e=>t.text=e,class:`mb-3`,title:t.$t(`digitalhuman.name.speech`),placeholder:t.$t(`digitalhuman.placeholder.speech`),"min-rows":5,"max-rows":14},null,8,[`modelValue`,`title`,`placeholder`]),a(C,{modelValue:t.voiceId,"onUpdate:modelValue":n[3]||=e=>t.voiceId=e},null,8,[`modelValue`])],64)):(g(),p(x,{key:1,kind:`audio`,accept:t.DIGITALHUMAN_AUDIO_ACCEPT,"button-text":t.$t(`digitalhuman.button.uploadSpeechAudio`),hint:t.$t(`digitalhuman.message.audioHint`),onChange:t.onAudioChange},null,8,[`accept`,`button-text`,`hint`,`onChange`]))],512),a(E,{modelValue:t.advancedOpen,"onUpdate:modelValue":n[5]||=e=>t.advancedOpen=e,class:`advanced`},{default:m(()=>[a(T,{name:`advanced`,title:t.$t(`digitalhuman.name.advanced`)},{default:m(()=>[e(`div`,Lt,[e(`div`,Rt,[e(`h2`,zt,i(t.$t(`digitalhuman.name.speed`)),1),a(v,{content:t.$t(`digitalhuman.description.speed`),class:`ml-1`},null,8,[`content`])]),a(w,{modelValue:t.speed,"onUpdate:modelValue":n[4]||=e=>t.speed=e,class:`field-control`,min:.5,max:2,step:.1,precision:1,"controls-position":`right`},null,8,[`modelValue`])])]),_:1},8,[`title`])]),_:1},8,[`modelValue`])]),e(`div`,Bt,[t.missing.length>0?(g(),s(`p`,Vt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.missing[0].message),1)])):o(``,!0),a(O,{scenario:`digitalhuman`}),t.walletMode?o(``,!0):(g(),p(k,{key:1,value:t.consumption,service:t.service},null,8,[`value`,`service`])),a(j,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:m(()=>[a(A,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`digitalhuman.button.generateVideo`)),1)]),_:1},8,[`onClick`]),e(`p`,Ht,i(t.$t(`digitalhuman.message.eta`)),1)])])}var Wt=z(Ot,[[`render`,Ut],[`__scopeId`,`data-v-a43f6be7`]]),Gt=[`.jpg`,`.jpeg`,`.png`,`.webp`,`.bmp`,`.gif`],Kt=v({name:`TaskPreview`,components:{ApiCodeButton:Be,AudioPreview:Y,ChannelIcon:ee,CopyToClipboard:Ne,DeleteIcon:F,ElAlert:C,ElButton:K,ElProgress:M,ElTooltip:S,FullscreenIcon:ie,ImagePreview:J,InfoIcon:P,MagicIcon:L,ReportButton:Pe,TimeIcon:N,VideoPlayer:Re,VideoPreview:X,WarningIcon:I},props:{modelValue:{type:Object,required:!0}},computed:{status(){return this.modelValue?.status||this.modelValue?.response?.state||`pending`},isSuccess(){return[`succeed`,`succeeded`].includes(this.status)||!!this.modelValue?.response?.video_url},isFailure(){return[`failed`,`dead`].includes(this.status)||this.modelValue?.response?.success===!1},isTerminal(){return this.isSuccess||this.isFailure},videoUrl(){return this.modelValue?.response?.video_url},progressPct(){let e=this.modelValue?.response?.progress;return typeof e==`number`?e:0},voiceLabel(){return this.modelValue?.request?.audio_url?this.$t(`digitalhuman.name.audioDriven`):this.$t(`digitalhuman.name.textDriven`)},faceUrl(){return this.modelValue?.request?.video_url||this.modelValue?.request?.image_url},isPhotoFace(){if(this.modelValue?.request?.image_url)return!0;let e=(this.faceUrl||``).split(`?`)[0].toLowerCase();return Gt.some(t=>e.endsWith(t))},audioUrl(){return this.modelValue?.request?.audio_url},outputSize(){let{width:e,height:t}=this.modelValue?.response||{};return e&&t?`${e}×${t}`:void 0},etaText(){let e=parseFloat((this.modelValue?.created_at||``).toString());if(!e)return;let t=fe-(Date.now()/1e3-e);return t<=60?this.$t(`digitalhuman.message.etaAlmostDone`):this.$t(`digitalhuman.message.etaRemaining`,{minutes:Math.ceil(t/60)})},statusLabel(){let e=`digitalhuman.status.${this.status}`,t=this.$t(e);return t===e?this.$t(`digitalhuman.status.processing`):t},failureReason(){let e=this.modelValue?.response?.error;if(e)return typeof e==`string`?e:e?.message}},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(`digitalhuman/deleteTask`,{id:e}),T.success(this.$t(`common.message.deleteTaskSuccess`))}catch{T.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),window.open(t,`_blank`)}}}),qt={class:`preview`},Jt={class:`left`},Yt={class:`main`},Xt={class:`bot`},Zt={class:`datetime`},Qt=[`aria-label`],$t={class:`info`},en={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},tn={class:`prompt mt-2`},nn={key:0},rn={key:0,class:`content`},an={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},on={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},sn={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},cn={key:1,class:`content`},ln={class:`operations mt-2`},un={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},fn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},hn={key:2,class:`content`},gn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_n={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},yn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function bn(n,c,l,d,f,h){let _=u(`capability-presentation`),v=u(`delete-icon`),y=u(`el-tooltip`),b=u(`image-preview`),x=u(`video-preview`),S=u(`audio-preview`),C=u(`time-icon`),w=u(`el-progress`),T=u(`magic-icon`),E=u(`copy-to-clipboard`),D=u(`el-alert`),O=u(`video-player`),k=u(`el-button`),A=u(`api-code-button`),j=u(`report-button`),M=u(`fullscreen-icon`),N=u(`channel-icon`),ee=u(`warning-icon`),P=u(`info-icon`);return g(),s(`div`,qt,[e(`div`,Jt,[a(_,{capability:`digitalhuman`,part:`avatar`,class:`avatar`})]),e(`div`,Yt,[e(`div`,Xt,[a(_,{capability:`digitalhuman`,part:`name`}),e(`span`,Zt,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: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(v,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Qt)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,$t,[n.faceUrl||n.audioUrl?(g(),s(`div`,en,[n.faceUrl&&n.isPhotoFace?(g(),p(b,{key:0,url:n.faceUrl,name:`face`,closable:!1},null,8,[`url`])):n.faceUrl?(g(),p(x,{key:1,url:n.faceUrl,name:`face`},null,8,[`url`])):o(``,!0),n.audioUrl?(g(),p(S,{key:2,url:n.audioUrl,name:`audio`},null,8,[`url`])):o(``,!0)])):o(``,!0),e(`p`,tn,[r(i(n.modelValue?.request?.text||n.voiceLabel)+` `,1),n.isTerminal?o(``,!0):(g(),s(`span`,nn,` - (`+i(n.statusLabel)+`) `,1))])]),n.isTerminal?o(``,!0):(g(),s(`div`,rn,[a(D,{closable:!1,class:`info-state`},{default:m(()=>[e(`p`,an,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.statusLabel),1)]),a(w,{percentage:n.progressPct,"stroke-width":6,class:`mb-2`},null,8,[`percentage`]),n.etaText?(g(),s(`p`,on,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.etaLabel`))+`: `+i(n.etaText),1)])):o(``,!0),e(`p`,sn,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])),n.isSuccess?(g(),s(`div`,cn,[n.videoUrl?(g(),p(O,{key:0,src:n.videoUrl},null,8,[`src`])):o(``,!0),e(`div`,ln,[n.videoUrl?(g(),p(k,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=e=>n.onDownload(e,n.videoUrl)},{default:m(()=>[r(i(n.$t(`digitalhuman.button.download`)),1)]),_:1})):o(``,!0),a(A,{path:`/digital-human/videos`,body:n.modelValue?.request},null,8,[`body`]),a(j,{service:`digitalhuman`,"target-id":n.modelValue?.id,snapshot:{text:n.modelValue?.request?.text}},null,8,[`target-id`,`snapshot`])]),a(D,{closable:!1,class:`mt-2 success`},{default:m(()=>[n.modelValue?.response?.duration?(g(),s(`p`,un,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.duration`))+`: `+i(n.modelValue?.response?.duration?.toFixed(1))+`s `,1)])):o(``,!0),n.outputSize?(g(),s(`p`,dn,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.outputSize`))+`: `+i(n.outputSize),1)])):o(``,!0),e(`p`,fn,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,pn,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,mn,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(E,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0),n.isFailure?(g(),s(`div`,hn,[a(D,{closable:!1,class:`failure`},{template:m(()=>[a(ee,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.failure`)),1)]),default:m(()=>[e(`p`,gn,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id},null,8,[`content`])]),n.failureReason?(g(),s(`p`,_n,[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.failureReason`))+`: `+i(n.failureReason)+` `,1),a(E,{content:n.failureReason},null,8,[`content`])])):o(``,!0),n.modelValue?.elapsed?(g(),s(`p`,vn,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,yn,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`digitalhuman.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(E,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0)])])}var xn=v({name:`RecentPanel`,components:{TaskPreview:z(Kt,[[`render`,bn],[`__scopeId`,`data-v-342f1d6d`]]),NoTasks:ae,BotPlaceholder:Ve,ScrollList:re},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.digitalhuman?.tasks,items:this.$store.state.digitalhuman?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Sn={key:0},Cn={key:2,class:`w-full h-full flex items-center justify-center`};function wn(e,t,n,r,i,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`,Sn,[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`,Cn,[a(v)])):o(``,!0)],64)}var Tn=v({name:`DigitalHumanIndex`,components:{ConfigPanel:Wt,Layout:Je,RecentPanel:z(xn,[[`render`,wn]])},mixins:[Ae,He(`digitalhuman`,!1)],inject:[`initialized`],data(){return{job:0,loadingMore:!1,fetchingTasks:!1,walletTaskIds:[]}},computed:{applicationsLoading(){return this.$store.state.digitalhuman?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.digitalhuman?.status?.getTasks===w.Request||this.fetchingTasks},credential(){return this.$store.state.digitalhuman.credential},config(){return this.$store.state.digitalhuman.config},tasks(){return this.$store.state.digitalhuman.tasks},walletMode(){return B()&&H(`digitalhuman`).mode===`wallet`}},watch:{walletMode:{async handler(e,t){if(!(t===void 0||e===t)){if(this.$store.commit(`digitalhuman/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()}}},initialized:{async handler(e){window.clearInterval(this.job),e&&(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 oe({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch(`digitalhuman/getService`)},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch(`digitalhuman/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r,...this.walletMode&&!this.credential?.token?{mode:`x402`,ids:this.walletTaskIds}:{}})}finally{this.fetchingTasks=!1}},async onGenerate(e){if(!we(this.uploadTracker,e=>this.$t(e),e=>T.warning(e)))return;let t;if(this.walletMode){let n=this.getWalletContext();if(!n){T.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}t=U.generate(e,{mode:`x402`,x402:{wallet:n,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}})}else{if(!Ee())return;let n=this.credential?.token;if(!n)return;t=U.generate(e,{token:n})}T.info(this.$t(`digitalhuman.message.startingTask`)),Ce(`digitalhuman`,t).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(`digitalhuman.message.startTaskSuccess`))}).catch(e=>{e instanceof G||xe(e,`digitalhuman`)||(this.walletMode?T.error(this.$t(`common.x402Scenario.paymentFailed`)):T.error(this.$t(`digitalhuman.message.startTaskFailed`)))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getWalletContext(){return W(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 En(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`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Dn=z(Tn,[[`render`,En]]);export{Dn as default};
@@ -1 +1 @@
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-Dxkn5fnG.js";import{t as x}from"./upload-ChEGBjQd.js";import{t as S}from"./tooltip-CsVgfK1f.js";import{t as C}from"./alert-BprQRUmf.js";import{_ as w,v as T}from"./vuex.esm-bundler-uM-kqbAF.js";import{n as E,r as D}from"./radio-BNhFzeBO.js";import{t as O}from"./drawer-CF4BsAtW.js";import{t as k}from"./switch-FNAnbKSR.js";import{t as A}from"./clock-B6Xmh354.js";import{t as j}from"./hash-BKpZIJo7.js";import{t as M}from"./info-CDs2D83H.js";import{a as N,i as ee,n as P,r as F,t as I}from"./pagination-BGnYVZvp.js";import{t as L}from"./trash-2-rtHpr3JN.js";import{t as R}from"./triangle-alert-D_wd4w3Z.js";import{t as te}from"./upload-DoPPJ2yy.js";import{t as z}from"./wand-sparkles-CReI7Ekg.js";import{Ii as ne}from"./constants-CVb0vrXj.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-C643U2rX.js";import{t as fe}from"./CopyToClipboard-Dc_53C_9.js";import{t as pe}from"./ReportButton-BCWM_eUv.js";import{t as me}from"./ImagePreview-QrO7VB3T.js";import{n as he}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ge}from"./ServicePricingSummary-BnnhtPm5.js";/* empty css */import{t as _e}from"./ScenarioPaymentMode-DUv_xCgb.js";import{t as ve}from"./ApiCodeButton-DBR9tGBM.js";import{t as ye}from"./BotPlaceholder-Cl_V5koZ.js";import{t as be}from"./taskPollingMixin-CcLxtz8z.js";import{n as xe,t as Se}from"./generationInput-jeoGp56s.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
+ 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-B6ZO1rLl.js";import{t as x}from"./upload-DvqAUM9o.js";import{t as S}from"./tooltip-BFMHj7yV.js";import{t as C}from"./alert-BprQRUmf.js";import{_ as w,v as T}from"./vuex.esm-bundler-Dh61cDbO.js";import{n as E,r as D}from"./radio-BNhFzeBO.js";import{t as O}from"./drawer-DVH0xZU_.js";import{t as k}from"./switch-Bdw4rC-y.js";import{t as A}from"./clock-CAf8wf9e.js";import{t as j}from"./hash-DqiIH4WA.js";import{t as M}from"./info-DzqnccKk.js";import{a as N,i as ee,n as P,r as F,t as I}from"./pagination-Ccy4p3jJ.js";import{t as L}from"./trash-2-DTIOXFAX.js";import{t as R}from"./triangle-alert-BPPxjzKW.js";import{t as te}from"./upload-B8RBApAO.js";import{t as z}from"./wand-sparkles-Be9RrbrT.js";import{Ii as ne}from"./constants-4TRM3yeb.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-DURbYpHp.js";import{t as fe}from"./CopyToClipboard-OD_-zDDD.js";import{t as pe}from"./ReportButton-CBoBD__d.js";import{t as me}from"./ImagePreview-iMMwS5bK.js";import{n as he}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ge}from"./ServicePricingSummary-mQ3kXYW6.js";/* empty css */import{t as _e}from"./ScenarioPaymentMode-B-onFjJH.js";import{t as ve}from"./ApiCodeButton-yY9sIC18.js";import{t as ye}from"./BotPlaceholder-DAC5flJl.js";import{t as be}from"./taskPollingMixin-CcLxtz8z.js";import{n as xe,t as Se}from"./generationInput-DnJFevpe.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};