@vellumai/web 0.12.1 → 0.12.2-staging.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/THIRD-PARTY-LICENSES.md +486 -0
- package/dist/assets/a2a-invite-C-d__v0P.js +1 -0
- package/dist/assets/about-page-BMTVVfA2.js +1 -0
- package/dist/assets/account-page-Bu04CQvW.js +1 -0
- package/dist/assets/account-shell-0TviHaBf.js +1 -0
- package/dist/assets/acp-run-detail-panel-w4reCx6D.js +3 -0
- package/dist/assets/activation-B2g-Oe-r.js +1 -0
- package/dist/assets/activation-dc_gRGWQ.js +1 -0
- package/dist/assets/activation-list-route-CSuVtIeq.js +1 -0
- package/dist/assets/activation-tasks-C5NV7wu7.js +1 -0
- package/dist/assets/activation-tasks-CvYLTc0s.js +1 -0
- package/dist/assets/activity-redirect-page-Cgmmb8Rc.js +1 -0
- package/dist/assets/activity-steps-panel-C26DS_qd.js +1 -0
- package/dist/assets/add-credits-modal-Byhxttdb.js +1 -0
- package/dist/assets/add-credits-modal-IIKnKS9l.js +1 -0
- package/dist/assets/ai-page-_iWq21vC.js +1 -0
- package/dist/assets/android-billing-handoff-BVx_2Qs0.js +1 -0
- package/dist/assets/api-key-screen-xui6n8NR.js +1 -0
- package/dist/assets/app-BNL3dwNm.css +2 -0
- package/dist/assets/app-DFXcEvsi.js +392 -0
- package/dist/assets/app-info-4gR8gnBC.js +1 -0
- package/dist/assets/archive-redirect-page-D1zUz-Kn.js +1 -0
- package/dist/assets/assistant-status-panel-B-woG0mJ.js +1 -0
- package/dist/assets/auth-store-BFk7tSVA.js +1 -0
- package/dist/assets/auth-welcome-screen-BsYIoTpq.js +1 -0
- package/dist/assets/avatar-bundled-components-B-TO2nC_.js +1 -0
- package/dist/assets/avatar-random-DTCQMspt.js +2 -0
- package/dist/assets/await-org-header-settled-euao9G4w.js +1 -0
- package/dist/assets/background-task-detail-panel-Bm7wkZ5w.js +1 -0
- package/dist/assets/billing-page-BkUfkbYS.js +3 -0
- package/dist/assets/billing-redirect-page-A8_L7A4l.js +1 -0
- package/dist/assets/bookmarks-page-Db3QFcDm.js +1 -0
- package/dist/assets/bundle-confirm-page-Cnb49ExR.js +1 -0
- package/dist/assets/channel-transcript-panel-DFDoSX5e.js +1 -0
- package/dist/assets/{channels-BIVOatvA.js → channels-BnJWh26Z.js} +1 -1
- package/dist/assets/{channels-C9mCB0CJ.js → channels-LgPH3TQp.js} +1 -1
- package/dist/assets/{channels-CDirkQc7.js → channels-QZtdATsC.js} +1 -1
- package/dist/assets/{channels-BCLfuOUD.js → channels-itxMVi8q.js} +1 -1
- package/dist/assets/channels-page-route-9NljMyj4.js +1 -0
- package/dist/assets/chat-8C19KXOV.js +3 -0
- package/dist/assets/chat-B8bCjQZ1.js +3 -0
- package/dist/assets/chat-BMyAegHU.js +3 -0
- package/dist/assets/chat-info-panel-BENFQ0tW.js +1 -0
- package/dist/assets/chat-k0ASlCf6.js +3 -0
- package/dist/assets/checkout-continuation-C38t4ayV.js +1 -0
- package/dist/assets/checkout-page-B6HAgaEv.js +1 -0
- package/dist/assets/checkout-return-target-CrM-Nhda.js +1 -0
- package/dist/assets/command-palette-BIYpDozl.js +1 -0
- package/dist/assets/command-palette-Dj-GW7dm.js +1 -0
- package/dist/assets/command-palette-window-page-BMC7dzK0.js +1 -0
- package/dist/assets/common-CaTw6iFT.js +1 -0
- package/dist/assets/common-DvY3wB2D.js +1 -0
- package/dist/assets/common-HddDknEB.js +1 -0
- package/dist/assets/common-l4KEHlw1.js +1 -0
- package/dist/assets/community-page-BxDoLG0_.js +1 -0
- package/dist/assets/companion-accent-pu5Xu8Z6.js +1 -0
- package/dist/assets/companion-dock-zones-page-BEfMdIVO.js +1 -0
- package/dist/assets/companion-layout-Ye64fIzN.js +1 -0
- package/dist/assets/companion-popover-Bs6A6445.js +1 -0
- package/dist/assets/companion-popover-page-7jpYeiIN.js +1 -0
- package/dist/assets/companion-surface-page-BrMY3X-F.js +1 -0
- package/dist/assets/companion-watch-frame-page-Bk0N7E-g.js +1 -0
- package/dist/assets/connect-page-Bf8bYBAk.js +1 -0
- package/dist/assets/consent-controls-N6cnmytV.js +1 -0
- package/dist/assets/contacts-gateway-C_BunUUf.js +1 -0
- package/dist/assets/contacts-page-route-DIxMGBde.js +1 -0
- package/dist/assets/credential-entry-page-2ek7NaCu.js +1 -0
- package/dist/assets/credentials-page-D3PvFMgc.js +1 -0
- package/dist/assets/{csv-preview-DDWd92MO.js → csv-preview-BB-EmIxC.js} +2 -2
- package/dist/assets/danger-zone-redirect-page-BVmYzrKj.js +1 -0
- package/dist/assets/debug-page-CJOt0BAt.js +4 -0
- package/dist/assets/deploy-dialogs-BSCor8jx.js +1 -0
- package/dist/assets/deploy-dialogs-DY0pTVu1.js +1 -0
- package/dist/assets/desktop-preview-content-BIp4Vpgt.js +2 -0
- package/dist/assets/desktop-status-CHoj8auj.js +1 -0
- package/dist/assets/desktop-viewer-86gYrlm2.js +5 -0
- package/dist/assets/detail-card-CGafPdBQ.js +1 -0
- package/dist/assets/detail-panel-stop-button-BqhRaB6y.js +1 -0
- package/dist/assets/detail-primitives-DIBzx3XJ.js +1 -0
- package/dist/assets/developer-page-p4Ylxemb.js +1 -0
- package/dist/assets/devices-redirect-page-BcyaUgzH.js +1 -0
- package/dist/assets/dictation-overlay-page-C9yEcxKh.js +1 -0
- package/dist/assets/{diff-rows-6HtO6KNr.js → diff-rows-Bf-wMfUA.js} +1 -1
- package/dist/assets/document-load-B9O1A5E9.js +1 -0
- package/dist/assets/document-load-CZeb0od7.js +1 -0
- package/dist/assets/document-viewer-page-L_O7lYHa.js +1 -0
- package/dist/assets/{ellipsis-vertical-BMOhP0Zs.js → ellipsis-vertical-Dbz00Lo-.js} +1 -1
- package/dist/assets/emails-page-fgZebuJ7.js +1 -0
- package/dist/assets/environment-store-7mW8BRRm.js +1 -0
- package/dist/assets/{esm-krw2tVOJ.js → esm-BRap8C09.js} +1 -1
- package/dist/assets/esm-BarLUlPV.js +2 -0
- package/dist/assets/{esm-hPUUgGy5.js → esm-BfMa-HX2.js} +2 -2
- package/dist/assets/esm-C19uvbek.js +2 -0
- package/dist/assets/{esm-DUr8Sd7e.js → esm-C8i-Nf3-.js} +1 -1
- package/dist/assets/esm-CI79f_VT.js +2 -0
- package/dist/assets/esm-CtAM062C.js +1 -0
- package/dist/assets/esm-DGqMBGum.js +1 -0
- package/dist/assets/esm-DYrMpsGJ.js +2 -0
- package/dist/assets/esm-Y7e1KRCK.js +2 -0
- package/dist/assets/{file-diff-view-EiQSECOw.js → file-diff-view-B9dRfPbB.js} +1 -1
- package/dist/assets/file-editor-DtbuATs6.js +1 -0
- package/dist/assets/general-page-iMRa5Ucp.js +2 -0
- package/dist/assets/hatching-screen-C9GXGQ2P.js +1 -0
- package/dist/assets/hosting-screen-D8bCW4Uz.js +1 -0
- package/dist/assets/icons-QG1KAFmx.js +1 -0
- package/dist/assets/identity-page-route-D0fpi7db.js +7 -0
- package/dist/assets/inspect-page-C2T5Wpgw.js +9 -0
- package/dist/assets/integrations-page-3cwkXYyq.js +1 -0
- package/dist/assets/{intelligence-xiqKApFj.js → intelligence-8J0ZD9Ph.js} +1 -1
- package/dist/assets/{intelligence-s33k1wI2.js → intelligence-C2fySq4l.js} +1 -1
- package/dist/assets/{intelligence-Db527yzW.js → intelligence-DFMbHITq.js} +1 -1
- package/dist/assets/{intelligence-Bla65nm5.js → intelligence-dNqws_vC.js} +1 -1
- package/dist/assets/intelligence-layout-jyahyAWu.js +1 -0
- package/dist/assets/intelligence-layout-slots-store-CI7IhmZv.js +1 -0
- package/dist/assets/keyboard-shortcuts-redirect-page-Bcl-FjyB.js +1 -0
- package/dist/assets/{latest-assistant-text-mcgHfCbd.js → latest-assistant-text-HB3-JTrf.js} +1 -1
- package/dist/assets/library-detail-page-DTptYQAF.js +1 -0
- package/dist/assets/library-page-D0OfVER_.js +1 -0
- package/dist/assets/local-mode-Dve-u3Zf.js +1 -0
- package/dist/assets/login-page-BA3GjFvS.js +1 -0
- package/dist/assets/logout-page-Dp--IQJm.js +1 -0
- package/dist/assets/logs-layout-C4SjgNAl.js +1 -0
- package/dist/assets/markdown-preview-CBu26q1U.js +1 -0
- package/dist/assets/media-preview-CrddXQMc.js +1 -0
- package/dist/assets/memory-page-route-BzLfpam9.js +2 -0
- package/dist/assets/memory-router-playground-page-CP0Eurny.js +1 -0
- package/dist/assets/message-files-panel-CDzpeEx4.js +1 -0
- package/dist/assets/metric-card-Dkx47Ug0.js +1 -0
- package/dist/assets/native-attachment-pickers-DVsB4Q0l.js +1 -0
- package/dist/assets/native-file-BKR4KkJt.js +1 -0
- package/dist/assets/notifications-page-1r0ehmHL.js +1 -0
- package/dist/assets/{oauth-complete-page-_act6krk.js → oauth-complete-page-D8yKCOVn.js} +2 -2
- package/dist/assets/{oauth-popup-complete-page-D9d5IH9z.js → oauth-popup-complete-page-DzPqlG80.js} +2 -2
- package/dist/assets/onboarding-4AB8OdqK.js +1 -0
- package/dist/assets/onboarding-Bv6Vw7rT.js +1 -0
- package/dist/assets/onboarding-C9uVVsD1.js +1 -0
- package/dist/assets/onboarding-CFxxcqra.js +1 -0
- package/dist/assets/paired-platform-identity-C4IGgtxq.js +1 -0
- package/dist/assets/pairing-page-DhmG1Tkg.js +1 -0
- package/dist/assets/password-reset-page-7yc-z_Pf.js +1 -0
- package/dist/assets/{pdf-B2KVp4ZG.js → pdf-DZqed7HH.js} +1 -1
- package/dist/assets/pdf-file-preview-ElX646lL.js +1 -0
- package/dist/assets/{peeking-eyes-DNBQeifP.js → peeking-eyes-DJkKQl-G.js} +1 -1
- package/dist/assets/personality-page-BqW5uuDF.js +1 -0
- package/dist/assets/personality-page-DXW5MuRz.js +1 -0
- package/dist/assets/personality-sliders-BuInNb35.js +1 -0
- package/dist/assets/plans-page-B87o5Bm-.js +1 -0
- package/dist/assets/platform-loopback-page--ynU4rVO.js +1 -0
- package/dist/assets/plugin-detail-page-lbmmlIpx.js +1 -0
- package/dist/assets/plugins-page-BM44sOv4.js +1 -0
- package/dist/assets/plugins-surface-2i_lZYet.js +1 -0
- package/dist/assets/preview-error-B6mdXJ98.js +1 -0
- package/dist/assets/privacy-page-BqqU59zB.js +1 -0
- package/dist/assets/privacy-screen-CW2gbeYL.js +1 -0
- package/dist/assets/provider-callback-page-PVHvQXqC.js +1 -0
- package/dist/assets/provider-key-fvCko3IH.js +1 -0
- package/dist/assets/provider-signup-page-D6kN0d9F.js +1 -0
- package/dist/assets/{provisioning-targets-BZJdjS_6.js → provisioning-targets-B5flnyHy.js} +1 -1
- package/dist/assets/quick-input-page-DMs0592w.js +1 -0
- package/dist/assets/{react-DPM_L_aA.js → react-B9IgSVeK.js} +1 -1
- package/dist/assets/referral-modal-C5ePy9XT.js +1 -0
- package/dist/assets/referral-modal-VQ2vsPTh.js +1 -0
- package/dist/assets/{rehype-katex-qwWAif3X.js → rehype-katex-Bp74Wkmo.js} +1 -1
- package/dist/assets/research-mock-page-D3X9Fw83.js +1 -0
- package/dist/assets/research-onboarding-route-Bk2Zl9y9.js +50 -0
- package/dist/assets/review-terms-screen-CU9h0Gz5.js +1 -0
- package/dist/assets/routes-NC2Xyogy.js +1 -0
- package/dist/assets/schedules-Cslj2E_n.js +1 -0
- package/dist/assets/schedules-page-7QBCwWLg.js +1 -0
- package/dist/assets/security-redirect-page-D6C5fIZt.js +1 -0
- package/dist/assets/select-assistant-screen-BO9WTRBj.js +1 -0
- package/dist/assets/self-hosted-servers-sqp6RgAQ.js +1 -0
- package/dist/assets/service-form-controls-C5nQsTzh.js +1 -0
- package/dist/assets/setting-row-Dqextrfj.js +1 -0
- package/dist/assets/settings-C-QPO0as.js +3 -0
- package/dist/assets/settings-D9OIWncF.js +3 -0
- package/dist/assets/settings-DGQfZ51D.js +3 -0
- package/dist/assets/settings-divider-D-IFmB_l.js +1 -0
- package/dist/assets/settings-gxBTr-j9.js +3 -0
- package/dist/assets/settings-layout-Bh7MaZ4H.js +1 -0
- package/dist/assets/share-feedback-modal-D44y3KhU.js +1 -0
- package/dist/assets/share-feedback-modal-DsaGXNnY.js +2 -0
- package/dist/assets/sidebar-tree-BgVhUiEU.js +1 -0
- package/dist/assets/signup-page-CzQJSqzn.js +1 -0
- package/dist/assets/signup-shell-C1cGo11n.js +1 -0
- package/dist/assets/skill-detail-page-BN8Rwzuu.js +2 -0
- package/dist/assets/skill-detail-panel-DVrh3t_h.js +1 -0
- package/dist/assets/skill-icon-DLqnaRMf.js +1 -0
- package/dist/assets/skill-removal-dialog-CkduZswH.js +1 -0
- package/dist/assets/skills-page-DS76T-t4.js +1 -0
- package/dist/assets/sounds-page-Bqrv7A7h.js +1 -0
- package/dist/assets/start-screen-Cz9LflKA.js +1 -0
- package/dist/assets/{status-badge-pill-DsYKTPMw.js → status-badge-pill-Dw3L9IOE.js} +1 -1
- package/dist/assets/stt-language-picker-modal-Ckz32Oh1.js +1 -0
- package/dist/assets/subagent-detail-panel-C2AI9zu4.js +1 -0
- package/dist/assets/superpowers-page-CMOvPhlc.js +1 -0
- package/dist/assets/system-events-page-D0fUUNzD.js +1 -0
- package/dist/assets/system-events-redirect-page-Dr4-w7Y1.js +1 -0
- package/dist/assets/text-preview-DozGQuv6.js +1 -0
- package/dist/assets/theme-stage-page-CcBBPfjV.js +1 -0
- package/dist/assets/{tiptap-document-editor-7zjNquKo.js → tiptap-document-editor-Db4_RKhj.js} +30 -30
- package/dist/assets/tool-detail-panel-CNNnmtM6.js +15 -0
- package/dist/assets/tool-detail-panel-PjXqpW5b.js +1 -0
- package/dist/assets/trait-cycle-row-C1uqLkCi.js +1 -0
- package/dist/assets/upgrade-cancel-page-CKZWRtvT.js +1 -0
- package/dist/assets/upgrade-success-page-CkXzT8Ty.js +1 -0
- package/dist/assets/usage-redirect-page-CRrl2BDL.js +1 -0
- package/dist/assets/use-app-delete-CFfw_T0x.js +1 -0
- package/dist/assets/use-assistant-identity-details-CGJTkSlu.js +1 -0
- package/dist/assets/use-checkout-dismiss-refresh-DB9VdW8-.js +1 -0
- package/dist/assets/use-edge-swipe-back-DYPOVsUT.js +1 -0
- package/dist/assets/use-hotkey-recorder-Cj-vFxW2.js +1 -0
- package/dist/assets/use-invite-link-dialog-B4f3yyUN.js +1 -0
- package/dist/assets/use-platform-assistant-id-D8KGJAMf.js +1 -0
- package/dist/assets/use-return-to-short-circuit-Db6fiXSQ.js +1 -0
- package/dist/assets/use-side-list-room-CSNBqjJu.js +1 -0
- package/dist/assets/use-skill-actions-BNpUjvgz.js +1 -0
- package/dist/assets/use-skill-detail-files-C5BA-Phb.js +1 -0
- package/dist/assets/use-supports-credentials-settings-DIKVOLU1.js +1 -0
- package/dist/assets/use-transcript-message-by-id-ZVUnXf5k.js +1 -0
- package/dist/assets/{use-truncated-blob-text-B50a7Mkr.js → use-truncated-blob-text-BArL-keL.js} +1 -1
- package/dist/assets/vendor-DYOeoIwg.js +127 -0
- package/dist/assets/voice-page-DDLtbhsC.js +1 -0
- package/dist/assets/wake-detail-panel-C5K2zAvp.js +1 -0
- package/dist/assets/weather-forecast-display-CWGsPOa9.js +1 -0
- package/dist/assets/{web-ykYrL9yl.js → web-7w3Y8MVH.js} +1 -1
- package/dist/assets/{web-BkmK5STh.js → web-B_ZkQa17.js} +1 -1
- package/dist/assets/{web-BpX3Y-_s.js → web-Bb3bM_rE.js} +1 -1
- package/dist/assets/{web-Bulr9QQn.js → web-CQyztjRg.js} +1 -1
- package/dist/assets/{web-y4PoIMXz.js → web-CkN0uo01.js} +1 -1
- package/dist/assets/{web-CeDxhWFH.js → web-DZd0e2iR.js} +1 -1
- package/dist/assets/{web-9D8isJOk.js → web-DpFmNxr1.js} +1 -1
- package/dist/assets/{web-C_Ui7gb5.js → web-ZV0_2EZ9.js} +1 -1
- package/dist/assets/{web-CaauzE8c.js → web-ocPGQzbv.js} +1 -1
- package/dist/assets/welcome-screen-DuUuJIJ2.js +1 -0
- package/dist/assets/workflow-detail-panel-D6ip8R9Y.js +1 -0
- package/dist/assets/workspace-CrT6IjXz.js +1 -0
- package/dist/assets/workspace-D-j7Q1o1.js +1 -0
- package/dist/assets/workspace-DOerIby3.js +1 -0
- package/dist/assets/workspace-Db-P5zkL.js +1 -0
- package/dist/assets/workspace-page-D_4QLZh3.js +1 -0
- package/dist/images/integrations/ATTRIBUTION.md +6 -6
- package/dist/images/integrations/quickbooks.svg +1 -0
- package/dist/images/integrations/shopify.svg +1 -0
- package/dist/index.html +6 -6
- package/package.json +1 -1
- package/dist/assets/a2a-invite-DOlvPnsj.js +0 -1
- package/dist/assets/about-page-CAHLo_IM.js +0 -1
- package/dist/assets/account-page-CR9m-bbG.js +0 -1
- package/dist/assets/account-shell-CfKMHHXQ.js +0 -1
- package/dist/assets/acp-run-detail-panel-BBEBzZSw.js +0 -3
- package/dist/assets/activation-list-route-WkR2XN13.js +0 -1
- package/dist/assets/activation-tasks-BJZEpFIy.js +0 -1
- package/dist/assets/activation-tasks-Bk658x3i.js +0 -1
- package/dist/assets/activation-tasks-K8Swziqu.js +0 -1
- package/dist/assets/activation-tasks-wz108byj.js +0 -1
- package/dist/assets/activity-redirect-page-D5jSj1d4.js +0 -1
- package/dist/assets/activity-steps-panel-C91mUEgr.js +0 -1
- package/dist/assets/add-credits-modal-BtOBq6__.js +0 -1
- package/dist/assets/ai-page-BjjHb_KN.js +0 -1
- package/dist/assets/android-billing-handoff-C_65hbFm.js +0 -1
- package/dist/assets/api-key-screen-DAWDc1tS.js +0 -1
- package/dist/assets/app-info--nQmKvGC.js +0 -1
- package/dist/assets/archive-redirect-page-BlzqQ5_P.js +0 -1
- package/dist/assets/assistant-status-panel-CXq4xqak.js +0 -1
- package/dist/assets/auth-welcome-screen-YynWXFYd.js +0 -1
- package/dist/assets/avatar-random-T8euI8sG.js +0 -2
- package/dist/assets/await-org-header-settled-DzQQ7QxL.js +0 -1
- package/dist/assets/background-task-detail-panel-DGc2RnBm.js +0 -1
- package/dist/assets/billing-page-eSvbiGuR.js +0 -3
- package/dist/assets/billing-redirect-page-BAtaOafH.js +0 -1
- package/dist/assets/bookmarks-page-UeYoXk3X.js +0 -1
- package/dist/assets/bundle-confirm-page-CrNXSEwP.js +0 -1
- package/dist/assets/channel-transcript-panel-BdOlGjnN.js +0 -1
- package/dist/assets/channels-page-route-CTDjdZZV.js +0 -1
- package/dist/assets/chat-BOrB9oHu.js +0 -3
- package/dist/assets/chat-C1MeXG-2.js +0 -3
- package/dist/assets/chat-CWzsWu23.js +0 -3
- package/dist/assets/chat-eAA7-NU8.js +0 -3
- package/dist/assets/chat-info-panel-CIcb19Yz.js +0 -1
- package/dist/assets/checkout-continuation-DCEWSKgL.js +0 -1
- package/dist/assets/checkout-page-CjZEKzRZ.js +0 -1
- package/dist/assets/checkout-return-target-RlOhwSvu.js +0 -1
- package/dist/assets/command-palette-D2wqOJue.js +0 -1
- package/dist/assets/command-palette-window-page-Bg2nuHq5.js +0 -1
- package/dist/assets/common-BztqCOmk.js +0 -1
- package/dist/assets/common-DTjszpuj.js +0 -1
- package/dist/assets/common-DmcKuTke.js +0 -1
- package/dist/assets/common-Hpbr_vpQ.js +0 -1
- package/dist/assets/community-page-BLhzGTuy.js +0 -1
- package/dist/assets/companion-accent-gsn9VuVB.js +0 -1
- package/dist/assets/companion-layout-BES0UfBy.js +0 -1
- package/dist/assets/companion-surface-page-kl9ej_zQ.js +0 -1
- package/dist/assets/companion-watch-frame-page-CX0lYK6Y.js +0 -1
- package/dist/assets/connect-page-8LGXfYwr.js +0 -1
- package/dist/assets/consent-controls-BRXg7A0b.js +0 -1
- package/dist/assets/contacts-gateway-Cm83W9Sw.js +0 -1
- package/dist/assets/contacts-page-route-YdSPP6ct.js +0 -1
- package/dist/assets/credential-entry-page-B0E7m9Ka.js +0 -1
- package/dist/assets/credentials-page-KL8TseTX.js +0 -1
- package/dist/assets/danger-zone-redirect-page-CeG41nRv.js +0 -1
- package/dist/assets/debug-page-Cq9veQE7.js +0 -4
- package/dist/assets/deploy-dialogs-DiKerPg3.js +0 -1
- package/dist/assets/detail-card-B0OGBJ1-.js +0 -1
- package/dist/assets/detail-panel-stop-button-B6n2CDuJ.js +0 -1
- package/dist/assets/detail-primitives-MMaUWytS.js +0 -1
- package/dist/assets/developer-page--7O3Jeje.js +0 -1
- package/dist/assets/devices-redirect-page-De4zPGBG.js +0 -1
- package/dist/assets/dictation-overlay-page-BebL8Sje.js +0 -1
- package/dist/assets/document-viewer-page-R_dKhaWy.js +0 -1
- package/dist/assets/emails-page-CqVlJ1LT.js +0 -1
- package/dist/assets/environment-store-yY-PFyNj.js +0 -1
- package/dist/assets/esm-CEQ5-BPY.js +0 -2
- package/dist/assets/esm-CZUymCSO.js +0 -1
- package/dist/assets/esm-DyNBzk7k.js +0 -2
- package/dist/assets/esm-V26rZBqv.js +0 -2
- package/dist/assets/esm-VDGp8N8o.js +0 -2
- package/dist/assets/esm-bBYOtNIe.js +0 -2
- package/dist/assets/file-editor-B_RqvjQp.js +0 -1
- package/dist/assets/general-page-DZ2OQRcR.js +0 -2
- package/dist/assets/hatching-screen-BsUtOe4T.js +0 -1
- package/dist/assets/hosting-screen-CnZGwkfa.js +0 -1
- package/dist/assets/icons-xHdc0dPY.js +0 -1
- package/dist/assets/identity-page-route-DojUio39.js +0 -7
- package/dist/assets/index-CleA12ha.js +0 -379
- package/dist/assets/index-_KUyDosG.css +0 -2
- package/dist/assets/inspect-page-BE_JG1N4.js +0 -9
- package/dist/assets/integrations-page-KDXF3d-g.js +0 -1
- package/dist/assets/intelligence-layout-STvbMPLB.js +0 -1
- package/dist/assets/intelligence-layout-slots-store-DMLOaMGU.js +0 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-DXaUnoFR.js +0 -1
- package/dist/assets/library-detail-page-CCmvUHtD.js +0 -1
- package/dist/assets/library-page-DlTszOAL.js +0 -1
- package/dist/assets/login-page-CUNLD9gj.js +0 -1
- package/dist/assets/logout-page-DcyTUY-b.js +0 -1
- package/dist/assets/logs-layout-BqkRgpwq.js +0 -1
- package/dist/assets/markdown-preview-CG-FNmRz.js +0 -1
- package/dist/assets/media-preview-CCq9FQiT.js +0 -1
- package/dist/assets/memory-page-route-BHUAp-C2.js +0 -2
- package/dist/assets/memory-router-playground-page-Dt9vB83b.js +0 -1
- package/dist/assets/message-files-panel-DpvaRorj.js +0 -1
- package/dist/assets/metric-card-CgEc3VST.js +0 -1
- package/dist/assets/notifications-page-kX-DNd3J.js +0 -1
- package/dist/assets/onboarding-8Qvub-HF.js +0 -1
- package/dist/assets/onboarding-BqMOEnu1.js +0 -1
- package/dist/assets/onboarding-Do0E1QsF.js +0 -1
- package/dist/assets/onboarding-ml_qpGn-.js +0 -1
- package/dist/assets/pairing-page-DJRUbeSZ.js +0 -1
- package/dist/assets/password-reset-page-Cegloo1P.js +0 -1
- package/dist/assets/pdf-file-preview-3kkKGH7o.js +0 -1
- package/dist/assets/personality-page-CmZHiyRo.js +0 -1
- package/dist/assets/personality-page-DjPVfIFL.js +0 -1
- package/dist/assets/personality-sliders-D0p9kgNx.js +0 -1
- package/dist/assets/plans-page-CCY1BUZx.js +0 -1
- package/dist/assets/platform-loopback-page-vdNjdoVw.js +0 -1
- package/dist/assets/plugin-detail-page-Co0YswmF.js +0 -1
- package/dist/assets/plugins-page-DxCCY6yP.js +0 -1
- package/dist/assets/preview-error-DyczP1Cl.js +0 -1
- package/dist/assets/privacy-page-nfyEw6V_.js +0 -1
- package/dist/assets/privacy-screen-CSYkxRBc.js +0 -1
- package/dist/assets/provider-callback-page-Cms4b36-.js +0 -1
- package/dist/assets/provider-key-B2zz48-r.js +0 -1
- package/dist/assets/provider-signup-page-nO1KOWei.js +0 -1
- package/dist/assets/quick-input-page-CtMMOIj7.js +0 -1
- package/dist/assets/research-mock-page-TkBJ2Xzt.js +0 -1
- package/dist/assets/research-onboarding-route-BBvprgLG.js +0 -50
- package/dist/assets/review-terms-screen-CdlPmf8I.js +0 -1
- package/dist/assets/schedules-BH4Qj3v_.js +0 -1
- package/dist/assets/schedules-page-BwWZDVOO.js +0 -1
- package/dist/assets/security-redirect-page-BflZPXbv.js +0 -1
- package/dist/assets/select-assistant-screen-s2j8iyBA.js +0 -1
- package/dist/assets/self-hosted-servers-BbfoTPnN.js +0 -1
- package/dist/assets/service-form-controls-B4TOUC0S.js +0 -1
- package/dist/assets/setting-row-DqAfZdv2.js +0 -1
- package/dist/assets/settings-C63GjmJb.js +0 -3
- package/dist/assets/settings-CrvJCEjH.js +0 -3
- package/dist/assets/settings-D4bcxNIG.js +0 -3
- package/dist/assets/settings-Dn888InQ.js +0 -3
- package/dist/assets/settings-divider-CM41jU8r.js +0 -1
- package/dist/assets/settings-layout-dXTKjyLn.js +0 -1
- package/dist/assets/share-feedback-modal-Bf_f-1Md.js +0 -2
- package/dist/assets/sidebar-tree-Bk7IUERw.js +0 -1
- package/dist/assets/signup-page-C-3fDL0D.js +0 -1
- package/dist/assets/signup-shell-DqL_hfoj.js +0 -1
- package/dist/assets/skill-detail-page-CVduyZVJ.js +0 -2
- package/dist/assets/skill-detail-panel-BxZAnZbg.js +0 -1
- package/dist/assets/skill-icon-FPL5xeRb.js +0 -1
- package/dist/assets/skill-removal-dialog-D3tHR3Ld.js +0 -1
- package/dist/assets/skills-page-C-0iE9BV.js +0 -1
- package/dist/assets/sounds-page-_EVUXllQ.js +0 -1
- package/dist/assets/start-screen-yHd9KDX3.js +0 -1
- package/dist/assets/stt-language-picker-modal-BUc9OzaG.js +0 -1
- package/dist/assets/subagent-detail-panel-rXvn591h.js +0 -1
- package/dist/assets/superpowers-page-BZt2aSZX.js +0 -1
- package/dist/assets/system-events-page-C8lfUiSV.js +0 -1
- package/dist/assets/system-events-redirect-page-8LxoBVmn.js +0 -1
- package/dist/assets/text-preview-DW6f8CZi.js +0 -1
- package/dist/assets/theme-stage-page-DzWIjgFX.js +0 -1
- package/dist/assets/tool-detail-panel-UBD8L_LV.js +0 -15
- package/dist/assets/trait-cycle-row-CSwys30K.js +0 -1
- package/dist/assets/upgrade-cancel-page-o-OcUT1B.js +0 -1
- package/dist/assets/upgrade-success-page-D2BicwBj.js +0 -1
- package/dist/assets/usage-redirect-page-BmlaczMS.js +0 -1
- package/dist/assets/use-app-delete-B8jp3vIE.js +0 -1
- package/dist/assets/use-assistant-identity-details-BRqAQ7pS.js +0 -1
- package/dist/assets/use-checkout-dismiss-refresh-DX3GymbX.js +0 -1
- package/dist/assets/use-edge-swipe-back-CbTl-FwD.js +0 -2
- package/dist/assets/use-hotkey-recorder-BKNmxbXj.js +0 -1
- package/dist/assets/use-invite-link-dialog-Daa3jhkP.js +0 -1
- package/dist/assets/use-platform-assistant-id-Dj8c4xX-.js +0 -1
- package/dist/assets/use-return-to-short-circuit-DusBrJ_h.js +0 -1
- package/dist/assets/use-side-list-room-3ENOwQ0t.js +0 -1
- package/dist/assets/use-skill-actions-BjY9oa7a.js +0 -1
- package/dist/assets/use-skill-detail-files-kPuMdyDL.js +0 -1
- package/dist/assets/use-supports-credentials-settings-BuLaPijC.js +0 -1
- package/dist/assets/use-transcript-message-by-id-DOMa4nxw.js +0 -1
- package/dist/assets/vendor-C_e0Rl2s.js +0 -127
- package/dist/assets/voice-page-DuWSfI5B.js +0 -1
- package/dist/assets/wake-detail-panel-D34xuHov.js +0 -1
- package/dist/assets/weather-forecast-display-D1iB5UK2.js +0 -1
- package/dist/assets/welcome-screen-Dw3nj99H.js +0 -1
- package/dist/assets/workflow-detail-panel-BbS4Uq2Q.js +0 -1
- package/dist/assets/workspace-B3qxH51y.js +0 -1
- package/dist/assets/workspace-BUMgSIAc.js +0 -1
- package/dist/assets/workspace-DBbRFlwk.js +0 -1
- package/dist/assets/workspace-LUczKAWY.js +0 -1
- package/dist/assets/workspace-page-CmL3AaIw.js +0 -1
- /package/dist/assets/{account-Diu-bFrX.js → account-1POZPT9m.js} +0 -0
- /package/dist/assets/{account-DDtCvPF5.js → account-BBvlSFcW.js} +0 -0
- /package/dist/assets/{account-BF5lrfyX.js → account-DV-tB0oh.js} +0 -0
- /package/dist/assets/{account-Bxy_vX-K.js → account-n9xXc949.js} +0 -0
- /package/dist/assets/{activation-BYAGAleJ.js → activation-BtZhlZ_s.js} +0 -0
- /package/dist/assets/{activation-CEdyqKUu.js → activation-CaYos65l.js} +0 -0
- /package/dist/assets/{activation-DEdwceum.js → activation-tasks-CzjUeEj1.js} +0 -0
- /package/dist/assets/{activation-DF1oj8j7.js → activation-tasks-D057dozu.js} +0 -0
- /package/dist/assets/{app-types-Dij41aJ8.js → app-types-2kvircdH.js} +0 -0
- /package/dist/assets/{build.umd-BrZECSr1.js → build.umd-BWfbInTw.js} +0 -0
- /package/dist/assets/{contacts-4xLilqUA.js → contacts-D6N3gRLL.js} +0 -0
- /package/dist/assets/{contacts-CnVtG-pl.js → contacts-DP3Crat5.js} +0 -0
- /package/dist/assets/{contacts-DE8gWrSn.js → contacts-X4REeAsN.js} +0 -0
- /package/dist/assets/{contacts-DIgSZ4hU.js → contacts-yIhQlpq2.js} +0 -0
- /package/dist/assets/{credential-requests-CPxFLVT9.js → credential-requests-1WDcifE6.js} +0 -0
- /package/dist/assets/{credential-requests-Qe84hNEC.js → credential-requests-D6SU6G2Z.js} +0 -0
- /package/dist/assets/{credential-requests-BFLeXf78.js → credential-requests-DKbR-6qV.js} +0 -0
- /package/dist/assets/{credential-requests-lDkcsmmB.js → credential-requests-DrJdsdeJ.js} +0 -0
- /package/dist/assets/{definitions-BTebkxyz.js → definitions-DhwHuMC5.js} +0 -0
- /package/dist/assets/{definitions-BjZOswgM.js → definitions-Qg1-j0J7.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-QQIw94Eu.js → emoji-catalog-data-Yyjk_IDu.js} +0 -0
- /package/dist/assets/{format-countdown-C-J64lue.js → format-countdown-BEyU91h0.js} +0 -0
- /package/dist/assets/{format-file-size-Daiq0gMr.js → format-file-size-CEqN0m2h.js} +0 -0
- /package/dist/assets/{home-CCUv41ef.js → home-CQRYKQ5-.js} +0 -0
- /package/dist/assets/{home-BteaphB_.js → home-DQz-gw5J.js} +0 -0
- /package/dist/assets/{home-tbbkVcjW.js → home-jvtY7w4T.js} +0 -0
- /package/dist/assets/{home-DO7A2tVm.js → home-uZ5Qvj6E.js} +0 -0
- /package/dist/assets/{library-DuuiJut6.js → library-BXLScXI1.js} +0 -0
- /package/dist/assets/{library-ClpjgmQn.js → library-D7tisF9R.js} +0 -0
- /package/dist/assets/{library-BhC14-NO.js → library-IMXA70AZ.js} +0 -0
- /package/dist/assets/{library-BRmAQI9e.js → library-gTJv7Oz7.js} +0 -0
- /package/dist/assets/{link-click-e-Fdx5JV.js → link-click-BYgcUBN3.js} +0 -0
- /package/dist/assets/{logs-NHN9-mUP.js → logs-DV_rbeyU.js} +0 -0
- /package/dist/assets/{logs-CQYFdGa_.js → logs-gUmqmCAe.js} +0 -0
- /package/dist/assets/{logs-SCSd0kUm.js → logs-itULWBC4.js} +0 -0
- /package/dist/assets/{logs-DwYHebVx.js → logs-ji3E1A5W.js} +0 -0
- /package/dist/assets/{machine-sizes-DadN4uVk.js → machine-sizes-Cyr9sICv.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-COS57xjn.js → onboarding-step-layout-XiwLE8P3.js} +0 -0
- /package/dist/assets/{plugin-attribution-zkdgIHRG.js → plugin-attribution-B2jD5Q1N.js} +0 -0
- /package/dist/assets/{radio-card-nav-DCE3wYLZ.js → radio-card-nav-BtZq6gZp.js} +0 -0
- /package/dist/assets/{remote-web-BIYYINs1.js → remote-web-BClKYDvU.js} +0 -0
- /package/dist/assets/{remote-web-D3chXkbO.js → remote-web-BTqxQIZY.js} +0 -0
- /package/dist/assets/{remote-web-DfCFOpuR.js → remote-web-BqE5HtVx.js} +0 -0
- /package/dist/assets/{remote-web-CSrWAyIC.js → remote-web-Cy9y7nTE.js} +0 -0
- /package/dist/assets/{schedules-BBaBmcJG.js → schedules-BZCt6hXe.js} +0 -0
- /package/dist/assets/{schedules-CpR8IZ0O.js → schedules-Capmqn71.js} +0 -0
- /package/dist/assets/{schedules-CjtoHUii.js → schedules-DDJ36QQM.js} +0 -0
- /package/dist/assets/{schedules-jUeeTvGp.js → schedules-DO26F1mH.js} +0 -0
- /package/dist/assets/{signup-onboarding-handoff-DsARDCO5.js → signup-onboarding-handoff-CEICxhlG.js} +0 -0
- /package/dist/assets/{terminal-BkBRbIo0.js → terminal-1uiH9Lk0.js} +0 -0
- /package/dist/assets/{terminal-DOjJsvsr.js → terminal-BKHabeoN.js} +0 -0
- /package/dist/assets/{terminal-BDTudyuW.js → terminal-CWSI_cvE.js} +0 -0
- /package/dist/assets/{terminal-DzafX5hx.js → terminal-DHtM2WSE.js} +0 -0
- /package/dist/assets/{usage-window-C3F8jUQI.js → usage-window-DA_JAjjs.js} +0 -0
- /package/dist/assets/{xterm-BQMgK3JF.js → xterm-DuUTQzS6.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-Cb7BiyPE.js → xterm-addon-fit-DuSb5pvT.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Eb as e}from"./app-DFXcEvsi.js";async function t(){return e()?await window.vellum?.app.versionInfo()??null:null}async function n(){e()&&await window.vellum?.app.openWebsite()}export{n,t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Tb as t}from"./app-DFXcEvsi.js";import{f as n,x as r}from"./react-B9IgSVeK.js";var i=e(r(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(`${t.settings.debug}?tab=archive`,{replace:!0})},[e]),null}export{a as ArchiveRedirectPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cx as t,Hh as n,Lb as r,Pb as i,Vd as a,bm as o,et as s,rd as c}from"./app-DFXcEvsi.js";import{I as l,Zn as u,j as d}from"./vendor-DYOeoIwg.js";import{t as f,x as p}from"./react-B9IgSVeK.js";import{qn as m}from"./icons-QG1KAFmx.js";import"./environment-store-7mW8BRRm.js";var h=e(p(),1),g=f();function _({value:e,max:t,caption:n}){let r=t>0?Math.max(0,Math.min(e/t*100,100)):0,i=r>90;return(0,g.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,g.jsx)(`div`,{className:`h-2 w-full overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,g.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-200`,style:{width:`${r}%`,backgroundColor:i?`var(--system-negative-strong)`:`var(--system-positive-strong)`}})}),n&&(0,g.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:n})]})}var v=7,y=2e3;function b(e){let t=(0,h.useRef)(0),n=(0,h.useRef)(null),[r,i]=(0,h.useState)(null),a=(0,h.useCallback)(()=>{if(t.current+=1,t.current>=v){t.current=0;let r=c.getState(),a=!r.settingsDeveloperNav;r.setFlag(`settingsDeveloperNav`,a,e),i(l(a?`settings:devModeVersionUnlock.enabled`:`settings:devModeVersionUnlock.disabled`)),n.current!==null&&clearTimeout(n.current),n.current=setTimeout(()=>{i(null),n.current=null},y)}},[e]);return(0,h.useEffect)(()=>()=>{n.current!==null&&clearTimeout(n.current)},[]),{onTap:a,message:r}}function x({version:e,loading:t,assistantId:n}){let{t:r}=d(`settings`),{onTap:i,message:a}=b(n);return t?(0,g.jsxs)(`span`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,g.jsx)(m,{className:`h-4 w-4 animate-spin`}),r(`devModeVersionUnlock.loading`)]}):e?(0,g.jsxs)(`div`,{children:[(0,g.jsx)(`button`,{type:`button`,className:`break-all text-left text-body-medium-lighter text-[var(--content-default)]`,onClick:i,children:e}),a&&(0,g.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-accent)]`,children:a})]}):(0,g.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`—`})}var S=`currentAssistant`,C=4e3,w=9e4;function T(e,t){return(e.memory?.maxMb??null)!==(t.memory?.maxMb??null)||(e.cpu?.maxCores??null)!==(t.cpu?.maxCores??null)}function E(e,t,n){return t===null||n>=t.until?!1:e===void 0||t.baseline===null?C:T(e,t.baseline)?!1:C}function D(){let e=s(),{data:c=null,isLoading:d,refetch:f}=u({queryKey:[S,e],queryFn:async()=>{let t=await n(e);return t.ok?t.data:null},retry:!1}),p=o(),m=(0,h.useMemo)(()=>a({path:{assistant_id:e}}),[e]),[g,_]=(0,h.useState)(null),{data:v=null,isLoading:y,isFetching:b,error:x,refetch:C}=u({...m,enabled:p===`ready`,retry:!1,staleTime:0,refetchInterval:e=>E(e.state.data,g,Date.now())}),T=y||p===`resolving`,D=g!==null;return(0,h.useEffect)(()=>{x===null||v!==null||r(x)||(i(x,{context:`fetch_assistant_healthz`}),t.error(l(`settings:assistantStatusPanel.loadHealthzFailed`)))},[x,v]),(0,h.useEffect)(()=>{if(g===null)return;if(g.baseline===null&&v!==null){_({...g,baseline:v});return}if(E(v??void 0,g,Date.now())===!1){_(null);return}let e=setTimeout(()=>_(null),Math.max(0,g.until-Date.now()));return()=>clearTimeout(e)},[g,v]),(0,h.useEffect)(()=>{_(null)},[e]),{assistant:c,assistantLoading:d,healthz:v,healthzLoading:T,healthzFetching:b,healthzPolling:D,refetch:(0,h.useCallback)(async()=>{await Promise.all([f(),C()])},[f,C]),refetchUntilResized:(0,h.useCallback)(e=>{f(),_({baseline:e,until:Date.now()+w})},[f])}}function O(e){return e>=1024?`${(e/1024).toFixed(1)} GB`:`${e.toFixed(0)} MB`}export{_ as a,b as i,D as n,x as r,O as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Ap as e,wp as t}from"./app-DFXcEvsi.js";export{t as useAuthStore,e as whenPlatformSessionSettled};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Eb as e,Hr as t,Ux as n,hs as r}from"./app-DFXcEvsi.js";import{j as i}from"./vendor-DYOeoIwg.js";import{n as a,t as o}from"./react-B9IgSVeK.js";var s=o();function c({children:e,animateAvatarWaveIn:n=!1,fillsViewport:r=!1}){let i=(0,s.jsx)(t,{avatarWave:`around`,animateAvatarWaveIn:n,children:(0,s.jsx)(`div`,{className:`mx-auto flex min-h-full w-full max-w-xl flex-col items-center px-6 pb-40 text-[var(--content-default)] md:pb-0`,children:(0,s.jsx)(`div`,{className:`flex flex-1 flex-col items-center justify-center`,children:e})})});return r?(0,s.jsx)(`div`,{className:`h-dvh`,children:i}):i}function l({error:e,children:t}){let{t:n}=i(`onboarding`);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(`h1`,{className:`text-5xl font-normal tracking-tight md:text-4xl lg:text-5xl xl:text-6xl`,style:{fontFamily:`var(--font-serif)`,animation:`fadeInUp 0.5s ease-out 0.1s both`},children:n(`welcome.title`)}),(0,s.jsx)(`p`,{className:`mt-3 text-center text-body-large-lighter text-[var(--content-tertiary)]`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:n(`welcome.body`)}),e&&(0,s.jsx)(`p`,{className:`mt-4 text-body-small-default text-[var(--system-negative-strong)]`,children:e}),(0,s.jsx)(`div`,{className:`${e?`mt-4`:`mt-15`} flex w-full max-w-sm flex-col gap-3`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:t})]})}function u({returnTo:t,secondary:o,errorContext:u,fillsViewport:d=!1}){let{t:f}=i(`onboarding`),{loading:p,error:m,login:h,cancel:g}=r(t,{errorContext:u}),_=e(),v=p&&!_,y=()=>{p&&g(),o.onSelect?.()},b=`h-11 text-base`,x=o.href?(0,s.jsx)(n,{variant:`ghost`,size:`regular`,fullWidth:!0,className:b,asChild:!0,children:(0,s.jsx)(a,{to:o.href,onClick:y,children:o.label})}):(0,s.jsx)(n,{variant:`ghost`,size:`regular`,fullWidth:!0,className:b,onClick:y,children:o.label});return(0,s.jsx)(c,{animateAvatarWaveIn:!0,fillsViewport:d,children:(0,s.jsxs)(l,{error:m,children:[(0,s.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,className:`h-11 text-base`,disabled:v,onClick:p&&_?g:()=>void h(),children:f(p&&_?`actions.cancel`:`actions.logIn`)}),x]})})}export{l as n,c as r,u as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Si as e}from"./app-DFXcEvsi.js";export{e as BUNDLED_COMPONENTS};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/local-mode-Dve-u3Zf.js","assets/app-DFXcEvsi.js","assets/rolldown-runtime-BM3Ffeng.js","assets/react-B9IgSVeK.js","assets/vendor-DYOeoIwg.js","assets/icons-QG1KAFmx.js","assets/app-BNL3dwNm.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{Hh as e,Oy as t,Pb as n,Sm as r,Uh as i,bg as a,cm as o,sg as s,wm as c,wv as l,xg as u,yg as d}from"./app-DFXcEvsi.js";import{v as f}from"./react-B9IgSVeK.js";import{c as p}from"./machine-sizes-Cyr9sICv.js";import{a as m,n as h,r as g}from"./provisioning-targets-B5flnyHy.js";async function _(e,t,i){try{await r(e)||await c(e,t),i.invalidateQueries({queryKey:o(e)})}catch(e){n(e,{context:`onboarding_avatar_sync`})}}function v(e){if(!e)return;let t=new Date().toISOString();l(e,t),f(()=>import(`./local-mode-Dve-u3Zf.js`).then(n=>n.markLockfileAssistantOnboarded(e,t)),__vite__mapDeps([0,1,2,3,4,5,6])).catch(e=>{console.warn(`Failed to stamp onboardedAt on the lockfile entry`,e)})}var y=3e3,b=3e5,x=9e4;async function S(n){let{assistantId:r,postCheckoutReturn:o,managedHatch:c,hatchStartMs:l,isCancelled:f,onResizeWait:_,registerTimer:v}=n,b=e=>new Promise(t=>{if(f()){t();return}let n=setTimeout(()=>{v?.(null),t()},e);v?.(n)});if(t()&&!c)return`ready`;let S=!1,C=()=>{S||d({throwOnError:!1}).then(e=>{e.data!=null&&!h(e.data)&&(S=!0)}).catch(()=>{})},w=async()=>{for(;!f();){try{if((await i(r)).ok)return`ready`}catch{}if(Date.now()-l>=3e5)return`health_timeout`;await b(y)}return`ready`},T=Date.now()+x,E=null;for(;!f();){C();let e=`unknown`;try{let t=await u({throwOnError:!1});if(f())return`ready`;t.data&&(e=t.data.plan_id===`pro`?`pro`:`non_pro`)}catch{}try{let e=await a({throwOnError:!1});if(f())return`ready`;let t=e.data;t&&(E={machineSize:p(t.max_machine_tier),storageGib:t.selected_storage_gib??null})}catch{}let t=E!=null&&(E.machineSize!=null||E.storageGib!=null);if(e===`non_pro`&&!o)return`ready`;if(e===`pro`&&t)break;if(Date.now()>=T)return w();await b(y)}if(f())return`ready`;for(_?.();!f();){C();let t=null;try{let n=await e(r);if(f())return`ready`;n.ok&&(t={machineSize:n.data.machine_size??null,storageGib:n.data.provisioned_storage_gib??null})}catch{}let n=!0;try{let e=await s({path:{id:r},throwOnError:!1});if(f())return`ready`;e.data&&(n=g(e.data))}catch{n=!0}if(m(E,t)&&!n||Date.now()>=T)break;await b(y)}return f()?`ready`:w()}function C(e){return e===`windows`?`actions.downloadWindowsApp`:`actions.downloadMacOSApp`}function w(e){let t=e=>e[Math.floor(Math.random()*e.length)];return{bodyShape:t(e.bodyShapes).id,eyeStyle:t(e.eyeStyles).id,color:t(e.colors).id}}export{S as a,y as i,C as n,v as o,b as r,_ as s,w as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{vm as e}from"./app-DFXcEvsi.js";var t=100;async function n({isCancelled:n,registerTimer:r,alsoReady:i,onWaiting:a}={}){let o=Date.now(),s=!1,c=()=>new Promise(e=>{if(n?.()===!0){e();return}let i=setTimeout(()=>{r?.(null),e()},t);r?.(i)});for(;;){if(n?.()===!0)return`cancelled`;let t=e();if(t===`ready`&&(i?.()??!0))return`ready`;if(!s&&t===`ready`&&(s=!0,o=Date.now()),a?.(t)!==!0&&(t===`unavailable`||Date.now()-o>=5e3))return`failed`;await c()}}export{n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cr as t,Hx as n,Jn as r,Pb as i,Sr as a,Tr as o,nn as s,rn as c,wr as l}from"./app-DFXcEvsi.js";import{j as u}from"./vendor-DYOeoIwg.js";import{t as d,x as f}from"./react-B9IgSVeK.js";import{t as p}from"./detail-panel-stop-button-BqhRaB6y.js";import{t as m}from"./status-badge-pill-Dw3L9IOE.js";import{r as h,t as g}from"./detail-primitives-DIBzx3XJ.js";var _=e(f(),1),v=d();function y({status:e}){return(0,v.jsx)(m,{color:a(e),label:t(e)})}function b({entry:e,onClose:t}){let{t:a}=u(`chat`),d=o(e.status),f=!d,m=f&&e.output!==void 0&&e.output!==``,b=f&&e.exitCode!=null,[x,S]=(0,_.useState)(!1),C=(0,_.useCallback)(()=>{S(!0),s(e.id).catch(e=>{S(!1),i(e,{context:`BackgroundTaskDetailPanel.stop`})})},[e.id]);return(0,v.jsxs)(r,{Glyph:c(e.toolName),title:l(e.status),headerTrailing:(0,v.jsx)(y,{status:e.status}),headerActions:d?(0,v.jsx)(p,{onStop:C,ariaLabel:a(`backgroundTaskDetailPanel.stopCommandAria`),disabled:x}):void 0,closeVariant:`outlined`,closeLabel:a(`backgroundTaskDetailPanel.closeDetail`),onClose:t,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(h,{children:a(`backgroundTaskDetailPanel.command`)}),(0,v.jsx)(g,{text:e.command})]}),m&&(0,v.jsxs)(`div`,{className:`mt-5`,children:[(0,v.jsx)(h,{children:a(`backgroundTaskDetailPanel.output`)}),(0,v.jsx)(g,{text:e.output})]}),b&&(0,v.jsx)(n,{variant:`body-small-default`,as:`p`,className:`mt-2 text-[var(--content-tertiary)]`,children:a(`backgroundTaskDetailPanel.exitCode`,{code:e.exitCode})})]})}export{b as BackgroundTaskDetailPanel};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/native-file-BKR4KkJt.js","assets/app-DFXcEvsi.js","assets/rolldown-runtime-BM3Ffeng.js","assets/react-B9IgSVeK.js","assets/vendor-DYOeoIwg.js","assets/icons-QG1KAFmx.js","assets/app-BNL3dwNm.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{o as e,t}from"./rolldown-runtime-BM3Ffeng.js";import{Al as n,Bf as r,Bx as i,Cd as a,Cf as o,Cl as s,Cx as c,Dl as l,Dx as u,Ed as d,Eh as f,El as p,F as m,F_ as h,Fl as g,Gl as _,Ha as v,Hb as y,Hl as b,Hx as x,I as S,Ic as C,Il as w,Ix as T,Jl as E,Ju as D,Kl as O,Kx as k,L as A,Lf as j,Ll as M,Ml as N,Mx as ee,N as P,Nl as F,Nt as te,Nx as ne,Ol as re,Op as ie,Ox as I,P as L,Pb as R,Pl as ae,Qm as z,Qr as B,Rb as oe,Rf as se,Rl as ce,Sl as le,Sx as ue,Tb as V,Tl as de,Tx as H,Ua as fe,Ux as U,Vp as pe,Vx as me,Wl as he,X_ as ge,Xl as _e,Y_ as ve,Yu as ye,Z_ as be,Zl as xe,_c as Se,_g as Ce,bl as we,bp as Te,cu as Ee,d as De,et as Oe,gc as ke,gg as Ae,gv as je,hc as Me,jl as Ne,kh as Pe,kl as Fe,ni as Ie,px as Le,ql as Re,qt as ze,ri as Be,rm as Ve,rx as He,su as Ue,tx as We,un as Ge,vg as Ke,wl as qe,wp as Je,xl as Ye,xp as Xe,ym as Ze,yp as Qe,zb as $e,zf as et,zx as tt}from"./app-DFXcEvsi.js";import{I as W,Jn as nt,Q as rt,Zn as G,er as it,j as K,or as at,qn as ot}from"./vendor-DYOeoIwg.js";import{_ as st,d as ct,f as lt,n as ut,t as dt,v as ft,x as pt}from"./react-B9IgSVeK.js";import{E as mt,F as ht,It as gt,Ja as _t,Ki as vt,Q as yt,Ra as bt,Ri as xt,Ui as St,Xr as Ct,fi as wt,i as Tt,ni as Et,oi as Dt,qn as q,ur as Ot,wr as kt}from"./icons-QG1KAFmx.js";import{A as At,B as jt,C as Mt,D as Nt,I as Pt,L as Ft,O as It,P as Lt,R as Rt,T as zt,V as Bt,_ as Vt,a as Ht,b as Ut,c as Wt,d as Gt,f as Kt,g as qt,h as Jt,i as Yt,j as Xt,k as Zt,l as Qt,m as $t,n as en,o as tn,p as nn,r as rn,s as an,t as on,u as sn,v as cn,x as ln,y as un}from"./use-checkout-dismiss-refresh-DB9VdW8-.js";import{n as dn,t as fn}from"./android-billing-handoff-BVx_2Qs0.js";import{t as pn}from"./checkout-return-target-CrM-Nhda.js";import{t as mn}from"./add-credits-modal-IIKnKS9l.js";import{t as hn}from"./referral-modal-C5ePy9XT.js";import{t as gn}from"./link-click-BYgcUBN3.js";import{t as _n}from"./await-org-header-settled-euao9G4w.js";import{a as vn,i as yn,n as bn,r as xn}from"./usage-window-DA_JAjjs.js";var Sn=_t(`crown`,[[`path`,{d:`M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z`,key:`1vdc57`}],[`path`,{d:`M5 21h14`,key:`11awu3`}]]),Cn=_t(`tree-palm`,[[`path`,{d:`M13 8c0-2.76-2.46-5-5.5-5S2 5.24 2 8h2l1-1 1 1h4`,key:`foxbe7`}],[`path`,{d:`M13 7.14A5.82 5.82 0 0 1 16.5 6c3.04 0 5.5 2.24 5.5 5h-3l-1-1-1 1h-3`,key:`18arnh`}],[`path`,{d:`M5.89 9.71c-2.15 2.15-2.3 5.47-.35 7.43l4.24-4.25.7-.7.71-.71 2.12-2.12c-1.95-1.96-5.27-1.8-7.42.35`,key:`ywahnh`}],[`path`,{d:`M11 15.5c.5 2.5-.17 4.5-1 6.5h4c2-5.5-.5-12-1-14`,key:`ft0feo`}]]),J=e(pt(),1);function wn(e){return e.get(`tab`)===`billing`||e.has(`adjust_plan`)||e.has(`pro_onboarding`)||e.has(`billing_status`)||e.has(`session_id`)}function Tn(e,t){return e===`full`?!0:e===`disabled`?wn(t):!1}var Y=dt();function En({open:e,onOpenChange:t,amountUsd:n}){let{t:r}=K(`settings`),i=it(),a=nt(p()),o=a.isPending,s=L(n);return(0,Y.jsx)(H.Root,{open:e,onOpenChange:e=>{!e&&o||t(e)},children:(0,Y.jsxs)(H.Content,{size:`sm`,"data-testid":`checkout-bonus-modal`,children:[(0,Y.jsx)(H.Header,{icon:kt,children:(0,Y.jsx)(H.Title,{children:r(`checkoutBonusModal.title`,{amount:s})})}),(0,Y.jsx)(H.Body,{children:(0,Y.jsx)(x,{as:`p`,variant:`body-medium-default`,className:`text-(--content-secondary)`,children:r(`checkoutBonusModal.body`,{amount:s})})}),(0,Y.jsxs)(H.Footer,{children:[(0,Y.jsx)(H.Close,{asChild:!0,children:(0,Y.jsx)(U,{variant:`outlined`,disabled:o,children:r(`checkoutBonusModal.decline`)})}),(0,Y.jsx)(U,{variant:`primary`,leftIcon:o?(0,Y.jsx)(q,{className:`animate-spin`}):void 0,onClick:()=>{o||a.mutate({},{onSuccess:e=>{e.status===`granted`?(c.success(r(`checkoutBonusModal.grantedToast`,{amount:L(e.amount_usd)})),i.invalidateQueries(Re())):c.info(r(`checkoutBonusModal.unavailableToast`)),i.invalidateQueries(l()),t(!1)},onError:()=>{c.error(r(`checkoutBonusModal.errorToast`))}})},disabled:o,"data-testid":`claim-checkout-bonus-button`,children:r(`checkoutBonusModal.claim`,{amount:s})})]})]})})}function Dn(e){let t=Ze(),n=it(),r=e!==null,{data:i,dataUpdatedAt:a}=G({...l(),enabled:r&&t,staleTime:0,refetchOnWindowFocus:!1}),o=(0,J.useRef)(e);return(0,J.useEffect)(()=>{let t=o.current;o.current=e,!(e===null||e===t||t===null)&&n.invalidateQueries(l())},[e,n]),{showOffer:r&&i?.eligible===!0&&a>=e,amountUsd:i?.amount_usd??`0.00`}}function On(e){if(!e)return{};let t={};for(let n of e.callSites)!n.id||!n.displayName||(t[n.id]={id:n.id,displayName:n.displayName,description:n.description,domain:n.domain});return t}function kn(e){return Number.isFinite(e)?Math.round(e).toLocaleString():`0`}function An(e){return!Number.isFinite(e)||e===0?`$0.00`:`$${e.toFixed(2)}`}var jn=`model`,Mn={model:`Model`,task:`Action`,profile:`Profile`},Nn=[{value:`model`,label:Mn.model},{value:`task`,label:Mn.task},{value:`profile`,label:Mn.profile}];function Pn(e){return e===`model`||e===`task`||e===`profile`}function Fn(e){switch(e){case`model`:return`model`;case`task`:return`call_site`;case`profile`:return`inference_profile`}}function In(e){switch(e){case`model`:return`model`;case`task`:return`llm_call_site`;case`profile`:return`inference_profile`}}function Ln(e,t,n){if(e===`task`){let e=t.groupKey;return e?n.callSites?.[e]?.displayName??t.group:t.group}if(e===`profile`){let e=t.groupKey;return e?n.profiles?.[e]?.displayName??t.group:t.group||`Default / Unset`}return t.group}function Rn(e,t,n){return!e||e.length===0?[]:e.map(e=>{let r=Ln(t,e,n);return r===e.group?e:{...e,group:r}})}var zn=6,Bn=`value:`,Vn=`null:`;function Hn(e,t=`schedule`){return e===null?`${Vn}${Pn(t)?Fn(t):t}`:`${Bn}${e}`}function Un(e){return[...e].sort((e,t)=>{if(e.date!==t.date)return e.date<t.date?-1:1;let n=Jn(e.bucketId),r=Jn(t.bucketId);return n===r?e.bucketId===t.bucketId?0:e.bucketId<t.bucketId?-1:1:n-r})}function Wn(e){return e.map(e=>({bucketId:e.bucketId,date:e.date,displayLabel:e.displayLabel,totalInputTokens:e.totalInputTokens,totalOutputTokens:e.totalOutputTokens,totalEstimatedCostUsd:e.totalEstimatedCostUsd,eventCount:e.eventCount,groups:{}}))}function Gn(e,t,n){return t!==`task`&&t!==`profile`?[...e]:e.map(e=>{let r=!1,i={};for(let[a,o]of Object.entries(e.groups)){let e=Ln(t,qn(o),n);e===o.group?i[a]=o:(r=!0,i[a]={...o,group:e})}return r?{...e,groups:i}:e})}function Kn(e){let t=new Map;for(let n of e)for(let[e,r]of Object.entries(n.groups)){let n=t.get(e);t.set(e,{label:n?.label??r.group,totalEstimatedCostUsd:(n?.totalEstimatedCostUsd??0)+r.totalEstimatedCostUsd})}let n=Array.from(t.entries()).sort(([e,t],[n,r])=>t.totalEstimatedCostUsd===r.totalEstimatedCostUsd?t.label===r.label?e===n?0:e<n?-1:1:t.label<r.label?-1:1:r.totalEstimatedCostUsd-t.totalEstimatedCostUsd).map(([e,t],n)=>({seriesKey:e,label:t.label,totalEstimatedCostUsd:t.totalEstimatedCostUsd,colorIndex:n}));return{items:n,visibleItems:n.slice(0,zn)}}function qn(e){return{group:e.group,groupId:e.groupKey,groupKey:e.groupKey,totalInputTokens:e.totalInputTokens,totalOutputTokens:e.totalOutputTokens,totalCacheCreationTokens:0,totalCacheReadTokens:0,totalEstimatedCostUsd:e.totalEstimatedCostUsd,eventCount:e.eventCount,turnCount:null}}function Jn(e){let t=e.lastIndexOf(`|`);if(t<0)return 0;let n=Number(e.slice(t+1));return Number.isFinite(n)?n:0}var Yn=140,Xn=40,Zn=28,Qn=2,$n=2,er=1e-6,tr=12,nr=220,rr=56,ir=[40,80,60,100,50,70,30],ar=[18,24,28,35,42,50,64,78,92,106,118,96,84,74,68,80,88,72,56,48,40,34,26,20],or=[`var(--usage-trend-stack-positive, var(--system-positive-strong, #10b981))`,`var(--usage-trend-stack-info, var(--system-info-strong, #3b82f6))`,`var(--usage-trend-stack-mid, var(--system-mid-strong, #f59e0b))`,`var(--usage-trend-stack-secondary, var(--content-secondary, #6b7280))`,`var(--usage-trend-stack-negative, var(--system-negative-strong, #f87171))`,`var(--usage-trend-stack-tertiary, var(--content-tertiary, #9ca3af))`];function sr(e){return or[e%or.length]}function cr(e){return e.displayLabel?e.displayLabel:e.date}function lr(e,t){let n=e+tr,r=t+tr;return n+nr>window.innerWidth&&(n=e-nr-tr),r+rr>window.innerHeight&&(r=t-rr-tr),{x:n,y:r}}function ur({buckets:e,isHourly:t,legendItems:n}){let{t:r}=K(`settings`),[i,a]=(0,J.useState)(null),o=(0,J.useMemo)(()=>Un(e),[e]),s=(0,J.useMemo)(()=>Kn(e),[e]),c=n??s.items,l=n??s.visibleItems,u=(0,J.useMemo)(()=>o.reduce((e,t)=>Math.max(e,t.totalEstimatedCostUsd),0),[o]),d=(0,J.useCallback)((e,t)=>{let n=lr(e.clientX,e.clientY);a({...t,x:n.x,y:n.y})},[]),f=(0,J.useCallback)(()=>a(null),[]);if(o.length===0){let e=(0,Y.jsx)(hr,{title:r(t?`usageTrendChart.noHourlyData`:`usageTrendChart.noDailyData`),subtitle:r(`usageTrendChart.noUsageInRange`)});return l.length===0?e:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[e,(0,Y.jsx)(mr,{items:l})]})}let p=t?Zn:Xn;return(0,Y.jsxs)(`div`,{className:`overflow-x-auto`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Y.jsx)(`div`,{className:`flex items-end gap-2`,style:{height:`${Yn}px`},"aria-hidden":`true`,children:o.map(e=>{let t=u>0?e.totalEstimatedCostUsd/u:0,r=Math.max(Qn,Yn*t);return(0,Y.jsx)(`div`,{className:`flex items-end`,style:{width:`${p}px`,minWidth:`${p}px`,height:`${r}px`,opacity:e.totalEstimatedCostUsd>0?1:.3},title:`${cr(e)}: ${An(e.totalEstimatedCostUsd)}`,"data-usage-series-bar":e.bucketId,children:(0,Y.jsx)(fr,{bucket:e,height:r,legendItems:c,hasLegendOverride:n!=null,onSegmentHover:d,onSegmentLeave:f})},e.bucketId)})}),(0,Y.jsx)(`div`,{className:`flex items-start gap-2`,children:o.map(e=>(0,Y.jsxs)(`div`,{className:`flex flex-col items-center gap-0.5`,style:{width:`${p}px`,minWidth:`${p}px`},children:[(0,Y.jsx)(`span`,{className:`truncate text-[10px]`,style:{color:`var(--content-secondary)`},children:An(e.totalEstimatedCostUsd)}),(0,Y.jsx)(`span`,{className:`truncate text-[10px]`,style:{color:`var(--content-tertiary)`},children:cr(e)})]},e.bucketId))}),l.length>0?(0,Y.jsx)(mr,{items:l}):null]}),i?(0,Y.jsx)(pr,{tooltip:i}):null]})}function dr({isHourly:e}){let t=e?ar:ir,n=e?Zn:Xn;return(0,Y.jsx)(`div`,{className:`flex items-end gap-2`,style:{height:`${Yn}px`},"aria-hidden":`true`,children:t.map((e,t)=>(0,Y.jsx)(`div`,{className:`rounded-sm`,style:{width:`${n}px`,height:`${e}px`,background:`color-mix(in srgb, var(--border-base) 40%, transparent)`}},t))})}function fr({bucket:e,height:t,legendItems:n,hasLegendOverride:r,onSegmentHover:i,onSegmentLeave:a}){let o=Object.keys(e.groups).length>0,s=n.filter(e=>(e.state??`active`)===`active`).flatMap(t=>{let n=e.groups[t.seriesKey];return!n||n.totalEstimatedCostUsd<=0?[]:[{item:t,value:n}]});if(s.length===0&&!o&&!r){let n=cr(e),r={label:W(`settings:usageTrendChart.total`),bucketLabel:n,cost:An(e.totalEstimatedCostUsd)};return(0,Y.jsx)(`div`,{className:`w-full rounded-sm`,title:`${r.label}: ${r.cost}`,onMouseEnter:e=>i(e,r),onMouseMove:e=>i(e,r),onMouseLeave:a,style:{height:`${t}px`,background:sr(0)},"data-usage-series-segment-label":r.label,"data-usage-fallback-segment":`true`})}return s.length===0?null:(0,Y.jsx)(`div`,{className:`flex w-full flex-col-reverse overflow-hidden rounded-sm`,style:{height:`${t}px`},"data-usage-series-stack":e.bucketId,children:s.map(({item:n,value:r})=>{let o={label:n.label,bucketLabel:cr(e),cost:An(r.totalEstimatedCostUsd)};return(0,Y.jsx)(`div`,{title:`${o.label}: ${o.cost}`,onMouseEnter:e=>i(e,o),onMouseMove:e=>i(e,o),onMouseLeave:a,style:{height:`${Math.max($n,t*r.totalEstimatedCostUsd/Math.max(e.totalEstimatedCostUsd,er))}px`,background:sr(n.colorIndex)},"data-usage-series-segment":n.seriesKey,"data-usage-series-segment-label":n.label,"data-usage-series-color-index":n.colorIndex},n.seriesKey)})})}function pr({tooltip:e}){return(0,Y.jsxs)(`div`,{className:`pointer-events-none fixed z-50 max-w-[220px] rounded-md border px-2 py-1 shadow-xl`,style:{left:`${e.x}px`,top:`${e.y}px`,background:`var(--surface-overlay, var(--surface-lift))`,borderColor:`var(--border-base)`},"aria-hidden":`true`,children:[(0,Y.jsx)(`div`,{className:`truncate text-body-small-default`,style:{color:`var(--content-default)`},children:e.label}),(0,Y.jsxs)(`div`,{className:`truncate text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[e.bucketLabel,` · `,e.cost]})]})}function mr({items:e}){return(0,Y.jsx)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1 pt-1`,children:e.map(e=>{let t=e.state??`active`,n=t===`inactive`;return(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,"data-usage-legend-state":t,children:[(0,Y.jsx)(`span`,{className:`h-[7px] w-[7px] shrink-0 rounded-full`,style:{background:n?`var(--content-tertiary)`:sr(e.colorIndex),opacity:n?.45:1},"aria-hidden":`true`,"data-usage-series-color-index":e.colorIndex}),(0,Y.jsx)(`span`,{className:n?`truncate text-[10px] line-through`:`truncate text-[10px]`,style:{color:`var(--content-tertiary)`,opacity:n?.65:1},children:e.label})]},e.seriesKey)})})}function hr({title:e,subtitle:t}){return(0,Y.jsxs)(`div`,{className:`flex flex-col items-center justify-center rounded-md py-12 text-center`,style:{color:`var(--content-tertiary)`},children:[(0,Y.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e}),(0,Y.jsx)(`p`,{className:`mt-1 text-body-small-default`,children:t})]})}function gr(e){return Pn(e)?Fn(e):e}function _r(e){return xr({from:e.from,to:e.to},e.scheduleId)}function vr(e){return xr({from:e.from,to:e.to,...e.granularity?{granularity:e.granularity}:{},...e.tz?{tz:e.tz}:{}},e.scheduleId)}function yr(e){return xr({from:e.from,to:e.to,groupBy:gr(e.groupBy)},e.scheduleId)}function br(e){return xr({from:e.from,to:e.to,granularity:e.granularity,groupBy:gr(e.groupBy),...e.tz?{tz:e.tz}:{}},e.scheduleId)}function xr(e,t){return t?{...e,scheduleId:t}:e}function Sr(e){return[`${kn(e.totalInputTokens)} direct`,`${kn(e.totalCacheCreationTokens)} cache created`,`${kn(e.totalCacheReadTokens)} cache read`,`${kn(e.totalOutputTokens)} out`].join(` / `)}function Cr(e){return!Number.isFinite(e)||e===0?`0`:e>=1e6||e>=999950&&e<1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:e.toLocaleString()}function wr(e){return`${Cr(e.totalInputTokens+e.totalCacheCreationTokens+e.totalCacheReadTokens)} in / ${Cr(e.totalOutputTokens)} out`}var Tr=`task`,Er=`model`,Dr=new Set([400,404,422]),Or=3,kr=new Set([`today`,`yesterday`,`7d`,`30d`,`90d`,`all`]),Ar=new Set([`actor`,`provider`,`model`,`conversation`,`task`,`profile`,`schedule`]),jr={task:Mn.task,profile:Mn.profile,model:Mn.model,provider:`Provider`,actor:`Actor`,conversation:`Conversation`,schedule:`Schedule`},Mr=[{value:`task`,label:jr.task},{value:`profile`,label:jr.profile},{value:`model`,label:jr.model},{value:`provider`,label:jr.provider},{value:`schedule`,label:jr.schedule},{value:`conversation`,label:jr.conversation}];function Nr(e){let t=e.get(`range`),n=e.get(`groupBy`),r=Lr(n)?n:Tr;return{range:Ir(t)?t:`7d`,groupBy:r,scheduleId:r===`schedule`?Pr(e):void 0}}function Pr(e){let t=e.get(`scheduleId`);if(!(!t||t.trim().length===0))return t}function Fr(e,t){let n=new URLSearchParams(e);return t.range!==void 0&&n.set(`range`,t.range),t.groupBy!==void 0&&n.set(`groupBy`,t.groupBy),t.scheduleId!==void 0&&(t.scheduleId===null||t.scheduleId.trim().length===0?n.delete(`scheduleId`):n.set(`scheduleId`,t.scheduleId)),n.get(`groupBy`)!==`schedule`&&n.delete(`scheduleId`),n}function Ir(e){return e!=null&&kr.has(e)}function Lr(e){return e!=null&&Ar.has(e)}function Rr(e){return e!==`conversation`}function zr(e,t){return e!==`task`&&e!==`profile`?!1:Vr(t)}function Br(e,t){return!Vr(t)&&e<Or}function Vr(e){return e instanceof oe&&Dr.has(e.status)}function Hr({requestedGranularity:e,isLoading:t,buckets:n}){return e===`hourly`&&(t||!n||n.length===0||n.some(Ur))?`hourly`:`daily`}function Ur(e){return e.bucketId.includes(`|`)||Wr(e.date)}function Wr(e){return/^\d{4}-\d{2}-\d{2} ([01]\d|2[0-3]):00$/.test(e)}function Gr(e,t,n=Date.now()){return xn(e,t,n)}function Kr(e){return e===`today`||e===`yesterday`?`hourly`:`daily`}function qr({prompt:e,children:t,variant:n=`outlined`,size:r=`regular`,className:i}){let a=lt(),o=(0,J.useCallback)(()=>{ke(a,{prompt:e})},[a,e]);return(0,Y.jsx)(U,{variant:n,size:r,leftIcon:(0,Y.jsx)(yt,{}),onClick:o,className:i,children:t})}var Jr={today:`usageTab.rangeToday`,yesterday:`usageTab.rangeYesterday`,"7d":`usageTab.range7d`,"30d":`usageTab.range30d`,"90d":`usageTab.range90d`,all:`usageTab.rangeAll`},Yr={task:`usageTab.groupByTask`,profile:`usageTab.groupByProfile`,model:`usageTab.groupByModel`,provider:`usageTab.groupByProvider`,actor:`usageTab.groupByActor`,conversation:`usageTab.groupByConversation`,schedule:`usageTab.groupBySchedule`};function Xr(e,t){return e(Yr[t])}function Zr(e,t,n){let r=e(t===`hourly`?`usageTab.hourlyTrend`:`usageTab.dailyTrend`);if(!n||n===`conversation`)return r;let i=Xr(e,n);return e(t===`hourly`?`usageTab.hourlyTrendBy`:`usageTab.dailyTrendBy`,{group:i})}var Qr=300*1e3,$r=[`Please load the llm-cost-optimizer skill.`,`Analyze my recent LLM usage and explain the biggest cost contributors by call site, model, and profile.`,`Check my current llm.default, llm.callSites, and llm.profiles.`,`Give me a concise summary of what is driving cost and what you would optimize first.`,`Do not change config yet.`].join(` `),ei=[`Please load the llm-cost-optimizer skill.`,`Analyze my recent LLM usage and current LLM config, then recommend the safest cost-optimization changes.`,`If changes are clearly safe, show me the exact config commands you would run and ask for confirmation before applying them.`].join(` `);function ti({assistantId:e}){let{t}=K(`settings`),[n,i]=st(),{range:s,groupBy:c,scheduleId:l}=(0,J.useMemo)(()=>Nr(n),[n]),u=fe(),f=(0,J.useCallback)(e=>{i(t=>Fr(t,e),{replace:!0})},[i]),p=(0,J.useMemo)(()=>Gr(s,u),[s,u]),m=(0,J.useMemo)(()=>Kr(s),[s]),g=G({queryKey:o({path:{assistant_id:e}}),queryFn:()=>De(e),staleTime:1e4}),_=(0,J.useCallback)(e=>{f({range:e})},[f]),v=G({...r({path:{assistant_id:e},query:_r({from:p.from,to:p.to,scheduleId:l})})}),y=G({queryKey:j({path:{assistant_id:e},query:yr({from:p.from,to:p.to,groupBy:c,scheduleId:l})}),queryFn:async({signal:t})=>{try{let{data:n}=await h({path:{assistant_id:e},query:yr({from:p.from,to:p.to,groupBy:c,scheduleId:l}),signal:t,throwOnError:!0});return{groupBy:c,response:n}}catch(n){if(!zr(c,n))throw n;let{data:r}=await h({path:{assistant_id:e},query:yr({from:p.from,to:p.to,groupBy:Er,scheduleId:l}),signal:t,throwOnError:!0});return{groupBy:Er,response:r}}},retry:Br}),b=y.data?.groupBy??c;(0,J.useEffect)(()=>{b!==c&&f({groupBy:b,scheduleId:b===`schedule`?void 0:null})},[b,c,f]);let x=Rr(b)?b:void 0,S=G({...et({path:{assistant_id:e},query:br({from:p.from,to:p.to,granularity:m,groupBy:x??`actor`,tz:u,scheduleId:l})}),enabled:!!x,retry:Br}),C=G({...se({path:{assistant_id:e},query:vr({from:p.from,to:p.to,granularity:m,tz:u,scheduleId:l})}),enabled:!x||S.isError}),w=G({...d({path:{assistant_id:e}}),enabled:b===`task`,staleTime:1/0}),T=G({...a({path:{assistant_id:e}}),select:vn,enabled:b===`profile`,staleTime:Qr}),E=(0,J.useMemo)(()=>({callSites:On(w.data),profiles:T.data??{}}),[w.data,T.data]),D=(0,J.useMemo)(()=>{let e=y.data;if(e)return Rn(e.response.breakdown,e.groupBy,E)},[y.data,E]),O=(0,J.useMemo)(()=>{if(!(!x||!S.data))return Gn(S.data.buckets,x,E)},[S.data,x,E]),k=(0,J.useMemo)(()=>{if(C.data)return Wn(C.data.buckets)},[C.data]),A=(0,J.useMemo)(()=>x?S.error?k?{isLoading:!1,error:null,data:k,refetch:C.refetch}:{isLoading:C.isLoading||!k&&!C.error,error:C.error??S.error,data:void 0,refetch:C.error?C.refetch:S.refetch}:{isLoading:S.isLoading,error:S.error,data:O,refetch:S.refetch}:{isLoading:C.isLoading,error:C.error,data:k,refetch:C.refetch},[k,C.error,C.isLoading,C.refetch,O,x,S.error,S.isLoading,S.refetch]),M=Hr({requestedGranularity:m,isLoading:A.isLoading,buckets:A.data}),N=M===`hourly`,ee=x&&S.error?void 0:b,P=(0,J.useMemo)(()=>{if(!(b!==`schedule`||!l))return ni(g.data,l,t)},[b,l,g.data,t]);return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,Y.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:t(`usageTab.title`)}),(0,Y.jsx)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:(0,Y.jsx)(ii,{range:s,onChange:_})})]}),(0,Y.jsx)(`section`,{"aria-label":t(`usageTab.totalsAriaLabel`),children:(0,Y.jsx)(oi,{query:v,skeleton:(0,Y.jsx)(li,{}),render:e=>(0,Y.jsx)(si,{totals:e})})}),(0,Y.jsx)(ai,{title:t(`usageTab.inferenceUsageTitle`),children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,Y.jsx)(`h4`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:Zr(t,M,ee)}),(0,Y.jsx)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:(0,Y.jsx)(ui,{value:b,onChange:e=>{f({groupBy:e,scheduleId:e===`schedule`?void 0:null})}})})]}),(0,Y.jsx)(oi,{query:A,skeleton:(0,Y.jsx)(dr,{isHourly:N}),render:e=>(0,Y.jsx)(ur,{buckets:e,isHourly:N,legendItems:P})})]})}),(0,Y.jsx)(di,{query:y,groups:D}),(0,Y.jsx)(ri,{})]})}function ni(e,t,n){let r=e??[];return[...r.some(e=>e.id===t)?[]:[{id:t,label:n(`usageTab.unknownSchedule`,{scheduleId:t})}],...r.map(e=>({id:e.id,label:e.name||e.id}))].map((e,n)=>({seriesKey:Hn(e.id,`schedule`),label:e.label,colorIndex:n,state:e.id===t?`active`:`inactive`}))}function ri(){let{t:e}=K(`settings`);return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Y.jsx)(`div`,{className:`h-px w-full`,style:{background:`linear-gradient(to right, transparent, var(--border-base), transparent)`}}),(0,Y.jsx)(ai,{title:e(`usageTab.costAssistantTitle`),subtitle:e(`usageTab.costAssistantSubtitle`),children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-md px-3 py-3 sm:flex-row sm:items-center`,children:[(0,Y.jsx)(qr,{prompt:$r,children:e(`usageTab.analyzeCostsButton`)}),(0,Y.jsx)(qr,{prompt:ei,variant:`ghost`,children:e(`usageTab.optimizeSettingsButton`)})]})})]})}function ii({range:e,onChange:t}){let{t:n}=K(`settings`);return(0,Y.jsx)(`div`,{className:`flex items-center`,children:(0,Y.jsx)(Le,{value:e,onChange:t,options:Object.entries(Jr).map(([e,t])=>({value:e,label:n(t)}))})})}function ai({title:e,subtitle:t,children:n}){return(0,Y.jsxs)(`section`,{className:`flex flex-col gap-3 rounded-md border px-4 py-4`,style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:[(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Y.jsx)(`h3`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),t?(0,Y.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:t}):null]}),n]})}function oi({query:e,skeleton:t,render:n}){let{t:r}=K(`settings`);return e.isLoading?(0,Y.jsx)(Y.Fragment,{children:t}):e.error?(0,Y.jsx)(_i,{message:e.error instanceof Error?e.error.message:r(`usageTab.failedToLoadUsage`),onRetry:()=>e.refetch()}):e.data?(0,Y.jsx)(Y.Fragment,{children:n(e.data)}):(0,Y.jsx)(Y.Fragment,{children:t})}function si({totals:e}){let{t}=K(`settings`);return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Y.jsx)(`span`,{style:{fontSize:`30px`,fontWeight:600,lineHeight:1,color:`var(--content-default)`},children:An(e.totalEstimatedCostUsd)}),(0,Y.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-secondary)`},children:t(`usageTab.costLabel`)})]}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Y.jsx)(`span`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:kn(e.eventCount)}),(0,Y.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-secondary)`},children:t(`usageTab.llmCallsLabel`)})]})]}),(0,Y.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 sm:grid-cols-4`,children:[(0,Y.jsx)(ci,{label:t(`usageTab.directInputTokensLabel`),value:kn(e.totalInputTokens)}),(0,Y.jsx)(ci,{label:t(`usageTab.outputTokensLabel`),value:kn(e.totalOutputTokens)}),(0,Y.jsx)(ci,{label:t(`usageTab.cacheCreatedLabel`),value:kn(e.totalCacheCreationTokens)}),(0,Y.jsx)(ci,{label:t(`usageTab.cacheReadLabel`),value:kn(e.totalCacheReadTokens)})]})]})}function ci({label:e,value:t}){return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1 rounded-md px-3 py-2`,style:{background:`color-mix(in srgb, var(--border-base) 15%, transparent)`},children:[(0,Y.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-default)`},children:t}),(0,Y.jsx)(`span`,{className:`text-label-medium-default`,style:{color:`var(--content-tertiary)`},children:e})]})}function li(){return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,"aria-hidden":`true`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Y.jsx)(hi,{width:140,height:30}),(0,Y.jsx)(hi,{width:90,height:12})]}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Y.jsx)(hi,{width:60,height:16}),(0,Y.jsx)(hi,{width:60,height:12})]})]}),(0,Y.jsx)(`div`,{className:`grid grid-cols-2 gap-3 sm:grid-cols-4`,children:Array.from({length:4}).map((e,t)=>(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1 rounded-md px-3 py-2`,style:{background:`color-mix(in srgb, var(--border-base) 15%, transparent)`},children:[(0,Y.jsx)(hi,{width:`50%`,height:12}),(0,Y.jsx)(hi,{width:`70%`,height:11})]},t))})]})}function ui({value:e,onChange:t}){let{t:n}=K(`settings`);return(0,Y.jsx)(`div`,{className:`flex items-center`,children:(0,Y.jsx)(Le,{value:e,onChange:t,menuAlign:`end`,menuMinWidth:196,options:Mr.map(e=>({value:e.value,label:Xr(n,e.value)}))})})}function di({query:e,groups:t}){let{t:n}=K(`settings`),[r,i]=(0,J.useState)(new Set),a=e=>{i(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};return(0,Y.jsx)(ai,{title:n(`usageTab.breakdownTitle`),children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(fi,{label:n(`usageTab.percentOfTotalLabel`),active:r.has(`pct`),onClick:()=>a(`pct`)}),(0,Y.jsx)(fi,{label:n(`usageTab.tokensLabel`),active:r.has(`tokens`),onClick:()=>a(`tokens`)}),(0,Y.jsx)(fi,{label:n(`usageTab.turnsLabel`),active:r.has(`turns`),onClick:()=>a(`turns`)})]}),(0,Y.jsx)(oi,{query:e,skeleton:(0,Y.jsx)(mi,{}),render:e=>(0,Y.jsx)(pi,{groups:t??e.response.breakdown,groupBy:e.groupBy,showPct:r.has(`pct`),showTokens:r.has(`tokens`),showTurns:r.has(`turns`)})})]})})}function fi({label:e,active:t,onClick:n}){return(0,Y.jsx)(`button`,{type:`button`,onClick:n,className:`rounded-full border px-2.5 py-1 text-label-medium-default`,style:{borderColor:t?`var(--content-secondary)`:`var(--border-base)`,background:t?`color-mix(in srgb, var(--content-secondary) 15%, transparent)`:`transparent`,color:t?`var(--content-default)`:`var(--content-tertiary)`},children:e})}function pi({groups:e,groupBy:t,showPct:n,showTokens:r,showTurns:i}){let{t:a}=K(`settings`),o=lt();if(e.length===0)return(0,Y.jsx)(gi,{title:a(`usageTab.noBreakdownDataTitle`),subtitle:a(`usageTab.noBreakdownDataSubtitle`)});let s=e.reduce((e,t)=>e+t.totalEstimatedCostUsd,0);return(0,Y.jsx)(`div`,{className:`overflow-hidden rounded-md`,children:(0,Y.jsxs)(`table`,{className:`w-full table-fixed`,children:[(0,Y.jsx)(`thead`,{children:(0,Y.jsxs)(`tr`,{style:{borderBottom:`1px solid var(--border-base)`},children:[(0,Y.jsx)(`th`,{className:`px-3 py-2.5 text-left text-label-medium-default`,style:{color:`var(--content-tertiary)`},children:a(`usageTab.groupColumnLabel`)}),r?(0,Y.jsx)(`th`,{className:`px-3 py-2.5 text-left text-label-medium-default`,style:{color:`var(--content-tertiary)`,width:`35%`},children:a(`usageTab.tokensLabel`)}):null,i?(0,Y.jsx)(`th`,{className:`px-3 py-2.5 text-right text-label-medium-default`,style:{color:`var(--content-tertiary)`,width:`72px`},children:a(`usageTab.turnsLabel`)}):null,n?(0,Y.jsx)(`th`,{className:`px-3 py-2.5 text-right text-label-medium-default`,style:{color:`var(--content-tertiary)`,width:`64px`},children:`%`}):null,(0,Y.jsx)(`th`,{className:`px-3 py-2.5 text-right text-label-medium-default`,style:{color:`var(--content-tertiary)`,width:`100px`},children:a(`usageTab.costLabel`)})]})}),(0,Y.jsx)(`tbody`,{children:e.map((e,a)=>{let c=Sr(e),l=wr(e),u=t===`conversation`?e.groupId:null,d=s>0?Math.round(e.totalEstimatedCostUsd/s*100):0;return(0,Y.jsxs)(`tr`,{className:u?`cursor-pointer hover:bg-[var(--surface-hover)]`:void 0,onClick:u?e=>{e.target.closest(`a`)||Me(o,u)}:void 0,style:{borderTop:a===0?`none`:`1px solid var(--border-base)`},children:[(0,Y.jsx)(`td`,{className:`min-w-0 px-3 py-2`,style:{color:`var(--content-default)`},children:u?(0,Y.jsx)(ut,{to:V.conversation(u),className:`block truncate text-body-medium-lighter`,title:e.group,onClick:e=>{gn(e)||(e.preventDefault(),Me(o,u))},children:e.group}):(0,Y.jsx)(`span`,{className:`block truncate text-body-medium-lighter`,title:e.group,children:e.group})}),r?(0,Y.jsx)(`td`,{className:`min-w-0 px-3 py-2`,style:{color:`var(--content-secondary)`},children:(0,Y.jsx)(`span`,{className:`block truncate text-body-small-default`,title:c,children:l})}):null,i?(0,Y.jsx)(`td`,{className:`whitespace-nowrap px-3 py-2 text-right`,children:(0,Y.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:e.turnCount==null?`—`:e.turnCount.toLocaleString()})}):null,n?(0,Y.jsx)(`td`,{className:`whitespace-nowrap px-3 py-2 text-right`,children:(0,Y.jsxs)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[d,`%`]})}):null,(0,Y.jsx)(`td`,{className:`whitespace-nowrap px-3 py-2 text-right`,children:(0,Y.jsx)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-default)`},children:An(e.totalEstimatedCostUsd)})})]},e.groupKey??e.groupId??`${e.group}-${a}`)})})]})})}function mi(){return(0,Y.jsx)(`div`,{className:`flex flex-col gap-2`,"aria-hidden":`true`,children:Array.from({length:4}).map((e,t)=>(0,Y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Y.jsx)(hi,{width:100,height:14}),(0,Y.jsx)(hi,{width:`60%`,height:12}),(0,Y.jsx)(hi,{width:50,height:14})]},t))})}function hi({width:e,height:t}){return(0,Y.jsx)(`div`,{className:`rounded-sm`,style:{width:typeof e==`number`?`${e}px`:e,height:`${t}px`,background:`color-mix(in srgb, var(--border-base) 40%, transparent)`}})}function gi({title:e,subtitle:t}){return(0,Y.jsxs)(`div`,{className:`flex flex-col items-center gap-1 py-8 text-center`,children:[(0,Y.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),(0,Y.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:t})]})}function _i({message:e,onRetry:t}){let{t:n}=K(`settings`);return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2 py-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,Y.jsx)(mt,{className:`h-4 w-4 shrink-0`,style:{color:`var(--system-negative-strong, #f87171)`}}),(0,Y.jsx)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-default)`},children:e})]}),t?(0,Y.jsx)(`button`,{type:`button`,onClick:t,className:`self-start rounded-md border px-3 py-1 text-body-small-default`,style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`,color:`var(--content-default)`},children:n(`usageTab.retry`)}):null]})}function vi(){let e=Ue(),t=nn();return{reactivateSubscription:()=>t({mutateAsync:()=>e.mutateAsync({}),onSuccess:()=>{c.success(W(`settings:useReactivateSubscription.reactivatedToast`),{id:`subscription-reactivate`})},errorToastId:`subscription-reactivate-error`,errorFallback:()=>W(`settings:useReactivateSubscription.reactivateFailedToast`)}),isPending:e.isPending}}function yi({open:e,onCancel:t,onConfirm:n,confirming:r,lostFeatures:i}){let{t:a}=K(`settings`);return(0,Y.jsx)(H.Root,{open:e,onOpenChange:e=>{!e&&!r&&t()},children:(0,Y.jsxs)(H.Content,{size:`md`,hideCloseButton:!0,children:[(0,Y.jsx)(H.Header,{icon:mt,children:(0,Y.jsx)(H.Title,{children:a(`downgradeReconfirmModal.title`)})}),(0,Y.jsxs)(H.Body,{children:[(0,Y.jsx)(x,{as:`p`,variant:`body-medium-default`,className:`text-(--content-secondary)`,children:a(`downgradeReconfirmModal.body`)}),(0,Y.jsx)(`ul`,{className:`mt-4 list-disc space-y-2 pl-5`,children:i.map(e=>(0,Y.jsx)(`li`,{children:(0,Y.jsx)(x,{as:`span`,variant:`body-medium-default`,children:e})},e))})]}),(0,Y.jsxs)(H.Footer,{children:[(0,Y.jsx)(U,{variant:`outlined`,onClick:t,disabled:r,children:a(`downgradeReconfirmModal.keepPro`)}),(0,Y.jsx)(U,{variant:`danger`,onClick:n,disabled:r,"data-testid":`confirm-downgrade-button`,children:a(`downgradeReconfirmModal.confirm`)})]})]})})}function bi(e){return W(`settings:creditBundlePicker.optionLabel`,{label:e.label,price:At(e.price_cents)})}function xi({creditTiers:e,selectedCreditTier:t,onCreditTierChange:n,disabled:r=!1}){let{t:i}=K(`settings`),a=(0,J.useMemo)(()=>[{value:null,label:i(`creditBundlePicker.noBundleOption`,{price:At(0)})},...e.map(e=>({value:e.tier,label:bi(e)}))],[e,i]);return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Y.jsx)(x,{as:`p`,variant:`label-small-default`,className:`text-[var(--content-secondary)]`,children:i(`creditBundlePicker.label`)}),(0,Y.jsx)(`span`,{title:i(`creditBundlePicker.tooltip`),children:(0,Y.jsx)(Ot,{className:`h-3 w-3 text-[var(--content-tertiary)]`})})]}),(0,Y.jsx)(Le,{"aria-label":i(`creditBundlePicker.ariaLabel`),placeholder:i(`creditBundlePicker.placeholder`),disabled:r,value:t,onChange:e=>n(e),onSelectNone:()=>n(null),options:a})]})}function Si({features:e,variant:t,header:n,maxInline:r=3}){return t===`inline`?(0,Y.jsx)(Y.Fragment,{children:e.slice(0,r).join(`, `)}):(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[n&&(0,Y.jsx)(x,{as:`p`,variant:`body-small-default`,className:`text-[var(--content-secondary)]`,children:n}),(0,Y.jsx)(`ul`,{className:`flex flex-col gap-2`,children:e.map(e=>(0,Y.jsxs)(`li`,{className:`flex items-start gap-2`,children:[(0,Y.jsx)(xt,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,Y.jsx)(x,{as:`span`,variant:`body-medium-default`,children:e})]},e))})]})}function Ci({plan:e,isCurrent:t,onPro:n,planDisplayName:r,currentPlanFeatures:a,cancelAtPeriodEnd:o,isCanceled:s,cancelDate:c,formatGraceDate:l,proTierChangeMode:u,creditTiersEnabled:d,creditTiers:f,displayCreditTier:p,onCreditTierChange:m,selectedMachineTier:h,selectedStorageTier:g,onMachineTierChange:_,onStorageTierChange:v,machineTiersForPicker:y,storageTiersForPicker:b,currentMachinePrice:S,currentStoragePrice:C,currentCreditPriceUnknown:w,proCurrentTotalCents:E,proLiveTotalCents:D,proTotalDelta:O,onboardingLoading:k,tierChangePending:A,machineChanged:j,storageChanged:M,creditChanged:N,feeAdded:ee,tierChangeError:P,upgradePending:F,billingActionPending:te,onUpgrade:ne,onApplyTierChange:re,onDowngradeClick:ie,onKeepPlan:I}){let{t:L}=K(`settings`),R=e.id===`pro`,ae=e.id===`base`,z=R&&n&&o&&!s,B=R&&(!t||t&&u),oe=R&&t&&u,se=R&&t;return(0,Y.jsx)(me.Root,{className:`flex flex-col bg-[var(--surface-base)]`,children:(0,Y.jsxs)(me.Body,{padding:`lg`,className:`max-sm:p-4`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsx)(`span`,{"aria-hidden":!0,className:`flex h-9 w-9 items-center justify-center rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)]`,children:R?(0,Y.jsx)(Sn,{className:`h-5 w-5 text-[var(--content-default)]`}):(0,Y.jsx)(Cn,{className:`h-5 w-5 text-[var(--content-default)]`})}),(0,Y.jsxs)(`div`,{className:`flex min-h-6 items-center gap-2`,children:[(0,Y.jsx)(x,{as:`h3`,variant:`title-small`,"data-testid":`modal-plan-name`,children:se?r:e.name}),t&&(0,Y.jsx)(T,{tone:`positive`,children:L(`planCardContent.current`)})]}),(0,Y.jsx)(x,{as:`p`,variant:`body-small-default`,className:`-mt-2 text-[var(--content-tertiary)]`,children:L(ae?`planCardContent.baseTagline`:`planCardContent.proTagline`)}),z&&c&&(0,Y.jsx)(x,{as:`p`,variant:`body-small-default`,className:`text-[var(--system-mid-strong)]`,"data-testid":`modal-cancels-on`,children:L(`planCardContent.planEndsOn`,{date:l(c)})}),(0,Y.jsx)(`hr`,{className:`border-t border-[var(--border-base)]`}),(0,Y.jsx)(`div`,{className:`flex flex-col gap-1`,children:ae?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(x,{as:`p`,variant:`title-medium`,children:L(`planCardContent.free`)}),(0,Y.jsx)(x,{as:`p`,variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:L(`planCardContent.forever`)})]}):t&&!(B&&D!=null)&&(E==null||w)?k?(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-[var(--content-tertiary)]`,children:[(0,Y.jsx)(q,{className:`h-4 w-4 animate-spin`}),(0,Y.jsx)(x,{as:`span`,variant:`body-medium-lighter`,children:L(`planCardContent.loadingPlan`)})]}):(0,Y.jsx)(x,{as:`p`,variant:`body-medium-lighter`,className:`text-[var(--content-tertiary)]`,"data-testid":`modal-pro-price-unavailable`,children:L(`planCardContent.pricingUnavailable`)}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Y.jsx)(x,{as:`p`,variant:`title-medium`,"data-testid":`modal-pro-price`,children:B&&D!=null?(0,Y.jsxs)(Y.Fragment,{children:[At(D),O!=null&&O!==0&&(0,Y.jsxs)(`span`,{className:`ml-1 text-[var(--content-tertiary)]`,children:[`(`,It(O),`)`]})]}):E==null?e.id===`pro`?L(`planCardContent.fromPrice`,{price:At(e.base_price_cents+cn(e.machine_tiers)+cn(e.storage_tiers))}):null:L(`planCardContent.currentlyPrice`,{price:At(E)})}),B&&O!=null&&O!==0&&(0,Y.jsx)(`span`,{title:L(`planCardContent.subscriptionChangeTitle`,{from:At(E),to:At(D)}),children:(0,Y.jsx)(Ot,{className:`h-3 w-3 text-[var(--content-tertiary)]`})})]}),e.id===`pro`&&(0,Y.jsx)(x,{as:`p`,variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,"data-testid":`modal-pro-base-fee`,children:L(`planCardContent.baseFee`,{amount:Zt(e.base_price_cents)})})]})}),(0,Y.jsx)(Si,{features:se&&a?a:e.included_features,variant:`checklist`}),R&&!d&&(0,Y.jsx)(x,{as:`p`,variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,"data-testid":`modal-credits-not-included`,children:L(`planCardContent.creditsNotIncluded`)})]}),(0,Y.jsxs)(`div`,{className:`mt-4 flex flex-1 flex-col justify-end gap-4`,children:[!t&&R&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`hr`,{className:`border-t border-[var(--border-base)]`}),d&&(0,Y.jsx)(xi,{creditTiers:f,selectedCreditTier:p,onCreditTierChange:m,disabled:F}),(0,Y.jsx)(ln,{machineTiers:y,storageTiers:b,selectedMachineTier:h,selectedStorageTier:g,onMachineTierChange:_,onStorageTierChange:v}),(0,Y.jsx)(U,{variant:`primary`,className:`w-full`,onClick:ne,disabled:F||!h||!g,"data-testid":`modal-upgrade-to-pro-button`,children:L(`planCardContent.upgradeToPro`)})]}),oe&&(k?(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-[var(--content-tertiary)]`,children:[(0,Y.jsx)(q,{className:`h-4 w-4 animate-spin`}),(0,Y.jsx)(x,{as:`span`,variant:`body-medium-lighter`,children:L(`planCardContent.loadingPlan`)})]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`hr`,{className:`border-t border-[var(--border-base)]`}),d&&(0,Y.jsx)(xi,{creditTiers:f,selectedCreditTier:p,onCreditTierChange:m,disabled:A}),(0,Y.jsx)(ln,{machineTiers:y,storageTiers:b,selectedMachineTier:h,selectedStorageTier:g,onMachineTierChange:_,onStorageTierChange:v,currentMachinePriceCents:S,currentStoragePriceCents:C}),P&&(0,Y.jsx)(i,{tone:`error`,children:P}),(0,Y.jsx)(U,{variant:`primary`,className:`w-full`,onClick:re,disabled:A||!j&&!M&&!N&&!ee,"data-testid":`modal-change-tier-button`,children:L(`planCardContent.updatePlan`)})]})),!t&&ae&&n&&!o&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`hr`,{className:`border-t border-[var(--border-base)]`}),(0,Y.jsx)(U,{variant:`outlined`,className:`w-full`,onClick:ie,disabled:te,"data-testid":`modal-downgrade-to-base-button`,children:L(`planCardContent.downgradeToBase`)})]}),z&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`hr`,{className:`border-t border-[var(--border-base)]`}),(0,Y.jsx)(U,{variant:`outlined`,className:`w-full`,onClick:I,disabled:te,"data-testid":`modal-keep-plan-button`,children:L(`planCardContent.keepPlan`)})]})]})]})})}function wi(e){return dn({open:e.open,path:`${V.settings.usageBilling}&adjust_plan`,onClose:e.onClose})?null:(0,Y.jsx)(Ti,{...e})}function Ti({open:e,onClose:t,onTierUpgraded:n}){let{t:r}=K(`settings`),a=it(),o=G(M()),s=G(he()),l=nt(O()),u=Kt(an(s.data)),{reactivateSubscription:d,isPending:f}=vi(),{cancelSubscription:p,isPending:m}=tn(),[h,g]=(0,J.useState)(`plans`),[_,v]=(0,J.useState)(!1),[y,S]=(0,J.useState)(null),[C,w]=(0,J.useState)(null),[T,E]=(0,J.useState)(void 0);(0,J.useEffect)(()=>be(()=>{Ht(a),t()}),[a,t]);let D=s.data?.plan_id,k=D===`pro`,{changeTiers:A,isPending:j,error:N,current:ee}=Yt({enabled:k}),P=G({...b(),enabled:k}),F=P.data?.max_machine_tier??null,te=P.data?.selected_storage_tier??null,ne=P.data?.selected_storage_gib??null,re=s.data?.cancel_at_period_end===!0||!!s.data?.cancel_at,ie=s.data?.status===`canceled`,I=sn(s.data),L=s.data?.status,R=L!=null&&$t.has(L),ae=k&&R&&!re&&!ie,z=o.data?.plans.find(e=>e.id===`pro`),B=z?.credit_tiers??[],oe=B.length>0,se=s.data?.selected_credit_tier??null,ce=e=>B.find(t=>t.tier===e)?.price_cents??0,le=ce(se),ue=se!=null&&!B.some(e=>e.tier===se),V=T===void 0?se:T,de=ce(V),fe=Rt(s.data?.package),pe=k&&P.isSuccess&&z?Mt({machineTier:F,storageTier:te,storageGib:ne,creditTier:se,hasPlatformFee:ee.hasPlatformFee},z):null,me=z?.machine_tiers??[],_e=ae&&ne!=null?(z?.storage_tiers??[]).map(e=>e.storage_gib<ne?{...e,disabled:!0}:e):z?.storage_tiers??[],ve=(0,J.useRef)(null);(0,J.useEffect)(()=>{if(!e){ve.current=null,S(null),w(null),E(void 0);return}if(z){if(ae){if(F==null||te==null)return;ve.current??={machineTier:F,storageTier:te,creditTier:se},S(e=>Ut(me,e??F)),w(e=>Ut(_e,e??te)),E(e=>un(B,e,se));return}S(e=>Ut(z.machine_tiers,e)),w(e=>Ut(z.storage_tiers,e)),E(e=>un(B,e,null))}},[e,z,ae,F,te,se]);let ye=o.data?.plans.find(e=>e.id===`base`),xe=new Set(ye?.included_features??[]),Se=(z?.included_features??[]).filter(e=>!xe.has(e)),Ce=()=>{if(!l.isPending){if(!y||!C){c.error(r(`adjustPlanModal.pickTiersError`),{id:`pro-upgrade-error`});return}l.mutate({body:{target_plan_id:`pro`,confirm:!0,machine_tier:y,storage_tier:C,credit_tier:V,return_target:pn()}},{onSuccess:e=>{if(e.checkout_url){je({kind:`custom`,machineTier:y,storageTier:C,creditTier:V}),Ve(a),ge(e.checkout_url);return}if(e.status===`no_op`){c.info(r(`adjustPlanModal.alreadyOnPro`),{id:`pro-upgrade`}),t();return}c.error(e.message??r(`adjustPlanModal.upgradeFailed`),{id:`pro-upgrade-error`})},onError:e=>{c.error(Jt(e,r(`adjustPlanModal.upgradeFailed`)),{id:`pro-upgrade-error`})}})}},we=async()=>{if(!(m||u.isPending)){if(!qt(s.data)){g(`plans`),u.mutate({});return}await p()&&g(`plans`)}},Te=y!=null&&y!==F,Ee=C!=null&&C!==te,De=oe&&T!==void 0&&T!==se,Oe=ae&&!ee.hasPlatformFee,ke=e=>me.find(t=>t.tier===e)?.price_cents??null,Ae=e=>_e.find(t=>t.tier===e)?.price_cents??null,Me=ke(y),Ne=Ae(C),Pe=ke(F),Fe=Ae(te),Ie=Te&&Me!=null&&Pe!=null&&Me<Pe,Le=()=>{if(!j){if(!y||!C){c.error(r(`adjustPlanModal.pickTiersError`),{id:`pro-tier-change-error`});return}A({machineTier:y,storageTier:C,creditTier:V},ve.current??void 0).then(e=>{if(e){if(e.needsResize&&n){t(),n();return}c.success(e.creditChanged&&!Te&&!Ee?r(`adjustPlanModal.creditBundleUpdated`):r(`adjustPlanModal.planUpdated`),{id:`pro-tier-change`})}})}},Re=()=>{if(!j){if(Ie){v(!0);return}Le()}},ze=()=>{v(!1),Le()},Be=e=>Me!=null&&Ne!=null?e.base_price_cents+Me+Ne+de:null,He=e=>Pe!=null&&Fe!=null?(Oe?0:e.base_price_cents)+Pe+Fe+le:null,Ue=o.isLoading||s.isLoading,We=o.isError||s.isError||!o.data||!s.data;return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(H.Root,{open:e,onOpenChange:e=>{e||(g(`plans`),t())},children:(0,Y.jsx)(H.Content,{size:h===`plans`?`lg`:`md`,children:h===`downgrade-confirm`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(H.Header,{icon:mt,children:(0,Y.jsx)(H.Title,{children:r(`adjustPlanModal.downgradeTitle`)})}),(0,Y.jsxs)(H.Body,{children:[(0,Y.jsx)(x,{as:`p`,variant:`body-medium-default`,className:`text-(--content-secondary)`,children:r(`adjustPlanModal.downgradeIntro`)}),(0,Y.jsx)(`ul`,{className:`mt-4 list-disc space-y-2 pl-5`,children:Se.map(e=>(0,Y.jsx)(`li`,{children:(0,Y.jsx)(x,{as:`span`,variant:`body-medium-default`,children:e})},e))})]}),(0,Y.jsxs)(H.Footer,{children:[(0,Y.jsx)(U,{variant:`ghost`,onClick:()=>g(`plans`),disabled:m||u.isPending,leftIcon:(0,Y.jsx)(bt,{className:`h-4 w-4`}),children:r(`adjustPlanModal.back`)}),(0,Y.jsx)(U,{variant:`danger`,onClick:()=>void we(),disabled:m||u.isPending,"data-testid":`confirm-downgrade-button`,children:r(`adjustPlanModal.confirmDowngrade`)})]})]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(H.Header,{children:(0,Y.jsx)(H.Title,{className:`sr-only`,children:r(`adjustPlanModal.upgradePlanTitle`)})}),(0,Y.jsx)(H.Body,{children:Ue?(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Y.jsx)(q,{className:`h-4 w-4 animate-spin`}),(0,Y.jsx)(x,{as:`span`,variant:`body-medium-lighter`,children:r(`adjustPlanModal.loadingPlans`)})]}):We?(0,Y.jsx)(i,{tone:`error`,children:r(`adjustPlanModal.loadPlansError`)}):(0,Y.jsxs)(`div`,{className:`space-y-4 sm:space-y-6`,children:[(0,Y.jsxs)(`div`,{className:`space-y-2 pb-2 pt-4 text-center`,children:[(0,Y.jsx)(x,{as:`p`,variant:`title-medium`,children:r(`adjustPlanModal.heroTitle`)}),(0,Y.jsx)(x,{as:`p`,variant:`body-medium-lighter`,className:`text-[var(--content-secondary)]`,children:r(`adjustPlanModal.heroSubtitle`)})]}),(0,Y.jsx)(`div`,{className:`grid grid-cols-1 gap-4 md:grid-cols-2`,children:o.data.plans.map(e=>{let t=e.id===D,n=e.id===`pro`&&z?Be(z):null,r=e.id===`pro`&&z?He(z):null;return(0,Y.jsx)(Ci,{plan:e,isCurrent:t,onPro:k,planDisplayName:fe,currentPlanFeatures:pe,cancelAtPeriodEnd:re,isCanceled:ie,cancelDate:I,formatGraceDate:Qt,proTierChangeMode:ae,creditTiersEnabled:oe,creditTiers:B,displayCreditTier:V,onCreditTierChange:E,selectedMachineTier:y,selectedStorageTier:C,onMachineTierChange:S,onStorageTierChange:w,machineTiersForPicker:me,storageTiersForPicker:_e,currentMachinePrice:Pe,currentStoragePrice:Fe,currentCreditPriceUnknown:ue,proCurrentTotalCents:r,proLiveTotalCents:n,proTotalDelta:n!=null&&r!=null?n-r:null,onboardingLoading:P.isLoading,tierChangePending:j,machineChanged:Te,storageChanged:Ee,creditChanged:De,feeAdded:Oe,tierChangeError:N,upgradePending:l.isPending,billingActionPending:u.isPending||f,onUpgrade:Ce,onApplyTierChange:Re,onDowngradeClick:()=>g(`downgrade-confirm`),onKeepPlan:()=>{if(!qt(s.data)){u.mutate({});return}d()}},e.id)})})]})}),(0,Y.jsxs)(H.Footer,{className:`relative items-center`,children:[(0,Y.jsx)(x,{as:`p`,variant:`body-small-default`,className:`pointer-events-none absolute inset-x-0 text-center text-[var(--content-tertiary)]`,children:(0,Y.jsx)(`span`,{className:`pointer-events-auto`,children:r(`adjustPlanModal.footerNote`)})}),(0,Y.jsx)(`div`,{className:`ml-auto`,children:(0,Y.jsx)(U,{variant:`outlined`,onClick:t,"data-testid":`modal-cancel-button`,children:r(`adjustPlanModal.cancel`)})})]})]})})}),(0,Y.jsx)(yi,{open:_,onCancel:()=>v(!1),onConfirm:ze,confirming:j,lostFeatures:[r(`adjustPlanModal.machineDowngradeFeature`)]})]})}function Ei(e){let t=e.trim();if(t===``)return W(`settings:dailyCreditLimitCard.errorEmpty`);let n=parseFloat(t);if(!Number.isFinite(n)||n<1)return W(`settings:dailyCreditLimitCard.errorMin`);if(!/^\d+(\.\d{1,2})?$/.test(t))return W(`settings:dailyCreditLimitCard.errorDecimals`)}function Di(e){let{t}=K(`settings`);return(0,Y.jsx)(ne,{type:`number`,step:`0.01`,min:`1`,label:t(`dailyCreditLimitCard.inputLabel`),helperText:t(`dailyCreditLimitCard.helperText`,{time:m()}),placeholder:`0.00`,fullWidth:!0,...e})}function Oi(){let e=it();return nt({...Ne(),onSuccess:t=>{n(e,void 0,t),e.invalidateQueries({queryKey:Fe()}),e.invalidateQueries({queryKey:E()})}})}function ki(e){if(!e||typeof e!=`object`||Array.isArray(e))return{};let t={};for(let[n,r]of Object.entries(e))Array.isArray(r)&&typeof r[0]==`string`&&(t[n]=r[0]);return t}function Ai({onSaved:e,onCancel:t}){let{t:n}=K(`settings`),r=Oi(),[a,o]=(0,J.useState)(`25`),[s,c]=(0,J.useState)(!1),l=r.isPending,u=Ei(a),d=s?u:void 0,f=ki(r.error).daily_credit_limit_usd??(r.isError?n(`dailyCreditLimitCard.saveError`):void 0),p=()=>{l||(c(!0),!u&&r.mutate({body:{daily_credit_limit_usd:parseFloat(a.trim()).toFixed(2)}},{onSuccess:e}))},m=()=>{l||t()};return(0,Y.jsx)(H.Root,{open:!0,onOpenChange:e=>{e||m()},children:(0,Y.jsxs)(H.Content,{size:`sm`,hideCloseButton:!0,onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),m()},"data-testid":`auto-top-up-daily-limit-modal`,children:[(0,Y.jsxs)(H.Header,{children:[(0,Y.jsx)(H.Title,{children:n(`autoTopUpDailyLimitModal.title`)}),(0,Y.jsx)(H.Description,{children:n(`autoTopUpDailyLimitModal.message`)})]}),(0,Y.jsxs)(H.Body,{children:[(0,Y.jsx)(Di,{value:a,onChange:e=>{o(e.target.value)},onBlur:()=>c(!0),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),p())},errorText:d,disabled:l,"data-testid":`auto-top-up-daily-limit-input`}),f!=null&&(0,Y.jsx)(i,{tone:`error`,className:`mt-3`,"data-testid":`auto-top-up-daily-limit-error`,children:f})]}),(0,Y.jsxs)(H.Footer,{children:[(0,Y.jsx)(U,{variant:`outlined`,onClick:m,disabled:l,"data-testid":`auto-top-up-daily-limit-cancel-button`,children:n(`autoTopUpDailyLimitModal.cancel`)}),(0,Y.jsx)(U,{variant:`primary`,onClick:p,disabled:l,leftIcon:l?(0,Y.jsx)(q,{className:`animate-spin`}):void 0,"data-testid":`auto-top-up-daily-limit-save-button`,children:n(l?`autoTopUpDailyLimitModal.saving`:`autoTopUpDailyLimitModal.save`)})]})]})})}function ji({open:e,confirming:t,onCancel:n,onConfirm:r}){let{t:i}=K(`settings`);return(0,Y.jsx)(ue,{open:e,title:i(`autoTopUpDisableConfirm.title`),message:i(`autoTopUpDisableConfirm.message`),confirmLabel:i(t?`autoTopUpDisableConfirm.disabling`:`autoTopUpDisableConfirm.disable`),cancelLabel:i(`autoTopUpDisableConfirm.keepEnabled`),destructive:!0,onConfirm:r,onCancel:n})}var Mi={threshold_usd:`100`,amount_usd:`10`,monthly_cap_usd:``};function Ni(e){if(e===``||e===`-`)return e;let t=parseFloat(e);return Number.isFinite(t)?String(Math.trunc(t)):``}function Pi(e){let t={},n=parseFloat(e.threshold_usd),r=parseFloat(e.amount_usd);if((!Number.isFinite(r)||r<10||r>500)&&(t.amount_usd=`Must be between $10 and $500`),(!Number.isFinite(n)||n<1||n>100)&&(t.threshold_usd=`Must be between $1 and $100`),e.monthly_cap_usd!==``){let n=parseFloat(e.monthly_cap_usd);!Number.isFinite(n)||n<25||n>1e4?t.monthly_cap_usd=`Must be between $25 and $10,000`:Number.isFinite(r)&&n<r&&(t.monthly_cap_usd=`Must be at least the top-up amount`)}return t}function Fi(e,t,n,r){if(n[e])return n[e];if(r)return t[e]}function Ii({initialValues:e=Mi,submitting:t,saveDisabled:n=!1,serverErrors:r,onSave:i,onCancel:a}){let{t:o}=K(`settings`),[s,c]=(0,J.useState)(e),[l,u]=(0,J.useState)({threshold_usd:!1,amount_usd:!1,monthly_cap_usd:!1}),d=Pi(s),f=e=>t=>{c(n=>({...n,[e]:t.target.value}))},p=e=>()=>{u(t=>({...t,[e]:!0})),c(t=>({...t,[e]:Ni(t[e])}))},m=e=>Fi(e,d,r,l[e]);return(0,Y.jsx)(`div`,{className:`mt-4`,children:(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-start gap-2`,children:[(0,Y.jsx)(`div`,{className:`w-full max-w-full sm:w-[200px]`,children:(0,Y.jsx)(ne,{type:`number`,step:`1`,label:o(`autoTopUpForm.thresholdLabel`),value:s.threshold_usd,onChange:f(`threshold_usd`),onBlur:p(`threshold_usd`),errorText:m(`threshold_usd`),"data-testid":`auto-top-up-threshold-input`,fullWidth:!0})}),(0,Y.jsx)(`div`,{className:`w-full max-w-full sm:w-[200px]`,children:(0,Y.jsx)(ne,{type:`number`,step:`1`,label:o(`autoTopUpForm.amountLabel`),value:s.amount_usd,onChange:f(`amount_usd`),onBlur:p(`amount_usd`),errorText:m(`amount_usd`),"data-testid":`auto-top-up-amount-input`,fullWidth:!0})}),(0,Y.jsx)(`div`,{className:`w-full max-w-full sm:w-[200px]`,children:(0,Y.jsx)(ne,{type:`number`,step:`1`,label:o(`autoTopUpForm.capLabel`),value:s.monthly_cap_usd,onChange:f(`monthly_cap_usd`),onBlur:p(`monthly_cap_usd`),errorText:m(`monthly_cap_usd`),"data-testid":`auto-top-up-cap-input`,fullWidth:!0})}),(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 pt-[20px]`,children:[(0,Y.jsx)(U,{variant:`outlined`,onClick:a,disabled:t,children:o(`autoTopUpForm.cancel`)}),(0,Y.jsx)(U,{variant:`primary`,onClick:()=>{u({threshold_usd:!0,amount_usd:!0,monthly_cap_usd:!0});let e={threshold_usd:Ni(s.threshold_usd),amount_usd:Ni(s.amount_usd),monthly_cap_usd:Ni(s.monthly_cap_usd)};c(e);let t=Pi(e);if(Object.keys(t).length!==0)return;let n=e=>e===``?``:`${parseInt(e,10)}.00`;i({threshold_usd:n(e.threshold_usd),amount_usd:n(e.amount_usd),monthly_cap_usd:e.monthly_cap_usd===``?``:n(e.monthly_cap_usd)})},disabled:t||n,"data-testid":`auto-top-up-save-button`,children:o(`autoTopUpForm.save`)})]})]})})}var Li=t(((e,t)=>{t.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),Ri=t(((e,t)=>{var n=Li();function r(){}function i(){}i.resetWarningCache=r,t.exports=function(){function e(e,t,r,i,a,o){if(o!==n){var s=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name=`Invariant Violation`,s}}e.isRequired=e;function t(){return e}var a={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:r};return a.PropTypes=a,a}})),X=e(t(((e,t)=>{t.exports=Ri()()}))(),1);function zi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Bi(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?zi(Object(n),!0).forEach(function(t){Hi(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zi(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Vi(e){"@babel/helpers - typeof";return Vi=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Vi(e)}function Hi(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ui(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,a;for(a=0;a<r.length;a++)i=r[a],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}function Wi(e,t){if(e==null)return{};var n=Ui(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Gi(e,t){return Ki(e)||qi(e,t)||Ji(e,t)||Xi()}function Ki(e){if(Array.isArray(e))return e}function qi(e,t){var n=e&&(typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`]);if(n!=null){var r=[],i=!0,a=!1,o,s;try{for(n=n.call(e);!(i=(o=n.next()).done)&&(r.push(o.value),!(t&&r.length===t));i=!0);}catch(e){a=!0,s=e}finally{try{!i&&n.return!=null&&n.return()}finally{if(a)throw s}}return r}}function Ji(e,t){if(e){if(typeof e==`string`)return Yi(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Yi(e,t)}}function Yi(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Xi(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
3
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var Z=function(e,t,n){var r=!!n,i=J.useRef(n);J.useEffect(function(){i.current=n},[n]),J.useEffect(function(){if(!r||!e)return function(){};var n=function(){i.current&&i.current.apply(i,arguments)};return e.on(t,n),function(){e.off(t,n)}},[r,t,e,i])},Zi=function(e){var t=J.useRef(e);return J.useEffect(function(){t.current=e},[e]),t.current},Qi=function(e){return e!==null&&Vi(e)===`object`},$i=function(e){return Qi(e)&&typeof e.then==`function`},ea=function(e){return Qi(e)&&typeof e.elements==`function`&&typeof e.createToken==`function`&&typeof e.createPaymentMethod==`function`&&typeof e.confirmCardPayment==`function`},ta=`[object Object]`,na=function e(t,n){if(!Qi(t)||!Qi(n))return t===n;var r=Array.isArray(t);if(r!==Array.isArray(n))return!1;var i=Object.prototype.toString.call(t)===ta;if(i!==(Object.prototype.toString.call(n)===ta))return!1;if(!i&&!r)return t===n;var a=Object.keys(t),o=Object.keys(n);if(a.length!==o.length)return!1;for(var s={},c=0;c<a.length;c+=1)s[a[c]]=!0;for(var l=0;l<o.length;l+=1)s[o[l]]=!0;var u=Object.keys(s);if(u.length!==a.length)return!1;var d=t,f=n;return u.every(function(t){return e(d[t],f[t])})},ra=function(e,t,n){return Qi(e)?Object.keys(e).reduce(function(r,i){var a=!Qi(t)||!na(e[i],t[i]);return n.includes(i)?(a&&console.warn(`Unsupported prop change: options.${i} is not a mutable property.`),r):a?Bi(Bi({},r||{}),{},Hi({},i,e[i])):r},null):null},ia="Invalid prop `stripe` supplied to `Elements`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.",aa=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ia;if(e===null||ea(e))return e;throw Error(t)},oa=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ia;if($i(e))return{tag:`async`,stripePromise:Promise.resolve(e).then(function(e){return aa(e,t)})};var n=aa(e,t);return n===null?{tag:`empty`}:{tag:`sync`,stripe:n}},sa=function(e){!e||!e._registerWrapper||!e.registerAppInfo||(e._registerWrapper({name:`react-stripe-js`,version:`6.4.0`}),e.registerAppInfo({name:`react-stripe-js`,version:`6.4.0`,url:`https://stripe.com/docs/stripe-js/react`}))},ca=J.createContext(null);ca.displayName=`ElementsContext`;var la=function(e,t){if(!e)throw Error(`Could not find Elements context; You need to wrap the part of your app that ${t} in an <Elements> provider.`);return e},ua=function(e){var t=e.stripe,n=e.options,r=e.children,i=J.useMemo(function(){return oa(t)},[t]),a=Gi(J.useState(function(){return{stripe:i.tag===`sync`?i.stripe:null,elements:i.tag===`sync`?i.stripe.elements(n):null}}),2),o=a[0],s=a[1];J.useEffect(function(){var e=!0,t=function(e){s(function(t){return t.stripe?t:{stripe:e,elements:e.elements(n)}})};return i.tag===`async`&&!o.stripe?i.stripePromise.then(function(n){n&&e&&t(n)}):i.tag===`sync`&&!o.stripe&&t(i.stripe),function(){e=!1}},[i,o,n]);var c=Zi(t);J.useEffect(function(){c!==null&&c!==t&&console.warn("Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.")},[c,t]);var l=Zi(n);return J.useEffect(function(){if(o.elements){var e=ra(n,l,[`clientSecret`,`fonts`]);e&&o.elements.update(e)}},[n,l,o.elements]),J.useEffect(function(){sa(o.stripe)},[o.stripe]),J.createElement(ca.Provider,{value:o},r)};ua.propTypes={stripe:X.default.any,options:X.default.object};var da=function(e){return la(J.useContext(ca),e)},fa=function(e){var t=e.children;return t(da(`mounts <ElementsConsumer>`))};fa.propTypes={children:X.default.func.isRequired};var pa=J.createContext(null);pa.displayName=`CheckoutContext`;var ma=function(e){var t=J.useContext(pa),n=J.useContext(ca);if(t){if(n)throw Error(`You cannot wrap the part of your app that ${e} in both a checkout provider and <Elements> provider.`);return t}else return la(n,e)},ha=[`mode`],ga=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},Q=function(e,t,n){var r=`${ga(e)}Element`,i=t?function(e){ma(`mounts <${r}>`);var t=e.id,n=e.className;return J.createElement(`div`,{id:t,className:n})}:function(t){var n=t.id,i=t.className,a=t.options,o=a===void 0?{}:a,s=t.onBlur,c=t.onFocus,l=t.onReady,u=t.onChange,d=t.onEscape,f=t.onClick,p=t.onLoadError,m=t.onLoaderStart,h=t.onNetworksChange,g=t.onConfirm,_=t.onCancel,v=t.onShippingAddressChange,y=t.onShippingRateChange,b=t.onSavedPaymentMethodRemove,x=t.onSavedPaymentMethodUpdate,S=t.onAvailablePaymentMethodsChange,C=ma(`mounts <${r}>`),w=`elements`in C?C.elements:null,T=`checkoutState`in C?C.checkoutState:null,E=T?.type===`success`||T?.type===`loading`?T.sdk:null,D=Gi(J.useState(null),2),O=D[0],k=D[1],A=J.useRef(null),j=J.useRef(null);Z(O,`blur`,s),Z(O,`focus`,c),Z(O,`escape`,d),Z(O,`click`,f),Z(O,`loaderror`,p),Z(O,`loaderstart`,m),Z(O,`networkschange`,h),Z(O,`confirm`,g),Z(O,`cancel`,_),Z(O,`shippingaddresschange`,v),Z(O,`shippingratechange`,y),Z(O,`savedpaymentmethodremove`,b),Z(O,`savedpaymentmethodupdate`,x),Z(O,`availablepaymentmethodschange`,S),Z(O,`change`,u);var M;l&&(M=e===`expressCheckout`?l:function(){l(O)}),Z(O,`ready`,M),J.useLayoutEffect(function(){if(A.current===null&&j.current!==null&&(w||E)){var t=null;if(E){var n=E,i=E;switch(e){case`paymentForm`:t=i.createForm(o);break;case`payment`:t=n.createPaymentElement(o);break;case`address`:if(`mode`in o){var a=o.mode,s=Wi(o,ha);if(a===`shipping`)t=n.createShippingAddressElement(s);else if(a===`billing`)t=n.createBillingAddressElement(s);else throw Error(`Invalid options.mode. mode must be 'billing' or 'shipping'.`)}else throw Error(`You must supply options.mode. mode must be 'billing' or 'shipping'.`);break;case`expressCheckout`:t=n.createExpressCheckoutElement(o);break;case`currencySelector`:t=E.createCurrencySelectorElement();break;case`taxId`:t=n.createTaxIdElement(o);break;case`contactDetails`:t=n.createContactDetailsElement();break;default:throw Error(`<${r}> is not supported inside a checkout provider. Use an <Elements> provider instead.`)}}else w&&(t=w.create(e,o));A.current=t,k(t),t&&t.mount(j.current)}},[w,E,o]);var N=Zi(o);return J.useEffect(function(){if(A.current){var e=ra(o,N,[`paymentRequest`]);e&&`update`in A.current&&A.current.update(e)}},[o,N]),J.useLayoutEffect(function(){return function(){if(A.current&&typeof A.current.destroy==`function`)try{A.current.destroy(),A.current=null}catch{}}},[]),J.createElement(`div`,{id:n,className:i,ref:j})};return i.propTypes={id:X.default.string,className:X.default.string,onChange:X.default.func,onBlur:X.default.func,onFocus:X.default.func,onReady:X.default.func,onEscape:X.default.func,onClick:X.default.func,onLoadError:X.default.func,onLoaderStart:X.default.func,onNetworksChange:X.default.func,onConfirm:X.default.func,onCancel:X.default.func,onShippingAddressChange:X.default.func,onShippingRateChange:X.default.func,onSavedPaymentMethodRemove:X.default.func,onSavedPaymentMethodUpdate:X.default.func,onAvailablePaymentMethodsChange:X.default.func,options:X.default.object},i.displayName=r,i.__elementType=e,i},$=typeof window>`u`,_a=J.createContext(null);_a.displayName=`EmbeddedCheckoutProviderContext`,Q(`auBankAccount`,$),Q(`card`,$),Q(`cardNumber`,$),Q(`cardExpiry`,$),Q(`cardCvc`,$),Q(`iban`,$),Q(`payment`,$),Q(`expressCheckout`,$),Q(`paymentRequestButton`,$),Q(`linkAuthentication`,$),Q(`contactDetails`,$),Q(`address`,$),Q(`shippingAddress`,$),Q(`paymentMethodMessaging`,$),Q(`taxId`,$),Q(`issuingCardNumberDisplay`,$),Q(`issuingCardCvcDisplay`,$),Q(`issuingCardExpiryDisplay`,$),Q(`issuingCardPinDisplay`,$),Q(`issuingCardCopyButton`,$);function va(e=document.documentElement){let t=getComputedStyle(e),n=e=>t.getPropertyValue(e).trim()||void 0,r=n(`--content-tertiary`);return{text:n(`--content-emphasised`),textSecondary:r,placeholder:n(`--content-faint`),surface:n(`--surface-lift`),field:n(`--surface-base`),accent:n(`--system-info-strong`),danger:n(`--system-negative-strong`),dangerText:n(`--system-negative-on-weak`),icon:r,radius:n(`--radius-lg`)}}var ya=/^#([\da-f]{3}|[\da-f]{6})$/i,ba=/^rgba?\(\s*([\d.]+)[\s,]+([\d.]+)[\s,]+([\d.]+)/i;function xa(e){let t=ya.exec(e)?.[1];if(t){let e=t.length===3?[...t].map(e=>e+e).join(``):t;return[0,2,4].map(t=>parseInt(e.slice(t,t+2),16))}let n=ba.exec(e);return n?n.slice(1).map(Number):null}function Sa(e,t){let n=xa(e);if(!n)return e;let[r,i,a]=n;return`rgba(${r}, ${i}, ${a}, ${t})`}function Ca(e){return e!==void 0&&e!==``}function wa(e){return Object.fromEntries(Object.entries(e).filter(e=>Ca(e[1])))}function Ta(e){let t={};for(let[n,r]of Object.entries(e)){let e=wa(r);Object.keys(e).length>0&&(t[n]=e)}return t}function Ea(e){return Ca(e)?`1px solid ${e}`:void 0}function Da(e,t){let n=Ca(e.accent)?`0 0 0 3px ${Sa(e.accent,.14)}`:void 0;return{theme:t,labels:`floating`,variables:wa({fontFamily:`"DM Sans", system-ui, sans-serif`,fontSizeBase:`15px`,fontSizeSm:`11px`,fontWeightMedium:`500`,borderRadius:e.radius,spacingUnit:`4px`,spacingGridRow:`10px`,spacingGridColumn:`10px`,colorText:e.text,colorTextSecondary:e.textSecondary,colorTextPlaceholder:e.placeholder,colorBackground:e.surface,colorPrimary:e.accent,colorDanger:e.danger,colorIcon:e.icon,focusOutline:`none`,focusBoxShadow:n}),rules:Ta({".Input":{backgroundColor:e.field,border:`1px solid transparent`,boxShadow:`none`,padding:`9px 14px`,transition:`background-color 120ms, border-color 120ms, box-shadow 120ms`},".Input:focus":{backgroundColor:e.surface,border:Ea(e.accent),boxShadow:n},".Input--invalid":{border:Ea(e.danger),boxShadow:`none`},".Input::placeholder":{color:e.placeholder},".Label":{fontSize:`11px`,fontWeight:`500`,color:e.textSecondary},".Label--invalid":{color:e.danger},".Error":{fontSize:`12.5px`,color:e.dangerText}})}}function Oa(e){return Da(va(),e===`light`?`stripe`:`night`)}var ka=`dahlia`,Aa=`https://js.stripe.com`,ja=`${Aa}/${ka}/stripe.js`,Ma=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,Na=/^https:\/\/js\.stripe\.com\/(v3|[a-z]+)\/stripe\.js(\?.*)?$/,Pa=`loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used`,Fa=function(e){return Ma.test(e)||Na.test(e)},Ia=function(){for(var e=document.querySelectorAll(`script[src^="${Aa}"]`),t=0;t<e.length;t++){var n=e[t];if(Fa(n.src))return n}return null},La=function(e){var t=e&&!e.advancedFraudSignals?`?advancedFraudSignals=false`:``,n=document.createElement(`script`);n.src=`${ja}${t}`;var r=document.head||document.body;if(!r)throw Error(`Expected document.body not to be null. Stripe.js requires a <body> element.`);return r.appendChild(n),n},Ra=null,za=null,Ba=null,Va=function(e){return function(t){e(Error(`Failed to load Stripe.js`,{cause:t}))}},Ha=function(e,t){return function(){window.Stripe?e(window.Stripe):t(Error(`Stripe.js not available`))}},Ua=function(e){return Ra===null?(Ra=new Promise(function(t,n){if(typeof window>`u`||typeof document>`u`){t(null);return}if(window.Stripe&&e&&console.warn(Pa),window.Stripe){t(window.Stripe);return}try{var r=Ia();if(r&&e)console.warn(Pa);else if(!r)r=La(e);else if(r&&Ba!==null&&za!==null){var i;r.removeEventListener(`load`,Ba),r.removeEventListener(`error`,za),(i=r.parentNode)==null||i.removeChild(r),r=La(e)}Ba=Ha(t,n),za=Va(n),r.addEventListener(`load`,Ba),r.addEventListener(`error`,za)}catch(e){n(e);return}}),Ra.catch(function(e){return Ra=null,Promise.reject(e)})):Ra},Wa,Ga=!1,Ka=function(){return Wa||(Wa=Ua(null).catch(function(e){return Wa=null,Promise.reject(e)}),Wa)};Promise.resolve().then(function(){return Ka()}).catch(function(e){Ga||console.warn(e)});var qa=null;function Ja(){return qa}function Ya(e){if(!e)return null;let t=e.indexOf(`_secret`);return t<=0?null:e.slice(0,t)}var Xa=`flex flex-col gap-[10px]`,Za={visa:`Visa`,mastercard:`Mastercard`,amex:`Amex`,discover:`Discover`,diners:`Diners Club`,jcb:`JCB`,unionpay:`UnionPay`};function Qa(e){let t=e?.toLowerCase();return t&&Object.hasOwn(Za,t)?Za[t]:null}function $a(e,t){return Qa(t)??e(`paymentMethodRow.savedCard`)}function eo(e,t){return e==null||t==null?null:{month:String(e).padStart(2,`0`),year:String(t).slice(-2)}}function to(e,t,n){let r=eo(t,n);return r===null?null:e(`autoTopUpPaymentMethodModal.cardOnFileExpiry`,r)}function no(e){return e===`submitting`||e===`requires_action`}function ro({open:e,mode:t,state:n,cardOnFile:r=null,savedCard:i=null,autoReloadActive:a=!1,headerless:o=!1,errorMessage:s=null,showTerms:c=!1,submitDisabled:l=!1,onClose:u,onSubmit:d,children:f}){let{t:p}=K(`settings`),m=no(n),h=t===`replace`,g=n===`saved`,_=g&&o,v=_?{"aria-describedby":void 0}:{},y=h?io(p,g?null:r):p(`autoTopUpPaymentMethodModal.addSubtitle`);return(0,Y.jsx)(H.Root,{open:e,onOpenChange:e=>{!e&&!m&&u()},children:(0,Y.jsxs)(H.Content,{size:`sm`,className:`max-w-[420px] overflow-hidden rounded-xl p-0`,hideCloseButton:!0,dismissOnOverlayClick:!m,onEscapeKeyDown:m?e=>e.preventDefault():void 0,onInteractOutside:m?e=>e.preventDefault():void 0,...v,children:[(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-4 px-6 pt-6 pb-[18px]`,children:[(0,Y.jsx)(`div`,{className:`min-w-0`,children:_?(0,Y.jsx)(H.Title,{className:`sr-only`,children:ao(p,i)}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(H.Title,{className:`text-[18px] font-semibold tracking-[-0.02em] text-[var(--content-emphasised)]`,children:p(h?`autoTopUpPaymentMethodModal.replaceTitle`:`autoTopUpPaymentMethodModal.addTitle`)}),(0,Y.jsx)(H.Description,{className:`mt-[5px] text-[13px] leading-normal text-[var(--content-tertiary)]`,children:y})]})}),(0,Y.jsx)(H.Close,{asChild:!0,children:(0,Y.jsx)(`button`,{type:`button`,"data-testid":`payment-method-modal-close`,"aria-label":p(`autoTopUpPaymentMethodModal.close`),disabled:m,className:`flex h-7 w-7 shrink-0 cursor-pointer items-center justify-center rounded-md text-[var(--content-tertiary)] hover:bg-[var(--surface-hover)] hover:text-[var(--content-emphasised)] disabled:cursor-not-allowed disabled:opacity-45`,children:(0,Y.jsx)(Tt,{size:17})})})]}),(0,Y.jsxs)(`form`,{id:`payment-method-modal-form`,className:`flex min-h-0 flex-1 flex-col`,onSubmit:e=>{e.preventDefault(),d?.()},children:[(0,Y.jsxs)(H.Body,{className:k(`flex flex-col gap-[14px] px-6`,g?`pb-[22px]`:`pb-0`),children:[g?null:(0,Y.jsx)(`div`,{"data-testid":`payment-method-modal-fields`,"aria-busy":m,className:k(Xa,m&&`pointer-events-none opacity-45`),children:f}),s?(0,Y.jsxs)(`div`,{"data-testid":`auto-top-up-pm-modal-confirm-error`,className:`flex items-start gap-2`,children:[(0,Y.jsx)(`span`,{"aria-hidden":!0,className:`mt-[6px] h-[5px] w-[5px] shrink-0 rounded-full bg-[var(--system-negative-strong)]`}),(0,Y.jsx)(`p`,{className:`text-[12.5px] leading-normal text-[var(--system-negative-on-weak)]`,children:s})]}):null,n===`requires_action`?(0,Y.jsxs)(`div`,{"data-testid":`payment-method-modal-status-row`,className:`flex items-center gap-[10px] rounded-lg bg-[var(--surface-base)] px-[13px] py-3`,children:[(0,Y.jsx)(q,{"aria-hidden":!0,size:14,className:`shrink-0 animate-spin text-[var(--system-info-strong)]`}),(0,Y.jsx)(`span`,{className:`text-[13px] text-[var(--content-secondary)]`,children:p(`autoTopUpPaymentMethodModal.confirmingWithBank`)})]}):g?(0,Y.jsx)(oo,{card:i,autoReloadActive:a}):c?(0,Y.jsx)(`p`,{"data-testid":`payment-method-modal-terms`,className:`mt-1.5 text-[11.5px] leading-[1.55] text-[var(--content-quiet)]`,children:p(h?`autoTopUpPaymentMethodModal.termsReplace`:`autoTopUpPaymentMethodModal.termsAdd`)}):null]}),g?null:(0,Y.jsxs)(H.Footer,{className:`flex flex-col gap-1 px-6 pt-[18px] pb-[22px]`,children:[(0,Y.jsx)(U,{variant:`primary`,fullWidth:!0,type:`submit`,"data-testid":`auto-top-up-pm-save-button`,className:`h-auto rounded-lg py-[14px] text-[14.5px] font-semibold`,disabled:l||m,leftIcon:m?(0,Y.jsx)(q,{className:`animate-spin`}):void 0,children:p(m?`autoTopUpPaymentMethodModal.primarySubmitting`:h?`autoTopUpPaymentMethodModal.primaryReplace`:`autoTopUpPaymentMethodModal.primaryAdd`)}),(0,Y.jsx)(U,{variant:`ghost`,fullWidth:!0,type:`button`,className:`h-auto rounded-md py-[10px] text-[13.5px] font-medium [--vbtn-fg:var(--content-tertiary)] hover:[--vbtn-fg:var(--content-emphasised)]`,onClick:u,disabled:m,children:p(`autoTopUpPaymentMethodModal.cancel`)})]})]})]})})}function io(e,t){let n=Qa(t?.brand),r=t?.last4;if(!n&&!r)return e(`autoTopUpPaymentMethodModal.replaceSubtitle`);let i=eo(t?.expMonth,t?.expYear);return r?n?i?e(`autoTopUpPaymentMethodModal.replaceSubtitleCardExpiry`,{brand:n,last4:r,...i}):e(`autoTopUpPaymentMethodModal.replaceSubtitleCard`,{brand:n,last4:r}):i?e(`autoTopUpPaymentMethodModal.replaceSubtitleCardNoBrandExpiry`,{last4:r,...i}):e(`autoTopUpPaymentMethodModal.replaceSubtitleCardNoBrand`,{last4:r}):i?e(`autoTopUpPaymentMethodModal.replaceSubtitleCardNoLast4Expiry`,{brand:n,...i}):e(`autoTopUpPaymentMethodModal.replaceSubtitleCardNoLast4`,{brand:n})}function ao(e,t){let n=Qa(t?.brand),r=t?.last4;return r?n?e(`autoTopUpPaymentMethodModal.savedTitle`,{brand:n,last4:r}):e(`autoTopUpPaymentMethodModal.savedTitleNoBrand`,{last4:r}):e(`autoTopUpPaymentMethodModal.savedTitleGeneric`)}function oo({card:e,autoReloadActive:t}){let{t:n}=K(`settings`);return(0,Y.jsxs)(`div`,{"data-testid":`payment-method-modal-saved`,className:`flex items-center gap-[11px] rounded-lg bg-[var(--system-positive-weak)] p-[13px]`,children:[(0,Y.jsx)(`span`,{"aria-hidden":!0,className:`flex h-[22px] w-[22px] shrink-0 items-center justify-center rounded-full bg-[var(--system-positive-strong)] text-[12px] text-white`,children:`✓`}),(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`p`,{className:`text-[13.5px] font-medium text-[var(--system-positive-on-weak)]`,children:ao(n,e)}),t?(0,Y.jsx)(`p`,{className:`mt-px text-[12px] text-[var(--system-positive-on-weak)]`,children:n(`autoTopUpPaymentMethodModal.savedSubtitle`)}):null]})]})}var so=1500;function co(e){return dn({open:e.open,path:V.settings.usageBilling,onClose:e.onClose})?null:(0,Y.jsx)(lo,{...e})}function lo({open:e,onClose:t,mode:n=`add`,cardOnFile:r=null,billingAddress:i=null,initialOutcome:a=null,onSavedOptimistic:o}){let{t:s}=K(`settings`),c=nt(qe()),{mutate:l,reset:u}=c,d=a?.kind===`saved`,[f,p]=(0,J.useState)(d?`saved`:`idle`),[m,h]=(0,J.useState)(a?.kind===`error`?a.message:null),[g,_]=(0,J.useState)(a?.kind===`saved`?a.card:null),[v,y]=(0,J.useState)(!1),b=(0,J.useRef)(null),x=(0,J.useRef)(null),S=(0,J.useRef)(!0),C=(0,J.useRef)(null),w=(0,J.useRef)(a);(0,J.useEffect)(()=>{w.current=a},[a]);let T=(0,J.useRef)(t);(0,J.useEffect)(()=>{T.current=t},[t]),(0,J.useEffect)(()=>(S.current=!0,()=>{S.current=!1,uo(b),uo(x)}),[]);let E=(0,J.useCallback)(()=>{uo(x),x.current=setTimeout(()=>{T.current()},900)},[]);(0,J.useEffect)(()=>{uo(b),uo(x);let t=e?w.current:null,n=t?.kind===`saved`?t:null;p(n?`saved`:`idle`),h(t?.kind===`error`?t.message:null),_(n?.card??null),y(!1),n&&E()},[e,E]),(0,J.useEffect)(()=>{if(!e){u();return}},[e,d,l,u]);let D=c.data?.client_secret??null,[O,k]=(0,J.useState)(!1),[A,j]=(0,J.useState)(null);(0,J.useEffect)(()=>{k(!1),j(null)},[e,D]),(0,J.useCallback)(e=>{j(e),y(!1)},[]);let M=ze();return(0,J.useMemo)(()=>Oa(M),[M]),(0,J.useCallback)(e=>{C.current=e},[]),(0,J.useCallback)(async e=>{p(`submitting`),h(null),b.current=setTimeout(()=>{p(e=>e===`submitting`?`requires_action`:e)},so);try{let t=await e();if(uo(b),!S.current)return;if(t.error){p(`error`),h(t.error.code===`card_declined`?s(`autoTopUpPaymentMethodModal.declined`):t.error.message??s(`autoTopUpPaymentMethodModal.confirmFailed`));return}let n=await o({setupIntentId:Ya(D)});if(!S.current)return;_(n??null),p(`saved`),E()}catch{if(!S.current)return;p(`error`),h(s(`autoTopUpPaymentMethodModal.confirmFailed`))}finally{uo(b)}},[D,o,E,s]),(0,Y.jsx)(ro,{open:e,mode:n,state:f,cardOnFile:n===`replace`?r:null,savedCard:g,autoReloadActive:g?.autoReloadEnabled??!1,headerless:d,errorMessage:m,showTerms:!1,submitDisabled:!v,onClose:t,onSubmit:()=>{C.current?.()},children:(0,Y.jsx)(fo,{})})}function uo(e){e.current!==null&&(clearTimeout(e.current),e.current=null)}function fo(){let{t:e}=K(`settings`);return(0,J.useEffect)(()=>{console.warn(`[AutoTopUpPaymentMethodModal] VITE_STRIPE_PUBLISHABLE_KEY is not set; the payment-method modal cannot mount Stripe Elements.`)},[]),(0,Y.jsx)(i,{tone:`error`,children:e(`autoTopUpPaymentMethodModal.unavailable`)})}function po(e){return e==null||!e.has_payment_method?[]:[{id:`primary`,brand:e.payment_method_brand,last4:e.payment_method_last4,expMonth:e.payment_method_exp_month??null,expYear:e.payment_method_exp_year??null}]}function mo(e){let[t]=e;return t==null?{mode:`add`,cardOnFile:null}:{mode:`replace`,cardOnFile:{brand:t.brand,last4:t.last4,expMonth:t.expMonth,expYear:t.expYear}}}var ho=1500,go=2e4;function _o(e){let[t]=po(e);return t==null?null:{brand:t.brand,last4:t.last4,autoReloadEnabled:e?.enabled===!0}}function vo(){let e=it();return async()=>{let t=le(),n=e.getQueryData(t)?.stripe_payment_method_updated_at??null;await e.cancelQueries({queryKey:t});let r=()=>{let n=e.getQueryData(t);n!=null&&!n.has_payment_method&&s(e,void 0,{...n,has_payment_method:!0})};r();let i=e.getQueryCache().subscribe(e=>{e.type===`updated`&&e.query.queryHash===at(t)&&r()});try{let t=Date.now();for(;Date.now()-t<go;){try{let{data:t}=await Ae();if(t!=null&&t.has_payment_method&&t.stripe_payment_method_updated_at!==n)return s(e,void 0,t),_o(t)}catch{}await new Promise(e=>setTimeout(e,ho))}}finally{i()}return null}}function yo(){let e=it(),t=vo(),{mutateAsync:n}=nt(we());return async({setupIntentId:r})=>{if(r!=null)try{let t=await n({body:{setup_intent_id:r}});return await e.cancelQueries({queryKey:le()}),s(e,void 0,t),_o(t)}catch{}return t()}}var bo=We(rt()((e,t)=>({pending:!1,outcome:null,scopeKey:null,generation:0,beginResolving:()=>{let n=t().generation+1;return e({pending:!0,outcome:null,scopeKey:null,generation:n}),n},settleOutcome:(n,r,i)=>{i===t().generation&&e({pending:!1,outcome:n,scopeKey:r})},discardResolution:n=>{n===t().generation&&e({pending:!1,outcome:null,scopeKey:null})},abandonResolution:n=>{n===t().generation&&e({pending:!1,outcome:null,scopeKey:null,generation:n+1})},clearOutcome:()=>e({outcome:null,scopeKey:null})})));function xo(e){if(!e)return``;let t=parseFloat(e);return Number.isFinite(t)?String(Math.trunc(t)):``}var So={enabled:!1,threshold_usd:null,amount_usd:null,monthly_cap_usd:null,has_payment_method:!1,payment_method_brand:null,payment_method_last4:null,payment_method_exp_month:null,payment_method_exp_year:null,billing_address:null,stripe_payment_method_updated_at:null,last_charge_at:null,last_failure_at:null,last_failure_reason:null,disabled_due_to_repeated_failures:!1,paused_until:null,current_month_credits_purchased_usd:`0.00`,current_month_charged_usd:`0.00`,next_trigger_amount_usd:null,stubbed:!1};function Co(e){return{payment_method_brand:e?.payment_method_brand??null,payment_method_last4:e?.payment_method_last4??null,payment_method_exp_month:e?.payment_method_exp_month??null,payment_method_exp_year:e?.payment_method_exp_year??null,billing_address:e?.billing_address??null}}function wo({testId:e,children:t}){return(0,Y.jsx)(`div`,{"data-testid":e,className:`flex h-8 min-w-0 flex-1 items-center gap-1.5 rounded-lg bg-[var(--surface-base)] px-2`,children:t})}function To(){let{t:e}=K(`settings`),t=it(),n=A(),r=G(re()),a=nt(de()),o=nt(Ye()),c=yo(),l=bo.use.pending(),u=z(),[d,f]=st(),p=(0,J.useRef)(null),[m,h]=(0,J.useState)(`view`),[g,_]=(0,J.useState)(!1),[v,y]=(0,J.useState)(!1),[b,S]=(0,J.useState)(!1),[C,w]=(0,J.useState)(!1),[T,D]=(0,J.useState)(null),[O,k]=(0,J.useState)(null),j=(0,J.useRef)(!1),M=n.data?.has_payment_method===!0;(0,J.useEffect)(()=>{j.current&&!M&&(S(!1),h(`view`),_(!1)),j.current=M},[M]);let N=()=>{if(u){fn(V.settings.usageBillingConfigureTopUps);return}a.reset(),o.reset(),h(`form`)},P=e=>{if(u){fn(V.settings.usageBillingConfigureTopUps);return}if(_(!0),!e.has_payment_method||e.disabled_due_to_repeated_failures===!0){S(!0),w(!1);return}S(!1),N()},F=n.data?.has_payment_method===!0,te=n.data?.enabled===!0,ne=n.data?.disabled_due_to_repeated_failures===!0;(0,J.useEffect)(()=>{b&&F&&!ne&&(S(!1),g&&!te&&N())},[b,g,F,te,ne]);let ie=d.get(`configure_top_up`)===`1`;if((0,J.useEffect)(()=>{if(!ie||n.data==null)return;let e=new URLSearchParams(d);e.delete(`configure_top_up`),f(e,{replace:!0});let t=n.data;t.enabled===!0?N():P(t);let r=typeof window<`u`&&window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches===!0;p.current?.scrollIntoView({behavior:r?`auto`:`smooth`,block:`center`})},[ie,n.data]),n.isPending)return(0,Y.jsx)(`div`,{"data-testid":`auto-top-up-card`,children:(0,Y.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`autoTopUpCard.loading`)})});if(n.isError||!n.data)return(0,Y.jsx)(`div`,{"data-testid":`auto-top-up-card`,children:(0,Y.jsx)(i,{tone:`error`,children:e(`autoTopUpCard.loadError`)})});let I=n.data,R=I.enabled===!0,ae=I.disabled_due_to_repeated_failures===!0&&!R,B=()=>{h(`view`),_(!1)},oe=()=>{D(mo(po(I)))},se=()=>{o.reset(),y(!1)},ce=e=>{a.mutate({body:{enabled:!0,threshold_usd:e.threshold_usd,amount_usd:e.amount_usd,monthly_cap_usd:e.monthly_cap_usd===``?null:e.monthly_cap_usd}},{onSuccess:e=>{s(t,void 0,t=>({...e,...Co(t)})),t.invalidateQueries({queryKey:le()}),R||(t.invalidateQueries({queryKey:Fe()}),t.invalidateQueries({queryKey:E()})),B()}})},ue=r.data==null||r.isError||r.isFetching,H=r.isError,fe=e=>{let t=ue?null:r.data;if(t!=null){if(t.daily_credit_limit_usd==null){k(e);return}ce(e)}},pe=()=>{let e=O;k(null),e!=null&&ce(e)},me=()=>{o.mutate({},{onSuccess:()=>{s(t,void 0,e=>({...So,...Co(e),has_payment_method:e?.has_payment_method??!1,stripe_payment_method_updated_at:e?.stripe_payment_method_updated_at??null})),y(!1),h(`view`),_(!1)}})},he=()=>{if(k(null),R){me();return}B()},ge=e=>{if(e&&!R){P(I);return}if(!e&&!R&&g){S(!1),B();return}!e&&R&&y(!0)},_e=async e=>{let t=await c(e);return S(!1),g&&N(),t},ve=m===`form`,ye=ki(a.error),be=a.isError&&Object.keys(ye).length===0,xe=R||g;return(0,Y.jsxs)(`div`,{ref:p,"data-testid":`auto-top-up-card`,children:[(0,Y.jsx)(`div`,{className:`flex items-center justify-between gap-4`,children:(0,Y.jsx)(ee,{checked:xe,onChange:ge,label:e(`autoTopUpCard.toggleLabel`),helperText:xe?e(`autoTopUpCard.toggleHelper`):void 0})}),R&&!ve&&(0,Y.jsxs)(`div`,{className:`mt-3 flex w-full items-center gap-2`,children:[(0,Y.jsxs)(wo,{testId:`auto-top-up-summary`,children:[(0,Y.jsx)(wt,{className:`h-3.5 w-3.5 shrink-0 text-[var(--content-default)]`,"aria-hidden":`true`}),(0,Y.jsx)(x,{variant:`body-medium-default`,className:`truncate text-[var(--content-default)]`,children:e(`autoTopUpCard.summary`,{amount:L(I.amount_usd),threshold:L(I.threshold_usd)})})]}),I.monthly_cap_usd!=null&&(0,Y.jsx)(wo,{testId:`auto-top-up-cap-progress`,children:(0,Y.jsxs)(x,{variant:`body-medium-default`,className:`truncate text-[var(--content-default)]`,children:[(0,Y.jsx)(`span`,{children:L(I.current_month_credits_purchased_usd)}),(0,Y.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:e(`autoTopUpCard.capProgress`,{cap:L(I.monthly_cap_usd)})})]})}),(0,Y.jsx)(U,{variant:`outlined`,onClick:N,"data-testid":`auto-top-up-edit-button`,className:`shrink-0`,children:e(`autoTopUpCard.adjust`)})]}),ae&&(0,Y.jsx)(i,{tone:`warning`,className:`mt-3`,"data-testid":`auto-top-up-declined-cutoff`,actions:(0,Y.jsx)(U,{variant:`outlined`,onClick:oe,disabled:l,"data-testid":`auto-top-up-add-pm-button`,children:e(`autoTopUpCard.addPaymentMethod`)}),children:e(`autoTopUpCard.declinedCutoffNotice`)}),(0,Y.jsx)(`div`,{className:`grid transition-[grid-template-rows] duration-200 ease-in-out`,style:{gridTemplateRows:b&&!ae?`1fr`:`0fr`},children:(0,Y.jsx)(`div`,{className:`overflow-hidden`,children:(0,Y.jsxs)(`div`,{className:`mt-3 flex flex-col gap-3`,children:[!C&&(0,Y.jsxs)(`div`,{className:`flex h-8 items-center justify-between gap-3 rounded-md bg-[var(--system-mid-weak)] px-2`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Y.jsx)(Ot,{className:`h-4 w-4 shrink-0 text-[var(--system-mid-strong)]`,"aria-hidden":`true`}),(0,Y.jsx)(x,{variant:`body-medium-default`,className:`truncate text-[var(--system-mid-strong)]`,children:e(`autoTopUpCard.connectCardBanner`)})]}),(0,Y.jsx)(`button`,{type:`button`,"aria-label":e(`autoTopUpCard.dismiss`),onClick:()=>w(!0),className:`flex shrink-0 cursor-pointer items-center justify-center rounded p-0.5 text-[var(--system-mid-strong)] opacity-70 transition-opacity hover:opacity-100`,children:(0,Y.jsx)(Tt,{className:`h-2.5 w-2.5`,strokeWidth:2,"aria-hidden":`true`})})]}),(0,Y.jsx)(U,{variant:`primary`,onClick:oe,disabled:l,"data-testid":`auto-top-up-add-pm-button`,className:`self-start`,children:e(`autoTopUpCard.addCreditCard`)})]})})}),be&&(0,Y.jsx)(i,{tone:`error`,className:`mt-4`,"data-testid":`auto-top-up-update-error`,children:e(`autoTopUpCard.updateError`)}),o.isError&&(0,Y.jsx)(i,{tone:`error`,className:`mt-4`,"data-testid":`auto-top-up-disable-error`,children:e(`autoTopUpCard.disableError`)}),ve&&H&&(0,Y.jsx)(i,{tone:`error`,className:`mt-4`,"data-testid":`auto-top-up-daily-limit-lookup-error`,actions:(0,Y.jsx)(U,{variant:`outlined`,size:`compact`,onClick:()=>void r.refetch(),disabled:r.isFetching,"data-testid":`auto-top-up-daily-limit-retry-button`,children:e(`autoTopUpCard.retry`)}),children:e(`autoTopUpCard.dailyLimitLookupError`)}),ve&&(0,Y.jsx)(Ii,{initialValues:R?{threshold_usd:xo(I.threshold_usd),amount_usd:xo(I.amount_usd),monthly_cap_usd:xo(I.monthly_cap_usd)}:void 0,submitting:a.isPending||o.isPending,saveDisabled:ue,serverErrors:ye,onCancel:B,onSave:fe}),O!=null&&(0,Y.jsx)(Ai,{onSaved:pe,onCancel:he}),(0,Y.jsx)(ji,{open:v,confirming:o.isPending,onCancel:se,onConfirm:me}),(0,Y.jsx)(co,{open:T!=null,onClose:()=>D(null),mode:T?.mode??`add`,cardOnFile:T?.cardOnFile??null,billingAddress:I.billing_address??null,onSavedOptimistic:_e})]})}function Eo({title:e,subtitle:t,actions:n}){return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between sm:gap-4`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(x,{as:`h2`,variant:`title-medium`,className:`text-[var(--content-emphasised)]`,children:e}),t!=null&&(0,Y.jsx)(x,{as:`p`,variant:`body-medium-default`,className:`mt-2 text-[var(--content-tertiary)]`,children:t})]}),n!=null&&(0,Y.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:n})]})}function Do(e,t){let[n]=(0,J.useState)(()=>window.location.hash===`#${e}`),[r,i]=(0,J.useState)(!1);(0,J.useEffect)(()=>{if(!n||r||!t)return;let a=document.getElementById(e);if(!a)return;i(!0);let o=window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;a.scrollIntoView({behavior:o?`auto`:`smooth`,block:`start`})},[n,r,t,e])}var Oo=`daily-credit-limit`;function ko(){let{t:e}=K(`settings`),t=G(re()),n=G(Re()),r=A(),a=Oi(),o=S();Do(Oo,!t.isLoading&&!n.isLoading);let[s,c]=(0,J.useState)(null),[l,u]=(0,J.useState)(!1),[d,f]=(0,J.useState)(!1);if(t.isLoading)return(0,Y.jsx)(`div`,{"data-testid":`daily-credit-limit-card`,children:(0,Y.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`dailyCreditLimitCard.loading`)})});if(t.isError||!t.data)return(0,Y.jsx)(`div`,{"data-testid":`daily-credit-limit-card`,children:(0,Y.jsx)(i,{tone:`error`,children:e(`dailyCreditLimitCard.loadError`)})});let p=t.data,h=p.daily_credit_limit_usd!=null,g=h||d,_=s??p.daily_credit_limit_usd??``,v=Ei(_),y=n.data,b=y?.daily_spend_usd??p.current_day_spent_usd,x=y?.daily_limit_reached===!0,C=p.daily_limit_snoozed===!0||y?.daily_limit_snoozed===!0,w=m(),T=r.data?.enabled===!0&&!r.isError,E=e=>{c(e.target.value)},D=e=>{a.mutate({body:{daily_credit_limit_usd:e}},{onSuccess:()=>{c(null),u(!1),e===null&&f(!1)}})},O=e=>{if(e){f(!0);return}h&&T||(f(!1),c(null),u(!1),h&&D(null))},k=()=>{u(!0),!v&&D(parseFloat(_.trim()).toFixed(2))},j=ki(a.error).daily_credit_limit_usd??(a.isError?e(`dailyCreditLimitCard.saveError`):void 0),M=l?v:void 0;return(0,Y.jsxs)(`div`,{"data-testid":`daily-credit-limit-card`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsx)(ee,{checked:g,onChange:O,disabled:a.isPending||h&&T,label:e(`dailyCreditLimitCard.toggleLabel`),helperText:g?e(`dailyCreditLimitCard.toggleSubtitle`):void 0}),T&&(0,Y.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,"data-testid":`daily-credit-limit-required-note`,children:e(`dailyCreditLimitCard.requiredNote`)}),g&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-start gap-2`,children:[(0,Y.jsx)(`div`,{className:`w-60 max-w-full`,children:(0,Y.jsx)(Di,{value:_,onChange:E,onBlur:()=>u(!0),errorText:M,"data-testid":`daily-credit-limit-input`})}),(0,Y.jsx)(`div`,{className:`flex shrink-0 items-center gap-2 pt-[20px]`,children:(0,Y.jsx)(U,{variant:`primary`,onClick:k,disabled:a.isPending,"data-testid":`daily-credit-limit-save-button`,children:e(`dailyCreditLimitCard.save`)})})]}),h&&p.daily_credit_limit_usd!=null&&(0,Y.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,"data-testid":`daily-credit-limit-progress`,children:e(`dailyCreditLimitCard.progress`,{spent:P(b),limit:P(p.daily_credit_limit_usd)})}),C&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(i,{tone:`info`,"data-testid":`daily-credit-limit-skipped`,actions:(0,Y.jsx)(U,{variant:`outlined`,size:`compact`,onClick:()=>o.mutate({}),disabled:o.isPending,"data-testid":`daily-credit-limit-resume-button`,children:e(`dailyCreditLimitCard.resumeNow`)}),children:e(`dailyCreditLimitCard.skippedNotice`,{time:w})}),o.isError&&(0,Y.jsx)(i,{tone:`error`,"data-testid":`daily-credit-limit-resume-error`,children:e(`dailyCreditLimitCard.resumeError`)})]}),x&&(0,Y.jsx)(i,{tone:`warning`,"data-testid":`daily-credit-limit-reached`,children:e(`dailyCreditLimitCard.reachedNotice`,{time:w})})]})]}),j!=null&&(0,Y.jsx)(i,{tone:`error`,className:`mt-4`,"data-testid":`daily-credit-limit-update-error`,children:j})]})}function Ao(e){if(e.trim()===``)return;let t=parseFloat(e);if(!Number.isFinite(t)||t<1||t>1e3)return W(`settings:lowBalanceAlertCard.errorRange`);if(!/^\d+(\.\d{1,2})?$/.test(e.trim()))return W(`settings:lowBalanceAlertCard.errorDecimals`)}function jo(){let{t:e}=K(`settings`),t=it(),n=G(F()),r=nt(w()),[a,o]=(0,J.useState)(null),[s,c]=(0,J.useState)(!1);if(n.isLoading)return(0,Y.jsx)(`div`,{"data-testid":`low-balance-alert-card`,children:(0,Y.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`lowBalanceAlertCard.loading`)})});if(n.isError||!n.data)return(0,Y.jsx)(`div`,{"data-testid":`low-balance-alert-card`,children:(0,Y.jsx)(i,{tone:`error`,children:e(`lowBalanceAlertCard.loadError`)})});let l=n.data,u=a??l.threshold_usd??``,d=Ao(u),f=e=>{o(e.target.value)},p=e=>{r.mutate({body:{threshold_usd:e}},{onSuccess:e=>{g(t,void 0,e),t.invalidateQueries({queryKey:ae()}),o(null),c(!1)}})},m=()=>{if(c(!0),d)return;let e=u.trim();p(e===``?null:parseFloat(e).toFixed(2))},h=()=>{o(``),c(!1),p(null)},_=r.isError,v=s?d:void 0;return(0,Y.jsxs)(`div`,{"data-testid":`low-balance-alert-card`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-start gap-2`,children:[(0,Y.jsx)(`div`,{className:`w-60 max-w-full`,children:(0,Y.jsx)(ne,{type:`number`,step:`0.01`,label:e(`lowBalanceAlertCard.label`),helperText:e(`lowBalanceAlertCard.helperText`,{amount:P(l.default_threshold_usd)}),placeholder:l.effective_threshold_usd,value:u,onChange:f,onBlur:()=>c(!0),errorText:v,"data-testid":`low-balance-alert-input`,fullWidth:!0})}),(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 pt-[20px]`,children:[l.threshold_usd!=null&&(0,Y.jsx)(U,{variant:`outlined`,onClick:h,disabled:r.isPending,"data-testid":`low-balance-alert-reset-button`,children:e(`lowBalanceAlertCard.reset`)}),(0,Y.jsx)(U,{variant:`primary`,onClick:m,disabled:r.isPending,"data-testid":`low-balance-alert-save-button`,children:e(`lowBalanceAlertCard.save`)})]})]}),_&&(0,Y.jsx)(i,{tone:`error`,className:`mt-4`,"data-testid":`low-balance-alert-update-error`,children:e(`lowBalanceAlertCard.saveError`)})]})}var Mo=2e3;function No(e){let t=parseFloat(e);if(Number.isNaN(t))return`0`;let n=Math.abs(t).toLocaleString(`en-US`,{minimumFractionDigits:2,maximumFractionDigits:2}),r=n.endsWith(`.00`)?n.slice(0,-3):n;return t<0?`-${r}`:r}function Po(){let{t:e}=K(`settings`),t=it(),{data:n,isLoading:r,isError:a}=G(Re()),o=n??null,[s,c]=(0,J.useState)(!1),[l,u]=(0,J.useState)(!1),[d,f]=(0,J.useState)(!1),p=(0,J.useRef)(0),m=(0,J.useRef)(null),h=Ee({onSuccess:()=>{t.invalidateQueries({queryKey:E()})},onError:()=>{p.current<3&&(m.current=setTimeout(()=>{h.reset()},Mo))}});(0,J.useEffect)(()=>()=>{m.current&&clearTimeout(m.current)},[]);let g=h.mutate;(0,J.useEffect)(()=>{o&&o.settled_balance===`0.00`&&o.pending_compute===`0.00`&&o.effective_balance===`0.00`&&p.current<3&&!h.isPending&&!h.isError&&!h.isSuccess&&(p.current+=1,g({}))},[o,h.isPending,h.isError,h.isSuccess,g]);let _=(0,Y.jsx)(Eo,{title:e(`billingPanel.title`),subtitle:e(`billingPanel.subtitle`),actions:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(U,{variant:`outlined`,leftIcon:(0,Y.jsx)(wt,{className:`h-4 w-4`,"aria-hidden":!0}),onClick:()=>u(!0),"data-testid":`earn-credits-button`,children:e(`billingPanel.earnCreditsButton`)}),(0,Y.jsx)(U,{variant:`primary`,onClick:()=>c(!0),disabled:r||!o,"data-testid":`add-credits-button`,children:e(`billingPanel.addCreditsButton`)})]})});return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(me,{padding:`md`,children:[_,r?(0,Y.jsxs)(`div`,{className:`mt-4 flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Y.jsx)(q,{className:`h-4 w-4 animate-spin`}),e(`billingPanel.loading`)]}):a?(0,Y.jsx)(`div`,{className:`mt-4`,children:(0,Y.jsx)(i,{tone:`error`,children:e(`billingPanel.loadError`)})}):o?(0,Y.jsxs)(Y.Fragment,{children:[(()=>{if(!o)return null;let t=B(o.effective_balance,o.available_usage_balance),n=parseFloat(t)<0,r=No(t),i=r.startsWith(`-`)?`-$${r.slice(1)}`:`$${r}`;return(0,Y.jsx)(`div`,{className:`mt-4`,children:(0,Y.jsx)(He,{icon:(0,Y.jsx)(wt,{className:`h-4 w-4`,"aria-hidden":!0}),value:(0,Y.jsx)(`span`,{"data-testid":`effective-balance`,children:i}),label:e(`billingPanel.balanceLabel`),tone:n?`negative`:`default`})})})(),o.is_degraded&&(0,Y.jsx)(`div`,{className:`mt-4`,children:(0,Y.jsx)(i,{tone:`warning`,children:e(`billingPanel.degradedNotice`)})})]}):(0,Y.jsx)(`p`,{className:`mt-4 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`billingPanel.noInfo`)}),(0,Y.jsx)(`div`,{className:`mt-6`,children:(0,Y.jsx)(To,{})}),(0,Y.jsx)(`div`,{id:Oo,className:`mt-6 scroll-mt-4 border-t border-[var(--border-subtle)] pt-6`,children:(0,Y.jsx)(ko,{})}),(0,Y.jsx)(`div`,{className:`mt-6 border-t border-[var(--border-subtle)] pt-6`,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsx)(ee,{checked:d,onChange:f,label:e(`billingPanel.lowBalanceToggle`)}),d&&(0,Y.jsx)(jo,{})]})})]}),(0,Y.jsx)(mn,{open:s,onOpenChange:c}),(0,Y.jsx)(hn,{open:l,onOpenChange:u})]})}var Fo=1e3,Io=15e3,Lo=3e3,Ro=45e3,zo=`billing-portal-return`;function Bo(e,t){if(!e)return{kind:`info`,message:W(`settings:billingPortalReturnHandler.subscriptionUpdated`)};let n=e.cancel_at_period_end||!!e.cancel_at,r=t.cancel_at_period_end||!!t.cancel_at;return!n&&r?{kind:`info`,message:W(`settings:billingPortalReturnHandler.proCanceled`,{date:t.cancel_at?Qt(t.cancel_at):W(`settings:billingPortalReturnHandler.endOfBillingPeriod`)})}:n&&!r?{kind:`success`,message:W(`settings:billingPortalReturnHandler.proReactivated`)}:{kind:`info`,message:W(`settings:billingPortalReturnHandler.subscriptionUpdated`)}}function Vo(){let[e]=st(),t=lt(),n=it(),r=(0,J.useRef)(null);return(0,J.useEffect)(()=>()=>{r.current!==null&&(clearInterval(r.current),r.current=null)},[]),(0,J.useEffect)(()=>{if(e.get(`portal_return`)!==`true`)return;let i={current:!1},a=Gt(),o=he(),s=_(),l=Date.now();async function u(){await n.invalidateQueries({queryKey:s});let e=await n.fetchQuery(o);return{cancel_at_period_end:e.cancel_at_period_end,cancel_at:e.cancel_at}}async function d(){let e=await u();for(;!i.current&&a&&e.cancel_at_period_end===a.cancel_at_period_end&&e.cancel_at===a.cancel_at&&Date.now()-l<Io&&(await new Promise(e=>setTimeout(e,Fo)),!i.current);)e=await u();return e}return(async()=>{try{let e=await d();if(i.current)return;let{kind:t,message:n}=Bo(a,e);t===`success`?c.success(n,{id:zo}):c.info(n,{id:zo})}catch{if(i.current)return;c.info(W(`settings:billingPortalReturnHandler.subscriptionUpdated`),{id:zo})}finally{if(!i.current){Wt(),t(V.settings.usageBilling,{replace:!0});let e=Date.now();r.current!==null&&clearInterval(r.current),r.current=setInterval(()=>{if(Date.now()-e>=Ro){r.current!==null&&(clearInterval(r.current),r.current=null);return}u().catch(e=>{console.error(`billing poll error:`,e)})},Lo)}}})(),()=>{i.current=!0}},[e,t,n]),null}var Ho=[7,30,90];function Uo(e,t=pe()){let{fromDate:n,toDate:r}=bn(e,t);return{from:n,to:r}}function Wo({value:e,onChange:t}){let{t:n}=K(),r=Ho.find(t=>t===e)??30;return(0,Y.jsx)(Le,{options:Ho.map(e=>({value:`${e}`,label:n(`dateRangeSelect.lastDays`,{days:e})})),value:`${r}`,onChange:e=>t(Number(e)),"aria-label":n(`dateRangeSelect.ariaLabel`)})}var Go={strokeDasharray:`3 3`,stroke:`var(--border-subtle)`,strokeOpacity:.4},Ko={fontSize:12,fill:`var(--content-tertiary)`},qo={stroke:`var(--border-subtle)`,strokeOpacity:.4},Jo=[`#3b82f6`,`#10b981`,`#f59e0b`,`#ef4444`,`#8b5cf6`,`#06b6d4`,`#ec4899`,`#84cc16`];function Yo({item:e}){return(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 py-0.5 text-[13px] text-[var(--content-default)]`,children:[(0,Y.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),(0,Y.jsx)(`span`,{children:e.label}),(0,Y.jsx)(`span`,{className:`ml-auto tabular-nums`,children:e.value})]})}function Xo({active:e,payload:t,hoveredKey:n,label:r,labelMap:i,colorMap:a,formatValue:o,showTotal:s,formatLabel:c}){let{t:l}=K();if(!e||!t?.length)return null;let u=t.filter(e=>e.value!=null&&e.dataKey!=null).map(e=>({key:String(e.dataKey),label:i[String(e.dataKey)]??String(e.dataKey),value:o(Number(e.value)),color:a[String(e.dataKey)]??`#6b7280`,numericValue:Number(e.value)})).sort((e,t)=>e.numericValue===t.numericValue?e.label.localeCompare(t.label):t.numericValue-e.numericValue),d=n?u.find(e=>e.key===n):null,f=d?u.filter(e=>e.key!==n):u,p=u.reduce((e,t)=>e+t.numericValue,0);return(0,Y.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-overlay)] px-3.5 py-2.5 shadow-[var(--shadow-popover)]`,children:[(0,Y.jsx)(`div`,{className:`mb-1.5 text-xs font-medium text-[var(--content-secondary)]`,children:(c??yn)(String(r))}),d&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Yo,{item:d}),f.length>0&&(0,Y.jsx)(`div`,{className:`my-1.5 border-t border-[var(--border-subtle)]`})]}),f.map(e=>(0,Y.jsx)(Yo,{item:e},e.key)),s&&(0,Y.jsx)(`div`,{className:`mt-1 flex items-center gap-2 border-t border-[var(--border-subtle)] pt-1.5 text-[13px] font-semibold text-[var(--content-default)]`,children:(0,Y.jsx)(`span`,{children:l(`stackedBarTooltip.total`,{value:o(p)})})})]})}function Zo(e,t){let[n,r]=e,[i,a]=t,o=r-n||1;return e=>i+(e-n)/o*(a-i)}function Qo(e){if(e<=0)return 1;let t=10**Math.floor(Math.log10(e)),n=e/t,r;return r=n<=1?1:n<=2?2:n<=2.5?2.5:n<=5?5:10,r*t}function $o(e){if(e>=1)return+!Number.isInteger(e);let t=e/10**Math.floor(Math.log10(e)),n=Math.abs(t-2.5)<.01;return Math.ceil(-Math.log10(e))+ +!!n}function es(e,t){let n=Math.max(0,...e),r=t?.tickCount??5;return n===0?t?.integerOnly?r:1:t?.integerOnly?Math.max(1,Math.ceil(n/r))*r:Qo(n/r)*r}function ts(e,t){if(e===0)return[0];let n=e/t,r=10**(n>=1?0:Math.ceil(-Math.log10(n))+2),i=[];for(let e=0;e<=t;e++)i.push(Math.round(n*e*r)/r);return i}function ns(e,t,n,r,i){let a=Math.min(i,n/2,r/2);return[`M${e},${t+a}`,`A${a},${a} 0 0 1 ${e+a},${t}`,`H${e+n-a}`,`A${a},${a} 0 0 1 ${e+n},${t+a}`,`V${t+r}`,`H${e}`,`Z`].join(``)}function rs(e,t){if(e<=0)return[];if(t)return e<=3?Array.from({length:e},(e,t)=>t):[0,Math.floor(e/2),e-1];let n=Math.max(1,Math.ceil(e/Math.min(e,12))),r=[];for(let t=0;t<e;t+=n)r.push(t);return r[r.length-1]!==e-1&&r.push(e-1),r}var is=40,as={fontSize:11,fill:`var(--content-tertiary)`},os={runtime_proxy_api:`#3b82f6`,oauth_proxy:`#f59e0b`};function ss(e,t){return os[e]??Jo[t%Jo.length]??`#6b7280`}function cs(e,t){let n=new Set,r={};for(let t of e)for(let e of t.groups)n.add(e.group_key),r[e.group_key]=e.group_label;return{data:e.map(e=>{let n={date:e.date};for(let r of e.groups)n[r.group_key]=t===`spend`?parseFloat(r.total_usd):r.event_count;return n}),stackKeys:Array.from(n),labelMap:r}}function ls({stackKeys:e,labelMap:t}){return(0,Y.jsx)(`div`,{className:`flex flex-wrap items-center justify-center gap-x-5 gap-y-1 pt-3 text-body-small-default`,children:e.map((e,n)=>(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Y.jsx)(`span`,{className:`inline-block h-2.5 w-2.5 rounded-sm`,style:{backgroundColor:ss(e,n)}}),(0,Y.jsx)(`span`,{className:`text-[var(--content-quiet)]`,children:t[e]??e})]},e))})}var us=350,ds={top:8,right:4,bottom:32,left:0},fs=.2,ps=5,ms=12,hs=200;function gs({buckets:e,metric:t,onBarClick:n}){let{t:r}=K(`settings`),i=Se(),a=(0,J.useRef)(null),[o,s]=(0,J.useState)(0);(0,J.useEffect)(()=>{let e=a.current;if(!e)return;let t=new ResizeObserver(([e])=>{e&&s(e.contentRect.width)});return t.observe(e),()=>t.disconnect()},[]);let{data:c,stackKeys:l,labelMap:u}=(0,J.useMemo)(()=>cs(e,t),[e,t]),d=(0,J.useMemo)(()=>{let e={};for(let t=0;t<l.length;t++)e[l[t]]=ss(l[t],t);return e},[l]),f=(0,J.useCallback)(e=>t===`spend`?`$${e.toLocaleString(`en-US`,{minimumFractionDigits:2,maximumFractionDigits:2})}`:e.toLocaleString(`en-US`),[t]),[p,m]=(0,J.useState)(null),h=i?is:56,g=i?as:Ko,_=ds.left+h,v=Math.max(0,o-_-ds.right),y=ds.top,b=us-ds.top-ds.bottom,x=(0,J.useMemo)(()=>c.map(e=>l.reduce((t,n)=>t+(Number(e[n])||0),0)),[c,l]),S=t===`events`,C=(0,J.useMemo)(()=>es(x,{integerOnly:S,tickCount:ps}),[x,S]),w=(0,J.useMemo)(()=>ts(C,ps),[C]),T=(0,J.useCallback)(e=>{if(t===`spend`){if(e===0)return`$0`;let t=C/ps,n=Math.max(t<1?2:0,$o(t));return`$${e.toLocaleString(`en-US`,{minimumFractionDigits:n,maximumFractionDigits:n})}`}return e.toLocaleString(`en-US`)},[t,C]),E=(0,J.useMemo)(()=>Zo([0,C],[y+b,y]),[C,y,b]),D=c.length,O=D>0?v/D:0,k=O*(1-fs),A=(O-k)/2,j=(0,J.useMemo)(()=>rs(D,i),[D,i]),M=l.length===0,N=M?[]:c.map((e,t)=>{let n=_+t*O+A,r=0;return{di:t,x:n,segments:l.map((t,i)=>{let a=Number(e[t])||0,o=r;r+=a;let s=E(r),c=E(o)-s,u=i===l.length-1;return{key:t,val:a,x:n,y:s,h:c,color:ss(t,i),isLast:u}})}}),ee=(e,t,n)=>{let r=a.current?.getBoundingClientRect();r&&m({x:e.clientX-r.left,y:e.clientY-r.top,datumIndex:t,hoveredKey:n})},P=()=>m(null),F=e=>{n&&n(e)},te=p?l.filter(e=>(Number(c[p.datumIndex]?.[e])||0)>0).map(e=>({dataKey:e,value:Number(c[p.datumIndex]?.[e])||0})):[],ne={left:p?Math.max(0,Math.min(p.x+ms,o-hs)):0,top:p?p.y-ms:0,visibility:p?`visible`:`hidden`};return(0,Y.jsxs)(`div`,{onMouseDown:e=>e.preventDefault(),children:[(0,Y.jsx)(`div`,{ref:a,className:`relative w-full`,style:{height:us},children:M?(0,Y.jsx)(`div`,{className:`flex h-full items-center justify-center text-body-medium-lighter text-[var(--content-faint)]`,children:r(`billingUsageChart.empty`)}):o>0?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`svg`,{width:o,height:us,className:`block`,children:[w.map(e=>(0,Y.jsx)(`line`,{x1:_,x2:_+v,y1:E(e),y2:E(e),stroke:Go.stroke,strokeOpacity:Go.strokeOpacity,strokeDasharray:Go.strokeDasharray},e)),(0,Y.jsx)(`line`,{x1:_,x2:_+v,y1:y+b,y2:y+b,stroke:qo.stroke,strokeOpacity:qo.strokeOpacity}),w.map(e=>(0,Y.jsx)(`text`,{x:_-8,y:E(e),textAnchor:`end`,dominantBaseline:`middle`,fontSize:g.fontSize,fill:g.fill,children:T(e)},e)),j.map(e=>{let t=c[e];return t?(0,Y.jsx)(`text`,{x:_+e*O+O/2,y:y+b+20,textAnchor:`middle`,fontSize:g.fontSize,fill:g.fill,children:yn(String(t.date))},e):null}),N.map(({di:e,segments:t})=>t.map(t=>{if(t.h<=0)return null;let r=p?.hoveredKey&&p.hoveredKey!==t.key?.4:1,i={key:`${e}-${t.key}`,fill:t.color,opacity:r,cursor:n?`pointer`:void 0,onMouseMove:n=>ee(n,e,t.key),onMouseLeave:P,onClick:()=>F(t.key)};return t.isLast?(0,Y.jsx)(`path`,{...i,d:ns(t.x,t.y,k,t.h,3)}):(0,Y.jsx)(`rect`,{...i,x:t.x,y:t.y,width:k,height:t.h})}))]}),(0,Y.jsx)(`div`,{className:`pointer-events-none absolute z-[1] max-w-[calc(100vw-32px)] -translate-y-full`,style:ne,children:(0,Y.jsx)(Xo,{active:!!p,payload:te,hoveredKey:p?.hoveredKey??void 0,label:p?String(c[p.datumIndex]?.date):``,labelMap:u,colorMap:d,formatValue:f})})]}):null}),!M&&(0,Y.jsx)(ls,{stackKeys:l,labelMap:u})]})}function _s(e){if(e)return e.usageSource===`oauth_proxy`?`oauth_provider`:In(e.llmDimension??`model`)}function vs(e,t=pe()){return{from:e.dateRange.from,to:e.dateRange.to,tz:t,...e.drilldown?{usage_source:e.drilldown.usageSource,group_by:_s(e.drilldown)}:{}}}function ys(e,t=pe()){return{from:e.dateRange.from,to:e.dateRange.to,tz:t,...e.drilldown?{usage_source:e.drilldown.usageSource}:{}}}function bs(e,t,n){return e===`full`&&t!==`gated`&&n}function xs(e){let t=fe(),n=bs(Xe({platformHostedOnly:!0}),Xe(),Qe()),r=G({..._e({query:vs(e,t)}),enabled:n}),i=G({...xe({query:ys(e,t)}),enabled:n});return{series:r.data,totals:i.data,isLoading:r.isLoading||i.isLoading,isError:r.isError||i.isError}}function Ss(e){if(e===void 0)return`—`;let t=parseFloat(e);return Number.isNaN(t)?`$0.00`:`$${t.toLocaleString(`en-US`,{minimumFractionDigits:2,maximumFractionDigits:2})}`}function Cs(e){return e===void 0?`—`:e.toLocaleString(`en-US`)}function ws(){let{t:e}=K(`settings`),t=fe(),[n,r]=(0,J.useState)(30),i=(0,J.useMemo)(()=>Uo(n,t),[n,t]),[a,o]=(0,J.useState)(null),[s,c]=(0,J.useState)(`spend`),l=(0,J.useMemo)(()=>[{value:`spend`,label:e(`billingUsagePanel.metricSpend`)},{value:`events`,label:e(`billingUsagePanel.metricEvents`)}],[e]),{series:d,totals:f,isLoading:p,isError:m}=xs({dateRange:i,drilldown:a,setDrilldown:o}),h=a?void 0:e=>{let t={runtime_proxy_api:`runtime_proxy`,oauth_proxy:`oauth_proxy`}[e];t&&o({usageSource:t,...t===`runtime_proxy`?{llmDimension:jn}:{}})};return(0,Y.jsx)(me,{padding:`md`,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(x,{as:`h2`,variant:`title-medium`,className:`text-[var(--content-default)]`,children:e(`billingUsagePanel.title`)}),(0,Y.jsx)(x,{as:`p`,variant:`body-small-default`,className:`mt-2 text-[var(--content-tertiary)]`,children:e(`billingUsagePanel.subtitle`)})]}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:[(0,Y.jsx)(Wo,{value:n,onChange:r}),(0,Y.jsx)(`div`,{className:`w-44`,children:(0,Y.jsx)(u,{items:l,value:s,onChange:c,ariaLabel:e(`billingUsagePanel.chartMetricAria`)})})]})]}),(0,Y.jsxs)(`div`,{className:`grid grid-cols-1 gap-2 sm:grid-cols-2`,children:[(0,Y.jsx)(He,{icon:(0,Y.jsx)(wt,{className:`h-4 w-4`,"aria-hidden":!0}),value:p?(0,Y.jsx)(q,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):Ss(f?.total_usd),label:e(`billingUsagePanel.spendLabel`)}),(0,Y.jsx)(He,{icon:(0,Y.jsx)(ht,{className:`h-4 w-4`,"aria-hidden":!0}),value:p?(0,Y.jsx)(q,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):Cs(f?.event_count),label:e(`billingUsagePanel.eventsLabel`)})]}),a&&(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,Y.jsx)(`div`,{children:(0,Y.jsxs)(`button`,{className:`flex items-center gap-1.5 text-body-medium-lighter text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)]`,onClick:()=>o(null),children:[(0,Y.jsx)(bt,{className:`h-3.5 w-3.5`}),(0,Y.jsx)(`span`,{children:e(`billingUsagePanel.backToAllUsage`)}),(0,Y.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:`/`}),(0,Y.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:a.usageSource===`runtime_proxy`?e(`billingUsagePanel.llmSpend`):e(`billingUsagePanel.oauthSpend`)})]})}),a.usageSource===`runtime_proxy`&&(0,Y.jsx)(`div`,{className:`w-56`,children:(0,Y.jsx)(u,{items:Nn,value:a.llmDimension??`model`,onChange:e=>o({usageSource:`runtime_proxy`,llmDimension:e}),ariaLabel:e(`billingUsagePanel.llmDimensionAria`)})})]}),p?(0,Y.jsx)(`div`,{className:`flex h-[345px] items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,Y.jsx)(q,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})}):m?(0,Y.jsx)(`div`,{className:`flex h-[345px] items-center justify-center rounded-xl bg-[var(--surface-base)] text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`billingUsagePanel.loadError`)}):d?(0,Y.jsx)(`div`,{className:`rounded-xl bg-[var(--surface-base)] p-3`,children:(0,Y.jsx)(gs,{buckets:d.buckets,metric:s,onBarClick:h})}):null]})})}function Ts(){let{t:e}=K(`settings`),t=z(),{data:n}=G(he()),r=Kt((0,J.useMemo)(()=>an(n),[n])),{reactivateSubscription:a,isPending:o}=vi(),s=o||r.isPending;if(!n||n.plan_id!==`pro`||n.status===`canceled`||!n.cancel_at_period_end&&!n.cancel_at)return null;let c=sn(n);return c?(0,Y.jsx)(i,{tone:`info`,title:e(`gracePeriodBanner.title`,{date:Qt(c)}),actions:(0,Y.jsx)(U,{variant:`outlined`,size:`compact`,onClick:()=>{if(t){fn(V.settings.usageBilling);return}if(!qt(n)){r.mutate({});return}a()},disabled:s,leftIcon:s?(0,Y.jsx)(q,{className:`animate-spin`}):void 0,"data-testid":`grace-period-reactivate-button`,children:e(`gracePeriodBanner.reactivate`)}),"data-testid":`grace-period-banner`,children:e(`gracePeriodBanner.body`)}):null}var Es=new Set([`BIF`,`CLP`,`DJF`,`GNF`,`JPY`,`KMF`,`KRW`,`MGA`,`PYG`,`RWF`,`VND`,`VUV`,`XAF`,`XOF`,`XPF`]),Ds=new Set([`BHD`,`JOD`,`KWD`,`OMR`,`TND`]);function Os(e){return Es.has(e)?0:Ds.has(e)?3:2}var ks={invoices:[],has_more:!1},As=4,js=`text-body-small-default [--vbtn-fg:var(--content-tertiary)] hover:[--vbtn-fg:var(--content-secondary)]`;function Ms(e){switch(e){case`paid`:return`positive`;case`open`:return`warning`;case`uncollectible`:return`negative`;default:return`neutral`}}function Ns(e,t){let n=t.toUpperCase(),r=Os(n);try{return new Intl.NumberFormat(void 0,{style:`currency`,currency:n,minimumFractionDigits:r,maximumFractionDigits:r}).format(e/10**r)}catch{return`${(e/100).toFixed(2)} ${n}`}}function Ps(e){return te(new Date(e*1e3),{alwaysShowYear:!0})}function Fs(e){ve(e)}function Is(){let{t:e}=K(`settings`),[t,n]=(0,J.useState)(!1),[r,a]=(0,J.useState)(!1),[o,s]=(0,J.useState)(!1),[l,u]=(0,J.useState)(!1),d=(0,J.useRef)(0),f=it(),p=ot({enabled:t,queryKey:N(),queryFn:async({signal:e,pageParam:t})=>{let{data:n,error:r,response:i}=await Ke({throwOnError:!1,signal:e,query:t?{starting_after:t}:void 0});if(i?.status===404)return ks;if($e(i,r,`Failed to load invoices.`),!i.ok||!n)throw y(r,i);return n},initialPageParam:void 0,getNextPageParam:e=>e.has_more?e.invoices.at(-1)?.id:void 0}),m=p.data?.pages.flatMap(e=>e.invoices)??[],h=r?m:m.slice(0,As),g=m.length>As,_=p.isFetchNextPageError||l,v=(r||!g)&&p.hasNextPage&&!_,b=p.isRefetching||p.isFetchingNextPage;function S(){let e=d.current;p.fetchNextPage().then(t=>{e===d.current&&u(t.isError)})}function C(){let e=d.current;p.refetch().then(t=>{if(e===d.current){if(t.isError){u(!0);return}S()}})}async function w(){s(!0);try{let{data:e,response:t}=await Ce({throwOnError:!1,parseAs:`blob`});if(!t?.ok||!(e instanceof Blob))throw Error(`Failed to download invoices (${t?.status??`network error`})`);let{saveFile:n}=await ft(async()=>{let{saveFile:e}=await import(`./native-file-BKR4KkJt.js`);return{saveFile:e}},__vite__mapDeps([0,1,2,3,4,5,6]));await n(e,`invoices.zip`)}catch(t){R(t,{context:`download_all_invoices`}),c.error(e(`invoicesTable.downloadAllFailed`))}finally{s(!1)}}return(0,Y.jsx)(me,{padding:`md`,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsx)(Eo,{title:e(`invoicesTable.title`),actions:(0,Y.jsxs)(Y.Fragment,{children:[t&&m.length>0&&(0,Y.jsx)(U,{variant:`outlined`,leftIcon:o?(0,Y.jsx)(q,{className:`animate-spin`}):(0,Y.jsx)(Et,{className:`h-4 w-4`}),onClick:w,disabled:o,"data-testid":`invoices-download-all`,children:e(`invoicesTable.downloadAll`)}),(0,Y.jsx)(U,{variant:`outlined`,rightIcon:t?(0,Y.jsx)(St,{className:`h-4 w-4`}):(0,Y.jsx)(vt,{className:`h-4 w-4`}),onClick:()=>{d.current+=1,u(!1),t&&f.cancelQueries({queryKey:N()}),n(e=>!e)},"data-testid":`invoices-toggle`,children:e(t?`invoicesTable.hideButton`:`invoicesTable.showButton`)})]})}),t?p.isLoading?(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-[var(--content-tertiary)]`,children:[(0,Y.jsx)(q,{className:`h-4 w-4 animate-spin`}),(0,Y.jsx)(x,{as:`span`,variant:`body-small-default`,children:e(`invoicesTable.loading`)})]}):p.isLoadingError?(0,Y.jsx)(i,{tone:`error`,children:e(`invoicesTable.loadError`)}):m.length===0?(0,Y.jsx)(x,{as:`p`,variant:`body-small-default`,className:`py-6 text-center text-[var(--content-tertiary)]`,"data-testid":`invoices-empty`,children:e(`invoicesTable.empty`)}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`overflow-x-auto`,children:(0,Y.jsxs)(`table`,{className:`w-full`,"data-testid":`invoices-table`,children:[(0,Y.jsx)(`thead`,{children:(0,Y.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] text-left`,children:[(0,Y.jsx)(`th`,{className:`pb-2 pr-4 text-body-small-default text-[var(--content-tertiary)]`,children:e(`invoicesTable.columnDate`)}),(0,Y.jsx)(`th`,{className:`pb-2 pr-4 text-body-small-default text-[var(--content-tertiary)]`,children:e(`invoicesTable.columnAmount`)}),(0,Y.jsx)(`th`,{className:`pb-2 pr-4 text-body-small-default text-[var(--content-tertiary)]`,children:e(`invoicesTable.columnStatus`)}),(0,Y.jsx)(`th`,{className:`pb-2 text-body-small-default text-[var(--content-tertiary)]`,children:e(`invoicesTable.columnAction`)})]})}),(0,Y.jsx)(`tbody`,{children:h.map(t=>(0,Y.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] last:border-0`,"data-testid":`invoice-row`,children:[(0,Y.jsx)(`td`,{className:`py-3 pr-4`,children:(0,Y.jsx)(x,{as:`span`,variant:`body-small-default`,className:`text-[var(--content-secondary)]`,children:Ps(t.created)})}),(0,Y.jsx)(`td`,{className:`py-3 pr-4`,children:(0,Y.jsx)(x,{as:`span`,variant:`body-small-default`,className:`text-[var(--content-secondary)]`,children:Ns(t.amount_due,t.currency)})}),(0,Y.jsx)(`td`,{className:`py-3 pr-4`,children:t.status&&(0,Y.jsx)(T,{tone:Ms(t.status),children:t.status})}),(0,Y.jsx)(`td`,{className:`py-3`,children:(0,Y.jsxs)(`div`,{className:`flex items-center gap-1`,children:[t.hosted_invoice_url&&(0,Y.jsx)(U,{asChild:!0,variant:`ghost`,size:`compact`,leftIcon:(0,Y.jsx)(Ct,{className:`h-3.5 w-3.5`}),children:(0,Y.jsx)(`a`,{href:t.hosted_invoice_url,target:`_blank`,rel:`noopener noreferrer`,children:e(`invoicesTable.view`)})}),t.invoice_pdf&&(0,Y.jsx)(U,{variant:`ghost`,size:`compact`,iconOnly:(0,Y.jsx)(Et,{className:`h-3.5 w-3.5`}),"aria-label":e(`invoicesTable.downloadPdfAriaLabel`),onClick:()=>Fs(t.invoice_pdf)})]})})]},t.id))})]})}),(g||v||_)&&(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-4 self-start`,children:[g&&(0,Y.jsx)(U,{variant:`link`,onClick:()=>a(e=>!e),className:js,"data-testid":`invoices-show-more`,children:r?e(`invoicesTable.showLess`):e(`invoicesTable.showMore`,{count:m.length-As})}),v&&(0,Y.jsx)(U,{variant:`link`,onClick:S,disabled:p.isFetchingNextPage,leftIcon:p.isFetchingNextPage&&(0,Y.jsx)(q,{className:`h-4 w-4 animate-spin`}),className:js,"data-testid":`invoices-load-more`,children:e(`invoicesTable.loadMore`)}),_&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,"data-testid":`invoices-load-more-error`,children:[(0,Y.jsx)(x,{as:`span`,variant:`body-small-default`,className:`text-[color:var(--content-negative)]`,children:e(`invoicesTable.loadMoreError`)}),(0,Y.jsx)(U,{variant:`link`,onClick:C,disabled:b,leftIcon:b&&(0,Y.jsx)(q,{className:`h-4 w-4 animate-spin`}),className:js,"data-testid":`invoices-load-more-retry`,children:e(`invoicesTable.retry`)})]})]})]}):null]})})}function Ls({brand:e,last4:t,expMonth:n=null,expYear:r=null,onUpdateCard:i,actionsDisabled:a=!1}){let{t:o}=K(`settings`),s=to(o,n,r);return(0,Y.jsxs)(`div`,{"data-testid":`payment-method-row`,className:`flex items-center justify-between gap-2 rounded-lg border border-[var(--border-base)] pl-3 pr-2 py-1.5`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Y.jsx)(Dt,{"aria-hidden":!0,className:`h-4 w-4 shrink-0 text-[var(--content-default)]`}),(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-baseline gap-2`,children:[(0,Y.jsx)(x,{as:`p`,variant:`body-medium-default`,className:`truncate leading-snug text-[var(--content-default)]`,children:$a(o,e)}),t!=null&&(0,Y.jsx)(x,{as:`p`,variant:`body-small-default`,className:`truncate leading-snug text-[var(--content-tertiary)]`,children:o(`paymentMethodRow.endingIn`,{last4:t})}),s!=null&&(0,Y.jsx)(x,{as:`p`,variant:`body-small-default`,className:`truncate leading-snug text-[var(--content-quiet)]`,children:s})]})]}),(0,Y.jsx)(U,{variant:`ghost`,onClick:i,disabled:a,"data-testid":`payment-method-update`,className:`shrink-0`,children:o(`paymentMethodRow.replaceCard`)})]})}function Rs(){let{t:e}=K(`settings`),t=it(),n=A(),r=yo(),a=bo.use.outcome(),o=bo.use.scopeKey(),s=bo.use.pending(),c=bo.use.clearOutcome(),l=ye(),u=a!=null&&o===l,d=u?a:null,[f,p]=(0,J.useState)(null);(0,J.useEffect)(()=>{a!=null&&!u&&c()},[a,u,c]);let m=n.data,h=(0,J.useMemo)(()=>po(m),[m]),g=m!=null&&h.length===0,_=()=>{p(mo(h))},v=n.isSuccess||n.isError;return(0,J.useEffect)(()=>{d!=null&&(d.kind!==`saved`&&!v||p(e=>e??(d.kind===`saved`?{mode:`add`,cardOnFile:null}:mo(h))))},[d,h,v]),(0,J.useEffect)(()=>{d?.kind!==`saved`||d.card==null||t.invalidateQueries({queryKey:le()})},[d,t]),(0,Y.jsxs)(me,{padding:`md`,"data-testid":`payment-methods-card`,children:[(0,Y.jsx)(Eo,{title:e(`paymentMethodsCard.title`),actions:g?(0,Y.jsx)(U,{variant:`outlined`,onClick:_,disabled:s,"data-testid":`payment-methods-add`,children:e(`paymentMethodsCard.addButton`)}):void 0}),n.isPending?(0,Y.jsx)(`p`,{className:`mt-4 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`paymentMethodsCard.loading`)}):n.isError||m==null?(0,Y.jsx)(`div`,{className:`mt-4`,children:(0,Y.jsx)(i,{tone:`error`,children:e(`paymentMethodsCard.loadError`)})}):h.length===0?(0,Y.jsx)(`div`,{className:`mt-4`,children:(0,Y.jsx)(i,{tone:`info`,"data-testid":`payment-methods-empty`,children:e(`paymentMethodsCard.empty`)})}):(0,Y.jsx)(`div`,{className:h.length>1?`mt-4 flex flex-col gap-1`:`mt-4`,children:h.map(e=>(0,Y.jsx)(Ls,{brand:e.brand,last4:e.last4,expMonth:e.expMonth,expYear:e.expYear,onUpdateCard:_,actionsDisabled:s},e.id))}),(0,Y.jsx)(co,{open:f!=null,onClose:()=>{p(null),c()},mode:f?.mode??`add`,cardOnFile:f?.cardOnFile??null,billingAddress:m?.billing_address??null,initialOutcome:d,onSavedOptimistic:r})]})}function zs({icon:e,label:t,multiline:n=!1}){return(0,Y.jsxs)(`div`,{className:v(`flex items-center gap-1.5 rounded-md bg-[var(--surface-lift)] px-2 py-1.5`,n?`min-h-8 min-w-0`:`h-8`),children:[(0,Y.jsx)(e,{className:`size-[18px] shrink-0 text-[var(--content-default)]`,"aria-hidden":!0}),(0,Y.jsx)(x,{as:`span`,variant:`body-medium-default`,className:v(`text-[var(--content-default)]`,n?`whitespace-normal`:`whitespace-nowrap`),children:t})]})}function Bs({theme:e,tierKey:t,name:n,nameTestId:r,tag:i,specs:a,footer:o,testId:s,className:c}){let l=a?.filter(e=>!e.ownRow)??[],u=a?.filter(e=>e.ownRow)??[];return(0,Y.jsxs)(`div`,{"data-theme":e,"data-testid":s,className:v(`flex min-w-0 flex-1 flex-col gap-8 rounded-xl bg-[var(--surface-base)] px-4 py-3`,c),children:[(0,Y.jsxs)(`div`,{className:`flex flex-col items-start gap-6`,children:[i,(0,Y.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,Y.jsx)(Lt,{tier:t,size:48}),(0,Y.jsx)(x,{as:`span`,variant:`title-large`,className:`text-[var(--content-emphasised)]`,"data-testid":r,children:n})]})]}),a?.length?(0,Y.jsxs)(`div`,{className:`flex flex-col items-start gap-1`,children:[l.length?(0,Y.jsx)(`div`,{className:`flex flex-row flex-wrap items-start gap-1`,children:l.map(e=>(0,Y.jsx)(zs,{icon:e.icon,label:e.label,multiline:e.multiline},e.label))}):null,u.map(e=>(0,Y.jsx)(zs,{icon:e.icon,label:e.label,multiline:!0},e.label))]}):null,o?(0,Y.jsx)(`div`,{className:`mt-auto w-full`,children:o}):null]})}function Vs({ratio:e,exhausted:t=!1,onAddCredits:n}){let{t:r}=K(`settings`),i=r(`planCard.usageBalanceTitle`),a=Math.round(e*100),o=e>=1;return(0,Y.jsxs)(`div`,{"data-testid":`plan-usage-balance`,className:`flex w-full flex-col gap-3 rounded-[10px] border border-[var(--border-base)] bg-[color-mix(in_srgb,var(--surface-overlay)_40%,transparent)] px-4 py-3`,children:[(0,Y.jsxs)(`div`,{className:`flex w-full items-center justify-between gap-3`,children:[(0,Y.jsx)(x,{as:`span`,variant:`body-large-default`,className:`min-w-0 text-[var(--content-emphasised)]`,children:i}),(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center justify-end gap-3`,children:[(0,Y.jsx)(tt,{value:e,height:8,"aria-label":i,fillColor:o?`var(--system-negative-strong)`:void 0,className:`w-full min-w-0 max-w-[249px] rounded-full border border-[var(--border-base)] bg-[var(--surface-overlay)]`}),(0,Y.jsx)(x,{as:`span`,variant:`body-small-default`,className:o?`whitespace-nowrap text-[var(--system-negative-strong)]`:`whitespace-nowrap text-[var(--content-secondary)]`,children:r(`planCard.usageBalancePctUsed`,{pct:a})})]})]}),t?(0,Y.jsxs)(`div`,{className:`flex min-h-8 w-full items-center justify-between gap-2 rounded-md bg-[var(--system-negative-weak)] px-2 py-1`,children:[(0,Y.jsx)(x,{as:`span`,variant:`body-medium-default`,className:`min-w-0 text-[var(--system-negative-strong)]`,children:r(`planCard.usageBalanceExhausted`)}),n?(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,Y.jsx)(`span`,{"aria-hidden":!0,className:`h-[18px] w-px bg-[var(--system-negative-strong)] opacity-30`}),(0,Y.jsx)(U,{variant:`dangerGhost`,size:`compact`,leftIcon:(0,Y.jsx)(gt,{}),onClick:n,"data-testid":`plan-usage-add-credits`,children:r(`planCard.usageBalanceAddCredits`)})]}):null]}):null]})}function Hs(){let{t:e}=K(`settings`);return(0,Y.jsx)(x,{as:`h2`,variant:`title-medium`,className:`text-[var(--content-emphasised)]`,children:e(`planCard.heading`)})}function Us({packages:e,currentKey:t,currentPriceCents:n,isProUser:r,canChangePackage:i,relation:a,onManage:o,onTierUpgraded:s}){let{t:l}=K(`settings`),u=it(),d=nt(O()),{changePackage:f,isPending:p}=rn(),[m,h]=(0,J.useState)(!1),[g,v]=(0,J.useState)(!1),y=ze()===`light`?`dark`:`light`;on();let b=z(),x=Ft(e,t),S=m||d.isPending||p,C=async()=>{if(!x)return;let e=await f(x.key);e&&(v(!1),e.status===`ok`?s?.():c.success(l(`planCard.alreadyOnPlanToast`)))},w=async()=>{if(x){if(b){fn(V.settings.usageBilling);return}if(r&&!i){o();return}if(r){v(!0);return}h(!0);try{let e=await d.mutateAsync({body:{target_plan_id:`pro`,package:x.key,confirm:!0,return_target:pn()}});e.status===`redirect`&&e.checkout_url?(je({kind:`package`,packageKey:x.key}),Ve(u),ge(e.checkout_url)):(await u.invalidateQueries({queryKey:_()}),await u.invalidateQueries({queryKey:ce()}))}catch(e){c.error(Jt(e,l(`planCard.checkoutFailedToast`)))}finally{h(!1)}}};if(x==null||a===`switch`)return null;let E=n==null?null:x.total_price_cents-n,D=E!=null&&E>0?l(`planCard.powerUpFor`,{amount:Zt(E)}):l(`planCard.powerUp`);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Bs,{theme:y,testId:`plan-tile-next`,tierKey:x.key,name:x.name,tag:(0,Y.jsx)(T,{className:`bg-[var(--feed-digest-weak)] text-[var(--credits-accent)]`,leftIcon:(0,Y.jsx)(yt,{className:`text-[var(--credits-accent)]`,"aria-hidden":!0}),children:l(`planCard.nextPlan`)}),specs:Nt(x,l(`planCard.usageChip`,{name:x.name})),footer:(0,Y.jsx)(U,{variant:`primary`,fullWidth:!0,tintColor:`var(--aux-white)`,className:`h-10 border-transparent bg-[var(--system-positive-strong)] hover:bg-[var(--system-positive-strong)] hover:opacity-90 active:bg-[var(--system-positive-strong)]`,onClick:()=>void w(),disabled:S,leftIcon:S?(0,Y.jsx)(q,{className:`h-4 w-4 animate-spin`}):void 0,"data-testid":`recommended-upgrade-button`,children:D})}),(0,Y.jsx)(en,{open:g,relation:a,packageName:x.name,targetPackage:x,pending:S,onConfirm:()=>void C(),onCancel:()=>v(!1)})]})}function Ws(e){return e?.find(e=>e.id===`pro`)??null}function Gs(e,t){let n=e?.package;return!e||e.plan_id===`base`||!Pt(n)?null:Ws(t)?.packages?.find(e=>e.key===n.key&&e.version===n.version)??null}function Ks({onManage:e,onTierUpgraded:t}){let{t:n}=K(`settings`),r=lt(),a=G(he()),o=G(M()),{balance:s,availableUsageBalance:c,totalUsageBalance:l}=Be(),[u,d]=(0,J.useState)(!1),f=Gs(a.data,o.data?.plans),p=Ie({subscription:a.data,availableUsageBalance:c,totalUsageBalance:l});if(a.isLoading||o.isLoading)return(0,Y.jsxs)(me,{padding:`md`,children:[(0,Y.jsx)(Hs,{}),(0,Y.jsxs)(`div`,{className:`mt-4 flex items-center gap-2 text-[var(--content-tertiary)]`,children:[(0,Y.jsx)(q,{className:`h-4 w-4 animate-spin`}),(0,Y.jsx)(x,{as:`span`,variant:`body-small-default`,children:n(`planCard.loading`)})]})]});let m=a.data,h=o.data?.plans,g=h?.find(e=>e.id===m?.plan_id);if(a.isError||o.isError||!m||!h||!g)return(0,Y.jsx)(i,{tone:`error`,children:n(`planCard.loadError`)});let _=g.id===`pro`?Rt(m.package):g.name??g.id,v=m.cancel_at_period_end===!0||!!m.cancel_at,y=m.status===`canceled`,b=sn(m),S=!v&&!y&&m.current_period_end,C=v&&!y&&b,w=Ws(h)?.packages??[],E=m.package?.key??null,D=E??`free`,O=w.length>0&&(g.id===`base`||Pt(m.package)||Vt(m))?()=>r(V.plans):e,k=Vt(m),A=g.id===`base`||Pt(m.package)?`upgrade`:`switch`,j=g.id===`base`,N=j?zt():f?Nt(f,n(`planCard.usageChip`,{name:f.name})):null,ee=j?0:f?.total_price_cents??null,P=j?n(`planCard.freeForever`):f?Xt(f.total_price_cents):null,F=P?(0,Y.jsx)(`div`,{className:`flex h-10 items-center border-t border-[var(--border-base)]`,children:(0,Y.jsx)(x,{as:`span`,variant:`body-large-default`,className:`text-[var(--content-tertiary)]`,"data-testid":`plan-card-price`,children:P})}):void 0,te=s!=null&&Number(s)<=0,ne=p!=null&&p.ratio>=1&&te,re=(p?(0,Y.jsx)(Vs,{ratio:p.ratio,exhausted:ne,onAddCredits:()=>d(!0)}):null)??F;return(0,Y.jsxs)(me,{padding:`md`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,Y.jsx)(Hs,{}),S&&(0,Y.jsx)(x,{variant:`body-small-default`,as:`div`,className:`leading-snug text-[var(--content-tertiary)]`,"data-testid":`plan-card-renews`,children:n(`planCard.renewsOn`,{date:Qt(m.current_period_end)})}),C&&(0,Y.jsx)(x,{variant:`body-small-default`,as:`div`,className:`leading-snug text-[var(--system-mid-strong)]`,"data-testid":`plan-card-cancels`,children:n(`planCard.endsOn`,{date:Qt(b)})})]}),(0,Y.jsx)(U,{variant:`outlined`,onClick:O,"data-testid":j?`plan-card-plans-button`:`plan-card-manage-subscription-button`,children:n(j?`planCard.viewAllPlans`:`planCard.manageSubscription`)})]}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4 lg:flex-row lg:items-stretch`,children:[(0,Y.jsx)(Bs,{testId:`plan-tile-current`,tierKey:D,name:_,nameTestId:`plan-card-name`,tag:(0,Y.jsx)(T,{tone:`info`,children:n(`planCard.current`)}),specs:N,footer:re}),(0,Y.jsx)(Us,{packages:w,currentKey:E,currentPriceCents:ee,isProUser:g.id!==`base`,canChangePackage:k,relation:A,onManage:e,onTierUpgraded:t})]})]}),(0,Y.jsx)(mn,{open:u,onOpenChange:d})]})}function qs(e,t,n){let r=new URLSearchParams(t.search);n(r),e({pathname:t.pathname,search:`?${r}`,hash:t.hash},{replace:!0})}var Js=`setup_intent_client_secret`,Ys=`redirect_status`,Xs=[`setup_intent`,Js,Ys];function Zs(){return Pe(Je.getState().platformSession)}async function Qs({clientSecret:e,redirectStatus:t,confirmSaved:n,generation:r}){await _n({alsoReady:Zs});let i=D(),a=[],o=()=>{for(;a.length>0;)a.pop()?.()},s=()=>{D()!==i&&(o(),bo.getState().abandonResolution(r))};a.push(Je.subscribe(s),f.subscribe(s));let c=e=>{o();let{settleOutcome:t,discardResolution:n}=bo.getState();if(D()!==i){n(r);return}t(e,i,r)},l=e=>{console.warn(`[useSetupIntentReturn] card not saved on redirect return`,{redirectStatus:t}),c({kind:`error`,message:e??W(`settings:autoTopUpPaymentMethodModal.confirmFailed`)})};try{let t=await Ja();if(t==null){l(void 0);return}let{setupIntent:r,error:i}=await t.retrieveSetupIntent(e);if(r?.status===`succeeded`){c({kind:`saved`,card:await n({setupIntentId:Ya(e)})});return}l(i?.message??r?.last_setup_error?.message)}catch{l(void 0)}}function $s(){let[e]=st(),t=ct(),n=lt(),r=yo(),i=(0,J.useRef)(!1);(0,J.useEffect)(()=>{let a=e.get(Js);if(a==null||i.current)return;i.current=!0;let o=e.get(Ys);qs(n,t,e=>{for(let t of Xs)e.delete(t);e.set(`tab`,`billing`)}),Qs({clientSecret:a,redirectStatus:o,confirmSaved:r,generation:bo.getState().beginResolving()})},[t,n,e,r])}function ec({onCheckoutCancelled:e}){let[t]=st(),n=lt(),r=it(),{t:i}=K(`settings`);return(0,J.useEffect)(()=>{let a=t.get(`billing_status`);a&&(a===`success`?C(r):a===`cancel`&&(c.info(t.get(`billing_context`)===`upgrade`?i(`billingStatusHandler.upgradeCancelToast`):i(`billingStatusHandler.topUpCancelToast`),{id:`billing-status`}),e()),n(V.settings.usageBilling,{replace:!0}))},[t,n,r,e,i]),null}function tc({onFinishSetup:e}){let{t}=K(`settings`),n=Ze(),{data:r}=G({...he(),enabled:n}),a=r?.plan_id===`pro`,{data:o}=G({...b(),enabled:a&&n}),s=a&&o?.domain_setup_available===!0,{domains:c}=Bt(s,o?.primary_assistant_id),l=c!==void 0&&c.results.length===0;return!s||!l?null:(0,Y.jsx)(i,{tone:`info`,title:t(`billingPage.finishSetupTitle`,{plan:Rt(r?.package)}),actions:(0,Y.jsx)(U,{variant:`outlined`,size:`compact`,onClick:e,"data-testid":`finish-pro-setup-button`,children:t(`billingPage.finishSetupButton`)}),"data-testid":`finish-pro-setup-notice`,children:t(`billingPage.finishSetupBody`)})}function nc(){let{t:e}=K(`settings`),t=Xe({platformHostedOnly:!0}),n=Xe(),r=Qe(),a=Te(),[o,s]=st(),[c,l]=(0,J.useState)(!1),u=(0,J.useCallback)(()=>l(!0),[]),d=(0,J.useCallback)(()=>l(!1),[]),[f,p]=(0,J.useState)(!1),m=(0,J.useCallback)(()=>p(!0),[]),[h,g]=(0,J.useState)(!1),[_,v]=(0,J.useState)(null),[y,b]=(0,J.useState)(!1),x=(0,J.useCallback)(()=>{v(Date.now()),b(!1)},[]),{showOffer:S,amountUsd:C}=Dn(_),w=(0,J.useCallback)(e=>{e||b(!0)},[]);(0,J.useEffect)(()=>{if(n!==`full`)return;let e=o.has(`adjust_plan`),t=o.has(`pro_onboarding`);!e&&!t||(e&&l(!0),t&&g(!0),s(e=>{let t=new URLSearchParams(e);return t.delete(`adjust_plan`),t.delete(`pro_onboarding`),t},{replace:!0}))},[n,o,s]);let T=o.has(`session_id`),E=(0,J.useCallback)(()=>{g(!1),s(e=>{let t=new URLSearchParams(e);return t.delete(`session_id`),t},{replace:!0})},[s]),D=(0,J.useCallback)(()=>{s(e=>{let t=new URLSearchParams(e);return t.set(`pro_onboarding`,``),t},{replace:!0})},[s]);if(n===`disabled`)return(0,Y.jsx)(`div`,{className:`space-y-4`,children:(0,Y.jsx)(Ge,{children:e(`billingPage.platformLoginNotice`)})});if(a)return(0,Y.jsx)(`div`,{className:`space-y-4`,children:(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,Y.jsx)(q,{className:`h-4 w-4 animate-spin`}),e(`billingPage.loadingBilling`)]})});let O=r,k=O||T||h;return!r&&t!==`gated`?(0,Y.jsx)(`div`,{className:`space-y-4`,children:(0,Y.jsx)(i,{tone:`warning`,children:e(`billingPage.billingUnavailable`)})}):(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[(0,Y.jsxs)(J.Suspense,{fallback:null,children:[(0,Y.jsx)(ec,{onCheckoutCancelled:x}),(0,Y.jsx)(Vo,{})]}),O&&(0,Y.jsx)(Ts,{}),O&&(0,Y.jsx)(tc,{onFinishSetup:D}),O&&(0,Y.jsx)(Ks,{onManage:u,onTierUpgraded:m}),O&&(0,Y.jsx)(wi,{open:c,onClose:d,onTierUpgraded:m}),(0,Y.jsx)(En,{open:S&&!y,onOpenChange:w,amountUsd:C}),(0,Y.jsx)(J.Suspense,{fallback:null,children:(0,Y.jsx)(Rs,{})}),(0,Y.jsx)(J.Suspense,{fallback:null,children:(0,Y.jsx)(Po,{})}),(0,Y.jsx)(J.Suspense,{fallback:null,children:(0,Y.jsx)(Is,{})}),k&&(0,Y.jsx)(jt,{open:T||h,onClose:E}),O&&(0,Y.jsx)(jt,{mode:`resize`,open:f,onClose:()=>p(!1)})]})}function rc(){return(0,Y.jsx)(nc,{})}function ic(){let e=Oe(),t=Xe({platformHostedOnly:!0}),n=Xe();return(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[t===`full`&&n!==`gated`&&(0,Y.jsx)(ws,{}),(0,Y.jsx)(ti,{assistantId:e})]})}function ac(){let{t:e}=K(`settings`),t=Xe(),[n]=st(),r=lt(),i=ct();$s();let a=Tn(t,n),o=a&&n.get(`tab`)!==`usage`?`billing`:`usage`,s=ie();return(0,J.useEffect)(()=>{s&&n.get(`tab`)!==o&&qs(r,i,e=>e.set(`tab`,o))},[s,n,o,r,i]),(0,Y.jsx)(`div`,{className:`space-y-6`,children:(0,Y.jsxs)(I.Root,{value:o,onValueChange:e=>{qs(r,i,t=>t.set(`tab`,e))},children:[(0,Y.jsxs)(I.List,{children:[a&&(0,Y.jsx)(I.Trigger,{value:`billing`,children:e(`billingPage.billingTab`)}),(0,Y.jsx)(I.Trigger,{value:`usage`,children:e(`billingPage.usageTab`)})]}),a&&(0,Y.jsx)(I.Panel,{value:`billing`,className:`pt-4`,children:(0,Y.jsx)(rc,{})}),(0,Y.jsx)(I.Panel,{value:`usage`,className:`pt-4`,children:(0,Y.jsx)(ic,{})})]})})}export{ac as BillingPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Tb as e}from"./app-DFXcEvsi.js";import{_ as t,d as n,r,t as i}from"./react-B9IgSVeK.js";var a=i();function o(){let[i]=t(),{hash:o}=n(),s=i.toString();return(0,a.jsx)(r,{replace:!0,to:`${e.settings.usage}${s?`?${s}`:``}${o}`})}export{o as BillingRedirectPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$t as e,Pi as t,Tb as n,Ux as r,Vx as i,en as a,hc as o,kg as s,oa as c}from"./app-DFXcEvsi.js";import{j as l}from"./vendor-DYOeoIwg.js";import{f as u,r as d,t as f}from"./react-B9IgSVeK.js";import{E as p,Tt as m,_a as h,i as g,qn as _}from"./icons-QG1KAFmx.js";var v=f();function y(e){if(e==null)return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleString(void 0,{month:`short`,day:`numeric`,year:`numeric`,hour:`numeric`,minute:`2-digit`,hour12:!0})}function b({t:e}){return(0,v.jsx)(i,{children:(0,v.jsxs)(`div`,{className:`flex min-h-[400px] flex-col items-center justify-center px-6 py-16 text-center`,children:[(0,v.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,v.jsx)(h,{className:`h-6 w-6 text-[var(--content-disabled)] dark:text-[var(--content-default)]`})}),(0,v.jsx)(`h2`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:e(`bookmarksPage.emptyTitle`)}),(0,v.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`bookmarksPage.emptyDescription`)})]})})}function x({bookmark:e,isFirst:t,onOpen:n,onRemove:i,t:a}){let o=c()(e.conversationTitle),s=e.messageRole!==`user`,l=y(e.createdAt);return(0,v.jsxs)(`div`,{className:`flex items-start gap-3 py-3 ${t?``:`border-t border-[var(--border-base)]`}`,children:[(0,v.jsx)(`span`,{"aria-hidden":!0,className:`mt-1 h-8 w-1 shrink-0 rounded-full`,style:{backgroundColor:s?`var(--content-default)`:`var(--content-tertiary)`}}),(0,v.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,v.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3`,children:[(0,v.jsx)(`div`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:o}),l?(0,v.jsx)(`span`,{className:`shrink-0 text-body-small-default text-[var(--content-tertiary)]`,children:l}):null]}),e.messagePreview?(0,v.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-body-small-default text-[var(--content-tertiary)]`,children:e.messagePreview}):null]}),(0,v.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,v.jsx)(r,{variant:`outlined`,onClick:n,children:a(`bookmarksPage.open`)}),(0,v.jsx)(`button`,{type:`button`,onClick:i,title:a(`bookmarksPage.removeBookmark`),"aria-label":a(`bookmarksPage.removeBookmark`),className:`flex h-8 w-8 cursor-pointer items-center justify-center rounded-md text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-active)] hover:text-[var(--content-default)]`,children:(0,v.jsx)(g,{className:`h-4 w-4`})})]})]})}function S(){let{t:c}=l(`settings`),f=u(),{bookmarks:h,isLoading:g,isError:y,refetch:S}=a(),C=e(),w=t();return s.use.hydrated()&&!w?(0,v.jsx)(d,{replace:!0,to:n.settings.general}):g?(0,v.jsx)(`div`,{className:`w-full`,children:(0,v.jsx)(`div`,{className:`flex min-h-[400px] items-center justify-center`,children:(0,v.jsx)(_,{className:`h-6 w-6 animate-spin text-[var(--content-disabled)]`})})}):y?(0,v.jsx)(`div`,{className:`w-full`,children:(0,v.jsx)(i,{children:(0,v.jsxs)(`div`,{className:`flex min-h-[400px] flex-col items-center justify-center px-6 py-16 text-center`,children:[(0,v.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--system-error-lighter)]`,children:(0,v.jsx)(p,{className:`h-6 w-6 text-[var(--system-error-default)]`})}),(0,v.jsx)(`h2`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:c(`bookmarksPage.errorTitle`)}),(0,v.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:c(`bookmarksPage.errorDescription`)}),(0,v.jsxs)(r,{variant:`outlined`,onClick:S,className:`mt-4`,children:[(0,v.jsx)(m,{className:`h-4 w-4`}),c(`bookmarksPage.retry`)]})]})})}):h.length===0?(0,v.jsx)(`div`,{className:`w-full`,children:(0,v.jsx)(b,{t:c})}):(0,v.jsx)(`div`,{className:`w-full`,children:(0,v.jsx)(i,{noPadding:!0,className:`px-4`,children:h.map((e,t)=>(0,v.jsx)(x,{bookmark:e,isFirst:t===0,onOpen:()=>o(f,e.conversationId,{messageId:e.messageId}),onRemove:()=>{C(e.messageId,e.conversationId,!0)},t:c},e.id))})})}export{S as BookmarksPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ha as t}from"./app-DFXcEvsi.js";import{j as n}from"./vendor-DYOeoIwg.js";import{t as r,x as i}from"./react-B9IgSVeK.js";import{t as a}from"./format-file-size-CEqN0m2h.js";var o=e(i(),1),s=r(),c={verified:{label:`Verified`,className:`bg-[var(--system-positive-weak)] text-[var(--system-positive-strong)]`},signed:{label:`Signed`,className:`bg-[var(--system-info-weak)] text-[var(--system-info-strong)]`},unsigned:{label:`Unsigned`,className:`bg-[var(--surface-active)] text-[var(--content-secondary)]`},tampered:{label:`Tampered — signature invalid`,className:`bg-[var(--system-negative-weak)] text-[var(--system-negative-strong)]`}};function l(){let{t:e}=n(),[r,i]=(0,o.useState)(null),[l,u]=(0,o.useState)(!1);if((0,o.useEffect)(()=>{window.vellum?.bundleConfirm?.getData().then(e=>{e&&i(e)})},[]),!r)return(0,s.jsx)(`div`,{className:`flex h-svh w-screen items-center justify-center bg-background text-muted-foreground select-none`,children:e(`bundleConfirmPage.loading`)});let{manifest:d,scanResult:f,signatureResult:p,bundleSizeBytes:m}=r,h=c[p.trustTier],g=p.trustTier===`tampered`,_=f.warnings;return(0,s.jsxs)(`div`,{className:`flex h-svh w-screen flex-col bg-background px-6 pt-14 pb-6 text-foreground select-none`,children:[(0,s.jsxs)(`div`,{className:`flex items-start gap-3`,children:[d.icon?(0,s.jsx)(`span`,{className:`text-5xl leading-none`,children:d.icon}):(0,s.jsx)(`span`,{className:`text-5xl leading-none`,children:`📦`}),(0,s.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,s.jsx)(`h1`,{className:`truncate text-lg font-semibold`,children:d.name}),d.description&&(0,s.jsx)(`p`,{className:`text-muted-foreground mt-0.5 text-sm leading-snug`,children:d.description})]})]}),(0,s.jsxs)(`div`,{className:`mt-4 flex items-center gap-2`,children:[(0,s.jsx)(`span`,{className:t(`inline-block rounded-full px-2.5 py-0.5 text-xs font-medium`,h.className),children:h.label}),p.trustTier===`signed`&&p.signerDisplayName&&(0,s.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:e(`bundleConfirmPage.bySigner`,{name:p.signerDisplayName})})]}),(0,s.jsxs)(`dl`,{className:`mt-4 grid grid-cols-[auto_1fr] gap-x-3 gap-y-1.5 text-sm`,children:[(0,s.jsx)(`dt`,{className:`text-muted-foreground`,children:e(`bundleConfirmPage.size`)}),(0,s.jsx)(`dd`,{children:a(m)}),(0,s.jsx)(`dt`,{className:`text-muted-foreground`,children:e(`bundleConfirmPage.createdBy`)}),(0,s.jsx)(`dd`,{className:`truncate`,children:d.created_by}),d.capabilities.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(`dt`,{className:`text-muted-foreground`,children:e(`bundleConfirmPage.capabilities`)}),(0,s.jsx)(`dd`,{className:`truncate`,children:d.capabilities.join(`, `)})]})]}),_.length>0&&(0,s.jsxs)(`div`,{className:`mt-4`,children:[(0,s.jsx)(`button`,{type:`button`,className:`text-muted-foreground text-xs font-medium hover:underline`,onClick:()=>u(e=>!e),children:e(l?`bundleConfirmPage.hideWarnings`:`bundleConfirmPage.showWarnings`,{count:_.length})}),l&&(0,s.jsx)(`ul`,{className:`mt-1.5 space-y-1 text-xs`,children:_.map((e,t)=>(0,s.jsx)(`li`,{className:`rounded bg-[var(--system-mid-weak)] px-2 py-1 text-[var(--system-mid-strong)]`,children:e},t))})]}),(0,s.jsxs)(`div`,{className:`mt-auto flex items-center justify-end gap-3 pt-4`,children:[(0,s.jsx)(`button`,{type:`button`,className:`rounded-md border border-border px-4 py-1.5 text-sm font-medium text-foreground hover:bg-muted`,onClick:()=>window.vellum?.bundleConfirm?.respond(!1),children:e(`bundleConfirmPage.cancel`)}),(0,s.jsx)(`button`,{type:`button`,className:t(`rounded-md px-4 py-1.5 text-sm font-medium text-white`,g?`bg-red-600 hover:bg-red-700`:`bg-primary hover:bg-primary/90`),onClick:()=>window.vellum?.bundleConfirm?.respond(!0),children:e(g?`bundleConfirmPage.installAnyway`:`bundleConfirmPage.install`)})]})]})}export{l as BundleConfirmPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Bt as t,Hi as n,Hx as r,Ix as i,J_ as a,Jn as o,Mt as s,Pt as c,Up as l,Ux as u,Xn as d,br as f,cn as p,dx as m,fx as h,ir as g,lb as _,ln as v,nr as y,pi as b,rr as x,sy as S,tm as C,tr as w,ui as T,ux as E}from"./app-DFXcEvsi.js";import{j as D}from"./vendor-DYOeoIwg.js";import{t as O,x as k}from"./react-B9IgSVeK.js";import{Ja as A,Xr as j,qi as M}from"./icons-QG1KAFmx.js";var N=A(`corner-up-left`,[[`path`,{d:`M20 20v-7a4 4 0 0 0-4-4H4`,key:`1nkjon`}],[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}]]),P=e(k(),1),F=O();function I({entry:e,channelLabel:n,assistantName:i,isReferenced:a,onToggleReference:o}){let{t:l}=D(`chat`),d=y(e.timestamp),f=e.role===`user`?l(`channelTranscriptPanel.unknownSender`):i??l(`channelTranscriptPanel.assistantSender`),p=e.provenance.senderName??f,g=e.provenance.reaction;return(0,F.jsxs)(`article`,{"data-reveal-row":``,"data-testid":`channel-transcript-entry`,className:`group flex flex-col gap-1 rounded-lg px-2 py-2 hover:bg-[var(--surface-active)]`,children:[(0,F.jsxs)(`header`,{className:`flex min-w-0 items-baseline gap-2`,children:[(0,F.jsx)(r,{as:`span`,variant:`body-small-emphasised`,className:`min-w-0 truncate text-[var(--content-default)]`,children:p}),d?(0,F.jsx)(r,{as:`span`,variant:`body-small-lighter`,title:c(d),className:`shrink-0 text-[var(--content-tertiary)]`,children:s(d)}):null,(0,F.jsx)(`span`,{className:`flex-1`}),x(e)?(0,F.jsx)(u,{variant:`ghost`,size:`compact`,"data-reveal":``,active:a,leftIcon:a?(0,F.jsx)(M,{}):(0,F.jsx)(N,{}),onClick:()=>o(e),"aria-pressed":a,"aria-label":a?l(`channelTranscriptPanel.removeReferenceAria`):l(`channelTranscriptPanel.referenceAria`,{channel:n}),className:`shrink-0`,children:l(a?`channelTranscriptPanel.referenced`:`channelTranscriptPanel.reference`)}):null]}),g?(0,F.jsx)(r,{as:`p`,variant:`body-small-default`,className:`text-[var(--content-secondary)]`,children:l(g.op===`added`?`channelTranscriptPanel.reactionAdded`:`channelTranscriptPanel.reactionRemoved`,{emoji:t(g)})}):(0,F.jsxs)(r,{as:`div`,variant:`body-small-default`,className:`${m} mb-0`,children:[(0,F.jsx)(`span`,{"aria-hidden":`true`,className:E}),(0,F.jsx)(`span`,{className:`${h} whitespace-pre-wrap break-words`,children:e.text||l(`channelTranscriptPanel.noText`)})]})]})}function L({sidecarRef:e,threadName:t,sourceHref:n,entries:s,assistantName:c,referencedEntryId:l,onToggleReference:f,onClose:p}){let{t:m}=D(`chat`),h=b(e.channelId),_=t?m(`channelTranscriptPanel.namedTitle`,{channel:h,thread:t}):m(`channelTranscriptPanel.title`,{channel:h});return(0,F.jsxs)(o,{icon:(0,F.jsx)(T,{channelId:e.channelId,className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`}),title:_,headerTrailing:(0,F.jsx)(i,{tone:`neutral`,children:m(`channelTranscriptPanel.readOnly`)}),headerActions:n?(0,F.jsx)(u,{asChild:!0,variant:`outlined`,leftIcon:(0,F.jsx)(j,{}),className:`shrink-0`,children:(0,F.jsx)(`a`,{href:n,target:`_blank`,rel:`noreferrer noopener`,onClick:e=>a(e,n),children:m(`channelTranscriptPanel.openInChannel`,{channel:h})})}):void 0,closeLabel:m(`channelTranscriptPanel.closeAria`),closeTooltip:m(`channelTranscriptPanel.closeTooltip`),onClose:p,children:[(0,F.jsx)(r,{as:`p`,variant:`body-small-lighter`,className:`mb-3 text-[var(--content-tertiary)]`,children:m(`channelTranscriptPanel.readOnlyNote`,{channel:h})}),s.length===0?(0,F.jsx)(d,{children:g(e.channelId)?m(`channelTranscriptPanel.emptyThread`,{channel:h}):m(`channelTranscriptPanel.emptyNoMessageDetail`,{channel:h})}):(0,F.jsx)(`div`,{className:`flex flex-col gap-1`,children:s.map(e=>(0,F.jsx)(I,{entry:e,channelLabel:h,assistantName:c,isReferenced:l===e.id,onToggleReference:f},e.id))})]})}function R({sidecarRef:e,onClose:t}){let r=S.use.activeAssistantId(),i=C.use.activeConversationId(),{target:a,entries:o}=w({conversationId:i,conversation:n(r,i,!0),messages:f()}),s=_.use.name(),c=p.use.reference(),u=p.use.toggleReference(),d=l(a,e),m=d?o:[],h=b(e.channelId),g=(0,P.useCallback)(e=>{a&&u(v({entry:e,target:a,channelLabel:h}))},[a,u,h]);return(0,F.jsx)(L,{sidecarRef:e,threadName:d?a?.threadName:void 0,sourceHref:d?a?.sourceHref:void 0,entries:m,assistantName:s,referencedEntryId:c?.messageId??null,onToggleReference:g,onClose:t})}export{R as ChannelTranscriptPanel};
|
|
@@ -6,4 +6,4 @@ var e={drawerTitle:`頻道`,disconnectTitle:`中斷 {channel} 的連線?`,disc
|
|
|
6
6
|
|
|
7
7
|
這樣做可能會讓您蒙受金錢損失,並使您面臨安全和隱私漏洞。
|
|
8
8
|
|
|
9
|
-
請務必謹慎啟用。`,confirmAction:`允許陌生人`}},s={heading:`預設存取權`,subtitle:`{assistant} 根據對話類型自行執行的程度。個別頻道可以在下方覆寫此設定,而 <trustRules>信任規則</trustRules> 則會微調何時進行詢問。`,bucketAria:`{bucket} 的預設助理存取權`},c={defaultSuffix:`預設`,defaultPlaceholder:`預設`},l={defaultMarker:`· 預設`},u={overridesLoadFailed:`無法載入存取設定。這些控制項在載入完成前將保持停用狀態。請嘗試重新開啟此頁面。`,perChannelOverrides:`每個頻道的覆寫設定`},d={heading:`執行緒行為`,selectAria:`Slack 執行緒行為`,mentionsOnly:`僅提及`,mentionsOnlyHelp:`機器人僅在被 @提及時回應。`,followThreads:`首次提及後追蹤執行緒`,followThreadsHelp:`在執行緒中被 @提及後,機器人會監聽該執行緒的其餘部分。`},f={presenceHint:`在該 Slack 頻道中,使用 <invite>/invite {handle}</invite> 新增,或使用 <remove>/remove {handle}</remove> 移除。此處僅顯示 {assistant} 所在的頻道。`,loading:`正在載入…`,loadFailed:`無法載入頻道。請嘗試重新開啟此頁面。`,emptyTitle:`尚未有頻道`,searchPlaceholder:`搜尋頻道`,searchAria:`搜尋頻道`,filterGroupAria:`依類型篩選頻道`,noMatches:`無符合的頻道。`,accessAria:`{channel} 中的助理存取權`,filterAll:`{count, plural, other {全部 (#)}}`,filterPublic:`{count, plural, other {公開 (#)}}`,filterPrivate:`{count, plural, other {私人 (#)}}`},p={accountSid:`帳號 SID`,authToken:`驗證權杖`,authTokenPlaceholder:`Twilio 驗證權杖`,saving:`正在儲存…`,save:`儲存`},m={slack:{label:`Slack`,disconnectMessage:`這會清除此助理儲存的 Slack 機器人與應用程式權杖。您可以稍後重新連線。`},telegram:{label:`Telegram`,disconnectMessage:`這會清除此助理儲存的 Telegram 機器人權杖。您可以稍後重新連線。`,disconnectedPitch:`連線 Telegram 機器人,讓 {assistant} 可以在 Telegram 上傳送及接收訊息。`},discord:{label:`Discord`,disconnectedPitch:`連線 Discord 機器人,讓 {assistant} 可以在您的伺服器中讀取及回覆。`,disconnectMessage:`這會清除此助理儲存的 Discord 機器人權杖,且機器人將停止接收訊息。您的伺服器會保留該機器人,直到您從伺服器中移除為止。`},email:{label:`電子郵件`},phone:{label:`電話通話`,disconnectMessage:`這會清除此助理儲存的 Twilio 憑證。您可以稍後重新連線。`,disconnectedPitch:`連線您的 Twilio 帳號,讓 {assistant} 可以撥打及接聽電話。`}},h={apiKeyConfigured:`{providerName} API 金鑰已設定。若要重新設定,請執行 <code>{setupSkill}</code> 技能。`,connecting:`正在連線至 Vellum 平台…`,openProvider:`開啟 {providerName}`,platformLoginNotice:`登入 Vellum 平台以管理電子郵件設定。`,providerLabel:`供應商`,saveSuccessToast:`電子郵件設定已儲存。`,setupInstructions:`透過助理 CLI 設定 {providerName}:要求助理執行 <code>{setupSkill}</code> 技能。它會引導您儲存 API 金鑰、偵測網域,以及 (選用) 設定傳入 Webhook。`,subtitle:`設定您的助理如何傳送及接收電子郵件`,title:`電子郵件`},g={addressLabel:`地址`,checkingSubscription:`正在檢查訂閱…`,confirm:`確認`,create:`建立`,createEmailFailedFallback:`建立電子郵件地址失敗。`,creating:`正在建立…`,domainLabel:`網域`,domainRegisteredToast:`網域 {domain} 已註冊。`,domainReleaseFailedToast:`釋出網域失敗。`,domainReleasedToast:`網域已釋出。`,emailAddressLabel:`電子郵件地址`,emailCreatedToast:`電子郵件地址已建立。`,emailRemoveFailedToast:`移除電子郵件地址失敗。`,emailRemovedToast:`電子郵件地址已移除。`,emailUsernameAriaLabel:`電子郵件使用者名稱`,emailUsernamePlaceholder:`hi`,enterSubdomainError:`請輸入子網域。`,enterUsernameError:`請輸入電子郵件使用者名稱。`,register:`註冊`,registerDomainFailedFallback:`註冊網域失敗。`,registering:`正在註冊…`,releaseConfirm:`釋出`,releaseDomainAriaLabel:`釋出網域`,releaseDomainConfirmMessage:`您確定要釋出 <code>{domain}</code> 嗎?此子網域將可供其他人認領。`,releaseDomainTitle:`釋出網域`,removeAddressFirstToast:`請先移除電子郵件地址。`,removeConfirm:`移除`,removeEmailAriaLabel:`移除電子郵件地址`,removeEmailConfirmMessage:`您確定要移除 <code>{address}</code> 嗎?您的助理將無法再透過此地址傳送或接收電子郵件。`,removeEmailTitle:`移除電子郵件地址`,retry:`重試`,setSubdomainConfirmMessage:`<code>{subdomain}</code> 也將成為您助理的公開識別碼。設定後便無法變更。`,setSubdomainTitle:`設定子網域`,subdomainExamplePlaceholder:`my-assistant`,subdomainFallback:`子網域`,subdomainHint:`每個助理都有自己的子網域。僅限小寫字母、數字和連字號。`,subdomainLabel:`子網域`,subscriptionWarningBody:`我們無法連線至帳務服務。以下表單假設您的組織已啟用受管理的電子郵件。如果未啟用,註冊網域將會失敗。`,subscriptionWarningTitle:`無法驗證訂閱狀態`,upgradeButton:`升級`,upgradeNoticeBody:`升級至包含助理電子郵件地址的方案。無需供應商設定。`,upgradeNoticeTitle:`為您的助理提供專屬電子郵件地址`,usageSummary:`今日已傳送 {sent} / {limit} · 已接收 {received}`},_={assistantChannelsList:e,channelAdapterList:t,connectionCard:n,slackChannelCard:r,channelPanel:i,pluginChannelPanel:a,channelTrustFloor:o,slackChannelTypeDefaults:s,tierPicker:c,slackChannelTierLegend:l,slackChannelSection:u,slackThreadBehavior:d,slackChannelList:f,twilioCredentialEntry:p,channelMeta:m,emailChannelSection:h,emailManagedContent:g};export{e as assistantChannelsList,t as channelAdapterList,m as channelMeta,i as channelPanel,o as channelTrustFloor,n as connectionCard,_ as default,h as emailChannelSection,g as emailManagedContent,a as pluginChannelPanel,r as slackChannelCard,f as slackChannelList,u as slackChannelSection,l as slackChannelTierLegend,s as slackChannelTypeDefaults,d as slackThreadBehavior,c as tierPicker,p as twilioCredentialEntry};
|
|
9
|
+
請務必謹慎啟用。`,confirmAction:`允許陌生人`}},s={heading:`預設存取權`,subtitle:`{assistant} 根據對話類型自行執行的程度。個別頻道可以在下方覆寫此設定,而 <trustRules>信任規則</trustRules> 則會微調何時進行詢問。`,bucketAria:`{bucket} 的預設助理存取權`},c={defaultSuffix:`預設`,defaultPlaceholder:`預設`},l={defaultMarker:`· 預設`},u={overridesLoadFailed:`無法載入存取設定。這些控制項在載入完成前將保持停用狀態。請嘗試重新開啟此頁面。`,perChannelOverrides:`每個頻道的覆寫設定`},d={heading:`執行緒行為`,selectAria:`Slack 執行緒行為`,mentionsOnly:`僅提及`,mentionsOnlyHelp:`機器人僅在被 @提及時回應。`,followThreads:`首次提及後追蹤執行緒`,followThreadsHelp:`在執行緒中被 @提及後,機器人會監聽該執行緒的其餘部分。`},f={presenceHint:`在該 Slack 頻道中,使用 <invite>/invite {handle}</invite> 新增,或使用 <remove>/remove {handle}</remove> 移除。此處僅顯示 {assistant} 所在的頻道。`,loading:`正在載入…`,loadFailed:`無法載入頻道。請嘗試重新開啟此頁面。`,emptyTitle:`尚未有頻道`,searchPlaceholder:`搜尋頻道`,searchAria:`搜尋頻道`,filterGroupAria:`依類型篩選頻道`,noMatches:`無符合的頻道。`,accessAria:`{channel} 中的助理存取權`,filterAll:`{count, plural, other {全部 (#)}}`,filterPublic:`{count, plural, other {公開 (#)}}`,filterPrivate:`{count, plural, other {私人 (#)}}`},p={accountSid:`帳號 SID`,authToken:`驗證權杖`,authTokenPlaceholder:`Twilio 驗證權杖`,saving:`正在儲存…`,save:`儲存`},m={slack:{label:`Slack`,disconnectMessage:`這會清除此助理儲存的 Slack 機器人與應用程式權杖。您可以稍後重新連線。`},telegram:{label:`Telegram`,disconnectMessage:`這會清除此助理儲存的 Telegram 機器人權杖。您可以稍後重新連線。`,disconnectedPitch:`連線 Telegram 機器人,讓 {assistant} 可以在 Telegram 上傳送及接收訊息。`},discord:{label:`Discord`,disconnectedPitch:`連線 Discord 機器人,讓 {assistant} 可以在您的伺服器中讀取及回覆。`,disconnectMessage:`這會清除此助理儲存的 Discord 機器人權杖,且機器人將停止接收訊息。您的伺服器會保留該機器人,直到您從伺服器中移除為止。`},email:{label:`電子郵件`},phone:{label:`電話通話`,disconnectMessage:`這會清除此助理儲存的 Twilio 憑證。您可以稍後重新連線。`,disconnectedPitch:`連線您的 Twilio 帳號,讓 {assistant} 可以撥打及接聽電話。`}},h={apiKeyConfigured:`{providerName} API 金鑰已設定。若要重新設定,請執行 <code>{setupSkill}</code> 技能。`,connecting:`正在連線至 Vellum 平台…`,openProvider:`開啟 {providerName}`,platformLoginNotice:`登入 Vellum 平台以管理電子郵件設定。`,providerLabel:`供應商`,saveSuccessToast:`電子郵件設定已儲存。`,setupInstructions:`透過助理 CLI 設定 {providerName}:要求助理執行 <code>{setupSkill}</code> 技能。它會引導您儲存 API 金鑰、偵測網域,以及 (選用) 設定傳入 Webhook。`,subtitle:`設定您的助理如何傳送及接收電子郵件`,title:`電子郵件`},g={addressLabel:`地址`,checkingSubscription:`正在檢查訂閱…`,completeSetup:`完成網域設定`,completingSetup:`正在完成設定…`,confirm:`確認`,create:`建立`,createEmailFailedFallback:`建立電子郵件地址失敗。`,creating:`正在建立…`,domainLabel:`網域`,domainRegisteredToast:`網域 {domain} 已註冊。`,domainReleaseFailedToast:`釋出網域失敗。`,domainReleasedToast:`網域已釋出。`,emailAddressLabel:`電子郵件地址`,emailCreatedToast:`電子郵件地址已建立。`,emailRemoveFailedToast:`移除電子郵件地址失敗。`,emailRemovedToast:`電子郵件地址已移除。`,emailUsernameAriaLabel:`電子郵件使用者名稱`,emailUsernamePlaceholder:`hi`,enterSubdomainError:`請輸入子網域。`,enterUsernameError:`請輸入電子郵件使用者名稱。`,register:`註冊`,registerDomainFailedFallback:`註冊網域失敗。`,registering:`正在註冊…`,releaseConfirm:`釋出`,releaseDomainAriaLabel:`釋出網域`,releaseDomainConfirmMessage:`您確定要釋出 <code>{domain}</code> 嗎?此子網域將可供其他人認領。`,releaseDomainTitle:`釋出網域`,removeAddressFirstToast:`請先移除電子郵件地址。`,removeConfirm:`移除`,removeEmailAriaLabel:`移除電子郵件地址`,removeEmailConfirmMessage:`您確定要移除 <code>{address}</code> 嗎?您的助理將無法再透過此地址傳送或接收電子郵件。`,removeEmailTitle:`移除電子郵件地址`,repairConfirmMessage:`將保留您現有的電子郵件地址。設定會為 <code>{domain}</code> 聯絡電子郵件供應商和 DNS。`,repairConfirmTitle:`完成網域設定?`,repairFailedFallback:`無法開始網域設定。請稍後再試。`,repairNoticeBody:`您的電子郵件地址已就緒,但此網域尚未在電子郵件供應商處設定。完成設定後即可開始傳送和接收郵件。`,repairNoticeTitle:`需要設定網域`,repairStartedToast:`已開始網域設定。驗證通常需要幾分鐘。`,retry:`重試`,setSubdomainConfirmMessage:`<code>{subdomain}</code> 也將成為您助理的公開識別碼。設定後便無法變更。`,setSubdomainTitle:`設定子網域`,subdomainExamplePlaceholder:`my-assistant`,subdomainFallback:`子網域`,subdomainHint:`每個助理都有自己的子網域。僅限小寫字母、數字和連字號。`,subdomainLabel:`子網域`,subscriptionWarningBody:`我們無法連線至帳務服務。以下表單假設您的組織已啟用受管理的電子郵件。如果未啟用,註冊網域將會失敗。`,subscriptionWarningTitle:`無法驗證訂閱狀態`,upgradeButton:`升級`,upgradeNoticeBody:`升級至包含助理電子郵件地址的方案。無需供應商設定。`,upgradeNoticeTitle:`為您的助理提供專屬電子郵件地址`,usageSummary:`今日已傳送 {sent} / {limit} · 已接收 {received}`},_={assistantChannelsList:e,channelAdapterList:t,connectionCard:n,slackChannelCard:r,channelPanel:i,pluginChannelPanel:a,channelTrustFloor:o,slackChannelTypeDefaults:s,tierPicker:c,slackChannelTierLegend:l,slackChannelSection:u,slackThreadBehavior:d,slackChannelList:f,twilioCredentialEntry:p,channelMeta:m,emailChannelSection:h,emailManagedContent:g};export{e as assistantChannelsList,t as channelAdapterList,m as channelMeta,i as channelPanel,o as channelTrustFloor,n as connectionCard,_ as default,h as emailChannelSection,g as emailManagedContent,a as pluginChannelPanel,r as slackChannelCard,f as slackChannelList,u as slackChannelSection,l as slackChannelTierLegend,s as slackChannelTypeDefaults,d as slackThreadBehavior,c as tierPicker,p as twilioCredentialEntry};
|
|
@@ -6,4 +6,4 @@ var e={drawerTitle:`渠道`,disconnectTitle:`断开 {channel} 的连接?`,disc
|
|
|
6
6
|
|
|
7
7
|
这样做可能会给您带来经济损失,并使您面临安全和隐私漏洞。
|
|
8
8
|
|
|
9
|
-
请务必谨慎启用。`,confirmAction:`允许陌生人`}},s={heading:`默认访问权限`,subtitle:`{assistant}根据对话类型自行执行操作的程度。单个频道可以在下方覆盖此设置,<trustRules>信任规则</trustRules>则会微调何时进行询问。`,bucketAria:`{bucket}的默认助手访问权限`},c={defaultSuffix:`默认`,defaultPlaceholder:`默认`},l={defaultMarker:`· 默认`},u={overridesLoadFailed:`无法加载访问设置。这些控件在加载完成前将保持禁用状态。请尝试重新打开此页面。`,perChannelOverrides:`频道级覆盖设置`},d={heading:`线程行为`,selectAria:`Slack 线程行为`,mentionsOnly:`仅提及`,mentionsOnlyHelp:`机器人仅在被 @提及 时响应。`,followThreads:`首次提及后跟踪线程`,followThreadsHelp:`在线程中被 @提及后,机器人会监听该线程的其余部分。`},f={presenceHint:`在该 Slack 频道中,使用 <invite>/invite {handle}</invite> 添加,或使用 <remove>/remove {handle}</remove> 移除。此处仅显示 {assistant} 所在的频道。`,loading:`正在加载…`,loadFailed:`无法加载频道。请尝试重新打开此页面。`,emptyTitle:`暂无频道`,searchPlaceholder:`搜索频道`,searchAria:`搜索频道`,filterGroupAria:`按类型筛选频道`,noMatches:`无匹配频道。`,accessAria:`{channel} 中的助手访问权限`,filterAll:`{count, plural, other {全部 (#)}}`,filterPublic:`{count, plural, other {公开 (#)}}`,filterPrivate:`{count, plural, other {私有 (#)}}`},p={accountSid:`账户 SID`,authToken:`身份验证令牌`,authTokenPlaceholder:`Twilio 身份验证令牌`,saving:`正在保存…`,save:`保存`},m={slack:{label:`Slack`,disconnectMessage:`这将清除此助手存储的 Slack 机器人和应用令牌。您可以稍后重新连接。`},telegram:{label:`Telegram`,disconnectMessage:`这将清除此助手存储的 Telegram 机器人令牌。您可以稍后重新连接。`,disconnectedPitch:`连接 Telegram 机器人,以便 {assistant} 可以在 Telegram 上发送和接收消息。`},discord:{label:`Discord`,disconnectedPitch:`连接 Discord 机器人,以便 {assistant} 可以在您的服务器中阅读和回复消息。`,disconnectMessage:`这将清除此助手存储的 Discord 机器人令牌,并且机器人将停止接收消息。您的服务器将保留该机器人,直到您从服务器中将其移除。`},email:{label:`电子邮件`},phone:{label:`电话呼叫`,disconnectMessage:`这将清除此助手存储的 Twilio 凭据。您可以稍后重新连接。`,disconnectedPitch:`连接您的 Twilio 账户,以便 {assistant} 可以拨打和接听电话。`}},h={apiKeyConfigured:`{providerName} API 密钥已配置。要重新配置,请运行 <code>{setupSkill}</code> 技能。`,connecting:`正在连接到 Vellum 平台…`,openProvider:`打开 {providerName}`,platformLoginNotice:`登录 Vellum 平台以管理电子邮件设置。`,providerLabel:`提供商`,saveSuccessToast:`电子邮件设置已保存。`,setupInstructions:`通过助手 CLI 配置 {providerName}:要求助手运行 <code>{setupSkill}</code> 技能。它将引导您存储 API 密钥、检测域并(可选)连接入站 Webhook。`,subtitle:`配置您的助手如何发送和接收电子邮件`,title:`电子邮件`},g={addressLabel:`地址`,checkingSubscription:`正在检查订阅…`,confirm:`确认`,create:`创建`,createEmailFailedFallback:`创建电子邮件地址失败。`,creating:`正在创建…`,domainLabel:`域名`,domainRegisteredToast:`域名 {domain} 已注册。`,domainReleaseFailedToast:`释放域名失败。`,domainReleasedToast:`域名已释放。`,emailAddressLabel:`电子邮件地址`,emailCreatedToast:`电子邮件地址已创建。`,emailRemoveFailedToast:`删除电子邮件地址失败。`,emailRemovedToast:`电子邮件地址已删除。`,emailUsernameAriaLabel:`电子邮件用户名`,emailUsernamePlaceholder:`hi`,enterSubdomainError:`请输入子域名。`,enterUsernameError:`请输入电子邮件用户名。`,register:`注册`,registerDomainFailedFallback:`注册域名失败。`,registering:`正在注册…`,releaseConfirm:`释放`,releaseDomainAriaLabel:`释放域名`,releaseDomainConfirmMessage:`您确定要释放 <code>{domain}</code> 吗?该子域名将可供其他人认领。`,releaseDomainTitle:`释放域名`,removeAddressFirstToast:`请先删除电子邮件地址。`,removeConfirm:`删除`,removeEmailAriaLabel:`删除电子邮件地址`,removeEmailConfirmMessage:`您确定要删除 <code>{address}</code> 吗?您的助手将无法再通过此地址发送或接收电子邮件。`,removeEmailTitle:`删除电子邮件地址`,retry:`重试`,setSubdomainConfirmMessage:`<code>{subdomain}</code> 也将成为您助手的公开句柄。设置后将无法更改。`,setSubdomainTitle:`设置子域名`,subdomainExamplePlaceholder:`my-assistant`,subdomainFallback:`子域名`,subdomainHint:`每个助手都有自己的子域名。仅限小写字母、数字和连字符。`,subdomainLabel:`子域名`,subscriptionWarningBody:`我们无法连接到计费服务。以下表单假定您的组织已启用托管电子邮件。如果未启用,注册域名将失败。`,subscriptionWarningTitle:`无法验证订阅状态`,upgradeButton:`升级`,upgradeNoticeBody:`升级到包含助手电子邮件地址的套餐。无需提供商设置。`,upgradeNoticeTitle:`为您的助手提供专属电子邮件地址`,usageSummary:`今日发送 {sent} / {limit} · 收到 {received}`},_={assistantChannelsList:e,channelAdapterList:t,connectionCard:n,slackChannelCard:r,channelPanel:i,pluginChannelPanel:a,channelTrustFloor:o,slackChannelTypeDefaults:s,tierPicker:c,slackChannelTierLegend:l,slackChannelSection:u,slackThreadBehavior:d,slackChannelList:f,twilioCredentialEntry:p,channelMeta:m,emailChannelSection:h,emailManagedContent:g};export{e as assistantChannelsList,t as channelAdapterList,m as channelMeta,i as channelPanel,o as channelTrustFloor,n as connectionCard,_ as default,h as emailChannelSection,g as emailManagedContent,a as pluginChannelPanel,r as slackChannelCard,f as slackChannelList,u as slackChannelSection,l as slackChannelTierLegend,s as slackChannelTypeDefaults,d as slackThreadBehavior,c as tierPicker,p as twilioCredentialEntry};
|
|
9
|
+
请务必谨慎启用。`,confirmAction:`允许陌生人`}},s={heading:`默认访问权限`,subtitle:`{assistant}根据对话类型自行执行操作的程度。单个频道可以在下方覆盖此设置,<trustRules>信任规则</trustRules>则会微调何时进行询问。`,bucketAria:`{bucket}的默认助手访问权限`},c={defaultSuffix:`默认`,defaultPlaceholder:`默认`},l={defaultMarker:`· 默认`},u={overridesLoadFailed:`无法加载访问设置。这些控件在加载完成前将保持禁用状态。请尝试重新打开此页面。`,perChannelOverrides:`频道级覆盖设置`},d={heading:`线程行为`,selectAria:`Slack 线程行为`,mentionsOnly:`仅提及`,mentionsOnlyHelp:`机器人仅在被 @提及 时响应。`,followThreads:`首次提及后跟踪线程`,followThreadsHelp:`在线程中被 @提及后,机器人会监听该线程的其余部分。`},f={presenceHint:`在该 Slack 频道中,使用 <invite>/invite {handle}</invite> 添加,或使用 <remove>/remove {handle}</remove> 移除。此处仅显示 {assistant} 所在的频道。`,loading:`正在加载…`,loadFailed:`无法加载频道。请尝试重新打开此页面。`,emptyTitle:`暂无频道`,searchPlaceholder:`搜索频道`,searchAria:`搜索频道`,filterGroupAria:`按类型筛选频道`,noMatches:`无匹配频道。`,accessAria:`{channel} 中的助手访问权限`,filterAll:`{count, plural, other {全部 (#)}}`,filterPublic:`{count, plural, other {公开 (#)}}`,filterPrivate:`{count, plural, other {私有 (#)}}`},p={accountSid:`账户 SID`,authToken:`身份验证令牌`,authTokenPlaceholder:`Twilio 身份验证令牌`,saving:`正在保存…`,save:`保存`},m={slack:{label:`Slack`,disconnectMessage:`这将清除此助手存储的 Slack 机器人和应用令牌。您可以稍后重新连接。`},telegram:{label:`Telegram`,disconnectMessage:`这将清除此助手存储的 Telegram 机器人令牌。您可以稍后重新连接。`,disconnectedPitch:`连接 Telegram 机器人,以便 {assistant} 可以在 Telegram 上发送和接收消息。`},discord:{label:`Discord`,disconnectedPitch:`连接 Discord 机器人,以便 {assistant} 可以在您的服务器中阅读和回复消息。`,disconnectMessage:`这将清除此助手存储的 Discord 机器人令牌,并且机器人将停止接收消息。您的服务器将保留该机器人,直到您从服务器中将其移除。`},email:{label:`电子邮件`},phone:{label:`电话呼叫`,disconnectMessage:`这将清除此助手存储的 Twilio 凭据。您可以稍后重新连接。`,disconnectedPitch:`连接您的 Twilio 账户,以便 {assistant} 可以拨打和接听电话。`}},h={apiKeyConfigured:`{providerName} API 密钥已配置。要重新配置,请运行 <code>{setupSkill}</code> 技能。`,connecting:`正在连接到 Vellum 平台…`,openProvider:`打开 {providerName}`,platformLoginNotice:`登录 Vellum 平台以管理电子邮件设置。`,providerLabel:`提供商`,saveSuccessToast:`电子邮件设置已保存。`,setupInstructions:`通过助手 CLI 配置 {providerName}:要求助手运行 <code>{setupSkill}</code> 技能。它将引导您存储 API 密钥、检测域并(可选)连接入站 Webhook。`,subtitle:`配置您的助手如何发送和接收电子邮件`,title:`电子邮件`},g={addressLabel:`地址`,checkingSubscription:`正在检查订阅…`,completeSetup:`完成域名设置`,completingSetup:`正在完成设置…`,confirm:`确认`,create:`创建`,createEmailFailedFallback:`创建电子邮件地址失败。`,creating:`正在创建…`,domainLabel:`域名`,domainRegisteredToast:`域名 {domain} 已注册。`,domainReleaseFailedToast:`释放域名失败。`,domainReleasedToast:`域名已释放。`,emailAddressLabel:`电子邮件地址`,emailCreatedToast:`电子邮件地址已创建。`,emailRemoveFailedToast:`删除电子邮件地址失败。`,emailRemovedToast:`电子邮件地址已删除。`,emailUsernameAriaLabel:`电子邮件用户名`,emailUsernamePlaceholder:`hi`,enterSubdomainError:`请输入子域名。`,enterUsernameError:`请输入电子邮件用户名。`,register:`注册`,registerDomainFailedFallback:`注册域名失败。`,registering:`正在注册…`,releaseConfirm:`释放`,releaseDomainAriaLabel:`释放域名`,releaseDomainConfirmMessage:`您确定要释放 <code>{domain}</code> 吗?该子域名将可供其他人认领。`,releaseDomainTitle:`释放域名`,removeAddressFirstToast:`请先删除电子邮件地址。`,removeConfirm:`删除`,removeEmailAriaLabel:`删除电子邮件地址`,removeEmailConfirmMessage:`您确定要删除 <code>{address}</code> 吗?您的助手将无法再通过此地址发送或接收电子邮件。`,removeEmailTitle:`删除电子邮件地址`,repairConfirmMessage:`将保留您现有的电子邮件地址。设置会为 <code>{domain}</code> 联系电子邮件提供商和 DNS。`,repairConfirmTitle:`完成域名设置?`,repairFailedFallback:`无法开始域名设置。请稍后再试。`,repairNoticeBody:`您的电子邮件地址已就绪,但此域名尚未在电子邮件提供商处设置。完成设置后即可开始发送和接收邮件。`,repairNoticeTitle:`需要设置域名`,repairStartedToast:`已开始域名设置。验证通常需要几分钟。`,retry:`重试`,setSubdomainConfirmMessage:`<code>{subdomain}</code> 也将成为您助手的公开句柄。设置后将无法更改。`,setSubdomainTitle:`设置子域名`,subdomainExamplePlaceholder:`my-assistant`,subdomainFallback:`子域名`,subdomainHint:`每个助手都有自己的子域名。仅限小写字母、数字和连字符。`,subdomainLabel:`子域名`,subscriptionWarningBody:`我们无法连接到计费服务。以下表单假定您的组织已启用托管电子邮件。如果未启用,注册域名将失败。`,subscriptionWarningTitle:`无法验证订阅状态`,upgradeButton:`升级`,upgradeNoticeBody:`升级到包含助手电子邮件地址的套餐。无需提供商设置。`,upgradeNoticeTitle:`为您的助手提供专属电子邮件地址`,usageSummary:`今日发送 {sent} / {limit} · 收到 {received}`},_={assistantChannelsList:e,channelAdapterList:t,connectionCard:n,slackChannelCard:r,channelPanel:i,pluginChannelPanel:a,channelTrustFloor:o,slackChannelTypeDefaults:s,tierPicker:c,slackChannelTierLegend:l,slackChannelSection:u,slackThreadBehavior:d,slackChannelList:f,twilioCredentialEntry:p,channelMeta:m,emailChannelSection:h,emailManagedContent:g};export{e as assistantChannelsList,t as channelAdapterList,m as channelMeta,i as channelPanel,o as channelTrustFloor,n as connectionCard,_ as default,h as emailChannelSection,g as emailManagedContent,a as pluginChannelPanel,r as slackChannelCard,f as slackChannelList,u as slackChannelSection,l as slackChannelTierLegend,s as slackChannelTypeDefaults,d as slackThreadBehavior,c as tierPicker,p as twilioCredentialEntry};
|
|
@@ -6,4 +6,4 @@ var e={drawerTitle:`Каналы`,disconnectTitle:`Отключить {channel}?
|
|
|
6
6
|
|
|
7
7
|
Это может стоить вам денег и открыть уязвимости безопасности и приватности.
|
|
8
8
|
|
|
9
|
-
Включайте с крайней осторожностью.`,confirmAction:`Разрешить незнакомцев`}},s={heading:`Доступ по умолчанию`,subtitle:`Насколько самостоятельно действует {assistant} в зависимости от типа диалога. Отдельные каналы могут переопределить это ниже, а <trustRules>правила доверия</trustRules> уточняют, когда спрашивать.`,bucketAria:`Доступ ассистента по умолчанию для {bucket}`},c={defaultSuffix:`по умолчанию`,defaultPlaceholder:`По умолчанию`},l={defaultMarker:`· по умолчанию`},u={overridesLoadFailed:`Не удалось загрузить настройки доступа. Эти элементы останутся недоступны, пока данные не загрузятся. Повторите открытие страницы.`,perChannelOverrides:`Переопределения по каналам`},d={heading:`Поведение в ветках`,selectAria:`Поведение Slack в ветках`,mentionsOnly:`Только упоминания`,mentionsOnlyHelp:`Бот отвечает только когда его @упоминают.`,followThreads:`Следить за веткой после первого упоминания`,followThreadsHelp:`После @упоминания в ветке бот слушает остальную ветку.`},f={presenceHint:`Добавление через <invite>/invite {handle}</invite> или удаление через <remove>/remove {handle}</remove> в этом канале Slack. Здесь видны только каналы, в которых есть {assistant}.`,loading:`Загрузка…`,loadFailed:`Не удалось загрузить каналы. Повторите открытие страницы.`,emptyTitle:`Каналов пока нет`,searchPlaceholder:`Поиск каналов`,searchAria:`Поиск каналов`,filterGroupAria:`Фильтр каналов по типу`,noMatches:`Нет подходящих каналов.`,accessAria:`Доступ ассистента в {channel}`,filterAll:`{count, plural, one {Все (#)} few {Все (#)} many {Все (#)} other {Все (#)}}`,filterPublic:`{count, plural, one {Открытые (#)} few {Открытые (#)} many {Открытые (#)} other {Открытые (#)}}`,filterPrivate:`{count, plural, one {Закрытые (#)} few {Закрытые (#)} many {Закрытые (#)} other {Закрытые (#)}}`},p={accountSid:`Account SID`,authToken:`Auth Token`,authTokenPlaceholder:`Auth-токен Twilio`,saving:`Сохранение…`,save:`Сохранить`},m={slack:{label:`Slack`,disconnectMessage:`Это удалит сохранённые токены бота и приложения Slack для этого ассистента. Потом можно подключить снова.`},telegram:{label:`Telegram`,disconnectMessage:`Это удалит сохранённый токен бота Telegram для этого ассистента. Потом можно подключить снова.`,disconnectedPitch:`Подключение бота Telegram, чтобы {assistant} мог отправлять и получать сообщения в Telegram.`},discord:{label:`Discord`,disconnectedPitch:`Подключите бота Discord, чтобы {assistant} мог читать и отвечать на вашем сервере.`,disconnectMessage:`Это удалит сохранённый токен бота Discord, и бот перестанет получать сообщения. На сервере бот останется, пока вы не удалите его там.`},email:{label:`Почта`},phone:{label:`Телефонные звонки`,disconnectMessage:`Это удалит сохранённые учётные данные Twilio для этого ассистента. Потом можно подключить снова.`,disconnectedPitch:`Подключение аккаунта Twilio, чтобы {assistant} мог звонить и отвечать на звонки.`}},h={apiKeyConfigured:`API-ключ {providerName} настроен. Повторная настройка: запуск навыка <code>{setupSkill}</code>.`,connecting:`Подключение к платформе Vellum…`,openProvider:`Открыть {providerName}`,platformLoginNotice:`Вход на платформу Vellum для управления настройками почты.`,providerLabel:`Провайдер`,saveSuccessToast:`Настройки почты сохранены.`,setupInstructions:`Настройка {providerName} через CLI ассистента: запрос ассистенту запустить навык <code>{setupSkill}</code>. Он поможет сохранить API-ключ, определить домен и (по желанию) подключить входящий webhook.`,subtitle:`Настройка отправки и получения почты ассистентом`,title:`Почта`},g={addressLabel:`Адрес`,checkingSubscription:`Проверка подписки…`,confirm:`Подтвердить`,create:`Создать`,createEmailFailedFallback:`Не удалось создать адрес почты.`,creating:`Создание…`,domainLabel:`Домен`,domainRegisteredToast:`Домен {domain} зарегистрирован.`,domainReleaseFailedToast:`Не удалось освободить домен.`,domainReleasedToast:`Домен освобождён.`,emailAddressLabel:`Адрес почты`,emailCreatedToast:`Адрес почты создан.`,emailRemoveFailedToast:`Не удалось удалить адрес почты.`,emailRemovedToast:`Адрес почты удалён.`,emailUsernameAriaLabel:`Имя пользователя почты`,emailUsernamePlaceholder:`hi`,enterSubdomainError:`Ввод поддомена.`,enterUsernameError:`Ввод имени пользователя почты.`,register:`Зарегистрировать`,registerDomainFailedFallback:`Не удалось зарегистрировать домен.`,registering:`Регистрация…`,releaseConfirm:`Освободить`,releaseDomainAriaLabel:`Освободить домен`,releaseDomainConfirmMessage:`Точно освободить <code>{domain}</code>? Поддомен станет доступен другим.`,releaseDomainTitle:`Освободить домен`,removeAddressFirstToast:`Сначала удаление адреса почты.`,removeConfirm:`Удалить`,removeEmailAriaLabel:`Удалить адрес почты`,removeEmailConfirmMessage:`Точно удалить <code>{address}</code>? Ассистент больше не сможет отправлять и получать почту на этот адрес.`,removeEmailTitle:`Удалить адрес почты`,retry:`Повторить`,setSubdomainConfirmMessage:`<code>{subdomain}</code> также станет публичным идентификатором ассистента. После установки его нельзя сменить.`,setSubdomainTitle:`Задать поддомен`,subdomainExamplePlaceholder:`my-assistant`,subdomainFallback:`поддомен`,subdomainHint:`У каждого ассистента свой поддомен. Только строчные латинские буквы, цифры и дефисы.`,subdomainLabel:`Поддомен`,subscriptionWarningBody:`Не удалось связаться со службой оплаты. Форма ниже считает, что управляемая почта включена для организации. Если это не так, регистрация домена не сработает.`,subscriptionWarningTitle:`Не удалось проверить статус подписки`,upgradeButton:`Повысить план`,upgradeNoticeBody:`Переход на план, в котором у ассистента есть свой адрес почты. Настраивать провайдера не нужно.`,upgradeNoticeTitle:`Адрес почты для ассистента`,usageSummary:`сегодня отправлено {sent} / {limit} · получено {received}`},_={assistantChannelsList:e,channelAdapterList:t,connectionCard:n,slackChannelCard:r,channelPanel:i,pluginChannelPanel:a,channelTrustFloor:o,slackChannelTypeDefaults:s,tierPicker:c,slackChannelTierLegend:l,slackChannelSection:u,slackThreadBehavior:d,slackChannelList:f,twilioCredentialEntry:p,channelMeta:m,emailChannelSection:h,emailManagedContent:g};export{e as assistantChannelsList,t as channelAdapterList,m as channelMeta,i as channelPanel,o as channelTrustFloor,n as connectionCard,_ as default,h as emailChannelSection,g as emailManagedContent,a as pluginChannelPanel,r as slackChannelCard,f as slackChannelList,u as slackChannelSection,l as slackChannelTierLegend,s as slackChannelTypeDefaults,d as slackThreadBehavior,c as tierPicker,p as twilioCredentialEntry};
|
|
9
|
+
Включайте с крайней осторожностью.`,confirmAction:`Разрешить незнакомцев`}},s={heading:`Доступ по умолчанию`,subtitle:`Насколько самостоятельно действует {assistant} в зависимости от типа диалога. Отдельные каналы могут переопределить это ниже, а <trustRules>правила доверия</trustRules> уточняют, когда спрашивать.`,bucketAria:`Доступ ассистента по умолчанию для {bucket}`},c={defaultSuffix:`по умолчанию`,defaultPlaceholder:`По умолчанию`},l={defaultMarker:`· по умолчанию`},u={overridesLoadFailed:`Не удалось загрузить настройки доступа. Эти элементы останутся недоступны, пока данные не загрузятся. Повторите открытие страницы.`,perChannelOverrides:`Переопределения по каналам`},d={heading:`Поведение в ветках`,selectAria:`Поведение Slack в ветках`,mentionsOnly:`Только упоминания`,mentionsOnlyHelp:`Бот отвечает только когда его @упоминают.`,followThreads:`Следить за веткой после первого упоминания`,followThreadsHelp:`После @упоминания в ветке бот слушает остальную ветку.`},f={presenceHint:`Добавление через <invite>/invite {handle}</invite> или удаление через <remove>/remove {handle}</remove> в этом канале Slack. Здесь видны только каналы, в которых есть {assistant}.`,loading:`Загрузка…`,loadFailed:`Не удалось загрузить каналы. Повторите открытие страницы.`,emptyTitle:`Каналов пока нет`,searchPlaceholder:`Поиск каналов`,searchAria:`Поиск каналов`,filterGroupAria:`Фильтр каналов по типу`,noMatches:`Нет подходящих каналов.`,accessAria:`Доступ ассистента в {channel}`,filterAll:`{count, plural, one {Все (#)} few {Все (#)} many {Все (#)} other {Все (#)}}`,filterPublic:`{count, plural, one {Открытые (#)} few {Открытые (#)} many {Открытые (#)} other {Открытые (#)}}`,filterPrivate:`{count, plural, one {Закрытые (#)} few {Закрытые (#)} many {Закрытые (#)} other {Закрытые (#)}}`},p={accountSid:`Account SID`,authToken:`Auth Token`,authTokenPlaceholder:`Auth-токен Twilio`,saving:`Сохранение…`,save:`Сохранить`},m={slack:{label:`Slack`,disconnectMessage:`Это удалит сохранённые токены бота и приложения Slack для этого ассистента. Потом можно подключить снова.`},telegram:{label:`Telegram`,disconnectMessage:`Это удалит сохранённый токен бота Telegram для этого ассистента. Потом можно подключить снова.`,disconnectedPitch:`Подключение бота Telegram, чтобы {assistant} мог отправлять и получать сообщения в Telegram.`},discord:{label:`Discord`,disconnectedPitch:`Подключите бота Discord, чтобы {assistant} мог читать и отвечать на вашем сервере.`,disconnectMessage:`Это удалит сохранённый токен бота Discord, и бот перестанет получать сообщения. На сервере бот останется, пока вы не удалите его там.`},email:{label:`Почта`},phone:{label:`Телефонные звонки`,disconnectMessage:`Это удалит сохранённые учётные данные Twilio для этого ассистента. Потом можно подключить снова.`,disconnectedPitch:`Подключение аккаунта Twilio, чтобы {assistant} мог звонить и отвечать на звонки.`}},h={apiKeyConfigured:`API-ключ {providerName} настроен. Повторная настройка: запуск навыка <code>{setupSkill}</code>.`,connecting:`Подключение к платформе Vellum…`,openProvider:`Открыть {providerName}`,platformLoginNotice:`Вход на платформу Vellum для управления настройками почты.`,providerLabel:`Провайдер`,saveSuccessToast:`Настройки почты сохранены.`,setupInstructions:`Настройка {providerName} через CLI ассистента: запрос ассистенту запустить навык <code>{setupSkill}</code>. Он поможет сохранить API-ключ, определить домен и (по желанию) подключить входящий webhook.`,subtitle:`Настройка отправки и получения почты ассистентом`,title:`Почта`},g={addressLabel:`Адрес`,checkingSubscription:`Проверка подписки…`,completeSetup:`Завершить настройку домена`,completingSetup:`Завершение настройки…`,confirm:`Подтвердить`,create:`Создать`,createEmailFailedFallback:`Не удалось создать адрес почты.`,creating:`Создание…`,domainLabel:`Домен`,domainRegisteredToast:`Домен {domain} зарегистрирован.`,domainReleaseFailedToast:`Не удалось освободить домен.`,domainReleasedToast:`Домен освобождён.`,emailAddressLabel:`Адрес почты`,emailCreatedToast:`Адрес почты создан.`,emailRemoveFailedToast:`Не удалось удалить адрес почты.`,emailRemovedToast:`Адрес почты удалён.`,emailUsernameAriaLabel:`Имя пользователя почты`,emailUsernamePlaceholder:`hi`,enterSubdomainError:`Ввод поддомена.`,enterUsernameError:`Ввод имени пользователя почты.`,register:`Зарегистрировать`,registerDomainFailedFallback:`Не удалось зарегистрировать домен.`,registering:`Регистрация…`,releaseConfirm:`Освободить`,releaseDomainAriaLabel:`Освободить домен`,releaseDomainConfirmMessage:`Точно освободить <code>{domain}</code>? Поддомен станет доступен другим.`,releaseDomainTitle:`Освободить домен`,removeAddressFirstToast:`Сначала удаление адреса почты.`,removeConfirm:`Удалить`,removeEmailAriaLabel:`Удалить адрес почты`,removeEmailConfirmMessage:`Точно удалить <code>{address}</code>? Ассистент больше не сможет отправлять и получать почту на этот адрес.`,removeEmailTitle:`Удалить адрес почты`,repairConfirmMessage:`Текущий адрес почты сохранится. Настройка обратится к почтовому провайдеру и DNS для <code>{domain}</code>.`,repairConfirmTitle:`Завершить настройку домена?`,repairFailedFallback:`Не удалось начать настройку домена. Повторите попытку через минуту.`,repairNoticeBody:`Адрес почты уже есть, но домен ещё не настроен у почтового провайдера. Завершите настройку, чтобы отправлять и получать письма.`,repairNoticeTitle:`Нужна настройка домена`,repairStartedToast:`Настройка домена начата. Проверка обычно занимает несколько минут.`,retry:`Повторить`,setSubdomainConfirmMessage:`<code>{subdomain}</code> также станет публичным идентификатором ассистента. После установки его нельзя сменить.`,setSubdomainTitle:`Задать поддомен`,subdomainExamplePlaceholder:`my-assistant`,subdomainFallback:`поддомен`,subdomainHint:`У каждого ассистента свой поддомен. Только строчные латинские буквы, цифры и дефисы.`,subdomainLabel:`Поддомен`,subscriptionWarningBody:`Не удалось связаться со службой оплаты. Форма ниже считает, что управляемая почта включена для организации. Если это не так, регистрация домена не сработает.`,subscriptionWarningTitle:`Не удалось проверить статус подписки`,upgradeButton:`Повысить план`,upgradeNoticeBody:`Переход на план, в котором у ассистента есть свой адрес почты. Настраивать провайдера не нужно.`,upgradeNoticeTitle:`Адрес почты для ассистента`,usageSummary:`сегодня отправлено {sent} / {limit} · получено {received}`},_={assistantChannelsList:e,channelAdapterList:t,connectionCard:n,slackChannelCard:r,channelPanel:i,pluginChannelPanel:a,channelTrustFloor:o,slackChannelTypeDefaults:s,tierPicker:c,slackChannelTierLegend:l,slackChannelSection:u,slackThreadBehavior:d,slackChannelList:f,twilioCredentialEntry:p,channelMeta:m,emailChannelSection:h,emailManagedContent:g};export{e as assistantChannelsList,t as channelAdapterList,m as channelMeta,i as channelPanel,o as channelTrustFloor,n as connectionCard,_ as default,h as emailChannelSection,g as emailManagedContent,a as pluginChannelPanel,r as slackChannelCard,f as slackChannelList,u as slackChannelSection,l as slackChannelTierLegend,s as slackChannelTypeDefaults,d as slackThreadBehavior,c as tierPicker,p as twilioCredentialEntry};
|
|
@@ -6,4 +6,4 @@ Ideal para canales formados solo por personas en las que ya confías.`,confirmAc
|
|
|
6
6
|
|
|
7
7
|
Hacerlo podría costarte dinero y exponerte a vulnerabilidades de seguridad y privacidad.
|
|
8
8
|
|
|
9
|
-
Actívalo con extrema precaución.`,confirmAction:`Permitir desconocidos`}},s={heading:`Acceso predeterminado`,subtitle:`Cuánto hace {assistant} por su cuenta, según el tipo de conversación. Cada canal puede anular esto más abajo, y las <trustRules>Reglas de confianza</trustRules> afinan cuándo pregunta.`,bucketAria:`Acceso predeterminado del asistente para {bucket}`},c={defaultSuffix:`predeterminado`,defaultPlaceholder:`Predeterminado`},l={defaultMarker:`· predeterminado`},u={overridesLoadFailed:`No se pudieron cargar los ajustes de acceso. Estos controles seguirán desactivados hasta que se carguen. Prueba a volver a abrir esta página.`,perChannelOverrides:`Anulaciones por canal`},d={heading:`Comportamiento en hilos`,selectAria:`Comportamiento de Slack en hilos`,mentionsOnly:`Solo menciones`,mentionsOnlyHelp:`El bot solo responde cuando se le menciona con @.`,followThreads:`Seguir el hilo tras la primera mención`,followThreadsHelp:`Tras una mención con @ en un hilo, el bot escucha el resto de ese hilo.`},f={presenceHint:`Añádelo con <invite>/invite {handle}</invite> o quítalo con <remove>/remove {handle}</remove> en ese canal de Slack. Aquí solo aparecen los canales en los que está {assistant}.`,loading:`Cargando…`,loadFailed:`No se pudieron cargar los canales. Prueba a volver a abrir esta página.`,emptyTitle:`Aún no hay canales`,searchPlaceholder:`Buscar canales`,searchAria:`Buscar canales`,filterGroupAria:`Filtrar canales por tipo`,noMatches:`Ningún canal coincide.`,accessAria:`Acceso del asistente en {channel}`,filterAll:`{count, plural, one {Todos (#)} other {Todos (#)}}`,filterPublic:`{count, plural, one {Público (#)} other {Públicos (#)}}`,filterPrivate:`{count, plural, one {Privado (#)} other {Privados (#)}}`},p={accountSid:`SID de la cuenta`,authToken:`Token de autenticación`,authTokenPlaceholder:`Token de autenticación de Twilio`,saving:`Guardando…`,save:`Guardar`},m={slack:{label:`Slack`,disconnectMessage:`Esto borra los tokens de bot y de aplicación de Slack guardados para este asistente. Puedes volver a conectarlo más tarde.`},telegram:{label:`Telegram`,disconnectMessage:`Esto borra el token de bot de Telegram guardado para este asistente. Puedes volver a conectarlo más tarde.`,disconnectedPitch:`Conecta un bot de Telegram para que {assistant} pueda enviar y recibir mensajes en Telegram.`},discord:{label:`Discord`,disconnectedPitch:`Conecta un bot de Discord para que {assistant} pueda leer y responder en tu servidor.`,disconnectMessage:`Esto borra el token del bot de Discord de este asistente y el bot deja de recibir mensajes. El bot sigue en tu servidor hasta que lo elimines alli.`},email:{label:`Correo`},phone:{label:`Llamadas telefónicas`,disconnectMessage:`Esto borra las credenciales de Twilio guardadas para este asistente. Puedes volver a conectarlo más tarde.`,disconnectedPitch:`Conecta tu cuenta de Twilio para que {assistant} pueda hacer y contestar llamadas.`}},h={apiKeyConfigured:`Clave API de {providerName} configurada. Para reconfigurar, ejecuta la habilidad <code>{setupSkill}</code>.`,connecting:`Conectando con la plataforma Vellum…`,openProvider:`Abrir {providerName}`,platformLoginNotice:`Inicia sesión en la plataforma Vellum para administrar la configuración de correo.`,providerLabel:`Proveedor`,saveSuccessToast:`Configuración de correo guardada.`,setupInstructions:`Configura {providerName} mediante la CLI del asistente: pídele al asistente que ejecute la habilidad <code>{setupSkill}</code>. Te guiará para guardar la clave API, detectar el dominio y (opcionalmente) configurar un webhook entrante.`,subtitle:`Configura cómo tu asistente envía y recibe correo`,title:`Correo`},g={addressLabel:`Dirección`,checkingSubscription:`Comprobando suscripción…`,confirm:`Confirmar`,create:`Crear`,createEmailFailedFallback:`No se pudo crear la dirección de correo.`,creating:`Creando…`,domainLabel:`Dominio`,domainRegisteredToast:`Dominio {domain} registrado.`,domainReleaseFailedToast:`No se pudo liberar el dominio.`,domainReleasedToast:`Dominio liberado.`,emailAddressLabel:`Dirección de correo`,emailCreatedToast:`Dirección de correo creada.`,emailRemoveFailedToast:`No se pudo eliminar la dirección de correo.`,emailRemovedToast:`Dirección de correo eliminada.`,emailUsernameAriaLabel:`Nombre de usuario del correo`,emailUsernamePlaceholder:`hola`,enterSubdomainError:`Introduce un subdominio.`,enterUsernameError:`Introduce un nombre de usuario de correo.`,register:`Registrar`,registerDomainFailedFallback:`No se pudo registrar el dominio.`,registering:`Registrando…`,releaseConfirm:`Liberar`,releaseDomainAriaLabel:`Liberar dominio`,releaseDomainConfirmMessage:`¿Seguro que quieres liberar <code>{domain}</code>? El subdominio quedará disponible para que otros lo reclamen.`,releaseDomainTitle:`Liberar dominio`,removeAddressFirstToast:`Elimina primero la dirección de correo.`,removeConfirm:`Eliminar`,removeEmailAriaLabel:`Eliminar dirección de correo`,removeEmailConfirmMessage:`¿Seguro que quieres eliminar <code>{address}</code>? Tu asistente ya no podrá enviar ni recibir correo en esta dirección.`,removeEmailTitle:`Eliminar dirección de correo`,retry:`Reintentar`,setSubdomainConfirmMessage:`<code>{subdomain}</code> también será el identificador público de tu asistente. No podrás cambiarlo una vez establecido.`,setSubdomainTitle:`Establecer subdominio`,subdomainExamplePlaceholder:`mi-asistente`,subdomainFallback:`subdominio`,subdomainHint:`Cada asistente tiene su propio subdominio. Solo letras minúsculas, números y guiones.`,subdomainLabel:`Subdominio`,subscriptionWarningBody:`No pudimos contactar con el servicio de facturación. El formulario siguiente asume que el correo gestionado está habilitado para tu organización. Si no lo está, registrar un dominio fallará.`,subscriptionWarningTitle:`No se pudo verificar el estado de la suscripción`,upgradeButton:`Mejorar plan`,upgradeNoticeBody:`Mejora a un plan que incluya una dirección de correo para tu asistente. No hace falta configurar un proveedor.`,upgradeNoticeTitle:`Dale a tu asistente su propia dirección de correo`,usageSummary:`{sent} / {limit} enviados hoy · {received} recibidos`},_={assistantChannelsList:e,channelAdapterList:t,connectionCard:n,slackChannelCard:r,channelPanel:i,pluginChannelPanel:a,channelTrustFloor:o,slackChannelTypeDefaults:s,tierPicker:c,slackChannelTierLegend:l,slackChannelSection:u,slackThreadBehavior:d,slackChannelList:f,twilioCredentialEntry:p,channelMeta:m,emailChannelSection:h,emailManagedContent:g};export{e as assistantChannelsList,t as channelAdapterList,m as channelMeta,i as channelPanel,o as channelTrustFloor,n as connectionCard,_ as default,h as emailChannelSection,g as emailManagedContent,a as pluginChannelPanel,r as slackChannelCard,f as slackChannelList,u as slackChannelSection,l as slackChannelTierLegend,s as slackChannelTypeDefaults,d as slackThreadBehavior,c as tierPicker,p as twilioCredentialEntry};
|
|
9
|
+
Actívalo con extrema precaución.`,confirmAction:`Permitir desconocidos`}},s={heading:`Acceso predeterminado`,subtitle:`Cuánto hace {assistant} por su cuenta, según el tipo de conversación. Cada canal puede anular esto más abajo, y las <trustRules>Reglas de confianza</trustRules> afinan cuándo pregunta.`,bucketAria:`Acceso predeterminado del asistente para {bucket}`},c={defaultSuffix:`predeterminado`,defaultPlaceholder:`Predeterminado`},l={defaultMarker:`· predeterminado`},u={overridesLoadFailed:`No se pudieron cargar los ajustes de acceso. Estos controles seguirán desactivados hasta que se carguen. Prueba a volver a abrir esta página.`,perChannelOverrides:`Anulaciones por canal`},d={heading:`Comportamiento en hilos`,selectAria:`Comportamiento de Slack en hilos`,mentionsOnly:`Solo menciones`,mentionsOnlyHelp:`El bot solo responde cuando se le menciona con @.`,followThreads:`Seguir el hilo tras la primera mención`,followThreadsHelp:`Tras una mención con @ en un hilo, el bot escucha el resto de ese hilo.`},f={presenceHint:`Añádelo con <invite>/invite {handle}</invite> o quítalo con <remove>/remove {handle}</remove> en ese canal de Slack. Aquí solo aparecen los canales en los que está {assistant}.`,loading:`Cargando…`,loadFailed:`No se pudieron cargar los canales. Prueba a volver a abrir esta página.`,emptyTitle:`Aún no hay canales`,searchPlaceholder:`Buscar canales`,searchAria:`Buscar canales`,filterGroupAria:`Filtrar canales por tipo`,noMatches:`Ningún canal coincide.`,accessAria:`Acceso del asistente en {channel}`,filterAll:`{count, plural, one {Todos (#)} other {Todos (#)}}`,filterPublic:`{count, plural, one {Público (#)} other {Públicos (#)}}`,filterPrivate:`{count, plural, one {Privado (#)} other {Privados (#)}}`},p={accountSid:`SID de la cuenta`,authToken:`Token de autenticación`,authTokenPlaceholder:`Token de autenticación de Twilio`,saving:`Guardando…`,save:`Guardar`},m={slack:{label:`Slack`,disconnectMessage:`Esto borra los tokens de bot y de aplicación de Slack guardados para este asistente. Puedes volver a conectarlo más tarde.`},telegram:{label:`Telegram`,disconnectMessage:`Esto borra el token de bot de Telegram guardado para este asistente. Puedes volver a conectarlo más tarde.`,disconnectedPitch:`Conecta un bot de Telegram para que {assistant} pueda enviar y recibir mensajes en Telegram.`},discord:{label:`Discord`,disconnectedPitch:`Conecta un bot de Discord para que {assistant} pueda leer y responder en tu servidor.`,disconnectMessage:`Esto borra el token del bot de Discord de este asistente y el bot deja de recibir mensajes. El bot sigue en tu servidor hasta que lo elimines alli.`},email:{label:`Correo`},phone:{label:`Llamadas telefónicas`,disconnectMessage:`Esto borra las credenciales de Twilio guardadas para este asistente. Puedes volver a conectarlo más tarde.`,disconnectedPitch:`Conecta tu cuenta de Twilio para que {assistant} pueda hacer y contestar llamadas.`}},h={apiKeyConfigured:`Clave API de {providerName} configurada. Para reconfigurar, ejecuta la habilidad <code>{setupSkill}</code>.`,connecting:`Conectando con la plataforma Vellum…`,openProvider:`Abrir {providerName}`,platformLoginNotice:`Inicia sesión en la plataforma Vellum para administrar la configuración de correo.`,providerLabel:`Proveedor`,saveSuccessToast:`Configuración de correo guardada.`,setupInstructions:`Configura {providerName} mediante la CLI del asistente: pídele al asistente que ejecute la habilidad <code>{setupSkill}</code>. Te guiará para guardar la clave API, detectar el dominio y (opcionalmente) configurar un webhook entrante.`,subtitle:`Configura cómo tu asistente envía y recibe correo`,title:`Correo`},g={addressLabel:`Dirección`,checkingSubscription:`Comprobando suscripción…`,completeSetup:`Completar configuración del dominio`,completingSetup:`Completando configuración…`,confirm:`Confirmar`,create:`Crear`,createEmailFailedFallback:`No se pudo crear la dirección de correo.`,creating:`Creando…`,domainLabel:`Dominio`,domainRegisteredToast:`Dominio {domain} registrado.`,domainReleaseFailedToast:`No se pudo liberar el dominio.`,domainReleasedToast:`Dominio liberado.`,emailAddressLabel:`Dirección de correo`,emailCreatedToast:`Dirección de correo creada.`,emailRemoveFailedToast:`No se pudo eliminar la dirección de correo.`,emailRemovedToast:`Dirección de correo eliminada.`,emailUsernameAriaLabel:`Nombre de usuario del correo`,emailUsernamePlaceholder:`hola`,enterSubdomainError:`Introduce un subdominio.`,enterUsernameError:`Introduce un nombre de usuario de correo.`,register:`Registrar`,registerDomainFailedFallback:`No se pudo registrar el dominio.`,registering:`Registrando…`,releaseConfirm:`Liberar`,releaseDomainAriaLabel:`Liberar dominio`,releaseDomainConfirmMessage:`¿Seguro que quieres liberar <code>{domain}</code>? El subdominio quedará disponible para que otros lo reclamen.`,releaseDomainTitle:`Liberar dominio`,removeAddressFirstToast:`Elimina primero la dirección de correo.`,removeConfirm:`Eliminar`,removeEmailAriaLabel:`Eliminar dirección de correo`,removeEmailConfirmMessage:`¿Seguro que quieres eliminar <code>{address}</code>? Tu asistente ya no podrá enviar ni recibir correo en esta dirección.`,removeEmailTitle:`Eliminar dirección de correo`,repairConfirmMessage:`Se conserva tu dirección de correo actual. La configuración contactará al proveedor de correo y al DNS de <code>{domain}</code>.`,repairConfirmTitle:`¿Completar la configuración del dominio?`,repairFailedFallback:`No se pudo iniciar la configuración del dominio. Inténtalo de nuevo en un momento.`,repairNoticeBody:`Tu dirección de correo está lista, pero este dominio aún no está configurado con el proveedor de correo. Completa la configuración para empezar a enviar y recibir correo.`,repairNoticeTitle:`Configuración del dominio requerida`,repairStartedToast:`Se inició la configuración del dominio. La verificación suele tardar unos minutos.`,retry:`Reintentar`,setSubdomainConfirmMessage:`<code>{subdomain}</code> también será el identificador público de tu asistente. No podrás cambiarlo una vez establecido.`,setSubdomainTitle:`Establecer subdominio`,subdomainExamplePlaceholder:`mi-asistente`,subdomainFallback:`subdominio`,subdomainHint:`Cada asistente tiene su propio subdominio. Solo letras minúsculas, números y guiones.`,subdomainLabel:`Subdominio`,subscriptionWarningBody:`No pudimos contactar con el servicio de facturación. El formulario siguiente asume que el correo gestionado está habilitado para tu organización. Si no lo está, registrar un dominio fallará.`,subscriptionWarningTitle:`No se pudo verificar el estado de la suscripción`,upgradeButton:`Mejorar plan`,upgradeNoticeBody:`Mejora a un plan que incluya una dirección de correo para tu asistente. No hace falta configurar un proveedor.`,upgradeNoticeTitle:`Dale a tu asistente su propia dirección de correo`,usageSummary:`{sent} / {limit} enviados hoy · {received} recibidos`},_={assistantChannelsList:e,channelAdapterList:t,connectionCard:n,slackChannelCard:r,channelPanel:i,pluginChannelPanel:a,channelTrustFloor:o,slackChannelTypeDefaults:s,tierPicker:c,slackChannelTierLegend:l,slackChannelSection:u,slackThreadBehavior:d,slackChannelList:f,twilioCredentialEntry:p,channelMeta:m,emailChannelSection:h,emailManagedContent:g};export{e as assistantChannelsList,t as channelAdapterList,m as channelMeta,i as channelPanel,o as channelTrustFloor,n as connectionCard,_ as default,h as emailChannelSection,g as emailManagedContent,a as pluginChannelPanel,r as slackChannelCard,f as slackChannelList,u as slackChannelSection,l as slackChannelTierLegend,s as slackChannelTypeDefaults,d as slackThreadBehavior,c as tierPicker,p as twilioCredentialEntry};
|