@acedatacloud/nexior 3.324.29 → 3.324.30

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 (176) hide show
  1. package/dist/assets/{ApiCodeButton-Dr4bdLJA.js → ApiCodeButton-vGLx6VeQ.js} +1 -1
  2. package/dist/assets/{Artifacts-Bw0RrSlp.js → Artifacts-DKwUGrtI.js} +1 -1
  3. package/dist/assets/{AskUserQuestionCard-DXrOkc-A.js → AskUserQuestionCard-Bz2xCJBI.js} +1 -1
  4. package/dist/assets/{Auth-cyijlcN5.js → Auth-BoCyGqV7.js} +1 -1
  5. package/dist/assets/{Bare-Sgxrlj4c.js → Bare-D1qrR_DO.js} +1 -1
  6. package/dist/assets/{BotPlaceholder-CJUnTDfn.js → BotPlaceholder-CchvSdzg.js} +1 -1
  7. package/dist/assets/{BottomFooter-BOez9ZGL.js → BottomFooter-Ck0PDh1v.js} +1 -1
  8. package/dist/assets/{Callback-BYFOhEMp.js → Callback-DWim9ZhR.js} +1 -1
  9. package/dist/assets/{CodeSnippet-QrmJoydz.js → CodeSnippet-WVJ6EHoS.js} +1 -1
  10. package/dist/assets/{Console-B8WY0-P3.js → Console-CRIiCWFJ.js} +1 -1
  11. package/dist/assets/{Consumption-BxogCIln.js → Consumption-y1G2owiZ.js} +1 -1
  12. package/dist/assets/{Conversation-DmC-Rfxa.css → Conversation-CAEOsUmp.css} +1 -1
  13. package/dist/assets/{Conversation-BnCi4y-Y.js → Conversation-CoX661O5.js} +1 -1
  14. package/dist/assets/Conversation-hdXrtc79.js +1 -0
  15. package/dist/assets/{CopyToClipboard-kTq4ERcz.js → CopyToClipboard-DnPi7U0x.js} +1 -1
  16. package/dist/assets/{Detail-C3zOyCj0.js → Detail-GiXzNsuo.js} +2 -2
  17. package/dist/assets/{Extra-C_81qPI-.js → Extra-GTHqgB6P.js} +1 -1
  18. package/dist/assets/{FilePreview-Dd_SA5_O.js → FilePreview-cgEijJjX.js} +1 -1
  19. package/dist/assets/{Hailuo-BStaH6qS.js → Hailuo-D-wYwQr2.js} +1 -1
  20. package/dist/assets/{History-DyumuS03.js → History-HaiH0t-P.js} +1 -1
  21. package/dist/assets/{ImagePreview-IJBLy2Ky.js → ImagePreview-Bes_uTEl.js} +1 -1
  22. package/dist/assets/{ImageWrapper-Bi8NU0qY.js → ImageWrapper-Cymsz_Th.js} +1 -1
  23. package/dist/assets/{Index-CjJkQfBp.js → Index-8WOksYdu.js} +1 -1
  24. package/dist/assets/{Index-CSbCiBi1.js → Index-B4iwEpax.js} +1 -1
  25. package/dist/assets/{Index-CO_QN8UO.js → Index-BHGCk-L-.js} +1 -1
  26. package/dist/assets/{Index-BsWUbRYS.js → Index-BKwbWGF-.js} +1 -1
  27. package/dist/assets/{Index-ClSonnpN.js → Index-BSpoF_TN.js} +1 -1
  28. package/dist/assets/{Index-Dv2PBwey.js → Index-BeEsI3NE.js} +1 -1
  29. package/dist/assets/{Index-CUIVDPDh.js → Index-Bl8_bU0X.js} +1 -1
  30. package/dist/assets/{Index-C2VVorFG.js → Index-BoUpc5H6.js} +1 -1
  31. package/dist/assets/{Index-zJhDkzND.js → Index-BrUSutPj.js} +1 -1
  32. package/dist/assets/{Index-CwbaxHgW.js → Index-BwvdfGSk.js} +1 -1
  33. package/dist/assets/{Index-pJS85Igc.js → Index-C-kQvmi9.js} +1 -1
  34. package/dist/assets/{Index-UaydQoq_.js → Index-C1Qy9eI8.js} +1 -1
  35. package/dist/assets/{Index-C8ShpGE5.js → Index-C9yhsWwu.js} +1 -1
  36. package/dist/assets/{Index-Co_AC6H9.js → Index-CjipaBLU.js} +1 -1
  37. package/dist/assets/{Index-BjPAMIok.js → Index-CjxZ5Fln.js} +1 -1
  38. package/dist/assets/{Index-Bs8z2J5y.js → Index-DGd7r7T5.js} +1 -1
  39. package/dist/assets/{Index-9sxWrvVH.js → Index-DJNQw2mo.js} +1 -1
  40. package/dist/assets/{Index-BC3999dP.js → Index-DLI3Qo7q.js} +1 -1
  41. package/dist/assets/{Index-DuBwzqI6.js → Index-DMwityNp.js} +1 -1
  42. package/dist/assets/{Index-C203R9Xi.js → Index-DQCp84le.js} +1 -1
  43. package/dist/assets/{Index-DyGO3kNe.js → Index-DYjSq73K.js} +1 -1
  44. package/dist/assets/{Index-3hSXQzbQ.js → Index-Dj8OIIIx.js} +1 -1
  45. package/dist/assets/{Index-CBNpBvnL.js → Index-DjODaPcN.js} +1 -1
  46. package/dist/assets/{Index-CKfN6vDZ.js → Index-RrE6IzIK.js} +1 -1
  47. package/dist/assets/{Index-YYP33qcY.js → Index-faNCkeF6.js} +1 -1
  48. package/dist/assets/{Index-BNnL5vRc.js → Index-nebAE3Fb.js} +1 -1
  49. package/dist/assets/{Index-D26-JZu5.js → Index-sFGcntcj.js} +1 -1
  50. package/dist/assets/{Index-bQZyrOn4.js → Index-xKnerzJb.js} +1 -1
  51. package/dist/assets/{Invitees-D4MjBnZk.js → Invitees-DqrLPVV7.js} +1 -1
  52. package/dist/assets/{List-BEXfPox1.js → List-BDctkSUi.js} +1 -1
  53. package/dist/assets/{List-DQ9RQXi4.js → List-D1VILiMu.js} +1 -1
  54. package/dist/assets/{List-gWtiWaNv.js → List-DV0Nngbr.js} +1 -1
  55. package/dist/assets/{LocalTools-Dl-kGbzr.js → LocalTools--5hOLp5f.js} +1 -1
  56. package/dist/assets/{LocalTools-BT5GtYJ_.js → LocalTools-BK9YBTe7.js} +1 -1
  57. package/dist/assets/{Main-DmXtS1Qa.js → Main-BJ-gm_L9.js} +1 -1
  58. package/dist/assets/{Message-CFQJy-SQ.js → Message-Br8o2qkc.js} +1 -1
  59. package/dist/assets/{Model-kXC5F9hS.js → Model-BUtd0Tw6.js} +1 -1
  60. package/dist/assets/Navigator-1yGBtpW4.js +5 -0
  61. package/dist/assets/Navigator-CDPcT9qX.css +1 -0
  62. package/dist/assets/{NoTasks-Jb5VXyjC.js → NoTasks-DpYnRe_p.js} +1 -1
  63. package/dist/assets/{NotFound-B8On4qsQ.js → NotFound-BKDruH1e.js} +1 -1
  64. package/dist/assets/{Pay-Yo504Yib.js → Pay-DOLZfukb.js} +1 -1
  65. package/dist/assets/{Player-shHmeA5Y.js → Player-B6Dcq2Lh.js} +1 -1
  66. package/dist/assets/{PromptTextarea-BfkANSB9.js → PromptTextarea-CPdQc691.js} +1 -1
  67. package/dist/assets/{RealtimeCall-Cb96Vctf.js → RealtimeCall-j0uclcuq.js} +1 -1
  68. package/dist/assets/{ScheduledTasks-DKLw5rsi.js → ScheduledTasks-C-LzpyPl.js} +1 -1
  69. package/dist/assets/{Status-zJ6Jjftt.js → Status-CqcbuONY.js} +1 -1
  70. package/dist/assets/{Subscribe-CHQwSOPC.js → Subscribe-tZm1o_WD.js} +1 -1
  71. package/dist/assets/{TabSwitcher-DQT0o4dR.js → TabSwitcher-Bd4kucdH.js} +1 -1
  72. package/dist/assets/{Tts-DHZGVX9H.js → Tts-Cc9iP8T-.js} +1 -1
  73. package/dist/assets/{VideoPlayer-DqVvq5Ba.js → VideoPlayer-D4uzmupm.js} +1 -1
  74. package/dist/assets/{VideoPreview-CJ5gsfgx.js → VideoPreview-BVdZt4zX.js} +1 -1
  75. package/dist/assets/{alert-C_HLT8KP.js → alert-B3mVHMj2.js} +1 -1
  76. package/dist/assets/{avatar-CtJhyy2Q.js → avatar-DdNuOYm0.js} +1 -1
  77. package/dist/assets/{basic-DvY-ULf4.js → basic-C5adNeim.js} +1 -1
  78. package/dist/assets/{chat-DmOYi-7M.js → chat-B_-2UdN1.js} +1 -1
  79. package/dist/assets/{codingBridge-GdjpCmEF.js → codingBridge-DlsohVAM.js} +1 -1
  80. package/dist/assets/{codingBridgeNotify-BOz4s4k0.js → codingBridgeNotify-WNIAJwXT.js} +2 -2
  81. package/dist/assets/{collapse-CddJd_4I.js → collapse-C0xCVZgh.js} +1 -1
  82. package/dist/assets/common-5nRxK5jc.js +1 -0
  83. package/dist/assets/common-7XEV0Ycw.js +1 -0
  84. package/dist/assets/{common-6S3X33_Y.js → common-BRkxKEtU.js} +1 -1
  85. package/dist/assets/common-BYcCCDxX.js +1 -0
  86. package/dist/assets/{common-DF-noLTN.js → common-Bw8ntzCv.js} +1 -1
  87. package/dist/assets/common-C4ApNn0b.js +1 -0
  88. package/dist/assets/{common-BD0DrOZF.js → common-Cb99wqr1.js} +1 -1
  89. package/dist/assets/{common-ClnyWfbs.js → common-CbGUBlpu.js} +1 -1
  90. package/dist/assets/{common-BIdJXWBx.js → common-CnIs5QDn.js} +1 -1
  91. package/dist/assets/{common-FSi8-XXO.js → common-D7mgwOMe.js} +1 -1
  92. package/dist/assets/{common-FPhJMirc.js → common-DKaKmYMx.js} +1 -1
  93. package/dist/assets/{common-dQF-_YHH.js → common-DPr3W-Va.js} +1 -1
  94. package/dist/assets/{common-DnX3atMq.js → common-DkiJvGgi.js} +1 -1
  95. package/dist/assets/{common-CT9YBA7v.js → common-DpPwupjz.js} +1 -1
  96. package/dist/assets/{common-B94K3rxe.js → common-Dy53xlOg.js} +1 -1
  97. package/dist/assets/{common-CcW_Am1R.js → common-Ev3R8Z9T.js} +1 -1
  98. package/dist/assets/common-Lt0um1cl.js +1 -0
  99. package/dist/assets/common-R0TK2pJS.js +1 -0
  100. package/dist/assets/{constants-DxuoPabX.js → constants-B_ZAjiS7.js} +1 -1
  101. package/dist/assets/{createTaskActions-Dt3kuY1V.js → createTaskActions-B-145wBt.js} +1 -1
  102. package/dist/assets/{date-picker-BgyzmdoD.js → date-picker-BQ9amrBD.js} +1 -1
  103. package/dist/assets/{digitalhuman-p-AjvFRN.js → digitalhuman-CaQU-nVc.js} +1 -1
  104. package/dist/assets/{drawer-dctCfMlK.js → drawer-kVVnkuEi.js} +1 -1
  105. package/dist/assets/{dropdown-BZN6Garf.js → dropdown-D6Hvccb2.js} +1 -1
  106. package/dist/assets/{dropdown-DXTqg2dg.js → dropdown-DLdiofjw.js} +1 -1
  107. package/dist/assets/{esm-BFDMUJX4.js → esm-Ba52H2xs.js} +1 -1
  108. package/dist/assets/{esm-AQd81Or0.js → esm-BfCzes_A.js} +2 -2
  109. package/dist/assets/esm-C1T7i4Fe.js +1 -0
  110. package/dist/assets/{esm-Di1qijGG.js → esm-CneLNuD9.js} +1 -1
  111. package/dist/assets/{esm-BXhlWefj.js → esm-Co7gvDX8.js} +3 -3
  112. package/dist/assets/{esm-NfuARdVX.js → esm-D79P0tyl.js} +1 -1
  113. package/dist/assets/{esm-DEbwHVRt.js → esm-Da4G5vz5.js} +2 -2
  114. package/dist/assets/{fish-C8I3a7_l.js → fish-DMFa1e0E.js} +1 -1
  115. package/dist/assets/{flux-Cn4LntAt.js → flux-O2_lRca2.js} +1 -1
  116. package/dist/assets/{grokvideo-BmiGkJFr.js → grokvideo-r7KXBgJx.js} +1 -1
  117. package/dist/assets/{hailuo-CJbPrm5o.js → hailuo-BQAYP5pp.js} +1 -1
  118. package/dist/assets/{headshots-D7rAuiIg.js → headshots-B6TFQ2vK.js} +1 -1
  119. package/dist/assets/{i18n-CektUpr6.js → i18n-2vgTB-Px.js} +1 -1
  120. package/dist/assets/{image-WoHkdGGe.js → image-X_sCgt4S.js} +1 -1
  121. package/dist/assets/{index-DYpbOsMi.js → index-Cf679Gpt.js} +4 -4
  122. package/dist/assets/{index.browser.esm-WFAxjstm.js → index.browser.esm-BenUhFMX.js} +1 -1
  123. package/dist/assets/{index.es-CCeR_gCu.js → index.es-DqI2qm7C.js} +1 -1
  124. package/dist/assets/{input-number-D8gH3WnB.js → input-number-CQcHJS_D.js} +1 -1
  125. package/dist/assets/{kling-DtStvoY4.js → kling-Dl-upJhY.js} +1 -1
  126. package/dist/assets/{luma-DjR0Qumg.js → luma-CZIH-f7o.js} +1 -1
  127. package/dist/assets/{maestro-Czafayps.js → maestro-C9kYm0om.js} +1 -1
  128. package/dist/assets/{maestro-CBjCyEKr.js → maestro-CkRicRS1.js} +1 -1
  129. package/dist/assets/{midjourney-Cudol9Kp.js → midjourney-DrQ_NYaQ.js} +1 -1
  130. package/dist/assets/{mobileLocalExec-CWyq97m9.js → mobileLocalExec-CF5P-j35.js} +2 -2
  131. package/dist/assets/{nanobanana-BMCbZr19.js → nanobanana-DJke58h2.js} +1 -1
  132. package/dist/assets/{openaiimage-etq64EP4.js → openaiimage-XwcRzbmt.js} +1 -1
  133. package/dist/assets/{pagination-GacjBvzD.js → pagination-CvQJgiqh.js} +1 -1
  134. package/dist/assets/{pagination-CKiImRWD.js → pagination-DrBCNZpz.js} +1 -1
  135. package/dist/assets/{pika-B6qFoKgs.js → pika-Dr1qHEBf.js} +1 -1
  136. package/dist/assets/{pixverse-CsqQjmdG.js → pixverse-B_s1OvwL.js} +1 -1
  137. package/dist/assets/{popover-DItaY6RR.js → popover--9beFUea.js} +1 -1
  138. package/dist/assets/{producer-CbiZgc6J.js → producer-Bnl5fUPj.js} +1 -1
  139. package/dist/assets/{qrart-J971pP46.js → qrart-wThzuN8e.js} +1 -1
  140. package/dist/assets/{realtime-BREbyXcf.js → realtime-BTzMXCJ_.js} +1 -1
  141. package/dist/assets/{row-D_qVkehX.js → row-hkZOEMJa.js} +1 -1
  142. package/dist/assets/{seedance-BmlfSBmq.js → seedance-D2eLWFlZ.js} +1 -1
  143. package/dist/assets/{seedream-gFoZzeV1.js → seedream-alyN--Je.js} +1 -1
  144. package/dist/assets/{select-DprLDS3V.js → select-CEMcZu9_.js} +1 -1
  145. package/dist/assets/{serp-5Qamzg8r.js → serp-C77Yf0iy.js} +1 -1
  146. package/dist/assets/{slider-nr-aHCMU.js → slider-DMBNcoEA.js} +1 -1
  147. package/dist/assets/{solana-wallets-DNXhOZSq.js → solana-wallets-CpBx8jdr.js} +2 -2
  148. package/dist/assets/{solana-wallets-vue-Dn9y7Bxa.js → solana-wallets-vue-DutFGlU3.js} +1 -1
  149. package/dist/assets/{sora-Clk7RHxl.js → sora-Jt0p1oxa.js} +1 -1
  150. package/dist/assets/{suno-Ec4dwExy.js → suno-BwFwSKEs.js} +1 -1
  151. package/dist/assets/{switch-3UBoz0er.js → switch-DN2pyT5S.js} +1 -1
  152. package/dist/assets/{table-CwboN9Vp.js → table-BAjl7eSe.js} +1 -1
  153. package/dist/assets/{tabs-CvN9mtz_.js → tabs-BgADzPAI.js} +1 -1
  154. package/dist/assets/{time-picker-CnpQT7KP.js → time-picker-CE4wIugP.js} +1 -1
  155. package/dist/assets/{tooltip-px5N9jfj.js → tooltip-DdlttMDs.js} +1 -1
  156. package/dist/assets/{upload-pXERHHUa.js → upload-DmubVEU8.js} +1 -1
  157. package/dist/assets/{veo-CJUrFItl.js → veo-1L8lIgCF.js} +1 -1
  158. package/dist/assets/{wan-CF6Ts-hJ.js → wan-CaklTXCH.js} +1 -1
  159. package/dist/assets/{web-BerCFHYw.js → web-5Emy_WI_.js} +1 -1
  160. package/dist/assets/{web-IC_gq9EQ.js → web-B6-vZtOc.js} +1 -1
  161. package/dist/assets/{web-DHjUe9zN.js → web-DcCmrcHo.js} +1 -1
  162. package/dist/assets/{web-0Dfp1juL.js → web-kUgk7fUX.js} +1 -1
  163. package/dist/assets/{web-BOIF3jqb.js → web-s7xwMs5J.js} +1 -1
  164. package/dist/assets/{webextrator-DMPT9Peb.js → webextrator-AewdIGvG.js} +1 -1
  165. package/dist/index.html +3 -3
  166. package/package.json +1 -1
  167. package/dist/assets/Conversation-C5h30JHw.js +0 -1
  168. package/dist/assets/Navigator-BDvoxFry.css +0 -1
  169. package/dist/assets/Navigator-CULd1H3Y.js +0 -5
  170. package/dist/assets/common-B5rFHsYy.js +0 -1
  171. package/dist/assets/common-BAPaJaq4.js +0 -1
  172. package/dist/assets/common-BcMK0ctI.js +0 -1
  173. package/dist/assets/common-BlB1wekm.js +0 -1
  174. package/dist/assets/common-C95kdV5e.js +0 -1
  175. package/dist/assets/common-DtgfyORZ.js +0 -1
  176. package/dist/assets/esm-BqNbrHnI.js +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acedatacloud/nexior",
3
- "version": "3.324.29",
3
+ "version": "3.324.30",
4
4
  "author": "Ace Data Cloud <office@acedata.cloud>",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,S as c,T as l,at as u,b as d,ht as f,it as p,j as m,mt as h,qt as g,rt as _,tt as v,x as y,z as b}from"./vendor-chart-Dw-P17PN.js";import{t as x}from"./upload-pXERHHUa.js";import{t as S}from"./tooltip-px5N9jfj.js";import{t as C}from"./drawer-dctCfMlK.js";import{n as w,r as T,t as E}from"./dropdown-BZN6Garf.js";import{t as D}from"./skeleton-CoheJz5x.js";import{t as O}from"./vendor-axios-Ck2ffRoh.js";import{$i as k,Ai as A,Bi as j,Di as M,Ei as ee,Oi as te,Si as ne,Ti as N,aa as re,ki as ie,na as P,wi as ae,zi as F}from"./constants-DxuoPabX.js";import{Bt as oe,F as se,Gr as I,Ht as ce,Lr as le,N as L,Qr as R,R as ue,Wt as de,Yr as z,Yt as fe,bi as B,en as V,fi as H,gn as pe,hn as me,in as U,j as W,ki as G,li as K,si as q,tn as J,tr as Y,z as he}from"./index-DYpbOsMi.js";import{t as X}from"./index.es-CCeR_gCu.js";import{n as ge,r as _e,t as ve}from"./Message-CFQJy-SQ.js";import{t as ye}from"./FilePreview-Dd_SA5_O.js";import{t as be}from"./ImagePreview-IJBLy2Ky.js";var xe=b({name:`Composer`,components:{FilePreview:ye,ImagePreview:be,ElTooltip:S,FontAwesomeIcon:X,ElUpload:x,ElButton:B,ElDropdown:E,ElDropdownMenu:T,ElDropdownItem:w},mixins:[de,ce],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:R()+`/api/v1/files/`}},computed:{model(){return this.$store.state.chat.model},modelGroup(){return this.$store.state.chat.modelGroup},isVoiceCallSupported(){return this.modelGroup?.isVoiceCallSupported??!1},isFileSupported(){return this.model?.isFileSupported},isImageSupported(){return this.model?.isImageSupported},headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},refs(){let e=[];for(let t of this.fileList){let n=t?.response?.file_url;n&&e.push(t?.name?{url:n,name:t.name}:{url:n})}return e},uploading(){return this.fileList.some(e=>e.status===`ready`||e.status===`uploading`)},extensions(){if(this.isFileSupported===!1&&this.isImageSupported===!0)return`.png,.jpg,.jpeg,.gif,.bmp,.webp,.svg,.tiff,.ico,.heic`},pasteAccept(){return`.png,.jpg,.jpeg,.gif,.bmp,.webp,.svg,.tiff,.ico,.heic,image/*`}},watch:{refs(e){console.debug(`References:`,e),e.length>0&&this.$emit(`update:references`,e)},questionValue(e){this.$emit(`update:question`,e.trim())},question(e){e!==this.questionValue&&(this.questionValue=e)},references(e){console.debug(`References updated:`,e),e.length===0&&(this.fileList=[])},isFileSupported(e,t){t&&!e&&(this.fileList=[])}},methods:{isImageUrl:U,onStartCall(){this.$router.push({name:se})},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(){K.warning(this.$t(`chat.message.uploadReferencesExceed`))},onError(){K.error(this.$t(`chat.message.uploadReferencesError`))},onTriggerUpload(){!this.isFileSupported&&!this.isImageSupported||this.answering||this.$nextTick(()=>{let e=this.$refs.uploader?.$el;(e?.querySelector(`input.el-upload__input`)||e?.querySelector(`input[type="file"]`))?.click()})},onOpenSkills(){window.open(V(`https://auth.acedata.cloud/user/skills`),`_blank`,`noopener`)},onOpenConnections(){window.open(V(`https://auth.acedata.cloud/user/connections`),`_blank`,`noopener`)}}}),Se={class:`composer`},Ce={ref:`uploadTrigger`,class:`upload-trigger`,"aria-hidden":`true`},we={key:0,class:`file-previews`},Te=[`disabled`,`placeholder`],Ee={class:`tools`},De={class:`btn-plus-trigger`},Oe=[`aria-disabled`];function ke(r,p,b,x,S,C){let w=u(`el-upload`),T=u(`image-preview`),E=u(`file-preview`),D=u(`font-awesome-icon`),O=u(`el-tooltip`),k=u(`el-dropdown-item`),A=u(`el-dropdown-menu`),j=u(`el-dropdown`),M=u(`el-button`);return v(),s(`div`,Se,[a(w,{ref:`uploader`,"file-list":r.fileList,"onUpdate:fileList":p[0]||=e=>r.fileList=e,class:`upload-hidden`,accept:r.extensions,disabled:!r.isFileSupported&&!r.isImageSupported||r.answering,name:`file`,limit:10,multiple:!0,action:r.uploadUrl,"show-file-list":!1,"on-exceed":r.onExceed,"on-error":r.onError,"on-progress":r.onProgress,headers:r.headers},{default:h(()=>[e(`span`,Ce,null,512)]),_:1},8,[`file-list`,`accept`,`disabled`,`action`,`on-exceed`,`on-error`,`on-progress`,`headers`]),r.fileList.length>0?(v(),s(`div`,we,[(v(!0),s(l,null,_(r.fileList,e=>(v(),s(l,{key:e.uid},[r.isImageUrl(e.name)?(v(),m(T,{key:0,url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:t=>r.fileList.splice(r.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):(v(),m(E,{key:1,name:e.name,percentage:e.percentage,onRemove:t=>r.fileList.splice(r.fileList.indexOf(e),1)},null,8,[`name`,`percentage`,`onRemove`]))],64))),128))])):o(``,!0),f(e(`textarea`,{ref:`textarea`,"onUpdate:modelValue":p[1]||=e=>r.questionValue=e,disabled:r.answering,class:`input`,placeholder:r.$t(`chat.message.newMessagePlaceholder`),style:g({height:r.inputHeight}),onKeydown:p[2]||=c(t((...e)=>r.onEnterKey&&r.onEnterKey(...e),[`exact`]),[`enter`]),onInput:p[3]||=(...e)=>r.adjustTextareaHeight&&r.adjustTextareaHeight(...e)},null,44,Te),[[d,r.questionValue]]),e(`div`,Ee,[a(j,{trigger:`click`,placement:`top-start`,"hide-on-click":!0,"popper-class":`composer-plus-popper`},{dropdown:h(()=>[a(A,null,{default:h(()=>[a(k,{disabled:!r.isFileSupported&&!r.isImageSupported||r.answering,onClick:r.onTriggerUpload},{default:h(()=>[a(D,{icon:`fa-regular fa-file-alt`,class:`menu-icon`}),e(`span`,null,i(r.$t(`chat.composer.addFiles`)),1)]),_:1},8,[`disabled`,`onClick`]),a(k,{onClick:r.onOpenSkills},{default:h(()=>[a(D,{icon:`fa-solid fa-wand-magic-sparkles`,class:`menu-icon`}),e(`span`,null,i(r.$t(`chat.composer.skills`)),1),a(D,{icon:`fa-solid fa-up-right-from-square`,class:`menu-external`})]),_:1},8,[`onClick`]),a(k,{onClick:r.onOpenConnections},{default:h(()=>[a(D,{icon:`fa-solid fa-plug`,class:`menu-icon`}),e(`span`,null,i(r.$t(`chat.composer.connections`)),1),a(D,{icon:`fa-solid fa-up-right-from-square`,class:`menu-external`})]),_:1},8,[`onClick`])]),_:1})]),default:h(()=>[e(`span`,De,[a(O,{class:`box-item`,effect:`dark`,content:r.$t(`chat.composer.addAction`),placement:`top`},{default:h(()=>[e(`span`,{class:n({btn:!0,"btn-plus":!0,disabled:r.answering}),"aria-disabled":r.answering,role:`button`},[a(D,{icon:`fa-solid fa-plus`,class:`icon icon-plus`})],10,Oe)]),_:1},8,[`content`])])]),_:1}),r.isVoiceCallSupported?(v(),m(O,{key:0,class:`box-item`,effect:`dark`,content:r.$t(`realtime.callTooltip`),placement:`top`},{default:h(()=>[e(`span`,{class:n({btn:!0,"btn-voice":!0}),role:`button`,onClick:p[4]||=(...e)=>r.onStartCall&&r.onStartCall(...e)},[a(D,{icon:`fa-solid fa-microphone`,class:`icon icon-voice`})])]),_:1},8,[`content`])):o(``,!0)]),a(M,{disabled:r.answering||!r.questionValue||r.uploading||!r.ready,type:`primary`,class:n({btn:!0,"btn-send":!0}),onClick:r.onSubmit},{default:h(()=>[a(D,{icon:`fa-solid fa-arrow-up`,class:`icon icon-send`})]),_:1},8,[`disabled`,`onClick`]),f(a(M,{disabled:!r.answering,type:`primary`,class:n({btn:!0,"btn-stop":!0}),onClick:r.onStop},{default:h(()=>[a(D,{icon:`fa-solid fa-stop`,class:`icon icon-stop`})]),_:1},8,[`disabled`,`onClick`]),[[y,r.answering]])])}var Ae=W(xe,[[`render`,ke],[`__scopeId`,`data-v-b779be71`]]),je=b({name:`ModelSelector`,components:{ElDropdown:E,ElDropdownMenu:T,ElDropdownItem:w,FontAwesomeIcon:X},emits:[`update:modelValue`,`select`,`model-group-changed`,`model-changed`],data(){return{options:[N,M,ie,te,ee,A]}},computed:{model(){return console.log(`model`,this.$store.state.chat.model),this.$store.state.chat.model},modelGroup(){return this.$route.meta?.modelGroup||N}},watch:{modelGroup(e){console.debug(`modelGroup from route changed`,e),this.$store.dispatch(`chat/setModelGroup`,e),this.$store.dispatch(`chat/setModel`,e.models[0])}},mounted(){let e=this.modelGroup;this.$store.state.chat?.modelGroup?.name!==e.name&&this.$store.dispatch(`chat/setModelGroup`,e);let t=this.$store.state.chat?.model;e.models.some(e=>e.name===t?.name)||this.$store.dispatch(`chat/setModel`,e.models[0])},methods:{onModelGroupChange(e){this.$store.dispatch(`chat/setModelGroup`,e),this.$emit(`model-group-changed`,e)},onModelChange(e){this.$store.dispatch(`chat/setModel`,e),this.$emit(`model-changed`,e)}}}),Me={class:`selector`},Ne={class:`trigger`},Pe=[`src`],Fe={class:`trigger-name`},Ie={class:`item`},Le=[`src`],Re={class:`item-info`},ze={key:0,class:`item-name`},Be={key:0,class:`item-free-tag`},Ve={key:1,class:`item-desc`};function He(t,c,d,f,p,g){let y=u(`font-awesome-icon`),b=u(`el-dropdown-item`),x=u(`el-dropdown-menu`),S=u(`el-dropdown`);return v(),s(`div`,Me,[a(S,{trigger:`click`,"popper-class":`model-selector-popper`},{dropdown:h(()=>[t.modelGroup&&t.modelGroup?.models?(v(),m(x,{key:0},{default:h(()=>[(v(!0),s(l,null,_(t.modelGroup?.models?.filter(e=>e.enabled),(a,c)=>(v(),m(b,{key:c,class:n({active:t.model?.name===a?.name}),onClick:e=>t.onModelChange(a)},{default:h(()=>[e(`div`,Ie,[a?.icon?(v(),s(`img`,{key:0,src:a.icon,class:`item-icon`},null,8,Le)):o(``,!0),e(`div`,Re,[a?.getDisplayName?(v(),s(`p`,ze,[r(i(a?.getDisplayName())+` `,1),a?.isFree?(v(),s(`span`,Be,i(t.$t(`chat.model.freeTag`)),1)):o(``,!0)])):o(``,!0),a?.getDescription?(v(),s(`p`,Ve,i(a?.getDescription()),1)):o(``,!0)]),t.model?.name===a?.name?(v(),m(y,{key:1,icon:`fa-solid fa-check`,class:`item-check`})):o(``,!0)])]),_:2},1032,[`class`,`onClick`]))),128))]),_:1})):o(``,!0)]),default:h(()=>[e(`div`,Ne,[t.model?.icon?(v(),s(`img`,{key:0,src:t.model.icon,class:`trigger-icon`},null,8,Pe)):o(``,!0),e(`span`,Fe,i(t.model?.getDisplayName?.()??t.model?.name??``),1),a(y,{icon:`fa-solid fa-chevron-down`,class:`trigger-arrow`})])]),_:1})])}var Ue=W(je,[[`render`,He],[`__scopeId`,`data-v-2e6e7a65`]]),We=b({name:`DesktopAgentManager`,components:{ElDialog:H},props:{modelValue:{type:Boolean,default:!1},connected:{type:Boolean,default:!1},agentName:{type:String,default:``},toolCount:{type:Number,default:0},connectedAt:{type:String,default:``}},emits:[`update:modelValue`]}),Ge={class:`agent-manager`},Ke={class:`description`},qe={key:0,class:`status-card connected`},Je={class:`status-header`},Ye={class:`status-text`},Xe={class:`info-row`},Ze={class:`label`},Qe={class:`value`},$e={class:`info-row`},et={class:`label`},tt={class:`value`},nt={class:`info-row`},rt={class:`label`},it={class:`value`},at={class:`hint`},ot={key:1,class:`status-card disconnected`},st={class:`status-header`},ct={class:`status-text`},lt={class:`install-guide`},ut={class:`step-label`},dt={class:`step-label`};function ft(t,n,r,a,o,c){let l=u(`el-dialog`);return v(),m(l,{"model-value":t.modelValue,title:t.$t(`chat.agent.title`),width:`480px`,"onUpdate:modelValue":n[0]||=e=>t.$emit(`update:modelValue`,e)},{default:h(()=>[e(`div`,Ge,[e(`p`,Ke,i(t.$t(`chat.agent.description`)),1),t.connected?(v(),s(`div`,qe,[e(`div`,Je,[n[1]||=e(`span`,{class:`pulse-dot`},null,-1),e(`span`,Ye,i(t.$t(`chat.agent.connected`)),1)]),e(`div`,Xe,[e(`span`,Ze,i(t.$t(`chat.agent.name`))+`:`,1),e(`span`,Qe,i(t.agentName),1)]),e(`div`,$e,[e(`span`,et,i(t.$t(`chat.agent.tools`))+`:`,1),e(`span`,tt,i(t.toolCount),1)]),e(`div`,nt,[e(`span`,rt,i(t.$t(`chat.agent.connectedSince`))+`:`,1),e(`span`,it,i(t.connectedAt),1)]),e(`p`,at,i(t.$t(`chat.agent.connectedHint`)),1)])):(v(),s(`div`,ot,[e(`div`,st,[e(`span`,ct,i(t.$t(`chat.agent.notConnected`)),1)]),e(`div`,lt,[e(`p`,ut,i(t.$t(`chat.agent.installLabel`)),1),n[2]||=e(`code`,{class:`command`},`npm install -g @acedatacloud/desktop-agent`,-1),e(`p`,dt,i(t.$t(`chat.agent.runLabel`)),1),n[3]||=e(`code`,{class:`command`},`adc-agent --token YOUR_API_TOKEN`,-1)])]))])]),_:1},8,[`model-value`,`title`])}var pt=W(We,[[`render`,ft],[`__scopeId`,`data-v-a365b6f4`]]),mt={chatgpt:`openai`,claude:`anthropic`,gemini:`google`,grok:`xai`,deepseek:`deepseek`,kimi:`moonshot`,glm:`zhipu`},ht=b({name:`BYOKBadge`,components:{ElTooltip:S,FontAwesomeIcon:X},data(){return{credentials:[],loaded:!1}},computed:{token(){return this.$store?.state?.chat?.credential?.token},modelGroup(){return this.$store?.state?.chat?.modelGroup?.name},expectedProvider(){let e=this.modelGroup;if(e)return mt[e]},activeCredential(){let e=this.expectedProvider;if(e)return this.credentials.find(t=>t.provider===e&&t.is_active)},providerLabel(){return this.activeCredential?.provider_label},show(){return!!this.activeCredential}},watch:{token:{immediate:!0,handler(e){e&&!this.loaded&&this.fetch()}}},methods:{async fetch(){if(this.token)try{let{data:e}=await me.list({token:this.token});this.credentials=e?.items??[],this.loaded=!0}catch(e){console.debug(`BYOK badge fetch skipped`,e),this.credentials=[]}},onClickManage(){window.dispatchEvent(new CustomEvent(`open-user-settings`,{detail:{tab:`apiKey`}}))}}}),gt={class:`badge-text`};function _t(t,n,r,s,c,l){let d=u(`font-awesome-icon`),f=u(`el-tooltip`);return t.show&&t.providerLabel?(v(),m(f,{key:0,content:`${t.$t(`byok.badge.tooltip`,{provider:t.providerLabel})} — ${t.$t(`byok.badge.manage`)}`,placement:`bottom`},{default:h(()=>[e(`button`,{type:`button`,class:`byok-badge`,onClick:n[0]||=(...e)=>t.onClickManage&&t.onClickManage(...e)},[a(d,{icon:`fa-solid fa-key`,class:`badge-icon`}),e(`span`,gt,i(t.$t(`byok.badge.active`,{provider:t.providerLabel})),1)])]),_:1},8,[`content`])):o(``,!0)}var vt=W(ht,[[`render`,_t],[`__scopeId`,`data-v-2875e3f2`]]),yt=b({name:`ShareConversationDialog`,components:{ElDialog:H,ElInput:G,ElButton:B,FontAwesomeIcon:X},props:{modelValue:{type:Boolean,default:!1},conversationId:{type:String,default:void 0},shareId:{type:String,default:void 0}},emits:[`update:modelValue`,`update:shareId`],data(){return{localShareId:this.shareId,creating:!1,disabling:!1,copied:!1}},computed:{visible:{get(){return this.modelValue},set(e){this.$emit(`update:modelValue`,e)}},token(){return this.$store.state.chat?.credential?.token},shareUrl(){return this.localShareId?`${typeof window<`u`?window.location.origin:``}/share/${this.localShareId}`:``}},watch:{shareId(e){this.localShareId=e},modelValue(e){e&&(this.localShareId=this.shareId,this.copied=!1)}},methods:{selectAll(e){e.target?.select?.()},async onCreate(){if(!this.token){K.error(this.$t(`chat.share.needLogin`));return}if(!this.conversationId){K.error(this.$t(`chat.share.noConversation`));return}this.creating=!0;try{let{data:e}=await Y.shareConversation(this.conversationId,{token:this.token}),t=e?.share_id;if(!t)throw Error(`missing share_id`);this.localShareId=t,this.$emit(`update:shareId`,t)}catch(e){console.error(`shareConversation failed`,e),K.error(this.$t(`chat.share.createFailed`))}finally{this.creating=!1}},onCopy(){this.shareUrl&&(fe(this.shareUrl,{debug:!1}),this.copied=!0,K.success(this.$t(`chat.share.copied`)),setTimeout(()=>{this.copied=!1},2500))},async onDisable(){if(!this.token||!this.conversationId){this.localShareId=void 0,this.$emit(`update:shareId`,void 0);return}this.disabling=!0;try{await Y.unshareConversation(this.conversationId,{token:this.token}),this.localShareId=void 0,this.$emit(`update:shareId`,void 0),K.success(this.$t(`chat.share.disabled`))}catch(e){console.error(`unshareConversation failed`,e),K.error(this.$t(`chat.share.disableFailed`))}finally{this.disabling=!1}}}}),bt={class:`share-desc`},xt={key:0,class:`share-linked`},St={class:`share-url-row`},Ct={key:1,class:`share-create`};function wt(t,n,o,c,l,d){let f=u(`el-input`),p=u(`el-button`),g=u(`font-awesome-icon`),_=u(`el-dialog`);return v(),m(_,{modelValue:t.visible,"onUpdate:modelValue":n[2]||=e=>t.visible=e,width:`460px`,title:t.$t(`chat.share.dialogTitle`),"close-on-click-modal":!0},{footer:h(()=>[a(p,{onClick:n[1]||=e=>t.visible=!1},{default:h(()=>[r(i(t.$t(`common.button.close`)),1)]),_:1})]),default:h(()=>[e(`p`,bt,i(t.$t(`chat.share.description`)),1),t.localShareId?(v(),s(`div`,xt,[e(`div`,St,[a(f,{modelValue:t.shareUrl,"onUpdate:modelValue":n[0]||=e=>t.shareUrl=e,readonly:``,class:`share-url`,onFocus:t.selectAll},null,8,[`modelValue`,`onFocus`]),a(p,{type:`primary`,onClick:t.onCopy},{default:h(()=>[r(i(t.copied?t.$t(`chat.share.copied`):t.$t(`chat.share.copy`)),1)]),_:1},8,[`onClick`])]),a(p,{link:``,type:`danger`,class:`share-disable`,loading:t.disabling,onClick:t.onDisable},{default:h(()=>[a(g,{icon:`fa-solid fa-link-slash`,class:`mr-1`}),r(` `+i(t.$t(`chat.share.disable`)),1)]),_:1},8,[`loading`,`onClick`])])):(v(),s(`div`,Ct,[a(p,{type:`primary`,round:``,loading:t.creating,onClick:t.onCreate},{default:h(()=>[a(g,{icon:`fa-solid fa-link`,class:`mr-1`}),r(` `+i(t.$t(`chat.share.createLink`)),1)]),_:1},8,[`loading`,`onClick`])]))]),_:1},8,[`modelValue`,`title`])}var Z=W(yt,[[`render`,wt],[`__scopeId`,`data-v-0d1ca31a`]]),Tt={},Et={class:`disclaimer`};function Dt(e,t){return v(),s(`p`,Et,i(e.$t(`chat.message.howToUse`)),1)}var Ot=W(Tt,[[`render`,Dt],[`__scopeId`,`data-v-d2d980ab`]]),Q=5,kt=b({name:`ConnectorStrip`,components:{ElTooltip:S},data(){return{enabledConnectors:[],loadSeq:0}},computed:{visibleConnectors(){return this.enabledConnectors.length<=Q?this.enabledConnectors:this.enabledConnectors.slice(0,Q-1)},overflowCount(){return this.enabledConnectors.length<=Q?0:this.enabledConnectors.length-(Q-1)},userId(){return this.$store.getters.user?.id??null}},watch:{userId(){this.enabledConnectors=[],this.loadConnectors(!0)}},mounted(){this.loadConnectors(),document.addEventListener(`visibilitychange`,this.onVisibilityChange)},beforeUnmount(){document.removeEventListener(`visibilitychange`,this.onVisibilityChange)},methods:{async loadConnectors(e=!1){let t=this.userId,n=++this.loadSeq,r=await ge(t,e);n===this.loadSeq&&this.userId===t&&(this.enabledConnectors=r)},onVisibilityChange(){document.visibilityState===`visible`&&this.loadConnectors(!0)},onOpen(){oe()}}}),At={key:0,class:`connector-strip`},jt=[`src`,`alt`];function Mt(t,n,r,a,c,d){let f=u(`el-tooltip`);return t.visibleConnectors.length>0?(v(),s(`div`,At,[(v(!0),s(l,null,_(t.visibleConnectors,r=>(v(),m(f,{key:r.id,effect:`dark`,content:r.name,placement:`top`},{default:h(()=>[e(`span`,{class:`connector-chip`,role:`button`,onClick:n[0]||=(...e)=>t.onOpen&&t.onOpen(...e)},[e(`img`,{class:`connector-icon`,src:r.icon_url,alt:r.name,loading:`lazy`},null,8,jt)])]),_:2},1032,[`content`]))),128)),t.overflowCount>0?(v(),m(f,{key:0,effect:`dark`,content:t.$t(`chat.composer.connections`),placement:`top`},{default:h(()=>[e(`span`,{class:`connector-chip connector-more`,role:`button`,onClick:n[1]||=(...e)=>t.onOpen&&t.onOpen(...e)},` +`+i(t.overflowCount),1)]),_:1},8,[`content`])):o(``,!0)])):o(``,!0)}var Nt=W(kt,[[`render`,Mt],[`__scopeId`,`data-v-281663b0`]]),Pt=b({name:`SidePanel`,components:{ElInput:G,ElButton:B,ElDialog:H,ElDropdown:E,ElDropdownItem:w,ElDropdownMenu:T,FontAwesomeIcon:X,ElSkeleton:D,ShareConversationDialog:Z},props:{},emits:[`change-conversation`],data(){return{renameDialogVisible:!1,deleteDialogVisible:!1,shareDialogVisible:!1,actingConversation:void 0,renameDraft:``,renameSubmitting:!1,deleteSubmitting:!1}},computed:{conversationId(){return console.debug(`conversationId in side`,this.$route.params?.id),this.$route.params?.id?.toString()},conversations(){return this.$store.state.chat.conversations},conversationGroups(){let e=new Date;e.setHours(0,0,0,0);let t=new Date(e);t.setDate(t.getDate()-1);let n=new Date(e);n.setDate(n.getDate()-e.getDay());let r=new Date(n);r.setDate(r.getDate()-7);let i=this.conversations?.reduce((r,i)=>{let a=new Date(i.updated_at*1e3);return a>=e?r.today.push(i):a>=t?r.yesterday.push(i):a>=n?r.thisWeek.push(i):r.earlier.push(i),r},{today:[],yesterday:[],thisWeek:[],earlier:[]});return{...i?.today?.length>0?{today:i?.today?.sort((e,t)=>t.updated_at-e.updated_at)}:{},...i?.yesterday?.length>0?{yesterday:i?.yesterday?.sort((e,t)=>t.updated_at-e.updated_at)}:{},...i?.thisWeek?.length>0?{thisWeek:i?.thisWeek?.sort((e,t)=>t.updated_at-e.updated_at)}:{},...i?.earlier?.length>0?{earlier:i?.earlier?.sort((e,t)=>t.updated_at-e.updated_at)}:{}}},application(){return this.$store.state.chat.application},loading(){return this.$store.state.chat.status.getConversations===z.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:he})},onArtifacts(){this.$router.push({name:ue})},onClickConversation(e){console.debug(`onClickConversation in side panel`,e),this.$emit(`change-conversation`,e)},getConversationTitle(e){return e?.title||e?.last_message_preview||``},onConversationCommand(e,t){e===`rename`?this.openRenameDialog(t):e===`delete`?this.openDeleteDialog(t):e===`share`&&this.openShareDialog(t)},openShareDialog(e){this.actingConversation=e,this.shareDialogVisible=!0},onShareIdUpdated(e){this.actingConversation&&(this.actingConversation.share_id=e,this.$store.dispatch(`chat/setConversation`,{...this.actingConversation,share_id:e}))},openRenameDialog(e){this.actingConversation=e,this.renameDraft=(e?.title||``).trim(),this.renameDialogVisible=!0},openDeleteDialog(e){this.actingConversation=e,this.deleteDialogVisible=!0},async onConfirmRename(){let e=this.token,t=this.actingConversation?.id,n=(this.renameDraft||``).trim();if(!e){K.error(`Token 不存在,请重新登录`);return}if(!t){K.error(`会话不存在`);return}if(!n){K.warning(`请输入名称`);return}this.renameSubmitting=!0;try{await Y.updateConversation({id:t,title:n},{token:e}),await this.$store.dispatch(`chat/getConversations`),this.renameDialogVisible=!1,K.success(`已重命名`)}catch(e){console.error(e),K.error(`重命名失败,请稍后重试`)}finally{this.renameSubmitting=!1}},async onConfirmDelete(){let e=this.token,t=this.actingConversation?.id;if(!e){K.error(`Token 不存在,请重新登录`);return}if(!t){K.error(`会话不存在`);return}this.deleteSubmitting=!0;try{await Y.deleteConversation(t,{token:e}),await this.$store.dispatch(`chat/getConversations`),t===this.conversationId&&this.$emit(`change-conversation`,void 0),this.deleteDialogVisible=!1,K.success(`已删除`)}catch(e){console.error(e),K.error(`删除失败,请稍后重试`)}finally{this.deleteSubmitting=!1}}}}),Ft={class:`panel`},It={key:1,class:`conversations`},Lt={class:`icons`},Rt={class:`title`},zt={class:`icons`},Bt={class:`title`},Vt={class:`icons`},Ht={class:`title`},Ut={class:`key`},Wt=[`onClick`],Gt={class:`title`},Kt={class:`operations`};function qt(o,d,f,p,g,y){let b=u(`el-skeleton`),x=u(`font-awesome-icon`),S=u(`el-dropdown-item`),C=u(`el-dropdown-menu`),w=u(`el-dropdown`),T=u(`el-input`),E=u(`el-button`),D=u(`el-dialog`),O=u(`share-conversation-dialog`);return v(),s(`div`,Ft,[o.loading&&o.conversationGroups===void 0?(v(),m(b,{key:0})):(v(),s(`div`,It,[e(`div`,{class:`conversation`,onClick:d[0]||=(...e)=>o.onNewConversation&&o.onNewConversation(...e)},[e(`div`,Lt,[a(x,{icon:`fa-solid fa-plus`,class:`icon`})]),e(`div`,Rt,i(o.$t(`chat.message.startNewChat`)),1)]),e(`div`,{class:`conversation`,onClick:d[1]||=(...e)=>o.onScheduledTasks&&o.onScheduledTasks(...e)},[e(`div`,zt,[a(x,{icon:`fa-solid fa-clock`,class:`icon`})]),e(`div`,Bt,i(o.$t(`chat.scheduledTasks.navTitle`)),1)]),e(`div`,{class:`conversation`,onClick:d[2]||=(...e)=>o.onArtifacts&&o.onArtifacts(...e)},[e(`div`,Vt,[a(x,{icon:`fa-solid fa-box-archive`,class:`icon`})]),e(`div`,Ht,i(o.$t(`chat.artifacts.navTitle`)),1)]),(v(!0),s(l,null,_(o.conversationGroups,(c,u)=>(v(),s(`div`,{key:u,class:`group`},[e(`div`,Ut,i(o.$t(`chat.group.${u}`)),1),(v(!0),s(l,null,_(c,(c,l)=>(v(),s(`div`,{key:l,class:n({conversation:!0,active:c.id===o.conversationId}),onClick:e=>o.onClickConversation(c.id)},[e(`div`,Gt,i(o.getConversationTitle(c)),1),e(`div`,Kt,[a(w,{trigger:`click`,placement:`bottom-end`,teleported:!0,onCommand:e=>o.onConversationCommand(e,c)},{dropdown:h(()=>[a(C,null,{default:h(()=>[a(S,{command:`rename`,onClick:d[4]||=t(()=>{},[`stop`])},{default:h(()=>[a(x,{icon:`fa-solid fa-pen-to-square`,class:`mr-2`}),d[13]||=r(` 重命名 `,-1)]),_:1}),a(S,{command:`share`,onClick:d[5]||=t(()=>{},[`stop`])},{default:h(()=>[a(x,{icon:`fa-solid fa-share-nodes`,class:`mr-2`}),r(` `+i(o.$t(`chat.share.menu`)),1)]),_:1}),a(S,{command:`delete`,onClick:d[6]||=t(()=>{},[`stop`])},{default:h(()=>[a(x,{icon:`fa-solid fa-trash`,class:`mr-2`}),r(` `+i(o.$t(`common.button.delete`)),1)]),_:1})]),_:1})]),default:h(()=>[e(`span`,{class:`more`,onClick:d[3]||=t(()=>{},[`stop`])},[a(x,{icon:`fa-solid fa-ellipsis`})])]),_:1},8,[`onCommand`])])],10,Wt))),128))]))),128))])),a(D,{modelValue:o.renameDialogVisible,"onUpdate:modelValue":d[9]||=e=>o.renameDialogVisible=e,width:`420px`,title:`重命名`,"close-on-click-modal":!1},{footer:h(()=>[a(E,{onClick:d[8]||=e=>o.renameDialogVisible=!1},{default:h(()=>[r(i(o.$t(`common.button.cancel`)),1)]),_:1}),a(E,{type:`primary`,loading:o.renameSubmitting,onClick:o.onConfirmRename},{default:h(()=>[r(i(o.$t(`common.button.confirm`)),1)]),_:1},8,[`loading`,`onClick`])]),default:h(()=>[a(T,{modelValue:o.renameDraft,"onUpdate:modelValue":d[7]||=e=>o.renameDraft=e,autofocus:``,onKeydown:c(o.onConfirmRename,[`enter`])},null,8,[`modelValue`,`onKeydown`])]),_:1},8,[`modelValue`]),a(D,{modelValue:o.deleteDialogVisible,"onUpdate:modelValue":d[11]||=e=>o.deleteDialogVisible=e,width:`420px`,title:o.$t(`chat.message.confirmDelete`),"close-on-click-modal":!1},{footer:h(()=>[a(E,{onClick:d[10]||=e=>o.deleteDialogVisible=!1},{default:h(()=>[r(i(o.$t(`common.button.cancel`)),1)]),_:1}),a(E,{type:`danger`,loading:o.deleteSubmitting,onClick:o.onConfirmDelete},{default:h(()=>[r(i(o.$t(`common.button.delete`)),1)]),_:1},8,[`loading`,`onClick`])]),default:h(()=>[d[14]||=e(`div`,{class:`delete-tip`},`确认删除该会话?删除后不可恢复。`,-1)]),_:1},8,[`modelValue`,`title`]),a(O,{modelValue:o.shareDialogVisible,"onUpdate:modelValue":d[12]||=e=>o.shareDialogVisible=e,"conversation-id":o.actingConversation?.id,"share-id":o.actingConversation?.share_id,"onUpdate:shareId":o.onShareIdUpdated},null,8,[`modelValue`,`conversation-id`,`share-id`,`onUpdate:shareId`])])}var Jt=b({name:`LayoutChat`,components:{SidePanel:W(Pt,[[`render`,qt],[`__scopeId`,`data-v-aff7c556`]]),ElDrawer:C,ElButton:B,FontAwesomeIcon:X},emits:[`change-conversation`],data(){return{drawer:!1}},methods:{onChangeConversation(e){console.debug(`onChangeConversation in layout`,e),this.$emit(`change-conversation`,e)}}}),Yt={class:`main`},Xt={class:`side`},Zt={class:`chat`};function Qt(t,n,r,i,o,c){let l=u(`side-panel`),d=u(`font-awesome-icon`),f=u(`el-button`),m=u(`el-drawer`);return v(),s(`div`,Yt,[e(`div`,Xt,[p(t.$slots,`side`,{},()=>[a(l,{onChangeConversation:t.onChangeConversation},null,8,[`onChangeConversation`])],!0)]),e(`div`,Zt,[p(t.$slots,`chat`,{},void 0,!0)]),a(f,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:h(()=>[a(d,{icon:`fa-solid fa-bars`})]),_:1}),a(m,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`290px`},{default:h(()=>[a(l,{onChangeConversation:t.onChangeConversation},null,8,[`onChangeConversation`])]),_:1},8,[`modelValue`])])}var $t=W(Jt,[[`render`,Qt],[`__scopeId`,`data-v-7418117b`]]);function $(e){return typeof e==`string`&&e.trim().length>0?e:Array.isArray(e)&&typeof e[0]==`string`&&e[0].trim().length>0?e[0]:null}function en(e){let t=$(e.consent),n=$(e.connector);return!t||!n?null:{consentRequestId:t,connector:n}}function tn(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.role===`assistant`&&Array.isArray(r.content)){for(let e=r.content.length-1;e>=0;e--){let n=r.content[e];if(n.type!==`tool_use`||n.tool_name!==`request_user_consent`||n.status!==`awaiting_input`)continue;let i=n.pending_consent_request;if(!(!i||i.consent_request_id!==t)&&n.tool_id)return{toolUseId:n.tool_id,payload:i}}break}}return null}function nn(e,t){return _e(e,[t],[])}function rn(e,t){try{let n=new URL(e),r=n.searchParams.get(`return_to`);if(!r||!t)return e;let i=new URL(r),a=i.pathname.match(/^\/chat\/c\/([^/]+)/);if(!a)return e;let o=a[1],s=new URL(`${i.origin}${t}/conversations/${o}`);return i.searchParams.forEach((e,t)=>s.searchParams.set(t,e)),n.searchParams.set(`return_to`,s.toString()),n.toString()}catch{return e}}function an(e){return Array.isArray(e?.messages)&&e.messages.length>0}var on=b({name:`ChatConversation`,components:{Composer:Ae,Disclaimer:Ot,ConnectorStrip:Nt,ModelSelector:Ue,DesktopAgentManager:pt,"byok-badge":vt,ShareConversationDialog:Z,Message:ve,Layout:$t,ElTooltip:S,ElButton:B,FontAwesomeIcon:X},data(){return{drawer:!1,question:``,references:[],localTools:[],pendingClientTools:[],clientToolRunId:0,upload:!1,answering:!1,canceler:void 0,agentManagerVisible:!1,agentConnected:!1,agentName:``,agentToolCount:0,agentConnectedAt:``,shareDialogVisible:!1,skipNextRestoreId:void 0,messages:[],pendingConsentReturn:null}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},model(){return this.$store.state.chat.model},conversationId(){return this.$route.params.id?.toString()},conversation(){return this.$store.state.chat.conversations?.find(e=>e.id===this.conversationId)},service(){return this.$store.state.chat.service},application(){return this.$store.state.chat.application},applications(){return this.$store.state.chat.applications},credential(){return this.$store.state.chat?.credential},needApply(){return this.$store.state.chat.status.getApplications===z.Success&&!this.application},conversations(){return this.$store.state.chat.conversations},initializing(){return this.$store.state.chat.status.getApplications===z.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(),q()&&(this.localTools=await L()?.listTools()??[])},methods:{resetConversation(){this.messages=[],this.question=``,this.references=[],this.pendingClientTools=[]},onShareIdUpdated(e){this.conversation&&this.$store.dispatch(`chat/setConversation`,{...this.conversation,share_id:e})},async onRestoreCurrentConversation(){let e=this.conversationId;if(!(!e||!this.credential?.token)){if(this.skipNextRestoreId===e){this.skipNextRestoreId=void 0;return}await this.onRestoreConversation(e)}},async onCheckAgentStatus(){let e=this.credential?.token;if(e)try{let{data:t}=await pe.status(e);this.agentConnected=t?.connected===!0,this.agentName=t?.name||``,this.agentToolCount=t?.tool_count||0,this.agentConnectedAt=t?.connected_at||``}catch{this.agentConnected=!1}},onConsumePendingDraft(){if(this.conversationId||this.question&&this.question.trim().length>0)return;let e=this.$store.state.chat?.pendingDraft;e&&(this.question=e)},onApplyQueryFromUrl(){let e=this.$route.query?.query,t=Array.isArray(e)?e[0]:e;if(!t||typeof t!=`string`||this.conversationId)return;if(this.question&&this.question.trim().length>0){let e=this.$store.state.chat?.pendingDraft;if(!(e!=null&&this.question===e))return}this.question=t;let n=new Set([`query`,`source`,`suggestion_id`,`connector`]),r={};for(let[e,t]of Object.entries(this.$route.query||{}))n.has(e)||t!=null&&(r[e]=t);this.$router.replace({path:this.$route.path,query:r})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`chat/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`chat/getApplications`),console.debug(`end onGetApplication`)},async onDraft(e){this.question=e,this.onSubmit()},async onStop(){this.pendingClientTools=[],this.clientToolRunId++,this.canceler&&(this.canceler.abort(),this.answering=!1)},async onRestart(e){let t=this.messages.findIndex(t=>t===e),n=this.messages[t-1],r=[];if(t!==-1){if(r=this.messages.slice(0,t-1),this.messages=this.messages.slice(0,t),this.references=[],typeof n.content==`string`)this.question=n.content;else if(Array.isArray(n.content))for(let e of n.content)if(e.type===`image_url`||e.type===`file_url`){let t=e.type===`image_url`?e.image_url:e.file_url,n=typeof t==`string`?t:t?.url;n&&this.references.push(e.name?{url:n,name:e.name}:{url:n})}else e.type===`text`&&e.text&&(this.question=e.text)}console.debug(`onRestart!`,this.question,JSON.stringify(this.references));let i=this.credential?.token,a=this.question.trim();if(!i||!a){console.error(`no token or endpoint or question`),this.messages.push({error:{code:P},role:F,state:I.FAILED});return}let o=this.conversationId;Y.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:P},role:F,state:I.FAILED});return}let i=this.conversationId;Y.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:j}),console.debug(`onEdit`,this.question),await this.onRequest()}).catch(e=>{this.handleRequestError(e)})},conversationsPath(e){let t=this.$route.matched[0]?.path??``;return e?`${t}/conversations/${e}`:`${t}/conversations`},async onNewConversation(){this.conversationId?await this.$router.push(this.conversationsPath()):this.resetConversation()},async onRestoreConversation(e){console.debug(`onRestoreConversation id`,e);let t=this.conversations?.find(t=>t.id===e);if(!an(t)){let n=await this.$store.dispatch(`chat/getConversation`,e);n&&(t=n)}let n=t?.model,r=ne.find(e=>e.name===n),i=ae.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(J()){if(this.references.length>0){let e=[{type:`text`,text:this.question.trim()}];for(let t of this.references){let n=U(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:j})}else this.messages.push({content:this.question.trim(),role:j});console.debug(`onSubmit`,this.question,this.references),await this.onRequest()}},async onRequest(){if(!J())return;q()&&(this.localTools=await L()?.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:P},role:F,state:I.FAILED});return}let r=this.conversationId;this.messages.push({content:``,role:F,state:I.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,n=[];for(let r of e){let e=t.find(e=>e.type===`tool_use`&&e.tool_id===r.tool_use_id);if(e&&(e.status=`done`,e.output=r.output,r.is_error&&(e.is_error=!0),delete e.pending_question),r.image&&this._isValidResultImage(r.image)){let e=`${r.tool_use_id} screenshot`,i=t.some(t=>t.type===`image_url`&&t.alt===e),a=n.some(t=>t.alt===e);!i&&!a&&n.push({type:`image_url`,image_url:{url:r.image},alt:e})}}n.length&&t.push(...n)}this.messages.push({content:``,role:F,state:I.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!q()||!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 L()?.invoke({name:e,input:a,sessionId:r})??{output:`local execution unavailable`,is_error:!0}}catch(e){o={output:e instanceof Error?e.message:String(e),is_error:!0}}let s=o.image?await this._hostToolResultImage(o.image)||o.image:void 0;i.push({tool_use_id:t.toolId,output:o.output,...o.is_error?{is_error:!0}:{},...s?{image:s}:{}})}n!==void 0&&n!==this.clientToolRunId||this._resumeWithToolResults(i,t)},_isValidResultImage(e){return!e||e.length>6e6?!1:e.startsWith(`https://`)?!/\s/.test(e):/^data:image\/(png|jpe?g|webp);base64,[A-Za-z0-9+/]+={0,2}$/.test(e)},async _hostToolResultImage(e){if(!e||!e.startsWith(`data:`))return e||null;let t=this.$store.getters.token?.access;if(!t)return null;try{let n=await(await fetch(e)).blob(),r=(n.type.split(`/`)[1]||`png`).split(`;`)[0],i=new FormData;i.append(`file`,n,`screenshot.${r}`);let a=await fetch(`${R()}/api/v1/files/`,{method:`POST`,headers:{Authorization:`Bearer ${t}`},body:i});if(!a.ok)return null;let o=await a.json(),s=o?.file_url||o?.data?.file_url;return typeof s==`string`&&s?s:null}catch(e){return console.warn(`[computer-use] screenshot upload failed; sending inline`,e),null}},onSkipAskUserQuestion(e){let t=[...this.messages].reverse().find(e=>e.role===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:I.PENDING}),this.onScrollDown(),this.answering=!0,this.canceler=new AbortController,this._streamAssistantTurn({id:this.conversationId,model:this.model.name,stateful:!0,tool_results:[{tool_use_id:e.tool_use_id,output:e.output}],...this._localToolInjection()},t,this.conversationId)},onAuthorizeConnector(e){let t=e.entry?.install_url;if(!t){console.warn(`authorize click with no install_url`,e);return}let n=this.$route.matched[0]?.path??``;window.location.href=rn(t,n)},onCaptureConsentReturnFromUrl(){let e=en(this.$route.query||{});e&&(this.pendingConsentReturn=e)},onConsumePendingConsentReturn(){let e=this.pendingConsentReturn;if(!e||this.messages.length===0)return;let t=tn(this.messages,e.consentRequestId);if(!t)return;this.pendingConsentReturn=null;let n=nn(t.payload,e.connector);this.stripConsentReturnFromUrl(),this.onRespondConnectorConsent({tool_use_id:t.toolUseId,output:n})},stripConsentReturnFromUrl(){let e={};for(let[t,n]of Object.entries(this.$route.query||{}))t===`consent`||t===`connector`||n!=null&&(e[t]=n);this.$router.replace({path:this.$route.path,query:e})},_streamAssistantTurn(e,t,n){let r=n,i=this.messages.length-1,a=[],o=new Map,s=``,c=0;Y.chatConversation(e,{token:t,stream:e=>{console.debug(`stream response`,e);let t=this.messages[i];if(e.type===`thinking`&&e.content){let t=this.messages[i];t.thinking=(t.thinking??``)+e.content}else if(e.type===`tool_use_start`&&e.tool_id){let t=o.get(e.tool_id);t?(e.tool_name&&(t.tool_name=e.tool_name),e.tool_display_name&&(t.tool_display_name=e.tool_display_name),e.input&&Object.keys(e.input).length>0&&(t.input=e.input)):(s&&(a.push({type:`text`,text:s}),s=``,c=e.answer?.length??0),t={type:`tool_use`,tool_id:e.tool_id,tool_name:e.tool_name,tool_display_name:e.tool_display_name,input:e.input,status:`running`},a.push(t),o.set(e.tool_id,t)),q()&&e.execution===`client`&&!this.pendingClientTools.some(t=>t.toolId===e.tool_id)&&(t.status=`awaiting_input`,this.pendingClientTools.push({toolId:e.tool_id,name:e.tool_name||``,input:e.input||{}}))}else if(e.type===`tool_progress`&&e.tool_id){let t=o.get(e.tool_id);t&&(t.input_stream=(t.input_stream??``)+(e.progress??``))}else if(e.type===`tool_result`&&e.tool_id){let t=o.get(e.tool_id);t&&(t.output=e.output,t.is_error=e.is_error,t.duration_ms=e.duration_ms,t.status=`done`,delete t.input_stream,delete t.pending_question)}else if(e.type===`ask_user_question`&&e.tool_id&&e.payload){let t=o.get(e.tool_id);t&&(t.status=`awaiting_input`,t.pending_question=e.payload)}else if(e.type===`consent_request`&&e.tool_id&&e.payload){let t=o.get(e.tool_id);t&&(t.status=`awaiting_input`,t.pending_consent_request=e.payload)}else if(e.type===`artifact`&&e.artifact)e.artifact.type===`image`||e.artifact.mimeType?.startsWith(`image/`)?a.push({type:`image_url`,image_url:e.artifact.url,name:e.artifact.name,mimeType:e.artifact.mimeType}):a.push({type:`file_url`,file_url:e.artifact.url,name:e.artifact.name,mimeType:e.artifact.mimeType});else if(e.type===`card`&&e.card)s&&(a.push({type:`text`,text:s}),s=``,c=e.answer?.length??0),a.push({type:`card`,card:e.card});else if(e.type===`citation`&&e.citation){let t=this.messages[i];t.citations={...t.citations??{},[e.citation.id]:e.citation}}else e.delta_answer&&(s=(e.answer||``).slice(c));let n=[...a];s&&n.push({type:`text`,text:s}),n.length>0?this.messages[i]={role:F,content:n,thinking:t?.thinking,citations:t?.citations,state:t?.state===I.FINISHED?t?.state:I.ANSWERING}:this.messages[i]={role:F,content:e.answer,thinking:t?.thinking,citations:t?.citations,state:t?.state===I.FINISHED?t?.state:I.ANSWERING},r=e?.id},signal:this.canceler.signal}).then(async()=>{if(console.debug(`finished fetch answer`,this.messages),this.messages[i].state=I.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=I.FAILED),e.name===`AbortError`){console.error(`aborted`),this.answering=!1;return}else e instanceof le?(console.debug(`BaseError`,e),r&&(r.error={code:e.code,message:e.detail})):O.isCancel(e)?r&&(r.error={code:k}):r&&(r.error={code:re});this.answering=!1},async onScrollDown(){setTimeout(()=>{let e=document.querySelector(`.messages`);!e||!this.messages||this.messages.length===0||(e.scrollTop=e?.scrollHeight)},0)}}}),sn={class:`toolbar`},cn={class:`toolbar-left`},ln={class:`toolbar-actions`},un={key:0,class:`messages`},dn={class:`starter`},fn={class:`composer-connectors`};function pn(t,r,i,c,d,f){let p=u(`model-selector`),g=u(`byok-badge`),y=u(`font-awesome-icon`),b=u(`el-button`),x=u(`el-tooltip`),S=u(`desktop-agent-manager`),C=u(`share-conversation-dialog`),w=u(`message`),T=u(`connector-strip`),E=u(`composer`),D=u(`disclaimer`),O=u(`layout`);return v(),m(O,{onChangeConversation:r[8]||=e=>t.onChangeConversation(e)},{chat:h(()=>[e(`div`,sn,[e(`div`,cn,[a(p,{class:`selector`,onModelGroupChanged:r[0]||=e=>t.onChangeConversation(void 0)}),a(g,{class:`byok-badge`})]),e(`div`,ln,[t.conversationId?(v(),m(x,{key:0,content:t.$t(`chat.share.menu`),placement:`bottom`},{default:h(()=>[a(b,{class:`toolbar-btn`,text:``,onClick:r[1]||=e=>t.shareDialogVisible=!0},{default:h(()=>[a(y,{icon:`fa-solid fa-share-nodes`})]),_:1})]),_:1},8,[`content`])):o(``,!0),o(``,!0)])]),t.agentManagerVisible?(v(),m(S,{key:0,modelValue:t.agentManagerVisible,"onUpdate:modelValue":r[3]||=e=>t.agentManagerVisible=e,connected:t.agentConnected,"agent-name":t.agentName,"tool-count":t.agentToolCount,"connected-at":t.agentConnectedAt},null,8,[`modelValue`,`connected`,`agent-name`,`tool-count`,`connected-at`])):o(``,!0),a(C,{modelValue:t.shareDialogVisible,"onUpdate:modelValue":r[4]||=e=>t.shareDialogVisible=e,"conversation-id":t.conversationId,"share-id":t.conversation?.share_id,"onUpdate:shareId":t.onShareIdUpdated},null,8,[`modelValue`,`conversation-id`,`share-id`,`onUpdate:shareId`]),e(`div`,{class:n({dialogue:!0,empty:t.messages.length===0})},[t.messages.length>0?(v(),s(`div`,un,[(v(!0),s(l,null,_(t.messages,(e,n)=>(v(),m(w,{key:n,message:e,messages:t.messages,question:t.question,application:t.application,class:`message`,"onUpdate:question":r[5]||=e=>t.question=e,onEdit:t.onEdit,onRestart:t.onRestart,onAnswerAskUserQuestion:t.onAnswerAskUserQuestion,onSkipAskUserQuestion:t.onSkipAskUserQuestion,onRespondConnectorConsent:t.onRespondConnectorConsent,onAuthorizeConnector:t.onAuthorizeConnector},null,8,[`message`,`messages`,`question`,`application`,`onEdit`,`onRestart`,`onAnswerAskUserQuestion`,`onSkipAskUserQuestion`,`onRespondConnectorConsent`,`onAuthorizeConnector`]))),128))])):o(``,!0),e(`div`,dn,[e(`div`,fn,[a(T)]),a(E,{question:t.question,"onUpdate:question":r[6]||=e=>t.question=e,answering:t.answering,ready:t.ready,references:t.references,"onUpdate:references":r[7]||=e=>t.references=e,onSubmit:t.onSubmit,onStop:t.onStop},null,8,[`question`,`answering`,`ready`,`references`,`onSubmit`,`onStop`]),a(D,{class:`composer-disclaimer`})])],2)]),_:1})}var mn=W(on,[[`render`,pn],[`__scopeId`,`data-v-85efdf10`]]);export{mn as default};
@@ -1 +0,0 @@
1
- .avatar[data-v-b0beddd3]{width:35px;height:35px;max-width:initial;max-height:initial;-o-object-fit:cover;object-fit:cover;cursor:pointer;border-radius:50%;transition:transform .2s,box-shadow .2s}.avatar[data-v-b0beddd3]:hover{box-shadow:0 0 0 2px var(--el-color-primary-light-5)}.github-link[data-v-4ba8d533]{color:var(--el-text-color-regular);align-items:center;text-decoration:none;transition:color .3s;display:inline-flex}.github-link .icon[data-v-4ba8d533]{font-size:18px}.github-link[data-v-4ba8d533]:hover{color:var(--el-color-primary)}.hint[data-v-a058f162]{color:var(--el-text-color-secondary);margin:4px 0 0;font-size:12px;line-height:1.5}.current-key[data-v-a058f162]{color:var(--el-text-color-secondary);flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0;font-size:12px;display:flex}.current-key code[data-v-a058f162]{color:var(--el-text-color-primary)}.w-full[data-v-a058f162]{width:100%}.provider-option[data-v-a058f162]{flex-direction:column;gap:2px;line-height:1.3;display:flex}.provider-name[data-v-a058f162]{color:var(--el-text-color-primary);font-size:14px}.provider-desc[data-v-a058f162]{color:var(--el-text-color-secondary);font-size:12px}.test-result[data-v-a058f162]{border:1px solid #0000;border-radius:6px;margin:4px 0 0;padding:12px 14px;font-size:13px;line-height:1.5}.test-result.ok[data-v-a058f162]{background:var(--el-color-success-light-9,#f0f9eb);border-color:var(--el-color-success-light-7,#b3e19d);color:var(--el-color-success-dark-2,#5daf34)}.test-result.fail[data-v-a058f162]{background:var(--el-color-danger-light-9,#fef0f0);border-color:var(--el-color-danger-light-7,#fab6b6);color:var(--el-color-danger-dark-2,#b94343)}.test-result-title[data-v-a058f162]{margin:0 0 6px;font-weight:600}.test-result-detail[data-v-a058f162]{-moz-column-gap:12px;grid-template-columns:minmax(72px,max-content) 1fr;gap:4px 12px;margin:0;display:grid}.test-result-detail dt[data-v-a058f162]{color:var(--el-text-color-regular);font-weight:500}.test-result-detail dd[data-v-a058f162]{word-break:break-all;color:var(--el-text-color-primary);margin:0}.test-result-detail code[data-v-a058f162]{background:#0000000a;border-radius:4px;padding:1px 6px;font-size:12px}.byok-provider-select-popper .el-select-dropdown__item{height:auto;padding-top:8px;padding-bottom:8px;line-height:1.4}.byok[data-v-4e5854a0]{flex-direction:column;gap:12px;display:flex}.byok-intro-tip[data-v-4e5854a0]{color:var(--el-text-color-secondary);margin:0;font-size:12px;line-height:1.6}.byok-actions[data-v-4e5854a0]{justify-content:flex-end;display:flex}.byok-table[data-v-4e5854a0]{width:100%}.byok-table[data-v-4e5854a0] .cell{word-break:break-word}.memory-setting .hint[data-v-4202ae77]{margin:0;font-size:13px;line-height:1.6}.memory-setting .muted[data-v-4202ae77]{color:var(--el-text-color-secondary,#909399)}.memory-setting .section-head[data-v-4202ae77]{justify-content:space-between;align-items:center;gap:12px;display:flex}.memory-setting .section-head h3[data-v-4202ae77]{margin:0;font-size:15px;font-weight:600}.memory-setting .rows[data-v-4202ae77]{border:1px solid var(--el-border-color-lighter,#ebeef5);border-radius:8px;margin:0;padding:0;list-style:none;overflow:hidden}.memory-setting .memory-row[data-v-4202ae77]{border-bottom:1px solid var(--el-border-color-lighter,#ebeef5);align-items:flex-start;gap:12px;padding:12px 14px;transition:background-color .15s;display:flex}.memory-setting .memory-row[data-v-4202ae77]:last-child{border-bottom:none}.memory-setting .memory-row[data-v-4202ae77]:hover{background:var(--el-fill-color-light,#f5f7fa)}.memory-setting .memory-row .row-icon[data-v-4202ae77]{color:var(--el-text-color-secondary,#909399);flex-shrink:0;margin-top:3px}.memory-setting .memory-row .memory-content[data-v-4202ae77]{overflow-wrap:break-word;flex:1;min-width:0;line-height:1.6}.memory-setting .memory-row[data-v-4202ae77] .el-button{flex-shrink:0}.edit-dialog .edit-body{justify-content:center;width:100%;display:flex}.vue-advanced-cropper{text-align:center;-webkit-user-select:none;user-select:none;direction:ltr;max-width:100%;max-height:100%;position:relative}.vue-advanced-cropper__stretcher{pointer-events:none;max-width:100%;max-height:100%;position:relative}.vue-advanced-cropper__image{-webkit-user-select:none;user-select:none;transform-origin:50%;position:absolute;max-width:none!important}.vue-advanced-cropper__background,.vue-advanced-cropper__foreground{opacity:1;background:#000;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vue-advanced-cropper__foreground{opacity:.5}.vue-advanced-cropper__boundaries{opacity:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vue-advanced-cropper__cropper-wrapper{width:100%;height:100%}.vue-advanced-cropper__image-wrapper{width:100%;height:100%;position:absolute;overflow:hidden}.vue-advanced-cropper__stencil-wrapper{position:absolute}.vue-simple-handler{background:#fff;width:10px;height:10px;display:block}.vue-handler-wrapper{width:30px;height:30px;position:absolute;transform:translate(-50%,-50%)}.vue-handler-wrapper__draggable{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.vue-handler-wrapper--west-north{cursor:nw-resize}.vue-handler-wrapper--north{cursor:n-resize}.vue-handler-wrapper--east-north{cursor:ne-resize}.vue-handler-wrapper--east{cursor:e-resize}.vue-handler-wrapper--east-south{cursor:se-resize}.vue-handler-wrapper--south{cursor:s-resize}.vue-handler-wrapper--west-south{cursor:sw-resize}.vue-handler-wrapper--west{cursor:w-resize}.vue-handler-wrapper--disabled{cursor:auto}.vue-line-wrapper{background:0 0;justify-content:center;align-items:center;display:flex;position:absolute}.vue-line-wrapper--north,.vue-line-wrapper--south{width:100%;height:12px;left:0;transform:translateY(-50%)}.vue-line-wrapper--north{cursor:n-resize;top:0}.vue-line-wrapper--south{cursor:s-resize;top:100%}.vue-line-wrapper--east,.vue-line-wrapper--west{width:12px;height:100%;top:0;transform:translate(-50%)}.vue-line-wrapper--east{cursor:e-resize;left:100%}.vue-line-wrapper--west{cursor:w-resize;left:0}.vue-line-wrapper--disabled{cursor:auto}.vue-bounding-box{width:100%;height:100%;position:relative}.vue-bounding-box__handler{position:absolute}.vue-bounding-box__handler--west-north{top:0;left:0}.vue-bounding-box__handler--north{top:0;left:50%}.vue-bounding-box__handler--east-north{top:0;left:100%}.vue-bounding-box__handler--east{top:50%;left:100%}.vue-bounding-box__handler--east-south{top:100%;left:100%}.vue-bounding-box__handler--south{top:100%;left:50%}.vue-bounding-box__handler--west-south{top:100%;left:0}.vue-bounding-box__handler--west{top:50%;left:0}.vue-draggable-area{position:relative}.vue-preview-result{box-sizing:border-box;width:100%;height:100%;position:absolute;overflow:hidden}.vue-preview-result__wrapper{position:absolute}.vue-preview-result__image{pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:50%;position:relative;max-width:none!important}.vue-rectangle-stencil{box-sizing:border-box;width:100%;height:100%;position:absolute}.vue-rectangle-stencil__preview{width:100%;height:100%;position:absolute}.vue-rectangle-stencil--movable{cursor:move}.vue-circle-stencil{box-sizing:content-box;cursor:move;width:100%;height:100%;position:absolute}.vue-circle-stencil__preview{border-radius:50%;width:100%;height:100%;position:absolute}.vue-circle-stencil--movable{cursor:move}.vue-preview{box-sizing:border-box;position:relative;overflow:hidden}.vue-preview--fill,.vue-preview__wrapper{width:100%;height:100%;position:absolute}.vue-preview__image{pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:50%;position:absolute;max-width:none!important}.vue-simple-line{background:0 0;border:0 solid #ffffff4d;transition:border .5s}.vue-simple-line--south,.vue-simple-line--north{width:100%;height:0}.vue-simple-line--east,.vue-simple-line--west{width:0;height:100%}.vue-simple-line--east{border-right-width:1px}.vue-simple-line--west{border-left-width:1px}.vue-simple-line--south{border-bottom-width:1px}.vue-simple-line--north{border-top-width:1px}.vue-simple-line--hover{opacity:1;border-color:#fff}.cropper-shell[data-v-457c9f79]{flex-direction:column;gap:12px;display:flex}.cropper-shell .cropper[data-v-457c9f79]{background-color:#fafafa;background-image:linear-gradient(45deg,#d8d8d8 25%,#0000 25%),linear-gradient(-45deg,#d8d8d8 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#d8d8d8 75%),linear-gradient(-45deg,#0000 75%,#d8d8d8 75%);background-position:0 0,0 8px,8px -8px,8px 0;background-size:16px 16px;border-radius:8px;width:100%;height:360px;overflow:hidden}.cropper-shell .toolbar[data-v-457c9f79]{justify-content:center;display:flex}.cropper-shell .toolbar[data-v-457c9f79] .el-button{min-width:56px;height:44px;padding:0 18px}.cropper-shell .toolbar[data-v-457c9f79] .el-button .el-icon{font-size:22px}.dropzone[data-v-457c9f79]{border:2px dashed var(--el-border-color);cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:360px;transition:border-color .2s,background .2s;display:flex}.dropzone[data-v-457c9f79]:hover{border-color:var(--el-color-primary);background:var(--el-fill-color-light)}.dropzone .dropzone-icon[data-v-457c9f79]{color:var(--el-text-color-secondary);font-size:36px}.dropzone .dropzone-text[data-v-457c9f79]{color:var(--el-text-color-primary);margin:0;font-size:14px}.dropzone .dropzone-hint[data-v-457c9f79]{color:var(--el-text-color-secondary);margin:0;font-size:12px}.edit[data-v-a74791d4]{cursor:pointer;margin-left:5px;position:relative;top:2px}.edit .icon[data-v-a74791d4]{font-size:14px}.user-chip[data-v-380498e3]{max-width:100%;color:var(--el-text-color-regular);align-items:center;gap:6px;font-size:13px;line-height:1.4;display:inline-flex}.user-chip.is-empty[data-v-380498e3]{color:var(--el-text-color-secondary)}.user-chip.is-missing[data-v-380498e3]{color:var(--el-text-color-secondary);font-style:italic}.user-chip .user-chip__avatar[data-v-380498e3]{flex-shrink:0}.user-chip .user-chip__name[data-v-380498e3]{white-space:nowrap;font-weight:500}.user-chip .user-chip__icon[data-v-380498e3]{color:var(--el-text-color-secondary);flex-shrink:0;font-size:14px}.user-chip .user-chip__contact[data-v-380498e3]{color:var(--el-text-color-secondary);font-size:12px;font-family:var(--el-font-family-mono,ui-monospace, SFMono-Regular, Menlo, monospace);white-space:nowrap}.user-chip .user-chip__id[data-v-380498e3]{font-family:var(--el-font-family-mono,ui-monospace, SFMono-Regular, Menlo, monospace);font-size:12px}.user-picker__option[data-v-9477c0da]{align-items:center;gap:10px;padding:4px 0;display:flex}.user-picker__option--empty[data-v-9477c0da]{color:var(--el-text-color-secondary);cursor:default;font-size:13px}.user-picker__option--excluded[data-v-9477c0da]{cursor:not-allowed;opacity:.6}.user-picker__empty-icon[data-v-9477c0da]{color:var(--el-color-warning);flex-shrink:0;font-size:14px}.user-picker__empty-text[data-v-9477c0da]{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.user-picker__excluded-tag[data-v-9477c0da]{background:var(--el-fill-color-light);color:var(--el-text-color-secondary);border-radius:4px;flex-shrink:0;margin-inline-start:6px;padding:2px 6px;font-size:11px;line-height:1.4}.user-picker__avatar[data-v-9477c0da]{flex-shrink:0}.user-picker__option-text[data-v-9477c0da]{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.user-picker__option-name[data-v-9477c0da]{color:var(--el-text-color-primary);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:14px;font-weight:500;display:flex;overflow:hidden}.user-picker__option-contact[data-v-9477c0da]{font-size:12px;font-family:var(--el-font-family-mono,ui-monospace, SFMono-Regular, Menlo, monospace);color:var(--el-text-color-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-picker__popper .el-autocomplete-suggestion__list{max-height:320px}.user-picker__popper .el-autocomplete-suggestion li{height:auto;padding:6px 12px;line-height:1.4}.edit[data-v-8e61041c]{cursor:pointer;margin-left:5px;position:relative;top:2px}.edit .icon[data-v-8e61041c]{font-size:14px}.edit-body[data-v-8e61041c]{flex-direction:column;gap:8px;width:100%;display:flex}.empty[data-v-8e61041c]{border:1px dashed var(--el-border-color);background:var(--el-fill-color-light);border-radius:6px;justify-content:center;align-items:center;min-height:36px;padding:8px;display:flex}.empty .empty-text[data-v-8e61041c]{color:var(--el-text-color-secondary);font-size:13px}.chip-list[data-v-8e61041c]{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chip-item[data-v-8e61041c]{border:1px solid var(--el-border-color-lighter);background:var(--el-fill-color-blank);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.chip-item .chip-remove[data-v-8e61041c]{cursor:pointer;color:var(--el-text-color-secondary);font-size:14px}.chip-item .chip-remove[data-v-8e61041c]:hover{color:var(--el-color-danger)}.divider[data-v-8e61041c]{margin:4px 0}.tip[data-v-8e61041c]{color:var(--el-text-color-secondary);margin:0;font-size:12px}.error[data-v-8e61041c]{color:var(--el-color-danger);align-items:center;gap:6px;margin:0;font-size:12px;display:flex}.error .error-icon[data-v-8e61041c]{font-size:14px}.dialog-footer[data-v-8e61041c]{justify-content:center;gap:12px;width:100%;display:flex}.auto-translate-toggle[data-v-e08f547e]{width:26px;height:26px;margin-left:6px;padding:0}.auto-translate-toggle .icon-wrap[data-v-e08f547e]{justify-content:center;align-items:center;font-size:13px;display:inline-flex;position:relative}.auto-translate-toggle.is-off[data-v-e08f547e]{color:var(--el-text-color-secondary)}.auto-translate-toggle .dot[data-v-e08f547e]{background:var(--el-color-success);width:6px;height:6px;box-shadow:0 0 0 1px var(--el-color-white);border-radius:50%;position:absolute;top:-2px;right:-3px}.setting-notice[data-v-82101c68]{background:var(--el-color-info-light-9);border:1px solid var(--el-color-info-light-7);color:var(--el-text-color-regular);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;line-height:1.5;display:flex}.setting-notice .icon[data-v-82101c68]{color:var(--el-color-info);flex-shrink:0;font-size:13px}.setting-notice .text[data-v-82101c68]{word-break:break-word;flex:1}.setting-notice.admin[data-v-82101c68]{background:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-7)}.setting-notice.admin .icon[data-v-82101c68]{color:var(--el-color-primary)}.setting-notice.official[data-v-82101c68]{background:var(--el-color-success-light-9);border-color:var(--el-color-success-light-7)}.setting-notice.official .icon[data-v-82101c68]{color:var(--el-color-success)}.settings-media[data-v-93b52d3a]{background-color:var(--el-fill-color-light);border-radius:8px;max-width:120px}.settings-actions[data-v-93b52d3a]{align-items:center;gap:4px;display:inline-flex}.favicon[data-v-93b52d3a]{max-width:64px}.admins-list[data-v-93b52d3a]{flex-direction:column;align-items:flex-end;gap:4px;max-width:100%;display:flex}.admins-chip[data-v-93b52d3a]{max-width:100%}.primary-color-content[data-v-93b52d3a]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.primary-color-content .primary-color-value[data-v-93b52d3a]{font-family:var(--el-font-family-monospace,"SFMono-Regular", Menlo, Consolas, monospace);color:var(--el-text-color-regular);text-transform:uppercase;font-size:13px}@media (width<=640px){.admins-list[data-v-93b52d3a]{align-items:flex-start}}.site-services-settings .default-price-section[data-v-93cbfc74]{border:1px solid var(--el-border-color-lighter);background:var(--el-fill-color-extra-light);border-radius:8px;justify-content:space-between;align-items:center;gap:24px;margin-top:12px;padding:16px;display:flex}.site-services-settings .default-price-section .markup-row[data-v-93cbfc74]{flex-shrink:0;align-items:center;gap:10px;display:flex}.site-services-settings .default-price-section .markup-input[data-v-93cbfc74]{width:180px}.site-services-settings .default-price-section .markup-percent[data-v-93cbfc74]{color:var(--el-color-primary);font-variant-numeric:tabular-nums;font-weight:600}.site-services-settings .header[data-v-93cbfc74]{justify-content:space-between;align-items:flex-start;gap:12px;margin:12px 0;display:flex}.site-services-settings .settings-title[data-v-93cbfc74]{font-weight:600}.site-services-settings .settings-tip[data-v-93cbfc74]{color:var(--el-text-color-secondary);margin-top:2px;font-size:12px}.site-services-settings .list-card[data-v-93cbfc74]{border:1px solid var(--el-border-color-lighter)}.site-services-settings .overrides-table[data-v-93cbfc74]{width:100%}.site-services-settings .overrides-table .service-cell[data-v-93cbfc74]{align-items:center;gap:8px;display:flex}.site-services-settings .overrides-table .service-cell .service-favicon[data-v-93cbfc74]{-o-object-fit:contain;object-fit:contain;border-radius:4px;flex-shrink:0;width:22px;height:22px}.site-services-settings .overrides-table .service-cell .service-cell-text[data-v-93cbfc74]{flex-direction:column;gap:2px;display:flex}.site-services-settings .muted[data-v-93cbfc74]{color:var(--el-text-color-secondary);font-size:12px}@media (width<=767px){.site-services-settings .default-price-section[data-v-93cbfc74]{flex-direction:column;align-items:flex-start;gap:12px}.site-services-settings .default-price-section .markup-input[data-v-93cbfc74]{width:min(180px,100vw - 96px)}.site-services-settings .header[data-v-93cbfc74]{flex-direction:column}}.site-service-override-dialog.el-dialog,.site-service-override-dialog .el-dialog{width:min(520px,100vw - 32px)!important}.site-service-override-dialog .service-override-form .el-form-item__label{white-space:normal;height:auto;color:var(--el-text-color-primary);margin-bottom:4px;font-weight:600;line-height:1.3}.site-service-override-dialog .service-override-form .field-desc{white-space:normal;width:100%;color:var(--el-text-color-secondary);margin-top:6px;font-size:12px;font-weight:400;line-height:1.4;display:block}.site-service-override-dialog .service-override-form .markup-row{align-items:center;gap:10px;display:flex}.site-service-override-dialog .service-override-form .markup-input{width:180px}.site-service-override-dialog .service-override-form .markup-percent{font-variant-numeric:tabular-nums;color:var(--el-color-primary);font-weight:600}.site-service-override-dialog .service-override-form .field-tip{color:var(--el-text-color-secondary);font-size:12px}.site-service-override-dialog .service-override-form .auto-translate-inline{align-items:center;gap:6px;margin-top:6px;display:flex}.service-catalog-select-popper .el-select-dropdown__item{height:auto;min-height:34px;line-height:1.4}.service-catalog-select-popper .service-option{align-items:center;width:100%;min-width:0;display:flex}.service-catalog-select-popper .option-favicon{-o-object-fit:contain;object-fit:contain;border-radius:4px;flex-shrink:0;width:18px;max-width:18px;height:18px;max-height:18px;margin-right:6px}.service-catalog-select-popper .option-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.service-catalog-select-popper .option-alias{color:var(--el-text-color-secondary);flex-shrink:0;margin-left:8px;font-size:12px}.edit{cursor:pointer;margin-left:5px;position:relative;top:2px}.edit .icon{font-size:14px}.tip{color:var(--el-text-color-secondary);font-size:12px}.edit-dialog .el-dialog__header{justify-content:center;padding-right:48px;display:flex;position:relative}.edit-dialog .el-dialog__title{text-align:center;width:100%;font-weight:600}.edit-dialog .el-dialog__headerbtn{position:absolute;top:50%;right:16px;transform:translateY(-50%)}.edit-dialog .el-dialog__body{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.edit-dialog .edit-body{flex-direction:column;align-items:center;width:100%;display:flex}.edit-dialog .tags{flex-wrap:wrap;justify-content:center;gap:4px;width:100%;display:flex}.edit-dialog .el-input{max-width:320px}.edit-dialog .dialog-footer{justify-content:center;gap:12px;width:100%;display:flex}.settings-actions[data-v-591c4e4a]{align-items:center;gap:4px;display:inline-flex}.edit[data-v-0a406628]{cursor:pointer;margin-left:5px;position:relative;top:2px}.edit .icon[data-v-0a406628]{font-size:14px}.edit-body[data-v-0a406628]{flex-direction:column;gap:12px;width:100%;display:flex}.tip[data-v-0a406628]{color:var(--el-text-color-secondary);margin:0;font-size:12px}.preview[data-v-0a406628]{border:1px dashed var(--el-border-color);background:var(--el-fill-color-light);border-radius:6px;align-items:center;gap:8px;min-height:32px;padding:8px 10px;display:flex}.dialog-footer[data-v-0a406628]{justify-content:center;gap:12px;width:100%;display:flex}.settings-nested[data-v-f33adf28]{flex-direction:column;align-items:flex-end;gap:12px;width:100%;display:flex}.settings-subitem[data-v-f33adf28]{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.settings-sub-label[data-v-f33adf28]{color:var(--el-text-color-primary);font-weight:600}.settings-media[data-v-f33adf28]{background-color:var(--el-fill-color-light);border-radius:8px;max-width:120px}@media (width<=640px){.settings-nested[data-v-f33adf28],.settings-subitem[data-v-f33adf28]{align-items:flex-start}}.subsite-settings[data-v-bf34cc89]{flex-direction:column;gap:12px;display:flex}.subsite-settings .header[data-v-bf34cc89]{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.subsite-settings .header .settings-title[data-v-bf34cc89]{margin:0 0 4px;font-size:14px;font-weight:600}.subsite-settings .header .settings-tip[data-v-bf34cc89]{color:var(--el-text-color-secondary);margin:0;font-size:12px}.subsite-settings .list-card[data-v-bf34cc89]{border:1px solid var(--el-border-color-lighter)}.subsite-settings .origin-link[data-v-bf34cc89]{color:var(--el-color-primary);word-break:break-all;text-decoration:none}.subsite-settings .origin-link[data-v-bf34cc89]:hover{text-decoration:underline}.subsite-settings .domain-list[data-v-bf34cc89]{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.subsite-settings .domain-list .origin-link.primary[data-v-bf34cc89]{font-weight:500}.subsite-settings .domain-list .custom-domain[data-v-bf34cc89]{align-items:center;gap:6px;font-size:12px;line-height:1.4;display:inline-flex}.subsite-settings .domain-list .custom-domain .hostname[data-v-bf34cc89]{word-break:break-all}.subsite-settings .domain-list .custom-domain.muted[data-v-bf34cc89]{color:var(--el-text-color-secondary)}.subsite-settings .domain-list .custom-domain.origin-link[data-v-bf34cc89]{font-weight:400}.subsite-settings .row-title[data-v-bf34cc89]{color:var(--el-text-color-secondary);margin-top:4px;font-size:12px;line-height:1.4}.subsite-settings .row-actions[data-v-bf34cc89]{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:inline-flex}.subsite-settings .subsite-table[data-v-bf34cc89] .el-button+.el-button{margin-left:0}.subsite-settings .form .hint[data-v-bf34cc89]{color:var(--el-text-color-secondary);margin-top:4px;font-size:12px;display:block}.open-dialog[data-v-bf34cc89] .el-dialog{max-width:calc(100vw - 32px)}.open-dialog[data-v-bf34cc89] .open-hint{color:var(--el-text-color-regular);margin:0 0 16px;font-size:13px;line-height:1.5}.open-dialog[data-v-bf34cc89] .open-actions{flex-direction:column;align-items:center;gap:14px;display:flex}.open-dialog[data-v-bf34cc89] .open-actions .el-button{min-width:220px;max-width:100%;margin-left:0}.open-dialog[data-v-bf34cc89] .open-actions .el-button+.el-button{margin-left:0}.custom-domain-settings[data-v-e66a20b5]{flex-direction:column;gap:12px;display:flex}.custom-domain-settings .header .settings-title[data-v-e66a20b5]{margin:0 0 4px;font-size:14px;font-weight:600}.custom-domain-settings .header .settings-tip[data-v-e66a20b5]{color:var(--el-text-color-secondary);margin:0;font-size:12px;line-height:1.6}.custom-domain-settings .domains-body[data-v-e66a20b5]{padding:4px 0 0}.custom-domain-settings[data-v-e66a20b5] .el-empty{padding:8px 0 16px}.custom-domain-settings[data-v-e66a20b5] .el-empty .el-empty__description{color:var(--el-text-color-secondary);margin-top:8px;font-size:13px}.custom-domain-settings .domain-row[data-v-e66a20b5]{border:1px solid var(--el-border-color-lighter);background:var(--el-fill-color-blank);border-radius:12px;margin-bottom:14px;padding:16px 18px;transition:border-color .15s}.custom-domain-settings .domain-row[data-v-e66a20b5]:hover{border-color:var(--el-border-color)}.custom-domain-settings .domain-row .domain-row-head[data-v-e66a20b5]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.custom-domain-settings .domain-row .domain-row-head .hostname[data-v-e66a20b5]{word-break:break-all;flex:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px}.custom-domain-settings .domain-row .domain-row-head .status-tag[data-v-e66a20b5]{flex:none}.custom-domain-settings .domain-row .domain-row-head .row-actions[data-v-e66a20b5]{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.custom-domain-settings .domain-row .status-reason[data-v-e66a20b5]{color:var(--el-color-danger);margin-top:10px;font-size:12px}.custom-domain-settings .domain-row .dns-instructions[data-v-e66a20b5]{border-top:1px dashed var(--el-border-color-lighter);margin-top:14px;padding-top:14px}.custom-domain-settings .domain-row .dns-instructions .instructions[data-v-e66a20b5]{color:var(--el-text-color-regular);margin:0 0 10px;font-size:13px;line-height:1.6}.custom-domain-settings .domain-row .dns-instructions .dns-record[data-v-e66a20b5]{border-collapse:collapse;width:100%;font-size:12px}.custom-domain-settings .domain-row .dns-instructions .dns-record th[data-v-e66a20b5]{text-align:left;width:110px;color:var(--el-text-color-secondary);vertical-align:top;padding:6px 10px 6px 0;font-weight:400}.custom-domain-settings .domain-row .dns-instructions .dns-record td[data-v-e66a20b5]{padding:6px 0}.custom-domain-settings .domain-row .dns-instructions .dns-record td code[data-v-e66a20b5]{background:var(--el-fill-color-lighter);border-radius:6px;padding:3px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.custom-domain-settings .domain-row .dns-instructions .dns-record td code.break[data-v-e66a20b5]{word-break:break-all}.custom-domain-settings .domain-row .dns-instructions .record-name-hint[data-v-e66a20b5]{color:var(--el-text-color-secondary);margin:10px 0 0;font-size:12px;line-height:1.55}.custom-domain-settings .bind-title[data-v-e66a20b5]{color:var(--el-text-color-primary);margin:4px 0 14px;font-size:14px;font-weight:600}.custom-domain-settings .form .form-tip[data-v-e66a20b5]{color:var(--el-text-color-secondary);margin-top:6px;font-size:12px;line-height:1.5;display:block}.custom-domain-settings[data-v-e66a20b5] .el-divider{margin:20px 0}[data-v-c1299663] .settings-item .settings-label{flex:1 1 0;min-width:0}.auth-providers-content[data-v-c1299663]{flex:none;align-items:stretch}.auth-providers-list[data-v-c1299663]{flex-direction:column;min-width:220px;margin:0;padding:0;list-style:none;display:flex}.auth-providers-row[data-v-c1299663]{justify-content:space-between;align-items:center;padding:6px 0;display:flex}.auth-providers-row+.auth-providers-row[data-v-c1299663]{border-top:1px solid var(--el-border-color-lighter)}.auth-providers-row__label[data-v-c1299663]{color:var(--el-text-color-primary);font-size:14px}.auth-default-provider-select[data-v-c1299663]{min-width:240px}.about-link[data-v-f239bfa0]{color:var(--el-text-color-regular);align-items:center;gap:6px;font-size:14px;text-decoration:none;transition:color .3s;display:inline-flex}.about-link .icon[data-v-f239bfa0]{font-size:18px}.about-link[data-v-f239bfa0]:hover{color:var(--el-color-primary)}[data-v-02979ea7] .settings-list{flex-direction:column;gap:18px;display:flex}[data-v-02979ea7] .settings-menu .el-menu-item{white-space:normal;height:auto;padding-top:10px;padding-bottom:10px;line-height:1.4}[data-v-02979ea7] .settings-menu .el-menu-item .el-menu-item__content{word-break:break-word;align-items:flex-start;gap:8px;display:flex}[data-v-02979ea7] .settings-menu .el-menu-item .svg-inline--fa{margin-top:2px}[data-v-02979ea7] .settings-item{border-bottom:1px solid color-mix(in srgb, var(--el-border-color-lighter) 40%, transparent);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}[data-v-02979ea7] .settings-item:last-child{border-bottom:none;padding-bottom:0}[data-v-02979ea7] .settings-label{color:var(--el-text-color-primary);flex-direction:column;gap:4px;display:flex}[data-v-02979ea7] .settings-title{font-size:14px;font-weight:600}[data-v-02979ea7] .settings-tip{color:var(--el-text-color-secondary);max-width:440px;font-size:12px;line-height:1.5}[data-v-02979ea7] .settings-content{text-align:right;flex-direction:column;align-items:flex-end;gap:8px;min-width:200px;display:flex}[data-v-02979ea7] .settings-value{color:var(--el-text-color-regular);word-break:break-word}@media (width<=640px){[data-v-02979ea7] .settings-item{flex-direction:column;align-items:flex-start}[data-v-02979ea7] .settings-content{text-align:left;align-items:flex-start;width:100%}}[data-v-02979ea7] .settings-dialog.is-mobile .el-dialog__body{padding:0 8px 16px}[data-v-02979ea7] .settings-menu.is-mobile{white-space:nowrap;border-bottom:none;height:auto;padding:4px 0}[data-v-02979ea7] .settings-menu.is-mobile .el-menu-item{border-radius:6px;height:36px;margin:0 4px;line-height:36px;border-bottom:none!important;padding:0 10px!important}[data-v-02979ea7] .settings-menu.is-mobile .el-menu-item.active,[data-v-02979ea7] .settings-menu.is-mobile .el-menu-item.is-active{background:var(--el-color-primary-light-9);color:var(--el-color-primary)}.delete-account-dialog .mb-3[data-v-f6c5bef8]{margin-bottom:12px}.delete-account-dialog .delete-consequences[data-v-f6c5bef8]{color:var(--el-text-color-regular);margin:12px 0;font-size:13px;line-height:1.6}.delete-account-dialog .delete-type-prompt[data-v-f6c5bef8]{margin:12px 0 4px;font-size:13px}.delete-account-dialog .delete-username[data-v-f6c5bef8]{word-break:break-all;color:var(--el-color-danger);margin:0 0 10px;font-size:15px;font-weight:700}.navigator[data-v-6381434f]{background-color:var(--app-nav-bg);border-right:1px solid var(--app-border-subtle);align-items:center;display:flex;position:relative}.navigator .top .avatar[data-v-6381434f]{cursor:pointer;border-radius:50%;flex-shrink:0;width:28px;height:28px;display:block}.navigator .category-header[data-v-6381434f]{display:none}.navigator[direction=row][data-v-6381434f]{border-right:none;border-top:1px solid var(--app-border-subtle);flex-direction:row;overflow-x:scroll}.navigator[direction=row] .brand[data-v-6381434f]{display:none}.navigator[direction=row] .top[data-v-6381434f]{flex-direction:row;justify-content:space-evenly;align-items:center;gap:10px;padding-left:10px;display:flex}.navigator[direction=row] .top .links[data-v-6381434f]{flex-direction:row;align-items:center;gap:10px;display:flex}.navigator[direction=row] .top .links .link[data-v-6381434f]{text-align:center}.navigator[direction=row] .top .links .link .description[data-v-6381434f]{margin-top:3px;font-size:10px}.navigator[direction=row] .top .links .link.active[data-v-6381434f]{color:var(--el-color-primary)}.navigator[direction=row] .bottom[data-v-6381434f]{flex:1;justify-content:flex-end;padding:0 10px;display:flex}.navigator[direction=column][data-v-6381434f]{flex-direction:column;width:60px}.navigator[direction=column] .brand[data-v-6381434f]{justify-content:center;align-items:center;width:100%;padding:10px 0;display:flex}.navigator[direction=column].is-mac .brand[data-v-6381434f]{padding-top:38px}.navigator[direction=column] .top[data-v-6381434f]{flex-direction:column;flex:1;width:100%;min-height:0;padding-top:0;display:flex;overflow:hidden}.navigator[direction=column] .top .links[data-v-6381434f]{flex-direction:column;flex:1;align-items:center;gap:15px;min-height:0;padding-bottom:10px;display:flex;overflow:hidden auto}.navigator[direction=column] .top .links[data-v-6381434f]::-webkit-scrollbar{width:4px}.navigator[direction=column] .top .links[data-v-6381434f]::-webkit-scrollbar-track{background:0 0}.navigator[direction=column] .top .links[data-v-6381434f]::-webkit-scrollbar-thumb{background:var(--el-fill-color);border-radius:4px}.navigator[direction=column] .top .link[data-v-6381434f]{cursor:pointer;color:var(--el-text-color-primary);justify-content:center;align-items:center;margin:0;padding:0;display:flex;background:0 0!important}.navigator[direction=column] .top .link .avatar[data-v-6381434f]{cursor:pointer;border-radius:50%;flex-shrink:0;width:35px;height:35px;margin:auto}.navigator[direction=column] .top .link .link-label[data-v-6381434f],.navigator[direction=column] .top .link.active[data-v-6381434f]:before{display:none}.navigator[direction=column] .top .more-button[data-v-6381434f]{background:var(--el-fill-color-light);cursor:pointer;width:35px;height:35px;box-shadow:var(--app-shadow-xs);border-radius:50%;justify-content:center;align-items:center;margin:auto;transition:border-radius .2s,background-color .2s,box-shadow .2s;display:flex}.navigator[direction=column] .top .more-button[data-v-6381434f]:hover{background:var(--el-fill-color);box-shadow:var(--app-shadow-sm);border-radius:35%}.navigator[direction=column] .top .more-button.active[data-v-6381434f]{box-shadow:0 0 0 2px var(--el-color-primary)}.navigator[direction=column] .top .more-button .folder-preview[data-v-6381434f]{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:1px;width:22px;height:22px;display:grid}.navigator[direction=column] .top .more-button .folder-preview .folder-icon[data-v-6381434f]{border-radius:50%;width:10px;height:10px}.navigator[direction=column] .bottom[data-v-6381434f]{flex-direction:column;justify-content:flex-end;align-items:center;width:100%;height:50px;padding-bottom:10px;display:flex}html.dark .navigator[data-v-6381434f]{border-right-color:var(--app-glass-border)}.navigator-overflow-popover{-webkit-backdrop-filter:blur(var(--app-glass-blur));backdrop-filter:blur(var(--app-glass-blur));border-radius:12px!important;padding:6px!important}.navigator-overflow-popover .overflow-menu{max-height:400px;overflow-y:auto}.navigator-overflow-popover .overflow-menu .overflow-item{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:7px 8px;transition:background-color .15s;display:flex}.navigator-overflow-popover .overflow-menu .overflow-item:hover{background:var(--el-fill-color-light)}.navigator-overflow-popover .overflow-menu .overflow-item.active{background:var(--el-color-primary-light-9);color:var(--el-color-primary)}.navigator-overflow-popover .overflow-menu .overflow-item .overflow-avatar{border-radius:50%;flex-shrink:0;width:24px;height:24px}.navigator-overflow-popover .overflow-menu .overflow-item .overflow-name{color:var(--el-text-color-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}