@acedatacloud/nexior 3.303.0 → 3.305.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/dist/assets/{ApiCodeButton-ClF_5uX0.js → ApiCodeButton-Dt8pNU6x.js} +1 -1
  2. package/dist/assets/{AskUserQuestionCard-C-DbbwkT.js → AskUserQuestionCard-Bqw0UgzI.js} +1 -1
  3. package/dist/assets/{Auth-BccyHRHh.js → Auth-9uVHSnoZ.js} +1 -1
  4. package/dist/assets/{Bare-BL9xw7bQ.js → Bare-3BOqLg1l.js} +1 -1
  5. package/dist/assets/{BotPlaceholder-XVpggWts.js → BotPlaceholder-COOqE9-9.js} +1 -1
  6. package/dist/assets/{BottomFooter-DhjM420b.js → BottomFooter-QxhaMdwi.js} +1 -1
  7. package/dist/assets/{Callback-bobTWu-X.js → Callback-BbvMUtas.js} +1 -1
  8. package/dist/assets/{CodeSnippet-BrRCTbV2.js → CodeSnippet-BlvgY6h4.js} +1 -1
  9. package/dist/assets/{Console-BM97vCWQ.js → Console-aR2vaZ1v.js} +1 -1
  10. package/dist/assets/{Consumption-CRTyuxVK.js → Consumption-DFVEdkHT.js} +1 -1
  11. package/dist/assets/Conversation-BgZjhoIW.js +3 -0
  12. package/dist/assets/{Conversation-BFVORLLb.css → Conversation-RnSchLfb.css} +1 -1
  13. package/dist/assets/{CopyToClipboard-BJ4cWa_D.js → CopyToClipboard-BH7fpVgM.js} +1 -1
  14. package/dist/assets/{Detail-DQc5vHbc.js → Detail-Chdau1eT.js} +2 -2
  15. package/dist/assets/{Extra-CbXPkJEK.js → Extra-CHn0--1A.js} +1 -1
  16. package/dist/assets/{FilePreview-CrQOhaAu.js → FilePreview-BT6abrb0.js} +1 -1
  17. package/dist/assets/{Hailuo-x29FeIOy.js → Hailuo-D0TpAhjT.js} +1 -1
  18. package/dist/assets/{History-3Kg0-Fzz.js → History-Culh0KAt.js} +1 -1
  19. package/dist/assets/{ImagePreview-C-SawJdM.js → ImagePreview-CUabAe1W.js} +1 -1
  20. package/dist/assets/{ImageWrapper-DImi0_wW.js → ImageWrapper-DWoMneh0.js} +1 -1
  21. package/dist/assets/{Index-DmFcvbDg.js → Index-56iLv7IE.js} +1 -1
  22. package/dist/assets/{Index-Dcnoncnn.js → Index-6KkPb7km.js} +1 -1
  23. package/dist/assets/{Index-tUawGkGw.js → Index-8tWBmlUv.js} +1 -1
  24. package/dist/assets/{Index-BQp5ET5Z.js → Index-B6OAXA9r.js} +1 -1
  25. package/dist/assets/{Index-DytqDp37.js → Index-B9gVedPS.js} +1 -1
  26. package/dist/assets/{Index-DTZOgWOT.js → Index-BGstngRu.js} +1 -1
  27. package/dist/assets/Index-BJwehCcT.js +1 -0
  28. package/dist/assets/Index-BXuTmpKe.js +1 -0
  29. package/dist/assets/{Index-ha0MYHcZ.js → Index-BkQihiHN.js} +1 -1
  30. package/dist/assets/{Index-SJRgZksZ.js → Index-BluTbDhQ.js} +1 -1
  31. package/dist/assets/{Index-m871QGZJ.js → Index-C3hd_ME-.js} +1 -1
  32. package/dist/assets/{Index-B8PHDaFR.js → Index-CRP81Rf1.js} +1 -1
  33. package/dist/assets/{Index-CP5NIvXa.js → Index-CnDm5BHf.js} +1 -1
  34. package/dist/assets/{Index-B9Kii_MA.js → Index-D35lE1hg.js} +1 -1
  35. package/dist/assets/{Index-BBDQ8YNw.js → Index-DH3--PhA.js} +1 -1
  36. package/dist/assets/{Index-BHCWkSHL.js → Index-DIGWjE24.js} +1 -1
  37. package/dist/assets/{Index-DKtpXRgz.js → Index-DJ8stGbR.js} +1 -1
  38. package/dist/assets/{Index-BkcnUF3v.js → Index-DMxmqO9G.js} +1 -1
  39. package/dist/assets/{Index-DJ299fC6.js → Index-DOylWer9.js} +1 -1
  40. package/dist/assets/Index-DZQ1z5Mb.js +1 -0
  41. package/dist/assets/{Index-COrR9k9N.js → Index-DrQ8toup.js} +1 -1
  42. package/dist/assets/{Index-CkkPGs1A.js → Index-FE7WONoF.js} +1 -1
  43. package/dist/assets/{Index-Bt5gYf3S.js → Index-LXDup59N.js} +1 -1
  44. package/dist/assets/Index-RZ1SnsX2.js +1 -0
  45. package/dist/assets/{Index-Ba0Q1L6c.js → Index-U_WEUqVO.js} +1 -1
  46. package/dist/assets/{Index-BVFII2fM.js → Index-bM6_qwuR.js} +2 -2
  47. package/dist/assets/{Index-CYcL-p8u.js → Index-gyCarV4s.js} +1 -1
  48. package/dist/assets/{Index-BMIYDxbP.js → Index-kDlbUZul.js} +1 -1
  49. package/dist/assets/{Invitees-CKImVMfu.js → Invitees-Dc_0Medi.js} +1 -1
  50. package/dist/assets/{List-sJjMnij2.js → List-BjBTxQvg.js} +1 -1
  51. package/dist/assets/List-CBFgsh9q.js +1 -0
  52. package/dist/assets/{List-tTVzT7A_.js → List-YiedLn4j.js} +1 -1
  53. package/dist/assets/{LocalTools-BouYAaxr.js → LocalTools-Dj7eO4RQ.js} +1 -1
  54. package/dist/assets/{LocalTools-BZGtRWhj.js → LocalTools-DjhDkgm5.js} +1 -1
  55. package/dist/assets/{Main-8MilFfED.js → Main-C7tLTXiR.js} +1 -1
  56. package/dist/assets/Model-BVUgJ6Ia.js +1 -0
  57. package/dist/assets/{Navigator-BNk8MfC1.js → Navigator-DS288V9m.js} +2 -2
  58. package/dist/assets/{NoTasks-Bpna1KF3.js → NoTasks-DZB4fe7R.js} +1 -1
  59. package/dist/assets/{NotFound-9ZxJcPjT.js → NotFound-D04B-E2L.js} +1 -1
  60. package/dist/assets/{Pagination-H17MTYYL.js → Pagination-GVBd1ZiN.js} +1 -1
  61. package/dist/assets/Pay-DkgndqNz.js +1 -0
  62. package/dist/assets/{Player-DLpXKvx0.js → Player-BCp34eW6.js} +1 -1
  63. package/dist/assets/{PromptTextarea-JHBmf8dE.js → PromptTextarea-BgrCdcrq.js} +1 -1
  64. package/dist/assets/{RealtimeCall-DAqcrz0k.js → RealtimeCall-BFm1yqsm.js} +1 -1
  65. package/dist/assets/{ScheduledTasks-B1rbKpsg.js → ScheduledTasks-Ds0gqOPP.js} +2 -2
  66. package/dist/assets/{Status-BYjWZpoM.js → Status-DwS3bnGN.js} +1 -1
  67. package/dist/assets/{Subscribe-OgcGURg-.js → Subscribe-DeQqWhl4.js} +1 -1
  68. package/dist/assets/{TabSwitcher-Dm6iRMbh.js → TabSwitcher-b1dTVdoe.js} +1 -1
  69. package/dist/assets/Tts-D4ylnltN.js +1 -0
  70. package/dist/assets/{VideoPlayer-BqYd3rkL.js → VideoPlayer-BBzXW6S4.js} +1 -1
  71. package/dist/assets/{avatar-DWrRCUpI.js → avatar-B7yeS-cP.js} +1 -1
  72. package/dist/assets/{basic-DK3CxIv9.js → basic-CCyX1xjZ.js} +1 -1
  73. package/dist/assets/{chat-dSE34_oI.js → chat-BxDi_jZY.js} +1 -1
  74. package/dist/assets/{codingBridge-CvhFSA-x.js → codingBridge-nVzp_t5M.js} +1 -1
  75. package/dist/assets/{codingBridgeNotify-CAgXFakW.js → codingBridgeNotify-jLzGZnSE.js} +2 -2
  76. package/dist/assets/{collapse-DD8ziopn.js → collapse-BUr44XV1.js} +1 -1
  77. package/dist/assets/{createTaskActions-BhbtJvKA.js → createTaskActions-DJoOej0T.js} +1 -1
  78. package/dist/assets/{date-picker-BeHFlqbW.js → date-picker-DFWF2WgW.js} +1 -1
  79. package/dist/assets/{digitalhuman-BlqdXR4R.js → digitalhuman-DbhM9sSX.js} +1 -1
  80. package/dist/assets/{dropdown-BAfTvsx2.js → dropdown-cJdVkovA.js} +1 -1
  81. package/dist/assets/{esm-BKdVv5p0.js → esm-6cpVdM6K.js} +1 -1
  82. package/dist/assets/{esm-_KxpMuSS.js → esm-B6ssDvbS.js} +1 -1
  83. package/dist/assets/{esm-DiHDgOvF.js → esm-BlKrXZjB.js} +3 -3
  84. package/dist/assets/{esm-C0IHha-f.js → esm-BptQfyqe.js} +2 -2
  85. package/dist/assets/esm-DA6AByd4.js +1 -0
  86. package/dist/assets/{esm-B_QeMYxU.js → esm-DYlC4gJE.js} +2 -2
  87. package/dist/assets/{esm-CSyQtxWU.js → esm-k_mi7Wtt.js} +1 -1
  88. package/dist/assets/{fish-Bx4moYEI.js → fish-OaW_0JCu.js} +1 -1
  89. package/dist/assets/{flux-B-xeWCQC.js → flux-vXpWWkUl.js} +1 -1
  90. package/dist/assets/{grokvideo-DRhwgGin.js → grokvideo-BD-H3DdP.js} +1 -1
  91. package/dist/assets/{hailuo-BGwC0Bxc.js → hailuo-YgCVFaux.js} +1 -1
  92. package/dist/assets/{headshots-DnZWvzQ0.js → headshots-BBuPlN2K.js} +1 -1
  93. package/dist/assets/image-C1rOF43l.js +1 -0
  94. package/dist/assets/{index-BagZk06I.js → index-DclJnQCv.js} +16 -16
  95. package/dist/assets/{index.browser.esm-DZC34pZ2.js → index.browser.esm-C52Qe4zG.js} +1 -1
  96. package/dist/assets/{index.es-B2VlwOr_.js → index.es-Dam0OO1D.js} +1 -1
  97. package/dist/assets/{input-number-Dyg16v0K.js → input-number-Bswm4QYv.js} +1 -1
  98. package/dist/assets/{kling-DvL9ZiYj.js → kling-a8jowPGd.js} +1 -1
  99. package/dist/assets/{luma-Bwcmzx_q.js → luma-DGTM8cSH.js} +1 -1
  100. package/dist/assets/{maestro-CtZf5aBh.js → maestro-qTTxBIJ5.js} +1 -1
  101. package/dist/assets/{midjourney-BJk966ro.js → midjourney-Bcug_Q8z.js} +1 -1
  102. package/dist/assets/{nanobanana-TYtXrk6d.js → nanobanana-CyxxW29B.js} +1 -1
  103. package/dist/assets/{openaiimage-BpMamVmD.js → openaiimage-DaFXl6m4.js} +1 -1
  104. package/dist/assets/{pagination-BYwrVl5j.js → pagination-D0XVag9D.js} +2 -2
  105. package/dist/assets/{pika-wZK9SMPX.js → pika-yyGoxgOw.js} +1 -1
  106. package/dist/assets/{pixverse-YB1aXl0C.js → pixverse-BmYaQsKl.js} +1 -1
  107. package/dist/assets/{popover-BEMngdIl.js → popover-xMZALxvw.js} +1 -1
  108. package/dist/assets/{producer-BmbH9v3S.js → producer-pbeuE0wX.js} +1 -1
  109. package/dist/assets/{qrart-Byu6wm0l.js → qrart-Dfz2lwo-.js} +1 -1
  110. package/dist/assets/{realtime-Qeand8_g.js → realtime-Bh3UsnxT.js} +1 -1
  111. package/dist/assets/{row-BRzneEdS.js → row-B1Fh_BWz.js} +1 -1
  112. package/dist/assets/{seedance-rQB1DoM5.js → seedance-4rcegRX6.js} +1 -1
  113. package/dist/assets/{seedream-BP2Ngxwx.js → seedream-DKEmP8ea.js} +1 -1
  114. package/dist/assets/{select-BdRfhFiQ.js → select-BNNyIngy.js} +1 -1
  115. package/dist/assets/{serp-Dn1V8FpY.js → serp-6CdD2j_r.js} +1 -1
  116. package/dist/assets/{slider-Byv7aKgM.js → slider-BtfdLTJb.js} +1 -1
  117. package/dist/assets/{solana-wallets-Deh1hJN2.js → solana-wallets-D5Wa4gLw.js} +2 -2
  118. package/dist/assets/{solana-wallets-vue-DcexNa0W.js → solana-wallets-vue-LDmfiACL.js} +1 -1
  119. package/dist/assets/{sora-CIw7PRtp.js → sora-KFzVGJzc.js} +1 -1
  120. package/dist/assets/{suno-CKA1VF-G.js → suno-KqHQ7BQC.js} +1 -1
  121. package/dist/assets/{switch-kHjfJuQ2.js → switch-DWXQZz-o.js} +1 -1
  122. package/dist/assets/{tabs-CMOVMWgH.js → tabs-4x0FGxKt.js} +1 -1
  123. package/dist/assets/{time-picker-CT7UQj3N.js → time-picker-CNAm5JBc.js} +1 -1
  124. package/dist/assets/{upload-DT_UdtVs.js → upload-D0e0nt-T.js} +1 -1
  125. package/dist/assets/{veo-C5sdh4Tm.js → veo-DvDy0_7R.js} +1 -1
  126. package/dist/assets/{wan-DII8Uqpo.js → wan-ByN6HEI2.js} +1 -1
  127. package/dist/assets/{web-BXpirZ0m.js → web-ArQHixjj.js} +1 -1
  128. package/dist/assets/{web-DNYVwntC.js → web-BOc84B9P.js} +1 -1
  129. package/dist/assets/{web-BNIj54Nk.js → web-C9ruDcRK.js} +1 -1
  130. package/dist/assets/{web-59LETsgP.js → web-D6SNxMVv.js} +1 -1
  131. package/dist/assets/{web-CCVoQeTA.js → web-DOZ1-GWL.js} +1 -1
  132. package/dist/assets/{webextrator-_ZC1OQsq.js → webextrator-4qobCNYw.js} +1 -1
  133. package/dist/index.html +1 -1
  134. package/package.json +1 -1
  135. package/dist/assets/Conversation-DOAXXsGS.js +0 -3
  136. package/dist/assets/Index-1xCh5CN_.js +0 -1
  137. package/dist/assets/Index-DKvnwl-r.js +0 -1
  138. package/dist/assets/Index-DaQLGcg-.js +0 -1
  139. package/dist/assets/Index-Dn65FURQ.js +0 -1
  140. package/dist/assets/List-BvOINiMz.js +0 -1
  141. package/dist/assets/Model-B6HlroLE.js +0 -1
  142. package/dist/assets/Pay-BmrwfDNY.js +0 -1
  143. package/dist/assets/Tts-DSEHLO9A.js +0 -1
  144. package/dist/assets/esm-ijf2nAIM.js +0 -1
  145. package/dist/assets/image-Dq96Xper.js +0 -1
package/dist/index.html CHANGED
@@ -247,7 +247,7 @@
247
247
  }
248
248
  }
249
249
  </style>
250
- <script type="module" crossorigin src="/assets/index-BagZk06I.js"></script>
250
+ <script type="module" crossorigin src="/assets/index-DclJnQCv.js"></script>
251
251
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime--c01j_DQ.js">
252
252
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-zJ_50EbN.js">
253
253
  <link rel="modulepreload" crossorigin href="/assets/vendor-chart-BJCvKk8-.js">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acedatacloud/nexior",
3
- "version": "3.303.0",
3
+ "version": "3.305.0",
4
4
  "author": "Ace Data Cloud <office@acedata.cloud>",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,3 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,E as r,F as i,N as a,O as o,P as s,S as c,Ut as l,Vt as u,Wt as d,Z as f,_ as p,b as m,bt as h,ct as g,dt as _,et as v,k as y,nt as b,tt as x,ut as S,v as C,y as w}from"./vendor-chart-BJCvKk8-.js";import{t as T}from"./button-BydTr5nV.js";import{I as E,S as D,_ as O,nt as k,w as A}from"./use-deprecated-B-NFNg3W.js";import{t as ee}from"./upload-DT_UdtVs.js";import{t as j}from"./tooltip-BxeH2Vts.js";import{t as M}from"./image-Dq96Xper.js";import{n as te,t as ne}from"./checkbox-BC1X4B2U.js";import{t as re}from"./drawer-R6pcaap2.js";import{n as N,r as P,t as ie}from"./dropdown-BAfTvsx2.js";import{t as ae}from"./popover-BEMngdIl.js";import{t as oe}from"./skeleton-BwNBivMN.js";import{t as se}from"./vendor-axios-Ck2ffRoh.js";import{Ai as ce,Bi as F,Ci as le,Di as ue,Ei as de,Oi as fe,Ti as pe,Vi as I,aa as me,da as he,fa as ge,ia as _e,ji as ve,ki as ye,la as L,oa as be,pa as xe,qi as Se,ra as Ce,sa as we,ua as Te}from"./constants-DNpQuSUd.js";import{$t as Ee,A as R,Ar as z,B as De,Br as B,Gn as V,Gt as Oe,Hn as H,I as ke,Ir as U,Kt as Ae,Lr as je,Lt as Me,N as Ne,O as W,Pr as G,Sr as Pe,Vr as Fe,Vt as Ie,Xr as K,Xt as Le,Zt as Re,ei as ze,in as Be,qr as q,rn as Ve,zt as He}from"./index-BagZk06I.js";import"./vendor-highlight-BtIeKitL.js";import{t as J}from"./index.es-B2VlwOr_.js";import{t as Ue}from"./CopyToClipboard-BJ4cWa_D.js";import{n as We,t as Ge}from"./AskUserQuestionCard-C-DbbwkT.js";import{t as Ke}from"./FilePreview-CrQOhaAu.js";import{t as qe}from"./ImagePreview-C-SawJdM.js";var Je=i({name:`AnsweringMark`,data(){return{}},computed:{conversationId(){return this.$route.params?.id?.toString()}}}),Ye={class:`mark`};function Xe(e,n,r,i,a,o){return f(),t(`div`,Ye)}var Ze=W(Je,[[`render`,Xe]]),Qe=i({name:`CitationCard`,components:{FontAwesomeIcon:J},props:{citation:{type:Object,required:!0}},data(){return{iconFailed:!1}},computed:{displayUrl(){try{let e=new URL(this.citation.url);return e.host+(e.pathname&&e.pathname!==`/`?e.pathname:``)}catch{return this.citation.url}},hostLabel(){try{return new URL(this.citation.url).host.replace(/^www\./,``)}catch{return``}},resolvedIcon(){if(this.iconFailed)return``;if(this.citation.icon)return this.citation.icon;try{let e=new URL(this.citation.url).host;return e?`https://www.google.com/s2/favicons?domain=${encodeURIComponent(e)}&sz=64`:``}catch{return``}},fallbackIcon(){let e=(this.citation.type||``).toLowerCase();return e===`file`?`fa-solid fa-file-lines`:e===`page`?`fa-solid fa-file`:e===`issue`?`fa-solid fa-circle-dot`:e===`email`?`fa-solid fa-envelope`:e===`message`?`fa-solid fa-message`:e===`web`?`fa-solid fa-globe`:`fa-solid fa-link`}},methods:{onIconError(){this.iconFailed=!0}}}),$e=[`href`],et={class:`head`},tt=[`src`,`alt`],nt={key:2,class:`source`},rt={key:0,class:`title`},it={key:1,class:`snippet`},at={class:`url`};function ot(e,r,i,a,s,c){let l=x(`font-awesome-icon`);return f(),t(`a`,{class:`citation-card`,href:e.citation.url,target:`_blank`,rel:`noopener noreferrer`},[n(`div`,et,[e.resolvedIcon?(f(),t(`img`,{key:0,src:e.resolvedIcon,alt:e.citation.source||``,class:`icon`,referrerpolicy:`no-referrer`,loading:`lazy`,onError:r[0]||=(...t)=>e.onIconError&&e.onIconError(...t)},null,40,tt)):(f(),o(l,{key:1,icon:e.fallbackIcon,class:`icon-fallback`},null,8,[`icon`])),e.citation.source||e.hostLabel?(f(),t(`span`,nt,d(e.citation.source||e.hostLabel),1)):y(``,!0)]),e.citation.title?(f(),t(`div`,rt,d(e.citation.title),1)):y(``,!0),e.citation.snippet?(f(),t(`div`,it,d(e.citation.snippet),1)):y(``,!0),n(`div`,at,d(e.displayUrl),1)],8,$e)}var st=W(Qe,[[`render`,ot],[`__scopeId`,`data-v-36c9d5dc`]]),ct=/\[\^acite:([A-Za-z0-9_-]{1,32})\]/g,lt=i({name:`MarkdownRenderer`,directives:{highlight:Oe},components:{VueMarkdown:We,CitationCard:st,ElPopover:ae},props:{content:{type:String,required:!1,default:``},citations:{type:Object,required:!1,default:()=>({})}},data(){return{hoveredCitation:null,popoverAnchor:null,popoverVisible:!1}},computed:{enrichedContent(){let e=this.content||``;if(!e.includes(`[^acite:`))return e;let t=this.citations||{};return e.replace(ct,(e,n)=>{let r=t[n];return r?dt(n,r):``})}},methods:{onChipHover(e){let t=e.target;if(!t)return;let n=t.closest(`.citation-chip`);if(!n){this.popoverVisible=!1;return}let r=n.dataset.citationId;if(!r)return;let i=(this.citations||{})[r];i&&(this.hoveredCitation=i,this.popoverAnchor=n,this.popoverVisible=!0)},onChipLeave(){this.popoverVisible=!1}}});function ut(e){let t=e.source||(()=>{try{return new URL(e.url).host.replace(/^www\./,``)}catch{return``}})()||e.title||`source`;return t.length>24?t.slice(0,23)+`…`:t}function Y(e){return e.replace(/&/g,`&amp;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function dt(e,t){let n=Y(e),r=Y(t.title||t.source||t.url||e),i=Y(ut(t)),a=t.url?` href="${Y(t.url)}"`:``;return[`<span class="citation-chip" data-citation-id="${n}" title="${r}">`,`<a class="citation-chip__link"${a} target="_blank" rel="noopener noreferrer" tabindex="-1">`,`<span class="citation-chip__label">${i}</span>`,`</a>`,`</span>`].join(``)}var ft={class:`markdown-with-citations`};function pt(e,n,r,i,a,c){let l=x(`vue-markdown`),u=x(`citation-card`),d=x(`el-popover`),p=b(`highlight`);return f(),t(`div`,ft,[_(s(l,{source:e.enrichedContent,class:`markdown-body bg-transparent pt-[3px] text-[inherit]`,onMouseover:e.onChipHover,onMouseleave:e.onChipLeave},null,8,[`source`,`onMouseover`,`onMouseleave`]),[[p]]),e.hoveredCitation&&e.popoverAnchor?(f(),o(d,{key:0,"virtual-ref":e.popoverAnchor,"virtual-triggering":``,trigger:`hover`,visible:e.popoverVisible,placement:`top`,width:340,"popper-class":`citation-popover`,"show-arrow":!0,"hide-after":120},{default:S(()=>[s(u,{citation:e.hoveredCitation},null,8,[`citation`])]),_:1},8,[`virtual-ref`,`visible`])):y(``,!0)])}var mt=W(lt,[[`render`,pt],[`__scopeId`,`data-v-f3f2e7ba`]]),ht=i({name:`CopyToClipboard`,components:{FontAwesomeIcon:J,ElTooltip:j},props:{messages:{type:Array,required:!1,default:()=>[]}},emits:[`restart`],data(){return{copied:!1}},methods:{onRestart(){this.$emit(`restart`)}}});function gt(e,t,n,r,i,a){let c=x(`font-awesome-icon`),l=x(`el-tooltip`);return f(),o(l,{effect:`dark`,content:e.$t(`common.button.restart`),placement:`bottom`},{default:S(()=>[s(c,{icon:`fa-solid fa-sync`,class:`icon-sync`,onClick:e.onRestart},null,8,[`onClick`])]),_:1},8,[`content`])}var _t=W(ht,[[`render`,gt],[`__scopeId`,`data-v-90e169cb`]]),vt=i({name:`EditMessage`,components:{FontAwesomeIcon:J,ElTooltip:j},props:{messages:{type:Array,required:!1,default:()=>[]}},emits:[`click`],data(){return{copied:!1}},methods:{onEdit(){this.$emit(`click`)}}});function yt(e,n,r,i,a,o){let c=x(`font-awesome-icon`),l=x(`el-tooltip`);return f(),t(`span`,null,[s(l,{effect:`dark`,content:e.$t(`common.button.restart`),placement:`bottom`},{default:S(()=>[s(c,{icon:`fa-solid fa-edit`,class:`icon icon-edit`,onClick:e.onEdit},null,8,[`onClick`])]),_:1},8,[`content`])])}var bt=W(vt,[[`render`,yt],[`__scopeId`,`data-v-8e947e8f`]]),xt={code_execute:`Running code`,web_search:`Searching the web`,image_generate:`Generating image`,video_generate:`Generating video`,music_generate:`Generating music`},St=i({name:`ToolActivity`,components:{Loading:E,CircleCheckFilled:D,CircleCloseFilled:A,ArrowRight:O},props:{item:{type:Object,required:!0}},data(){return{expanded:!1}},computed:{displayName(){if(this.item.tool_display_name)return this.item.tool_display_name;let e=this.item.tool_name||``;return xt[e]||e.replace(/_/g,` `)},inputText(){return this.item.input?this.item.tool_name===`code_execute`?this.item.input.code||``:this.item.tool_name===`web_search`?this.item.input.query||``:JSON.stringify(this.item.input,null,2):``}}}),Ct={class:`tool-icon`},wt={class:`tool-name`},Tt={key:0,class:`tool-duration`},Et={key:0,class:`tool-body`},Dt={key:0,class:`tool-section`},Ot={class:`tool-code`},kt={key:1,class:`tool-section`},At={class:`tool-code`};function jt(e,r,i,a,c,l){let p=x(`Loading`),m=x(`el-icon`),h=x(`CircleCloseFilled`),g=x(`CircleCheckFilled`),_=x(`ArrowRight`);return f(),t(`div`,{class:u([`tool-activity`,{"is-error":e.item.is_error,"is-running":e.item.status===`running`}])},[n(`div`,{class:`tool-header`,onClick:r[0]||=t=>e.expanded=!e.expanded},[n(`span`,Ct,[e.item.status===`running`?(f(),o(m,{key:0,class:`is-loading`},{default:S(()=>[s(p)]),_:1})):e.item.is_error?(f(),o(m,{key:1,color:`var(--el-color-danger)`},{default:S(()=>[s(h)]),_:1})):(f(),o(m,{key:2,color:`var(--el-color-success)`},{default:S(()=>[s(g)]),_:1}))]),n(`span`,wt,d(e.displayName),1),e.item.duration_ms?(f(),t(`span`,Tt,d(e.item.duration_ms)+`ms`,1)):y(``,!0),s(m,{class:u([`tool-expand`,{rotated:e.expanded}])},{default:S(()=>[s(_)]),_:1},8,[`class`])]),e.expanded?(f(),t(`div`,Et,[e.inputText?(f(),t(`div`,Dt,[r[1]||=n(`div`,{class:`tool-section-label`},`Input`,-1),n(`pre`,Ot,d(e.inputText),1)])):y(``,!0),e.item.output?(f(),t(`div`,kt,[r[2]||=n(`div`,{class:`tool-section-label`},`Output`,-1),n(`pre`,At,d(e.item.output),1)])):y(``,!0)])):y(``,!0)],2)}var Mt=W(St,[[`render`,jt],[`__scopeId`,`data-v-5a4f0ac9`]]),Nt=i({name:`EntityCard`,components:{ElImage:M,FontAwesomeIcon:J},props:{card:{type:Object,required:!0}},computed:{cardType(){let e=(this.card.type||``).toLowerCase();return e===`audio`||e===`image`?e:e===`video`||e===`embed`?`video`:this.card.mimeType?.startsWith(`audio/`)?`audio`:this.card.mimeType?.startsWith(`video/`)?`video`:this.card.mimeType?.startsWith(`image/`)?`image`:`file`},formattedDuration(){let e=this.card.duration??0;return!Number.isFinite(e)||e<=0?``:`${Math.floor(e/60)}:${Math.floor(e%60).toString().padStart(2,`0`)}`},cleanFileName(){try{let e=new URL(this.card.url),t=e.pathname.split(`/`).filter(Boolean);return decodeURIComponent(t[t.length-1]||e.hostname)}catch{return this.card.url}},hostname(){try{return new URL(this.card.url).hostname}catch{return``}},fileIcon(){let e=(this.card.mimeType||``).toLowerCase();return e.includes(`pdf`)?`fa-solid fa-file-pdf`:e.includes(`word`)||e.includes(`msword`)?`fa-solid fa-file-word`:e.includes(`sheet`)||e.includes(`excel`)||e.includes(`csv`)?`fa-solid fa-file-excel`:e.includes(`zip`)||e.includes(`compressed`)?`fa-solid fa-file-zipper`:e.startsWith(`text/`)?`fa-solid fa-file-lines`:`fa-solid fa-file`}}}),Pt={key:0,class:`audio-card`},Ft={key:0,class:`thumb`},It=[`src`,`alt`],Lt={class:`meta`},Rt=[`title`],zt={key:1,class:`sub`},Bt=[`src`],Vt={class:`actions`},Ht=[`href`],Ut={key:1,class:`video-card`},Wt={class:`frame`},Gt=[`src`,`title`],Kt={key:0,class:`meta`},qt=[`title`],Jt={key:1,class:`sub`},Yt={key:2,class:`image-card`},Xt=[`title`],Zt=[`href`,`title`],Qt={class:`info`},$t={class:`title`},en={class:`sub`};function tn(e,r,i,o,c,l){let p=x(`font-awesome-icon`),m=x(`el-image`);return f(),t(`div`,{class:u([`entity-card`,`entity-card--${e.cardType}`])},[e.cardType===`audio`?(f(),t(`div`,Pt,[e.card.thumbnail?(f(),t(`div`,Ft,[n(`img`,{src:e.card.thumbnail,alt:e.card.title||``},null,8,It)])):y(``,!0),n(`div`,Lt,[e.card.title?(f(),t(`div`,{key:0,class:`title`,title:e.card.title},d(e.card.title),9,Rt)):y(``,!0),e.card.duration?(f(),t(`div`,zt,d(e.formattedDuration),1)):y(``,!0),n(`audio`,{class:`player`,controls:``,preload:`metadata`,src:e.card.url},null,8,Bt),n(`div`,Vt,[n(`a`,{class:`download`,href:e.card.url,target:`_blank`,rel:`noopener noreferrer`},[s(p,{icon:`fa-solid fa-arrow-down`}),a(` `+d(e.$t(`common.button.download`)),1)],8,Ht)])])])):e.cardType===`video`?(f(),t(`div`,Ut,[n(`div`,Wt,[n(`iframe`,{class:`player`,src:e.card.url,title:e.card.title||``,frameborder:`0`,loading:`lazy`,referrerpolicy:`strict-origin-when-cross-origin`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share`,allowfullscreen:``},null,8,Gt)]),e.card.title||e.card.duration?(f(),t(`div`,Kt,[e.card.title?(f(),t(`span`,{key:0,class:`title`,title:e.card.title},d(e.card.title),9,qt)):y(``,!0),e.card.duration?(f(),t(`span`,Jt,d(e.formattedDuration),1)):y(``,!0)])):y(``,!0)])):e.cardType===`image`?(f(),t(`div`,Yt,[s(m,{src:e.card.url,alt:e.card.alt||e.card.title||``,fit:`contain`,class:`image`,"preview-src-list":[e.card.url],"initial-index":0,"hide-on-click-modal":!0,"preview-teleported":!0},{placeholder:S(()=>[...r[0]||=[n(`div`,{class:`image-placeholder`},null,-1)]]),error:S(()=>[...r[1]||=[n(`div`,{class:`image-placeholder image-placeholder--error`},null,-1)]]),_:1},8,[`src`,`alt`,`preview-src-list`]),e.card.title?(f(),t(`div`,{key:0,class:`caption`,title:e.card.title},d(e.card.title),9,Xt)):y(``,!0)])):(f(),t(`a`,{key:3,class:`file-card`,href:e.card.url,target:`_blank`,rel:`noopener noreferrer`,title:e.card.title||e.card.url},[s(p,{class:`icon`,icon:e.fileIcon},null,8,[`icon`]),n(`div`,Qt,[n(`div`,$t,d(e.card.title||e.cleanFileName),1),n(`div`,en,d(e.card.mimeType||e.hostname),1)]),s(p,{class:`open`,icon:`fa-solid fa-arrow-up-right-from-square`})],8,Zt))],2)}var nn=W(Nt,[[`render`,tn],[`__scopeId`,`data-v-16d3b472`]]),rn=i({name:`ThinkingBlock`,components:{ArrowRight:O,ElIcon:k,FontAwesomeIcon:J,MarkdownRenderer:mt},props:{content:{type:String,required:!0},done:{type:Boolean,default:!1}},setup(e){let{t}=Se(),n=h(!1);return g(()=>e.done,e=>{e&&(n.value=!0)}),{collapsed:n,label:r(()=>e.done?t(`chat.thinking.done`):t(`chat.thinking.inProgress`))}}}),an={class:`thinking-label`},on={class:`thinking-content`};function sn(e,r,i,a,o,c){let l=x(`ArrowRight`),p=x(`el-icon`),m=x(`font-awesome-icon`),h=x(`markdown-renderer`);return f(),t(`div`,{class:u([`thinking-block`,{active:!e.done}])},[n(`div`,{class:`thinking-header`,onClick:r[0]||=t=>e.collapsed=!e.collapsed},[s(p,{class:u([`caret`,{"rotate-90":!e.collapsed}])},{default:S(()=>[s(l)]),_:1},8,[`class`]),s(m,{icon:`fa-solid fa-brain`,class:u([`brain`,{pulse:!e.done}])},null,8,[`class`]),n(`span`,an,d(e.label),1)]),_(n(`div`,on,[s(h,{content:e.content},null,8,[`content`])],512),[[C,!e.collapsed]])],2)}var cn=W(rn,[[`render`,sn],[`__scopeId`,`data-v-63e2d974`]]),ln=i({name:`ConnectorEntryRow`,components:{ElButton:T,FontAwesomeIcon:J},props:{entry:{type:Object,required:!0},catalog:{type:Object,default:null},disabled:{type:Boolean,default:!1}},emits:[`authorize`],data(){return{logoError:!1}},computed:{fallbackName(){let e=this.entry.connector??``;return e.startsWith(`acedatacloud/`)?e.slice(13):e},displayName(){return this.catalog?.name?.trim()||this.fallbackName},iconUrl(){return this.logoError?``:this.catalog?.icon_url||``},secondaryText(){return this.entry.context&&this.entry.context.trim()?this.entry.context:this.catalog?.short_description||``}},watch:{"catalog.icon_url"(){this.logoError=!1}},methods:{onAuthorize(){this.$emit(`authorize`,this.entry)},onLogoError(){this.logoError=!0}}}),un={class:`entry-icon`,"aria-hidden":`true`},dn=[`src`,`alt`],fn={class:`entry-text`},pn={class:`entry-name`},mn={key:0,class:`entry-context`},hn={class:`entry-action`},gn={key:0,class:`status-pill connected`},_n={key:2,class:`status-pill unconnected`};function vn(e,r,i,s,c,l){let p=x(`font-awesome-icon`),m=x(`el-button`);return f(),t(`div`,{class:u([`connector-entry-row`,{"is-connected":e.entry.status===`connected`}])},[n(`div`,un,[e.iconUrl?(f(),t(`img`,{key:0,src:e.iconUrl,class:`icon-logo`,alt:e.displayName,onError:r[0]||=(...t)=>e.onLogoError&&e.onLogoError(...t)},null,40,dn)):e.entry.status===`connected`?(f(),o(p,{key:1,icon:`fa-solid fa-circle-check`,class:`icon-connected`})):(f(),o(p,{key:2,icon:`fa-solid fa-plug`,class:`icon-unconnected`}))]),n(`div`,fn,[n(`div`,pn,d(e.displayName),1),e.secondaryText?(f(),t(`div`,mn,d(e.secondaryText),1)):y(``,!0)]),n(`div`,hn,[e.entry.status===`connected`?(f(),t(`span`,gn,d(e.$t(`chat.consent.statusConnected`)),1)):e.entry.install_url?(f(),o(m,{key:1,type:`primary`,size:`small`,disabled:e.disabled,onClick:e.onAuthorize},{default:S(()=>[a(d(e.$t(`chat.consent.authorize`)),1)]),_:1},8,[`disabled`,`onClick`])):(f(),t(`span`,_n,d(e.$t(`chat.consent.statusUnconnected`)),1))])],2)}var yn=W(ln,[[`render`,vn],[`__scopeId`,`data-v-c9e31277`]]);function bn(e){let t=new Set,n=[];for(let r of e.requirements??[])if(!r.satisfied)for(let e of r.entries??[])e.status===`unconnected`&&!t.has(e.connector)&&(t.add(e.connector),n.push(e.connector));return n}function xn(e,t,n){return JSON.stringify({consent_request_id:e.consent_request_id,authorized:t,skipped:n})}async function Sn(){let e=await V.get(`/connections/`,{baseURL:`${U()}/api/v1`});return Array.isArray(e.data)?e.data:[]}var Cn=new Map,wn=new Map;async function Tn(e){if(!e)return;let t=Cn.get(e);if(t)return t;let n=wn.get(e);if(n)return n;let r=(async()=>{try{let t=(await V.get(`/connectors/${e}/`,{baseURL:`${U()}/api/v1`})).data;return Cn.set(e,t),t}catch(t){console.warn(`connector catalog fetch failed`,e,t);return}})().finally(()=>{wn.delete(e)});return wn.set(e,r),r}var X=null,En=null,Z=null,Q=0;async function Dn(e,t=!1){let n=e??null;if(n!==En&&(En=n,X=null,Z=null,Q++),!n)return[];if(!t&&X)return X;if(!t&&Z)return Z;let r=++Q,i=(async()=>{try{let e=(await V.get(`/connectors/`,{baseURL:`${U()}/api/v1`,params:{sort:`popular`,limit:200}}))?.data?.items,t=Array.isArray(e)?e.filter(e=>e?.installed&&e?.icon_url).map(e=>({id:e.id,identifier:e.identifier,name:e.name,icon_url:e.icon_url})):[];return En===n&&Q===r&&(X=t),t}catch(e){return console.warn(`enabled connectors fetch failed`,e),X??[]}})();return Z=i,i.finally(()=>{Q===r&&(Z=null)}),i}async function On(e,t){return(await V.post(`/connectors/${e}/install/`,t,{baseURL:`${U()}/api/v1`})).data}var kn=i({name:`ConnectorConsentCard`,components:{ConnectorEntryRow:yn,ElButton:T,ElCheckbox:ne,ElCheckboxGroup:te,ElDialog:K,FontAwesomeIcon:J},props:{toolUseId:{type:String,required:!0},payload:{type:Object,required:!0},resolved:{type:Boolean,default:!1},previousOutput:{type:String,default:``}},emits:[`submit`,`authorize`],data(){return{resolvedAuthorized:[],resolvedSkipped:[],catalogs:{},scopeDialogVisible:!1,scopeDialogEntry:null,scopeDialogCatalog:null,selectedScopes:[],authorizingConnector:``,liveStatuses:{},hasCheckedStatuses:!1,refreshingStatus:!1}},computed:{requirements(){return this.payload?.requirements??[]},effectiveStatus(){return e=>this.liveStatuses[e.connector]??e.status},effectiveEntriesFor(){return e=>e.entries.map(e=>{let t=this.liveStatuses[e.connector];return!t||t===e.status?e:{...e,status:t}})},effectiveSatisfiedFor(){return e=>{let t=e.entries.map(e=>this.effectiveStatus(e));return t.length===0?e.satisfied:e.match===`all`?t.every(e=>e===`connected`):t.some(e=>e===`connected`)}},hasUnsatisfied(){return this.requirements.some(e=>!this.effectiveSatisfiedFor(e))},showContinueButton(){return this.resolved||!this.hasCheckedStatuses?!1:!this.hasUnsatisfied},resolvedSummary(){return this.resolvedAuthorized.length>0?this.$t(`chat.consent.resolvedAuthorized`,{list:this.resolvedAuthorized.join(`, `)}):this.$t(`chat.consent.resolvedSkipped`)}},watch:{resolved:{immediate:!0,handler(e){e&&this.parsePreviousOutput()}},previousOutput:{immediate:!1,handler(){this.resolved&&this.parsePreviousOutput()}},payload:{immediate:!0,deep:!1,handler(){this.refreshCatalogs()}}},mounted(){this.shouldRefreshFromReturn()&&this.refreshConnectionStatuses()},methods:{showMatchLabel(e){return e.entries.length>1&&!this.effectiveSatisfiedFor(e)},catalogFor(e){return this.catalogs[e.catalog_id]||null},async refreshCatalogs(){let e=new Set;for(let t of this.requirements)for(let n of t.entries)n.catalog_id&&e.add(n.catalog_id);await Promise.all(Array.from(e).map(async e=>{if(this.catalogs[e])return;let t=await Tn(e);t&&(this.catalogs={...this.catalogs,[e]:t})}))},onAuthorize(e){let t=this.catalogFor(e);if(!t||t.auth_mode===`byoc`||!t.installable){this.$emit(`authorize`,{tool_use_id:this.toolUseId,entry:e});return}let n=t.permissions||[];if(n.length>1){this.scopeDialogEntry=e,this.scopeDialogCatalog=t,this.selectedScopes=n.map(e=>e.id),this.scopeDialogVisible=!0;return}this.performInstall(e,void 0)},onConfirmScopes(){let e=this.scopeDialogEntry;if(!e){this.scopeDialogVisible=!1;return}let t=[...this.selectedScopes];this.scopeDialogVisible=!1,this.performInstall(e,t)},async performInstall(e,t){this.authorizingConnector=e.connector;try{let n=new URL(window.location.href);n.searchParams.set(`consent`,this.payload.consent_request_id),n.searchParams.delete(`connector`);let r=await On(e.catalog_id,{scopes:t,return_url:n.toString()});if(r.type===`redirect`&&r.authorization_url){window.location.href=r.authorization_url;return}this.$emit(`authorize`,{tool_use_id:this.toolUseId,entry:e})}catch(t){console.error(`installFromCatalog failed`,t),q.error(this.$t(`chat.consent.installFailed`)),this.$emit(`authorize`,{tool_use_id:this.toolUseId,entry:e})}finally{this.authorizingConnector=``}},onSkip(){let e=bn(this.payload),t=xn(this.payload,[],e);this.$emit(`submit`,{tool_use_id:this.toolUseId,output:t})},shouldRefreshFromReturn(){if(typeof window>`u`)return!1;try{return new URL(window.location.href).searchParams.get(`consent`)===this.payload?.consent_request_id}catch{return!1}},async refreshConnectionStatuses(){this.refreshingStatus=!0;try{let e=await Sn(),t=new Set;for(let n of e){let e=n.connector_identifier;e&&String(n.status).toLowerCase()===`active`&&t.add(e)}let n={};for(let e of this.requirements)for(let r of e.entries)n[r.connector]=t.has(r.connector)?`connected`:`unconnected`;this.liveStatuses=n,this.hasCheckedStatuses=!0}catch(e){console.warn(`listMyConnections failed`,e)}finally{this.refreshingStatus=!1}},onContinue(){let e=[];for(let t of this.requirements)for(let n of t.entries)this.effectiveStatus(n)===`connected`&&e.push(n.connector);let t=xn(this.payload,e,[]);this.$emit(`submit`,{tool_use_id:this.toolUseId,output:t})},parsePreviousOutput(){if(this.resolvedAuthorized=[],this.resolvedSkipped=[],this.previousOutput)try{let e=JSON.parse(this.previousOutput);Array.isArray(e.authorized)&&(this.resolvedAuthorized=e.authorized.filter(e=>typeof e==`string`)),Array.isArray(e.skipped)&&(this.resolvedSkipped=e.skipped.filter(e=>typeof e==`string`))}catch{}}}}),An={class:`ccc-header`},jn={class:`header-title`},Mn={key:0,class:`ccc-rationale`},Nn={key:0,class:`ccc-req-match`},Pn={key:1,class:`ccc-actions`},Fn={key:2,class:`ccc-resolved-banner`},In={class:`ccc-scope-hint`},Ln={class:`ccc-scope-label`},Rn={key:0,class:`ccc-scope-desc`};function zn(r,i,l,p,m,h){let g=x(`font-awesome-icon`),_=x(`ConnectorEntryRow`),v=x(`el-button`),b=x(`el-checkbox`),C=x(`el-checkbox-group`),w=x(`el-dialog`);return f(),t(`div`,{class:u([`connector-consent-card`,{"is-resolved":r.resolved}])},[n(`div`,An,[s(g,{icon:`fa-solid fa-shield-halved`,class:`header-icon`}),n(`span`,jn,d(r.$t(`chat.consent.title`)),1)]),r.payload.rationale?(f(),t(`p`,Mn,d(r.payload.rationale),1)):y(``,!0),(f(!0),t(c,null,e(r.requirements,n=>(f(),t(`div`,{key:n.requirement_index,class:u([`ccc-requirement`,{"is-satisfied":r.effectiveSatisfiedFor(n)}])},[r.showMatchLabel(n)?(f(),t(`div`,Nn,d(n.match===`any`?r.$t(`chat.consent.matchAny`):r.$t(`chat.consent.matchAll`)),1)):y(``,!0),(f(!0),t(c,null,e(r.effectiveEntriesFor(n),e=>(f(),o(_,{key:e.connector,entry:e,catalog:r.catalogFor(e),disabled:r.resolved||r.authorizingConnector!==``,onAuthorize:r.onAuthorize},null,8,[`entry`,`catalog`,`disabled`,`onAuthorize`]))),128))],2))),128)),!r.resolved&&(r.hasUnsatisfied||r.showContinueButton)?(f(),t(`div`,Pn,[r.hasUnsatisfied?(f(),o(v,{key:0,text:``,disabled:r.authorizingConnector!==``,onClick:r.onSkip},{default:S(()=>[a(d(r.$t(`chat.consent.skip`)),1)]),_:1},8,[`disabled`,`onClick`])):y(``,!0),r.showContinueButton?(f(),o(v,{key:1,type:`primary`,loading:r.refreshingStatus,disabled:r.authorizingConnector!==``,onClick:r.onContinue},{default:S(()=>[a(d(r.$t(`chat.consent.continue`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])):y(``,!0)])):y(``,!0),r.resolved?(f(),t(`div`,Fn,d(r.resolvedSummary),1)):y(``,!0),s(w,{modelValue:r.scopeDialogVisible,"onUpdate:modelValue":i[2]||=e=>r.scopeDialogVisible=e,title:r.scopeDialogCatalog?r.$t(`chat.consent.selectScopes`,{provider:r.scopeDialogCatalog.name}):``,width:`480px`,"close-on-click-modal":!1,"append-to-body":``},{footer:S(()=>[s(v,{disabled:r.authorizingConnector!==``,onClick:i[1]||=e=>r.scopeDialogVisible=!1},{default:S(()=>[a(d(r.$t(`common.button.cancel`)),1)]),_:1},8,[`disabled`]),s(v,{type:`primary`,loading:r.authorizingConnector!==``,onClick:r.onConfirmScopes},{default:S(()=>[a(d(r.$t(`common.button.confirm`)),1)]),_:1},8,[`loading`,`onClick`])]),default:S(()=>[n(`p`,In,d(r.$t(`chat.consent.selectScopesHint`)),1),s(C,{modelValue:r.selectedScopes,"onUpdate:modelValue":i[0]||=e=>r.selectedScopes=e},{default:S(()=>[(f(!0),t(c,null,e(r.scopeDialogCatalog?.permissions||[],e=>(f(),t(`div`,{key:e.id,class:`ccc-scope-row`},[s(b,{value:e.id,label:e.id},{default:S(()=>[n(`span`,Ln,d(e.label||e.id),1)]),_:2},1032,[`value`,`label`]),e.desc?(f(),t(`p`,Rn,d(e.desc),1)):y(``,!0)]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`modelValue`,`title`])],2)}var Bn=i({name:`Message`,components:{EditMessage:bt,CopyToClipboard:Ue,RestartToGenerate:_t,AnsweringMark:Ze,MarkdownRenderer:mt,FilePreview:Ke,ToolActivity:Mt,EntityCard:nn,ThinkingBlock:cn,AskUserQuestionCard:Ge,ConnectorConsentCard:W(kn,[[`render`,zn],[`__scopeId`,`data-v-5b00f3b0`]]),ElButton:T,ElImage:M,ElInput:ze,FontAwesomeIcon:J},props:{messages:{type:Array,required:!1,default:()=>[]},message:{type:Object,required:!0},application:{type:Object,required:!0}},emits:[`stop`,`edit`,`restart`,`answerAskUserQuestion`,`skipAskUserQuestion`,`respondConnectorConsent`,`authorizeConnector`],data(){return{copied:!1,isEditing:!1,questionValue:this.message.content,messageState:z}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},copyableText(){let e=this.message.content;return e?typeof e==`string`?e:Array.isArray(e)?e.filter(e=>e&&e.type===`text`&&typeof e.text==`string`).map(e=>e.text).join(`
2
-
3
- `).trim():``:``},errorText(){if(console.debug(`error`,this.message.error),!(!this.message.error||!this.message.error?.code)){if(this.message.error?.message)return this.message.error.message;switch(this.message.error?.code){case xe:return this.$t(`chat.message.errorUsedUp`);case Ce:return this.$t(`chat.message.errorApiError`);case _e:return this.$t(`chat.message.errorBadRequest`);case Te:return this.$t(`chat.message.errorTimeout`);case me:return this.$t(`chat.message.errorBusy`);case we:return this.$t(`chat.message.errorContentTooLarge`);case he:return this.$t(`chat.message.errorTooManyRequests`);case L:return this.$t(`chat.message.errorNotApplied`);case be:return;case ge:default:return this.$t(`chat.message.errorUnknown`)}}},showBuyMore(){return!Fe()&&this.message.role===`assistant`&&this.message.error?.code===`used_up`}},watch:{},methods:{startEditing(){this.isEditing=!0,this.questionValue=this.message.content,console.debug(`start to get answer`,this.message)},cancelEdit(){this.isEditing=!1},onRestart(){this.$emit(`restart`,this.message)},onEdit(){this.isEditing=!1,this.onSubmit()},onEditEnterKey(e){let t=e;t.isComposing||t.keyCode===229||(t.preventDefault(),this.onEdit())},onSubmit(){this.$emit(`edit`,this.message,this.questionValue)},onCopy(){Ae(this.message.content.toString(),{debug:!0}),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3)},onBuyMore(){this.$router.push({name:De,params:{id:this.application?.id}})},onAskUserQuestionSubmit(e){this.$emit(`answerAskUserQuestion`,e)},onAskUserQuestionSkip(e){this.$emit(`skipAskUserQuestion`,e)},askUserQuestionPayloadFromBlock(e){return e.pending_question?e.pending_question:{questions:e.input?.questions||[]}},onConnectorConsentSubmit(e){this.$emit(`respondConnectorConsent`,e)},onConnectorConsentAuthorize(e){this.$emit(`authorizeConnector`,e)},consentPayloadFromBlock(e){return e.pending_consent_request??null}}}),Vn=[`role`],Hn={class:`author`},Un={key:0,class:`main`},Wn={initial:{opacity:0,y:5},enter:{opacity:1,y:0,scale:1},delay:300,duration:400,layout:!0,transition:{enter:{delay:.3,duration:.5},layout:{duration:.4,easing:`ease-in-out`}},class:`content`},Gn={key:0,class:`message-content`},Kn={key:1},qn={key:1,class:`whitespace-pre-wrap break-words w-fit max-w-full py-1`},Jn={key:2},Yn=[`src`],Xn={key:2},Zn={key:1,class:`whitespace-pre-wrap break-words w-fit max-w-full py-1`},Qn={key:1,class:`edits`},$n={class:`flex justify-end`},er={initial:{opacity:0,y:5},enter:{opacity:1,y:0,scale:1},delay:300,duration:400,layout:!0,transition:{enter:{delay:.3,duration:.5},layout:{duration:.4,easing:`ease-in-out`}},class:`operations`},tr={key:1,class:`error-card`},nr={class:`error-content`},rr={class:`error-text`};function ir(r,i,l,p,h,g){let v=x(`el-image`),C=x(`thinking-block`),T=x(`markdown-renderer`),E=x(`file-preview`),D=x(`tool-activity`),O=x(`ask-user-question-card`),k=x(`connector-consent-card`),A=x(`entity-card`),ee=x(`el-input`),j=x(`el-button`),M=x(`answering-mark`),te=x(`edit-message`),ne=x(`copy-to-clipboard`),re=x(`restart-to-generate`),N=x(`font-awesome-icon`),P=b(`motion`);return f(),t(`div`,{class:u({message:!0,[r.message.role]:!0}),role:r.message.role},[n(`div`,Hn,[r.message.role===`assistant`?(f(),o(v,{key:0,src:r.modelGroup?.icon,fit:`cover`,class:`avatar`},null,8,[`src`])):y(``,!0)]),r.errorText?(f(),t(`div`,tr,[n(`div`,nr,[s(N,{icon:`fa-solid fa-circle-exclamation`,class:`error-icon`}),n(`span`,rr,d(r.errorText),1)]),r.showBuyMore?(f(),o(j,{key:0,round:``,type:`primary`,class:`btn-topup`,size:`small`,onClick:r.onBuyMore},{default:S(()=>[a(d(r.$t(`common.button.buyMore`)),1)]),_:1},8,[`onClick`])):y(``,!0)])):(f(),t(`div`,Un,[_((f(),t(`div`,Wn,[r.isEditing?(f(),t(`div`,Qn,[s(ee,{modelValue:r.questionValue,"onUpdate:modelValue":i[0]||=e=>r.questionValue=e,type:`textarea`,class:`mb-2`,onKeydown:w(m(r.onEditEnterKey,[`exact`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),n(`div`,$n,[s(j,{round:``,onClick:r.cancelEdit},{default:S(()=>[a(d(r.$t(`common.button.cancel`)),1)]),_:1},8,[`onClick`]),s(j,{type:`primary`,class:`btn-confirm`,round:``,onClick:r.onEdit},{default:S(()=>[a(d(r.$t(`common.button.confirm`)),1)]),_:1},8,[`onClick`])])])):(f(),t(`div`,Gn,[r.message.role===`assistant`&&r.message.thinking?(f(),o(C,{key:0,content:r.message.thinking,done:r.message.state===r.messageState.FINISHED||r.message.state===r.messageState.FAILED},null,8,[`content`,`done`])):y(``,!0),Array.isArray(r.message.content)?(f(),t(`div`,Jn,[(f(!0),t(c,null,e(r.message.content,(e,n)=>(f(),t(`div`,{key:n},[e.type===`image_url`?(f(),t(`img`,{key:0,src:typeof e?.image_url==`string`?e.image_url:e.image_url?.url,fit:`cover`,class:`image`},null,8,Yn)):y(``,!0),e.file_url?(f(),o(E,{key:1,name:e.name||(typeof e?.file_url==`string`?e.file_url:e.file_url?.url),percentage:0,closable:!1,class:`mt-2`},null,8,[`name`])):y(``,!0),e.type===`text`?(f(),t(`div`,Xn,[r.message.role===`assistant`?(f(),o(T,{key:0,content:e.text,citations:r.message.citations},null,8,[`content`,`citations`])):(f(),t(`pre`,Zn,d(e.text?.trim()),1))])):y(``,!0),e.type===`tool_use`&&!(e.tool_name===`ask_user_question`&&(e.status===`awaiting_input`||e.status===`done`))&&!(e.tool_name===`request_user_consent`&&(e.status===`awaiting_input`||e.status===`done`))?(f(),o(D,{key:3,item:e},null,8,[`item`])):y(``,!0),e.type===`tool_use`&&e.tool_name===`ask_user_question`&&e.status===`awaiting_input`&&e.pending_question?(f(),o(O,{key:4,"tool-use-id":e.tool_id||``,payload:e.pending_question,collapsed:!1,onSubmit:r.onAskUserQuestionSubmit,onSkip:r.onAskUserQuestionSkip},null,8,[`tool-use-id`,`payload`,`onSubmit`,`onSkip`])):y(``,!0),e.type===`tool_use`&&e.tool_name===`ask_user_question`&&e.status===`done`?(f(),o(O,{key:5,"tool-use-id":e.tool_id||``,payload:r.askUserQuestionPayloadFromBlock(e),collapsed:!0,"previous-output":e.output||``},null,8,[`tool-use-id`,`payload`,`previous-output`])):y(``,!0),e.type===`tool_use`&&e.tool_name===`request_user_consent`&&e.status===`awaiting_input`&&e.pending_consent_request?(f(),o(k,{key:6,"tool-use-id":e.tool_id||``,payload:e.pending_consent_request,resolved:!1,onSubmit:r.onConnectorConsentSubmit,onAuthorize:r.onConnectorConsentAuthorize},null,8,[`tool-use-id`,`payload`,`onSubmit`,`onAuthorize`])):y(``,!0),e.type===`tool_use`&&e.tool_name===`request_user_consent`&&e.status===`done`&&r.consentPayloadFromBlock(e)?(f(),o(k,{key:7,"tool-use-id":e.tool_id||``,payload:r.consentPayloadFromBlock(e),resolved:!0,"previous-output":e.output||``},null,8,[`tool-use-id`,`payload`,`previous-output`])):y(``,!0),e.type===`card`&&e.card?(f(),o(A,{key:8,card:e.card},null,8,[`card`])):y(``,!0)]))),128))])):(f(),t(`div`,Kn,[r.message.role===`assistant`?(f(),o(T,{key:0,content:r.message?.content,citations:r.message.citations},null,8,[`content`,`citations`])):(f(),t(`pre`,qn,d(r.message.content),1))]))])),r.message.state===r.messageState.PENDING?(f(),o(M,{key:2})):y(``,!0)])),[[P]]),_((f(),t(`div`,er,[r.message.role===`user`&&!r.isEditing&&!Array.isArray(r.message.content)?(f(),o(te,{key:0,class:`btn-edit`,onClick:r.startEditing},null,8,[`onClick`])):y(``,!0),r.copyableText&&(r.message.state===r.messageState.FINISHED||r.message.state===r.messageState.FAILED)?(f(),o(ne,{key:1,content:r.copyableText,class:`btn-copy`},null,8,[`content`])):y(``,!0),(r.message.state===r.messageState.FINISHED||r.message.state===r.messageState.FAILED)&&r.message.role===`assistant`&&r.message===r.messages[r.messages.length-1]?(f(),o(re,{key:2,class:`btn-restart`,messages:r.messages,onRestart:r.onRestart},null,8,[`messages`,`onRestart`])):y(``,!0)])),[[P]])]))],10,Vn)}var ar=W(Bn,[[`render`,ir],[`__scopeId`,`data-v-d37cfb68`]]),or=i({name:`Composer`,components:{FilePreview:Ke,ImagePreview:qe,ElTooltip:j,FontAwesomeIcon:J,ElUpload:ee,ElButton:T,ElDropdown:ie,ElDropdownMenu:P,ElDropdownItem:N},mixins:[Ie,He],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:je()+`/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.find(e=>e.percentage!==void 0&&e.percentage>=0&&e.percentage<100)},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:Ee,onStartCall(){this.$router.push({name:Ne})},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(Le(`https://auth.acedata.cloud/user/skills`),`_blank`,`noopener`)},onOpenConnections(){window.open(Le(`https://auth.acedata.cloud/user/connections`),`_blank`,`noopener`)}}}),sr={class:`composer`},cr={ref:`uploadTrigger`,class:`upload-trigger`,"aria-hidden":`true`},lr={key:0,class:`file-previews`},ur=[`disabled`,`placeholder`],dr={class:`tools`},fr={class:`btn-plus-trigger`},pr=[`aria-disabled`];function mr(r,i,a,h,g,v){let b=x(`el-upload`),T=x(`image-preview`),E=x(`file-preview`),D=x(`font-awesome-icon`),O=x(`el-tooltip`),k=x(`el-dropdown-item`),A=x(`el-dropdown-menu`),ee=x(`el-dropdown`),j=x(`el-button`);return f(),t(`div`,sr,[s(b,{ref:`uploader`,"file-list":r.fileList,"onUpdate:fileList":i[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:S(()=>[n(`span`,cr,null,512)]),_:1},8,[`file-list`,`accept`,`disabled`,`action`,`on-exceed`,`on-error`,`on-progress`,`headers`]),r.fileList.length>0?(f(),t(`div`,lr,[(f(!0),t(c,null,e(r.fileList,e=>(f(),t(c,{key:e.uid},[r.isImageUrl(e.name)?(f(),o(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`])):(f(),o(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))])):y(``,!0),_(n(`textarea`,{ref:`textarea`,"onUpdate:modelValue":i[1]||=e=>r.questionValue=e,disabled:r.answering,class:`input`,placeholder:r.$t(`chat.message.newMessagePlaceholder`),style:l({height:r.inputHeight}),onKeydown:i[2]||=w(m((...e)=>r.onEnterKey&&r.onEnterKey(...e),[`exact`]),[`enter`]),onInput:i[3]||=(...e)=>r.adjustTextareaHeight&&r.adjustTextareaHeight(...e)},null,44,ur),[[p,r.questionValue]]),n(`div`,dr,[s(ee,{trigger:`click`,placement:`top-start`,"hide-on-click":!0,"popper-class":`composer-plus-popper`},{dropdown:S(()=>[s(A,null,{default:S(()=>[s(k,{disabled:!r.isFileSupported&&!r.isImageSupported||r.answering,onClick:r.onTriggerUpload},{default:S(()=>[s(D,{icon:`fa-regular fa-file-alt`,class:`menu-icon`}),n(`span`,null,d(r.$t(`chat.composer.addFiles`)),1)]),_:1},8,[`disabled`,`onClick`]),s(k,{onClick:r.onOpenSkills},{default:S(()=>[s(D,{icon:`fa-solid fa-wand-magic-sparkles`,class:`menu-icon`}),n(`span`,null,d(r.$t(`chat.composer.skills`)),1),s(D,{icon:`fa-solid fa-up-right-from-square`,class:`menu-external`})]),_:1},8,[`onClick`]),s(k,{onClick:r.onOpenConnections},{default:S(()=>[s(D,{icon:`fa-solid fa-plug`,class:`menu-icon`}),n(`span`,null,d(r.$t(`chat.composer.connections`)),1),s(D,{icon:`fa-solid fa-up-right-from-square`,class:`menu-external`})]),_:1},8,[`onClick`])]),_:1})]),default:S(()=>[n(`span`,fr,[s(O,{class:`box-item`,effect:`dark`,content:r.$t(`chat.composer.addAction`),placement:`top`},{default:S(()=>[n(`span`,{class:u({btn:!0,"btn-plus":!0,disabled:r.answering}),"aria-disabled":r.answering,role:`button`},[s(D,{icon:`fa-solid fa-plus`,class:`icon icon-plus`})],10,pr)]),_:1},8,[`content`])])]),_:1}),r.isVoiceCallSupported?(f(),o(O,{key:0,class:`box-item`,effect:`dark`,content:r.$t(`realtime.callTooltip`),placement:`top`},{default:S(()=>[n(`span`,{class:u({btn:!0,"btn-voice":!0}),role:`button`,onClick:i[4]||=(...e)=>r.onStartCall&&r.onStartCall(...e)},[s(D,{icon:`fa-solid fa-microphone`,class:`icon icon-voice`})])]),_:1},8,[`content`])):y(``,!0)]),s(j,{disabled:r.answering||!r.questionValue||r.uploading||!r.ready,type:`primary`,class:u({btn:!0,"btn-send":!0}),onClick:r.onSubmit},{default:S(()=>[s(D,{icon:`fa-solid fa-arrow-up`,class:`icon icon-send`})]),_:1},8,[`disabled`,`onClick`]),_(s(j,{disabled:!r.answering,type:`primary`,class:u({btn:!0,"btn-stop":!0}),onClick:r.onStop},{default:S(()=>[s(D,{icon:`fa-solid fa-stop`,class:`icon icon-stop`})]),_:1},8,[`disabled`,`onClick`]),[[C,r.answering]])])}var hr=W(or,[[`render`,mr],[`__scopeId`,`data-v-e1a1eae4`]]),gr=i({name:`ModelSelector`,components:{ElDropdown:ie,ElDropdownMenu:P,ElDropdownItem:N,FontAwesomeIcon:J},emits:[`update:modelValue`,`select`,`model-group-changed`,`model-changed`],data(){return{options:[de,fe,ce,ye,ue,ve]}},computed:{model(){return console.log(`model`,this.$store.state.chat.model),this.$store.state.chat.model},modelGroup(){return this.$route.meta?.modelGroup||de}},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)}}}),_r={class:`selector`},vr={class:`trigger`},yr=[`src`],br={class:`trigger-name`},xr={class:`item`},Sr=[`src`],Cr={class:`item-info`},wr={key:0,class:`item-name`},Tr={key:0,class:`item-free-tag`},Er={key:1,class:`item-desc`};function Dr(r,i,l,p,m,h){let g=x(`font-awesome-icon`),_=x(`el-dropdown-item`),v=x(`el-dropdown-menu`),b=x(`el-dropdown`);return f(),t(`div`,_r,[s(b,{trigger:`click`,"popper-class":`model-selector-popper`},{dropdown:S(()=>[r.modelGroup&&r.modelGroup?.models?(f(),o(v,{key:0},{default:S(()=>[(f(!0),t(c,null,e(r.modelGroup?.models?.filter(e=>e.enabled),(e,i)=>(f(),o(_,{key:i,class:u({active:r.model?.name===e?.name}),onClick:t=>r.onModelChange(e)},{default:S(()=>[n(`div`,xr,[e?.icon?(f(),t(`img`,{key:0,src:e.icon,class:`item-icon`},null,8,Sr)):y(``,!0),n(`div`,Cr,[e?.getDisplayName?(f(),t(`p`,wr,[a(d(e?.getDisplayName())+` `,1),e?.isFree?(f(),t(`span`,Tr,d(r.$t(`chat.model.freeTag`)),1)):y(``,!0)])):y(``,!0),e?.getDescription?(f(),t(`p`,Er,d(e?.getDescription()),1)):y(``,!0)]),r.model?.name===e?.name?(f(),o(g,{key:1,icon:`fa-solid fa-check`,class:`item-check`})):y(``,!0)])]),_:2},1032,[`class`,`onClick`]))),128))]),_:1})):y(``,!0)]),default:S(()=>[n(`div`,vr,[r.model?.icon?(f(),t(`img`,{key:0,src:r.model.icon,class:`trigger-icon`},null,8,yr)):y(``,!0),n(`span`,br,d(r.model?.getDisplayName?.()??r.model?.name??``),1),s(g,{icon:`fa-solid fa-chevron-down`,class:`trigger-arrow`})])]),_:1})])}var Or=W(gr,[[`render`,Dr],[`__scopeId`,`data-v-2e6e7a65`]]),kr=i({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`]}),Ar={class:`agent-manager`},jr={class:`description`},Mr={key:0,class:`status-card connected`},Nr={class:`status-header`},Pr={class:`status-text`},Fr={class:`info-row`},Ir={class:`label`},Lr={class:`value`},Rr={class:`info-row`},zr={class:`label`},Br={class:`value`},Vr={class:`info-row`},Hr={class:`label`},Ur={class:`value`},Wr={class:`hint`},Gr={key:1,class:`status-card disconnected`},Kr={class:`status-header`},qr={class:`status-text`},Jr={class:`install-guide`},Yr={class:`step-label`},Xr={class:`step-label`};function Zr(e,r,i,a,s,c){let l=x(`el-dialog`);return f(),o(l,{"model-value":e.modelValue,title:e.$t(`chat.agent.title`),width:`480px`,"onUpdate:modelValue":r[0]||=t=>e.$emit(`update:modelValue`,t)},{default:S(()=>[n(`div`,Ar,[n(`p`,jr,d(e.$t(`chat.agent.description`)),1),e.connected?(f(),t(`div`,Mr,[n(`div`,Nr,[r[1]||=n(`span`,{class:`pulse-dot`},null,-1),n(`span`,Pr,d(e.$t(`chat.agent.connected`)),1)]),n(`div`,Fr,[n(`span`,Ir,d(e.$t(`chat.agent.name`))+`:`,1),n(`span`,Lr,d(e.agentName),1)]),n(`div`,Rr,[n(`span`,zr,d(e.$t(`chat.agent.tools`))+`:`,1),n(`span`,Br,d(e.toolCount),1)]),n(`div`,Vr,[n(`span`,Hr,d(e.$t(`chat.agent.connectedSince`))+`:`,1),n(`span`,Ur,d(e.connectedAt),1)]),n(`p`,Wr,d(e.$t(`chat.agent.connectedHint`)),1)])):(f(),t(`div`,Gr,[n(`div`,Kr,[n(`span`,qr,d(e.$t(`chat.agent.notConnected`)),1)]),n(`div`,Jr,[n(`p`,Yr,d(e.$t(`chat.agent.installLabel`)),1),r[2]||=n(`code`,{class:`command`},`npm install -g @acedatacloud/desktop-agent`,-1),n(`p`,Xr,d(e.$t(`chat.agent.runLabel`)),1),r[3]||=n(`code`,{class:`command`},`adc-agent --token YOUR_API_TOKEN`,-1)])]))])]),_:1},8,[`model-value`,`title`])}var Qr=W(kr,[[`render`,Zr],[`__scopeId`,`data-v-a365b6f4`]]),$r={chatgpt:`openai`,claude:`anthropic`,gemini:`google`,grok:`xai`,deepseek:`deepseek`,kimi:`moonshot`,glm:`zhipu`},ei=i({name:`BYOKBadge`,components:{ElTooltip:j,FontAwesomeIcon:J},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 $r[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 Ve.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`}}))}}}),ti={class:`badge-text`};function ni(e,t,r,i,a,c){let l=x(`font-awesome-icon`),u=x(`el-tooltip`);return e.show&&e.providerLabel?(f(),o(u,{key:0,content:`${e.$t(`byok.badge.tooltip`,{provider:e.providerLabel})} — ${e.$t(`byok.badge.manage`)}`,placement:`bottom`},{default:S(()=>[n(`button`,{type:`button`,class:`byok-badge`,onClick:t[0]||=(...t)=>e.onClickManage&&e.onClickManage(...t)},[s(l,{icon:`fa-solid fa-key`,class:`badge-icon`}),n(`span`,ti,d(e.$t(`byok.badge.active`,{provider:e.providerLabel})),1)])]),_:1},8,[`content`])):y(``,!0)}var ri=W(ei,[[`render`,ni],[`__scopeId`,`data-v-2875e3f2`]]),ii={},ai={class:`disclaimer`};function oi(e,n){return f(),t(`p`,ai,d(e.$t(`chat.message.howToUse`)),1)}var si=W(ii,[[`render`,oi],[`__scopeId`,`data-v-d2d980ab`]]),$=5,ci=i({name:`ConnectorStrip`,components:{ElTooltip:j},data(){return{enabledConnectors:[],loadSeq:0}},computed:{visibleConnectors(){return this.enabledConnectors.length<=$?this.enabledConnectors:this.enabledConnectors.slice(0,$-1)},overflowCount(){return this.enabledConnectors.length<=$?0:this.enabledConnectors.length-($-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 Dn(t,e);n===this.loadSeq&&this.userId===t&&(this.enabledConnectors=r)},onVisibilityChange(){document.visibilityState===`visible`&&this.loadConnectors(!0)},onOpen(){Me()}}}),li={key:0,class:`connector-strip`},ui=[`src`,`alt`];function di(r,i,a,s,l,u){let p=x(`el-tooltip`);return r.visibleConnectors.length>0?(f(),t(`div`,li,[(f(!0),t(c,null,e(r.visibleConnectors,e=>(f(),o(p,{key:e.id,effect:`dark`,content:e.name,placement:`top`},{default:S(()=>[n(`span`,{class:`connector-chip`,role:`button`,onClick:i[0]||=(...e)=>r.onOpen&&r.onOpen(...e)},[n(`img`,{class:`connector-icon`,src:e.icon_url,alt:e.name,loading:`lazy`},null,8,ui)])]),_:2},1032,[`content`]))),128)),r.overflowCount>0?(f(),o(p,{key:0,effect:`dark`,content:r.$t(`chat.composer.connections`),placement:`top`},{default:S(()=>[n(`span`,{class:`connector-chip connector-more`,role:`button`,onClick:i[1]||=(...e)=>r.onOpen&&r.onOpen(...e)},` +`+d(r.overflowCount),1)]),_:1},8,[`content`])):y(``,!0)])):y(``,!0)}var fi=W(ci,[[`render`,di],[`__scopeId`,`data-v-281663b0`]]),pi=i({name:`SidePanel`,components:{ElInput:ze,ElButton:T,ElDialog:K,ElDropdown:ie,ElDropdownItem:N,ElDropdownMenu:P,FontAwesomeIcon:J,ElSkeleton:oe},props:{},emits:[`change-conversation`],data(){return{renameDialogVisible:!1,deleteDialogVisible:!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===G.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:ke})},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)},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 H.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 H.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}}}}),mi={class:`panel`},hi={key:1,class:`conversations`},gi={class:`icons`},_i={class:`title`},vi={class:`icons`},yi={class:`title`},bi={class:`key`},xi=[`onClick`],Si={class:`title`},Ci={class:`operations`};function wi(r,i,l,p,h,g){let _=x(`el-skeleton`),v=x(`font-awesome-icon`),y=x(`el-dropdown-item`),b=x(`el-dropdown-menu`),C=x(`el-dropdown`),T=x(`el-input`),E=x(`el-button`),D=x(`el-dialog`);return f(),t(`div`,mi,[r.loading&&r.conversationGroups===void 0?(f(),o(_,{key:0})):(f(),t(`div`,hi,[n(`div`,{class:`conversation`,onClick:i[0]||=(...e)=>r.onNewConversation&&r.onNewConversation(...e)},[n(`div`,gi,[s(v,{icon:`fa-solid fa-plus`,class:`icon`})]),n(`div`,_i,d(r.$t(`chat.message.startNewChat`)),1)]),n(`div`,{class:`conversation`,onClick:i[1]||=(...e)=>r.onScheduledTasks&&r.onScheduledTasks(...e)},[n(`div`,vi,[s(v,{icon:`fa-solid fa-clock`,class:`icon`})]),n(`div`,yi,d(r.$t(`chat.scheduledTasks.navTitle`)),1)]),(f(!0),t(c,null,e(r.conversationGroups,(o,l)=>(f(),t(`div`,{key:l,class:`group`},[n(`div`,bi,d(r.$t(`chat.group.${l}`)),1),(f(!0),t(c,null,e(o,(e,o)=>(f(),t(`div`,{key:o,class:u({conversation:!0,active:e.id===r.conversationId}),onClick:t=>r.onClickConversation(e.id)},[n(`div`,Si,d(r.getConversationTitle(e)),1),n(`div`,Ci,[s(C,{trigger:`click`,placement:`bottom-end`,teleported:!0,onCommand:t=>r.onConversationCommand(t,e)},{dropdown:S(()=>[s(b,null,{default:S(()=>[s(y,{command:`rename`,onClick:i[3]||=m(()=>{},[`stop`])},{default:S(()=>[s(v,{icon:`fa-solid fa-pen-to-square`,class:`mr-2`}),i[10]||=a(` 重命名 `,-1)]),_:1}),s(y,{command:`delete`,onClick:i[4]||=m(()=>{},[`stop`])},{default:S(()=>[s(v,{icon:`fa-solid fa-trash`,class:`mr-2`}),a(` `+d(r.$t(`common.button.delete`)),1)]),_:1})]),_:1})]),default:S(()=>[n(`span`,{class:`more`,onClick:i[2]||=m(()=>{},[`stop`])},[s(v,{icon:`fa-solid fa-ellipsis`})])]),_:1},8,[`onCommand`])])],10,xi))),128))]))),128))])),s(D,{modelValue:r.renameDialogVisible,"onUpdate:modelValue":i[7]||=e=>r.renameDialogVisible=e,width:`420px`,title:`重命名`,"close-on-click-modal":!1},{footer:S(()=>[s(E,{onClick:i[6]||=e=>r.renameDialogVisible=!1},{default:S(()=>[a(d(r.$t(`common.button.cancel`)),1)]),_:1}),s(E,{type:`primary`,loading:r.renameSubmitting,onClick:r.onConfirmRename},{default:S(()=>[a(d(r.$t(`common.button.confirm`)),1)]),_:1},8,[`loading`,`onClick`])]),default:S(()=>[s(T,{modelValue:r.renameDraft,"onUpdate:modelValue":i[5]||=e=>r.renameDraft=e,autofocus:``,onKeydown:w(r.onConfirmRename,[`enter`])},null,8,[`modelValue`,`onKeydown`])]),_:1},8,[`modelValue`]),s(D,{modelValue:r.deleteDialogVisible,"onUpdate:modelValue":i[9]||=e=>r.deleteDialogVisible=e,width:`420px`,title:r.$t(`chat.message.confirmDelete`),"close-on-click-modal":!1},{footer:S(()=>[s(E,{onClick:i[8]||=e=>r.deleteDialogVisible=!1},{default:S(()=>[a(d(r.$t(`common.button.cancel`)),1)]),_:1}),s(E,{type:`danger`,loading:r.deleteSubmitting,onClick:r.onConfirmDelete},{default:S(()=>[a(d(r.$t(`common.button.delete`)),1)]),_:1},8,[`loading`,`onClick`])]),default:S(()=>[i[11]||=n(`div`,{class:`delete-tip`},`确认删除该会话?删除后不可恢复。`,-1)]),_:1},8,[`modelValue`,`title`])])}var Ti=i({name:`LayoutChat`,components:{SidePanel:W(pi,[[`render`,wi],[`__scopeId`,`data-v-6a955bf1`]]),ElDrawer:re,ElButton:T,FontAwesomeIcon:J},emits:[`change-conversation`],data(){return{drawer:!1}},methods:{onChangeConversation(e){console.debug(`onChangeConversation in layout`,e),this.$emit(`change-conversation`,e)}}}),Ei={class:`main`},Di={class:`side`},Oi={class:`chat`};function ki(e,r,i,a,o,c){let l=x(`side-panel`),u=x(`font-awesome-icon`),d=x(`el-button`),p=x(`el-drawer`);return f(),t(`div`,Ei,[n(`div`,Di,[v(e.$slots,`side`,{},()=>[s(l,{onChangeConversation:e.onChangeConversation},null,8,[`onChangeConversation`])],!0)]),n(`div`,Oi,[v(e.$slots,`chat`,{},void 0,!0)]),s(d,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:S(()=>[s(u,{icon:`fa-solid fa-bars`})]),_:1}),s(p,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`290px`},{default:S(()=>[s(l,{onChangeConversation:e.onChangeConversation},null,8,[`onChangeConversation`])]),_:1},8,[`modelValue`])])}var Ai=W(Ti,[[`render`,ki],[`__scopeId`,`data-v-339f4e5e`]]);function ji(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 Mi(e){let t=ji(e.consent),n=ji(e.connector);return!t||!n?null:{consentRequestId:t,connector:n}}function Ni(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 Pi(e,t){return xn(e,[t],[])}var Fi=i({name:`ChatConversation`,components:{Composer:hr,Disclaimer:si,ConnectorStrip:fi,ModelSelector:Or,DesktopAgentManager:Qr,"byok-badge":ri,Message:ar,Layout:Ai,ElTooltip:j,ElButton:T,FontAwesomeIcon:J},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:``,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===G.Success&&!this.application},conversations(){return this.$store.state.chat.conversations},initializing(){return this.$store.state.chat.status.getApplications===G.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(),B()&&(this.localTools=await R()?.listTools()??[])},methods:{resetConversation(){this.messages=[],this.question=``,this.references=[],this.pendingClientTools=[]},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 Be.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:L},role:F,state:z.FAILED});return}let o=this.conversationId;H.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:L},role:F,state:z.FAILED});return}let i=this.conversationId;H.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:I}),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(!t||!t.messages){let n=await this.$store.dispatch(`chat/getConversation`,e);n&&(t=n)}let n=t?.model,r=le.find(e=>e.name===n),i=pe.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(Re()){if(this.references.length>0){let e=[{type:`text`,text:this.question.trim()}];for(let t of this.references){let n=Ee(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:I})}else this.messages.push({content:this.question.trim(),role:I});console.debug(`onSubmit`,this.question,this.references),await this.onRequest()}},async onRequest(){if(!Re())return;B()&&(this.localTools=await R()?.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:L},role:F,state:z.FAILED});return}let r=this.conversationId;this.messages.push({content:``,role:F,state:z.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===F);if(i&&Array.isArray(i.content)){let t=i.content;for(let n of e){let e=t.find(e=>e.type===`tool_use`&&e.tool_id===n.tool_use_id);e&&(e.status=`done`,e.output=n.output,n.is_error&&(e.is_error=!0),delete e.pending_question)}}this.messages.push({content:``,role:F,state:z.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!B()||!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 R()?.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}}i.push({tool_use_id:t.toolId,output:o.output,...o.is_error?{is_error:!0}:{},...o.image?{image:o.image}:{}})}n!==void 0&&n!==this.clientToolRunId||this._resumeWithToolResults(i,t)},onSkipAskUserQuestion(e){let t=[...this.messages].reverse().find(e=>e.role===F);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===F);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:F,state:z.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}window.location.href=t},onCaptureConsentReturnFromUrl(){let e=Mi(this.$route.query||{});e&&(this.pendingConsentReturn=e)},onConsumePendingConsentReturn(){let e=this.pendingConsentReturn;if(!e||this.messages.length===0)return;let t=Ni(this.messages,e.consentRequestId);if(!t)return;this.pendingConsentReturn=null;let n=Pi(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;H.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){s&&(a.push({type:`text`,text:s}),s=``,c=e.answer?.length??0);let 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),B()&&e.execution===`client`&&(t.status=`awaiting_input`,this.pendingClientTools.push({toolId:e.tool_id,name:e.tool_name||``,input:e.input||{}}))}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.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:F,content:n,thinking:t?.thinking,citations:t?.citations,state:t?.state===z.FINISHED?t?.state:z.ANSWERING}:this.messages[i]={role:F,content:e.answer,thinking:t?.thinking,citations:t?.citations,state:t?.state===z.FINISHED?t?.state:z.ANSWERING},r=e?.id},signal:this.canceler.signal}).then(async()=>{if(console.debug(`finished fetch answer`,this.messages),this.messages[i].state=z.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=z.FAILED),e.name===`AbortError`){console.error(`aborted`),this.answering=!1;return}else e instanceof Pe?(console.debug(`BaseError`,e),r&&(r.error={code:e.code,message:e.detail})):se.isCancel(e)?r&&(r.error={code:be}):r&&(r.error={code:ge});this.answering=!1},async onScrollDown(){setTimeout(()=>{let e=document.querySelector(`.messages`);!e||!this.messages||this.messages.length===0||(e.scrollTop=e?.scrollHeight)},0)}}}),Ii={class:`toolbar`},Li={class:`toolbar-left`},Ri={class:`toolbar-actions`},zi={key:0,class:`messages`},Bi={class:`starter`},Vi={class:`composer-connectors`};function Hi(r,i,a,l,d,p){let m=x(`model-selector`),h=x(`byok-badge`);x(`font-awesome-icon`),x(`el-button`),x(`el-tooltip`);let g=x(`desktop-agent-manager`),_=x(`message`),v=x(`connector-strip`),b=x(`composer`),C=x(`disclaimer`),w=x(`layout`);return f(),o(w,{onChangeConversation:i[6]||=e=>r.onChangeConversation(e)},{chat:S(()=>[n(`div`,Ii,[n(`div`,Li,[s(m,{class:`selector`,onModelGroupChanged:i[0]||=e=>r.onChangeConversation(void 0)}),s(h,{class:`byok-badge`})]),n(`div`,Ri,[y(``,!0)])]),r.agentManagerVisible?(f(),o(g,{key:0,modelValue:r.agentManagerVisible,"onUpdate:modelValue":i[2]||=e=>r.agentManagerVisible=e,connected:r.agentConnected,"agent-name":r.agentName,"tool-count":r.agentToolCount,"connected-at":r.agentConnectedAt},null,8,[`modelValue`,`connected`,`agent-name`,`tool-count`,`connected-at`])):y(``,!0),n(`div`,{class:u({dialogue:!0,empty:r.messages.length===0})},[r.messages.length>0?(f(),t(`div`,zi,[(f(!0),t(c,null,e(r.messages,(e,t)=>(f(),o(_,{key:t,message:e,messages:r.messages,question:r.question,application:r.application,class:`message`,"onUpdate:question":i[3]||=e=>r.question=e,onEdit:r.onEdit,onRestart:r.onRestart,onAnswerAskUserQuestion:r.onAnswerAskUserQuestion,onSkipAskUserQuestion:r.onSkipAskUserQuestion,onRespondConnectorConsent:r.onRespondConnectorConsent,onAuthorizeConnector:r.onAuthorizeConnector},null,8,[`message`,`messages`,`question`,`application`,`onEdit`,`onRestart`,`onAnswerAskUserQuestion`,`onSkipAskUserQuestion`,`onRespondConnectorConsent`,`onAuthorizeConnector`]))),128))])):y(``,!0),n(`div`,Bi,[n(`div`,Vi,[s(v)]),s(b,{question:r.question,"onUpdate:question":i[4]||=e=>r.question=e,answering:r.answering,ready:r.ready,references:r.references,"onUpdate:references":i[5]||=e=>r.references=e,onSubmit:r.onSubmit,onStop:r.onStop},null,8,[`question`,`answering`,`ready`,`references`,`onSubmit`,`onStop`]),s(C,{class:`composer-disclaimer`})])],2)]),_:1})}var Ui=W(Fi,[[`render`,Hi],[`__scopeId`,`data-v-afba1c67`]]);export{Ui as default};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,E as r,F as i,N as a,O as o,P as s,S as c,Vt as l,Wt as u,Z as d,et as f,k as p,tt as m,ut as h}from"./vendor-chart-BJCvKk8-.js";import{t as g}from"./button-BydTr5nV.js";import{n as _,t as v}from"./tabs-CMOVMWgH.js";import{t as y}from"./upload-DT_UdtVs.js";import{t as b}from"./image-Dq96Xper.js";import{t as x}from"./alert-CuX4SjQB.js";import{n as S,r as C}from"./radio-3Hz7h3DR.js";import{t as w}from"./drawer-R6pcaap2.js";import{n as ee,t as te}from"./skeleton-BwNBivMN.js";import"./constants-DNpQuSUd.js";import{Bt as T,Jn as E,Lr as D,O,Pr as k,Rt as A,Vt as j,Wn as M,Zt as N,qr as P,yn as F,zt as I}from"./index-BagZk06I.js";import{t as L}from"./index.es-B2VlwOr_.js";import{t as R}from"./CopyToClipboard-BJ4cWa_D.js";import{t as z}from"./Status-BYjWZpoM.js";import{t as B}from"./ImagePreview-C-SawJdM.js";import{i as V,n as H,t as U}from"./pagination-BYwrVl5j.js";import{t as W}from"./ApiCodeButton-ClF_5uX0.js";var G=i({name:`LayoutHeadshots`,components:{ElDrawer:w,ElButton:g,FontAwesomeIcon:L},data(){return{drawer:!1}}}),K={class:`main flex flex-row flex-1`},q={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},J={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Y(e,r,i,a,o,c){let l=m(`font-awesome-icon`),u=m(`el-button`),p=m(`el-drawer`);return d(),t(`div`,K,[n(`div`,q,[f(e.$slots,`config`,{},void 0,!0)]),n(`div`,J,[f(e.$slots,`result`,{},void 0,!0)]),s(u,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:h(()=>[s(l,{icon:`fa-solid fa-gear`})]),_:1}),s(p,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,"with-header":!1,size:`340px`,class:`drawer`},{default:h(()=>[f(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var X=O(G,[[`render`,Y],[`__scopeId`,`data-v-ada6b2d1`]]),Z=i({name:`ImageUrlsInput`,components:{ElUpload:y,ElButton:g,InfoIcon:V,ImagePreview:B,FontAwesomeIcon:L},mixins:[j,I],data(){return{fileList:[],uploadUrl:D()+`/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.headshots?.config?.image_urls},set(){let e=this.urls;this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots?.config,image_urls:e})}}},mounted(){this.value||=void 0,this.onSetImageUrls()},methods:{onExceed(){P.warning(this.$t(`headshots.message.uploadImageExceed`))},onError(){P.error(this.$t(`headshots.message.uploadImageError`))},onSetImageUrls(){let e=this.urls;this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots?.config,image_urls:e})},async onSuccess(){this.onSetImageUrls()}}}),Q={class:`field`},ne={class:`title font-bold`},re={class:`upload-wrapper`};function ie(e,r,i,o,c,l){let f=m(`image-preview`),p=m(`font-awesome-icon`),g=m(`el-button`),_=m(`el-upload`),v=m(`info-icon`);return d(),t(`div`,Q,[n(`h2`,ne,u(e.$t(`headshots.name.endImageUrls`)),1),n(`div`,re,[s(_,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value upload-wrapper`,limit:2,multiple:!0,"list-type":`picture`,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:h(({file:t})=>[s(f,{url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:h(()=>[s(g,{size:`small`,type:`primary`,round:``},{default:h(()=>[s(p,{icon:`fa-solid fa-upload`,class:`mr-1`}),a(` `+u(e.$t(`headshots.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])]),s(v,{content:e.$t(`headshots.description.endImageUrls`),class:`info`},null,8,[`content`])])}var ae=O(Z,[[`render`,ie],[`__scopeId`,`data-v-d468812a`]]),oe=`fast`,se=i({name:`ModeSelector`,components:{ElRadioButton:S,ElRadioGroup:C},data(){return{options:[{label:this.$t(`headshots.button.fast`),value:`fast`},{label:this.$t(`headshots.button.relax`),value:`relax`}]}},computed:{value:{get(){return this.$store.state.headshots.config?.mode},set(e){console.debug(`set mode`,e),this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots.config,mode:e})}}},mounted(){this.value||=oe}}),ce={class:`field`},le={class:`title font-bold`};function ue(r,i,l,f,p,g){let _=m(`el-radio-button`),v=m(`el-radio-group`);return d(),t(`div`,ce,[n(`h2`,le,u(r.$t(`headshots.name.mode`)),1),s(v,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`mode`},{default:h(()=>[(d(!0),t(c,null,e(r.options,e=>(d(),o(_,{key:e.value,label:e.value},{default:h(()=>[a(u(e.label),1)]),_:2},1032,[`label`]))),128))]),_:1},8,[`modelValue`])])}var de=O(se,[[`render`,ue],[`__scopeId`,`data-v-e7702494`]]),fe=i({name:`StylizeSelector`,components:{ElTabs:_,ElTabPane:v,ElImage:b},data(){return{tab:`styles`,value:``,elements:{styles:{displayName:this.$t(`headshots.styleCategory.styles`),items:[{image:`https://static.aipedias.com/aicamera/common/20241008/20241008202314260779439.png`,label:this.$t(`headshots.styleTag.malePportrait`),value:`male_portrait`},{image:`https://static.aipedias.com/aicamera/common/20241008/202410082022241e9755548.png`,label:this.$t(`headshots.styleTag.malePportrait2`),value:`male_portrait2`},{image:`https://static.aipedias.com/aicamera/common/20241101/20241101170130d78f66521.png`,label:this.$t(`headshots.styleTag.kindergarten`),value:`kindergarten`},{image:`https://static.aipedias.com/aicamera/common/20240923/20240923123233accf60398.webp`,label:this.$t(`headshots.styleTag.logoTshirt`),value:`logo_tshirt`},{image:`https://static.aipedias.com/aicamera/common/20241025/202410252012329472d0656.jpg`,label:this.$t(`headshots.styleTag.wedding`),value:`wedding`},{image:`https://static.aipedias.com/aicamera/common/20240915/20240915145045254931400.webp`,label:this.$t(`headshots.styleTag.businessPphoto`),value:`business_photo`},{image:`https://static.aipedias.com/aicamera/common/20240810/20240810194526040341795.jpg`,label:this.$t(`headshots.styleTag.bobSuit`),value:`bob_suit`},{image:`https://static.aipedias.com/aicamera/common/20240717/20240717152654e0b348173.webp`,label:this.$t(`headshots.styleTag.femalePortrait`),value:`female_portrait`}]}}}},watch:{value(e){console.debug(`set template`,e),this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots?.config,template:e})}},mounted(){this.value||=``,console.debug(`set template`,this.value),this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots?.config,template:this.value})},methods:{onToggle(e){this.value===e?this.value=``:this.value=e,console.debug(`set template`,this.value),this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots?.config,template:this.value})}}}),pe={class:`field`},me=[`onClick`],he={class:`name`};function ge(r,i,a,f,p,g){let _=m(`el-image`),v=m(`el-tab-pane`),y=m(`el-tabs`);return d(),t(`div`,pe,[s(y,{modelValue:r.tab,"onUpdate:modelValue":i[0]||=e=>r.tab=e},{default:h(()=>[(d(!0),t(c,null,e(r.elements,(i,a)=>(d(),o(v,{key:a,label:i.displayName,name:a,class:`pane`},{default:h(()=>[(d(!0),t(c,null,e(i.items,(e,i)=>(d(),t(`div`,{key:i,class:l({item:!0,active:r.value===e.value}),onClick:t=>r.onToggle(e.value)},[s(_,{src:e.image,fit:`fill`,class:`preview`},null,8,[`src`]),n(`span`,he,u(e.label),1)],10,me))),128))]),_:2},1032,[`label`,`name`]))),128))]),_:1},8,[`modelValue`])])}var _e=i({name:`PresetPanel`,components:{ModeSelector:de,ImageUrlsInput:ae,ElButton:g,FontAwesomeIcon:L,ElementsSelector:O(fe,[[`render`,ge],[`__scopeId`,`data-v-be4bd25d`]])},emits:[`generate`],computed:{config(){return this.$store.state.headshots?.config}},methods:{onGenerate(){this.$emit(`generate`)}}}),ve={class:`panel`},ye={class:`config`},be={class:`actions`};function xe(e,r,i,o,c,l){let f=m(`elements-selector`),p=m(`mode-selector`),g=m(`image-urls-input`),_=m(`font-awesome-icon`),v=m(`el-button`);return d(),t(`div`,ve,[n(`div`,ye,[s(f,{class:`mb-4`}),s(p,{class:`mb-4`}),s(g,{class:`mb-4`}),n(`div`,be,[s(v,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:h(()=>[s(_,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`headshots.button.generate`)),1)]),_:1},8,[`onClick`])])])])}var Se=O(_e,[[`render`,xe],[`__scopeId`,`data-v-848739f6`]]),Ce=i({name:`ImageGallery`,props:{modelValue:{type:Object,required:!0}},setup(e){return{images:r(()=>e.modelValue?.response?.data?.slice(0,2)||[]),viewImage:e=>{window.open(e,`_blank`)}}}}),we={class:`image-gallery`},Te=[`src`],Ee=[`onClick`];function De(r,i,a,o,s,l){return d(),t(`div`,we,[(d(!0),t(c,null,e(r.images,(e,i)=>(d(),t(`div`,{key:i,class:`image-container`},[n(`img`,{src:e.image_url,alt:`Image`},null,8,Te),e.image_url?(d(),t(`button`,{key:0,class:`view-button`,onClick:t=>r.viewImage(e.image_url)},u(r.$t(`headshots.button.viewImage`)),9,Ee)):p(``,!0)]))),128))])}var Oe=i({name:`TaskPreview`,components:{ElImage:b,CopyToClipboard:R,FontAwesomeIcon:L,ElAlert:x,ImageGallery:O(Ce,[[`render`,De],[`__scopeId`,`data-v-42f0a7be`]]),ApiCodeButton:W},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.headshots?.application},config(){return this.$store.state.headshots?.config}},methods:{onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_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`)}}}),ke={class:`preview`},Ae={class:`left`},je={class:`main`},Me={class:`bot`},Ne={class:`datetime`},Pe={class:`info`},Fe={key:0,class:`prompt mt-2`},Ie={key:0},Le={key:1},Re={key:0,class:l({content:!0,failed:!0})},ze={class:`image-wrapper`},Be={class:l({operations:!0,"mt-2":!0,"mb-2":!0})},Ve={class:`description`},He={key:0,class:`description`},Ue={key:1,class:l({content:!0})},We={class:`description`},Ge={class:`description`},Ke={key:0,class:`description`},qe={class:`description`},Je={key:2,class:l({content:!0})},$={class:`description`},Ye={key:3,class:l({content:!0})},Xe={class:`description`};function Ze(e,r,i,o,c,l){let f=m(`el-image`),g=m(`image-gallery`),_=m(`api-code-button`),v=m(`font-awesome-icon`),y=m(`copy-to-clipboard`),b=m(`el-alert`);return d(),t(`div`,ke,[n(`div`,Ae,[s(f,{src:`https://cdn.acedata.cloud/isxyfw.png`,class:`avatar`})]),n(`div`,je,[n(`div`,Me,[a(u(e.$t(`headshots.name.headshotsBot`))+` `,1),n(`span`,Ne,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,Pe,[e.modelValue?.request?.template?(d(),t(`p`,Fe,[a(u(e.modelValue?.request?.template)+` `,1),e.modelValue?.response?p(``,!0):(d(),t(`span`,Ie,` - (`+u(e.$t(`headshots.status.pending`))+`) `,1)),e.modelValue?.response?.status===`unknown`?(d(),t(`span`,Le,` - (`+u(e.$t(`headshots.status.processing`))+`) `,1)):p(``,!0)])):p(``,!0)]),e.modelValue?.response?.success===!0?(d(),t(`div`,Re,[n(`div`,ze,[s(g,{"model-value":e.modelValue},null,8,[`model-value`])]),n(`div`,Be,[s(_,{path:`/headshots/images`,body:e.modelValue?.request},null,8,[`body`])]),s(b,{closable:!1,class:`mt-2 success`},{default:h(()=>[n(`p`,Ve,[s(v,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`headshots.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),s(y,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(d(),t(`p`,He,[s(v,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`headshots.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):p(``,!0)]),_:1})])):p(``,!0),e.modelValue?.response?.success===!1?(d(),t(`div`,Ue,[s(b,{closable:!1,class:`failure`},{template:h(()=>[s(v,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`headshots.name.failure`)),1)]),default:h(()=>[n(`p`,We,[s(v,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`headshots.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),s(y,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),n(`p`,Ge,[s(v,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+u(e.$t(`headshots.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),s(y,{content:e.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(d(),t(`p`,Ke,[s(v,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`headshots.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):p(``,!0),n(`p`,qe,[s(v,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`headshots.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),s(y,{content:e.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):p(``,!0),e.modelValue?.response?p(``,!0):(d(),t(`div`,Je,[s(b,{closable:!1,class:`info`},{template:h(()=>[s(v,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`headshots.name.failure`)),1)]),default:h(()=>[n(`p`,$,[s(v,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`headshots.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),s(y,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})])),e.modelValue?.response?.status===`unknown`?(d(),t(`div`,Ye,[s(b,{closable:!1,class:`info`},{template:h(()=>[s(v,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`headshots.name.failure`)),1)]),default:h(()=>[n(`p`,Xe,[s(v,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`headshots.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),s(y,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):p(``,!0)])])}var Qe=i({name:`RecentPanel`,components:{TaskPreview:O(Oe,[[`render`,Ze],[`__scopeId`,`data-v-0e921c0c`]]),ElSkeleton:te,ElSkeletonItem:ee,ScrollList:H},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.headshots?.tasks,items:this.$store.state.headshots?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),$e={key:0,class:`tasks`},et={class:`left`},tt={class:`main`},nt={key:1,class:`tasks`},rt={key:2,class:`description`};function it(r,i,a,l,f,g){let _=m(`el-skeleton-item`),v=m(`el-skeleton`),y=m(`task-preview`),b=m(`scroll-list`);return d(),o(b,{ref:`scrollList`,class:`panel recent`,loading:r.loading,onReachTop:i[0]||=e=>r.$emit(`reach-top`)},{default:h(()=>[r.tasks?.items===void 0?(d(),t(`div`,$e,[(d(),t(c,null,e(3,e=>n(`div`,{key:e,class:`task placeholder`},[n(`div`,et,[s(v,{animated:``},{template:h(()=>[s(_,{variant:`image`,class:`avatar`})]),_:1})]),n(`div`,tt,[s(v,{animated:``},{template:h(()=>[s(_,{variant:`p`,class:`title`}),s(_,{variant:`image`,class:`icon`})]),_:1})])])),64))])):r.tasks?.items?.length&&r.tasks?.items?.length>0?(d(),t(`div`,nt,[(d(!0),t(c,null,e(r.tasks?.items,(e,t)=>(d(),o(y,{key:t,"model-value":e,class:`preview`},null,8,[`model-value`]))),128))])):p(``,!0),r.tasks?.items?.length===0?(d(),t(`p`,rt,u(r.$t(`headshots.message.noTasks`)),1)):p(``,!0)]),_:1},8,[`loading`])}var at=i({name:`HeadshotsIndex`,components:{ConfigPanel:Se,Layout:X,ApplicationStatus:z,RecentPanel:O(Qe,[[`render`,it],[`__scopeId`,`data-v-ffd55c16`]])},mixins:[T],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.headshots?.status?.getApplications===k.Request},tasksLoading(){return this.$store.state.headshots?.status?.getTasks===k.Request||this.fetchingTasks},service(){return this.$store.state.headshots.service},credential(){return this.$store.state.headshots.credential},config(){return this.$store.state.headshots.config},initializing(){return this.$store.state.headshots.status.getApplications===k.Request},needApply(){return this.$store.state.headshots.status.getApplications===k.Success&&!this.application},application(){return this.$store.state.headshots.application},applications(){return this.$store.state.headshots.applications},tasks(){return this.$store.state.headshots.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 U({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(`headshots/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`headshots/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},onApply(){M.create({application:this.application}).then(({data:e})=>{this.application=e,P.success(this.$t(`application.message.applySuccessfully`))}).catch(e=>{e?.response?.data?.code===`duplication`&&P.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(`headshots/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGeneratePicture(){if(!A(this.uploadTracker,e=>this.$t(e),e=>P.warning(e)))return;let e={...this.config,async:!0};if(!N())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}P.info(this.$t(`headshots.message.startingTask`)),E(`headshots`,F.generate(e,{token:t})).then(()=>{P.success(this.$t(`headshots.message.startTaskSuccess`)),this.$store.commit(`headshots/setConfig`,{config:void 0})}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?P.error(this.$t(`headshots.message.usedUp`)):P.error(this.$t(`headshots.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ot(e,t,n,r,i,a){let c=m(`config-panel`),l=m(`application-status`),u=m(`recent-panel`),f=m(`layout`);return d(),o(f,null,{config:h(()=>[s(c,{onGenerate:e.onGeneratePicture},null,8,[`onGenerate`])]),result:h(()=>[s(l,{initializing:e.initializing,application:e.application,applications:e.applications,service:e.service,"need-apply":e.needApply,class:`mb-4`,onRefresh:e.onGetApplication,onSelect:t[0]||=t=>e.$store.dispatch(`headshots/setApplication`,t)},null,8,[`initializing`,`application`,`applications`,`service`,`need-apply`,`onRefresh`]),s(u,{ref:`recentPanel`,class:`panel recent`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var st=O(at,[[`render`,ot],[`__scopeId`,`data-v-9ea36b64`]]);export{st as default};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Vt as c,Wt as l,Z as u,b as d,k as f,tt as p,ut as m}from"./vendor-chart-BJCvKk8-.js";import{t as h}from"./button-BydTr5nV.js";import{r as g,t as _}from"./select-BdRfhFiQ.js";import{t as v}from"./upload-DT_UdtVs.js";import{t as y}from"./tooltip-BxeH2Vts.js";import{t as b}from"./image-Dq96Xper.js";import{t as x}from"./alert-CuX4SjQB.js";import{Xn as S}from"./constants-DNpQuSUd.js";import{Bt as C,Jn as w,Lr as T,O as E,Pr as D,Rt as O,Ut as ee,Vt as te,Zt as k,bn as A,qr as j,zt as M}from"./index-BagZk06I.js";import{t as N}from"./index.es-B2VlwOr_.js";import{t as P}from"./CopyToClipboard-BJ4cWa_D.js";import{t as F}from"./ImagePreview-C-SawJdM.js";import{t as I}from"./Consumption-CRTyuxVK.js";import{i as L,n as R,t as z}from"./pagination-BYwrVl5j.js";import{t as B}from"./VideoPlayer-BqYd3rkL.js";import{t as V}from"./ApiCodeButton-ClF_5uX0.js";import{t as H}from"./BotPlaceholder-XVpggWts.js";import{t as U}from"./NoTasks-Bpna1KF3.js";import{t as W}from"./Hailuo-x29FeIOy.js";import{t as G}from"./PromptTextarea-JHBmf8dE.js";var K=r({name:`ModelSelector`,components:{ElSelect:g,ElOption:_},data(){return{}},computed:{options(){return[{value:`minimax-t2v`,label:this.$t(`hailuo.button.model1`)},{value:`minimax-i2v`,label:this.$t(`hailuo.button.model2`)},{value:`minimax-i2v-director`,label:this.$t(`hailuo.button.model3`)}]},value:{get(){return this.$store.state.hailuo?.config?.model},set(e){this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,model:e})}}},mounted(){this.value||=S}}),q={class:`field`},J={class:`title font-bold`},Y={class:`float-left`};function X(r,i,c,d,f,h){let g=p(`el-option`),_=p(`el-select`);return u(),t(`div`,q,[n(`h2`,J,l(r.$t(`hailuo.name.model`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`hailuo.placeholder.select`),clearable:``},{default:m(()=>[(u(!0),t(s,null,e(r.options,e=>(u(),a(g,{key:e.value,label:e.label,value:e.value},{default:m(()=>[n(`span`,Y,l(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Z=E(K,[[`render`,X],[`__scopeId`,`data-v-a768fbd9`]]),Q=r({name:`StartImageUrlInput`,components:{ElUpload:v,ElButton:h,InfoIcon:L,ImagePreview:F},mixins:[te,M],data(){return{fileList:[],uploadUrl:T()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.hailuo?.config?.first_image_url},set(){let e=this.urls?.[0];this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,first_image_url:e})}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){j.warning(this.$t(`hailuo.message.uploadStartImageExceed`))},onError(){j.error(this.$t(`hailuo.message.uploadStartImageError`))},async onRemove(){j.error(this.$t(`hailuo.message.uploadStartImageError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,first_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),ne={class:`relative`},re={class:`flex justify-between`},ie={class:`flex justify-start items-center`},ae={class:`text-sm font-bold`};function oe(e,r,s,c,d,h){let g=p(`info-icon`),_=p(`image-preview`),v=p(`el-button`),y=p(`el-upload`);return u(),t(`div`,ne,[n(`div`,re,[n(`div`,ie,[n(`span`,ae,l(e.$t(`hailuo.name.startImageUrl`)),1),o(g,{content:e.$t(`hailuo.description.startImageUrl`),class:`info`},null,8,[`content`])])]),o(y,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,"show-file-list":!0,limit:1,multiple:!1,"list-type":`picture`,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:t})=>[t.url&&t.percentage!==void 0?(u(),a(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):f(``,!0)]),default:m(()=>[o(v,{size:`small`,type:`primary`,class:`btn btn-upload`,round:``},{default:m(()=>[i(l(e.$t(`hailuo.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])])}var se=E(Q,[[`render`,oe],[`__scopeId`,`data-v-fbf49b06`]]),ce=r({name:`PromptInput`,components:{PromptTextarea:G},computed:{prompt:{get(){return this.$store.state.hailuo?.config?.prompt},set(e){this.$store.commit(`hailuo/setConfig`,{...this.$store.state.hailuo?.config,prompt:e})}}},mounted(){this.prompt||=``}});function le(e,t,n,r,i,o){let s=p(`prompt-textarea`);return u(),a(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`hailuo.name.prompt`),info:e.$t(`hailuo.description.prompt`),placeholder:e.$t(`hailuo.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var ue=r({name:`PresetPanel`,components:{ElButton:h,FontAwesomeIcon:N,PromptInput:E(ce,[[`render`,le]]),StartImageUrlInput:se,ModelSelector:Z,Consumption:I},emits:[`generate`],computed:{config(){return this.$store.state.hailuo?.config},consumption(){return ee(this.config,this.service?.cost)},service(){return this.$store.state.hailuo?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),de={class:`flex flex-col h-full`},fe={class:`flex-1 overflow-y-auto p-5`},pe={class:`flex flex-col items-center justify-center px-5 pb-5`};function me(e,r,s,c,d,h){let g=p(`prompt-input`),_=p(`model-selector`),v=p(`start-image-url-input`),y=p(`consumption`),b=p(`font-awesome-icon`),x=p(`el-button`);return u(),t(`div`,de,[n(`div`,fe,[o(g,{class:`mb-4`}),o(_,{class:`mb-4`}),e.config?.model===`minimax-i2v`?(u(),a(v,{key:0,class:`mb-2`})):f(``,!0)]),n(`div`,pe,[o(y,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),e.config?.video_url!==void 0||e.config?.custom?(u(),a(x,{key:0,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:m(()=>[o(b,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`hailuo.button.extend`)),1)]),_:1},8,[`onClick`])):(u(),a(x,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:m(()=>[o(b,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`hailuo.button.generate`)),1)]),_:1},8,[`onClick`]))])])}var he=E(ue,[[`render`,me]]),ge=r({name:`TaskPreview`,components:{ElImage:b,CopyToClipboard:P,FontAwesomeIcon:N,ElAlert:x,VideoPlayer:B,ElTooltip:y,ElButton:h,ApiCodeButton:V},props:{modelValue:{type:Object,required:!0}},computed:{application(){return this.$store.state.hailuo?.application},config(){return this.$store.state.hailuo?.config},video(){return this.modelValue?.response?.data?.[0]}},methods:{onDownload(e){console.debug(`on download hailuo video`,e),window.open(e,`_blank`)}}}),_e={class:`preview`},ve={class:`left`},ye={class:`main`},be={class:`bot`},xe={class:`datetime`},Se={class:`info`},Ce={key:0,class:`prompt mt-2`},we={key:0},Te={key:1},Ee={key:0,class:c({content:!0,failed:!0})},De={key:0,class:`mb-4`},Oe={key:1,class:c({operations:!0,"mt-2":!0})},ke={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ae={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},je={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Me={key:1,class:c({content:!0})},Ne={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Pe={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Fe={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ie={key:2,class:c({content:!0})},Le={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function Re(e,r,s,c,h,g){let _=p(`el-image`),v=p(`video-player`),y=p(`el-button`),b=p(`el-tooltip`),x=p(`api-code-button`),S=p(`font-awesome-icon`),C=p(`copy-to-clipboard`),w=p(`el-alert`);return u(),t(`div`,_e,[n(`div`,ve,[o(_,{src:`https://cdn.acedata.cloud/0qg4gp.png`,class:`avatar`})]),n(`div`,ye,[n(`div`,be,[i(l(e.$t(`hailuo.name.hailuoBot`))+` `,1),n(`span`,xe,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,Se,[e.modelValue?.request?.prompt?(u(),t(`p`,Ce,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?f(``,!0):(u(),t(`span`,we,` - (`+l(e.$t(`hailuo.status.pending`))+`) `,1)),e.video?.state===`processing`||e.video?.state===`pending`||e.video?.state===`running`?(u(),t(`span`,Te,` - (`+l(e.$t(`hailuo.status.processing`))+`) `,1)):f(``,!0)])):f(``,!0)]),e.modelValue?.response?.success===!0?(u(),t(`div`,Ee,[e.video?.video_url?(u(),t(`div`,De,[o(v,{src:e.video?.video_url},null,8,[`src`])])):f(``,!0),e.video?(u(),t(`div`,Oe,[o(b,{class:`box-item`,effect:`dark`,content:e.$t(`hailuo.message.downloadVideo`),placement:`top-start`},{default:m(()=>[e.video?.video_url?(u(),a(y,{key:0,type:`info`,size:`small`,class:`mb-2`,onClick:r[0]||=d(t=>e.onDownload(e.video?.video_url),[`stop`])},{default:m(()=>[i(l(e.$t(`hailuo.button.download`)),1)]),_:1})):f(``,!0)]),_:1},8,[`content`]),o(x,{path:`/hailuo/videos`,body:e.modelValue?.request},null,8,[`body`])])):f(``,!0),o(w,{closable:!1,class:`mt-2 success`},{default:m(()=>[e.modelValue?.request?.model?(u(),t(`p`,ke,[o(S,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`hailuo.name.model`))+`: `+l(e.modelValue?.request?.model)+` `,1),o(C,{content:e.modelValue?.id},null,8,[`content`])])):f(``,!0),n(`p`,Ae,[o(S,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`hailuo.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),o(C,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(u(),t(`p`,je,[o(S,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`hailuo.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):f(``,!0)]),_:1})])):f(``,!0),e.modelValue?.response?.success===!1?(u(),t(`div`,Me,[o(w,{closable:!1,class:`failure`},{template:m(()=>[o(S,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`hailuo.name.failure`)),1)]),default:m(()=>[n(`p`,Ne,[o(S,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`hailuo.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),o(C,{content:e.modelValue?.id},null,8,[`content`])]),n(`p`,Pe,[o(S,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`hailuo.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),o(C,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(u(),t(`p`,$,[o(S,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`hailuo.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):f(``,!0),n(`p`,Fe,[o(S,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`hailuo.name.traceId`))+`: `+l(e.modelValue?.response?.trace_id)+` `,1),o(C,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):f(``,!0),e.modelValue?.response?.success===void 0?(u(),t(`div`,Ie,[o(w,{closable:!1,class:`info`},{template:m(()=>[o(S,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`hailuo.name.failure`)),1)]),default:m(()=>[n(`p`,Le,[o(S,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`hailuo.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),o(C,{content:e.modelValue?.id},null,8,[`content`])])]),_:1})])):f(``,!0)])])}var ze=r({name:`RecentPanel`,components:{TaskPreview:E(ge,[[`render`,Re],[`__scopeId`,`data-v-53d13da4`]]),BotPlaceholder:H,NoTasks:U,ScrollList:R},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.hailuo?.tasks,items:this.$store.state.hailuo?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Be={key:0},Ve={key:2,class:`w-full h-full flex items-center justify-center`};function He(n,r,i,c,l,d){let h=p(`bot-placeholder`),g=p(`task-preview`),_=p(`scroll-list`),v=p(`no-tasks`);return u(),t(s,null,[n.tasks?.items===void 0?(u(),t(`div`,Be,[o(h)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(u(),a(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:n.loading,onReachTop:r[0]||=e=>n.$emit(`reach-top`)},{default:m(()=>[(u(!0),t(s,null,e(n.tasks?.items,e=>(u(),a(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):f(``,!0),n.tasks?.items?.length===0?(u(),t(`div`,Ve,[o(v)])):f(``,!0)],64)}var Ue=r({name:`HailuoIndex`,components:{ConfigPanel:he,Layout:W,RecentPanel:E(ze,[[`render`,He]])},mixins:[C],inject:[`initialized`],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.hailuo?.status?.getApplications===D.Request},tasksLoading(){return this.$store.state.hailuo?.status?.getTasks===D.Request||this.fetchingTasks},credential(){return this.$store.state.hailuo.credential},config(){return this.$store.state.hailuo.config},application(){return this.$store.state.hailuo.application},tasks(){return this.$store.state.hailuo.tasks}},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 z({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`hailuo/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`hailuo/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`hailuo/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!O(this.uploadTracker,e=>this.$t(e),e=>j.warning(e)))return;let e={...this.config,async:!0};if(!k())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}j.info(this.$t(`hailuo.message.startingTask`)),w(`hailuo`,A.generate(e,{token:t})).then(()=>{j.success(this.$t(`hailuo.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?j.error(this.$t(`hailuo.message.usedUp`)):j.error(this.$t(`hailuo.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function We(e,t,n,r,i,s){let c=p(`config-panel`),l=p(`recent-panel`),d=p(`layout`);return u(),a(d,null,{config:m(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:m(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Ge=E(Ue,[[`render`,We]]);export{Ge as default};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,M as i,N as a,O as o,P as s,S as c,Wt as l,Z as u,et as d,k as f,tt as p,ut as m}from"./vendor-chart-BJCvKk8-.js";import{t as h}from"./button-BydTr5nV.js";import{r as g,t as _}from"./select-BdRfhFiQ.js";import{n as v,t as y}from"./collapse-DD8ziopn.js";import{t as b}from"./drawer-R6pcaap2.js";import"./constants-DNpQuSUd.js";import{O as x,Pr as S,Ut as C,Zt as w,ei as T,qr as E}from"./index-BagZk06I.js";import{t as D}from"./index.es-B2VlwOr_.js";import{t as ee}from"./Consumption-CRTyuxVK.js";var te=r({name:`LayoutSerp`,components:{ElDrawer:b,ElButton:h,FontAwesomeIcon:D},data(){return{drawer:!1}}}),O={class:`main flex flex-row flex-1`},k={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},A={class:`result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function j(e,r,i,a,o,c){let l=p(`font-awesome-icon`),f=p(`el-button`),h=p(`el-drawer`);return u(),t(`div`,O,[n(`div`,k,[d(e.$slots,`config`,{},void 0,!0)]),n(`div`,A,[d(e.$slots,`result`,{},void 0,!0)]),s(f,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:m(()=>[s(l,{icon:`fa-solid fa-search`})]),_:1}),s(h,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:m(()=>[d(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var M=x(te,[[`render`,j],[`__scopeId`,`data-v-72398911`]]),N=r({name:`QueryInput`,components:{ElInput:T},computed:{query:{get(){return this.$store.state.serp?.config?.query},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e})}}}}),P={class:`field`},F={class:`box`},I={class:`title font-bold`};function L(e,r,i,a,o,c){let d=p(`el-input`);return u(),t(`div`,P,[n(`div`,F,[n(`h2`,I,l(e.$t(`serp.name.query`)),1)]),s(d,{modelValue:e.query,"onUpdate:modelValue":r[0]||=t=>e.query=t,rows:3,type:`textarea`,class:`prompt`,placeholder:e.$t(`serp.placeholder.query`)},null,8,[`modelValue`,`placeholder`])])}var R=x(N,[[`render`,L],[`__scopeId`,`data-v-3582b195`]]),z=r({name:`TypeSelector`,components:{ElSelect:g,ElOption:_},computed:{value:{get(){return this.$store.state.serp?.config?.type},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,type:e})}}},mounted(){this.value||=`search`}}),B={class:`field`},V={class:`title font-bold`};function H(e,r,i,a,o,c){let d=p(`el-option`),f=p(`el-select`);return u(),t(`div`,B,[n(`h2`,V,l(e.$t(`serp.name.type`)),1),s(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},{default:m(()=>[s(d,{value:`search`,label:e.$t(`serp.type.search`)},null,8,[`label`]),s(d,{value:`images`,label:e.$t(`serp.type.images`)},null,8,[`label`]),s(d,{value:`news`,label:e.$t(`serp.type.news`)},null,8,[`label`]),s(d,{value:`videos`,label:e.$t(`serp.type.videos`)},null,8,[`label`])]),_:1},8,[`modelValue`])])}var U=x(z,[[`render`,H],[`__scopeId`,`data-v-2913fb62`]]),W=r({name:`CountryInput`,components:{ElInput:T},computed:{value:{get(){return this.$store.state.serp?.config?.country},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,country:e})}}},mounted(){this.value||=`US`}}),G={class:`field`},K={class:`title font-bold`};function q(e,r,i,a,o,c){let d=p(`el-input`);return u(),t(`div`,G,[n(`h2`,K,l(e.$t(`serp.name.country`)),1),s(d,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`serp.placeholder.country`)},null,8,[`modelValue`,`placeholder`])])}var J=x(W,[[`render`,q],[`__scopeId`,`data-v-f0672cc6`]]),Y=r({name:`LanguageInput`,components:{ElInput:T},computed:{value:{get(){return this.$store.state.serp?.config?.language},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,language:e})}}},mounted(){this.value||=`en`}}),X={class:`field`},Z={class:`title font-bold`};function Q(e,r,i,a,o,c){let d=p(`el-input`);return u(),t(`div`,X,[n(`h2`,Z,l(e.$t(`serp.name.language`)),1),s(d,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`serp.placeholder.language`)},null,8,[`modelValue`,`placeholder`])])}var ne=r({name:`SearchPanel`,components:{ElButton:h,FontAwesomeIcon:D,QueryInput:R,TypeSelector:U,CountryInput:J,LanguageInput:x(Y,[[`render`,Q],[`__scopeId`,`data-v-dc1c94b7`]]),Consumption:ee},emits:[`search`],computed:{config(){return this.$store.state.serp?.config},consumption(){return C(this.config,this.service?.cost)},service(){return this.$store.state.serp?.service},searching(){return this.$store.state.serp?.status?.search===S.Request}},methods:{onSearch(){this.$emit(`search`)}}}),re={class:`flex flex-col h-full`},ie={class:`flex-1 overflow-y-auto p-5`},ae={class:`flex flex-col items-center justify-center px-5 pb-5`};function oe(e,r,i,o,c,d){let f=p(`query-input`),h=p(`type-selector`),g=p(`country-input`),_=p(`language-input`),v=p(`consumption`),y=p(`font-awesome-icon`),b=p(`el-button`);return u(),t(`div`,re,[n(`div`,ie,[s(f,{class:`mb-4`}),s(h,{class:`mb-4`}),s(g,{class:`mb-4`}),s(_,{class:`mb-4`})]),n(`div`,ae,[s(v,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),s(b,{type:`primary`,class:`btn w-full`,round:``,loading:e.searching,onClick:e.onSearch},{default:m(()=>[s(y,{icon:`fa-solid fa-search`,class:`mr-2`}),a(` `+l(e.$t(`serp.button.search`)),1)]),_:1},8,[`loading`,`onClick`])])])}var se=x(ne,[[`render`,oe]]),ce=r({name:`KnowledgeGraph`,props:{data:{type:Object,required:!0}}}),le={class:`knowledge-graph rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},ue={class:`flex flex-row gap-4`},de=[`src`,`alt`],fe={class:`flex-1 min-w-0`},pe={key:0,class:`text-xs text-[var(--el-text-color-disabled)] mb-1 uppercase tracking-wide`},me={class:`text-xl font-bold mb-1.5`},he={key:1,class:`text-sm text-[var(--el-text-color-regular)] mb-3 leading-relaxed`},ge=[`href`],_e={key:2,class:`text-sm`},ve={class:`text-[var(--el-text-color-disabled)] flex-none font-medium`},ye={class:`text-[var(--el-text-color-regular)]`};function be(r,i,o,s,d,p){return u(),t(`div`,le,[n(`div`,ue,[r.data.image_url?(u(),t(`img`,{key:0,src:r.data.image_url,alt:r.data.title,class:`w-28 h-28 rounded-lg object-cover flex-none shadow-sm`},null,8,de)):f(``,!0),n(`div`,fe,[r.data.type?(u(),t(`div`,pe,l(r.data.type),1)):f(``,!0),n(`h3`,me,l(r.data.title),1),r.data.description?(u(),t(`p`,he,[a(l(r.data.description)+` `,1),r.data.description_link?(u(),t(`a`,{key:0,href:r.data.description_link,target:`_blank`,rel:`noopener noreferrer`,class:`text-[var(--el-color-primary)] hover:underline ml-1`},l(r.data.description_source||`Source`),9,ge)):f(``,!0)])):f(``,!0),r.data.attributes&&Object.keys(r.data.attributes).length?(u(),t(`div`,_e,[(u(!0),t(c,null,e(r.data.attributes,(e,r)=>(u(),t(`div`,{key:r,class:`flex gap-2 mb-1 py-0.5`},[n(`span`,ve,l(r)+`:`,1),n(`span`,ye,l(e),1)]))),128))])):f(``,!0)])])])}var xe=x(ce,[[`render`,be]]),Se=r({name:`OrganicResult`,props:{data:{type:Object,required:!0}},data(){return{faviconFailed:!1}},computed:{hostname(){if(!this.data.link)return``;try{return new URL(this.data.link).hostname}catch{return``}},pathname(){if(!this.data.link)return``;try{let e=new URL(this.data.link).pathname;return e===`/`?``:e}catch{return``}},displayUrl(){return this.hostname},faviconUrl(){return this.faviconFailed||!this.hostname?``:`https://www.google.com/s2/favicons?domain=${this.hostname}&sz=32`}},methods:{onFaviconError(e){this.faviconFailed=!0,e.target.style.display=`none`}}}),Ce={class:`organic-result rounded-lg p-4 transition-all duration-200 hover:bg-[var(--el-fill-color-lighter)]`},we={key:0,class:`flex items-center gap-2 mb-1.5`},Te=[`src`,`alt`],Ee={class:`text-xs text-[var(--el-text-color-secondary)] truncate`},De={class:`text-xs text-[var(--el-text-color-disabled)]`},Oe=[`href`],ke={key:1,class:`text-xs text-[var(--el-text-color-disabled)] mt-1`},Ae={key:2,class:`text-sm text-[var(--el-text-color-regular)] mt-1.5 leading-relaxed line-clamp-3`},je={key:3,class:`mt-3 flex flex-wrap gap-x-4 gap-y-1`},Me=[`href`];function Ne(r,i,a,o,s,d){return u(),t(`div`,Ce,[r.displayUrl?(u(),t(`div`,we,[n(`img`,{src:r.faviconUrl,alt:r.hostname,class:`w-4 h-4 rounded-sm flex-none`,loading:`lazy`,onError:i[0]||=(...e)=>r.onFaviconError&&r.onFaviconError(...e)},null,40,Te),n(`span`,Ee,l(r.hostname),1),n(`span`,De,l(r.pathname),1)])):f(``,!0),n(`a`,{href:r.data.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-base font-semibold text-[var(--el-color-primary)] hover:underline leading-snug block`},l(r.data.title),9,Oe),r.data.date?(u(),t(`div`,ke,l(r.data.date),1)):f(``,!0),r.data.snippet?(u(),t(`p`,Ae,l(r.data.snippet),1)):f(``,!0),r.data.sitelinks?.length?(u(),t(`div`,je,[(u(!0),t(c,null,e(r.data.sitelinks,(e,n)=>(u(),t(`a`,{key:n,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary-light-3)] hover:text-[var(--el-color-primary)] hover:underline transition-colors`},l(e.title),9,Me))),128))])):f(``,!0)])}var Pe=x(Se,[[`render`,Ne]]),Fe=r({name:`ImageResults`,props:{data:{type:Array,required:!0}}}),Ie={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Le={class:`text-base font-bold mb-3`},Re={class:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3`},ze=[`href`],Be=[`src`,`alt`],Ve={class:`absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/70 to-transparent p-2.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200`},He={class:`text-xs text-white line-clamp-2`};function Ue(r,i,a,o,s,d){return u(),t(`div`,Ie,[n(`h3`,Le,l(r.$t(`serp.name.imageResults`)),1),n(`div`,Re,[(u(!0),t(c,null,e(r.data,(e,r)=>(u(),t(`a`,{key:r,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`group relative rounded-lg overflow-hidden bg-[var(--el-fill-color-light)] aspect-square`},[e.image_url?(u(),t(`img`,{key:0,src:e.image_url,alt:e.title,class:`w-full h-full object-cover transition-transform duration-300 group-hover:scale-105`,loading:`lazy`},null,8,Be)):f(``,!0),n(`div`,Ve,[n(`span`,He,l(e.title),1)])],8,ze))),128))])])}var We=x(Fe,[[`render`,Ue]]),Ge=r({name:`VideoResults`,props:{data:{type:Array,required:!0}}}),Ke={class:`text-base font-bold mb-3`},qe={class:`space-y-4`},Je=[`href`],Ye={class:`relative flex-shrink-0 w-40 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},Xe=[`src`,`alt`],Ze={key:1,class:`absolute bottom-1 right-1 bg-black/80 text-white text-xs px-1 rounded`},Qe={class:`flex-1 min-w-0`},$e={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},et={class:`text-xs text-gray-400 mt-1`},tt={key:0},nt={key:1},rt={key:2},it={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`};function at(r,i,a,o,s,d){return u(),t(`div`,null,[n(`h3`,Ke,l(r.$t(`serp.name.videoResults`)),1),n(`div`,qe,[(u(!0),t(c,null,e(r.data,(e,r)=>(u(),t(`a`,{key:r,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[n(`div`,Ye,[e.image_url?(u(),t(`img`,{key:0,src:e.image_url,alt:e.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,Xe)):f(``,!0),e.duration?(u(),t(`div`,Ze,l(e.duration),1)):f(``,!0)]),n(`div`,Qe,[n(`div`,$e,l(e.title),1),n(`div`,et,[e.source?(u(),t(`span`,tt,l(e.source),1)):f(``,!0),e.channel?(u(),t(`span`,nt,` · `+l(e.channel),1)):f(``,!0),e.date?(u(),t(`span`,rt,` · `+l(e.date),1)):f(``,!0)]),e.snippet?(u(),t(`p`,it,l(e.snippet),1)):f(``,!0)])],8,Je))),128))])])}var ot=x(Ge,[[`render`,at]]),st=r({name:`NewsResults`,props:{data:{type:Array,required:!0}}}),ct={class:`text-base font-bold mb-3`},lt={class:`space-y-4`},ut=[`href`],dt={class:`flex-1 min-w-0`},ft={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},pt={class:`text-xs text-gray-400 mt-1`},mt={key:0},ht={key:1},gt={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`},_t={key:0,class:`flex-shrink-0 w-24 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},vt=[`src`,`alt`];function yt(r,i,a,o,s,d){return u(),t(`div`,null,[n(`h3`,ct,l(r.$t(`serp.name.newsResults`)),1),n(`div`,lt,[(u(!0),t(c,null,e(r.data,(e,r)=>(u(),t(`a`,{key:r,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[n(`div`,dt,[n(`div`,ft,l(e.title),1),n(`div`,pt,[e.source?(u(),t(`span`,mt,l(e.source),1)):f(``,!0),e.date?(u(),t(`span`,ht,` · `+l(e.date),1)):f(``,!0)]),e.snippet?(u(),t(`p`,gt,l(e.snippet),1)):f(``,!0)]),e.image_url?(u(),t(`div`,_t,[n(`img`,{src:e.image_url,alt:e.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,vt)])):f(``,!0)],8,ut))),128))])])}var bt=x(st,[[`render`,yt]]),xt=r({name:`PeopleAlsoAsk`,components:{ElCollapse:y,ElCollapseItem:v},props:{data:{type:Array,required:!0}}}),St={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Ct={class:`text-base font-bold mb-3`},wt={key:0,class:`text-sm text-[var(--el-text-color-regular)] mb-2 leading-relaxed`},Tt=[`href`];function Et(r,i,a,d,h,g){let _=p(`el-collapse-item`),v=p(`el-collapse`);return u(),t(`div`,St,[n(`h3`,Ct,l(r.$t(`serp.name.peopleAlsoAsk`)),1),s(v,null,{default:m(()=>[(u(!0),t(c,null,e(r.data,(e,n)=>(u(),o(_,{key:n,title:e.question||e.title||``},{default:m(()=>[e.snippet?(u(),t(`p`,wt,l(e.snippet),1)):f(``,!0),e.link?(u(),t(`a`,{key:1,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary)] hover:underline`},l(e.title||e.link),9,Tt)):f(``,!0)]),_:2},1032,[`title`]))),128))]),_:1})])}var Dt=x(xt,[[`render`,Et]]),Ot=r({name:`RelatedSearches`,components:{FontAwesomeIcon:D},props:{data:{type:Array,required:!0}},emits:[`search`],methods:{onSearch(e){e&&this.$emit(`search`,e)}}}),kt={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},At={class:`text-base font-bold mb-3`},jt={class:`flex flex-wrap gap-2`},Mt=[`onClick`];function Nt(r,i,o,d,f,m){let h=p(`font-awesome-icon`);return u(),t(`div`,kt,[n(`h3`,At,l(r.$t(`serp.name.relatedSearches`)),1),n(`div`,jt,[(u(!0),t(c,null,e(r.data,(e,n)=>(u(),t(`button`,{key:n,class:`inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm bg-[var(--el-fill-color-light)] text-[var(--el-text-color-regular)] hover:bg-[var(--el-color-primary-light-9)] hover:text-[var(--el-color-primary)] transition-colors cursor-pointer border-none`,onClick:t=>r.onSearch(e.query)},[s(h,{icon:`fa-solid fa-magnifying-glass`,class:`text-xs opacity-50`}),a(` `+l(e.query),1)],8,Mt))),128))])])}var $=r({name:`ResultPanel`,components:{FontAwesomeIcon:D,KnowledgeGraph:xe,OrganicResult:Pe,ImageResults:We,VideoResults:ot,NewsResults:bt,PeopleAlsoAsk:Dt,RelatedSearches:x(Ot,[[`render`,Nt]])},emits:[`related-search`],computed:{results(){return this.$store.state.serp?.results},searching(){return this.$store.state.serp?.status?.search===S.Request},noResults(){return this.$store.state.serp?.status?.search===S.Success&&this.results&&!this.results.organic?.length&&!this.results.images?.length&&!this.results.videos?.length&&!this.results.news?.length&&!this.results.knowledge_graph?.title}},methods:{onRelatedSearch(e){this.$emit(`related-search`,e)}}}),Pt={class:`h-full overflow-y-auto p-6`},Ft={key:0,class:`max-w-3xl mx-auto py-8`},It={key:1,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Lt={class:`text-base`},Rt={key:2,class:`max-w-3xl mx-auto`},zt={key:1,class:`mb-6`},Bt={key:3,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Vt={class:`text-base`};function Ht(r,a,d,m,h,g){let _=p(`font-awesome-icon`),v=p(`knowledge-graph`),y=p(`organic-result`),b=p(`image-results`),x=p(`video-results`),S=p(`news-results`),C=p(`people-also-ask`),w=p(`related-searches`);return u(),t(`div`,Pt,[r.searching?(u(),t(`div`,Ft,[(u(),t(c,null,e(4,e=>n(`div`,{key:e,class:`mb-6 animate-pulse`},[...a[0]||=[i(`<div class="flex items-center gap-2 mb-2"><div class="w-4 h-4 rounded-sm bg-[var(--el-fill-color-darker)]"></div><div class="h-3 w-32 rounded bg-[var(--el-fill-color-darker)]"></div></div><div class="h-4 w-3/4 rounded bg-[var(--el-fill-color-dark)] mb-2"></div><div class="h-3 w-full rounded bg-[var(--el-fill-color)] mb-1"></div><div class="h-3 w-5/6 rounded bg-[var(--el-fill-color)]"></div>`,4)]])),64))])):r.noResults?(u(),t(`div`,It,[s(_,{icon:`fa-solid fa-face-meh`,class:`text-5xl mb-4 opacity-40`}),n(`p`,Lt,l(r.$t(`serp.message.noResults`)),1)])):r.results?(u(),t(`div`,Rt,[r.results.knowledge_graph?.title?(u(),o(v,{key:0,data:r.results.knowledge_graph,class:`mb-6`},null,8,[`data`])):f(``,!0),r.results.organic?.length?(u(),t(`div`,zt,[(u(!0),t(c,null,e(r.results.organic,(e,t)=>(u(),o(y,{key:t,data:e,class:`mb-1`},null,8,[`data`]))),128))])):f(``,!0),r.results.images?.length?(u(),o(b,{key:2,data:r.results.images,class:`mb-6`},null,8,[`data`])):f(``,!0),r.results.videos?.length?(u(),o(x,{key:3,data:r.results.videos,class:`mb-6`},null,8,[`data`])):f(``,!0),r.results.news?.length?(u(),o(S,{key:4,data:r.results.news,class:`mb-6`},null,8,[`data`])):f(``,!0),r.results.people_also_ask?.length?(u(),o(C,{key:5,data:r.results.people_also_ask,class:`mb-6`},null,8,[`data`])):f(``,!0),r.results.related_searches?.length?(u(),o(w,{key:6,data:r.results.related_searches,class:`mb-6`,onSearch:r.onRelatedSearch},null,8,[`data`,`onSearch`])):f(``,!0)])):(u(),t(`div`,Bt,[s(_,{icon:`fa-solid fa-globe`,class:`text-5xl mb-4 opacity-30`}),n(`p`,Vt,l(r.$t(`serp.description.query`)),1)]))])}var Ut=r({name:`SerpIndex`,components:{Layout:M,SearchPanel:se,ResultPanel:x($,[[`render`,Ht]])},inject:[`initialized`],async mounted(){await this.onGetService()},methods:{async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`serp/getService`),console.debug(`end onGetService`)},async onSearch(){if(w()&&this.$store.state.serp?.config?.query){E.info(this.$t(`serp.message.searching`));try{await this.$store.dispatch(`serp/search`),E.success(this.$t(`serp.message.searchSuccess`))}catch(e){(e?.response?.data)?.error?.code===`used_up`?E.error(this.$t(`serp.message.usedUp`)):E.error(this.$t(`serp.message.searchFailed`))}}},async onRelatedSearch(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e}),await this.onSearch()}}});function Wt(e,t,n,r,i,a){let c=p(`search-panel`),l=p(`result-panel`),d=p(`layout`);return u(),o(d,null,{config:m(()=>[s(c,{onSearch:e.onSearch},null,8,[`onSearch`])]),result:m(()=>[s(l,{onRelatedSearch:e.onRelatedSearch},null,8,[`onRelatedSearch`])]),_:1})}var Gt=x(Ut,[[`render`,Wt]]);export{Gt as default};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Vt as c,Wt as l,Z as u,b as d,dt as f,et as p,k as m,tt as h,ut as g,v as _}from"./vendor-chart-BJCvKk8-.js";import{t as v}from"./button-BydTr5nV.js";import{t as y}from"./upload-DT_UdtVs.js";import{t as b}from"./tooltip-BxeH2Vts.js";import{t as x}from"./image-Dq96Xper.js";import{t as S}from"./alert-CuX4SjQB.js";import{t as C}from"./drawer-R6pcaap2.js";import{t as w}from"./switch-kHjfJuQ2.js";import"./constants-DNpQuSUd.js";import{Bt as T,Jn as E,Lr as D,O,Pr as k,Rt as A,Ut as j,Vt as M,Zt as ee,kn as N,qr as P,zt as F}from"./index-BagZk06I.js";import{t as I}from"./index.es-B2VlwOr_.js";import{t as te}from"./CopyToClipboard-BJ4cWa_D.js";import{t as L}from"./FilePreview-CrQOhaAu.js";import{t as R}from"./ImagePreview-C-SawJdM.js";import{n as z}from"./taskDrawerMixin-DEgO_R5H.js";import{t as B}from"./Consumption-CRTyuxVK.js";import{i as V,n as H,t as U}from"./pagination-BYwrVl5j.js";import{t as W}from"./VideoPlayer-BqYd3rkL.js";import{t as G}from"./ApiCodeButton-ClF_5uX0.js";import{t as K}from"./BotPlaceholder-XVpggWts.js";import{t as q}from"./NoTasks-Bpna1KF3.js";import{t as J}from"./PromptTextarea-JHBmf8dE.js";var Y=r({name:`LayoutLuma`,components:{ElDrawer:C,ElButton:v,FontAwesomeIcon:I},mixins:[z]}),X={class:`main flex flex-row flex-1`},Z={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Q={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ne(e,r,i,a,s,c){let l=h(`font-awesome-icon`),d=h(`el-button`),m=h(`el-drawer`);return u(),t(`div`,X,[n(`div`,Z,[p(e.$slots,`config`,{},void 0,!0)]),n(`div`,Q,[p(e.$slots,`result`,{},void 0,!0)]),f(o(d,{circle:``,class:`menu`,onClick:r[0]||=t=>e.drawer=!0},{default:g(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1},512),[[_,!e.tasksEmpty]]),o(m,{modelValue:e.drawer,"onUpdate:modelValue":r[1]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`350px`,class:`drawer`},{default:g(()=>[p(e.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var re=O(Y,[[`render`,ne],[`__scopeId`,`data-v-da4bcd3a`]]),ie=r({name:`EnhancementSelector`,components:{ElSwitch:w,InfoIcon:V},computed:{value:{get(){return this.$store.state.luma?.config?.enhancement},set(e){console.debug(`set enhancement`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,enhancement:e})}}},mounted(){this.value===void 0&&(this.value=!0)}}),ae={class:`relative`},oe={class:`flex justify-between`},se={class:`flex justify-start items-center`},ce={class:`text-sm font-bold`},le={class:`flex justify-end items-center`};function ue(e,r,i,a,s,c){let d=h(`info-icon`),f=h(`el-switch`);return u(),t(`div`,ae,[n(`div`,oe,[n(`div`,se,[n(`span`,ce,l(e.$t(`luma.name.enhancement`)),1),o(d,{content:e.$t(`luma.description.enhancement`)},null,8,[`content`])]),n(`div`,le,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var de=O(ie,[[`render`,ue]]),fe=r({name:`CustomSelector`,components:{ElSwitch:w,InfoIcon:V},computed:{value:{get(){return this.$store.state.luma?.config?.custom},set(e){console.debug(`set custom`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,custom:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),pe={class:`relative`},me={class:`flex justify-between`},he={class:`flex justify-start items-center`},ge={class:`text-sm font-bold`},_e={class:`flex justify-end items-center`};function ve(e,r,i,a,s,c){let d=h(`info-icon`),f=h(`el-switch`);return u(),t(`div`,pe,[n(`div`,me,[n(`div`,he,[n(`span`,ge,l(e.$t(`luma.name.custom`)),1),o(d,{content:e.$t(`luma.description.custom`)},null,8,[`content`])]),n(`div`,_e,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var ye=O(fe,[[`render`,ve]]),be=r({name:`LoopSelector`,components:{ElSwitch:w,InfoIcon:V},computed:{value:{get(){return this.$store.state.luma?.config?.loop},set(e){console.debug(`set loop`,e),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,loop:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),xe={class:`relative`},Se={class:`flex justify-between`},Ce={class:`flex justify-start items-center`},we={class:`text-sm font-bold`},Te={class:`flex justify-end items-center`};function Ee(e,r,i,a,s,c){let d=h(`info-icon`),f=h(`el-switch`);return u(),t(`div`,xe,[n(`div`,Se,[n(`div`,Ce,[n(`span`,we,l(e.$t(`luma.name.loop`)),1),o(d,{content:e.$t(`luma.description.loop`)},null,8,[`content`])]),n(`div`,Te,[o(f,{modelValue:e.value,"onUpdate:modelValue":r[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])])])}var De=O(be,[[`render`,Ee]]),Oe=r({name:`EndImage`,components:{ElUpload:y,ElButton:v,ImagePreview:R,InfoIcon:V,FontAwesomeIcon:I},mixins:[M,F],data(){return{fileList:[],uploadUrl:D()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetEndImageUrl()},methods:{onExceed(){P.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){P.error(this.$t(`luma.message.uploadReferencesError`))},onSetEndImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,end_image_url:e})},async onSuccess(){this.onSetEndImageUrl()}}}),ke={class:`relative`},Ae={class:`flex justify-between`},je={class:`flex justify-start items-center`},Me={class:`text-sm font-bold`};function Ne(e,r,s,c,d,f){let p=h(`info-icon`),_=h(`image-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return u(),t(`div`,ke,[n(`div`,Ae,[n(`div`,je,[n(`span`,Me,l(e.$t(`luma.name.endImageUrl`)),1),o(p,{content:e.$t(`luma.description.endImageUrl`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:g(({file:t})=>[t.url&&t.percentage!==void 0?(u(),a(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):m(``,!0)]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadEndImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Pe=O(Oe,[[`render`,Ne],[`__scopeId`,`data-v-cd768b26`]]),Fe=r({name:`StartImage`,components:{ElUpload:y,ElButton:v,ImagePreview:R,InfoIcon:V,FontAwesomeIcon:I},mixins:[M,F],data(){return{fileList:[],uploadUrl:D()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state?.luma?.config?.start_image_url},set(){}}},mounted(){this.value||=void 0,this.onSetStartImageUrl()},methods:{onExceed(){P.warning(this.$t(`luma.message.uploadReferencesExceed`))},onError(){P.error(this.$t(`luma.message.uploadReferencesError`))},onSetStartImageUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,start_image_url:e})},async onSuccess(){this.onSetStartImageUrl()}}}),Ie={class:`relative`},Le={class:`flex justify-between`},Re={class:`flex justify-start items-center`},ze={class:`text-sm font-bold`};function Be(e,r,s,c,d,f){let p=h(`info-icon`),_=h(`image-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return u(),t(`div`,Ie,[n(`div`,Le,[n(`div`,Re,[n(`span`,ze,l(e.$t(`luma.name.startImageUrl`)),1),o(p,{content:e.$t(`luma.description.startImageUrl`)},null,8,[`content`])])]),o(b,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,name:`file`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,limit:5,class:`upload-wrapper`,multiple:!1,action:e.uploadUrl,"list-type":`picture`,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:g(({file:t})=>[t.percentage==null?m(``,!0):(u(),a(_,{key:0,url:t.url||t.response.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadStartImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Ve=O(Fe,[[`render`,Be],[`__scopeId`,`data-v-4d03e978`]]),He=r({name:`UploadVideo`,components:{ElUpload:y,ElButton:v,InfoIcon:V,FilePreview:L,FontAwesomeIcon:I},mixins:[F],data(){return{fileList:[],uploadUrl:D()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.luma?.config?.video_url},set(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e})}}},mounted(){this.value||=void 0},methods:{onExceed(){P.warning(this.$t(`luma.message.uploadVideoExceed`))},onError(){P.error(this.$t(`luma.message.uploadVideoError`))},beforeUpload(e){let t=e.type===`video/mp4`,n=e.size/1024/1024<10;return t?n?!0:(P.error(this.$t(`luma.message.uploadVideoSizeExceed`)),!1):(P.error(this.$t(`luma.message.uploadVideoTypeFailed`)),!1)},onSetVideoUrl(){let e=this.urls?.[0];this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_url:e,action:`extend`})},async onSuccess(){this.onSetVideoUrl()}}}),Ue={class:`relative`},We={class:`flex justify-between`},Ge={class:`flex justify-start items-center`},Ke={class:`text-sm font-bold`};function qe(e,r,s,c,d,f){let p=h(`info-icon`),_=h(`file-preview`),v=h(`font-awesome-icon`),y=h(`el-button`),b=h(`el-upload`);return u(),t(`div`,Ue,[n(`div`,We,[n(`div`,Ge,[n(`span`,Ke,l(e.$t(`luma.name.videoUrl`)),1),o(p,{content:e.$t(`luma.description.videoUrl`)},null,8,[`content`])])]),o(b,{"file-list":e.fileList,"onUpdate:fileList":r[0]||=t=>e.fileList=t,accept:`.mp4`,name:`file`,class:`value`,"show-file-list":!0,limit:1,multiple:!1,action:e.uploadUrl,"before-upload":e.beforeUpload,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:g(({file:t})=>[t.percentage==null?m(``,!0):(u(),a(_,{key:0,url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`]))]),default:g(()=>[o(y,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:g(()=>[o(v,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`luma.button.uploadVideoUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`before-upload`,`on-exceed`,`on-error`,`on-success`,`headers`])])}var Je=O(He,[[`render`,qe],[`__scopeId`,`data-v-b4c637fa`]]),Ye=r({name:`PromptInput`,components:{PromptTextarea:J},computed:{prompt:{get(){return this.$store.state.luma?.config?.prompt},set(e){this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,prompt:e})}}},mounted(){this.prompt||=``}});function Xe(e,t,n,r,i,o){let s=h(`prompt-textarea`);return u(),a(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`luma.name.prompt`),info:e.$t(`luma.description.prompt`),placeholder:e.$t(`luma.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ze=O(Ye,[[`render`,Xe]]),Qe=r({name:`ExtendFromInput`,components:{VideoPlayer:W},props:{modelValue:{type:Object,required:!1,default:void 0}},data(){return{options:{quality:{default:`1080p`}}}},computed:{config(){return this.$store.state.luma?.config}}}),$e={class:`relative`},et={class:`flex mb-2`},tt={class:`text-sm font-bold`};function nt(e,r,i,o,s,c){let d=h(`video-player`);return u(),t(`div`,$e,[n(`div`,et,[n(`span`,tt,l(e.$t(`luma.name.extend`)),1)]),n(`div`,null,[e.config?.video_url?(u(),a(d,{key:0,src:e.config?.video_url},null,8,[`src`])):m(``,!0)])])}var rt=r({name:`ConfigPanel`,components:{LoopSelector:De,StartImageInput:Ve,EndImageInput:Pe,EnhancementSelector:de,ElButton:v,FontAwesomeIcon:I,PromptInput:Ze,ExtendFromInput:O(Qe,[[`render`,nt]]),CustomSelector:ye,UploadVideo:Je,Consumption:B},emits:[`generate`],computed:{config(){return this.$store.state.luma?.config},consumption(){return j(this.config,this.service?.cost)},service(){return this.$store.state.luma?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),it={class:`flex flex-col h-full`},at={class:`flex-1 overflow-y-auto p-5`},ot={class:`flex flex-col items-center justify-center px-5 pb-5`};function st(e,r,s,c,d,f){let p=h(`extend-from-input`),_=h(`prompt-input`),v=h(`custom-selector`),y=h(`upload-video`),b=h(`start-image-input`),x=h(`end-image-input`),S=h(`enhancement-selector`),C=h(`loop-selector`),w=h(`consumption`),T=h(`font-awesome-icon`),E=h(`el-button`);return u(),t(`div`,it,[n(`div`,at,[e.config?.video_id||e.config?.video_url?(u(),a(p,{key:0,class:`mb-4`})):m(``,!0),o(_,{class:`mb-4`}),e.config?.video_id?m(``,!0):(u(),a(v,{key:1,class:`mb-4`})),e.config?.custom?(u(),a(y,{key:2,class:`mb-4`})):m(``,!0),!(e.config?.video_id||e.config?.video_url)&&!e.config?.custom?(u(),a(b,{key:3,class:`mb-4`})):m(``,!0),o(x,{class:`mb-4`}),o(S,{class:`mb-4`}),o(C,{class:`mb-4`})]),n(`div`,ot,[o(w,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),e.config?.video_url!==void 0||e.config?.custom?(u(),a(E,{key:0,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:g(()=>[o(T,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`luma.button.extend`)),1)]),_:1},8,[`onClick`])):(u(),a(E,{key:1,type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:g(()=>[o(T,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`luma.button.generate`)),1)]),_:1},8,[`onClick`]))])])}var ct=O(rt,[[`render`,st]]),lt=r({name:`TaskPreview`,components:{ElImage:x,CopyToClipboard:te,FontAwesomeIcon:I,ElAlert:S,VideoPlayer:W,ElTooltip:b,ElButton:v,ApiCodeButton:G},props:{modelValue:{type:Object,required:!0}},emits:[`extend`],data(){return{}},computed:{application(){return this.$store.state.luma?.application},config(){return this.$store.state.luma?.config}},methods:{onExtend(e,t){console.debug(`set config`,t),this.$store.commit(`luma/setConfig`,{...this.$store.state.luma?.config,video_id:t.video_id,prompt:t.prompt,action:`extend`,thumbnail_url:t.thumbnail_url,video_url:t.video_url}),this.$emit(`extend`)},onDownload(e){window.open(e,`_blank`)}}}),ut={class:`preview`},dt={class:`left`},ft={class:`main`},pt={class:`bot`},mt={class:`datetime`},ht={class:`info`},gt={key:0,class:`prompt mt-2`},_t={key:0},vt={key:1},yt={key:0,class:c({content:!0,failed:!0})},bt={key:0,class:`mb-4`},xt={key:1,class:c({operations:!0,"mt-2":!0,"mb-4":!0})},St={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ct={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},wt={key:1,class:c({content:!0})},Tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Et={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Dt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ot={key:2,class:c({content:!0})},kt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function At(e,r,a,s,c,f){let p=h(`el-image`),_=h(`video-player`),v=h(`el-button`),y=h(`el-tooltip`),b=h(`api-code-button`),x=h(`font-awesome-icon`),S=h(`copy-to-clipboard`),C=h(`el-alert`);return u(),t(`div`,ut,[n(`div`,dt,[o(p,{src:`https://cdn.acedata.cloud/ahjfwi.png`,class:`avatar`})]),n(`div`,ft,[n(`div`,pt,[i(l(e.$t(`luma.name.lumaBot`))+` `,1),n(`span`,mt,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,ht,[e.modelValue?.request?.prompt?(u(),t(`p`,gt,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?m(``,!0):(u(),t(`span`,_t,` - (`+l(e.$t(`luma.status.pending`))+`) `,1)),e.modelValue?.response?.state===`processing`||e.modelValue?.response?.state===`pending`?(u(),t(`span`,vt,` - (`+l(e.$t(`luma.status.processing`))+`) `,1)):m(``,!0)])):m(``,!0)]),e.modelValue?.response?.success===!0?(u(),t(`div`,yt,[e.modelValue.response.video_url?(u(),t(`div`,bt,[o(_,{src:e.modelValue.response.video_url},null,8,[`src`])])):m(``,!0),e.modelValue?.response&&!e.config?.custom?(u(),t(`div`,xt,[o(y,{class:`box-item`,effect:`dark`,content:e.$t(`luma.message.extendVideo`),placement:`top-start`},{default:g(()=>[o(v,{type:`info`,size:`small`,class:`btn-action`,onClick:r[0]||=d(t=>e.onExtend(t,e.modelValue?.response),[`stop`])},{default:g(()=>[i(l(e.$t(`luma.button.extend`)),1)]),_:1})]),_:1},8,[`content`]),o(y,{class:`box-item`,effect:`dark`,content:e.$t(`luma.message.downloadVideo`),placement:`top-start`},{default:g(()=>[o(v,{type:`info`,size:`small`,class:`btn-action`,onClick:r[1]||=d(t=>e.onDownload(e.modelValue?.response?.video_url),[`stop`])},{default:g(()=>[i(l(e.$t(`luma.button.download`)),1)]),_:1})]),_:1},8,[`content`]),o(b,{path:`/luma/videos`,body:e.modelValue?.request},null,8,[`body`])])):m(``,!0),o(C,{closable:!1,class:`mt-2 success`},{default:g(()=>[n(`p`,St,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(u(),t(`p`,Ct,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0)]),_:1})])):m(``,!0),e.modelValue?.response?.state===`failed`||e.modelValue?.response?.success===!1?(u(),t(`div`,wt,[o(C,{closable:!1,class:`failure`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failure`)),1)]),default:g(()=>[n(`p`,Tt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])]),n(`p`,Et,[o(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),o(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(u(),t(`p`,$,[o(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):m(``,!0),n(`p`,Dt,[o(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.traceId`))+`: `+l(e.modelValue?.trace_id)+` `,1),o(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):m(``,!0),!e.modelValue?.response||e.modelValue?.response?.state===`processing`||e.modelValue?.response?.state===`pending`?(u(),t(`div`,Ot,[o(C,{closable:!1,class:`info`},{template:g(()=>[o(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.failure`)),1)]),default:g(()=>[n(`p`,kt,[o(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`luma.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),o(S,{content:e.modelValue?.id},null,8,[`content`])])]),_:1})])):m(``,!0)])])}var jt=r({name:`RecentPanel`,components:{BotPlaceholder:K,TaskPreview:O(lt,[[`render`,At],[`__scopeId`,`data-v-9c354ffe`]]),NoTasks:q,ScrollList:H},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`,`extend`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.luma?.tasks,items:this.$store.state.luma?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Mt={key:0},Nt={key:2,class:`w-full h-full flex items-center justify-center`};function Pt(n,r,i,c,l,d){let f=h(`bot-placeholder`),p=h(`task-preview`),_=h(`scroll-list`),v=h(`no-tasks`);return u(),t(s,null,[n.tasks?.items===void 0?(u(),t(`div`,Mt,[o(f)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(u(),a(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:n.loading,onReachTop:r[1]||=e=>n.$emit(`reach-top`)},{default:g(()=>[(u(!0),t(s,null,e(n.tasks?.items,e=>(u(),a(p,{key:e.id,"model-value":e,onExtend:r[0]||=e=>n.$emit(`extend`)},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):m(``,!0),n.tasks?.items?.length===0?(u(),t(`div`,Nt,[o(v)])):m(``,!0)],64)}var Ft=r({name:`LumaIndex`,components:{ConfigPanel:ct,Layout:re,RecentPanel:O(jt,[[`render`,Pt]])},mixins:[T],inject:[`initialized`],emits:[`extend`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.luma?.status?.getApplications===k.Request},tasksLoading(){return this.$store.state.luma?.status?.getTasks===k.Request||this.fetchingTasks},credential(){return this.$store.state.luma.credential},config(){return this.$store.state.luma.config},application(){return this.$store.state.luma.application},tasks(){return this.$store.state.luma.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await U({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`luma/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`luma/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){console.debug(`scrolling down`),await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`luma/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!A(this.uploadTracker,e=>this.$t(e),e=>P.warning(e)))return;let e={...this.config,async:!0};if(!this.hasText(e.prompt)){P.error(this.$t(`luma.message.promptRequired`));return}if(e.prompt=e.prompt?.trim(),!ee())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}P.info(this.$t(`luma.message.startingTask`)),E(`luma`,N.generate(e,{token:t})).then(()=>{P.success(this.$t(`luma.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?P.error(this.$t(`luma.message.usedUp`)):P.error(this.$t(`luma.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()},hasText(e){return typeof e==`string`&&e.trim().length>0}}});function It(e,t,n,r,i,s){let c=h(`config-panel`),l=h(`recent-panel`),d=h(`layout`);return u(),a(d,null,{config:g(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:g(()=>[o(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop,onExtend:t[0]||=t=>e.$emit(`extend`)},null,8,[`loading`,`onReachTop`])]),_:1})}var Lt=O(Ft,[[`render`,It]]);export{Lt as default};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Wt as c,Z as l,dt as u,nt as d,tt as f,ut as p}from"./vendor-chart-BJCvKk8-.js";import{t as m}from"./button-BydTr5nV.js";import{r as h,t as g}from"./select-BdRfhFiQ.js";import{n as _,t as v}from"./table-BJr3w4hQ.js";import{t as y}from"./card-DjyfNde2.js";import{t as b}from"./date-picker-BeHFlqbW.js";import{n as x,t as S}from"./row-BRzneEdS.js";import{t as C}from"./Pagination-H17MTYYL.js";import{t as w}from"./skeleton-BwNBivMN.js";import{Er as T,Ln as E,O as D,Qr as O,Wt as k}from"./index-BagZk06I.js";import{t as A}from"./index.es-B2VlwOr_.js";import{t as j}from"./CopyToClipboard-BJ4cWa_D.js";var M={total_count:0,total_spent:0,state_counts:{}},N=r({name:`ConsoleOrderList`,components:{Pagination:C,CopyToClipboard:j,ElRow:S,ElCol:x,ElTable:v,ElTableColumn:_,ElButton:m,ElTag:O,ElCard:y,ElSelect:h,ElOption:g,ElDatePicker:b,ElSkeleton:w,FontAwesomeIcon:A},data(){return{OrderState:T,orders:[],loading:!1,total:void 0,limit:10,filterState:this.$route.query.state?.toString()||``,filterPayWay:this.$route.query.pay_way?.toString()||``,createdAtRange:(()=>{let e=this.$route.query.created_at_from?.toString(),t=this.$route.query.created_at_to?.toString();if(e&&t)return[new Date(e),new Date(t)]})(),summary:{...M},summaryLoading:!1,exporting:!1,shortcuts:[{text:this.$t(`usage.shortcuts.today`),value:()=>{let e=new Date,t=new Date;return t.setHours(0,0,0,0),[t,e]}},{text:this.$t(`usage.shortcuts.last7Days`),value:()=>{let e=new Date,t=new Date;return t.setDate(t.getDate()-7),[t,e]}},{text:this.$t(`usage.shortcuts.last1Month`),value:()=>{let e=new Date,t=new Date;return t.setMonth(t.getMonth()-1),[t,e]}}]}},computed:{page(){return parseInt(this.$route.query.page?.toString()||`1`)},stateOptions(){return[{value:T.PENDING,label:this.$t(`order.state.pending`)},{value:T.FINISHED,label:this.$t(`order.state.finished`)},{value:T.PAID,label:this.$t(`order.state.paid`)},{value:T.EXPIRED,label:this.$t(`order.state.expired`)},{value:T.FAILED,label:this.$t(`order.state.failed`)},{value:T.REFUNDED,label:this.$t(`order.state.refunded`)}]},payWayOptions(){return[{value:`WechatPay`,label:this.$t(`order.title.wechatPay`)},{value:`Stripe`,label:this.$t(`order.title.stripe`)},{value:`AliPay`,label:this.$t(`order.title.aliPay`)},{value:`X402`,label:this.$t(`order.title.x402`)},{value:`PayPal`,label:this.$t(`order.title.paypal`)}]},filterQuery(){let e={user_id:this.$store.getters.user?.id};return this.filterState&&(e.state=this.filterState),this.filterPayWay&&(e.pay_way=this.filterPayWay),this.createdAtRange?.[0]&&(e.created_at_from=this.createdAtRange[0]),this.createdAtRange?.[1]&&(e.created_at_to=this.createdAtRange[1]),e}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onFetchData(),this.onFetchSummary()},methods:{getPriceString:k,stateTagType(e){return e===T.FINISHED||e===T.PAID?`success`:e===T.EXPIRED||e===T.FAILED?`danger`:e===T.REFUNDED?`warning`:`info`},stateLabel(e){return{[T.PENDING]:this.$t(`order.state.pending`),[T.PAID]:this.$t(`order.state.paid`),[T.FINISHED]:this.$t(`order.state.finished`),[T.EXPIRED]:this.$t(`order.state.expired`),[T.FAILED]:this.$t(`order.state.failed`),[T.REFUNDED]:this.$t(`order.state.refunded`)}[e]||e},isPendingAction(e){return e!==T.PAID&&e!==T.FINISHED&&e!==T.EXPIRED&&e!==T.FAILED&&e!==T.REFUNDED},goToDetail(e){this.$router.push({name:`console-order-detail`,params:{id:e}})},async onFilterChange(){await this.$router.push({name:this.$route.name?.toString(),query:{page:1,...this.filterState?{state:this.filterState}:{},...this.filterPayWay?{pay_way:this.filterPayWay}:{},...this.createdAtRange?.[0]?{created_at_from:this.createdAtRange[0].toISOString()}:{},...this.createdAtRange?.[1]?{created_at_to:this.createdAtRange[1].toISOString()}:{}}}),this.onFetchData(),this.onFetchSummary()},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchData(){this.loading=!0,E.getAll({ordering:`-created_at`,limit:this.limit,offset:(this.page-1)*this.limit,...this.filterQuery}).then(({data:e})=>{this.orders=e.items,this.total=e.count}).catch(()=>{}).finally(()=>{this.loading=!1})},onFetchSummary(){this.summaryLoading=!0,E.getSummary(this.filterQuery).then(({data:e})=>{this.summary=e}).catch(()=>{this.summary={...M}}).finally(()=>{this.summaryLoading=!1})},onExport(){this.exporting=!0,E.exportCsv(this.filterQuery).then(({data:e})=>{let t=window.URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`orders.csv`,n.click(),window.URL.revokeObjectURL(t)}).catch(()=>{}).finally(()=>{this.exporting=!1})}}}),P={class:`title`},F={key:1,class:`card-content`},I={class:`icon-wrapper`},L={class:`description`},R={class:`value`},z={key:1,class:`card-content`},B={class:`icon-wrapper`},V={class:`description`},H={class:`value`},U={key:1,class:`card-content`},W={class:`icon-wrapper`},ee={class:`description`},G={class:`value`},K={key:1,class:`card-content`},q={class:`icon-wrapper`},J={class:`description`},Y={class:`value`},X={class:`filter-row mb-3`},Z={class:`key`},Q={class:`cursor-pointer`},$={class:`price`},te={class:`description`},ne={class:`text-gray-500`},re={class:`created-at`},ie={class:`flex items-center justify-center flex-wrap`},ae={class:`float-right`};function oe(r,m,h,g,_,v){let y=f(`el-col`),b=f(`el-row`),x=f(`el-skeleton`),S=f(`font-awesome-icon`),C=f(`el-card`),w=f(`el-option`),T=f(`el-select`),E=f(`el-date-picker`),D=f(`el-button`),O=f(`copy-to-clipboard`),k=f(`el-table-column`),A=f(`el-tag`),j=f(`el-table`),M=f(`pagination`),N=d(`loading`);return l(),a(b,{class:`panel`},{default:p(()=>[o(y,{span:24},{default:p(()=>[o(b,null,{default:p(()=>[o(y,{span:24},{default:p(()=>[n(`h2`,P,c(r.$t(`common.title.allOrders`)),1)]),_:1})]),_:1}),o(b,{gutter:16},{default:p(()=>[o(y,{md:6,sm:12,xs:24},{default:p(()=>[o(C,{shadow:`hover`,class:`item-mini mb-3`},{default:p(()=>[r.summaryLoading?(l(),a(x,{key:0})):(l(),t(`div`,F,[n(`div`,I,[o(S,{icon:`fa-solid fa-receipt`,class:`icon`})]),n(`p`,L,c(r.$t(`order.title.totalOrders`)),1),n(`p`,R,c(r.summary.total_count),1)]))]),_:1})]),_:1}),o(y,{md:6,sm:12,xs:24},{default:p(()=>[o(C,{shadow:`hover`,class:`item-mini mb-3`},{default:p(()=>[r.summaryLoading?(l(),a(x,{key:0})):(l(),t(`div`,z,[n(`div`,B,[o(S,{icon:`fa-solid fa-dollar-sign`,class:`icon`})]),n(`p`,V,c(r.$t(`order.title.totalSpent`)),1),n(`p`,H,c(r.getPriceString({value:r.summary.total_spent})),1)]))]),_:1})]),_:1}),o(y,{md:6,sm:12,xs:24},{default:p(()=>[o(C,{shadow:`hover`,class:`item-mini mb-3`},{default:p(()=>[r.summaryLoading?(l(),a(x,{key:0})):(l(),t(`div`,U,[n(`div`,W,[o(S,{icon:`fa-solid fa-check-circle`,class:`icon`})]),n(`p`,ee,c(r.$t(`order.title.finishedOrders`)),1),n(`p`,G,c(r.summary.state_counts?.Finished||0),1)]))]),_:1})]),_:1}),o(y,{md:6,sm:12,xs:24},{default:p(()=>[o(C,{shadow:`hover`,class:`item-mini mb-3`},{default:p(()=>[r.summaryLoading?(l(),a(x,{key:0})):(l(),t(`div`,K,[n(`div`,q,[o(S,{icon:`fa-solid fa-clock`,class:`icon`})]),n(`p`,J,c(r.$t(`order.title.pendingOrders`)),1),n(`p`,Y,c(r.summary.state_counts?.Pending||0),1)]))]),_:1})]),_:1})]),_:1}),n(`div`,X,[o(T,{modelValue:r.filterState,"onUpdate:modelValue":m[0]||=e=>r.filterState=e,clearable:``,placeholder:r.$t(`order.field.allStates`),class:`filter-select`,onChange:r.onFilterChange},{default:p(()=>[(l(!0),t(s,null,e(r.stateOptions,e=>(l(),a(w,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),o(T,{modelValue:r.filterPayWay,"onUpdate:modelValue":m[1]||=e=>r.filterPayWay=e,clearable:``,placeholder:r.$t(`order.field.allPayWays`),class:`filter-select`,onChange:r.onFilterChange},{default:p(()=>[(l(!0),t(s,null,e(r.payWayOptions,e=>(l(),a(w,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),o(E,{modelValue:r.createdAtRange,"onUpdate:modelValue":m[2]||=e=>r.createdAtRange=e,type:`datetimerange`,shortcuts:r.shortcuts,"range-separator":r.$t(`usage.placeholder.to`),"start-placeholder":r.$t(`usage.placeholder.startDate`),"end-placeholder":r.$t(`usage.placeholder.endDate`),onChange:r.onFilterChange},null,8,[`modelValue`,`shortcuts`,`range-separator`,`start-placeholder`,`end-placeholder`,`onChange`]),o(D,{type:`primary`,plain:``,loading:r.exporting,onClick:r.onExport},{default:p(()=>[o(S,{icon:`fa-solid fa-file-export`,class:`mr-1`}),i(` `+c(r.$t(`order.button.export`)),1)]),_:1},8,[`loading`,`onClick`])]),o(b,null,{default:p(()=>[o(y,{span:24},{default:p(()=>[o(C,{shadow:`hover`},{default:p(()=>[u((l(),a(j,{data:r.orders,stripe:``,"empty-text":r.$t(`common.message.noData`),class:`min-h-[calc(100vh-450px)] mb-[20px]`},{default:p(()=>[o(k,{prop:`id`,label:r.$t(`order.field.id`),"class-name":`text-center`,width:`200px`},{default:p(e=>[n(`span`,Z,c(e.row.id),1),n(`span`,Q,[o(O,{content:e.row.id,class:`inline-block`},null,8,[`content`])])]),_:1},8,[`label`]),o(k,{label:r.$t(`order.field.price`),width:`110px`,align:`center`},{default:p(e=>[n(`span`,$,c(r.getPriceString({value:e.row?.price})),1)]),_:1},8,[`label`]),o(k,{label:r.$t(`order.field.description`),"min-width":`220px`,"class-name":`hidden md:table-cell`,"label-class-name":`hidden md:table-cell`},{default:p(e=>[n(`span`,te,c(e.row.description),1)]),_:1},8,[`label`]),o(k,{prop:`state`,label:r.$t(`order.field.state`),width:`130px`,align:`center`},{default:p(e=>[o(A,{type:r.stateTagType(e.row.state),class:`mx-1`,effect:`dark`,round:``,size:`small`},{default:p(()=>[i(c(r.stateLabel(e.row.state)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),o(k,{label:r.$t(`order.field.payWay`),width:`120px`,align:`center`,"class-name":`hidden md:table-cell`,"label-class-name":`hidden md:table-cell`},{default:p(e=>[n(`span`,ne,c(e.row.pay_way||`-`),1)]),_:1},8,[`label`]),o(k,{label:r.$t(`order.field.createdAt`),width:`200px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:p(e=>[n(`span`,re,c(r.$dayjs.format(e.row.created_at)),1)]),_:1},8,[`label`]),o(k,{"min-width":`130px`,fixed:`right`},{default:p(e=>[n(`div`,ie,[r.isPendingAction(e.row.state)?(l(),a(D,{key:0,type:`primary`,size:`small`,onClick:t=>r.goToDetail(e.row.id)},{default:p(()=>[i(c(r.$t(`order.button.continuePay`)),1)]),_:1},8,[`onClick`])):(l(),a(D,{key:1,size:`small`,onClick:t=>r.goToDetail(e.row.id)},{default:p(()=>[i(c(r.$t(`order.button.checkDetail`)),1)]),_:1},8,[`onClick`]))])]),_:1})]),_:1},8,[`data`,`empty-text`])),[[N,r.loading]])]),_:1})]),_:1})]),_:1}),o(b,null,{default:p(()=>[o(y,{span:10,offset:14},{default:p(()=>[n(`div`,ae,[o(M,{"current-page":r.page,"page-size":r.limit,total:r.total,onChange:r.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var se=D(N,[[`render`,oe],[`__scopeId`,`data-v-350ab467`]]);export{se as default};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as ee,Vt as s,Wt as c,Z as l,b as u,k as d,tt as f,ut as p}from"./vendor-chart-BJCvKk8-.js";import{t as m}from"./button-BydTr5nV.js";import{t as h}from"./upload-DT_UdtVs.js";import{t as g}from"./image-Dq96Xper.js";import{t as _}from"./alert-CuX4SjQB.js";import{n as v,r as y}from"./radio-3Hz7h3DR.js";import{t as b}from"./switch-kHjfJuQ2.js";import{t as x}from"./vendor-axios-Ck2ffRoh.js";import"./constants-DNpQuSUd.js";import{Lr as S,O as C,Zt as w,an as T,ei as te,qr as E,tt as D,zt as O}from"./index-BagZk06I.js";import{t as k}from"./index.es-B2VlwOr_.js";import{t as A}from"./CopyToClipboard-BJ4cWa_D.js";import{t as j}from"./BotPlaceholder-XVpggWts.js";import{t as M}from"./Hailuo-x29FeIOy.js";import{t as N}from"./TabSwitcher-Dm6iRMbh.js";var P=4,F=90,I=r({name:`FishRecorder`,components:{ElButton:m,FontAwesomeIcon:k},emits:[`done`,`cancel`,`update:script`],data(){return{state:`idle`,scriptIndex:0,seconds:0,timerId:0,maxTimerId:0,mediaRecorder:null,stream:null,chunks:[],recordedBlob:null,recordedUrl:``,uploading:!1}},computed:{formattedTime(){let e=Math.floor(this.seconds/60),t=this.seconds%60;return`${e.toString().padStart(2,`0`)}:${t.toString().padStart(2,`0`)}`},currentScript(){let e=`fish.script.passage${this.scriptIndex%P+1}`;return this.$t(e)}},beforeUnmount(){this.cleanup()},mounted(){this.$emit(`update:script`,this.currentScript)},methods:{nextScript(){this.scriptIndex=(this.scriptIndex+1)%P,this.$emit(`update:script`,this.currentScript)},async startRecord(){if(!navigator.mediaDevices?.getUserMedia||typeof MediaRecorder>`u`){E.error(this.$t(`fish.message.recorderUnsupported`));return}try{this.stream=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(e){let t=e?.name===`NotAllowedError`||e?.name===`PermissionDeniedError`;E.error(this.$t(t?`fish.message.micDenied`:`fish.message.micError`));return}this.chunks=[];let e=this.pickMimeType();try{this.mediaRecorder=e?new MediaRecorder(this.stream,{mimeType:e}):new MediaRecorder(this.stream)}catch{this.mediaRecorder=new MediaRecorder(this.stream)}this.mediaRecorder.ondataavailable=e=>{e.data&&e.data.size>0&&this.chunks.push(e.data)},this.mediaRecorder.onstop=()=>{let e=new Blob(this.chunks,{type:this.mediaRecorder?.mimeType||`audio/webm`});this.recordedBlob=e,this.recordedUrl=URL.createObjectURL(e),this.state=`recorded`,this.releaseStream()},this.mediaRecorder.start(),this.state=`recording`,this.seconds=0,this.timerId=window.setInterval(()=>{this.seconds++},1e3),this.maxTimerId=window.setTimeout(()=>{this.state===`recording`&&this.stopRecord()},F*1e3)},stopRecord(){this.mediaRecorder&&this.mediaRecorder.state!==`inactive`&&this.mediaRecorder.stop(),window.clearInterval(this.timerId),window.clearTimeout(this.maxTimerId)},reset(){this.recordedUrl&&URL.revokeObjectURL(this.recordedUrl),this.recordedUrl=``,this.recordedBlob=null,this.state=`idle`,this.seconds=0},onCancel(){this.cleanup(),this.$emit(`cancel`)},cleanup(){this.stopRecord(),this.releaseStream(),this.recordedUrl&&URL.revokeObjectURL(this.recordedUrl)},releaseStream(){this.stream?.getTracks().forEach(e=>e.stop()),this.stream=null},pickMimeType(){for(let e of[`audio/webm;codecs=opus`,`audio/webm`,`audio/mp4`,`audio/ogg`])if(typeof MediaRecorder<`u`&&MediaRecorder.isTypeSupported?.(e))return e},extensionForMime(e){return e.includes(`webm`)?`webm`:e.includes(`mp4`)?`m4a`:e.includes(`ogg`)?`ogg`:e.includes(`wav`)?`wav`:`mp3`},async useRecording(){if(this.recordedBlob){if(this.seconds<3){E.warning(this.$t(`fish.message.recordingTooShort`));return}this.uploading=!0;try{let e=this.$store.state.token?.access,t=this.extensionForMime(this.recordedBlob.type||``),n=new File([this.recordedBlob],`recording-${Date.now()}.${t}`,{type:this.recordedBlob.type||`audio/webm`}),r=new FormData;r.append(`file`,n);let{data:i}=await x.post(`${S()}/api/v1/files/`,r,{headers:{Authorization:`Bearer ${e}`}}),a=i?.file_url;if(!a){E.error(this.$t(`fish.message.uploadError`));return}this.$emit(`done`,{url:a,text:this.currentScript})}catch(e){E.error(this.$t(`fish.message.uploadError`)),console.error(`recorder upload failed`,e)}finally{this.uploading=!1}}}}}),L={class:`recorder`},R={key:0,class:`script`},z={class:`script-header`},B={class:`label`},V={class:`script-text`},H={class:`controls`},U={class:`status`},W={class:`hint`},G={key:1,class:`preview`},K=[`src`],q={class:`preview-actions`},J={class:`footer`};function Y(e,r,ee,u,m,h){let g=f(`font-awesome-icon`),_=f(`el-button`);return l(),t(`div`,L,[e.state===`recorded`?d(``,!0):(l(),t(`div`,R,[n(`div`,z,[o(g,{icon:`fa-solid fa-book-open`,class:`icon mr-1`}),n(`span`,B,c(e.$t(`fish.description.readScript`)),1),o(_,{link:``,size:`small`,class:`ml-auto`,disabled:e.state===`recording`,onClick:e.nextScript},{default:p(()=>[o(g,{icon:`fa-solid fa-shuffle`,class:`mr-1`}),i(` `+c(e.$t(`fish.button.nextScript`)),1)]),_:1},8,[`disabled`,`onClick`])]),n(`p`,V,c(e.currentScript),1)])),n(`div`,H,[e.state===`idle`?(l(),a(_,{key:0,type:`danger`,circle:``,size:`large`,title:e.$t(`fish.button.startRecord`),onClick:e.startRecord},{default:p(()=>[o(g,{icon:`fa-solid fa-microphone`})]),_:1},8,[`title`,`onClick`])):e.state===`recording`?(l(),a(_,{key:1,type:`warning`,circle:``,size:`large`,title:e.$t(`fish.button.stopRecord`),onClick:e.stopRecord},{default:p(()=>[o(g,{icon:`fa-solid fa-stop`})]),_:1},8,[`title`,`onClick`])):d(``,!0),n(`div`,U,[n(`span`,{class:s([`timer`,e.state===`recording`?`live`:``])},c(e.formattedTime),3),n(`span`,W,c(e.state===`idle`?e.$t(`fish.description.recorderIdle`):e.state===`recording`?e.$t(`fish.description.recorderRecording`):e.$t(`fish.description.recorderRecorded`)),1)])]),e.state===`recorded`&&e.recordedUrl?(l(),t(`div`,G,[n(`audio`,{src:e.recordedUrl,controls:``,preload:`metadata`,class:`w-full`},null,8,K),n(`div`,q,[o(_,{size:`small`,disabled:e.uploading,onClick:e.reset},{default:p(()=>[o(g,{icon:`fa-solid fa-rotate-left`,class:`mr-1`}),i(` `+c(e.$t(`fish.button.reRecord`)),1)]),_:1},8,[`disabled`,`onClick`]),o(_,{size:`small`,type:`primary`,loading:e.uploading,onClick:e.useRecording},{default:p(()=>[o(g,{icon:`fa-solid fa-check`,class:`mr-1`}),i(` `+c(e.$t(`fish.button.useRecording`)),1)]),_:1},8,[`loading`,`onClick`])])])):d(``,!0),n(`div`,J,[o(_,{link:``,size:`small`,disabled:e.uploading||e.state===`recording`,onClick:e.onCancel},{default:p(()=>[i(c(e.$t(`fish.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var X=C(I,[[`render`,Y],[`__scopeId`,`data-v-1958e4a1`]]),Z=50*1024*1024,Q=()=>({title:``,description:``,texts:``,voicesUrl:``,visibility:`unlist`,trainMode:`fast`,enhanceAudio:!0,generateSample:!1}),ne=r({name:`FishModelConfigPanel`,components:{ElButton:m,ElInput:te,ElRadioButton:v,ElRadioGroup:y,ElSwitch:b,ElUpload:h,FontAwesomeIcon:k,Recorder:X},mixins:[O],emits:[`create`],data(){return{form:Q(),fileList:[],uploading:!1,creating:!1,recording:!1,textsAuto:!0}},computed:{uploadUrl(){return S()+`/api/v1/files/`},uploadHeaders(){return{Authorization:`Bearer ${this.$store.state.token?.access}`}},canCreate(){return!!this.form.title.trim()&&!!this.form.voicesUrl&&!this.uploading&&!this.creating},supportsRecorder(){return!!(typeof navigator<`u`?navigator.mediaDevices:void 0)?.getUserMedia&&typeof MediaRecorder<`u`}},methods:{onBeforeUpload(e){return e.size>Z?(E.warning(this.$t(`fish.message.audioSizeExceed`)),!1):(this.uploading=!0,!0)},onExceed(){E.warning(this.$t(`fish.message.audioOnlyOne`))},onUploadError(){this.uploading=!1,E.error(this.$t(`fish.message.uploadError`))},onUploadSuccess(e,t,n){this.uploading=!1;let r=e?.file_url;if(!r){E.error(this.$t(`fish.message.uploadError`)),this.fileList=[];return}this.form.voicesUrl=r,this.fileList=n},onRecorded(e){this.form.voicesUrl=e.url,this.recording=!1,e.text&&this.textsAuto&&(this.form.texts=e.text)},onStartRecord(){this.recording=!0,this.textsAuto=!this.form.texts.trim()},onScriptChange(e){this.textsAuto&&this.recording&&(this.form.texts=e)},onTextsInput(){this.textsAuto=!1},clearAudio(){this.form.voicesUrl=``,this.fileList=[]},onCreate(){let e=this.form.title.trim();if(!e){E.warning(this.$t(`fish.message.titleRequired`));return}if(!this.form.voicesUrl){E.warning(this.$t(`fish.message.audioRequired`));return}let t={title:e,voices:this.form.voicesUrl,visibility:this.form.visibility,train_mode:this.form.trainMode,enhance_audio_quality:this.form.enhanceAudio,generate_sample:this.form.generateSample};this.form.description.trim()&&(t.description=this.form.description.trim()),this.form.texts.trim()&&(t.texts=[this.form.texts.trim()]),this.creating=!0,this.$emit(`create`,t),setTimeout(()=>{this.creating=!1,this.form=Q(),this.fileList=[]},600)}}}),re={class:`flex flex-col h-full`},ie={class:`flex-1 overflow-y-auto p-5`},ae={class:`field-block mb-4`},oe={class:`title font-bold`},se={class:`field-block mb-4`},ce={class:`flex items-baseline justify-between mb-1`},le={class:`title font-bold`},ue={key:0,class:`muted`},de={class:`hint`},fe={key:0,class:`audio-actions`},pe={key:1,class:`hint warn`},me={key:3,class:`mt-2`},he=[`src`],ge={class:`ready-actions`},_e={class:`field-block mb-4`},ve={class:`title font-bold`},ye={class:`hint`},be={class:`field-block mb-4`},xe={class:`title font-bold`},Se={class:`field-block mb-4`},Ce={class:`title font-bold`},we={class:`field-block mb-4`},Te={class:`title font-bold`},Ee={class:`field-block mb-3`},De={class:`field-row`},Oe={class:`title font-bold`},ke={class:`hint mt-0 mb-0`},Ae={class:`field-block mb-2`},je={class:`field-row`},Me={class:`title font-bold`},Ne={class:`hint mt-0 mb-0`},Pe={class:`flex flex-col items-center justify-center px-5 pb-5`};function Fe(e,r,ee,s,u,m){let h=f(`el-input`),g=f(`font-awesome-icon`),_=f(`el-button`),v=f(`el-upload`),y=f(`recorder`),b=f(`el-radio-button`),x=f(`el-radio-group`),S=f(`el-switch`);return l(),t(`div`,re,[n(`div`,ie,[n(`div`,ae,[n(`h2`,oe,[i(c(e.$t(`fish.name.voiceTitle`))+` `,1),r[9]||=n(`span`,{class:`required`},`*`,-1)]),o(h,{modelValue:e.form.title,"onUpdate:modelValue":r[0]||=t=>e.form.title=t,placeholder:e.$t(`fish.placeholder.voiceTitle`),maxlength:`60`},null,8,[`modelValue`,`placeholder`])]),n(`div`,se,[n(`div`,ce,[n(`h2`,le,[i(c(e.$t(`fish.name.referenceAudio`))+` `,1),r[10]||=n(`span`,{class:`required`},`*`,-1)]),!e.form.voicesUrl&&!e.recording?(l(),t(`span`,ue,c(e.$t(`fish.description.audioRequired`)),1)):d(``,!0)]),n(`p`,de,c(e.$t(`fish.description.uploadAudio`)),1),!e.form.voicesUrl&&!e.recording?(l(),t(`div`,fe,[o(v,{"file-list":e.fileList,"onUpdate:fileList":r[1]||=t=>e.fileList=t,name:`file`,limit:1,class:`upload-wrapper`,action:e.uploadUrl,accept:`.mp3,.wav,.m4a,.ogg,.webm,audio/*`,"show-file-list":!1,"on-exceed":e.onExceed,"on-error":e.onUploadError,"on-success":e.onUploadSuccess,"before-upload":e.onBeforeUpload,headers:e.uploadHeaders},{default:p(()=>[o(_,{type:`primary`,plain:``,round:``,loading:e.uploading},{default:p(()=>[o(g,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+c(e.$t(`fish.button.uploadAudio`)),1)]),_:1},8,[`loading`])]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`before-upload`,`headers`]),o(_,{type:`primary`,round:``,disabled:!e.supportsRecorder,onClick:e.onStartRecord},{default:p(()=>[o(g,{icon:`fa-solid fa-microphone`,class:`icon mr-1`}),i(` `+c(e.$t(`fish.button.recordAudio`)),1)]),_:1},8,[`disabled`,`onClick`])])):d(``,!0),!e.supportsRecorder&&!e.form.voicesUrl&&!e.recording?(l(),t(`p`,pe,c(e.$t(`fish.message.recorderUnsupported`)),1)):d(``,!0),e.recording?(l(),a(y,{key:2,class:`mt-2`,onDone:e.onRecorded,onCancel:r[2]||=t=>e.recording=!1,"onUpdate:script":e.onScriptChange},null,8,[`onDone`,`onUpdate:script`])):d(``,!0),e.form.voicesUrl&&!e.recording?(l(),t(`div`,me,[n(`audio`,{src:e.form.voicesUrl,controls:``,preload:`metadata`,class:`w-full`},null,8,he),n(`div`,ge,[o(_,{link:``,size:`small`,onClick:e.clearAudio},{default:p(()=>[o(g,{icon:`fa-solid fa-rotate-left`,class:`mr-1`}),i(` `+c(e.$t(`fish.button.replaceAudio`)),1)]),_:1},8,[`onClick`])])])):d(``,!0)]),n(`div`,_e,[n(`h2`,ve,c(e.$t(`fish.name.audioTexts`)),1),n(`p`,ye,c(e.$t(`fish.description.audioTexts`)),1),o(h,{modelValue:e.form.texts,"onUpdate:modelValue":r[3]||=t=>e.form.texts=t,type:`textarea`,rows:2,placeholder:e.$t(`fish.placeholder.audioTexts`),maxlength:`500`,onInput:e.onTextsInput},null,8,[`modelValue`,`placeholder`,`onInput`])]),n(`div`,be,[n(`h2`,xe,c(e.$t(`fish.name.voiceDescription`)),1),o(h,{modelValue:e.form.description,"onUpdate:modelValue":r[4]||=t=>e.form.description=t,type:`textarea`,rows:2,placeholder:e.$t(`fish.placeholder.voiceDescription`),maxlength:`500`},null,8,[`modelValue`,`placeholder`])]),n(`div`,Se,[n(`h2`,Ce,c(e.$t(`fish.name.visibility`)),1),o(x,{modelValue:e.form.visibility,"onUpdate:modelValue":r[5]||=t=>e.form.visibility=t,size:`small`},{default:p(()=>[o(b,{label:`private`,value:`private`},{default:p(()=>[i(c(e.$t(`fish.value.private`)),1)]),_:1}),o(b,{label:`unlist`,value:`unlist`},{default:p(()=>[i(c(e.$t(`fish.value.unlist`)),1)]),_:1}),o(b,{label:`public`,value:`public`},{default:p(()=>[i(c(e.$t(`fish.value.public`)),1)]),_:1})]),_:1},8,[`modelValue`])]),n(`div`,we,[n(`h2`,Te,c(e.$t(`fish.name.trainMode`)),1),o(x,{modelValue:e.form.trainMode,"onUpdate:modelValue":r[6]||=t=>e.form.trainMode=t,size:`small`},{default:p(()=>[o(b,{label:`fast`,value:`fast`},{default:p(()=>[i(c(e.$t(`fish.value.trainModeFast`)),1)]),_:1}),o(b,{label:`precise`,value:`precise`},{default:p(()=>[i(c(e.$t(`fish.value.trainModePrecise`)),1)]),_:1})]),_:1},8,[`modelValue`])]),n(`div`,Ee,[n(`div`,De,[n(`h2`,Oe,c(e.$t(`fish.name.enhanceAudio`)),1),o(S,{modelValue:e.form.enhanceAudio,"onUpdate:modelValue":r[7]||=t=>e.form.enhanceAudio=t},null,8,[`modelValue`])]),n(`p`,ke,c(e.$t(`fish.description.enhanceAudio`)),1)]),n(`div`,Ae,[n(`div`,je,[n(`h2`,Me,c(e.$t(`fish.name.generateSample`)),1),o(S,{modelValue:e.form.generateSample,"onUpdate:modelValue":r[8]||=t=>e.form.generateSample=t},null,8,[`modelValue`])]),n(`p`,Ne,c(e.$t(`fish.description.generateSample`)),1)])]),n(`div`,Pe,[o(_,{type:`primary`,class:`btn w-full`,round:``,disabled:!e.canCreate||e.creating,loading:e.creating,onClick:e.onCreate},{default:p(()=>[o(g,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+c(e.$t(`fish.button.createModel`)),1)]),_:1},8,[`disabled`,`loading`,`onClick`])])])}var Ie=C(ne,[[`render`,Fe],[`__scopeId`,`data-v-d8fc0e55`]]),Le=r({name:`FishVoiceCard`,components:{ElAlert:_,ElButton:m,ElImage:g,CopyToClipboard:A,FontAwesomeIcon:k},props:{modelValue:{type:Object,required:!0}},computed:{sampleAudioUrl(){let e=this.modelValue?.samples;if(e?.length)return e[0]?.audio},voiceId(){let e=this.modelValue;return(e?.id||e?._id||e?.reference_id||``).toString()},coverSrc(){let e=this.modelValue?.cover_image;return e&&typeof e==`string`?e:void 0},createdAtLabel(){let e=this.modelValue?.created_at;if(e==null||e===``)return null;let t=typeof e==`number`?e:parseFloat(String(e));return!Number.isFinite(t)||t<=0?null:this.$dayjs.format(``+new Date(t*1e3))}},methods:{onUseVoice(){let e=this.voiceId;e&&(this.$store.commit(`fish/setConfig`,{...this.$store.state.fish?.config,reference_id:e}),this.$router.push({name:D}))}}}),Re={class:`card`},ze={class:`left`},Be={class:`main`},Ve={class:`header`},He={class:`title`},Ue={key:0,class:`datetime`},We={key:0,class:`description`},Ge={key:1,class:`sample mt-2`},Ke=[`src`],qe={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Je={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ye={class:`operations mt-2`};function Xe(e,r,ee,s,m,h){let g=f(`el-image`),_=f(`font-awesome-icon`),v=f(`copy-to-clipboard`),y=f(`el-alert`),b=f(`el-button`);return l(),t(`div`,Re,[n(`div`,ze,[e.coverSrc?(l(),a(g,{key:0,src:e.coverSrc,class:`cover`,fit:`cover`},{error:p(()=>[o(g,{src:`https://cdn.acedata.cloud/e40fccc727.png`,class:`cover fallback`,fit:`cover`})]),placeholder:p(()=>[...r[0]||=[n(`div`,{class:`cover placeholder`},null,-1)]]),_:1},8,[`src`])):(l(),a(g,{key:1,src:`https://cdn.acedata.cloud/e40fccc727.png`,class:`cover fallback`,fit:`cover`}))]),n(`div`,Be,[n(`div`,Ve,[n(`span`,He,c(e.modelValue?.title||e.$t(`fish.name.untitledVoice`)),1),e.createdAtLabel?(l(),t(`span`,Ue,c(e.createdAtLabel),1)):d(``,!0)]),e.modelValue?.description?(l(),t(`p`,We,c(e.modelValue?.description),1)):d(``,!0),e.sampleAudioUrl?(l(),t(`div`,Ge,[n(`audio`,{src:e.sampleAudioUrl,controls:``,preload:`metadata`,class:`w-full`},null,8,Ke)])):d(``,!0),o(y,{closable:!1,class:`mt-2 success`},{default:p(()=>[e.voiceId?(l(),t(`p`,qe,[o(_,{icon:`fa-solid fa-microphone`,class:`mr-1`}),i(` `+c(e.$t(`fish.name.referenceId`))+`: `+c(e.voiceId)+` `,1),o(v,{content:e.voiceId},null,8,[`content`])])):d(``,!0),e.modelValue?.visibility?(l(),t(`p`,Je,[o(_,{icon:`fa-solid fa-eye`,class:`mr-1`}),i(` `+c(e.$t(`fish.name.visibility`))+`: `+c(e.modelValue?.visibility),1)])):d(``,!0)]),_:1}),n(`div`,Ye,[o(b,{type:`primary`,size:`small`,plain:``,disabled:!e.voiceId,onClick:u(e.onUseVoice,[`stop`])},{default:p(()=>[o(_,{icon:`fa-solid fa-volume-high`,class:`mr-1`}),i(` `+c(e.$t(`fish.button.useVoice`)),1)]),_:1},8,[`disabled`,`onClick`])])])])}var Ze=r({name:`FishModelListPanel`,components:{VoiceCard:C(Le,[[`render`,Xe],[`__scopeId`,`data-v-629e2d04`]]),BotPlaceholder:j,FontAwesomeIcon:k},props:{loading:{type:Boolean,default:!1}},computed:{voices(){return this.$store.state.fish?.voices}}}),Qe={class:`model-list-panel flex flex-col h-full`},$e={class:`header`},et={class:`title`},tt={key:0,class:`count`},$={class:`body flex-1 min-h-0`},nt={key:0,class:`h-full`},rt={key:1,class:`w-full h-full flex flex-col items-center justify-center text-center px-6`},it={class:`empty-title`},at={class:`empty-hint`},ot={key:2,class:`w-full h-full overflow-y-auto pr-1`};function st(r,i,s,u,p,m){let h=f(`bot-placeholder`),g=f(`font-awesome-icon`),_=f(`voice-card`);return l(),t(`div`,Qe,[n(`header`,$e,[n(`h2`,et,c(r.$t(`fish.title.myVoices`)),1),r.voices?.length?(l(),t(`span`,tt,c(r.voices?.length),1)):d(``,!0)]),n(`div`,$,[r.voices===void 0?(l(),t(`div`,nt,[o(h)])):r.voices.length===0?(l(),t(`div`,rt,[o(g,{icon:`fa-solid fa-microphone-lines`,class:`empty-icon`}),n(`p`,it,c(r.$t(`fish.title.noVoicesYet`)),1),n(`p`,at,c(r.$t(`fish.description.noVoicesYet`)),1)])):(l(),t(`div`,ot,[(l(!0),t(ee,null,e(r.voices,e=>(l(),a(_,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]))])])}var ct=r({name:`FishModelIndex`,components:{ModelConfigPanel:Ie,Layout:M,ModelListPanel:C(Ze,[[`render`,st],[`__scopeId`,`data-v-4aab2294`]]),TabSwitcher:N},inject:[`initialized`],data(){return{loading:!1}},computed:{credential(){return this.$store.state.fish?.credential}},watch:{initialized:{async handler(e){e&&await this.onGetVoices()},immediate:!0}},async mounted(){await this.onGetService()},methods:{async onGetService(){await this.$store.dispatch(`fish/getService`)},async onGetVoices(){await this.$store.dispatch(`fish/getVoices`)},async onCreate(e){if(!w())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}this.loading=!0,E.info(this.$t(`fish.message.creatingModel`));try{await T.createModel(e,{token:t}),E.success(this.$t(`fish.message.createModelSuccess`)),await this.onGetVoices()}catch(e){let t=e?.response?.data;t?.error?.code===`used_up`?E.error(this.$t(`fish.message.usedUp`)):E.error(t?.error?.message||this.$t(`fish.message.createModelFailed`))}finally{this.loading=!1}}}}),lt={class:`flex flex-col h-full`},ut={class:`flex-1 min-h-0`};function dt(e,t,r,i,ee,s){let c=f(`tab-switcher`),u=f(`model-config-panel`),d=f(`model-list-panel`),m=f(`layout`);return l(),a(m,null,{config:p(()=>[n(`div`,lt,[o(c),n(`div`,ut,[o(u,{onCreate:e.onCreate},null,8,[`onCreate`])])])]),result:p(()=>[o(d,{loading:e.loading},null,8,[`loading`])]),_:1})}var ft=C(ct,[[`render`,dt]]);export{ft as default};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,D as t,F as n,N as r,O as i,P as a,S as o,Vt as s,Wt as c,Z as l,k as u,tt as d,ut as f}from"./vendor-chart-BJCvKk8-.js";import{t as p}from"./button-BydTr5nV.js";import{t as m}from"./alert-CuX4SjQB.js";import{t as ee}from"./card-DjyfNde2.js";import{n as h,t as g}from"./row-BRzneEdS.js";import{i as _,n as v,r as y,t as b}from"./wechat-PkpfOytf.js";import{t as x}from"./divider-LA__Fty9.js";import{t as S}from"./skeleton-BwNBivMN.js";import{Er as C,Kt as w,Ln as T,O as E,Pt as D,Qr as O,Rr as k,Vr as A,Wt as te,Xr as j,qr as M}from"./index-BagZk06I.js";import{t as N}from"./CopyToClipboard-BJ4cWa_D.js";var P=n({name:`PublicWechatPayDialog`,components:{ElDialog:j,ElButton:p,QrCode:D,ElRow:g,ElCol:h},props:{order:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:[`hide`],data(){return{copied:!1,copiedTimer:void 0}},computed:{isMobileOutsideWechat(){return v()&&!b()},isMobileInsideWechat(){return v()&&b()},dialogWidth(){return this.isMobileOutsideWechat||this.isMobileInsideWechat?`90%`:`500px`}},unmounted(){this.copiedTimer&&clearTimeout(this.copiedTimer)},methods:{async onCopyLink(){let e=typeof window<`u`?window.location.href:``;if(!e)return;let t=!1;try{t=await w(e,{debug:!1})}catch{t=!1}t?(this.copied=!0,this.copiedTimer&&clearTimeout(this.copiedTimer),this.copiedTimer=window.setTimeout(()=>{this.copied=!1},2e3)):M.error(String(this.$t(`common.message.copyFailed`)||`Copy failed`))}}}),F={key:0,class:`wechat-pay-mobile text-center py-[20px] px-[10px]`},I={class:`text-[14px] mb-3 leading-relaxed`},L={class:`text-[12px] text-gray-500 mb-4 leading-relaxed`},R={key:1,class:`wechat-pay-longpress text-center py-[20px] px-[10px]`},z={class:`text-[14px] mb-4 leading-relaxed`},B={class:`paycode wechat`},V={class:`help-text block bg-[#00c800] text-white text-[14px] h-[35px] w-[240px] text-center leading-[35px] mt-[10px] mx-auto`};function H(n,o,s,p,m,ee){let h=d(`qr-code`),g=d(`el-button`),_=d(`el-col`),v=d(`el-row`),y=d(`el-dialog`);return l(),i(y,{"model-value":n.visible,title:n.$t(`application.title.buyService`),width:n.dialogWidth,center:``,onClose:o[0]||=e=>n.$emit(`hide`)},{default:f(()=>[n.isMobileOutsideWechat?(l(),e(`div`,F,[t(`p`,I,c(n.$t(`order.message.wechatPayMobileScanTip`)),1),n.order?.pay_url?(l(),i(h,{key:0,value:n.order?.pay_url,size:220,class:`qrcode m-auto mb-3`,type:`image/png`,color:{dark:`#000000`,light:`#ffffff`}},null,8,[`value`])):u(``,!0),t(`p`,L,c(n.$t(`order.message.wechatPayMobileHint`)),1),a(g,{size:`default`,round:``,class:`w-[220px]`,onClick:n.onCopyLink},{default:f(()=>[r(c(n.copied?n.$t(`common.message.copied`):n.$t(`order.button.copyPayLink`)),1)]),_:1},8,[`onClick`])])):n.isMobileInsideWechat?(l(),e(`div`,R,[t(`p`,z,c(n.$t(`order.message.wechatPayLongPressTip`)),1),n.order?.pay_url?(l(),i(h,{key:0,value:n.order?.pay_url,size:240,class:`qrcode mx-auto`,type:`image/png`,color:{dark:`#000000`,light:`#ffffff`}},null,8,[`value`])):u(``,!0)])):(l(),i(v,{key:2,class:`paycodes py-[30px] w-[500px] mx-auto`},{default:f(()=>[a(_,{span:12},{default:f(()=>[t(`div`,B,[n.order?.pay_url?(l(),i(h,{key:0,value:n.order?.pay_url,size:200,class:`qrcode m-auto w-[200px] h-[200px]`,type:`image/png`,color:{dark:`#000000`,light:`#ffffff`}},null,8,[`value`])):u(``,!0),t(`p`,V,c(n.$t(`order.message.wechatPayHelp`)),1)])]),_:1}),a(_,{span:12},{default:f(()=>[...o[1]||=[t(`div`,{class:`help-img`},[t(`img`,{src:`https://midas.gtimg.cn/enterprise/images/ep_sys_wx_tip.jpg`})],-1)]]),_:1})]),_:1}))]),_:1},8,[`model-value`,`title`,`width`])}var U=E(P,[[`render`,H]]),W=n({name:`PublicStripePayDialog`,components:{ElDialog:j},props:{order:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:[`hide`],watch:{visible:{handler(e){e&&this.order?.pay_url&&window.open(this.order.pay_url,`_blank`)}}}}),G={class:`text-center`};function K(e,n,r,a,o,s){let u=d(`el-dialog`);return l(),i(u,{"model-value":e.visible,title:e.$t(`application.title.buyService`),width:`500px`,center:``,onClose:n[0]||=t=>e.$emit(`hide`)},{default:f(()=>[t(`p`,G,c(e.$t(`order.message.buyInExternalUrl`)),1)]),_:1},8,[`model-value`,`title`])}var ne=E(W,[[`render`,K]]),q=n({name:`PublicAlipayPayDialog`,components:{ElDialog:j},props:{order:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:[`hide`],watch:{visible:{handler(e){e&&this.order?.pay_url&&window.open(this.order.pay_url,`_blank`)}}}}),J={class:`text-center`};function Y(e,n,r,a,o,s){let u=d(`el-dialog`);return l(),i(u,{"model-value":e.visible,title:e.$t(`application.title.buyService`),width:`500px`,center:``,onClose:n[0]||=t=>e.$emit(`hide`)},{default:f(()=>[t(`p`,J,c(e.$t(`order.message.buyInExternalUrl`)),1)]),_:1},8,[`model-value`,`title`])}var X=E(q,[[`render`,Y]]),Z=7e3,re=2e3,Q=function(e){return e.WechatPay=`WechatPay`,e.Stripe=`Stripe`,e.AliPay=`AliPay`,e}(Q||{}),ie=n({name:`OrderPublicPay`,components:{ElButton:p,ElRow:g,ElCol:h,ElCard:ee,ElSkeleton:S,ElDivider:x,ElAlert:m,ElDescriptions:y,ElDescriptionsItem:_,ElTag:O,PublicWechatPay:U,PublicStripePay:ne,PublicAlipayPay:X,CopyToClipboard:N},data(){return{PayWay:Q,OrderState:C,payWay:`WechatPay`,order:void 0,loading:!1,paying:!1,prepaying:!1}},computed:{id(){return this.$route.params?.id?.toString()??``},showPayment(){return!A()}},watch:{paying(e){e?this.startOrderPolling(re):this.stopOrderPolling()}},created(){this._orderRefreshTimer=void 0},mounted(){this.onFetchData()},beforeUnmount(){this.stopOrderPolling()},methods:{getPriceString:te,payWayLabel(e){return{WechatPay:this.$t(`order.title.wechatPay`),Stripe:this.$t(`order.title.stripe`),AliPay:this.$t(`order.title.aliPay`)}[e]||e},onFetchData(){this.id&&(this.loading=!0,T.get(this.id).then(({data:e})=>{this.order=e,e?.pay_way&&e.pay_way in Q&&(this.payWay=e.pay_way),this.loading=!1}).catch(()=>{this.order=void 0,this.loading=!1}))},startOrderPolling(e=0){this.stopOrderPolling();let t=async()=>{try{let{data:e}=await T.get(this.id);if(this.order=e,e?.state===C.PAID||e?.state===C.FINISHED||e?.state===C.FAILED||e?.state===C.EXPIRED){this.paying=!1,this.stopOrderPolling();return}}catch{}this.paying&&(this._orderRefreshTimer=window.setTimeout(t,Z))};this._orderRefreshTimer=window.setTimeout(t,e)},stopOrderPolling(){let e=this._orderRefreshTimer;e&&(clearTimeout(e),this._orderRefreshTimer=void 0)},onRepay(){this.paying=!0},onPay(){if(!this.id)return;this.prepaying=!0;let e={pay_way:this.payWay};this.payWay===`AliPay`&&(e.surface=k()),T.pay(this.id,e).then(({data:e})=>{this.prepaying=!1,e?.id&&(this.order=e),this.order&&this.order.price&&this.order.price>0&&(this.paying=!0)}).catch(()=>{this.prepaying=!1})}}}),ae={class:`title`},oe={key:0,class:`pt-5`},se={key:1,class:`pt-10 text-center`},ce={key:2,class:`order`},le={key:0,class:`price current unfree`},ue={key:1,class:`price free`},de={key:0,class:`payways mb-6`},fe={class:`payname`},pe={class:`payname`},$={class:`payname`},me={key:1},he={key:2};function ge(n,p,m,ee,h,g){let _=d(`el-col`),v=d(`el-row`),y=d(`el-skeleton`),b=d(`el-alert`),x=d(`copy-to-clipboard`),S=d(`el-descriptions-item`),C=d(`el-tag`),w=d(`el-descriptions`),T=d(`el-divider`),E=d(`el-button`),D=d(`el-card`),O=d(`public-wechat-pay`),k=d(`public-stripe-pay`),A=d(`public-alipay-pay`);return l(),e(o,null,[a(v,{class:`wrapper`},{default:f(()=>[a(_,{span:24},{default:f(()=>[a(v,null,{default:f(()=>[a(_,{span:24},{default:f(()=>[t(`h2`,ae,c(n.$t(`order.title.info`)),1)]),_:1})]),_:1}),a(v,{class:`panel`},{default:f(()=>[a(_,{span:24},{default:f(()=>[a(D,{shadow:`hover`},{default:f(()=>[a(v,null,{default:f(()=>[a(_,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:f(()=>[n.loading?(l(),e(`div`,oe,[a(y,{animated:``})])):n.order?(l(),e(`div`,ce,[a(w,{column:1},{default:f(()=>[a(S,{label:n.$t(`order.field.id`)},{default:f(()=>[t(`span`,null,c(n.order.id),1),n.order.id?(l(),i(x,{key:0,content:n.order.id,class:`inline-block`},null,8,[`content`])):u(``,!0)]),_:1},8,[`label`]),a(S,{label:n.$t(`order.field.description`)},{default:f(()=>[r(c(n.order.description),1)]),_:1},8,[`label`]),n.order.pay_way?(l(),i(S,{key:0,label:n.$t(`order.field.payWay`)},{default:f(()=>[a(C,{type:`info`,effect:`dark`,round:``,size:`small`},{default:f(()=>[r(c(n.payWayLabel(n.order.pay_way)),1)]),_:1})]),_:1},8,[`label`])):u(``,!0),a(S,{label:n.$t(`order.field.createdAt`)},{default:f(()=>[r(c(n.$dayjs.format(n.order.created_at||``)),1)]),_:1},8,[`label`]),a(S,{label:n.$t(`order.field.price`)},{default:f(()=>[n.order.price&&n.order.price>0?(l(),e(`span`,le,c(n.getPriceString({value:n.order.price})),1)):(l(),e(`span`,ue,c(n.$t(`order.message.free`)),1))]),_:1},8,[`label`])]),_:1})])):(l(),e(`div`,se,[a(b,{title:n.$t(`order.message.publicPayNotFound`),type:`error`,"show-icon":``,closable:!1},null,8,[`title`])]))]),_:1})]),_:1}),n.order?.state===n.OrderState.PAID||n.order?.state===n.OrderState.FINISHED?(l(),i(v,{key:0,class:`mb-5`},{default:f(()=>[a(_,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:f(()=>[a(T,{"border-style":`dashed`}),a(b,{title:n.$t(`order.message.paidSuccessfully`),type:`success`,"show-icon":``,closable:!1},null,8,[`title`])]),_:1})]),_:1})):u(``,!0),n.order?.state===n.OrderState.EXPIRED?(l(),i(v,{key:1,class:`mb-5`},{default:f(()=>[a(_,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:f(()=>[a(T,{"border-style":`dashed`}),a(b,{title:n.$t(`order.message.orderExpired`),type:`error`,"show-icon":``,closable:!1},null,8,[`title`])]),_:1})]),_:1})):u(``,!0),n.order?.state===n.OrderState.FAILED?(l(),i(v,{key:2,class:`mb-5`},{default:f(()=>[a(_,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:f(()=>[a(T,{"border-style":`dashed`}),a(b,{title:n.$t(`order.state.failed`),type:`error`,"show-icon":``,closable:!1},null,8,[`title`])]),_:1})]),_:1})):u(``,!0),n.order?.state===n.OrderState.PENDING&&n.showPayment?(l(),i(v,{key:3},{default:f(()=>[a(_,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:f(()=>[a(T,{"border-style":`dashed`}),!n.order.pay_way&&n.order.price&&n.order.price>0?(l(),e(`div`,de,[t(`div`,{class:s({payway:!0,wechatpay:!0,active:n.payWay===n.PayWay.WechatPay}),onClick:p[0]||=e=>n.payWay=n.PayWay.WechatPay},[p[6]||=t(`span`,{class:`payicon wechatpay`},null,-1),t(`span`,fe,c(n.$t(`order.title.wechatPay`)),1)],2),t(`div`,{class:s({payway:!0,alipay:!0,active:n.payWay===n.PayWay.AliPay}),onClick:p[1]||=e=>n.payWay=n.PayWay.AliPay},[p[7]||=t(`span`,{class:`payicon alipay`},null,-1),t(`span`,pe,c(n.$t(`order.title.aliPay`)),1)],2),t(`div`,{class:s({payway:!0,stripe:!0,active:n.payWay===n.PayWay.Stripe}),onClick:p[2]||=e=>n.payWay=n.PayWay.Stripe},[p[8]||=t(`span`,{class:`payicon stripe`},null,-1),t(`span`,$,c(n.$t(`order.title.stripe`)),1)],2)])):u(``,!0),n.order.pay_way?(l(),e(`div`,he,[a(E,{type:`primary`,round:``,size:`large`,class:`btn-repay`,onClick:n.onRepay},{default:f(()=>[r(c(n.$t(`common.button.repay`)),1)]),_:1},8,[`onClick`])])):(l(),e(`div`,me,[a(E,{loading:n.prepaying,round:``,type:`primary`,size:`large`,class:`btn-pay`,onClick:n.onPay},{default:f(()=>[r(c(n.$t(`common.button.pay`)),1)]),_:1},8,[`loading`,`onClick`])]))]),_:1})]),_:1})):u(``,!0)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),n.order&&n.payWay===n.PayWay.WechatPay?(l(),i(O,{key:0,order:n.order,visible:n.paying,onHide:p[3]||=e=>n.paying=!1},null,8,[`order`,`visible`])):u(``,!0),n.order&&n.payWay===n.PayWay.Stripe?(l(),i(k,{key:1,order:n.order,visible:n.paying,onHide:p[4]||=e=>n.paying=!1},null,8,[`order`,`visible`])):u(``,!0),n.order&&n.payWay===n.PayWay.AliPay?(l(),i(A,{key:2,order:n.order,visible:n.paying,onHide:p[5]||=e=>n.paying=!1},null,8,[`order`,`visible`])):u(``,!0)],64)}var _e=E(ie,[[`render`,ge],[`__scopeId`,`data-v-ffd3ba40`]]);export{_e as default};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{$ as e,A as t,D as n,F as r,N as i,O as a,P as o,S as s,Wt as c,Z as l,b as u,k as d,tt as f,ut as p}from"./vendor-chart-BJCvKk8-.js";import{t as m}from"./button-BydTr5nV.js";import{r as h,t as g}from"./select-BdRfhFiQ.js";import{t as _}from"./image-Dq96Xper.js";import{t as v}from"./alert-CuX4SjQB.js";import{t as y}from"./slider-Byv7aKgM.js";import{ft as b,ht as x}from"./constants-DNpQuSUd.js";import{Bt as S,Jn as C,O as w,Pr as T,Rt as ee,Ut as te,Zt as E,an as D,qr as O}from"./index-BagZk06I.js";import{t as k}from"./index.es-B2VlwOr_.js";import{t as A}from"./CopyToClipboard-BJ4cWa_D.js";import{t as j}from"./Consumption-CRTyuxVK.js";import{n as M,t as N}from"./pagination-BYwrVl5j.js";import{t as P}from"./ApiCodeButton-ClF_5uX0.js";import{t as F}from"./BotPlaceholder-XVpggWts.js";import{t as I}from"./NoTasks-Bpna1KF3.js";import{t as L}from"./Hailuo-x29FeIOy.js";import{t as R}from"./TabSwitcher-Dm6iRMbh.js";import{t as z}from"./PromptTextarea-JHBmf8dE.js";var B=r({name:`FishTextInput`,components:{PromptTextarea:z},computed:{text:{get(){return this.$store.state.fish?.config?.text},set(e){this.$store.commit(`fish/setConfig`,{...this.$store.state.fish?.config,text:e})}}}});function V(e,t,n,r,i,o){let s=f(`prompt-textarea`);return l(),a(s,{modelValue:e.text,"onUpdate:modelValue":t[0]||=t=>e.text=t,title:e.$t(`fish.name.text`),info:e.$t(`fish.description.text`),placeholder:e.$t(`fish.placeholder.text`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var H=w(B,[[`render`,V]]),U=r({name:`FishModelSelector`,components:{ElSelect:h,ElOption:g},computed:{options(){return[{value:x,label:this.$t(`fish.button.modelS2Pro`)},{value:`s1`,label:this.$t(`fish.button.modelS1`)}]},value:{get(){return this.$store.state.fish?.config?.model},set(e){this.$store.commit(`fish/setConfig`,{...this.$store.state.fish?.config,model:e})}}},mounted(){this.value||=b}}),W={class:`field`},G={class:`title font-bold`};function K(r,i,u,d,m,h){let g=f(`el-option`),_=f(`el-select`);return l(),t(`div`,W,[n(`h2`,G,c(r.$t(`fish.name.model`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`fish.placeholder.select`)},{default:p(()=>[(l(!0),t(s,null,e(r.options,e=>(l(),a(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var q=w(U,[[`render`,K],[`__scopeId`,`data-v-9702e6d3`]]),J=r({name:`FishVoicePicker`,components:{ElSelect:h,ElOption:g},computed:{loading(){return this.$store.state.fish?.status?.getApplications===T.Request},options(){return this.$store.state.fish?.voices??[]},displayOptions(){return this.options.map(e=>{let t=e,n=(t.id||t._id||t.reference_id||``).toString();return{value:n,label:t.title||n}}).filter(e=>!!e.value)},credential(){return this.$store.state.fish?.credential},value:{get(){return this.$store.state.fish?.config?.reference_id},set(e){this.$store.commit(`fish/setConfig`,{...this.$store.state.fish?.config,reference_id:e||void 0})}}},watch:{credential:{immediate:!0,handler(e){if(!e?.token)return;let t=this.$store.state.fish?.voices;(t===void 0||t.length===0)&&this.$store.dispatch(`fish/getVoices`)}}}}),Y={class:`field`},X={class:`title font-bold`};function Z(r,i,u,d,m,h){let g=f(`el-option`),_=f(`el-select`);return l(),t(`div`,Y,[n(`h2`,X,c(r.$t(`fish.name.voice`)),1),o(_,{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`value`,placeholder:r.$t(`fish.placeholder.voice`),clearable:``,filterable:``,loading:r.loading,"no-data-text":r.$t(`fish.message.noVoices`)},{default:p(()=>[(l(!0),t(s,null,e(r.displayOptions,e=>(l(),a(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`loading`,`no-data-text`])])}var Q=r({name:`FishConfigPanel`,components:{ElButton:m,ElSlider:y,FontAwesomeIcon:k,TextInput:H,ModelSelector:q,VoicePicker:w(J,[[`render`,Z],[`__scopeId`,`data-v-ac9e3a92`]]),Consumption:j},emits:[`generate`],computed:{config(){return this.$store.state.fish?.config},consumption(){return te(this.config,this.service?.cost)},service(){return this.$store.state.fish?.service},canGenerate(){let e=this.config?.text;return typeof e==`string`&&e.trim().length>0},speed:{get(){return this.config?.prosody?.speed??1},set(e){this.$store.commit(`fish/setConfig`,{...this.config,prosody:{...this.config?.prosody??{},speed:e}})}}},methods:{onGenerate(){this.$emit(`generate`)}}}),ne={class:`flex flex-col h-full`},re={class:`flex-1 overflow-y-auto p-5`},ie={class:`field mb-2`},ae={class:`title font-bold`},oe={class:`flex flex-col items-center justify-center px-5 pb-5`};function se(e,r,a,s,u,d){let m=f(`text-input`),h=f(`model-selector`),g=f(`voice-picker`),_=f(`el-slider`),v=f(`consumption`),y=f(`font-awesome-icon`),b=f(`el-button`);return l(),t(`div`,ne,[n(`div`,re,[o(m,{class:`mb-4`}),o(h,{class:`mb-4`}),o(g,{class:`mb-4`}),n(`div`,ie,[n(`h2`,ae,c(e.$t(`fish.name.speed`)),1),o(_,{modelValue:e.speed,"onUpdate:modelValue":r[0]||=t=>e.speed=t,min:.5,max:2,step:.1,class:`value`,"show-input":``},null,8,[`modelValue`])])]),n(`div`,oe,[o(v,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(b,{type:`primary`,class:`btn w-full`,round:``,disabled:!e.canGenerate,onClick:e.onGenerate},{default:p(()=>[o(y,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+c(e.$t(`fish.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var ce=w(Q,[[`render`,se],[`__scopeId`,`data-v-1ccd36ba`]]),le=r({name:`FishTaskPreview`,components:{ElImage:_,CopyToClipboard:A,FontAwesomeIcon:k,ElAlert:v,ElButton:m,ApiCodeButton:P},props:{modelValue:{type:Object,required:!0}},computed:{prompt(){return this.modelValue?.request?.text},audioUrl(){return this.modelValue?.response?.audio_url}},methods:{onDownload(e){window.open(e,`_blank`)}}}),ue={class:`preview`},de={class:`left`},fe={class:`main`},pe={class:`bot`},me={class:`datetime`},he={class:`info`},ge={key:0,class:`prompt mt-2`},_e={key:0},ve={key:0,class:`content`},ye=[`src`],be={class:`operations mt-2`},xe={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Se={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ce={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},we={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Te={key:1,class:`content`},Ee={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function De(e,r,a,s,m,h){let g=f(`el-image`),_=f(`el-button`),v=f(`api-code-button`),y=f(`font-awesome-icon`),b=f(`copy-to-clipboard`),x=f(`el-alert`);return l(),t(`div`,ue,[n(`div`,de,[o(g,{src:`https://cdn.acedata.cloud/e40fccc727.png`,class:`avatar`})]),n(`div`,fe,[n(`div`,pe,[i(c(e.$t(`fish.name.fishBot`))+` `,1),n(`span`,me,c(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),n(`div`,he,[e.prompt?(l(),t(`p`,ge,[i(c(e.prompt)+` `,1),e.modelValue?.response?d(``,!0):(l(),t(`span`,_e,` - (`+c(e.$t(`fish.status.pending`))+`) `,1))])):d(``,!0)]),e.audioUrl?(l(),t(`div`,ve,[n(`audio`,{src:e.audioUrl,controls:``,preload:`metadata`,class:`w-full mb-3`},null,8,ye),n(`div`,be,[o(_,{type:`info`,size:`small`,class:`mb-2`,onClick:r[0]||=u(t=>e.onDownload(e.audioUrl),[`stop`])},{default:p(()=>[i(c(e.$t(`fish.button.download`)),1)]),_:1}),o(v,{path:`/fish/tts`,body:e.modelValue?.request},null,8,[`body`])]),o(x,{closable:!1,class:`mt-2 success`},{default:p(()=>[e.modelValue?.request?.model?(l(),t(`p`,xe,[o(y,{icon:`fa-solid fa-microchip`,class:`mr-1`}),i(` `+c(e.$t(`fish.name.model`))+`: `+c(e.modelValue?.request?.model),1)])):d(``,!0),e.modelValue?.request?.reference_id?(l(),t(`p`,Se,[o(y,{icon:`fa-solid fa-microphone`,class:`mr-1`}),i(` `+c(e.$t(`fish.name.referenceId`))+`: `+c(e.modelValue?.request?.reference_id)+` `,1),o(b,{content:e.modelValue?.request?.reference_id},null,8,[`content`])])):d(``,!0),n(`p`,Ce,[o(y,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+c(e.$t(`fish.name.taskId`))+`: `+c(e.modelValue?.id)+` `,1),o(b,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(l(),t(`p`,we,[o(y,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+c(e.$t(`fish.name.elapsed`))+`: `+c(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):d(``,!0)]),_:1})])):(l(),t(`div`,Te,[o(x,{closable:!1,class:`info`},{default:p(()=>[n(`p`,Ee,[o(y,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+c(e.$t(`fish.name.taskId`))+`: `+c(e.modelValue?.id)+` `,1),o(b,{content:e.modelValue?.id},null,8,[`content`])])]),_:1})]))])])}var $=r({name:`FishRecentPanel`,components:{TaskPreview:w(le,[[`render`,De],[`__scopeId`,`data-v-754753f2`]]),BotPlaceholder:F,NoTasks:I,ScrollList:M},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.fish?.tasks,items:this.$store.state.fish?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Oe={key:0},ke={key:2,class:`w-full h-full flex items-center justify-center`};function Ae(n,r,i,c,u,m){let h=f(`bot-placeholder`),g=f(`task-preview`),_=f(`scroll-list`),v=f(`no-tasks`);return l(),t(s,null,[n.tasks?.items===void 0?(l(),t(`div`,Oe,[o(h)])):n.tasks?.items?.length&&n.tasks?.items?.length>0?(l(),a(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:n.loading,onReachTop:r[0]||=e=>n.$emit(`reach-top`)},{default:p(()=>[(l(!0),t(s,null,e(n.tasks?.items,e=>(l(),a(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):d(``,!0),n.tasks?.items?.length===0?(l(),t(`div`,ke,[o(v)])):d(``,!0)],64)}var je=r({name:`FishTtsIndex`,components:{ConfigPanel:ce,Layout:L,RecentPanel:w($,[[`render`,Ae]]),TabSwitcher:R},mixins:[S],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.fish?.status?.getApplications===T.Request},tasksLoading(){return this.$store.state.fish?.status?.getTasks===T.Request||this.fetchingTasks},credential(){return this.$store.state.fish?.credential},config(){return this.$store.state.fish?.config},application(){return this.$store.state.fish?.application},tasks(){return this.$store.state.fish?.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(),await this.$store.dispatch(`fish/getVoices`)},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await N({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){await this.$store.dispatch(`fish/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(`fish/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ee(this.uploadTracker,e=>this.$t(e),e=>O.warning(e)))return;let e=this.config??{},t=e.text?.trim();if(!t){O.warning(this.$t(`fish.message.textRequired`));return}if(!E())return;let n=this.credential?.token;if(!n){console.error(`no token specified`);return}let r=e.model||`s2-pro`,i={text:t,async:!0};e.reference_id&&(i.reference_id=e.reference_id),e.format&&(i.format=e.format),e.prosody&&Object.keys(e.prosody).length>0&&(i.prosody=e.prosody),O.info(this.$t(`fish.message.startingTask`)),C(`fish`,D.generateTts(i,{token:n,model:r})).then(()=>{O.success(this.$t(`fish.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?O.error(this.$t(`fish.message.usedUp`)):O.error(this.$t(`fish.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}}),Me={class:`flex flex-col h-full`},Ne={class:`flex-1 min-h-0`};function Pe(e,t,r,i,s,c){let u=f(`tab-switcher`),d=f(`config-panel`),m=f(`recent-panel`),h=f(`layout`);return l(),a(h,null,{config:p(()=>[n(`div`,Me,[o(u),n(`div`,Ne,[o(d,{onGenerate:e.onGenerate},null,8,[`onGenerate`])])])]),result:p(()=>[o(m,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Fe=w(je,[[`render`,Pe]]);export{Fe as default};
@@ -1 +0,0 @@
1
- import{si as e}from"./index-BagZk06I.js";var t=e(`PushNotifications`,{});export{t as PushNotifications};
@@ -1 +0,0 @@
1
- import{$ as e,A as t,Bt as n,D as r,E as i,F as a,H as o,Ht as s,J as c,L as l,N as u,O as d,Ot as f,P as p,Pt as m,S as h,St as ee,Ut as g,V as _,Vt as v,Wt as te,Z as y,at as b,b as ne,bt as x,ct as S,et as C,gt as w,j as re,k as T,pt as ie,rt as E,u as D,ut as O}from"./vendor-chart-BJCvKk8-.js";import{a as k,c as ae,t as A}from"./install-CmiepWqE.js";import{a as j,f as M,n as N,r as P,s as F,v as I}from"./runtime-B1Eal4u3.js";import{E as oe,G as se,N as L,Ot as R,Pt as z,Rt as ce,U as le,W as B,_ as V,et as ue,g as de,nt as H,tt as U,ut as W,xt as G,yt as fe}from"./use-deprecated-B-NFNg3W.js";import{t as K}from"./debounce-CYlOLIMx.js";import{n as q}from"./scroll-CgpW_lTC.js";import{r as pe,t as me}from"./teleport-BEkn5-id.js";import{t as J}from"./aria-CQaCu-Fx.js";import{ai as Y,ri as he}from"./index-BagZk06I.js";var ge=`Expected a function`;function X(e,t,n){var r=!0,i=!0;if(typeof e!=`function`)throw TypeError(ge);return I(n)&&(r=`leading`in n?!!n.leading:r,i=`trailing`in n?!!n.trailing:i),K(e,t,{leading:r,maxWait:t,trailing:i})}var _e=(e,t)=>{if(!z||!e||!t)return!1;let n=e.getBoundingClientRect(),r;return r=t instanceof Element?t.getBoundingClientRect():{top:0,right:window.innerWidth,bottom:window.innerHeight,left:0},n.top<r.bottom&&n.bottom>r.top&&n.right>r.left&&n.left<r.right},ve=e=>{let t,n;return e.type===`touchend`?(n=e.changedTouches[0].clientY,t=e.changedTouches[0].clientX):e.type.startsWith(`touch`)?(n=e.touches[0].clientY,t=e.touches[0].clientX):(n=e.clientY,t=e.clientX),{clientX:t,clientY:n}},ye=N({urlList:{type:P(Array),default:()=>Y([])},zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},hideOnClickModal:Boolean,teleported:Boolean,closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:P(String)}}),Z={close:()=>!0,switch:e=>F(e),rotate:e=>F(e)},be=A(k(a({...a({name:`ElImageViewer`}),props:ye,emits:Z,setup(n,{expose:a,emit:s}){let l=n,m={CONTAIN:{name:`contain`,icon:w(L)},ORIGINAL:{name:`original`,icon:w(se)}},_,b=``,{t:re}=fe(),k=ae(`image-viewer`),{nextZIndex:A}=G(),j=x(),M=x([]),N=ie(),P=x(!0),F=x(l.initialIndex),I=ee(m.CONTAIN),z=x({scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:!1}),ce=x(l.zIndex??A()),K=i(()=>{let{urlList:e}=l;return e.length<=1}),q=i(()=>F.value===0),Y=i(()=>F.value===l.urlList.length-1),he=i(()=>l.urlList[F.value]),ge=i(()=>[k.e(`btn`),k.e(`prev`),k.is(`disabled`,!l.infinite&&q.value)]),_e=i(()=>[k.e(`btn`),k.e(`next`),k.is(`disabled`,!l.infinite&&Y.value)]),ve=i(()=>{let{scale:e,deg:t,offsetX:n,offsetY:r,enableTransition:i}=z.value,a=n/e,o=r/e,s=t*Math.PI/180,c=Math.cos(s),l=Math.sin(s);a=a*c+o*l,o=o*c-n/e*l;let u={transform:`scale(${e}) rotate(${t}deg) translate(${a}px, ${o}px)`,transition:i?`transform .3s`:``};return I.value.name===m.CONTAIN.name&&(u.maxWidth=u.maxHeight=`100%`),u}),ye=i(()=>`${F.value+1} / ${l.urlList.length}`);function Z(){xe(),_?.(),document.body.style.overflow=b,s(`close`)}function be(){let e=X(e=>{switch(e.code){case J.esc:l.closeOnPressEscape&&Z();break;case J.space:Ee();break;case J.left:De();break;case J.up:$(`zoomIn`);break;case J.right:Oe();break;case J.down:$(`zoomOut`);break}}),t=X(e=>{$((e.deltaY||e.deltaX)<0?`zoomIn`:`zoomOut`,{zoomRate:l.zoomRate,enableTransition:!1})});N.run(()=>{R(document,`keydown`,e),R(document,`wheel`,t)})}function xe(){N.stop()}function Se(){P.value=!1}function Ce(e){P.value=!1,e.target.alt=re(`el.image.error`)}function we(e){if(P.value||e.button!==0||!j.value)return;z.value.enableTransition=!1;let{offsetX:t,offsetY:n}=z.value,r=e.pageX,i=e.pageY,a=X(e=>{z.value={...z.value,offsetX:t+e.pageX-r,offsetY:n+e.pageY-i}}),o=R(document,`mousemove`,a);R(document,`mouseup`,()=>{o()}),e.preventDefault()}function Te(){z.value={scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:!1}}function Ee(){if(P.value)return;let e=W(m),t=Object.values(m),n=I.value.name;I.value=m[e[(t.findIndex(e=>e.name===n)+1)%e.length]],Te()}function Q(e){let t=l.urlList.length;F.value=(e+t)%t}function De(){q.value&&!l.infinite||Q(F.value-1)}function Oe(){Y.value&&!l.infinite||Q(F.value+1)}function $(e,t={}){if(P.value)return;let{minScale:n,maxScale:r}=l,{zoomRate:i,rotateDeg:a,enableTransition:o}={zoomRate:l.zoomRate,rotateDeg:90,enableTransition:!0,...t};switch(e){case`zoomOut`:z.value.scale>n&&(z.value.scale=Number.parseFloat((z.value.scale/i).toFixed(3)));break;case`zoomIn`:z.value.scale<r&&(z.value.scale=Number.parseFloat((z.value.scale*i).toFixed(3)));break;case`clockwise`:z.value.deg+=a,s(`rotate`,z.value.deg);break;case`anticlockwise`:z.value.deg-=a,s(`rotate`,z.value.deg);break}z.value.enableTransition=o}function ke(e){e.detail?.focusReason===`pointer`&&e.preventDefault()}function Ae(){l.closeOnPressEscape&&Z()}function je(e){if(e.ctrlKey&&(e.deltaY<0||e.deltaY>0))return e.preventDefault(),!1}return S(he,()=>{o(()=>{M.value[0]?.complete||(P.value=!0)})}),S(F,e=>{Te(),s(`switch`,e)}),c(()=>{be(),_=R(`wheel`,je,{passive:!1}),b=document.body.style.overflow,document.body.style.overflow=`hidden`}),a({setActiveItem:Q}),(n,i)=>(y(),d(f(me),{to:`body`,disabled:!n.teleported},{default:O(()=>[p(D,{name:`viewer-fade`,appear:``},{default:O(()=>[r(`div`,{ref_key:`wrapper`,ref:j,tabindex:-1,class:v(f(k).e(`wrapper`)),style:g({zIndex:ce.value})},[p(f(pe),{loop:``,trapped:``,"focus-trap-el":j.value,"focus-start-el":`container`,onFocusoutPrevented:ke,onReleaseRequested:Ae},{default:O(()=>[r(`div`,{class:v(f(k).e(`mask`)),onClick:ne(e=>n.hideOnClickModal&&Z(),[`self`])},null,10,[`onClick`]),T(` CLOSE `),r(`span`,{class:v([f(k).e(`btn`),f(k).e(`close`)]),onClick:Z},[p(f(H),null,{default:O(()=>[p(f(oe))]),_:1})],2),T(` ARROW `),f(K)?T(`v-if`,!0):(y(),t(h,{key:0},[r(`span`,{class:v(f(ge)),onClick:De},[p(f(H),null,{default:O(()=>[p(f(de))]),_:1})],2),r(`span`,{class:v(f(_e)),onClick:Oe},[p(f(H),null,{default:O(()=>[p(f(V))]),_:1})],2)],64)),n.$slots.progress||n.showProgress?(y(),t(`div`,{key:1,class:v([f(k).e(`btn`),f(k).e(`progress`)])},[C(n.$slots,`progress`,{activeIndex:F.value,total:n.urlList.length},()=>[u(te(f(ye)),1)])],2)):T(`v-if`,!0),T(` ACTIONS `),r(`div`,{class:v([f(k).e(`btn`),f(k).e(`actions`)])},[r(`div`,{class:v(f(k).e(`actions__inner`))},[C(n.$slots,`toolbar`,{actions:$,prev:De,next:Oe,reset:Ee,activeIndex:F.value,setActiveItem:Q},()=>[p(f(H),{onClick:e=>$(`zoomOut`)},{default:O(()=>[p(f(U))]),_:1},8,[`onClick`]),p(f(H),{onClick:e=>$(`zoomIn`)},{default:O(()=>[p(f(ue))]),_:1},8,[`onClick`]),r(`i`,{class:v(f(k).e(`actions__divider`))},null,2),p(f(H),{onClick:Ee},{default:O(()=>[(y(),d(E(f(I).icon)))]),_:1}),r(`i`,{class:v(f(k).e(`actions__divider`))},null,2),p(f(H),{onClick:e=>$(`anticlockwise`)},{default:O(()=>[p(f(le))]),_:1},8,[`onClick`]),p(f(H),{onClick:e=>$(`clockwise`)},{default:O(()=>[p(f(B))]),_:1},8,[`onClick`])])],2)],2),T(` CANVAS `),r(`div`,{class:v(f(k).e(`canvas`))},[(y(!0),t(h,null,e(n.urlList,(e,r)=>(y(),t(h,{key:r},[r===F.value?(y(),t(`img`,{key:0,ref_for:!0,ref:e=>M.value[r]=e,src:e,style:g(f(ve)),class:v(f(k).e(`img`)),crossorigin:n.crossorigin,onLoad:Se,onError:Ce,onMousedown:we},null,46,[`src`,`crossorigin`])):T(`v-if`,!0)],64))),128))],2),C(n.$slots,`default`)]),_:3},8,[`focus-trap-el`])],6)]),_:3})]),_:3},8,[`disabled`]))}}),[[`__file`,`image-viewer.vue`]])),xe=N({hideOnClickModal:Boolean,src:{type:String,default:``},fit:{type:String,values:[``,`contain`,`cover`,`fill`,`none`,`scale-down`],default:``},loading:{type:String,values:[`eager`,`lazy`]},lazy:Boolean,scrollContainer:{type:P([String,Object])},previewSrcList:{type:P(Array),default:()=>Y([])},previewTeleported:Boolean,zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:P(String)}}),Se={load:e=>e instanceof Event,error:e=>e instanceof Event,switch:e=>F(e),close:()=>!0,show:()=>!0},Ce=A(k(a({...a({name:`ElImage`,inheritAttrs:!1}),props:xe,emits:Se,setup(e,{expose:a,emit:u}){let p=e,{t:ee}=fe(),g=ae(`image`),ne=b(),w=i(()=>M(Object.entries(ne).filter(([e])=>/^(data-|on[A-Z])/i.test(e)||[`id`,`style`].includes(e)))),ie=he({excludeListeners:!0,excludeKeys:i(()=>Object.keys(w.value))}),E=x(),D=x(!1),k=x(!0),A=x(!1),N=x(),P=x(),F=z&&`loading`in HTMLImageElement.prototype,I,oe=i(()=>[g.e(`inner`),L.value&&g.e(`preview`),k.value&&g.is(`loading`)]),se=i(()=>{let{fit:e}=p;return z&&e?{objectFit:e}:{}}),L=i(()=>{let{previewSrcList:e}=p;return m(e)&&e.length>0}),le=i(()=>{let{previewSrcList:e,initialIndex:t}=p,n=t;return t>e.length-1&&(n=0),n}),B=i(()=>p.loading===`eager`?!1:!F&&p.loading===`lazy`||p.lazy),V=()=>{z&&(k.value=!0,D.value=!1,E.value=p.src)};function ue(e){k.value=!1,D.value=!1,u(`load`,e)}function de(e){k.value=!1,D.value=!0,u(`error`,e)}function H(){_e(N.value,P.value)&&(V(),G())}let U=ce(H,200,!0);async function W(){if(!z)return;await o();let{scrollContainer:e}=p;j(e)?P.value=e:n(e)&&e!==``?P.value=document.querySelector(e)??void 0:N.value&&(P.value=q(N.value)),P.value&&(I=R(P,`scroll`,U),setTimeout(()=>H(),100))}function G(){!z||!P.value||!U||(I?.(),P.value=void 0)}function K(){L.value&&(A.value=!0,u(`show`))}function pe(){A.value=!1,u(`close`)}function me(e){u(`switch`,e)}return S(()=>p.src,()=>{B.value?(k.value=!0,D.value=!1,G(),W()):V()}),c(()=>{B.value?W():V()}),a({showPreview:K}),(e,n)=>(y(),t(`div`,_({ref_key:`container`,ref:N},f(w),{class:[f(g).b(),e.$attrs.class]}),[D.value?C(e.$slots,`error`,{key:0},()=>[r(`div`,{class:v(f(g).e(`error`))},te(f(ee)(`el.image.error`)),3)]):(y(),t(h,{key:1},[E.value===void 0?T(`v-if`,!0):(y(),t(`img`,_({key:0},f(ie),{src:E.value,loading:e.loading,style:f(se),class:f(oe),crossorigin:e.crossorigin,onClick:K,onLoad:ue,onError:de}),null,16,[`src`,`loading`,`crossorigin`])),k.value?(y(),t(`div`,{key:1,class:v(f(g).e(`wrapper`))},[C(e.$slots,`placeholder`,{},()=>[r(`div`,{class:v(f(g).e(`placeholder`))},null,2)])],2)):T(`v-if`,!0)],64)),f(L)?(y(),t(h,{key:2},[A.value?(y(),d(f(be),{key:0,"z-index":e.zIndex,"initial-index":f(le),infinite:e.infinite,"zoom-rate":e.zoomRate,"min-scale":e.minScale,"max-scale":e.maxScale,"show-progress":e.showProgress,"url-list":e.previewSrcList,crossorigin:e.crossorigin,"hide-on-click-modal":e.hideOnClickModal,teleported:e.previewTeleported,"close-on-press-escape":e.closeOnPressEscape,onClose:pe,onSwitch:me},re({toolbar:O(t=>[C(e.$slots,`toolbar`,s(l(t)))]),default:O(()=>[e.$slots.viewer?(y(),t(`div`,{key:0},[C(e.$slots,`viewer`)])):T(`v-if`,!0)]),_:2},[e.$slots.progress?{name:`progress`,fn:O(t=>[C(e.$slots,`progress`,s(l(t)))])}:void 0]),1032,[`z-index`,`initial-index`,`infinite`,`zoom-rate`,`min-scale`,`max-scale`,`show-progress`,`url-list`,`crossorigin`,`hide-on-click-modal`,`teleported`,`close-on-press-escape`])):T(`v-if`,!0)],64)):T(`v-if`,!0)],16))}}),[[`__file`,`image.vue`]]));export{ve as n,Ce as t};