@acedatacloud/nexior 3.329.2 → 3.329.4
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/{ApiCodeButton-DpyJUC7o.js → ApiCodeButton-CDsb5B0b.js} +1 -1
- package/dist/assets/{Artifacts-DT3wCVBL.js → Artifacts-CbYFPOX3.js} +1 -1
- package/dist/assets/{AskUserQuestionCard-BfBsfiHC.js → AskUserQuestionCard-Dz4FPI12.js} +1 -1
- package/dist/assets/{AudioPreview-D6-IjBIh.js → AudioPreview-D339qZf3.js} +1 -1
- package/dist/assets/{Auth-B-Wgb8zT.js → Auth-Ckae1ZBJ.js} +1 -1
- package/dist/assets/{Bare-DREZRrOE.js → Bare-DwoeqQE6.js} +1 -1
- package/dist/assets/{BotPlaceholder-BWTcdFIK.js → BotPlaceholder-DpT4BnQ9.js} +1 -1
- package/dist/assets/{BottomFooter-B5Q49OPu.js → BottomFooter-DnZMtl88.js} +1 -1
- package/dist/assets/{Callback-CRuzCrWd.js → Callback-eo836hGk.js} +1 -1
- package/dist/assets/{CodeSnippet-CunyGGML.js → CodeSnippet-C9csth17.js} +1 -1
- package/dist/assets/{Console-CLWD49fm.js → Console-Bd18l7Bq.js} +1 -1
- package/dist/assets/{Consumption-Mwj5RjX7.js → Consumption-BXIvYakD.js} +1 -1
- package/dist/assets/{Conversation-BTD_VA4M.js → Conversation-BNoEnUq5.js} +1 -1
- package/dist/assets/Conversation-D9GuzwHF.js +1 -0
- package/dist/assets/{CopyToClipboard-Bk1nRi-n.js → CopyToClipboard-dN_hdXoM.js} +1 -1
- package/dist/assets/{Detail-2jbPql9F.js → Detail-D9i_W4TK.js} +2 -2
- package/dist/assets/{Extra-ChGnrFK9.js → Extra-BQZPVMeh.js} +1 -1
- package/dist/assets/{FilePreview-CMTQuorI.js → FilePreview-BERWHOEO.js} +1 -1
- package/dist/assets/{Hailuo-Bb7VQwkv.js → Hailuo-BywGqxLq.js} +1 -1
- package/dist/assets/{History-CXxCG7T4.js → History-DBCyFmX7.js} +1 -1
- package/dist/assets/{ImagePreview-CbaJ2SD9.js → ImagePreview-BLRlwhuO.js} +1 -1
- package/dist/assets/{ImageWrapper-BQLEPXVj.js → ImageWrapper-BfkSqxl3.js} +1 -1
- package/dist/assets/{Index-3R_wKBp4.js → Index-9d9qE0ta.js} +1 -1
- package/dist/assets/{Index-DzlfgIbr.js → Index-BgkuiANU.js} +1 -1
- package/dist/assets/{Index-CALRyNnV.js → Index-BgnX7Oc0.js} +1 -1
- package/dist/assets/{Index-CaCCM6EW.js → Index-BuiSnHP9.js} +1 -1
- package/dist/assets/{Index-Ccc9ea1S.js → Index-BvQVmq8R.js} +1 -1
- package/dist/assets/{Index-Bu2sN3Ap.js → Index-C6smauoU.js} +1 -1
- package/dist/assets/{Index-O9lnW9H8.js → Index-CE5NxTHr.js} +1 -1
- package/dist/assets/{Index-D7PnJ80S2.js → Index-CUdTkIS-2.js} +1 -1
- package/dist/assets/{Index-Bkv_PNoc.js → Index-CXflTfRj.js} +1 -1
- package/dist/assets/{Index-DZ6JZkAY.js → Index-CZkuYOTK.js} +1 -1
- package/dist/assets/Index-C_5D2Nmc.js +1 -0
- package/dist/assets/{Index-Di4lMl8s.js → Index-CcnHuEqZ.js} +1 -1
- package/dist/assets/{Index-Db1I-_sC.js → Index-ClEpOuY-.js} +1 -1
- package/dist/assets/{Index-CsIImPgC.js → Index-ClL3MwRb.js} +1 -1
- package/dist/assets/{Index-BXXGLJrg.js → Index-Co2GeEMZ.js} +1 -1
- package/dist/assets/{Index-1qEXXP6g2.js → Index-CokTw_ml2.js} +1 -1
- package/dist/assets/{Index-CzclUObJ2.js → Index-D5xn_-Fx2.js} +1 -1
- package/dist/assets/{Index-CgdIQ0Kh.js → Index-DPnIwBMd.js} +1 -1
- package/dist/assets/{Index-n8CrivCG.js → Index-DXD5dR9s.js} +1 -1
- package/dist/assets/{Index-9flP5h1j.js → Index-DXwxUbUg.js} +1 -1
- package/dist/assets/{Index-BofWbs6Y2.js → Index-Db4O525T2.js} +1 -1
- package/dist/assets/{Index-CxSe_3IY.js → Index-DnN80xxj.js} +1 -1
- package/dist/assets/{Index-CbesAGvB2.js → Index-NFTGcA3N2.js} +1 -1
- package/dist/assets/{Index-BQt1cW1A.js → Index-RYOYvAQs.js} +1 -1
- package/dist/assets/{Index-CyVpxnVY.js → Index-RzrQB1OW.js} +1 -1
- package/dist/assets/{Index-CvvAULqH.js → Index-Vi5_hN0Z.js} +1 -1
- package/dist/assets/{Index-IhSDg1Gu2.js → Index-ggp4IQ5B2.js} +1 -1
- package/dist/assets/{Index-DPDedaCl2.js → Index-o0YCx8f42.js} +1 -1
- package/dist/assets/{Index-DSP9EXdI.js → Index-rrxOdM0x.js} +1 -1
- package/dist/assets/{Index-DMj_04zq.js → Index-yHWbwo46.js} +1 -1
- package/dist/assets/{Invitees-BW3erziF.js → Invitees-BXecokc4.js} +1 -1
- package/dist/assets/{List-DViUqd9y.js → List-7HfJLw-N.js} +1 -1
- package/dist/assets/{List-BXbcCN-f.js → List-DYQ9jTfk.js} +1 -1
- package/dist/assets/{List-CwhgRNLS.js → List-Dv92XoJh.js} +1 -1
- package/dist/assets/{LocalTools-DwuhLEJv.js → LocalTools-Dv-u4zYc.js} +1 -1
- package/dist/assets/{LocalTools-D_wbqvvS.js → LocalTools-HOkWiWSD.js} +1 -1
- package/dist/assets/{Main-CVBJB8TA.js → Main-Cnj2q1T3.js} +1 -1
- package/dist/assets/{Message-DyLP9tkw.js → Message-B8hPNpuB.js} +2 -2
- package/dist/assets/{Model-FCXV8UZG.js → Model-BFtBbFCb.js} +1 -1
- package/dist/assets/Navigator-BwmJzSDQ.css +1 -0
- package/dist/assets/Navigator-C4AJcu0v.js +8 -0
- package/dist/assets/{NoTasks-BwTq2H9w.js → NoTasks-D_weyyRm.js} +1 -1
- package/dist/assets/{NotFound-BFZuoU2i.js → NotFound-BbZhPh8d.js} +1 -1
- package/dist/assets/{Pay-BBBATHah.js → Pay-DAmr2upg.js} +1 -1
- package/dist/assets/{Player-BYSf72YA.js → Player-CRRJFvS8.js} +1 -1
- package/dist/assets/{PromptTextarea-D7Fwzr_Y.js → PromptTextarea-BTV-qSKb.js} +1 -1
- package/dist/assets/{RealtimeCall-CajilFCh.js → RealtimeCall-xTXMIchj.js} +1 -1
- package/dist/assets/{ScheduledTasks-sqSeTZU9.js → ScheduledTasks-BpYaVfb7.js} +1 -1
- package/dist/assets/{Status-BOy_2Cie.js → Status-B1leWf6C.js} +1 -1
- package/dist/assets/{Subscribe-B_DB9lwi.js → Subscribe-h-GE5YDG.js} +1 -1
- package/dist/assets/{TabSwitcher-CnRyc2my.js → TabSwitcher-hrVHuBQY.js} +1 -1
- package/dist/assets/{Tts-DaYM4Mqs.js → Tts-re0zeCCf.js} +1 -1
- package/dist/assets/{VideoPlayer-FouX7LHv.js → VideoPlayer-DmRL-Q-u.js} +1 -1
- package/dist/assets/{alert-_xJIX9qr.js → alert-Rus_FRqg.js} +1 -1
- package/dist/assets/{Logo-HhJ0MW7v.js → avatar-zWS7uf-0.js} +1 -1
- package/dist/assets/{basic-C2HYPtLG.js → basic-DYddy-Y7.js} +1 -1
- package/dist/assets/{chat-CfQknnqH.js → chat-D7pYA5_K.js} +1 -1
- package/dist/assets/codingBridge-B-O_wA-v.js +2 -0
- package/dist/assets/{codingBridgeNotify-DO0hOI9C.js → codingBridgeNotify-DMu8O3yh.js} +2 -2
- package/dist/assets/{collapse-C3lFxKRG.js → collapse-BJESX6Av.js} +1 -1
- package/dist/assets/{common-BPLiRCoF.js → common-7Q5o6gM-.js} +1 -1
- package/dist/assets/{common-D2tuBQCN.js → common-B-ohYxCX.js} +1 -1
- package/dist/assets/{common-DMhCLoSb.js → common-B1FHfW9v.js} +1 -1
- package/dist/assets/{common-oPoLs4in.js → common-Bd72w7MH.js} +1 -1
- package/dist/assets/{common-DIlsYjfU.js → common-C5ZmmHrA.js} +1 -1
- package/dist/assets/{common-Bi-9QQmh.js → common-Cf9CFOaz.js} +1 -1
- package/dist/assets/{common-4eWst1C6.js → common-CleVQgOe.js} +1 -1
- package/dist/assets/{common-iT6JmqME.js → common-CooYdLX1.js} +1 -1
- package/dist/assets/{common-CueiUtkx.js → common-Cs7AuUVP.js} +1 -1
- package/dist/assets/common-CtP4rahV.js +1 -0
- package/dist/assets/{common-Bk1l4VlZ.js → common-DEQEJoSQ.js} +1 -1
- package/dist/assets/{common-LP3eXUPq.js → common-DGTJNjb0.js} +1 -1
- package/dist/assets/{common-CrRsEu05.js → common-DGm_Ys8S.js} +1 -1
- package/dist/assets/{common-BeHbm3PH.js → common-Dgxvbj6q.js} +1 -1
- package/dist/assets/{common-BsKVFQp3.js → common-Din9qyzk.js} +1 -1
- package/dist/assets/{common-CHTz8m3E.js → common-DlQq8PNu.js} +1 -1
- package/dist/assets/{common-C8zseZhj.js → common-DuhIgjlk.js} +1 -1
- package/dist/assets/{common-ZUHlETmx.js → common-ZewnhqmB.js} +1 -1
- package/dist/assets/constants-DL6fvaZc.js +1 -0
- package/dist/assets/{createTaskActions-BC5j7kXt.js → createTaskActions-Be8kEIvh.js} +1 -1
- package/dist/assets/{date-picker-BL8VEdss.js → date-picker-L2GfIL9g.js} +1 -1
- package/dist/assets/{digitalhuman-B850Z8JR.js → digitalhuman-DBZq8heb.js} +1 -1
- package/dist/assets/{drawer-DPh8Fl2E.js → drawer-CgVYanRZ.js} +1 -1
- package/dist/assets/{dropdown-BYgx8f2W.js → dropdown-BT8DftI7.js} +1 -1
- package/dist/assets/{dropdown-BBqH0BFX.js → dropdown-CLwW5KPh.js} +1 -1
- package/dist/assets/{esm-BZog_s2-.js → esm-4-WHD-MV.js} +1 -1
- package/dist/assets/esm-BLr91rxv.js +1 -0
- package/dist/assets/{esm-BgHbHgg8.js → esm-CQl4WycQ.js} +1 -1
- package/dist/assets/{esm-bTzyoOYV.js → esm-D3i4oQN3.js} +2 -2
- package/dist/assets/{esm-CMMJ2Gtl.js → esm-DWjhkZjq.js} +1 -1
- package/dist/assets/{esm-fFUkarvh.js → esm-g9_IAjbk.js} +3 -3
- package/dist/assets/{esm-ZQptvXr4.js → esm-jLKS8pXC.js} +2 -2
- package/dist/assets/{fish-wcvY8Yhh.js → fish-DpR5NHal.js} +1 -1
- package/dist/assets/{flux-DcsN3CAR.js → flux-SKrmYgf0.js} +1 -1
- package/dist/assets/{grokvideo-Ckhxu_ye.js → grokvideo-CI7s5jUJ.js} +1 -1
- package/dist/assets/{hailuo-CUlnVVrg.js → hailuo-DjkThVtT.js} +1 -1
- package/dist/assets/{headshots-CNl98iOn.js → headshots-Bau_wsoU.js} +1 -1
- package/dist/assets/{i18n-CczuUNCK.js → i18n-BLDpPa-U.js} +1 -1
- package/dist/assets/{image-BjapOX8j.js → image-9D7mn7Ju.js} +1 -1
- package/dist/assets/{index-s1lrp6nN.js → index-DtNdkcor.js} +6 -6
- package/dist/assets/{index.browser.esm-B8hNRw1I.js → index.browser.esm-B_BYriqB.js} +1 -1
- package/dist/assets/{index.es-BtwnN9TZ.js → index.es-Da04vp1J.js} +1 -1
- package/dist/assets/{input-number-B8yYDeUw.js → input-number-C8MmclMt.js} +1 -1
- package/dist/assets/{kling-YaEqW24j.js → kling-CoQSiDf4.js} +1 -1
- package/dist/assets/{luma-B6swXiir.js → luma-DnkXsoHW.js} +1 -1
- package/dist/assets/{maestro-BSA31vV2.js → maestro-BZoloSYP.js} +1 -1
- package/dist/assets/{maestro-DuAZI6qA.js → maestro-DxNvDO9W.js} +1 -1
- package/dist/assets/{midjourney-Bun_rIWX.js → midjourney-YweY4H5M.js} +1 -1
- package/dist/assets/{mobileLocalExec-DXKg5x1k.js → mobileLocalExec-CPKlem21.js} +2 -2
- package/dist/assets/{nanobanana-1aJuNjuV.js → nanobanana-D2YAQP2Y.js} +1 -1
- package/dist/assets/{omni-pDIQ9Abh.js → omni-DClCZEZ8.js} +1 -1
- package/dist/assets/{openaiimage-BViQ9P0Z.js → openaiimage-Cb6wp-vv.js} +1 -1
- package/dist/assets/{pagination-BCc6JgI2.js → pagination-B0W_6vbW.js} +1 -1
- package/dist/assets/{pagination-q6_CA9Ta.js → pagination-DiPjbPcF.js} +1 -1
- package/dist/assets/{pika-BuUZEsCD.js → pika-CBUyM3jR.js} +1 -1
- package/dist/assets/{pixverse-AJl_otVM.js → pixverse-DJn64LHw.js} +1 -1
- package/dist/assets/{popover-CQqNDogj.js → popover-CtDhK95i.js} +1 -1
- package/dist/assets/{producer-Dghy2j1o.js → producer-N0fP9HZ8.js} +1 -1
- package/dist/assets/{qrart-zdV5UKk_.js → qrart-Cm3w0RyL.js} +1 -1
- package/dist/assets/{realtime-2WByq0Uw.js → realtime-LLJzZeVk.js} +1 -1
- package/dist/assets/{row-C_5ub9kH.js → row-CQpXFLYH.js} +1 -1
- package/dist/assets/{seedance-B62zKgZ0.js → seedance-CbFqugor.js} +1 -1
- package/dist/assets/{seedream-6x0K87O3.js → seedream-BsWe8bcX.js} +1 -1
- package/dist/assets/{select-B-w4TTjR.js → select-0z-uAP9i.js} +1 -1
- package/dist/assets/{serp-BCz-oRoZ.js → serp-BgmVYY3j.js} +1 -1
- package/dist/assets/{site-BiBvOr1Q.js → site-8VlM9PrK.js} +1 -1
- package/dist/assets/{site-D_vdx-6V.js → site-BfkVUosO.js} +1 -1
- package/dist/assets/{site-GAb3_QdI.js → site-Bl8rWB2M.js} +1 -1
- package/dist/assets/{site-CNyRkj_0.js → site-Bski9Pmj.js} +1 -1
- package/dist/assets/{site-0wJ3WbQ4.js → site-Bt5OBlDD.js} +1 -1
- package/dist/assets/{site-CXVR4MhC.js → site-Bz-KveSe.js} +1 -1
- package/dist/assets/site-CDnx5UcA.js +1 -0
- package/dist/assets/{site-BTZTkLG-.js → site-CIcXJe9e.js} +1 -1
- package/dist/assets/{site-DXNQkN46.js → site-COdY5Xna.js} +1 -1
- package/dist/assets/{site-joKRsiAW.js → site-Cmi5-2P3.js} +1 -1
- package/dist/assets/{site-BSb3Dff5.js → site-DAZbi99v.js} +1 -1
- package/dist/assets/{site-BEAtY2ne.js → site-DDe480PH.js} +1 -1
- package/dist/assets/site-DYGv6Hq3.js +1 -0
- package/dist/assets/{site-C9H5UqCD.js → site-Dco6WgLf.js} +1 -1
- package/dist/assets/{site-CzOZRRNc.js → site-Dlt7w9A9.js} +1 -1
- package/dist/assets/{site-DWffxCk_.js → site-DmoJwpZj.js} +1 -1
- package/dist/assets/{site-D-nfVpdR.js → site-fFgFUwmd.js} +1 -1
- package/dist/assets/{site-DjssbeLJ.js → site-nW4vlrdx.js} +1 -1
- package/dist/assets/{slider-Di9hdrCO.js → slider-C3r4Tina.js} +1 -1
- package/dist/assets/{solana-wallets-C0YMX0g4.js → solana-wallets-hlKO3Eo_.js} +2 -2
- package/dist/assets/{solana-wallets-vue-kJgRlNLC.js → solana-wallets-vue-DCK_08bA.js} +1 -1
- package/dist/assets/{sora-BrXEK2Gj.js → sora-CLK_QOSi.js} +1 -1
- package/dist/assets/{suno-BTnmcB86.js → suno-B_p-QYmP.js} +1 -1
- package/dist/assets/{switch-FLE178ww.js → switch-CU1MBzwr.js} +1 -1
- package/dist/assets/{table-Db9R06on.js → table-_SEx5cio.js} +1 -1
- package/dist/assets/{tabs-CKJWx47c.js → tabs-BqQGAINi.js} +1 -1
- package/dist/assets/{time-picker-Cw98mYlw.js → time-picker-DoFLS1_O.js} +1 -1
- package/dist/assets/{tooltip-DAEtFoXl.js → tooltip-DK6bCg2d.js} +1 -1
- package/dist/assets/{upload-B6JNld1O.js → upload-hk4FmcSq.js} +1 -1
- package/dist/assets/{veo-CKw5P1Qs.js → veo-DC86Ittg.js} +1 -1
- package/dist/assets/{wan-B-arNjuC.js → wan-ChU2aiPI.js} +1 -1
- package/dist/assets/{web-CLCqhn5u.js → web-BP5qgwFY.js} +1 -1
- package/dist/assets/{web-BqqNjbPq.js → web-Bl9xCjU6.js} +1 -1
- package/dist/assets/{web-CXMCfO-f.js → web-BrKtWB3t.js} +1 -1
- package/dist/assets/{web-DHbVHDDZ.js → web-DWgUgKQ-.js} +1 -1
- package/dist/assets/{web-rxpnQ8Rk.js → web-YxaoXuPj.js} +1 -1
- package/dist/assets/{webextrator-BhS9H8hF.js → webextrator-BlNaRo-L.js} +1 -1
- package/dist/index.html +3 -3
- package/package.json +1 -1
- package/dist/assets/Conversation-15TOVcDO.js +0 -1
- package/dist/assets/Index-Byb2v5z2.js +0 -1
- package/dist/assets/Navigator-CDnWLupN.css +0 -1
- package/dist/assets/Navigator-boGtYPk_.js +0 -8
- package/dist/assets/codingBridge-bwOPU8tL.js +0 -2
- package/dist/assets/common-DoX6Rkj9.js +0 -1
- package/dist/assets/constants-BYU0Mi8o.js +0 -1
- package/dist/assets/esm-BfOQELBi.js +0 -1
- package/dist/assets/site-B9bMlsSM.js +0 -1
- package/dist/assets/site-DvENlhQi.js +0 -1
- /package/dist/assets/{Logo-CDdJk4Cz.css → avatar-CDdJk4Cz.css} +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{A as e,B as t,C as n,D as r,E as i,F as a,H as o,I as s,L as c,M as l,N as u,O as d,P as f,R as p,S as ee,T as m,V as h,_ as g,a as _,b as v,c as y,d as b,f as x,g as S,h as C,i as te,j as ne,k as re,l as ie,m as ae,n as oe,o as w,oa as T,p as E,r as D,s as O,t as k,u as A,v as j,w as M,x as N,y as P,z as F}from"./constants-BYU0Mi8o.js";import{Nr as I,Oi as L,Ti as R,jn as z,vi as B}from"./index-s1lrp6nN.js";import{a as se,i as V,n as H,o as U,r as W}from"./codingBridgeNotify-DO0hOI9C.js";var G=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,K=()=>{try{return typeof localStorage<`u`&&localStorage.getItem(`cbDebug`)===`1`}catch{return!1}},q=(e,t)=>{if(!K())return;let n=t?.payload??{};console.debug(`[codingBridge]`,e,{type:t?.type,id:t?.id,node_id:t?.node_id??t?.from_node,action:n?.action,event:n?.event,session_id:n?.session_id,trace_id:n?.trace_id})},ce=class{ws;token;handlers;reconnectDelay=o;reconnectTimer;closedByUser=!1;constructor(e,t){this.token=e,this.handlers=t}get isOpen(){return this.ws?.readyState===WebSocket.OPEN}connect(){this.closedByUser=!1,this.open()}open(){if(this.ws&&(this.ws.readyState===WebSocket.OPEN||this.ws.readyState===WebSocket.CONNECTING))return;let e=`${T}?token=${encodeURIComponent(this.token)}`,t;try{t=new WebSocket(e)}catch(e){console.warn(`[codingBridge] failed to open socket`,e),this.scheduleReconnect();return}this.ws=t,t.onopen=()=>{this.reconnectDelay=o,this.handlers.onOpen?.()},t.onmessage=e=>this.onMessage(e),t.onclose=()=>{this.handlers.onClose?.(),this.closedByUser||this.scheduleReconnect()},t.onerror=()=>{t.close()}}onMessage(e){let n;try{n=JSON.parse(e.data)}catch{return}let r=n?.payload??{};switch(q(`recv`,n),n?.type){case t:this.handlers.onEvent?.(r,n?.from_node);break;case p:this.handlers.onNodesSnapshot?.(r.nodes??[]);break;case F:this.handlers.onNodeStatus?.(r.node_id,r.status);break;case S:this.handlers.onRelayError?.(r.code??`error`,r.message??``);break;default:break}}scheduleReconnect(){if(this.closedByUser||this.reconnectTimer)return;let e=this.reconnectDelay;this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=void 0,this.open()},e),this.reconnectDelay=Math.min(this.reconnectDelay*2,h)}sendEnvelope(e,t){if(!this.isOpen)return;let n={v:2,id:G(),ts:Date.now(),type:e,...t};q(`send`,n),this.ws?.send(JSON.stringify(n))}sendToNode(e,t){this.sendEnvelope(C,{node_id:e,payload:t})}listNodes(){this.sendEnvelope(E,{})}resume(e){this.sendEnvelope(ae,{payload:{resume_from:e}})}close(){if(this.closedByUser=!0,this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),void 0),this.ws){this.ws.onclose=null,this.ws.onerror=null,this.ws.onmessage=null,this.ws.onopen=null;try{this.ws.close()}catch{}this.ws=void 0}}},J,Y=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,X=(e,t,n)=>({id:Y(),session_id:e,kind:t,ts:Date.now(),...n}),Z=e=>{try{let t=JSON.parse(e);if(t&&typeof t==`object`)return t}catch{}return{answers:{}}},le=e=>{let t=Z(e).answers??{};return Object.entries(t).map(([e,t])=>`${e} → ${Array.isArray(t)?t.join(`, `):t}`).join(`
|
|
2
|
-
`)},ue=(e,t)=>{H({title:`Approval needed`,body:`Claude wants to use ${t.tool||`a tool`}. Tap to review.`,data:t},t=>{t.node_id&&e(`selectNode`,t.node_id)})},Q=(t,o,p,h,_)=>{let y=h?.event,b=h?.session_id,x=h?.trace_id,S=h?.seq;if(typeof S==`number`&&b){let e=p.lastSeq[b];if(e!==void 0&&S<=e)return;t(`setLastSeq`,{session_id:b,seq:S})}switch(b&&x&&t(`updateSession`,{session_id:b,trace_id:x}),y){case ne:t(`upsertSession`,{session_id:b,node_id:_,status:`running`,cwd:h.cwd,model:h.model,...h.effort===void 0?{}:{effort:h.effort},...h.permission_mode===void 0?{}:{permission_mode:h.permission_mode},trace_id:x});break;case r:{let e=h.sdk_session_id;b&&e&&e!==b&&t(`renameSession`,{from:b,to:e});break}case f:{let e=h.id;e&&p.events[b]?.find(t=>t.kind===`text`&&t.stream_id===e)?t(`appendDelta`,{session_id:b,stream_id:e,text:h.text??``}):t(`appendEvent`,X(b,`text`,{text:h.text??``,stream_id:e,streaming:!0,trace_id:x}));break}case u:{let e=h.id;e&&p.events[b]?.find(t=>t.kind===`text`&&t.stream_id===e)?t(`finalizeStream`,{session_id:b,stream_id:e,text:h.text}):t(`appendEvent`,X(b,`text`,{text:h.text,trace_id:x}));break}case a:t(`appendEvent`,X(b,`thinking`,{text:h.text,trace_id:x}));break;case c:t(`appendEvent`,X(b,`tool_use`,{tool:h.tool,tool_use_id:h.tool_use_id,input:h.input,trace_id:x}));break;case s:t(`appendEvent`,X(b,`tool_result`,{tool_use_id:h.tool_use_id,content:h.content,is_error:h.is_error,trace_id:x}));break;case ee:t(`addPermission`,{request_id:h.request_id,session_id:b,node_id:_,tool:h.tool,input:h.input,title:h.title,display_name:h.display_name,description:h.description}),ue(o,{node_id:_,session_id:b,request_id:h.request_id,tool:h.display_name||h.title||h.tool});break;case N:for(let e of h.requests??[])t(`addPermission`,{request_id:e.request_id,session_id:e.session_id,node_id:_,tool:e.tool,input:e.input,title:e.title,display_name:e.display_name,description:e.description});break;case n:t(`removePermission`,h.request_id);break;case re:t(`finalizeAllStreams`,{session_id:b}),t(`appendEvent`,X(b,`result`,{subtype:h.subtype,is_error:h.is_error,text:h.result,cost_usd:h.cost_usd,cut_uuid:h.cut_uuid,sdk_session_id:h.sdk_session_id,trace_id:x})),t(`updateSession`,{session_id:b,status:`idle`,cost_usd:h.cost_usd});break;case d:t(`appendEvent`,X(b,`notice`,{text:h.text,subtype:h.code,command:h.command,level:h.level}));break;case i:t(`finalizeAllStreams`,{session_id:b}),t(`appendEvent`,X(b,`error`,{text:h.message,trace_id:x})),t(`updateSession`,{session_id:b,status:`error`}),t(`updateStatus`,{key:`getHistoryDetail`,value:B.Success});break;case m:t(`finalizeAllStreams`,{session_id:b}),t(`updateSession`,{session_id:b,status:`closed`});break;case e:t(`rewindToCut`,{session_id:b,cut_uuid:h.cut_uuid}),h.prompt&&t(`appendEvent`,X(b,`prompt`,{text:h.prompt,trace_id:x})),t(`updateSession`,{session_id:b,status:`running`});break;case l:o(`resyncSession`,b);break;case M:for(let e of h.sessions??[])t(`upsertSession`,{session_id:e.session_id,node_id:_,status:e.status??`running`,started:!0,cwd:e.cwd,model:e.model,...e.effort===void 0?{}:{effort:e.effort},...e.permission_mode===void 0?{}:{permission_mode:e.permission_mode}});break;case v:if(_){t(`setHistory`,{node_id:_,sessions:h.sessions??[]}),t(`updateStatus`,{key:`getHistory`,value:B.Success});let e=p.historyRef;e&&e.node_id===_&&!p.currentSessionId&&o(`reattachSession`,e)}break;case P:de(t,p,h,_),t(`updateStatus`,{key:`getHistoryDetail`,value:B.Success});break;case j:t(`setDirectory`,{path:h.path,parent:h.parent??null,sep:h.sep??`/`,entries:h.entries??[],truncated:h.truncated,error:h.error});break;case g:_&&t(`setCapabilities`,{node_id:_,capabilities:{providers:h.providers??[]}});break;default:break}},de=(e,t,n,r)=>{let i=n?.session_id,a=fe(n?.provider);if(!i||!r)return;let o=a===`claude`||a===`codex`||a===`copilot`,s=t.sessions[i],c=!!s&&(s.started===!0||s.status===`running`||s.status===`starting`),l=t.lastComposer?.[r]??{};e(`upsertSession`,{session_id:i,node_id:r,status:c?s.status:`idle`,cwd:n.cwd??s?.cwd??l.cwd,model:n.model??s?.model??l.model,effort:n.effort??s?.effort??l.effort,permission_mode:n.permission_mode??s?.permission_mode??l.permissionMode,provider:a,started:!!c,readonly:!o&&!c});let u=t.events[i]?.length??0,d=(n.events??[]).length,f=s?.status===`running`||s?.status===`starting`;c&&u>0&&(f||u>=d)||e(`setEvents`,{session_id:i,events:(n.events??[]).map((e,t)=>({id:Y(),session_id:i,kind:e.kind,ts:typeof e.ts==`number`?e.ts:Date.now()+t,text:e.text,tool:e.tool,tool_use_id:e.tool_use_id,input:e.input,content:e.content,is_error:e.is_error,subtype:e.subtype,cost_usd:e.cost_usd}))}),e(`setCurrentNode`,r),e(`setCurrentSession`,i),e(`setHistoryRef`,{node_id:r,provider:a,session_id:i})},fe=e=>e===`codex`||e===`copilot`?e:`claude`,$={namespaced:!0,state:I,mutations:{resetAll:e=>{Object.assign(e,I())},updateStatus:(e,t)=>{e.status[t.key]=t.value},setConnection:(e,t)=>{e.connection=t},setNodes:(e,t)=>{e.nodes=t},mergeNodeSnapshot:(e,t)=>{let n=new Set(t.map(e=>e.node_id));for(let t of e.nodes)t.status=n.has(t.node_id)?`online`:`offline`;for(let n of t)e.nodes.some(e=>e.node_id===n.node_id)||e.nodes.push({...n,status:`online`})},setNodeStatus:(e,t)=>{let n=e.nodes.find(e=>e.node_id===t.node_id);n&&(n.status=t.status)},setCurrentNode:(e,t)=>{e.currentNodeId=t},setCurrentSession:(e,t)=>{e.currentSessionId=t},upsertSession:(e,t)=>{e.sessions[t.session_id]={...e.sessions[t.session_id],...t},e.events[t.session_id]||(e.events[t.session_id]=[])},updateSession:(e,t)=>{let n=e.sessions[t.session_id];n&&(e.sessions[t.session_id]={...n,...t})},renameSession:(e,t)=>{let{from:n,to:r}=t;if(n===r||!e.sessions[n])return;e.sessions[r]={...e.sessions[r],...e.sessions[n],session_id:r},delete e.sessions[n];let i=e.events[n];i&&(i.length||!e.events[r]?.length)&&(e.events[r]=i),delete e.events[n],delete e.lastSeq[n],e.lastSeq[r]=0;for(let t of e.permissions)t.session_id===n&&(t.session_id=r);e.currentSessionId===n&&(e.currentSessionId=r),e.historyRef?.session_id===n&&(e.historyRef={...e.historyRef,session_id:r})},appendEvent:(e,t)=>{e.events[t.session_id]||(e.events[t.session_id]=[]),e.events[t.session_id].push(t)},truncateEventsBefore:(e,t)=>{let n=e.events[t.session_id];if(!n)return;let r=n.findIndex(e=>e.id===t.event_id);r>=0&&(e.events[t.session_id]=n.slice(0,r))},rewindToCut:(e,t)=>{let n=e.events[t.session_id];if(!n)return;if(!t.cut_uuid){e.events[t.session_id]=[];return}let r=n.findIndex(e=>e.kind===`result`&&e.cut_uuid===t.cut_uuid);r>=0&&(e.events[t.session_id]=n.slice(0,r+1))},setLastSeq:(e,t)=>{let n=e.lastSeq[t.session_id]??0;t.seq>n&&(e.lastSeq[t.session_id]=t.seq)},appendDelta:(e,t)=>{let n=e.events[t.session_id];if(!n)return;let r=n.find(e=>e.kind===`text`&&e.stream_id===t.stream_id);r&&(r.text=(r.text??``)+(t.text??``))},finalizeStream:(e,t)=>{let n=e.events[t.session_id];if(!n)return;let r=n.find(e=>e.kind===`text`&&e.stream_id===t.stream_id);r&&(typeof t.text==`string`&&(r.text=t.text),r.streaming=!1)},finalizeAllStreams:(e,t)=>{let n=e.events[t.session_id];if(n)for(let e of n)e.streaming&&=!1},setEvents:(e,t)=>{e.events[t.session_id]=t.events},setHistory:(e,t)=>{e.history[t.node_id]=t.sessions},setHistoryRef:(e,t)=>{e.historyRef=t},setDirectory:(e,t)=>{e.directory=t,e.directoryLoading=!1},setDirectoryLoading:(e,t)=>{e.directoryLoading=t},setLastComposer:(e,t)=>{e.lastComposer={...e.lastComposer,[t.node_id]:{...e.lastComposer[t.node_id],...t.prefs}}},setCapabilities:(e,t)=>{e.capabilities[t.node_id]=t.capabilities},addPermission:(e,t)=>{e.permissions.some(e=>e.request_id===t.request_id)||e.permissions.push(t)},removePermission:(e,t)=>{e.permissions=e.permissions.filter(e=>e.request_id!==t)},removeNodeData:(e,t)=>{delete e.history[t],delete e.capabilities[t],e.historyRef?.node_id===t&&(e.historyRef=void 0);for(let n of Object.values(e.sessions))n.node_id===t&&(delete e.sessions[n.session_id],delete e.events[n.session_id],delete e.lastSeq[n.session_id],e.currentSessionId===n.session_id&&(e.currentSessionId=void 0))}},actions:{resetAll:({commit:e})=>{e(`resetAll`)},getApplications:async()=>{},setApplication:async()=>{},getNodes:async({commit:e,rootState:t})=>{let n=t.token?.access;if(!n)return[];e(`updateStatus`,{key:`getNodes`,value:B.Request});try{let{data:t}=await z.getNodes({token:n});return e(`setNodes`,t.nodes??[]),e(`updateStatus`,{key:`getNodes`,value:B.Success}),t.nodes??[]}catch(t){throw e(`updateStatus`,{key:`getNodes`,value:B.Error}),t}},claimPair:async({commit:e,dispatch:t,rootState:n},r)=>{let i=n.token?.access;if(!i)throw Error(`not authenticated`);e(`updateStatus`,{key:`claimPair`,value:B.Request});try{let{data:n}=await z.claimPair(r.trim(),{token:i});return e(`updateStatus`,{key:`claimPair`,value:B.Success}),await t(`getNodes`),n.node_name}catch(t){throw e(`updateStatus`,{key:`claimPair`,value:B.Error}),t}},deleteNode:async({commit:e,dispatch:t,state:n,rootState:r},i)=>{let a=r.token?.access;if(!a)throw Error(`not authenticated`);e(`updateStatus`,{key:`deleteNode`,value:B.Request});try{await z.deleteNode(i,{token:a}),e(`removeNodeData`,i),n.currentNodeId===i&&(e(`setCurrentNode`,void 0),e(`setCurrentSession`,void 0)),e(`updateStatus`,{key:`deleteNode`,value:B.Success}),await t(`getNodes`)}catch(t){throw e(`updateStatus`,{key:`deleteNode`,value:B.Error}),t}},connect:({commit:e,dispatch:t,state:n,rootState:r})=>{let i=r.token?.access;i&&(J?.isOpen||(J?.close(),e(`setConnection`,`connecting`),J=new ce(i,{onOpen:()=>{e(`setConnection`,`connected`);let r={...n.lastSeq};Object.keys(r).length&&J?.resume(r),n.currentNodeId&&(t(`getHistory`,n.currentNodeId),t(`getCapabilities`,n.currentNodeId),t(`requestSessions`,n.currentNodeId),t(`requestPendingPermissions`,n.currentNodeId))},onClose:()=>e(`setConnection`,`disconnected`),onEvent:(r,i)=>Q(e,t,n,r,i),onNodesSnapshot:t=>{e(`mergeNodeSnapshot`,t)},onNodeStatus:(r,i)=>{e(`setNodeStatus`,{node_id:r,status:i}),i===`online`&&r===n.currentNodeId&&(t(`getHistory`,r),t(`getCapabilities`,r),t(`requestSessions`,r),t(`requestPendingPermissions`,r))},onRelayError:(e,t)=>console.warn(`[codingBridge] relay error`,e,t)}),J.connect()))},disconnect:({commit:e})=>{J?.close(),J=void 0,e(`setConnection`,`disconnected`)},selectNode:({commit:e,dispatch:t,state:n},r)=>{if(e(`setCurrentNode`,r),!r){e(`setCurrentSession`,void 0);return}let i=Object.values(n.sessions).filter(e=>e.node_id===r).map(e=>e.session_id);e(`setCurrentSession`,i.length?i[i.length-1]:void 0),t(`getHistory`,r),t(`getCapabilities`,r),t(`requestSessions`,r),t(`requestPendingPermissions`,r)},requestSessions:({state:e},t)=>{let n=t??e.currentNodeId;!n||!J||J.sendToNode(n,{action:O})},requestPendingPermissions:({state:e},t)=>{let n=t??e.currentNodeId;!n||!J||J.sendToNode(n,{action:_})},enableNotifications:async({dispatch:e,rootState:t})=>{let n=t.token?.access;if(!n)return`unsupported`;if(L()){let t=await W(t=>{t?.node_id&&(e(`selectNode`,t.node_id),e(`requestPendingPermissions`,t.node_id))});return t?(await z.savePushSubscription({kind:R()?`apns`:`fcm`,token:t,ua:navigator.userAgent},{token:n}),`enabled`):`denied`}let r=await V();if(r===`unsupported`)return`unsupported`;if(r!==`granted`)return`denied`;try{let{data:e}=await z.getPushConfig();if(e.web_push_enabled&&e.vapid_public_key){let t=await se(e.vapid_public_key);t&&await z.savePushSubscription({kind:`webpush`,subscription:t,ua:navigator.userAgent},{token:n})}}catch(e){console.warn(`[codingBridge] web push setup skipped`,e)}return`enabled`},disableNotifications:async({rootState:e})=>{let t=e.token?.access;if(L()||!t)return;let n=await U();if(n)try{await z.deletePushSubscription({endpoint:n},{token:t})}catch(e){console.warn(`[codingBridge] failed to deregister web push`,e)}},newSession:({commit:e})=>{e(`setCurrentSession`,void 0),e(`setHistoryRef`,void 0)},sendPrompt:({commit:e,state:t},n)=>{let r=t.currentNodeId,i=n.prompt?.trim(),a=n.images?.length?n.images:void 0,o=n.attachments?.length?n.attachments:void 0;if(!r||!J||!i&&!a&&!o)return;let s=Y(),c=t.currentSessionId,l=c?t.sessions[c]:void 0;if(!l||!l.started){let t=l?.provider||n.provider||`claude`;l?(c=l.session_id,e(`updateSession`,{session_id:c,status:`starting`,trace_id:s,...n.cwd?{cwd:n.cwd}:{},...n.model===void 0?{}:{model:n.model},...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}})):(c=Y(),e(`upsertSession`,{session_id:c,node_id:r,status:`starting`,cwd:n.cwd,model:n.model,effort:n.effort,permission_mode:n.permissionMode,provider:t,trace_id:s}),e(`setCurrentSession`,c),e(`setHistoryRef`,{node_id:r,provider:t,session_id:c})),e(`appendEvent`,X(c,`prompt`,{text:i,images:a,attachments:o,trace_id:s})),e(`updateSession`,{session_id:c,started:!0}),J.sendToNode(r,{action:x,session_id:c,trace_id:s,prompt:i,cwd:n.cwd||l?.cwd||void 0,model:n.model||l?.model||void 0,permission_mode:n.permissionMode||`bypassPermissions`,provider:t,effort:n.effort||void 0,images:a,attachments:o,resume_session_id:l?.session_id||void 0})}else e(`updateSession`,{session_id:c,trace_id:s}),e(`appendEvent`,X(c,`prompt`,{text:i,images:a,attachments:o,trace_id:s})),e(`updateSession`,{session_id:c,status:`running`,model:n.model||void 0,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}}),J.sendToNode(r,{action:b,session_id:c,trace_id:s,prompt:i,model:n.model??``,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode},images:a,attachments:o})},editPrompt:({commit:e,state:t},n)=>{let r=t.currentNodeId,i=t.currentSessionId,a=n.prompt?.trim();if(!r||!i||!J||!a)return;let o=t.sessions[i],s=t.events[i]??[],c=s.findIndex(e=>e.id===n.eventId);if(!o||c<0)return;let l;for(let e=c-1;e>=0;e--)if(s[e].kind===`result`&&s[e].cut_uuid){l=s[e].cut_uuid;break}let u=n.images?.length?n.images:void 0,d=n.attachments?.length?n.attachments:void 0,f=Y();e(`truncateEventsBefore`,{session_id:i,event_id:n.eventId}),e(`updateSession`,{session_id:i,status:`running`,trace_id:f,model:n.model||o.model||void 0,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}}),e(`appendEvent`,X(i,`prompt`,{text:a,images:u,attachments:d,trace_id:f})),J.sendToNode(r,{action:ie,session_id:i,trace_id:f,cut_uuid:l,prompt:a,model:n.model||o.model||void 0,permission_mode:n.permissionMode||void 0,effort:n.effort||void 0,images:u,attachments:d,restore_code:!!n.restoreCode})},retryLastPrompt:({commit:e,dispatch:t,state:n})=>{let r=n.currentSessionId;if(!r)return;let i=n.sessions[r],a=[...n.events[r]??[]].reverse().find(e=>e.kind===`prompt`);!i||!a||(e(`updateSession`,{session_id:r,started:!1}),t(`sendPrompt`,{prompt:a.text??``,cwd:i.cwd,model:i.model,provider:i.provider,images:a.images,attachments:a.attachments}))},interruptSession:({state:e})=>{let t=e.currentSessionId,n=e.currentNodeId;!t||!n||!J||J.sendToNode(n,{action:A,session_id:t})},closeSession:({commit:e,state:t},n)=>{let r=n??t.currentSessionId;if(!r)return;let i=t.sessions[r]?.node_id??t.currentNodeId;i&&J&&J.sendToNode(i,{action:y,session_id:r}),e(`updateSession`,{session_id:r,status:`closed`}),t.currentSessionId===r&&e(`setCurrentSession`,void 0)},resolvePermission:({commit:e,state:t},n)=>{let r=t.permissions.find(e=>e.request_id===n.request_id);r&&(J?.sendToNode(r.node_id,{action:w,request_id:n.request_id,decision:n.decision}),e(`removePermission`,n.request_id))},answerQuestion:({commit:e,state:t},n)=>{let r=t.permissions.find(e=>e.request_id===n.request_id);r&&(J?.sendToNode(r.node_id,{action:w,request_id:n.request_id,decision:`allow`,answer:Z(n.output),answer_text:le(n.output)}),e(`removePermission`,n.request_id))},getHistory:({commit:e,state:t},n)=>{let r=n??t.currentNodeId;!r||!J||(e(`updateStatus`,{key:`getHistory`,value:B.Request}),J.sendToNode(r,{action:te,limit:200}))},getHistoryDetail:({commit:e},t)=>{!t?.node_id||!t?.session_id||!J||(e(`updateStatus`,{key:`getHistoryDetail`,value:B.Request}),J.sendToNode(t.node_id,{action:D,provider:t.provider,session_id:t.session_id}),setTimeout(()=>e(`updateStatus`,{key:`getHistoryDetail`,value:B.Success}),12e3))},reattachSession:({state:e,commit:t,dispatch:n},r)=>{!r?.node_id||!r?.session_id||(t(`setCurrentNode`,r.node_id),t(`setCurrentSession`,r.session_id),n(`getHistoryDetail`,r),n(`requestSessions`,r.node_id),n(`requestPendingPermissions`,r.node_id),J?.resume({[r.session_id]:e.lastSeq[r.session_id]??0}))},resyncSession:({state:e,dispatch:t},n)=>{let r=e.sessions[n];r?.node_id&&t(`getHistoryDetail`,{node_id:r.node_id,session_id:n,provider:r.provider??`claude`})},browseDir:({commit:e,state:t},n)=>{let r=t.currentNodeId;!r||!J||(e(`setDirectoryLoading`,!0),J.sendToNode(r,{action:oe,path:n||void 0}))},clearDirectory:({commit:e})=>{e(`setDirectory`,void 0)},getCapabilities:({state:e},t)=>{let n=t??e.currentNodeId;!n||!J||J.sendToNode(n,{action:k})}}};export{$ as codingBridge,$ as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={"button.setup":{message:`Setup`,description:`Text in button for performing setup`},"button.start":{message:`Start`,description:`Text in button for starting an operation`},"button.copy":{message:`Copy`,description:`Text in button for copying content`},"button.copied":{message:`Copied`,description:`Text in button indicating content has been copied`},"button.restart":{message:`Regenerate`,description:`Text in button for regenerating content`},"button.preview":{message:`Preview`,description:`Text in button to open a preview of a file via URL`},"button.seeRawImage":{message:`View Original Image`,description:`Text in button for viewing the original image`},"button.seeRawVideo":{message:`View Video`,description:`Text in button for viewing the original video`},"button.edit":{message:`Edit`,description:`Text in button for editing content`},"button.login":{message:`Login`,description:`Text in button for logging in`},"button.logout":{message:`Logout`,description:`Text in button for logging out`},"button.new":{message:`New`,description:`Text in button for creating a new item`},"button.delete":{message:`Delete`,description:`Text in button for deleting content`},"button.confirm":{message:`Confirm`,description:`Text in button for confirming an action`},"button.cancel":{message:`Cancel`,description:`Text in button for canceling an action`},"button.close":{message:`Close`,description:`Text in button for closing a dialog or panel`},"button.expand":{message:`Expand`,description:`Tooltip text for the button that opens a fullscreen editor for a prompt textarea`},"button.alert":{message:`Alert`,description:`Text in button for issuing an alert`},"button.info":{message:`Info`,description:`Text in button for displaying information`},"button.publish":{message:`Publish`,description:`Text in button for publishing content`},"button.watch":{message:`Watch`,description:`Text in button for watching content`},"button.verify":{message:`Real Name Verification`,description:`Text in button for user real name verification`},"button.profile":{message:`Profile`,description:`Text in button for displaying user profile`},"button.console":{message:`Console`,description:`Text in button for displaying the console page to control content on the webpage`},"button.learn":{message:`Learn`,description:`Text in button for allowing users to learn content`},"button.buy":{message:`Buy`,description:`Text in button for allowing users to purchase content`},"button.try":{message:`Try`,description:`Text in button for allowing users to try content`},"button.startForFree":{message:`Start for Free`,description:`Text in button for allowing users to start for free`},"button.download":{message:`Download`,description:`Text in button for downloading files (e.g., audio, video, images)`},"button.downloadAndroid":{message:`Download Android`,description:`Text in button for downloading the Android installation package`},"button.downloadIos":{message:`Download iOS`,description:`Text in button for downloading the iOS installation package`},"button.downloadWindows":{message:`Download for Windows`,description:`Text in button for downloading the Windows desktop installer`},"button.downloadMac":{message:`Download for macOS`,description:`Text in button for downloading the macOS desktop installer`},"button.installIos":{message:`Install iOS`,description:`Text in button for installing the iOS app`},"button.apply":{message:`Apply`,description:`Text in button for allowing users to apply for API services`},"button.refresh":{message:`Refresh`,description:`Text in button for refreshing the page`},"button.pay":{message:`Pay`,description:`Text in button for allowing users to pay for services`},"button.repay":{message:`Continue Payment`,description:`Text in button for allowing users to continue payment for services`},"button.applied":{message:`Applied`,description:`Text in button indicating the user has applied for the service`},"button.acquire":{message:`Acquire`,description:`Text in button for allowing users to acquire API service tokens or keys`},"button.fillExample":{message:`Fill Example`,description:`Text in button for allowing users to fill in example data`},"button.buyMore":{message:`Top Up`,description:`Text in button for allowing users to top up. Must translate to 'Top Up'.`},"button.update":{message:`Update`,description:`Text in button for updating content`},"button.view":{message:`View`,description:`Text in button for viewing content`},"button.create":{message:`Create`,description:`Text in button for creating content`},"button.referralEarnings":{message:`Referral Earnings`,description:`Text in the button that displays referral earnings, indicating that users can earn money by inviting others to use the service.`},"button.finish":{message:`Finish`,description:`Text in the button used to complete an operation`},"entity.id":{message:`ID`,description:`The unique identifier for the entity`},"entity.type":{message:`Type`,description:`The type of the entity`},"entity.website":{message:`Ace Data Cloud`,description:`Website name, no translation needed, keep as 'Ace Data Cloud'`},"entity.copyright":{message:`Copyright`,description:`Text displaying the copyright`},"entity.platform":{message:`Platform`,description:`Text indicating this is an API service platform`},"entity.title":{message:`Title`,description:`The title of the entity`},"entity.icon":{message:`Icon`,description:`The icon of the entity`},"entity.status":{message:`Status`,description:`The status of the entity`},"status.loading":{message:`Loading...`,description:`Status text displayed while content is loading`},"error.appleSignInFailed":{message:`Sign in with Apple failed. Please try again or use another sign-in method.`,description:`Error toast shown when native Sign in with Apple fails for a reason other than the user cancelling.`},"error.loginLinkExpired":{message:`Login link expired. Please sign in again.`,description:`Shown on the desktop client when an OAuth callback is dropped (state mismatch or expired).`},"entity.operation":{message:`Operation`,description:`The operation of the entity`},"entity.description":{message:`Description`,description:`The description of the entity`},"entity.createdAt":{message:`Created At`,description:`The time the entity was created`},"entity.updatedAt":{message:`Updated At`,description:`The time the entity was updated`},"entity.order":{message:`Order`,description:`The order of the entity, which includes monetary and service information that the user needs to pay for`},"message.noTasks":{message:`No historical tasks, please start a new task~`,description:`Message when there are no tasks`},"message.guestTasks":{message:`Log in to start a task and view your creations here.`,description:`Prompt shown in the task list area for not-logged-in guests`},"message.usedAmount":{message:`Used Amount`,description:`Used to display the amount of service that has been used`},"message.mobileAppDescription":{message:`Take the full AceData studio everywhere — on Android, iPhone & iPad, Windows, and macOS. Install in one tap, or scan a QR code to get started.`,description:`Description text for the app download page`},"message.mobileAndroidHint":{message:`For Android phones and tablets. Install from Google Play for automatic updates, or grab the APK directly.`,description:`Android download card description`},"message.mobileAndroidPending":{message:`The Android installation package is not ready yet, please try again later.`,description:`Hint when the Android installation package is not available`},"message.mobileAvailableNow":{message:`Now on Google Play`,description:`Used to display the status that Android is available for download`},"message.mobileSecureDelivery":{message:`Secure CDN Delivery`,description:`Used to emphasize that the download link is delivered via CDN`},"message.mobileDirectInstall":{message:`Direct APK Installation`,description:`Used to describe the Android side as a direct APK installation method`},"message.mobileLatestRelease":{message:`Current Public Version`,description:`Used to indicate that the current display is the latest public version`},"message.mobileSharedAccount":{message:`Shared account and quota with the web version`,description:`Used to explain that the mobile version shares the account with the web version`},"message.mobileIosHint":{message:`For iPhone and iPad — install directly from the App Store, sharing your account and quota with the web app.`,description:`iOS download card description`},"message.mobileIosPending":{message:`The iOS build is being finalized with Apple certificates and provisioning profiles, and will be available here shortly.`,description:`Hint when the iOS installation package is not available`},"message.mobileComingSoon":{message:`Coming soon`,description:`Short status label shown on a platform card (e.g. iOS) while its build is being prepared`},"message.mobileNowOnAppStore":{message:`Now on the App Store`,description:`Status label shown on the iOS card when the app is live on the App Store`},"message.desktopWindowsHint":{message:`For Windows 10 and later (64-bit). Download the installer and double-click to set up.`,description:`Windows desktop download card description`},"message.desktopMacHint":{message:`For macOS 11 and later. Choose the build that matches your Mac — Apple Silicon (M-series) or Intel.`,description:`macOS desktop download card description`},"message.desktopUnsignedNote":{message:`The desktop apps are unsigned beta builds. On Windows, choose ‘More info → Run anyway’ at the SmartScreen prompt; on macOS, right-click the app and choose ‘Open’ to bypass Gatekeeper.`,description:`Note explaining the desktop builds are unsigned betas and how to open them`},"button.getOnGooglePlay":{message:`Get it on Google Play`,description:`Button label that opens the app's Google Play Store listing`},"button.getOnAppStore":{message:`Get it on the App Store`,description:`Button label that opens the app's Apple App Store listing`},"message.mobileApkFallback":{message:`No access to Google Play? Download the APK directly.`,description:`Shown next to a secondary button offering a direct APK download for users who cannot access Google Play`},"message.mobilePlayStoreHint":{message:`Scan to open Google Play`,description:`Hint under the QR code explaining that scanning it opens the Google Play listing`},"message.mobileAppStoreHint":{message:`Scan to open the App Store`,description:`Hint under the QR code explaining that scanning it opens the App Store listing`},"message.mobileInstallNote":{message:`When installing the enterprise or Ad Hoc package for the first time on iOS, the system may require you to trust the certificate in 'Settings > General > VPN & Device Management'.`,description:`Mobile app installation prompt`},"title.mobileApp":{message:`Get the AceData Apps`,description:`Title for the app download page`},"title.mobileFastAccess":{message:`Faster Access, No App Store Detours`,description:`Title for the download page advantage card, emphasizing quick installation`},"title.mobileTrustedRelease":{message:`Centralized Version Management, More Stable Distribution`,description:`Title for the download page advantage card, emphasizing version and distribution stability`},"title.mobileUnifiedExperience":{message:`Consistent Experience Across Mobile and Web`,description:`Title for the download page advantage card, emphasizing unified experience`},"nav.mobileApp":{message:`Apps`,description:`Navigation entry for the app download page (mobile + desktop)`},"message.mobileFastAccess":{message:`Users can scan the code on their phone for direct installation, or download the APK on the desktop and distribute it to team members, suitable for quick trials and internal testing.`,description:`Download page advantage description, emphasizing quick access`},"message.mobileTrustedRelease":{message:`Download entries are centralized on one page, with version numbers, platform status, and installation methods visible at a glance, reducing communication costs caused by scattered links.`,description:`Download page advantage description, emphasizing unified distribution`},"message.mobileUnifiedExperience":{message:`The account system, quota, and service entry after logging in are consistent with the web version, making it easy for users to switch seamlessly between desktop and mobile.`,description:`Download page advantage description, emphasizing unified account experience`},"message.remainingAmount":{message:`Remaining Amount`,description:`Used to display the remaining amount of service`},"message.copied":{message:`Copied successfully`,description:`Message indicating that the content has been successfully copied`},"message.restart":{message:`Regenerate`,description:`Message indicating that the content has been successfully copied`},"message.confirmDelete":{message:`Are you sure you want to delete?`,description:`Message confirming that the user wants to delete an item`},"message.expiredAt":{message:`Expiration Time`,description:`Message displaying the expiration time of the service`},"message.alert":{message:`Warning`,description:`Message warning the user`},"message.deleteAccountConfirm":{message:`This will permanently delete your account and all associated data. This action cannot be undone. Are you sure you want to continue?`,description:`Confirmation message shown before permanently deleting the user account`},"message.deleteAccountSuccess":{message:`Your account has been deleted.`,description:`Message shown after the user account is successfully deleted`},"message.deleteAccountFailed":{message:`Failed to delete your account. Please try again later.`,description:`Message shown when account deletion fails`},"message.info":{message:`Tip`,description:`Message displaying information`},"message.free":{message:`Free`,description:`Message indicating that the service is free, meaning no payment is required`},"message.startPrice":{message:`Starting`,description:`Message displaying the minimum price of the service`},"message.joinDiscord":{message:`Join Discord`,description:`Message inviting the user to join the Discord channel`},"message.addWeChat":{message:`WeChat Service`,description:`Message inviting the user to add a WeChat account`},"message.serviceTech":{message:`Technical Support`,description:`Message displaying technical support information`},"message.businessCooperation":{message:`Data & Business Cooperation`,description:`Message displaying business cooperation information`},"message.noData":{message:`No Data`,description:`Message indicating that there is no data in the table or list`},"nav.home":{message:`Home`,description:`Text in the website navigation bar to display the home page`},"nav.content":{message:`Content`,description:`Text in the website navigation bar to display the content page`},"nav.category":{message:`Category`,description:`Text in the website navigation bar to display the category page`},"nav.service":{message:`All Services`,description:`Text in the website navigation bar to display the services page`},"nav.profile":{message:`Me`,description:`Text in the website navigation bar to display the profile page`},"nav.products":{message:`Products`,description:`Text in the website navigation bar to display the products page`},"nav.referral":{message:`Revenue Alliance`,description:`Text in the website navigation bar to display the referral page`},"nav.apiPlatform":{message:`API Platform`,description:`Text in the website navigation bar to display the API platform page`},"nav.document":{message:`Developer Documentation`,description:`Text in the website navigation bar to display the documentation page`},"nav.console":{message:`Console`,description:`Text in the website navigation bar to display the console page`},"nav.chatgpt":{message:`ChatGPT`,description:`Text in the website navigation bar to display the ChatGPT page, do not translate this field, must remain 'ChatGPT'`},"nav.deepseek":{message:`DeepSeek`,description:`Text in the website navigation bar to display the DeepSeek page, do not translate this field, must remain 'DeepSeek'`},"nav.grok":{message:`Grok`,description:`Text in the website navigation bar to display the Grok page, do not translate this field, must remain 'Grok'`},"nav.chat":{message:`Chat`,description:`Text in the website navigation bar to display the chat page, do not translate this field, must remain 'Chat'`},"nav.veo":{message:`Veo`,description:`Text in the website navigation bar to display the chat page, do not translate this field, must remain 'Veo'`},"nav.sora":{message:`Sora`,description:`Text in the website navigation bar to display the chat page, do not translate this field, must remain 'Sora'`},"nav.midjourney":{message:`Midjourney`,description:`Text in the website navigation bar to display the Midjourney page, do not translate this field, must remain 'Midjourney'`},"nav.qrart":{message:`QRArt`,description:`Text in the website navigation bar to display the QRArt page, do not translate this field, must remain 'QRArt'`},"nav.suno":{message:`Suno`,description:`Text in the website navigation bar to display the Suno page, do not translate this field, must remain 'Suno'`},"nav.pixverse":{message:`Pixverse`,description:`Text in the website navigation bar to display the Pixverse page, do not translate this field, must remain 'Pixverse'`},"nav.flux":{message:`Flux`,description:`Text in the website navigation bar to display the Flux page, do not translate this field, must remain 'Flux'`},"nav.nanobanana":{message:`Nano Banana`,description:`Text in the website navigation bar to display the Nano Banana page, do not translate this field, must remain 'Nano Banana'`},"nav.openaiimage":{message:`OpenAI Image`,description:`Text in the website navigation bar to display the OpenAI Image page, do not translate this field, must remain 'OpenAI Image'`},"nav.seedream":{message:`SeeDream`,description:`Text in the website navigation bar to display the SeeDream page, please do not translate this field, must remain as 'SeeDream'`},"nav.seedance":{message:`SeeDance`,description:`Text in the website navigation bar to display the SeeDance page, must remain as 'SeeDance'`},"nav.grokvideo":{message:`Grok Video`,description:`Text in the website navigation bar to display the Grok Imagine video page`},"nav.luma":{message:`Luma`,description:`Text in the website navigation bar to display the Luma page, must remain as 'Luma'`},"nav.pika":{message:`Pika`,description:`Text in the website navigation bar to display the Pika page, must remain as 'Pika'`},"nav.kling":{message:`Kling`,description:`Text in the website navigation bar to display the Kling page, must remain as 'Kling'`},"nav.hailuo":{message:`Hailuo`,description:`Text in the website navigation bar to display the Hailuo page, must remain as 'Hailuo'`},"nav.wan":{message:`Wan`,description:`Text in the website navigation bar to display the Wan page, must remain as 'Wan'`},"nav.producer":{message:`Producer`,description:`Text in the website navigation bar to display the Producer page, must remain as 'Producer'`},"nav.fish":{message:`Fish Audio`,description:`Text in the website navigation bar to display the Fish Audio page, must remain as 'Fish Audio'`},"nav.kimi":{message:`Kimi`,description:`Text in the website navigation bar to display the Kimi page, must remain as 'Kimi'`},"nav.serp":{message:`SERP`,description:`Text in the website navigation bar to display the SERP page, must remain as 'SERP'`},"nav.codingBridge":{message:`Coding Bridge`,description:`Text in the website navigation bar to display the Coding Bridge page, must remain as 'Coding Bridge'`},"nav.webextrator":{message:`WebExtrator`,description:`Text in the website navigation bar to display the WebExtrator page, must remain as 'WebExtrator'`},"nav.image":{message:`Image`,description:`Text in the website navigation bar to display the image page`},"nav.music":{message:`Music`,description:`Text in the website navigation bar to display the music page`},"nav.video":{message:`Video`,description:`Text in the website navigation bar to display the video page`},"nav.distribution":{message:`Referral Earnings`,description:`Text in the website navigation bar to display the referral earnings page`},"nav.connections":{message:`Connections`,description:`Menu item to navigate to the connection management page at auth.acedata.cloud`},"nav.logOut":{message:`Log Out`,description:`Text in the website navigation bar to log out`},"nav.deleteAccount":{message:`Delete Account`,description:`Menu item to permanently delete the current user account`},"nav.site":{message:`Site Configuration`,description:`Text in the website navigation bar to display the site configuration page`},"nav.subsite":{message:`My Subsite`,description:`Sidebar entry for 'My Subsite', displayed only when features.subsite is enabled`},"nav.setting":{message:`Settings`,description:`Text in the website navigation bar to display the settings page`},"nav.headshots":{message:`AI ID Photo`,description:`Text in the website navigation bar to display the site configuration page`},"nav.more":{message:`More`,description:`Text in the website navigation bar to expand more services`},"nav.locale":{message:`Language Settings`,description:`Text in the website navigation bar to change the language`},"nav.support":{message:`Customer Support`,description:`Text in the website navigation bar to display the contact page`},"nav.darkMode":{message:`Dark Mode`,description:`Text in the website navigation bar to switch to dark theme`},"title.alert":{message:`Alert`,description:`Title of the alert message`},"title.placeholderOfSelect":{message:`Please Select`,description:`Placeholder for select input`},"title.placeholderOfInput":{message:`Please Fill In`,description:`Placeholder for input field`},"title.allApplications":{message:`All Applications`,description:`Page title to display all applications`},"title.allOrders":{message:`All Orders`,description:`Page title to display all orders`},"title.orderInfo":{message:`Order Information`,description:`Page title to display order information`},"title.buyMore":{message:`Top Up`,description:`Page title for recharging. Must be translated to 'Top Up'.`},"title.distribution":{message:`Referral Earnings`,description:`Page title to display referral income, indicating users can earn by inviting others to use the service`},"title.site":{message:`Site Configuration`,description:`Page title to display site configuration`},"title.distributionHistory":{message:`Referral History`,description:`Page title to display referral history`},"title.invitee":{message:`Inviter`,description:`Page title to display the inviter`},"title.allUsages":{message:`Usage History`,description:`Page title to display all usage of the API service`},"title.allCredentials":{message:`Keys`,description:`Page title to display all credentials used to access the API`},"about.title1":{message:`Contact Us`,description:`Title for the section displaying contact information`},"about.title2":{message:`Resources`,description:`Part title displaying links`},"about.title3":{message:`Links`,description:`Part title displaying support information`},"about.address":{message:`131 Continental Dr, Suite 305, Newark, DE 19713, USA`,description:`Company's address`},"about.email":{message:`office{'@'}acedata.cloud`,description:`Company's email`},"about.link1":{message:`Services`,description:`Link to the documentation page`},"about.link2":{message:`Developer Documentation`,description:`Link to the services page`},"about.link3":{message:`Console`,description:`Link to the console page`},"about.link4":{message:`Profile`,description:`Link to the profile page`},"about.link5":{message:`UI Platform`,description:`Link to the hub page`},"about.link6":{message:`Referral Earnings`,description:`Link to the referral income page`},"about.link7":{message:`Support`,description:`Link to the support page`},"about.link8":{message:`Terms of Service`,description:`Link to the terms of service page`},"about.link9":{message:`Privacy Policy`,description:`Link to the privacy policy page`},"theme.light":{message:`Light`,description:`Name of the light theme`},"theme.dark":{message:`Dark`,description:`Name of the dark theme`},"theme.system":{message:`System`,description:`Name of the system theme, indicating automatic theme switching based on system settings`},"settings.general":{message:`General Settings`,description:`Title for the general settings section in the settings page`},"settings.language":{message:`Language`,description:`Title for the language settings section in the settings page`},"settings.theme":{message:`Theme`,description:`Title for the theme settings section in the settings page`},"settings.sendShortcut":{message:`Send message`,description:`Title of the send-message shortcut row in General settings: choose Enter or modifier+Enter to send.`},"sendShortcut.enter":{message:`Enter to send`,description:`Send-shortcut option: press Enter to send the message.`},"sendShortcut.modEnter":{message:`{key} + Enter to send`,description:`Send-shortcut option: press the platform modifier (⌘ or Ctrl) plus Enter to send. {key} is the modifier symbol.`},"settings.loginMode":{message:`Login Mode`,description:`Title for the login-mode row in the Auth settings tab: choose whether login uses an embedded popup (iframe) or a full-page redirect. Site-level, admin-only.`},"loginMode.iframe":{message:`Embedded popup`,description:`Login mode option: complete login in an embedded iframe popup without leaving the current page`},"loginMode.redirect":{message:`Full-page redirect`,description:`Login mode option: redirect to the login page and return after signing in`},"settings.seo":{message:`SEO Settings`,description:`Title for the SEO settings section in the settings page`},"settings.site":{message:`Site Settings`,description:`Title for the site settings section in the settings page`},"settings.distribution":{message:`Distribution Settings`,description:`Title for the distribution settings section in the settings page`},"settings.function":{message:`Capabilities`,description:`Title for the site capabilities section in the settings page`},"settings.auth":{message:`Auth`,description:`Title for the 'Auth' tab in the settings sidebar — configure which authentication providers this site offers, which one is pre-selected by default, and how login is launched (full-page redirect vs embedded popup). Admin-only.`},"settings.apiKey":{message:`API Key`,description:`API Key label in the settings page sidebar - management of user-provided (BYOK) upstream service provider API Keys`},"settings.memory":{message:`Memory`,description:`Sidebar label for the Memory tab in the settings dialog, where users view and manage what the assistant remembers about them`},"settings.memoryIntro":{message:`The assistant remembers useful details from your chats to give you better, more personalized responses across conversations. You're in control — review anything it has saved and remove what you don't want it to keep.`,description:`Intro paragraph at the top of the Memory settings tab`},"settings.memoryEnabled":{message:`Use memory`,description:`Title for the switch that controls whether chats use saved memory and learn new memory`},"settings.memoryEnabledHint":{message:`When off, saved memories are not used and new chats do not create memories. Existing memories are kept.`,description:`Behavior explanation shown below the memory switch`},"settings.memoryNeedsChat":{message:`Start a chat first to enable memory.`,description:`Shown in the Memory settings tab when the chat application/token has not loaded yet`},"settings.memoryStored":{message:`Saved memories`,description:`Section heading above the list of stored memory entries`},"settings.memoryEmpty":{message:`Nothing saved yet. As you chat, the assistant will remember durable preferences and facts here.`,description:`Empty state shown when the user has no stored memories`},"settings.memoryForget":{message:`Forget`,description:`Button on a memory row to delete that single memory entry`},"settings.memoryClearAll":{message:`Clear all`,description:`Button to delete all stored memories at once`},"settings.memoryClearConfirm":{message:`This permanently deletes everything the assistant has remembered about you. This cannot be undone.`,description:`Confirmation dialog message shown before clearing all memories`},"settings.memoryError":{message:`Something went wrong. Please try again.`,description:`Error toast shown when a memory delete/clear operation fails`},"field.operations":{message:`Actions`,description:`Generic column title: column for action buttons in table rows (edit, delete, etc.)`},"nav.gemini":{message:`Gemini`,description:`Text in the website navigation bar to display the Gemini page, must remain as 'Gemini'`},"nav.claude":{message:`Claude`,description:`Text in the website navigation bar to display the Claude page, must remain as 'Claude'`},"button.detail":{message:`View Details`,description:``},"button.testEnv":{message:`Test Environment`,description:`Text in the button to switch to the test environment`},"button.upload":{message:`Upload`,description:`Text in the button for uploading files or content`},"message.cnbeian":{message:`China Region Filing`,description:`Information regarding the filing in the China region`},"message.copyFailed":{message:`Copy Failed`,description:`Message displayed when content copy fails`},"nav.tryNow":{message:`Try Now`,description:`Text in the website navigation bar to encourage users to try the service`},"title.coin":{message:`Cryptocurrency`,description:`Page title displaying cryptocurrency`},"title.distributionRank":{message:`Referral Ranking`,description:`Page title displaying referral ranking`},"title.distributionPlatformRank":{message:`Platform Ranking`,description:`Page title displaying platform ranking`},"customers.name1":{message:`Mark Du`,description:`Customer's name`},"customers.job1":{message:`Software Engineer`,description:`Customer's job title`},"customers.comment1":{message:`Ace Data Cloud has provided great service to our team, helping us improve productivity. We love it!`,description:`Customer's testimonial`},"customers.name2":{message:`Jacob Williams`,description:`Customer's name`},"customers.job2":{message:`Product Manager`,description:`Customer's job title`},"customers.comment2":{message:`Ace Data Cloud is a great integration platform with excellent service quality.`,description:`Customer's testimonial`},"customers.name3":{message:`Larry Henry`,description:`Customer's name`},"customers.job3":{message:`Designer`,description:`Customer's job title`},"customers.comment3":{message:`I love the service from Ace Data Cloud, it's user-friendly and reasonably priced. I hope it keeps getting better!`,description:`Customer's testimonial`},"nav.github":{message:`GitHub`,description:`Link to the GitHub repository`},"settings.github":{message:`Source Code`,description:`Link to view the source code on GitHub`},"settings.about":{message:`About`,description:`Title for the about section in the settings page`},"settings.localTools":{message:`Local Tools`,description:`Desktop-only settings tab for managing local tool folders, permissions and grants.`},"settings.localToolsDesktopOnly":{message:`Available in the desktop app only.`,description:`Shown when the Local Tools tab is opened on web/mobile.`},"settings.localToolsFoldersTitle":{message:`Authorized folders`,description:`Heading for the list of folders the AI may read/write locally.`},"settings.localToolsFoldersHint":{message:`Folders the AI may read and write on this machine. Tools run locally; nothing leaves your device without your consent.`,description:`Help text under the authorized-folders heading.`},"settings.localToolsComputerUseTitle":{message:`Computer Use (experimental)`,description:`Heading for the opt-in Computer Use (screen + mouse/keyboard control) toggle.`},"settings.localToolsComputerUseHint":{message:`Let the AI see your screen and control the mouse and keyboard on this computer. Off by default — turn it on only when you need it. On macOS, grant Screen Recording and Accessibility permissions below. Each action still asks for your confirmation.`,description:`Help text under the Computer Use toggle.`},"settings.localToolsAndroidSkillsTitle":{message:`Phone automation skills`,description:`Heading for the Android-only section that installs skills which drive apps on the phone via Computer Use.`},"settings.localToolsAndroidSkillsHint":{message:`Install skills that let the assistant operate apps on this phone. They run through Computer Use, so enable the accessibility permission and Computer Use above first. Each action still follows your Computer Use confirmations.`,description:`Help text under the phone-automation skills heading.`},"settings.localToolsAndroidSkillsXhsName":{message:`Xiaohongshu DM auto-reply`,description:`Display name of the Xiaohongshu (RED) direct-message auto-reply skill.`},"settings.localToolsAndroidSkillsXhsDesc":{message:`Reads new private messages in the Xiaohongshu app and drafts replies. Asks you to confirm before sending.`,description:`One-line description of the Xiaohongshu DM skill.`},"settings.localToolsAndroidSkillsInstall":{message:`Install`,description:`Button that installs the skill into the user's account.`},"settings.localToolsAndroidSkillsInstalled":{message:`Installed`,description:`Tag shown when the skill is already installed.`},"settings.localToolsAndroidSkillsLoading":{message:`Loading available skills…`,description:`Placeholder while the skill directory is being fetched.`},"settings.localToolsAndroidSkillsUnavailable":{message:`No phone skills available yet.`,description:`Empty state when no installable phone skill is found.`},"settings.localToolsAndroidSkillsNeedComputerUse":{message:`Enable the accessibility permission and turn on Computer Use above before installing.`,description:`Hint shown when the install button is disabled because prerequisites are missing.`},"settings.localToolsAndroidSkillsNextTurn":{message:`Installed. It takes effect on your next chat.`,description:`Confirmation shown after a successful install.`},"settings.localToolsAndroidSkillsInstallFailed":{message:`Install failed. Please try again.`,description:`Error shown when the install request fails.`},"settings.localToolsAndroidSkillsLoadFailed":{message:`Couldn't load available skills. Please try again.`,description:`Error shown when fetching the skill directory fails.`},"settings.localToolsPreauthorizeAll":`Pre-approve all computer actions`,"settings.localToolsPreauthorizeHint":`Allow screenshot, click, type, key and every computer action at once, and trigger the required system permissions.`,"settings.localToolsCuA11yLabel":{message:`Accessibility service`,description:`Label for the Computer Use readiness row showing whether the accessibility service is actually running.`},"settings.localToolsCuReady":{message:`Ready to use`,description:`Green status shown when the accessibility service is running and Computer Use actually works.`},"settings.localToolsCuA11yMissing":{message:`Off — turn it on for Computer Use to work`,description:`Red warning shown when the Computer Use switch is on but the accessibility service is not running.`},"settings.localToolsCuActionsTitle":`Allow individual actions`,"settings.localToolsCuActionsHint":`Turn on only the actions you're comfortable letting the AI run without asking each time. Each stays revocable here.`,"settings.localToolsCuScreenshot":`Screenshot`,"settings.localToolsCuClick":`Click`,"settings.localToolsCuMove":`Move pointer`,"settings.localToolsCuType":`Type text`,"settings.localToolsCuKey":`Press keys`,"settings.localToolsCuScroll":`Scroll`,"settings.localToolsBuiltinTitle":`Built-in tools`,"settings.localToolsBuiltinHint":`Turn on a tool to let the AI run it without asking each time. Shell can run any command on this machine — enable only if you trust it. File tools stay limited to your authorized folders.`,"settings.localToolsBuiltinRisky":`Full access`,"settings.localToolsAddFolder":{message:`Add folder`,description:`Button to pick a folder to authorize.`},"settings.localToolsRemove":{message:`Remove`,description:`Button to remove an authorized folder.`},"settings.localToolsNoFolders":{message:`No folders authorized yet.`,description:`Empty state for the authorized-folders list.`},"settings.localToolsSave":{message:`Save`,description:`Save the authorized folders.`},"settings.localToolsMcpTitle":{message:`MCP servers`,description:`Section title for local MCP server configuration in Local Tools settings.`},"settings.localToolsMcpHint":{message:`Connect local MCP servers over stdio. Their tools become available to the AI, gated by the same per-call confirmation. Changes take effect immediately.`,description:`Explains what local MCP servers do and that changes apply without a restart.`},"settings.localToolsMcpAdd":{message:`Add server`,description:`Button to add a new local MCP server row.`},"settings.localToolsMcpName":{message:`Name`,description:`Label for the MCP server name/id field.`},"settings.localToolsMcpCommand":{message:`Command`,description:`Label for the MCP server launch command field.`},"settings.localToolsMcpArgs":{message:`Arguments`,description:`Label for the MCP server command arguments field.`},"settings.localToolsMcpArgsHint":{message:`One argument per line.`,description:`Placeholder/hint for the MCP arguments textarea.`},"settings.localToolsMcpEnv":{message:`Environment`,description:`Label for the MCP server environment variables field.`},"settings.localToolsMcpEnvHint":{message:`One KEY=VALUE per line.`,description:`Placeholder/hint for the MCP environment variables textarea.`},"settings.localToolsMcpNoServers":{message:`No MCP servers configured.`,description:`Empty state shown when no MCP servers are configured.`},"settings.localToolsMcpNamePlaceholder":{message:`e.g. filesystem`,description:`Placeholder for the MCP server name input.`},"settings.localToolsMcpCommandPlaceholder":{message:`e.g. npx`,description:`Placeholder for the MCP server command input.`},"settings.localToolsMcpNameRequired":{message:`Each server needs a name and a command.`,description:`Validation error when a server row is missing a name or command.`},"settings.localToolsMcpDuplicateName":{message:`Server names must be unique.`,description:`Validation error when two servers share the same name.`},"settings.localToolsMcpNameInvalid":{message:`Name may only contain letters, numbers, hyphens and underscores.`,description:`Validation error when a server name contains invalid characters.`},"settings.localToolsMcpEnabled":{message:`On`,description:`Toggle label to enable/disable a local MCP server.`},"settings.localToolsMcpReconnect":{message:`Test / Reconnect`,description:`Button to re-spawn one MCP server and refresh its status.`},"settings.localToolsMcpConnecting":{message:`Connecting…`,description:`Badge while an MCP server is being (re)connected.`},"settings.localToolsMcpNotSaved":{message:`Not saved yet`,description:`Badge for an MCP server row that hasn't been saved/connected yet.`},"settings.localToolsMcpConnected":{message:`Connected · {n} tools`,description:`Badge when an MCP server connected; {n} is the tool count.`},"settings.localToolsMcpDisabled":{message:`Disabled`,description:`Badge when an MCP server is turned off.`},"settings.localToolsMcpFailed":{message:`Failed to connect`,description:`Badge when an MCP server failed to start; the reason is shown below.`},"settings.localToolsMcpPlatformHint":{message:`Tip: use a command on your PATH such as npx or uvx (e.g. npx -y {'@'}modelcontextprotocol/server-filesystem ~/Documents). On Windows, npx/node resolve automatically. If a server shows "spawn … ENOENT", set the command to a full path.`,description:`Cross-platform hint for configuring the MCP launch command.`},"settings.localToolsSaved":{message:`Saved`,description:`Transient confirmation after saving local-tool folders.`},"settings.localToolsActiveTools":{message:`Active tools`,description:`Label before the list of currently available local tools.`},"settings.localToolsGrantsTitle":{message:`Always-allowed actions`,description:`Heading for the persistent consent grants list.`},"settings.localToolsGrantsHint":{message:`Tool calls you chose to always allow. They run without asking again. Revoke any to re-arm the confirmation prompt.`,description:`Help text under the always-allowed actions heading.`},"settings.localToolsRevoke":{message:`Revoke`,description:`Button to revoke a single always-allow grant.`},"settings.localToolsRevokeAll":{message:`Revoke all`,description:`Button to revoke every always-allow grant.`},"settings.localToolsNoGrants":{message:`No always-allowed actions. You'll be asked before each local tool runs.`,description:`Empty state for the always-allowed actions list.`},"settings.localToolsPermsTitle":{message:`System permissions`,description:`Heading for the macOS system-permission section.`},"settings.localToolsPermsHint":{message:`Optional. Folder access above needs none of these — grant only what a specific task requires.`,description:`Help text under the system-permissions heading.`},"settings.localToolsPermFullDisk":{message:`Full Disk Access`,description:`macOS Full Disk Access permission row.`},"settings.localToolsPermScreen":{message:`Screen Recording`,description:`macOS Screen Recording permission row.`},"settings.localToolsPermAccessibility":{message:`Accessibility`,description:`macOS Accessibility permission row.`},"settings.localToolsGranted":{message:`Granted`,description:`Status tag when a system permission is granted.`},"settings.localToolsNotGranted":{message:`Not granted`,description:`Status tag when a system permission is not granted.`},"settings.localToolsOpen":{message:`Open`,description:`Button to open the relevant macOS System Settings pane.`},"settings.subsites":{message:`My Subsites`,description:`Title for the subsites management tab in the settings popup. Visible only on the official main site; subsites are not displayed.`},"settings.adminOnlyHint":{message:`Only site administrators can see this section. Regular users do not have access.`,description:`Hint shown at the top of admin-only settings tabs (Site / SEO / Distribution / Function).`},"settings.officialOnlyHint":{message:`Only the official main site can see this section. Subsites do not show this entry.`,description:`Hint shown at the top of the My Subsites tab, explaining the entry only appears on the official main site.`},"settings.customDomain":{message:`Custom Domain`,description:`Title for the custom-domain management tab in the settings popup. Visible only on subsites (non-main-official hosts) for site admins.`},"settings.buildNow":{message:`Build Now`,description:`Text for the 'Build Subsite' button in the about page, visible only on the official main site`},"settings.poweredBy":{message:`Powered By`,description:`Title displaying which open-source project this site is built on in the about page`},"settings.poweredByTip":{message:`This site is built on the Nexior open-source project, with fully open-source code.`,description:`Description in the about page showing which open-source project this site is based on`},"settings.apiService":{message:`API Service`,description:`Title displaying the API service provider in the about page`},"settings.apiServiceTip":{message:`The API service for this site is provided by Ace Data Cloud.`,description:`Description in the about page showing the API service provider`},"settings.buildYourOwn":{message:`Build Your Own`,description:`Title prompting users that they can build a similar site in the about page`},"settings.buildYourOwnTip":{message:`Want to build a similar AI site? Contact us for deployment support.`,description:`Description in the about page for building a similar site`},"settings.contactUs":{message:`Contact Support`,description:`Text for the contact support button`},"settings.contactSupport":{message:`Contact Support`,description:`Section title on the About page listing the site owner's customer-service channels`},"settings.contactSupportTip":{message:`Reach our support team through any of the channels below.`,description:`Subtitle under the support contacts section on the About page`},"settings.contactInvalidUrl":{message:`{field} must be a valid http(s) link`,description:`Validation error shown when a contact URL is not a valid http(s) link`},"settings.contactInvalidPhone":{message:`Please enter a valid phone number`,description:`Validation error shown when the phone number is invalid`},"settings.contactInvalidEmail":{message:`Please enter a valid email address`,description:`Validation error shown when the email address is invalid`},"settings.contactType":{message:`Type`,description:`Placeholder for the contact type picker in the editor`},"settings.contactType_phone":{message:`Phone`,description:`Display name for the phone contact type`},"settings.contactType_email":{message:`Email`,description:`Display name for the email contact type`},"settings.contactType_website":{message:`Website`,description:`Display name for the website contact type`},"settings.contactType_wechat":{message:`WeChat`,description:`Display name for the WeChat contact type`},"settings.contactLabelPlaceholder":{message:`Label (optional), e.g. Sales`,description:`Placeholder for the optional contact label input`},"settings.contactValuePlaceholder":{message:`Account / display text`,description:`Placeholder for the generic contact value input`},"settings.contactQr":{message:`QR code`,description:`Label for a contact's QR-code image`},"settings.contactQrTip":{message:`Upload a QR code users can scan to add you.`,description:`Tip for the contact QR-code uploader`},"settings.contactAdd":{message:`Add contact`,description:`Button to add another contact entry`},"settings.contactEditorHint":{message:`Pick a type for each channel and fill in at least a value, link or QR. Add as many as you like.`,description:`Hint at the top of the contacts editor dialog`},"settings.contactInvalidType":{message:`Type may only contain lowercase letters, digits, '-' and '_'`,description:`Validation error for an invalid contact type slug`},"settings.contactRowNeedsValue":{message:`Each contact needs at least a value, link or QR code`,description:`Validation error when a contact row has no value/url/qr`},"settings.contactInvalidValue":{message:`A contact field is invalid or too long`,description:`Validation error when a contact value/label is invalid or too long`},"settings.contactTooMany":{message:`You can add at most {max} contacts`,description:`Validation error when too many contacts are added`},"message.viewOnGithub":{message:`View on GitHub`,description:`Link text to view the project on GitHub`},"title.notFound":{message:`Page Not Found`,description:`Title for the 404 page`},"message.notFound":{message:`The page you are looking for does not exist. The link may have changed or been removed. Return to the homepage to continue exploring AceData's AI services.`,description:`Subtitle description for the 404 page`},"message.notFoundEyebrow":{message:`Oops!`,description:`Text for the small label at the top of the 404 page`},"message.notFoundPath":{message:`Requested Path`,description:`Label displaying the current requested path on the 404 page`},"button.backToHome":{message:`Back to Homepage`,description:`Button text for navigating back to the homepage`},"button.goBack":{message:`Go Back`,description:`Button text for returning to the previous page in browsing history`},"title.apiCode":{message:`API code for this request`,description:`Title of the dialog that shows the equivalent API code (curl / Python / Node) that would reproduce a result generated inside the product`},"message.viewCodeHint":{message:`Show API code for this request`,description:`Tooltip text on the View Code button shown alongside result-card action buttons (U1/U2/Download/Extend/...). Clicking the button opens a dialog with curl / Python / Node snippets that reproduce the same generation via the public API.`},"button.viewCode":{message:`View code`,description:`Button text that opens a dialog with the equivalent API code (curl / Python / Node) for the current result, similar to the OpenAI Playground 'View code' affordance`},"button.getApiKey":{message:`Get an API key`,description:`Link text in the API code dialog footer that opens the platform console page where users can create an API key`},"button.apiPlatform":{message:`API Platform`,description:`API code dialog footer button label. Clicking opens https://platform.acedata.cloud/ in a new tab so users can manage their API keys, balance and usage.`},"message.apiCodeIntro":{message:`Run this from your own code to produce the same result.`,description:`API code dialog: short hint shown above the language tabs. Explains that the snippet below reproduces the current result when run from the user's own code.`},"tab.apiRequest":{message:`Request`,description:`API code dialog tab label for the request snippet (the code that reproduces the current result).`},"tab.apiResponse":{message:`Response`,description:`API code dialog tab label for the live response returned after clicking Run.`},"button.apiRun":{message:`Run again`,description:`API code dialog button that re-runs the request live against the API using the user's key. The result already exists, so clicking runs it again, and it is billable.`},"button.apiRunning":{message:`Running…`,description:`API code dialog Run button label while the live request is in flight.`},"button.apiRunConfirm":{message:`Run`,description:`Confirm-button label in the dialog that warns running here consumes extra credits.`},"button.viewDocs":{message:`View docs`,description:`API code dialog footer button that opens the matching API documentation page on the platform.`},"message.apiClickRun":{message:`Click Run again to execute this request live with your API key.`,description:`API code dialog Response tab empty state, shown before the user has run the request.`},"message.apiRunConfirmTitle":{message:`Confirm run`,description:`Title of the confirmation dialog shown before re-running a request from the API code dialog.`},"message.apiRunConfirmDesc":{message:`Running here makes a real API call with your API key and consumes extra credits. Continue?`,description:`Body of the confirmation dialog warning that re-running the request is a real, billable API call.`},"message.apiRunConfirmSkip":{message:`Don't show again`,description:`Checkbox in the run-confirmation dialog that, when ticked, suppresses the warning on subsequent runs.`},"message.apiRunTaskCreated":{message:`Task created — close this window to see the latest result below.`,description:`Success banner shown in the API code dialog after a run returns a task id, hinting that the new task already appears in the list behind the dialog.`},"button.apiViewLatest":{message:`Close & view`,description:`Button in the API code dialog success banner that closes the dialog so the user can see the newly created task in the list below.`},"message.uploadInProgress":{message:`Reference uploads are still in progress — please wait a moment.`,description:`Toast warning shown when the user clicks the Generate button while reference image / video / audio uploads are still in flight. Tells them to wait for the upload to finish before re-clicking Generate.`},"appUpgrade.title":{message:`Update required`,description:`Title of the native-app version gate modal shown at startup when the installed build is older than what the backend supports.`},"appUpgrade.blockMessage":{message:`This version is no longer supported. Please update from the app store to continue.`,description:`Body text of the hard-block upgrade modal shown when the installed version is below min_supported. The modal has no dismiss affordance — the only button opens the app store.`},"appUpgrade.softMessage":{message:`A newer version is available. Update from the app store for the best experience.`,description:`Body text of the soft upgrade prompt shown when the installed version is below latest but above min_supported. The user can dismiss and keep using the app.`},"appUpgrade.openStore":{message:`Update now`,description:`Primary button on the upgrade modal — opens the App Store / Play Store URL in the system browser.`},"appUpgrade.later":{message:`Later`,description:`Secondary button on the soft upgrade prompt — dismisses the modal and lets the user keep using the current version. Only shown for non-forced upgrades.`},"button.deletePermanently":{message:`Permanently delete account`,description:`Final red delete button at the bottom of the delete confirmation dialog`},"message.deleteAccountWarning":{message:`This action is irreversible! Your account and all of its data will be permanently deleted and cannot be recovered.`,description:`Red warning banner at the top of the delete confirmation dialog`},"message.deleteAccountConsequences":{message:`Permanently deleted: profile, balance and credits, applications and subscriptions, API keys, and third-party login bindings.`,description:`Explains what data will be removed in the delete confirmation dialog`},"message.deleteAccountTypePrompt":{message:`Type your username to confirm deletion:`,description:`Instructs the user to type their username to confirm; the username is shown separately below`},"message.deleteAccountPlaceholder":{message:`Enter your username here`,description:`Placeholder for the username confirmation input`},"nav.maestro":{message:`Maestro`,description:`Text in the website navigation bar for the Maestro article-to-video page, keep it as 'Maestro'`},"nav.digitalhuman":{message:`Digital Human`,description:`Text in the website navigation bar for the Digital Human talking-head page`},"settings.localToolsAndroidPermHint":{message:`Enable the accessibility service so the assistant can see and control your screen. You can pre-authorize individual actions below.`,description:`Hint for the Android Computer Use accessibility permission section in Settings.`},"settings.cuConsentTitle":{message:`Allow action?`,description:`Title of the on-demand consent dialog shown when the assistant requests a screen action.`},"settings.cuConsentMessage":{message:`The assistant wants to run "{action}" on your phone. Allow it?`,description:`Body of the on-demand consent dialog; {action} is the computer.* action name.`},"settings.cuConsentAllow":{message:`Allow once`,description:`Allow button of the on-demand consent dialog.`},"settings.cuConsentAlways":{message:`Always allow`,description:`Always-allow button of the on-demand consent dialog; persists a grant so this action never prompts again.`},"settings.cuConsentDeny":{message:`Deny`,description:`Deny button of the on-demand consent dialog.`},"settings.siteServices":{message:`Price`,description:`Nav label for the site-wide and per-service pricing settings tab`},"nav.omni":{message:`Omni Video`,description:`Nav label for the Omni video module`}};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./i18n-CczuUNCK.js";var ee=`duplication`,te=`busy`,ne=`api_error`,re=`bad_request`,ie=`used_up`,ae=`unknown`,oe=`canceled`,se=`timeout`,ce=`content_too_large`,le=`too_many_requests`,ue=`not_applied`,t=typeof window<`u`&&window.location.origin===`https://hub-test.acedata.cloud`,n=t?`https://platform-test.acedata.cloud`:`https://platform.acedata.cloud`,de=t?`https://hub-test.acedata.cloud`:`https://hub.acedata.cloud`,r=t?`https://auth-test.acedata.cloud`:`https://auth.acedata.cloud`,i=t?`https://api-test.acedata.cloud`:`https://api.acedata.cloud`,a=t?`https://coding-bridge-test.acedata.cloud`:`https://coding-bridge.acedata.cloud`,fe=`${a.replace(/^http/,`ws`)}/ws`,pe=`wss://realtime.acedata.cloud/aichat2/realtime`;new URL(n).host;var me=new URL(de).host;new URL(r).host,new URL(i).host;var he=`assistant`,ge=`user`,_e=`gpt-5.5`,ve=`gpt-5.4`,o=`gpt-5.4-mini`,ye=`deepseek-v3`,be=`deepseek-v3.2-exp`,xe=`deepseek-v4-flash`,Se=`deepseek-r1`,Ce=`grok-4`,we=`grok-3`,Te=`gemini-3.1-pro`,Ee=`gemini-3.0-pro`,De=`gemini-3.5-flash`,Oe=`gemini-2.5-pro`,ke=`gemini-2.5-flash`,Ae=`claude-opus-4-8`,je=`claude-sonnet-4-6`,Me=`claude-haiku-4-5-20251001`,Ne=`kimi-k2.5`,Pe=`kimi-k2-thinking`,Fe=`kimi-k2-thinking-turbo`,Ie=`glm-5.1`,Le=`glm-4.7`,s=`https://cdn.acedata.cloud/7dljuv.png`,c=`https://cdn.acedata.cloud/p1ge98.png`,l=`https://cdn.acedata.cloud/zv0360.jpg`,u=`https://cdn.acedata.cloud/psfx0g.jpg`,d=`https://cdn.acedata.cloud/8fnw4v.jpg`,f=`https://cdn.acedata.cloud/57ebgy.png`,p=`https://cdn.acedata.cloud/jqi3nv.png`,Re=`b1fbcc32-e218-4253-9dc3-4fe600a1bfb9`,m={enabled:!0,name:_e,icon:s,modelGroup:`chatgpt`,isFileSupported:!0,isImageSupported:!0,getDisplayName:()=>e.global.t(`chat.model.55`),getDescription:()=>e.global.t(`chat.model.55Description`)},ze={enabled:!0,name:ve,icon:s,modelGroup:`chatgpt`,isFileSupported:!0,isImageSupported:!0,getDisplayName:()=>e.global.t(`chat.model.54`),getDescription:()=>e.global.t(`chat.model.54Description`)},h={enabled:!0,name:o,icon:s,modelGroup:`chatgpt`,isFileSupported:!0,isImageSupported:!0,isFree:!0,getDisplayName:()=>e.global.t(`chat.model.54Mini`),getDescription:()=>e.global.t(`chat.model.54MiniDescription`)},Be={enabled:!0,name:ye,icon:l,modelGroup:`deepseek`,getDisplayName:()=>e.global.t(`chat.model.deepseekChat`),getDescription:()=>e.global.t(`chat.model.deepseekChatDescription`)},Ve={enabled:!0,name:be,icon:l,modelGroup:`deepseek`,getDisplayName:()=>e.global.t(`chat.model.deepseekChat32`),getDescription:()=>e.global.t(`chat.model.deepseekChat32Description`)},He={enabled:!0,name:xe,icon:l,modelGroup:`deepseek`,getDisplayName:()=>e.global.t(`chat.model.deepseekV4Flash`),getDescription:()=>e.global.t(`chat.model.deepseekV4FlashDescription`)},Ue={enabled:!0,name:Se,icon:l,modelGroup:`deepseek`,isReasoningSupported:!0,getDisplayName:()=>e.global.t(`chat.model.deepseekReasoner`),getDescription:()=>e.global.t(`chat.model.deepseekReasonerDescription`)},We={enabled:!0,name:Ce,icon:c,modelGroup:`grok`,isImageSupported:!0,getDisplayName:()=>e.global.t(`chat.model.grok4`),getDescription:()=>e.global.t(`chat.model.grok4Description`)},Ge={enabled:!0,name:we,icon:c,modelGroup:`grok`,getDisplayName:()=>e.global.t(`chat.model.grok3`),getDescription:()=>e.global.t(`chat.model.grok3Description`)},Ke={enabled:!0,name:Te,icon:u,modelGroup:`gemini`,isImageSupported:!0,isFileSupported:!0,isReasoningSupported:!0,getDisplayName:()=>e.global.t(`chat.model.gemini31Pro`),getDescription:()=>e.global.t(`chat.model.gemini31ProDescription`)},qe={enabled:!0,name:Ee,icon:u,modelGroup:`gemini`,isImageSupported:!0,isFileSupported:!0,getDisplayName:()=>e.global.t(`chat.model.gemini30Pro`),getDescription:()=>e.global.t(`chat.model.gemini30ProDescription`)},g={enabled:!0,name:De,icon:u,modelGroup:`gemini`,isImageSupported:!0,isFileSupported:!0,isReasoningSupported:!0,getDisplayName:()=>e.global.t(`chat.model.gemini35Flash`),getDescription:()=>e.global.t(`chat.model.gemini35FlashDescription`)},_={enabled:!0,name:Oe,icon:u,modelGroup:`gemini`,isImageSupported:!0,isFileSupported:!0,isReasoningSupported:!0,getDisplayName:()=>e.global.t(`chat.model.gemini25Pro`),getDescription:()=>e.global.t(`chat.model.gemini25ProDescription`)},v={enabled:!0,name:ke,icon:u,modelGroup:`gemini`,isImageSupported:!0,isFileSupported:!0,isReasoningSupported:!0,getDisplayName:()=>e.global.t(`chat.model.gemini25Flash`),getDescription:()=>e.global.t(`chat.model.gemini25FlashDescription`)},y={enabled:!0,name:Ae,icon:d,modelGroup:`claude`,isImageSupported:!0,isFileSupported:!0,isReasoningSupported:!0,getDisplayName:()=>e.global.t(`chat.model.claudeOpus48`),getDescription:()=>e.global.t(`chat.model.claudeOpus48Description`)},b={enabled:!0,name:je,icon:d,modelGroup:`claude`,isImageSupported:!0,isFileSupported:!0,isReasoningSupported:!0,getDisplayName:()=>e.global.t(`chat.model.claudeSonnet46`),getDescription:()=>e.global.t(`chat.model.claudeSonnet46Description`)},x={enabled:!0,name:Me,icon:d,modelGroup:`claude`,isImageSupported:!0,isFileSupported:!0,isReasoningSupported:!0,getDisplayName:()=>e.global.t(`chat.model.claudeHaiku45`),getDescription:()=>e.global.t(`chat.model.claudeHaiku45Description`)},S={enabled:!0,name:Ne,icon:f,modelGroup:`kimi`,getDisplayName:()=>e.global.t(`chat.model.kimiK25`),getDescription:()=>e.global.t(`chat.model.kimiK25Description`)},C={enabled:!0,name:Pe,icon:f,modelGroup:`kimi`,isReasoningSupported:!0,getDisplayName:()=>e.global.t(`chat.model.kimiK2Thinking`),getDescription:()=>e.global.t(`chat.model.kimiK2ThinkingDescription`)},w={enabled:!0,name:Fe,icon:f,modelGroup:`kimi`,isReasoningSupported:!0,getDisplayName:()=>e.global.t(`chat.model.kimiK2ThinkingTurbo`),getDescription:()=>e.global.t(`chat.model.kimiK2ThinkingTurboDescription`)},T={enabled:!0,name:Ie,icon:p,modelGroup:`glm`,getDisplayName:()=>e.global.t(`chat.model.glm51`),getDescription:()=>e.global.t(`chat.model.glm51Description`)},E={enabled:!0,name:Le,icon:p,modelGroup:`glm`,isReasoningSupported:!0,getDisplayName:()=>e.global.t(`chat.model.glm47`),getDescription:()=>e.global.t(`chat.model.glm47Description`)},D={icon:s,name:`chatgpt`,getDisplayName:()=>e.global.t(`chat.modelGroup.chatgpt`),getDescription:()=>e.global.t(`chat.modelGroup.chatgptDescription`),models:[h,m,ze],isVoiceCallSupported:!0},O={icon:l,name:`deepseek`,getDisplayName:()=>e.global.t(`chat.modelGroup.deepseek`),getDescription:()=>e.global.t(`chat.modelGroup.deepseekDescription`),models:[He,Be,Ve,Ue]},k={icon:c,name:`grok`,getDisplayName:()=>e.global.t(`chat.modelGroup.grok`),getDescription:()=>e.global.t(`chat.modelGroup.grokDescription`),models:[We,Ge]},A={icon:u,name:`gemini`,getDisplayName:()=>e.global.t(`chat.modelGroup.gemini`),getDescription:()=>e.global.t(`chat.modelGroup.geminiDescription`),models:[Ke,qe,g,_,v]},j={icon:d,name:`claude`,getDisplayName:()=>e.global.t(`chat.modelGroup.claude`),getDescription:()=>e.global.t(`chat.modelGroup.claudeDescription`),models:[y,b,x]},M={icon:f,name:`kimi`,getDisplayName:()=>e.global.t(`chat.modelGroup.kimi`),getDescription:()=>e.global.t(`chat.modelGroup.kimiDescription`),models:[S,C,w]},Je={icon:p,name:`glm`,getDisplayName:()=>e.global.t(`chat.modelGroup.glm`),getDescription:()=>e.global.t(`chat.modelGroup.glmDescription`),models:[T,E]},Ye=[h,m,ze,Be,Ue,We,Ge,Ke,qe,g,_,v,y,b,x,S,C,w,T,E],Xe=[D,O,k,A,j,M,Je],Ze=`b1fbcc32-e218-4253-9dc3-4fe600a1bfb9`,Qe=`gpt-realtime`,$e=24e3,et=[`alloy`,`ash`,`ballad`,`coral`,`echo`,`sage`,`shimmer`,`verse`,`marin`,`cedar`],tt=`alloy`,nt=`fast`,rt=`d87e5e99-b797-4ade-9e73-b896896b0461`,it=`https://cdn.acedata.cloud/wto43b.png`,at=nt,ot=`imagine`,st=`480p`,ct=`38ecf158-36f2-42f2-8e7f-6786cdfc2452`,lt=`https://cdn.acedata.cloud/5b0bc83357.svg`,ut=`text`,dt=`center`,ft=`square`,pt=`square`,mt=`square`,ht=`dff45a0d-2858-4936-8e2b-3d49c52aff11`,gt=`https://cdn.acedata.cloud/ahjfwi.png`,_t=`c7d407fa-0f87-4031-abbb-4f0716ff51ad`,vt=`https://cdn.acedata.cloud/4b285de64f.svg`,yt=`creative`,bt=`3369e077-2500-4263-86c7-cae0f0e7e843`,xt=`https://cdn.acedata.cloud/qpbbbb.jpg`,St=`kling-v2-5-turbo`,Ct=[`kling-v3`,`kling-v3-omni`],wt=[`kling-v2-6`,`kling-v2-5-turbo`,`kling-v2-1-master`,`kling-v2-master`,`kling-v1-6`,`kling-v1`],Tt=`kling-v2-1-master`,Et=`73cd74ba-a1bd-4a12-8df6-11d64c38df14`,Dt=`https://cdn.acedata.cloud/8nxyy9.jpg`,Ot=`veo31-fast`,kt=`text2video`,At=`16:9`,jt=`b0761231-74e6-42d3-a095-c1987a61e900`,Mt=`https://cdn.acedata.cloud/z5id1u.png`,N=`sora-2`,P=`sora-2-pro`,Nt=N,Pt=`small`,Ft=[`small`,`large`],It=`text2video`,Lt=`landscape`,Rt={[N]:[10,15],[P]:[10,15,25]},zt=`0d7031bf-610a-419e-a5a0-db8f240286d5`,Bt=`https://cdn.acedata.cloud/df0e7b7eea.svg`,Vt=`generate`,Ht=`remix`,Ut=[`9:16`,`16:9`,`1:1`],Wt=[`zh-cn`,`en`,`ja`,`ko`,`es`,`fr`,`de`],Gt=[`draft`,`standard`,`premium`],Kt=[`narrated`,`drama`,`avatar`,`captions`],qt=[`captions`],Jt={narrated:`https://cdn.acedata.cloud/fb12495d70.jpg`,drama:`https://cdn.acedata.cloud/33b9189ad0.jpg`,avatar:`https://cdn.acedata.cloud/540bda9cb6.jpg`,captions:`https://cdn.acedata.cloud/e86fddfc71.jpg`},Yt=[`cinematic`,`glass`,`luxury`,`swiss`,`modern`,`editorial`,`warm`,`vibrant`,`neon`,`mono`,`pastel`,`bold`,`industrial`,`futuristic`,`retro`],Xt=`.png,.jpg,.jpeg,.gif,.bmp,.webp,.mp4,.mov,.webm,.mp3,.wav,.m4a`,Zt=Vt,Qt=[`zh-cn`],$t=`9:16`,en=`standard`,tn=`narrated`,nn=`cinematic`,rn=[{key:`warm-female`,sample:`https://cdn.acedata.cloud/7b7cec364c.mp3`},{key:`bright-female`,sample:`https://cdn.acedata.cloud/32ee903837.mp3`},{key:`anchor-female`,sample:`https://cdn.acedata.cloud/04374b7885.mp3`},{key:`clean-female`,sample:`https://cdn.acedata.cloud/cc0776b86f.mp3`},{key:`calm-male`,sample:`https://cdn.acedata.cloud/2ea4b5eb49.mp3`},{key:`deep-male`,sample:`https://cdn.acedata.cloud/7ba529ae25.mp3`},{key:`documentary-male`,sample:`https://cdn.acedata.cloud/5617e445dd.mp3`},{key:`energetic-male`,sample:`https://cdn.acedata.cloud/d516b56517.mp3`},{key:`storyteller-male`,sample:`https://cdn.acedata.cloud/9dfbd0ed00.mp3`}],an=`warm-female`,on=`5b132265-40e8-4a79-9582-589f8eea4733`,sn=`https://cdn.acedata.cloud/6f9197d1a9.svg`,cn=`latentsync`,ln=`720p`,un=[`latentsync`,`heygem`],dn=[`720p`,`540p`],fn=[`zh`,`en`],pn=`video/mp4,video/quicktime,video/webm`,mn=`image/png,image/jpeg,image/webp`,hn=`audio/wav,audio/mpeg,audio/mp4,audio/x-m4a`,gn=`74e74695-ceff-49d1-ac84-cfa876225ae8`,_n=`https://cdn.acedata.cloud/viy61r.jpg`,vn=`v3.5`,yn=`normal`,bn=`540p`,xn=`16:9`,Sn=`e8ebe055-429a-48e9-9d34-5089eae5fd89`,Cn=`https://cdn.acedata.cloud/ogm2oa.png`,wn=`flux-dev`,Tn=`generate`,En=[`21:9`,`16:9`,`4:3`,`3:2`,`1:1`,`2:3`,`3:4`,`9:16`,`9:21`],Dn=`5eaa73b7-b9a7-4a17-afb3-f658fd5495b0`,On=`https://cdn.acedata.cloud/0qg4gp.png`,kn=`minimax-t2v`,F=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAMAAAAKE/YAAAAAMFBMVEX///+3t7f4+Pi8vLzAwMDExMTS0tLIyMjk5OTz8/PY2NjOzs7u7u7d3d3p6enh4eFVKkJDAAAIfUlEQVR4nNVd15akOAylyRRQ9f9/O02BZJtgBQszfR/2zPahsJCvguVUFJYop35ux66pq6r6+fn9T910bTv3U2najBXK9zw2PxE07fz+n0Qf+raOyetL3g9PS7vgzRUYULfvZyXuR5nAgLF/SuK3UuJN7gf0PbyErDiieuU1zKmLyFJ3Y9u+vmh//V9dXT/b5VN3f+HbFq82nGivHH6999Vv8rC7P+NFzfBlF56xvl/sEy1Xbc8mZ9m3R7bcrO0jl+vXJH7J0YY78UvYKNuDjpWNTQd9tzd5ks9ePUm92u877WMlp4dhR+Y2OYkYdh3XmKclc9iATVwoXyFLZouXIobuBpEXlK+QcYbK7gOF2NpMaN2Vmfdr71LGirAbW5N3lr4F1rckC0GQbQw6cqrM1XACvzOr5EjT+2q+L24Vk6/sRGL7no6t5un9eQE+7JG4r+wk3+e9iGfXwzyeZHLjzDGFt0fEBB564ymOeRwzCg8dHaZ9kx8NZGZ8+UyOv0bSW3o9q5Tac5+0luajjGfqpsT2krIuTeaKZGQf4UUIKpx6xFbo2nGD9HSlpJZAGfSQILVjV02Z4CQsJhD2UdbcJ/dwyRfpNvozwaLo4q/0nMhLIrMThJSZZ4EhiJd6Ugti43SvzCTlPKnZmUNZMV+u4cYKwp85XlfcTBi/s6Z+MZ2LxADhGZzUDU9m5zjIr0woQhLxasAHWS7E9TgZU/Z1EBEIjbzxQYYxOudOxu73qTBcUGEaIzqD1hi96W6JTgzRoDSI/UhmITP7yUPFSYqaagD1R4wJkP8VnT8nTwVQqnauN06QjvtCvYt2IL3Zm/Uk9jjDz0RmMLggwx3SOuIUSniGpJv3bAJo1SAFr9mKH8aI+LqkI0RFtoIh9/L76Cc8GLCDoxxSjyAHgxxFYSEzJ18Ggly4YHQHnCQ2LRoCGINXQirim0JYUJpDatf/p24PP4mVwSblSg6MEhDGuzNVg6J5o8nEvAPAGZiAfk5MDRXNqxcmx/AVHPMprx8G1TEHwOzqTByseTgoDRxYDT6akSh9YSMzr6aLidOeTGCj3EqDkdC8GU9Q9c6voYlyJzxy0sOxOnRs8C3sQpSR92DOO4EDCXkAzoA935bPTy8AIgTBCIIyvyZsExF/uM2Byfk9A7VafuksfdyygFmJcc35NZ7tT5xUYMNwJYcI/FouGP7xOyT1YBOh+aVcsCHHBWCHZHLTxOfxF6ZA8HP82P7ASv4BJj5PMNMO/g3+H9ghqrtnGm4hIJLAd7byVxg5asGCA+AH2N2meYHvKPxZmQRIGtyMaOMweC/ZXJJJdJE0CF27Bm0oK8kWLKSWHxeILB8s7xN8gmxFi0VIFAkNqd5KiI3S7JBqJ7Ssycb70vAL2LAofMiE9hkBrQvX4OTXNLS4eGpwA8KlaxaGKHOy4OWWcSVoXSZz9ohYYLaxpB8bv4V2aFGeFiYOvqTb74V2mHkQ8IXjBKhMuKrMJIoLOQlmVGIiIlyPmXdguwJ6d8J/CZ1H0m4iB1Gr4D569HjCZalPaNoxeWtd5jKf4TRkpy30syh3KbLXPVZsWdIIQUK6dO8Jl+dkbUB6GfRranwIWx3hUzeVi5fRmggtDA6b/dWO3ELkLiF4QldqoXOPxhe8QOjt57LUpXhguGUhtEUFUtq9EBzUQluQWrphIV1oA1JLm0R6VFqh0z21eH30XmjFdofbF14dgC5PG1zS0w9pjuYFF2UYL9KHiXJGYhhXJkwLEk1RvrEMZVWmpgvSVC1XtEtNlYOAL1JYrdESOg3lcGtFQsVGs+Nu++msHdiu0BNEQQ5vYKssIWxQx3JNc1AqnbTFmg3qSoKmYz0mb//S7QDU1k5Vdu+VSnUFyA3aBES1ca9zkqb4PPVQUUVG74OVRfUNSqencXh+UR1sUnfqgy6+qLrVn75QThRt0I26VG0FU4dbRNfE1ULpqVVBIZBTN/kJ0PBDxY6QEbpp5v27JFCxI5xm1k3oIxT+Q+Wowgl93dIJhHzqVrW5erd0QrdIxUE8wFXxcL9IBXSlSRcLuSnq3NR+OZBq4ZWD1FXr8sn9wivVEjcPwtVuKtd6XOKmWUzoQeY/dCczHBcTKpZtnr2QB104gN70ukm+QNaHzBJV7DhbIAt/040ERMMXnbUDAwOtgvZVsUo0KaCi9Omib/SCqleKhE7KSsNIIt7IkFXoi40MSBrNO28X+ooHOKxWqPpuoVHRh7FDo3+pyHsorOZyG5R0w5kPUZmJffYFIrLhTLi1DzFJT0X+aWaZ3JGtfcJNlCvesTOuIpAcLBrdRIms5g4s+jFlM0PFPYY6ul1VtDG4PJzwqQHnGGpKKlA1fVKN0VqxX31Tx1DjOTBXaRFvs3vaWdkniPIEF3hdGgEmxpev0VpeHNf8ZuiROMBhet0hMch9qkogR2wXbeSojHI22jd5ifp1cLbY9dHB8NWhJCbOgkYzBxpFzxH3wu74F++ro8ckWsM7a5l7/IuzVnAxJX1MojGQ3shHslKCPPimY+b+jYfmU0qONPIOj5rzK9lDi33OyQttVpEaglXXMFoabQVmqny3QxaBW4opM3o4CtwDJazWGZtAUMi12ONkAtGMrNGS/1QI5yb+CxciLmc8EwoDKEokefK6CBKPRf47Mj/MEIujvv+MzA/6kKQLCR7y18q5Y8AjiWryrR1T9uwp/RqJ3YUdGWBxYUeR2RzN7gThn6ifCrtLaA7X/dwG4xtusvg+24uVihzKtr/Cqrh7OFPdcVlYcXItmyHS7x67ROwyxxTceAHegqsLHVOQ4WLH00sdE5DhUsev2IbaznR95gKrCnDGi0oXDOmTRrmvhP3i712+u+LvXXO84u9dKL2Cf3V33X7+i6u7N/y5S9IdvOvoF0G/19GP9tfR/wPQ21eEI8clLwAAAABJRU5ErkJggg==`,An=`3b2ec5fb-cfcb-49f0-9393-6b8617a2d8c4`,jn=F,Mn=`f2b646d8-3cfd-46ef-969a-1ea9eebde329`,Nn=`https://cdn.acedata.cloud/l3ffw7.jpg`,Pn=`chirp-v5-5`,Fn=`864a7efd-c7a3-4ad8-b372-ba8d64cdeda8`,In=`https://cdn.acedata.cloud/id0mz5.jpg`,Ln=`FUZZ-2.0 Pro`,Rn=`44fa6ed2-1ad1-4c7e-a8bd-30002728c0d1`,zn=`https://cdn.acedata.cloud/859plc.jpg`,I=`nano-banana`,Bn=`nano-banana-2-lite`,Vn=`nano-banana-2`,Hn=`nano-banana-pro`,Un=I,Wn=`06f2acb7-e4d4-43de-9909-76e27b4e2355`,Gn=s,L=`gpt-image-1`,R=`gpt-image-1.5`,z=`gpt-image-2`,B=`gpt-image-2:official`,Kn=z,V=`1024x1024`,H=`1536x1024`,U=`1024x1536`,qn=`1792x1024`,Jn=`1024x1792`,Yn=`2048x2048`,Xn=`2048x1536`,Zn=`1536x2048`,Qn=`2048x1152`,$n=`1152x2048`,er=`2880x2880`,tr=`3264x2448`,nr=`2448x3264`,rr=`3840x2160`,ir=`2160x3840`,ar=[V,H,U],or=[V,H,U],W=[V,H,U,qn,Jn],G=[Yn,Xn,Zn,Qn,$n],sr=[er,tr,nr,rr,ir],cr=[...W,...G,...sr],lr={[L]:ar,[R]:or,[z]:cr,[B]:cr},ur=[z,B],dr=3840,fr=8294400,pr=`a0a296f0-22de-422b-943d-1c623a73b8dd`,mr=`https://cdn.acedata.cloud/9egrbn.png`,hr=`doubao-seedream-4-0-250828`,K=`doubao-seedream-4-5-251128`,gr=`doubao-seedream-5-0-260128`,_r=`doubao-seedream-5-0-pro-260628`,q=`doubao-seedream-3-0-t2i-250415`,J=`doubao-seededit-3-0-i2i-250628`,vr=K,yr=`adaptive`,br=[{value:`1024x1024`,ratio:`1:1`},{value:`1280x720`,ratio:`16:9`},{value:`720x1280`,ratio:`9:16`},{value:`1152x864`,ratio:`4:3`},{value:`864x1152`,ratio:`3:4`},{value:`1216x832`,ratio:`3:2`},{value:`832x1216`,ratio:`2:3`},{value:`2048x2048`,ratio:`1:1`},{value:`2560x1440`,ratio:`16:9`},{value:`1440x2560`,ratio:`9:16`},{value:`2304x1728`,ratio:`4:3`},{value:`1728x2304`,ratio:`3:4`}],xr={[q]:2.5,[J]:5.5},Sr=[`jpeg`,`png`],Cr={[_r]:`doubao-seedream-5.0-pro`,[gr]:`doubao-seedream-5.0`,[K]:`doubao-seedream-4.5`,[hr]:`doubao-seedream-4.0`,[q]:`doubao-seedream-3.0-t2i`,[J]:`doubao-seededit-3.0-i2i`},wr=e=>{if(e)return Cr[e]||e},Tr=`762c5fd0-a81e-4c59-b9fe-16bcffad7d4a`,Er=`https://cdn.acedata.cloud/9q90dl.png`,Y=`doubao-seedance-1-0-pro-250528`,Dr=`doubao-seedance-1-0-pro-fast-251015`,Or=`doubao-seedance-1-5-pro-251215`,kr=`doubao-seedance-2-0-260128`,Ar=`doubao-seedance-2-0-fast-260128`,jr=`doubao-seedance-2-0-mini-260615`,Mr=`doubao-seedance-1-0-lite-t2v-250428`,Nr=`doubao-seedance-1-0-lite-i2v-250428`,Pr=Y,Fr=172800,Ir=`480p`,X=`720p`,Z=`1080p`,Lr=X,Rr=`16:9`,zr=`9:16`,Br=`21:9`,Vr=`adaptive`,Hr=Rr,Q={[Y]:{acceptsText:!0,acceptsImage:!0,requiresImage:!1,acceptsLastFrame:!0,acceptsAudio:!1,acceptsReturnLastFrame:!0,defaultResolution:Z,maxResolution:Z,minDuration:2,maxDuration:12,supportsAutoDuration:!1,acceptsReferenceImage:!1,acceptsReferenceAudio:!1,acceptsReferenceVideo:!1},[Dr]:{acceptsText:!0,acceptsImage:!0,requiresImage:!1,acceptsLastFrame:!0,acceptsAudio:!1,acceptsReturnLastFrame:!0,defaultResolution:Z,maxResolution:Z,minDuration:2,maxDuration:12,supportsAutoDuration:!1,acceptsReferenceImage:!1,acceptsReferenceAudio:!1,acceptsReferenceVideo:!1},[Or]:{acceptsText:!0,acceptsImage:!0,requiresImage:!1,acceptsLastFrame:!0,acceptsAudio:!0,acceptsReturnLastFrame:!0,defaultResolution:X,maxResolution:Z,minDuration:4,maxDuration:12,supportsAutoDuration:!0,acceptsReferenceImage:!1,acceptsReferenceAudio:!1,acceptsReferenceVideo:!1},[kr]:{acceptsText:!0,acceptsImage:!0,requiresImage:!1,acceptsLastFrame:!0,acceptsAudio:!0,acceptsReturnLastFrame:!1,defaultResolution:Z,maxResolution:`4k`,minDuration:4,maxDuration:15,supportsAutoDuration:!0,acceptsReferenceImage:!0,acceptsReferenceAudio:!0,acceptsReferenceVideo:!0},[Ar]:{acceptsText:!0,acceptsImage:!0,requiresImage:!1,acceptsLastFrame:!0,acceptsAudio:!0,acceptsReturnLastFrame:!1,defaultResolution:X,maxResolution:X,minDuration:4,maxDuration:15,supportsAutoDuration:!0,acceptsReferenceImage:!0,acceptsReferenceAudio:!0,acceptsReferenceVideo:!0},[jr]:{acceptsText:!0,acceptsImage:!0,requiresImage:!1,acceptsLastFrame:!0,acceptsAudio:!0,acceptsReturnLastFrame:!1,defaultResolution:X,maxResolution:X,minDuration:4,maxDuration:15,supportsAutoDuration:!0,acceptsReferenceImage:!0,acceptsReferenceAudio:!0,acceptsReferenceVideo:!0},[Mr]:{acceptsText:!0,acceptsImage:!1,requiresImage:!1,acceptsLastFrame:!1,acceptsAudio:!1,acceptsReturnLastFrame:!1,defaultResolution:X,maxResolution:X,minDuration:2,maxDuration:12,supportsAutoDuration:!1,acceptsReferenceImage:!1,acceptsReferenceAudio:!1,acceptsReferenceVideo:!1},[Nr]:{acceptsText:!1,acceptsImage:!0,requiresImage:!0,acceptsLastFrame:!1,acceptsAudio:!1,acceptsReturnLastFrame:!1,defaultResolution:X,maxResolution:X,minDuration:2,maxDuration:12,supportsAutoDuration:!1,acceptsReferenceImage:!1,acceptsReferenceAudio:!1,acceptsReferenceVideo:!1}},Ur=e=>e&&Q[e]?Q[e]:Q[Pr],Wr=`cbfe0ade-0b4e-4c42-83f4-3e2d5b429545`,Gr=`https://cdn.acedata.cloud/p1ge98.png`,Kr=`grok-imagine-video`,qr=`grok-imagine-video-1.5-preview`,Jr=Kr,Yr=`16:9`,Xr=`9:16`,Zr=Yr,Qr=`480p`,$r=`720p`,ei=`1080p`,ti=Qr,ni=[3,5,6,8,10,12,15,20,25,30],ri=[qr],ii=e=>!!e&&ri.includes(e),ai=e=>e===`grok-imagine-video-1.5-preview`?15:30,oi=`dda998fe-e11f-41b8-afa9-0a9b8420d60d`,si=`https://cdn.acedata.cloud/psfx0g.jpg`,ci=`omni-flash`,li=`16:9`,ui=`9:16`,di=li,fi=`720p`,pi=`1080p`,mi=fi,hi=`a9af5926-e8d8-4c5e-bdef-bbebf19cdbc3`,gi=`https://cdn.acedata.cloud/27e11e555d.png`,_i=`serp-index`,vi=`f35a16da-726b-425f-96ba-bec7436cfc23`,yi=`https://cdn.acedata.cloud/a033884259.png`,bi=`wan2.6-t2v`,xi=`38bebded-b12d-4c1c-9a91-cdaccdd71745`,Si=`https://cdn.acedata.cloud/782648959c.png`,Ci=`caf99abc-ddcf-4714-b2a5-862d9b469509`,wi=`https://cdn.acedata.cloud/e40fccc727.png`,$=`s2-pro`,Ti=$,Ei=`android`,Di=`desktop`,Oi=`https://cdn.acedata.cloud/2f29543715.apk`,ki=`https://play.google.com/store/apps/details?id=com.acedatacloud.nexior`,Ai=`https://apps.apple.com/app/id6772432921`,ji=`https://github.com/AceDataCloud/Nexior/releases`,Mi=`general`,Ni=`apiKey`,Pi=`memory`,Fi=`site`,Ii=`siteServices`,Li=`distribution`,Ri=`function`,zi=`auth`,Bi=`subsites`,Vi=`customDomain`,Hi=`localTools`,Ui=`about`,Wi=`browser.to_node`,Gi=`browser.list_nodes`,Ki=`browser.resume`,qi=`node.to_browser`,Ji=`nodes.snapshot`,Yi=`node.status`,Xi=`error`,Zi=`session.start`,Qi=`session.send`,$i=`session.edit`,ea=`session.interrupt`,ta=`session.close`,na=`permission.resolve`,ra=`permissions.list`,ia=`sessions.list`,aa=`history.list`,oa=`history.get`,sa=`fs.list`,ca=`capabilities.get`,la=`session.started`,ua=`session.identified`,da=`session.text`,fa=`session.text_delta`,pa=`session.thinking`,ma=`session.tool_use`,ha=`session.tool_result`,ga=`permission.request`,_a=`permission.resolved`,va=`permissions.snapshot`,ya=`session.result`,ba=`session.notice`,xa=`session.error`,Sa=`session.closed`,Ca=`session.rewound`,wa=`session.stream_truncated`,Ta=`sessions.snapshot`,Ea=`history.snapshot`,Da=`history.detail`,Oa=`fs.list`,ka=`capabilities`,Aa=1e3,ja=15e3,Ma=`https://cdn.acedata.cloud/0b28123f35.png`;export{Fi as $,ge as $i,Mn as $n,P as $r,Or as $t,Ca as A,Qe as Ai,Kn as An,Gt as Ar,Zr as At,qi as B,O as Bi,sr as Bn,an as Br,$r as Bt,_a as C,lt as Ci,br as Cn,mn as Cr,si as Ct,ua as D,ot as Di,dr as Dn,Ht as Dr,fi as Dt,xa as E,st as Ei,wr as En,pn as Er,pi as Et,pa as F,Ye as Fi,B as Fn,$t as Fr,Kr as Ft,Ni as G,d as Gi,Bn as Gn,qt as Gr,Pr as Gt,Aa as H,k as Hi,zn as Hn,Bt as Hr,ai as Ht,ha as I,h as Ii,lr as In,Qt as Ir,Yr as It,Li as J,c as Ji,Ln as Jn,It as Jr,Er as Jt,zi as K,l as Ki,Hn as Kn,Rt as Kr,Hr as Kt,ma as L,Xe as Li,Wn as Ln,en as Lr,Xr as Lt,wa as M,$e as Mi,L as Mn,Yt as Mr,ni as Mt,da as N,Ze as Ni,R as Nn,rn as Nr,Gr as Nt,ba as O,it as Oi,fr as On,Ut as Or,oi as Ot,fa as P,et as Pi,z as Pn,Zt as Pr,qr as Pt,Pi as Q,he as Qi,Nn as Qn,Mt as Qr,Dr as Qt,Ji as R,D as Ri,W as Rn,tn as Rr,ei as Rt,ga as S,ut as Si,Sr as Sn,ln as Sr,mi as St,Sa as T,at as Ti,yr as Tn,on as Tr,ui as Tt,Ma as U,M as Ui,I as Un,Jt as Ur,ii as Ut,ja as V,A as Vi,Un as Vn,Xt as Vr,Wr as Vt,Ui as W,s as Wi,Vn as Wn,zt as Wr,Fr as Wt,Mi as X,o as Xi,Fn as Xn,Lt as Xr,Mr as Xt,Ri as Y,f as Yi,In as Yn,Nt as Yr,Nr as Yt,Hi as Z,Re as Zi,Pn as Zn,Pt as Zr,Y as Zt,ka as _,le as _a,ht as _i,hr as _n,un as _r,_i as _t,ra as a,n as aa,Dt as ai,Br as an,Dn as ar,Ai as at,Ea as b,dt as bi,_r as bn,hn as br,ci as bt,ta as c,t as ca,xt as ci,Z as cn,wn as cr,Ti as ct,Qi as d,te as da,wt as di,Tr as dn,xn as dr,$ as dt,me as ea,N as ei,kr as en,jn as er,Ii as et,Zi as f,oe as fa,Ct as fi,Ur as fn,vn as fr,Si as ft,Xi as g,se as ga,gt as gi,q as gn,gn as gr,vi as gt,Wi as h,ue as ha,_t as hi,mr as hn,_n as hr,yi as ht,aa as i,de as ia,Ot as ii,Rr as in,On as ir,ki as it,la as j,tt as ji,Gn as jn,Kt as jr,ti as jt,ya as k,rt as ki,ur as kn,Wt as kr,Jr as kt,$i as l,ne as la,bt as li,Ir as ln,Cn as lr,wi as lt,Ki as m,ee as ma,vt as mi,xr as mn,bn as mr,bi as mt,sa as n,r as na,kt as ni,jr as nn,F as nr,ji as nt,na as o,fe as oa,Et as oi,zr as on,En as or,Ei as ot,Gi as p,ce as pa,yt as pi,vr as pn,yn as pr,xi as pt,Vi as q,u as qi,Rn as qn,Ft as qr,Lr as qt,oa as r,a as ra,At as ri,Q as rn,kn as rr,Oi as rt,ia as s,pe as sa,St as si,Vr as sn,Tn as sr,Di as st,ca as t,i as ta,jt as ti,Ar as tn,An as tr,Bi as tt,ea as u,re as ua,Tt as ui,X as un,Sn as ur,Ci as ut,Oa as v,ae as va,pt as vi,K as vn,fn as vr,gi as vt,Ta as w,ct as wi,pr as wn,sn as wr,li as wt,va as x,mt as xi,J as xn,cn as xr,di as xt,Da as y,ie as ya,ft as yi,gr as yn,dn as yr,hi as yt,Yi as z,j as zi,G as zn,nn as zr,Qr as zt};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{oa as e}from"./index-s1lrp6nN.js";var t=e(`PushNotifications`,{});export{t as PushNotifications};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={"field.title":{message:`站点标题`,description:`展示在编辑框的标题`},"field.origin":{message:`站点域名`,description:`展示在编辑框的标题`},"field.description":{message:`站点描述`,description:`展示在编辑框的标题`},"field.keywords":{message:`站点关键词`,description:`展示在编辑框的标题`},"field.logo":{message:`站点 Logo`,description:`展示在编辑框的标题`},"field.favicon":{message:`站点 Favicon`,description:`展示在编辑框的标题`},"field.primaryColor":{message:`主题色`,description:`在编辑框中展示的标题`},"field.qr":{message:`二维码`,description:`展示在编辑框的标题`},"field.url":{message:`链接`,description:`展示在编辑框的标题`},"field.admins":{message:`站点管理员 ID`,description:`展示在编辑框的标题`},"field.contacts":{message:`客服联系方式`,description:`站点设置中『客服联系方式』的字段标题`},"field.markupRatio":{message:`全站统一加价比例`,description:`站点设置:对本站所有充值套餐统一加价的比例(百分比)`},"message.markupRatioTip":{message:`设置本站所有服务的统一加价比例(0%~500%)。下方“单个服务定制加价”会覆盖此值。`,description:`加价比例设置项的说明文字`},"message.markupExample":{message:`例如原价 ¥20,填写 10,则售价为 ¥22。`,description:`加价比例设置项下方的固定示例`},"field.disableRecharge":{message:`禁用充值`,description:`站点设置:开启后隐藏本站所有充值/购买入口`},"message.disableRechargeTip":{message:`开启后,本站将隐藏所有充值/购买按钮,用户无法自行充值额度。`,description:`禁用充值开关的说明文字`},"field.distributionDefaultInviterId":{message:`默认邀请人 ID`,description:`展示在编辑框的标题`},"field.distributionForceInviterId":{message:`强制邀请人 ID`,description:`展示在编辑框的标题`},"field.authEnabledProviders":{message:`启用的登录方式`,description:`站点设置 / 登录方式 tab 的标题:勾选允许用户在登录页面使用的登录方式`},"field.authDefaultProvider":{message:`默认登录方式`,description:`站点设置 / 登录方式 tab 的标题:登录页面打开时默认选中的登录方式`},"field.authProvider_email":{message:`邮箱`,description:`登录方式名称:邮箱(邮箱 + 密码或验证码)`},"field.authProvider_phone":{message:`手机号`,description:`登录方式名称:手机号(短信验证码)`},"field.authProvider_google":{message:`Google`,description:`登录方式名称:Google 第三方登录`},"field.authProvider_github":{message:`GitHub`,description:`登录方式名称:GitHub 第三方登录`},"field.authProvider_apple":{message:`Apple`,description:`登录方式名称:Sign in with Apple;保留英文品牌名 'Apple' 不翻译`},"field.authProvider_wechat":{message:`微信`,description:`登录方式名称:微信第三方登录`},"field.authSmsWebhook":{message:`自定义短信发件地址`,description:`Site settings / login: title for the site's own custom SMS verification-code delivery webhook`},"message.authSmsWebhookTip":{message:`开启后,本站发出的手机验证码短信将由你自己的接口用你自己的签名发送;关闭则使用平台默认签名。需先启用「手机号」登录方式。`,description:`Explains the custom SMS sender webhook`},"placeholder.authSmsWebhookUrl":{message:`https://你的域名/sms-webhook`,description:`短信 webhook URL 输入框占位`},"placeholder.authSmsWebhookSecret":{message:`签名密钥(留空则保持不变)`,description:`Placeholder for the SMS webhook signing secret input; write-only, blank keeps existing`},"field.authSmsWebhookEnable":{message:`启用自定义发件地址`,description:`Label next to the custom SMS sender toggle`},"field.authSmsWebhookDoc":{message:`查看文档`,description:`Link that opens the SMS webhook spec dialog`},"field.authSmsWebhookTest":{message:`测试`,description:`Button that opens the SMS webhook test dialog`},"message.authSmsWebhookNeedsPhone":{message:`需先启用「手机号」登录方式才能配置自定义短信发件地址。`,description:`Tooltip shown when the toggle is disabled because phone login is off`},"field.authSmsWebhookDocTitle":{message:`自定义短信发件地址 · 接口说明`,description:`Title of the SMS webhook spec dialog`},"message.authSmsWebhookDocIntro":{message:`本站会向你填写的地址发起一次带签名的 HTTPS POST 请求,由你的服务负责下发短信。请确保你的接口满足以下要求:`,description:`Intro paragraph of the SMS webhook spec dialog`},"field.authSmsWebhookDocRequest":{message:`请求`,description:`Heading: request section of the SMS webhook spec`},"message.authSmsWebhookDocRequest":{message:`方法为 POST,Content-Type 为 application/json。purpose 可能为 login / register / test(test 为连通性测试,可不实际下发短信)。请求体结构如下:`,description:`Describes the request method and body of the SMS webhook`},"field.authSmsWebhookDocHeaders":{message:`签名校验`,description:`Heading: signature section of the SMS webhook spec`},"message.authSmsWebhookDocHeaders":{message:`每次请求附带以下请求头,请用你的签名密钥按 Standard Webhooks 规范做 HMAC-SHA256 校验,并使用常量时间比较:`,description:`Describes signature verification for the SMS webhook`},"field.authSmsWebhookDocResponse":{message:`响应`,description:`Heading: response section of the SMS webhook spec`},"message.authSmsWebhookDocResponse":{message:`下发成功请返回 2xx;如需显式表示失败,可返回 HTTP 200,且 body 中 success 字段为 false(见下方示例)。请在 5 秒内响应。`,description:`Describes the expected response of the SMS webhook`},"field.authSmsWebhookTestTitle":{message:`测试自定义短信发件地址`,description:`Title of the SMS webhook test dialog`},"field.authSmsWebhookTestRegion":{message:`国家/地区区号`,description:`Label for the region-code field in the test dialog`},"field.authSmsWebhookTestNumber":{message:`测试手机号(选填)`,description:`Label for the phone-number field in the test dialog`},"field.authSmsWebhookTestSend":{message:`发送测试`,description:`Button that sends the SMS webhook test request`},"message.authSmsWebhookTestOk":{message:`测试请求已成功送达你的接口。`,description:`Success message after a webhook test`},"message.authSmsWebhookTestFailed":{message:`测试失败,请检查地址、签名密钥与接口返回。`,description:`Failure message after a webhook test`},"field.authSmsWebhookDisableTitle":{message:`关闭自定义短信发件地址`,description:`Title of the confirm dialog shown when disabling the custom SMS sender`},"message.authSmsWebhookDisableConfirm":{message:`关闭后将删除已保存的发件地址与签名密钥(密钥不可恢复),本站将改用平台默认签名。确定关闭吗?`,description:`Body of the confirm dialog shown when disabling the custom SMS sender`},"field.featuresChat":{message:`Chat`,description:`展示在编辑框的标题`},"field.featuresVeo":{message:`Veo`,description:`展示在编辑框的标题`},"field.featuresSora":{message:`Sora`,description:`展示在编辑框的标题`},"field.featuresGrok":{message:`Grok`,description:`展示在编辑框的标题`},"field.featuresGrokvideo":{message:`Grok Video`,description:`Displayed as the title in the editing box`},"field.featuresMaestro":{message:`Maestro`,description:`Displayed as the title in the editing box`},"field.featuresDigitalhuman":{message:`数字人`,description:`Displayed as the title in the editing box`},"field.featuresDeepseek":{message:`Deepseek`,description:`展示在编辑框的标题`},"field.featuresChatgpt":{message:`ChatGPT`,description:`展示在编辑框的标题`},"field.featuresMidjourney":{message:`Midjourney`,description:`展示在编辑框的标题`},"field.featuresChatdoc":{message:`Chatdoc`,description:`展示在编辑框的标题`},"field.featuresQrart":{message:`Qrart`,description:`展示在编辑框的标题`},"field.featuresLuma":{message:`Luma`,description:`展示在编辑框的标题`},"field.featuresPixverse":{message:`Pixverse`,description:`展示在编辑框的标题`},"field.featuresPika":{message:`Pika`,description:`展示在编辑框的标题`},"field.featuresKling":{message:`Kling`,description:`展示在编辑框的标题`},"field.featuresHailuo":{message:`Hailuo`,description:`展示在编辑框的标题`},"field.featuresHeadshots":{message:`AI证件照`,description:`展示在编辑框的标题`},"field.featuresSuno":{message:`Suno`,description:`展示在编辑框的标题`},"field.featuresFlux":{message:`Flux`,description:`展示在编辑框的标题`},"field.featuresNanobanana":{message:`Nano Banana`,description:`展示在编辑框的标题`},"field.featuresOpenaiimage":{message:`OpenAI 图像`,description:`展示在编辑框的标题`},"field.featuresSeedream":{message:`SeeDream`,description:`展示在编辑框的标题`},"field.featuresSeedance":{message:`SeeDance`,description:`Displayed as the title in the editing box`},"field.featuresWan":{message:`Wan`,description:`展示在编辑框的标题`},"field.featuresProducer":{message:`Producer`,description:`展示在编辑框的标题`},"field.featuresKimi":{message:`Kimi`,description:`展示在编辑框的标题`},"field.featuresSerp":{message:`SERP`,description:`展示在编辑框的标题`},"field.featuresFish":{message:`Fish Audio`,description:`展示在编辑框的标题`},"field.featuresCodingBridge":{message:`Coding Bridge`,description:`展示在编辑框的标题`},"field.featuresWebextrator":{message:`WebExtrator`,description:`展示在编辑框的标题`},"field.featuresSupport":{message:`客服支持`,description:`展示在编辑框的标题`},"field.featuresI18n":{message:`多语言支持`,description:`展示在编辑框的标题`},"title.basicConfig":{message:`基本配置`,description:`展示在编辑框的标题`},"title.seoConfig":{message:`SEO 配置`,description:`展示在编辑框的标题`},"title.editAdmins":{message:`编辑管理员`,description:`展示在编辑框的标题`},"title.editContacts":{message:`编辑客服联系方式`,description:`编辑客服联系方式弹窗的标题`},"title.featuresConfig":{message:`功能配置`,description:`展示在编辑框的标题`},"title.editTitle":{message:`编辑标题`,description:`展示在编辑框的标题`},"title.editOrigin":{message:`编辑域名`,description:`展示在编辑框的标题`},"title.editKeywords":{message:`编辑关键词`,description:`展示在编辑框的标题`},"title.editLogo":{message:`编辑 Logo`,description:`展示在编辑框的标题`},"title.editFavicon":{message:`编辑 Favicon`,description:`展示在编辑框的标题`},"title.editDescription":{message:`编辑描述`,description:`展示在编辑框的标题`},"title.distributionConfig":{message:`分销配置`,description:`展示在编辑框的标题`},"title.editDistributionDefaultInviterId":{message:`编辑默认邀请人`,description:`展示在编辑框的标题`},"title.editDistributionForceInviterId":{message:`编辑强制邀请人`,description:`展示在编辑框的标题`},"title.editQR":{message:`编辑二维码`,description:`展示在编辑框的标题`},"title.editUrl":{message:`编辑链接`,description:`展示在编辑框的标题`},"placeholder.title":{message:`请输入站点标题`,description:`展示在编辑框的标题`},"placeholder.origin":{message:`请输入站点域名`,description:`展示在编辑框的标题`},"placeholder.editUrl":{message:`请输入链接`,description:`展示在编辑框的标题`},"placeholder.description":{message:`请输入站点描述`,description:`展示在编辑框的标题`},"placeholder.keywords":{message:`请输入站点关键词`,description:`展示在编辑框的标题`},"placeholder.editDistributionDefaultInviterId":{message:`请输入默认邀请人 ID`,description:`展示在编辑框的标题`},"placeholder.editDistributionForceInviterId":{message:`请输入强制邀请人 ID`,description:`展示在编辑框的标题`},"placeholder.authDefaultProvider":{message:`选择默认登录方式`,description:`登录方式 tab 中默认登录方式下拉框的 placeholder`},"message.uploadImageExceed":{message:`上传图片超过限制`,description:`上传图片超过限制的提示`},"message.uploadImageError":{message:`上传图片错误`,description:`上传图片错误的提示`},"imageCropper.dropHere":{message:`将图片拖到此处,或点击上传`,description:`图片裁切器空状态提示`},"imageCropper.formatHint":{message:`支持 JPG / PNG / WebP,最大 20 MB`,description:`图片裁切器允许的文件格式`},"imageCropper.zoomIn":{message:`放大`,description:`图片裁切器放大按钮`},"imageCropper.zoomOut":{message:`缩小`,description:`图片裁切器缩小按钮`},"imageCropper.rotateLeft":{message:`向左旋转`,description:`图片裁切器逆时针旋转按钮`},"imageCropper.rotateRight":{message:`向右旋转`,description:`图片裁切器顺时针旋转按钮`},"imageCropper.flipHorizontal":{message:`水平翻转`,description:`图片裁切器水平翻转按钮`},"imageCropper.replace":{message:`重新选择图片`,description:`图片裁切器替换图片按钮`},"imageCropper.invalidType":{message:`请选择图片文件。`,description:`图片裁切器格式不支持错误`},"imageCropper.noImage":{message:`请先选择图片。`,description:`图片裁切器未选择图片错误`},"imageCropper.canvasError":{message:`无法生成裁切后的图片。`,description:`图片裁切器canvas错误`},"imageCropper.uploadFailed":{message:`图片上传失败。`,description:`图片裁切器上传失败错误`},"message.editLogoTip":{message:`建议尺寸:200*60px`,description:`上传图片的提示语言`},"message.editQRTip":{message:`建议尺寸:200*200px`,description:`上传图片的提示语言`},"message.editFaviconTip":{message:`建议尺寸:32*32px`,description:`上传图片的提示语言`},"message.editUrl":{message:`请输入链接`,description:`请输入链接的提示`},"message.atLeastOneAdmin":{message:`至少保留一个管理员`,description:`至少保留一个管理员的提示`},"message.distributionDefaultInviterIdTip":{message:`默认邀请人的用户 ID,分销链接如果不携带 inviter_id 参数,则默认使用该用户 ID 作为邀请人。`,description:`默认邀请人ID的提示`},"message.distributionForceInviterIdTip":{message:`强制邀请人的用户 ID,如果设置了此 ID,无论分销链接是否携带 inviter_id 参数,则强制使用该用户 ID 作为邀请人。`,description:`强制邀请人ID的提示`},"message.authEnabledProvidersTip":{message:`勾选本站登录页面允许使用的登录方式。至少需要保留一种,否则用户将无法登录。`,description:`登录方式 tab 中『启用的登录方式』的说明文本`},"message.authDefaultProviderTip":{message:`用户进入登录页面时默认选中的登录方式,必须为已启用的登录方式之一。`,description:`登录方式 tab 中『默认登录方式』的说明文本`},"message.authProvidersAtLeastOne":{message:`至少需要保留一种登录方式`,description:`用户尝试取消勾选所有登录方式时的警告提示`},"message.originTip":{message:`站点域名,站点配置与域名绑定,站点域名不可更改。`,description:`站点域名的提示`},"message.titleTip":{message:`站点标题,展示在浏览器标签页。`,description:`站点标题的提示`},"message.descriptionTip":{message:`站点描述,位于站点元信息中,用于站点 SEO 优化。`,description:`站点描述的提示`},"message.logoTip":{message:`站点 Logo,当菜单栏展开时,展示在站点菜单顶部。`,description:`站点 Logo 的提示`},"message.faviconTip":{message:`站点 Favicon,展示在浏览器标签页。`,description:`站点 Favicon 的提示`},"message.primaryColorTip":{message:`站点的主题品牌色,作用于全站的按钮、链接、高亮以及品牌色渐变。`,description:`站点主题色选择器的提示`},"message.adminsTip":{message:`站点管理员 ID,默认首次创建该站点的用户会成为管理员,只有站点管理员可以管理站点。`,description:`站点管理员的提示`},"message.adminsTip2":{message:`可在此处增删管理员 ID,可到 https://auth.acedata.cloud 查看用户 ID`,description:`站点管理员的提示`},"message.contactsTip":{message:`填写客服联系方式(Discord、X、微信、电话、邮箱),将展示在『关于』页面中,方便用户联系你。`,description:`客服联系方式字段的提示`},"message.contactsEmpty":{message:`暂未设置`,description:`未填写任何客服联系方式时的占位文案`},"message.keywordsTip":{message:`站点关键词,位于站点元信息中,用于站点 SEO 优化。`,description:`站点关键词的提示`},"message.keywordsTip2":{message:`可在此处增删网站关键词,关键词越精准,越有利于 SEO 优化。`,description:`站点关键词的提示`},"message.featuresChat":{message:`打开或关闭 Chat 功能模块。`,description:`Chat 功能的描述`},"message.featuresGrok":{message:`xAI 智能助手,提供实时信息、推理、写作和编程能力。`,description:`xAI 智能助手,提供实时信息、推理、写作和编程能力。的能力简介`},"message.featuresGrokvideo":{message:`xAI 视频生成服务,可根据文字提示或参考图制作短片。`,description:`xAI 视频生成服务,可根据文字提示或参考图制作短片。的能力简介`},"message.featuresMaestro":{message:`将创意制作成完整视频,覆盖策划、配音、场景生成和交付。`,description:`将创意制作成完整视频,覆盖策划、配音、场景生成和交付。的能力简介`},"message.featuresDigitalhuman":{message:`使用合成语音和自然口型同步制作数字人口播视频。`,description:`使用合成语音和自然口型同步制作数字人口播视频。的能力简介`},"message.featuresDeepseek":{message:`DeepSeek 智能助手,擅长深度推理、编程、数学和日常问答。`,description:`DeepSeek 智能助手,擅长深度推理、编程、数学和日常问答。的能力简介`},"message.featuresChatgpt":{message:`OpenAI 智能助手,擅长写作、推理、编程和多模态对话。`,description:`OpenAI 智能助手,擅长写作、推理、编程和多模态对话。的能力简介`},"message.featuresMidjourney":{message:`根据文字或参考图生成精美图像与创意变体。`,description:`根据文字或参考图生成精美图像与创意变体。的能力简介`},"message.featuresChatdoc":{message:`打开或关闭 Chatdoc 功能模块。`,description:`Chatdoc 功能的描述`},"message.featuresQrart":{message:`将链接制作成可扫描的艺术二维码,支持自定义风格与图像。`,description:`将链接制作成可扫描的艺术二维码,支持自定义风格与图像。的能力简介`},"message.featuresVeo":{message:`Google 视频生成服务,擅长电影感画面、提示理解和运动控制。`,description:`Google 视频生成服务,擅长电影感画面、提示理解和运动控制。的能力简介`},"message.featuresSora":{message:`OpenAI 视频生成服务,适合真实场景、故事表达和视觉变换。`,description:`OpenAI 视频生成服务,适合真实场景、故事表达和视觉变换。的能力简介`},"message.featuresSuno":{message:`根据提示生成完整歌曲、歌词、人声和纯音乐。`,description:`根据提示生成完整歌曲、歌词、人声和纯音乐。的能力简介`},"message.featuresPixverse":{message:`根据提示和图像生成风格化视频,并提供模板与特效。`,description:`根据提示和图像生成风格化视频,并提供模板与特效。的能力简介`},"message.featuresFlux":{message:`生成细节丰富的图像,并通过自然语言编辑现有画面。`,description:`生成细节丰富的图像,并通过自然语言编辑现有画面。的能力简介`},"message.featuresNanobanana":{message:`Google 驱动的图像生成与编辑,能够精准遵循修改指令。`,description:`Google 驱动的图像生成与编辑,能够精准遵循修改指令。的能力简介`},"message.featuresOpenaiimage":{message:`OpenAI 图像生成与编辑,擅长精美画面、文字和版式设计。`,description:`OpenAI 图像生成与编辑,擅长精美画面、文字和版式设计。的能力简介`},"message.featuresSeedream":{message:`字节跳动图像生成与编辑服务,用于创作高质量视觉内容。`,description:`字节跳动图像生成与编辑服务,用于创作高质量视觉内容。的能力简介`},"message.featuresSeedance":{message:`字节跳动视频生成服务,支持动态场景、镜头运动和可选音频。`,description:`字节跳动视频生成服务,支持动态场景、镜头运动和可选音频。的能力简介`},"message.featuresWan":{message:`阿里巴巴视频生成服务,支持文字、图像、参考素材和多种分辨率。`,description:`阿里巴巴视频生成服务,支持文字、图像、参考素材和多种分辨率。的能力简介`},"message.featuresProducer":{message:`创作歌曲、翻唱和续写,并生成不同人声或纯音乐版本。`,description:`创作歌曲、翻唱和续写,并生成不同人声或纯音乐版本。的能力简介`},"message.featuresKimi":{message:`月之暗面智能助手,擅长长上下文研究、推理、写作和编程。`,description:`月之暗面智能助手,擅长长上下文研究、推理、写作和编程。的能力简介`},"message.featuresSerp":{message:`搜索网页、图片、新闻、地图和视频,返回结构化 Google 结果。`,description:`搜索网页、图片、新闻、地图和视频,返回结构化 Google 结果。的能力简介`},"message.featuresFish":{message:`生成自然语音并克隆音色,用于多语言音频制作。`,description:`生成自然语音并克隆音色,用于多语言音频制作。的能力简介`},"message.featuresCodingBridge":{message:`将 AI 编程助手连接到本地项目,完成引导式开发工作流。`,description:`将 AI 编程助手连接到本地项目,完成引导式开发工作流。的能力简介`},"message.featuresWebextrator":{message:`从网页中提取干净、结构化的内容和数据。`,description:`从网页中提取干净、结构化的内容和数据。的能力简介`},"message.featuresLuma":{message:`根据文字或图像生成具有自然运动效果的电影感视频。`,description:`根据文字或图像生成具有自然运动效果的电影感视频。的能力简介`},"message.featuresPika":{message:`生成和编辑创意短视频,支持特效、场景与画面变换。`,description:`生成和编辑创意短视频,支持特效、场景与画面变换。的能力简介`},"message.featuresKling":{message:`根据文字、图像或动作参考生成高质量视频。`,description:`根据文字、图像或动作参考生成高质量视频。的能力简介`},"message.featuresHailuo":{message:`根据文字或图像生成表现力丰富、人物动作流畅的视频。`,description:`根据文字或图像生成表现力丰富、人物动作流畅的视频。的能力简介`},"message.featuresHeadshots":{message:`根据上传的人像制作专业头像和证件照。`,description:`根据上传的人像制作专业头像和证件照。的能力简介`},"message.featuresSupport":{message:`打开或关闭客服支持`,description:`Support 功能的描述`},"message.featuresI18n":{message:`打开或关闭多语言支持,关闭后,用户只能使用默认语言。`,description:`多语言支持的描述`},"button.upload":{message:`上传`,description:`上传`},"button.resetPrimaryColor":{message:`恢复默认`,description:`恢复站点主题色为平台默认色`},"button.enabled":{message:`已启用`,description:`开关文字,表示已经启用`},"button.disabled":{message:`已禁用`,description:`开关文字,表示已经禁用`},"field.featuresGemini":{message:`Gemini`,description:`Displayed as the title in the editing box`},"message.featuresGemini":{message:`Google 智能助手,擅长长上下文推理、研究、编程和多模态任务。`,description:`Google 智能助手,擅长长上下文推理、研究、编程和多模态任务。的能力简介`},"field.featuresClaude":{message:`Claude`,description:`Displayed as the title in the editing box`},"message.featuresClaude":{message:`Anthropic 智能助手,擅长严谨推理、写作、编程和文档分析。`,description:`Anthropic 智能助手,擅长严谨推理、写作、编程和文档分析。的能力简介`},"placeholder.admins":{message:`请输入管理员用户 ID`,description:`站点设置中管理员编辑框的占位符`},"message.userNotFound":{message:`未找到该用户`,description:`Shown when the user lookup endpoint returns 404 in the picker preview.`},"message.editUserHint":{message:`输入完整 UUID、用户名、邮箱或手机号查找用户。`,description:`Tip below the lookup input in the inviter / admin user picker dialog.`},"message.editUsersEmpty":{message:`尚未添加管理员`,description:`Empty-state text shown when the admins list has no users.`},"message.userAlreadyAdded":{message:`已添加`,description:`Disabled-state label on the Add button when the resolved user is already in the admin list.`},"title.addUser":{message:`添加用户`,description:`Divider title in the admins picker, between the existing-admins list and the lookup input.`},"button.addUser":{message:`添加`,description:`Button label to add the resolved user to the admins list.`},"autoTranslate.tooltipOn":{message:`已开启 — 内容将自动翻译为 17 种语言显示`,description:`自动翻译切换按钮在开启状态下的 hover 提示`},"autoTranslate.tooltipOff":{message:`字面量存储 — 点击开启自动翻译为 17 种语言`,description:`自动翻译切换按钮在关闭状态下的 hover 提示`},"autoTranslate.tooltipDisabledNotSaved":{message:`请先保存后再开启自动翻译`,description:`在创建对话框中(尚未保存)按钮被禁用的提示`},"autoTranslate.confirmEnable":{message:`当前内容将被翻译为 17 种语言,约 1 小时生效。继续吗?`,description:`点击开启自动翻译时的二次确认弹窗正文`},"autoTranslate.confirmDisable":{message:`关闭后将删除所有 18 种语言的翻译,仅保留当前编辑框内容。继续吗?`,description:`点击关闭自动翻译时的二次确认弹窗正文`},"autoTranslate.empty":{message:`请先输入内容,再开启自动翻译`,description:`字段为空时尝试开启自动翻译的警告提示`},"autoTranslate.error":{message:`切换自动翻译失败,请稍后重试`,description:`切换自动翻译接口返回错误时的兜底文案`},"services.title":{message:`单个服务定制加价与展示`},"services.tip":{message:`针对单个服务隐藏、改名、单独定价或排序。留空的加价将继承本站默认加价。删除某行后该服务恢复默认展示。`},"services.addButton":{message:`添加服务覆盖`},"services.empty":{message:`尚无服务覆盖,所有服务沿用目录默认展示与定价。`},"services.field.service":{message:`服务`},"services.field.visible":{message:`可见`},"services.field.customMarkupRatio":{message:`单个服务定制加价`},"services.field.displayTitle":{message:`展示名称`},"services.field.displaySummary":{message:`展示简介`,description:`每服务覆盖项:自定义该服务在本站首页卡片上的简介`},"services.field.sortOrder":{message:`排序`},"services.field.action":{message:`操作`},"services.status.visible":{message:`显示`},"services.status.hidden":{message:`隐藏`},"services.status.inherit":{message:`继承`},"services.dialog.create":{message:`添加服务覆盖`},"services.dialog.edit":{message:`编辑服务覆盖`},"services.placeholder.service":{message:`从服务目录中选择一个服务`},"services.placeholder.markup":{message:`留空则继承`},"services.placeholder.displayTitle":{message:`留空则使用目录中的原名称`},"services.placeholder.displaySummary":{message:`留空则使用目录中的原描述`},"services.tip.visible":{message:`关闭后该服务在本站首页隐藏(已拥有的用户仍可访问)。`},"services.tip.markup":{message:`填写百分制加价比例:10 表示加价 10%,上限 500;留空则继承本站默认加价。`},"services.tip.sortOrder":{message:`数字越小越靠前。`},"services.preview.sampleLabel":{message:`示例原价`},"services.preview.inherit":{message:`(已继承本站默认加价 {percent})`},"services.message.alreadyOverridden":{message:`已覆盖`},"services.message.serviceRequired":{message:`请先选择一个服务`},"services.message.saved":{message:`已保存`},"services.message.deleted":{message:`已删除`},"services.message.deleteConfirm":{message:`确定要删除「{name}」的覆盖配置吗?删除后该服务恢复默认展示与定价。`},"services.message.saveFailed":{message:`保存失败,请稍后重试`},"services.message.deleteFailed":{message:`删除失败,请稍后重试`},"services.message.fetchFailed":{message:`加载服务覆盖失败`}};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={"field.title":{message:`Site Title`,description:`Displayed as the title in the editing box`},"field.origin":{message:`Site Domain`,description:`Displayed as the title in the editing box`},"field.description":{message:`Site Description`,description:`Displayed as the title in the editing box`},"field.keywords":{message:`Site Keywords`,description:`Displayed as the title in the editing box`},"field.logo":{message:`Site Logo`,description:`Displayed as the title in the editing box`},"field.favicon":{message:`Site Favicon`,description:`Displayed as the title in the editing box`},"field.primaryColor":{message:`Primary Color`,description:`Displayed as the title in the editing box`},"field.qr":{message:`QR Code`,description:`Displayed as the title in the editing box`},"field.url":{message:`Link`,description:`Displayed as the title in the editing box`},"field.admins":{message:`Site Admin IDs`,description:`Displayed as the title in the editing box`},"field.contacts":{message:`Support Contacts`,description:`Field title for the customer-service contacts in site settings`},"field.markupRatio":{message:`Site-wide uniform markup`,description:`Site settings: uniform markup percentage applied to all recharge packages on this site`},"message.markupRatioTip":{message:`Set a uniform markup for all services on this site (0%–500%). A custom per-service markup below overrides this value.`,description:`Help text for the markup ratio setting`},"message.markupExample":{message:`For example, if the official price is $20 and you enter 10, your price is $22.`,description:`Fixed example under the markup setting`},"field.disableRecharge":{message:`Disable recharge`,description:`Site settings: when on, hide all recharge/top-up entries on this site`},"message.disableRechargeTip":{message:`When enabled, all recharge/top-up buttons are hidden on this site and users can no longer top up their balance.`,description:`Help text for the disable-recharge toggle`},"field.distributionDefaultInviterId":{message:`Default Inviter ID`,description:`Displayed as the title in the editing box`},"field.distributionForceInviterId":{message:`Forced Inviter ID`,description:`Displayed as the title in the editing box`},"field.authEnabledProviders":{message:`Enabled Login Methods`,description:`Settings / Login Methods tab title — checkboxes for which authentication providers the site offers on its login page.`},"field.authDefaultProvider":{message:`Default Login Method`,description:`Settings / Login Methods tab title — which login provider is pre-selected when the login page first opens.`},"field.authProvider_email":{message:`Email`,description:`Login provider display name: email (email + password or verification code).`},"field.authProvider_phone":{message:`Phone`,description:`Login provider display name: phone number (SMS verification code).`},"field.authProvider_google":{message:`Google`,description:`Login provider display name: Google OAuth.`},"field.authProvider_github":{message:`GitHub`,description:`Login provider display name: GitHub OAuth.`},"field.authProvider_apple":{message:`Apple`,description:`Login provider display name: Sign in with Apple.`},"field.authProvider_wechat":{message:`WeChat`,description:`Login provider display name: WeChat OAuth.`},"field.authSmsWebhook":{message:`Custom SMS Sender`,description:`Site settings / login: title for the site's own custom SMS verification-code delivery webhook`},"message.authSmsWebhookTip":{message:`When enabled, this site's phone verification codes are sent through your own endpoint under your own signature; disable it to use the platform default. Requires the phone-number login provider to be enabled.`,description:`Explains the custom SMS sender webhook`},"placeholder.authSmsWebhookUrl":{message:`https://your-domain/sms-webhook`,description:`Placeholder for the SMS webhook URL input`},"placeholder.authSmsWebhookSecret":{message:`Signing secret (leave blank to keep unchanged)`,description:`Placeholder for the SMS webhook signing secret input; write-only, blank keeps existing`},"field.authSmsWebhookEnable":{message:`Use a custom sender`,description:`Label next to the custom SMS sender toggle`},"field.authSmsWebhookDoc":{message:`View docs`,description:`Link that opens the SMS webhook spec dialog`},"field.authSmsWebhookTest":{message:`Test`,description:`Button that opens the SMS webhook test dialog`},"message.authSmsWebhookNeedsPhone":{message:`Enable the phone-number login provider first to configure a custom SMS sender.`,description:`Tooltip shown when the toggle is disabled because phone login is off`},"field.authSmsWebhookDocTitle":{message:`Custom SMS Sender · Webhook spec`,description:`Title of the SMS webhook spec dialog`},"message.authSmsWebhookDocIntro":{message:`This site sends a signed HTTPS POST to the URL you provide; your service is responsible for delivering the SMS. Your endpoint must meet the following requirements:`,description:`Intro paragraph of the SMS webhook spec dialog`},"field.authSmsWebhookDocRequest":{message:`Request`,description:`Heading: request section of the SMS webhook spec`},"message.authSmsWebhookDocRequest":{message:`Method POST, Content-Type application/json. purpose is one of login / register / test (test is a connectivity probe — you may skip actually sending). The request body looks like:`,description:`Describes the request method and body of the SMS webhook`},"field.authSmsWebhookDocHeaders":{message:`Signature verification`,description:`Heading: signature section of the SMS webhook spec`},"message.authSmsWebhookDocHeaders":{message:`Each request carries the headers below. Verify with your signing secret using HMAC-SHA256 per the Standard Webhooks spec and compare in constant time:`,description:`Describes signature verification for the SMS webhook`},"field.authSmsWebhookDocResponse":{message:`Response`,description:`Heading: response section of the SMS webhook spec`},"message.authSmsWebhookDocResponse":{message:`Return 2xx on success. To signal failure explicitly, return HTTP 200 with a JSON body whose success field is false (see the example below). Respond within 5 seconds.`,description:`Describes the expected response of the SMS webhook`},"field.authSmsWebhookTestTitle":{message:`Test custom SMS sender`,description:`Title of the SMS webhook test dialog`},"field.authSmsWebhookTestRegion":{message:`Country/region code`,description:`Label for the region-code field in the test dialog`},"field.authSmsWebhookTestNumber":{message:`Test phone number (optional)`,description:`Label for the phone-number field in the test dialog`},"field.authSmsWebhookTestSend":{message:`Send test`,description:`Button that sends the SMS webhook test request`},"message.authSmsWebhookTestOk":{message:`The test request was delivered to your endpoint successfully.`,description:`Success message after a webhook test`},"message.authSmsWebhookTestFailed":{message:`Test failed. Check the URL, signing secret, and your endpoint's response.`,description:`Failure message after a webhook test`},"field.authSmsWebhookDisableTitle":{message:`Disable custom SMS sender`,description:`Title of the confirm dialog shown when disabling the custom SMS sender`},"message.authSmsWebhookDisableConfirm":{message:`Disabling this deletes the saved sender URL and signing secret (the secret cannot be recovered), and this site falls back to the platform default signature. Disable it?`,description:`Body of the confirm dialog shown when disabling the custom SMS sender`},"field.featuresChat":{message:`Chat`,description:`Displayed as the title in the editing box`},"field.featuresVeo":{message:`Veo`,description:`Displayed as the title in the editing box`},"field.featuresSora":{message:`Sora`,description:`Displayed as the title in the editing box`},"field.featuresGrok":{message:`Grok`,description:`Displayed as the title in the editing box`},"field.featuresGrokvideo":{message:`Grok Video`,description:`Displayed as the title in the editing box`},"field.featuresMaestro":{message:`Maestro`,description:`Displayed as the title in the editing box`},"field.featuresDigitalhuman":{message:`Digital Human`,description:`Displayed as the title in the editing box`},"field.featuresDeepseek":{message:`Deepseek`,description:`Displayed as the title in the editing box`},"field.featuresChatgpt":{message:`ChatGPT`,description:`Displayed as the title in the editing box`},"field.featuresMidjourney":{message:`Midjourney`,description:`Displayed as the title in the editing box`},"field.featuresChatdoc":{message:`Chatdoc`,description:`Displayed as the title in the editing box`},"field.featuresQrart":{message:`Qrart`,description:`Displayed as the title in the editing box`},"field.featuresLuma":{message:`Luma`,description:`Displayed as the title in the editing box`},"field.featuresPixverse":{message:`Pixverse`,description:`Displayed as the title in the editing box`},"field.featuresPika":{message:`Pika`,description:`Displayed as the title in the editing box`},"field.featuresKling":{message:`Kling`,description:`Displayed as the title in the editing box`},"field.featuresHailuo":{message:`Hailuo`,description:`Displayed as the title in the editing box`},"field.featuresHeadshots":{message:`AI ID Photo`,description:`Displayed as the title in the editing box`},"field.featuresSuno":{message:`Suno`,description:`Displayed as the title in the editing box`},"field.featuresFlux":{message:`Flux`,description:`Displayed as the title in the editing box`},"field.featuresNanobanana":{message:`Nano Banana`,description:`Displayed as the title in the editing box`},"field.featuresOpenaiimage":{message:`OpenAI Image`,description:`Displayed as the title in the editing box`},"field.featuresSeedream":{message:`SeeDream`,description:`Displayed as the title in the editing box`},"field.featuresSeedance":{message:`SeeDance`,description:`Displayed as the title in the editing box`},"field.featuresWan":{message:`Wan`,description:`Displayed as the title in the editing box`},"field.featuresProducer":{message:`Producer`,description:`Displayed as the title in the editing box`},"field.featuresKimi":{message:`Kimi`,description:`Displayed as the title in the editing box`},"field.featuresSerp":{message:`SERP`,description:`Displayed as the title in the editing box`},"field.featuresFish":{message:`Fish Audio`,description:`Displayed as the title in the editing box`},"field.featuresCodingBridge":{message:`Coding Bridge`,description:`Displayed as the title in the editing box`},"field.featuresWebextrator":{message:`WebExtrator`,description:`Displayed as the title in the editing box`},"field.featuresSupport":{message:`Customer Support`,description:`Displayed as the title in the editing box`},"field.featuresI18n":{message:`Multilingual Support`,description:`Displayed as the title in the editing box`},"title.basicConfig":{message:`Basic Configuration`,description:`Displayed as the title in the editing box`},"title.seoConfig":{message:`SEO Configuration`,description:`Displayed as the title in the editing box`},"title.editAdmins":{message:`Edit Admins`,description:`Displayed as the title in the editing box`},"title.editContacts":{message:`Edit Support Contacts`,description:`Title of the edit-support-contacts dialog`},"title.featuresConfig":{message:`Features Configuration`,description:`Displayed as the title in the editing box`},"title.editTitle":{message:`Edit Title`,description:`Displayed as the title in the editing box`},"title.editOrigin":{message:`Edit Domain`,description:`Displayed as the title in the editing box`},"title.editKeywords":{message:`Edit Keywords`,description:`Displayed as the title in the editing box`},"title.editLogo":{message:`Edit Logo`,description:`Displayed as the title in the editing box`},"title.editFavicon":{message:`Edit Favicon`,description:`Displayed as the title in the editing box`},"title.editDescription":{message:`Edit Description`,description:`Displayed as the title in the editing box`},"title.distributionConfig":{message:`Distribution Configuration`,description:`Displayed as the title in the editing box`},"title.editDistributionDefaultInviterId":{message:`Edit Default Inviter`,description:`Displayed as the title in the editing box`},"title.editDistributionForceInviterId":{message:`Edit Forced Inviter`,description:`Displayed as the title in the edit box`},"title.editQR":{message:`Edit QR Code`,description:`Displayed as the title in the edit box`},"title.editUrl":{message:`Edit Link`,description:`Displayed as the title in the edit box`},"placeholder.title":{message:`Enter Site Title`,description:`Displayed as the title in the edit box`},"placeholder.origin":{message:`Enter Site Domain`,description:`Displayed as the title in the edit box`},"placeholder.editUrl":{message:`Enter Link`,description:`Displayed as the title in the edit box`},"placeholder.description":{message:`Enter Site Description`,description:`Displayed as the title in the edit box`},"placeholder.keywords":{message:`Enter Site Keywords`,description:`Displayed as the title in the edit box`},"placeholder.editDistributionDefaultInviterId":{message:`Enter Default Inviter ID`,description:`Displayed as the title in the edit box`},"placeholder.editDistributionForceInviterId":{message:`Enter Forced Inviter ID`,description:`Displayed as the title in the edit box`},"placeholder.authDefaultProvider":{message:`Select default login method`,description:`Placeholder for the default-login-method dropdown in the Login Methods tab.`},"message.uploadImageExceed":{message:`Image Upload Exceeds Limit`,description:`Prompt for exceeding image upload limit`},"message.uploadImageError":{message:`Image Upload Error`,description:`Prompt for image upload error`},"imageCropper.dropHere":{message:`Drag image here or click to upload`,description:`Empty state prompt for image cropper`},"imageCropper.formatHint":{message:`Supports JPG / PNG / WebP, max 20 MB`,description:`Allowed file formats for image cropper`},"imageCropper.zoomIn":{message:`Zoom In`,description:`Zoom in button for image cropper`},"imageCropper.zoomOut":{message:`Zoom Out`,description:`Zoom out button for image cropper`},"imageCropper.rotateLeft":{message:`Rotate Left`,description:`Counterclockwise rotate button for image cropper`},"imageCropper.rotateRight":{message:`Rotate Right`,description:`Clockwise rotate button for image cropper`},"imageCropper.flipHorizontal":{message:`Flip Horizontal`,description:`Horizontal flip button for image cropper`},"imageCropper.replace":{message:`Re-select Image`,description:`Replace image button for image cropper`},"imageCropper.invalidType":{message:`Please select an image file.`,description:`Error for unsupported format in image cropper`},"imageCropper.noImage":{message:`Please select an image first.`,description:`Error for no image selected in image cropper`},"imageCropper.canvasError":{message:`Unable to generate cropped image.`,description:`Canvas error for image cropper`},"imageCropper.uploadFailed":{message:`Image upload failed.`,description:`Error for failed upload in image cropper`},"message.editLogoTip":{message:`Recommended Size: 200*60px`,description:`Tip for uploading images`},"message.editQRTip":{message:`Recommended Size: 200*200px`,description:`Tip for uploading images`},"message.editFaviconTip":{message:`Recommended Size: 32*32px`,description:`Tip for uploading images`},"message.editUrl":{message:`Enter Link`,description:`Prompt for entering a link`},"message.atLeastOneAdmin":{message:`At Least One Admin Must Remain`,description:`Prompt for retaining at least one admin`},"message.distributionDefaultInviterIdTip":{message:`User ID of the default inviter. If the distribution link does not carry the inviter_id parameter, this user ID will be used as the inviter by default.`,description:`Tip for default inviter ID`},"message.distributionForceInviterIdTip":{message:`User ID of the forced inviter. If this ID is set, it will be used as the inviter regardless of whether the distribution link carries the inviter_id parameter.`,description:`Tip for forced inviter ID`},"message.authEnabledProvidersTip":{message:`Pick which authentication methods this site's login page offers. At least one method must remain enabled, otherwise no one will be able to sign in.`,description:`Helper text under the Enabled Login Methods row in the Login Methods tab.`},"message.authDefaultProviderTip":{message:`The login method that is pre-selected when a user opens the login page. Must be one of the enabled methods above.`,description:`Helper text under the Default Login Method row in the Login Methods tab.`},"message.authProvidersAtLeastOne":{message:`At least one login method must remain enabled.`,description:`Warning toast when the user tries to disable every login method at once.`},"message.originTip":{message:`Site domain, site configuration is bound to the domain, and the site domain cannot be changed.`,description:`Tip for site domain`},"message.titleTip":{message:`Site title, displayed in the browser tab.`,description:`Tip for site title`},"message.descriptionTip":{message:`Site description, located in the site metadata, used for site SEO optimization.`,description:`Tip for site description`},"message.logoTip":{message:`Site Logo, displayed at the top of the site menu when the menu bar is expanded.`,description:`Tip for site logo`},"message.faviconTip":{message:`Site Favicon, displayed in the browser tab.`,description:`Tip for site favicon`},"message.primaryColorTip":{message:`Primary brand colour for the site. Applies to buttons, links, highlights, and accent gradients across the entire UI.`,description:`Tip for the per-site primary colour picker`},"message.adminsTip":{message:`Site admin IDs, by default, the user who first creates the site will become an admin. Only site admins can manage the site.`,description:`Tip for site admins`},"message.adminsTip2":{message:`You can add or remove admin IDs here. You can view user IDs at https://auth.acedata.cloud`,description:`Tip for site admins`},"message.contactsTip":{message:`Fill in your customer-service contacts (Discord, X, WeChat, phone, email). They are shown on the About page so users can reach you.`,description:`Tip for the support-contacts field`},"message.contactsEmpty":{message:`Not set`,description:`Placeholder shown when no support contact has been filled in`},"message.keywordsTip":{message:`Site keywords, located in the site metadata, used for site SEO optimization.`,description:`Tip for site keywords`},"message.keywordsTip2":{message:`You can add or remove site keywords here. The more precise the keywords, the more beneficial for SEO optimization.`,description:`Tip for site keywords`},"message.featuresChat":{message:`Enable or disable the Chat feature module.`,description:`Description of the Chat feature`},"message.featuresGrok":{message:`xAI assistant for real-time knowledge, reasoning, writing, and coding.`,description:`Concise capability introduction: xAI assistant for real-time knowledge, reasoning, writing, and coding.`},"message.featuresGrokvideo":{message:`xAI video generation for short clips from text prompts or reference images.`,description:`Concise capability introduction: xAI video generation for short clips from text prompts or reference images.`},"message.featuresMaestro":{message:`Produce complete videos from an idea, including planning, voiceover, scenes, and delivery.`,description:`Concise capability introduction: Produce complete videos from an idea, including planning, voiceover, scenes, and delivery.`},"message.featuresDigitalhuman":{message:`Create talking-head videos with synthesized speech and natural lip sync.`,description:`Concise capability introduction: Create talking-head videos with synthesized speech and natural lip sync.`},"message.featuresDeepseek":{message:`DeepSeek assistant for advanced reasoning, coding, math, and everyday questions.`,description:`Concise capability introduction: DeepSeek assistant for advanced reasoning, coding, math, and everyday questions.`},"message.featuresChatgpt":{message:`OpenAI assistant for writing, reasoning, coding, and multimodal conversations.`,description:`Concise capability introduction: OpenAI assistant for writing, reasoning, coding, and multimodal conversations.`},"message.featuresMidjourney":{message:`Create polished images and creative variations from text or visual references.`,description:`Concise capability introduction: Create polished images and creative variations from text or visual references.`},"message.featuresChatdoc":{message:`Enable or disable the Chatdoc feature module.`,description:`Description of the Chatdoc feature`},"message.featuresQrart":{message:`Turn links into scannable artistic QR codes with custom styles and imagery.`,description:`Concise capability introduction: Turn links into scannable artistic QR codes with custom styles and imagery.`},"message.featuresVeo":{message:`Google video generation for cinematic clips with strong prompt and motion control.`,description:`Concise capability introduction: Google video generation for cinematic clips with strong prompt and motion control.`},"message.featuresSora":{message:`OpenAI video generation for realistic scenes, storytelling, and visual transformations.`,description:`Concise capability introduction: OpenAI video generation for realistic scenes, storytelling, and visual transformations.`},"message.featuresSuno":{message:`Generate complete songs, lyrics, vocals, and instrumentals from a prompt.`,description:`Concise capability introduction: Generate complete songs, lyrics, vocals, and instrumentals from a prompt.`},"message.featuresPixverse":{message:`Generate stylized videos from prompts and images with templates and effects.`,description:`Concise capability introduction: Generate stylized videos from prompts and images with templates and effects.`},"message.featuresFlux":{message:`Create detailed images and edit existing visuals with natural-language instructions.`,description:`Concise capability introduction: Create detailed images and edit existing visuals with natural-language instructions.`},"message.featuresNanobanana":{message:`Google-powered image generation and editing with precise instruction following.`,description:`Concise capability introduction: Google-powered image generation and editing with precise instruction following.`},"message.featuresOpenaiimage":{message:`OpenAI image generation and editing for polished visuals, text, and compositions.`,description:`Concise capability introduction: OpenAI image generation and editing for polished visuals, text, and compositions.`},"message.featuresSeedream":{message:`ByteDance image generation and editing for high-quality creative visuals.`,description:`Concise capability introduction: ByteDance image generation and editing for high-quality creative visuals.`},"message.featuresSeedance":{message:`ByteDance video generation for dynamic scenes, camera motion, and optional audio.`,description:`Concise capability introduction: ByteDance video generation for dynamic scenes, camera motion, and optional audio.`},"message.featuresWan":{message:`Alibaba video generation from text, images, or references at multiple resolutions.`,description:`Concise capability introduction: Alibaba video generation from text, images, or references at multiple resolutions.`},"message.featuresProducer":{message:`Create songs, covers, extensions, and vocal or instrumental variations.`,description:`Concise capability introduction: Create songs, covers, extensions, and vocal or instrumental variations.`},"message.featuresKimi":{message:`Moonshot AI assistant for long-context research, reasoning, writing, and coding.`,description:`Concise capability introduction: Moonshot AI assistant for long-context research, reasoning, writing, and coding.`},"message.featuresSerp":{message:`Search the web, images, news, maps, and videos with structured Google results.`,description:`Concise capability introduction: Search the web, images, news, maps, and videos with structured Google results.`},"message.featuresFish":{message:`Generate natural speech and clone voices for multilingual audio production.`,description:`Concise capability introduction: Generate natural speech and clone voices for multilingual audio production.`},"message.featuresCodingBridge":{message:`Connect AI coding assistants to local projects for guided development workflows.`,description:`Concise capability introduction: Connect AI coding assistants to local projects for guided development workflows.`},"message.featuresWebextrator":{message:`Extract clean, structured content and data from web pages.`,description:`Concise capability introduction: Extract clean, structured content and data from web pages.`},"message.featuresLuma":{message:`Create cinematic videos from text or images with natural motion.`,description:`Concise capability introduction: Create cinematic videos from text or images with natural motion.`},"message.featuresPika":{message:`Generate and edit short creative videos with effects, scenes, and transformations.`,description:`Concise capability introduction: Generate and edit short creative videos with effects, scenes, and transformations.`},"message.featuresKling":{message:`Create high-quality videos from text, images, or motion references.`,description:`Concise capability introduction: Create high-quality videos from text, images, or motion references.`},"message.featuresHailuo":{message:`Generate expressive videos from text or images with smooth character motion.`,description:`Concise capability introduction: Generate expressive videos from text or images with smooth character motion.`},"message.featuresHeadshots":{message:`Create professional profile and ID photos from uploaded portraits.`,description:`Concise capability introduction: Create professional profile and ID photos from uploaded portraits.`},"message.featuresSupport":{message:`Enable or disable customer support.`,description:`Description of the Support feature`},"message.featuresI18n":{message:`Enable or disable multilingual support. When disabled, users can only use the default language.`,description:`Description of multilingual support`},"button.upload":{message:`Upload`,description:`Upload`},"button.resetPrimaryColor":{message:`Reset to default`,description:`Reset the per-site primary colour back to the platform default`},"button.enabled":{message:`Enabled`,description:`Toggle text indicating it is enabled`},"button.disabled":{message:`Disabled`,description:`Toggle text indicating it is disabled`},"field.featuresGemini":{message:`Gemini`,description:`Displayed as the title in the editing box`},"message.featuresGemini":{message:`Google assistant for long-context reasoning, research, coding, and multimodal work.`,description:`Concise capability introduction: Google assistant for long-context reasoning, research, coding, and multimodal work.`},"field.featuresClaude":{message:`Claude`,description:`Displayed as the title in the editing box`},"message.featuresClaude":{message:`Anthropic assistant for careful reasoning, writing, coding, and document analysis.`,description:`Concise capability introduction: Anthropic assistant for careful reasoning, writing, coding, and document analysis.`},"placeholder.admins":{message:`Enter admin user ID`,description:`Placeholder in the admin editing box in site settings`},"message.userNotFound":{message:`User not found`,description:`Shown when the user lookup endpoint returns 404 in the picker preview.`},"message.editUserHint":{message:`Type a full UUID, username, email or phone to look up a user.`,description:`Tip below the lookup input in the inviter / admin user picker dialog.`},"message.editUsersEmpty":{message:`No admins yet.`,description:`Empty-state text shown when the admins list has no users.`},"message.userAlreadyAdded":{message:`Already added`,description:`Disabled-state label on the Add button when the resolved user is already in the admin list.`},"title.addUser":{message:`Add user`,description:`Divider title in the admins picker, between the existing-admins list and the lookup input.`},"button.addUser":{message:`Add`,description:`Button label to add the resolved user to the admins list.`},"autoTranslate.tooltipOn":{message:`Auto-translation ON — content shows in visitor's language`,description:`Tooltip on the auto-translate toggle when it is ON`},"autoTranslate.tooltipOff":{message:`Literal storage — click to enable auto-translation`,description:`Tooltip on the auto-translate toggle when it is OFF`},"autoTranslate.tooltipDisabledNotSaved":{message:`Save the row before enabling auto-translation`,description:`Tooltip shown when the toggle is disabled because the row has no id yet (create-dialog state)`},"autoTranslate.confirmEnable":{message:`This content will be translated into 17 languages within ~1 hour. Continue?`,description:`Body text of the confirm dialog shown before enabling auto-translation`},"autoTranslate.confirmDisable":{message:`Disabling removes all 18 languages of translation, keeping only the current value. Continue?`,description:`Body text of the confirm dialog shown before disabling auto-translation`},"autoTranslate.empty":{message:`Enter some content before enabling auto-translation`,description:`Warning shown when the user tries to enable auto-translation on an empty field`},"autoTranslate.error":{message:`Failed to toggle auto-translation, please retry`,description:`Fallback error toast when the enable/disable HTTP call fails with no detail`},"services.title":{message:`Per-service custom markup & display`},"services.tip":{message:`Hide, rename, re-price or reorder individual services. A blank markup inherits the site-wide default. Deleting a row reverts the service to its catalog defaults.`},"services.addButton":{message:`Add override`},"services.empty":{message:`No overrides yet — every service uses its catalog defaults.`},"services.field.service":{message:`Service`},"services.field.visible":{message:`Visible`},"services.field.customMarkupRatio":{message:`Custom markup per service`},"services.field.displayTitle":{message:`Display name`},"services.field.displaySummary":{message:`Display summary`,description:`Per-service override: custom summary shown on this site's homepage card`},"services.field.sortOrder":{message:`Sort`},"services.field.action":{message:`Actions`},"services.status.visible":{message:`Shown`},"services.status.hidden":{message:`Hidden`},"services.status.inherit":{message:`Inherit`},"services.dialog.create":{message:`Add service override`},"services.dialog.edit":{message:`Edit service override`},"services.placeholder.service":{message:`Pick a service from the catalog`},"services.placeholder.markup":{message:`Blank inherits`},"services.placeholder.displayTitle":{message:`Leave blank to use the catalog title`},"services.placeholder.displaySummary":{message:`Leave blank to use the catalog description`},"services.tip.visible":{message:`When off, the service is hidden on this site's homepage (users who already have it keep access).`},"services.tip.markup":{message:`Enter a percentage markup: 10 means +10%, up to 500. Leave blank to inherit the site default.`},"services.tip.sortOrder":{message:`Lower numbers come first.`},"services.preview.sampleLabel":{message:`Sample base price`},"services.preview.inherit":{message:`(inheriting the site default markup {percent})`},"services.message.alreadyOverridden":{message:`Already added`},"services.message.serviceRequired":{message:`Please pick a service first`},"services.message.saved":{message:`Saved`},"services.message.deleted":{message:`Deleted`},"services.message.deleteConfirm":{message:`Delete the override for “{name}”? The service reverts to its catalog defaults.`},"services.message.saveFailed":{message:`Save failed, please try again`},"services.message.deleteFailed":{message:`Delete failed, please try again`},"services.message.fetchFailed":{message:`Failed to load service overrides`}};export{e as default};
|
|
File without changes
|