@acedatacloud/nexior 3.329.52 → 3.329.53

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 (252) hide show
  1. package/dist/assets/{ApiCodeButton-BKhL9Lo5.js → ApiCodeButton-Clhyx6b-.js} +1 -1
  2. package/dist/assets/{Artifacts-BDjWTz4J.js → Artifacts-CnD_wGHY.js} +1 -1
  3. package/dist/assets/{AskUserQuestionCard-BNUZzUe4.js → AskUserQuestionCard-CwekRj7B.js} +1 -1
  4. package/dist/assets/{AudioPreview-D2cFjT4S.js → AudioPreview-BL243-Be.js} +1 -1
  5. package/dist/assets/{Auth-DBoslt5V.js → Auth-DF4-Zw2s.js} +1 -1
  6. package/dist/assets/{Bare-D0uqNzE6.js → Bare-MNeE6_Cd.js} +1 -1
  7. package/dist/assets/{BotPlaceholder-CJELoiK9.js → BotPlaceholder-DviRFOpE.js} +1 -1
  8. package/dist/assets/{BottomFooter-XS0eDCCd.js → BottomFooter-BYPqq8hF.js} +1 -1
  9. package/dist/assets/{Callback-Cy1sYvBG.js → Callback-B2cdqG0-.js} +1 -1
  10. package/dist/assets/{CodeSnippet-DEZ6DF46.js → CodeSnippet-DzaZctwJ.js} +1 -1
  11. package/dist/assets/{Console-D5IWkYTg.js → Console-DYYDrKI5.js} +1 -1
  12. package/dist/assets/{Consumption-AjUsGaTe.js → Consumption-BYirsAgV.js} +1 -1
  13. package/dist/assets/{Conversation-BECa08oO.js → Conversation-BRXfNSqp.js} +1 -1
  14. package/dist/assets/{Conversation-BUPBYAVe.js → Conversation-DvAgj1CH.js} +1 -1
  15. package/dist/assets/{CopyToClipboard-C9i0d98d.js → CopyToClipboard-pWp_B9NW.js} +1 -1
  16. package/dist/assets/{Detail-B96w3Dha.js → Detail-WvFodIK4.js} +2 -2
  17. package/dist/assets/{Extra-JMPltdWE.js → Extra-VHt5VgWJ.js} +1 -1
  18. package/dist/assets/{FilePreview-D01ui5_m.js → FilePreview-Cojekkxm.js} +1 -1
  19. package/dist/assets/{Hailuo-DQNfg2uC.js → Hailuo-B8LlFAov.js} +1 -1
  20. package/dist/assets/{History-7GEdxZst.js → History-CGt7-5EM.js} +1 -1
  21. package/dist/assets/{ImagePreview-fBjI49JA.js → ImagePreview-CCcn4bmL.js} +1 -1
  22. package/dist/assets/{ImageWrapper-x04VrHFN.js → ImageWrapper-DAROIO53.js} +1 -1
  23. package/dist/assets/{Index-ByMGNqXP.js → Index-B5LvagG8.js} +1 -1
  24. package/dist/assets/{Index-BdQsY4J_.js → Index-BVyRiqmP.js} +1 -1
  25. package/dist/assets/{Index-ayqf49fJ.js → Index-BX5CIqKt.js} +1 -1
  26. package/dist/assets/{Index--D9goGUH.js → Index-Bbgm28wS.js} +1 -1
  27. package/dist/assets/{Index-D2hq_GS2.js → Index-Bg_Od8eU.js} +1 -1
  28. package/dist/assets/{Index-CpW1wL2a.js → Index-BnbpSB3Y.js} +1 -1
  29. package/dist/assets/{Index-CnhpscPD.js → Index-Bu3z-ubL.js} +1 -1
  30. package/dist/assets/{Index-B5Rm5yg8.js → Index-C-VpAe1P.js} +1 -1
  31. package/dist/assets/{Index-D-61M0CX.js → Index-C0DpDBDm.js} +1 -1
  32. package/dist/assets/{Index-1ha4gZ2a.js → Index-CALvgym4.js} +1 -1
  33. package/dist/assets/{Index-CXApE7gk.js → Index-CKNcprMA.js} +1 -1
  34. package/dist/assets/{Index-BBR3JSHB.js → Index-CKz23E28.js} +1 -1
  35. package/dist/assets/{Index-BsYUK0qx.js → Index-CT-NF8b4.js} +1 -1
  36. package/dist/assets/{Index-zlSjiYKR.js → Index-CVFsm-qR.js} +1 -1
  37. package/dist/assets/{Index-CSHuiPA8.js → Index-CnZa9Ot1.js} +1 -1
  38. package/dist/assets/{Index-DEY3TBHQ.js → Index-DJh6as--.js} +1 -1
  39. package/dist/assets/{Index-D18WIJ1x.js → Index-DVN0--pI.js} +1 -1
  40. package/dist/assets/{Index-CX2rzhsJ.js → Index-DjARCshZ.js} +1 -1
  41. package/dist/assets/{Index--t4u9kP8.js → Index-DmweoZF5.js} +1 -1
  42. package/dist/assets/{Index-CmM_L2sy.js → Index-Dzh8sRC3.js} +1 -1
  43. package/dist/assets/{Index-D4MVqeYE.js → Index-SF6LXR5k.js} +1 -1
  44. package/dist/assets/{Index-D4Xn7XHH.js → Index-SmdoECbl.js} +1 -1
  45. package/dist/assets/{Index-BOA5Hce8.js → Index-WrNtVNIl.js} +1 -1
  46. package/dist/assets/{Index-CcbXhF0E.js → Index-o5nfRwGl.js} +1 -1
  47. package/dist/assets/{Index-dTKX8cRj.js → Index-uzpRS3uM.js} +1 -1
  48. package/dist/assets/{Index-BeOD2x-J.js → Index-wKm0T3KJ.js} +1 -1
  49. package/dist/assets/{Index-BLuOBX5G.js → Index-x4nMCr10.js} +1 -1
  50. package/dist/assets/{Index-pnCrBqSC.js → Index-xXL4BCeX.js} +1 -1
  51. package/dist/assets/{Index-CaRHIE7j.js → Index-zFJIDa5r.js} +1 -1
  52. package/dist/assets/{Invitees-m7WXoY6Q.js → Invitees-BeKjWth-.js} +1 -1
  53. package/dist/assets/{List-CisAEUys.js → List-1HbRXMPC.js} +1 -1
  54. package/dist/assets/{List-ezUgfQex.js → List-CFNbGJd0.js} +1 -1
  55. package/dist/assets/{List-CqCfiuRt.js → List-D7T8rUbc.js} +1 -1
  56. package/dist/assets/{LocalTools-D5DOpamM.js → LocalTools-ffj4A0uC.js} +1 -1
  57. package/dist/assets/{LocalTools-DTYOjKao.js → LocalTools-hmNVoZc_.js} +1 -1
  58. package/dist/assets/{Main-3XOXLVUf.js → Main-BYjGhwBN.js} +1 -1
  59. package/dist/assets/{Message-CMP7kTL2.js → Message-CantHa8h.js} +1 -1
  60. package/dist/assets/{Model-Y1OwB1b6.js → Model-CdQPF_wf.js} +1 -1
  61. package/dist/assets/{Navigator-UbyRgZfq.js → Navigator-D68O9jI-.js} +3 -3
  62. package/dist/assets/{NotFound-BDAphyhD.js → NotFound-BOjQSQDB.js} +1 -1
  63. package/dist/assets/{Pay-Da9rQPBd.js → Pay-B2JwAVjr.js} +1 -1
  64. package/dist/assets/{Player-DxCOvpvm.js → Player-DUJISyxu.js} +1 -1
  65. package/dist/assets/{PromptTextarea-tuoaVTiO.js → PromptTextarea-BMr_0bmw.js} +1 -1
  66. package/dist/assets/{RealtimeCall-C8BekWPa.js → RealtimeCall-CK-QmSik.js} +1 -1
  67. package/dist/assets/{ScheduledTasks-C2rH1a41.js → ScheduledTasks-CI3gf2KG.js} +1 -1
  68. package/dist/assets/{Status-Lk_Olv6G.js → Status-B-4DnbpB.js} +1 -1
  69. package/dist/assets/{Subscribe-CVLAuhOz.js → Subscribe-BevYFvwj.js} +1 -1
  70. package/dist/assets/{TabSwitcher-BikB2AV1.js → TabSwitcher-DRN_-qM0.js} +1 -1
  71. package/dist/assets/{Tts-Dz6R1ir6.js → Tts-DLITSNe9.js} +1 -1
  72. package/dist/assets/{VideoPlayer-Cngb9Caj.js → VideoPlayer-BFniurMW.js} +1 -1
  73. package/dist/assets/{alert-BKth3UvF.js → alert-VaAPPGZr.js} +1 -1
  74. package/dist/assets/arrow-down-ColE-B1A.js +1 -0
  75. package/dist/assets/{arrow-down-wide-narrow-CHgEDwo5.js → arrow-down-wide-narrow-DZzPNX5V.js} +1 -1
  76. package/dist/assets/arrow-left-CHVtDWIE.js +1 -0
  77. package/dist/assets/arrow-right-TQTLCcgC.js +1 -0
  78. package/dist/assets/arrow-up-DCrHYoe_.js +1 -0
  79. package/dist/assets/{avatar-DbnncBiG.js → avatar-D9d_0l0E.js} +1 -1
  80. package/dist/assets/{basic-Df1FiQj1.js → basic-fIlBqGJl.js} +1 -1
  81. package/dist/assets/{box-fcLzXDRm.js → box-I-jXxtfE.js} +1 -1
  82. package/dist/assets/{boxes-C8saaSgZ.js → boxes-Dhdth_wa.js} +1 -1
  83. package/dist/assets/{brain-B7G-akw9.js → brain-DGxqLcXG.js} +1 -1
  84. package/dist/assets/{chart-no-axes-combined-ORQTP2DX.js → chart-no-axes-combined-DPaf75BY.js} +1 -1
  85. package/dist/assets/{chat-CY9zJHrN.js → chat-BOxFdPH_.js} +1 -1
  86. package/dist/assets/{chat-BJA9J12o.js → chat-BQSBCGbz.js} +1 -1
  87. package/dist/assets/{chat-Bv9-2q9M.js → chat-BWolz9C1.js} +1 -1
  88. package/dist/assets/{chat-X4zY00AA.js → chat-C41R1Kbo.js} +1 -1
  89. package/dist/assets/{chat-CGm4BcSS.js → chat-CI-js_in.js} +1 -1
  90. package/dist/assets/{chat-CfO0IkGR.js → chat-CPUu3Td7.js} +1 -1
  91. package/dist/assets/{chat-BVR-USZS.js → chat-CQLS9_kI.js} +1 -1
  92. package/dist/assets/{chat-BZAD82h7.js → chat-CT4eVO_5.js} +1 -1
  93. package/dist/assets/{chat-C0N_PIyo.js → chat-CnR_Tppw.js} +1 -1
  94. package/dist/assets/{chat-CLaYnk1u.js → chat-Cvfd0pgt.js} +1 -1
  95. package/dist/assets/{chat-Ckm0j_lK.js → chat-D6E8zDc7.js} +1 -1
  96. package/dist/assets/{chat-zjUYRJR6.js → chat-D7e-z8kX.js} +1 -1
  97. package/dist/assets/{chat-BRRph6ZY.js → chat-DXfE32Xb.js} +1 -1
  98. package/dist/assets/{chat-CtsDqsXX.js → chat-Dln6jRwU.js} +1 -1
  99. package/dist/assets/{chat-DkSuvbOb.js → chat-DrxtEECj.js} +1 -1
  100. package/dist/assets/{chat-bxhEIgAH.js → chat-O5Vh2y2m.js} +1 -1
  101. package/dist/assets/chat-dQFSw_HO.js +1 -0
  102. package/dist/assets/chat-tz5-Yl50.js +1 -0
  103. package/dist/assets/{chat-DrS-WVsO.js → chat-uPWTWE39.js} +1 -1
  104. package/dist/assets/check-DMmDyBNa.js +1 -0
  105. package/dist/assets/chevron-down-CqWg1c-N.js +1 -0
  106. package/dist/assets/chevron-right-zbFvKDlc.js +1 -0
  107. package/dist/assets/circle-check-C6YmwK6F.js +1 -0
  108. package/dist/assets/clock-CzflPTOt.js +1 -0
  109. package/dist/assets/{codingBridge-CMlQkRer.js → codingBridge-CqI5e8JY.js} +1 -1
  110. package/dist/assets/{codingBridgeNotify-C8ERf_yA.js → codingBridgeNotify-BhM40Th2.js} +2 -2
  111. package/dist/assets/{coins-BKxeL4uF.js → coins-BgDEisO-.js} +1 -1
  112. package/dist/assets/{collapse-BrqSPysh.js → collapse-XPxGFVvE.js} +1 -1
  113. package/dist/assets/constants-DaRYe5KJ.js +1 -0
  114. package/dist/assets/{createTaskActions-Cfr5-Wf3.js → createTaskActions-JwgTMOTg.js} +1 -1
  115. package/dist/assets/{digitalhuman-BsK4Xg-3.js → digitalhuman-BJvyaAgY.js} +1 -1
  116. package/dist/assets/{dollar-sign-BOrXovJV.js → dollar-sign-CVWP3ACu.js} +1 -1
  117. package/dist/assets/{download-BxVo64dW.js → download-DeHLyZsS.js} +1 -1
  118. package/dist/assets/{drawer-C2kyj3Pw.js → drawer-gjSg9s7j.js} +1 -1
  119. package/dist/assets/{dropdown-CyblE8Qd.js → dropdown-9xf5cFzk.js} +1 -1
  120. package/dist/assets/{dropdown-CcpKI7Gu.js → dropdown-CG0Mg2DR.js} +1 -1
  121. package/dist/assets/{ellipsis-CRNqh_q5.js → ellipsis-oTGaGAkG.js} +1 -1
  122. package/dist/assets/{esm-D2251_vf.js → esm-BCcPZwYN.js} +1 -1
  123. package/dist/assets/esm-C1fPaomD.js +1 -0
  124. package/dist/assets/{esm-BLi7OlR6.js → esm-Ctr-Q9S1.js} +1 -1
  125. package/dist/assets/{esm-FK6_i940.js → esm-D2sxI7kk.js} +3 -3
  126. package/dist/assets/{esm-D1iVBgBg.js → esm-DJU6g9wI.js} +2 -2
  127. package/dist/assets/{esm-CrZciTdE.js → esm-DymCf6tq.js} +1 -1
  128. package/dist/assets/{esm-0UVMo11W.js → esm-DzuhTAWo.js} +2 -2
  129. package/dist/assets/{external-link-Cl7qT9-J.js → external-link-DlhdQU94.js} +1 -1
  130. package/dist/assets/{eye-BiVzfNJ-.js → eye-BQ4tXKGJ.js} +1 -1
  131. package/dist/assets/{file-output-qGs9fAYj.js → file-output-CINS0hMB.js} +1 -1
  132. package/dist/assets/{file-text-CYfaiRg6.js → file-text-BCZWNVEJ.js} +1 -1
  133. package/dist/assets/{fish-Cf4yawaL.js → fish-8x3KkHwP.js} +1 -1
  134. package/dist/assets/{flux-Du7LyKLw.js → flux-BkStj9in.js} +1 -1
  135. package/dist/assets/{folder-D5ZWi_B1.js → folder-BQyAdIfQ.js} +1 -1
  136. package/dist/assets/gauge-DzmGLzc2.js +1 -0
  137. package/dist/assets/{globe-D-Vgy8Tq.js → globe-DFCY3sFR.js} +1 -1
  138. package/dist/assets/{grokvideo-C1QfigvE.js → grokvideo-xGH0ZDhn.js} +1 -1
  139. package/dist/assets/{hailuo-B0yYkSGj.js → hailuo-kIIAEMfq.js} +1 -1
  140. package/dist/assets/{headphones-lXELpXBu.js → headphones-Crbzo1UM.js} +1 -1
  141. package/dist/assets/{history-CbSiUuVR.js → history-S7x7_uDg.js} +1 -1
  142. package/dist/assets/{i18n-CvOYH3NC.js → i18n-AdYNPUmR.js} +1 -1
  143. package/dist/assets/{image-jlue1VUH.js → image-QWzUElTJ.js} +1 -1
  144. package/dist/assets/{index-gQyc38bL.js → index-BM5Tg8p0.js} +4 -4
  145. package/dist/assets/{index.browser.esm-kigDZtH_.js → index.browser.esm-DR_pyh3D.js} +1 -1
  146. package/dist/assets/{index.es-sav_p4r2.js → index.es-CBvh_oDv.js} +1 -1
  147. package/dist/assets/{info-tKyR2r1q.js → info-B0aeOqce.js} +1 -1
  148. package/dist/assets/{input-number-X0ebYqAS.js → input-number-UT2f4aeu.js} +1 -1
  149. package/dist/assets/{key-round-CkPbsUyd.js → key-round-D0Lsc3wH.js} +1 -1
  150. package/dist/assets/{kling-Z6DLqI-6.js → kling-CY3jcPzc.js} +1 -1
  151. package/dist/assets/{languages-ZnC8OHaM.js → languages-DL2BUujv.js} +1 -1
  152. package/dist/assets/{laptop-D4B_caPD.js → laptop-De2Pdv5N.js} +1 -1
  153. package/dist/assets/{lightbulb-DZ058GOl.js → lightbulb-PwI1WQZf.js} +1 -1
  154. package/dist/assets/{link-CHwhA-na.js → link-C3-lRJ3L.js} +1 -1
  155. package/dist/assets/loader-circle-DICLLF1z.js +1 -0
  156. package/dist/assets/{luma-CG6ZTUJ4.js → luma-DN0M8V1r.js} +1 -1
  157. package/dist/assets/{maestro-CS3tgBid.js → maestro-BId1Hc5q.js} +1 -1
  158. package/dist/assets/{maestro-Bu8YHYxK.js → maestro-BUE2KNNY.js} +1 -1
  159. package/dist/assets/{mail-BGv6wGx0.js → mail-B_pu3LI-.js} +1 -1
  160. package/dist/assets/{message-circle-DdFCsk15.js → message-circle-CLJSiC5W.js} +1 -1
  161. package/dist/assets/{mic-BAZEtLT2.js → mic-VmUVWuRF.js} +1 -1
  162. package/dist/assets/{midjourney-C00ESa1b.js → midjourney-DsxVBm9F.js} +1 -1
  163. package/dist/assets/{mobileLocalExec-DXXGSyv2.js → mobileLocalExec-BgJ1xFUl.js} +2 -2
  164. package/dist/assets/{mouse-pointer-2-BqIo_QZv.js → mouse-pointer-2-CQycZOau.js} +1 -1
  165. package/dist/assets/music-2-bOxDA2vG.js +1 -0
  166. package/dist/assets/{nanobanana-KRmHRbHr.js → nanobanana-CMjNbAZV.js} +1 -1
  167. package/dist/assets/{omni-Bdtbb11p.js → omni-Szl99V2k.js} +1 -1
  168. package/dist/assets/{openaiimage-CwxS4blm.js → openaiimage-B2KNFSMi.js} +1 -1
  169. package/dist/assets/{pagination-BfkJj5Bm.js → pagination-Bhf_oSSO.js} +1 -1
  170. package/dist/assets/{pagination-NeLEP7c1.js → pagination-CoR0sXH9.js} +1 -1
  171. package/dist/assets/{palette-CYa3UcS-.js → palette-B7zqxD9m.js} +1 -1
  172. package/dist/assets/{paperclip-DbEmFoWS.js → paperclip-B42DO1K6.js} +1 -1
  173. package/dist/assets/{pause-wNy7jxAc.js → pause-Cs4QIKtw.js} +1 -1
  174. package/dist/assets/{pencil-WdD5TEfG.js → pencil-YYN-iEiB.js} +1 -1
  175. package/dist/assets/{pika-KXI-UOlt.js → pika-PNQdjyGY.js} +1 -1
  176. package/dist/assets/{pixverse-CpfMINen.js → pixverse-_YZLterg.js} +1 -1
  177. package/dist/assets/play-1R1SxI73.js +1 -0
  178. package/dist/assets/plus-C9H77XrD.js +1 -0
  179. package/dist/assets/{popover-BwSNPuK0.js → popover-C35Y3ZaW.js} +1 -1
  180. package/dist/assets/{producer-r58JpfZb.js → producer-BmuW96By.js} +1 -1
  181. package/dist/assets/{qrart-DYmyiDbZ.js → qrart-hlt59mrz.js} +1 -1
  182. package/dist/assets/{realtime-4rbl9Zu6.js → realtime-DbM0K0kp.js} +1 -1
  183. package/dist/assets/{refresh-cw-fS5kCuNE.js → refresh-cw-CUv6ioeX.js} +1 -1
  184. package/dist/assets/rotate-ccw-Nnjwhtq1.js +1 -0
  185. package/dist/assets/rotate-cw-DVee28a9.js +1 -0
  186. package/dist/assets/{row-DjWit0Gg.js → row-ouqehWKH.js} +1 -1
  187. package/dist/assets/search-BiLZZK4G.js +1 -0
  188. package/dist/assets/{seedance-DmdKYYzx.js → seedance-BDy-R_pt.js} +1 -1
  189. package/dist/assets/{seedream-Dk7-az13.js → seedream-BLLpX1Ux.js} +1 -1
  190. package/dist/assets/{select-BYKfh-PA.js → select-JAczkKoE.js} +1 -1
  191. package/dist/assets/{serp-C0WtggX0.js → serp-BAwQRa32.js} +1 -1
  192. package/dist/assets/{shield-CmTlB1b6.js → shield-Dy8si1Tq.js} +1 -1
  193. package/dist/assets/{shuffle-DVabVMif.js → shuffle-olMEIwli.js} +1 -1
  194. package/dist/assets/{slider-DfTg7dK8.js → slider-DaHXY6kc.js} +1 -1
  195. package/dist/assets/{sliders-horizontal-BGvM0nHl.js → sliders-horizontal-CInEC9RF.js} +1 -1
  196. package/dist/assets/{solana-wallets-BZYJwMP2.js → solana-wallets-CZ93sXen.js} +2 -2
  197. package/dist/assets/{solana-wallets-vue-b65F5_MH.js → solana-wallets-vue-COF-bxO7.js} +1 -1
  198. package/dist/assets/{sora-DUIRtBVe.js → sora-CgO9fuYB.js} +1 -1
  199. package/dist/assets/square-BVOXagpK.js +1 -0
  200. package/dist/assets/{suno-DXcUWdj8.js → suno-2QAyFhB_.js} +1 -1
  201. package/dist/assets/{switch-K85VuUXP.js → switch-CAd6fRZJ.js} +1 -1
  202. package/dist/assets/{table-ib2AdEq2.js → table-DFj_A2-g.js} +1 -1
  203. package/dist/assets/{tabs-DoV2KN7Z.js → tabs-CPP_nWKZ.js} +1 -1
  204. package/dist/assets/{tag-B5D3NBzE.js → tag-CDhUSjVz.js} +1 -1
  205. package/dist/assets/{taskDrawerMixin-Ct41F59z.js → taskDrawerMixin-C-lrX7VA.js} +1 -1
  206. package/dist/assets/terminal-B2Gv1AkB.js +1 -0
  207. package/dist/assets/{time-picker-J9zkoslu.js → time-picker-CkFYXKrc.js} +1 -1
  208. package/dist/assets/{tooltip-DT5oHfVA.js → tooltip-Oq51h6DF.js} +1 -1
  209. package/dist/assets/{trash-2-Cru7AUxe.js → trash-2-CdmVbT26.js} +1 -1
  210. package/dist/assets/{triangle-alert-B41FFLvB.js → triangle-alert-BqDc1cQ7.js} +1 -1
  211. package/dist/assets/{upload-BcIsTY4i.js → upload-BedulYZW.js} +1 -1
  212. package/dist/assets/{upload-LlITidlZ.js → upload-u5j1XQMO.js} +1 -1
  213. package/dist/assets/user-CLe-AIaT.js +1 -0
  214. package/dist/assets/{veo-CFvoKu7m.js → veo-cIAVWD_w.js} +1 -1
  215. package/dist/assets/{video-CXAWlT9I.js → video-CiwWcluo.js} +1 -1
  216. package/dist/assets/{volume-2-CuAumbnY.js → volume-2-5bvPVX8p.js} +1 -1
  217. package/dist/assets/{wallet-CbqyWjcS.js → wallet-D892e6wX.js} +1 -1
  218. package/dist/assets/{wan-DXiocQ_e.js → wan-rgKLVcEb.js} +1 -1
  219. package/dist/assets/{wand-sparkles-C1P1ca3a.js → wand-sparkles-DRXZGtxG.js} +1 -1
  220. package/dist/assets/{web-AZcUiKYy.js → web--b1k7EKP.js} +1 -1
  221. package/dist/assets/{web-CPS67zDL.js → web-BJgbi5wZ.js} +1 -1
  222. package/dist/assets/{web-CasKRs9f.js → web-BxAIHCWm.js} +1 -1
  223. package/dist/assets/{web-CqK3COPX.js → web-DgjcDpMh.js} +1 -1
  224. package/dist/assets/{web-JzyDGeE3.js → web-DpZHsBi7.js} +1 -1
  225. package/dist/assets/{webextrator-Bwbiipda.js → webextrator-CyxpsYwH.js} +1 -1
  226. package/dist/assets/{zap-BO4Chqbj.js → zap-q7JyAAF4.js} +1 -1
  227. package/dist/index.html +3 -3
  228. package/package.json +1 -1
  229. package/dist/assets/arrow-down-DdoPJtO0.js +0 -1
  230. package/dist/assets/arrow-left-DnIPxXSP.js +0 -1
  231. package/dist/assets/arrow-right-DkwoFSVk.js +0 -1
  232. package/dist/assets/arrow-up-DxbK-HB6.js +0 -1
  233. package/dist/assets/chat-Bn0KonSB.js +0 -1
  234. package/dist/assets/chat-Z-VrIgTr.js +0 -1
  235. package/dist/assets/check-CaNLzCZF.js +0 -1
  236. package/dist/assets/chevron-down-Ca3CkeTw.js +0 -1
  237. package/dist/assets/chevron-right-C0RF-sMh.js +0 -1
  238. package/dist/assets/circle-check-CCRePGCL.js +0 -1
  239. package/dist/assets/clock-Dcque8R3.js +0 -1
  240. package/dist/assets/constants-D-3QKDN1.js +0 -1
  241. package/dist/assets/esm-9LW6FScd.js +0 -1
  242. package/dist/assets/gauge-BiPfKoHt.js +0 -1
  243. package/dist/assets/loader-circle-DUDew8Js.js +0 -1
  244. package/dist/assets/music-2-BKkvcYGQ.js +0 -1
  245. package/dist/assets/play-C5zyWlLW.js +0 -1
  246. package/dist/assets/plus-CH1peoZu.js +0 -1
  247. package/dist/assets/rotate-ccw-xMPpDR34.js +0 -1
  248. package/dist/assets/rotate-cw-DPGGQ4Pf.js +0 -1
  249. package/dist/assets/search-DkQsQEeX.js +0 -1
  250. package/dist/assets/square-DdmluGLh.js +0 -1
  251. package/dist/assets/terminal-BYsTqGnM.js +0 -1
  252. package/dist/assets/user-f_IMlv4O.js +0 -1
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,S as c,T as l,at as u,bt as d,ht as f,it as p,j as m,mt as h,qt as g,rt as _,st as v,tt as y,x as b,z as x}from"./vendor-chart-Dw-P17PN.js";import{W as S}from"./use-deprecated-DjO24JGR.js";import{r as C,t as w}from"./select-BYKfh-PA.js";import{t as T}from"./upload-BcIsTY4i.js";import{t as E}from"./alert-BKth3UvF.js";import{t as D}from"./drawer-C2kyj3Pw.js";import{t as O}from"./input-number-X0ebYqAS.js";import{t as k}from"./switch-K85VuUXP.js";import{n as A}from"./taskDrawerMixin-Ct41F59z.js";import{t as j}from"./check-CaNLzCZF.js";import{t as M}from"./clock-Dcque8R3.js";import{t as N}from"./CopyToClipboard-C9i0d98d.js";import{t as P}from"./download-BxVo64dW.js";import{t as F}from"./gauge-BiPfKoHt.js";import{n as I,r as L,t as R}from"./PromptTextarea-tuoaVTiO.js";import{t as ee}from"./info-tKyR2r1q.js";import{t as z}from"./languages-ZnC8OHaM.js";import{t as te}from"./loader-circle-DUDew8Js.js";import{t as ne}from"./palette-CYa3UcS-.js";import{t as re}from"./paperclip-DbEmFoWS.js";import{t as ie}from"./pause-wNy7jxAc.js";import{t as ae}from"./play-C5zyWlLW.js";import{t as oe}from"./rotate-cw-DPGGQ4Pf.js";import{t as se}from"./triangle-alert-B41FFLvB.js";import{t as ce}from"./video-CXAWlT9I.js";import{t as B}from"./wand-sparkles-C1P1ca3a.js";import{Ar as V,Br as le,Dr as ue,Hr as de,Ir as fe,Nr as pe,Or as me,Rr as he,Tr as ge,jr as _e,kr as ve}from"./constants-D-3QKDN1.js";import{$t as ye,Ai as H,E as U,Rn as W,an as G,ei as K,gi as q,mr as be,nn as xe,ri as Se,tn as Ce}from"./index-gQyc38bL.js";import{t as we}from"./FilePreview-D01ui5_m.js";import{t as Te}from"./ImagePreview-fBjI49JA.js";import{a as Ee,n as De,r as Oe,t as ke}from"./pagination-NeLEP7c1.js";import{t as Ae}from"./VideoPlayer-Cngb9Caj.js";import{t as je}from"./ApiCodeButton-BKhL9Lo5.js";import{t as Me}from"./BotPlaceholder-CJELoiK9.js";import{n as Ne,t as Pe}from"./AudioPreview-D2cFjT4S.js";import{a as J,i as Fe,n as Ie,o as Le,s as Re,t as ze}from"./maestro-CS3tgBid.js";var Be=x({name:`LayoutMaestro`,components:{MagicIcon:B,ElDrawer:D,ElButton:H},mixins:[A]}),Ve={class:`main flex flex-row flex-1`},He={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)]`},Ue={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function We(t,n,r,i,o,c){let l=u(`magic-icon`),d=u(`el-button`),m=u(`el-drawer`);return y(),s(`div`,Ve,[e(`div`,He,[p(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ue,[p(t.$slots,`result`,{},void 0,!0)]),f(a(d,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:h(()=>[a(l,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[b,!t.tasksEmpty]]),a(m,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`generator-drawer`},{default:h(()=>[p(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Ge=U(Be,[[`render`,We],[`__scopeId`,`data-v-808f6ae5`]]),Ke=x({name:`MaestroFileUrlsInput`,components:{AttachmentIcon:re,ElUpload:T,ElButton:H},data(){return{fileList:[],uploadUrl:Se()+`/api/v1/files/`,MAESTRO_FILE_ACCEPT:he,MAESTRO_FILE_LIMIT:6}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},value(){return this.$store.state.maestro?.config?.file_urls||[]}},watch:{value:{immediate:!0,handler(e){let t=new Map(this.fileList.map(e=>[e?.response?.file_url||e.url,e])),n=e.map(e=>t.get(e)||{name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}}),r=this.fileList.filter(e=>!(e?.response?.file_url||e.url));this.fileList=[...n,...r]}}},methods:{onExceed(){q.warning(this.$t(`maestro.message.uploadExceed`))},onError(){q.error(this.$t(`maestro.message.uploadError`))},onChange(){let e=this.fileList.map(e=>e?.response?.file_url||e.url).filter(e=>!!e);this.$store.commit(`maestro/setConfig`,{...this.$store.state.maestro?.config,file_urls:e})}}});function qe(e,t,n,o,c,l){let d=u(`attachment-icon`),f=u(`el-button`),p=u(`el-upload`);return y(),s(`div`,null,[a(p,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,accept:e.MAESTRO_FILE_ACCEPT,name:`file`,class:`w-full`,limit:e.MAESTRO_FILE_LIMIT,multiple:!0,action:e.uploadUrl,headers:e.headers,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onChange,"on-remove":e.onChange},{default:h(()=>[a(f,{size:`small`,round:``},{default:h(()=>[a(d,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(e.$t(`maestro.button.uploadFiles`)),1)]),_:1})]),_:1},8,[`file-list`,`accept`,`limit`,`action`,`headers`,`on-exceed`,`on-error`,`on-success`,`on-remove`])])}var Je=U(Ke,[[`render`,qe]]),Ye={"9:16":{width:15,height:26},"16:9":{width:26,height:15},"1:1":{width:20,height:20}},Xe=x({name:`ConfigPanel`,components:{MagicIcon:B,ElButton:H,ElSelect:C,ElOption:w,ElInputNumber:O,ElAlert:E,ElSwitch:k,InfoIcon:Ee,PauseIcon:ie,PlayIcon:ae,PromptTextarea:R,FileUrlsInput:Je},emits:[`generate`],data(){return{MAESTRO_MIN_DURATION:1,MAESTRO_MAX_DURATION:600,MAESTRO_ALLOWED_QUALITIES:ue,MAESTRO_ALLOWED_SCENARIOS:me,MAESTRO_SCENARIO_THUMBNAILS:le,MAESTRO_ALLOWED_STYLES:ve,MAESTRO_ALLOWED_VOICES:V,playing:!1,audioEl:null}},computed:{config(){return this.$store.state.maestro?.config},service(){return this.$store.state.maestro?.service},ratioOptions(){return ge.map(e=>({value:e,...Ye[e]??{width:20,height:20}}))},isRemixing(){let e=this.config?.action;return!!e&&e!==`generate`&&!!this.config?.ref_task_id},refTaskId(){return this.config?.ref_task_id},needsVideoUpload(){if(!this.scenarioCustomizationEnabled)return!1;let e=this.config?.scenario;return!e||!de.includes(e)?!1:!(this.config?.file_urls||[]).some(e=>G(e))},canGenerate(){return!!this.prompt?.trim()&&!this.needsVideoUpload},prompt:{get(){return this.config?.prompt},set(e){this.update({prompt:e})}},langs:{get(){return J(this.config?.langs)},set(e){this.update({langs:J(e)})}},languageOptions(){return Fe(this.$i18n.locale)},additionalLanguageOptions(){return this.languageOptions.filter(e=>e.value!==this.primaryLanguage)},primaryLanguage:{get(){return this.langs[0]||pe[0]},set(e){this.update({langs:Re(this.langs,e)})}},additionalLanguages:{get(){return this.langs.slice(1)},set(e){this.update({langs:Le(this.langs,e)})}},aspect:{get(){return this.config?.aspect},set(e){this.update({aspect:e})}},duration:{get(){return this.config?.duration},set(e){let t=Math.min(600,Math.max(1,Math.round(typeof e==`number`&&!Number.isNaN(e)?e:30)));this.update({duration:t})}},quality:{get(){return this.config?.quality},set(e){this.update({quality:e})}},scenarioCustomizationEnabled:{get(){return this.config?.scenario_customization_enabled??!1},set(e){this.update({scenario_customization_enabled:e})}},styleCustomizationEnabled:{get(){return this.config?.style_customization_enabled??!1},set(e){this.update({style_customization_enabled:e})}},voiceCustomizationEnabled:{get(){return this.config?.voice_customization_enabled??!1},set(e){e||this.stopSample(),this.update({voice_customization_enabled:e})}},scenario:{get(){return this.config?.scenario},set(e){this.update({scenario:e})}},style:{get(){return this.config?.style},set(e){let t=e?.trim();this.update({style:!t||t.toLowerCase()===`auto`?fe:t})}},voice:{get(){return this.config?.voice},set(e){this.stopSample(),this.update({voice:e||`warm-female`})}},currentSample(){return V.find(e=>e.key===this.voice)?.sample}},watch:{voiceCustomizationEnabled(e){e||this.stopSample()},voice(){this.stopSample()}},mounted(){this.update({action:this.config?.action??`generate`,langs:J(this.config?.langs),aspect:this.config?.aspect??`9:16`,duration:this.config?.duration??30,quality:this.config?.quality??`standard`})},beforeUnmount(){this.stopSample()},methods:{update(e){this.$store.commit(`maestro/setConfig`,{...this.config,...e})},onClearRemix(){this.update({action:_e,ref_task_id:void 0})},onToggleSample(){let e=this.currentSample;if(e){if(this.audioEl||(this.audioEl=d(new Audio),this.audioEl.addEventListener(`ended`,()=>{this.playing=!1})),this.playing){this.audioEl.pause(),this.playing=!1;return}this.audioEl.src!==e&&(this.audioEl.src=e),this.audioEl.currentTime=0,this.audioEl.play().then(()=>{this.playing=!0}).catch(()=>{this.playing=!1})}},stopSample(){this.audioEl&&(this.audioEl.pause(),this.audioEl.currentTime=0),this.playing=!1},onGenerate(){this.$emit(`generate`)}}}),Ze={class:`flex flex-col h-full`},Qe={class:`flex-1 overflow-y-auto p-5`},$e={class:`text-xs mb-1`},et={class:`field-block mb-5`},tt={class:`field-head`},nt={class:`field-title font-bold`},rt={class:`field-block mb-5`},it={class:`field-head`},at={class:`field-title font-bold`},ot={class:`language-picker`},st={class:`language-role language-role--primary`},ct={class:`language-role-label`},lt={class:`language-role`},ut={class:`language-role-label`},dt={class:`field-block mb-5`},ft={class:`field-head`},pt={class:`field-title font-bold`},mt=[`aria-label`],ht=[`aria-checked`,`aria-label`,`onClick`,`onKeydown`],gt={class:`ratio-preview`},_t={class:`ratio-name`},vt={class:`field-row mb-4`},yt={class:`field-head`},bt={class:`field-title font-bold`},xt={class:`field-row`},St={class:`field-head`},Ct={class:`field-title font-bold`},wt={class:`custom-field`},Tt={class:`custom-field-header mb-2`},Et={class:`field-head`},Dt={class:`field-title font-bold`},Ot=[`aria-label`,`aria-disabled`],kt=[`aria-checked`,`aria-disabled`,`aria-label`,`tabindex`,`onClick`,`onKeydown`],At={class:`scenario-thumb`},jt=[`src`,`alt`],Mt={class:`scenario-name`},Nt={class:`custom-field`},Pt={class:`custom-field-header mb-2`},Ft={class:`field-head`},It={class:`field-title font-bold`},Lt={class:`custom-field`},Rt={class:`custom-field-header mb-2`},zt={class:`field-head`},Bt={class:`field-title font-bold`},Vt={class:`voice-row`},Ht={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ut(d,f,p,v,b,x){let S=u(`magic-icon`),C=u(`el-button`),w=u(`el-alert`),T=u(`prompt-textarea`),E=u(`info-icon`),D=u(`file-urls-input`),O=u(`el-option`),k=u(`el-select`),A=u(`el-input-number`),j=u(`el-switch`),M=u(`pause-icon`),N=u(`play-icon`);return y(),s(`div`,Ze,[e(`div`,Qe,[d.isRemixing?(y(),m(w,{key:0,closable:!1,type:`info`,class:`mb-5`},{default:h(()=>[e(`p`,$e,[a(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(d.$t(`maestro.name.remixing`))+`: `+i(d.refTaskId),1)]),a(C,{size:`small`,text:``,onClick:d.onClearRemix},{default:h(()=>[r(i(d.$t(`maestro.button.cancelRemix`)),1)]),_:1},8,[`onClick`])]),_:1})):o(``,!0),a(T,{modelValue:d.prompt,"onUpdate:modelValue":f[0]||=e=>d.prompt=e,class:`mb-5`,title:d.$t(`maestro.name.prompt`),info:d.$t(`maestro.description.prompt`),placeholder:d.$t(`maestro.placeholder.prompt`),"min-rows":6},null,8,[`modelValue`,`title`,`info`,`placeholder`]),e(`div`,et,[e(`div`,tt,[e(`h2`,nt,i(d.$t(`maestro.name.files`)),1),a(E,{content:d.$t(`maestro.description.files`),class:`ml-1`},null,8,[`content`])]),a(D)]),e(`div`,rt,[e(`div`,it,[e(`h2`,at,i(d.$t(`maestro.name.langs`)),1),a(E,{content:d.$t(`maestro.description.langs`),class:`ml-1`},null,8,[`content`])]),e(`div`,ot,[e(`label`,st,[e(`span`,ct,i(d.$t(`maestro.name.primaryLanguage`)),1),a(k,{modelValue:d.primaryLanguage,"onUpdate:modelValue":f[1]||=e=>d.primaryLanguage=e,class:`w-full`},{default:h(()=>[(y(!0),s(l,null,_(d.languageOptions,e=>(y(),m(O,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),e(`label`,lt,[e(`span`,ut,i(d.$t(`maestro.name.additionalLanguages`)),1),a(k,{modelValue:d.additionalLanguages,"onUpdate:modelValue":f[2]||=e=>d.additionalLanguages=e,multiple:``,"collapse-tags":``,"collapse-tags-tooltip":``,placeholder:d.$t(`maestro.placeholder.additionalLanguages`),class:`w-full`},{default:h(()=>[(y(!0),s(l,null,_(d.additionalLanguageOptions,e=>(y(),m(O,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])]),e(`div`,dt,[e(`div`,ft,[e(`h2`,pt,i(d.$t(`maestro.name.aspect`)),1)]),e(`div`,{class:`ratio-items`,role:`radiogroup`,"aria-label":d.$t(`maestro.name.aspect`)},[(y(!0),s(l,null,_(d.ratioOptions,r=>(y(),s(`div`,{key:r.value,class:n([`ratio-item`,{active:d.aspect===r.value}]),role:`radio`,"aria-checked":d.aspect===r.value,"aria-label":r.value,tabindex:`0`,onClick:e=>d.aspect=r.value,onKeydown:[c(t(e=>d.aspect=r.value,[`prevent`]),[`enter`]),c(t(e=>d.aspect=r.value,[`prevent`]),[`space`])]},[e(`div`,gt,[e(`div`,{class:`ratio-rect`,style:g({width:r.width+`px`,height:r.height+`px`})},null,4)]),e(`p`,_t,i(r.value),1)],42,ht))),128))],8,mt)]),e(`div`,vt,[e(`div`,yt,[e(`h2`,bt,i(d.$t(`maestro.name.duration`)),1),a(E,{content:d.$t(`maestro.description.duration`),class:`ml-1`},null,8,[`content`])]),a(A,{modelValue:d.duration,"onUpdate:modelValue":f[3]||=e=>d.duration=e,class:`field-control`,min:d.MAESTRO_MIN_DURATION,max:d.MAESTRO_MAX_DURATION,step:5,"controls-position":`right`},null,8,[`modelValue`,`min`,`max`])]),e(`div`,xt,[e(`div`,St,[e(`h2`,Ct,i(d.$t(`maestro.name.quality`)),1),a(E,{content:d.$t(`maestro.description.quality`),class:`ml-1`},null,8,[`content`])]),a(k,{modelValue:d.quality,"onUpdate:modelValue":f[4]||=e=>d.quality=e,class:`field-control`},{default:h(()=>[(y(!0),s(l,null,_(d.MAESTRO_ALLOWED_QUALITIES,e=>(y(),m(O,{key:e,label:d.$t(`maestro.option.quality.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),e(`div`,wt,[e(`div`,Tt,[e(`div`,Et,[e(`h2`,Dt,i(d.$t(`maestro.name.customizeScenario`)),1),a(E,{content:d.$t(`maestro.description.scenario`),class:`ml-1`},null,8,[`content`])]),a(j,{modelValue:d.scenarioCustomizationEnabled,"onUpdate:modelValue":f[5]||=e=>d.scenarioCustomizationEnabled=e,"aria-label":d.$t(`maestro.name.customizeScenario`)},null,8,[`modelValue`,`aria-label`])]),e(`div`,{class:n([`scenario-cards`,{"is-disabled":!d.scenarioCustomizationEnabled}]),role:`radiogroup`,"aria-label":d.$t(`maestro.name.scenario`),"aria-disabled":!d.scenarioCustomizationEnabled},[(y(!0),s(l,null,_(d.MAESTRO_ALLOWED_SCENARIOS,r=>(y(),s(`div`,{key:r,class:n([`scenario-card`,{active:d.scenarioCustomizationEnabled&&d.scenario===r,disabled:!d.scenarioCustomizationEnabled}]),role:`radio`,"aria-checked":d.scenarioCustomizationEnabled&&d.scenario===r,"aria-disabled":!d.scenarioCustomizationEnabled,"aria-label":d.$t(`maestro.option.scenario.${r}`),tabindex:d.scenarioCustomizationEnabled?0:-1,onClick:e=>d.scenarioCustomizationEnabled&&(d.scenario=r),onKeydown:[c(t(e=>d.scenarioCustomizationEnabled&&(d.scenario=r),[`prevent`]),[`enter`]),c(t(e=>d.scenarioCustomizationEnabled&&(d.scenario=r),[`prevent`]),[`space`])]},[e(`div`,At,[e(`img`,{src:d.MAESTRO_SCENARIO_THUMBNAILS[r],alt:d.$t(`maestro.option.scenario.${r}`),loading:`lazy`},null,8,jt)]),e(`p`,Mt,i(d.$t(`maestro.option.scenario.${r}`)),1)],42,kt))),128))],10,Ot),d.needsVideoUpload?(y(),m(w,{key:0,title:d.$t(`maestro.message.captionsNeedVideo`),type:`warning`,closable:!1,"show-icon":``,class:`mt-2`},null,8,[`title`])):o(``,!0)]),e(`div`,Nt,[e(`div`,Pt,[e(`div`,Ft,[e(`h2`,It,i(d.$t(`maestro.name.customizeStyle`)),1),a(E,{content:d.$t(`maestro.description.style`),class:`ml-1`},null,8,[`content`])]),a(j,{modelValue:d.styleCustomizationEnabled,"onUpdate:modelValue":f[6]||=e=>d.styleCustomizationEnabled=e,"aria-label":d.$t(`maestro.name.customizeStyle`)},null,8,[`modelValue`,`aria-label`])]),a(k,{modelValue:d.style,"onUpdate:modelValue":f[7]||=e=>d.style=e,class:`w-full`,filterable:``,"allow-create":``,"default-first-option":``,disabled:!d.styleCustomizationEnabled,"aria-label":d.$t(`maestro.name.customizeStyle`),placeholder:d.$t(`maestro.placeholder.select`)},{default:h(()=>[(y(!0),s(l,null,_(d.MAESTRO_ALLOWED_STYLES,e=>(y(),m(O,{key:e,label:d.$t(`maestro.option.style.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`disabled`,`aria-label`,`placeholder`])]),e(`div`,Lt,[e(`div`,Rt,[e(`div`,zt,[e(`h2`,Bt,i(d.$t(`maestro.name.customizeVoice`)),1),a(E,{content:d.$t(`maestro.description.voice`),class:`ml-1`},null,8,[`content`])]),a(j,{modelValue:d.voiceCustomizationEnabled,"onUpdate:modelValue":f[8]||=e=>d.voiceCustomizationEnabled=e,"aria-label":d.$t(`maestro.name.customizeVoice`)},null,8,[`modelValue`,`aria-label`])]),e(`div`,Vt,[a(k,{modelValue:d.voice,"onUpdate:modelValue":f[9]||=e=>d.voice=e,class:`voice-select`,disabled:!d.voiceCustomizationEnabled,"aria-label":d.$t(`maestro.name.customizeVoice`),placeholder:d.$t(`maestro.placeholder.select`)},{default:h(()=>[(y(!0),s(l,null,_(d.MAESTRO_ALLOWED_VOICES,e=>(y(),m(O,{key:e.key,label:d.$t(`maestro.option.voice.${e.key}`),value:e.key},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`disabled`,`aria-label`,`placeholder`]),a(C,{class:`voice-play`,disabled:!d.voiceCustomizationEnabled||!d.currentSample,title:d.$t(`maestro.button.preview`),"aria-label":d.$t(`maestro.button.preview`),onClick:d.onToggleSample},{default:h(()=>[d.playing?(y(),m(M,{key:0,size:`1em`,"aria-hidden":`true`,focusable:`false`})):(y(),m(N,{key:1,size:`1em`,"aria-hidden":`true`,focusable:`false`}))]),_:1},8,[`disabled`,`title`,`aria-label`,`onClick`])])])]),e(`div`,Ht,[a(C,{type:`primary`,class:`btn w-full`,round:``,disabled:!d.canGenerate,onClick:d.onGenerate},{default:h(()=>[a(S,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(d.$t(`maestro.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var Wt=U(Xe,[[`render`,Ut],[`__scopeId`,`data-v-a4840734`]]),Gt=50,Kt=1e4,Y=new Map,X=new Map,qt=(e,t)=>{if(Y.set(e,t),Y.size>Gt){let e=Y.keys().next().value;e&&Y.delete(e)}};async function Jt(e,t){let n=`${t.credentialKey}:${e}`,r=Y.get(n);if(r)return r;let i=X.get(n);if(i)return i.promise;let a=new AbortController,o,s={controller:a,promise:void 0},c=W.task(e,{token:t.token,signal:a.signal}).then(({data:e})=>{if(!a.signal.aborted)return qt(n,e),e}).catch(t=>{a.signal.aborted||console.warn(`failed to load maestro remix reference task`,e,t)}),l=new Promise(e=>{o=window.setTimeout(()=>{a.abort(),e(void 0)},Kt)});return s.promise=Promise.race([c,l]).finally(()=>{o!==void 0&&window.clearTimeout(o),X.get(n)===s&&X.delete(n)}),X.set(n,s),s.promise}var Z=[`plan`,`source`,`voice`,`compose`,`render`,`deliver`];function Q(e){if(!e)return-1;let t=e.toLowerCase(),n=Z.indexOf(t);return n>=0?n:/plan|storyboard|script|brief/.test(t)?0:/source|search|image|photo|asset|media/.test(t)?1:/voice|tts|audio|narrat/.test(t)?2:/compose|composit|build|layout|scene/.test(t)?3:/render|encode/.test(t)?4:/deliver|upload|cdn|complete|done|finish/.test(t)?5:-1}var Yt=x({name:`ProgressSteps`,components:{ElIcon:S,Loading:te,Check:j},props:{modelValue:{type:Object,required:!0}},computed:{currentIndex(){let e=this.modelValue?.response?.data?.progress||[],t=-1;for(let n of e)t=Math.max(t,Q(n?.stage));return t=Math.max(t,Q(this.modelValue?.response?.data?.stage)),Math.max(t,0)},detail(){let e=this.modelValue?.response?.data;if(e?.activity)return e.activity;let t=e?.progress||[];for(let e=t.length-1;e>=0;e--)if(t[e]?.message)return t[e]?.message},steps(){return Z.map(e=>({key:e}))}},methods:{stateOf(e){let t=this.currentIndex;return e<t?`done`:e===t?`active`:`pending`}}}),Xt={class:`progress-steps`,"aria-live":`polite`},Zt=[`aria-current`],Qt={class:`ico`},$t={class:`txt`},en={key:0,class:`detail`};function tn(t,r,c,d,f,p){let g=u(`loading`),v=u(`el-icon`),b=u(`check`);return y(),s(`div`,Xt,[(y(!0),s(l,null,_(t.steps,(r,c)=>(y(),s(`div`,{key:r.key,class:n([`step`,t.stateOf(c)]),"aria-current":c===t.currentIndex?`step`:void 0},[e(`span`,Qt,[c===t.currentIndex?(y(),m(v,{key:0,class:`is-loading`,"aria-label":t.$t(`maestro.step.${r.key}`)},{default:h(()=>[a(g,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`])):c<t.currentIndex?(y(),m(v,{key:1},{default:h(()=>[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1})):o(``,!0)]),e(`span`,$t,i(t.$t(`maestro.step.${r.key}`)),1)],10,Zt))),128)),t.detail?(y(),s(`p`,en,i(t.detail),1)):o(``,!0)])}var nn=U(Yt,[[`render`,tn],[`__scopeId`,`data-v-8a883977`]]),rn=[`succeeded`,`failed`],an=[1e3,3e3],on=x({name:`TaskPreview`,components:{ChannelIcon:L,DownloadIcon:P,InfoIcon:ee,LanguageIcon:z,MagicIcon:B,RedoIcon:oe,TimeIcon:M,WarningIcon:se,CopyToClipboard:N,ElAlert:E,VideoPlayer:Ae,ElButton:H,ApiCodeButton:je,ImagePreview:Te,AudioPreview:Pe,VideoPreview:Ne,FilePreview:we,ProgressSteps:nn},props:{modelValue:{type:Object,required:!0}},data(){return{fetchedReferenceTask:void 0,fetchedReferenceKey:void 0,referenceLoadAttempt:0,referenceLoadFailed:!1,referenceLoadTimer:void 0,referenceLoadVersion:0}},computed:{variants(){return this.modelValue?.response?.data?.variants||[]},files(){let e=[...this.modelValue?.request?.file_urls||[]];if(this.referenceTaskId)for(let t of this.referenceTask?.response?.data?.variants||[])t.output_url&&e.push(t.output_url);return[...new Set(e)].filter(e=>!!e).map(e=>{let t=e.split(`?`)[0].split(`#`)[0],n=xe(t)?`image`:G(t)?`video`:Ce(t)?`audio`:`file`;return{url:e,name:this.fileName(t),kind:n}})},referenceTaskId(){let e=this.modelValue?.request;return e?.action===`remix`?e?.ref_task_id:void 0},referenceLoadKey(){let e=this.$store.state.maestro?.credential,t=e?.token;if(!(!this.referenceTaskId||!t))return JSON.stringify([this.referenceTaskId,e?.id||e?.user_id||t,t])},referenceTask(){if(this.referenceTaskId)return this.$store.state.maestro?.tasks?.items?.find(e=>e.id===this.referenceTaskId)||(this.fetchedReferenceKey===this.referenceLoadKey?this.fetchedReferenceTask:void 0)},isTerminal(){return rn.includes(this.modelValue?.status||``)},traceId(){return this.modelValue?.trace_id||this.modelValue?.response?.trace_id},progressPct(){let e=this.modelValue?.response?.data?.progress,t=e?.length?e[e.length-1]:void 0;return typeof t?.pct==`number`?t.pct:void 0},progressText(){return this.progressPct===void 0?this.statusLabel:`${this.progressPct}%`},statusLabel(){let e=`maestro.status.${this.modelValue?.status||`pending`}`,t=this.$t(e);return t===e?this.$t(`maestro.status.processing`):t},failureReason(){let e=this.modelValue?.response?.error;if(e)return typeof e==`string`?e:e?.message},requestParams(){let e=this.modelValue?.request;if(!e)return[];let t=[];return e.action&&t.push({icon:d(B),label:this.$t(`maestro.name.mode`),value:this.optionLabel(`maestro.option.action`,e.action)}),e.scenario&&t.push({icon:d(ce),label:this.$t(`maestro.name.scenario`),value:this.optionLabel(`maestro.option.scenario`,e.scenario)}),e.style&&t.push({icon:d(ne),label:this.$t(`maestro.name.style`),value:this.optionLabel(`maestro.option.style`,e.style)}),e.quality&&t.push({icon:d(F),label:this.$t(`maestro.name.quality`),value:this.optionLabel(`maestro.option.quality`,e.quality)}),e.aspect&&t.push({icon:d(I),label:this.$t(`maestro.name.aspect`),value:e.aspect}),e.duration&&t.push({icon:d(M),label:this.$t(`maestro.name.duration`),value:`${e.duration}s`}),e.langs?.length&&t.push({icon:d(z),label:this.$t(`maestro.name.langs`),value:e.langs.join(` · `)}),t}},watch:{referenceLoadKey:{immediate:!0,handler(e){this.resetReferenceLoad(),e&&!this.referenceTask&&this.loadReferenceTask(e)}}},beforeUnmount(){this.resetReferenceLoad()},methods:{resetReferenceLoad(){this.referenceLoadTimer!==void 0&&window.clearTimeout(this.referenceLoadTimer),this.referenceLoadTimer=void 0,this.referenceLoadVersion+=1,this.referenceLoadAttempt=0,this.referenceLoadFailed=!1,this.fetchedReferenceTask=void 0,this.fetchedReferenceKey=void 0},async loadReferenceTask(e){if(e!==this.referenceLoadKey||this.referenceTask)return;let t=this.$store.state.maestro?.credential,n=t?.token,r=this.referenceTaskId;if(!r||!n)return;let i=t?.id||t?.user_id||n,a=this.referenceLoadVersion;this.referenceLoadAttempt+=1;let o=await Jt(r,{token:n,credentialKey:i});if(a!==this.referenceLoadVersion||e!==this.referenceLoadKey)return;if(o){this.fetchedReferenceTask=o,this.fetchedReferenceKey=e,this.referenceLoadFailed=!1;return}let s=an[this.referenceLoadAttempt-1];s===void 0?this.referenceLoadFailed=!0:this.referenceLoadTimer=window.setTimeout(()=>{this.referenceLoadTimer=void 0,this.loadReferenceTask(e)},s)},retryReferenceTask(){let e=this.referenceLoadKey;this.resetReferenceLoad(),e&&this.loadReferenceTask(e)},optionLabel(e,t){let n=`${e}.${t}`,r=this.$t(n);return r===n?t:r},fileName(e){let t=e.substring(e.lastIndexOf(`/`)+1);try{return decodeURIComponent(t)||e}catch{return t||e}},onDownload(e,t){e?.stopPropagation(),window.open(t,`_blank`)},onRemix(){if(!this.modelValue)return;let e=Ie(this.$store.state.maestro?.config,this.modelValue);this.$store.commit(`maestro/setConfig`,e),q.info(this.$t(`maestro.message.remixLoaded`))}}}),sn={class:`preview`},cn={class:`left`},ln={class:`main`},un={class:`bot`},dn={class:`datetime`},fn={class:`info`},pn={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},mn=[`href`,`title`],hn={key:1,class:`reference-load-failed flex items-center gap-1 mt-2 text-xs text-[var(--el-text-color-secondary)]`},gn={key:2,class:`prompt mt-2`},_n={key:0,class:`progress-pct`},vn={key:0,class:`content`},yn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},bn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},xn={key:1,class:`content`},Sn={class:`text-xs text-[var(--el-text-color-secondary)] mb-1`},Cn={key:0},wn={class:`operations`},Tn={key:0},En={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={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-0`},On={key:2,class:`content`},kn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},An={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},jn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Mn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Nn(t,c,d,f,p,g){let b=u(`capability-presentation`),x=u(`image-preview`),S=u(`video-preview`),C=u(`audio-preview`),w=u(`file-preview`),T=u(`info-icon`),E=u(`redo-icon`),D=u(`el-button`),O=u(`progress-steps`),k=u(`magic-icon`),A=u(`copy-to-clipboard`),j=u(`channel-icon`),M=u(`el-alert`),N=u(`language-icon`),P=u(`video-player`),F=u(`download-icon`),I=u(`api-code-button`),L=u(`time-icon`),R=u(`warning-icon`);return y(),s(`div`,sn,[e(`div`,cn,[a(b,{capability:`maestro`,part:`avatar`,class:`avatar`})]),e(`div`,ln,[e(`div`,un,[a(b,{capability:`maestro`,part:`name`}),e(`span`,dn,i(t.$dayjs.format(``+new Date(parseFloat((t.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,fn,[t.files.length?(y(),s(`div`,pn,[(y(!0),s(l,null,_(t.files,(e,t)=>(y(),s(l,{key:t},[e.kind===`image`?(y(),m(x,{key:0,url:e.url,name:e.name,closable:!1},null,8,[`url`,`name`])):e.kind===`video`?(y(),m(S,{key:1,url:e.url,name:e.name},null,8,[`url`,`name`])):e.kind===`audio`?(y(),m(C,{key:2,url:e.url,name:e.name},null,8,[`url`,`name`])):(y(),s(`a`,{key:3,href:e.url,title:e.name,target:`_blank`,rel:`noopener noreferrer`,class:`shrink-0 no-underline`},[a(w,{name:e.name,closable:!1},null,8,[`name`])],8,mn))],64))),128))])):o(``,!0),t.referenceLoadFailed&&t.referenceTaskId&&!t.referenceTask?(y(),s(`div`,hn,[a(T,{size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,null,i(t.$t(`maestro.name.files`))+`: `+i(t.$t(`maestro.name.failure`)),1),a(D,{class:`reference-retry`,size:`small`,text:``,circle:``,title:t.$t(`codingBridge.session.retry`),"aria-label":t.$t(`codingBridge.session.retry`),onClick:t.retryReferenceTask},{default:h(()=>[a(E,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`title`,`aria-label`,`onClick`])])):o(``,!0),t.modelValue?.request?.prompt?(y(),s(`p`,gn,[r(i(t.modelValue?.request?.prompt)+` `,1),t.isTerminal?o(``,!0):(y(),s(`span`,_n,` · `+i(t.progressText),1))])):o(``,!0)]),t.isTerminal?o(``,!0):(y(),s(`div`,vn,[a(M,{closable:!1,class:`mt-2 processing`},{default:h(()=>[a(O,{"model-value":t.modelValue},null,8,[`model-value`]),(y(!0),s(l,null,_(t.requestParams,(e,t)=>(y(),s(`p`,{key:`param-${t}`,class:n([`text-[var(--el-text-color-regular)] text-xs mb-2`,{"mt-3":t===0}])},[(y(),m(v(e.icon),{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),r(` `+i(e.label)+`: `+i(e.value),1)],2))),128)),e(`p`,yn,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.name.taskId`))+`: `+i(t.modelValue?.id)+` `,1),a(A,{content:t.modelValue?.id},null,8,[`content`])]),t.traceId?(y(),s(`p`,bn,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.name.traceId`))+`: `+i(t.traceId)+` `,1),a(A,{content:t.traceId},null,8,[`content`])])):o(``,!0)]),_:1})])),t.modelValue?.response?.success===!0&&t.variants.length?(y(),s(`div`,xn,[(y(!0),s(l,null,_(t.variants,(t,n)=>(y(),s(`div`,{key:n,class:`mb-4`},[e(`p`,Sn,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(i(t.lang),1),t.title?(y(),s(`span`,Cn,` · `+i(t.title),1)):o(``,!0)]),t.output_url?(y(),m(P,{key:0,src:t.output_url},null,8,[`src`])):o(``,!0)]))),128)),e(`div`,wn,[(y(!0),s(l,null,_(t.variants,(e,n)=>(y(),s(l,{key:n},[e.output_url?(y(),m(D,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:n=>t.onDownload(n,e.output_url)},{default:h(()=>[a(F,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.button.download`)),1),t.variants.length>1?(y(),s(`span`,Tn,` · `+i(e.lang),1)):o(``,!0)]),_:2},1032,[`onClick`])):o(``,!0)],64))),128)),a(D,{size:`small`,type:`primary`,class:`btn-action`,onClick:t.onRemix},{default:h(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.button.remix`)),1)]),_:1},8,[`onClick`]),a(I,{path:`/maestro/videos`,body:t.modelValue?.request},null,8,[`body`])]),a(M,{closable:!1,class:`mt-2 success`},{default:h(()=>[(y(!0),s(l,null,_(t.requestParams,(e,t)=>(y(),s(`p`,{key:`param-${t}`,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},[(y(),m(v(e.icon),{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),r(` `+i(e.label)+`: `+i(e.value),1)]))),128)),e(`p`,En,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.name.taskId`))+`: `+i(t.modelValue?.id)+` `,1),a(A,{content:t.modelValue?.id},null,8,[`content`])]),t.modelValue?.elapsed?(y(),s(`p`,$,[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.name.elapsed`))+`: `+i(t.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),t.traceId?(y(),s(`p`,Dn,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.name.traceId`))+`: `+i(t.traceId)+` `,1),a(A,{content:t.traceId},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0),t.modelValue?.response?.success===!1?(y(),s(`div`,On,[a(M,{closable:!1,class:`failure`},{template:h(()=>[a(R,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.name.failure`)),1)]),default:h(()=>[(y(!0),s(l,null,_(t.requestParams,(e,t)=>(y(),s(`p`,{key:`param-${t}`,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},[(y(),m(v(e.icon),{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),r(` `+i(e.label)+`: `+i(e.value),1)]))),128)),e(`p`,kn,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.name.taskId`))+`: `+i(t.modelValue?.id)+` `,1),a(A,{content:t.modelValue?.id},null,8,[`content`])]),t.failureReason?(y(),s(`p`,An,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.name.failureReason`))+`: `+i(t.failureReason),1)])):o(``,!0),t.modelValue?.elapsed?(y(),s(`p`,jn,[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.name.elapsed`))+`: `+i(t.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),t.traceId?(y(),s(`p`,Mn,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.name.traceId`))+`: `+i(t.traceId)+` `,1),a(A,{content:t.traceId},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0)])])}var Pn=x({name:`RecentPanel`,components:{TaskPreview:U(on,[[`render`,Nn],[`__scopeId`,`data-v-aecd9f66`]]),NoTasks:Oe,BotPlaceholder:Me,ScrollList:De},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.maestro?.tasks,items:this.$store.state.maestro?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Fn={key:0},In={key:2,class:`w-full h-full flex items-center justify-center`};function Ln(e,t,n,r,i,c){let d=u(`bot-placeholder`),f=u(`task-preview`),p=u(`scroll-list`),g=u(`no-tasks`);return y(),s(l,null,[e.tasks?.items===void 0?(y(),s(`div`,Fn,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(y(),m(p,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:h(()=>[(y(!0),s(l,null,_(e.tasks?.items,(e,t)=>(y(),m(f,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(y(),s(`div`,In,[a(g)])):o(``,!0)],64)}var Rn=x({name:`MaestroIndex`,components:{ConfigPanel:Wt,Layout:Ge,RecentPanel:U(Pn,[[`render`,Ln]])},inject:[`initialized`],data(){return{job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.maestro?.status?.getApplications===K.Request},tasksLoading(){return this.$store.state.maestro?.status?.getTasks===K.Request||this.fetchingTasks},credential(){return this.$store.state.maestro.credential},config(){return this.$store.state.maestro.config},tasks(){return this.$store.state.maestro.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 ke({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(`maestro/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(`maestro/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){let e=ze(this.config);if(!ye())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}q.info(this.$t(`maestro.message.startingTask`)),be(`maestro`,W.generate(e,{token:t})).then(()=>{q.success(this.$t(`maestro.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?q.error(this.$t(`maestro.message.usedUp`)):q.error(this.$t(`maestro.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function zn(e,t,n,r,i,o){let s=u(`config-panel`),c=u(`recent-panel`),l=u(`layout`);return y(),m(l,null,{config:h(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:h(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Bn=U(Rn,[[`render`,zn]]);export{Bn 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,S as c,T as l,at as u,bt as d,ht as f,it as p,j as m,mt as h,qt as g,rt as _,st as v,tt as y,x as b,z as x}from"./vendor-chart-Dw-P17PN.js";import{W as S}from"./use-deprecated-DjO24JGR.js";import{r as C,t as w}from"./select-JAczkKoE.js";import{t as T}from"./upload-BedulYZW.js";import{t as E}from"./alert-VaAPPGZr.js";import{t as D}from"./drawer-gjSg9s7j.js";import{t as O}from"./input-number-UT2f4aeu.js";import{t as k}from"./switch-CAd6fRZJ.js";import{n as A}from"./taskDrawerMixin-C-lrX7VA.js";import{t as j}from"./check-DMmDyBNa.js";import{t as M}from"./clock-CzflPTOt.js";import{t as N}from"./CopyToClipboard-pWp_B9NW.js";import{t as P}from"./download-DeHLyZsS.js";import{t as F}from"./gauge-DzmGLzc2.js";import{n as I,r as L,t as R}from"./PromptTextarea-BMr_0bmw.js";import{t as ee}from"./info-B0aeOqce.js";import{t as z}from"./languages-DL2BUujv.js";import{t as te}from"./loader-circle-DICLLF1z.js";import{t as ne}from"./palette-B7zqxD9m.js";import{t as re}from"./paperclip-B42DO1K6.js";import{t as ie}from"./pause-Cs4QIKtw.js";import{t as ae}from"./play-1R1SxI73.js";import{t as oe}from"./rotate-cw-DVee28a9.js";import{t as se}from"./triangle-alert-BqDc1cQ7.js";import{t as ce}from"./video-CiwWcluo.js";import{t as B}from"./wand-sparkles-DRXZGtxG.js";import{Ar as V,Br as le,Dr as ue,Hr as de,Ir as fe,Nr as pe,Or as me,Rr as he,Tr as ge,jr as _e,kr as ve}from"./constants-DaRYe5KJ.js";import{$t as ye,Ai as H,E as U,Rn as W,an as G,ei as K,gi as q,mr as be,nn as xe,ri as Se,tn as Ce}from"./index-BM5Tg8p0.js";import{t as we}from"./FilePreview-Cojekkxm.js";import{t as Te}from"./ImagePreview-CCcn4bmL.js";import{a as Ee,n as De,r as Oe,t as ke}from"./pagination-CoR0sXH9.js";import{t as Ae}from"./VideoPlayer-BFniurMW.js";import{t as je}from"./ApiCodeButton-Clhyx6b-.js";import{t as Me}from"./BotPlaceholder-DviRFOpE.js";import{n as Ne,t as Pe}from"./AudioPreview-BL243-Be.js";import{a as J,i as Fe,n as Ie,o as Le,s as Re,t as ze}from"./maestro-BId1Hc5q.js";var Be=x({name:`LayoutMaestro`,components:{MagicIcon:B,ElDrawer:D,ElButton:H},mixins:[A]}),Ve={class:`main flex flex-row flex-1`},He={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)]`},Ue={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function We(t,n,r,i,o,c){let l=u(`magic-icon`),d=u(`el-button`),m=u(`el-drawer`);return y(),s(`div`,Ve,[e(`div`,He,[p(t.$slots,`config`,{},void 0,!0)]),e(`div`,Ue,[p(t.$slots,`result`,{},void 0,!0)]),f(a(d,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:h(()=>[a(l,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[b,!t.tasksEmpty]]),a(m,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`generator-drawer`},{default:h(()=>[p(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Ge=U(Be,[[`render`,We],[`__scopeId`,`data-v-808f6ae5`]]),Ke=x({name:`MaestroFileUrlsInput`,components:{AttachmentIcon:re,ElUpload:T,ElButton:H},data(){return{fileList:[],uploadUrl:Se()+`/api/v1/files/`,MAESTRO_FILE_ACCEPT:he,MAESTRO_FILE_LIMIT:6}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},value(){return this.$store.state.maestro?.config?.file_urls||[]}},watch:{value:{immediate:!0,handler(e){let t=new Map(this.fileList.map(e=>[e?.response?.file_url||e.url,e])),n=e.map(e=>t.get(e)||{name:e.split(`/`).pop()||e,url:e,status:`success`,percentage:100,response:{file_url:e}}),r=this.fileList.filter(e=>!(e?.response?.file_url||e.url));this.fileList=[...n,...r]}}},methods:{onExceed(){q.warning(this.$t(`maestro.message.uploadExceed`))},onError(){q.error(this.$t(`maestro.message.uploadError`))},onChange(){let e=this.fileList.map(e=>e?.response?.file_url||e.url).filter(e=>!!e);this.$store.commit(`maestro/setConfig`,{...this.$store.state.maestro?.config,file_urls:e})}}});function qe(e,t,n,o,c,l){let d=u(`attachment-icon`),f=u(`el-button`),p=u(`el-upload`);return y(),s(`div`,null,[a(p,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,accept:e.MAESTRO_FILE_ACCEPT,name:`file`,class:`w-full`,limit:e.MAESTRO_FILE_LIMIT,multiple:!0,action:e.uploadUrl,headers:e.headers,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onChange,"on-remove":e.onChange},{default:h(()=>[a(f,{size:`small`,round:``},{default:h(()=>[a(d,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(e.$t(`maestro.button.uploadFiles`)),1)]),_:1})]),_:1},8,[`file-list`,`accept`,`limit`,`action`,`headers`,`on-exceed`,`on-error`,`on-success`,`on-remove`])])}var Je=U(Ke,[[`render`,qe]]),Ye={"9:16":{width:15,height:26},"16:9":{width:26,height:15},"1:1":{width:20,height:20}},Xe=x({name:`ConfigPanel`,components:{MagicIcon:B,ElButton:H,ElSelect:C,ElOption:w,ElInputNumber:O,ElAlert:E,ElSwitch:k,InfoIcon:Ee,PauseIcon:ie,PlayIcon:ae,PromptTextarea:R,FileUrlsInput:Je},emits:[`generate`],data(){return{MAESTRO_MIN_DURATION:1,MAESTRO_MAX_DURATION:600,MAESTRO_ALLOWED_QUALITIES:ue,MAESTRO_ALLOWED_SCENARIOS:me,MAESTRO_SCENARIO_THUMBNAILS:le,MAESTRO_ALLOWED_STYLES:ve,MAESTRO_ALLOWED_VOICES:V,playing:!1,audioEl:null}},computed:{config(){return this.$store.state.maestro?.config},service(){return this.$store.state.maestro?.service},ratioOptions(){return ge.map(e=>({value:e,...Ye[e]??{width:20,height:20}}))},isRemixing(){let e=this.config?.action;return!!e&&e!==`generate`&&!!this.config?.ref_task_id},refTaskId(){return this.config?.ref_task_id},needsVideoUpload(){if(!this.scenarioCustomizationEnabled)return!1;let e=this.config?.scenario;return!e||!de.includes(e)?!1:!(this.config?.file_urls||[]).some(e=>G(e))},canGenerate(){return!!this.prompt?.trim()&&!this.needsVideoUpload},prompt:{get(){return this.config?.prompt},set(e){this.update({prompt:e})}},langs:{get(){return J(this.config?.langs)},set(e){this.update({langs:J(e)})}},languageOptions(){return Fe(this.$i18n.locale)},additionalLanguageOptions(){return this.languageOptions.filter(e=>e.value!==this.primaryLanguage)},primaryLanguage:{get(){return this.langs[0]||pe[0]},set(e){this.update({langs:Re(this.langs,e)})}},additionalLanguages:{get(){return this.langs.slice(1)},set(e){this.update({langs:Le(this.langs,e)})}},aspect:{get(){return this.config?.aspect},set(e){this.update({aspect:e})}},duration:{get(){return this.config?.duration},set(e){let t=Math.min(600,Math.max(1,Math.round(typeof e==`number`&&!Number.isNaN(e)?e:30)));this.update({duration:t})}},quality:{get(){return this.config?.quality},set(e){this.update({quality:e})}},scenarioCustomizationEnabled:{get(){return this.config?.scenario_customization_enabled??!1},set(e){this.update({scenario_customization_enabled:e})}},styleCustomizationEnabled:{get(){return this.config?.style_customization_enabled??!1},set(e){this.update({style_customization_enabled:e})}},voiceCustomizationEnabled:{get(){return this.config?.voice_customization_enabled??!1},set(e){e||this.stopSample(),this.update({voice_customization_enabled:e})}},scenario:{get(){return this.config?.scenario},set(e){this.update({scenario:e})}},style:{get(){return this.config?.style},set(e){let t=e?.trim();this.update({style:!t||t.toLowerCase()===`auto`?fe:t})}},voice:{get(){return this.config?.voice},set(e){this.stopSample(),this.update({voice:e||`warm-female`})}},currentSample(){return V.find(e=>e.key===this.voice)?.sample}},watch:{voiceCustomizationEnabled(e){e||this.stopSample()},voice(){this.stopSample()}},mounted(){this.update({action:this.config?.action??`generate`,langs:J(this.config?.langs),aspect:this.config?.aspect??`9:16`,duration:this.config?.duration??30,quality:this.config?.quality??`standard`})},beforeUnmount(){this.stopSample()},methods:{update(e){this.$store.commit(`maestro/setConfig`,{...this.config,...e})},onClearRemix(){this.update({action:_e,ref_task_id:void 0})},onToggleSample(){let e=this.currentSample;if(e){if(this.audioEl||(this.audioEl=d(new Audio),this.audioEl.addEventListener(`ended`,()=>{this.playing=!1})),this.playing){this.audioEl.pause(),this.playing=!1;return}this.audioEl.src!==e&&(this.audioEl.src=e),this.audioEl.currentTime=0,this.audioEl.play().then(()=>{this.playing=!0}).catch(()=>{this.playing=!1})}},stopSample(){this.audioEl&&(this.audioEl.pause(),this.audioEl.currentTime=0),this.playing=!1},onGenerate(){this.$emit(`generate`)}}}),Ze={class:`flex flex-col h-full`},Qe={class:`flex-1 overflow-y-auto p-5`},$e={class:`text-xs mb-1`},et={class:`field-block mb-5`},tt={class:`field-head`},nt={class:`field-title font-bold`},rt={class:`field-block mb-5`},it={class:`field-head`},at={class:`field-title font-bold`},ot={class:`language-picker`},st={class:`language-role language-role--primary`},ct={class:`language-role-label`},lt={class:`language-role`},ut={class:`language-role-label`},dt={class:`field-block mb-5`},ft={class:`field-head`},pt={class:`field-title font-bold`},mt=[`aria-label`],ht=[`aria-checked`,`aria-label`,`onClick`,`onKeydown`],gt={class:`ratio-preview`},_t={class:`ratio-name`},vt={class:`field-row mb-4`},yt={class:`field-head`},bt={class:`field-title font-bold`},xt={class:`field-row`},St={class:`field-head`},Ct={class:`field-title font-bold`},wt={class:`custom-field`},Tt={class:`custom-field-header mb-2`},Et={class:`field-head`},Dt={class:`field-title font-bold`},Ot=[`aria-label`,`aria-disabled`],kt=[`aria-checked`,`aria-disabled`,`aria-label`,`tabindex`,`onClick`,`onKeydown`],At={class:`scenario-thumb`},jt=[`src`,`alt`],Mt={class:`scenario-name`},Nt={class:`custom-field`},Pt={class:`custom-field-header mb-2`},Ft={class:`field-head`},It={class:`field-title font-bold`},Lt={class:`custom-field`},Rt={class:`custom-field-header mb-2`},zt={class:`field-head`},Bt={class:`field-title font-bold`},Vt={class:`voice-row`},Ht={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ut(d,f,p,v,b,x){let S=u(`magic-icon`),C=u(`el-button`),w=u(`el-alert`),T=u(`prompt-textarea`),E=u(`info-icon`),D=u(`file-urls-input`),O=u(`el-option`),k=u(`el-select`),A=u(`el-input-number`),j=u(`el-switch`),M=u(`pause-icon`),N=u(`play-icon`);return y(),s(`div`,Ze,[e(`div`,Qe,[d.isRemixing?(y(),m(w,{key:0,closable:!1,type:`info`,class:`mb-5`},{default:h(()=>[e(`p`,$e,[a(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(d.$t(`maestro.name.remixing`))+`: `+i(d.refTaskId),1)]),a(C,{size:`small`,text:``,onClick:d.onClearRemix},{default:h(()=>[r(i(d.$t(`maestro.button.cancelRemix`)),1)]),_:1},8,[`onClick`])]),_:1})):o(``,!0),a(T,{modelValue:d.prompt,"onUpdate:modelValue":f[0]||=e=>d.prompt=e,class:`mb-5`,title:d.$t(`maestro.name.prompt`),info:d.$t(`maestro.description.prompt`),placeholder:d.$t(`maestro.placeholder.prompt`),"min-rows":6},null,8,[`modelValue`,`title`,`info`,`placeholder`]),e(`div`,et,[e(`div`,tt,[e(`h2`,nt,i(d.$t(`maestro.name.files`)),1),a(E,{content:d.$t(`maestro.description.files`),class:`ml-1`},null,8,[`content`])]),a(D)]),e(`div`,rt,[e(`div`,it,[e(`h2`,at,i(d.$t(`maestro.name.langs`)),1),a(E,{content:d.$t(`maestro.description.langs`),class:`ml-1`},null,8,[`content`])]),e(`div`,ot,[e(`label`,st,[e(`span`,ct,i(d.$t(`maestro.name.primaryLanguage`)),1),a(k,{modelValue:d.primaryLanguage,"onUpdate:modelValue":f[1]||=e=>d.primaryLanguage=e,class:`w-full`},{default:h(()=>[(y(!0),s(l,null,_(d.languageOptions,e=>(y(),m(O,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),e(`label`,lt,[e(`span`,ut,i(d.$t(`maestro.name.additionalLanguages`)),1),a(k,{modelValue:d.additionalLanguages,"onUpdate:modelValue":f[2]||=e=>d.additionalLanguages=e,multiple:``,"collapse-tags":``,"collapse-tags-tooltip":``,placeholder:d.$t(`maestro.placeholder.additionalLanguages`),class:`w-full`},{default:h(()=>[(y(!0),s(l,null,_(d.additionalLanguageOptions,e=>(y(),m(O,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])])]),e(`div`,dt,[e(`div`,ft,[e(`h2`,pt,i(d.$t(`maestro.name.aspect`)),1)]),e(`div`,{class:`ratio-items`,role:`radiogroup`,"aria-label":d.$t(`maestro.name.aspect`)},[(y(!0),s(l,null,_(d.ratioOptions,r=>(y(),s(`div`,{key:r.value,class:n([`ratio-item`,{active:d.aspect===r.value}]),role:`radio`,"aria-checked":d.aspect===r.value,"aria-label":r.value,tabindex:`0`,onClick:e=>d.aspect=r.value,onKeydown:[c(t(e=>d.aspect=r.value,[`prevent`]),[`enter`]),c(t(e=>d.aspect=r.value,[`prevent`]),[`space`])]},[e(`div`,gt,[e(`div`,{class:`ratio-rect`,style:g({width:r.width+`px`,height:r.height+`px`})},null,4)]),e(`p`,_t,i(r.value),1)],42,ht))),128))],8,mt)]),e(`div`,vt,[e(`div`,yt,[e(`h2`,bt,i(d.$t(`maestro.name.duration`)),1),a(E,{content:d.$t(`maestro.description.duration`),class:`ml-1`},null,8,[`content`])]),a(A,{modelValue:d.duration,"onUpdate:modelValue":f[3]||=e=>d.duration=e,class:`field-control`,min:d.MAESTRO_MIN_DURATION,max:d.MAESTRO_MAX_DURATION,step:5,"controls-position":`right`},null,8,[`modelValue`,`min`,`max`])]),e(`div`,xt,[e(`div`,St,[e(`h2`,Ct,i(d.$t(`maestro.name.quality`)),1),a(E,{content:d.$t(`maestro.description.quality`),class:`ml-1`},null,8,[`content`])]),a(k,{modelValue:d.quality,"onUpdate:modelValue":f[4]||=e=>d.quality=e,class:`field-control`},{default:h(()=>[(y(!0),s(l,null,_(d.MAESTRO_ALLOWED_QUALITIES,e=>(y(),m(O,{key:e,label:d.$t(`maestro.option.quality.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),e(`div`,wt,[e(`div`,Tt,[e(`div`,Et,[e(`h2`,Dt,i(d.$t(`maestro.name.customizeScenario`)),1),a(E,{content:d.$t(`maestro.description.scenario`),class:`ml-1`},null,8,[`content`])]),a(j,{modelValue:d.scenarioCustomizationEnabled,"onUpdate:modelValue":f[5]||=e=>d.scenarioCustomizationEnabled=e,"aria-label":d.$t(`maestro.name.customizeScenario`)},null,8,[`modelValue`,`aria-label`])]),e(`div`,{class:n([`scenario-cards`,{"is-disabled":!d.scenarioCustomizationEnabled}]),role:`radiogroup`,"aria-label":d.$t(`maestro.name.scenario`),"aria-disabled":!d.scenarioCustomizationEnabled},[(y(!0),s(l,null,_(d.MAESTRO_ALLOWED_SCENARIOS,r=>(y(),s(`div`,{key:r,class:n([`scenario-card`,{active:d.scenarioCustomizationEnabled&&d.scenario===r,disabled:!d.scenarioCustomizationEnabled}]),role:`radio`,"aria-checked":d.scenarioCustomizationEnabled&&d.scenario===r,"aria-disabled":!d.scenarioCustomizationEnabled,"aria-label":d.$t(`maestro.option.scenario.${r}`),tabindex:d.scenarioCustomizationEnabled?0:-1,onClick:e=>d.scenarioCustomizationEnabled&&(d.scenario=r),onKeydown:[c(t(e=>d.scenarioCustomizationEnabled&&(d.scenario=r),[`prevent`]),[`enter`]),c(t(e=>d.scenarioCustomizationEnabled&&(d.scenario=r),[`prevent`]),[`space`])]},[e(`div`,At,[e(`img`,{src:d.MAESTRO_SCENARIO_THUMBNAILS[r],alt:d.$t(`maestro.option.scenario.${r}`),loading:`lazy`},null,8,jt)]),e(`p`,Mt,i(d.$t(`maestro.option.scenario.${r}`)),1)],42,kt))),128))],10,Ot),d.needsVideoUpload?(y(),m(w,{key:0,title:d.$t(`maestro.message.captionsNeedVideo`),type:`warning`,closable:!1,"show-icon":``,class:`mt-2`},null,8,[`title`])):o(``,!0)]),e(`div`,Nt,[e(`div`,Pt,[e(`div`,Ft,[e(`h2`,It,i(d.$t(`maestro.name.customizeStyle`)),1),a(E,{content:d.$t(`maestro.description.style`),class:`ml-1`},null,8,[`content`])]),a(j,{modelValue:d.styleCustomizationEnabled,"onUpdate:modelValue":f[6]||=e=>d.styleCustomizationEnabled=e,"aria-label":d.$t(`maestro.name.customizeStyle`)},null,8,[`modelValue`,`aria-label`])]),a(k,{modelValue:d.style,"onUpdate:modelValue":f[7]||=e=>d.style=e,class:`w-full`,filterable:``,"allow-create":``,"default-first-option":``,disabled:!d.styleCustomizationEnabled,"aria-label":d.$t(`maestro.name.customizeStyle`),placeholder:d.$t(`maestro.placeholder.select`)},{default:h(()=>[(y(!0),s(l,null,_(d.MAESTRO_ALLOWED_STYLES,e=>(y(),m(O,{key:e,label:d.$t(`maestro.option.style.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`disabled`,`aria-label`,`placeholder`])]),e(`div`,Lt,[e(`div`,Rt,[e(`div`,zt,[e(`h2`,Bt,i(d.$t(`maestro.name.customizeVoice`)),1),a(E,{content:d.$t(`maestro.description.voice`),class:`ml-1`},null,8,[`content`])]),a(j,{modelValue:d.voiceCustomizationEnabled,"onUpdate:modelValue":f[8]||=e=>d.voiceCustomizationEnabled=e,"aria-label":d.$t(`maestro.name.customizeVoice`)},null,8,[`modelValue`,`aria-label`])]),e(`div`,Vt,[a(k,{modelValue:d.voice,"onUpdate:modelValue":f[9]||=e=>d.voice=e,class:`voice-select`,disabled:!d.voiceCustomizationEnabled,"aria-label":d.$t(`maestro.name.customizeVoice`),placeholder:d.$t(`maestro.placeholder.select`)},{default:h(()=>[(y(!0),s(l,null,_(d.MAESTRO_ALLOWED_VOICES,e=>(y(),m(O,{key:e.key,label:d.$t(`maestro.option.voice.${e.key}`),value:e.key},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`disabled`,`aria-label`,`placeholder`]),a(C,{class:`voice-play`,disabled:!d.voiceCustomizationEnabled||!d.currentSample,title:d.$t(`maestro.button.preview`),"aria-label":d.$t(`maestro.button.preview`),onClick:d.onToggleSample},{default:h(()=>[d.playing?(y(),m(M,{key:0,size:`1em`,"aria-hidden":`true`,focusable:`false`})):(y(),m(N,{key:1,size:`1em`,"aria-hidden":`true`,focusable:`false`}))]),_:1},8,[`disabled`,`title`,`aria-label`,`onClick`])])])]),e(`div`,Ht,[a(C,{type:`primary`,class:`btn w-full`,round:``,disabled:!d.canGenerate,onClick:d.onGenerate},{default:h(()=>[a(S,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(d.$t(`maestro.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var Wt=U(Xe,[[`render`,Ut],[`__scopeId`,`data-v-a4840734`]]),Gt=50,Kt=1e4,Y=new Map,X=new Map,qt=(e,t)=>{if(Y.set(e,t),Y.size>Gt){let e=Y.keys().next().value;e&&Y.delete(e)}};async function Jt(e,t){let n=`${t.credentialKey}:${e}`,r=Y.get(n);if(r)return r;let i=X.get(n);if(i)return i.promise;let a=new AbortController,o,s={controller:a,promise:void 0},c=W.task(e,{token:t.token,signal:a.signal}).then(({data:e})=>{if(!a.signal.aborted)return qt(n,e),e}).catch(t=>{a.signal.aborted||console.warn(`failed to load maestro remix reference task`,e,t)}),l=new Promise(e=>{o=window.setTimeout(()=>{a.abort(),e(void 0)},Kt)});return s.promise=Promise.race([c,l]).finally(()=>{o!==void 0&&window.clearTimeout(o),X.get(n)===s&&X.delete(n)}),X.set(n,s),s.promise}var Z=[`plan`,`source`,`voice`,`compose`,`render`,`deliver`];function Q(e){if(!e)return-1;let t=e.toLowerCase(),n=Z.indexOf(t);return n>=0?n:/plan|storyboard|script|brief/.test(t)?0:/source|search|image|photo|asset|media/.test(t)?1:/voice|tts|audio|narrat/.test(t)?2:/compose|composit|build|layout|scene/.test(t)?3:/render|encode/.test(t)?4:/deliver|upload|cdn|complete|done|finish/.test(t)?5:-1}var Yt=x({name:`ProgressSteps`,components:{ElIcon:S,Loading:te,Check:j},props:{modelValue:{type:Object,required:!0}},computed:{currentIndex(){let e=this.modelValue?.response?.data?.progress||[],t=-1;for(let n of e)t=Math.max(t,Q(n?.stage));return t=Math.max(t,Q(this.modelValue?.response?.data?.stage)),Math.max(t,0)},detail(){let e=this.modelValue?.response?.data;if(e?.activity)return e.activity;let t=e?.progress||[];for(let e=t.length-1;e>=0;e--)if(t[e]?.message)return t[e]?.message},steps(){return Z.map(e=>({key:e}))}},methods:{stateOf(e){let t=this.currentIndex;return e<t?`done`:e===t?`active`:`pending`}}}),Xt={class:`progress-steps`,"aria-live":`polite`},Zt=[`aria-current`],Qt={class:`ico`},$t={class:`txt`},en={key:0,class:`detail`};function tn(t,r,c,d,f,p){let g=u(`loading`),v=u(`el-icon`),b=u(`check`);return y(),s(`div`,Xt,[(y(!0),s(l,null,_(t.steps,(r,c)=>(y(),s(`div`,{key:r.key,class:n([`step`,t.stateOf(c)]),"aria-current":c===t.currentIndex?`step`:void 0},[e(`span`,Qt,[c===t.currentIndex?(y(),m(v,{key:0,class:`is-loading`,"aria-label":t.$t(`maestro.step.${r.key}`)},{default:h(()=>[a(g,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`])):c<t.currentIndex?(y(),m(v,{key:1},{default:h(()=>[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1})):o(``,!0)]),e(`span`,$t,i(t.$t(`maestro.step.${r.key}`)),1)],10,Zt))),128)),t.detail?(y(),s(`p`,en,i(t.detail),1)):o(``,!0)])}var nn=U(Yt,[[`render`,tn],[`__scopeId`,`data-v-8a883977`]]),rn=[`succeeded`,`failed`],an=[1e3,3e3],on=x({name:`TaskPreview`,components:{ChannelIcon:L,DownloadIcon:P,InfoIcon:ee,LanguageIcon:z,MagicIcon:B,RedoIcon:oe,TimeIcon:M,WarningIcon:se,CopyToClipboard:N,ElAlert:E,VideoPlayer:Ae,ElButton:H,ApiCodeButton:je,ImagePreview:Te,AudioPreview:Pe,VideoPreview:Ne,FilePreview:we,ProgressSteps:nn},props:{modelValue:{type:Object,required:!0}},data(){return{fetchedReferenceTask:void 0,fetchedReferenceKey:void 0,referenceLoadAttempt:0,referenceLoadFailed:!1,referenceLoadTimer:void 0,referenceLoadVersion:0}},computed:{variants(){return this.modelValue?.response?.data?.variants||[]},files(){let e=[...this.modelValue?.request?.file_urls||[]];if(this.referenceTaskId)for(let t of this.referenceTask?.response?.data?.variants||[])t.output_url&&e.push(t.output_url);return[...new Set(e)].filter(e=>!!e).map(e=>{let t=e.split(`?`)[0].split(`#`)[0],n=xe(t)?`image`:G(t)?`video`:Ce(t)?`audio`:`file`;return{url:e,name:this.fileName(t),kind:n}})},referenceTaskId(){let e=this.modelValue?.request;return e?.action===`remix`?e?.ref_task_id:void 0},referenceLoadKey(){let e=this.$store.state.maestro?.credential,t=e?.token;if(!(!this.referenceTaskId||!t))return JSON.stringify([this.referenceTaskId,e?.id||e?.user_id||t,t])},referenceTask(){if(this.referenceTaskId)return this.$store.state.maestro?.tasks?.items?.find(e=>e.id===this.referenceTaskId)||(this.fetchedReferenceKey===this.referenceLoadKey?this.fetchedReferenceTask:void 0)},isTerminal(){return rn.includes(this.modelValue?.status||``)},traceId(){return this.modelValue?.trace_id||this.modelValue?.response?.trace_id},progressPct(){let e=this.modelValue?.response?.data?.progress,t=e?.length?e[e.length-1]:void 0;return typeof t?.pct==`number`?t.pct:void 0},progressText(){return this.progressPct===void 0?this.statusLabel:`${this.progressPct}%`},statusLabel(){let e=`maestro.status.${this.modelValue?.status||`pending`}`,t=this.$t(e);return t===e?this.$t(`maestro.status.processing`):t},failureReason(){let e=this.modelValue?.response?.error;if(e)return typeof e==`string`?e:e?.message},requestParams(){let e=this.modelValue?.request;if(!e)return[];let t=[];return e.action&&t.push({icon:d(B),label:this.$t(`maestro.name.mode`),value:this.optionLabel(`maestro.option.action`,e.action)}),e.scenario&&t.push({icon:d(ce),label:this.$t(`maestro.name.scenario`),value:this.optionLabel(`maestro.option.scenario`,e.scenario)}),e.style&&t.push({icon:d(ne),label:this.$t(`maestro.name.style`),value:this.optionLabel(`maestro.option.style`,e.style)}),e.quality&&t.push({icon:d(F),label:this.$t(`maestro.name.quality`),value:this.optionLabel(`maestro.option.quality`,e.quality)}),e.aspect&&t.push({icon:d(I),label:this.$t(`maestro.name.aspect`),value:e.aspect}),e.duration&&t.push({icon:d(M),label:this.$t(`maestro.name.duration`),value:`${e.duration}s`}),e.langs?.length&&t.push({icon:d(z),label:this.$t(`maestro.name.langs`),value:e.langs.join(` · `)}),t}},watch:{referenceLoadKey:{immediate:!0,handler(e){this.resetReferenceLoad(),e&&!this.referenceTask&&this.loadReferenceTask(e)}}},beforeUnmount(){this.resetReferenceLoad()},methods:{resetReferenceLoad(){this.referenceLoadTimer!==void 0&&window.clearTimeout(this.referenceLoadTimer),this.referenceLoadTimer=void 0,this.referenceLoadVersion+=1,this.referenceLoadAttempt=0,this.referenceLoadFailed=!1,this.fetchedReferenceTask=void 0,this.fetchedReferenceKey=void 0},async loadReferenceTask(e){if(e!==this.referenceLoadKey||this.referenceTask)return;let t=this.$store.state.maestro?.credential,n=t?.token,r=this.referenceTaskId;if(!r||!n)return;let i=t?.id||t?.user_id||n,a=this.referenceLoadVersion;this.referenceLoadAttempt+=1;let o=await Jt(r,{token:n,credentialKey:i});if(a!==this.referenceLoadVersion||e!==this.referenceLoadKey)return;if(o){this.fetchedReferenceTask=o,this.fetchedReferenceKey=e,this.referenceLoadFailed=!1;return}let s=an[this.referenceLoadAttempt-1];s===void 0?this.referenceLoadFailed=!0:this.referenceLoadTimer=window.setTimeout(()=>{this.referenceLoadTimer=void 0,this.loadReferenceTask(e)},s)},retryReferenceTask(){let e=this.referenceLoadKey;this.resetReferenceLoad(),e&&this.loadReferenceTask(e)},optionLabel(e,t){let n=`${e}.${t}`,r=this.$t(n);return r===n?t:r},fileName(e){let t=e.substring(e.lastIndexOf(`/`)+1);try{return decodeURIComponent(t)||e}catch{return t||e}},onDownload(e,t){e?.stopPropagation(),window.open(t,`_blank`)},onRemix(){if(!this.modelValue)return;let e=Ie(this.$store.state.maestro?.config,this.modelValue);this.$store.commit(`maestro/setConfig`,e),q.info(this.$t(`maestro.message.remixLoaded`))}}}),sn={class:`preview`},cn={class:`left`},ln={class:`main`},un={class:`bot`},dn={class:`datetime`},fn={class:`info`},pn={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},mn=[`href`,`title`],hn={key:1,class:`reference-load-failed flex items-center gap-1 mt-2 text-xs text-[var(--el-text-color-secondary)]`},gn={key:2,class:`prompt mt-2`},_n={key:0,class:`progress-pct`},vn={key:0,class:`content`},yn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},bn={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},xn={key:1,class:`content`},Sn={class:`text-xs text-[var(--el-text-color-secondary)] mb-1`},Cn={key:0},wn={class:`operations`},Tn={key:0},En={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={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-0`},On={key:2,class:`content`},kn={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},An={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},jn={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Mn={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Nn(t,c,d,f,p,g){let b=u(`capability-presentation`),x=u(`image-preview`),S=u(`video-preview`),C=u(`audio-preview`),w=u(`file-preview`),T=u(`info-icon`),E=u(`redo-icon`),D=u(`el-button`),O=u(`progress-steps`),k=u(`magic-icon`),A=u(`copy-to-clipboard`),j=u(`channel-icon`),M=u(`el-alert`),N=u(`language-icon`),P=u(`video-player`),F=u(`download-icon`),I=u(`api-code-button`),L=u(`time-icon`),R=u(`warning-icon`);return y(),s(`div`,sn,[e(`div`,cn,[a(b,{capability:`maestro`,part:`avatar`,class:`avatar`})]),e(`div`,ln,[e(`div`,un,[a(b,{capability:`maestro`,part:`name`}),e(`span`,dn,i(t.$dayjs.format(``+new Date(parseFloat((t.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,fn,[t.files.length?(y(),s(`div`,pn,[(y(!0),s(l,null,_(t.files,(e,t)=>(y(),s(l,{key:t},[e.kind===`image`?(y(),m(x,{key:0,url:e.url,name:e.name,closable:!1},null,8,[`url`,`name`])):e.kind===`video`?(y(),m(S,{key:1,url:e.url,name:e.name},null,8,[`url`,`name`])):e.kind===`audio`?(y(),m(C,{key:2,url:e.url,name:e.name},null,8,[`url`,`name`])):(y(),s(`a`,{key:3,href:e.url,title:e.name,target:`_blank`,rel:`noopener noreferrer`,class:`shrink-0 no-underline`},[a(w,{name:e.name,closable:!1},null,8,[`name`])],8,mn))],64))),128))])):o(``,!0),t.referenceLoadFailed&&t.referenceTaskId&&!t.referenceTask?(y(),s(`div`,hn,[a(T,{size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,null,i(t.$t(`maestro.name.files`))+`: `+i(t.$t(`maestro.name.failure`)),1),a(D,{class:`reference-retry`,size:`small`,text:``,circle:``,title:t.$t(`codingBridge.session.retry`),"aria-label":t.$t(`codingBridge.session.retry`),onClick:t.retryReferenceTask},{default:h(()=>[a(E,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`title`,`aria-label`,`onClick`])])):o(``,!0),t.modelValue?.request?.prompt?(y(),s(`p`,gn,[r(i(t.modelValue?.request?.prompt)+` `,1),t.isTerminal?o(``,!0):(y(),s(`span`,_n,` · `+i(t.progressText),1))])):o(``,!0)]),t.isTerminal?o(``,!0):(y(),s(`div`,vn,[a(M,{closable:!1,class:`mt-2 processing`},{default:h(()=>[a(O,{"model-value":t.modelValue},null,8,[`model-value`]),(y(!0),s(l,null,_(t.requestParams,(e,t)=>(y(),s(`p`,{key:`param-${t}`,class:n([`text-[var(--el-text-color-regular)] text-xs mb-2`,{"mt-3":t===0}])},[(y(),m(v(e.icon),{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),r(` `+i(e.label)+`: `+i(e.value),1)],2))),128)),e(`p`,yn,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.name.taskId`))+`: `+i(t.modelValue?.id)+` `,1),a(A,{content:t.modelValue?.id},null,8,[`content`])]),t.traceId?(y(),s(`p`,bn,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.name.traceId`))+`: `+i(t.traceId)+` `,1),a(A,{content:t.traceId},null,8,[`content`])])):o(``,!0)]),_:1})])),t.modelValue?.response?.success===!0&&t.variants.length?(y(),s(`div`,xn,[(y(!0),s(l,null,_(t.variants,(t,n)=>(y(),s(`div`,{key:n,class:`mb-4`},[e(`p`,Sn,[a(N,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(i(t.lang),1),t.title?(y(),s(`span`,Cn,` · `+i(t.title),1)):o(``,!0)]),t.output_url?(y(),m(P,{key:0,src:t.output_url},null,8,[`src`])):o(``,!0)]))),128)),e(`div`,wn,[(y(!0),s(l,null,_(t.variants,(e,n)=>(y(),s(l,{key:n},[e.output_url?(y(),m(D,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:n=>t.onDownload(n,e.output_url)},{default:h(()=>[a(F,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.button.download`)),1),t.variants.length>1?(y(),s(`span`,Tn,` · `+i(e.lang),1)):o(``,!0)]),_:2},1032,[`onClick`])):o(``,!0)],64))),128)),a(D,{size:`small`,type:`primary`,class:`btn-action`,onClick:t.onRemix},{default:h(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.button.remix`)),1)]),_:1},8,[`onClick`]),a(I,{path:`/maestro/videos`,body:t.modelValue?.request},null,8,[`body`])]),a(M,{closable:!1,class:`mt-2 success`},{default:h(()=>[(y(!0),s(l,null,_(t.requestParams,(e,t)=>(y(),s(`p`,{key:`param-${t}`,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},[(y(),m(v(e.icon),{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),r(` `+i(e.label)+`: `+i(e.value),1)]))),128)),e(`p`,En,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.name.taskId`))+`: `+i(t.modelValue?.id)+` `,1),a(A,{content:t.modelValue?.id},null,8,[`content`])]),t.modelValue?.elapsed?(y(),s(`p`,$,[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.name.elapsed`))+`: `+i(t.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),t.traceId?(y(),s(`p`,Dn,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.name.traceId`))+`: `+i(t.traceId)+` `,1),a(A,{content:t.traceId},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0),t.modelValue?.response?.success===!1?(y(),s(`div`,On,[a(M,{closable:!1,class:`failure`},{template:h(()=>[a(R,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.name.failure`)),1)]),default:h(()=>[(y(!0),s(l,null,_(t.requestParams,(e,t)=>(y(),s(`p`,{key:`param-${t}`,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},[(y(),m(v(e.icon),{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),r(` `+i(e.label)+`: `+i(e.value),1)]))),128)),e(`p`,kn,[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.name.taskId`))+`: `+i(t.modelValue?.id)+` `,1),a(A,{content:t.modelValue?.id},null,8,[`content`])]),t.failureReason?(y(),s(`p`,An,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.name.failureReason`))+`: `+i(t.failureReason),1)])):o(``,!0),t.modelValue?.elapsed?(y(),s(`p`,jn,[a(L,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.name.elapsed`))+`: `+i(t.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),t.traceId?(y(),s(`p`,Mn,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`maestro.name.traceId`))+`: `+i(t.traceId)+` `,1),a(A,{content:t.traceId},null,8,[`content`])])):o(``,!0)]),_:1})])):o(``,!0)])])}var Pn=x({name:`RecentPanel`,components:{TaskPreview:U(on,[[`render`,Nn],[`__scopeId`,`data-v-aecd9f66`]]),NoTasks:Oe,BotPlaceholder:Me,ScrollList:De},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.maestro?.tasks,items:this.$store.state.maestro?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Fn={key:0},In={key:2,class:`w-full h-full flex items-center justify-center`};function Ln(e,t,n,r,i,c){let d=u(`bot-placeholder`),f=u(`task-preview`),p=u(`scroll-list`),g=u(`no-tasks`);return y(),s(l,null,[e.tasks?.items===void 0?(y(),s(`div`,Fn,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(y(),m(p,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:h(()=>[(y(!0),s(l,null,_(e.tasks?.items,(e,t)=>(y(),m(f,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(y(),s(`div`,In,[a(g)])):o(``,!0)],64)}var Rn=x({name:`MaestroIndex`,components:{ConfigPanel:Wt,Layout:Ge,RecentPanel:U(Pn,[[`render`,Ln]])},inject:[`initialized`],data(){return{job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.maestro?.status?.getApplications===K.Request},tasksLoading(){return this.$store.state.maestro?.status?.getTasks===K.Request||this.fetchingTasks},credential(){return this.$store.state.maestro.credential},config(){return this.$store.state.maestro.config},tasks(){return this.$store.state.maestro.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 ke({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(`maestro/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(`maestro/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){let e=ze(this.config);if(!ye())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}q.info(this.$t(`maestro.message.startingTask`)),be(`maestro`,W.generate(e,{token:t})).then(()=>{q.success(this.$t(`maestro.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?q.error(this.$t(`maestro.message.usedUp`)):q.error(this.$t(`maestro.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function zn(e,t,n,r,i,o){let s=u(`config-panel`),c=u(`recent-panel`),l=u(`layout`);return y(),m(l,null,{config:h(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:h(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Bn=U(Rn,[[`render`,zn]]);export{Bn as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,F as t,I as n,Jt as r,L as i,M as a,N as o,T as s,at as c,it as l,j as u,mt as d,rt as f,tt as p,z as m}from"./vendor-chart-Dw-P17PN.js";import{r as h,t as g}from"./select-BYKfh-PA.js";import{n as _,t as v}from"./collapse-BrqSPysh.js";import{t as y}from"./drawer-C2kyj3Pw.js";import{t as b}from"./globe-D-Vgy8Tq.js";import{t as x}from"./search-DkQsQEeX.js";import"./constants-D-3QKDN1.js";import{$t as S,Ai as C,E as w,Wt as T,ei as E,gi as D,mi as ee,zi as O}from"./index-gQyc38bL.js";import{t as te}from"./Consumption-AjUsGaTe.js";var k=ee(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),A=m({name:`LayoutSerp`,components:{SearchIcon:x,ElDrawer:y,ElButton:C},data(){return{drawer:!1}}}),j={class:`main flex flex-row flex-1`},M={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},N={class:`result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function P(t,n,r,a,s,u){let f=c(`search-icon`),m=c(`el-button`),h=c(`el-drawer`);return p(),o(`div`,j,[e(`div`,M,[l(t.$slots,`config`,{},void 0,!0)]),e(`div`,N,[l(t.$slots,`result`,{},void 0,!0)]),i(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:d(()=>[i(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),i(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:d(()=>[l(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var F=w(A,[[`render`,P],[`__scopeId`,`data-v-fc67ba0b`]]),I=m({name:`QueryInput`,components:{ElInput:O},computed:{query:{get(){return this.$store.state.serp?.config?.query},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e})}}}}),L={class:`field`},R={class:`box`},z={class:`title font-bold`};function B(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,L,[e(`div`,R,[e(`h2`,z,r(t.$t(`serp.name.query`)),1)]),i(d,{modelValue:t.query,"onUpdate:modelValue":n[0]||=e=>t.query=e,rows:3,type:`textarea`,class:`prompt`,placeholder:t.$t(`serp.placeholder.query`)},null,8,[`modelValue`,`placeholder`])])}var V=w(I,[[`render`,B],[`__scopeId`,`data-v-3582b195`]]),H=m({name:`TypeSelector`,components:{ElSelect:h,ElOption:g},computed:{value:{get(){return this.$store.state.serp?.config?.type},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,type:e})}}},mounted(){this.value||=`search`}}),U={class:`field`},W={class:`title font-bold`};function G(t,n,a,s,l,u){let f=c(`el-option`),m=c(`el-select`);return p(),o(`div`,U,[e(`h2`,W,r(t.$t(`serp.name.type`)),1),i(m,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},{default:d(()=>[i(f,{value:`search`,label:t.$t(`serp.type.search`)},null,8,[`label`]),i(f,{value:`images`,label:t.$t(`serp.type.images`)},null,8,[`label`]),i(f,{value:`news`,label:t.$t(`serp.type.news`)},null,8,[`label`]),i(f,{value:`videos`,label:t.$t(`serp.type.videos`)},null,8,[`label`])]),_:1},8,[`modelValue`])])}var K=w(H,[[`render`,G],[`__scopeId`,`data-v-2913fb62`]]),q=m({name:`CountryInput`,components:{ElInput:O},computed:{value:{get(){return this.$store.state.serp?.config?.country},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,country:e})}}},mounted(){this.value||=`US`}}),J={class:`field`},Y={class:`title font-bold`};function X(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,J,[e(`h2`,Y,r(t.$t(`serp.name.country`)),1),i(d,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`serp.placeholder.country`)},null,8,[`modelValue`,`placeholder`])])}var Z=w(q,[[`render`,X],[`__scopeId`,`data-v-f0672cc6`]]),Q=m({name:`LanguageInput`,components:{ElInput:O},computed:{value:{get(){return this.$store.state.serp?.config?.language},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,language:e})}}},mounted(){this.value||=`en`}}),ne={class:`field`},re={class:`title font-bold`};function ie(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,ne,[e(`h2`,re,r(t.$t(`serp.name.language`)),1),i(d,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`serp.placeholder.language`)},null,8,[`modelValue`,`placeholder`])])}var ae=m({name:`SearchPanel`,components:{SearchIcon:x,ElButton:C,QueryInput:V,TypeSelector:K,CountryInput:Z,LanguageInput:w(Q,[[`render`,ie],[`__scopeId`,`data-v-dc1c94b7`]]),Consumption:te},emits:[`search`],computed:{config(){return this.$store.state.serp?.config},consumption(){return T(this.config,this.service?.cost)},service(){return this.$store.state.serp?.service},searching(){return this.$store.state.serp?.status?.search===E.Request}},methods:{onSearch(){this.$emit(`search`)}}}),oe={class:`flex flex-col h-full`},se={class:`flex-1 overflow-y-auto p-5`},ce={class:`flex flex-col items-center justify-center px-5 pb-5`};function le(t,a,s,l,u,f){let m=c(`query-input`),h=c(`type-selector`),g=c(`country-input`),_=c(`language-input`),v=c(`consumption`),y=c(`search-icon`),b=c(`el-button`);return p(),o(`div`,oe,[e(`div`,se,[i(m,{class:`mb-4`}),i(h,{class:`mb-4`}),i(g,{class:`mb-4`}),i(_,{class:`mb-4`})]),e(`div`,ce,[i(v,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),i(b,{type:`primary`,class:`btn w-full`,round:``,loading:t.searching,onClick:t.onSearch},{default:d(()=>[i(y,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(t.$t(`serp.button.search`)),1)]),_:1},8,[`loading`,`onClick`])])])}var ue=w(ae,[[`render`,le]]),de=m({name:`KnowledgeGraph`,props:{data:{type:Object,required:!0}}}),fe={class:`knowledge-graph rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},pe={class:`flex flex-row gap-4`},me=[`src`,`alt`],he={class:`flex-1 min-w-0`},ge={key:0,class:`text-xs text-[var(--el-text-color-disabled)] mb-1 uppercase tracking-wide`},_e={class:`text-xl font-bold mb-1.5`},ve={key:1,class:`text-sm text-[var(--el-text-color-regular)] mb-3 leading-relaxed`},ye=[`href`],be={key:2,class:`text-sm`},xe={class:`text-[var(--el-text-color-disabled)] flex-none font-medium`},Se={class:`text-[var(--el-text-color-regular)]`};function Ce(t,i,c,l,u,d){return p(),o(`div`,fe,[e(`div`,pe,[t.data.image_url?(p(),o(`img`,{key:0,src:t.data.image_url,alt:t.data.title,class:`w-28 h-28 rounded-lg object-cover flex-none shadow-sm`},null,8,me)):a(``,!0),e(`div`,he,[t.data.type?(p(),o(`div`,ge,r(t.data.type),1)):a(``,!0),e(`h3`,_e,r(t.data.title),1),t.data.description?(p(),o(`p`,ve,[n(r(t.data.description)+` `,1),t.data.description_link?(p(),o(`a`,{key:0,href:t.data.description_link,target:`_blank`,rel:`noopener noreferrer`,class:`text-[var(--el-color-primary)] hover:underline ml-1`},r(t.data.description_source||`Source`),9,ye)):a(``,!0)])):a(``,!0),t.data.attributes&&Object.keys(t.data.attributes).length?(p(),o(`div`,be,[(p(!0),o(s,null,f(t.data.attributes,(t,n)=>(p(),o(`div`,{key:n,class:`flex gap-2 mb-1 py-0.5`},[e(`span`,xe,r(n)+`:`,1),e(`span`,Se,r(t),1)]))),128))])):a(``,!0)])])])}var we=w(de,[[`render`,Ce]]),Te=m({name:`OrganicResult`,props:{data:{type:Object,required:!0}},data(){return{faviconFailed:!1}},computed:{hostname(){if(!this.data.link)return``;try{return new URL(this.data.link).hostname}catch{return``}},pathname(){if(!this.data.link)return``;try{let e=new URL(this.data.link).pathname;return e===`/`?``:e}catch{return``}},displayUrl(){return this.hostname},faviconUrl(){return this.faviconFailed||!this.hostname?``:`https://www.google.com/s2/favicons?domain=${this.hostname}&sz=32`}},methods:{onFaviconError(e){this.faviconFailed=!0,e.target.style.display=`none`}}}),Ee={class:`organic-result rounded-lg p-4 transition-all duration-200 hover:bg-[var(--el-fill-color-lighter)]`},De={key:0,class:`flex items-center gap-2 mb-1.5`},Oe=[`src`,`alt`],ke={class:`text-xs text-[var(--el-text-color-secondary)] truncate`},Ae={class:`text-xs text-[var(--el-text-color-disabled)]`},je=[`href`],Me={key:1,class:`text-xs text-[var(--el-text-color-disabled)] mt-1`},Ne={key:2,class:`text-sm text-[var(--el-text-color-regular)] mt-1.5 leading-relaxed line-clamp-3`},Pe={key:3,class:`mt-3 flex flex-wrap gap-x-4 gap-y-1`},Fe=[`href`];function Ie(t,n,i,c,l,u){return p(),o(`div`,Ee,[t.displayUrl?(p(),o(`div`,De,[e(`img`,{src:t.faviconUrl,alt:t.hostname,class:`w-4 h-4 rounded-sm flex-none`,loading:`lazy`,onError:n[0]||=(...e)=>t.onFaviconError&&t.onFaviconError(...e)},null,40,Oe),e(`span`,ke,r(t.hostname),1),e(`span`,Ae,r(t.pathname),1)])):a(``,!0),e(`a`,{href:t.data.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-base font-semibold text-[var(--el-color-primary)] hover:underline leading-snug block`},r(t.data.title),9,je),t.data.date?(p(),o(`div`,Me,r(t.data.date),1)):a(``,!0),t.data.snippet?(p(),o(`p`,Ne,r(t.data.snippet),1)):a(``,!0),t.data.sitelinks?.length?(p(),o(`div`,Pe,[(p(!0),o(s,null,f(t.data.sitelinks,(e,t)=>(p(),o(`a`,{key:t,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary-light-3)] hover:text-[var(--el-color-primary)] hover:underline transition-colors`},r(e.title),9,Fe))),128))])):a(``,!0)])}var Le=w(Te,[[`render`,Ie]]),Re=m({name:`ImageResults`,props:{data:{type:Array,required:!0}}}),ze={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Be={class:`text-base font-bold mb-3`},Ve={class:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3`},He=[`href`],Ue=[`src`,`alt`],We={class:`absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/70 to-transparent p-2.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200`},Ge={class:`text-xs text-white line-clamp-2`};function Ke(t,n,i,c,l,u){return p(),o(`div`,ze,[e(`h3`,Be,r(t.$t(`serp.name.imageResults`)),1),e(`div`,Ve,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`group relative rounded-lg overflow-hidden bg-[var(--el-fill-color-light)] aspect-square`},[t.image_url?(p(),o(`img`,{key:0,src:t.image_url,alt:t.title,class:`w-full h-full object-cover transition-transform duration-300 group-hover:scale-105`,loading:`lazy`},null,8,Ue)):a(``,!0),e(`div`,We,[e(`span`,Ge,r(t.title),1)])],8,He))),128))])])}var qe=w(Re,[[`render`,Ke]]),Je=m({name:`VideoResults`,props:{data:{type:Array,required:!0}}}),Ye={class:`text-base font-bold mb-3`},Xe={class:`space-y-4`},Ze=[`href`],Qe={class:`relative flex-shrink-0 w-40 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},$e=[`src`,`alt`],et={key:1,class:`absolute bottom-1 right-1 bg-black/80 text-white text-xs px-1 rounded`},tt={class:`flex-1 min-w-0`},nt={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},rt={class:`text-xs text-gray-400 mt-1`},it={key:0},at={key:1},ot={key:2},st={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`};function ct(t,n,i,c,l,u){return p(),o(`div`,null,[e(`h3`,Ye,r(t.$t(`serp.name.videoResults`)),1),e(`div`,Xe,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[e(`div`,Qe,[t.image_url?(p(),o(`img`,{key:0,src:t.image_url,alt:t.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,$e)):a(``,!0),t.duration?(p(),o(`div`,et,r(t.duration),1)):a(``,!0)]),e(`div`,tt,[e(`div`,nt,r(t.title),1),e(`div`,rt,[t.source?(p(),o(`span`,it,r(t.source),1)):a(``,!0),t.channel?(p(),o(`span`,at,` · `+r(t.channel),1)):a(``,!0),t.date?(p(),o(`span`,ot,` · `+r(t.date),1)):a(``,!0)]),t.snippet?(p(),o(`p`,st,r(t.snippet),1)):a(``,!0)])],8,Ze))),128))])])}var lt=w(Je,[[`render`,ct]]),ut=m({name:`NewsResults`,props:{data:{type:Array,required:!0}}}),dt={class:`text-base font-bold mb-3`},ft={class:`space-y-4`},pt=[`href`],mt={class:`flex-1 min-w-0`},ht={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},gt={class:`text-xs text-gray-400 mt-1`},_t={key:0},vt={key:1},yt={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`},bt={key:0,class:`flex-shrink-0 w-24 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},xt=[`src`,`alt`];function St(t,n,i,c,l,u){return p(),o(`div`,null,[e(`h3`,dt,r(t.$t(`serp.name.newsResults`)),1),e(`div`,ft,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[e(`div`,mt,[e(`div`,ht,r(t.title),1),e(`div`,gt,[t.source?(p(),o(`span`,_t,r(t.source),1)):a(``,!0),t.date?(p(),o(`span`,vt,` · `+r(t.date),1)):a(``,!0)]),t.snippet?(p(),o(`p`,yt,r(t.snippet),1)):a(``,!0)]),t.image_url?(p(),o(`div`,bt,[e(`img`,{src:t.image_url,alt:t.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,xt)])):a(``,!0)],8,pt))),128))])])}var Ct=w(ut,[[`render`,St]]),wt=m({name:`PeopleAlsoAsk`,components:{ElCollapse:v,ElCollapseItem:_},props:{data:{type:Array,required:!0}}}),Tt={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Et={class:`text-base font-bold mb-3`},Dt={key:0,class:`text-sm text-[var(--el-text-color-regular)] mb-2 leading-relaxed`},Ot=[`href`];function kt(t,n,l,m,h,g){let _=c(`el-collapse-item`),v=c(`el-collapse`);return p(),o(`div`,Tt,[e(`h3`,Et,r(t.$t(`serp.name.peopleAlsoAsk`)),1),i(v,null,{default:d(()=>[(p(!0),o(s,null,f(t.data,(e,t)=>(p(),u(_,{key:t,title:e.question||e.title||``},{default:d(()=>[e.snippet?(p(),o(`p`,Dt,r(e.snippet),1)):a(``,!0),e.link?(p(),o(`a`,{key:1,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary)] hover:underline`},r(e.title||e.link),9,Ot)):a(``,!0)]),_:2},1032,[`title`]))),128))]),_:1})])}var At=w(wt,[[`render`,kt]]),jt=m({name:`RelatedSearches`,components:{SearchIcon:x},props:{data:{type:Array,required:!0}},emits:[`search`],methods:{onSearch(e){e&&this.$emit(`search`,e)}}}),Mt={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Nt={class:`text-base font-bold mb-3`},$={class:`flex flex-wrap gap-2`},Pt=[`onClick`];function Ft(t,a,l,u,d,m){let h=c(`search-icon`);return p(),o(`div`,Mt,[e(`h3`,Nt,r(t.$t(`serp.name.relatedSearches`)),1),e(`div`,$,[(p(!0),o(s,null,f(t.data,(e,a)=>(p(),o(`button`,{key:a,class:`inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm bg-[var(--el-fill-color-light)] text-[var(--el-text-color-regular)] hover:bg-[var(--el-color-primary-light-9)] hover:text-[var(--el-color-primary)] transition-colors cursor-pointer border-none`,onClick:n=>t.onSearch(e.query)},[i(h,{class:`text-xs opacity-50`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(e.query),1)],8,Pt))),128))])])}var It=m({name:`ResultPanel`,components:{GlobeIcon:b,HelpIcon:k,KnowledgeGraph:we,OrganicResult:Le,ImageResults:qe,VideoResults:lt,NewsResults:Ct,PeopleAlsoAsk:At,RelatedSearches:w(jt,[[`render`,Ft]])},emits:[`related-search`],computed:{results(){return this.$store.state.serp?.results},searching(){return this.$store.state.serp?.status?.search===E.Request},noResults(){return this.$store.state.serp?.status?.search===E.Success&&this.results&&!this.results.organic?.length&&!this.results.images?.length&&!this.results.videos?.length&&!this.results.news?.length&&!this.results.knowledge_graph?.title}},methods:{onRelatedSearch(e){this.$emit(`related-search`,e)}}}),Lt={class:`h-full overflow-y-auto p-6`},Rt={key:0,class:`max-w-3xl mx-auto py-8`},zt={key:1,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Bt={class:`text-base`},Vt={key:2,class:`max-w-3xl mx-auto`},Ht={key:1,class:`mb-6`},Ut={key:3,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Wt={class:`text-base`};function Gt(n,l,d,m,h,g){let _=c(`help-icon`),v=c(`knowledge-graph`),y=c(`organic-result`),b=c(`image-results`),x=c(`video-results`),S=c(`news-results`),C=c(`people-also-ask`),w=c(`related-searches`),T=c(`globe-icon`);return p(),o(`div`,Lt,[n.searching?(p(),o(`div`,Rt,[(p(),o(s,null,f(4,n=>e(`div`,{key:n,class:`mb-6 animate-pulse`},[...l[0]||=[t(`<div class="flex items-center gap-2 mb-2"><div class="w-4 h-4 rounded-sm bg-[var(--el-fill-color-darker)]"></div><div class="h-3 w-32 rounded bg-[var(--el-fill-color-darker)]"></div></div><div class="h-4 w-3/4 rounded bg-[var(--el-fill-color-dark)] mb-2"></div><div class="h-3 w-full rounded bg-[var(--el-fill-color)] mb-1"></div><div class="h-3 w-5/6 rounded bg-[var(--el-fill-color)]"></div>`,4)]])),64))])):n.noResults?(p(),o(`div`,zt,[i(_,{class:`text-5xl mb-4 opacity-40`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Bt,r(n.$t(`serp.message.noResults`)),1)])):n.results?(p(),o(`div`,Vt,[n.results.knowledge_graph?.title?(p(),u(v,{key:0,data:n.results.knowledge_graph,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.organic?.length?(p(),o(`div`,Ht,[(p(!0),o(s,null,f(n.results.organic,(e,t)=>(p(),u(y,{key:t,data:e,class:`mb-1`},null,8,[`data`]))),128))])):a(``,!0),n.results.images?.length?(p(),u(b,{key:2,data:n.results.images,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.videos?.length?(p(),u(x,{key:3,data:n.results.videos,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.news?.length?(p(),u(S,{key:4,data:n.results.news,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.people_also_ask?.length?(p(),u(C,{key:5,data:n.results.people_also_ask,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.related_searches?.length?(p(),u(w,{key:6,data:n.results.related_searches,class:`mb-6`,onSearch:n.onRelatedSearch},null,8,[`data`,`onSearch`])):a(``,!0)])):(p(),o(`div`,Ut,[i(T,{class:`text-5xl mb-4 opacity-30`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Wt,r(n.$t(`serp.description.query`)),1)]))])}var Kt=m({name:`SerpIndex`,components:{Layout:F,SearchPanel:ue,ResultPanel:w(It,[[`render`,Gt]])},inject:[`initialized`],async mounted(){await this.onGetService()},methods:{async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`serp/getService`),console.debug(`end onGetService`)},async onSearch(){if(S()&&this.$store.state.serp?.config?.query){D.info(this.$t(`serp.message.searching`));try{await this.$store.dispatch(`serp/search`),D.success(this.$t(`serp.message.searchSuccess`))}catch(e){(e?.response?.data)?.error?.code===`used_up`?D.error(this.$t(`serp.message.usedUp`)):D.error(this.$t(`serp.message.searchFailed`))}}},async onRelatedSearch(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e}),await this.onSearch()}}});function qt(e,t,n,r,a,o){let s=c(`search-panel`),l=c(`result-panel`),f=c(`layout`);return p(),u(f,null,{config:d(()=>[i(s,{onSearch:e.onSearch},null,8,[`onSearch`])]),result:d(()=>[i(l,{onRelatedSearch:e.onRelatedSearch},null,8,[`onRelatedSearch`])]),_:1})}var Jt=w(Kt,[[`render`,qt]]);export{Jt as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,F as t,I as n,Jt as r,L as i,M as a,N as o,T as s,at as c,it as l,j as u,mt as d,rt as f,tt as p,z as m}from"./vendor-chart-Dw-P17PN.js";import{r as h,t as g}from"./select-JAczkKoE.js";import{n as _,t as v}from"./collapse-XPxGFVvE.js";import{t as y}from"./drawer-gjSg9s7j.js";import{t as b}from"./globe-DFCY3sFR.js";import{t as x}from"./search-BiLZZK4G.js";import"./constants-DaRYe5KJ.js";import{$t as S,Ai as C,E as w,Wt as T,ei as E,gi as D,mi as ee,zi as O}from"./index-BM5Tg8p0.js";import{t as te}from"./Consumption-BYirsAgV.js";var k=ee(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),A=m({name:`LayoutSerp`,components:{SearchIcon:x,ElDrawer:y,ElButton:C},data(){return{drawer:!1}}}),j={class:`main flex flex-row flex-1`},M={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},N={class:`result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function P(t,n,r,a,s,u){let f=c(`search-icon`),m=c(`el-button`),h=c(`el-drawer`);return p(),o(`div`,j,[e(`div`,M,[l(t.$slots,`config`,{},void 0,!0)]),e(`div`,N,[l(t.$slots,`result`,{},void 0,!0)]),i(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:d(()=>[i(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),i(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:d(()=>[l(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var F=w(A,[[`render`,P],[`__scopeId`,`data-v-fc67ba0b`]]),I=m({name:`QueryInput`,components:{ElInput:O},computed:{query:{get(){return this.$store.state.serp?.config?.query},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e})}}}}),L={class:`field`},R={class:`box`},z={class:`title font-bold`};function B(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,L,[e(`div`,R,[e(`h2`,z,r(t.$t(`serp.name.query`)),1)]),i(d,{modelValue:t.query,"onUpdate:modelValue":n[0]||=e=>t.query=e,rows:3,type:`textarea`,class:`prompt`,placeholder:t.$t(`serp.placeholder.query`)},null,8,[`modelValue`,`placeholder`])])}var V=w(I,[[`render`,B],[`__scopeId`,`data-v-3582b195`]]),H=m({name:`TypeSelector`,components:{ElSelect:h,ElOption:g},computed:{value:{get(){return this.$store.state.serp?.config?.type},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,type:e})}}},mounted(){this.value||=`search`}}),U={class:`field`},W={class:`title font-bold`};function G(t,n,a,s,l,u){let f=c(`el-option`),m=c(`el-select`);return p(),o(`div`,U,[e(`h2`,W,r(t.$t(`serp.name.type`)),1),i(m,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},{default:d(()=>[i(f,{value:`search`,label:t.$t(`serp.type.search`)},null,8,[`label`]),i(f,{value:`images`,label:t.$t(`serp.type.images`)},null,8,[`label`]),i(f,{value:`news`,label:t.$t(`serp.type.news`)},null,8,[`label`]),i(f,{value:`videos`,label:t.$t(`serp.type.videos`)},null,8,[`label`])]),_:1},8,[`modelValue`])])}var K=w(H,[[`render`,G],[`__scopeId`,`data-v-2913fb62`]]),q=m({name:`CountryInput`,components:{ElInput:O},computed:{value:{get(){return this.$store.state.serp?.config?.country},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,country:e})}}},mounted(){this.value||=`US`}}),J={class:`field`},Y={class:`title font-bold`};function X(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,J,[e(`h2`,Y,r(t.$t(`serp.name.country`)),1),i(d,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`serp.placeholder.country`)},null,8,[`modelValue`,`placeholder`])])}var Z=w(q,[[`render`,X],[`__scopeId`,`data-v-f0672cc6`]]),Q=m({name:`LanguageInput`,components:{ElInput:O},computed:{value:{get(){return this.$store.state.serp?.config?.language},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,language:e})}}},mounted(){this.value||=`en`}}),ne={class:`field`},re={class:`title font-bold`};function ie(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,ne,[e(`h2`,re,r(t.$t(`serp.name.language`)),1),i(d,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`serp.placeholder.language`)},null,8,[`modelValue`,`placeholder`])])}var ae=m({name:`SearchPanel`,components:{SearchIcon:x,ElButton:C,QueryInput:V,TypeSelector:K,CountryInput:Z,LanguageInput:w(Q,[[`render`,ie],[`__scopeId`,`data-v-dc1c94b7`]]),Consumption:te},emits:[`search`],computed:{config(){return this.$store.state.serp?.config},consumption(){return T(this.config,this.service?.cost)},service(){return this.$store.state.serp?.service},searching(){return this.$store.state.serp?.status?.search===E.Request}},methods:{onSearch(){this.$emit(`search`)}}}),oe={class:`flex flex-col h-full`},se={class:`flex-1 overflow-y-auto p-5`},ce={class:`flex flex-col items-center justify-center px-5 pb-5`};function le(t,a,s,l,u,f){let m=c(`query-input`),h=c(`type-selector`),g=c(`country-input`),_=c(`language-input`),v=c(`consumption`),y=c(`search-icon`),b=c(`el-button`);return p(),o(`div`,oe,[e(`div`,se,[i(m,{class:`mb-4`}),i(h,{class:`mb-4`}),i(g,{class:`mb-4`}),i(_,{class:`mb-4`})]),e(`div`,ce,[i(v,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),i(b,{type:`primary`,class:`btn w-full`,round:``,loading:t.searching,onClick:t.onSearch},{default:d(()=>[i(y,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(t.$t(`serp.button.search`)),1)]),_:1},8,[`loading`,`onClick`])])])}var ue=w(ae,[[`render`,le]]),de=m({name:`KnowledgeGraph`,props:{data:{type:Object,required:!0}}}),fe={class:`knowledge-graph rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},pe={class:`flex flex-row gap-4`},me=[`src`,`alt`],he={class:`flex-1 min-w-0`},ge={key:0,class:`text-xs text-[var(--el-text-color-disabled)] mb-1 uppercase tracking-wide`},_e={class:`text-xl font-bold mb-1.5`},ve={key:1,class:`text-sm text-[var(--el-text-color-regular)] mb-3 leading-relaxed`},ye=[`href`],be={key:2,class:`text-sm`},xe={class:`text-[var(--el-text-color-disabled)] flex-none font-medium`},Se={class:`text-[var(--el-text-color-regular)]`};function Ce(t,i,c,l,u,d){return p(),o(`div`,fe,[e(`div`,pe,[t.data.image_url?(p(),o(`img`,{key:0,src:t.data.image_url,alt:t.data.title,class:`w-28 h-28 rounded-lg object-cover flex-none shadow-sm`},null,8,me)):a(``,!0),e(`div`,he,[t.data.type?(p(),o(`div`,ge,r(t.data.type),1)):a(``,!0),e(`h3`,_e,r(t.data.title),1),t.data.description?(p(),o(`p`,ve,[n(r(t.data.description)+` `,1),t.data.description_link?(p(),o(`a`,{key:0,href:t.data.description_link,target:`_blank`,rel:`noopener noreferrer`,class:`text-[var(--el-color-primary)] hover:underline ml-1`},r(t.data.description_source||`Source`),9,ye)):a(``,!0)])):a(``,!0),t.data.attributes&&Object.keys(t.data.attributes).length?(p(),o(`div`,be,[(p(!0),o(s,null,f(t.data.attributes,(t,n)=>(p(),o(`div`,{key:n,class:`flex gap-2 mb-1 py-0.5`},[e(`span`,xe,r(n)+`:`,1),e(`span`,Se,r(t),1)]))),128))])):a(``,!0)])])])}var we=w(de,[[`render`,Ce]]),Te=m({name:`OrganicResult`,props:{data:{type:Object,required:!0}},data(){return{faviconFailed:!1}},computed:{hostname(){if(!this.data.link)return``;try{return new URL(this.data.link).hostname}catch{return``}},pathname(){if(!this.data.link)return``;try{let e=new URL(this.data.link).pathname;return e===`/`?``:e}catch{return``}},displayUrl(){return this.hostname},faviconUrl(){return this.faviconFailed||!this.hostname?``:`https://www.google.com/s2/favicons?domain=${this.hostname}&sz=32`}},methods:{onFaviconError(e){this.faviconFailed=!0,e.target.style.display=`none`}}}),Ee={class:`organic-result rounded-lg p-4 transition-all duration-200 hover:bg-[var(--el-fill-color-lighter)]`},De={key:0,class:`flex items-center gap-2 mb-1.5`},Oe=[`src`,`alt`],ke={class:`text-xs text-[var(--el-text-color-secondary)] truncate`},Ae={class:`text-xs text-[var(--el-text-color-disabled)]`},je=[`href`],Me={key:1,class:`text-xs text-[var(--el-text-color-disabled)] mt-1`},Ne={key:2,class:`text-sm text-[var(--el-text-color-regular)] mt-1.5 leading-relaxed line-clamp-3`},Pe={key:3,class:`mt-3 flex flex-wrap gap-x-4 gap-y-1`},Fe=[`href`];function Ie(t,n,i,c,l,u){return p(),o(`div`,Ee,[t.displayUrl?(p(),o(`div`,De,[e(`img`,{src:t.faviconUrl,alt:t.hostname,class:`w-4 h-4 rounded-sm flex-none`,loading:`lazy`,onError:n[0]||=(...e)=>t.onFaviconError&&t.onFaviconError(...e)},null,40,Oe),e(`span`,ke,r(t.hostname),1),e(`span`,Ae,r(t.pathname),1)])):a(``,!0),e(`a`,{href:t.data.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-base font-semibold text-[var(--el-color-primary)] hover:underline leading-snug block`},r(t.data.title),9,je),t.data.date?(p(),o(`div`,Me,r(t.data.date),1)):a(``,!0),t.data.snippet?(p(),o(`p`,Ne,r(t.data.snippet),1)):a(``,!0),t.data.sitelinks?.length?(p(),o(`div`,Pe,[(p(!0),o(s,null,f(t.data.sitelinks,(e,t)=>(p(),o(`a`,{key:t,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary-light-3)] hover:text-[var(--el-color-primary)] hover:underline transition-colors`},r(e.title),9,Fe))),128))])):a(``,!0)])}var Le=w(Te,[[`render`,Ie]]),Re=m({name:`ImageResults`,props:{data:{type:Array,required:!0}}}),ze={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Be={class:`text-base font-bold mb-3`},Ve={class:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3`},He=[`href`],Ue=[`src`,`alt`],We={class:`absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/70 to-transparent p-2.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200`},Ge={class:`text-xs text-white line-clamp-2`};function Ke(t,n,i,c,l,u){return p(),o(`div`,ze,[e(`h3`,Be,r(t.$t(`serp.name.imageResults`)),1),e(`div`,Ve,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`group relative rounded-lg overflow-hidden bg-[var(--el-fill-color-light)] aspect-square`},[t.image_url?(p(),o(`img`,{key:0,src:t.image_url,alt:t.title,class:`w-full h-full object-cover transition-transform duration-300 group-hover:scale-105`,loading:`lazy`},null,8,Ue)):a(``,!0),e(`div`,We,[e(`span`,Ge,r(t.title),1)])],8,He))),128))])])}var qe=w(Re,[[`render`,Ke]]),Je=m({name:`VideoResults`,props:{data:{type:Array,required:!0}}}),Ye={class:`text-base font-bold mb-3`},Xe={class:`space-y-4`},Ze=[`href`],Qe={class:`relative flex-shrink-0 w-40 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},$e=[`src`,`alt`],et={key:1,class:`absolute bottom-1 right-1 bg-black/80 text-white text-xs px-1 rounded`},tt={class:`flex-1 min-w-0`},nt={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},rt={class:`text-xs text-gray-400 mt-1`},it={key:0},at={key:1},ot={key:2},st={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`};function ct(t,n,i,c,l,u){return p(),o(`div`,null,[e(`h3`,Ye,r(t.$t(`serp.name.videoResults`)),1),e(`div`,Xe,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[e(`div`,Qe,[t.image_url?(p(),o(`img`,{key:0,src:t.image_url,alt:t.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,$e)):a(``,!0),t.duration?(p(),o(`div`,et,r(t.duration),1)):a(``,!0)]),e(`div`,tt,[e(`div`,nt,r(t.title),1),e(`div`,rt,[t.source?(p(),o(`span`,it,r(t.source),1)):a(``,!0),t.channel?(p(),o(`span`,at,` · `+r(t.channel),1)):a(``,!0),t.date?(p(),o(`span`,ot,` · `+r(t.date),1)):a(``,!0)]),t.snippet?(p(),o(`p`,st,r(t.snippet),1)):a(``,!0)])],8,Ze))),128))])])}var lt=w(Je,[[`render`,ct]]),ut=m({name:`NewsResults`,props:{data:{type:Array,required:!0}}}),dt={class:`text-base font-bold mb-3`},ft={class:`space-y-4`},pt=[`href`],mt={class:`flex-1 min-w-0`},ht={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},gt={class:`text-xs text-gray-400 mt-1`},_t={key:0},vt={key:1},yt={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`},bt={key:0,class:`flex-shrink-0 w-24 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},xt=[`src`,`alt`];function St(t,n,i,c,l,u){return p(),o(`div`,null,[e(`h3`,dt,r(t.$t(`serp.name.newsResults`)),1),e(`div`,ft,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[e(`div`,mt,[e(`div`,ht,r(t.title),1),e(`div`,gt,[t.source?(p(),o(`span`,_t,r(t.source),1)):a(``,!0),t.date?(p(),o(`span`,vt,` · `+r(t.date),1)):a(``,!0)]),t.snippet?(p(),o(`p`,yt,r(t.snippet),1)):a(``,!0)]),t.image_url?(p(),o(`div`,bt,[e(`img`,{src:t.image_url,alt:t.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,xt)])):a(``,!0)],8,pt))),128))])])}var Ct=w(ut,[[`render`,St]]),wt=m({name:`PeopleAlsoAsk`,components:{ElCollapse:v,ElCollapseItem:_},props:{data:{type:Array,required:!0}}}),Tt={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Et={class:`text-base font-bold mb-3`},Dt={key:0,class:`text-sm text-[var(--el-text-color-regular)] mb-2 leading-relaxed`},Ot=[`href`];function kt(t,n,l,m,h,g){let _=c(`el-collapse-item`),v=c(`el-collapse`);return p(),o(`div`,Tt,[e(`h3`,Et,r(t.$t(`serp.name.peopleAlsoAsk`)),1),i(v,null,{default:d(()=>[(p(!0),o(s,null,f(t.data,(e,t)=>(p(),u(_,{key:t,title:e.question||e.title||``},{default:d(()=>[e.snippet?(p(),o(`p`,Dt,r(e.snippet),1)):a(``,!0),e.link?(p(),o(`a`,{key:1,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary)] hover:underline`},r(e.title||e.link),9,Ot)):a(``,!0)]),_:2},1032,[`title`]))),128))]),_:1})])}var At=w(wt,[[`render`,kt]]),jt=m({name:`RelatedSearches`,components:{SearchIcon:x},props:{data:{type:Array,required:!0}},emits:[`search`],methods:{onSearch(e){e&&this.$emit(`search`,e)}}}),Mt={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Nt={class:`text-base font-bold mb-3`},$={class:`flex flex-wrap gap-2`},Pt=[`onClick`];function Ft(t,a,l,u,d,m){let h=c(`search-icon`);return p(),o(`div`,Mt,[e(`h3`,Nt,r(t.$t(`serp.name.relatedSearches`)),1),e(`div`,$,[(p(!0),o(s,null,f(t.data,(e,a)=>(p(),o(`button`,{key:a,class:`inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm bg-[var(--el-fill-color-light)] text-[var(--el-text-color-regular)] hover:bg-[var(--el-color-primary-light-9)] hover:text-[var(--el-color-primary)] transition-colors cursor-pointer border-none`,onClick:n=>t.onSearch(e.query)},[i(h,{class:`text-xs opacity-50`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(e.query),1)],8,Pt))),128))])])}var It=m({name:`ResultPanel`,components:{GlobeIcon:b,HelpIcon:k,KnowledgeGraph:we,OrganicResult:Le,ImageResults:qe,VideoResults:lt,NewsResults:Ct,PeopleAlsoAsk:At,RelatedSearches:w(jt,[[`render`,Ft]])},emits:[`related-search`],computed:{results(){return this.$store.state.serp?.results},searching(){return this.$store.state.serp?.status?.search===E.Request},noResults(){return this.$store.state.serp?.status?.search===E.Success&&this.results&&!this.results.organic?.length&&!this.results.images?.length&&!this.results.videos?.length&&!this.results.news?.length&&!this.results.knowledge_graph?.title}},methods:{onRelatedSearch(e){this.$emit(`related-search`,e)}}}),Lt={class:`h-full overflow-y-auto p-6`},Rt={key:0,class:`max-w-3xl mx-auto py-8`},zt={key:1,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Bt={class:`text-base`},Vt={key:2,class:`max-w-3xl mx-auto`},Ht={key:1,class:`mb-6`},Ut={key:3,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Wt={class:`text-base`};function Gt(n,l,d,m,h,g){let _=c(`help-icon`),v=c(`knowledge-graph`),y=c(`organic-result`),b=c(`image-results`),x=c(`video-results`),S=c(`news-results`),C=c(`people-also-ask`),w=c(`related-searches`),T=c(`globe-icon`);return p(),o(`div`,Lt,[n.searching?(p(),o(`div`,Rt,[(p(),o(s,null,f(4,n=>e(`div`,{key:n,class:`mb-6 animate-pulse`},[...l[0]||=[t(`<div class="flex items-center gap-2 mb-2"><div class="w-4 h-4 rounded-sm bg-[var(--el-fill-color-darker)]"></div><div class="h-3 w-32 rounded bg-[var(--el-fill-color-darker)]"></div></div><div class="h-4 w-3/4 rounded bg-[var(--el-fill-color-dark)] mb-2"></div><div class="h-3 w-full rounded bg-[var(--el-fill-color)] mb-1"></div><div class="h-3 w-5/6 rounded bg-[var(--el-fill-color)]"></div>`,4)]])),64))])):n.noResults?(p(),o(`div`,zt,[i(_,{class:`text-5xl mb-4 opacity-40`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Bt,r(n.$t(`serp.message.noResults`)),1)])):n.results?(p(),o(`div`,Vt,[n.results.knowledge_graph?.title?(p(),u(v,{key:0,data:n.results.knowledge_graph,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.organic?.length?(p(),o(`div`,Ht,[(p(!0),o(s,null,f(n.results.organic,(e,t)=>(p(),u(y,{key:t,data:e,class:`mb-1`},null,8,[`data`]))),128))])):a(``,!0),n.results.images?.length?(p(),u(b,{key:2,data:n.results.images,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.videos?.length?(p(),u(x,{key:3,data:n.results.videos,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.news?.length?(p(),u(S,{key:4,data:n.results.news,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.people_also_ask?.length?(p(),u(C,{key:5,data:n.results.people_also_ask,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.related_searches?.length?(p(),u(w,{key:6,data:n.results.related_searches,class:`mb-6`,onSearch:n.onRelatedSearch},null,8,[`data`,`onSearch`])):a(``,!0)])):(p(),o(`div`,Ut,[i(T,{class:`text-5xl mb-4 opacity-30`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Wt,r(n.$t(`serp.description.query`)),1)]))])}var Kt=m({name:`SerpIndex`,components:{Layout:F,SearchPanel:ue,ResultPanel:w(It,[[`render`,Gt]])},inject:[`initialized`],async mounted(){await this.onGetService()},methods:{async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`serp/getService`),console.debug(`end onGetService`)},async onSearch(){if(S()&&this.$store.state.serp?.config?.query){D.info(this.$t(`serp.message.searching`));try{await this.$store.dispatch(`serp/search`),D.success(this.$t(`serp.message.searchSuccess`))}catch(e){(e?.response?.data)?.error?.code===`used_up`?D.error(this.$t(`serp.message.usedUp`)):D.error(this.$t(`serp.message.searchFailed`))}}},async onRelatedSearch(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e}),await this.onSearch()}}});function qt(e,t,n,r,a,o){let s=c(`search-panel`),l=c(`result-panel`),f=c(`layout`);return p(),u(f,null,{config:d(()=>[i(s,{onSearch:e.onSearch},null,8,[`onSearch`])]),result:d(()=>[i(l,{onRelatedSearch:e.onRelatedSearch},null,8,[`onRelatedSearch`])]),_:1})}var Jt=w(Kt,[[`render`,qt]]);export{Jt as default};
@@ -1 +1 @@
1
- import{N as e,tt as t,z as n}from"./vendor-chart-Dw-P17PN.js";import{E as r}from"./index-gQyc38bL.js";var i=n({name:`SettingsIndex`,mounted(){let e=this.$route.query.tab||``;window.dispatchEvent(new CustomEvent(`open-user-settings`,{detail:{tab:e}}))}}),a={class:`settings-page`};function o(n,r,i,o,s,c){return t(),e(`div`,a)}var s=r(i,[[`render`,o]]);export{s as default};
1
+ import{N as e,tt as t,z as n}from"./vendor-chart-Dw-P17PN.js";import{E as r}from"./index-BM5Tg8p0.js";var i=n({name:`SettingsIndex`,mounted(){let e=this.$route.query.tab||``;window.dispatchEvent(new CustomEvent(`open-user-settings`,{detail:{tab:e}}))}}),a={class:`settings-page`};function o(n,r,i,o,s,c){return t(),e(`div`,a)}var s=r(i,[[`render`,o]]);export{s 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-ib2AdEq2.js";import{t as f}from"./card-D-4S-l7a.js";import{n as p,t as m}from"./row-DjWit0Gg.js";import{t as h}from"./pagination-BfkJj5Bm.js";import{t as g}from"./CopyToClipboard-C9i0d98d.js";import{E as _,or as v}from"./index-gQyc38bL.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-DFj_A2-g.js";import{t as f}from"./card-D-4S-l7a.js";import{n as p,t as m}from"./row-ouqehWKH.js";import{t as h}from"./pagination-Bhf_oSSO.js";import{t as g}from"./CopyToClipboard-pWp_B9NW.js";import{E as _,or as v}from"./index-BM5Tg8p0.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 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,I as t,Jt as n,L as r,N as i,T as a,at as o,ht as s,j as c,mt as l,ot as u,rt as d,tt as f,z as p}from"./vendor-chart-Dw-P17PN.js";import{r as m,t as h}from"./select-BYKfh-PA.js";import{n as g,t as _}from"./table-ib2AdEq2.js";import{t as v}from"./card-D-4S-l7a.js";import{n as y,t as b}from"./file-output-qGs9fAYj.js";import{n as x,t as S}from"./row-DjWit0Gg.js";import{t as C}from"./pagination-BfkJj5Bm.js";import{t as w}from"./skeleton-BVbQKb45.js";import{t as T}from"./circle-check-CCRePGCL.js";import{t as E}from"./clock-Dcque8R3.js";import{t as D}from"./CopyToClipboard-C9i0d98d.js";import{t as O}from"./dollar-sign-BOrXovJV.js";import{Ai as k,E as A,Gt as j,Kr as M,Oi as N,Zn as P,mi as F}from"./index-gQyc38bL.js";var I=F(`receipt`,[[`path`,{d:`M12 17V7`,key:`pyj7ub`}],[`path`,{d:`M16 8h-6a2 2 0 0 0 0 4h4a2 2 0 0 1 0 4H8`,key:`1elt7d`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`,key:`ycz6yz`}]]),L={total_count:0,total_spent:0,state_counts:{}},R=p({name:`ConsoleOrderList`,components:{ExportIcon:b,MoneyIcon:O,ReceiptIcon:I,SuccessIcon:T,TimeIcon:E,Pagination:C,CopyToClipboard:D,ElRow:S,ElCol:x,ElTable:_,ElTableColumn:g,ElButton:k,ElTag:N,ElCard:v,ElSelect:m,ElOption:h,ElDatePicker:y,ElSkeleton:w},data(){return{OrderState:M,orders:[],loading:!1,total:void 0,limit:10,filterState:this.$route.query.state?.toString()||``,filterPayWay:this.$route.query.pay_way?.toString()||``,createdAtRange:(()=>{let e=this.$route.query.created_at_from?.toString(),t=this.$route.query.created_at_to?.toString();if(e&&t)return[new Date(e),new Date(t)]})(),summary:{...L},summaryLoading:!1,exporting:!1,shortcuts:[{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.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]}}]}},computed:{page(){return parseInt(this.$route.query.page?.toString()||`1`)},stateOptions(){return[{value:M.PENDING,label:this.$t(`order.state.pending`)},{value:M.FINISHED,label:this.$t(`order.state.finished`)},{value:M.PAID,label:this.$t(`order.state.paid`)},{value:M.EXPIRED,label:this.$t(`order.state.expired`)},{value:M.FAILED,label:this.$t(`order.state.failed`)},{value:M.REFUNDED,label:this.$t(`order.state.refunded`)}]},payWayOptions(){return[{value:`WechatPay`,label:this.$t(`order.title.wechatPay`)},{value:`Stripe`,label:this.$t(`order.title.stripe`)},{value:`AliPay`,label:this.$t(`order.title.aliPay`)},{value:`X402`,label:this.$t(`order.title.x402`)},{value:`PayPal`,label:this.$t(`order.title.paypal`)}]},filterQuery(){let e={user_id:this.$store.getters.user?.id};return this.filterState&&(e.state=this.filterState),this.filterPayWay&&(e.pay_way=this.filterPayWay),this.createdAtRange?.[0]&&(e.created_at_from=this.createdAtRange[0]),this.createdAtRange?.[1]&&(e.created_at_to=this.createdAtRange[1]),e}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData(),this.onFetchSummary()},methods:{getPriceString:j,stateTagType(e){return e===M.FINISHED||e===M.PAID?`success`:e===M.EXPIRED||e===M.FAILED?`danger`:e===M.REFUNDED?`warning`:`info`},stateLabel(e){return{[M.PENDING]:this.$t(`order.state.pending`),[M.PAID]:this.$t(`order.state.paid`),[M.FINISHED]:this.$t(`order.state.finished`),[M.EXPIRED]:this.$t(`order.state.expired`),[M.FAILED]:this.$t(`order.state.failed`),[M.REFUNDED]:this.$t(`order.state.refunded`)}[e]||e},isPendingAction(e){return e!==M.PAID&&e!==M.FINISHED&&e!==M.EXPIRED&&e!==M.FAILED&&e!==M.REFUNDED},goToDetail(e){this.$router.push({name:`console-order-detail`,params:{id:e}})},async onFilterChange(){await this.$router.push({name:this.$route.name?.toString(),query:{page:1,...this.filterState?{state:this.filterState}:{},...this.filterPayWay?{pay_way:this.filterPayWay}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0].toISOString()}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1].toISOString()}:{}}}),this.onFetchData(),this.onFetchSummary()},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchData(){this.loading=!0,P.getAll({ordering:`-created_at`,limit:this.limit,offset:(this.page-1)*this.limit,...this.filterQuery}).then(({data:e})=>{this.orders=e.items,this.total=e.count}).catch(()=>{}).finally(()=>{this.loading=!1})},onFetchSummary(){this.summaryLoading=!0,P.getSummary(this.filterQuery).then(({data:e})=>{this.summary=e}).catch(()=>{this.summary={...L}}).finally(()=>{this.summaryLoading=!1})},onExport(){this.exporting=!0,P.exportCsv(this.filterQuery).then(({data:e})=>{let t=window.URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`orders.csv`,n.click(),window.URL.revokeObjectURL(t)}).catch(()=>{}).finally(()=>{this.exporting=!1})}}}),z={class:`title`},B={key:1,class:`card-content`},V={class:`icon-wrapper`},H={class:`description`},U={class:`value`},W={key:1,class:`card-content`},G={class:`icon-wrapper`},K={class:`description`},q={class:`value`},J={key:1,class:`card-content`},ee={class:`icon-wrapper`},Y={class:`description`},X={class:`value`},Z={key:1,class:`card-content`},Q={class:`icon-wrapper`},$={class:`description`},te={class:`value`},ne={class:`filter-row mb-3`},re={class:`key`},ie={class:`cursor-pointer`},ae={class:`price`},oe={class:`description`},se={class:`text-gray-500`},ce={class:`created-at`},le={class:`flex items-center justify-center flex-wrap`},ue={class:`float-right`};function de(p,m,h,g,_,v){let y=o(`el-col`),b=o(`el-row`),x=o(`el-skeleton`),S=o(`receipt-icon`),C=o(`el-card`),w=o(`money-icon`),T=o(`success-icon`),E=o(`time-icon`),D=o(`el-option`),O=o(`el-select`),k=o(`el-date-picker`),A=o(`export-icon`),j=o(`el-button`),M=o(`copy-to-clipboard`),N=o(`el-table-column`),P=o(`el-tag`),F=o(`el-table`),I=o(`pagination`),L=u(`loading`);return f(),c(b,{class:`panel`},{default:l(()=>[r(y,{span:24},{default:l(()=>[r(b,null,{default:l(()=>[r(y,{span:24},{default:l(()=>[e(`h2`,z,n(p.$t(`common.title.allOrders`)),1)]),_:1})]),_:1}),r(b,{gutter:16},{default:l(()=>[r(y,{md:6,sm:12,xs:24},{default:l(()=>[r(C,{shadow:`hover`,class:`item-mini mb-3`},{default:l(()=>[p.summaryLoading?(f(),c(x,{key:0})):(f(),i(`div`,B,[e(`div`,V,[r(S,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`p`,H,n(p.$t(`order.title.totalOrders`)),1),e(`p`,U,n(p.summary.total_count),1)]))]),_:1})]),_:1}),r(y,{md:6,sm:12,xs:24},{default:l(()=>[r(C,{shadow:`hover`,class:`item-mini mb-3`},{default:l(()=>[p.summaryLoading?(f(),c(x,{key:0})):(f(),i(`div`,W,[e(`div`,G,[r(w,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`p`,K,n(p.$t(`order.title.totalSpent`)),1),e(`p`,q,n(p.getPriceString({value:p.summary.total_spent})),1)]))]),_:1})]),_:1}),r(y,{md:6,sm:12,xs:24},{default:l(()=>[r(C,{shadow:`hover`,class:`item-mini mb-3`},{default:l(()=>[p.summaryLoading?(f(),c(x,{key:0})):(f(),i(`div`,J,[e(`div`,ee,[r(T,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`p`,Y,n(p.$t(`order.title.finishedOrders`)),1),e(`p`,X,n(p.summary.state_counts?.Finished||0),1)]))]),_:1})]),_:1}),r(y,{md:6,sm:12,xs:24},{default:l(()=>[r(C,{shadow:`hover`,class:`item-mini mb-3`},{default:l(()=>[p.summaryLoading?(f(),c(x,{key:0})):(f(),i(`div`,Z,[e(`div`,Q,[r(E,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`p`,$,n(p.$t(`order.title.pendingOrders`)),1),e(`p`,te,n(p.summary.state_counts?.Pending||0),1)]))]),_:1})]),_:1})]),_:1}),e(`div`,ne,[r(O,{modelValue:p.filterState,"onUpdate:modelValue":m[0]||=e=>p.filterState=e,clearable:``,placeholder:p.$t(`order.field.allStates`),class:`filter-select`,onChange:p.onFilterChange},{default:l(()=>[(f(!0),i(a,null,d(p.stateOptions,e=>(f(),c(D,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),r(O,{modelValue:p.filterPayWay,"onUpdate:modelValue":m[1]||=e=>p.filterPayWay=e,clearable:``,placeholder:p.$t(`order.field.allPayWays`),class:`filter-select`,onChange:p.onFilterChange},{default:l(()=>[(f(!0),i(a,null,d(p.payWayOptions,e=>(f(),c(D,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),r(k,{modelValue:p.createdAtRange,"onUpdate:modelValue":m[2]||=e=>p.createdAtRange=e,type:`datetimerange`,shortcuts:p.shortcuts,"range-separator":p.$t(`usage.placeholder.to`),"start-placeholder":p.$t(`usage.placeholder.startDate`),"end-placeholder":p.$t(`usage.placeholder.endDate`),onChange:p.onFilterChange},null,8,[`modelValue`,`shortcuts`,`range-separator`,`start-placeholder`,`end-placeholder`,`onChange`]),r(j,{type:`primary`,plain:``,loading:p.exporting,onClick:p.onExport},{default:l(()=>[r(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(p.$t(`order.button.export`)),1)]),_:1},8,[`loading`,`onClick`])]),r(b,null,{default:l(()=>[r(y,{span:24},{default:l(()=>[r(C,{shadow:`hover`},{default:l(()=>[s((f(),c(F,{data:p.orders,stripe:``,"empty-text":p.$t(`common.message.noData`),class:`min-h-[calc(100vh-450px)] mb-[20px]`},{default:l(()=>[r(N,{prop:`id`,label:p.$t(`order.field.id`),"class-name":`text-center`,width:`200px`},{default:l(t=>[e(`span`,re,n(t.row.id),1),e(`span`,ie,[r(M,{content:t.row.id,class:`inline-block`},null,8,[`content`])])]),_:1},8,[`label`]),r(N,{label:p.$t(`order.field.price`),width:`110px`,align:`center`},{default:l(t=>[e(`span`,ae,n(p.getPriceString({value:t.row?.price})),1)]),_:1},8,[`label`]),r(N,{label:p.$t(`order.field.description`),"min-width":`220px`,"class-name":`hidden md:table-cell`,"label-class-name":`hidden md:table-cell`},{default:l(t=>[e(`span`,oe,n(t.row.description),1)]),_:1},8,[`label`]),r(N,{prop:`state`,label:p.$t(`order.field.state`),width:`130px`,align:`center`},{default:l(e=>[r(P,{type:p.stateTagType(e.row.state),class:`mx-1`,effect:`dark`,round:``,size:`small`},{default:l(()=>[t(n(p.stateLabel(e.row.state)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),r(N,{label:p.$t(`order.field.payWay`),width:`120px`,align:`center`,"class-name":`hidden md:table-cell`,"label-class-name":`hidden md:table-cell`},{default:l(t=>[e(`span`,se,n(t.row.pay_way||`-`),1)]),_:1},8,[`label`]),r(N,{label:p.$t(`order.field.createdAt`),width:`200px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:l(t=>[e(`span`,ce,n(p.$dayjs.format(t.row.created_at)),1)]),_:1},8,[`label`]),r(N,{"min-width":`130px`,fixed:`right`},{default:l(r=>[e(`div`,le,[p.isPendingAction(r.row.state)?(f(),c(j,{key:0,type:`primary`,size:`small`,onClick:e=>p.goToDetail(r.row.id)},{default:l(()=>[t(n(p.$t(`order.button.continuePay`)),1)]),_:1},8,[`onClick`])):(f(),c(j,{key:1,size:`small`,onClick:e=>p.goToDetail(r.row.id)},{default:l(()=>[t(n(p.$t(`order.button.checkDetail`)),1)]),_:1},8,[`onClick`]))])]),_:1})]),_:1},8,[`data`,`empty-text`])),[[L,p.loading]])]),_:1})]),_:1})]),_:1}),r(b,null,{default:l(()=>[r(y,{span:10,offset:14},{default:l(()=>[e(`div`,ue,[r(I,{"current-page":p.page,"page-size":p.limit,total:p.total,onChange:p.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var fe=A(R,[[`render`,de],[`__scopeId`,`data-v-c1fc3317`]]);export{fe as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,I as t,Jt as n,L as r,N as i,T as a,at as o,ht as s,j as c,mt as l,ot as u,rt as d,tt as f,z as p}from"./vendor-chart-Dw-P17PN.js";import{r as m,t as h}from"./select-JAczkKoE.js";import{n as g,t as _}from"./table-DFj_A2-g.js";import{t as v}from"./card-D-4S-l7a.js";import{n as y,t as b}from"./file-output-CINS0hMB.js";import{n as x,t as S}from"./row-ouqehWKH.js";import{t as C}from"./pagination-Bhf_oSSO.js";import{t as w}from"./skeleton-BVbQKb45.js";import{t as T}from"./circle-check-C6YmwK6F.js";import{t as E}from"./clock-CzflPTOt.js";import{t as D}from"./CopyToClipboard-pWp_B9NW.js";import{t as O}from"./dollar-sign-CVWP3ACu.js";import{Ai as k,E as A,Gt as j,Kr as M,Oi as N,Zn as P,mi as F}from"./index-BM5Tg8p0.js";var I=F(`receipt`,[[`path`,{d:`M12 17V7`,key:`pyj7ub`}],[`path`,{d:`M16 8h-6a2 2 0 0 0 0 4h4a2 2 0 0 1 0 4H8`,key:`1elt7d`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`,key:`ycz6yz`}]]),L={total_count:0,total_spent:0,state_counts:{}},R=p({name:`ConsoleOrderList`,components:{ExportIcon:b,MoneyIcon:O,ReceiptIcon:I,SuccessIcon:T,TimeIcon:E,Pagination:C,CopyToClipboard:D,ElRow:S,ElCol:x,ElTable:_,ElTableColumn:g,ElButton:k,ElTag:N,ElCard:v,ElSelect:m,ElOption:h,ElDatePicker:y,ElSkeleton:w},data(){return{OrderState:M,orders:[],loading:!1,total:void 0,limit:10,filterState:this.$route.query.state?.toString()||``,filterPayWay:this.$route.query.pay_way?.toString()||``,createdAtRange:(()=>{let e=this.$route.query.created_at_from?.toString(),t=this.$route.query.created_at_to?.toString();if(e&&t)return[new Date(e),new Date(t)]})(),summary:{...L},summaryLoading:!1,exporting:!1,shortcuts:[{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.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]}}]}},computed:{page(){return parseInt(this.$route.query.page?.toString()||`1`)},stateOptions(){return[{value:M.PENDING,label:this.$t(`order.state.pending`)},{value:M.FINISHED,label:this.$t(`order.state.finished`)},{value:M.PAID,label:this.$t(`order.state.paid`)},{value:M.EXPIRED,label:this.$t(`order.state.expired`)},{value:M.FAILED,label:this.$t(`order.state.failed`)},{value:M.REFUNDED,label:this.$t(`order.state.refunded`)}]},payWayOptions(){return[{value:`WechatPay`,label:this.$t(`order.title.wechatPay`)},{value:`Stripe`,label:this.$t(`order.title.stripe`)},{value:`AliPay`,label:this.$t(`order.title.aliPay`)},{value:`X402`,label:this.$t(`order.title.x402`)},{value:`PayPal`,label:this.$t(`order.title.paypal`)}]},filterQuery(){let e={user_id:this.$store.getters.user?.id};return this.filterState&&(e.state=this.filterState),this.filterPayWay&&(e.pay_way=this.filterPayWay),this.createdAtRange?.[0]&&(e.created_at_from=this.createdAtRange[0]),this.createdAtRange?.[1]&&(e.created_at_to=this.createdAtRange[1]),e}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData(),this.onFetchSummary()},methods:{getPriceString:j,stateTagType(e){return e===M.FINISHED||e===M.PAID?`success`:e===M.EXPIRED||e===M.FAILED?`danger`:e===M.REFUNDED?`warning`:`info`},stateLabel(e){return{[M.PENDING]:this.$t(`order.state.pending`),[M.PAID]:this.$t(`order.state.paid`),[M.FINISHED]:this.$t(`order.state.finished`),[M.EXPIRED]:this.$t(`order.state.expired`),[M.FAILED]:this.$t(`order.state.failed`),[M.REFUNDED]:this.$t(`order.state.refunded`)}[e]||e},isPendingAction(e){return e!==M.PAID&&e!==M.FINISHED&&e!==M.EXPIRED&&e!==M.FAILED&&e!==M.REFUNDED},goToDetail(e){this.$router.push({name:`console-order-detail`,params:{id:e}})},async onFilterChange(){await this.$router.push({name:this.$route.name?.toString(),query:{page:1,...this.filterState?{state:this.filterState}:{},...this.filterPayWay?{pay_way:this.filterPayWay}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0].toISOString()}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1].toISOString()}:{}}}),this.onFetchData(),this.onFetchSummary()},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchData(){this.loading=!0,P.getAll({ordering:`-created_at`,limit:this.limit,offset:(this.page-1)*this.limit,...this.filterQuery}).then(({data:e})=>{this.orders=e.items,this.total=e.count}).catch(()=>{}).finally(()=>{this.loading=!1})},onFetchSummary(){this.summaryLoading=!0,P.getSummary(this.filterQuery).then(({data:e})=>{this.summary=e}).catch(()=>{this.summary={...L}}).finally(()=>{this.summaryLoading=!1})},onExport(){this.exporting=!0,P.exportCsv(this.filterQuery).then(({data:e})=>{let t=window.URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`orders.csv`,n.click(),window.URL.revokeObjectURL(t)}).catch(()=>{}).finally(()=>{this.exporting=!1})}}}),z={class:`title`},B={key:1,class:`card-content`},V={class:`icon-wrapper`},H={class:`description`},U={class:`value`},W={key:1,class:`card-content`},G={class:`icon-wrapper`},K={class:`description`},q={class:`value`},J={key:1,class:`card-content`},ee={class:`icon-wrapper`},Y={class:`description`},X={class:`value`},Z={key:1,class:`card-content`},Q={class:`icon-wrapper`},$={class:`description`},te={class:`value`},ne={class:`filter-row mb-3`},re={class:`key`},ie={class:`cursor-pointer`},ae={class:`price`},oe={class:`description`},se={class:`text-gray-500`},ce={class:`created-at`},le={class:`flex items-center justify-center flex-wrap`},ue={class:`float-right`};function de(p,m,h,g,_,v){let y=o(`el-col`),b=o(`el-row`),x=o(`el-skeleton`),S=o(`receipt-icon`),C=o(`el-card`),w=o(`money-icon`),T=o(`success-icon`),E=o(`time-icon`),D=o(`el-option`),O=o(`el-select`),k=o(`el-date-picker`),A=o(`export-icon`),j=o(`el-button`),M=o(`copy-to-clipboard`),N=o(`el-table-column`),P=o(`el-tag`),F=o(`el-table`),I=o(`pagination`),L=u(`loading`);return f(),c(b,{class:`panel`},{default:l(()=>[r(y,{span:24},{default:l(()=>[r(b,null,{default:l(()=>[r(y,{span:24},{default:l(()=>[e(`h2`,z,n(p.$t(`common.title.allOrders`)),1)]),_:1})]),_:1}),r(b,{gutter:16},{default:l(()=>[r(y,{md:6,sm:12,xs:24},{default:l(()=>[r(C,{shadow:`hover`,class:`item-mini mb-3`},{default:l(()=>[p.summaryLoading?(f(),c(x,{key:0})):(f(),i(`div`,B,[e(`div`,V,[r(S,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`p`,H,n(p.$t(`order.title.totalOrders`)),1),e(`p`,U,n(p.summary.total_count),1)]))]),_:1})]),_:1}),r(y,{md:6,sm:12,xs:24},{default:l(()=>[r(C,{shadow:`hover`,class:`item-mini mb-3`},{default:l(()=>[p.summaryLoading?(f(),c(x,{key:0})):(f(),i(`div`,W,[e(`div`,G,[r(w,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`p`,K,n(p.$t(`order.title.totalSpent`)),1),e(`p`,q,n(p.getPriceString({value:p.summary.total_spent})),1)]))]),_:1})]),_:1}),r(y,{md:6,sm:12,xs:24},{default:l(()=>[r(C,{shadow:`hover`,class:`item-mini mb-3`},{default:l(()=>[p.summaryLoading?(f(),c(x,{key:0})):(f(),i(`div`,J,[e(`div`,ee,[r(T,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`p`,Y,n(p.$t(`order.title.finishedOrders`)),1),e(`p`,X,n(p.summary.state_counts?.Finished||0),1)]))]),_:1})]),_:1}),r(y,{md:6,sm:12,xs:24},{default:l(()=>[r(C,{shadow:`hover`,class:`item-mini mb-3`},{default:l(()=>[p.summaryLoading?(f(),c(x,{key:0})):(f(),i(`div`,Z,[e(`div`,Q,[r(E,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`p`,$,n(p.$t(`order.title.pendingOrders`)),1),e(`p`,te,n(p.summary.state_counts?.Pending||0),1)]))]),_:1})]),_:1})]),_:1}),e(`div`,ne,[r(O,{modelValue:p.filterState,"onUpdate:modelValue":m[0]||=e=>p.filterState=e,clearable:``,placeholder:p.$t(`order.field.allStates`),class:`filter-select`,onChange:p.onFilterChange},{default:l(()=>[(f(!0),i(a,null,d(p.stateOptions,e=>(f(),c(D,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),r(O,{modelValue:p.filterPayWay,"onUpdate:modelValue":m[1]||=e=>p.filterPayWay=e,clearable:``,placeholder:p.$t(`order.field.allPayWays`),class:`filter-select`,onChange:p.onFilterChange},{default:l(()=>[(f(!0),i(a,null,d(p.payWayOptions,e=>(f(),c(D,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),r(k,{modelValue:p.createdAtRange,"onUpdate:modelValue":m[2]||=e=>p.createdAtRange=e,type:`datetimerange`,shortcuts:p.shortcuts,"range-separator":p.$t(`usage.placeholder.to`),"start-placeholder":p.$t(`usage.placeholder.startDate`),"end-placeholder":p.$t(`usage.placeholder.endDate`),onChange:p.onFilterChange},null,8,[`modelValue`,`shortcuts`,`range-separator`,`start-placeholder`,`end-placeholder`,`onChange`]),r(j,{type:`primary`,plain:``,loading:p.exporting,onClick:p.onExport},{default:l(()=>[r(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(p.$t(`order.button.export`)),1)]),_:1},8,[`loading`,`onClick`])]),r(b,null,{default:l(()=>[r(y,{span:24},{default:l(()=>[r(C,{shadow:`hover`},{default:l(()=>[s((f(),c(F,{data:p.orders,stripe:``,"empty-text":p.$t(`common.message.noData`),class:`min-h-[calc(100vh-450px)] mb-[20px]`},{default:l(()=>[r(N,{prop:`id`,label:p.$t(`order.field.id`),"class-name":`text-center`,width:`200px`},{default:l(t=>[e(`span`,re,n(t.row.id),1),e(`span`,ie,[r(M,{content:t.row.id,class:`inline-block`},null,8,[`content`])])]),_:1},8,[`label`]),r(N,{label:p.$t(`order.field.price`),width:`110px`,align:`center`},{default:l(t=>[e(`span`,ae,n(p.getPriceString({value:t.row?.price})),1)]),_:1},8,[`label`]),r(N,{label:p.$t(`order.field.description`),"min-width":`220px`,"class-name":`hidden md:table-cell`,"label-class-name":`hidden md:table-cell`},{default:l(t=>[e(`span`,oe,n(t.row.description),1)]),_:1},8,[`label`]),r(N,{prop:`state`,label:p.$t(`order.field.state`),width:`130px`,align:`center`},{default:l(e=>[r(P,{type:p.stateTagType(e.row.state),class:`mx-1`,effect:`dark`,round:``,size:`small`},{default:l(()=>[t(n(p.stateLabel(e.row.state)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),r(N,{label:p.$t(`order.field.payWay`),width:`120px`,align:`center`,"class-name":`hidden md:table-cell`,"label-class-name":`hidden md:table-cell`},{default:l(t=>[e(`span`,se,n(t.row.pay_way||`-`),1)]),_:1},8,[`label`]),r(N,{label:p.$t(`order.field.createdAt`),width:`200px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:l(t=>[e(`span`,ce,n(p.$dayjs.format(t.row.created_at)),1)]),_:1},8,[`label`]),r(N,{"min-width":`130px`,fixed:`right`},{default:l(r=>[e(`div`,le,[p.isPendingAction(r.row.state)?(f(),c(j,{key:0,type:`primary`,size:`small`,onClick:e=>p.goToDetail(r.row.id)},{default:l(()=>[t(n(p.$t(`order.button.continuePay`)),1)]),_:1},8,[`onClick`])):(f(),c(j,{key:1,size:`small`,onClick:e=>p.goToDetail(r.row.id)},{default:l(()=>[t(n(p.$t(`order.button.checkDetail`)),1)]),_:1},8,[`onClick`]))])]),_:1})]),_:1},8,[`data`,`empty-text`])),[[L,p.loading]])]),_:1})]),_:1})]),_:1}),r(b,null,{default:l(()=>[r(y,{span:10,offset:14},{default:l(()=>[e(`div`,ue,[r(I,{"current-page":p.page,"page-size":p.limit,total:p.total,onChange:p.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var fe=A(R,[[`render`,de],[`__scopeId`,`data-v-c1fc3317`]]);export{fe as default};
@@ -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 ee,j as c,mt as l,ot as te,rt as u,tt as d,z as f}from"./vendor-chart-Dw-P17PN.js";import{n as p,t as m}from"./table-ib2AdEq2.js";import{t as h}from"./card-D-4S-l7a.js";import{n as g,t as _}from"./row-DjWit0Gg.js";import{t as v}from"./empty-BOBA66a-.js";import{t as y}from"./pagination-BfkJj5Bm.js";import{t as b}from"./skeleton-BVbQKb45.js";import{t as x}from"./switch-K85VuUXP.js";import{t as S}from"./boxes-C8saaSgZ.js";import{t as C}from"./chart-no-axes-combined-ORQTP2DX.js";import{t as w}from"./coins-BKxeL4uF.js";import{t as T}from"./CopyToClipboard-C9i0d98d.js";import{t as E}from"./wallet-CbqyWjcS.js";import{Ai as D,B as O,E as k,Gr as A,K as j,Oi as M,Qr as N,Wr as P,Zr as F,fn as I,gi as L,si as R,sr as z}from"./index-gQyc38bL.js";var B=f({name:`ConsoleApplicationList`,components:{AnalyticsIcon:C,ApplicationsIcon:S,CreditsIcon:w,WalletIcon:E,Pagination:y,CopyToClipboard:T,ElTable:m,ElRow:_,ElButton:D,ElCol:g,ElTag:M,ElSkeleton:b,ElSwitch:x,ElEmpty:v,ElTableColumn:p,ElCard:h},data(){return{credentialType:P,serviceType:A,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!I(this.$store.getters.site)}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onInitializeGlobalApplication(),this.onFetchData()},methods:{rowCanPay(e){return I(this.$store.getters.site)?!1:R()?(e?.packages||[]).some(e=>e?.metadata?.apple_product_id):!0},updateAllowConsumeGlobal(e,t){!e||!e.id||z.updateAllConsumeGlobal(e.id,{...e,allow_consume_global:!!t}).then(()=>{L.success(this.$t(`application.message.updateSuccessfully`).toString())}).catch(()=>{L.error(this.$t(`application.message.updateFailed`).toString())})},onGoUsage(e){this.$router.push({name:j,query:{application_id:e.id,type:e?.service?.type}})},onBuyMore(e){e?.id&&this.$router.push({name:O,params:{id:e.id}})},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchApplications(e=F.INDIVIDUAL){return new Promise((t,n)=>{z.getAll({limit:this.limit,...e===F.INDIVIDUAL?{offset:(this.page-1)*this.limit}:{},user_id:this.$store.getters.user.id,ordering:`-created_at`,type:N.USAGE,scope:e}).then(({data:n})=>{e===F.INDIVIDUAL?(this.individualApplications=n.items,this.individualApplicationsTotal=n.count):(this.globalApplications=n.items,this.globalApplicationsTotal=n.count),t(n)}).catch(e=>{L.error(this.$t(`application.message.fetchFailed`).toString()),n(e)})})},onFetchData(){this.loading=!0,Promise.all([this.onFetchApplications(F.INDIVIDUAL),this.onFetchApplications(F.GLOBAL)]).then(()=>{this.loading=!1}).catch(()=>{this.loading=!1})},onInitializeGlobalApplication(){z.create({type:N.USAGE,scope:F.GLOBAL,user_id:this.$store.getters.user.id}).finally(()=>{this.onFetchApplications(F.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}`}}}),V={class:`title`},H={key:1,class:`summary-card`},U={class:`icon-wrapper`},W={class:`label`},G={class:`value`},K={class:`description`},q={key:1,class:`flex flex-row justify-between items-center gap-3`},J={class:`summary-card min-w-0 flex-1`},Y={class:`flex justify-start items-center gap-2 mb-2 w-full`},X={class:`icon-wrapper !mb-0`},Z={class:`text-[var(--el-text-color-regular)] text-[14px] truncate`},Q={class:`label`},ne={class:`value`},re={class:`description`},ie={class:`flex flex-col items-end gap-2 shrink-0`},ae={class:`copy`},oe={key:0,class:`expired-at`},se={class:`flex flex-wrap items-center justify-end gap-1`},ce={class:`application-cards block sm:hidden`},le={class:`flex items-center gap-2 flex-wrap`},ue={class:`application-card__name`},de={class:`application-card__id`},fe={class:`truncate`},pe={class:`application-card__row`},$={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(f,p,m,h,g,_){let v=s(`el-col`),y=s(`el-row`),b=s(`el-skeleton`),x=s(`applications-icon`),S=s(`el-card`),C=s(`wallet-icon`),w=s(`copy-to-clipboard`),T=s(`analytics-icon`),E=s(`el-button`),D=s(`credits-icon`),O=s(`el-table-column`),k=s(`el-tag`),A=s(`el-switch`),j=s(`el-table`),M=s(`el-empty`),N=s(`pagination`),P=te(`loading`);return d(),c(y,{class:`application-list`},{default:l(()=>[r(v,{span:24},{default:l(()=>[r(y,null,{default:l(()=>[r(v,{span:24},{default:l(()=>[e(`h2`,V,n(f.$t(`common.title.allApplications`)),1)]),_:1})]),_:1}),r(y,{gutter:15,class:`mb-3`},{default:l(()=>[r(v,{md:12,xs:24},{default:l(()=>[r(S,{shadow:`hover`,class:`relative min-h-[180px] mb-2`,"body-style":{padding:`18px 20px`}},{default:l(()=>[f.loading?(d(),c(b,{key:0})):(d(),a(`div`,H,[e(`div`,U,[r(x,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`p`,W,n(f.$t(`application.title.count`)),1),e(`p`,G,n(f.individualApplicationsTotal),1),e(`p`,K,n(f.$t(`application.message.countDescription`)),1)]))]),_:1})]),_:1}),f.showGlobalPayment&&f.globalApplications?.length>0?(d(),c(v,{key:0,md:12,xs:24},{default:l(()=>[r(S,{shadow:`hover`,class:`relative min-h-[180px] mb-2`,"body-style":{padding:`18px 20px`}},{default:l(()=>[f.loading?(d(),c(b,{key:0})):(d(),a(`div`,q,[e(`div`,J,[e(`div`,Y,[e(`div`,X,[r(C,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`span`,Z,[t(n(f.$t(`application.field.id`))+`: `+n(f.globalApplications?.[0]?.id)+` `,1),f.globalApplications?.[0]?.id?(d(),c(w,{key:0,content:f.globalApplications?.[0]?.id,class:`inline-block`},null,8,[`content`])):i(``,!0)])]),e(`p`,Q,n(f.$t(`application.title.globalBalance`)),1),e(`p`,ne,n(f.globalApplications?.[0]?.remaining_amount?.toFixed(6)||`0.000000`)+` `+n(f.$t(`service.unit.credits`)),1),e(`p`,re,n(f.$t(`application.message.globalBalanceDescription`)),1)]),e(`div`,ie,[r(E,{class:`!m-0 !px-2`,size:`small`,round:``,onClick:p[0]||=e=>f.onGoUsage(f.globalApplications?.[0])},{default:l(()=>[r(T,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(f.$t(`application.button.usage`)),1)]),_:1}),f.showGlobalPayment?(d(),c(E,{key:0,class:`!m-0 !px-2`,type:`primary`,round:``,size:`small`,onClick:p[1]||=e=>f.onBuyMore(f.globalApplications?.[0])},{default:l(()=>[r(D,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(f.$t(`application.button.buyMore`)),1)]),_:1})):i(``,!0)])]))]),_:1})]),_:1})):i(``,!0)]),_:1}),r(y,null,{default:l(()=>[r(v,{span:24},{default:l(()=>[r(S,{shadow:`hover`,class:`applications-table-card hidden sm:block`},{default:l(()=>[ee((d(),c(j,{data:f.individualApplications,stripe:``,class:`applications-table !min-h-[calc(100vh-420px)]`,"table-layout":`fixed`,"empty-text":f.$t(`common.message.noData`)},{default:l(()=>[r(O,{prop:`id`,label:f.$t(`application.field.id`),width:`200px`,"class-name":`text-center`},{default:l(t=>[e(`span`,null,n(t.row.id),1),e(`span`,ae,[r(w,{content:t?.row?.id,class:`inline-block`},null,8,[`content`])])]),_:1},8,[`label`]),r(O,{label:f.$t(`application.field.type`),width:`90px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:l(e=>[e.row?.type===`Period`?(d(),c(k,{key:0,type:`success`,effect:`dark`,round:``},{default:l(()=>[t(n(f.$t(`application.type.period`)),1)]),_:1})):e.row?.type===`Usage`?(d(),c(k,{key:1,effect:`dark`,round:``},{default:l(()=>[t(n(f.$t(`application.type.usage`)),1)]),_:1})):i(``,!0)]),_:1},8,[`label`]),r(O,{label:f.$t(`application.field.name`),width:`180px`},{default:l(r=>[e(`span`,null,n(r.row?.service?.title),1),r.row?.role===`grantee`?(d(),c(k,{key:0,type:`info`,size:`small`,round:``,class:`ml-2`},{default:l(()=>[t(n(f.$t(`application.badge.shared`)),1)]),_:1})):i(``,!0)]),_:1},8,[`label`]),r(O,{prop:`remaining_amount`,label:f.$t(`application.field.remainingAmount`),width:`150px`,"class-name":`text-center`},{default:l(t=>[e(`span`,null,n(f.getRemainingAmount(t.row)),1)]),_:1},8,[`label`]),r(O,{prop:`used_amount`,label:f.$t(`application.field.usedAmount`),width:`150px`,"class-name":`hidden sm:table-cell text-center`,"label-class-name":`hidden sm:table-cell`},{default:l(t=>[e(`span`,null,n(f.getUsedAmount(t.row)),1)]),_:1},8,[`label`]),r(O,{prop:`allow_consume_global`,label:f.$t(`application.field.allowConsumeGlobal`),width:`120px`,"class-name":`hidden sm:table-cell text-center`,"label-class-name":`hidden sm:table-cell`},{default:l(e=>[e.row.service?.type===f.serviceType.API?(d(),c(A,{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=>f.updateAllowConsumeGlobal(e.row,t)},null,8,[`modelValue`,`onUpdate:modelValue`,`onChange`])):i(``,!0)]),_:1},8,[`label`]),r(O,{label:f.$t(`application.field.expiredAt`),width:`180px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:l(e=>[e.row.expired_at?(d(),a(`span`,oe,n(f.$dayjs.format(e.row.expired_at)),1)):i(``,!0)]),_:1},8,[`label`]),r(O,{fixed:`right`,width:`200px`},{default:l(a=>[e(`div`,se,[r(E,{class:`!m-0 !px-2`,size:`small`,round:``,onClick:e=>f.onGoUsage(a?.row)},{default:l(()=>[r(T,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(f.$t(`application.button.usage`)),1)]),_:1},8,[`onClick`]),f.rowCanPay(a?.row)?(d(),c(E,{key:0,class:`!m-0 !px-2`,type:`primary`,round:``,size:`small`,onClick:e=>f.onBuyMore(a?.row)},{default:l(()=>[r(D,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(f.$t(`application.button.buyMore`)),1)]),_:1},8,[`onClick`])):i(``,!0)])]),_:1})]),_:1},8,[`data`,`empty-text`])),[[P,f.loading]])]),_:1}),e(`div`,ce,[f.loading?(d(),c(b,{key:0,rows:4,animated:``})):(d(),a(o,{key:1},[f.individualApplications?.length?(d(!0),a(o,{key:1},u(f.individualApplications,o=>(d(),c(S,{key:o.id,shadow:`hover`,class:`application-card mb-2`,"body-style":{padding:`14px 16px`}},{default:l(()=>[e(`div`,le,[e(`span`,ue,n(o?.service?.title),1),o?.type===`Period`?(d(),c(k,{key:0,type:`success`,effect:`dark`,size:`small`,round:``},{default:l(()=>[t(n(f.$t(`application.type.period`)),1)]),_:1})):o?.type===`Usage`?(d(),c(k,{key:1,effect:`dark`,size:`small`,round:``},{default:l(()=>[t(n(f.$t(`application.type.usage`)),1)]),_:1})):i(``,!0),o?.role===`grantee`?(d(),c(k,{key:2,type:`info`,size:`small`,round:``},{default:l(()=>[t(n(f.$t(`application.badge.shared`)),1)]),_:1})):i(``,!0)]),e(`div`,de,[e(`span`,fe,n(f.$t(`application.field.id`))+`: `+n(o.id),1),r(w,{content:o.id,class:`inline-block shrink-0`},null,8,[`content`])]),e(`div`,pe,[e(`span`,$,n(f.$t(`application.field.remainingAmount`)),1),e(`span`,me,n(f.getRemainingAmount(o)),1)]),o?.expired_at?(d(),a(`div`,he,[e(`span`,ge,n(f.$t(`application.field.expiredAt`)),1),e(`span`,_e,n(f.$dayjs.format(o.expired_at)),1)])):i(``,!0),o.service?.type===f.serviceType.API?(d(),a(`div`,ve,[e(`span`,ye,n(f.$t(`application.field.allowConsumeGlobal`)),1),r(A,{modelValue:o.allow_consume_global,"onUpdate:modelValue":e=>o.allow_consume_global=e,"active-value":!0,"inactive-value":!1,onChange:e=>f.updateAllowConsumeGlobal(o,e)},null,8,[`modelValue`,`onUpdate:modelValue`,`onChange`])])):i(``,!0),e(`div`,be,[r(E,{class:`!m-0 !px-3`,size:`small`,round:``,onClick:e=>f.onGoUsage(o)},{default:l(()=>[r(T,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(f.$t(`application.button.usage`)),1)]),_:1},8,[`onClick`]),f.rowCanPay(o)?(d(),c(E,{key:0,class:`!m-0 !px-3`,type:`primary`,round:``,size:`small`,onClick:e=>f.onBuyMore(o)},{default:l(()=>[r(D,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(f.$t(`application.button.buyMore`)),1)]),_:1},8,[`onClick`])):i(``,!0)])]),_:2},1024))),128)):(d(),c(M,{key:0,description:f.$t(`common.message.noData`)},null,8,[`description`]))],64))])]),_:1})]),_:1}),r(y,null,{default:l(()=>[r(v,{span:24},{default:l(()=>[e(`div`,xe,[r(N,{"current-page":f.page,"page-size":f.limit,total:f.individualApplicationsTotal,onChange:f.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var Ce=k(B,[[`render`,Se],[`__scopeId`,`data-v-d88616c5`]]);export{Ce 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 ee,j as c,mt as l,ot as te,rt as u,tt as d,z as f}from"./vendor-chart-Dw-P17PN.js";import{n as p,t as m}from"./table-DFj_A2-g.js";import{t as h}from"./card-D-4S-l7a.js";import{n as g,t as _}from"./row-ouqehWKH.js";import{t as v}from"./empty-BOBA66a-.js";import{t as y}from"./pagination-Bhf_oSSO.js";import{t as b}from"./skeleton-BVbQKb45.js";import{t as x}from"./switch-CAd6fRZJ.js";import{t as S}from"./boxes-Dhdth_wa.js";import{t as C}from"./chart-no-axes-combined-DPaf75BY.js";import{t as w}from"./coins-BgDEisO-.js";import{t as T}from"./CopyToClipboard-pWp_B9NW.js";import{t as E}from"./wallet-D892e6wX.js";import{Ai as D,B as O,E as k,Gr as A,K as j,Oi as M,Qr as N,Wr as P,Zr as F,fn as I,gi as L,si as R,sr as z}from"./index-BM5Tg8p0.js";var B=f({name:`ConsoleApplicationList`,components:{AnalyticsIcon:C,ApplicationsIcon:S,CreditsIcon:w,WalletIcon:E,Pagination:y,CopyToClipboard:T,ElTable:m,ElRow:_,ElButton:D,ElCol:g,ElTag:M,ElSkeleton:b,ElSwitch:x,ElEmpty:v,ElTableColumn:p,ElCard:h},data(){return{credentialType:P,serviceType:A,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!I(this.$store.getters.site)}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onInitializeGlobalApplication(),this.onFetchData()},methods:{rowCanPay(e){return I(this.$store.getters.site)?!1:R()?(e?.packages||[]).some(e=>e?.metadata?.apple_product_id):!0},updateAllowConsumeGlobal(e,t){!e||!e.id||z.updateAllConsumeGlobal(e.id,{...e,allow_consume_global:!!t}).then(()=>{L.success(this.$t(`application.message.updateSuccessfully`).toString())}).catch(()=>{L.error(this.$t(`application.message.updateFailed`).toString())})},onGoUsage(e){this.$router.push({name:j,query:{application_id:e.id,type:e?.service?.type}})},onBuyMore(e){e?.id&&this.$router.push({name:O,params:{id:e.id}})},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchApplications(e=F.INDIVIDUAL){return new Promise((t,n)=>{z.getAll({limit:this.limit,...e===F.INDIVIDUAL?{offset:(this.page-1)*this.limit}:{},user_id:this.$store.getters.user.id,ordering:`-created_at`,type:N.USAGE,scope:e}).then(({data:n})=>{e===F.INDIVIDUAL?(this.individualApplications=n.items,this.individualApplicationsTotal=n.count):(this.globalApplications=n.items,this.globalApplicationsTotal=n.count),t(n)}).catch(e=>{L.error(this.$t(`application.message.fetchFailed`).toString()),n(e)})})},onFetchData(){this.loading=!0,Promise.all([this.onFetchApplications(F.INDIVIDUAL),this.onFetchApplications(F.GLOBAL)]).then(()=>{this.loading=!1}).catch(()=>{this.loading=!1})},onInitializeGlobalApplication(){z.create({type:N.USAGE,scope:F.GLOBAL,user_id:this.$store.getters.user.id}).finally(()=>{this.onFetchApplications(F.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}`}}}),V={class:`title`},H={key:1,class:`summary-card`},U={class:`icon-wrapper`},W={class:`label`},G={class:`value`},K={class:`description`},q={key:1,class:`flex flex-row justify-between items-center gap-3`},J={class:`summary-card min-w-0 flex-1`},Y={class:`flex justify-start items-center gap-2 mb-2 w-full`},X={class:`icon-wrapper !mb-0`},Z={class:`text-[var(--el-text-color-regular)] text-[14px] truncate`},Q={class:`label`},ne={class:`value`},re={class:`description`},ie={class:`flex flex-col items-end gap-2 shrink-0`},ae={class:`copy`},oe={key:0,class:`expired-at`},se={class:`flex flex-wrap items-center justify-end gap-1`},ce={class:`application-cards block sm:hidden`},le={class:`flex items-center gap-2 flex-wrap`},ue={class:`application-card__name`},de={class:`application-card__id`},fe={class:`truncate`},pe={class:`application-card__row`},$={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(f,p,m,h,g,_){let v=s(`el-col`),y=s(`el-row`),b=s(`el-skeleton`),x=s(`applications-icon`),S=s(`el-card`),C=s(`wallet-icon`),w=s(`copy-to-clipboard`),T=s(`analytics-icon`),E=s(`el-button`),D=s(`credits-icon`),O=s(`el-table-column`),k=s(`el-tag`),A=s(`el-switch`),j=s(`el-table`),M=s(`el-empty`),N=s(`pagination`),P=te(`loading`);return d(),c(y,{class:`application-list`},{default:l(()=>[r(v,{span:24},{default:l(()=>[r(y,null,{default:l(()=>[r(v,{span:24},{default:l(()=>[e(`h2`,V,n(f.$t(`common.title.allApplications`)),1)]),_:1})]),_:1}),r(y,{gutter:15,class:`mb-3`},{default:l(()=>[r(v,{md:12,xs:24},{default:l(()=>[r(S,{shadow:`hover`,class:`relative min-h-[180px] mb-2`,"body-style":{padding:`18px 20px`}},{default:l(()=>[f.loading?(d(),c(b,{key:0})):(d(),a(`div`,H,[e(`div`,U,[r(x,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`p`,W,n(f.$t(`application.title.count`)),1),e(`p`,G,n(f.individualApplicationsTotal),1),e(`p`,K,n(f.$t(`application.message.countDescription`)),1)]))]),_:1})]),_:1}),f.showGlobalPayment&&f.globalApplications?.length>0?(d(),c(v,{key:0,md:12,xs:24},{default:l(()=>[r(S,{shadow:`hover`,class:`relative min-h-[180px] mb-2`,"body-style":{padding:`18px 20px`}},{default:l(()=>[f.loading?(d(),c(b,{key:0})):(d(),a(`div`,q,[e(`div`,J,[e(`div`,Y,[e(`div`,X,[r(C,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`span`,Z,[t(n(f.$t(`application.field.id`))+`: `+n(f.globalApplications?.[0]?.id)+` `,1),f.globalApplications?.[0]?.id?(d(),c(w,{key:0,content:f.globalApplications?.[0]?.id,class:`inline-block`},null,8,[`content`])):i(``,!0)])]),e(`p`,Q,n(f.$t(`application.title.globalBalance`)),1),e(`p`,ne,n(f.globalApplications?.[0]?.remaining_amount?.toFixed(6)||`0.000000`)+` `+n(f.$t(`service.unit.credits`)),1),e(`p`,re,n(f.$t(`application.message.globalBalanceDescription`)),1)]),e(`div`,ie,[r(E,{class:`!m-0 !px-2`,size:`small`,round:``,onClick:p[0]||=e=>f.onGoUsage(f.globalApplications?.[0])},{default:l(()=>[r(T,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(f.$t(`application.button.usage`)),1)]),_:1}),f.showGlobalPayment?(d(),c(E,{key:0,class:`!m-0 !px-2`,type:`primary`,round:``,size:`small`,onClick:p[1]||=e=>f.onBuyMore(f.globalApplications?.[0])},{default:l(()=>[r(D,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(f.$t(`application.button.buyMore`)),1)]),_:1})):i(``,!0)])]))]),_:1})]),_:1})):i(``,!0)]),_:1}),r(y,null,{default:l(()=>[r(v,{span:24},{default:l(()=>[r(S,{shadow:`hover`,class:`applications-table-card hidden sm:block`},{default:l(()=>[ee((d(),c(j,{data:f.individualApplications,stripe:``,class:`applications-table !min-h-[calc(100vh-420px)]`,"table-layout":`fixed`,"empty-text":f.$t(`common.message.noData`)},{default:l(()=>[r(O,{prop:`id`,label:f.$t(`application.field.id`),width:`200px`,"class-name":`text-center`},{default:l(t=>[e(`span`,null,n(t.row.id),1),e(`span`,ae,[r(w,{content:t?.row?.id,class:`inline-block`},null,8,[`content`])])]),_:1},8,[`label`]),r(O,{label:f.$t(`application.field.type`),width:`90px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:l(e=>[e.row?.type===`Period`?(d(),c(k,{key:0,type:`success`,effect:`dark`,round:``},{default:l(()=>[t(n(f.$t(`application.type.period`)),1)]),_:1})):e.row?.type===`Usage`?(d(),c(k,{key:1,effect:`dark`,round:``},{default:l(()=>[t(n(f.$t(`application.type.usage`)),1)]),_:1})):i(``,!0)]),_:1},8,[`label`]),r(O,{label:f.$t(`application.field.name`),width:`180px`},{default:l(r=>[e(`span`,null,n(r.row?.service?.title),1),r.row?.role===`grantee`?(d(),c(k,{key:0,type:`info`,size:`small`,round:``,class:`ml-2`},{default:l(()=>[t(n(f.$t(`application.badge.shared`)),1)]),_:1})):i(``,!0)]),_:1},8,[`label`]),r(O,{prop:`remaining_amount`,label:f.$t(`application.field.remainingAmount`),width:`150px`,"class-name":`text-center`},{default:l(t=>[e(`span`,null,n(f.getRemainingAmount(t.row)),1)]),_:1},8,[`label`]),r(O,{prop:`used_amount`,label:f.$t(`application.field.usedAmount`),width:`150px`,"class-name":`hidden sm:table-cell text-center`,"label-class-name":`hidden sm:table-cell`},{default:l(t=>[e(`span`,null,n(f.getUsedAmount(t.row)),1)]),_:1},8,[`label`]),r(O,{prop:`allow_consume_global`,label:f.$t(`application.field.allowConsumeGlobal`),width:`120px`,"class-name":`hidden sm:table-cell text-center`,"label-class-name":`hidden sm:table-cell`},{default:l(e=>[e.row.service?.type===f.serviceType.API?(d(),c(A,{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=>f.updateAllowConsumeGlobal(e.row,t)},null,8,[`modelValue`,`onUpdate:modelValue`,`onChange`])):i(``,!0)]),_:1},8,[`label`]),r(O,{label:f.$t(`application.field.expiredAt`),width:`180px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:l(e=>[e.row.expired_at?(d(),a(`span`,oe,n(f.$dayjs.format(e.row.expired_at)),1)):i(``,!0)]),_:1},8,[`label`]),r(O,{fixed:`right`,width:`200px`},{default:l(a=>[e(`div`,se,[r(E,{class:`!m-0 !px-2`,size:`small`,round:``,onClick:e=>f.onGoUsage(a?.row)},{default:l(()=>[r(T,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(f.$t(`application.button.usage`)),1)]),_:1},8,[`onClick`]),f.rowCanPay(a?.row)?(d(),c(E,{key:0,class:`!m-0 !px-2`,type:`primary`,round:``,size:`small`,onClick:e=>f.onBuyMore(a?.row)},{default:l(()=>[r(D,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(f.$t(`application.button.buyMore`)),1)]),_:1},8,[`onClick`])):i(``,!0)])]),_:1})]),_:1},8,[`data`,`empty-text`])),[[P,f.loading]])]),_:1}),e(`div`,ce,[f.loading?(d(),c(b,{key:0,rows:4,animated:``})):(d(),a(o,{key:1},[f.individualApplications?.length?(d(!0),a(o,{key:1},u(f.individualApplications,o=>(d(),c(S,{key:o.id,shadow:`hover`,class:`application-card mb-2`,"body-style":{padding:`14px 16px`}},{default:l(()=>[e(`div`,le,[e(`span`,ue,n(o?.service?.title),1),o?.type===`Period`?(d(),c(k,{key:0,type:`success`,effect:`dark`,size:`small`,round:``},{default:l(()=>[t(n(f.$t(`application.type.period`)),1)]),_:1})):o?.type===`Usage`?(d(),c(k,{key:1,effect:`dark`,size:`small`,round:``},{default:l(()=>[t(n(f.$t(`application.type.usage`)),1)]),_:1})):i(``,!0),o?.role===`grantee`?(d(),c(k,{key:2,type:`info`,size:`small`,round:``},{default:l(()=>[t(n(f.$t(`application.badge.shared`)),1)]),_:1})):i(``,!0)]),e(`div`,de,[e(`span`,fe,n(f.$t(`application.field.id`))+`: `+n(o.id),1),r(w,{content:o.id,class:`inline-block shrink-0`},null,8,[`content`])]),e(`div`,pe,[e(`span`,$,n(f.$t(`application.field.remainingAmount`)),1),e(`span`,me,n(f.getRemainingAmount(o)),1)]),o?.expired_at?(d(),a(`div`,he,[e(`span`,ge,n(f.$t(`application.field.expiredAt`)),1),e(`span`,_e,n(f.$dayjs.format(o.expired_at)),1)])):i(``,!0),o.service?.type===f.serviceType.API?(d(),a(`div`,ve,[e(`span`,ye,n(f.$t(`application.field.allowConsumeGlobal`)),1),r(A,{modelValue:o.allow_consume_global,"onUpdate:modelValue":e=>o.allow_consume_global=e,"active-value":!0,"inactive-value":!1,onChange:e=>f.updateAllowConsumeGlobal(o,e)},null,8,[`modelValue`,`onUpdate:modelValue`,`onChange`])])):i(``,!0),e(`div`,be,[r(E,{class:`!m-0 !px-3`,size:`small`,round:``,onClick:e=>f.onGoUsage(o)},{default:l(()=>[r(T,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(f.$t(`application.button.usage`)),1)]),_:1},8,[`onClick`]),f.rowCanPay(o)?(d(),c(E,{key:0,class:`!m-0 !px-3`,type:`primary`,round:``,size:`small`,onClick:e=>f.onBuyMore(o)},{default:l(()=>[r(D,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(f.$t(`application.button.buyMore`)),1)]),_:1},8,[`onClick`])):i(``,!0)])]),_:2},1024))),128)):(d(),c(M,{key:0,description:f.$t(`common.message.noData`)},null,8,[`description`]))],64))])]),_:1})]),_:1}),r(y,null,{default:l(()=>[r(v,{span:24},{default:l(()=>[e(`div`,xe,[r(N,{"current-page":f.page,"page-size":f.limit,total:f.individualApplicationsTotal,onChange:f.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var Ce=k(B,[[`render`,Se],[`__scopeId`,`data-v-d88616c5`]]);export{Ce 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-BYKfh-PA.js";import{n as k,t as A}from"./table-ib2AdEq2.js";import{n as j,t as M}from"./tabs-DoV2KN7Z.js";import{t as N}from"./card-D-4S-l7a.js";import{n as P,r as F}from"./radio-B0Elgaw9.js";import{n as I,t as L}from"./file-output-qGs9fAYj.js";import{n as R,t as z}from"./row-DjWit0Gg.js";import{t as B}from"./empty-BOBA66a-.js";import{t as V}from"./pagination-BfkJj5Bm.js";import{n as H,t as U}from"./skeleton-BVbQKb45.js";import{t as W}from"./switch-K85VuUXP.js";import{t as G}from"./boxes-C8saaSgZ.js";import{t as ne}from"./CopyToClipboard-C9i0d98d.js";import{$n as K,Ai as re,E as ie,Gr as q,Oi as J,Qn as Y,Qr as ae,Wr as oe,er as se,fr as ce,gi as X,ri as le,sr as ue,xi as de}from"./index-gQyc38bL.js";var fe=e(ce());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:J,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:de,ElTabs:j,ElTabPane:M,ElButton:re,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:q,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()||q.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===q.API?this.onFetchApiUsages(e):this.type===q.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 K.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&&K.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(){ue.getAll({limit:100,offset:0,user_id:this.$store.getters.user.id,ordering:`-created_at`,type:ae.USAGE}).then(({data:e})=>{this.applications=e.items.filter(e=>e?.service?.type===this.type)}).catch(()=>{})},onFetchApis(){this.apisLoading=!0,Y.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;K.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;se.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=`${le()}/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 K.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`},He={class:`created-at`},Ue={class:`key`},We={key:0,class:`cursor-pointer`},Ge={class:`created-at`},$={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`,He,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`,Ue,r(e.getCredentialLabel(n.row)),1),n.row.credential?.id||n.row.credential_id?(w(),o(`span`,We,[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`,Ge,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`,$,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};
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-JAczkKoE.js";import{n as k,t as A}from"./table-DFj_A2-g.js";import{n as j,t as M}from"./tabs-CPP_nWKZ.js";import{t as N}from"./card-D-4S-l7a.js";import{n as P,r as F}from"./radio-B0Elgaw9.js";import{n as I,t as L}from"./file-output-CINS0hMB.js";import{n as R,t as z}from"./row-ouqehWKH.js";import{t as B}from"./empty-BOBA66a-.js";import{t as V}from"./pagination-Bhf_oSSO.js";import{n as H,t as U}from"./skeleton-BVbQKb45.js";import{t as W}from"./switch-CAd6fRZJ.js";import{t as G}from"./boxes-Dhdth_wa.js";import{t as ne}from"./CopyToClipboard-pWp_B9NW.js";import{$n as K,Ai as re,E as ie,Gr as q,Oi as J,Qn as Y,Qr as ae,Wr as oe,er as se,fr as ce,gi as X,ri as le,sr as ue,xi as de}from"./index-BM5Tg8p0.js";var fe=e(ce());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:J,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:de,ElTabs:j,ElTabPane:M,ElButton:re,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:q,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()||q.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===q.API?this.onFetchApiUsages(e):this.type===q.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 K.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&&K.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(){ue.getAll({limit:100,offset:0,user_id:this.$store.getters.user.id,ordering:`-created_at`,type:ae.USAGE}).then(({data:e})=>{this.applications=e.items.filter(e=>e?.service?.type===this.type)}).catch(()=>{})},onFetchApis(){this.apisLoading=!0,Y.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;K.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;se.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=`${le()}/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 K.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`},He={class:`created-at`},Ue={class:`key`},We={key:0,class:`cursor-pointer`},Ge={class:`created-at`},$={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`,He,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`,Ue,r(e.getCredentialLabel(n.row)),1),n.row.credential?.id||n.row.credential_id?(w(),o(`span`,We,[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`,Ge,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`,$,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};
@@ -1,4 +1,4 @@
1
- import{r 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,at as c,j as l,mt as u,rt as d,st as f,tt as p,z as m}from"./vendor-chart-Dw-P17PN.js";import{t as ee}from"./switch-K85VuUXP.js";import{n as te,t as h}from"./shield-CmTlB1b6.js";import{t as g}from"./folder-D5ZWi_B1.js";import{t as _}from"./mouse-pointer-2-BqIo_QZv.js";import{t as v}from"./pencil-WdD5TEfG.js";import{t as y}from"./plus-CH1peoZu.js";import{t as b}from"./terminal-BYsTqGnM.js";import{t as x}from"./wand-sparkles-C1P1ca3a.js";import{Ai as S,E as C,O as w,Oi as ne,ai as T,cr as E,mi as D,ni as O,zi as k}from"./index-gQyc38bL.js";var A=D(`arrow-up-down`,[[`path`,{d:`m21 16-4 4-4-4`,key:`f6ql7i`}],[`path`,{d:`M17 20V4`,key:`1ejh1v`}],[`path`,{d:`m3 8 4-4 4 4`,key:`11wl7u`}],[`path`,{d:`M7 4v16`,key:`1glfcx`}]]),j=D(`camera`,[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`,key:`18u6gg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]),M=D(`keyboard`,[[`path`,{d:`M10 8h.01`,key:`1r9ogq`}],[`path`,{d:`M12 12h.01`,key:`1mp3jc`}],[`path`,{d:`M14 8h.01`,key:`1primd`}],[`path`,{d:`M16 12h.01`,key:`1l6xoz`}],[`path`,{d:`M18 8h.01`,key:`emo2bl`}],[`path`,{d:`M6 8h.01`,key:`x9i8wu`}],[`path`,{d:`M7 16h10`,key:`wp8him`}],[`path`,{d:`M8 12h.01`,key:`czm47f`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`,key:`18n3k1`}]]),N=D(`move`,[[`path`,{d:`M12 2v20`,key:`t6zp3m`}],[`path`,{d:`m15 19-3 3-3-3`,key:`11eu04`}],[`path`,{d:`m19 9 3 3-3 3`,key:`1mg7y2`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}],[`path`,{d:`m5 9-3 3 3 3`,key:`j64kie`}],[`path`,{d:`m9 5 3-3 3 3`,key:`l8vdw6`}]]),P=m({name:`LocalToolsSetting`,components:{AddIcon:y,ElButton:S,ElTag:ne,ElSwitch:ee,ElInput:k,FolderIcon:g,MagicIcon:x,SecurityIcon:h},data(){return{roots:[],tools:[],mcpServers:[],mcpUid:0,mcpStatuses:[],mcpBusy:null,savingMcp:!1,mcpSavedTip:!1,mcpError:``,grants:null,perm:null,computerUse:!1,computerTools:[],computerGrants:{},cuBusy:null,builtinTools:[],toolGrants:{},builtinBusy:null,savingCU:!1,preauthorizing:!1,saving:!1,savedTip:!1,a11yEnabled:!1,xhsSkill:null,xhsLoading:!1,xhsInstalling:!1,xhsError:``,onFocus:null,cuOff:null,a11yPoll:null,refreshingA11y:!1}},computed:{desktop(){return!!w()},android(){return T()},canInstallXhs(){return this.a11yEnabled&&this.computerUse}},async mounted(){let e=w();if(!e)return;let t=await e.getConfig();this.roots=t.roots,this.computerUse=t.computerUse===!0,this.mcpServers=(t.mcp??[]).map(e=>({_uid:this.mcpUid++,id:e.id,command:e.command,argsText:(e.args??[]).join(`
1
+ import{r 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,at as c,j as l,mt as u,rt as d,st as f,tt as p,z as m}from"./vendor-chart-Dw-P17PN.js";import{t as ee}from"./switch-CAd6fRZJ.js";import{n as te,t as h}from"./shield-Dy8si1Tq.js";import{t as g}from"./folder-BQyAdIfQ.js";import{t as _}from"./mouse-pointer-2-CQycZOau.js";import{t as v}from"./pencil-YYN-iEiB.js";import{t as y}from"./plus-C9H77XrD.js";import{t as b}from"./terminal-B2Gv1AkB.js";import{t as x}from"./wand-sparkles-DRXZGtxG.js";import{Ai as S,E as C,O as w,Oi as ne,ai as T,cr as E,mi as D,ni as O,zi as k}from"./index-BM5Tg8p0.js";var A=D(`arrow-up-down`,[[`path`,{d:`m21 16-4 4-4-4`,key:`f6ql7i`}],[`path`,{d:`M17 20V4`,key:`1ejh1v`}],[`path`,{d:`m3 8 4-4 4 4`,key:`11wl7u`}],[`path`,{d:`M7 4v16`,key:`1glfcx`}]]),j=D(`camera`,[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`,key:`18u6gg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]),M=D(`keyboard`,[[`path`,{d:`M10 8h.01`,key:`1r9ogq`}],[`path`,{d:`M12 12h.01`,key:`1mp3jc`}],[`path`,{d:`M14 8h.01`,key:`1primd`}],[`path`,{d:`M16 12h.01`,key:`1l6xoz`}],[`path`,{d:`M18 8h.01`,key:`emo2bl`}],[`path`,{d:`M6 8h.01`,key:`x9i8wu`}],[`path`,{d:`M7 16h10`,key:`wp8him`}],[`path`,{d:`M8 12h.01`,key:`czm47f`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`,key:`18n3k1`}]]),N=D(`move`,[[`path`,{d:`M12 2v20`,key:`t6zp3m`}],[`path`,{d:`m15 19-3 3-3-3`,key:`11eu04`}],[`path`,{d:`m19 9 3 3-3 3`,key:`1mg7y2`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}],[`path`,{d:`m5 9-3 3 3 3`,key:`j64kie`}],[`path`,{d:`m9 5 3-3 3 3`,key:`l8vdw6`}]]),P=m({name:`LocalToolsSetting`,components:{AddIcon:y,ElButton:S,ElTag:ne,ElSwitch:ee,ElInput:k,FolderIcon:g,MagicIcon:x,SecurityIcon:h},data(){return{roots:[],tools:[],mcpServers:[],mcpUid:0,mcpStatuses:[],mcpBusy:null,savingMcp:!1,mcpSavedTip:!1,mcpError:``,grants:null,perm:null,computerUse:!1,computerTools:[],computerGrants:{},cuBusy:null,builtinTools:[],toolGrants:{},builtinBusy:null,savingCU:!1,preauthorizing:!1,saving:!1,savedTip:!1,a11yEnabled:!1,xhsSkill:null,xhsLoading:!1,xhsInstalling:!1,xhsError:``,onFocus:null,cuOff:null,a11yPoll:null,refreshingA11y:!1}},computed:{desktop(){return!!w()},android(){return T()},canInstallXhs(){return this.a11yEnabled&&this.computerUse}},async mounted(){let e=w();if(!e)return;let t=await e.getConfig();this.roots=t.roots,this.computerUse=t.computerUse===!0,this.mcpServers=(t.mcp??[]).map(e=>({_uid:this.mcpUid++,id:e.id,command:e.command,argsText:(e.args??[]).join(`
2
2
  `),envText:Object.entries(e.env??{}).map(([e,t])=>`${e}=${t}`).join(`
3
3
  `),enabled:e.enabled!==!1})),this.mcpStatuses=await e.mcp?.status()??[],this.tools=(await e.listTools()).map(e=>e.name),this.computerTools=await e.computerTools?.()??[],this.builtinTools=await e.builtinTools?.()??[];let n=await e.perm?.status();n?.mac&&(this.perm=n),await this.loadGrants(),this.android&&(await this.refreshA11y(),this.fetchXhsSkill(),this.onFocus=()=>{document.visibilityState===`visible`&&this.refreshA11y()},document.addEventListener(`visibilitychange`,this.onFocus),this.a11yPoll=window.setInterval(()=>{document.visibilityState===`visible`&&this.refreshA11y()},3e3)),this.cuOff=e.onComputerUseDisabled?.(()=>{this.computerUse=!1})??null},beforeUnmount(){this.cuOff?.(),this.onFocus&&document.removeEventListener(`visibilitychange`,this.onFocus),this.a11yPoll&&clearInterval(this.a11yPoll)},methods:{async refreshA11y(){if(!this.refreshingA11y){this.refreshingA11y=!0;try{let e=await w()?.perm?.status();this.a11yEnabled=e?.accessibility===!0}finally{this.refreshingA11y=!1}}},async openAndroidAccessibility(){await w()?.perm?.openPane(`accessibility`)},async fetchXhsSkill(){this.xhsLoading=!0,this.xhsError=``;try{let e=await E.get(`/skills/`,{baseURL:`${O()}/api/v1`,params:{q:`xhs-dm`,limit:10}}),t=Array.isArray(e.data?.items)?e.data.items:[];this.xhsSkill=t.find(e=>e.identifier?.endsWith(`/xhs-dm`))??null}catch(e){console.warn(`[LocalTools] fetch xhs skill failed`,e),this.xhsSkill=null,this.xhsError=this.$t(`common.settings.localToolsAndroidSkillsLoadFailed`)}finally{this.xhsLoading=!1}},async installXhs(){let e=this.xhsSkill;if(!(!e||e.installed)){this.xhsInstalling=!0,this.xhsError=``;try{await E.post(`/skills/${e.id}/install/`,{},{baseURL:`${O()}/api/v1`}),e.installed=!0}catch(t){t?.response?.status===409?e.installed=!0:this.xhsError=this.$t(`common.settings.localToolsAndroidSkillsInstallFailed`)}finally{this.xhsInstalling=!1}}},async loadGrants(){let e=w();if(!e?.grants){this.grants=null;return}let t=await e.grants.list(),n={},r={},i=new Set(this.builtinTools.map(e=>e.name)),a=[];for(let e of t){if(e.startsWith(`computer.`)&&!e.includes(`:`)){n[e]=!0;continue}if(!e.includes(`:`)&&i.has(e)){r[e]=!0;continue}let t=e.indexOf(`:{`),o=t>=0?t:e.indexOf(`:`);a.push({key:e,name:o>=0?e.slice(0,o):e,input:o>=0?e.slice(o+1):``})}this.computerGrants=n,this.toolGrants=r,this.grants=a},async addFolder(){let e=await w()?.pickFolder();e&&!this.roots.includes(e)&&this.roots.push(e)},removeRoot(e){this.roots.splice(e,1)},addMcp(){this.mcpServers.push({_uid:this.mcpUid++,id:``,command:``,argsText:``,envText:``,enabled:!0})},removeMcp(e){this.mcpServers.splice(e,1)},mcpStatusFor(e){let t=e.trim();return this.mcpStatuses.find(e=>e.id===t)},mcpBadgeType(e){let t=this.mcpStatusFor(e)?.status;return t===`connected`?`success`:t===`failed`?`danger`:`info`},mcpBadgeText(e){let t=this.mcpStatusFor(e);return this.mcpBusy===e.trim()?this.$t(`common.settings.localToolsMcpConnecting`):t?t.status===`connected`?this.$t(`common.settings.localToolsMcpConnected`,{n:t.toolCount}):t.status===`disabled`?this.$t(`common.settings.localToolsMcpDisabled`):this.$t(`common.settings.localToolsMcpFailed`):this.$t(`common.settings.localToolsMcpNotSaved`)},mcpErrorFor(e){let t=this.mcpStatusFor(e);return t?.status===`failed`&&t.error?t.error:``},buildMcpPayload(){this.mcpError=``;let e=[],t=new Set;for(let n of this.mcpServers){let r=n.id.trim(),i=n.command.trim();if(!r||!i)return this.mcpError=this.$t(`common.settings.localToolsMcpNameRequired`),null;if(!/^[A-Za-z0-9_-]+$/.test(r))return this.mcpError=this.$t(`common.settings.localToolsMcpNameInvalid`),null;if(t.has(r))return this.mcpError=this.$t(`common.settings.localToolsMcpDuplicateName`),null;t.add(r);let a=n.argsText.split(`
4
4
  `).map(e=>e.trim()).filter(Boolean),o={};for(let e of n.envText.split(`