@vellumai/web 0.10.8-staging.1 → 0.10.8

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.
Files changed (189) hide show
  1. package/dist/assets/{AnimatePresence-C8APSgIu.js → AnimatePresence-s1Z1HHWx.js} +1 -1
  2. package/dist/assets/{BundleConfirmPage-M2tkzwiz.js → BundleConfirmPage-C6bP7QB3.js} +1 -1
  3. package/dist/assets/{about-page-C-kIVb7a.js → about-page-XGv9RAQu.js} +1 -1
  4. package/dist/assets/{account-page-DOSnPXjP.js → account-page-Dno1SeJN.js} +1 -1
  5. package/dist/assets/{account-shell-74OchOxg.js → account-shell-CdhP9l8T.js} +1 -1
  6. package/dist/assets/{acp-run-detail-panel-DFoD_DVJ.js → acp-run-detail-panel-B1-zyOUe.js} +4 -4
  7. package/dist/assets/{activity-steps-panel-jztC4BRv.js → activity-steps-panel-BGyfMCXK.js} +1 -1
  8. package/dist/assets/{add-credits-modal-daNASKHJ.js → add-credits-modal-PP1PX8Qv.js} +1 -1
  9. package/dist/assets/{advanced-page-B8h5sAe5.js → advanced-page-vCbMVJsK.js} +1 -1
  10. package/dist/assets/{ai-page-BInYrZV7.js → ai-page-BIYybKux.js} +1 -1
  11. package/dist/assets/{animated-avatar-CrlodWQr.js → animated-avatar-Cqpzb8O4.js} +1 -1
  12. package/dist/assets/{api-key-screen-Cynx0r0g.js → api-key-screen-DTSP_-Da.js} +1 -1
  13. package/dist/assets/{archive-page-DqXRVFoF.js → archive-page-RZ2VP63A.js} +1 -1
  14. package/dist/assets/{assistant-feature-flag-store-CKUjJHuh.js → assistant-feature-flag-store-DA8Oj9Mf.js} +1 -1
  15. package/dist/assets/{assistant-status-panel-eNWJodpn.js → assistant-status-panel-BC0RTDls.js} +1 -1
  16. package/dist/assets/{auth-store-CD7PGb3q.js → auth-store-C09YAZEu.js} +2 -2
  17. package/dist/assets/{background-task-detail-panel-Bsi8IoaY.js → background-task-detail-panel-BfnsD-3B.js} +1 -1
  18. package/dist/assets/{billing-page-dpKYjJH3.js → billing-page-1z_L2m6q.js} +3 -3
  19. package/dist/assets/{bookmarks-page-BI92Y3eM.js → bookmarks-page-CjcavZv8.js} +1 -1
  20. package/dist/assets/{browser-BPZAXjRE.js → browser-C6a_nhhZ.js} +2 -2
  21. package/dist/assets/{build-state-DGsKGdpj.js → build-state-PUXrUU4W.js} +1 -1
  22. package/dist/assets/channels-page-route-WjNmd0sS.js +9 -0
  23. package/dist/assets/chat-markdown-message-BnX6bhgs.js +2 -0
  24. package/dist/assets/{client-feature-flag-store-C0g8zi1W.js → client-feature-flag-store-DkJl-g9A.js} +1 -1
  25. package/dist/assets/{command-palette-Dk6UsSlv.js → command-palette-6o4m7BM9.js} +1 -1
  26. package/dist/assets/{command-palette-window-page-zDow8o4K.js → command-palette-window-page-BsJlr5bh.js} +1 -1
  27. package/dist/assets/community-page-CJA4JfuC.js +1 -0
  28. package/dist/assets/{connect-page-BXTqYbdY.js → connect-page-DZgU3jCf.js} +1 -1
  29. package/dist/assets/{consent-controls-BZMxm0n3.js → consent-controls-Cnr1DzCr.js} +1 -1
  30. package/dist/assets/contacts-page-route-P0neH-PV.js +1 -0
  31. package/dist/assets/{credentials-page-0S5ifTFC.js → credentials-page-MkKE_19-.js} +1 -1
  32. package/dist/assets/debug-page-B88f4aDU.js +4 -0
  33. package/dist/assets/{deploy-dialogs-BBHNKgDi.js → deploy-dialogs-paL_zcvG.js} +1 -1
  34. package/dist/assets/{detail-card-RGTjHkZ8.js → detail-card-xKZlkbz5.js} +1 -1
  35. package/dist/assets/{detail-panel-stop-button-oIDUq-kJ.js → detail-panel-stop-button-y7O3HqJj.js} +1 -1
  36. package/dist/assets/{developer-page-Djolz4Fg.js → developer-page-BFMS6pwU.js} +1 -1
  37. package/dist/assets/{devices-page-XJJSA97y.js → devices-page-B3D5iLhD.js} +1 -1
  38. package/dist/assets/{dictation-overlay-page-cqsEjyx_.js → dictation-overlay-page-BkEBWrWm.js} +1 -1
  39. package/dist/assets/{document-viewer-page-jInmb33M.js → document-viewer-page-B631L6-3.js} +1 -1
  40. package/dist/assets/{earn-credits-modal-C_jhLLw5.js → earn-credits-modal-CFla-iKl.js} +1 -1
  41. package/dist/assets/edge-swipe-arbiter-store-BeOhrE7M.js +1 -0
  42. package/dist/assets/{emails-page-fov7ihfj.js → emails-page-7c9kVi_k.js} +1 -1
  43. package/dist/assets/{esm-Ddmch1KU.js → esm-Bzs_witt.js} +2 -2
  44. package/dist/assets/{esm-CYMQv-VS.js → esm-C5J59K0j.js} +2 -2
  45. package/dist/assets/{esm-CTXnt94k.js → esm-CT8NUp3h.js} +2 -2
  46. package/dist/assets/esm-DEu9JbAE.js +2 -0
  47. package/dist/assets/{esm-BciT3LGF.js → esm-DZkj1VLJ.js} +2 -2
  48. package/dist/assets/{esm-CvWQdH3L.js → esm-DtJz1M8R.js} +2 -2
  49. package/dist/assets/{feature-flag-catalog-CHuc71P8.js → feature-flag-catalog-GgSNKkqP.js} +1 -1
  50. package/dist/assets/{file-markdown-BXUvAQ24.js → file-markdown-Bq97tNxs.js} +1 -1
  51. package/dist/assets/{general-page-gojItIOd.js → general-page-D-Gr2lkW.js} +1 -1
  52. package/dist/assets/{haptics-DKVhthJo.js → haptics-lMERs7us.js} +2 -2
  53. package/dist/assets/hatching-screen-BlwicgIz.js +1 -0
  54. package/dist/assets/home-page-route-D24x4A0S.js +1 -0
  55. package/dist/assets/{hosting-screen-BTLHWS2M.js → hosting-screen-BZLZular.js} +1 -1
  56. package/dist/assets/identity-page-route-BwOJeenx.js +1 -0
  57. package/dist/assets/{index-BjtwYdrT.css → index-C9GrLGul.css} +1 -1
  58. package/dist/assets/{index-CSefSVJO.js → index-yu6nDHvG.js} +21 -21
  59. package/dist/assets/{inspect-page-CT8NspqC.js → inspect-page-1RejwSP_.js} +4 -4
  60. package/dist/assets/{integrations-page-DtClqS91.js → integrations-page-BV5BiHPD.js} +1 -1
  61. package/dist/assets/{intelligence-layout-D9ReVcK0.js → intelligence-layout-iQFO8in_.js} +1 -1
  62. package/dist/assets/{keyboard-shortcuts-page-CovdLPhh.js → keyboard-shortcuts-page-jt13JtxS.js} +1 -1
  63. package/dist/assets/{library-detail-page-MAsxHH08.js → library-detail-page-BAGWt1Lw.js} +1 -1
  64. package/dist/assets/{library-page-CYuSc92M.js → library-page-CqeoBhDY.js} +1 -1
  65. package/dist/assets/{login-flow-CHNlba5i.js → login-flow-B6q00uIW.js} +1 -1
  66. package/dist/assets/{login-page-CK1TxruP.js → login-page-BQVTWuQc.js} +1 -1
  67. package/dist/assets/{logout-page-W3gl_1Ax.js → logout-page-BV0URcAd.js} +1 -1
  68. package/dist/assets/{logs-layout-CR7u05YO.js → logs-layout-DO3yfZqD.js} +1 -1
  69. package/dist/assets/{memory-router-playground-page-eDjKwsbG.js → memory-router-playground-page-CQxX6mCn.js} +1 -1
  70. package/dist/assets/{metric-card-BN23geOu.js → metric-card-DvXjHVCV.js} +1 -1
  71. package/dist/assets/{mobile-sidebar-drawer-3LqMCZgK.js → mobile-sidebar-drawer-Epbt6p-k.js} +1 -1
  72. package/dist/assets/{native-file-Cn3RbQbT.js → native-file-DI99Emal.js} +2 -2
  73. package/dist/assets/{notifications-page-CtyUuC15.js → notifications-page-CXaZpD3s.js} +1 -1
  74. package/dist/assets/{oauth-complete-page-3DcY6Or3.js → oauth-complete-page-BlJm9tRJ.js} +1 -1
  75. package/dist/assets/{oauth-popup-complete-page-Cn-1bOwa.js → oauth-popup-complete-page-BqUopTat.js} +1 -1
  76. package/dist/assets/{page-shell-C2TBO8M8.js → page-shell-BUGBKCmv.js} +1 -1
  77. package/dist/assets/{pairing-page-Bb-_q_zP.js → pairing-page-B5GrCx4C.js} +1 -1
  78. package/dist/assets/{platform-loopback-page-Dfl_gjZm.js → platform-loopback-page-MZdCPXRI.js} +1 -1
  79. package/dist/assets/{plugin-detail-page-C_vv0F7O.js → plugin-detail-page-Byuqbr1N.js} +1 -1
  80. package/dist/assets/plugins-page-Ci0CoSAN.js +1 -0
  81. package/dist/assets/{prechat-route-CgCradwf.js → prechat-route-9JFn-w_1.js} +1 -1
  82. package/dist/assets/{prefs-DYaOj-dg.js → prefs-B1Y3q3c8.js} +1 -1
  83. package/dist/assets/{privacy-page-BqYdFos7.js → privacy-page-BTpvj9ZP.js} +1 -1
  84. package/dist/assets/{privacy-screen-DBMkRqiF.js → privacy-screen-CUbVcDf_.js} +1 -1
  85. package/dist/assets/{provider-callback-page-B-aDgII8.js → provider-callback-page-fB2tIyqL.js} +1 -1
  86. package/dist/assets/{provider-signup-page-CYK4VNf0.js → provider-signup-page-C4Dn-wtJ.js} +1 -1
  87. package/dist/assets/{quick-input-page-oif3WEFT.js → quick-input-page-Cv_CzapK.js} +1 -1
  88. package/dist/assets/{research-mock-page-CooZPqtv.js → research-mock-page-1T92rXz3.js} +1 -1
  89. package/dist/assets/{research-onboarding-route-BJqAsTdE.js → research-onboarding-route-CmWgwOFk.js} +3 -3
  90. package/dist/assets/{review-terms-screen-CVRYEl6e.js → review-terms-screen-DrD4vywk.js} +1 -1
  91. package/dist/assets/{risk-Dsj4oM8c.js → risk-Dopd25rc.js} +1 -1
  92. package/dist/assets/{security-page-DN5BI6Ag.js → security-page-BYI7twYM.js} +1 -1
  93. package/dist/assets/select-assistant-screen-Br-PNDO1.js +1 -0
  94. package/dist/assets/{settings-layout-BNwCqvBi.js → settings-layout-lddMUg7A.js} +1 -1
  95. package/dist/assets/share-feedback-modal-DSwfhMsV.js +1 -0
  96. package/dist/assets/{sidebar-tree-Bh-tcSsp.js → sidebar-tree-C1_LiBB9.js} +1 -1
  97. package/dist/assets/{signup-page-D6cMhBxv.js → signup-page-D6hAK-Us.js} +1 -1
  98. package/dist/assets/{signup-shell-D4Afeijm.js → signup-shell-DufHA5do.js} +1 -1
  99. package/dist/assets/{site-favicon-DSzk4cg0.js → site-favicon-fQHLTT6F.js} +1 -1
  100. package/dist/assets/{skill-detail-page-Jisds_Gs.js → skill-detail-page-BlfgTyFC.js} +1 -1
  101. package/dist/assets/{skill-detail-panel-BEJqfJig.js → skill-detail-panel-BGoRUWNU.js} +1 -1
  102. package/dist/assets/{skills-CSlvOB79.js → skills-AtSQBwXr.js} +1 -1
  103. package/dist/assets/{skills-page-Cs1EG4X5.js → skills-page-DeIiyhVc.js} +1 -1
  104. package/dist/assets/{sounds-page-ChFJ0OPm.js → sounds-page-BgLLJ-o9.js} +1 -1
  105. package/dist/assets/{src-B2IjVySQ.js → src-zsLiFPw3.js} +1 -1
  106. package/dist/assets/{subagent-detail-panel-ACj_B6Id.js → subagent-detail-panel-BGuVa8-m.js} +1 -1
  107. package/dist/assets/{system-events-page-JhzC5xhW.js → system-events-page-C1hXOYmg.js} +1 -1
  108. package/dist/assets/{tiptap-document-editor-DSny-IjF.js → tiptap-document-editor-C-eOEBR_.js} +1 -1
  109. package/dist/assets/tool-detail-panel-wAuQ7gi8.js +2 -0
  110. package/dist/assets/{upgrade-cancel-page-D_YziHQs.js → upgrade-cancel-page-BGgPmDmT.js} +1 -1
  111. package/dist/assets/{upgrade-success-page-Cg7IIDei.js → upgrade-success-page-TJBopZ0Z.js} +1 -1
  112. package/dist/assets/{usage-page-DB3LFuYw.js → usage-page-DLWFk2P0.js} +1 -1
  113. package/dist/assets/use-edge-swipe-back-B4XlZ1Iu.js +1 -0
  114. package/dist/assets/use-invite-link-dialog-BdnW1BHj.js +1 -0
  115. package/dist/assets/use-is-org-ready-jhEM-4rY.js +1 -0
  116. package/dist/assets/{use-onboarding-login-Bo_t51AV.js → use-onboarding-login-B-1jrjFL.js} +1 -1
  117. package/dist/assets/{use-reduced-motion-CcGT6CHV.js → use-reduced-motion-Cj0Z8KSf.js} +1 -1
  118. package/dist/assets/{use-skill-actions-e6TfdF23.js → use-skill-actions-BpVxiQZY.js} +1 -1
  119. package/dist/assets/{use-skill-categories-i_9x26zg.js → use-skill-categories-CCxtjMC_.js} +1 -1
  120. package/dist/assets/{use-skill-detail-files-Cu4nrHPA.js → use-skill-detail-files-Dpp521cY.js} +1 -1
  121. package/dist/assets/{voice-page-wTcwV9j9.js → voice-page-BoCTB8Jx.js} +1 -1
  122. package/dist/assets/{weather-forecast-display-C_3DSHxa.js → weather-forecast-display-Bix8rpji.js} +1 -1
  123. package/dist/assets/{web-DlbBHOna.js → web-C1L-cpPj.js} +1 -1
  124. package/dist/assets/{web-BpBQ3Cf2.js → web-RhBklijR.js} +1 -1
  125. package/dist/assets/{welcome-screen-BF3r_rfT.js → welcome-screen-CVI4Hjnt.js} +1 -1
  126. package/dist/assets/{workflow-detail-panel-DzvDXyoD.js → workflow-detail-panel-CwZH3tDl.js} +1 -1
  127. package/dist/assets/workspace-page-CwIsXk1j.js +1 -0
  128. package/dist/index.html +28 -27
  129. package/package.json +1 -1
  130. package/dist/assets/channels-page-route-6cT6U3pZ.js +0 -9
  131. package/dist/assets/chat-markdown-message-CItp7csw.js +0 -2
  132. package/dist/assets/community-page-BVJxxP10.js +0 -1
  133. package/dist/assets/contacts-page-route-WXG6_xo2.js +0 -1
  134. package/dist/assets/debug-page-C-HWHD-3.js +0 -4
  135. package/dist/assets/esm-DsIXwGm7.js +0 -2
  136. package/dist/assets/hatching-screen-C0MNyetb.js +0 -1
  137. package/dist/assets/home-page-route-X4KYSdMI.js +0 -1
  138. package/dist/assets/identity-page-route-D5xzlpim.js +0 -1
  139. package/dist/assets/plugins-page-Cv0FXn1j.js +0 -1
  140. package/dist/assets/select-assistant-screen-B63mlflD.js +0 -1
  141. package/dist/assets/share-feedback-modal-BloP-1QE.js +0 -1
  142. package/dist/assets/tool-detail-panel-z5iYNIYq.js +0 -2
  143. package/dist/assets/use-edge-swipe-back-AcKDuMrX.js +0 -1
  144. package/dist/assets/use-invite-link-dialog-CExxDwnZ.js +0 -1
  145. package/dist/assets/use-is-org-ready-BtwH2--_.js +0 -1
  146. package/dist/assets/workspace-page-DCcsRyQz.js +0 -1
  147. /package/dist/assets/{a2a-invite-BriFFHnO.js → a2a-invite-B9cylfIO.js} +0 -0
  148. /package/dist/assets/{app-info-LSjlWG3w.js → app-info-Clwt3pCt.js} +0 -0
  149. /package/dist/assets/{build.umd-wlq6sZjw.js → build.umd-CxdKgGWo.js} +0 -0
  150. /package/dist/assets/{contacts-gateway-CNqVHBQ3.js → contacts-gateway-CW5CipBv.js} +0 -0
  151. /package/dist/assets/{credential-entry-page-jJzKVnQk.js → credential-entry-page-9H2HOu88.js} +0 -0
  152. /package/dist/assets/{danger-zone-redirect-page-DL5S8CAN.js → danger-zone-redirect-page-BWg7rn8D.js} +0 -0
  153. /package/dist/assets/{definitions-alqf_FBK.js → definitions-CaYcW4Yq.js} +0 -0
  154. /package/dist/assets/{definitions-B1DK4OsQ.js → definitions-DScTW2c-.js} +0 -0
  155. /package/dist/assets/{emoji-catalog-data-D_xqkMQV.js → emoji-catalog-data-D8lRMt3A.js} +0 -0
  156. /package/dist/assets/{environment-store-fb1I8_0E.js → environment-store-C0f32873.js} +0 -0
  157. /package/dist/assets/{esm-DwTCNETa.js → esm-B54gzHCZ.js} +0 -0
  158. /package/dist/assets/{file-editor-BbrbkQCm.js → file-editor-sT7eHxsw.js} +0 -0
  159. /package/dist/assets/{format-date-BczUbfC1.js → format-date-CghpPTDc.js} +0 -0
  160. /package/dist/assets/{format-file-size-D7iZejgy.js → format-file-size-DzVEncaw.js} +0 -0
  161. /package/dist/assets/{llm-dimension-Bu_nHMF_.js → llm-dimension-DyYwG3mU.js} +0 -0
  162. /package/dist/assets/{mutation-error-CrhKyTkx.js → mutation-error-DYv0eJ_i.js} +0 -0
  163. /package/dist/assets/{onboarding-step-layout-zvLUIT7j.js → onboarding-step-layout-2XcmxqFN.js} +0 -0
  164. /package/dist/assets/{optimistic-lifecycle-DTggtDfs.js → optimistic-lifecycle-BvfDBY8o.js} +0 -0
  165. /package/dist/assets/{password-reset-page-DVIt7mWy.js → password-reset-page-BCk9Si73.js} +0 -0
  166. /package/dist/assets/{pdf-CuY9CA7Q.js → pdf-C3Qukw-J.js} +0 -0
  167. /package/dist/assets/{plugins-surface-C7NU-_rg.js → plugins-surface-z3RTZS4H.js} +0 -0
  168. /package/dist/assets/{prechat-names-b5RkG_F-.js → prechat-names-clVy5Mee.js} +0 -0
  169. /package/dist/assets/{provider-key-DBiHV_K5.js → provider-key-3AHnKoz9.js} +0 -0
  170. /package/dist/assets/{proxy-BzlH_XAe.js → proxy-o6cPThl2.js} +0 -0
  171. /package/dist/assets/{public-asset-Di3QykUd.js → public-asset-GKv5zCfZ.js} +0 -0
  172. /package/dist/assets/{schedules-Dj3YQqG5.js → schedules-BfKi12EZ.js} +0 -0
  173. /package/dist/assets/{setting-row-QKgqbQ4U.js → setting-row-CUka7_L9.js} +0 -0
  174. /package/dist/assets/{skill-icon-CEEEqpSq.js → skill-icon-cNkD2w1X.js} +0 -0
  175. /package/dist/assets/{status-badge-pill-BopXdkRS.js → status-badge-pill-0N6rTEBg.js} +0 -0
  176. /package/dist/assets/{step-indicator-dots-Cou0-IgA.js → step-indicator-dots-D03TmFKG.js} +0 -0
  177. /package/dist/assets/{system-events-redirect-page-D5EfWOEK.js → system-events-redirect-page-DbaFKRXH.js} +0 -0
  178. /package/dist/assets/{three-dot-indicator-BVtP8eei.js → three-dot-indicator-DNuHHwtA.js} +0 -0
  179. /package/dist/assets/{usage-window-Btqj3Jpn.js → usage-window-C6gWu5Qu.js} +0 -0
  180. /package/dist/assets/{use-active-assistant-id-BNRMo_Mi.js → use-active-assistant-id-BWXi63qg.js} +0 -0
  181. /package/dist/assets/{use-copy-to-clipboard-tXJpCn2M.js → use-copy-to-clipboard-BCTXSMa-.js} +0 -0
  182. /package/dist/assets/{web-CsaTwTXy.js → web-BD2N6zhd.js} +0 -0
  183. /package/dist/assets/{web-Xex3K4gk.js → web-BaubW4Pp.js} +0 -0
  184. /package/dist/assets/{web-U-rR-rZR.js → web-CJiP8Lg6.js} +0 -0
  185. /package/dist/assets/{web-D5_lKOWn.js → web-D8PpvYf_.js} +0 -0
  186. /package/dist/assets/{web-B9ZvD-Tt.js → web-Duw5A2aP.js} +0 -0
  187. /package/dist/assets/{web-Bi2V5gD3.js → web-O1LOb-o9.js} +0 -0
  188. /package/dist/assets/{xterm-D9pOJCAq.js → xterm-CBmd_y-b.js} +0 -0
  189. /package/dist/assets/{xterm-addon-fit-BTV6oL76.js → xterm-addon-fit-THPW0uy0.js} +0 -0
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Dhiismgm.js";import{t as n}from"./react-DJZBPgpf.js";import{F as r,t as i}from"./button-amTXFI-2.js";import{d as a}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as o}from"./useQuery-B45lW1Kk.js";import{t as s}from"./jsx-runtime-CVSDxk6A.js";import{t as c}from"./queryOptions-BtNi-_9H.js";import{t as l}from"./card-Bv5O5juh.js";import{t as u}from"./chevron-left-BMF1xNfR.js";import{t as d}from"./chevron-right-DqqmezXC.js";import{n as f,r as p}from"./animated-avatar-Cqpzb8O4.js";import{t as m}from"./file-text-CYJz-GvF.js";import{n as h,t as g}from"./minimize-2-Clnet2W7.js";import{t as _}from"./pencil-CUIr0IFo.js";import{t as v}from"./save-aD5JFIZf.js";import{t as y}from"./sparkles-PGiR5v1g.js";import{t as b}from"./x-CkSVp1Ok.js";import"./src-zsLiFPw3.js";import{t as x}from"./file-markdown-Bq97tNxs.js";import{fn as S,pn as C}from"./sdk.gen-BwnFjFcp.js";import{St as w}from"./react-query.gen-C6wVk6Rw.js";import{n as T,r as E,t as D}from"./api-errors-CrWDzVca.js";import{r as O}from"./api-_7pKLlYA.js";import{c as k}from"./routes-BbeIx_F9.js";import{t as A}from"./conversation-store-BljZWolF.js";import{r as j}from"./viewer-store-B8-Qnbx9.js";import{t as M}from"./conversation-selection-BBHkzcfy.js";import{t as N}from"./misc-BYQPh7vS.js";import{t as P}from"./proxy-o6cPThl2.js";import{t as F}from"./AnimatePresence-s1Z1HHWx.js";import{Gt as I,Mi as ee,ci as L,cr as te,di as ne,dr as re,fr as ie,ji as ae,li as oe,lr as se,ra as ce,rt as le,ui as ue}from"./index-yu6nDHvG.js";import{t as de}from"./use-active-assistant-id-BWXi63qg.js";import{t as R}from"./skill-icon-cNkD2w1X.js";var fe=e(r(),1),z=e(n(),1),B=s();function V(e,t,n){return n===`forward`?(e+1)%t:(e-1+t)%t}function pe({assistantId:e,initialTraits:t,onSave:n,onCancel:r}){let[i,a]=(0,z.useState)(null),[o,s]=(0,z.useState)(!0),[c,l]=(0,z.useState)(!1),u=(0,z.useRef)(null),[d,f]=(0,z.useState)(0),[m,h]=(0,z.useState)(0),[g,_]=(0,z.useState)(0);(0,z.useEffect)(()=>{if(u.current===e)return;let n=!1;return se(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&&h(n),i>=0&&_(i)}}),()=>{n=!0}},[e,t]);let y=(0,z.useCallback)(()=>{i&&(f(Math.floor(Math.random()*i.bodyShapes.length)),h(Math.floor(Math.random()*i.eyeStyles.length)),_(Math.floor(Math.random()*i.colors.length)))},[i]),x=(0,z.useCallback)(async()=>{if(!i)return;let t={bodyShape:i.bodyShapes[d].id,eyeStyle:i.eyeStyles[m].id,color:i.colors[g].id};l(!0);try{await re(e,t),n?.(t)}finally{l(!1)}},[i,d,m,g,e,n]);if(o)return(0,B.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,B.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,B.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 S=i.bodyShapes[d],C=i.eyeStyles[m],w=i.colors[g];return(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`div`,{className:`flex justify-center`,children:(0,B.jsx)(`div`,{className:`rounded-2xl bg-[var(--surface-sunken)] p-6`,children:(0,B.jsx)(le,{components:i,bodyShapeId:S.id,eyeStyleId:C.id,colorId:w.id,size:160})})}),(0,B.jsxs)(`div`,{className:`space-y-3`,children:[(0,B.jsx)(H,{label:`Body`,value:S.id,onPrev:()=>f(V(d,i.bodyShapes.length,`backward`)),onNext:()=>f(V(d,i.bodyShapes.length,`forward`))}),(0,B.jsx)(H,{label:`Eyes`,value:C.id,onPrev:()=>h(V(m,i.eyeStyles.length,`backward`)),onNext:()=>h(V(m,i.eyeStyles.length,`forward`))}),(0,B.jsx)(H,{label:`Color`,value:w.id,colorHex:w.hex,onPrev:()=>_(V(g,i.colors.length,`backward`)),onNext:()=>_(V(g,i.colors.length,`forward`))})]}),(0,B.jsxs)(`div`,{className:`flex gap-2`,children:[(0,B.jsxs)(`button`,{type:`button`,onClick:y,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,B.jsx)(p,{className:`h-4 w-4`}),`Randomize`]}),(0,B.jsxs)(`button`,{type:`button`,onClick:x,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,B.jsx)(v,{className:`h-4 w-4`}),c?`Saving...`:`Save Avatar`]}),r&&(0,B.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,B.jsx)(b,{className:`h-4 w-4`})})]})]})}function H({label:e,value:t,colorHex:n,onPrev:r,onNext:i}){return(0,B.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,B.jsx)(`span`,{className:`text-body-small-default uppercase tracking-wider text-[var(--content-quiet)]`,children:e}),(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.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,B.jsx)(u,{className:`h-4 w-4`})}),(0,B.jsxs)(`div`,{className:`flex min-w-[80px] items-center justify-center gap-2`,children:[n&&(0,B.jsx)(`div`,{className:`h-4 w-4 rounded-full border border-[var(--border-element)]`,style:{backgroundColor:n}}),(0,B.jsx)(`span`,{className:`text-body-medium-default capitalize text-[var(--content-strong)]`,children:t})]}),(0,B.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,B.jsx)(d,{className:`h-4 w-4`})})]})]})}function me({open:e,onClose:t,assistantId:n,components:r,traits:i,customImageUrl:a,onSaveCharacter:o,onUploadImage:s,onGenerateWithAI:c}){let l=(0,z.useId)(),f=(0,z.useRef)(null),p=(0,z.useRef)(null),m=(0,z.useRef)(null),[h,g]=(0,z.useState)(`actions`),[_,v]=(0,z.useState)(!1);(0,z.useEffect)(()=>{e&&p.current?.focus()},[e]),(0,z.useEffect)(()=>{if(e){let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}}},[e]);let x=(0,z.useCallback)(()=>{g(`actions`),t()},[t]),S=(0,z.useCallback)(e=>{e.key===`Escape`&&(h===`character-builder`?g(`actions`):x())},[x,h]),C=(0,z.useCallback)(e=>{e.target===f.current&&x()},[x]),w=(0,z.useCallback)(()=>{g(`actions`)},[]),T=(0,z.useCallback)(()=>{g(`character-builder`)},[]),E=(0,z.useCallback)(async e=>{let t=e.target.files?.[0];if(!t)return;v(!0);let r=await ie(n,t);v(!1),r&&(s(),x()),m.current&&(m.current.value=``)},[n,s,x]),D=(0,z.useCallback)(()=>{m.current?.click()},[]),O=(0,z.useCallback)(()=>{x(),c?.()},[x,c]),k=(0,z.useCallback)(e=>{o(e),x()},[o,x]);return e?(0,fe.createPortal)((0,B.jsxs)(`div`,{ref:f,role:`dialog`,"aria-modal":`true`,"aria-labelledby":l,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:S,onClick:C,children:[(0,B.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,B.jsxs)(`div`,{className:`flex items-center justify-between border-b px-6 py-4`,style:{borderColor:`var(--border-base)`},children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[h===`character-builder`&&(0,B.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,B.jsx)(u,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,B.jsx)(`h2`,{id:l,className:`text-title-small`,style:{color:`var(--content-default)`},children:h===`character-builder`?`Build a Character`:`Update Avatar`})]}),(0,B.jsx)(`button`,{ref:p,type:`button`,onClick:x,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,B.jsx)(b,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})]}),(0,B.jsx)(`div`,{className:`overflow-y-auto p-6`,children:h===`actions`?(0,B.jsxs)(`div`,{className:`flex flex-col items-center gap-6`,children:[(0,B.jsx)(I,{components:r,traits:i,customImageUrl:a,size:120,interactive:!0}),(0,B.jsxs)(`div`,{className:`w-full space-y-2`,children:[(0,B.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,B.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,B.jsx)(ne,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,B.jsxs)(`div`,{className:`flex-1 text-left`,children:[(0,B.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Build a Character`}),(0,B.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Build your own character`})]}),(0,B.jsx)(d,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})]}),(0,B.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,B.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,B.jsx)(ce,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,B.jsxs)(`div`,{className:`flex-1 text-left`,children:[(0,B.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:_?`Uploading...`:`Upload Image`}),(0,B.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Choose an image from your computer`})]}),(0,B.jsx)(d,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})]}),c&&(0,B.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,B.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,B.jsx)(y,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,B.jsxs)(`div`,{className:`flex-1 text-left`,children:[(0,B.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Generate with AI`}),(0,B.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Create an avatar through chat`})]}),(0,B.jsx)(d,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})]})]})]}):(0,B.jsx)(pe,{assistantId:n,initialTraits:i,onSave:k,onCancel:w})})]}),(0,B.jsx)(`input`,{ref:m,type:`file`,accept:`image/png,image/jpeg,image/webp,image/gif`,className:`hidden`,onChange:E})]}),document.body):null}var he={displayName:`Other`,color:`#888`,emoji:`?`},ge={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 U(e){return ge[e]??he}var W=[`email`,`calendar`,`messaging`,`browsing`,`productivity`,`development`,`voice`,`commerce`,`content`,`health`,`system`,`integrations`],_e={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`])}]},ve=14,ye=10,be=6;function xe(e){switch(e.kind.type){case`center`:return{shape:`circle`,size:90,cornerRadius:0};case`category`:return{shape:`roundedRect`,size:80,cornerRadius:ve};case`subCategory`:return{shape:`roundedRect`,size:56,cornerRadius:ye};case`skill`:return{shape:`diamond`,size:64,cornerRadius:be}}}function Se(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 G(e,t,n){switch(e.shape){case`circle`:return e.size/2;case`roundedRect`:return Se(e.size/2,e.cornerRadius,t,n);case`diamond`:{let r=(t+n)*Math.SQRT1_2,i=(-t+n)*Math.SQRT1_2;return Se(e.size/2,e.cornerRadius,r,i)}}}function Ce(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,G(xe(e),a,o)-3),c=Math.max(0,G(xe(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 we=10,Te=200,Ee=160,K=160;function q(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 J(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=U(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=q({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 De(e,t,n=90){let r=[],i=[],a=we;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=U(t.category).color,u=q({x:e.x+Te*Math.cos(o),y:e.y+Te*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=_e[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){J(t.items,c,u,o,K,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=q({x:u.x+Ee*Math.cos(s),y:u.y+Ee*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}),J(e.items,d,f,s,K,64,a,3,t.category,d,r,i)})}else J(t.items,c,u,o,K,64,a,2,t.category,t.category,r,i)}),{nodes:r,edges:i}}function Oe(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 W){let r=t.get(e);r&&r.length>0&&n.push({category:e,items:r})}for(let[e,r]of t)!W.includes(e)&&r.length>0&&n.push({category:e,items:r});return n}function ke(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 Ae=.4,je=.25,Y={x:600,y:450},X={type:`spring`,stiffness:180,damping:20},Me={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}},Ne={category:`rounded-[3px]`,subcategory:`rounded-[3px] border-dashed`,skill:`rotate-45`,workspace:`rounded-full`},Pe=`Failed to load the memory graph.`;function Fe(e){return c({queryKey:[`memory-graph`,e],staleTime:5*6e4,queryFn:async()=>{let{data:t,error:n,response:r}=await S({path:{assistant_id:e},throwOnError:!1});if(T(r,n,Pe),!r.ok)throw new D(r.status,E(n,r,Pe));return!t||t.supported===!1?{kind:`unsupported`}:{kind:`ready`,graph:t}}})}var Ie=Math.PI*(3-Math.sqrt(5)),Le=7,Re=2.4,ze=34,Be=10;function Ve(e){return Math.min(ze,Le+Re*Math.sqrt(e))}function He(e){return e===`concept`||e===`skill`||e===`capability`?e:`other`}function Ue(e){return e===`link`||e===`learned`?e:`other`}function We(e,t={}){let n=t.center??Y,r=e.nodes,i=r.length;if(i===0)return{nodes:[],edges:[]};let a=new Map;r.forEach((e,t)=>a.set(e.id,t));let o=e.edges.filter(e=>e.source!==e.target&&a.has(e.source)&&a.has(e.target)),s=Array(i).fill(0),c=[];for(let e of o){let t=a.get(e.source),n=a.get(e.target);s[t]++,s[n]++,c.push([t,n])}let l=r.map((e,t)=>Ve(s[t])),u=70+26*Math.sqrt(i),d=r.map((e,t)=>{let r=(t+.5)/i,a=Math.acos(1-2*r),o=t*Ie,s=u*Math.cbrt(r),c=Math.sin(a);return{x:n.x+s*c*Math.cos(o),y:n.y+s*c*Math.sin(o),z:s*Math.cos(a),vx:0,vy:0,vz:0}}),f=t.iterations??Math.max(90,Math.min(340,Math.round(46e3/i))),p=.011,m=.82,h=.5,g=1,_=1-.001**(1/f);for(let e=0;e<f;e++){for(let e=0;e<i;e++){let t=d[e];for(let n=e+1;n<i;n++){let r=d[n],i=t.x-r.x,a=t.y-r.y,o=t.z-r.z,s=i*i+a*a+o*o;s<.01&&(i=(e-n)*.1+.1,a=.1,o=.05,s=i*i+a*a+o*o);let c=Math.sqrt(s),l=6400/s,u=i/c*l,f=a/c*l,p=o/c*l;t.vx+=u,t.vy+=f,t.vz+=p,r.vx-=u,r.vy-=f,r.vz-=p}}for(let[e,t]of c){let n=d[e],r=d[t],i=r.x-n.x,a=r.y-n.y,o=r.z-n.z,s=Math.sqrt(i*i+a*a+o*o)||.01,c=.05*(s-140),l=i/s*c,u=a/s*c,f=o/s*c;n.vx+=l,n.vy+=u,n.vz+=f,r.vx-=l,r.vy-=u,r.vz-=f}for(let e=0;e<i;e++){let t=d[e];t.vx+=(n.x-t.x)*p,t.vy+=(n.y-t.y)*p,t.vz+=(0-t.z)*p,t.x+=t.vx*g*h,t.y+=t.vy*g*h,t.z+=t.vz*g*h,t.vx*=m,t.vy*=m,t.vz*=m}g*=1-_}for(let e=0;e<10;e++){let e=!1;for(let t=0;t<i;t++){let n=d[t];for(let r=t+1;r<i;r++){let i=d[r],a=i.x-n.x,o=i.y-n.y,s=i.z-n.z,c=Math.sqrt(a*a+o*o+s*s),u=l[t]+l[r]+Be;if(c>=u)continue;c<.01&&(a=(r-t)*.1+.1,o=.1,s=.05,c=Math.sqrt(a*a+o*o+s*s));let f=(u-c)/2,p=a/c*f,m=o/c*f,h=s/c*f;n.x-=p,n.y-=m,n.z-=h,i.x+=p,i.y+=m,i.z+=h,e=!0}}if(!e)break}return{nodes:r.map((e,t)=>{let n={id:e.id,x:d[t].x,y:d[t].y,z:d[t].z,radius:l[t],label:e.label,kind:He(e.kind),degree:s[t]};return e.summary&&(n.summary=e.summary),e.updatedAtMs!==void 0&&(n.updatedAtMs=e.updatedAtMs),n}),edges:o.map((e,t)=>{let n={id:`${e.source}__${e.target}__${t}`,fromId:e.source,toId:e.target,kind:Ue(e.kind),directed:e.directed??!1};return e.description&&(n.description=e.description),n})}}var Ge=`Failed to load this concept.`;function Ke(e,t){return c({queryKey:[`memory-graph-node`,e,t],enabled:!!(e&&t),queryFn:async()=>{let{data:n,error:r,response:i}=await C({path:{assistant_id:e},query:{id:t??``},throwOnError:!1});if(T(i,r,Ge),!i.ok)throw new D(i.status,E(r,i,Ge));return n??{found:!1}}})}function qe(e){return e?new Date(e).toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}):null}function Je({assistantId:e,node:t,onClose:n}){let r=o(Ke(e,t.id)),a=r.data,s=qe(t.updatedAtMs);return(0,z.useEffect)(()=>{let e=e=>{e.key===`Escape`&&n()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[n]),(0,B.jsxs)(`div`,{"data-graph-panel":!0,className:`absolute inset-0 z-20 flex justify-end`,onPointerDown:e=>e.stopPropagation(),onPointerMove:e=>e.stopPropagation(),onPointerUp:e=>e.stopPropagation(),children:[(0,B.jsx)(`div`,{className:`absolute inset-0`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 55%, transparent)`},onClick:n}),(0,B.jsxs)(`aside`,{className:`relative flex h-full min-h-0 w-full max-w-md flex-col overflow-hidden`,style:{backgroundColor:`var(--surface-lift)`,borderLeft:`1px solid var(--border-base)`},children:[(0,B.jsxs)(`header`,{className:`flex shrink-0 items-start justify-between gap-3 border-b px-5 py-4`,style:{borderColor:`var(--border-base)`},children:[(0,B.jsxs)(`div`,{className:`min-w-0`,children:[(0,B.jsx)(`h2`,{className:`truncate text-title-small`,style:{color:`var(--content-default)`},title:a?.title??t.label,children:a?.title??t.label}),s?(0,B.jsxs)(`p`,{className:`mt-0.5 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[`Updated `,s]}):null]}),(0,B.jsx)(i,{variant:`ghost`,iconOnly:(0,B.jsx)(b,{"aria-hidden":!0}),onClick:n,"aria-label":`Close`,tintColor:`var(--content-tertiary)`})]}),(0,B.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-5 py-4`,style:{touchAction:`pan-y`},children:r.isLoading?(0,B.jsx)(`div`,{className:`flex justify-center py-8`,children:(0,B.jsx)(`div`,{className:`h-5 w-5 animate-spin rounded-full border-2`,style:{borderColor:`var(--border-base)`,borderTopColor:`var(--content-tertiary)`}})}):r.isError?(0,B.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Couldn't load this concept. Try again in a moment.`}):a?.found&&a.content?.trim()?(0,B.jsx)(x,{content:a.content}):(0,B.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`This concept doesn't have written content yet — it exists as a link in the graph, but its page is empty.`})})]})]})}var Ye={concept:`#5B8DEF`,skill:`#A665C9`,capability:`#0E9B8B`,other:`#8D99A5`},Xe={concept:`Concept`,skill:`Skill`,capability:`Capability`,other:`Other`},Ze=`#E9A23B`;function Qe({nodeKinds:e,hasLinks:t,hasLearned:n}){return(0,B.jsxs)(`div`,{className:`pointer-events-none absolute bottom-4 left-4 flex flex-col gap-1.5 rounded-lg px-3 py-2`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 78%, transparent)`,border:`1px solid var(--border-base)`},children:[e.map(e=>(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`inline-block h-2.5 w-2.5 rounded-full`,style:{backgroundColor:Ye[e]}}),(0,B.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:Xe[e]})]},e)),e.length>0&&(t||n)&&(0,B.jsx)(`div`,{className:`mt-0.5 border-t pt-1.5`,style:{borderColor:`var(--border-base)`}}),t&&(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`inline-block h-0 w-4`,style:{borderTop:`2px solid var(--content-tertiary)`}}),(0,B.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:`Link`})]}),n&&(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`inline-block h-0 w-4`,style:{borderTop:`2px dashed #E9A23B`}}),(0,B.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:`Learned`})]})]})}var $e=[`concept`,`skill`,`capability`,`other`],et=.13,tt=2600,nt=.006,rt=1.15,it=3,at=.32,ot=.45,st=3,ct=4;function lt(e){let t=getComputedStyle(e);return{content:t.getPropertyValue(`--content-default`).trim()||`#e5e7eb`,tertiary:t.getPropertyValue(`--content-tertiary`).trim()||`#8792a0`}}function Z({title:e,detail:t}){return(0,B.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-2 px-6 text-center`,children:[(0,B.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),t?(0,B.jsx)(`p`,{className:`max-w-sm text-body-small-default`,style:{color:`var(--content-tertiary)`},children:t}):null]})}function ut({assistantId:e,className:t,isFullscreen:n,onToggleFullscreen:r}){let a=(0,z.useRef)(null),s=(0,z.useRef)(null),c=o(Fe(e)),l=c.data?.kind===`ready`?c.data.graph:null,u=(0,z.useMemo)(()=>l?We(l):{nodes:[],edges:[]},[l]),d=c.data?.kind===`ready`&&u.nodes.length>0,f=(0,z.useMemo)(()=>{let e=new Map,t=(t,n)=>{let r=e.get(t);r||(r=new Set,e.set(t,r)),r.add(n)};for(let e of u.edges)t(e.fromId,e.toId),t(e.toId,e.fromId);return e},[u.edges]),p=(0,z.useMemo)(()=>{if(u.nodes.length===0)return 1;let e=u.nodes.map(e=>{let t=e.x-Y.x,n=e.y-Y.y;return Math.sqrt(t*t+n*n+e.z*e.z)+e.radius}).sort((e,t)=>e-t),t=Math.min(e.length-1,Math.floor(e.length*.92));return Math.max(1,e[t])},[u.nodes]),m=(0,z.useRef)({yaw:.5,pitch:.32,zoom:1,hoveredId:null,dragging:!1,moved:!1,lastX:0,lastY:0,lastInteractAt:-1/0,dirty:!0}),_=(0,z.useRef)([]),v=(0,z.useRef)({content:`#e5e7eb`,tertiary:`#8792a0`}),[y,b]=(0,z.useState)(null),[x,S]=(0,z.useState)(null),C=(0,z.useCallback)(e=>{if(!e)return null;let t=u.nodes.find(t=>t.id===e);return t?t.summary?`${t.label} — ${t.summary}`:t.label:null},[u.nodes]),w=(0,z.useCallback)(()=>{let e=m.current;e.yaw=.5,e.pitch=.32,e.zoom=1,e.lastInteractAt=-1/0,e.dirty=!0,b(null)},[]),T=(0,z.useCallback)(e=>{let t=m.current;t.zoom=Math.max(ot,Math.min(st,t.zoom*e)),t.lastInteractAt=performance.now(),t.dirty=!0},[]);(0,z.useEffect)(()=>{if(!d)return;let e=s.current,t=a.current;if(!e||!t)return;let n=e.getContext(`2d`);if(!n)return;let r=u.nodes,i=u.edges,o=f,c=p,l=window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;v.current=lt(t);let h=Math.min(window.devicePixelRatio||1,2),g=0,y=0,b=()=>{let n=t.getBoundingClientRect();g=n.width,y=n.height,h=Math.min(window.devicePixelRatio||1,2),e.width=Math.max(1,Math.round(g*h)),e.height=Math.max(1,Math.round(y*h)),e.style.width=`${g}px`,e.style.height=`${y}px`,v.current=lt(t),m.current.dirty=!0};b();let x=new ResizeObserver(b);x.observe(t);let S=0,C=0,w=e=>{let t=C?Math.min(.05,(e-C)/1e3):0;C=e;let a=m.current,s=v.current;if(!a.dragging&&e-a.lastInteractAt>tt&&!l&&(a.yaw+=et*t),l&&!a.dirty){S=requestAnimationFrame(w);return}a.dirty=!1;let u=Math.cos(a.yaw),d=Math.sin(a.yaw),f=Math.cos(a.pitch),p=Math.sin(a.pitch),b=it*c,x=Math.min(g,y)*.88/(2*c)*a.zoom,T=g/2,E=y/2;n.setTransform(h,0,0,h,0,0),n.clearRect(0,0,g,y);let D=a.hoveredId,O=D?o.get(D):void 0,k=e=>!D||e===D||(O?.has(e)??!1),A=Array(r.length);for(let e=0;e<r.length;e++){let t=r[e],n=t.x-Y.x,i=t.y-Y.y,a=t.z,o=n*u+a*d,s=-n*d+a*u,l=i*f-s*p,m=i*p+s*f,h=b/(b-m);A[e]={node:t,sx:T+o*x*h,sy:E+l*x*h,sr:Math.max(1.2,t.radius*x*h),depth:Math.max(0,Math.min(1,(m+c)/(2*c)))}}let j=A.map((e,t)=>t).sort((e,t)=>A[e].depth-A[t].depth),M=new Map;for(let e of A)M.set(e.node.id,e);n.lineCap=`round`;for(let e of i){let t=M.get(e.fromId),r=M.get(e.toId);if(!t||!r)continue;let i=e.kind===`learned`,a=D!=null&&(e.fromId===D||e.toId===D),o=(t.depth+r.depth)/2,c=(i?.34:.28)*(.4+.6*o);D!=null&&(c=a?.9:k(e.fromId)&&k(e.toId)?c:.05),n.globalAlpha=c,n.strokeStyle=i?Ze:s.tertiary,n.lineWidth=(a?2:1)*(.6+.6*o),n.setLineDash(i?[4,4]:[]),n.beginPath(),n.moveTo(t.sx,t.sy),n.lineTo(r.sx,r.sy),n.stroke()}n.setLineDash([]);for(let e of j){let t=A[e],r=t.node,i=Ye[r.kind],a=k(r.id),o=r.id===D,s=at+(1-at)*t.depth,c=a?s:s*.18,l=(o?16:r.degree>=ct?8:4)*t.depth;n.shadowColor=i,n.shadowBlur=a?l:0,n.globalAlpha=c*.55,n.fillStyle=i,n.beginPath(),n.arc(t.sx,t.sy,t.sr,0,Math.PI*2),n.fill(),n.shadowBlur=0,n.globalAlpha=c,n.lineWidth=o?2.5:1.4,n.strokeStyle=i,n.stroke()}n.shadowBlur=0,n.textAlign=`center`,n.textBaseline=`top`,n.font=`11px ui-sans-serif, system-ui, sans-serif`;for(let e of j){let t=A[e],r=t.node;if(!(D==null?r.degree>=ct&&t.depth>.55:k(r.id)))continue;n.globalAlpha=(r.id===D?1:.85)*(.4+.6*t.depth),n.fillStyle=s.content;let i=r.label.length>22?`${r.label.slice(0,21)}…`:r.label;n.fillText(i,t.sx,t.sy+t.sr+3)}n.globalAlpha=1,_.current=A.map(e=>({id:e.node.id,sx:e.sx,sy:e.sy,sr:e.sr,depth:e.depth})),S=requestAnimationFrame(w)};return S=requestAnimationFrame(w),()=>{cancelAnimationFrame(S),x.disconnect()}},[d,u,f,p]);let E=(0,z.useCallback)((e,t)=>{let n=null,r=-1;for(let i of _.current){let a=e-i.sx,o=t-i.sy;a*a+o*o<=(i.sr+5)*(i.sr+5)&&i.depth>r&&(n=i.id,r=i.depth)}return n},[]),D=e=>{let t=a.current.getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}},O=(0,z.useCallback)(e=>{if(e.button!==0||e.target.closest(`[data-graph-control]`))return;let t=m.current;t.dragging=!0,t.moved=!1,t.lastX=e.clientX,t.lastY=e.clientY,t.lastInteractAt=performance.now(),e.currentTarget.setPointerCapture(e.pointerId)},[]),k=(0,z.useCallback)(e=>{let t=m.current;if(t.dragging){let n=e.clientX-t.lastX,r=e.clientY-t.lastY;(Math.abs(n)>2||Math.abs(r)>2)&&(t.moved=!0),t.yaw+=n*nt,t.pitch=Math.max(-rt,Math.min(rt,t.pitch+r*nt)),t.lastX=e.clientX,t.lastY=e.clientY,t.lastInteractAt=performance.now(),t.dirty=!0;return}let{x:n,y:r}=D(e),i=E(n,r);i!==t.hoveredId&&(t.hoveredId=i,t.dirty=!0,b(C(i)))},[E,C]),A=(0,z.useCallback)(e=>{let t=m.current;if(!t.dragging)return;t.dragging=!1,t.lastInteractAt=performance.now(),t.dirty=!0;let n=e.currentTarget;if(n.hasPointerCapture(e.pointerId)&&n.releasePointerCapture(e.pointerId),!t.moved){let{x:t,y:n}=D(e),r=E(t,n);if(r){let e=u.nodes.find(e=>e.id===r);e&&S({id:e.id,label:e.label,updatedAtMs:e.updatedAtMs})}else b(null)}},[E,u.nodes]),j=(0,z.useCallback)(()=>{let e=m.current;e.dragging||e.hoveredId==null||(e.hoveredId=null,e.dirty=!0,b(null))},[]);(0,z.useEffect)(()=>{let e=a.current;if(!e||!d)return;let t=e=>{if(e.target.closest?.(`[data-graph-panel]`))return;e.preventDefault();let t=m.current;t.zoom=Math.max(ot,Math.min(st,t.zoom*(1-e.deltaY/500))),t.lastInteractAt=performance.now(),t.dirty=!0};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[d]);let M=(0,z.useMemo)(()=>{let e=new Set(u.nodes.map(e=>e.kind));return $e.filter(t=>e.has(t))},[u.nodes]),N=(0,z.useMemo)(()=>u.edges.some(e=>e.kind===`learned`),[u.edges]),P=(0,z.useMemo)(()=>u.edges.some(e=>e.kind!==`learned`),[u.edges]),F;return F=c.isLoading?(0,B.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,B.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2`,style:{borderColor:`var(--border-base)`,borderTopColor:`var(--content-tertiary)`}})}):c.isError?(0,B.jsx)(Z,{title:`Couldn't load the memory graph`,detail:`Something went wrong fetching your assistant's memory. Try again in a moment.`}):c.data?.kind===`unsupported`?(0,B.jsx)(Z,{title:`Memory graph isn't available`,detail:`The active memory backend doesn't expose a concept graph.`}):d?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`canvas`,{ref:s,className:`absolute inset-0 h-full w-full`}),(0,B.jsx)(Qe,{nodeKinds:M.length>1?M:[],hasLinks:P,hasLearned:N}),y?(0,B.jsx)(`div`,{className:`pointer-events-none absolute left-1/2 top-4 max-w-[80%] -translate-x-1/2 truncate rounded-full px-3 py-1 text-[12px]`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 82%, transparent)`,border:`1px solid var(--border-base)`,color:`var(--content-default)`},children:y}):null,(0,B.jsx)(`div`,{className:`pointer-events-none absolute bottom-4 right-4 text-[11px]`,style:{color:`var(--content-tertiary)`},children:`drag to rotate · scroll to zoom`}),(0,B.jsxs)(`div`,{"data-graph-control":!0,className:`absolute right-4 top-4 flex flex-col gap-1`,children:[(0,B.jsx)(i,{variant:`ghost`,iconOnly:(0,B.jsx)(L,{}),onClick:()=>T(1.25),"aria-label":`Zoom in`,tooltip:`Zoom in`}),(0,B.jsx)(i,{variant:`ghost`,iconOnly:(0,B.jsx)(oe,{}),onClick:()=>T(.8),"aria-label":`Zoom out`,tooltip:`Zoom out`}),(0,B.jsx)(i,{variant:`ghost`,iconOnly:(0,B.jsx)(ee,{}),onClick:w,"aria-label":`Reset view`,tooltip:`Reset view`})]})]}):(0,B.jsx)(Z,{title:`No concepts yet`,detail:`As your assistant learns and links ideas, they'll appear here as a living map of its memory.`}),(0,B.jsxs)(`div`,{ref:a,className:`relative select-none overflow-hidden rounded-xl ${t??``}`,style:{backgroundColor:`var(--surface-base)`,backgroundImage:`radial-gradient(circle at center, color-mix(in srgb, var(--content-tertiary) 8%, transparent), transparent 62%)`,touchAction:`none`,cursor:d?`grab`:`default`},onPointerDown:d?O:void 0,onPointerMove:d?k:void 0,onPointerUp:d?A:void 0,onPointerCancel:d?A:void 0,onPointerLeave:d?j:void 0,children:[r?(0,B.jsx)(`div`,{className:`absolute left-4 top-4 z-10`,"data-graph-control":!0,children:(0,B.jsx)(i,{variant:`ghost`,iconOnly:n?(0,B.jsx)(g,{}):(0,B.jsx)(h,{}),onClick:r,"aria-label":n?`Exit fullscreen`:`Enter fullscreen`,tooltip:n?`Exit fullscreen`:`Enter fullscreen`})}):null,F,d&&x?(0,B.jsx)(Je,{assistantId:e,node:x,onClose:()=>S(null)}):null]})}function dt({edges:e,nodeById:t,visible:n}){return(0,B.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}=Ce(r,i);return(0,B.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,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`flex h-4 w-4 items-center justify-center`,children:(0,B.jsx)(`span`,{className:N(`inline-block h-3 w-3 border-[1.5px] border-[var(--content-tertiary)]`,Ne[e])})}),(0,B.jsx)(`span`,{children:t})]})}function ft({visible:e}){return(0,B.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,B.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,B.jsx)(Q,{shape:`category`,label:`Category`}),(0,B.jsx)(Q,{shape:`subcategory`,label:`Subcategory`}),(0,B.jsx)(Q,{shape:`skill`,label:`Skill`}),(0,B.jsx)(Q,{shape:`workspace`,label:`Workspace`})]})})}function pt({item:e,color:t,onViewDetails:n}){let r=e.kind===`skill`?`Skill`:`Workspace`,a=e.kind===`skill`?ue:m;return(0,B.jsxs)(l,{padding:`sm`,elevated:!0,className:`w-[260px] shadow-[var(--shadow-popover)]`,role:`dialog`,"aria-label":`${e.label} details`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,B.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,B.jsx)(a,{className:`h-3 w-3`,style:{color:t}}),r]}),n?(0,B.jsx)(i,{type:`button`,variant:`ghost`,size:`compact`,onClick:n,children:`View Details`}):null]}),(0,B.jsxs)(`div`,{className:`mt-2 flex items-start gap-2`,children:[e.icon||e.emoji?(0,B.jsx)(R,{skill:e,className:`h-5 w-5 shrink-0 text-[20px] leading-none`}):null,(0,B.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,B.jsx)(`div`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.label}),e.description?(0,B.jsx)(`div`,{className:`mt-1 line-clamp-3 text-body-small-default text-[var(--content-secondary)]`,children:e.description}):null]})]})]})}function mt({onSingleClick:e,onDoubleClick:t,latency:n=200}){let r=(0,z.useRef)(null);return(0,z.useEffect)(()=>()=>{r.current&&clearTimeout(r.current)},[]),(0,z.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 ht(e,t,n){let[r,i]=(0,z.useState)(!1),a=r||n===!0,o=mt({onSingleClick:e,onDoubleClick:t});return{active:a,onClick:(0,z.useCallback)(n=>{!e&&!t||(n.stopPropagation(),o(n))},[e,t,o]),onPointerDown:(0,z.useCallback)(n=>{!e&&!t||n.stopPropagation()},[e,t]),onMouseEnter:(0,z.useCallback)(()=>i(!0),[]),onMouseLeave:(0,z.useCallback)(()=>i(!1),[])}}function $(e,t){return`color-mix(in oklab, ${e} ${Math.max(0,Math.min(100,t))}%, var(--surface-base))`}function gt(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 _t(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 vt(e){switch(e.kind.type){case`skill`:return e.kind.item;case`category`:{let t=U(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 yt({variant:e,x:t,y:n,color:r,tooltip:i,visibility:a,delay:o,children:s,isSelected:c,onSingleClick:l,onDoubleClick:u}){let d=Me[e],{active:f,...p}=ht(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,B.jsx)(P.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:{...X,delay:o},onMouseEnter:p.onMouseEnter,onMouseLeave:p.onMouseLeave,onPointerDown:p.onPointerDown,onClick:p.onClick,title:i,children:s})}function bt({x:e,y:t,item:n,color:r,fallbackEmoji:i,visibility:a,delay:o,isSelected:s,onSingleClick:c,onDoubleClick:l}){let{active:u,...d}=ht(c,l,s);return(0,B.jsxs)(P.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:{...X,delay:o},onMouseEnter:d.onMouseEnter,onMouseLeave:d.onMouseLeave,onPointerDown:d.onPointerDown,onClick:d.onClick,title:n.label,children:[(0,B.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,B.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center`,children:[(0,B.jsx)(R,{skill:n,className:`h-4 w-4 text-[16px] leading-none`,fallback:i}),(0,B.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 xt({node:e,index:t,phase:n,components:r,traits:i,customImageUrl:a,isSelected:o,onSingleClick:s,onDoubleClick:c}){let l=gt(e,n),u=_t(e,t);if(e.kind.type===`center`)return(0,B.jsx)(P.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:{...X,delay:u},children:(0,B.jsx)(I,{components:r,traits:i,customImageUrl:a,size:90})});if(e.kind.type===`category`||e.kind.type===`subCategory`){let t=U(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,B.jsxs)(yt,{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,B.jsx)(`span`,{className:`${a} leading-none`,"aria-hidden":!0,children:r}),(0,B.jsx)(`span`,{className:d,title:i,children:i})]})}if(e.kind.type===`skill`){let t=e.kind.item,n=U(t.category);return(0,B.jsx)(bt,{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 St(e,t,n,r){let[i,a]=(0,z.useState)({width:0,height:0}),[o,s]=(0,z.useState)(null),[c,l]=(0,z.useState)(null),[u,d]=(0,z.useState)(!1),[f,p]=(0,z.useState)(null),[m,h]=(0,z.useState)(!1),g=(0,z.useRef)(null),_=(0,z.useRef)(null);(0,z.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,z.useMemo)(()=>ke(t,Y,i.width,i.height),[t,i.width,i.height]),y=o??v.zoom,b=c??{x:v.panX,y:v.panY},x=(0,z.useCallback)(()=>{h(!0),g.current!=null&&window.clearTimeout(g.current),g.current=window.setTimeout(()=>{h(!1),g.current=null},500)},[]);(0,z.useEffect)(()=>()=>{g.current!=null&&window.clearTimeout(g.current)},[]);let S=(0,z.useCallback)(()=>{s(null),l(null),p(null),x()},[x]),C=(0,z.useCallback)((e,t)=>{let n=Math.max(Ae,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,z.useCallback)(()=>{C(y+je,{animate:!0})},[C,y]),T=(0,z.useCallback)(()=>{C(y-je,{animate:!0})},[C,y]),E=(0,z.useCallback)(e=>{if(f===e){S();return}let t=n.get(e);if(!t)return;let r=1.8;s(r),l({x:(Y.x-t.x)*r,y:(Y.y-t.y)*r}),p(e),x()},[S,n,x,f]);return(0,z.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,z.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,z.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,z.useCallback)(e=>{let t=_.current;if(!(!t||t.pointerId!==e.pointerId)){_.current=null,d(!1);try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}}},[])}}function Ct({skills:e,components:t,traits:n,customImageUrl:r,className:a,isFullscreen:o,onToggleFullscreen:s,onSelectSkill:c}){let l=(0,z.useRef)(null),u=(0,z.useRef)(null),[d,f]=(0,z.useState)(0),[p,m]=(0,z.useState)(null),[_,v]=(0,z.useState)({width:240,height:120}),{nodes:y,edges:b}=(0,z.useMemo)(()=>De(Y,Oe(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,z.useMemo)(()=>{let e=new Map;for(let t of y)e.set(t.id,t);return e},[y]),S=(0,z.useMemo)(()=>{if(p==null)return null;let e=x.get(p);return e?vt(e)??null:null},[p,x]),C=(0,z.useCallback)(()=>{m(null)},[]),w=St(l,y,x,C),T=e.length;(0,z.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,z.useCallback)(e=>{m(t=>t===e?null:e)},[]),D=(0,z.useCallback)(()=>{!S||S.kind!==`skill`||(C(),c?.(S.id))},[C,c,S]);(0,z.useEffect)(()=>{if(p==null)return;let e=e=>{e.key===`Escape`&&C()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[C,p]),(0,z.useLayoutEffect)(()=>{if(S==null)return;let e=u.current;if(!e)return;let t=e.getBoundingClientRect();v({width:t.width,height:t.height})},[S]);let O={x:w.viewSize.width/2,y:w.viewSize.height/2},k=O.x-Y.x*w.zoom+w.pan.x,A=O.y-Y.y*w.zoom+w.pan.y,j=p==null?void 0:x.get(p),M=0,N=0;if(S!=null&&j){let e=k+j.x*w.zoom,t=A+j.y*w.zoom,n=e,r=t-60,i=_.width/2,a=_.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),N=Math.min(Math.max(r,c),l)}let I=(0,z.useCallback)(e=>{C(),w.zoomToNode(e)},[C,w]);return(0,B.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,B.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,B.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,B.jsx)(dt,{edges:b,nodeById:x,visible:d>=2}),y.map((e,i)=>(0,B.jsx)(xt,{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:()=>I(e.id)},e.id))]}),s&&(0,B.jsx)(`div`,{className:`absolute left-4 top-4`,"data-constellation-control":!0,children:(0,B.jsx)(i,{variant:`ghost`,iconOnly:o?(0,B.jsx)(g,{}):(0,B.jsx)(h,{}),onClick:s,"aria-label":o?`Exit fullscreen`:`Enter fullscreen`,tooltip:o?`Exit fullscreen`:`Enter fullscreen`})}),(0,B.jsx)(ft,{visible:d>=4}),(0,B.jsx)(F,{children:S==null?null:(0,B.jsx)(P.div,{ref:u,className:`pointer-events-auto absolute z-20`,"data-constellation-popover":!0,style:{left:M,top:N,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,B.jsx)(pt,{item:S,color:U(S.category).color,onViewDetails:c&&S.kind===`skill`?D:void 0})},`constellation-popover`)}),(0,B.jsxs)(`div`,{"data-constellation-control":!0,className:`absolute bottom-4 right-4 flex items-center gap-1`,children:[(0,B.jsx)(i,{variant:`ghost`,iconOnly:(0,B.jsx)(L,{}),onClick:w.zoomIn,"aria-label":`Zoom in`,tooltip:`Zoom in`}),(0,B.jsx)(i,{variant:`ghost`,iconOnly:(0,B.jsx)(oe,{}),onClick:w.zoomOut,"aria-label":`Zoom out`,tooltip:`Zoom out`}),(0,B.jsx)(i,{variant:`ghost`,iconOnly:(0,B.jsx)(ae,{}),onClick:w.fitAll,"aria-label":`Fit all`,tooltip:`Fit all`})]})]})}function wt({assistantName:e,assistantPersonality:t,assistantRole:n,hatchedDate:r,components:a,traits:o,customImageUrl:s,onOpenThread:c,onOpenModal:l}){return(0,B.jsxs)(`div`,{className:`w-full overflow-hidden rounded-xl`,style:{backgroundColor:`var(--surface-lift)`},children:[(0,B.jsxs)(`div`,{className:`relative p-6 pb-0`,children:[(0,B.jsx)(`div`,{className:`pr-8 text-center`,children:(0,B.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:e})}),(0,B.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,B.jsx)(_,{"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,B.jsx)(`div`,{className:`flex justify-center py-6`,children:(0,B.jsx)(I,{components:a,traits:o,customImageUrl:s,size:200,interactive:!0})}),(0,B.jsx)(`div`,{className:`flex justify-center pb-6`,children:(0,B.jsx)(i,{type:`button`,variant:`outlined`,size:`regular`,onClick:l,className:`!rounded-full`,children:`Update Avatar`})}),(0,B.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,B.jsxs)(`div`,{className:`flex items-center justify-between border-b px-4 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Role`}),(0,B.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:n})]}),(0,B.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,B.jsx)(_,{"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,B.jsxs)(`div`,{className:`flex items-center justify-between border-b px-4 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,B.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,B.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Personality`}),(0,B.jsx)(`p`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-default)`},title:t||`Not set`,children:t||`Not set`})]}),(0,B.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,B.jsx)(_,{"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,B.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,B.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Hatched`}),(0,B.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:r})]})]})}function Tt({assistantId:e,onOpenThread:n}){let{components:r,traits:i,customImageUrl:a,isLoading:s,invalidate:c}=te(e),[l,u]=(0,z.useState)(null),[d,p]=(0,z.useState)(null),[m,h]=(0,z.useState)(null),[g,_]=(0,z.useState)(!1),[v,y]=(0,z.useState)(!1),b=o(Fe(e)),x=b.data?.kind===`unsupported`||b.isError,S=o({...w({path:{assistant_id:e},query:{kind:`installed`}}),select:e=>e.skills,enabled:!!e});(0,z.useEffect)(()=>{let n=!1;return Promise.all([f(e),O(e).catch(()=>({ok:!1,status:0,error:{}}))]).then(([t,r])=>{n||(u(t),r.ok?p(r.data.created):p(null),h(e))}).catch(e=>{n||t(e,{context:`identity_tab_load`})}),()=>{n=!0}},[e]);let C=m!==e||s,T=(0,z.useCallback)(()=>{c()},[c]),E=(0,z.useCallback)(()=>{_(!0)},[]),D=(0,z.useCallback)(()=>{_(!1)},[]),k=(0,z.useCallback)(()=>{n?.(`I'd like to create a custom AI-generated avatar.`)},[n]);if(C)return(0,B.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,B.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2`,style:{borderColor:`var(--border-base)`,borderTopColor:`var(--content-tertiary)`}})});let A=l?.name||`Assistant`,j=l?.personality||``,M=l?.role||`Not set`,N=d?new Date(d).toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}):`Unknown`;return(0,B.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-6 lg:flex-row lg:items-stretch`,children:[(0,B.jsx)(`div`,{className:`mx-auto w-full max-w-md lg:mx-0 lg:h-full lg:shrink-0 lg:overflow-y-auto ${v?`hidden`:`flex`}`,children:(0,B.jsx)(wt,{assistantName:A,assistantPersonality:j,assistantRole:M,hatchedDate:N,components:r,traits:i,customImageUrl:a,onOpenThread:n,onOpenModal:E})}),(0,B.jsx)(`div`,{className:`min-h-[480px] min-w-0 flex-1 lg:min-h-0`,children:x?(0,B.jsx)(Ct,{skills:S.data??[],components:r,traits:i,customImageUrl:a,className:`h-full w-full`,isFullscreen:v,onToggleFullscreen:()=>y(e=>!e)}):(0,B.jsx)(ut,{assistantId:e,className:`h-full w-full`,isFullscreen:v,onToggleFullscreen:()=>y(e=>!e)})}),(0,B.jsx)(me,{open:g,onClose:D,assistantId:e,components:r,traits:i,customImageUrl:a,onSaveCharacter:T,onUploadImage:T,onGenerateWithAI:n?k:void 0})]})}function Et({onOpenThread:e}){return(0,B.jsx)(Tt,{assistantId:de(),onOpenThread:e})}function Dt(){let e=a();return(0,B.jsx)(Et,{onOpenThread:t=>{j.getState().setMainView(`chat`);let n=M();A.getState().setActiveConversationId(n),e(`${k.conversation(n)}?prompt=${encodeURIComponent(t)}`)}},de())}export{Dt as IdentityPageRoute};