@acedatacloud/nexior 3.323.14 → 3.323.16

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 (186) hide show
  1. package/dist/assets/{ApiCodeButton-pfKsJNZZ.js → ApiCodeButton-CaIcHJ9f.js} +1 -1
  2. package/dist/assets/{Artifacts-Ci1Khfiw.js → Artifacts-t-P7lKOg.js} +1 -1
  3. package/dist/assets/{AskUserQuestionCard-CiWqE8qC.js → AskUserQuestionCard-BJrPLhI7.js} +1 -1
  4. package/dist/assets/{Auth-CfgNbLBS.js → Auth-DJIPytpw.js} +1 -1
  5. package/dist/assets/{Bare-DwjxC7ZH.js → Bare-8k2YVN9I.js} +1 -1
  6. package/dist/assets/{BotPlaceholder-CyFXcwit.js → BotPlaceholder-C0NPiQ9N.js} +1 -1
  7. package/dist/assets/{BottomFooter-nalihld9.js → BottomFooter-D4zrp2OX.js} +1 -1
  8. package/dist/assets/{Callback-Pnd_BeZi.js → Callback-w7I4SM9d.js} +1 -1
  9. package/dist/assets/{CodeSnippet-VcBSUMeU.js → CodeSnippet-BiF0yIp-.js} +1 -1
  10. package/dist/assets/{Console-Dt2k5LsL.js → Console-20yYSwvp.js} +1 -1
  11. package/dist/assets/{Consumption-DVyH1F-a.js → Consumption-CU_hhuLV.js} +1 -1
  12. package/dist/assets/Conversation-CBEQYe_0.js +1 -0
  13. package/dist/assets/{Conversation-amrm1aja.js → Conversation-DvESLxHu.js} +1 -1
  14. package/dist/assets/{CopyToClipboard-BGEXbDuO.js → CopyToClipboard-DZ6-YXIv.js} +1 -1
  15. package/dist/assets/{Detail-CLKjKqOa.js → Detail-C7X9r0uG.js} +2 -2
  16. package/dist/assets/{Extra-dCiuMPff.js → Extra-DNVY4v7W.js} +1 -1
  17. package/dist/assets/{FilePreview-CFx0v6pV.js → FilePreview-hfJMOpR3.js} +1 -1
  18. package/dist/assets/{Hailuo-BZniFsuU.js → Hailuo-C8wydj8u.js} +1 -1
  19. package/dist/assets/{History-DS17t5ge.js → History-Dl2noroP.js} +1 -1
  20. package/dist/assets/{ImagePreview-B-atW8LF.js → ImagePreview-D56Nkl8z.js} +1 -1
  21. package/dist/assets/{ImageWrapper-CLP5b05D.js → ImageWrapper-QVTFnjTr.js} +1 -1
  22. package/dist/assets/{Index-BKIvB5Mq.js → Index-7pYjBcPe.js} +1 -1
  23. package/dist/assets/{Index-5zsrNfXZ.js → Index-8ApskUCt.js} +1 -1
  24. package/dist/assets/{Index-CoYtwrUw.js → Index-BB0Dvmyn.js} +1 -1
  25. package/dist/assets/{Index-BD-I3QIs.js → Index-Bv_4Fh06.js} +1 -1
  26. package/dist/assets/{Index-CK1PSVV5.js → Index-CBkcfnaH.js} +1 -1
  27. package/dist/assets/{Index-CA4aU_QO.js → Index-CG25UevT.js} +1 -1
  28. package/dist/assets/{Index-DS9ZOz2b.js → Index-CHc2P7PB.js} +1 -1
  29. package/dist/assets/{Index-DOtUSWaY.js → Index-CIWJw9WU.js} +1 -1
  30. package/dist/assets/{Index-CANkM7p_.js → Index-CIia9qw3.js} +1 -1
  31. package/dist/assets/{Index-B6XriR2k.js → Index-CSiY20oI.js} +1 -1
  32. package/dist/assets/Index-CTDy486q.js +1 -0
  33. package/dist/assets/{Index-DxLW-CRN.js → Index-CXNatgkd.js} +1 -1
  34. package/dist/assets/{Index-CaHr9J7W.js → Index-CbF5OaIQ.js} +1 -1
  35. package/dist/assets/{Index-CfT-n799.css → Index-CfDpUO3a.css} +1 -1
  36. package/dist/assets/{Index-tSpoTI0K.js → Index-CfnMOrE-.js} +1 -1
  37. package/dist/assets/{Index-DT4XV-GM.js → Index-ClQr9s5n.js} +1 -1
  38. package/dist/assets/{Index-D40icBoQ.js → Index-CuhDZ7LK.js} +1 -1
  39. package/dist/assets/{Index-Baux7IkJ.js → Index-D1xzQw9C.js} +1 -1
  40. package/dist/assets/{Index-DnlzThpU.js → Index-D6V54uE3.js} +1 -1
  41. package/dist/assets/{Index-Cb8pcb0B.js → Index-D8XOGXA-.js} +1 -1
  42. package/dist/assets/{Index-BU0DYCAn.js → Index-DZYm4mb-.js} +1 -1
  43. package/dist/assets/{Index-mGscnFtS.js → Index-DivVh14z.js} +1 -1
  44. package/dist/assets/Index-Dl0w5Jp9.js +1 -0
  45. package/dist/assets/{Index-Bu9B5Er-.js → Index-Dnd52NQc.js} +1 -1
  46. package/dist/assets/{Index-BYJZ7FOU.js → Index-DoBa67gC.js} +1 -1
  47. package/dist/assets/{Index-DU6KZRax.js → Index-JwKu9NC4.js} +1 -1
  48. package/dist/assets/Index-KB5wueDf.js +1 -0
  49. package/dist/assets/{Index-D2mIV-7n.js → Index-P3a9Vl5h.js} +1 -1
  50. package/dist/assets/{Index-DnA9dxJ5.js → Index-d77x1-dv.js} +1 -1
  51. package/dist/assets/{Invitees-DP3MWoaD.js → Invitees-BmtKKft3.js} +1 -1
  52. package/dist/assets/{List-cNNeZRh3.js → List-l1EPrlJ8.js} +1 -1
  53. package/dist/assets/{List-5o8G8JDI.js → List-mee4RlK6.js} +1 -1
  54. package/dist/assets/List-qpk1Ehzh.js +1 -0
  55. package/dist/assets/{LocalTools-Cg_TWfrH.js → LocalTools-CBx1lVqj.js} +3 -3
  56. package/dist/assets/{LocalTools-soqFPsmU.js → LocalTools-Dv8sTj5B.js} +1 -1
  57. package/dist/assets/{Main-Dz5lWEl2.js → Main-Bk4iVUbz.js} +1 -1
  58. package/dist/assets/{Message-COD1mztd.js → Message-CB4aZTfk.js} +2 -2
  59. package/dist/assets/{Model-BFtMlmHj.js → Model-DR3Zhltv.js} +1 -1
  60. package/dist/assets/{Navigator-B6FWu3mL.css → Navigator-CnuxN_BA.css} +1 -1
  61. package/dist/assets/Navigator-W0uYglHe.js +5 -0
  62. package/dist/assets/{NoTasks-CnTLKG-9.js → NoTasks-KxJ5A3S2.js} +1 -1
  63. package/dist/assets/{NotFound-CGoS0hg7.js → NotFound-Bg9p0OO0.js} +1 -1
  64. package/dist/assets/{Pagination-DmE-meAq.js → Pagination-BWZ0nvPX.js} +1 -1
  65. package/dist/assets/{Pay-C86R4L7v.js → Pay-TMzqpPTl.js} +1 -1
  66. package/dist/assets/{Player-Bhl6QGyN.js → Player-DVZz2UOx.js} +1 -1
  67. package/dist/assets/{PromptTextarea-B33JPhld.js → PromptTextarea-CXd3fQrx.js} +1 -1
  68. package/dist/assets/{RealtimeCall-D35ZWJ7t.js → RealtimeCall-BAQmm0mq.js} +1 -1
  69. package/dist/assets/{ScheduledTasks-DSdfr_lz.js → ScheduledTasks-qkvsPdR9.js} +2 -2
  70. package/dist/assets/Status-Dq-4RBG1.js +1 -0
  71. package/dist/assets/{Subscribe-IivuXowW.js → Subscribe-C5MYwh8s.js} +1 -1
  72. package/dist/assets/{TabSwitcher-M3CV3X_W.js → TabSwitcher-DES7d5sv.js} +1 -1
  73. package/dist/assets/{Tts-DBjFSepm.js → Tts-BKE4q4Qx.js} +1 -1
  74. package/dist/assets/{VideoPlayer-DAV2c0fL.js → VideoPlayer-BJ_ZNZAj.js} +1 -1
  75. package/dist/assets/{VideoPreview-pp6ZKUSM.js → VideoPreview-YRmTLBeg.js} +1 -1
  76. package/dist/assets/{alert-Bn1GWYU-.js → alert-BY_erHX-.js} +1 -1
  77. package/dist/assets/avatar-BClXyHsF.js +1 -0
  78. package/dist/assets/{basic-_7wqOqkn.js → basic-eul0skZr.js} +1 -1
  79. package/dist/assets/chat-D_XlB67H.js +1 -0
  80. package/dist/assets/codingBridge-Bkly1qP8.js +2 -0
  81. package/dist/assets/{codingBridgeNotify-6LrEbLpv.js → codingBridgeNotify-BEbnK7Di.js} +2 -2
  82. package/dist/assets/{collapse-Cd51Uv_A.js → collapse-D4jKdGjA.js} +1 -1
  83. package/dist/assets/{common-D9XZjgvR.js → common--4Z2VGWs.js} +1 -1
  84. package/dist/assets/{common-DqPT9Hws.js → common-B_o9cFRe.js} +1 -1
  85. package/dist/assets/common-BvDpTrey.js +1 -0
  86. package/dist/assets/{common-DYLARtvB.js → common-BzP1yref.js} +1 -1
  87. package/dist/assets/{common-DizI3ht6.js → common-C12HFaVn.js} +1 -1
  88. package/dist/assets/{common-BEQ0vf2x.js → common-C3rjVhu5.js} +1 -1
  89. package/dist/assets/common-CGfWhsCX.js +1 -0
  90. package/dist/assets/{common-BfhEoKMN.js → common-CLfOrtIX.js} +1 -1
  91. package/dist/assets/{common-COePTJGZ.js → common-CQMO8G1r.js} +1 -1
  92. package/dist/assets/{common-B8lL-2On.js → common-CogeLhea.js} +1 -1
  93. package/dist/assets/{common-C5EEoeOt.js → common-D9OaD2M-.js} +1 -1
  94. package/dist/assets/common-DbCSzQmZ.js +1 -0
  95. package/dist/assets/{common-0e2JJJVf.js → common-DnJRUxvp.js} +1 -1
  96. package/dist/assets/{common-M0wzqrn3.js → common-GED56X7i.js} +1 -1
  97. package/dist/assets/{common-D79GLmfj.js → common-QnDiEIyS.js} +1 -1
  98. package/dist/assets/{common-CVqlX9SA.js → common-sgyG3VrN.js} +1 -1
  99. package/dist/assets/{common-lVgIe26p.js → common-uxdFbpaQ.js} +1 -1
  100. package/dist/assets/{common-CD592VYU.js → common-yjNyeSDP.js} +1 -1
  101. package/dist/assets/constants-C_0AQxlJ.js +1 -0
  102. package/dist/assets/{createTaskActions-BBX8Sijt.js → createTaskActions-CB3sUD2z.js} +1 -1
  103. package/dist/assets/{date-picker-DHna13-C.js → date-picker-BLgQdZUY.js} +1 -1
  104. package/dist/assets/{digitalhuman-CNwE-y8X.js → digitalhuman-BPLaMCpC.js} +1 -1
  105. package/dist/assets/{drawer-C_TXaJGS.js → drawer-DsOtFG7V.js} +1 -1
  106. package/dist/assets/{dropdown-COmRDKl-.js → dropdown-BJtiiJfr.js} +1 -1
  107. package/dist/assets/{dropdown-DJZ5PzHs.js → dropdown-Bj3-Td4Y.js} +1 -1
  108. package/dist/assets/{esm-CAudveQO.js → esm-B3yrwAt2.js} +1 -1
  109. package/dist/assets/{esm-CRcWhpHf.js → esm-CJfs1ZN5.js} +1 -1
  110. package/dist/assets/{esm-dHNpID91.js → esm-ChMYqOB7.js} +3 -3
  111. package/dist/assets/esm-DnZkXGRu.js +1 -0
  112. package/dist/assets/{esm-j3aMEWWT.js → esm-OIdV4_C9.js} +2 -2
  113. package/dist/assets/{esm-CP6TlPCx.js → esm-Yi1uHudw.js} +1 -1
  114. package/dist/assets/{esm-BcN3t0Pj.js → esm-qZojyw7q.js} +2 -2
  115. package/dist/assets/{fish-d4xPEdUG.js → fish-DenjZngH.js} +1 -1
  116. package/dist/assets/{flux-B6zYuzu5.js → flux-BszBng8t.js} +1 -1
  117. package/dist/assets/{grokvideo-tmJZj-Uw.js → grokvideo-DulFyaem.js} +1 -1
  118. package/dist/assets/{hailuo-CzjU35AU.js → hailuo-CpHgpR5I.js} +1 -1
  119. package/dist/assets/{headshots-hGQR_suQ.js → headshots-CXsPP-x0.js} +1 -1
  120. package/dist/assets/{i18n-D30XPNJa.js → i18n-BDcKGBC0.js} +1 -1
  121. package/dist/assets/image-DlaqC3Db.js +1 -0
  122. package/dist/assets/{index-Bp_B3yTD.js → index-JPaGsFn1.js} +16 -16
  123. package/dist/assets/{index.browser.esm-_DyZkoTA.js → index.browser.esm-BGiXQsvq.js} +1 -1
  124. package/dist/assets/{index.es-ByeT4YNA.js → index.es-Ck9omA8E.js} +1 -1
  125. package/dist/assets/{input-number-UEFRIWEQ.js → input-number-iR6Wuxmd.js} +1 -1
  126. package/dist/assets/{kling-DKrYWlHm.js → kling-9zzAbgno.js} +1 -1
  127. package/dist/assets/{luma-85F13prE.js → luma-BpQtIyjI.js} +1 -1
  128. package/dist/assets/{maestro-CIh24u5u.js → maestro-BwfP7pe1.js} +1 -1
  129. package/dist/assets/{midjourney-D9V5KNwo.js → midjourney-re9mDKgi.js} +1 -1
  130. package/dist/assets/{mobileLocalExec-DAoQrKLZ.js → mobileLocalExec-DROVam9y.js} +2 -2
  131. package/dist/assets/{nanobanana-jsu2-YHY.js → nanobanana-BxA_K91N.js} +1 -1
  132. package/dist/assets/{openaiimage-BLZG2bwv.js → openaiimage-BHRTGlUd.js} +1 -1
  133. package/dist/assets/{pagination-BSspsPVx.js → pagination-BjJhKMHq.js} +1 -1
  134. package/dist/assets/{sora-BPSsIw3c.js → pika-DCKkvmqs.js} +1 -1
  135. package/dist/assets/pixverse-wrkxKyrL.js +1 -0
  136. package/dist/assets/{popover-UEh72hbz.js → popover-Di_sX4S7.js} +1 -1
  137. package/dist/assets/{producer-DWyLPoJK.js → producer-CqguTKfY.js} +1 -1
  138. package/dist/assets/{veo-BcQoFy8s.js → qrart-CY_pvrBc.js} +1 -1
  139. package/dist/assets/realtime-BVzhmdwY.js +1 -0
  140. package/dist/assets/{row-sXC_s7-2.js → row-CZtjBNBf.js} +1 -1
  141. package/dist/assets/{seedance-C7yZ58Ui.js → seedance-cty2FHNa.js} +1 -1
  142. package/dist/assets/seedream-ZtsoMyTU.js +1 -0
  143. package/dist/assets/{select-DKNHU_KN.js → select-CtBC9gTE.js} +1 -1
  144. package/dist/assets/serp-DIHf_Kic.js +1 -0
  145. package/dist/assets/{slider-BbR9kUdk.js → slider-CNbj_xKC.js} +1 -1
  146. package/dist/assets/{solana-wallets-BQYKVwIp.js → solana-wallets-CigrdpQz.js} +2 -2
  147. package/dist/assets/{solana-wallets-vue-B69fC2Iu.js → solana-wallets-vue-CkK9vBuK.js} +1 -1
  148. package/dist/assets/{pika-DhvsKBet.js → sora-CJCzHM8t.js} +1 -1
  149. package/dist/assets/{suno-Dze_dMz_.js → suno-Bl6tldSy.js} +1 -1
  150. package/dist/assets/{switch-BR4-pbXw.js → switch-B3GdCHGI.js} +1 -1
  151. package/dist/assets/{table-CkM94t0i.js → table-CLyL-qNe.js} +1 -1
  152. package/dist/assets/{tabs-BVwtsmHU.js → tabs-B5wzGUad.js} +1 -1
  153. package/dist/assets/{time-picker-DxnRv3BO.js → time-picker-BEkA-kBm.js} +1 -1
  154. package/dist/assets/{tooltip-tldVVG8C.js → tooltip-CK8naq8x.js} +1 -1
  155. package/dist/assets/{upload-BySO5bAt.js → upload-CWdMnBk8.js} +1 -1
  156. package/dist/assets/{qrart-B-q17PcJ.js → veo-XS2PibTo.js} +1 -1
  157. package/dist/assets/{wan-X5pn5XAC.js → wan-_uAYaDce.js} +1 -1
  158. package/dist/assets/{web-B75PNq3r.js → web-BzwatAvu.js} +1 -1
  159. package/dist/assets/{web-BksGQ8X5.js → web-CC7hA55G.js} +1 -1
  160. package/dist/assets/{web-B43tlly-.js → web-C_04Q_wE.js} +1 -1
  161. package/dist/assets/{web-Dl72GOwV.js → web-ChlYdIdF.js} +1 -1
  162. package/dist/assets/{web-dDmq_eKJ.js → web-DRiNWhnx.js} +1 -1
  163. package/dist/assets/webextrator-C4wnWsWL.js +1 -0
  164. package/dist/index.html +3 -3
  165. package/package.json +1 -1
  166. package/dist/assets/Conversation-D-1XY09I.js +0 -1
  167. package/dist/assets/Index-C0Vm0wh7.js +0 -1
  168. package/dist/assets/Index-D1N9chUS.js +0 -1
  169. package/dist/assets/Index-DMXAPTR9.js +0 -1
  170. package/dist/assets/List-Dx1ehErY.js +0 -1
  171. package/dist/assets/Navigator-BoWwtF88.js +0 -5
  172. package/dist/assets/Status-NRF5j92V.js +0 -1
  173. package/dist/assets/avatar-akx5PFIy.js +0 -1
  174. package/dist/assets/chat-BAcjYcpj.js +0 -1
  175. package/dist/assets/codingBridge-Bii85JsI.js +0 -2
  176. package/dist/assets/common-B8UjzAf1.js +0 -1
  177. package/dist/assets/common-Cp7AV_ud.js +0 -1
  178. package/dist/assets/common-DJzFNW-V.js +0 -1
  179. package/dist/assets/constants-BvFmtK59.js +0 -1
  180. package/dist/assets/esm-BOArQhAJ.js +0 -1
  181. package/dist/assets/image-B4fW-Em5.js +0 -1
  182. package/dist/assets/pixverse-D2SyxzxL.js +0 -1
  183. package/dist/assets/realtime-Dt3j4OMa.js +0 -1
  184. package/dist/assets/seedream-BIeEEww0.js +0 -1
  185. package/dist/assets/serp-BvZPfS8w.js +0 -1
  186. package/dist/assets/webextrator-Da_TaKYD.js +0 -1
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,S as c,T as l,at as u,b as d,ht as f,it as p,j as m,mt as h,qt as g,rt as _,tt as v,x as y,z as b}from"./vendor-chart-Dw-P17PN.js";import{t as x}from"./upload-BySO5bAt.js";import{t as S}from"./tooltip-tldVVG8C.js";import{t as C}from"./drawer-C_TXaJGS.js";import{n as w,r as T,t as E}from"./dropdown-DJZ5PzHs.js";import{t as D}from"./skeleton-CoheJz5x.js";import{t as O}from"./vendor-axios-Ck2ffRoh.js";import{Ai as k,Ei as ee,Mi as A,Ni as j,Oi as te,Pi as ne,Ui as M,Wi as N,ji as re,ki as P,la as ie,oa as F,ra as ae}from"./constants-BvFmtK59.js";import{$t as I,A as L,Ci as R,Jt as oe,Kr as z,L as se,M as B,P as ce,Qt as V,R as le,Ur as H,Ut as ue,Vt as de,Xn as U,dn as fe,fn as pe,jr as me,mi as W,nn as G,oi as K,ri as q,ti as J,zr as Y,zt as he}from"./index-Bp_B3yTD.js";import{t as X}from"./index.es-ByeT4YNA.js";import{n as ge,r as _e,t as ve}from"./Message-COD1mztd.js";import{t as ye}from"./FilePreview-CFx0v6pV.js";import{t as be}from"./ImagePreview-B-atW8LF.js";var xe=b({name:`Composer`,components:{FilePreview:ye,ImagePreview:be,ElTooltip:S,FontAwesomeIcon:X,ElUpload:x,ElButton:W,ElDropdown:E,ElDropdownMenu:T,ElDropdownItem:w},mixins:[ue,de],props:{answering:{type:Boolean,required:!1,default:!1},ready:{type:Boolean,required:!1,default:!0},references:{type:Array,required:!1,default:()=>[]},question:{type:String,required:!0}},emits:[`update:question`,`update:references`,`submit`,`stop`],data(){return{inputHeight:`35px`,questionValue:this.question||``,fileList:[],uploadUrl:z()+`/api/v1/files/`}},computed:{model(){return this.$store.state.chat.model},modelGroup(){return this.$store.state.chat.modelGroup},isVoiceCallSupported(){return this.modelGroup?.isVoiceCallSupported??!1},isFileSupported(){return this.model?.isFileSupported},isImageSupported(){return this.model?.isImageSupported},headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},refs(){let e=[];for(let t of this.fileList){let n=t?.response?.file_url;n&&e.push(t?.name?{url:n,name:t.name}:{url:n})}return e},uploading(){return this.fileList.some(e=>e.status===`ready`||e.status===`uploading`)},extensions(){if(this.isFileSupported===!1&&this.isImageSupported===!0)return`.png,.jpg,.jpeg,.gif,.bmp,.webp,.svg,.tiff,.ico,.heic`},pasteAccept(){return`.png,.jpg,.jpeg,.gif,.bmp,.webp,.svg,.tiff,.ico,.heic,image/*`}},watch:{refs(e){console.debug(`References:`,e),e.length>0&&this.$emit(`update:references`,e)},questionValue(e){this.$emit(`update:question`,e.trim())},question(e){e!==this.questionValue&&(this.questionValue=e)},references(e){console.debug(`References updated:`,e),e.length===0&&(this.fileList=[])},isFileSupported(e,t){t&&!e&&(this.fileList=[])}},methods:{isImageUrl:G,onStartCall(){this.$router.push({name:ce})},adjustTextareaHeight(){this.$nextTick(()=>{let e=this.$refs.textarea;e&&(e.style.height=`35px`,e.style.height=e.scrollHeight+`px`)})},onSubmit(){!this.question||this.uploading||!this.ready||this.$emit(`submit`)},onEnterKey(e){e.isComposing||e.keyCode===229||(e.preventDefault(),this.onSubmit())},onStop(){this.$emit(`stop`)},onProgress(e,t){console.debug(`File upload progress:`,t.name,e.loaded,e.total,t.percentage)},onExceed(){q.warning(this.$t(`chat.message.uploadReferencesExceed`))},onError(){q.error(this.$t(`chat.message.uploadReferencesError`))},onTriggerUpload(){!this.isFileSupported&&!this.isImageSupported||this.answering||this.$nextTick(()=>{let e=this.$refs.uploader?.$el;(e?.querySelector(`input.el-upload__input`)||e?.querySelector(`input[type="file"]`))?.click()})},onOpenSkills(){window.open(V(`https://auth.acedata.cloud/user/skills`),`_blank`,`noopener`)},onOpenConnections(){window.open(V(`https://auth.acedata.cloud/user/connections`),`_blank`,`noopener`)}}}),Se={class:`composer`},Ce={ref:`uploadTrigger`,class:`upload-trigger`,"aria-hidden":`true`},we={key:0,class:`file-previews`},Te=[`disabled`,`placeholder`],Ee={class:`tools`},De={class:`btn-plus-trigger`},Oe=[`aria-disabled`];function ke(r,p,b,x,S,C){let w=u(`el-upload`),T=u(`image-preview`),E=u(`file-preview`),D=u(`font-awesome-icon`),O=u(`el-tooltip`),k=u(`el-dropdown-item`),ee=u(`el-dropdown-menu`),A=u(`el-dropdown`),j=u(`el-button`);return v(),s(`div`,Se,[a(w,{ref:`uploader`,"file-list":r.fileList,"onUpdate:fileList":p[0]||=e=>r.fileList=e,class:`upload-hidden`,accept:r.extensions,disabled:!r.isFileSupported&&!r.isImageSupported||r.answering,name:`file`,limit:10,multiple:!0,action:r.uploadUrl,"show-file-list":!1,"on-exceed":r.onExceed,"on-error":r.onError,"on-progress":r.onProgress,headers:r.headers},{default:h(()=>[e(`span`,Ce,null,512)]),_:1},8,[`file-list`,`accept`,`disabled`,`action`,`on-exceed`,`on-error`,`on-progress`,`headers`]),r.fileList.length>0?(v(),s(`div`,we,[(v(!0),s(l,null,_(r.fileList,e=>(v(),s(l,{key:e.uid},[r.isImageUrl(e.name)?(v(),m(T,{key:0,url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:t=>r.fileList.splice(r.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):(v(),m(E,{key:1,name:e.name,percentage:e.percentage,onRemove:t=>r.fileList.splice(r.fileList.indexOf(e),1)},null,8,[`name`,`percentage`,`onRemove`]))],64))),128))])):o(``,!0),f(e(`textarea`,{ref:`textarea`,"onUpdate:modelValue":p[1]||=e=>r.questionValue=e,disabled:r.answering,class:`input`,placeholder:r.$t(`chat.message.newMessagePlaceholder`),style:g({height:r.inputHeight}),onKeydown:p[2]||=c(t((...e)=>r.onEnterKey&&r.onEnterKey(...e),[`exact`]),[`enter`]),onInput:p[3]||=(...e)=>r.adjustTextareaHeight&&r.adjustTextareaHeight(...e)},null,44,Te),[[d,r.questionValue]]),e(`div`,Ee,[a(A,{trigger:`click`,placement:`top-start`,"hide-on-click":!0,"popper-class":`composer-plus-popper`},{dropdown:h(()=>[a(ee,null,{default:h(()=>[a(k,{disabled:!r.isFileSupported&&!r.isImageSupported||r.answering,onClick:r.onTriggerUpload},{default:h(()=>[a(D,{icon:`fa-regular fa-file-alt`,class:`menu-icon`}),e(`span`,null,i(r.$t(`chat.composer.addFiles`)),1)]),_:1},8,[`disabled`,`onClick`]),a(k,{onClick:r.onOpenSkills},{default:h(()=>[a(D,{icon:`fa-solid fa-wand-magic-sparkles`,class:`menu-icon`}),e(`span`,null,i(r.$t(`chat.composer.skills`)),1),a(D,{icon:`fa-solid fa-up-right-from-square`,class:`menu-external`})]),_:1},8,[`onClick`]),a(k,{onClick:r.onOpenConnections},{default:h(()=>[a(D,{icon:`fa-solid fa-plug`,class:`menu-icon`}),e(`span`,null,i(r.$t(`chat.composer.connections`)),1),a(D,{icon:`fa-solid fa-up-right-from-square`,class:`menu-external`})]),_:1},8,[`onClick`])]),_:1})]),default:h(()=>[e(`span`,De,[a(O,{class:`box-item`,effect:`dark`,content:r.$t(`chat.composer.addAction`),placement:`top`},{default:h(()=>[e(`span`,{class:n({btn:!0,"btn-plus":!0,disabled:r.answering}),"aria-disabled":r.answering,role:`button`},[a(D,{icon:`fa-solid fa-plus`,class:`icon icon-plus`})],10,Oe)]),_:1},8,[`content`])])]),_:1}),r.isVoiceCallSupported?(v(),m(O,{key:0,class:`box-item`,effect:`dark`,content:r.$t(`realtime.callTooltip`),placement:`top`},{default:h(()=>[e(`span`,{class:n({btn:!0,"btn-voice":!0}),role:`button`,onClick:p[4]||=(...e)=>r.onStartCall&&r.onStartCall(...e)},[a(D,{icon:`fa-solid fa-microphone`,class:`icon icon-voice`})])]),_:1},8,[`content`])):o(``,!0)]),a(j,{disabled:r.answering||!r.questionValue||r.uploading||!r.ready,type:`primary`,class:n({btn:!0,"btn-send":!0}),onClick:r.onSubmit},{default:h(()=>[a(D,{icon:`fa-solid fa-arrow-up`,class:`icon icon-send`})]),_:1},8,[`disabled`,`onClick`]),f(a(j,{disabled:!r.answering,type:`primary`,class:n({btn:!0,"btn-stop":!0}),onClick:r.onStop},{default:h(()=>[a(D,{icon:`fa-solid fa-stop`,class:`icon icon-stop`})]),_:1},8,[`disabled`,`onClick`]),[[y,r.answering]])])}var Ae=L(xe,[[`render`,ke],[`__scopeId`,`data-v-b779be71`]]),je=b({name:`ModelSelector`,components:{ElDropdown:E,ElDropdownMenu:T,ElDropdownItem:w,FontAwesomeIcon:X},emits:[`update:modelValue`,`select`,`model-group-changed`,`model-changed`],data(){return{options:[P,re,j,A,k,ne]}},computed:{model(){return console.log(`model`,this.$store.state.chat.model),this.$store.state.chat.model},modelGroup(){return this.$route.meta?.modelGroup||P}},watch:{modelGroup(e){console.debug(`modelGroup from route changed`,e),this.$store.dispatch(`chat/setModelGroup`,e),this.$store.dispatch(`chat/setModel`,e.models[0])}},mounted(){let e=this.modelGroup;this.$store.state.chat?.modelGroup?.name!==e.name&&this.$store.dispatch(`chat/setModelGroup`,e);let t=this.$store.state.chat?.model;e.models.some(e=>e.name===t?.name)||this.$store.dispatch(`chat/setModel`,e.models[0])},methods:{onModelGroupChange(e){this.$store.dispatch(`chat/setModelGroup`,e),this.$emit(`model-group-changed`,e)},onModelChange(e){this.$store.dispatch(`chat/setModel`,e),this.$emit(`model-changed`,e)}}}),Me={class:`selector`},Ne={class:`trigger`},Pe=[`src`],Fe={class:`trigger-name`},Ie={class:`item`},Le=[`src`],Re={class:`item-info`},ze={key:0,class:`item-name`},Be={key:0,class:`item-free-tag`},Ve={key:1,class:`item-desc`};function He(t,c,d,f,p,g){let y=u(`font-awesome-icon`),b=u(`el-dropdown-item`),x=u(`el-dropdown-menu`),S=u(`el-dropdown`);return v(),s(`div`,Me,[a(S,{trigger:`click`,"popper-class":`model-selector-popper`},{dropdown:h(()=>[t.modelGroup&&t.modelGroup?.models?(v(),m(x,{key:0},{default:h(()=>[(v(!0),s(l,null,_(t.modelGroup?.models?.filter(e=>e.enabled),(a,c)=>(v(),m(b,{key:c,class:n({active:t.model?.name===a?.name}),onClick:e=>t.onModelChange(a)},{default:h(()=>[e(`div`,Ie,[a?.icon?(v(),s(`img`,{key:0,src:a.icon,class:`item-icon`},null,8,Le)):o(``,!0),e(`div`,Re,[a?.getDisplayName?(v(),s(`p`,ze,[r(i(a?.getDisplayName())+` `,1),a?.isFree?(v(),s(`span`,Be,i(t.$t(`chat.model.freeTag`)),1)):o(``,!0)])):o(``,!0),a?.getDescription?(v(),s(`p`,Ve,i(a?.getDescription()),1)):o(``,!0)]),t.model?.name===a?.name?(v(),m(y,{key:1,icon:`fa-solid fa-check`,class:`item-check`})):o(``,!0)])]),_:2},1032,[`class`,`onClick`]))),128))]),_:1})):o(``,!0)]),default:h(()=>[e(`div`,Ne,[t.model?.icon?(v(),s(`img`,{key:0,src:t.model.icon,class:`trigger-icon`},null,8,Pe)):o(``,!0),e(`span`,Fe,i(t.model?.getDisplayName?.()??t.model?.name??``),1),a(y,{icon:`fa-solid fa-chevron-down`,class:`trigger-arrow`})])]),_:1})])}var Ue=L(je,[[`render`,He],[`__scopeId`,`data-v-2e6e7a65`]]),We=b({name:`DesktopAgentManager`,components:{ElDialog:K},props:{modelValue:{type:Boolean,default:!1},connected:{type:Boolean,default:!1},agentName:{type:String,default:``},toolCount:{type:Number,default:0},connectedAt:{type:String,default:``}},emits:[`update:modelValue`]}),Ge={class:`agent-manager`},Ke={class:`description`},qe={key:0,class:`status-card connected`},Je={class:`status-header`},Ye={class:`status-text`},Xe={class:`info-row`},Ze={class:`label`},Qe={class:`value`},$e={class:`info-row`},et={class:`label`},tt={class:`value`},nt={class:`info-row`},rt={class:`label`},it={class:`value`},at={class:`hint`},ot={key:1,class:`status-card disconnected`},st={class:`status-header`},ct={class:`status-text`},lt={class:`install-guide`},ut={class:`step-label`},dt={class:`step-label`};function ft(t,n,r,a,o,c){let l=u(`el-dialog`);return v(),m(l,{"model-value":t.modelValue,title:t.$t(`chat.agent.title`),width:`480px`,"onUpdate:modelValue":n[0]||=e=>t.$emit(`update:modelValue`,e)},{default:h(()=>[e(`div`,Ge,[e(`p`,Ke,i(t.$t(`chat.agent.description`)),1),t.connected?(v(),s(`div`,qe,[e(`div`,Je,[n[1]||=e(`span`,{class:`pulse-dot`},null,-1),e(`span`,Ye,i(t.$t(`chat.agent.connected`)),1)]),e(`div`,Xe,[e(`span`,Ze,i(t.$t(`chat.agent.name`))+`:`,1),e(`span`,Qe,i(t.agentName),1)]),e(`div`,$e,[e(`span`,et,i(t.$t(`chat.agent.tools`))+`:`,1),e(`span`,tt,i(t.toolCount),1)]),e(`div`,nt,[e(`span`,rt,i(t.$t(`chat.agent.connectedSince`))+`:`,1),e(`span`,it,i(t.connectedAt),1)]),e(`p`,at,i(t.$t(`chat.agent.connectedHint`)),1)])):(v(),s(`div`,ot,[e(`div`,st,[e(`span`,ct,i(t.$t(`chat.agent.notConnected`)),1)]),e(`div`,lt,[e(`p`,ut,i(t.$t(`chat.agent.installLabel`)),1),n[2]||=e(`code`,{class:`command`},`npm install -g @acedatacloud/desktop-agent`,-1),e(`p`,dt,i(t.$t(`chat.agent.runLabel`)),1),n[3]||=e(`code`,{class:`command`},`adc-agent --token YOUR_API_TOKEN`,-1)])]))])]),_:1},8,[`model-value`,`title`])}var pt=L(We,[[`render`,ft],[`__scopeId`,`data-v-a365b6f4`]]),mt={chatgpt:`openai`,claude:`anthropic`,gemini:`google`,grok:`xai`,deepseek:`deepseek`,kimi:`moonshot`,glm:`zhipu`},ht=b({name:`BYOKBadge`,components:{ElTooltip:S,FontAwesomeIcon:X},data(){return{credentials:[],loaded:!1}},computed:{token(){return this.$store?.state?.chat?.credential?.token},modelGroup(){return this.$store?.state?.chat?.modelGroup?.name},expectedProvider(){let e=this.modelGroup;if(e)return mt[e]},activeCredential(){let e=this.expectedProvider;if(e)return this.credentials.find(t=>t.provider===e&&t.is_active)},providerLabel(){return this.activeCredential?.provider_label},show(){return!!this.activeCredential}},watch:{token:{immediate:!0,handler(e){e&&!this.loaded&&this.fetch()}}},methods:{async fetch(){if(this.token)try{let{data:e}=await fe.list({token:this.token});this.credentials=e?.items??[],this.loaded=!0}catch(e){console.debug(`BYOK badge fetch skipped`,e),this.credentials=[]}},onClickManage(){window.dispatchEvent(new CustomEvent(`open-user-settings`,{detail:{tab:`apiKey`}}))}}}),gt={class:`badge-text`};function _t(t,n,r,s,c,l){let d=u(`font-awesome-icon`),f=u(`el-tooltip`);return t.show&&t.providerLabel?(v(),m(f,{key:0,content:`${t.$t(`byok.badge.tooltip`,{provider:t.providerLabel})} — ${t.$t(`byok.badge.manage`)}`,placement:`bottom`},{default:h(()=>[e(`button`,{type:`button`,class:`byok-badge`,onClick:n[0]||=(...e)=>t.onClickManage&&t.onClickManage(...e)},[a(d,{icon:`fa-solid fa-key`,class:`badge-icon`}),e(`span`,gt,i(t.$t(`byok.badge.active`,{provider:t.providerLabel})),1)])]),_:1},8,[`content`])):o(``,!0)}var vt=L(ht,[[`render`,_t],[`__scopeId`,`data-v-2875e3f2`]]),yt=b({name:`ShareConversationDialog`,components:{ElDialog:K,ElInput:R,ElButton:W,FontAwesomeIcon:X},props:{modelValue:{type:Boolean,default:!1},conversationId:{type:String,default:void 0},shareId:{type:String,default:void 0}},emits:[`update:modelValue`,`update:shareId`],data(){return{localShareId:this.shareId,creating:!1,disabling:!1,copied:!1}},computed:{visible:{get(){return this.modelValue},set(e){this.$emit(`update:modelValue`,e)}},token(){return this.$store.state.chat?.credential?.token},shareUrl(){return this.localShareId?`${typeof window<`u`?window.location.origin:``}/share/${this.localShareId}`:``}},watch:{shareId(e){this.localShareId=e},modelValue(e){e&&(this.localShareId=this.shareId,this.copied=!1)}},methods:{selectAll(e){e.target?.select?.()},async onCreate(){if(!this.token){q.error(this.$t(`chat.share.needLogin`));return}if(!this.conversationId){q.error(this.$t(`chat.share.noConversation`));return}this.creating=!0;try{let{data:e}=await U.shareConversation(this.conversationId,{token:this.token}),t=e?.share_id;if(!t)throw Error(`missing share_id`);this.localShareId=t,this.$emit(`update:shareId`,t)}catch(e){console.error(`shareConversation failed`,e),q.error(this.$t(`chat.share.createFailed`))}finally{this.creating=!1}},onCopy(){this.shareUrl&&(oe(this.shareUrl,{debug:!1}),this.copied=!0,q.success(this.$t(`chat.share.copied`)),setTimeout(()=>{this.copied=!1},2500))},async onDisable(){if(!this.token||!this.conversationId){this.localShareId=void 0,this.$emit(`update:shareId`,void 0);return}this.disabling=!0;try{await U.unshareConversation(this.conversationId,{token:this.token}),this.localShareId=void 0,this.$emit(`update:shareId`,void 0),q.success(this.$t(`chat.share.disabled`))}catch(e){console.error(`unshareConversation failed`,e),q.error(this.$t(`chat.share.disableFailed`))}finally{this.disabling=!1}}}}),bt={class:`share-desc`},xt={key:0,class:`share-linked`},St={class:`share-url-row`},Ct={key:1,class:`share-create`};function wt(t,n,o,c,l,d){let f=u(`el-input`),p=u(`el-button`),g=u(`font-awesome-icon`),_=u(`el-dialog`);return v(),m(_,{modelValue:t.visible,"onUpdate:modelValue":n[2]||=e=>t.visible=e,width:`460px`,title:t.$t(`chat.share.dialogTitle`),"close-on-click-modal":!0},{footer:h(()=>[a(p,{onClick:n[1]||=e=>t.visible=!1},{default:h(()=>[r(i(t.$t(`common.button.close`)),1)]),_:1})]),default:h(()=>[e(`p`,bt,i(t.$t(`chat.share.description`)),1),t.localShareId?(v(),s(`div`,xt,[e(`div`,St,[a(f,{modelValue:t.shareUrl,"onUpdate:modelValue":n[0]||=e=>t.shareUrl=e,readonly:``,class:`share-url`,onFocus:t.selectAll},null,8,[`modelValue`,`onFocus`]),a(p,{type:`primary`,onClick:t.onCopy},{default:h(()=>[r(i(t.copied?t.$t(`chat.share.copied`):t.$t(`chat.share.copy`)),1)]),_:1},8,[`onClick`])]),a(p,{link:``,type:`danger`,class:`share-disable`,loading:t.disabling,onClick:t.onDisable},{default:h(()=>[a(g,{icon:`fa-solid fa-link-slash`,class:`mr-1`}),r(` `+i(t.$t(`chat.share.disable`)),1)]),_:1},8,[`loading`,`onClick`])])):(v(),s(`div`,Ct,[a(p,{type:`primary`,round:``,loading:t.creating,onClick:t.onCreate},{default:h(()=>[a(g,{icon:`fa-solid fa-link`,class:`mr-1`}),r(` `+i(t.$t(`chat.share.createLink`)),1)]),_:1},8,[`loading`,`onClick`])]))]),_:1},8,[`modelValue`,`title`])}var Z=L(yt,[[`render`,wt],[`__scopeId`,`data-v-0d1ca31a`]]),Tt={},Et={class:`disclaimer`};function Dt(e,t){return v(),s(`p`,Et,i(e.$t(`chat.message.howToUse`)),1)}var Ot=L(Tt,[[`render`,Dt],[`__scopeId`,`data-v-d2d980ab`]]),Q=5,kt=b({name:`ConnectorStrip`,components:{ElTooltip:S},data(){return{enabledConnectors:[],loadSeq:0}},computed:{visibleConnectors(){return this.enabledConnectors.length<=Q?this.enabledConnectors:this.enabledConnectors.slice(0,Q-1)},overflowCount(){return this.enabledConnectors.length<=Q?0:this.enabledConnectors.length-(Q-1)},userId(){return this.$store.getters.user?.id??null}},watch:{userId(){this.enabledConnectors=[],this.loadConnectors(!0)}},mounted(){this.loadConnectors(),document.addEventListener(`visibilitychange`,this.onVisibilityChange)},beforeUnmount(){document.removeEventListener(`visibilitychange`,this.onVisibilityChange)},methods:{async loadConnectors(e=!1){let t=this.userId,n=++this.loadSeq,r=await ge(t,e);n===this.loadSeq&&this.userId===t&&(this.enabledConnectors=r)},onVisibilityChange(){document.visibilityState===`visible`&&this.loadConnectors(!0)},onOpen(){he()}}}),At={key:0,class:`connector-strip`},jt=[`src`,`alt`];function Mt(t,n,r,a,c,d){let f=u(`el-tooltip`);return t.visibleConnectors.length>0?(v(),s(`div`,At,[(v(!0),s(l,null,_(t.visibleConnectors,r=>(v(),m(f,{key:r.id,effect:`dark`,content:r.name,placement:`top`},{default:h(()=>[e(`span`,{class:`connector-chip`,role:`button`,onClick:n[0]||=(...e)=>t.onOpen&&t.onOpen(...e)},[e(`img`,{class:`connector-icon`,src:r.icon_url,alt:r.name,loading:`lazy`},null,8,jt)])]),_:2},1032,[`content`]))),128)),t.overflowCount>0?(v(),m(f,{key:0,effect:`dark`,content:t.$t(`chat.composer.connections`),placement:`top`},{default:h(()=>[e(`span`,{class:`connector-chip connector-more`,role:`button`,onClick:n[1]||=(...e)=>t.onOpen&&t.onOpen(...e)},` +`+i(t.overflowCount),1)]),_:1},8,[`content`])):o(``,!0)])):o(``,!0)}var Nt=L(kt,[[`render`,Mt],[`__scopeId`,`data-v-281663b0`]]),Pt=b({name:`SidePanel`,components:{ElInput:R,ElButton:W,ElDialog:K,ElDropdown:E,ElDropdownItem:w,ElDropdownMenu:T,FontAwesomeIcon:X,ElSkeleton:D,ShareConversationDialog:Z},props:{},emits:[`change-conversation`],data(){return{renameDialogVisible:!1,deleteDialogVisible:!1,shareDialogVisible:!1,actingConversation:void 0,renameDraft:``,renameSubmitting:!1,deleteSubmitting:!1}},computed:{conversationId(){return console.debug(`conversationId in side`,this.$route.params?.id),this.$route.params?.id?.toString()},conversations(){return this.$store.state.chat.conversations},conversationGroups(){let e=new Date;e.setHours(0,0,0,0);let t=new Date(e);t.setDate(t.getDate()-1);let n=new Date(e);n.setDate(n.getDate()-e.getDay());let r=new Date(n);r.setDate(r.getDate()-7);let i=this.conversations?.reduce((r,i)=>{let a=new Date(i.updated_at*1e3);return a>=e?r.today.push(i):a>=t?r.yesterday.push(i):a>=n?r.thisWeek.push(i):r.earlier.push(i),r},{today:[],yesterday:[],thisWeek:[],earlier:[]});return{...i?.today?.length>0?{today:i?.today?.sort((e,t)=>t.updated_at-e.updated_at)}:{},...i?.yesterday?.length>0?{yesterday:i?.yesterday?.sort((e,t)=>t.updated_at-e.updated_at)}:{},...i?.thisWeek?.length>0?{thisWeek:i?.thisWeek?.sort((e,t)=>t.updated_at-e.updated_at)}:{},...i?.earlier?.length>0?{earlier:i?.earlier?.sort((e,t)=>t.updated_at-e.updated_at)}:{}}},application(){return this.$store.state.chat.application},loading(){return this.$store.state.chat.status.getConversations===H.Request},token(){return this.$store.state.chat?.credential?.token}},methods:{async onNewConversation(){console.debug(`onNewConversation from side panel`),this.$emit(`change-conversation`,void 0)},onScheduledTasks(){this.$router.push({name:le})},onArtifacts(){this.$router.push({name:se})},onClickConversation(e){console.debug(`onClickConversation in side panel`,e),this.$emit(`change-conversation`,e)},getConversationTitle(e){return e?.title||e?.last_message_preview||``},onConversationCommand(e,t){e===`rename`?this.openRenameDialog(t):e===`delete`?this.openDeleteDialog(t):e===`share`&&this.openShareDialog(t)},openShareDialog(e){this.actingConversation=e,this.shareDialogVisible=!0},onShareIdUpdated(e){this.actingConversation&&(this.actingConversation.share_id=e,this.$store.dispatch(`chat/setConversation`,{...this.actingConversation,share_id:e}))},openRenameDialog(e){this.actingConversation=e,this.renameDraft=(e?.title||``).trim(),this.renameDialogVisible=!0},openDeleteDialog(e){this.actingConversation=e,this.deleteDialogVisible=!0},async onConfirmRename(){let e=this.token,t=this.actingConversation?.id,n=(this.renameDraft||``).trim();if(!e){q.error(`Token 不存在,请重新登录`);return}if(!t){q.error(`会话不存在`);return}if(!n){q.warning(`请输入名称`);return}this.renameSubmitting=!0;try{await U.updateConversation({id:t,title:n},{token:e}),await this.$store.dispatch(`chat/getConversations`),this.renameDialogVisible=!1,q.success(`已重命名`)}catch(e){console.error(e),q.error(`重命名失败,请稍后重试`)}finally{this.renameSubmitting=!1}},async onConfirmDelete(){let e=this.token,t=this.actingConversation?.id;if(!e){q.error(`Token 不存在,请重新登录`);return}if(!t){q.error(`会话不存在`);return}this.deleteSubmitting=!0;try{await U.deleteConversation(t,{token:e}),await this.$store.dispatch(`chat/getConversations`),t===this.conversationId&&this.$emit(`change-conversation`,void 0),this.deleteDialogVisible=!1,q.success(`已删除`)}catch(e){console.error(e),q.error(`删除失败,请稍后重试`)}finally{this.deleteSubmitting=!1}}}}),Ft={class:`panel`},It={key:1,class:`conversations`},Lt={class:`icons`},Rt={class:`title`},zt={class:`icons`},Bt={class:`title`},Vt={class:`icons`},Ht={class:`title`},Ut={class:`key`},Wt=[`onClick`],Gt={class:`title`},Kt={class:`operations`};function qt(o,d,f,p,g,y){let b=u(`el-skeleton`),x=u(`font-awesome-icon`),S=u(`el-dropdown-item`),C=u(`el-dropdown-menu`),w=u(`el-dropdown`),T=u(`el-input`),E=u(`el-button`),D=u(`el-dialog`),O=u(`share-conversation-dialog`);return v(),s(`div`,Ft,[o.loading&&o.conversationGroups===void 0?(v(),m(b,{key:0})):(v(),s(`div`,It,[e(`div`,{class:`conversation`,onClick:d[0]||=(...e)=>o.onNewConversation&&o.onNewConversation(...e)},[e(`div`,Lt,[a(x,{icon:`fa-solid fa-plus`,class:`icon`})]),e(`div`,Rt,i(o.$t(`chat.message.startNewChat`)),1)]),e(`div`,{class:`conversation`,onClick:d[1]||=(...e)=>o.onScheduledTasks&&o.onScheduledTasks(...e)},[e(`div`,zt,[a(x,{icon:`fa-solid fa-clock`,class:`icon`})]),e(`div`,Bt,i(o.$t(`chat.scheduledTasks.navTitle`)),1)]),e(`div`,{class:`conversation`,onClick:d[2]||=(...e)=>o.onArtifacts&&o.onArtifacts(...e)},[e(`div`,Vt,[a(x,{icon:`fa-solid fa-box-archive`,class:`icon`})]),e(`div`,Ht,i(o.$t(`chat.artifacts.navTitle`)),1)]),(v(!0),s(l,null,_(o.conversationGroups,(c,u)=>(v(),s(`div`,{key:u,class:`group`},[e(`div`,Ut,i(o.$t(`chat.group.${u}`)),1),(v(!0),s(l,null,_(c,(c,l)=>(v(),s(`div`,{key:l,class:n({conversation:!0,active:c.id===o.conversationId}),onClick:e=>o.onClickConversation(c.id)},[e(`div`,Gt,i(o.getConversationTitle(c)),1),e(`div`,Kt,[a(w,{trigger:`click`,placement:`bottom-end`,teleported:!0,onCommand:e=>o.onConversationCommand(e,c)},{dropdown:h(()=>[a(C,null,{default:h(()=>[a(S,{command:`rename`,onClick:d[4]||=t(()=>{},[`stop`])},{default:h(()=>[a(x,{icon:`fa-solid fa-pen-to-square`,class:`mr-2`}),d[13]||=r(` 重命名 `,-1)]),_:1}),a(S,{command:`share`,onClick:d[5]||=t(()=>{},[`stop`])},{default:h(()=>[a(x,{icon:`fa-solid fa-share-nodes`,class:`mr-2`}),r(` `+i(o.$t(`chat.share.menu`)),1)]),_:1}),a(S,{command:`delete`,onClick:d[6]||=t(()=>{},[`stop`])},{default:h(()=>[a(x,{icon:`fa-solid fa-trash`,class:`mr-2`}),r(` `+i(o.$t(`common.button.delete`)),1)]),_:1})]),_:1})]),default:h(()=>[e(`span`,{class:`more`,onClick:d[3]||=t(()=>{},[`stop`])},[a(x,{icon:`fa-solid fa-ellipsis`})])]),_:1},8,[`onCommand`])])],10,Wt))),128))]))),128))])),a(D,{modelValue:o.renameDialogVisible,"onUpdate:modelValue":d[9]||=e=>o.renameDialogVisible=e,width:`420px`,title:`重命名`,"close-on-click-modal":!1},{footer:h(()=>[a(E,{onClick:d[8]||=e=>o.renameDialogVisible=!1},{default:h(()=>[r(i(o.$t(`common.button.cancel`)),1)]),_:1}),a(E,{type:`primary`,loading:o.renameSubmitting,onClick:o.onConfirmRename},{default:h(()=>[r(i(o.$t(`common.button.confirm`)),1)]),_:1},8,[`loading`,`onClick`])]),default:h(()=>[a(T,{modelValue:o.renameDraft,"onUpdate:modelValue":d[7]||=e=>o.renameDraft=e,autofocus:``,onKeydown:c(o.onConfirmRename,[`enter`])},null,8,[`modelValue`,`onKeydown`])]),_:1},8,[`modelValue`]),a(D,{modelValue:o.deleteDialogVisible,"onUpdate:modelValue":d[11]||=e=>o.deleteDialogVisible=e,width:`420px`,title:o.$t(`chat.message.confirmDelete`),"close-on-click-modal":!1},{footer:h(()=>[a(E,{onClick:d[10]||=e=>o.deleteDialogVisible=!1},{default:h(()=>[r(i(o.$t(`common.button.cancel`)),1)]),_:1}),a(E,{type:`danger`,loading:o.deleteSubmitting,onClick:o.onConfirmDelete},{default:h(()=>[r(i(o.$t(`common.button.delete`)),1)]),_:1},8,[`loading`,`onClick`])]),default:h(()=>[d[14]||=e(`div`,{class:`delete-tip`},`确认删除该会话?删除后不可恢复。`,-1)]),_:1},8,[`modelValue`,`title`]),a(O,{modelValue:o.shareDialogVisible,"onUpdate:modelValue":d[12]||=e=>o.shareDialogVisible=e,"conversation-id":o.actingConversation?.id,"share-id":o.actingConversation?.share_id,"onUpdate:shareId":o.onShareIdUpdated},null,8,[`modelValue`,`conversation-id`,`share-id`,`onUpdate:shareId`])])}var Jt=b({name:`LayoutChat`,components:{SidePanel:L(Pt,[[`render`,qt],[`__scopeId`,`data-v-aff7c556`]]),ElDrawer:C,ElButton:W,FontAwesomeIcon:X},emits:[`change-conversation`],data(){return{drawer:!1}},methods:{onChangeConversation(e){console.debug(`onChangeConversation in layout`,e),this.$emit(`change-conversation`,e)}}}),Yt={class:`main`},Xt={class:`side`},Zt={class:`chat`};function Qt(t,n,r,i,o,c){let l=u(`side-panel`),d=u(`font-awesome-icon`),f=u(`el-button`),m=u(`el-drawer`);return v(),s(`div`,Yt,[e(`div`,Xt,[p(t.$slots,`side`,{},()=>[a(l,{onChangeConversation:t.onChangeConversation},null,8,[`onChangeConversation`])],!0)]),e(`div`,Zt,[p(t.$slots,`chat`,{},void 0,!0)]),a(f,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:h(()=>[a(d,{icon:`fa-solid fa-bars`})]),_:1}),a(m,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`290px`},{default:h(()=>[a(l,{onChangeConversation:t.onChangeConversation},null,8,[`onChangeConversation`])]),_:1},8,[`modelValue`])])}var $t=L(Jt,[[`render`,Qt],[`__scopeId`,`data-v-7418117b`]]);function $(e){return typeof e==`string`&&e.trim().length>0?e:Array.isArray(e)&&typeof e[0]==`string`&&e[0].trim().length>0?e[0]:null}function en(e){let t=$(e.consent),n=$(e.connector);return!t||!n?null:{consentRequestId:t,connector:n}}function tn(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.role===`assistant`&&Array.isArray(r.content)){for(let e=r.content.length-1;e>=0;e--){let n=r.content[e];if(n.type!==`tool_use`||n.tool_name!==`request_user_consent`||n.status!==`awaiting_input`)continue;let i=n.pending_consent_request;if(!(!i||i.consent_request_id!==t)&&n.tool_id)return{toolUseId:n.tool_id,payload:i}}break}}return null}function nn(e,t){return _e(e,[t],[])}function rn(e,t){try{let n=new URL(e),r=n.searchParams.get(`return_to`);if(!r||!t)return e;let i=new URL(r),a=i.pathname.match(/^\/chat\/c\/([^/]+)/);if(!a)return e;let o=a[1],s=new URL(`${i.origin}${t}/conversations/${o}`);return i.searchParams.forEach((e,t)=>s.searchParams.set(t,e)),n.searchParams.set(`return_to`,s.toString()),n.toString()}catch{return e}}function an(e){return Array.isArray(e?.messages)&&e.messages.length>0}var on=b({name:`ChatConversation`,components:{Composer:Ae,Disclaimer:Ot,ConnectorStrip:Nt,ModelSelector:Ue,DesktopAgentManager:pt,"byok-badge":vt,ShareConversationDialog:Z,Message:ve,Layout:$t,ElTooltip:S,ElButton:W,FontAwesomeIcon:X},data(){return{drawer:!1,question:``,references:[],localTools:[],pendingClientTools:[],clientToolRunId:0,upload:!1,answering:!1,canceler:void 0,agentManagerVisible:!1,agentConnected:!1,agentName:``,agentToolCount:0,agentConnectedAt:``,shareDialogVisible:!1,skipNextRestoreId:void 0,messages:[],pendingConsentReturn:null}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},model(){return this.$store.state.chat.model},conversationId(){return this.$route.params.id?.toString()},conversation(){return this.$store.state.chat.conversations?.find(e=>e.id===this.conversationId)},service(){return this.$store.state.chat.service},application(){return this.$store.state.chat.application},applications(){return this.$store.state.chat.applications},credential(){return this.$store.state.chat?.credential},needApply(){return this.$store.state.chat.status.getApplications===H.Success&&!this.application},conversations(){return this.$store.state.chat.conversations},initializing(){return this.$store.state.chat.status.getApplications===H.Request},ready(){return this.$store.getters.authenticated?!this.initializing&&!!this.credential?.token&&!!this.application:!0}},watch:{async references(e){console.log(`references changed`,e)},question(e){this.$store.commit(`chat/setPendingDraft`,e||``)},async modelGroup(e){console.debug(`modelGroup changed`,e),this.$store.commit(`chat/setConversations`,[]),await this.$store.dispatch(`chat/getConversations`)},"credential.token":{immediate:!0,async handler(e){e&&(this.modelGroup?.name&&await this.$store.dispatch(`chat/getConversations`),await this.onRestoreCurrentConversation(),this.onCheckAgentStatus())}},async conversationId(e){if(console.debug(`conversationId changed`,e),!e){this.resetConversation();return}await this.onRestoreCurrentConversation()},messages:{handler(){this.pendingConsentReturn&&this.onConsumePendingConsentReturn()},deep:!1}},async mounted(){this.onCaptureConsentReturnFromUrl(),await this.onGetService(),await this.onGetApplication(),this.onConsumePendingDraft(),this.onApplyQueryFromUrl(),J()&&(this.localTools=await B()?.listTools()??[])},methods:{resetConversation(){this.messages=[],this.question=``,this.references=[],this.pendingClientTools=[]},onShareIdUpdated(e){this.conversation&&this.$store.dispatch(`chat/setConversation`,{...this.conversation,share_id:e})},async onRestoreCurrentConversation(){let e=this.conversationId;if(!(!e||!this.credential?.token)){if(this.skipNextRestoreId===e){this.skipNextRestoreId=void 0;return}await this.onRestoreConversation(e)}},async onCheckAgentStatus(){let e=this.credential?.token;if(e)try{let{data:t}=await pe.status(e);this.agentConnected=t?.connected===!0,this.agentName=t?.name||``,this.agentToolCount=t?.tool_count||0,this.agentConnectedAt=t?.connected_at||``}catch{this.agentConnected=!1}},onConsumePendingDraft(){if(this.conversationId||this.question&&this.question.trim().length>0)return;let e=this.$store.state.chat?.pendingDraft;e&&(this.question=e)},onApplyQueryFromUrl(){let e=this.$route.query?.query,t=Array.isArray(e)?e[0]:e;if(!t||typeof t!=`string`||this.conversationId)return;if(this.question&&this.question.trim().length>0){let e=this.$store.state.chat?.pendingDraft;if(!(e!=null&&this.question===e))return}this.question=t;let n=new Set([`query`,`source`,`suggestion_id`,`connector`]),r={};for(let[e,t]of Object.entries(this.$route.query||{}))n.has(e)||t!=null&&(r[e]=t);this.$router.replace({path:this.$route.path,query:r})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`chat/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`chat/getApplications`),console.debug(`end onGetApplication`)},async onDraft(e){this.question=e,this.onSubmit()},async onStop(){this.pendingClientTools=[],this.clientToolRunId++,this.canceler&&(this.canceler.abort(),this.answering=!1)},async onRestart(e){let t=this.messages.findIndex(t=>t===e),n=this.messages[t-1],r=[];if(t!==-1){if(r=this.messages.slice(0,t-1),this.messages=this.messages.slice(0,t),this.references=[],typeof n.content==`string`)this.question=n.content;else if(Array.isArray(n.content))for(let e of n.content)if(e.type===`image_url`||e.type===`file_url`){let t=e.type===`image_url`?e.image_url:e.file_url,n=typeof t==`string`?t:t?.url;n&&this.references.push(e.name?{url:n,name:e.name}:{url:n})}else e.type===`text`&&e.text&&(this.question=e.text)}console.debug(`onRestart!`,this.question,JSON.stringify(this.references));let i=this.credential?.token,a=this.question.trim();if(!i||!a){console.error(`no token or endpoint or question`),this.messages.push({error:{code:F},role:M,state:Y.FAILED});return}let o=this.conversationId;U.updateConversation({id:this.conversationId,messages:r},{token:i}).then(async()=>{await this.$store.dispatch(`chat/setConversation`,{id:o,messages:this.messages}),console.debug(`finished update conversation`,this.messages),console.debug(`onRestart`,this.question),await this.onRequest()}).catch(e=>{this.handleRequestError(e)})},async onEdit(e,t){let n=this.messages.findIndex(t=>t===e);n!==-1&&(this.messages=this.messages.slice(0,n)),this.question=t;let r=this.credential?.token;if(!r){console.error(`no token or endpoint or question`),this.messages.push({error:{code:F},role:M,state:Y.FAILED});return}let i=this.conversationId;U.updateConversation({id:this.conversationId,messages:this.messages},{token:r}).then(async()=>{await this.$store.dispatch(`chat/setConversation`,{id:i,messages:this.messages}),console.debug(`finished update conversation`,this.messages),this.messages.push({content:this.question,role:N}),console.debug(`onEdit`,this.question),await this.onRequest()}).catch(e=>{this.handleRequestError(e)})},conversationsPath(e){let t=this.$route.matched[0]?.path??``;return e?`${t}/conversations/${e}`:`${t}/conversations`},async onNewConversation(){this.conversationId?await this.$router.push(this.conversationsPath()):this.resetConversation()},async onRestoreConversation(e){console.debug(`onRestoreConversation id`,e);let t=this.conversations?.find(t=>t.id===e);if(!an(t)){let n=await this.$store.dispatch(`chat/getConversation`,e);n&&(t=n)}let n=t?.model,r=ee.find(e=>e.name===n),i=te.find(e=>e.name===r?.modelGroup);i&&this.$store.dispatch(`chat/setModelGroup`,i),r&&this.$store.dispatch(`chat/setModel`,r),this.messages=t?.messages||[],this.onScrollDown()},async onChangeConversation(e){console.log(`onChangeConversation in conversation`,e),await this.onStop();let t=e||``;if(t===(this.conversationId||``)){t||await this.onNewConversation();return}await this.$router.push(this.conversationsPath(t))},async onSubmit(){if(I()){if(this.references.length>0){let e=[{type:`text`,text:this.question.trim()}];for(let t of this.references){let n=G(t.url)?{type:`image_url`,image_url:t.url}:{type:`file_url`,file_url:t.url};t.name&&(n.name=t.name),e.push(n)}this.messages.push({content:e,role:N})}else this.messages.push({content:this.question.trim(),role:N});console.debug(`onSubmit`,this.question,this.references),await this.onRequest()}},async onRequest(){if(!I())return;J()&&(this.localTools=await B()?.listTools()??[]),console.debug(`start to get answer`,this.messages);let e=this.credential?.token,t=this.question.trim(),n=this.references.map(e=>e.url);if(console.debug(`validated`,t,n),this.question=``,this.references=[],!e||!t){console.error(`no token or endpoint or question`),this.messages.push({error:{code:F},role:M,state:Y.FAILED});return}let r=this.conversationId;this.messages.push({content:``,role:M,state:Y.PENDING}),console.debug(`start to get answer`,this.messages),this.onScrollDown(),this.answering=!0,this.canceler=new AbortController,this._streamAssistantTurn({question:t,model:this.model.name,references:n,id:this.conversationId,stateful:!0,...this._localToolInjection()},e,r)},_resumeWithToolResults(e,t){let n=this.credential?.token,r=t??this.conversationId;if(!n||!r||!e.length){console.error(`cannot resume: no token / conversation id / results`);return}let i=[...this.messages].reverse().find(e=>e.role===M);if(i&&Array.isArray(i.content)){let t=i.content,n=[];for(let r of e){let e=t.find(e=>e.type===`tool_use`&&e.tool_id===r.tool_use_id);if(e&&(e.status=`done`,e.output=r.output,r.is_error&&(e.is_error=!0),delete e.pending_question),r.image&&this._isValidResultImage(r.image)){let e=`${r.tool_use_id} screenshot`,i=t.some(t=>t.type===`image_url`&&t.alt===e),a=n.some(t=>t.alt===e);!i&&!a&&n.push({type:`image_url`,image_url:{url:r.image},alt:e})}}n.length&&t.push(...n)}this.messages.push({content:``,role:M,state:Y.PENDING}),this.onScrollDown(),this.answering=!0,this.canceler=new AbortController,this._streamAssistantTurn({id:r,model:this.model.name,stateful:!0,tool_results:e,...this._localToolInjection()},n,r)},async onAnswerAskUserQuestion(e){this._resumeWithToolResults([{tool_use_id:e.tool_use_id,output:e.output,...e.is_error?{is_error:!0}:{}}],e.conversationId)},_localToolInjection(){return!J()||!this.localTools.length?{}:{client_tools:this._wiredTools().map(({spec:e,wire:t})=>({name:t,displayName:e.name,description:e.description,inputSchema:e.input_schema}))}},_wiredTools(){let e=new Set;return this.localTools.map(t=>{let n=t.name.replace(/[^a-zA-Z0-9_-]/g,`_`);if(e.has(n)){let t=2;for(;e.has(`${n}_${t}`);)t++;n=`${n}_${t}`}return e.add(n),{spec:t,wire:n}})},async _runClientTools(e,t,n){let r=(t??this.conversationId)||``,i=[];for(let t of e){if(n!==void 0&&n!==this.clientToolRunId)return;let e=this._wiredTools().find(e=>e.wire===t.name)?.spec.name??t.name,a;try{a=JSON.parse(JSON.stringify(t.input??{}))}catch{a={}}let o;try{o=await B()?.invoke({name:e,input:a,sessionId:r})??{output:`local execution unavailable`,is_error:!0}}catch(e){o={output:e instanceof Error?e.message:String(e),is_error:!0}}let s=o.image?await this._hostToolResultImage(o.image)||o.image:void 0;i.push({tool_use_id:t.toolId,output:o.output,...o.is_error?{is_error:!0}:{},...s?{image:s}:{}})}n!==void 0&&n!==this.clientToolRunId||this._resumeWithToolResults(i,t)},_isValidResultImage(e){return!e||e.length>6e6?!1:e.startsWith(`https://`)?!/\s/.test(e):/^data:image\/(png|jpe?g|webp);base64,[A-Za-z0-9+/]+={0,2}$/.test(e)},async _hostToolResultImage(e){if(!e||!e.startsWith(`data:`))return e||null;let t=this.$store.getters.token?.access;if(!t)return null;try{let n=await(await fetch(e)).blob(),r=(n.type.split(`/`)[1]||`png`).split(`;`)[0],i=new FormData;i.append(`file`,n,`screenshot.${r}`);let a=await fetch(`${z()}/api/v1/files/`,{method:`POST`,headers:{Authorization:`Bearer ${t}`},body:i});if(!a.ok)return null;let o=await a.json(),s=o?.file_url||o?.data?.file_url;return typeof s==`string`&&s?s:null}catch(e){return console.warn(`[computer-use] screenshot upload failed; sending inline`,e),null}},onSkipAskUserQuestion(e){let t=[...this.messages].reverse().find(e=>e.role===M);if(!t||!Array.isArray(t.content))return;let n=t.content.find(t=>t.type===`tool_use`&&t.tool_id===e.tool_use_id);n&&(n.status=`done`,n.is_error=!0,n.output=n.output||``,delete n.pending_question)},async onRespondConnectorConsent(e){let t=this.credential?.token;if(!t||!this.conversationId){console.error(`cannot resume: no token or no conversation id`);return}let n=[...this.messages].reverse().find(e=>e.role===M);if(n&&Array.isArray(n.content)){let t=n.content.find(t=>t.type===`tool_use`&&t.tool_id===e.tool_use_id);t&&(t.status=`done`,t.output=e.output)}this.messages.push({content:``,role:M,state:Y.PENDING}),this.onScrollDown(),this.answering=!0,this.canceler=new AbortController,this._streamAssistantTurn({id:this.conversationId,model:this.model.name,stateful:!0,tool_results:[{tool_use_id:e.tool_use_id,output:e.output}],...this._localToolInjection()},t,this.conversationId)},onAuthorizeConnector(e){let t=e.entry?.install_url;if(!t){console.warn(`authorize click with no install_url`,e);return}let n=this.$route.matched[0]?.path??``;window.location.href=rn(t,n)},onCaptureConsentReturnFromUrl(){let e=en(this.$route.query||{});e&&(this.pendingConsentReturn=e)},onConsumePendingConsentReturn(){let e=this.pendingConsentReturn;if(!e||this.messages.length===0)return;let t=tn(this.messages,e.consentRequestId);if(!t)return;this.pendingConsentReturn=null;let n=nn(t.payload,e.connector);this.stripConsentReturnFromUrl(),this.onRespondConnectorConsent({tool_use_id:t.toolUseId,output:n})},stripConsentReturnFromUrl(){let e={};for(let[t,n]of Object.entries(this.$route.query||{}))t===`consent`||t===`connector`||n!=null&&(e[t]=n);this.$router.replace({path:this.$route.path,query:e})},_streamAssistantTurn(e,t,n){let r=n,i=this.messages.length-1,a=[],o=new Map,s=``,c=0;U.chatConversation(e,{token:t,stream:e=>{console.debug(`stream response`,e);let t=this.messages[i];if(e.type===`thinking`&&e.content){let t=this.messages[i];t.thinking=(t.thinking??``)+e.content}else if(e.type===`tool_use_start`&&e.tool_id){let t=o.get(e.tool_id);t?(e.tool_name&&(t.tool_name=e.tool_name),e.tool_display_name&&(t.tool_display_name=e.tool_display_name),e.input&&Object.keys(e.input).length>0&&(t.input=e.input)):(s&&(a.push({type:`text`,text:s}),s=``,c=e.answer?.length??0),t={type:`tool_use`,tool_id:e.tool_id,tool_name:e.tool_name,tool_display_name:e.tool_display_name,input:e.input,status:`running`},a.push(t),o.set(e.tool_id,t)),J()&&e.execution===`client`&&!this.pendingClientTools.some(t=>t.toolId===e.tool_id)&&(t.status=`awaiting_input`,this.pendingClientTools.push({toolId:e.tool_id,name:e.tool_name||``,input:e.input||{}}))}else if(e.type===`tool_progress`&&e.tool_id){let t=o.get(e.tool_id);t&&(t.input_stream=(t.input_stream??``)+(e.progress??``))}else if(e.type===`tool_result`&&e.tool_id){let t=o.get(e.tool_id);t&&(t.output=e.output,t.is_error=e.is_error,t.duration_ms=e.duration_ms,t.status=`done`,delete t.input_stream,delete t.pending_question)}else if(e.type===`ask_user_question`&&e.tool_id&&e.payload){let t=o.get(e.tool_id);t&&(t.status=`awaiting_input`,t.pending_question=e.payload)}else if(e.type===`consent_request`&&e.tool_id&&e.payload){let t=o.get(e.tool_id);t&&(t.status=`awaiting_input`,t.pending_consent_request=e.payload)}else if(e.type===`artifact`&&e.artifact)e.artifact.type===`image`||e.artifact.mimeType?.startsWith(`image/`)?a.push({type:`image_url`,image_url:e.artifact.url,name:e.artifact.name,mimeType:e.artifact.mimeType}):a.push({type:`file_url`,file_url:e.artifact.url,name:e.artifact.name,mimeType:e.artifact.mimeType});else if(e.type===`card`&&e.card)s&&(a.push({type:`text`,text:s}),s=``,c=e.answer?.length??0),a.push({type:`card`,card:e.card});else if(e.type===`citation`&&e.citation){let t=this.messages[i];t.citations={...t.citations??{},[e.citation.id]:e.citation}}else e.delta_answer&&(s=(e.answer||``).slice(c));let n=[...a];s&&n.push({type:`text`,text:s}),n.length>0?this.messages[i]={role:M,content:n,thinking:t?.thinking,citations:t?.citations,state:t?.state===Y.FINISHED?t?.state:Y.ANSWERING}:this.messages[i]={role:M,content:e.answer,thinking:t?.thinking,citations:t?.citations,state:t?.state===Y.FINISHED?t?.state:Y.ANSWERING},r=e?.id},signal:this.canceler.signal}).then(async()=>{if(console.debug(`finished fetch answer`,this.messages),this.messages[i].state=Y.FINISHED,console.debug(`finished fetch answer`,JSON.stringify(this.messages)),await this.$store.dispatch(`chat/setConversation`,{id:r,messages:this.messages}),this.pendingClientTools.length||(this.answering=!1),r&&(this.skipNextRestoreId=r,await this.$router.push(this.conversationsPath(r))),this.onScrollDown(),await this.$store.dispatch(`chat/getConversations`),await this.$store.dispatch(`chat/getApplications`),this.pendingClientTools.length){let e=this.pendingClientTools;this.pendingClientTools=[];let t=++this.clientToolRunId;await this._runClientTools(e,r,t)}}).catch(e=>{this.handleRequestError(e,i)})},async handleRequestError(e,t){console.error(`error happened`,e),this.pendingClientTools=[];let n=t??this.messages.length-1,r=n>=0?this.messages[n]:void 0;if(r&&(r.state=Y.FAILED),e.name===`AbortError`){console.error(`aborted`),this.answering=!1;return}else e instanceof me?(console.debug(`BaseError`,e),r&&(r.error={code:e.code,message:e.detail})):O.isCancel(e)?r&&(r.error={code:ae}):r&&(r.error={code:ie});this.answering=!1},async onScrollDown(){setTimeout(()=>{let e=document.querySelector(`.messages`);!e||!this.messages||this.messages.length===0||(e.scrollTop=e?.scrollHeight)},0)}}}),sn={class:`toolbar`},cn={class:`toolbar-left`},ln={class:`toolbar-actions`},un={key:0,class:`messages`},dn={class:`starter`},fn={class:`composer-connectors`};function pn(t,r,i,c,d,f){let p=u(`model-selector`),g=u(`byok-badge`),y=u(`font-awesome-icon`),b=u(`el-button`),x=u(`el-tooltip`),S=u(`desktop-agent-manager`),C=u(`share-conversation-dialog`),w=u(`message`),T=u(`connector-strip`),E=u(`composer`),D=u(`disclaimer`),O=u(`layout`);return v(),m(O,{onChangeConversation:r[8]||=e=>t.onChangeConversation(e)},{chat:h(()=>[e(`div`,sn,[e(`div`,cn,[a(p,{class:`selector`,onModelGroupChanged:r[0]||=e=>t.onChangeConversation(void 0)}),a(g,{class:`byok-badge`})]),e(`div`,ln,[t.conversationId?(v(),m(x,{key:0,content:t.$t(`chat.share.menu`),placement:`bottom`},{default:h(()=>[a(b,{class:`toolbar-btn`,text:``,onClick:r[1]||=e=>t.shareDialogVisible=!0},{default:h(()=>[a(y,{icon:`fa-solid fa-share-nodes`})]),_:1})]),_:1},8,[`content`])):o(``,!0),o(``,!0)])]),t.agentManagerVisible?(v(),m(S,{key:0,modelValue:t.agentManagerVisible,"onUpdate:modelValue":r[3]||=e=>t.agentManagerVisible=e,connected:t.agentConnected,"agent-name":t.agentName,"tool-count":t.agentToolCount,"connected-at":t.agentConnectedAt},null,8,[`modelValue`,`connected`,`agent-name`,`tool-count`,`connected-at`])):o(``,!0),a(C,{modelValue:t.shareDialogVisible,"onUpdate:modelValue":r[4]||=e=>t.shareDialogVisible=e,"conversation-id":t.conversationId,"share-id":t.conversation?.share_id,"onUpdate:shareId":t.onShareIdUpdated},null,8,[`modelValue`,`conversation-id`,`share-id`,`onUpdate:shareId`]),e(`div`,{class:n({dialogue:!0,empty:t.messages.length===0})},[t.messages.length>0?(v(),s(`div`,un,[(v(!0),s(l,null,_(t.messages,(e,n)=>(v(),m(w,{key:n,message:e,messages:t.messages,question:t.question,application:t.application,class:`message`,"onUpdate:question":r[5]||=e=>t.question=e,onEdit:t.onEdit,onRestart:t.onRestart,onAnswerAskUserQuestion:t.onAnswerAskUserQuestion,onSkipAskUserQuestion:t.onSkipAskUserQuestion,onRespondConnectorConsent:t.onRespondConnectorConsent,onAuthorizeConnector:t.onAuthorizeConnector},null,8,[`message`,`messages`,`question`,`application`,`onEdit`,`onRestart`,`onAnswerAskUserQuestion`,`onSkipAskUserQuestion`,`onRespondConnectorConsent`,`onAuthorizeConnector`]))),128))])):o(``,!0),e(`div`,dn,[e(`div`,fn,[a(T)]),a(E,{question:t.question,"onUpdate:question":r[6]||=e=>t.question=e,answering:t.answering,ready:t.ready,references:t.references,"onUpdate:references":r[7]||=e=>t.references=e,onSubmit:t.onSubmit,onStop:t.onStop},null,8,[`question`,`answering`,`ready`,`references`,`onSubmit`,`onStop`]),a(D,{class:`composer-disclaimer`})])],2)]),_:1})}var mn=L(on,[[`render`,pn],[`__scopeId`,`data-v-85efdf10`]]);export{mn as default};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,Gt as t,I as n,Jt as r,L as i,M as a,N as o,T as s,at as c,ht as l,it as u,j as d,mt as f,rt as p,tt as m,x as h,z as g}from"./vendor-chart-Dw-P17PN.js";import{r as _,t as v}from"./select-DKNHU_KN.js";import{t as y}from"./upload-BySO5bAt.js";import{t as b}from"./tooltip-tldVVG8C.js";import{t as x}from"./image-B4fW-Em5.js";import{t as S}from"./alert-Bn1GWYU-.js";import{n as C,r as w}from"./radio-Bj0tEwH8.js";import{t as T}from"./drawer-C_TXaJGS.js";import{t as E}from"./switch-BR4-pbXw.js";import{oi as D}from"./constants-BvFmtK59.js";import{$t as O,A as k,Bt as A,Gt as j,Ht as ee,In as te,Kr as M,Qn as N,Ur as P,Ut as F,Vt as I,mi as L,ri as R,rr as z}from"./index-Bp_B3yTD.js";import{t as B}from"./index.es-ByeT4YNA.js";import{t as V}from"./CopyToClipboard-BGEXbDuO.js";import{t as H}from"./ImagePreview-B-atW8LF.js";import{n as U}from"./taskDrawerMixin-DyAUhFEq.js";import{t as W}from"./Consumption-DVyH1F-a.js";import{i as G,n as K,t as q}from"./pagination-BSspsPVx.js";import{t as J}from"./vue-plyr-wiIKa-zl.js";import{t as Y}from"./ApiCodeButton-pfKsJNZZ.js";import{t as X}from"./BotPlaceholder-CyFXcwit.js";import{t as Z}from"./NoTasks-CnTLKG-9.js";import{t as Q}from"./PromptTextarea-B33JPhld.js";var ne=g({name:`LayoutPika`,components:{ElDrawer:T,ElButton:L,FontAwesomeIcon:B},mixins:[U]}),re={class:`main flex flex-row flex-1`},ie={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ae={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function oe(t,n,r,a,s,d){let p=c(`font-awesome-icon`),g=c(`el-button`),_=c(`el-drawer`);return m(),o(`div`,re,[e(`div`,ie,[u(t.$slots,`config`,{},void 0,!0)]),e(`div`,ae,[u(t.$slots,`result`,{},void 0,!0)]),l(i(g,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:f(()=>[i(p,{icon:`fa-solid fa-magic`})]),_:1},512),[[h,!t.tasksEmpty]]),i(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:f(()=>[u(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var se=k(ne,[[`render`,oe],[`__scopeId`,`data-v-cbfdbeb3`]]),ce=g({name:`IngredientsSelector`,components:{ElSwitch:E,InfoIcon:G},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients},set(e){console.debug(`set ingredients`,e),e||this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients:e,ingredients_mode:void 0,image_url:void 0}),this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients:e,model:`2.0`})}}},mounted(){this.value===void 0&&(this.value=!1)}}),le={class:`field`},ue={class:`title font-bold`};function de(t,n,a,s,l,u){let d=c(`el-switch`),f=c(`info-icon`);return m(),o(`div`,le,[e(`h2`,ue,r(t.$t(`pika.name.ingredients`)),1),i(d,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},null,8,[`modelValue`]),i(f,{content:t.$t(`pika.description.ingredients`),class:`info`},null,8,[`content`])])}var fe=k(ce,[[`render`,de],[`__scopeId`,`data-v-17c0af5c`]]),pe=g({name:`EffectSelector`,components:{ElSelect:_,ElOption:v},data(){return{}},computed:{options(){return[{value:`Levitate`,label:this.$t(`pika.style.effect1`)},{value:`Decapitate`,label:this.$t(`pika.style.effect2`)},{value:`Eye-pop`,label:this.$t(`pika.style.effect3`)},{value:`Ta-da`,label:this.$t(`pika.style.effect4`)},{value:`Deflate`,label:this.$t(`pika.style.effect5`)},{value:`Crumble`,label:this.$t(`pika.style.effect6`)},{value:`Dissolve`,label:this.$t(`pika.style.effect7`)},{value:`Squish`,label:this.$t(`pika.style.effect8`)},{value:`Inflate`,label:this.$t(`pika.style.effect9`)},{value:`Melt`,label:this.$t(`pika.style.effect10`)},{value:`Cake-ify`,label:this.$t(`pika.style.effect11`)},{value:`Crush`,label:this.$t(`pika.style.effect12`)},{value:`Explode`,label:this.$t(`pika.style.effect13`)}]},value:{get(){return this.$store.state.pika?.config?.effect},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,effect:e})}}}}),me={class:`field`},he={class:`title font-bold`},ge={class:`float-left`};function _e(t,n,a,l,u,h){let g=c(`el-option`),_=c(`el-select`);return m(),o(`div`,me,[e(`h2`,he,r(t.$t(`pika.name.effect`)),1),i(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pika.placeholder.select`),clearable:``},{default:f(()=>[(m(!0),o(s,null,p(t.options,t=>(m(),d(g,{key:t.value,label:t.label,value:t.value},{default:f(()=>[e(`span`,ge,r(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ve=k(pe,[[`render`,_e],[`__scopeId`,`data-v-d1c54475`]]),ye=g({name:`IngredientsModelSelector`,components:{ElRadioButton:C,ElRadioGroup:w},data(){return{options:[{label:this.$t(`pika.button.precise`),value:`precise`},{label:this.$t(`pika.button.creative`),value:`creative`}]}},computed:{value:{get(){return this.$store.state.pika?.config?.ingredients_mode},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,ingredients_mode:e})}}},mounted(){this.value||=D}}),be={class:`field`},xe={class:`title font-bold`};function Se(t,a,l,u,h,g){let _=c(`el-radio-button`),v=c(`el-radio-group`);return m(),o(`div`,be,[e(`h2`,xe,r(t.$t(`pika.name.ingredientsModel`)),1),i(v,{modelValue:t.value,"onUpdate:modelValue":a[0]||=e=>t.value=e,class:`quality`},{default:f(()=>[(m(!0),o(s,null,p(t.options,e=>(m(),d(_,{key:e.value,label:e.value},{default:f(()=>[n(r(e.label),1)]),_:2},1032,[`label`]))),128))]),_:1},8,[`modelValue`])])}var Ce=k(ye,[[`render`,Se],[`__scopeId`,`data-v-b72865fa`]]),we=g({name:`ModelSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`2.0`,label:`2.0`},{value:`1.5`,label:`1.5`}]}},computed:{value:{get(){return this.$store.state.pika?.config?.model},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika.config,model:e})}}},mounted(){this.value||=`2.0`}}),Te={class:`field`},Ee={class:`title font-bold`};function De(t,n,a,l,u,h){let g=c(`el-option`),_=c(`el-select`);return m(),o(`div`,Te,[e(`h2`,Ee,r(t.$t(`pika.name.model`)),1),i(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`pika.placeholder.select`)},{default:f(()=>[(m(!0),o(s,null,p(t.options,e=>(m(),d(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Oe=k(we,[[`render`,De],[`__scopeId`,`data-v-7b2e870a`]]),ke=g({name:`ImageUrlInput`,components:{ElUpload:y,ElButton:L,InfoIcon:G,ImagePreview:H,FontAwesomeIcon:B},mixins:[F,I],data(){return{fileList:[],uploadUrl:M()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.pika?.config?.image_url},set(){let e=this.urls?.[0];this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,image_url:e})}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){R.warning(this.$t(`pika.message.uploadStartImageExceed`))},onError(){R.error(this.$t(`pika.message.uploadStartImageError`))},async onRemove(){R.error(this.$t(`pika.message.uploadStartImageError`))},onSetStartImageUrl(){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,image_url:this.urls})},async onSuccess(){this.onSetStartImageUrl()}}}),Ae={class:`field`},je={class:`title font-bold`},Me={class:`upload-wrapper`};function Ne(t,a,s,l,u,d){let p=c(`image-preview`),h=c(`font-awesome-icon`),g=c(`el-button`),_=c(`el-upload`),v=c(`info-icon`);return m(),o(`div`,Ae,[e(`h2`,je,r(t.$t(`pika.name.imageUrl`)),1),e(`div`,Me,[i(_,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":a[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value upload-wrapper`,limit:3,multiple:!0,"list-type":`picture`,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-remove":t.onRemove,"on-success":t.onSuccess,headers:t.headers},{file:f(({file:e})=>[i(p,{url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:f(()=>[i(g,{size:`small`,type:`primary`,round:``},{default:f(()=>[i(h,{icon:`fa-solid fa-upload`,class:`mr-1`}),n(` `+r(t.$t(`pika.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])]),i(v,{content:t.$t(`pika.description.imageUrl`),class:`info`},null,8,[`content`])])}var Pe=k(ke,[[`render`,Ne],[`__scopeId`,`data-v-25cefe78`]]),Fe=g({name:`PromptInput`,components:{PromptTextarea:Q},computed:{prompt:{get(){return this.$store.state.pika?.config?.prompt},set(e){this.$store.commit(`pika/setConfig`,{...this.$store.state.pika?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Ie(e,t,n,r,i,a){let o=c(`prompt-textarea`);return m(),d(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`pika.name.prompt`),info:e.$t(`pika.description.prompt`),placeholder:e.$t(`pika.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Le=g({name:`PresetPanel`,components:{ImageUrlInput:Pe,ElButton:L,FontAwesomeIcon:B,Consumption:W,PromptInput:k(Fe,[[`render`,Ie]]),IngredientsSelector:fe,IngredientsModelSelector:Ce,ModelSelector:Oe,EffectSelector:ve},emits:[`generate`],computed:{config(){return this.$store.state.pika?.config},consumption(){return j(this.config,this.service?.cost)},service(){return this.$store.state.pika?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Re={class:`flex flex-col h-full`},ze={class:`flex-1 overflow-y-auto p-5`},Be={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ve(t,s,l,u,p,h){let g=c(`prompt-input`),_=c(`model-selector`),v=c(`ingredients-selector`),y=c(`effect-selector`),b=c(`image-url-input`),x=c(`ingredients-model-selector`),S=c(`consumption`),C=c(`font-awesome-icon`),w=c(`el-button`);return m(),o(`div`,Re,[e(`div`,ze,[i(g,{class:`mb-4`}),i(_,{class:`mb-4`}),i(v,{class:`mb-4`}),i(y,{class:`mb-4`}),t.config?.ingredients?(m(),d(b,{key:0,class:`mb-4`})):a(``,!0),t.config?.ingredients?(m(),d(x,{key:1,class:`mb-4`})):a(``,!0)]),e(`div`,Be,[i(S,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),i(w,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:f(()=>[i(C,{icon:`fa-solid fa-magic`,class:`mr-2`}),n(` `+r(t.$t(`pika.button.generate`)),1)]),_:1},8,[`onClick`])])])}var He=k(Le,[[`render`,Ve]]),Ue=g({name:`VideoPlayer`,components:{VuePlyr:J},props:{modelValue:{type:Object,required:!0}},data(){return{options:{quality:{default:1080,options:[1080]}}}}}),We=[`data-poster`],Ge=[`src`];function Ke(t,n,r,a,s,l){let u=c(`vue-plyr`);return m(),o(`div`,null,[i(u,{options:t.options,class:`video`},{default:f(()=>[e(`video`,{controls:``,playsinline:``,preload:`metadata`,"data-poster":t.modelValue?.image_url},[e(`source`,{size:`1080`,src:t.modelValue?.video_url,type:`video/mp4`},null,8,Ge)],8,We)]),_:1},8,[`options`])])}var qe=g({name:`TaskPreview`,components:{ElImage:x,CopyToClipboard:V,FontAwesomeIcon:B,ElAlert:S,VideoPlayer:k(Ue,[[`render`,Ke],[`__scopeId`,`data-v-897d9fe0`]]),ElTooltip:b,ElButton:L,ApiCodeButton:Y},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.pika?.application},config(){return this.$store.state.pika?.config},videos(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e}},methods:{onDownload(e){console.log(`on download`),window.open(e,`_blank`)},onReload(e){let t=e.target,n=new URL(t.src),r=n.searchParams.get(`retry`);if(!r)n.searchParams.set(`retry`,`1`);else if(parseInt(r)<2)n.searchParams.set(`retry`,(parseInt(r)+1).toString());else return;t.src=n.toString()},onOpenVideo(e){window.open(e,`_blank`)}}}),Je={class:`left`},Ye={class:`main`},Xe={class:`bot`},Ze={class:`datetime`},Qe={class:`info`},$e={key:0,class:`prompt mt-2`},et={key:0},tt={key:1},nt={key:0,class:t({content:!0,failed:!0})},rt={class:`image-wrapper`},it={key:0,class:t({operations:!0,"mt-2":!0})},at={key:0,class:`description`},ot={class:`description`},st={key:1,class:`description`},ct={key:1,class:t({content:!0})},lt={class:`description`},ut={class:`description`},dt={key:0,class:`description`},ft={class:`description`},$={key:2,class:t({content:!0})},pt={class:`description`};function mt(t,l,u,h,g,_){let v=c(`el-image`),y=c(`VideoPlayer`),b=c(`el-button`),x=c(`el-tooltip`),S=c(`api-code-button`),C=c(`font-awesome-icon`),w=c(`copy-to-clipboard`),T=c(`el-alert`);return m(!0),o(s,null,p(t.videos,(s,c)=>(m(),o(`div`,{key:c,class:`preview`},[e(`div`,Je,[i(v,{src:`https://cdn.acedata.cloud/i80tgn.png`,class:`avatar`})]),e(`div`,Ye,[e(`div`,Xe,[n(r(t.$t(`pika.name.pikaBot`))+` `,1),e(`span`,Ze,r(t.$dayjs.format(``+new Date(parseFloat((t.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,Qe,[t.modelValue?.request?.prompt?(m(),o(`p`,$e,[n(r(t.modelValue?.request?.prompt)+` `,1),t.modelValue?.response?a(``,!0):(m(),o(`span`,et,` - (`+r(t.$t(`pika.status.pending`))+`) `,1)),s?.state===`processing`||s?.state===`pending`?(m(),o(`span`,tt,` - (`+r(t.$t(`pika.status.processing`))+`) `,1)):a(``,!0)])):a(``,!0)]),t.modelValue?.response?.success===!0?(m(),o(`div`,nt,[e(`div`,rt,[i(y,{"model-value":s},null,8,[`model-value`])]),s?(m(),o(`div`,it,[i(x,{class:`box-item`,effect:`dark`,content:t.$t(`pika.message.downloadVideo`),placement:`top-start`},{default:f(()=>[s?.video_url?(m(),d(b,{key:0,type:`info`,size:`small`,class:`btn-action`,onClick:e=>t.onDownload(s?.video_url)},{default:f(()=>[n(r(t.$t(`pika.button.download`)),1)]),_:1},8,[`onClick`])):a(``,!0)]),_:2},1032,[`content`]),i(S,{path:`/pika/videos`,body:t.modelValue?.request},null,8,[`body`])])):a(``,!0),i(T,{closable:!1,class:`mt-2 success`},{default:f(()=>[t.modelValue?.request?.model?(m(),o(`p`,at,[i(C,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),n(` `+r(t.$t(`pika.name.model`))+`: `+r(t.modelValue?.request?.model),1)])):a(``,!0),e(`p`,ot,[i(C,{icon:`fa-solid fa-magic`,class:`mr-1`}),n(` `+r(t.$t(`pika.name.taskId`))+`: `+r(t.modelValue?.id)+` `,1),i(w,{content:t.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),t.modelValue?.elapsed?(m(),o(`p`,st,[i(C,{icon:`fa-solid fa-clock`,class:`mr-1`}),n(` `+r(t.$t(`pika.name.elapsed`))+`: `+r(t.modelValue?.elapsed?.toFixed(2))+`s `,1)])):a(``,!0)]),_:1})])):a(``,!0),t.modelValue?.response?.success===!1?(m(),o(`div`,ct,[i(T,{closable:!1,class:`failure`},{template:f(()=>[i(C,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),n(` `+r(t.$t(`pika.name.failure`)),1)]),default:f(()=>[e(`p`,lt,[i(C,{icon:`fa-solid fa-magic`,class:`mr-1`}),n(` `+r(t.$t(`pika.name.taskId`))+`: `+r(t.modelValue?.id)+` `,1),i(w,{content:t.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,ut,[i(C,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),n(` `+r(t.$t(`pika.name.failureReason`))+`: `+r(t.modelValue?.response?.error?.message)+` `,1),i(w,{content:t.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),t.modelValue?.elapsed?(m(),o(`p`,dt,[i(C,{icon:`fa-solid fa-clock`,class:`mr-1`}),n(` `+r(t.$t(`pika.name.elapsed`))+`: `+r(t.modelValue?.elapsed?.toFixed(2))+`s `,1)])):a(``,!0),e(`p`,ft,[i(C,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),n(` `+r(t.$t(`pika.name.traceId`))+`: `+r(t.modelValue?.response?.trace_id)+` `,1),i(w,{content:t.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):a(``,!0),!t.modelValue?.response||s?.state===`processing`||s?.state===`pending`?(m(),o(`div`,$,[i(T,{closable:!1,class:`info`},{template:f(()=>[i(C,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),n(` `+r(t.$t(`pika.name.failure`)),1)]),default:f(()=>[e(`p`,pt,[i(C,{icon:`fa-solid fa-magic`,class:`mr-1`}),n(` `+r(t.$t(`pika.name.taskId`))+`: `+r(t.modelValue?.id)+` `,1),i(w,{content:t.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):a(``,!0)])]))),128)}var ht=g({name:`RecentPanel`,components:{TaskPreview:k(qe,[[`render`,mt],[`__scopeId`,`data-v-52856c99`]]),BotPlaceholder:X,NoTasks:Z,ScrollList:K},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.pika?.tasks,items:this.$store.state.pika?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),gt={key:0},_t={key:2,class:`w-full h-full flex items-center justify-center`};function vt(e,t,n,r,l,u){let h=c(`bot-placeholder`),g=c(`task-preview`),_=c(`scroll-list`),v=c(`no-tasks`);return m(),o(s,null,[e.tasks?.items===void 0?(m(),o(`div`,gt,[i(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(m(),d(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:f(()=>[(m(!0),o(s,null,p(e.tasks?.items,(e,t)=>(m(),d(g,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):a(``,!0),e.tasks?.items?.length===0?(m(),o(`div`,_t,[i(v)])):a(``,!0)],64)}var yt=g({name:`PikaIndex`,components:{ConfigPanel:He,Layout:se,RecentPanel:k(ht,[[`render`,vt]])},mixins:[ee],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.pika?.status?.getApplications===P.Request},tasksLoading(){return this.$store.state.pika?.status?.getTasks===P.Request||this.fetchingTasks},service(){return this.$store.state.pika.service},credential(){return this.$store.state.pika.credential},config(){return this.$store.state.pika.config},initializing(){return this.$store.state.pika.status.getApplications===P.Request},needApply(){return this.$store.state.pika.status.getApplications===P.Success&&!this.application},application(){return this.$store.state.pika.application},applications(){return this.$store.state.pika.applications},tasks(){return this.$store.state.pika.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await q({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`pika/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`pika/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},onApply(){N.create({application:this.application}).then(({data:e})=>{this.application=e,R.success(this.$t(`application.message.applySuccessfully`))}).catch(e=>{e?.response?.data?.code===`duplication`&&R.error(this.$t(`application.message.alreadyApplied`))})},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`pika/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!A(this.uploadTracker,e=>this.$t(e),e=>R.warning(e)))return;let e={...this.config,async:!0};if(!O())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}R.info(this.$t(`pika.message.startingTask`)),z(`pika`,te.generate(e,{token:t})).then(()=>{R.success(this.$t(`pika.message.startTaskSuccess`)),this.$store.commit(`pika/setConfig`,{config:void 0})}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?R.error(this.$t(`pika.message.usedUp`)):R.error(this.$t(`pika.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function bt(e,t,n,r,a,o){let s=c(`config-panel`),l=c(`recent-panel`),u=c(`layout`);return m(),d(u,null,{config:f(()=>[i(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:f(()=>[i(l,{ref:`recentPanel`,class:`panel recent`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var xt=k(yt,[[`render`,bt],[`__scopeId`,`data-v-fee6c9ea`]]);export{xt as default};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,I as n,Jt as r,L as i,M as a,N as o,T as s,at as c,ht as l,it as u,j as d,mt as f,ot as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{B as v,I as y,X as b,Z as x,nt as S}from"./use-deprecated-B-uvyrTL.js";import{r as C,t as w}from"./select-DKNHU_KN.js";import{n as T,t as E}from"./tabs-BVwtsmHU.js";import{t as D}from"./upload-BySO5bAt.js";import{t as O}from"./tooltip-tldVVG8C.js";import{t as k}from"./image-B4fW-Em5.js";import{t as A}from"./avatar-CDRiCu03.js";import{n as j,r as M}from"./radio-Bj0tEwH8.js";import{n as ee,t as N}from"./collapse-Cd51Uv_A.js";import{t as P}from"./drawer-C_TXaJGS.js";import{n as F,r as I,t as te}from"./dropdown-DJZ5PzHs.js";import{t as L}from"./input-number-UEFRIWEQ.js";import{n as ne,t as re}from"./skeleton-CoheJz5x.js";import{t as ie}from"./slider-BbR9kUdk.js";import{t as ae}from"./switch-BR4-pbXw.js";import{Un as oe}from"./constants-BvFmtK59.js";import{$t as R,A as z,Bt as B,Ci as V,Gt as H,Ht as U,Kr as W,Qn as G,Sn as K,Ur as q,Vt as se,mi as J,ri as Y,rr as ce}from"./index-Bp_B3yTD.js";import{t as X}from"./index.es-ByeT4YNA.js";import{n as le}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ue}from"./Consumption-DVyH1F-a.js";import{i as Z,n as de,r as fe,t as pe}from"./pagination-BSspsPVx.js";import{t as me}from"./NoTasks-CnTLKG-9.js";import{t as he}from"./PromptTextarea-B33JPhld.js";import{n as ge,r as Q,t as _e}from"./Player-Bhl6QGyN.js";var ve=_({name:`LayoutProducer`,components:{ElDrawer:P,ElButton:J,FontAwesomeIcon:X},mixins:[le],data(){return{preview:!1}},computed:{}}),ye={class:`main flex flex-row flex-1`},be={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},xe={class:`result h-full flex flex-col flex-1 min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`},Se={class:`preview h-full w-[300px] flex flex-col`};function Ce(t,n,r,a,s,d){let p=c(`font-awesome-icon`),m=c(`el-button`),_=c(`el-drawer`);return h(),o(`div`,ye,[e(`div`,be,[u(t.$slots,`config`,{},void 0,!0)]),e(`div`,xe,[u(t.$slots,`result`,{},void 0,!0)]),e(`div`,Se,[u(t.$slots,`preview`,{},void 0,!0)]),l(i(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:f(()=>[i(p,{icon:`fa-solid fa-magic`})]),_:1},512),[[g,!t.tasksEmpty]]),i(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:f(()=>[u(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var we=z(ve,[[`render`,Ce],[`__scopeId`,`data-v-cc984c6f`]]),Te=_({name:`TypeSelector`,components:{ElSelect:C,ElOption:w,ElSwitch:ae,InfoIcon:Z},data(){return{options:[{label:`FUZZ-2.0 Pro`,value:`FUZZ-2.0 Pro`,desc:this.$t(`producer.model.fuzz20proDesc`)},{label:`FUZZ-2.0`,value:`FUZZ-2.0`,desc:this.$t(`producer.model.fuzz20desc`)},{label:`FUZZ-2.0 Raw`,value:`FUZZ-2.0 Raw`,desc:this.$t(`producer.model.fuzz20rawDesc`)},{label:`FUZZ-1.1 Pro`,value:`FUZZ-1.1 Pro`,desc:this.$t(`producer.model.fuzz11proDesc`)},{label:`FUZZ-1.1`,value:`FUZZ-1.1`,desc:this.$t(`producer.model.fuzz11desc`)},{label:`FUZZ-1.0 Pro`,value:`FUZZ-1.0 Pro`,desc:this.$t(`producer.model.fuzz10proDesc`)},{label:`FUZZ-1.0`,value:`FUZZ-1.0`,desc:this.$t(`producer.model.fuzz10desc`)},{label:`FUZZ-0.8`,value:`FUZZ-0.8`,desc:this.$t(`producer.model.fuzz08desc`)}]}},computed:{custom:{get(){return this.$store.state.producer?.config?.custom||!1},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,custom:e})}},instrumental:{get(){return this.$store.state.producer?.config?.instrumental||!1},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,instrumental:e})}},model:{get(){return this.$store.state.producer?.config?.model},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,model:e})}}},mounted(){this.model||=oe}}),Ee={class:`mb-3`},De={class:`flex items-center mb-1`},Oe={class:`text-sm font-bold`},ke={class:`model-option`},Ae={class:`model-option-name`},je={class:`model-option-desc`},Me={key:0,class:`flex items-center justify-between mb-3`},Ne={class:`flex items-center`},Pe={class:`text-sm font-bold`};function Fe(t,n,l,u,p,g){let _=c(`el-option`),v=c(`el-select`),y=c(`info-icon`),b=c(`el-switch`);return h(),o(`div`,null,[e(`div`,Ee,[e(`div`,De,[e(`span`,Oe,r(t.$t(`producer.name.model`)),1)]),i(v,{modelValue:t.model,"onUpdate:modelValue":n[0]||=e=>t.model=e,class:`w-full model-select`,size:`default`,placeholder:t.$t(`producer.placeholder.select`)},{default:f(()=>[(h(!0),o(s,null,m(t.options,t=>(h(),d(_,{key:t.value,label:t.label,value:t.value},{default:f(()=>[e(`div`,ke,[e(`span`,Ae,r(t.label),1),e(`span`,je,r(t.desc),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),t.custom?(h(),o(`div`,Me,[e(`div`,Ne,[e(`span`,Pe,r(t.$t(`producer.name.instrumental`)),1),i(y,{content:t.$t(`producer.description.instrumental`)},null,8,[`content`])]),i(b,{modelValue:t.instrumental,"onUpdate:modelValue":n[1]||=e=>t.instrumental=e},null,8,[`modelValue`])])):a(``,!0)])}var Ie=z(Te,[[`render`,Fe],[`__scopeId`,`data-v-42496b9a`]]),Le=_({name:`UploadAudio`,components:{ElUpload:D,ElButton:J,ElRadioGroup:M,ElRadioButton:j,InfoIcon:Z,FontAwesomeIcon:X},mixins:[se],emits:[`change`],data(){return{fileList:[],uploadUrl:W()+`/api/v1/files/`,audioPreviewUrl:null,uploading:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},credential(){return this.$store.state.producer.credential},config(){return this.$store.state.producer.config},urls(){return this.fileList.map(e=>e?.response?.file_url)},hasUploadedAudio(){let e=this.$store.state.producer?.config?.action;return e===`upload_extend`||e===`upload_cover`},uploadAction:{get(){return this.$store.state.producer?.config?.action||`upload_extend`},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,action:e})}}},watch:{urls:{handler(e){this.$emit(`change`,e)}}},methods:{onExceed(){Y.warning(this.$t(`producer.message.uploadReferencesExceed`))},onError(){this.uploading=!1,Y.error(this.$t(`producer.message.uploadReferencesError`))},async onSuccess(){let e=this.urls?.[0];if(!e){this.uploading=!1;return}this.audioPreviewUrl=e,await this.onGenerateAudioId(e)},async onGenerateAudioId(e){let t={audio_url:e},n=this.credential?.token;if(!n){console.error(`no token specified`),this.uploading=!1;return}this.uploading=!0,Y.info(this.$t(`producer.message.startingUploadAudio`));try{let e=(await K.upload(t,{token:n})).data?.data.audio_id;this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,audio_id:e,action:`upload_extend`}),Y.success(this.$t(`producer.message.startUploadAudioSuccess`))}catch(e){Y.error(e?.response?.data?.error?.message||this.$t(`producer.message.startUploadAudioFailed`))}finally{this.uploading=!1}}}}),Re={class:`relative`},ze={class:`flex justify-between items-center mb-2`},Be={class:`flex justify-start items-center`},Ve={class:`text-sm font-bold`},He={key:0,class:`mb-2`},Ue=[`src`],We={key:1,class:`mt-1`};function Ge(t,s,l,u,d,p){let m=c(`info-icon`),g=c(`font-awesome-icon`),_=c(`el-button`),v=c(`el-upload`),y=c(`el-radio-button`),b=c(`el-radio-group`);return h(),o(`div`,Re,[e(`div`,ze,[e(`div`,Be,[e(`span`,Ve,r(t.$t(`producer.name.referenceAudios`)),1),i(m,{content:t.$t(`producer.description.uploadAudios`)},null,8,[`content`])]),i(v,{"file-list":t.fileList,"onUpdate:fileList":s[0]||=e=>t.fileList=e,name:`file`,limit:1,class:`upload-wrapper inline-upload`,action:t.uploadUrl,accept:`.mp3,.wav,.m4a,audio/*`,"show-file-list":!1,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{default:f(()=>[i(_,{round:``,type:`primary`,size:`small`,loading:t.uploading},{default:f(()=>[i(g,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),n(` `+r(t.$t(`producer.button.uploadAudios`)),1)]),_:1},8,[`loading`])]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])]),t.audioPreviewUrl?(h(),o(`div`,He,[e(`audio`,{src:t.audioPreviewUrl,controls:``,class:`w-full`},null,8,Ue)])):a(``,!0),t.hasUploadedAudio?(h(),o(`div`,We,[i(b,{modelValue:t.uploadAction,"onUpdate:modelValue":s[1]||=e=>t.uploadAction=e,size:`small`},{default:f(()=>[i(y,{value:`upload_extend`},{default:f(()=>[n(r(t.$t(`producer.button.extend`)),1)]),_:1}),i(y,{value:`upload_cover`},{default:f(()=>[n(r(t.$t(`producer.button.cover_music`)),1)]),_:1})]),_:1},8,[`modelValue`])])):a(``,!0)])}var Ke=z(Le,[[`render`,Ge],[`__scopeId`,`data-v-7fd0580a`]]),qe=_({name:`PromptInput`,components:{PromptTextarea:he},computed:{prompt:{get(){return this.$store.state.producer?.config?.prompt},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Je(e,t,n,r,i,a){let o=c(`prompt-textarea`);return h(),d(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`producer.name.songDescription`),info:e.$t(`producer.description.prompt`),placeholder:e.$t(`producer.placeholder.prompt`),"min-rows":5,"max-rows":14},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ye=z(qe,[[`render`,Je]]),Xe=_({name:`LyricInput`,components:{ElInput:V,ElButton:J,FontAwesomeIcon:X,InfoIcon:Z},data(){return{generatingLyrics:!1}},computed:{lyric:{get(){return this.$store.state.producer?.config?.lyric},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,lyric:e})}},config(){return this.$store.state.producer?.config},credential(){return this.$store.state.producer?.credential}},mounted(){this.lyric||=``},methods:{async onGenerateLyrics(){let e=this.credential?.token;if(!e)return;let t=this.config?.style||this.config?.title||`a beautiful song`;this.generatingLyrics=!0,Y.info(this.$t(`producer.message.generatingLyrics`));try{let n=(await K.lyric({prompt:t},{token:e})).data?.data;n?.text&&(this.lyric=n.text,n?.title&&!this.config?.title&&this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,lyric:n.text,title:n.title}),Y.success(this.$t(`producer.message.generateLyricsSuccess`)))}catch{Y.error(this.$t(`producer.message.generateLyricsFailed`))}finally{this.generatingLyrics=!1}}}}),Ze={class:`field`},Qe={class:`flex items-center justify-between mb-1`},$e={class:`flex items-center`},et={class:`text-sm font-bold`};function tt(t,s,l,u,p,m){let g=c(`info-icon`),_=c(`font-awesome-icon`),v=c(`el-button`),y=c(`el-input`);return h(),o(`div`,Ze,[e(`div`,Qe,[e(`div`,$e,[e(`span`,et,r(t.$t(`producer.name.lyrics`)),1),i(g,{content:t.$t(`producer.description.lyrics`)},null,8,[`content`])]),t.config?.action===`extend`?a(``,!0):(h(),d(v,{key:0,size:`small`,loading:t.generatingLyrics,round:``,onClick:t.onGenerateLyrics},{default:f(()=>[t.generatingLyrics?a(``,!0):(h(),d(_,{key:0,icon:`fa-solid fa-wand-magic-sparkles`,class:`mr-1`})),n(` `+r(t.$t(`producer.button.generate_lyrics`)),1)]),_:1},8,[`loading`,`onClick`]))]),t.config?.action===`extend`?(h(),d(y,{key:1,modelValue:t.lyric,"onUpdate:modelValue":s[1]||=e=>t.lyric=e,rows:5,type:`textarea`,class:`lyrics`,placeholder:t.$t(`producer.placeholder.extend.lyrics`)},null,8,[`modelValue`,`placeholder`])):(h(),d(y,{key:0,modelValue:t.lyric,"onUpdate:modelValue":s[0]||=e=>t.lyric=e,rows:5,type:`textarea`,class:`lyrics`,placeholder:t.$t(`producer.placeholder.lyrics`)},null,8,[`modelValue`,`placeholder`]))])}var nt=z(Xe,[[`render`,tt],[`__scopeId`,`data-v-88c6da2b`]]),rt=_({name:`StyleInput`,components:{ElInput:V,InfoIcon:Z},computed:{style:{get(){return this.$store.state.producer?.config?.style},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,style:e})}}}}),it={class:`field`},at={class:`flex items-center justify-between mb-1`},ot={class:`flex items-center`},st={class:`text-sm font-bold`};function ct(t,n,a,s,l,u){let d=c(`info-icon`),f=c(`el-input`);return h(),o(`div`,it,[e(`div`,at,[e(`div`,ot,[e(`span`,st,r(t.$t(`producer.name.style`)),1),i(d,{content:t.$t(`producer.description.style`)},null,8,[`content`])])]),i(f,{modelValue:t.style,"onUpdate:modelValue":n[0]||=e=>t.style=e,rows:2,type:`textarea`,placeholder:t.$t(`producer.placeholder.style`)},null,8,[`modelValue`,`placeholder`])])}var lt=z(rt,[[`render`,ct]]),ut=_({name:`TitleInput`,components:{ElInput:V,InfoIcon:Z},computed:{title:{get(){return this.$store.state.producer?.config?.title},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,title:e})}}}}),dt={class:`field`},ft={class:`flex items-center mb-1`},pt={class:`text-sm font-bold`};function mt(t,n,a,s,l,u){let d=c(`info-icon`),f=c(`el-input`);return h(),o(`div`,dt,[e(`div`,ft,[e(`span`,pt,r(t.$t(`producer.name.title`)),1),i(d,{content:t.$t(`producer.description.title`)},null,8,[`content`])]),i(f,{modelValue:t.title,"onUpdate:modelValue":n[0]||=e=>t.title=e,placeholder:t.$t(`producer.placeholder.title`)},null,8,[`modelValue`,`placeholder`])])}var ht=z(ut,[[`render`,mt]]),gt=_({name:`ExtendFromInput`,components:{ElImage:k,ElIcon:S,ElInputNumber:L,VideoPlay:x,VideoPause:b},data(){return{}},computed:{audio(){return this.$store.state.producer?.config?.audio},value:{get(){return this.$store.state.producer?.config?.continue_at},set(e){console.debug(`set continue_at`,e),this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,continue_at:e?parseInt(e):void 0})}}},mounted(){this.value||=void 0},methods:{handleChange(e){if(e===void 0){this.value=void 0;return}e<0?this.value=0:e>this.audio?.duration?this.value=this.audio?.duration:this.value=e},useFormatDuring:Q,onPlay(e){this.$store.dispatch(`producer/setAudio`,{...this.$store.state.producer.audio,...e,state:`playing`}),console.log(`on play`)},onPause(e){this.$store.dispatch(`producer/setAudio`,{...this.$store.state.producer.audio,...e,state:`paused`}),console.log(`on pause`)},onClick(e){this.$store.state?.producer?.audio?.id!==e.id&&this.onPlay({...e,progress:0})}}}),_t={class:`field`},vt={class:`box`},yt={class:`title font-bold`},bt={class:`input-wrapper`},xt={class:`task`},St={class:`left`},Ct={key:2,class:`duration`},wt={class:`info`},Tt={class:`title`},Et={class:`style`};function Dt(t,n,s,u,d,m){let g=c(`el-input-number`),_=c(`el-image`),v=c(`video-pause`),y=c(`el-icon`),b=c(`video-play`),x=p(`loading`);return h(),o(`div`,_t,[e(`div`,vt,[e(`h2`,yt,r(t.$t(`producer.name.extend`)),1),e(`div`,bt,[i(g,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,min:0,max:t.audio?.duration,controls:!1,placeholder:t.$t(`producer.placeholder.extend.continue_at`),onChange:t.handleChange},null,8,[`modelValue`,`max`,`placeholder`,`onChange`])])]),e(`div`,xt,[t.audio?(h(),o(`div`,{key:0,class:`audio`,onClick:n[3]||=e=>t.onClick(t.audio)},[l((h(),o(`div`,St,[i(_,{src:t.audio?.image_url,class:`cover`,fit:`cover`},null,8,[`src`]),t.audio?.audio_url&&t.$store.state?.producer?.audio?.id===t.audio.id&&t.$store.state?.producer?.audio?.state===`playing`?(h(),o(`div`,{key:0,class:`overlay`,onClick:n[1]||=e=>t.onPause(t.audio)},[i(y,null,{default:f(()=>[i(v)]),_:1})])):a(``,!0),t.audio?.audio_url&&(t.$store.state?.producer?.audio?.id!==t.audio.id||t.$store.state?.producer?.audio?.id===t.audio.id&&t.$store.state?.producer?.audio?.state===`paused`)?(h(),o(`div`,{key:1,class:`overlay`,onClick:n[2]||=e=>t.onPlay(t.audio)},[i(y,null,{default:f(()=>[i(b)]),_:1})])):a(``,!0),t.audio?.duration?(h(),o(`div`,Ct,r(t.useFormatDuring(t.audio?.duration)),1)):a(``,!0)])),[[x,!t.audio?.audio_url]]),e(`div`,wt,[e(`h2`,Tt,r(t.audio?.title),1),e(`p`,Et,r(t.audio?.style),1)])])):a(``,!0)])])}var Ot=z(gt,[[`render`,Dt],[`__scopeId`,`data-v-26d43480`]]),kt=_({name:`CoverFromInput`,components:{ElImage:k,ElIcon:S,VideoPlay:x,VideoPause:b},data(){return{}},computed:{audio(){return this.$store.state.producer?.config?.audio},value:{get(){return this.$store.state.producer?.config?.continue_at},set(e){console.debug(`set continue_at`,e),this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,continue_at:e?parseInt(e):void 0})}}},mounted(){this.value||=void 0},methods:{handleChange(e){e<0?this.value=0:e>this.audio?.duration?this.value=this.audio?.duration:this.value=e},useFormatDuring:Q,onPlay(e){this.$store.dispatch(`producer/setAudio`,{...this.$store.state.producer.audio,...e,state:`playing`}),console.log(`on play`)},onPause(e){this.$store.dispatch(`producer/setAudio`,{...this.$store.state.producer.audio,...e,state:`paused`}),console.log(`on pause`)},onClick(e){this.$store.state?.producer?.audio?.id!==e.id&&this.onPlay({...e,progress:0})}}}),At={class:`field`},jt={class:`box`},Mt={class:`title font-bold`},Nt={class:`task`},Pt={class:`left`},Ft={key:2,class:`duration`},It={class:`info`},Lt={class:`title`},Rt={class:`style`};function zt(t,n,s,u,d,m){let g=c(`el-image`),_=c(`video-pause`),v=c(`el-icon`),y=c(`video-play`),b=p(`loading`);return h(),o(`div`,At,[e(`div`,jt,[e(`h2`,Mt,r(t.$t(`producer.name.cover`)),1)]),e(`div`,Nt,[t.audio?(h(),o(`div`,{key:0,class:`audio`,onClick:n[2]||=e=>t.onClick(t.audio)},[l((h(),o(`div`,Pt,[i(g,{src:t.audio?.image_url,class:`cover`,fit:`cover`},null,8,[`src`]),t.audio?.audio_url&&t.$store.state?.producer?.audio?.id===t.audio.id&&t.$store.state?.producer?.audio?.state===`playing`?(h(),o(`div`,{key:0,class:`overlay`,onClick:n[0]||=e=>t.onPause(t.audio)},[i(v,null,{default:f(()=>[i(_)]),_:1})])):a(``,!0),t.audio?.audio_url&&(t.$store.state?.producer?.audio?.id!==t.audio.id||t.$store.state?.producer?.audio?.id===t.audio.id&&t.$store.state?.producer?.audio?.state===`paused`)?(h(),o(`div`,{key:1,class:`overlay`,onClick:n[1]||=e=>t.onPlay(t.audio)},[i(v,null,{default:f(()=>[i(y)]),_:1})])):a(``,!0),t.audio?.duration?(h(),o(`div`,Ft,r(t.useFormatDuring(t.audio?.duration)),1)):a(``,!0)])),[[b,!t.audio?.audio_url]]),e(`div`,It,[e(`h2`,Lt,r(t.audio?.title),1),e(`p`,Rt,r(t.audio?.style),1)])])):a(``,!0)])])}var Bt=z(kt,[[`render`,zt],[`__scopeId`,`data-v-d8a8e583`]]),Vt=_({name:`VocalGenderSelector`,components:{ElRadioGroup:M,ElRadioButton:j,InfoIcon:Z},computed:{vocalGender:{get(){return this.$store.state.producer?.config?.vocal_gender||``},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,vocal_gender:e||void 0})}}}}),Ht={class:`mb-2`},Ut={class:`flex items-center mb-1`},Wt={class:`text-sm font-bold`};function Gt(t,a,s,l,u,d){let p=c(`info-icon`),m=c(`el-radio-button`),g=c(`el-radio-group`);return h(),o(`div`,Ht,[e(`div`,Ut,[e(`span`,Wt,r(t.$t(`producer.name.vocalGender`)),1),i(p,{content:t.$t(`producer.description.vocalGender`)},null,8,[`content`])]),i(g,{modelValue:t.vocalGender,"onUpdate:modelValue":a[0]||=e=>t.vocalGender=e},{default:f(()=>[i(m,{value:``},{default:f(()=>[n(r(t.$t(`producer.gender.auto`)),1)]),_:1}),i(m,{value:`f`},{default:f(()=>[n(r(t.$t(`producer.gender.female`)),1)]),_:1}),i(m,{value:`m`},{default:f(()=>[n(r(t.$t(`producer.gender.male`)),1)]),_:1})]),_:1},8,[`modelValue`])])}var Kt=z(Vt,[[`render`,Gt]]),qt=_({name:`AdvancedParams`,components:{ElCollapse:N,ElCollapseItem:ee,ElInput:V,ElSlider:ie,ElInputNumber:L,InfoIcon:Z},data(){return{activeNames:[]}},computed:{config(){return this.$store.state.producer?.config},styleNegative:{get(){return this.$store.state.producer?.config?.style_negative||``},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,style_negative:e||void 0})}},lyricPrompt:{get(){return this.$store.state.producer?.config?.lyric_prompt||``},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,lyric_prompt:e||void 0})}},weirdness:{get(){return this.$store.state.producer?.config?.weirdness??.5},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,weirdness:e})}},soundStrength:{get(){return this.$store.state.producer?.config?.sound_strength??.7},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,sound_strength:e})}},lyricsStrength:{get(){return this.$store.state.producer?.config?.lyrics_strength??.7},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,lyrics_strength:e})}},seed:{get(){return this.$store.state.producer?.config?.seed},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,seed:e})}}},mounted(){let e=this.$store.state.producer?.config;if(!e)return;let t={};typeof e.weirdness==`number`&&e.weirdness>1&&(t.weirdness=e.weirdness/100),typeof e.sound_strength==`number`&&e.sound_strength>1&&(t.sound_strength=e.sound_strength/100),typeof e.lyrics_strength==`number`&&e.lyrics_strength>1&&(t.lyrics_strength=e.lyrics_strength/100),Object.keys(t).length>0&&this.$store.commit(`producer/setConfig`,{...e,...t})}}),Jt={key:0,class:`mb-3`},Yt={class:`flex items-center mb-1`},Xt={class:`text-xs font-bold`},Zt={key:1,class:`mb-3`},Qt={class:`flex items-center mb-1`},$t={class:`text-xs font-bold`},en={class:`mb-3`},tn={class:`flex items-center justify-between mb-1`},nn={class:`flex items-center`},rn={class:`text-xs font-bold`},an={class:`text-xs text-[var(--el-text-color-secondary)]`},on={class:`mb-3`},sn={class:`flex items-center justify-between mb-1`},cn={class:`flex items-center`},ln={class:`text-xs font-bold`},un={class:`text-xs text-[var(--el-text-color-secondary)]`},dn={key:2,class:`mb-3`},fn={class:`flex items-center justify-between mb-1`},pn={class:`flex items-center`},mn={class:`text-xs font-bold`},hn={class:`text-xs text-[var(--el-text-color-secondary)]`},gn={class:`mb-3`},_n={class:`flex items-center mb-1`},vn={class:`text-xs font-bold`};function yn(t,n,s,l,u,p){let m=c(`info-icon`),g=c(`el-input`),_=c(`el-slider`),v=c(`el-input-number`),y=c(`el-collapse-item`),b=c(`el-collapse`);return h(),d(b,{modelValue:t.activeNames,"onUpdate:modelValue":n[6]||=e=>t.activeNames=e,class:`advanced-collapse`},{default:f(()=>[i(y,{title:t.$t(`producer.name.advancedParams`),name:`advanced`},{default:f(()=>[t.config?.custom?(h(),o(`div`,Jt,[e(`div`,Yt,[e(`span`,Xt,r(t.$t(`producer.name.styleNegative`)),1),i(m,{content:t.$t(`producer.description.styleNegative`)},null,8,[`content`])]),i(g,{modelValue:t.styleNegative,"onUpdate:modelValue":n[0]||=e=>t.styleNegative=e,size:`small`,placeholder:t.$t(`producer.placeholder.styleNegative`)},null,8,[`modelValue`,`placeholder`])])):a(``,!0),t.config?.custom&&!t.config?.instrumental?(h(),o(`div`,Zt,[e(`div`,Qt,[e(`span`,$t,r(t.$t(`producer.name.lyricPrompt`)),1),i(m,{content:t.$t(`producer.description.lyricPrompt`)},null,8,[`content`])]),i(g,{modelValue:t.lyricPrompt,"onUpdate:modelValue":n[1]||=e=>t.lyricPrompt=e,size:`small`,placeholder:t.$t(`producer.placeholder.lyricPrompt`)},null,8,[`modelValue`,`placeholder`])])):a(``,!0),e(`div`,en,[e(`div`,tn,[e(`div`,nn,[e(`span`,rn,r(t.$t(`producer.name.weirdness`)),1),i(m,{content:t.$t(`producer.description.weirdness`)},null,8,[`content`])]),e(`span`,an,r(t.weirdness??.5),1)]),i(_,{modelValue:t.weirdness,"onUpdate:modelValue":n[2]||=e=>t.weirdness=e,min:0,max:1,step:.01},null,8,[`modelValue`])]),e(`div`,on,[e(`div`,sn,[e(`div`,cn,[e(`span`,ln,r(t.$t(`producer.name.soundStrength`)),1),i(m,{content:t.$t(`producer.description.soundStrength`)},null,8,[`content`])]),e(`span`,un,r(t.soundStrength??.7),1)]),i(_,{modelValue:t.soundStrength,"onUpdate:modelValue":n[3]||=e=>t.soundStrength=e,min:.2,max:1,step:.01},null,8,[`modelValue`])]),t.config?.custom&&!t.config?.instrumental?(h(),o(`div`,dn,[e(`div`,fn,[e(`div`,pn,[e(`span`,mn,r(t.$t(`producer.name.lyricsStrength`)),1),i(m,{content:t.$t(`producer.description.lyricsStrength`)},null,8,[`content`])]),e(`span`,hn,r(t.lyricsStrength??.7),1)]),i(_,{modelValue:t.lyricsStrength,"onUpdate:modelValue":n[4]||=e=>t.lyricsStrength=e,min:0,max:1,step:.01},null,8,[`modelValue`])])):a(``,!0),e(`div`,gn,[e(`div`,_n,[e(`span`,vn,r(t.$t(`producer.name.seed`)),1),i(m,{content:t.$t(`producer.description.seed`)},null,8,[`content`])]),i(v,{modelValue:t.seed,"onUpdate:modelValue":n[5]||=e=>t.seed=e,min:0,controls:!1,size:`small`,placeholder:t.$t(`producer.placeholder.seed`),class:`w-full`},null,8,[`modelValue`,`placeholder`])])]),_:1},8,[`title`])]),_:1},8,[`modelValue`])}var bn=z(qt,[[`render`,yn],[`__scopeId`,`data-v-f9296888`]]),xn=_({name:`ReplaceSectionInput`,components:{ElInputNumber:L,ElImage:k,InfoIcon:Z},computed:{audio(){return this.$store.state.producer?.config?.audio},replaceSectionStart:{get(){return this.$store.state.producer?.config?.replace_section_start},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,replace_section_start:e})}},replaceSectionEnd:{get(){return this.$store.state.producer?.config?.replace_section_end},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,replace_section_end:e})}}},methods:{onClick(e){this.$store.dispatch(`producer/setAudio`,{...this.$store.state.producer.audio,...e,state:`playing`})}}}),Sn={class:`field`},Cn={class:`flex items-center mb-2`},wn={class:`text-sm font-bold m-0`},Tn={key:0,class:`task mb-2`},En={class:`left relative w-[50px] h-[50px] mr-3 flex-shrink-0`},Dn={class:`info flex-1 min-w-0`},On={class:`text-sm font-bold m-0 truncate`},kn={class:`text-xs text-[var(--el-text-color-secondary)] m-0 truncate`},An={class:`flex gap-2`};function jn(t,n,s,u,d,f){let m=c(`info-icon`),g=c(`el-image`),_=c(`el-input-number`),v=p(`loading`);return h(),o(`div`,Sn,[e(`div`,Cn,[e(`h2`,wn,r(t.$t(`producer.name.replaceSection`)),1),i(m,{content:t.$t(`producer.description.replaceSection`)},null,8,[`content`])]),t.audio?(h(),o(`div`,Tn,[e(`div`,{class:`audio flex items-center`,onClick:n[0]||=e=>t.onClick(t.audio)},[l((h(),o(`div`,En,[i(g,{src:t.audio?.image_url,class:`w-full h-full rounded`,fit:`cover`},null,8,[`src`])])),[[v,!t.audio?.audio_url]]),e(`div`,Dn,[e(`h2`,On,r(t.audio?.title),1),e(`p`,kn,r(t.audio?.style),1)])])])):a(``,!0),e(`div`,An,[i(_,{modelValue:t.replaceSectionStart,"onUpdate:modelValue":n[1]||=e=>t.replaceSectionStart=e,class:`flex-1`,min:0,max:t.audio?.duration,controls:!1,placeholder:t.$t(`producer.placeholder.replaceSectionStart`)},null,8,[`modelValue`,`max`,`placeholder`]),i(_,{modelValue:t.replaceSectionEnd,"onUpdate:modelValue":n[2]||=e=>t.replaceSectionEnd=e,class:`flex-1`,min:t.replaceSectionStart||0,max:t.audio?.duration,controls:!1,placeholder:t.$t(`producer.placeholder.replaceSectionEnd`)},null,8,[`modelValue`,`min`,`max`,`placeholder`])])])}var Mn=_({name:`PresetPanel`,components:{TypeSelector:Ie,PromptInput:Ye,LyricInput:nt,StyleInput:lt,TitleInput:ht,ExtendFromInput:Ot,CoverFromInput:Bt,UploadAudio:Ke,VocalGenderSelector:Kt,AdvancedParams:bn,ReplaceSectionInput:z(xn,[[`render`,jn]]),FontAwesomeIcon:X,ElButton:J,ElTabs:T,ElTabPane:E,Consumption:ue},emits:[`generate`],computed:{config(){return this.$store.state.producer?.config},mode:{get(){return this.$store.state.producer?.config?.custom?`custom`:`simple`},set(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,custom:e===`custom`})}},consumption(){return H(this.config,this.service?.cost)},service(){return this.$store.state.producer?.service},generateButtonText(){let e=this.config?.action;return e===`extend`||e===`upload_extend`?this.$t(`producer.button.extend`):e===`cover`||e===`upload_cover`?this.$t(`producer.button.cover_music`):e===`variation`?this.$t(`producer.button.variation`):e===`replace_section`?this.$t(`producer.button.replace_section`):e===`stems`?this.$t(`producer.button.get_stems`):e===`swap_vocals`?this.$t(`producer.button.swap_vocals`):e===`swap_instrumentals`?this.$t(`producer.button.swap_instrumentals`):this.$t(`producer.button.generate`)}},methods:{onGenerate(){this.$emit(`generate`)},onClearAll(){this.$store.commit(`producer/setConfig`,{custom:this.$store.state.producer?.config?.custom||!1,instrumental:!1,prompt:``,lyric:``,style:``,title:``,model:this.$store.state.producer?.config?.model})}}}),Nn={class:`flex flex-col h-full`},Pn={class:`flex-1 overflow-y-auto p-5`},Fn={class:`pt-2 px-1`},In={class:`pt-2 px-1`},Ln={class:`flex flex-col items-center justify-center px-5 pb-5 gap-2`},Rn={class:`flex gap-2 w-full`};function zn(t,s,l,u,p,m){let g=c(`type-selector`),_=c(`upload-audio`),v=c(`prompt-input`),y=c(`extend-from-input`),b=c(`cover-from-input`),x=c(`replace-section-input`),S=c(`advanced-params`),C=c(`el-tab-pane`),w=c(`lyric-input`),T=c(`style-input`),E=c(`title-input`),D=c(`vocal-gender-selector`),O=c(`el-tabs`),k=c(`consumption`),A=c(`font-awesome-icon`),j=c(`el-button`);return h(),o(`div`,Nn,[e(`div`,Pn,[i(O,{modelValue:t.mode,"onUpdate:modelValue":s[0]||=e=>t.mode=e,class:`producer-mode-tabs`,stretch:``},{default:f(()=>[i(C,{label:t.$t(`producer.mode.simple`),name:`simple`},{default:f(()=>[e(`div`,Fn,[i(g,{class:`mb-4`}),i(_,{class:`mb-4`}),i(v,{class:`mb-4`}),t.config?.action===`extend`?(h(),d(y,{key:0,class:`mb-4`})):a(``,!0),t.config?.action===`cover`?(h(),d(b,{key:1,class:`mb-4`})):a(``,!0),t.config?.action===`replace_section`?(h(),d(x,{key:2,class:`mb-4`})):a(``,!0),i(S,{class:`mb-4`})])]),_:1},8,[`label`]),i(C,{label:t.$t(`producer.mode.custom`),name:`custom`},{default:f(()=>[e(`div`,In,[i(g,{class:`mb-4`}),i(_,{class:`mb-4`}),t.config?.instrumental?a(``,!0):(h(),d(w,{key:0,class:`mb-4`})),i(T,{class:`mb-4`}),i(E,{class:`mb-4`}),t.config?.instrumental?a(``,!0):(h(),d(D,{key:1,class:`mb-4`})),t.config?.action===`extend`?(h(),d(y,{key:2,class:`mb-4`})):a(``,!0),t.config?.action===`cover`?(h(),d(b,{key:3,class:`mb-4`})):a(``,!0),t.config?.action===`replace_section`?(h(),d(x,{key:4,class:`mb-4`})):a(``,!0),i(S,{class:`mb-4`})])]),_:1},8,[`label`])]),_:1},8,[`modelValue`])]),e(`div`,Ln,[i(k,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),e(`div`,Rn,[i(j,{class:`flex-1`,onClick:t.onClearAll},{default:f(()=>[i(A,{icon:`fa-solid fa-broom`,class:`mr-1`}),n(` `+r(t.$t(`producer.button.clear_all`)),1)]),_:1},8,[`onClick`]),i(j,{type:`primary`,class:`flex-1`,round:``,onClick:t.onGenerate},{default:f(()=>[i(A,{icon:`fa-solid fa-magic`,class:`mr-2`}),n(` `+r(t.generateButtonText),1)]),_:1},8,[`onClick`])])])])}var Bn=z(Mn,[[`render`,zn],[`__scopeId`,`data-v-4a4b209e`]]),Vn=ge(),Hn=_({name:`TaskPreview`,components:{ElImage:k,ElIcon:S,ElTooltip:O,FontAwesomeIcon:X,VideoPlay:x,VideoPause:b,ElDropdown:te,ElDropdownMenu:I,ElDropdownItem:F,Loading:y,ApiCodeDialog:fe},props:{modelValue:{type:Object,required:!0}},data(){return{isFetchingVideoUrl:!1,isFetchingWav:!1,apiCodeVisible:!1,apiCodePath:`/producer/audios`,apiCodeBody:{}}},computed:{loading(){return this.$store.state.producer?.status?.getApplications===q.Request},credential(){return this.$store.state.producer.credential},config(){return this.$store.state.producer.config},task(){return this.$store.state.producer?.tasks},audios(){let e=this.modelValue?.response?.data??[],t=this.modelValue?.request?.action;return t?e.map(e=>({...e,action:t})):e},application(){return this.$store.state.producer?.application},active(){return this.$store.state.producer?.tasks?.active}},methods:{useFormatDuring:Q,onViewCode(){let e=this.modelValue?.request||{},t={};Object.entries(e).forEach(([e,n])=>{e===`application_id`||e===`callback_url`||n!=null&&(typeof n==`string`&&n===``||Array.isArray(n)&&n.length===0||(t[e]=n))}),this.apiCodeBody=t,this.apiCodePath=`/producer/audios`,this.apiCodeVisible=!0},onPlay(e){this.$store.dispatch(`producer/setAudio`,{...this.$store.state.producer.audio,...e,state:`playing`}),console.log(`on play`)},onPause(e){this.$store.dispatch(`producer/setAudio`,{...this.$store.state.producer.audio,...e,state:`paused`}),console.log(`on pause`)},onClick(e){this.$store.state?.producer?.audio?.id!==e.id&&this.onPlay({...e,progress:0})},onExtend(e,t){e?.stopPropagation(),console.debug(`set config`,t),this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,model:t.model,custom:!0,instrumental:!1,style:t.style,action:`extend`,audio:t,audio_id:t.id,continue_at:t.duration})},onDownload(e,t){e&&e?.stopPropagation();let n=new URL(t).pathname,r=n.substring(n.lastIndexOf(`/`)+1);fetch(t).then(e=>e.blob()).then(e=>{(0,Vn.saveAs)(e,r)})},async handleVideoDownload(e){if(e.video_url){this.onDownload(null,e.video_url);return}if(!this.isFetchingVideoUrl)try{this.isFetchingVideoUrl=!0;let t=await this.fetchVideoUrlFromApi(e?.id);console.log(`get videoUrl: ${t}`),e.video_url=t,this.onDownload(null,t)}catch(e){console.error(`get videoUrl failed:`,e),Y.error(this.$t(`producer.message.getVideoUrlFailed`))}finally{this.isFetchingVideoUrl=!1}},async fetchVideoUrlFromApi(e){return new Promise((t,n)=>{let r={audio_id:e},i=this.credential?.token;if(!i){console.error(`no token specified`),n(Error(`No token specified`));return}K.video(r,{token:i}).then(e=>{let r=e.data?.data?.video_url;r?t(r):n(Error(`Video URL not found in response`))}).catch(e=>{n(e)})})},onPreview(e,t){e?.stopPropagation(),window.open(t,`_blank`)},async onGetStems(e){await this.onGenerateAudioUrl(`stems`,e)},onCover(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,model:e.model,custom:!0,instrumental:!1,style:e.style,action:`cover`,audio:e,audio_id:e.id})},onVariation(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,model:e.model,custom:!0,style:e.style,action:`variation`,audio:e,audio_id:e.id})},async onSwapVocals(e){await this.onGenerateAudioUrl(`swap_vocals`,e)},async onSwapInstrumentals(e){await this.onGenerateAudioUrl(`swap_instrumentals`,e)},async onGetAllStems(e){await this.onGenerateAudioUrl(`all_stems`,e)},onReplaceSection(e){this.$store.commit(`producer/setConfig`,{...this.$store.state.producer?.config,model:e.model,custom:!0,instrumental:!1,style:e.style,action:`replace_section`,audio:e,audio_id:e.id,replace_section_start:0,replace_section_end:Math.min(30,e.duration||30)})},async handleWavDownload(e){if(!e?.id||this.isFetchingWav)return;let t=this.credential?.token;if(t)try{this.isFetchingWav=!0,Y.info(this.$t(`producer.message.fetchingWav`));let n=(await K.wav({audio_id:e.id},{token:t})).data?.data,r=Array.isArray(n)?n[0]?.file_url:n?.file_url||n?.audio_url;r?this.onDownload(null,r):Y.error(this.$t(`producer.message.fetchWavFailed`))}catch{Y.error(this.$t(`producer.message.fetchWavFailed`))}finally{this.isFetchingWav=!1}},async onGenerateAudioUrl(e,t){let n={action:e,audio_id:t,async:!0},r=this.credential?.token;if(!r){console.error(`no token specified`);return}Y.info(this.$t(`producer.message.startingTask`)),K.audio(n,{token:r}).then(()=>{Y.success(this.$t(`producer.message.startTaskSuccess`))}).catch(e=>{Y.error(e?.response?.data?.error?.message||this.$t(`producer.message.startTaskFailed`))}).finally(async()=>{await this.onGetTasks(),await this.onScrollDown()})},async onScrollDown(){setTimeout(()=>{let e=document.querySelector(`.tasks`);e&&(e.scrollTop=e.scrollHeight)},1e3)},async onGetTasks(){if(this.loading){console.debug(`loading`);return}await this.$store.dispatch(`producer/getTasks`,{limit:30,offset:0})}}}),Un={class:`task`},Wn=[`onClick`],Gn={class:`left`},Kn=[`onClick`],qn=[`onClick`],Jn={key:2,class:`duration`},Yn={class:`info`},Xn={class:`title`},Zn={class:`style`},Qn={class:`right`},$n={class:`el-dropdown-link`},er={class:`flex items-center min-w-[120px]`},tr={class:`flex items-center min-w-[120px]`},nr={class:`el-dropdown-link`};function rr(u,g,_,v,y,b){let x=c(`el-image`),S=c(`video-pause`),C=c(`el-icon`),w=c(`video-play`),T=c(`font-awesome-icon`),E=c(`el-tooltip`),D=c(`Loading`),O=c(`el-dropdown-item`),k=c(`el-dropdown-menu`),A=c(`el-dropdown`),j=c(`api-code-dialog`),M=p(`loading`);return h(),o(`div`,Un,[(h(!0),o(s,null,m(u.audios,s=>(h(),o(`div`,{key:s.id,class:`audio`,onClick:t(e=>u.onClick(s),[`stop`])},[l((h(),o(`div`,Gn,[i(x,{src:s?.image_url,class:`cover`,fit:`cover`,lazy:``},null,8,[`src`]),s?.audio_url&&u.$store.state?.producer?.audio?.id===s.id&&u.$store.state?.producer?.audio?.state===`playing`?(h(),o(`div`,{key:0,class:`overlay`,onClick:t(e=>u.onPause(s),[`stop`])},[i(C,null,{default:f(()=>[i(S)]),_:1})],8,Kn)):a(``,!0),s?.audio_url&&(u.$store.state?.producer?.audio?.id!==s.id||u.$store.state?.producer?.audio?.id===s.id&&u.$store.state?.producer?.audio?.state===`paused`)?(h(),o(`div`,{key:1,class:`overlay`,onClick:t(e=>u.onPlay(s),[`stop`])},[i(C,null,{default:f(()=>[i(w)]),_:1})],8,qn)):a(``,!0),s?.duration?(h(),o(`div`,Jn,r(u.useFormatDuring(s?.duration)),1)):a(``,!0)])),[[M,!s?.audio_url]]),e(`div`,Yn,[e(`h2`,Xn,r(s?.title),1),e(`p`,Zn,r(s?.style),1)]),e(`div`,Qn,[i(A,null,{dropdown:f(()=>[i(k,null,{default:f(()=>[i(O,{disabled:u.isFetchingVideoUrl,onClick:e=>u.handleVideoDownload(s)},{default:f(()=>[e(`div`,er,[u.isFetchingVideoUrl?(h(),d(C,{key:0,class:`is-loading mr-2`},{default:f(()=>[i(D)]),_:1})):a(``,!0),e(`span`,null,r(u.$t(`producer.button.download_video`)),1)])]),_:1},8,[`disabled`,`onClick`]),s?.audio_url?(h(),d(O,{key:0,onClick:t(e=>u.onDownload(e,s?.audio_url),[`stop`])},{default:f(()=>[n(r(u.$t(`producer.button.download_audio`)),1)]),_:1},8,[`onClick`])):a(``,!0),i(O,{disabled:u.isFetchingWav,onClick:e=>u.handleWavDownload(s)},{default:f(()=>[e(`div`,tr,[u.isFetchingWav?(h(),d(C,{key:0,class:`is-loading mr-2`},{default:f(()=>[i(D)]),_:1})):a(``,!0),e(`span`,null,r(u.$t(`producer.button.download_wav`)),1)])]),_:1},8,[`disabled`,`onClick`])]),_:2},1024)]),default:f(()=>[e(`span`,$n,[i(E,{effect:`dark`,content:u.$t(`producer.button.download`),placement:`top`},{default:f(()=>[s?.audio_url||s?.video_url?(h(),d(T,{key:0,icon:`fa-solid fa-download`,class:`icon icon-download`})):a(``,!0)]),_:2},1032,[`content`])])]),_:2},1024),i(A,null,{dropdown:f(()=>[i(k,null,{default:f(()=>[s?.audio_url?(h(),d(O,{key:0,onClick:t(e=>u.onExtend(e,s),[`stop`])},{default:f(()=>[n(r(u.$t(`producer.button.extend`)),1)]),_:1},8,[`onClick`])):a(``,!0),s.id?(h(),d(O,{key:1,onClick:t(e=>u.onGetStems(s.id),[`stop`])},{default:f(()=>[n(r(u.$t(`producer.button.get_stems`)),1)]),_:1},8,[`onClick`])):a(``,!0),s.id?(h(),d(O,{key:2,onClick:t(e=>u.onGetAllStems(s.id),[`stop`])},{default:f(()=>[n(r(u.$t(`producer.button.all_stems`)),1)]),_:1},8,[`onClick`])):a(``,!0),i(O,{onClick:t(e=>u.onCover(s),[`stop`])},{default:f(()=>[n(r(u.$t(`producer.button.cover_music`)),1)]),_:1},8,[`onClick`]),s?.id?(h(),d(O,{key:3,onClick:t(e=>u.onVariation(s),[`stop`])},{default:f(()=>[n(r(u.$t(`producer.button.variation`)),1)]),_:1},8,[`onClick`])):a(``,!0),s?.id?(h(),d(O,{key:4,onClick:t(e=>u.onSwapVocals(s.id),[`stop`])},{default:f(()=>[n(r(u.$t(`producer.button.swap_vocals`)),1)]),_:1},8,[`onClick`])):a(``,!0),s?.id?(h(),d(O,{key:5,onClick:t(e=>u.onSwapInstrumentals(s.id),[`stop`])},{default:f(()=>[n(r(u.$t(`producer.button.swap_instrumentals`)),1)]),_:1},8,[`onClick`])):a(``,!0),s?.id?(h(),d(O,{key:6,onClick:t(e=>u.onReplaceSection(s),[`stop`])},{default:f(()=>[n(r(u.$t(`producer.button.replace_section`)),1)]),_:1},8,[`onClick`])):a(``,!0),i(O,{onClick:t(u.onViewCode,[`stop`])},{default:f(()=>[i(T,{icon:`fa-solid fa-code`,class:`mr-1`}),n(` `+r(u.$t(`common.button.viewCode`)),1)]),_:1},8,[`onClick`])]),_:2},1024)]),default:f(()=>[e(`span`,nr,[i(E,{effect:`dark`,content:u.$t(`producer.button.more`),placement:`top`},{default:f(()=>[s?.audio_url||s?.video_url?(h(),d(T,{key:0,icon:`fa-solid fa-ellipsis`,class:`icon icon-ellipsis`})):a(``,!0)]),_:2},1032,[`content`])])]),_:2},1024)])],8,Wn))),128)),i(j,{visible:u.apiCodeVisible,"onUpdate:visible":g[0]||=e=>u.apiCodeVisible=e,method:`POST`,path:u.apiCodePath,body:u.apiCodeBody,token:u.$store.state.producer?.credential?.token||``},null,8,[`visible`,`path`,`body`,`token`])])}var ir=_({name:`RecentPanel`,components:{ElSkeletonItem:ne,ElSkeleton:re,TaskPreview:z(Hn,[[`render`,rr]]),Player:_e,NoTasks:me,ScrollList:de},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.producer?.tasks,items:this.$store.state.producer?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),ar={key:0,class:`tasks`},or={class:`left w-[70px] p-[10px] flex items-center`},sr={class:`main w-[calc(100%-70px)] flex-1 p-[10px]`},$={key:2,class:`w-full flex-1 flex items-center justify-center`},cr={class:`h-20`};function lr(t,n,r,u,p,_){let v=c(`el-skeleton-item`),y=c(`el-skeleton`),b=c(`task-preview`),x=c(`scroll-list`),S=c(`no-tasks`),C=c(`player`);return h(),o(s,null,[t.tasks?.items===void 0?(h(),o(`div`,ar,[(h(),o(s,null,m(3,t=>e(`div`,{key:t,class:`flex`},[e(`div`,or,[i(y,{animated:``},{template:f(()=>[i(v,{variant:`image`,class:`avatar w-[50px] h-[50px]`})]),_:1})]),e(`div`,sr,[i(y,{animated:``},{template:f(()=>[i(v,{variant:`p`,class:`w-[200px] h-[15px] mb-[5px] mt-[10px]`}),i(v,{variant:`text`})]),_:1})])])),64))])):t.tasks?.items?.length&&t.tasks?.items?.length>0?(h(),d(x,{key:1,ref:`scrollList`,class:`flex-1 w-full overflow-y-auto tasks p-2`,loading:t.loading,onReachTop:n[0]||=e=>t.$emit(`reach-top`)},{default:f(()=>[(h(!0),o(s,null,m(t.tasks?.items,(e,t)=>(h(),d(b,{key:t,"model-value":e,class:`preview`},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):a(``,!0),t.tasks?.items?.length===0?(h(),o(`div`,$,[i(S)])):a(``,!0),l(e(`div`,cr,[i(C,{namespace:`producer`})],512),[[g,!!t.$store?.state?.producer?.audio?.object]])],64)}var ur=z(ir,[[`render`,lr]]),dr=_({name:`TaskPreview`,components:{IconPicture:v,ElImage:k,ElAvatar:A,ElIcon:S},computed:{audio(){return this.$store.state.producer?.audio}}}),fr={key:0,class:`size-full overflow-hidden`},pr={class:`relative h-[300px]`},mr={class:`flex items-center justify-center size-full bg-[var(--el-bg-color)]`},hr={class:`absolute bottom-0 left-0 right-0 m-0 p-4 text-white z-10 bg-gradient-to-t from-black/70 to-transparent`},gr={class:`p-4`},_r={class:`flex items-center font-bold mb-2`},vr={class:`text-[var(--el-text-color-regular)] mb-2`},yr={class:`text-xs text-[var(--el-text-color-regular)]`},br={class:`mt-4 text-sm leading-[25px] whitespace-pre-wrap`},xr={key:1,class:`w-full h-full`};function Sr(t,n,a,s,l,u){let d=c(`icon-picture`),p=c(`el-icon`),m=c(`el-image`),g=c(`el-avatar`);return t.audio?.object?(h(),o(`div`,fr,[e(`div`,pr,[i(m,{src:t.audio.image_url,fit:`cover`,class:`size-full`},{error:f(()=>[e(`div`,mr,[i(p,{class:`text-3xl`},{default:f(()=>[i(d)]),_:1})])]),_:1},8,[`src`]),e(`h2`,hr,r(t.audio?.title),1)]),e(`div`,gr,[e(`div`,_r,[i(g,{size:30,src:t.audio?.image_url,class:`mr-2`},null,8,[`src`]),e(`span`,null,r(t.audio?.title),1)]),e(`p`,vr,r(t.audio?.style),1),e(`p`,yr,r(t.$dayjs.format(t.audio?.created_at)),1),e(`div`,br,[e(`p`,null,r(t.audio?.lyric),1)])])])):(h(),o(`div`,xr))}var Cr=_({name:`ProducerIndex`,components:{Layout:we,ConfigPanel:Bn,RecentPanel:ur,PreviewPanel:z(dr,[[`render`,Sr]])},mixins:[U],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.producer?.status?.getApplications===q.Request},tasksLoading(){return this.$store.state.producer?.status?.getTasks===q.Request||this.fetchingTasks},service(){return this.$store.state.producer.service},credential(){return this.$store.state.producer.credential},config(){return this.$store.state.producer.config},initializing(){return this.$store.state.producer.status.getApplications===q.Request},needApply(){return this.$store.state.producer.status.getApplications===q.Success&&!this.application},application(){return this.$store.state.producer.application},tasks(){return this.$store.state.producer.tasks},applications(){return this.$store.state.producer.applications}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await pe({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`producer/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplications`),await this.$store.dispatch(`producer/getApplications`),console.debug(`end onGetApplications`),await this.onGetTasks()},onApply(){G.create({application:this.application}).then(({data:e})=>{this.application=e,Y.success(this.$t(`application.message.applySuccessfully`))}).catch(e=>{e?.response?.data?.code===`duplication`&&Y.error(this.$t(`application.message.alreadyApplied`))})},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`producer/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerateAudio(){if(!B(this.uploadTracker,e=>this.$t(e),e=>Y.warning(e)))return;let e={...this.config,async:!0};if(!R())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}Y.info(this.$t(`producer.message.startingTask`)),ce(`producer`,K.audio(e,{token:t})).then(()=>{Y.success(this.$t(`producer.message.startTaskSuccess`))}).catch(e=>{Y.error(e?.response?.data?.error?.message||this.$t(`producer.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function wr(e,t,n,r,a,o){let s=c(`config-panel`),l=c(`recent-panel`),u=c(`preview-panel`),p=c(`layout`);return h(),d(p,null,{config:f(()=>[i(s,{onGenerate:e.onGenerateAudio},null,8,[`onGenerate`])]),result:f(()=>[i(l,{ref:`recentPanel`,class:`panel recent`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),preview:f(()=>[i(u)]),_:1})}var Tr=z(Cr,[[`render`,wr],[`__scopeId`,`data-v-23eb99dc`]]);export{Tr as default};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,qt as m,rt as h,tt as g,x as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{r as y,t as b}from"./select-DKNHU_KN.js";import{t as x}from"./upload-BySO5bAt.js";import{t as S}from"./tooltip-tldVVG8C.js";import{t as C}from"./image-B4fW-Em5.js";import{t as w}from"./alert-Bn1GWYU-.js";import{t as T}from"./drawer-C_TXaJGS.js";import{t as E}from"./input-number-UEFRIWEQ.js";import{t as D}from"./switch-BR4-pbXw.js";import{$t as O,Bt as k,Gt as A,Ht as j,Jt as ee,Kt as te,Lt as M,Qt as N,Rt as P,Ut as ne,Vt as re,Wt as ie,Xt as ae,Yt as oe,Zt as se,an as ce,en as le,nn as F,on as ue,qt as de,rn as I,sn as L,tn as R}from"./constants-BvFmtK59.js";import{$t as z,A as B,Bt as V,Gt as H,Ht as fe,Kr as U,Ur as W,Ut as G,Vt as K,mi as q,ri as J,rr as pe,vn as me}from"./index-Bp_B3yTD.js";import{t as Y}from"./index.es-ByeT4YNA.js";import{t as he}from"./CopyToClipboard-BGEXbDuO.js";import{t as X}from"./ImagePreview-B-atW8LF.js";import{n as ge}from"./taskDrawerMixin-DyAUhFEq.js";import{t as _e}from"./Consumption-DVyH1F-a.js";import{i as Z,n as ve,t as ye}from"./pagination-BSspsPVx.js";import{t as be}from"./VideoPlayer-DAV2c0fL.js";import{t as xe}from"./ApiCodeButton-pfKsJNZZ.js";import{t as Se}from"./BotPlaceholder-CyFXcwit.js";import{t as Ce}from"./NoTasks-CnTLKG-9.js";import{t as we}from"./PromptTextarea-B33JPhld.js";import{t as Te}from"./ImageWrapper-CLP5b05D.js";import{n as Ee,t as De}from"./VideoPreview-pp6ZKUSM.js";var Oe=v({name:`LayoutSeedance`,components:{ElDrawer:T,ElButton:q,FontAwesomeIcon:Y},mixins:[ge]}),ke={class:`main flex flex-row flex-1`},Ae={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},je={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Me(t,n,r,i,o,c){let f=l(`font-awesome-icon`),m=l(`el-button`),h=l(`el-drawer`);return g(),s(`div`,ke,[e(`div`,Ae,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,je,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!t.tasksEmpty]]),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var Ne=B(Oe,[[`render`,Me],[`__scopeId`,`data-v-ec312952`]]),Pe=v({name:`SeedancePromptInput`,components:{PromptTextarea:we},computed:{prompt:{get(){return this.$store.state.seedance?.config?.prompt},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Fe(e,t,n,r,i,a){let o=l(`prompt-textarea`);return g(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`seedance.name.prompt`),info:e.$t(`seedance.description.prompt`),placeholder:e.$t(`seedance.placeholder.prompt`),"min-rows":5},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ie=B(Pe,[[`render`,Fe]]),Le=v({name:`SeedanceModelSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:Z},data(){return{options:[{value:de,label:this.$t(`seedance.model.seedance20`)},{value:ee,label:this.$t(`seedance.model.seedance20Fast`)},{value:oe,label:this.$t(`seedance.model.seedance20Mini`)},{value:te,label:this.$t(`seedance.model.seedance15pro`)},{value:ie,label:this.$t(`seedance.model.seedance10pro`)},{value:A,label:this.$t(`seedance.model.seedance10proFast`)},{value:ne,label:this.$t(`seedance.model.seedance10liteT2v`)},{value:j,label:this.$t(`seedance.model.seedance10liteI2v`)}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.model},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,model:e})}}},mounted(){this.value||=M}}),Re={class:`field`},ze={class:`label`},Be={class:`box`},Ve={class:`title font-bold`};function He(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,Re,[e(`div`,ze,[e(`div`,Be,[e(`h2`,Ve,i(t.$t(`seedance.name.model`)),1),a(m,{content:t.$t(`seedance.description.model`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`seedance.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ue=B(Le,[[`render`,He],[`__scopeId`,`data-v-deb4c429`]]),We=v({name:`SeedanceDurationSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:Z},computed:{model(){return this.$store.state.seedance?.config?.model},capability(){return L(this.model)},options(){let e=[];this.capability.supportsAutoDuration&&e.push({value:-1,label:`${this.$t(`seedance.placeholder.seed`)} (-1)`});for(let t=this.capability.minDuration;t<=this.capability.maxDuration;t++)e.push({value:t,label:`${t}s`});return e},value:{get(){return this.$store.state.seedance?.config?.duration},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,duration:e})}}},watch:{model(){this.clampValue()}},mounted(){this.value?this.clampValue():this.value=5},methods:{clampValue(){let e=this.value;e!==void 0&&!(e===-1&&this.capability.supportsAutoDuration)&&(e<this.capability.minDuration||e>this.capability.maxDuration)&&(this.value=5)}}}),Ge={class:`field`},Ke={class:`label`},qe={class:`box`},Je={class:`title font-bold`};function Ye(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,Ge,[e(`div`,Ke,[e(`div`,qe,[e(`h2`,Je,i(t.$t(`seedance.name.duration`)),1),a(m,{content:t.$t(`seedance.description.duration`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`seedance.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Xe=B(We,[[`render`,Ye],[`__scopeId`,`data-v-d61cc21b`]]),Q={[F]:0,[I]:1,[R]:2,"4k":3},Ze=v({name:`SeedanceResolutionSelector`,components:{InfoIcon:Z,ElTooltip:S},computed:{model(){return this.$store.state.seedance?.config?.model},capability(){return L(this.model)},options(){let e=[{value:F,label:`480p`},{value:I,label:`720p`},{value:R,label:`1080p`},{value:`4k`,label:`4k`}],t=Q[this.capability.maxResolution]??Q[`1080p`];return e.map(e=>({...e,disabled:Q[e.value]>t}))},value:{get(){return this.$store.state.seedance?.config?.resolution},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,resolution:e})}}},watch:{model(){this.clampValue()}},mounted(){this.value?this.clampValue():this.value=this.capability.defaultResolution||`720p`},methods:{onSelect(e){e.disabled||(this.value=e.value)},clampValue(){let e=this.value,t=this.options.find(t=>t.value===e);(!e||t&&t.disabled)&&(this.value=this.capability.defaultResolution||`720p`)}}}),Qe={class:`resolution`},$e={class:`header`},et={class:`title font-bold`},tt={class:`items`},nt=[`onClick`];function rt(t,r,o,u,d,m){let _=l(`info-icon`),v=l(`el-tooltip`);return g(),s(`div`,Qe,[e(`div`,$e,[e(`h2`,et,i(t.$t(`seedance.name.resolution`)),1),a(_,{content:t.$t(`seedance.description.resolution`),class:`info`},null,8,[`content`])]),e(`div`,tt,[(g(!0),s(c,null,h(t.options,r=>(g(),f(v,{key:r.value,content:t.$t(`seedance.message.resolutionNotSupported`),disabled:!r.disabled,placement:`top`},{default:p(()=>[e(`div`,{class:n([`item`,{active:t.value===r.value,disabled:r.disabled}]),onClick:e=>t.onSelect(r)},i(r.label),11,nt)]),_:2},1032,[`content`,`disabled`]))),128))])])}var it=B(Ze,[[`render`,rt],[`__scopeId`,`data-v-db7e8aff`]]),at=v({name:`SeedanceRatioSelector`,components:{InfoIcon:Z},computed:{options(){return[{value:se,label:`16:9`,w:32,h:18},{value:O,label:`9:16`,w:18,h:32},{value:`4:3`,label:`4:3`,w:28,h:21},{value:`3:4`,label:`3:4`,w:21,h:28},{value:`1:1`,label:`1:1`,w:24,h:24},{value:N,label:`21:9`,w:34,h:14},{value:le,label:this.$t(`seedance.ratio.adaptive`),w:0,h:0}]},value:{get(){return this.$store.state.seedance?.config?.ratio},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,ratio:e})}}},mounted(){this.value||=P}}),ot={class:`ratio`},st={class:`header`},ct={class:`title font-bold`},lt={class:`items`},ut=[`onClick`],dt={class:`preview`},ft={key:1,class:`rect rect-auto`},pt={class:`name`};function mt(t,r,o,u,d,f){let p=l(`info-icon`);return g(),s(`div`,ot,[e(`div`,st,[e(`h2`,ct,i(t.$t(`seedance.name.ratio`)),1),a(p,{content:t.$t(`seedance.description.ratio`),class:`info`},null,8,[`content`])]),e(`div`,lt,[(g(!0),s(c,null,h(t.options,r=>(g(),s(`div`,{key:r.value,class:n([`item`,{active:t.value===r.value}]),onClick:e=>t.value=r.value},[e(`div`,dt,[r.w&&r.h?(g(),s(`div`,{key:0,class:`rect`,style:m({width:r.w+`px`,height:r.h+`px`})},null,4)):(g(),s(`div`,ft,`A`))]),e(`div`,pt,i(r.label),1)],10,ut))),128))])])}var ht=B(at,[[`render`,mt],[`__scopeId`,`data-v-8ddec2dd`]]),gt=v({name:`SeedanceGenerateAudioSwitch`,components:{ElSwitch:D,InfoIcon:Z},computed:{isSupported(){let e=this.$store.state.seedance?.config?.model;return L(e).acceptsAudio},value:{get(){return this.$store.state.seedance?.config?.generate_audio??!1},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,generate_audio:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=!1)}}),_t={key:0,class:`field`},vt={class:`label`},yt={class:`box`},bt={class:`title font-bold`},xt={class:`value`};function St(t,n,r,c,u,d){let f=l(`info-icon`),p=l(`el-switch`);return t.isSupported?(g(),s(`div`,_t,[e(`div`,vt,[e(`div`,yt,[e(`h2`,bt,i(t.$t(`seedance.name.generateAudio`)),1),a(f,{content:t.$t(`seedance.description.generateAudio`),class:`info`},null,8,[`content`])])]),e(`div`,xt,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"inline-prompt":``,"active-text":t.$t(`seedance.button.on`),"inactive-text":t.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])):o(``,!0)}var Ct=B(gt,[[`render`,St],[`__scopeId`,`data-v-df51dfbd`]]),wt=v({name:`SeedanceCameraFixedSwitch`,components:{ElSwitch:D,InfoIcon:Z},computed:{value:{get(){return this.$store.state.seedance?.config?.camerafixed??!1},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,camerafixed:e})}}},mounted(){this.$store.state.seedance?.config?.camerafixed===void 0&&(this.value=!1)}}),Tt={class:`field`},Et={class:`label`},Dt={class:`box`},Ot={class:`title font-bold`},kt={class:`value`};function At(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-switch`);return g(),s(`div`,Tt,[e(`div`,Et,[e(`div`,Dt,[e(`h2`,Ot,i(t.$t(`seedance.name.cameraFixed`)),1),a(d,{content:t.$t(`seedance.description.cameraFixed`),class:`info`},null,8,[`content`])])]),e(`div`,kt,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"inline-prompt":``,"active-text":t.$t(`seedance.button.on`),"inactive-text":t.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])}var jt=B(wt,[[`render`,At],[`__scopeId`,`data-v-ae777d61`]]),Mt=v({name:`SeedanceFirstFrameImage`,components:{ElUpload:x,ElButton:q,InfoIcon:Z,FontAwesomeIcon:Y,ImagePreview:X},mixins:[G,K],data(){return{fileList:[],uploadUrl:U()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return L(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsImage"(e){e||(this.fileList=[],this.onSetFirstFrameUrl())}},methods:{onExceed(){J.warning(this.$t(`seedance.message.uploadExceed`))},onError(){J.error(this.$t(`seedance.message.uploadError`))},onSetFirstFrameUrl(){let e=this.urls?.[0],t=(this.$store.state.seedance?.config?.images||[]).filter(e=>e?.role!==`first_frame`);e&&t.push({url:e,role:`first_frame`}),this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,images:t.length>0?t:void 0})},async onSuccess(){this.onSetFirstFrameUrl()},async onRemove(){this.onSetFirstFrameUrl()}}}),Nt={key:0,class:`relative`},Pt={class:`flex justify-between`},Ft={class:`flex justify-start items-center`},It={class:`text-sm font-bold`},Lt={key:0,class:`required-badge`};function Rt(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`font-awesome-icon`),y=l(`el-button`),b=l(`el-upload`);return t.capability.acceptsImage?(g(),s(`div`,Nt,[e(`div`,Pt,[e(`div`,Ft,[e(`span`,It,i(t.$t(`seedance.name.firstFrame`)),1),t.capability.requiresImage?(g(),s(`span`,Lt,i(t.$t(`seedance.name.required`)),1)):o(``,!0),a(h,{content:t.$t(`seedance.description.firstFrame`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var zt=B(Mt,[[`render`,Rt],[`__scopeId`,`data-v-e2597f23`]]),Bt=v({name:`SeedanceLastFrameImage`,components:{ElUpload:x,ElButton:q,ImagePreview:X,InfoIcon:Z,FontAwesomeIcon:Y},mixins:[G,K],data(){return{fileList:[],uploadUrl:U()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return L(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsLastFrame"(e){e||(this.fileList=[],this.onSetLastFrameUrl())}},methods:{onExceed(){J.warning(this.$t(`seedance.message.uploadExceed`))},onError(){J.error(this.$t(`seedance.message.uploadError`))},onSetLastFrameUrl(){let e=this.urls?.[0],t=(this.$store.state.seedance?.config?.images||[]).filter(e=>e?.role!==`last_frame`);e&&t.push({url:e,role:`last_frame`}),this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,images:t.length>0?t:void 0})},async onSuccess(){this.onSetLastFrameUrl()},async onRemove(){this.onSetLastFrameUrl()}}}),Vt={key:0,class:`relative`},Ht={class:`flex justify-between`},Ut={class:`flex justify-start items-center`},Wt={class:`text-sm font-bold`};function Gt(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`font-awesome-icon`),y=l(`el-button`),b=l(`el-upload`);return t.capability.acceptsLastFrame?(g(),s(`div`,Vt,[e(`div`,Ht,[e(`div`,Ut,[e(`span`,Wt,i(t.$t(`seedance.name.lastFrame`)),1),a(h,{content:t.$t(`seedance.description.lastFrame`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var Kt=B(Bt,[[`render`,Gt],[`__scopeId`,`data-v-3a191e51`]]),qt=v({name:`SeedanceReferenceImage`,components:{ElUpload:x,ElButton:q,InfoIcon:Z,FontAwesomeIcon:Y,ImagePreview:X},mixins:[G,K],data(){return{fileList:[],uploadUrl:U()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return L(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsReferenceImage"(e){e||(this.fileList=[],this.onSetReferenceImageUrls())}},methods:{onExceed(){J.warning(this.$t(`seedance.message.uploadExceed`))},onError(){J.error(this.$t(`seedance.message.uploadError`))},onSetReferenceImageUrls(){let e=(this.urls||[]).filter(Boolean),t=(this.$store.state.seedance?.config?.images||[]).filter(e=>e?.role!==`reference_image`);e.forEach(e=>t.push({url:e,role:`reference_image`})),this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,images:t.length>0?t:void 0})},async onSuccess(){this.onSetReferenceImageUrls()},async onRemove(){this.onSetReferenceImageUrls()}}}),Jt={key:0,class:`relative`},Yt={class:`flex justify-between`},Xt={class:`flex justify-start items-center`},Zt={class:`text-sm font-bold`};function Qt(t,n,c,u,d,m){let h=l(`info-icon`),_=l(`image-preview`),v=l(`font-awesome-icon`),y=l(`el-button`),b=l(`el-upload`);return t.capability.acceptsReferenceImage?(g(),s(`div`,Jt,[e(`div`,Yt,[e(`div`,Xt,[e(`span`,Zt,i(t.$t(`seedance.name.referenceImage`)),1),a(h,{content:t.$t(`seedance.description.referenceImage`)},null,8,[`content`])])]),a(b,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:1,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`picture`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(g(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var $t=B(qt,[[`render`,Qt],[`__scopeId`,`data-v-230a67f6`]]),en=v({name:`SeedanceReferenceAudio`,components:{ElUpload:x,ElButton:q,InfoIcon:Z,FontAwesomeIcon:Y},mixins:[K],data(){return{fileList:[],uploadUrl:U()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return L(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsReferenceAudio"(e){e||(this.fileList=[],this.onSetReferenceAudios())}},methods:{onExceed(){J.warning(this.$t(`seedance.message.uploadExceed`))},onError(){J.error(this.$t(`seedance.message.uploadError`))},onSetReferenceAudios(){let e=(this.urls||[]).filter(Boolean);this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,audios:e.length>0?e.map(e=>({url:e})):void 0})},async onSuccess(){this.onSetReferenceAudios()},async onRemove(){this.onSetReferenceAudios()}}}),tn={key:0,class:`relative`},nn={class:`flex justify-between`},rn={class:`flex justify-start items-center`},an={class:`text-sm font-bold`};function on(t,n,c,u,d,f){let m=l(`info-icon`),h=l(`font-awesome-icon`),_=l(`el-button`),v=l(`el-upload`);return t.capability.acceptsReferenceAudio?(g(),s(`div`,tn,[e(`div`,nn,[e(`div`,rn,[e(`span`,an,i(t.$t(`seedance.name.referenceAudio`)),1),a(m,{content:t.$t(`seedance.description.referenceAudio`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.mp3,.wav,.m4a,.aac,.ogg,.flac`,limit:1,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`text`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(h,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var sn=B(en,[[`render`,on],[`__scopeId`,`data-v-49515675`]]),cn=v({name:`SeedanceReferenceVideo`,components:{ElUpload:x,ElButton:q,InfoIcon:Z,FontAwesomeIcon:Y},mixins:[K],data(){return{fileList:[],uploadUrl:U()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},model(){return this.$store.state.seedance?.config?.model},capability(){return L(this.model)},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{"capability.acceptsReferenceVideo"(e){e||(this.fileList=[],this.onSetReferenceVideos())}},methods:{onExceed(){J.warning(this.$t(`seedance.message.uploadExceed`))},onError(){J.error(this.$t(`seedance.message.uploadError`))},onSetReferenceVideos(){let e=(this.urls||[]).filter(Boolean);this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,videos:e.length>0?e.map(e=>({url:e})):void 0})},async onSuccess(){this.onSetReferenceVideos()},async onRemove(){this.onSetReferenceVideos()}}}),ln={key:0,class:`relative`},un={class:`flex justify-between`},dn={class:`flex justify-start items-center`},fn={class:`text-sm font-bold`};function pn(t,n,c,u,d,f){let m=l(`info-icon`),h=l(`font-awesome-icon`),_=l(`el-button`),v=l(`el-upload`);return t.capability.acceptsReferenceVideo?(g(),s(`div`,ln,[e(`div`,un,[e(`div`,dn,[e(`span`,fn,i(t.$t(`seedance.name.referenceVideo`)),1),a(m,{content:t.$t(`seedance.description.referenceVideo`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,accept:`.mp4,.mov,.webm,.mkv,.avi`,limit:1,class:`upload-wrapper`,multiple:!1,action:t.uploadUrl,"list-type":`text`,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,"on-remove":t.onRemove,headers:t.headers},{default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(h,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),r(` `+i(t.$t(`seedance.button.upload`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`on-remove`,`headers`])])):o(``,!0)}var mn=B(cn,[[`render`,pn],[`__scopeId`,`data-v-b212c474`]]),hn=v({name:`SeedanceServiceTierSelector`,components:{ElSelect:y,ElOption:b,InfoIcon:Z},data(){return{options:[{value:ce,label:this.$t(`seedance.serviceTier.default`)},{value:ue,label:this.$t(`seedance.serviceTier.flex`)}]}},computed:{value:{get(){return this.$store.state.seedance?.config?.service_tier},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,service_tier:e})}}},mounted(){this.value||=k}}),gn={class:`field`},_n={class:`label`},vn={class:`box`},yn={class:`title font-bold`};function bn(t,n,r,o,u,d){let m=l(`info-icon`),_=l(`el-option`),v=l(`el-select`);return g(),s(`div`,gn,[e(`div`,_n,[e(`div`,vn,[e(`h2`,yn,i(t.$t(`seedance.name.serviceTier`)),1),a(m,{content:t.$t(`seedance.description.serviceTier`),class:`info`},null,8,[`content`])])]),a(v,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`seedance.placeholder.select`)},{default:p(()=>[(g(!0),s(c,null,h(t.options,e=>(g(),f(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var xn=B(hn,[[`render`,bn],[`__scopeId`,`data-v-cc938de2`]]),Sn=v({name:`SeedanceReturnLastFrameSwitch`,components:{ElSwitch:D,InfoIcon:Z},computed:{model(){return this.$store.state.seedance?.config?.model},isSupported(){return L(this.model).acceptsReturnLastFrame},value:{get(){return this.$store.state.seedance?.config?.return_last_frame},set(e){this.$store.commit(`seedance/setConfig`,{...this.$store.state.seedance?.config,return_last_frame:e})}}},watch:{isSupported(e){!e&&this.value&&(this.value=!1)}},mounted(){this.value===void 0&&(this.value=!1)}}),Cn={key:0,class:`field`},wn={class:`label`},Tn={class:`box`},En={class:`title font-bold`},Dn={class:`value`};function On(t,n,r,c,u,d){let f=l(`info-icon`),p=l(`el-switch`);return t.isSupported?(g(),s(`div`,Cn,[e(`div`,wn,[e(`div`,Tn,[e(`h2`,En,i(t.$t(`seedance.name.returnLastFrame`)),1),a(f,{content:t.$t(`seedance.description.returnLastFrame`),class:`info`},null,8,[`content`])])]),e(`div`,Dn,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"inline-prompt":``,"active-text":t.$t(`seedance.button.on`),"inactive-text":t.$t(`seedance.button.off`)},null,8,[`modelValue`,`active-text`,`inactive-text`])])])):o(``,!0)}var kn=B(Sn,[[`render`,On],[`__scopeId`,`data-v-edea5451`]]),An=v({name:`SeedanceSeedInput`,components:{ElInputNumber:E,InfoIcon:Z},computed:{value:{get(){let e=this.$store.state.seedance?.config?.seed;return typeof e==`number`?e:-1},set(e){let t={...this.$store.state.seedance?.config||{}};t.seed=typeof e==`number`&&Number.isInteger(e)?e:-1,this.$store.commit(`seedance/setConfig`,t)}}}}),jn={class:`field`},Mn={class:`label`},Nn={class:`box`},Pn={class:`title font-bold`},Fn={class:`value`};function In(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input-number`);return g(),s(`div`,jn,[e(`div`,Mn,[e(`div`,Nn,[e(`h2`,Pn,i(t.$t(`seedance.name.seed`)),1),a(d,{content:t.$t(`seedance.description.seed`),class:`info`},null,8,[`content`])])]),e(`div`,Fn,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,min:-1,max:2147483647,step:1,size:`default`,"controls-position":`right`,class:`counter`},null,8,[`modelValue`])])])}var Ln=v({name:`SeedanceConfigPanel`,components:{ElButton:q,FontAwesomeIcon:Y,PromptInput:Ie,ModelSelector:Ue,DurationSelector:Xe,ResolutionSelector:it,RatioSelector:ht,GenerateAudioSwitch:Ct,CameraFixedSwitch:jt,ServiceTierSelector:xn,ReturnLastFrameSwitch:kn,SeedInput:B(An,[[`render`,In],[`__scopeId`,`data-v-685a9869`]]),FirstFrameImage:zt,LastFrameImage:Kt,ReferenceImage:$t,ReferenceAudio:sn,ReferenceVideo:mn,Consumption:_e},emits:[`generate`],computed:{config(){return this.$store.state.seedance?.config},consumption(){return H(this.config,this.service?.cost)},service(){return this.$store.state.seedance?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Rn={class:`flex flex-col h-full`},zn={class:`flex-1 overflow-y-auto p-5`},Bn={class:`flex flex-col items-center justify-center px-5 pb-5`};function Vn(t,n,o,c,u,d){let f=l(`prompt-input`),m=l(`model-selector`),h=l(`ratio-selector`),_=l(`resolution-selector`),v=l(`duration-selector`),y=l(`service-tier-selector`),b=l(`generate-audio-switch`),x=l(`camera-fixed-switch`),S=l(`return-last-frame-switch`),C=l(`seed-input`),w=l(`first-frame-image`),T=l(`last-frame-image`),E=l(`reference-image`),D=l(`reference-audio`),O=l(`reference-video`),k=l(`consumption`),A=l(`font-awesome-icon`),j=l(`el-button`);return g(),s(`div`,Rn,[e(`div`,zn,[a(f,{class:`mb-4`}),a(m,{class:`mb-4`}),a(h,{class:`mb-4`}),a(_,{class:`mb-4`}),a(v,{class:`mb-4`}),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`}),a(S,{class:`mb-4`}),a(C,{class:`mb-4`}),a(w,{class:`mb-2`}),a(T,{class:`mb-2`}),a(E,{class:`mb-2`}),a(D,{class:`mb-2`}),a(O,{class:`mb-2`})]),e(`div`,Bn,[a(k,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(j,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(A,{icon:`fa-solid fa-magic`,class:`mr-2`}),r(` `+i(t.$t(`seedance.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Hn=B(Ln,[[`render`,Vn]]),Un=v({name:`SeedanceTaskPreview`,components:{ElImage:C,CopyToClipboard:he,FontAwesomeIcon:Y,ElAlert:w,VideoPlayer:be,ElTooltip:S,ElButton:q,ImageWrapper:Te,ImagePreview:X,AudioPreview:Ee,VideoPreview:De,ApiCodeButton:xe},props:{modelValue:{type:Object,required:!0}},data(){return{seedanceLogo:re}},computed:{video(){return this.modelValue?.response?.data},promptText(){let e=this.modelValue?.request;if(e?.prompt)return e.prompt;let t=e?.content?.find(e=>e?.type===`text`&&e?.text);return t?.text?t.text:this.video?.prompt},referenceImages(){let e=this.collectImages();if(e.length===0)return[];let t=[],n=e.find(e=>e?.role===`first_frame`);n?.url&&t.push({url:n.url,name:`first-frame`});let r=e.find(e=>e?.role===`last_frame`);return r?.url&&t.push({url:r.url,name:`last-frame`}),e.forEach((e,n)=>{e?.url&&e.role!==`first_frame`&&e.role!==`last_frame`&&t.push({url:e.url,name:e.role||`image-${n}`})}),t},referenceAudios(){let e=this.modelValue?.request,t=(e?.audios??[]).map(e=>e?.url).filter(Boolean);return(e?.content??[]).forEach(e=>{e?.type===`audio_url`&&e?.audio_url?.url&&t.push(e.audio_url.url)}),t},referenceVideos(){let e=this.modelValue?.request,t=(e?.videos??[]).map(e=>e?.url).filter(Boolean);return(e?.content??[]).forEach(e=>{e?.type===`video_url`&&e?.video_url?.url&&t.push(e.video_url.url)}),t}},methods:{collectImages(){let e=this.modelValue?.request,t=Array.isArray(e?.images)?[...e.images]:[];return(e?.content??[]).forEach(e=>{e?.type===`image_url`&&e?.image_url?.url&&t.push({url:e.image_url.url,role:e.role})}),t},onDownload(e){window.open(e,`_blank`)}}}),Wn={class:`preview`},Gn={class:`left`},Kn={class:`main`},qn={class:`bot`},Jn={class:`datetime`},Yn={class:`info`},Xn={key:0,class:`flex justify-start items-center gap-2 mt-2 w-full overflow-x-auto`},Zn={key:1,class:`prompt mt-2`},Qn={key:0},$n={key:1},er={key:0,class:n({content:!0})},tr={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},nr={key:1,class:n({content:!0})},rr={key:0,class:`mb-4`},ir={key:1,class:`mb-4`},ar={key:2,class:n({operations:!0,"mt-2":!0,"mb-2":!0})},or={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},sr={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},cr={key:0},lr={key:1},ur={key:3,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dr={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},fr={key:4,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},pr={key:5,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},mr={key:2,class:n({content:!0})},hr={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},gr={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_r={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vr={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},yr={key:3,class:n({content:!0})},br={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xr={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Sr(n,u,d,m,_,v){let y=l(`el-image`),b=l(`image-preview`),x=l(`audio-preview`),S=l(`video-preview`),C=l(`font-awesome-icon`),w=l(`copy-to-clipboard`),T=l(`el-alert`),E=l(`video-player`),D=l(`image-wrapper`),O=l(`el-button`),k=l(`el-tooltip`),A=l(`api-code-button`);return g(),s(`div`,Wn,[e(`div`,Gn,[a(y,{src:n.seedanceLogo,class:`avatar`},null,8,[`src`])]),e(`div`,Kn,[e(`div`,qn,[r(i(n.$t(`seedance.name.seedanceBot`))+` `,1),e(`span`,Jn,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,Yn,[n.referenceImages.length>0||n.referenceAudios.length>0||n.referenceVideos.length>0?(g(),s(`div`,Xn,[(g(!0),s(c,null,h(n.referenceImages,(e,t)=>(g(),f(b,{key:`image-${t}`,url:e.url,name:e.name,closable:!1},null,8,[`url`,`name`]))),128)),(g(!0),s(c,null,h(n.referenceAudios,(e,t)=>(g(),f(x,{key:`audio-${t}`,url:e,name:`audio-${t+1}`},null,8,[`url`,`name`]))),128)),(g(!0),s(c,null,h(n.referenceVideos,(e,t)=>(g(),f(S,{key:`video-${t}`,url:e,name:`video-${t+1}`},null,8,[`url`,`name`]))),128))])):o(``,!0),n.promptText?(g(),s(`p`,Zn,[r(i(n.promptText)+` `,1),n.modelValue?.response?n.video?.status===`processing`||n.video?.status===`pending`?(g(),s(`span`,$n,` - (`+i(n.$t(`seedance.status.processing`))+`) `,1)):o(``,!0):(g(),s(`span`,Qn,` - (`+i(n.$t(`seedance.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?n.modelValue?.response?.success===!0?(g(),s(`div`,nr,[n.video?.video_url?(g(),s(`div`,rr,[a(E,{src:n.video?.video_url},null,8,[`src`])])):o(``,!0),n.video?.last_frame_url?(g(),s(`div`,ir,[a(D,{src:n.video?.last_frame_url,"raw-src":n.video?.last_frame_url},null,8,[`src`,`raw-src`])])):o(``,!0),n.video?.video_url?(g(),s(`div`,ar,[a(k,{class:`box-item`,effect:`dark`,content:n.$t(`seedance.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(O,{type:`info`,size:`small`,class:`btn-action`,onClick:u[0]||=t(e=>n.onDownload(n.video?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`seedance.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(A,{path:`/seedance/videos`,body:n.modelValue?.request},null,8,[`body`])])):o(``,!0),a(T,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(g(),s(`p`,or,[a(C,{icon:`fa-solid fa-cube`,class:`mr-1`}),r(` `+i(n.$t(`seedance.name.model`))+`: `+i(n.modelValue?.request?.model),1)])):o(``,!0),n.video?.duration?(g(),s(`p`,sr,[a(C,{icon:`fa-solid fa-clock`,class:`mr-1`}),r(` `+i(n.$t(`seedance.name.duration`))+`: `+i(n.video?.duration)+`s `,1)])):o(``,!0),n.video?.resolution?(g(),s(`p`,$,[a(C,{icon:`fa-solid fa-expand`,class:`mr-1`}),r(` `+i(n.$t(`seedance.name.resolution`))+`: `+i(n.video?.resolution)+` `,1),n.video?.ratio?(g(),s(`span`,cr,` · `+i(n.video?.ratio),1)):o(``,!0),n.video?.framespersecond?(g(),s(`span`,lr,` · `+i(n.video?.framespersecond)+`fps`,1)):o(``,!0)])):o(``,!0),n.modelValue?.request?.generate_audio?(g(),s(`p`,ur,[a(C,{icon:`fa-solid fa-volume-up`,class:`mr-1`}),r(` `+i(n.$t(`seedance.name.generateAudio`))+`: `+i(n.$t(`seedance.button.on`)),1)])):o(``,!0),e(`p`,dr,[a(C,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`seedance.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(g(),s(`p`,fr,[a(C,{icon:`fa-solid fa-clock`,class:`mr-1`}),r(` `+i(n.$t(`seedance.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,pr,[a(C,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),r(` `+i(n.$t(`seedance.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(w,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):n.modelValue?.response?.success===!1?(g(),s(`div`,mr,[a(T,{closable:!1,class:`failure`},{template:p(()=>[a(C,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),r(` `+i(n.$t(`seedance.name.failure`)),1)]),default:p(()=>[e(`p`,hr,[a(C,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`seedance.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.response?.error?.message?(g(),s(`p`,gr,[a(C,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),r(` `+i(n.$t(`seedance.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(w,{content:n.modelValue?.response?.error?.message,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0),n.modelValue?.elapsed?(g(),s(`p`,_r,[a(C,{icon:`fa-solid fa-clock`,class:`mr-1`}),r(` `+i(n.$t(`seedance.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),n.modelValue?.response?.trace_id?(g(),s(`p`,vr,[a(C,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),r(` `+i(n.$t(`seedance.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(w,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):(g(),s(`div`,yr,[a(T,{closable:!1,class:`info`},{template:p(()=>[a(C,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),r(` `+i(n.$t(`seedance.name.status`)),1)]),default:p(()=>[e(`p`,br,[a(C,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`seedance.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.response?.trace_id?(g(),s(`p`,xr,[a(C,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),r(` `+i(n.$t(`seedance.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(w,{content:n.modelValue?.response?.trace_id,class:`btn-copy inline-block`},null,8,[`content`])])):o(``,!0)]),_:1})])):(g(),s(`div`,er,[a(T,{closable:!1,class:`info`},{template:p(()=>[a(C,{icon:`fa-regular fa-clock`,class:`mr-1`}),r(` `+i(n.$t(`seedance.status.pending`)),1)]),default:p(()=>[e(`p`,tr,[a(C,{icon:`fa-solid fa-magic`,class:`mr-1`}),r(` `+i(n.$t(`seedance.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(w,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])])]),_:1})]))])])}var Cr=v({name:`SeedanceRecentPanel`,components:{TaskPreview:B(Un,[[`render`,Sr],[`__scopeId`,`data-v-be65e8a9`]]),BotPlaceholder:Se,NoTasks:Ce,ScrollList:ve},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.seedance?.tasks,items:this.$store.state.seedance?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),wr={key:0},Tr={key:2,class:`w-full h-full flex items-center justify-center`};function Er(e,t,n,r,i,u){let d=l(`bot-placeholder`),m=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return g(),s(c,null,[e.tasks?.items===void 0?(g(),s(`div`,wr,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(g(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(g(!0),s(c,null,h(e.tasks?.items,e=>(g(),f(m,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(g(),s(`div`,Tr,[a(v)])):o(``,!0)],64)}var Dr=v({name:`SeedanceIndex`,components:{ConfigPanel:Hn,Layout:Ne,RecentPanel:B(Cr,[[`render`,Er]])},mixins:[fe],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.seedance?.status?.getApplications===W.Request},tasksLoading(){return this.$store.state.seedance?.status?.getTasks===W.Request||this.fetchingTasks},credential(){return this.$store.state.seedance?.credential},config(){return this.$store.state.seedance?.config},tasks(){return this.$store.state.seedance?.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 ye({tasks:this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch(`seedance/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(`seedance/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!V(this.uploadTracker,e=>this.$t(e),e=>J.warning(e)))return;let e={...this.config||{}};if(typeof e?.prompt==`string`&&(e.prompt=e.prompt.trim(),e.prompt||delete e.prompt),Array.isArray(e?.images)){e.images=e.images.filter(e=>!!e?.url);let t=e.images.some(e=>e?.role===`first_frame`),n=e.images.some(e=>e?.role===`last_frame`);!t&&n&&(e.images=e.images.map(e=>e?.role===`last_frame`?{...e,role:`first_frame`}:e))}let t=Array.isArray(e?.images)&&e.images.length>0;if(!t&&`images`in e&&delete e.images,e?.model&&!ae[e.model]){J.warning(this.$t(`seedance.message.modelUnsupported`));return}let n=L(e?.model);if(n.requiresImage&&!t){J.warning(this.$t(`seedance.message.modelRequiresImage`));return}if(!n.acceptsImage&&t){J.warning(this.$t(`seedance.message.modelRejectsImage`));return}if(!n.acceptsText&&!t){J.warning(this.$t(`seedance.message.modelRequiresImage`));return}!n.acceptsAudio&&e.generate_audio&&(e.generate_audio=!1),!n.acceptsReturnLastFrame&&e.return_last_frame&&(e.return_last_frame=!1),!n.acceptsLastFrame&&t&&(e.images=e.images.filter(e=>e?.role!==`last_frame`)),n.acceptsReferenceAudio&&Array.isArray(e?.audios)&&(e.audios=e.audios.filter(e=>e?.url)),(!n.acceptsReferenceAudio||!Array.isArray(e?.audios)||e.audios.length===0)&&delete e.audios,n.acceptsReferenceVideo&&Array.isArray(e?.videos)&&(e.videos=e.videos.filter(e=>e?.url)),(!n.acceptsReferenceVideo||!Array.isArray(e?.videos)||e.videos.length===0)&&delete e.videos,!n.acceptsReferenceImage&&Array.isArray(e?.images)&&(e.images=e.images.filter(e=>e?.role!==`reference_image`),e.images.length===0&&delete e.images);let r=Array.isArray(e?.images)&&e.images.some(e=>e?.role===`reference_image`);if(Array.isArray(e?.audios)&&e.audios.length>0&&!r){J.warning(this.$t(`seedance.message.audioRequiresReferenceImage`));return}let i={...e,async:!0};if(!z())return;let a=this.credential?.token;if(!a){console.error(`no token specified`);return}J.info(this.$t(`seedance.message.startingTask`)),pe(`seedance`,me.generate(i,{token:a})).then(()=>{J.success(this.$t(`seedance.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?J.error(this.$t(`seedance.message.usedUp`)):J.error(this.$t(`seedance.message.startTaskFailed`)+(t?.error?.message||``))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Or(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return g(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var kr=B(Dr,[[`render`,Or]]);export{kr as default};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,I as t,Jt as n,L as r,M as i,N as a,T as o,at as s,ht as c,j as l,mt as u,ot as ee,rt as d,tt as f,z as p}from"./vendor-chart-Dw-P17PN.js";import{n as m,t as h}from"./table-CkM94t0i.js";import{t as g}from"./card-D-4S-l7a.js";import{n as _,t as v}from"./row-sXC_s7-2.js";import{t as y}from"./empty-xCRn_5sX.js";import{t as b}from"./Pagination-DmE-meAq.js";import{t as x}from"./skeleton-CoheJz5x.js";import{t as S}from"./switch-BR4-pbXw.js";import{A as C,Br as w,H as T,J as E,Nr as D,Pr as O,Qn as k,Vr as A,Xr as j,fi as M,mi as N,ri as P}from"./index-Bp_B3yTD.js";import{t as F}from"./index.es-ByeT4YNA.js";import{t as I}from"./CopyToClipboard-BGEXbDuO.js";var L=p({name:`ConsoleApplicationList`,components:{Pagination:b,CopyToClipboard:I,ElTable:h,ElRow:v,ElButton:N,ElCol:_,ElTag:M,ElSkeleton:x,ElSwitch:S,ElEmpty:y,ElTableColumn:m,ElCard:g,FontAwesomeIcon:F},data(){return{credentialType:D,serviceType:O,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!0}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onInitializeGlobalApplication(),this.onFetchData()},methods:{rowCanPay(e){return j()?(e?.packages||[]).some(e=>e?.metadata?.apple_product_id):!0},updateAllowConsumeGlobal(e,t){!e||!e.id||k.updateAllConsumeGlobal(e.id,{...e,allow_consume_global:!!t}).then(()=>{P.success(this.$t(`application.message.updateSuccessfully`).toString())}).catch(()=>{P.error(this.$t(`application.message.updateFailed`).toString())})},onGoUsage(e){this.$router.push({name:E,query:{application_id:e.id,type:e?.service?.type}})},onBuyMore(e){e?.id&&this.$router.push({name:T,params:{id:e.id}})},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchApplications(e=w.INDIVIDUAL){return new Promise((t,n)=>{k.getAll({limit:this.limit,...e===w.INDIVIDUAL?{offset:(this.page-1)*this.limit}:{},user_id:this.$store.getters.user.id,ordering:`-created_at`,type:A.USAGE,scope:e}).then(({data:n})=>{e===w.INDIVIDUAL?(this.individualApplications=n.items,this.individualApplicationsTotal=n.count):(this.globalApplications=n.items,this.globalApplicationsTotal=n.count),t(n)}).catch(e=>{P.error(this.$t(`application.message.fetchFailed`).toString()),n(e)})})},onFetchData(){this.loading=!0,Promise.all([this.onFetchApplications(w.INDIVIDUAL),this.onFetchApplications(w.GLOBAL)]).then(()=>{this.loading=!1}).catch(()=>{this.loading=!1})},onInitializeGlobalApplication(){k.create({type:A.USAGE,scope:w.GLOBAL,user_id:this.$store.getters.user.id}).finally(()=>{this.onFetchApplications(w.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}`}}}),R={class:`title`},z={key:1,class:`summary-card`},B={class:`icon-wrapper`},V={class:`label`},H={class:`value`},U={class:`description`},W={key:1,class:`flex flex-row justify-between items-center gap-3`},G={class:`summary-card min-w-0 flex-1`},K={class:`flex justify-start items-center gap-2 mb-2 w-full`},q={class:`icon-wrapper !mb-0`},te={class:`text-[var(--el-text-color-regular)] text-[14px] truncate`},J={class:`label`},Y={class:`value`},X={class:`description`},Z={class:`flex flex-col items-end gap-2 shrink-0`},Q={class:`copy`},ne={key:0,class:`expired-at`},re={class:`flex flex-wrap items-center justify-end gap-1`},ie={class:`application-cards block sm:hidden`},ae={class:`flex items-center gap-2 flex-wrap`},oe={class:`application-card__name`},se={class:`application-card__id`},ce={class:`truncate`},le={class:`application-card__row`},ue={class:`label`},de={class:`value`},fe={key:0,class:`application-card__row`},pe={class:`label`},$={class:`value`},me={key:1,class:`application-card__row`},he={class:`label`},ge={class:`flex items-center justify-end gap-2 mt-3`},_e={class:`pagination`};function ve(p,m,h,g,_,v){let y=s(`el-col`),b=s(`el-row`),x=s(`el-skeleton`),S=s(`font-awesome-icon`),C=s(`el-card`),w=s(`copy-to-clipboard`),T=s(`el-button`),E=s(`el-table-column`),D=s(`el-tag`),O=s(`el-switch`),k=s(`el-table`),A=s(`el-empty`),j=s(`pagination`),M=ee(`loading`);return f(),l(b,{class:`application-list`},{default:u(()=>[r(y,{span:24},{default:u(()=>[r(b,null,{default:u(()=>[r(y,{span:24},{default:u(()=>[e(`h2`,R,n(p.$t(`common.title.allApplications`)),1)]),_:1})]),_:1}),r(b,{gutter:15,class:`mb-3`},{default:u(()=>[r(y,{md:12,xs:24},{default:u(()=>[r(C,{shadow:`hover`,class:`relative min-h-[180px] mb-2`,"body-style":{padding:`18px 20px`}},{default:u(()=>[p.loading?(f(),l(x,{key:0})):(f(),a(`div`,z,[e(`div`,B,[r(S,{icon:`fa-solid fa-cubes-stacked`})]),e(`p`,V,n(p.$t(`application.title.count`)),1),e(`p`,H,n(p.individualApplicationsTotal),1),e(`p`,U,n(p.$t(`application.message.countDescription`)),1)]))]),_:1})]),_:1}),p.showGlobalPayment&&p.globalApplications?.length>0?(f(),l(y,{key:0,md:12,xs:24},{default:u(()=>[r(C,{shadow:`hover`,class:`relative min-h-[180px] mb-2`,"body-style":{padding:`18px 20px`}},{default:u(()=>[p.loading?(f(),l(x,{key:0})):(f(),a(`div`,W,[e(`div`,G,[e(`div`,K,[e(`div`,q,[r(S,{icon:`fa-solid fa-wallet`})]),e(`span`,te,[t(n(p.$t(`application.field.id`))+`: `+n(p.globalApplications?.[0]?.id)+` `,1),p.globalApplications?.[0]?.id?(f(),l(w,{key:0,content:p.globalApplications?.[0]?.id,class:`inline-block`},null,8,[`content`])):i(``,!0)])]),e(`p`,J,n(p.$t(`application.title.globalBalance`)),1),e(`p`,Y,n(p.globalApplications?.[0]?.remaining_amount?.toFixed(6)||`0.000000`)+` `+n(p.$t(`service.unit.credits`)),1),e(`p`,X,n(p.$t(`application.message.globalBalanceDescription`)),1)]),e(`div`,Z,[r(T,{class:`!m-0 !px-2`,size:`small`,round:``,onClick:m[0]||=e=>p.onGoUsage(p.globalApplications?.[0])},{default:u(()=>[r(S,{icon:`fa-solid fa-chart-line`,class:`mr-1 text-[12px]`}),t(` `+n(p.$t(`application.button.usage`)),1)]),_:1}),p.showGlobalPayment?(f(),l(T,{key:0,class:`!m-0 !px-2`,type:`primary`,round:``,size:`small`,onClick:m[1]||=e=>p.onBuyMore(p.globalApplications?.[0])},{default:u(()=>[r(S,{icon:`fa-solid fa-coins`,class:`mr-1 text-[12px]`}),t(` `+n(p.$t(`application.button.buyMore`)),1)]),_:1})):i(``,!0)])]))]),_:1})]),_:1})):i(``,!0)]),_:1}),r(b,null,{default:u(()=>[r(y,{span:24},{default:u(()=>[r(C,{shadow:`hover`,class:`applications-table-card hidden sm:block`},{default:u(()=>[c((f(),l(k,{data:p.individualApplications,stripe:``,class:`applications-table !min-h-[calc(100vh-420px)]`,"table-layout":`fixed`,"empty-text":p.$t(`common.message.noData`)},{default:u(()=>[r(E,{prop:`id`,label:p.$t(`application.field.id`),width:`200px`,"class-name":`text-center`},{default:u(t=>[e(`span`,null,n(t.row.id),1),e(`span`,Q,[r(w,{content:t?.row?.id,class:`inline-block`},null,8,[`content`])])]),_:1},8,[`label`]),r(E,{label:p.$t(`application.field.type`),width:`90px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:u(e=>[e.row?.type===`Period`?(f(),l(D,{key:0,type:`success`,effect:`dark`,round:``},{default:u(()=>[t(n(p.$t(`application.type.period`)),1)]),_:1})):e.row?.type===`Usage`?(f(),l(D,{key:1,effect:`dark`,round:``},{default:u(()=>[t(n(p.$t(`application.type.usage`)),1)]),_:1})):i(``,!0)]),_:1},8,[`label`]),r(E,{label:p.$t(`application.field.name`),width:`180px`},{default:u(r=>[e(`span`,null,n(r.row?.service?.title),1),r.row?.role===`grantee`?(f(),l(D,{key:0,type:`info`,size:`small`,round:``,class:`ml-2`},{default:u(()=>[t(n(p.$t(`application.badge.shared`)),1)]),_:1})):i(``,!0)]),_:1},8,[`label`]),r(E,{prop:`remaining_amount`,label:p.$t(`application.field.remainingAmount`),width:`150px`,"class-name":`text-center`},{default:u(t=>[e(`span`,null,n(p.getRemainingAmount(t.row)),1)]),_:1},8,[`label`]),r(E,{prop:`used_amount`,label:p.$t(`application.field.usedAmount`),width:`150px`,"class-name":`hidden sm:table-cell text-center`,"label-class-name":`hidden sm:table-cell`},{default:u(t=>[e(`span`,null,n(p.getUsedAmount(t.row)),1)]),_:1},8,[`label`]),r(E,{prop:`allow_consume_global`,label:p.$t(`application.field.allowConsumeGlobal`),width:`120px`,"class-name":`hidden sm:table-cell text-center`,"label-class-name":`hidden sm:table-cell`},{default:u(e=>[e.row.service?.type===p.serviceType.API?(f(),l(O,{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=>p.updateAllowConsumeGlobal(e.row,t)},null,8,[`modelValue`,`onUpdate:modelValue`,`onChange`])):i(``,!0)]),_:1},8,[`label`]),r(E,{label:p.$t(`application.field.expiredAt`),width:`180px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:u(e=>[e.row.expired_at?(f(),a(`span`,ne,n(p.$dayjs.format(e.row.expired_at)),1)):i(``,!0)]),_:1},8,[`label`]),r(E,{fixed:`right`,width:`200px`},{default:u(a=>[e(`div`,re,[r(T,{class:`!m-0 !px-2`,size:`small`,round:``,onClick:e=>p.onGoUsage(a?.row)},{default:u(()=>[r(S,{icon:`fa-solid fa-chart-line`,class:`mr-1 text-[12px]`}),t(` `+n(p.$t(`application.button.usage`)),1)]),_:1},8,[`onClick`]),p.rowCanPay(a?.row)?(f(),l(T,{key:0,class:`!m-0 !px-2`,type:`primary`,round:``,size:`small`,onClick:e=>p.onBuyMore(a?.row)},{default:u(()=>[r(S,{icon:`fa-solid fa-coins`,class:`mr-1 text-[12px]`}),t(` `+n(p.$t(`application.button.buyMore`)),1)]),_:1},8,[`onClick`])):i(``,!0)])]),_:1})]),_:1},8,[`data`,`empty-text`])),[[M,p.loading]])]),_:1}),e(`div`,ie,[p.loading?(f(),l(x,{key:0,rows:4,animated:``})):(f(),a(o,{key:1},[p.individualApplications?.length?(f(!0),a(o,{key:1},d(p.individualApplications,o=>(f(),l(C,{key:o.id,shadow:`hover`,class:`application-card mb-2`,"body-style":{padding:`14px 16px`}},{default:u(()=>[e(`div`,ae,[e(`span`,oe,n(o?.service?.title),1),o?.type===`Period`?(f(),l(D,{key:0,type:`success`,effect:`dark`,size:`small`,round:``},{default:u(()=>[t(n(p.$t(`application.type.period`)),1)]),_:1})):o?.type===`Usage`?(f(),l(D,{key:1,effect:`dark`,size:`small`,round:``},{default:u(()=>[t(n(p.$t(`application.type.usage`)),1)]),_:1})):i(``,!0),o?.role===`grantee`?(f(),l(D,{key:2,type:`info`,size:`small`,round:``},{default:u(()=>[t(n(p.$t(`application.badge.shared`)),1)]),_:1})):i(``,!0)]),e(`div`,se,[e(`span`,ce,n(p.$t(`application.field.id`))+`: `+n(o.id),1),r(w,{content:o.id,class:`inline-block shrink-0`},null,8,[`content`])]),e(`div`,le,[e(`span`,ue,n(p.$t(`application.field.remainingAmount`)),1),e(`span`,de,n(p.getRemainingAmount(o)),1)]),o?.expired_at?(f(),a(`div`,fe,[e(`span`,pe,n(p.$t(`application.field.expiredAt`)),1),e(`span`,$,n(p.$dayjs.format(o.expired_at)),1)])):i(``,!0),o.service?.type===p.serviceType.API?(f(),a(`div`,me,[e(`span`,he,n(p.$t(`application.field.allowConsumeGlobal`)),1),r(O,{modelValue:o.allow_consume_global,"onUpdate:modelValue":e=>o.allow_consume_global=e,"active-value":!0,"inactive-value":!1,onChange:e=>p.updateAllowConsumeGlobal(o,e)},null,8,[`modelValue`,`onUpdate:modelValue`,`onChange`])])):i(``,!0),e(`div`,ge,[r(T,{class:`!m-0 !px-3`,size:`small`,round:``,onClick:e=>p.onGoUsage(o)},{default:u(()=>[r(S,{icon:`fa-solid fa-chart-line`,class:`mr-1 text-[12px]`}),t(` `+n(p.$t(`application.button.usage`)),1)]),_:1},8,[`onClick`]),p.rowCanPay(o)?(f(),l(T,{key:0,class:`!m-0 !px-3`,type:`primary`,round:``,size:`small`,onClick:e=>p.onBuyMore(o)},{default:u(()=>[r(S,{icon:`fa-solid fa-coins`,class:`mr-1 text-[12px]`}),t(` `+n(p.$t(`application.button.buyMore`)),1)]),_:1},8,[`onClick`])):i(``,!0)])]),_:2},1024))),128)):(f(),l(A,{key:0,description:p.$t(`common.message.noData`)},null,8,[`description`]))],64))])]),_:1})]),_:1}),r(b,null,{default:u(()=>[r(y,{span:24},{default:u(()=>[e(`div`,_e,[r(j,{"current-page":p.page,"page-size":p.limit,total:p.individualApplicationsTotal,onChange:p.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var ye=C(L,[[`render`,ve],[`__scopeId`,`data-v-b4164ed9`]]);export{ye as default};