@acedatacloud/nexior 3.259.1 → 3.259.2

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 (109) hide show
  1. package/dist/assets/{ApiCodeButton-gajL-HwK.js → ApiCodeButton-CrB8OI_k.js} +1 -1
  2. package/dist/assets/{Auth-D8ElSTVq.js → Auth-D7lOngx8.js} +1 -1
  3. package/dist/assets/{BotPlaceholder-CCToITRl.js → BotPlaceholder-2Tv7c707.js} +1 -1
  4. package/dist/assets/{Callback-BB7vyXKT.js → Callback-o_WtM4Lu.js} +1 -1
  5. package/dist/assets/{Console-CgqfUcoq.js → Console-DyQrQ2ME.js} +1 -1
  6. package/dist/assets/{Consumption-D5XRIWhM.js → Consumption-DSbM28rV.js} +1 -1
  7. package/dist/assets/{Conversation-Co4KdIyQ.js → Conversation-CoXownwh.js} +1 -1
  8. package/dist/assets/{CopyToClipboard-CtojVo1q.js → CopyToClipboard-DY4cWsYU.js} +1 -1
  9. package/dist/assets/{Detail-BJpHm3up.js → Detail-B9n2i9Fa.js} +2 -2
  10. package/dist/assets/{Extra-CnTKlB8C.js → Extra-CZn3TNIS.js} +1 -1
  11. package/dist/assets/{FilePreview-0dTDc0-N.js → FilePreview-Py4tu-0w.js} +1 -1
  12. package/dist/assets/{Hailuo-lJirZHdx.js → Hailuo-LkHCQXkA.js} +1 -1
  13. package/dist/assets/{History-DwB4NmQQ.js → History-awA8PmMN.js} +1 -1
  14. package/dist/assets/{ImagePreview-Sgc3M4U_.js → ImagePreview-C1Hid5KU.js} +1 -1
  15. package/dist/assets/{ImageWrapper-DstYlsDv.js → ImageWrapper-DJX4X7ZH.js} +1 -1
  16. package/dist/assets/{Index-D4H_1Sgs.js → Index-0bKwaMB9.js} +1 -1
  17. package/dist/assets/{Index-D_nBdd55.js → Index-BGeRgVlY.js} +1 -1
  18. package/dist/assets/{Index-DaawfHQ6.js → Index-BkCr-IVH.js} +1 -1
  19. package/dist/assets/{Index-CjMoDyIs2.js → Index-BnWFf1WU2.js} +1 -1
  20. package/dist/assets/{Index-B0M6jeZ-.js → Index-BrFnUNc9.js} +1 -1
  21. package/dist/assets/{Index-DcdrLyQy.js → Index-C81ah7pU.js} +1 -1
  22. package/dist/assets/{Index-zUaSxAY6.js → Index-CFFdA9Hv.js} +1 -1
  23. package/dist/assets/{Index-CHDr8dfd.js → Index-CJzn5-aH.js} +1 -1
  24. package/dist/assets/{Index-Cn7Hul0W.js → Index-CKkIR2Gm.js} +1 -1
  25. package/dist/assets/{Index-B_1GAnEV.js → Index-CQ5JZIJH.js} +1 -1
  26. package/dist/assets/{Index-BHrCIIS-.js → Index-Cl8AOaSr.js} +1 -1
  27. package/dist/assets/{Index-DUHXOMj92.js → Index-D6vHmFCC2.js} +1 -1
  28. package/dist/assets/{Index-C1vN-TwL.js → Index-D8MG0L42.js} +1 -1
  29. package/dist/assets/{Index-BeGAzDg0.js → Index-D8tz6VQK.js} +1 -1
  30. package/dist/assets/{Index-RrG2gWko.js → Index-Db2BkIZS.js} +1 -1
  31. package/dist/assets/{Index-a6BuzaZ3.js → Index-DbBGy0Pt.js} +1 -1
  32. package/dist/assets/{Index-B_buikLi.js → Index-DgwYNaP9.js} +1 -1
  33. package/dist/assets/{Index-DHjK9-GW.js → Index-DlaY1fFi.js} +1 -1
  34. package/dist/assets/{Index-Crx0V4Gz.js → Index-EMIpGQx7.js} +1 -1
  35. package/dist/assets/{Index-Cc7tjgS-.js → Index-WAfcMl2-.js} +1 -1
  36. package/dist/assets/{Index-B1o9b3uZ.js → Index-ZsqTKpGL.js} +1 -1
  37. package/dist/assets/{Index-DQtm8VGI2.js → Index-_Ze9qFdR2.js} +1 -1
  38. package/dist/assets/{Index-mtp6XRqu.js → Index-n5UaDQV9.js} +1 -1
  39. package/dist/assets/{Index-jKBbn8on.js → Index-tiT3VChz.js} +1 -1
  40. package/dist/assets/{Index-BvIUv-0u.js → Index-uvGcb3bu.js} +1 -1
  41. package/dist/assets/{Invitees-BJAEGq-t.js → Invitees-DtB5kNVo.js} +1 -1
  42. package/dist/assets/{List-CqO7VaHV.js → List-BRJtoSef.js} +1 -1
  43. package/dist/assets/{List-C_cs8Ont.js → List-CYjxjygq.js} +1 -1
  44. package/dist/assets/{List-B3nUnKDd.js → List-T3QLwYka.js} +1 -1
  45. package/dist/assets/{Main-BZm07x6-.js → Main-DttSVF8-.js} +1 -1
  46. package/dist/assets/{Model-CJL9oqmI.js → Model-1999AqWt.js} +1 -1
  47. package/dist/assets/{Navigator-DuN7GVlF.js → Navigator-Zo3i7gU0.js} +1 -1
  48. package/dist/assets/{NoTasks-BmVoZxvx.js → NoTasks-BJ195-7X.js} +1 -1
  49. package/dist/assets/{NotFound-BT3zbKwJ.js → NotFound-D89S6twM.js} +1 -1
  50. package/dist/assets/{Pagination-CijLX9R5.js → Pagination-C-fONpnB.js} +1 -1
  51. package/dist/assets/{Pay-DXI-1uF9.js → Pay-Crrej_p1.js} +1 -1
  52. package/dist/assets/{Player-BRqANMWc.js → Player-ASHKHTg5.js} +1 -1
  53. package/dist/assets/{Status-xO7yfDI0.js → Status-BJ-OT3no.js} +1 -1
  54. package/dist/assets/{Subscribe-Dxi_9nmA.js → Subscribe-CBh-MpTL.js} +1 -1
  55. package/dist/assets/{TabSwitcher-paVIXkRZ.js → TabSwitcher-D0CyI2Xc.js} +1 -1
  56. package/dist/assets/{Tts-BpOtQBLo.js → Tts-C4OxCs9d.js} +1 -1
  57. package/dist/assets/{VideoPlayer-6-ol3ISM.js → VideoPlayer-DtbwYrYN.js} +1 -1
  58. package/dist/assets/{avatar-RTRer5iC.js → avatar-DQvMUF4E.js} +1 -1
  59. package/dist/assets/{basic-Ba8nO3tb.js → basic-CquVE-iP.js} +1 -1
  60. package/dist/assets/{chat-B1WQbuvd.js → chat-BGYr8UzJ.js} +1 -1
  61. package/dist/assets/{codingBridge-DyGPuGwU.js → codingBridge-DbnzL8w4.js} +1 -1
  62. package/dist/assets/createTaskActions-DSio-qyh.js +1 -0
  63. package/dist/assets/{date-picker-DPEkWpVw.js → date-picker-q8pIuluv.js} +1 -1
  64. package/dist/assets/{dropdown-Dda84P4v.js → dropdown-B9IRdQqv.js} +1 -1
  65. package/dist/assets/{esm-CM8bRhc1.js → esm-B9OmGyuV.js} +1 -1
  66. package/dist/assets/{esm-gM3HD5sa.js → esm-BR8vBoZW.js} +3 -3
  67. package/dist/assets/{esm-B9nvYbTu.js → esm-C2vMPVw8.js} +1 -1
  68. package/dist/assets/{esm-CGRVPkgl.js → esm-CJlQJXK1.js} +1 -1
  69. package/dist/assets/{esm-Dh8vKi_j.js → esm-DAnx7ajT.js} +2 -2
  70. package/dist/assets/{fish-BwKVvYaN.js → fish-B1CPHGqj.js} +1 -1
  71. package/dist/assets/{flux-DQ44NP9A.js → flux-eDRFbrY-.js} +1 -1
  72. package/dist/assets/{hailuo-BlwIVtTY.js → hailuo-C_hqofiX.js} +1 -1
  73. package/dist/assets/{headshots-BAjdaKZ2.js → headshots-Cj4N1fF3.js} +1 -1
  74. package/dist/assets/{image-Ci8jpr3p.js → image-Bau0kGS7.js} +1 -1
  75. package/dist/assets/{index-Ckw2kMAN.js → index-CEh-AtFD.js} +3 -3
  76. package/dist/assets/{index.browser.esm-C3tn3icF.js → index.browser.esm-DHCDza1X.js} +1 -1
  77. package/dist/assets/{index.es-cJGxFNWz.js → index.es-CGcvPLbY.js} +1 -1
  78. package/dist/assets/{input-number-Iu6CvAj4.js → input-number-CmkQjFiE.js} +1 -1
  79. package/dist/assets/{kling-BsMQ0tBc.js → kling-CRmr8y81.js} +1 -1
  80. package/dist/assets/{luma-Bv5GkIwh.js → luma-D_nz3b6M.js} +1 -1
  81. package/dist/assets/{midjourney-iyz53te6.js → midjourney-B6hnRZ3K.js} +1 -1
  82. package/dist/assets/{nanobanana-pAmuJx9K.js → nanobanana-f2Hzejwd.js} +1 -1
  83. package/dist/assets/{openaiimage-BQWqIrX1.js → openaiimage-BwpYHtuL.js} +1 -1
  84. package/dist/assets/{pagination-CCWtytSY.js → pagination-D0v316W1.js} +1 -1
  85. package/dist/assets/{pika-CenFsFkM.js → pika-e6hR4IeY.js} +1 -1
  86. package/dist/assets/{pixverse-B6ItJYCM.js → pixverse-CPipo4LI.js} +1 -1
  87. package/dist/assets/{popover-CMbGba-W.js → popover-CSgWdhUy.js} +1 -1
  88. package/dist/assets/{producer-BtqCkWzH.js → producer-DJ4a39Lu.js} +1 -1
  89. package/dist/assets/{qrart-DViXDXuy.js → qrart-BuxE05Qc.js} +1 -1
  90. package/dist/assets/{seedance-Diz0FvKh.js → seedance-DAZrVfXS.js} +1 -1
  91. package/dist/assets/{seedream-BRaICZac.js → seedream-BJqXqpOp.js} +1 -1
  92. package/dist/assets/{select-BPjqIeh7.js → select-Dy4nmBcy.js} +1 -1
  93. package/dist/assets/{serp-BqZ_Jfbp.js → serp-Cz_MtJwi.js} +1 -1
  94. package/dist/assets/{slider-Cf0Hl4JD.js → slider-DYYyrciZ.js} +1 -1
  95. package/dist/assets/{solana-wallets-3U_SuBA2.js → solana-wallets-tNxm19zu.js} +2 -2
  96. package/dist/assets/{solana-wallets-vue-B9Ig6otj.js → solana-wallets-vue-ByNIjkt4.js} +1 -1
  97. package/dist/assets/{sora-B5VYom0i.js → sora-DeJUG43s.js} +1 -1
  98. package/dist/assets/{suno-BDuvRhoa.js → suno-BxgEvS5C.js} +1 -1
  99. package/dist/assets/{switch-Duda3Nxc.js → switch-D-UGKh2b.js} +1 -1
  100. package/dist/assets/{veo-CLK93SgJ.js → veo-CSiyGGgP.js} +1 -1
  101. package/dist/assets/{wan-D77aR_jg.js → wan-COaEWeYX.js} +1 -1
  102. package/dist/assets/{web-CuZy5eMW.js → web-6DmQMQgq.js} +1 -1
  103. package/dist/assets/{web-CKhLaC0Q.js → web-9Wjb-3Y7.js} +1 -1
  104. package/dist/assets/{web-Ct2YiAXf.js → web-BACoPsIE.js} +1 -1
  105. package/dist/assets/{web-BQcDNBtU.js → web-Fw8IL3sG.js} +1 -1
  106. package/dist/assets/{webextrator-4ybn_5VB.js → webextrator-DHfxHhCZ.js} +1 -1
  107. package/dist/index.html +1 -1
  108. package/package.json +1 -1
  109. package/dist/assets/createTaskActions-CCD_P10Q.js +0 -1
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,Ht as i,M as a,N as o,O as s,P as c,Q as l,Ut as u,X as d,et as f,k as p,lt as m,x as h}from"./vendor-chart-Df3WBvr0.js";import{t as g}from"./button-DgZFgZDr.js";import{r as _,t as v}from"./select-BPjqIeh7.js";import{t as y}from"./upload-B8zBOx3w.js";import{t as b}from"./image-Ci8jpr3p.js";import{t as x}from"./alert-Bgv5POrX.js";import{n as S,r as C}from"./radio-DNLlMkjf.js";import{t as w}from"./drawer-BhAAsvLB.js";import{t as T}from"./slider-Cf0Hl4JD.js";import{t as E}from"./switch-Duda3Nxc.js";import{Hr as D,er as O,ir as k,nr as A,rr as j,tr as M}from"./constants-D3W0tInG.js";import{Dn as N,Dt as P,E as F,Et as ee,Mn as I,Mr as L,Ot as R,Tr as z,hr as B,jt as te,kt as V,pn as H,vr as U}from"./index-Ckw2kMAN.js";import{t as W}from"./index.es-cJGxFNWz.js";import{t as G}from"./CopyToClipboard-CtojVo1q.js";import{t as K}from"./Status-xO7yfDI0.js";import{t as q}from"./ImagePreview-Sgc3M4U_.js";import{t as J}from"./BotPlaceholder-CCToITRl.js";import{i as Y,n as X,t as Z}from"./pagination-CCWtytSY.js";import{n as Q,t as ne}from"./NoTasks-BmVoZxvx.js";import{t as re}from"./Consumption-D5XRIWhM.js";import{t as ie}from"./ApiCodeButton-gajL-HwK.js";import{t as ae}from"./ImageWrapper-DstYlsDv.js";var oe=c({name:`LayoutQrart`,components:{ElDrawer:w,ElButton:g,FontAwesomeIcon:W},data(){return{drawer:!1}}}),se={class:`main flex flex-row flex-1`},ce={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},le={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ue(t,n,i,a,s,c){let l=f(`font-awesome-icon`),u=f(`el-button`),h=f(`el-drawer`);return d(),p(`div`,se,[r(`div`,ce,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,le,[e(t.$slots,`result`,{},void 0,!0)]),o(u,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:m(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1}),o(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:m(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var de=F(oe,[[`render`,ue],[`__scopeId`,`data-v-0eb52da0`]]),fe=c({name:`VersionSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{label:this.$t(`qrart.type.text`),value:`text`},{label:this.$t(`qrart.type.link`),value:`link`},{label:this.$t(`qrart.type.email`),value:`email`},{label:this.$t(`qrart.type.phone`),value:`phone`},{label:this.$t(`qrart.type.sms`),value:`sms`}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.type},set(e){console.debug(`set type`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,type:e})}}},mounted(){this.value||=(console.debug(`set default type`,k),k)}}),pe={class:`field`},me={class:`text-sm font-bold title`};function he(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,pe,[r(`span`,me,u(e.$t(`qrart.name.type`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`qrart.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ge=F(fe,[[`render`,he],[`__scopeId`,`data-v-b4bd8f04`]]),_e=c({name:`AspectRatioSelector`,data(){return{options:[{value:`1:1`,label:`1:1`,width:30,height:30},{value:`4:3`,label:`4:3`,width:32,height:24},{value:`3:4`,label:`3:4`,width:24,height:32},{value:`16:9`,label:`16:9`,width:32,height:18},{value:`9:16`,label:`9:16`,width:18,height:32}]}},computed:{active(){return this.options.findIndex(e=>e.value===String(this.value))||0},value:{get(){return this.$store.state.qrart?.config?.aspect_ratio},set(e){console.debug(`set aspect ratio`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,aspect_ratio:e})}}},mounted(){this.value||=`1:1`}}),ve={class:`text-sm font-bold block mb-2`},ye={class:`items`},be=[`onClick`],xe={class:`name`};function Se(e,n,a,o,s,c){return d(),p(`div`,null,[r(`span`,ve,u(e.$t(`qrart.name.aspectRatio`)),1),r(`div`,ye,[(d(!0),p(h,null,l(e.options,(n,a)=>(d(),p(`div`,{key:a,class:t({active:e.active===a,item:!0}),onClick:t=>e.value=n.value},[r(`div`,{class:t([`preview`,n.label])},[r(`div`,{class:`rect`,style:i({width:n.width+`px`,height:n.height+`px`})},null,4)],2),r(`p`,xe,u(n.label),1)],10,be))),128))])])}var Ce=F(_e,[[`render`,Se],[`__scopeId`,`data-v-b7590ecc`]]),we=c({name:`QrwSelector`,components:{ElSlider:T,InfoIcon:Y},computed:{value:{get(){return this.$store.state.qrart?.config?.qrw||2},set(e){console.debug(`set qrw`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,qrw:e})}}},mounted(){this.value||=(console.debug(`set default qrw`),2)}}),Te={class:`field`},Ee={class:`text-sm font-bold title mb-2`};function De(e,t,n,i,a,s){let c=f(`el-slider`),l=f(`info-icon`);return d(),p(`div`,Te,[r(`span`,Ee,u(e.$t(`qrart.name.qrw`)),1),o(c,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,min:1.5,max:3,step:.1,class:`value`},null,8,[`modelValue`]),o(l,{content:e.$t(`qrart.description.qrw`),class:`info`},null,8,[`content`])])}var Oe=F(we,[[`render`,De],[`__scopeId`,`data-v-8410479c`]]),ke=c({name:`StepsSelector`,components:{ElSlider:T,InfoIcon:Y},computed:{value:{get(){return this.$store.state.qrart?.config?.steps||20},set(e){console.debug(`set steps`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,steps:e})}}},mounted(){this.value||=(console.debug(`set default steps`,20),20)}}),Ae={class:`field`},je={class:`text-sm font-bold block mb-2`};function Me(e,t,n,i,a,s){let c=f(`el-slider`),l=f(`info-icon`);return d(),p(`div`,Ae,[r(`span`,je,u(e.$t(`qrart.name.steps`)),1),o(c,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,min:10,max:20,step:1,class:`value`},null,8,[`modelValue`]),o(l,{content:e.$t(`qrart.description.steps`),class:`info`},null,8,[`content`])])}var Ne=F(ke,[[`render`,Me],[`__scopeId`,`data-v-0c88983e`]]),Pe=c({name:`AdvancedSelector`,components:{ElSwitch:E},computed:{value:{get(){return this.$store.state.qrart?.config?.advanced},set(e){console.debug(`set advanced`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,advanced:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Fe={class:`field`},Ie={class:`title font-bold`};function Le(e,t,n,i,a,s){let c=f(`el-switch`);return d(),p(`div`,Fe,[r(`span`,Ie,u(e.$t(`qrart.name.advanced`)),1),o(c,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])}var Re=F(Pe,[[`render`,Le],[`__scopeId`,`data-v-f8ddf849`]]),ze=c({name:`MarkerShapeSelector`,components:{ElSelect:_,ElOption:v},data(){return{options:[{value:`square`,label:this.$t(`qrart.markerShape.square`)},{value:`circle`,label:this.$t(`qrart.markerShape.circle`)},{value:`plus`,label:this.$t(`qrart.markerShape.plus`)},{value:`box`,label:this.$t(`qrart.markerShape.box`)},{value:`octagon`,label:this.$t(`qrart.markerShape.octagon`)},{value:`tiny-plus`,label:this.$t(`qrart.markerShape.tinyPlus`)},{value:`random`,label:this.$t(`qrart.markerShape.random`)}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.marker_shape},set(e){console.debug(`set marker_shape`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,marker_shape:e})}}},mounted(){this.value||=O}}),Be={class:`field`},Ve={class:`text-sm font-bold block mb-2`};function He(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,Be,[r(`span`,Ve,u(e.$t(`qrart.name.markerShape`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,clearable:``,class:`value`,placeholder:e.$t(`qrart.placeholder.markerShape`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ue=F(ze,[[`render`,He],[`__scopeId`,`data-v-de71e0b0`]]),We=c({name:`SubMarkerSelector`,components:{ElSelect:_,ElOption:v},data(){return{options:[{value:`square`,label:this.$t(`qrart.subMarker.square`)},{value:`circle`,label:this.$t(`qrart.subMarker.circle`)},{value:`plus`,label:this.$t(`qrart.subMarker.plus`)},{value:`box`,label:this.$t(`qrart.subMarker.box`)},{value:`random`,label:this.$t(`qrart.subMarker.random`)}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.sub_marker},set(e){console.debug(`set sub_marker`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,sub_marker:e})}}},mounted(){this.value||=j}}),Ge={class:`field`},Ke={class:`text-sm font-bold block mb-2`};function qe(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,Ge,[r(`span`,Ke,u(e.$t(`qrart.name.subMarker`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,clearable:``,class:`value`,placeholder:e.$t(`qrart.placeholder.subMarker`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Je=F(We,[[`render`,qe],[`__scopeId`,`data-v-51a39efa`]]),Ye=c({name:`RotateSelector`,components:{ElSelect:_,ElOption:v},data(){return{options:[{value:0,label:0},{value:90,label:90},{value:180,label:180},{value:270,label:270}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.rotate},set(e){console.debug(`set rotate`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,rotate:e})}}},mounted(){this.value||=0}}),Xe={class:`field`},Ze={class:`text-sm font-bold block mb-2`};function Qe(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,Xe,[r(`span`,Ze,u(e.$t(`qrart.name.rotate`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,clearable:``,class:`value`,placeholder:e.$t(`qrart.placeholder.rotate`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var $e=F(Ye,[[`render`,Qe],[`__scopeId`,`data-v-72e35835`]]),et=c({name:`EclSelector`,components:{ElSelect:_,ElOption:v},data(){return{options:[{value:`L`,label:`L`},{value:`M`,label:`M`},{value:`Q`,label:`Q`},{value:`H`,label:`H`}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.ecl},set(e){console.debug(`set ecl`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,ecl:e})}}},mounted(){this.value||=`H`}}),tt={class:`field`},nt={class:`text-sm font-bold block mb-2`};function rt(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,tt,[r(`span`,nt,u(e.$t(`qrart.name.ecl`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,clearable:``,class:`value`,placeholder:e.$t(`qrart.placeholder.ecl`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var it=F(et,[[`render`,rt],[`__scopeId`,`data-v-b3a5e331`]]),at=c({name:`MarkerShapeSelector`,components:{ElSelect:_,ElOption:v},data(){return{options:[{value:`center`,label:this.$t(`qrart.position.center`)},{value:`top`,label:this.$t(`qrart.position.top`)},{value:`right`,label:this.$t(`qrart.position.right`)},{value:`bottom`,label:this.$t(`qrart.position.bottom`)},{value:`left`,label:this.$t(`qrart.position.left`)},{value:`top-left`,label:this.$t(`qrart.position.topLeft`)},{value:`top-right`,label:this.$t(`qrart.position.topRight`)},{value:`bottom-left`,label:this.$t(`qrart.position.bottomLeft`)},{value:`bottom-right`,label:this.$t(`qrart.position.bottomRight`)}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.position},set(e){console.debug(`set position`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,position:e})}}},mounted(){this.value||=A}}),ot={class:`field`},st={class:`title font-bold`};function ct(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,ot,[r(`span`,st,u(e.$t(`qrart.name.position`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,clearable:``,class:`value`,placeholder:e.$t(`qrart.placeholder.position`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var lt=F(at,[[`render`,ct],[`__scopeId`,`data-v-54186505`]]),ut=c({name:`PaddingLevelSelector`,components:{ElSelect:_,ElOption:v},data(){return{options:[{value:0,label:0},{value:5,label:5},{value:10,label:10},{value:10,label:10},{value:15,label:15},{value:20,label:20}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.padding_level},set(e){console.debug(`set padding_level`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,padding_level:e})}}},mounted(){this.value||=5}}),dt={class:`field`},ft={class:`text-sm font-bold block mb-2`};function pt(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,dt,[r(`span`,ft,u(e.$t(`qrart.name.paddingLevel`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,clearable:``,class:`value`,placeholder:e.$t(`qrart.placeholder.paddingLevel`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var mt=F(ut,[[`render`,pt],[`__scopeId`,`data-v-49d801fd`]]),ht=c({name:`PaddingNoiseSelector`,components:{ElSelect:_,ElOption:v},data(){return{options:[{value:0,label:0},{value:.25,label:.25},{value:.5,label:.5},{value:.75,label:.75},{value:1,label:1}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.padding_noise},set(e){console.debug(`set padding_noise`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,padding_noise:e})}}},mounted(){this.value||=0}}),gt={class:`field`},_t={class:`text-sm font-bold block mb-2`};function vt(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,gt,[r(`span`,_t,u(e.$t(`qrart.name.paddingNoise`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,clearable:``,class:`value`,placeholder:e.$t(`qrart.placeholder.paddingNoise`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var yt=F(ht,[[`render`,vt],[`__scopeId`,`data-v-a20833bb`]]),bt=c({name:`PixelStyleSelector`,components:{ElSelect:_,ElOption:v},data(){return{options:[{value:`square`,label:this.$t(`qrart.pixelStyle.square`)},{value:`rounded`,label:this.$t(`qrart.pixelStyle.rounded`)},{value:`dot`,label:this.$t(`qrart.pixelStyle.dot`)},{value:`squircle`,label:this.$t(`qrart.pixelStyle.squircle`)},{value:`row`,label:this.$t(`qrart.pixelStyle.row`)},{value:`column`,label:this.$t(`qrart.pixelStyle.column`)}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.pixel_style},set(e){console.debug(`set pixel_style`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,pixel_style:e})}}},mounted(){this.value||=M}}),xt={class:`field`},St={class:`text-sm font-bold block mb-2`};function Ct(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,xt,[r(`span`,St,u(e.$t(`qrart.name.pixelStyle`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,clearable:``,class:`value`,placeholder:e.$t(`qrart.placeholder.pixelStyle`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var wt=F(bt,[[`render`,Ct],[`__scopeId`,`data-v-aca7f79f`]]),Tt=c({name:`SeedInput`,components:{ElInput:L},data(){return{}},computed:{value:{get(){return this.$store.state.qrart?.config?.seed},set(e){console.debug(`set seed`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,seed:e?parseInt(e):void 0})}}},mounted(){this.value||=void 0}}),Et={class:`field`},Dt={class:`text-sm font-bold block mb-2`};function Ot(e,t,n,i,a,s){let c=f(`el-input`);return d(),p(`div`,Et,[r(`span`,Dt,u(e.$t(`qrart.name.seed`)),1),o(c,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`qrart.placeholder.seed`)},null,8,[`modelValue`,`placeholder`])])}var kt=F(Tt,[[`render`,Ot],[`__scopeId`,`data-v-d939305d`]]),At=c({name:`PresetSelector`,components:{ElImage:b},data(){return{options:[{value:`sunset`,label:this.$t(`qrart.preset.sunset`),url:`https://cdn.acedata.cloud/rp1h1s.png`},{value:`floral`,label:this.$t(`qrart.preset.floral`),url:`https://cdn.acedata.cloud/upyikx.png`},{value:`snowflakes`,label:this.$t(`qrart.preset.snowflakes`),url:`https://cdn.acedata.cloud/j447da.png`},{value:`feathers`,label:this.$t(`qrart.preset.feathers`),url:`https://cdn.acedata.cloud/d2ctz9.png`},{value:`raindrops`,label:this.$t(`qrart.preset.raindrops`),url:`https://cdn.acedata.cloud/xv2t3s.png`},{value:`ultra-realism`,label:this.$t(`qrart.preset.ultraRealism`),url:`https://cdn.acedata.cloud/nlor4y.png`},{value:`epic-realms`,label:this.$t(`qrart.preset.epicRealms`),url:`https://cdn.acedata.cloud/wwzkvy.png`},{value:`intricate-studio`,label:this.$t(`qrart.preset.intricateStudio`),url:`https://cdn.acedata.cloud/4kzf5y.png`},{value:`symmetric-masterpiece`,label:this.$t(`qrart.preset.symmetricMasterpiece`),url:`https://cdn.acedata.cloud/ff4ii2.png`},{value:`luminous-highway`,label:this.$t(`qrart.preset.luminousHighway`),url:`https://cdn.acedata.cloud/cliodt.png`},{value:`celestial-journey`,label:this.$t(`qrart.preset.celestialJourney`),url:`https://cdn.acedata.cloud/ejellf.png`},{value:`neon-mech`,label:this.$t(`qrart.preset.neonMech`),url:`https://cdn.acedata.cloud/3z0y6z.png`},{value:`ethereal-low-poly`,label:this.$t(`qrart.preset.etherealLowPoly`),url:`https://cdn.acedata.cloud/36o0mm.png`},{value:`golden-vista`,label:this.$t(`qrart.preset.goldenVista`),url:`https://cdn.acedata.cloud/xa0267.png`},{value:`cinematic-expanse`,label:this.$t(`qrart.preset.cinematicExpanse`),url:`https://cdn.acedata.cloud/krl5qp.png`},{value:`cinematic-warm`,label:this.$t(`qrart.preset.cinematicWarm`),url:`https://cdn.acedata.cloud/e1aahg.png`},{value:`desolate-wilderness`,label:this.$t(`qrart.preset.desolateWilderness`),url:`https://cdn.acedata.cloud/9evqqu.png`},{value:`vibrant-palette`,label:this.$t(`qrart.preset.vibrantPalette`),url:`https://cdn.acedata.cloud/3fvsmz.png`},{value:`enigmatic-journey`,label:this.$t(`qrart.preset.enigmaticJourney`),url:`https://cdn.acedata.cloud/l6kku0.png`},{value:`timeless-cinematic`,label:this.$t(`qrart.preset.timelessCinematic`),url:`https://cdn.acedata.cloud/h5mzyn.png`},{value:`regal-galaxy`,label:this.$t(`qrart.preset.regalGalaxy`),url:`https://cdn.acedata.cloud/czkegd.png`},{value:`illustrious-canvas`,label:this.$t(`qrart.preset.illustriousCanvas`),url:`https://cdn.acedata.cloud/m8hwzh.png`},{value:`expressive-mural`,label:this.$t(`qrart.preset.expressiveMural`),url:`https://cdn.acedata.cloud/g4v1rb.png`},{value:`serene-haze`,label:this.$t(`qrart.preset.sereneHaze`),url:`https://cdn.acedata.cloud/3w3ixr.png`}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.preset},set(e){console.debug(`set qrw`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,preset:e})}}},mounted(){this.value||=``}}),jt={class:`field`},Mt={class:`text-sm font-bold block mb-2`},Nt={class:`pane`},Pt=[`onClick`],Ft={class:`name`};function It(e,n,i,a,s,c){let m=f(`el-image`);return d(),p(`div`,jt,[r(`span`,Mt,u(e.$t(`qrart.name.preset`)),1),r(`div`,Nt,[(d(!0),p(h,null,l(e.options,(n,i)=>(d(),p(`div`,{key:i,class:t({item:!0,active:e.value===n.value}),onClick:t=>e.value===n.value?e.value=void 0:e.value=n.value},[o(m,{src:n.url,fit:`fill`,class:`preview`},null,8,[`src`]),r(`span`,Ft,u(n.label),1)],10,Pt))),128))])])}var Lt=F(At,[[`render`,It],[`__scopeId`,`data-v-65c34adf`]]),Rt=c({name:`ContentInput`,components:{ElInput:L,ElUpload:y,ElRadioGroup:C,ElButton:g,ElRadioButton:S,ImagePreview:q,FontAwesomeIcon:W},mixins:[V,P],data(){return{inputWay:`input`,fileList:[],uploadUrl:U()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.qrart?.config?.content},set(e){this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,content:e,content_image_url:void 0})}}},mounted(){this.value||=``,this.onSetContentImageUrl()},methods:{onExceed(){z.warning(this.$t(`qrart.message.uploadDocumentsExceed`))},onError(){z.error(this.$t(`qrart.message.uploadDocumentsError`))},onSetContentImageUrl(){let e=this.urls?.[0];this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,content:void 0,content_image_url:e})},async onSuccess(){this.onSetContentImageUrl()}}}),zt={class:`field`},Bt={class:`flex justify-between items-center mb-4`},Vt={class:`text-sm font-bold title`},Ht={class:`flex items-center`},Ut={key:2,class:`description`};function Wt(e,t,i,c,l,h){let g=f(`el-radio-button`),_=f(`el-radio-group`),v=f(`el-input`),y=f(`image-preview`),b=f(`font-awesome-icon`),x=f(`el-button`),S=f(`el-upload`);return d(),p(`div`,zt,[r(`div`,Bt,[r(`span`,Vt,u(e.$t(`qrart.name.content`)),1),r(`div`,Ht,[o(_,{modelValue:e.inputWay,"onUpdate:modelValue":t[0]||=t=>e.inputWay=t},{default:m(()=>[o(g,{label:`input`},{default:m(()=>[a(u(e.$t(`qrart.inputWay.input`)),1)]),_:1}),o(g,{label:`upload`},{default:m(()=>[a(u(e.$t(`qrart.inputWay.upload`)),1)]),_:1})]),_:1},8,[`modelValue`])])]),e.inputWay==`input`?(d(),n(v,{key:0,modelValue:e.value,"onUpdate:modelValue":t[1]||=t=>e.value=t,class:`content`,placeholder:e.$t(`qrart.placeholder.content`)},null,8,[`modelValue`,`placeholder`])):s(``,!0),e.inputWay==`upload`?(d(),n(S,{key:1,ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[2]||=t=>e.fileList=t,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`upload upload-wrapper`,limit:1,multiple:!1,"list-type":`picture`,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:t})=>[o(y,{url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:m(()=>[o(x,{size:`small`,type:`primary`,round:``},{default:m(()=>[o(b,{icon:`fa-solid fa-upload`,class:`mr-1`}),a(` `+u(e.$t(`qrart.button.uploadQr`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])):s(``,!0),e.inputWay==`upload`?(d(),p(`p`,Ut,u(e.$t(`qrart.message.uploadQr`)),1)):s(``,!0)])}var Gt=F(Rt,[[`render`,Wt],[`__scopeId`,`data-v-afb72cf1`]]),Kt=c({name:`PromptInput`,components:{PromptTextarea:Q},computed:{value:{get(){return this.$store.state.qrart?.config?.prompt},set(e){this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,prompt:e})}}},mounted(){this.value||=``}});function qt(e,t,r,i,a,o){let s=f(`prompt-textarea`);return d(),n(s,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,title:e.$t(`qrart.name.prompt`),placeholder:e.$t(`qrart.placeholder.prompt`)},null,8,[`modelValue`,`title`,`placeholder`])}var Jt=c({name:`ConfigPanel`,components:{ElButton:g,FontAwesomeIcon:W,Consumption:re,TypeSelector:ge,PositionSelector:lt,PixelStyleSelector:wt,PaddingLevelSelector:mt,SeedInput:kt,AspectRatioSelector:Ce,QrwSelector:Oe,EclSelector:it,StepsSelector:Ne,PaddingNoiseSelector:yt,AdvancedSelector:Re,MarkerShapeSelector:Ue,SubMarkerSelector:Je,RotateSelector:$e,PresetSelector:Lt,ContentInput:Gt,PromptInput:F(Kt,[[`render`,qt]])},emits:[`generate`],computed:{config(){return this.$store.state.qrart?.config},consumption(){return te(this.config,this.service?.cost)},service(){return this.$store.state.qrart?.service}}}),Yt={class:`flex flex-col h-full`},Xt={class:`flex-1 overflow-y-auto p-5`},Zt={class:`flex flex-col items-center justify-center px-5 pb-5`};function Qt(e,t,i,c,l,h){let g=f(`type-selector`),_=f(`content-input`),v=f(`prompt-input`),y=f(`aspect-ratio-selector`),b=f(`qrw-selector`),x=f(`preset-selector`),S=f(`position-selector`),C=f(`advanced-selector`),w=f(`steps-selector`),T=f(`seed-input`),E=f(`pixel-style-selector`),D=f(`marker-shape-selector`),O=f(`sub-marker-selector`),k=f(`rotate-selector`),A=f(`ecl-selector`),j=f(`padding-level-selector`),M=f(`padding-noise-selector`),N=f(`consumption`),P=f(`font-awesome-icon`),F=f(`el-button`);return d(),p(`div`,Yt,[r(`div`,Xt,[o(g,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`}),o(b,{class:`mb-4`}),o(x,{class:`mb-4`}),o(S,{class:`mb-4`}),o(C,{class:`mb-4`}),e.config?.advanced?(d(),n(w,{key:0,class:`mb-4`})):s(``,!0),e.config?.advanced?(d(),n(T,{key:1,class:`mb-4`})):s(``,!0),e.config?.advanced?(d(),n(E,{key:2,class:`mb-4`})):s(``,!0),e.config?.advanced?(d(),n(D,{key:3,class:`mb-4`})):s(``,!0),e.config?.advanced?(d(),n(O,{key:4,class:`mb-4`})):s(``,!0),e.config?.advanced?(d(),n(k,{key:5,class:`mb-4`})):s(``,!0),e.config?.advanced?(d(),n(A,{key:6,class:`mb-4`})):s(``,!0),e.config?.advanced?(d(),n(j,{key:7,class:`mb-4`})):s(``,!0),e.config?.advanced?(d(),n(M,{key:8,class:`mb-4`})):s(``,!0)]),r(`div`,Zt,[o(N,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(F,{type:`primary`,class:`btn w-full`,round:``,onClick:t[0]||=t=>e.$emit(`generate`)},{default:m(()=>[o(P,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`qrart.button.generate`)),1)]),_:1})])])}var $t=F(Jt,[[`render`,Qt]]),en=c({name:`TaskPreview`,components:{ElImage:b,CopyToClipboard:G,FontAwesomeIcon:W,ElAlert:x,ImageWrapper:ae,ApiCodeButton:ie},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.qrart?.application}},methods:{onOpenLink(e){window.open(e,`_blank`)},onReload(e){let t=e.target,n=new URL(t.src),r=n.searchParams.get(`retry`);if(!r)n.searchParams.set(`retry`,`1`);else if(parseInt(r)<2)n.searchParams.set(`retry`,(parseInt(r)+1).toString());else return;t.src=n.toString()},onOpenUrl(e){window.open(e,`_blank`)},onDownload(e){let t=document.createElement(`a`);t.href=e,t.download=e.split(`/`).pop(),t.click()}}}),tn={class:`preview w-full h-fit text-left flex flex-row mb-[15px]`},nn={class:`left`},rn={class:`main flex-1 w-[calc(100%-70px)] min-w-0 pt-[10px] pr-[10px] pb-0 pl-[10px]`},an={class:`bot text-[16px] font-bold text-[var(--el-color-primary)] overflow-hidden text-ellipsis whitespace-nowrap`},on={class:`datetime text-[12px] font-normal text-[var(--el-text-color-secondary)] ml-[10px]`},sn={class:`info`},cn={key:0,class:`prompt mt-2 text-[14px] font-bold text-[var(--el-text-color-regular)] mb-[10px] overflow-hidden text-ellipsis whitespace-nowrap`},ln={key:0},un={key:0,class:t({content:!0,failed:!0})},dn={class:t({operations:!0,"mt-2":!0,"mb-2":!0})},fn={class:`description`},pn={class:`description`},mn={key:0,class:`description`},hn={key:1,class:`description`},gn={key:2,class:`description`},_n={key:3,class:`description`},vn={key:1,class:t({content:!0})},yn={class:`description`},$={class:`description`},bn={key:0,class:`description`},xn={class:`description`},Sn={key:2,class:t({content:!0})},Cn={class:`description`};function wn(e,t,i,c,l,h){let g=f(`el-image`),_=f(`image-wrapper`),v=f(`api-code-button`),y=f(`font-awesome-icon`),b=f(`copy-to-clipboard`),x=f(`el-alert`);return d(),p(`div`,tn,[r(`div`,nn,[o(g,{src:`https://cdn.acedata.cloud/bcml67.png`,class:`avatar bg-[var(--el-bg-color)] p-[2px] w-[50px] h-[50px] m-[10px] rounded-full`})]),r(`div`,rn,[r(`div`,an,[a(u(e.$t(`qrart.name.qrartBot`))+` `,1),r(`span`,on,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,sn,[e.modelValue?.request?.prompt?(d(),p(`p`,cn,[a(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?s(``,!0):(d(),p(`span`,ln,` - (`+u(e.$t(`qrart.status.pending`))+`) `,1))])):s(``,!0)]),e.modelValue?.response?.success===!0?(d(),p(`div`,un,[e.modelValue?.response?.image_url?(d(),n(_,{key:0,src:e.modelValue?.response?.image_url,"raw-src":e.modelValue?.response?.image_url},null,8,[`src`,`raw-src`])):s(``,!0),r(`div`,dn,[o(v,{path:`/qrart/generate`,body:e.modelValue?.request},null,8,[`body`])]),o(x,{closable:!1,class:`mt-2 success`},{default:m(()=>[r(`p`,fn,[o(y,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(b,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),r(`p`,pn,[o(y,{icon:`fa-solid fa-diamond`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.type`))+`: `+u(e.$t(`qrart.type.`+e.modelValue?.request?.type))+` `,1),o(b,{content:e.modelValue?.request?.type,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.request?.content?(d(),p(`p`,mn,[o(y,{icon:`fa-regular fa-message`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.content`))+`: `+u(e.modelValue?.request?.content)+` `,1),o(b,{content:e.modelValue?.request?.content,class:`btn-copy`},null,8,[`content`])])):s(``,!0),e.modelValue?.request?.content_image_url?(d(),p(`p`,hn,[o(y,{icon:`fa-regular fa-message`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.contentImageUrl`))+`: `,1),o(y,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1 cursor-pointer`,onClick:t[0]||=t=>e.onOpenLink(e.modelValue?.request?.content_image_url)})])):s(``,!0),e.modelValue?.request?.seed||e.modelValue?.response?.seed?(d(),p(`p`,gn,[o(y,{icon:`fa-solid fa-seedling`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.seed`))+`: `+u(e.modelValue?.request?.seed||e.modelValue?.response?.seed)+` `,1),o(b,{content:(e.modelValue?.request?.seed||e.modelValue?.response?.seed).toString(),class:`btn-copy`},null,8,[`content`])])):s(``,!0),e.modelValue?.elapsed?(d(),p(`p`,_n,[o(y,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0)]),_:1})])):s(``,!0),e.modelValue?.response?.success===!1?(d(),p(`div`,vn,[o(x,{closable:!1,class:`failure`},{template:m(()=>[o(y,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.failure`)),1)]),default:m(()=>[r(`p`,yn,[o(y,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(b,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),r(`p`,$,[o(y,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(b,{content:e.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(d(),p(`p`,bn,[o(y,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0),r(`p`,xn,[o(y,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(b,{content:e.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):s(``,!0),e.modelValue?.response?s(``,!0):(d(),p(`div`,Sn,[o(x,{closable:!1,class:`info`},{template:m(()=>[o(y,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.failure`)),1)]),default:m(()=>[r(`p`,Cn,[o(y,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(b,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var Tn=c({name:`RecentPanel`,components:{TaskPreview:F(en,[[`render`,wn],[`__scopeId`,`data-v-5c6e6795`]]),BotPlaceholder:J,NoTasks:ne,ScrollList:X},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.qrart?.tasks,items:this.$store.state.qrart?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),En={key:0},Dn={key:2,class:`w-full h-full flex items-center justify-center`};function On(e,t,r,i,a,c){let u=f(`bot-placeholder`),g=f(`task-preview`),_=f(`scroll-list`),v=f(`no-tasks`);return d(),p(h,null,[e.tasks?.items===void 0?(d(),p(`div`,En,[o(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(d(),n(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:m(()=>[(d(!0),p(h,null,l(e.tasks?.items,(e,t)=>(d(),n(g,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):s(``,!0),e.tasks?.items?.length===0?(d(),p(`div`,Dn,[o(v)])):s(``,!0)],64)}var kn=F(Tn,[[`render`,On]]),An=D(`qrart`),jn=c({name:`QrartIndex`,components:{ConfigPanel:$t,Layout:de,ApplicationStatus:K,RecentPanel:kn},mixins:[R],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.qrart?.status?.getApplications===B.Request},tasksLoading(){return this.$store.state.qrart?.status?.getTasks===B.Request||this.fetchingTasks},service(){return this.$store.state.qrart.service},credential(){return this.$store.state.qrart.credential},config(){return this.$store.state.qrart.config},initializing(){return this.$store.state.qrart.status.getApplications===B.Request},needApply(){return this.$store.state.qrart.status.getApplications===B.Success&&!this.application},application(){return this.$store.state.qrart.application},tasks(){return this.$store.state.qrart.tasks},applications(){return this.$store.state.qrart.applications}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Z({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`qrart/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplications`),await this.$store.dispatch(`qrart/getApplications`),console.debug(`end onGetApplications`),await this.onGetTasks()},onApply(){N.create({application:this.application}).then(({data:e})=>{this.application=e,z.success(this.$t(`application.message.applySuccessfully`))}).catch(e=>{e?.response?.data?.code===`duplication`&&z.error(this.$t(`application.message.alreadyApplied`))})},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`qrart/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ee(this.uploadTracker,e=>this.$t(e),e=>z.warning(e)))return;let e={type:this.config?.type,content:this.config?.content,content_image_url:this.config?.content_image_url,prompt:this.config?.prompt,aspect_ratio:this.config?.aspect_ratio,callback_url:An,qrw:this.config?.qrw,steps:this.config?.steps,preset:this.config?.preset,...this.config?.advanced?{position:this.config?.position,pixel_style:this.config?.pixel_style,marker_shape:this.config?.marker_shape,sub_marker:this.config?.sub_marker,rotate:this.config?.rotate,ecl:this.config?.ecl,seed:this.config?.seed,padding_level:this.config?.padding_level,padding_noise:this.config?.padding_noise}:{}},t=this.credential?.token;if(!t){console.error(`no token specified`);return}z.info(this.$t(`qrart.message.startingTask`)),I(`qrart`,H.generate(e,{token:t})).then(()=>{z.success(this.$t(`qrart.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?z.error(this.$t(`qrart.message.usedUp`)):z.error(this.$t(`qrart.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Mn(e,t,r,i,a,s){let c=f(`config-panel`),l=f(`application-status`),u=f(`recent-panel`),p=f(`layout`);return d(),n(p,null,{config:m(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:m(()=>[o(l,{initializing:e.initializing,application:e.application,applications:e.applications,service:e.service,"need-apply":e.needApply,class:`mb-4`,onRefresh:e.onGetApplication,onSelect:t[0]||=t=>e.$store.dispatch(`qrart/setApplication`,t)},null,8,[`initializing`,`application`,`applications`,`service`,`need-apply`,`onRefresh`]),o(u,{ref:`recentPanel`,class:`panel recent`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Nn=F(jn,[[`render`,Mn],[`__scopeId`,`data-v-3bce2743`]]);export{Nn as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,Ht as i,M as a,N as o,O as s,P as c,Q as l,Ut as u,X as d,et as f,k as p,lt as m,x as h}from"./vendor-chart-Df3WBvr0.js";import{t as g}from"./button-DgZFgZDr.js";import{r as _,t as v}from"./select-Dy4nmBcy.js";import{t as y}from"./upload-B8zBOx3w.js";import{t as b}from"./image-Bau0kGS7.js";import{t as x}from"./alert-Bgv5POrX.js";import{n as S,r as C}from"./radio-DNLlMkjf.js";import{t as w}from"./drawer-BhAAsvLB.js";import{t as T}from"./slider-DYYyrciZ.js";import{t as E}from"./switch-D-UGKh2b.js";import{Hr as D,er as O,ir as k,nr as A,rr as j,tr as M}from"./constants-D3W0tInG.js";import{Dn as N,Dt as P,E as F,Et as ee,Mn as I,Mr as L,Ot as R,Tr as z,hr as B,jt as te,kt as V,pn as H,vr as U}from"./index-CEh-AtFD.js";import{t as W}from"./index.es-CGcvPLbY.js";import{t as G}from"./CopyToClipboard-DY4cWsYU.js";import{t as K}from"./Status-BJ-OT3no.js";import{t as q}from"./ImagePreview-C1Hid5KU.js";import{t as J}from"./BotPlaceholder-2Tv7c707.js";import{i as Y,n as X,t as Z}from"./pagination-D0v316W1.js";import{n as Q,t as ne}from"./NoTasks-BJ195-7X.js";import{t as re}from"./Consumption-DSbM28rV.js";import{t as ie}from"./ApiCodeButton-CrB8OI_k.js";import{t as ae}from"./ImageWrapper-DJX4X7ZH.js";var oe=c({name:`LayoutQrart`,components:{ElDrawer:w,ElButton:g,FontAwesomeIcon:W},data(){return{drawer:!1}}}),se={class:`main flex flex-row flex-1`},ce={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},le={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ue(t,n,i,a,s,c){let l=f(`font-awesome-icon`),u=f(`el-button`),h=f(`el-drawer`);return d(),p(`div`,se,[r(`div`,ce,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,le,[e(t.$slots,`result`,{},void 0,!0)]),o(u,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:m(()=>[o(l,{icon:`fa-solid fa-magic`})]),_:1}),o(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`350px`},{default:m(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var de=F(oe,[[`render`,ue],[`__scopeId`,`data-v-0eb52da0`]]),fe=c({name:`VersionSelector`,components:{ElSelect:_,ElOption:v},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{label:this.$t(`qrart.type.text`),value:`text`},{label:this.$t(`qrart.type.link`),value:`link`},{label:this.$t(`qrart.type.email`),value:`email`},{label:this.$t(`qrart.type.phone`),value:`phone`},{label:this.$t(`qrart.type.sms`),value:`sms`}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.type},set(e){console.debug(`set type`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,type:e})}}},mounted(){this.value||=(console.debug(`set default type`,k),k)}}),pe={class:`field`},me={class:`text-sm font-bold title`};function he(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,pe,[r(`span`,me,u(e.$t(`qrart.name.type`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`qrart.placeholder.select`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ge=F(fe,[[`render`,he],[`__scopeId`,`data-v-b4bd8f04`]]),_e=c({name:`AspectRatioSelector`,data(){return{options:[{value:`1:1`,label:`1:1`,width:30,height:30},{value:`4:3`,label:`4:3`,width:32,height:24},{value:`3:4`,label:`3:4`,width:24,height:32},{value:`16:9`,label:`16:9`,width:32,height:18},{value:`9:16`,label:`9:16`,width:18,height:32}]}},computed:{active(){return this.options.findIndex(e=>e.value===String(this.value))||0},value:{get(){return this.$store.state.qrart?.config?.aspect_ratio},set(e){console.debug(`set aspect ratio`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,aspect_ratio:e})}}},mounted(){this.value||=`1:1`}}),ve={class:`text-sm font-bold block mb-2`},ye={class:`items`},be=[`onClick`],xe={class:`name`};function Se(e,n,a,o,s,c){return d(),p(`div`,null,[r(`span`,ve,u(e.$t(`qrart.name.aspectRatio`)),1),r(`div`,ye,[(d(!0),p(h,null,l(e.options,(n,a)=>(d(),p(`div`,{key:a,class:t({active:e.active===a,item:!0}),onClick:t=>e.value=n.value},[r(`div`,{class:t([`preview`,n.label])},[r(`div`,{class:`rect`,style:i({width:n.width+`px`,height:n.height+`px`})},null,4)],2),r(`p`,xe,u(n.label),1)],10,be))),128))])])}var Ce=F(_e,[[`render`,Se],[`__scopeId`,`data-v-b7590ecc`]]),we=c({name:`QrwSelector`,components:{ElSlider:T,InfoIcon:Y},computed:{value:{get(){return this.$store.state.qrart?.config?.qrw||2},set(e){console.debug(`set qrw`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,qrw:e})}}},mounted(){this.value||=(console.debug(`set default qrw`),2)}}),Te={class:`field`},Ee={class:`text-sm font-bold title mb-2`};function De(e,t,n,i,a,s){let c=f(`el-slider`),l=f(`info-icon`);return d(),p(`div`,Te,[r(`span`,Ee,u(e.$t(`qrart.name.qrw`)),1),o(c,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,min:1.5,max:3,step:.1,class:`value`},null,8,[`modelValue`]),o(l,{content:e.$t(`qrart.description.qrw`),class:`info`},null,8,[`content`])])}var Oe=F(we,[[`render`,De],[`__scopeId`,`data-v-8410479c`]]),ke=c({name:`StepsSelector`,components:{ElSlider:T,InfoIcon:Y},computed:{value:{get(){return this.$store.state.qrart?.config?.steps||20},set(e){console.debug(`set steps`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,steps:e})}}},mounted(){this.value||=(console.debug(`set default steps`,20),20)}}),Ae={class:`field`},je={class:`text-sm font-bold block mb-2`};function Me(e,t,n,i,a,s){let c=f(`el-slider`),l=f(`info-icon`);return d(),p(`div`,Ae,[r(`span`,je,u(e.$t(`qrart.name.steps`)),1),o(c,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,min:10,max:20,step:1,class:`value`},null,8,[`modelValue`]),o(l,{content:e.$t(`qrart.description.steps`),class:`info`},null,8,[`content`])])}var Ne=F(ke,[[`render`,Me],[`__scopeId`,`data-v-0c88983e`]]),Pe=c({name:`AdvancedSelector`,components:{ElSwitch:E},computed:{value:{get(){return this.$store.state.qrart?.config?.advanced},set(e){console.debug(`set advanced`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,advanced:e})}}},mounted(){this.value===void 0&&(this.value=!1)}}),Fe={class:`field`},Ie={class:`title font-bold`};function Le(e,t,n,i,a,s){let c=f(`el-switch`);return d(),p(`div`,Fe,[r(`span`,Ie,u(e.$t(`qrart.name.advanced`)),1),o(c,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`},null,8,[`modelValue`])])}var Re=F(Pe,[[`render`,Le],[`__scopeId`,`data-v-f8ddf849`]]),ze=c({name:`MarkerShapeSelector`,components:{ElSelect:_,ElOption:v},data(){return{options:[{value:`square`,label:this.$t(`qrart.markerShape.square`)},{value:`circle`,label:this.$t(`qrart.markerShape.circle`)},{value:`plus`,label:this.$t(`qrart.markerShape.plus`)},{value:`box`,label:this.$t(`qrart.markerShape.box`)},{value:`octagon`,label:this.$t(`qrart.markerShape.octagon`)},{value:`tiny-plus`,label:this.$t(`qrart.markerShape.tinyPlus`)},{value:`random`,label:this.$t(`qrart.markerShape.random`)}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.marker_shape},set(e){console.debug(`set marker_shape`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,marker_shape:e})}}},mounted(){this.value||=O}}),Be={class:`field`},Ve={class:`text-sm font-bold block mb-2`};function He(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,Be,[r(`span`,Ve,u(e.$t(`qrart.name.markerShape`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,clearable:``,class:`value`,placeholder:e.$t(`qrart.placeholder.markerShape`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ue=F(ze,[[`render`,He],[`__scopeId`,`data-v-de71e0b0`]]),We=c({name:`SubMarkerSelector`,components:{ElSelect:_,ElOption:v},data(){return{options:[{value:`square`,label:this.$t(`qrart.subMarker.square`)},{value:`circle`,label:this.$t(`qrart.subMarker.circle`)},{value:`plus`,label:this.$t(`qrart.subMarker.plus`)},{value:`box`,label:this.$t(`qrart.subMarker.box`)},{value:`random`,label:this.$t(`qrart.subMarker.random`)}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.sub_marker},set(e){console.debug(`set sub_marker`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,sub_marker:e})}}},mounted(){this.value||=j}}),Ge={class:`field`},Ke={class:`text-sm font-bold block mb-2`};function qe(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,Ge,[r(`span`,Ke,u(e.$t(`qrart.name.subMarker`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,clearable:``,class:`value`,placeholder:e.$t(`qrart.placeholder.subMarker`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Je=F(We,[[`render`,qe],[`__scopeId`,`data-v-51a39efa`]]),Ye=c({name:`RotateSelector`,components:{ElSelect:_,ElOption:v},data(){return{options:[{value:0,label:0},{value:90,label:90},{value:180,label:180},{value:270,label:270}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.rotate},set(e){console.debug(`set rotate`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,rotate:e})}}},mounted(){this.value||=0}}),Xe={class:`field`},Ze={class:`text-sm font-bold block mb-2`};function Qe(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,Xe,[r(`span`,Ze,u(e.$t(`qrart.name.rotate`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,clearable:``,class:`value`,placeholder:e.$t(`qrart.placeholder.rotate`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var $e=F(Ye,[[`render`,Qe],[`__scopeId`,`data-v-72e35835`]]),et=c({name:`EclSelector`,components:{ElSelect:_,ElOption:v},data(){return{options:[{value:`L`,label:`L`},{value:`M`,label:`M`},{value:`Q`,label:`Q`},{value:`H`,label:`H`}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.ecl},set(e){console.debug(`set ecl`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,ecl:e})}}},mounted(){this.value||=`H`}}),tt={class:`field`},nt={class:`text-sm font-bold block mb-2`};function rt(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,tt,[r(`span`,nt,u(e.$t(`qrart.name.ecl`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,clearable:``,class:`value`,placeholder:e.$t(`qrart.placeholder.ecl`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var it=F(et,[[`render`,rt],[`__scopeId`,`data-v-b3a5e331`]]),at=c({name:`MarkerShapeSelector`,components:{ElSelect:_,ElOption:v},data(){return{options:[{value:`center`,label:this.$t(`qrart.position.center`)},{value:`top`,label:this.$t(`qrart.position.top`)},{value:`right`,label:this.$t(`qrart.position.right`)},{value:`bottom`,label:this.$t(`qrart.position.bottom`)},{value:`left`,label:this.$t(`qrart.position.left`)},{value:`top-left`,label:this.$t(`qrart.position.topLeft`)},{value:`top-right`,label:this.$t(`qrart.position.topRight`)},{value:`bottom-left`,label:this.$t(`qrart.position.bottomLeft`)},{value:`bottom-right`,label:this.$t(`qrart.position.bottomRight`)}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.position},set(e){console.debug(`set position`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,position:e})}}},mounted(){this.value||=A}}),ot={class:`field`},st={class:`title font-bold`};function ct(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,ot,[r(`span`,st,u(e.$t(`qrart.name.position`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,clearable:``,class:`value`,placeholder:e.$t(`qrart.placeholder.position`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var lt=F(at,[[`render`,ct],[`__scopeId`,`data-v-54186505`]]),ut=c({name:`PaddingLevelSelector`,components:{ElSelect:_,ElOption:v},data(){return{options:[{value:0,label:0},{value:5,label:5},{value:10,label:10},{value:10,label:10},{value:15,label:15},{value:20,label:20}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.padding_level},set(e){console.debug(`set padding_level`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,padding_level:e})}}},mounted(){this.value||=5}}),dt={class:`field`},ft={class:`text-sm font-bold block mb-2`};function pt(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,dt,[r(`span`,ft,u(e.$t(`qrart.name.paddingLevel`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,clearable:``,class:`value`,placeholder:e.$t(`qrart.placeholder.paddingLevel`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var mt=F(ut,[[`render`,pt],[`__scopeId`,`data-v-49d801fd`]]),ht=c({name:`PaddingNoiseSelector`,components:{ElSelect:_,ElOption:v},data(){return{options:[{value:0,label:0},{value:.25,label:.25},{value:.5,label:.5},{value:.75,label:.75},{value:1,label:1}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.padding_noise},set(e){console.debug(`set padding_noise`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,padding_noise:e})}}},mounted(){this.value||=0}}),gt={class:`field`},_t={class:`text-sm font-bold block mb-2`};function vt(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,gt,[r(`span`,_t,u(e.$t(`qrart.name.paddingNoise`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,clearable:``,class:`value`,placeholder:e.$t(`qrart.placeholder.paddingNoise`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var yt=F(ht,[[`render`,vt],[`__scopeId`,`data-v-a20833bb`]]),bt=c({name:`PixelStyleSelector`,components:{ElSelect:_,ElOption:v},data(){return{options:[{value:`square`,label:this.$t(`qrart.pixelStyle.square`)},{value:`rounded`,label:this.$t(`qrart.pixelStyle.rounded`)},{value:`dot`,label:this.$t(`qrart.pixelStyle.dot`)},{value:`squircle`,label:this.$t(`qrart.pixelStyle.squircle`)},{value:`row`,label:this.$t(`qrart.pixelStyle.row`)},{value:`column`,label:this.$t(`qrart.pixelStyle.column`)}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.pixel_style},set(e){console.debug(`set pixel_style`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,pixel_style:e})}}},mounted(){this.value||=M}}),xt={class:`field`},St={class:`text-sm font-bold block mb-2`};function Ct(e,t,i,a,s,c){let g=f(`el-option`),_=f(`el-select`);return d(),p(`div`,xt,[r(`span`,St,u(e.$t(`qrart.name.pixelStyle`)),1),o(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,clearable:``,class:`value`,placeholder:e.$t(`qrart.placeholder.pixelStyle`)},{default:m(()=>[(d(!0),p(h,null,l(e.options,e=>(d(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var wt=F(bt,[[`render`,Ct],[`__scopeId`,`data-v-aca7f79f`]]),Tt=c({name:`SeedInput`,components:{ElInput:L},data(){return{}},computed:{value:{get(){return this.$store.state.qrart?.config?.seed},set(e){console.debug(`set seed`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,seed:e?parseInt(e):void 0})}}},mounted(){this.value||=void 0}}),Et={class:`field`},Dt={class:`text-sm font-bold block mb-2`};function Ot(e,t,n,i,a,s){let c=f(`el-input`);return d(),p(`div`,Et,[r(`span`,Dt,u(e.$t(`qrart.name.seed`)),1),o(c,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`qrart.placeholder.seed`)},null,8,[`modelValue`,`placeholder`])])}var kt=F(Tt,[[`render`,Ot],[`__scopeId`,`data-v-d939305d`]]),At=c({name:`PresetSelector`,components:{ElImage:b},data(){return{options:[{value:`sunset`,label:this.$t(`qrart.preset.sunset`),url:`https://cdn.acedata.cloud/rp1h1s.png`},{value:`floral`,label:this.$t(`qrart.preset.floral`),url:`https://cdn.acedata.cloud/upyikx.png`},{value:`snowflakes`,label:this.$t(`qrart.preset.snowflakes`),url:`https://cdn.acedata.cloud/j447da.png`},{value:`feathers`,label:this.$t(`qrart.preset.feathers`),url:`https://cdn.acedata.cloud/d2ctz9.png`},{value:`raindrops`,label:this.$t(`qrart.preset.raindrops`),url:`https://cdn.acedata.cloud/xv2t3s.png`},{value:`ultra-realism`,label:this.$t(`qrart.preset.ultraRealism`),url:`https://cdn.acedata.cloud/nlor4y.png`},{value:`epic-realms`,label:this.$t(`qrart.preset.epicRealms`),url:`https://cdn.acedata.cloud/wwzkvy.png`},{value:`intricate-studio`,label:this.$t(`qrart.preset.intricateStudio`),url:`https://cdn.acedata.cloud/4kzf5y.png`},{value:`symmetric-masterpiece`,label:this.$t(`qrart.preset.symmetricMasterpiece`),url:`https://cdn.acedata.cloud/ff4ii2.png`},{value:`luminous-highway`,label:this.$t(`qrart.preset.luminousHighway`),url:`https://cdn.acedata.cloud/cliodt.png`},{value:`celestial-journey`,label:this.$t(`qrart.preset.celestialJourney`),url:`https://cdn.acedata.cloud/ejellf.png`},{value:`neon-mech`,label:this.$t(`qrart.preset.neonMech`),url:`https://cdn.acedata.cloud/3z0y6z.png`},{value:`ethereal-low-poly`,label:this.$t(`qrart.preset.etherealLowPoly`),url:`https://cdn.acedata.cloud/36o0mm.png`},{value:`golden-vista`,label:this.$t(`qrart.preset.goldenVista`),url:`https://cdn.acedata.cloud/xa0267.png`},{value:`cinematic-expanse`,label:this.$t(`qrart.preset.cinematicExpanse`),url:`https://cdn.acedata.cloud/krl5qp.png`},{value:`cinematic-warm`,label:this.$t(`qrart.preset.cinematicWarm`),url:`https://cdn.acedata.cloud/e1aahg.png`},{value:`desolate-wilderness`,label:this.$t(`qrart.preset.desolateWilderness`),url:`https://cdn.acedata.cloud/9evqqu.png`},{value:`vibrant-palette`,label:this.$t(`qrart.preset.vibrantPalette`),url:`https://cdn.acedata.cloud/3fvsmz.png`},{value:`enigmatic-journey`,label:this.$t(`qrart.preset.enigmaticJourney`),url:`https://cdn.acedata.cloud/l6kku0.png`},{value:`timeless-cinematic`,label:this.$t(`qrart.preset.timelessCinematic`),url:`https://cdn.acedata.cloud/h5mzyn.png`},{value:`regal-galaxy`,label:this.$t(`qrart.preset.regalGalaxy`),url:`https://cdn.acedata.cloud/czkegd.png`},{value:`illustrious-canvas`,label:this.$t(`qrart.preset.illustriousCanvas`),url:`https://cdn.acedata.cloud/m8hwzh.png`},{value:`expressive-mural`,label:this.$t(`qrart.preset.expressiveMural`),url:`https://cdn.acedata.cloud/g4v1rb.png`},{value:`serene-haze`,label:this.$t(`qrart.preset.sereneHaze`),url:`https://cdn.acedata.cloud/3w3ixr.png`}]}},computed:{value:{get(){return this.$store.state.qrart?.config?.preset},set(e){console.debug(`set qrw`,e),this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,preset:e})}}},mounted(){this.value||=``}}),jt={class:`field`},Mt={class:`text-sm font-bold block mb-2`},Nt={class:`pane`},Pt=[`onClick`],Ft={class:`name`};function It(e,n,i,a,s,c){let m=f(`el-image`);return d(),p(`div`,jt,[r(`span`,Mt,u(e.$t(`qrart.name.preset`)),1),r(`div`,Nt,[(d(!0),p(h,null,l(e.options,(n,i)=>(d(),p(`div`,{key:i,class:t({item:!0,active:e.value===n.value}),onClick:t=>e.value===n.value?e.value=void 0:e.value=n.value},[o(m,{src:n.url,fit:`fill`,class:`preview`},null,8,[`src`]),r(`span`,Ft,u(n.label),1)],10,Pt))),128))])])}var Lt=F(At,[[`render`,It],[`__scopeId`,`data-v-65c34adf`]]),Rt=c({name:`ContentInput`,components:{ElInput:L,ElUpload:y,ElRadioGroup:C,ElButton:g,ElRadioButton:S,ImagePreview:q,FontAwesomeIcon:W},mixins:[V,P],data(){return{inputWay:`input`,fileList:[],uploadUrl:U()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.qrart?.config?.content},set(e){this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,content:e,content_image_url:void 0})}}},mounted(){this.value||=``,this.onSetContentImageUrl()},methods:{onExceed(){z.warning(this.$t(`qrart.message.uploadDocumentsExceed`))},onError(){z.error(this.$t(`qrart.message.uploadDocumentsError`))},onSetContentImageUrl(){let e=this.urls?.[0];this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,content:void 0,content_image_url:e})},async onSuccess(){this.onSetContentImageUrl()}}}),zt={class:`field`},Bt={class:`flex justify-between items-center mb-4`},Vt={class:`text-sm font-bold title`},Ht={class:`flex items-center`},Ut={key:2,class:`description`};function Wt(e,t,i,c,l,h){let g=f(`el-radio-button`),_=f(`el-radio-group`),v=f(`el-input`),y=f(`image-preview`),b=f(`font-awesome-icon`),x=f(`el-button`),S=f(`el-upload`);return d(),p(`div`,zt,[r(`div`,Bt,[r(`span`,Vt,u(e.$t(`qrart.name.content`)),1),r(`div`,Ht,[o(_,{modelValue:e.inputWay,"onUpdate:modelValue":t[0]||=t=>e.inputWay=t},{default:m(()=>[o(g,{label:`input`},{default:m(()=>[a(u(e.$t(`qrart.inputWay.input`)),1)]),_:1}),o(g,{label:`upload`},{default:m(()=>[a(u(e.$t(`qrart.inputWay.upload`)),1)]),_:1})]),_:1},8,[`modelValue`])])]),e.inputWay==`input`?(d(),n(v,{key:0,modelValue:e.value,"onUpdate:modelValue":t[1]||=t=>e.value=t,class:`content`,placeholder:e.$t(`qrart.placeholder.content`)},null,8,[`modelValue`,`placeholder`])):s(``,!0),e.inputWay==`upload`?(d(),n(S,{key:1,ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[2]||=t=>e.fileList=t,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`upload upload-wrapper`,limit:1,multiple:!1,"list-type":`picture`,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onSuccess,headers:e.headers},{file:m(({file:t})=>[o(y,{url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:m(()=>[o(x,{size:`small`,type:`primary`,round:``},{default:m(()=>[o(b,{icon:`fa-solid fa-upload`,class:`mr-1`}),a(` `+u(e.$t(`qrart.button.uploadQr`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])):s(``,!0),e.inputWay==`upload`?(d(),p(`p`,Ut,u(e.$t(`qrart.message.uploadQr`)),1)):s(``,!0)])}var Gt=F(Rt,[[`render`,Wt],[`__scopeId`,`data-v-afb72cf1`]]),Kt=c({name:`PromptInput`,components:{PromptTextarea:Q},computed:{value:{get(){return this.$store.state.qrart?.config?.prompt},set(e){this.$store.commit(`qrart/setConfig`,{...this.$store.state.qrart?.config,prompt:e})}}},mounted(){this.value||=``}});function qt(e,t,r,i,a,o){let s=f(`prompt-textarea`);return d(),n(s,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,title:e.$t(`qrart.name.prompt`),placeholder:e.$t(`qrart.placeholder.prompt`)},null,8,[`modelValue`,`title`,`placeholder`])}var Jt=c({name:`ConfigPanel`,components:{ElButton:g,FontAwesomeIcon:W,Consumption:re,TypeSelector:ge,PositionSelector:lt,PixelStyleSelector:wt,PaddingLevelSelector:mt,SeedInput:kt,AspectRatioSelector:Ce,QrwSelector:Oe,EclSelector:it,StepsSelector:Ne,PaddingNoiseSelector:yt,AdvancedSelector:Re,MarkerShapeSelector:Ue,SubMarkerSelector:Je,RotateSelector:$e,PresetSelector:Lt,ContentInput:Gt,PromptInput:F(Kt,[[`render`,qt]])},emits:[`generate`],computed:{config(){return this.$store.state.qrart?.config},consumption(){return te(this.config,this.service?.cost)},service(){return this.$store.state.qrart?.service}}}),Yt={class:`flex flex-col h-full`},Xt={class:`flex-1 overflow-y-auto p-5`},Zt={class:`flex flex-col items-center justify-center px-5 pb-5`};function Qt(e,t,i,c,l,h){let g=f(`type-selector`),_=f(`content-input`),v=f(`prompt-input`),y=f(`aspect-ratio-selector`),b=f(`qrw-selector`),x=f(`preset-selector`),S=f(`position-selector`),C=f(`advanced-selector`),w=f(`steps-selector`),T=f(`seed-input`),E=f(`pixel-style-selector`),D=f(`marker-shape-selector`),O=f(`sub-marker-selector`),k=f(`rotate-selector`),A=f(`ecl-selector`),j=f(`padding-level-selector`),M=f(`padding-noise-selector`),N=f(`consumption`),P=f(`font-awesome-icon`),F=f(`el-button`);return d(),p(`div`,Yt,[r(`div`,Xt,[o(g,{class:`mb-4`}),o(_,{class:`mb-4`}),o(v,{class:`mb-4`}),o(y,{class:`mb-4`}),o(b,{class:`mb-4`}),o(x,{class:`mb-4`}),o(S,{class:`mb-4`}),o(C,{class:`mb-4`}),e.config?.advanced?(d(),n(w,{key:0,class:`mb-4`})):s(``,!0),e.config?.advanced?(d(),n(T,{key:1,class:`mb-4`})):s(``,!0),e.config?.advanced?(d(),n(E,{key:2,class:`mb-4`})):s(``,!0),e.config?.advanced?(d(),n(D,{key:3,class:`mb-4`})):s(``,!0),e.config?.advanced?(d(),n(O,{key:4,class:`mb-4`})):s(``,!0),e.config?.advanced?(d(),n(k,{key:5,class:`mb-4`})):s(``,!0),e.config?.advanced?(d(),n(A,{key:6,class:`mb-4`})):s(``,!0),e.config?.advanced?(d(),n(j,{key:7,class:`mb-4`})):s(``,!0),e.config?.advanced?(d(),n(M,{key:8,class:`mb-4`})):s(``,!0)]),r(`div`,Zt,[o(N,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),o(F,{type:`primary`,class:`btn w-full`,round:``,onClick:t[0]||=t=>e.$emit(`generate`)},{default:m(()=>[o(P,{icon:`fa-solid fa-magic`,class:`mr-2`}),a(` `+u(e.$t(`qrart.button.generate`)),1)]),_:1})])])}var $t=F(Jt,[[`render`,Qt]]),en=c({name:`TaskPreview`,components:{ElImage:b,CopyToClipboard:G,FontAwesomeIcon:W,ElAlert:x,ImageWrapper:ae,ApiCodeButton:ie},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.qrart?.application}},methods:{onOpenLink(e){window.open(e,`_blank`)},onReload(e){let t=e.target,n=new URL(t.src),r=n.searchParams.get(`retry`);if(!r)n.searchParams.set(`retry`,`1`);else if(parseInt(r)<2)n.searchParams.set(`retry`,(parseInt(r)+1).toString());else return;t.src=n.toString()},onOpenUrl(e){window.open(e,`_blank`)},onDownload(e){let t=document.createElement(`a`);t.href=e,t.download=e.split(`/`).pop(),t.click()}}}),tn={class:`preview w-full h-fit text-left flex flex-row mb-[15px]`},nn={class:`left`},rn={class:`main flex-1 w-[calc(100%-70px)] min-w-0 pt-[10px] pr-[10px] pb-0 pl-[10px]`},an={class:`bot text-[16px] font-bold text-[var(--el-color-primary)] overflow-hidden text-ellipsis whitespace-nowrap`},on={class:`datetime text-[12px] font-normal text-[var(--el-text-color-secondary)] ml-[10px]`},sn={class:`info`},cn={key:0,class:`prompt mt-2 text-[14px] font-bold text-[var(--el-text-color-regular)] mb-[10px] overflow-hidden text-ellipsis whitespace-nowrap`},ln={key:0},un={key:0,class:t({content:!0,failed:!0})},dn={class:t({operations:!0,"mt-2":!0,"mb-2":!0})},fn={class:`description`},pn={class:`description`},mn={key:0,class:`description`},hn={key:1,class:`description`},gn={key:2,class:`description`},_n={key:3,class:`description`},vn={key:1,class:t({content:!0})},yn={class:`description`},$={class:`description`},bn={key:0,class:`description`},xn={class:`description`},Sn={key:2,class:t({content:!0})},Cn={class:`description`};function wn(e,t,i,c,l,h){let g=f(`el-image`),_=f(`image-wrapper`),v=f(`api-code-button`),y=f(`font-awesome-icon`),b=f(`copy-to-clipboard`),x=f(`el-alert`);return d(),p(`div`,tn,[r(`div`,nn,[o(g,{src:`https://cdn.acedata.cloud/bcml67.png`,class:`avatar bg-[var(--el-bg-color)] p-[2px] w-[50px] h-[50px] m-[10px] rounded-full`})]),r(`div`,rn,[r(`div`,an,[a(u(e.$t(`qrart.name.qrartBot`))+` `,1),r(`span`,on,u(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,sn,[e.modelValue?.request?.prompt?(d(),p(`p`,cn,[a(u(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?s(``,!0):(d(),p(`span`,ln,` - (`+u(e.$t(`qrart.status.pending`))+`) `,1))])):s(``,!0)]),e.modelValue?.response?.success===!0?(d(),p(`div`,un,[e.modelValue?.response?.image_url?(d(),n(_,{key:0,src:e.modelValue?.response?.image_url,"raw-src":e.modelValue?.response?.image_url},null,8,[`src`,`raw-src`])):s(``,!0),r(`div`,dn,[o(v,{path:`/qrart/generate`,body:e.modelValue?.request},null,8,[`body`])]),o(x,{closable:!1,class:`mt-2 success`},{default:m(()=>[r(`p`,fn,[o(y,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(b,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),r(`p`,pn,[o(y,{icon:`fa-solid fa-diamond`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.type`))+`: `+u(e.$t(`qrart.type.`+e.modelValue?.request?.type))+` `,1),o(b,{content:e.modelValue?.request?.type,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.request?.content?(d(),p(`p`,mn,[o(y,{icon:`fa-regular fa-message`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.content`))+`: `+u(e.modelValue?.request?.content)+` `,1),o(b,{content:e.modelValue?.request?.content,class:`btn-copy`},null,8,[`content`])])):s(``,!0),e.modelValue?.request?.content_image_url?(d(),p(`p`,hn,[o(y,{icon:`fa-regular fa-message`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.contentImageUrl`))+`: `,1),o(y,{icon:`fa-solid fa-up-right-from-square`,class:`mr-1 cursor-pointer`,onClick:t[0]||=t=>e.onOpenLink(e.modelValue?.request?.content_image_url)})])):s(``,!0),e.modelValue?.request?.seed||e.modelValue?.response?.seed?(d(),p(`p`,gn,[o(y,{icon:`fa-solid fa-seedling`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.seed`))+`: `+u(e.modelValue?.request?.seed||e.modelValue?.response?.seed)+` `,1),o(b,{content:(e.modelValue?.request?.seed||e.modelValue?.response?.seed).toString(),class:`btn-copy`},null,8,[`content`])])):s(``,!0),e.modelValue?.elapsed?(d(),p(`p`,_n,[o(y,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0)]),_:1})])):s(``,!0),e.modelValue?.response?.success===!1?(d(),p(`div`,vn,[o(x,{closable:!1,class:`failure`},{template:m(()=>[o(y,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.failure`)),1)]),default:m(()=>[r(`p`,yn,[o(y,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(b,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),r(`p`,$,[o(y,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.failureReason`))+`: `+u(e.modelValue?.response?.error?.message)+` `,1),o(b,{content:e.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(d(),p(`p`,bn,[o(y,{icon:`fa-solid fa-clock`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.elapsed`))+`: `+u(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):s(``,!0),r(`p`,xn,[o(y,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.traceId`))+`: `+u(e.modelValue?.response?.trace_id)+` `,1),o(b,{content:e.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):s(``,!0),e.modelValue?.response?s(``,!0):(d(),p(`div`,Sn,[o(x,{closable:!1,class:`info`},{template:m(()=>[o(y,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.failure`)),1)]),default:m(()=>[r(`p`,Cn,[o(y,{icon:`fa-solid fa-magic`,class:`mr-1`}),a(` `+u(e.$t(`qrart.name.taskId`))+`: `+u(e.modelValue?.id)+` `,1),o(b,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var Tn=c({name:`RecentPanel`,components:{TaskPreview:F(en,[[`render`,wn],[`__scopeId`,`data-v-5c6e6795`]]),BotPlaceholder:J,NoTasks:ne,ScrollList:X},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.qrart?.tasks,items:this.$store.state.qrart?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),En={key:0},Dn={key:2,class:`w-full h-full flex items-center justify-center`};function On(e,t,r,i,a,c){let u=f(`bot-placeholder`),g=f(`task-preview`),_=f(`scroll-list`),v=f(`no-tasks`);return d(),p(h,null,[e.tasks?.items===void 0?(d(),p(`div`,En,[o(u)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(d(),n(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:m(()=>[(d(!0),p(h,null,l(e.tasks?.items,(e,t)=>(d(),n(g,{key:t,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):s(``,!0),e.tasks?.items?.length===0?(d(),p(`div`,Dn,[o(v)])):s(``,!0)],64)}var kn=F(Tn,[[`render`,On]]),An=D(`qrart`),jn=c({name:`QrartIndex`,components:{ConfigPanel:$t,Layout:de,ApplicationStatus:K,RecentPanel:kn},mixins:[R],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.qrart?.status?.getApplications===B.Request},tasksLoading(){return this.$store.state.qrart?.status?.getTasks===B.Request||this.fetchingTasks},service(){return this.$store.state.qrart.service},credential(){return this.$store.state.qrart.credential},config(){return this.$store.state.qrart.config},initializing(){return this.$store.state.qrart.status.getApplications===B.Request},needApply(){return this.$store.state.qrart.status.getApplications===B.Success&&!this.application},application(){return this.$store.state.qrart.application},tasks(){return this.$store.state.qrart.tasks},applications(){return this.$store.state.qrart.applications}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await Z({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`qrart/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplications`),await this.$store.dispatch(`qrart/getApplications`),console.debug(`end onGetApplications`),await this.onGetTasks()},onApply(){N.create({application:this.application}).then(({data:e})=>{this.application=e,z.success(this.$t(`application.message.applySuccessfully`))}).catch(e=>{e?.response?.data?.code===`duplication`&&z.error(this.$t(`application.message.alreadyApplied`))})},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`qrart/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ee(this.uploadTracker,e=>this.$t(e),e=>z.warning(e)))return;let e={type:this.config?.type,content:this.config?.content,content_image_url:this.config?.content_image_url,prompt:this.config?.prompt,aspect_ratio:this.config?.aspect_ratio,callback_url:An,qrw:this.config?.qrw,steps:this.config?.steps,preset:this.config?.preset,...this.config?.advanced?{position:this.config?.position,pixel_style:this.config?.pixel_style,marker_shape:this.config?.marker_shape,sub_marker:this.config?.sub_marker,rotate:this.config?.rotate,ecl:this.config?.ecl,seed:this.config?.seed,padding_level:this.config?.padding_level,padding_noise:this.config?.padding_noise}:{}},t=this.credential?.token;if(!t){console.error(`no token specified`);return}z.info(this.$t(`qrart.message.startingTask`)),I(`qrart`,H.generate(e,{token:t})).then(()=>{z.success(this.$t(`qrart.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?z.error(this.$t(`qrart.message.usedUp`)):z.error(this.$t(`qrart.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Mn(e,t,r,i,a,s){let c=f(`config-panel`),l=f(`application-status`),u=f(`recent-panel`),p=f(`layout`);return d(),n(p,null,{config:m(()=>[o(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:m(()=>[o(l,{initializing:e.initializing,application:e.application,applications:e.applications,service:e.service,"need-apply":e.needApply,class:`mb-4`,onRefresh:e.onGetApplication,onSelect:t[0]||=t=>e.$store.dispatch(`qrart/setApplication`,t)},null,8,[`initializing`,`application`,`applications`,`service`,`need-apply`,`onRefresh`]),o(u,{ref:`recentPanel`,class:`panel recent`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Nn=F(jn,[[`render`,Mn],[`__scopeId`,`data-v-3bce2743`]]);export{Nn as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,M as i,N as a,O as o,P as s,Q as c,Ut as l,X as u,et as d,k as f,lt as p,x as m}from"./vendor-chart-Df3WBvr0.js";import{t as h}from"./button-DgZFgZDr.js";import{r as g,t as _}from"./select-BPjqIeh7.js";import{t as v}from"./upload-B8zBOx3w.js";import{t as y}from"./image-Ci8jpr3p.js";import{t as b}from"./alert-Bgv5POrX.js";import{t as x}from"./drawer-BhAAsvLB.js";import{t as S}from"./input-number-Iu6CvAj4.js";import{t as C}from"./slider-Cf0Hl4JD.js";import{Hr as w,gn as T,hn as E}from"./constants-D3W0tInG.js";import{Dt as D,E as O,Et as ee,Mn as te,Ot as k,Tr as A,hr as j,jt as M,kt as N,on as P,vr as F}from"./index-Ckw2kMAN.js";import{t as I}from"./index.es-cJGxFNWz.js";import{t as L}from"./CopyToClipboard-CtojVo1q.js";import{t as R}from"./ImagePreview-Sgc3M4U_.js";import{t as z}from"./BotPlaceholder-CCToITRl.js";import{i as B,n as V,t as H}from"./pagination-CCWtytSY.js";import{n as U,t as W}from"./NoTasks-BmVoZxvx.js";import{t as G}from"./Consumption-D5XRIWhM.js";import{t as K}from"./ApiCodeButton-gajL-HwK.js";import{t as q}from"./ImageWrapper-DstYlsDv.js";var J=s({name:`LayoutFlux`,components:{ElDrawer:x,ElButton:h,FontAwesomeIcon:I},data(){return{drawer:!1}}}),Y={class:`main flex flex-row flex-1`},X={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Z={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Q(t,n,i,o,s,c){let l=d(`font-awesome-icon`),m=d(`el-button`),h=d(`el-drawer`);return u(),f(`div`,Y,[r(`div`,X,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,Z,[e(t.$slots,`result`,{},void 0,!0)]),a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(l,{icon:`fa-solid fa-magic`})]),_:1}),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:p(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ne=O(J,[[`render`,Q],[`__scopeId`,`data-v-d022364a`]]),re=s({name:`ModelSelector`,components:{ElSelect:g,ElOption:_},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`flux-dev`,label:`flux-dev`},{value:`flux-pro`,label:`flux-pro`},{value:`flux-kontext-pro`,label:`flux-kontext-pro`},{value:`flux-kontext-max`,label:`flux-kontext-max`},{value:`flux-2-flex`,label:`flux-2-flex`},{value:`flux-2-pro`,label:`flux-2-pro`},{value:`flux-2-max`,label:`flux-2-max`}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||=T}}),ie={class:`field`},ae={class:`title font-bold`};function oe(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,ie,[r(`h2`,ae,l(e.$t(`flux.name.model`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`flux.placeholder.select`)},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var se=O(re,[[`render`,oe],[`__scopeId`,`data-v-e9b17945`]]),ce=s({name:`CountSelector`,components:{ElSlider:C,InfoIcon:B,ElInputNumber:S},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug(`set count`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||=1}}),le={class:`flex justify-between`},ue={class:`flex justify-start items-center`},de={class:`text-sm font-bold`},fe={class:`flex justify-end items-center`},pe={class:`w-full`};function me(e,t,n,i,o,s){let c=d(`info-icon`),p=d(`el-input-number`),m=d(`el-slider`);return u(),f(`div`,null,[r(`div`,le,[r(`div`,ue,[r(`span`,de,l(e.$t(`flux.name.numbers`)),1),a(c,{content:e.$t(`flux.description.numbers`)},null,8,[`content`])]),r(`div`,fe,[a(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,"controls-position":`right`},null,8,[`modelValue`])])]),r(`div`,pe,[a(m,{modelValue:e.value,"onUpdate:modelValue":t[1]||=t=>e.value=t,min:1,max:4,step:1},null,8,[`modelValue`])])])}var he=O(ce,[[`render`,me]]),ge=s({name:`ActionSelector`,components:{ElSelect:g,ElOption:_},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`generate`,label:this.$t(`flux.name.generate`)},{value:`edits`,label:this.$t(`flux.name.edits`)}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||=E}}),_e={class:`field`},ve={class:`title font-bold`};function ye(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,_e,[r(`h2`,ve,l(e.$t(`flux.name.task`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`flux.placeholder.select`)},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var be=O(ge,[[`render`,ye],[`__scopeId`,`data-v-81fd05e5`]]),xe=s({name:`ImageUrlInput`,components:{ElUpload:v,ElButton:h,InfoIcon:B,FontAwesomeIcon:I,ImagePreview:R},mixins:[N,D],emits:[`change`],data(){return{fileList:[],uploadUrl:F()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{urls:{handler(e){console.debug(`URLs changed:`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){A.warning(this.$t(`flux.message.uploadStartImageExceed`))},onError(){A.error(this.$t(`flux.message.uploadStartImageError`))}}}),Se={class:`relative`},Ce={class:`flex justify-between`},we={class:`flex justify-start items-center`},Te={class:`text-sm font-bold`};function Ee(e,t,n,o,s,c){let m=d(`info-icon`),h=d(`image-preview`),g=d(`font-awesome-icon`),_=d(`el-button`),v=d(`el-upload`);return u(),f(`div`,Se,[r(`div`,Ce,[r(`div`,we,[r(`span`,Te,l(e.$t(`flux.name.imageUrl`)),1),a(m,{content:e.$t(`flux.description.imageUrl`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,limit:5,class:`upload-wrapper`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,multiple:!0,"list-type":`picture`,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,headers:e.headers},{file:p(({file:t})=>[a(h,{url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(g,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`flux.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`headers`])])}var De=O(xe,[[`render`,Ee],[`__scopeId`,`data-v-7482072d`]]),Oe=s({name:`PromptInput`,components:{PromptTextarea:U},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||=``}});function ke(e,t,r,i,a,o){let s=d(`prompt-textarea`);return u(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`flux.name.prompt`),info:e.$t(`flux.description.prompt`),placeholder:e.$t(`flux.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ae=s({name:`PresetPanel`,components:{ElButton:h,FontAwesomeIcon:I,PromptInput:O(Oe,[[`render`,ke]]),ModelSelector:se,CountSelector:he,Consumption:G,ActionSelector:be,ImageUrlInput:De},emits:[`generate`],computed:{config(){return this.$store.state.flux?.config},consumption(){return M(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),je={class:`flex flex-col h-full`},Me={class:`flex-1 overflow-y-auto p-5`},Ne={class:`flex flex-col items-center justify-center px-5 pb-5`};function Pe(e,t,s,c,m,h){let g=d(`action-selector`),_=d(`prompt-input`),v=d(`image-url-input`),y=d(`model-selector`),b=d(`count-selector`),x=d(`consumption`),S=d(`font-awesome-icon`),C=d(`el-button`);return u(),f(`div`,je,[r(`div`,Me,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),e.config?.action===`edits`?(u(),n(v,{key:0,class:`mb-4`})):o(``,!0),a(y,{class:`mb-4`}),a(b,{class:`mb-4`})]),r(`div`,Ne,[a(x,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),a(C,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:p(()=>[a(S,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`flux.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Fe=O(Ae,[[`render`,Pe]]),Ie=s({name:`TaskPreview`,components:{ElImage:y,CopyToClipboard:L,FontAwesomeIcon:I,ElAlert:b,ImageWrapper:q,ApiCodeButton:K},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e}},methods:{onDownload(e,t){e.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenImage(e){window.open(e,`_blank`)}}}),Le={class:`preview`},Re={class:`left`},ze={class:`main`},Be={class:`bot`},Ve={class:`datetime`},He={class:`info`},Ue={key:0,class:`prompt mt-2`},We={key:0},Ge={key:0,class:t({content:!0,failed:!0})},Ke={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},qe={class:t({operations:!0,"mt-2":!0,"mb-2":!0})},Je={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ye={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Xe={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ze={key:1,class:t({content:!0})},Qe={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$e={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},et={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},tt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},$={key:2,class:t({content:!0})},nt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function rt(e,t,s,h,g,_){let v=d(`el-image`),y=d(`image-wrapper`),b=d(`api-code-button`),x=d(`font-awesome-icon`),S=d(`copy-to-clipboard`),C=d(`el-alert`);return u(),f(`div`,Le,[r(`div`,Re,[a(v,{src:`https://cdn.acedata.cloud/ogm2oa.png`,class:`avatar`})]),r(`div`,ze,[r(`div`,Be,[i(l(e.$t(`flux.name.fluxBot`))+` `,1),r(`span`,Ve,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,He,[e.modelValue?.request?.prompt?(u(),f(`p`,Ue,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?o(``,!0):(u(),f(`span`,We,` - (`+l(e.$t(`flux.status.pending`))+`) `,1))])):o(``,!0)]),e.modelValue?.response?.success===!0?(u(),f(`div`,Ge,[r(`div`,Ke,[(u(!0),f(m,null,c(e.images,(e,t)=>(u(),n(y,{key:t,src:e?.image_url,"raw-src":e?.image_url,"model-value":e},null,8,[`src`,`raw-src`,`model-value`]))),128))]),r(`div`,qe,[a(b,{path:`/flux/images`,body:e.modelValue?.request},null,8,[`body`])]),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[r(`p`,Je,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.model`))+`: `+l(e.modelValue?.request?.model),1)]),r(`p`,Ye,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,Xe,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),e.modelValue?.response?.success===!1?(u(),f(`div`,Ze,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.failure`)),1)]),default:p(()=>[r(`p`,Qe,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),r(`p`,$e,[a(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),a(S,{content:e.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,et,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),r(`p`,tt,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.traceId`))+`: `+l(e.modelValue?.response?.trace_id)+` `,1),a(S,{content:e.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),e.modelValue?.response?o(``,!0):(u(),f(`div`,$,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.failure`)),1)]),default:p(()=>[r(`p`,nt,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var it=s({name:`RecentPanel`,components:{TaskPreview:O(Ie,[[`render`,rt],[`__scopeId`,`data-v-6a2b3fc7`]]),BotPlaceholder:z,NoTasks:W,ScrollList:V},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),at={key:0},ot={key:2,class:`w-full h-full flex items-center justify-center`};function st(e,t,r,i,s,l){let h=d(`bot-placeholder`),g=d(`task-preview`),_=d(`scroll-list`),v=d(`no-tasks`);return u(),f(m,null,[e.tasks?.items===void 0?(u(),f(`div`,at,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(u(),n(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(u(!0),f(m,null,c(e.tasks?.items,e=>(u(),n(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(u(),f(`div`,ot,[a(v)])):o(``,!0)],64)}var ct=O(it,[[`render`,st]]),lt=w(`flux`),ut=s({name:`FluxIndex`,components:{ConfigPanel:Fe,Layout:ne,RecentPanel:ct},mixins:[k],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===j.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===j.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await H({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`flux/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`flux/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`flux/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ee(this.uploadTracker,e=>this.$t(e),e=>A.warning(e)))return;let e={...this.config,callback_url:lt},t=this.credential?.token;if(!t){console.error(`no token specified`);return}A.info(this.$t(`flux.message.startingTask`)),te(`flux`,P.generate(e,{token:t})).then(()=>{A.success(this.$t(`flux.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?A.error(this.$t(`flux.message.usedUp`)):A.error(this.$t(`flux.message.startTaskFailed`)+t?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function dt(e,t,r,i,o,s){let c=d(`config-panel`),l=d(`recent-panel`),f=d(`layout`);return u(),n(f,null,{config:p(()=>[a(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var ft=O(ut,[[`render`,dt]]);export{ft as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,M as i,N as a,O as o,P as s,Q as c,Ut as l,X as u,et as d,k as f,lt as p,x as m}from"./vendor-chart-Df3WBvr0.js";import{t as h}from"./button-DgZFgZDr.js";import{r as g,t as _}from"./select-Dy4nmBcy.js";import{t as v}from"./upload-B8zBOx3w.js";import{t as y}from"./image-Bau0kGS7.js";import{t as b}from"./alert-Bgv5POrX.js";import{t as x}from"./drawer-BhAAsvLB.js";import{t as S}from"./input-number-CmkQjFiE.js";import{t as C}from"./slider-DYYyrciZ.js";import{Hr as w,gn as T,hn as E}from"./constants-D3W0tInG.js";import{Dt as D,E as O,Et as ee,Mn as te,Ot as k,Tr as A,hr as j,jt as M,kt as N,on as P,vr as F}from"./index-CEh-AtFD.js";import{t as I}from"./index.es-CGcvPLbY.js";import{t as L}from"./CopyToClipboard-DY4cWsYU.js";import{t as R}from"./ImagePreview-C1Hid5KU.js";import{t as z}from"./BotPlaceholder-2Tv7c707.js";import{i as B,n as V,t as H}from"./pagination-D0v316W1.js";import{n as U,t as W}from"./NoTasks-BJ195-7X.js";import{t as G}from"./Consumption-DSbM28rV.js";import{t as K}from"./ApiCodeButton-CrB8OI_k.js";import{t as q}from"./ImageWrapper-DJX4X7ZH.js";var J=s({name:`LayoutFlux`,components:{ElDrawer:x,ElButton:h,FontAwesomeIcon:I},data(){return{drawer:!1}}}),Y={class:`main flex flex-row flex-1`},X={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Z={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Q(t,n,i,o,s,c){let l=d(`font-awesome-icon`),m=d(`el-button`),h=d(`el-drawer`);return u(),f(`div`,Y,[r(`div`,X,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,Z,[e(t.$slots,`result`,{},void 0,!0)]),a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(l,{icon:`fa-solid fa-magic`})]),_:1}),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:p(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ne=O(J,[[`render`,Q],[`__scopeId`,`data-v-d022364a`]]),re=s({name:`ModelSelector`,components:{ElSelect:g,ElOption:_},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`flux-dev`,label:`flux-dev`},{value:`flux-pro`,label:`flux-pro`},{value:`flux-kontext-pro`,label:`flux-kontext-pro`},{value:`flux-kontext-max`,label:`flux-kontext-max`},{value:`flux-2-flex`,label:`flux-2-flex`},{value:`flux-2-pro`,label:`flux-2-pro`},{value:`flux-2-max`,label:`flux-2-max`}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||=T}}),ie={class:`field`},ae={class:`title font-bold`};function oe(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,ie,[r(`h2`,ae,l(e.$t(`flux.name.model`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`flux.placeholder.select`)},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var se=O(re,[[`render`,oe],[`__scopeId`,`data-v-e9b17945`]]),ce=s({name:`CountSelector`,components:{ElSlider:C,InfoIcon:B,ElInputNumber:S},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug(`set count`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||=1}}),le={class:`flex justify-between`},ue={class:`flex justify-start items-center`},de={class:`text-sm font-bold`},fe={class:`flex justify-end items-center`},pe={class:`w-full`};function me(e,t,n,i,o,s){let c=d(`info-icon`),p=d(`el-input-number`),m=d(`el-slider`);return u(),f(`div`,null,[r(`div`,le,[r(`div`,ue,[r(`span`,de,l(e.$t(`flux.name.numbers`)),1),a(c,{content:e.$t(`flux.description.numbers`)},null,8,[`content`])]),r(`div`,fe,[a(p,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,"controls-position":`right`},null,8,[`modelValue`])])]),r(`div`,pe,[a(m,{modelValue:e.value,"onUpdate:modelValue":t[1]||=t=>e.value=t,min:1,max:4,step:1},null,8,[`modelValue`])])])}var he=O(ce,[[`render`,me]]),ge=s({name:`ActionSelector`,components:{ElSelect:g,ElOption:_},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`generate`,label:this.$t(`flux.name.generate`)},{value:`edits`,label:this.$t(`flux.name.edits`)}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||=E}}),_e={class:`field`},ve={class:`title font-bold`};function ye(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,_e,[r(`h2`,ve,l(e.$t(`flux.name.task`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`flux.placeholder.select`)},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var be=O(ge,[[`render`,ye],[`__scopeId`,`data-v-81fd05e5`]]),xe=s({name:`ImageUrlInput`,components:{ElUpload:v,ElButton:h,InfoIcon:B,FontAwesomeIcon:I,ImagePreview:R},mixins:[N,D],emits:[`change`],data(){return{fileList:[],uploadUrl:F()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{urls:{handler(e){console.debug(`URLs changed:`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){A.warning(this.$t(`flux.message.uploadStartImageExceed`))},onError(){A.error(this.$t(`flux.message.uploadStartImageError`))}}}),Se={class:`relative`},Ce={class:`flex justify-between`},we={class:`flex justify-start items-center`},Te={class:`text-sm font-bold`};function Ee(e,t,n,o,s,c){let m=d(`info-icon`),h=d(`image-preview`),g=d(`font-awesome-icon`),_=d(`el-button`),v=d(`el-upload`);return u(),f(`div`,Se,[r(`div`,Ce,[r(`div`,we,[r(`span`,Te,l(e.$t(`flux.name.imageUrl`)),1),a(m,{content:e.$t(`flux.description.imageUrl`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,name:`file`,limit:5,class:`upload-wrapper`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,multiple:!0,"list-type":`picture`,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,headers:e.headers},{file:p(({file:t})=>[a(h,{url:t.url||t.response?.file_url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(g,{icon:`fa-solid fa-upload`,class:`icon mr-1`}),i(` `+l(e.$t(`flux.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`headers`])])}var De=O(xe,[[`render`,Ee],[`__scopeId`,`data-v-7482072d`]]),Oe=s({name:`PromptInput`,components:{PromptTextarea:U},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||=``}});function ke(e,t,r,i,a,o){let s=d(`prompt-textarea`);return u(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`flux.name.prompt`),info:e.$t(`flux.description.prompt`),placeholder:e.$t(`flux.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ae=s({name:`PresetPanel`,components:{ElButton:h,FontAwesomeIcon:I,PromptInput:O(Oe,[[`render`,ke]]),ModelSelector:se,CountSelector:he,Consumption:G,ActionSelector:be,ImageUrlInput:De},emits:[`generate`],computed:{config(){return this.$store.state.flux?.config},consumption(){return M(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),je={class:`flex flex-col h-full`},Me={class:`flex-1 overflow-y-auto p-5`},Ne={class:`flex flex-col items-center justify-center px-5 pb-5`};function Pe(e,t,s,c,m,h){let g=d(`action-selector`),_=d(`prompt-input`),v=d(`image-url-input`),y=d(`model-selector`),b=d(`count-selector`),x=d(`consumption`),S=d(`font-awesome-icon`),C=d(`el-button`);return u(),f(`div`,je,[r(`div`,Me,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),e.config?.action===`edits`?(u(),n(v,{key:0,class:`mb-4`})):o(``,!0),a(y,{class:`mb-4`}),a(b,{class:`mb-4`})]),r(`div`,Ne,[a(x,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),a(C,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:p(()=>[a(S,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`flux.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Fe=O(Ae,[[`render`,Pe]]),Ie=s({name:`TaskPreview`,components:{ElImage:y,CopyToClipboard:L,FontAwesomeIcon:I,ElAlert:b,ImageWrapper:q,ApiCodeButton:K},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e}},methods:{onDownload(e,t){e.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenImage(e){window.open(e,`_blank`)}}}),Le={class:`preview`},Re={class:`left`},ze={class:`main`},Be={class:`bot`},Ve={class:`datetime`},He={class:`info`},Ue={key:0,class:`prompt mt-2`},We={key:0},Ge={key:0,class:t({content:!0,failed:!0})},Ke={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},qe={class:t({operations:!0,"mt-2":!0,"mb-2":!0})},Je={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ye={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Xe={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Ze={key:1,class:t({content:!0})},Qe={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$e={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},et={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},tt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},$={key:2,class:t({content:!0})},nt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function rt(e,t,s,h,g,_){let v=d(`el-image`),y=d(`image-wrapper`),b=d(`api-code-button`),x=d(`font-awesome-icon`),S=d(`copy-to-clipboard`),C=d(`el-alert`);return u(),f(`div`,Le,[r(`div`,Re,[a(v,{src:`https://cdn.acedata.cloud/ogm2oa.png`,class:`avatar`})]),r(`div`,ze,[r(`div`,Be,[i(l(e.$t(`flux.name.fluxBot`))+` `,1),r(`span`,Ve,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,He,[e.modelValue?.request?.prompt?(u(),f(`p`,Ue,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?o(``,!0):(u(),f(`span`,We,` - (`+l(e.$t(`flux.status.pending`))+`) `,1))])):o(``,!0)]),e.modelValue?.response?.success===!0?(u(),f(`div`,Ge,[r(`div`,Ke,[(u(!0),f(m,null,c(e.images,(e,t)=>(u(),n(y,{key:t,src:e?.image_url,"raw-src":e?.image_url,"model-value":e},null,8,[`src`,`raw-src`,`model-value`]))),128))]),r(`div`,qe,[a(b,{path:`/flux/images`,body:e.modelValue?.request},null,8,[`body`])]),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[r(`p`,Je,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.model`))+`: `+l(e.modelValue?.request?.model),1)]),r(`p`,Ye,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,Xe,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),e.modelValue?.response?.success===!1?(u(),f(`div`,Ze,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.failure`)),1)]),default:p(()=>[r(`p`,Qe,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),r(`p`,$e,[a(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),a(S,{content:e.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,et,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),r(`p`,tt,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.traceId`))+`: `+l(e.modelValue?.response?.trace_id)+` `,1),a(S,{content:e.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),e.modelValue?.response?o(``,!0):(u(),f(`div`,$,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.failure`)),1)]),default:p(()=>[r(`p`,nt,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`flux.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var it=s({name:`RecentPanel`,components:{TaskPreview:O(Ie,[[`render`,rt],[`__scopeId`,`data-v-6a2b3fc7`]]),BotPlaceholder:z,NoTasks:W,ScrollList:V},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),at={key:0},ot={key:2,class:`w-full h-full flex items-center justify-center`};function st(e,t,r,i,s,l){let h=d(`bot-placeholder`),g=d(`task-preview`),_=d(`scroll-list`),v=d(`no-tasks`);return u(),f(m,null,[e.tasks?.items===void 0?(u(),f(`div`,at,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(u(),n(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(u(!0),f(m,null,c(e.tasks?.items,e=>(u(),n(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(u(),f(`div`,ot,[a(v)])):o(``,!0)],64)}var ct=O(it,[[`render`,st]]),lt=w(`flux`),ut=s({name:`FluxIndex`,components:{ConfigPanel:Fe,Layout:ne,RecentPanel:ct},mixins:[k],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===j.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===j.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await H({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`flux/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`flux/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`flux/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ee(this.uploadTracker,e=>this.$t(e),e=>A.warning(e)))return;let e={...this.config,callback_url:lt},t=this.credential?.token;if(!t){console.error(`no token specified`);return}A.info(this.$t(`flux.message.startingTask`)),te(`flux`,P.generate(e,{token:t})).then(()=>{A.success(this.$t(`flux.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?A.error(this.$t(`flux.message.usedUp`)):A.error(this.$t(`flux.message.startTaskFailed`)+t?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function dt(e,t,r,i,o,s){let c=d(`config-panel`),l=d(`recent-panel`),f=d(`layout`);return u(),n(f,null,{config:p(()=>[a(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var ft=O(ut,[[`render`,dt]]);export{ft as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{Bt as e,D as t,E as n,M as r,N as i,O as a,P as o,Q as s,Ut as c,X as l,et as u,k as d,lt as f,tt as p,ut as m,v as h,x as g,y as _}from"./vendor-chart-Df3WBvr0.js";import{t as v}from"./button-DgZFgZDr.js";import{r as y,t as b}from"./select-BPjqIeh7.js";import{t as x}from"./drawer-BhAAsvLB.js";import{E as S,Mr as C,Nt as w,Or as T,Tr as E,hr as D,wr as ee}from"./index-Ckw2kMAN.js";import"./vendor-highlight-mMg7GAOR.js";import{t as O}from"./index.es-cJGxFNWz.js";import{t as te}from"./VueMarkdown-CT-QpmIP.js";var k=o({name:`CodingBridgeNodeList`,components:{ElButton:v,FontAwesomeIcon:O},emits:[`pair`],computed:{nodes(){return this.$store.state.codingBridge?.nodes??[]},currentNodeId(){return this.$store.state.codingBridge?.currentNodeId},connection(){return this.$store.state.codingBridge?.connection??`disconnected`},connectionLabel(){return this.$t(`codingBridge.connection.${this.connection}`)},connectionDotClass(){switch(this.connection){case`connected`:return`bg-[var(--el-color-success)]`;case`connecting`:return`bg-[var(--el-color-warning)]`;case`error`:return`bg-[var(--el-color-danger)]`;default:return`bg-[var(--app-text-subtle)]`}}},methods:{onSelect(e){this.$store.dispatch(`codingBridge/selectNode`,e)},onRefresh(){this.$store.dispatch(`codingBridge/getNodes`)},async onDelete(e){try{await ee.confirm(this.$t(`codingBridge.nodeList.removeConfirm`,{name:e.name}),this.$t(`codingBridge.nodeList.remove`),{confirmButtonText:this.$t(`codingBridge.nodeList.remove`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`})}catch{return}try{await this.$store.dispatch(`codingBridge/deleteNode`,e.node_id),E.success(this.$t(`codingBridge.nodeList.removeSuccess`))}catch{E.error(this.$t(`codingBridge.nodeList.removeFailed`))}}}}),A={class:`node-list flex flex-col h-full bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},j={class:`flex items-center justify-between px-4 py-3 border-b border-[var(--app-border-subtle)]`},M={class:`flex items-center gap-2 font-medium`},N={class:`flex items-center gap-1`},P={class:`flex items-center gap-2 px-4 py-2 text-xs border-b border-[var(--app-border-subtle)]`},F={class:`text-[var(--app-text-subtle)]`},I={class:`flex-1 overflow-y-auto`},L={key:0,class:`p-6 text-center text-sm text-[var(--app-text-subtle)]`},R={class:`mb-3`},z={key:1,class:`list-none m-0 p-0`},B=[`onClick`],V={class:`flex-1 min-w-0`},H={class:`flex items-center gap-2`},U={class:`truncate font-medium`},W=[`title`],G={class:`text-xs text-[var(--app-text-subtle)] truncate`};function K(t,a,o,p,m,h){let v=u(`font-awesome-icon`),y=u(`el-button`);return l(),d(`div`,A,[n(`div`,j,[n(`div`,M,[i(v,{icon:`fa-solid fa-laptop-code`}),n(`span`,null,c(t.$t(`codingBridge.nodeList.title`)),1)]),n(`div`,N,[i(y,{circle:``,size:`small`,title:t.$t(`codingBridge.nodeList.refresh`),onClick:t.onRefresh},{default:f(()=>[i(v,{icon:`fa-solid fa-rotate-right`})]),_:1},8,[`title`,`onClick`]),i(y,{type:`primary`,circle:``,size:`small`,title:t.$t(`codingBridge.nodeList.pair`),onClick:a[0]||=e=>t.$emit(`pair`)},{default:f(()=>[i(v,{icon:`fa-solid fa-plus`})]),_:1},8,[`title`])])]),n(`div`,P,[n(`span`,{class:e([`inline-block w-2 h-2 rounded-full`,t.connectionDotClass])},null,2),n(`span`,F,c(t.connectionLabel),1)]),n(`div`,I,[t.nodes.length?(l(),d(`ul`,z,[(l(!0),d(g,null,s(t.nodes,r=>(l(),d(`li`,{key:r.node_id,class:e([`group flex items-center gap-3 px-4 py-3 cursor-pointer border-b border-[var(--app-border-subtle)] hover:bg-[var(--app-content-bg)]`,{"bg-[var(--app-content-bg)]":r.node_id===t.currentNodeId}]),onClick:e=>t.onSelect(r.node_id)},[i(v,{icon:`fa-solid fa-desktop`,class:`text-[var(--app-text-subtle)]`}),n(`div`,V,[n(`div`,H,[n(`span`,U,c(r.name),1),n(`span`,{class:e([`inline-block w-2 h-2 rounded-full flex-none`,r.status===`online`?`bg-[var(--el-color-success)]`:`bg-[var(--app-text-subtle)]`]),title:r.status===`online`?t.$t(`codingBridge.status.online`):t.$t(`codingBridge.status.offline`)},null,10,W)]),n(`div`,G,c(r.status===`online`?t.$t(`codingBridge.status.online`):t.$t(`codingBridge.status.offline`)),1)]),i(y,{class:`opacity-0 group-hover:opacity-100`,text:``,circle:``,size:`small`,title:t.$t(`codingBridge.nodeList.remove`),onClick:_(e=>t.onDelete(r),[`stop`])},{default:f(()=>[i(v,{icon:`fa-solid fa-trash`})]),_:1},8,[`title`,`onClick`])],10,B))),128))])):(l(),d(`div`,L,[n(`p`,R,c(t.$t(`codingBridge.nodeList.empty`)),1),i(y,{type:`primary`,round:``,size:`small`,onClick:a[1]||=e=>t.$emit(`pair`)},{default:f(()=>[i(v,{icon:`fa-solid fa-plus`,class:`mr-1`}),r(` `+c(t.$t(`codingBridge.nodeList.pairFirst`)),1)]),_:1})]))])])}var q=S(k,[[`render`,K]]),J=o({name:`CodingBridgeTranscriptItem`,directives:{highlight:w},components:{FontAwesomeIcon:O,VueMarkdown:te},props:{event:{type:Object,required:!0}},computed:{commandText(){let e=this.event.input;if(!e)return``;for(let t of[`command`,`cmd`,`script`]){let n=e[t];if(typeof n==`string`&&n.trim())return n}return``},filePath(){let e=this.event.input;if(!e)return``;for(let t of[`file_path`,`filePath`,`path`,`notebook_path`,`filename`]){let n=e[t];if(typeof n==`string`&&n.trim())return n}return``},toolDescription(){let e=this.event.input?.description;return typeof e==`string`?e:``},toolIcon(){if(this.commandText)return`fa-solid fa-terminal`;let e=(this.event.tool??``).toLowerCase();return/read|cat|view/.test(e)?`fa-solid fa-file-lines`:/write|edit|create|update|insert/.test(e)?`fa-solid fa-pen`:/grep|glob|search|find|list/.test(e)?`fa-solid fa-magnifying-glass`:`fa-solid fa-code`},inputText(){let e=this.event.input;if(!e)return``;let t={};for(let[n,r]of Object.entries(e))n===`timeout`||n===`description`||(t[n]=r);if(Object.keys(t).length===0)return``;try{return JSON.stringify(t,null,2)}catch{return String(e)}},resultText(){let e=this.event.content;return typeof e==`string`&&e.length>0?e:`—`},resultLabel(){let e=[];return this.event.is_error?e.push(this.$t(`codingBridge.transcript.turnFailed`)):e.push(this.$t(`codingBridge.transcript.turnDone`)),typeof this.event.cost_usd==`number`&&this.event.cost_usd>0&&e.push(`$${this.event.cost_usd.toFixed(4)}`),e.join(` · `)}}}),Y={key:0,class:`flex justify-end`},X={class:`max-w-[85%] rounded-lg px-3 py-2 bg-[var(--el-color-primary)] text-white whitespace-pre-wrap break-words`},Z={key:2,class:`whitespace-pre-wrap break-words italic text-[var(--app-text-subtle)] border-l-2 border-[var(--app-border-subtle)] pl-3`},Q={key:3,class:`overflow-hidden rounded-md bg-[var(--app-sidebar-bg)] border border-[var(--app-border-subtle)]`},ne={class:`flex items-center gap-2 px-2.5 py-1.5 font-medium text-[var(--app-text-subtle)]`},re={key:0,class:`min-w-0 truncate text-xs font-normal opacity-70`},ie={key:0,class:`px-2.5 pb-2`},ae={class:`flex gap-2 overflow-x-auto rounded border border-[var(--app-border-subtle)] bg-[var(--app-content-bg)] px-2.5 py-1.5 font-mono text-xs`},oe={class:`whitespace-pre-wrap break-words`},se={key:1,class:`px-2.5 pb-2 font-mono text-xs break-all text-[var(--app-text-subtle)]`},ce={key:2,class:`m-0 overflow-x-auto whitespace-pre-wrap break-words px-2.5 pb-2 text-xs text-[var(--app-text-subtle)]`},le={key:5,class:`flex items-center gap-2 text-xs text-[var(--app-text-subtle)]`},ue={key:6,class:`rounded-md bg-[var(--el-color-danger-light-9)] text-[var(--el-color-danger)] px-3 py-2 whitespace-pre-wrap break-words`};function de(r,o,s,f,h,g){let _=u(`vue-markdown`),v=u(`font-awesome-icon`),y=p(`highlight`);return l(),d(`div`,{class:e([`transcript-item text-sm leading-relaxed`,`kind-${r.event.kind}`])},[r.event.kind===`prompt`?(l(),d(`div`,Y,[n(`div`,X,c(r.event.text),1)])):r.event.kind===`text`?m((l(),t(_,{key:1,source:r.event.text||``,class:`markdown-body bg-transparent text-[var(--app-text)]`},null,8,[`source`])),[[y]]):r.event.kind===`thinking`?(l(),d(`div`,Z,c(r.event.text),1)):r.event.kind===`tool_use`?(l(),d(`div`,Q,[n(`div`,ne,[i(v,{icon:r.toolIcon,class:`text-[var(--el-color-primary)]`},null,8,[`icon`]),n(`span`,null,c(r.event.tool),1),r.toolDescription?(l(),d(`span`,re,c(r.toolDescription),1)):a(``,!0)]),r.commandText?(l(),d(`div`,ie,[n(`div`,ae,[o[0]||=n(`span`,{class:`select-none text-[var(--el-color-success)]`},`$`,-1),n(`span`,oe,c(r.commandText),1)])])):r.filePath?(l(),d(`div`,se,c(r.filePath),1)):r.inputText?(l(),d(`pre`,ce,c(r.inputText),1)):a(``,!0)])):r.event.kind===`tool_result`?(l(),d(`div`,{key:4,class:e([`overflow-hidden rounded-md`,r.event.is_error?`bg-[var(--el-color-danger-light-9)]`:`bg-[var(--app-sidebar-bg)]`])},[n(`pre`,{class:e([`m-0 max-h-72 overflow-auto whitespace-pre-wrap break-words px-2.5 py-2 font-mono text-xs`,r.event.is_error?`text-[var(--el-color-danger)]`:`text-[var(--app-text-subtle)]`])},c(r.resultText),3)],2)):r.event.kind===`result`?(l(),d(`div`,le,[i(v,{icon:r.event.is_error?`fa-solid fa-xmark`:`fa-solid fa-check`},null,8,[`icon`]),n(`span`,null,c(r.resultLabel),1)])):r.event.kind===`error`?(l(),d(`div`,ue,c(r.event.text),1)):a(``,!0)],2)}var fe=o({name:`CodingBridgeSessionView`,components:{ElInput:C,ElButton:v,ElSelect:y,ElOption:b,FontAwesomeIcon:O,TranscriptItem:S(J,[[`render`,de],[`__scopeId`,`data-v-2afaf0b4`]])},emits:[`history`],data(){return{prompt:``,cwd:``,model:``,permissionMode:`default`}},computed:{currentNodeId(){return this.$store.state.codingBridge?.currentNodeId},currentNode(){return this.$store.state.codingBridge?.nodes?.find(e=>e.node_id===this.currentNodeId)},nodeOnline(){return this.currentNode?.status===`online`},currentSessionId(){return this.$store.state.codingBridge?.currentSessionId},currentSession(){let e=this.currentSessionId;return e?this.$store.state.codingBridge?.sessions?.[e]:void 0},events(){let e=this.currentSessionId;return e?this.$store.state.codingBridge?.events?.[e]??[]:[]},isNewSession(){return!this.currentSessionId},readonly(){return this.currentSession?.readonly===!0},resumeHint(){return!!this.currentSession?.provider&&!this.currentSession?.started&&!this.readonly},replayLabel(){return!this.currentSession?.provider||this.currentSession?.started?``:this.currentSession.provider===`codex`?this.$t(`codingBridge.history.codexLabel`):this.$t(`codingBridge.history.claudeLabel`)},running(){let e=this.currentSession?.status;return e===`running`||e===`starting`},connected(){return this.$store.state.codingBridge?.connection===`connected`},canSend(){return!!this.prompt.trim()&&this.connected&&this.nodeOnline},modelOptions(){return[{label:`Claude Sonnet`,value:`sonnet`},{label:`Claude Opus`,value:`opus`},{label:`Claude Haiku`,value:`haiku`}]},permissionModeOptions(){return[{label:this.$t(`codingBridge.session.permissionModeDefault`),value:`default`},{label:this.$t(`codingBridge.session.permissionModeAcceptEdits`),value:`acceptEdits`},{label:this.$t(`codingBridge.session.permissionModePlan`),value:`plan`},{label:this.$t(`codingBridge.session.permissionModeBypass`),value:`bypassPermissions`}]}},watch:{events(){this.scrollToBottom()},currentSessionId(){this.scrollToBottom()}},methods:{onComposerEnter(e){let t=e;t.isComposing||t.keyCode===229||t.shiftKey||t.ctrlKey||t.metaKey||t.altKey||(t.preventDefault(),this.onSend())},onSend(){this.canSend&&(this.$store.dispatch(`codingBridge/sendPrompt`,{prompt:this.prompt,cwd:this.cwd,model:this.model,permissionMode:this.permissionMode}),this.prompt=``)},onInterrupt(){this.$store.dispatch(`codingBridge/interruptSession`)},onNewSession(){this.$store.dispatch(`codingBridge/newSession`),this.cwd=``,this.model=``,this.permissionMode=`default`,this.prompt=``},scrollToBottom(){this.$nextTick(()=>{let e=this.$refs.transcript;e&&(e.scrollTop=e.scrollHeight)})}}}),pe={class:`session-view flex flex-col h-full bg-[var(--app-content-bg)]`},me={key:0,class:`flex-1 flex flex-col items-center justify-center text-center p-8 text-[var(--app-text-subtle)]`},he={class:`text-sm`},ge={class:`flex items-center justify-between gap-3 px-5 py-3 border-b border-[var(--app-border-subtle)]`},_e={class:`min-w-0`},ve={class:`flex items-center gap-2 font-medium`},ye={class:`truncate`},be={key:0,class:`text-xs text-[var(--app-text-subtle)] truncate`},xe={key:0},Se={key:1},Ce={key:2,class:`text-[var(--el-color-primary)]`},we={class:`flex items-center gap-2 flex-none`},Te={key:0,class:`px-5 py-2 text-xs bg-[var(--el-color-warning-light-9)] text-[var(--el-color-warning)] border-b border-[var(--app-border-subtle)]`},Ee={ref:`transcript`,class:`flex-1 overflow-y-auto px-5 py-4 flex flex-col gap-3`},De={key:0,class:`m-auto text-center text-sm text-[var(--app-text-subtle)]`},Oe={class:`border-t border-[var(--app-border-subtle)] p-3`},ke={key:0,class:`flex items-center gap-2 text-xs text-[var(--app-text-subtle)] px-1 py-2`},Ae={key:0,class:`flex flex-wrap gap-2 mb-2`},je={class:`flex items-end gap-2`},Me={class:`text-[11px] text-[var(--app-text-subtle)] mt-1 px-1`};function Ne(o,p,m,_,v,y){let b=u(`font-awesome-icon`),x=u(`el-button`),S=u(`transcript-item`),C=u(`el-input`),w=u(`el-option`),T=u(`el-select`);return l(),d(`div`,pe,[o.currentNode?(l(),d(g,{key:1},[n(`div`,ge,[n(`div`,_e,[n(`div`,ve,[n(`span`,ye,c(o.currentNode.name),1),n(`span`,{class:e([`inline-block w-2 h-2 rounded-full flex-none`,o.nodeOnline?`bg-[var(--el-color-success)]`:`bg-[var(--app-text-subtle)]`])},null,2)]),o.currentSession?(l(),d(`div`,be,[o.currentSession.cwd?(l(),d(`span`,xe,c(o.currentSession.cwd),1)):a(``,!0),o.currentSession.model?(l(),d(`span`,Se,` · `+c(o.currentSession.model),1)):a(``,!0),o.replayLabel?(l(),d(`span`,Ce,` · `+c(o.replayLabel),1)):a(``,!0)])):a(``,!0)]),n(`div`,we,[i(x,{size:`small`,round:``,onClick:p[0]||=e=>o.$emit(`history`)},{default:f(()=>[i(b,{icon:`fa-solid fa-clock-rotate-left`,class:`mr-1`}),r(` `+c(o.$t(`codingBridge.history.button`)),1)]),_:1}),o.currentSessionId?(l(),t(x,{key:0,size:`small`,round:``,onClick:o.onNewSession},{default:f(()=>[i(b,{icon:`fa-solid fa-plus`,class:`mr-1`}),r(` `+c(o.$t(`codingBridge.session.newSession`)),1)]),_:1},8,[`onClick`])):a(``,!0)])]),o.nodeOnline?a(``,!0):(l(),d(`div`,Te,c(o.$t(`codingBridge.session.deviceOffline`)),1)),n(`div`,Ee,[o.events.length?a(``,!0):(l(),d(`div`,De,c(o.$t(`codingBridge.session.startHint`)),1)),(l(!0),d(g,null,s(o.events,e=>(l(),t(S,{key:e.id,event:e},null,8,[`event`]))),128))],512),n(`div`,Oe,[o.readonly?(l(),d(`div`,ke,[i(b,{icon:`fa-solid fa-eye`}),n(`span`,null,c(o.$t(`codingBridge.history.readonly`)),1),i(x,{class:`ml-auto`,size:`small`,round:``,onClick:o.onNewSession},{default:f(()=>[r(c(o.$t(`codingBridge.session.newSession`)),1)]),_:1},8,[`onClick`])])):(l(),d(g,{key:1},[o.isNewSession?(l(),d(`div`,Ae,[i(C,{modelValue:o.cwd,"onUpdate:modelValue":p[1]||=e=>o.cwd=e,size:`small`,class:`flex-1 min-w-[160px]`,placeholder:o.$t(`codingBridge.session.cwdPlaceholder`),clearable:``},null,8,[`modelValue`,`placeholder`]),i(T,{modelValue:o.model,"onUpdate:modelValue":p[2]||=e=>o.model=e,size:`small`,filterable:``,"allow-create":``,"default-first-option":``,clearable:``,class:`w-40`,placeholder:o.$t(`codingBridge.session.modelPlaceholder`)},{default:f(()=>[(l(!0),d(g,null,s(o.modelOptions,e=>(l(),t(w,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`]),i(T,{modelValue:o.permissionMode,"onUpdate:modelValue":p[3]||=e=>o.permissionMode=e,size:`small`,class:`w-44`,placeholder:o.$t(`codingBridge.session.permissionModeLabel`)},{default:f(()=>[(l(!0),d(g,null,s(o.permissionModeOptions,e=>(l(),t(w,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])):a(``,!0),n(`div`,je,[i(C,{modelValue:o.prompt,"onUpdate:modelValue":p[4]||=e=>o.prompt=e,type:`textarea`,autosize:{minRows:3,maxRows:12},resize:`none`,class:`flex-1`,placeholder:o.$t(`codingBridge.session.promptPlaceholder`),onKeydown:h(o.onComposerEnter,[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`]),o.running?(l(),t(x,{key:0,round:``,onClick:o.onInterrupt},{default:f(()=>[i(b,{icon:`fa-solid fa-stop`})]),_:1},8,[`onClick`])):a(``,!0),i(x,{type:`primary`,round:``,disabled:!o.canSend,onClick:o.onSend},{default:f(()=>[r(c(o.$t(`codingBridge.session.send`)),1)]),_:1},8,[`disabled`,`onClick`])]),n(`p`,Me,c(o.resumeHint?o.$t(`codingBridge.history.resumeHint`):o.$t(`codingBridge.session.enterHint`)),1)],64))])],64)):(l(),d(`div`,me,[i(b,{icon:`fa-solid fa-laptop-code`,class:`text-4xl mb-3`}),n(`p`,he,c(o.$t(`codingBridge.session.noDevice`)),1)]))])}var Pe=S(fe,[[`render`,Ne]]),Fe=o({name:`CodingBridgePairDialog`,components:{ElDialog:T,ElInput:C,ElButton:v,FontAwesomeIcon:O},props:{visible:{type:Boolean,default:!1},initialCode:{type:String,default:``}},emits:[`update:visible`],data(){return{code:``}},computed:{claiming(){return this.$store.state.codingBridge?.status?.claimPair===D.Request}},watch:{visible(e){e&&this.initialCode&&(this.code=this.initialCode)},initialCode(e){e&&(this.code=e)}},methods:{async onClaim(){let e=this.code.trim();if(e)try{let t=await this.$store.dispatch(`codingBridge/claimPair`,e);E.success(this.$t(`codingBridge.pair.success`,{name:t})),this.code=``,this.$emit(`update:visible`,!1)}catch(e){let t=e?.response?.status;t===404?E.error(this.$t(`codingBridge.pair.invalidCode`)):t===409?E.error(this.$t(`codingBridge.pair.usedCode`)):E.error(this.$t(`codingBridge.pair.failed`))}}}}),Ie={class:`content`},Le={class:`text-sm text-[var(--app-text-subtle)] mb-4`},Re={class:`steps list-none m-0 p-0 mb-4`},ze={class:`flex gap-3 mb-3`},Be={class:`flex-1 min-w-0`},Ve={class:`text-sm mb-1`},He={class:`flex gap-3 mb-3`},Ue={class:`flex-1 min-w-0`},We={class:`text-sm mb-1`},Ge={class:`flex gap-3`},Ke={class:`flex-1 min-w-0`},qe={class:`text-sm`};function Je(e,a,o,s,d,p){let m=u(`el-input`),g=u(`font-awesome-icon`),_=u(`el-button`),v=u(`el-dialog`);return l(),t(v,{"model-value":e.visible,width:`520px`,title:e.$t(`codingBridge.pair.title`),center:``,"onUpdate:modelValue":a[1]||=t=>e.$emit(`update:visible`,t)},{default:f(()=>[n(`div`,Ie,[n(`p`,Le,c(e.$t(`codingBridge.pair.intro`)),1),n(`ol`,Re,[n(`li`,ze,[a[3]||=n(`span`,{class:`step-index`},`1`,-1),n(`div`,Be,[n(`p`,Ve,c(e.$t(`codingBridge.pair.step1`)),1),a[2]||=n(`code`,{class:`cmd`},`pip install coding-bridge-agent`,-1)])]),n(`li`,He,[a[5]||=n(`span`,{class:`step-index`},`2`,-1),n(`div`,Ue,[n(`p`,We,c(e.$t(`codingBridge.pair.step2`)),1),a[4]||=n(`code`,{class:`cmd`},`coding-bridge-agent up`,-1)])]),n(`li`,Ge,[a[6]||=n(`span`,{class:`step-index`},`3`,-1),n(`div`,Ke,[n(`p`,qe,c(e.$t(`codingBridge.pair.step3`)),1)])])]),i(m,{modelValue:e.code,"onUpdate:modelValue":a[0]||=t=>e.code=t,size:`large`,class:`mb-3`,placeholder:e.$t(`codingBridge.pair.codePlaceholder`),clearable:``,onKeyup:h(e.onClaim,[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeyup`]),i(_,{type:`primary`,round:``,class:`w-full`,loading:e.claiming,disabled:!e.code.trim(),onClick:e.onClaim},{default:f(()=>[i(g,{icon:`fa-solid fa-link`,class:`mr-1`}),r(` `+c(e.$t(`codingBridge.pair.claim`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])])]),_:1},8,[`model-value`,`title`])}var Ye=S(Fe,[[`render`,Je],[`__scopeId`,`data-v-3d1ed01f`]]),Xe=o({name:`CodingBridgePermissionDialog`,components:{ElDialog:T,ElButton:v,FontAwesomeIcon:O},computed:{request(){return this.$store.state.codingBridge?.permissions?.[0]},hasInput(){return!!this.request?.input&&Object.keys(this.request.input).length>0},inputText(){try{return JSON.stringify(this.request?.input,null,2)}catch{return String(this.request?.input??``)}}},methods:{onAllow(){this.request&&this.$store.dispatch(`codingBridge/resolvePermission`,{request_id:this.request.request_id,decision:`allow`})},onDeny(){this.request&&this.$store.dispatch(`codingBridge/resolvePermission`,{request_id:this.request.request_id,decision:`deny`})}}}),Ze={key:0,class:`content`},Qe={class:`text-sm text-[var(--app-text-subtle)] mb-3`},$e={class:`rounded-md border border-[var(--app-border-subtle)] p-3 mb-3`},et={class:`flex items-center gap-2 font-medium`},tt={key:0,class:`text-xs text-[var(--app-text-subtle)] mt-1`},nt={key:1,class:`mt-2 text-xs overflow-x-auto whitespace-pre-wrap break-words text-[var(--app-text-subtle)] max-h-[200px]`},rt={class:`flex justify-end gap-2`};function it(e,o,s,p,m,h){let g=u(`font-awesome-icon`),_=u(`el-button`),v=u(`el-dialog`);return l(),t(v,{"model-value":!!e.request,width:`480px`,title:e.$t(`codingBridge.permission.title`),"close-on-click-modal":!1,"show-close":!1,center:``},{footer:f(()=>[n(`div`,rt,[i(_,{round:``,onClick:e.onDeny},{default:f(()=>[i(g,{icon:`fa-solid fa-xmark`,class:`mr-1`}),r(` `+c(e.$t(`codingBridge.permission.deny`)),1)]),_:1},8,[`onClick`]),i(_,{type:`primary`,round:``,onClick:e.onAllow},{default:f(()=>[i(g,{icon:`fa-solid fa-check`,class:`mr-1`}),r(` `+c(e.$t(`codingBridge.permission.allow`)),1)]),_:1},8,[`onClick`])])]),default:f(()=>[e.request?(l(),d(`div`,Ze,[n(`p`,Qe,c(e.$t(`codingBridge.permission.subtitle`)),1),n(`div`,$e,[n(`div`,et,[i(g,{icon:`fa-solid fa-code`}),n(`span`,null,c(e.request.display_name||e.request.title||e.request.tool),1)]),e.request.description?(l(),d(`p`,tt,c(e.request.description),1)):a(``,!0),e.hasInput?(l(),d(`pre`,nt,c(e.inputText),1)):a(``,!0)])])):a(``,!0)]),_:1},8,[`model-value`,`title`])}var at=S(Xe,[[`render`,it]]),ot=o({name:`CodingBridgeHistoryDrawer`,components:{ElDrawer:x,ElButton:v,FontAwesomeIcon:O},props:{visible:{type:Boolean,default:!1}},emits:[`update:visible`],computed:{currentNodeId(){return this.$store.state.codingBridge?.currentNodeId},loading(){return this.$store.state.codingBridge?.status?.getHistory===D.Request},sessions(){let e=this.currentNodeId;return[...e?this.$store.state.codingBridge?.history?.[e]??[]:[]].sort((e,t)=>(t.updated_at??0)-(e.updated_at??0))}},watch:{visible(e){e&&this.currentNodeId&&this.$store.dispatch(`codingBridge/getHistory`,this.currentNodeId)}},methods:{refresh(){this.currentNodeId&&this.$store.dispatch(`codingBridge/getHistory`,this.currentNodeId)},open(e){this.currentNodeId&&(this.$store.dispatch(`codingBridge/getHistoryDetail`,{node_id:this.currentNodeId,provider:e.provider,session_id:e.session_id}),this.$emit(`update:visible`,!1))},formatTime(e){try{return new Date(e).toLocaleString()}catch{return``}}}}),st={class:`flex flex-col h-full`},ct={class:`flex items-center justify-between mb-3`},lt={class:`text-xs text-[var(--app-text-subtle)] m-0`},ut={key:0,class:`m-auto text-sm text-[var(--app-text-subtle)]`},dt={key:1,class:`m-auto text-sm text-[var(--app-text-subtle)]`},ft={key:2,class:`m-auto text-sm text-[var(--app-text-subtle)] text-center`},$={key:3,class:`list-none m-0 p-0 flex-1 overflow-y-auto flex flex-col gap-2`},pt=[`onClick`],mt={class:`flex items-center gap-2 mb-1`},ht={class:`text-sm font-medium truncate flex-1`},gt={class:`text-[11px] text-[var(--app-text-subtle)] truncate`},_t={key:0},vt={key:1},yt={class:`text-[11px] text-[var(--app-text-subtle)] mt-0.5`},bt={key:0},xt={key:1};function St(o,p,m,h,_,v){let y=u(`font-awesome-icon`),b=u(`el-button`),x=u(`el-drawer`);return l(),t(x,{"model-value":o.visible,direction:`rtl`,size:`380px`,title:o.$t(`codingBridge.history.title`),"onUpdate:modelValue":p[0]||=e=>o.$emit(`update:visible`,e)},{default:f(()=>[n(`div`,st,[n(`div`,ct,[n(`p`,lt,c(o.$t(`codingBridge.history.intro`)),1),i(b,{size:`small`,round:``,loading:o.loading,onClick:o.refresh},{default:f(()=>[o.loading?a(``,!0):(l(),t(y,{key:0,icon:`fa-solid fa-rotate-right`,class:`mr-1`})),r(` `+c(o.$t(`codingBridge.history.refresh`)),1)]),_:1},8,[`loading`,`onClick`])]),o.currentNodeId?o.loading&&!o.sessions.length?(l(),d(`div`,dt,c(o.$t(`codingBridge.history.loading`)),1)):o.sessions.length?(l(),d(`ul`,$,[(l(!0),d(g,null,s(o.sessions,t=>(l(),d(`li`,{key:t.provider+`:`+t.session_id,class:`item rounded-lg p-3 cursor-pointer border border-[var(--app-border-subtle)]`,onClick:e=>o.open(t)},[n(`div`,mt,[n(`span`,{class:e([`provider-tag`,t.provider])},c(t.provider===`codex`?`Codex`:`Claude`),3),n(`span`,ht,c(t.title),1)]),n(`div`,gt,[t.cwd?(l(),d(`span`,_t,c(t.cwd),1)):a(``,!0),t.git_branch?(l(),d(`span`,vt,` · `+c(t.git_branch),1)):a(``,!0)]),n(`div`,yt,[t.updated_at?(l(),d(`span`,bt,c(o.formatTime(t.updated_at)),1)):a(``,!0),t.message_count?(l(),d(`span`,xt,` · `+c(o.$t(`codingBridge.history.messages`,{count:t.message_count})),1)):a(``,!0)])],8,pt))),128))])):(l(),d(`div`,ft,c(o.$t(`codingBridge.history.empty`)),1)):(l(),d(`div`,ut,c(o.$t(`codingBridge.session.noDevice`)),1))])]),_:1},8,[`model-value`,`title`])}var Ct=o({name:`CodingBridgeIndex`,components:{ElButton:v,ElDrawer:x,FontAwesomeIcon:O,NodeList:q,SessionView:Pe,PairDialog:Ye,PermissionDialog:at,HistoryDrawer:S(ot,[[`render`,St],[`__scopeId`,`data-v-3414881a`]])},data(){return{drawer:!1,pairVisible:!1,historyVisible:!1,initialCode:``}},mounted(){this.$store.dispatch(`codingBridge/connect`),this.$store.dispatch(`codingBridge/getNodes`);let e=this.$route.query.code;typeof e==`string`&&e&&(this.initialCode=e,this.pairVisible=!0)},beforeUnmount(){this.$store.dispatch(`codingBridge/disconnect`)},methods:{openPair(){this.initialCode=``,this.pairVisible=!0},openPairFromDrawer(){this.drawer=!1,this.openPair()}}}),wt={class:`coding-bridge flex flex-row h-full relative`};function Tt(e,t,n,r,a,o){let s=u(`node-list`),c=u(`session-view`),p=u(`font-awesome-icon`),m=u(`el-button`),h=u(`el-drawer`),g=u(`pair-dialog`),_=u(`permission-dialog`),v=u(`history-drawer`);return l(),d(`div`,wt,[i(s,{class:`sidebar w-[300px] flex-none`,onPair:e.openPair},null,8,[`onPair`]),i(c,{class:`flex-1 min-w-0`,onHistory:t[0]||=t=>e.historyVisible=!0}),i(m,{circle:``,class:`menu`,onClick:t[1]||=t=>e.drawer=!0},{default:f(()=>[i(p,{icon:`fa-solid fa-laptop-code`})]),_:1}),i(h,{modelValue:e.drawer,"onUpdate:modelValue":t[2]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`300px`,class:`drawer`},{default:f(()=>[i(s,{onPair:e.openPairFromDrawer},null,8,[`onPair`])]),_:1},8,[`modelValue`]),i(g,{visible:e.pairVisible,"onUpdate:visible":t[3]||=t=>e.pairVisible=t,"initial-code":e.initialCode},null,8,[`visible`,`initial-code`]),i(_),i(v,{visible:e.historyVisible,"onUpdate:visible":t[4]||=t=>e.historyVisible=t},null,8,[`visible`])])}var Et=S(Ct,[[`render`,Tt],[`__scopeId`,`data-v-3a406429`]]);export{Et as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{Bt as e,D as t,E as n,M as r,N as i,O as a,P as o,Q as s,Ut as c,X as l,et as u,k as d,lt as f,tt as p,ut as m,v as h,x as g,y as _}from"./vendor-chart-Df3WBvr0.js";import{t as v}from"./button-DgZFgZDr.js";import{r as y,t as b}from"./select-Dy4nmBcy.js";import{t as x}from"./drawer-BhAAsvLB.js";import{E as S,Mr as C,Nt as w,Or as T,Tr as E,hr as D,wr as ee}from"./index-CEh-AtFD.js";import"./vendor-highlight-mMg7GAOR.js";import{t as O}from"./index.es-CGcvPLbY.js";import{t as te}from"./VueMarkdown-CT-QpmIP.js";var k=o({name:`CodingBridgeNodeList`,components:{ElButton:v,FontAwesomeIcon:O},emits:[`pair`],computed:{nodes(){return this.$store.state.codingBridge?.nodes??[]},currentNodeId(){return this.$store.state.codingBridge?.currentNodeId},connection(){return this.$store.state.codingBridge?.connection??`disconnected`},connectionLabel(){return this.$t(`codingBridge.connection.${this.connection}`)},connectionDotClass(){switch(this.connection){case`connected`:return`bg-[var(--el-color-success)]`;case`connecting`:return`bg-[var(--el-color-warning)]`;case`error`:return`bg-[var(--el-color-danger)]`;default:return`bg-[var(--app-text-subtle)]`}}},methods:{onSelect(e){this.$store.dispatch(`codingBridge/selectNode`,e)},onRefresh(){this.$store.dispatch(`codingBridge/getNodes`)},async onDelete(e){try{await ee.confirm(this.$t(`codingBridge.nodeList.removeConfirm`,{name:e.name}),this.$t(`codingBridge.nodeList.remove`),{confirmButtonText:this.$t(`codingBridge.nodeList.remove`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`})}catch{return}try{await this.$store.dispatch(`codingBridge/deleteNode`,e.node_id),E.success(this.$t(`codingBridge.nodeList.removeSuccess`))}catch{E.error(this.$t(`codingBridge.nodeList.removeFailed`))}}}}),A={class:`node-list flex flex-col h-full bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},j={class:`flex items-center justify-between px-4 py-3 border-b border-[var(--app-border-subtle)]`},M={class:`flex items-center gap-2 font-medium`},N={class:`flex items-center gap-1`},P={class:`flex items-center gap-2 px-4 py-2 text-xs border-b border-[var(--app-border-subtle)]`},F={class:`text-[var(--app-text-subtle)]`},I={class:`flex-1 overflow-y-auto`},L={key:0,class:`p-6 text-center text-sm text-[var(--app-text-subtle)]`},R={class:`mb-3`},z={key:1,class:`list-none m-0 p-0`},B=[`onClick`],V={class:`flex-1 min-w-0`},H={class:`flex items-center gap-2`},U={class:`truncate font-medium`},W=[`title`],G={class:`text-xs text-[var(--app-text-subtle)] truncate`};function K(t,a,o,p,m,h){let v=u(`font-awesome-icon`),y=u(`el-button`);return l(),d(`div`,A,[n(`div`,j,[n(`div`,M,[i(v,{icon:`fa-solid fa-laptop-code`}),n(`span`,null,c(t.$t(`codingBridge.nodeList.title`)),1)]),n(`div`,N,[i(y,{circle:``,size:`small`,title:t.$t(`codingBridge.nodeList.refresh`),onClick:t.onRefresh},{default:f(()=>[i(v,{icon:`fa-solid fa-rotate-right`})]),_:1},8,[`title`,`onClick`]),i(y,{type:`primary`,circle:``,size:`small`,title:t.$t(`codingBridge.nodeList.pair`),onClick:a[0]||=e=>t.$emit(`pair`)},{default:f(()=>[i(v,{icon:`fa-solid fa-plus`})]),_:1},8,[`title`])])]),n(`div`,P,[n(`span`,{class:e([`inline-block w-2 h-2 rounded-full`,t.connectionDotClass])},null,2),n(`span`,F,c(t.connectionLabel),1)]),n(`div`,I,[t.nodes.length?(l(),d(`ul`,z,[(l(!0),d(g,null,s(t.nodes,r=>(l(),d(`li`,{key:r.node_id,class:e([`group flex items-center gap-3 px-4 py-3 cursor-pointer border-b border-[var(--app-border-subtle)] hover:bg-[var(--app-content-bg)]`,{"bg-[var(--app-content-bg)]":r.node_id===t.currentNodeId}]),onClick:e=>t.onSelect(r.node_id)},[i(v,{icon:`fa-solid fa-desktop`,class:`text-[var(--app-text-subtle)]`}),n(`div`,V,[n(`div`,H,[n(`span`,U,c(r.name),1),n(`span`,{class:e([`inline-block w-2 h-2 rounded-full flex-none`,r.status===`online`?`bg-[var(--el-color-success)]`:`bg-[var(--app-text-subtle)]`]),title:r.status===`online`?t.$t(`codingBridge.status.online`):t.$t(`codingBridge.status.offline`)},null,10,W)]),n(`div`,G,c(r.status===`online`?t.$t(`codingBridge.status.online`):t.$t(`codingBridge.status.offline`)),1)]),i(y,{class:`opacity-0 group-hover:opacity-100`,text:``,circle:``,size:`small`,title:t.$t(`codingBridge.nodeList.remove`),onClick:_(e=>t.onDelete(r),[`stop`])},{default:f(()=>[i(v,{icon:`fa-solid fa-trash`})]),_:1},8,[`title`,`onClick`])],10,B))),128))])):(l(),d(`div`,L,[n(`p`,R,c(t.$t(`codingBridge.nodeList.empty`)),1),i(y,{type:`primary`,round:``,size:`small`,onClick:a[1]||=e=>t.$emit(`pair`)},{default:f(()=>[i(v,{icon:`fa-solid fa-plus`,class:`mr-1`}),r(` `+c(t.$t(`codingBridge.nodeList.pairFirst`)),1)]),_:1})]))])])}var q=S(k,[[`render`,K]]),J=o({name:`CodingBridgeTranscriptItem`,directives:{highlight:w},components:{FontAwesomeIcon:O,VueMarkdown:te},props:{event:{type:Object,required:!0}},computed:{commandText(){let e=this.event.input;if(!e)return``;for(let t of[`command`,`cmd`,`script`]){let n=e[t];if(typeof n==`string`&&n.trim())return n}return``},filePath(){let e=this.event.input;if(!e)return``;for(let t of[`file_path`,`filePath`,`path`,`notebook_path`,`filename`]){let n=e[t];if(typeof n==`string`&&n.trim())return n}return``},toolDescription(){let e=this.event.input?.description;return typeof e==`string`?e:``},toolIcon(){if(this.commandText)return`fa-solid fa-terminal`;let e=(this.event.tool??``).toLowerCase();return/read|cat|view/.test(e)?`fa-solid fa-file-lines`:/write|edit|create|update|insert/.test(e)?`fa-solid fa-pen`:/grep|glob|search|find|list/.test(e)?`fa-solid fa-magnifying-glass`:`fa-solid fa-code`},inputText(){let e=this.event.input;if(!e)return``;let t={};for(let[n,r]of Object.entries(e))n===`timeout`||n===`description`||(t[n]=r);if(Object.keys(t).length===0)return``;try{return JSON.stringify(t,null,2)}catch{return String(e)}},resultText(){let e=this.event.content;return typeof e==`string`&&e.length>0?e:`—`},resultLabel(){let e=[];return this.event.is_error?e.push(this.$t(`codingBridge.transcript.turnFailed`)):e.push(this.$t(`codingBridge.transcript.turnDone`)),typeof this.event.cost_usd==`number`&&this.event.cost_usd>0&&e.push(`$${this.event.cost_usd.toFixed(4)}`),e.join(` · `)}}}),Y={key:0,class:`flex justify-end`},X={class:`max-w-[85%] rounded-lg px-3 py-2 bg-[var(--el-color-primary)] text-white whitespace-pre-wrap break-words`},Z={key:2,class:`whitespace-pre-wrap break-words italic text-[var(--app-text-subtle)] border-l-2 border-[var(--app-border-subtle)] pl-3`},Q={key:3,class:`overflow-hidden rounded-md bg-[var(--app-sidebar-bg)] border border-[var(--app-border-subtle)]`},ne={class:`flex items-center gap-2 px-2.5 py-1.5 font-medium text-[var(--app-text-subtle)]`},re={key:0,class:`min-w-0 truncate text-xs font-normal opacity-70`},ie={key:0,class:`px-2.5 pb-2`},ae={class:`flex gap-2 overflow-x-auto rounded border border-[var(--app-border-subtle)] bg-[var(--app-content-bg)] px-2.5 py-1.5 font-mono text-xs`},oe={class:`whitespace-pre-wrap break-words`},se={key:1,class:`px-2.5 pb-2 font-mono text-xs break-all text-[var(--app-text-subtle)]`},ce={key:2,class:`m-0 overflow-x-auto whitespace-pre-wrap break-words px-2.5 pb-2 text-xs text-[var(--app-text-subtle)]`},le={key:5,class:`flex items-center gap-2 text-xs text-[var(--app-text-subtle)]`},ue={key:6,class:`rounded-md bg-[var(--el-color-danger-light-9)] text-[var(--el-color-danger)] px-3 py-2 whitespace-pre-wrap break-words`};function de(r,o,s,f,h,g){let _=u(`vue-markdown`),v=u(`font-awesome-icon`),y=p(`highlight`);return l(),d(`div`,{class:e([`transcript-item text-sm leading-relaxed`,`kind-${r.event.kind}`])},[r.event.kind===`prompt`?(l(),d(`div`,Y,[n(`div`,X,c(r.event.text),1)])):r.event.kind===`text`?m((l(),t(_,{key:1,source:r.event.text||``,class:`markdown-body bg-transparent text-[var(--app-text)]`},null,8,[`source`])),[[y]]):r.event.kind===`thinking`?(l(),d(`div`,Z,c(r.event.text),1)):r.event.kind===`tool_use`?(l(),d(`div`,Q,[n(`div`,ne,[i(v,{icon:r.toolIcon,class:`text-[var(--el-color-primary)]`},null,8,[`icon`]),n(`span`,null,c(r.event.tool),1),r.toolDescription?(l(),d(`span`,re,c(r.toolDescription),1)):a(``,!0)]),r.commandText?(l(),d(`div`,ie,[n(`div`,ae,[o[0]||=n(`span`,{class:`select-none text-[var(--el-color-success)]`},`$`,-1),n(`span`,oe,c(r.commandText),1)])])):r.filePath?(l(),d(`div`,se,c(r.filePath),1)):r.inputText?(l(),d(`pre`,ce,c(r.inputText),1)):a(``,!0)])):r.event.kind===`tool_result`?(l(),d(`div`,{key:4,class:e([`overflow-hidden rounded-md`,r.event.is_error?`bg-[var(--el-color-danger-light-9)]`:`bg-[var(--app-sidebar-bg)]`])},[n(`pre`,{class:e([`m-0 max-h-72 overflow-auto whitespace-pre-wrap break-words px-2.5 py-2 font-mono text-xs`,r.event.is_error?`text-[var(--el-color-danger)]`:`text-[var(--app-text-subtle)]`])},c(r.resultText),3)],2)):r.event.kind===`result`?(l(),d(`div`,le,[i(v,{icon:r.event.is_error?`fa-solid fa-xmark`:`fa-solid fa-check`},null,8,[`icon`]),n(`span`,null,c(r.resultLabel),1)])):r.event.kind===`error`?(l(),d(`div`,ue,c(r.event.text),1)):a(``,!0)],2)}var fe=o({name:`CodingBridgeSessionView`,components:{ElInput:C,ElButton:v,ElSelect:y,ElOption:b,FontAwesomeIcon:O,TranscriptItem:S(J,[[`render`,de],[`__scopeId`,`data-v-2afaf0b4`]])},emits:[`history`],data(){return{prompt:``,cwd:``,model:``,permissionMode:`default`}},computed:{currentNodeId(){return this.$store.state.codingBridge?.currentNodeId},currentNode(){return this.$store.state.codingBridge?.nodes?.find(e=>e.node_id===this.currentNodeId)},nodeOnline(){return this.currentNode?.status===`online`},currentSessionId(){return this.$store.state.codingBridge?.currentSessionId},currentSession(){let e=this.currentSessionId;return e?this.$store.state.codingBridge?.sessions?.[e]:void 0},events(){let e=this.currentSessionId;return e?this.$store.state.codingBridge?.events?.[e]??[]:[]},isNewSession(){return!this.currentSessionId},readonly(){return this.currentSession?.readonly===!0},resumeHint(){return!!this.currentSession?.provider&&!this.currentSession?.started&&!this.readonly},replayLabel(){return!this.currentSession?.provider||this.currentSession?.started?``:this.currentSession.provider===`codex`?this.$t(`codingBridge.history.codexLabel`):this.$t(`codingBridge.history.claudeLabel`)},running(){let e=this.currentSession?.status;return e===`running`||e===`starting`},connected(){return this.$store.state.codingBridge?.connection===`connected`},canSend(){return!!this.prompt.trim()&&this.connected&&this.nodeOnline},modelOptions(){return[{label:`Claude Sonnet`,value:`sonnet`},{label:`Claude Opus`,value:`opus`},{label:`Claude Haiku`,value:`haiku`}]},permissionModeOptions(){return[{label:this.$t(`codingBridge.session.permissionModeDefault`),value:`default`},{label:this.$t(`codingBridge.session.permissionModeAcceptEdits`),value:`acceptEdits`},{label:this.$t(`codingBridge.session.permissionModePlan`),value:`plan`},{label:this.$t(`codingBridge.session.permissionModeBypass`),value:`bypassPermissions`}]}},watch:{events(){this.scrollToBottom()},currentSessionId(){this.scrollToBottom()}},methods:{onComposerEnter(e){let t=e;t.isComposing||t.keyCode===229||t.shiftKey||t.ctrlKey||t.metaKey||t.altKey||(t.preventDefault(),this.onSend())},onSend(){this.canSend&&(this.$store.dispatch(`codingBridge/sendPrompt`,{prompt:this.prompt,cwd:this.cwd,model:this.model,permissionMode:this.permissionMode}),this.prompt=``)},onInterrupt(){this.$store.dispatch(`codingBridge/interruptSession`)},onNewSession(){this.$store.dispatch(`codingBridge/newSession`),this.cwd=``,this.model=``,this.permissionMode=`default`,this.prompt=``},scrollToBottom(){this.$nextTick(()=>{let e=this.$refs.transcript;e&&(e.scrollTop=e.scrollHeight)})}}}),pe={class:`session-view flex flex-col h-full bg-[var(--app-content-bg)]`},me={key:0,class:`flex-1 flex flex-col items-center justify-center text-center p-8 text-[var(--app-text-subtle)]`},he={class:`text-sm`},ge={class:`flex items-center justify-between gap-3 px-5 py-3 border-b border-[var(--app-border-subtle)]`},_e={class:`min-w-0`},ve={class:`flex items-center gap-2 font-medium`},ye={class:`truncate`},be={key:0,class:`text-xs text-[var(--app-text-subtle)] truncate`},xe={key:0},Se={key:1},Ce={key:2,class:`text-[var(--el-color-primary)]`},we={class:`flex items-center gap-2 flex-none`},Te={key:0,class:`px-5 py-2 text-xs bg-[var(--el-color-warning-light-9)] text-[var(--el-color-warning)] border-b border-[var(--app-border-subtle)]`},Ee={ref:`transcript`,class:`flex-1 overflow-y-auto px-5 py-4 flex flex-col gap-3`},De={key:0,class:`m-auto text-center text-sm text-[var(--app-text-subtle)]`},Oe={class:`border-t border-[var(--app-border-subtle)] p-3`},ke={key:0,class:`flex items-center gap-2 text-xs text-[var(--app-text-subtle)] px-1 py-2`},Ae={key:0,class:`flex flex-wrap gap-2 mb-2`},je={class:`flex items-end gap-2`},Me={class:`text-[11px] text-[var(--app-text-subtle)] mt-1 px-1`};function Ne(o,p,m,_,v,y){let b=u(`font-awesome-icon`),x=u(`el-button`),S=u(`transcript-item`),C=u(`el-input`),w=u(`el-option`),T=u(`el-select`);return l(),d(`div`,pe,[o.currentNode?(l(),d(g,{key:1},[n(`div`,ge,[n(`div`,_e,[n(`div`,ve,[n(`span`,ye,c(o.currentNode.name),1),n(`span`,{class:e([`inline-block w-2 h-2 rounded-full flex-none`,o.nodeOnline?`bg-[var(--el-color-success)]`:`bg-[var(--app-text-subtle)]`])},null,2)]),o.currentSession?(l(),d(`div`,be,[o.currentSession.cwd?(l(),d(`span`,xe,c(o.currentSession.cwd),1)):a(``,!0),o.currentSession.model?(l(),d(`span`,Se,` · `+c(o.currentSession.model),1)):a(``,!0),o.replayLabel?(l(),d(`span`,Ce,` · `+c(o.replayLabel),1)):a(``,!0)])):a(``,!0)]),n(`div`,we,[i(x,{size:`small`,round:``,onClick:p[0]||=e=>o.$emit(`history`)},{default:f(()=>[i(b,{icon:`fa-solid fa-clock-rotate-left`,class:`mr-1`}),r(` `+c(o.$t(`codingBridge.history.button`)),1)]),_:1}),o.currentSessionId?(l(),t(x,{key:0,size:`small`,round:``,onClick:o.onNewSession},{default:f(()=>[i(b,{icon:`fa-solid fa-plus`,class:`mr-1`}),r(` `+c(o.$t(`codingBridge.session.newSession`)),1)]),_:1},8,[`onClick`])):a(``,!0)])]),o.nodeOnline?a(``,!0):(l(),d(`div`,Te,c(o.$t(`codingBridge.session.deviceOffline`)),1)),n(`div`,Ee,[o.events.length?a(``,!0):(l(),d(`div`,De,c(o.$t(`codingBridge.session.startHint`)),1)),(l(!0),d(g,null,s(o.events,e=>(l(),t(S,{key:e.id,event:e},null,8,[`event`]))),128))],512),n(`div`,Oe,[o.readonly?(l(),d(`div`,ke,[i(b,{icon:`fa-solid fa-eye`}),n(`span`,null,c(o.$t(`codingBridge.history.readonly`)),1),i(x,{class:`ml-auto`,size:`small`,round:``,onClick:o.onNewSession},{default:f(()=>[r(c(o.$t(`codingBridge.session.newSession`)),1)]),_:1},8,[`onClick`])])):(l(),d(g,{key:1},[o.isNewSession?(l(),d(`div`,Ae,[i(C,{modelValue:o.cwd,"onUpdate:modelValue":p[1]||=e=>o.cwd=e,size:`small`,class:`flex-1 min-w-[160px]`,placeholder:o.$t(`codingBridge.session.cwdPlaceholder`),clearable:``},null,8,[`modelValue`,`placeholder`]),i(T,{modelValue:o.model,"onUpdate:modelValue":p[2]||=e=>o.model=e,size:`small`,filterable:``,"allow-create":``,"default-first-option":``,clearable:``,class:`w-40`,placeholder:o.$t(`codingBridge.session.modelPlaceholder`)},{default:f(()=>[(l(!0),d(g,null,s(o.modelOptions,e=>(l(),t(w,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`]),i(T,{modelValue:o.permissionMode,"onUpdate:modelValue":p[3]||=e=>o.permissionMode=e,size:`small`,class:`w-44`,placeholder:o.$t(`codingBridge.session.permissionModeLabel`)},{default:f(()=>[(l(!0),d(g,null,s(o.permissionModeOptions,e=>(l(),t(w,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])):a(``,!0),n(`div`,je,[i(C,{modelValue:o.prompt,"onUpdate:modelValue":p[4]||=e=>o.prompt=e,type:`textarea`,autosize:{minRows:3,maxRows:12},resize:`none`,class:`flex-1`,placeholder:o.$t(`codingBridge.session.promptPlaceholder`),onKeydown:h(o.onComposerEnter,[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`]),o.running?(l(),t(x,{key:0,round:``,onClick:o.onInterrupt},{default:f(()=>[i(b,{icon:`fa-solid fa-stop`})]),_:1},8,[`onClick`])):a(``,!0),i(x,{type:`primary`,round:``,disabled:!o.canSend,onClick:o.onSend},{default:f(()=>[r(c(o.$t(`codingBridge.session.send`)),1)]),_:1},8,[`disabled`,`onClick`])]),n(`p`,Me,c(o.resumeHint?o.$t(`codingBridge.history.resumeHint`):o.$t(`codingBridge.session.enterHint`)),1)],64))])],64)):(l(),d(`div`,me,[i(b,{icon:`fa-solid fa-laptop-code`,class:`text-4xl mb-3`}),n(`p`,he,c(o.$t(`codingBridge.session.noDevice`)),1)]))])}var Pe=S(fe,[[`render`,Ne]]),Fe=o({name:`CodingBridgePairDialog`,components:{ElDialog:T,ElInput:C,ElButton:v,FontAwesomeIcon:O},props:{visible:{type:Boolean,default:!1},initialCode:{type:String,default:``}},emits:[`update:visible`],data(){return{code:``}},computed:{claiming(){return this.$store.state.codingBridge?.status?.claimPair===D.Request}},watch:{visible(e){e&&this.initialCode&&(this.code=this.initialCode)},initialCode(e){e&&(this.code=e)}},methods:{async onClaim(){let e=this.code.trim();if(e)try{let t=await this.$store.dispatch(`codingBridge/claimPair`,e);E.success(this.$t(`codingBridge.pair.success`,{name:t})),this.code=``,this.$emit(`update:visible`,!1)}catch(e){let t=e?.response?.status;t===404?E.error(this.$t(`codingBridge.pair.invalidCode`)):t===409?E.error(this.$t(`codingBridge.pair.usedCode`)):E.error(this.$t(`codingBridge.pair.failed`))}}}}),Ie={class:`content`},Le={class:`text-sm text-[var(--app-text-subtle)] mb-4`},Re={class:`steps list-none m-0 p-0 mb-4`},ze={class:`flex gap-3 mb-3`},Be={class:`flex-1 min-w-0`},Ve={class:`text-sm mb-1`},He={class:`flex gap-3 mb-3`},Ue={class:`flex-1 min-w-0`},We={class:`text-sm mb-1`},Ge={class:`flex gap-3`},Ke={class:`flex-1 min-w-0`},qe={class:`text-sm`};function Je(e,a,o,s,d,p){let m=u(`el-input`),g=u(`font-awesome-icon`),_=u(`el-button`),v=u(`el-dialog`);return l(),t(v,{"model-value":e.visible,width:`520px`,title:e.$t(`codingBridge.pair.title`),center:``,"onUpdate:modelValue":a[1]||=t=>e.$emit(`update:visible`,t)},{default:f(()=>[n(`div`,Ie,[n(`p`,Le,c(e.$t(`codingBridge.pair.intro`)),1),n(`ol`,Re,[n(`li`,ze,[a[3]||=n(`span`,{class:`step-index`},`1`,-1),n(`div`,Be,[n(`p`,Ve,c(e.$t(`codingBridge.pair.step1`)),1),a[2]||=n(`code`,{class:`cmd`},`pip install coding-bridge-agent`,-1)])]),n(`li`,He,[a[5]||=n(`span`,{class:`step-index`},`2`,-1),n(`div`,Ue,[n(`p`,We,c(e.$t(`codingBridge.pair.step2`)),1),a[4]||=n(`code`,{class:`cmd`},`coding-bridge-agent up`,-1)])]),n(`li`,Ge,[a[6]||=n(`span`,{class:`step-index`},`3`,-1),n(`div`,Ke,[n(`p`,qe,c(e.$t(`codingBridge.pair.step3`)),1)])])]),i(m,{modelValue:e.code,"onUpdate:modelValue":a[0]||=t=>e.code=t,size:`large`,class:`mb-3`,placeholder:e.$t(`codingBridge.pair.codePlaceholder`),clearable:``,onKeyup:h(e.onClaim,[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeyup`]),i(_,{type:`primary`,round:``,class:`w-full`,loading:e.claiming,disabled:!e.code.trim(),onClick:e.onClaim},{default:f(()=>[i(g,{icon:`fa-solid fa-link`,class:`mr-1`}),r(` `+c(e.$t(`codingBridge.pair.claim`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])])]),_:1},8,[`model-value`,`title`])}var Ye=S(Fe,[[`render`,Je],[`__scopeId`,`data-v-3d1ed01f`]]),Xe=o({name:`CodingBridgePermissionDialog`,components:{ElDialog:T,ElButton:v,FontAwesomeIcon:O},computed:{request(){return this.$store.state.codingBridge?.permissions?.[0]},hasInput(){return!!this.request?.input&&Object.keys(this.request.input).length>0},inputText(){try{return JSON.stringify(this.request?.input,null,2)}catch{return String(this.request?.input??``)}}},methods:{onAllow(){this.request&&this.$store.dispatch(`codingBridge/resolvePermission`,{request_id:this.request.request_id,decision:`allow`})},onDeny(){this.request&&this.$store.dispatch(`codingBridge/resolvePermission`,{request_id:this.request.request_id,decision:`deny`})}}}),Ze={key:0,class:`content`},Qe={class:`text-sm text-[var(--app-text-subtle)] mb-3`},$e={class:`rounded-md border border-[var(--app-border-subtle)] p-3 mb-3`},et={class:`flex items-center gap-2 font-medium`},tt={key:0,class:`text-xs text-[var(--app-text-subtle)] mt-1`},nt={key:1,class:`mt-2 text-xs overflow-x-auto whitespace-pre-wrap break-words text-[var(--app-text-subtle)] max-h-[200px]`},rt={class:`flex justify-end gap-2`};function it(e,o,s,p,m,h){let g=u(`font-awesome-icon`),_=u(`el-button`),v=u(`el-dialog`);return l(),t(v,{"model-value":!!e.request,width:`480px`,title:e.$t(`codingBridge.permission.title`),"close-on-click-modal":!1,"show-close":!1,center:``},{footer:f(()=>[n(`div`,rt,[i(_,{round:``,onClick:e.onDeny},{default:f(()=>[i(g,{icon:`fa-solid fa-xmark`,class:`mr-1`}),r(` `+c(e.$t(`codingBridge.permission.deny`)),1)]),_:1},8,[`onClick`]),i(_,{type:`primary`,round:``,onClick:e.onAllow},{default:f(()=>[i(g,{icon:`fa-solid fa-check`,class:`mr-1`}),r(` `+c(e.$t(`codingBridge.permission.allow`)),1)]),_:1},8,[`onClick`])])]),default:f(()=>[e.request?(l(),d(`div`,Ze,[n(`p`,Qe,c(e.$t(`codingBridge.permission.subtitle`)),1),n(`div`,$e,[n(`div`,et,[i(g,{icon:`fa-solid fa-code`}),n(`span`,null,c(e.request.display_name||e.request.title||e.request.tool),1)]),e.request.description?(l(),d(`p`,tt,c(e.request.description),1)):a(``,!0),e.hasInput?(l(),d(`pre`,nt,c(e.inputText),1)):a(``,!0)])])):a(``,!0)]),_:1},8,[`model-value`,`title`])}var at=S(Xe,[[`render`,it]]),ot=o({name:`CodingBridgeHistoryDrawer`,components:{ElDrawer:x,ElButton:v,FontAwesomeIcon:O},props:{visible:{type:Boolean,default:!1}},emits:[`update:visible`],computed:{currentNodeId(){return this.$store.state.codingBridge?.currentNodeId},loading(){return this.$store.state.codingBridge?.status?.getHistory===D.Request},sessions(){let e=this.currentNodeId;return[...e?this.$store.state.codingBridge?.history?.[e]??[]:[]].sort((e,t)=>(t.updated_at??0)-(e.updated_at??0))}},watch:{visible(e){e&&this.currentNodeId&&this.$store.dispatch(`codingBridge/getHistory`,this.currentNodeId)}},methods:{refresh(){this.currentNodeId&&this.$store.dispatch(`codingBridge/getHistory`,this.currentNodeId)},open(e){this.currentNodeId&&(this.$store.dispatch(`codingBridge/getHistoryDetail`,{node_id:this.currentNodeId,provider:e.provider,session_id:e.session_id}),this.$emit(`update:visible`,!1))},formatTime(e){try{return new Date(e).toLocaleString()}catch{return``}}}}),st={class:`flex flex-col h-full`},ct={class:`flex items-center justify-between mb-3`},lt={class:`text-xs text-[var(--app-text-subtle)] m-0`},ut={key:0,class:`m-auto text-sm text-[var(--app-text-subtle)]`},dt={key:1,class:`m-auto text-sm text-[var(--app-text-subtle)]`},ft={key:2,class:`m-auto text-sm text-[var(--app-text-subtle)] text-center`},$={key:3,class:`list-none m-0 p-0 flex-1 overflow-y-auto flex flex-col gap-2`},pt=[`onClick`],mt={class:`flex items-center gap-2 mb-1`},ht={class:`text-sm font-medium truncate flex-1`},gt={class:`text-[11px] text-[var(--app-text-subtle)] truncate`},_t={key:0},vt={key:1},yt={class:`text-[11px] text-[var(--app-text-subtle)] mt-0.5`},bt={key:0},xt={key:1};function St(o,p,m,h,_,v){let y=u(`font-awesome-icon`),b=u(`el-button`),x=u(`el-drawer`);return l(),t(x,{"model-value":o.visible,direction:`rtl`,size:`380px`,title:o.$t(`codingBridge.history.title`),"onUpdate:modelValue":p[0]||=e=>o.$emit(`update:visible`,e)},{default:f(()=>[n(`div`,st,[n(`div`,ct,[n(`p`,lt,c(o.$t(`codingBridge.history.intro`)),1),i(b,{size:`small`,round:``,loading:o.loading,onClick:o.refresh},{default:f(()=>[o.loading?a(``,!0):(l(),t(y,{key:0,icon:`fa-solid fa-rotate-right`,class:`mr-1`})),r(` `+c(o.$t(`codingBridge.history.refresh`)),1)]),_:1},8,[`loading`,`onClick`])]),o.currentNodeId?o.loading&&!o.sessions.length?(l(),d(`div`,dt,c(o.$t(`codingBridge.history.loading`)),1)):o.sessions.length?(l(),d(`ul`,$,[(l(!0),d(g,null,s(o.sessions,t=>(l(),d(`li`,{key:t.provider+`:`+t.session_id,class:`item rounded-lg p-3 cursor-pointer border border-[var(--app-border-subtle)]`,onClick:e=>o.open(t)},[n(`div`,mt,[n(`span`,{class:e([`provider-tag`,t.provider])},c(t.provider===`codex`?`Codex`:`Claude`),3),n(`span`,ht,c(t.title),1)]),n(`div`,gt,[t.cwd?(l(),d(`span`,_t,c(t.cwd),1)):a(``,!0),t.git_branch?(l(),d(`span`,vt,` · `+c(t.git_branch),1)):a(``,!0)]),n(`div`,yt,[t.updated_at?(l(),d(`span`,bt,c(o.formatTime(t.updated_at)),1)):a(``,!0),t.message_count?(l(),d(`span`,xt,` · `+c(o.$t(`codingBridge.history.messages`,{count:t.message_count})),1)):a(``,!0)])],8,pt))),128))])):(l(),d(`div`,ft,c(o.$t(`codingBridge.history.empty`)),1)):(l(),d(`div`,ut,c(o.$t(`codingBridge.session.noDevice`)),1))])]),_:1},8,[`model-value`,`title`])}var Ct=o({name:`CodingBridgeIndex`,components:{ElButton:v,ElDrawer:x,FontAwesomeIcon:O,NodeList:q,SessionView:Pe,PairDialog:Ye,PermissionDialog:at,HistoryDrawer:S(ot,[[`render`,St],[`__scopeId`,`data-v-3414881a`]])},data(){return{drawer:!1,pairVisible:!1,historyVisible:!1,initialCode:``}},mounted(){this.$store.dispatch(`codingBridge/connect`),this.$store.dispatch(`codingBridge/getNodes`);let e=this.$route.query.code;typeof e==`string`&&e&&(this.initialCode=e,this.pairVisible=!0)},beforeUnmount(){this.$store.dispatch(`codingBridge/disconnect`)},methods:{openPair(){this.initialCode=``,this.pairVisible=!0},openPairFromDrawer(){this.drawer=!1,this.openPair()}}}),wt={class:`coding-bridge flex flex-row h-full relative`};function Tt(e,t,n,r,a,o){let s=u(`node-list`),c=u(`session-view`),p=u(`font-awesome-icon`),m=u(`el-button`),h=u(`el-drawer`),g=u(`pair-dialog`),_=u(`permission-dialog`),v=u(`history-drawer`);return l(),d(`div`,wt,[i(s,{class:`sidebar w-[300px] flex-none`,onPair:e.openPair},null,8,[`onPair`]),i(c,{class:`flex-1 min-w-0`,onHistory:t[0]||=t=>e.historyVisible=!0}),i(m,{circle:``,class:`menu`,onClick:t[1]||=t=>e.drawer=!0},{default:f(()=>[i(p,{icon:`fa-solid fa-laptop-code`})]),_:1}),i(h,{modelValue:e.drawer,"onUpdate:modelValue":t[2]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`300px`,class:`drawer`},{default:f(()=>[i(s,{onPair:e.openPairFromDrawer},null,8,[`onPair`])]),_:1},8,[`modelValue`]),i(g,{visible:e.pairVisible,"onUpdate:visible":t[3]||=t=>e.pairVisible=t,"initial-code":e.initialCode},null,8,[`visible`,`initial-code`]),i(_),i(v,{visible:e.historyVisible,"onUpdate:visible":t[4]||=t=>e.historyVisible=t},null,8,[`visible`])])}var Et=S(Ct,[[`render`,Tt],[`__scopeId`,`data-v-3a406429`]]);export{Et as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,M as i,N as a,O as o,P as s,Q as c,Ut as l,X as u,et as d,k as f,lt as p,x as m,y as h}from"./vendor-chart-Df3WBvr0.js";import{t as g}from"./button-DgZFgZDr.js";import{r as _,t as v}from"./select-BPjqIeh7.js";import{t as y}from"./upload-B8zBOx3w.js";import{t as b}from"./tooltip-C-9nDsaA.js";import{t as x}from"./image-Ci8jpr3p.js";import{t as S}from"./alert-Bgv5POrX.js";import{t as C}from"./drawer-BhAAsvLB.js";import{Hr as ee,X as w,Z as T}from"./constants-D3W0tInG.js";import{Dt as E,E as D,Et as te,Mn as O,Ot as k,Tr as A,hr as j,jt as M,kt as N,qt as P,vr as F}from"./index-Ckw2kMAN.js";import{t as I}from"./index.es-cJGxFNWz.js";import{t as L}from"./CopyToClipboard-CtojVo1q.js";import{t as R}from"./ImagePreview-Sgc3M4U_.js";import{t as z}from"./BotPlaceholder-CCToITRl.js";import{i as B,n as V,t as H}from"./pagination-CCWtytSY.js";import{n as U,t as W}from"./NoTasks-BmVoZxvx.js";import{t as G}from"./Consumption-D5XRIWhM.js";import{t as K}from"./ApiCodeButton-gajL-HwK.js";import{t as q}from"./VideoPlayer-6-ol3ISM.js";var J=s({name:`LayoutWan`,components:{ElDrawer:C,ElButton:g,FontAwesomeIcon:I},data(){return{drawer:!1}}}),Y={class:`main flex flex-row flex-1`},X={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Z={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Q(t,n,i,o,s,c){let l=d(`font-awesome-icon`),m=d(`el-button`),h=d(`el-drawer`);return u(),f(`div`,Y,[r(`div`,X,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,Z,[e(t.$slots,`result`,{},void 0,!0)]),a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(l,{icon:`fa-solid fa-magic`})]),_:1}),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`},{default:p(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ne=D(J,[[`render`,Q],[`__scopeId`,`data-v-3b0702a7`]]),re=s({name:`ModelSelector`,components:{ElSelect:_,ElOption:v},data(){return{}},computed:{options(){return[{value:`wan2.6-t2v`,label:this.$t(`wan.button.modelT2v`)},{value:`wan2.6-i2v`,label:this.$t(`wan.button.modelI2v`)},{value:`wan2.6-i2v-flash`,label:this.$t(`wan.button.modelI2vFlash`)},{value:`wan2.6-r2v`,label:this.$t(`wan.button.modelR2v`)}]},value:{get(){return this.$store.state.wan?.config?.model},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,model:e})}}},mounted(){this.value||=w}}),ie={class:`field`},ae={class:`title font-bold`},oe={class:`float-left`};function se(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,ie,[r(`h2`,ae,l(e.$t(`wan.name.model`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},{default:p(()=>[r(`span`,oe,l(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ce=D(re,[[`render`,se],[`__scopeId`,`data-v-eb090beb`]]),le=`720p`,ue=s({name:`ResolutionSelector`,components:{ElSelect:_,ElOption:v},computed:{options(){return[{value:`480p`,label:this.$t(`wan.name.resolution480p`)},{value:`720p`,label:this.$t(`wan.name.resolution720p`)},{value:`1080p`,label:this.$t(`wan.name.resolution1080p`)}]},value:{get(){return this.$store.state.wan?.config?.resolution},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,resolution:e})}}},mounted(){this.value||=le}}),de={class:`field`},fe={class:`title font-bold`},pe={class:`float-left`};function me(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,de,[r(`h2`,fe,l(e.$t(`wan.name.resolution`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},{default:p(()=>[r(`span`,pe,l(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var he=D(ue,[[`render`,me],[`__scopeId`,`data-v-3e39f44e`]]),ge=5,_e=s({name:`DurationSelector`,components:{ElSelect:_,ElOption:v},computed:{options(){return[{value:5,label:this.$t(`wan.name.duration5s`)},{value:10,label:this.$t(`wan.name.duration10s`)},{value:15,label:this.$t(`wan.name.duration15s`)}]},value:{get(){return this.$store.state.wan?.config?.duration},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,duration:e})}}},mounted(){this.value||=ge}}),ve={class:`field`},ye={class:`title font-bold`},be={class:`float-left`};function xe(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,ve,[r(`h2`,ye,l(e.$t(`wan.name.duration`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},{default:p(()=>[r(`span`,be,l(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Se=D(_e,[[`render`,xe],[`__scopeId`,`data-v-5f35a2cf`]]),Ce=s({name:`ImageUrlInput`,components:{ElUpload:y,ElButton:g,InfoIcon:B,ImagePreview:R},mixins:[N,E],data(){return{fileList:[],uploadUrl:F()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.wan?.config?.image_url},set(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||=void 0,this.onSetImageUrl()},methods:{onExceed(){A.warning(this.$t(`wan.message.uploadImageExceed`))},onError(){A.error(this.$t(`wan.message.uploadImageError`))},async onRemove(){A.error(this.$t(`wan.message.uploadImageError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),we={class:`relative`},Te={class:`flex justify-between`},Ee={class:`flex justify-start items-center`},De={class:`text-sm font-bold`};function Oe(e,t,s,c,m,h){let g=d(`info-icon`),_=d(`image-preview`),v=d(`el-button`),y=d(`el-upload`);return u(),f(`div`,we,[r(`div`,Te,[r(`div`,Ee,[r(`span`,De,l(e.$t(`wan.name.imageUrl`)),1),a(g,{content:e.$t(`wan.description.imageUrl`),class:`info`},null,8,[`content`])])]),a(y,{"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,"show-file-list":!0,limit:1,multiple:!1,"list-type":`picture`,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:t})=>[t.url&&t.percentage!==void 0?(u(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(v,{size:`small`,type:`primary`,class:`btn btn-upload`,round:``},{default:p(()=>[i(l(e.$t(`wan.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])])}var ke=D(Ce,[[`render`,Oe],[`__scopeId`,`data-v-41a69004`]]),Ae=s({name:`PromptInput`,components:{PromptTextarea:U},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,prompt:e})}}},mounted(){this.prompt||=``}});function je(e,t,r,i,a,o){let s=d(`prompt-textarea`);return u(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`wan.name.prompt`),info:e.$t(`wan.description.prompt`),placeholder:e.$t(`wan.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Me=s({name:`PresetPanel`,components:{ElButton:g,FontAwesomeIcon:I,PromptInput:D(Ae,[[`render`,je]]),ImageUrlInput:ke,ModelSelector:ce,ResolutionSelector:he,DurationSelector:Se,Consumption:G},emits:[`generate`],computed:{config(){return this.$store.state.wan?.config},consumption(){return M(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){let e=this.config?.model;return e===`wan2.6-t2v`||e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`},supportsDuration(){return this.config?.model===`wan2.6-t2v`},supportsImageUrl(){let e=this.config?.model;return e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`}},methods:{onGenerate(){this.$emit(`generate`)}}}),Ne={class:`flex flex-col h-full`},Pe={class:`flex-1 overflow-y-auto p-5`},Fe={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ie(e,t,s,c,m,h){let g=d(`prompt-input`),_=d(`model-selector`),v=d(`resolution-selector`),y=d(`duration-selector`),b=d(`image-url-input`),x=d(`consumption`),S=d(`font-awesome-icon`),C=d(`el-button`);return u(),f(`div`,Ne,[r(`div`,Pe,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),e.supportsResolution?(u(),n(v,{key:0,class:`mb-4`})):o(``,!0),e.supportsDuration?(u(),n(y,{key:1,class:`mb-4`})):o(``,!0),e.supportsImageUrl?(u(),n(b,{key:2,class:`mb-2`})):o(``,!0)]),r(`div`,Fe,[a(x,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),a(C,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:p(()=>[a(S,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`wan.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Le=D(Me,[[`render`,Ie]]),Re=s({name:`TaskPreview`,components:{ElImage:x,CopyToClipboard:L,FontAwesomeIcon:I,ElAlert:S,VideoPlayer:q,ElTooltip:b,ElButton:g,ApiCodeButton:K},props:{modelValue:{type:Object,required:!0}},setup(){return{WAN_LOGO:T}},computed:{application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{onDownload(e){console.debug(`on download wan video`,e),window.open(e,`_blank`)}}}),ze={class:`preview`},Be={class:`left`},Ve={class:`main`},He={class:`bot`},Ue={class:`datetime`},We={class:`info`},Ge={key:0,class:`prompt mt-2`},Ke={key:0},qe={key:1},Je={key:0,class:t({content:!0,failed:!0})},Ye={key:0,class:`mb-4`},Xe={key:1,class:t({operations:!0,"mt-2":!0})},Ze={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Qe={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$e={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},et={key:1,class:t({content:!0})},tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},nt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},rt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},it={key:2,class:t({content:!0})},at={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function ot(e,t,n,s,c,m){let g=d(`el-image`),_=d(`video-player`),v=d(`el-button`),y=d(`el-tooltip`),b=d(`api-code-button`),x=d(`font-awesome-icon`),S=d(`copy-to-clipboard`),C=d(`el-alert`);return u(),f(`div`,ze,[r(`div`,Be,[a(g,{src:e.WAN_LOGO,class:`avatar`},null,8,[`src`])]),r(`div`,Ve,[r(`div`,He,[i(l(e.$t(`wan.name.wanBot`))+` `,1),r(`span`,Ue,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,We,[e.modelValue?.request?.prompt?(u(),f(`p`,Ge,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?o(``,!0):(u(),f(`span`,Ke,` - (`+l(e.$t(`wan.status.pending`))+`) `,1)),e.modelValue?.response?.state===`processing`||e.modelValue?.response?.state===`pending`||e.modelValue?.response?.state===`running`?(u(),f(`span`,qe,` - (`+l(e.$t(`wan.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),e.modelValue?.response?.success===!0?(u(),f(`div`,Je,[e.modelValue?.response?.video_url?(u(),f(`div`,Ye,[a(_,{src:e.modelValue?.response?.video_url},null,8,[`src`])])):o(``,!0),e.modelValue?.response?.video_url?(u(),f(`div`,Xe,[a(y,{class:`box-item`,effect:`dark`,content:e.$t(`wan.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(v,{type:`info`,size:`small`,class:`mb-2`,onClick:t[0]||=h(t=>e.onDownload(e.modelValue?.response?.video_url),[`stop`])},{default:p(()=>[i(l(e.$t(`wan.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(b,{path:`/wan/videos`,body:e.modelValue?.request},null,8,[`body`])])):o(``,!0),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[e.modelValue?.request?.model?(u(),f(`p`,Ze,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.model`))+`: `+l(e.modelValue?.request?.model)+` `,1),a(S,{content:e.modelValue?.id},null,8,[`content`])])):o(``,!0),r(`p`,Qe,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,$e,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),e.modelValue?.response?.success===!1?(u(),f(`div`,et,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.failure`)),1)]),default:p(()=>[r(`p`,tt,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id},null,8,[`content`])]),r(`p`,$,[a(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),a(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,nt,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),r(`p`,rt,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.traceId`))+`: `+l(e.modelValue?.response?.trace_id)+` `,1),a(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),e.modelValue?.response?.success===void 0?(u(),f(`div`,it,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.failure`)),1)]),default:p(()=>[r(`p`,at,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var st=s({name:`RecentPanel`,components:{TaskPreview:D(Re,[[`render`,ot],[`__scopeId`,`data-v-916b8970`]]),BotPlaceholder:z,NoTasks:W,ScrollList:V},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),ct={key:0},lt={key:2,class:`w-full h-full flex items-center justify-center`};function ut(e,t,r,i,s,l){let h=d(`bot-placeholder`),g=d(`task-preview`),_=d(`scroll-list`),v=d(`no-tasks`);return u(),f(m,null,[e.tasks?.items===void 0?(u(),f(`div`,ct,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(u(),n(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(u(!0),f(m,null,c(e.tasks?.items,e=>(u(),n(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(u(),f(`div`,lt,[a(v)])):o(``,!0)],64)}var dt=D(st,[[`render`,ut]]),ft=ee(`wan`),pt=s({name:`WanIndex`,components:{ConfigPanel:Le,Layout:ne,RecentPanel:dt},mixins:[k],inject:[`initialized`],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.wan?.status?.getApplications===j.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===j.Request||this.fetchingTasks},credential(){return this.$store.state.wan.credential},config(){return this.$store.state.wan.config},application(){return this.$store.state.wan.application},tasks(){return this.$store.state.wan.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await H({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`wan/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`wan/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`wan/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!te(this.uploadTracker,e=>this.$t(e),e=>A.warning(e)))return;let e={...this.config,callback_url:ft},t=this.credential?.token;if(!t){console.error(`no token specified`);return}A.info(this.$t(`wan.message.startingTask`)),O(`wan`,P.generate(e,{token:t})).then(()=>{A.success(this.$t(`wan.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?A.error(this.$t(`wan.message.usedUp`)):A.error(this.$t(`wan.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function mt(e,t,r,i,o,s){let c=d(`config-panel`),l=d(`recent-panel`),f=d(`layout`);return u(),n(f,null,{config:p(()=>[a(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var ht=D(pt,[[`render`,mt]]);export{ht as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{$ as e,Bt as t,D as n,E as r,M as i,N as a,O as o,P as s,Q as c,Ut as l,X as u,et as d,k as f,lt as p,x as m,y as h}from"./vendor-chart-Df3WBvr0.js";import{t as g}from"./button-DgZFgZDr.js";import{r as _,t as v}from"./select-Dy4nmBcy.js";import{t as y}from"./upload-B8zBOx3w.js";import{t as b}from"./tooltip-C-9nDsaA.js";import{t as x}from"./image-Bau0kGS7.js";import{t as S}from"./alert-Bgv5POrX.js";import{t as C}from"./drawer-BhAAsvLB.js";import{Hr as ee,X as w,Z as T}from"./constants-D3W0tInG.js";import{Dt as E,E as D,Et as te,Mn as O,Ot as k,Tr as A,hr as j,jt as M,kt as N,qt as P,vr as F}from"./index-CEh-AtFD.js";import{t as I}from"./index.es-CGcvPLbY.js";import{t as L}from"./CopyToClipboard-DY4cWsYU.js";import{t as R}from"./ImagePreview-C1Hid5KU.js";import{t as z}from"./BotPlaceholder-2Tv7c707.js";import{i as B,n as V,t as H}from"./pagination-D0v316W1.js";import{n as U,t as W}from"./NoTasks-BJ195-7X.js";import{t as G}from"./Consumption-DSbM28rV.js";import{t as K}from"./ApiCodeButton-CrB8OI_k.js";import{t as q}from"./VideoPlayer-DtbwYrYN.js";var J=s({name:`LayoutWan`,components:{ElDrawer:C,ElButton:g,FontAwesomeIcon:I},data(){return{drawer:!1}}}),Y={class:`main flex flex-row flex-1`},X={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Z={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Q(t,n,i,o,s,c){let l=d(`font-awesome-icon`),m=d(`el-button`),h=d(`el-drawer`);return u(),f(`div`,Y,[r(`div`,X,[e(t.$slots,`config`,{},void 0,!0)]),r(`div`,Z,[e(t.$slots,`result`,{},void 0,!0)]),a(m,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(l,{icon:`fa-solid fa-magic`})]),_:1}),a(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`},{default:p(()=>[e(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ne=D(J,[[`render`,Q],[`__scopeId`,`data-v-3b0702a7`]]),re=s({name:`ModelSelector`,components:{ElSelect:_,ElOption:v},data(){return{}},computed:{options(){return[{value:`wan2.6-t2v`,label:this.$t(`wan.button.modelT2v`)},{value:`wan2.6-i2v`,label:this.$t(`wan.button.modelI2v`)},{value:`wan2.6-i2v-flash`,label:this.$t(`wan.button.modelI2vFlash`)},{value:`wan2.6-r2v`,label:this.$t(`wan.button.modelR2v`)}]},value:{get(){return this.$store.state.wan?.config?.model},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,model:e})}}},mounted(){this.value||=w}}),ie={class:`field`},ae={class:`title font-bold`},oe={class:`float-left`};function se(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,ie,[r(`h2`,ae,l(e.$t(`wan.name.model`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},{default:p(()=>[r(`span`,oe,l(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ce=D(re,[[`render`,se],[`__scopeId`,`data-v-eb090beb`]]),le=`720p`,ue=s({name:`ResolutionSelector`,components:{ElSelect:_,ElOption:v},computed:{options(){return[{value:`480p`,label:this.$t(`wan.name.resolution480p`)},{value:`720p`,label:this.$t(`wan.name.resolution720p`)},{value:`1080p`,label:this.$t(`wan.name.resolution1080p`)}]},value:{get(){return this.$store.state.wan?.config?.resolution},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,resolution:e})}}},mounted(){this.value||=le}}),de={class:`field`},fe={class:`title font-bold`},pe={class:`float-left`};function me(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,de,[r(`h2`,fe,l(e.$t(`wan.name.resolution`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},{default:p(()=>[r(`span`,pe,l(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var he=D(ue,[[`render`,me],[`__scopeId`,`data-v-3e39f44e`]]),ge=5,_e=s({name:`DurationSelector`,components:{ElSelect:_,ElOption:v},computed:{options(){return[{value:5,label:this.$t(`wan.name.duration5s`)},{value:10,label:this.$t(`wan.name.duration10s`)},{value:15,label:this.$t(`wan.name.duration15s`)}]},value:{get(){return this.$store.state.wan?.config?.duration},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,duration:e})}}},mounted(){this.value||=ge}}),ve={class:`field`},ye={class:`title font-bold`},be={class:`float-left`};function xe(e,t,i,o,s,h){let g=d(`el-option`),_=d(`el-select`);return u(),f(`div`,ve,[r(`h2`,ye,l(e.$t(`wan.name.duration`)),1),a(_,{modelValue:e.value,"onUpdate:modelValue":t[0]||=t=>e.value=t,class:`value`,placeholder:e.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(u(!0),f(m,null,c(e.options,e=>(u(),n(g,{key:e.value,label:e.label,value:e.value},{default:p(()=>[r(`span`,be,l(e.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Se=D(_e,[[`render`,xe],[`__scopeId`,`data-v-5f35a2cf`]]),Ce=s({name:`ImageUrlInput`,components:{ElUpload:y,ElButton:g,InfoIcon:B,ImagePreview:R},mixins:[N,E],data(){return{fileList:[],uploadUrl:F()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.wan?.config?.image_url},set(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||=void 0,this.onSetImageUrl()},methods:{onExceed(){A.warning(this.$t(`wan.message.uploadImageExceed`))},onError(){A.error(this.$t(`wan.message.uploadImageError`))},async onRemove(){A.error(this.$t(`wan.message.uploadImageError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),we={class:`relative`},Te={class:`flex justify-between`},Ee={class:`flex justify-start items-center`},De={class:`text-sm font-bold`};function Oe(e,t,s,c,m,h){let g=d(`info-icon`),_=d(`image-preview`),v=d(`el-button`),y=d(`el-upload`);return u(),f(`div`,we,[r(`div`,Te,[r(`div`,Ee,[r(`span`,De,l(e.$t(`wan.name.imageUrl`)),1),a(g,{content:e.$t(`wan.description.imageUrl`),class:`info`},null,8,[`content`])])]),a(y,{"file-list":e.fileList,"onUpdate:fileList":t[0]||=t=>e.fileList=t,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,"show-file-list":!0,limit:1,multiple:!1,"list-type":`picture`,action:e.uploadUrl,"on-exceed":e.onExceed,"on-error":e.onError,"on-remove":e.onRemove,"on-success":e.onSuccess,headers:e.headers},{file:p(({file:t})=>[t.url&&t.percentage!==void 0?(u(),n(_,{key:0,url:t.url,name:t.name,percentage:t.percentage,onRemove:n=>e.fileList.splice(e.fileList.indexOf(t),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(v,{size:`small`,type:`primary`,class:`btn btn-upload`,round:``},{default:p(()=>[i(l(e.$t(`wan.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])])}var ke=D(Ce,[[`render`,Oe],[`__scopeId`,`data-v-41a69004`]]),Ae=s({name:`PromptInput`,components:{PromptTextarea:U},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,prompt:e})}}},mounted(){this.prompt||=``}});function je(e,t,r,i,a,o){let s=d(`prompt-textarea`);return u(),n(s,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`wan.name.prompt`),info:e.$t(`wan.description.prompt`),placeholder:e.$t(`wan.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Me=s({name:`PresetPanel`,components:{ElButton:g,FontAwesomeIcon:I,PromptInput:D(Ae,[[`render`,je]]),ImageUrlInput:ke,ModelSelector:ce,ResolutionSelector:he,DurationSelector:Se,Consumption:G},emits:[`generate`],computed:{config(){return this.$store.state.wan?.config},consumption(){return M(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){let e=this.config?.model;return e===`wan2.6-t2v`||e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`},supportsDuration(){return this.config?.model===`wan2.6-t2v`},supportsImageUrl(){let e=this.config?.model;return e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`}},methods:{onGenerate(){this.$emit(`generate`)}}}),Ne={class:`flex flex-col h-full`},Pe={class:`flex-1 overflow-y-auto p-5`},Fe={class:`flex flex-col items-center justify-center px-5 pb-5`};function Ie(e,t,s,c,m,h){let g=d(`prompt-input`),_=d(`model-selector`),v=d(`resolution-selector`),y=d(`duration-selector`),b=d(`image-url-input`),x=d(`consumption`),S=d(`font-awesome-icon`),C=d(`el-button`);return u(),f(`div`,Ne,[r(`div`,Pe,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),e.supportsResolution?(u(),n(v,{key:0,class:`mb-4`})):o(``,!0),e.supportsDuration?(u(),n(y,{key:1,class:`mb-4`})):o(``,!0),e.supportsImageUrl?(u(),n(b,{key:2,class:`mb-2`})):o(``,!0)]),r(`div`,Fe,[a(x,{value:e.consumption,service:e.service},null,8,[`value`,`service`]),a(C,{type:`primary`,class:`btn w-full`,round:``,onClick:e.onGenerate},{default:p(()=>[a(S,{icon:`fa-solid fa-magic`,class:`mr-2`}),i(` `+l(e.$t(`wan.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Le=D(Me,[[`render`,Ie]]),Re=s({name:`TaskPreview`,components:{ElImage:x,CopyToClipboard:L,FontAwesomeIcon:I,ElAlert:S,VideoPlayer:q,ElTooltip:b,ElButton:g,ApiCodeButton:K},props:{modelValue:{type:Object,required:!0}},setup(){return{WAN_LOGO:T}},computed:{application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{onDownload(e){console.debug(`on download wan video`,e),window.open(e,`_blank`)}}}),ze={class:`preview`},Be={class:`left`},Ve={class:`main`},He={class:`bot`},Ue={class:`datetime`},We={class:`info`},Ge={key:0,class:`prompt mt-2`},Ke={key:0},qe={key:1},Je={key:0,class:t({content:!0,failed:!0})},Ye={key:0,class:`mb-4`},Xe={key:1,class:t({operations:!0,"mt-2":!0})},Ze={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Qe={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$e={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},et={key:1,class:t({content:!0})},tt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},nt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},rt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},it={key:2,class:t({content:!0})},at={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function ot(e,t,n,s,c,m){let g=d(`el-image`),_=d(`video-player`),v=d(`el-button`),y=d(`el-tooltip`),b=d(`api-code-button`),x=d(`font-awesome-icon`),S=d(`copy-to-clipboard`),C=d(`el-alert`);return u(),f(`div`,ze,[r(`div`,Be,[a(g,{src:e.WAN_LOGO,class:`avatar`},null,8,[`src`])]),r(`div`,Ve,[r(`div`,He,[i(l(e.$t(`wan.name.wanBot`))+` `,1),r(`span`,Ue,l(e.$dayjs.format(``+new Date(parseFloat((e.modelValue?.created_at||``).toString())*1e3))),1)]),r(`div`,We,[e.modelValue?.request?.prompt?(u(),f(`p`,Ge,[i(l(e.modelValue?.request?.prompt)+` `,1),e.modelValue?.response?o(``,!0):(u(),f(`span`,Ke,` - (`+l(e.$t(`wan.status.pending`))+`) `,1)),e.modelValue?.response?.state===`processing`||e.modelValue?.response?.state===`pending`||e.modelValue?.response?.state===`running`?(u(),f(`span`,qe,` - (`+l(e.$t(`wan.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),e.modelValue?.response?.success===!0?(u(),f(`div`,Je,[e.modelValue?.response?.video_url?(u(),f(`div`,Ye,[a(_,{src:e.modelValue?.response?.video_url},null,8,[`src`])])):o(``,!0),e.modelValue?.response?.video_url?(u(),f(`div`,Xe,[a(y,{class:`box-item`,effect:`dark`,content:e.$t(`wan.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(v,{type:`info`,size:`small`,class:`mb-2`,onClick:t[0]||=h(t=>e.onDownload(e.modelValue?.response?.video_url),[`stop`])},{default:p(()=>[i(l(e.$t(`wan.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(b,{path:`/wan/videos`,body:e.modelValue?.request},null,8,[`body`])])):o(``,!0),a(C,{closable:!1,class:`mt-2 success`},{default:p(()=>[e.modelValue?.request?.model?(u(),f(`p`,Ze,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.model`))+`: `+l(e.modelValue?.request?.model)+` `,1),a(S,{content:e.modelValue?.id},null,8,[`content`])])):o(``,!0),r(`p`,Qe,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,$e,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),e.modelValue?.response?.success===!1?(u(),f(`div`,et,[a(C,{closable:!1,class:`failure`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.failure`)),1)]),default:p(()=>[r(`p`,tt,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id},null,8,[`content`])]),r(`p`,$,[a(x,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.failureReason`))+`: `+l(e.modelValue?.response?.error?.message)+` `,1),a(S,{content:e.modelValue?.response?.error?.message},null,8,[`content`])]),e.modelValue?.elapsed?(u(),f(`p`,nt,[a(x,{icon:`fa-solid fa-clock`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.elapsed`))+`: `+l(e.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),r(`p`,rt,[a(x,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.traceId`))+`: `+l(e.modelValue?.response?.trace_id)+` `,1),a(S,{content:e.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),e.modelValue?.response?.success===void 0?(u(),f(`div`,it,[a(C,{closable:!1,class:`info`},{template:p(()=>[a(x,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.failure`)),1)]),default:p(()=>[r(`p`,at,[a(x,{icon:`fa-solid fa-magic`,class:`mr-1`}),i(` `+l(e.$t(`wan.name.taskId`))+`: `+l(e.modelValue?.id)+` `,1),a(S,{content:e.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var st=s({name:`RecentPanel`,components:{TaskPreview:D(Re,[[`render`,ot],[`__scopeId`,`data-v-916b8970`]]),BotPlaceholder:z,NoTasks:W,ScrollList:V},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),ct={key:0},lt={key:2,class:`w-full h-full flex items-center justify-center`};function ut(e,t,r,i,s,l){let h=d(`bot-placeholder`),g=d(`task-preview`),_=d(`scroll-list`),v=d(`no-tasks`);return u(),f(m,null,[e.tasks?.items===void 0?(u(),f(`div`,ct,[a(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(u(),n(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(u(!0),f(m,null,c(e.tasks?.items,e=>(u(),n(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(u(),f(`div`,lt,[a(v)])):o(``,!0)],64)}var dt=D(st,[[`render`,ut]]),ft=ee(`wan`),pt=s({name:`WanIndex`,components:{ConfigPanel:Le,Layout:ne,RecentPanel:dt},mixins:[k],inject:[`initialized`],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.wan?.status?.getApplications===j.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===j.Request||this.fetchingTasks},credential(){return this.$store.state.wan.credential},config(){return this.$store.state.wan.config},application(){return this.$store.state.wan.application},tasks(){return this.$store.state.wan.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await H({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`wan/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`wan/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`wan/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!te(this.uploadTracker,e=>this.$t(e),e=>A.warning(e)))return;let e={...this.config,callback_url:ft},t=this.credential?.token;if(!t){console.error(`no token specified`);return}A.info(this.$t(`wan.message.startingTask`)),O(`wan`,P.generate(e,{token:t})).then(()=>{A.success(this.$t(`wan.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?A.error(this.$t(`wan.message.usedUp`)):A.error(this.$t(`wan.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function mt(e,t,r,i,o,s){let c=d(`config-panel`),l=d(`recent-panel`),f=d(`layout`);return u(),n(f,null,{config:p(()=>[a(c,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(l,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var ht=D(pt,[[`render`,mt]]);export{ht as default};