@acedatacloud/nexior 3.329.9 → 3.329.11
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-DGspQCne.js → ApiCodeButton-CG1Jm4Bw.js} +1 -1
- package/dist/assets/{Artifacts-RXKnwjz-.js → Artifacts-CwRNgFbS.js} +1 -1
- package/dist/assets/{AskUserQuestionCard-COBORalu.js → AskUserQuestionCard-DUIyEafx.js} +2 -2
- package/dist/assets/{AudioPreview-Cjm1qjl_.js → AudioPreview-6dpV-P5N.js} +1 -1
- package/dist/assets/{Auth-D_0zDgEA.js → Auth-7ql_XQPz.js} +1 -1
- package/dist/assets/{Bare-CmKvjYfD.js → Bare-fSH3Nvxs.js} +1 -1
- package/dist/assets/{BotPlaceholder-BaGJrvP1.js → BotPlaceholder-BMVLk4eG.js} +1 -1
- package/dist/assets/{BottomFooter-CKgJfxEA.js → BottomFooter-Dlt9lF71.js} +1 -1
- package/dist/assets/{Callback-BlyfdYEO.js → Callback-D25XGLZz.js} +1 -1
- package/dist/assets/{CodeSnippet-BNeYfLCp.js → CodeSnippet-FUxYGv5R.js} +1 -1
- package/dist/assets/{Console-CcydTGpJ.js → Console-qAwL4Mzi.js} +1 -1
- package/dist/assets/{Consumption-DAfEEkV0.js → Consumption-Bj37hM4d.js} +1 -1
- package/dist/assets/{Conversation-C4sGCl5z.js → Conversation-ChW4kfV7.js} +1 -1
- package/dist/assets/{Conversation-B-nNF1fN.js → Conversation-_YXE-Ly1.js} +1 -1
- package/dist/assets/{CopyToClipboard-BBWmrDvx.js → CopyToClipboard-4xQr857S.js} +1 -1
- package/dist/assets/Detail-Bzz9Z0pp.js +2 -0
- package/dist/assets/Extra-D5jK-yv8.js +1 -0
- package/dist/assets/{FilePreview-BfotHNC4.js → FilePreview-4gURrzW5.js} +1 -1
- package/dist/assets/{Hailuo-CZRm6RCv.js → Hailuo-BwROSVEX.js} +1 -1
- package/dist/assets/{History-Cs9BEzo-.js → History-Dr3nG_DD.js} +1 -1
- package/dist/assets/{ImagePreview-CJE56Esk.js → ImagePreview-DLb0QODP.js} +1 -1
- package/dist/assets/{ImageWrapper-BtiRJPKW.js → ImageWrapper-B8QmZGpi.js} +1 -1
- package/dist/assets/{Index-DszBfAn2.js → Index-5kbSq_K7.js} +1 -1
- package/dist/assets/{Index-C6Co5Kut.js → Index-B0xDqwFZ.js} +1 -1
- package/dist/assets/{Index-QdgQQNW5.js → Index-B19mDumb.js} +1 -1
- package/dist/assets/Index-BPyG3ypl.js +1 -0
- package/dist/assets/{Index-D6Q0LttT.js → Index-BcCsCBuD.js} +1 -1
- package/dist/assets/{Index-7MtLTvjs.js → Index-BcNecg1L.js} +1 -1
- package/dist/assets/{Index-CDxBVpsY.js → Index-BpS54m-Q.js} +1 -1
- package/dist/assets/{Index-BsTGoTOb.js → Index-BvriOoCU.js} +1 -1
- package/dist/assets/{Index-CA6YJz_v.js → Index-BwomYZxE.js} +1 -1
- package/dist/assets/Index-C3CTyQMx.css +1 -0
- package/dist/assets/{Index-CQM6690b.js → Index-C3b0ETrg.js} +1 -1
- package/dist/assets/{Index-CDEvbKHV.js → Index-C99yg-2o.js} +1 -1
- package/dist/assets/{Index-CZmNN4i1.js → Index-CJETqRO2.js} +1 -1
- package/dist/assets/{Index-DgqMnF2y.js → Index-CM0O8uE2.js} +1 -1
- package/dist/assets/{Index-nGN1vbE9.js → Index-CMcOnUkP.js} +2 -2
- package/dist/assets/{Index-Z9JugP_K.js → Index-CROyGwKD.js} +1 -1
- package/dist/assets/{Index-qF_2Wd2g.js → Index-ChsrCHWo.js} +1 -1
- package/dist/assets/Index-CwhlqhGT.js +1 -0
- package/dist/assets/{Index-BaB2aoIe.js → Index-D2TrqoIs.js} +1 -1
- package/dist/assets/Index-DQkx2KPl.js +1 -0
- package/dist/assets/{Index-kSViP_56.js → Index-DWoQRQvX.js} +1 -1
- package/dist/assets/{Index-TRnL3KT5.js → Index-DqYuqTAv.js} +1 -1
- package/dist/assets/{Index-BZ9gj6Xn.js → Index-DrRJF84u.js} +1 -1
- package/dist/assets/{Index-BV4xpBOc.js → Index-Dreo2G__.js} +1 -1
- package/dist/assets/{Index-CGnqaYNC.js → Index-DsE1t7gT.js} +1 -1
- package/dist/assets/{Index-DK90Vi58.js → Index-ForpLUur.js} +1 -1
- package/dist/assets/Index-GTS5Kyqd.js +1 -0
- package/dist/assets/{Index-IIQ7wZGt.js → Index-IC8ku1D1.js} +1 -1
- package/dist/assets/{Index-Defu1fwa.js → Index-XaH_GQuv.js} +1 -1
- package/dist/assets/{Index-DicjREs3.js → Index-rHNkmWfS.js} +1 -1
- package/dist/assets/{Invitees-DMaKAFFe.js → Invitees-MIcioU4M.js} +1 -1
- package/dist/assets/List-CdhbDGUa.js +1 -0
- package/dist/assets/{List-Br6k9Tp2.js → List-DMx1WkyN.js} +1 -1
- package/dist/assets/{List-Dio8PztR.js → List-DuNGgeMg.js} +1 -1
- package/dist/assets/{LocalTools-BOuWVt4R.js → LocalTools-C91o68x_.js} +3 -3
- package/dist/assets/{LocalTools-IIO7ueaX.js → LocalTools-DoPnbD4m.js} +1 -1
- package/dist/assets/{Main-BTQgtI8x.js → Main-DgdcmUec.js} +1 -1
- package/dist/assets/{Message-ByAPJsqV.js → Message-Bj3RZX6Q.js} +2 -2
- package/dist/assets/Model-Dg1jLKNy.js +1 -0
- package/dist/assets/Navigator-CznxnQ2z.js +8 -0
- package/dist/assets/{Navigator-CnTiwgGk.css → Navigator-clgXCsVw.css} +1 -1
- package/dist/assets/{NotFound-D9CtRxnj.js → NotFound-D0P6CeGz.js} +1 -1
- package/dist/assets/{Pay-B49jlRB6.js → Pay-dMJPSIcZ.js} +1 -1
- package/dist/assets/{Player-DtaH2oxS.js → Player-Bqj3WE09.js} +1 -1
- package/dist/assets/{PromptTextarea-CvdjJhVh.js → PromptTextarea-B3aLjMPY.js} +1 -1
- package/dist/assets/{RealtimeCall-DgEYevkE.js → RealtimeCall-Ceq7ZKMu.js} +1 -1
- package/dist/assets/{ScheduledTasks-CHzGAdeZ.js → ScheduledTasks-BE3Q_e1R.js} +2 -2
- package/dist/assets/{Status-CzWTm_Li.js → Status-CC8dGwOn.js} +1 -1
- package/dist/assets/{Subscribe-CWKKvBDQ.js → Subscribe-CYF3beFu.js} +1 -1
- package/dist/assets/{TabSwitcher-C--QwGKY.js → TabSwitcher-BvwSFYbP.js} +1 -1
- package/dist/assets/{Tts-BVKd4aF_.js → Tts-BgyCBMvw.js} +1 -1
- package/dist/assets/{VideoPlayer-BUBn3OUd.js → VideoPlayer-U4h5oP99.js} +1 -1
- package/dist/assets/{alert-Dwk1cmIg.js → alert-DuYRH84s.js} +1 -1
- package/dist/assets/{avatar-AYT20WXS.js → avatar-XiU9hhVu.js} +1 -1
- package/dist/assets/{basic-CNJQ-9s3.js → basic-CvKd2CwU.js} +1 -1
- package/dist/assets/{chat-c--oyizg.js → chat-C8w5bXWO.js} +1 -1
- package/dist/assets/{codingBridge-DOTR5ey5.js → codingBridge-BavDkFyu.js} +2 -2
- package/dist/assets/{codingBridgeNotify-C7bCny15.js → codingBridgeNotify-D6dEwYmc.js} +2 -2
- package/dist/assets/{collapse-ZEBxA-pL.js → collapse-ZDee5dC-.js} +1 -1
- package/dist/assets/{constants-BC87sw1I.js → constants-B8uUjFZV.js} +1 -1
- package/dist/assets/{createTaskActions-BKzqp6Rg.js → createTaskActions-Cv2Rq8dT.js} +1 -1
- package/dist/assets/{date-picker-C19ju9Cu.js → date-picker-CAqukGDF.js} +1 -1
- package/dist/assets/{digitalhuman-B_t68ub5.js → digitalhuman-DJ5p4kDB.js} +1 -1
- package/dist/assets/{drawer-GvrpLfKt.js → drawer-CVXck3YU.js} +1 -1
- package/dist/assets/{dropdown-D0H8nDj8.js → dropdown-BZCDzK6S.js} +1 -1
- package/dist/assets/{dropdown-B6H-kLGb.js → dropdown-CrF8H5y8.js} +1 -1
- package/dist/assets/{esm-CRO50hS5.js → esm-4iStRzRt.js} +1 -1
- package/dist/assets/{esm-HJle8pQq.js → esm-BMJ2U5dE.js} +2 -2
- package/dist/assets/{esm-DVqBOzVr.js → esm-BQzyDSqC.js} +2 -2
- package/dist/assets/{esm-DZ0N_cvw.js → esm-BmrRPBmv.js} +1 -1
- package/dist/assets/esm-DaQ8Gaf4.js +1 -0
- package/dist/assets/{esm-CwWjc9l7.js → esm-Jk2X6tbl.js} +1 -1
- package/dist/assets/{esm-DTutmJIQ.js → esm-bNsj9K0h.js} +3 -3
- package/dist/assets/fish-IWVmYMrY.js +1 -0
- package/dist/assets/{flux-W76NOA73.js → flux-Bp58flCK.js} +1 -1
- package/dist/assets/{grokvideo-DgFmw5pl.js → grokvideo-Akr2eoQm.js} +1 -1
- package/dist/assets/{pixverse-CM470Vki.js → hailuo-CokYABi_.js} +1 -1
- package/dist/assets/{i18n-BOpBE-r7.js → i18n-BkWSZrqS.js} +1 -1
- package/dist/assets/image-DPdsJShH.js +1 -0
- package/dist/assets/index-CUcxfoFQ.js +570 -0
- package/dist/assets/{index.browser.esm-DI2v96pn.js → index.browser.esm-rLY3KLOJ.js} +1 -1
- package/dist/assets/{index.es-0UW6le61.js → index.es-D-PWel10.js} +1 -1
- package/dist/assets/{input-number-DPRw7cDK.js → input-number-DLdtedFB.js} +1 -1
- package/dist/assets/{kling-CZkI90sG.js → kling-B9IctCIy.js} +1 -1
- package/dist/assets/{luma-1i20mh6a.js → luma-DpH_rbld.js} +1 -1
- package/dist/assets/{maestro-CT7R6ujs.js → maestro-C-TJzOqr.js} +1 -1
- package/dist/assets/{maestro-dyyJ2NWX.js → maestro-DMZfB_Zt.js} +1 -1
- package/dist/assets/{midjourney-CDNzuouA.js → midjourney-D1OWC6_r.js} +1 -1
- package/dist/assets/{mobileLocalExec-DqvteJLq.js → mobileLocalExec-7wbCDXBZ.js} +2 -2
- package/dist/assets/{nanobanana-Ct1sWtLD.js → nanobanana-BeNs-5M-.js} +1 -1
- package/dist/assets/{omni-BMPaSE__.js → omni-BlAjUf2J.js} +1 -1
- package/dist/assets/{openaiimage-DLL26VcO.js → openaiimage-BHFSOvJB.js} +1 -1
- package/dist/assets/{pagination-Dp7PYsKz.js → pagination-CvWNFnnW.js} +1 -1
- package/dist/assets/{pagination-BqJHSmW4.js → pagination-DRyq9A8R.js} +1 -1
- package/dist/assets/pika-f5dY1atM.js +1 -0
- package/dist/assets/{sora-Dgz5D3w-.js → pixverse-DUUeOSp2.js} +1 -1
- package/dist/assets/{popover-Btt3bdEi.js → popover-CbW3-XNp.js} +1 -1
- package/dist/assets/{producer-CtBY7zVd.js → producer-6G-5Wvxf.js} +1 -1
- package/dist/assets/{qrart-B-vrFWR7.js → qrart-CHmROaKp.js} +1 -1
- package/dist/assets/realtime-DJa9E2W5.js +1 -0
- package/dist/assets/{row-kgzhnw2k.js → row-CTZOiKgC.js} +1 -1
- package/dist/assets/{seedance-CdPlSyGQ.js → seedance-BetAC1Jy.js} +1 -1
- package/dist/assets/{seedream-BaVuQZrf.js → seedream-BXlZvSaG.js} +1 -1
- package/dist/assets/{select-BktK--V_.js → select-DBWuXcpS.js} +1 -1
- package/dist/assets/{serp-BsQ-z0Ss.js → serp-CXvhhfu0.js} +1 -1
- package/dist/assets/{site-BQfQMZQr.js → site-7yYocA_o.js} +1 -1
- package/dist/assets/{site-CAGh6TQC.js → site-BElwsMTp.js} +1 -1
- package/dist/assets/{site-BHcDiKLj.js → site-BPS-mxbC.js} +1 -1
- package/dist/assets/{site-BZZemKxl.js → site-B_SIsue2.js} +1 -1
- package/dist/assets/{site-DY_MbOG6.js → site-B_jOheYE.js} +1 -1
- package/dist/assets/{site-C3CQKmZq.js → site-BbumJSPG.js} +1 -1
- package/dist/assets/{site-_Jqcri8U.js → site-C6NVVkT_.js} +1 -1
- package/dist/assets/{site-yMcGuPHd.js → site-CIqGXhRS.js} +1 -1
- package/dist/assets/{site-DwtePFCn.js → site-CSXJqg0T.js} +1 -1
- package/dist/assets/{site-BxVWTq4g.js → site-CqUpYWzF.js} +1 -1
- package/dist/assets/{site-COpAulnW.js → site-DDknJdLt.js} +1 -1
- package/dist/assets/{site-DdK3qhCu.js → site-DLK5-Lvr.js} +1 -1
- package/dist/assets/{site-CMkx2yEz.js → site-DliZgEar.js} +1 -1
- package/dist/assets/{site-MZ1zU7Z_.js → site-Dm2G9RlS.js} +1 -1
- package/dist/assets/{site-YwfevR16.js → site-DrSD1XOy.js} +1 -1
- package/dist/assets/{site-DP__i3mc.js → site-HpqtU-8p.js} +1 -1
- package/dist/assets/{site-panwJIyw.js → site-N_NE5Oap.js} +1 -1
- package/dist/assets/{site-CcpoFc-S.js → site-w7YDM6-J.js} +1 -1
- package/dist/assets/{slider-BIxh-I1a.js → slider-DZdBMWlx.js} +1 -1
- package/dist/assets/{solana-wallets-hoywCK88.js → solana-wallets-Bjtwt2Yo.js} +2 -2
- package/dist/assets/{solana-wallets-vue-eNNjqwtC.js → solana-wallets-vue-BnJHkIdz.js} +1 -1
- package/dist/assets/{pika-DTdLDJ4M.js → sora-BSgkcpPf.js} +1 -1
- package/dist/assets/{suno-5ouwiCcw.js → suno-TuTyzdcf.js} +1 -1
- package/dist/assets/{switch-CJnGNxo1.js → switch-DZCxODpm.js} +1 -1
- package/dist/assets/{table-CGV-Q8wK.js → table-LtJGCN70.js} +1 -1
- package/dist/assets/{tabs-BqkM19Q4.js → tabs-mnUJRmoF.js} +1 -1
- package/dist/assets/{time-picker-DIsoI1Eg.js → time-picker-uGA3jSAE.js} +1 -1
- package/dist/assets/{tooltip-CvEPotyQ.js → tooltip-DzuiDugy.js} +1 -1
- package/dist/assets/{upload-CUgJRfvf.js → upload-1mnQd7_g.js} +1 -1
- package/dist/assets/{veo-DNCw_zfL.js → veo-B-gbcl8n.js} +1 -1
- package/dist/assets/{wan-D8AaJQN-.js → wan-CJXVvN5f.js} +1 -1
- package/dist/assets/{web-Bvvb0Lgk.js → web-BMtg5vnv.js} +1 -1
- package/dist/assets/{web-sQLqnMnj.js → web-BnV2acRi.js} +1 -1
- package/dist/assets/{web-BoE-dYgh.js → web-Clop-Y6D.js} +1 -1
- package/dist/assets/{web-C3P0phDP.js → web-DYntXrtb.js} +1 -1
- package/dist/assets/{web-BrN1_z9O.js → web-H0rZQW9Y.js} +1 -1
- package/dist/assets/{webextrator-CUE8PWA-.js → webextrator-DIzVOpsC.js} +1 -1
- package/dist/index.html +3 -3
- package/package.json +1 -1
- package/dist/assets/Detail-DdT5mRu_.js +0 -2
- package/dist/assets/Extra-DcQ1OySr.js +0 -1
- package/dist/assets/Index-B50epJt4.css +0 -1
- package/dist/assets/Index-CryhzamZ.js +0 -1
- package/dist/assets/Index-DDhRsq4R.js +0 -1
- package/dist/assets/Index-DQi--MMP.js +0 -1
- package/dist/assets/Index-s7PR3dRx.js +0 -1
- package/dist/assets/List-D9NiHTVi.js +0 -1
- package/dist/assets/Model-B7XvGVyC.js +0 -1
- package/dist/assets/Navigator-DT2XnYO4.js +0 -8
- package/dist/assets/esm-DU4for1p.js +0 -1
- package/dist/assets/fish-hr4g0eWe.js +0 -1
- package/dist/assets/hailuo-CdnqAr2C.js +0 -1
- package/dist/assets/image-YJeVEMsR.js +0 -1
- package/dist/assets/index-CGmTZItr.js +0 -570
- package/dist/assets/realtime-TBM88yF0.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
.avatar[data-v-b0beddd3]{width:35px;height:35px;max-width:initial;max-height:initial;-o-object-fit:cover;object-fit:cover;cursor:pointer;border-radius:50%;transition:transform .2s,box-shadow .2s}.avatar[data-v-b0beddd3]:hover{box-shadow:0 0 0 2px var(--el-color-primary-light-5)}.hint[data-v-a058f162]{color:var(--el-text-color-secondary);margin:4px 0 0;font-size:12px;line-height:1.5}.current-key[data-v-a058f162]{color:var(--el-text-color-secondary);flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0;font-size:12px;display:flex}.current-key code[data-v-a058f162]{color:var(--el-text-color-primary)}.w-full[data-v-a058f162]{width:100%}.provider-option[data-v-a058f162]{flex-direction:column;gap:2px;line-height:1.3;display:flex}.provider-name[data-v-a058f162]{color:var(--el-text-color-primary);font-size:14px}.provider-desc[data-v-a058f162]{color:var(--el-text-color-secondary);font-size:12px}.test-result[data-v-a058f162]{border:1px solid #0000;border-radius:6px;margin:4px 0 0;padding:12px 14px;font-size:13px;line-height:1.5}.test-result.ok[data-v-a058f162]{background:var(--el-color-success-light-9,#f0f9eb);border-color:var(--el-color-success-light-7,#b3e19d);color:var(--el-color-success-dark-2,#5daf34)}.test-result.fail[data-v-a058f162]{background:var(--el-color-danger-light-9,#fef0f0);border-color:var(--el-color-danger-light-7,#fab6b6);color:var(--el-color-danger-dark-2,#b94343)}.test-result-title[data-v-a058f162]{margin:0 0 6px;font-weight:600}.test-result-detail[data-v-a058f162]{-moz-column-gap:12px;grid-template-columns:minmax(72px,max-content) 1fr;gap:4px 12px;margin:0;display:grid}.test-result-detail dt[data-v-a058f162]{color:var(--el-text-color-regular);font-weight:500}.test-result-detail dd[data-v-a058f162]{word-break:break-all;color:var(--el-text-color-primary);margin:0}.test-result-detail code[data-v-a058f162]{background:#0000000a;border-radius:4px;padding:1px 6px;font-size:12px}.byok-provider-select-popper .el-select-dropdown__item{height:auto;padding-top:8px;padding-bottom:8px;line-height:1.4}.byok[data-v-4e5854a0]{flex-direction:column;gap:12px;display:flex}.byok-intro-tip[data-v-4e5854a0]{color:var(--el-text-color-secondary);margin:0;font-size:12px;line-height:1.6}.byok-actions[data-v-4e5854a0]{justify-content:flex-end;display:flex}.byok-table[data-v-4e5854a0]{width:100%}.byok-table[data-v-4e5854a0] .cell{word-break:break-word}.memory-setting .hint[data-v-99299e7e]{margin:0;font-size:13px;line-height:1.6}.memory-setting .muted[data-v-99299e7e]{color:var(--el-text-color-secondary,#909399)}.memory-setting .memory-toggle-row[data-v-99299e7e]{border-bottom:1px solid var(--el-border-color-lighter,#ebeef5);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.memory-setting .memory-toggle-row .toggle-title[data-v-99299e7e]{margin-bottom:2px;font-weight:600}.memory-setting .memory-toggle-row[data-v-99299e7e] .el-switch{flex-shrink:0}.memory-setting .section-head[data-v-99299e7e]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.memory-setting .section-head h3[data-v-99299e7e]{margin:0;font-size:15px;font-weight:600}.memory-setting .section-actions[data-v-99299e7e]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.memory-setting .section-actions[data-v-99299e7e] .el-button{flex-shrink:0}.memory-setting .rows[data-v-99299e7e]{border:1px solid var(--el-border-color-lighter,#ebeef5);border-radius:8px;margin:0;padding:0;list-style:none;overflow:hidden}.memory-setting .memory-row[data-v-99299e7e]{border-bottom:1px solid var(--el-border-color-lighter,#ebeef5);align-items:flex-start;gap:12px;padding:12px 14px;transition:background-color .15s;display:flex}.memory-setting .memory-row[data-v-99299e7e]:last-child{border-bottom:none}.memory-setting .memory-row[data-v-99299e7e]:hover{background:var(--el-fill-color-light,#f5f7fa)}.memory-setting .memory-row .row-icon[data-v-99299e7e]{color:var(--el-text-color-secondary,#909399);flex-shrink:0;margin-top:3px}.memory-setting .memory-row .memory-content[data-v-99299e7e]{overflow-wrap:break-word;flex:1;min-width:0;line-height:1.6}.memory-setting .memory-row[data-v-99299e7e] .el-button{flex-shrink:0}.import-step+.import-step[data-v-99299e7e]{margin-top:20px}.import-step-title[data-v-99299e7e]{margin-bottom:8px;font-weight:600}.import-step[data-v-99299e7e] .el-button{margin-top:8px}.edit-dialog .edit-body{justify-content:center;width:100%;display:flex}.vue-advanced-cropper{text-align:center;-webkit-user-select:none;user-select:none;direction:ltr;max-width:100%;max-height:100%;position:relative}.vue-advanced-cropper__stretcher{pointer-events:none;max-width:100%;max-height:100%;position:relative}.vue-advanced-cropper__image{-webkit-user-select:none;user-select:none;transform-origin:50%;position:absolute;max-width:none!important}.vue-advanced-cropper__background,.vue-advanced-cropper__foreground{opacity:1;background:#000;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vue-advanced-cropper__foreground{opacity:.5}.vue-advanced-cropper__boundaries{opacity:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vue-advanced-cropper__cropper-wrapper{width:100%;height:100%}.vue-advanced-cropper__image-wrapper{width:100%;height:100%;position:absolute;overflow:hidden}.vue-advanced-cropper__stencil-wrapper{position:absolute}.vue-simple-handler{background:#fff;width:10px;height:10px;display:block}.vue-handler-wrapper{width:30px;height:30px;position:absolute;transform:translate(-50%,-50%)}.vue-handler-wrapper__draggable{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.vue-handler-wrapper--west-north{cursor:nw-resize}.vue-handler-wrapper--north{cursor:n-resize}.vue-handler-wrapper--east-north{cursor:ne-resize}.vue-handler-wrapper--east{cursor:e-resize}.vue-handler-wrapper--east-south{cursor:se-resize}.vue-handler-wrapper--south{cursor:s-resize}.vue-handler-wrapper--west-south{cursor:sw-resize}.vue-handler-wrapper--west{cursor:w-resize}.vue-handler-wrapper--disabled{cursor:auto}.vue-line-wrapper{background:0 0;justify-content:center;align-items:center;display:flex;position:absolute}.vue-line-wrapper--north,.vue-line-wrapper--south{width:100%;height:12px;left:0;transform:translateY(-50%)}.vue-line-wrapper--north{cursor:n-resize;top:0}.vue-line-wrapper--south{cursor:s-resize;top:100%}.vue-line-wrapper--east,.vue-line-wrapper--west{width:12px;height:100%;top:0;transform:translate(-50%)}.vue-line-wrapper--east{cursor:e-resize;left:100%}.vue-line-wrapper--west{cursor:w-resize;left:0}.vue-line-wrapper--disabled{cursor:auto}.vue-bounding-box{width:100%;height:100%;position:relative}.vue-bounding-box__handler{position:absolute}.vue-bounding-box__handler--west-north{top:0;left:0}.vue-bounding-box__handler--north{top:0;left:50%}.vue-bounding-box__handler--east-north{top:0;left:100%}.vue-bounding-box__handler--east{top:50%;left:100%}.vue-bounding-box__handler--east-south{top:100%;left:100%}.vue-bounding-box__handler--south{top:100%;left:50%}.vue-bounding-box__handler--west-south{top:100%;left:0}.vue-bounding-box__handler--west{top:50%;left:0}.vue-draggable-area{position:relative}.vue-preview-result{box-sizing:border-box;width:100%;height:100%;position:absolute;overflow:hidden}.vue-preview-result__wrapper{position:absolute}.vue-preview-result__image{pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:50%;position:relative;max-width:none!important}.vue-rectangle-stencil{box-sizing:border-box;width:100%;height:100%;position:absolute}.vue-rectangle-stencil__preview{width:100%;height:100%;position:absolute}.vue-rectangle-stencil--movable{cursor:move}.vue-circle-stencil{box-sizing:content-box;cursor:move;width:100%;height:100%;position:absolute}.vue-circle-stencil__preview{border-radius:50%;width:100%;height:100%;position:absolute}.vue-circle-stencil--movable{cursor:move}.vue-preview{box-sizing:border-box;position:relative;overflow:hidden}.vue-preview--fill,.vue-preview__wrapper{width:100%;height:100%;position:absolute}.vue-preview__image{pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:50%;position:absolute;max-width:none!important}.vue-simple-line{background:0 0;border:0 solid #ffffff4d;transition:border .5s}.vue-simple-line--south,.vue-simple-line--north{width:100%;height:0}.vue-simple-line--east,.vue-simple-line--west{width:0;height:100%}.vue-simple-line--east{border-right-width:1px}.vue-simple-line--west{border-left-width:1px}.vue-simple-line--south{border-bottom-width:1px}.vue-simple-line--north{border-top-width:1px}.vue-simple-line--hover{opacity:1;border-color:#fff}.cropper-shell[data-v-457c9f79]{flex-direction:column;gap:12px;display:flex}.cropper-shell .cropper[data-v-457c9f79]{background-color:#fafafa;background-image:linear-gradient(45deg,#d8d8d8 25%,#0000 25%),linear-gradient(-45deg,#d8d8d8 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#d8d8d8 75%),linear-gradient(-45deg,#0000 75%,#d8d8d8 75%);background-position:0 0,0 8px,8px -8px,8px 0;background-size:16px 16px;border-radius:8px;width:100%;height:360px;overflow:hidden}.cropper-shell .toolbar[data-v-457c9f79]{justify-content:center;display:flex}.cropper-shell .toolbar[data-v-457c9f79] .el-button{min-width:56px;height:44px;padding:0 18px}.cropper-shell .toolbar[data-v-457c9f79] .el-button .el-icon{font-size:22px}.dropzone[data-v-457c9f79]{border:2px dashed var(--el-border-color);cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:360px;transition:border-color .2s,background .2s;display:flex}.dropzone[data-v-457c9f79]:hover{border-color:var(--el-color-primary);background:var(--el-fill-color-light)}.dropzone .dropzone-icon[data-v-457c9f79]{color:var(--el-text-color-secondary);font-size:36px}.dropzone .dropzone-text[data-v-457c9f79]{color:var(--el-text-color-primary);margin:0;font-size:14px}.dropzone .dropzone-hint[data-v-457c9f79]{color:var(--el-text-color-secondary);margin:0;font-size:12px}.edit[data-v-a74791d4]{cursor:pointer;margin-left:5px;position:relative;top:2px}.edit .icon[data-v-a74791d4]{font-size:14px}.user-chip[data-v-380498e3]{max-width:100%;color:var(--el-text-color-regular);align-items:center;gap:6px;font-size:13px;line-height:1.4;display:inline-flex}.user-chip.is-empty[data-v-380498e3]{color:var(--el-text-color-secondary)}.user-chip.is-missing[data-v-380498e3]{color:var(--el-text-color-secondary);font-style:italic}.user-chip .user-chip__avatar[data-v-380498e3]{flex-shrink:0}.user-chip .user-chip__name[data-v-380498e3]{white-space:nowrap;font-weight:500}.user-chip .user-chip__icon[data-v-380498e3]{color:var(--el-text-color-secondary);flex-shrink:0;font-size:14px}.user-chip .user-chip__contact[data-v-380498e3]{color:var(--el-text-color-secondary);font-size:12px;font-family:var(--el-font-family-mono,ui-monospace, SFMono-Regular, Menlo, monospace);white-space:nowrap}.user-chip .user-chip__id[data-v-380498e3]{font-family:var(--el-font-family-mono,ui-monospace, SFMono-Regular, Menlo, monospace);font-size:12px}.user-picker__option[data-v-9477c0da]{align-items:center;gap:10px;padding:4px 0;display:flex}.user-picker__option--empty[data-v-9477c0da]{color:var(--el-text-color-secondary);cursor:default;font-size:13px}.user-picker__option--excluded[data-v-9477c0da]{cursor:not-allowed;opacity:.6}.user-picker__empty-icon[data-v-9477c0da]{color:var(--el-color-warning);flex-shrink:0;font-size:14px}.user-picker__empty-text[data-v-9477c0da]{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.user-picker__excluded-tag[data-v-9477c0da]{background:var(--el-fill-color-light);color:var(--el-text-color-secondary);border-radius:4px;flex-shrink:0;margin-inline-start:6px;padding:2px 6px;font-size:11px;line-height:1.4}.user-picker__avatar[data-v-9477c0da]{flex-shrink:0}.user-picker__option-text[data-v-9477c0da]{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.user-picker__option-name[data-v-9477c0da]{color:var(--el-text-color-primary);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:14px;font-weight:500;display:flex;overflow:hidden}.user-picker__option-contact[data-v-9477c0da]{font-size:12px;font-family:var(--el-font-family-mono,ui-monospace, SFMono-Regular, Menlo, monospace);color:var(--el-text-color-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-picker__popper .el-autocomplete-suggestion__list{max-height:320px}.user-picker__popper .el-autocomplete-suggestion li{height:auto;padding:6px 12px;line-height:1.4}.edit[data-v-8e61041c]{cursor:pointer;margin-left:5px;position:relative;top:2px}.edit .icon[data-v-8e61041c]{font-size:14px}.edit-body[data-v-8e61041c]{flex-direction:column;gap:8px;width:100%;display:flex}.empty[data-v-8e61041c]{border:1px dashed var(--el-border-color);background:var(--el-fill-color-light);border-radius:6px;justify-content:center;align-items:center;min-height:36px;padding:8px;display:flex}.empty .empty-text[data-v-8e61041c]{color:var(--el-text-color-secondary);font-size:13px}.chip-list[data-v-8e61041c]{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chip-item[data-v-8e61041c]{border:1px solid var(--el-border-color-lighter);background:var(--el-fill-color-blank);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.chip-item .chip-remove[data-v-8e61041c]{cursor:pointer;color:var(--el-text-color-secondary);font-size:14px}.chip-item .chip-remove[data-v-8e61041c]:hover{color:var(--el-color-danger)}.divider[data-v-8e61041c]{margin:4px 0}.tip[data-v-8e61041c]{color:var(--el-text-color-secondary);margin:0;font-size:12px}.error[data-v-8e61041c]{color:var(--el-color-danger);align-items:center;gap:6px;margin:0;font-size:12px;display:flex}.error .error-icon[data-v-8e61041c]{font-size:14px}.dialog-footer[data-v-8e61041c]{justify-content:center;gap:12px;width:100%;display:flex}.edit[data-v-7e16c387]{cursor:pointer;margin-left:5px;position:relative;top:2px}.edit .icon[data-v-7e16c387]{font-size:14px}.hint[data-v-7e16c387]{color:var(--el-text-color-secondary);margin:0 0 12px;font-size:13px}.rows[data-v-7e16c387]{flex-direction:column;gap:16px;max-height:52vh;display:flex;overflow-y:auto}.contact-row[data-v-7e16c387]{border:1px solid var(--el-border-color-lighter);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.contact-row .row-head[data-v-7e16c387]{justify-content:space-between;align-items:center;gap:12px;display:flex}.contact-row .row-head .row-icon[data-v-7e16c387]{text-align:center;width:20px;color:var(--el-text-color-regular);flex:none;font-size:18px}.contact-row .row-head .type-select[data-v-7e16c387]{flex:1}.contact-row .qr-row[data-v-7e16c387]{align-items:center;gap:12px;display:flex}.contact-row .qr-row .qr-label[data-v-7e16c387]{color:var(--el-text-color-regular);font-size:13px}.contact-row .qr-row .qr-thumb[data-v-7e16c387]{border:1px solid var(--el-border-color-lighter);border-radius:8px;width:56px;height:56px}.add-btn[data-v-7e16c387]{margin-top:12px}.dialog-footer[data-v-7e16c387]{justify-content:flex-end;gap:12px;display:flex}.auto-translate-toggle[data-v-e08f547e]{width:26px;height:26px;margin-left:6px;padding:0}.auto-translate-toggle .icon-wrap[data-v-e08f547e]{justify-content:center;align-items:center;font-size:13px;display:inline-flex;position:relative}.auto-translate-toggle.is-off[data-v-e08f547e]{color:var(--el-text-color-secondary)}.auto-translate-toggle .dot[data-v-e08f547e]{background:var(--el-color-success);width:6px;height:6px;box-shadow:0 0 0 1px var(--el-color-white);border-radius:50%;position:absolute;top:-2px;right:-3px}.setting-notice[data-v-1633e4b5]{background:var(--el-color-info-light-9);border:1px solid var(--el-color-info-light-7);color:var(--el-color-info-dark-2);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;line-height:1.5;display:flex}.setting-notice .icon[data-v-1633e4b5]{color:var(--el-color-info);flex-shrink:0;font-size:13px}.setting-notice .text[data-v-1633e4b5]{word-break:break-word;color:inherit;flex:1}.setting-notice.admin[data-v-1633e4b5]{background:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-7);color:var(--el-color-primary-dark-2)}.setting-notice.admin .icon[data-v-1633e4b5]{color:var(--el-color-primary)}.setting-notice.official[data-v-1633e4b5]{background:var(--el-color-success-light-9);border-color:var(--el-color-success-light-7);color:var(--el-color-success-dark-2)}.setting-notice.official .icon[data-v-1633e4b5]{color:var(--el-color-success)}.settings-media[data-v-8a077ade]{background-color:var(--el-fill-color-light);border-radius:8px;max-width:120px}.settings-actions[data-v-8a077ade]{align-items:center;gap:4px;display:inline-flex}.favicon[data-v-8a077ade]{max-width:64px}.admins-list[data-v-8a077ade]{flex-direction:column;align-items:flex-end;gap:4px;max-width:100%;display:flex}.admins-chip[data-v-8a077ade]{max-width:100%}.contacts-summary[data-v-8a077ade]{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:100%;display:flex}.contacts-summary .contact-chip[data-v-8a077ade]{max-width:100%}.contacts-summary .contact-chip .chip-icon[data-v-8a077ade]{margin-right:5px;font-size:11px}.primary-color-content[data-v-8a077ade]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.primary-color-content .primary-color-value[data-v-8a077ade]{font-family:var(--el-font-family-monospace,"SFMono-Regular", Menlo, Consolas, monospace);color:var(--el-text-color-regular);text-transform:uppercase;font-size:13px}@media (width<=640px){.admins-list[data-v-8a077ade]{align-items:flex-start}}.site-services-settings .default-price-section[data-v-bee08043]{border:1px solid var(--el-border-color-lighter);background:var(--el-fill-color-extra-light);border-radius:8px;justify-content:space-between;align-items:center;gap:24px;margin-top:12px;padding:16px;display:flex}.site-services-settings .default-price-section .markup-row[data-v-bee08043]{flex-shrink:0;align-items:center;gap:10px;display:flex}.site-services-settings .default-price-section .markup-input[data-v-bee08043]{width:180px}.site-services-settings .default-price-section .markup-percent[data-v-bee08043]{color:var(--el-color-primary);font-variant-numeric:tabular-nums;font-weight:600}.site-services-settings .header[data-v-bee08043]{justify-content:space-between;align-items:flex-start;gap:12px;margin:12px 0;display:flex}.site-services-settings .settings-title[data-v-bee08043]{font-weight:600}.site-services-settings .settings-tip[data-v-bee08043]{color:var(--el-text-color-secondary);margin-top:2px;font-size:12px}.site-services-settings .list-card[data-v-bee08043]{border:1px solid var(--el-border-color-lighter)}.site-services-settings .overrides-table[data-v-bee08043]{width:100%}.site-services-settings .overrides-table .service-cell[data-v-bee08043]{align-items:center;gap:8px;display:flex}.site-services-settings .overrides-table .service-cell .service-favicon[data-v-bee08043]{-o-object-fit:contain;object-fit:contain;border-radius:4px;flex-shrink:0;width:22px;height:22px}.site-services-settings .overrides-table .service-cell .service-cell-text[data-v-bee08043]{flex-direction:column;gap:2px;display:flex}.site-services-settings .muted[data-v-bee08043]{color:var(--el-text-color-secondary);font-size:12px}@media (width<=767px){.site-services-settings .default-price-section[data-v-bee08043]{flex-direction:column;align-items:flex-start;gap:12px}.site-services-settings .default-price-section .markup-input[data-v-bee08043]{width:min(180px,100vw - 96px)}.site-services-settings .header[data-v-bee08043]{flex-direction:column}}.site-service-override-dialog.el-dialog,.site-service-override-dialog .el-dialog{width:min(520px,100vw - 32px)!important}.site-service-override-dialog .service-override-form .el-form-item__label{white-space:normal;height:auto;color:var(--el-text-color-primary);margin-bottom:4px;font-weight:600;line-height:1.3}.site-service-override-dialog .service-override-form .field-desc{white-space:normal;width:100%;color:var(--el-text-color-secondary);margin-top:6px;font-size:12px;font-weight:400;line-height:1.4;display:block}.site-service-override-dialog .service-override-form .markup-row{align-items:center;gap:10px;display:flex}.site-service-override-dialog .service-override-form .markup-input{width:180px}.site-service-override-dialog .service-override-form .markup-percent{font-variant-numeric:tabular-nums;color:var(--el-color-primary);font-weight:600}.site-service-override-dialog .service-override-form .field-tip{color:var(--el-text-color-secondary);font-size:12px}.site-service-override-dialog .service-override-form .auto-translate-inline{align-items:center;gap:6px;margin-top:6px;display:flex}.service-catalog-select-popper .el-select-dropdown__item{align-items:center;height:auto;min-height:34px;padding-top:4px;padding-bottom:4px;line-height:1.4;display:flex}.service-catalog-select-popper .service-option{align-items:center;width:100%;min-width:0;display:flex}.service-catalog-select-popper .option-favicon{-o-object-fit:contain;object-fit:contain;border-radius:4px;flex-shrink:0;width:18px;max-width:18px;height:18px;max-height:18px;margin-right:6px}.service-catalog-select-popper .option-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.service-catalog-select-popper .option-alias{color:var(--el-text-color-secondary);flex-shrink:0;margin-left:8px;font-size:12px}.edit{cursor:pointer;margin-left:5px;position:relative;top:2px}.edit .icon{font-size:14px}.tip{color:var(--el-text-color-secondary);font-size:12px}.edit-dialog .el-dialog__header{justify-content:center;padding-right:48px;display:flex;position:relative}.edit-dialog .el-dialog__title{text-align:center;width:100%;font-weight:600}.edit-dialog .el-dialog__headerbtn{position:absolute;top:50%;right:16px;transform:translateY(-50%)}.edit-dialog .el-dialog__body{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.edit-dialog .edit-body{flex-direction:column;align-items:center;width:100%;display:flex}.edit-dialog .tags{flex-wrap:wrap;justify-content:center;gap:4px;width:100%;display:flex}.edit-dialog .el-input{max-width:320px}.edit-dialog .dialog-footer{justify-content:center;gap:12px;width:100%;display:flex}.settings-actions[data-v-591c4e4a]{align-items:center;gap:4px;display:inline-flex}.edit[data-v-0a406628]{cursor:pointer;margin-left:5px;position:relative;top:2px}.edit .icon[data-v-0a406628]{font-size:14px}.edit-body[data-v-0a406628]{flex-direction:column;gap:12px;width:100%;display:flex}.tip[data-v-0a406628]{color:var(--el-text-color-secondary);margin:0;font-size:12px}.preview[data-v-0a406628]{border:1px dashed var(--el-border-color);background:var(--el-fill-color-light);border-radius:6px;align-items:center;gap:8px;min-height:32px;padding:8px 10px;display:flex}.dialog-footer[data-v-0a406628]{justify-content:center;gap:12px;width:100%;display:flex}.capability-heading[data-v-06fd962b]{align-items:center;gap:8px;min-width:0;display:flex}.capability-favicon[data-v-06fd962b]{-o-object-fit:cover;object-fit:cover;border-radius:5px;flex:none;width:22px;height:22px}.subsite-settings[data-v-bf34cc89]{flex-direction:column;gap:12px;display:flex}.subsite-settings .header[data-v-bf34cc89]{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.subsite-settings .header .settings-title[data-v-bf34cc89]{margin:0 0 4px;font-size:14px;font-weight:600}.subsite-settings .header .settings-tip[data-v-bf34cc89]{color:var(--el-text-color-secondary);margin:0;font-size:12px}.subsite-settings .list-card[data-v-bf34cc89]{border:1px solid var(--el-border-color-lighter)}.subsite-settings .origin-link[data-v-bf34cc89]{color:var(--el-color-primary);word-break:break-all;text-decoration:none}.subsite-settings .origin-link[data-v-bf34cc89]:hover{text-decoration:underline}.subsite-settings .domain-list[data-v-bf34cc89]{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.subsite-settings .domain-list .origin-link.primary[data-v-bf34cc89]{font-weight:500}.subsite-settings .domain-list .custom-domain[data-v-bf34cc89]{align-items:center;gap:6px;font-size:12px;line-height:1.4;display:inline-flex}.subsite-settings .domain-list .custom-domain .hostname[data-v-bf34cc89]{word-break:break-all}.subsite-settings .domain-list .custom-domain.muted[data-v-bf34cc89]{color:var(--el-text-color-secondary)}.subsite-settings .domain-list .custom-domain.origin-link[data-v-bf34cc89]{font-weight:400}.subsite-settings .row-title[data-v-bf34cc89]{color:var(--el-text-color-secondary);margin-top:4px;font-size:12px;line-height:1.4}.subsite-settings .row-actions[data-v-bf34cc89]{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:inline-flex}.subsite-settings .subsite-table[data-v-bf34cc89] .el-button+.el-button{margin-left:0}.subsite-settings .form .hint[data-v-bf34cc89]{color:var(--el-text-color-secondary);margin-top:4px;font-size:12px;display:block}.open-dialog[data-v-bf34cc89] .el-dialog{max-width:calc(100vw - 32px)}.open-dialog[data-v-bf34cc89] .open-hint{color:var(--el-text-color-regular);margin:0 0 16px;font-size:13px;line-height:1.5}.open-dialog[data-v-bf34cc89] .open-actions{flex-direction:column;align-items:center;gap:14px;display:flex}.open-dialog[data-v-bf34cc89] .open-actions .el-button{min-width:220px;max-width:100%;margin-left:0}.open-dialog[data-v-bf34cc89] .open-actions .el-button+.el-button{margin-left:0}.custom-domain-settings[data-v-e66a20b5]{flex-direction:column;gap:12px;display:flex}.custom-domain-settings .header .settings-title[data-v-e66a20b5]{margin:0 0 4px;font-size:14px;font-weight:600}.custom-domain-settings .header .settings-tip[data-v-e66a20b5]{color:var(--el-text-color-secondary);margin:0;font-size:12px;line-height:1.6}.custom-domain-settings .domains-body[data-v-e66a20b5]{padding:4px 0 0}.custom-domain-settings[data-v-e66a20b5] .el-empty{padding:8px 0 16px}.custom-domain-settings[data-v-e66a20b5] .el-empty .el-empty__description{color:var(--el-text-color-secondary);margin-top:8px;font-size:13px}.custom-domain-settings .domain-row[data-v-e66a20b5]{border:1px solid var(--el-border-color-lighter);background:var(--el-fill-color-blank);border-radius:12px;margin-bottom:14px;padding:16px 18px;transition:border-color .15s}.custom-domain-settings .domain-row[data-v-e66a20b5]:hover{border-color:var(--el-border-color)}.custom-domain-settings .domain-row .domain-row-head[data-v-e66a20b5]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.custom-domain-settings .domain-row .domain-row-head .hostname[data-v-e66a20b5]{word-break:break-all;flex:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px}.custom-domain-settings .domain-row .domain-row-head .status-tag[data-v-e66a20b5]{flex:none}.custom-domain-settings .domain-row .domain-row-head .row-actions[data-v-e66a20b5]{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.custom-domain-settings .domain-row .status-reason[data-v-e66a20b5]{color:var(--el-color-danger);margin-top:10px;font-size:12px}.custom-domain-settings .domain-row .dns-instructions[data-v-e66a20b5]{border-top:1px dashed var(--el-border-color-lighter);margin-top:14px;padding-top:14px}.custom-domain-settings .domain-row .dns-instructions .instructions[data-v-e66a20b5]{color:var(--el-text-color-regular);margin:0 0 10px;font-size:13px;line-height:1.6}.custom-domain-settings .domain-row .dns-instructions .dns-record[data-v-e66a20b5]{border-collapse:collapse;width:100%;font-size:12px}.custom-domain-settings .domain-row .dns-instructions .dns-record th[data-v-e66a20b5]{text-align:left;width:110px;color:var(--el-text-color-secondary);vertical-align:top;padding:6px 10px 6px 0;font-weight:400}.custom-domain-settings .domain-row .dns-instructions .dns-record td[data-v-e66a20b5]{padding:6px 0}.custom-domain-settings .domain-row .dns-instructions .dns-record td code[data-v-e66a20b5]{background:var(--el-fill-color-lighter);border-radius:6px;padding:3px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.custom-domain-settings .domain-row .dns-instructions .dns-record td code.break[data-v-e66a20b5]{word-break:break-all}.custom-domain-settings .domain-row .dns-instructions .record-name-hint[data-v-e66a20b5]{color:var(--el-text-color-secondary);margin:10px 0 0;font-size:12px;line-height:1.55}.custom-domain-settings .bind-title[data-v-e66a20b5]{color:var(--el-text-color-primary);margin:4px 0 14px;font-size:14px;font-weight:600}.custom-domain-settings .form .form-tip[data-v-e66a20b5]{color:var(--el-text-color-secondary);margin-top:6px;font-size:12px;line-height:1.5;display:block}.custom-domain-settings[data-v-e66a20b5] .el-divider{margin:20px 0}[data-v-67d982cc] .settings-item .settings-label{flex:1 1 0;min-width:0}.auth-providers-content[data-v-67d982cc]{flex:none;align-items:stretch}.auth-providers-list[data-v-67d982cc]{flex-direction:column;min-width:220px;margin:0;padding:0;list-style:none;display:flex}.auth-providers-row[data-v-67d982cc]{justify-content:space-between;align-items:center;padding:6px 0;display:flex}.auth-providers-row+.auth-providers-row[data-v-67d982cc]{border-top:1px solid var(--el-border-color-lighter)}.auth-providers-row__label[data-v-67d982cc]{color:var(--el-text-color-primary);font-size:14px}.auth-default-provider-select[data-v-67d982cc]{min-width:240px}.auth-sms-content[data-v-67d982cc]{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.auth-sms-doc-link[data-v-67d982cc]{vertical-align:baseline;margin-left:8px;font-size:13px}.auth-sms-toggle[data-v-67d982cc]{align-items:center;gap:8px;display:inline-flex}.auth-sms-toggle__label[data-v-67d982cc]{color:var(--el-text-color-regular);font-size:13px}.auth-sms-input[data-v-67d982cc]{width:100%;max-width:360px}.auth-sms-actions[data-v-67d982cc]{gap:8px;display:flex}.auth-sms-doc h4[data-v-67d982cc]{color:var(--el-text-color-primary);margin:16px 0 6px;font-size:14px}.auth-sms-doc p[data-v-67d982cc]{color:var(--el-text-color-regular);margin:0 0 6px;font-size:13px}.auth-sms-code[data-v-67d982cc]{background:var(--el-fill-color-light);color:var(--el-text-color-primary);font-family:var(--el-font-family-mono,monospace);white-space:pre-wrap;word-break:break-word;border-radius:6px;margin:0;padding:12px;font-size:12px;line-height:1.6}.about-link[data-v-9c456c24]{color:var(--el-text-color-regular);align-items:center;gap:6px;font-size:14px;text-decoration:none;transition:color .3s;display:inline-flex}.about-link .icon[data-v-9c456c24]{font-size:18px}.about-link[data-v-9c456c24]:hover{color:var(--el-color-primary)}.contacts-content[data-v-9c456c24]{flex-direction:column;gap:12px;display:flex}.contact-entry[data-v-9c456c24]{align-items:center;gap:12px;display:flex}.contact-entry .contact-static[data-v-9c456c24]{cursor:default}.contact-entry .contact-static[data-v-9c456c24]:hover{color:var(--el-text-color-regular)}.contact-entry .contact-static span[data-v-9c456c24]{-webkit-user-select:text;user-select:text}.contact-entry .contact-qr[data-v-9c456c24]{border:1px solid var(--el-border-color-lighter);cursor:zoom-in;border-radius:8px;width:96px;height:96px}[data-v-02979ea7] .settings-list{flex-direction:column;gap:18px;display:flex}[data-v-02979ea7] .settings-menu .el-menu-item{white-space:normal;height:auto;padding-top:10px;padding-bottom:10px;line-height:1.4}[data-v-02979ea7] .settings-menu .el-menu-item .el-menu-item__content{word-break:break-word;align-items:flex-start;gap:8px;display:flex}[data-v-02979ea7] .settings-menu .el-menu-item .svg-inline--fa{margin-top:2px}[data-v-02979ea7] .settings-item{border-bottom:1px solid color-mix(in srgb, var(--el-border-color-lighter) 40%, transparent);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}[data-v-02979ea7] .settings-item:last-child{border-bottom:none;padding-bottom:0}[data-v-02979ea7] .settings-label{color:var(--el-text-color-primary);flex-direction:column;gap:4px;display:flex}[data-v-02979ea7] .settings-title{font-size:14px;font-weight:600}[data-v-02979ea7] .settings-tip{color:var(--el-text-color-secondary);max-width:440px;font-size:12px;line-height:1.5}[data-v-02979ea7] .settings-content{text-align:right;flex-direction:column;align-items:flex-end;gap:8px;min-width:200px;display:flex}[data-v-02979ea7] .settings-value{color:var(--el-text-color-regular);word-break:break-word}@media (width<=640px){[data-v-02979ea7] .settings-item{flex-direction:column;align-items:flex-start}[data-v-02979ea7] .settings-content{text-align:left;align-items:flex-start;width:100%}}[data-v-02979ea7] .settings-dialog.is-mobile .el-dialog__body{padding:0 8px 16px}[data-v-02979ea7] .settings-menu.is-mobile{white-space:nowrap;border-bottom:none;height:auto;padding:4px 0}[data-v-02979ea7] .settings-menu.is-mobile .el-menu-item{border-radius:6px;height:36px;margin:0 4px;line-height:36px;border-bottom:none!important;padding:0 10px!important}[data-v-02979ea7] .settings-menu.is-mobile .el-menu-item.active,[data-v-02979ea7] .settings-menu.is-mobile .el-menu-item.is-active{background:var(--el-color-primary-light-9);color:var(--el-color-primary)}.delete-account-dialog .mb-3[data-v-f6c5bef8]{margin-bottom:12px}.delete-account-dialog .delete-consequences[data-v-f6c5bef8]{color:var(--el-text-color-regular);margin:12px 0;font-size:13px;line-height:1.6}.delete-account-dialog .delete-type-prompt[data-v-f6c5bef8]{margin:12px 0 4px;font-size:13px}.delete-account-dialog .delete-username[data-v-f6c5bef8]{word-break:break-all;color:var(--el-color-danger);margin:0 0 10px;font-size:15px;font-weight:700}.navigator[data-v-c8e766ae]{background-color:var(--app-nav-bg);border-right:1px solid var(--app-border-subtle);align-items:center;display:flex;position:relative}.navigator .top .avatar[data-v-c8e766ae]{cursor:pointer;border-radius:50%;flex-shrink:0;width:28px;height:28px;display:block}.navigator .category-header[data-v-c8e766ae]{display:none}.navigator[direction=row][data-v-c8e766ae]{border-right:none;border-top:1px solid var(--app-border-subtle);flex-direction:row;overflow-x:scroll}.navigator[direction=row] .brand[data-v-c8e766ae]{display:none}.navigator[direction=row] .top[data-v-c8e766ae]{flex-direction:row;justify-content:space-evenly;align-items:center;gap:10px;padding-left:10px;display:flex}.navigator[direction=row] .top .links[data-v-c8e766ae]{flex-direction:row;align-items:center;gap:10px;display:flex}.navigator[direction=row] .top .links .link[data-v-c8e766ae]{text-align:center}.navigator[direction=row] .top .links .link .description[data-v-c8e766ae]{margin-top:3px;font-size:10px}.navigator[direction=row] .top .links .link.active[data-v-c8e766ae]{color:var(--el-color-primary)}.navigator[direction=row] .bottom[data-v-c8e766ae]{flex:1;justify-content:flex-end;padding:0 10px;display:flex}.navigator[direction=column][data-v-c8e766ae]{flex-direction:column;width:60px}.navigator[direction=column] .brand[data-v-c8e766ae]{justify-content:center;align-items:center;width:100%;padding:10px 0;display:flex}.navigator[direction=column].is-mac .brand[data-v-c8e766ae]{padding-top:38px}.navigator[direction=column] .top[data-v-c8e766ae]{flex-direction:column;flex:1;width:100%;min-height:0;padding-top:0;display:flex;overflow:hidden}.navigator[direction=column] .top .links[data-v-c8e766ae]{flex-direction:column;flex:1;align-items:center;gap:15px;min-height:0;padding-bottom:10px;display:flex;overflow:hidden auto}.navigator[direction=column] .top .links[data-v-c8e766ae]::-webkit-scrollbar{width:4px}.navigator[direction=column] .top .links[data-v-c8e766ae]::-webkit-scrollbar-track{background:0 0}.navigator[direction=column] .top .links[data-v-c8e766ae]::-webkit-scrollbar-thumb{background:var(--el-fill-color);border-radius:4px}.navigator[direction=column] .top .link[data-v-c8e766ae]{cursor:pointer;color:var(--el-text-color-primary);justify-content:center;align-items:center;margin:0;padding:0;display:flex;background:0 0!important}.navigator[direction=column] .top .link .avatar[data-v-c8e766ae]{cursor:pointer;border-radius:50%;flex-shrink:0;width:35px;height:35px;margin:auto}.navigator[direction=column] .top .link .link-label[data-v-c8e766ae],.navigator[direction=column] .top .link.active[data-v-c8e766ae]:before{display:none}.navigator[direction=column] .top .more-button[data-v-c8e766ae]{background:var(--el-fill-color-light);cursor:pointer;width:35px;height:35px;box-shadow:var(--app-shadow-xs);border-radius:50%;justify-content:center;align-items:center;margin:auto;transition:border-radius .2s,background-color .2s,box-shadow .2s;display:flex}.navigator[direction=column] .top .more-button[data-v-c8e766ae]:hover{background:var(--el-fill-color);box-shadow:var(--app-shadow-sm);border-radius:35%}.navigator[direction=column] .top .more-button.active[data-v-c8e766ae]{box-shadow:0 0 0 2px var(--el-color-primary)}.navigator[direction=column] .top .more-button .folder-preview[data-v-c8e766ae]{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:1px;width:22px;height:22px;display:grid}.navigator[direction=column] .top .more-button .folder-preview .folder-icon[data-v-c8e766ae]{border-radius:50%;width:10px;height:10px}.navigator[direction=column] .bottom[data-v-c8e766ae]{flex-direction:column;justify-content:flex-end;align-items:center;width:100%;height:50px;padding-bottom:10px;display:flex}html.dark .navigator[data-v-c8e766ae]{border-right-color:var(--app-glass-border)}.navigator-overflow-popover{-webkit-backdrop-filter:blur(var(--app-glass-blur));backdrop-filter:blur(var(--app-glass-blur));border-radius:12px!important;padding:6px!important}.navigator-overflow-popover .overflow-menu{max-height:400px;overflow-y:auto}.navigator-overflow-popover .overflow-menu .overflow-item{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:7px 8px;transition:background-color .15s;display:flex}.navigator-overflow-popover .overflow-menu .overflow-item:hover{background:var(--el-fill-color-light)}.navigator-overflow-popover .overflow-menu .overflow-item.active{background:var(--el-color-primary-light-9);color:var(--el-color-primary)}.navigator-overflow-popover .overflow-menu .overflow-item .overflow-avatar{border-radius:50%;flex-shrink:0;width:24px;height:24px}.navigator-overflow-popover .overflow-menu .overflow-item .overflow-name{color:var(--el-text-color-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}
|
|
1
|
+
.avatar[data-v-b0beddd3]{width:35px;height:35px;max-width:initial;max-height:initial;-o-object-fit:cover;object-fit:cover;cursor:pointer;border-radius:50%;transition:transform .2s,box-shadow .2s}.avatar[data-v-b0beddd3]:hover{box-shadow:0 0 0 2px var(--el-color-primary-light-5)}.hint[data-v-a058f162]{color:var(--el-text-color-secondary);margin:4px 0 0;font-size:12px;line-height:1.5}.current-key[data-v-a058f162]{color:var(--el-text-color-secondary);flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0;font-size:12px;display:flex}.current-key code[data-v-a058f162]{color:var(--el-text-color-primary)}.w-full[data-v-a058f162]{width:100%}.provider-option[data-v-a058f162]{flex-direction:column;gap:2px;line-height:1.3;display:flex}.provider-name[data-v-a058f162]{color:var(--el-text-color-primary);font-size:14px}.provider-desc[data-v-a058f162]{color:var(--el-text-color-secondary);font-size:12px}.test-result[data-v-a058f162]{border:1px solid #0000;border-radius:6px;margin:4px 0 0;padding:12px 14px;font-size:13px;line-height:1.5}.test-result.ok[data-v-a058f162]{background:var(--el-color-success-light-9,#f0f9eb);border-color:var(--el-color-success-light-7,#b3e19d);color:var(--el-color-success-dark-2,#5daf34)}.test-result.fail[data-v-a058f162]{background:var(--el-color-danger-light-9,#fef0f0);border-color:var(--el-color-danger-light-7,#fab6b6);color:var(--el-color-danger-dark-2,#b94343)}.test-result-title[data-v-a058f162]{margin:0 0 6px;font-weight:600}.test-result-detail[data-v-a058f162]{-moz-column-gap:12px;grid-template-columns:minmax(72px,max-content) 1fr;gap:4px 12px;margin:0;display:grid}.test-result-detail dt[data-v-a058f162]{color:var(--el-text-color-regular);font-weight:500}.test-result-detail dd[data-v-a058f162]{word-break:break-all;color:var(--el-text-color-primary);margin:0}.test-result-detail code[data-v-a058f162]{background:#0000000a;border-radius:4px;padding:1px 6px;font-size:12px}.byok-provider-select-popper .el-select-dropdown__item{height:auto;padding-top:8px;padding-bottom:8px;line-height:1.4}.byok[data-v-4e5854a0]{flex-direction:column;gap:12px;display:flex}.byok-intro-tip[data-v-4e5854a0]{color:var(--el-text-color-secondary);margin:0;font-size:12px;line-height:1.6}.byok-actions[data-v-4e5854a0]{justify-content:flex-end;display:flex}.byok-table[data-v-4e5854a0]{width:100%}.byok-table[data-v-4e5854a0] .cell{word-break:break-word}.memory-setting .hint[data-v-99299e7e]{margin:0;font-size:13px;line-height:1.6}.memory-setting .muted[data-v-99299e7e]{color:var(--el-text-color-secondary,#909399)}.memory-setting .memory-toggle-row[data-v-99299e7e]{border-bottom:1px solid var(--el-border-color-lighter,#ebeef5);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.memory-setting .memory-toggle-row .toggle-title[data-v-99299e7e]{margin-bottom:2px;font-weight:600}.memory-setting .memory-toggle-row[data-v-99299e7e] .el-switch{flex-shrink:0}.memory-setting .section-head[data-v-99299e7e]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.memory-setting .section-head h3[data-v-99299e7e]{margin:0;font-size:15px;font-weight:600}.memory-setting .section-actions[data-v-99299e7e]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.memory-setting .section-actions[data-v-99299e7e] .el-button{flex-shrink:0}.memory-setting .rows[data-v-99299e7e]{border:1px solid var(--el-border-color-lighter,#ebeef5);border-radius:8px;margin:0;padding:0;list-style:none;overflow:hidden}.memory-setting .memory-row[data-v-99299e7e]{border-bottom:1px solid var(--el-border-color-lighter,#ebeef5);align-items:flex-start;gap:12px;padding:12px 14px;transition:background-color .15s;display:flex}.memory-setting .memory-row[data-v-99299e7e]:last-child{border-bottom:none}.memory-setting .memory-row[data-v-99299e7e]:hover{background:var(--el-fill-color-light,#f5f7fa)}.memory-setting .memory-row .row-icon[data-v-99299e7e]{color:var(--el-text-color-secondary,#909399);flex-shrink:0;margin-top:3px}.memory-setting .memory-row .memory-content[data-v-99299e7e]{overflow-wrap:break-word;flex:1;min-width:0;line-height:1.6}.memory-setting .memory-row[data-v-99299e7e] .el-button{flex-shrink:0}.import-step+.import-step[data-v-99299e7e]{margin-top:20px}.import-step-title[data-v-99299e7e]{margin-bottom:8px;font-weight:600}.import-step[data-v-99299e7e] .el-button{margin-top:8px}.edit-dialog .edit-body{justify-content:center;width:100%;display:flex}.vue-advanced-cropper{text-align:center;-webkit-user-select:none;user-select:none;direction:ltr;max-width:100%;max-height:100%;position:relative}.vue-advanced-cropper__stretcher{pointer-events:none;max-width:100%;max-height:100%;position:relative}.vue-advanced-cropper__image{-webkit-user-select:none;user-select:none;transform-origin:50%;position:absolute;max-width:none!important}.vue-advanced-cropper__background,.vue-advanced-cropper__foreground{opacity:1;background:#000;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vue-advanced-cropper__foreground{opacity:.5}.vue-advanced-cropper__boundaries{opacity:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vue-advanced-cropper__cropper-wrapper{width:100%;height:100%}.vue-advanced-cropper__image-wrapper{width:100%;height:100%;position:absolute;overflow:hidden}.vue-advanced-cropper__stencil-wrapper{position:absolute}.vue-simple-handler{background:#fff;width:10px;height:10px;display:block}.vue-handler-wrapper{width:30px;height:30px;position:absolute;transform:translate(-50%,-50%)}.vue-handler-wrapper__draggable{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.vue-handler-wrapper--west-north{cursor:nw-resize}.vue-handler-wrapper--north{cursor:n-resize}.vue-handler-wrapper--east-north{cursor:ne-resize}.vue-handler-wrapper--east{cursor:e-resize}.vue-handler-wrapper--east-south{cursor:se-resize}.vue-handler-wrapper--south{cursor:s-resize}.vue-handler-wrapper--west-south{cursor:sw-resize}.vue-handler-wrapper--west{cursor:w-resize}.vue-handler-wrapper--disabled{cursor:auto}.vue-line-wrapper{background:0 0;justify-content:center;align-items:center;display:flex;position:absolute}.vue-line-wrapper--north,.vue-line-wrapper--south{width:100%;height:12px;left:0;transform:translateY(-50%)}.vue-line-wrapper--north{cursor:n-resize;top:0}.vue-line-wrapper--south{cursor:s-resize;top:100%}.vue-line-wrapper--east,.vue-line-wrapper--west{width:12px;height:100%;top:0;transform:translate(-50%)}.vue-line-wrapper--east{cursor:e-resize;left:100%}.vue-line-wrapper--west{cursor:w-resize;left:0}.vue-line-wrapper--disabled{cursor:auto}.vue-bounding-box{width:100%;height:100%;position:relative}.vue-bounding-box__handler{position:absolute}.vue-bounding-box__handler--west-north{top:0;left:0}.vue-bounding-box__handler--north{top:0;left:50%}.vue-bounding-box__handler--east-north{top:0;left:100%}.vue-bounding-box__handler--east{top:50%;left:100%}.vue-bounding-box__handler--east-south{top:100%;left:100%}.vue-bounding-box__handler--south{top:100%;left:50%}.vue-bounding-box__handler--west-south{top:100%;left:0}.vue-bounding-box__handler--west{top:50%;left:0}.vue-draggable-area{position:relative}.vue-preview-result{box-sizing:border-box;width:100%;height:100%;position:absolute;overflow:hidden}.vue-preview-result__wrapper{position:absolute}.vue-preview-result__image{pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:50%;position:relative;max-width:none!important}.vue-rectangle-stencil{box-sizing:border-box;width:100%;height:100%;position:absolute}.vue-rectangle-stencil__preview{width:100%;height:100%;position:absolute}.vue-rectangle-stencil--movable{cursor:move}.vue-circle-stencil{box-sizing:content-box;cursor:move;width:100%;height:100%;position:absolute}.vue-circle-stencil__preview{border-radius:50%;width:100%;height:100%;position:absolute}.vue-circle-stencil--movable{cursor:move}.vue-preview{box-sizing:border-box;position:relative;overflow:hidden}.vue-preview--fill,.vue-preview__wrapper{width:100%;height:100%;position:absolute}.vue-preview__image{pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:50%;position:absolute;max-width:none!important}.vue-simple-line{background:0 0;border:0 solid #ffffff4d;transition:border .5s}.vue-simple-line--south,.vue-simple-line--north{width:100%;height:0}.vue-simple-line--east,.vue-simple-line--west{width:0;height:100%}.vue-simple-line--east{border-right-width:1px}.vue-simple-line--west{border-left-width:1px}.vue-simple-line--south{border-bottom-width:1px}.vue-simple-line--north{border-top-width:1px}.vue-simple-line--hover{opacity:1;border-color:#fff}.cropper-shell[data-v-457c9f79]{flex-direction:column;gap:12px;display:flex}.cropper-shell .cropper[data-v-457c9f79]{background-color:#fafafa;background-image:linear-gradient(45deg,#d8d8d8 25%,#0000 25%),linear-gradient(-45deg,#d8d8d8 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#d8d8d8 75%),linear-gradient(-45deg,#0000 75%,#d8d8d8 75%);background-position:0 0,0 8px,8px -8px,8px 0;background-size:16px 16px;border-radius:8px;width:100%;height:360px;overflow:hidden}.cropper-shell .toolbar[data-v-457c9f79]{justify-content:center;display:flex}.cropper-shell .toolbar[data-v-457c9f79] .el-button{min-width:56px;height:44px;padding:0 18px}.cropper-shell .toolbar[data-v-457c9f79] .el-button .el-icon{font-size:22px}.dropzone[data-v-457c9f79]{border:2px dashed var(--el-border-color);cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:360px;transition:border-color .2s,background .2s;display:flex}.dropzone[data-v-457c9f79]:hover{border-color:var(--el-color-primary);background:var(--el-fill-color-light)}.dropzone .dropzone-icon[data-v-457c9f79]{color:var(--el-text-color-secondary);font-size:36px}.dropzone .dropzone-text[data-v-457c9f79]{color:var(--el-text-color-primary);margin:0;font-size:14px}.dropzone .dropzone-hint[data-v-457c9f79]{color:var(--el-text-color-secondary);margin:0;font-size:12px}.edit[data-v-a74791d4]{cursor:pointer;margin-left:5px;position:relative;top:2px}.edit .icon[data-v-a74791d4]{font-size:14px}.user-chip[data-v-380498e3]{max-width:100%;color:var(--el-text-color-regular);align-items:center;gap:6px;font-size:13px;line-height:1.4;display:inline-flex}.user-chip.is-empty[data-v-380498e3]{color:var(--el-text-color-secondary)}.user-chip.is-missing[data-v-380498e3]{color:var(--el-text-color-secondary);font-style:italic}.user-chip .user-chip__avatar[data-v-380498e3]{flex-shrink:0}.user-chip .user-chip__name[data-v-380498e3]{white-space:nowrap;font-weight:500}.user-chip .user-chip__icon[data-v-380498e3]{color:var(--el-text-color-secondary);flex-shrink:0;font-size:14px}.user-chip .user-chip__contact[data-v-380498e3]{color:var(--el-text-color-secondary);font-size:12px;font-family:var(--el-font-family-mono,ui-monospace, SFMono-Regular, Menlo, monospace);white-space:nowrap}.user-chip .user-chip__id[data-v-380498e3]{font-family:var(--el-font-family-mono,ui-monospace, SFMono-Regular, Menlo, monospace);font-size:12px}.user-picker__option[data-v-9477c0da]{align-items:center;gap:10px;padding:4px 0;display:flex}.user-picker__option--empty[data-v-9477c0da]{color:var(--el-text-color-secondary);cursor:default;font-size:13px}.user-picker__option--excluded[data-v-9477c0da]{cursor:not-allowed;opacity:.6}.user-picker__empty-icon[data-v-9477c0da]{color:var(--el-color-warning);flex-shrink:0;font-size:14px}.user-picker__empty-text[data-v-9477c0da]{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.user-picker__excluded-tag[data-v-9477c0da]{background:var(--el-fill-color-light);color:var(--el-text-color-secondary);border-radius:4px;flex-shrink:0;margin-inline-start:6px;padding:2px 6px;font-size:11px;line-height:1.4}.user-picker__avatar[data-v-9477c0da]{flex-shrink:0}.user-picker__option-text[data-v-9477c0da]{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.user-picker__option-name[data-v-9477c0da]{color:var(--el-text-color-primary);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:14px;font-weight:500;display:flex;overflow:hidden}.user-picker__option-contact[data-v-9477c0da]{font-size:12px;font-family:var(--el-font-family-mono,ui-monospace, SFMono-Regular, Menlo, monospace);color:var(--el-text-color-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-picker__popper .el-autocomplete-suggestion__list{max-height:320px}.user-picker__popper .el-autocomplete-suggestion li{height:auto;padding:6px 12px;line-height:1.4}.edit[data-v-8e61041c]{cursor:pointer;margin-left:5px;position:relative;top:2px}.edit .icon[data-v-8e61041c]{font-size:14px}.edit-body[data-v-8e61041c]{flex-direction:column;gap:8px;width:100%;display:flex}.empty[data-v-8e61041c]{border:1px dashed var(--el-border-color);background:var(--el-fill-color-light);border-radius:6px;justify-content:center;align-items:center;min-height:36px;padding:8px;display:flex}.empty .empty-text[data-v-8e61041c]{color:var(--el-text-color-secondary);font-size:13px}.chip-list[data-v-8e61041c]{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chip-item[data-v-8e61041c]{border:1px solid var(--el-border-color-lighter);background:var(--el-fill-color-blank);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.chip-item .chip-remove[data-v-8e61041c]{cursor:pointer;color:var(--el-text-color-secondary);font-size:14px}.chip-item .chip-remove[data-v-8e61041c]:hover{color:var(--el-color-danger)}.divider[data-v-8e61041c]{margin:4px 0}.tip[data-v-8e61041c]{color:var(--el-text-color-secondary);margin:0;font-size:12px}.error[data-v-8e61041c]{color:var(--el-color-danger);align-items:center;gap:6px;margin:0;font-size:12px;display:flex}.error .error-icon[data-v-8e61041c]{font-size:14px}.dialog-footer[data-v-8e61041c]{justify-content:center;gap:12px;width:100%;display:flex}.edit[data-v-7e16c387]{cursor:pointer;margin-left:5px;position:relative;top:2px}.edit .icon[data-v-7e16c387]{font-size:14px}.hint[data-v-7e16c387]{color:var(--el-text-color-secondary);margin:0 0 12px;font-size:13px}.rows[data-v-7e16c387]{flex-direction:column;gap:16px;max-height:52vh;display:flex;overflow-y:auto}.contact-row[data-v-7e16c387]{border:1px solid var(--el-border-color-lighter);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.contact-row .row-head[data-v-7e16c387]{justify-content:space-between;align-items:center;gap:12px;display:flex}.contact-row .row-head .row-icon[data-v-7e16c387]{text-align:center;width:20px;color:var(--el-text-color-regular);flex:none;font-size:18px}.contact-row .row-head .type-select[data-v-7e16c387]{flex:1}.contact-row .qr-row[data-v-7e16c387]{align-items:center;gap:12px;display:flex}.contact-row .qr-row .qr-label[data-v-7e16c387]{color:var(--el-text-color-regular);font-size:13px}.contact-row .qr-row .qr-thumb[data-v-7e16c387]{border:1px solid var(--el-border-color-lighter);border-radius:8px;width:56px;height:56px}.add-btn[data-v-7e16c387]{margin-top:12px}.dialog-footer[data-v-7e16c387]{justify-content:flex-end;gap:12px;display:flex}.auto-translate-toggle[data-v-e08f547e]{width:26px;height:26px;margin-left:6px;padding:0}.auto-translate-toggle .icon-wrap[data-v-e08f547e]{justify-content:center;align-items:center;font-size:13px;display:inline-flex;position:relative}.auto-translate-toggle.is-off[data-v-e08f547e]{color:var(--el-text-color-secondary)}.auto-translate-toggle .dot[data-v-e08f547e]{background:var(--el-color-success);width:6px;height:6px;box-shadow:0 0 0 1px var(--el-color-white);border-radius:50%;position:absolute;top:-2px;right:-3px}.setting-notice[data-v-1633e4b5]{background:var(--el-color-info-light-9);border:1px solid var(--el-color-info-light-7);color:var(--el-color-info-dark-2);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;line-height:1.5;display:flex}.setting-notice .icon[data-v-1633e4b5]{color:var(--el-color-info);flex-shrink:0;font-size:13px}.setting-notice .text[data-v-1633e4b5]{word-break:break-word;color:inherit;flex:1}.setting-notice.admin[data-v-1633e4b5]{background:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-7);color:var(--el-color-primary-dark-2)}.setting-notice.admin .icon[data-v-1633e4b5]{color:var(--el-color-primary)}.setting-notice.official[data-v-1633e4b5]{background:var(--el-color-success-light-9);border-color:var(--el-color-success-light-7);color:var(--el-color-success-dark-2)}.setting-notice.official .icon[data-v-1633e4b5]{color:var(--el-color-success)}.settings-media[data-v-0715ecf6]{background-color:var(--el-fill-color-light);border-radius:8px;max-width:120px}.settings-actions[data-v-0715ecf6]{align-items:center;gap:4px;display:inline-flex}.favicon[data-v-0715ecf6]{max-width:64px}.admins-list[data-v-0715ecf6]{flex-direction:column;align-items:flex-end;gap:4px;max-width:100%;display:flex}.admins-chip[data-v-0715ecf6]{max-width:100%}.contacts-summary[data-v-0715ecf6]{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:100%;display:flex}.contacts-summary .contact-chip[data-v-0715ecf6]{max-width:100%}.contacts-summary .contact-chip .chip-icon[data-v-0715ecf6]{margin-right:5px;font-size:11px}.primary-color-content[data-v-0715ecf6]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.primary-color-content .primary-color-value[data-v-0715ecf6]{font-family:var(--el-font-family-monospace,"SFMono-Regular", Menlo, Consolas, monospace);color:var(--el-text-color-regular);text-transform:uppercase;font-size:13px}@media (width<=640px){.admins-list[data-v-0715ecf6]{align-items:flex-start}}.site-services-settings .default-price-section[data-v-a9741804]{border:1px solid var(--el-border-color-lighter);background:var(--el-fill-color-extra-light);border-radius:8px;justify-content:space-between;align-items:center;gap:24px;margin-top:12px;padding:16px;display:flex}.site-services-settings .default-price-section .markup-row[data-v-a9741804]{flex-shrink:0;align-items:center;gap:10px;display:flex}.site-services-settings .default-price-section .markup-input[data-v-a9741804]{width:180px}.site-services-settings .default-price-section .markup-percent[data-v-a9741804]{color:var(--el-color-primary);font-variant-numeric:tabular-nums;font-weight:600}.site-services-settings .header[data-v-a9741804]{justify-content:space-between;align-items:flex-start;gap:12px;margin:12px 0;display:flex}.site-services-settings .settings-title[data-v-a9741804]{font-weight:600}.site-services-settings .settings-tip[data-v-a9741804]{color:var(--el-text-color-secondary);margin-top:2px;font-size:12px}.site-services-settings .list-card[data-v-a9741804]{border:1px solid var(--el-border-color-lighter)}.site-services-settings .overrides-table[data-v-a9741804]{width:100%}.site-services-settings .overrides-table .service-cell[data-v-a9741804]{align-items:center;gap:8px;display:flex}.site-services-settings .overrides-table .service-cell .service-favicon[data-v-a9741804]{-o-object-fit:contain;object-fit:contain;border-radius:4px;flex-shrink:0;width:22px;height:22px}.site-services-settings .overrides-table .service-cell .service-cell-text[data-v-a9741804]{flex-direction:column;gap:2px;display:flex}.site-services-settings .muted[data-v-a9741804]{color:var(--el-text-color-secondary);font-size:12px}@media (width<=767px){.site-services-settings .default-price-section[data-v-a9741804]{flex-direction:column;align-items:flex-start;gap:12px}.site-services-settings .default-price-section .markup-input[data-v-a9741804]{width:min(180px,100vw - 96px)}.site-services-settings .header[data-v-a9741804]{flex-direction:column}}.site-service-override-dialog.el-dialog,.site-service-override-dialog .el-dialog{width:min(520px,100vw - 32px)!important}.site-service-override-dialog .service-override-form .el-form-item__label{white-space:normal;height:auto;color:var(--el-text-color-primary);margin-bottom:4px;font-weight:600;line-height:1.3}.site-service-override-dialog .service-override-form .field-desc{white-space:normal;width:100%;color:var(--el-text-color-secondary);margin-top:6px;font-size:12px;font-weight:400;line-height:1.4;display:block}.site-service-override-dialog .service-override-form .markup-row{align-items:center;gap:10px;display:flex}.site-service-override-dialog .service-override-form .markup-input{width:180px}.site-service-override-dialog .service-override-form .markup-percent{font-variant-numeric:tabular-nums;color:var(--el-color-primary);font-weight:600}.site-service-override-dialog .service-override-form .field-tip{color:var(--el-text-color-secondary);font-size:12px}.site-service-override-dialog .service-override-form .auto-translate-inline{align-items:center;gap:6px;margin-top:6px;display:flex}.service-catalog-select-popper .el-select-dropdown__item{align-items:center;height:auto;min-height:34px;padding-top:4px;padding-bottom:4px;line-height:1.4;display:flex}.service-catalog-select-popper .service-option{align-items:center;width:100%;min-width:0;display:flex}.service-catalog-select-popper .option-favicon{-o-object-fit:contain;object-fit:contain;border-radius:4px;flex-shrink:0;width:18px;max-width:18px;height:18px;max-height:18px;margin-right:6px}.service-catalog-select-popper .option-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.service-catalog-select-popper .option-alias{color:var(--el-text-color-secondary);flex-shrink:0;margin-left:8px;font-size:12px}.edit{cursor:pointer;margin-left:5px;position:relative;top:2px}.edit .icon{font-size:14px}.tip{color:var(--el-text-color-secondary);font-size:12px}.edit-dialog .el-dialog__header{justify-content:center;padding-right:48px;display:flex;position:relative}.edit-dialog .el-dialog__title{text-align:center;width:100%;font-weight:600}.edit-dialog .el-dialog__headerbtn{position:absolute;top:50%;right:16px;transform:translateY(-50%)}.edit-dialog .el-dialog__body{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.edit-dialog .edit-body{flex-direction:column;align-items:center;width:100%;display:flex}.edit-dialog .tags{flex-wrap:wrap;justify-content:center;gap:4px;width:100%;display:flex}.edit-dialog .el-input{max-width:320px}.edit-dialog .dialog-footer{justify-content:center;gap:12px;width:100%;display:flex}.settings-actions[data-v-a6c2ba5f]{align-items:center;gap:4px;display:inline-flex}.edit[data-v-0a406628]{cursor:pointer;margin-left:5px;position:relative;top:2px}.edit .icon[data-v-0a406628]{font-size:14px}.edit-body[data-v-0a406628]{flex-direction:column;gap:12px;width:100%;display:flex}.tip[data-v-0a406628]{color:var(--el-text-color-secondary);margin:0;font-size:12px}.preview[data-v-0a406628]{border:1px dashed var(--el-border-color);background:var(--el-fill-color-light);border-radius:6px;align-items:center;gap:8px;min-height:32px;padding:8px 10px;display:flex}.dialog-footer[data-v-0a406628]{justify-content:center;gap:12px;width:100%;display:flex}.field-tip[data-v-08effa84]{color:var(--el-text-color-secondary);margin-top:6px;font-size:12px;line-height:1.5}.icon-comparison[data-v-08effa84]{flex-wrap:wrap;align-items:center;gap:18px;width:100%;display:flex}.icon-preview-block[data-v-08effa84]{justify-items:center;gap:6px;display:grid}.preview-label[data-v-08effa84]{color:var(--el-text-color-secondary);font-size:12px}.icon-preview[data-v-08effa84]{border:1px solid var(--el-border-color-lighter);-o-object-fit:cover;object-fit:cover;background:var(--el-fill-color-lighter);border-radius:8px;width:48px;height:48px}.icon-actions[data-v-08effa84]{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.dialog-footer[data-v-08effa84]{align-items:center;width:100%;display:flex}.footer-spacer[data-v-08effa84]{flex:1}@media (width<=479px){.icon-comparison[data-v-08effa84]{gap:14px}.icon-actions[data-v-08effa84]{flex-basis:100%}}.capability-heading[data-v-04167312]{align-items:center;gap:8px;min-width:0;display:flex}.capability-favicon[data-v-04167312]{-o-object-fit:cover;object-fit:cover;border-radius:5px;flex:none;width:22px;height:22px}.subsite-settings[data-v-bf34cc89]{flex-direction:column;gap:12px;display:flex}.subsite-settings .header[data-v-bf34cc89]{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.subsite-settings .header .settings-title[data-v-bf34cc89]{margin:0 0 4px;font-size:14px;font-weight:600}.subsite-settings .header .settings-tip[data-v-bf34cc89]{color:var(--el-text-color-secondary);margin:0;font-size:12px}.subsite-settings .list-card[data-v-bf34cc89]{border:1px solid var(--el-border-color-lighter)}.subsite-settings .origin-link[data-v-bf34cc89]{color:var(--el-color-primary);word-break:break-all;text-decoration:none}.subsite-settings .origin-link[data-v-bf34cc89]:hover{text-decoration:underline}.subsite-settings .domain-list[data-v-bf34cc89]{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.subsite-settings .domain-list .origin-link.primary[data-v-bf34cc89]{font-weight:500}.subsite-settings .domain-list .custom-domain[data-v-bf34cc89]{align-items:center;gap:6px;font-size:12px;line-height:1.4;display:inline-flex}.subsite-settings .domain-list .custom-domain .hostname[data-v-bf34cc89]{word-break:break-all}.subsite-settings .domain-list .custom-domain.muted[data-v-bf34cc89]{color:var(--el-text-color-secondary)}.subsite-settings .domain-list .custom-domain.origin-link[data-v-bf34cc89]{font-weight:400}.subsite-settings .row-title[data-v-bf34cc89]{color:var(--el-text-color-secondary);margin-top:4px;font-size:12px;line-height:1.4}.subsite-settings .row-actions[data-v-bf34cc89]{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:inline-flex}.subsite-settings .subsite-table[data-v-bf34cc89] .el-button+.el-button{margin-left:0}.subsite-settings .form .hint[data-v-bf34cc89]{color:var(--el-text-color-secondary);margin-top:4px;font-size:12px;display:block}.open-dialog[data-v-bf34cc89] .el-dialog{max-width:calc(100vw - 32px)}.open-dialog[data-v-bf34cc89] .open-hint{color:var(--el-text-color-regular);margin:0 0 16px;font-size:13px;line-height:1.5}.open-dialog[data-v-bf34cc89] .open-actions{flex-direction:column;align-items:center;gap:14px;display:flex}.open-dialog[data-v-bf34cc89] .open-actions .el-button{min-width:220px;max-width:100%;margin-left:0}.open-dialog[data-v-bf34cc89] .open-actions .el-button+.el-button{margin-left:0}.custom-domain-settings[data-v-e66a20b5]{flex-direction:column;gap:12px;display:flex}.custom-domain-settings .header .settings-title[data-v-e66a20b5]{margin:0 0 4px;font-size:14px;font-weight:600}.custom-domain-settings .header .settings-tip[data-v-e66a20b5]{color:var(--el-text-color-secondary);margin:0;font-size:12px;line-height:1.6}.custom-domain-settings .domains-body[data-v-e66a20b5]{padding:4px 0 0}.custom-domain-settings[data-v-e66a20b5] .el-empty{padding:8px 0 16px}.custom-domain-settings[data-v-e66a20b5] .el-empty .el-empty__description{color:var(--el-text-color-secondary);margin-top:8px;font-size:13px}.custom-domain-settings .domain-row[data-v-e66a20b5]{border:1px solid var(--el-border-color-lighter);background:var(--el-fill-color-blank);border-radius:12px;margin-bottom:14px;padding:16px 18px;transition:border-color .15s}.custom-domain-settings .domain-row[data-v-e66a20b5]:hover{border-color:var(--el-border-color)}.custom-domain-settings .domain-row .domain-row-head[data-v-e66a20b5]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.custom-domain-settings .domain-row .domain-row-head .hostname[data-v-e66a20b5]{word-break:break-all;flex:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px}.custom-domain-settings .domain-row .domain-row-head .status-tag[data-v-e66a20b5]{flex:none}.custom-domain-settings .domain-row .domain-row-head .row-actions[data-v-e66a20b5]{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.custom-domain-settings .domain-row .status-reason[data-v-e66a20b5]{color:var(--el-color-danger);margin-top:10px;font-size:12px}.custom-domain-settings .domain-row .dns-instructions[data-v-e66a20b5]{border-top:1px dashed var(--el-border-color-lighter);margin-top:14px;padding-top:14px}.custom-domain-settings .domain-row .dns-instructions .instructions[data-v-e66a20b5]{color:var(--el-text-color-regular);margin:0 0 10px;font-size:13px;line-height:1.6}.custom-domain-settings .domain-row .dns-instructions .dns-record[data-v-e66a20b5]{border-collapse:collapse;width:100%;font-size:12px}.custom-domain-settings .domain-row .dns-instructions .dns-record th[data-v-e66a20b5]{text-align:left;width:110px;color:var(--el-text-color-secondary);vertical-align:top;padding:6px 10px 6px 0;font-weight:400}.custom-domain-settings .domain-row .dns-instructions .dns-record td[data-v-e66a20b5]{padding:6px 0}.custom-domain-settings .domain-row .dns-instructions .dns-record td code[data-v-e66a20b5]{background:var(--el-fill-color-lighter);border-radius:6px;padding:3px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.custom-domain-settings .domain-row .dns-instructions .dns-record td code.break[data-v-e66a20b5]{word-break:break-all}.custom-domain-settings .domain-row .dns-instructions .record-name-hint[data-v-e66a20b5]{color:var(--el-text-color-secondary);margin:10px 0 0;font-size:12px;line-height:1.55}.custom-domain-settings .bind-title[data-v-e66a20b5]{color:var(--el-text-color-primary);margin:4px 0 14px;font-size:14px;font-weight:600}.custom-domain-settings .form .form-tip[data-v-e66a20b5]{color:var(--el-text-color-secondary);margin-top:6px;font-size:12px;line-height:1.5;display:block}.custom-domain-settings[data-v-e66a20b5] .el-divider{margin:20px 0}[data-v-bf82e562] .settings-item .settings-label{flex:1 1 0;min-width:0}.auth-providers-content[data-v-bf82e562]{flex:none;align-items:stretch}.auth-providers-list[data-v-bf82e562]{flex-direction:column;min-width:220px;margin:0;padding:0;list-style:none;display:flex}.auth-providers-row[data-v-bf82e562]{justify-content:space-between;align-items:center;padding:6px 0;display:flex}.auth-providers-row+.auth-providers-row[data-v-bf82e562]{border-top:1px solid var(--el-border-color-lighter)}.auth-providers-row__label[data-v-bf82e562]{color:var(--el-text-color-primary);font-size:14px}.auth-default-provider-select[data-v-bf82e562]{min-width:240px}.auth-sms-content[data-v-bf82e562]{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.auth-sms-doc-link[data-v-bf82e562]{vertical-align:baseline;margin-left:8px;font-size:13px}.auth-sms-toggle[data-v-bf82e562]{align-items:center;gap:8px;display:inline-flex}.auth-sms-toggle__label[data-v-bf82e562]{color:var(--el-text-color-regular);font-size:13px}.auth-sms-input[data-v-bf82e562]{width:100%;max-width:360px}.auth-sms-actions[data-v-bf82e562]{gap:8px;display:flex}.auth-sms-doc h4[data-v-bf82e562]{color:var(--el-text-color-primary);margin:16px 0 6px;font-size:14px}.auth-sms-doc p[data-v-bf82e562]{color:var(--el-text-color-regular);margin:0 0 6px;font-size:13px}.auth-sms-code[data-v-bf82e562]{background:var(--el-fill-color-light);color:var(--el-text-color-primary);font-family:var(--el-font-family-mono,monospace);white-space:pre-wrap;word-break:break-word;border-radius:6px;margin:0;padding:12px;font-size:12px;line-height:1.6}.about-link[data-v-9c456c24]{color:var(--el-text-color-regular);align-items:center;gap:6px;font-size:14px;text-decoration:none;transition:color .3s;display:inline-flex}.about-link .icon[data-v-9c456c24]{font-size:18px}.about-link[data-v-9c456c24]:hover{color:var(--el-color-primary)}.contacts-content[data-v-9c456c24]{flex-direction:column;gap:12px;display:flex}.contact-entry[data-v-9c456c24]{align-items:center;gap:12px;display:flex}.contact-entry .contact-static[data-v-9c456c24]{cursor:default}.contact-entry .contact-static[data-v-9c456c24]:hover{color:var(--el-text-color-regular)}.contact-entry .contact-static span[data-v-9c456c24]{-webkit-user-select:text;user-select:text}.contact-entry .contact-qr[data-v-9c456c24]{border:1px solid var(--el-border-color-lighter);cursor:zoom-in;border-radius:8px;width:96px;height:96px}[data-v-02979ea7] .settings-list{flex-direction:column;gap:18px;display:flex}[data-v-02979ea7] .settings-menu .el-menu-item{white-space:normal;height:auto;padding-top:10px;padding-bottom:10px;line-height:1.4}[data-v-02979ea7] .settings-menu .el-menu-item .el-menu-item__content{word-break:break-word;align-items:flex-start;gap:8px;display:flex}[data-v-02979ea7] .settings-menu .el-menu-item .svg-inline--fa{margin-top:2px}[data-v-02979ea7] .settings-item{border-bottom:1px solid color-mix(in srgb, var(--el-border-color-lighter) 40%, transparent);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}[data-v-02979ea7] .settings-item:last-child{border-bottom:none;padding-bottom:0}[data-v-02979ea7] .settings-label{color:var(--el-text-color-primary);flex-direction:column;gap:4px;display:flex}[data-v-02979ea7] .settings-title{font-size:14px;font-weight:600}[data-v-02979ea7] .settings-tip{color:var(--el-text-color-secondary);max-width:440px;font-size:12px;line-height:1.5}[data-v-02979ea7] .settings-content{text-align:right;flex-direction:column;align-items:flex-end;gap:8px;min-width:200px;display:flex}[data-v-02979ea7] .settings-value{color:var(--el-text-color-regular);word-break:break-word}@media (width<=640px){[data-v-02979ea7] .settings-item{flex-direction:column;align-items:flex-start}[data-v-02979ea7] .settings-content{text-align:left;align-items:flex-start;width:100%}}[data-v-02979ea7] .settings-dialog.is-mobile .el-dialog__body{padding:0 8px 16px}[data-v-02979ea7] .settings-menu.is-mobile{white-space:nowrap;border-bottom:none;height:auto;padding:4px 0}[data-v-02979ea7] .settings-menu.is-mobile .el-menu-item{border-radius:6px;height:36px;margin:0 4px;line-height:36px;border-bottom:none!important;padding:0 10px!important}[data-v-02979ea7] .settings-menu.is-mobile .el-menu-item.active,[data-v-02979ea7] .settings-menu.is-mobile .el-menu-item.is-active{background:var(--el-color-primary-light-9);color:var(--el-color-primary)}.delete-account-dialog .mb-3[data-v-f6c5bef8]{margin-bottom:12px}.delete-account-dialog .delete-consequences[data-v-f6c5bef8]{color:var(--el-text-color-regular);margin:12px 0;font-size:13px;line-height:1.6}.delete-account-dialog .delete-type-prompt[data-v-f6c5bef8]{margin:12px 0 4px;font-size:13px}.delete-account-dialog .delete-username[data-v-f6c5bef8]{word-break:break-all;color:var(--el-color-danger);margin:0 0 10px;font-size:15px;font-weight:700}.navigator[data-v-a392cdfd]{background-color:var(--app-nav-bg);border-right:1px solid var(--app-border-subtle);align-items:center;display:flex;position:relative}.navigator .top .avatar[data-v-a392cdfd]{cursor:pointer;border-radius:50%;flex-shrink:0;width:28px;height:28px;display:block}.navigator .category-header[data-v-a392cdfd]{display:none}.navigator[direction=row][data-v-a392cdfd]{border-right:none;border-top:1px solid var(--app-border-subtle);flex-direction:row;overflow-x:scroll}.navigator[direction=row] .brand[data-v-a392cdfd]{display:none}.navigator[direction=row] .top[data-v-a392cdfd]{flex-direction:row;justify-content:space-evenly;align-items:center;gap:10px;padding-left:10px;display:flex}.navigator[direction=row] .top .links[data-v-a392cdfd]{flex-direction:row;align-items:center;gap:10px;display:flex}.navigator[direction=row] .top .links .link[data-v-a392cdfd]{text-align:center}.navigator[direction=row] .top .links .link .description[data-v-a392cdfd]{margin-top:3px;font-size:10px}.navigator[direction=row] .top .links .link.active[data-v-a392cdfd]{color:var(--el-color-primary)}.navigator[direction=row] .bottom[data-v-a392cdfd]{flex:1;justify-content:flex-end;padding:0 10px;display:flex}.navigator[direction=column][data-v-a392cdfd]{flex-direction:column;width:60px}.navigator[direction=column] .brand[data-v-a392cdfd]{justify-content:center;align-items:center;width:100%;padding:10px 0;display:flex}.navigator[direction=column].is-mac .brand[data-v-a392cdfd]{padding-top:38px}.navigator[direction=column] .top[data-v-a392cdfd]{flex-direction:column;flex:1;width:100%;min-height:0;padding-top:0;display:flex;overflow:hidden}.navigator[direction=column] .top .links[data-v-a392cdfd]{flex-direction:column;flex:1;align-items:center;gap:15px;min-height:0;padding-bottom:10px;display:flex;overflow:hidden auto}.navigator[direction=column] .top .links[data-v-a392cdfd]::-webkit-scrollbar{width:4px}.navigator[direction=column] .top .links[data-v-a392cdfd]::-webkit-scrollbar-track{background:0 0}.navigator[direction=column] .top .links[data-v-a392cdfd]::-webkit-scrollbar-thumb{background:var(--el-fill-color);border-radius:4px}.navigator[direction=column] .top .link[data-v-a392cdfd]{cursor:pointer;color:var(--el-text-color-primary);justify-content:center;align-items:center;margin:0;padding:0;display:flex;background:0 0!important}.navigator[direction=column] .top .link .avatar[data-v-a392cdfd]{cursor:pointer;border-radius:50%;flex-shrink:0;width:35px;height:35px;margin:auto}.navigator[direction=column] .top .link .link-label[data-v-a392cdfd],.navigator[direction=column] .top .link.active[data-v-a392cdfd]:before{display:none}.navigator[direction=column] .top .more-button[data-v-a392cdfd]{background:var(--el-fill-color-light);cursor:pointer;width:35px;height:35px;box-shadow:var(--app-shadow-xs);border-radius:50%;justify-content:center;align-items:center;margin:auto;transition:border-radius .2s,background-color .2s,box-shadow .2s;display:flex}.navigator[direction=column] .top .more-button[data-v-a392cdfd]:hover{background:var(--el-fill-color);box-shadow:var(--app-shadow-sm);border-radius:35%}.navigator[direction=column] .top .more-button.active[data-v-a392cdfd]{box-shadow:0 0 0 2px var(--el-color-primary)}.navigator[direction=column] .top .more-button .folder-preview[data-v-a392cdfd]{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:1px;width:22px;height:22px;display:grid}.navigator[direction=column] .top .more-button .folder-preview .folder-icon[data-v-a392cdfd]{border-radius:50%;width:10px;height:10px}.navigator[direction=column] .bottom[data-v-a392cdfd]{flex-direction:column;justify-content:flex-end;align-items:center;width:100%;height:50px;padding-bottom:10px;display:flex}html.dark .navigator[data-v-a392cdfd]{border-right-color:var(--app-glass-border)}.navigator-overflow-popover{-webkit-backdrop-filter:blur(var(--app-glass-blur));backdrop-filter:blur(var(--app-glass-blur));border-radius:12px!important;padding:6px!important}.navigator-overflow-popover .overflow-menu{max-height:400px;overflow-y:auto}.navigator-overflow-popover .overflow-menu .overflow-item{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:7px 8px;transition:background-color .15s;display:flex}.navigator-overflow-popover .overflow-menu .overflow-item:hover{background:var(--el-fill-color-light)}.navigator-overflow-popover .overflow-menu .overflow-item.active{background:var(--el-color-primary-light-9);color:var(--el-color-primary)}.navigator-overflow-popover .overflow-menu .overflow-item .overflow-avatar{border-radius:50%;flex-shrink:0;width:24px;height:24px}.navigator-overflow-popover .overflow-menu .overflow-item .overflow-name{color:var(--el-text-color-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as e,Jt as t,L as n,M as r,N as i,at as a,tt as o,z as s}from"./vendor-chart-Dw-P17PN.js";import{G as c}from"./index-
|
|
1
|
+
import{A as e,Jt as t,L as n,M as r,N as i,at as a,tt as o,z as s}from"./vendor-chart-Dw-P17PN.js";import{G as c}from"./index-CUcxfoFQ.js";import{t as l}from"./index.es-D-PWel10.js";var u=s({name:`NotFound`,components:{FontAwesomeIcon:l},computed:{path(){return this.$route?.fullPath||``}},mounted(){let e=document.querySelector(`meta[name="robots"]`);e||(e=document.createElement(`meta`),e.setAttribute(`name`,`robots`),document.head.appendChild(e)),e.setAttribute(`content`,`noindex, nofollow`)},beforeUnmount(){let e=document.querySelector(`meta[name="robots"]`);e&&e.setAttribute(`content`,`index, follow`)},methods:{goHome(){this.$router.push(`/`)},goBack(){window.history.length>1?this.$router.back():this.$router.push(`/`)}}}),d={class:`not-found`},f={class:`content`},p={class:`eyebrow`},m={class:`title`},h={class:`subtitle`},g={class:`actions`},_={key:0,class:`path`},v={class:`path__label`},y={class:`path__value`};function b(s,c,l,u,b,x){let S=a(`font-awesome-icon`);return o(),i(`div`,d,[c[3]||=e(`div`,{class:`glow`,"aria-hidden":`true`},null,-1),e(`main`,f,[e(`p`,p,t(s.$t(`common.message.notFoundEyebrow`)),1),c[2]||=e(`div`,{class:`code`,"aria-hidden":`true`},`404`,-1),e(`h1`,m,t(s.$t(`common.title.notFound`)),1),e(`p`,h,t(s.$t(`common.message.notFound`)),1),e(`div`,g,[e(`button`,{class:`btn btn--primary`,onClick:c[0]||=(...e)=>s.goHome&&s.goHome(...e)},[n(S,{icon:`fa-solid fa-house`}),e(`span`,null,t(s.$t(`common.button.backToHome`)),1)]),e(`button`,{class:`btn btn--ghost`,onClick:c[1]||=(...e)=>s.goBack&&s.goBack(...e)},[n(S,{icon:`fa-solid fa-arrow-left`}),e(`span`,null,t(s.$t(`common.button.goBack`)),1)])]),s.path?(o(),i(`div`,_,[e(`span`,v,t(s.$t(`common.message.notFoundPath`)),1),e(`code`,y,t(s.path),1)])):r(``,!0)])])}var x=c(u,[[`render`,b],[`__scopeId`,`data-v-41538014`]]);export{x as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{A as e,Gt as t,I as n,Jt as r,L as i,M as a,N as o,T as s,at as c,j as l,mt as u,tt as d,z as f}from"./vendor-chart-Dw-P17PN.js";import{t as p}from"./alert-Dwk1cmIg.js";import{t as ee}from"./card-D-4S-l7a.js";import{n as m,t as h}from"./row-kgzhnw2k.js";import{i as g,n as _,r as v,t as y}from"./wechat-CRgDcu8w.js";import{t as b}from"./divider-BNWJAaA2.js";import{t as x}from"./skeleton-CoheJz5x.js";import{$t as S,Ai as C,Ci as w,G as T,Ni as E,Vi as D,bi as O,ci as k,dn as A,ln as te,pr as j,zi as M}from"./index-CGmTZItr.js";import{t as N}from"./CopyToClipboard-BBWmrDvx.js";var P=f({name:`PublicWechatPayDialog`,components:{ElDialog:E,ElButton:D,QrCode:S,ElRow:h,ElCol:m},props:{order:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:[`hide`],data(){return{copied:!1,copiedTimer:void 0}},computed:{isMobileOutsideWechat(){return _()&&!y()},isMobileInsideWechat(){return _()&&y()},dialogWidth(){return this.isMobileOutsideWechat||this.isMobileInsideWechat?`90%`:`500px`}},unmounted(){this.copiedTimer&&clearTimeout(this.copiedTimer)},methods:{async onCopyLink(){let e=typeof window<`u`?window.location.href:``;if(!e)return;let t=!1;try{t=await A(e,{debug:!1})}catch{t=!1}t?(this.copied=!0,this.copiedTimer&&clearTimeout(this.copiedTimer),this.copiedTimer=window.setTimeout(()=>{this.copied=!1},2e3)):C.error(String(this.$t(`common.message.copyFailed`)||`Copy failed`))}}}),F={key:0,class:`wechat-pay-mobile text-center py-[20px] px-[10px]`},I={class:`text-[14px] mb-3 leading-relaxed`},L={class:`text-[12px] text-gray-500 mb-4 leading-relaxed`},R={key:1,class:`wechat-pay-longpress text-center py-[20px] px-[10px]`},z={class:`text-[14px] mb-4 leading-relaxed`},B={class:`paycode wechat`},V={class:`help-text block bg-[#00c800] text-white text-[14px] h-[35px] w-[240px] text-center leading-[35px] mt-[10px] mx-auto`};function H(t,s,f,p,ee,m){let h=c(`qr-code`),g=c(`el-button`),_=c(`el-col`),v=c(`el-row`),y=c(`el-dialog`);return d(),l(y,{"model-value":t.visible,title:t.$t(`application.title.buyService`),width:t.dialogWidth,center:``,onClose:s[0]||=e=>t.$emit(`hide`)},{default:u(()=>[t.isMobileOutsideWechat?(d(),o(`div`,F,[e(`p`,I,r(t.$t(`order.message.wechatPayMobileScanTip`)),1),t.order?.pay_url?(d(),l(h,{key:0,value:t.order?.pay_url,size:220,class:`qrcode m-auto mb-3`,type:`image/png`,color:{dark:`#000000`,light:`#ffffff`}},null,8,[`value`])):a(``,!0),e(`p`,L,r(t.$t(`order.message.wechatPayMobileHint`)),1),i(g,{size:`default`,round:``,class:`w-[220px]`,onClick:t.onCopyLink},{default:u(()=>[n(r(t.copied?t.$t(`common.message.copied`):t.$t(`order.button.copyPayLink`)),1)]),_:1},8,[`onClick`])])):t.isMobileInsideWechat?(d(),o(`div`,R,[e(`p`,z,r(t.$t(`order.message.wechatPayLongPressTip`)),1),t.order?.pay_url?(d(),l(h,{key:0,value:t.order?.pay_url,size:240,class:`qrcode mx-auto`,type:`image/png`,color:{dark:`#000000`,light:`#ffffff`}},null,8,[`value`])):a(``,!0)])):(d(),l(v,{key:2,class:`paycodes py-[30px] w-[500px] mx-auto`},{default:u(()=>[i(_,{span:12},{default:u(()=>[e(`div`,B,[t.order?.pay_url?(d(),l(h,{key:0,value:t.order?.pay_url,size:200,class:`qrcode m-auto w-[200px] h-[200px]`,type:`image/png`,color:{dark:`#000000`,light:`#ffffff`}},null,8,[`value`])):a(``,!0),e(`p`,V,r(t.$t(`order.message.wechatPayHelp`)),1)])]),_:1}),i(_,{span:12},{default:u(()=>[...s[1]||=[e(`div`,{class:`help-img`},[e(`img`,{src:`https://midas.gtimg.cn/enterprise/images/ep_sys_wx_tip.jpg`})],-1)]]),_:1})]),_:1}))]),_:1},8,[`model-value`,`title`,`width`])}var U=T(P,[[`render`,H]]),W=f({name:`PublicStripePayDialog`,components:{ElDialog:E},props:{order:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:[`hide`],watch:{visible:{handler(e){e&&this.order?.pay_url&&window.open(this.order.pay_url,`_blank`)}}}}),G={class:`text-center`};function K(t,n,i,a,o,s){let f=c(`el-dialog`);return d(),l(f,{"model-value":t.visible,title:t.$t(`application.title.buyService`),width:`500px`,center:``,onClose:n[0]||=e=>t.$emit(`hide`)},{default:u(()=>[e(`p`,G,r(t.$t(`order.message.buyInExternalUrl`)),1)]),_:1},8,[`model-value`,`title`])}var q=T(W,[[`render`,K]]),ne=f({name:`PublicAlipayPayDialog`,components:{ElDialog:E},props:{order:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:[`hide`],watch:{visible:{handler(e){e&&this.order?.pay_url&&window.open(this.order.pay_url,`_blank`)}}}}),J={class:`text-center`};function Y(t,n,i,a,o,s){let f=c(`el-dialog`);return d(),l(f,{"model-value":t.visible,title:t.$t(`application.title.buyService`),width:`500px`,center:``,onClose:n[0]||=e=>t.$emit(`hide`)},{default:u(()=>[e(`p`,J,r(t.$t(`order.message.buyInExternalUrl`)),1)]),_:1},8,[`model-value`,`title`])}var X=T(ne,[[`render`,Y]]),Z=7e3,re=2e3,Q=function(e){return e.WechatPay=`WechatPay`,e.Stripe=`Stripe`,e.AliPay=`AliPay`,e}(Q||{}),ie=f({name:`OrderPublicPay`,components:{ElButton:D,ElRow:h,ElCol:m,ElCard:ee,ElSkeleton:x,ElDivider:b,ElAlert:p,ElDescriptions:v,ElDescriptionsItem:g,ElTag:M,PublicWechatPay:U,PublicStripePay:q,PublicAlipayPay:X,CopyToClipboard:N},data(){return{PayWay:Q,OrderState:k,payWay:`WechatPay`,order:void 0,loading:!1,paying:!1,prepaying:!1}},computed:{id(){return this.$route.params?.id?.toString()??``},showPayment(){return!w()}},watch:{paying(e){e?this.startOrderPolling(re):this.stopOrderPolling()}},created(){this._orderRefreshTimer=void 0},mounted(){this.onFetchData()},beforeUnmount(){this.stopOrderPolling()},methods:{getPriceString:te,payWayLabel(e){return{WechatPay:this.$t(`order.title.wechatPay`),Stripe:this.$t(`order.title.stripe`),AliPay:this.$t(`order.title.aliPay`)}[e]||e},onFetchData(){this.id&&(this.loading=!0,j.get(this.id).then(({data:e})=>{this.order=e,e?.pay_way&&e.pay_way in Q&&(this.payWay=e.pay_way),this.loading=!1}).catch(()=>{this.order=void 0,this.loading=!1}))},startOrderPolling(e=0){this.stopOrderPolling();let t=async()=>{try{let{data:e}=await j.get(this.id);if(this.order=e,e?.state===k.PAID||e?.state===k.FINISHED||e?.state===k.FAILED||e?.state===k.EXPIRED){this.paying=!1,this.stopOrderPolling();return}}catch{}this.paying&&(this._orderRefreshTimer=window.setTimeout(t,Z))};this._orderRefreshTimer=window.setTimeout(t,e)},stopOrderPolling(){let e=this._orderRefreshTimer;e&&(clearTimeout(e),this._orderRefreshTimer=void 0)},onRepay(){this.paying=!0},onPay(){if(!this.id)return;this.prepaying=!0;let e={pay_way:this.payWay};this.payWay===`AliPay`&&(e.surface=O()),j.pay(this.id,e).then(({data:e})=>{this.prepaying=!1,e?.id&&(this.order=e),this.order&&this.order.price&&this.order.price>0&&(this.paying=!0)}).catch(()=>{this.prepaying=!1})}}}),ae={class:`title`},oe={key:0,class:`pt-5`},se={key:1,class:`pt-10 text-center`},ce={key:2,class:`order`},le={key:0,class:`price current unfree`},ue={key:1,class:`price free`},de={key:0,class:`payways mb-6`},fe={class:`payname`},pe={class:`payname`},$={class:`payname`},me={key:1},he={key:2};function ge(f,p,ee,m,h,g){let _=c(`el-col`),v=c(`el-row`),y=c(`el-skeleton`),b=c(`el-alert`),x=c(`copy-to-clipboard`),S=c(`el-descriptions-item`),C=c(`el-tag`),w=c(`el-descriptions`),T=c(`el-divider`),E=c(`el-button`),D=c(`el-card`),O=c(`public-wechat-pay`),k=c(`public-stripe-pay`),A=c(`public-alipay-pay`);return d(),o(s,null,[i(v,{class:`wrapper`},{default:u(()=>[i(_,{span:24},{default:u(()=>[i(v,null,{default:u(()=>[i(_,{span:24},{default:u(()=>[e(`h2`,ae,r(f.$t(`order.title.info`)),1)]),_:1})]),_:1}),i(v,{class:`panel`},{default:u(()=>[i(_,{span:24},{default:u(()=>[i(D,{shadow:`hover`},{default:u(()=>[i(v,null,{default:u(()=>[i(_,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:u(()=>[f.loading?(d(),o(`div`,oe,[i(y,{animated:``})])):f.order?(d(),o(`div`,ce,[i(w,{column:1},{default:u(()=>[i(S,{label:f.$t(`order.field.id`)},{default:u(()=>[e(`span`,null,r(f.order.id),1),f.order.id?(d(),l(x,{key:0,content:f.order.id,class:`inline-block`},null,8,[`content`])):a(``,!0)]),_:1},8,[`label`]),i(S,{label:f.$t(`order.field.description`)},{default:u(()=>[n(r(f.order.description),1)]),_:1},8,[`label`]),f.order.pay_way?(d(),l(S,{key:0,label:f.$t(`order.field.payWay`)},{default:u(()=>[i(C,{type:`info`,effect:`dark`,round:``,size:`small`},{default:u(()=>[n(r(f.payWayLabel(f.order.pay_way)),1)]),_:1})]),_:1},8,[`label`])):a(``,!0),i(S,{label:f.$t(`order.field.createdAt`)},{default:u(()=>[n(r(f.$dayjs.format(f.order.created_at||``)),1)]),_:1},8,[`label`]),i(S,{label:f.$t(`order.field.price`)},{default:u(()=>[f.order.price&&f.order.price>0?(d(),o(`span`,le,r(f.getPriceString({value:f.order.price})),1)):(d(),o(`span`,ue,r(f.$t(`order.message.free`)),1))]),_:1},8,[`label`])]),_:1})])):(d(),o(`div`,se,[i(b,{title:f.$t(`order.message.publicPayNotFound`),type:`error`,"show-icon":``,closable:!1},null,8,[`title`])]))]),_:1})]),_:1}),f.order?.state===f.OrderState.PAID||f.order?.state===f.OrderState.FINISHED?(d(),l(v,{key:0,class:`mb-5`},{default:u(()=>[i(_,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:u(()=>[i(T,{"border-style":`dashed`}),i(b,{title:f.$t(`order.message.paidSuccessfully`),type:`success`,"show-icon":``,closable:!1},null,8,[`title`])]),_:1})]),_:1})):a(``,!0),f.order?.state===f.OrderState.EXPIRED?(d(),l(v,{key:1,class:`mb-5`},{default:u(()=>[i(_,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:u(()=>[i(T,{"border-style":`dashed`}),i(b,{title:f.$t(`order.message.orderExpired`),type:`error`,"show-icon":``,closable:!1},null,8,[`title`])]),_:1})]),_:1})):a(``,!0),f.order?.state===f.OrderState.FAILED?(d(),l(v,{key:2,class:`mb-5`},{default:u(()=>[i(_,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:u(()=>[i(T,{"border-style":`dashed`}),i(b,{title:f.$t(`order.state.failed`),type:`error`,"show-icon":``,closable:!1},null,8,[`title`])]),_:1})]),_:1})):a(``,!0),f.order?.state===f.OrderState.PENDING&&f.showPayment?(d(),l(v,{key:3},{default:u(()=>[i(_,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:u(()=>[i(T,{"border-style":`dashed`}),!f.order.pay_way&&f.order.price&&f.order.price>0?(d(),o(`div`,de,[e(`div`,{class:t({payway:!0,wechatpay:!0,active:f.payWay===f.PayWay.WechatPay}),onClick:p[0]||=e=>f.payWay=f.PayWay.WechatPay},[p[6]||=e(`span`,{class:`payicon wechatpay`},null,-1),e(`span`,fe,r(f.$t(`order.title.wechatPay`)),1)],2),e(`div`,{class:t({payway:!0,alipay:!0,active:f.payWay===f.PayWay.AliPay}),onClick:p[1]||=e=>f.payWay=f.PayWay.AliPay},[p[7]||=e(`span`,{class:`payicon alipay`},null,-1),e(`span`,pe,r(f.$t(`order.title.aliPay`)),1)],2),e(`div`,{class:t({payway:!0,stripe:!0,active:f.payWay===f.PayWay.Stripe}),onClick:p[2]||=e=>f.payWay=f.PayWay.Stripe},[p[8]||=e(`span`,{class:`payicon stripe`},null,-1),e(`span`,$,r(f.$t(`order.title.stripe`)),1)],2)])):a(``,!0),f.order.pay_way?(d(),o(`div`,he,[i(E,{type:`primary`,round:``,size:`large`,class:`btn-repay`,onClick:f.onRepay},{default:u(()=>[n(r(f.$t(`common.button.repay`)),1)]),_:1},8,[`onClick`])])):(d(),o(`div`,me,[i(E,{loading:f.prepaying,round:``,type:`primary`,size:`large`,class:`btn-pay`,onClick:f.onPay},{default:u(()=>[n(r(f.$t(`common.button.pay`)),1)]),_:1},8,[`loading`,`onClick`])]))]),_:1})]),_:1})):a(``,!0)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),f.order&&f.payWay===f.PayWay.WechatPay?(d(),l(O,{key:0,order:f.order,visible:f.paying,onHide:p[3]||=e=>f.paying=!1},null,8,[`order`,`visible`])):a(``,!0),f.order&&f.payWay===f.PayWay.Stripe?(d(),l(k,{key:1,order:f.order,visible:f.paying,onHide:p[4]||=e=>f.paying=!1},null,8,[`order`,`visible`])):a(``,!0),f.order&&f.payWay===f.PayWay.AliPay?(d(),l(A,{key:2,order:f.order,visible:f.paying,onHide:p[5]||=e=>f.paying=!1},null,8,[`order`,`visible`])):a(``,!0)],64)}var _e=T(ie,[[`render`,ge],[`__scopeId`,`data-v-ffd3ba40`]]);export{_e as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,Gt as t,I as n,Jt as r,L as i,M as a,N as o,T as s,at as c,j as l,mt as u,tt as d,z as f}from"./vendor-chart-Dw-P17PN.js";import{t as p}from"./alert-DuYRH84s.js";import{t as ee}from"./card-D-4S-l7a.js";import{n as m,t as h}from"./row-CTZOiKgC.js";import{i as g,n as _,r as v,t as y}from"./wechat-CRgDcu8w.js";import{t as b}from"./divider-BNWJAaA2.js";import{t as x}from"./skeleton-CoheJz5x.js";import{$t as S,Fi as C,G as w,Mi as T,Si as E,Ti as D,Ui as O,Vi as k,dn as A,hr as j,ln as te,ui as M}from"./index-CUcxfoFQ.js";import{t as N}from"./CopyToClipboard-4xQr857S.js";var P=f({name:`PublicWechatPayDialog`,components:{ElDialog:C,ElButton:O,QrCode:S,ElRow:h,ElCol:m},props:{order:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:[`hide`],data(){return{copied:!1,copiedTimer:void 0}},computed:{isMobileOutsideWechat(){return _()&&!y()},isMobileInsideWechat(){return _()&&y()},dialogWidth(){return this.isMobileOutsideWechat||this.isMobileInsideWechat?`90%`:`500px`}},unmounted(){this.copiedTimer&&clearTimeout(this.copiedTimer)},methods:{async onCopyLink(){let e=typeof window<`u`?window.location.href:``;if(!e)return;let t=!1;try{t=await A(e,{debug:!1})}catch{t=!1}t?(this.copied=!0,this.copiedTimer&&clearTimeout(this.copiedTimer),this.copiedTimer=window.setTimeout(()=>{this.copied=!1},2e3)):T.error(String(this.$t(`common.message.copyFailed`)||`Copy failed`))}}}),F={key:0,class:`wechat-pay-mobile text-center py-[20px] px-[10px]`},I={class:`text-[14px] mb-3 leading-relaxed`},L={class:`text-[12px] text-gray-500 mb-4 leading-relaxed`},R={key:1,class:`wechat-pay-longpress text-center py-[20px] px-[10px]`},z={class:`text-[14px] mb-4 leading-relaxed`},B={class:`paycode wechat`},V={class:`help-text block bg-[#00c800] text-white text-[14px] h-[35px] w-[240px] text-center leading-[35px] mt-[10px] mx-auto`};function H(t,s,f,p,ee,m){let h=c(`qr-code`),g=c(`el-button`),_=c(`el-col`),v=c(`el-row`),y=c(`el-dialog`);return d(),l(y,{"model-value":t.visible,title:t.$t(`application.title.buyService`),width:t.dialogWidth,center:``,onClose:s[0]||=e=>t.$emit(`hide`)},{default:u(()=>[t.isMobileOutsideWechat?(d(),o(`div`,F,[e(`p`,I,r(t.$t(`order.message.wechatPayMobileScanTip`)),1),t.order?.pay_url?(d(),l(h,{key:0,value:t.order?.pay_url,size:220,class:`qrcode m-auto mb-3`,type:`image/png`,color:{dark:`#000000`,light:`#ffffff`}},null,8,[`value`])):a(``,!0),e(`p`,L,r(t.$t(`order.message.wechatPayMobileHint`)),1),i(g,{size:`default`,round:``,class:`w-[220px]`,onClick:t.onCopyLink},{default:u(()=>[n(r(t.copied?t.$t(`common.message.copied`):t.$t(`order.button.copyPayLink`)),1)]),_:1},8,[`onClick`])])):t.isMobileInsideWechat?(d(),o(`div`,R,[e(`p`,z,r(t.$t(`order.message.wechatPayLongPressTip`)),1),t.order?.pay_url?(d(),l(h,{key:0,value:t.order?.pay_url,size:240,class:`qrcode mx-auto`,type:`image/png`,color:{dark:`#000000`,light:`#ffffff`}},null,8,[`value`])):a(``,!0)])):(d(),l(v,{key:2,class:`paycodes py-[30px] w-[500px] mx-auto`},{default:u(()=>[i(_,{span:12},{default:u(()=>[e(`div`,B,[t.order?.pay_url?(d(),l(h,{key:0,value:t.order?.pay_url,size:200,class:`qrcode m-auto w-[200px] h-[200px]`,type:`image/png`,color:{dark:`#000000`,light:`#ffffff`}},null,8,[`value`])):a(``,!0),e(`p`,V,r(t.$t(`order.message.wechatPayHelp`)),1)])]),_:1}),i(_,{span:12},{default:u(()=>[...s[1]||=[e(`div`,{class:`help-img`},[e(`img`,{src:`https://midas.gtimg.cn/enterprise/images/ep_sys_wx_tip.jpg`})],-1)]]),_:1})]),_:1}))]),_:1},8,[`model-value`,`title`,`width`])}var U=w(P,[[`render`,H]]),W=f({name:`PublicStripePayDialog`,components:{ElDialog:C},props:{order:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:[`hide`],watch:{visible:{handler(e){e&&this.order?.pay_url&&window.open(this.order.pay_url,`_blank`)}}}}),G={class:`text-center`};function K(t,n,i,a,o,s){let f=c(`el-dialog`);return d(),l(f,{"model-value":t.visible,title:t.$t(`application.title.buyService`),width:`500px`,center:``,onClose:n[0]||=e=>t.$emit(`hide`)},{default:u(()=>[e(`p`,G,r(t.$t(`order.message.buyInExternalUrl`)),1)]),_:1},8,[`model-value`,`title`])}var q=w(W,[[`render`,K]]),J=f({name:`PublicAlipayPayDialog`,components:{ElDialog:C},props:{order:{type:Object,required:!0},visible:{type:Boolean,required:!1,default:!1}},emits:[`hide`],watch:{visible:{handler(e){e&&this.order?.pay_url&&window.open(this.order.pay_url,`_blank`)}}}}),ne={class:`text-center`};function Y(t,n,i,a,o,s){let f=c(`el-dialog`);return d(),l(f,{"model-value":t.visible,title:t.$t(`application.title.buyService`),width:`500px`,center:``,onClose:n[0]||=e=>t.$emit(`hide`)},{default:u(()=>[e(`p`,ne,r(t.$t(`order.message.buyInExternalUrl`)),1)]),_:1},8,[`model-value`,`title`])}var X=w(J,[[`render`,Y]]),Z=7e3,re=2e3,Q=function(e){return e.WechatPay=`WechatPay`,e.Stripe=`Stripe`,e.AliPay=`AliPay`,e}(Q||{}),ie=f({name:`OrderPublicPay`,components:{ElButton:O,ElRow:h,ElCol:m,ElCard:ee,ElSkeleton:x,ElDivider:b,ElAlert:p,ElDescriptions:v,ElDescriptionsItem:g,ElTag:k,PublicWechatPay:U,PublicStripePay:q,PublicAlipayPay:X,CopyToClipboard:N},data(){return{PayWay:Q,OrderState:M,payWay:`WechatPay`,order:void 0,loading:!1,paying:!1,prepaying:!1}},computed:{id(){return this.$route.params?.id?.toString()??``},showPayment(){return!D()}},watch:{paying(e){e?this.startOrderPolling(re):this.stopOrderPolling()}},created(){this._orderRefreshTimer=void 0},mounted(){this.onFetchData()},beforeUnmount(){this.stopOrderPolling()},methods:{getPriceString:te,payWayLabel(e){return{WechatPay:this.$t(`order.title.wechatPay`),Stripe:this.$t(`order.title.stripe`),AliPay:this.$t(`order.title.aliPay`)}[e]||e},onFetchData(){this.id&&(this.loading=!0,j.get(this.id).then(({data:e})=>{this.order=e,e?.pay_way&&e.pay_way in Q&&(this.payWay=e.pay_way),this.loading=!1}).catch(()=>{this.order=void 0,this.loading=!1}))},startOrderPolling(e=0){this.stopOrderPolling();let t=async()=>{try{let{data:e}=await j.get(this.id);if(this.order=e,e?.state===M.PAID||e?.state===M.FINISHED||e?.state===M.FAILED||e?.state===M.EXPIRED){this.paying=!1,this.stopOrderPolling();return}}catch{}this.paying&&(this._orderRefreshTimer=window.setTimeout(t,Z))};this._orderRefreshTimer=window.setTimeout(t,e)},stopOrderPolling(){let e=this._orderRefreshTimer;e&&(clearTimeout(e),this._orderRefreshTimer=void 0)},onRepay(){this.paying=!0},onPay(){if(!this.id)return;this.prepaying=!0;let e={pay_way:this.payWay};this.payWay===`AliPay`&&(e.surface=E()),j.pay(this.id,e).then(({data:e})=>{this.prepaying=!1,e?.id&&(this.order=e),this.order&&this.order.price&&this.order.price>0&&(this.paying=!0)}).catch(()=>{this.prepaying=!1})}}}),ae={class:`title`},oe={key:0,class:`pt-5`},se={key:1,class:`pt-10 text-center`},ce={key:2,class:`order`},le={key:0,class:`price current unfree`},ue={key:1,class:`price free`},de={key:0,class:`payways mb-6`},fe={class:`payname`},pe={class:`payname`},$={class:`payname`},me={key:1},he={key:2};function ge(f,p,ee,m,h,g){let _=c(`el-col`),v=c(`el-row`),y=c(`el-skeleton`),b=c(`el-alert`),x=c(`copy-to-clipboard`),S=c(`el-descriptions-item`),C=c(`el-tag`),w=c(`el-descriptions`),T=c(`el-divider`),E=c(`el-button`),D=c(`el-card`),O=c(`public-wechat-pay`),k=c(`public-stripe-pay`),A=c(`public-alipay-pay`);return d(),o(s,null,[i(v,{class:`wrapper`},{default:u(()=>[i(_,{span:24},{default:u(()=>[i(v,null,{default:u(()=>[i(_,{span:24},{default:u(()=>[e(`h2`,ae,r(f.$t(`order.title.info`)),1)]),_:1})]),_:1}),i(v,{class:`panel`},{default:u(()=>[i(_,{span:24},{default:u(()=>[i(D,{shadow:`hover`},{default:u(()=>[i(v,null,{default:u(()=>[i(_,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:u(()=>[f.loading?(d(),o(`div`,oe,[i(y,{animated:``})])):f.order?(d(),o(`div`,ce,[i(w,{column:1},{default:u(()=>[i(S,{label:f.$t(`order.field.id`)},{default:u(()=>[e(`span`,null,r(f.order.id),1),f.order.id?(d(),l(x,{key:0,content:f.order.id,class:`inline-block`},null,8,[`content`])):a(``,!0)]),_:1},8,[`label`]),i(S,{label:f.$t(`order.field.description`)},{default:u(()=>[n(r(f.order.description),1)]),_:1},8,[`label`]),f.order.pay_way?(d(),l(S,{key:0,label:f.$t(`order.field.payWay`)},{default:u(()=>[i(C,{type:`info`,effect:`dark`,round:``,size:`small`},{default:u(()=>[n(r(f.payWayLabel(f.order.pay_way)),1)]),_:1})]),_:1},8,[`label`])):a(``,!0),i(S,{label:f.$t(`order.field.createdAt`)},{default:u(()=>[n(r(f.$dayjs.format(f.order.created_at||``)),1)]),_:1},8,[`label`]),i(S,{label:f.$t(`order.field.price`)},{default:u(()=>[f.order.price&&f.order.price>0?(d(),o(`span`,le,r(f.getPriceString({value:f.order.price})),1)):(d(),o(`span`,ue,r(f.$t(`order.message.free`)),1))]),_:1},8,[`label`])]),_:1})])):(d(),o(`div`,se,[i(b,{title:f.$t(`order.message.publicPayNotFound`),type:`error`,"show-icon":``,closable:!1},null,8,[`title`])]))]),_:1})]),_:1}),f.order?.state===f.OrderState.PAID||f.order?.state===f.OrderState.FINISHED?(d(),l(v,{key:0,class:`mb-5`},{default:u(()=>[i(_,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:u(()=>[i(T,{"border-style":`dashed`}),i(b,{title:f.$t(`order.message.paidSuccessfully`),type:`success`,"show-icon":``,closable:!1},null,8,[`title`])]),_:1})]),_:1})):a(``,!0),f.order?.state===f.OrderState.EXPIRED?(d(),l(v,{key:1,class:`mb-5`},{default:u(()=>[i(_,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:u(()=>[i(T,{"border-style":`dashed`}),i(b,{title:f.$t(`order.message.orderExpired`),type:`error`,"show-icon":``,closable:!1},null,8,[`title`])]),_:1})]),_:1})):a(``,!0),f.order?.state===f.OrderState.FAILED?(d(),l(v,{key:2,class:`mb-5`},{default:u(()=>[i(_,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:u(()=>[i(T,{"border-style":`dashed`}),i(b,{title:f.$t(`order.state.failed`),type:`error`,"show-icon":``,closable:!1},null,8,[`title`])]),_:1})]),_:1})):a(``,!0),f.order?.state===f.OrderState.PENDING&&f.showPayment?(d(),l(v,{key:3},{default:u(()=>[i(_,{xs:{span:22,offset:1},sm:{span:16,offset:4}},{default:u(()=>[i(T,{"border-style":`dashed`}),!f.order.pay_way&&f.order.price&&f.order.price>0?(d(),o(`div`,de,[e(`div`,{class:t({payway:!0,wechatpay:!0,active:f.payWay===f.PayWay.WechatPay}),onClick:p[0]||=e=>f.payWay=f.PayWay.WechatPay},[p[6]||=e(`span`,{class:`payicon wechatpay`},null,-1),e(`span`,fe,r(f.$t(`order.title.wechatPay`)),1)],2),e(`div`,{class:t({payway:!0,alipay:!0,active:f.payWay===f.PayWay.AliPay}),onClick:p[1]||=e=>f.payWay=f.PayWay.AliPay},[p[7]||=e(`span`,{class:`payicon alipay`},null,-1),e(`span`,pe,r(f.$t(`order.title.aliPay`)),1)],2),e(`div`,{class:t({payway:!0,stripe:!0,active:f.payWay===f.PayWay.Stripe}),onClick:p[2]||=e=>f.payWay=f.PayWay.Stripe},[p[8]||=e(`span`,{class:`payicon stripe`},null,-1),e(`span`,$,r(f.$t(`order.title.stripe`)),1)],2)])):a(``,!0),f.order.pay_way?(d(),o(`div`,he,[i(E,{type:`primary`,round:``,size:`large`,class:`btn-repay`,onClick:f.onRepay},{default:u(()=>[n(r(f.$t(`common.button.repay`)),1)]),_:1},8,[`onClick`])])):(d(),o(`div`,me,[i(E,{loading:f.prepaying,round:``,type:`primary`,size:`large`,class:`btn-pay`,onClick:f.onPay},{default:u(()=>[n(r(f.$t(`common.button.pay`)),1)]),_:1},8,[`loading`,`onClick`])]))]),_:1})]),_:1})):a(``,!0)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),f.order&&f.payWay===f.PayWay.WechatPay?(d(),l(O,{key:0,order:f.order,visible:f.paying,onHide:p[3]||=e=>f.paying=!1},null,8,[`order`,`visible`])):a(``,!0),f.order&&f.payWay===f.PayWay.Stripe?(d(),l(k,{key:1,order:f.order,visible:f.paying,onHide:p[4]||=e=>f.paying=!1},null,8,[`order`,`visible`])):a(``,!0),f.order&&f.payWay===f.PayWay.AliPay?(d(),l(A,{key:2,order:f.order,visible:f.paying,onHide:p[5]||=e=>f.paying=!1},null,8,[`order`,`visible`])):a(``,!0)],64)}var _e=w(ie,[[`render`,ge],[`__scopeId`,`data-v-ffd3ba40`]]);export{_e as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime--c01j_DQ.js";import{A as t,Gt as n,Jt as r,L as i,M as a,Mt as o,N as s,U as c,Y as l,ft as u,j as d,k as f,mt as p,nt as m,st as h,tt as g,yt as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{t as y}from"./popover-Btt3bdEi.js";import{t as b}from"./slider-BIxh-I1a.js";import{_i as x}from"./index-CGmTZItr.js";function S(e){let t=Math.floor(e)%60;e=Math.floor(e/60);let n=e%60,r=n<10?`0${n}`:n,i=t<10?`0${t}`:t;return r+`:`+i}var C=e(((e,t)=>{(function(t,n){typeof define==`function`&&define.amd?define([],n):e===void 0?(n(),t.FileSaver={exports:{}}.exports):n()})(e,function(){function e(e,t){return t===void 0?t={autoBom:!1}:typeof t!=`object`&&(console.warn(`Deprecated: Expected third argument to be a object`),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function n(e,t,n){var r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){s(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function r(e){var t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return 200<=t.status&&299>=t.status}function i(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{var t=document.createEvent(`MouseEvents`);t.initMouseEvent(`click`,!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var a=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:void 0,o=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),s=a.saveAs||(typeof window!=`object`||window!==a?function(){}:`download`in HTMLAnchorElement.prototype&&!o?function(e,t,o){var s=a.URL||a.webkitURL,c=document.createElement(`a`);t=t||e.name||`download`,c.download=t,c.rel=`noopener`,typeof e==`string`?(c.href=e,c.origin===location.origin?i(c):r(c.href)?n(e,t,o):i(c,c.target=`_blank`)):(c.href=s.createObjectURL(e),setTimeout(function(){s.revokeObjectURL(c.href)},4e4),setTimeout(function(){i(c)},0))}:`msSaveOrOpenBlob`in navigator?function(t,a,o){if(a=a||t.name||`download`,typeof t!=`string`)navigator.msSaveOrOpenBlob(e(t,o),a);else if(r(t))n(t,a,o);else{var s=document.createElement(`a`);s.href=t,s.target=`_blank`,setTimeout(function(){i(s)})}}:function(e,t,r,i){if(i||=open(``,`_blank`),i&&(i.document.title=i.document.body.innerText=`downloading...`),typeof e==`string`)return n(e,t,r);var s=e.type===`application/octet-stream`,c=/constructor/i.test(a.HTMLElement)||a.safari,l=/CriOS\/[\d]+/.test(navigator.userAgent);if((l||s&&c||o)&&typeof FileReader<`u`){var u=new FileReader;u.onloadend=function(){var e=u.result;e=l?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),i?i.location.href=e:location=e,i=null},u.readAsDataURL(e)}else{var d=a.URL||a.webkitURL,f=d.createObjectURL(e);i?i.location=f:location.href=f,i=null,setTimeout(function(){d.revokeObjectURL(f)},4e4)}});a.saveAs=s.saveAs=s,t!==void 0&&(t.exports=s)})})),w=Symbol(`AudioNamespace`),T=Symbol(`AudioQueue`),E=()=>{let e=c(w);if(!e)throw Error(`[player] useAudioNamespace() must be called inside <Player namespace="suno|producer">`);return e},D=e=>{let t=e??E(),n=x(),r=f({get:()=>n.state[t].audio,set:e=>n.commit(`${t}/setAudio`,e)}),i=e=>{n.commit(`${t}/setAudio`,{...n.state[t].audio,...e})},a=e=>{n.dispatch(`${t}/setAudio`,{...n.state[t].audio,...e})},o=e=>f({get:()=>n.state[t].audio?.[e],set:t=>i({[e]:t})}),s=c(T,void 0),l=f(()=>{let e=s?.value;if(e&&e.length)return e;let r=n.state[t]?.tasks?.items??[],i=[];for(let e of r)for(let t of e?.response?.data??[])t?.audio_url&&i.push(t);return i}),u=f(()=>{let e=n.state[t].audio?.id;return l.value.findIndex(t=>t.id===e)});return{namespace:t,store:n,audio:r,field:o,patchAudio:i,dispatchAudio:a,tracks:l,currentIndex:u,playAdjacent:e=>{let r=u.value;if(r===-1)return;let i=l.value[r+e];i&&n.dispatch(`${t}/setAudio`,{...n.state[t].audio,...i,progress:0,state:`playing`})}}},O={class:`player-slider`},k=v({__name:`PlayerSlider`,setup(e){let{field:t,dispatchAudio:n}=D(),r=t(`progress`),a=t(`duration`),c=()=>{},l=e=>n({progress:Array.isArray(e)?e[0]:e});return(e,t)=>(g(),s(`div`,O,[i(o(b),{modelValue:o(r),"onUpdate:modelValue":t[0]||=e=>_(r)?r.value=e:null,"show-tooltip":!1,min:0,max:o(a),onChange:l,onInput:c},null,8,[`modelValue`,`max`])]))}}),A={class:`flex player-song`},j=[`src`],M={class:`ml-2 text-xs flex flex-col justify-between`},N={class:`w-52 2xl:w-96 cursor-pointer truncate`},P={class:`flex`},F={class:`ml-2 text-dc`},I=v({__name:`PlayerSong`,setup(e){let{audio:n,patchAudio:i}=D(),a=null,c=null,d=()=>{if(a){try{a.pause()}catch{}a.src=``,a=null}c&&=(c.abort(),null)};return u(n,(e,t)=>{if(e?.audio_url!==t?.audio_url){if(d(),!e?.audio_url)return;let t=new Audio(e.audio_url);a=t,c=new AbortController;let{signal:n}=c;e.state===`playing`?t.play().catch(()=>{}):t.pause(),t.addEventListener(`loadedmetadata`,()=>{t.currentTime=0},{signal:n}),t.addEventListener(`timeupdate`,()=>{i({progress:t.currentTime})},{signal:n}),i({object:t})}else e?.progress!==t?.progress&&e?.object&&Math.abs(e.progress-e.object.currentTime)>2?e.object.currentTime=e.progress:e?.state!==t?.state&&e?.object&&(e.state===`playing`?e.object.play().catch(()=>{}):e.object.pause());e?.volume!==t?.volume&&e?.object&&(e.object.volume=e.volume/100)}),l(d),(e,i)=>(g(),s(`div`,A,[t(`img`,{alt:``,class:`w-11 h-11 rounded`,src:o(n)?.image_url||o(`/assets/disk-XFRmVAfp.png`)},null,8,j),t(`div`,M,[t(`div`,N,[t(`div`,P,[t(`span`,null,r(o(n)?.title||`Music`),1),t(`span`,F,`- `+r(o(n)?.style||`SmallRuralDog`),1)])])])]))}}),L={class:`flex justify-end items-center gap-x-2.5`},R={class:`text-xs`},z=v({__name:`PlayerAction`,setup(e){let{field:n}=D(),i=n(`progress`),a=n(`duration`);return(e,n)=>(g(),s(`div`,L,[t(`span`,R,r(o(S)(o(i)))+` / `+r(o(S)(o(a))),1)]))}}),B={size:`1em`,strokeWidth:4,strokeLinecap:`round`,strokeLinejoin:`round`,rtl:!1,theme:`outline`,colors:{outline:{fill:`#333`,background:`transparent`},filled:{fill:`#333`,background:`#FFF`},twoTone:{fill:`#333`,twoTone:`#2F88FF`},multiColor:{outStrokeColor:`#333`,outFillColor:`#2F88FF`,innerStrokeColor:`#FFF`,innerFillColor:`#43CCF8`}},prefix:`i`};function V(){return`icon-`+((1+Math.random())*4294967296|0).toString(16).substring(1)}function H(e,t,n){var r=typeof t.fill==`string`?[t.fill]:t.fill||[],i=[];switch(t.theme||n.theme){case`outline`:i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(`none`),i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(`none`);break;case`filled`:i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(`#FFF`),i.push(`#FFF`);break;case`two-tone`:i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(typeof r[1]==`string`?r[1]:n.colors.twoTone.twoTone),i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(typeof r[1]==`string`?r[1]:n.colors.twoTone.twoTone);break;case`multi-color`:i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(typeof r[1]==`string`?r[1]:n.colors.multiColor.outFillColor),i.push(typeof r[2]==`string`?r[2]:n.colors.multiColor.innerStrokeColor),i.push(typeof r[3]==`string`?r[3]:n.colors.multiColor.innerFillColor);break}return{size:t.size||n.size,strokeWidth:t.strokeWidth||n.strokeWidth,strokeLinecap:t.strokeLinecap||n.strokeLinecap,strokeLinejoin:t.strokeLinejoin||n.strokeLinejoin,colors:i,id:e}}var ee=Symbol(`icon-context`);function U(e,t,n){return{name:`icon-`+e,props:[`size`,`strokeWidth`,`strokeLinecap`,`strokeLinejoin`,`theme`,`fill`,`spin`],setup:function(r){var a=V(),o=c(ee,B);return function(){var s=r.size,c=r.strokeWidth,l=r.strokeLinecap,u=r.strokeLinejoin,d=r.theme,f=r.fill,p=r.spin,m=H(a,{size:s,strokeWidth:c,strokeLinecap:l,strokeLinejoin:u,theme:d,fill:f},o),h=[o.prefix+`-icon`];return h.push(o.prefix+`-icon-`+e),t&&o.rtl&&h.push(o.prefix+`-icon-rtl`),p&&h.push(o.prefix+`-icon-spin`),i(`span`,{class:h.join(` `)},[n(m)])}}}}var W=U(`go-end`,!0,function(e){return i(`svg`,{width:e.size,height:e.size,viewBox:`0 0 48 48`,fill:`none`},[i(`path`,{d:`M14 12L26 24L14 36`,stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null),i(`path`,{d:`M34 12V36`,stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null)])}),G=U(`go-start`,!0,function(e){return i(`svg`,{width:e.size,height:e.size,viewBox:`0 0 48 48`,fill:`none`},[i(`path`,{d:`M34 36L22 24L34 12`,stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null),i(`path`,{d:`M14 12V36`,stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null)])}),K=U(`pause-one`,!1,function(e){return i(`svg`,{width:e.size,height:e.size,viewBox:`0 0 48 48`,fill:`none`},[i(`path`,{d:`M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z`,fill:e.colors[1],stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null),i(`path`,{d:`M19 18V30`,stroke:e.colors[2],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null),i(`path`,{d:`M29 18V30`,stroke:e.colors[2],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null)])}),q=U(`play`,!0,function(e){return i(`svg`,{width:e.size,height:e.size,viewBox:`0 0 48 48`,fill:`none`},[i(`path`,{d:`M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z`,fill:e.colors[1],stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null),i(`path`,{d:`M20 24V17.0718L26 20.5359L32 24L26 27.4641L20 30.9282V24Z`,fill:e.colors[3],stroke:e.colors[2],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null)])}),J=U(`volume-small`,!0,function(e){return i(`svg`,{width:e.size,height:e.size,viewBox:`0 0 48 48`,fill:`none`},[i(`path`,{d:`M24 6V42C17 42 11.7985 32.8391 11.7985 32.8391H6C4.89543 32.8391 4 31.9437 4 30.8391V17.0108C4 15.9062 4.89543 15.0108 6 15.0108H11.7985C11.7985 15.0108 17 6 24 6Z`,fill:e.colors[1],stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null),i(`path`,{d:`M32 15L32 15C32.6232 15.5565 33.1881 16.1797 33.6841 16.8588C35.1387 18.8504 36 21.3223 36 24C36 26.6545 35.1535 29.1067 33.7218 31.0893C33.2168 31.7885 32.6391 32.4293 32 33`,stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null)])}),Y=v({__name:`IconPark`,props:{icon:{type:[Object,Function]},theme:{},size:{},spin:{type:Boolean},fill:{},strokeLinecap:{},strokeLinejoin:{},strokeWidth:{}},setup(e){return(t,n)=>(g(),d(h(e.icon),{theme:e.theme,size:e.size,spin:e.spin,fill:e.fill,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,"stroke-width":e.strokeWidth},null,8,[`theme`,`size`,`spin`,`fill`,`stroke-linecap`,`stroke-linejoin`,`stroke-width`]))}}),X={class:`player-volume flex flex-col items-center pt-2`},Z={class:`text-sm mt-3`},Q=v({__name:`PlayerVolumeSlider`,setup(e){let{namespace:n,store:a,field:c}=D(),l=c(`volume`),u=c(`muted`),d=e=>a.dispatch(`${n}/setVolume`,Array.isArray(e)?e[0]:e);return(e,n)=>(g(),s(`div`,X,[i(o(b),{modelValue:o(l),"onUpdate:modelValue":n[0]||=e=>_(l)?l.value=e:null,vertical:``,height:`100px`,"show-tooltip":!1,max:100,min:0,size:`small`,disabled:o(u),onInput:d},null,8,[`modelValue`,`disabled`]),t(`div`,Z,r(o(l)),1)]))}}),$={class:`flex items-center justify-center gap-x-3`},te=v({__name:`PlayerController`,setup(e){let{audio:t,dispatchAudio:r,tracks:c,currentIndex:l,playAdjacent:u}=D(),m=f(()=>c.value.length>1),h=f(()=>l.value>0),_=f(()=>l.value!==-1&&l.value<c.value.length-1),v=()=>r({state:t.value?.state===`playing`?`paused`:`playing`});return(e,r)=>(g(),s(`div`,$,[m.value?(g(),d(Y,{key:0,icon:o(G),size:`22`,theme:`filled`,class:n([`cursor-pointer transition-opacity`,h.value?`text-[var(--el-text-color-regular)]`:`opacity-30 cursor-not-allowed`]),onClick:r[0]||=e=>h.value&&o(u)(-1)},null,8,[`icon`,`class`])):a(``,!0),i(Y,{icon:o(t)?.state===`playing`?o(K):o(q),size:`45`,theme:`filled`,class:`text-[var(--el-color-primary)] cursor-pointer`,onClick:v},null,8,[`icon`]),m.value?(g(),d(Y,{key:1,icon:o(W),size:`22`,theme:`filled`,class:n([`cursor-pointer transition-opacity`,_.value?`text-[var(--el-text-color-regular)]`:`opacity-30 cursor-not-allowed`]),onClick:r[1]||=e=>_.value&&o(u)(1)},null,8,[`icon`,`class`])):a(``,!0),i(o(y),{placement:`top`,width:`50px`,trigger:`click`},{reference:p(()=>[i(Y,{icon:o(J),size:`20`,"stroke-width":2,class:`cursor-pointer`},null,8,[`icon`])]),default:p(()=>[i(Q)]),_:1})]))}}),ne={class:`flex flex-col items-stretch h-20`},re={class:`flex grow px-5 items-center`},ie={class:`flex-1`},ae={class:`flex-1`},oe={class:`flex-1`},se=v({__name:`Player`,props:{namespace:{},tracks:{}},setup(e){let n=e;return m(w,n.namespace),m(T,f(()=>n.tracks??[])),(e,n)=>(g(),s(`div`,ne,[i(k),t(`div`,re,[t(`div`,ie,[i(I)]),t(`div`,ae,[i(te)]),t(`div`,oe,[i(z)])])]))}});export{C as n,S as r,se as t};
|
|
1
|
+
import{t as e}from"./rolldown-runtime--c01j_DQ.js";import{A as t,Gt as n,Jt as r,L as i,M as a,Mt as o,N as s,U as c,Y as l,ft as u,j as d,k as f,mt as p,nt as m,st as h,tt as g,yt as _,z as v}from"./vendor-chart-Dw-P17PN.js";import{t as y}from"./popover-CbW3-XNp.js";import{t as b}from"./slider-DZdBMWlx.js";import{yi as x}from"./index-CUcxfoFQ.js";function S(e){let t=Math.floor(e)%60;e=Math.floor(e/60);let n=e%60,r=n<10?`0${n}`:n,i=t<10?`0${t}`:t;return r+`:`+i}var C=e(((e,t)=>{(function(t,n){typeof define==`function`&&define.amd?define([],n):e===void 0?(n(),t.FileSaver={exports:{}}.exports):n()})(e,function(){function e(e,t){return t===void 0?t={autoBom:!1}:typeof t!=`object`&&(console.warn(`Deprecated: Expected third argument to be a object`),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function n(e,t,n){var r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){s(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function r(e){var t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return 200<=t.status&&299>=t.status}function i(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{var t=document.createEvent(`MouseEvents`);t.initMouseEvent(`click`,!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var a=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:void 0,o=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),s=a.saveAs||(typeof window!=`object`||window!==a?function(){}:`download`in HTMLAnchorElement.prototype&&!o?function(e,t,o){var s=a.URL||a.webkitURL,c=document.createElement(`a`);t=t||e.name||`download`,c.download=t,c.rel=`noopener`,typeof e==`string`?(c.href=e,c.origin===location.origin?i(c):r(c.href)?n(e,t,o):i(c,c.target=`_blank`)):(c.href=s.createObjectURL(e),setTimeout(function(){s.revokeObjectURL(c.href)},4e4),setTimeout(function(){i(c)},0))}:`msSaveOrOpenBlob`in navigator?function(t,a,o){if(a=a||t.name||`download`,typeof t!=`string`)navigator.msSaveOrOpenBlob(e(t,o),a);else if(r(t))n(t,a,o);else{var s=document.createElement(`a`);s.href=t,s.target=`_blank`,setTimeout(function(){i(s)})}}:function(e,t,r,i){if(i||=open(``,`_blank`),i&&(i.document.title=i.document.body.innerText=`downloading...`),typeof e==`string`)return n(e,t,r);var s=e.type===`application/octet-stream`,c=/constructor/i.test(a.HTMLElement)||a.safari,l=/CriOS\/[\d]+/.test(navigator.userAgent);if((l||s&&c||o)&&typeof FileReader<`u`){var u=new FileReader;u.onloadend=function(){var e=u.result;e=l?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),i?i.location.href=e:location=e,i=null},u.readAsDataURL(e)}else{var d=a.URL||a.webkitURL,f=d.createObjectURL(e);i?i.location=f:location.href=f,i=null,setTimeout(function(){d.revokeObjectURL(f)},4e4)}});a.saveAs=s.saveAs=s,t!==void 0&&(t.exports=s)})})),w=Symbol(`AudioNamespace`),T=Symbol(`AudioQueue`),E=()=>{let e=c(w);if(!e)throw Error(`[player] useAudioNamespace() must be called inside <Player namespace="suno|producer">`);return e},D=e=>{let t=e??E(),n=x(),r=f({get:()=>n.state[t].audio,set:e=>n.commit(`${t}/setAudio`,e)}),i=e=>{n.commit(`${t}/setAudio`,{...n.state[t].audio,...e})},a=e=>{n.dispatch(`${t}/setAudio`,{...n.state[t].audio,...e})},o=e=>f({get:()=>n.state[t].audio?.[e],set:t=>i({[e]:t})}),s=c(T,void 0),l=f(()=>{let e=s?.value;if(e&&e.length)return e;let r=n.state[t]?.tasks?.items??[],i=[];for(let e of r)for(let t of e?.response?.data??[])t?.audio_url&&i.push(t);return i}),u=f(()=>{let e=n.state[t].audio?.id;return l.value.findIndex(t=>t.id===e)});return{namespace:t,store:n,audio:r,field:o,patchAudio:i,dispatchAudio:a,tracks:l,currentIndex:u,playAdjacent:e=>{let r=u.value;if(r===-1)return;let i=l.value[r+e];i&&n.dispatch(`${t}/setAudio`,{...n.state[t].audio,...i,progress:0,state:`playing`})}}},O={class:`player-slider`},k=v({__name:`PlayerSlider`,setup(e){let{field:t,dispatchAudio:n}=D(),r=t(`progress`),a=t(`duration`),c=()=>{},l=e=>n({progress:Array.isArray(e)?e[0]:e});return(e,t)=>(g(),s(`div`,O,[i(o(b),{modelValue:o(r),"onUpdate:modelValue":t[0]||=e=>_(r)?r.value=e:null,"show-tooltip":!1,min:0,max:o(a),onChange:l,onInput:c},null,8,[`modelValue`,`max`])]))}}),A={class:`flex player-song`},j=[`src`],M={class:`ml-2 text-xs flex flex-col justify-between`},N={class:`w-52 2xl:w-96 cursor-pointer truncate`},P={class:`flex`},F={class:`ml-2 text-dc`},I=v({__name:`PlayerSong`,setup(e){let{audio:n,patchAudio:i}=D(),a=null,c=null,d=()=>{if(a){try{a.pause()}catch{}a.src=``,a=null}c&&=(c.abort(),null)};return u(n,(e,t)=>{if(e?.audio_url!==t?.audio_url){if(d(),!e?.audio_url)return;let t=new Audio(e.audio_url);a=t,c=new AbortController;let{signal:n}=c;e.state===`playing`?t.play().catch(()=>{}):t.pause(),t.addEventListener(`loadedmetadata`,()=>{t.currentTime=0},{signal:n}),t.addEventListener(`timeupdate`,()=>{i({progress:t.currentTime})},{signal:n}),i({object:t})}else e?.progress!==t?.progress&&e?.object&&Math.abs(e.progress-e.object.currentTime)>2?e.object.currentTime=e.progress:e?.state!==t?.state&&e?.object&&(e.state===`playing`?e.object.play().catch(()=>{}):e.object.pause());e?.volume!==t?.volume&&e?.object&&(e.object.volume=e.volume/100)}),l(d),(e,i)=>(g(),s(`div`,A,[t(`img`,{alt:``,class:`w-11 h-11 rounded`,src:o(n)?.image_url||o(`/assets/disk-XFRmVAfp.png`)},null,8,j),t(`div`,M,[t(`div`,N,[t(`div`,P,[t(`span`,null,r(o(n)?.title||`Music`),1),t(`span`,F,`- `+r(o(n)?.style||`SmallRuralDog`),1)])])])]))}}),L={class:`flex justify-end items-center gap-x-2.5`},R={class:`text-xs`},z=v({__name:`PlayerAction`,setup(e){let{field:n}=D(),i=n(`progress`),a=n(`duration`);return(e,n)=>(g(),s(`div`,L,[t(`span`,R,r(o(S)(o(i)))+` / `+r(o(S)(o(a))),1)]))}}),B={size:`1em`,strokeWidth:4,strokeLinecap:`round`,strokeLinejoin:`round`,rtl:!1,theme:`outline`,colors:{outline:{fill:`#333`,background:`transparent`},filled:{fill:`#333`,background:`#FFF`},twoTone:{fill:`#333`,twoTone:`#2F88FF`},multiColor:{outStrokeColor:`#333`,outFillColor:`#2F88FF`,innerStrokeColor:`#FFF`,innerFillColor:`#43CCF8`}},prefix:`i`};function V(){return`icon-`+((1+Math.random())*4294967296|0).toString(16).substring(1)}function H(e,t,n){var r=typeof t.fill==`string`?[t.fill]:t.fill||[],i=[];switch(t.theme||n.theme){case`outline`:i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(`none`),i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(`none`);break;case`filled`:i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(`#FFF`),i.push(`#FFF`);break;case`two-tone`:i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(typeof r[1]==`string`?r[1]:n.colors.twoTone.twoTone),i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(typeof r[1]==`string`?r[1]:n.colors.twoTone.twoTone);break;case`multi-color`:i.push(typeof r[0]==`string`?r[0]:`currentColor`),i.push(typeof r[1]==`string`?r[1]:n.colors.multiColor.outFillColor),i.push(typeof r[2]==`string`?r[2]:n.colors.multiColor.innerStrokeColor),i.push(typeof r[3]==`string`?r[3]:n.colors.multiColor.innerFillColor);break}return{size:t.size||n.size,strokeWidth:t.strokeWidth||n.strokeWidth,strokeLinecap:t.strokeLinecap||n.strokeLinecap,strokeLinejoin:t.strokeLinejoin||n.strokeLinejoin,colors:i,id:e}}var ee=Symbol(`icon-context`);function U(e,t,n){return{name:`icon-`+e,props:[`size`,`strokeWidth`,`strokeLinecap`,`strokeLinejoin`,`theme`,`fill`,`spin`],setup:function(r){var a=V(),o=c(ee,B);return function(){var s=r.size,c=r.strokeWidth,l=r.strokeLinecap,u=r.strokeLinejoin,d=r.theme,f=r.fill,p=r.spin,m=H(a,{size:s,strokeWidth:c,strokeLinecap:l,strokeLinejoin:u,theme:d,fill:f},o),h=[o.prefix+`-icon`];return h.push(o.prefix+`-icon-`+e),t&&o.rtl&&h.push(o.prefix+`-icon-rtl`),p&&h.push(o.prefix+`-icon-spin`),i(`span`,{class:h.join(` `)},[n(m)])}}}}var W=U(`go-end`,!0,function(e){return i(`svg`,{width:e.size,height:e.size,viewBox:`0 0 48 48`,fill:`none`},[i(`path`,{d:`M14 12L26 24L14 36`,stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null),i(`path`,{d:`M34 12V36`,stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null)])}),G=U(`go-start`,!0,function(e){return i(`svg`,{width:e.size,height:e.size,viewBox:`0 0 48 48`,fill:`none`},[i(`path`,{d:`M34 36L22 24L34 12`,stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null),i(`path`,{d:`M14 12V36`,stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null)])}),K=U(`pause-one`,!1,function(e){return i(`svg`,{width:e.size,height:e.size,viewBox:`0 0 48 48`,fill:`none`},[i(`path`,{d:`M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z`,fill:e.colors[1],stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null),i(`path`,{d:`M19 18V30`,stroke:e.colors[2],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null),i(`path`,{d:`M29 18V30`,stroke:e.colors[2],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null)])}),q=U(`play`,!0,function(e){return i(`svg`,{width:e.size,height:e.size,viewBox:`0 0 48 48`,fill:`none`},[i(`path`,{d:`M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z`,fill:e.colors[1],stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null),i(`path`,{d:`M20 24V17.0718L26 20.5359L32 24L26 27.4641L20 30.9282V24Z`,fill:e.colors[3],stroke:e.colors[2],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null)])}),J=U(`volume-small`,!0,function(e){return i(`svg`,{width:e.size,height:e.size,viewBox:`0 0 48 48`,fill:`none`},[i(`path`,{d:`M24 6V42C17 42 11.7985 32.8391 11.7985 32.8391H6C4.89543 32.8391 4 31.9437 4 30.8391V17.0108C4 15.9062 4.89543 15.0108 6 15.0108H11.7985C11.7985 15.0108 17 6 24 6Z`,fill:e.colors[1],stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linejoin":e.strokeLinejoin},null),i(`path`,{d:`M32 15L32 15C32.6232 15.5565 33.1881 16.1797 33.6841 16.8588C35.1387 18.8504 36 21.3223 36 24C36 26.6545 35.1535 29.1067 33.7218 31.0893C33.2168 31.7885 32.6391 32.4293 32 33`,stroke:e.colors[0],"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin},null)])}),Y=v({__name:`IconPark`,props:{icon:{type:[Object,Function]},theme:{},size:{},spin:{type:Boolean},fill:{},strokeLinecap:{},strokeLinejoin:{},strokeWidth:{}},setup(e){return(t,n)=>(g(),d(h(e.icon),{theme:e.theme,size:e.size,spin:e.spin,fill:e.fill,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,"stroke-width":e.strokeWidth},null,8,[`theme`,`size`,`spin`,`fill`,`stroke-linecap`,`stroke-linejoin`,`stroke-width`]))}}),X={class:`player-volume flex flex-col items-center pt-2`},Z={class:`text-sm mt-3`},Q=v({__name:`PlayerVolumeSlider`,setup(e){let{namespace:n,store:a,field:c}=D(),l=c(`volume`),u=c(`muted`),d=e=>a.dispatch(`${n}/setVolume`,Array.isArray(e)?e[0]:e);return(e,n)=>(g(),s(`div`,X,[i(o(b),{modelValue:o(l),"onUpdate:modelValue":n[0]||=e=>_(l)?l.value=e:null,vertical:``,height:`100px`,"show-tooltip":!1,max:100,min:0,size:`small`,disabled:o(u),onInput:d},null,8,[`modelValue`,`disabled`]),t(`div`,Z,r(o(l)),1)]))}}),$={class:`flex items-center justify-center gap-x-3`},te=v({__name:`PlayerController`,setup(e){let{audio:t,dispatchAudio:r,tracks:c,currentIndex:l,playAdjacent:u}=D(),m=f(()=>c.value.length>1),h=f(()=>l.value>0),_=f(()=>l.value!==-1&&l.value<c.value.length-1),v=()=>r({state:t.value?.state===`playing`?`paused`:`playing`});return(e,r)=>(g(),s(`div`,$,[m.value?(g(),d(Y,{key:0,icon:o(G),size:`22`,theme:`filled`,class:n([`cursor-pointer transition-opacity`,h.value?`text-[var(--el-text-color-regular)]`:`opacity-30 cursor-not-allowed`]),onClick:r[0]||=e=>h.value&&o(u)(-1)},null,8,[`icon`,`class`])):a(``,!0),i(Y,{icon:o(t)?.state===`playing`?o(K):o(q),size:`45`,theme:`filled`,class:`text-[var(--el-color-primary)] cursor-pointer`,onClick:v},null,8,[`icon`]),m.value?(g(),d(Y,{key:1,icon:o(W),size:`22`,theme:`filled`,class:n([`cursor-pointer transition-opacity`,_.value?`text-[var(--el-text-color-regular)]`:`opacity-30 cursor-not-allowed`]),onClick:r[1]||=e=>_.value&&o(u)(1)},null,8,[`icon`,`class`])):a(``,!0),i(o(y),{placement:`top`,width:`50px`,trigger:`click`},{reference:p(()=>[i(Y,{icon:o(J),size:`20`,"stroke-width":2,class:`cursor-pointer`},null,8,[`icon`])]),default:p(()=>[i(Q)]),_:1})]))}}),ne={class:`flex flex-col items-stretch h-20`},re={class:`flex grow px-5 items-center`},ie={class:`flex-1`},ae={class:`flex-1`},oe={class:`flex-1`},se=v({__name:`Player`,props:{namespace:{},tracks:{}},setup(e){let n=e;return m(w,n.namespace),m(T,f(()=>n.tracks??[])),(e,n)=>(g(),s(`div`,ne,[i(k),t(`div`,re,[t(`div`,ie,[i(I)]),t(`div`,ae,[i(te)]),t(`div`,oe,[i(z)])])]))}});export{C as n,S as r,se as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{A as e,I as t,Jt as n,L as r,M as i,N as a,at as o,it as s,j as c,mt as l,tt as u,z as d}from"./vendor-chart-Dw-P17PN.js";import{t as f}from"./tooltip-
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,I as t,Jt as n,L as r,M as i,N as a,at as o,it as s,j as c,mt as l,tt as u,z as d}from"./vendor-chart-Dw-P17PN.js";import{t as f}from"./tooltip-DzuiDugy.js";import{Fi as p,G as m,Qi as h,Ui as g}from"./index-CUcxfoFQ.js";import{t as _}from"./index.es-D-PWel10.js";import{a as v}from"./pagination-DRyq9A8R.js";var y=d({name:`PromptTextarea`,components:{ElInput:h,ElButton:g,ElTooltip:f,ElDialog:p,FontAwesomeIcon:_,InfoIcon:v},props:{modelValue:{type:String,default:``},title:{type:String,required:!0},info:{type:String,default:``},placeholder:{type:String,default:``},minRows:{type:Number,default:4},maxRows:{type:Number,default:12},maxlength:{type:Number,default:0},expandable:{type:Boolean,default:!0},dialogTitle:{type:String,default:``}},emits:[`update:modelValue`,`expand`],data(){return{expanded:!1}},computed:{text:{get(){return this.modelValue??``},set(e){this.$emit(`update:modelValue`,e)}},hasMaxlength(){return typeof this.maxlength==`number`&&this.maxlength>0},effectiveMaxlength(){return this.hasMaxlength?this.maxlength:void 0}},methods:{onExpand(){this.expanded=!0,this.$emit(`expand`)}}}),b={class:`prompt-textarea`},x={class:`header`},S={class:`title font-bold`},C={class:`actions`};function w(d,f,p,m,h,g){let _=o(`info-icon`),v=o(`font-awesome-icon`),y=o(`el-button`),w=o(`el-tooltip`),T=o(`el-input`),E=o(`el-dialog`);return u(),a(`div`,b,[e(`div`,x,[e(`h2`,S,n(d.title),1),e(`div`,C,[s(d.$slots,`actions`,{},void 0,!0),d.info?(u(),c(_,{key:0,content:d.info},null,8,[`content`])):i(``,!0),d.expandable?(u(),c(w,{key:1,content:d.$t(`common.button.expand`),placement:`top`},{default:l(()=>[r(y,{size:`small`,circle:``,class:`expand-btn`,onClick:d.onExpand},{default:l(()=>[r(v,{icon:`fa-solid fa-expand`})]),_:1},8,[`onClick`])]),_:1},8,[`content`])):i(``,!0)])]),s(d.$slots,`before`,{},void 0,!0),r(T,{modelValue:d.text,"onUpdate:modelValue":f[0]||=e=>d.text=e,type:`textarea`,class:`textarea`,autosize:{minRows:d.minRows,maxRows:d.maxRows},resize:`vertical`,placeholder:d.placeholder,maxlength:d.effectiveMaxlength,"show-word-limit":d.hasMaxlength},null,8,[`modelValue`,`autosize`,`placeholder`,`maxlength`,`show-word-limit`]),s(d.$slots,`after`,{},void 0,!0),d.expandable?(u(),c(E,{key:0,modelValue:d.expanded,"onUpdate:modelValue":f[3]||=e=>d.expanded=e,title:d.dialogTitle||d.title,width:`720px`,top:`5vh`,"close-on-click-modal":!1,class:`prompt-expand-dialog`,"append-to-body":``},{footer:l(()=>[r(y,{type:`primary`,onClick:f[2]||=e=>d.expanded=!1},{default:l(()=>[t(n(d.$t(`common.button.confirm`)),1)]),_:1})]),default:l(()=>[r(T,{modelValue:d.text,"onUpdate:modelValue":f[1]||=e=>d.text=e,type:`textarea`,autosize:{minRows:14,maxRows:28},placeholder:d.placeholder,maxlength:d.effectiveMaxlength,"show-word-limit":d.hasMaxlength,autofocus:``},null,8,[`modelValue`,`placeholder`,`maxlength`,`show-word-limit`])]),_:1},8,[`modelValue`,`title`])):i(``,!0)])}var T=m(y,[[`render`,w],[`__scopeId`,`data-v-8f4be1c1`]]);export{T as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as e,C as t,Gt as n,Jt as r,L as i,M as a,N as o,T as s,at as c,mt as l,p as u,qt as d,rt as f,tt as p,z as m}from"./vendor-chart-Dw-P17PN.js";import{Di as h,Oi as g,ia as _,ji as v,ki as y}from"./constants-BC87sw1I.js";import{G as b,Q as x}from"./index-CGmTZItr.js";import{t as S}from"./index.es-0UW6le61.js";var C=class{token;model;handlers;voice;ws;audioCtx;micStream;micNode;workletNode;analyser;levelRaf=0;running=!1;playHead=0;activeSources=[];disposed=!1;suppressAudio=!1;aiResponding=!1;constructor(e,t,n,r=g){this.token=e,this.model=t,this.handlers=n,this.voice=r}get isRunning(){return this.running}async start(){this.handlers.onStatus?.(`connecting`);let e=window.AudioContext||window.webkitAudioContext;if(this.audioCtx=new e({sampleRate:y}),await this.audioCtx.audioWorklet.addModule(`/recorder-worklet.js`),this.disposed||(this.micStream=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}}),this.disposed))return this.teardownAudio();this.micNode=this.audioCtx.createMediaStreamSource(this.micStream),this.workletNode=new AudioWorkletNode(this.audioCtx,`recorder-processor`),this.micNode.connect(this.workletNode),this.analyser=this.audioCtx.createAnalyser(),this.analyser.fftSize=256,this.micNode.connect(this.analyser),this.startLevelLoop();let t=this.audioCtx.createGain();t.gain.value=0,this.workletNode.connect(t).connect(this.audioCtx.destination);let n=`${_}?model=${encodeURIComponent(this.model)}&voice=${encodeURIComponent(this.voice)}`;this.ws=new WebSocket(n,[`realtime`,`acedata-token.${this.token}`]),this.ws.onopen=()=>{if(this.disposed){this.ws?.close();return}this.running=!0,this.handlers.onStatus?.(`connected`)},this.ws.onclose=()=>{this.handlers.onStatus?.(`disconnected`),this.teardownAudio(),this.running=!1},this.ws.onerror=()=>this.handlers.onStatus?.(`error`),this.ws.onmessage=e=>this.onServerEvent(e),this.workletNode.port.onmessage=e=>{!this.ws||this.ws.readyState!==WebSocket.OPEN||this.ws.send(JSON.stringify({type:`input_audio_buffer.append`,audio:w(e.data)}))}}setMuted(e){this.micStream?.getAudioTracks().forEach(t=>t.enabled=!e)}startLevelLoop(){let e=new Uint8Array(this.analyser?this.analyser.fftSize:0),t=0,n=()=>{if(this.disposed||!this.analyser)return;this.analyser.getByteTimeDomainData(e);let r=0;for(let t=0;t<e.length;t++){let n=(e[t]-128)/128;r+=n*n}let i=Math.sqrt(r/e.length),a=Math.min(1,i*3.4);t=t*.82+a*.18,this.handlers.onAudioLevel?.(t),this.levelRaf=requestAnimationFrame(n)};this.levelRaf=requestAnimationFrame(n)}stop(){this.disposed=!0,this.ws&&(this.ws.readyState===WebSocket.OPEN||this.ws.readyState===WebSocket.CONNECTING)&&this.ws.close(),this.teardownAudio(),this.running=!1,this.handlers.onStatus?.(`disconnected`)}send(e){this.ws&&this.ws.readyState===WebSocket.OPEN&&this.ws.send(JSON.stringify(e))}onServerEvent(e){let t;try{t=JSON.parse(e.data)}catch{return}switch(t.type){case`session.created`:case`session.updated`:break;case`input_audio_buffer.speech_started`:this.stopPlayback(),this.aiResponding&&this.send({type:`response.cancel`}),this.suppressAudio=!0,this.handlers.onUserSpeechStarted?.();break;case`conversation.item.input_audio_transcription.completed`:this.handlers.onUserTranscript?.(t.transcript||``);break;case`response.created`:this.aiResponding=!0,this.suppressAudio=!1,this.handlers.onAiResponseStart?.();break;case`response.done`:this.aiResponding=!1;break;case`response.output_audio.delta`:case`response.audio.delta`:t.delta&&!this.suppressAudio&&this.enqueuePcm16(t.delta);break;case`response.output_audio_transcript.delta`:case`response.audio_transcript.delta`:t.delta&&this.handlers.onAiTranscriptDelta?.(t.delta);break;case`error`:{let e=t.error||{},n=String(e.code||``),r=String(e.message||``);if(n===`response_cancel_not_active`||/no active response/i.test(r))break;this.handlers.onError?.(r||`realtime error`);break}default:break}}enqueuePcm16(e){if(!this.audioCtx)return;let t=T(e),n=new Int16Array(t);if(n.length===0)return;let r=new Float32Array(n.length);for(let e=0;e<n.length;e++)r[e]=n[e]/32768;let i=this.audioCtx.createBuffer(1,r.length,y);i.getChannelData(0).set(r);let a=this.audioCtx.createBufferSource();a.buffer=i,a.connect(this.audioCtx.destination),this.analyser&&a.connect(this.analyser);let o=this.audioCtx.currentTime;this.playHead<o&&(this.playHead=o+.02),a.start(this.playHead),this.playHead+=i.duration,this.activeSources.push(a),a.onended=()=>{this.activeSources=this.activeSources.filter(e=>e!==a)}}stopPlayback(){for(let e of this.activeSources)try{e.onended=null,e.stop()}catch{}this.activeSources=[],this.playHead=0}teardownAudio(){try{this.levelRaf&&cancelAnimationFrame(this.levelRaf),this.workletNode&&(this.workletNode.port.onmessage=null),this.micStream&&this.micStream.getTracks().forEach(e=>e.stop()),this.stopPlayback(),this.audioCtx&&this.audioCtx.close()}catch{}this.levelRaf=0,this.handlers.onAudioLevel?.(0),this.micStream=this.micNode=this.workletNode=this.audioCtx=this.analyser=void 0}};function w(e){let t=new Uint8Array(e),n=``,r=32768;for(let e=0;e<t.length;e+=r)n+=String.fromCharCode.apply(null,Array.from(t.subarray(e,e+r)));return btoa(n)}function T(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n.buffer}var E=`nexior.realtime.voice`,D=m({name:`RealtimeCall`,components:{FontAwesomeIcon:S},data(){return{client:void 0,status:`disconnected`,connecting:!1,provisioning:!0,running:!1,aiSpeaking:!1,userText:``,aiText:``,errorMsg:``,level:0,muted:!1,captionsOn:!1,showInfo:!1,voice:g,voices:[...v],voiceMenuOpen:!1,callSeq:0}},computed:{token(){return this.$store.state.realtime?.credential?.token},canCall(){return!!this.token},modelName(){return h},orbScale(){return 1+this.level*.16},haloStyle(){let e=this.running?this.level:0;return{transform:`scale(${1+e*.7})`,opacity:`${.16+e*.5}`}},orbClass(){return{speaking:this.aiSpeaking,live:this.running,idle:!this.running}},captionText(){return this.aiText?this.aiText:this.running&&!this.userText?this.$t(`realtime.listening`):``},stageText(){return this.errorMsg?this.errorMsg:this.provisioning||this.connecting?this.$t(`realtime.status.connecting`):this.running?this.aiSpeaking?this.$t(`realtime.speaking`):this.$t(`realtime.listening`):this.$t(`realtime.start`)},voiceLabel(){return this.labelOf(this.voice)}},async mounted(){try{let e=localStorage.getItem(E);e&&this.voices.includes(e)&&(this.voice=e)}catch{}this.voices.includes(this.voice)||(this.voice=g),this.provisioning=!0;try{await this.$store.dispatch(`realtime/init`)}finally{this.provisioning=!1}this.canCall&&this.startCall()},beforeUnmount(){this.client?.stop()},methods:{async startCall(){if(!this.token||this.connecting||this.running)return;let e=++this.callSeq,t=()=>e===this.callSeq;this.errorMsg=``,this.userText=``,this.aiText=``,this.connecting=!0;let n=new C(this.token,h,{onStatus:e=>{t()&&(this.status=e,this.running=e===`connecting`||e===`connected`,(e===`connected`||e===`disconnected`||e===`error`)&&(this.connecting=!1),this.running||(this.level=0))},onUserSpeechStarted:()=>{t()&&(this.aiSpeaking=!1,this.errorMsg=``)},onUserTranscript:e=>{t()&&(this.userText=e)},onAiResponseStart:()=>{t()&&(this.aiText=``,this.aiSpeaking=!0,this.errorMsg=``)},onAiTranscriptDelta:e=>{t()&&(this.aiText+=e)},onAudioLevel:e=>{t()&&(this.level=e)},onError:e=>{t()&&(this.errorMsg=e)}},this.voice);this.client=n;try{if(await n.start(),!t()||this.client!==n)return;n.setMuted(this.muted)}catch(e){if(n.stop(),!t()||this.client!==n)return;this.connecting=!1,this.running=!1,this.errorMsg=e?.message||this.$t(`realtime.startFailed`)}},toggleMute(){this.muted=!this.muted,this.client?.setMuted(this.muted)},toggleCaptions(){this.captionsOn=!this.captionsOn},labelOf(e){let t=e||`alloy`;return t.charAt(0).toUpperCase()+t.slice(1)},selectVoice(e){if(this.voiceMenuOpen=!1,e!==this.voice){this.voice=e;try{localStorage.setItem(E,e)}catch{}(this.running||this.connecting)&&this.reconnect()}},reconnect(){let e=this.client;this.client=void 0,this.callSeq++,this.running=!1,this.connecting=!1,this.aiSpeaking=!1,this.level=0,this.userText=``,this.aiText=``,this.errorMsg=``,e?.stop(),this.$nextTick(()=>this.startCall())},onOrbTap(){!this.running&&!this.connecting&&this.startCall()},endCall(){this.client?.stop(),this.running=!1,this.aiSpeaking=!1,this.level=0,this.goBack()},goBack(){this.client?.stop(),this.$router.push({name:x})}}}),O={class:`rtc-top`},k={class:`rtc-top-left`},A=[`title`],j={class:`voice-pick`},M={class:`voice-name`},N={key:0,class:`voice-menu`},P=[`onClick`],F={class:`rtc-top-right`},I=[`title`],L=[`title`],R={class:`rtc-stage`},z={key:0,class:`rtc-info`},B={key:0,class:`rtc-captions`},V={key:0,class:`cap user`},H={class:`cap ai`},U={class:`rtc-controls`},W=[`title`],G=[`title`],K=[`title`];function q(m,h,g,_,v,y){let b=c(`font-awesome-icon`);return p(),o(`div`,{class:n([`rtc`,{"is-captions":m.captionsOn,"is-live":m.running}])},[e(`header`,O,[e(`div`,k,[e(`button`,{class:`ic`,title:m.$t(`realtime.title`),onClick:h[0]||=(...e)=>m.goBack&&m.goBack(...e)},[i(b,{icon:`fa-solid fa-chevron-down`})],8,A),e(`div`,j,[e(`button`,{class:n([`voice-chip`,{on:m.voiceMenuOpen}]),onClick:h[1]||=t(e=>m.voiceMenuOpen=!m.voiceMenuOpen,[`stop`])},[e(`span`,M,r(m.voiceLabel),1),i(b,{icon:`fa-solid fa-chevron-down`,class:`voice-caret`})],2),m.voiceMenuOpen?(p(),o(`ul`,N,[(p(!0),o(s,null,f(m.voices,e=>(p(),o(`li`,{key:e,class:n({sel:e===m.voice}),onClick:t=>m.selectVoice(e)},r(m.labelOf(e)),11,P))),128))])):a(``,!0)])]),e(`div`,F,[e(`button`,{class:n([`ic`,{on:m.showInfo}]),title:m.$t(`realtime.title`),onClick:h[2]||=e=>m.showInfo=!m.showInfo},[i(b,{icon:`fa-solid fa-circle-info`})],10,I),e(`button`,{class:n([`ic`,{on:m.captionsOn}]),title:m.$t(`realtime.captions`),onClick:h[3]||=(...e)=>m.toggleCaptions&&m.toggleCaptions(...e)},[i(b,{icon:`fa-solid fa-closed-captioning`})],10,L)])]),m.voiceMenuOpen?(p(),o(`div`,{key:0,class:`voice-backdrop`,onClick:h[4]||=e=>m.voiceMenuOpen=!1})):a(``,!0),e(`main`,R,[e(`div`,{class:`orb-stage`,onClick:h[5]||=(...e)=>m.onOrbTap&&m.onOrbTap(...e)},[e(`div`,{class:`orb-halo`,style:d(m.haloStyle)},null,4),e(`div`,{class:n([`orb-breathe`,{paused:!m.running}])},[e(`div`,{class:n([`orb`,m.orbClass]),style:d({transform:`scale(${m.orbScale})`})},[...h[9]||=[e(`span`,{class:`cloud c1`},null,-1),e(`span`,{class:`cloud c2`},null,-1),e(`span`,{class:`cloud c3`},null,-1),e(`span`,{class:`sheen`},null,-1)]],6)],2)]),i(u,{name:`fade`},{default:l(()=>[m.showInfo&&!m.captionsOn?(p(),o(`p`,z,r(m.modelName),1)):a(``,!0)]),_:1}),m.captionsOn?(p(),o(`div`,B,[m.userText?(p(),o(`p`,V,r(m.userText),1)):a(``,!0),e(`p`,H,r(m.captionText),1)])):(p(),o(`p`,{key:1,class:n([`rtc-status`,{err:!!m.errorMsg}])},r(m.stageText),3))]),e(`footer`,U,[e(`button`,{class:n([`ctl`,{active:m.muted}]),title:m.muted?m.$t(`realtime.unmute`):m.$t(`realtime.mute`),onClick:h[6]||=(...e)=>m.toggleMute&&m.toggleMute(...e)},[i(b,{icon:m.muted?`fa-solid fa-microphone-slash`:`fa-solid fa-microphone`},null,8,[`icon`])],10,W),e(`button`,{class:n([`ctl`,{active:m.captionsOn}]),title:m.$t(`realtime.captions`),onClick:h[7]||=(...e)=>m.toggleCaptions&&m.toggleCaptions(...e)},[i(b,{icon:`fa-solid fa-closed-captioning`})],10,G),e(`button`,{class:`ctl end`,title:m.$t(`realtime.end`),onClick:h[8]||=(...e)=>m.endCall&&m.endCall(...e)},[i(b,{icon:`fa-solid fa-xmark`})],8,K)])],2)}var J=b(D,[[`render`,q],[`__scopeId`,`data-v-35b8d53d`]]);export{J as default};
|
|
1
|
+
import{A as e,C as t,Gt as n,Jt as r,L as i,M as a,N as o,T as s,at as c,mt as l,p as u,qt as d,rt as f,tt as p,z as m}from"./vendor-chart-Dw-P17PN.js";import{Di as h,Oi as g,ia as _,ji as v,ki as y}from"./constants-B8uUjFZV.js";import{G as b,Q as x}from"./index-CUcxfoFQ.js";import{t as S}from"./index.es-D-PWel10.js";var C=class{token;model;handlers;voice;ws;audioCtx;micStream;micNode;workletNode;analyser;levelRaf=0;running=!1;playHead=0;activeSources=[];disposed=!1;suppressAudio=!1;aiResponding=!1;constructor(e,t,n,r=g){this.token=e,this.model=t,this.handlers=n,this.voice=r}get isRunning(){return this.running}async start(){this.handlers.onStatus?.(`connecting`);let e=window.AudioContext||window.webkitAudioContext;if(this.audioCtx=new e({sampleRate:y}),await this.audioCtx.audioWorklet.addModule(`/recorder-worklet.js`),this.disposed||(this.micStream=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}}),this.disposed))return this.teardownAudio();this.micNode=this.audioCtx.createMediaStreamSource(this.micStream),this.workletNode=new AudioWorkletNode(this.audioCtx,`recorder-processor`),this.micNode.connect(this.workletNode),this.analyser=this.audioCtx.createAnalyser(),this.analyser.fftSize=256,this.micNode.connect(this.analyser),this.startLevelLoop();let t=this.audioCtx.createGain();t.gain.value=0,this.workletNode.connect(t).connect(this.audioCtx.destination);let n=`${_}?model=${encodeURIComponent(this.model)}&voice=${encodeURIComponent(this.voice)}`;this.ws=new WebSocket(n,[`realtime`,`acedata-token.${this.token}`]),this.ws.onopen=()=>{if(this.disposed){this.ws?.close();return}this.running=!0,this.handlers.onStatus?.(`connected`)},this.ws.onclose=()=>{this.handlers.onStatus?.(`disconnected`),this.teardownAudio(),this.running=!1},this.ws.onerror=()=>this.handlers.onStatus?.(`error`),this.ws.onmessage=e=>this.onServerEvent(e),this.workletNode.port.onmessage=e=>{!this.ws||this.ws.readyState!==WebSocket.OPEN||this.ws.send(JSON.stringify({type:`input_audio_buffer.append`,audio:w(e.data)}))}}setMuted(e){this.micStream?.getAudioTracks().forEach(t=>t.enabled=!e)}startLevelLoop(){let e=new Uint8Array(this.analyser?this.analyser.fftSize:0),t=0,n=()=>{if(this.disposed||!this.analyser)return;this.analyser.getByteTimeDomainData(e);let r=0;for(let t=0;t<e.length;t++){let n=(e[t]-128)/128;r+=n*n}let i=Math.sqrt(r/e.length),a=Math.min(1,i*3.4);t=t*.82+a*.18,this.handlers.onAudioLevel?.(t),this.levelRaf=requestAnimationFrame(n)};this.levelRaf=requestAnimationFrame(n)}stop(){this.disposed=!0,this.ws&&(this.ws.readyState===WebSocket.OPEN||this.ws.readyState===WebSocket.CONNECTING)&&this.ws.close(),this.teardownAudio(),this.running=!1,this.handlers.onStatus?.(`disconnected`)}send(e){this.ws&&this.ws.readyState===WebSocket.OPEN&&this.ws.send(JSON.stringify(e))}onServerEvent(e){let t;try{t=JSON.parse(e.data)}catch{return}switch(t.type){case`session.created`:case`session.updated`:break;case`input_audio_buffer.speech_started`:this.stopPlayback(),this.aiResponding&&this.send({type:`response.cancel`}),this.suppressAudio=!0,this.handlers.onUserSpeechStarted?.();break;case`conversation.item.input_audio_transcription.completed`:this.handlers.onUserTranscript?.(t.transcript||``);break;case`response.created`:this.aiResponding=!0,this.suppressAudio=!1,this.handlers.onAiResponseStart?.();break;case`response.done`:this.aiResponding=!1;break;case`response.output_audio.delta`:case`response.audio.delta`:t.delta&&!this.suppressAudio&&this.enqueuePcm16(t.delta);break;case`response.output_audio_transcript.delta`:case`response.audio_transcript.delta`:t.delta&&this.handlers.onAiTranscriptDelta?.(t.delta);break;case`error`:{let e=t.error||{},n=String(e.code||``),r=String(e.message||``);if(n===`response_cancel_not_active`||/no active response/i.test(r))break;this.handlers.onError?.(r||`realtime error`);break}default:break}}enqueuePcm16(e){if(!this.audioCtx)return;let t=T(e),n=new Int16Array(t);if(n.length===0)return;let r=new Float32Array(n.length);for(let e=0;e<n.length;e++)r[e]=n[e]/32768;let i=this.audioCtx.createBuffer(1,r.length,y);i.getChannelData(0).set(r);let a=this.audioCtx.createBufferSource();a.buffer=i,a.connect(this.audioCtx.destination),this.analyser&&a.connect(this.analyser);let o=this.audioCtx.currentTime;this.playHead<o&&(this.playHead=o+.02),a.start(this.playHead),this.playHead+=i.duration,this.activeSources.push(a),a.onended=()=>{this.activeSources=this.activeSources.filter(e=>e!==a)}}stopPlayback(){for(let e of this.activeSources)try{e.onended=null,e.stop()}catch{}this.activeSources=[],this.playHead=0}teardownAudio(){try{this.levelRaf&&cancelAnimationFrame(this.levelRaf),this.workletNode&&(this.workletNode.port.onmessage=null),this.micStream&&this.micStream.getTracks().forEach(e=>e.stop()),this.stopPlayback(),this.audioCtx&&this.audioCtx.close()}catch{}this.levelRaf=0,this.handlers.onAudioLevel?.(0),this.micStream=this.micNode=this.workletNode=this.audioCtx=this.analyser=void 0}};function w(e){let t=new Uint8Array(e),n=``,r=32768;for(let e=0;e<t.length;e+=r)n+=String.fromCharCode.apply(null,Array.from(t.subarray(e,e+r)));return btoa(n)}function T(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n.buffer}var E=`nexior.realtime.voice`,D=m({name:`RealtimeCall`,components:{FontAwesomeIcon:S},data(){return{client:void 0,status:`disconnected`,connecting:!1,provisioning:!0,running:!1,aiSpeaking:!1,userText:``,aiText:``,errorMsg:``,level:0,muted:!1,captionsOn:!1,showInfo:!1,voice:g,voices:[...v],voiceMenuOpen:!1,callSeq:0}},computed:{token(){return this.$store.state.realtime?.credential?.token},canCall(){return!!this.token},modelName(){return h},orbScale(){return 1+this.level*.16},haloStyle(){let e=this.running?this.level:0;return{transform:`scale(${1+e*.7})`,opacity:`${.16+e*.5}`}},orbClass(){return{speaking:this.aiSpeaking,live:this.running,idle:!this.running}},captionText(){return this.aiText?this.aiText:this.running&&!this.userText?this.$t(`realtime.listening`):``},stageText(){return this.errorMsg?this.errorMsg:this.provisioning||this.connecting?this.$t(`realtime.status.connecting`):this.running?this.aiSpeaking?this.$t(`realtime.speaking`):this.$t(`realtime.listening`):this.$t(`realtime.start`)},voiceLabel(){return this.labelOf(this.voice)}},async mounted(){try{let e=localStorage.getItem(E);e&&this.voices.includes(e)&&(this.voice=e)}catch{}this.voices.includes(this.voice)||(this.voice=g),this.provisioning=!0;try{await this.$store.dispatch(`realtime/init`)}finally{this.provisioning=!1}this.canCall&&this.startCall()},beforeUnmount(){this.client?.stop()},methods:{async startCall(){if(!this.token||this.connecting||this.running)return;let e=++this.callSeq,t=()=>e===this.callSeq;this.errorMsg=``,this.userText=``,this.aiText=``,this.connecting=!0;let n=new C(this.token,h,{onStatus:e=>{t()&&(this.status=e,this.running=e===`connecting`||e===`connected`,(e===`connected`||e===`disconnected`||e===`error`)&&(this.connecting=!1),this.running||(this.level=0))},onUserSpeechStarted:()=>{t()&&(this.aiSpeaking=!1,this.errorMsg=``)},onUserTranscript:e=>{t()&&(this.userText=e)},onAiResponseStart:()=>{t()&&(this.aiText=``,this.aiSpeaking=!0,this.errorMsg=``)},onAiTranscriptDelta:e=>{t()&&(this.aiText+=e)},onAudioLevel:e=>{t()&&(this.level=e)},onError:e=>{t()&&(this.errorMsg=e)}},this.voice);this.client=n;try{if(await n.start(),!t()||this.client!==n)return;n.setMuted(this.muted)}catch(e){if(n.stop(),!t()||this.client!==n)return;this.connecting=!1,this.running=!1,this.errorMsg=e?.message||this.$t(`realtime.startFailed`)}},toggleMute(){this.muted=!this.muted,this.client?.setMuted(this.muted)},toggleCaptions(){this.captionsOn=!this.captionsOn},labelOf(e){let t=e||`alloy`;return t.charAt(0).toUpperCase()+t.slice(1)},selectVoice(e){if(this.voiceMenuOpen=!1,e!==this.voice){this.voice=e;try{localStorage.setItem(E,e)}catch{}(this.running||this.connecting)&&this.reconnect()}},reconnect(){let e=this.client;this.client=void 0,this.callSeq++,this.running=!1,this.connecting=!1,this.aiSpeaking=!1,this.level=0,this.userText=``,this.aiText=``,this.errorMsg=``,e?.stop(),this.$nextTick(()=>this.startCall())},onOrbTap(){!this.running&&!this.connecting&&this.startCall()},endCall(){this.client?.stop(),this.running=!1,this.aiSpeaking=!1,this.level=0,this.goBack()},goBack(){this.client?.stop(),this.$router.push({name:x})}}}),O={class:`rtc-top`},k={class:`rtc-top-left`},A=[`title`],j={class:`voice-pick`},M={class:`voice-name`},N={key:0,class:`voice-menu`},P=[`onClick`],F={class:`rtc-top-right`},I=[`title`],L=[`title`],R={class:`rtc-stage`},z={key:0,class:`rtc-info`},B={key:0,class:`rtc-captions`},V={key:0,class:`cap user`},H={class:`cap ai`},U={class:`rtc-controls`},W=[`title`],G=[`title`],K=[`title`];function q(m,h,g,_,v,y){let b=c(`font-awesome-icon`);return p(),o(`div`,{class:n([`rtc`,{"is-captions":m.captionsOn,"is-live":m.running}])},[e(`header`,O,[e(`div`,k,[e(`button`,{class:`ic`,title:m.$t(`realtime.title`),onClick:h[0]||=(...e)=>m.goBack&&m.goBack(...e)},[i(b,{icon:`fa-solid fa-chevron-down`})],8,A),e(`div`,j,[e(`button`,{class:n([`voice-chip`,{on:m.voiceMenuOpen}]),onClick:h[1]||=t(e=>m.voiceMenuOpen=!m.voiceMenuOpen,[`stop`])},[e(`span`,M,r(m.voiceLabel),1),i(b,{icon:`fa-solid fa-chevron-down`,class:`voice-caret`})],2),m.voiceMenuOpen?(p(),o(`ul`,N,[(p(!0),o(s,null,f(m.voices,e=>(p(),o(`li`,{key:e,class:n({sel:e===m.voice}),onClick:t=>m.selectVoice(e)},r(m.labelOf(e)),11,P))),128))])):a(``,!0)])]),e(`div`,F,[e(`button`,{class:n([`ic`,{on:m.showInfo}]),title:m.$t(`realtime.title`),onClick:h[2]||=e=>m.showInfo=!m.showInfo},[i(b,{icon:`fa-solid fa-circle-info`})],10,I),e(`button`,{class:n([`ic`,{on:m.captionsOn}]),title:m.$t(`realtime.captions`),onClick:h[3]||=(...e)=>m.toggleCaptions&&m.toggleCaptions(...e)},[i(b,{icon:`fa-solid fa-closed-captioning`})],10,L)])]),m.voiceMenuOpen?(p(),o(`div`,{key:0,class:`voice-backdrop`,onClick:h[4]||=e=>m.voiceMenuOpen=!1})):a(``,!0),e(`main`,R,[e(`div`,{class:`orb-stage`,onClick:h[5]||=(...e)=>m.onOrbTap&&m.onOrbTap(...e)},[e(`div`,{class:`orb-halo`,style:d(m.haloStyle)},null,4),e(`div`,{class:n([`orb-breathe`,{paused:!m.running}])},[e(`div`,{class:n([`orb`,m.orbClass]),style:d({transform:`scale(${m.orbScale})`})},[...h[9]||=[e(`span`,{class:`cloud c1`},null,-1),e(`span`,{class:`cloud c2`},null,-1),e(`span`,{class:`cloud c3`},null,-1),e(`span`,{class:`sheen`},null,-1)]],6)],2)]),i(u,{name:`fade`},{default:l(()=>[m.showInfo&&!m.captionsOn?(p(),o(`p`,z,r(m.modelName),1)):a(``,!0)]),_:1}),m.captionsOn?(p(),o(`div`,B,[m.userText?(p(),o(`p`,V,r(m.userText),1)):a(``,!0),e(`p`,H,r(m.captionText),1)])):(p(),o(`p`,{key:1,class:n([`rtc-status`,{err:!!m.errorMsg}])},r(m.stageText),3))]),e(`footer`,U,[e(`button`,{class:n([`ctl`,{active:m.muted}]),title:m.muted?m.$t(`realtime.unmute`):m.$t(`realtime.mute`),onClick:h[6]||=(...e)=>m.toggleMute&&m.toggleMute(...e)},[i(b,{icon:m.muted?`fa-solid fa-microphone-slash`:`fa-solid fa-microphone`},null,8,[`icon`])],10,W),e(`button`,{class:n([`ctl`,{active:m.captionsOn}]),title:m.$t(`realtime.captions`),onClick:h[7]||=(...e)=>m.toggleCaptions&&m.toggleCaptions(...e)},[i(b,{icon:`fa-solid fa-closed-captioning`})],10,G),e(`button`,{class:`ctl end`,title:m.$t(`realtime.end`),onClick:h[8]||=(...e)=>m.endCall&&m.endCall(...e)},[i(b,{icon:`fa-solid fa-xmark`})],8,K)])],2)}var J=b(D,[[`render`,q],[`__scopeId`,`data-v-35b8d53d`]]);export{J as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,H as r,I as i,Jt as a,L as o,M as s,N as c,S as l,T as u,U as d,at as f,j as p,k as ee,mt as m,rt as h,tt as g,z as te}from"./vendor-chart-Dw-P17PN.js";import{n as ne,r as _,t as v}from"./select-
|
|
2
|
-
`)[0].trim();return t.length>40?`${t.slice(0,40)}…`:t||`Scheduled Task`},async loadTasks(){if(this.token){this.loading=!0;try{this.tasks=await X.listTasks(this.token);let e=Math.max(1,Math.ceil(this.tasks.length/this.pageSize));this.page>e&&(this.page=e)}catch{I.error(this.$t(`chat.scheduledTasks.loadError`))}finally{this.loading=!1}}},async selectTask(e){this.selectedTask=e,this.showRunHistory=!0,this.runPage=1,this.runsLoading=!0;try{this.runs=await X.listRuns(this.token,e.id)}finally{this.runsLoading=!1}},onPageChange(e){this.page=e},onRunPageChange(e){this.runPage=e},openCreate(){this.saving||(this.editingTask=null,this.form=this.emptyForm(),this.showCreateDialog=!0)},closeTaskDialog(){this.saving||(this.showCreateDialog=!1)},openEdit(e){this.editingTask=e;let t=e.schedule,n=`cron`,r=4,i=`hour`,a=0,o=`09:00`,s=`0 9 * * *`,c=1;if(t.type===`cron`){s=t.cron;let[e,r,i,l,u]=t.cron.split(/\s+/),d=e=>/^\d+$/.test(e);i===`*`&&l===`*`&&u===`*`&&r===`*`&&d(e)?(n=`hourly`,a=Number(e)):i===`*`&&l===`*`&&u===`*`&&d(r)&&d(e)?(n=`daily`,o=`${r.padStart(2,`0`)}:${e.padStart(2,`0`)}`):i===`*`&&l===`*`&&d(u)&&d(r)&&d(e)&&(n=`weekly`,c=Number(u),o=`${r.padStart(2,`0`)}:${e.padStart(2,`0`)}`)}else if(t.type===`interval`){n=`interval`;let e=t.interval_seconds;e%86400==0?(i=`day`,r=e/86400):e%3600==0?(i=`hour`,r=e/3600):(i=`minute`,r=Math.max(1,Math.round(e/60)))}this.form={name:e.name,question:e.template.question,model:e.template.model,scheduleType:n,intervalValue:r,intervalUnit:i,hourlyMinute:a,dailyTime:o,weekday:c,cronExpr:s,authorizedSkills:(e.unattended_policy?.mode===`allow_selected`||e.unattended_policy?.mode===`allow_selected_skills`)&&e.unattended_policy.allowed_skills||[],authorizedMcpServers:(e.unattended_policy?.mode===`allow_selected`||e.unattended_policy?.mode===`allow_selected_skills`)&&e.unattended_policy.allowed_mcp_servers||[],maxTurns:e.template.max_turns??Q},this.showCreateDialog=!0,this.loadAuthorizableSkills()},buildSchedule(){let{scheduleType:e,intervalValue:t,intervalUnit:n,hourlyMinute:r,dailyTime:i,weekday:a,cronExpr:o}=this.form;if(e===`interval`)return{type:`interval`,interval_seconds:Math.max(60,Math.round(t)*(n===`day`?86400:n===`hour`?3600:60)),tz:Z};if(e===`hourly`)return{type:`cron`,cron:`${Math.min(59,Math.max(0,Math.round(r)))} * * * *`,tz:Z};if(e===`daily`){let[e,t]=i.split(`:`);return{type:`cron`,cron:`${t} ${e} * * *`,tz:Z}}if(e===`weekly`){let[e,t]=i.split(`:`);return{type:`cron`,cron:`${t} ${e} * * ${a}`,tz:Z}}return{type:`cron`,cron:o,tz:Z}},async saveTask(){if(!this.form.question.trim()){I.warning(this.$t(`chat.scheduledTasks.form.required`));return}if(this.form.authorizedSkills.length>0||this.form.authorizedMcpServers.length>0)try{await V.confirm(this.authorizationConfirmText(),this.$t(`chat.scheduledTasks.form.skillsConfirmTitle`),{type:`warning`,confirmButtonText:this.$t(`common.button.confirm`),cancelButtonText:this.$t(`common.button.cancel`)})}catch{return}let e=[...this.form.authorizedSkills],t=[...this.form.authorizedMcpServers],n={name:this.form.name.trim()||this.deriveName(this.form.question),schedule:this.buildSchedule(),template:{model:this.form.model,question:this.form.question,skills:e,mcp_servers:t,max_turns:this.form.maxTurns},unattended_policy:e.length||t.length?{mode:`allow_selected`,allowed_skills:e,allowed_mcp_servers:t}:{mode:`deny_all`,allowed_skills:[],allowed_mcp_servers:[]}};await this.submitTask(n,!1)},async submitTask(e,t){this.saving=!0;let n=null;try{if(this.editingTask){let n=this.editingTask.id,r=await X.updateTask(this.token,n,e,t),i=this.tasks.findIndex(e=>e.id===n);i!==-1&&(this.tasks[i]=r)}else{let n=await X.createTask(this.token,e,t);this.tasks=[n,...this.tasks],this.page=1}I.success(this.$t(`chat.scheduledTasks.create`)+` OK`),this.showCreateDialog=!1,this.editingTask=null,this.form=this.emptyForm()}catch(e){n=t?null:me(e),n||I.error(this.$t(`chat.scheduledTasks.loadError`))}finally{this.saving=!1}n&&await this.confirmForceSkill(n)&&await this.submitTask(e,!0)},async confirmForceSkill(e){let t=this.capabilityLabel(e.slug);try{return await V.confirm(this.$t(`chat.scheduledTasks.form.skillNotActiveMessage`,{name:t}),this.$t(`chat.scheduledTasks.form.skillNotActiveTitle`),{type:`warning`,confirmButtonText:this.$t(`chat.scheduledTasks.form.skillNotActiveForce`),cancelButtonText:this.$t(`common.button.cancel`)}),!0}catch{return!1}},capabilityLabel(e){let t=this.authorizableSkills.find(t=>t.slug===e);if(t)return t.name||t.slug;let n=this.authorizableMcpServers.find(t=>t.slug===e);return n?n.name||n.slug:e},async loadAuthorizableSkills(e=!1){if(!(!this.token||this.skillsLoading||!e&&(this.authorizableSkills.length||this.authorizableMcpServers.length))){this.skillsLoading=!0;try{let e=await X.listAuthorizableCapabilities(this.token);this.authorizableSkills=e.skills,this.authorizableMcpServers=e.mcp_servers}catch{I.error(this.$t(`chat.scheduledTasks.loadError`))}finally{this.skillsLoading=!1}}},onSkillSelectVisible(e){e&&this.loadAuthorizableSkills(!0)},skillLabel(e){return e.name||e.slug},mcpServerLabel(e){return e.name||e.slug},authorizationConfirmText(){let e=new Set(this.form.authorizedSkills),t=new Set(this.form.authorizedMcpServers),n=this.authorizableSkills.filter(t=>e.has(t.slug)).map(e=>this.skillLabel(e)),r=this.authorizableMcpServers.filter(e=>t.has(e.slug)).map(e=>this.mcpServerLabel(e));return this.$t(`chat.scheduledTasks.form.skillsConfirm`,{count:e.size+t.size,skills:[...n,...r].length?[...n,...r].join(`, `):[...Array.from(e),...Array.from(t)].join(`, `)})},async toggleState(e,t){let n=this.tasks.findIndex(t=>t.id===e.id),r=t?`enabled`:`disabled`;n!==-1&&(this.tasks[n]={...e,state:r});try{let t=await X.updateTask(this.token,e.id,{state:r});n!==-1&&(this.tasks[n]=t)}catch{n!==-1&&(this.tasks[n]={...e,state:e.state}),I.error(this.$t(`chat.scheduledTasks.loadError`))}},async triggerNow(e){if(!this.triggeringId){this.triggeringId=e.id;try{await X.triggerTask(this.token,e.id),I.success(this.$t(`chat.scheduledTasks.triggerSuccess`)),this.showRunHistory&&this.selectedTask?.id===e.id&&(this.runs=await X.listRuns(this.token,e.id),this.runPage=1)}catch{I.error(this.$t(`chat.scheduledTasks.triggerError`))}finally{this.triggeringId=``}}},async confirmDelete(e){await V.confirm(this.$t(`chat.scheduledTasks.deleteConfirm`,{name:e.name}),{type:`warning`});try{await X.deleteTask(this.token,e.id),this.tasks=this.tasks.filter(t=>t.id!==e.id);let t=Math.max(1,Math.ceil(this.tasks.length/this.pageSize));this.page>t&&(this.page=t)}catch{I.error(this.$t(`chat.scheduledTasks.loadError`))}},openRun(e){if(!e.conversation_id)return;let t=this.modelGroups.map(e=>e.name),n=e.conversation_model_group,r=this.$store.state.chat?.modelGroup?.name||`chatgpt`,i=n&&(t.length===0||t.includes(n))?n:r;this.$router.push(`/${i}/conversations/${e.conversation_id}`)},stateTagType(e){return e===`enabled`?`success`:e===`error`?`danger`:`info`},runTagType(e){return e===`success`?`success`:e===`failed`?`danger`:`warning`},runErrorText(e){if(e.error_message)return e.error_message;let t=e.error_code;return t?this.errorCodeText(t):``},errorCodeText(e){let t=`chat.scheduledTasks.run.reason.${e}`;return this.$te(t)?this.$t(t):e.replace(/_/g,` `)},humanizeSchedule(e){let t=(e,t)=>this.$t(`chat.scheduledTasks.humanize.${e}`,t??{});if(e.type===`interval`){let n=e.interval_seconds;return n%86400==0?t(`everyNDays`,{n:n/86400}):n%3600==0?t(`everyNHours`,{n:n/3600}):t(`everyNMinutes`,{n:Math.round(n/60)})}if(e.type===`cron`){let[n,r,i,a,o]=e.cron.split(/\s+/),s=e=>/^\d+$/.test(e);if(i===`*`&&a===`*`&&o===`*`&&r===`*`&&s(n))return t(`hourlyAtMinute`,{n:Number(n)});let c=s(r)&&s(n)?`${r.padStart(2,`0`)}:${n.padStart(2,`0`)}`:``;return c&&i===`*`&&a===`*`&&o===`*`?t(`dailyAt`,{time:c}):c&&i===`*`&&a===`*`&&s(o)?t(`weeklyAt`,{weekday:this.weekdays[Number(o)]??o,time:c}):t(`cronRaw`,{cron:e.cron})}return t(`once`,{time:new Date(e.at*1e3).toLocaleString()})},scheduleLabel(e){return this.humanizeSchedule(e)},formatTime(e){return new Date(e*1e3).toLocaleString()}}}),ge={class:`scheduled-tasks`},_e={class:`inner`},ve={class:`header`},ye={class:`title`},be={class:`task-list`},xe={class:`task-top`},Se={class:`task-name`},Ce={class:`task-meta`},we={class:`meta-chip`},Te={class:`meta-chip`},Ee={class:`task-prompt`},De={key:0,class:`task-last-output`},Oe={class:`task-footer`},ke={class:`run-count`},Ae={key:0,class:`error-hint`},je={class:`open-hint`},Me={key:0,class:`pager`},Ne={key:0,class:`run-context`},Pe={class:`run-context-meta`},Fe={class:`run-context-prompt`},Ie={key:3,class:`run-list`},Le=[`tabindex`,`role`,`onClick`,`onKeydown`],Re={class:`run-body`},ze={class:`run-line`},Be={class:`run-title`},Ve={key:0,class:`run-preview`},He={class:`run-sub`},Ue={class:`run-time`},We=[`title`],Ge={class:`run-action`},Ke={key:1,class:`run-noconv`},qe={key:4,class:`pager run-pager`},Je={class:`hint`},$={key:0,class:`schedule-preview`},Ye={class:`hint`},Xe={class:`hint`},Ze={class:`jitter-hint`},Qe={class:`hint`},$e={class:`skill-option`},et={class:`skill-option-name`},tt={key:0,class:`skill-option-missing`},nt={class:`hint`},rt={class:`hint`},it={class:`hint`};function at(r,d,ee,te,ne,_){let v=f(`add-icon`),y=f(`el-button`),b=f(`el-skeleton`),x=f(`el-empty`),S=f(`el-switch`),C=f(`font-awesome-icon`),w=f(`el-tooltip`),T=f(`edit-icon`),E=f(`delete-icon`),D=f(`el-tag`),O=f(`refresh-icon`),k=f(`el-card`),A=f(`pagination`),j=f(`el-drawer`),M=f(`el-input`),N=f(`el-form-item`),P=f(`el-option`),F=f(`el-option-group`),I=f(`el-select`),L=f(`el-radio`),R=f(`el-radio-group`),z=f(`el-input-number`),B=f(`el-time-picker`),V=f(`el-form`),H=f(`el-dialog`);return g(),c(`div`,ge,[e(`div`,_e,[e(`div`,ve,[e(`h2`,ye,a(r.$t(`chat.scheduledTasks.title`)),1),o(y,{type:`primary`,round:``,disabled:r.saving,onClick:r.openCreate},{default:m(()=>[o(v,{size:16,class:`icon`,"aria-hidden":`true`}),i(` `+a(r.$t(`chat.scheduledTasks.create`)),1)]),_:1},8,[`disabled`,`onClick`])]),r.loading?(g(),p(b,{key:0,rows:4,animated:``,class:`loading-block`})):r.tasks.length?(g(),c(u,{key:2},[e(`div`,be,[(g(!0),c(u,null,h(r.pagedTasks,n=>(g(),p(k,{key:n.id,class:`task-card`,shadow:`hover`,onClick:e=>r.selectTask(n)},{default:m(()=>[e(`div`,xe,[e(`div`,Se,a(n.name),1),e(`div`,{class:`task-actions`,onClick:d[0]||=t(()=>{},[`stop`])},[o(S,{"model-value":n.state===`enabled`,onChange:e=>r.toggleState(n,e===!0)},null,8,[`model-value`,`onChange`]),o(w,{content:r.$t(`chat.scheduledTasks.triggerNow`),placement:`top`},{default:m(()=>[o(y,{text:``,class:`icon-action`,loading:r.triggeringId===n.id,onClick:e=>r.triggerNow(n)},{default:m(()=>[r.triggeringId===n.id?s(``,!0):(g(),p(C,{key:0,icon:`fa-solid fa-play`}))]),_:2},1032,[`loading`,`onClick`])]),_:2},1032,[`content`]),o(w,{content:r.$t(`common.button.edit`),placement:`top`},{default:m(()=>[o(y,{text:``,class:`icon-action`,"aria-label":r.$t(`common.button.edit`),onClick:e=>r.openEdit(n)},{default:m(()=>[o(T,{size:16,"aria-hidden":`true`})]),_:1},8,[`aria-label`,`onClick`])]),_:2},1032,[`content`]),o(w,{content:r.$t(`common.button.delete`),placement:`top`},{default:m(()=>[o(y,{text:``,type:`danger`,class:`icon-action`,"aria-label":r.$t(`common.button.delete`),onClick:e=>r.confirmDelete(n)},{default:m(()=>[o(E,{size:16,"aria-hidden":`true`})]),_:1},8,[`aria-label`,`onClick`])]),_:2},1032,[`content`])])]),e(`div`,Ce,[o(D,{size:`small`,type:r.stateTagType(n.state),effect:`dark`,round:``},{default:m(()=>[i(a(r.$t(`chat.scheduledTasks.state.${n.state}`)),1)]),_:2},1032,[`type`]),e(`span`,we,[o(C,{icon:`fa-solid fa-clock`,class:`meta-icon`}),i(` `+a(r.scheduleLabel(n.schedule)),1)]),e(`span`,Te,[o(C,{icon:`fa-solid fa-brain`,class:`meta-icon`}),i(` `+a(n.template.model),1)])]),e(`div`,Ee,a(n.template.question),1),n.last_output_snippet?(g(),c(`div`,De,a(n.last_output_snippet),1)):s(``,!0),e(`div`,Oe,[e(`span`,ke,[o(O,{size:16,class:`footer-icon`,"aria-hidden":`true`}),i(` `+a(r.$t(`chat.scheduledTasks.runCount`,{count:n.run_count})),1)]),n.last_error?(g(),c(`span`,Ae,a(r.errorCodeText(n.last_error)),1)):s(``,!0),e(`span`,je,[i(a(r.$t(`chat.scheduledTasks.viewRuns`))+` `,1),o(C,{icon:`fa-solid fa-chevron-right`})])])]),_:2},1032,[`onClick`]))),128))]),r.tasks.length>r.pageSize?(g(),c(`div`,Me,[o(A,{"current-page":r.page,"page-size":r.pageSize,total:r.tasks.length,onChange:r.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])):s(``,!0)],64)):(g(),p(x,{key:1,description:r.$t(`chat.scheduledTasks.empty`),class:`empty`},null,8,[`description`]))]),o(j,{modelValue:r.showRunHistory,"onUpdate:modelValue":d[1]||=e=>r.showRunHistory=e,title:r.selectedTask?.name,direction:`rtl`,size:`min(560px, 92vw)`,class:`run-history-drawer`},{default:m(()=>[r.selectedTask?(g(),c(`div`,Ne,[e(`div`,Pe,[e(`span`,null,a(r.scheduleLabel(r.selectedTask.schedule)),1),e(`span`,null,a(r.selectedTask.template.model),1),e(`span`,null,a(r.$t(`chat.scheduledTasks.runCount`,{count:r.selectedTask.run_count})),1)]),e(`div`,Fe,a(r.selectedTask.template.question),1)])):s(``,!0),r.runsLoading?(g(),p(b,{key:1,rows:3,animated:``})):r.runs.length?(g(),c(`div`,Ie,[(g(!0),c(u,null,h(r.pagedRuns,u=>(g(),c(`div`,{key:u.id,class:n([`run-item`,{clickable:!!u.conversation_id}]),tabindex:u.conversation_id?0:-1,role:u.conversation_id?`button`:void 0,onClick:e=>r.openRun(u),onKeydown:[l(e=>r.openRun(u),[`enter`]),l(t(e=>r.openRun(u),[`prevent`]),[`space`])]},[e(`div`,Re,[e(`div`,ze,[e(`span`,Be,a(u.conversation_title||r.formatTime(u.scheduled_at)),1),o(D,{size:`small`,type:r.runTagType(u.status),effect:`dark`,round:``,class:`run-tag`},{default:m(()=>[i(a(r.$t(`chat.scheduledTasks.run.${u.status}`)),1)]),_:2},1032,[`type`])]),u.conversation_preview?(g(),c(`div`,Ve,a(u.conversation_preview),1)):s(``,!0),e(`div`,He,[e(`span`,Ue,a(r.formatTime(u.scheduled_at)),1),u.error_code||u.error_message?(g(),c(`span`,{key:0,class:`run-error`,title:r.runErrorText(u)},a(r.runErrorText(u)),9,We)):s(``,!0)])]),e(`div`,Ge,[u.conversation_id?(g(),p(C,{key:0,icon:`fa-solid fa-chevron-right`,class:`run-arrow`})):(g(),c(`span`,Ke,a(r.$t(`chat.scheduledTasks.noConversation`)),1))])],42,Le))),128))])):(g(),p(x,{key:2,description:r.$t(`chat.scheduledTasks.noRuns`)},null,8,[`description`])),!r.runsLoading&&r.runs.length>r.runPageSize?(g(),c(`div`,qe,[o(A,{"current-page":r.runPage,"page-size":r.runPageSize,total:r.runs.length,onChange:r.onRunPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])):s(``,!0)]),_:1},8,[`modelValue`,`title`]),o(H,{modelValue:r.showCreateDialog,"onUpdate:modelValue":d[16]||=e=>r.showCreateDialog=e,title:r.editingTask?r.$t(`chat.scheduledTasks.edit`):r.$t(`chat.scheduledTasks.create`),width:`540px`,"close-on-click-modal":!1,"close-on-press-escape":!r.saving,"show-close":!r.saving,class:`scheduled-task-dialog`},{footer:m(()=>[o(y,{disabled:r.saving,onClick:r.closeTaskDialog},{default:m(()=>[i(a(r.$t(`common.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),o(y,{type:`primary`,loading:r.saving,onClick:r.saveTask},{default:m(()=>[i(a(r.$t(`common.button.confirm`)),1)]),_:1},8,[`loading`,`onClick`])]),default:m(()=>[o(V,{model:r.form,"label-width":`92px`},{default:m(()=>[o(N,{label:r.$t(`chat.scheduledTasks.form.name`)},{default:m(()=>[o(M,{modelValue:r.form.name,"onUpdate:modelValue":d[2]||=e=>r.form.name=e,placeholder:r.$t(`chat.scheduledTasks.form.namePlaceholder`),maxlength:`80`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),o(N,{label:r.$t(`chat.scheduledTasks.form.prompt`),required:``},{default:m(()=>[o(M,{modelValue:r.form.question,"onUpdate:modelValue":d[3]||=e=>r.form.question=e,type:`textarea`,rows:6,placeholder:r.$t(`chat.scheduledTasks.form.promptPlaceholder`)},null,8,[`modelValue`,`placeholder`]),e(`div`,Je,a(r.$t(`chat.scheduledTasks.form.promptHint`)),1)]),_:1},8,[`label`]),o(N,{label:r.$t(`chat.scheduledTasks.form.model`)},{default:m(()=>[o(I,{modelValue:r.form.model,"onUpdate:modelValue":d[4]||=e=>r.form.model=e,style:{width:`100%`},filterable:``},{default:m(()=>[(g(!0),c(u,null,h(r.modelGroups,e=>(g(),p(F,{key:e.name,label:e.getDisplayName()},{default:m(()=>[(g(!0),c(u,null,h(e.models,e=>(g(),p(P,{key:e.name,label:e.getDisplayName(),value:e.name},null,8,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),o(N,{label:r.$t(`chat.scheduledTasks.form.schedule`)},{default:m(()=>[o(R,{modelValue:r.form.scheduleType,"onUpdate:modelValue":d[5]||=e=>r.form.scheduleType=e},{default:m(()=>[o(L,{value:`interval`},{default:m(()=>[i(a(r.$t(`chat.scheduledTasks.scheduleType.interval`)),1)]),_:1}),o(L,{value:`hourly`},{default:m(()=>[i(a(r.$t(`chat.scheduledTasks.scheduleType.hourly`)),1)]),_:1}),o(L,{value:`daily`},{default:m(()=>[i(a(r.$t(`chat.scheduledTasks.scheduleType.daily`)),1)]),_:1}),o(L,{value:`weekly`},{default:m(()=>[i(a(r.$t(`chat.scheduledTasks.scheduleType.weekly`)),1)]),_:1}),o(L,{value:`cron`},{default:m(()=>[i(a(r.$t(`chat.scheduledTasks.scheduleType.cron`)),1)]),_:1})]),_:1},8,[`modelValue`]),r.schedulePreview?(g(),c(`div`,$,[o(C,{icon:`fa-solid fa-clock`,class:`preview-icon`}),i(` `+a(r.$t(`chat.scheduledTasks.form.schedulePreview`,{text:r.schedulePreview})),1)])):s(``,!0)]),_:1},8,[`label`]),r.form.scheduleType===`interval`?(g(),p(N,{key:0,label:r.$t(`chat.scheduledTasks.scheduleType.interval`)},{default:m(()=>[o(z,{modelValue:r.form.intervalValue,"onUpdate:modelValue":d[6]||=e=>r.form.intervalValue=e,min:1,max:r.intervalMax,step:1,"controls-position":`right`},null,8,[`modelValue`,`max`]),o(I,{modelValue:r.form.intervalUnit,"onUpdate:modelValue":d[7]||=e=>r.form.intervalUnit=e,style:{width:`110px`,"margin-left":`8px`}},{default:m(()=>[o(P,{label:r.$t(`chat.scheduledTasks.form.intervalUnit.minute`),value:`minute`},null,8,[`label`]),o(P,{label:r.$t(`chat.scheduledTasks.form.intervalUnit.hour`),value:`hour`},null,8,[`label`]),o(P,{label:r.$t(`chat.scheduledTasks.form.intervalUnit.day`),value:`day`},null,8,[`label`])]),_:1},8,[`modelValue`]),e(`div`,Ye,a(r.$t(`chat.scheduledTasks.form.intervalHint`)),1)]),_:1},8,[`label`])):s(``,!0),r.form.scheduleType===`hourly`?(g(),p(N,{key:1,label:r.$t(`chat.scheduledTasks.form.hourlyMinute`)},{default:m(()=>[o(z,{modelValue:r.form.hourlyMinute,"onUpdate:modelValue":d[8]||=e=>r.form.hourlyMinute=e,min:0,max:59,step:1,"controls-position":`right`},null,8,[`modelValue`]),e(`div`,Xe,a(r.$t(`chat.scheduledTasks.form.hourlyMinuteHint`)),1)]),_:1},8,[`label`])):s(``,!0),r.form.scheduleType===`daily`?(g(),p(N,{key:2,label:r.$t(`chat.scheduledTasks.form.time`)},{default:m(()=>[o(B,{modelValue:r.form.dailyTime,"onUpdate:modelValue":d[9]||=e=>r.form.dailyTime=e,format:`HH:mm`,"value-format":`HH:mm`},null,8,[`modelValue`]),e(`span`,Ze,a(r.$t(`chat.scheduledTasks.jitterHint`)),1)]),_:1},8,[`label`])):s(``,!0),r.form.scheduleType===`weekly`?(g(),p(N,{key:3,label:r.$t(`chat.scheduledTasks.form.weekday`)},{default:m(()=>[o(I,{modelValue:r.form.weekday,"onUpdate:modelValue":d[10]||=e=>r.form.weekday=e,style:{width:`120px`}},{default:m(()=>[(g(!0),c(u,null,h(r.weekdays,(e,t)=>(g(),p(P,{key:t,label:e,value:t},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),o(B,{modelValue:r.form.dailyTime,"onUpdate:modelValue":d[11]||=e=>r.form.dailyTime=e,format:`HH:mm`,"value-format":`HH:mm`,style:{"margin-left":`8px`}},null,8,[`modelValue`])]),_:1},8,[`label`])):s(``,!0),r.form.scheduleType===`cron`?(g(),p(N,{key:4,label:r.$t(`chat.scheduledTasks.form.cron`)},{default:m(()=>[o(M,{modelValue:r.form.cronExpr,"onUpdate:modelValue":d[12]||=e=>r.form.cronExpr=e,placeholder:`0 9 * * *`},null,8,[`modelValue`]),e(`div`,Qe,a(r.$t(`chat.scheduledTasks.form.cronHint`)),1)]),_:1},8,[`label`])):s(``,!0),o(N,{label:r.$t(`chat.scheduledTasks.form.skills`)},{default:m(()=>[o(I,{modelValue:r.form.authorizedSkills,"onUpdate:modelValue":d[13]||=e=>r.form.authorizedSkills=e,style:{width:`100%`},multiple:``,filterable:``,"collapse-tags":``,"collapse-tags-tooltip":``,loading:r.skillsLoading,placeholder:r.$t(`chat.scheduledTasks.form.skillsPlaceholder`),onVisibleChange:r.onSkillSelectVisible},{default:m(()=>[(g(!0),c(u,null,h(r.authorizableSkills,t=>(g(),p(P,{key:t.slug,label:r.skillLabel(t),value:t.slug,disabled:!t.connected},{default:m(()=>[e(`div`,$e,[e(`span`,et,a(r.skillLabel(t)),1),t.connected?s(``,!0):(g(),c(`span`,tt,a(r.$t(`chat.scheduledTasks.form.skillMissing`)),1))])]),_:2},1032,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`loading`,`placeholder`,`onVisibleChange`]),e(`div`,nt,a(r.$t(`chat.scheduledTasks.form.skillsHint`)),1)]),_:1},8,[`label`]),o(N,{label:r.$t(`chat.scheduledTasks.form.mcpServers`)},{default:m(()=>[o(I,{modelValue:r.form.authorizedMcpServers,"onUpdate:modelValue":d[14]||=e=>r.form.authorizedMcpServers=e,style:{width:`100%`},multiple:``,filterable:``,"collapse-tags":``,"collapse-tags-tooltip":``,loading:r.skillsLoading,placeholder:r.$t(`chat.scheduledTasks.form.mcpServersPlaceholder`),onVisibleChange:r.onSkillSelectVisible},{default:m(()=>[(g(!0),c(u,null,h(r.authorizableMcpServers,e=>(g(),p(P,{key:e.slug,label:r.mcpServerLabel(e),value:e.slug},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`loading`,`placeholder`,`onVisibleChange`]),e(`div`,rt,a(r.$t(`chat.scheduledTasks.form.mcpServersHint`)),1)]),_:1},8,[`label`]),o(N,{label:r.$t(`chat.scheduledTasks.form.maxTurns`)},{default:m(()=>[o(z,{modelValue:r.form.maxTurns,"onUpdate:modelValue":d[15]||=e=>r.form.maxTurns=e,min:1,max:50,step:1,"controls-position":`right`},null,8,[`modelValue`]),e(`div`,it,a(r.$t(`chat.scheduledTasks.form.maxTurnsHint`)),1)]),_:1},8,[`label`])]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`,`close-on-press-escape`,`show-close`])])}var ot=L(he,[[`render`,at],[`__scopeId`,`data-v-91f8db27`]]);export{ot as default};
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,H as r,I as i,Jt as a,L as o,M as s,N as c,S as l,T as u,U as d,at as f,j as p,k as ee,mt as m,rt as h,tt as g,z as te}from"./vendor-chart-Dw-P17PN.js";import{n as ne,r as _,t as v}from"./select-DBWuXcpS.js";import{t as y}from"./time-picker-uGA3jSAE.js";import{n as b,t as x}from"./form-C5xVtXwR.js";import{t as S}from"./tooltip-DzuiDugy.js";import{t as C}from"./card-D-4S-l7a.js";import{r as w,t as T}from"./radio-Bj0tEwH8.js";import{t as E}from"./drawer-CVXck3YU.js";import{t as D}from"./empty-xCRn_5sX.js";import{t as O}from"./input-number-DLdtedFB.js";import{t as k}from"./pagination-CvWNFnnW.js";import{t as A}from"./skeleton-CoheJz5x.js";import{t as j}from"./switch-DZCxODpm.js";import{t as M}from"./vendor-axios-Ck2ffRoh.js";import{Pi as N,Qi as P,qi as F}from"./constants-B8uUjFZV.js";import{Fi as I,G as L,Mi as R,Qi as z,Ui as B,Vi as V,ji as H,vn as re}from"./index-CUcxfoFQ.js";import{t as ie}from"./index.es-D-PWel10.js";var U=e=>e===``,ae=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),W=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),oe=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),se=e=>{let t=oe(e);return t.charAt(0).toUpperCase()+t.slice(1)},G={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`},K=Symbol(`lucide-icons`);function ce(){return d(K,{})}var le=({name:e,iconNode:t,absoluteStrokeWidth:n,"absolute-stroke-width":i,strokeWidth:a,"stroke-width":o,size:s,color:c,...l},{slots:u})=>{let{size:d,color:f,strokeWidth:p=2,absoluteStrokeWidth:m=!1,class:h=``}=ce(),g=ee(()=>{let e=U(n)||U(i)||n===!0||i===!0||m===!0,t=a||o||p||G[`stroke-width`];return e?Number(t)*24/Number(s??d??G.width):t});return r(`svg`,{...G,...l,width:s??d??G.width,height:s??d??G.height,stroke:c??f??G.stroke,"stroke-width":g.value,class:ae(`lucide`,h,...e?[`lucide-${W(se(e))}-icon`,`lucide-${W(e)}`]:[`lucide-icon`])},[...t.map(e=>r(...e)),...u.default?[u.default()]:[]])},q=(e,t)=>(n,{slots:i,attrs:a})=>r(le,{...a,...n,iconNode:t,name:e},i.default?{default:i.default}:void 0),ue=q(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),de=q(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),fe=q(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),pe=q(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]);function J(e){let t=re();return{Authorization:`Bearer ${e}`,"Content-Type":`application/json`,...t?{"x-site-origin":t}:{}}}var Y=`${P}/aichat2/scheduled-tasks`;function me(e){let t=e?.response?.data;return t?.error===`skill_not_active`?t.detail??{kind:`skill`,slug:``,reason:`not_active`}:null}var X=new class{async listTasks(e){let{data:t}=await M.post(Y,{action:`retrieve_batch`},{headers:J(e)});return t?.items??[]}async createTask(e,t,n=!1){let{data:r}=await M.post(Y,{action:`create`,...t,...n?{force:!0}:{}},{headers:J(e)});return r}async updateTask(e,t,n,r=!1){let{data:i}=await M.post(Y,{action:`update`,id:t,...n,...r?{force:!0}:{}},{headers:J(e)});return i}async deleteTask(e,t){await M.post(Y,{action:`delete`,id:t},{headers:J(e)})}async triggerTask(e,t){let{data:n}=await M.post(Y,{action:`trigger`,id:t},{headers:J(e)});return n??{}}async listRuns(e,t){let{data:n}=await M.post(Y,{action:`retrieve_runs`,id:t},{headers:J(e)});return n?.items??[]}async listAuthorizableSkills(e){let{data:t}=await M.post(Y,{action:`retrieve_authorizable_skills`},{headers:J(e)});return t?.items??[]}async listAuthorizableCapabilities(e){let{data:t}=await M.post(Y,{action:`retrieve_authorizable_skills`},{headers:J(e)});return{skills:t?.skills??t?.items??[],mcp_servers:t?.mcp_servers??[]}}},Z=Intl.DateTimeFormat().resolvedOptions().timeZone||`Asia/Shanghai`,Q=50,he=te({name:`ScheduledTasks`,components:{FontAwesomeIcon:ie,AddIcon:de,DeleteIcon:pe,EditIcon:ue,RefreshIcon:fe,ElButton:B,ElCard:C,ElSkeleton:A,ElEmpty:D,ElSwitch:j,ElTag:V,ElTooltip:S,ElDrawer:E,ElDialog:I,ElForm:x,ElFormItem:b,ElInput:z,ElSelect:_,ElOption:v,ElOptionGroup:ne,ElRadioGroup:w,ElRadio:T,ElTimePicker:y,ElInputNumber:O,Pagination:k},data(){return{tasks:[],runs:[],loading:!1,runsLoading:!1,skillsLoading:!1,saving:!1,showCreateDialog:!1,showRunHistory:!1,selectedTask:null,editingTask:null,authorizableSkills:[],authorizableMcpServers:[],triggeringId:``,weekdays:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],page:1,pageSize:6,runPage:1,runPageSize:8,form:this.emptyForm()}},computed:{token(){return this.$store.state.chat?.credential?.token},modelGroups(){let e=this.$store.state.site?.features??{};return N.filter(t=>e[t.name]?.enabled!==!1).map(e=>({...e,models:e.models.filter(e=>e.enabled!==!1)})).filter(e=>e.models.length>0)},pagedTasks(){let e=(this.page-1)*this.pageSize;return this.tasks.slice(e,e+this.pageSize)},pagedRuns(){let e=(this.runPage-1)*this.runPageSize;return this.runs.slice(e,e+this.runPageSize)},intervalMax(){return this.form.intervalUnit===`minute`?1440:this.form.intervalUnit===`hour`?720:365},schedulePreview(){try{return this.humanizeSchedule(this.buildSchedule())}catch{return``}}},async mounted(){await this.loadTasks()},methods:{emptyForm(){return{name:``,question:``,model:F,scheduleType:`daily`,intervalValue:4,intervalUnit:`hour`,hourlyMinute:0,dailyTime:`09:00`,weekday:1,cronExpr:`0 9 * * *`,authorizedSkills:[],authorizedMcpServers:[],maxTurns:Q}},deriveName(e){let t=(e||``).trim().split(`
|
|
2
|
+
`)[0].trim();return t.length>40?`${t.slice(0,40)}…`:t||`Scheduled Task`},async loadTasks(){if(this.token){this.loading=!0;try{this.tasks=await X.listTasks(this.token);let e=Math.max(1,Math.ceil(this.tasks.length/this.pageSize));this.page>e&&(this.page=e)}catch{R.error(this.$t(`chat.scheduledTasks.loadError`))}finally{this.loading=!1}}},async selectTask(e){this.selectedTask=e,this.showRunHistory=!0,this.runPage=1,this.runsLoading=!0;try{this.runs=await X.listRuns(this.token,e.id)}finally{this.runsLoading=!1}},onPageChange(e){this.page=e},onRunPageChange(e){this.runPage=e},openCreate(){this.saving||(this.editingTask=null,this.form=this.emptyForm(),this.showCreateDialog=!0)},closeTaskDialog(){this.saving||(this.showCreateDialog=!1)},openEdit(e){this.editingTask=e;let t=e.schedule,n=`cron`,r=4,i=`hour`,a=0,o=`09:00`,s=`0 9 * * *`,c=1;if(t.type===`cron`){s=t.cron;let[e,r,i,l,u]=t.cron.split(/\s+/),d=e=>/^\d+$/.test(e);i===`*`&&l===`*`&&u===`*`&&r===`*`&&d(e)?(n=`hourly`,a=Number(e)):i===`*`&&l===`*`&&u===`*`&&d(r)&&d(e)?(n=`daily`,o=`${r.padStart(2,`0`)}:${e.padStart(2,`0`)}`):i===`*`&&l===`*`&&d(u)&&d(r)&&d(e)&&(n=`weekly`,c=Number(u),o=`${r.padStart(2,`0`)}:${e.padStart(2,`0`)}`)}else if(t.type===`interval`){n=`interval`;let e=t.interval_seconds;e%86400==0?(i=`day`,r=e/86400):e%3600==0?(i=`hour`,r=e/3600):(i=`minute`,r=Math.max(1,Math.round(e/60)))}this.form={name:e.name,question:e.template.question,model:e.template.model,scheduleType:n,intervalValue:r,intervalUnit:i,hourlyMinute:a,dailyTime:o,weekday:c,cronExpr:s,authorizedSkills:(e.unattended_policy?.mode===`allow_selected`||e.unattended_policy?.mode===`allow_selected_skills`)&&e.unattended_policy.allowed_skills||[],authorizedMcpServers:(e.unattended_policy?.mode===`allow_selected`||e.unattended_policy?.mode===`allow_selected_skills`)&&e.unattended_policy.allowed_mcp_servers||[],maxTurns:e.template.max_turns??Q},this.showCreateDialog=!0,this.loadAuthorizableSkills()},buildSchedule(){let{scheduleType:e,intervalValue:t,intervalUnit:n,hourlyMinute:r,dailyTime:i,weekday:a,cronExpr:o}=this.form;if(e===`interval`)return{type:`interval`,interval_seconds:Math.max(60,Math.round(t)*(n===`day`?86400:n===`hour`?3600:60)),tz:Z};if(e===`hourly`)return{type:`cron`,cron:`${Math.min(59,Math.max(0,Math.round(r)))} * * * *`,tz:Z};if(e===`daily`){let[e,t]=i.split(`:`);return{type:`cron`,cron:`${t} ${e} * * *`,tz:Z}}if(e===`weekly`){let[e,t]=i.split(`:`);return{type:`cron`,cron:`${t} ${e} * * ${a}`,tz:Z}}return{type:`cron`,cron:o,tz:Z}},async saveTask(){if(!this.form.question.trim()){R.warning(this.$t(`chat.scheduledTasks.form.required`));return}if(this.form.authorizedSkills.length>0||this.form.authorizedMcpServers.length>0)try{await H.confirm(this.authorizationConfirmText(),this.$t(`chat.scheduledTasks.form.skillsConfirmTitle`),{type:`warning`,confirmButtonText:this.$t(`common.button.confirm`),cancelButtonText:this.$t(`common.button.cancel`)})}catch{return}let e=[...this.form.authorizedSkills],t=[...this.form.authorizedMcpServers],n={name:this.form.name.trim()||this.deriveName(this.form.question),schedule:this.buildSchedule(),template:{model:this.form.model,question:this.form.question,skills:e,mcp_servers:t,max_turns:this.form.maxTurns},unattended_policy:e.length||t.length?{mode:`allow_selected`,allowed_skills:e,allowed_mcp_servers:t}:{mode:`deny_all`,allowed_skills:[],allowed_mcp_servers:[]}};await this.submitTask(n,!1)},async submitTask(e,t){this.saving=!0;let n=null;try{if(this.editingTask){let n=this.editingTask.id,r=await X.updateTask(this.token,n,e,t),i=this.tasks.findIndex(e=>e.id===n);i!==-1&&(this.tasks[i]=r)}else{let n=await X.createTask(this.token,e,t);this.tasks=[n,...this.tasks],this.page=1}R.success(this.$t(`chat.scheduledTasks.create`)+` OK`),this.showCreateDialog=!1,this.editingTask=null,this.form=this.emptyForm()}catch(e){n=t?null:me(e),n||R.error(this.$t(`chat.scheduledTasks.loadError`))}finally{this.saving=!1}n&&await this.confirmForceSkill(n)&&await this.submitTask(e,!0)},async confirmForceSkill(e){let t=this.capabilityLabel(e.slug);try{return await H.confirm(this.$t(`chat.scheduledTasks.form.skillNotActiveMessage`,{name:t}),this.$t(`chat.scheduledTasks.form.skillNotActiveTitle`),{type:`warning`,confirmButtonText:this.$t(`chat.scheduledTasks.form.skillNotActiveForce`),cancelButtonText:this.$t(`common.button.cancel`)}),!0}catch{return!1}},capabilityLabel(e){let t=this.authorizableSkills.find(t=>t.slug===e);if(t)return t.name||t.slug;let n=this.authorizableMcpServers.find(t=>t.slug===e);return n?n.name||n.slug:e},async loadAuthorizableSkills(e=!1){if(!(!this.token||this.skillsLoading||!e&&(this.authorizableSkills.length||this.authorizableMcpServers.length))){this.skillsLoading=!0;try{let e=await X.listAuthorizableCapabilities(this.token);this.authorizableSkills=e.skills,this.authorizableMcpServers=e.mcp_servers}catch{R.error(this.$t(`chat.scheduledTasks.loadError`))}finally{this.skillsLoading=!1}}},onSkillSelectVisible(e){e&&this.loadAuthorizableSkills(!0)},skillLabel(e){return e.name||e.slug},mcpServerLabel(e){return e.name||e.slug},authorizationConfirmText(){let e=new Set(this.form.authorizedSkills),t=new Set(this.form.authorizedMcpServers),n=this.authorizableSkills.filter(t=>e.has(t.slug)).map(e=>this.skillLabel(e)),r=this.authorizableMcpServers.filter(e=>t.has(e.slug)).map(e=>this.mcpServerLabel(e));return this.$t(`chat.scheduledTasks.form.skillsConfirm`,{count:e.size+t.size,skills:[...n,...r].length?[...n,...r].join(`, `):[...Array.from(e),...Array.from(t)].join(`, `)})},async toggleState(e,t){let n=this.tasks.findIndex(t=>t.id===e.id),r=t?`enabled`:`disabled`;n!==-1&&(this.tasks[n]={...e,state:r});try{let t=await X.updateTask(this.token,e.id,{state:r});n!==-1&&(this.tasks[n]=t)}catch{n!==-1&&(this.tasks[n]={...e,state:e.state}),R.error(this.$t(`chat.scheduledTasks.loadError`))}},async triggerNow(e){if(!this.triggeringId){this.triggeringId=e.id;try{await X.triggerTask(this.token,e.id),R.success(this.$t(`chat.scheduledTasks.triggerSuccess`)),this.showRunHistory&&this.selectedTask?.id===e.id&&(this.runs=await X.listRuns(this.token,e.id),this.runPage=1)}catch{R.error(this.$t(`chat.scheduledTasks.triggerError`))}finally{this.triggeringId=``}}},async confirmDelete(e){await H.confirm(this.$t(`chat.scheduledTasks.deleteConfirm`,{name:e.name}),{type:`warning`});try{await X.deleteTask(this.token,e.id),this.tasks=this.tasks.filter(t=>t.id!==e.id);let t=Math.max(1,Math.ceil(this.tasks.length/this.pageSize));this.page>t&&(this.page=t)}catch{R.error(this.$t(`chat.scheduledTasks.loadError`))}},openRun(e){if(!e.conversation_id)return;let t=this.modelGroups.map(e=>e.name),n=e.conversation_model_group,r=this.$store.state.chat?.modelGroup?.name||`chatgpt`,i=n&&(t.length===0||t.includes(n))?n:r;this.$router.push(`/${i}/conversations/${e.conversation_id}`)},stateTagType(e){return e===`enabled`?`success`:e===`error`?`danger`:`info`},runTagType(e){return e===`success`?`success`:e===`failed`?`danger`:`warning`},runErrorText(e){if(e.error_message)return e.error_message;let t=e.error_code;return t?this.errorCodeText(t):``},errorCodeText(e){let t=`chat.scheduledTasks.run.reason.${e}`;return this.$te(t)?this.$t(t):e.replace(/_/g,` `)},humanizeSchedule(e){let t=(e,t)=>this.$t(`chat.scheduledTasks.humanize.${e}`,t??{});if(e.type===`interval`){let n=e.interval_seconds;return n%86400==0?t(`everyNDays`,{n:n/86400}):n%3600==0?t(`everyNHours`,{n:n/3600}):t(`everyNMinutes`,{n:Math.round(n/60)})}if(e.type===`cron`){let[n,r,i,a,o]=e.cron.split(/\s+/),s=e=>/^\d+$/.test(e);if(i===`*`&&a===`*`&&o===`*`&&r===`*`&&s(n))return t(`hourlyAtMinute`,{n:Number(n)});let c=s(r)&&s(n)?`${r.padStart(2,`0`)}:${n.padStart(2,`0`)}`:``;return c&&i===`*`&&a===`*`&&o===`*`?t(`dailyAt`,{time:c}):c&&i===`*`&&a===`*`&&s(o)?t(`weeklyAt`,{weekday:this.weekdays[Number(o)]??o,time:c}):t(`cronRaw`,{cron:e.cron})}return t(`once`,{time:new Date(e.at*1e3).toLocaleString()})},scheduleLabel(e){return this.humanizeSchedule(e)},formatTime(e){return new Date(e*1e3).toLocaleString()}}}),ge={class:`scheduled-tasks`},_e={class:`inner`},ve={class:`header`},ye={class:`title`},be={class:`task-list`},xe={class:`task-top`},Se={class:`task-name`},Ce={class:`task-meta`},we={class:`meta-chip`},Te={class:`meta-chip`},Ee={class:`task-prompt`},De={key:0,class:`task-last-output`},Oe={class:`task-footer`},ke={class:`run-count`},Ae={key:0,class:`error-hint`},je={class:`open-hint`},Me={key:0,class:`pager`},Ne={key:0,class:`run-context`},Pe={class:`run-context-meta`},Fe={class:`run-context-prompt`},Ie={key:3,class:`run-list`},Le=[`tabindex`,`role`,`onClick`,`onKeydown`],Re={class:`run-body`},ze={class:`run-line`},Be={class:`run-title`},Ve={key:0,class:`run-preview`},He={class:`run-sub`},Ue={class:`run-time`},We=[`title`],Ge={class:`run-action`},Ke={key:1,class:`run-noconv`},qe={key:4,class:`pager run-pager`},Je={class:`hint`},$={key:0,class:`schedule-preview`},Ye={class:`hint`},Xe={class:`hint`},Ze={class:`jitter-hint`},Qe={class:`hint`},$e={class:`skill-option`},et={class:`skill-option-name`},tt={key:0,class:`skill-option-missing`},nt={class:`hint`},rt={class:`hint`},it={class:`hint`};function at(r,d,ee,te,ne,_){let v=f(`add-icon`),y=f(`el-button`),b=f(`el-skeleton`),x=f(`el-empty`),S=f(`el-switch`),C=f(`font-awesome-icon`),w=f(`el-tooltip`),T=f(`edit-icon`),E=f(`delete-icon`),D=f(`el-tag`),O=f(`refresh-icon`),k=f(`el-card`),A=f(`pagination`),j=f(`el-drawer`),M=f(`el-input`),N=f(`el-form-item`),P=f(`el-option`),F=f(`el-option-group`),I=f(`el-select`),L=f(`el-radio`),R=f(`el-radio-group`),z=f(`el-input-number`),B=f(`el-time-picker`),V=f(`el-form`),H=f(`el-dialog`);return g(),c(`div`,ge,[e(`div`,_e,[e(`div`,ve,[e(`h2`,ye,a(r.$t(`chat.scheduledTasks.title`)),1),o(y,{type:`primary`,round:``,disabled:r.saving,onClick:r.openCreate},{default:m(()=>[o(v,{size:16,class:`icon`,"aria-hidden":`true`}),i(` `+a(r.$t(`chat.scheduledTasks.create`)),1)]),_:1},8,[`disabled`,`onClick`])]),r.loading?(g(),p(b,{key:0,rows:4,animated:``,class:`loading-block`})):r.tasks.length?(g(),c(u,{key:2},[e(`div`,be,[(g(!0),c(u,null,h(r.pagedTasks,n=>(g(),p(k,{key:n.id,class:`task-card`,shadow:`hover`,onClick:e=>r.selectTask(n)},{default:m(()=>[e(`div`,xe,[e(`div`,Se,a(n.name),1),e(`div`,{class:`task-actions`,onClick:d[0]||=t(()=>{},[`stop`])},[o(S,{"model-value":n.state===`enabled`,onChange:e=>r.toggleState(n,e===!0)},null,8,[`model-value`,`onChange`]),o(w,{content:r.$t(`chat.scheduledTasks.triggerNow`),placement:`top`},{default:m(()=>[o(y,{text:``,class:`icon-action`,loading:r.triggeringId===n.id,onClick:e=>r.triggerNow(n)},{default:m(()=>[r.triggeringId===n.id?s(``,!0):(g(),p(C,{key:0,icon:`fa-solid fa-play`}))]),_:2},1032,[`loading`,`onClick`])]),_:2},1032,[`content`]),o(w,{content:r.$t(`common.button.edit`),placement:`top`},{default:m(()=>[o(y,{text:``,class:`icon-action`,"aria-label":r.$t(`common.button.edit`),onClick:e=>r.openEdit(n)},{default:m(()=>[o(T,{size:16,"aria-hidden":`true`})]),_:1},8,[`aria-label`,`onClick`])]),_:2},1032,[`content`]),o(w,{content:r.$t(`common.button.delete`),placement:`top`},{default:m(()=>[o(y,{text:``,type:`danger`,class:`icon-action`,"aria-label":r.$t(`common.button.delete`),onClick:e=>r.confirmDelete(n)},{default:m(()=>[o(E,{size:16,"aria-hidden":`true`})]),_:1},8,[`aria-label`,`onClick`])]),_:2},1032,[`content`])])]),e(`div`,Ce,[o(D,{size:`small`,type:r.stateTagType(n.state),effect:`dark`,round:``},{default:m(()=>[i(a(r.$t(`chat.scheduledTasks.state.${n.state}`)),1)]),_:2},1032,[`type`]),e(`span`,we,[o(C,{icon:`fa-solid fa-clock`,class:`meta-icon`}),i(` `+a(r.scheduleLabel(n.schedule)),1)]),e(`span`,Te,[o(C,{icon:`fa-solid fa-brain`,class:`meta-icon`}),i(` `+a(n.template.model),1)])]),e(`div`,Ee,a(n.template.question),1),n.last_output_snippet?(g(),c(`div`,De,a(n.last_output_snippet),1)):s(``,!0),e(`div`,Oe,[e(`span`,ke,[o(O,{size:16,class:`footer-icon`,"aria-hidden":`true`}),i(` `+a(r.$t(`chat.scheduledTasks.runCount`,{count:n.run_count})),1)]),n.last_error?(g(),c(`span`,Ae,a(r.errorCodeText(n.last_error)),1)):s(``,!0),e(`span`,je,[i(a(r.$t(`chat.scheduledTasks.viewRuns`))+` `,1),o(C,{icon:`fa-solid fa-chevron-right`})])])]),_:2},1032,[`onClick`]))),128))]),r.tasks.length>r.pageSize?(g(),c(`div`,Me,[o(A,{"current-page":r.page,"page-size":r.pageSize,total:r.tasks.length,onChange:r.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])):s(``,!0)],64)):(g(),p(x,{key:1,description:r.$t(`chat.scheduledTasks.empty`),class:`empty`},null,8,[`description`]))]),o(j,{modelValue:r.showRunHistory,"onUpdate:modelValue":d[1]||=e=>r.showRunHistory=e,title:r.selectedTask?.name,direction:`rtl`,size:`min(560px, 92vw)`,class:`run-history-drawer`},{default:m(()=>[r.selectedTask?(g(),c(`div`,Ne,[e(`div`,Pe,[e(`span`,null,a(r.scheduleLabel(r.selectedTask.schedule)),1),e(`span`,null,a(r.selectedTask.template.model),1),e(`span`,null,a(r.$t(`chat.scheduledTasks.runCount`,{count:r.selectedTask.run_count})),1)]),e(`div`,Fe,a(r.selectedTask.template.question),1)])):s(``,!0),r.runsLoading?(g(),p(b,{key:1,rows:3,animated:``})):r.runs.length?(g(),c(`div`,Ie,[(g(!0),c(u,null,h(r.pagedRuns,u=>(g(),c(`div`,{key:u.id,class:n([`run-item`,{clickable:!!u.conversation_id}]),tabindex:u.conversation_id?0:-1,role:u.conversation_id?`button`:void 0,onClick:e=>r.openRun(u),onKeydown:[l(e=>r.openRun(u),[`enter`]),l(t(e=>r.openRun(u),[`prevent`]),[`space`])]},[e(`div`,Re,[e(`div`,ze,[e(`span`,Be,a(u.conversation_title||r.formatTime(u.scheduled_at)),1),o(D,{size:`small`,type:r.runTagType(u.status),effect:`dark`,round:``,class:`run-tag`},{default:m(()=>[i(a(r.$t(`chat.scheduledTasks.run.${u.status}`)),1)]),_:2},1032,[`type`])]),u.conversation_preview?(g(),c(`div`,Ve,a(u.conversation_preview),1)):s(``,!0),e(`div`,He,[e(`span`,Ue,a(r.formatTime(u.scheduled_at)),1),u.error_code||u.error_message?(g(),c(`span`,{key:0,class:`run-error`,title:r.runErrorText(u)},a(r.runErrorText(u)),9,We)):s(``,!0)])]),e(`div`,Ge,[u.conversation_id?(g(),p(C,{key:0,icon:`fa-solid fa-chevron-right`,class:`run-arrow`})):(g(),c(`span`,Ke,a(r.$t(`chat.scheduledTasks.noConversation`)),1))])],42,Le))),128))])):(g(),p(x,{key:2,description:r.$t(`chat.scheduledTasks.noRuns`)},null,8,[`description`])),!r.runsLoading&&r.runs.length>r.runPageSize?(g(),c(`div`,qe,[o(A,{"current-page":r.runPage,"page-size":r.runPageSize,total:r.runs.length,onChange:r.onRunPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])):s(``,!0)]),_:1},8,[`modelValue`,`title`]),o(H,{modelValue:r.showCreateDialog,"onUpdate:modelValue":d[16]||=e=>r.showCreateDialog=e,title:r.editingTask?r.$t(`chat.scheduledTasks.edit`):r.$t(`chat.scheduledTasks.create`),width:`540px`,"close-on-click-modal":!1,"close-on-press-escape":!r.saving,"show-close":!r.saving,class:`scheduled-task-dialog`},{footer:m(()=>[o(y,{disabled:r.saving,onClick:r.closeTaskDialog},{default:m(()=>[i(a(r.$t(`common.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),o(y,{type:`primary`,loading:r.saving,onClick:r.saveTask},{default:m(()=>[i(a(r.$t(`common.button.confirm`)),1)]),_:1},8,[`loading`,`onClick`])]),default:m(()=>[o(V,{model:r.form,"label-width":`92px`},{default:m(()=>[o(N,{label:r.$t(`chat.scheduledTasks.form.name`)},{default:m(()=>[o(M,{modelValue:r.form.name,"onUpdate:modelValue":d[2]||=e=>r.form.name=e,placeholder:r.$t(`chat.scheduledTasks.form.namePlaceholder`),maxlength:`80`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),o(N,{label:r.$t(`chat.scheduledTasks.form.prompt`),required:``},{default:m(()=>[o(M,{modelValue:r.form.question,"onUpdate:modelValue":d[3]||=e=>r.form.question=e,type:`textarea`,rows:6,placeholder:r.$t(`chat.scheduledTasks.form.promptPlaceholder`)},null,8,[`modelValue`,`placeholder`]),e(`div`,Je,a(r.$t(`chat.scheduledTasks.form.promptHint`)),1)]),_:1},8,[`label`]),o(N,{label:r.$t(`chat.scheduledTasks.form.model`)},{default:m(()=>[o(I,{modelValue:r.form.model,"onUpdate:modelValue":d[4]||=e=>r.form.model=e,style:{width:`100%`},filterable:``},{default:m(()=>[(g(!0),c(u,null,h(r.modelGroups,e=>(g(),p(F,{key:e.name,label:e.getDisplayName()},{default:m(()=>[(g(!0),c(u,null,h(e.models,e=>(g(),p(P,{key:e.name,label:e.getDisplayName(),value:e.name},null,8,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),o(N,{label:r.$t(`chat.scheduledTasks.form.schedule`)},{default:m(()=>[o(R,{modelValue:r.form.scheduleType,"onUpdate:modelValue":d[5]||=e=>r.form.scheduleType=e},{default:m(()=>[o(L,{value:`interval`},{default:m(()=>[i(a(r.$t(`chat.scheduledTasks.scheduleType.interval`)),1)]),_:1}),o(L,{value:`hourly`},{default:m(()=>[i(a(r.$t(`chat.scheduledTasks.scheduleType.hourly`)),1)]),_:1}),o(L,{value:`daily`},{default:m(()=>[i(a(r.$t(`chat.scheduledTasks.scheduleType.daily`)),1)]),_:1}),o(L,{value:`weekly`},{default:m(()=>[i(a(r.$t(`chat.scheduledTasks.scheduleType.weekly`)),1)]),_:1}),o(L,{value:`cron`},{default:m(()=>[i(a(r.$t(`chat.scheduledTasks.scheduleType.cron`)),1)]),_:1})]),_:1},8,[`modelValue`]),r.schedulePreview?(g(),c(`div`,$,[o(C,{icon:`fa-solid fa-clock`,class:`preview-icon`}),i(` `+a(r.$t(`chat.scheduledTasks.form.schedulePreview`,{text:r.schedulePreview})),1)])):s(``,!0)]),_:1},8,[`label`]),r.form.scheduleType===`interval`?(g(),p(N,{key:0,label:r.$t(`chat.scheduledTasks.scheduleType.interval`)},{default:m(()=>[o(z,{modelValue:r.form.intervalValue,"onUpdate:modelValue":d[6]||=e=>r.form.intervalValue=e,min:1,max:r.intervalMax,step:1,"controls-position":`right`},null,8,[`modelValue`,`max`]),o(I,{modelValue:r.form.intervalUnit,"onUpdate:modelValue":d[7]||=e=>r.form.intervalUnit=e,style:{width:`110px`,"margin-left":`8px`}},{default:m(()=>[o(P,{label:r.$t(`chat.scheduledTasks.form.intervalUnit.minute`),value:`minute`},null,8,[`label`]),o(P,{label:r.$t(`chat.scheduledTasks.form.intervalUnit.hour`),value:`hour`},null,8,[`label`]),o(P,{label:r.$t(`chat.scheduledTasks.form.intervalUnit.day`),value:`day`},null,8,[`label`])]),_:1},8,[`modelValue`]),e(`div`,Ye,a(r.$t(`chat.scheduledTasks.form.intervalHint`)),1)]),_:1},8,[`label`])):s(``,!0),r.form.scheduleType===`hourly`?(g(),p(N,{key:1,label:r.$t(`chat.scheduledTasks.form.hourlyMinute`)},{default:m(()=>[o(z,{modelValue:r.form.hourlyMinute,"onUpdate:modelValue":d[8]||=e=>r.form.hourlyMinute=e,min:0,max:59,step:1,"controls-position":`right`},null,8,[`modelValue`]),e(`div`,Xe,a(r.$t(`chat.scheduledTasks.form.hourlyMinuteHint`)),1)]),_:1},8,[`label`])):s(``,!0),r.form.scheduleType===`daily`?(g(),p(N,{key:2,label:r.$t(`chat.scheduledTasks.form.time`)},{default:m(()=>[o(B,{modelValue:r.form.dailyTime,"onUpdate:modelValue":d[9]||=e=>r.form.dailyTime=e,format:`HH:mm`,"value-format":`HH:mm`},null,8,[`modelValue`]),e(`span`,Ze,a(r.$t(`chat.scheduledTasks.jitterHint`)),1)]),_:1},8,[`label`])):s(``,!0),r.form.scheduleType===`weekly`?(g(),p(N,{key:3,label:r.$t(`chat.scheduledTasks.form.weekday`)},{default:m(()=>[o(I,{modelValue:r.form.weekday,"onUpdate:modelValue":d[10]||=e=>r.form.weekday=e,style:{width:`120px`}},{default:m(()=>[(g(!0),c(u,null,h(r.weekdays,(e,t)=>(g(),p(P,{key:t,label:e,value:t},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),o(B,{modelValue:r.form.dailyTime,"onUpdate:modelValue":d[11]||=e=>r.form.dailyTime=e,format:`HH:mm`,"value-format":`HH:mm`,style:{"margin-left":`8px`}},null,8,[`modelValue`])]),_:1},8,[`label`])):s(``,!0),r.form.scheduleType===`cron`?(g(),p(N,{key:4,label:r.$t(`chat.scheduledTasks.form.cron`)},{default:m(()=>[o(M,{modelValue:r.form.cronExpr,"onUpdate:modelValue":d[12]||=e=>r.form.cronExpr=e,placeholder:`0 9 * * *`},null,8,[`modelValue`]),e(`div`,Qe,a(r.$t(`chat.scheduledTasks.form.cronHint`)),1)]),_:1},8,[`label`])):s(``,!0),o(N,{label:r.$t(`chat.scheduledTasks.form.skills`)},{default:m(()=>[o(I,{modelValue:r.form.authorizedSkills,"onUpdate:modelValue":d[13]||=e=>r.form.authorizedSkills=e,style:{width:`100%`},multiple:``,filterable:``,"collapse-tags":``,"collapse-tags-tooltip":``,loading:r.skillsLoading,placeholder:r.$t(`chat.scheduledTasks.form.skillsPlaceholder`),onVisibleChange:r.onSkillSelectVisible},{default:m(()=>[(g(!0),c(u,null,h(r.authorizableSkills,t=>(g(),p(P,{key:t.slug,label:r.skillLabel(t),value:t.slug,disabled:!t.connected},{default:m(()=>[e(`div`,$e,[e(`span`,et,a(r.skillLabel(t)),1),t.connected?s(``,!0):(g(),c(`span`,tt,a(r.$t(`chat.scheduledTasks.form.skillMissing`)),1))])]),_:2},1032,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`loading`,`placeholder`,`onVisibleChange`]),e(`div`,nt,a(r.$t(`chat.scheduledTasks.form.skillsHint`)),1)]),_:1},8,[`label`]),o(N,{label:r.$t(`chat.scheduledTasks.form.mcpServers`)},{default:m(()=>[o(I,{modelValue:r.form.authorizedMcpServers,"onUpdate:modelValue":d[14]||=e=>r.form.authorizedMcpServers=e,style:{width:`100%`},multiple:``,filterable:``,"collapse-tags":``,"collapse-tags-tooltip":``,loading:r.skillsLoading,placeholder:r.$t(`chat.scheduledTasks.form.mcpServersPlaceholder`),onVisibleChange:r.onSkillSelectVisible},{default:m(()=>[(g(!0),c(u,null,h(r.authorizableMcpServers,e=>(g(),p(P,{key:e.slug,label:r.mcpServerLabel(e),value:e.slug},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`loading`,`placeholder`,`onVisibleChange`]),e(`div`,rt,a(r.$t(`chat.scheduledTasks.form.mcpServersHint`)),1)]),_:1},8,[`label`]),o(N,{label:r.$t(`chat.scheduledTasks.form.maxTurns`)},{default:m(()=>[o(z,{modelValue:r.form.maxTurns,"onUpdate:modelValue":d[15]||=e=>r.form.maxTurns=e,min:1,max:50,step:1,"controls-position":`right`},null,8,[`modelValue`]),e(`div`,it,a(r.$t(`chat.scheduledTasks.form.maxTurnsHint`)),1)]),_:1},8,[`label`])]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`,`close-on-press-escape`,`show-close`])])}var ot=L(he,[[`render`,at],[`__scopeId`,`data-v-91f8db27`]]);export{ot as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,j as u,mt as d,rt as f,tt as p,z as m}from"./vendor-chart-Dw-P17PN.js";import{b as h,nt as g}from"./use-deprecated-B-uvyrTL.js";import{An as _,
|
|
1
|
+
import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,j as u,mt as d,rt as f,tt as p,z as m}from"./vendor-chart-Dw-P17PN.js";import{b as h,nt as g}from"./use-deprecated-B-uvyrTL.js";import{An as _,Fi as v,G as y,Oi as b,Ti as x,Ui as S,gi as C,it as w,ut as T}from"./index-CUcxfoFQ.js";import{t as E}from"./index.es-D-PWel10.js";import{t as D}from"./CopyToClipboard-4xQr857S.js";var O=m({name:`ApplicationInfo`,components:{FontAwesomeIcon:E,ElButton:S,Check:h,ElIcon:g,CopyToClipboard:D},props:{application:{type:Object,required:!0},showType:{type:Boolean,default:!1},showId:{type:Boolean,default:!1}},emits:[`buy`,`usage`],computed:{showPayment(){return _(this.$store.getters.site)?!1:!x()||this.application?.scope===`Global`?!0:(this.application?.packages||[]).some(e=>e?.metadata?.apple_product_id)},remainingAmountText(){let e=Number(this.application?.remaining_amount??0);return!Number.isFinite(e)||e<0?`0.00`:e.toFixed(2)}}}),k={class:`flex flex-col min-w-0`},A={key:0,class:`app-id-row`},j={class:`icon !mb-0 flex-shrink-0`},M={class:`app-id-line`},N={class:`app-id-label`},P={class:`app-id-value`},F={key:1,class:`icon`},I={class:`text-left`},L={class:`description`},ee={key:0},R={key:1},z={class:`value`},B={class:`description2`},V={key:0},H={key:1},U={class:`actions`};function W(n,c,f,m,h,g){let _=l(`check`),v=l(`el-icon`),y=l(`font-awesome-icon`),b=l(`copy-to-clipboard`),x=l(`el-tag`),S=l(`el-button`);return p(),s(`div`,null,[e(`div`,k,[a(v,{class:`check`},{default:d(()=>[a(_)]),_:1}),n.showId?(p(),s(`div`,A,[e(`div`,j,[a(y,{icon:`fa-solid fa-wallet`})]),e(`div`,M,[e(`span`,N,i(n.$t(`application.field.id`))+`:`,1),e(`span`,P,i(n.application.id),1),n.application.id?(p(),u(b,{key:0,content:n.application.id,class:`copy-small`},null,8,[`content`])):o(``,!0)])])):(p(),s(`div`,F,[a(y,{icon:`fa-solid fa-wallet`})])),e(`div`,I,[e(`p`,L,[n.application.service?(p(),s(`span`,R,i(n.$t(`application.title.applicationBalance`,{service:n.application.service?.title})),1)):(p(),s(`span`,ee,i(n.$t(`application.title.globalBalance`)),1)),n.application.role===`grantee`?(p(),u(x,{key:2,class:`shared-badge`,size:`small`,type:`warning`,effect:`dark`,round:``},{default:d(()=>[r(i(n.$t(`application.badge.shared`)),1)]),_:1})):o(``,!0)]),e(`p`,z,i(n.remainingAmountText)+` `+i(n.$t(`service.unit.`+(n.application?.service?.unit||`credit`)+`s`)),1),e(`p`,B,[n.application.type===`Period`?(p(),s(`span`,V,i(n.$t(`application.field.expiredAt`))+`: `+i(n.$dayjs.format(n.application.expired_at)),1)):(p(),s(`span`,H,i(n.$t(`application.message.neverExpire`)),1))])])]),e(`div`,U,[a(S,{size:`small`,round:``,onClick:c[0]||=t(e=>n.$emit(`usage`,n.application),[`stop`])},{default:d(()=>[a(y,{icon:`fa-solid fa-chart-line`,class:`mr-1 text-[11px]`}),r(` `+i(n.$t(`application.button.usage`)),1)]),_:1}),n.showPayment?(p(),u(S,{key:0,type:`primary`,round:``,size:`small`,onClick:c[1]||=t(e=>n.$emit(`buy`,n.application),[`stop`])},{default:d(()=>[a(y,{icon:`fa-solid fa-coins`,class:`mr-1 text-[11px]`}),r(` `+i(n.$t(`application.button.buyMore`)),1)]),_:1})):o(``,!0)])])}var G=m({name:`ApplicationStatus`,components:{ElDialog:v,FontAwesomeIcon:E,ApplicationInfo:y(O,[[`render`,W],[`__scopeId`,`data-v-0bb158b3`]])},props:{application:{type:Object,required:!0},applications:{type:Array,default:void 0},service:{type:Object,required:!0}},emits:[`select`],data(){return{visible:!1,applicationType:C}},computed:{authenticated(){return!!this.$store.state.token.access},user(){return this.$store.state.user},balanceAmount(){return Number(this.application?.remaining_amount??0)},balanceUnit(){let e=`service.unit.${this.application?.service?.unit||`credit`}`+(this.balanceAmount===1?``:`s`);return this.$t(e)},balanceText(){let e=this.balanceAmount;return Number.isFinite(e)?e>=1e3?Math.round(e).toLocaleString():e>=100?e.toFixed(1):e.toFixed(2):`0`},balanceTitle(){return`${this.balanceText} ${this.balanceUnit}`}},methods:{onGoUsage(e){let t={name:T,query:{application_id:e.id}};if(b()){this.visible=!1,this.$router.push(t);return}window.open(this.$router.resolve(t).href,`_blank`)},onBuyMore(e){let t={name:w,params:{id:e.id}};if(b()){this.visible=!1,this.$router.push(t);return}window.open(this.$router.resolve(t).href,`_blank`)},onSelectApplication(e){this.$emit(`select`,e)}}}),K={class:`status`},q={key:0},J={class:`text-center mb-4`},Y={class:`flex flex-col gap-4 mb-6 overflow-y-auto`},X=[`title`],Z={class:`entry-amount`},Q={class:`entry-unit`};function $(t,r,m,h,g,_){let v=l(`application-info`),y=l(`el-dialog`),b=l(`font-awesome-icon`);return p(),s(`div`,K,[a(y,{modelValue:t.visible,"onUpdate:modelValue":r[0]||=e=>t.visible=e,class:`mt-12`,width:`450px`},{default:d(()=>[t.application?(p(),s(`div`,q,[e(`p`,J,i(t.$t(`application.message.applicationSelection`)),1),e(`div`,Y,[(p(!0),s(c,null,f(t.applications,(e,r)=>(p(),u(v,{key:r,class:n({item:!0,active:t.application?.id===e.id}),application:e,"show-id":``,onClick:n=>t.onSelectApplication(e),onUsage:n=>t.onGoUsage(e),onBuy:n=>t.onBuyMore(e)},null,8,[`class`,`application`,`onClick`,`onUsage`,`onBuy`]))),128))])])):o(``,!0)]),_:1},8,[`modelValue`]),e(`button`,{type:`button`,class:`entry`,title:t.balanceTitle,onClick:r[1]||=e=>t.visible=!0},[a(b,{icon:`fa-solid fa-wallet`,class:`entry-icon`}),e(`span`,Z,i(t.balanceText),1),e(`span`,Q,i(t.balanceUnit),1)],8,X)])}var te=y(G,[[`render`,$],[`__scopeId`,`data-v-81732bd2`]]);export{te as t};
|