@acedatacloud/nexior 3.316.1 → 3.316.3
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-DSarroHU.js → ApiCodeButton-d-nhTWif.js} +1 -1
- package/dist/assets/Artifacts-Zm-_egZ9.js +1 -0
- package/dist/assets/{AskUserQuestionCard-CctK6Hse.js → AskUserQuestionCard-DvlSCrRB.js} +2 -2
- package/dist/assets/Auth-D_S-gs-t.js +1 -0
- package/dist/assets/Bare-C8MROq-8.js +1 -0
- package/dist/assets/BotPlaceholder-CBh7mvaB.js +1 -0
- package/dist/assets/BottomFooter-CtjgHCFh.js +1 -0
- package/dist/assets/{Callback-CM0Qhtlr.js → Callback-CxGp4tEK.js} +1 -1
- package/dist/assets/CodeSnippet-kaXsVdHR.js +1 -0
- package/dist/assets/Console-B5lqJaRf.js +1 -0
- package/dist/assets/Consumption-B1lxOU1i.js +1 -0
- package/dist/assets/Conversation-9knNTxqZ.js +1 -0
- package/dist/assets/Conversation-CYY_jGvj.js +1 -0
- package/dist/assets/{CopyToClipboard-BKyXvIP6.js → CopyToClipboard-DgDDlpCp.js} +1 -1
- package/dist/assets/Detail-Dz1k3kG-.js +2 -0
- package/dist/assets/Extra-DSwCtMJR.js +1 -0
- package/dist/assets/{FilePreview-C_XlBipF.js → FilePreview-CzOvY3NT.js} +1 -1
- package/dist/assets/Hailuo-CeUxsHH4.js +1 -0
- package/dist/assets/History-CwOfDQAA.js +1 -0
- package/dist/assets/{ImagePreview-DvHyt7_M.js → ImagePreview-CFSodjKp.js} +1 -1
- package/dist/assets/ImageWrapper-Z0LmkDSx.js +1 -0
- package/dist/assets/Index-23RW5kwu.js +1 -0
- package/dist/assets/Index-2lxiPnXH.js +1 -0
- package/dist/assets/Index-3Zq5mqQJ.js +1 -0
- package/dist/assets/Index-7wGxO7d-.js +1 -0
- package/dist/assets/Index-9UJ72cNv.js +1 -0
- package/dist/assets/Index-B2Mcs4lZ.js +1 -0
- package/dist/assets/Index-BFTYSHjm.js +1 -0
- package/dist/assets/Index-BFiYEyAj.js +2 -0
- package/dist/assets/Index-BG1nh9L_.js +1 -0
- package/dist/assets/Index-BMvaxDT_.js +1 -0
- package/dist/assets/Index-BN3qHEfR.js +1 -0
- package/dist/assets/Index-BWpnzmKg.js +1 -0
- package/dist/assets/Index-BXwnsHOc.js +1 -0
- package/dist/assets/Index-BrODOK0E.js +1 -0
- package/dist/assets/Index-Bw6he18q.js +1 -0
- package/dist/assets/Index-BzKkpbe_.js +1 -0
- package/dist/assets/Index-BzpUItNb.js +1 -0
- package/dist/assets/Index-CWoF-0FX.js +1 -0
- package/dist/assets/Index-Cl11RQNg.js +1 -0
- package/dist/assets/Index-Cl_74J_r.js +1 -0
- package/dist/assets/Index-DDLnmfrQ.js +1 -0
- package/dist/assets/Index-DG2BHg79.js +1 -0
- package/dist/assets/Index-DMHX1JYw.js +1 -0
- package/dist/assets/Index-DU5DdKDN.js +1 -0
- package/dist/assets/{Index-Dbjp_KnO.js → Index-Dnvgvysp.js} +1 -1
- package/dist/assets/Index-W4baekBV.js +1 -0
- package/dist/assets/Index-d_BNN9Zd.js +1 -0
- package/dist/assets/Index-lIIVq7Kp.js +1 -0
- package/dist/assets/Invitees-Bh8OvDCK.js +1 -0
- package/dist/assets/List-BEhWYDfR.js +1 -0
- package/dist/assets/List-BPVgTarG.js +1 -0
- package/dist/assets/List-krcTHWpv.js +1 -0
- package/dist/assets/LocalTools-BeQ0YvWJ.js +1 -0
- package/dist/assets/LocalTools-CbDK8usv.css +1 -0
- package/dist/assets/LocalTools-Df8isJXe.js +5 -0
- package/dist/assets/{Login-ZkRB_fWm.js → Login-DnLF12_7.js} +1 -1
- package/dist/assets/{Main-BzFZ0yyN.js → Main-BTPf3ly_.js} +1 -1
- package/dist/assets/Message-Bm1Kg4F3.js +3 -0
- package/dist/assets/Model-CCif5CV8.js +1 -0
- package/dist/assets/Navigator-LX1TlP3w.js +5 -0
- package/dist/assets/{Navigator-DwVDv5Hs.css → Navigator-dtZvduSY.css} +1 -1
- package/dist/assets/NoTasks-BEB3OuJK.js +1 -0
- package/dist/assets/{NotFound-nNNIaC6c.js → NotFound-DF1zDvOC.js} +1 -1
- package/dist/assets/Pagination-w5GVxumH.js +1 -0
- package/dist/assets/Pay-Dj1QhoOl.js +1 -0
- package/dist/assets/{Player-xqeQFdM9.js → Player-M4OK-6JV.js} +1 -1
- package/dist/assets/PromptTextarea-COflUfN2.js +1 -0
- package/dist/assets/RealtimeCall-BB4S3zoq.js +1 -0
- package/dist/assets/ScheduledTasks-CweHaVy_.js +2 -0
- package/dist/assets/Status-WZPjWgf9.js +1 -0
- package/dist/assets/Subscribe-aZPGOCY0.js +1 -0
- package/dist/assets/{TabSwitcher-CtEV3A5I.js → TabSwitcher-DiLzVjpZ.js} +1 -1
- package/dist/assets/Tts-C9sYl_w6.js +1 -0
- package/dist/assets/VideoPlayer-AhOD2hjU.js +1 -0
- package/dist/assets/{_Uint8Array-CdJ1LeYU.js → _Uint8Array-CSvylKzy.js} +1 -1
- package/dist/assets/{_baseClone-p-N2oXhW.js → _baseClone-PgHdpPYC.js} +1 -1
- package/dist/assets/{_baseIteratee-CTSuWYdU.js → _baseIteratee-DGjQpQ48.js} +1 -1
- package/dist/assets/{_initCloneObject-t6u_Vjmm.js → _initCloneObject-DMNP0nOI.js} +1 -1
- package/dist/assets/alert-Beu5_PBG.js +1 -0
- package/dist/assets/avatar-ClGF3ne7.js +1 -0
- package/dist/assets/avatar-jHj3FjQT.js +1 -0
- package/dist/assets/{basic-DpG-BVGV.js → basic-DGZlyX-w.js} +1 -1
- package/dist/assets/card-DIjxmFoM.js +1 -0
- package/dist/assets/castArray-Dg9nqEJX.js +1 -0
- package/dist/assets/{chat-C4wik-OR.js → chat-BtdaULTk.js} +1 -1
- package/dist/assets/checkbox-CaKO6-i-.js +1 -0
- package/dist/assets/{click-outside-yWFifzOE.js → click-outside-D1TaQF1C.js} +1 -1
- package/dist/assets/codingBridge-BxVVbw8C.js +2 -0
- package/dist/assets/codingBridgeNotify-DutIfI14.js +2 -0
- package/dist/assets/collapse-BjzXCF-F.js +1 -0
- package/dist/assets/{collapse-transition-C9jp2nDh.js → collapse-transition-BmFhJ56o.js} +1 -1
- package/dist/assets/{common-BAd4SGqQ.js → common-0e2JJJVf.js} +1 -1
- package/dist/assets/{common-BdQPmi57.js → common-B8UjzAf1.js} +1 -1
- package/dist/assets/{common-Cj4oWNMf.js → common-B8lL-2On.js} +1 -1
- package/dist/assets/{common-CaTo7LOC.js → common-BEQ0vf2x.js} +1 -1
- package/dist/assets/{common-BROri1E1.js → common-BfhEoKMN.js} +1 -1
- package/dist/assets/{common-ohCMgYLR.js → common-C5EEoeOt.js} +1 -1
- package/dist/assets/{common-DEIuu7BA.js → common-CD592VYU.js} +1 -1
- package/dist/assets/{common-BjlXESrk.js → common-COePTJGZ.js} +1 -1
- package/dist/assets/{common-K2wP0P3p.js → common-CVqlX9SA.js} +1 -1
- package/dist/assets/{common-CzcgI1sU.js → common-Cp7AV_ud.js} +1 -1
- package/dist/assets/{common-Bd5k0WlH.js → common-D79GLmfj.js} +1 -1
- package/dist/assets/{common-DRmLPDXj.js → common-D9XZjgvR.js} +1 -1
- package/dist/assets/{common-2uO80kTX.js → common-DJzFNW-V.js} +1 -1
- package/dist/assets/{common-CJNaY-Db.js → common-DYLARtvB.js} +1 -1
- package/dist/assets/{common-MrXJ3R4n.js → common-DizI3ht6.js} +1 -1
- package/dist/assets/{common-D9o7agfK.js → common-DqPT9Hws.js} +1 -1
- package/dist/assets/{common-BMQrvtkw.js → common-M0wzqrn3.js} +1 -1
- package/dist/assets/{common-BMjrVq-i.js → common-lVgIe26p.js} +1 -1
- package/dist/assets/constants-CwUz8kpJ.js +1 -0
- package/dist/assets/container-DMD3nDsL.js +1 -0
- package/dist/assets/{createTaskActions-Cbul2piK.js → createTaskActions-BpSZMFo2.js} +1 -1
- package/dist/assets/date-picker-C4Wf5WYN.js +1 -0
- package/dist/assets/{debounce-CYlOLIMx.js → debounce-Dmpjxr80.js} +1 -1
- package/dist/assets/{digitalhuman-CuTz_qxD.js → digitalhuman-BTYGzYgk.js} +1 -1
- package/dist/assets/divider-xrWgvCSM.js +1 -0
- package/dist/assets/drawer-CwZbTW6o.js +1 -0
- package/dist/assets/{dropdown-BgJ4CC48.js → dropdown-BsCCrEej.js} +1 -1
- package/dist/assets/dropdown-wEpZ1ux_.js +1 -0
- package/dist/assets/{empty-CdsD8g84.js → empty-qBuuC2ji.js} +1 -1
- package/dist/assets/{esm-BcVh4Hz2.js → esm-BnXP8OPb.js} +1 -1
- package/dist/assets/esm-BybvFi_Q.js +2 -0
- package/dist/assets/{esm-CfgOYo9V.js → esm-CHHG0mCU.js} +1 -1
- package/dist/assets/{esm-r8yoKYo9.js → esm-D82QJCfL.js} +3 -3
- package/dist/assets/{esm-Mvv91ISi.js → esm-DF0b_yCa.js} +1 -1
- package/dist/assets/esm-Dq_BgNjV.js +1 -0
- package/dist/assets/{esm-CB7fRcdO.js → esm-McoeAXUQ.js} +2 -2
- package/dist/assets/{fish-DkLt3-KR.js → fish-Dyy3Mi9g.js} +1 -1
- package/dist/assets/{flux-BxpUMMkQ.js → flux-Bc_y6Hdy.js} +1 -1
- package/dist/assets/form-CQUek1fP.js +12 -0
- package/dist/assets/{grokvideo-B8lwMqrZ.js → grokvideo-BV-b4zCg.js} +1 -1
- package/dist/assets/{hailuo-CDvRMuW4.js → hailuo-CRcN5XsQ.js} +1 -1
- package/dist/assets/{headshots-B_7OdYwD.js → headshots-CWnGND28.js} +1 -1
- package/dist/assets/i18n-CNox2ju5.js +3 -0
- package/dist/assets/image-VZbuBwso.js +1 -0
- package/dist/assets/index-BCK-frl7.js +570 -0
- package/dist/assets/{index.browser.esm-C9t5W1Wg.js → index.browser.esm-C-VRIJWL.js} +1 -1
- package/dist/assets/{index.es-Cxbc9_KY.js → index.es-DlKxUtjT.js} +2 -2
- package/dist/assets/input-number-Dd7RN8Xi.js +1 -0
- package/dist/assets/{install-CmiepWqE.js → install-Fb3DxQhA.js} +1 -1
- package/dist/assets/isArrayLikeObject-C3oP_M4u.js +1 -0
- package/dist/assets/{isEqual-DskoThak.js → isEqual-C5rV1yVk.js} +1 -1
- package/dist/assets/isPlainObject-CGgFByrf.js +1 -0
- package/dist/assets/{kling-Djxngj9D.js → kling-DhO6KAYM.js} +1 -1
- package/dist/assets/{luma-CTh2s-bz.js → luma-B_KZNpJE.js} +1 -1
- package/dist/assets/{maestro-BWVH8rK9.js → maestro-Qu3rz3lU.js} +1 -1
- package/dist/assets/{midjourney-CJCRtaJo.js → midjourney-zuDgQ2wq.js} +1 -1
- package/dist/assets/mobileLocalExec-BjZ1keYb.js +2 -0
- package/dist/assets/{nanobanana-CViqYkJN.js → nanobanana-h0TC-eu5.js} +1 -1
- package/dist/assets/{openaiimage-CmyMjMun.js → openaiimage-DjtMFRIA.js} +1 -1
- package/dist/assets/{pagination-VLal2hBt.js → pagination-KeBAJwJC.js} +2 -2
- package/dist/assets/{pika-BNqst9su.js → pika-CJXeqYZK.js} +1 -1
- package/dist/assets/{pixverse-CoJgK2MU.js → pixverse-B3mTWOFM.js} +1 -1
- package/dist/assets/{popover-Diw4XVQN.js → popover-DRvVN9fq.js} +1 -1
- package/dist/assets/{producer-DGI9SeLZ.js → producer-BdGEgP4F.js} +1 -1
- package/dist/assets/progress-Cq9EP8XU.js +6 -0
- package/dist/assets/{qrart-DWla9oD2.js → qrart-C5UqWt3v.js} +1 -1
- package/dist/assets/radio-Ct6y4mt7.js +1 -0
- package/dist/assets/raf-CpfR4bbI.js +1 -0
- package/dist/assets/{realtime-Cg79A_pD.js → realtime-CkaQ0E6V.js} +1 -1
- package/dist/assets/{repeat-click-DbK3DhkT.js → repeat-click-8GwrECX2.js} +1 -1
- package/dist/assets/row-CeXHKNx1.js +1 -0
- package/dist/assets/{runtime-B1Eal4u3.js → runtime-B9nPEr1H.js} +1 -1
- package/dist/assets/{scroll-CgpW_lTC.js → scroll-CwLVgJhD.js} +1 -1
- package/dist/assets/scrollbar-BvN91jEA.js +1 -0
- package/dist/assets/{seedance-Hbh30VL7.js → seedance-DCJU9uEG.js} +1 -1
- package/dist/assets/{seedream-Ch996oj_.js → seedream-nkDLtzhK.js} +1 -1
- package/dist/assets/select-BsgY9zHv.js +1 -0
- package/dist/assets/{serp-DwqXIxSC.js → serp-cI_Pnj5s.js} +1 -1
- package/dist/assets/skeleton-DN9iOc90.js +1 -0
- package/dist/assets/slider-Cb2145L9.js +1 -0
- package/dist/assets/solana-wallets-D6fq-K76.js +2 -0
- package/dist/assets/solana-wallets-vue-l_84Vok2.js +16 -0
- package/dist/assets/{sora-eE3GEiui.js → sora-BzJNnAET.js} +1 -1
- package/dist/assets/strings-DLIOV2vJ.js +1 -0
- package/dist/assets/{suno-BCWSaZgv.js → suno-DAL6NsOc.js} +1 -1
- package/dist/assets/switch-DNetxAMk.js +1 -0
- package/dist/assets/table-D_eIHT0u.js +1 -0
- package/dist/assets/tabs-C4Z3olwU.js +1 -0
- package/dist/assets/{taskDrawerMixin-DEgO_R5H.js → taskDrawerMixin-CfysS2FH.js} +1 -1
- package/dist/assets/time-picker-CA5h8Cf-.js +1 -0
- package/dist/assets/{tooltip-rgaiblja.js → tooltip-B-kFD6cp.js} +1 -1
- package/dist/assets/upload-B9Kv8Pc6.js +1 -0
- package/dist/assets/{use-aria-QsRrwtXj.js → use-aria-DLlMMX-K.js} +1 -1
- package/dist/assets/use-deprecated-DiBc2upm.js +1 -0
- package/dist/assets/{vendor-chart-BJCvKk8-.js → vendor-chart-kBsXB1rh.js} +1 -1
- package/dist/assets/{vendor-vue-router-WDnlh53U.js → vendor-vue-router-b_5ap1Uq.js} +1 -1
- package/dist/assets/{veo-DhPIfrMG.js → veo-iBVuxs6u.js} +1 -1
- package/dist/assets/vnode-7H_ztDSN.js +1 -0
- package/dist/assets/{wan-DU_osiRT.js → wan-B-VDTHGg.js} +1 -1
- package/dist/assets/{web-3lBuaMVa.js → web-BUSMwzHe.js} +1 -1
- package/dist/assets/{web-DeuUm5Qd.js → web-DFoAEkHU.js} +1 -1
- package/dist/assets/{web-CdWDpDVw.js → web-DW0bcFEr.js} +1 -1
- package/dist/assets/{web-BPXg_Fpv.js → web-DgHUCr2l.js} +1 -1
- package/dist/assets/web-Dsjutjp7.js +1 -0
- package/dist/assets/{webextrator-C0z_oHAX.js → webextrator-DEsCmPyi.js} +1 -1
- package/dist/assets/wechat-C0HlOMYH.js +1 -0
- package/dist/index.html +11 -10
- package/package.json +1 -1
- package/dist/assets/Artifacts-LneqiJ6O.js +0 -1
- package/dist/assets/Auth-CakRD9WC.js +0 -1
- package/dist/assets/Bare-BZhiYZ26.js +0 -1
- package/dist/assets/BotPlaceholder-Dw_sVLJw.js +0 -1
- package/dist/assets/BottomFooter-DyBF9Cxo.js +0 -1
- package/dist/assets/CodeSnippet-_5UG1Jl8.js +0 -1
- package/dist/assets/Console-e0A622Vj.js +0 -1
- package/dist/assets/Consumption-LisEWUU7.js +0 -1
- package/dist/assets/Conversation-CYu4OE1t.js +0 -1
- package/dist/assets/Conversation-CzSfad-i.js +0 -1
- package/dist/assets/Detail-D4Nl9TbG.js +0 -2
- package/dist/assets/Extra-CDU7Z-Uc.js +0 -1
- package/dist/assets/Hailuo-NzfkQzok.js +0 -1
- package/dist/assets/History-BsG33JK0.js +0 -1
- package/dist/assets/ImageWrapper-D92IU4oO.js +0 -1
- package/dist/assets/Index-BA4tqoQm.js +0 -1
- package/dist/assets/Index-BKEq80AN.js +0 -1
- package/dist/assets/Index-BKvHbzBP.js +0 -1
- package/dist/assets/Index-BN5u2yoS.js +0 -2
- package/dist/assets/Index-BocmcCSj.js +0 -1
- package/dist/assets/Index-Br4vYySt.js +0 -1
- package/dist/assets/Index-C-JSOsVc.js +0 -1
- package/dist/assets/Index-CFgB3hCx.js +0 -1
- package/dist/assets/Index-CYm_pmCY.js +0 -1
- package/dist/assets/Index-CcSTKQvH.js +0 -1
- package/dist/assets/Index-CsSjWNm4.js +0 -1
- package/dist/assets/Index-D7H4Y8Ih.js +0 -1
- package/dist/assets/Index-DBKEdrVH.js +0 -1
- package/dist/assets/Index-DIMZXiJ9.js +0 -1
- package/dist/assets/Index-DOSGL17R.js +0 -1
- package/dist/assets/Index-DTCx2EKq.js +0 -1
- package/dist/assets/Index-DWoW-Ivg.js +0 -1
- package/dist/assets/Index-DaBtYrdM.js +0 -1
- package/dist/assets/Index-Di82ql1q.js +0 -1
- package/dist/assets/Index-DiHRaLJA.js +0 -1
- package/dist/assets/Index-DxhH95gO.js +0 -1
- package/dist/assets/Index-DxiH86nF.js +0 -1
- package/dist/assets/Index-DzEEnKoW.js +0 -1
- package/dist/assets/Index-LWRSTk_d.js +0 -1
- package/dist/assets/Index-MpbEDPNU.js +0 -1
- package/dist/assets/Index-cm1BQcOm.js +0 -1
- package/dist/assets/Index-ynu4UXLV.js +0 -1
- package/dist/assets/Invitees-C3OAvBkw.js +0 -1
- package/dist/assets/List-CQ_bLdhR.js +0 -1
- package/dist/assets/List-CU7PDmzz.js +0 -1
- package/dist/assets/List-Dve0Qjki.js +0 -1
- package/dist/assets/LocalTools-BfzAphe0.js +0 -1
- package/dist/assets/LocalTools-BvaRsYHH.js +0 -5
- package/dist/assets/LocalTools-Djobb3_g.css +0 -1
- package/dist/assets/Message-CXdtiMhb.js +0 -3
- package/dist/assets/Model-Df7BZ5SD.js +0 -1
- package/dist/assets/Navigator-yCAtUAfv.js +0 -4
- package/dist/assets/NoTasks-DWdVg9QS.js +0 -1
- package/dist/assets/Pagination-BdrsQW8_.js +0 -1
- package/dist/assets/Pay-tqXZCXy3.js +0 -1
- package/dist/assets/PromptTextarea-BfCJA2HA.js +0 -1
- package/dist/assets/RealtimeCall-i6K4oBHC.js +0 -1
- package/dist/assets/ScheduledTasks-BTnbJ4I8.js +0 -2
- package/dist/assets/Status-o63YNEmv.js +0 -1
- package/dist/assets/Subscribe-BBj6WLgm.js +0 -1
- package/dist/assets/Tts-CjDZkx8H.js +0 -1
- package/dist/assets/VideoPlayer-CwIXGSW_.js +0 -1
- package/dist/assets/alert-BEWiZGc3.js +0 -1
- package/dist/assets/avatar-BGQj9wdR.js +0 -1
- package/dist/assets/avatar-Chg0rxNt.js +0 -1
- package/dist/assets/card-DjyfNde2.js +0 -1
- package/dist/assets/castArray-B2xuZZNf.js +0 -1
- package/dist/assets/checkbox-BC1X4B2U.js +0 -1
- package/dist/assets/codingBridge-BdHsemo3.js +0 -2
- package/dist/assets/codingBridgeNotify-BvlLNxqw.js +0 -2
- package/dist/assets/collapse-QuORfdcK.js +0 -1
- package/dist/assets/constants-DsrifDHk.js +0 -3
- package/dist/assets/container-BgEH5azS.js +0 -1
- package/dist/assets/date-picker-BcyHdnBp.js +0 -1
- package/dist/assets/divider-LA__Fty9.js +0 -1
- package/dist/assets/drawer-D7CEvoap.js +0 -1
- package/dist/assets/dropdown-PsPDWXVz.js +0 -1
- package/dist/assets/esm-BSYAemLG.js +0 -1
- package/dist/assets/esm-Br_hkKLI.js +0 -2
- package/dist/assets/form-Bv7sT-Jn.js +0 -12
- package/dist/assets/image-y_3-ZIvf.js +0 -1
- package/dist/assets/index-OeGwM7dG.js +0 -570
- package/dist/assets/input-number-Ddv1iZno.js +0 -1
- package/dist/assets/isArrayLikeObject-DmuBX_lL.js +0 -1
- package/dist/assets/isPlainObject-CbVawdYr.js +0 -1
- package/dist/assets/progress-CQjsb6Jp.js +0 -6
- package/dist/assets/radio-3Hz7h3DR.js +0 -1
- package/dist/assets/raf-B3f5JX7L.js +0 -1
- package/dist/assets/row-CZ8rXjAi.js +0 -1
- package/dist/assets/scrollbar-DJK5Yu2_.js +0 -1
- package/dist/assets/select-nQd87bPO.js +0 -1
- package/dist/assets/skeleton-BwNBivMN.js +0 -1
- package/dist/assets/slider-BD4xInjN.js +0 -1
- package/dist/assets/solana-wallets-C49m2jWZ.js +0 -2
- package/dist/assets/solana-wallets-vue-CkDD9t1h.js +0 -16
- package/dist/assets/strings-CaTtp-gD.js +0 -1
- package/dist/assets/switch-Dea4qpWZ.js +0 -1
- package/dist/assets/table-Cwyp3b4Q.js +0 -1
- package/dist/assets/tabs-Bc5JN-lu.js +0 -1
- package/dist/assets/time-picker-DQjEjfx8.js +0 -1
- package/dist/assets/upload-X2gG9q3Q.js +0 -1
- package/dist/assets/use-deprecated-B-NFNg3W.js +0 -1
- package/dist/assets/vnode-BKrYEsqE.js +0 -1
- package/dist/assets/web-Buz2F8EE.js +0 -1
- package/dist/assets/wechat-PkpfOytf.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,A as t,B as n,D as r,E as i,Ft as a,Gt as o,H as s,Ht as c,I as l,K as u,L as d,N as f,O as p,Q as m,Rt as h,S as g,Tt as _,U as v,Vt as y,Y as b,dt as x,ft as S,kt as C,lt as w,tt as T,u as E,ut as D,v as O,xt as k,yt as ee,z as A}from"./vendor-chart-kBsXB1rh.js";import{a as j,c as M,i as N,t as P}from"./install-Fb3DxQhA.js";import{c as te,d as F,n as I,r as L,u as R}from"./runtime-B9nPEr1H.js";import{At as ne,Ct as z,R as B,_ as re,h as ie,m as V,nt as ae,ot as H,rt as U,st as W,wt as G,zt as oe}from"./use-deprecated-DiBc2upm.js";import{t as se}from"./tooltip-B-kFD6cp.js";import{r as K}from"./aria-8oQuUBWy.js";import{n as ce}from"./vnode-7H_ztDSN.js";import{t as q}from"./click-outside-D1TaQF1C.js";import{t as le}from"./collapse-transition-BmFhJ56o.js";import{A as J,Si as Y,mi as X,ui as ue}from"./index-BCK-frl7.js";var de=class{constructor(e,t){this.parent=e,this.domNode=t,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll(`li`),this.addListeners()}gotoSubIndex(e){e===this.subMenuItems.length?e=0:e<0&&(e=this.subMenuItems.length-1),this.subMenuItems[e].focus(),this.subIndex=e}addListeners(){let e=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,t=>{t.addEventListener(`keydown`,t=>{let n=!1;switch(t.code){case X.down:this.gotoSubIndex(this.subIndex+1),n=!0;break;case X.up:this.gotoSubIndex(this.subIndex-1),n=!0;break;case X.tab:K(e,`mouseleave`);break;case X.enter:case X.numpadEnter:case X.space:n=!0,t.currentTarget.click();break}return n&&(t.preventDefault(),t.stopPropagation()),!1})})}},fe=class{constructor(e,t){this.domNode=e,this.submenu=null,this.submenu=null,this.init(t)}init(e){this.domNode.setAttribute(`tabindex`,`0`);let t=this.domNode.querySelector(`.${e}-menu`);t&&(this.submenu=new de(this,t)),this.addListeners()}addListeners(){this.domNode.addEventListener(`keydown`,e=>{let t=!1;switch(e.code){case X.down:K(e.currentTarget,`mouseenter`),this.submenu&&this.submenu.gotoSubIndex(0),t=!0;break;case X.up:K(e.currentTarget,`mouseenter`),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),t=!0;break;case X.tab:K(e.currentTarget,`mouseleave`);break;case X.enter:case X.numpadEnter:case X.space:t=!0,e.currentTarget.click();break}t&&e.preventDefault()})}},pe=class{constructor(e,t){this.domNode=e,this.init(t)}init(e){let t=this.domNode.childNodes;Array.from(t).forEach(t=>{t.nodeType===1&&new fe(t,e)})}},me=j(l({...l({name:`ElMenuCollapseTransition`}),setup(e){let t=M(`menu`),n={onBeforeEnter:e=>e.style.opacity=`0.2`,onEnter(e,n){U(e,`${t.namespace.value}-opacity-transition`),e.style.opacity=`1`,n()},onAfterEnter(e){W(e,`${t.namespace.value}-opacity-transition`),e.style.opacity=``},onBeforeLeave(e){e.dataset||={},H(e,t.m(`collapse`))?(W(e,t.m(`collapse`)),e.dataset.oldOverflow=e.style.overflow,e.dataset.scrollWidth=e.clientWidth.toString(),U(e,t.m(`collapse`))):(U(e,t.m(`collapse`)),e.dataset.oldOverflow=e.style.overflow,e.dataset.scrollWidth=e.clientWidth.toString(),W(e,t.m(`collapse`))),e.style.width=`${e.scrollWidth}px`,e.style.overflow=`hidden`},onLeave(e){U(e,`horizontal-collapse-transition`),e.style.width=`${e.dataset.scrollWidth}px`}};return(e,t)=>(m(),p(E,s({mode:`out-in`},C(n)),{default:x(()=>[T(e.$slots,`default`)]),_:3},16))}}),[[`__file`,`menu-collapse-transition.vue`]]);function he(e,t){let n=i(()=>{let n=e.parent,r=[t.value];for(;n.type.name!==`ElMenu`;)n.props.index&&r.unshift(n.props.index),n=n.parent;return r});return{parentMenu:i(()=>{let t=e.parent;for(;t&&![`ElMenu`,`ElSubMenu`].includes(t.type.name);)t=t.parent;return t}),indexPath:n}}function ge(e){return i(()=>{let t=e.backgroundColor;return t?new ue(t).shade(20).toString():``})}var _e=(e,t)=>{let n=M(`menu`);return i(()=>n.cssVarBlock({"text-color":e.textColor||``,"hover-text-color":e.textColor||``,"bg-color":e.backgroundColor||``,"hover-bg-color":ge(e).value||``,"active-color":e.activeTextColor||``,level:`${t}`}))},Z=`rootMenu`,Q=`subMenu:`,ve=I({index:{type:String,required:!0},showTimeout:Number,hideTimeout:Number,popperClass:String,disabled:Boolean,teleported:{type:Boolean,default:void 0},popperOffset:Number,expandCloseIcon:{type:V},expandOpenIcon:{type:V},collapseCloseIcon:{type:V},collapseOpenIcon:{type:V}}),ye=`ElSubMenu`,be=l({name:ye,props:ve,setup(t,{slots:r,expose:a}){let o=d(),{indexPath:s,parentMenu:c}=he(o,i(()=>t.index)),l=M(`menu`),f=M(`sub-menu`),p=n(Z);p||G(ye,`can not inject root menu`);let m=n(`${Q}${c.value.uid}`);m||G(ye,`can not inject sub menu`);let h=k({}),_=k({}),v,x=k(!1),C=k(),T=k(),E=i(()=>L.value===`horizontal`&&j.value?`bottom-start`:`right-start`),D=i(()=>L.value===`horizontal`&&j.value||L.value===`vertical`&&!p.props.collapse?t.expandCloseIcon&&t.expandOpenIcon?F.value?t.expandOpenIcon:t.expandCloseIcon:ie:t.collapseCloseIcon&&t.collapseOpenIcon?F.value?t.collapseOpenIcon:t.collapseCloseIcon:re),j=i(()=>m.level===0),N=i(()=>{let e=t.teleported;return R(e)?j.value:e}),P=i(()=>p.props.collapse?`${l.namespace.value}-zoom-in-left`:`${l.namespace.value}-zoom-in-top`),te=i(()=>L.value===`horizontal`&&j.value?[`bottom-start`,`bottom-end`,`top-start`,`top-end`,`right-start`,`left-start`]:[`right-start`,`right`,`right-end`,`left-start`,`bottom-start`,`bottom-end`,`top-start`,`top-end`]),F=i(()=>p.openedMenus.includes(t.index)),I=i(()=>[...Object.values(h.value),...Object.values(_.value)].some(({active:e})=>e)),L=i(()=>p.props.mode),ne=i(()=>p.props.persistent),z=ee({index:t.index,indexPath:s,active:I}),B=_e(p.props,m.level+1),V=i(()=>t.popperOffset??p.props.popperOffset),H=i(()=>t.popperClass??p.props.popperClass),U=i(()=>t.showTimeout??p.props.showTimeout),W=i(()=>t.hideTimeout??p.props.hideTimeout),K=()=>(T.value?.popperRef?.popperInstanceRef)?.destroy(),ce=e=>{e||K()},q=()=>{p.props.menuTrigger===`hover`&&p.props.mode===`horizontal`||p.props.collapse&&p.props.mode===`vertical`||t.disabled||p.handleSubMenuClick({index:t.index,indexPath:s.value,active:I.value})},J=(e,n=U.value)=>{var r;if(e.type!==`focus`){if(p.props.menuTrigger===`click`&&p.props.mode===`horizontal`||!p.props.collapse&&p.props.mode===`vertical`||t.disabled){m.mouseInChild.value=!0;return}m.mouseInChild.value=!0,v?.(),{stop:v}=oe(()=>{p.openMenu(t.index,s.value)},n),N.value&&((r=c.value.vnode.el)==null||r.dispatchEvent(new MouseEvent(`mouseenter`)))}},Y=(e=!1)=>{var n;if(p.props.menuTrigger===`click`&&p.props.mode===`horizontal`||!p.props.collapse&&p.props.mode===`vertical`){m.mouseInChild.value=!1;return}v?.(),m.mouseInChild.value=!1,{stop:v}=oe(()=>!x.value&&p.closeMenu(t.index,s.value),W.value),N.value&&e&&((n=m.handleMouseleave)==null||n.call(m,!0))};return w(()=>p.props.collapse,e=>ce(!!e)),e(`${Q}${o.uid}`,{addSubMenu:e=>{_.value[e.index]=e},removeSubMenu:e=>{delete _.value[e.index]},handleMouseleave:Y,mouseInChild:x,level:m.level+1}),a({opened:F}),b(()=>{p.addSubMenu(z),m.addSubMenu(z)}),u(()=>{m.removeSubMenu(z),p.removeSubMenu(z)}),()=>{let e=[r.title?.call(r),A(ae,{class:f.e(`icon-arrow`),style:{transform:F.value?t.expandCloseIcon&&t.expandOpenIcon||t.collapseCloseIcon&&t.collapseOpenIcon&&p.props.collapse?`none`:`rotateZ(180deg)`:`none`}},{default:()=>y(D.value)?A(o.appContext.components[D.value]):A(D.value)})],n=p.isMenuPopup?A(se,{ref:T,visible:F.value,effect:`light`,pure:!0,offset:V.value,showArrow:!1,persistent:ne.value,popperClass:H.value,placement:E.value,teleported:N.value,fallbackPlacements:te.value,transition:P.value,gpuAcceleration:!1},{content:()=>A(`div`,{class:[l.m(L.value),l.m(`popup-container`),H.value],onMouseenter:e=>J(e,100),onMouseleave:()=>Y(!0),onFocus:e=>J(e,100)},[A(`ul`,{class:[l.b(),l.m(`popup`),l.m(`popup-${E.value}`)],style:B.value},[r.default?.call(r)])]),default:()=>A(`div`,{class:f.e(`title`),onClick:q},e)}):A(g,{},[A(`div`,{class:f.e(`title`),ref:C,onClick:q},e),A(le,{},{default:()=>S(A(`ul`,{role:`menu`,class:[l.b(),l.m(`inline`)],style:B.value},[r.default?.call(r)]),[[O,F.value]])})]);return A(`li`,{class:[f.b(),f.is(`active`,I.value),f.is(`opened`,F.value),f.is(`disabled`,t.disabled)],role:`menuitem`,ariaHaspopup:!0,ariaExpanded:F.value,onMouseenter:J,onMouseleave:()=>Y(),onFocus:J},[n])}}}),xe=I({mode:{type:String,values:[`horizontal`,`vertical`],default:`vertical`},defaultActive:{type:String,default:``},defaultOpeneds:{type:L(Array),default:()=>Y([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:[`hover`,`click`],default:`hover`},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,closeOnClickOutside:Boolean,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0},popperOffset:{type:Number,default:6},ellipsisIcon:{type:V,default:()=>B},popperEffect:{type:L(String),default:`dark`},popperClass:String,showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300},persistent:{type:Boolean,default:!0}}),Se=e=>a(e)&&e.every(e=>y(e)),Ce=l({name:`ElMenu`,props:xe,emits:{close:(e,t)=>y(e)&&Se(t),open:(e,t)=>y(e)&&Se(t),select:(e,t,n,r)=>y(e)&&Se(t)&&h(n)&&(R(r)||r instanceof Promise)},setup(t,{emit:n,slots:r,expose:a}){let o=d(),s=o.appContext.config.globalProperties.$router,c=k(),l=M(`menu`),u=M(`sub-menu`),f=k(-1),p=k(t.defaultOpeneds&&!t.collapse?t.defaultOpeneds.slice(0):[]),m=k(t.defaultActive),h=k({}),g=k({}),_=i(()=>t.mode===`horizontal`||t.mode===`vertical`&&t.collapse),y=()=>{let e=m.value&&h.value[m.value];!e||t.mode===`horizontal`||t.collapse||e.indexPath.forEach(e=>{let t=g.value[e];t&&x(e,t.indexPath)})},x=(e,r)=>{p.value.includes(e)||(t.uniqueOpened&&(p.value=p.value.filter(e=>r.includes(e))),p.value.push(e),n(`open`,e,r))},C=e=>{let t=p.value.indexOf(e);t!==-1&&p.value.splice(t,1)},T=(e,t)=>{C(e),n(`close`,e,t)},E=({index:e,indexPath:t})=>{p.value.includes(e)?T(e,t):x(e,t)},O=e=>{(t.mode===`horizontal`||t.collapse)&&(p.value=[]);let{index:r,indexPath:i}=e;if(!(F(r)||F(i)))if(t.router&&s){let t=e.route||r,a=s.push(t).then(e=>(e||(m.value=r),e));n(`select`,r,i,{index:r,indexPath:i,route:t},a)}else m.value=r,n(`select`,r,i,{index:r,indexPath:i})},j=e=>{let n=h.value;m.value=(n[e]||m.value&&n[m.value]||n[t.defaultActive])?.index??e},N=e=>{let t=getComputedStyle(e),n=Number.parseInt(t.marginLeft,10),r=Number.parseInt(t.marginRight,10);return e.offsetWidth+n+r||0},P=()=>{if(!c.value)return-1;let e=Array.from(c.value?.childNodes??[]).filter(e=>e.nodeName!==`#text`||e.nodeValue),t=getComputedStyle(c.value),n=Number.parseInt(t.paddingLeft,10),r=Number.parseInt(t.paddingRight,10),i=c.value.clientWidth-n-r,a=0,o=0;return e.forEach((e,t)=>{e.nodeName!==`#comment`&&(a+=N(e),a<=i-64&&(o=t+1))}),o===e.length?-1:o},te=e=>g.value[e].indexPath,I=(e,t=33.34)=>{let n;return()=>{n&&clearTimeout(n),n=setTimeout(()=>{e()},t)}},L=!0,R=()=>{if(f.value===P())return;let e=()=>{f.value=-1,v(()=>{f.value=P()})};L?e():I(e)(),L=!1};w(()=>t.defaultActive,e=>{h.value[e]||(m.value=``),j(e)}),w(()=>t.collapse,e=>{e&&(p.value=[])}),w(h.value,y);let z;D(()=>{t.mode===`horizontal`&&t.ellipsis?z=ne(c,R).stop:z?.()});let B=k(!1);{let n=e=>{g.value[e.index]=e},r=e=>{delete g.value[e.index]};e(Z,ee({props:t,openedMenus:p,items:h,subMenus:g,activeIndex:m,isMenuPopup:_,addMenuItem:e=>{h.value[e.index]=e},removeMenuItem:e=>{delete h.value[e.index]},addSubMenu:n,removeSubMenu:r,openMenu:x,closeMenu:T,handleMenuItemClick:O,handleSubMenuClick:E})),e(`${Q}${o.uid}`,{addSubMenu:n,removeSubMenu:r,mouseInChild:B,level:0})}b(()=>{t.mode===`horizontal`&&new pe(o.vnode.el,l.namespace.value)}),a({open:e=>{let{indexPath:t}=g.value[e];t.forEach(e=>x(e,t))},close:C,updateActiveIndex:j,handleResize:R});let re=_e(t,0);return()=>{let e=r.default?.call(r)??[],i=[];if(t.mode===`horizontal`&&c.value){let n=ce(e),r=f.value===-1?n:n.slice(0,f.value),a=f.value===-1?[]:n.slice(f.value);a?.length&&t.ellipsis&&(e=r,i.push(A(be,{index:`sub-menu-more`,class:u.e(`hide-arrow`),popperOffset:t.popperOffset},{title:()=>A(ae,{class:u.e(`icon-more`)},{default:()=>A(t.ellipsisIcon)}),default:()=>a})))}let a=t.closeOnClickOutside?[[q,()=>{p.value.length&&(B.value||(p.value.forEach(e=>n(`close`,e,te(e))),p.value=[]))}]]:[],o=S(A(`ul`,{key:String(t.collapse),role:`menubar`,ref:c,style:re.value,class:{[l.b()]:!0,[l.m(t.mode)]:!0,[l.m(`collapse`)]:t.collapse}},[...e,...i]),a);return t.collapseTransition&&t.mode===`vertical`?A(me,()=>o):o}}}),we=I({index:{type:L([String,null]),default:null},route:{type:L([String,Object])},disabled:Boolean}),Te={click:e=>y(e.index)&&a(e.indexPath)},$=`ElMenuItem`,Ee=j(l({...l({name:$}),props:we,emits:Te,setup(e,{expose:a,emit:o}){let s=e;te(s.index)&&z($,`Missing required prop: "index"`);let l=d(),f=n(Z),h=M(`menu`),v=M(`menu-item`);f||G($,`can not inject root menu`);let{parentMenu:y,indexPath:S}=he(l,_(s,`index`)),w=n(`${Q}${y.value.uid}`);w||G($,`can not inject sub menu`);let E=i(()=>s.index===f.activeIndex),D=ee({index:s.index,indexPath:S,active:E}),O=()=>{s.disabled||(f.handleMenuItemClick({index:s.index,indexPath:S.value,route:s.route}),o(`click`,D))};return b(()=>{w.addSubMenu(D),f.addMenuItem(D)}),u(()=>{w.removeSubMenu(D),f.removeMenuItem(D)}),a({parentMenu:y,rootMenu:f,active:E,nsMenu:h,nsMenuItem:v,handleClick:O}),(e,n)=>(m(),t(`li`,{class:c([C(v).b(),C(v).is(`active`,C(E)),C(v).is(`disabled`,e.disabled)]),role:`menuitem`,tabindex:`-1`,onClick:O},[C(y).type.name===`ElMenu`&&C(f).props.collapse&&e.$slots.title?(m(),p(C(se),{key:0,effect:C(f).props.popperEffect,placement:`right`,"fallback-placements":[`left`],persistent:C(f).props.persistent},{content:x(()=>[T(e.$slots,`title`)]),default:x(()=>[r(`div`,{class:c(C(h).be(`tooltip`,`trigger`))},[T(e.$slots,`default`)],2)]),_:3},8,[`effect`,`persistent`])):(m(),t(g,{key:1},[T(e.$slots,`default`),T(e.$slots,`title`)],64))],2))}}),[[`__file`,`menu-item.vue`]]),De={title:String},Oe=j(l({...l({name:`ElMenuItemGroup`}),props:De,setup(e){let n=M(`menu-item-group`);return(e,i)=>(m(),t(`li`,{class:c(C(n).b())},[r(`div`,{class:c(C(n).e(`title`))},[e.$slots.title?T(e.$slots,`title`,{key:1}):(m(),t(g,{key:0},[f(o(e.title),1)],64))],2),r(`ul`,null,[T(e.$slots,`default`)])],2))}}),[[`__file`,`menu-item-group.vue`]]),ke=P(Ce,{MenuItem:Ee,MenuItemGroup:Oe,SubMenu:be}),Ae=N(Ee);N(Oe);var je=N(be),Me=l({props:{collapsed:{type:Boolean,default:!1}},emits:[`click`],computed:{siteTitle(){return this.$store.state.site?.title||`AceData`},url(){let e=this.$store.state.site,t=`https://platform.acedata.cloud/favicon.ico`;return this.collapsed?e?.favicon||e?.logo||t:e?.logo||e?.favicon||t}}}),Ne=[`aria-label`],Pe=[`src`,`alt`];function Fe(e,n,i,a,o,s){return m(),t(`button`,{type:`button`,class:`brand-logo`,"aria-label":e.siteTitle,onClick:n[0]||=t=>e.$emit(`click`)},[r(`img`,{src:e.url,class:`brand-logo__image`,alt:e.siteTitle},null,8,Pe)],8,Ne)}var Ie=J(Me,[[`render`,Fe],[`__scopeId`,`data-v-fefbbe27`]]),Le=`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==`;export{je as a,Ae as i,Ie as n,ke as r,Le as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,E as t,Ht as n,I as r,O as i,Q as a,Vt as o,Wt as s,dt as c,it as l,kt as u,lt as d,tt as f,xt as p}from"./vendor-chart-kBsXB1rh.js";import{a as m,c as h,t as g}from"./install-Fb3DxQhA.js";import{n as _,r as v,s as y}from"./runtime-B9nPEr1H.js";import{_t as b,it as x,m as S,nt as C}from"./use-deprecated-DiBc2upm.js";var w=_({size:{type:[Number,String],values:b,default:``,validator:e=>y(e)},shape:{type:String,values:[`circle`,`square`],default:`circle`},icon:{type:S},src:{type:String,default:``},alt:String,srcSet:String,fit:{type:v(String),default:`cover`}}),T={error:e=>e instanceof Event},E=g(m(r({...r({name:`ElAvatar`}),props:w,emits:T,setup(r,{emit:m}){let g=r,_=h(`avatar`),v=p(!1),b=t(()=>{let{size:e,icon:t,shape:n}=g,r=[_.b()];return o(e)&&r.push(_.m(e)),t&&r.push(_.m(`icon`)),n&&r.push(_.m(n)),r}),S=t(()=>{let{size:e}=g;return y(e)?_.cssVarBlock({size:x(e)||``}):void 0}),w=t(()=>({objectFit:g.fit}));d(()=>g.src,()=>v.value=!1);function T(e){v.value=!0,m(`error`,e)}return(t,r)=>(a(),e(`span`,{class:n(u(b)),style:s(u(S))},[(t.src||t.srcSet)&&!v.value?(a(),e(`img`,{key:0,src:t.src,alt:t.alt,srcset:t.srcSet,style:s(u(w)),onError:T},null,44,[`src`,`alt`,`srcset`])):t.icon?(a(),i(u(C),{key:1},{default:c(()=>[(a(),i(l(t.icon)))]),_:1})):f(t.$slots,`default`,{key:2})],6))}}),[[`__file`,`avatar.vue`]]));export{E as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as e,t}from"./rolldown-runtime--c01j_DQ.js";import{Rt as n}from"./index-
|
|
1
|
+
import{o as e,t}from"./rolldown-runtime--c01j_DQ.js";import{Rt as n}from"./index-BCK-frl7.js";import{i as r,l as i,n as a,o,t as s}from"./lit-Czpkz5lw.js";import{a as c,i as l,n as u,o as d,r as f,t as p}from"./wui-text-IdpNh4yv.js";import{$ as m,G as h,H as g,J as _,K as v,Q as ee,U as y,W as b,X as x,Y as S,Z as C,a as w,et as te,g as T,i as ne,n as E,p as re,r as D,s as O,u as ie,v as ae}from"./ConstantsUtil-CiJQ7E9o.js";import{n as oe,t as se}from"./ConnectorUtil-BNHqGaBo.js";var ce=i`
|
|
2
2
|
:host {
|
|
3
3
|
position: relative;
|
|
4
4
|
background-color: var(--wui-color-gray-glass-002);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,D as t,Gt as n,Ht as r,I as i,N as a,Q as o,Wt as s,k as c,kt as l,tt as u}from"./vendor-chart-kBsXB1rh.js";import{a as d,c as f,t as p}from"./install-Fb3DxQhA.js";import{n as m,r as h}from"./runtime-B9nPEr1H.js";var g=m({header:{type:String,default:``},footer:{type:String,default:``},bodyStyle:{type:h([String,Object,Array]),default:``},headerClass:String,bodyClass:String,footerClass:String,shadow:{type:String,values:[`always`,`hover`,`never`],default:`always`}}),_=p(d(i({...i({name:`ElCard`}),props:g,setup(i){let d=f(`card`);return(i,f)=>(o(),e(`div`,{class:r([l(d).b(),l(d).is(`${i.shadow}-shadow`)])},[i.$slots.header||i.header?(o(),e(`div`,{key:0,class:r([l(d).e(`header`),i.headerClass])},[u(i.$slots,`header`,{},()=>[a(n(i.header),1)])],2)):c(`v-if`,!0),t(`div`,{class:r([l(d).e(`body`),i.bodyClass]),style:s(i.bodyStyle)},[u(i.$slots,`default`)],6),i.$slots.footer||i.footer?(o(),e(`div`,{key:1,class:r([l(d).e(`footer`),i.footerClass])},[u(i.$slots,`footer`,{},()=>[a(n(i.footer),1)])],2)):c(`v-if`,!0)],2))}}),[[`__file`,`card.vue`]]));export{_ as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Qt as e}from"./use-deprecated-DiBc2upm.js";function t(){if(!arguments.length)return[];var t=arguments[0];return e(t)?t:[t]}export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Bi as e}from"./constants-
|
|
1
|
+
import{Bi as e}from"./constants-CwUz8kpJ.js";import{Fn as t,Gn as n,Lr as r,Pn as i,qn as a,wr as o}from"./index-BCK-frl7.js";var s={namespaced:!0,state:o,mutations:{setModel:(e,t)=>{e.model=t},setModelGroup:(e,t)=>{e.modelGroup=t},setService:(e,t)=>{e.service=t},setCredential:(e,t)=>{e.credential=t},setConversations:(e,t)=>{e.conversations=t},setApplication:(e,t)=>{e.application=t},setApplications:(e,t)=>{e.applications=t},setPendingDraft:(e,t)=>{e.pendingDraft=t||``},resetAll:e=>{Object.assign(e,o())}},actions:{resetAll:({commit:e})=>{e(`resetAll`)},createCredential:async({commit:e,state:t})=>{let n=t.application;if(console.debug(`prepare to create credential for application for chat`,n),!n){console.error(`Application not found`);return}console.debug(`creating create credential for application for chat`,n);let{data:r}=await i.create({application_id:n?.id,host:window.location.origin});return console.debug(`created credential success`,r),e(`setCredential`,r),console.debug(`end createCredential`),r},setModel:async({commit:e},t)=>{e(`setModel`,t)},setModelGroup:async({commit:e},t)=>{e(`setModelGroup`,t)},getService:async({commit:n,state:i})=>{i.status.getService=r.Request;try{let{data:a}=await t.get(e);return i.status.getService=r.Success,n(`setService`,a),a}catch{i.status.getService=r.Error,n(`setService`,void 0)}},setService:async({commit:e},t)=>{console.debug(`set service for chat`,t),e(`setService`,t)},setCredential:async({commit:e},t)=>{console.debug(`set credential`,t),e(`setCredential`,t)},setApplication:async({commit:e,dispatch:t,rootState:n},r)=>{if(console.debug(`set application`,r),e(`setApplication`,r),console.debug(`application is set`),!r){console.debug(`application is null, return`);return}let i=n?.user?.id,a=r?.role===`grantee`,o=r?.credentials?.find(e=>e?.host===window.location.origin);!o&&a&&(o=r?.credentials?.find(e=>e?.user_id===i)),o?(console.debug(`credential exists, set credential`,o),e(`setCredential`,o)):a?(console.warn(`no credential available for granted application`,r),e(`setCredential`,void 0)):(console.debug(`credential not exists, start to create credential for application`,r),await t(`createCredential`))},setApplications:async({commit:e},t)=>{console.debug(`set applications for chat`,t),e(`setApplications`,t)},getApplications:async({commit:t,state:n,rootState:i})=>{if(console.debug(`start to get applications for chat`),!i?.token?.access)return n.status.getApplications=r.Success,t(`setApplications`,[]),t(`setApplication`,void 0),t(`setCredential`,void 0),[];n.status.getApplications=r.Request;try{let{data:i}=await a.getAll({user_id:`me`,service_id:e,affiliation:[`owner`,`granted`]});return console.debug(`get applications success for chat`,i),n.status.getApplications=r.Success,t(`setApplications`,i.items),console.debug(`set applications for chat`,i.items),i.items}catch(e){console.error(`get applications failed for chat`,e),n.status.getApplications=r.Error,t(`setApplications`,void 0),t(`setApplication`,void 0)}},setConversation:async({commit:e,state:t},n)=>{console.debug(`set conversation`,n);let r=t.conversations||[],i=r?.findIndex(e=>e.id===n.id);i>-1?r[i]=n:r?.unshift(n),e(`setConversations`,r),console.debug(`set conversation success`,r)},setConversations:async({commit:e},t)=>{console.debug(`set conversations`,t),e(`setConversations`,t)},getConversations:async({commit:e,state:t,rootState:i})=>{t.status.getConversations=r.Request;let a=t.credential?.token,o=t.modelGroup?.name;if(!a||!o)return t.status.getConversations=r.Error,e(`setConversations`,[]),[];try{let{data:s}=await n.getConversations({userId:i.user?.id,modelGroup:o},{token:a});return console.debug(`get conversations success`,s?.items?.length,`group=`,o),t.status.getConversations=r.Success,e(`setConversations`,s.items),s.items}catch{return t.status.getConversations=r.Error,e(`setConversations`,[]),[]}},getConversation:async({commit:e,state:t},r)=>{let i=t.credential?.token;if(!(!i||!r))try{let{data:a}=await n.getConversation(r,{token:i}),o=t.conversations||[],s=o.findIndex(e=>e.id===r),c=s>-1?{...o[s],...a}:a;if(s>-1){let t=[...o];t[s]=c,e(`setConversations`,t)}return c}catch(e){console.error(`getConversation failed`,r,e);return}}}};export{s as chat,s as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,A as t,B as n,D as r,E as i,Et as a,Ft as o,Gt as s,Ht as c,I as l,L as u,N as d,O as f,Q as p,Rt as m,S as h,U as g,Vt as _,Wt as v,b as y,dt as b,ft as x,gt as S,h as C,it as w,k as T,kt as E,lt as D,st as O,tt as k,wt as A,xt as j}from"./vendor-chart-kBsXB1rh.js";import{a as M,c as N,i as P,t as F}from"./install-Fb3DxQhA.js";import{c as I,i as L,n as ee,r as te,s as R,u as z}from"./runtime-B9nPEr1H.js";import{Ct as B,a as V,gt as H,i as U,n as ne,r as W,t as G}from"./use-deprecated-DiBc2upm.js";import{n as re,t as K}from"./use-aria-DLlMMX-K.js";import{t as ie}from"./isEqual-C5rV1yVk.js";import{r as q,t as J}from"./event-BGnHezxC.js";var Y={modelValue:{type:[Number,String,Boolean],default:void 0},label:{type:[String,Boolean,Number,Object],default:void 0},value:{type:[String,Boolean,Number,Object],default:void 0},indeterminate:Boolean,disabled:Boolean,checked:Boolean,name:{type:String,default:void 0},trueValue:{type:[String,Number],default:void 0},falseValue:{type:[String,Number],default:void 0},trueLabel:{type:[String,Number],default:void 0},falseLabel:{type:[String,Number],default:void 0},id:{type:String,default:void 0},border:Boolean,size:H,tabindex:[String,Number],validateEvent:{type:Boolean,default:!0},...K([`ariaControls`])},X={[q]:e=>_(e)||R(e)||L(e),change:e=>_(e)||R(e)||L(e)},Z=Symbol(`checkboxGroupContextKey`),ae=({model:e,isChecked:t})=>{let r=n(Z,void 0),a=i(()=>{let n=r?.max?.value,i=r?.min?.value;return!z(n)&&e.value.length>=n&&!t.value||!z(i)&&e.value.length<=i&&t.value});return{isDisabled:ne(i(()=>r?.disabled.value||a.value)),isLimitDisabled:a}},oe=(e,{model:t,isLimitExceeded:r,hasOwnLabel:a,isDisabled:o,isLabeledByFormItem:s})=>{let c=n(Z,void 0),{formItem:l}=U(),{emit:d}=u();function f(t){return[!0,e.trueValue,e.trueLabel].includes(t)?e.trueValue??e.trueLabel??!0:e.falseValue??e.falseLabel??!1}function p(e,t){d(J,f(e),t)}function m(e){if(r.value)return;let t=e.target;d(J,f(t.checked),e)}async function h(n){r.value||!a.value&&!o.value&&s.value&&(n.composedPath().some(e=>e.tagName===`LABEL`)||(t.value=f([!1,e.falseValue,e.falseLabel].includes(t.value)),await g(),p(t.value,n)))}let _=i(()=>c?.validateEvent||e.validateEvent);return D(()=>e.modelValue,()=>{_.value&&l?.validate(`change`).catch(e=>B(e))}),{handleChange:m,onClickRoot:h}},se=e=>{let t=j(!1),{emit:r}=u(),a=n(Z,void 0),s=i(()=>z(a)===!1),c=j(!1),l=i({get(){return s.value?a?.modelValue?.value:e.modelValue??t.value},set(e){var n;s.value&&o(e)?(c.value=a?.max?.value!==void 0&&e.length>a?.max.value&&e.length>l.value.length,c.value===!1&&((n=a?.changeEvent)==null||n.call(a,e))):(r(q,e),t.value=e)}});return{model:l,isGroup:s,isLimitExceeded:c}},ce=(e,t,{model:r})=>{let a=n(Z,void 0),s=j(!1),c=i(()=>I(e.value)?e.label:e.value),l=i(()=>{let t=r.value;return L(t)?t:o(t)?m(c.value)?t.map(A).some(e=>ie(e,c.value)):t.map(A).includes(c.value):t==null?!!t:t===e.trueValue||t===e.trueLabel});return{checkboxButtonSize:W(i(()=>a?.size?.value),{prop:!0}),isChecked:l,isFocused:s,checkboxSize:W(i(()=>a?.size?.value)),hasOwnLabel:i(()=>!!t.default||!I(c.value)),actualValue:c}},Q=(e,t)=>{let{formItem:n}=U(),{model:r,isGroup:a,isLimitExceeded:s}=se(e),{isFocused:c,isChecked:l,checkboxButtonSize:u,checkboxSize:d,hasOwnLabel:f,actualValue:p}=ce(e,t,{model:r}),{isDisabled:m}=ae({model:r,isChecked:l}),{inputId:h,isLabeledByFormItem:g}=V(e,{formItemContext:n,disableIdGeneration:f,disableIdManagement:a}),{handleChange:_,onClickRoot:v}=oe(e,{model:r,isLimitExceeded:s,hasOwnLabel:f,isDisabled:m,isLabeledByFormItem:g});return(()=>{function t(){o(r.value)&&!r.value.includes(p.value)?r.value.push(p.value):r.value=e.trueValue??e.trueLabel??!0}e.checked&&t()})(),G({from:`label act as value`,replacement:`value`,version:`3.0.0`,scope:`el-checkbox`,ref:`https://element-plus.org/en-US/component/checkbox.html`},i(()=>a.value&&I(e.value))),G({from:`true-label`,replacement:`true-value`,version:`3.0.0`,scope:`el-checkbox`,ref:`https://element-plus.org/en-US/component/checkbox.html`},i(()=>!!e.trueLabel)),G({from:`false-label`,replacement:`false-value`,version:`3.0.0`,scope:`el-checkbox`,ref:`https://element-plus.org/en-US/component/checkbox.html`},i(()=>!!e.falseLabel)),{inputId:h,isLabeledByFormItem:g,isChecked:l,isDisabled:m,isFocused:c,checkboxButtonSize:u,checkboxSize:d,hasOwnLabel:f,model:r,actualValue:p,handleChange:_,onClickRoot:v}},le=M(l({...l({name:`ElCheckbox`}),props:Y,emits:X,setup(e){let n=e,{inputId:a,isLabeledByFormItem:o,isChecked:l,isDisabled:u,isFocused:m,checkboxSize:g,hasOwnLabel:_,model:v,actualValue:D,handleChange:A,onClickRoot:j}=Q(n,O()),M=N(`checkbox`),P=i(()=>[M.b(),M.m(g.value),M.is(`disabled`,u.value),M.is(`bordered`,n.border),M.is(`checked`,l.value)]),F=i(()=>[M.e(`input`),M.is(`disabled`,u.value),M.is(`checked`,l.value),M.is(`indeterminate`,n.indeterminate),M.is(`focus`,m.value)]);return(e,n)=>(p(),f(w(!E(_)&&E(o)?`span`:`label`),{class:c(E(P)),"aria-controls":e.indeterminate?e.ariaControls:null,onClick:E(j)},{default:b(()=>[r(`span`,{class:c(E(F))},[e.trueValue||e.falseValue||e.trueLabel||e.falseLabel?x((p(),t(`input`,{key:0,id:E(a),"onUpdate:modelValue":e=>S(v)?v.value=e:null,class:c(E(M).e(`original`)),type:`checkbox`,indeterminate:e.indeterminate,name:e.name,tabindex:e.tabindex,disabled:E(u),"true-value":e.trueValue??e.trueLabel??!0,"false-value":e.falseValue??e.falseLabel??!1,onChange:E(A),onFocus:e=>m.value=!0,onBlur:e=>m.value=!1,onClick:y(()=>{},[`stop`])},null,42,[`id`,`onUpdate:modelValue`,`indeterminate`,`name`,`tabindex`,`disabled`,`true-value`,`false-value`,`onChange`,`onFocus`,`onBlur`,`onClick`])),[[C,E(v)]]):x((p(),t(`input`,{key:1,id:E(a),"onUpdate:modelValue":e=>S(v)?v.value=e:null,class:c(E(M).e(`original`)),type:`checkbox`,indeterminate:e.indeterminate,disabled:E(u),value:E(D),name:e.name,tabindex:e.tabindex,onChange:E(A),onFocus:e=>m.value=!0,onBlur:e=>m.value=!1,onClick:y(()=>{},[`stop`])},null,42,[`id`,`onUpdate:modelValue`,`indeterminate`,`disabled`,`value`,`name`,`tabindex`,`onChange`,`onFocus`,`onBlur`,`onClick`])),[[C,E(v)]]),r(`span`,{class:c(E(M).e(`inner`))},null,2)],2),E(_)?(p(),t(`span`,{key:0,class:c(E(M).e(`label`))},[k(e.$slots,`default`),e.$slots.default?T(`v-if`,!0):(p(),t(h,{key:0},[d(s(e.label),1)],64))],2)):T(`v-if`,!0)]),_:3},8,[`class`,`aria-controls`,`onClick`]))}}),[[`__file`,`checkbox.vue`]]),$=M(l({...l({name:`ElCheckboxButton`}),props:Y,emits:X,setup(e){let{isFocused:r,isChecked:a,isDisabled:o,checkboxButtonSize:l,model:u,actualValue:f,handleChange:m}=Q(e,O()),h=n(Z,void 0),g=N(`checkbox`),_=i(()=>{let e=h?.fill?.value??``;return{backgroundColor:e,borderColor:e,color:h?.textColor?.value??``,boxShadow:e?`-1px 0 0 0 ${e}`:void 0}}),b=i(()=>[g.b(`button`),g.bm(`button`,l.value),g.is(`disabled`,o.value),g.is(`checked`,a.value),g.is(`focus`,r.value)]);return(e,n)=>(p(),t(`label`,{class:c(E(b))},[e.trueValue||e.falseValue||e.trueLabel||e.falseLabel?x((p(),t(`input`,{key:0,"onUpdate:modelValue":e=>S(u)?u.value=e:null,class:c(E(g).be(`button`,`original`)),type:`checkbox`,name:e.name,tabindex:e.tabindex,disabled:E(o),"true-value":e.trueValue??e.trueLabel??!0,"false-value":e.falseValue??e.falseLabel??!1,onChange:E(m),onFocus:e=>r.value=!0,onBlur:e=>r.value=!1,onClick:y(()=>{},[`stop`])},null,42,[`onUpdate:modelValue`,`name`,`tabindex`,`disabled`,`true-value`,`false-value`,`onChange`,`onFocus`,`onBlur`,`onClick`])),[[C,E(u)]]):x((p(),t(`input`,{key:1,"onUpdate:modelValue":e=>S(u)?u.value=e:null,class:c(E(g).be(`button`,`original`)),type:`checkbox`,name:e.name,tabindex:e.tabindex,disabled:E(o),value:E(f),onChange:E(m),onFocus:e=>r.value=!0,onBlur:e=>r.value=!1,onClick:y(()=>{},[`stop`])},null,42,[`onUpdate:modelValue`,`name`,`tabindex`,`disabled`,`value`,`onChange`,`onFocus`,`onBlur`,`onClick`])),[[C,E(u)]]),e.$slots.default||e.label?(p(),t(`span`,{key:2,class:c(E(g).be(`button`,`inner`)),style:v(E(a)?E(_):void 0)},[k(e.$slots,`default`,{},()=>[d(s(e.label),1)])],6)):T(`v-if`,!0)],2))}}),[[`__file`,`checkbox-button.vue`]]),ue=ee({modelValue:{type:te(Array),default:()=>[]},disabled:Boolean,min:Number,max:Number,size:H,fill:String,textColor:String,tag:{type:String,default:`div`},validateEvent:{type:Boolean,default:!0},...K([`ariaLabel`])}),de={[q]:e=>o(e),change:e=>o(e)},fe=M(l({...l({name:`ElCheckboxGroup`}),props:ue,emits:de,setup(t,{emit:n}){let r=t,o=N(`checkbox`),{formItem:s}=U(),{inputId:l,isLabeledByFormItem:u}=V(r,{formItemContext:s}),d=async e=>{n(q,e),await g(),n(J,e)},m=i({get(){return r.modelValue},set(e){d(e)}});return e(Z,{...re(a(r),[`size`,`min`,`max`,`disabled`,`validateEvent`,`fill`,`textColor`]),modelValue:m,changeEvent:d}),D(()=>r.modelValue,()=>{r.validateEvent&&s?.validate(`change`).catch(e=>B(e))}),(e,t)=>(p(),f(w(e.tag),{id:E(l),class:c(E(o).b(`group`)),role:`group`,"aria-label":E(u)?void 0:e.ariaLabel||`checkbox-group`,"aria-labelledby":E(u)?E(s)?.labelId:void 0},{default:b(()=>[k(e.$slots,`default`)]),_:3},8,[`id`,`class`,`aria-label`,`aria-labelledby`]))}}),[[`__file`,`checkbox-group.vue`]]),pe=F(le,{CheckboxButton:$,CheckboxGroup:fe});P($);var me=P(fe);export{me as n,pe as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Ft as e}from"./vendor-chart-kBsXB1rh.js";import{a as t}from"./runtime-B9nPEr1H.js";import{Pt as n}from"./use-deprecated-DiBc2upm.js";var r=new Map;if(n){let e;document.addEventListener(`mousedown`,t=>e=t),document.addEventListener(`mouseup`,t=>{if(e){for(let n of r.values())for(let{documentHandler:r}of n)r(t,e);e=void 0}})}function i(n,r){let i=[];return e(r.arg)?i=r.arg:t(r.arg)&&i.push(r.arg),function(e,t){let a=r.instance.popperRef,o=e.target,s=t?.target,c=!r||!r.instance,l=!o||!s,u=n.contains(o)||n.contains(s),d=n===o,f=i.length&&i.some(e=>e?.contains(o))||i.length&&i.includes(s),p=a&&(a.contains(o)||a.contains(s));c||l||u||d||f||p||r.value(e,t)}}var a={beforeMount(e,t){r.has(e)||r.set(e,[]),r.get(e).push({documentHandler:i(e,t),bindingFn:t.value})},updated(e,t){r.has(e)||r.set(e,[]);let n=r.get(e),a=n.findIndex(e=>e.bindingFn===t.oldValue),o={documentHandler:i(e,t),bindingFn:t.value};a>=0?n.splice(a,1,o):n.push(o)},unmounted(e){r.delete(e)}};export{a as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
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 m,T as h,V as g,Yi as _,_ as v,a as y,b,c as x,d as S,f as C,g as w,h as ee,i as te,j as ne,k as re,l as ie,m as ae,n as oe,o 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-CwUz8kpJ.js";import{$n as I,Lr as L,Wr as R,an as z,qr as B}from"./index-BCK-frl7.js";import{a as se,i as V,n as H,o as U,r as W}from"./codingBridgeNotify-DutIfI14.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=`${_}?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 w: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,g)}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(ee,{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,g,_)=>{let y=g?.event,x=g?.session_id,S=g?.trace_id,C=g?.seq;if(typeof C==`number`&&x){let e=p.lastSeq[x];if(e!==void 0&&C<=e)return;t(`setLastSeq`,{session_id:x,seq:C})}switch(x&&S&&t(`updateSession`,{session_id:x,trace_id:S}),y){case ne:t(`upsertSession`,{session_id:x,node_id:_,status:`running`,cwd:g.cwd,model:g.model,...g.effort===void 0?{}:{effort:g.effort},...g.permission_mode===void 0?{}:{permission_mode:g.permission_mode},trace_id:S});break;case r:{let e=g.sdk_session_id;x&&e&&e!==x&&t(`renameSession`,{from:x,to:e});break}case f:{let e=g.id;e&&p.events[x]?.find(t=>t.kind===`text`&&t.stream_id===e)?t(`appendDelta`,{session_id:x,stream_id:e,text:g.text??``}):t(`appendEvent`,X(x,`text`,{text:g.text??``,stream_id:e,streaming:!0,trace_id:S}));break}case u:{let e=g.id;e&&p.events[x]?.find(t=>t.kind===`text`&&t.stream_id===e)?t(`finalizeStream`,{session_id:x,stream_id:e,text:g.text}):t(`appendEvent`,X(x,`text`,{text:g.text,trace_id:S}));break}case a:t(`appendEvent`,X(x,`thinking`,{text:g.text,trace_id:S}));break;case c:t(`appendEvent`,X(x,`tool_use`,{tool:g.tool,tool_use_id:g.tool_use_id,input:g.input,trace_id:S}));break;case s:t(`appendEvent`,X(x,`tool_result`,{tool_use_id:g.tool_use_id,content:g.content,is_error:g.is_error,trace_id:S}));break;case m:t(`addPermission`,{request_id:g.request_id,session_id:x,node_id:_,tool:g.tool,input:g.input,title:g.title,display_name:g.display_name,description:g.description}),ue(o,{node_id:_,session_id:x,request_id:g.request_id,tool:g.display_name||g.title||g.tool});break;case N:for(let e of g.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`,g.request_id);break;case re:t(`finalizeAllStreams`,{session_id:x}),t(`appendEvent`,X(x,`result`,{subtype:g.subtype,is_error:g.is_error,text:g.result,cost_usd:g.cost_usd,cut_uuid:g.cut_uuid,sdk_session_id:g.sdk_session_id,trace_id:S})),t(`updateSession`,{session_id:x,status:`idle`,cost_usd:g.cost_usd});break;case d:t(`appendEvent`,X(x,`notice`,{text:g.text,subtype:g.code,command:g.command,level:g.level}));break;case i:t(`finalizeAllStreams`,{session_id:x}),t(`appendEvent`,X(x,`error`,{text:g.message,trace_id:S})),t(`updateSession`,{session_id:x,status:`error`}),t(`updateStatus`,{key:`getHistoryDetail`,value:L.Success});break;case h:t(`finalizeAllStreams`,{session_id:x}),t(`updateSession`,{session_id:x,status:`closed`});break;case e:t(`rewindToCut`,{session_id:x,cut_uuid:g.cut_uuid}),g.prompt&&t(`appendEvent`,X(x,`prompt`,{text:g.prompt,trace_id:S})),t(`updateSession`,{session_id:x,status:`running`});break;case l:o(`resyncSession`,x);break;case M:for(let e of g.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 b:if(_){t(`setHistory`,{node_id:_,sessions:g.sessions??[]}),t(`updateStatus`,{key:`getHistory`,value:L.Success});let e=p.historyRef;e&&e.node_id===_&&!p.currentSessionId&&o(`reattachSession`,e)}break;case P:de(t,p,g,_),t(`updateStatus`,{key:`getHistoryDetail`,value:L.Success});break;case j:t(`setDirectory`,{path:g.path,parent:g.parent??null,sep:g.sep??`/`,entries:g.entries??[],truncated:g.truncated,error:g.error});break;case v:_&&t(`setCapabilities`,{node_id:_,capabilities:{providers:g.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:L.Request});try{let{data:t}=await z.getNodes({token:n});return e(`setNodes`,t.nodes??[]),e(`updateStatus`,{key:`getNodes`,value:L.Success}),t.nodes??[]}catch(t){throw e(`updateStatus`,{key:`getNodes`,value:L.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:L.Request});try{let{data:n}=await z.claimPair(r.trim(),{token:i});return e(`updateStatus`,{key:`claimPair`,value:L.Success}),await t(`getNodes`),n.node_name}catch(t){throw e(`updateStatus`,{key:`claimPair`,value:L.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:L.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:L.Success}),await t(`getNodes`)}catch(t){throw e(`updateStatus`,{key:`deleteNode`,value:L.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:y})},enableNotifications:async({dispatch:e,rootState:t})=>{let n=t.token?.access;if(!n)return`unsupported`;if(B()){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(B()||!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:C,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:S,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:x,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:T,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:T,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:L.Request}),J.sendToNode(r,{action:te,limit:200}))},getHistoryDetail:({commit:e},t)=>{!t?.node_id||!t?.session_id||!J||(e(`updateStatus`,{key:`getHistoryDetail`,value:L.Request}),J.sendToNode(t.node_id,{action:D,provider:t.provider,session_id:t.session_id}),setTimeout(()=>e(`updateStatus`,{key:`getHistoryDetail`,value:L.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};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-BybvFi_Q.js","assets/index-BCK-frl7.js","assets/rolldown-runtime--c01j_DQ.js","assets/preload-helper-zJ_50EbN.js","assets/i18n-CNox2ju5.js","assets/vendor-chart-kBsXB1rh.js","assets/vendor-axios-Ck2ffRoh.js","assets/use-deprecated-DiBc2upm.js","assets/install-Fb3DxQhA.js","assets/en-CpRrS3Ur.js","assets/runtime-B9nPEr1H.js","assets/vendor-vue-CCKiwo0U.js","assets/vendor-dayjs-C9ICuEWn.js","assets/event-BGnHezxC.js","assets/use-aria-DLlMMX-K.js","assets/aria-8oQuUBWy.js","assets/scroll-CwLVgJhD.js","assets/vnode-7H_ztDSN.js","assets/vendor-vue-router-b_5ap1Uq.js","assets/constants-CwUz8kpJ.js","assets/index-DN-gMJyR.css","assets/esm-Dq_BgNjV.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./preload-helper-zJ_50EbN.js";import{qr as t}from"./index-BCK-frl7.js";var n=`/sw.js`,r=()=>typeof window<`u`&&`Notification`in window,i=()=>typeof navigator<`u`&&`serviceWorker`in navigator,a=()=>i()&&`PushManager`in window,o=()=>r()?Notification.permission:`unsupported`,s=e=>{let t=(e+`=`.repeat((4-e.length%4)%4)).replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r},c=async()=>{if(!i())return null;try{return await navigator.serviceWorker.getRegistration(n)??await navigator.serviceWorker.register(n)}catch(e){return console.warn(`[codingBridge] service worker registration failed`,e),null}},l=async()=>{if(!r())return`unsupported`;if(Notification.permission!==`default`)return Notification.permission;try{return await Notification.requestPermission()}catch{return`denied`}},u=(e,n)=>{if(!(typeof document<`u`&&document.visibilityState===`visible`)){if(t()){d(e);return}if(!(!r()||Notification.permission!==`granted`))try{let t=new Notification(e.title,{body:e.body,tag:e.data.request_id||`coding-bridge-permission`,data:e.data});t.onclick=()=>{try{window.focus()}catch{}n?.(e.data),t.close()}}catch(e){console.warn(`[codingBridge] failed to raise local notification`,e)}}},d=async t=>{try{let{LocalNotifications:n}=await e(async()=>{let{LocalNotifications:e}=await import(`./esm-BybvFi_Q.js`);return{LocalNotifications:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]));if((await n.checkPermissions()).display!==`granted`&&(await n.requestPermissions()).display!==`granted`)return;await n.schedule({notifications:[{id:f(t.data.request_id||`permission`),title:t.title,body:t.body,extra:t.data}]})}catch(e){console.warn(`[codingBridge] native local notification failed`,e)}},f=e=>{let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)|0;return Math.abs(t)%2147483e3},p=async e=>{if(!a()||!e||await l()!==`granted`)return null;let t=await c();if(!t)return null;try{return(await t.pushManager.getSubscription()??await t.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:s(e)})).toJSON()}catch(e){return console.warn(`[codingBridge] web push subscribe failed`,e),null}},m=async()=>{if(!a())return null;let e=await(await c())?.pushManager.getSubscription();if(!e)return null;let t=e.endpoint;try{await e.unsubscribe()}catch{}return t},h=async n=>{if(!t())return null;try{let{PushNotifications:t}=await e(async()=>{let{PushNotifications:e}=await import(`./esm-Dq_BgNjV.js`);return{PushNotifications:e}},__vite__mapDeps([21,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20])),r=await t.requestPermissions();if(r.receive!==`granted`)return console.warn(`[codingBridge] push permission not granted (receive=${r.receive})`),null;let i=await new Promise(e=>{let n=setTimeout(()=>{console.warn(`[codingBridge] push registration timed out — no device token`),e(null)},1e4);t.addListener(`registration`,t=>{clearTimeout(n),e(t.value)}),t.addListener(`registrationError`,t=>{clearTimeout(n),console.warn(`[codingBridge] push registrationError`,t),e(null)}),t.register()});return n&&t.addListener(`pushNotificationActionPerformed`,e=>{n(e.notification?.data??{})}),i}catch(e){return e?.code===`UNIMPLEMENTED`?console.warn(`[codingBridge] PushNotifications plugin not available in this build`,e):console.warn(`[codingBridge] native push registration failed`,e),null}};export{p as a,l as i,u as n,m as o,h as r,r as s,o as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,A as t,B as n,Bt as r,D as i,E as a,Ft as o,Gt as s,Ht as c,I as l,N as u,O as ee,P as d,Q as f,Vt as p,b as m,dt as h,ft as g,it as _,kt as v,lt as y,tt as b,v as x,xt as S,y as C}from"./vendor-chart-kBsXB1rh.js";import{a as w,c as T,i as E,t as D}from"./install-Fb3DxQhA.js";import{i as O,n as k,r as A,s as j}from"./runtime-B9nPEr1H.js";import{Ct as M,_ as N,l as P,m as F,nt as I,wt as L}from"./use-deprecated-DiBc2upm.js";import{t as R}from"./castArray-Dg9nqEJX.js";import{r as z,t as B}from"./event-BGnHezxC.js";import{t as V}from"./collapse-transition-BmFhJ56o.js";import{Si as H}from"./index-BCK-frl7.js";var U=e=>j(e)||p(e)||o(e),W=k({accordion:Boolean,modelValue:{type:A([Array,String,Number]),default:()=>H([])},expandIconPosition:{type:A([String]),default:`right`},beforeCollapse:{type:A(Function)}}),G={[z]:U,[B]:U},K=Symbol(`collapseContextKey`),q=`ElCollapse`,J=(t,n)=>{let i=S(R(t.modelValue)),a=e=>{i.value=e;let r=t.accordion?i.value[0]:i.value;n(z,r),n(B,r)},o=e=>{if(t.accordion)a([i.value[0]===e?``:e]);else{let t=[...i.value],n=t.indexOf(e);n>-1?t.splice(n,1):t.push(e),a(t)}};return y(()=>t.modelValue,()=>i.value=R(t.modelValue),{deep:!0}),e(K,{activeNames:i,handleItemClick:async e=>{let{beforeCollapse:n}=t;if(!n){o(e);return}let i=n(e);[r(i),O(i)].includes(!0)||L(q,"beforeCollapse must return type `Promise<boolean>` or `boolean`"),r(i)?i.then(t=>{t!==!1&&o(e)}).catch(e=>{M(q,`some error occurred: ${e}`)}):i&&o(e)}}),{activeNames:i,setActiveNames:a}},Y=e=>{let t=T(`collapse`);return{rootKls:a(()=>[t.b(),t.b(`icon-position-${e.expandIconPosition}`)])}},X=w(l({...l({name:`ElCollapse`}),props:W,emits:G,setup(e,{expose:n,emit:r}){let i=e,{activeNames:a,setActiveNames:o}=J(i,r),{rootKls:s}=Y(i);return n({activeNames:a,setActiveNames:o}),(e,n)=>(f(),t(`div`,{class:c(v(s))},[b(e.$slots,`default`)],2))}}),[[`__file`,`collapse.vue`]]),Z=k({title:{type:String,default:``},name:{type:A([String,Number]),default:void 0},icon:{type:F,default:N},disabled:Boolean}),Q=e=>{let t=n(K),{namespace:r}=T(`collapse`),i=S(!1),o=S(!1),s=P(),c=a(()=>s.current++),l=a(()=>e.name??`${r.value}-id-${s.prefix}-${v(c)}`);return{focusing:i,id:c,isActive:a(()=>t?.activeNames.value.includes(v(l))),handleFocus:()=>{setTimeout(()=>{o.value?o.value=!1:i.value=!0},50)},handleHeaderClick:n=>{e.disabled||n.target?.closest(`input, textarea, select`)||(t?.handleItemClick(v(l)),i.value=!1,o.value=!0)},handleEnterClick:e=>{e.target?.closest(`input, textarea, select`)||(e.preventDefault(),t?.handleItemClick(v(l)))}}},te=(e,{focusing:t,isActive:n,id:r})=>{let i=T(`collapse`),o=a(()=>[i.b(`item`),i.is(`active`,v(n)),i.is(`disabled`,e.disabled)]),s=a(()=>[i.be(`item`,`header`),i.is(`active`,v(n)),{focusing:v(t)&&!e.disabled}]),c=a(()=>[i.be(`item`,`arrow`),i.is(`active`,v(n))]);return{itemTitleKls:a(()=>[i.be(`item`,`title`)]),arrowKls:c,headKls:s,rootKls:o,itemWrapperKls:a(()=>i.be(`item`,`wrap`)),itemContentKls:a(()=>i.be(`item`,`content`)),scopedContentId:a(()=>i.b(`content-${v(r)}`)),scopedHeadId:a(()=>i.b(`head-${v(r)}`))}},$=w(l({...l({name:`ElCollapseItem`}),props:Z,setup(e,{expose:n}){let r=e,{focusing:a,id:o,isActive:l,handleFocus:p,handleHeaderClick:y,handleEnterClick:S}=Q(r),{arrowKls:w,headKls:T,rootKls:E,itemTitleKls:D,itemWrapperKls:O,itemContentKls:k,scopedContentId:A,scopedHeadId:j}=te(r,{focusing:a,isActive:l,id:o});return n({isActive:l}),(e,n)=>(f(),t(`div`,{class:c(v(E))},[i(`div`,{id:v(j),class:c(v(T)),"aria-expanded":v(l),"aria-controls":v(A),"aria-describedby":v(A),tabindex:e.disabled?-1:0,role:`button`,onClick:v(y),onKeydown:C(m(v(S),[`stop`]),[`space`,`enter`]),onFocus:v(p),onBlur:e=>a.value=!1},[i(`span`,{class:c(v(D))},[b(e.$slots,`title`,{isActive:v(l)},()=>[u(s(e.title),1)])],2),b(e.$slots,`icon`,{isActive:v(l)},()=>[d(v(I),{class:c(v(w))},{default:h(()=>[(f(),ee(_(e.icon)))]),_:1},8,[`class`])])],42,[`id`,`aria-expanded`,`aria-controls`,`aria-describedby`,`tabindex`,`onClick`,`onKeydown`,`onFocus`,`onBlur`]),d(v(V),null,{default:h(()=>[g(i(`div`,{id:v(A),role:`region`,class:c(v(O)),"aria-hidden":!v(l),"aria-labelledby":v(j)},[i(`div`,{class:c(v(k))},[b(e.$slots,`default`)],2)],10,[`id`,`aria-hidden`,`aria-labelledby`]),[[x,v(l)]])]),_:3})],2))}}),[[`__file`,`collapse-item.vue`]]),ne=D(X,{CollapseItem:$}),re=E($);export{re as n,ne as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{H as e,I as t,O as n,Q as r,at as i,dt as a,kt as o,tt as s,u as c}from"./vendor-chart-kBsXB1rh.js";import{a as l,c as u,t as d}from"./install-Fb3DxQhA.js";var f=d(l(t({...t({name:`ElCollapseTransition`}),setup(t){let l=u(`collapse-transition`),d=e=>{e.style.maxHeight=``,e.style.overflow=e.dataset.oldOverflow,e.style.paddingTop=e.dataset.oldPaddingTop,e.style.paddingBottom=e.dataset.oldPaddingBottom},f={beforeEnter(e){e.dataset||={},e.dataset.oldPaddingTop=e.style.paddingTop,e.dataset.oldPaddingBottom=e.style.paddingBottom,e.style.height&&(e.dataset.elExistsHeight=e.style.height),e.style.maxHeight=0,e.style.paddingTop=0,e.style.paddingBottom=0},enter(e){requestAnimationFrame(()=>{e.dataset.oldOverflow=e.style.overflow,e.dataset.elExistsHeight?e.style.maxHeight=e.dataset.elExistsHeight:e.scrollHeight===0?e.style.maxHeight=0:e.style.maxHeight=`${e.scrollHeight}px`,e.style.paddingTop=e.dataset.oldPaddingTop,e.style.paddingBottom=e.dataset.oldPaddingBottom,e.style.overflow=`hidden`})},afterEnter(e){e.style.maxHeight=``,e.style.overflow=e.dataset.oldOverflow},enterCancelled(e){d(e)},beforeLeave(e){e.dataset||={},e.dataset.oldPaddingTop=e.style.paddingTop,e.dataset.oldPaddingBottom=e.style.paddingBottom,e.dataset.oldOverflow=e.style.overflow,e.style.maxHeight=`${e.scrollHeight}px`,e.style.overflow=`hidden`},leave(e){e.scrollHeight!==0&&(e.style.maxHeight=0,e.style.paddingTop=0,e.style.paddingBottom=0)},afterLeave(e){d(e)},leaveCancelled(e){d(e)}};return(t,u)=>(r(),n(c,e({name:o(l).b()},i(f)),{default:a(()=>[s(t.$slots,`default`)]),_:3},16,[`name`]))}}),[[`__file`,`collapse-transition.vue`]]));export{f as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={"button.setup":{message:`Configurar`,description:`Texto no botão para realizar configurações`},"button.start":{message:`Iniciar`,description:`Texto no botão para iniciar alguma operação`},"button.copy":{message:`Copiar`,description:`Texto no botão para copiar algum conteúdo`},"button.copied":{message:`Copiado`,description:`Texto no botão para indicar que o conteúdo foi copiado`},"button.restart":{message:`Regerar`,description:`Texto no botão para regenerar algum conteúdo`},"button.preview":{message:`Pré-visualizar`,description:`Texto no botão para abrir a pré-visualização de um arquivo via URL`},"button.seeRawImage":{message:`Ver Imagem Original`,description:`Texto no botão para ver a imagem original`},"button.seeRawVideo":{message:`Ver Vídeo`,description:`Texto no botão para ver o vídeo original`},"button.edit":{message:`Editar`,description:`Texto no botão para editar conteúdo`},"button.login":{message:`Entrar`,description:`Texto no botão para fazer login`},"button.logout":{message:`Sair`,description:`Texto no botão para fazer logout`},"button.new":{message:`Novo`,description:`Texto no botão para criar um novo item`},"button.delete":{message:`Excluir`,description:`Texto no botão para excluir conteúdo`},"button.deletePermanently":{message:`Excluir conta permanentemente`,description:`Final red delete button at the bottom of the delete confirmation dialog`},"button.confirm":{message:`Confirmar`,description:`Texto no botão para confirmar uma operação`},"button.cancel":{message:`Cancelar`,description:`Texto no botão para cancelar uma operação`},"button.close":{message:`Fechar`,description:`Texto no botão para fechar uma caixa de diálogo ou painel`},"button.expand":{message:`Expandir`,description:`Texto do botão que indica a ação de abrir o editor em tela cheia para a entrada de sugestões.`},"button.alert":{message:`Alerta`,description:`Texto no botão para emitir um alerta`},"button.info":{message:`Informação`,description:`Texto no botão para exibir informações`},"button.publish":{message:`Publicar`,description:`Texto no botão para publicar conteúdo`},"button.watch":{message:`Assistir`,description:`Texto no botão para assistir a algum conteúdo`},"button.verify":{message:`Verificação de Identidade`,description:`Texto no botão para permitir que o usuário faça a verificação de identidade`},"button.profile":{message:`Perfil`,description:`Texto no botão para exibir o perfil do usuário`},"button.console":{message:`Console`,description:`Texto no botão para exibir a página do console para controlar algum conteúdo na web`},"button.learn":{message:`Aprender`,description:`Texto no botão para permitir que o usuário aprenda algo`},"button.buy":{message:`Comprar`,description:`Texto no botão para permitir que o usuário compre algo`},"button.try":{message:`Experimentar`,description:`Texto no botão para permitir que o usuário experimente algo`},"button.startForFree":{message:`Começar Grátis`,description:`Texto no botão para permitir que o usuário comece gratuitamente`},"button.download":{message:`Baixar`,description:`Texto no botão para baixar arquivos (como áudio, vídeo, imagem)`},"button.downloadAndroid":{message:`Baixar Android`,description:`Texto no botão para baixar o pacote de instalação do Android`},"button.downloadIos":{message:`Baixar iOS`,description:`Texto no botão para baixar o arquivo de instalação do iOS`},"button.downloadWindows":{message:`Baixar para Windows`,description:`Text in button for downloading the Windows desktop installer`},"button.downloadMac":{message:`Baixar para macOS`,description:`Text in button for downloading the macOS desktop installer`},"button.installIos":{message:`Instalar iOS`,description:`Texto no botão para instalar o aplicativo iOS`},"button.apply":{message:`Solicitar`,description:`Texto no botão para permitir que o usuário solicite o serviço de API`},"button.refresh":{message:`Atualizar`,description:`Texto no botão para atualizar a página`},"button.pay":{message:`Pagar`,description:`Texto no botão para permitir que o usuário pague a taxa de serviço`},"button.repay":{message:`Continuar Pagamento`,description:`Texto no botão para permitir que o usuário continue o pagamento da taxa de serviço`},"button.applied":{message:`Solicitado`,description:`Texto no botão para indicar que o usuário já solicitou o serviço`},"button.acquire":{message:`Obter`,description:`Texto no botão para permitir que o usuário obtenha o token ou chave do serviço de API`},"button.fillExample":{message:`Preencher Exemplo`,description:`Texto no botão para permitir que o usuário preencha dados de exemplo`},"button.buyMore":{message:`Recarregar`,description:`Texto no botão para permitir que o usuário recarregue. O inglês deve ser traduzido como 'Top Up', o chinês como '充值'.`},"button.update":{message:`Atualizar`,description:`Texto no botão para atualizar conteúdo`},"button.view":{message:`Ver`,description:`Texto no botão para ver algum conteúdo`},"button.create":{message:`Criar`,description:`Texto no botão para criar algum conteúdo`},"button.referralEarnings":{message:`Renda de Referência`,description:`Texto no botão que exibe a renda de referência, indicando que o usuário pode ganhar dinheiro convidando outras pessoas a usar o serviço`},"button.finish":{message:`Concluir`,description:`Texto no botão para finalizar uma operação`},"entity.id":{message:`ID`,description:`Identificador único para exibir a entidade`},"entity.type":{message:`Tipo`,description:`Tipo da entidade`},"entity.website":{message:`Ace Data Cloud`,description:`Nome do site, não precisa ser traduzido, mantenha como 'Ace Data Cloud'`},"entity.copyright":{message:`Copyright`,description:`Texto que exibe o copyright`},"entity.platform":{message:`Plataforma`,description:`Texto que indica que este é um serviço de plataforma API`},"entity.title":{message:`Título`,description:`Título da entidade`},"entity.icon":{message:`Ícone`,description:`Ícone da entidade`},"entity.status":{message:`Status`,description:`Status da entidade`},"status.loading":{message:`Carregando...`,description:`Texto de status exibido enquanto o conteúdo está sendo carregado`},"error.appleSignInFailed":{message:`Falha ao iniciar sessão com a Apple. Tente novamente ou utilize outro método de início de sessão.`,description:`Error toast shown when native Apple sign-in fails for a reason other than user cancellation`},"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:`Operação`,description:`Operação da entidade`},"entity.description":{message:`Descrição`,description:`Descrição da entidade`},"entity.createdAt":{message:`Criado em`,description:`Data de criação da entidade`},"entity.updatedAt":{message:`Atualizado em`,description:`Data de atualização da entidade`},"entity.order":{message:`Pedido`,description:`Pedido da entidade, que inclui informações financeiras e de serviço, que o usuário precisa pagar`},"message.noTasks":{message:`Nenhuma tarefa histórica, comece uma nova tarefa~`,description:`Mensagem exibida quando não há tarefas`},"message.guestTasks":{message:`Faça login para iniciar uma tarefa e ver suas criações aqui.`,description:`Prompt shown in the task list area for not-logged-in guests`},"message.usedAmount":{message:`Valor utilizado`,description:`Usado para exibir o valor já utilizado do serviço`},"message.mobileAppDescription":{message:`Use o AceData diretamente no celular, atualmente disponível para download do APK Android, pacote de instalação iOS será disponibilizado após a assinatura.`,description:`Texto explicativo na página de download do aplicativo móvel`},"message.mobileAndroidHint":{message:`Compatível com celulares e tablets Android, escaneie para baixar e instalar o APK mais recente.`,description:`Descrição do cartão de download Android`},"message.mobileAndroidPending":{message:`Pacote de instalação Android ainda não está pronto, por favor, tente novamente mais tarde.`,description:`Mensagem quando o pacote de instalação Android não está disponível`},"message.mobileAvailableNow":{message:`Android disponível para download`,description:`Usado para exibir o status de que o Android está disponível para download`},"message.mobileSecureDelivery":{message:`Distribuição segura via CDN`,description:`Usado para enfatizar que o link de download é entregue via CDN`},"message.mobileDirectInstall":{message:`Instalação direta do APK`,description:`Usado para descrever que a instalação no Android é feita diretamente via APK`},"message.mobileLatestRelease":{message:`Versão pública atual`,description:`Usado para indicar que a versão exibida é a mais recente disponível`},"message.mobileSharedAccount":{message:`Conta e créditos compartilhados com a versão web`,description:`Usado para indicar que a versão móvel compartilha a conta com a versão web`},"message.mobileIosHint":{message:`Compatível com iPhone e iPad, pode ser instalado online; se o sistema bloquear, você pode baixar o IPA e depois distribuir.`,description:`Descrição do cartão de download iOS`},"message.mobileIosPending":{message:`Pacote de instalação iOS ainda não disponível para download, será disponibilizado após a finalização do certificado e do perfil da Apple.`,description:`Mensagem quando o pacote de instalação iOS não está disponível`},"message.mobileComingSoon":{message:`Em breve`,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:`Para Windows 10 e posterior (64 bits). Baixe o instalador e clique duas vezes para instalar.`,description:`Windows desktop download card description`},"message.desktopMacHint":{message:`Para macOS 11 e posterior. Escolha a versão que corresponde ao seu Mac — Apple Silicon (série M) ou Intel.`,description:`macOS desktop download card description`},"message.desktopUnsignedNote":{message:`Os aplicativos de desktop são versões beta não assinadas. No Windows, escolha «Mais informações → Executar assim mesmo» no aviso do SmartScreen; no macOS, clique com o botão direito no app e escolha «Abrir» para ignorar o Gatekeeper.`,description:`Note explaining the desktop builds are unsigned betas and how to open them`},"button.getOnGooglePlay":{message:`Disponível no 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:`Sem acesso ao Google Play? Baixe o APK diretamente.`,description:`Shown next to a secondary button offering a direct APK download for users who cannot access Google Play`},"message.mobilePlayStoreHint":{message:`Escaneie para abrir o 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:`Ao instalar pela primeira vez um pacote corporativo ou Ad Hoc no iOS, o sistema pode solicitar que você confie no certificado em 'Ajustes > Geral > VPN e Gerenciamento de Dispositivos'.`,description:`Dica de instalação do aplicativo móvel`},"title.mobileApp":{message:`Download do Móvel`,description:`Título da página de download do aplicativo móvel`},"title.mobileFastAccess":{message:`Acesso mais rápido, sem passar pela loja de aplicativos`,description:`Título do cartão de vantagens na página de download, enfatizando a instalação rápida`},"title.mobileTrustedRelease":{message:`Gerenciamento centralizado de versões, distribuição mais estável`,description:`Título do cartão de vantagens na página de download, enfatizando a estabilidade de versões e distribuição`},"title.mobileUnifiedExperience":{message:`Experiência móvel e web consistente`,description:`Título do cartão de vantagens na página de download, enfatizando a experiência unificada`},"nav.mobileApp":{message:`Aplicativo Móvel`,description:`Entrada de download do aplicativo móvel na navegação`},"message.mobileFastAccess":{message:`Os usuários podem escanear para instalar diretamente no celular ou baixar o APK no desktop e depois distribuir para os membros da equipe, ideal para testes rápidos e cenários de beta.`,description:`Descrição de vantagens na página de download, enfatizando o acesso rápido`},"message.mobileTrustedRelease":{message:`Os links de download estão centralizados em uma única página, com número da versão, status da plataforma e método de instalação visíveis, reduzindo os custos de comunicação causados pela dispersão de links.`,description:`Descrição de vantagens na página de download, enfatizando a distribuição unificada`},"message.mobileUnifiedExperience":{message:`O sistema de contas, créditos e entradas de serviço após o login é consistente com a versão web, facilitando a troca sem costura entre desktop e móvel.`,description:`Descrição de vantagens na página de download, enfatizando a experiência de conta unificada`},"message.remainingAmount":{message:`Valor restante`,description:`Usado para exibir o valor restante do serviço`},"message.copied":{message:`Copiado com sucesso`,description:`Mensagem que indica que o conteúdo foi copiado com sucesso`},"message.restart":{message:`Regerar`,description:`Mensagem para mostrar que o conteúdo foi copiado com sucesso`},"message.confirmDelete":{message:`Você tem certeza que deseja excluir?`,description:`Mensagem para confirmar que o usuário deseja excluir um item`},"message.expiredAt":{message:`Data de expiração`,description:`Mensagem para mostrar a data de expiração do serviço`},"message.alert":{message:`Atenção`,description:`Mensagem para alertar o usuário`},"message.deleteAccountConfirm":{message:`Isto irá eliminar permanentemente a sua conta e todos os dados associados. Esta ação não pode ser desfeita. Tem a certeza de que deseja continuar?`,description:`Confirmation message shown before permanently deleting the user account`},"message.deleteAccountSuccess":{message:`A sua conta foi eliminada.`,description:`Message shown after the user account is successfully deleted`},"message.deleteAccountFailed":{message:`Falha ao eliminar a sua conta. Tente novamente mais tarde.`,description:`Message shown when account deletion fails`},"message.deleteAccountWarning":{message:`Esta ação é irreversível! Sua conta e todos os seus dados serão excluídos permanentemente e não poderão ser recuperados.`,description:`Red warning banner at the top of the delete confirmation dialog`},"message.deleteAccountConsequences":{message:`Excluídos permanentemente: perfil, saldo e créditos, aplicativos e assinaturas, chaves de API e vínculos de login de terceiros.`,description:`Explains what data will be removed in the delete confirmation dialog`},"message.deleteAccountTypePrompt":{message:`Digite seu nome de usuário para confirmar a exclusão:`,description:`Instructs the user to type their username to confirm; the username is shown separately below`},"message.deleteAccountPlaceholder":{message:`Digite seu nome de usuário aqui`,description:`Placeholder for the username confirmation input`},"message.info":{message:`Informação`,description:`Mensagem para exibir informações`},"message.free":{message:`Gratuito`,description:`Mensagem para mostrar que o serviço é gratuito, ou seja, o usuário não precisa pagar`},"message.startPrice":{message:`A partir de`,description:`Mensagem para mostrar o preço mínimo do serviço`},"message.joinDiscord":{message:`Entrar no Discord`,description:`Mensagem para convidar o usuário a entrar no canal do Discord`},"message.addWeChat":{message:`Adicionar WeChat`,description:`Mensagem para convidar o usuário a adicionar uma conta do WeChat`},"message.serviceTech":{message:`Suporte Técnico`,description:`Mensagem para mostrar suporte técnico`},"message.businessCooperation":{message:`Cooperação de Dados & Negócios`,description:`Mensagem para mostrar cooperação comercial`},"message.noData":{message:`Sem dados`,description:`Mensagem para mostrar que não há dados na tabela ou lista`},"nav.home":{message:`Início`,description:`Texto na barra de navegação do site para mostrar a página inicial`},"nav.content":{message:`Conteúdo`,description:`Texto na barra de navegação do site para mostrar a página de conteúdo`},"nav.category":{message:`Categoria`,description:`Texto na barra de navegação do site para mostrar a página de categorias`},"nav.service":{message:`Todos os Serviços`,description:`Texto na barra de navegação do site para mostrar a página de serviços`},"nav.profile":{message:`Meu Perfil`,description:`Texto na barra de navegação do site para mostrar a página de perfil`},"nav.products":{message:`Produtos`,description:`Texto na barra de navegação do site para mostrar a página de produtos`},"nav.referral":{message:`Programa de Indicação`,description:`Texto na barra de navegação do site para mostrar a página de indicações`},"nav.apiPlatform":{message:`Plataforma API`,description:`Texto na barra de navegação do site para mostrar a página da plataforma API`},"nav.document":{message:`Documentação de Desenvolvimento`,description:`Texto na barra de navegação do site para mostrar a página de documentação`},"nav.console":{message:`Console`,description:`Texto na barra de navegação do site para mostrar a página do console`},"nav.chatgpt":{message:`ChatGPT`,description:`Texto na barra de navegação do site para mostrar a página do ChatGPT, não deve ser traduzido, deve permanecer como 'ChatGPT'`},"nav.deepseek":{message:`DeepSeek`,description:`Texto na barra de navegação do site para mostrar a página do DeepSeek, não deve ser traduzido, deve permanecer como 'DeepSeek'`},"nav.grok":{message:`Grok`,description:`Texto na barra de navegação do site para mostrar a página do Grok, não deve ser traduzido, deve permanecer como 'Grok'`},"nav.chat":{message:`Chat`,description:`Texto na barra de navegação do site para mostrar a página de chat, não deve ser traduzido, deve permanecer como 'Chat'`},"nav.veo":{message:`Veo`,description:`Texto na barra de navegação do site para mostrar a página de chat, não deve ser traduzido, deve permanecer como 'Veo'`},"nav.sora":{message:`Sora`,description:`Texto na barra de navegação do site para mostrar a página de chat, não deve ser traduzido, deve permanecer como 'Sora'`},"nav.midjourney":{message:`Midjourney`,description:`Texto na barra de navegação do site para mostrar a página do Midjourney, não deve ser traduzido, deve permanecer como 'Midjourney'`},"nav.qrart":{message:`QRArt`,description:`Texto na barra de navegação do site para mostrar a página de arte 2D, não deve ser traduzido, deve permanecer como 'QRArt'`},"nav.suno":{message:`Suno`,description:`Texto na barra de navegação do site para mostrar a página do Suno, não deve ser traduzido, deve permanecer como 'Suno'`},"nav.pixverse":{message:`Pixverse`,description:`Texto na barra de navegação do site para mostrar a página do Pixverse, não deve ser traduzido, deve permanecer como 'Pixverse'`},"nav.flux":{message:`Flux`,description:`Texto na barra de navegação do site para mostrar a página do Flux, não deve ser traduzido, deve permanecer como 'Flux'`},"nav.nanobanana":{message:`Nano Banana`,description:`Texto na barra de navegação do site para mostrar a página do Nano Banana, não deve ser traduzido, deve permanecer como 'Nano Banana'`},"nav.openaiimage":{message:`OpenAI Image`,description:`Texto na barra de navegação do site para mostrar a página do OpenAI Image, não deve ser traduzido, deve permanecer como 'OpenAI Image'`},"nav.seedream":{message:`SeeDream`,description:`Texto na barra de navegação do site, usado para exibir a página SeeDream, não deve ser traduzido, deve permanecer como 'SeeDream'`},"nav.seedance":{message:`SeeDance`,description:`Texto na barra de navegação do site para exibir a página SeeDance, não deve ser traduzido, deve permanecer como '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:`Texto na barra de navegação do site para exibir a página Luma, não deve ser traduzido, deve permanecer como 'Luma'`},"nav.pika":{message:`Pika`,description:`Texto na barra de navegação do site para exibir a página Pika, não deve ser traduzido, deve permanecer como 'Pika'`},"nav.kling":{message:`Kling`,description:`Texto na barra de navegação do site para exibir a página Kling, não deve ser traduzido, deve permanecer como 'Kling'`},"nav.hailuo":{message:`Hailuo`,description:`Texto na barra de navegação do site para exibir a página Hailuo, não deve ser traduzido, deve permanecer como 'Hailuo'`},"nav.wan":{message:`Wan`,description:`Texto na barra de navegação do site para exibir a página Wan, não deve ser traduzido, deve permanecer como 'Wan'`},"nav.producer":{message:`Producer`,description:`Texto na barra de navegação do site para exibir a página Producer, não deve ser traduzido, deve permanecer como 'Producer'`},"nav.fish":{message:`Fish Audio`,description:`Texto na barra de navegação do site que exibe a página Fish Audio, por favor, não traduza este campo, deve permanecer como 'Fish Audio'`},"nav.kimi":{message:`Kimi`,description:`Texto na barra de navegação do site para exibir a página Kimi, não deve ser traduzido, deve permanecer como 'Kimi'`},"nav.serp":{message:`SERP`,description:`Texto na barra de navegação do site para exibir a página SERP, não deve ser traduzido, deve permanecer como '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:`Imagem`,description:`Texto na barra de navegação do site para exibir a página de imagens`},"nav.music":{message:`Música`,description:`Texto na barra de navegação do site para exibir a página de música`},"nav.video":{message:`Vídeo`,description:`Texto na barra de navegação do site para exibir a página de vídeo`},"nav.distribution":{message:`Rendimentos de Recomendação`,description:`Texto na barra de navegação do site para exibir a página de rendimentos de recomendação`},"nav.connections":{message:`Conexões`,description:`Item de menu que leva à página de gerenciamento de conexões em auth.acedata.cloud`},"nav.logOut":{message:`Sair`,description:`Texto na barra de navegação do site para sair da conta`},"nav.deleteAccount":{message:`Excluir conta`,description:`Menu item to permanently delete the current user account`},"nav.site":{message:`Configuração do Site`,description:`Texto na barra de navegação do site para exibir a página de configuração do site`},"nav.subsite":{message:`Meu Subsite`,description:`Entrada 'Meu Subsite' na barra lateral, exibida apenas quando a funcionalidade features.subsite está ativada`},"nav.setting":{message:`Configurações`,description:`Texto na barra de navegação do site para exibir a página de configurações`},"nav.headshots":{message:`Foto de Identidade AI`,description:`Texto na barra de navegação do site para exibir a página de configuração do site`},"nav.more":{message:`Mais`,description:`Texto na barra de navegação do site para expandir mais serviços`},"nav.locale":{message:`Configurações de Idioma`,description:`Texto na barra de navegação do site para alterar o idioma`},"nav.support":{message:`Suporte ao Cliente`,description:`Texto na barra de navegação do site para exibir a página de contato`},"nav.darkMode":{message:`Modo Escuro`,description:`Texto na barra de navegação do site para alternar para o tema escuro`},"title.alert":{message:`Aviso`,description:`Título da mensagem de aviso`},"title.placeholderOfSelect":{message:`Por favor, selecione`,description:`Placeholder para entrada de seleção`},"title.placeholderOfInput":{message:`Por favor, preencha`,description:`Placeholder para entrada de texto`},"title.allApplications":{message:`Todas as Aplicações`,description:`Título da página que exibe todas as aplicações`},"title.allOrders":{message:`Todos os Pedidos`,description:`Título da página que exibe todos os pedidos`},"title.orderInfo":{message:`Informações do Pedido`,description:`Título da página que exibe informações do pedido`},"title.buyMore":{message:`Recarregar`,description:`Título da página para recarregar. Deve ser traduzido como 'Recarregar'.`},"title.distribution":{message:`Rendimentos de Recomendação`,description:`Título da página que exibe rendimentos de recomendação, indicando que o usuário pode ganhar dinheiro convidando outros a usar o serviço`},"title.site":{message:`Configuração do Site`,description:`Título da página que exibe a configuração do site`},"title.distributionHistory":{message:`Histórico de Recomendações`,description:`Título da página que exibe o histórico de recomendações`},"title.invitee":{message:`Convidado`,description:`Título da página que exibe informações sobre o convidado`},"title.allUsages":{message:`Histórico de Uso`,description:`Título da página que exibe todos os usos do serviço API`},"title.allCredentials":{message:`Credenciais`,description:`Título da página que exibe todas as credenciais, usadas para acessar a API`},"about.title1":{message:`Contato`,description:`Título da seção que exibe informações de contato`},"about.title2":{message:`Recursos`,description:`Título da seção que exibe links`},"about.title3":{message:`Links`,description:`Título da seção que exibe informações de suporte`},"about.address":{message:`131 Continental Dr, Suite 305, Newark, DE 19713, EUA`,description:`Endereço da empresa`},"about.email":{message:`office@acedata.cloud`,description:`E-mail da empresa`},"about.link1":{message:`Serviços`,description:`Link para a página de documentação`},"about.link2":{message:`Documentação do Desenvolvedor`,description:`Link para a página de serviços`},"about.link3":{message:`Console`,description:`Link para a página do console`},"about.link4":{message:`Perfil`,description:`Link para a página de perfil`},"about.link5":{message:`Plataforma UI`,description:`Link para a página central`},"about.link6":{message:`Rendimentos de Referência`,description:`Link para a página de rendimentos de referência`},"about.link7":{message:`Suporte`,description:`Link para a página de suporte`},"about.link8":{message:`Termos de Serviço`,description:`Link para a página de termos de serviço`},"about.link9":{message:`Política de Privacidade`,description:`Link para a página de política de privacidade`},"theme.light":{message:`Claro`,description:`Nome do tema claro`},"theme.dark":{message:`Escuro`,description:`Nome do tema escuro`},"theme.system":{message:`Sistema`,description:`Nome do tema do sistema, indicando a troca automática de tema com base nas configurações do sistema`},"settings.general":{message:`Configurações Gerais`,description:`Título da seção de configurações gerais na página de configurações`},"settings.language":{message:`Idioma`,description:`Título da seção de configurações de idioma na página de configurações`},"settings.theme":{message:`Tema`,description:`Título da seção de configurações de tema na página de configurações`},"settings.seo":{message:`Configurações de SEO`,description:`Título da seção de configurações de SEO na página de configurações`},"settings.site":{message:`Configurações do Site`,description:`Título da seção de configurações do site na página de configurações`},"settings.distribution":{message:`Configurações de Distribuição`,description:`Título da seção de configurações de distribuição na página de configurações`},"settings.function":{message:`Configurações de Funcionalidade`,description:`Título da seção de configurações de funcionalidade na página de configurações`},"settings.auth":{message:`Método de Login`,description:`Título da aba 'Método de Login' na barra lateral da página de configurações — configura os métodos de login permitidos e o método de login padrão do site, visível apenas para administradores do site.`},"settings.apiKey":{message:`Chave da API`,description:`Rótulo da Chave da API na barra lateral da página de configurações - gerenciamento da Chave da API do provedor de serviços upstream (BYOK)`},"settings.memory":{message:`Memória`,description:`Configura o rótulo 'Memória' na barra lateral da janela de configurações, onde o usuário pode visualizar e gerenciar as informações que o assistente lembra sobre si.`},"settings.memoryIntro":{message:`O assistente lembrará informações úteis que você menciona nas conversas, proporcionando respostas mais personalizadas em diferentes diálogos. Você tem controle total — pode visualizar o conteúdo salvo e excluir partes que não deseja que ele lembre.`,description:`Texto de introdução no topo da aba de configurações de memória.`},"settings.memoryNeedsChat":{message:`Por favor, inicie uma conversa para ativar a funcionalidade de memória.`,description:`Exibido na aba de configurações de memória quando o aplicativo de chat/token ainda não foi carregado.`},"settings.memoryStored":{message:`Memórias salvas`,description:`Título da seção acima da lista de itens de memória armazenados.`},"settings.memoryEmpty":{message:`Nenhuma memória salva até o momento. À medida que você utiliza, o assistente lembrará de preferências e informações duradouras aqui.`,description:`Estado vazio exibido quando o usuário não tem memórias armazenadas.`},"settings.memoryForget":{message:`Esquecer`,description:`Botão para excluir uma única memória na linha do item de memória.`},"settings.memoryClearAll":{message:`Limpar tudo`,description:`Botão para excluir todas as memórias armazenadas de uma só vez.`},"settings.memoryClearConfirm":{message:`Isso irá excluir permanentemente todas as informações que o assistente lembra sobre você e não pode ser desfeito.`,description:`Conteúdo da janela de confirmação antes de limpar todas as memórias.`},"settings.memoryError":{message:`A operação falhou, por favor, tente novamente.`,description:`Mensagem de erro exibida quando a operação de exclusão/limpeza de memória falha.`},"field.operations":{message:`Operações`,description:`Título da coluna genérica: coluna de botões de operação da linha da tabela (editar, excluir, etc.)`},"nav.gemini":{message:`Gemini`,description:`Texto na barra de navegação do site para exibir a página Gemini, deve permanecer como 'Gemini'`},"nav.claude":{message:`Claude`,description:`Texto na barra de navegação do site para exibir a página Claude, deve permanecer como 'Claude'`},"button.detail":{message:`Ver Detalhes`,description:``},"button.testEnv":{message:`Ambiente de Teste`,description:`Texto no botão para alternar para o ambiente de teste`},"button.upload":{message:`Enviar`,description:`Texto no botão para enviar arquivos ou conteúdo`},"message.cnbeian":{message:`Registro na China`,description:`Informação de registro na China`},"message.copyFailed":{message:`Falha ao Copiar`,description:`Mensagem exibida quando a cópia do conteúdo falha`},"nav.tryNow":{message:`Experimente Agora`,description:`Texto na barra de navegação do site para permitir que os usuários experimentem o serviço`},"title.coin":{message:`Criptomoeda`,description:`Título da página que exibe criptomoedas`},"title.distributionRank":{message:`Ranking de Referências`,description:`Título da página que exibe o ranking de referências`},"title.distributionPlatformRank":{message:`Ranking de Plataformas`,description:`Título da página que exibe o ranking de plataformas`},"customers.name1":{message:`Mark Du`,description:`Nome do cliente`},"customers.job1":{message:`Engenheiro de Software`,description:`Profissão do cliente`},"customers.comment1":{message:`A Ace Data Cloud forneceu um ótimo serviço para nossa equipe, ajudando-nos a aumentar a produtividade. Adoramos!`,description:`Avaliação do cliente`},"customers.name2":{message:`Jacob Williams`,description:`Nome do cliente`},"customers.job2":{message:`Gerente de Produto`,description:`Profissão do cliente`},"customers.comment2":{message:`A Ace Data Cloud é uma ótima plataforma de integração, com qualidade de serviço excepcional.`,description:`Avaliação do cliente`},"customers.name3":{message:`Larry Henry`,description:`Nome do cliente`},"customers.job3":{message:`Designer`,description:`Profissão do cliente`},"customers.comment3":{message:`Adoro os serviços da Ace Data Cloud, são fáceis de usar e com preços justos. Espero que melhorem cada vez mais!`,description:`Avaliação do cliente`},"nav.github":{message:`GitHub`,description:`Link para o repositório do GitHub`},"settings.github":{message:`Código Fonte`,description:`Link para ver o código fonte no GitHub`},"settings.about":{message:`Sobre`,description:`Título da seção sobre na página de configurações`},"settings.localTools":{message:`Ferramentas locais`,description:`Desktop-only settings tab for managing local tool folders, permissions and grants.`},"settings.localToolsDesktopOnly":{message:`Disponível apenas no aplicativo de desktop.`,description:`Shown when the Local Tools tab is opened on web/mobile.`},"settings.localToolsFoldersTitle":{message:`Pastas autorizadas`,description:`Heading for the list of folders the AI may read/write locally.`},"settings.localToolsFoldersHint":{message:`Pastas que a IA pode ler e gravar nesta máquina. As ferramentas são executadas localmente; nada sai do seu dispositivo sem o seu consentimento.`,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:`Habilidades de Automação do Telefone`,description:`Título para a seção exclusiva do Android que instala habilidades que controlam aplicativos no telefone via Operação do Computador.`},"settings.localToolsAndroidSkillsHint":{message:`Instale habilidades que permitem ao assistente operar aplicativos nativos. Elas funcionam através da 'Operação do Computador', então, primeiro, conceda permissões de acessibilidade acima e ative a operação do computador. Cada ação ainda seguirá suas configurações de confirmação de operação do computador.`,description:`Texto de ajuda sob o título de habilidades de automação do telefone.`},"settings.localToolsAndroidSkillsXhsName":{message:`Resposta Automática de Mensagens Diretas do Xiaohongshu`,description:`Nome exibido da habilidade de resposta automática de mensagens diretas do Xiaohongshu (RED).`},"settings.localToolsAndroidSkillsXhsDesc":{message:`Leia novas mensagens diretas no App Xiaohongshu e redija respostas, que serão confirmadas antes do envio.`,description:`Descrição em uma linha da habilidade de DM do Xiaohongshu.`},"settings.localToolsAndroidSkillsInstall":{message:`Instalar`,description:`Botão que instala a habilidade na conta do usuário.`},"settings.localToolsAndroidSkillsInstalled":{message:`Instalado`,description:`Etiqueta exibida quando a habilidade já está instalada.`},"settings.localToolsAndroidSkillsLoading":{message:`Carregando habilidades disponíveis...`,description:`Placeholder enquanto o diretório de habilidades está sendo buscado.`},"settings.localToolsAndroidSkillsUnavailable":{message:`Nenhuma habilidade de telefone disponível para instalação.`,description:`Estado vazio quando nenhuma habilidade de telefone instalável é encontrada.`},"settings.localToolsAndroidSkillsNeedComputerUse":{message:`Antes de instalar, conceda permissões de acessibilidade e ative a operação do computador acima.`,description:`Dica exibida quando o botão de instalação está desativado devido à falta de pré-requisitos.`},"settings.localToolsAndroidSkillsNextTurn":{message:`Instalado, estará ativo na sua próxima conversa.`,description:`Confirmação exibida após uma instalação bem-sucedida.`},"settings.localToolsAndroidSkillsInstallFailed":{message:`Instalação falhou, por favor, tente novamente.`,description:`Erro exibido quando a solicitação de instalação falha.`},"settings.localToolsAndroidSkillsLoadFailed":{message:`Falha ao carregar habilidades disponíveis, por favor, tente novamente.`,description:`Erro exibido quando a busca pelo diretório de habilidades falha.`},"settings.localToolsPreauthorizeAll":`Pré-aprovar todas as ações do computador`,"settings.localToolsPreauthorizeHint":`Permite de uma vez captura de tela, clique, digitação, teclas e todas as ações, e solicita as permissões do sistema necessárias.`,"settings.localToolsCuActionsTitle":`Permitir ações individuais`,"settings.localToolsCuActionsHint":`Ative apenas as ações que você aceita que a IA execute sem perguntar toda vez. Cada uma continua revogável aqui.`,"settings.localToolsCuScreenshot":`Captura de tela`,"settings.localToolsCuClick":`Clique`,"settings.localToolsCuMove":`Mover o ponteiro`,"settings.localToolsCuType":`Digitar texto`,"settings.localToolsCuKey":`Pressionar teclas`,"settings.localToolsCuScroll":`Rolagem`,"settings.localToolsBuiltinTitle":`Ferramentas integradas`,"settings.localToolsBuiltinHint":`Ative uma ferramenta para a IA executá-la sem perguntar. O Shell pode executar qualquer comando nesta máquina — ative apenas se confiar. As ferramentas de arquivo continuam limitadas às suas pastas autorizadas.`,"settings.localToolsBuiltinRisky":`Acesso total`,"settings.localToolsAddFolder":{message:`Adicionar pasta`,description:`Button to pick a folder to authorize.`},"settings.localToolsRemove":{message:`Remover`,description:`Button to remove an authorized folder.`},"settings.localToolsNoFolders":{message:`Nenhuma pasta autorizada ainda.`,description:`Empty state for the authorized-folders list.`},"settings.localToolsSave":{message:`Salvar`,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:`Salvo`,description:`Transient confirmation after saving local-tool folders.`},"settings.localToolsActiveTools":{message:`Ferramentas ativas`,description:`Label before the list of currently available local tools.`},"settings.localToolsGrantsTitle":{message:`Ações sempre permitidas`,description:`Heading for the persistent consent grants list.`},"settings.localToolsGrantsHint":{message:`Chamadas de ferramentas que você optou por sempre permitir. Elas são executadas sem perguntar novamente. Revogue qualquer uma para reativar a confirmação.`,description:`Help text under the always-allowed actions heading.`},"settings.localToolsRevoke":{message:`Revogar`,description:`Button to revoke a single always-allow grant.`},"settings.localToolsRevokeAll":{message:`Revogar tudo`,description:`Button to revoke every always-allow grant.`},"settings.localToolsNoGrants":{message:`Nenhuma ação sempre permitida. Você será perguntado antes de cada ferramenta local.`,description:`Empty state for the always-allowed actions list.`},"settings.localToolsPermsTitle":{message:`Permissões do sistema`,description:`Heading for the macOS system-permission section.`},"settings.localToolsPermsHint":{message:`Opcional. O acesso às pastas acima não precisa de nenhuma — conceda apenas o que uma tarefa específica exigir.`,description:`Help text under the system-permissions heading.`},"settings.localToolsPermFullDisk":{message:`Acesso total ao disco`,description:`macOS Full Disk Access permission row.`},"settings.localToolsPermScreen":{message:`Gravação de tela`,description:`macOS Screen Recording permission row.`},"settings.localToolsPermAccessibility":{message:`Acessibilidade`,description:`macOS Accessibility permission row.`},"settings.localToolsGranted":{message:`Concedido`,description:`Status tag when a system permission is granted.`},"settings.localToolsNotGranted":{message:`Não concedido`,description:`Status tag when a system permission is not granted.`},"settings.localToolsOpen":{message:`Abrir…`,description:`Button to open the relevant macOS System Settings pane.`},"settings.subsites":{message:`Meus Subsites`,description:`Título da aba de gerenciamento de subsites na janela de configurações. Visível apenas no site oficial, subsites não são exibidos.`},"settings.adminOnlyHint":{message:`Esta seção é visível apenas para administradores do site, usuários comuns não podem acessar.`,description:`Mensagem exibida no topo das configurações do site / configurações de SEO / configurações de distribuição / configurações de funcionalidades, indicando que apenas administradores podem ver essas configurações.`},"settings.officialOnlyHint":{message:`Esta seção é visível apenas no site principal, não será exibida nas subestações.`,description:`Mensagem exibida no topo da aba 'Minhas Subestações', informando que este acesso aparece apenas no site oficial principal.`},"settings.customDomain":{message:`Domínio personalizado`,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:`Construir Agora`,description:`Texto do botão 'Construir Subsite' na página sobre, visível apenas no site oficial`},"settings.poweredBy":{message:`Projeto Open Source`,description:`Título que mostra em qual projeto open source o site é baseado na página sobre`},"settings.poweredByTip":{message:`Este site é baseado no projeto open source Nexior, com código totalmente aberto.`,description:`Descrição que mostra em qual projeto open source o site é baseado na página sobre`},"settings.apiService":{message:`Serviço API`,description:`Título que mostra o provedor do serviço API na página sobre`},"settings.apiServiceTip":{message:`O serviço API deste site é fornecido pela Ace Data Cloud.`,description:`Descrição que mostra o provedor do serviço API na página sobre`},"settings.buildYourOwn":{message:`Construa o Seu`,description:`Título que informa ao usuário que ele pode construir um site semelhante na página sobre`},"settings.buildYourOwnTip":{message:`Quer construir um site de IA semelhante? Entre em contato para obter suporte de implantação.`,description:`Descrição sobre como construir um site semelhante na página sobre`},"settings.contactUs":{message:`Fale Conosco`,description:`Texto do botão para entrar em contato com o suporte`},"message.viewOnGithub":{message:`Ver no GitHub`,description:`Texto do link para visualizar o projeto no GitHub`},"title.notFound":{message:`Página Não Encontrada`,description:`Título da página 404`},"message.notFound":{message:`A página que você acessou não existe, o link pode ter sido alterado ou removido. Volte para a página inicial e continue explorando os serviços de IA da AceData.`,description:`Descrição da página 404`},"message.notFoundEyebrow":{message:`Ocorreu um Erro`,description:`Texto da pequena etiqueta no topo da página 404`},"message.notFoundPath":{message:`Caminho da Solicitação`,description:`Etiqueta que exibe o caminho da solicitação atual na página 404`},"button.backToHome":{message:`Voltar para a Página Inicial`,description:`Texto do botão para retornar à página inicial`},"button.goBack":{message:`Voltar à Página Anterior`,description:`Texto do botão para voltar à página anterior no histórico de navegação`},"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. Replace <YOUR_API_KEY> with a key from your platform console.`,description:`Helper text shown above the code tabs in the API code dialog, explaining how to use the snippet`},"tab.apiRequest":{message:`Solicitação`,description:`Rótulo da aba do diálogo de código da API para o trecho de solicitação (o código que reproduz o resultado atual).`},"tab.apiResponse":{message:`Resposta`,description:`Rótulo da aba do diálogo de código da API para a resposta ao vivo retornada após clicar em Executar.`},"button.apiRun":{message:`Executar novamente`,description:`Botão do diálogo de código da API que executa novamente a solicitação ao vivo contra a API usando a chave do usuário. O resultado já existe, então clicar executa novamente, e é cobrado.`},"button.apiRunning":{message:`Executando…`,description:`Rótulo do botão Executar no diálogo de código da API enquanto a solicitação ao vivo está em andamento.`},"button.apiRunConfirm":{message:`Confirmar execução`,description:`Rótulo do botão de confirmação no diálogo que avisa que a execução aqui consome créditos extras.`},"button.viewDocs":{message:`Ver documentação`,description:`Botão no rodapé do diálogo de código da API que abre a página de documentação da API correspondente na plataforma.`},"message.apiClickRun":{message:`Clique em 'Executar novamente' para usar sua chave da API e executar esta solicitação em tempo real.`,description:`Estado vazio da aba de Resposta do diálogo de código da API, exibido antes que o usuário execute a solicitação.`},"message.apiRunConfirmTitle":{message:`Confirmar execução`,description:`Título do diálogo de confirmação exibido antes de reexecutar uma solicitação do diálogo de código da API.`},"message.apiRunConfirmDesc":{message:`Esta execução usará sua chave da API para chamar o endpoint de forma real e consumirá créditos adicionais. Você confirma que deseja continuar?`,description:`Corpo do diálogo de confirmação avisando que a reexecução da solicitação é uma chamada real da API que gera cobrança.`},"message.apiRunConfirmSkip":{message:`Não avisar novamente`,description:`Caixa de seleção no diálogo de confirmação de execução que, quando marcada, suprime o aviso em execuções subsequentes.`},"message.apiRunTaskCreated":{message:`Tarefa criada, feche esta janela para ver os resultados mais recentes abaixo.`,description:`Banner de sucesso exibido no diálogo de código da API após uma execução retornar um ID de tarefa, indicando que a nova tarefa já aparece na lista atrás do diálogo.`},"button.apiViewLatest":{message:`Fechar e Ver`,description:`Botão no banner de sucesso do diálogo de código da API que fecha o diálogo para que o usuário possa ver a nova tarefa criada na lista abaixo.`},"message.uploadInProgress":{message:`Os envios de referência ainda estão em andamento — aguarde um momento.`,description:`Toast shown when the user clicks the Generate button while one or more reference uploads are still in flight. Asks them to wait for uploads to complete before retrying.`},"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.`},"nav.maestro":{message:`Maestro`,description:`Texto da página de conversão de artigos em vídeos do Maestro na barra de navegação, mantenha como '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.`}};export{e as default};
|
|
1
|
+
var e={"button.setup":{message:`Configurar`,description:`Texto no botão para realizar configurações`},"button.start":{message:`Iniciar`,description:`Texto no botão para iniciar alguma operação`},"button.copy":{message:`Copiar`,description:`Texto no botão para copiar algum conteúdo`},"button.copied":{message:`Copiado`,description:`Texto no botão para indicar que o conteúdo foi copiado`},"button.restart":{message:`Regerar`,description:`Texto no botão para regenerar algum conteúdo`},"button.preview":{message:`Pré-visualizar`,description:`Texto no botão para abrir a pré-visualização de um arquivo via URL`},"button.seeRawImage":{message:`Ver Imagem Original`,description:`Texto no botão para ver a imagem original`},"button.seeRawVideo":{message:`Ver Vídeo`,description:`Texto no botão para ver o vídeo original`},"button.edit":{message:`Editar`,description:`Texto no botão para editar conteúdo`},"button.login":{message:`Entrar`,description:`Texto no botão para fazer login`},"button.logout":{message:`Sair`,description:`Texto no botão para fazer logout`},"button.new":{message:`Novo`,description:`Texto no botão para criar um novo item`},"button.delete":{message:`Excluir`,description:`Texto no botão para excluir conteúdo`},"button.deletePermanently":{message:`Excluir conta permanentemente`,description:`Final red delete button at the bottom of the delete confirmation dialog`},"button.confirm":{message:`Confirmar`,description:`Texto no botão para confirmar uma operação`},"button.cancel":{message:`Cancelar`,description:`Texto no botão para cancelar uma operação`},"button.close":{message:`Fechar`,description:`Texto no botão para fechar uma caixa de diálogo ou painel`},"button.expand":{message:`Expandir`,description:`Texto do botão que indica a ação de abrir o editor em tela cheia para a entrada de sugestões.`},"button.alert":{message:`Alerta`,description:`Texto no botão para emitir um alerta`},"button.info":{message:`Informação`,description:`Texto no botão para exibir informações`},"button.publish":{message:`Publicar`,description:`Texto no botão para publicar conteúdo`},"button.watch":{message:`Assistir`,description:`Texto no botão para assistir a algum conteúdo`},"button.verify":{message:`Verificação de Identidade`,description:`Texto no botão para permitir que o usuário faça a verificação de identidade`},"button.profile":{message:`Perfil`,description:`Texto no botão para exibir o perfil do usuário`},"button.console":{message:`Console`,description:`Texto no botão para exibir a página do console para controlar algum conteúdo na web`},"button.learn":{message:`Aprender`,description:`Texto no botão para permitir que o usuário aprenda algo`},"button.buy":{message:`Comprar`,description:`Texto no botão para permitir que o usuário compre algo`},"button.try":{message:`Experimentar`,description:`Texto no botão para permitir que o usuário experimente algo`},"button.startForFree":{message:`Começar Grátis`,description:`Texto no botão para permitir que o usuário comece gratuitamente`},"button.download":{message:`Baixar`,description:`Texto no botão para baixar arquivos (como áudio, vídeo, imagem)`},"button.downloadAndroid":{message:`Baixar Android`,description:`Texto no botão para baixar o pacote de instalação do Android`},"button.downloadIos":{message:`Baixar iOS`,description:`Texto no botão para baixar o arquivo de instalação do iOS`},"button.downloadWindows":{message:`Baixar para Windows`,description:`Text in button for downloading the Windows desktop installer`},"button.downloadMac":{message:`Baixar para macOS`,description:`Text in button for downloading the macOS desktop installer`},"button.installIos":{message:`Instalar iOS`,description:`Texto no botão para instalar o aplicativo iOS`},"button.apply":{message:`Solicitar`,description:`Texto no botão para permitir que o usuário solicite o serviço de API`},"button.refresh":{message:`Atualizar`,description:`Texto no botão para atualizar a página`},"button.pay":{message:`Pagar`,description:`Texto no botão para permitir que o usuário pague a taxa de serviço`},"button.repay":{message:`Continuar Pagamento`,description:`Texto no botão para permitir que o usuário continue o pagamento da taxa de serviço`},"button.applied":{message:`Solicitado`,description:`Texto no botão para indicar que o usuário já solicitou o serviço`},"button.acquire":{message:`Obter`,description:`Texto no botão para permitir que o usuário obtenha o token ou chave do serviço de API`},"button.fillExample":{message:`Preencher Exemplo`,description:`Texto no botão para permitir que o usuário preencha dados de exemplo`},"button.buyMore":{message:`Recarregar`,description:`Texto no botão para permitir que o usuário recarregue. O inglês deve ser traduzido como 'Top Up', o chinês como '充值'.`},"button.update":{message:`Atualizar`,description:`Texto no botão para atualizar conteúdo`},"button.view":{message:`Ver`,description:`Texto no botão para ver algum conteúdo`},"button.create":{message:`Criar`,description:`Texto no botão para criar algum conteúdo`},"button.referralEarnings":{message:`Renda de Referência`,description:`Texto no botão que exibe a renda de referência, indicando que o usuário pode ganhar dinheiro convidando outras pessoas a usar o serviço`},"button.finish":{message:`Concluir`,description:`Texto no botão para finalizar uma operação`},"entity.id":{message:`ID`,description:`Identificador único para exibir a entidade`},"entity.type":{message:`Tipo`,description:`Tipo da entidade`},"entity.website":{message:`Ace Data Cloud`,description:`Nome do site, não precisa ser traduzido, mantenha como 'Ace Data Cloud'`},"entity.copyright":{message:`Copyright`,description:`Texto que exibe o copyright`},"entity.platform":{message:`Plataforma`,description:`Texto que indica que este é um serviço de plataforma API`},"entity.title":{message:`Título`,description:`Título da entidade`},"entity.icon":{message:`Ícone`,description:`Ícone da entidade`},"entity.status":{message:`Status`,description:`Status da entidade`},"status.loading":{message:`Carregando...`,description:`Texto de status exibido enquanto o conteúdo está sendo carregado`},"error.appleSignInFailed":{message:`Falha ao iniciar sessão com a Apple. Tente novamente ou utilize outro método de início de sessão.`,description:`Error toast shown when native Apple sign-in fails for a reason other than user cancellation`},"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:`Operação`,description:`Operação da entidade`},"entity.description":{message:`Descrição`,description:`Descrição da entidade`},"entity.createdAt":{message:`Criado em`,description:`Data de criação da entidade`},"entity.updatedAt":{message:`Atualizado em`,description:`Data de atualização da entidade`},"entity.order":{message:`Pedido`,description:`Pedido da entidade, que inclui informações financeiras e de serviço, que o usuário precisa pagar`},"message.noTasks":{message:`Nenhuma tarefa histórica, comece uma nova tarefa~`,description:`Mensagem exibida quando não há tarefas`},"message.guestTasks":{message:`Faça login para iniciar uma tarefa e ver suas criações aqui.`,description:`Prompt shown in the task list area for not-logged-in guests`},"message.usedAmount":{message:`Valor utilizado`,description:`Usado para exibir o valor já utilizado do serviço`},"message.mobileAppDescription":{message:`Use o AceData diretamente no celular, atualmente disponível para download do APK Android, pacote de instalação iOS será disponibilizado após a assinatura.`,description:`Texto explicativo na página de download do aplicativo móvel`},"message.mobileAndroidHint":{message:`Compatível com celulares e tablets Android, escaneie para baixar e instalar o APK mais recente.`,description:`Descrição do cartão de download Android`},"message.mobileAndroidPending":{message:`Pacote de instalação Android ainda não está pronto, por favor, tente novamente mais tarde.`,description:`Mensagem quando o pacote de instalação Android não está disponível`},"message.mobileAvailableNow":{message:`Android disponível para download`,description:`Usado para exibir o status de que o Android está disponível para download`},"message.mobileSecureDelivery":{message:`Distribuição segura via CDN`,description:`Usado para enfatizar que o link de download é entregue via CDN`},"message.mobileDirectInstall":{message:`Instalação direta do APK`,description:`Usado para descrever que a instalação no Android é feita diretamente via APK`},"message.mobileLatestRelease":{message:`Versão pública atual`,description:`Usado para indicar que a versão exibida é a mais recente disponível`},"message.mobileSharedAccount":{message:`Conta e créditos compartilhados com a versão web`,description:`Usado para indicar que a versão móvel compartilha a conta com a versão web`},"message.mobileIosHint":{message:`Compatível com iPhone e iPad, pode ser instalado online; se o sistema bloquear, você pode baixar o IPA e depois distribuir.`,description:`Descrição do cartão de download iOS`},"message.mobileIosPending":{message:`Pacote de instalação iOS ainda não disponível para download, será disponibilizado após a finalização do certificado e do perfil da Apple.`,description:`Mensagem quando o pacote de instalação iOS não está disponível`},"message.mobileComingSoon":{message:`Em breve`,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:`Para Windows 10 e posterior (64 bits). Baixe o instalador e clique duas vezes para instalar.`,description:`Windows desktop download card description`},"message.desktopMacHint":{message:`Para macOS 11 e posterior. Escolha a versão que corresponde ao seu Mac — Apple Silicon (série M) ou Intel.`,description:`macOS desktop download card description`},"message.desktopUnsignedNote":{message:`Os aplicativos de desktop são versões beta não assinadas. No Windows, escolha «Mais informações → Executar assim mesmo» no aviso do SmartScreen; no macOS, clique com o botão direito no app e escolha «Abrir» para ignorar o Gatekeeper.`,description:`Note explaining the desktop builds are unsigned betas and how to open them`},"button.getOnGooglePlay":{message:`Disponível no 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:`Sem acesso ao Google Play? Baixe o APK diretamente.`,description:`Shown next to a secondary button offering a direct APK download for users who cannot access Google Play`},"message.mobilePlayStoreHint":{message:`Escaneie para abrir o 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:`Ao instalar pela primeira vez um pacote corporativo ou Ad Hoc no iOS, o sistema pode solicitar que você confie no certificado em 'Ajustes > Geral > VPN e Gerenciamento de Dispositivos'.`,description:`Dica de instalação do aplicativo móvel`},"title.mobileApp":{message:`Download do Móvel`,description:`Título da página de download do aplicativo móvel`},"title.mobileFastAccess":{message:`Acesso mais rápido, sem passar pela loja de aplicativos`,description:`Título do cartão de vantagens na página de download, enfatizando a instalação rápida`},"title.mobileTrustedRelease":{message:`Gerenciamento centralizado de versões, distribuição mais estável`,description:`Título do cartão de vantagens na página de download, enfatizando a estabilidade de versões e distribuição`},"title.mobileUnifiedExperience":{message:`Experiência móvel e web consistente`,description:`Título do cartão de vantagens na página de download, enfatizando a experiência unificada`},"nav.mobileApp":{message:`Aplicativo Móvel`,description:`Entrada de download do aplicativo móvel na navegação`},"message.mobileFastAccess":{message:`Os usuários podem escanear para instalar diretamente no celular ou baixar o APK no desktop e depois distribuir para os membros da equipe, ideal para testes rápidos e cenários de beta.`,description:`Descrição de vantagens na página de download, enfatizando o acesso rápido`},"message.mobileTrustedRelease":{message:`Os links de download estão centralizados em uma única página, com número da versão, status da plataforma e método de instalação visíveis, reduzindo os custos de comunicação causados pela dispersão de links.`,description:`Descrição de vantagens na página de download, enfatizando a distribuição unificada`},"message.mobileUnifiedExperience":{message:`O sistema de contas, créditos e entradas de serviço após o login é consistente com a versão web, facilitando a troca sem costura entre desktop e móvel.`,description:`Descrição de vantagens na página de download, enfatizando a experiência de conta unificada`},"message.remainingAmount":{message:`Valor restante`,description:`Usado para exibir o valor restante do serviço`},"message.copied":{message:`Copiado com sucesso`,description:`Mensagem que indica que o conteúdo foi copiado com sucesso`},"message.restart":{message:`Regerar`,description:`Mensagem para mostrar que o conteúdo foi copiado com sucesso`},"message.confirmDelete":{message:`Você tem certeza que deseja excluir?`,description:`Mensagem para confirmar que o usuário deseja excluir um item`},"message.expiredAt":{message:`Data de expiração`,description:`Mensagem para mostrar a data de expiração do serviço`},"message.alert":{message:`Atenção`,description:`Mensagem para alertar o usuário`},"message.deleteAccountConfirm":{message:`Isto irá eliminar permanentemente a sua conta e todos os dados associados. Esta ação não pode ser desfeita. Tem a certeza de que deseja continuar?`,description:`Confirmation message shown before permanently deleting the user account`},"message.deleteAccountSuccess":{message:`A sua conta foi eliminada.`,description:`Message shown after the user account is successfully deleted`},"message.deleteAccountFailed":{message:`Falha ao eliminar a sua conta. Tente novamente mais tarde.`,description:`Message shown when account deletion fails`},"message.deleteAccountWarning":{message:`Esta ação é irreversível! Sua conta e todos os seus dados serão excluídos permanentemente e não poderão ser recuperados.`,description:`Red warning banner at the top of the delete confirmation dialog`},"message.deleteAccountConsequences":{message:`Excluídos permanentemente: perfil, saldo e créditos, aplicativos e assinaturas, chaves de API e vínculos de login de terceiros.`,description:`Explains what data will be removed in the delete confirmation dialog`},"message.deleteAccountTypePrompt":{message:`Digite seu nome de usuário para confirmar a exclusão:`,description:`Instructs the user to type their username to confirm; the username is shown separately below`},"message.deleteAccountPlaceholder":{message:`Digite seu nome de usuário aqui`,description:`Placeholder for the username confirmation input`},"message.info":{message:`Informação`,description:`Mensagem para exibir informações`},"message.free":{message:`Gratuito`,description:`Mensagem para mostrar que o serviço é gratuito, ou seja, o usuário não precisa pagar`},"message.startPrice":{message:`A partir de`,description:`Mensagem para mostrar o preço mínimo do serviço`},"message.joinDiscord":{message:`Entrar no Discord`,description:`Mensagem para convidar o usuário a entrar no canal do Discord`},"message.addWeChat":{message:`Adicionar WeChat`,description:`Mensagem para convidar o usuário a adicionar uma conta do WeChat`},"message.serviceTech":{message:`Suporte Técnico`,description:`Mensagem para mostrar suporte técnico`},"message.businessCooperation":{message:`Cooperação de Dados & Negócios`,description:`Mensagem para mostrar cooperação comercial`},"message.noData":{message:`Sem dados`,description:`Mensagem para mostrar que não há dados na tabela ou lista`},"nav.home":{message:`Início`,description:`Texto na barra de navegação do site para mostrar a página inicial`},"nav.content":{message:`Conteúdo`,description:`Texto na barra de navegação do site para mostrar a página de conteúdo`},"nav.category":{message:`Categoria`,description:`Texto na barra de navegação do site para mostrar a página de categorias`},"nav.service":{message:`Todos os Serviços`,description:`Texto na barra de navegação do site para mostrar a página de serviços`},"nav.profile":{message:`Meu Perfil`,description:`Texto na barra de navegação do site para mostrar a página de perfil`},"nav.products":{message:`Produtos`,description:`Texto na barra de navegação do site para mostrar a página de produtos`},"nav.referral":{message:`Programa de Indicação`,description:`Texto na barra de navegação do site para mostrar a página de indicações`},"nav.apiPlatform":{message:`Plataforma API`,description:`Texto na barra de navegação do site para mostrar a página da plataforma API`},"nav.document":{message:`Documentação de Desenvolvimento`,description:`Texto na barra de navegação do site para mostrar a página de documentação`},"nav.console":{message:`Console`,description:`Texto na barra de navegação do site para mostrar a página do console`},"nav.chatgpt":{message:`ChatGPT`,description:`Texto na barra de navegação do site para mostrar a página do ChatGPT, não deve ser traduzido, deve permanecer como 'ChatGPT'`},"nav.deepseek":{message:`DeepSeek`,description:`Texto na barra de navegação do site para mostrar a página do DeepSeek, não deve ser traduzido, deve permanecer como 'DeepSeek'`},"nav.grok":{message:`Grok`,description:`Texto na barra de navegação do site para mostrar a página do Grok, não deve ser traduzido, deve permanecer como 'Grok'`},"nav.chat":{message:`Chat`,description:`Texto na barra de navegação do site para mostrar a página de chat, não deve ser traduzido, deve permanecer como 'Chat'`},"nav.veo":{message:`Veo`,description:`Texto na barra de navegação do site para mostrar a página de chat, não deve ser traduzido, deve permanecer como 'Veo'`},"nav.sora":{message:`Sora`,description:`Texto na barra de navegação do site para mostrar a página de chat, não deve ser traduzido, deve permanecer como 'Sora'`},"nav.midjourney":{message:`Midjourney`,description:`Texto na barra de navegação do site para mostrar a página do Midjourney, não deve ser traduzido, deve permanecer como 'Midjourney'`},"nav.qrart":{message:`QRArt`,description:`Texto na barra de navegação do site para mostrar a página de arte 2D, não deve ser traduzido, deve permanecer como 'QRArt'`},"nav.suno":{message:`Suno`,description:`Texto na barra de navegação do site para mostrar a página do Suno, não deve ser traduzido, deve permanecer como 'Suno'`},"nav.pixverse":{message:`Pixverse`,description:`Texto na barra de navegação do site para mostrar a página do Pixverse, não deve ser traduzido, deve permanecer como 'Pixverse'`},"nav.flux":{message:`Flux`,description:`Texto na barra de navegação do site para mostrar a página do Flux, não deve ser traduzido, deve permanecer como 'Flux'`},"nav.nanobanana":{message:`Nano Banana`,description:`Texto na barra de navegação do site para mostrar a página do Nano Banana, não deve ser traduzido, deve permanecer como 'Nano Banana'`},"nav.openaiimage":{message:`OpenAI Image`,description:`Texto na barra de navegação do site para mostrar a página do OpenAI Image, não deve ser traduzido, deve permanecer como 'OpenAI Image'`},"nav.seedream":{message:`SeeDream`,description:`Texto na barra de navegação do site, usado para exibir a página SeeDream, não deve ser traduzido, deve permanecer como 'SeeDream'`},"nav.seedance":{message:`SeeDance`,description:`Texto na barra de navegação do site para exibir a página SeeDance, não deve ser traduzido, deve permanecer como '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:`Texto na barra de navegação do site para exibir a página Luma, não deve ser traduzido, deve permanecer como 'Luma'`},"nav.pika":{message:`Pika`,description:`Texto na barra de navegação do site para exibir a página Pika, não deve ser traduzido, deve permanecer como 'Pika'`},"nav.kling":{message:`Kling`,description:`Texto na barra de navegação do site para exibir a página Kling, não deve ser traduzido, deve permanecer como 'Kling'`},"nav.hailuo":{message:`Hailuo`,description:`Texto na barra de navegação do site para exibir a página Hailuo, não deve ser traduzido, deve permanecer como 'Hailuo'`},"nav.wan":{message:`Wan`,description:`Texto na barra de navegação do site para exibir a página Wan, não deve ser traduzido, deve permanecer como 'Wan'`},"nav.producer":{message:`Producer`,description:`Texto na barra de navegação do site para exibir a página Producer, não deve ser traduzido, deve permanecer como 'Producer'`},"nav.fish":{message:`Fish Audio`,description:`Texto na barra de navegação do site que exibe a página Fish Audio, por favor, não traduza este campo, deve permanecer como 'Fish Audio'`},"nav.kimi":{message:`Kimi`,description:`Texto na barra de navegação do site para exibir a página Kimi, não deve ser traduzido, deve permanecer como 'Kimi'`},"nav.serp":{message:`SERP`,description:`Texto na barra de navegação do site para exibir a página SERP, não deve ser traduzido, deve permanecer como '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:`Imagem`,description:`Texto na barra de navegação do site para exibir a página de imagens`},"nav.music":{message:`Música`,description:`Texto na barra de navegação do site para exibir a página de música`},"nav.video":{message:`Vídeo`,description:`Texto na barra de navegação do site para exibir a página de vídeo`},"nav.distribution":{message:`Rendimentos de Recomendação`,description:`Texto na barra de navegação do site para exibir a página de rendimentos de recomendação`},"nav.connections":{message:`Conexões`,description:`Item de menu que leva à página de gerenciamento de conexões em auth.acedata.cloud`},"nav.logOut":{message:`Sair`,description:`Texto na barra de navegação do site para sair da conta`},"nav.deleteAccount":{message:`Excluir conta`,description:`Menu item to permanently delete the current user account`},"nav.site":{message:`Configuração do Site`,description:`Texto na barra de navegação do site para exibir a página de configuração do site`},"nav.subsite":{message:`Meu Subsite`,description:`Entrada 'Meu Subsite' na barra lateral, exibida apenas quando a funcionalidade features.subsite está ativada`},"nav.setting":{message:`Configurações`,description:`Texto na barra de navegação do site para exibir a página de configurações`},"nav.headshots":{message:`Foto de Identidade AI`,description:`Texto na barra de navegação do site para exibir a página de configuração do site`},"nav.more":{message:`Mais`,description:`Texto na barra de navegação do site para expandir mais serviços`},"nav.locale":{message:`Configurações de Idioma`,description:`Texto na barra de navegação do site para alterar o idioma`},"nav.support":{message:`Suporte ao Cliente`,description:`Texto na barra de navegação do site para exibir a página de contato`},"nav.darkMode":{message:`Modo Escuro`,description:`Texto na barra de navegação do site para alternar para o tema escuro`},"title.alert":{message:`Aviso`,description:`Título da mensagem de aviso`},"title.placeholderOfSelect":{message:`Por favor, selecione`,description:`Placeholder para entrada de seleção`},"title.placeholderOfInput":{message:`Por favor, preencha`,description:`Placeholder para entrada de texto`},"title.allApplications":{message:`Todas as Aplicações`,description:`Título da página que exibe todas as aplicações`},"title.allOrders":{message:`Todos os Pedidos`,description:`Título da página que exibe todos os pedidos`},"title.orderInfo":{message:`Informações do Pedido`,description:`Título da página que exibe informações do pedido`},"title.buyMore":{message:`Recarregar`,description:`Título da página para recarregar. Deve ser traduzido como 'Recarregar'.`},"title.distribution":{message:`Rendimentos de Recomendação`,description:`Título da página que exibe rendimentos de recomendação, indicando que o usuário pode ganhar dinheiro convidando outros a usar o serviço`},"title.site":{message:`Configuração do Site`,description:`Título da página que exibe a configuração do site`},"title.distributionHistory":{message:`Histórico de Recomendações`,description:`Título da página que exibe o histórico de recomendações`},"title.invitee":{message:`Convidado`,description:`Título da página que exibe informações sobre o convidado`},"title.allUsages":{message:`Histórico de Uso`,description:`Título da página que exibe todos os usos do serviço API`},"title.allCredentials":{message:`Credenciais`,description:`Título da página que exibe todas as credenciais, usadas para acessar a API`},"about.title1":{message:`Contato`,description:`Título da seção que exibe informações de contato`},"about.title2":{message:`Recursos`,description:`Título da seção que exibe links`},"about.title3":{message:`Links`,description:`Título da seção que exibe informações de suporte`},"about.address":{message:`131 Continental Dr, Suite 305, Newark, DE 19713, EUA`,description:`Endereço da empresa`},"about.email":{message:`office@acedata.cloud`,description:`E-mail da empresa`},"about.link1":{message:`Serviços`,description:`Link para a página de documentação`},"about.link2":{message:`Documentação do Desenvolvedor`,description:`Link para a página de serviços`},"about.link3":{message:`Console`,description:`Link para a página do console`},"about.link4":{message:`Perfil`,description:`Link para a página de perfil`},"about.link5":{message:`Plataforma UI`,description:`Link para a página central`},"about.link6":{message:`Rendimentos de Referência`,description:`Link para a página de rendimentos de referência`},"about.link7":{message:`Suporte`,description:`Link para a página de suporte`},"about.link8":{message:`Termos de Serviço`,description:`Link para a página de termos de serviço`},"about.link9":{message:`Política de Privacidade`,description:`Link para a página de política de privacidade`},"theme.light":{message:`Claro`,description:`Nome do tema claro`},"theme.dark":{message:`Escuro`,description:`Nome do tema escuro`},"theme.system":{message:`Sistema`,description:`Nome do tema do sistema, indicando a troca automática de tema com base nas configurações do sistema`},"settings.general":{message:`Configurações Gerais`,description:`Título da seção de configurações gerais na página de configurações`},"settings.language":{message:`Idioma`,description:`Título da seção de configurações de idioma na página de configurações`},"settings.theme":{message:`Tema`,description:`Título da seção de configurações de tema na página de configurações`},"settings.seo":{message:`Configurações de SEO`,description:`Título da seção de configurações de SEO na página de configurações`},"settings.site":{message:`Configurações do Site`,description:`Título da seção de configurações do site na página de configurações`},"settings.distribution":{message:`Configurações de Distribuição`,description:`Título da seção de configurações de distribuição na página de configurações`},"settings.function":{message:`Configurações de Funcionalidade`,description:`Título da seção de configurações de funcionalidade na página de configurações`},"settings.auth":{message:`Método de Login`,description:`Título da aba 'Método de Login' na barra lateral da página de configurações — configura os métodos de login permitidos e o método de login padrão do site, visível apenas para administradores do site.`},"settings.apiKey":{message:`Chave da API`,description:`Rótulo da Chave da API na barra lateral da página de configurações - gerenciamento da Chave da API do provedor de serviços upstream (BYOK)`},"settings.memory":{message:`Memória`,description:`Configura o rótulo 'Memória' na barra lateral da janela de configurações, onde o usuário pode visualizar e gerenciar as informações que o assistente lembra sobre si.`},"settings.memoryIntro":{message:`O assistente lembrará informações úteis que você menciona nas conversas, proporcionando respostas mais personalizadas em diferentes diálogos. Você tem controle total — pode visualizar o conteúdo salvo e excluir partes que não deseja que ele lembre.`,description:`Texto de introdução no topo da aba de configurações de memória.`},"settings.memoryNeedsChat":{message:`Por favor, inicie uma conversa para ativar a funcionalidade de memória.`,description:`Exibido na aba de configurações de memória quando o aplicativo de chat/token ainda não foi carregado.`},"settings.memoryStored":{message:`Memórias salvas`,description:`Título da seção acima da lista de itens de memória armazenados.`},"settings.memoryEmpty":{message:`Nenhuma memória salva até o momento. À medida que você utiliza, o assistente lembrará de preferências e informações duradouras aqui.`,description:`Estado vazio exibido quando o usuário não tem memórias armazenadas.`},"settings.memoryForget":{message:`Esquecer`,description:`Botão para excluir uma única memória na linha do item de memória.`},"settings.memoryClearAll":{message:`Limpar tudo`,description:`Botão para excluir todas as memórias armazenadas de uma só vez.`},"settings.memoryClearConfirm":{message:`Isso irá excluir permanentemente todas as informações que o assistente lembra sobre você e não pode ser desfeito.`,description:`Conteúdo da janela de confirmação antes de limpar todas as memórias.`},"settings.memoryError":{message:`A operação falhou, por favor, tente novamente.`,description:`Mensagem de erro exibida quando a operação de exclusão/limpeza de memória falha.`},"field.operations":{message:`Operações`,description:`Título da coluna genérica: coluna de botões de operação da linha da tabela (editar, excluir, etc.)`},"nav.gemini":{message:`Gemini`,description:`Texto na barra de navegação do site para exibir a página Gemini, deve permanecer como 'Gemini'`},"nav.claude":{message:`Claude`,description:`Texto na barra de navegação do site para exibir a página Claude, deve permanecer como 'Claude'`},"button.detail":{message:`Ver Detalhes`,description:``},"button.testEnv":{message:`Ambiente de Teste`,description:`Texto no botão para alternar para o ambiente de teste`},"button.upload":{message:`Enviar`,description:`Texto no botão para enviar arquivos ou conteúdo`},"message.cnbeian":{message:`Registro na China`,description:`Informação de registro na China`},"message.copyFailed":{message:`Falha ao Copiar`,description:`Mensagem exibida quando a cópia do conteúdo falha`},"nav.tryNow":{message:`Experimente Agora`,description:`Texto na barra de navegação do site para permitir que os usuários experimentem o serviço`},"title.coin":{message:`Criptomoeda`,description:`Título da página que exibe criptomoedas`},"title.distributionRank":{message:`Ranking de Referências`,description:`Título da página que exibe o ranking de referências`},"title.distributionPlatformRank":{message:`Ranking de Plataformas`,description:`Título da página que exibe o ranking de plataformas`},"customers.name1":{message:`Mark Du`,description:`Nome do cliente`},"customers.job1":{message:`Engenheiro de Software`,description:`Profissão do cliente`},"customers.comment1":{message:`A Ace Data Cloud forneceu um ótimo serviço para nossa equipe, ajudando-nos a aumentar a produtividade. Adoramos!`,description:`Avaliação do cliente`},"customers.name2":{message:`Jacob Williams`,description:`Nome do cliente`},"customers.job2":{message:`Gerente de Produto`,description:`Profissão do cliente`},"customers.comment2":{message:`A Ace Data Cloud é uma ótima plataforma de integração, com qualidade de serviço excepcional.`,description:`Avaliação do cliente`},"customers.name3":{message:`Larry Henry`,description:`Nome do cliente`},"customers.job3":{message:`Designer`,description:`Profissão do cliente`},"customers.comment3":{message:`Adoro os serviços da Ace Data Cloud, são fáceis de usar e com preços justos. Espero que melhorem cada vez mais!`,description:`Avaliação do cliente`},"nav.github":{message:`GitHub`,description:`Link para o repositório do GitHub`},"settings.github":{message:`Código Fonte`,description:`Link para ver o código fonte no GitHub`},"settings.about":{message:`Sobre`,description:`Título da seção sobre na página de configurações`},"settings.localTools":{message:`Ferramentas locais`,description:`Desktop-only settings tab for managing local tool folders, permissions and grants.`},"settings.localToolsDesktopOnly":{message:`Disponível apenas no aplicativo de desktop.`,description:`Shown when the Local Tools tab is opened on web/mobile.`},"settings.localToolsFoldersTitle":{message:`Pastas autorizadas`,description:`Heading for the list of folders the AI may read/write locally.`},"settings.localToolsFoldersHint":{message:`Pastas que a IA pode ler e gravar nesta máquina. As ferramentas são executadas localmente; nada sai do seu dispositivo sem o seu consentimento.`,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:`Habilidades de Automação do Telefone`,description:`Título para a seção exclusiva do Android que instala habilidades que controlam aplicativos no telefone via Operação do Computador.`},"settings.localToolsAndroidSkillsHint":{message:`Instale habilidades que permitem ao assistente operar aplicativos nativos. Elas funcionam através da 'Operação do Computador', então, primeiro, conceda permissões de acessibilidade acima e ative a operação do computador. Cada ação ainda seguirá suas configurações de confirmação de operação do computador.`,description:`Texto de ajuda sob o título de habilidades de automação do telefone.`},"settings.localToolsAndroidSkillsXhsName":{message:`Resposta Automática de Mensagens Diretas do Xiaohongshu`,description:`Nome exibido da habilidade de resposta automática de mensagens diretas do Xiaohongshu (RED).`},"settings.localToolsAndroidSkillsXhsDesc":{message:`Leia novas mensagens diretas no App Xiaohongshu e redija respostas, que serão confirmadas antes do envio.`,description:`Descrição em uma linha da habilidade de DM do Xiaohongshu.`},"settings.localToolsAndroidSkillsInstall":{message:`Instalar`,description:`Botão que instala a habilidade na conta do usuário.`},"settings.localToolsAndroidSkillsInstalled":{message:`Instalado`,description:`Etiqueta exibida quando a habilidade já está instalada.`},"settings.localToolsAndroidSkillsLoading":{message:`Carregando habilidades disponíveis...`,description:`Placeholder enquanto o diretório de habilidades está sendo buscado.`},"settings.localToolsAndroidSkillsUnavailable":{message:`Nenhuma habilidade de telefone disponível para instalação.`,description:`Estado vazio quando nenhuma habilidade de telefone instalável é encontrada.`},"settings.localToolsAndroidSkillsNeedComputerUse":{message:`Antes de instalar, conceda permissões de acessibilidade e ative a operação do computador acima.`,description:`Dica exibida quando o botão de instalação está desativado devido à falta de pré-requisitos.`},"settings.localToolsAndroidSkillsNextTurn":{message:`Instalado, estará ativo na sua próxima conversa.`,description:`Confirmação exibida após uma instalação bem-sucedida.`},"settings.localToolsAndroidSkillsInstallFailed":{message:`Instalação falhou, por favor, tente novamente.`,description:`Erro exibido quando a solicitação de instalação falha.`},"settings.localToolsAndroidSkillsLoadFailed":{message:`Falha ao carregar habilidades disponíveis, por favor, tente novamente.`,description:`Erro exibido quando a busca pelo diretório de habilidades falha.`},"settings.localToolsPreauthorizeAll":`Pré-aprovar todas as ações do computador`,"settings.localToolsPreauthorizeHint":`Permite de uma vez captura de tela, clique, digitação, teclas e todas as ações, e solicita as permissões do sistema necessárias.`,"settings.localToolsCuA11yLabel":{message:`Serviço de Acessibilidade`,description:`Etiqueta na linha de status de Usabilidade do Uso do Computador, indicando se o serviço de acessibilidade está realmente em execução.`},"settings.localToolsCuReady":{message:`Pronto, disponível`,description:`Status verde exibido quando o serviço de acessibilidade está em execução e o Uso do Computador está realmente disponível.`},"settings.localToolsCuA11yMissing":{message:`Desativado, Uso do Computador indisponível`,description:`Aviso vermelho exibido quando o interruptor está ativado, mas o serviço de acessibilidade não está em execução.`},"settings.localToolsCuActionsTitle":`Permitir ações individuais`,"settings.localToolsCuActionsHint":`Ative apenas as ações que você aceita que a IA execute sem perguntar toda vez. Cada uma continua revogável aqui.`,"settings.localToolsCuScreenshot":`Captura de tela`,"settings.localToolsCuClick":`Clique`,"settings.localToolsCuMove":`Mover o ponteiro`,"settings.localToolsCuType":`Digitar texto`,"settings.localToolsCuKey":`Pressionar teclas`,"settings.localToolsCuScroll":`Rolagem`,"settings.localToolsBuiltinTitle":`Ferramentas integradas`,"settings.localToolsBuiltinHint":`Ative uma ferramenta para a IA executá-la sem perguntar. O Shell pode executar qualquer comando nesta máquina — ative apenas se confiar. As ferramentas de arquivo continuam limitadas às suas pastas autorizadas.`,"settings.localToolsBuiltinRisky":`Acesso total`,"settings.localToolsAddFolder":{message:`Adicionar pasta`,description:`Button to pick a folder to authorize.`},"settings.localToolsRemove":{message:`Remover`,description:`Button to remove an authorized folder.`},"settings.localToolsNoFolders":{message:`Nenhuma pasta autorizada ainda.`,description:`Empty state for the authorized-folders list.`},"settings.localToolsSave":{message:`Salvar`,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:`Salvo`,description:`Transient confirmation after saving local-tool folders.`},"settings.localToolsActiveTools":{message:`Ferramentas ativas`,description:`Label before the list of currently available local tools.`},"settings.localToolsGrantsTitle":{message:`Ações sempre permitidas`,description:`Heading for the persistent consent grants list.`},"settings.localToolsGrantsHint":{message:`Chamadas de ferramentas que você optou por sempre permitir. Elas são executadas sem perguntar novamente. Revogue qualquer uma para reativar a confirmação.`,description:`Help text under the always-allowed actions heading.`},"settings.localToolsRevoke":{message:`Revogar`,description:`Button to revoke a single always-allow grant.`},"settings.localToolsRevokeAll":{message:`Revogar tudo`,description:`Button to revoke every always-allow grant.`},"settings.localToolsNoGrants":{message:`Nenhuma ação sempre permitida. Você será perguntado antes de cada ferramenta local.`,description:`Empty state for the always-allowed actions list.`},"settings.localToolsPermsTitle":{message:`Permissões do sistema`,description:`Heading for the macOS system-permission section.`},"settings.localToolsPermsHint":{message:`Opcional. O acesso às pastas acima não precisa de nenhuma — conceda apenas o que uma tarefa específica exigir.`,description:`Help text under the system-permissions heading.`},"settings.localToolsPermFullDisk":{message:`Acesso total ao disco`,description:`macOS Full Disk Access permission row.`},"settings.localToolsPermScreen":{message:`Gravação de tela`,description:`macOS Screen Recording permission row.`},"settings.localToolsPermAccessibility":{message:`Acessibilidade`,description:`macOS Accessibility permission row.`},"settings.localToolsGranted":{message:`Concedido`,description:`Status tag when a system permission is granted.`},"settings.localToolsNotGranted":{message:`Não concedido`,description:`Status tag when a system permission is not granted.`},"settings.localToolsOpen":{message:`Abrir…`,description:`Button to open the relevant macOS System Settings pane.`},"settings.subsites":{message:`Meus Subsites`,description:`Título da aba de gerenciamento de subsites na janela de configurações. Visível apenas no site oficial, subsites não são exibidos.`},"settings.adminOnlyHint":{message:`Esta seção é visível apenas para administradores do site, usuários comuns não podem acessar.`,description:`Mensagem exibida no topo das configurações do site / configurações de SEO / configurações de distribuição / configurações de funcionalidades, indicando que apenas administradores podem ver essas configurações.`},"settings.officialOnlyHint":{message:`Esta seção é visível apenas no site principal, não será exibida nas subestações.`,description:`Mensagem exibida no topo da aba 'Minhas Subestações', informando que este acesso aparece apenas no site oficial principal.`},"settings.customDomain":{message:`Domínio personalizado`,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:`Construir Agora`,description:`Texto do botão 'Construir Subsite' na página sobre, visível apenas no site oficial`},"settings.poweredBy":{message:`Projeto Open Source`,description:`Título que mostra em qual projeto open source o site é baseado na página sobre`},"settings.poweredByTip":{message:`Este site é baseado no projeto open source Nexior, com código totalmente aberto.`,description:`Descrição que mostra em qual projeto open source o site é baseado na página sobre`},"settings.apiService":{message:`Serviço API`,description:`Título que mostra o provedor do serviço API na página sobre`},"settings.apiServiceTip":{message:`O serviço API deste site é fornecido pela Ace Data Cloud.`,description:`Descrição que mostra o provedor do serviço API na página sobre`},"settings.buildYourOwn":{message:`Construa o Seu`,description:`Título que informa ao usuário que ele pode construir um site semelhante na página sobre`},"settings.buildYourOwnTip":{message:`Quer construir um site de IA semelhante? Entre em contato para obter suporte de implantação.`,description:`Descrição sobre como construir um site semelhante na página sobre`},"settings.contactUs":{message:`Fale Conosco`,description:`Texto do botão para entrar em contato com o suporte`},"message.viewOnGithub":{message:`Ver no GitHub`,description:`Texto do link para visualizar o projeto no GitHub`},"title.notFound":{message:`Página Não Encontrada`,description:`Título da página 404`},"message.notFound":{message:`A página que você acessou não existe, o link pode ter sido alterado ou removido. Volte para a página inicial e continue explorando os serviços de IA da AceData.`,description:`Descrição da página 404`},"message.notFoundEyebrow":{message:`Ocorreu um Erro`,description:`Texto da pequena etiqueta no topo da página 404`},"message.notFoundPath":{message:`Caminho da Solicitação`,description:`Etiqueta que exibe o caminho da solicitação atual na página 404`},"button.backToHome":{message:`Voltar para a Página Inicial`,description:`Texto do botão para retornar à página inicial`},"button.goBack":{message:`Voltar à Página Anterior`,description:`Texto do botão para voltar à página anterior no histórico de navegação`},"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. Replace <YOUR_API_KEY> with a key from your platform console.`,description:`Helper text shown above the code tabs in the API code dialog, explaining how to use the snippet`},"tab.apiRequest":{message:`Solicitação`,description:`Rótulo da aba do diálogo de código da API para o trecho de solicitação (o código que reproduz o resultado atual).`},"tab.apiResponse":{message:`Resposta`,description:`Rótulo da aba do diálogo de código da API para a resposta ao vivo retornada após clicar em Executar.`},"button.apiRun":{message:`Executar novamente`,description:`Botão do diálogo de código da API que executa novamente a solicitação ao vivo contra a API usando a chave do usuário. O resultado já existe, então clicar executa novamente, e é cobrado.`},"button.apiRunning":{message:`Executando…`,description:`Rótulo do botão Executar no diálogo de código da API enquanto a solicitação ao vivo está em andamento.`},"button.apiRunConfirm":{message:`Confirmar execução`,description:`Rótulo do botão de confirmação no diálogo que avisa que a execução aqui consome créditos extras.`},"button.viewDocs":{message:`Ver documentação`,description:`Botão no rodapé do diálogo de código da API que abre a página de documentação da API correspondente na plataforma.`},"message.apiClickRun":{message:`Clique em 'Executar novamente' para usar sua chave da API e executar esta solicitação em tempo real.`,description:`Estado vazio da aba de Resposta do diálogo de código da API, exibido antes que o usuário execute a solicitação.`},"message.apiRunConfirmTitle":{message:`Confirmar execução`,description:`Título do diálogo de confirmação exibido antes de reexecutar uma solicitação do diálogo de código da API.`},"message.apiRunConfirmDesc":{message:`Esta execução usará sua chave da API para chamar o endpoint de forma real e consumirá créditos adicionais. Você confirma que deseja continuar?`,description:`Corpo do diálogo de confirmação avisando que a reexecução da solicitação é uma chamada real da API que gera cobrança.`},"message.apiRunConfirmSkip":{message:`Não avisar novamente`,description:`Caixa de seleção no diálogo de confirmação de execução que, quando marcada, suprime o aviso em execuções subsequentes.`},"message.apiRunTaskCreated":{message:`Tarefa criada, feche esta janela para ver os resultados mais recentes abaixo.`,description:`Banner de sucesso exibido no diálogo de código da API após uma execução retornar um ID de tarefa, indicando que a nova tarefa já aparece na lista atrás do diálogo.`},"button.apiViewLatest":{message:`Fechar e Ver`,description:`Botão no banner de sucesso do diálogo de código da API que fecha o diálogo para que o usuário possa ver a nova tarefa criada na lista abaixo.`},"message.uploadInProgress":{message:`Os envios de referência ainda estão em andamento — aguarde um momento.`,description:`Toast shown when the user clicks the Generate button while one or more reference uploads are still in flight. Asks them to wait for uploads to complete before retrying.`},"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.`},"nav.maestro":{message:`Maestro`,description:`Texto da página de conversão de artigos em vídeos do Maestro na barra de navegação, mantenha como '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.`}};export{e as default};
|