@vellumai/web 0.10.4-staging.1 → 0.10.4-staging.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{AnimatePresence-Dfn9OLfv.js → AnimatePresence-k-NoyzmC.js} +1 -1
- package/dist/assets/{BundleConfirmPage-cwBrFi1K.js → BundleConfirmPage-BcXA4t1n.js} +1 -1
- package/dist/assets/{Combination-DRz6Ez-m.js → Combination-4Qc3vrtW.js} +1 -1
- package/dist/assets/{QueryClientProvider-DgWA3A3c.js → QueryClientProvider-DKhXIxGb.js} +1 -1
- package/dist/assets/{about-page-6YWjIdZL.js → about-page-BQQ9OMS-.js} +1 -1
- package/dist/assets/{account-page-bNvk8mIC.js → account-page-cTyLtFgE.js} +1 -1
- package/dist/assets/{account-shell-B1geYjoc.js → account-shell-DLtzg6bW.js} +1 -1
- package/dist/assets/acp-run-detail-panel-DaNqQ4AU.js +5 -0
- package/dist/assets/{add-credits-modal-D-5W9e8w.js → add-credits-modal-p8hs2R5Q.js} +1 -1
- package/dist/assets/{advanced-page-CuerkFrp.js → advanced-page-CK4tCgvV.js} +1 -1
- package/dist/assets/ai-page-Bf5G1nk8.js +1 -0
- package/dist/assets/animated-avatar-BSEt2q64.js +1 -0
- package/dist/assets/{api-DXPKXkDj.js → api-Deex2etA.js} +1 -1
- package/dist/assets/{api-key-screen-QS5FdtlL.js → api-key-screen-BToN0-XM.js} +1 -1
- package/dist/assets/{app-info-oX9MaK2d.js → app-info-VB6EcPqh.js} +1 -1
- package/dist/assets/{archive-Ct5g6T4N.js → archive-BFILUl9x.js} +1 -1
- package/dist/assets/{archive-page-Bh0LTWRp.js → archive-page-CjnYMSCA.js} +1 -1
- package/dist/assets/arrow-left-CP-EhDNF.js +1 -0
- package/dist/assets/arrow-up-nBfZxfhi.js +1 -0
- package/dist/assets/assistant-api-D8xSkh-5.js +1 -0
- package/dist/assets/{assistant-feature-flag-store-Ceb6N94N.js → assistant-feature-flag-store-oe00IJMB.js} +1 -1
- package/dist/assets/assistant-identity-store-iWGqR8uz.js +1 -0
- package/dist/assets/{assistant-status-panel-DRHanMan.js → assistant-status-panel-CUEIZEyr.js} +1 -1
- package/dist/assets/{auth-store-BzL2lSd1.js → auth-store-B2Zo6DUE.js} +3 -3
- package/dist/assets/ban-BpBuRCKI.js +1 -0
- package/dist/assets/{bell-B-09xFrv.js → bell-DB1SrBre.js} +1 -1
- package/dist/assets/billing-page-Cjqv3hFX.js +3 -0
- package/dist/assets/{bookmark-B_4Mr1qd.js → bookmark-C3S-p0MQ.js} +1 -1
- package/dist/assets/{bookmarks-page-BvkvZ7uy.js → bookmarks-page-G8JL2TRr.js} +1 -1
- package/dist/assets/{brain-CamcLepK.js → brain-Bs6LnfHO.js} +1 -1
- package/dist/assets/{browser-CDQJAXkC.js → browser-B4y6LCLX.js} +2 -2
- package/dist/assets/{bug-BiiqXpDy.js → bug-DDcuQ3au.js} +1 -1
- package/dist/assets/{build-state-BIN8lPRx.js → build-state-CtsLvNgP.js} +1 -1
- package/dist/assets/{button-BvHa6F59.js → button-D7s2Q_uG.js} +1 -1
- package/dist/assets/{calendar-Ba3kkcG0.js → calendar-CpgH8CqM.js} +1 -1
- package/dist/assets/{capture-error-BaKOqBjF.js → capture-error-BG-GkiMq.js} +1 -1
- package/dist/assets/{card-D9_3ngHI.js → card-BibIM9x3.js} +1 -1
- package/dist/assets/chat-CdO26JJs.js +1 -0
- package/dist/assets/check-CW0KmV0o.js +1 -0
- package/dist/assets/check-D6WkI0gF.js +1 -0
- package/dist/assets/{checkbox-DNfwi5Hy.js → checkbox-BqCzUvXM.js} +1 -1
- package/dist/assets/chevron-left-DghyKSEE.js +1 -0
- package/dist/assets/chevron-right-B6vEpVY0.js +1 -0
- package/dist/assets/{chevron-up-CNrKWpd3.js → chevron-up-BRZN6p_l.js} +1 -1
- package/dist/assets/{circle-alert-BB_iJtM8.js → circle-alert-DvNg50UK.js} +1 -1
- package/dist/assets/circle-check-DzlJxj_M.js +1 -0
- package/dist/assets/{client-feature-flag-store-kWvb3vtZ.js → client-feature-flag-store-k_bI655l.js} +1 -1
- package/dist/assets/client-identity-B8CM527c.js +1 -0
- package/dist/assets/client.gen-DU1JkKSB.js +6 -0
- package/dist/assets/{cloud-off-DpkRXr7O.js → cloud-off-rAv4OHmv.js} +1 -1
- package/dist/assets/{cn-CFvi8Z0K.js → cn-DvW5mxZR.js} +1 -1
- package/dist/assets/code-aMX9iMYa.js +1 -0
- package/dist/assets/{command-palette-D1nNMvVX.js → command-palette-0moHjYai.js} +1 -1
- package/dist/assets/{command-palette-window-page-DrZt0RaG.js → command-palette-window-page-utfVpPv0.js} +1 -1
- package/dist/assets/{community-page-A8lshdka.js → community-page-BLtaVXOe.js} +1 -1
- package/dist/assets/{confirm-dialog-BtxNY4WU.js → confirm-dialog-CfOXCE1N.js} +1 -1
- package/dist/assets/{connect-page-CuSSRk9J.js → connect-page-Cu_qaH-z.js} +1 -1
- package/dist/assets/{consent-controls-CYj9WfJh.js → consent-controls-CwEkJRom.js} +1 -1
- package/dist/assets/{contacts-gateway-CHNyL-NU.js → contacts-gateway-B23m6emG.js} +1 -1
- package/dist/assets/contacts-page-route-Swz0yPYv.js +9 -0
- package/dist/assets/{conversation-list-fetchers-Bcp_Zesn.js → conversation-list-fetchers-B5KLYIZZ.js} +1 -1
- package/dist/assets/{conversation-store-6tz67quR.js → conversation-store-SjqDbOcn.js} +1 -1
- package/dist/assets/{cpu-PmmoD4_K.js → cpu-CiHv3fhs.js} +1 -1
- package/dist/assets/{credit-card-yPLmY1JU.js → credit-card-BKRB1ZIi.js} +1 -1
- package/dist/assets/{danger-zone-redirect-page-Dhgk9mkr.js → danger-zone-redirect-page-ChVePZyJ.js} +1 -1
- package/dist/assets/debug-page-CVw2bzGN.js +4 -0
- package/dist/assets/{deploy-dialogs-qdH6GTjP.js → deploy-dialogs-DYPOGbGL.js} +1 -1
- package/dist/assets/{detail-card-5TPdhuZN.js → detail-card-acc7KIet.js} +1 -1
- package/dist/assets/detail-shell-CoKg1S7U.js +3 -0
- package/dist/assets/{developer-page-BXl0qAXX.js → developer-page-nLBkSigq.js} +1 -1
- package/dist/assets/{devices-page-DaZR3FC4.js → devices-page-CFg1FAIT.js} +1 -1
- package/dist/assets/{diagnostics-D5xXiLo-.js → diagnostics-CGIesPpg.js} +1 -1
- package/dist/assets/{dictation-overlay-page-DOdZ_KIz.js → dictation-overlay-page-CIIcRSZr.js} +1 -1
- package/dist/assets/{dist-BkSUb6s0.js → dist-B0Gf-knw.js} +1 -1
- package/dist/assets/{dist-Ble8OyWO.js → dist-cApvLul2.js} +1 -1
- package/dist/assets/{document-viewer-page-XzPSoPVb.js → document-viewer-page-CNWyP82k.js} +1 -1
- package/dist/assets/{domain-field-BGp08c4L.js → domain-field-DYwuCpup.js} +1 -1
- package/dist/assets/{dropdown-SUNHYFiy.js → dropdown-CL8VmqrY.js} +1 -1
- package/dist/assets/earn-credits-modal-BkXk_l9a.js +1 -0
- package/dist/assets/{emails-page-BRnVsJnR.js → emails-page-C9mr_lzm.js} +1 -1
- package/dist/assets/{environment-store-B5EGAqzg.js → environment-store-DX2nQ26G.js} +1 -1
- package/dist/assets/esm-BPR7F84K.js +1 -0
- package/dist/assets/{esm-DQXfMjvW.js → esm-B_Dgz4mc.js} +2 -2
- package/dist/assets/esm-C7SZoG5u.js +2 -0
- package/dist/assets/esm-CMxBpGk-.js +2 -0
- package/dist/assets/esm-XqRGVrcj.js +2 -0
- package/dist/assets/esm-oLFwK0Kw.js +2 -0
- package/dist/assets/{external-link-h3UAe8eX.js → external-link-RJkZLlff.js} +1 -1
- package/dist/assets/{feature-flag-catalog-Br-v70vR.js → feature-flag-catalog-C7oM7PZ_.js} +1 -1
- package/dist/assets/{file-editor-Cy1TZHJJ.js → file-editor-BWfAnSsG.js} +1 -1
- package/dist/assets/{file-text-Bxj0xAst.js → file-text-ClqzuFsu.js} +1 -1
- package/dist/assets/funnel-CUPE93jb.js +1 -0
- package/dist/assets/general-page-Cx6tlYeL.js +1 -0
- package/dist/assets/{globe-D7wvOZaZ.js → globe-D3P5sSKJ.js} +1 -1
- package/dist/assets/{hard-drive-CO7i5o4z.js → hard-drive-CZEg1Cqc.js} +1 -1
- package/dist/assets/{hatching-screen-YvbZlnsV.js → hatching-screen-DbVpuOai.js} +1 -1
- package/dist/assets/home-page-route-CweAnlJn.js +1 -0
- package/dist/assets/{hosting-screen-CKlP38Z3.js → hosting-screen-DpWTAyj2.js} +1 -1
- package/dist/assets/identity-page-route-TiI1OQgN.js +1 -0
- package/dist/assets/index-0XgM92Lz.js +130 -0
- package/dist/assets/index-N8IeZea9.css +2 -0
- package/dist/assets/{info-CNTT4WCe.js → info-BGLlcyt6.js} +1 -1
- package/dist/assets/{info-B4DDA6uP.js → info-ciQS_i3y.js} +1 -1
- package/dist/assets/{input-BLN3wmw2.js → input-C8kfrq9r.js} +1 -1
- package/dist/assets/{inspect-page-AldHg0Dz.js → inspect-page-BWSvIJ2d.js} +9 -7
- package/dist/assets/install-s7InKiDi.js +1 -0
- package/dist/assets/integrations-page-CMYurvd3.js +1 -0
- package/dist/assets/intelligence-layout-B_UDPu0L.js +1 -0
- package/dist/assets/{keyboard-shortcuts-page-Capx1ICA.js → keyboard-shortcuts-page-E8rGDLiG.js} +1 -1
- package/dist/assets/{lib-Bexzcbsy.js → lib-BUVy-xYr.js} +1 -1
- package/dist/assets/{library-detail-page-DrgMdBPq.js → library-detail-page-BlrRC_ny.js} +1 -1
- package/dist/assets/{library-page-Catpu3p0.js → library-page-Dct5o6_9.js} +1 -1
- package/dist/assets/{link-2-DW8ruMGH.js → link-2-r_QPxX18.js} +1 -1
- package/dist/assets/{list-row-l7sxQ4Tj.js → list-row-Cw9JYESP.js} +1 -1
- package/dist/assets/loader-circle-BFRVtR3K.js +1 -0
- package/dist/assets/{local-mode-Cez1weue.js → local-mode-CvrNMtPF.js} +1 -1
- package/dist/assets/{log-in-Ci5ja9sN.js → log-in-CEw63CGU.js} +1 -1
- package/dist/assets/{login-flow-DeMU71_M.js → login-flow-BtdVqmTm.js} +1 -1
- package/dist/assets/{login-page-DkNb0F3s.js → login-page-sS8t_Aik.js} +1 -1
- package/dist/assets/{logout-page-POyojlS1.js → logout-page-BCcEjyS2.js} +1 -1
- package/dist/assets/{logs-layout-qJmOLDZF.js → logs-layout-Btvxnin8.js} +1 -1
- package/dist/assets/{memory-router-playground-page-DD6t0kqe.js → memory-router-playground-page-D5ruL9dQ.js} +1 -1
- package/dist/assets/{menu-_JM4udVm.js → menu-C_97pis4.js} +1 -1
- package/dist/assets/messages-B5v7xWiw.js +13 -0
- package/dist/assets/{status-badge-pill-CSitw8_5.js → metric-card-DqAVWY-G.js} +1 -1
- package/dist/assets/{minimize-2-DmC6-Woz.js → minimize-2-dKm10qRD.js} +1 -1
- package/dist/assets/{mobile-sidebar-drawer-B4ol32hs.js → mobile-sidebar-drawer-BBHy-x2N.js} +1 -1
- package/dist/assets/{modal-CH2iwSBx.js → modal-D0Q3UWD0.js} +1 -1
- package/dist/assets/{monitor-B1YMXlZj.js → monitor-CXU19mVX.js} +1 -1
- package/dist/assets/{moon-DSWoApF5.js → moon-CKINz50a.js} +1 -1
- package/dist/assets/mutation-error-NiVTbM-q.js +1 -0
- package/dist/assets/{native-file-GuVJgNpB.js → native-file-Bm3eyig_.js} +2 -2
- package/dist/assets/{notice-BhqKj_VM.js → notice-CqRgVmeL.js} +1 -1
- package/dist/assets/{notifications-page-MRalDive.js → notifications-page-cOGpYgqy.js} +1 -1
- package/dist/assets/{oauth-complete-page-DGOyh2u6.js → oauth-complete-page-C2RjDFuA.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-BPxKmr_f.js → oauth-popup-complete-page-Cwy2jqJN.js} +1 -1
- package/dist/assets/{page-shell-cu3KBmqd.js → page-shell-5T-Jxz7G.js} +1 -1
- package/dist/assets/{pairing-page-_ulPOW9r.js → pairing-page-DHF2ThH-.js} +1 -1
- package/dist/assets/{panel-item-DN2CyWOT.js → panel-item-nGTDevWP.js} +1 -1
- package/dist/assets/{password-reset-page-BfRXQpS_.js → password-reset-page-yn0MrnNq.js} +1 -1
- package/dist/assets/{pencil-DUMCM9m-.js → pencil-B90pDI55.js} +1 -1
- package/dist/assets/{platform-loopback-page-D3oAT6qE.js → platform-loopback-page-DSx9flbF.js} +1 -1
- package/dist/assets/plugin-detail-page-sX6m5HV3.js +1 -0
- package/dist/assets/plugins-page-_kqpdU-W.js +1 -0
- package/dist/assets/plugins-surface-KFX25A-q.js +1 -0
- package/dist/assets/{popover-BIr0nN9H.js → popover-CL-JL6vG.js} +1 -1
- package/dist/assets/prechat-route-D2HszqA0.js +1 -0
- package/dist/assets/{prefs-C6e8pdrA.js → prefs-OrKWJGM_.js} +1 -1
- package/dist/assets/{privacy-page-gc352kAN.js → privacy-page-BJfuoXgs.js} +1 -1
- package/dist/assets/privacy-screen-BGNcisJ2.js +1 -0
- package/dist/assets/{progress-bar-ATg2lhDh.js → progress-bar-DIFlWPPg.js} +1 -1
- package/dist/assets/{provider-callback-page-BtYwaMxL.js → provider-callback-page-LZHmOo01.js} +1 -1
- package/dist/assets/{provider-key-BKR2QTfR.js → provider-key-DIchy_Bc.js} +1 -1
- package/dist/assets/{provider-signup-page-80V_D9ad.js → provider-signup-page-D327vCgu.js} +1 -1
- package/dist/assets/{proxy-T76Q62qP.js → proxy-i05YF9w2.js} +1 -1
- package/dist/assets/{quick-input-page-B-7fTgJi.js → quick-input-page-DA2vqGas.js} +1 -1
- package/dist/assets/react-query.gen-CsMIK93J.js +1 -0
- package/dist/assets/{react-query.gen-breoeUVK.js → react-query.gen-DiTBi6eG.js} +1 -1
- package/dist/assets/{refresh-cw-kmptQnpX.js → refresh-cw-Dui3Ymsb.js} +1 -1
- package/dist/assets/repeat-nCGBxntG.js +1 -0
- package/dist/assets/{research-mock-page-DYPr-S2q.js → research-mock-page-DRkJQuq2.js} +1 -1
- package/dist/assets/research-onboarding-route-Dk-9KwG_.js +37 -0
- package/dist/assets/{resize-errors-ocHCHRPn.js → resize-errors-D1myE8D_.js} +1 -1
- package/dist/assets/{resolved-assistants-store-BrS8JBzC.js → resolved-assistants-store-Cp4J43BK.js} +1 -1
- package/dist/assets/{return-to-DlPFMVLx.js → return-to-D0TfUwsP.js} +1 -1
- package/dist/assets/{review-terms-screen-DFlSm1tM.js → review-terms-screen-Cmcw1D67.js} +1 -1
- package/dist/assets/routes-Cj4wRAOK.js +1 -0
- package/dist/assets/{save-DQyrotXP.js → save-BpAesNEP.js} +1 -1
- package/dist/assets/{schedules-DZspBZ61.js → schedules-B7I0imdw.js} +1 -1
- package/dist/assets/sdk.gen-BwKkHEki.js +1 -0
- package/dist/assets/{sdk.gen-DSjI3deY.js → sdk.gen-DmWuY0SL.js} +1 -1
- package/dist/assets/{select-assistant-screen-kcdnMYj7.js → select-assistant-screen-oJuFe0vU.js} +1 -1
- package/dist/assets/{setting-row-DB3q3lgL.js → setting-row-DodPe3yk.js} +1 -1
- package/dist/assets/settings-layout-B9Uu1igg.js +1 -0
- package/dist/assets/share-feedback-modal-DN1agJEb.js +1 -0
- package/dist/assets/{shortcut-keys-D4E8qQgS.js → shortcut-keys-vM6sNj7W.js} +1 -1
- package/dist/assets/{sidebar-tree-BCJVetMg.js → sidebar-tree-CHyPnNA0.js} +1 -1
- package/dist/assets/{signup-page-iM9szAKN.js → signup-page-BaIcYI50.js} +1 -1
- package/dist/assets/{signup-shell-GOG8-46O.js → signup-shell-DgwKMvn2.js} +1 -1
- package/dist/assets/skills-page-wOVBvBdB.js +1 -0
- package/dist/assets/{sound-manager-DwCzTycd.js → sound-manager-BnZ7SwXM.js} +1 -1
- package/dist/assets/{sounds-page-C3qbFW0l.js → sounds-page-ZCBq6ru9.js} +1 -1
- package/dist/assets/{sparkles-C8eL4LNF.js → sparkles-Bla177ar.js} +1 -1
- package/dist/assets/{src-Dr68ou95.js → src-mai-NajT.js} +1 -1
- package/dist/assets/{stat-square-zBHENXcL.js → stat-square-B0S3fO7O.js} +1 -1
- package/dist/assets/status-badge-pill-Bwe3k-op.js +1 -0
- package/dist/assets/{step-indicator-dots-D4A7eDFL.js → step-indicator-dots-DjUaEVje.js} +1 -1
- package/dist/assets/subagent-detail-panel-C_GwZcyl.js +4 -0
- package/dist/assets/{subagent-store-CFwN6f1W.js → subagent-store-BANqfUgA.js} +1 -1
- package/dist/assets/system-events-page-CQUZjHbp.js +1 -0
- package/dist/assets/{system-events-redirect-page-Bkigvq03.js → system-events-redirect-page-B6WgM0Vv.js} +1 -1
- package/dist/assets/{tag-64Evw5MO.js → tag-B_-QAvJF.js} +1 -1
- package/dist/assets/three-dot-indicator-DAKo-L_x.js +1 -0
- package/dist/assets/{tiptap-document-editor-D031y5O7.js → tiptap-document-editor-tDTTC-Je.js} +2 -2
- package/dist/assets/{toast-VJ6jFKB9.js → toast-2TW5tj1Y.js} +1 -1
- package/dist/assets/{toggle-zADptotB.js → toggle-X_kQW5my.js} +1 -1
- package/dist/assets/tool-detail-panel-DIk8Db76.js +2 -0
- package/dist/assets/{trace-page-CEyVWa_4.js → trace-page-TdKZ1dXH.js} +1 -1
- package/dist/assets/{triangle-alert-DqPPHRPD.js → triangle-alert-Bz1PpciW.js} +1 -1
- package/dist/assets/{triangle-alert-eaW8jtCr.js → triangle-alert-C3aHZq1F.js} +1 -1
- package/dist/assets/{typography-COqg6o2z.js → typography-BscuIPxA.js} +1 -1
- package/dist/assets/{upgrade-cancel-page-CM9JnbEO.js → upgrade-cancel-page-BVr06o5p.js} +1 -1
- package/dist/assets/{upgrade-success-page-BxrXUjiP.js → upgrade-success-page-CIBIIMbB.js} +1 -1
- package/dist/assets/{usage-page-DBmsLal7.js → usage-page-CcGNq6p_.js} +1 -1
- package/dist/assets/{use-active-assistant-id-jfqnc4T7.js → use-active-assistant-id-D4UJEQM5.js} +1 -1
- package/dist/assets/{use-bus-subscription-CKWguMzy.js → use-bus-subscription-CNRtVrPC.js} +1 -1
- package/dist/assets/use-is-org-ready-Dj2-PRLz.js +1 -0
- package/dist/assets/{use-onboarding-login-Cz1MgHw6.js → use-onboarding-login-CyEAqbC7.js} +1 -1
- package/dist/assets/{use-reduced-motion-DvKonyYy.js → use-reduced-motion-DmsjJfoE.js} +1 -1
- package/dist/assets/{useMutation-D3WkZnYg.js → useMutation-Lj4VunQV.js} +1 -1
- package/dist/assets/{useBaseQuery-BOw_gWPH.js → useQuery-B45lW1Kk.js} +1 -1
- package/dist/assets/{user-plus-CjFuXA3D.js → user-plus-COoYKnWs.js} +1 -1
- package/dist/assets/{utils-Lep-7jRg.js → utils-Bg9t-lBx.js} +1 -1
- package/dist/assets/viewer-store-BKkbfdPD.js +1 -0
- package/dist/assets/{voice-page-C3zxM20t.js → voice-page-BOFy-jR_.js} +1 -1
- package/dist/assets/weather-forecast-display-bZDWJOMu.js +1 -0
- package/dist/assets/{web-Cygkn0vs.js → web-BlDBGu36.js} +1 -1
- package/dist/assets/{web-CNtrY6ZR.js → web-BpH9TOnx.js} +1 -1
- package/dist/assets/{web-CtAf2vJC.js → web-CFYymSzw.js} +1 -1
- package/dist/assets/{web-C6Et8xNJ.js → web-CReVlJcu.js} +1 -1
- package/dist/assets/{web-CccL0uF5.js → web-CWJUzKI_.js} +1 -1
- package/dist/assets/{web-Broue3sZ.js → web-Cd-q_a1I.js} +1 -1
- package/dist/assets/{web-DuqCaaXx.js → web-Cly_79wU.js} +1 -1
- package/dist/assets/{welcome-screen-RBmiq3Lq.js → welcome-screen-Cka_lktU.js} +1 -1
- package/dist/assets/workflow-detail-panel-C_rq6yGi.js +1 -0
- package/dist/assets/workspace-page-4CJ_pIeB.js +1 -0
- package/dist/assets/x-C8bCmIhD.js +1 -0
- package/dist/assets/x-DxL-bCuT.js +1 -0
- package/dist/index.html +136 -135
- package/package.json +1 -1
- package/dist/assets/ai-page-CsqhZcSf.js +0 -1
- package/dist/assets/arrow-left-BPsKoNcb.js +0 -1
- package/dist/assets/arrow-up-CkZMv0kb.js +0 -1
- package/dist/assets/assistant-api-BdlaVxiH.js +0 -1
- package/dist/assets/assistant-identity-store-ESeBny_J.js +0 -1
- package/dist/assets/ban-BW0pQzvY.js +0 -1
- package/dist/assets/billing-page-CEArOabV.js +0 -3
- package/dist/assets/check-DwLoiFa9.js +0 -1
- package/dist/assets/check-DxBmXJus.js +0 -1
- package/dist/assets/chevron-left-CgekgptJ.js +0 -1
- package/dist/assets/chevron-right-DP15nqFC.js +0 -1
- package/dist/assets/circle-check-Cwv8JCfw.js +0 -1
- package/dist/assets/code-7vvpMPgo.js +0 -1
- package/dist/assets/contacts-page-route-qsIGsjpD.js +0 -9
- package/dist/assets/debug-page-Ddv9MlOm.js +0 -4
- package/dist/assets/earn-credits-modal-D7ioWvNh.js +0 -1
- package/dist/assets/esm-8Mv545sP.js +0 -2
- package/dist/assets/esm-B35SBKTx.js +0 -2
- package/dist/assets/esm-B9nLiq-2.js +0 -1
- package/dist/assets/esm-Dz9uwqjb.js +0 -2
- package/dist/assets/esm-TyKOKslC.js +0 -2
- package/dist/assets/funnel-events-Dz_DLI0Q.js +0 -1
- package/dist/assets/general-page-Dl7IYYSf.js +0 -1
- package/dist/assets/home-page-route-B7AJU1pr.js +0 -1
- package/dist/assets/identity-page-route-CZQEWoJK.js +0 -1
- package/dist/assets/index-3zpPFBeR.js +0 -132
- package/dist/assets/index-PRuqIn_u.css +0 -2
- package/dist/assets/install-D_GSceot.js +0 -1
- package/dist/assets/integrations-page-b3sE-PDS.js +0 -1
- package/dist/assets/intelligence-layout-CsM_YjdB.js +0 -1
- package/dist/assets/loader-circle-cYXxWP5B.js +0 -1
- package/dist/assets/messages-DCNfjhgv.js +0 -13
- package/dist/assets/mutation-error-B5AKP6aC.js +0 -1
- package/dist/assets/plugin-detail-page-ClMMTrti.js +0 -1
- package/dist/assets/plugins-page-y6Aom9qx.js +0 -1
- package/dist/assets/prechat-route-MTnUk6MK.js +0 -1
- package/dist/assets/privacy-screen-CQLPQPoM.js +0 -1
- package/dist/assets/react-query.gen-BeTpj_Sy.js +0 -1
- package/dist/assets/research-onboarding-route-yYstHFq4.js +0 -35
- package/dist/assets/risk-badge-CTIwePVV.js +0 -1
- package/dist/assets/routes-Dzl0kj5j.js +0 -1
- package/dist/assets/sdk.gen-CC1iYdd0.js +0 -6
- package/dist/assets/settings-layout-DV4y_-8a.js +0 -1
- package/dist/assets/share-feedback-modal-CNGNLLDP.js +0 -1
- package/dist/assets/skills-page-D3c3cuti.js +0 -1
- package/dist/assets/subagent-detail-panel-D3xm4yVF.js +0 -4
- package/dist/assets/system-events-page-CXlJ_J54.js +0 -1
- package/dist/assets/three-dot-indicator-DKd64wpF.js +0 -1
- package/dist/assets/tool-call-status-DNS6Y_vi.js +0 -1
- package/dist/assets/tool-detail-panel-Cq_SyoUG.js +0 -2
- package/dist/assets/use-is-org-ready-DLZpD311.js +0 -1
- package/dist/assets/use-plugin-drift-4-li_vW2.js +0 -1
- package/dist/assets/useInfiniteQuery-iPXlezAp.js +0 -1
- package/dist/assets/useQuery-cVuP8q1x.js +0 -1
- package/dist/assets/viewer-store-Dened07w.js +0 -1
- package/dist/assets/weather-forecast-display-DfsXEBSo.js +0 -1
- package/dist/assets/workflow-detail-panel-C2dD_hU2.js +0 -1
- package/dist/assets/workspace-page-lR8lzD2L.js +0 -1
- package/dist/assets/x-649kPSQS.js +0 -1
- package/dist/assets/x-Bn5tweDc.js +0 -1
- /package/dist/assets/{api-errors-B-g6gvNv.js → api-errors-DPruG7q9.js} +0 -0
- /package/dist/assets/{avatar-bundled-components-DoxUXsZB.js → avatar-bundled-components-DUNo-SZc.js} +0 -0
- /package/dist/assets/{avatar-svg-compositor-Bzno7teV.js → avatar-svg-compositor-DMVZdMXC.js} +0 -0
- /package/dist/assets/{build.umd-C56vswwO.js → build.umd-BO4u00Aj.js} +0 -0
- /package/dist/assets/{client.gen-BnoNy2w0.js → client.gen-BHupOCJH.js} +0 -0
- /package/dist/assets/{composer-focus-BZr63Cvs.js → composer-focus-CpeV_gfi.js} +0 -0
- /package/dist/assets/{conversation-selection-BV7USWf2.js → conversation-selection-DA_7HozA.js} +0 -0
- /package/dist/assets/{create-selectors-BTyhO-eS.js → create-selectors-BE0_e_Ed.js} +0 -0
- /package/dist/assets/{createLucideIcon-6rJ6BdB7.js → createLucideIcon-Bjb-Kuq7.js} +0 -0
- /package/dist/assets/{createLucideIcon-D8roAprb.js → createLucideIcon-BlMXrA59.js} +0 -0
- /package/dist/assets/{definitions-CtVlh_R5.js → definitions-DiTBkL0Z.js} +0 -0
- /package/dist/assets/{dist-CzyDxYAs.js → dist-FMUOufe0.js} +0 -0
- /package/dist/assets/{edit-chat-session-BYvbyTwd.js → edit-chat-session-B8pCxoj8.js} +0 -0
- /package/dist/assets/{effective-timezone-DAkNzd21.js → effective-timezone-CND2iNaq.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-hHp74TCA.js → emoji-catalog-data-Bg0TbcxL.js} +0 -0
- /package/dist/assets/{event-bus-CBil9JQT.js → event-bus-B3E3w-q2.js} +0 -0
- /package/dist/assets/{format-HKnibeVj.js → format-9aopHqZI.js} +0 -0
- /package/dist/assets/{format-date-DyMQp2_m.js → format-date-C4llqVi6.js} +0 -0
- /package/dist/assets/{format-file-size-DOcXaUaE.js → format-file-size-CCd1QKOV.js} +0 -0
- /package/dist/assets/{haptics-CKwMH4eq.js → haptics-sqdfYVvS.js} +0 -0
- /package/dist/assets/{impersonate-version-flag-XVa1Tm2F.js → impersonate-version-flag-v7MjXJjg.js} +0 -0
- /package/dist/assets/{infiniteQueryOptions-DTCCTa10.js → infiniteQueryOptions-C6p49ZmI.js} +0 -0
- /package/dist/assets/{is-electron-URCUw74P.js → is-electron-C_ZTVhv8.js} +0 -0
- /package/dist/assets/{jsx-runtime-B-mvcaJS.js → jsx-runtime-CVSDxk6A.js} +0 -0
- /package/dist/assets/{llm-dimension-Dx3xIzPP.js → llm-dimension-lLHLPAPE.js} +0 -0
- /package/dist/assets/{misc-CBD9JJCY.js → misc-Bm2e0rTa.js} +0 -0
- /package/dist/assets/{native-deep-link-DmJ7Ty6z.js → native-deep-link-DGAUYRAY.js} +0 -0
- /package/dist/assets/{pdf-DNWhOzmB.js → pdf-RkJbZQTD.js} +0 -0
- /package/dist/assets/{prechat-names-Bo5bdzfH.js → prechat-names-DqbiM_xi.js} +0 -0
- /package/dist/assets/{prechat-BuuzFtal.js → prechat-qvhqEHmK.js} +0 -0
- /package/dist/assets/{public-asset-BTisO-cB.js → public-asset-B78MSgNd.js} +0 -0
- /package/dist/assets/{queryOptions-DGyQTr3e.js → queryOptions-BtNi-_9H.js} +0 -0
- /package/dist/assets/{semver-DpADL11z.js → semver-ilCx6Qwk.js} +0 -0
- /package/dist/assets/{typed-storage-Chj38wph.js → typed-storage-CNJeje_7.js} +0 -0
- /package/dist/assets/{usage-window-dm_mRqGo.js → usage-window-CL2KEFPC.js} +0 -0
- /package/dist/assets/{use-is-mobile-BF5x8sr8.js → use-is-mobile-BGESxQUL.js} +0 -0
- /package/dist/assets/{workflow-status-B53qU9DS.js → workflow-status-PqQ1OqJN.js} +0 -0
- /package/dist/assets/{xterm-CQ7wuPsS.js → xterm-CRS9jN9Y.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-CamgTlEH.js → xterm-addon-fit-gN9udZ6n.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,n,o as r,r as i,s as a}from"./device-settings-BBwtGKJb.js";import{t as o}from"./react-DJZBPgpf.js";import{O as s,t as c}from"./button-BvHa6F59.js";import{n as l}from"./QueryClientProvider-DgWA3A3c.js";import{t as u}from"./useMutation-D3WkZnYg.js";import{t as d}from"./jsx-runtime-B-mvcaJS.js";import{t as f}from"./useQuery-cVuP8q1x.js";import{t as p}from"./cn-CFvi8Z0K.js";import{t as m}from"./card-D9_3ngHI.js";import{t as h}from"./dropdown-SUNHYFiy.js";import{t as g}from"./confirm-dialog-BtxNY4WU.js";import{t as _}from"./notice-BhqKj_VM.js";import{t as v}from"./tag-64Evw5MO.js";import{t as y}from"./input-BLN3wmw2.js";import{t as b}from"./toggle-zADptotB.js";import{n as x}from"./toast-VJ6jFKB9.js";import{t as S}from"./chevron-right-DP15nqFC.js";import{t as C}from"./loader-circle-cYXxWP5B.js";import{t as w}from"./pencil-DUMCM9m-.js";import{t as T}from"./x-Bn5tweDc.js";import{C as E,D,E as O,M as k,O as A,S as ee,T as te,f as j,n as ne,r as re,w as ie}from"./auth-store-BzL2lSd1.js";import{t as ae}from"./sdk.gen-DSjI3deY.js";import{a as oe,i as se}from"./routes-Dzl0kj5j.js";import{n as M,t as N}from"./react-query.gen-breoeUVK.js";import{$i as ce,B as le,Gr as P,H as ue,Ir as de,V as F,Zt as fe,cn as pe,g as I,h as L,in as R,m as z,nn as B,on as me,p as V,rn as he,sn as ge,x as _e}from"./index-3zpPFBeR.js";import{t as H}from"./use-active-assistant-id-jfqnc4T7.js";import{t as U}from"./detail-card-5TPdhuZN.js";import{t as W}from"./setting-row-DB3q3lgL.js";var G=e(o(),1),K=d(),q=[{id:`accessibility`,type:`system`,sourceKind:`accessibility`,label:`Accessibility`,description:`Allows your assistant to click, type, and control apps on your behalf.`},{id:`screen`,type:`system`,sourceKind:`screen`,label:`Screen Recording`,description:`Allows your assistant to capture screen context during computer-use tasks.`},{id:`microphone`,type:`system`,sourceKind:`microphone`,label:`Microphone`,description:`Allows your assistant to capture audio for voice input and recordings.`},{id:`speechRecognition`,type:`system`,sourceKind:`speechRecognition`,label:`Speech Recognition`,description:`Allows your assistant to transcribe your speech into text on-device.`},{id:`notifications`,type:`system`,sourceKind:`notifications`,label:`Notifications`,description:`Allows your assistant to send macOS alerts for approvals, messages, and task updates.`}],ve=[{id:`notificationBadges`,type:`local`,label:`Notification Badges`,description:`Allows your assistant to show unseen conversation counts on the Dock icon.`}];function ye(){let[e,t]=(0,G.useState)(null);return{pendingKind:e,run:async(e,n)=>{t(e);try{await n()}catch{}finally{t(t=>t===e?null:t)}}}}function be(){let[e,r]=(0,G.useState)(()=>n(`dockBadgesEnabled`,!0));return(0,G.useEffect)(()=>a(`dockBadgesEnabled`,()=>{r(n(`dockBadgesEnabled`,!0))}),[]),[e,e=>{r(e),t(`dockBadgesEnabled`,e),e||fe(0)}]}function xe({row:e,onToggle:t}){return(0,K.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,K.jsx)(b,{checked:e.checked,disabled:e.disabled,"aria-label":e.label,onChange:()=>t(e.id)}),(0,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsxs)(`button`,{type:`button`,disabled:e.disabled,onClick:()=>t(e.id),className:p(`block w-full text-left`,e.disabled?`cursor-not-allowed`:`cursor-pointer`),children:[(0,K.jsx)(`span`,{className:`block text-[14px] font-semibold leading-[18px] text-[var(--content-emphasised)]`,children:e.label}),(0,K.jsx)(`span`,{className:`mt-1 block text-[13px] font-medium leading-[18px] text-[var(--content-tertiary)]`,children:e.description})]}),e.error&&(0,K.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--system-negative-strong)]`,children:e.error})]})]})}function Se(){return(0,K.jsx)(`span`,{"aria-hidden":`true`,className:`h-4 w-4 animate-spin rounded-full border-2 border-[var(--border-base)] border-t-[var(--content-tertiary)]`})}function Ce({compact:e=!1}){let{state:t,loading:n,error:r,supported:i,refresh:a}=pe(),{pendingKind:o,run:s}=ye(),[c,l]=be(),u=(0,G.useMemo)(()=>{let e=new Map;if(!t)return e;for(let n of q){let r=t[n.sourceKind];r&&e.set(n.id,{meta:n,item:r})}return e},[t]),d=(0,G.useMemo)(()=>{let e=q.map(e=>{let t=u.get(e.id)?.item;return t?{id:e.id,label:e.label,description:e.description,checked:t.status===`granted`,disabled:o===e.id||t.status===`restricted`,...t.error?{error:t.error}:{}}:null}).filter(Boolean),t=ve.map(e=>({id:e.id,label:e.label,description:e.description,checked:c,disabled:o===e.id}));return[...e,...t]},[c,o,u]);if(!i)return null;let f=async(e,t)=>{t.status===`granted`||t.status===`denied`||!t.canRequest?await me(e.sourceKind):await ge(e.sourceKind),await a()},p=e=>{let t=u.get(e);if(t){s(e,()=>f(t.meta,t.item));return}e===`notificationBadges`&&s(e,async()=>{l(!c)})};return(0,K.jsxs)(`section`,{className:`w-full rounded-[20px] border border-[var(--border-hover)] bg-[var(--surface-lift)] px-4 pb-3 pt-5`,children:[(0,K.jsx)(`h2`,{className:`text-[18px] font-semibold leading-[22px] text-[var(--content-emphasised)]`,children:`System Permissions`}),n&&d.length===0?(0,K.jsxs)(`div`,{className:`mt-6 flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,K.jsx)(Se,{}),`Checking permissions...`]}):(0,K.jsx)(`div`,{className:`mt-3 space-y-2`,children:d.map(e=>(0,K.jsx)(xe,{row:e,onToggle:p},e.id))}),r&&(0,K.jsx)(`div`,{role:`alert`,className:`mt-6 rounded-lg border border-[color-mix(in_srgb,var(--system-negative-strong)_25%,transparent)] bg-[var(--system-negative-weak)] p-3 text-body-medium-lighter text-[var(--content-secondary)]`,children:r})]})}function we(){let e=R({platformHostedOnly:!0}),t=B(),n=he(),r=l(),{data:i,isLoading:a,isError:o}=f({...N(),enabled:e===`full`&&t}),s=u({mutationFn:async e=>{let{data:t}=await ae({body:{access_consented:e},throwOnError:!0});return t},onSuccess:e=>{M(r,void 0,e),x.success(e?.access_consented?`Admin data access enabled.`:`Admin data access disabled.`)},onError:()=>{x.error(`Failed to update log access consent.`)}});if(e===`gated`)return null;let c=e===`full`&&n,d=i?.access_consented??!1,p=e!==`full`||!t||a||o||s.isPending;return(0,K.jsxs)(`div`,{children:[(0,K.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,K.jsxs)(`div`,{className:`flex-1`,children:[(0,K.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Allow Staff Access`}),(0,K.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-tertiary)]`,children:`When enabled, Vellum Staff will be able to access your assistant and its data for debugging purposes. It's suggested that you leave this off and only turn it on temporarily if you need Vellum Support's help in investigating an issue.`}),e===`full`&&o&&(0,K.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--system-negative-strong)]`,children:`Failed to load consent setting.`})]}),(0,K.jsx)(`div`,{className:`flex items-center gap-2`,children:e===`disabled`?null:(0,K.jsxs)(K.Fragment,{children:[(s.isPending||c)&&(0,K.jsx)(C,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,K.jsx)(b,{checked:d,disabled:p,onChange:()=>s.mutate(!d)})]})})]}),e===`disabled`&&(0,K.jsx)(_e,{className:`mt-3`,children:`Log in to the Vellum platform to manage admin data access.`})]})}function Te(){let e=k(),[t,n]=(0,G.useState)(()=>te()),[r,i]=(0,G.useState)(!1),[a,o]=(0,G.useState)(`Face ID`),[s,c]=(0,G.useState)(!1);if((0,G.useEffect)(()=>{e&&(ie().then(i),E().then(o))},[e]),!e||!r)return null;let l=async()=>{c(!0);try{if(t)O(!1),await ee(),n(!1);else{let e=A();e&&await D(e),O(!0),n(!0)}}finally{c(!1)}};return(0,K.jsx)(U,{title:`Security`,children:(0,K.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,K.jsxs)(`div`,{className:`flex-1`,children:[(0,K.jsxs)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:[`Use `,a,` for sign-in`]}),(0,K.jsxs)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-tertiary)]`,children:[`When your session expires, verify with `,a,` or your device passcode instead of signing in again.`]})]}),(0,K.jsx)(b,{checked:t,onChange:()=>void l(),disabled:s})]})})}function J(){return(0,K.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}var Y=V.map(e=>({value:e.id,label:e.label,icon:(0,K.jsx)(e.icon,{className:`h-3.5 w-3.5`})}));function Ee(){let e=H(),t=l(),{data:n,isError:r}=f({queryKey:[`thresholds`,e],queryFn:()=>L(e),staleTime:3e4}),[i,a]=(0,G.useState)(`relaxed`),[o,s]=(0,G.useState)(`conservative`),[c,u]=(0,G.useState)(`strict`),[d,p]=(0,G.useState)(!1),g=(0,G.useRef)(!1),[_,v]=(0,G.useState)(!1),y=(0,G.useRef)(null),b=(0,G.useRef)(null);(0,G.useEffect)(()=>{!n||g.current||(a(z(n.interactive).id),s(z(n.autonomous).id),u(z(n.headless).id),v(!0))},[n]),(0,G.useEffect)(()=>()=>{y.current!==null&&(clearTimeout(y.current),y.current=null,b.current?.(),b.current=null)},[]);let x=(0,G.useCallback)((n,r,i)=>{if(!e||!_)return;let a=V.find(e=>e.id===n)?.riskThreshold,o=V.find(e=>e.id===r)?.riskThreshold,s=V.find(e=>e.id===i)?.riskThreshold;!a||!o||!s||I(e,{interactive:a,autonomous:o,headless:s}).then(()=>{t.invalidateQueries({queryKey:[`thresholds`,e]})}).catch(()=>{})},[e,_,t]),C=(0,G.useCallback)((e,t,n)=>{y.current!==null&&clearTimeout(y.current),b.current=()=>x(e,t,n),y.current=setTimeout(()=>{b.current?.(),y.current=null,b.current=null},500)},[x]),w=(0,G.useCallback)(e=>{g.current=!0,a(e),C(e,o,c)},[o,c,C]),T=(0,G.useCallback)(e=>{g.current=!0,s(e),C(i,e,c)},[i,c,C]),E=(0,G.useCallback)(e=>{g.current=!0,u(e),C(i,o,e)},[i,o,C]),D=V.find(e=>e.id===i),O=V.find(e=>e.id===o),k=V.find(e=>e.id===c),A=!e||!_;return(0,K.jsxs)(m,{children:[(0,K.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Risk Tolerance`}),(0,K.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Control which actions your assistant can take without asking first. Each action is classified by risk level — your tolerance determines which levels auto-approve.`}),r&&(0,K.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--system-negative-strong)]`,children:`Could not load threshold settings. Check your connection and reload.`}),(0,K.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Conversations`}),(0,K.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`When you're chatting with your assistant directly.`}),(0,K.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,K.jsx)(h,{value:i,onChange:w,options:Y,disabled:A})}),D&&(0,K.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:D.description})]}),(0,K.jsx)(J,{}),(0,K.jsxs)(`div`,{children:[(0,K.jsxs)(`button`,{type:`button`,onClick:()=>p(e=>!e),className:`flex items-center gap-1 text-[var(--content-secondary)] hover:text-[var(--content-default)] transition-colors`,"aria-expanded":d,children:[d?(0,K.jsx)(ce,{className:`h-4 w-4`}):(0,K.jsx)(S,{className:`h-4 w-4`}),(0,K.jsx)(`span`,{className:`text-body-medium-default`,children:`Advanced`})]}),(0,K.jsxs)(`div`,{className:d?`mt-4 space-y-4`:`hidden`,children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Background`}),(0,K.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`When your assistant acts without you — scheduled tasks, background jobs, and external triggers.`}),(0,K.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,K.jsx)(h,{value:o,onChange:T,options:Y,disabled:A})}),O&&(0,K.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:O.description})]}),(0,K.jsx)(J,{}),(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Headless`}),(0,K.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`When triggered externally with no interactive client.`}),(0,K.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,K.jsx)(h,{value:c,onChange:E,options:Y,disabled:A})}),k&&(0,K.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:k.description})]})]})]})]})]})}var X=e(s(),1),Z=[`bash`,`file_read`,`file_write`,`file_edit`,`web_fetch`,`skill_load`],De=[{value:`low`,label:`Low`,description:`Auto-approve without prompting`},{value:`medium`,label:`Medium`,description:`Prompt before executing`},{value:`high`,label:`High`,description:`Always require explicit approval`}];function Oe({assistantId:e,existingRule:t,onClose:n,onSaved:r}){let i=(0,G.useRef)(null),[a,o]=(0,G.useState)(t.tool),[s,c]=(0,G.useState)(t.pattern),[l,u]=(0,G.useState)(t.risk),[d,f]=(0,G.useState)(t.description??``),[p,m]=(0,G.useState)(!1),[g,v]=(0,G.useState)(null),b=s.trim(),x=b.length>0&&!p,S=(0,G.useCallback)(async n=>{if(n.preventDefault(),!x)return;let i=d.trim()||`${a} — ${b}`;m(!0),v(null);try{await ue(e,t.id,{risk:l,description:i}),r()}catch(e){v(e instanceof Error?e.message:`Failed to save trust rule.`)}finally{m(!1)}},[e,x,d,t,r,l,a,b]);return(0,X.createPortal)((0,K.jsx)(`div`,{ref:i,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`trust-rule-form-title`,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:(0,G.useCallback)(e=>{e.key===`Escape`&&n()},[n]),onClick:(0,G.useCallback)(e=>{e.target===i.current&&n()},[n]),children:(0,K.jsxs)(`div`,{className:`mx-4 flex max-h-[calc(100vh-2rem)] w-full max-w-md flex-col rounded-xl border border-[var(--border-base)] bg-[var(--surface-lift)] shadow-xl`,children:[(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-[var(--border-base)] px-6 py-4`,children:[(0,K.jsx)(`h2`,{id:`trust-rule-form-title`,className:`text-title-medium text-[var(--content-default)]`,children:`Edit Trust Rule`}),(0,K.jsx)(`button`,{type:`button`,onClick:n,"aria-label":`Close`,className:`rounded-lg p-1.5 text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-base)] hover:text-[var(--content-default)]`,children:(0,K.jsx)(T,{className:`h-4 w-4`})})]}),(0,K.jsxs)(`form`,{onSubmit:e=>void S(e),className:`min-h-0 flex-1 space-y-4 overflow-y-auto px-6 py-4`,children:[g&&(0,K.jsx)(_,{tone:`error`,children:g}),(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`label`,{htmlFor:`trust-rule-tool`,className:`block text-body-medium-default text-[var(--content-default)]`,children:`Tool`}),(0,K.jsx)(`div`,{className:`mt-1`,children:(0,K.jsx)(h,{value:a,onChange:o,disabled:!0,options:Z.map(e=>({value:e,label:e}))})})]}),(0,K.jsx)(y,{label:`Pattern`,type:`text`,value:s,onChange:e=>c(e.target.value),placeholder:`e.g., git *`,disabled:!0}),(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:`Risk Level`}),(0,K.jsx)(`div`,{className:`mt-2 flex gap-2`,children:De.map(e=>(0,K.jsxs)(`button`,{type:`button`,onClick:()=>u(e.value),className:`flex-1 rounded-lg border px-3 py-2 text-left text-body-small-default transition-colors ${l===e.value?e.value===`low`?`border-[var(--system-positive-strong)] bg-[var(--system-positive-weak)] text-[var(--system-positive-strong)]`:e.value===`medium`?`border-[var(--system-warning-strong)] bg-[var(--system-warning-weak)] text-[var(--system-warning-strong)]`:`border-[var(--system-negative-strong)] bg-[var(--system-negative-weak)] text-[var(--system-negative-strong)]`:`border-[var(--border-element)] text-[var(--content-default)] hover:bg-[var(--surface-base)]`}`,children:[(0,K.jsx)(`div`,{children:e.label}),(0,K.jsx)(`div`,{className:`mt-0.5 text-label-medium-default leading-tight opacity-70`,children:e.description})]},e.value))})]}),(0,K.jsx)(y,{label:`Description (optional)`,type:`text`,value:d,onChange:e=>f(e.target.value),placeholder:`${a} — ${b||`pattern`}`}),(0,K.jsxs)(`div`,{className:`flex justify-end gap-2 pt-2`,children:[(0,K.jsx)(`button`,{type:`button`,onClick:n,className:`rounded-lg border border-[var(--border-element)] bg-white px-4 py-2 text-body-medium-default text-[var(--content-default)] transition-colors hover:bg-[var(--surface-base)] dark:border-[var(--border-base)] dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:`Cancel`}),(0,K.jsx)(`button`,{type:`submit`,disabled:!x,className:`rounded-lg bg-[var(--system-positive-strong)] px-4 py-2 text-body-medium-default text-white transition-colors hover:bg-[var(--system-positive-strong)] disabled:cursor-not-allowed disabled:opacity-50`,children:p?`Saving…`:`Save`})]})]})]})}),document.body)}function ke(e){return e.origin===`default`&&!e.userModified}function Ae(e,t){let n=new Set,r=[];for(let t of e)n.has(t.id)||(n.add(t.id),r.push(t));for(let e of t)n.has(e.id)||(n.add(e.id),r.push(e));return r.sort((e,t)=>e.tool===t.tool?e.description.localeCompare(t.description):e.tool.localeCompare(t.tool))}function je(e){switch(e){case`low`:return`positive`;case`medium`:return`warning`;case`high`:return`negative`}}function Q(e){return e.charAt(0).toUpperCase()+e.slice(1)}function Me({assistantId:e,onClose:t}){let n=(0,G.useRef)(null),[r,i]=(0,G.useState)([]),[a,o]=(0,G.useState)(!0),[s,l]=(0,G.useState)(null),[u,d]=(0,G.useState)(null),[f,p]=(0,G.useState)(null),[m,h]=(0,G.useState)(!1),y=(0,G.useCallback)(async t=>{if(t){let[t,n]=await Promise.all([F(e),F(e,{origin:`default`})]);return Ae(t,n)}return F(e)},[e]),x=(0,G.useCallback)(async()=>{o(!0);try{i(await y(m)),l(null)}catch(e){l(e instanceof Error?e.message:`Failed to load trust rules.`)}finally{o(!1)}},[y,m]);(0,G.useEffect)(()=>{let e=!1;return(async()=>{o(!0);try{let t=await y(m);e||(i(t),l(null))}catch(t){e||l(t instanceof Error?t.message:`Failed to load trust rules.`)}finally{e||o(!1)}})(),()=>{e=!0}},[y,m]);let S=(0,G.useCallback)(async()=>{if(f)try{await le(e,f.id),x()}catch(e){l(e instanceof Error?e.message:`Failed to delete trust rule.`)}finally{p(null)}},[e,f,x]);return(0,X.createPortal)((0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`div`,{ref:n,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`trust-rules-title`,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:(0,G.useCallback)(e=>{e.key===`Escape`&&t()},[t]),onClick:(0,G.useCallback)(e=>{e.target===n.current&&t()},[t]),children:(0,K.jsxs)(`div`,{className:`mx-4 flex max-h-[80vh] w-full max-w-2xl flex-col rounded-xl border border-[var(--border-base)] bg-[var(--surface-lift)] shadow-xl`,children:[(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-[var(--border-base)] px-6 py-4`,children:[(0,K.jsx)(`h2`,{id:`trust-rules-title`,className:`text-title-medium text-[var(--content-default)]`,children:`Trust Rules`}),(0,K.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,K.jsx)(b,{checked:m,onChange:h,label:`Show all defaults`}),(0,K.jsx)(c,{variant:`outlined`,onClick:t,children:`Done`})]})]}),(0,K.jsxs)(`div`,{className:`flex-1 overflow-y-auto px-6 py-4`,children:[s&&(0,K.jsx)(`div`,{className:`mb-3`,children:(0,K.jsx)(_,{tone:`error`,children:s})}),a?(0,K.jsx)(`div`,{className:`flex h-48 items-center justify-center text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Loading…`}):r.length===0?(0,K.jsxs)(`div`,{className:`flex h-48 flex-col items-center justify-center gap-2 px-6 text-[var(--content-tertiary)]`,children:[(0,K.jsx)(P,{className:`h-8 w-8`}),(0,K.jsx)(`p`,{className:`max-w-xs text-center text-body-medium-lighter`,children:`No trust rules yet. Rules are created when you classify actions from permission prompts.`})]}):(0,K.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)]`,children:r.map(e=>{let t=ke(e);return(0,K.jsxs)(`li`,{className:`flex items-start gap-3 py-3`,children:[(0,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.tool}),(0,K.jsx)(v,{tone:je(e.risk),children:Q(e.risk)}),e.origin===`default`&&(0,K.jsx)(v,{tone:`neutral`,children:`Default`}),e.userModified&&(0,K.jsx)(v,{tone:`warning`,children:`Modified`})]}),(0,K.jsx)(`div`,{className:`mt-1 truncate font-mono text-body-small-default text-[var(--content-secondary)]`,children:e.pattern}),e.description&&(0,K.jsx)(`div`,{className:`mt-0.5 truncate text-body-small-default text-[var(--content-tertiary)]`,children:e.description})]}),(0,K.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,K.jsx)(`button`,{type:`button`,"aria-label":`Edit ${e.tool} rule`,onClick:()=>d(e),className:`rounded-lg p-1.5 text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-base)] hover:text-[var(--content-default)]`,children:(0,K.jsx)(w,{className:`h-4 w-4`})}),(!t||e.userModified)&&(0,K.jsx)(`button`,{type:`button`,"aria-label":`Delete ${e.tool} rule`,onClick:()=>p(e),className:`rounded-lg p-1.5 text-[var(--system-negative-strong)] transition-colors hover:bg-[var(--system-negative-weak)]`,children:(0,K.jsx)(de,{className:`h-4 w-4`})})]})]},e.id)})})]})]})}),u&&(0,K.jsx)(Oe,{assistantId:e,existingRule:u,onClose:()=>d(null),onSaved:()=>{d(null),x()}}),(0,K.jsx)(g,{open:f!==null,title:`Delete Trust Rule?`,message:f?`Remove the ${Q(f.risk).toLowerCase()}-risk rule for ${f.tool} matching "${f.pattern}"?`:``,confirmLabel:`Delete`,cancelLabel:`Cancel`,destructive:!0,onConfirm:()=>void S(),onCancel:()=>p(null)})]}),document.body)}function Ne(){let e=H(),[t,n]=(0,G.useState)(!1);return(0,K.jsxs)(m,{children:[(0,K.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,K.jsx)(P,{className:`mt-0.5 h-5 w-5 shrink-0 text-[var(--content-secondary)]`}),(0,K.jsxs)(`div`,{className:`flex-1`,children:[(0,K.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Trust Rules`}),(0,K.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Manage per-tool rules that control which actions auto-approve and which require your explicit permission.`})]}),(0,K.jsx)(c,{variant:`outlined`,onClick:()=>n(!0),children:`Manage`})]}),t&&(0,K.jsx)(Me,{assistantId:e,onClose:()=>n(!1)})]})}var Pe=[{value:`dontRetain`,label:`Don't retain`},{value:`oneHour`,label:`1 hour`},{value:`oneDay`,label:`1 day`},{value:`sevenDays`,label:`7 days`},{value:`thirtyDays`,label:`30 days`},{value:`ninetyDays`,label:`90 days`},{value:`keepForever`,label:`Keep forever`}],Fe=`thirtyDays`;function $(){return(0,K.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}function Ie(){let e=R({platformHostedOnly:!0}),t=re(),a=t,o=ne.use.user()?.id??null,[s,c]=(0,G.useState)(()=>n(`shareAnalytics`,!0)),[l,u]=(0,G.useState)(()=>n(`shareDiagnostics`,!0)),[d,f]=(0,G.useState)(()=>i(`llmLogRetention`,Fe));return(0,K.jsxs)(`div`,{className:`space-y-4`,children:[(0,K.jsx)(Te,{}),(0,K.jsx)(Ce,{}),(0,K.jsx)(Ne,{}),(0,K.jsx)(Ee,{}),(0,K.jsx)(U,{title:`Privacy`,subtitle:t?(0,K.jsxs)(K.Fragment,{children:[`View details about what data we collect and how it's used in our`,` `,(0,K.jsx)(`a`,{href:se(oe.docs.legal.privacyPolicy),target:`_blank`,rel:`noreferrer`,className:`underline`,children:`privacy policy`}),`.`]}):void 0,children:(0,K.jsxs)(`div`,{className:`space-y-4`,children:[a&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(W,{label:`Share Analytics`,helperText:`Send aggregated product usage data`,checked:s,onChange:()=>{let e=!s;c(e),j(`share_analytics`,e,{userId:o,hasPlatformSession:t})},variant:`toggle-trailing`}),(0,K.jsx)($,{}),(0,K.jsx)(W,{label:`Share Diagnostics`,helperText:`Send crash reports, conversation traces, and session replay data`,checked:l,onChange:()=>{let e=!l;u(e),j(`share_diagnostics`,e,{userId:o,hasPlatformSession:t})},variant:`toggle-trailing`}),(0,K.jsx)($,{})]}),(0,K.jsx)(we,{}),e!==`gated`&&(0,K.jsx)($,{}),(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`label`,{htmlFor:`llm-log-retention`,className:`block text-body-medium-default text-[var(--content-default)]`,children:`LLM Request Log Retention`}),(0,K.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,K.jsx)(h,{value:d,onChange:e=>{f(e),r(`llmLogRetention`,e)},options:Pe})}),(0,K.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:`How long to keep LLM request and response logs on this device. These logs record the prompts and completions sent to model providers and are used for debugging. Shorter retention improves privacy; longer retention helps troubleshoot issues.`})]})]})})]})}export{Ie as PrivacyPage};
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,n,o as r,r as i,s as a}from"./device-settings-BBwtGKJb.js";import{t as o}from"./react-DJZBPgpf.js";import{O as s,t as c}from"./button-D7s2Q_uG.js";import{n as l}from"./QueryClientProvider-DKhXIxGb.js";import{t as u}from"./useQuery-B45lW1Kk.js";import{t as d}from"./useMutation-Lj4VunQV.js";import{t as f}from"./jsx-runtime-CVSDxk6A.js";import{t as p}from"./cn-DvW5mxZR.js";import{t as m}from"./card-BibIM9x3.js";import{t as h}from"./dropdown-CL8VmqrY.js";import{t as g}from"./confirm-dialog-CfOXCE1N.js";import{t as _}from"./notice-CqRgVmeL.js";import{t as v}from"./tag-B_-QAvJF.js";import{t as y}from"./input-C8kfrq9r.js";import{t as b}from"./toggle-X_kQW5my.js";import{n as x}from"./toast-2TW5tj1Y.js";import{t as S}from"./chevron-right-B6vEpVY0.js";import{t as C}from"./loader-circle-BFRVtR3K.js";import{t as w}from"./pencil-B90pDI55.js";import{t as T}from"./x-DxL-bCuT.js";import{C as E,D,E as O,M as k,O as A,S as ee,T as te,f as j,n as ne,r as re,w as ie}from"./auth-store-B2Zo6DUE.js";import{t as ae}from"./sdk.gen-DmWuY0SL.js";import{a as oe,i as se}from"./routes-Cj4wRAOK.js";import{n as M,t as N}from"./react-query.gen-DiTBi6eG.js";import{An as P,C as ce,Dn as F,En as le,H as ue,Tn as de,U as I,W as fe,_ as L,bn as R,fi as z,g as B,h as V,jn as pe,kn as me,ri as he,v as ge,xa as _e}from"./index-0XgM92Lz.js";import{t as H}from"./use-active-assistant-id-D4UJEQM5.js";import{t as U}from"./detail-card-acc7KIet.js";import{t as W}from"./setting-row-DodPe3yk.js";var G=e(o(),1),K=f(),q=[{id:`accessibility`,type:`system`,sourceKind:`accessibility`,label:`Accessibility`,description:`Allows your assistant to click, type, and control apps on your behalf.`},{id:`screen`,type:`system`,sourceKind:`screen`,label:`Screen Recording`,description:`Allows your assistant to capture screen context during computer-use tasks.`},{id:`microphone`,type:`system`,sourceKind:`microphone`,label:`Microphone`,description:`Allows your assistant to capture audio for voice input and recordings.`},{id:`speechRecognition`,type:`system`,sourceKind:`speechRecognition`,label:`Speech Recognition`,description:`Allows your assistant to transcribe your speech into text on-device.`},{id:`notifications`,type:`system`,sourceKind:`notifications`,label:`Notifications`,description:`Allows your assistant to send macOS alerts for approvals, messages, and task updates.`}],ve=[{id:`notificationBadges`,type:`local`,label:`Notification Badges`,description:`Allows your assistant to show unseen conversation counts on the Dock icon.`}];function ye(){let[e,t]=(0,G.useState)(null);return{pendingKind:e,run:async(e,n)=>{t(e);try{await n()}catch{}finally{t(t=>t===e?null:t)}}}}function be(){let[e,r]=(0,G.useState)(()=>n(`dockBadgesEnabled`,!0));return(0,G.useEffect)(()=>a(`dockBadgesEnabled`,()=>{r(n(`dockBadgesEnabled`,!0))}),[]),[e,e=>{r(e),t(`dockBadgesEnabled`,e),e||R(0)}]}function xe({row:e,onToggle:t}){return(0,K.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,K.jsx)(b,{checked:e.checked,disabled:e.disabled,"aria-label":e.label,onChange:()=>t(e.id)}),(0,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsxs)(`button`,{type:`button`,disabled:e.disabled,onClick:()=>t(e.id),className:p(`block w-full text-left`,e.disabled?`cursor-not-allowed`:`cursor-pointer`),children:[(0,K.jsx)(`span`,{className:`block text-[14px] font-semibold leading-[18px] text-[var(--content-emphasised)]`,children:e.label}),(0,K.jsx)(`span`,{className:`mt-1 block text-[13px] font-medium leading-[18px] text-[var(--content-tertiary)]`,children:e.description})]}),e.error&&(0,K.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--system-negative-strong)]`,children:e.error})]})]})}function Se(){return(0,K.jsx)(`span`,{"aria-hidden":`true`,className:`h-4 w-4 animate-spin rounded-full border-2 border-[var(--border-base)] border-t-[var(--content-tertiary)]`})}function Ce({compact:e=!1}){let{state:t,loading:n,error:r,supported:i,refresh:a}=pe(),{pendingKind:o,run:s}=ye(),[c,l]=be(),u=(0,G.useMemo)(()=>{let e=new Map;if(!t)return e;for(let n of q){let r=t[n.sourceKind];r&&e.set(n.id,{meta:n,item:r})}return e},[t]),d=(0,G.useMemo)(()=>{let e=q.map(e=>{let t=u.get(e.id)?.item;return t?{id:e.id,label:e.label,description:e.description,checked:t.status===`granted`,disabled:o===e.id||t.status===`restricted`,...t.error?{error:t.error}:{}}:null}).filter(Boolean),t=ve.map(e=>({id:e.id,label:e.label,description:e.description,checked:c,disabled:o===e.id}));return[...e,...t]},[c,o,u]);if(!i)return null;let f=async(e,t)=>{t.status===`granted`||t.status===`denied`||!t.canRequest?await me(e.sourceKind):await P(e.sourceKind),await a()},p=e=>{let t=u.get(e);if(t){s(e,()=>f(t.meta,t.item));return}e===`notificationBadges`&&s(e,async()=>{l(!c)})};return(0,K.jsxs)(`section`,{className:`w-full rounded-[20px] border border-[var(--border-hover)] bg-[var(--surface-lift)] px-4 pb-3 pt-5`,children:[(0,K.jsx)(`h2`,{className:`text-[18px] font-semibold leading-[22px] text-[var(--content-emphasised)]`,children:`System Permissions`}),n&&d.length===0?(0,K.jsxs)(`div`,{className:`mt-6 flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,K.jsx)(Se,{}),`Checking permissions...`]}):(0,K.jsx)(`div`,{className:`mt-3 space-y-2`,children:d.map(e=>(0,K.jsx)(xe,{row:e,onToggle:p},e.id))}),r&&(0,K.jsx)(`div`,{role:`alert`,className:`mt-6 rounded-lg border border-[color-mix(in_srgb,var(--system-negative-strong)_25%,transparent)] bg-[var(--system-negative-weak)] p-3 text-body-medium-lighter text-[var(--content-secondary)]`,children:r})]})}function we(){let e=F({platformHostedOnly:!0}),t=de(),n=le(),r=l(),{data:i,isLoading:a,isError:o}=u({...N(),enabled:e===`full`&&t}),s=d({mutationFn:async e=>{let{data:t}=await ae({body:{access_consented:e},throwOnError:!0});return t},onSuccess:e=>{M(r,void 0,e),x.success(e?.access_consented?`Admin data access enabled.`:`Admin data access disabled.`)},onError:()=>{x.error(`Failed to update log access consent.`)}});if(e===`gated`)return null;let c=e===`full`&&n,f=i?.access_consented??!1,p=e!==`full`||!t||a||o||s.isPending;return(0,K.jsxs)(`div`,{children:[(0,K.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,K.jsxs)(`div`,{className:`flex-1`,children:[(0,K.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Allow Staff Access`}),(0,K.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-tertiary)]`,children:`When enabled, Vellum Staff will be able to access your assistant and its data for debugging purposes. It's suggested that you leave this off and only turn it on temporarily if you need Vellum Support's help in investigating an issue.`}),e===`full`&&o&&(0,K.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--system-negative-strong)]`,children:`Failed to load consent setting.`})]}),(0,K.jsx)(`div`,{className:`flex items-center gap-2`,children:e===`disabled`?null:(0,K.jsxs)(K.Fragment,{children:[(s.isPending||c)&&(0,K.jsx)(C,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,K.jsx)(b,{checked:f,disabled:p,onChange:()=>s.mutate(!f)})]})})]}),e===`disabled`&&(0,K.jsx)(ce,{className:`mt-3`,children:`Log in to the Vellum platform to manage admin data access.`})]})}function Te(){let e=k(),[t,n]=(0,G.useState)(()=>te()),[r,i]=(0,G.useState)(!1),[a,o]=(0,G.useState)(`Face ID`),[s,c]=(0,G.useState)(!1);if((0,G.useEffect)(()=>{e&&(ie().then(i),E().then(o))},[e]),!e||!r)return null;let l=async()=>{c(!0);try{if(t)O(!1),await ee(),n(!1);else{let e=A();e&&await D(e),O(!0),n(!0)}}finally{c(!1)}};return(0,K.jsx)(U,{title:`Security`,children:(0,K.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,K.jsxs)(`div`,{className:`flex-1`,children:[(0,K.jsxs)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:[`Use `,a,` for sign-in`]}),(0,K.jsxs)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-tertiary)]`,children:[`When your session expires, verify with `,a,` or your device passcode instead of signing in again.`]})]}),(0,K.jsx)(b,{checked:t,onChange:()=>void l(),disabled:s})]})})}function J(){return(0,K.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}var Y=V.map(e=>({value:e.id,label:e.label,icon:(0,K.jsx)(e.icon,{className:`h-3.5 w-3.5`})}));function Ee(){let e=H(),t=l(),{data:n,isError:r}=u({queryKey:[`thresholds`,e],queryFn:()=>L(e),staleTime:3e4}),[i,a]=(0,G.useState)(`relaxed`),[o,s]=(0,G.useState)(`conservative`),[c,d]=(0,G.useState)(`strict`),[f,p]=(0,G.useState)(!1),g=(0,G.useRef)(!1),[_,v]=(0,G.useState)(!1),y=(0,G.useRef)(null),b=(0,G.useRef)(null);(0,G.useEffect)(()=>{!n||g.current||(a(B(n.interactive).id),s(B(n.autonomous).id),d(B(n.headless).id),v(!0))},[n]),(0,G.useEffect)(()=>()=>{y.current!==null&&(clearTimeout(y.current),y.current=null,b.current?.(),b.current=null)},[]);let x=(0,G.useCallback)((n,r,i)=>{if(!e||!_)return;let a=V.find(e=>e.id===n)?.riskThreshold,o=V.find(e=>e.id===r)?.riskThreshold,s=V.find(e=>e.id===i)?.riskThreshold;!a||!o||!s||ge(e,{interactive:a,autonomous:o,headless:s}).then(()=>{t.invalidateQueries({queryKey:[`thresholds`,e]})}).catch(()=>{})},[e,_,t]),C=(0,G.useCallback)((e,t,n)=>{y.current!==null&&clearTimeout(y.current),b.current=()=>x(e,t,n),y.current=setTimeout(()=>{b.current?.(),y.current=null,b.current=null},500)},[x]),w=(0,G.useCallback)(e=>{g.current=!0,a(e),C(e,o,c)},[o,c,C]),T=(0,G.useCallback)(e=>{g.current=!0,s(e),C(i,e,c)},[i,c,C]),E=(0,G.useCallback)(e=>{g.current=!0,d(e),C(i,o,e)},[i,o,C]),D=V.find(e=>e.id===i),O=V.find(e=>e.id===o),k=V.find(e=>e.id===c),A=!e||!_;return(0,K.jsxs)(m,{children:[(0,K.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Risk Tolerance`}),(0,K.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Control which actions your assistant can take without asking first. Each action is classified by risk level — your tolerance determines which levels auto-approve.`}),r&&(0,K.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--system-negative-strong)]`,children:`Could not load threshold settings. Check your connection and reload.`}),(0,K.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Conversations`}),(0,K.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`When you're chatting with your assistant directly.`}),(0,K.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,K.jsx)(h,{value:i,onChange:w,options:Y,disabled:A})}),D&&(0,K.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:D.description})]}),(0,K.jsx)(J,{}),(0,K.jsxs)(`div`,{children:[(0,K.jsxs)(`button`,{type:`button`,onClick:()=>p(e=>!e),className:`flex items-center gap-1 text-[var(--content-secondary)] hover:text-[var(--content-default)] transition-colors`,"aria-expanded":f,children:[f?(0,K.jsx)(_e,{className:`h-4 w-4`}):(0,K.jsx)(S,{className:`h-4 w-4`}),(0,K.jsx)(`span`,{className:`text-body-medium-default`,children:`Advanced`})]}),(0,K.jsxs)(`div`,{className:f?`mt-4 space-y-4`:`hidden`,children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Background`}),(0,K.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`When your assistant acts without you — scheduled tasks, background jobs, and external triggers.`}),(0,K.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,K.jsx)(h,{value:o,onChange:T,options:Y,disabled:A})}),O&&(0,K.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:O.description})]}),(0,K.jsx)(J,{}),(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Headless`}),(0,K.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`When triggered externally with no interactive client.`}),(0,K.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,K.jsx)(h,{value:c,onChange:E,options:Y,disabled:A})}),k&&(0,K.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:k.description})]})]})]})]})]})}var X=e(s(),1),Z=[`bash`,`file_read`,`file_write`,`file_edit`,`web_fetch`,`skill_load`],De=[{value:`low`,label:`Low`,description:`Auto-approve without prompting`},{value:`medium`,label:`Medium`,description:`Prompt before executing`},{value:`high`,label:`High`,description:`Always require explicit approval`}];function Oe({assistantId:e,existingRule:t,onClose:n,onSaved:r}){let i=(0,G.useRef)(null),[a,o]=(0,G.useState)(t.tool),[s,c]=(0,G.useState)(t.pattern),[l,u]=(0,G.useState)(t.risk),[d,f]=(0,G.useState)(t.description??``),[p,m]=(0,G.useState)(!1),[g,v]=(0,G.useState)(null),b=s.trim(),x=b.length>0&&!p,S=(0,G.useCallback)(async n=>{if(n.preventDefault(),!x)return;let i=d.trim()||`${a} — ${b}`;m(!0),v(null);try{await fe(e,t.id,{risk:l,description:i}),r()}catch(e){v(e instanceof Error?e.message:`Failed to save trust rule.`)}finally{m(!1)}},[e,x,d,t,r,l,a,b]);return(0,X.createPortal)((0,K.jsx)(`div`,{ref:i,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`trust-rule-form-title`,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:(0,G.useCallback)(e=>{e.key===`Escape`&&n()},[n]),onClick:(0,G.useCallback)(e=>{e.target===i.current&&n()},[n]),children:(0,K.jsxs)(`div`,{className:`mx-4 flex max-h-[calc(100vh-2rem)] w-full max-w-md flex-col rounded-xl border border-[var(--border-base)] bg-[var(--surface-lift)] shadow-xl`,children:[(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-[var(--border-base)] px-6 py-4`,children:[(0,K.jsx)(`h2`,{id:`trust-rule-form-title`,className:`text-title-medium text-[var(--content-default)]`,children:`Edit Trust Rule`}),(0,K.jsx)(`button`,{type:`button`,onClick:n,"aria-label":`Close`,className:`rounded-lg p-1.5 text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-base)] hover:text-[var(--content-default)]`,children:(0,K.jsx)(T,{className:`h-4 w-4`})})]}),(0,K.jsxs)(`form`,{onSubmit:e=>void S(e),className:`min-h-0 flex-1 space-y-4 overflow-y-auto px-6 py-4`,children:[g&&(0,K.jsx)(_,{tone:`error`,children:g}),(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`label`,{htmlFor:`trust-rule-tool`,className:`block text-body-medium-default text-[var(--content-default)]`,children:`Tool`}),(0,K.jsx)(`div`,{className:`mt-1`,children:(0,K.jsx)(h,{value:a,onChange:o,disabled:!0,options:Z.map(e=>({value:e,label:e}))})})]}),(0,K.jsx)(y,{label:`Pattern`,type:`text`,value:s,onChange:e=>c(e.target.value),placeholder:`e.g., git *`,disabled:!0}),(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:`Risk Level`}),(0,K.jsx)(`div`,{className:`mt-2 flex gap-2`,children:De.map(e=>(0,K.jsxs)(`button`,{type:`button`,onClick:()=>u(e.value),className:`flex-1 rounded-lg border px-3 py-2 text-left text-body-small-default transition-colors ${l===e.value?e.value===`low`?`border-[var(--system-positive-strong)] bg-[var(--system-positive-weak)] text-[var(--system-positive-strong)]`:e.value===`medium`?`border-[var(--system-warning-strong)] bg-[var(--system-warning-weak)] text-[var(--system-warning-strong)]`:`border-[var(--system-negative-strong)] bg-[var(--system-negative-weak)] text-[var(--system-negative-strong)]`:`border-[var(--border-element)] text-[var(--content-default)] hover:bg-[var(--surface-base)]`}`,children:[(0,K.jsx)(`div`,{children:e.label}),(0,K.jsx)(`div`,{className:`mt-0.5 text-label-medium-default leading-tight opacity-70`,children:e.description})]},e.value))})]}),(0,K.jsx)(y,{label:`Description (optional)`,type:`text`,value:d,onChange:e=>f(e.target.value),placeholder:`${a} — ${b||`pattern`}`}),(0,K.jsxs)(`div`,{className:`flex justify-end gap-2 pt-2`,children:[(0,K.jsx)(`button`,{type:`button`,onClick:n,className:`rounded-lg border border-[var(--border-element)] bg-white px-4 py-2 text-body-medium-default text-[var(--content-default)] transition-colors hover:bg-[var(--surface-base)] dark:border-[var(--border-base)] dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:`Cancel`}),(0,K.jsx)(`button`,{type:`submit`,disabled:!x,className:`rounded-lg bg-[var(--system-positive-strong)] px-4 py-2 text-body-medium-default text-white transition-colors hover:bg-[var(--system-positive-strong)] disabled:cursor-not-allowed disabled:opacity-50`,children:p?`Saving…`:`Save`})]})]})]})}),document.body)}function ke(e){return e.origin===`default`&&!e.userModified}function Ae(e,t){let n=new Set,r=[];for(let t of e)n.has(t.id)||(n.add(t.id),r.push(t));for(let e of t)n.has(e.id)||(n.add(e.id),r.push(e));return r.sort((e,t)=>e.tool===t.tool?e.description.localeCompare(t.description):e.tool.localeCompare(t.tool))}function je(e){switch(e){case`low`:return`positive`;case`medium`:return`warning`;case`high`:return`negative`}}function Q(e){return e.charAt(0).toUpperCase()+e.slice(1)}function Me({assistantId:e,onClose:t}){let n=(0,G.useRef)(null),[r,i]=(0,G.useState)([]),[a,o]=(0,G.useState)(!0),[s,l]=(0,G.useState)(null),[u,d]=(0,G.useState)(null),[f,p]=(0,G.useState)(null),[m,h]=(0,G.useState)(!1),y=(0,G.useCallback)(async t=>{if(t){let[t,n]=await Promise.all([I(e),I(e,{origin:`default`})]);return Ae(t,n)}return I(e)},[e]),x=(0,G.useCallback)(async()=>{o(!0);try{i(await y(m)),l(null)}catch(e){l(e instanceof Error?e.message:`Failed to load trust rules.`)}finally{o(!1)}},[y,m]);(0,G.useEffect)(()=>{let e=!1;return(async()=>{o(!0);try{let t=await y(m);e||(i(t),l(null))}catch(t){e||l(t instanceof Error?t.message:`Failed to load trust rules.`)}finally{e||o(!1)}})(),()=>{e=!0}},[y,m]);let S=(0,G.useCallback)(async()=>{if(f)try{await ue(e,f.id),x()}catch(e){l(e instanceof Error?e.message:`Failed to delete trust rule.`)}finally{p(null)}},[e,f,x]);return(0,X.createPortal)((0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`div`,{ref:n,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`trust-rules-title`,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:(0,G.useCallback)(e=>{e.key===`Escape`&&t()},[t]),onClick:(0,G.useCallback)(e=>{e.target===n.current&&t()},[t]),children:(0,K.jsxs)(`div`,{className:`mx-4 flex max-h-[80vh] w-full max-w-2xl flex-col rounded-xl border border-[var(--border-base)] bg-[var(--surface-lift)] shadow-xl`,children:[(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-[var(--border-base)] px-6 py-4`,children:[(0,K.jsx)(`h2`,{id:`trust-rules-title`,className:`text-title-medium text-[var(--content-default)]`,children:`Trust Rules`}),(0,K.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,K.jsx)(b,{checked:m,onChange:h,label:`Show all defaults`}),(0,K.jsx)(c,{variant:`outlined`,onClick:t,children:`Done`})]})]}),(0,K.jsxs)(`div`,{className:`flex-1 overflow-y-auto px-6 py-4`,children:[s&&(0,K.jsx)(`div`,{className:`mb-3`,children:(0,K.jsx)(_,{tone:`error`,children:s})}),a?(0,K.jsx)(`div`,{className:`flex h-48 items-center justify-center text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Loading…`}):r.length===0?(0,K.jsxs)(`div`,{className:`flex h-48 flex-col items-center justify-center gap-2 px-6 text-[var(--content-tertiary)]`,children:[(0,K.jsx)(z,{className:`h-8 w-8`}),(0,K.jsx)(`p`,{className:`max-w-xs text-center text-body-medium-lighter`,children:`No trust rules yet. Rules are created when you classify actions from permission prompts.`})]}):(0,K.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)]`,children:r.map(e=>{let t=ke(e);return(0,K.jsxs)(`li`,{className:`flex items-start gap-3 py-3`,children:[(0,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.tool}),(0,K.jsx)(v,{tone:je(e.risk),children:Q(e.risk)}),e.origin===`default`&&(0,K.jsx)(v,{tone:`neutral`,children:`Default`}),e.userModified&&(0,K.jsx)(v,{tone:`warning`,children:`Modified`})]}),(0,K.jsx)(`div`,{className:`mt-1 truncate font-mono text-body-small-default text-[var(--content-secondary)]`,children:e.pattern}),e.description&&(0,K.jsx)(`div`,{className:`mt-0.5 truncate text-body-small-default text-[var(--content-tertiary)]`,children:e.description})]}),(0,K.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,K.jsx)(`button`,{type:`button`,"aria-label":`Edit ${e.tool} rule`,onClick:()=>d(e),className:`rounded-lg p-1.5 text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-base)] hover:text-[var(--content-default)]`,children:(0,K.jsx)(w,{className:`h-4 w-4`})}),(!t||e.userModified)&&(0,K.jsx)(`button`,{type:`button`,"aria-label":`Delete ${e.tool} rule`,onClick:()=>p(e),className:`rounded-lg p-1.5 text-[var(--system-negative-strong)] transition-colors hover:bg-[var(--system-negative-weak)]`,children:(0,K.jsx)(he,{className:`h-4 w-4`})})]})]},e.id)})})]})]})}),u&&(0,K.jsx)(Oe,{assistantId:e,existingRule:u,onClose:()=>d(null),onSaved:()=>{d(null),x()}}),(0,K.jsx)(g,{open:f!==null,title:`Delete Trust Rule?`,message:f?`Remove the ${Q(f.risk).toLowerCase()}-risk rule for ${f.tool} matching "${f.pattern}"?`:``,confirmLabel:`Delete`,cancelLabel:`Cancel`,destructive:!0,onConfirm:()=>void S(),onCancel:()=>p(null)})]}),document.body)}function Ne(){let e=H(),[t,n]=(0,G.useState)(!1);return(0,K.jsxs)(m,{children:[(0,K.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,K.jsx)(z,{className:`mt-0.5 h-5 w-5 shrink-0 text-[var(--content-secondary)]`}),(0,K.jsxs)(`div`,{className:`flex-1`,children:[(0,K.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Trust Rules`}),(0,K.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Manage per-tool rules that control which actions auto-approve and which require your explicit permission.`})]}),(0,K.jsx)(c,{variant:`outlined`,onClick:()=>n(!0),children:`Manage`})]}),t&&(0,K.jsx)(Me,{assistantId:e,onClose:()=>n(!1)})]})}var Pe=[{value:`dontRetain`,label:`Don't retain`},{value:`oneHour`,label:`1 hour`},{value:`oneDay`,label:`1 day`},{value:`sevenDays`,label:`7 days`},{value:`thirtyDays`,label:`30 days`},{value:`ninetyDays`,label:`90 days`},{value:`keepForever`,label:`Keep forever`}],Fe=`thirtyDays`;function $(){return(0,K.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}function Ie(){let e=F({platformHostedOnly:!0}),t=re(),a=t,o=ne.use.user()?.id??null,[s,c]=(0,G.useState)(()=>n(`shareAnalytics`,!0)),[l,u]=(0,G.useState)(()=>n(`shareDiagnostics`,!0)),[d,f]=(0,G.useState)(()=>i(`llmLogRetention`,Fe));return(0,K.jsxs)(`div`,{className:`space-y-4`,children:[(0,K.jsx)(Te,{}),(0,K.jsx)(Ce,{}),(0,K.jsx)(Ne,{}),(0,K.jsx)(Ee,{}),(0,K.jsx)(U,{title:`Privacy`,subtitle:t?(0,K.jsxs)(K.Fragment,{children:[`View details about what data we collect and how it's used in our`,` `,(0,K.jsx)(`a`,{href:se(oe.docs.legal.privacyPolicy),target:`_blank`,rel:`noreferrer`,className:`underline`,children:`privacy policy`}),`.`]}):void 0,children:(0,K.jsxs)(`div`,{className:`space-y-4`,children:[a&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(W,{label:`Share Analytics`,helperText:`Send aggregated product usage data`,checked:s,onChange:()=>{let e=!s;c(e),j(`share_analytics`,e,{userId:o,hasPlatformSession:t})},variant:`toggle-trailing`}),(0,K.jsx)($,{}),(0,K.jsx)(W,{label:`Share Diagnostics`,helperText:`Send crash reports, conversation traces, and session replay data`,checked:l,onChange:()=>{let e=!l;u(e),j(`share_diagnostics`,e,{userId:o,hasPlatformSession:t})},variant:`toggle-trailing`}),(0,K.jsx)($,{})]}),(0,K.jsx)(we,{}),e!==`gated`&&(0,K.jsx)($,{}),(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`label`,{htmlFor:`llm-log-retention`,className:`block text-body-medium-default text-[var(--content-default)]`,children:`LLM Request Log Retention`}),(0,K.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,K.jsx)(h,{value:d,onChange:e=>{f(e),r(`llmLogRetention`,e)},options:Pe})}),(0,K.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:`How long to keep LLM request and response logs on this device. These logs record the prompts and completions sent to model providers and are used for debugging. Shorter retention improves privacy; longer retention helps troubleshoot issues.`})]})]})})]})}export{Ie as PrivacyPage};
|
|
@@ -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{d as r,h as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{f as o}from"./local-mode-CvrNMtPF.js";import{t as s}from"./is-electron-C_ZTVhv8.js";import{M as c,d as l,i as u,n as d}from"./auth-store-B2Zo6DUE.js";import{a as f}from"./routes-Cj4wRAOK.js";import{d as p,f as m,l as h,u as g}from"./prefs-OrKWJGM_.js";import{t as _}from"./client-feature-flag-store-k_bI655l.js";import{Ct as v,Qt as y,St as b,Tt as x,_t as S,bt as C}from"./index-0XgM92Lz.js";import{t as w}from"./step-indicator-dots-DjUaEVje.js";import{n as T,t as E}from"./consent-controls-CwEkJRom.js";var D=e(t(),1);function O({researchOnboardingEnabled:e,isNative:t,isLocalMode:n}){return e&&!t&&!n?f.onboarding.research:f.onboarding.hatching}var k=a();function A(){let e=r(),[t]=i(),a=d.use.user()?.id??null,A=s(),j=c(),M=_.use.stringFlags().preChatOnboardingExperiment20260606??`control`,N=_.use.researchOnboarding(),P=v(M),[F,I]=g(),[L,R]=p(),[z,B]=m(),[V,H]=h(),U=u();(0,D.useEffect)(()=>{j||b()},[j]);let W=t.get(`preview`)===`true`,G=(0,D.useCallback)(e=>{},[]),K=W?G:I,q=W?G:R,J=W?G:B,Y=W?G:H,X=(0,D.useCallback)(()=>{if(W){e(`${f.onboarding.prechat}?preview=true`);return}if(l({userId:a,tos:z,privacy:V,shareAnalytics:F,shareDiagnostics:L,hasPlatformSession:U}),!j){let e=x(P);C(S.privacyTos,{userId:a,variant:e})}let n=t.get(`hosting`),r=new URLSearchParams;n&&r.set(`hosting`,n);let i=r.toString();e(`${O({researchOnboardingEnabled:N,isNative:j,isLocalMode:o()})}${i?`?${i}`:``}`)},[V,U,j,W,e,P,N,t,F,L,z,a]);return(0,k.jsx)(y,{children:(0,k.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${A?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`px-6 py-16`} text-[var(--content-default)]`,children:[j&&(0,k.jsx)(`div`,{className:`mb-8 flex w-full justify-center`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:(0,k.jsx)(w,{current:2,total:3})}),(0,k.jsx)(`h1`,{className:A?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:`Before You Start`}),(0,k.jsx)(`p`,{className:`text-center text-body-medium-lighter text-[var(--content-tertiary)] ${A?`mt-3.5`:`mt-4`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:`Choose your privacy preferences. You can update these anytime in the Settings.`}),(0,k.jsx)(T,{electron:A,shareAnalytics:F,shareDiagnostics:L,onShareAnalyticsChange:K,onShareDiagnosticsChange:q,className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`}}),(0,k.jsx)(E,{electron:A,privacyConsent:V,tosAccepted:z,onPrivacyChange:Y,onTosChange:J,className:`mt-6 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`}}),(0,k.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${A?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.55s both`},children:[(0,k.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:!z||!V,onClick:X,className:A?void 0:`h-11 text-base`,children:`Start`}),(0,k.jsx)(n,{variant:`outlined`,size:`regular`,fullWidth:!0,onClick:()=>e(-1),className:A?void 0:`h-11 text-base`,children:`Back`})]})]})})}export{A as PrivacyScreen};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-
|
|
1
|
+
import{t as e}from"./jsx-runtime-CVSDxk6A.js";import{t}from"./cn-DvW5mxZR.js";var n=e();function r(e){return Number.isNaN(e)||e<0?0:e>1?1:e}function i({value:e,"aria-label":i,className:a,height:o=6,ref:s}){let c=r(e)*100;return(0,n.jsx)(`div`,{ref:s,role:`progressbar`,"aria-label":i,"aria-valuenow":Math.round(c),"aria-valuemin":0,"aria-valuemax":100,"data-slot":`progress-bar`,className:t(`rounded-full overflow-hidden bg-[var(--surface-lift)]`,a),style:{height:o},children:(0,n.jsx)(`div`,{className:`h-full bg-[var(--content-default)] rounded-full`,style:{width:`${c}%`,transition:`width 400ms cubic-bezier(0.22, 1, 0.36, 1)`}})})}export{i as t};
|
package/dist/assets/{provider-callback-page-BtYwaMxL.js → provider-callback-page-LZHmOo01.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-BG-GkiMq.js";import{t as n}from"./react-DJZBPgpf.js";import{d as r,h as i,t as a}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as o}from"./jsx-runtime-CVSDxk6A.js";import{S as s,f as c}from"./local-mode-CvrNMtPF.js";import{F as l,K as u,V as d,n as f}from"./auth-store-B2Zo6DUE.js";import{c as p}from"./api-Deex2etA.js";import{a as m}from"./routes-Cj4wRAOK.js";import{a as h,i as g}from"./login-flow-BtdVqmTm.js";import{n as _}from"./index-0XgM92Lz.js";import{r as v,t as y}from"./account-shell-DLtzg6bW.js";var b=e(n(),1),x=o();function S(){let[e]=i(),n=r(),o=f.use.refreshSession(),S=e.get(`error`),[C,w]=(0,b.useState)(null),T=(0,b.useRef)(!1),E=e.get(`returnTo`),D=g(e);return(0,b.useEffect)(()=>{T.current||S||(T.current=!0,(async()=>{try{let t=await u(),r=l(t.ok&&!!t.data.user,t.ok?[]:t.flows??[]);switch(r.kind){case`authenticated`:{if(await o(),c())try{let e=await p();if(e.ok&&e.data.length>0&&(await s(e.data,d.getState().currentOrganizationId??void 0),!E)){n(m.assistant,{replace:!0});break}}catch{}let e=m.assistant,{destination:t,requiresFullPageNavigation:r}=h({returnTo:E,fallback:e,authIntent:D});r?window.location.href=t:n(t,{replace:!0});break}case`provider_signup`:{let t=e.get(`returnTo`);n(t?`${m.account.providerSignup}?returnTo=${encodeURIComponent(t)}`:m.account.providerSignup,{replace:!0});break}case`error`:w(r.message);break}}catch(e){t(e,{context:`provider_callback`}),w(`Something went wrong. Please try signing in again.`)}})())},[D,S,o,E,n,e]),S===`signup_closed`?(0,x.jsxs)(y,{children:[(0,x.jsx)(v,{title:`Signups are currently closed`,subtitle:`Join the community to request access or learn when signups reopen.`}),(0,x.jsxs)(`div`,{className:`flex flex-col items-center gap-4`,children:[(0,x.jsx)(`a`,{href:_,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center justify-center gap-2 rounded-lg bg-[var(--primary-base)] px-6 py-3 text-sm font-medium text-[var(--content-inset)] no-underline transition-colors hover:bg-[var(--primary-hover)]`,children:`Join the community`}),(0,x.jsx)(a,{to:m.account.login,className:`text-sm font-medium text-[var(--content-emphasised)] hover:underline`,children:`Back to sign in`})]})]}):S||C?(0,x.jsxs)(y,{children:[(0,x.jsx)(v,{title:`Authentication failed`,subtitle:C??`Something went wrong during social sign-in. Please try again or use a different method.`}),(0,x.jsx)(`div`,{className:`flex flex-col items-center gap-4`,children:(0,x.jsx)(a,{to:m.account.login,className:`inline-flex items-center justify-center gap-2 rounded-lg bg-[var(--primary-base)] px-6 py-3 text-sm font-medium text-[var(--content-inset)] no-underline transition-colors hover:bg-[var(--primary-hover)]`,children:`Back to sign in`})})]}):(0,x.jsx)(y,{children:(0,x.jsx)(v,{title:`Completing sign-in...`,subtitle:`Please wait while we finish authenticating you.`})})}export{S as ProviderCallbackPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{In as e,Pt as t}from"./sdk.gen-
|
|
1
|
+
import{In as e,Pt as t}from"./sdk.gen-BwKkHEki.js";var n=`onboarding.providerKey`;function r(e){try{if(e===null){sessionStorage.removeItem(n);return}sessionStorage.setItem(n,JSON.stringify(e))}catch{}}function i(e){return typeof e==`object`&&!!e&&`provider`in e&&typeof e.provider==`string`&&`key`in e&&typeof e.key==`string`}function a(){try{let e=sessionStorage.getItem(n);if(!e)return null;let t=JSON.parse(e);return i(t)?t:null}catch{return null}}function o(){let e=a();try{sessionStorage.removeItem(n)}catch{}return e}async function s(t,n,r){let{response:i}=await e({path:{assistant_id:t},body:{type:`api_key`,name:n,value:r},throwOnError:!1});if(!i?.ok)throw Object.assign(Error(`Failed to write provider secret`),{status:i?.status})}async function c(e,n,r){let i=r?{type:`api_key`,credential:`credential/${n}/api_key`}:{type:`none`},{response:a}=await t({path:{assistant_id:e},body:{name:n,provider:n,auth:i},throwOnError:!1});if(!a?.ok)throw Object.assign(Error(`Failed to create provider connection`),{status:a?.status})}async function l(e){let t=o();if(!t)return;let n=t.key.trim(),r=n.length>0;r&&await s(e,t.provider,n),await c(e,t.provider,r)}export{a as n,r,l as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n,h as r,t as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n,h as r,t as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{G as o,J as s,n as c,q as l}from"./auth-store-B2Zo6DUE.js";import{a as u}from"./routes-Cj4wRAOK.js";import{a as d,o as f}from"./login-flow-BtdVqmTm.js";import{i as p,n as m,r as h,t as g}from"./account-shell-DLtzg6bW.js";import{t as _}from"./signup-shell-DgwKMvn2.js";var v=e(t(),1),y=a();function b(){let e=n(),[t]=r(),a=c.use.refreshSession(),b=t.get(`returnTo`),[x,S]=(0,v.useState)(``),[C,w]=(0,v.useState)(``),[T,E]=(0,v.useState)(``),[D,O]=(0,v.useState)(``),[k,A]=(0,v.useState)(``),[j,M]=(0,v.useState)(null),[N,P]=(0,v.useState)(!1),[F,I]=(0,v.useState)(!0),L=(0,v.useRef)(!1);(0,v.useEffect)(()=>{L.current||(L.current=!0,(async()=>{try{let t=await o();if(!t.ok){e(u.account.login,{replace:!0});return}S(t.data.user.email??``),w(t.data.user.username??``),E(t.data.user.first_name??``),O(t.data.user.last_name??``),I(!1)}catch{e(u.account.login,{replace:!0})}})())},[e]);let R=async()=>{let t=await s({email:x,username:C});if(!t.ok){if(l(t)){await a();let t=f(b,u.account.root);t.requiresFullPageNavigation?window.location.href=t.destination:e(t.destination);return}M(t.errors[0]?.message??`Failed to complete signup.`);return}await a();let n=d({returnTo:b,fallback:u.account.root,authIntent:`signup`});n.requiresFullPageNavigation?window.location.href=n.destination:e(n.destination)},z=async e=>{e.preventDefault(),M(null),P(!0);try{await R()}catch{M(`Something went wrong. Please try again.`)}finally{P(!1)}},B=async e=>{if(e.preventDefault(),k.trim()){M(null),P(!0);try{await R()}catch{M(`Something went wrong. Please try again.`)}finally{P(!1)}}};if(F)return(0,y.jsx)(g,{children:(0,y.jsx)(h,{title:`Completing signup...`,subtitle:`Please wait while we load your information.`})});if(x&&C){let e=k.trim().length>0&&!N;return(0,y.jsx)(_,{children:(0,y.jsxs)(`form`,{onSubmit:B,className:`signup-details__thread`,children:[(0,y.jsxs)(`h2`,{className:`signup-details__heading`,children:[`Almost there,`,(0,y.jsx)(`br`,{}),`one more detail`]}),j&&(0,y.jsx)(`p`,{className:`signup-details__error`,children:j}),(0,y.jsxs)(`div`,{className:`signup-details__step`,children:[(0,y.jsxs)(`span`,{className:`signup-details__label`,children:[`What should I call you? `,(0,y.jsx)(`span`,{className:`signup-details__req`,children:`*`})]}),(0,y.jsx)(`input`,{className:`signup-details__input`,type:`text`,placeholder:`First name`,value:T,readOnly:!0,disabled:!0})]}),(0,y.jsxs)(`div`,{className:`signup-details__step`,children:[(0,y.jsxs)(`span`,{className:`signup-details__label`,children:[`And your last name? `,(0,y.jsx)(`span`,{className:`signup-details__req`,children:`*`})]}),(0,y.jsx)(`input`,{className:`signup-details__input`,type:`text`,placeholder:`Last name`,value:D,readOnly:!0,disabled:!0})]}),(0,y.jsxs)(`div`,{className:`signup-details__step`,children:[(0,y.jsxs)(`span`,{className:`signup-details__label`,children:[`Your role `,(0,y.jsx)(`span`,{className:`signup-details__req`,children:`*`})]}),(0,y.jsx)(`input`,{className:`signup-details__input`,type:`text`,autoComplete:`organization-title`,placeholder:`e.g. Software Engineer`,value:k,onChange:e=>A(e.target.value),autoFocus:!0})]}),(0,y.jsx)(`div`,{className:`signup-details__step`,children:(0,y.jsx)(`button`,{type:`submit`,className:`signup-details__continue`,disabled:!e,children:N?`Setting up…`:`Continue →`})})]})})}return(0,y.jsxs)(g,{children:[(0,y.jsx)(h,{title:`Complete your account`,subtitle:`We need a few more details to finish setting up your account.`}),(0,y.jsxs)(m,{onSubmit:z,error:j,submitLabel:`Complete signup`,submittingLabel:`Completing...`,isSubmitting:N,footer:(0,y.jsx)(i,{to:u.account.login,className:`text-sm text-[var(--content-secondary)] hover:text-[var(--content-default)]`,children:`← Back to sign in`}),children:[(0,y.jsx)(p,{id:`email`,type:`email`,autoComplete:`email`,placeholder:`Email`,value:x,onChange:e=>S(e.target.value),required:!0}),(0,y.jsx)(p,{id:`username`,type:`text`,autoComplete:`username`,placeholder:`Username`,value:C,onChange:e=>w(e.target.value),required:!0})]})]})}export{b as ProviderSignupPage};
|