@acedatacloud/nexior 3.36.0 → 3.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{Auth-BP9lbJeI.js → Auth-BQS26F3O.js} +1 -1
- package/dist/assets/{BotPlaceholder-CInEMDBc.js → BotPlaceholder-CZPb4VT2.js} +1 -1
- package/dist/assets/{Callback-BIjy-gtY.js → Callback-CapEJg3z.js} +1 -1
- package/dist/assets/{Console-6tUky-J0.js → Console-Bsmrhl04.js} +1 -1
- package/dist/assets/{Consumption-BCbR6ZEO.js → Consumption-n55nrtbe.js} +1 -1
- package/dist/assets/{Conversation-rDdJVSyA.js → Conversation-Dql7WGKl.js} +1 -1
- package/dist/assets/{CopyToClipboard-Djhvl2Fk.js → CopyToClipboard-D75QaQPG.js} +1 -1
- package/dist/assets/{Detail-Co0yJXVH.js → Detail-Dj5biNIx.js} +2 -2
- package/dist/assets/{EditArray-BGybpge_.js → EditArray-DqV26uu8.js} +1 -1
- package/dist/assets/{Extra-CSmGC05b.js → Extra-4TsvJlDE.js} +1 -1
- package/dist/assets/{FilePreview-BNzbUf36.js → FilePreview-BSS1C4aY.js} +1 -1
- package/dist/assets/{History-B0U-8F9T.js → History-nEdQUbBT.js} +1 -1
- package/dist/assets/{ImagePreview-SUR7TFTL.js → ImagePreview-D0yGNrka.js} +1 -1
- package/dist/assets/{ImageWrapper-D7m66Uzp.js → ImageWrapper-Cx-G4--c.js} +1 -1
- package/dist/assets/{Index-C-6TsdhC.js → Index--32_JHeN.js} +1 -1
- package/dist/assets/{Index-Ditj1i_I.js → Index-B4b9YXnL.js} +1 -1
- package/dist/assets/{Index-sUp19C7h.js → Index-BArmhxIs.js} +1 -1
- package/dist/assets/{Index-DIbGskQz.js → Index-Bcl1l6DZ.js} +1 -1
- package/dist/assets/{Index-B5xoCX__.js → Index-BoijIQLB.js} +1 -1
- package/dist/assets/{Index-DvSICD7r.js → Index-Bovx05lL.js} +1 -1
- package/dist/assets/{Index-OBOZ0gNk.js → Index-BqIg3zh6.js} +1 -1
- package/dist/assets/{Index-CLp6MIQW.js → Index-BtgJOI4b.js} +1 -1
- package/dist/assets/{Index-Dz8Os9xl.js → Index-BvWfzA4Z.js} +1 -1
- package/dist/assets/{Index-CGhMkR7Q.js → Index-Bz9A68su.js} +1 -1
- package/dist/assets/{Index-CB1O9Y15.js → Index-C8ClevxY.js} +1 -1
- package/dist/assets/{Index-cXoD-6RA.js → Index-C8ocD906.js} +1 -1
- package/dist/assets/{Index-BWY2r3X1.js → Index-CDoRu-9Y.js} +1 -1
- package/dist/assets/{Index-BGbiVa-Y.js → Index-CG6iC2bG.js} +1 -1
- package/dist/assets/{Index-BqOMnc5W.js → Index-CRHWSpxp.js} +1 -1
- package/dist/assets/Index-CSNYpCm0.js +4 -0
- package/dist/assets/{Index-tw3XT7DO.js → Index-CTD1fCCH.js} +1 -1
- package/dist/assets/{Index-B2TA3Ri9.js → Index-CbviUx3C.js} +1 -1
- package/dist/assets/{Index-F7xvFuGm.js → Index-DDufEytC.js} +1 -1
- package/dist/assets/Index-DNrqFYl3.css +1 -0
- package/dist/assets/{Index-DaH7q9dg.js → Index-DQjJEXgJ.js} +1 -1
- package/dist/assets/{Index-DM3dFdE3.js → Index-DndByB6j.js} +1 -1
- package/dist/assets/{Index-DsAb9sPv.js → Index-Dp14Jc5E.js} +1 -1
- package/dist/assets/{Index-LPobDCmU.js → Index-L1Cc7Q5c.js} +1 -1
- package/dist/assets/{Index-BN6WLQ8-.js → Index-kRAX_hqG.js} +1 -1
- package/dist/assets/{Invitees-B6HhiNiR.js → Invitees-CpoeR8O3.js} +1 -1
- package/dist/assets/{List-pp0GRwAS.js → List-DJ5txg8q.js} +1 -1
- package/dist/assets/{List-Bdy41N41.js → List-DRhVEqVf.js} +1 -1
- package/dist/assets/{List-ClW1xhXU.js → List-xZHxVsHK.js} +1 -1
- package/dist/assets/{Main-Cd5cePch.js → Main-B3qCX8Mf.js} +1 -1
- package/dist/assets/{Navigator-B7XcI_Q3.js → Navigator-WAaqfNVv.js} +1 -1
- package/dist/assets/{NoTasks-BYOtsKOE.js → NoTasks-B2v_rSGa.js} +1 -1
- package/dist/assets/{OAuthCallback-gwIcXrf0.js → OAuthCallback-BzABfuq_.js} +1 -1
- package/dist/assets/{Pagination-B9EVrZod.js → Pagination-DC9B2iqg.js} +1 -1
- package/dist/assets/{ScrollList-Dw45lO0t.js → ScrollList-DOfTY6Mu.js} +1 -1
- package/dist/assets/{Status-B4E0LbhA.js → Status-BPlq557v.js} +1 -1
- package/dist/assets/{Subscribe-GxJ9p8MU.js → Subscribe-B8UiRjWS.js} +1 -1
- package/dist/assets/{TransportWebHID-Bw1vVfFC.js → TransportWebHID-DWJf6s9C.js} +1 -1
- package/dist/assets/{VideoPlayer-gXXZbisY.js → VideoPlayer-qGLYnQZ8.js} +1 -1
- package/dist/assets/{avatar-Ce400va_.js → avatar-Bf9p8LUG.js} +1 -1
- package/dist/assets/{bignumber-C8MaMqra.js → bignumber-LcKqrNq0.js} +1 -1
- package/dist/assets/chat-31KGdpkR.js +1 -0
- package/dist/assets/chat-5QRWcJal.js +1 -0
- package/dist/assets/chat-B_uUBJcC.js +1 -0
- package/dist/assets/chat-BgVAtUr2.js +1 -0
- package/dist/assets/chat-BnupdsJN.js +1 -0
- package/dist/assets/chat-BrVi9oZE.js +1 -0
- package/dist/assets/chat-CJvFUy-r.js +1 -0
- package/dist/assets/chat-CJxaBxSG.js +1 -0
- package/dist/assets/chat-Cs8PAKpi.js +1 -0
- package/dist/assets/chat-D5o5a9vy.js +1 -0
- package/dist/assets/chat-D663plUx.js +1 -0
- package/dist/assets/chat-D6aJ9yES.js +1 -0
- package/dist/assets/chat-DGFqT53J.js +1 -0
- package/dist/assets/chat-DfgE8GX2.js +1 -0
- package/dist/assets/chat-DsGsDTVU.js +1 -0
- package/dist/assets/chat-DspcIhhd.js +1 -0
- package/dist/assets/chat-xmUEa5R0.js +1 -0
- package/dist/assets/common--RPis4uD.js +1 -0
- package/dist/assets/common-B8BvNyfs.js +1 -0
- package/dist/assets/{common-Bty1Uj-r.js → common-CUuiVCrt.js} +1 -1
- package/dist/assets/common-Cb0kEQn2.js +1 -0
- package/dist/assets/common-CcDoK5RO.js +1 -0
- package/dist/assets/common-CuoiGAMd.js +1 -0
- package/dist/assets/common-D-Py9uWA.js +1 -0
- package/dist/assets/common-D6fUaGIJ.js +1 -0
- package/dist/assets/common-D7h23qyY.js +1 -0
- package/dist/assets/common-DVb-AGrc.js +1 -0
- package/dist/assets/common-DYlYYSbD.js +1 -0
- package/dist/assets/common-Djmhqy3P.js +1 -0
- package/dist/assets/common-DlLx_S-p.js +1 -0
- package/dist/assets/common-j-7E6E41.js +1 -0
- package/dist/assets/common-tFNuFE96.js +1 -0
- package/dist/assets/common-wi23CLzZ.js +1 -0
- package/dist/assets/common-z6suHQnB.js +1 -0
- package/dist/assets/{distribution-15g43T9Y.js → distribution-Bg73EV-9.js} +1 -1
- package/dist/assets/{index-bCCSAr1s.js → index-0wIB3gIe.js} +1 -1
- package/dist/assets/{index-DPbfNZOF.js → index-BAUJAlNA.js} +1 -1
- package/dist/assets/{index-fXvjznMr.js → index-BDozjHSQ.js} +1 -1
- package/dist/assets/{index-CdkIaG4d.js → index-BMWVFNyu.js} +24 -24
- package/dist/assets/{index-OUFJCHwB.js → index-CQ3OwFS5.js} +1 -1
- package/dist/assets/{index-D9-Jfsua.js → index-D56C8N5k.js} +1 -1
- package/dist/assets/{index-DMrAP4TW.js → index-D87jrT8-.js} +1 -1
- package/dist/assets/{index--OT7e4dB.js → index-dXNQq8PE.js} +1 -1
- package/dist/assets/{index.es-D2RJIOwI.js → index.es-DPOic4AC.js} +1 -1
- package/dist/assets/{order-D9vIzBpI.js → order-DIcZdvZC.js} +1 -1
- package/dist/assets/{price-CwH8PfMf.js → price-DpezSyhC.js} +1 -1
- package/dist/assets/{solana-wallets-CDq-Ilig.js → solana-wallets-BCY8LRzk.js} +2 -2
- package/dist/assets/{solanaEmbed.esm-2gmdLOlb.js → solanaEmbed.esm-c4mh8X3R.js} +1 -1
- package/dist/assets/{string_decoder-BLnC-ocM.js → string_decoder-CQJp0zCk.js} +1 -1
- package/dist/assets/suno-06gLGObD.js +7 -0
- package/dist/assets/suno-B-FsRt1X.js +7 -0
- package/dist/assets/suno-B1GiqT-T.js +7 -0
- package/dist/assets/suno-B3IK9MDR.js +7 -0
- package/dist/assets/suno-B9KAYimG.js +7 -0
- package/dist/assets/suno-BI8nJNC_.js +7 -0
- package/dist/assets/suno-BIOa3dsr.js +7 -0
- package/dist/assets/suno-BVCBAsqt.js +7 -0
- package/dist/assets/suno-Bo1rn7Dg.js +7 -0
- package/dist/assets/{suno-DEtbzRzi.js → suno-BwogiZiG.js} +1 -1
- package/dist/assets/suno-C91sW6Ap.js +7 -0
- package/dist/assets/suno-CZkOHm1a.js +7 -0
- package/dist/assets/{suno-BC6a0SoY.js → suno-D3UODCz4.js} +1 -1
- package/dist/assets/suno-DGJGFUIN.js +7 -0
- package/dist/assets/suno-DQlhiEem.js +7 -0
- package/dist/assets/suno-DilQRymq.js +7 -0
- package/dist/assets/suno-Gli-Hjyc.js +7 -0
- package/dist/assets/suno-rD0cce-f.js +7 -0
- package/dist/assets/{vendor-web3-CNlWJWvL.js → vendor-web3-BSCVQSlb.js} +4 -4
- package/dist/assets/veo-BTBfy1G3.js +1 -0
- package/dist/assets/veo-B_fk4-zR.js +1 -0
- package/dist/assets/veo-BcpGS6l_.js +1 -0
- package/dist/assets/veo-C94T8_Wj.js +1 -0
- package/dist/assets/veo-CAf7mKc2.js +1 -0
- package/dist/assets/veo-CAngU7eV.js +1 -0
- package/dist/assets/{veo-DxVI4WnA.js → veo-CGw62z9A.js} +1 -1
- package/dist/assets/veo-CRScauop.js +1 -0
- package/dist/assets/veo-CogLxmQf.js +1 -0
- package/dist/assets/veo-CzAgkwxE.js +1 -0
- package/dist/assets/veo-DDFdf0BJ.js +1 -0
- package/dist/assets/veo-DdPaHX2w.js +1 -0
- package/dist/assets/veo-F1TpBrxm.js +1 -0
- package/dist/assets/veo-KAWv3HhC.js +1 -0
- package/dist/assets/veo-sMp12h6q.js +1 -0
- package/dist/assets/{veo-DZkpLzN3.js → veo-wgwSek4G.js} +1 -1
- package/dist/assets/veo-zp3bEPuF.js +1 -0
- package/dist/assets/{web-Di9kk2JK.js → web-C0FQFPRB.js} +1 -1
- package/dist/assets/{web-DzpfT-sD.js → web-pVMC-WnQ.js} +1 -1
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/dist/assets/Index-Cjxg8NOx.css +0 -1
- package/dist/assets/Index-DF06Um2_.js +0 -4
- package/dist/assets/chat-80AFwtrY.js +0 -1
- package/dist/assets/chat-B0EMHVmg.js +0 -1
- package/dist/assets/chat-B1ri2YS-.js +0 -1
- package/dist/assets/chat-BEG2rE4I.js +0 -1
- package/dist/assets/chat-BXJ3jqVy.js +0 -1
- package/dist/assets/chat-BaWj6GkR.js +0 -1
- package/dist/assets/chat-Bf12ZxKk.js +0 -1
- package/dist/assets/chat-BidGEZdJ.js +0 -1
- package/dist/assets/chat-D3K6Y0Ze.js +0 -1
- package/dist/assets/chat-DXXgxmOm.js +0 -1
- package/dist/assets/chat-DXswCZ1D.js +0 -1
- package/dist/assets/chat-Dar25ncu.js +0 -1
- package/dist/assets/chat-DjKrQigG.js +0 -1
- package/dist/assets/chat-DmuJNSxr.js +0 -1
- package/dist/assets/chat-DnUQVRpG.js +0 -1
- package/dist/assets/chat-oy7Jsokj.js +0 -1
- package/dist/assets/chat-v2q-hWqX.js +0 -1
- package/dist/assets/common-5IW7PeCP.js +0 -1
- package/dist/assets/common-B8aG7Efa.js +0 -1
- package/dist/assets/common-BDh_3lNX.js +0 -1
- package/dist/assets/common-BEohz6cI.js +0 -1
- package/dist/assets/common-BFxVXE09.js +0 -1
- package/dist/assets/common-BTySlNze.js +0 -1
- package/dist/assets/common-BcnkXUqu.js +0 -1
- package/dist/assets/common-BgTIujtM.js +0 -1
- package/dist/assets/common-Bq5HdznI.js +0 -1
- package/dist/assets/common-CLoNat-F.js +0 -1
- package/dist/assets/common-CuzSNb1o.js +0 -1
- package/dist/assets/common-DNZ7FSIr.js +0 -1
- package/dist/assets/common-DZgzSeWK.js +0 -1
- package/dist/assets/common-KnJh6qYN.js +0 -1
- package/dist/assets/common-qTcriPbI.js +0 -1
- package/dist/assets/common-wHXkz5ey.js +0 -1
- package/dist/assets/suno-22kfl5ck.js +0 -7
- package/dist/assets/suno-7HaPHxZU.js +0 -7
- package/dist/assets/suno-B29yxho6.js +0 -7
- package/dist/assets/suno-BAJHVOPY.js +0 -7
- package/dist/assets/suno-BHBDnzhm.js +0 -7
- package/dist/assets/suno-BOD87qmS.js +0 -7
- package/dist/assets/suno-C-aj8gY0.js +0 -7
- package/dist/assets/suno-C1qgEZWK.js +0 -7
- package/dist/assets/suno-CqLyzrg6.js +0 -7
- package/dist/assets/suno-DD4a7suZ.js +0 -7
- package/dist/assets/suno-DDvBws7-.js +0 -7
- package/dist/assets/suno-DTJZ43lx.js +0 -7
- package/dist/assets/suno-Dn0e-NG-.js +0 -7
- package/dist/assets/suno-DrFDn-MP.js +0 -7
- package/dist/assets/suno-LKtIb9A1.js +0 -7
- package/dist/assets/suno-kgN2hSbn.js +0 -7
- package/dist/assets/veo-B3vKcF9g.js +0 -1
- package/dist/assets/veo-BWEVo4sN.js +0 -1
- package/dist/assets/veo-BZ9ijdJR.js +0 -1
- package/dist/assets/veo-BnqKyLxB.js +0 -1
- package/dist/assets/veo-BrYGMJEk.js +0 -1
- package/dist/assets/veo-CCZVdSlG.js +0 -1
- package/dist/assets/veo-CNOXWYSa.js +0 -1
- package/dist/assets/veo-Cdxre4kd.js +0 -1
- package/dist/assets/veo-CfCsfF2d.js +0 -1
- package/dist/assets/veo-DUZPY3TU.js +0 -1
- package/dist/assets/veo-DqS78-xy.js +0 -1
- package/dist/assets/veo-Dx6gi8Tw.js +0 -1
- package/dist/assets/veo-Lb3ECz4N.js +0 -1
- package/dist/assets/veo-PZ_tvW_f.js +0 -1
- package/dist/assets/veo-h4Fkhfad.js +0 -1
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{F as D}from"./index.es-D2RJIOwI.js";import{m as B,W as ve,a as Ue,k as Pe,O as ae,P as le,F as ie,G as Z,_ as ye,$ as be,E as re,u as Ee,w,t as N,q as de,a4 as ue,a5 as ce,Y as x,e as ee,j as W,Z as pe,a6 as Ie,a7 as Le,a8 as Re,M as Me,N as Fe,l as ke,I as we,R as De,X as ze,f as Ce,g as Ve,h as Se,r as Te,L as Ge,a0 as je,a9 as Be,aa as Oe}from"./vendor-element-plus-ZfFlETcH.js";import{d as T,C as u,G as s,T as o,E as se,K as i,ai as l,D as n,O as c,M as G,R as a,S as M,ag as j,J as k,Q as v,af as ne,L as H,aq as q,X as P,c as O,u as z,w as Ne,U as We}from"./vendor-vue-BhXato7y.js";import{_ as E,cj as He,ck as R,au as qe,aJ as Y,cl as te,aC as Ke,aI as Je}from"./index-CdkIaG4d.js";import{I as F,S as Qe}from"./ScrollList-Dw45lO0t.js";import{u as X,F as Ye,O as Xe,_ as me,P as Ze,a as xe,V as et}from"./IconPark.vue_vue_type_script_setup_true_lang-C7eA9UI3.js";import{C as tt}from"./Consumption-BCbR6ZEO.js";import{a as ot}from"./price-CwH8PfMf.js";import{N as st}from"./NoTasks-BYOtsKOE.js";import{l as nt}from"./pagination-DLJ2pbsx.js";import"./vendor-dayjs-CzbnksQQ.js";import"./vendor-web3-CNlWJWvL.js";import"./vendor-axios-NIGUFBhG.js";import"./vendor-vue-router-8bYQCSwj.js";const it=T({name:"LayoutSuno",components:{ElDrawer:ve,ElButton:B,FontAwesomeIcon:D},data(){return{drawer:!1,preview:!1}},computed:{}}),at={class:"main flex flex-row flex-1"},lt={class:"config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]"},rt={class:"result h-full flex flex-col flex-1 min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]"},dt={class:"preview h-full w-[300px] flex flex-col"};function ut(e,t,d,r,m,y){const $=l("font-awesome-icon"),p=l("el-button"),f=l("el-drawer");return n(),u("div",at,[s("div",lt,[se(e.$slots,"config",{},void 0,!0)]),s("div",rt,[se(e.$slots,"result",{},void 0,!0)]),s("div",dt,[se(e.$slots,"preview",{},void 0,!0)]),o(p,{circle:"",class:"menu",onClick:t[0]||(t[0]=b=>e.drawer=!0)},{default:i(()=>[o($,{icon:"fa-solid fa-magic"})]),_:1}),o(f,{modelValue:e.drawer,"onUpdate:modelValue":t[1]||(t[1]=b=>e.drawer=b),direction:"ltr","with-header":!1,size:"340px",class:"drawer"},{default:i(()=>[se(e.$slots,"config",{},void 0,!0)]),_:3},8,["modelValue"])])}const ct=E(it,[["render",ut],["__scopeId","data-v-c6c85757"]]),pt=T({name:"TypeSelector",components:{ElSelect:le,ElOption:ae,ElSwitch:Pe,ElTag:Ue},data(){return{options:[{label:"v5.5",value:"chirp-v5-5",desc:this.$t("suno.model.v55desc"),pro:!0},{label:"v5",value:"chirp-v5",desc:this.$t("suno.model.v5desc"),pro:!0},{label:"v4.5+",value:"chirp-v4-5-plus",desc:this.$t("suno.model.v45plusdesc"),pro:!0},{label:"v4.5",value:"chirp-v4-5",desc:this.$t("suno.model.v45desc"),pro:!0,dividerAfter:!0},{label:"v4",value:"chirp-v4",desc:this.$t("suno.model.v4desc")},{label:"v3.5",value:"chirp-v3-5",desc:this.$t("suno.model.v35desc")},{label:"v3",value:"chirp-v3-0",desc:this.$t("suno.model.v3desc")}]}},computed:{custom:{get(){return this.$store.state.suno?.config?.custom||!1},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,custom:e})}},instrumental:{get(){return this.$store.state.suno?.config?.instrumental||!1},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,instrumental:e})}},model:{get(){return this.$store.state.suno?.config?.model},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,model:e})}}},mounted(){this.model||(this.model=He)}}),mt={class:"mode-tabs mb-3"},ft={class:"mb-3"},ht={class:"flex items-center mb-1"},gt={class:"text-sm font-bold"},$t={class:"model-option"},_t={class:"model-option-left"},vt={class:"model-option-name"},yt={class:"model-option-desc"},bt={key:0,class:"flex items-center justify-between mb-3"},kt={class:"text-sm font-bold"};function wt(e,t,d,r,m,y){const $=l("el-tag"),p=l("el-option"),f=l("el-select"),b=l("el-switch");return n(),u("div",null,[s("div",mt,[s("button",{class:G(["mode-tab",{active:!e.custom}]),onClick:t[0]||(t[0]=g=>e.custom=!1)},a(e.$t("suno.mode.simple")),3),s("button",{class:G(["mode-tab",{active:e.custom}]),onClick:t[1]||(t[1]=g=>e.custom=!0)},a(e.$t("suno.mode.custom")),3)]),s("div",ft,[s("div",ht,[s("span",gt,a(e.$t("suno.name.model")),1)]),o(f,{modelValue:e.model,"onUpdate:modelValue":t[2]||(t[2]=g=>e.model=g),class:"w-full model-select",size:"default",placeholder:e.$t("suno.placeholder.select")},{default:i(()=>[(n(!0),u(M,null,j(e.options,g=>(n(),k(p,{key:g.value,label:g.label,value:g.value,class:G({"model-option-divider":g.dividerAfter})},{default:i(()=>[s("div",$t,[s("div",_t,[s("span",vt,a(g.label),1),g.pro?(n(),k($,{key:0,size:"small",type:"warning",effect:"plain",class:"model-option-pro"},{default:i(()=>t[4]||(t[4]=[v("Pro",-1)])),_:1,__:[4]})):c("",!0)]),s("span",yt,a(g.desc),1)])]),_:2},1032,["label","value","class"]))),128))]),_:1},8,["modelValue","placeholder"])]),e.custom?(n(),u("div",bt,[s("span",kt,a(e.$t("suno.name.instrumental")),1),o(b,{modelValue:e.instrumental,"onUpdate:modelValue":t[3]||(t[3]=g=>e.instrumental=g)},null,8,["modelValue"])])):c("",!0)])}const Ct=E(pt,[["render",wt],["__scopeId","data-v-a6ada414"]]),Vt=T({name:"UploadAudio",components:{ElUpload:Ee,ElButton:B,ElDialog:re,ElTabs:be,ElTabPane:ye,InfoIcon:F,FontAwesomeIcon:D,ElRadioGroup:Z,ElRadioButton:ie},emits:["change"],data(){return{fileList:[],uploadUrl:qe()+"/api/v1/files/",dialogVisible:!1,activeTab:"browse",recording:!1,recordedBlob:null,recordedAudioUrl:null,audioPreviewUrl:null,recordTimer:null,recordSeconds:0,mediaRecorder:null,mediaStream:null,recordedChunks:[],uploadingRecord:!1}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},credential(){return this.$store.state.suno.credential},config(){return this.$store.state.suno.config},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.suno?.config?.audio_id},set(){}},hasUploadedAudio(){const e=this.$store.state.suno?.config?.action;return e==="upload_extend"||e==="upload_cover"},uploadAction:{get(){return this.$store.state.suno?.config?.action||"upload_extend"},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,action:e})}},formattedTime(){const e=Math.floor(this.recordSeconds/60).toString().padStart(2,"0"),t=(this.recordSeconds%60).toString().padStart(2,"0");return`${e}:${t}`}},watch:{urls:{handler(e){this.$emit("change",e)}}},beforeUnmount(){this.cleanupRecording()},methods:{onExceed(){w.warning(this.$t("suno.message.uploadReferencesExceed"))},onError(){w.error(this.$t("suno.message.uploadReferencesError"))},async onBrowseSuccess(){const e=this.urls?.[0];e&&(this.audioPreviewUrl=e,await this.onGenerateAudioId(e),this.dialogVisible=!1)},async onGenerateAudioId(e){const t={audio_url:e},d=this.credential?.token;if(!d){console.error("no token specified");return}w.info(this.$t("suno.message.startingUploadAudio"));try{const r=await R.upload(t,{token:d});console.debug("get upload music success",r.data);const m=r.data?.data.audio_id;this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,audio_id:m,action:"upload_extend"}),w.success(this.$t("suno.message.startUploadAudioSuccess"))}catch(r){w.error(r?.response?.data?.error?.message||this.$t("suno.message.startUploadAudioFailed"))}},async startRecording(){if(!navigator.mediaDevices?.getUserMedia||typeof MediaRecorder>"u"){w.error(this.$t("suno.message.recordingUnsupported"));return}try{this.mediaStream=await navigator.mediaDevices.getUserMedia({audio:!0}),this.recordedChunks=[],this.mediaRecorder=new MediaRecorder(this.mediaStream),this.mediaRecorder.ondataavailable=e=>{e.data&&e.data.size>0&&this.recordedChunks.push(e.data)},this.mediaRecorder.onstop=()=>{const e=new Blob(this.recordedChunks,{type:"audio/webm"});this.recordedBlob=e,this.recordedAudioUrl&&URL.revokeObjectURL(this.recordedAudioUrl),this.recordedAudioUrl=URL.createObjectURL(e),this.releaseStream()},this.mediaRecorder.start(),this.recording=!0,this.recordSeconds=0,this.recordTimer=window.setInterval(()=>{this.recordSeconds+=1,this.recordSeconds>=600&&this.stopRecording()},1e3)}catch(e){console.error("record error",e),w.error(this.$t("suno.message.recordingPermissionDenied"))}},stopRecording(){this.recordTimer&&(window.clearInterval(this.recordTimer),this.recordTimer=null),this.mediaRecorder&&this.mediaRecorder.state!=="inactive"&&this.mediaRecorder.stop(),this.recording=!1},resetRecording(){this.recordedAudioUrl&&URL.revokeObjectURL(this.recordedAudioUrl),this.recordedBlob=null,this.recordedAudioUrl=null,this.recordSeconds=0},async uploadRecording(){if(this.recordedBlob){this.uploadingRecord=!0;try{const e=new FormData,t=`recording-${Date.now()}.webm`;e.append("file",this.recordedBlob,t);const d=await fetch(this.uploadUrl,{method:"POST",headers:{Authorization:`Bearer ${this.$store.state.token.access}`},body:e});if(!d.ok)throw new Error(`upload failed: ${d.status}`);const r=await d.json(),m=r?.file_url||r?.data?.file_url;if(!m)throw new Error("no file_url in response");this.audioPreviewUrl=m,await this.onGenerateAudioId(m),this.dialogVisible=!1,this.resetRecording()}catch(e){console.error(e),w.error(e?.message||this.$t("suno.message.uploadReferencesError"))}finally{this.uploadingRecord=!1}}},releaseStream(){this.mediaStream&&(this.mediaStream.getTracks().forEach(e=>e.stop()),this.mediaStream=null)},cleanupRecording(){this.recordTimer&&(window.clearInterval(this.recordTimer),this.recordTimer=null),this.releaseStream(),this.recordedAudioUrl&&(URL.revokeObjectURL(this.recordedAudioUrl),this.recordedAudioUrl=null)}}}),St={class:"relative"},Tt={class:"flex justify-between items-center mb-2"},At={class:"flex justify-start items-center"},Ut={class:"text-sm font-bold"},Pt={key:0,class:"mb-2"},Et=["src"],It={key:1,class:"mt-2"},Lt={class:"py-4"},Rt={class:"text-center py-6"},Mt={class:"text-sm"},Ft={class:"text-xs text-gray-400 mt-1"},Dt={class:"py-4 text-center"},zt={class:"recorder-display mb-4"},Gt={key:0,class:"text-red-500 flex items-center justify-center gap-2"},jt={class:"text-2xl font-mono"},Bt={key:1,class:"text-green-600"},Ot={key:2,class:"text-gray-400 text-2xl font-mono"},Nt={key:0,class:"mb-4"},Wt=["src"],Ht={class:"flex justify-center gap-3"};function qt(e,t,d,r,m,y){const $=l("info-icon"),p=l("font-awesome-icon"),f=l("el-button"),b=l("el-radio-button"),g=l("el-radio-group"),A=l("el-upload"),_=l("el-tab-pane"),V=l("el-tabs"),C=l("el-dialog");return n(),u("div",St,[s("div",Tt,[s("div",At,[s("span",Ut,a(e.$t("suno.name.referenceAudios")),1),o($,{content:e.$t("suno.description.uploadAudios")},null,8,["content"])]),o(f,{round:"",type:"primary",size:"small",onClick:t[0]||(t[0]=I=>e.dialogVisible=!0)},{default:i(()=>[o(p,{icon:"fa-solid fa-plus",class:"icon mr-1"}),v(" "+a(e.$t("suno.button.addAudio")),1)]),_:1})]),e.audioPreviewUrl?(n(),u("div",Pt,[s("audio",{src:e.audioPreviewUrl,controls:"",class:"w-full"},null,8,Et)])):c("",!0),e.hasUploadedAudio?(n(),u("div",It,[o(g,{modelValue:e.uploadAction,"onUpdate:modelValue":t[1]||(t[1]=I=>e.uploadAction=I),size:"small"},{default:i(()=>[o(b,{value:"upload_extend"},{default:i(()=>[v(a(e.$t("suno.button.extend")),1)]),_:1}),o(b,{value:"upload_cover"},{default:i(()=>[v(a(e.$t("suno.button.upload_cover")),1)]),_:1})]),_:1},8,["modelValue"])])):c("",!0),o(C,{modelValue:e.dialogVisible,"onUpdate:modelValue":t[4]||(t[4]=I=>e.dialogVisible=I),title:e.$t("suno.name.addAudio"),width:"520px","close-on-click-modal":!1,"append-to-body":""},{default:i(()=>[o(V,{modelValue:e.activeTab,"onUpdate:modelValue":t[3]||(t[3]=I=>e.activeTab=I),class:"add-audio-tabs"},{default:i(()=>[o(_,{name:"browse",label:e.$t("suno.tab.browse")},{default:i(()=>[s("div",Lt,[o(A,{"file-list":e.fileList,"onUpdate:fileList":t[2]||(t[2]=I=>e.fileList=I),name:"file",limit:1,class:"upload-wrapper",action:e.uploadUrl,accept:".mp3,.wav,.m4a,audio/*","show-file-list":!0,"on-exceed":e.onExceed,"on-error":e.onError,"on-success":e.onBrowseSuccess,headers:e.headers,drag:""},{default:i(()=>[s("div",Rt,[o(p,{icon:"fa-solid fa-upload",class:"text-4xl text-gray-400 mb-3"}),s("div",Mt,a(e.$t("suno.description.dropAudioHere")),1),s("div",Ft,a(e.$t("suno.description.audioFormats")),1)])]),_:1},8,["file-list","action","on-exceed","on-error","on-success","headers"])])]),_:1},8,["label"]),o(_,{name:"record",label:e.$t("suno.tab.record")},{default:i(()=>[s("div",Dt,[s("div",zt,[e.recording?(n(),u("div",Gt,[t[5]||(t[5]=s("span",{class:"recording-dot"},null,-1)),s("span",jt,a(e.formattedTime),1)])):e.recordedBlob?(n(),u("div",Bt,[o(p,{icon:"fa-solid fa-check-circle",class:"text-2xl mr-2"}),s("span",null,a(e.$t("suno.message.recordingReady"))+" ("+a(e.formattedTime)+")",1)])):(n(),u("div",Ot,"00:00"))]),e.recordedAudioUrl&&!e.recording?(n(),u("div",Nt,[s("audio",{src:e.recordedAudioUrl,controls:"",class:"w-full"},null,8,Wt)])):c("",!0),s("div",Ht,[!e.recording&&!e.recordedBlob?(n(),k(f,{key:0,type:"primary",round:"",onClick:e.startRecording},{default:i(()=>[o(p,{icon:"fa-solid fa-microphone",class:"mr-1"}),v(" "+a(e.$t("suno.button.startRecord")),1)]),_:1},8,["onClick"])):c("",!0),e.recording?(n(),k(f,{key:1,type:"danger",round:"",onClick:e.stopRecording},{default:i(()=>[o(p,{icon:"fa-solid fa-stop",class:"mr-1"}),v(" "+a(e.$t("suno.button.stopRecord")),1)]),_:1},8,["onClick"])):c("",!0),e.recordedBlob&&!e.recording?(n(),u(M,{key:2},[o(f,{round:"",onClick:e.resetRecording},{default:i(()=>[o(p,{icon:"fa-solid fa-rotate-left",class:"mr-1"}),v(" "+a(e.$t("suno.button.reRecord")),1)]),_:1},8,["onClick"]),o(f,{type:"primary",round:"",loading:e.uploadingRecord,onClick:e.uploadRecording},{default:i(()=>[o(p,{icon:"fa-solid fa-upload",class:"mr-1"}),v(" "+a(e.$t("suno.button.useRecording")),1)]),_:1},8,["loading","onClick"])],64)):c("",!0)])])]),_:1},8,["label"])]),_:1},8,["modelValue"])]),_:1},8,["modelValue","title"])])}const Kt=E(Vt,[["render",qt],["__scopeId","data-v-bfb6b53d"]]),Jt="",fe=[{key:"lofi",label:"🎧 Lo-fi Chill",prompt:"a relaxing lo-fi hip hop beat for studying"},{key:"pop-love",label:"💕 Pop Love Song",prompt:"a catchy pop love song with sweet melodies"},{key:"rock-anthem",label:"🎸 Rock Anthem",prompt:"an energetic rock anthem with electric guitars"},{key:"jazz-night",label:"🎷 Jazz Night",prompt:"a smooth late-night jazz piece with saxophone"},{key:"edm-drop",label:"⚡ EDM Drop",prompt:"an intense EDM track with a massive drop"},{key:"folk-story",label:"🪕 Folk Story",prompt:"a warm folk song telling a story about traveling"},{key:"rnb-groove",label:"🎤 R&B Groove",prompt:"a smooth R&B groove with soulful vocals"},{key:"classical",label:"🎻 Classical",prompt:"an elegant classical piece for orchestra"},{key:"hip-hop",label:"🎤 Hip Hop",prompt:"a hard-hitting hip hop beat with bass"},{key:"country",label:"🤠 Country",prompt:"an upbeat country song with acoustic guitar and banjo"},{key:"reggae",label:"🌴 Reggae",prompt:"a laid-back reggae tune with island vibes"},{key:"latin",label:"💃 Latin",prompt:"a vibrant Latin dance track with percussion"},{key:"ambient",label:"🌊 Ambient",prompt:"a dreamy ambient soundscape for relaxation"},{key:"metal",label:"🤘 Metal",prompt:"a powerful metal song with heavy riffs and double bass drums"},{key:"soul",label:"🎵 Soul",prompt:"a heartfelt soul ballad with gospel harmonies"},{key:"synthwave",label:"🌃 Synthwave",prompt:"a retro synthwave track with 80s vibes"},{key:"kpop",label:"🇰🇷 K-Pop",prompt:"a catchy K-pop dance track with hook"},{key:"lullaby",label:"🌙 Lullaby",prompt:"a gentle lullaby for bedtime with soft piano"},{key:"cinematic",label:"🎬 Cinematic",prompt:"an epic cinematic orchestral score for a movie trailer"},{key:"blues",label:"🎸 Blues",prompt:"a soulful blues song with electric guitar bends"},{key:"disco",label:"🕺 Disco",prompt:"a funky disco track with groovy bassline"},{key:"punk",label:"🔥 Punk Rock",prompt:"a fast punk rock song with raw energy"},{key:"gospel",label:"⛪ Gospel",prompt:"an uplifting gospel choir song with piano"},{key:"trap",label:"🔊 Trap",prompt:"a dark trap beat with 808s and hi-hats"},{key:"bossa",label:"☕ Bossa Nova",prompt:"a gentle bossa nova with nylon guitar"},{key:"indie",label:"🎶 Indie",prompt:"a dreamy indie track with ethereal vocals"},{key:"cpop",label:"🇨🇳 C-Pop",prompt:"a beautiful Chinese pop ballad with emotional vocals"},{key:"jpop",label:"🇯🇵 J-Pop",prompt:"a cheerful J-pop song with anime vibes"},{key:"afrobeat",label:"🥁 Afrobeat",prompt:"a groovy Afrobeat track with layered percussion"},{key:"game",label:"🎮 Game BGM",prompt:"an adventurous video game background music"}],Qt=8;function he(e){const t=[...e];for(let d=t.length-1;d>0;d--){const r=Math.floor(Math.random()*(d+1));[t[d],t[r]]=[t[r],t[d]]}return t}const Yt=T({name:"PromptInput",components:{ElInput:N,FontAwesomeIcon:D,InfoIcon:F},data(){return{shuffledTags:he(fe)}},computed:{prompt:{get(){return this.$store.state.suno?.config?.prompt},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,prompt:e})}},visibleTags(){return this.shuffledTags.slice(0,Qt)}},mounted(){this.prompt||(this.prompt=Jt)},methods:{onTagClick(e){this.prompt=e.prompt},onRefreshTags(){this.shuffledTags=he(fe)}}}),Xt={class:"field"},Zt={class:"flex items-center mb-1"},xt={class:"text-sm font-bold"},eo={class:"inspo-tags"},to=["onClick"];function oo(e,t,d,r,m,y){const $=l("info-icon"),p=l("el-input"),f=l("font-awesome-icon");return n(),u("div",Xt,[s("div",Zt,[s("span",xt,a(e.$t("suno.name.songDescription")),1),o($,{content:e.$t("suno.description.prompt")},null,8,["content"])]),o(p,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||(t[0]=b=>e.prompt=b),rows:4,type:"textarea",placeholder:e.$t("suno.placeholder.prompt")},null,8,["modelValue","placeholder"]),s("div",eo,[(n(!0),u(M,null,j(e.visibleTags,b=>(n(),u("button",{key:b.key,class:"inspo-tag",onClick:g=>e.onTagClick(b)},a(b.label),9,to))),128)),s("button",{class:"inspo-tag inspo-tag-refresh",onClick:t[1]||(t[1]=(...b)=>e.onRefreshTags&&e.onRefreshTags(...b))},[o(f,{icon:"fa-solid fa-arrows-rotate"})])])])}const so=E(Yt,[["render",oo],["__scopeId","data-v-378e4372"]]),no="",io=T({name:"LyricInput",components:{ElInput:N,ElButton:B,ElTooltip:de,ElDialog:re,FontAwesomeIcon:D,InfoIcon:F},data(){return{generatingLyrics:!1,enhancingLyrics:!1,enhancePrompt:"",lyricHistory:[],expanded:!1}},computed:{lyric:{get(){return this.$store.state.suno?.config?.lyric},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,lyric:e})}},config(){return this.$store.state.suno?.config},credential(){return this.$store.state.suno?.credential}},mounted(){this.lyric||(this.lyric=no)},methods:{pushHistory(){this.lyric&&(this.lyricHistory.push(this.lyric),this.lyricHistory.length>20&&this.lyricHistory.shift())},onUndo(){const e=this.lyricHistory.pop();e!==void 0&&(this.lyric=e)},onClear(){this.pushHistory(),this.lyric=""},async onEnhanceLyrics(){const e=this.credential?.token;if(!(!e||!this.lyric||!this.enhancePrompt)){this.pushHistory(),this.enhancingLyrics=!0,w.info(this.$t("suno.message.enhancingLyrics"));try{const t=`${this.enhancePrompt}
|
|
2
|
-
|
|
3
|
-
Original lyrics:
|
|
4
|
-
${this.lyric}`,r=(await R.lyric({prompt:t},{token:e})).data?.data;r?.text&&(this.lyric=r.text,this.enhancePrompt="",w.success(this.$t("suno.message.enhanceLyricsSuccess")))}catch{w.error(this.$t("suno.message.enhanceLyricsFailed"))}finally{this.enhancingLyrics=!1}}},async onGenerateLyrics(){const e=this.credential?.token;if(!e)return;this.pushHistory();const t=this.config?.style||this.config?.title||"a beautiful song";this.generatingLyrics=!0,w.info(this.$t("suno.message.generatingLyrics"));try{const r=(await R.lyric({prompt:t},{token:e})).data?.data;r?.text&&(this.lyric=r.text,r?.title&&!this.config?.title&&this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,lyric:r.text,title:r.title}),w.success(this.$t("suno.message.generateLyricsSuccess")))}catch{w.error(this.$t("suno.message.generateLyricsFailed"))}finally{this.generatingLyrics=!1}}}}),ao={class:"field"},lo={class:"flex items-center justify-between mb-1"},ro={class:"flex items-center"},uo={class:"text-sm font-bold"},co={class:"flex items-center gap-1"},po={class:"relative"},mo={class:"text-xs text-right text-[var(--el-text-color-secondary)] mt-1"},fo={key:0,class:"enhance-bar"},ho={key:0,class:"enhance-bar mt-3"},go={class:"flex items-center justify-between"},$o={class:"flex items-center gap-1"};function _o(e,t,d,r,m,y){const $=l("info-icon"),p=l("font-awesome-icon"),f=l("el-button"),b=l("el-tooltip"),g=l("el-input"),A=l("el-dialog");return n(),u("div",ao,[s("div",lo,[s("div",ro,[s("span",uo,a(e.$t("suno.name.lyrics")),1),o($,{content:e.$t("suno.description.lyrics")},null,8,["content"])]),s("div",co,[e.lyricHistory.length>0?(n(),k(b,{key:0,content:e.$t("suno.button.undo"),placement:"top"},{default:i(()=>[o(f,{size:"small",circle:"",onClick:e.onUndo},{default:i(()=>[o(p,{icon:"fa-solid fa-rotate-left"})]),_:1},8,["onClick"])]),_:1},8,["content"])):c("",!0),e.lyric?(n(),k(b,{key:1,content:e.$t("suno.button.clear_lyrics"),placement:"top"},{default:i(()=>[o(f,{size:"small",circle:"",onClick:e.onClear},{default:i(()=>[o(p,{icon:"fa-solid fa-eraser"})]),_:1},8,["onClick"])]),_:1},8,["content"])):c("",!0),o(b,{content:e.$t("suno.button.expand_lyrics"),placement:"top"},{default:i(()=>[o(f,{size:"small",circle:"",onClick:t[0]||(t[0]=_=>e.expanded=!0)},{default:i(()=>[o(p,{icon:"fa-solid fa-expand"})]),_:1})]),_:1},8,["content"]),e.config?.action!=="extend"?(n(),k(f,{key:2,size:"small",loading:e.generatingLyrics,round:"",onClick:e.onGenerateLyrics},{default:i(()=>[e.generatingLyrics?c("",!0):(n(),k(p,{key:0,icon:"fa-solid fa-wand-magic-sparkles",class:"mr-1"})),v(" "+a(e.$t("suno.button.generate_lyrics")),1)]),_:1},8,["loading","onClick"])):c("",!0)])]),s("div",po,[e.config?.action!=="extend"?(n(),k(g,{key:0,modelValue:e.lyric,"onUpdate:modelValue":t[1]||(t[1]=_=>e.lyric=_),rows:5,type:"textarea",class:"lyrics",placeholder:e.$t("suno.placeholder.lyrics")},null,8,["modelValue","placeholder"])):(n(),k(g,{key:1,modelValue:e.lyric,"onUpdate:modelValue":t[2]||(t[2]=_=>e.lyric=_),rows:5,type:"textarea",class:"lyrics",placeholder:e.$t("suno.placeholder.extend.lyrics")},null,8,["modelValue","placeholder"])),s("div",mo,a(e.lyric?.length||0)+"/5000",1)]),e.lyric&&e.config?.action!=="extend"?(n(),u("div",fo,[o(g,{modelValue:e.enhancePrompt,"onUpdate:modelValue":t[3]||(t[3]=_=>e.enhancePrompt=_),size:"small",placeholder:e.$t("suno.placeholder.enhanceLyrics"),class:"enhance-input",onKeyup:ne(e.onEnhanceLyrics,["enter"])},{append:i(()=>[o(f,{loading:e.enhancingLyrics,onClick:e.onEnhanceLyrics},{default:i(()=>[e.enhancingLyrics?c("",!0):(n(),k(p,{key:0,icon:"fa-solid fa-wand-magic-sparkles",class:"mr-1"})),v(" "+a(e.$t("suno.button.enhance_lyrics")),1)]),_:1},8,["loading","onClick"])]),_:1},8,["modelValue","placeholder","onKeyup"])])):c("",!0),o(A,{modelValue:e.expanded,"onUpdate:modelValue":t[7]||(t[7]=_=>e.expanded=_),title:e.$t("suno.name.lyrics"),width:"720px",top:"5vh","close-on-click-modal":!1,class:"lyrics-expand-dialog"},{footer:i(()=>[s("div",go,[s("div",$o,[e.lyricHistory.length>0?(n(),k(f,{key:0,size:"small",onClick:e.onUndo},{default:i(()=>[o(p,{icon:"fa-solid fa-rotate-left",class:"mr-1"}),v(" "+a(e.$t("suno.button.undo")),1)]),_:1},8,["onClick"])):c("",!0),e.lyric?(n(),k(f,{key:1,size:"small",onClick:e.onClear},{default:i(()=>[o(p,{icon:"fa-solid fa-eraser",class:"mr-1"}),v(" "+a(e.$t("suno.button.clear_lyrics")),1)]),_:1},8,["onClick"])):c("",!0),e.config?.action!=="extend"?(n(),k(f,{key:2,size:"small",loading:e.generatingLyrics,onClick:e.onGenerateLyrics},{default:i(()=>[e.generatingLyrics?c("",!0):(n(),k(p,{key:0,icon:"fa-solid fa-wand-magic-sparkles",class:"mr-1"})),v(" "+a(e.$t("suno.button.generate_lyrics")),1)]),_:1},8,["loading","onClick"])):c("",!0)]),o(f,{type:"primary",onClick:t[6]||(t[6]=_=>e.expanded=!1)},{default:i(()=>[v(a(e.$t("common.button.confirm")),1)]),_:1})])]),default:i(()=>[o(g,{modelValue:e.lyric,"onUpdate:modelValue":t[4]||(t[4]=_=>e.lyric=_),type:"textarea",rows:20,class:"lyrics-expanded",placeholder:e.$t("suno.placeholder.lyrics"),autofocus:""},null,8,["modelValue","placeholder"]),e.config?.action!=="extend"?(n(),u("div",ho,[o(g,{modelValue:e.enhancePrompt,"onUpdate:modelValue":t[5]||(t[5]=_=>e.enhancePrompt=_),size:"small",placeholder:e.$t("suno.placeholder.enhanceLyrics"),class:"enhance-input",onKeyup:ne(e.onEnhanceLyrics,["enter"])},{append:i(()=>[o(f,{loading:e.enhancingLyrics,onClick:e.onEnhanceLyrics},{default:i(()=>[e.enhancingLyrics?c("",!0):(n(),k(p,{key:0,icon:"fa-solid fa-wand-magic-sparkles",class:"mr-1"})),v(" "+a(e.$t("suno.button.enhance_lyrics")),1)]),_:1},8,["loading","onClick"])]),_:1},8,["modelValue","placeholder","onKeyup"])])):c("",!0)]),_:1},8,["modelValue","title"])])}const vo=E(io,[["render",_o],["__scopeId","data-v-2b97a493"]]),ge=["Pop","Rock","Jazz","R&B","Hip Hop","Lo-fi","Electronic","Classical","Country","Blues","Folk","Reggae","Metal","Punk","Soul","Funk","Ambient","Indie","Latin","Acoustic","Dance","Disco","Gospel","K-Pop","J-Pop","C-Pop","Bossa Nova","Trap","Drill","House","Techno","Dubstep","Synthwave","Chill","Dreamy","Upbeat","Melancholic","Romantic","Epic","Cinematic","Orchestral","Piano","Guitar","Saxophone","Violin","Tribal","World Music","Afrobeat","Ska","Grunge"],yo=12;function $e(e){const t=[...e];for(let d=t.length-1;d>0;d--){const r=Math.floor(Math.random()*(d+1));[t[d],t[r]]=[t[r],t[d]]}return t}const bo=T({name:"StyleInput",components:{ElInput:N,ElButton:B,FontAwesomeIcon:D,InfoIcon:F},data(){return{optimizing:!1,shuffledTags:$e(ge)}},computed:{style:{get(){return this.$store.state.suno?.config?.style},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,style:e})}},credential(){return this.$store.state.suno?.credential},visibleTags(){return this.shuffledTags.slice(0,yo)}},methods:{onTagClick(e){const t=this.style||"";t.toLowerCase().includes(e.toLowerCase())||(this.style=t?`${t}, ${e}`:e)},onRefreshTags(){this.shuffledTags=$e(ge)},async onOptimizeStyle(){const e=this.credential?.token;if(!(!e||!this.style)){this.optimizing=!0,w.info(this.$t("suno.message.optimizingStyle"));try{const t=await R.style({prompt:this.style},{token:e}),d=t.data?.text||t.data?.data?.text;d&&(this.style=d,w.success(this.$t("suno.message.optimizeStyleSuccess")))}catch{w.error(this.$t("suno.message.optimizeStyleFailed"))}finally{this.optimizing=!1}}}}}),ko={class:"field"},wo={class:"flex items-center justify-between mb-1"},Co={class:"flex items-center"},Vo={class:"text-sm font-bold"},So={class:"relative"},To={class:"text-xs text-right text-[var(--el-text-color-secondary)] mt-1"},Ao={class:"style-tags"},Uo=["onClick"];function Po(e,t,d,r,m,y){const $=l("info-icon"),p=l("font-awesome-icon"),f=l("el-button"),b=l("el-input");return n(),u("div",ko,[s("div",wo,[s("div",Co,[s("span",Vo,a(e.$t("suno.name.style")),1),o($,{content:e.$t("suno.description.style")},null,8,["content"])]),o(f,{size:"small",loading:e.optimizing,round:"",onClick:e.onOptimizeStyle},{default:i(()=>[e.optimizing?c("",!0):(n(),k(p,{key:0,icon:"fa-solid fa-wand-magic-sparkles",class:"mr-1"})),v(" "+a(e.$t("suno.button.optimize_style")),1)]),_:1},8,["loading","onClick"])]),s("div",So,[o(b,{modelValue:e.style,"onUpdate:modelValue":t[0]||(t[0]=g=>e.style=g),rows:2,type:"textarea",placeholder:e.$t("suno.placeholder.style")},null,8,["modelValue","placeholder"]),s("div",To,a(e.style?.length||0)+"/1000",1)]),s("div",Ao,[(n(!0),u(M,null,j(e.visibleTags,g=>(n(),u("button",{key:g,class:"style-tag",onClick:A=>e.onTagClick(g)},a(g),9,Uo))),128)),s("button",{class:"style-tag style-tag-refresh",onClick:t[1]||(t[1]=(...g)=>e.onRefreshTags&&e.onRefreshTags(...g))},[o(p,{icon:"fa-solid fa-arrows-rotate"})])])])}const Eo=E(bo,[["render",Po],["__scopeId","data-v-ddebb076"]]),Io=T({name:"TitleInput",components:{ElInput:N,InfoIcon:F},computed:{title:{get(){return this.$store.state.suno?.config?.title},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,title:e})}}}}),Lo={class:"field"},Ro={class:"flex items-center mb-1"},Mo={class:"text-sm font-bold"};function Fo(e,t,d,r,m,y){const $=l("info-icon"),p=l("el-input");return n(),u("div",Lo,[s("div",Ro,[s("span",Mo,a(e.$t("suno.name.title")),1),o($,{content:e.$t("suno.description.title")},null,8,["content"])]),o(p,{modelValue:e.title,"onUpdate:modelValue":t[0]||(t[0]=f=>e.title=f),placeholder:e.$t("suno.placeholder.title")},null,8,["modelValue","placeholder"])])}const Do=E(Io,[["render",Fo]]),zo=T({name:"ExtendFromInput",components:{ElImage:W,ElIcon:ee,ElInputNumber:x,VideoPlay:ce,VideoPause:ue},data(){return{}},computed:{audio(){return this.$store.state.suno?.config?.audio},value:{get(){return this.$store.state.suno?.config?.continue_at},set(e){console.debug("set continue_at",e),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,continue_at:e?parseInt(e):void 0})}}},mounted(){this.value||(this.value=void 0)},methods:{handleChange(e){if(e===void 0){this.value=void 0;return}e<0?this.value=0:e>this.audio?.duration?this.value=this.audio?.duration:this.value=e},useFormatDuring:X,onPlay(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.suno?.audio?.id!==e.id&&this.onPlay({...e,progress:0})}}}),Go={class:"field"},jo={class:"box"},Bo={class:"title font-bold"},Oo={class:"input-wrapper"},No={class:"task"},Wo={class:"left"},Ho={key:2,class:"duration"},qo={class:"info"},Ko={class:"title"},Jo={class:"style"};function Qo(e,t,d,r,m,y){const $=l("el-input-number"),p=l("el-image"),f=l("video-pause"),b=l("el-icon"),g=l("video-play"),A=q("loading");return n(),u("div",Go,[s("div",jo,[s("h2",Bo,a(e.$t("suno.name.extend")),1),s("div",Oo,[o($,{modelValue:e.value,"onUpdate:modelValue":t[0]||(t[0]=_=>e.value=_),class:"value",min:0,max:e.audio?.duration,controls:!1,placeholder:e.$t("suno.placeholder.extend.continue_at"),onChange:e.handleChange},null,8,["modelValue","max","placeholder","onChange"])])]),s("div",No,[e.audio?(n(),u("div",{key:0,class:"audio",onClick:t[3]||(t[3]=_=>e.onClick(e.audio))},[H((n(),u("div",Wo,[o(p,{src:e.audio?.image_url,class:"cover",fit:"cover"},null,8,["src"]),e.audio?.audio_url&&e.$store.state?.suno?.audio?.id===e.audio.id&&e.$store.state?.suno?.audio?.state==="playing"?(n(),u("div",{key:0,class:"overlay",onClick:t[1]||(t[1]=_=>e.onPause(e.audio))},[o(b,null,{default:i(()=>[o(f)]),_:1})])):c("",!0),e.audio?.audio_url&&(e.$store.state?.suno?.audio?.id!==e.audio.id||e.$store.state?.suno?.audio?.id===e.audio.id&&e.$store.state?.suno?.audio?.state==="paused")?(n(),u("div",{key:1,class:"overlay",onClick:t[2]||(t[2]=_=>e.onPlay(e.audio))},[o(b,null,{default:i(()=>[o(g)]),_:1})])):c("",!0),e.audio?.duration?(n(),u("div",Ho,a(e.useFormatDuring(e.audio?.duration)),1)):c("",!0)])),[[A,!e.audio?.audio_url]]),s("div",qo,[s("h2",Ko,a(e.audio?.title),1),s("p",Jo,a(e.audio?.style),1)])])):c("",!0)])])}const Yo=E(zo,[["render",Qo],["__scopeId","data-v-bcce4821"]]),Xo=T({name:"CoverFromInput",components:{ElImage:W,ElIcon:ee,VideoPlay:ce,VideoPause:ue},data(){return{}},computed:{audio(){return this.$store.state.suno?.config?.audio},value:{get(){return this.$store.state.suno?.config?.continue_at},set(e){console.debug("set continue_at",e),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,continue_at:e?parseInt(e):void 0})}}},mounted(){this.value||(this.value=void 0)},methods:{handleChange(e){e<0?this.value=0:e>this.audio?.duration?this.value=this.audio?.duration:this.value=e},useFormatDuring:X,onPlay(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.suno?.audio?.id!==e.id&&this.onPlay({...e,progress:0})}}}),Zo={class:"field"},xo={class:"box"},es={class:"title font-bold"},ts={class:"task"},os={class:"left"},ss={key:2,class:"duration"},ns={class:"info"},is={class:"title"},as={class:"style"};function ls(e,t,d,r,m,y){const $=l("el-image"),p=l("video-pause"),f=l("el-icon"),b=l("video-play"),g=q("loading");return n(),u("div",Zo,[s("div",xo,[s("h2",es,a(e.$t("suno.name.cover")),1)]),s("div",ts,[e.audio?(n(),u("div",{key:0,class:"audio",onClick:t[2]||(t[2]=A=>e.onClick(e.audio))},[H((n(),u("div",os,[o($,{src:e.audio?.image_url,class:"cover",fit:"cover"},null,8,["src"]),e.audio?.audio_url&&e.$store.state?.suno?.audio?.id===e.audio.id&&e.$store.state?.suno?.audio?.state==="playing"?(n(),u("div",{key:0,class:"overlay",onClick:t[0]||(t[0]=A=>e.onPause(e.audio))},[o(f,null,{default:i(()=>[o(p)]),_:1})])):c("",!0),e.audio?.audio_url&&(e.$store.state?.suno?.audio?.id!==e.audio.id||e.$store.state?.suno?.audio?.id===e.audio.id&&e.$store.state?.suno?.audio?.state==="paused")?(n(),u("div",{key:1,class:"overlay",onClick:t[1]||(t[1]=A=>e.onPlay(e.audio))},[o(f,null,{default:i(()=>[o(b)]),_:1})])):c("",!0),e.audio?.duration?(n(),u("div",ss,a(e.useFormatDuring(e.audio?.duration)),1)):c("",!0)])),[[g,!e.audio?.audio_url]]),s("div",ns,[s("h2",is,a(e.audio?.title),1),s("p",as,a(e.audio?.style),1)])])):c("",!0)])])}const rs=E(Xo,[["render",ls],["__scopeId","data-v-06640216"]]),ds=T({name:"VocalGenderSelector",components:{ElRadioGroup:Z,ElRadioButton:ie,InfoIcon:F},computed:{vocalGender:{get(){return this.$store.state.suno?.config?.vocal_gender||""},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,vocal_gender:e||void 0})}}}}),us={class:"mb-2"},cs={class:"flex items-center mb-1"},ps={class:"text-sm font-bold"};function ms(e,t,d,r,m,y){const $=l("info-icon"),p=l("el-radio-button"),f=l("el-radio-group");return n(),u("div",us,[s("div",cs,[s("span",ps,a(e.$t("suno.name.vocalGender")),1),o($,{content:e.$t("suno.description.vocalGender")},null,8,["content"])]),o(f,{modelValue:e.vocalGender,"onUpdate:modelValue":t[0]||(t[0]=b=>e.vocalGender=b)},{default:i(()=>[o(p,{value:""},{default:i(()=>[v(a(e.$t("suno.gender.auto")),1)]),_:1}),o(p,{value:"f"},{default:i(()=>[v(a(e.$t("suno.gender.female")),1)]),_:1}),o(p,{value:"m"},{default:i(()=>[v(a(e.$t("suno.gender.male")),1)]),_:1})]),_:1},8,["modelValue"])])}const fs=E(ds,[["render",ms]]),hs=T({name:"AdvancedParams",components:{ElCollapse:Le,ElCollapseItem:Ie,ElInput:N,ElSlider:pe,ElRadioGroup:Z,ElRadioButton:ie},data(){return{activeNames:[]}},computed:{config(){return this.$store.state.suno?.config},isV5OrAbove(){const e=this.config?.model||"";return["chirp-v5","chirp-v5-5"].includes(e)},styleNegative:{get(){return this.$store.state.suno?.config?.style_negative||""},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,style_negative:e||void 0})}},lyricPrompt:{get(){return this.$store.state.suno?.config?.lyric_prompt||""},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,lyric_prompt:e||void 0})}},weirdness:{get(){return this.$store.state.suno?.config?.weirdness??0},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,weirdness:e||void 0})}},styleInfluence:{get(){return this.$store.state.suno?.config?.style_influence??50},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,style_influence:e})}},variationCategory:{get(){return this.$store.state.suno?.config?.variation_category||""},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,variation_category:e||void 0})}},audioWeight:{get(){return this.$store.state.suno?.config?.audio_weight??50},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,audio_weight:e})}},lyricsMode:{get(){return this.$store.state.suno?.config?.lyrics_mode||"manual"},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,lyrics_mode:e})}}}}),gs={key:0,class:"mb-3"},$s={class:"flex items-center mb-1"},_s={class:"text-xs font-bold"},vs={key:1,class:"mb-3"},ys={class:"flex items-center mb-1"},bs={class:"text-xs font-bold"},ks={key:2,class:"mb-3"},ws={class:"flex items-center justify-between mb-1"},Cs={class:"text-xs font-bold"},Vs={class:"text-xs text-[var(--el-text-color-secondary)]"},Ss={key:3,class:"mb-3"},Ts={class:"flex items-center justify-between mb-1"},As={class:"text-xs font-bold"},Us={class:"text-xs text-[var(--el-text-color-secondary)]"},Ps={key:4,class:"mb-3"},Es={class:"flex items-center mb-1"},Is={class:"text-xs font-bold"},Ls={key:5,class:"mb-3"},Rs={class:"flex items-center justify-between mb-1"},Ms={class:"text-xs font-bold"},Fs={class:"text-xs text-[var(--el-text-color-secondary)]"},Ds={key:6,class:"mb-3"},zs={class:"flex items-center mb-1"},Gs={class:"text-xs font-bold"};function js(e,t,d,r,m,y){const $=l("el-input"),p=l("el-slider"),f=l("el-radio-button"),b=l("el-radio-group"),g=l("el-collapse-item"),A=l("el-collapse");return n(),k(A,{modelValue:e.activeNames,"onUpdate:modelValue":t[7]||(t[7]=_=>e.activeNames=_),class:"advanced-collapse"},{default:i(()=>[o(g,{title:e.$t("suno.name.advancedParams"),name:"advanced"},{default:i(()=>[e.config?.custom?(n(),u("div",gs,[s("div",$s,[s("span",_s,a(e.$t("suno.name.styleNegative")),1)]),o($,{modelValue:e.styleNegative,"onUpdate:modelValue":t[0]||(t[0]=_=>e.styleNegative=_),placeholder:e.$t("suno.placeholder.styleNegative")},null,8,["modelValue","placeholder"])])):c("",!0),e.config?.custom&&!e.config?.instrumental?(n(),u("div",vs,[s("div",ys,[s("span",bs,a(e.$t("suno.name.lyricPrompt")),1)]),o($,{modelValue:e.lyricPrompt,"onUpdate:modelValue":t[1]||(t[1]=_=>e.lyricPrompt=_),placeholder:e.$t("suno.placeholder.lyricPrompt")},null,8,["modelValue","placeholder"])])):c("",!0),e.config?.custom?(n(),u("div",ks,[s("div",ws,[s("span",Cs,a(e.$t("suno.name.weirdness")),1),s("span",Vs,a(e.weirdness??0),1)]),o(p,{modelValue:e.weirdness,"onUpdate:modelValue":t[2]||(t[2]=_=>e.weirdness=_),min:0,max:100,step:1},null,8,["modelValue"])])):c("",!0),e.config?.custom?(n(),u("div",Ss,[s("div",Ts,[s("span",As,a(e.$t("suno.name.styleInfluence")),1),s("span",Us,a(e.styleInfluence??50),1)]),o(p,{modelValue:e.styleInfluence,"onUpdate:modelValue":t[3]||(t[3]=_=>e.styleInfluence=_),min:0,max:100,step:1},null,8,["modelValue"])])):c("",!0),e.isV5OrAbove?(n(),u("div",Ps,[s("div",Es,[s("span",Is,a(e.$t("suno.name.variationCategory")),1)]),o(b,{modelValue:e.variationCategory,"onUpdate:modelValue":t[4]||(t[4]=_=>e.variationCategory=_)},{default:i(()=>[o(f,{value:""},{default:i(()=>[v(a(e.$t("suno.gender.auto")),1)]),_:1}),o(f,{value:"high"},{default:i(()=>[v(a(e.$t("suno.variation.high")),1)]),_:1}),o(f,{value:"low"},{default:i(()=>[v(a(e.$t("suno.variation.low")),1)]),_:1})]),_:1},8,["modelValue"])])):c("",!0),e.config?.action==="cover"?(n(),u("div",Ls,[s("div",Rs,[s("span",Ms,a(e.$t("suno.name.audioWeight")),1),s("span",Fs,a(e.audioWeight??50),1)]),o(p,{modelValue:e.audioWeight,"onUpdate:modelValue":t[5]||(t[5]=_=>e.audioWeight=_),min:0,max:100,step:1},null,8,["modelValue"])])):c("",!0),e.config?.custom&&!e.config?.instrumental?(n(),u("div",Ds,[s("div",zs,[s("span",Gs,a(e.$t("suno.name.lyricsMode")),1)]),o(b,{modelValue:e.lyricsMode,"onUpdate:modelValue":t[6]||(t[6]=_=>e.lyricsMode=_)},{default:i(()=>[o(f,{value:"manual"},{default:i(()=>[v(a(e.$t("suno.lyricsMode.manual")),1)]),_:1}),o(f,{value:"auto"},{default:i(()=>[v(a(e.$t("suno.lyricsMode.auto")),1)]),_:1})]),_:1},8,["modelValue"])])):c("",!0)]),_:1},8,["title"])]),_:1},8,["modelValue"])}const Bs=E(hs,[["render",js],["__scopeId","data-v-505f8fc7"]]),Os=T({name:"ReplaceSectionInput",components:{ElInputNumber:x,ElImage:W,InfoIcon:F},computed:{audio(){return this.$store.state.suno?.config?.audio},replaceSectionStart:{get(){return this.$store.state.suno?.config?.replace_section_start},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,replace_section_start:e})}},replaceSectionEnd:{get(){return this.$store.state.suno?.config?.replace_section_end},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,replace_section_end:e})}}},methods:{onClick(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"playing"})}}}),Ns={class:"field"},Ws={class:"flex items-center mb-2"},Hs={class:"text-sm font-bold m-0"},qs={key:0,class:"task mb-2"},Ks={class:"left relative w-[50px] h-[50px] mr-3 flex-shrink-0"},Js={class:"info flex-1 min-w-0"},Qs={class:"text-sm font-bold m-0 truncate"},Ys={class:"text-xs text-[var(--el-text-color-secondary)] m-0 truncate"},Xs={class:"flex gap-2"};function Zs(e,t,d,r,m,y){const $=l("info-icon"),p=l("el-image"),f=l("el-input-number"),b=q("loading");return n(),u("div",Ns,[s("div",Ws,[s("h2",Hs,a(e.$t("suno.name.replaceSection")),1),o($,{content:e.$t("suno.description.replaceSection")},null,8,["content"])]),e.audio?(n(),u("div",qs,[s("div",{class:"audio flex items-center",onClick:t[0]||(t[0]=g=>e.onClick(e.audio))},[H((n(),u("div",Ks,[o(p,{src:e.audio?.image_url,class:"w-full h-full rounded",fit:"cover"},null,8,["src"])])),[[b,!e.audio?.audio_url]]),s("div",Js,[s("h2",Qs,a(e.audio?.title),1),s("p",Ys,a(e.audio?.style),1)])])])):c("",!0),s("div",Xs,[o(f,{modelValue:e.replaceSectionStart,"onUpdate:modelValue":t[1]||(t[1]=g=>e.replaceSectionStart=g),class:"flex-1",min:0,max:e.audio?.duration,controls:!1,placeholder:e.$t("suno.placeholder.replaceSectionStart")},null,8,["modelValue","max","placeholder"]),o(f,{modelValue:e.replaceSectionEnd,"onUpdate:modelValue":t[2]||(t[2]=g=>e.replaceSectionEnd=g),class:"flex-1",min:e.replaceSectionStart||0,max:e.audio?.duration,controls:!1,placeholder:e.$t("suno.placeholder.replaceSectionEnd")},null,8,["modelValue","min","max","placeholder"])])])}const xs=E(Os,[["render",Zs]]),en=T({name:"OverpaintingInput",components:{ElInputNumber:x,ElImage:W,InfoIcon:F},computed:{audio(){return this.$store.state.suno?.config?.audio},overpaintingStart:{get(){return this.$store.state.suno?.config?.overpainting_start},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,overpainting_start:e})}},overpaintingEnd:{get(){return this.$store.state.suno?.config?.overpainting_end},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,overpainting_end:e})}}},methods:{onClick(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"playing"})}}}),tn={class:"field"},on={class:"flex items-center mb-2"},sn={class:"text-sm font-bold m-0"},nn={key:0,class:"task mb-2"},an={class:"left relative w-[50px] h-[50px] mr-3 flex-shrink-0"},ln={class:"info flex-1 min-w-0"},rn={class:"text-sm font-bold m-0 truncate"},dn={class:"text-xs text-[var(--el-text-color-secondary)] m-0 truncate"},un={class:"flex gap-2"};function cn(e,t,d,r,m,y){const $=l("info-icon"),p=l("el-image"),f=l("el-input-number"),b=q("loading");return n(),u("div",tn,[s("div",on,[s("h2",sn,a(e.$t("suno.name.overpaintingRange")),1),o($,{content:e.$t("suno.description.overpainting")},null,8,["content"])]),e.audio?(n(),u("div",nn,[s("div",{class:"audio flex items-center",onClick:t[0]||(t[0]=g=>e.onClick(e.audio))},[H((n(),u("div",an,[o(p,{src:e.audio?.image_url,class:"w-full h-full rounded",fit:"cover"},null,8,["src"])])),[[b,!e.audio?.audio_url]]),s("div",ln,[s("h2",rn,a(e.audio?.title),1),s("p",dn,a(e.audio?.style),1)])])])):c("",!0),s("div",un,[o(f,{modelValue:e.overpaintingStart,"onUpdate:modelValue":t[1]||(t[1]=g=>e.overpaintingStart=g),class:"flex-1",size:"small",min:0,max:e.audio?.duration,controls:!1,placeholder:e.$t("suno.placeholder.overpaintingStart")},null,8,["modelValue","max","placeholder"]),o(f,{modelValue:e.overpaintingEnd,"onUpdate:modelValue":t[2]||(t[2]=g=>e.overpaintingEnd=g),class:"flex-1",size:"small",min:e.overpaintingStart||0,max:e.audio?.duration,controls:!1,placeholder:e.$t("suno.placeholder.overpaintingEnd")},null,8,["modelValue","min","max","placeholder"])])])}const pn=E(en,[["render",cn]]),mn=T({name:"UnderpaintingInput",components:{ElInputNumber:x,ElImage:W,InfoIcon:F},computed:{audio(){return this.$store.state.suno?.config?.audio},underpaintingStart:{get(){return this.$store.state.suno?.config?.underpainting_start},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,underpainting_start:e})}},underpaintingEnd:{get(){return this.$store.state.suno?.config?.underpainting_end},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,underpainting_end:e})}}},methods:{onClick(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"playing"})}}}),fn={class:"field"},hn={class:"flex items-center mb-2"},gn={class:"text-sm font-bold m-0"},$n={key:0,class:"task mb-2"},_n={class:"left relative w-[50px] h-[50px] mr-3 flex-shrink-0"},vn={class:"info flex-1 min-w-0"},yn={class:"text-sm font-bold m-0 truncate"},bn={class:"text-xs text-[var(--el-text-color-secondary)] m-0 truncate"},kn={class:"flex gap-2"};function wn(e,t,d,r,m,y){const $=l("info-icon"),p=l("el-image"),f=l("el-input-number"),b=q("loading");return n(),u("div",fn,[s("div",hn,[s("h2",gn,a(e.$t("suno.name.underpaintingRange")),1),o($,{content:e.$t("suno.description.underpainting")},null,8,["content"])]),e.audio?(n(),u("div",$n,[s("div",{class:"audio flex items-center",onClick:t[0]||(t[0]=g=>e.onClick(e.audio))},[H((n(),u("div",_n,[o(p,{src:e.audio?.image_url,class:"w-full h-full rounded",fit:"cover"},null,8,["src"])])),[[b,!e.audio?.audio_url]]),s("div",vn,[s("h2",yn,a(e.audio?.title),1),s("p",bn,a(e.audio?.style),1)])])])):c("",!0),s("div",kn,[o(f,{modelValue:e.underpaintingStart,"onUpdate:modelValue":t[1]||(t[1]=g=>e.underpaintingStart=g),class:"flex-1",size:"small",min:0,max:e.audio?.duration,controls:!1,placeholder:e.$t("suno.placeholder.underpaintingStart")},null,8,["modelValue","max","placeholder"]),o(f,{modelValue:e.underpaintingEnd,"onUpdate:modelValue":t[2]||(t[2]=g=>e.underpaintingEnd=g),class:"flex-1",size:"small",min:e.underpaintingStart||0,max:e.audio?.duration,controls:!1,placeholder:e.$t("suno.placeholder.underpaintingEnd")},null,8,["modelValue","min","max","placeholder"])])])}const Cn=E(mn,[["render",wn]]),Vn=T({name:"SamplesInput",components:{ElInputNumber:x,ElImage:W,InfoIcon:F},computed:{audio(){return this.$store.state.suno?.config?.audio},samplesStart:{get(){return this.$store.state.suno?.config?.samples_start},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,samples_start:e})}},samplesEnd:{get(){return this.$store.state.suno?.config?.samples_end},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,samples_end:e})}}},methods:{onClick(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"playing"})}}}),Sn={class:"field"},Tn={class:"flex items-center mb-2"},An={class:"text-sm font-bold m-0"},Un={key:0,class:"task mb-2"},Pn={class:"left relative w-[50px] h-[50px] mr-3 flex-shrink-0"},En={class:"info flex-1 min-w-0"},In={class:"text-sm font-bold m-0 truncate"},Ln={class:"text-xs text-[var(--el-text-color-secondary)] m-0 truncate"},Rn={class:"flex gap-2"};function Mn(e,t,d,r,m,y){const $=l("info-icon"),p=l("el-image"),f=l("el-input-number"),b=q("loading");return n(),u("div",Sn,[s("div",Tn,[s("h2",An,a(e.$t("suno.name.samplesRange")),1),o($,{content:e.$t("suno.description.samples")},null,8,["content"])]),e.audio?(n(),u("div",Un,[s("div",{class:"audio flex items-center",onClick:t[0]||(t[0]=g=>e.onClick(e.audio))},[H((n(),u("div",Pn,[o(p,{src:e.audio?.image_url,class:"w-full h-full rounded",fit:"cover"},null,8,["src"])])),[[b,!e.audio?.audio_url]]),s("div",En,[s("h2",In,a(e.audio?.title),1),s("p",Ln,a(e.audio?.style),1)])])])):c("",!0),s("div",Rn,[o(f,{modelValue:e.samplesStart,"onUpdate:modelValue":t[1]||(t[1]=g=>e.samplesStart=g),class:"flex-1",size:"small",min:0,max:e.audio?.duration,controls:!1,placeholder:e.$t("suno.placeholder.samplesStart")},null,8,["modelValue","max","placeholder"]),o(f,{modelValue:e.samplesEnd,"onUpdate:modelValue":t[2]||(t[2]=g=>e.samplesEnd=g),class:"flex-1",size:"small",min:e.samplesStart||0,max:e.audio?.duration,controls:!1,placeholder:e.$t("suno.placeholder.samplesEnd")},null,8,["modelValue","min","max","placeholder"])])])}const Fn=E(Vn,[["render",Mn]]),Dn=T({name:"VoiceCreateDialog",components:{ElDialog:re,ElForm:Fe,ElFormItem:Me,ElInput:N,ElButton:B,ElRadioGroup:Z,ElRadio:Re},props:{modelValue:{type:Boolean,default:!1}},emits:["update:modelValue","created"],data(){return{sourceType:"song",form:{name:"",description:"",audio_id:"",audio_url:""},loading:!1}},computed:{visible:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}},token(){return this.$store.state.suno?.credential?.token},canSubmit(){return!(!this.form.name||this.sourceType==="song"&&!this.form.audio_id||this.sourceType==="upload"&&!this.form.audio_url)}},methods:{onClose(){this.visible=!1,this.resetForm()},resetForm(){this.form={name:"",description:"",audio_id:"",audio_url:""},this.sourceType="song"},async onSubmit(){if(this.token){this.loading=!0;try{this.sourceType==="song"?await R.persona({audio_id:this.form.audio_id,name:this.form.name,description:this.form.description},{token:this.token}):await R.voices({audio_url:this.form.audio_url,name:this.form.name,description:this.form.description},{token:this.token}),w.success(this.$t("suno.voice.createSuccess")),this.$emit("created"),this.onClose()}catch{w.error(this.$t("suno.voice.createFailed"))}finally{this.loading=!1}}}}});function zn(e,t,d,r,m,y){const $=l("el-input"),p=l("el-form-item"),f=l("el-radio"),b=l("el-radio-group"),g=l("el-form"),A=l("el-button"),_=l("el-dialog");return n(),k(_,{modelValue:e.visible,"onUpdate:modelValue":t[5]||(t[5]=V=>e.visible=V),title:e.$t("suno.voice.createTitle"),width:"480px","close-on-click-modal":!1,onClose:e.onClose},{footer:i(()=>[o(A,{onClick:e.onClose},{default:i(()=>[v(a(e.$t("common.button.cancel")),1)]),_:1},8,["onClick"]),o(A,{type:"primary",loading:e.loading,disabled:!e.canSubmit,onClick:e.onSubmit},{default:i(()=>[v(a(e.$t("suno.voice.create")),1)]),_:1},8,["loading","disabled","onClick"])]),default:i(()=>[o(g,{"label-position":"top",class:"voice-create-form"},{default:i(()=>[o(p,{label:e.$t("suno.voice.name")},{default:i(()=>[o($,{modelValue:e.form.name,"onUpdate:modelValue":t[0]||(t[0]=V=>e.form.name=V),placeholder:e.$t("suno.voice.namePlaceholder"),maxlength:"50"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),o(p,{label:e.$t("suno.voice.description")},{default:i(()=>[o($,{modelValue:e.form.description,"onUpdate:modelValue":t[1]||(t[1]=V=>e.form.description=V),type:"textarea",rows:2,placeholder:e.$t("suno.voice.descriptionPlaceholder"),maxlength:"200"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),o(p,{label:e.$t("suno.voice.sourceType")},{default:i(()=>[o(b,{modelValue:e.sourceType,"onUpdate:modelValue":t[2]||(t[2]=V=>e.sourceType=V),class:"w-full"},{default:i(()=>[o(f,{value:"song"},{default:i(()=>[v(a(e.$t("suno.voice.fromSong")),1)]),_:1}),o(f,{value:"upload"},{default:i(()=>[v(a(e.$t("suno.voice.fromUpload")),1)]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["label"]),e.sourceType==="song"?(n(),k(p,{key:0,label:e.$t("suno.voice.audioId")},{default:i(()=>[o($,{modelValue:e.form.audio_id,"onUpdate:modelValue":t[3]||(t[3]=V=>e.form.audio_id=V),placeholder:e.$t("suno.voice.audioIdPlaceholder")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])):c("",!0),e.sourceType==="upload"?(n(),k(p,{key:1,label:e.$t("suno.voice.audioUrl")},{default:i(()=>[o($,{modelValue:e.form.audio_url,"onUpdate:modelValue":t[4]||(t[4]=V=>e.form.audio_url=V),placeholder:e.$t("suno.voice.audioUrlPlaceholder")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])):c("",!0)]),_:1})]),_:1},8,["modelValue","title","onClose"])}const Gn=E(Dn,[["render",zn]]),jn=T({name:"VoiceManager",components:{ElButton:B,ElIcon:ee,ElTabs:be,ElTabPane:ye,ElTooltip:de,Loading:ke,FontAwesomeIcon:D,VoiceCreateDialog:Gn},data(){return{showCreateDialog:!1,loading:!1,deletingId:null,activeTab:"all"}},computed:{personas(){return this.$store.state.suno?.personas||[]},favoriteIds(){return this.$store.state.suno?.favoritePersonaIds||[]},favoritePersonas(){return this.personas.filter(e=>e.persona_id&&this.favoriteIds.includes(e.persona_id))},visiblePersonas(){return this.activeTab==="favorites"?this.favoritePersonas:this.personas},selectedPersonaId(){return this.$store.state.suno?.config?.persona_id}},watch:{"$store.state.suno.credential":{handler(){this.loadPersonas()},immediate:!0}},methods:{isFavorite(e){return!!e&&this.favoriteIds.includes(e)},onToggleFavorite(e){e.persona_id&&this.$store.commit("suno/togglePersonaFavorite",e.persona_id)},async loadPersonas(){if(this.$store.state.suno?.credential?.token){this.loading=!0;try{await this.$store.dispatch("suno/getPersonas")}finally{this.loading=!1}}},selectPersona(e){const t={...this.$store.state.suno?.config};t.persona_id===e.persona_id?t.persona_id=void 0:t.persona_id=e.persona_id,this.$store.dispatch("suno/setConfig",t)},async onDelete(e){try{await we.confirm(this.$t("suno.voice.confirmDelete"),this.$t("suno.voice.delete"),{type:"warning",confirmButtonText:this.$t("common.button.confirm"),cancelButtonText:this.$t("common.button.cancel")})}catch{return}if(!e.persona_id)return;this.deletingId=e.persona_id;const t=await this.$store.dispatch("suno/deletePersona",e.persona_id);if(this.deletingId=null,t){if(w.success(this.$t("suno.voice.deleteSuccess")),this.selectedPersonaId===e.persona_id){const d={...this.$store.state.suno?.config,persona_id:void 0};this.$store.dispatch("suno/setConfig",d)}this.favoriteIds.includes(e.persona_id)&&this.$store.commit("suno/togglePersonaFavorite",e.persona_id)}else w.error(this.$t("suno.voice.deleteFailed"))},async onCreated(){await this.loadPersonas()}}}),Bn={class:"voice-manager"},On={class:"flex items-center justify-between mb-3"},Nn={class:"text-sm font-medium"},Wn={key:0,class:"text-center py-6"},Hn={key:1,class:"text-center py-6 text-gray-400 text-sm"},qn={key:2,class:"voice-list"},Kn=["onClick"],Jn={class:"flex-1 min-w-0"},Qn={class:"voice-name"},Yn={key:0,class:"voice-desc"};function Xn(e,t,d,r,m,y){const $=l("font-awesome-icon"),p=l("el-button"),f=l("el-tab-pane"),b=l("el-tabs"),g=l("loading"),A=l("el-icon"),_=l("el-tooltip"),V=l("voice-create-dialog");return n(),u("div",Bn,[s("div",On,[s("span",Nn,a(e.$t("suno.voice.title")),1),o(p,{type:"primary",size:"small",onClick:t[0]||(t[0]=C=>e.showCreateDialog=!0)},{default:i(()=>[o($,{icon:"fa-solid fa-plus",class:"mr-1"}),v(" "+a(e.$t("suno.voice.create")),1)]),_:1})]),o(b,{modelValue:e.activeTab,"onUpdate:modelValue":t[1]||(t[1]=C=>e.activeTab=C),class:"voice-tabs",size:"small"},{default:i(()=>[o(f,{name:"all",label:e.$t("suno.voice.tabAll")+" ("+(e.personas?.length||0)+")"},null,8,["label"]),o(f,{name:"favorites",label:e.$t("suno.voice.tabFavorites")+" ("+e.favoritePersonas.length+")"},null,8,["label"])]),_:1},8,["modelValue"]),e.loading?(n(),u("div",Wn,[o(A,{class:"is-loading"},{default:i(()=>[o(g)]),_:1})])):e.visiblePersonas.length===0?(n(),u("div",Hn,a(e.activeTab==="favorites"?e.$t("suno.voice.emptyFavorites"):e.$t("suno.voice.empty")),1)):(n(),u("div",qn,[(n(!0),u(M,null,j(e.visiblePersonas,C=>(n(),u("div",{key:C.persona_id,class:G(["voice-item",{active:e.selectedPersonaId===C.persona_id}]),onClick:I=>e.selectPersona(C)},[s("div",Jn,[s("div",Qn,[o($,{icon:C.source_type==="voice"?"fa-solid fa-microphone":"fa-solid fa-music",class:"mr-1.5 text-xs opacity-60"},null,8,["icon"]),v(" "+a(C.name||C.persona_id),1)]),C.description?(n(),u("div",Yn,a(C.description),1)):c("",!0)]),s("div",{class:"voice-actions",onClick:t[2]||(t[2]=P(()=>{},["stop"]))},[o(_,{content:e.isFavorite(C.persona_id)?e.$t("suno.voice.unfavorite"):e.$t("suno.voice.favorite"),placement:"top"},{default:i(()=>[o(p,{size:"small",text:"",class:G({"voice-fav-active":e.isFavorite(C.persona_id)}),onClick:I=>e.onToggleFavorite(C)},{default:i(()=>[o($,{icon:e.isFavorite(C.persona_id)?"fa-solid fa-star":"fa-regular fa-star"},null,8,["icon"])]),_:2},1032,["class","onClick"])]),_:2},1032,["content"]),o(p,{type:"danger",size:"small",text:"",loading:e.deletingId===C.persona_id,onClick:I=>e.onDelete(C)},{default:i(()=>[o($,{icon:"fa-solid fa-trash"})]),_:2},1032,["loading","onClick"])])],10,Kn))),128))])),o(V,{modelValue:e.showCreateDialog,"onUpdate:modelValue":t[3]||(t[3]=C=>e.showCreateDialog=C),onCreated:e.onCreated},null,8,["modelValue","onCreated"])])}const Zn=E(jn,[["render",Xn],["__scopeId","data-v-8b8e36d9"]]),xn=T({name:"PersonaInput",components:{ElSelect:le,ElOption:ae,ElButton:B,ElDrawer:ve,FontAwesomeIcon:D,InfoIcon:F,VoiceManager:Zn},data(){return{showManager:!1}},computed:{personaId:{get(){return this.$store.state.suno?.config?.persona_id||""},set(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,persona_id:e||void 0})}},personas(){return this.$store.state.suno?.personas||[]}}}),ei={class:"field"},ti={class:"flex items-center justify-between mb-2"},oi={class:"flex items-center"},si={class:"text-sm font-bold m-0"},ni={class:"flex items-center justify-between w-full"},ii={key:0,class:"text-xs text-gray-400 ml-2"};function ai(e,t,d,r,m,y){const $=l("info-icon"),p=l("font-awesome-icon"),f=l("el-button"),b=l("el-option"),g=l("el-select"),A=l("voice-manager"),_=l("el-drawer");return n(),u("div",ei,[s("div",ti,[s("div",oi,[s("h2",si,a(e.$t("suno.name.persona")),1),o($,{content:e.$t("suno.description.persona")},null,8,["content"])]),o(f,{type:"primary",size:"small",text:"",onClick:t[0]||(t[0]=V=>e.showManager=!0)},{default:i(()=>[o(p,{icon:"fa-solid fa-microphone",class:"mr-1"}),v(" "+a(e.$t("suno.voice.manage")),1)]),_:1})]),o(g,{modelValue:e.personaId,"onUpdate:modelValue":t[1]||(t[1]=V=>e.personaId=V),size:"small",placeholder:e.$t("suno.placeholder.personaId"),clearable:"",filterable:"",class:"w-full"},{default:i(()=>[(n(!0),u(M,null,j(e.personas,V=>(n(),k(b,{key:V.persona_id||"",value:V.persona_id||"",label:V.name||V.persona_id||""},{default:i(()=>[s("div",ni,[s("span",null,a(V.name||V.persona_id),1),V.source_type?(n(),u("span",ii,a(V.source_type),1)):c("",!0)])]),_:2},1032,["value","label"]))),128))]),_:1},8,["modelValue","placeholder"]),o(_,{modelValue:e.showManager,"onUpdate:modelValue":t[2]||(t[2]=V=>e.showManager=V),title:e.$t("suno.voice.title"),size:"380px",direction:"rtl"},{default:i(()=>[o(A)]),_:1},8,["modelValue","title"])])}const li=E(xn,[["render",ai]]),ri=T({name:"PresetPanel",components:{TypeSelector:Ct,PromptInput:so,LyricInput:vo,StyleInput:Eo,TitleInput:Do,ExtendFromInput:Yo,CoverFromInput:rs,UploadAudio:Kt,VocalGenderSelector:fs,AdvancedParams:Bs,ReplaceSectionInput:xs,OverpaintingInput:pn,UnderpaintingInput:Cn,SamplesInput:Fn,PersonaInput:li,FontAwesomeIcon:D,ElButton:B,Consumption:tt},emits:["generate"],computed:{config(){return this.$store.state.suno?.config},consumption(){return ot(this.config,this.service?.cost)},service(){return this.$store.state.suno?.service},supportsVocalGender(){const e=this.config?.model||"";return["chirp-v4-5-plus","chirp-v5","chirp-v5-5"].includes(e)},supportsPersona(){const e=this.config?.action;return!e||e==="generate"||e==="artist_consistency"||e==="artist_consistency_vox"},generateButtonText(){const e=this.config?.action;return e==="extend"?this.$t("suno.button.extend"):e==="cover"?this.$t("suno.button.cover_music"):e==="remaster"?this.$t("suno.button.remaster"):e==="replace_section"?this.$t("suno.button.replace_section"):e==="mashup"?this.$t("suno.button.mashup"):e==="stems"?this.$t("suno.button.get_stems"):e==="concat"?this.$t("suno.button.concat_music"):e==="upload_cover"?this.$t("suno.button.upload_cover"):e==="artist_consistency"?this.$t("suno.button.artist_consistency"):e==="artist_consistency_vox"?this.$t("suno.button.artist_consistency_vox"):e==="overpainting"?this.$t("suno.button.overpainting"):e==="underpainting"?this.$t("suno.button.underpainting"):e==="samples"?this.$t("suno.button.samples"):this.$t("suno.button.generate")}},methods:{onGenerate(){this.$emit("generate")},onClearAll(){this.$store.commit("suno/setConfig",{custom:!1,sounds:!1,instrumental:!1,lyric:"",style:"",title:"",lyrics_mode:"manual",model:this.$store.state.suno?.config?.model})}}}),di={class:"flex flex-col h-full"},ui={class:"flex-1 overflow-y-auto p-5"},ci={class:"flex flex-col items-center justify-center px-5 pb-5 gap-2"},pi={class:"flex gap-2 w-full"};function mi(e,t,d,r,m,y){const $=l("type-selector"),p=l("upload-audio"),f=l("prompt-input"),b=l("lyric-input"),g=l("style-input"),A=l("title-input"),_=l("vocal-gender-selector"),V=l("persona-input"),C=l("extend-from-input"),I=l("cover-from-input"),U=l("replace-section-input"),K=l("overpainting-input"),J=l("underpainting-input"),Q=l("samples-input"),h=l("advanced-params"),S=l("consumption"),oe=l("font-awesome-icon"),L=l("el-button");return n(),u("div",di,[s("div",ui,[o($,{class:"mb-4"}),o(p,{class:"mb-4"}),e.config?.custom?c("",!0):(n(),k(f,{key:0,class:"mb-4"})),e.config?.custom&&!e.config.instrumental?(n(),k(b,{key:1,class:"mb-4"})):c("",!0),e.config?.custom?(n(),k(g,{key:2,class:"mb-4"})):c("",!0),e.config?.custom?(n(),k(A,{key:3,class:"mb-4"})):c("",!0),e.config?.custom&&!e.config.instrumental&&e.supportsVocalGender?(n(),k(_,{key:4,class:"mb-4"})):c("",!0),e.config?.custom&&e.supportsPersona?(n(),k(V,{key:5,class:"mb-4"})):c("",!0),e.config?.action==="extend"?(n(),k(C,{key:6,class:"mb-4"})):c("",!0),e.config?.action==="cover"?(n(),k(I,{key:7,class:"mb-4"})):c("",!0),e.config?.action==="replace_section"?(n(),k(U,{key:8,class:"mb-4"})):c("",!0),e.config?.action==="overpainting"?(n(),k(K,{key:9,class:"mb-4"})):c("",!0),e.config?.action==="underpainting"?(n(),k(J,{key:10,class:"mb-4"})):c("",!0),e.config?.action==="samples"?(n(),k(Q,{key:11,class:"mb-4"})):c("",!0),o(h,{class:"mb-4"})]),s("div",ci,[o(S,{value:e.consumption,service:e.service},null,8,["value","service"]),s("div",pi,[o(L,{class:"flex-1",onClick:e.onClearAll},{default:i(()=>[o(oe,{icon:"fa-solid fa-broom",class:"mr-1"}),v(" "+a(e.$t("suno.button.clear_all")),1)]),_:1},8,["onClick"]),o(L,{type:"primary",class:"flex-1",round:"",onClick:e.onGenerate},{default:i(()=>[o(oe,{icon:"fa-solid fa-magic",class:"mr-2"}),v(" "+a(e.generateButtonText),1)]),_:1},8,["onClick"])])])])}const fi=E(ri,[["render",mi],["__scopeId","data-v-16f0f019"]]),_e="https://webhook.acedata.cloud/suno",hi=T({name:"TaskPreview",components:{ElImage:W,ElIcon:ee,ElTooltip:de,FontAwesomeIcon:D,VideoPlay:ce,VideoPause:ue,ElDropdown:Se,ElDropdownMenu:Ve,ElDropdownItem:Ce,ElInput:N,ElProgress:ze,ElCheckbox:De,Loading:ke},props:{modelValue:{type:Object,required:!0}},data(){return{isFetchingVideoUrl:!1,isFetchingWav:!1,isFetchingMidi:!1,editingAudioId:null,editingTitle:""}},computed:{loading(){return this.$store.state.suno?.status?.getApplications===Y.Request},credential(){return this.$store.state.suno.credential},config(){return this.$store.state.suno.config},task(){return this.$store.state.suno?.tasks},audios(){const e=this.modelValue?.response?.data??[],t=this.modelValue?.request?.action;return t?e.map(d=>({...d,action:t})):e},application(){return this.$store.state.suno?.application},active(){return this.$store.state.suno?.tasks?.active},isMashupMode(){return this.$store.state.suno?.config?.action==="mashup"},mashupAudioIds(){return this.$store.state.suno?.config?.mashup_audio_ids||[]}},methods:{useFormatDuring:X,onPlay(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"playing"}),console.log("on play")},onPause(e){this.$store.dispatch("suno/setAudio",{...this.$store.state.suno.audio,...e,state:"paused"}),console.log("on pause")},onClick(e){this.$store.state?.suno?.audio?.id!==e.id&&this.onPlay({...e,progress:0})},onExtend(e,t){e.stopPropagation(),console.log("on extend"),console.debug("set config",t),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,model:t.model,custom:!0,instrumental:!1,style:t.style,action:"extend",audio:t,audio_id:t.id,continue_at:t.duration})},onDownload(e,t){e&&e.stopPropagation(),console.log("on download",t);const r=new URL(t).pathname,m=r.substring(r.lastIndexOf("/")+1);console.log("on preview",m),fetch(t).then(y=>y.blob()).then(y=>{Ye.saveAs(y,m)})},async handleVideoDownload(e){if(e.video_url){this.onDownload(null,e.video_url);return}if(!this.isFetchingVideoUrl)try{this.isFetchingVideoUrl=!0;const t=await this.fetchVideoUrlFromApi(e?.id);console.log(`get videoUrl: ${t}`),e.video_url=t,this.onDownload(null,t)}catch(t){console.error("get videoUrl failed:",t),w.error(this.$t("suno.message.getVideoUrlFailed"))}finally{this.isFetchingVideoUrl=!1}},async fetchVideoUrlFromApi(e){return new Promise((t,d)=>{const r={audio_id:e},m=this.credential?.token;if(!m){console.error("no token specified"),d(new Error("No token specified"));return}R.mp4(r,{token:m}).then(y=>{const $=y.data?.data?.video_url;$?t($):d(new Error("Video URL not found in response"))}).catch(y=>{d(y)})})},onPreview(e,t){e.stopPropagation(),console.log("on preview",t),window.open(t,"_blank")},async onGetStems(e){await this.onGenerateAudioUrl("stems",e)},onCover(e){console.log("on cover"),console.debug("set config",e),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,model:e.model,custom:!0,instrumental:!1,style:e.style,action:"cover",audio:e,audio_id:e.id})},async onConcatMusic(e){await this.onGenerateAudioUrl("concat",e)},async onRemaster(e){await this.onGenerateAudioUrl("remaster",e)},async onGetAllStems(e){await this.onGenerateAudioUrl("all_stems",e)},onReplaceSection(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,model:e.model,custom:!0,instrumental:!1,style:e.style,action:"replace_section",audio:e,audio_id:e.id,replace_section_start:0,replace_section_end:Math.min(30,e.duration||30)})},onMashup(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,model:e.model,custom:!0,style:e.style,action:"mashup",audio:e,audio_id:e.id,mashup_audio_ids:[e.id]})},onOverpainting(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,model:e.model,custom:!0,style:e.style,action:"overpainting",audio:e,audio_id:e.id,overpainting_start:0,overpainting_end:Math.min(30,e.duration||30)})},onUnderpainting(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,model:e.model,custom:!0,style:e.style,action:"underpainting",audio:e,audio_id:e.id,underpainting_start:0,underpainting_end:Math.min(30,e.duration||30)})},onSamples(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,model:e.model,custom:!0,style:e.style,action:"samples",audio:e,audio_id:e.id,samples_start:0,samples_end:Math.min(30,e.duration||30)})},onArtistConsistency(e){this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,model:e.model,custom:!0,style:e.style,action:"artist_consistency",audio:e,audio_id:e.id})},async onExtractVocals(e){const t=this.credential?.token;t&&(w.info(this.$t("suno.message.extractingVocals")),R.vox({audio_id:e,callback_url:_e},{token:t}).then(()=>{w.success(this.$t("suno.message.extractVocalsSuccess"))}).catch(d=>{w.error(d?.response?.data?.error?.message||this.$t("suno.message.extractVocalsFailed"))}).finally(async()=>{await this.onGetTasks(),await this.onScrollDown()}))},async onGetTiming(e){const t=this.credential?.token;t&&(w.info(this.$t("suno.message.fetchingTiming")),R.timing({audio_id:e},{token:t}).then(d=>{w.success(this.$t("suno.message.fetchTimingSuccess")),console.debug("timing data",d.data)}).catch(d=>{w.error(d?.response?.data?.error?.message||this.$t("suno.message.fetchTimingFailed"))}))},async handleWavDownload(e){if(!e?.id||this.isFetchingWav)return;const t=this.credential?.token;if(t)try{this.isFetchingWav=!0,w.info(this.$t("suno.message.fetchingWav"));const r=(await R.wav({audio_id:e.id},{token:t})).data?.data?.audio_url;r?this.onDownload(null,r):w.error(this.$t("suno.message.fetchWavFailed"))}catch{w.error(this.$t("suno.message.fetchWavFailed"))}finally{this.isFetchingWav=!1}},async handleMidiDownload(e){if(!e?.id||this.isFetchingMidi)return;const t=this.credential?.token;if(t)try{this.isFetchingMidi=!0,w.info(this.$t("suno.message.fetchingMidi"));const r=(await R.midi({audio_id:e.id},{token:t})).data?.data?.midi_url;r?this.onDownload(null,r):w.error(this.$t("suno.message.fetchMidiFailed"))}catch{w.error(this.$t("suno.message.fetchMidiFailed"))}finally{this.isFetchingMidi=!1}},async onGenerateAudioUrl(e,t){const d={action:e,audio_id:t,callback_url:_e},r=this.credential?.token;if(!r){console.error("no token specified");return}w.info(this.$t("suno.message.startingTask")),R.audio(d,{token:r}).then(()=>{w.success(this.$t("suno.message.startTaskSuccess"))}).catch(m=>{w.error(m?.response?.data?.error?.message||this.$t("suno.message.startTaskFailed"))}).finally(async()=>{await this.onGetTasks(),await this.onScrollDown()})},isMashupSelected(e){return!!e.id&&this.mashupAudioIds.includes(e.id)},onToggleMashup(e){if(!e.id)return;const t=[...this.mashupAudioIds],d=t.indexOf(e.id);d!==-1?t.splice(d,1):t.push(e.id),this.$store.commit("suno/setConfig",{...this.$store.state.suno?.config,mashup_audio_ids:t})},async onScrollDown(){setTimeout(()=>{const e=document.querySelector(".tasks");e&&(e.scrollTop=e.scrollHeight)},1e3)},onStartTitleEdit(e){this.editingAudioId=e.id??null,this.editingTitle=e.title||"",this.$nextTick(()=>{this.$refs.titleInput?.focus?.()})},onSaveTitleEdit(e){if(this.editingAudioId!==e.id)return;const t=this.editingTitle.trim();if(t&&t!==e.title){const d=this.$store.state.suno?.tasks;if(d?.items)for(const r of d.items){const y=(r?.response?.data??[]).find($=>$.id===e.id);if(y){y.title=t;break}}}this.editingAudioId=null,this.editingTitle=""},onCancelTitleEdit(){this.editingAudioId=null,this.editingTitle=""},async onDelete(e){try{await we.confirm(this.$t("suno.message.confirmDelete"),{confirmButtonText:this.$t("suno.button.delete"),cancelButtonText:this.$t("common.button.cancel"),type:"warning"})}catch{return}const t=this.$store.state.suno?.tasks;if(t?.items)for(const d of t.items){const r=d?.response?.data??[],m=r.findIndex(y=>y.id===e.id);if(m!==-1){if(r.splice(m,1),r.length===0){const y=t.items.indexOf(d);y!==-1&&t.items.splice(y,1)}break}}this.$store.state?.suno?.audio?.id===e.id&&this.$store.dispatch("suno/setAudio",null),w.success(this.$t("suno.message.deleteSuccess"))},async onGetTasks(){if(this.loading){console.debug("loading");return}await this.$store.dispatch("suno/getTasks",{limit:30,offset:0})}}}),gi={class:"task"},$i=["onClick"],_i=["onClick"],vi={class:"left"},yi=["onClick"],bi=["onClick"],ki={key:2,class:"duration"},wi={class:"info"},Ci={key:1,class:"title-row"},Vi={class:"title"},Si={class:"style"},Ti={key:2,class:"progress-row"},Ai={class:"progress-text"},Ui={class:"right"},Pi={class:"el-dropdown-link"},Ei={class:"flex items-center min-w-[120px]"},Ii={class:"flex items-center min-w-[120px]"},Li={class:"flex items-center min-w-[120px]"},Ri={class:"el-dropdown-link"};function Mi(e,t,d,r,m,y){const $=l("el-checkbox"),p=l("el-image"),f=l("video-pause"),b=l("el-icon"),g=l("video-play"),A=l("el-input"),_=l("font-awesome-icon"),V=l("el-progress"),C=l("el-tooltip"),I=l("Loading"),U=l("el-dropdown-item"),K=l("el-dropdown-menu"),J=l("el-dropdown"),Q=q("loading");return n(),u("div",gi,[(n(!0),u(M,null,j(e.audios,h=>(n(),u("div",{key:h.id,class:G(["audio",{"mashup-selected":e.isMashupSelected(h)}]),onClick:P(S=>e.onClick(h),["stop"])},[e.isMashupMode&&h?.audio_url?(n(),u("div",{key:0,class:"mashup-check",onClick:P(S=>e.onToggleMashup(h),["stop"])},[o($,{"model-value":e.isMashupSelected(h),onClick:t[0]||(t[0]=P(()=>{},["stop"]))},null,8,["model-value"])],8,_i)):c("",!0),H((n(),u("div",vi,[o(p,{src:h?.image_url,class:"cover",fit:"cover",lazy:""},null,8,["src"]),h?.audio_url&&e.$store.state?.suno?.audio?.id===h.id&&e.$store.state?.suno?.audio?.state==="playing"?(n(),u("div",{key:0,class:"overlay",onClick:P(S=>e.onPause(h),["stop"])},[o(b,null,{default:i(()=>[o(f)]),_:1})],8,yi)):c("",!0),h?.audio_url&&(e.$store.state?.suno?.audio?.id!==h.id||e.$store.state?.suno?.audio?.id===h.id&&e.$store.state?.suno?.audio?.state==="paused")?(n(),u("div",{key:1,class:"overlay",onClick:P(S=>e.onPlay(h),["stop"])},[o(b,null,{default:i(()=>[o(g)]),_:1})],8,bi)):c("",!0),h?.duration?(n(),u("div",ki,a(e.useFormatDuring(h?.duration)),1)):c("",!0)])),[[Q,!h?.audio_url]]),s("div",wi,[e.editingAudioId===h.id?(n(),u("div",{key:0,class:"title-edit",onClick:t[2]||(t[2]=P(()=>{},["stop"]))},[o(A,{ref_for:!0,ref:"titleInput",modelValue:e.editingTitle,"onUpdate:modelValue":t[1]||(t[1]=S=>e.editingTitle=S),size:"small",onKeyup:[ne(S=>e.onSaveTitleEdit(h),["enter"]),ne(e.onCancelTitleEdit,["escape"])],onBlur:S=>e.onSaveTitleEdit(h)},null,8,["modelValue","onKeyup","onBlur"])])):(n(),u("div",Ci,[s("h2",Vi,a(h?.title),1),h?.audio_url?(n(),k(_,{key:0,icon:"fa-solid fa-pen",class:"edit-icon",onClick:P(S=>e.onStartTitleEdit(h),["stop"])},null,8,["onClick"])):c("",!0)])),s("p",Si,a(h?.style),1),!h?.audio_url&&h?.progress!=null&&h?.progress<100?(n(),u("div",Ti,[o(V,{percentage:Math.round(h.progress),"stroke-width":4,"show-text":!1,status:"warning",class:"progress-bar"},null,8,["percentage"]),s("span",Ai,a(e.$t("suno.name.generating"))+" "+a(Math.round(h.progress))+"%",1)])):c("",!0)]),s("div",Ui,[o(J,null,{dropdown:i(()=>[o(K,null,{default:i(()=>[o(U,{disabled:e.isFetchingVideoUrl,onClick:S=>e.handleVideoDownload(h)},{default:i(()=>[s("div",Ei,[e.isFetchingVideoUrl?(n(),k(b,{key:0,class:"is-loading mr-2"},{default:i(()=>[o(I)]),_:1})):c("",!0),s("span",null,a(e.$t("suno.button.download_video")),1)])]),_:2},1032,["disabled","onClick"]),h?.audio_url?(n(),k(U,{key:0,onClick:P(S=>e.onDownload(S,h?.audio_url),["stop"])},{default:i(()=>[v(a(e.$t("suno.button.download_audio")),1)]),_:2},1032,["onClick"])):c("",!0),o(U,{disabled:e.isFetchingWav,onClick:S=>e.handleWavDownload(h)},{default:i(()=>[s("div",Ii,[e.isFetchingWav?(n(),k(b,{key:0,class:"is-loading mr-2"},{default:i(()=>[o(I)]),_:1})):c("",!0),s("span",null,a(e.$t("suno.button.download_wav")),1)])]),_:2},1032,["disabled","onClick"]),o(U,{disabled:e.isFetchingMidi,onClick:S=>e.handleMidiDownload(h)},{default:i(()=>[s("div",Li,[e.isFetchingMidi?(n(),k(b,{key:0,class:"is-loading mr-2"},{default:i(()=>[o(I)]),_:1})):c("",!0),s("span",null,a(e.$t("suno.button.download_midi")),1)])]),_:2},1032,["disabled","onClick"])]),_:2},1024)]),default:i(()=>[s("span",Pi,[o(C,{effect:"dark",content:e.$t("suno.button.download"),placement:"top"},{default:i(()=>[h?.audio_url||h?.video_url?(n(),k(_,{key:0,icon:"fa-solid fa-download",class:"icon icon-download"})):c("",!0)]),_:2},1032,["content"])])]),_:2},1024),o(J,null,{dropdown:i(()=>[o(K,{class:"suno-action-menu"},{default:i(()=>[h?.audio_url?(n(),k(U,{key:0,onClick:P(S=>e.onExtend(S,h),["stop"])},{default:i(()=>[o(_,{icon:"fa-solid fa-forward",class:"menu-icon"}),v(" "+a(e.$t("suno.button.extend")),1)]),_:2},1032,["onClick"])):c("",!0),o(U,{onClick:P(S=>e.onCover(h),["stop"])},{default:i(()=>[o(_,{icon:"fa-solid fa-music",class:"menu-icon"}),v(" "+a(e.$t("suno.button.cover_music")),1)]),_:2},1032,["onClick"]),h?.id?(n(),k(U,{key:1,onClick:P(S=>e.onMashup(h),["stop"])},{default:i(()=>[o(_,{icon:"fa-solid fa-shuffle",class:"menu-icon"}),v(" "+a(e.$t("suno.button.mashup")),1)]),_:2},1032,["onClick"])):c("",!0),h?.id&&h?.action==="extend"?(n(),k(U,{key:2,onClick:P(S=>e.onConcatMusic(h?.id),["stop"])},{default:i(()=>[o(_,{icon:"fa-solid fa-link",class:"menu-icon"}),v(" "+a(e.$t("suno.button.concat_music")),1)]),_:2},1032,["onClick"])):c("",!0),t[3]||(t[3]=s("div",{class:"menu-divider"},null,-1)),h?.id?(n(),k(U,{key:3,onClick:P(S=>e.onReplaceSection(h),["stop"])},{default:i(()=>[o(_,{icon:"fa-solid fa-scissors",class:"menu-icon"}),v(" "+a(e.$t("suno.button.replace_section")),1)]),_:2},1032,["onClick"])):c("",!0),h?.id?(n(),k(U,{key:4,onClick:P(S=>e.onOverpainting(h),["stop"])},{default:i(()=>[o(_,{icon:"fa-solid fa-microphone",class:"menu-icon"}),v(" "+a(e.$t("suno.button.overpainting")),1)]),_:2},1032,["onClick"])):c("",!0),h?.id?(n(),k(U,{key:5,onClick:P(S=>e.onUnderpainting(h),["stop"])},{default:i(()=>[o(_,{icon:"fa-solid fa-guitar",class:"menu-icon"}),v(" "+a(e.$t("suno.button.underpainting")),1)]),_:2},1032,["onClick"])):c("",!0),h?.id?(n(),k(U,{key:6,onClick:P(S=>e.onSamples(h),["stop"])},{default:i(()=>[o(_,{icon:"fa-solid fa-drum",class:"menu-icon"}),v(" "+a(e.$t("suno.button.samples")),1)]),_:2},1032,["onClick"])):c("",!0),t[4]||(t[4]=s("div",{class:"menu-divider"},null,-1)),h.id?(n(),k(U,{key:7,onClick:P(S=>e.onGetStems(h.id),["stop"])},{default:i(()=>[o(_,{icon:"fa-solid fa-layer-group",class:"menu-icon"}),v(" "+a(e.$t("suno.button.get_stems")),1)]),_:2},1032,["onClick"])):c("",!0),h.id?(n(),k(U,{key:8,onClick:P(S=>e.onGetAllStems(h.id),["stop"])},{default:i(()=>[o(_,{icon:"fa-solid fa-bars-staggered",class:"menu-icon"}),v(" "+a(e.$t("suno.button.all_stems")),1)]),_:2},1032,["onClick"])):c("",!0),h?.id?(n(),k(U,{key:9,onClick:P(S=>e.onRemaster(h.id),["stop"])},{default:i(()=>[o(_,{icon:"fa-solid fa-wand-magic-sparkles",class:"menu-icon"}),v(" "+a(e.$t("suno.button.remaster")),1)]),_:2},1032,["onClick"])):c("",!0),h?.id?(n(),k(U,{key:10,onClick:P(S=>e.onExtractVocals(h.id),["stop"])},{default:i(()=>[o(_,{icon:"fa-solid fa-headphones",class:"menu-icon"}),v(" "+a(e.$t("suno.button.extract_vocals")),1)]),_:2},1032,["onClick"])):c("",!0),h?.id?(n(),k(U,{key:11,onClick:P(S=>e.onArtistConsistency(h),["stop"])},{default:i(()=>[o(_,{icon:"fa-solid fa-palette",class:"menu-icon"}),v(" "+a(e.$t("suno.button.artist_consistency")),1)]),_:2},1032,["onClick"])):c("",!0),t[5]||(t[5]=s("div",{class:"menu-divider"},null,-1)),h?.id?(n(),k(U,{key:12,onClick:P(S=>e.onGetTiming(h.id),["stop"])},{default:i(()=>[o(_,{icon:"fa-solid fa-clock",class:"menu-icon"}),v(" "+a(e.$t("suno.button.get_timing")),1)]),_:2},1032,["onClick"])):c("",!0),t[6]||(t[6]=s("div",{class:"menu-divider"},null,-1)),h?.id?(n(),k(U,{key:13,class:"delete-item",onClick:P(S=>e.onDelete(h),["stop"])},{default:i(()=>[o(_,{icon:"fa-solid fa-trash",class:"menu-icon delete-icon"}),v(" "+a(e.$t("suno.button.delete")),1)]),_:2},1032,["onClick"])):c("",!0)]),_:2,__:[3,4,5,6]},1024)]),default:i(()=>[s("span",Ri,[o(C,{effect:"dark",content:e.$t("suno.button.more"),placement:"top"},{default:i(()=>[h?.audio_url||h?.video_url?(n(),k(_,{key:0,icon:"fa-solid fa-ellipsis",class:"icon icon-ellipsis"})):c("",!0)]),_:2},1032,["content"])])]),_:2},1024)])],10,$i))),128))])}const Fi=E(hi,[["render",Mi]]),Di={class:"player-slider"},zi=T({__name:"PlayerSlider",setup(e){const t=te(),d=O({get:()=>t.state.suno?.audio?.progress,set:$=>t.commit("suno/setAudio",{...t.state.suno.audio,progress:$})}),r=O({get:()=>t.state.suno?.audio?.duration,set:$=>t.commit("suno/setAudio",{...t.state.suno.audio,duration:$})}),m=()=>{},y=$=>t.dispatch("suno/setAudio",{...t.state.suno.audio,progress:$});return($,p)=>(n(),u("div",Di,[o(z(pe),{modelValue:d.value,"onUpdate:modelValue":p[0]||(p[0]=f=>d.value=f),"show-tooltip":!1,min:0,max:r.value,onChange:y,onInput:m},null,8,["modelValue","max"])]))}}),Gi={class:"flex player-song"},ji=["src"],Bi={class:"ml-2 text-xs flex flex-col justify-between"},Oi={class:"w-52 2xl:w-96 cursor-pointer truncate"},Ni={class:"flex"},Wi={class:"ml-2 text-dc"},Hi=T({__name:"PlayerSong",setup(e){const t=te(),d=O({get:()=>t.state.suno.audio,set:r=>t.commit("suno/setAudio",r)});return Ne(d,(r,m)=>{if(r?.audio_url!==m?.audio_url){console.log("audio changed",r),r.object&&(console.log("111",r.object),r.object.pause(),delete r.object);const y=new Audio(r.audio_url);r.state==="playing"?y.play():y.pause(),y.addEventListener("loadedmetadata",()=>{y.currentTime=0,y.addEventListener("timeupdate",()=>{t.commit("suno/setAudio",{...t.state.suno.audio,progress:y.currentTime})})}),t.commit("suno/setAudio",{...t.state.suno.audio,object:y})}else if(r?.progress!==m?.progress&&Math.abs(r.progress-r.object.currentTime)>2){console.log("progress changed",r.progress);const y=t.state.suno.audio;y.object&&(y.object.currentTime=y.progress)}else r?.state!==m?.state&&(console.log("state changed",r.state),r.object&&(r.state==="playing"?r.object.play():r.object.pause()));r?.volume!==m?.volume&&(console.log("volume changed",r.volume),r.object&&(r.object.volume=r.volume/100))}),(r,m)=>(n(),u("div",Gi,[s("img",{alt:"",class:"w-11 h-11 rounded",src:d.value?.image_url||z(Xe)},null,8,ji),s("div",Bi,[s("div",Oi,[s("div",Ni,[s("span",null,a(d.value?.title||"Music"),1),s("span",Wi,"- "+a(d.value?.style||"SmallRuralDog"),1)])])])]))}}),qi={class:"flex justify-end items-center gap-x-2.5"},Ki={class:"text-xs"},Ji=T({__name:"PlayerAction",setup(e){const t=te(),d=O({get:()=>t.state.suno?.audio?.progress,set:m=>t.commit("suno/setAudio",{...t.state.suno.audio,progress:m})}),r=O({get:()=>t.state.suno?.audio?.duration,set:m=>t.commit("suno/setAudio",{...t.state.suno.audio,duration:m})});return(m,y)=>(n(),u("div",qi,[s("span",Ki,a(z(X)(d.value))+" / "+a(z(X)(r.value)),1)]))}}),Qi={class:"player-volume flex flex-col items-center pt-2"},Yi={class:"text-sm mt-3"},Xi=T({__name:"PlayerVolumeSlider",setup(e){const t=te(),d=O({get:()=>t.state.suno.audio?.volume,set:y=>t.commit("suno/setAudio",{...t.state.suno.audio,volume:y})}),r=O({get:()=>t.state.suno.audio?.muted,set:y=>t.commit("suno/setAudio",{...t.state.suno.audio,muted:y})}),m=y=>t.dispatch("suno/setVolume",y);return(y,$)=>(n(),u("div",Qi,[o(z(pe),{modelValue:d.value,"onUpdate:modelValue":$[0]||($[0]=p=>d.value=p),vertical:"",height:"100px","show-tooltip":!1,max:100,min:0,size:"small",disabled:r.value,onInput:m},null,8,["modelValue","disabled"]),s("div",Yi,a(d.value),1)]))}}),Zi={class:"flex items-center justify-center gap-x-3"},xi=T({__name:"PlayerController",setup(e){const t=te(),d=()=>t.dispatch("suno/setAudio",{...t.state.suno.audio,state:t.state.suno.audio.state==="playing"?"paused":"playing"}),r=O(()=>t.state.suno.audio);return(m,y)=>(n(),u("div",Zi,[o(me,{icon:r.value?.state==="playing"?z(Ze):z(xe),size:"45",theme:"filled",class:"text-[var(--el-color-primary)] cursor-pointer",onClick:d},null,8,["icon"]),o(z(Te),{placement:"top",width:"50px",trigger:"click"},{reference:i(()=>[o(me,{icon:z(et),size:"20","stroke-width":2,class:"cursor-pointer"},null,8,["icon"])]),default:i(()=>[o(Xi)]),_:1})]))}}),ea={class:"flex flex-col items-stretch h-20"},ta={class:"flex grow px-5 items-center"},oa={class:"flex-1"},sa={class:"flex-1"},na={class:"flex-1"},ia=T({__name:"Player",setup(e){return(t,d)=>(n(),u("div",ea,[o(zi),s("div",ta,[s("div",oa,[o(Hi)]),s("div",sa,[o(xi)]),s("div",na,[o(Ji)])])]))}}),aa=T({name:"RecentPanel",components:{ElSkeletonItem:je,ElSkeleton:Ge,ElInput:N,ElButton:B,ElDropdown:Se,ElDropdownMenu:Ve,ElDropdownItem:Ce,ElPopover:Te,ElRadioGroup:Z,ElRadioButton:ie,ElSelect:le,ElOption:ae,FontAwesomeIcon:D,TaskPreview:Fi,Player:ia,NoTasks:st,ScrollList:Qe},props:{loading:{type:Boolean,default:!1}},emits:["reach-top"],data(){return{job:0,searchQuery:"",sortBy:"newest",filterType:"all",filterDuration:"all",filterVideo:"all",filterModel:"all"}},computed:{tasks(){return{...this.$store.state.suno?.tasks,items:this.$store.state.suno?.tasks?.items?.slice()}},sortLabel(){return this.sortBy==="newest"?this.$t("suno.sort.newest"):this.$t("suno.sort.oldest")},activeFilterCount(){let e=0;return this.filterType!=="all"&&e++,this.filterDuration!=="all"&&e++,this.filterVideo!=="all"&&e++,this.filterModel&&this.filterModel!=="all"&&e++,e},availableModels(){const e=this.tasks?.items||[],t=new Set;for(const d of e){const r=d?.response?.data??[];for(const m of r)m.model&&t.add(m.model)}return Array.from(t).sort()},filteredTasks(){let e=this.tasks?.items||[];if(this.searchQuery){const t=this.searchQuery.toLowerCase();e=e.filter(d=>(d?.response?.data??[]).some(m=>m.title?.toLowerCase().includes(t)||m.style?.toLowerCase().includes(t)||m.prompt?.toLowerCase().includes(t)))}return this.activeFilterCount>0&&(e=e.filter(t=>{const d=t?.request??{},r=t?.response?.data??[];return this.filterType==="vocal"&&d.instrumental===!0||this.filterType==="instrumental"&&d.instrumental!==!0?!1:this.filterDuration!=="all"||this.filterVideo!=="all"||this.filterModel&&this.filterModel!=="all"?r.some(m=>!(this.filterDuration==="short"&&!(typeof m.duration=="number"&&m.duration<60)||this.filterDuration==="medium"&&!(typeof m.duration=="number"&&m.duration>=60&&m.duration<=180)||this.filterDuration==="long"&&!(typeof m.duration=="number"&&m.duration>180)||this.filterVideo==="with"&&!m.video_url||this.filterVideo==="without"&&m.video_url||this.filterModel&&this.filterModel!=="all"&&m.model!==this.filterModel)):!0})),this.sortBy==="oldest"&&(e=[...e].reverse()),e}},methods:{onSortChange(e){this.sortBy=e},onResetFilters(){this.filterType="all",this.filterDuration="all",this.filterVideo="all",this.filterModel="all"},getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),la={key:0,class:"tasks"},ra={class:"left w-[70px] p-[10px] flex items-center"},da={class:"main w-[calc(100%-70px)] flex-1 p-[10px]"},ua={key:0,class:"task-toolbar"},ca={key:0,class:"filter-badge"},pa={class:"filter-popover"},ma={class:"filter-row"},fa={class:"filter-label"},ha={class:"filter-row"},ga={class:"filter-label"},$a={class:"filter-row"},_a={class:"filter-label"},va={key:0,class:"filter-row"},ya={class:"filter-label"},ba={class:"filter-actions"},ka={key:2,class:"w-full flex-1 flex items-center justify-center"},wa={class:"text-sm text-gray-400"},Ca={key:3,class:"w-full flex-1 flex flex-col items-center justify-center gap-2"},Va={class:"text-sm text-gray-400"},Sa={key:4,class:"w-full flex-1 flex items-center justify-center"},Ta={class:"h-20"};function Aa(e,t,d,r,m,y){const $=l("el-skeleton-item"),p=l("el-skeleton"),f=l("font-awesome-icon"),b=l("el-input"),g=l("el-button"),A=l("el-dropdown-item"),_=l("el-dropdown-menu"),V=l("el-dropdown"),C=l("el-radio-button"),I=l("el-radio-group"),U=l("el-option"),K=l("el-select"),J=l("el-popover"),Q=l("task-preview"),h=l("scroll-list"),S=l("no-tasks"),oe=l("player");return n(),u(M,null,[e.tasks?.items===void 0?(n(),u("div",la,[(n(),u(M,null,j(3,L=>s("div",{key:L,class:"flex"},[s("div",ra,[o(p,{animated:""},{template:i(()=>[o($,{variant:"image",class:"avatar w-[50px] h-[50px]"})]),_:1})]),s("div",da,[o(p,{animated:""},{template:i(()=>[o($,{variant:"p",class:"w-[200px] h-[15px] mb-[5px] mt-[10px]"}),o($,{variant:"text"})]),_:1})])])),64))])):(n(),u(M,{key:1},[e.tasks?.items?.length?(n(),u("div",ua,[o(b,{modelValue:e.searchQuery,"onUpdate:modelValue":t[0]||(t[0]=L=>e.searchQuery=L),size:"small",placeholder:e.$t("suno.placeholder.searchSongs"),clearable:"",class:"task-search"},{prefix:i(()=>[o(f,{icon:"fa-solid fa-magnifying-glass",class:"text-xs"})]),_:1},8,["modelValue","placeholder"]),o(V,{trigger:"click",onCommand:e.onSortChange},{dropdown:i(()=>[o(_,null,{default:i(()=>[o(A,{command:"newest",class:G({"is-active":e.sortBy==="newest"})},{default:i(()=>[v(a(e.$t("suno.sort.newest")),1)]),_:1},8,["class"]),o(A,{command:"oldest",class:G({"is-active":e.sortBy==="oldest"})},{default:i(()=>[v(a(e.$t("suno.sort.oldest")),1)]),_:1},8,["class"])]),_:1})]),default:i(()=>[o(g,{size:"small",class:"sort-btn"},{default:i(()=>[o(f,{icon:"fa-solid fa-arrow-down-wide-short",class:"mr-1"}),v(" "+a(e.sortLabel),1)]),_:1})]),_:1},8,["onCommand"]),o(J,{trigger:"click",placement:"bottom-end",width:260},{reference:i(()=>[o(g,{size:"small",class:G(["filter-btn",{"has-active-filter":e.activeFilterCount>0}])},{default:i(()=>[o(f,{icon:"fa-solid fa-filter",class:"mr-1"}),v(" "+a(e.$t("suno.filter.title"))+" ",1),e.activeFilterCount>0?(n(),u("span",ca,a(e.activeFilterCount),1)):c("",!0)]),_:1},8,["class"])]),default:i(()=>[s("div",pa,[s("div",ma,[s("div",fa,a(e.$t("suno.filter.type")),1),o(I,{modelValue:e.filterType,"onUpdate:modelValue":t[1]||(t[1]=L=>e.filterType=L),size:"small"},{default:i(()=>[o(C,{value:"all"},{default:i(()=>[v(a(e.$t("suno.filter.typeAll")),1)]),_:1}),o(C,{value:"vocal"},{default:i(()=>[v(a(e.$t("suno.filter.typeVocal")),1)]),_:1}),o(C,{value:"instrumental"},{default:i(()=>[v(a(e.$t("suno.filter.typeInstrumental")),1)]),_:1})]),_:1},8,["modelValue"])]),s("div",ha,[s("div",ga,a(e.$t("suno.filter.duration")),1),o(I,{modelValue:e.filterDuration,"onUpdate:modelValue":t[2]||(t[2]=L=>e.filterDuration=L),size:"small"},{default:i(()=>[o(C,{value:"all"},{default:i(()=>[v(a(e.$t("suno.filter.durationAll")),1)]),_:1}),o(C,{value:"short"},{default:i(()=>[v(a(e.$t("suno.filter.durationShort")),1)]),_:1}),o(C,{value:"medium"},{default:i(()=>[v(a(e.$t("suno.filter.durationMedium")),1)]),_:1}),o(C,{value:"long"},{default:i(()=>[v(a(e.$t("suno.filter.durationLong")),1)]),_:1})]),_:1},8,["modelValue"])]),s("div",$a,[s("div",_a,a(e.$t("suno.filter.video")),1),o(I,{modelValue:e.filterVideo,"onUpdate:modelValue":t[3]||(t[3]=L=>e.filterVideo=L),size:"small"},{default:i(()=>[o(C,{value:"all"},{default:i(()=>[v(a(e.$t("suno.filter.videoAll")),1)]),_:1}),o(C,{value:"with"},{default:i(()=>[v(a(e.$t("suno.filter.videoWith")),1)]),_:1}),o(C,{value:"without"},{default:i(()=>[v(a(e.$t("suno.filter.videoWithout")),1)]),_:1})]),_:1},8,["modelValue"])]),e.availableModels.length>0?(n(),u("div",va,[s("div",ya,a(e.$t("suno.filter.model")),1),o(K,{modelValue:e.filterModel,"onUpdate:modelValue":t[4]||(t[4]=L=>e.filterModel=L),size:"small",placeholder:e.$t("suno.filter.modelAll"),clearable:""},{default:i(()=>[o(U,{label:e.$t("suno.filter.modelAll"),value:"all"},null,8,["label"]),(n(!0),u(M,null,j(e.availableModels,L=>(n(),k(U,{key:L,label:L,value:L},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])):c("",!0),s("div",ba,[o(g,{size:"small",text:"",onClick:e.onResetFilters},{default:i(()=>[v(a(e.$t("suno.filter.reset")),1)]),_:1},8,["onClick"])])])]),_:1})])):c("",!0),e.filteredTasks?.length>0?(n(),k(h,{key:1,ref:"scrollList",class:"flex-1 w-full overflow-y-auto tasks p-2",loading:e.loading,onReachTop:t[5]||(t[5]=L=>e.$emit("reach-top"))},{default:i(()=>[(n(!0),u(M,null,j(e.filteredTasks,(L,Ae)=>(n(),k(Q,{key:Ae,"model-value":L,class:"preview"},null,8,["model-value"]))),128))]),_:1},8,["loading"])):e.searchQuery&&e.tasks?.items?.length>0?(n(),u("div",ka,[s("p",wa,a(e.$t("suno.message.noSearchResults")),1)])):e.activeFilterCount>0&&e.tasks?.items?.length>0?(n(),u("div",Ca,[s("p",Va,a(e.$t("suno.message.noFilterResults")),1),o(g,{size:"small",text:"",onClick:e.onResetFilters},{default:i(()=>[v(a(e.$t("suno.filter.reset")),1)]),_:1},8,["onClick"])])):e.tasks?.items?.length===0?(n(),u("div",Sa,[o(S)])):c("",!0)],64)),H(s("div",Ta,[o(oe)],512),[[We,!!e.$store?.state?.suno?.audio?.object]])],64)}const Ua=E(aa,[["render",Aa],["__scopeId","data-v-4ab3f8f2"]]),Pa=T({name:"TaskPreview",components:{IconPicture:Oe,ElImage:W,ElAvatar:Be,ElIcon:ee},computed:{audio(){return this.$store.state.suno?.audio}}}),Ea={key:0,class:"size-full overflow-hidden"},Ia={class:"relative h-[300px]"},La={class:"flex items-center justify-center size-full bg-[var(--el-bg-color)]"},Ra={class:"absolute bottom-0 left-0 right-0 m-0 p-4 text-white z-10 bg-gradient-to-t from-black/70 to-transparent"},Ma={class:"p-4"},Fa={class:"flex items-center font-bold mb-2"},Da={class:"text-[var(--el-text-color-regular)] mb-2"},za={class:"text-xs text-[var(--el-text-color-regular)]"},Ga={class:"mt-4 text-sm leading-[25px] whitespace-pre-wrap"},ja={key:1,class:"w-full h-full"};function Ba(e,t,d,r,m,y){const $=l("icon-picture"),p=l("el-icon"),f=l("el-image"),b=l("el-avatar");return e.audio?.object?(n(),u("div",Ea,[s("div",Ia,[o(f,{src:e.audio.image_url,fit:"cover",class:"size-full"},{error:i(()=>[s("div",La,[o(p,{class:"text-3xl"},{default:i(()=>[o($)]),_:1})])]),_:1},8,["src"]),s("h2",Ra,a(e.audio?.title),1)]),s("div",Ma,[s("div",Fa,[o(b,{size:30,src:e.audio?.image_url,class:"mr-2"},null,8,["src"]),s("span",null,a(e.audio?.title),1)]),s("p",Da,a(e.audio?.style),1),s("p",za,a(e.$dayjs.format(e.audio?.created_at)),1),s("div",Ga,[s("p",null,a(e.audio?.lyric),1)])])])):(n(),u("div",ja))}const Oa=E(Pa,[["render",Ba]]),Na="https://webhook.acedata.cloud/suno",Wa=T({name:"SunoIndex",components:{Layout:ct,ConfigPanel:fi,RecentPanel:Ua,PreviewPanel:Oa},inject:["initialized"],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.suno?.status?.getApplications===Y.Request},tasksLoading(){return this.$store.state.suno?.status?.getTasks===Y.Request||this.fetchingTasks},service(){return this.$store.state.suno.service},credential(){return this.$store.state.suno.credential},config(){return this.$store.state.suno.config},initializing(){return this.$store.state.suno.status.getApplications===Y.Request},needApply(){return this.$store.state.suno.status.getApplications===Y.Success&&!this.application},application(){return this.$store.state.suno.application},tasks(){return this.$store.state.suno.tasks},applications(){return this.$store.state.suno.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 nt({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("suno/getService"),console.debug("end onGetService")},async onGetApplication(){console.debug("start onGetApplications"),await this.$store.dispatch("suno/getApplications"),console.debug("end onGetApplications"),await this.onGetTasks()},onApply(){Ke.create({application:this.application}).then(({data:e})=>{this.application=e,w.success(this.$t("application.message.applySuccessfully"))}).catch(e=>{e?.response?.data?.code===Je&&w.error(this.$t("application.message.alreadyApplied"))})},async onScrollDown(){await this.$nextTick();const 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);const{limit:t=5,createdAtMin:d,createdAtMax:r}=e||{};console.debug("limit",t,"createdAtMin",d,"createdAtMax",r),this.fetchingTasks=!0;try{await this.$store.dispatch("suno/getTasks",{limit:t,createdAtMin:d,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerateAudio(){const e={...this.config,callback_url:Na},t=this.credential?.token;if(!t){console.error("no token specified");return}w.info(this.$t("suno.message.startingTask")),R.audio(e,{token:t}).then(()=>{w.success(this.$t("suno.message.startTaskSuccess"))}).catch(d=>{w.error(d?.response?.data?.error?.message||this.$t("suno.message.startTaskFailed"))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ha(e,t,d,r,m,y){const $=l("config-panel"),p=l("recent-panel"),f=l("preview-panel"),b=l("layout");return n(),k(b,null,{config:i(()=>[o($,{onGenerate:e.onGenerateAudio},null,8,["onGenerate"])]),result:i(()=>[o(p,{ref:"recentPanel",class:"panel recent",loading:e.loadingMore,onReachTop:e.onReachTop},null,8,["loading","onReachTop"])]),preview:i(()=>[o(f)]),_:1})}const al=E(Wa,[["render",Ha],["__scopeId","data-v-d1296b1a"]]);export{al as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e={"button.thinkDeeper":{message:"Pensa più a fondo",description:"Pulsante per pensare in modo più approfondito"},"button.deepsearch":{message:"Ricerca approfondita",description:"Pulsante per la ricerca approfondita"},"button.search":{message:"Cerca",description:"Pulsante di ricerca"},"button.edit":{message:"Modifica messaggio",description:"Modifica il messaggio inviato"},"modelGroup.chatgpt":{message:"ChatGPT",description:"Nome del modello del servizio, ovvero GPT"},"modelGroup.chatgptDescription":{message:"Modello AI sviluppato da OpenAI",description:"Descrizione del modello ChatGPT"},"modelGroup.deepseek":{message:"DeepSeek",description:"Nome del modello del servizio, ovvero DeepSeek"},"modelGroup.deepseekDescription":{message:"Modello AI sviluppato da DeepSeek",description:"Descrizione del modello DeepSeek"},"modelGroup.grok":{message:"Grok",description:"Nome del modello del servizio, ovvero Grok"},"modelGroup.grokDescription":{message:"Modello AI sviluppato da xAI",description:"Descrizione del modello Grok"},"modelGroup.gemini":{message:"Gemini",description:"Nome del modello del servizio, ovvero Gemini"},"modelGroup.geminiDescription":{message:"Modello AI sviluppato da Google",description:"Descrizione del gruppo di modelli Gemini"},"modelGroup.claude":{message:"Claude",description:"Nome del modello del servizio, ovvero Claude"},"modelGroup.claudeDescription":{message:"Modello AI sviluppato da Anthropic",description:"Descrizione del gruppo di modelli Claude"},"modelGroup.kimi":{message:"Kimi",description:"Nome del modello del servizio, ovvero Kimi"},"modelGroup.kimiDescription":{message:"Modello AI sviluppato da Moonlight",description:"Descrizione del gruppo di modelli Kimi"},"modelGroup.glm":{message:"GLM",description:"Nome del modello del servizio, ovvero GLM"},"modelGroup.glmDescription":{message:"Modello di linguaggio sviluppato da Zhipu AI",description:"Descrizione del gruppo di modelli GLM"},"model.54":{message:"gpt-5.4",description:"Nome del modello del servizio, ovvero GPT 5.4"},"model.54Description":{message:"Modello di punta di ultima generazione GPT 5.4",description:"Descrizione del modello GPT 5.4"},"model.54Mini":{message:"gpt-5.4-mini",description:"Nome del modello del servizio, ovvero GPT 5.4 Mini"},"model.54MiniDescription":{message:"Modello GPT 5.4 più veloce e leggero",description:"Descrizione del modello GPT 5.4 Mini"},"model.54Nano":{message:"gpt-5.4-nano",description:"Nome del modello del servizio, ovvero GPT 5.4 Nano"},"model.54NanoDescription":{message:"Modello GPT 5.4 più piccolo e veloce",description:"Descrizione del modello GPT 5.4 Nano"},"model.deepseekChat":{message:"Standard 3.0",description:"Nome del modello del servizio, ovvero DeepSeek Chat"},"model.deepseekChatDescription":{message:"Adatto per compiti quotidiani",description:"Descrizione del modello DeepSeek Chat"},"model.deepseekReasoner":{message:"Ragionatore R1",description:"Nome del modello del servizio, ovvero DeepSeek Reasoner"},"model.deepseekReasonerDescription":{message:"Adatto per ragionamenti e pensieri approfonditi",description:"Descrizione del modello DeepSeek Reasoner"},"model.deepseekChat32":{message:"Versione sperimentale V3.2",description:"Nome del modello del servizio, ovvero DeepSeek V3.2 Exp"},"model.deepseekChat32Description":{message:"Ultima versione sperimentale",description:"Descrizione del modello DeepSeek V3.2"},"model.grok4":{message:"grok-4",description:"Nome del modello del servizio, ovvero Grok 4"},"model.grok4Description":{message:"Modello più avanzato attualmente disponibile",description:"Descrizione del modello Grok 4"},"model.grok3":{message:"grok-3",description:"Nome del modello del servizio"},"model.grok3Description":{message:"Adatto per la maggior parte dei compiti",description:"Descrizione del modello Grok3"},"model.grok3Reasoner":{message:"Ragionatore grok-3",description:"Nome del modello del servizio, ovvero Grok3 Reasoner"},"model.grok3ReasonerDescription":{message:"Adatto per ragionamenti e pensieri approfonditi",description:"Descrizione del modello Grok3 Reasoner"},"model.grok3Deepsearch":{message:"grok-3 Ricerca approfondita",description:"Nome del modello del servizio, ovvero Grok3 Deepsearch"},"model.grok3DeepsearchDescription":{message:"Adatto per ricerche approfondite e problemi complessi",description:"Descrizione del modello Grok3 Deepsearch"},"model.gemini30Pro":{message:"gemini-3.0-pro",description:"Nome del modello del servizio, ovvero Gemini 3.0 Pro"},"model.gemini30ProDescription":{message:"Modello più avanzato attualmente disponibile",description:"Descrizione del modello Gemini 3.0 Pro"},"model.gemini25Pro":{message:"gemini-2.5-pro",description:"Nome del modello del servizio, ovvero Gemini 2.5 Pro"},"model.gemini25ProDescription":{message:"Adatto per compiti di ragionamento complesso",description:"Descrizione del modello Gemini 2.5 Pro"},"model.gemini25Flash":{message:"gemini-2.5-flash",description:"Nome del modello del servizio, ovvero Gemini 2.5 Flash"},"model.gemini25FlashDescription":{message:"Modello più veloce e leggero",description:"Descrizione del modello Gemini 2.5 Flash"},"model.claudeOpus4":{message:"claude-opus-4",description:"Nome del modello del servizio, ovvero Claude Opus 4"},"model.claudeOpus4Description":{message:"Modello più avanzato attualmente disponibile",description:"Descrizione del modello Claude Opus 4"},"model.claudeSonnet4":{message:"claude-sonnet-4",description:"Nome del modello del servizio, ovvero Claude Sonnet 4"},"model.claudeSonnet4Description":{message:"Adatto per la maggior parte dei compiti",description:"Descrizione del modello Claude Sonnet 4"},"model.claude37Sonnet":{message:"claude-3.7-sonnet",description:"Nome del modello del servizio, ovvero Claude 3.7 Sonnet"},"model.claude37SonnetDescription":{message:"Equilibrio tra prestazioni e velocità",description:"Descrizione del modello Claude 3.7 Sonnet"},"model.kimiK25":{message:"kimi-k2.5",description:"Nome del modello del servizio, ovvero Kimi K2.5"},"model.kimiK25Description":{message:"Il modello più avanzato attualmente disponibile",description:"Descrizione del modello Kimi K2.5"},"model.kimiK2Thinking":{message:"kimi-k2 inferenza",description:"Nome del modello del servizio, ovvero Kimi K2 inferenza"},"model.kimiK2ThinkingDescription":{message:"Adatto per inferenze e pensiero profondo",description:"Descrizione del modello Kimi K2 inferenza"},"model.kimiK2ThinkingTurbo":{message:"kimi-k2 inferenza turbo",description:"Nome del modello del servizio, ovvero Kimi K2 inferenza turbo"},"model.kimiK2ThinkingTurboDescription":{message:"Modello di inferenza più veloce",description:"Descrizione del modello Kimi K2 inferenza turbo"},"model.glm51":{message:"glm-5.1",description:"Nome del modello del servizio, ovvero GLM 5.1"},"model.glm51Description":{message:"Ultimo modello di punta di Zhipu",description:"Descrizione del modello GLM 5.1"},"model.glm47":{message:"glm-4.7",description:"Nome del modello del servizio, ovvero GLM 4.7"},"model.glm47Description":{message:"Equilibrio tra prestazioni e costi",description:"Descrizione del modello GLM 4.7"},"message.startNewChat":{message:"Inizia una nuova conversazione",description:"Messaggio nella pagina web che informa l'utente di iniziare una nuova conversazione"},"message.uploadFile":{message:"Carica file",description:"Messaggio nella pagina web che informa l'utente di caricare un file"},"message.noToken":{message:"Richiedi prima il servizio appropriato",description:"Messaggio nella pagina web che informa l'utente di richiedere prima il servizio appropriato"},"message.newMessagePlaceholder":{message:"Inserisci la tua domanda...",description:"Segnaposto nella pagina web che informa l'utente di inserire una domanda"},"message.noInput":{message:"La domanda non può essere vuota",description:"Messaggio nella pagina web che informa l'utente che la domanda non può essere vuota"},"message.uploadReferencesExceed":{message:"Puoi caricare al massimo 1 file",description:"Messaggio nella pagina web che informa l'utente che può caricare al massimo 1 file"},"message.uploadReferencesError":{message:"Caricamento del file fallito, riprova più tardi",description:"Messaggio nella pagina web che informa l'utente che il caricamento del file è fallito, riprova più tardi"},"message.notApplied":{message:"Non hai ancora richiesto questo servizio, richiedilo prima",description:"Messaggio nella pagina web che informa l'utente che non ha ancora richiesto questo servizio, richiedilo prima"},"message.tryForFree":{message:"Prova gratuita",description:"Messaggio nella pagina web che informa l'utente della prova gratuita"},"message.question1":{message:"Crea un piano di allenamento",description:"Domanda di esempio per iniziare una conversazione, chiedendo all'utente di scrivere un codice JavaScript che stampi 'Hello World'"},"message.question2":{message:"Crea una pagina web personale",description:"Domanda di esempio per iniziare una conversazione, chiedendo all'utente di scrivere un'email a Mike per informarlo del suo recente trasloco"},"message.question3":{message:"Progetta un gioco di programmazione divertente",description:"Domanda di esempio per iniziare una conversazione, chiedendo all'utente di spiegare i principi fondamentali del calcolo quantistico in modo semplice"},"message.question4":{message:"Vivi Seul come un locale",description:"Domanda di esempio per iniziare una conversazione, chiedendo all'utente di spiegare l'impatto della realtà virtuale sulla creazione artistica"},"message.question5":{message:"Chi è più grande, 9.8 o 9.11?",description:"Domanda di esempio per iniziare una conversazione, chiedendo di confrontare due numeri"},"message.question6":{message:"Qual è l'impatto dell'IA sul futuro?",description:"Domanda di esempio per iniziare una conversazione, chiedendo quale sia l'impatto dell'IA sul futuro"},"message.question7":{message:"Come migliorare l'efficienza di apprendimento?",description:"Domanda di esempio per iniziare una conversazione, chiedendo come migliorare la propria efficienza di apprendimento"},"message.question8":{message:"Come migliorare la concentrazione?",description:"Domanda di esempio per iniziare una conversazione, chiedendo come migliorare la propria concentrazione"},"message.errorApiError":{message:"Risposta fallita, riprova più tardi",description:"Messaggio nella pagina web che informa l'utente che la risposta è fallita, riprova più tardi"},"message.errorBadRequest":{message:"Contenuto della richiesta non valido, riprova",description:"Messaggio nella pagina web che informa l'utente che il contenuto della richiesta non è valido, riprova"},"message.errorNoConversation":{message:"La conversazione non esiste o è scaduta, inizia una nuova conversazione",description:"Messaggio nella pagina web che informa l'utente che la conversazione non esiste o è scaduta, inizia una nuova conversazione"},"message.errorContentTooLarge":{message:"Il contenuto è troppo lungo, accorcia e riprova",description:"Messaggio sulla pagina che informa l'utente che il contenuto è troppo lungo, accorcia e riprova"},"message.errorTooManyRequests":{message:"Le tue operazioni sono troppo frequenti, riprova più tardi",description:"Messaggio sulla pagina che informa l'utente che le operazioni sono troppo frequenti, riprova più tardi"},"message.errorBusy":{message:"Server occupato, riprova più tardi",description:"Messaggio sulla pagina che informa l'utente che il server è occupato, riprova più tardi"},"message.errorUsedUp":{message:"Hai esaurito il numero di utilizzi, acquista più utilizzi per continuare",description:"Messaggio sulla pagina che informa l'utente che ha esaurito il numero di utilizzi, acquista più utilizzi per continuare"},"message.errorUnknown":{message:"Si è verificato un errore sconosciuto, riprova più tardi o contatta il supporto",description:"Messaggio sulla pagina che informa l'utente che si è verificato un errore sconosciuto, riprova più tardi o contatta il supporto"},"message.errorTimeout":{message:"Tempo di attesa scaduto, riprova più tardi",description:"Messaggio sulla pagina che informa l'utente che il tempo di attesa è scaduto, riprova più tardi"},"message.errorNotApplied":{message:"Non hai ancora richiesto questo servizio, richiedilo prima di continuare",description:"Messaggio sulla pagina che informa l'utente che non ha ancora richiesto questo servizio, richiedilo prima di continuare"},"message.confirmDelete":{message:"Conferma eliminazione",description:"Messaggio sulla pagina che informa l'utente di confermare l'eliminazione"},"message.howToUse":{message:"L'AI potrebbe commettere errori, controlla le informazioni importanti.",description:"Messaggio sulla pagina che informa l'utente che l'AI potrebbe commettere errori, controlla le informazioni importanti"},"title.chat":{message:"Chat AI",description:"Titolo della pagina, ovvero Chat AI"},"title.example":{message:"Esempio",description:"Titolo della pagina, ovvero Esempio"},"title.capabilities":{message:"Funzionalità",description:"Titolo della pagina, ovvero Funzionalità"},"title.limitations":{message:"Limitazioni",description:"Titolo sulla pagina che indica che questa parte riguarda le limitazioni tecniche del servizio"},"title.complexQuestion":{message:"Rispondere a domande complesse",description:"Titolo sulla pagina che indica che questa parte riguarda la capacità del servizio di rispondere a domande complesse"},"title.professionalQuestion":{message:"Consultare domande professionali",description:"Titolo sulla pagina che indica che questa parte riguarda la capacità del servizio di consultare domande professionali"},"title.getTips":{message:"Ottieni ispirazione e idee",description:"Titolo sulla pagina che indica che questa parte riguarda la capacità del servizio di ottenere ispirazione e idee"},"group.today":{message:"Oggi",description:"Nome del gruppo sulla pagina, ovvero Oggi"},"group.yesterday":{message:"Ieri",description:"Nome del gruppo sulla pagina, ovvero Ieri"},"group.thisWeek":{message:"Questa settimana",description:"Nome del gruppo sulla pagina, ovvero Questa settimana"},"group.earlier":{message:"Precedente",description:"Nome del gruppo sulla pagina, ovvero Precedente"},"mcp.title":{message:"Server MCP",description:"Titolo della finestra di dialogo di gestione del server MCP"},"mcp.addServer":{message:"Aggiungi server",description:"Pulsante per aggiungere un server MCP"},"mcp.name":{message:"Nome",description:"Nome del server MCP"},"mcp.namePlaceholder":{message:"Assegna un nome al server",description:"Segnaposto per il nome del server MCP"},"mcp.url":{message:"URL",description:"URL del server MCP"},"mcp.urlPlaceholder":{message:"https://example.com/mcp",description:"Segnaposto per l'URL del server MCP"},"mcp.description":{message:"Descrizione",description:"Descrizione del server MCP"},"mcp.descriptionPlaceholder":{message:"Descrivi l'uso di questo server",description:"Segnaposto per la descrizione del server MCP"},"mcp.authType":{message:"Tipo di autenticazione",description:"Tipo di autenticazione del server MCP"},"mcp.authNone":{message:"Nessuna",description:"Nessuna autenticazione"},"mcp.authBearer":{message:"Bearer Token",description:"Autenticazione con Bearer Token"},"mcp.authToken":{message:"Token",description:"Token di autenticazione"},"mcp.authTokenPlaceholder":{message:"Inserisci il token di autenticazione",description:"Segnaposto per il token di autenticazione"},"mcp.test":{message:"Testa connessione",description:"Testa la connessione al server MCP"},"mcp.testSuccess":{message:"Connessione riuscita",description:"Test di connessione riuscito"},"mcp.testFailed":{message:"Connessione fallita",description:"Test di connessione fallito"},"mcp.toolsFound":{message:"Trovati {count} strumenti",description:"Numero di strumenti trovati"},"mcp.empty":{message:"Nessun server MCP disponibile, aggiungine uno per espandere le capacità dell'AI",description:"La lista dei server MCP è vuota"},"mcp.loadErrorHint":{message:"Impossibile caricare il server MCP, questa funzionalità potrebbe non essere ancora disponibile.",description:"Messaggio di errore quando il server MCP non si carica a causa di errori di rete/CORS"},"mcp.nameUrlRequired":{message:"Compila nome e URL",description:"Nome e URL sono obbligatori"},"mcp.urlRequired":{message:"Compila l'URL",description:"L'URL è obbligatorio"},"mcp.created":{message:"Aggiunto con successo",description:"Server MCP aggiunto con successo"},"mcp.updated":{message:"Aggiornato con successo",description:"Server MCP aggiornato con successo"},"mcp.deleted":{message:"Eliminato con successo",description:"Server MCP eliminato con successo"},"mcp.saveFailed":{message:"Salvataggio fallito",description:"Salvataggio del server MCP fallito"},"mcp.deleteConfirm":{message:'Confermi di eliminare il server "{name}"?',description:"Conferma di eliminazione"},"mcp.tooltip":{message:"Server MCP",description:"Messaggio di suggerimento per il pulsante MCP"},"mcp.authOAuth":{message:"OAuth 2.0",description:"Tipo di autenticazione OAuth"},"mcp.oauthHint":{message:"Dopo il salvataggio, fai clic sul pulsante 'Autorizza' nella scheda del server per completare l'autenticazione OAuth.",description:"Messaggio di suggerimento quando si seleziona il tipo di autenticazione OAuth"},"mcp.authorize":{message:"Autorizza",description:"Pulsante di autorizzazione OAuth"},"mcp.oauthAuthorized":{message:"Autorizzazione OAuth riuscita",description:"Messaggio di successo per l'autorizzazione OAuth"},"mcp.oauthFailed":{message:"Autorizzazione OAuth fallita",description:"Messaggio di errore per l'autorizzazione OAuth"},"mcp.popupBlocked":{message:"Finestra pop-up bloccata, consenti le finestre pop-up per questo sito.",description:"Messaggio di avviso per finestra pop-up bloccata"},"connector.title":{message:"Connettore",description:"Titolo della finestra di gestione del connettore"},"connector.tooltip":{message:"Connettore OAuth",description:"Messaggio di suggerimento per il pulsante del connettore"},"connector.noProviders":{message:"Nessun connettore disponibile, configura i fornitori OAuth sul server.",description:"Messaggio quando non ci sono fornitori disponibili"},"connector.connect":{message:"Connetti",description:"Pulsante di connessione"},"connector.disconnect":{message:"Disconnetti",description:"Pulsante di disconnessione"},"connector.connected":{message:"Connettore connesso con successo",description:"Messaggio di successo per la connessione"},"connector.disconnected":{message:"Connettore disconnesso",description:"Messaggio di successo per la disconnessione"},"connector.authFailed":{message:"Autorizzazione fallita, riprova.",description:"Messaggio di errore per autorizzazione fallita"},"connector.loadError":{message:"Caricamento del connettore fallito",description:"Messaggio di errore di caricamento"},"connector.loadErrorHint":{message:"Impossibile caricare il connettore, questa funzionalità potrebbe non essere ancora disponibile.",description:"Messaggio di errore quando il connettore non si carica a causa di errori di rete/CORS"},"connector.disconnectError":{message:"Disconnessione del connettore fallita",description:"Messaggio di errore per disconnessione"},"connector.toggleError":{message:"Aggiornamento del connettore fallito",description:"Messaggio di errore per il toggle"},"connector.processing":{message:"Elaborazione dell'autorizzazione in corso...",description:"Messaggio di elaborazione per il callback OAuth"},"connector.authSuccess":{message:"Autorizzazione riuscita!",description:"Messaggio di successo per il callback OAuth"},"connector.closeWindow":{message:"Questa finestra si chiuderà automaticamente.",description:"Messaggio di chiusura per il callback OAuth"},"skill.title":{message:"Competenze",description:"Titolo della finestra di gestione delle competenze"},"skill.tooltip":{message:"Competenze AI",description:"Messaggio di suggerimento per il pulsante delle competenze"},"skill.builtin":{message:"Integrato",description:"Etichetta per le competenze integrate"},"skill.empty":{message:"Nessuna competenza disponibile.",description:"Messaggio quando l'elenco delle competenze è vuoto"},"skill.loadError":{message:"Caricamento delle competenze fallito",description:"Messaggio di errore per il caricamento delle competenze"},"skill.add":{message:"Aggiungi competenza",description:"Etichetta del pulsante per aggiungere competenza"},"skill.delete":{message:"Elimina",description:"Etichetta del pulsante per eliminare competenza"},"skill.deleteConfirm":{message:"Confermi di eliminare la competenza «{name}»? Questa operazione non può essere annullata.",description:"Messaggio di conferma prima di eliminare una competenza"},"skill.deleteSuccess":{message:"Eliminato",description:"Messaggio di successo per l'eliminazione della competenza"},"skill.deleteError":{message:"Eliminazione fallita",description:"Messaggio di errore per l'eliminazione della competenza"},"skill.createSuccess":{message:"Competenze create",description:"Messaggio di successo per la creazione della competenza"},"skill.createError":{message:"Creazione della competenza fallita",description:"Messaggio di errore per la creazione della competenza"},"skill.form.name":{message:"Nome",description:"Etichetta del campo nome nel modulo delle competenze"},"skill.form.namePlaceholder":{message:"Ad esempio, riassuntore",description:"Segnaposto per il campo nome nel modulo delle competenze"},"skill.form.nameRequired":{message:"Compila il nome",description:"Messaggio di errore per il campo nome obbligatorio nel modulo delle competenze"},"skill.form.displayName":{message:"Nome visualizzato",description:"Etichetta del campo nome visualizzato nel modulo delle competenze"},"skill.form.displayNamePlaceholder":{message:"Nome da visualizzare nell'elenco delle competenze",description:"Segnaposto per il campo nome visualizzato nel modulo delle competenze"},"skill.form.icon":{message:"Icona (emoji)",description:"Etichetta del campo icona nel modulo delle competenze"},"skill.form.description":{message:"Descrizione",description:"Etichetta del campo descrizione nel modulo delle competenze"},"skill.form.type":{message:"Tipo",description:"Etichetta del campo tipo nel modulo delle competenze"},"skill.form.typePrompt":{message:"Tipo di prompt",description:"Etichetta del tipo di prompt"},"skill.form.typeCode":{message:"Codice",description:"Etichetta del tipo di codice"},"skill.form.instructions":{message:"Contenuto del prompt",description:"Etichetta delle istruzioni del prompt"},"skill.form.instructionsPlaceholder":{message:"Incolla o scrivi il prompt / le istruzioni per questa abilità...",description:"Segnaposto per le istruzioni del prompt"},"skill.form.instructionsRequired":{message:"Il tipo di prompt deve contenere il contenuto del prompt",description:"Messaggio di obbligo per le istruzioni del prompt"},"skill.form.code":{message:"Codice",description:"Etichetta dell'abilità di codice"},"skill.form.codePlaceholder":{message:"Incolla il codice corrispondente a questa abilità...",description:"Segnaposto per l'abilità di codice"},"skill.form.codeRequired":{message:"Il tipo di codice deve contenere il codice",description:"Messaggio di obbligo per l'abilità di codice"},"skill.form.tags":{message:"Tag",description:"Etichetta dei tag del modulo abilità"},"skill.form.tagsPlaceholder":{message:"Separati da virgole, ad esempio: scrittura, programmazione",description:"Segnaposto per i tag del modulo abilità"},"skill.form.uploadText":{message:"Carica file .txt / .md",description:"Pulsante per caricare il file del prompt"},"skill.form.uploadCode":{message:"Carica file di codice",description:"Pulsante per caricare il file di codice"},"agent.title":{message:"Agente desktop",description:"Titolo della finestra di gestione dell'agente"},"agent.tooltip":{message:"Agente desktop",description:"Suggerimento del pulsante dell'agente"},"agent.connected":{message:"Connesso",description:"Stato dell'agente connesso"},"agent.notConnected":{message:"Non connesso",description:"Stato dell'agente non connesso"},"agent.description":{message:"Collega l'agente desktop per accedere ai file locali, eseguire comandi e utilizzare il server MCP locale durante le conversazioni AI.",description:"Descrizione dell'agente"},"agent.name":{message:"Nome dell'agente",description:"Etichetta del nome dell'agente"},"agent.tools":{message:"Strumenti disponibili",description:"Etichetta del numero di strumenti dell'agente"},"agent.connectedSince":{message:"Tempo di connessione",description:"Etichetta del tempo di connessione dell'agente"},"agent.connectedHint":{message:"Il tuo agente desktop è connesso e pronto all'uso.",description:"Suggerimento per l'agente connesso"},"agent.installLabel":{message:"Installa l'agente desktop:",description:"Etichetta delle istruzioni di installazione"},"agent.runLabel":{message:"Esegui l'agente:",description:"Etichetta delle istruzioni di esecuzione"}};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e={"button.thinkDeeper":{message:"Глибше думати",description:"Кнопка для глибшого роздуму"},"button.deepsearch":{message:"Глибокий пошук",description:"Кнопка для глибокого пошуку"},"button.search":{message:"Пошук",description:"Кнопка для пошуку"},"button.edit":{message:"Редагувати повідомлення",description:"Редагування надісланого повідомлення"},"modelGroup.chatgpt":{message:"ChatGPT",description:"Назва моделі сервісу, тобто GPT"},"modelGroup.chatgptDescription":{message:"AI модель, розроблена компанією OpenAI",description:"Опис моделі ChatGPT"},"modelGroup.deepseek":{message:"DeepSeek",description:"Назва моделі сервісу, тобто DeepSeek"},"modelGroup.deepseekDescription":{message:"AI модель, розроблена компанією DeepSeek",description:"Опис моделі DeepSeek"},"modelGroup.grok":{message:"Grok",description:"Назва моделі сервісу, тобто Grok"},"modelGroup.grokDescription":{message:"AI модель, розроблена компанією xAI",description:"Опис моделі Grok3"},"modelGroup.gemini":{message:"Gemini",description:"Назва моделі сервісу, тобто Gemini"},"modelGroup.geminiDescription":{message:"AI модель, розроблена компанією Google",description:"Опис групи моделей Gemini"},"modelGroup.claude":{message:"Claude",description:"Назва моделі сервісу, тобто Claude"},"modelGroup.claudeDescription":{message:"AI модель, розроблена компанією Anthropic",description:"Опис групи моделей Claude"},"modelGroup.kimi":{message:"Kimi",description:"Назва моделі сервісу, тобто Kimi"},"modelGroup.kimiDescription":{message:"AI модель, розроблена компанією Dark Side of the Moon",description:"Опис групи моделей Kimi"},"modelGroup.glm":{message:"GLM",description:"Назва моделі сервісу, тобто GLM"},"modelGroup.glmDescription":{message:"Велика мовна модель, розроблена компанією Zhiyu",description:"Опис групи моделей GLM"},"model.54":{message:"gpt-5.4",description:"Назва моделі сервісу, тобто GPT 5.4"},"model.54Description":{message:"Остання флагманська модель GPT 5.4",description:"Опис моделі GPT 5.4"},"model.54Mini":{message:"gpt-5.4-mini",description:"Назва моделі сервісу, тобто GPT 5.4 Mini"},"model.54MiniDescription":{message:"Швидша та легша модель GPT 5.4",description:"Опис моделі GPT 5.4 Mini"},"model.54Nano":{message:"gpt-5.4-nano",description:"Назва моделі сервісу, тобто GPT 5.4 Nano"},"model.54NanoDescription":{message:"Найменша та найшвидша модель GPT 5.4",description:"Опис моделі GPT 5.4 Nano"},"model.deepseekChat":{message:"Стандарт 3.0",description:"Назва моделі сервісу, тобто DeepSeek Chat"},"model.deepseekChatDescription":{message:"Призначена для повсякденних завдань",description:"Опис моделі DeepSeek Chat"},"model.deepseekReasoner":{message:"R1 Розумник",description:"Назва моделі сервісу, тобто DeepSeek Reasoner"},"model.deepseekReasonerDescription":{message:"Призначена для розумування та глибокого мислення",description:"Опис моделі DeepSeek Reasoner"},"model.deepseekChat32":{message:"V3.2 Експериментальна версія",description:"Назва моделі сервісу, тобто DeepSeek V3.2 Exp"},"model.deepseekChat32Description":{message:"Остання експериментальна версія",description:"Опис моделі DeepSeek V3.2"},"model.grok4":{message:"grok-4",description:"Назва моделі сервісу, тобто Grok 4"},"model.grok4Description":{message:"Найсучасніша модель на сьогодні",description:"Опис моделі Grok 4"},"model.grok3":{message:"grok-3",description:"Назва моделі сервісу"},"model.grok3Description":{message:"Призначена для більшості завдань",description:"Опис моделі Grok3"},"model.grok3Reasoner":{message:"grok-3 Розумник",description:"Назва моделі сервісу, тобто Grok3 Reasoner"},"model.grok3ReasonerDescription":{message:"Призначена для розумування та глибокого мислення",description:"Опис моделі Grok3 Reasoner"},"model.grok3Deepsearch":{message:"grok-3 Глибокий пошук",description:"Назва моделі сервісу, тобто Grok3 Deepsearch"},"model.grok3DeepsearchDescription":{message:"Призначена для глибокого дослідження та складних питань",description:"Опис моделі Grok3 Deepsearch"},"model.gemini30Pro":{message:"gemini-3.0-pro",description:"Назва моделі сервісу, тобто Gemini 3.0 Pro"},"model.gemini30ProDescription":{message:"Найсучасніша модель на сьогодні",description:"Опис моделі Gemini 3.0 Pro"},"model.gemini25Pro":{message:"gemini-2.5-pro",description:"Назва моделі сервісу, тобто Gemini 2.5 Pro"},"model.gemini25ProDescription":{message:"Призначена для складних завдань розумування",description:"Опис моделі Gemini 2.5 Pro"},"model.gemini25Flash":{message:"gemini-2.5-flash",description:"Назва моделі сервісу, тобто Gemini 2.5 Flash"},"model.gemini25FlashDescription":{message:"Швидша та легша модель",description:"Опис моделі Gemini 2.5 Flash"},"model.claudeOpus4":{message:"claude-opus-4",description:"Назва моделі сервісу, тобто Claude Opus 4"},"model.claudeOpus4Description":{message:"Найсучасніша модель на сьогодні",description:"Опис моделі Claude Opus 4"},"model.claudeSonnet4":{message:"claude-sonnet-4",description:"Назва моделі служби, тобто Claude Sonnet 4"},"model.claudeSonnet4Description":{message:"Підходить для більшості завдань",description:"Опис моделі Claude Sonnet 4"},"model.claude37Sonnet":{message:"claude-3.7-sonnet",description:"Назва моделі служби, тобто Claude 3.7 Sonnet"},"model.claude37SonnetDescription":{message:"Збалансована продуктивність і швидкість",description:"Опис моделі Claude 3.7 Sonnet"},"model.kimiK25":{message:"kimi-k2.5",description:"Назва моделі служби, тобто Kimi K2.5"},"model.kimiK25Description":{message:"Найсучасніша модель на сьогодні",description:"Опис моделі Kimi K2.5"},"model.kimiK2Thinking":{message:"kimi-k2 розуміння",description:"Назва моделі служби, тобто Kimi K2 розуміння"},"model.kimiK2ThinkingDescription":{message:"Підходить для розуміння та глибокого мислення",description:"Опис моделі Kimi K2 розуміння"},"model.kimiK2ThinkingTurbo":{message:"kimi-k2 швидке розуміння",description:"Назва моделі служби, тобто Kimi K2 швидке розуміння"},"model.kimiK2ThinkingTurboDescription":{message:"Швидша модель розуміння",description:"Опис моделі Kimi K2 швидке розуміння"},"model.glm51":{message:"glm-5.1",description:"Назва моделі служби, тобто GLM 5.1"},"model.glm51Description":{message:"Остання флагманська модель Zhiyu",description:"Опис моделі GLM 5.1"},"model.glm47":{message:"glm-4.7",description:"Назва моделі служби, тобто GLM 4.7"},"model.glm47Description":{message:"Збалансована продуктивність і вартість",description:"Опис моделі GLM 4.7"},"message.startNewChat":{message:"Почати нову розмову",description:"Повідомлення на веб-сторінці, яке говорить користувачу почати нову розмову"},"message.uploadFile":{message:"Завантажити файл",description:"Повідомлення на веб-сторінці, яке говорить користувачу завантажити файл"},"message.noToken":{message:"Спочатку подайте заявку на відповідну послугу",description:"Повідомлення на веб-сторінці, яке говорить користувачу спочатку подати заявку на відповідну послугу"},"message.newMessagePlaceholder":{message:"Введіть ваше питання...",description:"Плейсхолдер на веб-сторінці, який говорить користувачу ввести питання"},"message.noInput":{message:"Питання не може бути порожнім",description:"Повідомлення на веб-сторінці, яке говорить користувачу, що питання не може бути порожнім"},"message.uploadReferencesExceed":{message:"Можна завантажити лише 1 файл",description:"Повідомлення на веб-сторінці, яке говорить користувачу, що можна завантажити лише 1 файл"},"message.uploadReferencesError":{message:"Завантаження файлу не вдалося, спробуйте ще раз пізніше",description:"Повідомлення на веб-сторінці, яке говорить користувачу, що завантаження файлу не вдалося, спробуйте ще раз пізніше"},"message.notApplied":{message:"Ви ще не подали заявку на цю послугу, спочатку подайте заявку",description:"Повідомлення на веб-сторінці, яке говорить користувачу, що він ще не подав заявку на цю послугу, спочатку подайте заявку"},"message.tryForFree":{message:"Спробуйте безкоштовно",description:"Повідомлення на веб-сторінці, яке говорить користувачу спробувати безкоштовно"},"message.question1":{message:"Створити план тренувань",description:"Приклад питання для початку розмови, яке просить користувача написати код JavaScript, що виводить Hello World"},"message.question2":{message:"Створити особисту веб-сторінку",description:"Приклад питання для початку розмови, яке просить користувача написати електронний лист Майку, щоб повідомити його, що я щойно переїхав"},"message.question3":{message:"Розробити цікаву програму для гри",description:"Приклад питання для початку розмови, яке просить користувача пояснити основи квантових обчислень простими словами"},"message.question4":{message:"Відчути Сеул як місцевий",description:"Приклад питання для початку розмови, яке просить користувача пояснити, як віртуальна реальність вплинула на художнє створення"},"message.question5":{message:"Що більше, 9.8 чи 9.11?",description:"Приклад питання для початку розмови, яке просить порівняти два числа"},"message.question6":{message:"Який вплив має ШІ на майбутнє?",description:"Приклад питання для початку розмови, яке запитує, який вплив має ШІ на майбутнє?"},"message.question7":{message:"Як підвищити ефективність навчання?",description:"Приклад питання для початку розмови, яке запитує, як підвищити свою ефективність навчання?"},"message.question8":{message:"Як покращити концентрацію?",description:"Приклад питання для початку розмови, яке запитує, як покращити свою концентрацію?"},"message.errorApiError":{message:"Відповідь не вдалася, спробуйте ще раз пізніше",description:"Повідомлення на веб-сторінці, яке говорить користувачу, що відповідь не вдалася, спробуйте ще раз пізніше"},"message.errorBadRequest":{message:"Неправильний запит, будь ласка, запитайте ще раз",description:"Повідомлення на веб-сторінці, яке говорить користувачу, що запит неправильний, будь ласка, запитайте ще раз"},"message.errorNoConversation":{message:"Розмова не існує або термін дії закінчився, будь ласка, почніть нову розмову",description:"Повідомлення на веб-сторінці, яке говорить користувачу, що розмова не існує або термін дії закінчився, будь ласка, почніть нову розмову"},"message.errorContentTooLarge":{message:"Вміст запиту занадто великий, будь ласка, скоротіть його та спробуйте ще раз",description:"Повідомлення на веб-сторінці, яке повідомляє користувачу, що вміст запиту занадто великий, будь ласка, скоротіть його та спробуйте ще раз"},"message.errorTooManyRequests":{message:"Ваші дії занадто часті, будь ласка, спробуйте ще раз пізніше",description:"Повідомлення на веб-сторінці, яке повідомляє користувачу, що його дії занадто часті, будь ласка, спробуйте ще раз пізніше"},"message.errorBusy":{message:"Сервер зайнятий, будь ласка, спробуйте ще раз пізніше",description:"Повідомлення на веб-сторінці, яке повідомляє користувачу, що сервер зайнятий, будь ласка, спробуйте ще раз пізніше"},"message.errorUsedUp":{message:"Ви вичерпали кількість запитів, будь ласка, придбайте більше для продовження використання",description:"Повідомлення на веб-сторінці, яке повідомляє користувачу, що він вичерпав кількість запитів, будь ласка, придбайте більше для продовження використання"},"message.errorUnknown":{message:"На сервері сталася невідома помилка, будь ласка, спробуйте ще раз пізніше або зв'яжіться з підтримкою",description:"Повідомлення на веб-сторінці, яке повідомляє користувачу, що на сервері сталася невідома помилка, будь ласка, спробуйте ще раз пізніше або зв'яжіться з підтримкою"},"message.errorTimeout":{message:"Час відповіді вичерпано, будь ласка, спробуйте ще раз пізніше",description:"Повідомлення на веб-сторінці, яке повідомляє користувачу, що час відповіді вичерпано, будь ласка, спробуйте ще раз пізніше"},"message.errorNotApplied":{message:"Ви ще не подали заявку на цю послугу, будь ласка, спочатку подайте заявку, а потім продовжте запитувати",description:"Повідомлення на веб-сторінці, яке повідомляє користувачу, що він ще не подавав заявку на цю послугу, будь ласка, спочатку подайте заявку, а потім продовжте запитувати"},"message.confirmDelete":{message:"Підтвердити видалення",description:"Повідомлення на веб-сторінці, яке повідомляє користувачу про підтвердження видалення"},"message.howToUse":{message:"AI може помилятися, будь ласка, перевірте важливу інформацію.",description:"Повідомлення на веб-сторінці, яке повідомляє користувачу, що AI може помилятися, будь ласка, перевірте важливу інформацію"},"title.chat":{message:"AI Чат",description:"Заголовок веб-сторінки, тобто AI Чат"},"title.example":{message:"Приклад",description:"Заголовок веб-сторінки, тобто Приклад"},"title.capabilities":{message:"Можливості",description:"Заголовок веб-сторінки, тобто Можливості"},"title.limitations":{message:"Обмеження",description:"Заголовок на веб-сторінці, що вказує, що ця частина містить технічні обмеження послуги"},"title.complexQuestion":{message:"Відповіді на складні питання",description:"Заголовок на веб-сторінці, що вказує, що ця частина містить можливості послуги відповідати на складні питання"},"title.professionalQuestion":{message:"Консультації з професійних питань",description:"Заголовок на веб-сторінці, що вказує, що ця частина містить можливості послуги для консультацій з професійних питань"},"title.getTips":{message:"Отримати натхнення та ідеї",description:"Заголовок на веб-сторінці, що вказує, що ця частина містить можливості послуги для отримання натхнення та ідей"},"group.today":{message:"Сьогодні",description:"Назва групи на веб-сторінці, тобто Сьогодні"},"group.yesterday":{message:"Вчора",description:"Назва групи на веб-сторінці, тобто Вчора"},"group.thisWeek":{message:"Цього тижня",description:"Назва групи на веб-сторінці, тобто Цього тижня"},"group.earlier":{message:"Раніше",description:"Назва групи на веб-сторінці, тобто Раніше"},"mcp.title":{message:"MCP Сервер",description:"Заголовок діалогового вікна управління MCP сервером"},"mcp.addServer":{message:"Додати сервер",description:"Кнопка для додавання MCP сервера"},"mcp.name":{message:"Назва",description:"Назва MCP сервера"},"mcp.namePlaceholder":{message:"Назвіть сервер",description:"Заповнювач для назви MCP сервера"},"mcp.url":{message:"URL",description:"URL MCP сервера"},"mcp.urlPlaceholder":{message:"https://example.com/mcp",description:"Заповнювач для URL MCP сервера"},"mcp.description":{message:"Опис",description:"Опис MCP сервера"},"mcp.descriptionPlaceholder":{message:"Опишіть призначення цього сервера",description:"Заповнювач для опису MCP сервера"},"mcp.authType":{message:"Тип аутентифікації",description:"Тип аутентифікації MCP сервера"},"mcp.authNone":{message:"Немає",description:"Без аутентифікації"},"mcp.authBearer":{message:"Bearer Token",description:"Аутентифікація за допомогою Bearer Token"},"mcp.authToken":{message:"Token",description:"Аутентифікаційний Token"},"mcp.authTokenPlaceholder":{message:"Введіть аутентифікаційний Token",description:"Заповнювач для аутентифікаційного Token"},"mcp.test":{message:"Перевірити з'єднання",description:"Перевірка з'єднання з MCP сервером"},"mcp.testSuccess":{message:"З'єднання успішне",description:"Тест з'єднання пройшов успішно"},"mcp.testFailed":{message:"З'єднання не вдалося",description:"Тест з'єднання не вдалося"},"mcp.toolsFound":{message:"Знайдено {count} інструментів",description:"Кількість знайдених інструментів"},"mcp.empty":{message:"Немає MCP серверів, додайте один для розширення можливостей AI",description:"Список MCP серверів порожній"},"mcp.loadErrorHint":{message:"Не вдалося завантажити сервер MCP, ця функція може бути ще недоступною.",description:"Підказка, коли сервер MCP не вдалося завантажити через мережеву помилку/CORS"},"mcp.nameUrlRequired":{message:"Будь ласка, введіть назву та URL",description:"Назва та URL обов'язкові"},"mcp.urlRequired":{message:"Будь ласка, введіть URL",description:"URL обов'язковий"},"mcp.created":{message:"Успішно додано",description:"Сервер MCP успішно додано"},"mcp.updated":{message:"Успішно оновлено",description:"Сервер MCP успішно оновлено"},"mcp.deleted":{message:"Успішно видалено",description:"Сервер MCP успішно видалено"},"mcp.saveFailed":{message:"Не вдалося зберегти",description:"Не вдалося зберегти сервер MCP"},"mcp.deleteConfirm":{message:'Підтвердити видалення сервера "{name}"?',description:"Підтвердження видалення"},"mcp.tooltip":{message:"Сервер MCP",description:"Підказка для кнопки MCP"},"mcp.authOAuth":{message:"OAuth 2.0",description:"Тип аутентифікації OAuth"},"mcp.oauthHint":{message:"Після збереження натисніть кнопку «Авторизувати» на картці сервера для завершення аутентифікації OAuth.",description:"Підказка при виборі типу аутентифікації OAuth"},"mcp.authorize":{message:"Авторизувати",description:"Кнопка авторизації OAuth"},"mcp.oauthAuthorized":{message:"Успішна авторизація OAuth",description:"Повідомлення про успішну авторизацію OAuth"},"mcp.oauthFailed":{message:"Не вдалося авторизуватися через OAuth",description:"Повідомлення про невдалу авторизацію OAuth"},"mcp.popupBlocked":{message:"Вікно спливаючого вмісту заблоковано, будь ласка, дозвольте спливаючі вікна на цьому сайті.",description:"Підказка про блокування спливаючого вікна"},"connector.title":{message:"Конектор",description:"Заголовок діалогу управління конекторами"},"connector.tooltip":{message:"OAuth конектор",description:"Підказка для кнопки конектора"},"connector.noProviders":{message:"Немає доступних конекторів, будь ласка, налаштуйте постачальників OAuth на сервері.",description:"Повідомлення про відсутність постачальників"},"connector.connect":{message:"Підключити",description:"Кнопка підключення"},"connector.disconnect":{message:"Відключити",description:"Кнопка відключення"},"connector.connected":{message:"Конектор успішно підключено",description:"Повідомлення про успішне підключення"},"connector.disconnected":{message:"Конектор відключено",description:"Повідомлення про успішне відключення"},"connector.authFailed":{message:"Не вдалося авторизуватися, будь ласка, спробуйте ще раз.",description:"Повідомлення про невдалу авторизацію"},"connector.loadError":{message:"Не вдалося завантажити конектор",description:"Повідомлення про помилку завантаження"},"connector.loadErrorHint":{message:"Не вдалося завантажити конектор, ця функція може бути ще недоступною.",description:"Підказка, коли конектор не вдалося завантажити через мережеву помилку/CORS"},"connector.disconnectError":{message:"Не вдалося відключити конектор",description:"Повідомлення про помилку відключення"},"connector.toggleError":{message:"Не вдалося оновити конектор",description:"Повідомлення про помилку перемикання"},"connector.processing":{message:"Обробка авторизації...",description:"Повідомлення про обробку зворотного виклику OAuth"},"connector.authSuccess":{message:"Авторизація успішна!",description:"Повідомлення про успішний зворотний виклик OAuth"},"connector.closeWindow":{message:"Це вікно буде автоматично закрито.",description:"Підказка про закриття вікна зворотного виклику OAuth"},"skill.title":{message:"Навички",description:"Заголовок діалогу управління навичками"},"skill.tooltip":{message:"AI навички",description:"Підказка для кнопки навичок"},"skill.builtin":{message:"Вбудовані",description:"Мітка вбудованих навичок"},"skill.empty":{message:"Немає доступних навичок.",description:"Підказка, коли список навичок порожній"},"skill.loadError":{message:"Не вдалося завантажити навички",description:"Підказка про невдале завантаження навичок"},"skill.add":{message:"Додати навичку",description:"Мітка кнопки додавання навички"},"skill.delete":{message:"Видалити",description:"Мітка кнопки видалення навички"},"skill.deleteConfirm":{message:"Підтвердити видалення навички «{name}»? Цю дію не можна скасувати.",description:"Повідомлення підтвердження перед видаленням навички"},"skill.deleteSuccess":{message:"Видалено",description:"Повідомлення про успішне видалення навички"},"skill.deleteError":{message:"Не вдалося видалити",description:"Повідомлення про помилку видалення навички"},"skill.createSuccess":{message:"Навичка створена",description:"Повідомлення про успішне створення навички"},"skill.createError":{message:"Не вдалося створити навичку",description:"Повідомлення про помилку створення навички"},"skill.form.name":{message:"Назва",description:"Мітка поля назви форми навички"},"skill.form.namePlaceholder":{message:"Наприклад, summarizer",description:"Підказка для поля назви форми навички"},"skill.form.nameRequired":{message:"Будь ласка, введіть назву",description:"Повідомлення про обов'язковість назви форми навички"},"skill.form.displayName":{message:"Відображуване ім'я",description:"Мітка поля відображуваного імені форми навички"},"skill.form.displayNamePlaceholder":{message:"Ім'я, яке відображається у списку навичок",description:"Підказка для поля відображуваного імені форми навички"},"skill.form.icon":{message:"Іконка (emoji)",description:"Мітка поля іконки форми навички"},"skill.form.description":{message:"Опис",description:"Мітка поля опису форми навички"},"skill.form.type":{message:"Тип",description:"Мітка поля типу форми навички"},"skill.form.typePrompt":{message:"Тип запиту",description:"Prompt type label"},"skill.form.typeCode":{message:"Код",description:"Code type label"},"skill.form.instructions":{message:"Вміст запиту",description:"Prompt instructions label"},"skill.form.instructionsPlaceholder":{message:"Вставте або напишіть запит / інструкцію для цього навику...",description:"Prompt instructions placeholder"},"skill.form.instructionsRequired":{message:"Тип запиту повинен містити вміст запиту",description:"Prompt instructions required message"},"skill.form.code":{message:"Код",description:"Code skill label"},"skill.form.codePlaceholder":{message:"Вставте код для цього навику...",description:"Code skill placeholder"},"skill.form.codeRequired":{message:"Тип коду повинен містити код",description:"Code skill required message"},"skill.form.tags":{message:"Теги",description:"Skill form tags label"},"skill.form.tagsPlaceholder":{message:"Розділіть комами, наприклад: написання, програмування",description:"Skill form tags placeholder"},"skill.form.uploadText":{message:"Завантажити .txt / .md файл",description:"Upload prompt file button"},"skill.form.uploadCode":{message:"Завантажити файл коду",description:"Upload code file button"},"agent.title":{message:"Десктопний агент",description:"代理管理对话框标题"},"agent.tooltip":{message:"Десктопний агент",description:"代理按钮提示"},"agent.connected":{message:"Підключено",description:"代理已连接状态"},"agent.notConnected":{message:"Не підключено",description:"代理未连接状态"},"agent.description":{message:"Підключіть десктопний агент для доступу до локальних файлів, виконання команд та використання локального MCP сервера в AI діалозі.",description:"代理描述"},"agent.name":{message:"Назва агента",description:"代理名称标签"},"agent.tools":{message:"Доступні інструменти",description:"代理工具数量标签"},"agent.connectedSince":{message:"Час підключення",description:"代理连接时间标签"},"agent.connectedHint":{message:"Ваш десктопний агент підключено і готовий до використання.",description:"代理已连接提示"},"agent.installLabel":{message:"Встановіть десктопний агент:",description:"安装说明标签"},"agent.runLabel":{message:"Запустіть агента:",description:"运行说明标签"}};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e={"button.thinkDeeper":{message:"Syvennä ajattelua",description:"Syvennä ajattelua -painike"},"button.deepsearch":{message:"Syvä haku",description:"Syvä haku -painike"},"button.search":{message:"Haku",description:"Haku -painike"},"button.edit":{message:"Muokkaa viestiä",description:"Muokkaa lähetettyä viestiä"},"modelGroup.chatgpt":{message:"ChatGPT",description:"Palvelun mallin nimi, eli GPT"},"modelGroup.chatgptDescription":{message:"OpenAI:n kehittämä AI-malli",description:"ChatGPT-mallin kuvaus"},"modelGroup.deepseek":{message:"DeepSeek",description:"Palvelun mallin nimi, eli DeepSeek"},"modelGroup.deepseekDescription":{message:"DeepSeek-yhtiön kehittämä AI-malli",description:"DeepSeek-mallin kuvaus"},"modelGroup.grok":{message:"Grok",description:"Palvelun mallin nimi, eli Grok"},"modelGroup.grokDescription":{message:"xAI:n kehittämä AI-malli",description:"Grok3-mallin kuvaus"},"modelGroup.gemini":{message:"Gemini",description:"Palvelun mallin nimi, eli Gemini"},"modelGroup.geminiDescription":{message:"Google:n kehittämä AI-malli",description:"Gemini-malliryhmän kuvaus"},"modelGroup.claude":{message:"Claude",description:"Palvelun mallin nimi, eli Claude"},"modelGroup.claudeDescription":{message:"Anthropic-yhtiön kehittämä AI-malli",description:"Claude-malliryhmän kuvaus"},"modelGroup.kimi":{message:"Kimi",description:"Palvelun mallin nimi, eli Kimi"},"modelGroup.kimiDescription":{message:"Kuuvarjo-yhtiön kehittämä AI-malli",description:"Kimi-malliryhmän kuvaus"},"modelGroup.glm":{message:"GLM",description:"Palvelun mallin nimi, eli GLM"},"modelGroup.glmDescription":{message:"Zhìpǔ AI:n kehittämä suuri kielimalli",description:"GLM-malliryhmän kuvaus"},"model.54":{message:"gpt-5.4",description:"Palvelun mallin nimi, eli GPT 5.4"},"model.54Description":{message:"Uuden sukupolven lippulaivamalli GPT 5.4",description:"GPT 5.4 -mallin kuvaus"},"model.54Mini":{message:"gpt-5.4-mini",description:"Palvelun mallin nimi, eli GPT 5.4 Mini"},"model.54MiniDescription":{message:"Nopeampi ja kevyempi GPT 5.4 -malli",description:"GPT 5.4 Mini -mallin kuvaus"},"model.54Nano":{message:"gpt-5.4-nano",description:"Palvelun mallin nimi, eli GPT 5.4 Nano"},"model.54NanoDescription":{message:"Pienin ja nopein GPT 5.4 -malli",description:"GPT 5.4 Nano -mallin kuvaus"},"model.deepseekChat":{message:"3.0 standardi",description:"Palvelun mallin nimi, eli DeepSeek Chat"},"model.deepseekChatDescription":{message:"Soveltuu päivittäisiin tehtäviin",description:"DeepSeek Chat -mallin kuvaus"},"model.deepseekReasoner":{message:"R1 päättely",description:"Palvelun mallin nimi, eli DeepSeek Reasoner"},"model.deepseekReasonerDescription":{message:"Soveltuu päättelyyn ja syvälliseen ajatteluun",description:"DeepSeek Reasoner -mallin kuvaus"},"model.deepseekChat32":{message:"V3.2 kokeiluversio",description:"Palvelun mallin nimi, eli DeepSeek V3.2 Exp"},"model.deepseekChat32Description":{message:"Uusin kokeiluversio",description:"DeepSeek V3.2 -kokeilumallin kuvaus"},"model.grok4":{message:"grok-4",description:"Palvelun mallin nimi, eli Grok 4"},"model.grok4Description":{message:"Tällä hetkellä edistyksellisin malli",description:"Grok 4 -mallin kuvaus"},"model.grok3":{message:"grok-3",description:"Palvelun mallin nimi"},"model.grok3Description":{message:"Soveltuu useimpiin tehtäviin",description:"Grok3-mallin kuvaus"},"model.grok3Reasoner":{message:"grok-3 päättely",description:"Palvelun mallin nimi, eli Grok3 päättely"},"model.grok3ReasonerDescription":{message:"Soveltuu päättelyyn ja syvälliseen ajatteluun",description:"Grok3 päättely -mallin kuvaus"},"model.grok3Deepsearch":{message:"grok-3 syvä tutkimus",description:"Palvelun mallin nimi, eli Grok3 syvä tutkimus"},"model.grok3DeepsearchDescription":{message:"Soveltuu syvään tutkimukseen ja monimutkaisiin kysymyksiin",description:"Grok3 syvä tutkimus -mallin kuvaus"},"model.gemini30Pro":{message:"gemini-3.0-pro",description:"Palvelun mallin nimi, eli Gemini 3.0 Pro"},"model.gemini30ProDescription":{message:"Tällä hetkellä edistyksellisin malli",description:"Gemini 3.0 Pro -mallin kuvaus"},"model.gemini25Pro":{message:"gemini-2.5-pro",description:"Palvelun mallin nimi, eli Gemini 2.5 Pro"},"model.gemini25ProDescription":{message:"Soveltuu monimutkaisiin päättelytehtäviin",description:"Gemini 2.5 Pro -mallin kuvaus"},"model.gemini25Flash":{message:"gemini-2.5-flash",description:"Palvelun mallin nimi, eli Gemini 2.5 Flash"},"model.gemini25FlashDescription":{message:"Nopeampi ja kevyempi malli",description:"Gemini 2.5 Flash -mallin kuvaus"},"model.claudeOpus4":{message:"claude-opus-4",description:"Palvelun mallin nimi, eli Claude Opus 4"},"model.claudeOpus4Description":{message:"Tällä hetkellä edistyksellisin malli",description:"Claude Opus 4 -mallin kuvaus"},"model.claudeSonnet4":{message:"claude-sonnet-4",description:"Palvelun mallin nimi, eli Claude Sonnet 4"},"model.claudeSonnet4Description":{message:"Soveltuu useimpiin tehtäviin",description:"Claude Sonnet 4 mallin kuvaus"},"model.claude37Sonnet":{message:"claude-3.7-sonnet",description:"Palvelun mallin nimi, eli Claude 3.7 Sonnet"},"model.claude37SonnetDescription":{message:"Tasapainoinen suorituskyky ja nopeus",description:"Claude 3.7 Sonnet mallin kuvaus"},"model.kimiK25":{message:"kimi-k2.5",description:"Palvelun mallin nimi, eli Kimi K2.5"},"model.kimiK25Description":{message:"Tällä hetkellä huipputeknologiaa",description:"Kimi K2.5 mallin kuvaus"},"model.kimiK2Thinking":{message:"kimi-k2 päättely",description:"Palvelun mallin nimi, eli Kimi K2 päättely"},"model.kimiK2ThinkingDescription":{message:"Soveltuu päättelyyn ja syvälliseen ajatteluun",description:"Kimi K2 päättely mallin kuvaus"},"model.kimiK2ThinkingTurbo":{message:"kimi-k2 turbo päättely",description:"Palvelun mallin nimi, eli Kimi K2 turbo päättely"},"model.kimiK2ThinkingTurboDescription":{message:"Nopeampi päättelymalli",description:"Kimi K2 turbo päättely mallin kuvaus"},"model.glm51":{message:"glm-5.1",description:"Palvelun mallin nimi, eli GLM 5.1"},"model.glm51Description":{message:"Zhìpǔ uusimmassa lippulaivamallissa",description:"GLM 5.1 mallin kuvaus"},"model.glm47":{message:"glm-4.7",description:"Palvelun mallin nimi, eli GLM 4.7"},"model.glm47Description":{message:"Tasapainoinen suorituskyky ja kustannukset",description:"GLM 4.7 mallin kuvaus"},"message.startNewChat":{message:"Aloita uusi keskustelu",description:"Verkkosivun viesti, joka kertoo käyttäjälle aloittavan uuden keskustelun"},"message.uploadFile":{message:"Lataa tiedosto",description:"Verkkosivun viesti, joka kertoo käyttäjälle tiedoston lataamisesta"},"message.noToken":{message:"Hae ensin tarvittava palvelu",description:"Verkkosivun viesti, joka kertoo käyttäjälle hakea ensin tarvittava palvelu"},"message.newMessagePlaceholder":{message:"Syötä kysymyksesi...",description:"Verkkosivun paikkamerkki, joka kertoo käyttäjälle syöttävän kysymyksen"},"message.noInput":{message:"Kysymys ei voi olla tyhjää",description:"Verkkosivun viesti, joka kertoo käyttäjälle kysymyksen olevan tyhjää"},"message.uploadReferencesExceed":{message:"Voit ladata enintään 1 tiedoston",description:"Verkkosivun viesti, joka kertoo käyttäjälle enintään 1 tiedoston lataamisesta"},"message.uploadReferencesError":{message:"Tiedoston lataaminen epäonnistui, yritä myöhemmin uudelleen",description:"Verkkosivun viesti, joka kertoo käyttäjälle tiedoston lataamisen epäonnistuneen, yritä myöhemmin uudelleen"},"message.notApplied":{message:"Et ole vielä hakenut tätä palvelua, hae ensin",description:"Verkkosivun viesti, joka kertoo käyttäjälle, että hän ei ole vielä hakenut tätä palvelua, hae ensin"},"message.tryForFree":{message:"Kokeile ilmaiseksi",description:"Verkkosivun viesti, joka kertoo käyttäjälle ilmaisesta kokeilusta"},"message.question1":{message:"Luo harjoitusohjelma",description:"Keskustelun aloituskysymys, pyytää käyttäjää kirjoittamaan JavaScript-koodin, joka tulostaa Hello World"},"message.question2":{message:"Tee henkilökohtainen verkkosivusto",description:"Keskustelun aloituskysymys, pyytää käyttäjää kirjoittamaan Mike:lle sähköpostia, kertomaan että hän on juuri muuttanut"},"message.question3":{message:"Suunnittele mielenkiintoinen ohjelmointipeli",description:"Keskustelun aloituskysymys, pyytää käyttäjää selittämään kvanttilaskennan perusperiaatteet yksinkertaisella kielellä"},"message.question4":{message:"Koe Soul kuin paikallinen",description:"Keskustelun aloituskysymys, pyytää käyttäjää selittämään virtuaalitodellisuuden vaikutuksia taiteelliseen luomiseen"},"message.question5":{message:"Kumpi on suurempi, 9.8 vai 9.11?",description:"Keskustelun aloituskysymys, pyytää vertaamaan kahta numeroa"},"message.question6":{message:"Mikä on AI:n vaikutus tulevaisuuteen?",description:"Keskustelun aloituskysymys, mikä on AI:n vaikutus tulevaisuuteen?"},"message.question7":{message:"Kuinka parantaa oppimisnopeutta?",description:"Keskustelun aloituskysymys, kuinka parantaa omaa oppimisnopeuttaan?"},"message.question8":{message:"Kuinka parantaa keskittymiskykyä?",description:"Keskustelun aloituskysymys, kuinka parantaa omaa keskittymiskykyään?"},"message.errorApiError":{message:"Vastaus epäonnistui, yritä myöhemmin uudelleen",description:"Verkkosivun viesti, joka kertoo käyttäjälle, että vastaus epäonnistui, yritä myöhemmin uudelleen"},"message.errorBadRequest":{message:"Pyyntö ei ole voimassa, yritä uudelleen",description:"Verkkosivun viesti, joka kertoo käyttäjälle, että pyyntö ei ole voimassa, yritä uudelleen"},"message.errorNoConversation":{message:"Keskustelua ei ole tai se on vanhentunut, aloita uusi keskustelu",description:"Verkkosivun viesti, joka kertoo käyttäjälle, että keskustelua ei ole tai se on vanhentunut, aloita uusi keskustelu"},"message.errorContentTooLarge":{message:"Kysymyksen sisältö on liian pitkä, lyhennä ja yritä uudelleen",description:"Verkkosivun viesti, joka kertoo käyttäjälle, että kysymyksen sisältö on liian pitkä, lyhennä ja yritä uudelleen"},"message.errorTooManyRequests":{message:"Toimintosi ovat liian tiheitä, yritä myöhemmin uudelleen",description:"Verkkosivun viesti, joka kertoo käyttäjälle, että toimintosi ovat liian tiheitä, yritä myöhemmin uudelleen"},"message.errorBusy":{message:"Palvelin on kiireinen, yritä myöhemmin uudelleen",description:"Verkkosivun viesti, joka kertoo käyttäjälle, että palvelin on kiireinen, yritä myöhemmin uudelleen"},"message.errorUsedUp":{message:"Olet käyttänyt kaikki pakettisi kerrat, osta lisää jatkaaksesi käyttöä",description:"Verkkosivun viesti, joka kertoo käyttäjälle, että olet käyttänyt kaikki pakettisi kerrat, osta lisää jatkaaksesi käyttöä"},"message.errorUnknown":{message:"Palvelimella tapahtui tuntematon virhe, yritä myöhemmin uudelleen tai ota yhteyttä asiakaspalveluun",description:"Verkkosivun viesti, joka kertoo käyttäjälle, että palvelimella tapahtui tuntematon virhe, yritä myöhemmin uudelleen tai ota yhteyttä asiakaspalveluun"},"message.errorTimeout":{message:"Vastausaika ylitetty, yritä myöhemmin uudelleen",description:"Verkkosivun viesti, joka kertoo käyttäjälle, että vastausaika ylitetty, yritä myöhemmin uudelleen"},"message.errorNotApplied":{message:"Et ole vielä hakenut tätä palvelua, hae ensin ja jatka kysymistä",description:"Verkkosivun viesti, joka kertoo käyttäjälle, että et ole vielä hakenut tätä palvelua, hae ensin ja jatka kysymistä"},"message.confirmDelete":{message:"Vahvista poisto",description:"Verkkosivun viesti, joka kertoo käyttäjälle vahvistamaan poiston"},"message.howToUse":{message:"AI voi tehdä virheitä, tarkista tärkeät tiedot.",description:"Verkkosivun viesti, joka kertoo käyttäjälle, että AI voi tehdä virheitä, tarkista tärkeät tiedot"},"title.chat":{message:"AI Keskustelu",description:"Verkkosivun otsikko, eli AI Keskustelu"},"title.example":{message:"Esimerkki",description:"Verkkosivun otsikko, eli Esimerkki"},"title.capabilities":{message:"Ominaisuudet",description:"Verkkosivun otsikko, eli Ominaisuudet"},"title.limitations":{message:"Rajoitukset",description:"Verkkosivun otsikko, joka osoittaa, että tämä osa sisältää palvelun tekniset rajoitukset"},"title.complexQuestion":{message:"Vastaaminen monimutkaisiin kysymyksiin",description:"Verkkosivun otsikko, joka osoittaa, että tämä osa käsittelee palvelun kykyä vastata monimutkaisiin kysymyksiin"},"title.professionalQuestion":{message:"Konsultoi ammatillisia kysymyksiä",description:"Verkkosivun otsikko, joka osoittaa, että tämä osa käsittelee palvelun kykyä konsultoida ammatillisia kysymyksiä"},"title.getTips":{message:"Hanki inspiraatiota ja ideoita",description:"Verkkosivun otsikko, joka osoittaa, että tämä osa käsittelee palvelun kykyä hankkia inspiraatiota ja ideoita"},"group.today":{message:"Tänään",description:"Verkkosivun ryhmän nimi, eli Tänään"},"group.yesterday":{message:"Eilen",description:"Verkkosivun ryhmän nimi, eli Eilen"},"group.thisWeek":{message:"Tällä viikolla",description:"Verkkosivun ryhmän nimi, eli Tällä viikolla"},"group.earlier":{message:"Aikaisemmin",description:"Verkkosivun ryhmän nimi, eli Aikaisemmin"},"mcp.title":{message:"MCP Palvelin",description:"MCP palvelimen hallintapaneelin otsikko"},"mcp.addServer":{message:"Lisää palvelin",description:"Lisää MCP palvelin -painike"},"mcp.name":{message:"Nimi",description:"MCP palvelimen nimi"},"mcp.namePlaceholder":{message:"Nimeä palvelin",description:"MCP palvelimen nimen paikkamerkki"},"mcp.url":{message:"URL",description:"MCP palvelimen URL"},"mcp.urlPlaceholder":{message:"https://example.com/mcp",description:"MCP palvelimen URL paikkamerkki"},"mcp.description":{message:"Kuvaus",description:"MCP palvelimen kuvaus"},"mcp.descriptionPlaceholder":{message:"Kuvaile tämän palvelimen käyttötarkoitusta",description:"MCP palvelimen kuvauksen paikkamerkki"},"mcp.authType":{message:"Todennustapa",description:"MCP palvelimen todennustapa"},"mcp.authNone":{message:"Ei",description:"Ei todennusta"},"mcp.authBearer":{message:"Bearer Token",description:"Bearer Token -todennus"},"mcp.authToken":{message:"Token",description:"Todennus Token"},"mcp.authTokenPlaceholder":{message:"Syötä todennus Token",description:"Todennus Token paikkamerkki"},"mcp.test":{message:"Testaa yhteys",description:"Testaa MCP palvelimen yhteys"},"mcp.testSuccess":{message:"Yhteys onnistui",description:"Yhteystesti onnistui"},"mcp.testFailed":{message:"Yhteys epäonnistui",description:"Yhteystesti epäonnistui"},"mcp.toolsFound":{message:"Löydetty {count} työkalua",description:"Löydettyjen työkalujen määrä"},"mcp.empty":{message:"Ei MCP palvelimia, lisää yksi laajentaaksesi AI:n kykyjä",description:"MCP palvelinluettelo on tyhjö"},"mcp.loadErrorHint":{message:"MCP-palvelinta ei voitu ladata, tämä toiminto ei ehkä ole vielä käytettävissä.",description:"MCP-palvelimen lataus epäonnistui verkko-/CORS-virheen vuoksi"},"mcp.nameUrlRequired":{message:"Täytä nimi ja URL",description:"Nimi ja URL ovat pakollisia"},"mcp.urlRequired":{message:"Täytä URL",description:"URL on pakollinen"},"mcp.created":{message:"Lisäys onnistui",description:"MCP-palvelimen lisäys onnistui"},"mcp.updated":{message:"Päivitys onnistui",description:"MCP-palvelimen päivitys onnistui"},"mcp.deleted":{message:"Poisto onnistui",description:"MCP-palvelimen poisto onnistui"},"mcp.saveFailed":{message:"Tallennus epäonnistui",description:"MCP-palvelimen tallennus epäonnistui"},"mcp.deleteConfirm":{message:'Vahvistatko palvelimen "{name}" poistamisen?',description:"Poiston vahvistus"},"mcp.tooltip":{message:"MCP-palvelin",description:"MCP-painikkeen vihje"},"mcp.authOAuth":{message:"OAuth 2.0",description:"OAuth-todennustyyppi"},"mcp.oauthHint":{message:"Tallenna ja napsauta palvelinkortilla 'Valtuuta' -painiketta suorittaaksesi OAuth-todennuksen.",description:"Vihje OAuth-todennustyypin valitsemisessa"},"mcp.authorize":{message:"Valtuuta",description:"OAuth-valtuutuspainike"},"mcp.oauthAuthorized":{message:"OAuth-valtuutus onnistui",description:"OAuth-valtuutuksen onnistumisviesti"},"mcp.oauthFailed":{message:"OAuth-valtuutus epäonnistui",description:"OAuth-valtuutuksen epäonnistumisviesti"},"mcp.popupBlocked":{message:"Ponnahdusikkuna estetty, salli tämän sivuston ponnahdusikkunat.",description:"Ponnahdusikkunan estämisen vihje"},"connector.title":{message:"Liitin",description:"Liittimen hallintapaneelin otsikko"},"connector.tooltip":{message:"OAuth-liitin",description:"Liitinpainikkeen vihje"},"connector.noProviders":{message:"Ei saatavilla olevia liittimiä, määritä OAuth-palveluntarjoajat palvelimella.",description:"Ei tarjoajia -viesti"},"connector.connect":{message:"Yhdistä",description:"Yhdistämispainike"},"connector.disconnect":{message:"Katkaise",description:"Katkaisemispainike"},"connector.connected":{message:"Liitin yhdistetty onnistuneesti",description:"Yhdistämisen onnistumisviesti"},"connector.disconnected":{message:"Liitin katkaistu",description:"Katkaisemisen onnistumisviesti"},"connector.authFailed":{message:"Valtuutus epäonnistui, yritä uudelleen.",description:"Valtuutuksen epäonnistumisviesti"},"connector.loadError":{message:"Liittimen lataus epäonnistui",description:"Latausvirheviesti"},"connector.loadErrorHint":{message:"Liitintä ei voitu ladata, tämä toiminto ei ehkä ole vielä käytettävissä.",description:"Liittimen lataus epäonnistui verkko-/CORS-virheen vuoksi"},"connector.disconnectError":{message:"Liittimen katkaisu epäonnistui",description:"Katkaisuvirheviesti"},"connector.toggleError":{message:"Liittimen päivitys epäonnistui",description:"Vaihtovirheviesti"},"connector.processing":{message:"Valtuutusta käsitellään...",description:"OAuth-palaute käsittelyviesti"},"connector.authSuccess":{message:"Valtuutus onnistui!",description:"OAuth-palaute onnistumisviesti"},"connector.closeWindow":{message:"Tämä ikkuna sulkeutuu automaattisesti.",description:"OAuth-palaute sulkemisvihje"},"skill.title":{message:"Taito",description:"Taitojen hallintapaneelin otsikko"},"skill.tooltip":{message:"AI-taito",description:"Taitopainikkeen vihje"},"skill.builtin":{message:"Sisäänrakennettu",description:"Sisäänrakennettu taito -merkintä"},"skill.empty":{message:"Ei saatavilla olevia taitoja.",description:"Taitoluettelon tyhjyyden vihje"},"skill.loadError":{message:"Taitojen lataus epäonnistui",description:"Taitojen latauksen epäonnistumisvihje"},"skill.add":{message:"Lisää taito",description:"Lisää taito -painikkeen etiketti"},"skill.delete":{message:"Poista",description:"Poista taito -painikkeen etiketti"},"skill.deleteConfirm":{message:"Vahvistatko taidon „{name}” poistamisen? Tätä toimintoa ei voi peruuttaa.",description:"Vahvistusviesti ennen taidon poistamista"},"skill.deleteSuccess":{message:"Poistettu",description:"Taidon poistamisen onnistumisviesti"},"skill.deleteError":{message:"Poisto epäonnistui",description:"Taidon poistamisen virheviesti"},"skill.createSuccess":{message:"Taito on luotu",description:"Taidon luomisen onnistumisviesti"},"skill.createError":{message:"Taidon luominen epäonnistui",description:"Taidon luomisen virheviesti"},"skill.form.name":{message:"Nimi",description:"Taitomuotoilun nimen etiketti"},"skill.form.namePlaceholder":{message:"esim. summarizer",description:"Taitomuotoilun nimen paikkamerkki"},"skill.form.nameRequired":{message:"Täytä nimi",description:"Taitomuotoilun nimen pakollisuusviesti"},"skill.form.displayName":{message:"Näkyvä nimi",description:"Taitomuotoilun näkyvän nimen etiketti"},"skill.form.displayNamePlaceholder":{message:"Nimi, joka näkyy taitoluettelossa",description:"Taitomuotoilun näkyvän nimen paikkamerkki"},"skill.form.icon":{message:"Ikoni (emoji)",description:"Taitomuotoilun ikonin etiketti"},"skill.form.description":{message:"Kuvaus",description:"Taitomuotoilun kuvauksen etiketti"},"skill.form.type":{message:"Tyyppi",description:"Taitomuotoilun tyypin etiketti"},"skill.form.typePrompt":{message:"Kehotus",description:"Prompt type label"},"skill.form.typeCode":{message:"Koodi",description:"Code type label"},"skill.form.instructions":{message:"Kehotuksen sisältö",description:"Prompt instructions label"},"skill.form.instructionsPlaceholder":{message:"Liitä tai kirjoita tämän taidon vastaava kehotus / ohje...",description:"Prompt instructions placeholder"},"skill.form.instructionsRequired":{message:"Kehotustyyppi vaatii kehotuksen sisällön",description:"Prompt instructions required message"},"skill.form.code":{message:"Koodi",description:"Code skill label"},"skill.form.codePlaceholder":{message:"Liitä tämän taidon vastaava koodi...",description:"Code skill placeholder"},"skill.form.codeRequired":{message:"Koodityyppi vaatii koodin",description:"Code skill required message"},"skill.form.tags":{message:"Tunnisteet",description:"Skill form tags label"},"skill.form.tagsPlaceholder":{message:"Erottele pilkuilla, esim.: kirjoittaminen, ohjelmointi",description:"Skill form tags placeholder"},"skill.form.uploadText":{message:"Lataa .txt / .md tiedosto",description:"Upload prompt file button"},"skill.form.uploadCode":{message:"Lataa kooditiedosto",description:"Upload code file button"},"agent.title":{message:"Työpöytäagentti",description:"代理管理对话框标题"},"agent.tooltip":{message:"Työpöytäagentti",description:"代理按钮提示"},"agent.connected":{message:"Yhdistetty",description:"代理已连接状态"},"agent.notConnected":{message:"Ei yhdistetty",description:"代理未连接状态"},"agent.description":{message:"Yhdistä työpöytäagentti päästäksesi paikallisiin tiedostoihin, suorittaaksesi komentoja ja käyttämään paikallista MCP-palvelinta AI-keskusteluissa.",description:"代理描述"},"agent.name":{message:"Agentin nimi",description:"代理名称标签"},"agent.tools":{message:"Saatavilla olevat työkalut",description:"代理工具数量标签"},"agent.connectedSince":{message:"Yhdistetty vuodesta",description:"代理连接时间标签"},"agent.connectedHint":{message:"Työpöytäagenttisi on yhdistetty ja käytettävissä.",description:"代理已连接提示"},"agent.installLabel":{message:"Asenna työpöytäagentti:",description:"安装说明标签"},"agent.runLabel":{message:"Suorita agentti:",description:"运行说明标签"}};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e={"button.thinkDeeper":{message:"فكر بعمق",description:"زر التفكير العميق"},"button.deepsearch":{message:"بحث عميق",description:"زر البحث العميق"},"button.search":{message:"بحث",description:"زر البحث"},"button.edit":{message:"تعديل الرسالة",description:"تعديل الرسالة المرسلة"},"modelGroup.chatgpt":{message:"ChatGPT",description:"اسم النموذج للخدمة، أي GPT"},"modelGroup.chatgptDescription":{message:"نموذج الذكاء الاصطناعي الذي طورته شركة OpenAI",description:"وصف نموذج ChatGPT"},"modelGroup.deepseek":{message:"DeepSeek",description:"اسم النموذج للخدمة، أي DeepSeek"},"modelGroup.deepseekDescription":{message:"نموذج الذكاء الاصطناعي الذي طورته شركة DeepSeek",description:"وصف نموذج DeepSeek"},"modelGroup.grok":{message:"Grok",description:"اسم النموذج للخدمة، أي Grok"},"modelGroup.grokDescription":{message:"نموذج الذكاء الاصطناعي الذي طورته شركة xAI",description:"وصف نموذج Grok"},"modelGroup.gemini":{message:"Gemini",description:"اسم النموذج للخدمة، أي Gemini"},"modelGroup.geminiDescription":{message:"نموذج الذكاء الاصطناعي الذي طورته شركة Google",description:"وصف مجموعة نماذج Gemini"},"modelGroup.claude":{message:"Claude",description:"اسم النموذج للخدمة، أي Claude"},"modelGroup.claudeDescription":{message:"نموذج الذكاء الاصطناعي الذي طورته شركة Anthropic",description:"وصف مجموعة نماذج Claude"},"modelGroup.kimi":{message:"Kimi",description:"اسم النموذج للخدمة، أي Kimi"},"modelGroup.kimiDescription":{message:"نموذج الذكاء الاصطناعي الذي طورته شركة Dark Side of the Moon",description:"وصف مجموعة نماذج Kimi"},"modelGroup.glm":{message:"GLM",description:"اسم النموذج للخدمة، أي GLM"},"modelGroup.glmDescription":{message:"نموذج اللغة الكبير الذي طورته شركة Zhiyu AI",description:"وصف مجموعة نماذج GLM"},"model.54":{message:"gpt-5.4",description:"اسم النموذج للخدمة، أي GPT 5.4"},"model.54Description":{message:"نموذج GPT 5.4 الرائد من الجيل الأحدث",description:"وصف نموذج GPT 5.4"},"model.54Mini":{message:"gpt-5.4-mini",description:"اسم النموذج للخدمة، أي GPT 5.4 Mini"},"model.54MiniDescription":{message:"نموذج GPT 5.4 الأسرع والأخف",description:"وصف نموذج GPT 5.4 Mini"},"model.54Nano":{message:"gpt-5.4-nano",description:"اسم النموذج للخدمة، أي GPT 5.4 Nano"},"model.54NanoDescription":{message:"أصغر وأسرع نموذج GPT 5.4",description:"وصف نموذج GPT 5.4 Nano"},"model.deepseekChat":{message:"معيار 3.0",description:"اسم النموذج للخدمة، أي دردشة DeepSeek"},"model.deepseekChatDescription":{message:"مناسب للمهام اليومية",description:"وصف نموذج دردشة DeepSeek"},"model.deepseekReasoner":{message:"R1 استدلال",description:"اسم النموذج للخدمة، أي استدلال DeepSeek"},"model.deepseekReasonerDescription":{message:"مناسب للاستدلال والتفكير العميق",description:"وصف نموذج استدلال DeepSeek"},"model.deepseekChat32":{message:"إصدار V3.2 التجريبي",description:"اسم النموذج للخدمة، أي DeepSeek V3.2 Exp"},"model.deepseekChat32Description":{message:"أحدث إصدار تجريبي",description:"وصف نموذج DeepSeek V3.2 التجريبي"},"model.grok4":{message:"grok-4",description:"اسم النموذج للخدمة، أي Grok 4"},"model.grok4Description":{message:"النموذج الأكثر تقدمًا حاليًا",description:"وصف نموذج Grok 4"},"model.grok3":{message:"grok-3",description:"اسم النموذج للخدمة"},"model.grok3Description":{message:"مناسب لمعظم المهام",description:"وصف نموذج Grok3"},"model.grok3Reasoner":{message:"grok-3 استدلال",description:"اسم النموذج للخدمة، أي استدلال Grok3"},"model.grok3ReasonerDescription":{message:"مناسب للاستدلال والتفكير العميق",description:"وصف نموذج استدلال Grok3"},"model.grok3Deepsearch":{message:"grok-3 بحث عميق",description:"اسم النموذج للخدمة، أي Grok3 بحث عميق"},"model.grok3DeepsearchDescription":{message:"مناسب للبحث العميق والمشاكل المعقدة",description:"وصف نموذج Grok3 بحث عميق"},"model.gemini30Pro":{message:"gemini-3.0-pro",description:"اسم النموذج للخدمة، أي Gemini 3.0 Pro"},"model.gemini30ProDescription":{message:"النموذج الأكثر تقدمًا حاليًا",description:"وصف نموذج Gemini 3.0 Pro"},"model.gemini25Pro":{message:"gemini-2.5-pro",description:"اسم النموذج للخدمة، أي Gemini 2.5 Pro"},"model.gemini25ProDescription":{message:"مناسب لمهام الاستدلال المعقدة",description:"وصف نموذج Gemini 2.5 Pro"},"model.gemini25Flash":{message:"gemini-2.5-flash",description:"اسم النموذج للخدمة، أي Gemini 2.5 Flash"},"model.gemini25FlashDescription":{message:"نموذج أسرع وأخف",description:"وصف نموذج Gemini 2.5 Flash"},"model.claudeOpus4":{message:"claude-opus-4",description:"اسم النموذج للخدمة، أي Claude Opus 4"},"model.claudeOpus4Description":{message:"النموذج الأكثر تقدمًا حاليًا",description:"وصف نموذج Claude Opus 4"},"model.claudeSonnet4":{message:"كلود سونيت 4",description:"اسم النموذج للخدمة، وهو كلود سونيت 4"},"model.claudeSonnet4Description":{message:"مناسب لمعظم المهام",description:"وصف نموذج كلود سونيت 4"},"model.claude37Sonnet":{message:"كلود 3.7 سونيت",description:"اسم النموذج للخدمة، وهو كلود 3.7 سونيت"},"model.claude37SonnetDescription":{message:"توازن بين الأداء والسرعة",description:"وصف نموذج كلود 3.7 سونيت"},"model.kimiK25":{message:"كيمي ك2.5",description:"اسم النموذج للخدمة، وهو كيمي ك2.5"},"model.kimiK25Description":{message:"النموذج الأكثر تقدمًا حاليًا",description:"وصف نموذج كيمي ك2.5"},"model.kimiK2Thinking":{message:"كيمي ك2 تفكير",description:"اسم النموذج للخدمة، وهو كيمي ك2 تفكير"},"model.kimiK2ThinkingDescription":{message:"مناسب للتفكير العميق وحل المشكلات",description:"وصف نموذج كيمي ك2 تفكير"},"model.kimiK2ThinkingTurbo":{message:"كيمي ك2 تفكير سريع",description:"اسم النموذج للخدمة، وهو كيمي ك2 تفكير سريع"},"model.kimiK2ThinkingTurboDescription":{message:"نموذج تفكير أسرع",description:"وصف نموذج كيمي ك2 تفكير سريع"},"model.glm51":{message:"GLM 5.1",description:"اسم النموذج للخدمة، وهو GLM 5.1"},"model.glm51Description":{message:"النموذج الرائد من زيبوت",description:"وصف نموذج GLM 5.1"},"model.glm47":{message:"GLM 4.7",description:"اسم النموذج للخدمة، وهو GLM 4.7"},"model.glm47Description":{message:"توازن بين الأداء والتكلفة",description:"وصف نموذج GLM 4.7"},"message.startNewChat":{message:"بدء محادثة جديدة",description:"رسالة على الويب تخبر المستخدم ببدء محادثة جديدة"},"message.uploadFile":{message:"رفع ملف",description:"رسالة على الويب تخبر المستخدم برفع ملف"},"message.noToken":{message:"يرجى التقدم للحصول على الخدمة المناسبة أولاً",description:"رسالة على الويب تخبر المستخدم بالتقدم للحصول على الخدمة المناسبة أولاً"},"message.newMessagePlaceholder":{message:"أدخل سؤالك...",description:"نص مكان في الويب يخبر المستخدم بإدخال السؤال"},"message.noInput":{message:"لا يمكن أن يكون السؤال فارغًا",description:"رسالة على الويب تخبر المستخدم أن السؤال لا يمكن أن يكون فارغًا"},"message.uploadReferencesExceed":{message:"يمكنك رفع ملف واحد فقط كحد أقصى",description:"رسالة على الويب تخبر المستخدم أنه يمكن رفع ملف واحد فقط كحد أقصى"},"message.uploadReferencesError":{message:"فشل رفع الملف، يرجى المحاولة لاحقًا",description:"رسالة على الويب تخبر المستخدم بفشل رفع الملف، يرجى المحاولة لاحقًا"},"message.notApplied":{message:"لم تتقدم لهذه الخدمة بعد، يرجى التقدم أولاً",description:"رسالة على الويب تخبر المستخدم أنه لم يتقدم لهذه الخدمة بعد، يرجى التقدم أولاً"},"message.tryForFree":{message:"تجربة مجانية",description:"رسالة على الويب تخبر المستخدم بتجربة مجانية"},"message.question1":{message:"إنشاء خطة تدريب",description:"سؤال مثال لبدء المحادثة، يطلب من المستخدم كتابة كود JavaScript لطباعة Hello World"},"message.question2":{message:"إنشاء صفحة ويب شخصية",description:"سؤال مثال لبدء المحادثة، يطلب من المستخدم كتابة بريد إلكتروني لمايك ليخبره أنه انتقل حديثًا"},"message.question3":{message:"تصميم لعبة برمجة ممتعة",description:"سؤال مثال لبدء المحادثة، يطلب من المستخدم شرح مبادئ الحوسبة الكمومية بلغة بسيطة"},"message.question4":{message:"تجربة سيول كالسكان المحليين",description:"سؤال مثال لبدء المحادثة، يطلب من المستخدم شرح تأثير الواقع الافتراضي على الإبداع الفني"},"message.question5":{message:"أي أكبر 9.8 أم 9.11؟",description:"سؤال مثال لبدء المحادثة، يطلب مقارنة حجم رقمين"},"message.question6":{message:"ما تأثير الذكاء الاصطناعي على المستقبل؟",description:"سؤال مثال لبدء المحادثة، ما تأثير الذكاء الاصطناعي على المستقبل؟"},"message.question7":{message:"كيف يمكن تحسين كفاءة التعلم؟",description:"سؤال مثال لبدء المحادثة، كيف يمكن تحسين كفاءة التعلم؟"},"message.question8":{message:"كيف يمكن تحسين التركيز؟",description:"سؤال مثال لبدء المحادثة، كيف يمكن تحسين التركيز؟"},"message.errorApiError":{message:"فشل الرد، يرجى المحاولة لاحقًا",description:"رسالة على الويب تخبر المستخدم بفشل الرد، يرجى المحاولة لاحقًا"},"message.errorBadRequest":{message:"محتوى الطلب غير صحيح، يرجى إعادة طرح السؤال",description:"رسالة على الويب تخبر المستخدم أن محتوى الطلب غير صحيح، يرجى إعادة طرح السؤال"},"message.errorNoConversation":{message:"المحادثة غير موجودة أو انتهت، يرجى بدء محادثة جديدة",description:"رسالة على الويب تخبر المستخدم أن المحادثة غير موجودة أو انتهت، يرجى بدء محادثة جديدة"},"message.errorContentTooLarge":{message:"محتوى المشكلة كبير جدًا، يرجى تقصيره والمحاولة مرة أخرى",description:"رسالة على الويب تخبر المستخدم أن محتوى المشكلة كبير جدًا، يرجى تقصيره والمحاولة مرة أخرى"},"message.errorTooManyRequests":{message:"لقد قمت بإجراء عمليات كثيرة جدًا، يرجى المحاولة مرة أخرى لاحقًا",description:"رسالة على الويب تخبر المستخدم أنه قام بإجراء عمليات كثيرة جدًا، يرجى المحاولة مرة أخرى لاحقًا"},"message.errorBusy":{message:"الخادم مشغول، يرجى المحاولة مرة أخرى لاحقًا",description:"رسالة على الويب تخبر المستخدم أن الخادم مشغول، يرجى المحاولة مرة أخرى لاحقًا"},"message.errorUsedUp":{message:"لقد استنفدت عدد الاستخدامات، يرجى شراء المزيد للاستمرار",description:"رسالة على الويب تخبر المستخدم أنه استنفد عدد الاستخدامات، يرجى شراء المزيد للاستمرار"},"message.errorUnknown":{message:"حدث خطأ غير معروف في الخادم، يرجى المحاولة مرة أخرى لاحقًا أو الاتصال بالدعم",description:"رسالة على الويب تخبر المستخدم أنه حدث خطأ غير معروف في الخادم، يرجى المحاولة مرة أخرى لاحقًا أو الاتصال بالدعم"},"message.errorTimeout":{message:"انتهت مهلة الإجابة، يرجى المحاولة مرة أخرى لاحقًا",description:"رسالة على الويب تخبر المستخدم أن مهلة الإجابة انتهت، يرجى المحاولة مرة أخرى لاحقًا"},"message.errorNotApplied":{message:"لم تقم بتقديم طلب لهذه الخدمة، يرجى التقديم أولاً ثم متابعة السؤال",description:"رسالة على الويب تخبر المستخدم أنه لم يقدم طلبًا لهذه الخدمة، يرجى التقديم أولاً ثم متابعة السؤال"},"message.confirmDelete":{message:"تأكيد الحذف",description:"رسالة على الويب تخبر المستخدم بتأكيد الحذف"},"message.howToUse":{message:"قد تحدث أخطاء من AI، يرجى التحقق من المعلومات المهمة.",description:"رسالة على الويب تخبر المستخدم أن AI قد تحدث أخطاء، يرجى التحقق من المعلومات المهمة"},"title.chat":{message:"دردشة AI",description:"عنوان الصفحة، أي دردشة AI"},"title.example":{message:"مثال",description:"عنوان الصفحة، أي مثال"},"title.capabilities":{message:"القدرات",description:"عنوان الصفحة، أي القدرات"},"title.limitations":{message:"القيود",description:"عنوان الصفحة، يشير إلى أن هذا الجزء يتعلق بالقيود التقنية للخدمة"},"title.complexQuestion":{message:"الإجابة على الأسئلة المعقدة",description:"عنوان الصفحة، يشير إلى أن هذا الجزء يتعلق بقدرة الخدمة على الإجابة على الأسئلة المعقدة"},"title.professionalQuestion":{message:"استشارة الأسئلة المهنية",description:"عنوان الصفحة، يشير إلى أن هذا الجزء يتعلق بقدرة الخدمة على استشارة الأسئلة المهنية"},"title.getTips":{message:"الحصول على إلهام وأفكار",description:"عنوان الصفحة، يشير إلى أن هذا الجزء يتعلق بقدرة الخدمة على الحصول على إلهام وأفكار"},"group.today":{message:"اليوم",description:"اسم المجموعة على الويب، أي اليوم"},"group.yesterday":{message:"أمس",description:"اسم المجموعة على الويب، أي أمس"},"group.thisWeek":{message:"هذا الأسبوع",description:"اسم المجموعة على الويب، أي هذا الأسبوع"},"group.earlier":{message:"أكثر سابقًا",description:"اسم المجموعة على الويب، أي أكثر سابقًا"},"mcp.title":{message:"خادم MCP",description:"عنوان مربع حوار إدارة خادم MCP"},"mcp.addServer":{message:"إضافة خادم",description:"زر إضافة خادم MCP"},"mcp.name":{message:"الاسم",description:"اسم خادم MCP"},"mcp.namePlaceholder":{message:"قم بتسمية الخادم",description:"نص العنصر النائب لاسم خادم MCP"},"mcp.url":{message:"الرابط",description:"رابط خادم MCP"},"mcp.urlPlaceholder":{message:"https://example.com/mcp",description:"نص العنصر النائب لرابط خادم MCP"},"mcp.description":{message:"الوصف",description:"وصف خادم MCP"},"mcp.descriptionPlaceholder":{message:"وصف استخدام هذا الخادم",description:"نص العنصر النائب لوصف خادم MCP"},"mcp.authType":{message:"نوع المصادقة",description:"نوع مصادقة خادم MCP"},"mcp.authNone":{message:"لا شيء",description:"بدون مصادقة"},"mcp.authBearer":{message:"رمز Bearer",description:"مصادقة رمز Bearer"},"mcp.authToken":{message:"رمز",description:"رمز المصادقة"},"mcp.authTokenPlaceholder":{message:"أدخل رمز المصادقة",description:"نص العنصر النائب لرمز المصادقة"},"mcp.test":{message:"اختبار الاتصال",description:"اختبار اتصال خادم MCP"},"mcp.testSuccess":{message:"تم الاتصال بنجاح",description:"نجاح اختبار الاتصال"},"mcp.testFailed":{message:"فشل الاتصال",description:"فشل اختبار الاتصال"},"mcp.toolsFound":{message:"تم العثور على {count} أداة",description:"عدد الأدوات التي تم العثور عليها"},"mcp.empty":{message:"لا توجد خوادم MCP، أضف واحدة لتوسيع قدرات AI",description:"قائمة خوادم MCP فارغة"},"mcp.loadErrorHint":{message:"تعذر تحميل خادم MCP، قد لا تكون هذه الميزة متاحة بعد.",description:"ملاحظة عند فشل تحميل خادم MCP بسبب أخطاء الشبكة/CORS"},"mcp.nameUrlRequired":{message:"يرجى ملء الاسم و URL",description:"الاسم و URL مطلوبان"},"mcp.urlRequired":{message:"يرجى ملء URL",description:"URL مطلوب"},"mcp.created":{message:"تم الإضافة بنجاح",description:"تم إضافة خادم MCP بنجاح"},"mcp.updated":{message:"تم التحديث بنجاح",description:"تم تحديث خادم MCP بنجاح"},"mcp.deleted":{message:"تم الحذف بنجاح",description:"تم حذف خادم MCP بنجاح"},"mcp.saveFailed":{message:"فشل الحفظ",description:"فشل حفظ خادم MCP"},"mcp.deleteConfirm":{message:'هل تؤكد حذف الخادم "{name}"؟',description:"تأكيد الحذف"},"mcp.tooltip":{message:"خادم MCP",description:"تلميح زر MCP"},"mcp.authOAuth":{message:"OAuth 2.0",description:"نوع مصادقة OAuth"},"mcp.oauthHint":{message:"بعد الحفظ، انقر على زر «تفويض» في بطاقة الخادم لإكمال مصادقة OAuth.",description:"تلميح عند اختيار نوع مصادقة OAuth"},"mcp.authorize":{message:"تفويض",description:"زر تفويض OAuth"},"mcp.oauthAuthorized":{message:"تم التفويض بنجاح",description:"رسالة نجاح تفويض OAuth"},"mcp.oauthFailed":{message:"فشل التفويض",description:"رسالة فشل تفويض OAuth"},"mcp.popupBlocked":{message:"تم حظر النافذة المنبثقة، يرجى السماح لنافذة منبثقة من هذا الموقع.",description:"ملاحظة عند حظر النافذة المنبثقة"},"connector.title":{message:"موصل",description:"عنوان مربع حوار إدارة الموصل"},"connector.tooltip":{message:"موصل OAuth",description:"تلميح زر الموصل"},"connector.noProviders":{message:"لا توجد موصلات متاحة، يرجى تكوين مزود OAuth على الخادم.",description:"رسالة عدم وجود مزودين"},"connector.connect":{message:"اتصال",description:"زر الاتصال"},"connector.disconnect":{message:"فصل",description:"زر الفصل"},"connector.connected":{message:"تم الاتصال بالموصل بنجاح",description:"رسالة نجاح الاتصال"},"connector.disconnected":{message:"تم فصل الموصل",description:"رسالة نجاح الفصل"},"connector.authFailed":{message:"فشل التفويض، يرجى المحاولة مرة أخرى.",description:"رسالة فشل التفويض"},"connector.loadError":{message:"فشل تحميل الموصل",description:"رسالة خطأ التحميل"},"connector.loadErrorHint":{message:"تعذر تحميل الموصل، قد لا تكون هذه الميزة متاحة بعد.",description:"ملاحظة عند فشل تحميل الموصل بسبب أخطاء الشبكة/CORS"},"connector.disconnectError":{message:"فشل فصل الموصل",description:"رسالة خطأ الفصل"},"connector.toggleError":{message:"فشل تحديث الموصل",description:"رسالة خطأ التبديل"},"connector.processing":{message:"جارٍ معالجة التفويض...",description:"رسالة معالجة رد الاتصال OAuth"},"connector.authSuccess":{message:"تم التفويض بنجاح!",description:"رسالة نجاح رد الاتصال OAuth"},"connector.closeWindow":{message:"ستغلق هذه النافذة تلقائيًا.",description:"تلميح إغلاق رد الاتصال OAuth"},"skill.title":{message:"مهارة",description:"عنوان مربع حوار إدارة المهارات"},"skill.tooltip":{message:"مهارات الذكاء الاصطناعي",description:"تلميح زر المهارة"},"skill.builtin":{message:"مضمنة",description:"علامة المهارات المضمنة"},"skill.empty":{message:"لا توجد مهارات متاحة.",description:"ملاحظة عند كون قائمة المهارات فارغة"},"skill.loadError":{message:"فشل تحميل المهارات",description:"ملاحظة فشل تحميل المهارات"},"skill.add":{message:"إضافة مهارة",description:"تسمية زر إضافة المهارة"},"skill.delete":{message:"حذف",description:"تسمية زر حذف المهارة"},"skill.deleteConfirm":{message:"هل تؤكد حذف المهارة «{name}»؟ لا يمكن التراجع عن هذا الإجراء.",description:"رسالة تأكيد قبل حذف مهارة"},"skill.deleteSuccess":{message:"تم الحذف",description:"رسالة نجاح حذف المهارة"},"skill.deleteError":{message:"فشل الحذف",description:"رسالة خطأ حذف المهارة"},"skill.createSuccess":{message:"تم إنشاء المهارة",description:"رسالة نجاح إنشاء المهارة"},"skill.createError":{message:"فشل إنشاء المهارة",description:"رسالة خطأ إنشاء المهارة"},"skill.form.name":{message:"الاسم",description:"تسمية حقل الاسم في نموذج المهارة"},"skill.form.namePlaceholder":{message:"مثل ملخص",description:"نص توضيحي لحقل الاسم في نموذج المهارة"},"skill.form.nameRequired":{message:"يرجى ملء الاسم",description:"رسالة مطلوبة لحقل الاسم في نموذج المهارة"},"skill.form.displayName":{message:"اسم العرض",description:"تسمية حقل اسم العرض في نموذج المهارة"},"skill.form.displayNamePlaceholder":{message:"الاسم المعروض في قائمة المهارات",description:"نص توضيحي لحقل اسم العرض في نموذج المهارة"},"skill.form.icon":{message:"الأيقونة (رمز تعبيري)",description:"تسمية حقل الأيقونة في نموذج المهارة"},"skill.form.description":{message:"الوصف",description:"تسمية حقل الوصف في نموذج المهارة"},"skill.form.type":{message:"النوع",description:"تسمية حقل النوع في نموذج المهارة"},"skill.form.typePrompt":{message:"نوع الموجه",description:"Prompt type label"},"skill.form.typeCode":{message:"رمز",description:"Code type label"},"skill.form.instructions":{message:"محتوى الموجه",description:"Prompt instructions label"},"skill.form.instructionsPlaceholder":{message:"الصق أو اكتب الموجه / التعليمات الخاصة بهذه المهارة...",description:"Prompt instructions placeholder"},"skill.form.instructionsRequired":{message:"يجب ملء محتوى الموجه لنوع الموجه",description:"Prompt instructions required message"},"skill.form.code":{message:"رمز",description:"Code skill label"},"skill.form.codePlaceholder":{message:"الصق الرمز الخاص بهذه المهارة...",description:"Code skill placeholder"},"skill.form.codeRequired":{message:"يجب ملء الرمز لنوع الرمز",description:"Code skill required message"},"skill.form.tags":{message:"علامات",description:"Skill form tags label"},"skill.form.tagsPlaceholder":{message:"افصل بين العلامات بفواصل، مثل: كتابة، برمجة",description:"Skill form tags placeholder"},"skill.form.uploadText":{message:"رفع ملف .txt / .md",description:"Upload prompt file button"},"skill.form.uploadCode":{message:"رفع ملف الرمز",description:"Upload code file button"},"agent.title":{message:"وكيل سطح المكتب",description:"代理管理对话框标题"},"agent.tooltip":{message:"وكيل سطح المكتب",description:"代理按钮提示"},"agent.connected":{message:"متصل",description:"代理已连接状态"},"agent.notConnected":{message:"غير متصل",description:"代理未连接状态"},"agent.description":{message:"قم بتوصيل وكيل سطح المكتب للوصول إلى الملفات المحلية، وتشغيل الأوامر، واستخدام خادم MCP المحلي في محادثات الذكاء الاصطناعي.",description:"代理描述"},"agent.name":{message:"اسم الوكيل",description:"代理名称标签"},"agent.tools":{message:"الأدوات المتاحة",description:"代理工具数量标签"},"agent.connectedSince":{message:"وقت الاتصال",description:"代理连接时间标签"},"agent.connectedHint":{message:"لقد تم توصيل وكيل سطح المكتب الخاص بك، يمكنك استخدامه.",description:"代理已连接提示"},"agent.installLabel":{message:"تثبيت وكيل سطح المكتب:",description:"安装说明标签"},"agent.runLabel":{message:"تشغيل الوكيل:",description:"运行说明标签"}};export{e as default};
|