@vellumai/web 0.10.3 → 0.10.4-dev.202607010028.1a4efcc
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-CgXwEO42.js → AnimatePresence-v8rrAm7n.js} +2 -2
- package/dist/assets/{BundleConfirmPage-DpfvIcwl.js → BundleConfirmPage-BEQyQVeN.js} +1 -1
- package/dist/assets/{about-page-CuSnWJFo.js → about-page-Ck4iLq7E.js} +1 -1
- package/dist/assets/account-page-BYTIe1XI.js +1 -0
- package/dist/assets/{account-shell-b6GjlQ0u.js → account-shell-YW3hfGZg.js} +1 -1
- package/dist/assets/acp-run-detail-panel-DSh8Ovx2.js +5 -0
- package/dist/assets/{add-credits-modal-Dy3I3Har.js → add-credits-modal-FPXxOAMb.js} +1 -1
- package/dist/assets/advanced-page-UPgcMIra.js +1 -0
- package/dist/assets/ai-page-CGEA7pTY.js +1 -0
- package/dist/assets/animated-avatar-Dt3HMkLe.js +1 -0
- package/dist/assets/{api-2kc3MHRz.js → api-CwV4YyjT.js} +1 -1
- package/dist/assets/api-key-screen-D1quwCLW.js +1 -0
- package/dist/assets/{archive-page-Dl6HLIJt.js → archive-page-KY7n-0Qw.js} +1 -1
- package/dist/assets/assistant-api-DsiQd51V.js +1 -0
- package/dist/assets/{assistant-feature-flag-store-Dl92XRsM.js → assistant-feature-flag-store-9j2-Kf63.js} +1 -1
- package/dist/assets/{assistant-identity-store-CKjnoLSp.js → assistant-identity-store-E8J494ln.js} +1 -1
- package/dist/assets/{assistant-status-panel-BkIkvMYw.js → assistant-status-panel-D1hbDikl.js} +1 -1
- package/dist/assets/auth-store-DhoDi3Ka.js +2 -0
- package/dist/assets/background-task-detail-panel-BssEr931.js +1 -0
- package/dist/assets/billing-page-KDeiZ67m.js +3 -0
- package/dist/assets/{bookmarks-page-CANlE7hP.js → bookmarks-page-DnLy6VIU.js} +1 -1
- package/dist/assets/{browser-CKX_K5ev.js → browser-BtcMMWcD.js} +2 -2
- package/dist/assets/build-state-D10hicGm.js +1 -0
- package/dist/assets/{capture-error-Hr1Yo2kx.js → capture-error-BG-GkiMq.js} +1 -1
- package/dist/assets/chat-rA5AbKPD.js +1 -0
- package/dist/assets/{client-feature-flag-store-C1kdd1EO.js → client-feature-flag-store-Co2Hhr3q.js} +1 -1
- package/dist/assets/client-identity-KGlckm6M.js +1 -0
- package/dist/assets/client.gen-DU1JkKSB.js +6 -0
- package/dist/assets/{command-palette-GZu_zgQg.js → command-palette-B1B3JFxY.js} +1 -1
- package/dist/assets/{command-palette-window-page-CzWu42Ee.js → command-palette-window-page-Cg49NRQN.js} +1 -1
- package/dist/assets/{community-page-Dhgypa-h.js → community-page-C1LspNF5.js} +1 -1
- package/dist/assets/{connect-page-CDOcgzzL.js → connect-page-C4TuRCyq.js} +1 -1
- package/dist/assets/{consent-controls-BSZV4rW3.js → consent-controls-Dsb58yGZ.js} +1 -1
- package/dist/assets/{contacts-gateway-dxw1KMN2.js → contacts-gateway-BDJYh797.js} +1 -1
- package/dist/assets/contacts-page-route-CUppjd6B.js +9 -0
- package/dist/assets/{conversation-list-fetchers-UPVZq_6O.js → conversation-list-fetchers-XUhw0LTH.js} +1 -1
- package/dist/assets/{danger-zone-redirect-page-CjqUKhk9.js → danger-zone-redirect-page-DK4QwO4q.js} +1 -1
- package/dist/assets/debug-page-BU9E2Zpp.js +4 -0
- package/dist/assets/{deploy-dialogs-jf5VL1UP.js → deploy-dialogs-BffsSWHa.js} +1 -1
- package/dist/assets/{detail-card-BIwpXT5F.js → detail-card-kfxLI0l_.js} +1 -1
- package/dist/assets/detail-panel-stop-button-D0KsydFR.js +1 -0
- package/dist/assets/detail-shell-BPCWck_r.js +3 -0
- package/dist/assets/{developer-page-iEL4eJ8x.js → developer-page-CnUodPF4.js} +1 -1
- package/dist/assets/{devices-page-RMaPGcXe.js → devices-page-BBKhaTRg.js} +1 -1
- package/dist/assets/diagnostics-Dd5CfP37.js +1 -0
- package/dist/assets/{dictation-overlay-page-BxQCzLMY.js → dictation-overlay-page-Dz04r9UQ.js} +1 -1
- package/dist/assets/{document-viewer-page-57OuXxYw.js → document-viewer-page-DJq7Ygvy.js} +1 -1
- package/dist/assets/earn-credits-modal-fcQSixir.js +1 -0
- package/dist/assets/{emails-page-0gRZqa6y.js → emails-page-wd0TRGg5.js} +1 -1
- package/dist/assets/{emoji-catalog-data-Dlkuvec0.js → emoji-catalog-data-D8lRMt3A.js} +1 -1
- package/dist/assets/esm--RA963YO.js +2 -0
- package/dist/assets/esm-BSRBg0oR.js +2 -0
- package/dist/assets/esm-CJ8uY1wn.js +2 -0
- package/dist/assets/esm-DTj81fJQ.js +1 -0
- package/dist/assets/{esm-B3Lr4Bv0.js → esm-O9mDOR47.js} +2 -2
- package/dist/assets/esm-cB02a8J9.js +2 -0
- package/dist/assets/feature-flag-catalog-DV82F0L3.js +1 -0
- package/dist/assets/{file-editor-BNkJJbUv.js → file-editor-DOP89Gof.js} +1 -1
- package/dist/assets/general-page-CPBHVyTD.js +1 -0
- package/dist/assets/hatching-screen-DY3K0JOi.js +1 -0
- package/dist/assets/home-page-route-DONg99uG.js +1 -0
- package/dist/assets/{hosting-screen-C14KAJ6m.js → hosting-screen-CVc_n57L.js} +1 -1
- package/dist/assets/identity-page-route-ppulI5aE.js +1 -0
- package/dist/assets/index-BX26FZ8C.css +2 -0
- package/dist/assets/index-DbPUHSMl.js +130 -0
- package/dist/assets/{inspect-page-CWasyuSO.js → inspect-page-Bumwp983.js} +9 -7
- package/dist/assets/install-WYTcfmdN.js +1 -0
- package/dist/assets/integrations-page-BsTax_30.js +1 -0
- package/dist/assets/intelligence-layout-D6U1Copv.js +1 -0
- package/dist/assets/{keyboard-shortcuts-page-kiOEZKzE.js → keyboard-shortcuts-page-D_GqzGiY.js} +1 -1
- package/dist/assets/library-detail-page-Bw131lov.js +1 -0
- package/dist/assets/{library-page-BHejhapZ.js → library-page-jSdqmt8d.js} +1 -1
- package/dist/assets/{login-flow-DPi11n3h.js → login-flow-Bu_R77mO.js} +1 -1
- package/dist/assets/login-page-DPfXjBWn.js +1 -0
- package/dist/assets/{logout-page-Bl6AD21S.js → logout-page-AznF3yAS.js} +1 -1
- package/dist/assets/{logs-layout-C9eUE1Pt.js → logs-layout-BYJ41Qya.js} +1 -1
- package/dist/assets/{memory-router-playground-page-Dhi3uqxr.js → memory-router-playground-page-Dm3TiSY7.js} +1 -1
- package/dist/assets/messages-qxyeoKYS.js +13 -0
- package/dist/assets/{status-badge-pill-DYlAnX5m.js → metric-card-CderFn_K.js} +1 -1
- package/dist/assets/{mobile-sidebar-drawer-DqXFL0Ke.js → mobile-sidebar-drawer-CfI8ihQa.js} +1 -1
- package/dist/assets/native-biometric-CBWaVg3Q.js +6 -0
- package/dist/assets/{native-file-B-MK3Ngg.js → native-file-Djc1KZs3.js} +2 -2
- package/dist/assets/{notifications-page-pHiDPA0p.js → notifications-page-B8rJ9VKw.js} +1 -1
- package/dist/assets/{oauth-complete-page-DiGMWbOb.js → oauth-complete-page-z8o1ui13.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-CwoZnzdc.js → oauth-popup-complete-page-Tkc-rQX9.js} +1 -1
- package/dist/assets/{page-shell-cEGpH3P5.js → page-shell-D0lmza98.js} +1 -1
- package/dist/assets/pairing-page-m0oxNDQ9.js +1 -0
- package/dist/assets/{password-reset-page-DfYGL1Gv.js → password-reset-page-T_0pamrF.js} +1 -1
- package/dist/assets/platform-detection-ByImsPTf.js +1 -0
- package/dist/assets/platform-loopback-page-D2HL9AUX.js +1 -0
- package/dist/assets/plugin-detail-page-Bb-HIhbL.js +1 -0
- package/dist/assets/plugins-page-DRvAzmXd.js +1 -0
- package/dist/assets/plugins-surface-CbPGIeTp.js +1 -0
- package/dist/assets/prechat-route-BH3zTo60.js +1 -0
- package/dist/assets/{prefs-C_oq5G87.js → prefs-BJa0q2Gz.js} +1 -1
- package/dist/assets/privacy-page-B_IftswZ.js +1 -0
- package/dist/assets/privacy-screen-RyAPZfA7.js +1 -0
- package/dist/assets/provider-callback-page-D3_-eNaE.js +1 -0
- package/dist/assets/provider-key-BJ_kBwp_.js +1 -0
- package/dist/assets/provider-signup-page-DHI17XiE.js +1 -0
- package/dist/assets/proxy-E3RRrfO5.js +1 -0
- package/dist/assets/{quick-input-page-C9jN8YtU.js → quick-input-page-DX5Rrr0p.js} +1 -1
- package/dist/assets/react-query.gen-BZr-1Xaw.js +1 -0
- package/dist/assets/{react-query.gen-rp6Krcco.js → react-query.gen-By34AU2d.js} +1 -1
- package/dist/assets/{return-to-ByvaXBKr.js → remote-gateway-session-znfqX8Fi.js} +1 -1
- package/dist/assets/repeat-nCGBxntG.js +1 -0
- package/dist/assets/{research-mock-page-ttrrPwo3.js → research-mock-page-DYca4sbx.js} +1 -1
- package/dist/assets/research-onboarding-route-Ba74KUBl.js +53 -0
- package/dist/assets/{resize-errors-DnJEbHn4.js → resize-errors-D1myE8D_.js} +1 -1
- package/dist/assets/return-to-yMLvlnXN.js +1 -0
- package/dist/assets/{review-terms-screen-DEiifDmK.js → review-terms-screen-D4lBqvba.js} +1 -1
- package/dist/assets/routes-C6gxiCrz.js +1 -0
- package/dist/assets/{schedules-D-4Rq6ZC.js → schedules-DJmuJMXB.js} +1 -1
- package/dist/assets/sdk.gen-7kFw36Fw.js +1 -0
- package/dist/assets/{sdk.gen-D-_js_oC.js → sdk.gen-DmWuY0SL.js} +1 -1
- package/dist/assets/{select-assistant-screen-UoixBMN2.js → select-assistant-screen-C0FcoktK.js} +1 -1
- package/dist/assets/settings-layout-D9gcFAQr.js +1 -0
- package/dist/assets/share-feedback-modal-CFO00NHT.js +1 -0
- package/dist/assets/{sidebar-tree-BJkXpCut.js → sidebar-tree-BFvRtzPm.js} +1 -1
- package/dist/assets/signup-page-CW6PcJ-3.js +1 -0
- package/dist/assets/{signup-shell-Bu5BM6II.js → signup-shell-DOF8aXn0.js} +1 -1
- package/dist/assets/skills-page-BUy5sEoN.js +1 -0
- package/dist/assets/{sound-manager-CzslfzDO.js → sound-manager-KLJ38-0x.js} +1 -1
- package/dist/assets/{sounds-page-mens6EAJ.js → sounds-page-g_BwlxnY.js} +1 -1
- package/dist/assets/src-mai-NajT.js +293 -0
- package/dist/assets/status-badge-pill-j3ke1d9o.js +1 -0
- package/dist/assets/step-indicator-dots-Bc6X141I.js +1 -0
- package/dist/assets/subagent-detail-panel-DZMGVqEM.js +4 -0
- package/dist/assets/{subagent-store-BLHGkTJR.js → subagent-store-uyvG6X03.js} +1 -1
- package/dist/assets/{system-events-page-Dro8iNrx.js → system-events-page-BP8qivQM.js} +1 -1
- package/dist/assets/{system-events-redirect-page-C1hGE6n5.js → system-events-redirect-page-C16Xg1C_.js} +1 -1
- package/dist/assets/three-dot-indicator-BOWJCSsU.js +1 -0
- package/dist/assets/{tiptap-document-editor-D2t4qYzv.js → tiptap-document-editor-BlIwazbg.js} +2 -2
- package/dist/assets/tool-detail-panel-bEz99Rub.js +2 -0
- package/dist/assets/trace-page-7kxcQ5q9.js +1 -0
- package/dist/assets/{upgrade-cancel-page-Cwv5eMh9.js → upgrade-cancel-page-D4-wJgCa.js} +1 -1
- package/dist/assets/{upgrade-success-page-DnJ8Kyyj.js → upgrade-success-page-BMxaY6Um.js} +1 -1
- package/dist/assets/{usage-page-DJHRS0lZ.js → usage-page-qqfsQlxg.js} +1 -1
- package/dist/assets/{use-bus-subscription-BbiZXm1u.js → use-bus-subscription-BNaztnO7.js} +1 -1
- package/dist/assets/use-is-org-ready-DGnWseqw.js +1 -0
- package/dist/assets/use-onboarding-login-DwVCJ7DH.js +1 -0
- package/dist/assets/use-reduced-motion-D32BDyn0.js +1 -0
- package/dist/assets/use-skill-categories-CZml3JEH.js +1 -0
- package/dist/assets/{utils-IBnUZTqY.js → utils-B_yHNmjr.js} +1 -1
- package/dist/assets/viewer-store-BSiJen54.js +1 -0
- package/dist/assets/{voice-page-kQZ2ya5j.js → voice-page-CNB9Pxor.js} +1 -1
- package/dist/assets/weather-forecast-display-270rsUDb.js +1 -0
- package/dist/assets/{web-M3MS-KVB.js → web-CxyEb7Lp.js} +1 -1
- package/dist/assets/{web-B0S2ynRY.js → web-DFw1Yfb1.js} +1 -1
- package/dist/assets/{web-DOKyhuGQ.js → web-DGDlV45i.js} +1 -1
- package/dist/assets/{web-DJKnWTsF.js → web-GWxiW7or.js} +1 -1
- package/dist/assets/{web-iUXw2JWQ.js → web-YggPvEM4.js} +1 -1
- package/dist/assets/{web-D0QcGl1O.js → web-b9SjJqdc.js} +1 -1
- package/dist/assets/{web-Cg8gCWpB.js → web-lNls6p99.js} +1 -1
- package/dist/assets/{welcome-screen-Bd7PCfAf.js → welcome-screen-Cqkp2VuN.js} +1 -1
- package/dist/assets/workflow-detail-panel-Dl3mqk0u.js +1 -0
- package/dist/assets/workspace-page-DBZwYmVn.js +1 -0
- package/dist/index.html +81 -76
- package/package.json +1 -1
- package/dist/assets/account-page-CCYCSy2-.js +0 -1
- package/dist/assets/advanced-page-CVnT0zH-.js +0 -1
- package/dist/assets/ai-page-kEbHR7cH.js +0 -1
- package/dist/assets/api-key-screen-DGVn66y4.js +0 -1
- package/dist/assets/assistant-api-DROTS3Y9.js +0 -1
- package/dist/assets/auth-store-Kfxhs2oI.js +0 -7
- package/dist/assets/billing-page-Cq_yLwUC.js +0 -3
- package/dist/assets/build-state-VC4tL7sK.js +0 -1
- package/dist/assets/contacts-page-route-C3QiOxjO.js +0 -9
- package/dist/assets/debug-page-CBozmAQQ.js +0 -2
- package/dist/assets/diagnostics-BEB4VPwC.js +0 -1
- package/dist/assets/earn-credits-modal-Nm1VymMp.js +0 -1
- package/dist/assets/esm-BVNBLzcW.js +0 -2
- package/dist/assets/esm-BtN-afz9.js +0 -1
- package/dist/assets/esm-D2xhPoyM.js +0 -2
- package/dist/assets/esm-DwNtkiSD.js +0 -2
- package/dist/assets/esm-pt1s0ryM.js +0 -2
- package/dist/assets/feature-flag-catalog-RK3_Ckyw.js +0 -1
- package/dist/assets/general-page-aZxTpnpI.js +0 -1
- package/dist/assets/hatching-screen-KPinlCES.js +0 -1
- package/dist/assets/home-page-route-CudtBGg1.js +0 -1
- package/dist/assets/identity-page-route-C0BFcTAF.js +0 -1
- package/dist/assets/index-Hcyzmz_5.css +0 -2
- package/dist/assets/index-PRnvH2Y1.js +0 -132
- package/dist/assets/install-C3xe8ARr.js +0 -1
- package/dist/assets/integrations-page-WhBpTYP2.js +0 -1
- package/dist/assets/intelligence-layout-CvTumtjv.js +0 -1
- package/dist/assets/library-detail-page-rPvN9G1a.js +0 -1
- package/dist/assets/login-page-BGLVK82t.js +0 -1
- package/dist/assets/messages-DHDZ32NT.js +0 -13
- package/dist/assets/pairing-page-clFaUgzL.js +0 -1
- package/dist/assets/platform-loopback-page-Df5bTTx8.js +0 -1
- package/dist/assets/plugin-detail-page-IRPeI4lP.js +0 -1
- package/dist/assets/plugins-page-BaYp2QOe.js +0 -1
- package/dist/assets/prechat-route-BaMWiiaf.js +0 -1
- package/dist/assets/privacy-page-BUhxrIRn.js +0 -1
- package/dist/assets/privacy-screen-BaHYtKEt.js +0 -1
- package/dist/assets/provider-callback-page-CxFC4PH1.js +0 -1
- package/dist/assets/provider-key-nA35OC4Y.js +0 -1
- package/dist/assets/provider-signup-page-CdpT28xL.js +0 -1
- package/dist/assets/proxy-DmIh4F51.js +0 -1
- package/dist/assets/react-query.gen-CQLyoqYk.js +0 -1
- package/dist/assets/reduced-motion-DYlLlcUm.js +0 -1
- package/dist/assets/research-onboarding-route-Cxai0fux.js +0 -36
- package/dist/assets/risk-badge-BA8R-HCI.js +0 -1
- package/dist/assets/routes-DVqkwUEe.js +0 -1
- package/dist/assets/sdk.gen-1aYqVbMj.js +0 -6
- package/dist/assets/settings-layout-CQ3Z9Raj.js +0 -1
- package/dist/assets/share-feedback-modal-CTwByE7B.js +0 -1
- package/dist/assets/signup-page-CKDYl9Wb.js +0 -1
- package/dist/assets/skills-page-DVjqqfMw.js +0 -1
- package/dist/assets/src-CK6bncSg.js +0 -293
- package/dist/assets/step-indicator-dots-CEVbsP8r.js +0 -1
- package/dist/assets/subagent-detail-panel-DVQAkMjF.js +0 -4
- package/dist/assets/three-dot-indicator-CLs7Rl-I.js +0 -1
- package/dist/assets/tool-call-status-DTV5jmaU.js +0 -1
- package/dist/assets/tool-detail-panel-DRD2DIMF.js +0 -2
- package/dist/assets/trace-page-DRWPaAuQ.js +0 -1
- package/dist/assets/use-is-org-ready-BdtHeRV6.js +0 -1
- package/dist/assets/use-onboarding-login-BEOH92mZ.js +0 -1
- package/dist/assets/use-plugin-drift-Bj693x0f.js +0 -1
- package/dist/assets/use-reduced-motion-ChB7nOGe.js +0 -1
- package/dist/assets/viewer-store-Dead64xY.js +0 -1
- package/dist/assets/weather-forecast-display-Cu3W6OZF.js +0 -1
- package/dist/assets/workflow-detail-panel-CMmPPsuL.js +0 -1
- package/dist/assets/workspace-page-BR4pOxs5.js +0 -1
- package/dist/skills/meet-join/assets/icon.svg +0 -1
- /package/dist/assets/{api-errors-CveHbhgb.js → api-errors-DPruG7q9.js} +0 -0
- /package/dist/assets/{app-info-BZYaLxCg.js → app-info-DJQFoVxX.js} +0 -0
- /package/dist/assets/{avatar-bundled-components-BgAkdy0n.js → avatar-bundled-components-w37NPF4o.js} +0 -0
- /package/dist/assets/{avatar-svg-compositor-CEmN7KGI.js → avatar-svg-compositor-DG7zqpYr.js} +0 -0
- /package/dist/assets/{build.umd-B3KuSWeo.js → build.umd-4R02MPXx.js} +0 -0
- /package/dist/assets/{client.gen-Cs6pCK0s.js → client.gen-BHupOCJH.js} +0 -0
- /package/dist/assets/{composer-focus-Bp1AiP29.js → composer-focus-n921WsjZ.js} +0 -0
- /package/dist/assets/{conversation-selection-CtKjA5Ni.js → conversation-selection-DgYtLnyB.js} +0 -0
- /package/dist/assets/{conversation-store-DK-7gFAt.js → conversation-store-CWgiE5KG.js} +0 -0
- /package/dist/assets/{definitions-lQvEBMJT.js → definitions-BughTGuV.js} +0 -0
- /package/dist/assets/{dist-BTp54SIT.js → dist-Ztj3rqLK.js} +0 -0
- /package/dist/assets/{edit-chat-session-DJpqkkos.js → edit-chat-session-TX_J-I33.js} +0 -0
- /package/dist/assets/{effective-timezone-DrYGH2Lb.js → effective-timezone-BJxnysvd.js} +0 -0
- /package/dist/assets/{environment-store-CvH3J6fT.js → environment-store-CnVyTyZ7.js} +0 -0
- /package/dist/assets/{event-bus-Dl7-I4aL.js → event-bus-B3E3w-q2.js} +0 -0
- /package/dist/assets/{external-link-DPAtkBJ2.js → external-link-RJkZLlff.js} +0 -0
- /package/dist/assets/{file-text-CmK9LY1p.js → file-text-ClqzuFsu.js} +0 -0
- /package/dist/assets/{format-CPOur310.js → format-BDkwdD2m.js} +0 -0
- /package/dist/assets/{format-date-CLlHK5gl.js → format-date-D4tzd1DT.js} +0 -0
- /package/dist/assets/{format-file-size-BfZOpPdu.js → format-file-size-BflZ4oxc.js} +0 -0
- /package/dist/assets/{globe-DYF_lSGm.js → globe-D3P5sSKJ.js} +0 -0
- /package/dist/assets/{haptics-CXHZxyAg.js → haptics-BE_0g4mc.js} +0 -0
- /package/dist/assets/{hard-drive-D7_5VMhi.js → hard-drive-CZEg1Cqc.js} +0 -0
- /package/dist/assets/{impersonate-version-flag-n-4oNLiO.js → impersonate-version-flag-BsxCoimD.js} +0 -0
- /package/dist/assets/{info-_OtUK1cX.js → info-ciQS_i3y.js} +0 -0
- /package/dist/assets/{lib-BWRK7bT2.js → lib-BNGjysgr.js} +0 -0
- /package/dist/assets/{link-2-CaszbD7P.js → link-2-r_QPxX18.js} +0 -0
- /package/dist/assets/{llm-dimension-CQdmYu05.js → llm-dimension-8g-Go8uq.js} +0 -0
- /package/dist/assets/{loader-circle-IIzBGiwm.js → loader-circle-BFRVtR3K.js} +0 -0
- /package/dist/assets/{log-in-2iOsufxq.js → log-in-CEw63CGU.js} +0 -0
- /package/dist/assets/{minimize-2-JE_UHZlJ.js → minimize-2-dKm10qRD.js} +0 -0
- /package/dist/assets/{misc-BN2o2MEB.js → misc-CFzLzLPH.js} +0 -0
- /package/dist/assets/{monitor-D2okHi8o.js → monitor-CXU19mVX.js} +0 -0
- /package/dist/assets/{moon-CK8MXzOo.js → moon-CKINz50a.js} +0 -0
- /package/dist/assets/{mutation-error-CsyN8rYH.js → mutation-error-CK0dVo5B.js} +0 -0
- /package/dist/assets/{native-deep-link-BYNI6pkW.js → native-deep-link-ODdFH_Wn.js} +0 -0
- /package/dist/assets/{pdf-pz4ipUHd.js → pdf-B-YWzK66.js} +0 -0
- /package/dist/assets/{pencil-DbB9rxpY.js → pencil-B90pDI55.js} +0 -0
- /package/dist/assets/{prechat-B28Vzu55.js → prechat-3rpjvqoE.js} +0 -0
- /package/dist/assets/{prechat-names-CRduluk-.js → prechat-names-NPlBAwCy.js} +0 -0
- /package/dist/assets/{public-asset-Fx_laYnf.js → public-asset-B5BQLOj3.js} +0 -0
- /package/dist/assets/{refresh-cw-Bf6LV0kG.js → refresh-cw-Dui3Ymsb.js} +0 -0
- /package/dist/assets/{save-DEBQ_gbb.js → save-BpAesNEP.js} +0 -0
- /package/dist/assets/{semver-yC_Iq9co.js → semver-l1HADz2z.js} +0 -0
- /package/dist/assets/{setting-row-o44aWwYt.js → setting-row-BGQgDyhv.js} +0 -0
- /package/dist/assets/{sparkles-BICoewVE.js → sparkles-Bla177ar.js} +0 -0
- /package/dist/assets/{triangle-alert-DKOyShqD.js → triangle-alert-C3aHZq1F.js} +0 -0
- /package/dist/assets/{typed-storage-Dctd_K9F.js → typed-storage-DjORmu8t.js} +0 -0
- /package/dist/assets/{usage-window-Wgtgd-cv.js → usage-window-B-YOzKJi.js} +0 -0
- /package/dist/assets/{use-active-assistant-id-C-RHQ9f6.js → use-active-assistant-id-ZxDeBTfL.js} +0 -0
- /package/dist/assets/{use-is-mobile-Cy10kl9u.js → use-is-mobile-jACt_z2d.js} +0 -0
- /package/dist/assets/{user-plus-C0OyQU83.js → user-plus-COoYKnWs.js} +0 -0
- /package/dist/assets/{workflow-status-DmbjJPT4.js → workflow-status-BuGeg_Pe.js} +0 -0
- /package/dist/assets/{x-KVxA2ZL0.js → x-DxL-bCuT.js} +0 -0
- /package/dist/assets/{xterm-MKaw0cT7.js → xterm-B8LaLTHh.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-BFDQtfbG.js → xterm-addon-fit--RE59D-m.js} +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{r as t,s as n}from"./local-settings-lVNyIOJ_.js";import{t as r}from"./react-DJZBPgpf.js";import{t as i}from"./button-D7s2Q_uG.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./typography-BscuIPxA.js";import"./src-mai-NajT.js";import{n as s,t as c}from"./create-selectors-BE0_e_Ed.js";import{t as l}from"./createLucideIcon-BlMXrA59.js";import{t as u}from"./x-DxL-bCuT.js";import{n as d}from"./typed-storage-DjORmu8t.js";import{a as ee}from"./diagnostics-Dd5CfP37.js";import{t as te}from"./conversation-store-CWgiE5KG.js";import{c as ne}from"./messages-qxyeoKYS.js";import{b as re,n as ie,t as ae,v as f,w as p,x as oe}from"./chat-rA5AbKPD.js";import{t as m}from"./misc-CFzLzLPH.js";var se=l(`bolt`,[[`path`,{d:`M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z`,key:`yt0hxn`}],[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}]]),ce=l(`pen`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]),le=l(`plug`,[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`,key:`1xoxul`}],[`path`,{d:`M9 8V2`,key:`14iosj`}]]),ue=l(`square-terminal`,[[`path`,{d:`m7 11 2-2-2-2`,key:`1lz0vl`}],[`path`,{d:`M11 13h4`,key:`1p7l4v`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}]]),de=e(r(),1),h=1e3,fe=15,pe=0,g=new Map,_=[];function me(e){let t=`sse-${++pe}`,n={id:t,abortSignal:e,initiatedAt:Date.now(),establishedAt:null,lastTrafficAt:null,lastDataAt:null,dataFrames:0,keepalives:0,endedAt:null,endReason:null};g.set(t,n),Se();let r=()=>{xe(t,`aborted`)};return e.aborted?r():e.addEventListener(`abort`,r,{once:!0}),t}function he(e){let t=g.get(e);t&&t.establishedAt===null&&(t.establishedAt=Date.now())}function ge(e,t){let n=g.get(e);if(!n)return;let r=Date.now();n.lastTrafficAt=r,t?(n.lastDataAt=r,n.dataFrames++):n.keepalives++}function _e(e,t){_.push({clientId:e,receivedAt:new Date().toISOString(),...t}),_.length>h&&_.shift()}function ve(){return Array.from(g.values())}function ye(e=h){let t=Math.max(0,_.length-e);return _.slice(t)}function be(e,t){if(t===null)return null;let n=1/0;for(let e of _)typeof e.seq==`number`&&(n=Math.min(n,e.seq));return n!==1/0&&n>t+1?null:_.filter(n=>n.conversationId===e&&typeof n.seq==`number`&&n.seq>t).sort((e,t)=>e.seq-t.seq)}function xe(e,t){let n=g.get(e);n&&(n.endedAt===null?(n.endedAt=Date.now(),n.endReason=t):n.endReason===`aborted`&&t!==`aborted`&&(n.endReason=t),Se())}function Se(){let e=0;for(let t of g.values())t.endedAt!==null&&e++;if(!(e<=fe))for(let[t,n]of g){if(e<=fe)break;n.endedAt!==null&&(g.delete(t),e--)}}var Ce={phase:`idle`,pendingQueuedCount:0,activeToolCallCount:0,activeTurnId:null,lastTerminalReason:null,statusText:null,liveWebActivity:{}};function we(e){return e===`queued`||e===`thinking`||e===`streaming`||e===`awaiting_user_input`}function Te(e){return e===`thinking`}function v(e){return(e.phase===`idle`||e.phase===`errored`)&&!e.activeTurnId}var Ee=c(s()((e,t)=>({...Ce,requestSend:t=>e(e=>({phase:`thinking`,activeTurnId:t??e.activeTurnId,lastTerminalReason:null,activeToolCallCount:0,statusText:null})),acceptSend:t=>e(e=>({activeTurnId:t,...e.phase===`idle`||e.phase===`errored`?{phase:`thinking`,lastTerminalReason:null}:null})),onTextDelta:()=>{let n=t();if(n.phase===`idle`||n.phase===`errored`){if(!n.activeTurnId)return;e({phase:`streaming`});return}(n.phase===`thinking`||n.phase===`queued`)&&e({phase:`streaming`})},onToolUseStart:()=>{let n=t();v(n)||e({phase:n.phase===`idle`||n.phase===`errored`||n.phase===`queued`?`thinking`:n.phase,activeToolCallCount:n.activeToolCallCount+1})},onToolResult:()=>e(e=>({activeToolCallCount:Math.max(0,e.activeToolCallCount-1)})),onToolActivityMetadata:(n,r)=>{let i=t();v(i)||e({liveWebActivity:{...i.liveWebActivity,[n]:r}})},onActivityThinking:n=>{let r=t();v(r)||r.phase!==`awaiting_user_input`&&e({phase:`thinking`,statusText:n??null})},showSurface:n=>{v(t())||n&&e({phase:`awaiting_user_input`})},updateSurface:()=>{},dismissSurface:()=>{let n=t();n.phase===`awaiting_user_input`&&n.activeToolCallCount===0&&e({phase:`thinking`})},completeSurface:()=>{let n=t();n.phase===`awaiting_user_input`&&n.activeToolCallCount===0&&e({phase:`thinking`})},onSecretRequest:()=>{v(t())||e({phase:`awaiting_user_input`})},onConfirmationRequest:()=>{v(t())||e({phase:`awaiting_user_input`})},onQuestionRequest:()=>{v(t())||e({phase:`awaiting_user_input`})},onContactRequest:()=>{v(t())||e({phase:`awaiting_user_input`})},completeTurn:()=>{e({phase:t().pendingQueuedCount>0?`queued`:`idle`,activeTurnId:null,activeToolCallCount:0,lastTerminalReason:`complete`,statusText:null,liveWebActivity:{}})},handoffGeneration:()=>{v(t())||e({phase:`thinking`,activeToolCallCount:0,statusText:null})},cancelGeneration:()=>{e({phase:t().pendingQueuedCount>0?`queued`:`idle`,activeTurnId:null,activeToolCallCount:0,lastTerminalReason:`cancelled`,statusText:null,liveWebActivity:{}})},onStreamError:()=>e({phase:`idle`,activeTurnId:null,activeToolCallCount:0,pendingQueuedCount:0,lastTerminalReason:`error`,statusText:null,liveWebActivity:{}}),onSessionError:()=>e({phase:`idle`,activeTurnId:null,activeToolCallCount:0,pendingQueuedCount:0,lastTerminalReason:`session_error`,statusText:null,liveWebActivity:{}}),onTurnTimeout:()=>e({phase:`idle`,activeTurnId:null,activeToolCallCount:0,pendingQueuedCount:0,lastTerminalReason:`timeout`,statusText:null,liveWebActivity:{}}),onPollReconciled:n=>{let r=t();n&&n!==r.activeTurnId||we(r.phase)&&e({phase:`idle`,activeTurnId:null,activeToolCallCount:0,lastTerminalReason:`complete`,statusText:null,liveWebActivity:{}})},resetTurn:()=>e({...Ce}),enqueueMessage:()=>e(e=>({pendingQueuedCount:e.pendingQueuedCount+1})),dequeueMessage:()=>{let n=t(),r=Math.max(0,n.pendingQueuedCount-1);if(v(n)){e({pendingQueuedCount:r});return}e({phase:`thinking`,pendingQueuedCount:r})},deleteQueuedMessage:()=>{let n=t(),r=Math.max(0,n.pendingQueuedCount-1);if(r===0&&n.phase===`queued`){e({phase:`idle`,pendingQueuedCount:0,activeTurnId:null,lastTerminalReason:`complete`,statusText:null,liveWebActivity:{}});return}e({pendingQueuedCount:r})}}))),De=3670016,Oe=[.85,.75,.65,.5],ke=2e7,Ae=new Set([`image/jpeg`,`image/jpg`,`image/png`,`image/webp`,`image/heic`,`image/heif`,`image/bmp`,`image/tiff`]),je=new Set([`jpg`,`jpeg`,`png`,`webp`,`heic`,`heif`,`bmp`,`tif`,`tiff`]);function y(e){let t=e.type.trim().toLowerCase();if(Ae.has(t))return!0;let n=e.name.split(`.`).pop()?.trim().toLowerCase();return n?je.has(n):!1}function Me(e){return y(e)&&e.size>3670016}function Ne(e){let t=`attachment`,n=e.trim()||t;return/\.(?:jpe?g)$/i.test(n)?n:`${n.replace(/\.[^./\\]+$/,``)||t}.jpg`}async function Pe(e){if(!Me(e)||await Ie(e))return{status:`unchanged`,file:e};if(e.size>104857600)return{status:`failed`,error:`This image is too large to process safely. Please choose a smaller image.`};let t;try{t=await Fe(e)}catch{return{status:`failed`,error:`Couldn't resize this image for upload. Try a smaller image.`}}try{let n;try{n=await Re(t,e.size)}catch{n=null}return!n||n.size>=e.size?{status:`failed`,error:`Couldn't resize this image for upload. Try a smaller image.`}:{status:`resized`,file:new File([n],Ne(e.name),{type:`image/jpeg`,lastModified:e.lastModified})}}finally{t.close()}}async function Fe(e){if(typeof createImageBitmap==`function`)try{let t=await createImageBitmap(e,{imageOrientation:`from-image`});return{source:t,width:t.width,height:t.height,close:()=>t.close()}}catch{}if(typeof Image>`u`)throw Error(`No browser image decoder is available.`);let t=URL.createObjectURL(e);return await new Promise((e,n)=>{let r=new Image;r.onload=()=>{e({source:r,width:r.naturalWidth||r.width,height:r.naturalHeight||r.height,close:()=>URL.revokeObjectURL(t)})},r.onerror=()=>{URL.revokeObjectURL(t),n(Error(`Image decode failed.`))},r.src=t})}async function Ie(e){if(!Le(e))return!1;let t;try{t=new Uint8Array(await e.slice(0,Math.min(e.size,1024*1024)).arrayBuffer())}catch{return!0}if(!x(t,0,`RIFF`)||!x(t,8,`WEBP`))return!1;let n=b(t,`VP8X`);return n>=0&&(t[n+8]??0)&2?!0:b(t,`ANIM`)>=0||b(t,`ANMF`)>=0}function Le(e){return e.type.trim().toLowerCase()===`image/webp`||/\.webp$/i.test(e.name)}function b(e,t){for(let n=0;n<=e.length-t.length;n+=1)if(x(e,n,t))return n;return-1}function x(e,t,n){if(t+n.length>e.length)return!1;for(let r=0;r<n.length;r+=1)if(e[t+r]!==n.charCodeAt(r))return!1;return!0}async function Re(e,t){let n=e.width*e.height,r=null;if(n<=ke)for(let t of Oe){let n=await C(e.source,e.width,e.height,t);if(r=S(r,n),n&&n.size<=3670016)return n}let i=r?.size??t,a=Math.min(Math.sqrt(De/i*.9),.95);for(let t=0;t<4;t+=1){let t=Math.max(Math.floor(e.width*a),1),n=Math.max(Math.floor(e.height*a),1),o=null;for(let i of Oe){let a=await C(e.source,t,n,i);if(r=S(r,a),o=S(o,a),a&&a.size<=3670016)return a}i=o?.size??i,a*=Math.min(Math.sqrt(De/i*.9),.9)}return null}function S(e,t){return t&&(!e||t.size<e.size)?t:e}async function C(e,t,n,r){if(typeof document>`u`)return null;let i=document.createElement(`canvas`);i.width=t,i.height=n;let a=i.getContext(`2d`);if(!a||typeof i.toBlob!=`function`)return null;a.fillStyle=`#fff`,a.fillRect(0,0,t,n),a.drawImage(e,0,0,t,n);try{return await new Promise(e=>{i.toBlob(t=>e(t),`image/jpeg`,r)})}finally{i.width=0,i.height=0}}var ze=`vellum:chatDrafts:`;function w(e){return`${ze}${e}`}function Be(e){let n=t(w(e),``);if(!n)return new Map;try{let e=JSON.parse(n);return typeof e!=`object`||!e||Array.isArray(e)?new Map:new Map(Object.entries(e).filter(e=>typeof e[1]==`string`))}catch{return new Map}}function T(e,t){n(w(e),JSON.stringify(Object.fromEntries(t)))}function Ve(){return`att-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}function He(e){return y(e)?`100 MB`:`50 MB`}function Ue(e){return e.size<=52428800?!0:y(e)&&e.size<=104857600}var E=new Map,D=null,O=new Map,k=new Set,We=s()((e,t)=>({input:``,restoredDraftConversationId:null,attachments:[],attachmentLastError:null,setInput:t=>{e(e=>({input:typeof t==`function`?t(e.input):t}))},saveDraft:(e,t)=>{t.trim()?E.set(e,t):E.delete(e),D&&T(D,E)},clearDraft:e=>{E.delete(e),D&&T(D,E)},handleConversationSwitch:({previousKey:n,nextKey:r})=>{if(!(n!==null&&n!==r)||!n)return;let i=t().input;i.trim()?E.set(n,i):E.delete(n);let a=(r&&E.get(r))??``;e({input:a,restoredDraftConversationId:a.length>0&&r?r:null}),D&&T(D,E)},loadAssistantDrafts:(n,r)=>{if(D&&D!==n){let n=t().input;r&&(n.trim()?E.set(r,n):E.delete(r)),T(D,E),e({input:``,restoredDraftConversationId:null})}E=Be(n),D=n},clearRestoredDraftNotice:()=>{e({restoredDraftConversationId:null})},restoreDraftIfEmpty:n=>{let r=E.get(n);r&&r.trim()&&!t().input.trim()&&e({input:r,restoredDraftConversationId:n})},addFiles:(t,n)=>{let r=Array.from(t);if(r.length===0)return;if(!n){e({attachmentLastError:`No active assistant. Please try again.`});return}let i=[],a=[];for(let e of r)Ue(e)?a.push(e):i.push(e);let o=i[0];if(e(o?{attachmentLastError:i.length===1?`${o.name} is larger than ${He(o)} and can't be attached.`:`${i.length} files are too large and can't be attached.`}:{attachmentLastError:null}),a.length===0)return;let s=a.map(e=>({pending:{kind:`uploading`,localId:Ve(),filename:e.name||`attachment`,mimeType:e.type||`application/octet-stream`,sizeBytes:e.size},file:e}));e(e=>({attachments:[...e.attachments,...s.map(e=>e.pending)]}));for(let{pending:t,file:r}of s)(async()=>{try{let i=await Pe(r);if(k.has(t.localId)){k.delete(t.localId);return}if(i.status===`failed`&&r.size>52428800){A(e,t.localId,i.error);return}let a=i.status===`failed`?r:i.file;if(a.size>52428800){A(e,t.localId,`This attachment is still larger than 50 MB after resizing. Try a smaller image.`);return}i.status===`resized`&&e(e=>({attachments:e.attachments.map(e=>e.localId===t.localId&&e.kind===`uploading`?{...e,filename:a.name||`attachment`,mimeType:a.type||`application/octet-stream`,sizeBytes:a.size}:e)}));let o=await ne(n,a);if(k.has(t.localId)){k.delete(t.localId);return}if(!o.ok){A(e,t.localId,o.error.detail??`Upload failed`);return}let s=null;try{s=URL.createObjectURL(a),O.set(t.localId,s)}catch{s=null}e(e=>({attachments:e.attachments.map(e=>e.localId===t.localId?{kind:`uploaded`,localId:t.localId,id:o.id,filename:a.name||`attachment`,mimeType:a.type||`application/octet-stream`,sizeBytes:a.size,previewUrl:s}:e)}))}catch{if(k.has(t.localId)){k.delete(t.localId);return}A(e,t.localId,`Upload failed`)}})()},removeAttachment:t=>{e(e=>{let n=e.attachments.find(e=>e.localId===t);return n&&n.kind===`uploading`&&k.add(t),{attachments:e.attachments.filter(e=>e.localId!==t)}}),Ge(t)},resetAttachments:()=>{e(e=>{for(let t of e.attachments)t.kind===`uploading`&&k.add(t.localId);return{attachments:[],attachmentLastError:null}})},fullReset:()=>{e(e=>{for(let t of e.attachments)t.kind===`uploading`&&k.add(t.localId);return{attachments:[],attachmentLastError:null}}),O.forEach(e=>URL.revokeObjectURL(e)),O.clear()},dismissAttachmentError:()=>{e({attachmentLastError:null})}}));function A(e,t,n){e(e=>({attachments:e.attachments.map(e=>e.localId===t?{kind:`failed`,localId:t,filename:e.filename,mimeType:e.mimeType,sizeBytes:e.sizeBytes,error:n}:e)}))}function Ge(e){let t=O.get(e);t&&(URL.revokeObjectURL(t),O.delete(e))}function Ke(e){return e.reduce((e,t)=>t.kind===`uploading`?e+1:e,0)}function qe(e){return e.filter(e=>e.kind===`uploaded`).map(e=>e.id)}var j=c(We);function Je(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function Ye(e){let t=JSON.parse(e);return Je(t)?t:null}function M(e,t){let n=[...e??[]],r=n.findIndex(e=>e.type===`surface`&&e.surface.surfaceId===t.surfaceId);return r===-1?n.push({type:`surface`,surface:t}):n[r]={type:`surface`,surface:t},n}function Xe(e,t){return e?.filter(e=>!(e.type===`surface`&&e.surface.surfaceId===t))}function Ze(e,t){if(!e.surfaces?.length)return e;let n=!1,r=e.contentBlocks,i=e.surfaces.map(e=>{let i=t(e);return i!==e&&(n=!0,r=M(r,i)),i});return n?{...e,surfaces:i,contentBlocks:r}:e}function Qe(e,t){if(!e.surfaces?.length)return e;let n=e.surfaces.filter(t);if(n.length===e.surfaces.length)return e;let r=new Set(e.surfaces.filter(e=>!t(e)).map(e=>e.surfaceId));return{...e,surfaces:n,contentOrder:e.contentOrder?.filter(e=>!(e.type===`surface`&&r.has(e.id))),contentBlocks:e.contentBlocks?.filter(e=>!(e.type===`surface`&&r.has(e.surface.surfaceId)))}}var $e=500,et=d({keyFn:e=>`vellum:dismissed-surfaces:${e}`,scope:`user`,parseValue:e=>Je(e)?e:null,fallback:{},maxEntries:200});function tt(e,t){let n=et.get(e,t);return n?new Set(n):new Set}function nt(e,t,n){let r=Array.from(n);r.length>$e&&(r=r.slice(r.length-$e)),et.set(e,t,r)}var rt=[];function it(e,t){if(!e)return rt;if(t.size===0)return e;let n=!1,r=e.map(e=>{let r=Qe(e,e=>!t.has(e.surfaceId));return r!==e&&(n=!0),r});return n?r:e}function at(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.tokens!=`number`||!Number.isFinite(t.tokens)||t.maxTokens!==null&&(typeof t.maxTokens!=`number`||!Number.isFinite(t.maxTokens))||t.fillRatio!==null&&(typeof t.fillRatio!=`number`||!Number.isFinite(t.fillRatio)))}var ot=d({keyFn:e=>`vellum:ctxwindow:${e}`,scope:`user`,parseValue:e=>at(e)?e:null,fallback:{},maxEntries:200});function st(e){return new Map(Object.entries(ot.load(e)))}function ct(e,t,n){ot.set(e,t,n)}var lt=`PROVIDER_BILLING`,ut=`PROVIDER_NOT_CONFIGURED`,dt=`MANAGED_KEY_INVALID`,ft=`credits_exhausted`,pt=`provider_billing`;function mt(e){return e?.errorCategory?e.errorCategory.endsWith(ft):e?.code===lt}function ht(e){return e?.errorCategory?e.errorCategory.endsWith(pt):!1}function gt(e){return mt(e)?`managed_credits`:ht(e)?`provider_billing`:null}function N(e){return gt(e)!==null||e?.code===ut||e?.displayAs===`modal`}function _t(e){return!!e&&!N(e)}function vt(e){return e?.code===dt}var yt={pendingSecret:null,isSubmittingSecret:!1,secretSaved:!1,pendingConfirmation:null,isSubmittingConfirmation:!1,pendingContactRequest:null,isSubmittingContactRequest:!1,contactRequestAccepted:!1,pendingQuestion:null,isSubmittingQuestion:!1,isQuestionCardDismissed:!1,inlineConfirmationToolCallId:null,unknownNudgeToolCallIds:new Set},P=c(s()((e,t)=>({...yt,showSecret:n=>{let{pendingSecret:r}=t();if(r&&r.requestId===n.requestId){let t={};for(let e of Object.keys(n))n[e]!==void 0&&(t[e]=n[e]);e({pendingSecret:{...r,...t}});return}e({pendingSecret:n,isSubmittingSecret:!1,secretSaved:!1})},submitSecretStart:()=>e({isSubmittingSecret:!0}),submitSecretEnd:t=>e({isSubmittingSecret:!1,secretSaved:t??!1}),dismissSecret:()=>e({pendingSecret:null,isSubmittingSecret:!1}),updateSecret:(n,r)=>{let{pendingSecret:i}=t();!i||i.requestId!==n||e({pendingSecret:{...i,...r}})},showConfirmation:t=>e({pendingConfirmation:t,isSubmittingConfirmation:!1}),submitConfirmationStart:()=>e({isSubmittingConfirmation:!0}),submitConfirmationEnd:()=>e({isSubmittingConfirmation:!1}),dismissConfirmation:()=>e({pendingConfirmation:null,isSubmittingConfirmation:!1}),dismissConfirmationIfMatches:n=>{let{pendingConfirmation:r}=t();!r||r.requestId!==n||e({pendingConfirmation:null,isSubmittingConfirmation:!1})},updateConfirmation:(n,r)=>{let{pendingConfirmation:i}=t();!i||i.requestId!==n||e({pendingConfirmation:{...i,...r}})},setInlineConfirmationToolCallId:t=>e({inlineConfirmationToolCallId:t}),showContactRequest:t=>e({pendingContactRequest:t,isSubmittingContactRequest:!1,contactRequestAccepted:!1}),submitContactRequestStart:()=>e({isSubmittingContactRequest:!0}),submitContactRequestEnd:()=>e({isSubmittingContactRequest:!1}),dismissContactRequest:()=>e({pendingContactRequest:null,isSubmittingContactRequest:!1}),acceptContactRequest:()=>e({contactRequestAccepted:!0}),showQuestion:t=>e({pendingQuestion:t,isSubmittingQuestion:!1,isQuestionCardDismissed:!1}),submitQuestionStart:()=>e({isSubmittingQuestion:!0}),submitQuestionEnd:()=>e({isSubmittingQuestion:!1}),dismissQuestion:()=>e({pendingQuestion:null,isSubmittingQuestion:!1,isQuestionCardDismissed:!1}),dismissQuestionCard:()=>e({isQuestionCardDismissed:!0}),resetSecretAndConfirmation:()=>e({pendingSecret:null,isSubmittingSecret:!1,secretSaved:!1,pendingConfirmation:null,isSubmittingConfirmation:!1,inlineConfirmationToolCallId:null}),addUnknownNudgeToolCallId:n=>{let r=t().unknownNudgeToolCallIds;r.has(n)||e({unknownNudgeToolCallIds:new Set([...r,n])})},removeUnknownNudgeToolCallId:n=>{let r=t().unknownNudgeToolCallIds;if(!r.has(n))return;let i=new Set(r);i.delete(n),e({unknownNudgeToolCallIds:i})},resetAll:()=>e(yt)})));function bt(e){if(e.length===0)return``;let t=e[0]??``;for(let n=1;n<e.length;n++){let r=t[t.length-1],i=e[n][0];r&&i&&r!==` `&&r!==`
|
|
2
|
+
`&&r!==` `&&i!==` `&&i!==`
|
|
3
|
+
`&&i!==` `&&(t+=` `),t+=e[n]}return t}function xt(e){let t=[];for(let n of e?.contentBlocks??[])n.type===`text`&&t.push(n.text);return bt(t)}function St(e){if(!(!e||e.length===0))return e.map(e=>{let t=null;return e.data?t=`data:${e.mimeType};base64,${e.data}`:e.thumbnailData&&(t=`data:image/jpeg;base64,${e.thumbnailData}`),{id:e.id??e.filename,filename:e.filename,mimeType:e.mimeType,sizeBytes:e.sizeBytes??(e.data?Math.floor(e.data.length*3/4):0),previewUrl:t}})}function F(e){let t=e[e.length-1];return!!t&&t.role===`assistant`}function Ct(e,t){if(!t)return null;let n=e.length-1;for(;n>=0&&e[n].role===`user`&&e[n].queueStatus===`queued`;)n--;let r=e[n];return!r||r.role!==`assistant`?null:r.id}function I(e,t){return e.findIndex(e=>e.role===`assistant`&&(e.id===t||!!e.mergedMessageIds?.includes(t)))}function L(e,t){if(!t||e.id===t)return e;let n=e.mergedMessageIds??[];return n.includes(t)?e:{...e,mergedMessageIds:[...n,t]}}function R(e,t=Date.now()){if(!e.toolCalls?.some(e=>p(e)))return null;let n=t;return{toolCalls:e.toolCalls.map(e=>p(e)?{...e,completedAt:n}:e),contentBlocks:e.contentBlocks?.map(e=>e.type===`tool_use`&&p(e.toolCall)?{type:`tool_use`,toolCall:{...e.toolCall,completedAt:n}}:e)}}function wt(e,t,n){return e.map(e=>e.id===t?{...e,queuePosition:n}:e)}function Tt(e,t){return e.map(e=>e.id===t?{...e,queueStatus:void 0,queuePosition:void 0}:e)}function Et(e,t){return e.filter(e=>e.id!==t)}function Dt(e,t,n,r=Date.now()){return[...e,{id:n??crypto.randomUUID(),...n?{}:{isOptimistic:!0},role:`assistant`,textSegments:[t],contentOrder:[{type:`text`,id:`0`}],contentBlocks:[{type:`text`,text:t}],timestamp:r}]}function Ot(e,t,n){n&&e[e.length-1]?.type===t.type?e[e.length-1]=t:e.push(t)}function z(e,t,n,r){let i=L(e[t],r),a=[...i.textSegments??[]],o=[...i.contentOrder??[]],s=[...i.contentBlocks??[]],c=o[o.length-1]?.type===`text`&&a.length>0;c?a[a.length-1]=a[a.length-1]+n:(o.push({type:`text`,id:String(a.length)}),a.push(n)),Ot(s,{type:`text`,text:a[a.length-1]},c);let l=[...e];return l[t]={...i,textSegments:a,contentOrder:o,contentBlocks:s},l}function B(e,t,n,r){let i=L(e[t],r),a=[...i.thinkingSegments??[]],o=[...i.contentOrder??[]],s=[...i.contentBlocks??[]],c=o[o.length-1]?.type===`thinking`&&a.length>0;c?a[a.length-1]=a[a.length-1]+n:(o.push({type:`thinking`,id:String(a.length)}),a.push(n)),Ot(s,{type:`thinking`,thinking:a[a.length-1]},c);let l=[...e];return l[t]={...i,thinkingSegments:a,contentOrder:o,contentBlocks:s},l}function kt(e,t,n,r,i=Date.now()){if(n){let a=I(e,n);if(a>=0)return z(e,a,t,n);if(F(e))return z(e,e.length-1,t,n);let o=r?.();return o?z([...e,o],e.length,t,n):Dt(e,t,n,i)}return F(e)?z(e,e.length-1,t,void 0):Dt(e,t,n,i)}function At(e,t,n,r=Date.now()){return[...e,{id:n??crypto.randomUUID(),...n?{}:{isOptimistic:!0},role:`assistant`,thinkingSegments:[t],contentOrder:[{type:`thinking`,id:`0`}],contentBlocks:[{type:`thinking`,thinking:t}],timestamp:r}]}function jt(e,t,n,r,i=Date.now()){if(n){let a=I(e,n);if(a>=0)return B(e,a,t,n);if(F(e))return B(e,e.length-1,t,n);let o=r?.();return o?B([...e,o],e.length,t,n):At(e,t,n,i)}return F(e)?B(e,e.length-1,t,void 0):At(e,t,n,i)}function Mt(e,t=Date.now()){let n=!1,r=e.map(e=>{if(e.role!==`assistant`)return e;let r=R(e,t);return r?(n=!0,{...e,...r}):e});return n?r:e}function Nt(e,t,n=Date.now()){let r=e[e.length-1],i=St(t.attachments);if(r?.role!==`assistant`)return i?[...e,{id:t.messageId??crypto.randomUUID(),...t.messageId?{}:{isOptimistic:!0},role:`assistant`,timestamp:n,attachments:i}]:e;let a=R(r,n),o=r.isOptimistic===!0&&!!t.messageId;return[...e.slice(0,-1),{...r,...o?{id:t.messageId,isOptimistic:!1}:{},...i?{attachments:i}:{},...a??{}}]}function Pt(e,t){if(t!==void 0)return e.findIndex(e=>e.role===`user`&&e.clientMessageId===t);for(let t=e.length-1;t>=0;t--){let n=e[t];if(n&&n.role===`user`&&n.isOptimistic===!0)return t}return-1}function Ft(e,t,n=Date.now()){let r=t.messageId;if(r!==void 0&&e.some(e=>e.role===`user`&&(e.id===r||e.mergedMessageIds?.includes(r))))return e;let i=Pt(e,t.clientMessageId);if(i!==-1){if(r===void 0)return e;let t=[...e];return t[i]={...t[i],id:r,isOptimistic:!1,queueStatus:void 0,queuePosition:void 0},t}return[...e,{id:r??crypto.randomUUID(),...r===void 0?{isOptimistic:!0}:{},role:`user`,textSegments:[t.text],contentOrder:[{type:`text`,id:`0`}],contentBlocks:[{type:`text`,text:t.text}],timestamp:n}]}function It(e,t=Date.now()){let n=e.length-1,r=e[n];if(!r||r.role!==`assistant`)return e;let i=R(r,t);if(!(xt(r).trim().length>0||r.thinkingSegments!=null&&r.thinkingSegments.length>0||r.toolCalls!=null&&r.toolCalls.length>0||r.surfaces!=null&&r.surfaces.length>0))return e.slice(0,-1);let a=[...e];return a[n]={...r,...i??{}},a}function V(e,t){let n=[...e??[]],r=n.findIndex(e=>e.type===`tool_use`&&e.toolCall.id===t.id);return r===-1?n.push({type:`tool_use`,toolCall:t}):n[r]={type:`tool_use`,toolCall:t},n}function H(e,t,n,r){let i=L(e[t],r),a=i.toolCalls?.findIndex(e=>e.id===n.id)??-1,o=[...e];if(a!==-1){let e=[...i.toolCalls??[]],r={...e[a],...n};return e[a]=r,o[t]={...i,toolCalls:e,contentBlocks:V(i.contentBlocks,r)},o}return o[t]={...i,toolCalls:[...i.toolCalls??[],n],contentOrder:[...i.contentOrder??[],{type:`toolCall`,id:n.id}],contentBlocks:V(i.contentBlocks,n)},o}function Lt(e,t,n,r=Date.now()){if(n){let r=I(e,n);if(r>=0)return H(e,r,t,n);if(F(e))return H(e,e.length-1,t,n)}else if(F(e))return H(e,e.length-1,t);return[...e,{id:n??crypto.randomUUID(),...n?{}:{isOptimistic:!0},role:`assistant`,toolCalls:[t],contentOrder:[{type:`toolCall`,id:t.id}],contentBlocks:[{type:`tool_use`,toolCall:t}],timestamp:r}]}function Rt(e,t){let n=-1,r=-1;if(t.toolUseId)for(let i=e.length-1;i>=0;i--){let a=e[i];if(a?.role!==`assistant`||!a.toolCalls?.length)continue;let o=a.toolCalls.findIndex(e=>e.id===t.toolUseId);if(o!==-1){n=i,r=o;break}}if(n===-1){if(n=e.findLastIndex(e=>e.role===`assistant`&&e.toolCalls&&e.toolCalls.length>0),n===-1)return e;let t=e[n];if(!t?.toolCalls)return e;r=t.toolCalls.findLastIndex(e=>p(e))}if(r===-1)return e;let i=e[n],a=i.toolCalls[r];if(!a)return e;let o=t.imageDataList===void 0?t.imageData===void 0?void 0:[t.imageData]:t.imageDataList,s=t.imageData===void 0?o?.[0]:t.imageData,c=[...i.toolCalls],l={...a,result:t.result,isError:t.isError,riskLevel:t.riskLevel,riskReason:t.riskReason,matchedTrustRuleId:t.matchedTrustRuleId,approvalMode:t.approvalMode,approvalReason:t.approvalReason,riskThreshold:t.riskThreshold,riskAllowlistOptions:t.riskAllowlistOptions,riskScopeOptions:t.riskScopeOptions,riskDirectoryScopeOptions:t.riskDirectoryScopeOptions,...s===void 0?{}:{imageData:s},...o===void 0?{}:{imageDataList:o},...t.activityMetadata===void 0?{}:{activityMetadata:t.activityMetadata},completedAt:t.completedAt??Date.now(),streamedOutput:void 0};c[r]=l;let u=[...e];return u[n]={...i,toolCalls:c,contentBlocks:V(i.contentBlocks,l)},u}var zt=16384;function Bt(e){return e.length<=16384?e:e.slice(e.length-zt)}function Vt(e,t){if(!t.chunk)return e;let n=-1,r=-1;if(t.toolUseId){if(t.messageId){let i=I(e,t.messageId);if(i>=0){let a=e[i].toolCalls?.findIndex(e=>e.id===t.toolUseId)??-1;a!==-1&&(n=i,r=a)}}if(n===-1)for(let i=e.length-1;i>=0;i--){let a=e[i];if(a?.role!==`assistant`||!a.toolCalls?.length)continue;let o=a.toolCalls.findIndex(e=>e.id===t.toolUseId);if(o!==-1){n=i,r=o;break}}}else{if(n=e.findLastIndex(e=>e.role===`assistant`&&e.toolCalls&&e.toolCalls.length>0),n===-1)return e;let t=e[n];if(!t?.toolCalls)return e;r=t.toolCalls.findLastIndex(e=>p(e))}if(n===-1||r===-1)return e;let i=e[n],a=i.toolCalls[r];if(!a)return e;let o={...a,streamedOutput:Bt((a.streamedOutput??``)+t.chunk)},s=[...i.toolCalls];s[r]=o;let c=[...e];return c[n]={...i,toolCalls:s,contentBlocks:V(i.contentBlocks,o)},c}function Ht(e,t,n,r=Date.now()){let i=-1;if(n&&(i=I(e,n)),i===-1){for(let t=e.length-1;t>=0;t--)if(e[t]?.role===`assistant`){i=t;break}}let a=[...e];if(i===-1)a.push({id:n??crypto.randomUUID(),...n?{}:{isOptimistic:!0},role:`assistant`,surfaces:[t],contentOrder:[{type:`surface`,id:t.surfaceId}],contentBlocks:[{type:`surface`,surface:t}],timestamp:r});else{let r=L(e[i],n);if(r.contentOrder?.some(e=>e.type===`surface`&&e.id===t.surfaceId)||r.surfaces?.some(e=>e.surfaceId===t.surfaceId))return e;a[i]={...r,surfaces:[...r.surfaces??[],t],contentOrder:[...r.contentOrder??[],{type:`surface`,id:t.surfaceId}],contentBlocks:M(r.contentBlocks,t)}}return a}function Ut(e,t,n){for(let r=e.length-1;r>=0;r--){let i=e[r],a=i.surfaces?.findIndex(e=>e.surfaceId===t)??-1;if(a===-1)continue;let o=i.surfaces[a],s={...o.data,...n};o.data.templateData&&n.templateData&&typeof o.data.templateData==`object`&&typeof n.templateData==`object`&&(s.templateData={...o.data.templateData,...n.templateData});let c={...o,data:s},l=[...e],u=[...i.surfaces];return u[a]=c,l[r]={...i,surfaces:u,contentBlocks:M(i.contentBlocks,c)},l}return e}function Wt(e,t){for(let n=e.length-1;n>=0;n--){if(!e[n].surfaces?.some(e=>e.surfaceId===t))continue;let r=[...e];return r[n]={...e[n],surfaces:e[n].surfaces?.filter(e=>e.surfaceId!==t),contentOrder:e[n].contentOrder?.filter(e=>!(e.type===`surface`&&e.id===t)),contentBlocks:Xe(e[n].contentBlocks,t)},r}return e}function Gt(e,t,n){for(let r=e.length-1;r>=0;r--){let i=e[r].surfaces?.find(e=>e.surfaceId===t);if(!i)continue;let a={...i,completed:!0,completionSummary:n},o=[...e];return o[r]={...e[r],surfaces:e[r].surfaces?.map(e=>e.surfaceId===t?a:e),contentBlocks:M(e[r].contentBlocks,a)},o}return e}var Kt=[`choice`,`oauth_connect`,`form`,`confirmation`,`file_upload`,`card`,`list`,`table`,`browser_view`,`task_preferences`];function qt(e){return e==null||e.hasPendingConfirmation||e.hasUncompletedVisibleSurface}function Jt(e,t){let n=!1,r=e.map(e=>{let r=f(e,e=>e.pendingConfirmation?.requestId===t?{...e,pendingConfirmation:void 0}:e);return r!==e&&(n=!0),r});return n?r:e}function Yt(e){let t=!1,n=e.map(e=>{let n=f(e,e=>e.pendingConfirmation?{...e,pendingConfirmation:void 0}:e);return n!==e&&(t=!0),n});return t?n:e}function Xt(e,t){let n=new Set;for(let e of t)if(e.surfaces)for(let t of e.surfaces)oe(t)&&n.add(t.surfaceId);return n.size===0?{updatedMessages:e,dismissedIds:n}:{updatedMessages:e.map(e=>Qe(e,e=>!n.has(e.surfaceId))),dismissedIds:n}}function Zt(e,t,n,r){for(let i=e.length-1;i>=0;i--){let a=e[i].surfaces?.find(e=>e.surfaceId===t);if(!a)continue;if(!Kt.includes(a.surfaceType))return e;let o=a.actions?.find(e=>e.id===n),s=n===`cancel`||n===`dismiss`||o?.style===`secondary`,c=[...e];return c[i]=Ze(e[i],e=>e.surfaceId===t?{...e,completed:!0,completionSummary:s?`Cancelled`:r??o?.label??void 0}:e),c}return e}function Qt(e,t,n){return e&&ae[e]||t||n}function U(e){return typeof e==`string`?e:void 0}function $t(e){return typeof e==`boolean`?e:void 0}function en(e){return Array.isArray(e)?e:void 0}function tn(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function W(e){return Array.isArray(e)?e:void 0}function nn(e){return{requestId:typeof e.requestId==`string`?e.requestId:``,label:U(e.label),service:U(e.service),field:U(e.field),description:U(e.description),placeholder:U(e.placeholder),allowOneTimeSend:$t(e.allowOneTimeSend),allowedTools:en(e.allowedTools),allowedDomains:en(e.allowedDomains),purpose:U(e.purpose)}}function rn(e){let t={requestId:typeof e.requestId==`string`?e.requestId:``,title:U(e.title),description:U(e.description),toolName:U(e.toolName),riskLevel:U(e.riskLevel),riskReason:U(e.riskReason),allowlistOptions:W(e.allowlistOptions),scopeOptions:W(e.scopeOptions),directoryScopeOptions:W(e.directoryScopeOptions),persistentDecisionsAllowed:$t(e.persistentDecisionsAllowed),input:tn(e.input),toolUseId:U(e.toolUseId)};return{confData:t,state:{...t,confirmLabel:U(e.confirmLabel),denyLabel:U(e.denyLabel)}}}function an(){return`turn-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function on(e,t){let n=Date.parse(e);return Number.isFinite(n)?n:typeof t==`number`?t:0}function sn(e,t,n){switch(t.type){case`assistant_text_delta`:return kt(e,t.text,t.messageId,void 0,n);case`assistant_thinking_delta`:return jt(e,t.thinking,t.messageId,void 0,n);case`message_complete`:return Nt(e,t,n);case`user_message_echo`:return Ft(e,{text:t.text,messageId:t.messageId,clientMessageId:t.clientMessageId},n);case`assistant_activity_state`:return t.phase===`idle`?Mt(e,n):e;case`conversation_error`:return It(e,n);case`tool_use_preview_start`:return Lt(e,{id:t.toolUseId,name:t.toolName,input:{},previewStartedAt:typeof t.previewStartedAt==`number`?t.previewStartedAt:n},t.messageId,n);case`tool_use_start`:return Lt(e,{id:t.toolUseId??`tool-${n}`,name:t.toolName,input:t.input,startedAt:`startedAt`in t&&typeof t.startedAt==`number`?t.startedAt:n,...`previewStartedAt`in t&&typeof t.previewStartedAt==`number`?{previewStartedAt:t.previewStartedAt}:{}},t.messageId,n);case`tool_result`:return Rt(e,{toolUseId:t.toolUseId,result:t.result,isError:t.isError,riskLevel:t.riskLevel,riskReason:t.riskReason,matchedTrustRuleId:t.matchedTrustRuleId,approvalMode:t.approvalMode,approvalReason:t.approvalReason,riskThreshold:t.riskThreshold,riskAllowlistOptions:t.riskAllowlistOptions,riskScopeOptions:t.riskScopeOptions,riskDirectoryScopeOptions:t.riskDirectoryScopeOptions,imageData:t.imageData,imageDataList:t.imageDataList,activityMetadata:t.activityMetadata,completedAt:`completedAt`in t&&typeof t.completedAt==`number`?t.completedAt:n});case`tool_output_chunk`:return t.chunk?Vt(e,{chunk:t.chunk,toolUseId:t.toolUseId,messageId:t.messageId}):e;case`ui_surface_show`:{let r={surfaceId:t.surfaceId,surfaceType:t.surfaceType,title:t.title,data:t.data,actions:t.actions,display:t.display};return r.display=re(r),Ht(e,r,t.messageId,n)}case`ui_surface_update`:return Ut(e,t.surfaceId,t.data);case`ui_surface_dismiss`:return Wt(e,t.surfaceId);case`ui_surface_complete`:return Gt(e,t.surfaceId,t.summary);case`confirmation_request`:return ie(e,{requestId:t.requestId,toolName:t.toolName,riskLevel:t.riskLevel,riskReason:t.riskReason,allowlistOptions:t.allowlistOptions,scopeOptions:t.scopeOptions,directoryScopeOptions:t.directoryScopeOptions,persistentDecisionsAllowed:t.persistentDecisionsAllowed,input:t.input,toolUseId:t.toolUseId}).updatedMessages;case`interaction_resolved`:return t.kind===`confirmation`||t.kind===`acp_confirmation`?Jt(e,t.requestId):e;default:return e}}function cn(e,t){let{seq:n}=t;if(typeof n==`number`&&typeof e.seq==`number`&&n<=e.seq)return e;let r=on(t.emittedAt,n),i=sn(e.messages,t.message,r),a=typeof n==`number`?Math.max(e.seq??-1,n):e.seq??null;return{...e,messages:i,seq:a}}function ln(e,t){return t.reduce(cn,e)}function un(e,t){return t===null?e:ln(e,t)}function dn(e){return[...new Set([e.id,...e.mergedMessageIds??[]].filter(e=>typeof e==`string`&&e.length>0))]}function G(e){let t=dn(e);return e.clientMessageId&&!t.includes(e.clientMessageId)?[...t,e.clientMessageId]:t}var fn={hasMore:!1,oldestTimestamp:null,isLoadingOlder:!1};function pn(){return{snapshot:null,optimisticSends:[],error:null,notice:null,isLoadingHistory:!0,transcriptPagination:{...fn},contextWindowUsage:null,ephemeralMetaResults:[],compactionCircuitOpenUntil:null,dismissedSurfaceIds:new Set,streamingMessageIds:new Set,pendingQueuedMessageIds:[],requestIdToMessageId:new Map,pendingLocalDeletions:new Set,confirmationToolCallMap:new Map,expandedToolCallIds:new Set,expandedCardIds:new Map,contextWindowUsageByConversation:new Map,previousConversationId:null,previousAssistantId:null,draftConversationIdResolution:!1}}function K(e,t){return typeof t==`function`?t(e):t}function mn(e,t){if(e.length===0)return e;let n=new Set;for(let e of t)for(let t of G(e))n.add(t);let r=e.filter(e=>!G(e).some(e=>n.has(e)));return r.length===e.length?e:r}var q=c(s()((e,t)=>({...pn(),seedSnapshot:(t,n)=>{let r=un(n,be(t,n.seq??null));e(e=>({snapshot:r,optimisticSends:mn(e.optimisticSends,r.messages)}))},applyEnvelopeToSnapshot:t=>e(e=>e.snapshot?{snapshot:cn(e.snapshot,t)}:{}),addOptimisticSend:t=>e(e=>({optimisticSends:[...e.optimisticSends,t]})),clearOptimisticSend:t=>e(e=>({optimisticSends:e.optimisticSends.filter(e=>e.clientMessageId!==t)})),setOptimisticSends:t=>e(e=>({optimisticSends:K(e.optimisticSends,t)})),patchSnapshotMessages:t=>e(e=>e.snapshot?{snapshot:{...e.snapshot,messages:t(e.snapshot.messages)}}:{}),setError:t=>e(e=>({error:K(e.error,t)})),setNotice:t=>e(e=>({notice:K(e.notice,t)})),setIsLoadingHistory:t=>e({isLoadingHistory:t}),setTranscriptPagination:t=>e(e=>({transcriptPagination:K(e.transcriptPagination,t)})),setContextWindowUsage:t=>e(e=>({contextWindowUsage:K(e.contextWindowUsage,t)})),setCompactionCircuitOpenUntil:t=>e(e=>({compactionCircuitOpenUntil:K(e.compactionCircuitOpenUntil,t)})),switchToConversation:({assistantId:n,activeConversationId:r})=>{let i=t();if(i.draftConversationIdResolution){e({draftConversationIdResolution:!1});return}let a=i.previousConversationId;if(a&&a!==r&&a){let e=P.getState();(e.pendingSecret||e.pendingConfirmation)&&te.getState().addAttentionConversationId(a)}let o=i.previousAssistantId!==null&&i.previousAssistantId!==n,s=o||i.previousAssistantId===null;ee(`conversation_switch_reset`,{assistantId:n,conversationId:r,outgoingConversationId:a??null}),j.getState().handleConversationSwitch({previousKey:a??null,nextKey:r}),Ee.getState().resetTurn(),P.getState().resetAll(),o?j.getState().fullReset():j.getState().resetAttachments();let c=s?st(n):i.contextWindowUsageByConversation;e({snapshot:null,optimisticSends:[],ephemeralMetaResults:[],error:N(i.error)?i.error:null,notice:null,isLoadingHistory:!0,transcriptPagination:{...fn},contextWindowUsage:c.get(r)??null,compactionCircuitOpenUntil:null,dismissedSurfaceIds:tt(n,r),streamingMessageIds:new Set,pendingQueuedMessageIds:[],requestIdToMessageId:new Map,pendingLocalDeletions:new Set,confirmationToolCallMap:new Map,expandedToolCallIds:new Set,expandedCardIds:new Map,contextWindowUsageByConversation:c,previousConversationId:r,previousAssistantId:n,draftConversationIdResolution:!1})},markDraftResolution:()=>e({draftConversationIdResolution:!0}),setConfirmationToolCall:(t,n)=>e(e=>{let r=new Map(e.confirmationToolCallMap);return r.set(t,n),{confirmationToolCallMap:r}}),deleteConfirmationToolCall:t=>e(e=>{let n=new Map(e.confirmationToolCallMap);return n.delete(t),{confirmationToolCallMap:n}}),clearConfirmationToolCallMap:()=>e({confirmationToolCallMap:new Map}),addDismissedSurfaceId:t=>e(e=>{let n=new Set(e.dismissedSurfaceIds);return n.add(t),{dismissedSurfaceIds:n}}),addDismissedSurfaceIds:t=>e(e=>{let n=new Set(e.dismissedSurfaceIds);for(let e of t)n.add(e);return{dismissedSurfaceIds:n}}),batchUpdateStreamingMessageIds:(t,n)=>e(e=>{let r=new Set(e.streamingMessageIds);for(let e of t)r.add(e);for(let e of n)r.delete(e);return{streamingMessageIds:r}}),pushPendingQueuedMessageId:t=>e(e=>({pendingQueuedMessageIds:[...e.pendingQueuedMessageIds,t]})),shiftPendingQueuedMessageId:()=>{let n=t().pendingQueuedMessageIds;if(n.length===0)return;let[r,...i]=n;return e({pendingQueuedMessageIds:i}),r},setRequestIdMapping:(t,n)=>e(e=>{let r=new Map(e.requestIdToMessageId);return r.set(t,n),{requestIdToMessageId:r}}),popRequestIdMapping:n=>{let r=t().requestIdToMessageId,i=r.get(n);if(i!==void 0){let t=new Map(r);t.delete(n),e({requestIdToMessageId:t})}return i},addPendingLocalDeletion:t=>e(e=>{let n=new Set(e.pendingLocalDeletions);return n.add(t),{pendingLocalDeletions:n}}),consumePendingLocalDeletion:n=>{let r=t().pendingLocalDeletions;if(!r.has(n))return!1;let i=new Set(r);return i.delete(n),e({pendingLocalDeletions:i}),!0},setExpandedToolCallId:(t,n)=>e(e=>{let r=new Set(e.expandedToolCallIds);return n?r.add(t):r.delete(t),{expandedToolCallIds:r}}),setExpandedCardId:(t,n)=>e(e=>{let r=new Map(e.expandedCardIds);return r.set(t,n),{expandedCardIds:r}}),setContextWindowUsageForConversation:(t,n)=>e(e=>{let r=new Map(e.contextWindowUsageByConversation);return r.set(t,n),{contextWindowUsageByConversation:r}}),addEphemeralMetaResult:t=>e(e=>({ephemeralMetaResults:[...e.ephemeralMetaResults,t]})),clearEphemeralMetaResults:()=>e(e=>e.ephemeralMetaResults.length===0?e:{ephemeralMetaResults:[]})})));function hn(e,t){if(t.length===0)return e;let n=new Map;for(let e of t)for(let t of G(e))n.has(t)||n.set(t,e);let r=[],i=new Set;for(let t of e){let e;for(let r of G(t)){let t=n.get(r);if(t){e=t;break}}if(e){i.has(e)||(r.push(e),i.add(e));continue}r.push(t)}for(let e of t)i.has(e)||r.push(e);return r}function gn(){let e=q.use.snapshot(),t=q.use.optimisticSends(),n=q.use.dismissedSurfaceIds();return(0,de.useMemo)(()=>hn(it(e?.messages,n),t),[e,t,n])}function J(e,t,n=`…`){return e.length<=t?e:e.slice(0,t-n.length)+n}function _n(e){if(!e)return null;let t=e.split(`/`),n=t[t.length-1];return!n||n===`.`?null:n}function Y(e,t){return J(e,t,`...`)}function vn(e){if(!e)return null;let t=e.replace(/\s+/g,` `).trim().match(/(?:^|&&\s*|\|\|\s*|;\s*)(?:\S*\/)?assistant\s+browser\s+([^\s;&|]+)/i);if(!t)return null;let n=t[1].toLowerCase();return new Set([`navigate`,`click`,`type`,`screenshot`,`snapshot`,`scroll`,`hover`,`select`,`drag`,`wait`,`back`,`forward`,`refresh`,`close`,`tab`,`press_key`,`wait_for`,`extract`,`fill_credential`]).has(n)?n:`unknown`}function X(e,t){let n=e.toLowerCase();return n!==`bash`&&n!==`host_bash`?null:vn(t)}function yn(e){switch(e){case`navigate`:return`Opened a page`;case`click`:return`Clicked on the page`;case`type`:return`Typed on the page`;case`screenshot`:return`Took a screenshot`;case`snapshot`:return`Captured page snapshot`;case`scroll`:return`Scrolled the page`;case`hover`:return`Hovered on the page`;case`select`:return`Selected on the page`;case`drag`:return`Dragged on the page`;case`wait`:return`Waited for the page`;case`back`:return`Went back`;case`forward`:return`Went forward`;case`refresh`:return`Refreshed the page`;case`close`:return`Closed the tab`;case`tab`:return`Switched tabs`;case`press_key`:return`Pressed a key`;case`wait_for`:return`Waited for a condition`;case`extract`:return`Extracted page content`;case`fill_credential`:return`Filled a credential`;case`unknown`:return`Used the browser`}}function bn(e){switch(e){case`navigate`:return`Opening a page`;case`click`:return`Clicking on the page`;case`type`:return`Typing on the page`;case`screenshot`:return`Taking a screenshot`;case`snapshot`:return`Capturing page snapshot`;case`scroll`:return`Scrolling the page`;case`hover`:return`Hovering on the page`;case`select`:return`Selecting on the page`;case`drag`:return`Dragging on the page`;case`wait`:return`Waiting for the page`;case`back`:return`Going back`;case`forward`:return`Going forward`;case`refresh`:return`Refreshing the page`;case`close`:return`Closing the tab`;case`tab`:return`Switching tabs`;case`press_key`:return`Pressing a key`;case`wait_for`:return`Waiting for a condition`;case`extract`:return`Extracting page content`;case`fill_credential`:return`Filling a credential`;case`unknown`:return`Using the browser`}}function xn(e){switch(e){case`navigate`:case`back`:case`forward`:case`tab`:return`compass`;case`click`:case`hover`:case`select`:case`drag`:case`scroll`:return`compass`;case`screenshot`:case`snapshot`:return`camera`;case`type`:case`press_key`:case`fill_credential`:return`compass`;case`wait`:case`wait_for`:case`refresh`:case`close`:return`compass`;case`extract`:return`compass`;case`unknown`:return`compass`}}function Sn(e,t){let n=e.toLowerCase();if(n===`bash`||n===`host_bash`){let e=t.command??t.cmd;if(typeof e==`string`)return e.replace(/\s+/g,` `).trim()}if(n===`file_read`||n===`host_file_read`||n===`file_write`||n===`host_file_write`||n===`file_edit`||n===`host_file_edit`){let e=t.file_path??t.path??t.filePath;if(typeof e==`string`)return e}if(n===`grep`||n===`glob`){let e=t.pattern??t.query;if(typeof e==`string`)return e}if(n===`web_search`){let e=t.query??t.search;if(typeof e==`string`)return e}return``}function Cn(e,t=``){let n=e.toLowerCase(),r=t.replace(/\s+/g,` `).trim(),i=_n(r),a=X(e,r);if(a)return yn(a);switch(n){case`bash`:case`host_bash`:return r?`Ran \`${Y(r,30)}\``:`Ran a command`;case`file_read`:case`host_file_read`:return i?`Read ${i}`:`Read a file`;case`file_write`:case`host_file_write`:return i?`Wrote ${i}`:`Wrote a file`;case`file_edit`:case`host_file_edit`:return i?`Edited ${i}`:`Edited a file`;case`grep`:return r?`Searched for '${Y(r,25)}'`:`Searched files`;case`glob`:return r?`Searched for ${Y(r,25)}`:`Found files`;case`web_search`:return r?`Searched '${Y(r,25)}'`:`Searched the web`;case`web_fetch`:return`Fetched a webpage`;default:return`Used ${e.replace(/_/g,` `)}`}}function wn(e,t=``,n){let r=X(e,t);if(r)return bn(r);if(n){let t=e.toLowerCase();if(t===`app_create`||t===`app_refresh`||t===`app_update`)return n}switch(e.toLowerCase()){case`bash`:case`host_bash`:return`Running a command`;case`file_read`:case`host_file_read`:return`Reading a file`;case`file_write`:case`host_file_write`:return`Writing a file`;case`file_edit`:case`host_file_edit`:return`Editing a file`;case`grep`:return`Searching files`;case`glob`:return`Finding files`;case`web_search`:return`Searching the web`;case`web_fetch`:return`Fetching a webpage`;case`app_create`:return`Building your app`;case`app_refresh`:case`app_update`:return`Refreshing your app`;default:return`Running ${e.replace(/_/g,` `)}`}}function Tn(e){return e.split(/[_-]+/).filter(e=>e.length>0).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(` `)}function En(e,t=``){let n=X(e,t);if(n)return xn(n);switch(e.toLowerCase()){case`bash`:case`host_bash`:return`terminal`;case`file_read`:case`host_file_read`:return`file-text`;case`file_write`:case`host_file_write`:return`file-plus`;case`file_edit`:case`host_file_edit`:return`pencil`;case`grep`:case`glob`:case`web_search`:return`search`;case`web_fetch`:return`globe`;default:return`wrench`}}var Dn=80;function Z(e,...t){for(let n of t){let t=e[n];if(typeof t==`string`&&t.trim().length>0)return t}return``}function On(e){if(!e)return``;let t=e.replace(/\/+$/,``),n=t.lastIndexOf(`/`);return n===-1?t:t.slice(n+1)}function kn(e){if(!e.startsWith(`mcp__`))return null;let t=e.slice(5),n=t.indexOf(`__`);if(n===-1)return null;let r=t.slice(0,n),i=t.slice(n+2);return!r||!i?null:{serverName:r,toolMethod:i}}function Q(e,t){let n=t&&typeof t==`object`?t:{},r=e.toLowerCase(),i=Z(n,`activity`,`reason`),a=kn(e);if(a)return{title:`Using ${a.serverName}`,info:a.toolMethod,activity:i,iconName:`plug`};switch(r){case`bash`:case`host_bash`:return{title:`Working`,info:J(Z(n,`command`,`cmd`).replace(/\s+/g,` `).trim(),Dn),activity:i,iconName:`terminal`};case`str_replace_editor`:case`text_editor`:{let e=Z(n,`command`).toLowerCase(),t=On(Z(n,`path`,`file_path`,`filePath`));return e===`view`?{title:`Reading`,info:t,activity:i,iconName:`file`}:{title:`Editing`,info:t,activity:i,iconName:`pen`}}case`computer`:return{title:`Using computer`,info:Z(n,`action`),activity:i,iconName:`monitor`};case`skill_execute`:{let e=Z(n,`tool`);if(e){let t=n.input,r=Q(e,t);return{...r,activity:i||r.activity}}return{title:`Using a skill`,info:Z(n,`skill`,`name`,`skillName`),activity:i,iconName:`sparkle`}}case`skill`:case`skill_invoke`:case`skill_load`:return{title:`Using a skill`,info:Z(n,`skill`,`name`,`skillName`),activity:i,iconName:`sparkle`};case`subagent_spawn`:return{title:`Spawning subagent`,info:Z(n,`label`,`objective`,`task`),activity:i,iconName:`user-plus`};default:return{title:e?`Running ${Tn(e)}`:`Running tool`,info:``,activity:i,iconName:`bolt`}}}function An(e){return Q(e.name,e.input)}var jn=[{open:`<thinking>`,close:`</thinking>`},{open:`<think>`,close:`</think>`}];function Mn(e){return jn.some(t=>e.includes(t.open))}function Nn(e){if(!Mn(e))return null;let t=[],n=e=>{e.trim()&&t.push({type:`text`,text:e})},r=e=>{let n=e.trim();n&&t.push({type:`thinking`,thinking:n})},i=0;for(;;){let a=-1,o;for(let t of jn){let n=e.indexOf(t.open,i);n!==-1&&(a===-1||n<a)&&(a=n,o=t)}if(!o)break;n(e.slice(i,a));let s=a+o.open.length,c=e.indexOf(o.close,s);if(c===-1)return r(e.slice(s)),t;r(e.slice(s,c)),i=c+o.close.length}return n(e.slice(i)),t}function Pn(e){return typeof e.id==`string`&&e.id.length>0}function Fn(e){return e.some(e=>e.type===`text`&&Mn(e.text))?e.flatMap(e=>{let t=e.type===`text`?Nn(e.text):null;return t?t.map(e=>e.type===`thinking`?{type:`thinking`,thinking:e.thinking}:{type:`text`,text:e.text}):[e]}):e}function In(e,t){let n=t?.splitInlineThinking?Fn(e):e,r=[],i=null,a=()=>(i||(i={type:`activity`,items:[]},r.push(i)),i);for(let e of n)if(e.type===`thinking`){let t=a(),n=t.items[t.items.length-1];n?.type===`thinking`?(n.thinking=n.thinking?`${n.thinking}\n${e.thinking}`:e.thinking,e.startedAt!=null&&(n.startedAt=n.startedAt==null?e.startedAt:Math.min(n.startedAt,e.startedAt)),e.completedAt!=null&&(n.completedAt=n.completedAt==null?e.completedAt:Math.max(n.completedAt,e.completedAt))):t.items.push({type:`thinking`,thinking:e.thinking,startedAt:e.startedAt,completedAt:e.completedAt})}else if(e.type===`tool_use`){if(!Pn(e.toolCall))continue;a().items.push({type:`tool_use`,toolCall:e.toolCall})}else (e.type===`text`||e.type===`surface`)&&(i=null,r.push(e));return r}function Ln(e){return!e.pendingConfirmation&&(e.name===`ui_show`||e.name===`ui_update`||e.name===`ui_dismiss`)}function Rn(e){if(e.name===`subagent_spawn`)return!0;if(e.name!==`skill_execute`)return!1;let t=e.input;return typeof t!=`object`||!t?!1:t.tool===`subagent_spawn`}function zn(e){if(e.name===`run_workflow`)return!0;if(e.name!==`skill_execute`)return!1;let t=e.input;return typeof t!=`object`||!t?!1:t.tool===`run_workflow`}function Bn(e){if(e.name===`acp_spawn`)return!0;if(e.name!==`skill_execute`)return!1;let t=e.input;return typeof t!=`object`||!t?!1:t.tool===`acp_spawn`}function Vn(e){if(e.name!==`bash`&&e.name!==`host_bash`)return!1;let t=e.input;return typeof t!=`object`||!t?!1:t.background===!0}var Hn=new Set([`low`,`medium`,`high`]);function Un(e){let t=e?.toLowerCase();return t&&Hn.has(t)?t:`medium`}function Wn(e){switch(e?.toLowerCase()){case`low`:return{bg:`bg-[var(--system-positive-strong)]`,text:`text-white`,label:`Low`};case`medium`:return{bg:`bg-[var(--system-mid-strong)]`,text:`text-black`,label:`Medium`};case`high`:return{bg:`bg-[var(--system-negative-strong)]`,text:`text-white`,label:`High`};case`workspace`:return{bg:`bg-[var(--surface-lift)]`,text:`text-[var(--content-secondary)]`,border:`border border-[var(--border-element)]`,label:`Workspace`};default:return{bg:`bg-[var(--content-secondary)]`,text:`text-white`,label:e??`Unknown`}}}function Gn(e){switch(e?.toLowerCase()){case`low`:return{bg:`bg-[var(--system-positive-weak)]`,text:`text-[var(--system-positive-strong)]`,label:`Low`};case`medium`:return{bg:`bg-[var(--system-mid-weak)]`,text:`text-[var(--system-mid-strong)]`,label:`Medium`};case`high`:return{bg:`bg-[var(--system-negative-weak)]`,text:`text-[var(--system-negative-strong)]`,label:`High`};case`workspace`:return{bg:`bg-[var(--surface-lift)]`,text:`text-[var(--content-secondary)]`,label:`Workspace`};default:return{bg:`bg-[var(--surface-lift)]`,text:`text-[var(--content-secondary)]`,label:e?e.charAt(0).toUpperCase()+e.slice(1):`Unknown`}}}var Kn={unknown:2,low:0,medium:1,high:2},qn={none:-1,low:0,medium:1,high:2};function Jn(e,t,n){return e?.toLowerCase()!==`auto`||!n?!0:(Kn[(t??``).toLowerCase()]??-1)<=(qn[n.toLowerCase()]??-1)}function Yn(e){switch(e){case`trust_rule_allowed`:return`· Auto-approved · Trust rule matched`;case`sandbox_auto_approve`:return null;case`platform_auto_approve`:return`· Auto-approved · Platform session`;default:return null}}function Xn(e,t){return e===`sandbox_auto_approve`?{displayLevel:`workspace`,inherentRisk:t}:{displayLevel:t??`unknown`}}var $=a();function Zn({level:e,className:t,onClick:n}){if(!e)return null;let{bg:r,text:i,label:a}=Gn(e),s=m(`inline-flex items-center justify-center rounded-[100px] px-[6px] pt-[2px] pb-[3px]`,r,t);return n?(0,$.jsx)(`button`,{type:`button`,"data-testid":`risk-badge`,"data-risk-level":e,className:m(s,`cursor-pointer hover:opacity-80`),onClick:e=>{e.stopPropagation(),n()},children:(0,$.jsx)(o,{variant:`label-medium-default`,className:i,children:a})}):(0,$.jsx)(`span`,{"data-testid":`risk-badge`,"data-risk-level":e,className:s,children:(0,$.jsx)(o,{variant:`label-medium-default`,className:i,children:a})})}function Qn({Glyph:e,icon:t,title:n,headerTrailing:r,headerActions:a,closeLabel:s=`Close panel`,closeVariant:c=`ghost`,onClose:l,children:d}){return(0,$.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden rounded-xl bg-[var(--surface-lift)]`,children:[(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-[var(--border-base)] px-5 py-4`,children:[t??(e?(0,$.jsx)(e,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}):null),(0,$.jsx)(o,{variant:`title-medium`,className:`min-w-0 shrink truncate py-0.5 leading-snug text-[var(--content-default)]`,children:n}),r,(0,$.jsx)(`span`,{className:`flex-1`}),a,(0,$.jsx)(i,{variant:c===`outlined`?`outlined`:`ghost`,iconOnly:(0,$.jsx)(u,{}),onClick:l,"aria-label":s,tooltip:`Close`,className:`shrink-0${c===`outlined`?` rounded-lg`:``}`})]}),(0,$.jsx)(`div`,{className:`flex-1 overflow-y-auto px-5 py-5`,children:d})]})}export{j as $,Xt as A,F as B,hn as C,Jt as D,G as E,qt as F,_t as G,P as H,Tt as I,nt as J,N as K,Ct as L,rn as M,nn as N,Yt as O,Qt as P,Ke as Q,Et as R,gn as S,dn as T,gt as U,xt as V,vt as W,Ye as X,Ze as Y,qe as Z,wn as _,Wn as a,ye as at,Tn as b,In as c,ge as ct,zn as d,le as dt,we as et,Rn as f,ce as ft,Sn as g,Q as h,Yn as i,ve as it,an as j,Zt as k,Bn as l,me as lt,An as m,Zn as n,Ee as nt,Un as o,he as ot,Ln as p,se as pt,ct as q,Xn as r,xe as rt,Jn as s,_e as st,Qn as t,Te as tt,Vn as u,ue as ut,En as v,q as w,J as x,Cn as y,wt as z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,m as n,o as r}from"./capture-error-Hr1Yo2kx.js";import{t as i}from"./react-DJZBPgpf.js";import{t as a}from"./button-D7s2Q_uG.js";import{d as o,h as s,r as c}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as l}from"./QueryClientProvider-DKhXIxGb.js";import{t as u}from"./useQuery-B45lW1Kk.js";import{t as d}from"./jsx-runtime-CVSDxk6A.js";import{t as f}from"./cn-DvW5mxZR.js";import{t as p}from"./dropdown-CL8VmqrY.js";import"./src-CK6bncSg.js";import{t as m}from"./confirm-dialog-CfOXCE1N.js";import{t as h}from"./tag-B_-QAvJF.js";import{t as g}from"./toggle-X_kQW5my.js";import{n as _}from"./toast-2TW5tj1Y.js";import{S as v,f as y}from"./local-mode-CvrNMtPF.js";import{t as b}from"./createLucideIcon-BlMXrA59.js";import{t as x}from"./bug-DDcuQ3au.js";import{t as S}from"./info-_OtUK1cX.js";import{t as C}from"./loader-circle-IIzBGiwm.js";import{t as ee}from"./triangle-alert-DKOyShqD.js";import{V as te}from"./auth-store-Kfxhs2oI.js";import{t as ne}from"./client.gen-Cs6pCK0s.js";import{c as w,o as T}from"./api-2kc3MHRz.js";import{a as E}from"./routes-DVqkwUEe.js";import{t as D}from"./use-is-org-ready-BdtHeRV6.js";import{a as O,l as k,o as A}from"./feature-flag-catalog-RK3_Ckyw.js";import{t as j}from"./client-feature-flag-store-C1kdd1EO.js";import{t as M}from"./assistant-feature-flag-store-Dl92XRsM.js";import{k as re,v as N}from"./react-query.gen-rp6Krcco.js";import{t as ie}from"./misc-BN2o2MEB.js";import{Jr as P,qi as F}from"./index-PRnvH2Y1.js";import{t as I}from"./use-active-assistant-id-C-RHQ9f6.js";import{t as L}from"./detail-card-BIwpXT5F.js";import{t as R}from"./environment-store-CvH3J6fT.js";var z=b(`flame`,[[`path`,{d:`M12 3q1 4 4 6.5t3 5.5a1 1 0 0 1-14 0 5 5 0 0 1 1-3 1 1 0 0 0 5 0c0-2-1.5-3-1.5-5q0-2 2.5-4`,key:`1slcih`}]]),B=b(`timer`,[[`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`,key:`14vaq8`}],[`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`,key:`17fdiu`}],[`circle`,{cx:`12`,cy:`14`,r:`8`,key:`1e1u0o`}]]),V=e(i(),1),H=d();function U(){let e=l(),[t,n]=(0,V.useState)(!1),[r,i]=(0,V.useState)(!1),o=D(),s=I(),{data:c,isLoading:d}=u({...re({path:{id:s}}),enabled:o}),{data:f,isLoading:p}=u({...N({query:{hosting:`all`}}),enabled:o}),h=d||p,g=f?.results??[];return(0,H.jsxs)(`div`,{className:`space-y-6`,children:[(0,H.jsx)(W,{assistant:c??null,loading:h}),(0,H.jsx)(G,{assistants:g,activeAssistantId:s,loading:h}),(0,H.jsxs)(L,{title:`Hatch New Assistant`,subtitle:`Create a new assistant instance.`,children:[(0,H.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,H.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Provision a new assistant. This may take a moment.`}),(0,H.jsx)(a,{variant:`outlined`,leftIcon:t?(0,H.jsx)(C,{className:`animate-spin`}):void 0,onClick:()=>i(!0),disabled:t,className:`shrink-0`,children:`Hatch`})]}),(0,H.jsx)(m,{open:r,title:`Hatch New Assistant`,message:`Are you sure you want to create a new assistant? This will provision new infrastructure.`,confirmLabel:`Hatch`,onConfirm:async()=>{i(!1),n(!0);try{let t=await T(void 0,`create`);if(t.ok){if(y())try{let e=await w();e.ok&&await v(e.data,te.getState().currentOrganizationId??void 0)}catch{}_.success(t.status===201?`New assistant hatched successfully.`:`Returned your existing assistant — no new one was created.`),e.invalidateQueries({queryKey:[{_id:`assistantsRetrieve`}]}),e.invalidateQueries({queryKey:N({query:{hosting:`all`}}).queryKey})}else{let e=typeof t.error?.detail==`string`?t.error.detail:`Failed to hatch assistant.`;_.error(e)}}catch{_.error(`Failed to hatch assistant.`)}finally{n(!1)}},onCancel:()=>i(!1)})]})]})}function W({assistant:e,loading:t}){return t?(0,H.jsx)(L,{title:`Assistant Info`,children:(0,H.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,H.jsx)(C,{className:`h-4 w-4 animate-spin`}),`Loading assistant info...`]})}):e?(0,H.jsx)(L,{title:`Assistant Info`,subtitle:`Current assistant details.`,children:(0,H.jsxs)(`div`,{className:`grid grid-cols-[140px_minmax(0,1fr)] gap-y-3`,children:[(0,H.jsx)(K,{children:`Name`}),(0,H.jsx)(q,{children:e.name??`Unnamed`}),(0,H.jsx)(K,{children:`Status`}),(0,H.jsx)(`div`,{children:(0,H.jsx)(h,{tone:e.status===`active`?`positive`:`neutral`,children:e.status})}),(0,H.jsx)(K,{children:`Assistant ID`}),(0,H.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.id}),e.machine_id&&(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(K,{children:`Machine ID`}),(0,H.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.machine_id})]}),(0,H.jsx)(K,{children:`Created`}),(0,H.jsx)(q,{children:new Date(e.created).toLocaleDateString()}),(0,H.jsx)(K,{children:`Last Modified`}),(0,H.jsx)(q,{children:new Date(e.modified).toLocaleDateString()}),e.current_release_version&&(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(K,{children:`Version`}),(0,H.jsx)(q,{children:e.current_release_version})]})]})}):(0,H.jsx)(L,{title:`Assistant Info`,children:(0,H.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No assistant found. Hatch an assistant to get started.`})})}function G({assistants:e,activeAssistantId:t,loading:n}){return n||e.length===0?null:(0,H.jsx)(L,{title:`All Assistants`,subtitle:`${e.length} assistant${e.length===1?``:`s`} found.`,children:(0,H.jsx)(`div`,{className:`max-h-[300px] space-y-2 overflow-y-auto`,children:e.map(e=>{let n=e.id===t;return(0,H.jsx)(`div`,{className:`flex items-center justify-between gap-4 rounded-lg border px-4 py-3 ${n?`border-[var(--border-focus)] bg-[var(--surface-lift)]`:`border-[var(--border-base)] bg-[var(--surface-default)]`}`,children:(0,H.jsxs)(`div`,{className:`min-w-0`,children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,H.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.name||`Unnamed`}),(0,H.jsx)(h,{tone:e.status===`active`?`positive`:`neutral`,children:e.status}),n&&(0,H.jsx)(h,{tone:`warning`,children:`Current`})]}),(0,H.jsx)(`span`,{className:`font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.id})]})},e.id)})})})}function K({children:e}){return(0,H.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e})}function q({children:e}){return(0,H.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e})}function J(){let e=R.use.emailRootDomain(),t=R.use.isNonProduction(),n=R.use.setEnvironment();return(0,H.jsx)(L,{title:`Environment`,subtitle:`Environment configuration overrides for this session.`,children:(0,H.jsxs)(`div`,{className:`space-y-2`,children:[(0,H.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,H.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,H.jsx)(g,{checked:t,onChange:e=>n({isNonProduction:e}),"aria-label":`Non-Production is ${t?`on`:`off`}`})}),(0,H.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,H.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Non-Production`}),(0,H.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Indicates a non-production environment. Enables dev-only UI surfaces and diagnostics.`})]})]}),(0,H.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,H.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,H.jsx)(h,{tone:`neutral`,children:e})}),(0,H.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,H.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Email Root Domain`}),(0,H.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Root domain used for assistant email addresses (e.g. vellum.me).`})]})]})]})})}async function ae(){let{data:e,response:t}=await ne.get({url:`/v1/feature-flags/`,throwOnError:!1});return t?.ok?e?.flags??[]:[]}var Y={client:`warning`,assistant:`positive`};function oe(){let e=I(),{data:t}=u({queryKey:[`feature-flag-definitions`],queryFn:ae,enabled:D(),staleTime:300*1e3}),n=(0,V.useMemo)(()=>{let e=new Map;if(!t)return e;for(let n of t)n.type===`string`&&n.values?.length&&e.set(n.key,n.values);return e},[t]),[r,i]=(0,V.useState)(``),a=j(),o=M(),s=(0,V.useMemo)(()=>{let e=[];for(let t of A){let r=O(t.key);if(typeof t.defaultEnabled==`boolean`){let n=a[r],i=o[r],s=t.scope===`both`?n===!0||i===!0:t.scope===`assistant`?i:n;if(typeof s!=`boolean`)continue;e.push({kind:`boolean`,storeKey:r,scope:t.scope,label:t.label,description:t.description,value:s,defaultValue:t.defaultEnabled})}else if(typeof t.defaultEnabled==`string`){let i=a.stringFlags?.[r],s=o.stringFlags?.[r],c=t.scope===`assistant`?s??t.defaultEnabled:i??t.defaultEnabled;e.push({kind:`string`,storeKey:r,scope:t.scope,label:t.label,description:t.description,value:c,defaultValue:t.defaultEnabled,values:n.get(t.key)??t.values})}}return e.sort((e,t)=>e.label.localeCompare(t.label,void 0,{sensitivity:`base`}))},[a,o,n]),c=(0,V.useMemo)(()=>{if(!r.trim())return s;let e=r.trim().toLowerCase();return s.filter(t=>t.label.toLowerCase().includes(e)||t.description.toLowerCase().includes(e)||t.storeKey.toLowerCase().includes(e)||t.scope.includes(e)||t.scope===`both`&&(`client`.includes(e)||`assistant`.includes(e)))},[s,r]);return(0,H.jsx)(L,{title:`Feature Flags`,subtitle:`Active feature flags evaluated for the current session.`,children:(0,H.jsxs)(`div`,{className:`space-y-4`,children:[(0,H.jsxs)(`div`,{className:`relative`,children:[(0,H.jsx)(P,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[var(--content-tertiary)]`}),(0,H.jsx)(`input`,{type:`text`,placeholder:`Search flags...`,value:r,onChange:e=>i(e.target.value),className:`w-full rounded-lg border border-[var(--border-base)] bg-[var(--surface-default)] py-2 pl-9 pr-3 text-body-medium-default text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] focus:border-[var(--border-focus)] focus:outline-none`})]}),c.length===0&&(0,H.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No matching flags.`}),c.length>0&&(0,H.jsx)(`div`,{className:`max-h-[500px] space-y-2 overflow-y-auto`,children:c.map(t=>(0,H.jsx)(Z,{flag:t,assistantId:e},t.storeKey))})]})})}function X({scope:e}){return e===`both`?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(h,{tone:Y.client,children:`client`}),(0,H.jsx)(h,{tone:Y.assistant,children:`assistant`})]}):(0,H.jsx)(h,{tone:Y[e],children:e})}function se({flag:e,assistantId:t}){let n=j.use.setFlag(),r=M.use.setFlag();return(0,H.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,H.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,H.jsx)(g,{checked:e.value,onChange:i=>{k(e.scope,`client`)&&n(e.storeKey,i),k(e.scope,`assistant`)&&r(e.storeKey,i,t)},"aria-label":`${e.label} is ${e.value?`on`:`off`}`})}),(0,H.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,H.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label}),(0,H.jsx)(X,{scope:e.scope})]}),(0,H.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e.description}),(0,H.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,H.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Default:`}),(0,H.jsx)(h,{tone:`neutral`,children:e.defaultValue?`On`:`Off`})]})]})]})}function ce({flag:e,assistantId:t}){let n=j.use.setStringFlag(),r=M.use.setStringFlag(),[i,a]=(0,V.useState)(e.value);(0,V.useEffect)(()=>{a(e.value)},[e.value]);let o=i=>{i!==e.value&&(k(e.scope,`client`)&&n(e.storeKey,i),k(e.scope,`assistant`)&&r(e.storeKey,i,t))},s=i!==e.value,c=e.values&&e.values.length>0?e.values:null,l=s&&c!=null&&!c.includes(i),u=()=>{l||o(i)},d=e=>{e.key===`Enter`&&e.currentTarget.blur()},m=c!=null&&c.includes(e.value);return(0,H.jsx)(`div`,{className:`flex items-start gap-3 py-3`,children:(0,H.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1.5`,children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,H.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label}),(0,H.jsx)(X,{scope:e.scope})]}),(0,H.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e.description}),m?(0,H.jsx)(p,{value:e.value,onChange:e=>{a(e),o(e)},options:c.map(e=>({value:e,label:e})),className:`w-48`,"aria-label":`${e.label} value`}):(0,H.jsxs)(`div`,{className:`space-y-1`,children:[(0,H.jsx)(`input`,{type:`text`,value:i,onChange:e=>a(e.target.value),onBlur:u,onKeyDown:d,className:f(`w-full rounded-lg border bg-[var(--surface-default)] px-3 py-1.5 text-body-small-default text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] focus:outline-none`,l?`border-[var(--system-negative-strong)]`:`border-[var(--border-base)] focus:border-[var(--border-focus)]`),placeholder:e.defaultValue||`Enter value...`}),l&&(0,H.jsxs)(`span`,{className:`block text-body-small-default text-[var(--system-negative-strong)]`,children:[`Expected one of: `,c.join(`, `)]})]}),(0,H.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,H.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Default:`}),(0,H.jsx)(h,{tone:`neutral`,children:e.defaultValue||`(empty)`})]})]})})}function Z({flag:e,assistantId:t}){return e.kind===`string`?(0,H.jsx)(ce,{flag:e,assistantId:t}):(0,H.jsx)(se,{flag:e,assistantId:t})}function le(){let e=(0,V.useCallback)(()=>{t(Error(`[Dev Settings] Test error event`)),_.success(`Sentry error event sent.`)},[]),i=(0,V.useCallback)(()=>{r(`[Dev Settings] Test warning event`,`warning`),_.success(`Sentry warning event sent.`)},[]),a=(0,V.useCallback)(()=>{r(`[Dev Settings] Test info event`,`info`),_.success(`Sentry info event sent.`)},[]),o=(0,V.useCallback)(()=>{r(`[Dev Settings] Test fatal event`,`fatal`),_.success(`Sentry fatal event sent.`)},[]),s=(0,V.useCallback)(()=>{n({name:`[Dev Settings] Test transaction`,op:`test.transaction`,forceTransaction:!0}).end(),_.success(`Sentry performance transaction sent.`)},[]);return(0,H.jsx)(L,{title:`Sentry Testing`,subtitle:`Fire test events to verify Sentry integration is working.`,children:(0,H.jsxs)(`div`,{className:`space-y-3`,children:[(0,H.jsx)(Q,{icon:(0,H.jsx)(z,{className:`h-4 w-4 text-[var(--system-negative-strong)]`}),label:`Fatal Event`,description:`Send a fatal-level event to Sentry.`,onClick:o}),(0,H.jsx)(Q,{icon:(0,H.jsx)(F,{className:`h-4 w-4 text-[var(--system-negative-default)]`}),label:`Error Event`,description:`Capture a test Error exception.`,onClick:e}),(0,H.jsx)(Q,{icon:(0,H.jsx)(ee,{className:`h-4 w-4 text-[var(--system-warning-default)]`}),label:`Warning Event`,description:`Send a warning-level message.`,onClick:i}),(0,H.jsx)(Q,{icon:(0,H.jsx)(S,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),label:`Info Event`,description:`Send an info-level message.`,onClick:a}),(0,H.jsx)(Q,{icon:(0,H.jsx)(B,{className:`h-4 w-4 text-[var(--system-positive-default)]`}),label:`Performance Transaction`,description:`Start and end a test transaction span.`,onClick:s})]})})}function Q({icon:e,label:t,description:n,onClick:r}){return(0,H.jsxs)(`div`,{className:`flex items-center justify-between gap-4 rounded-lg border border-[var(--border-base)] px-4 py-3`,children:[(0,H.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,H.jsx)(`div`,{className:`shrink-0`,children:e}),(0,H.jsxs)(`div`,{className:`min-w-0`,children:[(0,H.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:t}),(0,H.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n})]})]}),(0,H.jsxs)(a,{variant:`outlined`,size:`compact`,onClick:r,children:[(0,H.jsx)(x,{className:`h-4 w-4`}),`Send`]})]})}var $=[{id:`feature-flags`,label:`Feature Flags`},{id:`lifecycle`,label:`Assistant Lifecycle`},{id:`sentry`,label:`Sentry Testing`}];function ue(){let e=o(),[t,n]=s(),r=M.use.settingsDeveloperNav(),i=M.use.hasHydrated(),l=(0,V.useMemo)(()=>{let e=t.get(`tab`);return $.find(t=>t.id===e)?.id??`feature-flags`},[t]);if(i&&!r)return(0,H.jsx)(c,{replace:!0,to:E.settings.general});let u=e=>{let r=new URLSearchParams(t.toString());e===`feature-flags`?r.delete(`tab`):r.set(`tab`,e),n(r,{replace:!0})};return(0,H.jsxs)(`div`,{"data-slot":`developer-page`,className:`flex min-h-0 flex-1 flex-col`,children:[(0,H.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-4 border-b border-[var(--border-base)]`,children:[(0,H.jsx)(`div`,{role:`tablist`,"aria-label":`Developer sections`,className:`flex items-center gap-1`,children:$.map(e=>{let t=e.id===l;return(0,H.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t,"aria-controls":`developer-tab-panel-${e.id}`,id:`developer-tab-${e.id}`,onClick:()=>u(e.id),className:ie(`relative -mb-px cursor-pointer border-b-2 px-4 py-2 text-body-medium-default transition-colors`,t?`border-[var(--system-positive-strong)] text-[var(--system-positive-strong)]`:`border-transparent text-[var(--content-tertiary)] hover:text-[var(--content-default)] dark:text-[var(--content-disabled)] dark:hover:text-[var(--content-default)]`),children:e.label},e.id)})}),y()&&(0,H.jsx)(a,{variant:`outlined`,className:`mb-1 shrink-0`,onClick:()=>void e(`${E.selectAssistant}?noAutoSkip=1`),children:`Choose Assistant`})]}),(0,H.jsxs)(`div`,{id:`developer-tab-panel-${l}`,role:`tabpanel`,"aria-labelledby":`developer-tab-${l}`,className:`flex min-h-0 flex-1 flex-col pt-6`,children:[l===`feature-flags`&&(0,H.jsxs)(`div`,{className:`space-y-6`,children:[(0,H.jsx)(oe,{}),(0,H.jsx)(J,{})]}),l===`lifecycle`&&(0,H.jsx)(U,{}),l===`sentry`&&(0,H.jsx)(le,{})]})]})}export{ue as DeveloperPage};
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,m as n,o as r}from"./capture-error-BG-GkiMq.js";import{t as i}from"./react-DJZBPgpf.js";import{t as a}from"./button-D7s2Q_uG.js";import{d as o,h as s,r as c}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as l}from"./QueryClientProvider-DKhXIxGb.js";import{t as u}from"./useQuery-B45lW1Kk.js";import{t as d}from"./jsx-runtime-CVSDxk6A.js";import{t as f}from"./cn-DvW5mxZR.js";import{t as p}from"./dropdown-CL8VmqrY.js";import"./src-mai-NajT.js";import{t as m}from"./confirm-dialog-CfOXCE1N.js";import{t as h}from"./tag-B_-QAvJF.js";import{t as g}from"./toggle-X_kQW5my.js";import{n as _}from"./toast-2TW5tj1Y.js";import{S as v,f as y}from"./local-mode-CvrNMtPF.js";import{t as b}from"./createLucideIcon-BlMXrA59.js";import{t as x}from"./bug-DDcuQ3au.js";import{t as S}from"./info-ciQS_i3y.js";import{t as C}from"./loader-circle-BFRVtR3K.js";import{t as ee}from"./triangle-alert-C3aHZq1F.js";import{D as te}from"./auth-store-DhoDi3Ka.js";import{t as ne}from"./client.gen-BHupOCJH.js";import{c as w,o as T}from"./api-CwV4YyjT.js";import{a as E}from"./routes-C6gxiCrz.js";import{t as D}from"./use-is-org-ready-DGnWseqw.js";import{a as O,l as k,o as A}from"./feature-flag-catalog-DV82F0L3.js";import{t as j}from"./client-feature-flag-store-Co2Hhr3q.js";import{t as M}from"./assistant-feature-flag-store-9j2-Kf63.js";import{k as re,v as N}from"./react-query.gen-By34AU2d.js";import{t as ie}from"./misc-CFzLzLPH.js";import{ba as P,bi as F}from"./index-DbPUHSMl.js";import{t as I}from"./use-active-assistant-id-ZxDeBTfL.js";import{t as L}from"./detail-card-kfxLI0l_.js";import{t as R}from"./environment-store-CnVyTyZ7.js";var z=b(`flame`,[[`path`,{d:`M12 3q1 4 4 6.5t3 5.5a1 1 0 0 1-14 0 5 5 0 0 1 1-3 1 1 0 0 0 5 0c0-2-1.5-3-1.5-5q0-2 2.5-4`,key:`1slcih`}]]),B=b(`timer`,[[`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`,key:`14vaq8`}],[`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`,key:`17fdiu`}],[`circle`,{cx:`12`,cy:`14`,r:`8`,key:`1e1u0o`}]]),V=e(i(),1),H=d();function U(){let e=l(),[t,n]=(0,V.useState)(!1),[r,i]=(0,V.useState)(!1),o=D(),s=I(),{data:c,isLoading:d}=u({...re({path:{id:s}}),enabled:o}),{data:f,isLoading:p}=u({...N({query:{hosting:`all`}}),enabled:o}),h=d||p,g=f?.results??[];return(0,H.jsxs)(`div`,{className:`space-y-6`,children:[(0,H.jsx)(W,{assistant:c??null,loading:h}),(0,H.jsx)(G,{assistants:g,activeAssistantId:s,loading:h}),(0,H.jsxs)(L,{title:`Hatch New Assistant`,subtitle:`Create a new assistant instance.`,children:[(0,H.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,H.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Provision a new assistant. This may take a moment.`}),(0,H.jsx)(a,{variant:`outlined`,leftIcon:t?(0,H.jsx)(C,{className:`animate-spin`}):void 0,onClick:()=>i(!0),disabled:t,className:`shrink-0`,children:`Hatch`})]}),(0,H.jsx)(m,{open:r,title:`Hatch New Assistant`,message:`Are you sure you want to create a new assistant? This will provision new infrastructure.`,confirmLabel:`Hatch`,onConfirm:async()=>{i(!1),n(!0);try{let t=await T(void 0,`create`);if(t.ok){if(y())try{let e=await w();e.ok&&await v(e.data,te.getState().currentOrganizationId??void 0)}catch{}_.success(t.status===201?`New assistant hatched successfully.`:`Returned your existing assistant — no new one was created.`),e.invalidateQueries({queryKey:[{_id:`assistantsRetrieve`}]}),e.invalidateQueries({queryKey:N({query:{hosting:`all`}}).queryKey})}else{let e=typeof t.error?.detail==`string`?t.error.detail:`Failed to hatch assistant.`;_.error(e)}}catch{_.error(`Failed to hatch assistant.`)}finally{n(!1)}},onCancel:()=>i(!1)})]})]})}function W({assistant:e,loading:t}){return t?(0,H.jsx)(L,{title:`Assistant Info`,children:(0,H.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,H.jsx)(C,{className:`h-4 w-4 animate-spin`}),`Loading assistant info...`]})}):e?(0,H.jsx)(L,{title:`Assistant Info`,subtitle:`Current assistant details.`,children:(0,H.jsxs)(`div`,{className:`grid grid-cols-[140px_minmax(0,1fr)] gap-y-3`,children:[(0,H.jsx)(K,{children:`Name`}),(0,H.jsx)(q,{children:e.name??`Unnamed`}),(0,H.jsx)(K,{children:`Status`}),(0,H.jsx)(`div`,{children:(0,H.jsx)(h,{tone:e.status===`active`?`positive`:`neutral`,children:e.status})}),(0,H.jsx)(K,{children:`Assistant ID`}),(0,H.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.id}),e.machine_id&&(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(K,{children:`Machine ID`}),(0,H.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.machine_id})]}),(0,H.jsx)(K,{children:`Created`}),(0,H.jsx)(q,{children:new Date(e.created).toLocaleDateString()}),(0,H.jsx)(K,{children:`Last Modified`}),(0,H.jsx)(q,{children:new Date(e.modified).toLocaleDateString()}),e.current_release_version&&(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(K,{children:`Version`}),(0,H.jsx)(q,{children:e.current_release_version})]})]})}):(0,H.jsx)(L,{title:`Assistant Info`,children:(0,H.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No assistant found. Hatch an assistant to get started.`})})}function G({assistants:e,activeAssistantId:t,loading:n}){return n||e.length===0?null:(0,H.jsx)(L,{title:`All Assistants`,subtitle:`${e.length} assistant${e.length===1?``:`s`} found.`,children:(0,H.jsx)(`div`,{className:`max-h-[300px] space-y-2 overflow-y-auto`,children:e.map(e=>{let n=e.id===t;return(0,H.jsx)(`div`,{className:`flex items-center justify-between gap-4 rounded-lg border px-4 py-3 ${n?`border-[var(--border-focus)] bg-[var(--surface-lift)]`:`border-[var(--border-base)] bg-[var(--surface-default)]`}`,children:(0,H.jsxs)(`div`,{className:`min-w-0`,children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,H.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.name||`Unnamed`}),(0,H.jsx)(h,{tone:e.status===`active`?`positive`:`neutral`,children:e.status}),n&&(0,H.jsx)(h,{tone:`warning`,children:`Current`})]}),(0,H.jsx)(`span`,{className:`font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.id})]})},e.id)})})})}function K({children:e}){return(0,H.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e})}function q({children:e}){return(0,H.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e})}function J(){let e=R.use.emailRootDomain(),t=R.use.isNonProduction(),n=R.use.setEnvironment();return(0,H.jsx)(L,{title:`Environment`,subtitle:`Environment configuration overrides for this session.`,children:(0,H.jsxs)(`div`,{className:`space-y-2`,children:[(0,H.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,H.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,H.jsx)(g,{checked:t,onChange:e=>n({isNonProduction:e}),"aria-label":`Non-Production is ${t?`on`:`off`}`})}),(0,H.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,H.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Non-Production`}),(0,H.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Indicates a non-production environment. Enables dev-only UI surfaces and diagnostics.`})]})]}),(0,H.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,H.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,H.jsx)(h,{tone:`neutral`,children:e})}),(0,H.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,H.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Email Root Domain`}),(0,H.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Root domain used for assistant email addresses (e.g. vellum.me).`})]})]})]})})}async function ae(){let{data:e,response:t}=await ne.get({url:`/v1/feature-flags/`,throwOnError:!1});return t?.ok?e?.flags??[]:[]}var Y={client:`warning`,assistant:`positive`};function oe(){let e=I(),{data:t}=u({queryKey:[`feature-flag-definitions`],queryFn:ae,enabled:D(),staleTime:300*1e3}),n=(0,V.useMemo)(()=>{let e=new Map;if(!t)return e;for(let n of t)n.type===`string`&&n.values?.length&&e.set(n.key,n.values);return e},[t]),[r,i]=(0,V.useState)(``),a=j(),o=M(),s=(0,V.useMemo)(()=>{let e=[];for(let t of A){let r=O(t.key);if(typeof t.defaultEnabled==`boolean`){let n=a[r],i=o[r],s=t.scope===`both`?n===!0||i===!0:t.scope===`assistant`?i:n;if(typeof s!=`boolean`)continue;e.push({kind:`boolean`,storeKey:r,scope:t.scope,label:t.label,description:t.description,value:s,defaultValue:t.defaultEnabled})}else if(typeof t.defaultEnabled==`string`){let i=a.stringFlags?.[r],s=o.stringFlags?.[r],c=t.scope===`assistant`?s??t.defaultEnabled:i??t.defaultEnabled;e.push({kind:`string`,storeKey:r,scope:t.scope,label:t.label,description:t.description,value:c,defaultValue:t.defaultEnabled,values:n.get(t.key)??t.values})}}return e.sort((e,t)=>e.label.localeCompare(t.label,void 0,{sensitivity:`base`}))},[a,o,n]),c=(0,V.useMemo)(()=>{if(!r.trim())return s;let e=r.trim().toLowerCase();return s.filter(t=>t.label.toLowerCase().includes(e)||t.description.toLowerCase().includes(e)||t.storeKey.toLowerCase().includes(e)||t.scope.includes(e)||t.scope===`both`&&(`client`.includes(e)||`assistant`.includes(e)))},[s,r]);return(0,H.jsx)(L,{title:`Feature Flags`,subtitle:`Active feature flags evaluated for the current session.`,children:(0,H.jsxs)(`div`,{className:`space-y-4`,children:[(0,H.jsxs)(`div`,{className:`relative`,children:[(0,H.jsx)(F,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[var(--content-tertiary)]`}),(0,H.jsx)(`input`,{type:`text`,placeholder:`Search flags...`,value:r,onChange:e=>i(e.target.value),className:`w-full rounded-lg border border-[var(--border-base)] bg-[var(--surface-default)] py-2 pl-9 pr-3 text-body-medium-default text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] focus:border-[var(--border-focus)] focus:outline-none`})]}),c.length===0&&(0,H.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No matching flags.`}),c.length>0&&(0,H.jsx)(`div`,{className:`max-h-[500px] space-y-2 overflow-y-auto`,children:c.map(t=>(0,H.jsx)(Z,{flag:t,assistantId:e},t.storeKey))})]})})}function X({scope:e}){return e===`both`?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(h,{tone:Y.client,children:`client`}),(0,H.jsx)(h,{tone:Y.assistant,children:`assistant`})]}):(0,H.jsx)(h,{tone:Y[e],children:e})}function se({flag:e,assistantId:t}){let n=j.use.setFlag(),r=M.use.setFlag();return(0,H.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,H.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,H.jsx)(g,{checked:e.value,onChange:i=>{k(e.scope,`client`)&&n(e.storeKey,i),k(e.scope,`assistant`)&&r(e.storeKey,i,t)},"aria-label":`${e.label} is ${e.value?`on`:`off`}`})}),(0,H.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,H.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label}),(0,H.jsx)(X,{scope:e.scope})]}),(0,H.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e.description}),(0,H.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,H.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Default:`}),(0,H.jsx)(h,{tone:`neutral`,children:e.defaultValue?`On`:`Off`})]})]})]})}function ce({flag:e,assistantId:t}){let n=j.use.setStringFlag(),r=M.use.setStringFlag(),[i,a]=(0,V.useState)(e.value);(0,V.useEffect)(()=>{a(e.value)},[e.value]);let o=i=>{i!==e.value&&(k(e.scope,`client`)&&n(e.storeKey,i),k(e.scope,`assistant`)&&r(e.storeKey,i,t))},s=i!==e.value,c=e.values&&e.values.length>0?e.values:null,l=s&&c!=null&&!c.includes(i),u=()=>{l||o(i)},d=e=>{e.key===`Enter`&&e.currentTarget.blur()},m=c!=null&&c.includes(e.value);return(0,H.jsx)(`div`,{className:`flex items-start gap-3 py-3`,children:(0,H.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1.5`,children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,H.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label}),(0,H.jsx)(X,{scope:e.scope})]}),(0,H.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e.description}),m?(0,H.jsx)(p,{value:e.value,onChange:e=>{a(e),o(e)},options:c.map(e=>({value:e,label:e})),className:`w-48`,"aria-label":`${e.label} value`}):(0,H.jsxs)(`div`,{className:`space-y-1`,children:[(0,H.jsx)(`input`,{type:`text`,value:i,onChange:e=>a(e.target.value),onBlur:u,onKeyDown:d,className:f(`w-full rounded-lg border bg-[var(--surface-default)] px-3 py-1.5 text-body-small-default text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] focus:outline-none`,l?`border-[var(--system-negative-strong)]`:`border-[var(--border-base)] focus:border-[var(--border-focus)]`),placeholder:e.defaultValue||`Enter value...`}),l&&(0,H.jsxs)(`span`,{className:`block text-body-small-default text-[var(--system-negative-strong)]`,children:[`Expected one of: `,c.join(`, `)]})]}),(0,H.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,H.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Default:`}),(0,H.jsx)(h,{tone:`neutral`,children:e.defaultValue||`(empty)`})]})]})})}function Z({flag:e,assistantId:t}){return e.kind===`string`?(0,H.jsx)(ce,{flag:e,assistantId:t}):(0,H.jsx)(se,{flag:e,assistantId:t})}function le(){let e=(0,V.useCallback)(()=>{t(Error(`[Dev Settings] Test error event`)),_.success(`Sentry error event sent.`)},[]),i=(0,V.useCallback)(()=>{r(`[Dev Settings] Test warning event`,`warning`),_.success(`Sentry warning event sent.`)},[]),a=(0,V.useCallback)(()=>{r(`[Dev Settings] Test info event`,`info`),_.success(`Sentry info event sent.`)},[]),o=(0,V.useCallback)(()=>{r(`[Dev Settings] Test fatal event`,`fatal`),_.success(`Sentry fatal event sent.`)},[]),s=(0,V.useCallback)(()=>{n({name:`[Dev Settings] Test transaction`,op:`test.transaction`,forceTransaction:!0}).end(),_.success(`Sentry performance transaction sent.`)},[]);return(0,H.jsx)(L,{title:`Sentry Testing`,subtitle:`Fire test events to verify Sentry integration is working.`,children:(0,H.jsxs)(`div`,{className:`space-y-3`,children:[(0,H.jsx)(Q,{icon:(0,H.jsx)(z,{className:`h-4 w-4 text-[var(--system-negative-strong)]`}),label:`Fatal Event`,description:`Send a fatal-level event to Sentry.`,onClick:o}),(0,H.jsx)(Q,{icon:(0,H.jsx)(P,{className:`h-4 w-4 text-[var(--system-negative-default)]`}),label:`Error Event`,description:`Capture a test Error exception.`,onClick:e}),(0,H.jsx)(Q,{icon:(0,H.jsx)(ee,{className:`h-4 w-4 text-[var(--system-warning-default)]`}),label:`Warning Event`,description:`Send a warning-level message.`,onClick:i}),(0,H.jsx)(Q,{icon:(0,H.jsx)(S,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),label:`Info Event`,description:`Send an info-level message.`,onClick:a}),(0,H.jsx)(Q,{icon:(0,H.jsx)(B,{className:`h-4 w-4 text-[var(--system-positive-default)]`}),label:`Performance Transaction`,description:`Start and end a test transaction span.`,onClick:s})]})})}function Q({icon:e,label:t,description:n,onClick:r}){return(0,H.jsxs)(`div`,{className:`flex items-center justify-between gap-4 rounded-lg border border-[var(--border-base)] px-4 py-3`,children:[(0,H.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,H.jsx)(`div`,{className:`shrink-0`,children:e}),(0,H.jsxs)(`div`,{className:`min-w-0`,children:[(0,H.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:t}),(0,H.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n})]})]}),(0,H.jsxs)(a,{variant:`outlined`,size:`compact`,onClick:r,children:[(0,H.jsx)(x,{className:`h-4 w-4`}),`Send`]})]})}var $=[{id:`feature-flags`,label:`Feature Flags`},{id:`lifecycle`,label:`Assistant Lifecycle`},{id:`sentry`,label:`Sentry Testing`}];function ue(){let e=o(),[t,n]=s(),r=M.use.settingsDeveloperNav(),i=M.use.hasHydrated(),l=(0,V.useMemo)(()=>{let e=t.get(`tab`);return $.find(t=>t.id===e)?.id??`feature-flags`},[t]);if(i&&!r)return(0,H.jsx)(c,{replace:!0,to:E.settings.general});let u=e=>{let r=new URLSearchParams(t.toString());e===`feature-flags`?r.delete(`tab`):r.set(`tab`,e),n(r,{replace:!0})};return(0,H.jsxs)(`div`,{"data-slot":`developer-page`,className:`flex min-h-0 flex-1 flex-col`,children:[(0,H.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-4 border-b border-[var(--border-base)]`,children:[(0,H.jsx)(`div`,{role:`tablist`,"aria-label":`Developer sections`,className:`flex items-center gap-1`,children:$.map(e=>{let t=e.id===l;return(0,H.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t,"aria-controls":`developer-tab-panel-${e.id}`,id:`developer-tab-${e.id}`,onClick:()=>u(e.id),className:ie(`relative -mb-px cursor-pointer border-b-2 px-4 py-2 text-body-medium-default transition-colors`,t?`border-[var(--system-positive-strong)] text-[var(--system-positive-strong)]`:`border-transparent text-[var(--content-tertiary)] hover:text-[var(--content-default)] dark:text-[var(--content-disabled)] dark:hover:text-[var(--content-default)]`),children:e.label},e.id)})}),y()&&(0,H.jsx)(a,{variant:`outlined`,className:`mb-1 shrink-0`,onClick:()=>void e(`${E.selectAssistant}?noAutoSkip=1`),children:`Choose Assistant`})]}),(0,H.jsxs)(`div`,{id:`developer-tab-panel-${l}`,role:`tabpanel`,"aria-labelledby":`developer-tab-${l}`,className:`flex min-h-0 flex-1 flex-col pt-6`,children:[l===`feature-flags`&&(0,H.jsxs)(`div`,{className:`space-y-6`,children:[(0,H.jsx)(oe,{}),(0,H.jsx)(J,{})]}),l===`lifecycle`&&(0,H.jsx)(U,{}),l===`sentry`&&(0,H.jsx)(le,{})]})]})}export{ue as DeveloperPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t}from"./useQuery-B45lW1Kk.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./notice-CqRgVmeL.js";import{t as i}from"./loader-circle-
|
|
1
|
+
import{r as e}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t}from"./useQuery-B45lW1Kk.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./notice-CqRgVmeL.js";import{t as i}from"./loader-circle-BFRVtR3K.js";import{t as a}from"./monitor-CXU19mVX.js";import{a as o}from"./routes-C6gxiCrz.js";import{v as s}from"./react-query.gen-By34AU2d.js";import{Mr as c,Nr as l,jr as u,mi as d,x as f}from"./index-DbPUHSMl.js";import{t as p}from"./detail-card-kfxLI0l_.js";var m=n();function h(e){return new Intl.DateTimeFormat(`en`,{month:`short`,day:`numeric`,year:`numeric`}).format(new Date(e))}function g({assistant:e}){let t=e,n=t.platform===`ios`,r=n?d:a,i=e.name||(n?`iOS Device`:t.hostname||`Unknown Device`);return(0,m.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg border border-[var(--border-base)] px-4 py-3`,children:[(0,m.jsx)(r,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`}),(0,m.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,m.jsx)(`div`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:i}),(0,m.jsxs)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[t.hostname&&(0,m.jsx)(`span`,{className:`mr-3`,children:t.hostname}),e.created&&(0,m.jsxs)(`span`,{children:[`Registered `,h(e.created)]})]})]})]})}function _(){let n=l({platformHostedOnly:!0}),a=u(),d=c(),{data:h,isLoading:_}=t({...s({query:{hosting:`local`}}),enabled:n===`full`&&a}),v=h?.results??[];return n===`gated`?(0,m.jsx)(e,{replace:!0,to:o.settings.general}):n===`disabled`?(0,m.jsx)(`div`,{className:`space-y-4`,children:(0,m.jsx)(f,{children:`Log in to the Vellum platform to manage self-hosted assistants.`})}):d?(0,m.jsx)(`div`,{className:`space-y-4`,children:(0,m.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,m.jsx)(i,{className:`h-4 w-4 animate-spin`}),`Loading devices…`]})}):a?(0,m.jsx)(`div`,{className:`space-y-4`,children:(0,m.jsx)(p,{title:`Self-Hosted Assistants`,subtitle:`Self-hosted assistants registered with your Vellum account. Registration lets these assistants use Vellum managed services — inference, web search, integrations — so that you don't have to bring your own API keys.`,children:_?(0,m.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,m.jsx)(i,{className:`h-4 w-4 animate-spin`}),`Loading devices...`]}):v.length===0?(0,m.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No self-hosted assistants registered.`}):(0,m.jsx)(`div`,{className:`space-y-2`,children:v.map(e=>(0,m.jsx)(g,{assistant:e},e.id))})})}):(0,m.jsx)(`div`,{className:`space-y-4`,children:(0,m.jsx)(r,{tone:`warning`,children:`Self-hosted assistant management isn't available for the current assistant state.`})})}export{_ as DevicesPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./platform-detection-ByImsPTf.js";var t=200,n=200,r=`vellum:chat-diagnostics:v1`,i=`vellum:chat-diagnostics-lifecycle:v1`,a={storageKey:r,max:t,loaded:!1,events:[]},o={storageKey:i,max:n,loaded:!1,events:[]};function s(){if(typeof window>`u`)return null;try{return window.sessionStorage}catch{return null}}function c(e){return typeof e==`object`&&!!e&&typeof e.ts==`string`&&typeof e.kind==`string`&&e.details!=null&&typeof e.details==`object`&&!Array.isArray(e.details)}function l(e){if(e.loaded)return;e.loaded=!0;let t=s();if(t)try{let n=t.getItem(e.storageKey);if(!n)return;let r=JSON.parse(n);if(!Array.isArray(r))return;e.events=r.filter(c).slice(-e.max)}catch{e.events=[]}}function u(e){let t=s();if(t)try{t.setItem(e.storageKey,JSON.stringify(e.events))}catch{}}function d(e,t,n){l(e),e.events.push({ts:new Date().toISOString(),kind:t,details:{platform:p(),...n}}),e.events.length>e.max&&(e.events=e.events.slice(-e.max)),u(e)}function f(e){return l(e),e.events.map(e=>({ts:e.ts,kind:e.kind,details:{...e.details}}))}function p(){try{return e()}catch{return`web`}}function m(e,t={}){d(a,e,t)}function h(e,t={}){d(o,e,t)}function g(){return f(a)}function _(){return f(o)}function v(e){return{schemaVersion:2,collectedAt:new Date().toISOString(),currentState:e,lifecycleEvents:_(),events:g()}}function y(e){return!Number.isFinite(e)||e<=0?`0`:e===1?`1`:e<=5?`2-5`:`6+`}function b(e){let t={};for(let n of e)t[n.role]=(t[n.role]??0)+1;return t}function x(e,t,n){typeof t[n]==`string`&&(e[n]=t[n])}function S(e,t,n){typeof t[n]==`number`&&Number.isFinite(t[n])&&(e[n]=t[n])}function C(e,t,n){typeof t[n]==`boolean`&&(e[n]=t[n])}function w(e,t,n){typeof t[n]==`string`&&(e[`${n}Length`]=t[n].length)}function T(e){let t=e,n={type:e.type};for(let e of[`messageId`,`requestId`,`surfaceId`,`surfaceType`,`toolUseId`,`conversationId`,`deliveryId`,`code`,`toolName`,`errorCategory`,`rawType`,`tab`,`sourceEventName`])x(n,t,e);for(let e of[`position`,`inputTokens`,`outputTokens`,`cachedInputTokens`,`cacheCreationInputTokens`,`contextWindowTokens`,`contextWindowMaxTokens`,`openUntil`])S(n,t,e);for(let e of[`isError`,`retryable`,`runStillActive`])C(n,t,e);for(let e of[`text`,`content`,`message`,`userMessage`,`debugDetails`,`title`,`body`,`summary`,`result`,`url`])w(n,t,e);if(typeof t.url==`string`)try{n.urlHost=new URL(t.url).host}catch{n.urlHost=null}return Array.isArray(t.attachments)&&(n.attachmentCount=t.attachments.length),Array.isArray(t.actions)&&(n.actionCount=t.actions.length),t.data!=null&&typeof t.data==`object`&&!Array.isArray(t.data)&&(n.dataKeys=Object.keys(t.data).length),t.input!=null&&typeof t.input==`object`&&!Array.isArray(t.input)&&(n.inputKeys=Object.keys(t.input).length),n}export{m as a,b as c,_ as i,T as l,v as n,h as o,g as r,p as s,y as t};
|
package/dist/assets/{dictation-overlay-page-BxQCzLMY.js → dictation-overlay-page-Dz04r9UQ.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./check-D6WkI0gF.js";import{t as i}from"./loader-circle-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./check-D6WkI0gF.js";import{t as i}from"./loader-circle-BFRVtR3K.js";import{t as a}from"./triangle-alert-C3aHZq1F.js";import{Gn as o,Kn as s,Wn as c,qn as l,xa as u}from"./index-DbPUHSMl.js";var d=e(t(),1),f=n();function p(){let[e,t]=(0,d.useState)(null),n=(0,d.useRef)(null),r=(0,d.useRef)(!1);if((0,d.useEffect)(()=>{let e=l(t);return c().then(e=>{e&&t(t=>t??e)}),e},[]),(0,d.useEffect)(()=>()=>{s(!1)},[]),(0,d.useEffect)(()=>{e?.kind===`recording`||!r.current||(r.current=!1,s(!1))},[e?.kind]),!e)return null;let i=e.kind===`recording`?e.transcription.trim():``,a=e.kind===`recording`?e.audioLevel??0:0,u=e=>{r.current!==e&&(r.current=e,s(e))};return(0,f.jsx)(`div`,{className:`flex h-screen w-screen items-start justify-center bg-transparent p-4`,onMouseMove:t=>{if(e.kind!==`recording`){u(!1);return}let r=n.current;if(!r){u(!1);return}let i=r.getBoundingClientRect();u(t.clientX>=i.left&&t.clientX<=i.right&&t.clientY>=i.top&&t.clientY<=i.bottom)},onMouseLeave:()=>u(!1),children:(0,f.jsxs)(`div`,{className:`flex w-[min(28rem,calc(100vw-2rem))] flex-col gap-1 rounded-xl border border-[var(--border-default)] bg-[var(--surface-base)] px-4 py-2.5 shadow-lg`,children:[(0,f.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,f.jsx)(_,{state:e}),(0,f.jsx)(`span`,{className:`truncate text-[11px] font-medium text-[var(--content-secondary)]`,children:g(e)}),e.kind===`recording`&&(0,f.jsx)(m,{level:a,stopButtonRef:n,onInteractiveChange:u,onStop:()=>{o(),u(!1)}})]}),i&&(0,f.jsx)(`div`,{className:`flex max-h-7 flex-col justify-end overflow-hidden`,children:(0,f.jsx)(`p`,{className:`break-words text-[10px] leading-snug text-[var(--content-tertiary)]`,children:i})})]})})}function m({level:e,stopButtonRef:t,onInteractiveChange:n,onStop:r}){return(0,f.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:[(0,f.jsx)(h,{level:e}),(0,f.jsx)(`button`,{ref:t,type:`button`,className:`flex size-5 items-center justify-center rounded-full text-[var(--content-secondary)] transition-colors hover:bg-[var(--surface-overlay)] hover:text-[var(--system-negative-strong)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--system-negative-strong)]`,"aria-label":`Stop recording`,title:`Stop recording`,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),onFocus:()=>n(!0),onBlur:()=>n(!1),onClick:r,children:(0,f.jsx)(u,{className:`size-4`,strokeWidth:2,"aria-hidden":!0})})]})}function h({level:e}){let t=Math.max(0,Math.min(1,e));return(0,f.jsx)(`div`,{className:`flex h-4 w-16 shrink-0 items-end gap-0.5`,"aria-hidden":!0,children:[.16,.32,.48,.64,.8,.96].map((e,n)=>(0,f.jsx)(`span`,{className:`w-1 rounded-full bg-[var(--system-negative-strong)] transition-[height,opacity] duration-75`,style:{height:`${6+n*1.5}px`,opacity:t>=e?1:.22}},e))})}function g(e){switch(e.kind){case`recording`:return`Recording…`;case`processing`:return`Processing…`;case`done`:return`Done`;case`error`:return e.message}}function _({state:e}){switch(e.kind){case`recording`:return(0,f.jsx)(`span`,{className:`size-2 shrink-0 rounded-full bg-[var(--system-negative-strong)]`,"aria-hidden":!0});case`processing`:return(0,f.jsx)(i,{className:`size-4 shrink-0 animate-spin text-[var(--content-secondary)]`,"aria-hidden":!0});case`done`:return(0,f.jsx)(r,{className:`size-4 shrink-0 text-[var(--system-positive-strong)]`,"aria-hidden":!0});case`error`:return(0,f.jsx)(a,{className:`size-4 shrink-0 text-[var(--system-negative-strong)]`,"aria-hidden":!0})}}export{p as DictationOverlayPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n,p as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./typography-BscuIPxA.js";import"./src-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n,p as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./typography-BscuIPxA.js";import"./src-mai-NajT.js";import{n as o}from"./resolved-assistants-store-Cp4J43BK.js";import{t as s}from"./loader-circle-BFRVtR3K.js";import{ht as c,mt as l,pt as u}from"./sdk.gen-7kFw36Fw.js";import{a as d}from"./routes-C6gxiCrz.js";import{t as f}from"./use-bus-subscription-BNaztnO7.js";import{n as p}from"./viewer-store-BSiJen54.js";import{r as m,t as h}from"./edit-chat-session-TX_J-I33.js";import{Et as g}from"./index-DbPUHSMl.js";var _=e(t(),1);function v({surfaceId:e,enabled:t,onCommentsChanged:n}){let r=(0,_.useRef)(n);return(0,_.useLayoutEffect)(()=>{r.current=n},[n]),(0,_.useCallback)(n=>{if(!t)return;let i=n.message;switch(i.type){case`document_comment_created`:case`document_comment_resolved`:case`document_comment_reopened`:case`document_comment_deleted`:i.surfaceId===e&&r.current();break;default:break}},[e,t])}var y=i();function b(){let{surfaceId:e}=r(),t=n(),i=o.use.activeAssistantId(),[b,x]=(0,_.useState)(null),[S,C]=(0,_.useState)(!0),[w,T]=(0,_.useState)(null),E=(0,_.useRef)(null);(0,_.useEffect)(()=>{if(!e){T(`No document ID provided.`),C(!1);return}if(!i)return;let t=!1;return(async()=>{try{let{data:n}=await l({path:{assistant_id:i,id:e},throwOnError:!0});if(t)return;x(n)}catch{t||T(`Failed to load document.`)}finally{t||C(!1)}})(),()=>{t=!0}},[e,i]);let D=(0,_.useCallback)(()=>{E.current?.refreshComments()},[]);f(`sse.event`,v({surfaceId:e??``,enabled:!!e,onCommentsChanged:D}));let O=(0,_.useCallback)(()=>{t(-1)},[t]),k=(0,_.useCallback)(async()=>{if(!b||!i||!e)return;let n=b.conversationId||h(i,e)||(typeof globalThis.crypto?.randomUUID==`function`?globalThis.crypto.randomUUID():`draft-${Date.now()}-${Math.random().toString(16).slice(2)}`);if(m(i,e,n),n!==b.conversationId)try{await u({path:{assistant_id:i,id:e},body:{conversationId:n},throwOnError:!0})}catch{}p.getState().openDocument(),p.getState().setLoadedDocument({surfaceId:b.surfaceId,conversationId:n,documentName:b.title,content:b.content});let r=`Please review and address my comments on "${b.title}".`;t(`${d.conversation(n)}?prompt=${encodeURIComponent(r)}`)},[b,i,e,t]),A=(0,_.useCallback)(async()=>{if(!b||!i)return;let{data:e,response:t}=await c({path:{assistant_id:i,id:b.surfaceId},throwOnError:!1,parseAs:`blob`});if(!t?.ok||!e)return;let n=URL.createObjectURL(e);Object.assign(document.createElement(`a`),{href:n,download:`${b.title||`document`}.pdf`}).click(),URL.revokeObjectURL(n)},[b,i]);return S?(0,y.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,y.jsx)(s,{size:24,className:`animate-spin`,style:{color:`var(--content-tertiary)`}})}):w||!b||!i?(0,y.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,y.jsx)(a,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:w??`Document not found.`})}):(0,y.jsx)(g,{surfaceId:b.surfaceId,assistantId:i,conversationId:b.conversationId,documentName:b.title,content:b.content,onClose:O,onExport:A,onSubmitFeedback:k,handleRef:E})}export{b as DocumentViewerPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D7s2Q_uG.js";import{t as r}from"./useQuery-B45lW1Kk.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import"./src-mai-NajT.js";import{t as a}from"./notice-CqRgVmeL.js";import{t as o}from"./input-C8kfrq9r.js";import{t as s}from"./modal-D0Q3UWD0.js";import{t as c}from"./createLucideIcon-BlMXrA59.js";import{t as l}from"./arrow-left-CP-EhDNF.js";import{t as u}from"./check-D6WkI0gF.js";import{t as d}from"./credit-card-BKRB1ZIi.js";import{t as f}from"./loader-circle-BFRVtR3K.js";import{ht as p}from"./react-query.gen-By34AU2d.js";import{$i as m,ai as h,la as g}from"./index-DbPUHSMl.js";var _=c(`share-2`,[[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}],[`circle`,{cx:`6`,cy:`12`,r:`3`,key:`w7nqdw`}],[`circle`,{cx:`18`,cy:`19`,r:`3`,key:`1xt0gg`}],[`line`,{x1:`8.59`,x2:`15.42`,y1:`13.51`,y2:`17.49`,key:`47mynk`}],[`line`,{x1:`15.41`,x2:`8.59`,y1:`6.51`,y2:`10.49`,key:`1n3mei`}]]),v=e(t(),1),y=i();function b(e){return e.replace(/\.00$/,``)}function x(e,t,n){let r=b(n),i=b(e),a=b(t);return i===a?`Share Vellum with friends — you'll each earn ${i} credits when they sign up, up to ${r} total.`:`Share Vellum with friends — you'll earn ${i} credits and they'll get ${a} when they sign up, up to ${r} total.`}function S({open:e,onClose:t}){return(0,y.jsx)(s.Root,{open:e,onOpenChange:e=>{e||t()},children:e?(0,y.jsx)(C,{}):null})}function C(){let[e,t]=(0,v.useState)(!1),[i,c]=(0,v.useState)(!1),{data:S,isLoading:C,isError:D,refetch:O,isFetching:k}=r(p()),A=(0,v.useCallback)(e=>{navigator.clipboard.writeText(e).then(()=>{t(!0),setTimeout(()=>t(!1),2e3)})},[]),j=S?.is_eligible_for_credits===!1,M=S?j?`Invite friends to Vellum. You'll start earning referral credits once you've purchased credits or upgraded to Pro.`:x(S.referrer_credit_amount,S.credit_amount,S.earning_cap):`Refer friends to earn free credits.`,N=S?b(S.earning_cap):``,P=i?`Referral Program Terms`:`Earn free credits`;return(0,y.jsxs)(s.Content,{size:`sm`,children:[(0,y.jsx)(s.Header,{children:(0,y.jsxs)(`div`,{className:`flex min-w-0 items-start gap-2`,children:[i&&(0,y.jsx)(n,{variant:`ghost`,size:`compact`,iconOnly:(0,y.jsx)(l,{}),onClick:()=>c(!1),"aria-label":`Back`,className:`mt-0.5`,tintColor:`var(--content-secondary)`}),(0,y.jsxs)(`div`,{className:`min-w-0`,children:[(0,y.jsx)(s.Title,{children:P}),!i&&(0,y.jsx)(s.Description,{children:M})]})]})}),(0,y.jsx)(s.Body,{children:i&&S?(0,y.jsx)(E,{cap:N}):C?(0,y.jsxs)(`div`,{className:`flex items-center gap-2 py-2 text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[(0,y.jsx)(f,{className:`h-4 w-4 animate-spin`}),`Loading referral information…`]}):D||!S?(0,y.jsxs)(`div`,{className:`space-y-3`,children:[(0,y.jsx)(`p`,{className:`!m-0 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:`Failed to load referral information.`}),(0,y.jsx)(n,{variant:`outlined`,onClick:()=>void O(),disabled:k,children:k?`Retrying…`:`Try Again`})]}):(0,y.jsxs)(`div`,{className:`space-y-4`,children:[(0,y.jsxs)(`div`,{className:`space-y-2`,children:[(0,y.jsx)(w,{icon:(0,y.jsx)(_,{className:`h-4 w-4`}),label:`Share your invite link`}),(0,y.jsx)(w,{icon:(0,y.jsx)(h,{className:`h-4 w-4`}),label:`They sign up`}),(0,y.jsx)(w,{icon:(0,y.jsx)(m,{className:`h-4 w-4`}),label:j?`You earn credits — once you've purchased credits or upgraded to Pro`:`You earn credits`})]}),(0,y.jsx)(`div`,{style:{borderTop:`1px solid var(--border-base)`}}),j&&(0,y.jsx)(a,{tone:`info`,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.`}),(0,y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,y.jsx)(o,{type:`text`,readOnly:!0,value:S.referral_url,fullWidth:!0,wrapperClassName:`flex-1`,className:`font-mono`,onFocus:e=>e.currentTarget.select()}),(0,y.jsx)(n,{variant:`outlined`,iconOnly:e?(0,y.jsx)(u,{}):(0,y.jsx)(g,{}),onClick:()=>A(S.referral_url),"aria-label":`Copy referral link`,className:`h-9 w-9`})]}),(0,y.jsx)(`div`,{style:{borderTop:`1px solid var(--border-base)`}}),(0,y.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,y.jsx)(T,{icon:(0,y.jsx)(h,{className:`h-3.5 w-3.5`}),value:String(S.referred_count),label:`Friends Referred`}),(0,y.jsx)(T,{icon:(0,y.jsx)(d,{className:`h-3.5 w-3.5`}),value:b(S.total_earned),label:`Credits Earned`})]}),(0,y.jsx)(`div`,{style:{borderTop:`1px solid var(--border-base)`}}),(0,y.jsx)(n,{variant:`ghost`,size:`compact`,onClick:()=>c(!0),fullWidth:!0,className:`text-body-small-default`,tintColor:`var(--content-tertiary)`,children:`View Terms and Conditions`})]})})]})}function w({icon:e,label:t}){return(0,y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,y.jsx)(`div`,{className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-md`,style:{background:`var(--surface-base)`,color:`var(--content-secondary)`},children:e}),(0,y.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:t})]})}function T({icon:e,value:t,label:n}){return(0,y.jsxs)(`div`,{className:`flex items-center gap-1.5 text-body-medium-lighter`,children:[(0,y.jsx)(`span`,{style:{color:`var(--content-tertiary)`},children:e}),(0,y.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:t}),(0,y.jsx)(`span`,{style:{color:`var(--content-tertiary)`},children:n})]})}function E({cap:e}){return(0,y.jsx)(`ul`,{className:`!m-0 !list-none space-y-2 !p-0`,children:[`This promotion is available to new users who sign up through your referral link only.`,`Rewards are earned once your invitee completes the creation of their Vellum account.`,`You may earn up to ${e} free credits through the Referral Program. We may change this limit at any time.`,`We do not grant credits for disposable or high-risk email accounts.`,`Each new user can generate only one (1) reward. No stacking or loophole hunting.`,`Please avoid spamming or misusing your referral link. Our systems actively monitor referral engagement.`,`If we detect suspicious or non-compliant activity, we reserve the right to withhold rewards or deactivate your referral link.`,`We may update, pause, or discontinue this program at any time.`].map(e=>(0,y.jsxs)(`li`,{className:`flex items-start gap-2 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:[(0,y.jsx)(`span`,{"aria-hidden":`true`,className:`mt-0.5`,children:`•`}),(0,y.jsx)(`span`,{children:e})]},e))})}export{S as EarnCreditsModal};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e,t}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as n}from"./useQuery-B45lW1Kk.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import"./src-
|
|
1
|
+
import{r as e,t}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as n}from"./useQuery-B45lW1Kk.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import"./src-mai-NajT.js";import{t as i}from"./tag-B_-QAvJF.js";import{t as a}from"./loader-circle-BFRVtR3K.js";import{t as o}from"./triangle-alert-C3aHZq1F.js";import{a as s}from"./routes-C6gxiCrz.js";import{_ as c,h as l,p as u}from"./react-query.gen-By34AU2d.js";import{Nr as d,Yi as f,_a as p,x as m,yi as h}from"./index-DbPUHSMl.js";import{t as g}from"./use-active-assistant-id-ZxDeBTfL.js";var _=r();function v(e){return new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function y({title:e,children:t}){return(0,_.jsxs)(`div`,{className:`space-y-3`,children:[(0,_.jsx)(`h2`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:e}),t]})}function b({tone:e=`info`,children:t}){let n=e===`error`;return(0,_.jsx)(`div`,{className:`rounded-md border px-4 py-3 text-body-medium-lighter`,style:{background:n?`var(--surface-negative-subtle, var(--surface-lift))`:`var(--surface-lift)`,borderColor:n?`var(--border-negative, var(--border-base))`:`var(--border-base)`,color:n?`var(--content-negative, var(--content-default))`:`var(--content-default)`},children:(0,_.jsxs)(`div`,{className:`flex items-start gap-2`,children:[n&&(0,_.jsx)(o,{className:`mt-0.5 h-4 w-4 shrink-0`,"aria-hidden":`true`}),(0,_.jsx)(`div`,{className:`flex-1`,children:t})]})})}function x({message:e,onRetry:t,retrying:n}){return(0,_.jsx)(b,{tone:`error`,children:(0,_.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,_.jsx)(`span`,{children:e}),(0,_.jsx)(`button`,{type:`button`,onClick:t,disabled:n,className:`text-body-small-default underline disabled:opacity-50`,style:{color:`var(--content-default)`},children:n?`Retrying…`:`Retry`})]})})}function S({label:e,value:t,sub:n}){return(0,_.jsxs)(`div`,{className:`rounded-xl border p-3`,style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:[(0,_.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:e}),(0,_.jsx)(`p`,{className:`mt-1 text-title-large tabular-nums`,style:{color:`var(--content-default)`},children:t??`—`}),n&&(0,_.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-disabled)`},children:n})]})}function C({email:e}){let t=e.direction===`inbound`;return(0,_.jsx)(`div`,{className:`rounded-xl border p-4`,style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:(0,_.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between`,children:[(0,_.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1`,children:[(0,_.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,_.jsx)(i,{tone:t?`positive`:`neutral`,leftIcon:t?(0,_.jsx)(f,{}):(0,_.jsx)(h,{}),children:t?`Inbound`:`Outbound`}),(0,_.jsx)(`span`,{className:`truncate text-body-small-default`,style:{color:`var(--content-tertiary)`},children:e.from_address})]}),(0,_.jsx)(`p`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-default)`},children:e.subject||`(no subject)`})]}),(0,_.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[(0,_.jsx)(p,{className:`h-3 w-3`}),(0,_.jsx)(`span`,{children:v(e.created_at)})]})]})})}function w({assistantId:e,platformGate:r}){let i=r===`full`,o=n({...u({path:{assistant_id:e}}),enabled:i}),d=o.data?.results?.[0],f=n({...l({path:{assistant_id:e,id:d?.id??``}}),enabled:i&&!!d?.id}),p=n({...c({path:{assistant_id:e},query:{limit:10}}),enabled:i}),m=f.data?.usage,h=p.data?.results??[];return o.isLoading?(0,_.jsx)(`div`,{className:`flex items-center justify-center py-24`,children:(0,_.jsx)(a,{className:`h-8 w-8 animate-spin`,style:{color:`var(--content-tertiary)`}})}):o.isError?(0,_.jsx)(x,{message:`Couldn't load email addresses.`,onRetry:()=>{o.refetch()},retrying:o.isFetching}):d?(0,_.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,_.jsx)(y,{title:`Totals`,children:(0,_.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 sm:grid-cols-4`,children:[(0,_.jsx)(S,{label:`Sent today`,value:m?.sent_today,sub:m?`of ${m.daily_limit} daily limit`:void 0}),(0,_.jsx)(S,{label:`Received today`,value:m?.received_today}),(0,_.jsx)(S,{label:`Sent this month`,value:m?.sent_this_month}),(0,_.jsx)(S,{label:`Received this month`,value:m?.received_this_month})]})}),(0,_.jsx)(y,{title:`Recent Emails`,children:p.isLoading?(0,_.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[(0,_.jsx)(a,{className:`h-4 w-4 animate-spin`}),`Loading…`]}):p.isError?(0,_.jsx)(x,{message:`Couldn't load recent emails.`,onRetry:()=>{p.refetch()},retrying:p.isFetching}):h.length===0?(0,_.jsx)(b,{children:`No emails yet.`}):(0,_.jsx)(`div`,{className:`space-y-2`,children:h.map(e=>(0,_.jsx)(C,{email:e},e.id))})})]}):(0,_.jsxs)(b,{children:[`No email address registered yet.`,` `,(0,_.jsx)(t,{to:s.settings.ai,className:`underline`,style:{color:`var(--content-tertiary)`},children:`Set one up in AI Settings → Email.`})]})}function T(){let t=d(),n=g();return t===`gated`?(0,_.jsx)(e,{replace:!0,to:s.logs.root}):t===`disabled`?(0,_.jsx)(m,{children:`Log in to the Vellum platform to view emails.`}):(0,_.jsx)(w,{assistantId:n,platformGate:t})}export{T as EmailsPage};
|