@acedatacloud/nexior 3.330.7 → 3.330.9

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 (287) hide show
  1. package/dist/assets/{ApiCodeButton-DIXEBzGs.js → ApiCodeButton-m9CgZRja.js} +1 -1
  2. package/dist/assets/{Artifacts-DirXYxi2.js → Artifacts-b1mvIzTj.js} +1 -1
  3. package/dist/assets/{AskUserQuestionCard-BrmoW_CU.js → AskUserQuestionCard-CWc7mJna.js} +1 -1
  4. package/dist/assets/{AudioPreview-DOhYa86Z.js → AudioPreview-ByhxL36r.js} +1 -1
  5. package/dist/assets/{Auth-Cr3n7N-U.js → Auth-BvtOvZAe.js} +1 -1
  6. package/dist/assets/{Bare-kEhQ2CxC.js → Bare-B4amigK0.js} +1 -1
  7. package/dist/assets/{BotPlaceholder-D1PAhJfu.js → BotPlaceholder-c1cNbMr3.js} +1 -1
  8. package/dist/assets/{BottomFooter-Bj9sOQI7.js → BottomFooter-CNpBxuVA.js} +1 -1
  9. package/dist/assets/{Callback-DA_oqSwO.js → Callback-DmXAMcnu.js} +1 -1
  10. package/dist/assets/{CodeSnippet-BjrjruoT.js → CodeSnippet-D4wW1Hyx.js} +1 -1
  11. package/dist/assets/{Console-CbnlZqyN.js → Console-B0adb4lP.js} +1 -1
  12. package/dist/assets/{Consumption-C146g2pG.js → Consumption-BlwUHwce.js} +1 -1
  13. package/dist/assets/{Conversation-DDj-hl7p.js → Conversation-BrJiTzuI.js} +1 -1
  14. package/dist/assets/{Conversation-CT0s5lfj.js → Conversation-CrxoYLf3.js} +1 -1
  15. package/dist/assets/CopyToClipboard-CkXS44Md.js +1 -0
  16. package/dist/assets/Detail-CCHSOZsO.js +2 -0
  17. package/dist/assets/{Extra-D4txQ-j-.js → Extra-BbN511w6.js} +1 -1
  18. package/dist/assets/{FilePreview-BTVizU1K.js → FilePreview-C5HB6QTD.js} +1 -1
  19. package/dist/assets/{Hailuo-B89ik_QX.js → Hailuo-BOWbYkaB.js} +1 -1
  20. package/dist/assets/{History-Brn6ocdZ.js → History-DX89tbX9.js} +1 -1
  21. package/dist/assets/{ImagePreview-vDExFKx3.js → ImagePreview-CkB7m_mh.js} +1 -1
  22. package/dist/assets/{ImageWrapper-uvdYuFqD.js → ImageWrapper-BIgeTG-M.js} +1 -1
  23. package/dist/assets/{Index-CBF3on53.js → Index-2FUQsL_W.js} +1 -1
  24. package/dist/assets/{Index-UV038vyP.js → Index-83hGxEgs.js} +1 -1
  25. package/dist/assets/{Index-BTNXoHBt.js → Index-AVbHwy2B.js} +1 -1
  26. package/dist/assets/{Index-BAwzoFlY.js → Index-B5PqDb2Q.js} +1 -1
  27. package/dist/assets/{Index-DEQ0H-mV.js → Index-B6UVaRwd.js} +1 -1
  28. package/dist/assets/{Index-CnIjl-Zv.js → Index-BHNkZzTq.js} +1 -1
  29. package/dist/assets/Index-BJcc4rj_.js +1 -0
  30. package/dist/assets/{Index-CFZUD08l.js → Index-Ba1ARbtt.js} +1 -1
  31. package/dist/assets/{Index-CuNmwWDh.js → Index-Bf-eP6mv.js} +1 -1
  32. package/dist/assets/Index-BiWb2iqv.js +1 -0
  33. package/dist/assets/{Index-CIZZS1Qw.js → Index-Bnqx32lQ.js} +1 -1
  34. package/dist/assets/Index-BqUPTk5-.js +1 -0
  35. package/dist/assets/{Index-BKJiEzQp2.js → Index-Bvwo8Dpc2.js} +1 -1
  36. package/dist/assets/{Index-CJy5UVsk.js → Index-Bx5iwvms.js} +1 -1
  37. package/dist/assets/{Index-Cy7tVOi7.js → Index-C-z6k8de.js} +1 -1
  38. package/dist/assets/{Index-rSTlXezW2.js → Index-CGJW6nkd2.js} +1 -1
  39. package/dist/assets/Index-CKyYi4I42.js +1 -0
  40. package/dist/assets/Index-COH2u_8f.css +1 -0
  41. package/dist/assets/Index-CWp40RE1.js +1 -0
  42. package/dist/assets/Index-Cg1RH1m0.js +1 -0
  43. package/dist/assets/{Index-DefNEucu.js → Index-CtZxhcER.js} +1 -1
  44. package/dist/assets/Index-Cvmp02No2.js +1 -0
  45. package/dist/assets/{Index-CP0UkCoH.js → Index-DAyYU5uc.js} +1 -1
  46. package/dist/assets/Index-DWtJQNBK.js +1 -0
  47. package/dist/assets/{Index-DseoAZYB2.js → Index-Dkpt4I1k2.js} +1 -1
  48. package/dist/assets/{Index-Cr3LnUd-2.js → Index-DovZMhsH2.js} +2 -2
  49. package/dist/assets/{Index-mGnJ6bmm2.js → Index-Dw5wNUaz2.js} +1 -1
  50. package/dist/assets/{Index-DV3Q_FPI.js → Index-DxYpM3r9.js} +1 -1
  51. package/dist/assets/{Index-BZnBZOi8.js → Index-E6Ph8SkK.js} +1 -1
  52. package/dist/assets/Index-EOlFmMPn.js +1 -0
  53. package/dist/assets/Index-R-fzOPB8.js +1 -0
  54. package/dist/assets/{Invitees-DPoj5KXz.js → Invitees-BwZDYVa2.js} +1 -1
  55. package/dist/assets/{List-B6QETA-r.js → List-CDA_E1Oq.js} +1 -1
  56. package/dist/assets/List-CSuXcq0N.js +1 -0
  57. package/dist/assets/{List-ISDASBYS.js → List-rLhI-6-o.js} +1 -1
  58. package/dist/assets/{LocalTools-CWwSGQuB.js → LocalTools-C1CgwcZ_.js} +1 -1
  59. package/dist/assets/{LocalTools-UFyoSfF_.js → LocalTools-C931KULM.js} +1 -1
  60. package/dist/assets/{Main-C0tLTUg8.js → Main-BGumoyz-.js} +1 -1
  61. package/dist/assets/{Message-6AA25IFV.js → Message-C-bcV1zk.js} +2 -2
  62. package/dist/assets/{Model-ByrKNtxt.css → Model-DA5Wo_wI.css} +1 -1
  63. package/dist/assets/Model-aAWPPCTq.js +1 -0
  64. package/dist/assets/{Navigator-DoCufJsl.js → Navigator-CYwaAGh0.js} +3 -3
  65. package/dist/assets/{NotFound-DEqlYLn5.js → NotFound-dotOX5_Q.js} +1 -1
  66. package/dist/assets/Pay-DF14M1iC.js +1 -0
  67. package/dist/assets/{Player-ktYT3QrZ.js → Player-BSq4cWx5.js} +1 -1
  68. package/dist/assets/{Poivelle-CoIZDp0j2.js → Poivelle-BkO9X29a.js} +1 -1
  69. package/dist/assets/{PromptTextarea-n5fFeDCP.js → PromptTextarea-SlwbqpPN.js} +1 -1
  70. package/dist/assets/{RealtimeCall-CRP6bWMq.js → RealtimeCall-C0zs3mPS.js} +1 -1
  71. package/dist/assets/{ScheduledTasks-DHoPxm7t.js → ScheduledTasks-9VeFbfN5.js} +1 -1
  72. package/dist/assets/{Status-CTzS-Ppr.js → Status-DLJOOlyv.js} +1 -1
  73. package/dist/assets/{Subscribe-Dyn9epzG.js → Subscribe-CcBpmgSm.js} +1 -1
  74. package/dist/assets/{TabSwitcher-dWf-9vkp.js → TabSwitcher-ChCyKGmJ.js} +1 -1
  75. package/dist/assets/{Tts-BBPiqb2L.js → Tts-GSLR98-9.js} +1 -1
  76. package/dist/assets/{VideoPlayer-DzPp3pSc.js → VideoPlayer-LQjA3Xp9.js} +1 -1
  77. package/dist/assets/{alert-BWDrxIRb.js → alert-DDomaAor.js} +1 -1
  78. package/dist/assets/arrow-down-DNaufvwO.js +1 -0
  79. package/dist/assets/{arrow-down-wide-narrow-DGM6S0zL.js → arrow-down-wide-narrow-BXRJRFvD.js} +1 -1
  80. package/dist/assets/arrow-left-B-8iA8wZ.js +1 -0
  81. package/dist/assets/arrow-right-D2zeWlB4.js +1 -0
  82. package/dist/assets/arrow-up-D-ZWAKKl.js +1 -0
  83. package/dist/assets/{avatar-CAtVB44a.js → avatar-BnpvOXBB.js} +1 -1
  84. package/dist/assets/{basic-DRPLMYX9.js → basic-BcSRbOqH.js} +1 -1
  85. package/dist/assets/{box-BmF53FhI.js → box-DQH9ZwMN.js} +1 -1
  86. package/dist/assets/{boxes-DQPZGbXV.js → boxes-Dlrv15CU.js} +1 -1
  87. package/dist/assets/{brain-CUHQeFKH.js → brain-mfEL4i6v.js} +1 -1
  88. package/dist/assets/{chart-no-axes-combined-BaHR9ryg.js → chart-no-axes-combined-CPExWQbA.js} +1 -1
  89. package/dist/assets/{chat-B1tyuIbC.js → chat-BKB7V3To.js} +1 -1
  90. package/dist/assets/check-H4hrhXzi.js +1 -0
  91. package/dist/assets/chevron-down-BkvFp-m4.js +1 -0
  92. package/dist/assets/chevron-right-CL3rv5CF.js +1 -0
  93. package/dist/assets/circle-check-BsxME_La.js +1 -0
  94. package/dist/assets/clock-B2aR5D-m.js +1 -0
  95. package/dist/assets/{codingBridge-BrQ7PpFx.js → codingBridge-8gnok1fk.js} +1 -1
  96. package/dist/assets/{codingBridgeNotify-oXu4uNEs.js → codingBridgeNotify-CgKiBqhC.js} +2 -2
  97. package/dist/assets/{coins-DWzU0U0A.js → coins-BGpnmxMg.js} +1 -1
  98. package/dist/assets/{collapse-dZqdDEQh.js → collapse-DdvUSajs.js} +1 -1
  99. package/dist/assets/{constants-OjwdsvEy.js → constants-P5wTiWzI.js} +1 -1
  100. package/dist/assets/copy-kbq6MzCp.js +1 -0
  101. package/dist/assets/{createTaskActions-D7PO9n8o.js → createTaskActions-BiMN-UBT.js} +1 -1
  102. package/dist/assets/{digitalhuman-yNPsz7H0.js → digitalhuman-Bns9fv_9.js} +1 -1
  103. package/dist/assets/{dollar-sign-CvQ478yv.js → dollar-sign-kpG1Pwih.js} +1 -1
  104. package/dist/assets/{download-jJCK0jRJ.js → download-DKwe5970.js} +1 -1
  105. package/dist/assets/{drawer-5KVW_fvf.js → drawer-D3Ieb275.js} +1 -1
  106. package/dist/assets/{dropdown-Ddqg4G6P.js → dropdown-BRcZ6yJ0.js} +1 -1
  107. package/dist/assets/{dropdown-B9qdBSwH.js → dropdown-D8A3-Bs9.js} +1 -1
  108. package/dist/assets/{ellipsis-CZ0D-kGF.js → ellipsis-DF7-Qd4J.js} +1 -1
  109. package/dist/assets/{esm-BYiOfxFU.js → esm-78prJscw.js} +2 -2
  110. package/dist/assets/{esm-DA-VRU6I.js → esm-BA25ll2n.js} +1 -1
  111. package/dist/assets/{esm-CQsDjYV8.js → esm-BG5jXeVW.js} +1 -1
  112. package/dist/assets/{esm-BxrLbBeD.js → esm-CBsPmIQ1.js} +1 -1
  113. package/dist/assets/esm-D-1QbIxF.js +1 -0
  114. package/dist/assets/{esm-DyApnlum.js → esm-DTAUdfO_.js} +2 -2
  115. package/dist/assets/{esm-gChAj3qI.js → esm-DXg0huI1.js} +3 -3
  116. package/dist/assets/{external-link-3tgvHJmo.js → external-link-D4yEFKxi.js} +1 -1
  117. package/dist/assets/{eye-DAcAn31C.js → eye-gDH_xx9O.js} +1 -1
  118. package/dist/assets/{file-output-DCK7ppti.js → file-output-BIgEHuKl.js} +1 -1
  119. package/dist/assets/{file-text-Dk2p26ZV.js → file-text-DANeqGNd.js} +1 -1
  120. package/dist/assets/{fish-DsNA82b-.js → fish-CUC1T54V.js} +1 -1
  121. package/dist/assets/{flux-BVyqgmU4.js → flux-BQ1ypo_U.js} +1 -1
  122. package/dist/assets/{folder-Cy8PCRjN.js → folder-DDOJQuSc.js} +1 -1
  123. package/dist/assets/gauge-BzYDsP_L.js +1 -0
  124. package/dist/assets/{globe-6Zn_LkzK.js → globe-BpbqhsJS.js} +1 -1
  125. package/dist/assets/{grokvideo-Df_mE0jG.js → grokvideo-BRqJwKcv.js} +1 -1
  126. package/dist/assets/{hailuo-CT6pCAPW.js → hailuo-BeXmxhzr.js} +1 -1
  127. package/dist/assets/{headphones-W-CrviRo.js → headphones-_u-yo_Fu.js} +1 -1
  128. package/dist/assets/{history-s2ZnmrXW.js → history--yhLvc2u.js} +1 -1
  129. package/dist/assets/{i18n-DRZmeOLk.js → i18n-m-rMtkos.js} +1 -1
  130. package/dist/assets/{image-KD9eHRQK.js → image-ti3oDtsv.js} +1 -1
  131. package/dist/assets/{index-BS1k95ol.js → index-DN3R8m7E.js} +5 -5
  132. package/dist/assets/{index.browser.esm-CtJvb4-i.js → index.browser.esm-D3lNZib9.js} +1 -1
  133. package/dist/assets/{index.es-CFkdKlla.js → index.es-WSKeFAmG.js} +1 -1
  134. package/dist/assets/{info-YGlWHYFu.js → info-Bx0W99ua.js} +1 -1
  135. package/dist/assets/{input-number-Dn3BdUuj.js → input-number-BNYhheHb.js} +1 -1
  136. package/dist/assets/{key-round-DatP-w8V.js → key-round-l4h83Hai.js} +1 -1
  137. package/dist/assets/{kling-BjY4Kh1M.js → kling-mcd_szjd.js} +1 -1
  138. package/dist/assets/{languages-aVg1Op65.js → languages-BzCnELaD.js} +1 -1
  139. package/dist/assets/{laptop-h2pO-DgV.js → laptop-BSIVtN3V.js} +1 -1
  140. package/dist/assets/{lightbulb-C2sc8MsP.js → lightbulb-CtyM4o9R.js} +1 -1
  141. package/dist/assets/{link-CfZAoHEC.js → link-B0EjI27n.js} +1 -1
  142. package/dist/assets/loader-circle-zBaix28P.js +1 -0
  143. package/dist/assets/{luma-lMaaUo_M.js → luma-BOVQ3G3c.js} +1 -1
  144. package/dist/assets/{maestro-BSZ85fa3.js → maestro-B9Mi5bhU.js} +1 -1
  145. package/dist/assets/{maestro-BPd2T6Di.js → maestro-C4KUqcGJ.js} +1 -1
  146. package/dist/assets/{mail-Dy0wM5Ua.js → mail-5ahYVd70.js} +1 -1
  147. package/dist/assets/{message-circle-CkXHdm1x.js → message-circle-DFzmEdUF.js} +1 -1
  148. package/dist/assets/{mic-BtHlNAKk.js → mic-CAis9Yx9.js} +1 -1
  149. package/dist/assets/{midjourney-DmInScju.js → midjourney-Bo1VcySN.js} +1 -1
  150. package/dist/assets/{mobileLocalExec-CpkWQYEn.js → mobileLocalExec-CnN7lTnl.js} +2 -2
  151. package/dist/assets/{mouse-pointer-2-Baco6Uie.js → mouse-pointer-2-CeLJ2sII.js} +1 -1
  152. package/dist/assets/music-2-BP_3MsIr.js +1 -0
  153. package/dist/assets/{nanobanana-DhII2QQa.js → nanobanana-DHB2FSIw.js} +1 -1
  154. package/dist/assets/{omni-D1-bNnWe.js → omni-CLxouFCN.js} +1 -1
  155. package/dist/assets/{openaiimage-B9Pyizp0.js → openaiimage-CaPUH9Aq.js} +1 -1
  156. package/dist/assets/{pagination-D1GgrADA.js → pagination-C1jD7-j5.js} +1 -1
  157. package/dist/assets/{pagination-Ce0ipXTe.js → pagination-C4WgQYO7.js} +1 -1
  158. package/dist/assets/{palette-b7OoG_FT.js → palette-BtbLIsCu.js} +1 -1
  159. package/dist/assets/{paperclip-CGik_2JE.js → paperclip-B2sf3oRH.js} +1 -1
  160. package/dist/assets/{pause-CUtmpYN7.js → pause-DlR5Figp.js} +1 -1
  161. package/dist/assets/{pencil-X8BphKSe.js → pencil-NcAFAL58.js} +1 -1
  162. package/dist/assets/{pika-_wHwf9jy.js → pika-IYuco3PV.js} +1 -1
  163. package/dist/assets/{pixverse-CjEPnKUL.js → pixverse-lNgK-RD0.js} +1 -1
  164. package/dist/assets/play-BiSrmze1.js +1 -0
  165. package/dist/assets/plus-DOl_NN3y.js +1 -0
  166. package/dist/assets/{poivelle-BmpvMSNE.js → poivelle-B-4nGG9X.js} +1 -1
  167. package/dist/assets/{poivelle-CE9TcLtQ.js → poivelle-B2wv8kv8.js} +1 -1
  168. package/dist/assets/{poivelle-BKMcFowD.js → poivelle-BU9sXd3Z.js} +1 -1
  169. package/dist/assets/{poivelle-AoUrSPl3.js → poivelle-B_QSOwfv.js} +1 -1
  170. package/dist/assets/poivelle-BhKHXlXh.js +1 -0
  171. package/dist/assets/poivelle-CVJFwmq5.js +1 -0
  172. package/dist/assets/poivelle-CiKxLOuT.js +1 -0
  173. package/dist/assets/poivelle-Cr6f1XNM.js +1 -0
  174. package/dist/assets/poivelle-Cu8yRgEl.js +1 -0
  175. package/dist/assets/poivelle-CyNOYDy-.js +1 -0
  176. package/dist/assets/poivelle-DDxnUoCb.js +1 -0
  177. package/dist/assets/poivelle-DFAUqjxK.js +1 -0
  178. package/dist/assets/poivelle-DHNobTmI.js +1 -0
  179. package/dist/assets/poivelle-DRT_oBTG.js +1 -0
  180. package/dist/assets/poivelle-DWpiT4AP.js +1 -0
  181. package/dist/assets/poivelle-JFwjJcOn.js +1 -0
  182. package/dist/assets/poivelle-PPNh0mDW.js +1 -0
  183. package/dist/assets/poivelle-pe1Nl83L.js +1 -0
  184. package/dist/assets/poivelle-u9RX9UkY.js +1 -0
  185. package/dist/assets/{popover-BFmiQ3k4.js → popover-B1gUaY9n.js} +1 -1
  186. package/dist/assets/{producer-S3nA1XUH.js → producer-6yrVgeOd.js} +1 -1
  187. package/dist/assets/{qrart-DQiay6fm.js → qrart-BIGvuu8X.js} +1 -1
  188. package/dist/assets/{realtime-CpV2gFo7.js → realtime-CkswHtBL.js} +1 -1
  189. package/dist/assets/{refresh-cw-B_HO_0ij.js → refresh-cw-BluoyT42.js} +1 -1
  190. package/dist/assets/rotate-ccw-BRcTnoAa.js +1 -0
  191. package/dist/assets/rotate-cw-sLGyQULY.js +1 -0
  192. package/dist/assets/{row-DccUl_sg.js → row-CLhyg4nI.js} +1 -1
  193. package/dist/assets/search-j0x-njM7.js +1 -0
  194. package/dist/assets/{seedance-CYyaVGq9.js → seedance-D11u8gDU.js} +1 -1
  195. package/dist/assets/{seedream-PFEKdDkZ.js → seedream-6j7_E5vu.js} +1 -1
  196. package/dist/assets/{select-DmAsSwJf.js → select-DW3H8Cyb.js} +1 -1
  197. package/dist/assets/{serp-Dud210LU.js → serp-BV2MWcgG.js} +1 -1
  198. package/dist/assets/{shield-37B0o6X8.js → shield-CUnjzc05.js} +1 -1
  199. package/dist/assets/{shuffle-CJh3QSLl.js → shuffle-DYBASPpa.js} +1 -1
  200. package/dist/assets/{slider-LRhTSbeT.js → slider-D25-e_qO.js} +1 -1
  201. package/dist/assets/{sliders-horizontal-BbSjksdU.js → sliders-horizontal-B0_n8LUb.js} +1 -1
  202. package/dist/assets/{solana-wallets-DvaY4bti.js → solana-wallets-BuMycLu_.js} +2 -2
  203. package/dist/assets/{solana-wallets-vue-DywwG4uk.js → solana-wallets-vue-Bz5QmmDJ.js} +1 -1
  204. package/dist/assets/{sora-C--BQlhg.js → sora-B5x17P2m.js} +1 -1
  205. package/dist/assets/{sparkles-BFqdzb6l.js → sparkles-DvfrOl7a.js} +1 -1
  206. package/dist/assets/square-CWbmcxRf.js +1 -0
  207. package/dist/assets/{suno-mB5Jgtdc.js → suno-D9haRZ-a.js} +1 -1
  208. package/dist/assets/{switch-Dwgc_IC5.js → switch-soiMVhrL.js} +1 -1
  209. package/dist/assets/{table-oYRFyit9.js → table-BAccHGob.js} +1 -1
  210. package/dist/assets/{tabs-Ch8CKzaA.js → tabs-DCuVAETd.js} +1 -1
  211. package/dist/assets/{tag-DFXJIxao.js → tag-PH6eXs6V.js} +1 -1
  212. package/dist/assets/{taskDrawerMixin-BL5Lp5JU.js → taskDrawerMixin-CFzLna7k.js} +1 -1
  213. package/dist/assets/terminal-D8no06P_.js +1 -0
  214. package/dist/assets/{time-picker-I0J3kqX5.js → time-picker-DCxtYEIZ.js} +1 -1
  215. package/dist/assets/{tooltip-Bq0H_aQm.js → tooltip-Cp5x5YK-.js} +1 -1
  216. package/dist/assets/{trash-2-DW0QDnkJ.js → trash-2-Calt7aGA.js} +1 -1
  217. package/dist/assets/{triangle-alert-BixkYn-s.js → triangle-alert-Bm11tXxr.js} +1 -1
  218. package/dist/assets/{upload-DcLOBPB7.js → upload-Bd3dUhzA.js} +1 -1
  219. package/dist/assets/{upload-NuNALB22.js → upload-zeb95gHP.js} +1 -1
  220. package/dist/assets/user-DFOv3q8g.js +1 -0
  221. package/dist/assets/{veo-3ezE2QE9.js → veo-CcrR_tKa.js} +1 -1
  222. package/dist/assets/{video-BJkuSzaE.js → video-BRA4fel-.js} +1 -1
  223. package/dist/assets/{volume-2-CTbSEFCx.js → volume-2-BTaDncDI.js} +1 -1
  224. package/dist/assets/{wallet-BZh5Vih3.js → wallet-B-VpKB_2.js} +1 -1
  225. package/dist/assets/{wan-sgb33f6M.js → wan-CsBibQR2.js} +1 -1
  226. package/dist/assets/{wand-sparkles-Cv4Ptiq-.js → wand-sparkles-Bfkh-7H0.js} +1 -1
  227. package/dist/assets/{web-CuVfSgkp.js → web-BbQ7s02E.js} +1 -1
  228. package/dist/assets/{web-Cfu4N0UZ.js → web-Bj2ovSaw.js} +1 -1
  229. package/dist/assets/{web-ClgBfgxj.js → web-CG1zzaWW.js} +1 -1
  230. package/dist/assets/{web-DX7c2xEg.js → web-DAYHwJx6.js} +1 -1
  231. package/dist/assets/{web-dyvgbbW1.js → web-es_ULX6B.js} +1 -1
  232. package/dist/assets/{webextrator-C7lVVTZe.js → webextrator-DDYHcefR.js} +1 -1
  233. package/dist/assets/{zap-DRfjqbrJ.js → zap-C4aYn_F0.js} +1 -1
  234. package/dist/index.html +3 -3
  235. package/package.json +1 -1
  236. package/dist/assets/CopyToClipboard-iDVaseXr.js +0 -1
  237. package/dist/assets/Detail-DzBkBYq_.js +0 -2
  238. package/dist/assets/Index-2tKt-g9o.js +0 -1
  239. package/dist/assets/Index-3_SB0Fci.js +0 -1
  240. package/dist/assets/Index-B40M6S69.js +0 -1
  241. package/dist/assets/Index-BO_VUVpE.js +0 -1
  242. package/dist/assets/Index-Bh2W8Xrp.js +0 -1
  243. package/dist/assets/Index-BluCeHJ02.js +0 -1
  244. package/dist/assets/Index-CYZfLD78.js +0 -1
  245. package/dist/assets/Index-CqGu-h9j.css +0 -1
  246. package/dist/assets/Index-Ctq5ISJW.js +0 -1
  247. package/dist/assets/Index-DiHrn55M2.js +0 -1
  248. package/dist/assets/Index-dt4IHSQQ.js +0 -1
  249. package/dist/assets/List-CIa_Lrhl.js +0 -1
  250. package/dist/assets/Model-BzOoTCII.js +0 -1
  251. package/dist/assets/Pay-USGHh7oL.js +0 -1
  252. package/dist/assets/arrow-down-tb0Mezv3.js +0 -1
  253. package/dist/assets/arrow-left-DPbQbqsy.js +0 -1
  254. package/dist/assets/arrow-right-D48eXuJN.js +0 -1
  255. package/dist/assets/arrow-up-DHcNDHPI.js +0 -1
  256. package/dist/assets/check-DhGcRJTH.js +0 -1
  257. package/dist/assets/chevron-down-jcf6lFV5.js +0 -1
  258. package/dist/assets/chevron-right-Dd9V4M2y.js +0 -1
  259. package/dist/assets/circle-check-BfaOJkOq.js +0 -1
  260. package/dist/assets/clock-DtKORAbi.js +0 -1
  261. package/dist/assets/esm-BXHTAX0g.js +0 -1
  262. package/dist/assets/gauge-ot8THhaL.js +0 -1
  263. package/dist/assets/loader-circle-vQnkm53D.js +0 -1
  264. package/dist/assets/music-2-FSRa_9iX.js +0 -1
  265. package/dist/assets/play-D4E_cXq9.js +0 -1
  266. package/dist/assets/plus-CLVbnDjj.js +0 -1
  267. package/dist/assets/poivelle-BhlZnJUI.js +0 -1
  268. package/dist/assets/poivelle-CUJ9z2Rk.js +0 -1
  269. package/dist/assets/poivelle-Cj4WFLcu.js +0 -1
  270. package/dist/assets/poivelle-CvBDibtG.js +0 -1
  271. package/dist/assets/poivelle-CvubMnux.js +0 -1
  272. package/dist/assets/poivelle-DQUkCylV.js +0 -1
  273. package/dist/assets/poivelle-DREcEIlN.js +0 -1
  274. package/dist/assets/poivelle-DSrOWn2t.js +0 -1
  275. package/dist/assets/poivelle-DXcPkB53.js +0 -1
  276. package/dist/assets/poivelle-DprcinPU.js +0 -1
  277. package/dist/assets/poivelle-DpsH0NNJ.js +0 -1
  278. package/dist/assets/poivelle-JICDF0TK.js +0 -1
  279. package/dist/assets/poivelle-TeRada3R.js +0 -1
  280. package/dist/assets/poivelle-Zey-Jm76.js +0 -1
  281. package/dist/assets/poivelle-p-5gNwah.js +0 -1
  282. package/dist/assets/rotate-ccw-C3uN_xbZ.js +0 -1
  283. package/dist/assets/rotate-cw-tPHm28V7.js +0 -1
  284. package/dist/assets/search-DiGQLwSP.js +0 -1
  285. package/dist/assets/square-Dil1Q3RS.js +0 -1
  286. package/dist/assets/terminal-C4QqvyKN.js +0 -1
  287. package/dist/assets/user-Bp5qPj8b.js +0 -1
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,I as t,Jt as n,L as r,M as i,N as a,T as o,at as s,ht as c,it as l,j as u,mt as d,rt as f,tt as p,x as m,z as h}from"./vendor-chart-Dw-P17PN.js";import{r as g,t as _}from"./select-DmAsSwJf.js";import{t as v}from"./upload-NuNALB22.js";import{t as y}from"./alert-BWDrxIRb.js";import{n as b,r as x}from"./radio-DgDgyT2l.js";import{t as S}from"./drawer-5KVW_fvf.js";import{t as C}from"./progress-bSUZvkfj.js";import{n as w}from"./taskDrawerMixin-BL5Lp5JU.js";import{t as T}from"./check-DhGcRJTH.js";import{t as E}from"./clock-DtKORAbi.js";import{t as D}from"./CopyToClipboard-iDVaseXr.js";import{t as O}from"./image-KD9eHRQK.js";import{t as k}from"./info-YGlWHYFu.js";import{t as A}from"./mic-BtHlNAKk.js";import{t as j}from"./music-2-FSRa_9iX.js";import{t as ee}from"./sliders-horizontal-BbSjksdU.js";import{t as M}from"./triangle-alert-BixkYn-s.js";import{t as N}from"./upload-DcLOBPB7.js";import{t as P}from"./user-Bp5qPj8b.js";import{t as F}from"./video-BJkuSzaE.js";import{t as I}from"./wand-sparkles-Cv4Ptiq-.js";import{Cr as te,_r as L,br as ne,gr as R,hr as z,mr as B}from"./constants-OjwdsvEy.js";import{E as V,Gt as H,Mi as U,Rn as W,Vi as G,ai as K,en as q,gr as J,ni as Y,vi as X}from"./index-BS1k95ol.js";import{t as Z}from"./Consumption-C146g2pG.js";import{a as re,n as ie,r as ae,t as oe}from"./pagination-Ce0ipXTe.js";import{t as se}from"./VideoPlayer-DzPp3pSc.js";import{t as ce}from"./ApiCodeButton-DIXEBzGs.js";import{t as le}from"./BotPlaceholder-D1PAhJfu.js";var ue=h({name:`LayoutDigitalHuman`,components:{UserIcon:P,ElDrawer:S,ElButton:U},mixins:[w]}),de={class:`main flex flex-row flex-1`},fe={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)]`},pe={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function me(t,n,i,o,u,f){let h=s(`user-icon`),g=s(`el-button`),_=s(`el-drawer`);return p(),a(`div`,de,[e(`div`,fe,[l(t.$slots,`config`,{},void 0,!0)]),e(`div`,pe,[l(t.$slots,`result`,{},void 0,!0)]),c(r(g,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:d(()=>[r(h,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[m,!t.tasksEmpty]]),r(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`generator-drawer`},{default:d(()=>[l(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var he=V(ue,[[`render`,me],[`__scopeId`,`data-v-e912fd04`]]),ge=h({name:`DigitalHumanFileInput`,components:{ElUpload:v,ElButton:U,ImageIcon:O,MicrophoneIcon:A,MusicIcon:j,UploadIcon:N,VideoIcon:F},props:{accept:{type:String,default:``},buttonText:{type:String,default:``},icon:{type:String,default:`upload`}},emits:[`change`],data(){return{fileList:[],uploadUrl:K()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}}},methods:{onExceed(e){let t=this.$refs.uploader;t?.clearFiles();let n=e[0];n&&(t?.handleStart?.(n),t?.submit?.())},onError(){X.error(this.$t(`digitalhuman.message.uploadError`))},onChange(){let e=this.fileList?.[0]?.response?.file_url;this.$emit(`change`,e)}}});function _e(e,i,o,c,l,f){let m=s(`video-icon`),h=s(`image-icon`),g=s(`microphone-icon`),_=s(`music-icon`),v=s(`upload-icon`),y=s(`el-button`),b=s(`el-upload`);return p(),a(`div`,null,[r(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":i[0]||=t=>e.fileList=t,accept:e.accept,name:`file`,class:`w-full`,limit:1,action:e.uploadUrl,headers:e.headers,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onChange,"on-remove":e.onChange},{default:d(()=>[r(y,{size:`small`,round:``},{default:d(()=>[e.icon===`video`?(p(),u(m,{key:0,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})):e.icon===`image`?(p(),u(h,{key:1,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})):e.icon===`microphone`?(p(),u(g,{key:2,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})):e.icon===`music`?(p(),u(_,{key:3,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})):(p(),u(v,{key:4,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),t(` `+n(e.buttonText),1)]),_:1})]),_:1},8,[`file-list`,`accept`,`action`,`headers`,`on-exceed`,`on-error`,`on-success`,`on-remove`])])}var Q=V(ge,[[`render`,_e]]),ve=3e3,ye=60,be=h({name:`VoiceClone`,components:{ConfirmIcon:T,MagicIcon:I,ElButton:U,ElSelect:g,ElOption:_,ElAlert:y,FileInput:Q},data(){return{sampleUrl:void 0,lang:`zh`,cloning:!1,destroyed:!1,runId:0,DIGITALHUMAN_ALLOWED_LANGS:z,DIGITALHUMAN_AUDIO_ACCEPT:L}},computed:{credentialToken(){return this.$store.state.digitalhuman?.credential?.token},voiceId(){return this.$store.state.digitalhuman?.config?.voice_id}},watch:{lang(){this.invalidate()}},beforeUnmount(){this.destroyed=!0,this.runId++},methods:{onSampleChange(e){this.sampleUrl=e,this.invalidate()},invalidate(){this.runId++,this.cloning=!1,this.voiceId&&this.setVoiceId(void 0)},isStale(e){return this.destroyed||e!==this.runId},setVoiceId(e){this.$store.commit(`digitalhuman/setConfig`,{...this.$store.state.digitalhuman?.config,voice_id:e})},sleep(e){return new Promise(t=>setTimeout(t,e))},async onClone(){let e=this.credentialToken;if(!this.sampleUrl||!e)return;let t=++this.runId;this.cloning=!0,this.setVoiceId(void 0);try{let{data:n}=await W.cloneVoice({audio_url:this.sampleUrl,lang:this.lang},{token: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,e,t);else throw Error(`no task`)}catch{this.isStale(t)||X.error(this.$t(`digitalhuman.message.voiceCloneFailed`))}finally{this.isStale(t)||(this.cloning=!1)}},async pollVoice(e,t,n){for(let r=0;r<ye;r++){if(this.isStale(n)||(await this.sleep(ve),this.isStale(n)))return;let{data:r}=await W.pollTask(e,{token:t});if(this.isStale(n))return;if(r?.voice_id){this.onCloned(r.voice_id);return}if(r?.state===`failed`)throw Error(`clone failed`)}throw Error(`timeout`)},onCloned(e){this.setVoiceId(e),X.success(this.$t(`digitalhuman.message.voiceCloneSuccess`))}}}),xe={class:`voice-clone`},Se={class:`text-xs text-[var(--el-text-color-secondary)] mb-2`},Ce={class:`flex flex-row items-center gap-2 mb-2`},we={class:`text-xs mb-0`};function Te(c,l,m,h,g,_){let v=s(`file-input`),y=s(`el-option`),b=s(`el-select`),x=s(`magic-icon`),S=s(`el-button`),C=s(`confirm-icon`),w=s(`el-alert`);return p(),a(`div`,xe,[e(`p`,Se,n(c.$t(`digitalhuman.description.voiceClone`)),1),e(`div`,Ce,[r(v,{accept:c.DIGITALHUMAN_AUDIO_ACCEPT,"button-text":c.$t(`digitalhuman.button.uploadSample`),icon:`microphone`,onChange:c.onSampleChange},null,8,[`accept`,`button-text`,`onChange`]),r(b,{modelValue:c.lang,"onUpdate:modelValue":l[0]||=e=>c.lang=e,size:`small`,class:`!w-[90px]`},{default:d(()=>[(p(!0),a(o,null,f(c.DIGITALHUMAN_ALLOWED_LANGS,e=>(p(),u(y,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),r(S,{size:`small`,type:`primary`,round:``,loading:c.cloning,disabled:!c.sampleUrl||c.cloning,onClick:c.onClone},{default:d(()=>[r(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(c.cloning?c.$t(`digitalhuman.button.cloning`):c.$t(`digitalhuman.button.clone`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`]),c.voiceId?(p(),u(w,{key:0,closable:!1,type:`success`,class:`mt-2`},{default:d(()=>[e(`p`,we,[r(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(c.$t(`digitalhuman.name.voiceReady`))+`: `+n(c.voiceId),1)])]),_:1})):i(``,!0)])}var Ee=h({name:`ConfigPanel`,components:{UserIcon:P,ElButton:U,ElInput:G,ElRadioGroup:x,ElRadioButton:b,Consumption:Z,InfoIcon:re,FileInput:Q,VoiceClone:V(be,[[`render`,Te]])},emits:[`generate`],data(){return{faceMode:`video`,voiceMode:`audio`,DIGITALHUMAN_ALLOWED_ENGINES:B,DIGITALHUMAN_ALLOWED_RESOLUTIONS:R,DIGITALHUMAN_VIDEO_ACCEPT:te,DIGITALHUMAN_IMAGE_ACCEPT:ne,DIGITALHUMAN_AUDIO_ACCEPT:L}},computed:{config(){return this.$store.state.digitalhuman?.config},service(){return this.$store.state.digitalhuman?.service},consumption(){return H(this.config,this.service?.cost)},canGenerate(){let e=this.faceMode===`video`?!!this.config?.video_url:!!this.config?.image_url,t=this.voiceMode===`audio`?!!this.config?.audio_url:!!this.config?.text?.trim()&&!!this.config?.voice_id;return e&&t},text:{get(){return this.config?.text},set(e){this.update({text:e})}},engine:{get(){return this.config?.engine},set(e){this.update({engine:e})}},resolution:{get(){return this.config?.resolution},set(e){this.update({resolution:e})}}},mounted(){this.config?.image_url&&!this.config?.video_url&&(this.faceMode=`photo`),(this.config?.text||this.config?.voice_id)&&(this.voiceMode=`text`),this.update({engine:this.config?.engine??`latentsync`,resolution:this.config?.resolution??`720p`})},methods:{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.config||{},t={engine:e.engine,resolution:e.resolution};this.faceMode===`video`?t.video_url=e.video_url:t.image_url=e.image_url,this.voiceMode===`audio`?t.audio_url=e.audio_url:(t.text=e.text,t.voice_id=e.voice_id),this.$emit(`generate`,t)}}}),De={class:`flex flex-col h-full`},Oe={class:`flex-1 overflow-y-auto p-5`},ke={class:`field-block mb-5`},Ae={class:`field-head`},je={class:`field-title font-bold`},Me={class:`field-block mb-5`},Ne={class:`field-head`},Pe={class:`field-title font-bold`},Fe={class:`field-block mb-5`},Ie={class:`field-head`},Le={class:`field-title font-bold`},Re={class:`field-block`},ze={class:`field-head`},Be={class:`field-title font-bold`},Ve={class:`flex flex-col items-center justify-center px-5 pb-5`};function He(i,c,l,m,h,g){let _=s(`info-icon`),v=s(`el-radio-button`),y=s(`el-radio-group`),b=s(`file-input`),x=s(`el-input`),S=s(`voice-clone`),C=s(`consumption`),w=s(`user-icon`),T=s(`el-button`);return p(),a(`div`,De,[e(`div`,Oe,[e(`div`,ke,[e(`div`,Ae,[e(`h2`,je,n(i.$t(`digitalhuman.name.face`)),1),r(_,{content:i.$t(`digitalhuman.description.face`),class:`ml-1`},null,8,[`content`])]),r(y,{modelValue:i.faceMode,"onUpdate:modelValue":c[0]||=e=>i.faceMode=e,class:`w-full mb-2`,onChange:i.onFaceModeChange},{default:d(()=>[r(v,{value:`video`},{default:d(()=>[t(n(i.$t(`digitalhuman.name.faceVideo`)),1)]),_:1}),r(v,{value:`photo`},{default:d(()=>[t(n(i.$t(`digitalhuman.name.facePhoto`)),1)]),_:1})]),_:1},8,[`modelValue`,`onChange`]),i.faceMode===`video`?(p(),u(b,{key:0,accept:i.DIGITALHUMAN_VIDEO_ACCEPT,"button-text":i.$t(`digitalhuman.button.uploadVideo`),icon:`video`,onChange:i.onFaceVideoChange},null,8,[`accept`,`button-text`,`onChange`])):(p(),u(b,{key:1,accept:i.DIGITALHUMAN_IMAGE_ACCEPT,"button-text":i.$t(`digitalhuman.button.uploadPhoto`),icon:`image`,onChange:i.onFacePhotoChange},null,8,[`accept`,`button-text`,`onChange`]))]),e(`div`,Me,[e(`div`,Ne,[e(`h2`,Pe,n(i.$t(`digitalhuman.name.voice`)),1)]),r(y,{modelValue:i.voiceMode,"onUpdate:modelValue":c[1]||=e=>i.voiceMode=e,class:`w-full mb-2`,onChange:i.onVoiceModeChange},{default:d(()=>[r(v,{value:`audio`},{default:d(()=>[t(n(i.$t(`digitalhuman.name.voiceAudio`)),1)]),_:1}),r(v,{value:`text`},{default:d(()=>[t(n(i.$t(`digitalhuman.name.voiceText`)),1)]),_:1})]),_:1},8,[`modelValue`,`onChange`]),i.voiceMode===`audio`?(p(),u(b,{key:0,accept:i.DIGITALHUMAN_AUDIO_ACCEPT,"button-text":i.$t(`digitalhuman.button.uploadAudio`),icon:`music`,onChange:i.onAudioChange},null,8,[`accept`,`button-text`,`onChange`])):(p(),a(o,{key:1},[r(x,{modelValue:i.text,"onUpdate:modelValue":c[2]||=e=>i.text=e,type:`textarea`,rows:4,placeholder:i.$t(`digitalhuman.placeholder.text`),class:`mb-2`},null,8,[`modelValue`,`placeholder`]),r(S)],64))]),e(`div`,Fe,[e(`div`,Ie,[e(`h2`,Le,n(i.$t(`digitalhuman.name.engine`)),1)]),r(y,{modelValue:i.engine,"onUpdate:modelValue":c[3]||=e=>i.engine=e,class:`w-full`},{default:d(()=>[(p(!0),a(o,null,f(i.DIGITALHUMAN_ALLOWED_ENGINES,e=>(p(),u(v,{key:e,value:e},{default:d(()=>[t(n(e),1)]),_:2},1032,[`value`]))),128))]),_:1},8,[`modelValue`])]),e(`div`,Re,[e(`div`,ze,[e(`h2`,Be,n(i.$t(`digitalhuman.name.resolution`)),1)]),r(y,{modelValue:i.resolution,"onUpdate:modelValue":c[4]||=e=>i.resolution=e,class:`w-full`},{default:d(()=>[(p(!0),a(o,null,f(i.DIGITALHUMAN_ALLOWED_RESOLUTIONS,e=>(p(),u(v,{key:e,value:e},{default:d(()=>[t(n(e),1)]),_:2},1032,[`value`]))),128))]),_:1},8,[`modelValue`])])]),e(`div`,Ve,[r(C,{value:i.consumption,service:i.service},null,8,[`value`,`service`]),r(T,{type:`primary`,class:`btn w-full`,round:``,disabled:!i.canGenerate,onClick:i.onGenerate},{default:d(()=>[r(w,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(i.$t(`digitalhuman.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var Ue=V(Ee,[[`render`,He],[`__scopeId`,`data-v-5ae1f07d`]]),We=h({name:`TaskPreview`,components:{ControlsIcon:ee,ImageIcon:O,InfoIcon:k,TimeIcon:E,UserIcon:P,VideoIcon:F,WarningIcon:M,CopyToClipboard:D,ElAlert:y,ElProgress:C,VideoPlayer:se,ElButton:U,ApiCodeButton:ce},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`)},faceLabel(){return this.modelValue?.request?.image_url?this.$t(`digitalhuman.name.facePhoto`):this.$t(`digitalhuman.name.faceVideo`)},engineLabel(){return this.modelValue?.request?.engine||this.modelValue?.response?.engine||`latentsync`},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:{onDownload(e,t){e?.stopPropagation(),window.open(t,`_blank`)}}}),Ge={class:`preview`},Ke={class:`left`},qe={class:`main`},Je={class:`bot`},Ye={class:`datetime`},Xe={class:`info`},Ze={key:0,class:`prompt mt-2`},Qe={key:0},$e={key:1,class:`prompt mt-2`},et={key:0},tt={class:`text-xs text-[var(--el-text-color-secondary)] mb-1`},$={class:`ml-2`},nt={key:0,class:`content`},rt={class:`text-xs text-[var(--el-text-color-secondary)] mb-1`},it={key:1,class:`content`},at={class:`operations mt-2`},ot={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},st={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},ct={key:2,class:`content`},lt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ut={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function dt(o,c,l,f,m,h){let g=s(`capability-presentation`),_=s(`image-icon`),v=s(`video-icon`),y=s(`controls-icon`),b=s(`el-progress`),x=s(`video-player`),S=s(`el-button`),C=s(`api-code-button`),w=s(`user-icon`),T=s(`copy-to-clipboard`),E=s(`time-icon`),D=s(`el-alert`),O=s(`warning-icon`),k=s(`info-icon`);return p(),a(`div`,Ge,[e(`div`,Ke,[r(g,{capability:`digitalhuman`,part:`avatar`,class:`avatar`})]),e(`div`,qe,[e(`div`,Je,[r(g,{capability:`digitalhuman`,part:`name`}),e(`span`,Ye,n(o.$dayjs.format(``+new Date(parseFloat((o.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,Xe,[o.modelValue?.request?.text?(p(),a(`p`,Ze,[t(n(o.modelValue?.request?.text)+` `,1),o.isTerminal?i(``,!0):(p(),a(`span`,Qe,` - (`+n(o.statusLabel)+`) `,1))])):(p(),a(`p`,$e,[t(n(o.voiceLabel)+` `,1),o.isTerminal?i(``,!0):(p(),a(`span`,et,` - (`+n(o.statusLabel)+`) `,1))])),e(`p`,tt,[o.modelValue?.request?.image_url?(p(),u(_,{key:0,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})):(p(),u(v,{key:1,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),t(` `+n(o.faceLabel)+` `,1),e(`span`,$,[r(y,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(n(o.engineLabel),1)])])]),o.isTerminal?i(``,!0):(p(),a(`div`,nt,[e(`p`,rt,n(o.statusLabel),1),r(b,{percentage:o.progressPct,"stroke-width":6},null,8,[`percentage`])])),o.isSuccess?(p(),a(`div`,it,[o.videoUrl?(p(),u(x,{key:0,src:o.videoUrl},null,8,[`src`])):i(``,!0),e(`div`,at,[o.videoUrl?(p(),u(S,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:c[0]||=e=>o.onDownload(e,o.videoUrl)},{default:d(()=>[t(n(o.$t(`digitalhuman.button.download`)),1)]),_:1})):i(``,!0),r(C,{path:`/digital-human/videos`,body:o.modelValue?.request},null,8,[`body`])]),r(D,{closable:!1,class:`mt-2 success`},{default:d(()=>[e(`p`,ot,[r(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(o.$t(`digitalhuman.name.taskId`))+`: `+n(o.modelValue?.id)+` `,1),r(T,{content:o.modelValue?.id},null,8,[`content`])]),o.modelValue?.elapsed?(p(),a(`p`,st,[r(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(o.$t(`digitalhuman.name.elapsed`))+`: `+n(o.modelValue?.elapsed?.toFixed(2))+`s `,1)])):i(``,!0)]),_:1})])):i(``,!0),o.isFailure?(p(),a(`div`,ct,[r(D,{closable:!1,class:`failure`},{template:d(()=>[r(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(o.$t(`digitalhuman.name.failure`)),1)]),default:d(()=>[e(`p`,lt,[r(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(o.$t(`digitalhuman.name.taskId`))+`: `+n(o.modelValue?.id)+` `,1),r(T,{content:o.modelValue?.id},null,8,[`content`])]),o.failureReason?(p(),a(`p`,ut,[r(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(o.$t(`digitalhuman.name.failureReason`))+`: `+n(o.failureReason),1)])):i(``,!0)]),_:1})])):i(``,!0)])])}var ft=h({name:`RecentPanel`,components:{TaskPreview:V(We,[[`render`,dt],[`__scopeId`,`data-v-ce81d798`]]),NoTasks:ae,BotPlaceholder:le,ScrollList:ie},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?.()}}}),pt={key:0},mt={key:2,class:`w-full h-full flex items-center justify-center`};function ht(e,t,n,c,l,m){let h=s(`bot-placeholder`),g=s(`task-preview`),_=s(`scroll-list`),v=s(`no-tasks`);return p(),a(o,null,[e.tasks?.items===void 0?(p(),a(`div`,pt,[r(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(p(),u(_,{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:d(()=>[(p(!0),a(o,null,f(e.tasks?.items,(e,t)=>(p(),u(g,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):i(``,!0),e.tasks?.items?.length===0?(p(),a(`div`,mt,[r(v)])):i(``,!0)],64)}var gt=h({name:`DigitalHumanIndex`,components:{ConfigPanel:Ue,Layout:he,RecentPanel:V(ft,[[`render`,ht]])},inject:[`initialized`],data(){return{job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.digitalhuman?.status?.getApplications===Y.Request},tasksLoading(){return this.$store.state.digitalhuman?.status?.getTasks===Y.Request||this.fetchingTasks},credential(){return this.$store.state.digitalhuman.credential},config(){return this.$store.state.digitalhuman.config},tasks(){return this.$store.state.digitalhuman.tasks}},watch:{initialized:{async handler(e){window.clearInterval(this.job),e&&(await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await oe({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){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})}finally{this.fetchingTasks=!1}},async onGenerate(e){if(!q())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}X.info(this.$t(`digitalhuman.message.startingTask`)),J(`digitalhuman`,W.generate(e,{token:t})).then(()=>{X.success(this.$t(`digitalhuman.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?X.error(this.$t(`digitalhuman.message.usedUp`)):X.error(this.$t(`digitalhuman.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function _t(e,t,n,i,a,o){let c=s(`config-panel`),l=s(`recent-panel`),f=s(`layout`);return p(),u(f,null,{config:d(()=>[r(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:d(()=>[r(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var vt=V(gt,[[`render`,_t]]);export{vt as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,I as t,Jt as n,L as r,M as i,N as a,T as o,at as s,ht as c,it as l,j as u,mt as d,rt as f,tt as p,x as m,z as h}from"./vendor-chart-Dw-P17PN.js";import{r as g,t as _}from"./select-DW3H8Cyb.js";import{t as v}from"./upload-zeb95gHP.js";import{t as y}from"./alert-DDomaAor.js";import{n as b,r as x}from"./radio-DgDgyT2l.js";import{t as S}from"./drawer-D3Ieb275.js";import{t as C}from"./progress-bSUZvkfj.js";import{n as w}from"./taskDrawerMixin-CFzLna7k.js";import{t as T}from"./check-H4hrhXzi.js";import{t as E}from"./clock-B2aR5D-m.js";import{t as D}from"./image-ti3oDtsv.js";import{t as O}from"./info-Bx0W99ua.js";import{t as k}from"./mic-CAis9Yx9.js";import{t as A}from"./music-2-BP_3MsIr.js";import{t as j}from"./sliders-horizontal-B0_n8LUb.js";import{t as ee}from"./triangle-alert-Bm11tXxr.js";import{t as M}from"./upload-Bd3dUhzA.js";import{t as N}from"./user-DFOv3q8g.js";import{t as P}from"./video-BRA4fel-.js";import{t as F}from"./wand-sparkles-Bfkh-7H0.js";import{Cr as I,_r as L,br as te,gr as ne,hr as R,mr as z}from"./constants-P5wTiWzI.js";import{E as B,Gt as V,Mi as H,Rn as U,Vi as W,ai as G,en as K,gr as q,ni as J,vi as Y}from"./index-DN3R8m7E.js";import{t as X}from"./CopyToClipboard-CkXS44Md.js";import{t as Z}from"./Consumption-BlwUHwce.js";import{a as re,n as ie,r as ae,t as oe}from"./pagination-C4WgQYO7.js";import{t as se}from"./VideoPlayer-LQjA3Xp9.js";import{t as ce}from"./ApiCodeButton-m9CgZRja.js";import{t as le}from"./BotPlaceholder-c1cNbMr3.js";var ue=h({name:`LayoutDigitalHuman`,components:{UserIcon:N,ElDrawer:S,ElButton:H},mixins:[w]}),de={class:`main flex flex-row flex-1`},fe={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)]`},pe={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function me(t,n,i,o,u,f){let h=s(`user-icon`),g=s(`el-button`),_=s(`el-drawer`);return p(),a(`div`,de,[e(`div`,fe,[l(t.$slots,`config`,{},void 0,!0)]),e(`div`,pe,[l(t.$slots,`result`,{},void 0,!0)]),c(r(g,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:d(()=>[r(h,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[m,!t.tasksEmpty]]),r(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`generator-drawer`},{default:d(()=>[l(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var he=B(ue,[[`render`,me],[`__scopeId`,`data-v-e912fd04`]]),ge=h({name:`DigitalHumanFileInput`,components:{ElUpload:v,ElButton:H,ImageIcon:D,MicrophoneIcon:k,MusicIcon:A,UploadIcon:M,VideoIcon:P},props:{accept:{type:String,default:``},buttonText:{type:String,default:``},icon:{type:String,default:`upload`}},emits:[`change`],data(){return{fileList:[],uploadUrl:G()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}}},methods:{onExceed(e){let t=this.$refs.uploader;t?.clearFiles();let n=e[0];n&&(t?.handleStart?.(n),t?.submit?.())},onError(){Y.error(this.$t(`digitalhuman.message.uploadError`))},onChange(){let e=this.fileList?.[0]?.response?.file_url;this.$emit(`change`,e)}}});function _e(e,i,o,c,l,f){let m=s(`video-icon`),h=s(`image-icon`),g=s(`microphone-icon`),_=s(`music-icon`),v=s(`upload-icon`),y=s(`el-button`),b=s(`el-upload`);return p(),a(`div`,null,[r(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":i[0]||=t=>e.fileList=t,accept:e.accept,name:`file`,class:`w-full`,limit:1,action:e.uploadUrl,headers:e.headers,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onChange,"on-remove":e.onChange},{default:d(()=>[r(y,{size:`small`,round:``},{default:d(()=>[e.icon===`video`?(p(),u(m,{key:0,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})):e.icon===`image`?(p(),u(h,{key:1,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})):e.icon===`microphone`?(p(),u(g,{key:2,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})):e.icon===`music`?(p(),u(_,{key:3,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})):(p(),u(v,{key:4,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),t(` `+n(e.buttonText),1)]),_:1})]),_:1},8,[`file-list`,`accept`,`action`,`headers`,`on-exceed`,`on-error`,`on-success`,`on-remove`])])}var Q=B(ge,[[`render`,_e]]),ve=3e3,ye=60,be=h({name:`VoiceClone`,components:{ConfirmIcon:T,MagicIcon:F,ElButton:H,ElSelect:g,ElOption:_,ElAlert:y,FileInput:Q},data(){return{sampleUrl:void 0,lang:`zh`,cloning:!1,destroyed:!1,runId:0,DIGITALHUMAN_ALLOWED_LANGS:R,DIGITALHUMAN_AUDIO_ACCEPT:L}},computed:{credentialToken(){return this.$store.state.digitalhuman?.credential?.token},voiceId(){return this.$store.state.digitalhuman?.config?.voice_id}},watch:{lang(){this.invalidate()}},beforeUnmount(){this.destroyed=!0,this.runId++},methods:{onSampleChange(e){this.sampleUrl=e,this.invalidate()},invalidate(){this.runId++,this.cloning=!1,this.voiceId&&this.setVoiceId(void 0)},isStale(e){return this.destroyed||e!==this.runId},setVoiceId(e){this.$store.commit(`digitalhuman/setConfig`,{...this.$store.state.digitalhuman?.config,voice_id:e})},sleep(e){return new Promise(t=>setTimeout(t,e))},async onClone(){let e=this.credentialToken;if(!this.sampleUrl||!e)return;let t=++this.runId;this.cloning=!0,this.setVoiceId(void 0);try{let{data:n}=await U.cloneVoice({audio_url:this.sampleUrl,lang:this.lang},{token: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,e,t);else throw Error(`no task`)}catch{this.isStale(t)||Y.error(this.$t(`digitalhuman.message.voiceCloneFailed`))}finally{this.isStale(t)||(this.cloning=!1)}},async pollVoice(e,t,n){for(let r=0;r<ye;r++){if(this.isStale(n)||(await this.sleep(ve),this.isStale(n)))return;let{data:r}=await U.pollTask(e,{token:t});if(this.isStale(n))return;if(r?.voice_id){this.onCloned(r.voice_id);return}if(r?.state===`failed`)throw Error(`clone failed`)}throw Error(`timeout`)},onCloned(e){this.setVoiceId(e),Y.success(this.$t(`digitalhuman.message.voiceCloneSuccess`))}}}),xe={class:`voice-clone`},Se={class:`text-xs text-[var(--el-text-color-secondary)] mb-2`},Ce={class:`flex flex-row items-center gap-2 mb-2`},we={class:`text-xs mb-0`};function Te(c,l,m,h,g,_){let v=s(`file-input`),y=s(`el-option`),b=s(`el-select`),x=s(`magic-icon`),S=s(`el-button`),C=s(`confirm-icon`),w=s(`el-alert`);return p(),a(`div`,xe,[e(`p`,Se,n(c.$t(`digitalhuman.description.voiceClone`)),1),e(`div`,Ce,[r(v,{accept:c.DIGITALHUMAN_AUDIO_ACCEPT,"button-text":c.$t(`digitalhuman.button.uploadSample`),icon:`microphone`,onChange:c.onSampleChange},null,8,[`accept`,`button-text`,`onChange`]),r(b,{modelValue:c.lang,"onUpdate:modelValue":l[0]||=e=>c.lang=e,size:`small`,class:`!w-[90px]`},{default:d(()=>[(p(!0),a(o,null,f(c.DIGITALHUMAN_ALLOWED_LANGS,e=>(p(),u(y,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),r(S,{size:`small`,type:`primary`,round:``,loading:c.cloning,disabled:!c.sampleUrl||c.cloning,onClick:c.onClone},{default:d(()=>[r(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(c.cloning?c.$t(`digitalhuman.button.cloning`):c.$t(`digitalhuman.button.clone`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`]),c.voiceId?(p(),u(w,{key:0,closable:!1,type:`success`,class:`mt-2`},{default:d(()=>[e(`p`,we,[r(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(c.$t(`digitalhuman.name.voiceReady`))+`: `+n(c.voiceId),1)])]),_:1})):i(``,!0)])}var Ee=h({name:`ConfigPanel`,components:{UserIcon:N,ElButton:H,ElInput:W,ElRadioGroup:x,ElRadioButton:b,Consumption:Z,InfoIcon:re,FileInput:Q,VoiceClone:B(be,[[`render`,Te]])},emits:[`generate`],data(){return{faceMode:`video`,voiceMode:`audio`,DIGITALHUMAN_ALLOWED_ENGINES:z,DIGITALHUMAN_ALLOWED_RESOLUTIONS:ne,DIGITALHUMAN_VIDEO_ACCEPT:I,DIGITALHUMAN_IMAGE_ACCEPT:te,DIGITALHUMAN_AUDIO_ACCEPT:L}},computed:{config(){return this.$store.state.digitalhuman?.config},service(){return this.$store.state.digitalhuman?.service},consumption(){return V(this.config,this.service?.cost)},canGenerate(){let e=this.faceMode===`video`?!!this.config?.video_url:!!this.config?.image_url,t=this.voiceMode===`audio`?!!this.config?.audio_url:!!this.config?.text?.trim()&&!!this.config?.voice_id;return e&&t},text:{get(){return this.config?.text},set(e){this.update({text:e})}},engine:{get(){return this.config?.engine},set(e){this.update({engine:e})}},resolution:{get(){return this.config?.resolution},set(e){this.update({resolution:e})}}},mounted(){this.config?.image_url&&!this.config?.video_url&&(this.faceMode=`photo`),(this.config?.text||this.config?.voice_id)&&(this.voiceMode=`text`),this.update({engine:this.config?.engine??`latentsync`,resolution:this.config?.resolution??`720p`})},methods:{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.config||{},t={engine:e.engine,resolution:e.resolution};this.faceMode===`video`?t.video_url=e.video_url:t.image_url=e.image_url,this.voiceMode===`audio`?t.audio_url=e.audio_url:(t.text=e.text,t.voice_id=e.voice_id),this.$emit(`generate`,t)}}}),De={class:`flex flex-col h-full`},Oe={class:`flex-1 overflow-y-auto p-5`},ke={class:`field-block mb-5`},Ae={class:`field-head`},je={class:`field-title font-bold`},Me={class:`field-block mb-5`},Ne={class:`field-head`},Pe={class:`field-title font-bold`},Fe={class:`field-block mb-5`},Ie={class:`field-head`},Le={class:`field-title font-bold`},Re={class:`field-block`},ze={class:`field-head`},Be={class:`field-title font-bold`},Ve={class:`flex flex-col items-center justify-center px-5 pb-5`};function He(i,c,l,m,h,g){let _=s(`info-icon`),v=s(`el-radio-button`),y=s(`el-radio-group`),b=s(`file-input`),x=s(`el-input`),S=s(`voice-clone`),C=s(`consumption`),w=s(`user-icon`),T=s(`el-button`);return p(),a(`div`,De,[e(`div`,Oe,[e(`div`,ke,[e(`div`,Ae,[e(`h2`,je,n(i.$t(`digitalhuman.name.face`)),1),r(_,{content:i.$t(`digitalhuman.description.face`),class:`ml-1`},null,8,[`content`])]),r(y,{modelValue:i.faceMode,"onUpdate:modelValue":c[0]||=e=>i.faceMode=e,class:`w-full mb-2`,onChange:i.onFaceModeChange},{default:d(()=>[r(v,{value:`video`},{default:d(()=>[t(n(i.$t(`digitalhuman.name.faceVideo`)),1)]),_:1}),r(v,{value:`photo`},{default:d(()=>[t(n(i.$t(`digitalhuman.name.facePhoto`)),1)]),_:1})]),_:1},8,[`modelValue`,`onChange`]),i.faceMode===`video`?(p(),u(b,{key:0,accept:i.DIGITALHUMAN_VIDEO_ACCEPT,"button-text":i.$t(`digitalhuman.button.uploadVideo`),icon:`video`,onChange:i.onFaceVideoChange},null,8,[`accept`,`button-text`,`onChange`])):(p(),u(b,{key:1,accept:i.DIGITALHUMAN_IMAGE_ACCEPT,"button-text":i.$t(`digitalhuman.button.uploadPhoto`),icon:`image`,onChange:i.onFacePhotoChange},null,8,[`accept`,`button-text`,`onChange`]))]),e(`div`,Me,[e(`div`,Ne,[e(`h2`,Pe,n(i.$t(`digitalhuman.name.voice`)),1)]),r(y,{modelValue:i.voiceMode,"onUpdate:modelValue":c[1]||=e=>i.voiceMode=e,class:`w-full mb-2`,onChange:i.onVoiceModeChange},{default:d(()=>[r(v,{value:`audio`},{default:d(()=>[t(n(i.$t(`digitalhuman.name.voiceAudio`)),1)]),_:1}),r(v,{value:`text`},{default:d(()=>[t(n(i.$t(`digitalhuman.name.voiceText`)),1)]),_:1})]),_:1},8,[`modelValue`,`onChange`]),i.voiceMode===`audio`?(p(),u(b,{key:0,accept:i.DIGITALHUMAN_AUDIO_ACCEPT,"button-text":i.$t(`digitalhuman.button.uploadAudio`),icon:`music`,onChange:i.onAudioChange},null,8,[`accept`,`button-text`,`onChange`])):(p(),a(o,{key:1},[r(x,{modelValue:i.text,"onUpdate:modelValue":c[2]||=e=>i.text=e,type:`textarea`,rows:4,placeholder:i.$t(`digitalhuman.placeholder.text`),class:`mb-2`},null,8,[`modelValue`,`placeholder`]),r(S)],64))]),e(`div`,Fe,[e(`div`,Ie,[e(`h2`,Le,n(i.$t(`digitalhuman.name.engine`)),1)]),r(y,{modelValue:i.engine,"onUpdate:modelValue":c[3]||=e=>i.engine=e,class:`w-full`},{default:d(()=>[(p(!0),a(o,null,f(i.DIGITALHUMAN_ALLOWED_ENGINES,e=>(p(),u(v,{key:e,value:e},{default:d(()=>[t(n(e),1)]),_:2},1032,[`value`]))),128))]),_:1},8,[`modelValue`])]),e(`div`,Re,[e(`div`,ze,[e(`h2`,Be,n(i.$t(`digitalhuman.name.resolution`)),1)]),r(y,{modelValue:i.resolution,"onUpdate:modelValue":c[4]||=e=>i.resolution=e,class:`w-full`},{default:d(()=>[(p(!0),a(o,null,f(i.DIGITALHUMAN_ALLOWED_RESOLUTIONS,e=>(p(),u(v,{key:e,value:e},{default:d(()=>[t(n(e),1)]),_:2},1032,[`value`]))),128))]),_:1},8,[`modelValue`])])]),e(`div`,Ve,[r(C,{value:i.consumption,service:i.service},null,8,[`value`,`service`]),r(T,{type:`primary`,class:`btn w-full`,round:``,disabled:!i.canGenerate,onClick:i.onGenerate},{default:d(()=>[r(w,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(i.$t(`digitalhuman.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var Ue=B(Ee,[[`render`,He],[`__scopeId`,`data-v-5ae1f07d`]]),We=h({name:`TaskPreview`,components:{ControlsIcon:j,ImageIcon:D,InfoIcon:O,TimeIcon:E,UserIcon:N,VideoIcon:P,WarningIcon:ee,CopyToClipboard:X,ElAlert:y,ElProgress:C,VideoPlayer:se,ElButton:H,ApiCodeButton:ce},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`)},faceLabel(){return this.modelValue?.request?.image_url?this.$t(`digitalhuman.name.facePhoto`):this.$t(`digitalhuman.name.faceVideo`)},engineLabel(){return this.modelValue?.request?.engine||this.modelValue?.response?.engine||`latentsync`},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:{onDownload(e,t){e?.stopPropagation(),window.open(t,`_blank`)}}}),Ge={class:`preview`},Ke={class:`left`},qe={class:`main`},Je={class:`bot`},Ye={class:`datetime`},Xe={class:`info`},Ze={key:0,class:`prompt mt-2`},Qe={key:0},$e={key:1,class:`prompt mt-2`},et={key:0},tt={class:`text-xs text-[var(--el-text-color-secondary)] mb-1`},$={class:`ml-2`},nt={key:0,class:`content`},rt={class:`text-xs text-[var(--el-text-color-secondary)] mb-1`},it={key:1,class:`content`},at={class:`operations mt-2`},ot={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},st={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},ct={key:2,class:`content`},lt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ut={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function dt(o,c,l,f,m,h){let g=s(`capability-presentation`),_=s(`image-icon`),v=s(`video-icon`),y=s(`controls-icon`),b=s(`el-progress`),x=s(`video-player`),S=s(`el-button`),C=s(`api-code-button`),w=s(`user-icon`),T=s(`copy-to-clipboard`),E=s(`time-icon`),D=s(`el-alert`),O=s(`warning-icon`),k=s(`info-icon`);return p(),a(`div`,Ge,[e(`div`,Ke,[r(g,{capability:`digitalhuman`,part:`avatar`,class:`avatar`})]),e(`div`,qe,[e(`div`,Je,[r(g,{capability:`digitalhuman`,part:`name`}),e(`span`,Ye,n(o.$dayjs.format(``+new Date(parseFloat((o.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,Xe,[o.modelValue?.request?.text?(p(),a(`p`,Ze,[t(n(o.modelValue?.request?.text)+` `,1),o.isTerminal?i(``,!0):(p(),a(`span`,Qe,` - (`+n(o.statusLabel)+`) `,1))])):(p(),a(`p`,$e,[t(n(o.voiceLabel)+` `,1),o.isTerminal?i(``,!0):(p(),a(`span`,et,` - (`+n(o.statusLabel)+`) `,1))])),e(`p`,tt,[o.modelValue?.request?.image_url?(p(),u(_,{key:0,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})):(p(),u(v,{key:1,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),t(` `+n(o.faceLabel)+` `,1),e(`span`,$,[r(y,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(n(o.engineLabel),1)])])]),o.isTerminal?i(``,!0):(p(),a(`div`,nt,[e(`p`,rt,n(o.statusLabel),1),r(b,{percentage:o.progressPct,"stroke-width":6},null,8,[`percentage`])])),o.isSuccess?(p(),a(`div`,it,[o.videoUrl?(p(),u(x,{key:0,src:o.videoUrl},null,8,[`src`])):i(``,!0),e(`div`,at,[o.videoUrl?(p(),u(S,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:c[0]||=e=>o.onDownload(e,o.videoUrl)},{default:d(()=>[t(n(o.$t(`digitalhuman.button.download`)),1)]),_:1})):i(``,!0),r(C,{path:`/digital-human/videos`,body:o.modelValue?.request},null,8,[`body`])]),r(D,{closable:!1,class:`mt-2 success`},{default:d(()=>[e(`p`,ot,[r(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(o.$t(`digitalhuman.name.taskId`))+`: `+n(o.modelValue?.id)+` `,1),r(T,{content:o.modelValue?.id},null,8,[`content`])]),o.modelValue?.elapsed?(p(),a(`p`,st,[r(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(o.$t(`digitalhuman.name.elapsed`))+`: `+n(o.modelValue?.elapsed?.toFixed(2))+`s `,1)])):i(``,!0)]),_:1})])):i(``,!0),o.isFailure?(p(),a(`div`,ct,[r(D,{closable:!1,class:`failure`},{template:d(()=>[r(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(o.$t(`digitalhuman.name.failure`)),1)]),default:d(()=>[e(`p`,lt,[r(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(o.$t(`digitalhuman.name.taskId`))+`: `+n(o.modelValue?.id)+` `,1),r(T,{content:o.modelValue?.id},null,8,[`content`])]),o.failureReason?(p(),a(`p`,ut,[r(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(o.$t(`digitalhuman.name.failureReason`))+`: `+n(o.failureReason),1)])):i(``,!0)]),_:1})])):i(``,!0)])])}var ft=h({name:`RecentPanel`,components:{TaskPreview:B(We,[[`render`,dt],[`__scopeId`,`data-v-ce81d798`]]),NoTasks:ae,BotPlaceholder:le,ScrollList:ie},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?.()}}}),pt={key:0},mt={key:2,class:`w-full h-full flex items-center justify-center`};function ht(e,t,n,c,l,m){let h=s(`bot-placeholder`),g=s(`task-preview`),_=s(`scroll-list`),v=s(`no-tasks`);return p(),a(o,null,[e.tasks?.items===void 0?(p(),a(`div`,pt,[r(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(p(),u(_,{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:d(()=>[(p(!0),a(o,null,f(e.tasks?.items,(e,t)=>(p(),u(g,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):i(``,!0),e.tasks?.items?.length===0?(p(),a(`div`,mt,[r(v)])):i(``,!0)],64)}var gt=h({name:`DigitalHumanIndex`,components:{ConfigPanel:Ue,Layout:he,RecentPanel:B(ft,[[`render`,ht]])},inject:[`initialized`],data(){return{job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.digitalhuman?.status?.getApplications===J.Request},tasksLoading(){return this.$store.state.digitalhuman?.status?.getTasks===J.Request||this.fetchingTasks},credential(){return this.$store.state.digitalhuman.credential},config(){return this.$store.state.digitalhuman.config},tasks(){return this.$store.state.digitalhuman.tasks}},watch:{initialized:{async handler(e){window.clearInterval(this.job),e&&(await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await oe({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){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})}finally{this.fetchingTasks=!1}},async onGenerate(e){if(!K())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}Y.info(this.$t(`digitalhuman.message.startingTask`)),q(`digitalhuman`,U.generate(e,{token:t})).then(()=>{Y.success(this.$t(`digitalhuman.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?Y.error(this.$t(`digitalhuman.message.usedUp`)):Y.error(this.$t(`digitalhuman.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function _t(e,t,n,i,a,o){let c=s(`config-panel`),l=s(`recent-panel`),f=s(`layout`);return p(),u(f,null,{config:d(()=>[r(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:d(()=>[r(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var vt=B(gt,[[`render`,_t]]);export{vt 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,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{t as v}from"./upload-NuNALB22.js";import{t as y}from"./tooltip-Bq0H_aQm.js";import{t as b}from"./alert-BWDrxIRb.js";import{t as x}from"./drawer-5KVW_fvf.js";import{t as S}from"./switch-Dwgc_IC5.js";import{n as C}from"./taskDrawerMixin-BL5Lp5JU.js";import{t as w}from"./clock-DtKORAbi.js";import{t as T}from"./CopyToClipboard-iDVaseXr.js";import{r as E,t as D}from"./PromptTextarea-n5fFeDCP.js";import{t as O}from"./info-YGlWHYFu.js";import{t as k}from"./triangle-alert-BixkYn-s.js";import{t as A}from"./upload-DcLOBPB7.js";import{t as j}from"./wand-sparkles-Cv4Ptiq-.js";import"./constants-OjwdsvEy.js";import{Bt as M,E as N,Gn as ee,Gt as P,Ht as F,Mi as I,Ut as L,Vt as R,ai as z,en as te,gr as B,ni as V,vi as H}from"./index-BS1k95ol.js";import{t as U}from"./FilePreview-BTVizU1K.js";import{t as W}from"./ImagePreview-vDExFKx3.js";import{t as G}from"./Consumption-C146g2pG.js";import{a as K,n as q,r as J,t as Y}from"./pagination-Ce0ipXTe.js";import{t as X}from"./VideoPlayer-DzPp3pSc.js";import{t as Z}from"./ApiCodeButton-DIXEBzGs.js";import{t as Q}from"./BotPlaceholder-D1PAhJfu.js";var ne=_({name:`LayoutLuma`,components:{MagicIcon:j,ElDrawer:x,ElButton:I},mixins:[C]}),re={class:`main flex flex-row flex-1`},ie={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)]`},ae={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function oe(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,re,[e(`div`,ie,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,ae,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var se=N(ne,[[`render`,oe],[`__scopeId`,`data-v-d13d43a9`]]),ce=_({name:`EnhancementSelector`,components:{ElSwitch:S,InfoIcon:K},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug(`set enhancement`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=!0)}}),le={class:`relative`},ue={class:`flex justify-between`},de={class:`flex justify-start items-center`},fe={class:`text-sm font-bold`},pe={class:`flex justify-end items-center`};function me(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,le,[e(`div`,ue,[e(`div`,de,[e(`span`,fe,i(t.$t(`luma.name.enhancement`)),1),a(d,{content:t.$t(`luma.description.enhancement`)},null,8,[`content`])]),e(`div`,pe,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var he=N(ce,[[`render`,me]]),ge=_({name:`CustomSelector`,components:{ElSwitch:S,InfoIcon:K},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug(`set custom`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),_e={class:`relative`},ve={class:`flex justify-between`},ye={class:`flex justify-start items-center`},be={class:`text-sm font-bold`},xe={class:`flex justify-end items-center`};function Se(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,_e,[e(`div`,ve,[e(`div`,ye,[e(`span`,be,i(t.$t(`luma.name.custom`)),1),a(d,{content:t.$t(`luma.description.custom`)},null,8,[`content`])]),e(`div`,xe,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var Ce=N(ge,[[`render`,Se]]),we=_({name:`LoopSelector`,components:{ElSwitch:S,InfoIcon:K},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug(`set loop`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Te={class:`relative`},Ee={class:`flex justify-between`},De={class:`flex justify-start items-center`},Oe={class:`text-sm font-bold`},ke={class:`flex justify-end items-center`};function Ae(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,Te,[e(`div`,Ee,[e(`div`,De,[e(`span`,Oe,i(t.$t(`luma.name.loop`)),1),a(d,{content:t.$t(`luma.description.loop`)},null,8,[`content`])]),e(`div`,ke,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var je=N(we,[[`render`,Ae]]),Me=_({name:`EndImage`,components:{UploadIcon:A,ElUpload:v,ElButton:I,ImagePreview:W,InfoIcon:K},mixins:[L,R],data(){return{fileList:[],uploadUrl:z()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetEndImageUrl()},methods:{onExceed(){H.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){H.error(this.$t(`luma.message.uploadReferencesError`))},onSetEndImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),Ne={class:`relative`},Pe={class:`flex justify-between`},Fe={class:`flex justify-start items-center`},Ie={class:`text-sm font-bold`};function Le(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,Ne,[e(`div`,Pe,[e(`div`,Fe,[e(`span`,Ie,i(t.$t(`luma.name.endImageUrl`)),1),a(g,{content:t.$t(`luma.description.endImageUrl`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(h(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.uploadEndImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Re=N(Me,[[`render`,Le],[`__scopeId`,`data-v-e2470a75`]]),ze=_({name:`StartImage`,components:{UploadIcon:A,ElUpload:v,ElButton:I,ImagePreview:W,InfoIcon:K},mixins:[L,R],data(){return{fileList:[],uploadUrl:z()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){H.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){H.error(this.$t(`luma.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Be={class:`relative`},Ve={class:`flex justify-between`},He={class:`flex justify-start items-center`},Ue={class:`text-sm font-bold`};function We(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,Be,[e(`div`,Ve,[e(`div`,He,[e(`span`,Ue,i(t.$t(`luma.name.startImageUrl`)),1),a(g,{content:t.$t(`luma.description.startImageUrl`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.percentage==null?o(``,!0):(h(),f(_,{key:0,url:e.url||e.response.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ge=N(ze,[[`render`,We],[`__scopeId`,`data-v-122aced6`]]),Ke=_({name:`UploadVideo`,components:{UploadIcon:A,ElUpload:v,ElButton:I,InfoIcon:K,FilePreview:U},mixins:[R],data(){return{fileList:[],uploadUrl:z()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||=void 0},methods:{onExceed(){H.warning(this.$t(`luma.message.uploadVideoExceed`))},onError(){H.error(this.$t(`luma.message.uploadVideoError`))},beforeUpload(e){let t=e.type===`video/mp4`,n=e.size/1024/1024<10;return t?n?!0:(H.error(this.$t(`luma.message.uploadVideoSizeExceed`)),!1):(H.error(this.$t(`luma.message.uploadVideoTypeFailed`)),!1)},onSetVideoUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e,action:`extend`})},async onSuccess(){this.onSetVideoUrl()}}}),qe={class:`relative`},Je={class:`flex justify-between`},Ye={class:`flex justify-start items-center`},Xe={class:`text-sm font-bold`};function Ze(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`file-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,qe,[e(`div`,Je,[e(`div`,Ye,[e(`span`,Xe,i(t.$t(`luma.name.videoUrl`)),1),a(g,{content:t.$t(`luma.description.videoUrl`)},null,8,[`content`])])]),a(b,{"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.mp4`,name:`file`,class:`value`,"show-file-list":!0,limit:1,multiple:!1,action:t.uploadUrl,"before-upload":t.beforeUpload,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.percentage==null?o(``,!0):(h(),f(_,{key:0,url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.uploadVideoUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Qe=N(Ke,[[`render`,Ze],[`__scopeId`,`data-v-8d27905e`]]),$e=_({name:`PromptInput`,components:{PromptTextarea:D},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||=``}});function et(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`luma.name.prompt`),info:e.$t(`luma.description.prompt`),placeholder:e.$t(`luma.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var tt=N($e,[[`render`,et]]),nt=_({name:`ExtendFromInput`,components:{VideoPlayer:X},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:`1080p`}}}},computed:{config(){return this.$store.state.luma?.config}}}),rt={class:`relative`},it={class:`flex mb-2`},at={class:`text-sm font-bold`};function ot(t,n,r,a,c,u){let d=l(`video-player`);return h(),s(`div`,rt,[e(`div`,it,[e(`span`,at,i(t.$t(`luma.name.extend`)),1)]),e(`div`,null,[t.config?.video_url?(h(),f(d,{key:0,src:t.config?.video_url},null,8,[`src`])):o(``,!0)])])}var st=_({name:`ConfigPanel`,components:{MagicIcon:j,LoopSelector:je,StartImageInput:Ge,EndImageInput:Re,EnhancementSelector:he,ElButton:I,PromptInput:tt,ExtendFromInput:N(nt,[[`render`,ot]]),CustomSelector:Ce,UploadVideo:Qe,Consumption:G},emits:[`generate`],computed:{config(){return this.$store.state.luma?.config},consumption(){return P(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),ct={class:`flex flex-col h-full`},lt={class:`flex-1 overflow-y-auto p-5`},ut={class:`flex flex-col items-center justify-center px-5 pb-5`};function dt(t,n,c,u,d,m){let g=l(`extend-from-input`),_=l(`prompt-input`),v=l(`custom-selector`),y=l(`upload-video`),b=l(`start-image-input`),x=l(`end-image-input`),S=l(`enhancement-selector`),C=l(`loop-selector`),w=l(`consumption`),T=l(`magic-icon`),E=l(`el-button`);return h(),s(`div`,ct,[e(`div`,lt,[t.config?.video_id||t.config?.video_url?(h(),f(g,{key:0,class:`mb-4`})):o(``,!0),a(_,{class:`mb-4`}),t.config?.video_id?o(``,!0):(h(),f(v,{key:1,class:`mb-4`})),t.config?.custom?(h(),f(y,{key:2,class:`mb-4`})):o(``,!0),!(t.config?.video_id||t.config?.video_url)&&!t.config?.custom?(h(),f(b,{key:3,class:`mb-4`})):o(``,!0),a(x,{class:`mb-4`}),a(S,{class:`mb-4`}),a(C,{class:`mb-4`})]),e(`div`,ut,[a(w,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),t.config?.video_url!==void 0||t.config?.custom?(h(),f(E,{key:0,type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(T,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.extend`)),1)]),_:1},8,[`onClick`])):(h(),f(E,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(T,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.generate`)),1)]),_:1},8,[`onClick`]))])])}var ft=N(st,[[`render`,dt]]),pt=_({name:`TaskPreview`,components:{ChannelIcon:E,InfoIcon:O,MagicIcon:j,TimeIcon:w,WarningIcon:k,CopyToClipboard:T,ElAlert:b,VideoPlayer:X,ElTooltip:y,ElButton:I,ApiCodeButton:Z},props:{modelValue:{type:Object,required:!0}},emits:[`extend`],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,t){console.debug(`set config`,t),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:`extend`,thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit(`extend`)},onDownload(e){window.open(e,`_blank`)}}}),mt={class:`preview`},ht={class:`left`},gt={class:`main`},_t={class:`bot`},vt={class:`datetime`},yt={class:`info`},bt={key:0,class:`prompt mt-2`},xt={key:0},St={key:1},Ct={key:0,class:n({content:!0,failed:!0})},wt={key:0,class:`mb-4`},Tt={key:1,class:n({operations:!0,"mt-2":!0,"mb-4":!0})},Et={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Dt={key:1,class:n({content:!0})},Ot={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},kt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},At={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},jt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Mt={key:2,class:n({content:!0})},Nt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Pt(n,c,u,d,f,m){let g=l(`capability-presentation`),_=l(`video-player`),v=l(`el-button`),y=l(`el-tooltip`),b=l(`api-code-button`),x=l(`magic-icon`),S=l(`copy-to-clipboard`),C=l(`time-icon`),w=l(`el-alert`),T=l(`warning-icon`),E=l(`info-icon`),D=l(`channel-icon`);return h(),s(`div`,mt,[e(`div`,ht,[a(g,{capability:`luma`,part:`avatar`,class:`avatar`})]),e(`div`,gt,[e(`div`,_t,[a(g,{capability:`luma`,part:`name`}),e(`span`,vt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,yt,[n.modelValue?.request?.prompt?(h(),s(`p`,bt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,xt,` - (`+i(n.$t(`luma.status.pending`))+`) `,1)),n.modelValue?.response?.state===`processing`||n.modelValue?.response?.state===`pending`?(h(),s(`span`,St,` - (`+i(n.$t(`luma.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,Ct,[n.modelValue.response.video_url?(h(),s(`div`,wt,[a(_,{src:n.modelValue.response.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response&&!n.config?.custom?(h(),s(`div`,Tt,[a(y,{class:`box-item`,effect:`dark`,content:n.$t(`luma.message.extendVideo`),placement:`top-start`},{default:p(()=>[a(v,{type:`info`,size:`small`,class:`btn-action`,onClick:c[0]||=t(e=>n.onExtend(e,n.modelValue?.response),[`stop`])},{default:p(()=>[r(i(n.$t(`luma.button.extend`)),1)]),_:1})]),_:1},8,[`content`]),a(y,{class:`box-item`,effect:`dark`,content:n.$t(`luma.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(v,{type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=t(e=>n.onDownload(n.modelValue?.response?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`luma.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(b,{path:`/luma/videos`,body:n.modelValue?.request},null,8,[`body`])])):o(``,!0),a(w,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,Et,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,$,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.state===`failed`||n.modelValue?.response?.success===!1?(h(),s(`div`,Dt,[a(w,{closable:!1,class:`failure`},{template:p(()=>[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.failure`)),1)]),default:p(()=>[e(`p`,Ot,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,kt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(S,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,At,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,jt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.traceId`))+`: `+i(n.modelValue?.trace_id)+` `,1),a(S,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),!n.modelValue?.response||n.modelValue?.response?.state===`processing`||n.modelValue?.response?.state===`pending`?(h(),s(`div`,Mt,[a(w,{closable:!1,class:`info`},{template:p(()=>[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`luma.status.processing`:`luma.status.pending`)),1)]),default:p(()=>[e(`p`,Nt,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var Ft=_({name:`RecentPanel`,components:{BotPlaceholder:Q,TaskPreview:N(pt,[[`render`,Pt],[`__scopeId`,`data-v-8bf2a835`]]),NoTasks:J,ScrollList:q},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`,`extend`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),It={key:0},Lt={key:2,class:`w-full h-full flex items-center justify-center`};function Rt(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,It,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[1]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,n=>(h(),f(g,{key:n.id,"model-value":n,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,Lt,[a(v)])):o(``,!0)],64)}var zt=_({name:`LumaIndex`,components:{ConfigPanel:ft,Layout:se,RecentPanel:N(Ft,[[`render`,Rt]])},mixins:[F],inject:[`initialized`],emits:[`extend`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===V.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===V.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Y({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`luma/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`luma/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){console.debug(`scrolling down`),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(`luma/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!M(this.uploadTracker,e=>this.$t(e),e=>H.warning(e)))return;let e={...this.config,async:!0};if(!this.hasText(e.prompt)){H.error(this.$t(`luma.message.promptRequired`));return}if(e.prompt=e.prompt?.trim(),!te())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}H.info(this.$t(`luma.message.startingTask`)),B(`luma`,ee.generate(e,{token:t})).then(()=>{H.success(this.$t(`luma.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?H.error(this.$t(`luma.message.usedUp`)):H.error(this.$t(`luma.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function Bt(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`loading`,`onReachTop`])]),_:1})}var Vt=N(zt,[[`render`,Bt]]);export{Vt 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,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{t as v}from"./upload-zeb95gHP.js";import{t as y}from"./tooltip-Cp5x5YK-.js";import{t as b}from"./alert-DDomaAor.js";import{t as x}from"./drawer-D3Ieb275.js";import{t as S}from"./switch-soiMVhrL.js";import{n as C}from"./taskDrawerMixin-CFzLna7k.js";import{t as w}from"./clock-B2aR5D-m.js";import{r as T,t as E}from"./PromptTextarea-SlwbqpPN.js";import{t as D}from"./info-Bx0W99ua.js";import{t as O}from"./triangle-alert-Bm11tXxr.js";import{t as k}from"./upload-Bd3dUhzA.js";import{t as A}from"./wand-sparkles-Bfkh-7H0.js";import"./constants-P5wTiWzI.js";import{Bt as j,E as M,Gn as N,Gt as P,Ht as F,Mi as I,Ut as L,Vt as R,ai as z,en as ee,gr as te,ni as B,vi as V}from"./index-DN3R8m7E.js";import{t as H}from"./CopyToClipboard-CkXS44Md.js";import{t as U}from"./FilePreview-C5HB6QTD.js";import{t as W}from"./ImagePreview-CkB7m_mh.js";import{t as G}from"./Consumption-BlwUHwce.js";import{a as K,n as q,r as J,t as Y}from"./pagination-C4WgQYO7.js";import{t as X}from"./VideoPlayer-LQjA3Xp9.js";import{t as Z}from"./ApiCodeButton-m9CgZRja.js";import{t as Q}from"./BotPlaceholder-c1cNbMr3.js";var ne=_({name:`LayoutLuma`,components:{MagicIcon:A,ElDrawer:x,ElButton:I},mixins:[C]}),re={class:`main flex flex-row flex-1`},ie={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)]`},ae={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function oe(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,re,[e(`div`,ie,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,ae,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var se=M(ne,[[`render`,oe],[`__scopeId`,`data-v-d13d43a9`]]),ce=_({name:`EnhancementSelector`,components:{ElSwitch:S,InfoIcon:K},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug(`set enhancement`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=!0)}}),le={class:`relative`},ue={class:`flex justify-between`},de={class:`flex justify-start items-center`},fe={class:`text-sm font-bold`},pe={class:`flex justify-end items-center`};function me(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,le,[e(`div`,ue,[e(`div`,de,[e(`span`,fe,i(t.$t(`luma.name.enhancement`)),1),a(d,{content:t.$t(`luma.description.enhancement`)},null,8,[`content`])]),e(`div`,pe,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var he=M(ce,[[`render`,me]]),ge=_({name:`CustomSelector`,components:{ElSwitch:S,InfoIcon:K},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug(`set custom`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),_e={class:`relative`},ve={class:`flex justify-between`},ye={class:`flex justify-start items-center`},be={class:`text-sm font-bold`},xe={class:`flex justify-end items-center`};function Se(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,_e,[e(`div`,ve,[e(`div`,ye,[e(`span`,be,i(t.$t(`luma.name.custom`)),1),a(d,{content:t.$t(`luma.description.custom`)},null,8,[`content`])]),e(`div`,xe,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var Ce=M(ge,[[`render`,Se]]),we=_({name:`LoopSelector`,components:{ElSwitch:S,InfoIcon:K},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug(`set loop`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Te={class:`relative`},Ee={class:`flex justify-between`},De={class:`flex justify-start items-center`},Oe={class:`text-sm font-bold`},ke={class:`flex justify-end items-center`};function Ae(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return h(),s(`div`,Te,[e(`div`,Ee,[e(`div`,De,[e(`span`,Oe,i(t.$t(`luma.name.loop`)),1),a(d,{content:t.$t(`luma.description.loop`)},null,8,[`content`])]),e(`div`,ke,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`])])])])}var je=M(we,[[`render`,Ae]]),Me=_({name:`EndImage`,components:{UploadIcon:k,ElUpload:v,ElButton:I,ImagePreview:W,InfoIcon:K},mixins:[L,R],data(){return{fileList:[],uploadUrl:z()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetEndImageUrl()},methods:{onExceed(){V.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){V.error(this.$t(`luma.message.uploadReferencesError`))},onSetEndImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),Ne={class:`relative`},Pe={class:`flex justify-between`},Fe={class:`flex justify-start items-center`},Ie={class:`text-sm font-bold`};function Le(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,Ne,[e(`div`,Pe,[e(`div`,Fe,[e(`span`,Ie,i(t.$t(`luma.name.endImageUrl`)),1),a(g,{content:t.$t(`luma.description.endImageUrl`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(h(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.uploadEndImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Re=M(Me,[[`render`,Le],[`__scopeId`,`data-v-e2470a75`]]),ze=_({name:`StartImage`,components:{UploadIcon:k,ElUpload:v,ElButton:I,ImagePreview:W,InfoIcon:K},mixins:[L,R],data(){return{fileList:[],uploadUrl:z()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){V.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){V.error(this.$t(`luma.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Be={class:`relative`},Ve={class:`flex justify-between`},He={class:`flex justify-start items-center`},Ue={class:`text-sm font-bold`};function We(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,Be,[e(`div`,Ve,[e(`div`,He,[e(`span`,Ue,i(t.$t(`luma.name.startImageUrl`)),1),a(g,{content:t.$t(`luma.description.startImageUrl`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.percentage==null?o(``,!0):(h(),f(_,{key:0,url:e.url||e.response.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ge=M(ze,[[`render`,We],[`__scopeId`,`data-v-122aced6`]]),Ke=_({name:`UploadVideo`,components:{UploadIcon:k,ElUpload:v,ElButton:I,InfoIcon:K,FilePreview:U},mixins:[R],data(){return{fileList:[],uploadUrl:z()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||=void 0},methods:{onExceed(){V.warning(this.$t(`luma.message.uploadVideoExceed`))},onError(){V.error(this.$t(`luma.message.uploadVideoError`))},beforeUpload(e){let t=e.type===`video/mp4`,n=e.size/1024/1024<10;return t?n?!0:(V.error(this.$t(`luma.message.uploadVideoSizeExceed`)),!1):(V.error(this.$t(`luma.message.uploadVideoTypeFailed`)),!1)},onSetVideoUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e,action:`extend`})},async onSuccess(){this.onSetVideoUrl()}}}),qe={class:`relative`},Je={class:`flex justify-between`},Ye={class:`flex justify-start items-center`},Xe={class:`text-sm font-bold`};function Ze(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`file-preview`),v=l(`upload-icon`),y=l(`el-button`),b=l(`el-upload`);return h(),s(`div`,qe,[e(`div`,Je,[e(`div`,Ye,[e(`span`,Xe,i(t.$t(`luma.name.videoUrl`)),1),a(g,{content:t.$t(`luma.description.videoUrl`)},null,8,[`content`])])]),a(b,{"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.mp4`,name:`file`,class:`value`,"show-file-list":!0,limit:1,multiple:!1,action:t.uploadUrl,"before-upload":t.beforeUpload,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.percentage==null?o(``,!0):(h(),f(_,{key:0,url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.uploadVideoUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Qe=M(Ke,[[`render`,Ze],[`__scopeId`,`data-v-8d27905e`]]),$e=_({name:`PromptInput`,components:{PromptTextarea:E},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||=``}});function et(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`luma.name.prompt`),info:e.$t(`luma.description.prompt`),placeholder:e.$t(`luma.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var tt=M($e,[[`render`,et]]),nt=_({name:`ExtendFromInput`,components:{VideoPlayer:X},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:`1080p`}}}},computed:{config(){return this.$store.state.luma?.config}}}),rt={class:`relative`},it={class:`flex mb-2`},at={class:`text-sm font-bold`};function ot(t,n,r,a,c,u){let d=l(`video-player`);return h(),s(`div`,rt,[e(`div`,it,[e(`span`,at,i(t.$t(`luma.name.extend`)),1)]),e(`div`,null,[t.config?.video_url?(h(),f(d,{key:0,src:t.config?.video_url},null,8,[`src`])):o(``,!0)])])}var st=_({name:`ConfigPanel`,components:{MagicIcon:A,LoopSelector:je,StartImageInput:Ge,EndImageInput:Re,EnhancementSelector:he,ElButton:I,PromptInput:tt,ExtendFromInput:M(nt,[[`render`,ot]]),CustomSelector:Ce,UploadVideo:Qe,Consumption:G},emits:[`generate`],computed:{config(){return this.$store.state.luma?.config},consumption(){return P(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),ct={class:`flex flex-col h-full`},lt={class:`flex-1 overflow-y-auto p-5`},ut={class:`flex flex-col items-center justify-center px-5 pb-5`};function dt(t,n,c,u,d,m){let g=l(`extend-from-input`),_=l(`prompt-input`),v=l(`custom-selector`),y=l(`upload-video`),b=l(`start-image-input`),x=l(`end-image-input`),S=l(`enhancement-selector`),C=l(`loop-selector`),w=l(`consumption`),T=l(`magic-icon`),E=l(`el-button`);return h(),s(`div`,ct,[e(`div`,lt,[t.config?.video_id||t.config?.video_url?(h(),f(g,{key:0,class:`mb-4`})):o(``,!0),a(_,{class:`mb-4`}),t.config?.video_id?o(``,!0):(h(),f(v,{key:1,class:`mb-4`})),t.config?.custom?(h(),f(y,{key:2,class:`mb-4`})):o(``,!0),!(t.config?.video_id||t.config?.video_url)&&!t.config?.custom?(h(),f(b,{key:3,class:`mb-4`})):o(``,!0),a(x,{class:`mb-4`}),a(S,{class:`mb-4`}),a(C,{class:`mb-4`})]),e(`div`,ut,[a(w,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),t.config?.video_url!==void 0||t.config?.custom?(h(),f(E,{key:0,type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(T,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.extend`)),1)]),_:1},8,[`onClick`])):(h(),f(E,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(T,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`luma.button.generate`)),1)]),_:1},8,[`onClick`]))])])}var ft=M(st,[[`render`,dt]]),pt=_({name:`TaskPreview`,components:{ChannelIcon:T,InfoIcon:D,MagicIcon:A,TimeIcon:w,WarningIcon:O,CopyToClipboard:H,ElAlert:b,VideoPlayer:X,ElTooltip:y,ElButton:I,ApiCodeButton:Z},props:{modelValue:{type:Object,required:!0}},emits:[`extend`],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,t){console.debug(`set config`,t),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:`extend`,thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit(`extend`)},onDownload(e){window.open(e,`_blank`)}}}),mt={class:`preview`},ht={class:`left`},gt={class:`main`},_t={class:`bot`},vt={class:`datetime`},yt={class:`info`},bt={key:0,class:`prompt mt-2`},xt={key:0},St={key:1},Ct={key:0,class:n({content:!0,failed:!0})},wt={key:0,class:`mb-4`},Tt={key:1,class:n({operations:!0,"mt-2":!0,"mb-4":!0})},Et={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Dt={key:1,class:n({content:!0})},Ot={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},kt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},At={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},jt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Mt={key:2,class:n({content:!0})},Nt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Pt(n,c,u,d,f,m){let g=l(`capability-presentation`),_=l(`video-player`),v=l(`el-button`),y=l(`el-tooltip`),b=l(`api-code-button`),x=l(`magic-icon`),S=l(`copy-to-clipboard`),C=l(`time-icon`),w=l(`el-alert`),T=l(`warning-icon`),E=l(`info-icon`),D=l(`channel-icon`);return h(),s(`div`,mt,[e(`div`,ht,[a(g,{capability:`luma`,part:`avatar`,class:`avatar`})]),e(`div`,gt,[e(`div`,_t,[a(g,{capability:`luma`,part:`name`}),e(`span`,vt,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,yt,[n.modelValue?.request?.prompt?(h(),s(`p`,bt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,xt,` - (`+i(n.$t(`luma.status.pending`))+`) `,1)),n.modelValue?.response?.state===`processing`||n.modelValue?.response?.state===`pending`?(h(),s(`span`,St,` - (`+i(n.$t(`luma.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,Ct,[n.modelValue.response.video_url?(h(),s(`div`,wt,[a(_,{src:n.modelValue.response.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response&&!n.config?.custom?(h(),s(`div`,Tt,[a(y,{class:`box-item`,effect:`dark`,content:n.$t(`luma.message.extendVideo`),placement:`top-start`},{default:p(()=>[a(v,{type:`info`,size:`small`,class:`btn-action`,onClick:c[0]||=t(e=>n.onExtend(e,n.modelValue?.response),[`stop`])},{default:p(()=>[r(i(n.$t(`luma.button.extend`)),1)]),_:1})]),_:1},8,[`content`]),a(y,{class:`box-item`,effect:`dark`,content:n.$t(`luma.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(v,{type:`info`,size:`small`,class:`btn-action`,onClick:c[1]||=t(e=>n.onDownload(n.modelValue?.response?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`luma.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(b,{path:`/luma/videos`,body:n.modelValue?.request},null,8,[`body`])])):o(``,!0),a(w,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,Et,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,$,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.state===`failed`||n.modelValue?.response?.success===!1?(h(),s(`div`,Dt,[a(w,{closable:!1,class:`failure`},{template:p(()=>[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.failure`)),1)]),default:p(()=>[e(`p`,Ot,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,kt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(S,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,At,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,jt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.traceId`))+`: `+i(n.modelValue?.trace_id)+` `,1),a(S,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),!n.modelValue?.response||n.modelValue?.response?.state===`processing`||n.modelValue?.response?.state===`pending`?(h(),s(`div`,Mt,[a(w,{closable:!1,class:`info`},{template:p(()=>[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`luma.status.processing`:`luma.status.pending`)),1)]),default:p(()=>[e(`p`,Nt,[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`luma.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(S,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var Ft=_({name:`RecentPanel`,components:{BotPlaceholder:Q,TaskPreview:M(pt,[[`render`,Pt],[`__scopeId`,`data-v-8bf2a835`]]),NoTasks:J,ScrollList:q},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`,`extend`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),It={key:0},Lt={key:2,class:`w-full h-full flex items-center justify-center`};function Rt(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,It,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[1]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,n=>(h(),f(g,{key:n.id,"model-value":n,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,Lt,[a(v)])):o(``,!0)],64)}var zt=_({name:`LumaIndex`,components:{ConfigPanel:ft,Layout:se,RecentPanel:M(Ft,[[`render`,Rt]])},mixins:[F],inject:[`initialized`],emits:[`extend`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===B.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===B.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Y({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`luma/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`luma/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){console.debug(`scrolling down`),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(`luma/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!j(this.uploadTracker,e=>this.$t(e),e=>V.warning(e)))return;let e={...this.config,async:!0};if(!this.hasText(e.prompt)){V.error(this.$t(`luma.message.promptRequired`));return}if(e.prompt=e.prompt?.trim(),!ee())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}V.info(this.$t(`luma.message.startingTask`)),te(`luma`,N.generate(e,{token:t})).then(()=>{V.success(this.$t(`luma.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?V.error(this.$t(`luma.message.usedUp`)):V.error(this.$t(`luma.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function Bt(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`loading`,`onReachTop`])]),_:1})}var Vt=M(zt,[[`render`,Bt]]);export{Vt as default};
@@ -0,0 +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,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{n as v,r as y,t as b}from"./select-DW3H8Cyb.js";import{t as x}from"./upload-zeb95gHP.js";import{t as S}from"./tooltip-Cp5x5YK-.js";import{t as C}from"./alert-DDomaAor.js";import{t as w}from"./drawer-D3Ieb275.js";import{t as T}from"./input-number-BNYhheHb.js";import{n as E}from"./taskDrawerMixin-CFzLna7k.js";import{t as D}from"./box-DQH9ZwMN.js";import{t as O}from"./clock-B2aR5D-m.js";import{r as k,t as A}from"./PromptTextarea-SlwbqpPN.js";import{t as j}from"./image-ti3oDtsv.js";import{t as M}from"./info-Bx0W99ua.js";import{t as N}from"./triangle-alert-Bm11tXxr.js";import{t as P}from"./upload-Bd3dUhzA.js";import{t as F}from"./wand-sparkles-Bfkh-7H0.js";import{t as ee}from"./zap-C4aYn_F0.js";import{Cn as te,En as I,Sn as ne,Tn as re,_n as L,bn as R,gn as z,mn as B,pn as ie,vn as V,xn as H,yn as U}from"./constants-P5wTiWzI.js";import{Bt as ae,E as W,Gt as oe,Ht as se,Mi as G,Ut as ce,Vt as le,_i as ue,ai as de,en as fe,gr as pe,ni as K,vi as q,wn as me}from"./index-DN3R8m7E.js";import{t as he}from"./CopyToClipboard-CkXS44Md.js";import{t as J}from"./ImagePreview-CkB7m_mh.js";import{t as ge}from"./Consumption-BlwUHwce.js";import{a as Y,n as _e,r as ve,t as ye}from"./pagination-C4WgQYO7.js";import{t as be}from"./ApiCodeButton-m9CgZRja.js";import{t as xe}from"./BotPlaceholder-c1cNbMr3.js";import{t as Se}from"./ImageWrapper-BIgeTG-M.js";var Ce=_({name:`LayoutSeedream`,components:{MagicIcon:F,ElDrawer:w,ElButton:G},mixins:[E]}),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-6 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 f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,we,[e(`div`,Te,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ee,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Oe=W(Ce,[[`render`,De],[`__scopeId`,`data-v-c10167d0`]]),ke=_({name:`SeedreamPromptInput`,components:{PromptTextarea:A},computed:{prompt:{get(){return this.$store.state.seedream?.config?.prompt},set(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Ae(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`seedream.name.prompt`),info:e.$t(`seedream.description.prompt`),placeholder:e.$t(`seedream.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var je=W(ke,[[`render`,Ae]]),Me={image:!0,imageRequired:!1,sizeTiers:[`1K`,`2K`,`3K`,`4K`],sizeAdaptive:!0,sizePixel:!0,sizePixelDefault:void 0,groupGeneration:!1,seed:!1,guidanceScale:!1,outputFormat:!1,tools:!1};function X(e){switch(e){case R:return{image:!0,imageRequired:!1,sizeTiers:[`1K`,`2K`],sizeAdaptive:!0,sizePixel:!0,groupGeneration:!1,seed:!1,guidanceScale:!1,outputFormat:!0,tools:!1};case U:return{image:!0,imageRequired:!1,sizeTiers:[`2K`,`3K`,`4K`],sizeAdaptive:!0,sizePixel:!0,groupGeneration:!0,seed:!1,guidanceScale:!1,outputFormat:!0,tools:!0};case V:return{image:!0,imageRequired:!1,sizeTiers:[`2K`,`4K`],sizeAdaptive:!0,sizePixel:!0,groupGeneration:!0,seed:!1,guidanceScale:!1,outputFormat:!1,tools:!1};case L:return{image:!0,imageRequired:!1,sizeTiers:[`1K`,`2K`,`4K`],sizeAdaptive:!0,sizePixel:!0,groupGeneration:!0,seed:!1,guidanceScale:!1,outputFormat:!1,tools:!1};case z:return{image:!1,imageRequired:!1,sizeTiers:[],sizeAdaptive:!1,sizePixel:!0,sizePixelDefault:`1024x1024`,groupGeneration:!1,seed:!0,guidanceScale:!0,guidanceScaleDefault:B[z],outputFormat:!1,tools:!1};case H:return{image:!0,imageRequired:!0,sizeTiers:[],sizeAdaptive:!1,sizePixel:!0,sizePixelDefault:`1024x1024`,groupGeneration:!1,seed:!1,guidanceScale:!0,guidanceScaleDefault:B[H],outputFormat:!1,tools:!1};default:return Me}}function Z(e,t){let n=X(e);return n.imageRequired||n.image&&t?.length?`edit`:`generate`}var Ne=[`1K`,`2K`,`3K`,`4K`];function Pe(e,t){if(!e)return[];let n=t.model??e.model;if(!n)return[];let r=X(n),i=[];Array.isArray(e.image)&&e.image.length>0&&!r.image&&i.push({field:`image`,i18nLabel:`seedream.name.imageUrls`});let a=typeof e.size==`string`?e.size:void 0;if(a){let e=a.toUpperCase();(Ne.includes(e)&&!r.sizeTiers.includes(e)||a===`adaptive`&&!r.sizeAdaptive)&&i.push({field:`size`,i18nLabel:`seedream.name.size`})}return e.sequential_image_generation===`auto`&&!r.groupGeneration&&i.push({field:`sequential_image_generation`,i18nLabel:`seedream.name.maxImages`}),e.seed!==void 0&&e.seed!==null&&!r.seed&&i.push({field:`seed`,i18nLabel:`seedream.name.seed`}),e.guidance_scale!==void 0&&e.guidance_scale!==null&&!r.guidanceScale&&i.push({field:`guidance_scale`,i18nLabel:`seedream.name.guidanceScale`}),e.output_format&&!r.outputFormat&&i.push({field:`output_format`,i18nLabel:`seedream.name.outputFormat`}),Array.isArray(e.tools)&&e.tools.length>0&&!r.tools&&i.push({field:`tools`,i18nLabel:`seedream.name.tools`}),i}function Fe(e,t,n){let r={...e},i=X(n.model??e.model);for(let e of t)switch(e.field){case`image`:delete r.image;break;case`size`:i.sizePixelDefault?r.size=i.sizePixelDefault:delete r.size;break;case`sequential_image_generation`:r.sequential_image_generation=`disabled`,delete r.sequential_image_generation_options;break;case`seed`:delete r.seed;break;case`guidance_scale`:delete r.guidance_scale;break;case`output_format`:delete r.output_format;break;case`tools`:delete r.tools;break}return r}var Ie=_({name:`SeedreamImageInput`,components:{UploadIcon:P,ElUpload:x,ElButton:G,InfoIcon:Y,ImagePreview:J},mixins:[ce,le],data(){return{fileList:[],uploadUrl:de()+`/api/v1/files/`,suppressWatch:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url).filter(e=>!!e)},value(){return this.$store.state.seedream?.config?.image},model(){return this.$store.state.seedream?.config?.model},supported(){return X(this.model).image}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetImages()},onExceed(){q.warning(this.$t(`seedream.message.uploadImageExceed`))},onError(){q.error(this.$t(`seedream.message.uploadImageError`))},onSetImages(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,image:e}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetImages()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetImages()}}}),Le={key:0},Re={class:`field`},ze={class:`label`},Be={class:`box`},Ve={class:`title font-bold`},He={class:`value`},Ue={class:`file-list mt-2 flex flex-wrap gap-[10px]`};function We(t,n,u,d,g,_){let v=l(`info-icon`),y=l(`upload-icon`),b=l(`el-button`),x=l(`el-upload`),S=l(`image-preview`);return t.supported?(h(),s(`div`,Le,[e(`div`,Re,[e(`div`,ze,[e(`div`,Be,[e(`h2`,Ve,i(t.$t(`seedream.name.imageUrls`)),1),a(v,{content:t.$t(`seedream.description.imageUrls`),class:`info`},null,8,[`content`])])]),e(`div`,He,[a(x,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,limit:14,multiple:!0,"show-file-list":!1,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-change":t.onChange,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(b,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(y,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedream.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`])])]),e(`div`,Ue,[(h(!0),s(c,null,m(t.fileList,(e,n)=>(h(),f(S,{key:e.uid||e?.response?.file_url||e.url||n,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:r=>t.onRemovePreview(n,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])])):o(``,!0)}var Ge=W(Ie,[[`render`,We],[`__scopeId`,`data-v-ac071e59`]]),Ke=_({name:`SeedreamModelSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:Y},data(){return{revertKey:0,options:[{value:R,label:this.$t(`seedream.model.seedream50pro`)},{value:U,label:this.$t(`seedream.model.seedream50`)},{value:V,label:this.$t(`seedream.model.seedream45`)},{value:L,label:this.$t(`seedream.model.seedream40`)},{value:z,label:this.$t(`seedream.model.seedream30t2i`)},{value:H,label:this.$t(`seedream.model.seededit30i2i`)}]}},computed:{value(){return this.$store.state.seedream?.config?.model}},mounted(){this.value||this.applyModel(ie)},methods:{async onChange(e){let t=this.$store.state.seedream?.config||{},n=Pe(t,{model:e});if(n.length===0){this.applyModel(e);return}let r=n.map(e=>this.$t(e.i18nLabel)).join(`、`);try{await ue.confirm(this.$t(`seedream.message.featureNotSupportedBody`,{fields:r}),this.$t(`seedream.message.featureNotSupportedTitle`),{confirmButtonText:this.$t(`seedream.button.confirmContinue`),cancelButtonText:this.$t(`seedream.button.cancelSwitch`),type:`warning`});let i=Fe({...t,model:e},n,{model:e});this.$store.commit(`seedream/setConfig`,i),q.success(this.$t(`seedream.message.featureRemovedNotice`,{fields:r}))}catch{this.revertKey+=1}},applyModel(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,model:e})}}}),qe={class:`field`},Je={class:`label`},Ye={class:`box`},Xe={class:`title font-bold`};function Ze(t,n,r,o,u,d){let g=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return h(),s(`div`,qe,[e(`div`,Je,[e(`div`,Ye,[e(`h2`,Xe,i(t.$t(`seedream.name.model`)),1),a(g,{content:t.$t(`seedream.description.model`),class:`info`},null,8,[`content`])])]),(h(),f(v,{key:t.revertKey,"model-value":t.value,class:`value`,placeholder:t.$t(`seedream.placeholder.select`),onChange:t.onChange},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onChange`]))])}var Qe=W(Ke,[[`render`,Ze],[`__scopeId`,`data-v-6413c179`]]),$e=_({name:`SeedreamSizeSelector`,components:{ElSelect:y,ElOption:b,ElOptionGroup:v,InfoIcon:Y},data(){return{SEEDREAM_SIZE_ADAPTIVE:re,pixelOptions:te}},computed:{model(){return this.$store.state.seedream?.config?.model},capabilities(){return X(this.model)},value:{get(){return this.$store.state.seedream?.config?.size},set(e){this.$store.commit(`seedream/setConfig`,{...this.$store.state.seedream?.config,size:e})}}},watch:{model:{immediate:!0,handler(){if(this.value)return;let e=this.capabilities;e.sizeTiers.length?this.value=e.sizeTiers.includes(`2K`)?`2K`:e.sizeTiers[0]:e.sizePixelDefault&&(this.value=e.sizePixelDefault)}}}}),et={class:`field`},tt={class:`label`},nt={class:`box`},rt={class:`title font-bold`};function it(t,n,r,u,d,g){let _=l(`info-icon`),v=l(`el-option`),y=l(`el-option-group`),b=l(`el-select`);return h(),s(`div`,et,[e(`div`,tt,[e(`div`,nt,[e(`h2`,rt,i(t.$t(`seedream.name.size`)),1),a(_,{content:t.$t(`seedream.description.size`),class:`info`},null,8,[`content`])])]),a(b,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`seedream.placeholder.size`),filterable:``,"allow-create":``,"default-first-option":``},{default:p(()=>[t.capabilities.sizeTiers.length?(h(),f(y,{key:0,label:t.$t(`seedream.size.group.tier`)},{default:p(()=>[(h(!0),s(c,null,m(t.capabilities.sizeTiers,e=>(h(),f(v,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`label`])):o(``,!0),t.capabilities.sizeAdaptive?(h(),f(y,{key:1,label:t.$t(`seedream.size.group.adaptive`)},{default:p(()=>[(h(),f(v,{key:t.SEEDREAM_SIZE_ADAPTIVE,label:t.$t(`seedream.size.adaptive`),value:t.SEEDREAM_SIZE_ADAPTIVE},null,8,[`label`,`value`]))]),_:1},8,[`label`])):o(``,!0),a(y,{label:t.$t(`seedream.size.group.pixel`)},{default:p(()=>[(h(!0),s(c,null,m(t.pixelOptions,e=>(h(),f(v,{key:e.value,label:`${e.value} (${e.ratio})`,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`label`])]),_:1},8,[`modelValue`,`placeholder`])])}var at=W($e,[[`render`,it],[`__scopeId`,`data-v-dd7bd021`]]),ot=_({name:`SeedreamMaxImagesSelector`,components:{ElInputNumber:T,InfoIcon:Y},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return X(this.config?.model).groupGeneration},referenceImageCount(){let e=this.config?.image;return Array.isArray(e)?e.length:0},effectiveMax(){let e=15-this.referenceImageCount;return Math.max(1,Math.min(15,e))},value:{get(){let e=this.config?.sequential_image_generation_options?.max_images;return typeof e==`number`&&e>=1?e:1},set(e){let t={...this.config||{}},n=Math.max(1,Math.min(this.effectiveMax,Math.floor(e||1)));n>1?(t.sequential_image_generation=`auto`,t.sequential_image_generation_options={...t.sequential_image_generation_options||{},max_images:n}):(t.sequential_image_generation=`disabled`,t.sequential_image_generation_options&&delete t.sequential_image_generation_options),this.$store.commit(`seedream/setConfig`,t)}}},watch:{effectiveMax(e){this.value>e&&(this.value=e)}}}),st={key:0,class:`field`},ct={class:`label`},lt={class:`box`},ut={class:`title font-bold`},dt={class:`value`};function ft(t,n,r,c,u,d){let f=l(`info-icon`),p=l(`el-input-number`);return t.supported?(h(),s(`div`,st,[e(`div`,ct,[e(`div`,lt,[e(`h2`,ut,i(t.$t(`seedream.name.maxImages`)),1),a(f,{content:t.$t(`seedream.description.maxImages`),class:`info`},null,8,[`content`])])]),e(`div`,dt,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,min:1,max:t.effectiveMax,step:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`,`max`])])])):o(``,!0)}var pt=W(ot,[[`render`,ft],[`__scopeId`,`data-v-f079fd20`]]),mt=_({name:`SeedreamOutputFormatSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:Y},data(){return{options:[...ne]}},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return X(this.config?.model).outputFormat},value:{get(){return this.config?.output_format},set(e){let t={...this.config||{}};t.output_format=e,this.$store.commit(`seedream/setConfig`,t)}}}}),ht={key:0,class:`field`},gt={class:`label`},_t={class:`box`},vt={class:`title font-bold`};function yt(t,n,r,u,d,g){let _=l(`info-icon`),v=l(`el-option`),y=l(`el-select`);return t.supported?(h(),s(`div`,ht,[e(`div`,gt,[e(`div`,_t,[e(`h2`,vt,i(t.$t(`seedream.name.outputFormat`)),1),a(_,{content:t.$t(`seedream.description.outputFormat`),class:`info`},null,8,[`content`])])]),a(y,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`seedream.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(v,{key:e,label:e.toUpperCase(),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])):o(``,!0)}var bt=W(mt,[[`render`,yt],[`__scopeId`,`data-v-69ea4c07`]]),xt=_({name:`SeedreamSeedInput`,components:{ElInputNumber:T,InfoIcon:Y},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return X(this.config?.model).seed},value:{get(){let e=this.config?.seed;return typeof e==`number`?e:-1},set(e){let t={...this.config||{}};t.seed=typeof e==`number`&&Number.isInteger(e)?e:-1,this.$store.commit(`seedream/setConfig`,t)}}}}),St={key:0,class:`field`},Ct={class:`label`},wt={class:`box`},Tt={class:`title font-bold`},Et={class:`value`};function Dt(t,n,r,c,u,d){let f=l(`info-icon`),p=l(`el-input-number`);return t.supported?(h(),s(`div`,St,[e(`div`,Ct,[e(`div`,wt,[e(`h2`,Tt,i(t.$t(`seedream.name.seed`)),1),a(f,{content:t.$t(`seedream.description.seed`),class:`info`},null,8,[`content`])])]),e(`div`,Et,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,min:-1,max:2147483647,step:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`])])])):o(``,!0)}var Ot=W(xt,[[`render`,Dt],[`__scopeId`,`data-v-10cdc1e0`]]),kt=_({name:`SeedreamGuidanceScaleInput`,components:{ElInputNumber:T,InfoIcon:Y},computed:{config(){return this.$store.state.seedream?.config||{}},supported(){return X(this.config?.model).guidanceScale},defaultValue(){return X(this.config?.model).guidanceScaleDefault??2.5},value:{get(){let e=this.config?.guidance_scale;return typeof e==`number`?e:this.defaultValue},set(e){let t={...this.config||{}};t.guidance_scale=typeof e==`number`&&e>=1&&e<=10?e:this.defaultValue,this.$store.commit(`seedream/setConfig`,t)}}}}),At={key:0,class:`field`},jt={class:`label`},Mt={class:`box`},Nt={class:`title font-bold`},Pt={class:`value`};function Ft(t,n,r,c,u,d){let f=l(`info-icon`),p=l(`el-input-number`);return t.supported?(h(),s(`div`,At,[e(`div`,jt,[e(`div`,Mt,[e(`h2`,Nt,i(t.$t(`seedream.name.guidanceScale`)),1),a(f,{content:t.$t(`seedream.description.guidanceScale`),class:`info`},null,8,[`content`])])]),e(`div`,Pt,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,min:1,max:10,step:.1,precision:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`])])])):o(``,!0)}var It=W(kt,[[`render`,Ft],[`__scopeId`,`data-v-7386f064`]]),Q=e=>{let t={...e||{}},n=Z(t.model,t.image);return delete t.action,t.watermark=!1,(n!==`edit`||!t.image?.length)&&delete t.image,t.size||delete t.size,t.sequential_image_generation!==`auto`&&delete t.sequential_image_generation_options,{...t,async:!0}},Lt=_({name:`SeedreamConfigPanel`,components:{MagicIcon:F,ElButton:G,PromptInput:je,Consumption:ge,ImageInput:Ge,ModelSelector:Qe,SizeSelector:at,MaxImagesSelector:pt,OutputFormatSelector:bt,SeedInput:Ot,GuidanceScaleInput:It},emits:[`generate`],computed:{action(){return Z(this.config?.model,this.config?.image)},capabilities(){return X(this.config?.model)},config(){return this.$store.state.seedream?.config},consumption(){let e=Q(this.config),t=e.sequential_image_generation===`auto`?Math.max(1,Math.floor(e.sequential_image_generation_options?.max_images||1)):1;return oe({...e,action:this.action,model:I(e.model),input_image_count:e.image?.length||0,count:t},this.service?.cost)},service(){return this.$store.state.seedream?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Rt={class:`flex flex-col h-full`},zt={class:`flex-1 overflow-y-auto p-5`},Bt={class:`flex flex-col items-center justify-center px-5 pb-5`};function Vt(t,n,c,u,d,m){let g=l(`model-selector`),_=l(`size-selector`),v=l(`max-images-selector`),y=l(`output-format-selector`),b=l(`seed-input`),x=l(`guidance-scale-input`),S=l(`prompt-input`),C=l(`image-input`),w=l(`consumption`),T=l(`magic-icon`),E=l(`el-button`);return h(),s(`div`,Rt,[e(`div`,zt,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`}),a(S,{class:`mb-4`}),t.capabilities.image?(h(),f(C,{key:0,class:`mb-4`})):o(``,!0)]),e(`div`,Bt,[a(w,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(E,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(T,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`seedream.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Ht=W(Lt,[[`render`,Vt]]),Ut=_({name:`SeedreamTaskPreview`,components:{ApplicationIcon:D,ChannelIcon:k,ImageIcon:j,InfoIcon:M,LightningIcon:ee,MagicIcon:F,TimeIcon:O,WarningIcon:N,CopyToClipboard:he,ElAlert:C,ImageWrapper:Se,ElButton:G,ElTooltip:S,ImagePreview:J,ApiCodeButton:be},props:{modelValue:{type:Object,required:!0}},computed:{apiRequest(){return Q(this.modelValue?.request)},isEdit(){return Array.isArray(this.modelValue?.request?.image)&&(this.modelValue?.request?.image?.length||0)>0},images(){let e=[];return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(t=>{e.push(t)}),e}},methods:{shortModel(e){return I(e)||e},onEdit(e){if(!e)return;console.debug(`Edit image:`,e);let t={...this.$store.state.seedream?.config||{}};t.image=[e],this.$store.commit(`seedream/setConfig`,t)}}}),Wt={class:`preview`},Gt={class:`left`},Kt={class:`main`},qt={class:`bot`},Jt={class:`datetime`},Yt={class:`info`},Xt={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Zt={key:1,class:`prompt mt-2`},Qt={key:0},$t={key:0,class:n({content:!0})},en={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},tn={key:1,class:n({content:!0,failed:!0})},nn={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},rn={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},an={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},on={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},sn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},cn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ln={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},un={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},fn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},hn={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},gn={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},_n={key:3,class:n({content:!0})},vn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},yn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function bn(u,d,g,_,v,y){let b=l(`capability-presentation`),x=l(`image-preview`),S=l(`time-icon`),C=l(`magic-icon`),w=l(`copy-to-clipboard`),T=l(`el-alert`),E=l(`image-wrapper`),D=l(`el-button`),O=l(`el-tooltip`),k=l(`api-code-button`),A=l(`application-icon`),j=l(`image-icon`),M=l(`lightning-icon`),N=l(`channel-icon`),P=l(`warning-icon`),F=l(`info-icon`);return h(),s(`div`,Wt,[e(`div`,Gt,[a(b,{capability:`seedream`,part:`avatar`,class:`avatar`})]),e(`div`,Kt,[e(`div`,qt,[a(b,{capability:`seedream`,part:`name`}),e(`span`,Jt,i(u.$dayjs.format(``+new Date(parseFloat((u.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,Yt,[Array.isArray(u.modelValue?.request?.image)&&u.modelValue?.request?.image.length>0?(h(),s(`div`,Xt,[(h(!0),s(c,null,m(u.modelValue?.request?.image,(e,t)=>(h(),f(x,{key:t,url:e,name:`image-${t+1}`,closable:!1},null,8,[`url`,`name`]))),128))])):o(``,!0),u.modelValue?.request?.prompt?(h(),s(`p`,Zt,[r(i(u.modelValue?.request?.prompt)+` `,1),u.modelValue?.response?o(``,!0):(h(),s(`span`,Qt,` - (`+i(u.$t(`seedream.status.pending`))+`) `,1))])):o(``,!0)]),u.modelValue?.response?u.modelValue?.response?.success===!0?(h(),s(`div`,tn,[e(`div`,nn,[(h(!0),s(c,null,m(u.images,(e,t)=>(h(),f(E,{key:t,src:e?.image_url,"raw-src":e?.image_url},null,8,[`src`,`raw-src`]))),128))]),e(`div`,rn,[a(O,{class:`box-item`,effect:`dark`,content:u.$t(`common.button.edit`),placement:`top-start`},{default:p(()=>[a(D,{type:`info`,size:`small`,class:`btn-action`,onClick:d[0]||=t(e=>u.onEdit(u.images?.[0]?.image_url),[`stop`])},{default:p(()=>[r(i(u.$t(`common.button.edit`)),1)]),_:1})]),_:1},8,[`content`]),a(k,{path:`/seedream/images`,body:u.apiRequest},null,8,[`body`])]),a(T,{closable:!1,class:`mt-2 success`},{default:p(()=>[u.modelValue?.request?.model?(h(),s(`p`,an,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`seedream.name.model`))+`: `+i(u.shortModel(u.modelValue?.request?.model)),1)])):o(``,!0),u.modelValue?.request?.size?(h(),s(`p`,on,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`seedream.name.size`))+`: `+i(u.modelValue?.request?.size),1)])):o(``,!0),e(`p`,sn,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`seedream.name.task`))+`: `+i(u.isEdit?u.$t(`seedream.name.edits`):u.$t(`seedream.name.generate`)),1)]),e(`p`,cn,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`seedream.name.taskId`))+`: `+i(u.modelValue?.id)+` `,1),a(w,{content:u.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),u.modelValue?.elapsed?(h(),s(`p`,$,[a(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`seedream.name.elapsed`))+`: `+i(u.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),u.modelValue?.response?.trace_id?(h(),s(`p`,ln,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`seedream.name.traceId`))+`: `+i(u.modelValue?.response?.trace_id)+` `,1),a(w,{content:u.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):u.modelValue?.response?.success===!1?(h(),s(`div`,{key:2,class:n({content:!0,"mt-[15px]":!u.modelValue?.request?.prompt})},[a(T,{closable:!1,class:`failure`},{template:p(()=>[a(P,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`seedream.name.failure`)),1)]),default:p(()=>[u.modelValue?.request?.model?(h(),s(`p`,un,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`seedream.name.model`))+`: `+i(u.shortModel(u.modelValue?.request?.model)),1)])):o(``,!0),u.modelValue?.request?.size?(h(),s(`p`,dn,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`seedream.name.size`))+`: `+i(u.modelValue?.request?.size),1)])):o(``,!0),e(`p`,fn,[a(M,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`seedream.name.task`))+`: `+i(u.isEdit?u.$t(`seedream.name.edits`):u.$t(`seedream.name.generate`)),1)]),e(`p`,pn,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`seedream.name.taskId`))+`: `+i(u.modelValue?.id)+` `,1),a(w,{content:u.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),u.modelValue?.response?.error?.message?(h(),s(`p`,mn,[a(F,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`seedream.name.failureReason`))+`: `+i(u.modelValue?.response?.error?.message)+` `,1),a(w,{content:u.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])])):o(``,!0),u.modelValue?.elapsed?(h(),s(`p`,hn,[a(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`seedream.name.elapsed`))+`: `+i(u.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),u.modelValue?.response?.trace_id?(h(),s(`p`,gn,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`seedream.name.traceId`))+`: `+i(u.modelValue?.response?.trace_id)+` `,1),a(w,{content:u.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})],2)):(h(),s(`div`,_n,[a(T,{closable:!1,class:`info`},{template:p(()=>[a(F,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`seedream.name.status`)),1)]),default:p(()=>[e(`p`,vn,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`seedream.name.taskId`))+`: `+i(u.modelValue?.id)+` `,1),a(w,{content:u.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),u.modelValue?.response?.trace_id?(h(),s(`p`,yn,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`seedream.name.traceId`))+`: `+i(u.modelValue?.response?.trace_id)+` `,1),a(w,{content:u.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])):o(``,!0)]),_:1})])):(h(),s(`div`,$t,[a(T,{closable:!1,class:`info`},{template:p(()=>[a(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`seedream.status.pending`)),1)]),default:p(()=>[e(`p`,en,[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`seedream.name.taskId`))+`: `+i(u.modelValue?.id)+` `,1),a(w,{content:u.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})]))])])}var xn=_({name:`SeedreamRecentPanel`,components:{TaskPreview:W(Ut,[[`render`,bn],[`__scopeId`,`data-v-9c8af4df`]]),BotPlaceholder:xe,NoTasks:ve,ScrollList:_e},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.seedream?.tasks,items:this.$store.state.seedream?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Sn={key:0},Cn={key:2,class:`w-full h-full flex items-center justify-center`};function wn(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,Sn,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,e=>(h(),f(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,Cn,[a(v)])):o(``,!0)],64)}var Tn=_({name:`SeedreamIndex`,components:{ConfigPanel:Ht,Layout:Oe,RecentPanel:W(xn,[[`render`,wn]])},mixins:[se],inject:[`initialized`],data(){return{task:void 0,job:0,loading:!1}},computed:{applicationsLoading(){return this.$store.state.seedream?.status?.getApplications===K.Request},tasksLoading(){return this.$store.state.seedream?.status?.getTasks===K.Request},credential(){return this.$store.state.seedream?.credential},config(){return this.$store.state.seedream?.config},application(){return this.$store.state.seedream?.application},tasks(){return this.$store.state.seedream?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await ye({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loading,setLoading:e=>this.loading=e,isBlocked:()=>this.tasksLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`seedream/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`seedream/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.tasksLoading){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=20,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),await this.$store.dispatch(`seedream/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})},async onGenerate(){if(!ae(this.uploadTracker,e=>this.$t(e),e=>q.warning(e)))return;if(X(this.config?.model).imageRequired&&!this.config?.image?.length){q.warning(this.$t(`seedream.message.referenceImageRequired`));return}let e=Q(this.config);if(!fe())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}q.info(this.$t(`seedream.message.startingTask`)),pe(`seedream`,me.generate(e,{token:t})).then(()=>{q.success(this.$t(`seedream.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?q.error(this.$t(`seedream.message.usedUp`)):q.error(this.$t(`seedream.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function En(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loading,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Dn=W(Tn,[[`render`,En]]);export{Dn as default};
@@ -0,0 +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,T as c,at as l,ht as u,it as d,j as f,mt as p,qt as m,rt as h,tt as g,x as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{t as y}from"./upload-zeb95gHP.js";import{t as b}from"./tooltip-Cp5x5YK-.js";import{t as x}from"./alert-DDomaAor.js";import{t as S}from"./drawer-D3Ieb275.js";import{n as C}from"./taskDrawerMixin-CFzLna7k.js";import{t as w}from"./box-DQH9ZwMN.js";import{t as T}from"./clock-B2aR5D-m.js";import{n as E,r as D,t as O}from"./PromptTextarea-SlwbqpPN.js";import{t as k}from"./info-Bx0W99ua.js";import{t as A}from"./triangle-alert-Bm11tXxr.js";import{t as j}from"./upload-Bd3dUhzA.js";import{t as M}from"./wand-sparkles-Bfkh-7H0.js";import{Dt as ee,Et as N,St as P,Tt as F,wt as I,xt as L}from"./constants-P5wTiWzI.js";import{Bt as R,E as z,Gt as te,Ht as ne,Mi as B,Ut as V,Vt as H,ai as U,en as W,gr as G,ni as K,vi as q,xn as J}from"./index-DN3R8m7E.js";import{t as Y}from"./CopyToClipboard-CkXS44Md.js";import{t as X}from"./FilePreview-C5HB6QTD.js";import{t as Z}from"./ImagePreview-CkB7m_mh.js";import{t as re}from"./Consumption-BlwUHwce.js";import{a as Q,n as ie,r as ae,t as oe}from"./pagination-C4WgQYO7.js";import{t as se}from"./VideoPlayer-LQjA3Xp9.js";import{t as ce}from"./ApiCodeButton-m9CgZRja.js";import{t as le}from"./BotPlaceholder-c1cNbMr3.js";var ue=v({name:`LayoutOmni`,components:{MagicIcon:M,ElDrawer:S,ElButton:B},mixins:[C]}),de={class:`main flex flex-row flex-1`},fe={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)]`},pe={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function me(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,de,[e(`div`,fe,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,pe,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[_,!t.tasksEmpty]]),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var he=z(ue,[[`render`,me],[`__scopeId`,`data-v-b76ffabf`]]),ge=v({name:`OmniPromptInput`,components:{PromptTextarea:O},computed:{prompt:{get(){return this.$store.state.omni?.config?.prompt},set(e){this.$store.commit(`omni/setConfig`,{...this.$store.state.omni?.config,prompt:e})}}},mounted(){this.prompt||=``}});function _e(e,t,n,r,i,a){let o=l(`prompt-textarea`);return g(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`omni.name.prompt`),info:e.$t(`omni.description.prompt`),placeholder:e.$t(`omni.placeholder.prompt`),"min-rows":5},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var ve=z(ge,[[`render`,_e]]),ye=v({name:`OmniResolutionSelector`,components:{InfoIcon:Q},data(){return{options:[{value:ee,label:`720p`},{value:N,label:`1080p`}]}},computed:{value:{get(){return this.$store.state.omni?.config?.resolution},set(e){this.$store.commit(`omni/setConfig`,{...this.$store.state.omni?.config,resolution:e})}}},mounted(){this.value||=P}}),be={class:`resolution`},xe={class:`header`},Se={class:`title font-bold`},Ce={class:`items`},we=[`onClick`];function Te(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,be,[e(`div`,xe,[e(`h2`,Se,i(t.$t(`omni.name.resolution`)),1),a(p,{content:t.$t(`omni.description.resolution`),class:`info`},null,8,[`content`])]),e(`div`,Ce,[(g(!0),s(c,null,h(t.options,e=>(g(),s(`div`,{key:e.value,class:n([`item`,{active:t.value===e.value}]),onClick:n=>t.value=e.value},i(e.label),11,we))),128))])])}var Ee=z(ye,[[`render`,Te],[`__scopeId`,`data-v-1f9abe29`]]),De=v({name:`OmniRatioSelector`,components:{InfoIcon:Q},computed:{options(){return[{value:I,label:`16:9`,w:32,h:18},{value:F,label:`9:16`,w:18,h:32}]},value:{get(){return this.$store.state.omni?.config?.aspect_ratio},set(e){this.$store.commit(`omni/setConfig`,{...this.$store.state.omni?.config,aspect_ratio:e})}}},mounted(){this.value||=L}}),Oe={class:`ratio`},ke={class:`header`},Ae={class:`title font-bold`},je={class:`items`},Me=[`onClick`],Ne={class:`preview`},Pe={class:`name`};function Fe(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,Oe,[e(`div`,ke,[e(`h2`,Ae,i(t.$t(`omni.name.ratio`)),1),a(p,{content:t.$t(`omni.description.ratio`),class:`info`},null,8,[`content`])]),e(`div`,je,[(g(!0),s(c,null,h(t.options,r=>(g(),s(`div`,{key:r.value,class:n([`item`,{active:t.value===r.value}]),onClick:e=>t.value=r.value},[e(`div`,Ne,[e(`div`,{class:`rect`,style:m({width:r.w+`px`,height:r.h+`px`})},null,4)]),e(`div`,Pe,i(r.label),1)],10,Me))),128))])])}var Ie=z(De,[[`render`,Fe],[`__scopeId`,`data-v-1c0c1511`]]),Le=4,Re=v({name:`OmniReferenceImagesInput`,components:{ElUpload:y,ElButton:B,InfoIcon:Q,ImagePreview:Z,UploadIcon:j},mixins:[V,H],data(){return{fileList:[],uploadUrl:U()+`/api/v1/files/`,limit:Le,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.omni?.config?.image_urls}},watch:{value:{immediate:!0,handler(e){if(this.suppressWatch)return;if(!e||e.length===0){let e=(this.fileList||[]).filter(e=>!e?.response?.file_url);this.fileList=e.length?e:[];return}let t=[];e.forEach(e=>{let n=this.fileList.find(t=>t?.response?.file_url===e||t?.url===e);n?t.push(n):t.push({name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}})}),(this.fileList||[]).filter(e=>!e?.response?.file_url).forEach(e=>{t.some(t=>t===e||t?.url===e?.url||t?.response?.file_url===e?.response?.file_url)||t.push(e)}),this.fileList=t}}},methods:{onChange(e){if(!e?.url&&e?.raw)try{e.url=URL.createObjectURL(e.raw)}catch{}},onRemove(e){if(e?.url&&typeof e.url==`string`&&e.url.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}this.onSetReferenceImages()},onExceed(){q.warning(this.$t(`omni.message.uploadReferenceExceed`))},onError(){q.error(this.$t(`omni.message.uploadError`))},onSetReferenceImages(){let e=this.urls;this.suppressWatch=!0,this.$store.commit(`omni/setConfig`,{...this.$store.state.omni?.config,image_urls:e.length?e:void 0}),this.$nextTick(()=>{this.suppressWatch=!1})},async onSuccess(e,t){e?.file_url&&(t.url=e.file_url,t.response=e),this.onSetReferenceImages()},onRemovePreview(e,t){if(this.fileList.splice(e,1),t?.url&&typeof t.url==`string`&&t.url.startsWith(`blob:`))try{URL.revokeObjectURL(t.url)}catch{}this.onSetReferenceImages()}}}),ze={class:`field mb-[10px] flex items-center justify-between`},Be={class:`title m-0 text-[14px] font-bold`},Ve={class:`upload-wrapper flex flex-col items-start gap-[8px]`},He={class:`controls flex items-center`},Ue={class:`file-list flex flex-wrap gap-[10px]`};function We(t,n,o,u,d,m){let _=l(`upload-icon`),v=l(`el-button`),y=l(`el-upload`),b=l(`info-icon`),x=l(`image-preview`);return g(),s(c,null,[e(`div`,ze,[e(`h2`,Be,i(t.$t(`omni.name.referenceImages`)),1),e(`div`,Ve,[e(`div`,He,[a(y,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value`,limit:t.limit,multiple:!0,"show-file-list":!1,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-change":t.onChange,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(v,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(_,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`omni.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`limit`,`action`,`on-exceed`,`on-error`,`on-success`,`on-change`,`on-remove`,`headers`]),a(b,{content:t.$t(`omni.description.referenceImages`)},null,8,[`content`])])])]),e(`div`,Ue,[(g(!0),s(c,null,h(t.fileList,(e,n)=>(g(),f(x,{key:e.uid||e?.response?.file_url||e.url||n,url:e.url||e?.response?.file_url,name:e.name,percentage:e.percentage,onRemove:r=>t.onRemovePreview(n,e)},null,8,[`url`,`name`,`percentage`,`onRemove`]))),128))])],64)}var Ge=z(Re,[[`render`,We]]),Ke=v({name:`OmniVideoInput`,components:{ElUpload:y,ElButton:B,InfoIcon:Q,FilePreview:X,UploadIcon:j},mixins:[H],data(){return{fileList:[],uploadUrl:U()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},videoUrl(){return this.$store.state.omni?.config?.video_urls?.[0]},videoName(){let e=this.videoUrl||``;return e.split(`/`).pop()||e}},methods:{onExceed(){q.warning(this.$t(`omni.message.uploadVideoExceed`))},onError(){q.error(this.$t(`omni.message.uploadVideoError`))},beforeUpload(e){let t=e.type===`video/mp4`||e.type===`video/quicktime`,n=e.size/1024/1024<200;return t?n?!0:(q.error(this.$t(`omni.message.uploadVideoSizeExceed`)),!1):(q.error(this.$t(`omni.message.uploadVideoTypeFailed`)),!1)},setVideoUrls(e){this.$store.commit(`omni/setConfig`,{...this.$store.state.omni?.config,video_urls:e?[e]:void 0})},onRemove(){this.fileList=[],this.setVideoUrls(void 0)},async onSuccess(e,t){let n=e?.file_url||t?.response?.file_url;this.setVideoUrls(n||void 0)}}}),qe={class:`field flex items-center justify-between`},Je={class:`title font-bold text-[14px] mb-[10px]`},Ye={class:`upload-wrapper flex flex-col items-start gap-[8px]`},Xe={class:`controls flex items-center`},Ze={key:0,class:`file-list flex flex-wrap gap-[10px]`};function Qe(t,n,u,d,f,m){let h=l(`upload-icon`),_=l(`el-button`),v=l(`el-upload`),y=l(`info-icon`),b=l(`file-preview`);return g(),s(c,null,[e(`div`,qe,[e(`h2`,Je,i(t.$t(`omni.name.referenceVideo`)),1),e(`div`,Ye,[e(`div`,Xe,[a(v,{"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.mp4,.mov`,name:`file`,class:`value`,"show-file-list":!1,limit:1,multiple:!1,action:t.uploadUrl,"before-upload":t.beforeUpload,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{default:p(()=>[a(_,{size:`small`,type:`primary`,round:``},{default:p(()=>[a(h,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`omni.button.uploadVideo`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`]),a(y,{content:t.$t(`omni.description.referenceVideo`),class:`ml-2`},null,8,[`content`])])])]),t.videoUrl?(g(),s(`div`,Ze,[a(b,{url:t.videoUrl,name:t.videoName,percentage:100,onRemove:t.onRemove},null,8,[`url`,`name`,`onRemove`])])):o(``,!0)],64)}var $e=v({name:`OmniConfigPanel`,components:{ElButton:B,MagicIcon:M,PromptInput:ve,ResolutionSelector:Ee,RatioSelector:Ie,ReferenceImagesInput:Ge,VideoInput:z(Ke,[[`render`,Qe],[`__scopeId`,`data-v-74e85e4f`]]),Consumption:re},emits:[`generate`],computed:{config(){return this.$store.state.omni?.config},consumption(){return te(this.config,this.service?.cost)},service(){return this.$store.state.omni?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),et={class:`flex flex-col h-full`},tt={class:`flex-1 overflow-y-auto p-5`},nt={class:`flex flex-col items-center justify-center px-5 pb-5`};function rt(t,n,o,c,u,d){let f=l(`prompt-input`),m=l(`ratio-selector`),h=l(`resolution-selector`),_=l(`reference-images-input`),v=l(`video-input`),y=l(`consumption`),b=l(`magic-icon`),x=l(`el-button`);return g(),s(`div`,et,[e(`div`,tt,[a(f,{class:`mb-4`}),a(m,{class:`mb-4`}),a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`})]),e(`div`,nt,[a(y,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(x,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(b,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`omni.button.generate`)),1)]),_:1},8,[`onClick`])])])}var it=z($e,[[`render`,rt]]),at=v({name:`OmniTaskPreview`,components:{ApplicationIcon:w,ChannelIcon:D,CopyToClipboard:Y,ExpandIcon:E,InfoIcon:k,MagicIcon:M,TimeIcon:T,WarningIcon:A,ElAlert:x,VideoPlayer:se,ElTooltip:b,ElButton:B,ImagePreview:Z,ApiCodeButton:ce},props:{modelValue:{type:Object,required:!0}},data(){return{nowTs:Date.now(),timer:0}},computed:{video(){return this.modelValue?.response?.data?.[0]},inputImage(){return this.modelValue?.request?.image_urls?.[0]},pendingElapsed(){let e=parseFloat((this.modelValue?.created_at||``).toString());if(e)return Math.max(0,Math.floor(this.nowTs/1e3-e))}},watch:{"modelValue.response":{handler(e){e&&this.stopTimer()}}},mounted(){this.modelValue?.response||(this.timer=window.setInterval(()=>{this.nowTs=Date.now()},1e3))},beforeUnmount(){this.stopTimer()},methods:{stopTimer(){this.timer&&=(window.clearInterval(this.timer),0)},onDownload(e){window.open(e,`_blank`)}}}),ot={class:`preview`},st={class:`left`},ct={class:`main`},lt={class:`bot`},ut={class:`datetime`},dt={class:`info`},ft={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},pt={key:1,class:`prompt mt-2`},mt={key:0},ht={key:1},gt={key:0,class:n({content:!0})},_t={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},yt={key:1,class:n({content:!0})},bt={key:0,class:`mb-4`},xt={key:1,class:n({operations:!0,"mt-2":!0,"mb-2":!0})},St={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},wt={key:0},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Dt={key:2,class:n({content:!0})},Ot={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},kt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},At={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},jt={key:3,class:n({content:!0})},Mt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Nt(n,c,u,d,f,m){let h=l(`capability-presentation`),_=l(`image-preview`),v=l(`time-icon`),y=l(`magic-icon`),b=l(`copy-to-clipboard`),x=l(`el-alert`),S=l(`video-player`),C=l(`el-button`),w=l(`el-tooltip`),T=l(`api-code-button`),E=l(`application-icon`),D=l(`expand-icon`),O=l(`channel-icon`),k=l(`warning-icon`),A=l(`info-icon`);return g(),s(`div`,ot,[e(`div`,st,[a(h,{capability:`omni`,part:`avatar`,class:`avatar`})]),e(`div`,ct,[e(`div`,lt,[a(h,{capability:`omni`,part:`name`}),e(`span`,ut,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,dt,[n.inputImage?(g(),s(`div`,ft,[a(_,{url:n.inputImage,name:`image`,closable:!1},null,8,[`url`])])):o(``,!0),n.modelValue?.request?.prompt?(g(),s(`p`,pt,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?n.video?.state===`processing`||n.video?.state===`pending`?(g(),s(`span`,ht,` - (`+i(n.$t(`omni.status.processing`))+`) `,1)):o(``,!0):(g(),s(`span`,mt,` - (`+i(n.$t(`omni.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?n.modelValue?.response?.success===!0?(g(),s(`div`,yt,[n.video?.video_url?(g(),s(`div`,bt,[a(S,{src:n.video?.video_url},null,8,[`src`])])):o(``,!0),n.video?.video_url?(g(),s(`div`,xt,[a(w,{class:`box-item`,effect:`dark`,content:n.$t(`omni.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(C,{type:`info`,size:`small`,class:`btn-action`,onClick:c[0]||=t(e=>n.onDownload(n.video?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`omni.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(T,{path:`/gemini/videos`,body:n.modelValue?.request},null,8,[`body`])])):o(``,!0),a(x,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(g(),s(`p`,St,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`omni.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.modelValue?.request?.resolution?(g(),s(`p`,Ct,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`omni.name.resolution`))+`: `+i(n.modelValue?.request?.resolution)+` `,1),n.modelValue?.request?.aspect_ratio?(g(),s(`span`,wt,` · `+i(n.modelValue?.request?.aspect_ratio),1)):o(``,!0)])):o(``,!0),e(`p`,Tt,[a(y,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`omni.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(b,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,Et,[a(v,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`omni.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,$,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`omni.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(b,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.modelValue?.response?.success===!1?(g(),s(`div`,Dt,[a(x,{closable:!1,class:`failure`},{template:p(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`omni.name.failure`)),1)]),default:p(()=>[e(`p`,Ot,[a(y,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`omni.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(b,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.response?.error?.message?(g(),s(`p`,kt,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`omni.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(b,{content:n.modelValue?.response?.error?.message,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,At,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`omni.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(b,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):(g(),s(`div`,jt,[a(x,{closable:!1,class:`info`},{template:p(()=>[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`omni.name.status`)),1)]),default:p(()=>[e(`p`,Mt,[a(y,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`omni.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(b,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})])):(g(),s(`div`,gt,[a(x,{closable:!1,class:`info`},{template:p(()=>[a(v,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`omni.status.pending`)),1)]),default:p(()=>[e(`p`,_t,[a(y,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`omni.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(b,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.pendingElapsed===void 0?o(``,!0):(g(),s(`p`,vt,[a(v,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`omni.name.elapsed`))+`: `+i(n.pendingElapsed)+`s `,1)]))]),_:1})]))])])}var Pt=v({name:`OmniRecentPanel`,components:{TaskPreview:z(at,[[`render`,Nt],[`__scopeId`,`data-v-4cd17d67`]]),BotPlaceholder:le,NoTasks:ae,ScrollList:ie},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.omni?.tasks,items:this.$store.state.omni?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Ft={key:0},It={key:2,class:`w-full h-full flex items-center justify-center`};function Lt(e,t,n,r,i,u){let d=l(`bot-placeholder`),m=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return g(),s(c,null,[e.tasks?.items===void 0?(g(),s(`div`,Ft,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(g(!0),s(c,null,h(e.tasks?.items,e=>(g(),f(m,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,It,[a(v)])):o(``,!0)],64)}var Rt=v({name:`OmniIndex`,components:{ConfigPanel:it,Layout:he,RecentPanel:z(Pt,[[`render`,Lt]])},mixins:[ne],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.omni?.status?.getApplications===K.Request},tasksLoading(){return this.$store.state.omni?.status?.getTasks===K.Request||this.fetchingTasks},credential(){return this.$store.state.omni?.credential},config(){return this.$store.state.omni?.config},tasks(){return this.$store.state.omni?.tasks}},watch:{initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await oe({tasks:this.tasks,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(`omni/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(`omni/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!R(this.uploadTracker,e=>this.$t(e),e=>q.warning(e)))return;let e={...this.config||{}};if(typeof e?.prompt==`string`&&(e.prompt=e.prompt.trim(),e.prompt||delete e.prompt),Array.isArray(e?.image_urls)&&(e.image_urls=e.image_urls.filter(e=>typeof e==`string`&&e.trim()),e.image_urls.length||delete e.image_urls),Array.isArray(e?.video_urls)&&(e.video_urls=e.video_urls.filter(e=>typeof e==`string`&&e.trim()),e.video_urls.length||delete e.video_urls),!e?.prompt){q.warning(this.$t(`omni.message.promptRequired`));return}if(e?.video_urls&&!e?.image_urls){q.warning(this.$t(`omni.message.videoRequiresImage`));return}let t={...e,async:!0};if(!W())return;let n=this.credential?.token;if(!n){console.error(`no token specified`);return}q.info(this.$t(`omni.message.startingTask`)),G(`omni`,J.generate(t,{token:n})).then(()=>{q.success(this.$t(`omni.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?q.error(this.$t(`omni.message.usedUp`)):q.error(this.$t(`omni.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function zt(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return g(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Bt=z(Rt,[[`render`,zt]]);export{Bt as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,Jt as t,L as n,at as r,ht as i,j as a,mt as o,ot as s,tt as c,z as l}from"./vendor-chart-Dw-P17PN.js";import{n as u,t as d}from"./table-oYRFyit9.js";import{t as f}from"./card-D-4S-l7a.js";import{n as p,t as m}from"./row-DccUl_sg.js";import{t as h}from"./pagination-D1GgrADA.js";import{t as g}from"./CopyToClipboard-iDVaseXr.js";import{E as _,cr as v}from"./index-BS1k95ol.js";var y=l({name:`ConsoleDistributionInvitees`,components:{Pagination:h,CopyToClipboard:g,ElRow:m,ElCol:p,ElTable:d,ElTableColumn:u,ElCard:f},data(){return{invitees:[],loading:!1,total:void 0,limit:10}},computed:{redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||`1`)}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData()},methods:{onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},onFetchData(){this.loading=!0,Promise.all([this.onFetchInvitees()]).finally(()=>{this.loading=!1})},async onFetchInvitees(){let{data:e}=await v.getInvitees({limit:this.limit,offset:(this.page-1)*this.limit,ordering:`-created_at`});this.invitees=e.items,this.total=e.count}}}),b={class:`title`},x={class:`key`},S={class:`copy`},C={class:`description`},w={class:`description`},T={class:`description`},E={class:`created-at`},D={class:`pagination m-v-lg`};function O(l,u,d,f,p,m){let h=r(`el-col`),g=r(`el-row`),_=r(`copy-to-clipboard`),v=r(`el-table-column`),y=r(`el-table`),O=r(`el-card`),k=r(`pagination`),A=s(`loading`);return c(),a(g,{class:`panel`},{default:o(()=>[n(h,{span:24},{default:o(()=>[n(g,null,{default:o(()=>[n(h,{span:24},{default:o(()=>[e(`h2`,b,t(l.$t(`common.title.invitee`)),1)]),_:1})]),_:1}),n(g,null,{default:o(()=>[n(h,{span:24},{default:o(()=>[n(O,{shadow:`hover`},{default:o(()=>[i((c(),a(y,{data:l.invitees,stripe:``},{default:o(()=>[n(v,{prop:`id`,label:l.$t(`user.field.id`),"class-name":`text-center`,width:`350px`},{default:o(r=>[e(`span`,x,t(r.row.id),1),e(`span`,S,[n(_,{content:r.row.id},null,8,[`content`])])]),_:1},8,[`label`]),n(v,{label:l.$t(`user.field.username`),width:`300px`},{default:o(n=>[e(`span`,C,t(n.row?.username),1)]),_:1},8,[`label`]),n(v,{label:l.$t(`user.field.email`),width:`300px`},{default:o(n=>[e(`span`,w,t(n.row?.email),1)]),_:1},8,[`label`]),n(v,{label:l.$t(`user.field.nickname`),width:`200px`},{default:o(n=>[e(`span`,T,t(n.row.nickname),1)]),_:1},8,[`label`]),n(v,{label:l.$t(`user.field.dateJoined`)},{default:o(n=>[e(`span`,E,t(l.$dayjs.format(n.row.date_joined)),1)]),_:1},8,[`label`])]),_:1},8,[`data`])),[[A,l.loading]])]),_:1})]),_:1})]),_:1}),n(g,null,{default:o(()=>[n(h,{span:10,offset:14},{default:o(()=>[e(`div`,D,[n(k,{"current-page":l.page,"page-size":l.limit,total:l.total,onChange:l.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var k=_(y,[[`render`,O],[`__scopeId`,`data-v-b2200c49`]]);export{k as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,Jt as t,L as n,at as r,ht as i,j as a,mt as o,ot as s,tt as c,z as l}from"./vendor-chart-Dw-P17PN.js";import{n as u,t as d}from"./table-BAccHGob.js";import{t as f}from"./card-D-4S-l7a.js";import{n as p,t as m}from"./row-CLhyg4nI.js";import{t as h}from"./pagination-C1jD7-j5.js";import{E as g,cr as _}from"./index-DN3R8m7E.js";import{t as v}from"./CopyToClipboard-CkXS44Md.js";var y=l({name:`ConsoleDistributionInvitees`,components:{Pagination:h,CopyToClipboard:v,ElRow:m,ElCol:p,ElTable:d,ElTableColumn:u,ElCard:f},data(){return{invitees:[],loading:!1,total:void 0,limit:10}},computed:{redirect(){return this.$route.query.redirect},page(){return parseInt(this.$route.query.page?.toString()||`1`)}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData()},methods:{onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{page:e}})},onFetchData(){this.loading=!0,Promise.all([this.onFetchInvitees()]).finally(()=>{this.loading=!1})},async onFetchInvitees(){let{data:e}=await _.getInvitees({limit:this.limit,offset:(this.page-1)*this.limit,ordering:`-created_at`});this.invitees=e.items,this.total=e.count}}}),b={class:`title`},x={class:`key`},S={class:`copy`},C={class:`description`},w={class:`description`},T={class:`description`},E={class:`created-at`},D={class:`pagination m-v-lg`};function O(l,u,d,f,p,m){let h=r(`el-col`),g=r(`el-row`),_=r(`copy-to-clipboard`),v=r(`el-table-column`),y=r(`el-table`),O=r(`el-card`),k=r(`pagination`),A=s(`loading`);return c(),a(g,{class:`panel`},{default:o(()=>[n(h,{span:24},{default:o(()=>[n(g,null,{default:o(()=>[n(h,{span:24},{default:o(()=>[e(`h2`,b,t(l.$t(`common.title.invitee`)),1)]),_:1})]),_:1}),n(g,null,{default:o(()=>[n(h,{span:24},{default:o(()=>[n(O,{shadow:`hover`},{default:o(()=>[i((c(),a(y,{data:l.invitees,stripe:``},{default:o(()=>[n(v,{prop:`id`,label:l.$t(`user.field.id`),"class-name":`text-center`,width:`350px`},{default:o(r=>[e(`span`,x,t(r.row.id),1),e(`span`,S,[n(_,{content:r.row.id},null,8,[`content`])])]),_:1},8,[`label`]),n(v,{label:l.$t(`user.field.username`),width:`300px`},{default:o(n=>[e(`span`,C,t(n.row?.username),1)]),_:1},8,[`label`]),n(v,{label:l.$t(`user.field.email`),width:`300px`},{default:o(n=>[e(`span`,w,t(n.row?.email),1)]),_:1},8,[`label`]),n(v,{label:l.$t(`user.field.nickname`),width:`200px`},{default:o(n=>[e(`span`,T,t(n.row.nickname),1)]),_:1},8,[`label`]),n(v,{label:l.$t(`user.field.dateJoined`)},{default:o(n=>[e(`span`,E,t(l.$dayjs.format(n.row.date_joined)),1)]),_:1},8,[`label`])]),_:1},8,[`data`])),[[A,l.loading]])]),_:1})]),_:1})]),_:1}),n(g,null,{default:o(()=>[n(h,{span:10,offset:14},{default:o(()=>[e(`div`,D,[n(k,{"current-page":l.page,"page-size":l.limit,total:l.total,onChange:l.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var k=g(y,[[`render`,O],[`__scopeId`,`data-v-b2200c49`]]);export{k as default};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime--c01j_DQ.js";import{A as t,I as n,Jt as r,L as i,M as a,N as o,T as s,a as c,at as l,c as u,d,ht as f,i as p,j as m,l as h,mt as g,n as _,o as v,ot as ee,qt as y,r as b,rt as x,s as S,t as C,tt as w,u as T,x as te,z as E}from"./vendor-chart-Dw-P17PN.js";import{r as D,t as O}from"./select-DmAsSwJf.js";import{n as k,t as A}from"./table-oYRFyit9.js";import{n as j,t as M}from"./tabs-Ch8CKzaA.js";import{t as N}from"./card-D-4S-l7a.js";import{n as P,r as F}from"./radio-DgDgyT2l.js";import{n as I,t as L}from"./file-output-DCK7ppti.js";import{n as R,t as z}from"./row-DccUl_sg.js";import{t as B}from"./empty-B1wenOj5.js";import{t as V}from"./pagination-D1GgrADA.js";import{n as H,t as U}from"./skeleton-B3LIGUiE.js";import{t as W}from"./switch-Dwgc_IC5.js";import{t as G}from"./boxes-DQPZGbXV.js";import{t as ne}from"./CopyToClipboard-iDVaseXr.js";import{Ai as re,Ci as ie,E as ae,Kr as oe,Mi as K,ai as q,ei as se,er as ce,lr as le,mr as ue,nr as de,qr as J,tr as Y,vi as X}from"./index-BS1k95ol.js";var fe=e(ue());v.register(c,u,p,b,S,T,d,h);var Z=[`#5B8FF9`,`#5AD8A6`,`#5D7092`,`#F6BD16`,`#6F5EF9`,`#6DC8EC`,`#945FB9`,`#FF9845`,`#1E9493`,`#FF99C3`],Q=`#C0C4CC`,pe=.01,me=20;function he(e){return e<=Z.length?Z.slice(0,e):Array.from({length:e},(t,n)=>`hsl(${Math.round(n*360/e)}, 62%, ${n%2==0?55:45}%)`)}var ge=15e3,_e=E({name:`ConsoleUsageList`,components:{ApplicationsIcon:G,ExportIcon:L,Pagination:V,ElTag:re,ElDatePicker:I,ElTable:A,ElSelect:D,ElOption:O,CopyToClipboard:ne,ElRow:z,ElCol:R,ElTableColumn:k,ElCard:N,ElRadioButton:P,ElRadioGroup:F,ElSkeleton:U,ElSkeletonItem:H,ElDialog:ie,ElTabs:j,ElTabPane:M,ElButton:K,ElEmpty:B,ElSwitch:W,BarChart:C,DoughnutChart:_},data(){return{applicationIds:this.$route.query.application_id?.toString()?this.$route.query.application_id?.toString().split(`,`):[],apiIds:this.$route.query.api_id?.toString()?this.$route.query.api_id?.toString().split(`,`):[],applications:[],apis:[],apisLoading:!1,credentialType:oe,serviceType:J,apiUsages:[],proxyUsages:[],createdAtRange:(()=>{let e=this.$route.query.created_at_to?.toString(),t=this.$route.query.created_at_from?.toString();if(t&&e)return[new Date(t),new Date(e)];let n=new Date,r=new Date;return r.setDate(1),r.setHours(0,0,0,0),[r,n]})(),shortcuts:[{text:this.$t(`usage.shortcuts.thisMonth`),value:()=>{let e=new Date,t=new Date;return t.setDate(1),t.setHours(0,0,0,0),[t,e]}},{text:this.$t(`usage.shortcuts.today`),value:()=>{let e=new Date,t=new Date;return t.setHours(0,0,0,0),[t,e]}},{text:this.$t(`usage.shortcuts.last1Day`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-1),[t,e]}},{text:this.$t(`usage.shortcuts.last3Days`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-3),[t,e]}},{text:this.$t(`usage.shortcuts.last7Days`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-7),[t,e]}},{text:this.$t(`usage.shortcuts.last1Month`),value:()=>{let e=new Date,t=new Date;return t.setMonth(t.getMonth()-1),[t,e]}}],type:this.$route.query.type?.toString()||J.API,loading:!1,total:void 0,limit:15,totalUsed:0,barChartLabels:[],barChartSeries:[],chartView:`trend`,apiBreakdown:[],pieLabels:[],pieData:[],pieColors:[],aggLoading:!1,detailDialogVisible:!1,detailRow:null,detailActiveTab:`request`,detailLoading:!1,exporting:!1,statusCodeFilter:this.$route.query.status_code?.toString()||``,traceId:this.$route.query.trace_id?.toString()||``,statusCodeOptions:[],statusCodeOptionsLoading:!1,autoRefresh:!0,autoRefreshTimer:null,fetchSeq:0}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||`1`)},totalUsedString(){return`${(this.totalUsed||0).toFixed(2)}`},barChartData(){return{labels:this.barChartLabels,datasets:this.barChartSeries.map(e=>({label:e.label,data:e.data,backgroundColor:e.color,maxBarThickness:36,borderRadius:2,borderSkipped:!1}))}},barChartOptions(){let e=e=>new Intl.NumberFormat().format(Math.round(((e||0)+2**-52)*100)/100);return{responsive:!0,maintainAspectRatio:!1,interaction:{mode:`index`,intersect:!1},plugins:{legend:{position:`bottom`,labels:{usePointStyle:!0,pointStyle:`circle`,boxWidth:8,boxHeight:8,padding:14},onClick:(e,t,n)=>{let r=n?.chart;if(!r||t?.datasetIndex===void 0)return;let i=t.datasetIndex,a=r.data?.datasets||[];a.some((e,t)=>t!==i&&r.isDatasetVisible(t))?a.forEach((e,t)=>r.setDatasetVisibility(t,t===i)):a.forEach((e,t)=>r.setDatasetVisibility(t,!0)),r.update()}},title:{display:!1},tooltip:{itemSort:(e,t)=>(t.parsed?.y||0)-(e.parsed?.y||0),callbacks:{label:t=>` ${t.dataset.label}: ${e(t.parsed.y)}`,footer:t=>`${this.$t(`usage.title.totalUsed`)}: ${e(t.reduce((e,t)=>e+(t.parsed?.y||0),0))}`}}},scales:{x:{stacked:!0,grid:{display:!1},ticks:{maxRotation:0,autoSkip:!0,autoSkipPadding:16}},y:{stacked:!0,beginAtZero:!0,border:{display:!1},grid:{color:`rgba(128, 128, 128, 0.15)`},ticks:{callback:t=>e(Number(t))}}}}},doughnutChartData(){return{labels:this.pieLabels,datasets:[{data:this.pieData,backgroundColor:this.pieColors,borderWidth:0,hoverOffset:6}]}},doughnutChartOptions(){let e=e=>this.fmtAmount(e),t=this.pieData.reduce((e,t)=>e+(t||0),0);return{responsive:!0,maintainAspectRatio:!1,cutout:`58%`,plugins:{legend:{position:`right`,labels:{usePointStyle:!0,pointStyle:`circle`,boxWidth:8,boxHeight:8,padding:12}},title:{display:!1},tooltip:{callbacks:{label:n=>{let r=n.parsed||0,i=t>0?(r/t*100).toFixed(1):`0`;return` ${n.label}: ${e(r)} (${i}%)`}}}}}}},watch:{page:{handler(){this.onFetchUsages()}},type:{handler(){this.applicationIds=[],this.apiIds=[],this.onApplicationsChange(this.applicationIds),this.onFetchApplications(),this.onFetchApis(),this.onFetchUsages(),this.onFetchAggregate(),this.onFetchStatusCodeOptions()}},autoRefresh:{handler(e){e?this.startAutoRefresh():this.stopAutoRefresh()}}},mounted(){this.onFetchApplications(),this.onFetchApis(),this.onFetchUsages(),this.onFetchAggregate(),this.onFetchStatusCodeOptions(),this.autoRefresh&&this.startAutoRefresh()},beforeUnmount(){this.stopAutoRefresh()},methods:{async onFetchUsages(e=!1){this.type===J.API?this.onFetchApiUsages(e):this.type===J.Proxy&&this.onFetchProxyUsages(e)},startAutoRefresh(){this.stopAutoRefresh(),this.autoRefreshTimer=window.setInterval(()=>{document.hidden||this.onFetchUsages(!0)},ge)},stopAutoRefresh(){this.autoRefreshTimer!==null&&(clearInterval(this.autoRefreshTimer),this.autoRefreshTimer=null)},async onApiChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:e}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onApisChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:e&&e.length?e.join(`,`):``}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onTimeRangeChanged(){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,created_at_from:this.createdAtRange?this.$dayjs.format(this.createdAtRange[0].toString(),`YYYY-MM-DDTHH:mm:ss.SSSSSSZ`):``,created_at_to:this.createdAtRange?this.$dayjs.format(this.createdAtRange[1].toString(),`YYYY-MM-DDTHH:mm:ss.SSSSSSZ`):``}}),this.onFetchUsages(),this.onFetchAggregate(),this.onFetchStatusCodeOptions()},async onApplicationChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:e}}),this.onFetchUsages(),this.onFetchAggregate()},async onApplicationsChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:e&&e.length?e.join(`,`):``}}),this.onFetchUsages(),this.onFetchAggregate()},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},getRemainingAmount(e){if(e.remaining_amount===void 0||e.remaining_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.remaining_amount?.toFixed(6)} ${t}`},getUsedAmount(e){if(e.used_amount===void 0||e.used_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.used_amount?.toFixed(6)} ${t}`},getDeductedAmount(e){if(e?.deducted_amount===void 0||e?.deducted_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.deducted_amount?.toFixed(6)} ${t}`},getOriginalAmount(e){if(e?.original_amount===void 0||e?.original_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.original_amount?.toFixed(6)} ${t}`},onStatusCodeChange(e){let t={...this.$route.query},n=(e||``).trim();n?t.status_code=n:delete t.status_code,delete t.status_code_filter,this.$router.push({name:this.$route.name?.toString(),query:t}),this.onFetchUsages(),this.onFetchAggregate()},async onFetchStatusCodeOptions(){this.statusCodeOptionsLoading=!0;try{let{data:e}=await Y.getStatusCodes({user_id:this.$store.getters.user.id,...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{}});this.statusCodeOptions=(e?.items||[]).slice().sort((e,t)=>e-t)}catch{this.statusCodeOptions=[]}finally{this.statusCodeOptionsLoading=!1}},formatElapsed(e){return e==null||Number.isNaN(e)?`-`:e<1?`${Math.round(e*1e3)} ms`:`${e.toFixed(2)} s`},getSimpleMetadata(e){if(!e)return{};let t={};for(let[n,r]of Object.entries(e))n===`request`||n===`response`||typeof r==`object`&&r||(t[n]=r);return t},getCredentialLabel(e){return e.credential?.name?.trim()||e.credential?.id||e.credential_id||`-`},onShowDetail(e){this.detailRow={...e,metadata:void 0},this.detailActiveTab=`request`,this.detailDialogVisible=!0,this.detailLoading=!0,e.id&&Y.get(e.id).then(e=>{this.detailRow=e.data}).finally(()=>{this.detailLoading=!1})},formatJson(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}},onFetchApplications(){le.getAll({limit:100,offset:0,user_id:this.$store.getters.user.id,ordering:`-created_at`,type:se.USAGE}).then(({data:e})=>{this.applications=e.items.filter(e=>e?.service?.type===this.type)}).catch(()=>{})},onFetchApis(){this.apisLoading=!0,ce.getAll({limit:1e3,offset:0,ordering:`-created_at`}).then(({data:e})=>{this.apis=e.items}).catch(()=>{}).finally(()=>{this.apisLoading=!1})},onFetchApiUsages(e=!1){e||(this.loading=!0);let t=++this.fetchSeq;Y.getAll({limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id,ordering:`-created_at`,...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{},...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.statusCodeFilter?{status_code:this.statusCodeFilter}:{},...this.traceId?{trace_id:this.traceId}:{}}).then(({data:e})=>{t===this.fetchSeq&&(this.apiUsages=e.items,this.total=e.count)}).catch(()=>{}).finally(()=>{e||(this.loading=!1)})},onFetchProxyUsages(e=!1){e||(this.loading=!0);let t=++this.fetchSeq;de.getAll({limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id,ordering:`-created_at`,...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{}}).then(({data:e})=>{t===this.fetchSeq&&(this.proxyUsages=e.items,this.total=e.count)}).catch(()=>{}).finally(()=>{e||(this.loading=!1)})},async onExport(){let e=this.$store.state.token?.access;if(!e){X.error(this.$t(`usage.message.exportFailed`));return}let t={user_id:this.$store.getters.user.id,...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{},...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.statusCodeFilter?{status_code:this.statusCodeFilter}:{}},n=`${q()}/api/v1/usage/apis/export/?${fe.default.stringify(t,{arrayFormat:`repeat`})}`,r=null,i=window.showSaveFilePicker;if(typeof i==`function`)try{r=await i({suggestedName:`usages.csv`,types:[{description:`CSV`,accept:{"text/csv":[`.csv`]}}]})}catch(e){if(e?.name===`AbortError`)return;r=null}this.exporting=!0;try{let t=await fetch(n,{headers:{authorization:`Bearer ${e}`}});if(!t.ok||!t.body)throw Error(`export failed: ${t.status}`);if(r)await t.body.pipeTo(await r.createWritable());else{let e=await t.blob(),n=window.URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=`usages.csv`,r.click(),window.URL.revokeObjectURL(n)}}catch{X.error(this.$t(`usage.message.exportFailed`))}finally{this.exporting=!1}},fmtAmount(e){return new Intl.NumberFormat().format(Math.round(((e||0)+2**-52)*100)/100)},async onFetchAggregate(){if(this.type!==this.serviceType.API)return;this.aggLoading=!0;let e={user_id:this.$store.getters.user.id,...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{},timezone:Intl.DateTimeFormat().resolvedOptions().timeZone};try{let{data:t}=await Y.getAggregate(e);this.totalUsed=t.total||0;let n=Array.from(new Set((t.items||[]).map(e=>e.date))).sort(),r={},i={};(t.items||[]).forEach(e=>{let t=e.amount||0;(r[e.date]||(r[e.date]={}))[e.api_id]=(r[e.date]?.[e.api_id]||0)+t,i[e.api_id]=(i[e.api_id]||0)+t});let a=Object.keys(i).sort((e,t)=>i[t]-i[e]),o=a.reduce((e,t)=>e+i[t],0),s=a.length;if(o>0){let e=o*(1-pe),t=0;for(let n=0;n<a.length;n++)if(t+=i[a[n]],t>=e){s=n+1;break}s=Math.min(s,me)}a.length-s===1&&(s=a.length);let c=a.slice(0,s),l=new Set(c),u=he(c.length),d=a.slice(s),f=`${this.$t(`usage.value.others`)} (${d.length})`,p=c.map((e,i)=>({key:e,label:t.apis?.[e]?.title||e,data:n.map(t=>r[t]?.[e]||0),color:u[i]}));if(d.length){let e=n.map(e=>Object.entries(r[e]||{}).reduce((e,[t,n])=>l.has(t)?e:e+n,0));e.some(e=>e>0)&&p.push({key:`__others__`,label:f,data:e,color:Q})}this.apiBreakdown=a.map((e,n)=>({key:e,label:t.apis?.[e]?.title||e,amount:i[e],color:n<c.length?u[n]:Q,share:o>0?i[e]/o:0}));let m=[],h=[],g=[];c.forEach((e,n)=>{m.push(t.apis?.[e]?.title||e),h.push(i[e]),g.push(u[n])});let _=d.reduce((e,t)=>e+i[t],0);_>0&&(m.push(f),h.push(_),g.push(Q)),this.pieLabels=m,this.pieData=h,this.pieColors=g,this.barChartLabels=n,this.barChartSeries=p}finally{this.aggLoading=!1}}}}),ve={class:`text-[26px] font-bold mb-5 text-[var(--el-text-color-primary)]`},ye={class:`inline-block w-9`},be={class:`inline-block`},xe={key:1,class:`summary-card`},Se={class:`icon-wrapper`},Ce={class:`text-left`},we={class:`description`},Te={class:`value`},Ee={class:`flex flex-wrap items-center justify-between gap-2`},De={class:`text-[15px] font-medium text-[var(--el-text-color-primary)]`},Oe={class:`chart-wrapper`},ke={class:`share-cell`},Ae={class:`share-bar`},je={class:`share-pct`},Me={class:`flex items-center justify-end gap-2 mb-4`},Ne={class:`text-sm text-[var(--el-text-color-regular)]`},Pe={key:0},Fe={key:0},Ie={key:1},Le={class:`flex flex-wrap gap-2`},Re={class:`key`},ze={key:0,class:`cursor-pointer`},Be={class:`key`},Ve={key:0,class:`cursor-pointer`},$={class:`created-at`},He={class:`key`},Ue={key:0,class:`cursor-pointer`},We={class:`created-at`},Ge={key:1,class:`detail-json`},Ke={key:2,class:`text-gray-400`},qe={key:1,class:`detail-json`},Je={key:2,class:`text-gray-400`},Ye={class:`float-right`};function Xe(e,c,u,d,p,h){let _=l(`el-col`),v=l(`el-row`),b=l(`el-radio-button`),S=l(`el-radio-group`),C=l(`el-option`),T=l(`el-select`),E=l(`el-skeleton-item`),D=l(`el-skeleton`),O=l(`el-date-picker`),k=l(`export-icon`),A=l(`el-button`),j=l(`applications-icon`),M=l(`el-card`),N=l(`bar-chart`),P=l(`el-empty`),F=l(`doughnut-chart`),I=l(`el-table-column`),L=l(`el-table`),R=l(`el-switch`),z=l(`el-tag`),B=l(`copy-to-clipboard`),V=l(`el-tab-pane`),H=l(`el-tabs`),U=l(`el-dialog`),W=l(`pagination`),G=ee(`loading`);return w(),m(v,null,{default:g(()=>[i(_,{span:24},{default:g(()=>[i(v,null,{default:g(()=>[i(_,{span:24},{default:g(()=>[t(`h2`,ve,r(e.$t(`common.title.allUsages`)),1)]),_:1})]),_:1}),i(v,null,{default:g(()=>[i(_,{md:4,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:g(()=>[t(`span`,null,r(e.$t(`application.field.type`)),1),i(S,{modelValue:e.type,"onUpdate:modelValue":c[0]||=t=>e.type=t},{default:g(()=>[i(b,{value:e.serviceType.API,label:e.$t(`application.field.api`)},null,8,[`value`,`label`]),i(b,{value:e.serviceType.Proxy,label:e.$t(`application.field.proxy`)},null,8,[`value`,`label`])]),_:1},8,[`modelValue`])]),_:1}),f(i(_,{md:6,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:g(()=>[t(`span`,ye,r(e.$t(`usage.field.application`)),1),i(T,{modelValue:e.applicationIds,"onUpdate:modelValue":c[1]||=t=>e.applicationIds=t,placeholder:e.$t(`usage.field.application`),clearable:``,multiple:``,"collapse-tags":``,"collapse-tags-tooltip":``,class:`w-full`,onChange:e.onApplicationsChange},{default:g(()=>[(w(!0),o(s,null,x(e.applications,e=>(w(),m(C,{key:e.id,label:e.service?.title,value:e?.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`])]),_:1},512),[[te,!1]]),e.type===e.serviceType.API?(w(),m(_,{key:0,md:6,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:g(()=>[t(`span`,be,r(e.$t(`usage.field.api`)),1),e.apisLoading?(w(),m(D,{key:0,animated:``,class:`w-full`},{template:g(()=>[i(E,{variant:`rect`,style:{height:`32px`,"border-radius":`4px`}})]),_:1})):(w(),m(T,{key:1,modelValue:e.apiIds,"onUpdate:modelValue":c[2]||=t=>e.apiIds=t,placeholder:e.$t(`usage.field.api`),clearable:``,filterable:``,multiple:``,"collapse-tags":``,"collapse-tags-tooltip":``,class:`w-full`,onChange:e.onApisChange},{default:g(()=>[(w(!0),o(s,null,x(e.apis,e=>(w(),m(C,{key:e?.id,label:e?.title,value:e?.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]))]),_:1})):a(``,!0),e.type===e.serviceType.API?(w(),m(_,{key:1,md:8,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:g(()=>[i(O,{modelValue:e.createdAtRange,"onUpdate:modelValue":c[3]||=t=>e.createdAtRange=t,type:`datetimerange`,class:`w-full`,shortcuts:e.shortcuts,"range-separator":e.$t(`usage.placeholder.to`),"start-placeholder":e.$t(`usage.placeholder.startDate`),"end-placeholder":e.$t(`usage.placeholder.endDate`),onChange:e.onTimeRangeChanged},null,8,[`modelValue`,`shortcuts`,`range-separator`,`start-placeholder`,`end-placeholder`,`onChange`])]),_:1})):a(``,!0),e.type===e.serviceType.API?(w(),m(_,{key:2,md:3,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:g(()=>[i(T,{modelValue:e.statusCodeFilter,"onUpdate:modelValue":c[4]||=t=>e.statusCodeFilter=t,placeholder:e.$t(`usage.option.statusCodeAll`),class:`w-full`,clearable:``,filterable:``,"allow-create":``,"default-first-option":``,loading:e.statusCodeOptionsLoading,onChange:e.onStatusCodeChange},{default:g(()=>[(w(!0),o(s,null,x(e.statusCodeOptions,e=>(w(),m(C,{key:e,label:String(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`loading`,`onChange`])]),_:1})):a(``,!0),e.type===e.serviceType.API?(w(),m(_,{key:3,md:3,xs:24,class:`mb-5 flex px-2 gap-2 items-center justify-end`},{default:g(()=>[i(A,{type:`primary`,plain:``,loading:e.exporting,class:`w-full whitespace-nowrap`,onClick:e.onExport},{default:g(()=>[i(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(e.$t(`usage.button.export`)),1)]),_:1},8,[`loading`,`onClick`])]),_:1})):a(``,!0)]),_:1}),i(v,null,{default:g(()=>[i(_,{span:24},{default:g(()=>[e.type===e.serviceType.API?(w(),m(v,{key:0,gutter:24,class:`mb-5`},{default:g(()=>[i(_,{md:6,xs:24},{default:g(()=>[i(M,{shadow:`hover`,class:`h-full`},{default:g(()=>[e.aggLoading?(w(),m(D,{key:0})):(w(),o(`div`,xe,[t(`div`,Se,[i(j,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),t(`div`,Ce,[t(`p`,we,r(e.$t(`usage.title.totalUsed`)),1),t(`p`,Te,r(e.totalUsedString),1)])]))]),_:1})]),_:1}),i(_,{md:18,xs:24},{default:g(()=>[i(M,{shadow:`hover`,class:`h-full`},{header:g(()=>[t(`div`,Ee,[t(`span`,De,r(e.$t(`usage.title.usageAnalytics`)),1),i(S,{modelValue:e.chartView,"onUpdate:modelValue":c[5]||=t=>e.chartView=t,size:`small`},{default:g(()=>[i(b,{value:`trend`,label:e.$t(`usage.view.trend`)},null,8,[`label`]),i(b,{value:`distribution`,label:e.$t(`usage.view.distribution`)},null,8,[`label`]),i(b,{value:`breakdown`,label:e.$t(`usage.view.breakdown`)},null,8,[`label`])]),_:1},8,[`modelValue`])])]),default:g(()=>[t(`div`,Oe,[e.aggLoading?(w(),m(D,{key:0,class:`w-full`})):e.chartView===`trend`?(w(),o(s,{key:1},[e.barChartSeries.length?(w(),m(N,{key:0,data:e.barChartData,options:e.barChartOptions,class:`chart`},null,8,[`data`,`options`])):(w(),m(P,{key:1,description:e.$t(`common.message.noData`),"image-size":70,class:`w-full`},null,8,[`description`]))],64)):e.chartView===`distribution`?(w(),o(s,{key:2},[e.pieData.length?(w(),m(F,{key:0,data:e.doughnutChartData,options:e.doughnutChartOptions,class:`chart`},null,8,[`data`,`options`])):(w(),m(P,{key:1,description:e.$t(`common.message.noData`),"image-size":70,class:`w-full`},null,8,[`description`]))],64)):(w(),o(s,{key:3},[e.apiBreakdown.length?(w(),m(L,{key:0,data:e.apiBreakdown,size:`small`,height:`300`,class:`w-full`},{default:g(()=>[i(I,{label:e.$t(`usage.field.api`),"min-width":`160`},{default:g(e=>[t(`span`,{class:`color-dot`,style:y({backgroundColor:e.row.color})},null,4),t(`span`,null,r(e.row.label),1)]),_:1},8,[`label`]),i(I,{label:e.$t(`usage.field.consumed`),width:`120`,align:`right`},{default:g(n=>[t(`span`,null,r(e.fmtAmount(n.row.amount)),1)]),_:1},8,[`label`]),i(I,{label:e.$t(`usage.field.share`),width:`150`},{default:g(e=>[t(`div`,ke,[t(`div`,Ae,[t(`div`,{class:`share-bar-fill`,style:y({width:e.row.share*100+`%`,backgroundColor:e.row.color})},null,4)]),t(`span`,je,r((e.row.share*100).toFixed(1))+`%`,1)])]),_:1},8,[`label`])]),_:1},8,[`data`])):(w(),m(P,{key:1,description:e.$t(`common.message.noData`),"image-size":70,class:`w-full`},null,8,[`description`]))],64))])]),_:1})]),_:1})]),_:1})):a(``,!0),i(M,{shadow:`hover`},{default:g(()=>[t(`div`,Me,[t(`span`,Ne,r(e.$t(`usage.field.autoRefresh`)),1),i(R,{modelValue:e.autoRefresh,"onUpdate:modelValue":c[6]||=t=>e.autoRefresh=t},null,8,[`modelValue`])]),e.type===e.serviceType.API?f((w(),m(L,{key:0,data:e.apiUsages,stripe:``,"table-layout":`fixed`,"empty-text":e.$t(`common.message.noData`),class:`min-h-[calc(100vh-350px)] mb-5`},{default:g(()=>[i(I,{label:e.$t(`application.field.name`),width:`160px`},{default:g(e=>[t(`span`,null,r(e.row?.api?.title),1)]),_:1},8,[`label`]),i(I,{label:e.$t(`usage.field.statusCode`),width:`120px`},{default:g(t=>[t.row.status_code?(w(),o(`span`,Pe,r(t.row.status_code),1)):(w(),m(z,{key:1,type:`warning`,size:`small`},{default:g(()=>[n(r(e.$t(`usage.value.processing`)),1)]),_:1}))]),_:1},8,[`label`]),i(I,{label:e.$t(`usage.field.elapsed`),width:`120px`},{default:g(n=>[t(`span`,null,r(e.formatElapsed(n.row.elapsed)),1)]),_:1},8,[`label`]),i(I,{prop:`deducted_amount`,label:e.$t(`usage.field.deductedAmount`),width:`150px`,"class-name":`text-center`},{default:g(n=>[e.getDeductedAmount(n.row)===e.getOriginalAmount(n.row)?(w(),o(`div`,Fe,[t(`span`,null,r(e.getDeductedAmount(n.row)),1)])):(w(),o(`div`,Ie,[c[9]||=t(`p`,null,null,-1),t(`p`,null,[t(`span`,null,r(e.getDeductedAmount(n.row)),1)]),t(`p`,null,[t(`del`,null,r(e.getOriginalAmount(n.row)),1)])]))]),_:1},8,[`label`]),i(I,{prop:`remaining_amount`,label:e.$t(`usage.field.balanceAfter`),width:`160px`,"class-name":`text-center`},{default:g(n=>[t(`span`,null,r(e.getRemainingAmount(n.row)),1)]),_:1},8,[`label`]),i(I,{prop:`metadata`,label:e.$t(`usage.field.metadata`),width:`260px`,"class-name":`text-center`},{default:g(i=>[t(`div`,Le,[i.row.original_amount>i.row.deducted_amount&&i.row.original_amount>0?(w(),m(z,{key:0,type:`success`,style:{textWrap:`wrap`,height:`fit-content`,lineHeight:`20px`,borderRadius:`10px`}},{default:g(()=>[n(r(((i.row.original_amount-i.row.deducted_amount)*100/i.row.original_amount).toFixed(0)+`% OFF`),1)]),_:2},1024)):a(``,!0),(w(!0),o(s,null,x(e.getSimpleMetadata(i.row.metadata),(e,t)=>(w(),m(z,{key:t,style:{textWrap:`wrap`,height:`fit-content`,lineHeight:`20px`,borderRadius:`10px`}},{default:g(()=>[n(r(t)+`: `+r(e),1)]),_:2},1024))),128))])]),_:1},8,[`label`]),i(I,{label:e.$t(`usage.button.viewDetail`),width:`120px`,"class-name":`text-center`},{default:g(t=>[t.row.id?(w(),m(A,{key:0,type:`primary`,plain:``,size:`small`,class:`!px-2 !py-1 !text-xs !h-auto !min-h-0`,onClick:n=>e.onShowDetail(t.row)},{default:g(()=>[n(r(e.$t(`usage.button.viewDetail`)),1)]),_:1},8,[`onClick`])):a(``,!0)]),_:1},8,[`label`]),i(I,{prop:`trace_id`,label:e.$t(`application.field.traceId`),width:`200px`,"class-name":`text-center`},{default:g(e=>[t(`span`,Re,r(e.row.trace_id),1),e.row.trace_id?(w(),o(`span`,ze,[i(B,{content:e.row.trace_id,class:`inline-block`},null,8,[`content`])])):a(``,!0)]),_:1},8,[`label`]),i(I,{prop:`credential_id`,label:e.$t(`usage.field.credential`),width:`200px`,"class-name":`text-center`},{default:g(n=>[t(`span`,Be,r(e.getCredentialLabel(n.row)),1),n.row.credential?.id||n.row.credential_id?(w(),o(`span`,Ve,[i(B,{content:n.row.credential?.id||n.row.credential_id,class:`inline-block`},null,8,[`content`])])):a(``,!0)]),_:1},8,[`label`]),i(I,{label:e.$t(`usage.field.createdAt`),width:`200px`},{default:g(n=>[t(`span`,$,r(e.$dayjs.format(n.row.created_at)),1)]),_:1},8,[`label`])]),_:1},8,[`data`,`empty-text`])),[[G,e.loading]]):a(``,!0),e.type===e.serviceType.Proxy?f((w(),m(L,{key:1,data:e.proxyUsages,stripe:``,"table-layout":`fixed`,"empty-text":e.$t(`common.message.noData`),class:`min-h-[calc(100vh-350px)] mb-5`},{default:g(()=>[i(I,{label:e.$t(`application.field.name`),width:`160px`},{default:g(e=>[t(`span`,null,r(e.row?.service?.title),1)]),_:1},8,[`label`]),i(I,{prop:`remaining_amount`,label:e.$t(`usage.field.remainingAmount`),width:`160px`,"class-name":`text-center`},{default:g(n=>[t(`span`,null,r(e.getRemainingAmount(n.row)),1),t(`span`,null,r(e.getOriginalAmount(n.row)),1)]),_:1},8,[`label`]),i(I,{prop:`deducted_amount`,label:e.$t(`usage.field.deductedAmount`),width:`150px`,"class-name":`text-center`},{default:g(n=>[t(`span`,null,r(e.getDeductedAmount(n.row)),1)]),_:1},8,[`label`]),i(I,{label:e.$t(`usage.field.balanceAfter`),width:`160px`,"class-name":`text-center`},{default:g(n=>[t(`span`,null,r(e.getRemainingAmount(n.row)),1)]),_:1},8,[`label`]),i(I,{prop:`metadata`,label:e.$t(`usage.field.metadata`),width:`200px`,"class-name":`text-center`},{default:g(e=>[(w(!0),o(s,null,x(e.row.metadata,(e,t)=>(w(),m(z,{key:t,class:`mb-2`},{default:g(()=>[n(r(t)+`: `+r(e),1)]),_:2},1024))),128))]),_:1},8,[`label`]),i(I,{prop:`credential_id`,label:e.$t(`usage.field.credential`),width:`200px`,"class-name":`text-center`},{default:g(n=>[t(`span`,He,r(e.getCredentialLabel(n.row)),1),n.row.credential?.id||n.row.credential_id?(w(),o(`span`,Ue,[i(B,{content:n.row.credential?.id||n.row.credential_id,class:`inline-block`},null,8,[`content`])])):a(``,!0)]),_:1},8,[`label`]),i(I,{label:e.$t(`usage.field.createdAt`),width:`200px`},{default:g(n=>[t(`span`,We,r(e.$dayjs.format(n.row.created_at)),1)]),_:1},8,[`label`])]),_:1},8,[`data`,`empty-text`])),[[G,e.loading]]):a(``,!0)]),_:1})]),_:1})]),_:1}),i(U,{modelValue:e.detailDialogVisible,"onUpdate:modelValue":c[8]||=t=>e.detailDialogVisible=t,title:e.$t(`usage.dialog.detailTitle`),width:`70%`,top:`5vh`,"destroy-on-close":``},{default:g(()=>[i(H,{modelValue:e.detailActiveTab,"onUpdate:modelValue":c[7]||=t=>e.detailActiveTab=t},{default:g(()=>[i(V,{label:e.$t(`usage.dialog.request`),name:`request`},{default:g(()=>[e.detailLoading?(w(),m(D,{key:0,rows:6,animated:``})):e.detailRow?.metadata?.request?(w(),o(`pre`,Ge,r(e.formatJson(e.detailRow.metadata.request)),1)):(w(),o(`p`,Ke,r(e.$t(`usage.dialog.noData`)),1))]),_:1},8,[`label`]),i(V,{label:e.$t(`usage.dialog.response`),name:`response`},{default:g(()=>[e.detailLoading?(w(),m(D,{key:0,rows:6,animated:``})):e.detailRow?.metadata?.response?(w(),o(`pre`,qe,r(e.formatJson(e.detailRow.metadata.response)),1)):(w(),o(`p`,Je,r(e.$t(`usage.dialog.noData`)),1))]),_:1},8,[`label`])]),_:1},8,[`modelValue`])]),_:1},8,[`modelValue`,`title`]),i(v,null,{default:g(()=>[i(_,{span:10,offset:14},{default:g(()=>[t(`div`,Ye,[i(W,{"current-page":e.page,"page-size":e.limit,total:e.total,onChange:e.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var Ze=ae(_e,[[`render`,Xe],[`__scopeId`,`data-v-81b0a3c5`]]);export{Ze as default};
1
+ import{o as e}from"./rolldown-runtime--c01j_DQ.js";import{A as t,I as n,Jt as r,L as i,M as a,N as o,T as s,a as c,at as l,c as u,d,ht as f,i as p,j as m,l as h,mt as g,n as _,o as v,ot as ee,qt as y,r as b,rt as x,s as S,t as C,tt as w,u as T,x as te,z as E}from"./vendor-chart-Dw-P17PN.js";import{r as D,t as O}from"./select-DW3H8Cyb.js";import{n as k,t as A}from"./table-BAccHGob.js";import{n as j,t as M}from"./tabs-DCuVAETd.js";import{t as N}from"./card-D-4S-l7a.js";import{n as P,r as F}from"./radio-DgDgyT2l.js";import{n as I,t as L}from"./file-output-BIgEHuKl.js";import{n as R,t as z}from"./row-CLhyg4nI.js";import{t as B}from"./empty-B1wenOj5.js";import{t as V}from"./pagination-C1jD7-j5.js";import{n as H,t as U}from"./skeleton-B3LIGUiE.js";import{t as W}from"./switch-soiMVhrL.js";import{t as G}from"./boxes-Dlrv15CU.js";import{Ai as ne,Ci as re,E as ie,Kr as ae,Mi as oe,ai as K,ei as q,er as se,lr as ce,mr as le,nr as ue,qr as J,tr as Y,vi as X}from"./index-DN3R8m7E.js";import{t as de}from"./CopyToClipboard-CkXS44Md.js";var fe=e(le());v.register(c,u,p,b,S,T,d,h);var Z=[`#5B8FF9`,`#5AD8A6`,`#5D7092`,`#F6BD16`,`#6F5EF9`,`#6DC8EC`,`#945FB9`,`#FF9845`,`#1E9493`,`#FF99C3`],Q=`#C0C4CC`,pe=.01,me=20;function he(e){return e<=Z.length?Z.slice(0,e):Array.from({length:e},(t,n)=>`hsl(${Math.round(n*360/e)}, 62%, ${n%2==0?55:45}%)`)}var ge=15e3,_e=E({name:`ConsoleUsageList`,components:{ApplicationsIcon:G,ExportIcon:L,Pagination:V,ElTag:ne,ElDatePicker:I,ElTable:A,ElSelect:D,ElOption:O,CopyToClipboard:de,ElRow:z,ElCol:R,ElTableColumn:k,ElCard:N,ElRadioButton:P,ElRadioGroup:F,ElSkeleton:U,ElSkeletonItem:H,ElDialog:re,ElTabs:j,ElTabPane:M,ElButton:oe,ElEmpty:B,ElSwitch:W,BarChart:C,DoughnutChart:_},data(){return{applicationIds:this.$route.query.application_id?.toString()?this.$route.query.application_id?.toString().split(`,`):[],apiIds:this.$route.query.api_id?.toString()?this.$route.query.api_id?.toString().split(`,`):[],applications:[],apis:[],apisLoading:!1,credentialType:ae,serviceType:J,apiUsages:[],proxyUsages:[],createdAtRange:(()=>{let e=this.$route.query.created_at_to?.toString(),t=this.$route.query.created_at_from?.toString();if(t&&e)return[new Date(t),new Date(e)];let n=new Date,r=new Date;return r.setDate(1),r.setHours(0,0,0,0),[r,n]})(),shortcuts:[{text:this.$t(`usage.shortcuts.thisMonth`),value:()=>{let e=new Date,t=new Date;return t.setDate(1),t.setHours(0,0,0,0),[t,e]}},{text:this.$t(`usage.shortcuts.today`),value:()=>{let e=new Date,t=new Date;return t.setHours(0,0,0,0),[t,e]}},{text:this.$t(`usage.shortcuts.last1Day`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-1),[t,e]}},{text:this.$t(`usage.shortcuts.last3Days`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-3),[t,e]}},{text:this.$t(`usage.shortcuts.last7Days`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-7),[t,e]}},{text:this.$t(`usage.shortcuts.last1Month`),value:()=>{let e=new Date,t=new Date;return t.setMonth(t.getMonth()-1),[t,e]}}],type:this.$route.query.type?.toString()||J.API,loading:!1,total:void 0,limit:15,totalUsed:0,barChartLabels:[],barChartSeries:[],chartView:`trend`,apiBreakdown:[],pieLabels:[],pieData:[],pieColors:[],aggLoading:!1,detailDialogVisible:!1,detailRow:null,detailActiveTab:`request`,detailLoading:!1,exporting:!1,statusCodeFilter:this.$route.query.status_code?.toString()||``,traceId:this.$route.query.trace_id?.toString()||``,statusCodeOptions:[],statusCodeOptionsLoading:!1,autoRefresh:!0,autoRefreshTimer:null,fetchSeq:0}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||`1`)},totalUsedString(){return`${(this.totalUsed||0).toFixed(2)}`},barChartData(){return{labels:this.barChartLabels,datasets:this.barChartSeries.map(e=>({label:e.label,data:e.data,backgroundColor:e.color,maxBarThickness:36,borderRadius:2,borderSkipped:!1}))}},barChartOptions(){let e=e=>new Intl.NumberFormat().format(Math.round(((e||0)+2**-52)*100)/100);return{responsive:!0,maintainAspectRatio:!1,interaction:{mode:`index`,intersect:!1},plugins:{legend:{position:`bottom`,labels:{usePointStyle:!0,pointStyle:`circle`,boxWidth:8,boxHeight:8,padding:14},onClick:(e,t,n)=>{let r=n?.chart;if(!r||t?.datasetIndex===void 0)return;let i=t.datasetIndex,a=r.data?.datasets||[];a.some((e,t)=>t!==i&&r.isDatasetVisible(t))?a.forEach((e,t)=>r.setDatasetVisibility(t,t===i)):a.forEach((e,t)=>r.setDatasetVisibility(t,!0)),r.update()}},title:{display:!1},tooltip:{itemSort:(e,t)=>(t.parsed?.y||0)-(e.parsed?.y||0),callbacks:{label:t=>` ${t.dataset.label}: ${e(t.parsed.y)}`,footer:t=>`${this.$t(`usage.title.totalUsed`)}: ${e(t.reduce((e,t)=>e+(t.parsed?.y||0),0))}`}}},scales:{x:{stacked:!0,grid:{display:!1},ticks:{maxRotation:0,autoSkip:!0,autoSkipPadding:16}},y:{stacked:!0,beginAtZero:!0,border:{display:!1},grid:{color:`rgba(128, 128, 128, 0.15)`},ticks:{callback:t=>e(Number(t))}}}}},doughnutChartData(){return{labels:this.pieLabels,datasets:[{data:this.pieData,backgroundColor:this.pieColors,borderWidth:0,hoverOffset:6}]}},doughnutChartOptions(){let e=e=>this.fmtAmount(e),t=this.pieData.reduce((e,t)=>e+(t||0),0);return{responsive:!0,maintainAspectRatio:!1,cutout:`58%`,plugins:{legend:{position:`right`,labels:{usePointStyle:!0,pointStyle:`circle`,boxWidth:8,boxHeight:8,padding:12}},title:{display:!1},tooltip:{callbacks:{label:n=>{let r=n.parsed||0,i=t>0?(r/t*100).toFixed(1):`0`;return` ${n.label}: ${e(r)} (${i}%)`}}}}}}},watch:{page:{handler(){this.onFetchUsages()}},type:{handler(){this.applicationIds=[],this.apiIds=[],this.onApplicationsChange(this.applicationIds),this.onFetchApplications(),this.onFetchApis(),this.onFetchUsages(),this.onFetchAggregate(),this.onFetchStatusCodeOptions()}},autoRefresh:{handler(e){e?this.startAutoRefresh():this.stopAutoRefresh()}}},mounted(){this.onFetchApplications(),this.onFetchApis(),this.onFetchUsages(),this.onFetchAggregate(),this.onFetchStatusCodeOptions(),this.autoRefresh&&this.startAutoRefresh()},beforeUnmount(){this.stopAutoRefresh()},methods:{async onFetchUsages(e=!1){this.type===J.API?this.onFetchApiUsages(e):this.type===J.Proxy&&this.onFetchProxyUsages(e)},startAutoRefresh(){this.stopAutoRefresh(),this.autoRefreshTimer=window.setInterval(()=>{document.hidden||this.onFetchUsages(!0)},ge)},stopAutoRefresh(){this.autoRefreshTimer!==null&&(clearInterval(this.autoRefreshTimer),this.autoRefreshTimer=null)},async onApiChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:e}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onApisChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,api_id:e&&e.length?e.join(`,`):``}}),this.onFetchApiUsages(),this.onFetchAggregate()},async onTimeRangeChanged(){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,created_at_from:this.createdAtRange?this.$dayjs.format(this.createdAtRange[0].toString(),`YYYY-MM-DDTHH:mm:ss.SSSSSSZ`):``,created_at_to:this.createdAtRange?this.$dayjs.format(this.createdAtRange[1].toString(),`YYYY-MM-DDTHH:mm:ss.SSSSSSZ`):``}}),this.onFetchUsages(),this.onFetchAggregate(),this.onFetchStatusCodeOptions()},async onApplicationChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:e}}),this.onFetchUsages(),this.onFetchAggregate()},async onApplicationsChange(e){await this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,application_id:e&&e.length?e.join(`,`):``}}),this.onFetchUsages(),this.onFetchAggregate()},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},getRemainingAmount(e){if(e.remaining_amount===void 0||e.remaining_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.remaining_amount?.toFixed(6)} ${t}`},getUsedAmount(e){if(e.used_amount===void 0||e.used_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.used_amount?.toFixed(6)} ${t}`},getDeductedAmount(e){if(e?.deducted_amount===void 0||e?.deducted_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.deducted_amount?.toFixed(6)} ${t}`},getOriginalAmount(e){if(e?.original_amount===void 0||e?.original_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.original_amount?.toFixed(6)} ${t}`},onStatusCodeChange(e){let t={...this.$route.query},n=(e||``).trim();n?t.status_code=n:delete t.status_code,delete t.status_code_filter,this.$router.push({name:this.$route.name?.toString(),query:t}),this.onFetchUsages(),this.onFetchAggregate()},async onFetchStatusCodeOptions(){this.statusCodeOptionsLoading=!0;try{let{data:e}=await Y.getStatusCodes({user_id:this.$store.getters.user.id,...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{}});this.statusCodeOptions=(e?.items||[]).slice().sort((e,t)=>e-t)}catch{this.statusCodeOptions=[]}finally{this.statusCodeOptionsLoading=!1}},formatElapsed(e){return e==null||Number.isNaN(e)?`-`:e<1?`${Math.round(e*1e3)} ms`:`${e.toFixed(2)} s`},getSimpleMetadata(e){if(!e)return{};let t={};for(let[n,r]of Object.entries(e))n===`request`||n===`response`||typeof r==`object`&&r||(t[n]=r);return t},getCredentialLabel(e){return e.credential?.name?.trim()||e.credential?.id||e.credential_id||`-`},onShowDetail(e){this.detailRow={...e,metadata:void 0},this.detailActiveTab=`request`,this.detailDialogVisible=!0,this.detailLoading=!0,e.id&&Y.get(e.id).then(e=>{this.detailRow=e.data}).finally(()=>{this.detailLoading=!1})},formatJson(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}},onFetchApplications(){ce.getAll({limit:100,offset:0,user_id:this.$store.getters.user.id,ordering:`-created_at`,type:q.USAGE}).then(({data:e})=>{this.applications=e.items.filter(e=>e?.service?.type===this.type)}).catch(()=>{})},onFetchApis(){this.apisLoading=!0,se.getAll({limit:1e3,offset:0,ordering:`-created_at`}).then(({data:e})=>{this.apis=e.items}).catch(()=>{}).finally(()=>{this.apisLoading=!1})},onFetchApiUsages(e=!1){e||(this.loading=!0);let t=++this.fetchSeq;Y.getAll({limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id,ordering:`-created_at`,...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{},...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.statusCodeFilter?{status_code:this.statusCodeFilter}:{},...this.traceId?{trace_id:this.traceId}:{}}).then(({data:e})=>{t===this.fetchSeq&&(this.apiUsages=e.items,this.total=e.count)}).catch(()=>{}).finally(()=>{e||(this.loading=!1)})},onFetchProxyUsages(e=!1){e||(this.loading=!0);let t=++this.fetchSeq;ue.getAll({limit:this.limit,offset:(this.page-1)*this.limit,user_id:this.$store.getters.user.id,ordering:`-created_at`,...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{}}).then(({data:e})=>{t===this.fetchSeq&&(this.proxyUsages=e.items,this.total=e.count)}).catch(()=>{}).finally(()=>{e||(this.loading=!1)})},async onExport(){let e=this.$store.state.token?.access;if(!e){X.error(this.$t(`usage.message.exportFailed`));return}let t={user_id:this.$store.getters.user.id,...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{},...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.statusCodeFilter?{status_code:this.statusCodeFilter}:{}},n=`${K()}/api/v1/usage/apis/export/?${fe.default.stringify(t,{arrayFormat:`repeat`})}`,r=null,i=window.showSaveFilePicker;if(typeof i==`function`)try{r=await i({suggestedName:`usages.csv`,types:[{description:`CSV`,accept:{"text/csv":[`.csv`]}}]})}catch(e){if(e?.name===`AbortError`)return;r=null}this.exporting=!0;try{let t=await fetch(n,{headers:{authorization:`Bearer ${e}`}});if(!t.ok||!t.body)throw Error(`export failed: ${t.status}`);if(r)await t.body.pipeTo(await r.createWritable());else{let e=await t.blob(),n=window.URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=`usages.csv`,r.click(),window.URL.revokeObjectURL(n)}}catch{X.error(this.$t(`usage.message.exportFailed`))}finally{this.exporting=!1}},fmtAmount(e){return new Intl.NumberFormat().format(Math.round(((e||0)+2**-52)*100)/100)},async onFetchAggregate(){if(this.type!==this.serviceType.API)return;this.aggLoading=!0;let e={user_id:this.$store.getters.user.id,...this.applicationIds&&this.applicationIds.length?{application_id:this.applicationIds}:{},...this.apiIds&&this.apiIds.length?{api_id:this.apiIds}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0]}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1]}:{},timezone:Intl.DateTimeFormat().resolvedOptions().timeZone};try{let{data:t}=await Y.getAggregate(e);this.totalUsed=t.total||0;let n=Array.from(new Set((t.items||[]).map(e=>e.date))).sort(),r={},i={};(t.items||[]).forEach(e=>{let t=e.amount||0;(r[e.date]||(r[e.date]={}))[e.api_id]=(r[e.date]?.[e.api_id]||0)+t,i[e.api_id]=(i[e.api_id]||0)+t});let a=Object.keys(i).sort((e,t)=>i[t]-i[e]),o=a.reduce((e,t)=>e+i[t],0),s=a.length;if(o>0){let e=o*(1-pe),t=0;for(let n=0;n<a.length;n++)if(t+=i[a[n]],t>=e){s=n+1;break}s=Math.min(s,me)}a.length-s===1&&(s=a.length);let c=a.slice(0,s),l=new Set(c),u=he(c.length),d=a.slice(s),f=`${this.$t(`usage.value.others`)} (${d.length})`,p=c.map((e,i)=>({key:e,label:t.apis?.[e]?.title||e,data:n.map(t=>r[t]?.[e]||0),color:u[i]}));if(d.length){let e=n.map(e=>Object.entries(r[e]||{}).reduce((e,[t,n])=>l.has(t)?e:e+n,0));e.some(e=>e>0)&&p.push({key:`__others__`,label:f,data:e,color:Q})}this.apiBreakdown=a.map((e,n)=>({key:e,label:t.apis?.[e]?.title||e,amount:i[e],color:n<c.length?u[n]:Q,share:o>0?i[e]/o:0}));let m=[],h=[],g=[];c.forEach((e,n)=>{m.push(t.apis?.[e]?.title||e),h.push(i[e]),g.push(u[n])});let _=d.reduce((e,t)=>e+i[t],0);_>0&&(m.push(f),h.push(_),g.push(Q)),this.pieLabels=m,this.pieData=h,this.pieColors=g,this.barChartLabels=n,this.barChartSeries=p}finally{this.aggLoading=!1}}}}),ve={class:`text-[26px] font-bold mb-5 text-[var(--el-text-color-primary)]`},ye={class:`inline-block w-9`},be={class:`inline-block`},xe={key:1,class:`summary-card`},Se={class:`icon-wrapper`},Ce={class:`text-left`},we={class:`description`},Te={class:`value`},Ee={class:`flex flex-wrap items-center justify-between gap-2`},De={class:`text-[15px] font-medium text-[var(--el-text-color-primary)]`},Oe={class:`chart-wrapper`},ke={class:`share-cell`},Ae={class:`share-bar`},je={class:`share-pct`},Me={class:`flex items-center justify-end gap-2 mb-4`},Ne={class:`text-sm text-[var(--el-text-color-regular)]`},Pe={key:0},Fe={key:0},Ie={key:1},Le={class:`flex flex-wrap gap-2`},Re={class:`key`},ze={key:0,class:`cursor-pointer`},Be={class:`key`},Ve={key:0,class:`cursor-pointer`},$={class:`created-at`},He={class:`key`},Ue={key:0,class:`cursor-pointer`},We={class:`created-at`},Ge={key:1,class:`detail-json`},Ke={key:2,class:`text-gray-400`},qe={key:1,class:`detail-json`},Je={key:2,class:`text-gray-400`},Ye={class:`float-right`};function Xe(e,c,u,d,p,h){let _=l(`el-col`),v=l(`el-row`),b=l(`el-radio-button`),S=l(`el-radio-group`),C=l(`el-option`),T=l(`el-select`),E=l(`el-skeleton-item`),D=l(`el-skeleton`),O=l(`el-date-picker`),k=l(`export-icon`),A=l(`el-button`),j=l(`applications-icon`),M=l(`el-card`),N=l(`bar-chart`),P=l(`el-empty`),F=l(`doughnut-chart`),I=l(`el-table-column`),L=l(`el-table`),R=l(`el-switch`),z=l(`el-tag`),B=l(`copy-to-clipboard`),V=l(`el-tab-pane`),H=l(`el-tabs`),U=l(`el-dialog`),W=l(`pagination`),G=ee(`loading`);return w(),m(v,null,{default:g(()=>[i(_,{span:24},{default:g(()=>[i(v,null,{default:g(()=>[i(_,{span:24},{default:g(()=>[t(`h2`,ve,r(e.$t(`common.title.allUsages`)),1)]),_:1})]),_:1}),i(v,null,{default:g(()=>[i(_,{md:4,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:g(()=>[t(`span`,null,r(e.$t(`application.field.type`)),1),i(S,{modelValue:e.type,"onUpdate:modelValue":c[0]||=t=>e.type=t},{default:g(()=>[i(b,{value:e.serviceType.API,label:e.$t(`application.field.api`)},null,8,[`value`,`label`]),i(b,{value:e.serviceType.Proxy,label:e.$t(`application.field.proxy`)},null,8,[`value`,`label`])]),_:1},8,[`modelValue`])]),_:1}),f(i(_,{md:6,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:g(()=>[t(`span`,ye,r(e.$t(`usage.field.application`)),1),i(T,{modelValue:e.applicationIds,"onUpdate:modelValue":c[1]||=t=>e.applicationIds=t,placeholder:e.$t(`usage.field.application`),clearable:``,multiple:``,"collapse-tags":``,"collapse-tags-tooltip":``,class:`w-full`,onChange:e.onApplicationsChange},{default:g(()=>[(w(!0),o(s,null,x(e.applications,e=>(w(),m(C,{key:e.id,label:e.service?.title,value:e?.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`])]),_:1},512),[[te,!1]]),e.type===e.serviceType.API?(w(),m(_,{key:0,md:6,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:g(()=>[t(`span`,be,r(e.$t(`usage.field.api`)),1),e.apisLoading?(w(),m(D,{key:0,animated:``,class:`w-full`},{template:g(()=>[i(E,{variant:`rect`,style:{height:`32px`,"border-radius":`4px`}})]),_:1})):(w(),m(T,{key:1,modelValue:e.apiIds,"onUpdate:modelValue":c[2]||=t=>e.apiIds=t,placeholder:e.$t(`usage.field.api`),clearable:``,filterable:``,multiple:``,"collapse-tags":``,"collapse-tags-tooltip":``,class:`w-full`,onChange:e.onApisChange},{default:g(()=>[(w(!0),o(s,null,x(e.apis,e=>(w(),m(C,{key:e?.id,label:e?.title,value:e?.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]))]),_:1})):a(``,!0),e.type===e.serviceType.API?(w(),m(_,{key:1,md:8,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:g(()=>[i(O,{modelValue:e.createdAtRange,"onUpdate:modelValue":c[3]||=t=>e.createdAtRange=t,type:`datetimerange`,class:`w-full`,shortcuts:e.shortcuts,"range-separator":e.$t(`usage.placeholder.to`),"start-placeholder":e.$t(`usage.placeholder.startDate`),"end-placeholder":e.$t(`usage.placeholder.endDate`),onChange:e.onTimeRangeChanged},null,8,[`modelValue`,`shortcuts`,`range-separator`,`start-placeholder`,`end-placeholder`,`onChange`])]),_:1})):a(``,!0),e.type===e.serviceType.API?(w(),m(_,{key:2,md:3,xs:24,class:`mb-5 flex px-2 gap-2 items-center`},{default:g(()=>[i(T,{modelValue:e.statusCodeFilter,"onUpdate:modelValue":c[4]||=t=>e.statusCodeFilter=t,placeholder:e.$t(`usage.option.statusCodeAll`),class:`w-full`,clearable:``,filterable:``,"allow-create":``,"default-first-option":``,loading:e.statusCodeOptionsLoading,onChange:e.onStatusCodeChange},{default:g(()=>[(w(!0),o(s,null,x(e.statusCodeOptions,e=>(w(),m(C,{key:e,label:String(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`loading`,`onChange`])]),_:1})):a(``,!0),e.type===e.serviceType.API?(w(),m(_,{key:3,md:3,xs:24,class:`mb-5 flex px-2 gap-2 items-center justify-end`},{default:g(()=>[i(A,{type:`primary`,plain:``,loading:e.exporting,class:`w-full whitespace-nowrap`,onClick:e.onExport},{default:g(()=>[i(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(e.$t(`usage.button.export`)),1)]),_:1},8,[`loading`,`onClick`])]),_:1})):a(``,!0)]),_:1}),i(v,null,{default:g(()=>[i(_,{span:24},{default:g(()=>[e.type===e.serviceType.API?(w(),m(v,{key:0,gutter:24,class:`mb-5`},{default:g(()=>[i(_,{md:6,xs:24},{default:g(()=>[i(M,{shadow:`hover`,class:`h-full`},{default:g(()=>[e.aggLoading?(w(),m(D,{key:0})):(w(),o(`div`,xe,[t(`div`,Se,[i(j,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),t(`div`,Ce,[t(`p`,we,r(e.$t(`usage.title.totalUsed`)),1),t(`p`,Te,r(e.totalUsedString),1)])]))]),_:1})]),_:1}),i(_,{md:18,xs:24},{default:g(()=>[i(M,{shadow:`hover`,class:`h-full`},{header:g(()=>[t(`div`,Ee,[t(`span`,De,r(e.$t(`usage.title.usageAnalytics`)),1),i(S,{modelValue:e.chartView,"onUpdate:modelValue":c[5]||=t=>e.chartView=t,size:`small`},{default:g(()=>[i(b,{value:`trend`,label:e.$t(`usage.view.trend`)},null,8,[`label`]),i(b,{value:`distribution`,label:e.$t(`usage.view.distribution`)},null,8,[`label`]),i(b,{value:`breakdown`,label:e.$t(`usage.view.breakdown`)},null,8,[`label`])]),_:1},8,[`modelValue`])])]),default:g(()=>[t(`div`,Oe,[e.aggLoading?(w(),m(D,{key:0,class:`w-full`})):e.chartView===`trend`?(w(),o(s,{key:1},[e.barChartSeries.length?(w(),m(N,{key:0,data:e.barChartData,options:e.barChartOptions,class:`chart`},null,8,[`data`,`options`])):(w(),m(P,{key:1,description:e.$t(`common.message.noData`),"image-size":70,class:`w-full`},null,8,[`description`]))],64)):e.chartView===`distribution`?(w(),o(s,{key:2},[e.pieData.length?(w(),m(F,{key:0,data:e.doughnutChartData,options:e.doughnutChartOptions,class:`chart`},null,8,[`data`,`options`])):(w(),m(P,{key:1,description:e.$t(`common.message.noData`),"image-size":70,class:`w-full`},null,8,[`description`]))],64)):(w(),o(s,{key:3},[e.apiBreakdown.length?(w(),m(L,{key:0,data:e.apiBreakdown,size:`small`,height:`300`,class:`w-full`},{default:g(()=>[i(I,{label:e.$t(`usage.field.api`),"min-width":`160`},{default:g(e=>[t(`span`,{class:`color-dot`,style:y({backgroundColor:e.row.color})},null,4),t(`span`,null,r(e.row.label),1)]),_:1},8,[`label`]),i(I,{label:e.$t(`usage.field.consumed`),width:`120`,align:`right`},{default:g(n=>[t(`span`,null,r(e.fmtAmount(n.row.amount)),1)]),_:1},8,[`label`]),i(I,{label:e.$t(`usage.field.share`),width:`150`},{default:g(e=>[t(`div`,ke,[t(`div`,Ae,[t(`div`,{class:`share-bar-fill`,style:y({width:e.row.share*100+`%`,backgroundColor:e.row.color})},null,4)]),t(`span`,je,r((e.row.share*100).toFixed(1))+`%`,1)])]),_:1},8,[`label`])]),_:1},8,[`data`])):(w(),m(P,{key:1,description:e.$t(`common.message.noData`),"image-size":70,class:`w-full`},null,8,[`description`]))],64))])]),_:1})]),_:1})]),_:1})):a(``,!0),i(M,{shadow:`hover`},{default:g(()=>[t(`div`,Me,[t(`span`,Ne,r(e.$t(`usage.field.autoRefresh`)),1),i(R,{modelValue:e.autoRefresh,"onUpdate:modelValue":c[6]||=t=>e.autoRefresh=t},null,8,[`modelValue`])]),e.type===e.serviceType.API?f((w(),m(L,{key:0,data:e.apiUsages,stripe:``,"table-layout":`fixed`,"empty-text":e.$t(`common.message.noData`),class:`min-h-[calc(100vh-350px)] mb-5`},{default:g(()=>[i(I,{label:e.$t(`application.field.name`),width:`160px`},{default:g(e=>[t(`span`,null,r(e.row?.api?.title),1)]),_:1},8,[`label`]),i(I,{label:e.$t(`usage.field.statusCode`),width:`120px`},{default:g(t=>[t.row.status_code?(w(),o(`span`,Pe,r(t.row.status_code),1)):(w(),m(z,{key:1,type:`warning`,size:`small`},{default:g(()=>[n(r(e.$t(`usage.value.processing`)),1)]),_:1}))]),_:1},8,[`label`]),i(I,{label:e.$t(`usage.field.elapsed`),width:`120px`},{default:g(n=>[t(`span`,null,r(e.formatElapsed(n.row.elapsed)),1)]),_:1},8,[`label`]),i(I,{prop:`deducted_amount`,label:e.$t(`usage.field.deductedAmount`),width:`150px`,"class-name":`text-center`},{default:g(n=>[e.getDeductedAmount(n.row)===e.getOriginalAmount(n.row)?(w(),o(`div`,Fe,[t(`span`,null,r(e.getDeductedAmount(n.row)),1)])):(w(),o(`div`,Ie,[c[9]||=t(`p`,null,null,-1),t(`p`,null,[t(`span`,null,r(e.getDeductedAmount(n.row)),1)]),t(`p`,null,[t(`del`,null,r(e.getOriginalAmount(n.row)),1)])]))]),_:1},8,[`label`]),i(I,{prop:`remaining_amount`,label:e.$t(`usage.field.balanceAfter`),width:`160px`,"class-name":`text-center`},{default:g(n=>[t(`span`,null,r(e.getRemainingAmount(n.row)),1)]),_:1},8,[`label`]),i(I,{prop:`metadata`,label:e.$t(`usage.field.metadata`),width:`260px`,"class-name":`text-center`},{default:g(i=>[t(`div`,Le,[i.row.original_amount>i.row.deducted_amount&&i.row.original_amount>0?(w(),m(z,{key:0,type:`success`,style:{textWrap:`wrap`,height:`fit-content`,lineHeight:`20px`,borderRadius:`10px`}},{default:g(()=>[n(r(((i.row.original_amount-i.row.deducted_amount)*100/i.row.original_amount).toFixed(0)+`% OFF`),1)]),_:2},1024)):a(``,!0),(w(!0),o(s,null,x(e.getSimpleMetadata(i.row.metadata),(e,t)=>(w(),m(z,{key:t,style:{textWrap:`wrap`,height:`fit-content`,lineHeight:`20px`,borderRadius:`10px`}},{default:g(()=>[n(r(t)+`: `+r(e),1)]),_:2},1024))),128))])]),_:1},8,[`label`]),i(I,{label:e.$t(`usage.button.viewDetail`),width:`120px`,"class-name":`text-center`},{default:g(t=>[t.row.id?(w(),m(A,{key:0,type:`primary`,plain:``,size:`small`,class:`!px-2 !py-1 !text-xs !h-auto !min-h-0`,onClick:n=>e.onShowDetail(t.row)},{default:g(()=>[n(r(e.$t(`usage.button.viewDetail`)),1)]),_:1},8,[`onClick`])):a(``,!0)]),_:1},8,[`label`]),i(I,{prop:`trace_id`,label:e.$t(`application.field.traceId`),width:`200px`,"class-name":`text-center`},{default:g(e=>[t(`span`,Re,r(e.row.trace_id),1),e.row.trace_id?(w(),o(`span`,ze,[i(B,{content:e.row.trace_id,class:`inline-block`},null,8,[`content`])])):a(``,!0)]),_:1},8,[`label`]),i(I,{prop:`credential_id`,label:e.$t(`usage.field.credential`),width:`200px`,"class-name":`text-center`},{default:g(n=>[t(`span`,Be,r(e.getCredentialLabel(n.row)),1),n.row.credential?.id||n.row.credential_id?(w(),o(`span`,Ve,[i(B,{content:n.row.credential?.id||n.row.credential_id,class:`inline-block`},null,8,[`content`])])):a(``,!0)]),_:1},8,[`label`]),i(I,{label:e.$t(`usage.field.createdAt`),width:`200px`},{default:g(n=>[t(`span`,$,r(e.$dayjs.format(n.row.created_at)),1)]),_:1},8,[`label`])]),_:1},8,[`data`,`empty-text`])),[[G,e.loading]]):a(``,!0),e.type===e.serviceType.Proxy?f((w(),m(L,{key:1,data:e.proxyUsages,stripe:``,"table-layout":`fixed`,"empty-text":e.$t(`common.message.noData`),class:`min-h-[calc(100vh-350px)] mb-5`},{default:g(()=>[i(I,{label:e.$t(`application.field.name`),width:`160px`},{default:g(e=>[t(`span`,null,r(e.row?.service?.title),1)]),_:1},8,[`label`]),i(I,{prop:`remaining_amount`,label:e.$t(`usage.field.remainingAmount`),width:`160px`,"class-name":`text-center`},{default:g(n=>[t(`span`,null,r(e.getRemainingAmount(n.row)),1),t(`span`,null,r(e.getOriginalAmount(n.row)),1)]),_:1},8,[`label`]),i(I,{prop:`deducted_amount`,label:e.$t(`usage.field.deductedAmount`),width:`150px`,"class-name":`text-center`},{default:g(n=>[t(`span`,null,r(e.getDeductedAmount(n.row)),1)]),_:1},8,[`label`]),i(I,{label:e.$t(`usage.field.balanceAfter`),width:`160px`,"class-name":`text-center`},{default:g(n=>[t(`span`,null,r(e.getRemainingAmount(n.row)),1)]),_:1},8,[`label`]),i(I,{prop:`metadata`,label:e.$t(`usage.field.metadata`),width:`200px`,"class-name":`text-center`},{default:g(e=>[(w(!0),o(s,null,x(e.row.metadata,(e,t)=>(w(),m(z,{key:t,class:`mb-2`},{default:g(()=>[n(r(t)+`: `+r(e),1)]),_:2},1024))),128))]),_:1},8,[`label`]),i(I,{prop:`credential_id`,label:e.$t(`usage.field.credential`),width:`200px`,"class-name":`text-center`},{default:g(n=>[t(`span`,He,r(e.getCredentialLabel(n.row)),1),n.row.credential?.id||n.row.credential_id?(w(),o(`span`,Ue,[i(B,{content:n.row.credential?.id||n.row.credential_id,class:`inline-block`},null,8,[`content`])])):a(``,!0)]),_:1},8,[`label`]),i(I,{label:e.$t(`usage.field.createdAt`),width:`200px`},{default:g(n=>[t(`span`,We,r(e.$dayjs.format(n.row.created_at)),1)]),_:1},8,[`label`])]),_:1},8,[`data`,`empty-text`])),[[G,e.loading]]):a(``,!0)]),_:1})]),_:1})]),_:1}),i(U,{modelValue:e.detailDialogVisible,"onUpdate:modelValue":c[8]||=t=>e.detailDialogVisible=t,title:e.$t(`usage.dialog.detailTitle`),width:`70%`,top:`5vh`,"destroy-on-close":``},{default:g(()=>[i(H,{modelValue:e.detailActiveTab,"onUpdate:modelValue":c[7]||=t=>e.detailActiveTab=t},{default:g(()=>[i(V,{label:e.$t(`usage.dialog.request`),name:`request`},{default:g(()=>[e.detailLoading?(w(),m(D,{key:0,rows:6,animated:``})):e.detailRow?.metadata?.request?(w(),o(`pre`,Ge,r(e.formatJson(e.detailRow.metadata.request)),1)):(w(),o(`p`,Ke,r(e.$t(`usage.dialog.noData`)),1))]),_:1},8,[`label`]),i(V,{label:e.$t(`usage.dialog.response`),name:`response`},{default:g(()=>[e.detailLoading?(w(),m(D,{key:0,rows:6,animated:``})):e.detailRow?.metadata?.response?(w(),o(`pre`,qe,r(e.formatJson(e.detailRow.metadata.response)),1)):(w(),o(`p`,Je,r(e.$t(`usage.dialog.noData`)),1))]),_:1},8,[`label`])]),_:1},8,[`modelValue`])]),_:1},8,[`modelValue`,`title`]),i(v,null,{default:g(()=>[i(_,{span:10,offset:14},{default:g(()=>[t(`div`,Ye,[i(W,{"current-page":e.page,"page-size":e.limit,total:e.total,onChange:e.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var Ze=ie(_e,[[`render`,Xe],[`__scopeId`,`data-v-81b0a3c5`]]);export{Ze as default};
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,I as t,Jt as n,L as r,M as i,N as a,T as o,at as s,ht as c,j as l,mt as u,ot as d,rt as f,tt as p,z as m}from"./vendor-chart-Dw-P17PN.js";import{n as h,t as g}from"./table-BAccHGob.js";import{t as _}from"./card-D-4S-l7a.js";import{n as v,t as y}from"./row-CLhyg4nI.js";import{t as b}from"./empty-B1wenOj5.js";import{t as x}from"./pagination-C1jD7-j5.js";import{t as S}from"./skeleton-B3LIGUiE.js";import{t as C}from"./switch-soiMVhrL.js";import{t as w}from"./boxes-Dlrv15CU.js";import{t as T}from"./chart-no-axes-combined-CPExWQbA.js";import{t as E}from"./coins-BGpnmxMg.js";import{t as D}from"./wallet-B-VpKB_2.js";import{$r as O,Ai as k,B as A,E as j,K as M,Kr as N,Mi as P,ei as F,li as I,lr as L,pn as R,qr as z,vi as B}from"./index-DN3R8m7E.js";import{t as V}from"./CopyToClipboard-CkXS44Md.js";var H=m({name:`ConsoleApplicationList`,components:{AnalyticsIcon:T,ApplicationsIcon:w,CreditsIcon:E,WalletIcon:D,Pagination:x,CopyToClipboard:V,ElTable:g,ElRow:y,ElButton:P,ElCol:v,ElTag:k,ElSkeleton:S,ElSwitch:C,ElEmpty:b,ElTableColumn:h,ElCard:_},data(){return{credentialType:N,serviceType:z,individualApplications:[],globalApplications:[],individualApplicationsTotal:void 0,globalApplicationsTotal:void 0,loading:!1,buying:!1,limit:10,form:{amount:1},active:{service:void 0,application:void 0}}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||`1`)},showGlobalPayment(){return!R(this.$store.getters.site)}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onInitializeGlobalApplication(),this.onFetchData()},methods:{rowCanPay(e){return R(this.$store.getters.site)?!1:I()?(e?.packages||[]).some(e=>e?.metadata?.apple_product_id):!0},updateAllowConsumeGlobal(e,t){!e||!e.id||L.updateAllConsumeGlobal(e.id,{...e,allow_consume_global:!!t}).then(()=>{B.success(this.$t(`application.message.updateSuccessfully`).toString())}).catch(()=>{B.error(this.$t(`application.message.updateFailed`).toString())})},onGoUsage(e){this.$router.push({name:M,query:{application_id:e.id,type:e?.service?.type}})},onBuyMore(e){e?.id&&this.$router.push({name:A,params:{id:e.id}})},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchApplications(e=O.INDIVIDUAL){return new Promise((t,n)=>{L.getAll({limit:this.limit,...e===O.INDIVIDUAL?{offset:(this.page-1)*this.limit}:{},user_id:this.$store.getters.user.id,ordering:`-created_at`,type:F.USAGE,scope:e}).then(({data:n})=>{e===O.INDIVIDUAL?(this.individualApplications=n.items,this.individualApplicationsTotal=n.count):(this.globalApplications=n.items,this.globalApplicationsTotal=n.count),t(n)}).catch(e=>{B.error(this.$t(`application.message.fetchFailed`).toString()),n(e)})})},onFetchData(){this.loading=!0,Promise.all([this.onFetchApplications(O.INDIVIDUAL),this.onFetchApplications(O.GLOBAL)]).then(()=>{this.loading=!1}).catch(()=>{this.loading=!1})},onInitializeGlobalApplication(){L.create({type:F.USAGE,scope:O.GLOBAL,user_id:this.$store.getters.user.id}).finally(()=>{this.onFetchApplications(O.GLOBAL)})},getRemainingAmount(e){if(e.remaining_amount===void 0||e.remaining_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.remaining_amount?.toFixed(6)} ${t}`},getUsedAmount(e){if(e.used_amount===void 0||e.used_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.used_amount?.toFixed(6)} ${t}`}}}),U={class:`title`},W={key:1,class:`summary-card`},G={class:`icon-wrapper`},K={class:`label`},q={class:`value`},J={class:`description`},Y={key:1,class:`flex flex-row justify-between items-center gap-3`},X={class:`summary-card min-w-0 flex-1`},Z={class:`flex justify-start items-center gap-2 mb-2 w-full`},Q={class:`icon-wrapper !mb-0`},$={class:`text-[var(--el-text-color-regular)] text-[14px] truncate`},ee={class:`label`},te={class:`value`},ne={class:`description`},re={class:`flex flex-col items-end gap-2 shrink-0`},ie={class:`copy`},ae={key:0,class:`expired-at`},oe={class:`flex flex-wrap items-center justify-end gap-1`},se={class:`application-cards block sm:hidden`},ce={class:`flex items-center gap-2 flex-wrap`},le={class:`application-card__name`},ue={class:`application-card__id`},de={class:`truncate`},fe={class:`application-card__row`},pe={class:`label`},me={class:`value`},he={key:0,class:`application-card__row`},ge={class:`label`},_e={class:`value`},ve={key:1,class:`application-card__row`},ye={class:`label`},be={class:`flex items-center justify-end gap-2 mt-3`},xe={class:`pagination`};function Se(m,h,g,_,v,y){let b=s(`el-col`),x=s(`el-row`),S=s(`el-skeleton`),C=s(`applications-icon`),w=s(`el-card`),T=s(`wallet-icon`),E=s(`copy-to-clipboard`),D=s(`analytics-icon`),O=s(`el-button`),k=s(`credits-icon`),A=s(`el-table-column`),j=s(`el-tag`),M=s(`el-switch`),N=s(`el-table`),P=s(`el-empty`),F=s(`pagination`),I=d(`loading`);return p(),l(x,{class:`application-list`},{default:u(()=>[r(b,{span:24},{default:u(()=>[r(x,null,{default:u(()=>[r(b,{span:24},{default:u(()=>[e(`h2`,U,n(m.$t(`common.title.allApplications`)),1)]),_:1})]),_:1}),r(x,{gutter:15,class:`mb-3`},{default:u(()=>[r(b,{md:12,xs:24},{default:u(()=>[r(w,{shadow:`hover`,class:`relative min-h-[180px] mb-2`,"body-style":{padding:`18px 20px`}},{default:u(()=>[m.loading?(p(),l(S,{key:0})):(p(),a(`div`,W,[e(`div`,G,[r(C,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`p`,K,n(m.$t(`application.title.count`)),1),e(`p`,q,n(m.individualApplicationsTotal),1),e(`p`,J,n(m.$t(`application.message.countDescription`)),1)]))]),_:1})]),_:1}),m.showGlobalPayment&&m.globalApplications?.length>0?(p(),l(b,{key:0,md:12,xs:24},{default:u(()=>[r(w,{shadow:`hover`,class:`relative min-h-[180px] mb-2`,"body-style":{padding:`18px 20px`}},{default:u(()=>[m.loading?(p(),l(S,{key:0})):(p(),a(`div`,Y,[e(`div`,X,[e(`div`,Z,[e(`div`,Q,[r(T,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`span`,$,[t(n(m.$t(`application.field.id`))+`: `+n(m.globalApplications?.[0]?.id)+` `,1),m.globalApplications?.[0]?.id?(p(),l(E,{key:0,content:m.globalApplications?.[0]?.id,class:`inline-block`},null,8,[`content`])):i(``,!0)])]),e(`p`,ee,n(m.$t(`application.title.globalBalance`)),1),e(`p`,te,n(m.globalApplications?.[0]?.remaining_amount?.toFixed(6)||`0.000000`)+` `+n(m.$t(`service.unit.credits`)),1),e(`p`,ne,n(m.$t(`application.message.globalBalanceDescription`)),1)]),e(`div`,re,[r(O,{class:`!m-0 !px-2`,size:`small`,round:``,onClick:h[0]||=e=>m.onGoUsage(m.globalApplications?.[0])},{default:u(()=>[r(D,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(m.$t(`application.button.usage`)),1)]),_:1}),m.showGlobalPayment?(p(),l(O,{key:0,class:`!m-0 !px-2`,type:`primary`,round:``,size:`small`,onClick:h[1]||=e=>m.onBuyMore(m.globalApplications?.[0])},{default:u(()=>[r(k,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(m.$t(`application.button.buyMore`)),1)]),_:1})):i(``,!0)])]))]),_:1})]),_:1})):i(``,!0)]),_:1}),r(x,null,{default:u(()=>[r(b,{span:24},{default:u(()=>[r(w,{shadow:`hover`,class:`applications-table-card hidden sm:block`},{default:u(()=>[c((p(),l(N,{data:m.individualApplications,stripe:``,class:`applications-table !min-h-[calc(100vh-420px)]`,"table-layout":`fixed`,"empty-text":m.$t(`common.message.noData`)},{default:u(()=>[r(A,{prop:`id`,label:m.$t(`application.field.id`),width:`200px`,"class-name":`text-center`},{default:u(t=>[e(`span`,null,n(t.row.id),1),e(`span`,ie,[r(E,{content:t?.row?.id,class:`inline-block`},null,8,[`content`])])]),_:1},8,[`label`]),r(A,{label:m.$t(`application.field.type`),width:`90px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:u(e=>[e.row?.type===`Period`?(p(),l(j,{key:0,type:`success`,effect:`dark`,round:``},{default:u(()=>[t(n(m.$t(`application.type.period`)),1)]),_:1})):e.row?.type===`Usage`?(p(),l(j,{key:1,effect:`dark`,round:``},{default:u(()=>[t(n(m.$t(`application.type.usage`)),1)]),_:1})):i(``,!0)]),_:1},8,[`label`]),r(A,{label:m.$t(`application.field.name`),width:`180px`},{default:u(r=>[e(`span`,null,n(r.row?.service?.title),1),r.row?.role===`grantee`?(p(),l(j,{key:0,type:`info`,size:`small`,round:``,class:`ml-2`},{default:u(()=>[t(n(m.$t(`application.badge.shared`)),1)]),_:1})):i(``,!0)]),_:1},8,[`label`]),r(A,{prop:`remaining_amount`,label:m.$t(`application.field.remainingAmount`),width:`150px`,"class-name":`text-center`},{default:u(t=>[e(`span`,null,n(m.getRemainingAmount(t.row)),1)]),_:1},8,[`label`]),r(A,{prop:`used_amount`,label:m.$t(`application.field.usedAmount`),width:`150px`,"class-name":`hidden sm:table-cell text-center`,"label-class-name":`hidden sm:table-cell`},{default:u(t=>[e(`span`,null,n(m.getUsedAmount(t.row)),1)]),_:1},8,[`label`]),r(A,{prop:`allow_consume_global`,label:m.$t(`application.field.allowConsumeGlobal`),width:`120px`,"class-name":`hidden sm:table-cell text-center`,"label-class-name":`hidden sm:table-cell`},{default:u(e=>[e.row.service?.type===m.serviceType.API?(p(),l(M,{key:0,modelValue:e.row.allow_consume_global,"onUpdate:modelValue":t=>e.row.allow_consume_global=t,"active-value":!0,"inactive-value":!1,onChange:t=>m.updateAllowConsumeGlobal(e.row,t)},null,8,[`modelValue`,`onUpdate:modelValue`,`onChange`])):i(``,!0)]),_:1},8,[`label`]),r(A,{label:m.$t(`application.field.expiredAt`),width:`180px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:u(e=>[e.row.expired_at?(p(),a(`span`,ae,n(m.$dayjs.format(e.row.expired_at)),1)):i(``,!0)]),_:1},8,[`label`]),r(A,{fixed:`right`,width:`200px`},{default:u(a=>[e(`div`,oe,[r(O,{class:`!m-0 !px-2`,size:`small`,round:``,onClick:e=>m.onGoUsage(a?.row)},{default:u(()=>[r(D,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(m.$t(`application.button.usage`)),1)]),_:1},8,[`onClick`]),m.rowCanPay(a?.row)?(p(),l(O,{key:0,class:`!m-0 !px-2`,type:`primary`,round:``,size:`small`,onClick:e=>m.onBuyMore(a?.row)},{default:u(()=>[r(k,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(m.$t(`application.button.buyMore`)),1)]),_:1},8,[`onClick`])):i(``,!0)])]),_:1})]),_:1},8,[`data`,`empty-text`])),[[I,m.loading]])]),_:1}),e(`div`,se,[m.loading?(p(),l(S,{key:0,rows:4,animated:``})):(p(),a(o,{key:1},[m.individualApplications?.length?(p(!0),a(o,{key:1},f(m.individualApplications,o=>(p(),l(w,{key:o.id,shadow:`hover`,class:`application-card mb-2`,"body-style":{padding:`14px 16px`}},{default:u(()=>[e(`div`,ce,[e(`span`,le,n(o?.service?.title),1),o?.type===`Period`?(p(),l(j,{key:0,type:`success`,effect:`dark`,size:`small`,round:``},{default:u(()=>[t(n(m.$t(`application.type.period`)),1)]),_:1})):o?.type===`Usage`?(p(),l(j,{key:1,effect:`dark`,size:`small`,round:``},{default:u(()=>[t(n(m.$t(`application.type.usage`)),1)]),_:1})):i(``,!0),o?.role===`grantee`?(p(),l(j,{key:2,type:`info`,size:`small`,round:``},{default:u(()=>[t(n(m.$t(`application.badge.shared`)),1)]),_:1})):i(``,!0)]),e(`div`,ue,[e(`span`,de,n(m.$t(`application.field.id`))+`: `+n(o.id),1),r(E,{content:o.id,class:`inline-block shrink-0`},null,8,[`content`])]),e(`div`,fe,[e(`span`,pe,n(m.$t(`application.field.remainingAmount`)),1),e(`span`,me,n(m.getRemainingAmount(o)),1)]),o?.expired_at?(p(),a(`div`,he,[e(`span`,ge,n(m.$t(`application.field.expiredAt`)),1),e(`span`,_e,n(m.$dayjs.format(o.expired_at)),1)])):i(``,!0),o.service?.type===m.serviceType.API?(p(),a(`div`,ve,[e(`span`,ye,n(m.$t(`application.field.allowConsumeGlobal`)),1),r(M,{modelValue:o.allow_consume_global,"onUpdate:modelValue":e=>o.allow_consume_global=e,"active-value":!0,"inactive-value":!1,onChange:e=>m.updateAllowConsumeGlobal(o,e)},null,8,[`modelValue`,`onUpdate:modelValue`,`onChange`])])):i(``,!0),e(`div`,be,[r(O,{class:`!m-0 !px-3`,size:`small`,round:``,onClick:e=>m.onGoUsage(o)},{default:u(()=>[r(D,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(m.$t(`application.button.usage`)),1)]),_:1},8,[`onClick`]),m.rowCanPay(o)?(p(),l(O,{key:0,class:`!m-0 !px-3`,type:`primary`,round:``,size:`small`,onClick:e=>m.onBuyMore(o)},{default:u(()=>[r(k,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(m.$t(`application.button.buyMore`)),1)]),_:1},8,[`onClick`])):i(``,!0)])]),_:2},1024))),128)):(p(),l(P,{key:0,description:m.$t(`common.message.noData`)},null,8,[`description`]))],64))])]),_:1})]),_:1}),r(x,null,{default:u(()=>[r(b,{span:24},{default:u(()=>[e(`div`,xe,[r(F,{"current-page":m.page,"page-size":m.limit,total:m.individualApplicationsTotal,onChange:m.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var Ce=j(H,[[`render`,Se],[`__scopeId`,`data-v-d88616c5`]]);export{Ce as default};