@vellumai/web 0.10.12-staging.1 → 0.10.12-staging.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{AnimatePresence-Za179iJL.js → AnimatePresence-DwfFixKx.js} +1 -1
- package/dist/assets/{BundleConfirmPage-DDJmi2mn.js → BundleConfirmPage-gQyAQ1Np.js} +1 -1
- package/dist/assets/{Combination-8nGFG53c.js → Combination-C7TWRLS7.js} +1 -1
- package/dist/assets/{QueryClientProvider-DKhXIxGb.js → QueryClientProvider-CMu7CkQU.js} +1 -1
- package/dist/assets/{a2a-invite-FXcvjICk.js → a2a-invite-h0ZA9fjr.js} +1 -1
- package/dist/assets/{about-page-Dv6627H6.js → about-page-o4HW3X7x.js} +1 -1
- package/dist/assets/access-DFmdmMm5.js +1 -0
- package/dist/assets/account-page-CCGELSOs.js +1 -0
- package/dist/assets/{account-shell-D4kpoHNu.js → account-shell-AfPNPQvp.js} +1 -1
- package/dist/assets/acp-run-actions-Ct6s3jTx.js +1 -0
- package/dist/assets/acp-run-detail-panel-6KF1gTs7.js +5 -0
- package/dist/assets/acp-run-store-DvHGcG6-.js +1 -0
- package/dist/assets/activity-steps-panel-BixdRLE2.js +1 -0
- package/dist/assets/{add-credits-modal-D5JUaxrG.js → add-credits-modal-IV5EP5Uo.js} +1 -1
- package/dist/assets/ai-page-_F_gn-vY.js +1 -0
- package/dist/assets/animated-avatar-B7_KzM7V.js +1 -0
- package/dist/assets/{api-Be-bLhLk.js → api-BafF_-rc.js} +1 -1
- package/dist/assets/api-DL5vlAJ0.js +1 -0
- package/dist/assets/api-key-screen-Dh7AJqr3.js +1 -0
- package/dist/assets/app-card-BV9XWgfV.js +1 -0
- package/dist/assets/{app-info-VZf7WwPk.js → app-info-Bus9qaJo.js} +1 -1
- package/dist/assets/apple-logo-BaqMf8q6.js +1 -0
- package/dist/assets/archive-redirect-page-Cyh8EfTp.js +1 -0
- package/dist/assets/arrow-down-to-line-Bh_5sIPp.js +1 -0
- package/dist/assets/arrow-left-C2ylPLHq.js +1 -0
- package/dist/assets/arrow-right-B-jRJNWP.js +1 -0
- package/dist/assets/arrow-up-BNd4Gpy7.js +1 -0
- package/dist/assets/{assistant-feature-flag-store-CDHEf__w.js → assistant-feature-flag-store-DrFDLNVv.js} +1 -1
- package/dist/assets/assistant-identity-store-RThYdwnA.js +1 -0
- package/dist/assets/{assistant-status-panel-B7cUtl82.js → assistant-status-panel-DODbammu.js} +1 -1
- package/dist/assets/auth-store-CK95leo_.js +2 -0
- package/dist/assets/avatar-renderer-DAklEC5T.js +1 -0
- package/dist/assets/avatar-subagent-BpXST4nO.js +1 -0
- package/dist/assets/avatar-tone-4L7foPzW.js +1 -0
- package/dist/assets/background-task-actions-BfAGLLHN.js +1 -0
- package/dist/assets/background-task-detail-panel-DOWj29Ko.js +1 -0
- package/dist/assets/background-task-store-CN04oS2z.js +1 -0
- package/dist/assets/ban-B__z3LwE.js +1 -0
- package/dist/assets/{bell-CX2-N3mi.js → bell-Ct4a9v6Y.js} +1 -1
- package/dist/assets/billing-page-D1vuR7wJ.js +3 -0
- package/dist/assets/billing-redirect-page-BsV6cEpx.js +1 -0
- package/dist/assets/bookmarks-page-CPmWAOGH.js +1 -0
- package/dist/assets/{brain-BDL_F8de.js → brain-BIzJCPA6.js} +1 -1
- package/dist/assets/browser-DtFBB5v5.js +2 -0
- package/dist/assets/{bug-DpgA3wug.js → bug-VUcJFHwN.js} +1 -1
- package/dist/assets/{build-state-CUO66B1Z.js → build-state-DoiXhrgx.js} +1 -1
- package/dist/assets/{button-BxZ6HzpA.js → button-Dy5001j6.js} +1 -1
- package/dist/assets/{capture-error-BwO3qoVL.js → capture-error-CqtAGHQu.js} +1 -1
- package/dist/assets/{card-BjOtFtya.js → card-DRIctGVs.js} +1 -1
- package/dist/assets/channels-page-route-BBwlgesO.js +9 -0
- package/dist/assets/{chart-column-C1yFxpp4.js → chart-column-BLKW3sjY.js} +1 -1
- package/dist/assets/chat-BIJEFb5u.js +1 -0
- package/dist/assets/chat-avatar-C7xsXP27.js +1 -0
- package/dist/assets/chat-layout-slots-store-C325hn1X.js +1 -0
- package/dist/assets/chat-markdown-message-C2uQyAXa.js +2 -0
- package/dist/assets/check-sC49_hjU.js +1 -0
- package/dist/assets/{checkbox-D1MV5awS.js → checkbox-BZTUJtxM.js} +1 -1
- package/dist/assets/{chevron-down-qD-re7AW.js → chevron-down-B5A-0g8A.js} +1 -1
- package/dist/assets/chevron-left-CytMddTB.js +1 -0
- package/dist/assets/chevron-right-HU6H84S0.js +1 -0
- package/dist/assets/{chevron-up-3jCod9LW.js → chevron-up-2Qqarz0p.js} +1 -1
- package/dist/assets/{chunk-5KNZJZUH-SU6Q_tDT.js → chunk-5KNZJZUH-Bsoom5--.js} +1 -1
- package/dist/assets/{circle-alert-zOqdmf25.js → circle-alert-DVCpoZrc.js} +1 -1
- package/dist/assets/circle-check-CjGnAahM.js +1 -0
- package/dist/assets/circle-check-big-DSsDH5_6.js +1 -0
- package/dist/assets/circle-minus-DNfBAj4g.js +1 -0
- package/dist/assets/circle-x-17dBxF06.js +1 -0
- package/dist/assets/{client-feature-flag-store-D6AJ_kH4.js → client-feature-flag-store-DR6pLmyc.js} +1 -1
- package/dist/assets/{client-identity-DXW8XMU0.js → client-identity-ChGFRQsv.js} +1 -1
- package/dist/assets/{clipboard-copy-DF6K1xc6.js → clipboard-copy-JwIceweN.js} +1 -1
- package/dist/assets/clock-BYTc0Ds9.js +1 -0
- package/dist/assets/cloud-RlApB3rO.js +1 -0
- package/dist/assets/{cloud-off-D943IxQy.js → cloud-off-BCBGTmt0.js} +1 -1
- package/dist/assets/{cn-eDwV5N77.js → cn-CJf7MmLX.js} +1 -1
- package/dist/assets/code-qafFA0_-.js +1 -0
- package/dist/assets/coins-Hrmb9tmj.js +1 -0
- package/dist/assets/command-palette-CYwgr9BF.js +1 -0
- package/dist/assets/command-palette-window-page-ByOPmEAV.js +1 -0
- package/dist/assets/community-page-D7FDDkdu.js +1 -0
- package/dist/assets/{confirm-dialog-LogFhGPZ.js → confirm-dialog-DZX6LhLy.js} +1 -1
- package/dist/assets/{connect-page-BRRi0Zl-.js → connect-page-BXelaj8V.js} +1 -1
- package/dist/assets/consent-Bkslj0yQ.js +1 -0
- package/dist/assets/{consent-controls-Cgpqpo5q.js → consent-controls-DoUmeaFm.js} +1 -1
- package/dist/assets/{contacts-gateway-C7oMDoDl.js → contacts-gateway-BI9Ok4O5.js} +1 -1
- package/dist/assets/contacts-page-route-C2cmfHU4.js +1 -0
- package/dist/assets/conversation-cache-irOw8vtk.js +1 -0
- package/dist/assets/{conversation-list-fetchers-CK2Z1Khy.js → conversation-list-fetchers-CeiuJYcE.js} +1 -1
- package/dist/assets/conversation-navigation-DUNqTEXk.js +1 -0
- package/dist/assets/conversation-queries-Bo-ZW6ul.js +1 -0
- package/dist/assets/conversation-selection-Cx6Axfzb.js +1 -0
- package/dist/assets/{conversation-store-RTKrzZpU.js → conversation-store-C0tvFESx.js} +1 -1
- package/dist/assets/{cpu-BjzPZZO7.js → cpu-eUAdrpWb.js} +1 -1
- package/dist/assets/{create-selectors-CVKI3m11.js → create-selectors-B-P03-8K.js} +1 -1
- package/dist/assets/{createLucideIcon-IRfcSUxS.js → createLucideIcon-CAM1RhH8.js} +1 -1
- package/dist/assets/{credential-entry-page-dKpRwqGK.js → credential-entry-page-Dt_0bNAT.js} +1 -1
- package/dist/assets/credentials-page-BDfP4yY4.js +1 -0
- package/dist/assets/credit-card-C1RL73Rt.js +1 -0
- package/dist/assets/{crown-CbQRwy8n.js → crown-DTdTkF6n.js} +1 -1
- package/dist/assets/danger-zone-redirect-page-CpEYg1lA.js +1 -0
- package/dist/assets/debug-page-Bh4VqdzS.js +4 -0
- package/dist/assets/deploy-dialogs-D_AQFfc0.js +1 -0
- package/dist/assets/deploy-store-Co5K25DO.js +1 -0
- package/dist/assets/{detail-card-DvLLMhNf.js → detail-card-BKbhBGhy.js} +1 -1
- package/dist/assets/{detail-panel-stop-button--i6Loldr.js → detail-panel-stop-button-C-Y-hevf.js} +1 -1
- package/dist/assets/detail-shell-BW-7Q0R6.js +1 -0
- package/dist/assets/developer-page-tydL_eOW.js +1 -0
- package/dist/assets/devices-redirect-page-7yfm7RVK.js +1 -0
- package/dist/assets/{diagnostics-ma-XhbLR.js → diagnostics-C1vLQi8c.js} +1 -1
- package/dist/assets/dices-FpUbVcWW.js +1 -0
- package/dist/assets/dictation-overlay-page-BM_PPlmh.js +1 -0
- package/dist/assets/dictation-overlay-w1YHEfFR.js +1 -0
- package/dist/assets/{dist-CJjdYxdA.js → dist-BKxs5XmY.js} +1 -1
- package/dist/assets/{dist-DOntYjnl.js → dist-BswnB-bR.js} +1 -1
- package/dist/assets/{dist-B2rqKTnz.js → dist-CKLJHt4Z.js} +1 -1
- package/dist/assets/{dist-DOi1RSfK.js → dist-CQN0ZAOZ.js} +1 -1
- package/dist/assets/document-viewer-container-Do8yUakJ.js +2 -0
- package/dist/assets/document-viewer-page-BzM3ABt9.js +1 -0
- package/dist/assets/{download-CAuK-nZ6.js → download-BBg2iaa4.js} +1 -1
- package/dist/assets/dropdown-Dt0Iof85.js +1 -0
- package/dist/assets/{edge-swipe-arbiter-store-DQXMiR0e.js → edge-swipe-arbiter-store-D9XJTxJJ.js} +1 -1
- package/dist/assets/edit-chat-session-BVmK2sam.js +1 -0
- package/dist/assets/effective-timezone-CnKC3vj0.js +1 -0
- package/dist/assets/ellipsis-BRJI5_P1.js +1 -0
- package/dist/assets/emails-page-Cn56Zrp2.js +1 -0
- package/dist/assets/{environment-store-Cs37h4c4.js → environment-store-BXSWXdjm.js} +1 -1
- package/dist/assets/esm-CBsKAtYP.js +2 -0
- package/dist/assets/esm-CkAk1b7M.js +1 -0
- package/dist/assets/esm-DCA3xHJS.js +2 -0
- package/dist/assets/esm-DVuEArjY.js +2 -0
- package/dist/assets/esm-LrelsjXA.js +2 -0
- package/dist/assets/esm-NJgNz35U.js +2 -0
- package/dist/assets/esm-PbRZjFG7.js +2 -0
- package/dist/assets/{external-link-Dqpx9nRm.js → external-link-CAce-RVu.js} +1 -1
- package/dist/assets/external-urls-HAW1JmbX.js +1 -0
- package/dist/assets/{eye-CSkO4zr-.js → eye-DTyDWiqu.js} +1 -1
- package/dist/assets/eye-bbox-vHbpD-XX.js +1 -0
- package/dist/assets/{eye-off-BZGLjMTP.js → eye-off-fuOP4Lij.js} +1 -1
- package/dist/assets/{file-CZqt7Lfg.js → file-CNougInA.js} +1 -1
- package/dist/assets/file-code-DD3K2kve.js +1 -0
- package/dist/assets/{file-editor-Zt007HGQ.js → file-editor-AqFGpEiG.js} +1 -1
- package/dist/assets/{file-markdown-DPyUUjzw.js → file-markdown-Dz0E8JCw.js} +1 -1
- package/dist/assets/file-plus-Dq2xo7Ic.js +1 -0
- package/dist/assets/{file-text-YQjMPDid.js → file-text-BCsUYVEF.js} +1 -1
- package/dist/assets/first-run-scope-vr9PkCPF.js +1 -0
- package/dist/assets/folder-Dgxb-gKb.js +1 -0
- package/dist/assets/{folder-open-Bc5csnpa.js → folder-open-CAb0DLYq.js} +1 -1
- package/dist/assets/format-date-C5pKGCAG.js +1 -0
- package/dist/assets/funnel-events-wLEIhAS6.js +1 -0
- package/dist/assets/general-page-CVLpYzRN.js +1 -0
- package/dist/assets/{get-memory-stats-C4y5n8_1.js → get-memory-stats-B9qL5lJg.js} +1 -1
- package/dist/assets/{globe-CYmqQnbY.js → globe-CEgs-yoc.js} +1 -1
- package/dist/assets/{haptics-DE5jsotL.js → haptics-BOyIPZDm.js} +2 -2
- package/dist/assets/{hard-drive-DwQCEDaH.js → hard-drive-dYuXAWBE.js} +1 -1
- package/dist/assets/hard-navigate-V2EFapkk.js +1 -0
- package/dist/assets/hatching-screen-DKqcfIqT.js +1 -0
- package/dist/assets/heart-BqO0KKAc.js +1 -0
- package/dist/assets/home-page-route-4LoUJVyf.js +1 -0
- package/dist/assets/hosting-screen-ChxMs5SE.js +1 -0
- package/dist/assets/identity-page-route-BZv_8gEN.js +7 -0
- package/dist/assets/inbox-DXYIwUrn.js +1 -0
- package/dist/assets/index-4G2A642F.js +11 -0
- package/dist/assets/index-_3FdgMgw.css +2 -0
- package/dist/assets/{info-DIYWVpY2.js → info-CYiVdnQV.js} +1 -1
- package/dist/assets/{ingest-BGU07y4q.js → ingest-JAa1OGej.js} +1 -1
- package/dist/assets/{input-DxOyE0ZC.js → input-C-GkeWCw.js} +1 -1
- package/dist/assets/{inspect-page-OnyQnvRq.js → inspect-page-D6BmfgaE.js} +4 -4
- package/dist/assets/installed-plugins-query-BARnE4gA.js +1 -0
- package/dist/assets/integration-icon-B5V_-Cwm.js +1 -0
- package/dist/assets/integrations-page-CiKJbgld.js +1 -0
- package/dist/assets/intelligence-layout-iZMnS_UR.js +1 -0
- package/dist/assets/invalidate-plugin-queries-QIHve9na.js +1 -0
- package/dist/assets/{key-round-BNxuL6Ys.js → key-round-CSc3w5ka.js} +1 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-Bj55BTMo.js +1 -0
- package/dist/assets/laptop-ByoaxLxg.js +1 -0
- package/dist/assets/{latest-assistant-text-DtOF8zAg.js → latest-assistant-text-BjCANctw.js} +2 -2
- package/dist/assets/layout-grid-PPpVK0nJ.js +1 -0
- package/dist/assets/library-detail-page-rAKEZjAC.js +1 -0
- package/dist/assets/library-page-DLXws76z.js +1 -0
- package/dist/assets/{link-2-B_lKjTgC.js → link-2-BMNZFfWH.js} +1 -1
- package/dist/assets/link-CowyzCIZ.js +1 -0
- package/dist/assets/{list-D1sxly73.js → list-CDyb1CGV.js} +1 -1
- package/dist/assets/{list-row-C2T2An9i.js → list-row-MeHwwyA6.js} +1 -1
- package/dist/assets/loader-circle-BzJ2kz3F.js +1 -0
- package/dist/assets/{local-mode-Dad5eO5y.js → local-mode-CTrmCbAp.js} +2 -2
- package/dist/assets/local-runtime-upgrade-DhywiNJj.js +1 -0
- package/dist/assets/{log-in-3H31Ax42.js → log-in-Bhye1kwc.js} +1 -1
- package/dist/assets/log-out-BLE632qu.js +1 -0
- package/dist/assets/{login-flow-CC5dh6xD.js → login-flow-GvzsqmPU.js} +1 -1
- package/dist/assets/{login-page-BB-PFbNZ.js → login-page-BpyN5i3N.js} +1 -1
- package/dist/assets/logout-page-BYTvA7jR.js +1 -0
- package/dist/assets/logs-layout-CAsT7PSA.js +1 -0
- package/dist/assets/mail-DABv3_Ue.js +1 -0
- package/dist/assets/memory-page-route-Ct0vQuTQ.js +2 -0
- package/dist/assets/{memory-router-playground-page-4u5IR6l4.js → memory-router-playground-page-Dw5KRcud.js} +1 -1
- package/dist/assets/{menu-TiRblnyW.js → menu-CKZtG-s_.js} +1 -1
- package/dist/assets/message-circle-gk_DFUIg.js +1 -0
- package/dist/assets/message-square-text-asdoy3SW.js +1 -0
- package/dist/assets/message-square-zCNXaHYX.js +1 -0
- package/dist/assets/messages-DR9NaU6I.js +13 -0
- package/dist/assets/{metric-card-DWsnW0I-.js → metric-card-BGMRvm8T.js} +1 -1
- package/dist/assets/{mic-DVup4kXX.js → mic-DZrWtAAu.js} +1 -1
- package/dist/assets/{middleware-D7yRRK9X.js → middleware-HE0NLvPl.js} +1 -1
- package/dist/assets/{minimize-2-Dkuju8j-.js → minimize-2-BR0ed4mI.js} +1 -1
- package/dist/assets/{misc-DksIl9AI.js → misc-CAQM4FGM.js} +1 -1
- package/dist/assets/mobile-sidebar-drawer-Dwe3U09O.js +1 -0
- package/dist/assets/{modal-rQEdFMrT.js → modal-DwsThLGg.js} +1 -1
- package/dist/assets/{monitor-cH8WSwKo.js → monitor-B5vtTCxm.js} +1 -1
- package/dist/assets/{moon-DTGt89o8.js → moon-DSdti3GO.js} +1 -1
- package/dist/assets/mutation-error--1w2EbUT.js +1 -0
- package/dist/assets/native-anchor-DtMEHD4d.js +1 -0
- package/dist/assets/{native-biometric-CfKcznEr.js → native-biometric-BBZbTKi0.js} +1 -1
- package/dist/assets/native-file-fkzAxQg0.js +2 -0
- package/dist/assets/not-found-BAcyD9Pu.js +1 -0
- package/dist/assets/{notice-CdE_bYUC.js → notice-DCp7WO3L.js} +1 -1
- package/dist/assets/notifications-page-DzAAMGmB.js +1 -0
- package/dist/assets/{oauth-complete-page-MIdVC-aN.js → oauth-complete-page-pSE2ePnC.js} +1 -1
- package/dist/assets/oauth-connection-utils-U3iVzpfJ.js +1 -0
- package/dist/assets/oauth-popup-Bru0o3W0.js +1 -0
- package/dist/assets/{oauth-popup-complete-page-CbdrjzQo.js → oauth-popup-complete-page-D4Uc4M6G.js} +1 -1
- package/dist/assets/onboarding-layout-1lVX8db0.js +1 -0
- package/dist/assets/{onboarding-store-M2W9-LaY.js → onboarding-store-hpvNtD3A.js} +1 -1
- package/dist/assets/open-workspace-file-C0ZDhKxD.js +2 -0
- package/dist/assets/{page-empty-state-CebRmpsa.js → page-empty-state-BOJLN0oo.js} +1 -1
- package/dist/assets/{page-shell-BQDuLn3L.js → page-shell-CdgW9nzA.js} +1 -1
- package/dist/assets/pairing-page-KqVmsFUh.js +1 -0
- package/dist/assets/{panel-item-Ciyir7x-.js → panel-item-ldBYDDDs.js} +1 -1
- package/dist/assets/paperclip-DVE0scjU.js +1 -0
- package/dist/assets/password-reset-page-CMaCRCUO.js +1 -0
- package/dist/assets/{pdf-BjaXbnaz.js → pdf-DFUISXhq.js} +1 -1
- package/dist/assets/{pencil-zvu6VPlv.js → pencil-D38YNe2r.js} +1 -1
- package/dist/assets/personality-page-Dt5aGp-e.js +1 -0
- package/dist/assets/plans-page-B0jfFMS-.js +1 -0
- package/dist/assets/platform-detection-DOh3jMAT.js +1 -0
- package/dist/assets/platform-login-notice-LOYoqOMf.js +1 -0
- package/dist/assets/{platform-loopback-page-_qAVer3W.js → platform-loopback-page-BscTnDN8.js} +1 -1
- package/dist/assets/play-B0-JEtcm.js +1 -0
- package/dist/assets/plugin-detail-page-rtP8WprQ.js +1 -0
- package/dist/assets/plugins-page-BlLCo_51.js +1 -0
- package/dist/assets/plugins-surface-C6q5ZBC0.js +1 -0
- package/dist/assets/plus-jH3kAliM.js +1 -0
- package/dist/assets/{popover-B65NY395.js → popover-BFL-uOLh.js} +1 -1
- package/dist/assets/{prefs-CIqZGUAf.js → prefs-B2UAscQt.js} +1 -1
- package/dist/assets/privacy-page-DIfDx43s.js +1 -0
- package/dist/assets/privacy-screen-CT2vDIPL.js +1 -0
- package/dist/assets/{progress-bar-DQREkpqG.js → progress-bar-CJxkStgF.js} +1 -1
- package/dist/assets/provider-callback-page-CBhBrIAp.js +1 -0
- package/dist/assets/{provider-key-KznjccFG.js → provider-key-BoyxWMGQ.js} +1 -1
- package/dist/assets/{provider-signup-page-jSegsiOd.js → provider-signup-page-MRdEILUW.js} +1 -1
- package/dist/assets/{proxy-B-Zpns8q.js → proxy-Ca4nD_gM.js} +1 -1
- package/dist/assets/{puzzle-C3vosOtA.js → puzzle-BVC3TGko.js} +1 -1
- package/dist/assets/quick-input-page-ZAHDIH7x.js +1 -0
- package/dist/assets/{react-query.gen-BhyBMzST.js → react-query.gen-CbsPBjd9.js} +1 -1
- package/dist/assets/{react-query.gen-suv9Gzxi.js → react-query.gen-oEdI--ip.js} +1 -1
- package/dist/assets/{refresh-cw-BYjQ7maV.js → refresh-cw-DzPnoeCh.js} +1 -1
- package/dist/assets/{remote-gateway-session-Cjd1YhG_.js → remote-gateway-session-DAfJAELv.js} +1 -1
- package/dist/assets/{repeat-DEu1W8kD.js → repeat-GCVYEp1h.js} +1 -1
- package/dist/assets/research-facts-e-0TmtJP.js +1 -0
- package/dist/assets/research-mock-page-DTTf0zfR.js +1 -0
- package/dist/assets/{research-onboarding-persistence-BrrKTo3p.js → research-onboarding-persistence-BN6g1lF7.js} +1 -1
- package/dist/assets/research-onboarding-route-xdBEvVjC.js +50 -0
- package/dist/assets/research-results-view-DhHY5ZPj.js +3 -0
- package/dist/assets/{resolved-assistants-store-KDw2r1Lb.js → resolved-assistants-store-PdwcxGwN.js} +1 -1
- package/dist/assets/retire-confirm-dialog-BF8nORxR.js +1 -0
- package/dist/assets/review-terms-screen-DWW0H6gs.js +1 -0
- package/dist/assets/risk-DXfbjxrL.js +3 -0
- package/dist/assets/rotate-ccw-Da_2DvhY.js +1 -0
- package/dist/assets/routes-C3xPjNWF.js +23 -0
- package/dist/assets/{routes-DzmKi8ws.js → routes-bwxCYLJj.js} +1 -1
- package/dist/assets/runtime-upgrade-banner-Dlp0eQiE.js +2 -0
- package/dist/assets/sandbox-bridge-BhR-nW2z.js +184 -0
- package/dist/assets/{schedules-B1CnA7cO.js → schedules-o0jcCr54.js} +1 -1
- package/dist/assets/schedules-page-BCofuXAr.js +1 -0
- package/dist/assets/{sdk.gen-VeH6cm1I.js → sdk.gen-C6q_cviY.js} +1 -1
- package/dist/assets/{sdk.gen-BYiW7lcm.js → sdk.gen-CsFDyJ6U.js} +1 -1
- package/dist/assets/search-DA3TmTuR.js +1 -0
- package/dist/assets/security-redirect-page-B_ci75cb.js +1 -0
- package/dist/assets/select-assistant-screen-g68FASxq.js +1 -0
- package/dist/assets/send-DHWUIK7G.js +1 -0
- package/dist/assets/{setting-row-BLsF3g7M.js → setting-row-CxQBrD8s.js} +1 -1
- package/dist/assets/{settings-BsQ206Aw.js → settings-CfuLzwIw.js} +1 -1
- package/dist/assets/settings-divider-ORJowxpl.js +1 -0
- package/dist/assets/settings-layout-DvMiWCPp.js +1 -0
- package/dist/assets/settings-navigation-DCqMil0c.js +1 -0
- package/dist/assets/share-feedback-modal-BlqdxyC5.js +1 -0
- package/dist/assets/shield-B69p45Kq.js +1 -0
- package/dist/assets/{shield-check-1k8P0ttt.js → shield-check-C7I-REGg.js} +1 -1
- package/dist/assets/sidebar-tree-DtsphGOt.js +1 -0
- package/dist/assets/signup-page-B-9iClzh.js +1 -0
- package/dist/assets/{signup-shell-Dsle-nTJ.js → signup-shell-CS8qe8J1.js} +1 -1
- package/dist/assets/{site-favicon-BD3EiYjT.js → site-favicon-BwdB2A7_.js} +1 -1
- package/dist/assets/skill-detail-page-RlOqtrxz.js +1 -0
- package/dist/assets/skill-detail-panel-72NTcSvY.js +1 -0
- package/dist/assets/{skills-DDLX2htF.js → skills-CS48H_5g.js} +1 -1
- package/dist/assets/skills-page-B5c4S__U.js +1 -0
- package/dist/assets/slack-setup-wizard-DyLOaNeb.js +1 -0
- package/dist/assets/{sliders-horizontal-C8XA9Xcy.js → sliders-horizontal-D5dtNWk8.js} +1 -1
- package/dist/assets/smartphone-BbK6bGuE.js +1 -0
- package/dist/assets/{sound-manager-Br26Xe_9.js → sound-manager-BkU9w22u.js} +1 -1
- package/dist/assets/sounds-page-B_VfIF_f.js +1 -0
- package/dist/assets/{sparkles-BUe8G0Ub.js → sparkles-DC8kqYjt.js} +1 -1
- package/dist/assets/square-Bn3X6ZlO.js +1 -0
- package/dist/assets/{src-DGZEuT5r.js → src-B9F84D64.js} +1 -1
- package/dist/assets/start-screen-BzchtmN4.js +1 -0
- package/dist/assets/{status-badge-pill--8i-OF7m.js → status-badge-pill-wJPMXQk1.js} +1 -1
- package/dist/assets/stream-watchdog-LwK1DR5Q.js +1 -0
- package/dist/assets/subagent-detail-panel-CnkzZsGz.js +4 -0
- package/dist/assets/{subagent-store-DZf2joN8.js → subagent-store-CM0X7ol2.js} +1 -1
- package/dist/assets/sun-BKEPYS7Q.js +1 -0
- package/dist/assets/superpowers-page-D0T5rLBb.js +1 -0
- package/dist/assets/surface-parse-helpers-CEJ3tQ9Q.js +1 -0
- package/dist/assets/system-events-page-9lCNzX-7.js +1 -0
- package/dist/assets/system-events-redirect-page-AHa_MARa.js +1 -0
- package/dist/assets/{tag-Dw1f5QKZ.js → tag-D8NAGb0r.js} +1 -1
- package/dist/assets/terminal-Cs_TREv-.js +1 -0
- package/dist/assets/theme-stage-page-CntGqJIW.js +1 -0
- package/dist/assets/{three-dot-indicator-5854llmy.js → three-dot-indicator-CfjkCgEH.js} +1 -1
- package/dist/assets/threshold-presets-ti1ttrv3.js +1 -0
- package/dist/assets/{tiptap-document-editor-DJPSLMCs.js → tiptap-document-editor-BOuerIA1.js} +1 -1
- package/dist/assets/{toast-Bchq1ame.js → toast-DR7D7Uma.js} +1 -1
- package/dist/assets/{toggle-BOKaoAmA.js → toggle-D776PTw-.js} +1 -1
- package/dist/assets/{tool-detail-panel-Bllcdw4w.js → tool-detail-panel-B6-P-pe0.js} +2 -2
- package/dist/assets/transcript-message-body-shared-CQwPiuDN.js +1 -0
- package/dist/assets/trash-2-De6X8YiM.js +1 -0
- package/dist/assets/{triangle-alert-DM5k06Dr.js → triangle-alert--e3n47gm.js} +1 -1
- package/dist/assets/trust-rules-api-lD2Ni46I.js +1 -0
- package/dist/assets/{typed-storage-CKjMGu7i.js → typed-storage-zmOSvIeO.js} +1 -1
- package/dist/assets/{typography-B_Zom8Gj.js → typography-DEI9Ra9z.js} +1 -1
- package/dist/assets/upgrade-cancel-page-D0hw2jKj.js +1 -0
- package/dist/assets/upgrade-success-page-CmEZ39Sn.js +1 -0
- package/dist/assets/upload-Bdbyo_ok.js +1 -0
- package/dist/assets/usage-redirect-page-Cq2M7ii4.js +1 -0
- package/dist/assets/{use-active-assistant-id-qI62oM5B.js → use-active-assistant-id-BcM35kFN.js} +1 -1
- package/dist/assets/use-app-theme-DVqzJFH6.js +1 -0
- package/dist/assets/use-assistant-avatar-DpMH3A_7.js +1 -0
- package/dist/assets/use-assistant-capability-DkGxxxTG.js +1 -0
- package/dist/assets/use-assistant-identity-details-CN_tizo0.js +1 -0
- package/dist/assets/use-avatar-accent-var-C4DSU-BO.js +1 -0
- package/dist/assets/use-bookmarks-DzswOt-6.js +1 -0
- package/dist/assets/use-bundled-avatar-components-IQw2k8-g.js +2 -0
- package/dist/assets/use-bus-subscription-DIENjckU.js +1 -0
- package/dist/assets/use-checkout-dismiss-refresh-DRknWbR3.js +1 -0
- package/dist/assets/use-command-palette-sections-BFYwWTT8.js +1 -0
- package/dist/assets/{use-copy-to-clipboard-BEle5mpf.js → use-copy-to-clipboard-O2AZwhGa.js} +1 -1
- package/dist/assets/use-discord-nudge-CRU-lEHV.js +1 -0
- package/dist/assets/use-edge-swipe-6PtOzG4E.js +1 -0
- package/dist/assets/use-edge-swipe-back-Y66_jaFR.js +1 -0
- package/dist/assets/use-edit-app-B3lr2KkA.js +1 -0
- package/dist/assets/use-effective-timezone-Da7pvXSm.js +1 -0
- package/dist/assets/use-invite-link-dialog-4cPtNBj0.js +1 -0
- package/dist/assets/use-ios-app-nudge-BV5eX4Fv.js +1 -0
- package/dist/assets/use-is-mobile-Cx2xnNUx.js +1 -0
- package/dist/assets/use-is-org-ready-DryM43xt.js +1 -0
- package/dist/assets/{use-onboarding-login-DBSvy8NS.js → use-onboarding-login-DWweCRJ-.js} +1 -1
- package/dist/assets/use-platform-gate-DcS6snds.js +1 -0
- package/dist/assets/use-reduced-motion-Bv27WKCk.js +1 -0
- package/dist/assets/use-save-twilio-credentials-BDbv1FdS.js +1 -0
- package/dist/assets/use-skill-actions-C34mG6kK.js +1 -0
- package/dist/assets/use-skill-detail-files-M-YjNd2c.js +1 -0
- package/dist/assets/use-sticky-profiles-CostDY59.js +1 -0
- package/dist/assets/use-subagent-card-data-CmbaKWII.js +1 -0
- package/dist/assets/use-supports-bookmarks-CJC-T2ro.js +1 -0
- package/dist/assets/use-swipe-engine-RAFE-Hrf.js +1 -0
- package/dist/assets/useInfiniteQuery-Dk8q0n49.js +1 -0
- package/dist/assets/{useMutation-Lj4VunQV.js → useMutation-CXGTrp4W.js} +1 -1
- package/dist/assets/{useQuery-B45lW1Kk.js → useQuery-Bz-fbQ-m.js} +1 -1
- package/dist/assets/user-Dq9DUxnU.js +1 -0
- package/dist/assets/{user-plus-CwViG7E8.js → user-plus-CXMJ1x_5.js} +1 -1
- package/dist/assets/{users-BdvcnAAL.js → users-DWDkv8ju.js} +1 -1
- package/dist/assets/{utils-D4TAvmSz.js → utils-CrvvcikL.js} +1 -1
- package/dist/assets/utils-DW4oHJu6.js +1 -0
- package/dist/assets/video-CZnrM0pw.js +1 -0
- package/dist/assets/viewer-store-CLSpfTlZ.js +1 -0
- package/dist/assets/voice-list-woCTax9H.js +1 -0
- package/dist/assets/voice-page-BDjuMuY8.js +1 -0
- package/dist/assets/voice-picker-modal-BiCmmLJz.js +1 -0
- package/dist/assets/{volume-2-4QfmnnuJ.js → volume-2-Bj3y3ZBJ.js} +1 -1
- package/dist/assets/weather-forecast-display-D5OkfHyL.js +1 -0
- package/dist/assets/web-BK2xLXXm.js +1 -0
- package/dist/assets/web-BLJkVZnq.js +1 -0
- package/dist/assets/web-BMLENaxE.js +1 -0
- package/dist/assets/web-BQLS3-Jp.js +1 -0
- package/dist/assets/web-C4ApmvCw.js +1 -0
- package/dist/assets/web-Cc4zhBG7.js +1 -0
- package/dist/assets/web-Cimwq57E.js +1 -0
- package/dist/assets/web-D6tBOv21.js +1 -0
- package/dist/assets/welcome-screen-BTmdDQ8q.js +1 -0
- package/dist/assets/workflow-DbPANJpf.js +1 -0
- package/dist/assets/workflow-detail-panel-BigYPr9m.js +1 -0
- package/dist/assets/workflow-store-B-5tSUVD.js +1 -0
- package/dist/assets/workspace-page-D1Ds9_ey.js +1 -0
- package/dist/assets/workspace-theme-tokens-bLqHFK0a.js +1 -0
- package/dist/assets/wrench-tjOqvzJ2.js +1 -0
- package/dist/assets/x-DuBvjmAE.js +1 -0
- package/dist/assets/zoom-in-BBlu4Gwn.js +1 -0
- package/dist/index.html +280 -165
- package/package.json +1 -1
- package/dist/assets/account-page-BubFzGAw.js +0 -1
- package/dist/assets/acp-run-detail-panel-leFVJils.js +0 -5
- package/dist/assets/activity-steps-panel-BQO2mvcW.js +0 -1
- package/dist/assets/ai-page-6ZGUi4HR.js +0 -1
- package/dist/assets/animated-avatar-DHAmpfhM.js +0 -1
- package/dist/assets/api-D2dIV8ud.js +0 -1
- package/dist/assets/api-key-screen-BsnnP3SE.js +0 -1
- package/dist/assets/archive-redirect-page-BIn92ZY2.js +0 -1
- package/dist/assets/arrow-left-8m8Hdw7f.js +0 -1
- package/dist/assets/assistant-identity-store-CcOzNTzY.js +0 -1
- package/dist/assets/auth-store-DaPAazSR.js +0 -2
- package/dist/assets/background-task-detail-panel-BazEY9Uz.js +0 -1
- package/dist/assets/ban-BJHw_lw9.js +0 -1
- package/dist/assets/billing-page-D7S4G3BD.js +0 -3
- package/dist/assets/billing-redirect-page-Cjr_7JuR.js +0 -1
- package/dist/assets/bookmarks-page-ChLuMuyc.js +0 -1
- package/dist/assets/browser-D6KrosAJ.js +0 -2
- package/dist/assets/channels-page-route-CrxUWmBJ.js +0 -9
- package/dist/assets/chat-DNMITUel.js +0 -1
- package/dist/assets/chat-markdown-message-BMNi893o.js +0 -2
- package/dist/assets/check-DFNrQERi.js +0 -1
- package/dist/assets/chevron-left-BMF1xNfR.js +0 -1
- package/dist/assets/chevron-right-DqqmezXC.js +0 -1
- package/dist/assets/circle-check-VSiny8yl.js +0 -1
- package/dist/assets/clock-BfaF7UiJ.js +0 -1
- package/dist/assets/code-Dl3IekqV.js +0 -1
- package/dist/assets/command-palette-DGrSNsGU.js +0 -1
- package/dist/assets/command-palette-window-page-DNEdcAR6.js +0 -1
- package/dist/assets/community-page-Dr0DWkxI.js +0 -1
- package/dist/assets/consent-CIapX2Gq.js +0 -1
- package/dist/assets/contacts-page-route-SPJ5jADO.js +0 -1
- package/dist/assets/credentials-page-DRxx5YTu.js +0 -1
- package/dist/assets/danger-zone-redirect-page-CouGbWjK.js +0 -1
- package/dist/assets/debug-page-DzDzyLEL.js +0 -4
- package/dist/assets/deploy-dialogs-A4UK8iC6.js +0 -1
- package/dist/assets/developer-page-CEdBdq4f.js +0 -1
- package/dist/assets/devices-redirect-page-Udzr63gn.js +0 -1
- package/dist/assets/dictation-overlay-page-DlXl2GWO.js +0 -1
- package/dist/assets/document-viewer-page-xEGxCqkR.js +0 -1
- package/dist/assets/dropdown-Cl8NyHlL.js +0 -1
- package/dist/assets/effective-timezone-0GF618E_.js +0 -1
- package/dist/assets/emails-page-1sPUnaBc.js +0 -1
- package/dist/assets/esm-BW0BzEtt.js +0 -2
- package/dist/assets/esm-ByIuGzCm.js +0 -1
- package/dist/assets/esm-C9Jbm9IV.js +0 -2
- package/dist/assets/esm-CmmeOIYe.js +0 -2
- package/dist/assets/esm-Dk_6yGX8.js +0 -2
- package/dist/assets/esm-DoTLAeQr.js +0 -2
- package/dist/assets/esm-EIoyyla0.js +0 -2
- package/dist/assets/general-page-CzMpPvk0.js +0 -1
- package/dist/assets/hatching-screen-HQD-hiCP.js +0 -1
- package/dist/assets/home-page-route-5rDAkU02.js +0 -1
- package/dist/assets/hosting-screen-Al5k6wgr.js +0 -1
- package/dist/assets/identity-page-route-C3iu5126.js +0 -7
- package/dist/assets/index-ByFLGure.js +0 -217
- package/dist/assets/index-Cgo9nMc-.css +0 -2
- package/dist/assets/integrations-page-CSlqASRt.js +0 -1
- package/dist/assets/intelligence-layout-Dhp0A8uO.js +0 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-BsAzDLzA.js +0 -1
- package/dist/assets/library-detail-page-CM06mlax.js +0 -1
- package/dist/assets/library-page-CxgZBwfH.js +0 -1
- package/dist/assets/loader-circle-Cv9PAGXe.js +0 -1
- package/dist/assets/logout-page-CdGFR-mh.js +0 -1
- package/dist/assets/logs-layout-VdTkx480.js +0 -1
- package/dist/assets/memory-page-route-B5pQmmPx.js +0 -2
- package/dist/assets/messages-qZ5Gs4Ws.js +0 -13
- package/dist/assets/mobile-sidebar-drawer-mS9gOh8a.js +0 -1
- package/dist/assets/mutation-error-DqcYgh5y.js +0 -1
- package/dist/assets/native-anchor--gttBUV7.js +0 -1
- package/dist/assets/native-file-DUVHQm8y.js +0 -2
- package/dist/assets/notifications-page-BR2DF-Q4.js +0 -1
- package/dist/assets/pairing-page-BKAg2tto.js +0 -1
- package/dist/assets/password-reset-page-D5yeFdOK.js +0 -1
- package/dist/assets/personality-page-Dw0vZDb6.js +0 -1
- package/dist/assets/plans-page-q10xaGxY.js +0 -1
- package/dist/assets/platform-detection-Cgpa1OVO.js +0 -1
- package/dist/assets/plugin-detail-page-DWsFpVEo.js +0 -1
- package/dist/assets/plugins-page-CK1zz96G.js +0 -1
- package/dist/assets/plus-CjmlSfMr.js +0 -1
- package/dist/assets/privacy-page-BeEwNjdz.js +0 -1
- package/dist/assets/privacy-screen-DYWCthwU.js +0 -1
- package/dist/assets/provider-callback-page-D4-Gb_Wa.js +0 -1
- package/dist/assets/quick-input-page-B5zCbD-s.js +0 -1
- package/dist/assets/research-mock-page-78NkgVlL.js +0 -1
- package/dist/assets/research-onboarding-route-6enloXav.js +0 -50
- package/dist/assets/review-terms-screen-D6wox6hQ.js +0 -1
- package/dist/assets/risk-DBIpwYMX.js +0 -3
- package/dist/assets/schedules-page-DBXvRMjU.js +0 -1
- package/dist/assets/security-redirect-page-DMViBwXp.js +0 -1
- package/dist/assets/select-assistant-screen-C5bEgwGF.js +0 -1
- package/dist/assets/settings-divider-JlSht3ag.js +0 -1
- package/dist/assets/settings-layout-Du-TAUaf.js +0 -1
- package/dist/assets/share-feedback-modal-DcT09uPw.js +0 -1
- package/dist/assets/sidebar-tree-BR0zRequ.js +0 -1
- package/dist/assets/signup-page-DWh0E1VZ.js +0 -1
- package/dist/assets/skill-detail-page-BWj3b3hz.js +0 -1
- package/dist/assets/skill-detail-panel-DWsh3bXZ.js +0 -1
- package/dist/assets/skills-page-Df_Zbc0g.js +0 -1
- package/dist/assets/sounds-page-9AJfjCmM.js +0 -1
- package/dist/assets/square-Ct6mhmlV.js +0 -1
- package/dist/assets/start-screen-Dh_NOXUD.js +0 -1
- package/dist/assets/subagent-detail-panel-qFJrVumV.js +0 -4
- package/dist/assets/superpowers-page-uS4O5gQo.js +0 -1
- package/dist/assets/system-events-page-3Us8pd1n.js +0 -1
- package/dist/assets/system-events-redirect-page-CoJG7V70.js +0 -1
- package/dist/assets/theme-stage-page-Dv7AyJMO.js +0 -1
- package/dist/assets/upgrade-cancel-page-vh-KLI18.js +0 -1
- package/dist/assets/upgrade-success-page-B14CbH8y.js +0 -1
- package/dist/assets/usage-redirect-page-5D0LPtBc.js +0 -1
- package/dist/assets/use-assistant-identity-details-BNueMFd7.js +0 -1
- package/dist/assets/use-bus-subscription-CnY3n8Or.js +0 -1
- package/dist/assets/use-checkout-dismiss-refresh-DyAR90hW.js +0 -1
- package/dist/assets/use-edge-swipe-back-DT9QipJd.js +0 -1
- package/dist/assets/use-invite-link-dialog-DD51m-Sw.js +0 -1
- package/dist/assets/use-is-org-ready-CfvtwLB8.js +0 -1
- package/dist/assets/use-reduced-motion-BFUnQDmb.js +0 -1
- package/dist/assets/use-skill-actions-CjGUa3rr.js +0 -1
- package/dist/assets/use-skill-detail-files-BLli-vBt.js +0 -1
- package/dist/assets/use-supports-bookmarks-4zgB0_ih.js +0 -1
- package/dist/assets/viewer-store-DpG5EvwH.js +0 -1
- package/dist/assets/voice-page-BzKRmHtR.js +0 -1
- package/dist/assets/weather-forecast-display-CtP6s7zF.js +0 -1
- package/dist/assets/web-BEgLnavw.js +0 -1
- package/dist/assets/web-BtLHehG2.js +0 -1
- package/dist/assets/web-Cbqzgyiw.js +0 -1
- package/dist/assets/web-CyULbh9T.js +0 -1
- package/dist/assets/web-DFWXL4ln.js +0 -1
- package/dist/assets/web-DuYghki6.js +0 -1
- package/dist/assets/web-YB50EYNO.js +0 -1
- package/dist/assets/web-vjg1u7uu.js +0 -1
- package/dist/assets/welcome-screen-DJK_-Wk0.js +0 -1
- package/dist/assets/workflow-detail-panel-ClESIuHu.js +0 -1
- package/dist/assets/workspace-page-D-ZtrrZX.js +0 -1
- package/dist/assets/x--2TAgFdC.js +0 -1
- /package/dist/assets/{api-errors-BnUiuRwl.js → api-errors-BRGPPSWw.js} +0 -0
- /package/dist/assets/{app-types-tZWS4htw.js → app-types-DSkgEmV3.js} +0 -0
- /package/dist/assets/{avatar-bundled-components-DqaymMDA.js → avatar-bundled-components-CTd294ra.js} +0 -0
- /package/dist/assets/{avatar-svg-compositor-bbw1dNjP.js → avatar-svg-compositor-CgyK5D40.js} +0 -0
- /package/dist/assets/{browser-timezone-CVTGYkOe.js → browser-timezone-DGz-HvxU.js} +0 -0
- /package/dist/assets/{build.umd-C-GEiBkR.js → build.umd-DlzJAHJ4.js} +0 -0
- /package/dist/assets/{bundle-mjs-BZt35okJ.js → bundle-mjs-BQxDdOEo.js} +0 -0
- /package/dist/assets/{by-tool-use-id-index-Cv_-C3g1.js → by-tool-use-id-index-DcsiqOhc.js} +0 -0
- /package/dist/assets/{client.gen-CofN6Myr.js → client.gen-Dq2brHDV.js} +0 -0
- /package/dist/assets/{definitions-DA3_VPSG.js → definitions-MzBHgkRs.js} +0 -0
- /package/dist/assets/{definitions-BFpBMk4k.js → definitions-quuEj_td.js} +0 -0
- /package/dist/assets/{dist-im-xGq3e2.js → dist-BJSu8g5P.js} +0 -0
- /package/dist/assets/{domains-C8lmaEFr.js → domains-BwT1h2fD.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-UOs0yJKE.js → emoji-catalog-data-BCc1YNMR.js} +0 -0
- /package/dist/assets/{event-bus-q1A9A6d7.js → event-bus-D2jlU6rm.js} +0 -0
- /package/dist/assets/{feature-flag-catalog-BHtxKgBS.js → feature-flag-catalog-C45bOtg3.js} +0 -0
- /package/dist/assets/{format-file-size-wTaIDlZc.js → format-file-size-Btq3aJL3.js} +0 -0
- /package/dist/assets/{impersonate-version-flag-4U66yjF4.js → impersonate-version-flag-QIrc9g5I.js} +0 -0
- /package/dist/assets/{infiniteQueryOptions-C6p49ZmI.js → infiniteQueryOptions-CqLc14_4.js} +0 -0
- /package/dist/assets/{is-electron-CSbKx5JX.js → is-electron-7N7iyz1y.js} +0 -0
- /package/dist/assets/{jsx-runtime-CVSDxk6A.js → jsx-runtime-D3ZM-ToX.js} +0 -0
- /package/dist/assets/{link-click-CWB_XxKH.js → link-click-DLYgWZdo.js} +0 -0
- /package/dist/assets/{machine-sizes-CnivFLFG.js → machine-sizes-Cu2Qa0bd.js} +0 -0
- /package/dist/assets/{native-deep-link-CwXILg9c.js → native-deep-link-D4jZANvf.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-DFsxxNiz.js → onboarding-step-layout-D9rghAjS.js} +0 -0
- /package/dist/assets/{optimistic-lifecycle-nH6-xqeD.js → optimistic-lifecycle-50vNA6dY.js} +0 -0
- /package/dist/assets/{plugin-attribution-Cd7F2FNP.js → plugin-attribution-CItr0rSf.js} +0 -0
- /package/dist/assets/{pointer-BzoRaNxg.js → pointer-QlIwQKYH.js} +0 -0
- /package/dist/assets/{prechat-GZmnbufd.js → prechat-EVefdGcO.js} +0 -0
- /package/dist/assets/{preload-helper-BewR0kVT.js → preload-helper-Cv2QeVDK.js} +0 -0
- /package/dist/assets/{profile-metadata-ZYaUcqpf.js → profile-metadata-D2IzF-q3.js} +0 -0
- /package/dist/assets/{public-asset-mLxcBVji.js → public-asset-CoSMBS62.js} +0 -0
- /package/dist/assets/{queryOptions-BtNi-_9H.js → queryOptions-CMSBCFOf.js} +0 -0
- /package/dist/assets/{react-DJZBPgpf.js → react-BFJW0bSv.js} +0 -0
- /package/dist/assets/{sdk.gen-Bcmzg7Nc.js → sdk.gen-DEFA-6EJ.js} +0 -0
- /package/dist/assets/{semver-CzSv4TmI.js → semver-Bfq1LtyW.js} +0 -0
- /package/dist/assets/{theme-preferences-Dm7wFaX8.js → theme-preferences-LQuLaIA6.js} +0 -0
- /package/dist/assets/{workflow-status-icBU_5e-.js → workflow-status-CgrMMiJT.js} +0 -0
- /package/dist/assets/{xterm-slSGU1Oj.js → xterm-DZ5GcyM-.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-Kp1-DhUF.js → xterm-addon-fit-SiMU5kXG.js} +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/native-file-fkzAxQg0.js","assets/chunk-jRWAZmH_.js","assets/preload-helper-Cv2QeVDK.js","assets/is-electron-7N7iyz1y.js","assets/dist-BJSu8g5P.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{o as e,t}from"./chunk-jRWAZmH_.js";import{t as n}from"./capture-error-CqtAGHQu.js";import{t as r}from"./react-BFJW0bSv.js";import{t as i}from"./button-Dy5001j6.js";import{t as a}from"./preload-helper-Cv2QeVDK.js";import{m as o,t as s,u as c}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as l}from"./QueryClientProvider-CMu7CkQU.js";import{t as u}from"./useQuery-Bz-fbQ-m.js";import{t as d}from"./useMutation-CXGTrp4W.js";import{t as f}from"./jsx-runtime-D3ZM-ToX.js";import{t as p}from"./typography-DEI9Ra9z.js";import{t as m}from"./card-DRIctGVs.js";import{t as h}from"./createLucideIcon-CAM1RhH8.js";import{t as g}from"./arrow-left-C2ylPLHq.js";import{t as _}from"./arrow-up-BNd4Gpy7.js";import{t as v}from"./check-sC49_hjU.js";import{t as y}from"./chevron-down-B5A-0g8A.js";import{t as b}from"./chevron-up-2Qqarz0p.js";import{t as x}from"./circle-check-CjGnAahM.js";import{t as S}from"./coins-Hrmb9tmj.js";import{A as C,C as w,D as T,E,F as D,I as O,N as k,S as A,T as j,a as M,b as N,c as P,d as F,f as I,g as ee,h as te,i as ne,j as re,k as L,l as ie,m as ae,o as oe,p as se,r as R,t as ce,u as le,v as ue,w as de,x as fe,y as pe}from"./use-checkout-dismiss-refresh-DRknWbR3.js";import{n as z,o as me}from"./list-row-MeHwwyA6.js";import{t as he}from"./credit-card-C1RL73Rt.js";import{t as ge}from"./crown-DTdTkF6n.js";import{t as _e}from"./download-BBg2iaa4.js";import{t as ve}from"./external-link-CAce-RVu.js";import{t as ye}from"./info-CYiVdnQV.js";import{t as B}from"./loader-circle-BzJ2kz3F.js";import{t as be}from"./sparkles-DC8kqYjt.js";import{t as xe}from"./triangle-alert--e3n47gm.js";import{t as Se}from"./users-DWDkv8ju.js";import{t as Ce}from"./x-DuBvjmAE.js";import{t as V}from"./notice-DCp7WO3L.js";import{j as we,r as Te}from"./src-B9F84D64.js";import{t as Ee}from"./tag-D8NAGb0r.js";import{t as H}from"./input-C-GkeWCw.js";import{t as De}from"./toggle-D776PTw-.js";import{t as U}from"./modal-DwsThLGg.js";import{n as W}from"./toast-DR7D7Uma.js";import{t as Oe}from"./confirm-dialog-DZX6LhLy.js";import{t as ke}from"./dropdown-Dt0Iof85.js";import{Or as Ae}from"./sdk.gen-CsFDyJ6U.js";import{It as je,Lt as Me,Rt as Ne,c as Pe,d as Fe,ht as Ie,zt as Le}from"./react-query.gen-CbsPBjd9.js";import{t as Re}from"./api-errors-BRGPPSWw.js";import{o as ze}from"./auth-store-CK95leo_.js";import{lt as Be,ut as Ve}from"./sdk.gen-C6q_cviY.js";import{u as He}from"./routes-bwxCYLJj.js";import{i as G,r as Ue,t as We}from"./use-platform-gate-DcS6snds.js";import{t as Ge}from"./use-is-org-ready-DryM43xt.js";import{n as Ke,r as qe}from"./browser-DtFBB5v5.js";import{n as Je,t as Ye}from"./conversation-navigation-DUNqTEXk.js";import{n as Xe}from"./use-is-mobile-Cx2xnNUx.js";import{t as Ze}from"./effective-timezone-CnKC3vj0.js";import{$ as Qe,B as $e,G as et,H as tt,J as nt,K as rt,L as it,Mt as at,Q as ot,R as st,U as ct,V as lt,W as ut,X as dt,Y as ft,Z as pt,ct as mt,dt as ht,et as gt,ft as _t,gt as vt,ht as yt,it as bt,lt as xt,nt as St,pt as Ct,q as wt,st as Tt,tt as Et,ut as Dt,wt as Ot,z as kt}from"./react-query.gen-oEdI--ip.js";import{t as At}from"./use-effective-timezone-Da7pvXSm.js";import{t as jt}from"./misc-CAQM4FGM.js";import{t as Mt}from"./platform-login-notice-LOYoqOMf.js";import{t as Nt}from"./format-date-C5pKGCAG.js";import{t as Pt}from"./use-active-assistant-id-BcM35kFN.js";import{t as Ft}from"./add-credits-modal-IV5EP5Uo.js";import{t as It}from"./link-click-DLYgWZdo.js";import{t as Lt}from"./schedules-o0jcCr54.js";import{i as Rt,n as zt,r as Bt,t as Vt}from"./profile-metadata-D2IzF-q3.js";var Ht=h(`target`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`6`,key:`1vlfrh`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),Ut=h(`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`}]]),K=e(r(),1);function Wt(e){return e.get(`tab`)===`billing`||e.has(`adjust_plan`)||e.has(`pro_onboarding`)||e.has(`billing_status`)||e.has(`session_id`)}function Gt(e,t){return e===`full`?!0:e===`disabled`?Wt(t):!1}function Kt(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 q(e){return Number.isFinite(e)?Math.round(e).toLocaleString():`0`}function qt(e){return!Number.isFinite(e)||e===0?`$0.00`:`$${e.toFixed(2)}`}var Jt=`model`,Yt={model:`Model`,task:`Action`,profile:`Profile`},Xt=[{value:`model`,label:Yt.model},{value:`task`,label:Yt.task},{value:`profile`,label:Yt.profile}];function Zt(e){return e===`model`||e===`task`||e===`profile`}function Qt(e){switch(e){case`model`:return`model`;case`task`:return`call_site`;case`profile`:return`inference_profile`}}function $t(e){switch(e){case`model`:return`model`;case`task`:return`llm_call_site`;case`profile`:return`inference_profile`}}function en(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 tn(e,t,n){return!e||e.length===0?[]:e.map(e=>{let r=en(t,e,n);return r===e.group?e:{...e,group:r}})}var nn=6,rn=`value:`,an=`null:`;function on(e,t=`schedule`){return e===null?`${an}${Zt(t)?Qt(t):t}`:`${rn}${e}`}function sn(e){return[...e].sort((e,t)=>{if(e.date!==t.date)return e.date<t.date?-1:1;let n=fn(e.bucketId),r=fn(t.bucketId);return n===r?e.bucketId===t.bucketId?0:e.bucketId<t.bucketId?-1:1:n-r})}function cn(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 ln(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=en(t,dn(o),n);e===o.group?i[a]=o:(r=!0,i[a]={...o,group:e})}return r?{...e,groups:i}:e})}function un(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,nn)}}function dn(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 fn(e){let t=e.lastIndexOf(`|`);if(t<0)return 0;let n=Number(e.slice(t+1));return Number.isFinite(n)?n:0}var J=f(),pn=140,mn=40,hn=28,gn=2,_n=2,vn=1e-6,yn=12,bn=220,xn=56,Sn=[40,80,60,100,50,70,30],Cn=[18,24,28,35,42,50,64,78,92,106,118,96,84,74,68,80,88,72,56,48,40,34,26,20],wn=[`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 Tn(e){return wn[e%wn.length]}function En(e){return e.displayLabel?e.displayLabel:e.date}function Dn(e,t){let n=e+yn,r=t+yn;return n+bn>window.innerWidth&&(n=e-bn-yn),r+xn>window.innerHeight&&(r=t-xn-yn),{x:n,y:r}}function On({buckets:e,isHourly:t,legendItems:n}){let[r,i]=(0,K.useState)(null),a=(0,K.useMemo)(()=>sn(e),[e]),o=(0,K.useMemo)(()=>un(e),[e]),s=n??o.items,c=n??o.visibleItems,l=(0,K.useMemo)(()=>a.reduce((e,t)=>Math.max(e,t.totalEstimatedCostUsd),0),[a]),u=(0,K.useCallback)((e,t)=>{let n=Dn(e.clientX,e.clientY);i({...t,x:n.x,y:n.y})},[]),d=(0,K.useCallback)(()=>i(null),[]);if(a.length===0){let e=(0,J.jsx)(Nn,{title:t?`No hourly data`:`No daily data`,subtitle:`No usage recorded in this time range`});return c.length===0?e:(0,J.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[e,(0,J.jsx)(Mn,{items:c})]})}let f=t?hn:mn;return(0,J.jsxs)(`div`,{className:`overflow-x-auto`,children:[(0,J.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,J.jsx)(`div`,{className:`flex items-end gap-2`,style:{height:`${pn}px`},"aria-hidden":`true`,children:a.map(e=>{let t=l>0?e.totalEstimatedCostUsd/l:0,r=Math.max(gn,pn*t);return(0,J.jsx)(`div`,{className:`flex items-end`,style:{width:`${f}px`,minWidth:`${f}px`,height:`${r}px`,opacity:e.totalEstimatedCostUsd>0?1:.3},title:`${En(e)}: ${qt(e.totalEstimatedCostUsd)}`,"data-usage-series-bar":e.bucketId,children:(0,J.jsx)(An,{bucket:e,height:r,legendItems:s,hasLegendOverride:n!=null,onSegmentHover:u,onSegmentLeave:d})},e.bucketId)})}),(0,J.jsx)(`div`,{className:`flex items-start gap-2`,children:a.map(e=>(0,J.jsxs)(`div`,{className:`flex flex-col items-center gap-0.5`,style:{width:`${f}px`,minWidth:`${f}px`},children:[(0,J.jsx)(`span`,{className:`truncate text-[10px]`,style:{color:`var(--content-secondary)`},children:qt(e.totalEstimatedCostUsd)}),(0,J.jsx)(`span`,{className:`truncate text-[10px]`,style:{color:`var(--content-tertiary)`},children:En(e)})]},e.bucketId))}),c.length>0?(0,J.jsx)(Mn,{items:c}):null]}),r?(0,J.jsx)(jn,{tooltip:r}):null]})}function kn({isHourly:e}){let t=e?Cn:Sn,n=e?hn:mn;return(0,J.jsx)(`div`,{className:`flex items-end gap-2`,style:{height:`${pn}px`},"aria-hidden":`true`,children:t.map((e,t)=>(0,J.jsx)(`div`,{className:`rounded-sm`,style:{width:`${n}px`,height:`${e}px`,background:`color-mix(in srgb, var(--border-base) 40%, transparent)`}},t))})}function An({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={label:`Total`,bucketLabel:En(e),cost:qt(e.totalEstimatedCostUsd)};return(0,J.jsx)(`div`,{className:`w-full rounded-sm`,title:`${n.label}: ${n.cost}`,onMouseEnter:e=>i(e,n),onMouseMove:e=>i(e,n),onMouseLeave:a,style:{height:`${t}px`,background:Tn(0)},"data-usage-series-segment-label":n.label,"data-usage-fallback-segment":`true`})}return s.length===0?null:(0,J.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:En(e),cost:qt(r.totalEstimatedCostUsd)};return(0,J.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,vn))}px`,background:Tn(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 jn({tooltip:e}){return(0,J.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,J.jsx)(`div`,{className:`truncate text-body-small-default`,style:{color:`var(--content-default)`},children:e.label}),(0,J.jsxs)(`div`,{className:`truncate text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[e.bucketLabel,` · `,e.cost]})]})}function Mn({items:e}){return(0,J.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,J.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,"data-usage-legend-state":t,children:[(0,J.jsx)(`span`,{className:`h-[7px] w-[7px] shrink-0 rounded-full`,style:{background:n?`var(--content-tertiary)`:Tn(e.colorIndex),opacity:n?.45:1},"aria-hidden":`true`,"data-usage-series-color-index":e.colorIndex}),(0,J.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 Nn({title:e,subtitle:t}){return(0,J.jsxs)(`div`,{className:`flex flex-col items-center justify-center rounded-md py-12 text-center`,style:{color:`var(--content-tertiary)`},children:[(0,J.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e}),(0,J.jsx)(`p`,{className:`mt-1 text-body-small-default`,children:t})]})}function Pn(e){return Zt(e)?Qt(e):e}function Fn(e){return zn({from:e.from,to:e.to},e.scheduleId)}function In(e){return zn({from:e.from,to:e.to,...e.granularity?{granularity:e.granularity}:{},...e.tz?{tz:e.tz}:{}},e.scheduleId)}function Ln(e){return zn({from:e.from,to:e.to,groupBy:Pn(e.groupBy)},e.scheduleId)}function Rn(e){return zn({from:e.from,to:e.to,granularity:e.granularity,groupBy:Pn(e.groupBy),...e.tz?{tz:e.tz}:{}},e.scheduleId)}function zn(e,t){return t?{...e,scheduleId:t}:e}function Bn(e){return[`${q(e.totalInputTokens)} direct`,`${q(e.totalCacheCreationTokens)} cache created`,`${q(e.totalCacheReadTokens)} cache read`,`${q(e.totalOutputTokens)} out`].join(` / `)}function Vn(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 Hn(e){return`${Vn(e.totalInputTokens+e.totalCacheCreationTokens+e.totalCacheReadTokens)} in / ${Vn(e.totalOutputTokens)} out`}var Un=`task`,Wn=`model`,Gn=new Set([400,404,422]),Kn=3,qn=new Set([`today`,`yesterday`,`7d`,`30d`,`90d`,`all`]),Jn=new Set([`actor`,`provider`,`model`,`conversation`,`task`,`profile`,`schedule`]),Yn={task:Yt.task,profile:Yt.profile,model:Yt.model,provider:`Provider`,actor:`Actor`,conversation:`Conversation`,schedule:`Schedule`},Xn=[{value:`task`,label:Yn.task},{value:`profile`,label:Yn.profile},{value:`model`,label:Yn.model},{value:`provider`,label:Yn.provider},{value:`schedule`,label:Yn.schedule},{value:`conversation`,label:Yn.conversation}];function Zn(e){let t=e.get(`range`),n=e.get(`groupBy`),r=tr(n)?n:Un;return{range:er(t)?t:`7d`,groupBy:r,scheduleId:r===`schedule`?Qn(e):void 0}}function Qn(e){let t=e.get(`scheduleId`);if(!(!t||t.trim().length===0))return t}function $n(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 er(e){return e!=null&&qn.has(e)}function tr(e){return e!=null&&Jn.has(e)}function nr(e){return e!==`conversation`}function rr(e,t){return e!==`task`&&e!==`profile`?!1:ar(t)}function ir(e,t){return!ar(t)&&e<Kn}function ar(e){return e instanceof Re&&Gn.has(e.status)}function or(e,t){let n=e===`hourly`?`Hourly Trend`:`Daily Trend`;return!t||t===`conversation`?n:`${n} by ${Yn[t]}`}function sr({requestedGranularity:e,isLoading:t,buckets:n}){return e===`hourly`&&(t||!n||n.length===0||n.some(cr))?`hourly`:`daily`}function cr(e){return e.bucketId.includes(`|`)||lr(e.date)}function lr(e){return/^\d{4}-\d{2}-\d{2} ([01]\d|2[0-3]):00$/.test(e)}function ur(e,t,n=Date.now()){return Bt(e,t,n)}function dr(e){return e===`today`||e===`yesterday`?`hourly`:`daily`}function fr({prompt:e,children:t,variant:n=`outlined`,size:r=`regular`,className:a}){let o=c(),s=(0,K.useCallback)(()=>{Je(o,{prompt:e})},[o,e]);return(0,J.jsx)(i,{variant:n,size:r,leftIcon:(0,J.jsx)(be,{}),onClick:s,className:a,children:t})}var pr=[{value:`today`,label:`Today`},{value:`yesterday`,label:`Yesterday`},{value:`7d`,label:`Last 7 days`},{value:`30d`,label:`Last 30 days`},{value:`90d`,label:`Last 90 days`},{value:`all`,label:`All time`}],mr=300*1e3,hr=[`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(` `),gr=[`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 _r({assistantId:e}){let[t,n]=o(),{range:r,groupBy:i,scheduleId:a}=(0,K.useMemo)(()=>Zn(t),[t]),s=At(),c=(0,K.useCallback)(e=>{n(t=>$n(t,e),{replace:!0})},[n]),l=(0,K.useMemo)(()=>ur(r,s),[r,s]),d=(0,K.useMemo)(()=>dr(r),[r]),f=u({queryKey:Ie({path:{assistant_id:e}}),queryFn:()=>Lt(e),staleTime:1e4}),p=(0,K.useCallback)(e=>{c({range:e})},[c]),m=u({...Le({path:{assistant_id:e},query:Fn({from:l.from,to:l.to,scheduleId:a})})}),h=u({queryKey:je({path:{assistant_id:e},query:Ln({from:l.from,to:l.to,groupBy:i,scheduleId:a})}),queryFn:async({signal:t})=>{try{let{data:n}=await Ae({path:{assistant_id:e},query:Ln({from:l.from,to:l.to,groupBy:i,scheduleId:a}),signal:t,throwOnError:!0});return{groupBy:i,response:n}}catch(n){if(!rr(i,n))throw n;let{data:r}=await Ae({path:{assistant_id:e},query:Ln({from:l.from,to:l.to,groupBy:Wn,scheduleId:a}),signal:t,throwOnError:!0});return{groupBy:Wn,response:r}}},retry:ir}),g=h.data?.groupBy??i,_=nr(g)?g:void 0,v=u({...Ne({path:{assistant_id:e},query:Rn({from:l.from,to:l.to,granularity:d,groupBy:_??`actor`,tz:s,scheduleId:a})}),enabled:!!_,retry:ir}),y=u({...Me({path:{assistant_id:e},query:In({from:l.from,to:l.to,granularity:d,tz:s,scheduleId:a})}),enabled:!_||v.isError}),b=u({...Fe({path:{assistant_id:e}}),enabled:g===`task`,staleTime:1/0}),x=u({...Pe({path:{assistant_id:e}}),select:Vt,enabled:g===`profile`,staleTime:mr}),S=(0,K.useMemo)(()=>({callSites:Kt(b.data),profiles:x.data??{}}),[b.data,x.data]),C=(0,K.useMemo)(()=>{let e=h.data;if(e)return tn(e.response.breakdown,e.groupBy,S)},[h.data,S]),w=(0,K.useMemo)(()=>{if(!(!_||!v.data))return ln(v.data.buckets,_,S)},[v.data,_,S]),T=(0,K.useMemo)(()=>{if(y.data)return cn(y.data.buckets)},[y.data]),E=(0,K.useMemo)(()=>_?v.error?T?{isLoading:!1,error:null,data:T,refetch:y.refetch}:{isLoading:y.isLoading||!T&&!y.error,error:y.error??v.error,data:void 0,refetch:y.error?y.refetch:v.refetch}:{isLoading:v.isLoading,error:v.error,data:w,refetch:v.refetch}:{isLoading:y.isLoading,error:y.error,data:T,refetch:y.refetch},[T,y.error,y.isLoading,y.refetch,w,_,v.error,v.isLoading,v.refetch]),D=sr({requestedGranularity:d,isLoading:E.isLoading,buckets:E.data}),O=D===`hourly`,k=_&&v.error?void 0:g,A=(0,K.useMemo)(()=>{if(!(g!==`schedule`||!a))return vr(f.data,a)},[g,a,f.data]);return(0,J.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,J.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:`Usage`}),(0,J.jsx)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:(0,J.jsx)(xr,{range:r,onChange:p})})]}),(0,J.jsx)(`section`,{"aria-label":`Totals`,children:(0,J.jsx)(Cr,{query:m,skeleton:(0,J.jsx)(Er,{}),render:e=>(0,J.jsx)(wr,{totals:e})})}),(0,J.jsx)(Sr,{title:`Inference Usage`,children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,J.jsx)(`h4`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:or(D,k)}),(0,J.jsx)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:(0,J.jsx)(Dr,{value:g,onChange:e=>{e===i&&g!==i&&(h.refetch(),v.refetch()),c({groupBy:e,scheduleId:e===`schedule`?void 0:null})}})})]}),(0,J.jsx)(Cr,{query:E,skeleton:(0,J.jsx)(kn,{isHourly:O}),render:e=>(0,J.jsx)(On,{buckets:e,isHourly:O,legendItems:A})})]})}),(0,J.jsx)(Or,{query:h,groups:C}),(0,J.jsx)(br,{})]})}function vr(e,t){let n=e??[];return[...n.some(e=>e.id===t)?[]:[{id:t,label:yr(t)}],...n.map(e=>({id:e.id,label:e.name||e.id}))].map((e,n)=>({seriesKey:on(e.id,`schedule`),label:e.label,colorIndex:n,state:e.id===t?`active`:`inactive`}))}function yr(e){return`Unknown schedule (${e})`}function br(){return(0,J.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,J.jsx)(`div`,{className:`h-px w-full`,style:{background:`linear-gradient(to right, transparent, var(--border-base), transparent)`}}),(0,J.jsx)(Sr,{title:`Cost assistant`,subtitle:`Review recent spend and tune model profile choices.`,children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-md px-3 py-3 sm:flex-row sm:items-center`,children:[(0,J.jsx)(fr,{prompt:hr,children:`Analyze costs with assistant`}),(0,J.jsx)(fr,{prompt:gr,variant:`ghost`,children:`Optimize settings`})]})})]})}function xr({range:e,onChange:t}){return(0,J.jsx)(`div`,{className:`flex items-center`,children:(0,J.jsx)(ke,{value:e,onChange:t,options:pr.map(e=>({value:e.value,label:e.label}))})})}function Sr({title:e,subtitle:t,children:n}){return(0,J.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,J.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,J.jsx)(`h3`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),t?(0,J.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:t}):null]}),n]})}function Cr({query:e,skeleton:t,render:n}){return e.isLoading?(0,J.jsx)(J.Fragment,{children:t}):e.error?(0,J.jsx)(Nr,{message:e.error instanceof Error?e.error.message:`Failed to load usage.`,onRetry:()=>e.refetch()}):e.data?(0,J.jsx)(J.Fragment,{children:n(e.data)}):(0,J.jsx)(J.Fragment,{children:t})}function wr({totals:e}){return(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-4`,children:[(0,J.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,J.jsx)(`span`,{style:{fontSize:`30px`,fontWeight:600,lineHeight:1,color:`var(--content-default)`},children:qt(e.totalEstimatedCostUsd)}),(0,J.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-secondary)`},children:`Cost`})]}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,J.jsx)(`span`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:q(e.eventCount)}),(0,J.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-secondary)`},children:`LLM Calls`})]})]}),(0,J.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 sm:grid-cols-4`,children:[(0,J.jsx)(Tr,{label:`Direct Input Tokens`,value:q(e.totalInputTokens)}),(0,J.jsx)(Tr,{label:`Output Tokens`,value:q(e.totalOutputTokens)}),(0,J.jsx)(Tr,{label:`Cache Created`,value:q(e.totalCacheCreationTokens)}),(0,J.jsx)(Tr,{label:`Cache Read`,value:q(e.totalCacheReadTokens)})]})]})}function Tr({label:e,value:t}){return(0,J.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,J.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-default)`},children:t}),(0,J.jsx)(`span`,{className:`text-label-medium-default`,style:{color:`var(--content-tertiary)`},children:e})]})}function Er(){return(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,"aria-hidden":`true`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-4`,children:[(0,J.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,J.jsx)(Y,{width:140,height:30}),(0,J.jsx)(Y,{width:90,height:12})]}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,J.jsx)(Y,{width:60,height:16}),(0,J.jsx)(Y,{width:60,height:12})]})]}),(0,J.jsx)(`div`,{className:`grid grid-cols-2 gap-3 sm:grid-cols-4`,children:Array.from({length:4}).map((e,t)=>(0,J.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,J.jsx)(Y,{width:`50%`,height:12}),(0,J.jsx)(Y,{width:`70%`,height:11})]},t))})]})}function Dr({value:e,onChange:t}){return(0,J.jsx)(`div`,{className:`flex items-center`,children:(0,J.jsx)(ke,{value:e,onChange:t,menuAlign:`end`,menuMinWidth:196,options:Xn.map(e=>({value:e.value,label:e.label}))})})}function Or({query:e,groups:t}){let[n,r]=(0,K.useState)(new Set),i=e=>{r(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};return(0,J.jsx)(Sr,{title:`Breakdown`,children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsx)(kr,{label:`% of total`,active:n.has(`pct`),onClick:()=>i(`pct`)}),(0,J.jsx)(kr,{label:`Tokens`,active:n.has(`tokens`),onClick:()=>i(`tokens`)}),(0,J.jsx)(kr,{label:`Turns`,active:n.has(`turns`),onClick:()=>i(`turns`)})]}),(0,J.jsx)(Cr,{query:e,skeleton:(0,J.jsx)(jr,{}),render:e=>(0,J.jsx)(Ar,{groups:t??e.response.breakdown,groupBy:e.groupBy,showPct:n.has(`pct`),showTokens:n.has(`tokens`),showTurns:n.has(`turns`)})})]})})}function kr({label:e,active:t,onClick:n}){return(0,J.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 Ar({groups:e,groupBy:t,showPct:n,showTokens:r,showTurns:i}){let a=c();if(e.length===0)return(0,J.jsx)(Mr,{title:`No breakdown data`,subtitle:`No usage recorded for this grouping`});let o=e.reduce((e,t)=>e+t.totalEstimatedCostUsd,0);return(0,J.jsx)(`div`,{className:`overflow-hidden rounded-md`,children:(0,J.jsxs)(`table`,{className:`w-full table-fixed`,children:[(0,J.jsx)(`thead`,{children:(0,J.jsxs)(`tr`,{style:{borderBottom:`1px solid var(--border-base)`},children:[(0,J.jsx)(`th`,{className:`px-3 py-2.5 text-left text-label-medium-default`,style:{color:`var(--content-tertiary)`},children:`Group`}),r?(0,J.jsx)(`th`,{className:`px-3 py-2.5 text-left text-label-medium-default`,style:{color:`var(--content-tertiary)`,width:`35%`},children:`Tokens`}):null,i?(0,J.jsx)(`th`,{className:`px-3 py-2.5 text-right text-label-medium-default`,style:{color:`var(--content-tertiary)`,width:`72px`},children:`Turns`}):null,n?(0,J.jsx)(`th`,{className:`px-3 py-2.5 text-right text-label-medium-default`,style:{color:`var(--content-tertiary)`,width:`64px`},children:`%`}):null,(0,J.jsx)(`th`,{className:`px-3 py-2.5 text-right text-label-medium-default`,style:{color:`var(--content-tertiary)`,width:`100px`},children:`Cost`})]})}),(0,J.jsx)(`tbody`,{children:e.map((e,c)=>{let l=Bn(e),u=Hn(e),d=t===`conversation`?e.groupId:null,f=o>0?Math.round(e.totalEstimatedCostUsd/o*100):0;return(0,J.jsxs)(`tr`,{className:d?`cursor-pointer hover:bg-[var(--surface-hover)]`:void 0,onClick:d?e=>{e.target.closest(`a`)||Ye(a,d)}:void 0,style:{borderTop:c===0?`none`:`1px solid var(--border-base)`},children:[(0,J.jsx)(`td`,{className:`min-w-0 px-3 py-2`,style:{color:`var(--content-default)`},children:d?(0,J.jsx)(s,{to:He.conversation(d),className:`block truncate text-body-medium-lighter`,title:e.group,onClick:e=>{It(e)||(e.preventDefault(),Ye(a,d))},children:e.group}):(0,J.jsx)(`span`,{className:`block truncate text-body-medium-lighter`,title:e.group,children:e.group})}),r?(0,J.jsx)(`td`,{className:`min-w-0 px-3 py-2`,style:{color:`var(--content-secondary)`},children:(0,J.jsx)(`span`,{className:`block truncate text-body-small-default`,title:l,children:u})}):null,i?(0,J.jsx)(`td`,{className:`whitespace-nowrap px-3 py-2 text-right`,children:(0,J.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:e.turnCount==null?`—`:e.turnCount.toLocaleString()})}):null,n?(0,J.jsx)(`td`,{className:`whitespace-nowrap px-3 py-2 text-right`,children:(0,J.jsxs)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[f,`%`]})}):null,(0,J.jsx)(`td`,{className:`whitespace-nowrap px-3 py-2 text-right`,children:(0,J.jsx)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-default)`},children:qt(e.totalEstimatedCostUsd)})})]},e.groupKey??e.groupId??`${e.group}-${c}`)})})]})})}function jr(){return(0,J.jsx)(`div`,{className:`flex flex-col gap-2`,"aria-hidden":`true`,children:Array.from({length:4}).map((e,t)=>(0,J.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,J.jsx)(Y,{width:100,height:14}),(0,J.jsx)(Y,{width:`60%`,height:12}),(0,J.jsx)(Y,{width:50,height:14})]},t))})}function Y({width:e,height:t}){return(0,J.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 Mr({title:e,subtitle:t}){return(0,J.jsxs)(`div`,{className:`flex flex-col items-center gap-1 py-8 text-center`,children:[(0,J.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),(0,J.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:t})]})}function Nr({message:e,onRetry:t}){return(0,J.jsxs)(`div`,{className:`flex flex-col gap-2 py-2`,children:[(0,J.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,J.jsx)(xe,{className:`h-4 w-4 shrink-0`,style:{color:`var(--system-negative-strong, #f87171)`}}),(0,J.jsx)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-default)`},children:e})]}),t?(0,J.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:`Retry`}):null]})}function Pr({open:e,onCancel:t,onConfirm:n,confirming:r,lostFeatures:a}){return(0,J.jsx)(U.Root,{open:e,onOpenChange:e=>{!e&&!r&&t()},children:(0,J.jsxs)(U.Content,{size:`md`,hideCloseButton:!0,children:[(0,J.jsx)(U.Header,{children:(0,J.jsx)(U.Title,{icon:xe,children:`Downgrade to Base?`})}),(0,J.jsxs)(U.Body,{children:[(0,J.jsx)(p,{as:`p`,variant:`body-medium-default`,className:`text-(--content-secondary)`,children:`Downgrading removes the following Pro features:`}),(0,J.jsx)(`ul`,{className:`mt-4 list-disc space-y-2 pl-5`,children:a.map(e=>(0,J.jsx)(`li`,{children:(0,J.jsx)(p,{as:`span`,variant:`body-medium-default`,children:e})},e))})]}),(0,J.jsxs)(U.Footer,{children:[(0,J.jsx)(i,{variant:`outlined`,onClick:t,disabled:r,children:`Keep Pro`}),(0,J.jsx)(i,{variant:`danger`,onClick:n,disabled:r,"data-testid":`confirm-downgrade-button`,children:`Confirm Downgrade`})]})]})})}var Fr=`__none__`;function Ir(e){return`${e.label} — ${N(e.price_cents)}`}function Lr({creditTiers:e,selectedCreditTier:t,onCreditTierChange:n,disabled:r=!1}){let i=(0,K.useMemo)(()=>[{value:Fr,label:`No credit bundle — ${N(0)}`},...e.map(e=>({value:e.tier,label:Ir(e)}))],[e]);return(0,J.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,J.jsx)(p,{as:`p`,variant:`label-small-default`,className:`text-[var(--content-secondary)]`,children:`Credit bundle`}),(0,J.jsx)(`span`,{title:`A monthly allotment of credits added to your Pro Plan subscription`,children:(0,J.jsx)(ye,{className:`h-3 w-3 text-[var(--content-tertiary)]`})})]}),(0,J.jsx)(ke,{"aria-label":`Credit bundle`,placeholder:`Select a credit bundle`,disabled:r,value:t??Fr,onChange:e=>n(e===Fr?null:e),options:i})]})}function Rr({features:e,variant:t,header:n,maxInline:r=3}){return t===`inline`?(0,J.jsx)(J.Fragment,{children:e.slice(0,r).join(`, `)}):(0,J.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[n&&(0,J.jsx)(p,{as:`p`,variant:`body-small-default`,className:`text-[var(--content-secondary)]`,children:n}),(0,J.jsx)(`ul`,{className:`flex flex-col gap-2`,children:e.map(e=>(0,J.jsxs)(`li`,{className:`flex items-start gap-2`,children:[(0,J.jsx)(x,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,J.jsx)(p,{as:`span`,variant:`body-medium-default`,children:e})]},e))})]})}function zr({plan:e,isCurrent:t,onPro:n,cancelAtPeriodEnd:r,isCanceled:a,cancelDate:o,formatGraceDate:s,proTierChangeMode:c,creditTiersEnabled:l,creditTiers:u,displayCreditTier:d,onCreditTierChange:f,selectedMachineTier:h,selectedStorageTier:g,onMachineTierChange:_,onStorageTierChange:v,machineTiersForPicker:y,storageTiersForPicker:b,currentMachinePrice:x,currentStoragePrice:S,currentCreditPriceUnknown:C,proCurrentTotalCents:w,proLiveTotalCents:T,proTotalDelta:E,onboardingLoading:D,tierChangePending:O,machineChanged:k,storageChanged:A,creditChanged:j,tierChangeError:M,upgradePending:P,portalPending:F,onUpgrade:I,onApplyTierChange:te,onDowngradeClick:ne,onKeepPlan:re}){let L=e.id===`pro`,ie=e.id===`base`,ae=L&&n&&r&&!a,oe=L&&(!t||t&&c),R=L&&t&&c;return(0,J.jsxs)(m,{padding:`lg`,className:`flex flex-col bg-[var(--surface-base)]`,children:[(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,J.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:L?(0,J.jsx)(ge,{className:`h-5 w-5 text-[var(--content-default)]`}):(0,J.jsx)(Ut,{className:`h-5 w-5 text-[var(--content-default)]`})}),(0,J.jsxs)(`div`,{className:`flex min-h-6 items-center gap-2`,children:[(0,J.jsx)(p,{as:`h3`,variant:`title-small`,children:e.name}),t&&(0,J.jsx)(Ee,{tone:`positive`,children:`Current`})]}),(0,J.jsx)(p,{as:`p`,variant:`body-small-default`,className:`-mt-2 text-[var(--content-tertiary)]`,children:ie?`All you need for a capable assistant`:`More features, more compute, more storage`}),ae&&o&&(0,J.jsxs)(p,{as:`p`,variant:`body-small-default`,className:`text-[var(--system-mid-strong)]`,"data-testid":`modal-cancels-on`,children:[`Your plan ends on `,s(o)]}),(0,J.jsx)(`hr`,{className:`border-t border-[var(--border-base)]`}),(0,J.jsx)(`div`,{className:`flex flex-col gap-1`,children:ie?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(p,{as:`p`,variant:`title-medium`,children:`Free`}),(0,J.jsx)(p,{as:`p`,variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:`Forever`})]}):t&&!(oe&&T!=null)&&(w==null||C)?D?(0,J.jsxs)(`div`,{className:`flex items-center gap-2 text-[var(--content-tertiary)]`,children:[(0,J.jsx)(B,{className:`h-4 w-4 animate-spin`}),(0,J.jsx)(p,{as:`span`,variant:`body-medium-lighter`,children:`Loading your plan...`})]}):(0,J.jsx)(p,{as:`p`,variant:`body-medium-lighter`,className:`text-[var(--content-tertiary)]`,"data-testid":`modal-pro-price-unavailable`,children:`Current plan pricing unavailable`}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,J.jsx)(p,{as:`p`,variant:`title-medium`,"data-testid":`modal-pro-price`,children:oe&&T!=null?(0,J.jsxs)(J.Fragment,{children:[N(T),E!=null&&E!==0&&(0,J.jsxs)(`span`,{className:`ml-1 text-[var(--content-tertiary)]`,children:[`(`,ue(E),`)`]})]}):w==null?e.id===`pro`?`From ${N(e.base_price_cents+se(e.machine_tiers)+se(e.storage_tiers))}`:null:`Currently ${N(w)}`}),oe&&E!=null&&E!==0&&(0,J.jsx)(`span`,{title:`Your Pro Plan subscription will change from ${N(w)} to ${N(T)}.`,children:(0,J.jsx)(ye,{className:`h-3 w-3 text-[var(--content-tertiary)]`})})]}),e.id===`pro`&&(0,J.jsxs)(p,{as:`p`,variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,"data-testid":`modal-pro-base-fee`,children:[pe(e.base_price_cents),` base fee`]})]})}),(0,J.jsx)(Rr,{features:e.included_features,variant:`checklist`}),L&&!l&&(0,J.jsx)(p,{as:`p`,variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,"data-testid":`modal-credits-not-included`,children:`*Credits not included`})]}),(0,J.jsxs)(`div`,{className:`mt-4 flex flex-1 flex-col justify-end gap-4`,children:[!t&&L&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`hr`,{className:`border-t border-[var(--border-base)]`}),l&&(0,J.jsx)(Lr,{creditTiers:u,selectedCreditTier:d,onCreditTierChange:f,disabled:P}),(0,J.jsx)(ee,{machineTiers:y,storageTiers:b,selectedMachineTier:h,selectedStorageTier:g,onMachineTierChange:_,onStorageTierChange:v}),(0,J.jsx)(i,{variant:`primary`,className:`w-full`,onClick:I,disabled:P||!h||!g,"data-testid":`modal-upgrade-to-pro-button`,children:`Upgrade to Pro`})]}),R&&(D?(0,J.jsxs)(`div`,{className:`flex items-center gap-2 text-[var(--content-tertiary)]`,children:[(0,J.jsx)(B,{className:`h-4 w-4 animate-spin`}),(0,J.jsx)(p,{as:`span`,variant:`body-medium-lighter`,children:`Loading your plan...`})]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`hr`,{className:`border-t border-[var(--border-base)]`}),l&&(0,J.jsx)(Lr,{creditTiers:u,selectedCreditTier:d,onCreditTierChange:f,disabled:O}),(0,J.jsx)(ee,{machineTiers:y,storageTiers:b,selectedMachineTier:h,selectedStorageTier:g,onMachineTierChange:_,onStorageTierChange:v,currentMachinePriceCents:x,currentStoragePriceCents:S}),M&&(0,J.jsx)(V,{tone:`error`,children:M}),(0,J.jsx)(i,{variant:`primary`,className:`w-full`,onClick:te,disabled:O||!k&&!A&&!j,"data-testid":`modal-change-tier-button`,children:`Update Plan`})]})),!t&&ie&&n&&!r&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`hr`,{className:`border-t border-[var(--border-base)]`}),(0,J.jsx)(i,{variant:`outlined`,className:`w-full`,onClick:ne,disabled:F,"data-testid":`modal-downgrade-to-base-button`,children:`Downgrade to Base`})]}),ae&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`hr`,{className:`border-t border-[var(--border-base)]`}),(0,J.jsx)(i,{variant:`outlined`,className:`w-full`,onClick:re,disabled:F,"data-testid":`modal-keep-plan-button`,children:`Keep your Plan`})]})]})]})}function Br({open:e,onClose:t,onTierUpgraded:n}){let r=l(),a=u(Qe()),o=u(xt()),s=d(ht()),c=d(St()),f=d(bt()),m=d(Et()),h=T(A(o.data)),[_,v]=(0,K.useState)(`plans`),[y,b]=(0,K.useState)(!1),[x,S]=(0,K.useState)(null),[C,w]=(0,K.useState)(null),[E,D]=(0,K.useState)(void 0);(0,K.useEffect)(()=>qe(()=>{r.invalidateQueries({queryKey:Dt()}),r.invalidateQueries({queryKey:gt()}),r.invalidateQueries({queryKey:mt()}),t()}),[r,t]);let k=o.data?.plan_id,M=k===`pro`,N=u({...Tt(),enabled:M}),P=N.data?.max_machine_tier??null,I=N.data?.selected_storage_tier??null,ee=N.data?.selected_storage_gib??null,ne=o.data?.cancel_at_period_end===!0||!!o.data?.cancel_at,re=o.data?.status===`canceled`,L=j(o.data),ie=o.data?.status,oe=ie!=null&&le.has(ie),se=M&&oe&&!ne&&!re,R=a.data?.plans.find(e=>e.id===`pro`),ce=R?.credit_tiers??[],ue=ce.length>0,pe=o.data?.selected_credit_tier??null,z=e=>ce.find(t=>t.tier===e)?.price_cents??0,me=z(pe),he=pe!=null&&!ce.some(e=>e.tier===pe),ge=E===void 0?pe:E,_e=z(ge),ve=R?.machine_tiers??[],ye=se&&ee!=null?(R?.storage_tiers??[]).map(e=>e.storage_gib<ee?{...e,disabled:!0}:e):R?.storage_tiers??[];(0,K.useEffect)(()=>{if(!e){S(null),w(null),D(void 0);return}if(R){if(se){if(P==null||I==null)return;S(e=>te(ve,e??P)),w(e=>te(ye,e??I)),D(e=>ae(ce,e,pe));return}S(e=>te(R.machine_tiers,e)),w(e=>te(R.storage_tiers,e)),D(e=>ae(ce,e,null))}},[e,R,se,P,I,pe]);let be=a.data?.plans.find(e=>e.id===`base`),Se=new Set(be?.included_features??[]),Ce=(R?.included_features??[]).filter(e=>!Se.has(e)),we=()=>{if(!s.isPending){if(!x||!C){W.error(`Pick a machine and storage tier to continue.`,{id:`pro-upgrade-error`});return}s.mutate({body:{target_plan_id:`pro`,confirm:!0,machine_tier:x,storage_tier:C,credit_tier:ge,return_target:fe()}},{onSuccess:e=>{if(e.checkout_url){O({kind:`custom`,machineTier:x,storageTier:C,creditTier:ge}),Ke(e.checkout_url);return}if(e.status===`no_op`){W.info(`You're already on Pro.`,{id:`pro-upgrade`}),t();return}W.error(e.message??`Failed to start upgrade. Please try again.`,{id:`pro-upgrade-error`})},onError:e=>{W.error(F(e,`Failed to start upgrade. Please try again.`),{id:`pro-upgrade-error`})}})}},Te=()=>{h.isPending||(v(`plans`),h.mutate({}))},Ee=()=>{r.invalidateQueries({queryKey:Dt()}),r.invalidateQueries({queryKey:mt()}),r.invalidateQueries({queryKey:gt()})},H=c.isPending||f.isPending||m.isPending,De=x!=null&&x!==P,Oe=C!=null&&C!==I,ke=ue&&E!==void 0&&E!==pe,Ae=e=>ve.find(t=>t.tier===e)?.price_cents??null,je=e=>ye.find(t=>t.tier===e)?.price_cents??null,Me=Ae(x),Ne=je(C),Pe=Ae(P),Fe=je(I),Ie=De&&Me!=null&&Pe!=null&&Me<Pe,Le=()=>{if(H)return;let e=[];De&&x&&e.push(new Promise(e=>{c.mutate({body:{machine_tier:x}},{onSuccess:()=>e({dimension:`machine`,ok:!0}),onError:t=>e({dimension:`machine`,ok:!1,error:t})})})),Oe&&C&&e.push(new Promise(e=>{f.mutate({body:{storage_tier:C}},{onSuccess:()=>e({dimension:`storage`,ok:!0}),onError:t=>e({dimension:`storage`,ok:!1,error:t})})})),ke&&e.push(new Promise(e=>{m.mutate({body:{credit_tier:ge}},{onSuccess:()=>e({dimension:`credit`,ok:!0}),onError:t=>e({dimension:`credit`,ok:!1,error:t})})})),Promise.all(e).then(e=>{Ee();let r=e.some(e=>e.ok&&e.dimension===`storage`),i=e.some(e=>e.ok&&e.dimension===`machine`)&&!Ie,a=(r||i)&&!!n,o=e.filter(e=>!e.ok);if(o.length>0){let e=o.map(e=>F(e.error,`Failed to update ${e.dimension} tier.`)).join(` `);W.error(e,{id:`pro-tier-change-error`}),a&&(t(),n());return}a?(t(),n()):W.success(ke&&!De&&!Oe?`Credit bundle updated.`:`Plan updated.`,{id:`pro-tier-change`})})},Re=()=>{if(!H){if(Ie){b(!0);return}Le()}},ze=()=>{b(!1),Le()},Be=e=>Me!=null&&Ne!=null?e.base_price_cents+Me+Ne+_e:null,Ve=e=>Pe!=null&&Fe!=null?e.base_price_cents+Pe+Fe+me:null,He=c.isError||f.isError||m.isError?F(c.error??f.error??m.error,`Failed to update plan. Please try again.`):null,G=a.isLoading||o.isLoading,Ue=a.isError||o.isError||!a.data||!o.data;return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(U.Root,{open:e,onOpenChange:e=>{e||(v(`plans`),t())},children:(0,J.jsx)(U.Content,{size:_===`plans`?`lg`:`md`,children:_===`downgrade-confirm`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(U.Header,{children:(0,J.jsx)(U.Title,{icon:xe,children:`Downgrade to Base?`})}),(0,J.jsxs)(U.Body,{children:[(0,J.jsx)(p,{as:`p`,variant:`body-medium-default`,className:`text-(--content-secondary)`,children:`Downgrading removes the following Pro features:`}),(0,J.jsx)(`ul`,{className:`mt-4 list-disc space-y-2 pl-5`,children:Ce.map(e=>(0,J.jsx)(`li`,{children:(0,J.jsx)(p,{as:`span`,variant:`body-medium-default`,children:e})},e))})]}),(0,J.jsxs)(U.Footer,{children:[(0,J.jsx)(i,{variant:`ghost`,onClick:()=>v(`plans`),disabled:h.isPending,leftIcon:(0,J.jsx)(g,{className:`h-4 w-4`}),children:`Back`}),(0,J.jsx)(i,{variant:`danger`,onClick:Te,disabled:h.isPending,"data-testid":`confirm-downgrade-button`,children:`Confirm Downgrade`})]})]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(U.Header,{children:(0,J.jsx)(U.Title,{className:`sr-only`,children:`Upgrade Plan`})}),(0,J.jsx)(U.Body,{children:G?(0,J.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,J.jsx)(B,{className:`h-4 w-4 animate-spin`}),(0,J.jsx)(p,{as:`span`,variant:`body-medium-lighter`,children:`Loading plans...`})]}):Ue?(0,J.jsx)(V,{tone:`error`,children:`Failed to load plans. Please try again later.`}):(0,J.jsxs)(`div`,{className:`space-y-6`,children:[(0,J.jsxs)(`div`,{className:`space-y-2 pb-2 pt-4 text-center`,children:[(0,J.jsx)(p,{as:`p`,variant:`title-medium`,children:`Your Assistant, Your Way`}),(0,J.jsx)(p,{as:`p`,variant:`body-medium-lighter`,className:`text-[var(--content-secondary)]`,children:`Choose the plan that works best for you and your assistant.`})]}),(0,J.jsx)(`div`,{className:`grid grid-cols-1 gap-4 md:grid-cols-2`,children:a.data.plans.map(e=>{let t=e.id===k,n=e.id===`pro`&&R?Be(R):null,r=e.id===`pro`&&R?Ve(R):null;return(0,J.jsx)(zr,{plan:e,isCurrent:t,onPro:M,cancelAtPeriodEnd:ne,isCanceled:re,cancelDate:L,formatGraceDate:de,proTierChangeMode:se,creditTiersEnabled:ue,creditTiers:ce,displayCreditTier:ge,onCreditTierChange:D,selectedMachineTier:x,selectedStorageTier:C,onMachineTierChange:S,onStorageTierChange:w,machineTiersForPicker:ve,storageTiersForPicker:ye,currentMachinePrice:Pe,currentStoragePrice:Fe,currentCreditPriceUnknown:he,proCurrentTotalCents:r,proLiveTotalCents:n,proTotalDelta:n!=null&&r!=null?n-r:null,onboardingLoading:N.isLoading,tierChangePending:H,machineChanged:De,storageChanged:Oe,creditChanged:ke,tierChangeError:He,upgradePending:s.isPending,portalPending:h.isPending,onUpgrade:we,onApplyTierChange:Re,onDowngradeClick:()=>v(`downgrade-confirm`),onKeepPlan:()=>h.mutate({})},e.id)})})]})}),(0,J.jsxs)(U.Footer,{className:`relative items-center`,children:[(0,J.jsx)(p,{as:`p`,variant:`body-small-default`,className:`pointer-events-none absolute inset-x-0 text-center text-[var(--content-tertiary)]`,children:(0,J.jsx)(`span`,{className:`pointer-events-auto`,children:`You can change or cancel your plan at any time from billing settings.`})}),(0,J.jsx)(`div`,{className:`ml-auto`,children:(0,J.jsx)(i,{variant:`outlined`,onClick:t,"data-testid":`modal-cancel-button`,children:`Cancel`})})]})]})})}),(0,J.jsx)(Pr,{open:y,onCancel:()=>b(!1),onConfirm:ze,confirming:H,lostFeatures:[`Reduced CPU and memory for your assistant — it will resize to the smaller compute profile.`]})]})}function Vr({open:e,confirming:t,onCancel:n,onConfirm:r}){return(0,J.jsx)(Oe,{open:e,title:`Disable automatic top-ups?`,message:`Auto top-ups will stop. Any saved payment method stays on file.`,confirmLabel:t?`Disabling…`:`Disable`,cancelLabel:`Keep enabled`,destructive:!0,onConfirm:r,onCancel:n})}var Hr={threshold_usd:`100`,amount_usd:`10`,monthly_cap_usd:``};function Ur(e){if(e===``||e===`-`)return e;let t=parseFloat(e);return Number.isFinite(t)?String(Math.trunc(t)):``}function Wr(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 Gr(e,t,n,r){if(n[e])return n[e];if(r)return t[e]}function Kr({initialValues:e=Hr,submitting:t,serverErrors:n,onSave:r,onCancel:a}){let[o,s]=(0,K.useState)(e),[c,l]=(0,K.useState)({threshold_usd:!1,amount_usd:!1,monthly_cap_usd:!1}),u=Wr(o),d=e=>t=>{s(n=>({...n,[e]:t.target.value}))},f=e=>()=>{l(t=>({...t,[e]:!0})),s(t=>({...t,[e]:Ur(t[e])}))},p=e=>Gr(e,u,n,c[e]);return(0,J.jsx)(`div`,{className:`mt-4`,children:(0,J.jsxs)(`div`,{className:`flex flex-wrap items-start gap-3`,children:[(0,J.jsx)(`div`,{className:`min-w-[10rem] flex-1`,children:(0,J.jsx)(H,{type:`number`,step:`1`,label:`Auto-reload when balance below`,value:o.threshold_usd,onChange:d(`threshold_usd`),onBlur:f(`threshold_usd`),errorText:p(`threshold_usd`),"data-testid":`auto-top-up-threshold-input`,fullWidth:!0})}),(0,J.jsx)(`div`,{className:`min-w-[10rem] flex-1`,children:(0,J.jsx)(H,{type:`number`,step:`1`,label:`Auto-reload amount`,value:o.amount_usd,onChange:d(`amount_usd`),onBlur:f(`amount_usd`),errorText:p(`amount_usd`),"data-testid":`auto-top-up-amount-input`,fullWidth:!0})}),(0,J.jsx)(`div`,{className:`min-w-[10rem] flex-1`,children:(0,J.jsx)(H,{type:`number`,step:`1`,label:`Monthly spending cap`,helperText:`Pauses auto top-ups for the rest of the month once spending reaches this amount. Manual purchases also count toward the total. Leave empty for no limit.`,value:o.monthly_cap_usd,onChange:d(`monthly_cap_usd`),onBlur:f(`monthly_cap_usd`),errorText:p(`monthly_cap_usd`),"data-testid":`auto-top-up-cap-input`,fullWidth:!0})}),(0,J.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 pt-[18px]`,children:[(0,J.jsx)(i,{variant:`outlined`,onClick:a,disabled:t,children:`Cancel`}),(0,J.jsx)(i,{variant:`primary`,onClick:()=>{l({threshold_usd:!0,amount_usd:!0,monthly_cap_usd:!0});let e={threshold_usd:Ur(o.threshold_usd),amount_usd:Ur(o.amount_usd),monthly_cap_usd:Ur(o.monthly_cap_usd)};s(e);let t=Wr(e);if(Object.keys(t).length!==0)return;let n=e=>e===``?``:`${parseInt(e,10)}.00`;r({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,"data-testid":`auto-top-up-save-button`,children:`Save`})]})]})})}var qr=t(((e,t)=>{t.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),Jr=t(((e,t)=>{var n=qr();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=Jr()()}))(),1);function Yr(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 Xr(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Yr(Object(n),!0).forEach(function(t){Qr(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Yr(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Zr(e){"@babel/helpers - typeof";return Zr=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},Zr(e)}function Qr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $r(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 ei(e,t){if(e==null)return{};var n=$r(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 ti(e,t){return ni(e)||ri(e,t)||ii(e,t)||oi()}function ni(e){if(Array.isArray(e))return e}function ri(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 ii(e,t){if(e){if(typeof e==`string`)return ai(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 ai(e,t)}}function ai(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 oi(){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=K.useRef(n);K.useEffect(function(){i.current=n},[n]),K.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])},si=function(e){var t=K.useRef(e);return K.useEffect(function(){t.current=e},[e]),t.current},ci=function(e){return e!==null&&Zr(e)===`object`},li=function(e){return ci(e)&&typeof e.then==`function`},ui=function(e){return ci(e)&&typeof e.elements==`function`&&typeof e.createToken==`function`&&typeof e.createPaymentMethod==`function`&&typeof e.confirmCardPayment==`function`},di=`[object Object]`,fi=function e(t,n){if(!ci(t)||!ci(n))return t===n;var r=Array.isArray(t);if(r!==Array.isArray(n))return!1;var i=Object.prototype.toString.call(t)===di;if(i!==(Object.prototype.toString.call(n)===di))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])})},pi=function(e,t,n){return ci(e)?Object.keys(e).reduce(function(r,i){var a=!ci(t)||!fi(e[i],t[i]);return n.includes(i)?(a&&console.warn(`Unsupported prop change: options.${i} is not a mutable property.`),r):a?Xr(Xr({},r||{}),{},Qr({},i,e[i])):r},null):null},mi="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.",hi=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:mi;if(e===null||ui(e))return e;throw Error(t)},gi=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:mi;if(li(e))return{tag:`async`,stripePromise:Promise.resolve(e).then(function(e){return hi(e,t)})};var n=hi(e,t);return n===null?{tag:`empty`}:{tag:`sync`,stripe:n}},_i=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`}))},vi=K.createContext(null);vi.displayName=`ElementsContext`;var yi=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},bi=function(e){var t=e.stripe,n=e.options,r=e.children,i=K.useMemo(function(){return gi(t)},[t]),a=ti(K.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];K.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=si(t);K.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=si(n);return K.useEffect(function(){if(o.elements){var e=pi(n,l,[`clientSecret`,`fonts`]);e&&o.elements.update(e)}},[n,l,o.elements]),K.useEffect(function(){_i(o.stripe)},[o.stripe]),K.createElement(vi.Provider,{value:o},r)};bi.propTypes={stripe:X.default.any,options:X.default.object};var xi=function(e){return yi(K.useContext(vi),e)},Si=function(e){var t=e.children;return t(xi(`mounts <ElementsConsumer>`))};Si.propTypes={children:X.default.func.isRequired};var Ci=K.createContext(null);Ci.displayName=`CheckoutContext`;var wi=function(e){var t=K.useContext(Ci),n=K.useContext(vi);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 yi(n,e)},Ti=[`mode`],Ei=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},Q=function(e,t,n){var r=`${Ei(e)}Element`,i=t?function(e){wi(`mounts <${r}>`);var t=e.id,n=e.className;return K.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=wi(`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=ti(K.useState(null),2),O=D[0],k=D[1],A=K.useRef(null),j=K.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),K.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=ei(o,Ti);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=si(o);return K.useEffect(function(){if(A.current){var e=pi(o,N,[`paymentRequest`]);e&&`update`in A.current&&A.current.update(e)}},[o,N]),K.useLayoutEffect(function(){return function(){if(A.current&&typeof A.current.destroy==`function`)try{A.current.destroy(),A.current=null}catch{}}},[]),K.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`,Di=K.createContext(null);Di.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`,$);var Oi=`dahlia`,ki=`https://js.stripe.com`,Ai=`${ki}/${Oi}/stripe.js`,ji=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,Mi=/^https:\/\/js\.stripe\.com\/(v3|[a-z]+)\/stripe\.js(\?.*)?$/,Ni=`loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used`,Pi=function(e){return ji.test(e)||Mi.test(e)},Fi=function(){for(var e=document.querySelectorAll(`script[src^="${ki}"]`),t=0;t<e.length;t++){var n=e[t];if(Pi(n.src))return n}return null},Ii=function(e){var t=e&&!e.advancedFraudSignals?`?advancedFraudSignals=false`:``,n=document.createElement(`script`);n.src=`${Ai}${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},Li=null,Ri=null,zi=null,Bi=function(e){return function(t){e(Error(`Failed to load Stripe.js`,{cause:t}))}},Vi=function(e,t){return function(){window.Stripe?e(window.Stripe):t(Error(`Stripe.js not available`))}},Hi=function(e){return Li===null?(Li=new Promise(function(t,n){if(typeof window>`u`||typeof document>`u`){t(null);return}if(window.Stripe&&e&&console.warn(Ni),window.Stripe){t(window.Stripe);return}try{var r=Fi();if(r&&e)console.warn(Ni);else if(!r)r=Ii(e);else if(r&&zi!==null&&Ri!==null){var i;r.removeEventListener(`load`,zi),r.removeEventListener(`error`,Ri),(i=r.parentNode)==null||i.removeChild(r),r=Ii(e)}zi=Vi(t,n),Ri=Bi(n),r.addEventListener(`load`,zi),r.addEventListener(`error`,Ri)}catch(e){n(e);return}}),Li.catch(function(e){return Li=null,Promise.reject(e)})):Li},Ui,Wi=!1,Gi=function(){return Ui||(Ui=Hi(null).catch(function(e){return Ui=null,Promise.reject(e)}),Ui)};Promise.resolve().then(function(){return Gi()}).catch(function(e){Wi||console.warn(e)});function Ki(){return typeof document<`u`&&document.documentElement.classList.contains(`dark`)?{theme:`night`}:{theme:`stripe`}}function qi({open:e,onClose:t,onSavedOptimistic:n}){let r=d(tt()),{mutate:i,reset:a}=r;return(0,K.useEffect)(()=>{e||a()},[e,i,a]),(0,K.useMemo)(()=>Ki(),[r.data?.client_secret??null]),(0,J.jsx)(U.Root,{open:e,onOpenChange:e=>{e||t()},children:(0,J.jsxs)(U.Content,{size:`sm`,children:[(0,J.jsx)(U.Header,{children:(0,J.jsx)(U.Title,{children:`Save Payment Method`})}),(0,J.jsx)(U.Body,{className:`min-h-[260px]`,children:(0,J.jsx)(Ji,{})})]})})}function Ji(){return(0,K.useEffect)(()=>{console.warn(`[AutoTopUpPaymentMethodModal] VITE_STRIPE_PUBLISHABLE_KEY is not set; the payment-method modal cannot mount Stripe Elements.`)},[]),(0,J.jsx)(V,{tone:`error`,children:`Payment method setup is currently unavailable. Please try again later.`})}var Yi={visa:`Visa`,mastercard:`Mastercard`,amex:`Amex`,discover:`Discover`,diners:`Diners Club`,jcb:`JCB`,unionpay:`UnionPay`};function Xi(e){return Yi[e.toLowerCase()]??e}function Zi({brand:e,last4:t,onUpdateCard:n,onRemove:r,removing:a=!1}){return(0,J.jsxs)(`div`,{"data-testid":`payment-method-row`,className:`flex items-center justify-between gap-2 rounded-lg bg-[var(--surface-base)] pl-3 pr-2 py-1.5`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(he,{"aria-hidden":!0,className:`h-4 w-4 text-[var(--content-default)]`}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(p,{as:`p`,variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:e?Xi(e):`Saved card`}),t!=null&&(0,J.jsxs)(p,{as:`p`,variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:[`Ending in `,t]})]})]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(i,{variant:`outlined`,onClick:n,"data-testid":`payment-method-update`,children:`Update Card`}),(0,J.jsx)(i,{variant:`dangerOutline`,onClick:r,disabled:a,"data-testid":`payment-method-remove`,children:a?`Removing…`:`Remove`})]})]})}function Qi(e){if(!e)return``;let t=parseFloat(e);return Number.isFinite(t)?String(Math.trunc(t)):``}function $i(e){if(!e)return`$0`;let t=parseFloat(e);if(!Number.isFinite(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}`}var ea={enabled:!1,threshold_usd:null,amount_usd:null,monthly_cap_usd:null,has_payment_method:!1,payment_method_brand:null,payment_method_last4: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 ta(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 na({testId:e,children:t}){return(0,J.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 ra(){let e=l(),t=u(kt()),n=d(ct()),r=d(it()),a=d(st()),[o,s]=(0,K.useState)(`view`),[c,f]=(0,K.useState)(!1),[m,h]=(0,K.useState)(!1),[g,_]=(0,K.useState)(!1),[v,y]=(0,K.useState)(!1),[b,x]=(0,K.useState)(!1),[C,w]=(0,K.useState)(!1);if((0,K.useEffect)(()=>{v&&t.data?.has_payment_method&&y(!1)},[v,t.data?.has_payment_method]),t.isLoading)return(0,J.jsx)(`div`,{"data-testid":`auto-top-up-card`,children:(0,J.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Loading…`})});if(t.isError||!t.data)return(0,J.jsx)(`div`,{"data-testid":`auto-top-up-card`,children:(0,J.jsx)(V,{tone:`error`,children:`Failed to load auto top-up configuration.`})});let T=t.data,E=T.enabled===!0,D=T.disabled_due_to_repeated_failures===!0&&!E,O=()=>{n.reset(),r.reset(),s(`form`)},k=()=>{s(`view`),f(!1)},A=()=>{r.reset(),h(!1)},j=t=>{n.mutate({body:{enabled:!0,threshold_usd:t.threshold_usd,amount_usd:t.amount_usd,monthly_cap_usd:t.monthly_cap_usd===``?null:t.monthly_cap_usd}},{onSuccess:t=>{lt(e,void 0,e=>({...t,payment_method_brand:e?.payment_method_brand??null,payment_method_last4:e?.payment_method_last4??null})),e.invalidateQueries({queryKey:$e()}),k()}})},M=()=>{r.mutate({},{onSuccess:()=>{lt(e,void 0,e=>({...ea,has_payment_method:e?.has_payment_method??!1,payment_method_brand:e?.payment_method_brand??null,payment_method_last4:e?.payment_method_last4??null,stripe_payment_method_updated_at:e?.stripe_payment_method_updated_at??null})),h(!1),s(`view`),f(!1)}})},N=()=>{a.mutate({},{onSuccess:()=>{lt(e,void 0,{...T,enabled:!1,has_payment_method:!1,payment_method_brand:null,payment_method_last4:null}),e.invalidateQueries({queryKey:$e()}),_(!1),k()},onError:()=>{_(!1)}})},P=e=>{if(e&&!E){if(f(!0),!T.has_payment_method||D){y(!0),x(!1);return}y(!1),O();return}if(!e&&!E&&c){y(!1),k();return}!e&&E&&h(!0)},F=async()=>{let t=Date.now(),n=T.stripe_payment_method_updated_at??null;try{await e.invalidateQueries({queryKey:$e()})}catch{}for(;Date.now()-t<2e4;){try{let t=await e.fetchQuery(kt());if(t.has_payment_method&&t.stripe_payment_method_updated_at!==n)break}catch{}await new Promise(e=>setTimeout(e,1500))}y(!1),c&&O()},I=o===`form`,ee=ta(n.error),te=n.isError&&Object.keys(ee).length===0;return(0,J.jsxs)(`div`,{"data-testid":`auto-top-up-card`,children:[(0,J.jsx)(`div`,{className:`flex items-center justify-between gap-4`,children:(0,J.jsx)(De,{checked:E||c,onChange:P,label:`Enable Extra Usage`})}),T.has_payment_method&&(0,J.jsx)(`div`,{className:`mt-3`,children:(0,J.jsx)(Zi,{brand:T.payment_method_brand,last4:T.payment_method_last4,onUpdateCard:()=>w(!0),onRemove:()=>_(!0),removing:a.isPending})}),E&&!I&&(0,J.jsxs)(`div`,{className:`mt-3 flex w-full items-center gap-2`,children:[(0,J.jsxs)(na,{testId:`auto-top-up-summary`,children:[(0,J.jsx)(S,{className:`h-3.5 w-3.5 shrink-0 text-[var(--content-default)]`,"aria-hidden":`true`}),(0,J.jsxs)(p,{variant:`body-medium-default`,className:`truncate text-[var(--content-default)]`,children:[`Add `,$i(T.amount_usd),` when balance falls under`,` `,$i(T.threshold_usd)]})]}),T.monthly_cap_usd!=null&&(0,J.jsx)(na,{testId:`auto-top-up-cap-progress`,children:(0,J.jsxs)(p,{variant:`body-medium-default`,className:`truncate text-[var(--content-default)]`,children:[(0,J.jsxs)(`span`,{children:[$i(T.current_month_credits_purchased_usd),` `]}),(0,J.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[`/ `,$i(T.monthly_cap_usd),` this month`]})]})}),(0,J.jsx)(i,{variant:`outlined`,onClick:O,"data-testid":`auto-top-up-edit-button`,className:`shrink-0`,children:`Adjust`})]}),D&&(0,J.jsx)(V,{tone:`warning`,className:`mt-3`,"data-testid":`auto-top-up-declined-cutoff`,actions:(0,J.jsx)(i,{variant:`outlined`,onClick:()=>w(!0),"data-testid":`auto-top-up-add-pm-button`,children:`Add payment method`}),children:`We paused automatic reloads after several declined payments. Add a new payment method to turn auto-reload back on.`}),(0,J.jsx)(`div`,{className:`grid transition-[grid-template-rows] duration-200 ease-in-out`,style:{gridTemplateRows:v&&!D?`1fr`:`0fr`},children:(0,J.jsx)(`div`,{className:`overflow-hidden`,children:(0,J.jsxs)(`div`,{className:`mt-3 flex flex-col gap-3`,children:[!b&&(0,J.jsxs)(`div`,{className:`flex h-8 items-center justify-between gap-3 rounded-lg bg-[var(--system-mid-weak)] px-2`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,J.jsx)(ye,{className:`h-4 w-4 shrink-0 text-[var(--system-mid-strong)]`,"aria-hidden":`true`}),(0,J.jsx)(p,{variant:`body-medium-default`,className:`truncate text-[var(--system-mid-strong)]`,children:`Extra usage requires you to connect a credit card.`})]}),(0,J.jsx)(`button`,{type:`button`,"aria-label":`Dismiss`,onClick:()=>x(!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,J.jsx)(Ce,{className:`h-2.5 w-2.5`,strokeWidth:2,"aria-hidden":`true`})})]}),(0,J.jsx)(i,{variant:`primary`,onClick:()=>w(!0),"data-testid":`auto-top-up-add-pm-button`,className:`self-start`,children:`Add a Credit Card`})]})})}),te&&(0,J.jsx)(V,{tone:`error`,className:`mt-4`,"data-testid":`auto-top-up-update-error`,children:`Failed to save automatic top-ups. Please try again.`}),r.isError&&(0,J.jsx)(V,{tone:`error`,className:`mt-4`,"data-testid":`auto-top-up-disable-error`,children:`Failed to disable automatic top-ups. Please try again.`}),a.isError&&(0,J.jsx)(V,{tone:`error`,className:`mt-4`,"data-testid":`auto-top-up-remove-error`,children:`Failed to remove the payment method. Please try again.`}),I&&(0,J.jsx)(Kr,{initialValues:E?{threshold_usd:Qi(T.threshold_usd),amount_usd:Qi(T.amount_usd),monthly_cap_usd:Qi(T.monthly_cap_usd)}:void 0,submitting:n.isPending,serverErrors:ee,onCancel:k,onSave:j}),(E||I)&&(0,J.jsx)(V,{tone:`info`,className:`mt-4`,children:`If you're too close to your monthly limit, the auto-reload will only top up to that limit.`}),(0,J.jsx)(Vr,{open:m,confirming:r.isPending,onCancel:A,onConfirm:M}),(0,J.jsx)(Oe,{open:g,title:`Remove payment method?`,message:`Removing your card will turn off Extra Usage.`,confirmLabel:a.isPending?`Removing…`:`Remove`,isPending:a.isPending,cancelLabel:`Keep card`,destructive:!0,onConfirm:N,onCancel:()=>_(!1)}),(0,J.jsx)(qi,{open:C,onClose:()=>w(!1),onSavedOptimistic:F})]})}function ia(e){let t=parseFloat(e);return Number.isFinite(t)?`$${t.toFixed(2)}`:`$${e}`}function aa(e){let t=e.trim();if(t===``)return`Enter a daily limit`;let n=parseFloat(t);if(!Number.isFinite(n)||n<1)return`Must be at least $1`;if(!/^\d+(\.\d{1,2})?$/.test(t))return`Use at most two decimal places`}function oa(){let e=l(),t=u(ut()),n=u(_t()),r=d(wt()),[a,o]=(0,K.useState)(null),[s,c]=(0,K.useState)(!1),[f,p]=(0,K.useState)(!1);if(t.isLoading)return(0,J.jsx)(`div`,{"data-testid":`daily-credit-limit-card`,children:(0,J.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Loading…`})});if(t.isError||!t.data)return(0,J.jsx)(`div`,{"data-testid":`daily-credit-limit-card`,children:(0,J.jsx)(V,{tone:`error`,children:`Failed to load daily credit limit settings.`})});let m=t.data,h=m.daily_credit_limit_usd!=null,g=h||f,_=a??m.daily_credit_limit_usd??``,v=aa(_),y=n.data,b=y?.daily_spend_usd??m.current_day_spent_usd,x=y?.daily_limit_reached===!0,S=e=>{o(e.target.value)},C=t=>{r.mutate({body:{daily_credit_limit_usd:t}},{onSuccess:n=>{rt(e,void 0,n),e.invalidateQueries({queryKey:et()}),e.invalidateQueries({queryKey:Ct()}),o(null),c(!1),t===null&&p(!1)}})},w=e=>{if(e){p(!0);return}p(!1),o(null),c(!1),h&&C(null)},T=()=>{c(!0),!v&&C(parseFloat(_.trim()).toFixed(2))},E=r.isError,D=s?v:void 0;return(0,J.jsxs)(`div`,{"data-testid":`daily-credit-limit-card`,children:[(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,J.jsx)(De,{checked:g,onChange:w,disabled:r.isPending,label:`Set a daily credit limit`}),g&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-start gap-3`,children:[(0,J.jsx)(`div`,{className:`w-60 max-w-full`,children:(0,J.jsx)(H,{type:`number`,step:`0.01`,min:`1`,label:`Stop spending Vellum credits after`,helperText:`Per UTC day. Resets at midnight UTC.`,placeholder:`0.00`,value:_,onChange:S,onBlur:()=>c(!0),errorText:D,"data-testid":`daily-credit-limit-input`,fullWidth:!0})}),(0,J.jsx)(`div`,{className:`flex shrink-0 items-center gap-2 pt-[18px]`,children:(0,J.jsx)(i,{variant:`primary`,onClick:T,disabled:r.isPending,"data-testid":`daily-credit-limit-save-button`,children:`Save`})})]}),h&&m.daily_credit_limit_usd!=null&&(0,J.jsxs)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,"data-testid":`daily-credit-limit-progress`,children:[ia(b),` of `,ia(m.daily_credit_limit_usd),` `,`spent today`]}),x&&(0,J.jsx)(V,{tone:`warning`,"data-testid":`daily-credit-limit-reached`,children:`Today's Vellum credit spend has reached this limit. Generation resumes after midnight UTC or when you raise the limit.`})]})]}),(0,J.jsx)(`p`,{className:`mt-3 text-body-small-default text-[var(--content-tertiary)]`,children:`Applies to Vellum credit spend only. Usage billed to your own provider API keys isn't limited. Resets at midnight UTC.`}),E&&(0,J.jsx)(V,{tone:`error`,className:`mt-4`,"data-testid":`daily-credit-limit-update-error`,children:`Failed to save daily credit limit. Please try again.`})]})}function sa(e){let t=parseFloat(e);return Number.isFinite(t)?`$${t.toFixed(2)}`:`$${e}`}function ca(e){if(e.trim()===``)return;let t=parseFloat(e);if(!Number.isFinite(t)||t<1||t>1e3)return`Must be between $1 and $1,000`;if(!/^\d+(\.\d{1,2})?$/.test(e.trim()))return`Use at most two decimal places`}function la(){let e=l(),t=u(ft()),n=d(ot()),[r,a]=(0,K.useState)(null),[o,s]=(0,K.useState)(!1);if(t.isLoading)return(0,J.jsx)(`div`,{"data-testid":`low-balance-alert-card`,children:(0,J.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Loading…`})});if(t.isError||!t.data)return(0,J.jsx)(`div`,{"data-testid":`low-balance-alert-card`,children:(0,J.jsx)(V,{tone:`error`,children:`Failed to load low-balance alert settings.`})});let c=t.data,f=r??c.threshold_usd??``,p=ca(f),m=e=>{a(e.target.value)},h=t=>{n.mutate({body:{threshold_usd:t}},{onSuccess:t=>{pt(e,void 0,t),e.invalidateQueries({queryKey:dt()}),a(null),s(!1)}})},g=()=>{if(s(!0),p)return;let e=f.trim();h(e===``?null:parseFloat(e).toFixed(2))},_=()=>{a(``),s(!1),h(null)},v=n.isError,y=o?p:void 0;return(0,J.jsxs)(`div`,{"data-testid":`low-balance-alert-card`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-start gap-3`,children:[(0,J.jsx)(`div`,{className:`w-60 max-w-full`,children:(0,J.jsx)(H,{type:`number`,step:`0.01`,label:`Alert me when my balance drops below`,helperText:`Default is ${sa(c.default_threshold_usd)} when unset`,placeholder:c.effective_threshold_usd,value:f,onChange:m,onBlur:()=>s(!0),errorText:y,"data-testid":`low-balance-alert-input`,fullWidth:!0})}),(0,J.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 pt-[18px]`,children:[c.threshold_usd!=null&&(0,J.jsx)(i,{variant:`outlined`,onClick:_,disabled:n.isPending,"data-testid":`low-balance-alert-reset-button`,children:`Reset to default`}),(0,J.jsx)(i,{variant:`primary`,onClick:g,disabled:n.isPending,"data-testid":`low-balance-alert-save-button`,children:`Save`})]})]}),v&&(0,J.jsx)(V,{tone:`error`,className:`mt-4`,"data-testid":`low-balance-alert-update-error`,children:`Failed to save low-balance alert. Please try again.`})]})}function ua(e){return e.replace(/\.00$/,``)}function da({icon:e,value:t,label:n}){return(0,J.jsxs)(`div`,{className:`flex h-8 min-w-0 flex-1 items-center gap-1.5 rounded-lg bg-[var(--surface-base)] px-2 py-1.5`,children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,className:`flex h-3.5 w-3.5 shrink-0 items-center justify-center text-[var(--content-default)]`,children:e}),(0,J.jsx)(p,{variant:`body-medium-default`,as:`span`,className:`text-[var(--content-default)]`,children:t}),(0,J.jsx)(p,{variant:`body-small-default`,as:`span`,className:`text-[var(--content-tertiary)]`,children:n})]})}function fa(){let{data:e,isLoading:t,isError:n}=u(Ot()),[r,a]=(0,K.useState)(!1),o=(0,K.useCallback)(e=>{navigator.clipboard.writeText(e).then(()=>{a(!0),W.success(`Copied to clipboard!`),setTimeout(()=>a(!1),2e3)})},[]),s=e?.is_eligible_for_credits===!1;return(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,J.jsx)(p,{as:`p`,variant:`body-medium-default`,className:`text-[var(--content-tertiary)]`,children:s?`Invite friends to Vellum. You'll start earning referral credits once you've purchased credits or upgraded to Pro.`:e?`Share Vellum with friends - you'll each earn ${ua(e.referrer_credit_amount)} credits when they sign up, up to ${ua(e.earning_cap)} total.`:`Share Vellum with friends and earn credits for every signup.`}),s&&(0,J.jsx)(p,{as:`p`,variant:`body-medium-default`,className:`text-[var(--content-tertiary)]`,children:`You're not currently earning referral credits. Buy credits or upgrade to Pro to start earning — your invite link still works in the meantime.`}),t?(0,J.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,J.jsx)(B,{className:`h-4 w-4 animate-spin`}),`Loading...`]}):n||!e?(0,J.jsx)(V,{tone:`error`,children:`Failed to load referral information.`}):(0,J.jsxs)(`div`,{className:`flex flex-wrap items-start gap-2`,children:[(0,J.jsx)(da,{icon:(0,J.jsx)(S,{className:`h-3.5 w-3.5`}),value:ua(e.total_earned),label:`Credits Earned`}),(0,J.jsx)(da,{icon:(0,J.jsx)(Se,{className:`h-3.5 w-3.5`}),value:e.referred_count,label:`Friends Referred`}),(0,J.jsx)(i,{variant:`outlined`,className:`shrink-0`,onClick:()=>o(e.referral_url),leftIcon:r?(0,J.jsx)(v,{className:`h-3.5 w-3.5`}):(0,J.jsx)(me,{className:`h-3.5 w-3.5`}),"data-testid":`referral-copy-button`,children:r?`Copied!`:`Share Link`})]})]})}function pa({open:e,onOpenChange:t}){return(0,J.jsx)(U.Root,{open:e,onOpenChange:t,children:(0,J.jsxs)(U.Content,{"data-testid":`referral-modal`,children:[(0,J.jsx)(U.Header,{children:(0,J.jsx)(U.Title,{children:`Earn Free Credits`})}),(0,J.jsx)(U.Body,{children:(0,J.jsx)(fa,{})})]})})}var ma=2e3;function ha(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 ga(){let e=l(),{data:t,isLoading:n,isError:r}=u(_t()),a=t??null,[o,s]=(0,K.useState)(!1),[c,d]=(0,K.useState)(!1),[f,h]=(0,K.useState)(!1),g=(0,K.useRef)(0),_=(0,K.useRef)(null),v=at({onSuccess:()=>{e.invalidateQueries({queryKey:Ct()})},onError:()=>{g.current<3&&(_.current=setTimeout(()=>{v.reset()},ma))}});(0,K.useEffect)(()=>()=>{_.current&&clearTimeout(_.current)},[]);let y=v.mutate;(0,K.useEffect)(()=>{a&&a.settled_balance===`0.00`&&a.pending_compute===`0.00`&&a.effective_balance===`0.00`&&g.current<3&&!v.isPending&&!v.isError&&!v.isSuccess&&(g.current+=1,y({}))},[a,v.isPending,v.isError,v.isSuccess,y]);let b=(0,J.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(p,{as:`h2`,variant:`title-medium`,className:`text-[var(--content-emphasised)]`,children:`Credit Balance`}),(0,J.jsx)(p,{as:`p`,variant:`body-medium-default`,className:`mt-2 text-[var(--content-tertiary)]`,children:`Quick overview of your balances and other things`})]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(i,{variant:`outlined`,leftIcon:(0,J.jsx)(S,{className:`h-4 w-4`,"aria-hidden":!0}),onClick:()=>d(!0),"data-testid":`earn-credits-button`,children:`Earn Free Credits`}),(0,J.jsx)(i,{variant:`primary`,onClick:()=>s(!0),disabled:n||!a,"data-testid":`add-credits-button`,children:`Add Credits`})]})]});return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(m,{padding:`md`,children:[b,n?(0,J.jsxs)(`div`,{className:`mt-4 flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,J.jsx)(B,{className:`h-4 w-4 animate-spin`}),`Loading billing summary...`]}):r?(0,J.jsx)(`div`,{className:`mt-4`,children:(0,J.jsx)(V,{tone:`error`,children:`Failed to load billing summary. Please try again later.`})}):a?(0,J.jsxs)(J.Fragment,{children:[(()=>{if(!a)return null;let e=parseFloat(a.effective_balance)<0;return(0,J.jsx)(`div`,{className:`mt-4`,children:(0,J.jsx)(Te,{icon:(0,J.jsx)(S,{className:`h-4 w-4`,"aria-hidden":!0}),value:(0,J.jsx)(`span`,{"data-testid":`effective-balance`,children:ha(a.effective_balance)}),label:`Balance`,tone:e?`negative`:`default`})})})(),a.is_degraded&&(0,J.jsx)(`div`,{className:`mt-4`,children:(0,J.jsx)(V,{tone:`warning`,children:`Pending charges could not be calculated. The balance shown may be incomplete.`})})]}):(0,J.jsx)(`p`,{className:`mt-4 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No billing information available.`}),(0,J.jsx)(`div`,{className:`mt-6`,children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,J.jsx)(De,{checked:f,onChange:h,label:`Custom low balance alert`}),f&&(0,J.jsx)(la,{})]})}),(0,J.jsx)(`div`,{className:`mt-6 border-t border-[var(--border-base)] pt-6`,children:(0,J.jsx)(ra,{})}),(0,J.jsx)(`div`,{className:`mt-6 border-t border-[var(--border-base)] pt-6`,children:(0,J.jsx)(oa,{})})]}),(0,J.jsx)(Ft,{open:o,onOpenChange:s}),(0,J.jsx)(pa,{open:c,onOpenChange:d})]})}var _a=1e3,va=15e3,ya=3e3,ba=45e3,xa=`billing-portal-return`;function Sa(e,t){if(!e)return{kind:`info`,message:`Subscription updated.`};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:`Pro plan canceled. You'll have access until ${t.cancel_at?de(t.cancel_at):`the end of your billing period`}.`}:n&&!r?{kind:`success`,message:`Pro plan reactivated.`}:{kind:`info`,message:`Subscription updated.`}}function Ca(){let[e]=o(),t=c(),n=l(),r=(0,K.useRef)(null);return(0,K.useEffect)(()=>()=>{r.current!==null&&(clearInterval(r.current),r.current=null)},[]),(0,K.useEffect)(()=>{if(e.get(`portal_return`)!==`true`)return;let i={current:!1},a=E(),o=xt(),s=Dt(),c=Date.now();async function l(){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 u(){let e=await l();for(;!i.current&&a&&e.cancel_at_period_end===a.cancel_at_period_end&&e.cancel_at===a.cancel_at&&Date.now()-c<va&&(await new Promise(e=>setTimeout(e,_a)),!i.current);)e=await l();return e}return(async()=>{try{let e=await u();if(i.current)return;let{kind:t,message:n}=Sa(a,e);t===`success`?W.success(n,{id:xa}):W.info(n,{id:xa})}catch{if(i.current)return;W.info(`Subscription updated.`,{id:xa})}finally{if(!i.current){w(),t(He.settings.usageBilling,{replace:!0});let e=Date.now();r.current!==null&&clearInterval(r.current),r.current=setInterval(()=>{if(Date.now()-e>=ba){r.current!==null&&(clearInterval(r.current),r.current=null);return}l().catch(e=>{console.error(`billing poll error:`,e)})},ya)}}})(),()=>{i.current=!0}},[e,t,n]),null}var wa=[7,30,90].map(e=>({value:`${e}`,label:`Last ${e} days`}));function Ta(e,t=Ze()){let{fromDate:n,toDate:r}=zt(e,t);return{from:n,to:r}}function Ea(e,t){let n=new Date(e),r=new Date(t);return Math.round((r.getTime()-n.getTime())/864e5)+1}function Da({from:e,to:t}){let n=Ea(e,t);return n===7?7:n===90?90:30}function Oa({value:e,onChange:t}){let n=At(),r=(0,K.useMemo)(()=>`${Da(e)}`,[e]);return(0,J.jsx)(ke,{options:wa,value:r,onChange:e=>{let r=Number(e);t(Ta(r,n),r)},"aria-label":`Date range`})}var ka={strokeDasharray:`3 3`,stroke:`var(--border-subtle)`,strokeOpacity:.4},Aa={fontSize:12,fill:`var(--content-tertiary)`},ja={stroke:`var(--border-subtle)`,strokeOpacity:.4},Ma=[`#3b82f6`,`#10b981`,`#f59e0b`,`#ef4444`,`#8b5cf6`,`#06b6d4`,`#ec4899`,`#84cc16`];function Na({item:e}){return(0,J.jsxs)(`div`,{className:`flex items-center gap-2 py-0.5 text-[13px] text-[var(--content-default)]`,children:[(0,J.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),(0,J.jsx)(`span`,{children:e.label}),(0,J.jsx)(`span`,{className:`ml-auto tabular-nums`,children:e.value})]})}function Pa({active:e,payload:t,hoveredKey:n,label:r,labelMap:i,colorMap:a,formatValue:o,showTotal:s,formatLabel:c}){if(!e||!t?.length)return null;let l=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),u=n?l.find(e=>e.key===n):null,d=u?l.filter(e=>e.key!==n):l,f=l.reduce((e,t)=>e+t.numericValue,0);return(0,J.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,J.jsx)(`div`,{className:`mb-1.5 text-xs font-medium text-[var(--content-secondary)]`,children:(c??Rt)(String(r))}),u&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Na,{item:u}),d.length>0&&(0,J.jsx)(`div`,{className:`my-1.5 border-t border-[var(--border-subtle)]`})]}),d.map(e=>(0,J.jsx)(Na,{item:e},e.key)),s&&(0,J.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,J.jsxs)(`span`,{children:[`Total: `,o(f)]})})]})}function Fa(e,t){let[n,r]=e,[i,a]=t,o=r-n||1;return e=>i+(e-n)/o*(a-i)}function Ia(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 La(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 Ra(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:Ia(n/r)*r}function za(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 Ba(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 Va(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 Ha=40,Ua={fontSize:11,fill:`var(--content-tertiary)`},Wa={runtime_proxy_api:`#3b82f6`,oauth_proxy:`#f59e0b`};function Ga(e,t){return Wa[e]??Ma[t%Ma.length]??`#6b7280`}function Ka(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 qa({stackKeys:e,labelMap:t}){return(0,J.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,J.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,J.jsx)(`span`,{className:`inline-block h-2.5 w-2.5 rounded-sm`,style:{backgroundColor:Ga(e,n)}}),(0,J.jsx)(`span`,{className:`text-[var(--content-quiet)]`,children:t[e]??e})]},e))})}var Ja=350,Ya={top:8,right:4,bottom:32,left:0},Xa=.2,Za=5,Qa=12,$a=200;function eo({buckets:e,metric:t,onBarClick:n}){let r=Xe(),i=(0,K.useRef)(null),[a,o]=(0,K.useState)(0);(0,K.useEffect)(()=>{let e=i.current;if(!e)return;let t=new ResizeObserver(([e])=>{e&&o(e.contentRect.width)});return t.observe(e),()=>t.disconnect()},[]);let{data:s,stackKeys:c,labelMap:l}=(0,K.useMemo)(()=>Ka(e,t),[e,t]),u=(0,K.useMemo)(()=>{let e={};for(let t=0;t<c.length;t++)e[c[t]]=Ga(c[t],t);return e},[c]),d=(0,K.useCallback)(e=>t===`spend`?`$${e.toLocaleString(`en-US`,{minimumFractionDigits:2,maximumFractionDigits:2})}`:e.toLocaleString(`en-US`),[t]),[f,p]=(0,K.useState)(null),m=r?Ha:56,h=r?Ua:Aa,g=Ya.left+m,_=Math.max(0,a-g-Ya.right),v=Ya.top,y=Ja-Ya.top-Ya.bottom,b=(0,K.useMemo)(()=>s.map(e=>c.reduce((t,n)=>t+(Number(e[n])||0),0)),[s,c]),x=t===`events`,S=(0,K.useMemo)(()=>Ra(b,{integerOnly:x,tickCount:Za}),[b,x]),C=(0,K.useMemo)(()=>za(S,Za),[S]),w=(0,K.useCallback)(e=>{if(t===`spend`){if(e===0)return`$0`;let t=S/Za,n=Math.max(t<1?2:0,La(t));return`$${e.toLocaleString(`en-US`,{minimumFractionDigits:n,maximumFractionDigits:n})}`}return e.toLocaleString(`en-US`)},[t,S]),T=(0,K.useMemo)(()=>Fa([0,S],[v+y,v]),[S,v,y]),E=s.length,D=E>0?_/E:0,O=D*(1-Xa),k=(D-O)/2,A=(0,K.useMemo)(()=>Va(E,r),[E,r]),j=c.length===0,M=j?[]:s.map((e,t)=>{let n=g+t*D+k,r=0;return{di:t,x:n,segments:c.map((t,i)=>{let a=Number(e[t])||0,o=r;r+=a;let s=T(r),l=T(o)-s,u=i===c.length-1;return{key:t,val:a,x:n,y:s,h:l,color:Ga(t,i),isLast:u}})}}),N=(e,t,n)=>{let r=i.current?.getBoundingClientRect();r&&p({x:e.clientX-r.left,y:e.clientY-r.top,datumIndex:t,hoveredKey:n})},P=()=>p(null),F=e=>{n&&n(e)},I=f?c.filter(e=>(Number(s[f.datumIndex]?.[e])||0)>0).map(e=>({dataKey:e,value:Number(s[f.datumIndex]?.[e])||0})):[],ee={left:f?Math.max(0,Math.min(f.x+Qa,a-$a)):0,top:f?f.y-Qa:0,visibility:f?`visible`:`hidden`};return(0,J.jsxs)(`div`,{onMouseDown:e=>e.preventDefault(),children:[(0,J.jsx)(`div`,{ref:i,className:`relative w-full`,style:{height:Ja},children:j?(0,J.jsx)(`div`,{className:`flex h-full items-center justify-center text-body-medium-lighter text-[var(--content-faint)]`,children:`No usage data for this period`}):a>0?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`svg`,{width:a,height:Ja,className:`block`,children:[C.map(e=>(0,J.jsx)(`line`,{x1:g,x2:g+_,y1:T(e),y2:T(e),stroke:ka.stroke,strokeOpacity:ka.strokeOpacity,strokeDasharray:ka.strokeDasharray},e)),(0,J.jsx)(`line`,{x1:g,x2:g+_,y1:v+y,y2:v+y,stroke:ja.stroke,strokeOpacity:ja.strokeOpacity}),C.map(e=>(0,J.jsx)(`text`,{x:g-8,y:T(e),textAnchor:`end`,dominantBaseline:`middle`,fontSize:h.fontSize,fill:h.fill,children:w(e)},e)),A.map(e=>{let t=s[e];return t?(0,J.jsx)(`text`,{x:g+e*D+D/2,y:v+y+20,textAnchor:`middle`,fontSize:h.fontSize,fill:h.fill,children:Rt(String(t.date))},e):null}),M.map(({di:e,segments:t})=>t.map(t=>{if(t.h<=0)return null;let r=f?.hoveredKey&&f.hoveredKey!==t.key?.4:1,i={key:`${e}-${t.key}`,fill:t.color,opacity:r,cursor:n?`pointer`:void 0,onMouseMove:n=>N(n,e,t.key),onMouseLeave:P,onClick:()=>F(t.key)};return t.isLast?(0,J.jsx)(`path`,{...i,d:Ba(t.x,t.y,O,t.h,3)}):(0,J.jsx)(`rect`,{...i,x:t.x,y:t.y,width:O,height:t.h})}))]}),(0,J.jsx)(`div`,{className:`pointer-events-none absolute z-[1] max-w-[calc(100vw-32px)] -translate-y-full`,style:ee,children:(0,J.jsx)(Pa,{active:!!f,payload:I,hoveredKey:f?.hoveredKey??void 0,label:f?String(s[f.datumIndex]?.date):``,labelMap:l,colorMap:u,formatValue:d})})]}):null}),!j&&(0,J.jsx)(qa,{stackKeys:c,labelMap:l})]})}function to(e=Ze()){return Ta(30,e)}function no(e){if(e)return e.usageSource===`oauth_proxy`?`oauth_provider`:$t(e.llmDimension??`model`)}function ro(e,t=Ze()){return{from:e.dateRange.from,to:e.dateRange.to,tz:t,...e.drilldown?{usage_source:e.drilldown.usageSource,group_by:no(e.drilldown)}:{}}}function io(e,t=Ze()){return{from:e.dateRange.from,to:e.dateRange.to,tz:t,...e.drilldown?{usage_source:e.drilldown.usageSource}:{}}}function ao(e,t,n){return e===`full`&&t!==`gated`&&n}function oo(e){let t=At(),n=ao(G({platformHostedOnly:!0}),G(),We()),r=u({...yt({query:ro(e,t)}),enabled:n}),i=u({...vt({query:io(e,t)}),enabled:n});return{series:r.data,totals:i.data,isLoading:r.isLoading||i.isLoading,isError:r.isError||i.isError}}var so=[{value:`spend`,label:`Spend ($)`},{value:`events`,label:`Events`}];function co(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 lo(e){return e===void 0?`—`:e.toLocaleString(`en-US`)}function uo(){let e=At(),[t,n]=(0,K.useState)(30),[r,i]=(0,K.useState)(()=>to(e)),a=(0,K.useMemo)(()=>t===null?r:Ta(t,e),[t,r,e]),o=(e,t)=>{n(t),i(e)},[s,c]=(0,K.useState)(null),[l,u]=(0,K.useState)(`spend`),{series:d,totals:f,isLoading:h,isError:_}=oo({dateRange:a,setDateRange:e=>{n(null),i(e)},drilldown:s,setDrilldown:c}),v=s?void 0:e=>{let t={runtime_proxy_api:`runtime_proxy`,oauth_proxy:`oauth_proxy`}[e];t&&c({usageSource:t,...t===`runtime_proxy`?{llmDimension:Jt}:{}})};return(0,J.jsx)(m,{padding:`md`,children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(p,{as:`h2`,variant:`title-medium`,className:`text-[var(--content-default)]`,children:`Credit Usage`}),(0,J.jsx)(p,{as:`p`,variant:`body-small-default`,className:`mt-2 text-[var(--content-tertiary)]`,children:`Overview of your spending habits.`})]}),(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2 [&_[role=combobox]]:h-8 [&_[role=radio]]:h-7`,children:[(0,J.jsx)(Oa,{value:a,onChange:o}),(0,J.jsx)(`div`,{className:`w-44`,children:(0,J.jsx)(we,{items:so,value:l,onChange:u,ariaLabel:`Chart metric`})})]})]}),(0,J.jsxs)(`div`,{className:`grid grid-cols-1 gap-2 sm:grid-cols-2`,children:[(0,J.jsx)(Te,{icon:(0,J.jsx)(S,{className:`h-4 w-4`,"aria-hidden":!0}),value:h?(0,J.jsx)(B,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):co(f?.total_usd),label:`Spend`}),(0,J.jsx)(Te,{icon:(0,J.jsx)(Ht,{className:`h-4 w-4`,"aria-hidden":!0}),value:h?(0,J.jsx)(B,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):lo(f?.event_count),label:`Events`})]}),s&&(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,J.jsx)(`div`,{children:(0,J.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:()=>c(null),children:[(0,J.jsx)(g,{className:`h-3.5 w-3.5`}),(0,J.jsx)(`span`,{children:`Back to all usage`}),(0,J.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:`/`}),(0,J.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:s.usageSource===`runtime_proxy`?`LLM Spend`:`OAuth Spend`})]})}),s.usageSource===`runtime_proxy`&&(0,J.jsx)(`div`,{className:`w-56`,children:(0,J.jsx)(we,{items:Xt,value:s.llmDimension??`model`,onChange:e=>c({usageSource:`runtime_proxy`,llmDimension:e}),ariaLabel:`LLM spend dimension`})})]}),h?(0,J.jsx)(`div`,{className:`flex h-[345px] items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,J.jsx)(B,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})}):_?(0,J.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:`Failed to load usage data.`}):d?(0,J.jsx)(`div`,{className:`rounded-xl bg-[var(--surface-base)] p-3`,children:(0,J.jsx)(eo,{buckets:d.buckets,metric:l,onBarClick:v})}):null]})})}function fo(){let{data:e}=u(xt()),t=T((0,K.useMemo)(()=>A(e),[e]));if(!e||e.plan_id!==`pro`||e.status===`canceled`||!e.cancel_at_period_end&&!e.cancel_at)return null;let n=j(e);return n?(0,J.jsx)(V,{tone:`info`,title:`Your Pro plan will end on ${de(n)}.`,actions:(0,J.jsx)(i,{variant:`outlined`,size:`compact`,onClick:()=>t.mutate({}),disabled:t.isPending,leftIcon:t.isPending?(0,J.jsx)(B,{className:`animate-spin`}):void 0,"data-testid":`grace-period-reactivate-button`,children:`Reactivate`}),"data-testid":`grace-period-banner`,children:`You'll keep Pro features until then.`}):null}var po={invoices:[]},mo=4;function ho(e){switch(e){case`paid`:return`positive`;case`open`:return`warning`;case`uncollectible`:return`negative`;default:return`neutral`}}function go(e,t){let n=t.toUpperCase();try{let t=new Intl.NumberFormat(void 0,{style:`currency`,currency:n}),r=t.resolvedOptions().maximumFractionDigits??2;return t.format(e/10**r)}catch{return`${(e/100).toFixed(2)} ${n}`}}function _o(e){return Nt(new Date(e*1e3),{alwaysShowYear:!0})}function vo(e){let t=document.createElement(`a`);t.href=e,t.target=`_blank`,t.rel=`noopener noreferrer`,document.body.appendChild(t),t.click(),t.remove()}function yo(){let[e,t]=(0,K.useState)(!1),[r,o]=(0,K.useState)(!1),[s,c]=(0,K.useState)(!1),l=u({enabled:e,queryKey:nt(),queryFn:async({signal:e})=>{let{data:t,response:n}=await Ve({throwOnError:!1,signal:e});if(n?.status===404)return po;if(!n?.ok||!t)throw Error(`Failed to load invoices (${n?.status??`network error`})`);return t}}),d=l.data?.invoices??[],f=r?d:d.slice(0,mo),h=d.length>mo;async function g(){c(!0);try{let{data:e,response:t}=await Be({throwOnError:!1,parseAs:`blob`});if(!t?.ok||!(e instanceof Blob))throw Error(`Failed to download invoices (${t?.status??`network error`})`);let{saveFile:n}=await a(async()=>{let{saveFile:e}=await import(`./native-file-fkzAxQg0.js`).then(e=>e.t);return{saveFile:e}},__vite__mapDeps([0,1,2,3,4]));await n(e,`invoices.zip`)}catch(e){n(e,{context:`download_all_invoices`}),W.error(`Failed to download invoices.`)}finally{c(!1)}}return(0,J.jsx)(m,{padding:`md`,children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,J.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(p,{as:`h2`,variant:`title-medium`,className:`text-[var(--content-default)]`,children:`Invoices`}),(0,J.jsx)(p,{as:`p`,variant:`body-small-default`,className:`mt-2 text-[var(--content-tertiary)]`,children:`Your billing history.`})]}),(0,J.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[e&&d.length>0&&(0,J.jsx)(i,{variant:`outlined`,leftIcon:s?(0,J.jsx)(B,{className:`animate-spin`}):(0,J.jsx)(_e,{className:`h-4 w-4`}),onClick:g,disabled:s,"data-testid":`invoices-download-all`,children:`Download all`}),(0,J.jsx)(i,{variant:`outlined`,leftIcon:e?(0,J.jsx)(b,{className:`h-4 w-4`}):(0,J.jsx)(y,{className:`h-4 w-4`}),onClick:()=>t(e=>!e),"data-testid":`invoices-toggle`,children:e?`Hide invoices`:`Show invoices`})]})]}),e?l.isLoading?(0,J.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-[var(--content-tertiary)]`,children:[(0,J.jsx)(B,{className:`h-4 w-4 animate-spin`}),(0,J.jsx)(p,{as:`span`,variant:`body-small-default`,children:`Loading invoices...`})]}):l.isError?(0,J.jsx)(V,{tone:`error`,children:`Failed to load invoices.`}):d.length===0?(0,J.jsx)(p,{as:`p`,variant:`body-small-default`,className:`py-6 text-center text-[var(--content-tertiary)]`,"data-testid":`invoices-empty`,children:`No Invoices Found`}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`overflow-x-auto`,children:(0,J.jsxs)(`table`,{className:`w-full`,"data-testid":`invoices-table`,children:[(0,J.jsx)(`thead`,{children:(0,J.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] text-left`,children:[(0,J.jsx)(`th`,{className:`pb-2 pr-4 text-body-small-default text-[var(--content-tertiary)]`,children:`Date`}),(0,J.jsx)(`th`,{className:`pb-2 pr-4 text-body-small-default text-[var(--content-tertiary)]`,children:`Amount`}),(0,J.jsx)(`th`,{className:`pb-2 pr-4 text-body-small-default text-[var(--content-tertiary)]`,children:`Status`}),(0,J.jsx)(`th`,{className:`pb-2 text-body-small-default text-[var(--content-tertiary)]`,children:`Action`})]})}),(0,J.jsx)(`tbody`,{children:f.map(e=>(0,J.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] last:border-0`,"data-testid":`invoice-row`,children:[(0,J.jsx)(`td`,{className:`py-3 pr-4`,children:(0,J.jsx)(p,{as:`span`,variant:`body-small-default`,className:`text-[var(--content-secondary)]`,children:_o(e.created)})}),(0,J.jsx)(`td`,{className:`py-3 pr-4`,children:(0,J.jsx)(p,{as:`span`,variant:`body-small-default`,className:`text-[var(--content-secondary)]`,children:go(e.amount_due,e.currency)})}),(0,J.jsx)(`td`,{className:`py-3 pr-4`,children:e.status&&(0,J.jsx)(Ee,{tone:ho(e.status),children:e.status})}),(0,J.jsx)(`td`,{className:`py-3`,children:(0,J.jsxs)(`div`,{className:`flex items-center gap-1`,children:[e.hosted_invoice_url&&(0,J.jsx)(i,{asChild:!0,variant:`ghost`,size:`compact`,leftIcon:(0,J.jsx)(ve,{className:`h-3.5 w-3.5`}),children:(0,J.jsx)(`a`,{href:e.hosted_invoice_url,target:`_blank`,rel:`noopener noreferrer`,children:`View`})}),e.invoice_pdf&&(0,J.jsx)(i,{variant:`ghost`,size:`compact`,iconOnly:(0,J.jsx)(_e,{className:`h-3.5 w-3.5`}),"aria-label":`Download invoice PDF`,onClick:()=>vo(e.invoice_pdf)})]})})]},e.id))})]})}),h&&(0,J.jsx)(`button`,{type:`button`,onClick:()=>o(e=>!e),className:`self-start text-body-small-default text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)]`,"data-testid":`invoices-show-more`,children:r?`Show less`:`Show more (${d.length-mo} more)`})]}):null]})})}function bo({icon:e,label:t,multiline:n=!1}){return(0,J.jsxs)(`div`,{className:jt(`flex items-center gap-1.5 rounded-lg bg-[var(--surface-overlay)] px-2 py-1.5`,n?`min-h-8 min-w-0`:`h-8`),children:[(0,J.jsx)(e,{className:`h-3.5 w-3.5 shrink-0 text-[var(--content-default)]`,"aria-hidden":!0}),(0,J.jsx)(p,{as:`span`,variant:`body-medium-default`,className:jt(`text-[var(--content-default)]`,n?`whitespace-normal`:`whitespace-nowrap`),children:t})]})}function xo({tone:e,tierKey:t,name:n,nameTestId:r,tag:i,tagline:a,specs:o,action:s,centered:c=!1,className:l}){let u=o!=null&&o.length>0;return(0,J.jsxs)(`div`,{"data-theme":e,className:jt(`flex min-w-0 flex-1 flex-col gap-4 rounded-xl bg-[var(--surface-base)] py-3 pl-3 pr-4`,c&&`items-center justify-center`,l),children:[(0,J.jsxs)(`div`,{className:jt(`flex items-center gap-3`,c?`justify-center`:`justify-between`),children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,J.jsx)(M,{tier:t}),(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1.5`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,J.jsx)(p,{as:`span`,variant:`body-large-default`,className:`text-[var(--content-default)]`,"data-testid":r,children:n}),i]}),a?(0,J.jsx)(p,{as:`span`,variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:a}):null]})]}),s]}),u?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`mt-auto h-px w-full bg-[var(--border-base)]`}),(0,J.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:o.map(e=>(0,J.jsx)(bo,{icon:e.icon,label:e.label,multiline:e.multiline},e.label))})]}):null]})}var So={pro:{actionLabel:`Manage`,actionVariant:`outlined`,actionTestId:`plan-card-manage-button`,showsRenewal:!0},base:{actionLabel:`View All Plans`,actionVariant:`primary`,actionTestId:`plan-card-upgrade-button`,showsRenewal:!0}},Co=So.base;function wo(){return(0,J.jsx)(p,{as:`h2`,variant:`title-medium`,className:`text-[var(--content-emphasised)]`,children:`Plan`})}function To({packages:e,currentKey:t,isProUser:n,canChangePackage:r,relation:a,onManage:o,onTierUpgraded:s}){let c=l(),u=d(ht()),{changePackage:f,isPending:p}=ie(),[m,h]=(0,K.useState)(!1),[g,v]=(0,K.useState)(!1);ce();let y=C(e,t);if(!y)return null;let b=[{icon:_,label:R(t?e.find(e=>e.key===t)??null:null)===R(y)?`more credits and storage`:`more credits, storage, and a stronger machine`,multiline:!0}],x=a===`switch`,S=x?`Switch to ${y.name}`:`Upgrade`,w=m||u.isPending||p,T=async()=>{let e=await f(y.key);e&&(v(!1),e.status===`ok`?s?.():W.success(`You're already on this plan.`))},E=async()=>{if(n&&!r){o();return}if(n){v(!0);return}h(!0);try{let e=await u.mutateAsync({body:{target_plan_id:`pro`,package:y.key,confirm:!0,return_target:fe()}});e.status===`redirect`&&e.checkout_url?(O({kind:`package`,packageKey:y.key}),Ke(e.checkout_url)):(await c.invalidateQueries({queryKey:Dt()}),await c.invalidateQueries({queryKey:gt()}))}catch(e){W.error(F(e,`Failed to start the upgrade checkout. Please try again.`))}finally{h(!1)}},D=P(y.key),k=(0,J.jsx)(i,{variant:`primary`,className:`shrink-0`,onClick:E,disabled:w,leftIcon:w?(0,J.jsx)(B,{className:`h-4 w-4 animate-spin`}):void 0,"data-testid":`recommended-upgrade-button`,children:S});return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(xo,{tone:`dark`,tierKey:y.key,name:y.name,className:`lg:flex-[2]`,tag:(0,J.jsx)(Ee,{className:`bg-[var(--feed-digest-weak)] text-[var(--credits-accent)]`,leftIcon:(0,J.jsx)(be,{className:`h-3 w-3 text-[var(--credits-accent)]`}),children:x?`Switch plan`:`Recommended`}),tagline:D?.tagline,specs:x?null:b,action:k}),(0,J.jsx)(oe,{open:g,relation:a,packageName:y.name,pending:w,onConfirm:()=>void T(),onCancel:()=>v(!1)})]})}function Eo({onManage:e,onTierUpgraded:t}){let n=c(),r=u(xt()),a=u(Qe());if(r.isLoading||a.isLoading)return(0,J.jsxs)(m,{padding:`md`,children:[(0,J.jsx)(wo,{}),(0,J.jsxs)(`div`,{className:`mt-4 flex items-center gap-2 text-[var(--content-tertiary)]`,children:[(0,J.jsx)(B,{className:`h-4 w-4 animate-spin`}),(0,J.jsx)(p,{as:`span`,variant:`body-small-default`,children:`Loading plan...`})]})]});let o=r.data,s=a.data?.plans,l=s?.find(e=>e.id===o?.plan_id);if(r.isError||a.isError||!o||!s||!l)return(0,J.jsx)(V,{tone:`error`,children:`Failed to load plan.`});let d=So[l.id]??Co,f=l.id===`pro`?re(o.package):l.name??l.id,h=d.showsRenewal&&(o.cancel_at_period_end===!0||!!o.cancel_at),g=o.status===`canceled`,_=j(o),v=d.showsRenewal&&!h&&!g&&o.current_period_end,y=d.showsRenewal&&h&&!g&&_,b=s.find(e=>e.id===`pro`)?.packages??[],x=o.package?.key??null,S=x??`free`,C=b.length>0&&(l.id===`base`||L(o.package)||I(o)),w=I(o),T=l.id===`base`||L(o.package)?`upgrade`:`switch`,E=P(S),D=l.id===`base`,O=!D&&L(o.package)?b.find(e=>e.key===x)??null:null,k=O?ne(O):null,A=D||L(o.package);return(0,J.jsx)(m,{padding:`md`,children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,J.jsx)(wo,{}),v&&(0,J.jsxs)(p,{variant:`body-small-default`,as:`div`,className:`leading-snug text-[var(--content-tertiary)]`,"data-testid":`plan-card-renews`,children:[`Monthly Payment • Your subscription will auto renew on`,` `,de(o.current_period_end),`.`]}),y&&(0,J.jsxs)(p,{variant:`body-small-default`,as:`div`,className:`leading-snug text-[var(--system-mid-strong)]`,"data-testid":`plan-card-cancels`,children:[`Your plan ends on `,de(_),`.`]})]}),(0,J.jsx)(i,{variant:d.actionVariant,onClick:C?()=>n(He.plans):e,"data-testid":d.actionTestId,className:`shrink-0`,children:d.actionLabel})]}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-3 lg:flex-row lg:items-stretch`,children:[(0,J.jsx)(xo,{tone:`light`,tierKey:S,name:f,nameTestId:`plan-card-name`,className:`lg:flex-[3]`,centered:D,tag:(0,J.jsx)(Ee,{className:`bg-[var(--feed-digest-weak)] text-[var(--content-default)]`,children:`Your Current Plan`}),tagline:A?E?.tagline:void 0,specs:k}),(0,J.jsx)(To,{packages:b,currentKey:x,isProUser:l.id!==`base`,canChangePackage:w,relation:T,onManage:e,onTierUpgraded:t})]})]})})}function Do(){let[e]=o(),t=c(),n=l();return(0,K.useEffect)(()=>{let r=e.get(`billing_status`);r&&(r===`success`?(W.success(`Payment received! Your credit balance will update shortly.`,{id:`billing-status`}),n.invalidateQueries({queryKey:_t().queryKey})):r===`cancel`&&W.info(`Checkout was cancelled. No credits were added.`,{id:`billing-status`}),t(He.settings.usageBilling,{replace:!0}))},[e,t,n]),null}function Oo({onFinishSetup:e}){let t=Ge(),{data:n}=u({...xt(),enabled:t}),r=n?.plan_id===`pro`,{data:a}=u({...Tt(),enabled:r&&t}),o=r&&a?.domain_setup_available===!0,{domains:s}=D(o,a?.primary_assistant_id),c=s!==void 0&&s.results.length===0;return!o||!c?null:(0,J.jsx)(V,{tone:`info`,title:`Finish setting up your ${re(n?.package)} plan`,actions:(0,J.jsx)(i,{variant:`outlined`,size:`compact`,onClick:e,"data-testid":`finish-pro-setup-button`,children:`Finish setup`}),"data-testid":`finish-pro-setup-notice`,children:`Your assistant's email address hasn't been set up yet.`})}function ko(){let e=G({platformHostedOnly:!0}),t=G(),n=We(),r=Ue(),[i,a]=o(),[s,c]=(0,K.useState)(!1),l=(0,K.useCallback)(()=>c(!0),[]),u=(0,K.useCallback)(()=>c(!1),[]),[d,f]=(0,K.useState)(!1),p=(0,K.useCallback)(()=>f(!0),[]),[m,h]=(0,K.useState)(!1);(0,K.useEffect)(()=>{if(t!==`full`)return;let e=i.has(`adjust_plan`),n=i.has(`pro_onboarding`);!e&&!n||(e&&c(!0),n&&h(!0),a(e=>{let t=new URLSearchParams(e);return t.delete(`adjust_plan`),t.delete(`pro_onboarding`),t},{replace:!0}))},[t,i,a]);let g=i.has(`session_id`),_=(0,K.useCallback)(()=>{h(!1),a(e=>{let t=new URLSearchParams(e);return t.delete(`session_id`),t},{replace:!0})},[a]),v=(0,K.useCallback)(()=>{a(e=>{let t=new URLSearchParams(e);return t.set(`pro_onboarding`,``),t},{replace:!0})},[a]);if(t===`disabled`)return(0,J.jsx)(`div`,{className:`space-y-4`,children:(0,J.jsx)(Mt,{children:`Log in to the Vellum platform to manage billing and usage.`})});if(r)return(0,J.jsx)(`div`,{className:`space-y-4`,children:(0,J.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,J.jsx)(B,{className:`h-4 w-4 animate-spin`}),`Loading billing…`]})});let y=n;return!n&&e!==`gated`?(0,J.jsx)(`div`,{className:`space-y-4`,children:(0,J.jsx)(V,{tone:`warning`,children:`Billing isn't available for the current assistant state.`})}):(0,J.jsxs)(`div`,{className:`space-y-4`,children:[(0,J.jsxs)(K.Suspense,{fallback:null,children:[(0,J.jsx)(Do,{}),(0,J.jsx)(Ca,{})]}),y&&(0,J.jsx)(fo,{}),y&&(0,J.jsx)(Oo,{onFinishSetup:v}),y&&(0,J.jsx)(Eo,{onManage:l,onTierUpgraded:p}),y&&(0,J.jsx)(Br,{open:s,onClose:u,onTierUpgraded:p}),(0,J.jsx)(K.Suspense,{fallback:null,children:(0,J.jsx)(ga,{})}),(0,J.jsx)(K.Suspense,{fallback:null,children:(0,J.jsx)(yo,{})}),y&&(0,J.jsx)(k,{open:g||m,onClose:_}),y&&(0,J.jsx)(k,{mode:`resize`,open:d,onClose:()=>f(!1)})]})}function Ao(){let e=Pt(),t=G({platformHostedOnly:!0}),n=G();return(0,J.jsxs)(`div`,{className:`space-y-4`,children:[t===`full`&&n!==`gated`&&(0,J.jsx)(uo,{}),(0,J.jsx)(_r,{assistantId:e})]})}function jo(){let e=G(),[t,n]=o(),r=Gt(e,t),i=r&&t.get(`tab`)!==`usage`?`billing`:`usage`,a=ze();return(0,K.useEffect)(()=>{if(a&&t.get(`tab`)!==i){let e=new URLSearchParams(t);e.set(`tab`,i),n(e,{replace:!0})}},[a,t,i,n]),(0,J.jsx)(`div`,{className:`space-y-6`,children:(0,J.jsxs)(z.Root,{value:i,onValueChange:e=>{let r=new URLSearchParams(t);r.set(`tab`,e),n(r,{replace:!0})},children:[(0,J.jsxs)(z.List,{children:[r&&(0,J.jsx)(z.Trigger,{value:`billing`,children:`Billing`}),(0,J.jsx)(z.Trigger,{value:`usage`,children:`Usage`})]}),r&&(0,J.jsx)(z.Panel,{value:`billing`,className:`pt-4`,children:(0,J.jsx)(ko,{})}),(0,J.jsx)(z.Panel,{value:`usage`,className:`pt-4`,children:(0,J.jsx)(Ao,{})})]})})}export{jo as BillingPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{m as e,n as t}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{u as r}from"./routes-bwxCYLJj.js";var i=n();function a(){let[n]=e(),a=n.toString();return(0,i.jsx)(t,{replace:!0,to:`${r.settings.usage}${a?`?${a}`:``}`})}export{a as BillingRedirectPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./button-Dy5001j6.js";import{u as t}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./card-DRIctGVs.js";import{n as i}from"./use-supports-bookmarks-CJC-T2ro.js";import{t as a}from"./loader-circle-BzJ2kz3F.js";import{t as o}from"./rotate-ccw-Da_2DvhY.js";import{t as s}from"./triangle-alert--e3n47gm.js";import{t as c}from"./x-DuBvjmAE.js";import{t as l}from"./conversation-navigation-DUNqTEXk.js";import{n as u,t as d}from"./use-bookmarks-DzswOt-6.js";var f=n();function p(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 m(){return(0,f.jsx)(r,{children:(0,f.jsxs)(`div`,{className:`flex min-h-[400px] flex-col items-center justify-center px-6 py-16 text-center`,children:[(0,f.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,f.jsx)(i,{className:`h-6 w-6 text-[var(--content-disabled)] dark:text-[var(--content-default)]`})}),(0,f.jsx)(`h2`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:`No bookmarks`}),(0,f.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Hover any message and click the bookmark icon to save it here.`})]})})}function h({bookmark:t,isFirst:n,onOpen:r,onRemove:i}){let a=t.conversationTitle&&t.conversationTitle.trim().length>0?t.conversationTitle:`Untitled conversation`,o=t.messageRole!==`user`,s=p(t.createdAt);return(0,f.jsxs)(`div`,{className:`flex items-start gap-3 py-3 ${n?``:`border-t border-[var(--border-base)]`}`,children:[(0,f.jsx)(`span`,{"aria-hidden":!0,className:`mt-1 h-8 w-1 shrink-0 rounded-full`,style:{backgroundColor:o?`var(--content-default)`:`var(--content-tertiary)`}}),(0,f.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,f.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3`,children:[(0,f.jsx)(`div`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:a}),s?(0,f.jsx)(`span`,{className:`shrink-0 text-body-small-default text-[var(--content-tertiary)]`,children:s}):null]}),t.messagePreview?(0,f.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-body-small-default text-[var(--content-tertiary)]`,children:t.messagePreview}):null]}),(0,f.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,f.jsx)(e,{variant:`outlined`,onClick:r,children:`Open`}),(0,f.jsx)(`button`,{type:`button`,onClick:i,title:`Remove bookmark`,"aria-label":`Remove bookmark`,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,f.jsx)(c,{className:`h-4 w-4`})})]})]})}function g(){let n=t(),{bookmarks:i,isLoading:c,isError:p,refetch:g}=u(),_=d();return c?(0,f.jsx)(`div`,{className:`w-full`,children:(0,f.jsx)(`div`,{className:`flex min-h-[400px] items-center justify-center`,children:(0,f.jsx)(a,{className:`h-6 w-6 animate-spin text-[var(--content-disabled)]`})})}):p?(0,f.jsx)(`div`,{className:`w-full`,children:(0,f.jsx)(r,{children:(0,f.jsxs)(`div`,{className:`flex min-h-[400px] flex-col items-center justify-center px-6 py-16 text-center`,children:[(0,f.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--system-error-lighter)]`,children:(0,f.jsx)(s,{className:`h-6 w-6 text-[var(--system-error-default)]`})}),(0,f.jsx)(`h2`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:`Failed to load bookmarks`}),(0,f.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Something went wrong. Please try again.`}),(0,f.jsxs)(e,{variant:`outlined`,onClick:g,className:`mt-4`,children:[(0,f.jsx)(o,{className:`h-4 w-4`}),`Retry`]})]})})}):i.length===0?(0,f.jsx)(`div`,{className:`w-full`,children:(0,f.jsx)(m,{})}):(0,f.jsx)(`div`,{className:`w-full`,children:(0,f.jsx)(r,{noPadding:!0,className:`px-4`,children:i.map((e,t)=>(0,f.jsx)(h,{bookmark:e,isFirst:t===0,onOpen:()=>l(n,e.conversationId,{messageId:e.messageId}),onRemove:()=>{_(e.messageId,e.conversationId,!0)}},e.id))})})}export{g as BookmarksPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-
|
|
1
|
+
import{t as e}from"./createLucideIcon-CAM1RhH8.js";var t=e(`brain`,[[`path`,{d:`M12 18V5`,key:`adv99a`}],[`path`,{d:`M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4`,key:`1e3is1`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5`,key:`1gqd8o`}],[`path`,{d:`M17.997 5.125a4 4 0 0 1 2.526 5.77`,key:`iwvgf7`}],[`path`,{d:`M18 18a4 4 0 0 0 2-7.464`,key:`efp6ie`}],[`path`,{d:`M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517`,key:`1gq6am`}],[`path`,{d:`M6 18a4 4 0 0 1-2-7.464`,key:`k1g0md`}],[`path`,{d:`M6.003 5.125a4 4 0 0 0-2.526 5.77`,key:`q97ue3`}]]);export{t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-DVuEArjY.js","assets/preload-helper-Cv2QeVDK.js","assets/dist-BJSu8g5P.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./capture-error-CqtAGHQu.js";import{t}from"./preload-helper-Cv2QeVDK.js";import{t as n}from"./is-electron-7N7iyz1y.js";import{u as r}from"./native-biometric-BBZbTKi0.js";import{t as i}from"./dist-BJSu8g5P.js";function a(t,n){if(!r())return()=>void 0;let i=null,a=!1;return n().then(e=>{if(a){e.remove();return}i=e}).catch(n=>{e(n,{context:t,level:`warning`})}),()=>{a=!0,i?.remove()}}var o=async(e,r)=>{if(n()){window.open(e,`_blank`);return}if(i.isNativePlatform())try{let{Browser:n}=await t(async()=>{let{Browser:e}=await import(`./esm-DVuEArjY.js`);return{Browser:e}},__vite__mapDeps([0,1,2]));await n.open({url:e,presentationStyle:`popover`})}catch{r(e)}else r(e)},s=e=>o(e,e=>{window.location.href=e}),c=async e=>{if(n())return window.open(e,`_blank`),!0;if(i.isNativePlatform())try{let{Browser:n}=await t(async()=>{let{Browser:e}=await import(`./esm-DVuEArjY.js`);return{Browser:e}},__vite__mapDeps([0,1,2]));return await n.open({url:e,presentationStyle:`popover`}),!0}catch{}return window.open(e,`_blank`)!==null},l=e=>o(e,e=>{window.open(e,`_blank`,`noopener,noreferrer`)}),u=e=>a(`capacitor_browser_finished`,async()=>{let{Browser:n}=await t(async()=>{let{Browser:e}=await import(`./esm-DVuEArjY.js`);return{Browser:e}},__vite__mapDeps([0,1,2]));return n.addListener(`browserFinished`,e)});export{a,c as i,s as n,u as r,l as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-
|
|
1
|
+
import{t as e}from"./createLucideIcon-CAM1RhH8.js";var t=e(`bug`,[[`path`,{d:`M12 20v-9`,key:`1qisl0`}],[`path`,{d:`M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z`,key:`uouzyp`}],[`path`,{d:`M14.12 3.88 16 2`,key:`qol33r`}],[`path`,{d:`M21 21a4 4 0 0 0-3.81-4`,key:`1b0z45`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`,key:`5cxbf6`}],[`path`,{d:`M22 13h-4`,key:`1jl80f`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`,key:`1fjd4g`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`,key:`1d7oge`}],[`path`,{d:`M6 13H2`,key:`82j7cp`}],[`path`,{d:`m8 2 1.88 1.88`,key:`fmnt4t`}],[`path`,{d:`M9 7.13V6a3 3 0 1 1 6 0v1.13`,key:`1vgav8`}]]);export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ct as e,f as t,h as n,m as r}from"./local-mode-
|
|
1
|
+
import{ct as e,f as t,h as n,m as r}from"./local-mode-CTrmCbAp.js";import{n as i}from"./resolved-assistants-store-PdwcxGwN.js";import{N as a,j as o,n as s}from"./auth-store-CK95leo_.js";import{_ as c}from"./native-biometric-BBZbTKi0.js";import{l}from"./remote-gateway-session-DAfJAELv.js";import{u}from"./routes-bwxCYLJj.js";import{a as d,i as f,n as p,r as m,s as h}from"./prefs-B2UAscQt.js";function g(e){return e.tosAccepted&&e.privacyConsent}function _(e){return g(e)&&e.analyticsConsentCurrent&&e.diagnosticsConsentCurrent}var v=`${u.assistant}/onboarding`,y=new Set([u.onboarding.hosting,u.onboarding.apiKey]),b=new Set([u.welcome,u.selectAssistant]);function x(e){return e.startsWith(`${v}/`)||e===v}function S(e){return e?u.welcome:u.onboarding.privacy}function C(e){if(e.startsWith(`http://`)||e.startsWith(`https://`)||e.startsWith(`//`))try{return new URL(e,`http://placeholder.invalid`).pathname}catch{return e}return e}function w(e,t){return t===u.welcome?e.hasAssistants?u.selectAssistant:u.onboarding.hosting:t===u.selectAssistant?`${t}?fromLogin=1`:t}function T(e,t){switch(t.kind){case`route-guard`:return D(e,t.pathname);case`onboarding-intercept`:return L(e,t.intendedDestination);case`hatch-gate`:return R(e);case`post-auth`:return z(t.authIntent,t.returnTo,t.fallback);case`post-retire`:return B(e)}}var E=[O,k,j,M,N,P,F,I];function D(e,t){let n=t.indexOf(`?`),r=n>=0?t.slice(0,n):t;for(let n of E){let i=n(e,r,t);if(i)return i}return{action:`allow`}}function O(e){return e.sessionSettled?null:{action:`wait`}}function k(e){return e.isGatewayAuth?{action:`allow`}:null}function A(e,t){let n=e.remoteGatewayPublicPathPrefix;return!e.isRemoteGateway||!n?t:t===n?u.assistant:t.startsWith(`${n}/`)?t.slice(n.length):t}function j(e,t,n){if(!e.isRemoteGateway||e.isAuthenticated)return null;let r=A(e,n);return{action:`redirect`,to:`${u.remotePair}?returnTo=${encodeURIComponent(r)}`}}function M(e,t,n){return e.isAuthenticated?null:e.isLocalMode&&(x(t)||b.has(t))?t===u.selectAssistant&&!e.hasAssistants?{action:`redirect`,to:u.onboarding.hosting}:{action:`allow`}:e.isLocalMode&&!e.hasAssistants?{action:`redirect`,to:u.welcome}:e.isLocalMode?{action:`redirect`,to:u.selectAssistant}:{action:`redirect`,to:`${u.account.login}?returnTo=${encodeURIComponent(n)}`}}function N(e,t){return b.has(t)?e.isLocalMode?t===u.selectAssistant&&!e.hasAssistants?{action:`redirect`,to:u.onboarding.hosting}:{action:`allow`}:{action:`redirect`,to:u.assistant}:y.has(t)&&!e.isLocalMode?{action:`redirect`,to:u.assistant}:null}function P(e,t){return t===u.reviewTerms?{action:`allow`}:x(t)?t===u.onboarding.hatching&&!g(e)?{action:`redirect`,to:S(e.isLocalMode)}:{action:`allow`}:null}function F(e,t,n){if(e.hasAssistants)return null;if(e.isLocalMode)return e.platformSession===`unknown`?{action:`wait`}:e.platformSession===`present`?{action:`redirect`,to:u.onboarding.hosting}:{action:`redirect`,to:u.welcome};if(!e.assistantsHydrated||!e.consentHydrated)return{action:`wait`};if(!g(e))return{action:`redirect`,to:u.onboarding.privacy};if(!_(e)){let e=encodeURIComponent(n);return{action:`redirect`,to:`${u.reviewTerms}?returnTo=${e}`}}return{action:`redirect`,to:u.onboarding.hatching}}function I(e,t,n){if(e.isPlatformDisabled||e.platformSession!==`present`||_(e))return null;if(!e.consentHydrated&&!e.isLocalMode)return{action:`wait`};let r=encodeURIComponent(n);return{action:`redirect`,to:`${u.reviewTerms}?returnTo=${r}`}}function L(e,t){if(e.isLocalMode&&e.hasAssistants||g(e))return{action:`allow`};let n=C(t);return!n.startsWith(u.assistant)||n.startsWith(`${u.assistant}/onboarding`)||n===u.reviewTerms?{action:`allow`}:{action:`redirect`,to:S(e.isLocalMode)}}function R(e){return e.sessionSettled?!e.isAuthenticated&&!e.isLocalMode?{action:`redirect`,to:u.account.login}:g(e)?!e.isLocalMode&&!_(e)?{action:`redirect`,to:u.reviewTerms}:{action:`allow`}:{action:`redirect`,to:S(e.isLocalMode)}:{action:`wait`}}function z(e,t,n){return e===`signup`?{action:`redirect`,to:u.onboarding.privacy}:{action:`redirect`,to:c(t,n)}}function B(e){return e.hasAssistants?{action:`redirect`,to:e.isLocalMode?u.selectAssistant:u.assistant}:e.isLocalMode?e.platformSession===`present`?{action:`redirect`,to:u.onboarding.hosting}:{action:`redirect`,to:u.welcome}:{action:`redirect`,to:u.onboarding.privacy}}function V(c){let{sessionStatus:u,platformSession:g}=s.getState(),{assistants:_,assistantsHydrated:v}=i.getState(),y=n();return{isLocalMode:t(),isPlatformDisabled:r(),isRemoteGateway:y,remoteGatewayPublicPathPrefix:y?l():``,isGatewayAuth:e(),hasAssistants:_.length>0,sessionSettled:a(u),isAuthenticated:o(u),platformSession:g,tosAccepted:h(),privacyConsent:d(),analyticsConsentCurrent:p(),diagnosticsConsentCurrent:f(),consentHydrated:m(),assistantsHydrated:v,...c}}export{w as n,T as r,V as t};
|