@vellumai/web 0.10.3-staging.2 → 0.10.4-staging.1
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-Dfn9OLfv.js} +2 -2
- package/dist/assets/{BundleConfirmPage-DpfvIcwl.js → BundleConfirmPage-cwBrFi1K.js} +1 -1
- package/dist/assets/{Combination-4Qc3vrtW.js → Combination-DRz6Ez-m.js} +1 -1
- package/dist/assets/{QueryClientProvider-DKhXIxGb.js → QueryClientProvider-DgWA3A3c.js} +1 -1
- package/dist/assets/{about-page-CuSnWJFo.js → about-page-6YWjIdZL.js} +1 -1
- package/dist/assets/{account-page-CCYCSy2-.js → account-page-bNvk8mIC.js} +1 -1
- package/dist/assets/{account-shell-b6GjlQ0u.js → account-shell-B1geYjoc.js} +1 -1
- package/dist/assets/{add-credits-modal-Dy3I3Har.js → add-credits-modal-D-5W9e8w.js} +1 -1
- package/dist/assets/{advanced-page-CVnT0zH-.js → advanced-page-CuerkFrp.js} +1 -1
- package/dist/assets/ai-page-CsqhZcSf.js +1 -0
- package/dist/assets/{api-2kc3MHRz.js → api-DXPKXkDj.js} +1 -1
- package/dist/assets/{api-key-screen-DGVn66y4.js → api-key-screen-QS5FdtlL.js} +1 -1
- package/dist/assets/{app-info-BZYaLxCg.js → app-info-oX9MaK2d.js} +1 -1
- package/dist/assets/{archive-BFILUl9x.js → archive-Ct5g6T4N.js} +1 -1
- package/dist/assets/{archive-page-Dl6HLIJt.js → archive-page-Bh0LTWRp.js} +1 -1
- package/dist/assets/arrow-left-BPsKoNcb.js +1 -0
- package/dist/assets/arrow-up-CkZMv0kb.js +1 -0
- package/dist/assets/{assistant-api-DROTS3Y9.js → assistant-api-BdlaVxiH.js} +1 -1
- package/dist/assets/{assistant-feature-flag-store-Dl92XRsM.js → assistant-feature-flag-store-Ceb6N94N.js} +1 -1
- package/dist/assets/assistant-identity-store-ESeBny_J.js +1 -0
- package/dist/assets/{assistant-status-panel-BkIkvMYw.js → assistant-status-panel-DRHanMan.js} +1 -1
- package/dist/assets/auth-store-BzL2lSd1.js +7 -0
- package/dist/assets/ban-BW0pQzvY.js +1 -0
- package/dist/assets/{bell-DB1SrBre.js → bell-B-09xFrv.js} +1 -1
- package/dist/assets/{billing-page-Cq_yLwUC.js → billing-page-CEArOabV.js} +3 -3
- package/dist/assets/{bookmark-C3S-p0MQ.js → bookmark-B_4Mr1qd.js} +1 -1
- package/dist/assets/{bookmarks-page-CANlE7hP.js → bookmarks-page-BvkvZ7uy.js} +1 -1
- package/dist/assets/{brain-Bs6LnfHO.js → brain-CamcLepK.js} +1 -1
- package/dist/assets/{browser-CKX_K5ev.js → browser-CDQJAXkC.js} +2 -2
- package/dist/assets/{bug-DDcuQ3au.js → bug-BiiqXpDy.js} +1 -1
- package/dist/assets/{build-state-VC4tL7sK.js → build-state-BIN8lPRx.js} +1 -1
- package/dist/assets/{button-D7s2Q_uG.js → button-BvHa6F59.js} +1 -1
- package/dist/assets/{calendar-CpgH8CqM.js → calendar-Ba3kkcG0.js} +1 -1
- package/dist/assets/{capture-error-Hr1Yo2kx.js → capture-error-BaKOqBjF.js} +1 -1
- package/dist/assets/{card-BibIM9x3.js → card-D9_3ngHI.js} +1 -1
- package/dist/assets/check-DwLoiFa9.js +1 -0
- package/dist/assets/check-DxBmXJus.js +1 -0
- package/dist/assets/{checkbox-BqCzUvXM.js → checkbox-DNfwi5Hy.js} +1 -1
- package/dist/assets/chevron-left-CgekgptJ.js +1 -0
- package/dist/assets/chevron-right-DP15nqFC.js +1 -0
- package/dist/assets/{chevron-up-BRZN6p_l.js → chevron-up-CNrKWpd3.js} +1 -1
- package/dist/assets/{circle-alert-DvNg50UK.js → circle-alert-BB_iJtM8.js} +1 -1
- package/dist/assets/circle-check-Cwv8JCfw.js +1 -0
- package/dist/assets/{client-feature-flag-store-C1kdd1EO.js → client-feature-flag-store-kWvb3vtZ.js} +1 -1
- package/dist/assets/{cloud-off-rAv4OHmv.js → cloud-off-DpkRXr7O.js} +1 -1
- package/dist/assets/{cn-DvW5mxZR.js → cn-CFvi8Z0K.js} +1 -1
- package/dist/assets/code-7vvpMPgo.js +1 -0
- package/dist/assets/{command-palette-GZu_zgQg.js → command-palette-D1nNMvVX.js} +1 -1
- package/dist/assets/{command-palette-window-page-CzWu42Ee.js → command-palette-window-page-DrZt0RaG.js} +1 -1
- package/dist/assets/{community-page-Dhgypa-h.js → community-page-A8lshdka.js} +1 -1
- package/dist/assets/{confirm-dialog-CfOXCE1N.js → confirm-dialog-BtxNY4WU.js} +1 -1
- package/dist/assets/{connect-page-CDOcgzzL.js → connect-page-CuSSRk9J.js} +1 -1
- package/dist/assets/{consent-controls-BSZV4rW3.js → consent-controls-CYj9WfJh.js} +1 -1
- package/dist/assets/{contacts-gateway-dxw1KMN2.js → contacts-gateway-CHNyL-NU.js} +1 -1
- package/dist/assets/{contacts-page-route-C3QiOxjO.js → contacts-page-route-qsIGsjpD.js} +2 -2
- package/dist/assets/{conversation-list-fetchers-UPVZq_6O.js → conversation-list-fetchers-Bcp_Zesn.js} +1 -1
- package/dist/assets/{conversation-store-DK-7gFAt.js → conversation-store-6tz67quR.js} +1 -1
- package/dist/assets/{cpu-CiHv3fhs.js → cpu-PmmoD4_K.js} +1 -1
- package/dist/assets/{credit-card-BKRB1ZIi.js → credit-card-yPLmY1JU.js} +1 -1
- package/dist/assets/{danger-zone-redirect-page-CjqUKhk9.js → danger-zone-redirect-page-Dhgk9mkr.js} +1 -1
- package/dist/assets/debug-page-Ddv9MlOm.js +4 -0
- package/dist/assets/{deploy-dialogs-jf5VL1UP.js → deploy-dialogs-qdH6GTjP.js} +1 -1
- package/dist/assets/{detail-card-BIwpXT5F.js → detail-card-5TPdhuZN.js} +1 -1
- package/dist/assets/{developer-page-iEL4eJ8x.js → developer-page-BXl0qAXX.js} +1 -1
- package/dist/assets/{devices-page-RMaPGcXe.js → devices-page-DaZR3FC4.js} +1 -1
- package/dist/assets/{diagnostics-BEB4VPwC.js → diagnostics-D5xXiLo-.js} +1 -1
- package/dist/assets/{dictation-overlay-page-BxQCzLMY.js → dictation-overlay-page-DOdZ_KIz.js} +1 -1
- package/dist/assets/{dist-B0Gf-knw.js → dist-BkSUb6s0.js} +1 -1
- package/dist/assets/{dist-cApvLul2.js → dist-Ble8OyWO.js} +1 -1
- package/dist/assets/{document-viewer-page-57OuXxYw.js → document-viewer-page-XzPSoPVb.js} +1 -1
- package/dist/assets/{domain-field-DYwuCpup.js → domain-field-BGp08c4L.js} +1 -1
- package/dist/assets/{dropdown-CL8VmqrY.js → dropdown-SUNHYFiy.js} +1 -1
- package/dist/assets/{earn-credits-modal-Nm1VymMp.js → earn-credits-modal-D7ioWvNh.js} +1 -1
- package/dist/assets/{emails-page-0gRZqa6y.js → emails-page-BRnVsJnR.js} +1 -1
- package/dist/assets/{emoji-catalog-data-Dlkuvec0.js → emoji-catalog-data-hHp74TCA.js} +1 -1
- package/dist/assets/{environment-store-CvH3J6fT.js → environment-store-B5EGAqzg.js} +1 -1
- package/dist/assets/esm-8Mv545sP.js +2 -0
- package/dist/assets/esm-B35SBKTx.js +2 -0
- package/dist/assets/esm-B9nLiq-2.js +1 -0
- package/dist/assets/{esm-B3Lr4Bv0.js → esm-DQXfMjvW.js} +2 -2
- package/dist/assets/esm-Dz9uwqjb.js +2 -0
- package/dist/assets/esm-TyKOKslC.js +2 -0
- package/dist/assets/{external-link-DPAtkBJ2.js → external-link-h3UAe8eX.js} +1 -1
- package/dist/assets/{file-editor-BNkJJbUv.js → file-editor-Cy1TZHJJ.js} +1 -1
- package/dist/assets/{file-text-CmK9LY1p.js → file-text-Bxj0xAst.js} +1 -1
- package/dist/assets/funnel-events-Dz_DLI0Q.js +1 -0
- package/dist/assets/general-page-Dl7IYYSf.js +1 -0
- package/dist/assets/{globe-DYF_lSGm.js → globe-D7wvOZaZ.js} +1 -1
- package/dist/assets/{hard-drive-D7_5VMhi.js → hard-drive-CO7i5o4z.js} +1 -1
- package/dist/assets/{hatching-screen-KPinlCES.js → hatching-screen-YvbZlnsV.js} +1 -1
- package/dist/assets/home-page-route-B7AJU1pr.js +1 -0
- package/dist/assets/{hosting-screen-C14KAJ6m.js → hosting-screen-CKlP38Z3.js} +1 -1
- package/dist/assets/{identity-page-route-C0BFcTAF.js → identity-page-route-CZQEWoJK.js} +1 -1
- package/dist/assets/index-3zpPFBeR.js +132 -0
- package/dist/assets/index-PRuqIn_u.css +2 -0
- package/dist/assets/{info-_OtUK1cX.js → info-B4DDA6uP.js} +1 -1
- package/dist/assets/{info-BGLlcyt6.js → info-CNTT4WCe.js} +1 -1
- package/dist/assets/{input-C8kfrq9r.js → input-BLN3wmw2.js} +1 -1
- package/dist/assets/{inspect-page-CWasyuSO.js → inspect-page-AldHg0Dz.js} +4 -4
- package/dist/assets/{install-C3xe8ARr.js → install-D_GSceot.js} +1 -1
- package/dist/assets/integrations-page-b3sE-PDS.js +1 -0
- package/dist/assets/{intelligence-layout-CvTumtjv.js → intelligence-layout-CsM_YjdB.js} +1 -1
- package/dist/assets/{keyboard-shortcuts-page-kiOEZKzE.js → keyboard-shortcuts-page-Capx1ICA.js} +1 -1
- package/dist/assets/{lib-BWRK7bT2.js → lib-Bexzcbsy.js} +1 -1
- package/dist/assets/library-detail-page-DrgMdBPq.js +1 -0
- package/dist/assets/{library-page-BHejhapZ.js → library-page-Catpu3p0.js} +1 -1
- package/dist/assets/{link-2-CaszbD7P.js → link-2-DW8ruMGH.js} +1 -1
- package/dist/assets/{list-row-Cw9JYESP.js → list-row-l7sxQ4Tj.js} +1 -1
- package/dist/assets/loader-circle-cYXxWP5B.js +1 -0
- package/dist/assets/{local-mode-CvrNMtPF.js → local-mode-Cez1weue.js} +1 -1
- package/dist/assets/{log-in-2iOsufxq.js → log-in-Ci5ja9sN.js} +1 -1
- package/dist/assets/{login-flow-DPi11n3h.js → login-flow-DeMU71_M.js} +1 -1
- package/dist/assets/{login-page-BGLVK82t.js → login-page-DkNb0F3s.js} +1 -1
- package/dist/assets/{logout-page-Bl6AD21S.js → logout-page-POyojlS1.js} +1 -1
- package/dist/assets/{logs-layout-C9eUE1Pt.js → logs-layout-qJmOLDZF.js} +1 -1
- package/dist/assets/{memory-router-playground-page-Dhi3uqxr.js → memory-router-playground-page-DD6t0kqe.js} +1 -1
- package/dist/assets/{menu-C_97pis4.js → menu-_JM4udVm.js} +1 -1
- package/dist/assets/{messages-DHDZ32NT.js → messages-DCNfjhgv.js} +2 -2
- package/dist/assets/{minimize-2-JE_UHZlJ.js → minimize-2-DmC6-Woz.js} +1 -1
- package/dist/assets/{mobile-sidebar-drawer-DqXFL0Ke.js → mobile-sidebar-drawer-B4ol32hs.js} +1 -1
- package/dist/assets/{modal-D0Q3UWD0.js → modal-CH2iwSBx.js} +1 -1
- package/dist/assets/{monitor-D2okHi8o.js → monitor-B1YMXlZj.js} +1 -1
- package/dist/assets/{moon-CK8MXzOo.js → moon-DSWoApF5.js} +1 -1
- package/dist/assets/mutation-error-B5AKP6aC.js +1 -0
- package/dist/assets/{native-file-B-MK3Ngg.js → native-file-GuVJgNpB.js} +2 -2
- package/dist/assets/{notice-CqRgVmeL.js → notice-BhqKj_VM.js} +1 -1
- package/dist/assets/{notifications-page-pHiDPA0p.js → notifications-page-MRalDive.js} +1 -1
- package/dist/assets/{oauth-complete-page-DiGMWbOb.js → oauth-complete-page-DGOyh2u6.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-CwoZnzdc.js → oauth-popup-complete-page-BPxKmr_f.js} +1 -1
- package/dist/assets/{page-shell-cEGpH3P5.js → page-shell-cu3KBmqd.js} +1 -1
- package/dist/assets/{pairing-page-clFaUgzL.js → pairing-page-_ulPOW9r.js} +1 -1
- package/dist/assets/{panel-item-nGTDevWP.js → panel-item-DN2CyWOT.js} +1 -1
- package/dist/assets/{password-reset-page-DfYGL1Gv.js → password-reset-page-BfRXQpS_.js} +1 -1
- package/dist/assets/{pencil-DbB9rxpY.js → pencil-DUMCM9m-.js} +1 -1
- package/dist/assets/{platform-loopback-page-Df5bTTx8.js → platform-loopback-page-D3oAT6qE.js} +1 -1
- package/dist/assets/{plugin-detail-page-IRPeI4lP.js → plugin-detail-page-ClMMTrti.js} +1 -1
- package/dist/assets/{plugins-page-BaYp2QOe.js → plugins-page-y6Aom9qx.js} +1 -1
- package/dist/assets/{popover-CL-JL6vG.js → popover-BIr0nN9H.js} +1 -1
- package/dist/assets/prechat-route-MTnUk6MK.js +1 -0
- package/dist/assets/{prefs-C_oq5G87.js → prefs-C6e8pdrA.js} +1 -1
- package/dist/assets/{privacy-page-BUhxrIRn.js → privacy-page-gc352kAN.js} +1 -1
- package/dist/assets/privacy-screen-CQLPQPoM.js +1 -0
- package/dist/assets/{progress-bar-DIFlWPPg.js → progress-bar-ATg2lhDh.js} +1 -1
- package/dist/assets/{provider-callback-page-CxFC4PH1.js → provider-callback-page-BtYwaMxL.js} +1 -1
- package/dist/assets/{provider-key-nA35OC4Y.js → provider-key-BKR2QTfR.js} +1 -1
- package/dist/assets/{provider-signup-page-CdpT28xL.js → provider-signup-page-80V_D9ad.js} +1 -1
- package/dist/assets/proxy-T76Q62qP.js +1 -0
- package/dist/assets/{quick-input-page-C9jN8YtU.js → quick-input-page-B-7fTgJi.js} +1 -1
- package/dist/assets/{react-query.gen-CQLyoqYk.js → react-query.gen-BeTpj_Sy.js} +1 -1
- package/dist/assets/{react-query.gen-rp6Krcco.js → react-query.gen-breoeUVK.js} +1 -1
- package/dist/assets/{refresh-cw-Bf6LV0kG.js → refresh-cw-kmptQnpX.js} +1 -1
- package/dist/assets/{research-mock-page-ttrrPwo3.js → research-mock-page-DYPr-S2q.js} +1 -1
- package/dist/assets/research-onboarding-route-yYstHFq4.js +35 -0
- package/dist/assets/{resize-errors-DnJEbHn4.js → resize-errors-ocHCHRPn.js} +1 -1
- package/dist/assets/{resolved-assistants-store-Cp4J43BK.js → resolved-assistants-store-BrS8JBzC.js} +1 -1
- package/dist/assets/{return-to-ByvaXBKr.js → return-to-DlPFMVLx.js} +1 -1
- package/dist/assets/{review-terms-screen-DEiifDmK.js → review-terms-screen-DFlSm1tM.js} +1 -1
- package/dist/assets/risk-badge-CTIwePVV.js +1 -0
- package/dist/assets/{routes-DVqkwUEe.js → routes-Dzl0kj5j.js} +1 -1
- package/dist/assets/{save-DEBQ_gbb.js → save-DQyrotXP.js} +1 -1
- package/dist/assets/{schedules-D-4Rq6ZC.js → schedules-DZspBZ61.js} +1 -1
- package/dist/assets/{sdk.gen-D-_js_oC.js → sdk.gen-DSjI3deY.js} +1 -1
- package/dist/assets/{select-assistant-screen-UoixBMN2.js → select-assistant-screen-kcdnMYj7.js} +1 -1
- package/dist/assets/{setting-row-o44aWwYt.js → setting-row-DB3q3lgL.js} +1 -1
- package/dist/assets/settings-layout-DV4y_-8a.js +1 -0
- package/dist/assets/{share-feedback-modal-CTwByE7B.js → share-feedback-modal-CNGNLLDP.js} +1 -1
- package/dist/assets/{shortcut-keys-vM6sNj7W.js → shortcut-keys-D4E8qQgS.js} +1 -1
- package/dist/assets/{sidebar-tree-BJkXpCut.js → sidebar-tree-BCJVetMg.js} +1 -1
- package/dist/assets/{signup-page-CKDYl9Wb.js → signup-page-iM9szAKN.js} +1 -1
- package/dist/assets/{signup-shell-Bu5BM6II.js → signup-shell-GOG8-46O.js} +1 -1
- package/dist/assets/{skills-page-DVjqqfMw.js → skills-page-D3c3cuti.js} +1 -1
- package/dist/assets/{sound-manager-CzslfzDO.js → sound-manager-DwCzTycd.js} +1 -1
- package/dist/assets/{sounds-page-mens6EAJ.js → sounds-page-C3qbFW0l.js} +1 -1
- package/dist/assets/{sparkles-BICoewVE.js → sparkles-C8eL4LNF.js} +1 -1
- package/dist/assets/src-Dr68ou95.js +293 -0
- package/dist/assets/{stat-square-B0S3fO7O.js → stat-square-zBHENXcL.js} +1 -1
- package/dist/assets/{status-badge-pill-DYlAnX5m.js → status-badge-pill-CSitw8_5.js} +1 -1
- package/dist/assets/step-indicator-dots-D4A7eDFL.js +1 -0
- package/dist/assets/subagent-detail-panel-D3xm4yVF.js +4 -0
- package/dist/assets/{subagent-store-BLHGkTJR.js → subagent-store-CFwN6f1W.js} +1 -1
- package/dist/assets/system-events-page-CXlJ_J54.js +1 -0
- package/dist/assets/{system-events-redirect-page-C1hGE6n5.js → system-events-redirect-page-Bkigvq03.js} +1 -1
- package/dist/assets/{tag-B_-QAvJF.js → tag-64Evw5MO.js} +1 -1
- package/dist/assets/{three-dot-indicator-CLs7Rl-I.js → three-dot-indicator-DKd64wpF.js} +1 -1
- package/dist/assets/{tiptap-document-editor-D2t4qYzv.js → tiptap-document-editor-D031y5O7.js} +1 -1
- package/dist/assets/{toast-2TW5tj1Y.js → toast-VJ6jFKB9.js} +1 -1
- package/dist/assets/{toggle-X_kQW5my.js → toggle-zADptotB.js} +1 -1
- package/dist/assets/tool-detail-panel-Cq_SyoUG.js +2 -0
- package/dist/assets/{trace-page-DRWPaAuQ.js → trace-page-CEyVWa_4.js} +1 -1
- package/dist/assets/{triangle-alert-Bz1PpciW.js → triangle-alert-DqPPHRPD.js} +1 -1
- package/dist/assets/{triangle-alert-DKOyShqD.js → triangle-alert-eaW8jtCr.js} +1 -1
- package/dist/assets/{typography-BscuIPxA.js → typography-COqg6o2z.js} +1 -1
- package/dist/assets/{upgrade-cancel-page-Cwv5eMh9.js → upgrade-cancel-page-CM9JnbEO.js} +1 -1
- package/dist/assets/{upgrade-success-page-DnJ8Kyyj.js → upgrade-success-page-BxrXUjiP.js} +1 -1
- package/dist/assets/{usage-page-DJHRS0lZ.js → usage-page-DBmsLal7.js} +1 -1
- package/dist/assets/{use-active-assistant-id-C-RHQ9f6.js → use-active-assistant-id-jfqnc4T7.js} +1 -1
- package/dist/assets/{use-bus-subscription-BbiZXm1u.js → use-bus-subscription-CKWguMzy.js} +1 -1
- package/dist/assets/use-is-org-ready-DLZpD311.js +1 -0
- package/dist/assets/{use-onboarding-login-BEOH92mZ.js → use-onboarding-login-Cz1MgHw6.js} +1 -1
- package/dist/assets/use-plugin-drift-4-li_vW2.js +1 -0
- package/dist/assets/use-reduced-motion-DvKonyYy.js +1 -0
- package/dist/assets/{useQuery-B45lW1Kk.js → useBaseQuery-BOw_gWPH.js} +1 -1
- package/dist/assets/useInfiniteQuery-iPXlezAp.js +1 -0
- package/dist/assets/{useMutation-Lj4VunQV.js → useMutation-D3WkZnYg.js} +1 -1
- package/dist/assets/useQuery-cVuP8q1x.js +1 -0
- package/dist/assets/{user-plus-C0OyQU83.js → user-plus-CjFuXA3D.js} +1 -1
- package/dist/assets/{utils-IBnUZTqY.js → utils-Lep-7jRg.js} +1 -1
- package/dist/assets/{viewer-store-Dead64xY.js → viewer-store-Dened07w.js} +1 -1
- package/dist/assets/{voice-page-kQZ2ya5j.js → voice-page-C3zxM20t.js} +1 -1
- package/dist/assets/{weather-forecast-display-Cu3W6OZF.js → weather-forecast-display-DfsXEBSo.js} +1 -1
- package/dist/assets/{web-DOKyhuGQ.js → web-Broue3sZ.js} +1 -1
- package/dist/assets/{web-M3MS-KVB.js → web-C6Et8xNJ.js} +1 -1
- package/dist/assets/{web-B0S2ynRY.js → web-CNtrY6ZR.js} +1 -1
- package/dist/assets/{web-D0QcGl1O.js → web-CccL0uF5.js} +1 -1
- package/dist/assets/{web-Cg8gCWpB.js → web-CtAf2vJC.js} +1 -1
- package/dist/assets/{web-DJKnWTsF.js → web-Cygkn0vs.js} +1 -1
- package/dist/assets/{web-iUXw2JWQ.js → web-DuqCaaXx.js} +1 -1
- package/dist/assets/{welcome-screen-Bd7PCfAf.js → welcome-screen-RBmiq3Lq.js} +1 -1
- package/dist/assets/workflow-detail-panel-C2dD_hU2.js +1 -0
- package/dist/assets/{workspace-page-BR4pOxs5.js → workspace-page-lR8lzD2L.js} +1 -1
- package/dist/assets/x-649kPSQS.js +1 -0
- package/dist/assets/x-Bn5tweDc.js +1 -0
- package/dist/index.html +135 -134
- package/package.json +1 -1
- package/dist/assets/ai-page-kEbHR7cH.js +0 -1
- package/dist/assets/arrow-left-CP-EhDNF.js +0 -1
- package/dist/assets/arrow-up-nBfZxfhi.js +0 -1
- package/dist/assets/assistant-identity-store-CKjnoLSp.js +0 -1
- package/dist/assets/auth-store-Kfxhs2oI.js +0 -7
- package/dist/assets/ban-BpBuRCKI.js +0 -1
- package/dist/assets/check-CW0KmV0o.js +0 -1
- package/dist/assets/check-D6WkI0gF.js +0 -1
- package/dist/assets/chevron-left-DghyKSEE.js +0 -1
- package/dist/assets/chevron-right-B6vEpVY0.js +0 -1
- package/dist/assets/circle-check-DzlJxj_M.js +0 -1
- package/dist/assets/code-aMX9iMYa.js +0 -1
- package/dist/assets/debug-page-CBozmAQQ.js +0 -2
- 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/general-page-aZxTpnpI.js +0 -1
- package/dist/assets/home-page-route-CudtBGg1.js +0 -1
- package/dist/assets/index-Hcyzmz_5.css +0 -2
- package/dist/assets/index-PRnvH2Y1.js +0 -132
- package/dist/assets/integrations-page-WhBpTYP2.js +0 -1
- package/dist/assets/library-detail-page-rPvN9G1a.js +0 -1
- package/dist/assets/loader-circle-IIzBGiwm.js +0 -1
- package/dist/assets/mutation-error-CsyN8rYH.js +0 -1
- package/dist/assets/prechat-route-BaMWiiaf.js +0 -1
- package/dist/assets/privacy-screen-BaHYtKEt.js +0 -1
- package/dist/assets/proxy-DmIh4F51.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/settings-layout-CQ3Z9Raj.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/system-events-page-Dro8iNrx.js +0 -1
- package/dist/assets/tool-detail-panel-DRD2DIMF.js +0 -2
- package/dist/assets/use-is-org-ready-BdtHeRV6.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/workflow-detail-panel-CMmPPsuL.js +0 -1
- package/dist/assets/x-C8bCmIhD.js +0 -1
- package/dist/assets/x-KVxA2ZL0.js +0 -1
- /package/dist/assets/{api-errors-CveHbhgb.js → api-errors-B-g6gvNv.js} +0 -0
- /package/dist/assets/{avatar-bundled-components-BgAkdy0n.js → avatar-bundled-components-DoxUXsZB.js} +0 -0
- /package/dist/assets/{avatar-svg-compositor-CEmN7KGI.js → avatar-svg-compositor-Bzno7teV.js} +0 -0
- /package/dist/assets/{build.umd-B3KuSWeo.js → build.umd-C56vswwO.js} +0 -0
- /package/dist/assets/{client.gen-Cs6pCK0s.js → client.gen-BnoNy2w0.js} +0 -0
- /package/dist/assets/{composer-focus-Bp1AiP29.js → composer-focus-BZr63Cvs.js} +0 -0
- /package/dist/assets/{conversation-selection-CtKjA5Ni.js → conversation-selection-BV7USWf2.js} +0 -0
- /package/dist/assets/{create-selectors-BE0_e_Ed.js → create-selectors-BTyhO-eS.js} +0 -0
- /package/dist/assets/{createLucideIcon-Bjb-Kuq7.js → createLucideIcon-6rJ6BdB7.js} +0 -0
- /package/dist/assets/{createLucideIcon-BlMXrA59.js → createLucideIcon-D8roAprb.js} +0 -0
- /package/dist/assets/{definitions-lQvEBMJT.js → definitions-CtVlh_R5.js} +0 -0
- /package/dist/assets/{dist-BTp54SIT.js → dist-CzyDxYAs.js} +0 -0
- /package/dist/assets/{edit-chat-session-DJpqkkos.js → edit-chat-session-BYvbyTwd.js} +0 -0
- /package/dist/assets/{effective-timezone-DrYGH2Lb.js → effective-timezone-DAkNzd21.js} +0 -0
- /package/dist/assets/{event-bus-Dl7-I4aL.js → event-bus-CBil9JQT.js} +0 -0
- /package/dist/assets/{feature-flag-catalog-RK3_Ckyw.js → feature-flag-catalog-Br-v70vR.js} +0 -0
- /package/dist/assets/{format-CPOur310.js → format-HKnibeVj.js} +0 -0
- /package/dist/assets/{format-date-CLlHK5gl.js → format-date-DyMQp2_m.js} +0 -0
- /package/dist/assets/{format-file-size-BfZOpPdu.js → format-file-size-DOcXaUaE.js} +0 -0
- /package/dist/assets/{haptics-CXHZxyAg.js → haptics-CKwMH4eq.js} +0 -0
- /package/dist/assets/{impersonate-version-flag-n-4oNLiO.js → impersonate-version-flag-XVa1Tm2F.js} +0 -0
- /package/dist/assets/{infiniteQueryOptions-C6p49ZmI.js → infiniteQueryOptions-DTCCTa10.js} +0 -0
- /package/dist/assets/{is-electron-C_ZTVhv8.js → is-electron-URCUw74P.js} +0 -0
- /package/dist/assets/{jsx-runtime-CVSDxk6A.js → jsx-runtime-B-mvcaJS.js} +0 -0
- /package/dist/assets/{llm-dimension-CQdmYu05.js → llm-dimension-Dx3xIzPP.js} +0 -0
- /package/dist/assets/{misc-BN2o2MEB.js → misc-CBD9JJCY.js} +0 -0
- /package/dist/assets/{native-deep-link-BYNI6pkW.js → native-deep-link-DmJ7Ty6z.js} +0 -0
- /package/dist/assets/{pdf-pz4ipUHd.js → pdf-DNWhOzmB.js} +0 -0
- /package/dist/assets/{prechat-B28Vzu55.js → prechat-BuuzFtal.js} +0 -0
- /package/dist/assets/{prechat-names-CRduluk-.js → prechat-names-Bo5bdzfH.js} +0 -0
- /package/dist/assets/{public-asset-Fx_laYnf.js → public-asset-BTisO-cB.js} +0 -0
- /package/dist/assets/{queryOptions-BtNi-_9H.js → queryOptions-DGyQTr3e.js} +0 -0
- /package/dist/assets/{sdk.gen-1aYqVbMj.js → sdk.gen-CC1iYdd0.js} +0 -0
- /package/dist/assets/{semver-yC_Iq9co.js → semver-DpADL11z.js} +0 -0
- /package/dist/assets/{tool-call-status-DTV5jmaU.js → tool-call-status-DNS6Y_vi.js} +0 -0
- /package/dist/assets/{typed-storage-Dctd_K9F.js → typed-storage-Chj38wph.js} +0 -0
- /package/dist/assets/{usage-window-Wgtgd-cv.js → usage-window-dm_mRqGo.js} +0 -0
- /package/dist/assets/{use-is-mobile-Cy10kl9u.js → use-is-mobile-BF5x8sr8.js} +0 -0
- /package/dist/assets/{workflow-status-DmbjJPT4.js → workflow-status-B53qU9DS.js} +0 -0
- /package/dist/assets/{xterm-MKaw0cT7.js → xterm-CQ7wuPsS.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-BFDQtfbG.js → xterm-addon-fit-CamgTlEH.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Hr1Yo2kx.js";import{t as n}from"./react-DJZBPgpf.js";import{O as r,t as i}from"./button-D7s2Q_uG.js";import{d as a}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as o}from"./QueryClientProvider-DKhXIxGb.js";import{t as s}from"./useQuery-B45lW1Kk.js";import{t as c}from"./useMutation-Lj4VunQV.js";import{t as l}from"./jsx-runtime-CVSDxk6A.js";import{t as u}from"./card-BibIM9x3.js";import"./src-CK6bncSg.js";import{t as d}from"./confirm-dialog-CfOXCE1N.js";import{n as f,s as p,t as m}from"./install-C3xe8ARr.js";import{t as h}from"./chevron-left-DghyKSEE.js";import{t as g}from"./chevron-right-B6vEpVY0.js";import{t as _}from"./file-text-CmK9LY1p.js";import{n as v,t as y}from"./minimize-2-JE_UHZlJ.js";import{t as b}from"./pencil-DbB9rxpY.js";import{t as x}from"./save-DEBQ_gbb.js";import{t as S}from"./sparkles-BICoewVE.js";import{t as C}from"./x-KVxA2ZL0.js";import{Gt as w,_t as T,gt as E}from"./react-query.gen-CQLyoqYk.js";import{r as D}from"./api-2kc3MHRz.js";import{a as O}from"./routes-DVqkwUEe.js";import{n as k}from"./viewer-store-Dead64xY.js";import{t as A}from"./conversation-store-DK-7gFAt.js";import{t as j}from"./conversation-selection-CtKjA5Ni.js";import{t as M}from"./misc-BN2o2MEB.js";import{t as N}from"./proxy-DmIh4F51.js";import{t as P}from"./AnimatePresence-CgXwEO42.js";import{$t as ee,Ci as F,Dr as I,Er as te,Fn as L,Ii as R,In as z,Mn as ne,Nn as re,Or as ie,Xr as ae,ct as B,it as V,kr as H}from"./index-PRnvH2Y1.js";import{t as U}from"./use-active-assistant-id-C-RHQ9f6.js";var oe=e(r(),1),W=e(n(),1),G=l();function K(e,t,n){return n===`forward`?(e+1)%t:(e-1+t)%t}function q({assistantId:e,initialTraits:t,onSave:n,onCancel:r}){let[i,a]=(0,W.useState)(null),[o,s]=(0,W.useState)(!0),[c,l]=(0,W.useState)(!1),u=(0,W.useRef)(null),[d,f]=(0,W.useState)(0),[p,m]=(0,W.useState)(0),[h,g]=(0,W.useState)(0);(0,W.useEffect)(()=>{if(u.current===e)return;let n=!1;return re(e).then(r=>{if(!n&&(u.current=e,a(r),s(!1),r&&t)){let e=r.bodyShapes.findIndex(e=>e.id===t.bodyShape),n=r.eyeStyles.findIndex(e=>e.id===t.eyeStyle),i=r.colors.findIndex(e=>e.id===t.color);e>=0&&f(e),n>=0&&m(n),i>=0&&g(i)}}),()=>{n=!0}},[e,t]);let _=(0,W.useCallback)(()=>{i&&(f(Math.floor(Math.random()*i.bodyShapes.length)),m(Math.floor(Math.random()*i.eyeStyles.length)),g(Math.floor(Math.random()*i.colors.length)))},[i]),v=(0,W.useCallback)(async()=>{if(!i)return;let t={bodyShape:i.bodyShapes[d].id,eyeStyle:i.eyeStyles[p].id,color:i.colors[h].id};l(!0);try{await L(e,t),n?.(t)}finally{l(!1)}},[i,d,p,h,e,n]);if(o)return(0,G.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,G.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2 border-[var(--border-element)] border-t-[var(--content-tertiary)]`})});if(!i)return(0,G.jsx)(`div`,{className:`py-8 text-center text-body-medium-lighter text-[var(--content-quiet)]`,children:`Unable to load avatar components. Make sure your assistant is running.`});let y=i.bodyShapes[d],b=i.eyeStyles[p],S=i.colors[h];return(0,G.jsxs)(`div`,{className:`space-y-6`,children:[(0,G.jsx)(`div`,{className:`flex justify-center`,children:(0,G.jsx)(`div`,{className:`rounded-2xl bg-[var(--surface-sunken)] p-6`,children:(0,G.jsx)(V,{components:i,bodyShapeId:y.id,eyeStyleId:b.id,colorId:S.id,size:160})})}),(0,G.jsxs)(`div`,{className:`space-y-3`,children:[(0,G.jsx)(J,{label:`Body`,value:y.id,onPrev:()=>f(K(d,i.bodyShapes.length,`backward`)),onNext:()=>f(K(d,i.bodyShapes.length,`forward`))}),(0,G.jsx)(J,{label:`Eyes`,value:b.id,onPrev:()=>m(K(p,i.eyeStyles.length,`backward`)),onNext:()=>m(K(p,i.eyeStyles.length,`forward`))}),(0,G.jsx)(J,{label:`Color`,value:S.id,colorHex:S.hex,onPrev:()=>g(K(h,i.colors.length,`backward`)),onNext:()=>g(K(h,i.colors.length,`forward`))})]}),(0,G.jsxs)(`div`,{className:`flex gap-2`,children:[(0,G.jsxs)(`button`,{type:`button`,onClick:_,className:`flex flex-1 cursor-pointer items-center justify-center gap-2 rounded-lg border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-2 text-body-medium-default text-[var(--content-strong)] transition-colors hover:bg-[var(--surface-hover)]`,children:[(0,G.jsx)(R,{className:`h-4 w-4`}),`Randomize`]}),(0,G.jsxs)(`button`,{type:`button`,onClick:v,disabled:c,className:`flex flex-1 cursor-pointer items-center justify-center gap-2 rounded-lg border border-[var(--system-positive-strong)] bg-[var(--system-positive-weak)] px-3 py-2 text-body-medium-default text-[var(--system-positive-strong)] transition-colors hover:opacity-90 disabled:opacity-50`,children:[(0,G.jsx)(x,{className:`h-4 w-4`}),c?`Saving...`:`Save Avatar`]}),r&&(0,G.jsx)(`button`,{type:`button`,onClick:r,className:`flex cursor-pointer items-center justify-center rounded-lg border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-2 text-body-medium-default text-[var(--content-strong)] transition-colors hover:bg-[var(--surface-hover)]`,children:(0,G.jsx)(C,{className:`h-4 w-4`})})]})]})}function J({label:e,value:t,colorHex:n,onPrev:r,onNext:i}){return(0,G.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-3 py-2`,children:[(0,G.jsx)(`span`,{className:`text-body-small-default uppercase tracking-wider text-[var(--content-quiet)]`,children:e}),(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`button`,{type:`button`,onClick:r,className:`flex h-7 w-7 cursor-pointer items-center justify-center rounded-md text-[var(--content-quiet)] transition-colors hover:bg-[var(--surface-active)]`,children:(0,G.jsx)(h,{className:`h-4 w-4`})}),(0,G.jsxs)(`div`,{className:`flex min-w-[80px] items-center justify-center gap-2`,children:[n&&(0,G.jsx)(`div`,{className:`h-4 w-4 rounded-full border border-[var(--border-element)]`,style:{backgroundColor:n}}),(0,G.jsx)(`span`,{className:`text-body-medium-default capitalize text-[var(--content-strong)]`,children:t})]}),(0,G.jsx)(`button`,{type:`button`,onClick:i,className:`flex h-7 w-7 cursor-pointer items-center justify-center rounded-md text-[var(--content-quiet)] transition-colors hover:bg-[var(--surface-active)]`,children:(0,G.jsx)(g,{className:`h-4 w-4`})})]})]})}function se({open:e,onClose:t,assistantId:n,components:r,traits:i,customImageUrl:a,onSaveCharacter:o,onUploadImage:s,onGenerateWithAI:c}){let l=(0,W.useId)(),u=(0,W.useRef)(null),d=(0,W.useRef)(null),f=(0,W.useRef)(null),[p,m]=(0,W.useState)(`actions`),[_,v]=(0,W.useState)(!1);(0,W.useEffect)(()=>{e&&d.current?.focus()},[e]),(0,W.useEffect)(()=>{if(e){let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}}},[e]);let y=(0,W.useCallback)(()=>{m(`actions`),t()},[t]),b=(0,W.useCallback)(e=>{e.key===`Escape`&&(p===`character-builder`?m(`actions`):y())},[y,p]),x=(0,W.useCallback)(e=>{e.target===u.current&&y()},[y]),w=(0,W.useCallback)(()=>{m(`actions`)},[]),T=(0,W.useCallback)(()=>{m(`character-builder`)},[]),E=(0,W.useCallback)(async e=>{let t=e.target.files?.[0];if(!t)return;v(!0);let r=await z(n,t);v(!1),r&&(s(),y()),f.current&&(f.current.value=``)},[n,s,y]),D=(0,W.useCallback)(()=>{f.current?.click()},[]),O=(0,W.useCallback)(()=>{y(),c?.()},[y,c]),k=(0,W.useCallback)(e=>{o(e),y()},[o,y]);return e?(0,oe.createPortal)((0,G.jsxs)(`div`,{ref:u,role:`dialog`,"aria-modal":`true`,"aria-labelledby":l,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:b,onClick:x,children:[(0,G.jsxs)(`div`,{className:`mx-4 flex w-full max-w-md flex-col rounded-xl border shadow-xl`,style:{backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`85vh`},children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between border-b px-6 py-4`,style:{borderColor:`var(--border-base)`},children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[p===`character-builder`&&(0,G.jsx)(`button`,{type:`button`,onClick:w,className:`flex h-8 w-8 items-center justify-center rounded-lg transition-colors hover:bg-black/5 dark:hover:bg-white/10`,"aria-label":`Back`,children:(0,G.jsx)(h,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,G.jsx)(`h2`,{id:l,className:`text-title-small`,style:{color:`var(--content-default)`},children:p===`character-builder`?`Build a Character`:`Update Avatar`})]}),(0,G.jsx)(`button`,{ref:d,type:`button`,onClick:y,className:`flex h-8 w-8 items-center justify-center rounded-lg transition-colors hover:bg-black/5 dark:hover:bg-white/10`,"aria-label":`Close`,children:(0,G.jsx)(C,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})]}),(0,G.jsx)(`div`,{className:`overflow-y-auto p-6`,children:p===`actions`?(0,G.jsxs)(`div`,{className:`flex flex-col items-center gap-6`,children:[(0,G.jsx)(B,{components:r,traits:i,customImageUrl:a,size:120,interactive:!0}),(0,G.jsxs)(`div`,{className:`w-full space-y-2`,children:[(0,G.jsxs)(`button`,{type:`button`,onClick:T,className:`flex w-full cursor-pointer items-center gap-3 rounded-lg border px-4 py-3 transition-colors hover:opacity-80`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-lift)`},children:[(0,G.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg`,style:{backgroundColor:`color-mix(in oklab, var(--content-tertiary) 16%, transparent)`},children:(0,G.jsx)(H,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,G.jsxs)(`div`,{className:`flex-1 text-left`,children:[(0,G.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Build a Character`}),(0,G.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Build your own character`})]}),(0,G.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})]}),(0,G.jsxs)(`button`,{type:`button`,onClick:D,disabled:_,className:`flex w-full cursor-pointer items-center gap-3 rounded-lg border px-4 py-3 transition-colors hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-50`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-lift)`},children:[(0,G.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg`,style:{backgroundColor:`color-mix(in oklab, var(--content-tertiary) 16%, transparent)`},children:(0,G.jsx)(F,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,G.jsxs)(`div`,{className:`flex-1 text-left`,children:[(0,G.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:_?`Uploading...`:`Upload Image`}),(0,G.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Choose an image from your computer`})]}),(0,G.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})]}),c&&(0,G.jsxs)(`button`,{type:`button`,onClick:O,className:`flex w-full cursor-pointer items-center gap-3 rounded-lg border px-4 py-3 transition-colors hover:opacity-80`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-lift)`},children:[(0,G.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg`,style:{backgroundColor:`color-mix(in oklab, var(--content-tertiary) 16%, transparent)`},children:(0,G.jsx)(S,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,G.jsxs)(`div`,{className:`flex-1 text-left`,children:[(0,G.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Generate with AI`}),(0,G.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Create an avatar through chat`})]}),(0,G.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})]})]})]}):(0,G.jsx)(q,{assistantId:n,initialTraits:i,onSave:k,onCancel:w})})]}),(0,G.jsx)(`input`,{ref:f,type:`file`,accept:`image/png,image/jpeg,image/webp,image/gif`,className:`hidden`,onChange:E})]}),document.body):null}var ce={displayName:`Other`,color:`#888`,emoji:`?`},le={email:{displayName:`Email`,color:`#A665C9`,emoji:`📧`},calendar:{displayName:`Calendar`,color:`#0E9B8B`,emoji:`📅`},messaging:{displayName:`Messaging`,color:`#6B8AE0`,emoji:`💬`},browsing:{displayName:`Browsing`,color:`#E9642F`,emoji:`🌐`},productivity:{displayName:`Productivity`,color:`#0E9B8B`,emoji:`📋`},development:{displayName:`Development`,color:`#EF4400`,emoji:`🔨`},voice:{displayName:`Voice`,color:`#DB4B77`,emoji:`🎤`},commerce:{displayName:`Commerce`,color:`#E9C91A`,emoji:`🛒`},content:{displayName:`Content`,color:`#DB4B77`,emoji:`🎨`},health:{displayName:`Health`,color:`#4C9B50`,emoji:`❤️`},system:{displayName:`System`,color:`#8D99A5`,emoji:`⚙️`},integrations:{displayName:`Integrations`,color:`#8D99A5`,emoji:`🔗`}};function Y(e){return le[e]??ce}var X=[`email`,`calendar`,`messaging`,`browsing`,`productivity`,`development`,`voice`,`commerce`,`content`,`health`,`system`,`integrations`],ue={email:[{label:`Sending`,emoji:`📨`,skillIds:new Set([`agentmail`,`email-setup`])},{label:`Reading`,emoji:`📬`,skillIds:new Set([`email-channel`,`gmail`])}],messaging:[{label:`Chat`,emoji:`💬`,skillIds:new Set([`messaging`,`slack`,`telegram`])},{label:`Notifications`,emoji:`🔔`,skillIds:new Set([`notifications`])},{label:`People`,emoji:`👥`,skillIds:new Set([`contacts`,`followups`])}],development:[{label:`Coding`,emoji:`💻`,skillIds:new Set([`typescript-eval`,`frontend-design`])},{label:`Dev Tools`,emoji:`🔧`,skillIds:new Set([`api-mapping`,`cli-discover`,`subagent`,`app-builder`])}],browsing:[{label:`Control`,emoji:`🎮`,skillIds:new Set([`computer-use`,`macos-automation`,`browser`])},{label:`Triggers`,emoji:`⏰`,skillIds:new Set([`watcher`,`time-based-actions`])}],commerce:[{label:`Shopping`,emoji:`🛒`,skillIds:new Set([`amazon`,`doordash`,`restaurant-reservation`])}],system:[{label:`Core`,emoji:`🧠`,skillIds:new Set([`knowledge-graph`,`skills-catalog`,`self-upgrade`])},{label:`Daily`,emoji:`☀️`,skillIds:new Set([`start-the-day`,`weather`])}]},de=14,fe=10,pe=6;function me(e){switch(e.kind.type){case`center`:return{shape:`circle`,size:90,cornerRadius:0};case`category`:return{shape:`roundedRect`,size:80,cornerRadius:de};case`subCategory`:return{shape:`roundedRect`,size:56,cornerRadius:fe};case`skill`:return{shape:`diamond`,size:64,cornerRadius:pe}}}function he(e,t,n,r){let i=Math.min(Math.max(0,t),e),a=Math.abs(n),o=Math.abs(r);if(a<1e-6&&o<1e-6)return e;let s=e/Math.max(a,o),c=s*n,l=s*r;if(!(Math.abs(c)>e-i&&Math.abs(l)>e-i))return s;let u=Math.sign(c)*(e-i),d=Math.sign(l)*(e-i),f=n*u+r*d,p=u*u+d*d-i*i,m=f*f-p;return m<0?s:f+Math.sqrt(m)}function ge(e,t,n){switch(e.shape){case`circle`:return e.size/2;case`roundedRect`:return he(e.size/2,e.cornerRadius,t,n);case`diamond`:{let r=(t+n)*Math.SQRT1_2,i=(-t+n)*Math.SQRT1_2;return he(e.size/2,e.cornerRadius,r,i)}}}function _e(e,t){let n=t.x-e.x,r=t.y-e.y,i=Math.sqrt(n*n+r*r);if(i<1e-6)return{x1:e.x,y1:e.y,x2:t.x,y2:t.y};let a=n/i,o=r/i,s=Math.max(0,ge(me(e),a,o)-3),c=Math.max(0,ge(me(t),-a,-o)-3);if(s+c>=i){let n=(e.x+t.x)/2,r=(e.y+t.y)/2;return{x1:n,y1:r,x2:n,y2:r}}return{x1:e.x+a*s,y1:e.y+o*s,x2:t.x-a*c,y2:t.y-o*c}}var ve=10,ye=200,be=160,xe=160;function Se(e,t,n,r){let i={x:e.x,y:e.y};for(let e=0;e<30;e++){let e=0,a=0,o=0;for(let s of n){let n=i.x-s.x,c=i.y-s.y,l=Math.sqrt(n*n+c*c),u=t+s.radius+r-l;u>e&&(e=u,l<.1?(a=u+1,o=0):(a=n/l*(u+1),o=c/l*(u+1)))}if(e<=0)break;i={x:i.x+a,y:i.y+o}}return i}function Ce(e,t,n,r,i,a,o,s,c,l,u,d){if(e.length===0)return;let f=a+o,p=Math.cos(r),m=Math.sin(r),h=-m,g=p,_=f*.88,v=Y(c).color;e.forEach((r,c)=>{let y=Math.floor(c/3),b=c%3,x=Math.min(3,e.length-y*3),S=(b-(x-1)/2)*f,C=y%2==1&&x<3?f*.5:0,w=i+y*_,T=Se({x:n.x+w*p+(S+C)*h,y:n.y+w*m+(S+C)*g},a/2,u,o);u.push({id:r.id,kind:{type:`skill`,item:r},parentId:t,depth:s,x:T.x,y:T.y,radius:a/2}),d.push({id:`edge-${l}-skill-${c}`,fromId:t,toId:r.id,color:v})})}function we(e,t,n=90){let r=[],i=[],a=ve;if(r.push({id:`__center__`,kind:{type:`center`},parentId:null,depth:0,x:e.x,y:e.y,radius:n/2}),t.length===0)return{nodes:r,edges:i};let o=t.length,s=2*Math.PI/o;return t.forEach((t,n)=>{let o=-Math.PI/2+n*s,c=`cat-${t.category}`,l=Y(t.category).color,u=Se({x:e.x+ye*Math.cos(o),y:e.y+ye*Math.sin(o)},80/2,r,a);r.push({id:c,kind:{type:`category`,category:t.category},parentId:`__center__`,depth:1,x:u.x,y:u.y,radius:80/2}),i.push({id:`edge-center-${t.category}`,fromId:`__center__`,toId:c,color:l});let d=ue[t.category];if(d&&d.length>0){let e=[],n=new Set;for(let r of d){let i=t.items.filter(e=>r.skillIds.has(e.id));i.length>0&&(e.push({def:r,items:i}),i.forEach(e=>n.add(e.id)))}let f=t.items.filter(e=>!n.has(e.id));if(f.length>0){if(e.length===0){Ce(t.items,c,u,o,xe,64,a,2,t.category,t.category,r,i);return}let n=e[e.length-1];n&&n.items.push(...f)}let p=e.length,m=s*.55,h=p<=1?0:Math.min(m,(p-1)*.35);e.forEach((e,n)=>{let s;s=p===1?o:o+(n/(p-1)-.5)*h*2;let d=`subcat-${t.category}-${n}`,f=Se({x:u.x+be*Math.cos(s),y:u.y+be*Math.sin(s)},56/2,r,a);r.push({id:d,kind:{type:`subCategory`,label:e.def.label,emoji:e.def.emoji,category:t.category},parentId:c,depth:2,x:f.x,y:f.y,radius:56/2}),i.push({id:`edge-${t.category}-sub-${n}`,fromId:c,toId:d,color:l}),Ce(e.items,d,f,s,xe,64,a,3,t.category,d,r,i)})}else Ce(t.items,c,u,o,xe,64,a,2,t.category,t.category,r,i)}),{nodes:r,edges:i}}function Te(e){let t=new Map;for(let n of e){let e=t.get(n.category);e?e.push(n):t.set(n.category,[n])}let n=[];for(let e of X){let r=t.get(e);r&&r.length>0&&n.push({category:e,items:r})}for(let[e,r]of t)!X.includes(e)&&r.length>0&&n.push({category:e,items:r});return n}function Ee(e,t,n,r,i=120,a=.4,o=3){if(e.length===0)return{zoom:1,panX:0,panY:0};let s=1/0,c=-1/0,l=1/0,u=-1/0;for(let t of e)s=Math.min(s,t.x),c=Math.max(c,t.x),l=Math.min(l,t.y),u=Math.max(u,t.y);let d=c-s+i*2,f=u-l+i*2;if(d<=0||f<=0||n<=0||r<=0)return{zoom:1,panX:0,panY:0};let p=Math.min(n/d,r/f),m=Math.max(a,Math.min(o,p)),h=(s+c)/2-t.x,g=(l+u)/2-t.y;return{zoom:m,panX:-h*m,panY:-g*m}}var De=.4,Oe=.25,Z={x:600,y:450},ke={type:`spring`,stiffness:180,damping:20},Ae={category:{size:80,cornerRadius:14,dashed:!1,fillPct:14,fillHoverPct:25,strokePct:55,strokeHoverPct:85,strokeWidth:2,strokeHoverWidth:2.5},subcategory:{size:56,cornerRadius:10,dashed:!0,fillPct:10,fillHoverPct:20,strokePct:40,strokeHoverPct:70,strokeWidth:1.5,strokeHoverWidth:2}},je={category:`rounded-[3px]`,subcategory:`rounded-[3px] border-dashed`,skill:`rotate-45`,workspace:`rounded-full`};function Me({edges:e,nodeById:t,visible:n}){return(0,G.jsx)(`svg`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-0 h-full w-full overflow-visible`,children:e.map(e=>{let r=t.get(e.fromId),i=t.get(e.toId);if(!r||!i)return null;let{x1:a,y1:o,x2:s,y2:c}=_e(r,i);return(0,G.jsx)(`line`,{x1:a,y1:o,x2:s,y2:c,stroke:e.color,strokeWidth:1.5,opacity:n?.45:0,style:{transition:`opacity 0.4s ease`}},e.id)})})}function Q({shape:e,label:t}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`flex h-4 w-4 items-center justify-center`,children:(0,G.jsx)(`span`,{className:M(`inline-block h-3 w-3 border-[1.5px] border-[var(--content-tertiary)]`,je[e])})}),(0,G.jsx)(`span`,{children:t})]})}function Ne({visible:e}){return(0,G.jsx)(`div`,{"data-constellation-control":!0,className:`pointer-events-none absolute bottom-4 left-4 rounded-md px-3 py-2 text-body-small-default`,style:{backgroundColor:`color-mix(in srgb, var(--surface-overlay) 80%, transparent)`,border:`1px solid color-mix(in srgb, var(--content-tertiary) 20%, transparent)`,color:`var(--content-secondary)`,opacity:+!!e,transition:`opacity 0.35s ease`},children:(0,G.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,G.jsx)(Q,{shape:`category`,label:`Category`}),(0,G.jsx)(Q,{shape:`subcategory`,label:`Subcategory`}),(0,G.jsx)(Q,{shape:`skill`,label:`Skill`}),(0,G.jsx)(Q,{shape:`workspace`,label:`Workspace`})]})})}function Pe({item:e,color:t,onViewDetails:n}){let r=e.kind===`skill`?`Skill`:`Workspace`,a=e.kind===`skill`?ie:_;return(0,G.jsxs)(u,{padding:`sm`,elevated:!0,className:`w-[260px] shadow-[var(--shadow-popover)]`,role:`dialog`,"aria-label":`${e.label} details`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,G.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-md px-2 py-1 text-body-small-emphasised text-[var(--content-default)]`,style:{backgroundColor:`${t}33`},children:[(0,G.jsx)(a,{className:`h-3 w-3`,style:{color:t}}),r]}),n?(0,G.jsx)(i,{type:`button`,variant:`ghost`,size:`compact`,onClick:n,children:`View Details`}):null]}),(0,G.jsxs)(`div`,{className:`mt-2 flex items-start gap-2`,children:[e.icon||e.emoji?(0,G.jsx)(p,{skill:e,className:`h-5 w-5 shrink-0 text-[20px] leading-none`}):null,(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsx)(`div`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.label}),e.description?(0,G.jsx)(`div`,{className:`mt-1 line-clamp-3 text-body-small-default text-[var(--content-secondary)]`,children:e.description}):null]})]})]})}function Fe({onSingleClick:e,onDoubleClick:t,latency:n=200}){let r=(0,W.useRef)(null);return(0,W.useEffect)(()=>()=>{r.current&&clearTimeout(r.current)},[]),(0,W.useCallback)(i=>{r.current&&=(clearTimeout(r.current),null),e&&i.detail===1&&(r.current=setTimeout(()=>{r.current=null,e()},n)),t&&i.detail>=2&&i.detail%2==0&&t()},[e,t,n])}function Ie(e,t,n){let[r,i]=(0,W.useState)(!1),a=r||n===!0,o=Fe({onSingleClick:e,onDoubleClick:t});return{active:a,onClick:(0,W.useCallback)(n=>{!e&&!t||(n.stopPropagation(),o(n))},[e,t,o]),onPointerDown:(0,W.useCallback)(n=>{!e&&!t||n.stopPropagation()},[e,t]),onMouseEnter:(0,W.useCallback)(()=>i(!0),[]),onMouseLeave:(0,W.useCallback)(()=>i(!1),[])}}function $(e,t){return`color-mix(in oklab, ${e} ${Math.max(0,Math.min(100,t))}%, var(--surface-base))`}function Le(e,t){switch(e.kind.type){case`center`:return{visible:t>=1};case`category`:return{visible:t>=2};case`subCategory`:return{visible:t>=3};case`skill`:return{visible:t>=4}}}function Re(e,t){switch(e.kind.type){case`center`:return .05;case`category`:return t*.04;case`subCategory`:return t*.03;case`skill`:return .08+t*.02}}function ze(e){switch(e.kind.type){case`skill`:return e.kind.item;case`category`:{let t=Y(e.kind.category);return{id:e.id,label:t.displayName,emoji:t.emoji,category:e.kind.category,kind:`workspaceFile`}}case`subCategory`:return{id:e.id,label:e.kind.label,emoji:e.kind.emoji,category:e.kind.category,kind:`workspaceFile`};default:return}}function Be({variant:e,x:t,y:n,color:r,tooltip:i,visibility:a,delay:o,children:s,isSelected:c,onSingleClick:l,onDoubleClick:u}){let d=Ae[e],{active:f,...p}=Ie(l,u,c),m={left:t-d.size/2,top:n-d.size/2,width:d.size,height:d.size,borderRadius:d.cornerRadius,backgroundColor:$(r,f?d.fillHoverPct:d.fillPct),borderStyle:d.dashed?`dashed`:`solid`,borderColor:$(r,f?d.strokeHoverPct:d.strokePct),borderWidth:f?d.strokeHoverWidth:d.strokeWidth,transition:`background-color 0.15s ease, border-color 0.15s ease, border-width 0.15s ease`,cursor:l||u?`pointer`:`default`};return(0,G.jsx)(N.div,{className:`pointer-events-auto absolute flex flex-col items-center justify-center`,"data-constellation-node":!0,style:m,initial:{opacity:0,scale:.3},animate:{opacity:+!!a.visible,scale:a.visible?1:.3},transition:{...ke,delay:o},onMouseEnter:p.onMouseEnter,onMouseLeave:p.onMouseLeave,onPointerDown:p.onPointerDown,onClick:p.onClick,title:i,children:s})}function Ve({x:e,y:t,item:n,color:r,fallbackEmoji:i,visibility:a,delay:o,isSelected:s,onSingleClick:c,onDoubleClick:l}){let{active:u,...d}=Ie(c,l,s);return(0,G.jsxs)(N.div,{className:`pointer-events-auto absolute`,"data-constellation-node":!0,style:{left:e-64/2,top:t-64/2,width:64,height:64,cursor:c||l?`pointer`:`default`},initial:{opacity:0,scale:.4},animate:{opacity:+!!a.visible,scale:a.visible?1:.4},transition:{...ke,delay:o},onMouseEnter:d.onMouseEnter,onMouseLeave:d.onMouseLeave,onPointerDown:d.onPointerDown,onClick:d.onClick,title:n.label,children:[(0,G.jsx)(`div`,{"aria-hidden":!0,className:`absolute inset-0 rounded-md`,style:{transform:`rotate(45deg)`,backgroundColor:$(r,u?20:10),border:`${u?2:1.5}px solid ${$(r,u?70:40)}`,transition:`background-color 0.15s ease, border-color 0.15s ease, border-width 0.15s ease`}}),(0,G.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center`,children:[(0,G.jsx)(p,{skill:n,className:`h-4 w-4 text-[16px] leading-none`,fallback:i}),(0,G.jsx)(`span`,{className:`mt-0.5 max-w-[42px] truncate text-[9px] font-medium leading-tight text-[var(--content-default)]`,title:n.label,children:n.label})]})]})}function He({node:e,index:t,phase:n,components:r,traits:i,customImageUrl:a,isSelected:o,onSingleClick:s,onDoubleClick:c}){let l=Le(e,n),u=Re(e,t);if(e.kind.type===`center`)return(0,G.jsx)(N.div,{className:`pointer-events-none absolute`,style:{left:e.x-90/2,top:e.y-90/2,width:90,height:90},initial:{opacity:0,scale:.6},animate:{opacity:+!!l.visible,scale:l.visible?1:.6},transition:{...ke,delay:u},children:(0,G.jsx)(B,{components:r,traits:i,customImageUrl:a,size:90})});if(e.kind.type===`category`||e.kind.type===`subCategory`){let t=Y(e.kind.category),n=e.kind.type===`category`?`category`:`subcategory`,r=e.kind.type===`category`?t.emoji:e.kind.emoji,i=e.kind.type===`category`?t.displayName:e.kind.label,a=n===`category`?`text-[20px]`:`text-[14px]`,d=n===`category`?`mt-1 max-w-[85%] truncate text-label-medium-default leading-tight text-[var(--content-default)]`:`mt-0.5 max-w-[85%] truncate text-[9.5px] font-medium leading-tight text-[var(--content-default)]`;return(0,G.jsxs)(Be,{variant:n,x:e.x,y:e.y,color:t.color,tooltip:i,visibility:l,delay:u,isSelected:o,onSingleClick:s,onDoubleClick:c,children:[(0,G.jsx)(`span`,{className:`${a} leading-none`,"aria-hidden":!0,children:r}),(0,G.jsx)(`span`,{className:d,title:i,children:i})]})}if(e.kind.type===`skill`){let t=e.kind.item,n=Y(t.category);return(0,G.jsx)(Ve,{x:e.x,y:e.y,item:t,color:n.color,fallbackEmoji:n.emoji,visibility:l,delay:u,isSelected:o,onSingleClick:s,onDoubleClick:c})}return null}function Ue(e,t,n,r){let[i,a]=(0,W.useState)({width:0,height:0}),[o,s]=(0,W.useState)(null),[c,l]=(0,W.useState)(null),[u,d]=(0,W.useState)(!1),[f,p]=(0,W.useState)(null),[m,h]=(0,W.useState)(!1),g=(0,W.useRef)(null),_=(0,W.useRef)(null);(0,W.useLayoutEffect)(()=>{let t=e.current;if(!t)return;let n=new ResizeObserver(e=>{for(let t of e){let{width:e,height:n}=t.contentRect;a({width:e,height:n})}});n.observe(t);let r=t.getBoundingClientRect();return a({width:r.width,height:r.height}),()=>n.disconnect()},[e]);let v=(0,W.useMemo)(()=>Ee(t,Z,i.width,i.height),[t,i.width,i.height]),y=o??v.zoom,b=c??{x:v.panX,y:v.panY},x=(0,W.useCallback)(()=>{h(!0),g.current!=null&&window.clearTimeout(g.current),g.current=window.setTimeout(()=>{h(!1),g.current=null},500)},[]);(0,W.useEffect)(()=>()=>{g.current!=null&&window.clearTimeout(g.current)},[]);let S=(0,W.useCallback)(()=>{s(null),l(null),p(null),x()},[x]),C=(0,W.useCallback)((e,t)=>{let n=Math.max(De,Math.min(3,e));if(n===y)return;let r=n/y;l({x:b.x*r,y:b.y*r}),s(n),p(null),t?.animate&&x()},[b.x,b.y,x,y]),w=(0,W.useCallback)(()=>{C(y+Oe,{animate:!0})},[C,y]),T=(0,W.useCallback)(()=>{C(y-Oe,{animate:!0})},[C,y]),E=(0,W.useCallback)(e=>{if(f===e){S();return}let t=n.get(e);if(!t)return;let r=1.8;s(r),l({x:(Z.x-t.x)*r,y:(Z.y-t.y)*r}),p(e),x()},[S,n,x,f]);return(0,W.useEffect)(()=>{let t=e.current;if(!t)return;let n=e=>{e.preventDefault();let t=e.ctrlKey||e.metaKey?150:400;C(y*(1+-e.deltaY/t))};return t.addEventListener(`wheel`,n,{passive:!1}),()=>t.removeEventListener(`wheel`,n)},[C,e,y]),{zoom:y,pan:b,isDragging:u,isAnimating:m,viewSize:i,zoomedNodeId:f,zoomIn:w,zoomOut:T,fitAll:S,zoomToNode:E,handlePointerDown:(0,W.useCallback)(e=>{if(e.button!==0)return;let t=e.target;t.closest(`[data-constellation-control]`)||(t.closest(`[data-constellation-node]`)||r?.(),_.current={startX:e.clientX,startY:e.clientY,panStartX:b.x,panStartY:b.y,pointerId:e.pointerId,moved:!1},d(!0),g.current!=null&&(window.clearTimeout(g.current),g.current=null),h(!1),e.currentTarget.setPointerCapture(e.pointerId))},[r,b.x,b.y]),handlePointerMove:(0,W.useCallback)(e=>{let t=_.current;if(!t||t.pointerId!==e.pointerId)return;let n=e.clientX-t.startX,r=e.clientY-t.startY;!t.moved&&(Math.abs(n)>3||Math.abs(r)>3)&&(t.moved=!0,p(null)),l({x:t.panStartX+n,y:t.panStartY+r})},[]),handlePointerUp:(0,W.useCallback)(e=>{let t=_.current;if(!(!t||t.pointerId!==e.pointerId)){_.current=null,d(!1);try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}}},[])}}function We({skills:e,components:t,traits:n,customImageUrl:r,className:a,isFullscreen:o,onToggleFullscreen:s,onSelectSkill:c}){let l=(0,W.useRef)(null),u=(0,W.useRef)(null),[d,f]=(0,W.useState)(0),[p,m]=(0,W.useState)(null),[h,g]=(0,W.useState)({width:240,height:120}),{nodes:_,edges:b}=(0,W.useMemo)(()=>we(Z,Te(e.map(e=>({id:e.id,label:e.name,icon:e.icon,emoji:e.emoji,category:e.category??`system`,description:e.description,kind:`skill`}))),90),[e]),x=(0,W.useMemo)(()=>{let e=new Map;for(let t of _)e.set(t.id,t);return e},[_]),S=(0,W.useMemo)(()=>{if(p==null)return null;let e=x.get(p);return e?ze(e)??null:null},[p,x]),C=(0,W.useCallback)(()=>{m(null)},[]),w=Ue(l,_,x,C),T=e.length;(0,W.useEffect)(()=>{let e=!1,t=t=>{e||f(t)};t(0);let n=[setTimeout(()=>t(1),100),setTimeout(()=>t(2),300),setTimeout(()=>t(3),500),setTimeout(()=>t(4),700)];return()=>{e=!0,n.forEach(clearTimeout)}},[T]);let E=(0,W.useCallback)(e=>{m(t=>t===e?null:e)},[]),D=(0,W.useCallback)(()=>{!S||S.kind!==`skill`||(C(),c?.(S.id))},[C,c,S]);(0,W.useEffect)(()=>{if(p==null)return;let e=e=>{e.key===`Escape`&&C()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[C,p]),(0,W.useLayoutEffect)(()=>{if(S==null)return;let e=u.current;if(!e)return;let t=e.getBoundingClientRect();g({width:t.width,height:t.height})},[S]);let O={x:w.viewSize.width/2,y:w.viewSize.height/2},k=O.x-Z.x*w.zoom+w.pan.x,A=O.y-Z.y*w.zoom+w.pan.y,j=p==null?void 0:x.get(p),M=0,ee=0;if(S!=null&&j){let e=k+j.x*w.zoom,t=A+j.y*w.zoom,n=e,r=t-60,i=h.width/2,a=h.height/2,o=i+8,s=Math.max(o,w.viewSize.width-i-8),c=a+8,l=Math.max(c,w.viewSize.height-a-8);M=Math.min(Math.max(n,o),s),ee=Math.min(Math.max(r,c),l)}let F=(0,W.useCallback)(e=>{C(),w.zoomToNode(e)},[C,w]);return(0,G.jsxs)(`div`,{ref:l,className:`relative select-none overflow-hidden rounded-xl ${a??``}`,style:{backgroundColor:`var(--surface-base)`,backgroundImage:`radial-gradient(circle, color-mix(in srgb, var(--content-tertiary) 20%, transparent) 1px, transparent 1px)`,backgroundSize:`24px 24px`,backgroundPosition:`12px 12px`,touchAction:`none`,cursor:w.isDragging?`grabbing`:`grab`,userSelect:`none`,WebkitUserSelect:`none`},onPointerDown:w.handlePointerDown,onPointerMove:w.handlePointerMove,onPointerUp:w.handlePointerUp,onPointerCancel:w.handlePointerUp,children:[(0,G.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-0`,style:{background:`radial-gradient(circle at center, color-mix(in srgb, var(--content-tertiary) 6%, transparent), transparent 60%)`}}),(0,G.jsxs)(`div`,{className:`absolute inset-0`,style:{transform:`translate(${k}px, ${A}px) scale(${w.zoom})`,transformOrigin:`0 0`,transition:w.isAnimating?`transform 0.4s cubic-bezier(0.22, 1, 0.36, 1)`:`none`},children:[(0,G.jsx)(Me,{edges:b,nodeById:x,visible:d>=2}),_.map((e,i)=>(0,G.jsx)(He,{node:e,index:i,phase:d,components:t,traits:n,customImageUrl:r,isSelected:p===e.id||w.zoomedNodeId===e.id,onSingleClick:()=>E(e.id),onDoubleClick:()=>F(e.id)},e.id))]}),s&&(0,G.jsx)(`div`,{className:`absolute left-4 top-4`,"data-constellation-control":!0,children:(0,G.jsx)(i,{variant:`ghost`,iconOnly:o?(0,G.jsx)(y,{}):(0,G.jsx)(v,{}),onClick:s,"aria-label":o?`Exit fullscreen`:`Enter fullscreen`,tooltip:o?`Exit fullscreen`:`Enter fullscreen`})}),(0,G.jsx)(Ne,{visible:d>=4}),(0,G.jsx)(P,{children:S==null?null:(0,G.jsx)(N.div,{ref:u,className:`pointer-events-auto absolute z-20`,"data-constellation-popover":!0,style:{left:M,top:ee,transform:`translate(-50%, -50%)`},initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},transition:{duration:.15,ease:`easeOut`},onPointerDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,G.jsx)(Pe,{item:S,color:Y(S.category).color,onViewDetails:c&&S.kind===`skill`?D:void 0})},`constellation-popover`)}),(0,G.jsxs)(`div`,{"data-constellation-control":!0,className:`absolute bottom-4 right-4 flex items-center gap-1`,children:[(0,G.jsx)(i,{variant:`ghost`,iconOnly:(0,G.jsx)(te,{}),onClick:w.zoomIn,"aria-label":`Zoom in`,tooltip:`Zoom in`}),(0,G.jsx)(i,{variant:`ghost`,iconOnly:(0,G.jsx)(I,{}),onClick:w.zoomOut,"aria-label":`Zoom out`,tooltip:`Zoom out`}),(0,G.jsx)(i,{variant:`ghost`,iconOnly:(0,G.jsx)(ae,{}),onClick:w.fitAll,"aria-label":`Fit all`,tooltip:`Fit all`})]})]})}function Ge({assistantName:e,assistantPersonality:t,assistantRole:n,hatchedDate:r,components:a,traits:o,customImageUrl:s,onOpenThread:c,onOpenModal:l}){return(0,G.jsxs)(`div`,{className:`w-full overflow-hidden rounded-xl`,style:{backgroundColor:`var(--surface-lift)`},children:[(0,G.jsxs)(`div`,{className:`relative p-6 pb-0`,children:[(0,G.jsx)(`div`,{className:`pr-8 text-center`,children:(0,G.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:e})}),(0,G.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,G.jsx)(b,{"aria-hidden":!0}),onClick:()=>c?.(`I would like to change your name`),disabled:!c,"aria-label":`Edit identity`,title:`Edit Name`,className:`absolute right-6 top-6`,tintColor:`var(--content-tertiary)`})]}),(0,G.jsx)(`div`,{className:`flex justify-center py-6`,children:(0,G.jsx)(B,{components:a,traits:o,customImageUrl:s,size:200,interactive:!0})}),(0,G.jsx)(`div`,{className:`flex justify-center pb-6`,children:(0,G.jsx)(i,{type:`button`,variant:`outlined`,size:`regular`,onClick:l,className:`!rounded-full`,children:`Update Avatar`})}),(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,G.jsxs)(`div`,{className:`flex items-center justify-between border-b px-4 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Role`}),(0,G.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:n})]}),(0,G.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,G.jsx)(b,{"aria-hidden":!0}),onClick:()=>c?.(`I would like to change your role description`),disabled:!c,"aria-label":`Edit role`,title:`Edit Role`,tintColor:`var(--content-tertiary)`})]}),(0,G.jsxs)(`div`,{className:`flex items-center justify-between border-b px-4 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Personality`}),(0,G.jsx)(`p`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-default)`},title:t||`Not set`,children:t||`Not set`})]}),(0,G.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,G.jsx)(b,{"aria-hidden":!0}),onClick:()=>c?.(`I would like to change your personality`),disabled:!c,"aria-label":`Edit personality`,title:`Edit Personality`,tintColor:`var(--content-tertiary)`})]}),(0,G.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,G.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Hatched`}),(0,G.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:r})]})]})}function Ke({assistantId:e,onOpenThread:n}){let r=o(),{components:i,traits:a,customImageUrl:l,isLoading:u,invalidate:p}=ne(e),[h,g]=(0,W.useState)(null),[_,v]=(0,W.useState)(null),[y,b]=(0,W.useState)(null),[x,S]=(0,W.useState)(!1),[C,O]=(0,W.useState)(null),[k,A]=(0,W.useState)(null),[j,M]=(0,W.useState)(null),[N,P]=(0,W.useState)(null);(0,W.useEffect)(()=>{let n=!1;return Promise.all([ee(e),D(e).catch(()=>({ok:!1,status:0,error:{}}))]).then(([t,r])=>{n||(g(t),r.ok?v(r.data.created):v(null),b(e))}).catch(e=>{n||t(e,{context:`identity_tab_load`})}),()=>{n=!0}},[e]);let F=y!==e||u,[I,te]=(0,W.useState)(!1),L=s({...E({path:{assistant_id:e},query:{kind:`installed`}}),select:e=>e.skills,enabled:!!e}),R=(0,W.useMemo)(()=>L.data??[],[L.data]),z=(0,W.useCallback)(()=>{p()},[p]),re=(0,W.useCallback)(()=>{S(!0)},[]),ie=(0,W.useCallback)(()=>{S(!1)},[]),ae=(0,W.useCallback)(()=>{n?.(`I'd like to create a custom AI-generated avatar.`)},[n]),B=(0,W.useCallback)(()=>{r.invalidateQueries({queryKey:T({path:{assistant_id:e}})})},[e,r]),V=c({mutationFn:t=>m(e,t),onMutate:e=>A(e),onSettled:()=>{A(null),B()}}),H=w({onMutate:e=>M(e.path.id),onSettled:()=>{M(null),B()}}),U=(0,W.useCallback)(e=>{V.mutate(e.slug??e.id)},[V]),oe=(0,W.useCallback)(e=>{P(e)},[]),K=(0,W.useCallback)(()=>{N&&(H.mutate({path:{assistant_id:e,id:N.id}}),P(null))},[e,N,H]),q=(0,W.useMemo)(()=>C?R.find(e=>e.id===C)??null:null,[R,C]),J=(0,G.jsx)(d,{open:N!==null,title:`Remove skill`,message:N?`Remove "${N.name}" from this assistant?`:``,confirmLabel:`Remove`,destructive:!0,onConfirm:K,onCancel:()=>P(null)});if(q)return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(f,{assistantId:e,skill:q,onBack:()=>O(null),onInstall:()=>U(q),onRemove:()=>oe(q),isInstalling:k===(q.slug??q.id),isRemoving:j===q.id}),J]});if(F)return(0,G.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,G.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2`,style:{borderColor:`var(--border-base)`,borderTopColor:`var(--content-tertiary)`}})});let ce=h?.name||`Assistant`,le=h?.personality||``,Y=h?.role||`Not set`,X=_?new Date(_).toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}):`Unknown`;return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-6 lg:flex-row lg:items-stretch`,children:[(0,G.jsx)(`div`,{className:`mx-auto w-full max-w-md lg:mx-0 lg:h-full lg:shrink-0 lg:overflow-y-auto ${I?`hidden`:`flex`}`,children:(0,G.jsx)(Ge,{assistantName:ce,assistantPersonality:le,assistantRole:Y,hatchedDate:X,components:i,traits:a,customImageUrl:l,onOpenThread:n,onOpenModal:re})}),(0,G.jsx)(`div`,{className:`min-h-[480px] min-w-0 flex-1 lg:min-h-0`,children:(0,G.jsx)(We,{skills:R,components:i,traits:a,customImageUrl:l,className:`h-full w-full`,isFullscreen:I,onToggleFullscreen:()=>te(e=>!e),onSelectSkill:O})}),(0,G.jsx)(se,{open:x,onClose:ie,assistantId:e,components:i,traits:a,customImageUrl:l,onSaveCharacter:z,onUploadImage:z,onGenerateWithAI:n?ae:void 0}),J]})}function qe({onOpenThread:e}){return(0,G.jsx)(Ke,{assistantId:U(),onOpenThread:e})}function Je(){let e=a();return(0,G.jsx)(qe,{onOpenThread:t=>{k.getState().setMainView(`chat`);let n=j();A.getState().setActiveConversationId(n),e(`${O.conversation(n)}?prompt=${encodeURIComponent(t)}`)}},U())}export{Je as IdentityPageRoute};
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-BaKOqBjF.js";import{t as n}from"./react-DJZBPgpf.js";import{O as r,t as i}from"./button-BvHa6F59.js";import{d as a}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as o}from"./QueryClientProvider-DgWA3A3c.js";import{t as s}from"./useMutation-D3WkZnYg.js";import{t as c}from"./jsx-runtime-B-mvcaJS.js";import{t as l}from"./useQuery-cVuP8q1x.js";import{t as u}from"./card-D9_3ngHI.js";import"./src-Dr68ou95.js";import{t as d}from"./confirm-dialog-BtxNY4WU.js";import{n as f,s as p,t as m}from"./install-D_GSceot.js";import{t as h}from"./chevron-left-CgekgptJ.js";import{t as g}from"./chevron-right-DP15nqFC.js";import{t as _}from"./file-text-Bxj0xAst.js";import{n as v,t as y}from"./minimize-2-DmC6-Woz.js";import{t as b}from"./pencil-DUMCM9m-.js";import{t as x}from"./save-DQyrotXP.js";import{t as S}from"./sparkles-C8eL4LNF.js";import{t as C}from"./x-Bn5tweDc.js";import{Gt as w,_t as T,gt as E}from"./react-query.gen-BeTpj_Sy.js";import{r as D}from"./api-DXPKXkDj.js";import{a as O}from"./routes-Dzl0kj5j.js";import{n as k}from"./viewer-store-Dened07w.js";import{t as A}from"./conversation-store-6tz67quR.js";import{t as j}from"./conversation-selection-BV7USWf2.js";import{t as M}from"./misc-CBD9JJCY.js";import{t as N}from"./proxy-T76Q62qP.js";import{t as P}from"./AnimatePresence-Dfn9OLfv.js";import{Ci as F,Dr as I,Er as ee,Fn as L,Ii as R,In as te,Mn as z,Or as ne,Pn as re,Xr as ie,ct as B,it as V,jn as ae,kr as H}from"./index-3zpPFBeR.js";import{t as U}from"./use-active-assistant-id-jfqnc4T7.js";var oe=e(r(),1),W=e(n(),1),G=c();function K(e,t,n){return n===`forward`?(e+1)%t:(e-1+t)%t}function q({assistantId:e,initialTraits:t,onSave:n,onCancel:r}){let[i,a]=(0,W.useState)(null),[o,s]=(0,W.useState)(!0),[c,l]=(0,W.useState)(!1),u=(0,W.useRef)(null),[d,f]=(0,W.useState)(0),[p,m]=(0,W.useState)(0),[h,g]=(0,W.useState)(0);(0,W.useEffect)(()=>{if(u.current===e)return;let n=!1;return z(e).then(r=>{if(!n&&(u.current=e,a(r),s(!1),r&&t)){let e=r.bodyShapes.findIndex(e=>e.id===t.bodyShape),n=r.eyeStyles.findIndex(e=>e.id===t.eyeStyle),i=r.colors.findIndex(e=>e.id===t.color);e>=0&&f(e),n>=0&&m(n),i>=0&&g(i)}}),()=>{n=!0}},[e,t]);let _=(0,W.useCallback)(()=>{i&&(f(Math.floor(Math.random()*i.bodyShapes.length)),m(Math.floor(Math.random()*i.eyeStyles.length)),g(Math.floor(Math.random()*i.colors.length)))},[i]),v=(0,W.useCallback)(async()=>{if(!i)return;let t={bodyShape:i.bodyShapes[d].id,eyeStyle:i.eyeStyles[p].id,color:i.colors[h].id};l(!0);try{await re(e,t),n?.(t)}finally{l(!1)}},[i,d,p,h,e,n]);if(o)return(0,G.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,G.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2 border-[var(--border-element)] border-t-[var(--content-tertiary)]`})});if(!i)return(0,G.jsx)(`div`,{className:`py-8 text-center text-body-medium-lighter text-[var(--content-quiet)]`,children:`Unable to load avatar components. Make sure your assistant is running.`});let y=i.bodyShapes[d],b=i.eyeStyles[p],S=i.colors[h];return(0,G.jsxs)(`div`,{className:`space-y-6`,children:[(0,G.jsx)(`div`,{className:`flex justify-center`,children:(0,G.jsx)(`div`,{className:`rounded-2xl bg-[var(--surface-sunken)] p-6`,children:(0,G.jsx)(V,{components:i,bodyShapeId:y.id,eyeStyleId:b.id,colorId:S.id,size:160})})}),(0,G.jsxs)(`div`,{className:`space-y-3`,children:[(0,G.jsx)(J,{label:`Body`,value:y.id,onPrev:()=>f(K(d,i.bodyShapes.length,`backward`)),onNext:()=>f(K(d,i.bodyShapes.length,`forward`))}),(0,G.jsx)(J,{label:`Eyes`,value:b.id,onPrev:()=>m(K(p,i.eyeStyles.length,`backward`)),onNext:()=>m(K(p,i.eyeStyles.length,`forward`))}),(0,G.jsx)(J,{label:`Color`,value:S.id,colorHex:S.hex,onPrev:()=>g(K(h,i.colors.length,`backward`)),onNext:()=>g(K(h,i.colors.length,`forward`))})]}),(0,G.jsxs)(`div`,{className:`flex gap-2`,children:[(0,G.jsxs)(`button`,{type:`button`,onClick:_,className:`flex flex-1 cursor-pointer items-center justify-center gap-2 rounded-lg border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-2 text-body-medium-default text-[var(--content-strong)] transition-colors hover:bg-[var(--surface-hover)]`,children:[(0,G.jsx)(R,{className:`h-4 w-4`}),`Randomize`]}),(0,G.jsxs)(`button`,{type:`button`,onClick:v,disabled:c,className:`flex flex-1 cursor-pointer items-center justify-center gap-2 rounded-lg border border-[var(--system-positive-strong)] bg-[var(--system-positive-weak)] px-3 py-2 text-body-medium-default text-[var(--system-positive-strong)] transition-colors hover:opacity-90 disabled:opacity-50`,children:[(0,G.jsx)(x,{className:`h-4 w-4`}),c?`Saving...`:`Save Avatar`]}),r&&(0,G.jsx)(`button`,{type:`button`,onClick:r,className:`flex cursor-pointer items-center justify-center rounded-lg border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-2 text-body-medium-default text-[var(--content-strong)] transition-colors hover:bg-[var(--surface-hover)]`,children:(0,G.jsx)(C,{className:`h-4 w-4`})})]})]})}function J({label:e,value:t,colorHex:n,onPrev:r,onNext:i}){return(0,G.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-3 py-2`,children:[(0,G.jsx)(`span`,{className:`text-body-small-default uppercase tracking-wider text-[var(--content-quiet)]`,children:e}),(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`button`,{type:`button`,onClick:r,className:`flex h-7 w-7 cursor-pointer items-center justify-center rounded-md text-[var(--content-quiet)] transition-colors hover:bg-[var(--surface-active)]`,children:(0,G.jsx)(h,{className:`h-4 w-4`})}),(0,G.jsxs)(`div`,{className:`flex min-w-[80px] items-center justify-center gap-2`,children:[n&&(0,G.jsx)(`div`,{className:`h-4 w-4 rounded-full border border-[var(--border-element)]`,style:{backgroundColor:n}}),(0,G.jsx)(`span`,{className:`text-body-medium-default capitalize text-[var(--content-strong)]`,children:t})]}),(0,G.jsx)(`button`,{type:`button`,onClick:i,className:`flex h-7 w-7 cursor-pointer items-center justify-center rounded-md text-[var(--content-quiet)] transition-colors hover:bg-[var(--surface-active)]`,children:(0,G.jsx)(g,{className:`h-4 w-4`})})]})]})}function se({open:e,onClose:t,assistantId:n,components:r,traits:i,customImageUrl:a,onSaveCharacter:o,onUploadImage:s,onGenerateWithAI:c}){let l=(0,W.useId)(),u=(0,W.useRef)(null),d=(0,W.useRef)(null),f=(0,W.useRef)(null),[p,m]=(0,W.useState)(`actions`),[_,v]=(0,W.useState)(!1);(0,W.useEffect)(()=>{e&&d.current?.focus()},[e]),(0,W.useEffect)(()=>{if(e){let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}}},[e]);let y=(0,W.useCallback)(()=>{m(`actions`),t()},[t]),b=(0,W.useCallback)(e=>{e.key===`Escape`&&(p===`character-builder`?m(`actions`):y())},[y,p]),x=(0,W.useCallback)(e=>{e.target===u.current&&y()},[y]),w=(0,W.useCallback)(()=>{m(`actions`)},[]),T=(0,W.useCallback)(()=>{m(`character-builder`)},[]),E=(0,W.useCallback)(async e=>{let t=e.target.files?.[0];if(!t)return;v(!0);let r=await L(n,t);v(!1),r&&(s(),y()),f.current&&(f.current.value=``)},[n,s,y]),D=(0,W.useCallback)(()=>{f.current?.click()},[]),O=(0,W.useCallback)(()=>{y(),c?.()},[y,c]),k=(0,W.useCallback)(e=>{o(e),y()},[o,y]);return e?(0,oe.createPortal)((0,G.jsxs)(`div`,{ref:u,role:`dialog`,"aria-modal":`true`,"aria-labelledby":l,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:b,onClick:x,children:[(0,G.jsxs)(`div`,{className:`mx-4 flex w-full max-w-md flex-col rounded-xl border shadow-xl`,style:{backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`85vh`},children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between border-b px-6 py-4`,style:{borderColor:`var(--border-base)`},children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[p===`character-builder`&&(0,G.jsx)(`button`,{type:`button`,onClick:w,className:`flex h-8 w-8 items-center justify-center rounded-lg transition-colors hover:bg-black/5 dark:hover:bg-white/10`,"aria-label":`Back`,children:(0,G.jsx)(h,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,G.jsx)(`h2`,{id:l,className:`text-title-small`,style:{color:`var(--content-default)`},children:p===`character-builder`?`Build a Character`:`Update Avatar`})]}),(0,G.jsx)(`button`,{ref:d,type:`button`,onClick:y,className:`flex h-8 w-8 items-center justify-center rounded-lg transition-colors hover:bg-black/5 dark:hover:bg-white/10`,"aria-label":`Close`,children:(0,G.jsx)(C,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})]}),(0,G.jsx)(`div`,{className:`overflow-y-auto p-6`,children:p===`actions`?(0,G.jsxs)(`div`,{className:`flex flex-col items-center gap-6`,children:[(0,G.jsx)(B,{components:r,traits:i,customImageUrl:a,size:120,interactive:!0}),(0,G.jsxs)(`div`,{className:`w-full space-y-2`,children:[(0,G.jsxs)(`button`,{type:`button`,onClick:T,className:`flex w-full cursor-pointer items-center gap-3 rounded-lg border px-4 py-3 transition-colors hover:opacity-80`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-lift)`},children:[(0,G.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg`,style:{backgroundColor:`color-mix(in oklab, var(--content-tertiary) 16%, transparent)`},children:(0,G.jsx)(H,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,G.jsxs)(`div`,{className:`flex-1 text-left`,children:[(0,G.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Build a Character`}),(0,G.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Build your own character`})]}),(0,G.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})]}),(0,G.jsxs)(`button`,{type:`button`,onClick:D,disabled:_,className:`flex w-full cursor-pointer items-center gap-3 rounded-lg border px-4 py-3 transition-colors hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-50`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-lift)`},children:[(0,G.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg`,style:{backgroundColor:`color-mix(in oklab, var(--content-tertiary) 16%, transparent)`},children:(0,G.jsx)(F,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,G.jsxs)(`div`,{className:`flex-1 text-left`,children:[(0,G.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:_?`Uploading...`:`Upload Image`}),(0,G.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Choose an image from your computer`})]}),(0,G.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})]}),c&&(0,G.jsxs)(`button`,{type:`button`,onClick:O,className:`flex w-full cursor-pointer items-center gap-3 rounded-lg border px-4 py-3 transition-colors hover:opacity-80`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-lift)`},children:[(0,G.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg`,style:{backgroundColor:`color-mix(in oklab, var(--content-tertiary) 16%, transparent)`},children:(0,G.jsx)(S,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,G.jsxs)(`div`,{className:`flex-1 text-left`,children:[(0,G.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Generate with AI`}),(0,G.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Create an avatar through chat`})]}),(0,G.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})]})]})]}):(0,G.jsx)(q,{assistantId:n,initialTraits:i,onSave:k,onCancel:w})})]}),(0,G.jsx)(`input`,{ref:f,type:`file`,accept:`image/png,image/jpeg,image/webp,image/gif`,className:`hidden`,onChange:E})]}),document.body):null}var ce={displayName:`Other`,color:`#888`,emoji:`?`},le={email:{displayName:`Email`,color:`#A665C9`,emoji:`📧`},calendar:{displayName:`Calendar`,color:`#0E9B8B`,emoji:`📅`},messaging:{displayName:`Messaging`,color:`#6B8AE0`,emoji:`💬`},browsing:{displayName:`Browsing`,color:`#E9642F`,emoji:`🌐`},productivity:{displayName:`Productivity`,color:`#0E9B8B`,emoji:`📋`},development:{displayName:`Development`,color:`#EF4400`,emoji:`🔨`},voice:{displayName:`Voice`,color:`#DB4B77`,emoji:`🎤`},commerce:{displayName:`Commerce`,color:`#E9C91A`,emoji:`🛒`},content:{displayName:`Content`,color:`#DB4B77`,emoji:`🎨`},health:{displayName:`Health`,color:`#4C9B50`,emoji:`❤️`},system:{displayName:`System`,color:`#8D99A5`,emoji:`⚙️`},integrations:{displayName:`Integrations`,color:`#8D99A5`,emoji:`🔗`}};function Y(e){return le[e]??ce}var X=[`email`,`calendar`,`messaging`,`browsing`,`productivity`,`development`,`voice`,`commerce`,`content`,`health`,`system`,`integrations`],ue={email:[{label:`Sending`,emoji:`📨`,skillIds:new Set([`agentmail`,`email-setup`])},{label:`Reading`,emoji:`📬`,skillIds:new Set([`email-channel`,`gmail`])}],messaging:[{label:`Chat`,emoji:`💬`,skillIds:new Set([`messaging`,`slack`,`telegram`])},{label:`Notifications`,emoji:`🔔`,skillIds:new Set([`notifications`])},{label:`People`,emoji:`👥`,skillIds:new Set([`contacts`,`followups`])}],development:[{label:`Coding`,emoji:`💻`,skillIds:new Set([`typescript-eval`,`frontend-design`])},{label:`Dev Tools`,emoji:`🔧`,skillIds:new Set([`api-mapping`,`cli-discover`,`subagent`,`app-builder`])}],browsing:[{label:`Control`,emoji:`🎮`,skillIds:new Set([`computer-use`,`macos-automation`,`browser`])},{label:`Triggers`,emoji:`⏰`,skillIds:new Set([`watcher`,`time-based-actions`])}],commerce:[{label:`Shopping`,emoji:`🛒`,skillIds:new Set([`amazon`,`doordash`,`restaurant-reservation`])}],system:[{label:`Core`,emoji:`🧠`,skillIds:new Set([`knowledge-graph`,`skills-catalog`,`self-upgrade`])},{label:`Daily`,emoji:`☀️`,skillIds:new Set([`start-the-day`,`weather`])}]},de=14,fe=10,pe=6;function me(e){switch(e.kind.type){case`center`:return{shape:`circle`,size:90,cornerRadius:0};case`category`:return{shape:`roundedRect`,size:80,cornerRadius:de};case`subCategory`:return{shape:`roundedRect`,size:56,cornerRadius:fe};case`skill`:return{shape:`diamond`,size:64,cornerRadius:pe}}}function he(e,t,n,r){let i=Math.min(Math.max(0,t),e),a=Math.abs(n),o=Math.abs(r);if(a<1e-6&&o<1e-6)return e;let s=e/Math.max(a,o),c=s*n,l=s*r;if(!(Math.abs(c)>e-i&&Math.abs(l)>e-i))return s;let u=Math.sign(c)*(e-i),d=Math.sign(l)*(e-i),f=n*u+r*d,p=u*u+d*d-i*i,m=f*f-p;return m<0?s:f+Math.sqrt(m)}function ge(e,t,n){switch(e.shape){case`circle`:return e.size/2;case`roundedRect`:return he(e.size/2,e.cornerRadius,t,n);case`diamond`:{let r=(t+n)*Math.SQRT1_2,i=(-t+n)*Math.SQRT1_2;return he(e.size/2,e.cornerRadius,r,i)}}}function _e(e,t){let n=t.x-e.x,r=t.y-e.y,i=Math.sqrt(n*n+r*r);if(i<1e-6)return{x1:e.x,y1:e.y,x2:t.x,y2:t.y};let a=n/i,o=r/i,s=Math.max(0,ge(me(e),a,o)-3),c=Math.max(0,ge(me(t),-a,-o)-3);if(s+c>=i){let n=(e.x+t.x)/2,r=(e.y+t.y)/2;return{x1:n,y1:r,x2:n,y2:r}}return{x1:e.x+a*s,y1:e.y+o*s,x2:t.x-a*c,y2:t.y-o*c}}var ve=10,ye=200,be=160,xe=160;function Se(e,t,n,r){let i={x:e.x,y:e.y};for(let e=0;e<30;e++){let e=0,a=0,o=0;for(let s of n){let n=i.x-s.x,c=i.y-s.y,l=Math.sqrt(n*n+c*c),u=t+s.radius+r-l;u>e&&(e=u,l<.1?(a=u+1,o=0):(a=n/l*(u+1),o=c/l*(u+1)))}if(e<=0)break;i={x:i.x+a,y:i.y+o}}return i}function Ce(e,t,n,r,i,a,o,s,c,l,u,d){if(e.length===0)return;let f=a+o,p=Math.cos(r),m=Math.sin(r),h=-m,g=p,_=f*.88,v=Y(c).color;e.forEach((r,c)=>{let y=Math.floor(c/3),b=c%3,x=Math.min(3,e.length-y*3),S=(b-(x-1)/2)*f,C=y%2==1&&x<3?f*.5:0,w=i+y*_,T=Se({x:n.x+w*p+(S+C)*h,y:n.y+w*m+(S+C)*g},a/2,u,o);u.push({id:r.id,kind:{type:`skill`,item:r},parentId:t,depth:s,x:T.x,y:T.y,radius:a/2}),d.push({id:`edge-${l}-skill-${c}`,fromId:t,toId:r.id,color:v})})}function we(e,t,n=90){let r=[],i=[],a=ve;if(r.push({id:`__center__`,kind:{type:`center`},parentId:null,depth:0,x:e.x,y:e.y,radius:n/2}),t.length===0)return{nodes:r,edges:i};let o=t.length,s=2*Math.PI/o;return t.forEach((t,n)=>{let o=-Math.PI/2+n*s,c=`cat-${t.category}`,l=Y(t.category).color,u=Se({x:e.x+ye*Math.cos(o),y:e.y+ye*Math.sin(o)},80/2,r,a);r.push({id:c,kind:{type:`category`,category:t.category},parentId:`__center__`,depth:1,x:u.x,y:u.y,radius:80/2}),i.push({id:`edge-center-${t.category}`,fromId:`__center__`,toId:c,color:l});let d=ue[t.category];if(d&&d.length>0){let e=[],n=new Set;for(let r of d){let i=t.items.filter(e=>r.skillIds.has(e.id));i.length>0&&(e.push({def:r,items:i}),i.forEach(e=>n.add(e.id)))}let f=t.items.filter(e=>!n.has(e.id));if(f.length>0){if(e.length===0){Ce(t.items,c,u,o,xe,64,a,2,t.category,t.category,r,i);return}let n=e[e.length-1];n&&n.items.push(...f)}let p=e.length,m=s*.55,h=p<=1?0:Math.min(m,(p-1)*.35);e.forEach((e,n)=>{let s;s=p===1?o:o+(n/(p-1)-.5)*h*2;let d=`subcat-${t.category}-${n}`,f=Se({x:u.x+be*Math.cos(s),y:u.y+be*Math.sin(s)},56/2,r,a);r.push({id:d,kind:{type:`subCategory`,label:e.def.label,emoji:e.def.emoji,category:t.category},parentId:c,depth:2,x:f.x,y:f.y,radius:56/2}),i.push({id:`edge-${t.category}-sub-${n}`,fromId:c,toId:d,color:l}),Ce(e.items,d,f,s,xe,64,a,3,t.category,d,r,i)})}else Ce(t.items,c,u,o,xe,64,a,2,t.category,t.category,r,i)}),{nodes:r,edges:i}}function Te(e){let t=new Map;for(let n of e){let e=t.get(n.category);e?e.push(n):t.set(n.category,[n])}let n=[];for(let e of X){let r=t.get(e);r&&r.length>0&&n.push({category:e,items:r})}for(let[e,r]of t)!X.includes(e)&&r.length>0&&n.push({category:e,items:r});return n}function Ee(e,t,n,r,i=120,a=.4,o=3){if(e.length===0)return{zoom:1,panX:0,panY:0};let s=1/0,c=-1/0,l=1/0,u=-1/0;for(let t of e)s=Math.min(s,t.x),c=Math.max(c,t.x),l=Math.min(l,t.y),u=Math.max(u,t.y);let d=c-s+i*2,f=u-l+i*2;if(d<=0||f<=0||n<=0||r<=0)return{zoom:1,panX:0,panY:0};let p=Math.min(n/d,r/f),m=Math.max(a,Math.min(o,p)),h=(s+c)/2-t.x,g=(l+u)/2-t.y;return{zoom:m,panX:-h*m,panY:-g*m}}var De=.4,Oe=.25,Z={x:600,y:450},ke={type:`spring`,stiffness:180,damping:20},Ae={category:{size:80,cornerRadius:14,dashed:!1,fillPct:14,fillHoverPct:25,strokePct:55,strokeHoverPct:85,strokeWidth:2,strokeHoverWidth:2.5},subcategory:{size:56,cornerRadius:10,dashed:!0,fillPct:10,fillHoverPct:20,strokePct:40,strokeHoverPct:70,strokeWidth:1.5,strokeHoverWidth:2}},je={category:`rounded-[3px]`,subcategory:`rounded-[3px] border-dashed`,skill:`rotate-45`,workspace:`rounded-full`};function Me({edges:e,nodeById:t,visible:n}){return(0,G.jsx)(`svg`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-0 h-full w-full overflow-visible`,children:e.map(e=>{let r=t.get(e.fromId),i=t.get(e.toId);if(!r||!i)return null;let{x1:a,y1:o,x2:s,y2:c}=_e(r,i);return(0,G.jsx)(`line`,{x1:a,y1:o,x2:s,y2:c,stroke:e.color,strokeWidth:1.5,opacity:n?.45:0,style:{transition:`opacity 0.4s ease`}},e.id)})})}function Q({shape:e,label:t}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`flex h-4 w-4 items-center justify-center`,children:(0,G.jsx)(`span`,{className:M(`inline-block h-3 w-3 border-[1.5px] border-[var(--content-tertiary)]`,je[e])})}),(0,G.jsx)(`span`,{children:t})]})}function Ne({visible:e}){return(0,G.jsx)(`div`,{"data-constellation-control":!0,className:`pointer-events-none absolute bottom-4 left-4 rounded-md px-3 py-2 text-body-small-default`,style:{backgroundColor:`color-mix(in srgb, var(--surface-overlay) 80%, transparent)`,border:`1px solid color-mix(in srgb, var(--content-tertiary) 20%, transparent)`,color:`var(--content-secondary)`,opacity:+!!e,transition:`opacity 0.35s ease`},children:(0,G.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,G.jsx)(Q,{shape:`category`,label:`Category`}),(0,G.jsx)(Q,{shape:`subcategory`,label:`Subcategory`}),(0,G.jsx)(Q,{shape:`skill`,label:`Skill`}),(0,G.jsx)(Q,{shape:`workspace`,label:`Workspace`})]})})}function Pe({item:e,color:t,onViewDetails:n}){let r=e.kind===`skill`?`Skill`:`Workspace`,a=e.kind===`skill`?ne:_;return(0,G.jsxs)(u,{padding:`sm`,elevated:!0,className:`w-[260px] shadow-[var(--shadow-popover)]`,role:`dialog`,"aria-label":`${e.label} details`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,G.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-md px-2 py-1 text-body-small-emphasised text-[var(--content-default)]`,style:{backgroundColor:`${t}33`},children:[(0,G.jsx)(a,{className:`h-3 w-3`,style:{color:t}}),r]}),n?(0,G.jsx)(i,{type:`button`,variant:`ghost`,size:`compact`,onClick:n,children:`View Details`}):null]}),(0,G.jsxs)(`div`,{className:`mt-2 flex items-start gap-2`,children:[e.icon||e.emoji?(0,G.jsx)(p,{skill:e,className:`h-5 w-5 shrink-0 text-[20px] leading-none`}):null,(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsx)(`div`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.label}),e.description?(0,G.jsx)(`div`,{className:`mt-1 line-clamp-3 text-body-small-default text-[var(--content-secondary)]`,children:e.description}):null]})]})]})}function Fe({onSingleClick:e,onDoubleClick:t,latency:n=200}){let r=(0,W.useRef)(null);return(0,W.useEffect)(()=>()=>{r.current&&clearTimeout(r.current)},[]),(0,W.useCallback)(i=>{r.current&&=(clearTimeout(r.current),null),e&&i.detail===1&&(r.current=setTimeout(()=>{r.current=null,e()},n)),t&&i.detail>=2&&i.detail%2==0&&t()},[e,t,n])}function Ie(e,t,n){let[r,i]=(0,W.useState)(!1),a=r||n===!0,o=Fe({onSingleClick:e,onDoubleClick:t});return{active:a,onClick:(0,W.useCallback)(n=>{!e&&!t||(n.stopPropagation(),o(n))},[e,t,o]),onPointerDown:(0,W.useCallback)(n=>{!e&&!t||n.stopPropagation()},[e,t]),onMouseEnter:(0,W.useCallback)(()=>i(!0),[]),onMouseLeave:(0,W.useCallback)(()=>i(!1),[])}}function $(e,t){return`color-mix(in oklab, ${e} ${Math.max(0,Math.min(100,t))}%, var(--surface-base))`}function Le(e,t){switch(e.kind.type){case`center`:return{visible:t>=1};case`category`:return{visible:t>=2};case`subCategory`:return{visible:t>=3};case`skill`:return{visible:t>=4}}}function Re(e,t){switch(e.kind.type){case`center`:return .05;case`category`:return t*.04;case`subCategory`:return t*.03;case`skill`:return .08+t*.02}}function ze(e){switch(e.kind.type){case`skill`:return e.kind.item;case`category`:{let t=Y(e.kind.category);return{id:e.id,label:t.displayName,emoji:t.emoji,category:e.kind.category,kind:`workspaceFile`}}case`subCategory`:return{id:e.id,label:e.kind.label,emoji:e.kind.emoji,category:e.kind.category,kind:`workspaceFile`};default:return}}function Be({variant:e,x:t,y:n,color:r,tooltip:i,visibility:a,delay:o,children:s,isSelected:c,onSingleClick:l,onDoubleClick:u}){let d=Ae[e],{active:f,...p}=Ie(l,u,c),m={left:t-d.size/2,top:n-d.size/2,width:d.size,height:d.size,borderRadius:d.cornerRadius,backgroundColor:$(r,f?d.fillHoverPct:d.fillPct),borderStyle:d.dashed?`dashed`:`solid`,borderColor:$(r,f?d.strokeHoverPct:d.strokePct),borderWidth:f?d.strokeHoverWidth:d.strokeWidth,transition:`background-color 0.15s ease, border-color 0.15s ease, border-width 0.15s ease`,cursor:l||u?`pointer`:`default`};return(0,G.jsx)(N.div,{className:`pointer-events-auto absolute flex flex-col items-center justify-center`,"data-constellation-node":!0,style:m,initial:{opacity:0,scale:.3},animate:{opacity:+!!a.visible,scale:a.visible?1:.3},transition:{...ke,delay:o},onMouseEnter:p.onMouseEnter,onMouseLeave:p.onMouseLeave,onPointerDown:p.onPointerDown,onClick:p.onClick,title:i,children:s})}function Ve({x:e,y:t,item:n,color:r,fallbackEmoji:i,visibility:a,delay:o,isSelected:s,onSingleClick:c,onDoubleClick:l}){let{active:u,...d}=Ie(c,l,s);return(0,G.jsxs)(N.div,{className:`pointer-events-auto absolute`,"data-constellation-node":!0,style:{left:e-64/2,top:t-64/2,width:64,height:64,cursor:c||l?`pointer`:`default`},initial:{opacity:0,scale:.4},animate:{opacity:+!!a.visible,scale:a.visible?1:.4},transition:{...ke,delay:o},onMouseEnter:d.onMouseEnter,onMouseLeave:d.onMouseLeave,onPointerDown:d.onPointerDown,onClick:d.onClick,title:n.label,children:[(0,G.jsx)(`div`,{"aria-hidden":!0,className:`absolute inset-0 rounded-md`,style:{transform:`rotate(45deg)`,backgroundColor:$(r,u?20:10),border:`${u?2:1.5}px solid ${$(r,u?70:40)}`,transition:`background-color 0.15s ease, border-color 0.15s ease, border-width 0.15s ease`}}),(0,G.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center`,children:[(0,G.jsx)(p,{skill:n,className:`h-4 w-4 text-[16px] leading-none`,fallback:i}),(0,G.jsx)(`span`,{className:`mt-0.5 max-w-[42px] truncate text-[9px] font-medium leading-tight text-[var(--content-default)]`,title:n.label,children:n.label})]})]})}function He({node:e,index:t,phase:n,components:r,traits:i,customImageUrl:a,isSelected:o,onSingleClick:s,onDoubleClick:c}){let l=Le(e,n),u=Re(e,t);if(e.kind.type===`center`)return(0,G.jsx)(N.div,{className:`pointer-events-none absolute`,style:{left:e.x-90/2,top:e.y-90/2,width:90,height:90},initial:{opacity:0,scale:.6},animate:{opacity:+!!l.visible,scale:l.visible?1:.6},transition:{...ke,delay:u},children:(0,G.jsx)(B,{components:r,traits:i,customImageUrl:a,size:90})});if(e.kind.type===`category`||e.kind.type===`subCategory`){let t=Y(e.kind.category),n=e.kind.type===`category`?`category`:`subcategory`,r=e.kind.type===`category`?t.emoji:e.kind.emoji,i=e.kind.type===`category`?t.displayName:e.kind.label,a=n===`category`?`text-[20px]`:`text-[14px]`,d=n===`category`?`mt-1 max-w-[85%] truncate text-label-medium-default leading-tight text-[var(--content-default)]`:`mt-0.5 max-w-[85%] truncate text-[9.5px] font-medium leading-tight text-[var(--content-default)]`;return(0,G.jsxs)(Be,{variant:n,x:e.x,y:e.y,color:t.color,tooltip:i,visibility:l,delay:u,isSelected:o,onSingleClick:s,onDoubleClick:c,children:[(0,G.jsx)(`span`,{className:`${a} leading-none`,"aria-hidden":!0,children:r}),(0,G.jsx)(`span`,{className:d,title:i,children:i})]})}if(e.kind.type===`skill`){let t=e.kind.item,n=Y(t.category);return(0,G.jsx)(Ve,{x:e.x,y:e.y,item:t,color:n.color,fallbackEmoji:n.emoji,visibility:l,delay:u,isSelected:o,onSingleClick:s,onDoubleClick:c})}return null}function Ue(e,t,n,r){let[i,a]=(0,W.useState)({width:0,height:0}),[o,s]=(0,W.useState)(null),[c,l]=(0,W.useState)(null),[u,d]=(0,W.useState)(!1),[f,p]=(0,W.useState)(null),[m,h]=(0,W.useState)(!1),g=(0,W.useRef)(null),_=(0,W.useRef)(null);(0,W.useLayoutEffect)(()=>{let t=e.current;if(!t)return;let n=new ResizeObserver(e=>{for(let t of e){let{width:e,height:n}=t.contentRect;a({width:e,height:n})}});n.observe(t);let r=t.getBoundingClientRect();return a({width:r.width,height:r.height}),()=>n.disconnect()},[e]);let v=(0,W.useMemo)(()=>Ee(t,Z,i.width,i.height),[t,i.width,i.height]),y=o??v.zoom,b=c??{x:v.panX,y:v.panY},x=(0,W.useCallback)(()=>{h(!0),g.current!=null&&window.clearTimeout(g.current),g.current=window.setTimeout(()=>{h(!1),g.current=null},500)},[]);(0,W.useEffect)(()=>()=>{g.current!=null&&window.clearTimeout(g.current)},[]);let S=(0,W.useCallback)(()=>{s(null),l(null),p(null),x()},[x]),C=(0,W.useCallback)((e,t)=>{let n=Math.max(De,Math.min(3,e));if(n===y)return;let r=n/y;l({x:b.x*r,y:b.y*r}),s(n),p(null),t?.animate&&x()},[b.x,b.y,x,y]),w=(0,W.useCallback)(()=>{C(y+Oe,{animate:!0})},[C,y]),T=(0,W.useCallback)(()=>{C(y-Oe,{animate:!0})},[C,y]),E=(0,W.useCallback)(e=>{if(f===e){S();return}let t=n.get(e);if(!t)return;let r=1.8;s(r),l({x:(Z.x-t.x)*r,y:(Z.y-t.y)*r}),p(e),x()},[S,n,x,f]);return(0,W.useEffect)(()=>{let t=e.current;if(!t)return;let n=e=>{e.preventDefault();let t=e.ctrlKey||e.metaKey?150:400;C(y*(1+-e.deltaY/t))};return t.addEventListener(`wheel`,n,{passive:!1}),()=>t.removeEventListener(`wheel`,n)},[C,e,y]),{zoom:y,pan:b,isDragging:u,isAnimating:m,viewSize:i,zoomedNodeId:f,zoomIn:w,zoomOut:T,fitAll:S,zoomToNode:E,handlePointerDown:(0,W.useCallback)(e=>{if(e.button!==0)return;let t=e.target;t.closest(`[data-constellation-control]`)||(t.closest(`[data-constellation-node]`)||r?.(),_.current={startX:e.clientX,startY:e.clientY,panStartX:b.x,panStartY:b.y,pointerId:e.pointerId,moved:!1},d(!0),g.current!=null&&(window.clearTimeout(g.current),g.current=null),h(!1),e.currentTarget.setPointerCapture(e.pointerId))},[r,b.x,b.y]),handlePointerMove:(0,W.useCallback)(e=>{let t=_.current;if(!t||t.pointerId!==e.pointerId)return;let n=e.clientX-t.startX,r=e.clientY-t.startY;!t.moved&&(Math.abs(n)>3||Math.abs(r)>3)&&(t.moved=!0,p(null)),l({x:t.panStartX+n,y:t.panStartY+r})},[]),handlePointerUp:(0,W.useCallback)(e=>{let t=_.current;if(!(!t||t.pointerId!==e.pointerId)){_.current=null,d(!1);try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}}},[])}}function We({skills:e,components:t,traits:n,customImageUrl:r,className:a,isFullscreen:o,onToggleFullscreen:s,onSelectSkill:c}){let l=(0,W.useRef)(null),u=(0,W.useRef)(null),[d,f]=(0,W.useState)(0),[p,m]=(0,W.useState)(null),[h,g]=(0,W.useState)({width:240,height:120}),{nodes:_,edges:b}=(0,W.useMemo)(()=>we(Z,Te(e.map(e=>({id:e.id,label:e.name,icon:e.icon,emoji:e.emoji,category:e.category??`system`,description:e.description,kind:`skill`}))),90),[e]),x=(0,W.useMemo)(()=>{let e=new Map;for(let t of _)e.set(t.id,t);return e},[_]),S=(0,W.useMemo)(()=>{if(p==null)return null;let e=x.get(p);return e?ze(e)??null:null},[p,x]),C=(0,W.useCallback)(()=>{m(null)},[]),w=Ue(l,_,x,C),T=e.length;(0,W.useEffect)(()=>{let e=!1,t=t=>{e||f(t)};t(0);let n=[setTimeout(()=>t(1),100),setTimeout(()=>t(2),300),setTimeout(()=>t(3),500),setTimeout(()=>t(4),700)];return()=>{e=!0,n.forEach(clearTimeout)}},[T]);let E=(0,W.useCallback)(e=>{m(t=>t===e?null:e)},[]),D=(0,W.useCallback)(()=>{!S||S.kind!==`skill`||(C(),c?.(S.id))},[C,c,S]);(0,W.useEffect)(()=>{if(p==null)return;let e=e=>{e.key===`Escape`&&C()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[C,p]),(0,W.useLayoutEffect)(()=>{if(S==null)return;let e=u.current;if(!e)return;let t=e.getBoundingClientRect();g({width:t.width,height:t.height})},[S]);let O={x:w.viewSize.width/2,y:w.viewSize.height/2},k=O.x-Z.x*w.zoom+w.pan.x,A=O.y-Z.y*w.zoom+w.pan.y,j=p==null?void 0:x.get(p),M=0,F=0;if(S!=null&&j){let e=k+j.x*w.zoom,t=A+j.y*w.zoom,n=e,r=t-60,i=h.width/2,a=h.height/2,o=i+8,s=Math.max(o,w.viewSize.width-i-8),c=a+8,l=Math.max(c,w.viewSize.height-a-8);M=Math.min(Math.max(n,o),s),F=Math.min(Math.max(r,c),l)}let L=(0,W.useCallback)(e=>{C(),w.zoomToNode(e)},[C,w]);return(0,G.jsxs)(`div`,{ref:l,className:`relative select-none overflow-hidden rounded-xl ${a??``}`,style:{backgroundColor:`var(--surface-base)`,backgroundImage:`radial-gradient(circle, color-mix(in srgb, var(--content-tertiary) 20%, transparent) 1px, transparent 1px)`,backgroundSize:`24px 24px`,backgroundPosition:`12px 12px`,touchAction:`none`,cursor:w.isDragging?`grabbing`:`grab`,userSelect:`none`,WebkitUserSelect:`none`},onPointerDown:w.handlePointerDown,onPointerMove:w.handlePointerMove,onPointerUp:w.handlePointerUp,onPointerCancel:w.handlePointerUp,children:[(0,G.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-0`,style:{background:`radial-gradient(circle at center, color-mix(in srgb, var(--content-tertiary) 6%, transparent), transparent 60%)`}}),(0,G.jsxs)(`div`,{className:`absolute inset-0`,style:{transform:`translate(${k}px, ${A}px) scale(${w.zoom})`,transformOrigin:`0 0`,transition:w.isAnimating?`transform 0.4s cubic-bezier(0.22, 1, 0.36, 1)`:`none`},children:[(0,G.jsx)(Me,{edges:b,nodeById:x,visible:d>=2}),_.map((e,i)=>(0,G.jsx)(He,{node:e,index:i,phase:d,components:t,traits:n,customImageUrl:r,isSelected:p===e.id||w.zoomedNodeId===e.id,onSingleClick:()=>E(e.id),onDoubleClick:()=>L(e.id)},e.id))]}),s&&(0,G.jsx)(`div`,{className:`absolute left-4 top-4`,"data-constellation-control":!0,children:(0,G.jsx)(i,{variant:`ghost`,iconOnly:o?(0,G.jsx)(y,{}):(0,G.jsx)(v,{}),onClick:s,"aria-label":o?`Exit fullscreen`:`Enter fullscreen`,tooltip:o?`Exit fullscreen`:`Enter fullscreen`})}),(0,G.jsx)(Ne,{visible:d>=4}),(0,G.jsx)(P,{children:S==null?null:(0,G.jsx)(N.div,{ref:u,className:`pointer-events-auto absolute z-20`,"data-constellation-popover":!0,style:{left:M,top:F,transform:`translate(-50%, -50%)`},initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},transition:{duration:.15,ease:`easeOut`},onPointerDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,G.jsx)(Pe,{item:S,color:Y(S.category).color,onViewDetails:c&&S.kind===`skill`?D:void 0})},`constellation-popover`)}),(0,G.jsxs)(`div`,{"data-constellation-control":!0,className:`absolute bottom-4 right-4 flex items-center gap-1`,children:[(0,G.jsx)(i,{variant:`ghost`,iconOnly:(0,G.jsx)(ee,{}),onClick:w.zoomIn,"aria-label":`Zoom in`,tooltip:`Zoom in`}),(0,G.jsx)(i,{variant:`ghost`,iconOnly:(0,G.jsx)(I,{}),onClick:w.zoomOut,"aria-label":`Zoom out`,tooltip:`Zoom out`}),(0,G.jsx)(i,{variant:`ghost`,iconOnly:(0,G.jsx)(ie,{}),onClick:w.fitAll,"aria-label":`Fit all`,tooltip:`Fit all`})]})]})}function Ge({assistantName:e,assistantPersonality:t,assistantRole:n,hatchedDate:r,components:a,traits:o,customImageUrl:s,onOpenThread:c,onOpenModal:l}){return(0,G.jsxs)(`div`,{className:`w-full overflow-hidden rounded-xl`,style:{backgroundColor:`var(--surface-lift)`},children:[(0,G.jsxs)(`div`,{className:`relative p-6 pb-0`,children:[(0,G.jsx)(`div`,{className:`pr-8 text-center`,children:(0,G.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:e})}),(0,G.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,G.jsx)(b,{"aria-hidden":!0}),onClick:()=>c?.(`I would like to change your name`),disabled:!c,"aria-label":`Edit identity`,title:`Edit Name`,className:`absolute right-6 top-6`,tintColor:`var(--content-tertiary)`})]}),(0,G.jsx)(`div`,{className:`flex justify-center py-6`,children:(0,G.jsx)(B,{components:a,traits:o,customImageUrl:s,size:200,interactive:!0})}),(0,G.jsx)(`div`,{className:`flex justify-center pb-6`,children:(0,G.jsx)(i,{type:`button`,variant:`outlined`,size:`regular`,onClick:l,className:`!rounded-full`,children:`Update Avatar`})}),(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,G.jsxs)(`div`,{className:`flex items-center justify-between border-b px-4 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Role`}),(0,G.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:n})]}),(0,G.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,G.jsx)(b,{"aria-hidden":!0}),onClick:()=>c?.(`I would like to change your role description`),disabled:!c,"aria-label":`Edit role`,title:`Edit Role`,tintColor:`var(--content-tertiary)`})]}),(0,G.jsxs)(`div`,{className:`flex items-center justify-between border-b px-4 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Personality`}),(0,G.jsx)(`p`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-default)`},title:t||`Not set`,children:t||`Not set`})]}),(0,G.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,G.jsx)(b,{"aria-hidden":!0}),onClick:()=>c?.(`I would like to change your personality`),disabled:!c,"aria-label":`Edit personality`,title:`Edit Personality`,tintColor:`var(--content-tertiary)`})]}),(0,G.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,G.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Hatched`}),(0,G.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:r})]})]})}function Ke({assistantId:e,onOpenThread:n}){let r=o(),{components:i,traits:a,customImageUrl:c,isLoading:u,invalidate:p}=ae(e),[h,g]=(0,W.useState)(null),[_,v]=(0,W.useState)(null),[y,b]=(0,W.useState)(null),[x,S]=(0,W.useState)(!1),[C,O]=(0,W.useState)(null),[k,A]=(0,W.useState)(null),[j,M]=(0,W.useState)(null),[N,P]=(0,W.useState)(null);(0,W.useEffect)(()=>{let n=!1;return Promise.all([te(e),D(e).catch(()=>({ok:!1,status:0,error:{}}))]).then(([t,r])=>{n||(g(t),r.ok?v(r.data.created):v(null),b(e))}).catch(e=>{n||t(e,{context:`identity_tab_load`})}),()=>{n=!0}},[e]);let F=y!==e||u,[I,ee]=(0,W.useState)(!1),L=l({...E({path:{assistant_id:e},query:{kind:`installed`}}),select:e=>e.skills,enabled:!!e}),R=(0,W.useMemo)(()=>L.data??[],[L.data]),z=(0,W.useCallback)(()=>{p()},[p]),ne=(0,W.useCallback)(()=>{S(!0)},[]),re=(0,W.useCallback)(()=>{S(!1)},[]),ie=(0,W.useCallback)(()=>{n?.(`I'd like to create a custom AI-generated avatar.`)},[n]),B=(0,W.useCallback)(()=>{r.invalidateQueries({queryKey:T({path:{assistant_id:e}})})},[e,r]),V=s({mutationFn:t=>m(e,t),onMutate:e=>A(e),onSettled:()=>{A(null),B()}}),H=w({onMutate:e=>M(e.path.id),onSettled:()=>{M(null),B()}}),U=(0,W.useCallback)(e=>{V.mutate(e.slug??e.id)},[V]),oe=(0,W.useCallback)(e=>{P(e)},[]),K=(0,W.useCallback)(()=>{N&&(H.mutate({path:{assistant_id:e,id:N.id}}),P(null))},[e,N,H]),q=(0,W.useMemo)(()=>C?R.find(e=>e.id===C)??null:null,[R,C]),J=(0,G.jsx)(d,{open:N!==null,title:`Remove skill`,message:N?`Remove "${N.name}" from this assistant?`:``,confirmLabel:`Remove`,destructive:!0,onConfirm:K,onCancel:()=>P(null)});if(q)return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(f,{assistantId:e,skill:q,onBack:()=>O(null),onInstall:()=>U(q),onRemove:()=>oe(q),isInstalling:k===(q.slug??q.id),isRemoving:j===q.id}),J]});if(F)return(0,G.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,G.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2`,style:{borderColor:`var(--border-base)`,borderTopColor:`var(--content-tertiary)`}})});let ce=h?.name||`Assistant`,le=h?.personality||``,Y=h?.role||`Not set`,X=_?new Date(_).toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}):`Unknown`;return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-6 lg:flex-row lg:items-stretch`,children:[(0,G.jsx)(`div`,{className:`mx-auto w-full max-w-md lg:mx-0 lg:h-full lg:shrink-0 lg:overflow-y-auto ${I?`hidden`:`flex`}`,children:(0,G.jsx)(Ge,{assistantName:ce,assistantPersonality:le,assistantRole:Y,hatchedDate:X,components:i,traits:a,customImageUrl:c,onOpenThread:n,onOpenModal:ne})}),(0,G.jsx)(`div`,{className:`min-h-[480px] min-w-0 flex-1 lg:min-h-0`,children:(0,G.jsx)(We,{skills:R,components:i,traits:a,customImageUrl:c,className:`h-full w-full`,isFullscreen:I,onToggleFullscreen:()=>ee(e=>!e),onSelectSkill:O})}),(0,G.jsx)(se,{open:x,onClose:re,assistantId:e,components:i,traits:a,customImageUrl:c,onSaveCharacter:z,onUploadImage:z,onGenerateWithAI:n?ie:void 0}),J]})}function qe({onOpenThread:e}){return(0,G.jsx)(Ke,{assistantId:U(),onOpenThread:e})}function Je(){let e=a();return(0,G.jsx)(qe,{onOpenThread:t=>{k.getState().setMainView(`chat`);let n=j();A.getState().setActiveConversationId(n),e(`${O.conversation(n)}?prompt=${encodeURIComponent(t)}`)}},U())}export{Je as IdentityPageRoute};
|