@vellumai/web 0.11.8 → 0.11.9-staging.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/dist/assets/{a2a-invite-BYzf4KyN.js → a2a-invite-BmopEUuc.js} +1 -1
  2. package/dist/assets/{about-page-DCE6bsuH.js → about-page-jeGmoRA9.js} +1 -1
  3. package/dist/assets/{account-page-DSLbw3rc.js → account-page-JdskrJ78.js} +1 -1
  4. package/dist/assets/{account-shell-MfKTYVoK.js → account-shell-pvaSOGcE.js} +1 -1
  5. package/dist/assets/{acp-run-detail-panel-BUZ26ylU.js → acp-run-detail-panel-By-l4zoq.js} +4 -4
  6. package/dist/assets/{activity-redirect-page-vslVjk3S.js → activity-redirect-page-BFBKktry.js} +1 -1
  7. package/dist/assets/activity-steps-panel-cif0uZ12.js +1 -0
  8. package/dist/assets/{add-credits-modal-BziEjdPN.js → add-credits-modal-NBoCa1j3.js} +1 -1
  9. package/dist/assets/ai-page-CS3Z6MrX.js +1 -0
  10. package/dist/assets/{android-billing-handoff-Cxt7SKC_.js → android-billing-handoff-B8rC7eeV.js} +1 -1
  11. package/dist/assets/{api-key-screen-3e9WtHcK.js → api-key-screen-C2s4sMm1.js} +1 -1
  12. package/dist/assets/{app-info-DNjQXs5I.js → app-info-WxnSkFp1.js} +1 -1
  13. package/dist/assets/archive-redirect-page-B5G-WDp0.js +1 -0
  14. package/dist/assets/{assistant-status-panel-C7-o9q_p.js → assistant-status-panel-qlWNpUbQ.js} +1 -1
  15. package/dist/assets/{auth-welcome-screen-CFFSCc30.js → auth-welcome-screen-D20mVl5R.js} +1 -1
  16. package/dist/assets/{avatar-bundled-components-mJ34HJOf.js → avatar-bundled-components-Bdw589VI.js} +1 -1
  17. package/dist/assets/avatar-random-B3jE15Y7.js +2 -0
  18. package/dist/assets/{await-org-header-settled-BAXlQHUT.js → await-org-header-settled-DcAqEzY1.js} +1 -1
  19. package/dist/assets/background-task-detail-panel-CXD0nKQP.js +1 -0
  20. package/dist/assets/billing-page-DjpHOzD6.js +3 -0
  21. package/dist/assets/{billing-redirect-page-BzO25uSX.js → billing-redirect-page-Ca7pWbvL.js} +1 -1
  22. package/dist/assets/{bookmarks-page-MH6FpZqt.js → bookmarks-page-B4Bj_NZ1.js} +1 -1
  23. package/dist/assets/{bundle-confirm-page-vTPQI_rg.js → bundle-confirm-page-CjvXenWx.js} +1 -1
  24. package/dist/assets/channel-transcript-panel-Bupj5L4O.js +1 -0
  25. package/dist/assets/channels-page-route-CSFzQtEJ.js +1 -0
  26. package/dist/assets/chat-B5LUkQr-.js +3 -0
  27. package/dist/assets/chat-DKopVRR2.js +3 -0
  28. package/dist/assets/chat-DauhKo4q.js +3 -0
  29. package/dist/assets/chat-DjW2SsdA.js +3 -0
  30. package/dist/assets/checkout-continuation-BBasTGr1.js +1 -0
  31. package/dist/assets/{checkout-page-Dxhrf8WC.js → checkout-page-QfqxmVX3.js} +1 -1
  32. package/dist/assets/checkout-return-target-DRW4Fb93.js +1 -0
  33. package/dist/assets/{command-palette-y8b83TRb.js → command-palette-CsWImGc1.js} +1 -1
  34. package/dist/assets/{command-palette-window-page-Bx6luQnS.js → command-palette-window-page-Dm2bWRPF.js} +1 -1
  35. package/dist/assets/common-BaLTRjuW.js +1 -0
  36. package/dist/assets/common-CIgjiN_X.js +1 -0
  37. package/dist/assets/common-CfdgqwlK.js +1 -0
  38. package/dist/assets/common-DWDrUHrr.js +1 -0
  39. package/dist/assets/{community-page-B5FTo-9n.js → community-page-DG_go-bx.js} +1 -1
  40. package/dist/assets/companion-accent-Dhs0VHm8.js +1 -0
  41. package/dist/assets/companion-layout-CU_fQwBX.js +1 -0
  42. package/dist/assets/companion-surface-page-CUmDLt1d.js +1 -0
  43. package/dist/assets/companion-watch-glow-page-DPah9dl8.js +1 -0
  44. package/dist/assets/{connect-page-C14eXKZi.js → connect-page-BAugVlOG.js} +1 -1
  45. package/dist/assets/{consent-controls-CK7jmqvZ.js → consent-controls-BBOL1pVX.js} +1 -1
  46. package/dist/assets/contacts-gateway-_5gWCO5M.js +1 -0
  47. package/dist/assets/contacts-page-route-cNZg-y2G.js +1 -0
  48. package/dist/assets/{credential-entry-page-C8ZwdTH5.js → credential-entry-page-CG0pMgbA.js} +1 -1
  49. package/dist/assets/credentials-page-D8hdCncX.js +1 -0
  50. package/dist/assets/{csv-preview-DIg--D_2.js → csv-preview-BZResk4J.js} +2 -2
  51. package/dist/assets/danger-zone-redirect-page-CwAiH6Ly.js +1 -0
  52. package/dist/assets/debug-page-DuHowSZO.js +4 -0
  53. package/dist/assets/deploy-dialogs-CXykRB7L.js +1 -0
  54. package/dist/assets/{detail-card-CX2K67l2.js → detail-card-sxGt13nZ.js} +1 -1
  55. package/dist/assets/{detail-panel-stop-button-kLMJ2Viy.js → detail-panel-stop-button-BhBUIYrN.js} +1 -1
  56. package/dist/assets/developer-page-Xok7vdls.js +1 -0
  57. package/dist/assets/devices-redirect-page-Bn8l0NbB.js +1 -0
  58. package/dist/assets/{dictation-overlay-page-BQS1adyT.js → dictation-overlay-page-faR6ZD05.js} +1 -1
  59. package/dist/assets/{document-viewer-page-Bav6yeos.js → document-viewer-page-CICQK2iT.js} +1 -1
  60. package/dist/assets/{emails-page-DJI6ZKwy.js → emails-page-ChkgqqfV.js} +1 -1
  61. package/dist/assets/environment-store-DbxWXxoY.js +1 -0
  62. package/dist/assets/{esm-DC5BUUBD.js → esm-9GlE7QEb.js} +1 -1
  63. package/dist/assets/esm-Bc_p4mGl.js +2 -0
  64. package/dist/assets/{esm-BM5LKkMa.js → esm-BnLOdtQF.js} +2 -2
  65. package/dist/assets/esm-DXv8spQX.js +2 -0
  66. package/dist/assets/esm-Dj_10lrG.js +2 -0
  67. package/dist/assets/esm-fvefH7qR.js +2 -0
  68. package/dist/assets/esm-g2nSj77Q.js +1 -0
  69. package/dist/assets/esm-s8mOXYZq.js +2 -0
  70. package/dist/assets/{esm-D3dJNih2.js → esm-wSX7zPkb.js} +1 -1
  71. package/dist/assets/{file-editor-B49NsT67.js → file-editor-BcG_sR-r.js} +1 -1
  72. package/dist/assets/general-page-BbkJBzvT.js +2 -0
  73. package/dist/assets/hatching-screen-jX7krI2v.js +1 -0
  74. package/dist/assets/{home-PzY1FOze.js → home-BZLbEHYs.js} +1 -1
  75. package/dist/assets/{home-Cmup1p0w.js → home-DfHo2fns.js} +1 -1
  76. package/dist/assets/{hosting-screen-CP9FFbmC.js → hosting-screen-BsNV_ReB.js} +1 -1
  77. package/dist/assets/identity-page-route-aHYnV_jN.js +7 -0
  78. package/dist/assets/index-BUt2OH6r.css +2 -0
  79. package/dist/assets/index-b_IQShc9.js +373 -0
  80. package/dist/assets/inspect-page-HI841yUu.js +9 -0
  81. package/dist/assets/integrations-page-BmMDMgFU.js +1 -0
  82. package/dist/assets/intelligence-Cqge4nRY.js +5 -0
  83. package/dist/assets/intelligence-DQxF5oK_.js +5 -0
  84. package/dist/assets/{intelligence-layout-CKzpp_sh.js → intelligence-layout-CLPUS0ap.js} +1 -1
  85. package/dist/assets/keyboard-shortcuts-redirect-page-DDGnWlyz.js +1 -0
  86. package/dist/assets/{latest-assistant-text-BV1WknuL.js → latest-assistant-text-DAXhdhSY.js} +2 -2
  87. package/dist/assets/{library-detail-page-DUJMh8Gk.js → library-detail-page-43KAFuJi.js} +1 -1
  88. package/dist/assets/{library-page-BeLNwDhA.js → library-page-CDLs7xOE.js} +1 -1
  89. package/dist/assets/login-page-GVnmapVt.js +1 -0
  90. package/dist/assets/logout-page-Bz-a8xjH.js +1 -0
  91. package/dist/assets/{logs-layout-B4lkGOvm.js → logs-layout-_NfJqBwz.js} +1 -1
  92. package/dist/assets/{markdown-preview-Dl6J0lTe.js → markdown-preview-c_WsdpT0.js} +1 -1
  93. package/dist/assets/{media-preview-XLzH1Jln.js → media-preview-D7AavJf-.js} +1 -1
  94. package/dist/assets/memory-page-route-Csfkb0fE.js +2 -0
  95. package/dist/assets/memory-router-playground-page-B_TvYode.js +1 -0
  96. package/dist/assets/{message-files-panel-CjR3o6IK.js → message-files-panel-Q_w3u4r6.js} +1 -1
  97. package/dist/assets/{metric-card-DPmS-cs0.js → metric-card-XbeSP_dF.js} +1 -1
  98. package/dist/assets/{notifications-page-Dgl68D5Q.js → notifications-page-BCo_g_9g.js} +1 -1
  99. package/dist/assets/{oauth-complete-page-BZfiO1DR.js → oauth-complete-page-D0_ddx3s.js} +1 -1
  100. package/dist/assets/{oauth-popup-complete-page-D7EKx-nZ.js → oauth-popup-complete-page-DR-OaEn7.js} +1 -1
  101. package/dist/assets/{page-shell-VG11Winp.js → page-shell-D1-wKbPX.js} +1 -1
  102. package/dist/assets/{pairing-page-Baaie-Fv.js → pairing-page-CFi0G2Xh.js} +1 -1
  103. package/dist/assets/password-reset-page-DdG-gDUR.js +1 -0
  104. package/dist/assets/{pdf-file-preview-BuLEho_A.js → pdf-file-preview-QWR5YVZp.js} +1 -1
  105. package/dist/assets/{personality-page-COKogs9f.js → personality-page-D4oROOvq.js} +1 -1
  106. package/dist/assets/plans-page-BAgmH1pe.js +1 -0
  107. package/dist/assets/{platform-loopback-page-DDeqJzXZ.js → platform-loopback-page-hfwG6N6r.js} +1 -1
  108. package/dist/assets/{plugin-detail-page-Yv9wjMiR.js → plugin-detail-page-JFE-PjTL.js} +1 -1
  109. package/dist/assets/plugins-page-PjMDyM4p.js +1 -0
  110. package/dist/assets/{preview-error-tbKbMtUB.js → preview-error-BLcNtS5K.js} +1 -1
  111. package/dist/assets/privacy-page-BBlgcXb0.js +1 -0
  112. package/dist/assets/privacy-screen-DMC-z5IT.js +1 -0
  113. package/dist/assets/{provider-callback-page-lzNcXalW.js → provider-callback-page-CuAY1_4R.js} +1 -1
  114. package/dist/assets/{provider-key-C_OrE5rU.js → provider-key-CNHs7dwm.js} +1 -1
  115. package/dist/assets/{provider-signup-page-3OOC6J_U.js → provider-signup-page-DjNpFmgq.js} +1 -1
  116. package/dist/assets/{provisioning-targets-CQv-d2hy.js → provisioning-targets-BdvRsGBC.js} +1 -1
  117. package/dist/assets/{quick-input-page-D81sbuNY.js → quick-input-page-CMM22KVb.js} +1 -1
  118. package/dist/assets/{rehype-katex-DsHZTQuO.js → rehype-katex-CtAQb1yA.js} +1 -1
  119. package/dist/assets/{research-mock-page-Brha47mF.js → research-mock-page-ClUeMeQm.js} +1 -1
  120. package/dist/assets/research-onboarding-route-BCNagFK9.js +50 -0
  121. package/dist/assets/review-terms-screen-LYu2oH8u.js +1 -0
  122. package/dist/assets/schedules-jQA-lEXD.js +1 -0
  123. package/dist/assets/schedules-page-y5DMdtSF.js +1 -0
  124. package/dist/assets/security-redirect-page-Cso7bCn1.js +1 -0
  125. package/dist/assets/select-assistant-screen-DTrNJM_L.js +1 -0
  126. package/dist/assets/{self-hosted-servers-zRHIgBU1.js → self-hosted-servers-CE0-6fMf.js} +1 -1
  127. package/dist/assets/{service-form-controls-BAfjON3X.js → service-form-controls-CmKM2qps.js} +1 -1
  128. package/dist/assets/{setting-row-BfNuVRjv.js → setting-row-JfvUWIUE.js} +1 -1
  129. package/dist/assets/settings-BasDV7J4.js +3 -0
  130. package/dist/assets/settings-C-eUApBN.js +3 -0
  131. package/dist/assets/settings-CzPpeQsV.js +3 -0
  132. package/dist/assets/settings-PXJsZxPv.js +3 -0
  133. package/dist/assets/settings-divider-BDaGinDZ.js +1 -0
  134. package/dist/assets/settings-layout-BSPQuLG_.js +1 -0
  135. package/dist/assets/share-feedback-modal-C-9w9Qun.js +2 -0
  136. package/dist/assets/{sidebar-tree-BkiHKP7o.js → sidebar-tree-B_7TxIfc.js} +1 -1
  137. package/dist/assets/{signup-page-NmiHqhIZ.js → signup-page-Up3lhxjE.js} +1 -1
  138. package/dist/assets/{signup-shell-DtV0PHS8.js → signup-shell-Cz7nHsiG.js} +1 -1
  139. package/dist/assets/skill-detail-page-CcD41B-N.js +2 -0
  140. package/dist/assets/skill-detail-panel-COgbn-zN.js +1 -0
  141. package/dist/assets/{skill-removal-dialog-CAIOWDpe.js → skill-removal-dialog-IZ80QFym.js} +1 -1
  142. package/dist/assets/skills-page-9DYmyfOw.js +1 -0
  143. package/dist/assets/{sounds-page-DkE3bs0i.js → sounds-page-DzCV0GMu.js} +1 -1
  144. package/dist/assets/start-screen-De2GtK4A.js +1 -0
  145. package/dist/assets/{stt-language-picker-modal-DpJ4f4s3.js → stt-language-picker-modal-CLsnI2Yz.js} +1 -1
  146. package/dist/assets/subagent-detail-panel-Bx-nrZRA.js +4 -0
  147. package/dist/assets/superpowers-page-BZXp-HPn.js +1 -0
  148. package/dist/assets/{system-events-page-CgQg5VRc.js → system-events-page-CdnLtW07.js} +1 -1
  149. package/dist/assets/system-events-redirect-page-8K7jp-vf.js +1 -0
  150. package/dist/assets/{text-preview-BKt83gQw.js → text-preview-CzBwTE6l.js} +1 -1
  151. package/dist/assets/{theme-stage-page-BTwN6mId.js → theme-stage-page-DFM8cSRo.js} +1 -1
  152. package/dist/assets/{tiptap-document-editor-CypJWYzC.js → tiptap-document-editor-DiMEXCfY.js} +1 -1
  153. package/dist/assets/tool-detail-panel-C-r8dnRp.js +12 -0
  154. package/dist/assets/{trait-cycle-row-WgBkxtMH.js → trait-cycle-row-C2Icx-67.js} +1 -1
  155. package/dist/assets/upgrade-cancel-page-Bi8uWXPd.js +1 -0
  156. package/dist/assets/{upgrade-success-page-Cj3trgQA.js → upgrade-success-page-BkEgh_vv.js} +1 -1
  157. package/dist/assets/usage-redirect-page-kNuqbUkh.js +1 -0
  158. package/dist/assets/{use-assistant-identity-details-DWoXqmfe.js → use-assistant-identity-details-BHiN3OAl.js} +1 -1
  159. package/dist/assets/use-checkout-dismiss-refresh-DOJD5kF-.js +1 -0
  160. package/dist/assets/{use-edge-swipe-back-DXeHlg0c.js → use-edge-swipe-back-BO9Eg7fg.js} +2 -2
  161. package/dist/assets/use-hotkey-recorder-CSRkbNLq.js +1 -0
  162. package/dist/assets/use-invite-link-dialog-D8k7P63J.js +1 -0
  163. package/dist/assets/{use-platform-assistant-id-BuUuoonc.js → use-platform-assistant-id-C6Npjvje.js} +1 -1
  164. package/dist/assets/use-return-to-short-circuit-qAmnQhhd.js +1 -0
  165. package/dist/assets/{use-side-list-room-D9M_m5qC.js → use-side-list-room-wi1Z0sax.js} +1 -1
  166. package/dist/assets/{use-skill-actions-FwOd-DjD.js → use-skill-actions-Cenw6B7x.js} +1 -1
  167. package/dist/assets/{use-skill-detail-files-Bg5YBPGa.js → use-skill-detail-files-BMTlfXyu.js} +1 -1
  168. package/dist/assets/use-supports-credentials-settings-BbVrMmw2.js +1 -0
  169. package/dist/assets/use-transcript-message-by-id-BAc4xz_C.js +1 -0
  170. package/dist/assets/{vendor-kNpRDQWe.js → vendor-CYfJo8gP.js} +4 -4
  171. package/dist/assets/voice-page-Cno795eb.js +1 -0
  172. package/dist/assets/{weather-forecast-display-DpaW7UGo.js → weather-forecast-display-Bq7Ktxyw.js} +1 -1
  173. package/dist/assets/{web-D9pmN_Ii.js → web-C-ABFTPc.js} +1 -1
  174. package/dist/assets/{web-Be02fpV9.js → web-CqzRti7u.js} +1 -1
  175. package/dist/assets/{web-mOIiFuEV.js → web-Cv6R_wBg.js} +1 -1
  176. package/dist/assets/{web-CEMV9s9j.js → web-D7SRWxkm.js} +1 -1
  177. package/dist/assets/{web-BVZ7Tz6e.js → web-Dcf5754u.js} +1 -1
  178. package/dist/assets/{web-zYA24dWM.js → web-Do6k-mca.js} +1 -1
  179. package/dist/assets/{web-D_X6fLKT.js → web-G1wxBMTb.js} +1 -1
  180. package/dist/assets/{web-CgJtsMCO.js → web-RzvDhTQb.js} +1 -1
  181. package/dist/assets/{web-Ds-zK9c0.js → web-rFP8pZDO.js} +1 -1
  182. package/dist/assets/welcome-screen-CipRXBbr.js +1 -0
  183. package/dist/assets/{workflow-detail-panel-D-Vpl4pO.js → workflow-detail-panel-B4pwzq2k.js} +1 -1
  184. package/dist/assets/workspace-page-B_ntO4pT.js +1 -0
  185. package/dist/index.html +31 -4
  186. package/package.json +1 -1
  187. package/dist/assets/activity-steps-panel-C4RW_EiC.js +0 -1
  188. package/dist/assets/ai-page-BEUl28dM.js +0 -1
  189. package/dist/assets/archive-redirect-page-sPphOjtF.js +0 -1
  190. package/dist/assets/avatar-random-DzlZX-FQ.js +0 -1
  191. package/dist/assets/background-task-detail-panel-DvfMElTG.js +0 -1
  192. package/dist/assets/billing-page-B3IRE3bH.js +0 -3
  193. package/dist/assets/channel-transcript-panel-C_p5teh-.js +0 -1
  194. package/dist/assets/channels-page-route-Bli89VsC.js +0 -1
  195. package/dist/assets/chat-Bff_DY7r.js +0 -3
  196. package/dist/assets/chat-C2NjPMmK.js +0 -3
  197. package/dist/assets/chat-CGQw-Yey.js +0 -3
  198. package/dist/assets/chat-EhD_n50p.js +0 -3
  199. package/dist/assets/checkout-continuation-DULKIGS-.js +0 -1
  200. package/dist/assets/checkout-return-target-CvcyjPIY.js +0 -1
  201. package/dist/assets/common-DRZIgWoB.js +0 -1
  202. package/dist/assets/common-H9cWkfJQ.js +0 -1
  203. package/dist/assets/common-Y2Otls2X.js +0 -1
  204. package/dist/assets/common-_9yaf_nY.js +0 -1
  205. package/dist/assets/companion-layout-Cx7KeWAX.js +0 -1
  206. package/dist/assets/companion-surface-page-BKWTzzdT.js +0 -1
  207. package/dist/assets/contacts-gateway-pdH-vJsC.js +0 -1
  208. package/dist/assets/contacts-page-route-lr_QROti.js +0 -1
  209. package/dist/assets/credentials-page-B0R0jUxF.js +0 -1
  210. package/dist/assets/danger-zone-redirect-page-BtfkBtCD.js +0 -1
  211. package/dist/assets/debug-page-ClaR2QHr.js +0 -4
  212. package/dist/assets/deploy-dialogs-CKSsvTJl.js +0 -1
  213. package/dist/assets/developer-page-BJg8BfWc.js +0 -1
  214. package/dist/assets/devices-redirect-page-BWfBTRjk.js +0 -1
  215. package/dist/assets/environment-store-CScpl7O9.js +0 -1
  216. package/dist/assets/esm-BmuPALKt.js +0 -2
  217. package/dist/assets/esm-BrAZhW0M.js +0 -2
  218. package/dist/assets/esm-COwSlx4I.js +0 -2
  219. package/dist/assets/esm-Ci6ABHVx.js +0 -2
  220. package/dist/assets/esm-DDyx9ZyD.js +0 -1
  221. package/dist/assets/esm-DKi5wrhP.js +0 -2
  222. package/dist/assets/general-page-D-4tYdXg.js +0 -2
  223. package/dist/assets/hatching-screen-BlnfFbJp.js +0 -1
  224. package/dist/assets/identity-page-route-CgoLFx9a.js +0 -7
  225. package/dist/assets/index-CEGpfe8u.js +0 -370
  226. package/dist/assets/index-CYA47ECF.css +0 -2
  227. package/dist/assets/inspect-page-C6xkyEXk.js +0 -9
  228. package/dist/assets/integrations-page-DziLoQQy.js +0 -1
  229. package/dist/assets/intelligence-CPhx3_7x.js +0 -5
  230. package/dist/assets/intelligence-DbjVpOZC.js +0 -5
  231. package/dist/assets/keyboard-shortcuts-redirect-page-BqUyzjoO.js +0 -1
  232. package/dist/assets/login-page-CPoWTO_j.js +0 -1
  233. package/dist/assets/logout-page-NxX1cxUT.js +0 -1
  234. package/dist/assets/memory-page-route-Bb_G3Hwc.js +0 -2
  235. package/dist/assets/memory-router-playground-page-BwiyFujg.js +0 -1
  236. package/dist/assets/password-reset-page-B3l7UFDO.js +0 -1
  237. package/dist/assets/plans-page-CNPoN3jl.js +0 -1
  238. package/dist/assets/plugins-page-DpuPedQQ.js +0 -1
  239. package/dist/assets/privacy-page-DoAjjMLl.js +0 -1
  240. package/dist/assets/privacy-screen-Bux1WMe2.js +0 -1
  241. package/dist/assets/research-onboarding-route-TObVT0G5.js +0 -50
  242. package/dist/assets/review-terms-screen-BWVvOl_A.js +0 -1
  243. package/dist/assets/schedules-Deg48xxi.js +0 -1
  244. package/dist/assets/schedules-page-BYCph2Uy.js +0 -1
  245. package/dist/assets/security-redirect-page-NS-PizNk.js +0 -1
  246. package/dist/assets/select-assistant-screen-Bdj7mviB.js +0 -1
  247. package/dist/assets/settings-C0IQi-b6.js +0 -3
  248. package/dist/assets/settings-DAU7yI18.js +0 -3
  249. package/dist/assets/settings-Dk3sSei-.js +0 -3
  250. package/dist/assets/settings-R1UF24q0.js +0 -3
  251. package/dist/assets/settings-divider-C4b_Mlte.js +0 -1
  252. package/dist/assets/settings-layout-CKY-yCV2.js +0 -1
  253. package/dist/assets/share-feedback-modal-8gjB4vC5.js +0 -2
  254. package/dist/assets/skill-detail-page-gH7nH7aj.js +0 -2
  255. package/dist/assets/skill-detail-panel-4NChwKXe.js +0 -1
  256. package/dist/assets/skills-page-D6paA2f5.js +0 -1
  257. package/dist/assets/start-screen-CQnmfPf4.js +0 -1
  258. package/dist/assets/subagent-detail-panel-BKejwKyE.js +0 -4
  259. package/dist/assets/superpowers-page-EVkzzw16.js +0 -1
  260. package/dist/assets/system-events-redirect-page-CMqS9O3f.js +0 -1
  261. package/dist/assets/tool-detail-panel-Ca8Qarsk.js +0 -12
  262. package/dist/assets/upgrade-cancel-page-J1oIOh7b.js +0 -1
  263. package/dist/assets/usage-redirect-page-D5B9TvPI.js +0 -1
  264. package/dist/assets/use-checkout-dismiss-refresh-CW4Qlg6d.js +0 -1
  265. package/dist/assets/use-hotkey-recorder-hY1-9fKP.js +0 -1
  266. package/dist/assets/use-invite-link-dialog-CDPm6ye_.js +0 -1
  267. package/dist/assets/use-return-to-short-circuit-D_IAqtS5.js +0 -1
  268. package/dist/assets/use-supports-credentials-settings-DFF7jlK8.js +0 -1
  269. package/dist/assets/use-transcript-message-by-id-DH_pu1ZL.js +0 -1
  270. package/dist/assets/voice-page-CdRsvgXZ.js +0 -1
  271. package/dist/assets/welcome-screen-BqHHhNJ1.js +0 -1
  272. package/dist/assets/workspace-page-Dm6W8TjI.js +0 -1
  273. /package/dist/assets/{account-D59Pog6a.js → account-B_WpzoQ6.js} +0 -0
  274. /package/dist/assets/{account-Bo0GsPWI.js → account-Dasg5Dwi.js} +0 -0
  275. /package/dist/assets/{account-B6zEi6O8.js → account-FtxVCfyj.js} +0 -0
  276. /package/dist/assets/{account-WSklJ2-s.js → account-S9yNs4Hv.js} +0 -0
  277. /package/dist/assets/{app-types-CBnv5WGq.js → app-types-CS-ocW9Q.js} +0 -0
  278. /package/dist/assets/{build.umd-Dew0cvF9.js → build.umd-6qha0ru-.js} +0 -0
  279. /package/dist/assets/{channels-NP4ODNxS.js → channels-C4D70jh_.js} +0 -0
  280. /package/dist/assets/{channels-D4_Gad55.js → channels-DFLgo6zl.js} +0 -0
  281. /package/dist/assets/{channels-Dv8-4WT6.js → channels-O-Hde658.js} +0 -0
  282. /package/dist/assets/{channels-B8lsoUr6.js → channels-ukL1NwTN.js} +0 -0
  283. /package/dist/assets/{contacts-B1CxNq6I.js → contacts-28QgEcHh.js} +0 -0
  284. /package/dist/assets/{contacts-DY80_acF.js → contacts-DWUEU0-a.js} +0 -0
  285. /package/dist/assets/{contacts-O_w2EdRt.js → contacts-DZXqX1Pd.js} +0 -0
  286. /package/dist/assets/{contacts-jdOGgx_y.js → contacts-EFiszVgQ.js} +0 -0
  287. /package/dist/assets/{credential-requests-DUwvVpZo.js → credential-requests-Bcf7umaC.js} +0 -0
  288. /package/dist/assets/{credential-requests-CeqlvkYb.js → credential-requests-CHFIk8JO.js} +0 -0
  289. /package/dist/assets/{credential-requests-DQ9WS6Rl.js → credential-requests-COErvQop.js} +0 -0
  290. /package/dist/assets/{credential-requests-BAOvHGUi.js → credential-requests-waBItFcw.js} +0 -0
  291. /package/dist/assets/{definitions-B0aFqshm.js → definitions-BCrahf7G.js} +0 -0
  292. /package/dist/assets/{definitions-BjIATsKe.js → definitions-nfclWMrp.js} +0 -0
  293. /package/dist/assets/{diff-rows-BVqSFCjn.js → diff-rows-w3WozbDH.js} +0 -0
  294. /package/dist/assets/{emoji-catalog-data-C12r4S_i.js → emoji-catalog-data-DOS1UAoq.js} +0 -0
  295. /package/dist/assets/{format-countdown-D5ONON7b.js → format-countdown-CwLMOcq4.js} +0 -0
  296. /package/dist/assets/{home-RBQ-nXeQ.js → home-CF3B1irF.js} +0 -0
  297. /package/dist/assets/{home-CxQxFJyA.js → home-DP2b9oAT.js} +0 -0
  298. /package/dist/assets/{intelligence-DOcItPm0.js → intelligence-CBVbj-JU.js} +0 -0
  299. /package/dist/assets/{intelligence-CYj3jKpS.js → intelligence-DebOV-CB.js} +0 -0
  300. /package/dist/assets/{library-Bu_eLt14.js → library-BVJYuJe8.js} +0 -0
  301. /package/dist/assets/{library-BmjZHtUe.js → library-BnCkUOW4.js} +0 -0
  302. /package/dist/assets/{library-A1mfTMw7.js → library-CrQQB5tF.js} +0 -0
  303. /package/dist/assets/{library-Diqzwx-J.js → library-CrhtgpCA.js} +0 -0
  304. /package/dist/assets/{link-click-B3w1V7FL.js → link-click-OFMduoc0.js} +0 -0
  305. /package/dist/assets/{logs-CoXwXRSx.js → logs-BJBydJRM.js} +0 -0
  306. /package/dist/assets/{logs-Bs19Ze4Q.js → logs-CRjkznjt.js} +0 -0
  307. /package/dist/assets/{logs-Fi_ec4t8.js → logs-CjYuvddZ.js} +0 -0
  308. /package/dist/assets/{logs-FJQpRVDW.js → logs-DeTv77Y6.js} +0 -0
  309. /package/dist/assets/{machine-sizes-DfVG31u5.js → machine-sizes-CcBnk4Jk.js} +0 -0
  310. /package/dist/assets/{onboarding-DfVty_iP.js → onboarding-BnvvtjhU.js} +0 -0
  311. /package/dist/assets/{onboarding-pcCDtWuX.js → onboarding-CX-pTc4B.js} +0 -0
  312. /package/dist/assets/{onboarding-Cfot2yE2.js → onboarding-NooWjJvA.js} +0 -0
  313. /package/dist/assets/{onboarding-gNiy_Bmv.js → onboarding-WVQnwEsE.js} +0 -0
  314. /package/dist/assets/{onboarding-step-layout-CjtymnM2.js → onboarding-step-layout-DGhMcFg3.js} +0 -0
  315. /package/dist/assets/{pdf-DnKvQsrL.js → pdf-DyhU1t99.js} +0 -0
  316. /package/dist/assets/{plugin-attribution-C-EIiue7.js → plugin-attribution-BKqeSMc9.js} +0 -0
  317. /package/dist/assets/{radio-card-nav-Omg0Ffee.js → radio-card-nav-DgU-fAGb.js} +0 -0
  318. /package/dist/assets/{remote-web-9YsnKwue.js → remote-web-BWVy-YqA.js} +0 -0
  319. /package/dist/assets/{remote-web-bapYzahN.js → remote-web-D1KuQqP2.js} +0 -0
  320. /package/dist/assets/{remote-web-DC-am5Yy.js → remote-web-DpUMYObQ.js} +0 -0
  321. /package/dist/assets/{remote-web-sY-CQsMN.js → remote-web-DycSoYmF.js} +0 -0
  322. /package/dist/assets/{schedules-0KnLvdZ6.js → schedules-C6xeskt2.js} +0 -0
  323. /package/dist/assets/{schedules-DRVrzPSf.js → schedules-Cd79ey8e.js} +0 -0
  324. /package/dist/assets/{schedules-C2HIPzbf.js → schedules-Cn07IC4m.js} +0 -0
  325. /package/dist/assets/{schedules-DN7BQ5zf.js → schedules-D1llftqV.js} +0 -0
  326. /package/dist/assets/{skill-icon-Nml5aUXj.js → skill-icon-DjGUr_AF.js} +0 -0
  327. /package/dist/assets/{status-badge-pill-Bg90syHR.js → status-badge-pill-DsYKTPMw.js} +0 -0
  328. /package/dist/assets/{terminal-BMbpDjYx.js → terminal-BMg3SCRn.js} +0 -0
  329. /package/dist/assets/{terminal-7pMYRiby.js → terminal-BRQqJ33B.js} +0 -0
  330. /package/dist/assets/{terminal-DSb_gkKE.js → terminal-Cl4Iu4uq.js} +0 -0
  331. /package/dist/assets/{terminal-BNpUPBzh.js → terminal-DQLLiI75.js} +0 -0
  332. /package/dist/assets/{usage-window-Bl8EMpiB.js → usage-window-CdED-Ejc.js} +0 -0
  333. /package/dist/assets/{use-truncated-blob-text-BSWOxKWU.js → use-truncated-blob-text-D2KJAoDf.js} +0 -0
  334. /package/dist/assets/{workspace-BAHtR2RN.js → workspace-CHHQOPWW.js} +0 -0
  335. /package/dist/assets/{workspace-BuluZX5F.js → workspace-D5dy-qP9.js} +0 -0
  336. /package/dist/assets/{workspace-ITbZLAwF.js → workspace-FXPjCcXp.js} +0 -0
  337. /package/dist/assets/{workspace-BnkQd2SU.js → workspace-zKs8wkfa.js} +0 -0
  338. /package/dist/assets/{xterm-addon-fit-CNjgHcEW.js → xterm-addon-fit-BZnrZnN1.js} +0 -0
  339. /package/dist/assets/{xterm-DJzhWP7c.js → xterm-ngdIqTYU.js} +0 -0
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{I as t,N as n,Qn as r,Zn as i,er as a,j as o}from"./vendor-kNpRDQWe.js";import{b as s,f as c,g as l,t as u}from"./react-DPM_L_aA.js";import{Br as d,Cr as f,Fr as p,J as m,Lr as h,P as g,Qt as _,Zt as v,_t as y,et as b,i as x,jr as S,ot as C,pn as w,qn as T,st as E,tn as D,tr as O,x as k,xi as A,zr as j}from"./icons-CSdHOix6.js";import{Cd as M,Cp as N,Cr as P,Cv as F,Dr as I,Er as L,Ev as R,Fv as z,Kv as B,Li as V,Mf as ee,Or as te,Pf as ne,Sd as re,Sr as ie,Td as ae,Tr as oe,Xv as se,Y as ce,am as le,av as ue,bd as de,bv as fe,cg as pe,df as me,di as he,dy as ge,ff as _e,fy as H,gc as ve,hc as ye,hl as be,iy as U,kr as xe,lg as Se,mc as Ce,mg as we,ml as Te,my as Ee,ny as W,on as De,oy as Oe,pf as ke,pv as Ae,rg as je,ry as G,sy as K,tg as q,ty as J,uf as Me,ur as Y,vs as Ne,vy as Pe,wd as Fe,wr as Ie,xd as Le,xy as X,yu as Re,yy as Z}from"./index-CEGpfe8u.js";import{t as ze}from"./use-platform-assistant-id-BuUuoonc.js";var Be=A(`cable`,[[`path`,{d:`M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z`,key:`trhst0`}],[`path`,{d:`M17 21v-2`,key:`ds4u3f`}],[`path`,{d:`M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10`,key:`1mo9zo`}],[`path`,{d:`M21 21v-2`,key:`eo0ou`}],[`path`,{d:`M3 5V3`,key:`1k5hjh`}],[`path`,{d:`M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z`,key:`1dd30t`}],[`path`,{d:`M7 5V3`,key:`1t1388`}]]),Ve=A(`calendar-plus`,[[`path`,{d:`M16 19h6`,key:`xwg31i`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`path`,{d:`M19 16v6`,key:`tddt3s`}],[`path`,{d:`M21 12.598V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5`,key:`1glfrc`}],[`path`,{d:`M3 10h18`,key:`8toen8`}],[`path`,{d:`M8 2v4`,key:`1cmpym`}]]),Q=e(s(),1);function He({assistantId:e,providerKey:n,displayName:r,managedAvailable:i,connectionsQueryKey:o,allConnections:s}){let c=a(),l=we(),u=(0,Q.useRef)(null),d=(0,Q.useRef)(null),f=(0,Q.useRef)(null),p=(0,Q.useRef)(null),[m,h]=(0,Q.useState)(!1),g=()=>{d.current=null,h(!1)},_=()=>{u.current&&!u.current.closed&&u.current.close(),u.current=null,f.current&&=(clearInterval(f.current),null),p.current&&=(clearTimeout(p.current),null)},v=(0,Q.useCallback)(e=>{if(e.type!==`vellum:oauth-complete`||!d.current||e.requestId!==d.current.requestId)return;let{oauthStatus:n,oauthCode:i}=e;_(),g(),n===`connected`?(W.success(t(`useOauthConnect.accountConnected`,{name:r})),c.invalidateQueries({queryKey:o})):W.error(i?t(`useOauthConnect.authorizationError`,{name:r,code:i}):t(`useOauthConnect.authorizationFailed`,{name:r}))},[o,r,c]),y=(0,Q.useCallback)(async(e,t)=>{if(!i)return!1;for(let r=0;r<8;r+=1){r>0&&await Ie(750);try{if(c.invalidateQueries({queryKey:o}),P(await c.fetchQuery({...Ce({path:{assistant_id:e}}),staleTime:0}),n,t))return!0}catch{}}return!1},[o,i,n,c]);(0,Q.useEffect)(()=>{let e=e=>{let t=d.current;if(!t)return;let n=oe(e,window.location.origin,t.requestId);n&&v(n)},t=e=>{let t=d.current;if(!t)return;let n=L(e,t.requestId);n&&(v(n),window.localStorage.removeItem(I(t.requestId)))};return window.addEventListener(`message`,e),window.addEventListener(`storage`,t),()=>{window.removeEventListener(`message`,e),window.removeEventListener(`storage`,t)}},[v]),xe((0,Q.useCallback)(e=>{let t=d.current;t&&e.requestId===t.requestId&&v({type:`vellum:oauth-complete`,requestId:e.requestId,oauthStatus:e.oauthStatus,oauthProvider:e.oauthProvider,oauthCode:e.oauthCode})},[v])),(0,Q.useEffect)(()=>Se(()=>{let e=d.current;e&&(async()=>{let n=await y(e.platformAssistantId,e.baselineConnectionSignatures);d.current&&(g(),n&&W.success(t(`useOauthConnect.accountConnected`,{name:r})))})()}),[y,r]),(0,Q.useEffect)(()=>()=>{f.current&&clearInterval(f.current),p.current&&clearTimeout(p.current),u.current&&!u.current.closed&&u.current.close()},[]);let b=be();return{handleConnect:(a=[])=>{if(!i)return;let o=crypto.randomUUID();h(!0);let m=async i=>{let u;try{u=await N(e)}catch(e){_(),g(),W.error(e instanceof Error?e.message:t(`useOauthConnect.startFailed`,{name:r}));return}let f=ie(await c.fetchQuery({...Ce({path:{assistant_id:u}}),staleTime:0}).catch(()=>u===e?s??[]:[]),n);d.current={requestId:o,provider:n,platformAssistantId:u,baselineConnectionSignatures:f},b.mutate({path:{assistant_id:u,provider:n},body:{requested_scopes:a,redirect_after_connect:`${ue.account.oauth.popupComplete}?requestId=${o}${l?`&native=1`:``}`}},{onSuccess(e){if(l){pe(e.connect_url);return}i&&!i.closed?i.location.href=e.connect_url:d.current&&(_(),g(),W.error(t(`useOauthConnect.popupClosed`,{name:r})))},onError(e){_(),g();let n=fe(e,void 0,t(`useOauthConnect.startFailed`,{name:r}));W.error(n)}})};if(l){m(null);return}let x=window.open(``,`_blank`,`width=500,height=600`);if(x===null){g(),W.error(t(`useOauthConnect.popupBlocked`));return}u.current=x,f.current=setInterval(()=>{u.current&&u.current.closed&&d.current&&!p.current&&(p.current=setTimeout(async()=>{p.current=null;let e=d.current;if(!e)return;let n=window.localStorage.getItem(I(e.requestId));if(n){let t=te(n);if(t&&t.requestId===e.requestId){v(t),window.localStorage.removeItem(I(e.requestId));return}}let i=await y(e.platformAssistantId,e.baselineConnectionSignatures);if(d.current){if(i){_(),g(),W.success(t(`useOauthConnect.accountConnected`,{name:r}));return}_(),g(),W.error(t(`useOauthConnect.authPopupClosed`,{name:r}))}},1e3))},100),m(x)},oauthInProgress:m,startOAuthPending:b.isPending}}var $=u();function Ue({displayName:e,providerKey:t,logoUrl:n,connections:r,connectionsLoading:i,startPending:a,oauthInProgress:s,disconnectingId:c,onConnect:l,onDisconnect:u,connectPresets:d=[]}){let{t:f}=o(`settings`),p=a||s;return i?(0,$.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,$.jsx)(D,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})}):r.length===0?a||s?(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-10`,children:[(0,$.jsx)(Y,{providerKey:t,displayName:e,logoUrl:n,size:48}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,$.jsx)(D,{className:`h-3.5 w-3.5 animate-spin`}),f(`managedOauthTab.waitingForAuthorization`)]})]}):(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-10`,children:[(0,$.jsx)(Y,{providerKey:t,displayName:e,logoUrl:n,size:48}),(0,$.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:f(`managedOauthTab.connectToContinue`)}),(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,$.jsx)(X,{variant:`primary`,size:`compact`,leftIcon:(0,$.jsx)(E,{}),onClick:()=>l(),disabled:p,children:f(`managedOauthTab.connectAccount`)}),d.map(e=>(0,$.jsx)(X,{variant:`outlined`,size:`compact`,leftIcon:(0,$.jsx)(Ve,{}),onClick:()=>l(e.scopes),disabled:p,children:e.label},e.id))]})]}):(0,$.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)]`,children:[(0,$.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)]`,children:r.map(r=>{let i=c===r.id,a=r.account_label??f(`managedOauthTab.accountFallback`,{name:e});return(0,$.jsxs)(`li`,{className:`flex items-center gap-3 px-4 py-3`,children:[(0,$.jsx)(Y,{providerKey:t,displayName:e,logoUrl:n,size:20}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default text-[var(--content-default)]`,children:a}),(0,$.jsx)(X,{variant:`dangerOutline`,size:`compact`,iconOnly:i?(0,$.jsx)(D,{className:`animate-spin`}):(0,$.jsx)(k,{}),onClick:()=>u(r),disabled:i,"aria-label":f(`managedOauthTab.disconnectAriaLabel`,{account:a})})]},r.id)})}),(0,$.jsx)(`div`,{className:`border-t border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:p?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,$.jsx)(D,{className:`h-3.5 w-3.5 animate-spin`}),f(`managedOauthTab.waitingForAuthorization`)]}):(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsx)(X,{variant:`primary`,size:`compact`,leftIcon:(0,$.jsx)(T,{}),onClick:()=>l(),disabled:p,children:f(`managedOauthTab.connectAccountLower`)}),d.map(e=>(0,$.jsx)(X,{variant:`outlined`,size:`compact`,leftIcon:(0,$.jsx)(Ve,{}),onClick:()=>l(e.scopes),disabled:p,children:e.label},e.id))]})})]})}function We(e){return e.length>16?`${e.slice(0,12)}…${e.slice(-4)}`:e.length>8?`${e.slice(0,8)}…`:e}function Ge(e){try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function Ke({assistantId:e,providerKey:t,displayName:n,logoUrl:s}){let{t:c}=o(`settings`),l=a(),u=i({...re({path:{assistant_id:e},query:{provider_key:t}}),select:e=>e.apps}),f=i({...Fe({path:{assistant_id:e,providerKey:t}}),select:e=>e.oauth_callback_url}),p=u.data??[],m=f.data??null,h=r({queries:p.map(t=>({...de({path:{assistant_id:e,appId:t.id}}),select:e=>e.connections}))}),g={};p.forEach((e,t)=>{g[e.id]=h[t]?.data??[]});let _=M({path:{assistant_id:e},query:{provider_key:t}}),v=_e({onSuccess:()=>{l.invalidateQueries({queryKey:_}),A(``),N(``),C(!1),W.success(c(`yourOwnOauthTab.appAddedToast`,{name:n}))},onError:e=>{W.error(e.message||c(`yourOwnOauthTab.createFailedToast`))}}),y=me({onSuccess:()=>{l.invalidateQueries({queryKey:_}),W.success(c(`yourOwnOauthTab.appDeletedToast`))},onError:e=>{W.error(e.message||c(`yourOwnOauthTab.deleteFailedToast`))}}),b=Me({onSuccess:e=>{`auth_url`in e&&(window.location.href=e.auth_url)},onError:e=>{W.error(e.message||c(`yourOwnOauthTab.connectFailedToast`))}}),x=ke(),[S,C]=(0,Q.useState)(!1),[w,A]=(0,Q.useState)(``),[j,N]=(0,Q.useState)(``),[P,F]=(0,Q.useState)(!1),[I,L]=(0,Q.useState)(null),[R,z]=(0,Q.useState)(null),B=v.isPending,V=y.isPending?y.variables?.path?.id??null:null,ee=b.isPending?b.variables?.path?.appId??null:null,te=x.isPending?x.variables?.path?.id??null:null,ne=()=>{let n=w.trim(),r=j.trim();!n||!r||v.mutate({path:{assistant_id:e},body:{provider_key:t,client_id:n,client_secret:r}})},ie=()=>{let t=I;L(null),t&&y.mutate({path:{assistant_id:e,id:t.id}})},ae=t=>{b.mutate({path:{assistant_id:e,appId:t.id},body:{callback_transport:`gateway`,scopes:[]}})};return u.isLoading?(0,$.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,$.jsx)(D,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})}):(0,$.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[p.length===0||S?(0,$.jsx)(Z.Root,{children:(0,$.jsxs)(Z.Body,{className:`flex flex-col gap-3`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:p.length===0?c(`yourOwnOauthTab.addOwnApp`,{name:n}):c(`yourOwnOauthTab.addAnotherApp`,{name:n})}),(0,$.jsx)(`p`,{className:`text-body-small-default leading-relaxed text-[var(--content-tertiary)]`,children:c(`yourOwnOauthTab.credentialsNote`)})]}),m?(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:c(`yourOwnOauthTab.redirectUrl`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(H,{type:`text`,value:m,readOnly:!0,fullWidth:!0}),(0,$.jsx)(X,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{je(m,{successMessage:c(`yourOwnOauthTab.copiedToast`),errorMessage:c(`yourOwnOauthTab.copyFailedToast`),onCopied:()=>{F(!0),setTimeout(()=>F(!1),2e3)}})},"aria-label":c(P?`yourOwnOauthTab.copiedAria`:`yourOwnOauthTab.copyRedirectAria`),iconOnly:P?(0,$.jsx)(d,{"aria-hidden":!0}):(0,$.jsx)(O,{"aria-hidden":!0})})]}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`yourOwnOauthTab.redirectHint`)})]}):null,(0,$.jsx)(H,{label:c(`yourOwnOauthTab.clientId`),type:`text`,value:w,onChange:e=>A(e.target.value),placeholder:c(`yourOwnOauthTab.clientIdPlaceholder`),fullWidth:!0}),(0,$.jsx)(H,{label:c(`yourOwnOauthTab.clientSecret`),type:`password`,value:j,onChange:e=>N(e.target.value),placeholder:c(`yourOwnOauthTab.clientSecretPlaceholder`),fullWidth:!0}),(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2 pt-1`,children:[p.length>0?(0,$.jsx)(X,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{C(!1),A(``),N(``)},disabled:B,children:c(`yourOwnOauthTab.cancel`)}):null,(0,$.jsx)(X,{type:`button`,size:`compact`,onClick:ne,disabled:B||!w.trim()||!j.trim(),leftIcon:B?(0,$.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,$.jsx)(E,{"aria-hidden":!0}),children:c(`yourOwnOauthTab.addApp`)})]})]})}):null,p.map(e=>{let r=g[e.id]??[],i=V===e.id,a=ee===e.id;return(0,$.jsx)(Z.Root,{children:(0,$.jsxs)(Z.Body,{className:`flex flex-col gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 space-y-0.5`,children:[(0,$.jsx)(`p`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:We(e.client_id)}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`yourOwnOauthTab.addedOn`,{date:Ge(e.created_at)})})]}),(0,$.jsx)(X,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>L(e),disabled:i,"aria-label":c(`yourOwnOauthTab.deleteAppAria`,{id:We(e.client_id)}),iconOnly:i?(0,$.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,$.jsx)(k,{"aria-hidden":!0})})]}),r.length>0?(0,$.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)] overflow-hidden rounded-md border border-[var(--border-base)] dark:divide-[var(--border-base)] dark:border-[var(--border-base)]`,children:r.map(r=>{let i=te===r.id,a=r.account_info??c(`yourOwnOauthTab.accountFallback`,{name:n});return(0,$.jsxs)(`li`,{className:`flex items-center gap-3 px-3 py-2`,children:[(0,$.jsx)(Y,{providerKey:t,displayName:n,logoUrl:s,size:18}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-lighter text-[var(--content-default)]`,children:a}),(0,$.jsx)(X,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>z({appId:e.id,connection:r}),disabled:i,"aria-label":c(`yourOwnOauthTab.disconnectAria`,{account:a}),iconOnly:i?(0,$.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,$.jsx)(k,{"aria-hidden":!0})})]},r.id)})}):null,(0,$.jsx)(X,{type:`button`,size:`compact`,onClick:()=>ae(e),disabled:a,className:`w-full`,leftIcon:a?(0,$.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,$.jsx)(T,{"aria-hidden":!0}),children:c(a?`yourOwnOauthTab.waitingAuthorization`:`yourOwnOauthTab.connectAccount`)})]})},e.id)}),p.length>0&&!S?(0,$.jsx)(X,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>C(!0),className:`w-full border-dashed`,leftIcon:(0,$.jsx)(E,{"aria-hidden":!0}),children:c(`yourOwnOauthTab.addAnotherAppButton`)}):null,(0,$.jsx)(J,{open:I!==null,title:c(`yourOwnOauthTab.deleteAppTitle`),message:I?c(`yourOwnOauthTab.deleteAppMessage`,{id:We(I.client_id)}):``,confirmLabel:c(`yourOwnOauthTab.delete`),destructive:!0,onConfirm:ie,onCancel:()=>L(null)}),(0,$.jsx)(J,{open:R!==null,title:c(`yourOwnOauthTab.disconnectTitle`,{name:n}),message:R?c(`yourOwnOauthTab.disconnectMessage`,{account:R.connection.account_info??c(`yourOwnOauthTab.accountFallback`,{name:n})}):``,confirmLabel:c(`yourOwnOauthTab.disconnect`),destructive:!0,onConfirm:()=>{let t=R;z(null),t&&x.mutate({path:{assistant_id:e,id:t.connection.id}},{onSuccess:()=>{let r=Le({path:{assistant_id:e,appId:t.appId}});l.invalidateQueries({queryKey:r}),l.invalidateQueries({queryKey:_}),W.success(c(`yourOwnOauthTab.disconnectedToast`,{name:n}))},onError:e=>{W.error(e.message||c(`yourOwnOauthTab.disconnectFailedToast`))}})},onCancel:()=>z(null)})]})}var qe={};function Je(e){return qe[e]??[]}function Ye({assistantId:e,platformAssistantId:t,providerKey:n,displayName:r,description:s,logoUrl:c,platformGate:l,onClose:u}){let{t:d}=o(`settings`),f=a(),p=l===`full`,m=!ee(),[h,g]=(0,Q.useState)(l===`gated`&&m?`your-own`:`managed`),_=(0,Q.useMemo)(()=>[{value:`managed`,label:d(`integrationDetailModal.managedTab`)},{value:`your-own`,label:d(`integrationDetailModal.yourOwnTab`)}],[d]);(0,Q.useEffect)(()=>{!m&&h===`your-own`&&g(`managed`)},[m,h]);let[v,y]=(0,Q.useState)(null),[b,S]=(0,Q.useState)(null),C=ye({path:{assistant_id:t}}),{data:w,isLoading:T}=i({...Ce({path:{assistant_id:t}}),enabled:p}),E=(w??[]).filter(e=>e.provider===n&&e.connected),{handleConnect:D,oauthInProgress:O,startOAuthPending:k}=He({assistantId:e,providerKey:n,displayName:r,managedAvailable:p,connectionsQueryKey:C,allConnections:w}),A={path:{assistant_id:t}},j=Te({onSuccess(e,t){W.success(d(`integrationDetailModal.disconnectedToast`,{name:r}));let n=t.path.connection_id;ve(f,A,e=>e?.filter(e=>e.id!==n)),f.invalidateQueries({queryKey:C}),y(null)},onError(e){let t=fe(e,void 0,d(`integrationDetailModal.disconnectFailedToast`,{name:r}));W.error(t),y(null)}});V(),(0,Q.useEffect)(()=>{let e=e=>{e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),u())};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},[u]);let M=e=>{S(e)},N=()=>{let e=b;S(null),e&&(y(e.id),j.mutate({path:{assistant_id:t,connection_id:e.id}}))},P=b?.account_label??d(`integrationDetailModal.accountFallback`,{name:r}),F=s?d(`integrationDetailModal.subtitleWithDescription`,{name:r,description:s}):d(`integrationDetailModal.subtitle`,{name:r});return(0,$.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4`,children:[(0,$.jsxs)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-labelledby":`integration-modal-title`,className:`flex w-full max-w-[520px] flex-col overflow-hidden rounded-xl bg-white shadow-xl dark:bg-[var(--surface-lift)]`,children:[(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-3 border-b border-[var(--border-base)] px-5 py-4 dark:border-[var(--border-base)]`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(Y,{providerKey:n,displayName:r,logoUrl:c,size:32}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{id:`integration-modal-title`,className:`text-title-small text-[var(--content-default)]`,children:d(`integrationDetailModal.title`,{name:r})}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:F})]})]}),(0,$.jsx)(X,{variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(x,{}),"aria-label":d(`integrationDetailModal.close`),onClick:u})]}),(0,$.jsxs)(`div`,{className:`space-y-4 px-5 py-4`,children:[l!==`gated`&&m&&(0,$.jsx)(Oe,{ariaLabel:d(`integrationDetailModal.oauthModeAriaLabel`),items:_,value:h,onChange:g}),h===`managed`&&l!==`gated`?l===`disabled`?(0,$.jsx)(De,{children:d(`integrationDetailModal.loginNotice`)}):(0,$.jsx)(Ue,{displayName:r,providerKey:n,logoUrl:c,connections:E,connectionsLoading:T,startPending:k,oauthInProgress:O,disconnectingId:j.isPending?v:null,onConnect:D,onDisconnect:M,connectPresets:Je(n)}):m?(0,$.jsx)(Ke,{assistantId:e,providerKey:n,displayName:r,logoUrl:c}):null]}),(0,$.jsx)(`div`,{className:`flex justify-end border-t border-[var(--border-base)] px-5 py-3 dark:border-[var(--border-base)]`,children:(0,$.jsx)(X,{variant:`outlined`,size:`compact`,onClick:u,children:d(`integrationDetailModal.confirm`)})})]}),(0,$.jsx)(J,{open:b!==null,title:d(`integrationDetailModal.disconnectTitle`,{name:r}),message:b?d(`integrationDetailModal.disconnectMessage`,{account:P}):``,confirmLabel:d(`integrationDetailModal.disconnect`),destructive:!0,onConfirm:N,onCancel:()=>S(null)})]})}function Xe({platformAssistantId:e,providerKey:t,displayName:n,description:r,logoUrl:i,connection:s,platformGate:c,onConfigure:l}){let{t:u}=o(`settings`),d=a(),f=!!s?.connected,[p,m]=(0,Q.useState)(!1),[h,g]=(0,Q.useState)(!1),_=ye({path:{assistant_id:e}}),v={path:{assistant_id:e}},y=Te({onSuccess(e,t){W.success(u(`integrationRow.disconnectedToast`,{name:n}));let r=t.path.connection_id;ve(d,v,e=>e?.filter(e=>e.id!==r)),d.invalidateQueries({queryKey:_})},onError(e){let t=fe(e,void 0,u(`integrationRow.disconnectFailedToast`,{name:n}));W.error(t)}}),b=()=>{s?.id&&g(!0)};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z.Root,{children:(0,$.jsxs)(Z.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,$.jsx)(Y,{providerKey:t,displayName:n,logoUrl:i,size:32}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:n}),r&&(0,$.jsx)(`p`,{className:`truncate text-body-medium-lighter text-[var(--content-tertiary)]`,children:r})]}),f&&c===`full`?(0,$.jsx)(`div`,{className:`shrink-0`,children:(0,$.jsx)(Ze,{displayName:n,open:p,onOpenChange:m,onEditConnections:()=>{m(!1),l()},onDisable:()=>{m(!1),b()},disablePending:y.isPending})}):(0,$.jsx)(X,{variant:`primary`,onClick:l,className:`shrink-0`,children:u(`integrationRow.enable`)})]})}),(0,$.jsx)(J,{open:h,title:u(`integrationRow.disconnectTitle`,{name:n}),message:u(`integrationRow.disconnectMessage`,{name:n}),confirmLabel:u(`integrationRow.disconnect`),destructive:!0,onConfirm:()=>{g(!1),s?.id&&y.mutate({path:{assistant_id:e,connection_id:s.id}})},onCancel:()=>g(!1)})]})}function Ze({displayName:e,open:t,onOpenChange:n,onEditConnections:r,onDisable:i,disablePending:a}){let{t:s}=o(`settings`);return he()?(0,$.jsxs)(G.Root,{open:t,onOpenChange:n,children:[(0,$.jsx)(G.Trigger,{asChild:!0,children:(0,$.jsx)(X,{variant:`outlined`,rightIcon:(0,$.jsx)(j,{}),"aria-haspopup":`menu`,"aria-expanded":t,children:s(`integrationRow.configure`)})}),(0,$.jsxs)(G.Content,{children:[(0,$.jsx)(G.Header,{children:(0,$.jsx)(G.Title,{children:e})}),(0,$.jsxs)(G.Body,{children:[(0,$.jsx)(se,{icon:y,label:s(`integrationRow.editConnections`),onSelect:r}),(0,$.jsx)(se,{icon:a?D:f,label:s(`integrationRow.disable`),onSelect:()=>{a||i()}})]})]})]}):(0,$.jsxs)(Ee.Root,{open:t,onOpenChange:n,children:[(0,$.jsx)(Ee.Trigger,{asChild:!0,children:(0,$.jsx)(X,{variant:`outlined`,rightIcon:(0,$.jsx)(j,{}),"aria-haspopup":`menu`,"aria-expanded":t,children:s(`integrationRow.configure`)})}),(0,$.jsxs)(Ee.Content,{align:`end`,sideOffset:4,role:`menu`,className:`w-56 overflow-hidden p-0`,children:[(0,$.jsx)(X,{type:`button`,role:`menuitem`,variant:`ghost`,onClick:r,className:`w-full justify-start rounded-none`,leftIcon:(0,$.jsx)(y,{"aria-hidden":!0}),children:s(`integrationRow.editConnections`)}),(0,$.jsx)(X,{type:`button`,role:`menuitem`,variant:`dangerGhost`,onClick:i,disabled:a,className:`w-full justify-start rounded-none`,leftIcon:a?(0,$.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,$.jsx)(f,{"aria-hidden":!0}),children:s(`integrationRow.disable`)})]})]})}var Qe=[{value:`none`,labelKey:`mcpAddServerModal.authNone`},{value:`oauth`,labelKey:`mcpAddServerModal.authOAuth`},{value:`bearer`,labelKey:`mcpAddServerModal.authBearer`},{value:`api-key`,labelKey:`mcpAddServerModal.authApiKey`}],$e=[{value:`sse`,labelKey:`mcpAddServerModal.transportSse`},{value:`streamable-http`,labelKey:`mcpAddServerModal.transportStreamableHttp`},{value:`stdio`,labelKey:`mcpAddServerModal.transportStdio`}];function et(e){return Qe.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function tt(e){return $e.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function nt({open:e,onClose:t,onAdd:n,isPending:r}){let{t:i}=o(`settings`),a=(0,Q.useMemo)(()=>et(i),[i]),s=(0,Q.useMemo)(()=>tt(i),[i]),[c,l]=(0,Q.useState)(``),[u,d]=(0,Q.useState)(`sse`),[f,p]=(0,Q.useState)(``),[m,h]=(0,Q.useState)(``),[g,_]=(0,Q.useState)(``),[v,y]=(0,Q.useState)(`none`),[b,x]=(0,Q.useState)(``),[S,C]=(0,Q.useState)(`X-API-Key`),[w,T]=(0,Q.useState)(``),E=(0,Q.useCallback)(()=>{l(``),d(`sse`),p(``),h(``),_(``),y(`none`),x(``),C(`X-API-Key`),T(``)},[]),D=(0,Q.useCallback)(()=>{r||(E(),t())},[r,E,t]),O=(0,Q.useCallback)(()=>{let e=c.trim();if(!e)return;let t={name:e,transportType:u};if(u===`stdio`){let e=m.trim();if(!e)return;t.command=e;let n=g.trim();n&&(t.args=n.split(/\s+/))}else{let e=f.trim();if(!e)return;t.url=e,v===`bearer`&&b.trim()?t.headers={Authorization:`Bearer ${b.trim()}`}:v===`api-key`&&S.trim()&&w.trim()?t.headers={[S.trim()]:w.trim()}:v===`oauth`&&(t.autoAuth=!0)}n(t)},[c,u,f,m,g,v,b,S,w,n]),k=u===`stdio`,A=c.trim()&&(k?m.trim():f.trim());return(0,$.jsx)(U.Root,{open:e,onOpenChange:e=>{e||D()},children:(0,$.jsxs)(U.Content,{size:`md`,children:[(0,$.jsxs)(U.Header,{icon:Be,children:[(0,$.jsx)(U.Title,{children:i(`mcpAddServerModal.title`)}),(0,$.jsx)(U.Description,{children:i(`mcpAddServerModal.description`)})]}),(0,$.jsx)(U.Body,{children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-name`,children:i(`mcpAddServerModal.serverNameLabel`)}),(0,$.jsx)(H,{id:`mcp-name`,type:`text`,value:c,onChange:e=>l(e.target.value),placeholder:i(`mcpAddServerModal.namePlaceholder`),fullWidth:!0,autoFocus:!0})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-transport`,children:i(`mcpAddServerModal.transportLabel`)}),(0,$.jsx)(`select`,{id:`mcp-transport`,value:u,onChange:e=>d(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:s.map(e=>(0,$.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),k?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-command`,children:i(`mcpAddServerModal.commandLabel`)}),(0,$.jsx)(H,{id:`mcp-command`,type:`text`,value:m,onChange:e=>h(e.target.value),placeholder:i(`mcpAddServerModal.commandPlaceholder`),fullWidth:!0})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-args`,children:i(`mcpAddServerModal.argsLabel`)}),(0,$.jsx)(H,{id:`mcp-args`,type:`text`,value:g,onChange:e=>_(e.target.value),placeholder:i(`mcpAddServerModal.argsPlaceholder`),fullWidth:!0})]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-url`,children:i(`mcpAddServerModal.serverUrlLabel`)}),(0,$.jsx)(H,{id:`mcp-url`,type:`url`,value:f,onChange:e=>p(e.target.value),placeholder:i(`mcpAddServerModal.urlPlaceholder`),fullWidth:!0})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-auth`,children:i(`mcpAddServerModal.authenticationLabel`)}),(0,$.jsx)(`select`,{id:`mcp-auth`,value:v,onChange:e=>y(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:a.map(e=>(0,$.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),v===`oauth`?(0,$.jsx)(`p`,{className:`rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-3 py-2 text-body-small-default text-[var(--content-tertiary)]`,children:i(`mcpAddServerModal.oauthHint`)}):null,v===`bearer`?(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-bearer`,children:i(`mcpAddServerModal.bearerTokenLabel`)}),(0,$.jsx)(H,{id:`mcp-bearer`,type:`password`,value:b,onChange:e=>x(e.target.value),placeholder:i(`mcpAddServerModal.bearerPlaceholder`),fullWidth:!0})]}):null,v===`api-key`?(0,$.jsxs)(`div`,{className:`flex gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-header`,children:i(`mcpAddServerModal.headerNameLabel`)}),(0,$.jsx)(H,{id:`mcp-apikey-header`,type:`text`,value:S,onChange:e=>C(e.target.value),placeholder:i(`mcpAddServerModal.apiKeyHeaderPlaceholder`),fullWidth:!0})]}),(0,$.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-value`,children:i(`mcpAddServerModal.apiKeyLabel`)}),(0,$.jsx)(H,{id:`mcp-apikey-value`,type:`password`,value:w,onChange:e=>T(e.target.value),placeholder:i(`mcpAddServerModal.apiKeyPlaceholder`),fullWidth:!0})]})]}):null]})]})}),(0,$.jsxs)(U.Footer,{children:[(0,$.jsx)(X,{variant:`ghost`,onClick:D,disabled:r,children:i(`mcpAddServerModal.cancel`)}),(0,$.jsx)(X,{variant:`primary`,onClick:O,disabled:!A||r,children:i(r?`mcpAddServerModal.adding`:`mcpAddServerModal.addServer`)})]})]})})}async function rt(e){let{data:t,response:n}=await q.get({url:`/v1/assistants/{assistant_id}/internal/mcp/list`,path:{assistant_id:e}});if(!n?.ok)throw Error(`Failed to fetch MCP servers: ${n?.status}`);return t}async function it(e){let{data:t,response:n}=await q.get({url:`/v1/assistants/{assistant_id}/internal/mcp/tools-summary`,path:{assistant_id:e}});if(!n?.ok)throw Error(`Failed to fetch MCP tools summary: ${n?.status}`);return t}async function at(e,t){let{response:n}=await q.post({url:`/v1/assistants/{assistant_id}/internal/mcp/update`,path:{assistant_id:e},body:t});if(!n?.ok)throw Error(`Failed to update MCP server: ${n?.status}`)}async function ot(e,t){let{response:n}=await q.post({url:`/v1/assistants/{assistant_id}/internal/mcp/add`,path:{assistant_id:e},body:t});if(!n?.ok)throw Error(`Failed to add MCP server: ${n?.status}`)}async function st(e,t){let{response:n}=await q.post({url:`/v1/assistants/{assistant_id}/internal/mcp/remove`,path:{assistant_id:e},body:{name:t}});if(!n?.ok)throw Error(`Failed to remove MCP server: ${n?.status}`)}async function ct(e,t){let{data:n,response:r}=await q.post({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/start`,path:{assistant_id:e},body:{serverId:t}});if(!r?.ok)throw Error(`Failed to start MCP auth: ${r?.status}`);return n}async function lt(e,t){let{data:n,response:r}=await q.get({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/status/${encodeURIComponent(t)}`,path:{assistant_id:e}});if(!r?.ok)throw Error(`Failed to poll MCP auth status: ${r?.status}`);return n}async function ut(e,t){let{response:n}=await q.post({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/revoke`,path:{assistant_id:e},body:{serverId:t}});if(!n?.ok)throw Error(`Failed to revoke OAuth for ${t}: ${n?.status}`)}async function dt(e){let{response:t}=await q.post({url:`/v1/assistants/{assistant_id}/internal/mcp/reload`,path:{assistant_id:e},body:{}});if(!t?.ok)throw Error(`Failed to reload MCP servers: ${t?.status}`)}var ft={connected:{icon:S,className:`text-[var(--system-positive-strong)]`},"needs-auth":{icon:w,className:`text-[var(--system-warning-strong)]`},disabled:{icon:C,className:`text-[var(--content-tertiary)]`}},pt={icon:p,className:`text-[var(--system-negative-strong)]`};function mt(e,t){switch(e){case`connected`:return t(`mcpServerCard.statusConnected`);case`needs-auth`:return t(`mcpServerCard.statusNeedsAuth`);case`disabled`:return t(`mcpServerCard.statusDisabled`);default:return t(`mcpServerCard.statusError`)}}function ht({server:e,toolsSummary:t,onToggleEnabled:n,onRemove:r,onConfigure:i,onAuthenticate:a,onRevokeOAuth:s,isUpdating:c,isAuthenticating:l,isRevoking:u}){let{t:d}=o(`settings`),[f,p]=(0,Q.useState)(!1),m=ft[e.status]??pt,g=m.icon,y=(0,Q.useCallback)(t=>n(e.id,t),[n,e.id]),x=(0,Q.useCallback)(()=>r(e.id),[r,e.id]),S=(0,Q.useCallback)(()=>i(e.id),[i,e.id]),C=(0,Q.useCallback)(()=>a(e.id),[a,e.id]),w=(0,Q.useCallback)(()=>s(e.id),[s,e.id]),T=(0,Q.useCallback)(()=>p(e=>!e),[]);return(0,$.jsx)(Z.Root,{children:(0,$.jsxs)(Z.Body,{children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.id}),(0,$.jsxs)(`span`,{className:`flex items-center gap-1 text-label-medium-default ${m.className}`,children:[(0,$.jsx)(g,{className:`h-3.5 w-3.5`}),mt(e.status,d)]}),e.hasOAuth?(0,$.jsx)(`span`,{className:`rounded-full bg-[var(--surface-lift)] px-2 py-0.5 text-label-small-default text-[var(--content-secondary)]`,children:d(`mcpServerCard.oauthBadge`)}):null]}),(0,$.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(`span`,{children:e.transport.type}),t?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,$.jsx)(`span`,{children:d(`mcpServerCard.toolCount`,{count:t.toolCount})}),(0,$.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,$.jsx)(`span`,{children:d(`mcpServerCard.estimatedTokens`,{count:t.estimatedTokens.toLocaleString()})})]}):null]})]})}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[c||l?(0,$.jsx)(D,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}):null,e.status===`needs-auth`&&e.transport.type!==`stdio`&&!e.hasOAuth?(0,$.jsx)(X,{variant:`ghost`,size:`compact`,leftIcon:(0,$.jsx)(_,{}),onClick:C,disabled:l,children:d(l?`mcpServerCard.authenticating`:`mcpServerCard.authenticate`)}):null,e.hasOAuth?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{variant:`ghost`,size:`compact`,leftIcon:(0,$.jsx)(b,{}),onClick:C,disabled:l,tooltip:d(`mcpServerCard.reAuthTooltip`),children:d(`mcpServerCard.reAuth`)}),(0,$.jsx)(X,{variant:`dangerGhost`,size:`compact`,leftIcon:(0,$.jsx)(v,{}),onClick:w,disabled:u,tooltip:d(`mcpServerCard.revokeOAuthTooltip`),children:d(u?`mcpServerCard.revoking`:`mcpServerCard.revoke`)})]}):null,(0,$.jsx)(ge,{checked:e.enabled,onChange:y,disabled:c,"aria-label":e.enabled?d(`mcpServerCard.toggleDisableAriaLabel`,{serverId:e.id}):d(`mcpServerCard.toggleEnableAriaLabel`,{serverId:e.id})}),(0,$.jsx)(X,{variant:`ghost`,size:`compact`,onClick:S,tooltip:d(`mcpServerCard.configureTooltip`),children:d(`mcpServerCard.configure`)}),(0,$.jsx)(X,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,$.jsx)(k,{}),onClick:x,tooltip:d(`mcpServerCard.removeServerTooltip`),"aria-label":d(`mcpServerCard.removeServerAriaLabel`,{serverId:e.id})})]})]}),t&&t.tools.length>0?(0,$.jsxs)(`div`,{className:`mt-3 border-t border-[var(--border-base)] pt-2`,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:T,className:`flex w-full cursor-pointer items-center gap-1 text-body-small-default text-[var(--content-secondary)] hover:text-[var(--content-default)]`,children:[f?(0,$.jsx)(j,{className:`h-3.5 w-3.5`}):(0,$.jsx)(h,{className:`h-3.5 w-3.5`}),d(`mcpServerCard.registeredTools`,{count:t.toolCount})]}),f?(0,$.jsx)(`div`,{className:`mt-2 max-h-60 overflow-y-auto`,children:t.tools.map(e=>(0,$.jsx)(z,{title:e.name,subtitle:e.description||void 0,trailing:(0,$.jsx)(`span`,{className:`whitespace-nowrap text-body-small-default text-[var(--content-secondary)]`,children:d(`mcpServerCard.toolTokensAbbrev`,{count:e.estimatedTokens.toLocaleString()})})},e.name))}):null]}):null]})})}var gt=[`none`,`bearer`,`api-key`],_t=[`low`,`medium`,`high`];function vt(e,t){switch(e){case`none`:return t(`mcpServerDetailModal.authNone`);case`bearer`:return t(`mcpServerDetailModal.authBearerToken`);case`api-key`:return t(`mcpServerDetailModal.authApiKey`)}}function yt(e,t){switch(e){case`low`:return t(`mcpServerDetailModal.riskLow`);case`medium`:return t(`mcpServerDetailModal.riskMedium`);case`high`:return t(`mcpServerDetailModal.riskHigh`);default:return e}}function bt({server:e,toolsSummary:t,onClose:n,onSave:r,isPending:i}){let{t:a}=o(`settings`),[s,c]=(0,Q.useState)(`medium`),[l,u]=(0,Q.useState)(`none`),[d,f]=(0,Q.useState)(``),[p,m]=(0,Q.useState)(`X-API-Key`),[h,g]=(0,Q.useState)(``);(0,Q.useEffect)(()=>{e&&(c(e.defaultRiskLevel),u(e.authType),f(``),m(e.authHeaderName??`X-API-Key`),g(``))},[e]);let _=(0,Q.useCallback)(()=>{if(!e)return;let t=l!==e.authType,n=l===`bearer`&&d.trim()!==``,i=l===`api-key`&&p.trim()!==``&&h.trim()!==``,a=t||n||i,o;o=a?l===`none`?null:l===`bearer`&&d.trim()?{Authorization:`Bearer ${d.trim()}`}:l===`api-key`&&p.trim()&&h.trim()?{[p.trim()]:h.trim()}:void 0:void 0,r(e.id,{name:e.id,defaultRiskLevel:s,...o===void 0?{}:{headers:o}})},[e,s,l,d,p,h,r]),v=(0,Q.useCallback)(()=>{i||n()},[i,n]);return e?(0,$.jsx)(U.Root,{open:!!e,onOpenChange:e=>{e||v()},children:(0,$.jsxs)(U.Content,{size:`lg`,children:[(0,$.jsxs)(U.Header,{icon:Be,children:[(0,$.jsx)(U.Title,{children:e.id}),(0,$.jsx)(U.Description,{children:a(`mcpServerDetailModal.description`,{transport:e.transport.type,status:e.status})})]}),(0,$.jsx)(U.Body,{children:(0,$.jsxs)(`div`,{className:`space-y-5`,children:[(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-risk`,children:a(`mcpServerDetailModal.defaultRiskLevel`)}),(0,$.jsx)(`select`,{id:`mcp-risk`,value:s,onChange:e=>c(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:_t.map(e=>(0,$.jsx)(`option`,{value:e,children:yt(e,a)},e))})]}),e.transport.type===`stdio`?null:(0,$.jsxs)($.Fragment,{children:[e.hasOAuth?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-3 py-2`,children:[(0,$.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:a(`mcpServerDetailModal.authentication`)}),(0,$.jsx)(`span`,{className:`rounded-full bg-[var(--surface-lift)] px-2 py-0.5 text-label-small-default text-[var(--content-default)]`,children:a(`mcpServerDetailModal.oauthBadge`)}),(0,$.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:a(`mcpServerDetailModal.oauthManagedHint`)})]}):null,e.hasOAuth?null:(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-auth`,children:a(`mcpServerDetailModal.authentication`)}),(0,$.jsx)(`select`,{id:`mcp-detail-auth`,value:l,onChange:e=>u(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:gt.map(e=>(0,$.jsx)(`option`,{value:e,children:vt(e,a)},e))})]}),l===`bearer`&&!e.hasOAuth?(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-bearer`,children:a(`mcpServerDetailModal.bearerToken`)}),(0,$.jsx)(H,{id:`mcp-detail-bearer`,type:`password`,value:d,onChange:e=>f(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`bearer`?a(`mcpServerDetailModal.bearerTokenPlaceholderKeep`):a(`mcpServerDetailModal.bearerTokenPlaceholder`),fullWidth:!0})]}):null,l===`api-key`&&!e.hasOAuth?(0,$.jsxs)(`div`,{className:`flex gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-header`,children:a(`mcpServerDetailModal.headerName`)}),(0,$.jsx)(H,{id:`mcp-detail-apikey-header`,type:`text`,value:p,onChange:e=>m(e.target.value),placeholder:a(`mcpServerDetailModal.headerNamePlaceholder`),fullWidth:!0})]}),(0,$.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-value`,children:a(`mcpServerDetailModal.apiKey`)}),(0,$.jsx)(H,{id:`mcp-detail-apikey-value`,type:`password`,value:h,onChange:e=>g(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`api-key`?a(`mcpServerDetailModal.apiKeyPlaceholderKeep`):a(`mcpServerDetailModal.apiKeyPlaceholder`),fullWidth:!0})]})]}):null]}),t&&t.tools.length>0?(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`h3`,{className:`text-body-medium-default text-[var(--content-default)]`,children:a(`mcpServerDetailModal.registeredToolsHeading`,{count:t.toolCount})}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:a(`mcpServerDetailModal.tokenOverhead`,{count:t.estimatedTokens.toLocaleString()})}),(0,$.jsx)(`div`,{className:`max-h-64 overflow-y-auto rounded-lg border border-[var(--border-base)]`,children:(0,$.jsxs)(`table`,{className:`w-full text-body-small-default`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] bg-[var(--surface-base)]`,children:[(0,$.jsx)(`th`,{className:`px-3 py-2 text-left font-medium text-[var(--content-secondary)]`,children:a(`mcpServerDetailModal.tableTool`)}),(0,$.jsx)(`th`,{className:`px-3 py-2 text-left font-medium text-[var(--content-secondary)]`,children:a(`mcpServerDetailModal.tableDescription`)}),(0,$.jsx)(`th`,{className:`px-3 py-2 text-right font-medium text-[var(--content-secondary)]`,children:a(`mcpServerDetailModal.tableTokens`)})]})}),(0,$.jsx)(`tbody`,{children:t.tools.map(e=>(0,$.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] last:border-b-0`,children:[(0,$.jsx)(`td`,{className:`px-3 py-2 font-medium text-[var(--content-default)]`,children:e.name}),(0,$.jsx)(`td`,{className:`max-w-xs truncate px-3 py-2 text-[var(--content-tertiary)]`,children:e.description||a(`mcpServerDetailModal.emptyDescription`)}),(0,$.jsx)(`td`,{className:`px-3 py-2 text-right text-[var(--content-tertiary)]`,children:a(`mcpServerDetailModal.toolEstimatedTokens`,{count:e.estimatedTokens.toLocaleString()})})]},e.name))})]})})]}):null]})}),(0,$.jsxs)(U.Footer,{children:[(0,$.jsx)(X,{variant:`ghost`,onClick:v,disabled:i,children:a(`mcpServerDetailModal.cancel`)}),(0,$.jsx)(X,{variant:`primary`,onClick:_,disabled:i,children:a(i?`mcpServerDetailModal.saving`:`mcpServerDetailModal.save`)})]})]})}):null}var xt=`mcp-servers`,St=`mcp-tools-summary`;function Ct(){let{t:e}=o(`settings`),t=ce(),n=a(),r=c(),s=Re.use.mcpAddServer(),l=Re.use.hasHydrated(),[u,d]=(0,Q.useState)(!1),[f,p]=(0,Q.useState)(null),[m,h]=(0,Q.useState)(null),[g,_]=(0,Q.useState)(new Set),[v,y]=(0,Q.useState)(!1),[x,S]=(0,Q.useState)(!1),[C,w]=(0,Q.useState)(!1),[T,O]=(0,Q.useState)(!1),[k,A]=(0,Q.useState)(null),[j,M]=(0,Q.useState)(null),{data:N,isLoading:P,isError:F}=i({queryKey:[xt,t],queryFn:()=>rt(t)}),{data:I}=i({queryKey:[St,t],queryFn:()=>it(t)}),L=(0,Q.useCallback)(()=>{n.invalidateQueries({queryKey:[xt,t]}),n.invalidateQueries({queryKey:[St,t]})},[n,t]),R=(0,Q.useMemo)(()=>{let e=new Map;if(I)for(let t of I.servers)e.set(t.serverId,t);return e},[I]),z=(0,Q.useMemo)(()=>!f||!N?null:N.servers.find(e=>e.id===f)??null,[f,N]),B=(0,Q.useCallback)(async(n,r)=>{_(e=>new Set(e).add(n));try{await at(t,{name:n,enabled:r}),L()}catch{W.error(e(r?`mcpPage.toastEnableFailed`:`mcpPage.toastDisableFailed`,{serverId:n}))}finally{_(e=>{let t=new Set(e);return t.delete(n),t})}},[t,L,e]),V=(0,Q.useCallback)(async()=>{if(m){S(!0);try{await st(t,m),L(),W.success(e(`mcpPage.toastRemoved`,{serverId:m})),h(null)}catch{W.error(e(`mcpPage.toastRemoveFailed`,{serverId:m}))}finally{S(!1)}}},[m,t,L,e]),ee=(0,Q.useCallback)(async n=>{A(n);let r;try{r=await ct(t,n)}catch{W.error(e(`mcpPage.toastAuthStartFailed`,{serverId:n})),A(null);return}try{if(r.already_authenticated){W.success(e(`mcpPage.toastAlreadyAuthenticated`,{serverId:n})),L();return}window.open(r.auth_url,`_blank`,`noopener,noreferrer`);for(let r=0;r<60;r++){await new Promise(e=>setTimeout(e,3e3));let r=await lt(t,n);if(r.status===`complete`){W.success(e(`mcpPage.toastAuthenticatedSuccess`,{serverId:n})),L();return}if(r.status===`error`){W.error(r.error??e(`mcpPage.toastAuthFailed`,{serverId:n}));return}}W.error(e(`mcpPage.toastAuthTimedOut`,{serverId:n}))}catch{W.error(e(`mcpPage.toastAuthPollingFailed`,{serverId:n}))}finally{A(null),L()}},[t,L,e]),te=(0,Q.useCallback)(async n=>{M(n);try{await ut(t,n),L(),W.success(e(`mcpPage.toastOAuthRevoked`,{serverId:n}))}catch{W.error(e(`mcpPage.toastOAuthRevokeFailed`,{serverId:n}))}finally{M(null)}},[t,L,e]),ne=(0,Q.useCallback)(async n=>{let r=n.autoAuth?window.open(`about:blank`,`_blank`,`noopener`):null;y(!0);try{await ot(t,n),L(),W.success(e(`mcpPage.toastAdded`,{name:n.name})),d(!1)}catch{W.error(e(`mcpPage.toastAddFailed`,{name:n.name})),r?.close(),y(!1);return}if(y(!1),n.autoAuth){A(n.name);try{let i=await ct(t,n.name);if(i.already_authenticated){r?.close(),W.success(e(`mcpPage.toastAlreadyAuthenticated`,{serverId:n.name})),L();return}r?r.location.href=i.auth_url:window.open(i.auth_url,`_blank`,`noopener,noreferrer`);for(let r=0;r<60;r++){await new Promise(e=>setTimeout(e,3e3));let r=await lt(t,n.name);if(r.status===`complete`){W.success(e(`mcpPage.toastAuthenticatedSuccess`,{serverId:n.name})),L();return}if(r.status===`error`){W.error(r.error??e(`mcpPage.toastAuthFailed`,{serverId:n.name}));return}}W.error(e(`mcpPage.toastAuthTimedOut`,{serverId:n.name}))}catch{r?.close(),W.error(e(`mcpPage.toastAuthStartFailed`,{serverId:n.name}))}finally{A(null),L()}}},[t,L,e]),re=(0,Q.useCallback)(async(n,r)=>{w(!0);try{await at(t,r),L(),W.success(e(`mcpPage.toastUpdated`,{serverId:n})),p(null)}catch{W.error(e(`mcpPage.toastUpdateFailed`,{serverId:n}))}finally{w(!1)}},[t,L,e]),ie=(0,Q.useCallback)(async()=>{O(!0);try{await dt(t),L(),W.success(e(`mcpPage.toastReloadSuccess`))}catch{W.error(e(`mcpPage.toastReloadFailed`))}finally{O(!1)}},[t,L,e]),ae=(0,Q.useCallback)(()=>{s?d(!0):Ne(r,{prompt:e(`mcpPage.setupPrompt`)})},[s,r,e]),oe=N?.servers??[];return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`mcpPage.title`)}),(0,$.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:e(`mcpPage.subtitle`)})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(b,{className:T?`animate-spin`:``}),onClick:ie,disabled:T,tooltip:e(`mcpPage.reloadTooltip`),"aria-label":e(`mcpPage.reloadAriaLabel`)}),s?(0,$.jsx)(X,{variant:`primary`,size:`compact`,leftIcon:(0,$.jsx)(E,{}),onClick:()=>d(!0),children:e(`mcpPage.addServerButton`)}):null]})]}),I?(0,$.jsxs)(`div`,{className:`flex gap-4 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(`span`,{children:e(`mcpPage.totalTools`,{count:I.totalToolCount})}),(0,$.jsx)(`span`,{children:e(`mcpPage.totalTokens`,{count:I.totalEstimatedTokens.toLocaleString()})})]}):null,P?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,$.jsx)(D,{className:`h-4 w-4 animate-spin`}),(0,$.jsx)(`span`,{children:e(`mcpPage.loading`)})]}):F?(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`mcpPage.loadError`)}):oe.length===0?(0,$.jsxs)(`button`,{type:`button`,onClick:ae,disabled:!l,className:`flex w-full flex-col items-center gap-2 rounded-lg border border-dashed border-[var(--border-element)] px-4 py-12 text-center transition-colors hover:border-[var(--border-active)] hover:bg-[var(--surface-hover)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] disabled:pointer-events-none`,children:[(0,$.jsx)(Be,{className:`h-6 w-6 text-[var(--content-disabled)]`}),(0,$.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`mcpPage.emptyTitle`)}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e(s?`mcpPage.emptyAddSubtitle`:`mcpPage.emptyChatSubtitle`)})]}):(0,$.jsx)(`div`,{className:`space-y-2`,children:oe.map(e=>(0,$.jsx)(ht,{server:e,toolsSummary:R.get(e.id),onToggleEnabled:B,onRemove:h,onConfigure:p,onAuthenticate:ee,onRevokeOAuth:te,isUpdating:g.has(e.id),isAuthenticating:k===e.id,isRevoking:j===e.id},e.id))}),s?(0,$.jsx)(nt,{open:u,onClose:()=>d(!1),onAdd:ne,isPending:v}):null,(0,$.jsx)(bt,{server:z,toolsSummary:f?R.get(f):void 0,onClose:()=>p(null),onSave:re,isPending:C}),(0,$.jsx)(J,{open:!!m,title:e(`mcpPage.removeDialogTitle`),message:m?e(`mcpPage.removeDialogMessage`,{serverId:m}):``,confirmLabel:e(`mcpPage.removeDialogConfirm`),destructive:!0,isPending:x,onConfirm:V,onCancel:()=>h(null)})]})}function wt(){return(0,$.jsx)(Ct,{})}var Tt=`vellum:integrations:bannerDismissed`;function Et(e,t){return{denied:e(`integrationsPage.oauthErrorDenied`),state_invalid:e(`integrationsPage.oauthErrorStateInvalid`),state_expired:e(`integrationsPage.oauthErrorStateExpired`),exchange_failed:e(`integrationsPage.oauthErrorExchangeFailed`),identity_failed:e(`integrationsPage.oauthErrorIdentityFailed`)}[t]}function Dt(e,t,n){if(t.trim())return e(`integrationsPage.emptySearchTitle`);switch(n){case`enabled`:return e(`integrationsPage.emptyEnabledTitle`);case`not-enabled`:return e(`integrationsPage.emptyAllEnabledTitle`);default:return e(`integrationsPage.emptyDefaultTitle`)}}function Ot(e,t,n){if(t.trim())return e(`integrationsPage.emptySearchSubtitle`,{query:t.trim()});switch(n){case`enabled`:return e(`integrationsPage.emptyEnabledSubtitle`);case`not-enabled`:return e(`integrationsPage.emptyNotEnabledSubtitle`);default:return e(`integrationsPage.emptyDefaultSubtitle`)}}var kt=[{value:`all`,labelKey:`integrationsPage.filterAll`},{value:`enabled`,labelKey:`integrationsPage.filterEnabled`},{value:`not-enabled`,labelKey:`integrationsPage.filterNotEnabled`}];function At(e,t){return e?.find(e=>e.provider===t)??null}function jt(e){return e===`mcp`?`mcp`:`oauth`}function Mt(){let{t:e}=o(`settings`),[t]=l(),r=c(),a=ne(),[s,u]=(0,Q.useState)(null),[d,f]=(0,Q.useState)(!0),[p,h]=(0,Q.useState)(``),[_,v]=(0,Q.useState)(`all`),[y,b]=(0,Q.useState)(!0),[x,S]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{b(F(Tt,`false`)===`true`)},[]);let C=()=>{b(!0),R(Tt,`true`)};(0,Q.useEffect)(()=>{let e=!0;return(async()=>{try{let t=await le();e&&t.ok&&u(t.data)}catch(e){Ae(e,{context:`integrations.getAssistant`})}finally{e&&f(!1)}})(),()=>{e=!1}},[]);let{platformAssistantId:w,isLoading:T}=ze(s?.id,a===`full`),{data:E,isLoading:O,isError:k}=i({...ae({path:{assistant_id:s?.id??``}}),select:e=>e.providers,enabled:!!s}),{data:A,isLoading:j}=i({...Ce({path:{assistant_id:w??``}}),enabled:!!w&&a===`full`});(0,Q.useEffect)(()=>{let n=t.get(`oauth_status`);if(!n)return;let i=t.get(`oauth_provider`),a=i?i.charAt(0).toUpperCase()+i.slice(1):null;if(n===`connected`)W.success(a?e(`integrationsPage.accountConnectedToast`,{providerLabel:a}):e(`integrationsPage.accountConnectedToastGeneric`));else if(n===`error`){let n=t.get(`oauth_code`)??`unknown`;W.error(Et(e,n)??(a?e(`integrationsPage.connectFailedToast`,{providerLabel:a}):e(`integrationsPage.connectFailedToastGeneric`)))}r(ue.settings.integrations,{replace:!0})},[t,r,e]);let M=(0,Q.useMemo)(()=>E?.filter(e=>e.supports_managed_mode)??[],[E]),N=(0,Q.useMemo)(()=>{let e=p.trim().toLowerCase(),t=M.filter(t=>{if(t.provider_key===`slack`)return!1;if(!e)return!0;let n=(t.display_name??t.provider_key).toLowerCase(),r=(t.description??``).toLowerCase();return n.includes(e)||r.includes(e)});return _!==`all`&&(t=t.filter(e=>{let t=!!At(A,e.provider_key)?.connected;return _===`enabled`?t:!t})),[...t].sort((e,t)=>{let n=!!At(A,e.provider_key)?.connected;if(n!==!!At(A,t.provider_key)?.connected)return n?-1:1;let r=(e.display_name??e.provider_key).toLowerCase(),i=(t.display_name??t.provider_key).toLowerCase();return r.localeCompare(i)})},[M,A,p,_]),P=d||O||j||T,I=Dt(e,p,_),L=Ot(e,p,_),z=(0,Q.useMemo)(()=>x?M.find(e=>e.provider_key===x)??null:null,[M,x]),V=kt.map(({value:t,labelKey:n})=>({value:t,label:e(n)}));return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[!y&&(0,$.jsx)(Pe,{tone:`info`,icon:(0,$.jsx)(g,{className:`h-3.5 w-3.5`}),onDismiss:C,children:(0,$.jsx)(n,{ns:`settings`,i18nKey:`integrationsPage.tipBanner`,components:{tip:(0,$.jsx)(`span`,{className:`text-body-medium-default`})}})}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(H,{type:`text`,value:p,onChange:e=>h(e.target.value),placeholder:e(`integrationsPage.searchPlaceholder`),"aria-label":e(`integrationsPage.searchAriaLabel`),leftIcon:(0,$.jsx)(m,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0,wrapperClassName:`flex-1`}),(0,$.jsx)(B,{options:V,value:_,onChange:v,"aria-label":e(`integrationsPage.filterAriaLabel`),menuAlign:`end`,className:`w-36 shrink-0`})]}),(0,$.jsx)(`div`,{children:P?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,$.jsx)(D,{className:`h-4 w-4 animate-spin`}),(0,$.jsx)(`span`,{children:e(`integrationsPage.loading`)})]}):k?(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`integrationsPage.loadFailed`)}):s?N.length===0?(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 rounded-lg border border-dashed border-[var(--border-element)] px-4 py-12 text-center`,children:[(0,$.jsx)(m,{className:`h-6 w-6 text-[var(--content-disabled)]`}),(0,$.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:I}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:L})]}):(0,$.jsx)(`div`,{className:`space-y-2`,children:N.map(e=>(0,$.jsx)(Xe,{platformAssistantId:w??s.id,providerKey:e.provider_key,displayName:e.display_name??e.provider_key,description:e.description,logoUrl:e.logo_url,connection:At(A,e.provider_key),platformGate:a,onConfigure:()=>S(e.provider_key)},e.provider_key))}):(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`integrationsPage.noAssistant`)})}),z&&s&&(0,$.jsx)(Ye,{assistantId:s.id,platformAssistantId:w??s.id,providerKey:z.provider_key,displayName:z.display_name??z.provider_key,description:z.description,logoUrl:z.logo_url,platformGate:a,onClose:()=>S(null)})]})}function Nt(){let{t:e}=o(`settings`),[t,n]=l(),r=jt(t.get(`tab`));return(0,$.jsx)(`div`,{className:`space-y-6`,children:(0,$.jsxs)(K.Root,{value:r,onValueChange:e=>{let r=jt(e),i=new URLSearchParams(t);r===`mcp`?i.set(`tab`,`mcp`):i.delete(`tab`),n(i,{replace:!0})},children:[(0,$.jsxs)(K.List,{children:[(0,$.jsx)(K.Trigger,{value:`oauth`,children:e(`integrationsPage.tabOAuth`)}),(0,$.jsx)(K.Trigger,{value:`mcp`,children:e(`integrationsPage.tabMcp`)})]}),(0,$.jsx)(K.Panel,{value:`oauth`,className:`pt-4`,children:(0,$.jsx)(Q.Suspense,{children:(0,$.jsx)(Mt,{})})}),(0,$.jsx)(K.Panel,{value:`mcp`,className:`pt-4`,children:(0,$.jsx)(wt,{})})]})})}export{Nt as IntegrationsPage};
@@ -1,5 +0,0 @@
1
- var e={conversationTitle:`正在更新個性`},t={conversationTitle:`正在更新名稱`},n={greeting:`哈囉,我是 {name}`,renamingInProgressAriaLabel:`正在重新命名`},r={all:`全部`,skillCategoriesAriaLabel:`技能類別`},i={askAboutThis:`詢問此內容`,askPrompt:`告訴我你對「{title}」的記憶,以及它如何與你所知的其他內容連結。`,backAriaLabel:`返回`,closeAriaLabel:`關閉`,connectionCount:`{count, plural, other {# 個連結}}`,emptyContent:`此概念尚未有書面內容。它在圖表中以連結形式存在,但其頁面為空。`,loadError:`無法載入此概念。請稍後再試。`,readFullNote:`閱讀完整筆記`,refine:`精煉`,refinePrompt:`我想精煉你對「{title}」的記憶。告訴我哪裡不對,我們一起修正。`,showLess:`顯示較少`,trailAriaLabel:`概念軌跡`,updated:`{date} 更新`,wiredTo:`連結至`},a={nodeKind:{capability:`能力`,concept:`概念`,other:`其他`,pending:`待處理`,skill:`技能`}},o={description:`它學習的每個想法,以及在它們之間建立的連結,都會顯示在這裡。這張地圖會隨著你的對話而增長和重新排列,因此你分享得越多,它就越豐富。`,dismissAriaLabel:`關閉`,title:`這是你的助理的心智`},s={coloredByTheme:`依主題著色`,learned:`已學習`,link:`連結`,moreThemes:`{count, plural, other {+{count} 個更多}}`},c={clearSearchAriaLabel:`清除搜尋`,dragToRotateHint:`拖曳以旋轉 · 捲動以縮放`,emptyDetail:`隨著你的助理學習並連結想法,它們將在這裡顯示為一張生動的記憶地圖。`,emptyTitle:`尚無概念`,enterFullscreenAriaLabel:`進入全螢幕`,exitFullscreenAriaLabel:`離開全螢幕`,loadErrorDetail:`擷取助理的記憶時發生問題。請稍後再試。`,loadErrorTitle:`無法載入記憶圖`,resetViewAriaLabel:`重設檢視`,searchConceptsAriaLabel:`搜尋概念`,searchConceptsPlaceholder:`搜尋概念…`,truncatedNotice:`{count, plural, other {顯示 {count} 個連結最多的概念}}`,zoomInAriaLabel:`放大`,zoomOutAriaLabel:`縮小`},l={cancel:`取消`,contentLabel:`我應該記住什麼?`,contentPlaceholder:`例如:我偏好簡潔的條列式摘要。`,create:`建立記憶`,createError:`建立記憶失敗。`,creating:`正在建立…`,helperText:`它會立即顯示在地圖上,歸檔後會成為一個概念。`,savedFoundToast:`明白了。正在帶你前往。`,savedPendingToast:`明白了。它已在地圖上,我正在歸檔。`,saveError:`無法儲存該記憶。`,title:`新記憶`},u={failureMessage:`載入記憶圖失敗。`},d={failureMessage:`載入此概念失敗。`},f={cardHoverLine:{channels:`所有可以聯絡到我的地方`,contacts:`我認識並信任的人`,library:`我為你製作的應用程式和文件`,memory:`我記住的一切`,personality:`來吧,調整我的靈魂`,schedules:`我重複執行的排程`,superpowers:`我所知道的所有能力`,workspace:`所有支援我的檔案`},defaultAssistantName:`助理`,memoryCount:`{count, plural, other {# 則記憶}}`,memoryCountLabel:`{count, plural, other {則記憶}}`,renameErrorToast:`重新命名未成功。請再試一次。`,renameSuccessToast:`向 {newName} 問好!`,scheduleCadence:`{cadence} · 下次 {nextRun}`,scheduleGhosts:{inboxTriageCadence:`每 2 小時`,inboxTriageName:`收件匣整理`,morningBriefingCadence:`每個工作日 8:00`,morningBriefingName:`晨間簡報`},setUpSchedule:`建立排程`,updateAvatarAndName:`更新頭像和名稱`,viewMoreSchedules:`{count, plural, other {檢視 {count} 個更多…}}`},p={channels:{description:`我聆聽的地方`,label:`頻道`},contacts:{description:`我認識的人`,label:`聯絡人`},library:{description:`我的應用程式與文件`,label:`資料庫`},memory:{description:`我記得的內容`,label:`記憶`},personality:{description:`調整我的說話方式`,label:`個性`},schedules:{description:`我的日常排程`,label:`排程`},superpowers:{description:`我能做的事情`,label:`超能力`},workspace:{description:`我的檔案`,label:`工作區`}},m={failureMessage:`技能安裝失敗。`},h={backToAriaLabel:`返回 {name}`,backToTitle:`返回 {name}`},g={failureMessage:`概念頁面載入失敗。`},_={justNow:`剛才`},v={createMemory:`建立記憶`},y={sourceType:{direct:`直接告知`,inferred:`推斷`,observed:`觀察到`,toldByOther:`由他人告知`}},b={memorySettings:`記憶設定`,tryAgain:`再試一次`,turnMemoryOn:`開啟記憶`,upgradeMemory:`升級記憶`},x={companionCoworker:{left:`夥伴`,right:`同事`},executeCollaborate:{left:`獨立`,right:`協作`},genzBoomer:{left:`Z 世代`,right:`嬰兒潮世代`},playfulSerious:{left:`活潑`,right:`嚴肅`},politeUnfiltered:{left:`有禮`,right:`直率`}},S={back:`返回`,subtitle:`滑動調整軸,然後點擊更新,我會重新調整以符合您的設定。`,title:`塑造我的個性`,updateErrorToast:`個性更新未成功。請再試一次。`,updatePersonality:`更新個性`,updateSuccessToast:`個性已更新。去打聲招呼吧!`,updatingPersonality:`正在更新 {name} 的個性…`},C={ariaLabel:`個性:{summary}`,axisBalanced:`{left} 與 {right} 平衡`,axisLean:`{percent}% {label}`},w={rangeAriaLabel:`{left} 到 {right}`},T={installError:`外掛程式安裝失敗。請再試一次。`,removeConfirmMessage:`從此助理中移除「{name}」?`,removeError:`外掛程式移除失敗。請再試一次。`,riskyUpgradeConfirmLabel:`仍要升級`,riskyUpgradeConfirmMessage:`「{name}」有本機編輯,升級後將會被覆寫。是否繼續?`,toggleError:`外掛程式更新失敗。請再試一次。`,upgradeError:`外掛程式升級失敗。請再試一次。`},E={backToPluginsAriaLabel:`返回外掛程式`,noReadme:`此外掛程式未附帶 README 檔案。`,version:`v{version}`},D={autoIncludeInChat:`在聊天中自動包含`,download:`下載`,homepageLabel:`首頁`,hooksLabel:`掛鉤`,install:`安裝`,licenseLabel:`授權`,loadErrorDetail:`它可能不存在,或者您的助理可能正在使用較舊的版本。`,loadErrorTitle:`我們無法載入此外掛程式。`,localSource:`本機`,remove:`移除`,removePluginTitle:`移除外掛程式`,skillsLabel:`技能`,sourceLabel:`來源`,toolsLabel:`工具`,upgrade:`升級`,upgradePluginTitle:`升級外掛程式`,upgradeTitle:`升級 {fromSha} → {toSha}`},O={disabled:`已停用`,enabled:`已啟用`,installingAriaLabel:`正在安裝`,installPluginAriaLabel:`安裝外掛程式`,moreIssues:`{count, plural, other { (+# 個以上)}}`,noDescription:`未提供說明。`,pluginTag:`外掛程式`,removePluginAriaLabel:`移除外掛程式`,version:`v{version}`},k={external:`外部`,local:`本機`},A={alreadyUpToDate:`{name} 已是最新版本`,installed:`已安裝 {name}`,pluginFallback:`外掛程式`,pluginFallbackCapitalized:`外掛程式`,removed:`已移除 {name}`,upgraded:`已將 {name} 升級至 {sha}`},j={all:`全部`,ariaLabel:`近期視窗`,month:`月`,week:`週`},M={channels:`頻道`,contacts:`聯絡人`,library:`程式庫`,memory:`記憶`,schedules:`排程`,superpowers:`我的超能力`,workspace:`工作區`},N={backToConversationAriaLabel:`返回對話`,backToSkillsAriaLabel:`返回技能`,filesTab:`檔案`,fileViewModeAriaLabel:`檔案檢視模式`,historyTab:`歷史記錄`,install:`安裝`,noFilesAvailable:`無可用檔案。`,openInWorkspaceAriaLabel:`在工作區中開啟`,pendingAriaLabel:`待處理`,preview:`預覽`,remove:`移除`,saveFailed:`儲存失敗`,selectAFile:`選取檔案`,selectFilePrompt:`選取檔案以檢視其內容。`,source:`來源`},P={backToConversation:`返回對話`,backToSuperpowers:`返回我的超能力`,notFoundSubtitle:`此技能可能已被移除,或連結已過期。`,notFoundTitle:`找不到技能`},F={binaryFile:`二進位檔案。無可用預覽。`,noPreviewAvailable:`{fileName} 無可用預覽。`},I={assistantMemory:`助理記憶`,custom:`自訂`},L={loadError:`無法載入修訂歷史記錄。`,noChanges:`尚未記錄任何變更。`,noPreviewForChange:`此變更無可用預覽。`,truncatedNotice:`顯示近期變更。較舊的歷史記錄會定期壓縮,因此可能無法追溯到技能建立時。`},R={bundledSkillCannotBeRemovedAriaLabel:`無法移除內建技能`,bundledSkillsCannotBeRemoved:`無法移除內建技能`,installingAriaLabel:`正在安裝`,installSkillAriaLabel:`安裝技能`,removeSkillAriaLabel:`移除技能`},z={subtitle:`發生錯誤。請嘗試重新整理頁面。`,title:`載入技能失敗`},B={categoriesLabel:`類別`,done:`完成`,filterAriaLabel:`篩選超能力`,filterLabel:{all:`全部`,assistantMemory:`助理記憶`,available:`可用`,custom:`自訂`,installed:`已安裝`,plugins:`外掛程式`,skills:`技能`},filtersTitle:`篩選器`,searchAriaLabel:`搜尋超能力`,searchPlaceholder:`搜尋超能力`,sourceLabel:`來源`,statusLabel:`狀態`,typeLabel:`類型`},V={catalogBrowsingUnavailableNotice:`外掛程式目錄瀏覽暫時無法使用。已安裝的外掛程式仍列於下方。`,categoriesAriaLabel:`超能力類別`,dismissTipAriaLabel:`關閉提示`,emptyState:{assistantMemorySubtitle:`您的助理從過去對話中建立的技能將會顯示在此處。`,assistantMemoryTitle:`無記憶技能`,availableSubtitle:`所有可用的技能和外掛程式皆已安裝。`,availableTitle:`無可安裝項目`,categorySubtitle:`請嘗試選擇不同的類別或清除篩選條件。`,categoryTitle:`此類別中無內容`,clawhubSubtitle:`未找到 Clawhub 技能。請嘗試搜尋目錄。`,clawhubTitle:`無 Clawhub 技能`,customSubtitle:`透過在聊天中描述您的需求來建立自訂技能。`,customTitle:`無自訂技能`,defaultSubtitle:`請檢查您與 Vellum 目錄的連線。`,defaultTitle:`無可用超能力`,installedSubtitle:`在聊天中要求您的助理搜尋並安裝新的技能和外掛程式。`,installedTitle:`未安裝超能力`,pluginsSubtitle:`瀏覽目錄以安裝可擴充您助理的外掛程式。`,pluginsTitle:`未找到外掛程式`,skillsshSubtitle:`未找到 skills.sh 技能。請嘗試搜尋目錄。`,skillsshTitle:`無 skills.sh 技能`,skillsSubtitle:`在聊天中要求您的助理搜尋並安裝新的技能。`,skillsTitle:`未找到技能`,vellumSubtitle:`未找到隨附的 Vellum 技能。`,vellumTitle:`無 Vellum 技能`},errorStateSubtitle:`發生錯誤。請嘗試重新整理頁面。`,errorStateTitle:`載入超能力失敗`,pluginsUnavailableNotice:`外掛程式暫時無法使用。技能仍列於下方。`,skillsUnavailableNotice:`技能暫時無法使用。外掛程式仍列於下方。`,tipBannerText:`透過在聊天中描述您的需求來建立新的自訂技能,或安裝外掛程式以擴充您的助理。`},H={updateAvailable:`有可用的更新`,upgradePluginAriaLabel:`升級外掛程式`},U={activeCount:`{count, plural, other {# 個啟用中}}`,activeLabel:`{count, plural, other {啟用中}}`,appAndDocCount:`{count, plural, other {# 個應用程式或文件}}`,appCount:`{count, plural, other {# 個應用程式}}`,connectedCount:`{count, plural, other {# 個已連線}}`,connectedLabel:`{count, plural, other {已連線}}`,itemCount:`{count, plural, other {# 個項目}}`,itemLabel:`{count, plural, other {項目}}`,noSchedulesText:`尚未排定任何項目`,personCount:`{count, plural, other {# 位人員}}`,personLabel:`{count, plural, other {人員}}`,skillAndPluginCount:`{count, plural, other {# 個技能或外掛程式}}`,skillCount:`{count, plural, other {# 個技能}}`},W={failureMessage:`載入外掛程式失敗`},G={statusError:{title:`無法檢查您的記憶設定`,detail:`讀取此助理的記憶狀態時發生錯誤,因此目前無法提供可靠的資訊。`},off:{title:`記憶功能已關閉`,detail:`您的助理不會保留您對話中的任何內容,因此無法繪製記憶圖。請重新開啟記憶功能以再次開始記憶。`},legacy:{title:`升級至記憶功能 v3`,detail:`您的助理正在使用舊版記憶引擎。記憶功能 v3 會將其所知的內容重組為概念的連結維基,而此記憶圖正是根據該維基繪製的。`},unknown:{title:`記憶圖無法使用`,detail:`此助理的記憶後端未提供足夠的資訊來解釋原因。請更新您的助理,此頁面將會告知您所需的內容。`},prompts:{v2:`將我的記憶從 v2 遷移至 v3。這很可能是您的「記憶功能 v3 遷移」技能,但請弄清楚我的語料庫實際需要什麼,並嚴格遵循您使用的任何技能。
2
-
3
- 請在背景執行,並在完成時或遇到阻礙時通知我。`,v1:`將我的記憶從 v1 遷移至 v3。這很可能是兩個步驟,先是您的「記憶功能 v2 遷移」技能,然後是您的「記憶功能 v3 遷移」技能,但請弄清楚我的助理實際需要什麼,並嚴格遵循您使用的任何技能。
4
-
5
- 請在背景執行,並在完成時或遇到阻礙時通知我。`,enable:`請重新開啟我的記憶功能。我希望您再次開始記憶我們對話中的內容。`}},K={applyPersonalityUpdate:e,applyRename:t,assistantNameEditor:n,categorySidebar:r,conceptDetailPanel:i,conceptGraphConstants:a,conceptGraphIntroBanner:o,conceptGraphLegend:s,conceptGraphView:c,createMemoryModal:l,getMemoryGraph:u,getMemoryGraphNode:d,identityOverview:f,identitySections:p,installSkill:m,intelligenceLayout:h,listConceptPages:g,memoryFormat:_,memoryPage:v,memoryTypes:y,memoryUpgradePrompt:b,personalityAxes:x,personalityPage:S,personalitySignature:C,personalitySliderRow:w,pluginConstants:T,pluginDetail:E,pluginDetailShared:D,pluginListRow:O,pluginOriginBadge:k,pluginToast:A,recencyLens:j,sections:M,skillDetail:N,skillDetailPage:P,skillFileContent:F,skillOriginBadge:I,skillRevisionHistory:L,skillRow:R,skillsErrorState:z,superpowersFilters:B,superpowersTab:V,updateAvailableBadge:H,useIdentitySectionStats:U,usePluginsList:W,memoryUnavailable:G};export{e as applyPersonalityUpdate,t as applyRename,n as assistantNameEditor,r as categorySidebar,i as conceptDetailPanel,a as conceptGraphConstants,o as conceptGraphIntroBanner,s as conceptGraphLegend,c as conceptGraphView,l as createMemoryModal,K as default,u as getMemoryGraph,d as getMemoryGraphNode,f as identityOverview,p as identitySections,m as installSkill,h as intelligenceLayout,g as listConceptPages,_ as memoryFormat,v as memoryPage,y as memoryTypes,G as memoryUnavailable,b as memoryUpgradePrompt,x as personalityAxes,S as personalityPage,C as personalitySignature,w as personalitySliderRow,T as pluginConstants,E as pluginDetail,D as pluginDetailShared,O as pluginListRow,k as pluginOriginBadge,A as pluginToast,j as recencyLens,M as sections,N as skillDetail,P as skillDetailPage,F as skillFileContent,I as skillOriginBadge,L as skillRevisionHistory,R as skillRow,z as skillsErrorState,B as superpowersFilters,V as superpowersTab,H as updateAvailableBadge,U as useIdentitySectionStats,W as usePluginsList};
@@ -1,5 +0,0 @@
1
- var e={conversationTitle:`正在更新个性`},t={conversationTitle:`正在更新名称`},n={greeting:`你好,我是 {name}`,renamingInProgressAriaLabel:`正在重命名`},r={all:`全部`,skillCategoriesAriaLabel:`技能类别`},i={askAboutThis:`询问此内容`,askPrompt:`告诉我你对“{title}”的记忆,以及它如何与你所知的其他内容联系起来。`,backAriaLabel:`返回`,closeAriaLabel:`关闭`,connectionCount:`{count, plural, other {# 个连接}}`,emptyContent:`此概念尚未有书面内容。它在图中以链接形式存在,但其页面为空。`,loadError:`无法加载此概念。请稍后重试。`,readFullNote:`阅读完整笔记`,refine:`优化`,refinePrompt:`我想优化你对“{title}”的记忆。告诉我哪里不对,我们一起修正。`,showLess:`显示更少`,trailAriaLabel:`概念轨迹`,updated:`{date} 更新`,wiredTo:`连接到`},a={nodeKind:{capability:`能力`,concept:`概念`,other:`其他`,pending:`待处理`,skill:`技能`}},o={description:`它学习的每一个想法,以及它们之间建立的联系,都会在这里显示。这张地图会随着你的对话而增长和重新排列,所以你分享得越多,它就越丰富。`,dismissAriaLabel:`关闭`,title:`这是你助手的思维`},s={coloredByTheme:`按主题着色`,learned:`已学习`,link:`链接`,moreThemes:`{count, plural, other {+{count} 个更多}}`},c={clearSearchAriaLabel:`清除搜索`,dragToRotateHint:`拖动旋转 · 滚动缩放`,emptyDetail:`随着你的助手学习和关联想法,它们将在这里显示为一张生动的记忆地图。`,emptyTitle:`暂无概念`,enterFullscreenAriaLabel:`进入全屏`,exitFullscreenAriaLabel:`退出全屏`,loadErrorDetail:`获取助手记忆时出现问题。请稍后重试。`,loadErrorTitle:`无法加载记忆图`,resetViewAriaLabel:`重置视图`,searchConceptsAriaLabel:`搜索概念`,searchConceptsPlaceholder:`搜索概念…`,truncatedNotice:`{count, plural, other {显示 {count} 个连接最多的概念}}`,zoomInAriaLabel:`放大`,zoomOutAriaLabel:`缩小`},l={cancel:`取消`,contentLabel:`我应该记住什么?`,contentPlaceholder:`例如:我喜欢简洁的要点总结。`,create:`创建记忆`,createError:`创建记忆失败。`,creating:`正在创建…`,helperText:`它会立即出现在地图上,并在归档后成为一个概念。`,savedFoundToast:`明白了。正在带你前往。`,savedPendingToast:`明白了。它已在你的地图上,我正在归档。`,saveError:`无法保存该记忆。`,title:`新记忆`},u={failureMessage:`加载记忆图失败。`},d={failureMessage:`加载此概念失败。`},f={cardHoverLine:{channels:`所有可以联系到我的地方`,contacts:`我认识并信任的人`,library:`我为你制作的应用和文档`,memory:`我记住的一切`,personality:`来吧,调整我的灵魂`,schedules:`我重复执行的任务`,superpowers:`我所知道的一切能力`,workspace:`所有支持我的文件`},defaultAssistantName:`助手`,memoryCount:`{count, plural, other {# 条记忆}}`,memoryCountLabel:`{count, plural, other {条记忆}}`,renameErrorToast:`重命名未成功。请重试。`,renameSuccessToast:`向 {newName} 问好!`,scheduleCadence:`{cadence} · 下次 {nextRun}`,scheduleGhosts:{inboxTriageCadence:`每 2 小时`,inboxTriageName:`收件箱整理`,morningBriefingCadence:`每个工作日 8:00`,morningBriefingName:`早间简报`},setUpSchedule:`创建定时任务`,updateAvatarAndName:`更新头像和名称`,viewMoreSchedules:`{count, plural, other {查看 {count} 个更多…}}`},p={channels:{description:`我倾听的地方`,label:`渠道`},contacts:{description:`我认识的人`,label:`联系人`},library:{description:`我的应用和文档`,label:`资料库`},memory:{description:`我记住的内容`,label:`记忆`},personality:{description:`调整我的说话方式`,label:`个性`},schedules:{description:`我的日常安排`,label:`日程`},superpowers:{description:`我能做的事情`,label:`超能力`},workspace:{description:`我的文件`,label:`工作区`}},m={failureMessage:`技能安装失败。`},h={backToAriaLabel:`返回 {name}`,backToTitle:`返回 {name}`},g={failureMessage:`概念页面加载失败。`},_={justNow:`刚才`},v={createMemory:`创建记忆`},y={sourceType:{direct:`直接告知`,inferred:`推断`,observed:`观察到`,toldByOther:`他人告知`}},b={memorySettings:`记忆设置`,tryAgain:`重试`,turnMemoryOn:`开启记忆`,upgradeMemory:`升级记忆`},x={companionCoworker:{left:`伙伴`,right:`同事`},executeCollaborate:{left:`独立`,right:`协作`},genzBoomer:{left:`Z世代`,right:`婴儿潮一代`},playfulSerious:{left:`活泼`,right:`严肃`},politeUnfiltered:{left:`礼貌`,right:`直率`}},S={back:`返回`,subtitle:`滑动刻度盘,然后点击更新,我将重新调整以匹配您的设置。`,title:`塑造我的个性`,updateErrorToast:`个性更新未能成功。请重试。`,updatePersonality:`更新个性`,updateSuccessToast:`个性已更新。去打个招呼吧!`,updatingPersonality:`正在更新 {name} 的个性…`},C={ariaLabel:`个性:{summary}`,axisBalanced:`{left} 和 {right} 平衡`,axisLean:`{percent}% {label}`},w={rangeAriaLabel:`{left} 到 {right}`},T={installError:`插件安装失败。请重试。`,removeConfirmMessage:`从该助手中移除“{name}”?`,removeError:`插件移除失败。请重试。`,riskyUpgradeConfirmLabel:`仍要升级`,riskyUpgradeConfirmMessage:`“{name}”存在本地修改,升级后将被覆盖。是否继续?`,toggleError:`插件更新失败。请重试。`,upgradeError:`插件升级失败。请重试。`},E={backToPluginsAriaLabel:`返回插件列表`,noReadme:`此插件未附带 README 文件。`,version:`v{version}`},D={autoIncludeInChat:`在聊天中自动包含`,download:`下载`,homepageLabel:`主页`,hooksLabel:`钩子`,install:`安装`,licenseLabel:`许可证`,loadErrorDetail:`它可能不存在,或者您的助手可能正在使用较旧的版本。`,loadErrorTitle:`我们无法加载此插件。`,localSource:`本地`,remove:`移除`,removePluginTitle:`移除插件`,skillsLabel:`技能`,sourceLabel:`来源`,toolsLabel:`工具`,upgrade:`升级`,upgradePluginTitle:`升级插件`,upgradeTitle:`升级 {fromSha} → {toSha}`},O={disabled:`已禁用`,enabled:`已启用`,installingAriaLabel:`正在安装`,installPluginAriaLabel:`安装插件`,moreIssues:`{count, plural, other { (+# 更多)}}`,noDescription:`未提供描述。`,pluginTag:`插件`,removePluginAriaLabel:`移除插件`,version:`v{version}`},k={external:`外部`,local:`本地`},A={alreadyUpToDate:`{name} 已是最新版本`,installed:`已安装 {name}`,pluginFallback:`插件`,pluginFallbackCapitalized:`插件`,removed:`已移除 {name}`,upgraded:`已将 {name} 升级到 {sha}`},j={all:`全部`,ariaLabel:`近期窗口`,month:`月`,week:`周`},M={channels:`渠道`,contacts:`联系人`,library:`库`,memory:`记忆`,schedules:`定时任务`,superpowers:`我的超能力`,workspace:`工作区`},N={backToConversationAriaLabel:`返回对话`,backToSkillsAriaLabel:`返回技能`,filesTab:`文件`,fileViewModeAriaLabel:`文件查看模式`,historyTab:`历史记录`,install:`安装`,noFilesAvailable:`无可用文件。`,openInWorkspaceAriaLabel:`在工作区中打开`,pendingAriaLabel:`待处理`,preview:`预览`,remove:`移除`,saveFailed:`保存失败`,selectAFile:`选择文件`,selectFilePrompt:`选择一个文件以查看其内容。`,source:`来源`},P={backToConversation:`返回对话`,backToSuperpowers:`返回我的超能力`,notFoundSubtitle:`此技能可能已被移除,或链接已过期。`,notFoundTitle:`未找到技能`},F={binaryFile:`二进制文件。无可用预览。`,noPreviewAvailable:`{fileName} 无可用预览。`},I={assistantMemory:`助手记忆`,custom:`自定义`},L={loadError:`无法加载修订历史。`,noChanges:`尚未记录任何更改。`,noPreviewForChange:`此更改无可用预览。`,truncatedNotice:`显示近期更改。较早的历史记录会定期压缩,因此可能无法追溯到技能创建时。`},R={bundledSkillCannotBeRemovedAriaLabel:`捆绑技能无法移除`,bundledSkillsCannotBeRemoved:`捆绑技能无法移除`,installingAriaLabel:`正在安装`,installSkillAriaLabel:`安装技能`,removeSkillAriaLabel:`移除技能`},z={subtitle:`发生错误。请尝试刷新页面。`,title:`加载技能失败`},B={categoriesLabel:`类别`,done:`完成`,filterAriaLabel:`筛选超能力`,filterLabel:{all:`全部`,assistantMemory:`助手记忆`,available:`可用`,custom:`自定义`,installed:`已安装`,plugins:`插件`,skills:`技能`},filtersTitle:`筛选器`,searchAriaLabel:`搜索超能力`,searchPlaceholder:`搜索超能力`,sourceLabel:`来源`,statusLabel:`状态`,typeLabel:`类型`},V={catalogBrowsingUnavailableNotice:`插件目录浏览暂时不可用。已安装的插件仍列于下方。`,categoriesAriaLabel:`超能力类别`,dismissTipAriaLabel:`关闭提示`,emptyState:{assistantMemorySubtitle:`您的助手从过去的对话中创作的技能将显示在此处。`,assistantMemoryTitle:`无记忆技能`,availableSubtitle:`所有可用技能和插件均已安装。`,availableTitle:`无可安装项`,categorySubtitle:`尝试选择不同的类别或清除筛选器。`,categoryTitle:`此类别中无内容`,clawhubSubtitle:`未找到 Clawhub 技能。请尝试搜索目录。`,clawhubTitle:`无 Clawhub 技能`,customSubtitle:`通过在聊天中描述您的需求来创建自定义技能。`,customTitle:`无自定义技能`,defaultSubtitle:`检查您与 Vellum 目录的连接。`,defaultTitle:`无可用超能力`,installedSubtitle:`在聊天中要求您的助手搜索并安装新技能和插件。`,installedTitle:`未安装超能力`,pluginsSubtitle:`浏览目录以安装扩展您助手的插件。`,pluginsTitle:`未找到插件`,skillsshSubtitle:`未找到 skills.sh 技能。请尝试搜索目录。`,skillsshTitle:`无 skills.sh 技能`,skillsSubtitle:`在聊天中要求您的助手搜索并安装新技能。`,skillsTitle:`未找到技能`,vellumSubtitle:`未找到捆绑的 Vellum 技能。`,vellumTitle:`无 Vellum 技能`},errorStateSubtitle:`发生错误。请尝试刷新页面。`,errorStateTitle:`加载超能力失败`,pluginsUnavailableNotice:`插件暂时不可用。技能仍列于下方。`,skillsUnavailableNotice:`技能暂时不可用。插件仍列于下方。`,tipBannerText:`通过在聊天中描述您的需求来创建新的自定义技能,或安装插件以扩展您的助手。`},H={updateAvailable:`有可用更新`,upgradePluginAriaLabel:`升级插件`},U={activeCount:`{count, plural, other {# 个活跃}}`,activeLabel:`{count, plural, other {活跃}}`,appAndDocCount:`{count, plural, other {# 个应用或文档}}`,appCount:`{count, plural, other {# 个应用}}`,connectedCount:`{count, plural, other {# 个已连接}}`,connectedLabel:`{count, plural, other {已连接}}`,itemCount:`{count, plural, other {# 个项目}}`,itemLabel:`{count, plural, other {项目}}`,noSchedulesText:`尚未安排任何内容`,personCount:`{count, plural, other {# 个人}}`,personLabel:`{count, plural, other {人}}`,skillAndPluginCount:`{count, plural, other {# 个技能或插件}}`,skillCount:`{count, plural, other {# 个技能}}`},W={failureMessage:`加载插件失败`},G={statusError:{title:`无法检查您的记忆设置`,detail:`读取此助手的记忆状态时发生错误,因此暂时无法提供可靠信息。`},off:{title:`记忆已关闭`,detail:`您的助手不会保留您对话中的任何内容,因此无法绘制记忆图。请重新开启记忆以开始记忆。`},legacy:{title:`升级到记忆 v3`,detail:`您的助手正在使用旧版记忆引擎。记忆 v3 将其所知内容重组为概念的链接维基,此记忆图正是基于该维基绘制的。`},unknown:{title:`记忆图不可用`,detail:`此助手的记忆后端未报告足够信息来解释原因。请更新您的助手,此页面将告知您所需内容。`},prompts:{v2:`将我的记忆从 v2 迁移到 v3。这很可能是您的“记忆 v3 迁移”技能,但请弄清楚我的语料库实际需要什么,并严格遵循您使用的任何技能。
2
-
3
- 在后台运行它,并在完成后或遇到阻碍时通知我。`,v1:`将我的记忆从 v1 迁移到 v3。这很可能是两步操作,您的“记忆 v2 迁移”技能,然后是您的“记忆 v3 迁移”技能,但请弄清楚我的助手实际需要什么,并严格遵循您使用的任何技能。
4
-
5
- 在后台运行它,并在完成后或遇到阻碍时通知我。`,enable:`重新开启我的记忆。我希望您再次开始记住我们对话中的内容。`}},K={applyPersonalityUpdate:e,applyRename:t,assistantNameEditor:n,categorySidebar:r,conceptDetailPanel:i,conceptGraphConstants:a,conceptGraphIntroBanner:o,conceptGraphLegend:s,conceptGraphView:c,createMemoryModal:l,getMemoryGraph:u,getMemoryGraphNode:d,identityOverview:f,identitySections:p,installSkill:m,intelligenceLayout:h,listConceptPages:g,memoryFormat:_,memoryPage:v,memoryTypes:y,memoryUpgradePrompt:b,personalityAxes:x,personalityPage:S,personalitySignature:C,personalitySliderRow:w,pluginConstants:T,pluginDetail:E,pluginDetailShared:D,pluginListRow:O,pluginOriginBadge:k,pluginToast:A,recencyLens:j,sections:M,skillDetail:N,skillDetailPage:P,skillFileContent:F,skillOriginBadge:I,skillRevisionHistory:L,skillRow:R,skillsErrorState:z,superpowersFilters:B,superpowersTab:V,updateAvailableBadge:H,useIdentitySectionStats:U,usePluginsList:W,memoryUnavailable:G};export{e as applyPersonalityUpdate,t as applyRename,n as assistantNameEditor,r as categorySidebar,i as conceptDetailPanel,a as conceptGraphConstants,o as conceptGraphIntroBanner,s as conceptGraphLegend,c as conceptGraphView,l as createMemoryModal,K as default,u as getMemoryGraph,d as getMemoryGraphNode,f as identityOverview,p as identitySections,m as installSkill,h as intelligenceLayout,g as listConceptPages,_ as memoryFormat,v as memoryPage,y as memoryTypes,G as memoryUnavailable,b as memoryUpgradePrompt,x as personalityAxes,S as personalityPage,C as personalitySignature,w as personalitySliderRow,T as pluginConstants,E as pluginDetail,D as pluginDetailShared,O as pluginListRow,k as pluginOriginBadge,A as pluginToast,j as recencyLens,M as sections,N as skillDetail,P as skillDetailPage,F as skillFileContent,I as skillOriginBadge,L as skillRevisionHistory,R as skillRow,z as skillsErrorState,B as superpowersFilters,V as superpowersTab,H as updateAvailableBadge,U as useIdentitySectionStats,W as usePluginsList};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{b as t,f as n}from"./react-DPM_L_aA.js";import{av as r}from"./index-CEGpfe8u.js";var i=e(t(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(r.settings.keyboardShortcuts,{replace:!0})},[e]),null}export{a as KeyboardShortcutsRedirectPage};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-kNpRDQWe.js";import{b as n,d as r,t as i}from"./react-DPM_L_aA.js";import{Fo as a,Ig as o,Io as s,Lo as c,Po as l,av as u,mg as d,pg as f,pv as p,xy as m}from"./index-CEGpfe8u.js";import{n as h,r as g,t as _}from"./auth-welcome-screen-CFFSCc30.js";import{n as v,t as y}from"./use-return-to-short-circuit-D_IAqtS5.js";var b=e(n(),1),x=i();function S({returnTo:e}){let{t:n}=t(`account`),[r,i]=(0,b.useState)(null),[o,u]=(0,b.useState)(!1),d=async()=>{i(null),u(!0);try{await f({returnTo:e??null})}catch(e){if(a(e)){u(!1);return}p(e,{context:`native_login`,tags:{authError:s(e)??`unclassified`}}),i(n(c(e),{community:l})),u(!1)}};return(0,x.jsx)(g,{animateAvatarWaveIn:!0,fillsViewport:!0,children:(0,x.jsx)(h,{error:r,children:(0,x.jsx)(m,{type:`button`,variant:`primary`,size:`regular`,fullWidth:!0,className:`h-11 text-base`,onClick:()=>{d()},disabled:o,children:n(`loginPage.signIn`)})})})}function C({returnTo:e}){let{t:n}=t(`account`),{search:i}=r(),a=o(e?`${u.account.signup}?returnTo=${encodeURIComponent(e)}`:u.account.signup,i);return(0,x.jsx)(_,{returnTo:e,errorContext:`web_login`,fillsViewport:!0,secondary:{label:n(`loginPage.signUp`),href:a}})}function w(){let e=d(),t=y();return t.kind===`wait`?(0,x.jsx)(g,{animateAvatarWaveIn:!0,fillsViewport:!0,children:(0,x.jsx)(v,{})}):t.kind===`redirect`?t.node:e?(0,x.jsx)(S,{returnTo:t.returnTo}):(0,x.jsx)(C,{returnTo:t.returnTo})}export{w as LoginPage};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-kNpRDQWe.js";import{b as n,g as r,t as i}from"./react-DPM_L_aA.js";import{If as a,Pg as o,av as s,ss as c}from"./index-CEGpfe8u.js";import{r as l,t as u}from"./account-shell-MfKTYVoK.js";var d=e(n(),1),f=i();function p(){let{t:e}=t(`account`),[n]=r(),i=a.use.logout(),p=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{if(p.current)return;p.current=!0;let e=o(n.get(`returnTo`),s.account.login),t=e.startsWith(`http`)||e===s.account.login?e:`${s.account.login}?returnTo=${encodeURIComponent(e)}`,r=!1;return i().then(()=>{r||c(t)},()=>{r||c(t)}),()=>{r=!0}},[i,n]),(0,f.jsx)(u,{children:(0,f.jsx)(l,{title:e(`logoutPage.title`)})})}export{p as LogoutPage};
@@ -1,2 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{I as t,Xn as n,Zn as r,er as i,j as a}from"./vendor-kNpRDQWe.js";import{b as o,f as s,t as c}from"./react-DPM_L_aA.js";import{Gt as l,Ht as u,Ir as d,J as f,K as p,P as m,Pt as h,Q as g,Rr as _,et as v,i as y,n as b,st as x,t as ee,tn as S,zr as C}from"./icons-CSdHOix6.js";import{Ch as w,Jt as T,So as te,To as ne,Y as E,_v as re,av as ie,bh as D,bv as O,by as ae,iy as k,ny as A,oo as oe,ou as j,oy as se,py as M,vs as N,vv as P,wo as F,xy as I,yi as L,yu as ce}from"./index-CEGpfe8u.js";var R=e(o(),1),z={x:600,y:450},le=`memory_tab_v1`,ue=crypto.randomUUID();function B(e){typeof window>`u`||j()&&L([{type:`onboarding`,daemon_event_id:crypto.randomUUID(),recorded_at:Date.now(),screen:`memory`,session_id:ue,step_name:e,funnel_version:le}])}var V=Math.PI*(3-Math.sqrt(5)),H=7,U=2.4,W=34,de=10;function G(e){return Math.min(W,H+U*Math.sqrt(e))}function fe(e){return e===`concept`||e===`skill`||e===`capability`||e===`pending`?e:`other`}function K(e){return e===`link`||e===`learned`?e:`other`}function pe(e,t={}){let n=t.center??z,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)=>G(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*V,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]+de;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:fe(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:K(e.kind),directed:e.directed??!1};return e.description&&(n.description=e.description),n})}}var q=c();function me({title:e,detail:t,action:n}){return(0,q.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-2 px-6 text-center`,children:[(0,q.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),t?(0,q.jsx)(`p`,{className:`max-w-sm text-body-small-default`,style:{color:`var(--content-tertiary)`},children:t}):null,n?(0,q.jsx)(`div`,{className:`mt-2`,children:n}):null]})}function J(){return t(`getMemoryGraphNode.failureMessage`,{ns:`intelligence`})}function he(e,t){return n({queryKey:[`memory-graph-node`,e,t],enabled:!!(e&&t),queryFn:async()=>{let{data:n,error:r,response:i}=await w({path:{assistant_id:e},query:{id:t??``},throwOnError:!1});if(P(i,r,J()),!i.ok)throw new re(i.status,O(r,i,J()));return n??{found:!1}}})}var ge={concept:`#467CC8`,skill:`#DB4B77`,capability:`#0E9B8B`,pending:`#F1B21E`,other:`#8D99A5`},_e=[`#467CC8`,`#E86B40`,`#7A5AF5`,`#22B8CF`,`#3DB85E`,`#E9C91A`,`#E83F5B`,`#6ECF87`,`#F39B74`,`#F5C94E`],Y={concept:`conceptGraphConstants.nodeKind.concept`,skill:`conceptGraphConstants.nodeKind.skill`,capability:`conceptGraphConstants.nodeKind.capability`,pending:`conceptGraphConstants.nodeKind.pending`,other:`conceptGraphConstants.nodeKind.other`};function ve(e){return t(Y[e],{ns:`intelligence`})}var ye=`#F1B21E`;function be(e){if(e.length<=4)return e.map((e,t)=>({node:e,index:t}));let t=e.slice(-3).map((t,n)=>({node:t,index:e.length-3+n}));return[{node:e[0],index:0},`ellipsis`,...t]}function xe(e){return e?new Date(e).toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}):null}var X=600;function Se(e){let t=e.slice(0,X),n=t.lastIndexOf(`
2
- `);return n>X/2?e.slice(0,n):t}function Ce({content:e}){let[t,n]=(0,R.useState)(!1),{t:r}=a(`intelligence`);return e.length<=X?(0,q.jsx)(T,{content:e}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(T,{content:t?e:Se(e)}),(0,q.jsx)(I,{variant:`ghost`,size:`compact`,className:`-ml-2 mt-1`,onClick:()=>n(e=>!e),rightIcon:t?(0,q.jsx)(d,{size:16,"aria-hidden":!0}):(0,q.jsx)(C,{size:16,"aria-hidden":!0}),children:r(t?`conceptDetailPanel.showLess`:`conceptDetailPanel.readFullNote`)})]})}function we({assistantId:e,node:t,trail:n,neighbors:i,onTravel:o,onCrumb:s,onClose:c,onOpenThread:l}){let{t:d}=a(`intelligence`),f=r(he(e,t.id)),p=f.data,h=xe(t.updatedAtMs),g=p?.title??t.label,v=be(n);return(0,R.useEffect)(()=>{let e=e=>{e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),c())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[c]),(0,q.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,q.jsx)(`div`,{className:`absolute inset-0`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 16%, transparent)`},onClick:c}),(0,q.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:[n.length>1?(0,q.jsxs)(`nav`,{"aria-label":d(`conceptDetailPanel.trailAriaLabel`),className:`flex shrink-0 items-center gap-1 overflow-hidden border-b px-5 py-2 text-body-small-default`,style:{borderColor:`var(--border-base)`,color:`var(--content-tertiary)`},children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>s(n.length-2),"aria-label":d(`conceptDetailPanel.backAriaLabel`),className:`-ml-1 mr-0.5 flex shrink-0 items-center rounded p-0.5 hover:bg-[color-mix(in_srgb,var(--content-tertiary)_14%,transparent)]`,style:{color:`var(--content-tertiary)`},children:(0,q.jsx)(_,{size:16,"aria-hidden":!0})}),v.map((e,t)=>(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,children:[t>0?(0,q.jsx)(`span`,{"aria-hidden":!0,children:`›`}):null,e===`ellipsis`?(0,q.jsx)(`span`,{"aria-hidden":!0,children:`…`}):e.index===n.length-1?(0,q.jsx)(`span`,{"aria-current":`page`,className:`max-w-[9rem] truncate`,style:{color:`var(--content-default)`},children:e.node.label}):(0,q.jsx)(`button`,{type:`button`,onClick:()=>s(e.index),className:`max-w-[8rem] truncate rounded hover:underline`,style:{color:`var(--content-tertiary)`},children:e.node.label})]},e===`ellipsis`?`ellipsis`:e.index))]}):null,(0,q.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,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`h2`,{className:`truncate text-title-small`,style:{color:`var(--content-default)`},title:p?.title??t.label,children:p?.title??t.label}),h?(0,q.jsx)(`p`,{className:`mt-0.5 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:d(`conceptDetailPanel.updated`,{date:h})}):null]}),(0,q.jsx)(I,{variant:`ghost`,iconOnly:(0,q.jsx)(y,{"aria-hidden":!0}),onClick:c,"aria-label":d(`conceptDetailPanel.closeAriaLabel`),tintColor:`var(--content-tertiary)`})]}),(0,q.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-5 py-4`,style:{touchAction:`pan-y`},children:[f.isLoading?(0,q.jsx)(`div`,{className:`flex justify-center py-8`,children:(0,q.jsx)(`div`,{className:`h-5 w-5 animate-spin rounded-full border-2`,style:{borderColor:`var(--border-base)`,borderTopColor:`var(--content-tertiary)`}})}):f.isError?(0,q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:d(`conceptDetailPanel.loadError`)}):p?.found&&p.content?.trim()?(0,q.jsx)(Ce,{content:p.content},t.id):(0,q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:d(`conceptDetailPanel.emptyContent`)}),i.length>0?(0,q.jsxs)(`section`,{className:`mt-6 border-t pt-4`,style:{borderColor:`var(--border-base)`},children:[(0,q.jsxs)(`div`,{className:`mb-2 flex items-baseline justify-between gap-2`,children:[(0,q.jsx)(`h3`,{className:`text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:d(`conceptDetailPanel.wiredTo`)}),(0,q.jsx)(`span`,{className:`text-body-small-default tabular-nums`,style:{color:`var(--content-tertiary)`},children:d(`conceptDetailPanel.connectionCount`,{count:i.length})})]}),(0,q.jsx)(`ul`,{className:`flex list-none flex-col gap-0.5`,children:i.map(e=>(0,q.jsx)(`li`,{children:(0,q.jsxs)(`button`,{type:`button`,onClick:()=>o({id:e.id,label:e.label}),className:`flex w-full items-center gap-2 rounded-lg px-2 py-1.5 text-left text-body-medium-default hover:bg-[color-mix(in_srgb,var(--content-tertiary)_12%,transparent)]`,style:{color:`var(--content-default)`},children:[(0,q.jsx)(`span`,{"aria-hidden":!0,className:`h-1.5 w-1.5 shrink-0 rounded-full`,style:{backgroundColor:e.kind===`learned`?ye:`var(--content-tertiary)`}}),(0,q.jsx)(`span`,{className:`truncate`,children:e.label})]})},e.id))})]}):null]}),l?(0,q.jsxs)(`footer`,{className:`flex shrink-0 gap-2 border-t px-5 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,q.jsx)(I,{variant:`outlined`,size:`regular`,className:`flex-1`,leftIcon:(0,q.jsx)(u,{size:16,"aria-hidden":!0}),onClick:()=>l(d(`conceptDetailPanel.askPrompt`,{title:g})),children:d(`conceptDetailPanel.askAboutThis`)}),(0,q.jsx)(I,{variant:`primary`,size:`regular`,className:`flex-1`,leftIcon:(0,q.jsx)(m,{size:16,"aria-hidden":!0}),onClick:()=>l(d(`conceptDetailPanel.refinePrompt`,{title:g})),children:d(`conceptDetailPanel.refine`)})]}):null]})]})}function Te({onDismiss:e}){let{t}=a(`intelligence`);return(0,q.jsxs)(`div`,{"data-graph-control":!0,className:`pointer-events-auto absolute left-1/2 top-4 z-10 flex w-[min(30rem,calc(100%-6rem))] -translate-x-1/2 items-start gap-3 rounded-xl px-4 py-3`,style:{backgroundColor:`var(--surface-lift)`,border:`1px solid var(--border-base)`,boxShadow:`0 4px 12px rgba(0, 0, 0, 0.25)`},children:[(0,q.jsx)(`span`,{className:`mt-0.5 shrink-0`,style:{color:`var(--primary-base)`},"aria-hidden":!0,children:(0,q.jsx)(m,{size:18})}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`p`,{className:`text-body-medium-emphasised`,style:{color:`var(--content-default)`},children:t(`conceptGraphIntroBanner.title`)}),(0,q.jsx)(`p`,{className:`mt-0.5 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:t(`conceptGraphIntroBanner.description`)})]}),(0,q.jsx)(I,{variant:`ghost`,iconOnly:(0,q.jsx)(y,{"aria-hidden":!0}),onClick:e,"aria-label":t(`conceptGraphIntroBanner.dismissAriaLabel`),tintColor:`var(--content-tertiary)`})]})}var Ee=8;function De({nodeKinds:e,coloredByTheme:t,themes:n,hasLinks:r,hasLearned:i,onToggleLink:o,onToggleLearned:s,linkActive:c,learnedActive:l}){let{t:u}=a(`intelligence`);return(0,q.jsxs)(`div`,{"data-graph-control":!0,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,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`inline-block h-2.5 w-2.5 rounded-full`,style:{backgroundColor:ge[e]}}),(0,q.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:ve(e)})]},e)),t&&(n&&n.length>0?(0,q.jsxs)(q.Fragment,{children:[n.slice(0,Ee).map((e,t)=>(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`inline-block h-2.5 w-2.5 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),(0,q.jsx)(`span`,{className:`max-w-[9rem] truncate text-[11px]`,style:{color:`var(--content-tertiary)`},title:e.concepts?.join(` · `)??e.name,children:e.name})]},t)),n.length>Ee&&(0,q.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:u(`conceptGraphLegend.moreThemes`,{count:n.length-Ee})})]}):(0,q.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:u(`conceptGraphLegend.coloredByTheme`)})),(e.length>0||t)&&(r||i)&&(0,q.jsx)(`div`,{className:`mt-0.5 border-t pt-1.5`,style:{borderColor:`var(--border-base)`}}),r&&(0,q.jsx)(Oe,{swatchStyle:{borderTop:`2px solid var(--content-tertiary)`},label:u(`conceptGraphLegend.link`),onToggle:o,active:c}),i&&(0,q.jsx)(Oe,{swatchStyle:{borderTop:`2px dashed #F1B21E`},label:u(`conceptGraphLegend.learned`),onToggle:s,active:l})]})}function Oe({swatchStyle:e,label:t,onToggle:n,active:r}){let i=(0,q.jsx)(`span`,{className:`inline-block h-0 w-4`,style:e}),a=(0,q.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:t});return n?(0,q.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":r,className:`pointer-events-auto flex cursor-pointer items-center gap-2 border-0 bg-transparent p-0 transition-opacity`,style:{opacity:r===!1?.4:1},children:[i,a]}):(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i,a]})}var Z=8;function ke(e,t){let n=e.length;if(n===0)return new Map;let r=new Map;e.forEach((e,t)=>r.set(e.id,t));let i=e.map(()=>[]);for(let e of t){let t=r.get(e.fromId),n=r.get(e.toId);t===void 0||n===void 0||t===n||(i[t].push(n),i[n].push(t))}let a=e.map((e,t)=>t);for(let e=0;e<Z;e++)for(let e=0;e<n;e++){let t=i[e];if(t.length===0)continue;let n=new Map;for(let e of t)n.set(a[e],(n.get(a[e])??0)+1);let r=a[e],o=-1;for(let[e,t]of n)(t>o||t===o&&e<r)&&(r=e,o=t);a[e]=r}let o=new Map,s=new Map;return e.forEach((e,t)=>{let n=a[t],r=o.get(n);r===void 0&&(r=o.size,o.set(n,r)),s.set(e.id,r)}),s}function Q(){return t(`memoryUnavailable.prompts.v2`,{ns:`intelligence`})}function Ae(){return t(`memoryUnavailable.prompts.v1`,{ns:`intelligence`})}function je(){return t(`memoryUnavailable.prompts.enable`,{ns:`intelligence`})}function Me(){return{title:t(`memoryUnavailable.statusError.title`,{ns:`intelligence`}),detail:t(`memoryUnavailable.statusError.detail`,{ns:`intelligence`}),action:`retry`}}function Ne(e){return e===`off`?{title:t(`memoryUnavailable.off.title`,{ns:`intelligence`}),detail:t(`memoryUnavailable.off.detail`,{ns:`intelligence`}),action:`settings`,prompt:je()}:e===`v1`||e===`v2`?{title:t(`memoryUnavailable.legacy.title`,{ns:`intelligence`}),detail:t(`memoryUnavailable.legacy.detail`,{ns:`intelligence`}),action:`upgrade`,prompt:e===`v1`?Ae():Q()}:{title:t(`memoryUnavailable.unknown.title`,{ns:`intelligence`}),detail:t(`memoryUnavailable.unknown.detail`,{ns:`intelligence`}),action:`none`}}function Pe({assistantId:e,onOpenThread:t}){let{t:n}=a(`intelligence`),o=s(),c=i(),l=r(F(e));(0,R.useEffect)(()=>{te(c,e)},[c,e]);let u=oe(`memoryOptOut`),d=ce.use.settingsDeveloperNav(),f=u&&d===!0;if(l.isLoading)return null;let h=l.data?.kind===`ready`?l.data.tier:void 0,g=l.isError?Me():Ne(h),_=g.prompt,y=null;return g.action===`upgrade`&&t&&_?y=(0,q.jsx)(I,{variant:`primary`,size:`compact`,leftIcon:(0,q.jsx)(m,{}),onClick:()=>{B(`upgrade_v3_clicked`),t(_)},children:n(`memoryUpgradePrompt.upgradeMemory`)}):g.action===`retry`?y=(0,q.jsx)(I,{variant:`outlined`,size:`compact`,leftIcon:(0,q.jsx)(v,{}),onClick:()=>{l.refetch()},children:n(`memoryUpgradePrompt.tryAgain`)}):g.action===`settings`&&f?y=(0,q.jsx)(I,{variant:`outlined`,size:`compact`,leftIcon:(0,q.jsx)(p,{}),onClick:()=>o(`${ie.settings.developer}?tab=memory`),children:n(`memoryUpgradePrompt.memorySettings`)}):g.action===`settings`&&t&&_&&(y=(0,q.jsx)(I,{variant:`primary`,size:`compact`,leftIcon:(0,q.jsx)(m,{}),onClick:()=>{B(`enable_memory_clicked`),t(_)},children:n(`memoryUpgradePrompt.turnMemoryOn`)})),(0,q.jsx)(me,{title:g.title,detail:g.detail,action:y})}function Fe({value:e,onChange:t}){let{t:n}=a(`intelligence`),r=[{value:`all`,label:n(`recencyLens.all`)},{value:`month`,label:n(`recencyLens.month`)},{value:`week`,label:n(`recencyLens.week`)}];return(0,q.jsx)(se,{ariaLabel:n(`recencyLens.ariaLabel`),items:r,value:e,onChange:t,className:`!w-auto [&>*]:!flex-none`})}var Ie=`vellum:memoryGraph:introDismissed:`;function Le(e){return`${Ie}${e}`}function $(e){if(!e)return!0;try{return window.localStorage.getItem(Le(e))===`1`}catch{return!0}}function Re(e){let[t,n]=(0,R.useState)(()=>$(e));return(0,R.useEffect)(()=>{n($(e))},[e]),[t,(0,R.useCallback)(()=>{n(!0);try{window.localStorage.setItem(Le(e),`1`)}catch{}},[e])]}var ze=[`concept`,`skill`,`capability`,`pending`,`other`],Be=.13,Ve=2600,He=.006,Ue=1.15,We=3,Ge=.32,Ke=.45,qe=3,Je=4,Ye=1440*60*1e3,Xe=14*Ye,Ze=12,Qe=2*Ye,$e=80,et=340,tt=.12,nt=.05,rt=.03,it=12,at=2600;function ot(e){let t=getComputedStyle(e);return{content:t.getPropertyValue(`--content-default`).trim()||`#e5e7eb`,tertiary:t.getPropertyValue(`--content-tertiary`).trim()||`#8792a0`}}function st(e){return e.kind===`learned`?`Learned association`:e.description??`Linked concepts`}function ct(e,t,n){return t==null?!1:e==null||n-e>t}function lt(e,t){let n=t?e.get(t):void 0;return e=>t!=null&&(e===t||(n?.has(e)??!1))}function ut({assistantId:e,className:t,isFullscreen:n,onToggleFullscreen:i,onOpenThread:o,headerAction:s,handleRef:c}){let{t:u}=a(`intelligence`),d=(0,R.useRef)(null),p=(0,R.useRef)(null),m=r(ne(e)),_=m.data?.kind===`ready`?m.data.graph:null,v=(0,R.useMemo)(()=>_?pe(_):{nodes:[],edges:[]},[_]),x=m.data?.kind===`ready`&&v.nodes.length>0,S=(0,R.useMemo)(()=>ke(v.nodes,v.edges),[v.nodes,v.edges]),C=(0,R.useMemo)(()=>{let e=new Map;for(let t of v.nodes){let n=S.get(t.id);if(n==null||t.degree===0)continue;let r=e.get(n);r?r.push(t):e.set(n,[t])}return[...e.entries()].map(([e,t])=>{let n=[...t].sort((e,t)=>t.degree-e.degree||(e.id<t.id?-1:1)).slice(0,3);return{hubId:n[0].id,color:_e[e%_e.length],name:n[0].label,concepts:n.map(e=>e.label),size:t.length}}).sort((e,t)=>t.size-e.size)},[S,v.nodes]),w=(0,R.useMemo)(()=>new Set(C.map(e=>e.hubId)),[C]),T=(0,R.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 v.edges)t(e.fromId,e.toId),t(e.toId,e.fromId);return e},[v.edges]),te=(0,R.useMemo)(()=>{if(v.nodes.length===0)return 1;let e=v.nodes.map(e=>{let t=e.x-z.x,n=e.y-z.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])},[v.nodes]),E=(0,R.useRef)({yaw:.5,pitch:.32,zoom:1,hoveredId:null,dragging:!1,moved:!1,lastX:0,lastY:0,lastInteractAt:-1/0,dirty:!0}),re=(0,R.useRef)([]),ie=(0,R.useRef)([]),D=(0,R.useRef)({content:`#e5e7eb`,tertiary:`#8792a0`}),O=(0,R.useRef)(null),ae=(0,R.useRef)(!1),k=(0,R.useRef)(null),A=(0,R.useRef)(null),[oe,j]=(0,R.useState)(null),[se,M]=(0,R.useState)(null),[N,P]=(0,R.useState)([]),F=N.at(-1)??null,L=(0,R.useCallback)(e=>{B(`node_opened`),P(t=>[...t,e])},[]),ce=(0,R.useRef)(null);(0,R.useEffect)(()=>{ce.current=F?.id??null,E.current.dirty=!0},[F?.id]);let[le,ue]=Re(e),[V,H]=(0,R.useState)(``),[U,W]=(0,R.useState)(!1),de=(0,R.useRef)(null);(0,R.useEffect)(()=>{U&&de.current?.focus()},[U]);let G=(0,R.useRef)(!1),fe=V.trim().toLowerCase(),K=(0,R.useMemo)(()=>{if(!fe)return null;let e=new Set;for(let t of v.nodes)t.label.toLowerCase().includes(fe)&&e.add(t.id);return e},[fe,v.nodes]),J=(0,R.useRef)({active:!1,matches:null});(0,R.useEffect)(()=>{J.current={active:!!K,matches:K},E.current.dirty=!0},[K]),(0,R.useEffect)(()=>{V.trim()||(G.current=!1)},[V]);let he=(0,R.useMemo)(()=>!K||K.size===0?[]:v.nodes.filter(e=>K.has(e.id)).sort((e,t)=>t.degree-e.degree).slice(0,8),[K,v.nodes]),[Y,ve]=(0,R.useState)(`all`),be=(0,R.useRef)(null);(0,R.useEffect)(()=>{be.current=Y===`week`?7*Ye:Y===`month`?30*Ye:null,E.current.dirty=!0},[Y]);let xe=(0,R.useMemo)(()=>v.nodes.some(e=>e.updatedAtMs!=null),[v.nodes]);(0,R.useEffect)(()=>{!xe&&Y!==`all`&&ve(`all`)},[xe,Y]);let[X,Se]=(0,R.useState)({link:!0,learned:!0}),Ce=(0,R.useRef)(X);(0,R.useEffect)(()=>{Ce.current=X,E.current.dirty=!0},[X]),(0,R.useEffect)(()=>{H(``),ve(`all`),Se({link:!0,learned:!0}),P([]),G.current=!1},[e]);let Ee=(0,R.useCallback)(()=>{let e=E.current;e.yaw=.5,e.pitch=.32,e.zoom=1,e.lastInteractAt=-1/0,e.dirty=!0,j(null)},[]),Oe=(0,R.useCallback)(e=>{let t=E.current;t.zoom=Math.max(Ke,Math.min(qe,t.zoom*e)),t.lastInteractAt=performance.now(),t.dirty=!0},[]),Z=(0,R.useCallback)(e=>{O.current=e,E.current.lastInteractAt=performance.now(),E.current.dirty=!0},[]),Q=(0,R.useCallback)(e=>{L(e),Z(e.id)},[L,Z]),Ae=(0,R.useCallback)(e=>{k.current={id:e,start:performance.now()},Z(e),window.setTimeout(()=>{E.current.dirty=!0},at+60)},[Z]),je=(0,R.useCallback)(e=>{v.nodes.some(t=>t.id===e)?Ae(e):A.current=e},[v.nodes,Ae]);(0,R.useEffect)(()=>{let e=A.current;e&&v.nodes.some(t=>t.id===e)&&(A.current=null,Ae(e))},[v.nodes,Ae]),(0,R.useImperativeHandle)(c,()=>({focusNode:je}),[je]);let Me=(0,R.useCallback)(()=>{P([]),H(``),j(null),O.current=null,ae.current=!0},[]),Ne=(0,R.useCallback)(e=>{H(``);let t=N.slice(0,e+1);P(t);let n=t.at(-1);n?Z(n.id):j(null)},[N,Z]),Ie=(0,R.useCallback)(e=>{H(``),Q(e)},[Q]),Le=(0,R.useMemo)(()=>{let e=F?.id;if(!e)return[];let t=T.get(e);if(!t||t.size===0)return[];let n=new Map(v.nodes.map(e=>[e.id,e.label])),r=new Map;for(let t of v.edges)t.fromId===e?r.set(t.toId,t.kind):t.toId===e&&r.set(t.fromId,t.kind);let i=[];for(let e of t){let t=n.get(e);t!=null&&i.push({id:e,label:t,kind:r.get(e)})}return i.sort((e,t)=>e.label.localeCompare(t.label)),i},[F?.id,T,v.nodes,v.edges]);(0,R.useEffect)(()=>{if(!x)return;let e=p.current,t=d.current;if(!e||!t)return;let n=e.getContext(`2d`);if(!n)return;let r=v.nodes,i=v.edges,a=S,o=w,s=T,c=new Set(r.map(e=>e.id)),l=te,u=window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;D.current=ot(t);let f=Math.min(window.devicePixelRatio||1,2),m=0,h=0,g=()=>{let n=t.getBoundingClientRect();m=n.width,h=n.height,f=Math.min(window.devicePixelRatio||1,2),e.width=Math.max(1,Math.round(m*f)),e.height=Math.max(1,Math.round(h*f)),e.style.width=`${m}px`,e.style.height=`${h}px`,D.current=ot(t),E.current.dirty=!0};g();let _=new ResizeObserver(g);_.observe(t);let y=new MutationObserver(()=>{D.current=ot(t),E.current.dirty=!0});y.observe(document.documentElement,{attributes:!0,attributeFilter:[`data-theme`,`class`,`style`]});let b=0,ee=0,C=e=>{let t=ee?Math.min(.05,(e-ee)/1e3):0;ee=e;let d=E.current,p=D.current,g=Date.now(),_=O.current;if(!d.dragging&&e-d.lastInteractAt>Ve&&!u&&!_&&(d.yaw+=Be*t),_){let e=r.find(e=>e.id===_);if(!e)O.current=null;else{let t=e.x-z.x,n=e.y-z.y,r=e.z,i=-Math.atan2(t,r),a=Math.hypot(t,r),o=Math.max(-Ue,Math.min(Ue,Math.atan2(n,a))),s=Math.min(qe,1.6),c=u?1:.15,l=i-d.yaw;l=Math.atan2(Math.sin(l),Math.cos(l)),d.yaw+=l*c,d.pitch+=(o-d.pitch)*c,d.zoom+=(s-d.zoom)*c,d.dirty=!0,Math.abs(l)<.01&&Math.abs(o-d.pitch)<.01&&Math.abs(s-d.zoom)<.02&&(O.current=null)}}if(ae.current&&!d.dragging){let e=u?1:.15;d.pitch+=(.32-d.pitch)*e,d.zoom+=(1-d.zoom)*e,d.dirty=!0,Math.abs(.32-d.pitch)<.01&&Math.abs(1-d.zoom)<.02&&(ae.current=!1)}if(u&&!d.dirty){b=requestAnimationFrame(C);return}d.dirty=!1;let v=Math.cos(d.yaw),y=Math.sin(d.yaw),x=Math.cos(d.pitch),S=Math.sin(d.pitch),w=We*l,T=Math.min(m,h)*.88/(2*l)*d.zoom,te=m/2,ne=h/2;n.setTransform(f,0,0,f,0,0),n.clearRect(0,0,m,h);let A=d.hoveredId,oe=A?s.get(A):void 0,j=e=>!A||e===A||(oe?.has(e)??!1),se=J.current,M=se.active,N=e=>!M||(se.matches?.has(e)??!1),P=be.current,F=e=>ct(e.updatedAtMs,P,g),I=Ce.current,L=ce.current,R=L!=null&&c.has(L),le=lt(s,R?L:null),ue=r.length<=$e?1:Math.max(tt,1-(r.length-$e)/(et-$e)*(1-tt)),B=Array(r.length);for(let e=0;e<r.length;e++){let t=r[e],n=t.x-z.x,i=t.y-z.y,a=t.z,o=n*v+a*y,s=-n*y+a*v,c=i*x-s*S,u=i*S+s*x,d=w/(w-u);B[e]={node:t,sx:te+o*T*d,sy:ne+c*T*d,sr:Math.max(1.2,t.radius*T*d),depth:Math.max(0,Math.min(1,(u+l)/(2*l)))}}let V=B.map((e,t)=>t).sort((e,t)=>B[e].depth-B[t].depth),H=new Map;for(let e of B)H.set(e.node.id,e);let U=[];n.lineCap=`round`;for(let e of i){let t=H.get(e.fromId),r=H.get(e.toId);if(!t||!r)continue;let i=e.kind===`learned`,a=L!=null&&(e.fromId===L||e.toId===L);if(!a&&(i?!I.learned:!I.link))continue;let o=M&&(!N(e.fromId)||!N(e.toId))||!a&&(F(t.node)||F(r.node)),s=A!=null&&(e.fromId===A||e.toId===A),c=(t.depth+r.depth)/2;!o&&(!R||a)&&U.push({ax:t.sx,ay:t.sy,bx:r.sx,by:r.sy,kind:e.kind,description:e.description,depth:c});let l=(i?.34:.28)*(.4+.6*c),u=i?l*ue:l,d;d=o?.03:R?a?.9:rt:A==null?u:s?.9:j(e.fromId)&&j(e.toId)?l:.05,n.globalAlpha=d,n.strokeStyle=i?ye:p.tertiary,n.lineWidth=(s||R&&a?2:1)*(.6+.6*c),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 t of V){let r=B[t],i=r.node,o=i.kind===`concept`?_e[(a.get(i.id)??0)%_e.length]:ge[i.kind],s=M&&!N(i.id),c=le(i.id),l=s||F(i)&&!c,d=R?c&&!l:!l&&j(i.id),f=i.id===A,p=Ge+(1-Ge)*r.depth,m=R&&!c?p*nt:l?p*.08:d?p:p*.18,h=(f?16:i.degree>=Je?8:4)*r.depth,_=i.updatedAtMs;if(_){let n=g-_,i=Math.max(0,1-n/Xe);if(i>0){let a=i*Ze;!u&&n<Qe&&(a*=.55+.45*Math.sin(e/420+t*1.7)),h+=a*r.depth}}n.shadowColor=o,n.shadowBlur=d?h:0;let v=i.kind===`pending`;n.globalAlpha=m*(v?.3:.55),n.fillStyle=o,n.beginPath(),n.arc(r.sx,r.sy,r.sr,0,Math.PI*2),n.fill(),n.shadowBlur=0,n.globalAlpha=m,n.lineWidth=f?2.5:1.4,n.strokeStyle=o,n.setLineDash(v?[3,3]:[]),n.stroke(),n.setLineDash([]);let y=k.current;if(y&&y.id===i.id){let t=e-y.start;if(t>at)k.current=null;else if(u)n.globalAlpha=.7,n.lineWidth=1.5,n.beginPath(),n.arc(r.sx,r.sy,r.sr+7,0,Math.PI*2),n.stroke();else for(let e=0;e<3;e++){let i=(t-e*320)/1100;i<=0||i>=1||(n.globalAlpha=(1-i)*.8,n.lineWidth=1.5,n.beginPath(),n.arc(r.sx,r.sy,r.sr+i*46*r.depth,0,Math.PI*2),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 V){let t=B[e],r=t.node,i=le(r.id);if(M&&!N(r.id)||F(r)&&!i||!(R?i:M?t.depth>.3:A==null?o.has(r.id)||r.degree>=Je&&t.depth>.55:j(r.id)))continue;n.globalAlpha=(r.id===A||r.id===L?1:.85)*(.4+.6*t.depth),n.fillStyle=p.content;let a=r.label.length>22?`${r.label.slice(0,21)}…`:r.label;n.fillText(a,t.sx,t.sy+t.sr+3)}n.globalAlpha=1,re.current=B.map(e=>({id:e.node.id,sx:e.sx,sy:e.sy,sr:e.sr,depth:e.depth,updatedAtMs:e.node.updatedAtMs})),ie.current=U,b=requestAnimationFrame(C)};return b=requestAnimationFrame(C),()=>{cancelAnimationFrame(b),_.disconnect(),y.disconnect()}},[x,v,T,te,S,w]);let $=(0,R.useCallback)((e,t)=>{let n=J.current,r=be.current,i=lt(T,ce.current),a=Date.now(),o=null,s=-1;for(let c of re.current){if(n.active&&!(n.matches?.has(c.id)??!1)||!i(c.id)&&ct(c.updatedAtMs,r,a))continue;let l=e-c.sx,u=t-c.sy;l*l+u*u<=(c.sr+5)*(c.sr+5)&&c.depth>s&&(o=c.id,s=c.depth)}return o},[T]),ut=(0,R.useCallback)((e,t)=>{let n=null,r=1/0,i=-1;for(let a of ie.current){let o=a.bx-a.ax,s=a.by-a.ay,c=o*o+s*s,l=0;c>0&&(l=((e-a.ax)*o+(t-a.ay)*s)/c,l=Math.max(0,Math.min(1,l)));let u=e-(a.ax+l*o),d=t-(a.ay+l*s),f=Math.sqrt(u*u+d*d);f>5||(f<r||f===r&&a.depth>i)&&(n={kind:a.kind,description:a.description},r=f,i=a.depth)}return n},[]),dt=e=>{let t=d.current.getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}},ft=(0,R.useCallback)(e=>{if(e.button!==0||e.target.closest(`[data-graph-control]`))return;let t=E.current;O.current=null,t.dragging=!0,t.moved=!1,t.lastX=e.clientX,t.lastY=e.clientY,t.lastInteractAt=performance.now(),e.currentTarget.setPointerCapture(e.pointerId)},[]),pt=(0,R.useCallback)(e=>{let t=E.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*He,t.pitch=Math.max(-Ue,Math.min(Ue,t.pitch+r*He)),t.lastX=e.clientX,t.lastY=e.clientY,t.lastInteractAt=performance.now(),t.dirty=!0;return}let{x:n,y:r}=dt(e),i=$(n,r);if(i!==t.hoveredId&&(t.hoveredId=i,t.dirty=!0),i)M(null);else{let e=ut(n,r);M(e?st(e):null)}},[$,ut]),mt=(0,R.useCallback)(e=>{let t=E.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}=dt(e),r=$(t,n);if(r){let e=v.nodes.find(e=>e.id===r);e&&Q({id:e.id,label:e.label,updatedAtMs:e.updatedAtMs})}else j(null)}},[$,v.nodes,Q]),ht=(0,R.useCallback)(()=>{let e=E.current;M(null),!(e.dragging||e.hoveredId==null)&&(e.hoveredId=null,e.dirty=!0,j(null))},[]);(0,R.useEffect)(()=>{let e=d.current;if(!e||!x)return;let t=e=>{if(e.target.closest?.(`[data-graph-panel]`))return;e.preventDefault();let t=E.current;t.zoom=Math.max(Ke,Math.min(qe,t.zoom*(1-e.deltaY/500))),t.lastInteractAt=performance.now(),t.dirty=!0};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[x]);let gt=(0,R.useMemo)(()=>{let e=new Set(v.nodes.map(e=>e.kind));return ze.filter(t=>e.has(t))},[v.nodes]),_t=(0,R.useMemo)(()=>v.edges.some(e=>e.kind===`learned`),[v.edges]),vt=(0,R.useMemo)(()=>v.edges.some(e=>e.kind!==`learned`),[v.edges]);(0,R.useEffect)(()=>{!(vt&&_t)&&(!X.link||!X.learned)&&Se({link:!0,learned:!0})},[vt,_t,X]);let yt=m.data?.kind===`ready`&&!le,bt=v.nodes.length,xt=v.edges.length,St=new Set(S.values()).size,Ct=(e,t)=>`${e} ${t}${e===1?``:`s`}`,wt=yt?null:oe??se,Tt=x&&(v.nodes.length>it||!!V),Et=!!(i||s)||x,Dt;return Dt=m.isLoading?(0,q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,q.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2`,style:{borderColor:`var(--border-base)`,borderTopColor:`var(--content-tertiary)`}})}):m.isError?(0,q.jsx)(me,{title:u(`conceptGraphView.loadErrorTitle`),detail:u(`conceptGraphView.loadErrorDetail`)}):m.data?.kind===`unsupported`?(0,q.jsx)(Pe,{assistantId:e,onOpenThread:o}):x?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`canvas`,{ref:p,className:`absolute inset-0 h-full w-full`}),(v.nodes.length>it||Y!==`all`)&&xe?(0,q.jsx)(`div`,{"data-graph-control":!0,className:`absolute left-4 top-4 z-10`,children:(0,q.jsx)(Fe,{value:Y,onChange:ve})}):null,(0,q.jsx)(De,{nodeKinds:gt.filter(e=>e!==`concept`),coloredByTheme:gt.includes(`concept`),themes:C,hasLinks:vt,hasLearned:_t,...vt&&_t?{onToggleLink:()=>Se(e=>({...e,link:!e.link})),onToggleLearned:()=>Se(e=>({...e,learned:!e.learned})),linkActive:X.link,learnedActive:X.learned}:{}}),(0,q.jsx)(`div`,{className:`pointer-events-none absolute bottom-4 right-4 text-[11px]`,style:{color:`var(--content-tertiary)`},children:u(`conceptGraphView.dragToRotateHint`)}),_?.truncated?(0,q.jsx)(`div`,{className:`pointer-events-none absolute bottom-4 left-1/2 -translate-x-1/2 rounded-full px-3 py-1 text-[11px]`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 82%, transparent)`,border:`1px solid var(--border-base)`,color:`var(--content-tertiary)`},children:u(`conceptGraphView.truncatedNotice`,{count:v.nodes.length})}):null,(0,q.jsxs)(`div`,{"data-graph-control":!0,className:`absolute right-4 top-4 flex flex-col gap-1`,children:[(0,q.jsx)(I,{variant:`ghost`,iconOnly:(0,q.jsx)(ee,{}),onClick:()=>Oe(1.25),"aria-label":u(`conceptGraphView.zoomInAriaLabel`),tooltip:u(`conceptGraphView.zoomInAriaLabel`)}),(0,q.jsx)(I,{variant:`ghost`,iconOnly:(0,q.jsx)(b,{}),onClick:()=>Oe(.8),"aria-label":u(`conceptGraphView.zoomOutAriaLabel`),tooltip:u(`conceptGraphView.zoomOutAriaLabel`)}),(0,q.jsx)(I,{variant:`ghost`,iconOnly:(0,q.jsx)(g,{}),onClick:Ee,"aria-label":u(`conceptGraphView.resetViewAriaLabel`),tooltip:u(`conceptGraphView.resetViewAriaLabel`)})]})]}):(0,q.jsx)(me,{title:u(`conceptGraphView.emptyTitle`),detail:u(`conceptGraphView.emptyDetail`)}),(0,q.jsxs)(`div`,{className:`@container flex select-none flex-col overflow-hidden rounded-xl ${t??``}`,style:{backgroundColor:`var(--surface-base)`},children:[Et?(0,q.jsxs)(`div`,{className:`flex h-12 flex-none items-center gap-2 px-3`,style:{borderBottom:`1px solid var(--border-base)`},children:[i?(0,q.jsx)(I,{variant:`ghost`,iconOnly:n?(0,q.jsx)(h,{}):(0,q.jsx)(l,{}),onClick:i,"aria-label":u(n?`conceptGraphView.exitFullscreenAriaLabel`:`conceptGraphView.enterFullscreenAriaLabel`),tooltip:u(n?`conceptGraphView.exitFullscreenAriaLabel`:`conceptGraphView.enterFullscreenAriaLabel`)}):null,Tt?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(I,{variant:`ghost`,iconOnly:(0,q.jsx)(f,{}),onClick:()=>W(!0),"aria-label":u(`conceptGraphView.searchConceptsAriaLabel`),tooltip:u(`conceptGraphView.searchConceptsAriaLabel`),className:U?`hidden`:`@2xl:hidden`}),(0,q.jsxs)(`div`,{className:`relative ${U?``:`hidden @2xl:block`}`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5 rounded-full px-2.5 py-1`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 82%, transparent)`,border:`1px solid var(--border-base)`},children:[(0,q.jsx)(f,{size:14,"aria-hidden":!0,style:{color:`var(--content-tertiary)`}}),(0,q.jsx)(`input`,{ref:de,type:`text`,value:V,onChange:e=>{let t=e.target.value;t.trim()&&!G.current&&(B(`search`),G.current=!0),H(t)},onKeyDown:e=>{e.key===`Escape`?(V||U)&&(e.preventDefault(),e.stopPropagation(),H(``),W(!1)):e.key===`Enter`&&he.length>0&&(e.preventDefault(),Z(he[0].id))},placeholder:u(`conceptGraphView.searchConceptsPlaceholder`),"aria-label":u(`conceptGraphView.searchConceptsAriaLabel`),className:`w-36 bg-transparent text-[12px] outline-none placeholder:text-[var(--content-tertiary)]`,style:{color:`var(--content-default)`}}),V?(0,q.jsx)(`span`,{className:`text-[11px] tabular-nums`,style:{color:`var(--content-tertiary)`},children:K?.size??0}):null,V||U?(0,q.jsx)(`button`,{type:`button`,onClick:()=>{H(``),W(!1)},"aria-label":u(`conceptGraphView.clearSearchAriaLabel`),className:`flex items-center`,style:{color:`var(--content-tertiary)`},children:(0,q.jsx)(y,{size:13})}):null]}),V&&he.length>0?(0,q.jsx)(`ul`,{className:`absolute left-0 top-full z-30 mt-1.5 flex max-h-56 w-52 list-none flex-col overflow-y-auto rounded-xl py-1`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 92%, transparent)`,border:`1px solid var(--border-base)`},children:he.map(e=>(0,q.jsx)(`li`,{children:(0,q.jsx)(`button`,{type:`button`,onClick:()=>{Q({id:e.id,label:e.label,updatedAtMs:e.updatedAtMs}),H(``),W(!1)},className:`block w-full truncate px-3 py-1 text-left text-[12px] hover:bg-[color-mix(in_srgb,var(--content-tertiary)_14%,transparent)]`,style:{color:`var(--content-default)`},children:e.label})},e.id))}):null]})]}):null,(0,q.jsx)(`div`,{className:`pointer-events-none mx-auto min-w-0`,children:wt?(0,q.jsx)(`div`,{className:`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:wt}):x&&!yt&&!U?(0,q.jsxs)(`div`,{className:`rounded-full px-3 py-1 text-[11px] tabular-nums`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 82%, transparent)`,border:`1px solid var(--border-base)`,color:`var(--content-tertiary)`},children:[(0,q.jsxs)(`span`,{className:`@max-md:hidden`,children:[Ct(bt,`neuron`),` · `,Ct(xt,`synapse`),` ·`,` `,Ct(St,`lobe`)]}),(0,q.jsxs)(`span`,{className:`hidden @max-md:inline`,children:[bt,` · `,xt,` · `,St]})]}):null}),s?(0,q.jsx)(`div`,{className:`flex-none`,children:s}):null]}):null,(0,q.jsxs)(`div`,{ref:d,className:`relative min-h-0 flex-1`,style:{backgroundImage:`radial-gradient(circle at center, color-mix(in srgb, var(--content-tertiary) 8%, transparent), transparent 62%)`,touchAction:`none`,cursor:x?`grab`:`default`},onPointerDown:x?ft:void 0,onPointerMove:x?pt:void 0,onPointerUp:x?mt:void 0,onPointerCancel:x?mt:void 0,onPointerLeave:x?ht:void 0,children:[yt?(0,q.jsx)(Te,{onDismiss:ue}):null,Dt,x&&F?(0,q.jsx)(we,{assistantId:e,node:F,trail:N,neighbors:Le,onTravel:Ie,onCrumb:Ne,onClose:Me,onOpenThread:o}):null]})]})}async function dt(e,t){let{data:n}=await D({path:{assistant_id:e},body:{content:t},throwOnError:!0});return n}function ft({open:e,onOpenChange:t,assistantId:n,onCreated:r}){let{t:o}=a(`intelligence`),s=i(),[c,l]=(0,R.useState)(``),[u,d]=(0,R.useState)(!1),f=(0,R.useCallback)(async()=>{let e=c.trim();if(e){d(!0);try{let i=await dt(n,e);if(!i.success){A.error(i.message||o(`createMemoryModal.saveError`));return}A.success(i.pendingNodeId?o(`createMemoryModal.savedFoundToast`):o(`createMemoryModal.savedPendingToast`)),l(``),t(!1),r?.(i.pendingNodeId),await Promise.all([s.invalidateQueries({queryKey:ne(n).queryKey}),s.invalidateQueries({queryKey:F(n).queryKey})])}catch(e){let t=e instanceof Error?e.message:o(`createMemoryModal.createError`);A.error(t)}finally{d(!1)}}},[n,c,t,r,s,o]);return(0,q.jsx)(k.Root,{open:e,onOpenChange:t,children:(0,q.jsxs)(k.Content,{size:`sm`,children:[(0,q.jsx)(k.Header,{children:(0,q.jsx)(k.Title,{children:o(`createMemoryModal.title`)})}),(0,q.jsx)(k.Body,{children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,q.jsx)(M,{label:o(`createMemoryModal.contentLabel`),placeholder:o(`createMemoryModal.contentPlaceholder`),value:c,onChange:e=>l(e.target.value),disabled:u,rows:3,fullWidth:!0}),(0,q.jsx)(ae,{as:`p`,variant:`body-medium-lighter`,className:`text-(--content-secondary)`,children:o(`createMemoryModal.helperText`)})]})}),(0,q.jsxs)(k.Footer,{children:[(0,q.jsx)(k.Close,{asChild:!0,children:(0,q.jsx)(I,{variant:`outlined`,disabled:u,children:o(`createMemoryModal.cancel`)})}),(0,q.jsx)(I,{variant:`primary`,onClick:f,disabled:u||!c.trim(),leftIcon:u?(0,q.jsx)(S,{className:`animate-spin`}):void 0,children:o(u?`createMemoryModal.creating`:`createMemoryModal.create`)})]})]})})}function pt({onOpenThread:e}){let{t}=a(`intelligence`),n=E(),[i,o]=(0,R.useState)(!1),s=(0,R.useRef)(null),c=r(ne(n)),l=r(F(n)),u=c.data?.kind===`ready`&&l.data?.kind===`ready`,d=(0,R.useRef)(!1);return(0,R.useEffect)(()=>{d.current||(d.current=!0,B(`opened`))},[]),(0,q.jsxs)(`div`,{className:`relative flex h-full min-h-0 flex-col`,children:[(0,q.jsx)(ut,{assistantId:n,className:`h-full w-full`,onOpenThread:e,handleRef:s,headerAction:u?(0,q.jsx)(I,{variant:`primary`,size:`compact`,leftIcon:(0,q.jsx)(x,{}),onClick:()=>o(!0),children:t(`memoryPage.createMemory`)}):void 0}),u?(0,q.jsx)(ft,{open:i,onOpenChange:o,assistantId:n,onCreated:e=>{e&&s.current?.focusNode(e)}}):null]})}function mt(){let e=s();return(0,q.jsx)(pt,{onOpenThread:t=>{B(`chat_from_node`),N(e,{prompt:t})}},E())}export{mt as MemoryPageRoute};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{I as t,Jn as n,N as r,Zn as i,j as a}from"./vendor-kNpRDQWe.js";import{b as o,t as s}from"./react-DPM_L_aA.js";import{Ai as c,Hm as l,Ku as u,Sh as d,Vf as f,Y as p,_d as m,gd as h,yy as g}from"./index-CEGpfe8u.js";var _=e(o(),1),v=class extends Error{status;constructor(e,t){super(t),this.name=`SimulateMemoryRouterError`,this.status=e}};async function y(e,t,n){let{data:r,response:i}=await d({path:{assistant_id:e},body:t,signal:n,throwOnError:!1}),a=i?await i.clone().text().catch(()=>``):``;if(!i||!i.ok)throw new v(i?.status??0,a||i?.statusText||`Failed to simulate memory router`);if(!r)throw new v(i.status,`Empty response from memory router simulator endpoint`);return{response:r,rawRequest:JSON.stringify(t,null,2),rawResponse:b(a)}}function b(e){if(e.length===0)return e;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}function x(e){return n({mutationFn:async t=>{if(!e)throw new v(0,`Missing assistantId`);return y(e,t)}})}function S(e){return i({...u({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4})}function ee(e){return i({...m({path:{assistant_id:e}}),enabled:!!e,staleTime:1440*60*1e3})}function C(e){return i({...h({path:{assistant_id:e}}),enabled:!!e,staleTime:1/0})}var w=s();function T(){let{t:e}=a(`chat`),t=c(),n=f(),r=l.use.memoryRouterPlayground();return n?(0,w.jsx)($,{children:e(`memoryRouterPlaygroundPage.loading`)}):!t||!r?(0,w.jsx)($,{children:e(`memoryRouterPlaygroundPage.notAvailable`)}):(0,w.jsx)(D,{})}var E={tier1:``,tier2:``,batch:``,profile:``,customPrompt:``};function D(){let{t:e}=a(`chat`),t=p(),n=x(t),r=x(t),i=S(t),o=ee(t),s=C(t),[c,l]=(0,_.useState)(``),[u,d]=(0,_.useState)([{assistantMessage:``,userMessage:``}]),[f,m]=(0,_.useState)(!1);(0,_.useEffect)(()=>{if(f)return;let e=s.data?.nowText;typeof e==`string`&&c===``&&l(e)},[s.data?.nowText,c,f]);let[h,g]=(0,_.useState)(E),[v,y]=(0,_.useState)(E),[b,T]=(0,_.useState)(null),[D,k]=(0,_.useState)(null),M=u[u.length-1].userMessage,P=t=>{let i=t===`A`?h:v,a=t===`A`?T:k,o=t===`A`?n:r;a(null);let s;try{s=O(i)}catch(t){a(t instanceof Error?t.message:e(`memoryRouterPlaygroundPage.invalidOverrideInput`));return}let l=i.profile.trim().length>0?i.profile:void 0,d=i.customPrompt.trim().length>0?i.customPrompt:void 0,f=u.map((e,t)=>t===u.length-1?{...e,userMessage:e.userMessage.trim()}:e);o.mutate({recentTurnPairs:f,nowText:c,...s?{configOverrides:s}:{},...l===void 0?{}:{profileOverride:l},...d===void 0?{}:{routerPromptOverride:d}})},F=()=>{P(`A`),P(`B`)},I=M.trim().length>0,L=I&&!n.isPending,z=I&&!r.isPending;return(0,w.jsx)(`div`,{className:`flex h-full min-h-0 flex-col overflow-y-auto`,children:(0,w.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[1280px] flex-col gap-6 p-6`,children:[(0,w.jsx)(A,{}),(0,w.jsx)(j,{nowText:c,onNowTextChange:e=>{m(!0),l(e)},onReloadNowText:()=>{let e=s.data?.nowText;typeof e==`string`&&(l(e),m(!1))},nowTextLoading:s.isLoading,pairs:u,onPairsChange:d}),(0,w.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 lg:grid-cols-2`,children:[(0,w.jsx)(N,{paneId:`A`,overrides:h,onChange:g,onRun:()=>P(`A`),canRun:L,isRunning:n.isPending,profiles:i.data?.profiles??[],activeProfile:i.data?.activeProfile??null,defaultPromptTemplate:o.data?.template??``}),(0,w.jsx)(N,{paneId:`B`,overrides:v,onChange:y,onRun:()=>P(`B`),canRun:z,isRunning:r.isPending,profiles:i.data?.profiles??[],activeProfile:i.data?.activeProfile??null,defaultPromptTemplate:o.data?.template??``})]}),(0,w.jsx)(`div`,{className:`flex justify-end`,children:(0,w.jsx)(te,{onClick:F,disabled:!I||n.isPending||r.isPending,isRunning:n.isPending||r.isPending})}),(0,w.jsx)(ne,{visible:n.data!==void 0&&r.data!==void 0}),(0,w.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 lg:grid-cols-2`,children:[(0,w.jsx)(R,{paneId:`A`,userMessage:M,mutation:n,otherResult:r.data?.response,validation:b}),(0,w.jsx)(R,{paneId:`B`,userMessage:M,mutation:r,otherResult:n.data?.response,validation:D})]})]})})}function O(e){let t={...k(`tier1_size`,e.tier1),...k(`tier2_size`,e.tier2),...k(`batch_size`,e.batch)};return Object.keys(t).length===0?void 0:t}function k(e,n){let r=n.trim();if(r===``)return{};if(r===`null`)return{[e]:null};let i=Number(r);if(!Number.isInteger(i)||i<1)throw Error(t(`chat:memoryRouterPlaygroundPage.overrideMustBePositiveInteger`,{fieldName:e,value:r}));return{[e]:i}}function A(){let{t:e}=a(`chat`);return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsx)(`h1`,{className:`text-body-large-default`,style:{color:`var(--content-default)`},children:e(`memoryRouterPlaygroundPage.title`)}),(0,w.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:(0,w.jsx)(r,{ns:`chat`,i18nKey:`memoryRouterPlaygroundPage.description`,components:{code:(0,w.jsx)(`code`,{})}})})]})}function j({nowText:e,onNowTextChange:t,onReloadNowText:n,nowTextLoading:r,pairs:i,onPairsChange:o}){let{t:s}=a(`chat`),c=(e,t)=>{o(i.map((n,r)=>r===e?{...n,...t}:n))},l=()=>{o([{assistantMessage:``,userMessage:``},...i])},u=e=>{e!==i.length-1&&o(i.filter((t,n)=>n!==e))};return(0,w.jsx)(g,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-4 p-4`,children:[(0,w.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:s(`memoryRouterPlaygroundPage.conversationalContextTitle`)}),(0,w.jsx)(M,{id:`memory-router-playground-now`,label:s(`memoryRouterPlaygroundPage.nowBlockLabel`),value:e,onChange:t,rows:6,monospace:!0,placeholder:s(r?`memoryRouterPlaygroundPage.nowLoadingPlaceholder`:`memoryRouterPlaygroundPage.nowDefaultPlaceholder`),trailing:(0,w.jsx)(`button`,{type:`button`,onClick:n,disabled:r,className:`rounded px-2 py-1 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:r?`not-allowed`:`pointer`},children:s(`memoryRouterPlaygroundPage.reloadNowButton`)})}),(0,w.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,w.jsx)(`span`,{className:`text-label-default`,style:{color:`var(--content-secondary)`},children:s(`memoryRouterPlaygroundPage.recentPairsLabel`)}),(0,w.jsx)(`button`,{type:`button`,onClick:l,className:`rounded px-2 py-1 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:`pointer`},children:s(`memoryRouterPlaygroundPage.addOlderPairButton`)})]}),i.map((e,t)=>{let n=t===i.length-1;return(0,w.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-md border p-3`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`},children:[(0,w.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,w.jsxs)(`span`,{className:`text-label-default`,style:{color:`var(--content-secondary)`},children:[s(`memoryRouterPlaygroundPage.pairLabel`,{index:t+1,total:i.length}),n?s(`memoryRouterPlaygroundPage.pairMostRecentSuffix`):``]}),!n&&(0,w.jsx)(`button`,{type:`button`,onClick:()=>u(t),className:`rounded px-2 py-1 text-label-default`,style:{background:`transparent`,color:`var(--system-negative-strong)`,border:`none`,cursor:`pointer`},children:s(`memoryRouterPlaygroundPage.removeButton`)})]}),(0,w.jsx)(M,{id:`memory-router-playground-pair-${t}-assistant`,label:s(`memoryRouterPlaygroundPage.assistantReplyLabel`),value:e.assistantMessage,onChange:e=>c(t,{assistantMessage:e}),rows:3,placeholder:t===0&&i.length===1?s(`memoryRouterPlaygroundPage.firstTurnAssistantPlaceholder`):s(`memoryRouterPlaygroundPage.assistantReplyPlaceholder`)}),(0,w.jsx)(M,{id:`memory-router-playground-pair-${t}-user`,label:s(n?`memoryRouterPlaygroundPage.justArrivedUserLabel`:`memoryRouterPlaygroundPage.userMessageLabel`),value:e.userMessage,onChange:e=>c(t,{userMessage:e}),rows:3,placeholder:s(n?`memoryRouterPlaygroundPage.lastUserPlaceholder`:`memoryRouterPlaygroundPage.userMessagePlaceholder`),required:n})]},t)})]})})}function M({id:e,label:t,value:n,onChange:r,rows:i,placeholder:a,monospace:o,trailing:s,required:c}){return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,w.jsxs)(`label`,{htmlFor:e,className:`text-label-default`,style:{color:`var(--content-secondary)`},children:[t,c?` *`:``]}),s]}),(0,w.jsx)(`textarea`,{id:e,value:n,onChange:e=>r(e.target.value),rows:i,placeholder:a,className:`rounded-md border px-3 py-2 text-body-medium-default`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`,color:`var(--content-default)`,resize:`vertical`,...o?{fontFamily:`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace`}:{}}})]})}function N({paneId:e,overrides:t,onChange:n,onRun:r,canRun:i,isRunning:o,profiles:s,activeProfile:c,defaultPromptTemplate:l}){let{t:u}=a(`chat`);return(0,w.jsx)(g,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-4 p-4`,children:[(0,w.jsx)(`div`,{className:`text-body-medium-default`,style:{color:X(e)},children:u(`memoryRouterPlaygroundPage.configTitle`,{paneId:e})}),(0,w.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-3`,children:[(0,w.jsx)(I,{paneId:e,label:`tier1_size`,value:t.tier1,onChange:e=>n({...t,tier1:e})}),(0,w.jsx)(I,{paneId:e,label:`tier2_size`,value:t.tier2,onChange:e=>n({...t,tier2:e})}),(0,w.jsx)(I,{paneId:e,label:`batch_size`,value:t.batch,onChange:e=>n({...t,batch:e})})]}),(0,w.jsx)(F,{paneId:e,value:t.profile,onChange:e=>n({...t,profile:e}),profiles:s,activeProfile:c}),(0,w.jsx)(P,{paneId:e,value:t.customPrompt,onChange:e=>n({...t,customPrompt:e}),defaultTemplate:l}),(0,w.jsx)(`div`,{className:`flex justify-end`,children:(0,w.jsx)(`button`,{type:`button`,onClick:r,disabled:!i,className:`rounded-md px-4 py-2 text-body-medium-default transition-colors`,style:{background:i?`var(--system-positive-strong)`:`var(--surface-overlay)`,color:i?`var(--content-on-positive)`:`var(--content-disabled)`,border:`none`,cursor:i?`pointer`:`not-allowed`},children:o?u(`memoryRouterPlaygroundPage.running`):u(`memoryRouterPlaygroundPage.runPane`,{paneId:e})})})]})})}function P({paneId:e,value:t,onChange:n,defaultTemplate:r}){let{t:i}=a(`chat`),[o,s]=(0,_.useState)(!1),c=`memory-router-playground-${e}-prompt`,l=t.trim().length>0;return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,w.jsxs)(`button`,{type:`button`,onClick:()=>s(e=>!e),className:`text-label-default`,style:{color:`var(--content-secondary)`,background:`transparent`,border:`none`,padding:0,cursor:`pointer`,textAlign:`left`},children:[o?`▾`:`▸`,` `,i(`memoryRouterPlaygroundPage.systemPrompt`),` `,(0,w.jsxs)(`span`,{style:{color:`var(--content-tertiary)`},children:[`(`,i(l?`memoryRouterPlaygroundPage.promptModeCustom`:`memoryRouterPlaygroundPage.promptModeBundled`),`)`]})]}),o&&(0,w.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,w.jsx)(`button`,{type:`button`,onClick:()=>n(r),disabled:r.length===0,className:`rounded px-2 py-1 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:r.length===0?`not-allowed`:`pointer`},children:i(`memoryRouterPlaygroundPage.loadDefault`)}),(0,w.jsx)(`button`,{type:`button`,onClick:()=>n(``),disabled:!l,className:`rounded px-2 py-1 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:l?`pointer`:`not-allowed`},children:i(`memoryRouterPlaygroundPage.reset`)})]})]}),o&&(0,w.jsx)(`textarea`,{id:c,value:t,onChange:e=>n(e.target.value),rows:12,placeholder:i(`memoryRouterPlaygroundPage.customPromptPlaceholder`),className:`rounded-md border px-3 py-2 text-body-small-default`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`,color:`var(--content-default)`,fontFamily:`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace`,resize:`vertical`,minHeight:`120px`}})]})}function F({paneId:e,value:t,onChange:n,profiles:r,activeProfile:i}){let{t:o}=a(`chat`),s=`memory-router-playground-${e}-profile`,c=i!==null&&i.length>0?o(`memoryRouterPlaygroundPage.inheritActiveWithProfile`,{profile:i}):o(`memoryRouterPlaygroundPage.inheritActive`);return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsx)(`label`,{htmlFor:s,className:`text-label-default`,style:{color:`var(--content-secondary)`},children:o(`memoryRouterPlaygroundPage.llmProfilesOverride`)}),(0,w.jsxs)(`select`,{id:s,value:t,onChange:e=>n(e.target.value),className:`rounded-md border px-3 py-2 text-body-medium-default`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`,color:`var(--content-default)`},children:[(0,w.jsx)(`option`,{value:``,children:c}),r.map(e=>(0,w.jsx)(`option`,{value:e,children:e},e))]})]})}function I({paneId:e,label:t,value:n,onChange:r}){let{t:i}=a(`chat`),o=`memory-router-playground-${e}-${t}`;return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsx)(`label`,{htmlFor:o,className:`text-label-default`,style:{color:`var(--content-secondary)`},children:t}),(0,w.jsx)(`input`,{id:o,value:n,onChange:e=>r(e.target.value),placeholder:i(`memoryRouterPlaygroundPage.inheritPlaceholder`),className:`rounded-md border px-3 py-2 text-body-medium-default`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`,color:`var(--content-default)`}})]})}function te({onClick:e,disabled:t,isRunning:n}){let{t:r}=a(`chat`);return(0,w.jsx)(`button`,{type:`button`,onClick:e,disabled:t,className:`rounded-md px-4 py-2 text-body-medium-default transition-colors`,style:{background:t?`var(--surface-overlay)`:`var(--primary-base)`,color:t?`var(--content-disabled)`:`var(--content-on-primary)`,border:`none`,cursor:t?`not-allowed`:`pointer`},children:r(n?`memoryRouterPlaygroundPage.running`:`memoryRouterPlaygroundPage.runBoth`)})}function ne({visible:e}){let{t}=a(`chat`);return e?(0,w.jsxs)(`div`,{className:`flex flex-wrap items-center gap-4 rounded-md px-4 py-2 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`},children:[(0,w.jsx)(L,{marker:`●`,markerColor:`var(--content-default)`,label:t(`memoryRouterPlaygroundPage.legendInBoth`)}),(0,w.jsx)(L,{marker:`◆`,markerColor:X(`A`),label:t(`memoryRouterPlaygroundPage.legendAOnly`)}),(0,w.jsx)(L,{marker:`◇`,markerColor:X(`B`),label:t(`memoryRouterPlaygroundPage.legendBOnly`)})]}):null}function L({marker:e,markerColor:t,label:n}){return(0,w.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,w.jsx)(`span`,{style:{color:t},children:e}),(0,w.jsx)(`span`,{children:n})]})}function R({paneId:e,userMessage:t,mutation:n,otherResult:r,validation:i}){let{t:o}=a(`chat`),s=n.data;return(0,w.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,w.jsx)(V,{paneId:e}),i!==null&&(0,w.jsx)(Q,{message:i}),n.isError&&(0,w.jsx)(Q,{message:n.error instanceof Error?n.error.message:o(`memoryRouterPlaygroundPage.failedToRunSimulation`)}),s!==void 0&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(H,{paneId:e,userMessage:t,result:s.response,otherResult:r}),(0,w.jsx)(z,{paneId:e,rawRequest:s.rawRequest,rawResponse:s.rawResponse})]})]})}function z({paneId:e,rawRequest:t,rawResponse:n}){let{t:r}=a(`chat`),[i,o]=(0,_.useState)(!1);return(0,w.jsx)(g,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-2 p-4`,children:[(0,w.jsxs)(`button`,{type:`button`,onClick:()=>o(e=>!e),className:`text-label-default`,style:{color:`var(--content-secondary)`,background:`transparent`,border:`none`,padding:0,cursor:`pointer`,textAlign:`left`},children:[i?`▾`:`▸`,` `,r(`memoryRouterPlaygroundPage.rawApiExchange`)]}),i&&(0,w.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,w.jsx)(B,{label:r(`memoryRouterPlaygroundPage.requestLabel`,{paneId:e}),body:t}),(0,w.jsx)(B,{label:r(`memoryRouterPlaygroundPage.responseLabel`,{paneId:e}),body:n})]})]})})}function B({label:e,body:t}){let{t:n}=a(`chat`);return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsx)(`span`,{className:`text-label-default`,style:{color:`var(--content-secondary)`},children:e}),(0,w.jsx)(`pre`,{className:`overflow-auto rounded-md border px-3 py-2 text-body-small-default`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`,color:`var(--content-default)`,fontFamily:`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace`,maxHeight:`320px`,whiteSpace:`pre`},children:t.length===0?n(`memoryRouterPlaygroundPage.empty`):t})]})}function V({paneId:e}){let{t}=a(`chat`);return(0,w.jsx)(`div`,{className:`text-body-medium-default`,style:{color:X(e)},children:t(`memoryRouterPlaygroundPage.paneTitle`,{paneId:e})})}function H({paneId:e,userMessage:t,result:n,otherResult:r}){let{t:i}=a(`chat`),o=(0,_.useMemo)(()=>U(n,r),[n,r]),s=(0,_.useMemo)(()=>q(n),[n]);return(0,w.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,w.jsx)(G,{result:n,userMessage:t,otherResult:r,counts:(0,_.useMemo)(()=>W(o),[o])}),(0,w.jsx)(K,{result:n}),n.failureReason!==null&&(0,w.jsx)(Q,{message:i(`memoryRouterPlaygroundPage.routerFailure`,{reason:n.failureReason})}),s.length===0?(0,w.jsx)(ae,{}):s.map(t=>(0,w.jsx)(ie,{paneId:e,source:t.source,slugs:t.slugs,scores:n.scores,diff:o},t.source))]})}function U(e,t){let n=new Map;if(t===void 0){for(let t of e.selectedSlugs)n.set(t,`both`);return n}let r=new Set(t.selectedSlugs);for(let t of e.selectedSlugs)n.set(t,r.has(t)?`both`:`only-here`);return n}function W(e){let t=0,n=0;for(let r of e.values())r===`both`?t++:n++;return{total:e.size,shared:t,unique:n}}function G({result:e,userMessage:t,otherResult:n,counts:r}){let{t:i}=a(`chat`),o=[{label:i(`memoryRouterPlaygroundPage.summaryUserMessageLabel`),value:t},{label:i(`memoryRouterPlaygroundPage.totalCandidatePagesLabel`),value:e.totalCandidatePages.toLocaleString()},{label:i(`memoryRouterPlaygroundPage.selectedLabel`),value:i(`memoryRouterPlaygroundPage.selectedValue`,{count:e.selectedSlugs.length,maxPageIds:e.effectiveConfig.max_page_ids})}];return n!==void 0&&o.push({label:i(`memoryRouterPlaygroundPage.diffLabel`),value:i(`memoryRouterPlaygroundPage.diffValue`,{shared:r.shared,unique:r.unique})}),(0,w.jsx)(g,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,w.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:i(`memoryRouterPlaygroundPage.summary`)}),(0,w.jsx)(Z,{rows:o})]})})}function K({result:e}){let{t}=a(`chat`),n=[`tier1_size`,`tier2_size`,`batch_size`,`max_page_ids`].map(n=>{let r=e.effectiveConfig[n],i=e.overrides[n];return{label:n,value:`${r===null?t(`memoryRouterPlaygroundPage.nullValue`):String(r)}${i===void 0?``:t(`memoryRouterPlaygroundPage.overrideSuffix`)}`}});return n.push({label:t(`memoryRouterPlaygroundPage.llmProfilesOverride`),value:e.profileOverride===null?t(`memoryRouterPlaygroundPage.inheritActive`):`${e.profileOverride}${t(`memoryRouterPlaygroundPage.overrideSuffix`)}`}),n.push({label:t(`memoryRouterPlaygroundPage.systemPromptConfigLabel`),value:e.routerPromptOverridden?t(`memoryRouterPlaygroundPage.promptModeCustom`):t(`memoryRouterPlaygroundPage.promptModeBundled`)}),(0,w.jsx)(g,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,w.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:t(`memoryRouterPlaygroundPage.effectiveConfig`)}),(0,w.jsx)(Z,{rows:n})]})})}function q(e){let t=new Map;for(let n of e.selectedSlugs){let r=e.sourceBySlug[n];if(r===void 0)continue;let i=t.get(r)??[];i.push(n),t.set(r,i)}return[...t.keys()].sort((e,t)=>J(e)-J(t)).map(e=>({source:e,slugs:t.get(e)}))}function J(e){return e===`tier1`?0:e===`tier2`?1:e.startsWith(`tier3:`)?2+Number(e.slice(6)):2**53-1}function Y(e,t){return e===`tier1`?t(`memoryRouterPlaygroundPage.tier1Label`):e===`tier2`?t(`memoryRouterPlaygroundPage.tier2Label`):e.startsWith(`tier3:`)?t(`memoryRouterPlaygroundPage.tier3Label`,{batch:e.slice(6)}):e}function X(e){return e===`A`?`var(--system-mid-strong)`:`var(--primary-base)`}function re(e,t){return t===`both`?{color:`var(--content-default)`,marker:`●`}:{color:X(e),marker:e===`A`?`◆`:`◇`}}function ie({paneId:e,source:t,slugs:n,scores:r,diff:i}){let{t:o}=a(`chat`);return(0,w.jsx)(g,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,w.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,w.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:Y(t,o)}),(0,w.jsx)(`span`,{className:`text-label-default`,style:{color:`var(--content-secondary)`},children:o(`memoryRouterPlaygroundPage.pageCount`,{count:n.length})})]}),(0,w.jsx)(`ul`,{className:`flex flex-col gap-1`,children:n.map(n=>{let{color:a,marker:s}=re(e,i.get(n)??`only-here`);return(0,w.jsxs)(`li`,{className:`flex items-baseline justify-between gap-3`,children:[(0,w.jsxs)(`span`,{className:`flex items-baseline gap-2`,children:[(0,w.jsx)(`span`,{style:{color:a},children:s}),(0,w.jsx)(`code`,{className:`text-body-medium-default`,style:{color:a},children:n})]}),t===`tier2`&&(0,w.jsx)(`span`,{className:`tabular-nums text-label-default`,style:{color:`var(--content-secondary)`},children:o(`memoryRouterPlaygroundPage.emaScore`,{score:(r[n]??0).toFixed(3)})})]},n)})})]})})}function ae(){let{t:e}=a(`chat`);return(0,w.jsx)(g,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-2 p-4`,children:[(0,w.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e(`memoryRouterPlaygroundPage.noPagesSelected`)}),(0,w.jsx)(`span`,{className:`text-label-default`,style:{color:`var(--content-secondary)`},children:e(`memoryRouterPlaygroundPage.emptySelectionHint`)})]})})}function Z({rows:e}){return(0,w.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.map(({label:e,value:t})=>(0,w.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3`,children:[(0,w.jsx)(`span`,{className:`shrink-0 text-label-default`,style:{color:`var(--content-secondary)`},children:e}),(0,w.jsx)(`span`,{className:`text-right text-body-medium-lighter`,style:{color:`var(--content-default)`},children:t})]},e))})}function Q({message:e}){return(0,w.jsx)(`div`,{className:`rounded-md px-4 py-3 text-body-medium-default`,style:{background:`var(--surface-overlay)`,color:`var(--system-negative-strong)`},children:e})}function $({children:e}){return(0,w.jsx)(`div`,{className:`flex h-full w-full items-center justify-center p-8 text-label-default`,style:{color:`var(--content-tertiary)`},children:e})}export{T as MemoryRouterPlaygroundPage};
@@ -1 +0,0 @@
1
- import{r as e,t}from"./react-DPM_L_aA.js";import{av as n}from"./index-CEGpfe8u.js";var r=t();function i(){return(0,r.jsx)(e,{to:n.account.login,replace:!0})}export{i as PasswordResetPage};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Jn as t,N as n,Zn as r,er as i,j as a}from"./vendor-kNpRDQWe.js";import{b as o,f as s,g as c,t as l}from"./react-DPM_L_aA.js";import{R as u,ar as d,jr as f,pi as p,tn as m,v as h,xn as g}from"./icons-CSdHOix6.js";import{A as _,C as v,D as y,F as b,H as x,M as S,N as C,O as w,P as ee,R as T,T as E,V as te,a as ne,d as re,g as ie,h as ae,i as oe,j as D,k as se,m as O,n as ce,o as le,p as ue,r as de,t as fe,x as k,z as pe}from"./use-checkout-dismiss-refresh-CW4Qlg6d.js";import{Hf as me,Ip as A,Jc as j,Kv as M,Mf as he,Mr as N,Nf as ge,Og as _e,Pf as ve,Qc as ye,Xc as be,Yc as xe,Zf as Se,al as Ce,av as P,by as we,cg as Te,ev as Ee,hy as F,il as De,iy as I,ny as L,og as R,ov as Oe,qc as ke,rl as Ae,tl as z,xy as B}from"./index-CEGpfe8u.js";import{t as je}from"./android-billing-handoff-Cxt7SKC_.js";import{t as Me}from"./checkout-return-target-CvcyjPIY.js";import{i as Ne,r as Pe,s as Fe,t as V}from"./machine-sizes-DfVG31u5.js";var H=e(o(),1),Ie=`__none__`,U=`__baseline__`,W=`${Ne[V]} machine (${Pe[V]})`;function Le(e){let{proPlan:t,seed:n,machineTier:r,storageTier:i,creditChoice:a,noBundleLabel:o}=e,s=t.machine_tiers,c=t.storage_tiers,l=t.credit_tiers??[],u=r===U,d=u?null:s.find(e=>e.tier===r)??null,f=u?W:d?.description??null,p=c.find(e=>e.tier===i)??null,m=a&&a!==`__none__`?l.find(e=>e.tier===a)??null:null,h=n!=null&&n.machineTier!=null?s.find(e=>e.tier===n.machineTier)??null:null,g=n==null?null:n.machineTier??`__baseline__`,_=n==null?void 0:n.machineTier==null?W:h?.description,v=n==null?null:c.find(e=>e.tier===n.storageTier)??null,y=n!=null&&n.creditTier!=null?l.find(e=>e.tier===n.creditTier)??null:null,b=n!=null&&n.machineTier!=null&&h==null,x=n!=null&&v==null,S=[{key:`base`,label:`Platform fee: ${se(t.base_price_cents)}`,changed:!1}];if(f!=null){let e=n!=null&&!b&&g!==r;S.push({key:`machine`,label:f,previousLabel:e?_:void 0,changed:e})}if(p!=null){let e=n!=null&&!x&&v?.tier!==p.tier;S.push({key:`storage`,label:D(p.storage_gib),previousLabel:e&&v!=null?D(v.storage_gib):void 0,changed:e})}let C=a===`__none__`?o:m==null?null:m.label;if(C!=null){let e=n!=null&&(n.creditTier??`__none__`)!==a,t=n?.creditTier==null?o:y?.label;S.push({key:`credit`,label:C,previousLabel:e?t:void 0,changed:e})}let w=t.base_price_cents+(d?.price_cents??0)+(p?.price_cents??0)+(m?.price_cents??0),ee=b||x||n!=null&&n.creditTier!=null&&y==null;if(n==null||ee)return{totalCents:w,previousTotalCents:null,deltaCents:null,rows:S};let T=t.base_price_cents+(h?.price_cents??0)+(v?.price_cents??0)+(y?.price_cents??0);return{totalCents:w,previousTotalCents:T,deltaCents:w-T,rows:S}}var Re=`https://www.vellum.ai/docs/pricing`,ze=`${Re}#machine-sizes`,Be=`${Re}#storage`,Ve=`${Re}#credit-bundles`,G=l();function K(e){return(0,G.jsxs)(`span`,{className:`text-[12px] font-medium text-[var(--content-disabled)]`,children:[`+`,se(e)]})}function q({label:e,docsUrl:t,docsLabel:n,learnMore:r}){return(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,G.jsx)(`span`,{className:`text-[11px] font-medium text-[var(--content-secondary)]`,children:e}),(0,G.jsx)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,"aria-label":n,onClick:e=>R(e,t),className:`text-[11px] font-medium text-[var(--content-tertiary)] underline hover:text-[var(--content-default)]`,children:r})]})}function He({open:e,proPlan:t,pending:n,currentStorageGib:r,initialSelection:i,onClose:o,onContinue:s}){let{t:c}=a(`settings`),l=c(`customPlanModal.noExtraUsage`),p=e?i??null:null,[m,h]=(0,H.useState)(()=>p?p.machineTier??`__baseline__`:``),[_,v]=(0,H.useState)(()=>p?.storageTier??``),[b,S]=(0,H.useState)(()=>p?p.creditTier??`__none__`:``),[C,ee]=(0,H.useState)({open:e,initialSelection:i});(C.open!==e||C.initialSelection!==i)&&(ee({open:e,initialSelection:i}),h(p?p.machineTier??`__baseline__`:``),v(p?.storageTier??``),S(p?p.creditTier??`__none__`:``));let T=t.machine_tiers,E=(0,H.useMemo)(()=>t.storage_tiers.filter(e=>!e.legacy||e.tier===i?.storageTier),[t.storage_tiers,i?.storageTier]),te=t.credit_tiers??[],ne=(0,H.useMemo)(()=>(t.credit_tiers??[]).filter(e=>!e.legacy),[t.credit_tiers]),re=e=>k(e)||e.legacy&&e.tier!==i?.storageTier||r!=null&&e.storage_gib<r,ie=i!=null&&i.machineTier==null,ae=[...ie?[{value:U,label:W,icon:(0,G.jsx)(x,{className:`h-4 w-4`,"aria-hidden":!0}),disabled:!0}]:[],...T.map(e=>({value:e.tier,label:e.description,icon:(0,G.jsx)(x,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:K(e.price_cents),disabled:k(e)}))],oe=E.map(e=>({value:e.tier,label:e.label,icon:(0,G.jsx)(g,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:K(e.price_cents),disabled:re(e)})),D=b&&b!==`__none__`?te.find(e=>e.tier===b)??null:null,O=D?.legacy?D:null,ce=[{value:Ie,label:l,icon:(0,G.jsx)(d,{className:`h-4 w-4`,"aria-hidden":!0})},...ne.map(e=>({value:e.tier,label:e.label,icon:(0,G.jsx)(d,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:K(e.price_cents)})),...O?[{value:O.tier,label:O.label,icon:(0,G.jsx)(d,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:K(O.price_cents),disabled:!0}]:[]],le=m===U,ue=le?null:T.find(e=>e.tier===m)??null,de=le?ie?{tier:null}:null:ue==null?null:{tier:ue.tier},fe=_!==``&&_===i?.storageTier,pe=E.find(e=>e.tier===_&&(fe||!re(e)))??null,me=b===`__none__`||b===i?.creditTier||ne.some(e=>e.tier===b),A=b!==``&&me?b:null,j=de!=null&&pe!=null&&A!=null,he=i!=null&&m===(i.machineTier??`__baseline__`)&&_===i.storageTier&&b===(i.creditTier??`__none__`),N=(0,H.useMemo)(()=>Le({proPlan:t,seed:i??null,machineTier:m,storageTier:_,creditChoice:b,noBundleLabel:l}),[t,i,m,_,b,l]);return(0,G.jsx)(I.Root,{open:e,onOpenChange:e=>{e||o()},children:(0,G.jsx)(I.Content,{size:`lg`,"data-theme":`light`,hideCloseButton:!0,overlayClassName:`backdrop-blur-[2px]`,className:`max-w-[820px] md:min-h-[min(608px,calc(100vh-4rem))]`,children:(0,G.jsx)(I.Body,{className:`p-4`,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-8 md:flex-row md:gap-12`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-6 md:flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(`div`,{className:`flex shrink-0 items-center justify-center rounded-xl bg-[var(--surface-active)] p-[14px]`,children:(0,G.jsx)(u,{className:`h-6 w-6 text-[var(--content-emphasised)]`,"aria-hidden":!0})}),(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,G.jsx)(I.Title,{className:`text-[16px] font-medium text-[var(--content-emphasised)]`,children:c(`customPlanModal.title`)}),(0,G.jsx)(I.Description,{className:`mt-0 text-[14px] font-medium leading-[18px] text-[var(--content-tertiary)]`,children:c(`customPlanModal.subtitle`)})]})]}),(0,G.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,G.jsx)(q,{label:c(`customPlanModal.machineSizeLabel`),docsUrl:ze,docsLabel:c(`customPlanModal.machineSizeDocsAriaLabel`),learnMore:c(`customPlanModal.learnMore`)}),(0,G.jsx)(M,{"aria-label":c(`customPlanModal.machineSizeAriaLabel`),placeholder:c(`customPlanModal.machineSizePlaceholder`),value:m,onChange:h,options:ae})]}),(0,G.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,G.jsx)(q,{label:c(`customPlanModal.storageLabel`),docsUrl:Be,docsLabel:c(`customPlanModal.storageDocsAriaLabel`),learnMore:c(`customPlanModal.learnMore`)}),(0,G.jsx)(M,{"aria-label":c(`customPlanModal.storageAriaLabel`),placeholder:c(`customPlanModal.storagePlaceholder`),value:_,onChange:v,options:oe})]}),(0,G.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,G.jsx)(q,{label:c(`customPlanModal.usageBundleLabel`),docsUrl:Ve,docsLabel:c(`customPlanModal.usageBundleDocsAriaLabel`),learnMore:c(`customPlanModal.learnMore`)}),(0,G.jsx)(M,{"aria-label":c(`customPlanModal.usageBundleAriaLabel`),placeholder:c(`customPlanModal.usageBundlePlaceholder`),value:b,onChange:S,options:ce})]})]}),(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-16 md:pt-[5px]`,children:[(0,G.jsx)(`span`,{className:`text-[16px] font-medium text-[var(--content-emphasised)]`,children:c(`customPlanModal.recap`)}),(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,G.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,G.jsx)(`span`,{className:`text-[24px] font-medium text-[var(--content-default)]`,children:se(N.totalCents)}),N.deltaCents!=null&&N.deltaCents!==0&&N.previousTotalCents!=null&&(0,G.jsx)(`span`,{className:`text-[12px] font-medium ${N.deltaCents>0?`text-[var(--system-positive-strong)]`:`text-[var(--system-negative-strong)]`}`,children:c(`customPlanModal.comparedToPrevious`,{delta:y(N.deltaCents),previous:w(N.previousTotalCents)})}),(0,G.jsx)(`span`,{className:`text-[11px] font-medium text-[var(--content-tertiary)]`,children:c(`customPlanModal.totalBilledMonthly`)})]}),(0,G.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,G.jsx)(`span`,{className:`text-[12px] font-medium text-[var(--content-tertiary)]`,children:c(`customPlanModal.yourSelection`)}),(0,G.jsx)(`ul`,{className:`flex flex-col gap-2`,children:N.rows.map(e=>(0,G.jsxs)(`li`,{className:`flex flex-col gap-2`,children:[e.previousLabel!=null&&(0,G.jsxs)(`div`,{className:`relative flex w-fit items-start gap-2`,children:[(0,G.jsx)(f,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`,"aria-hidden":!0}),(0,G.jsx)(`s`,{className:`text-[14px] font-medium leading-[18px] text-[var(--content-disabled)] no-underline`,children:e.previousLabel}),(0,G.jsx)(`span`,{"aria-hidden":!0,className:`pointer-events-none absolute -left-1 right-0 top-[9px] h-px bg-[var(--content-disabled)]`})]}),(0,G.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,G.jsx)(f,{className:`mt-0.5 h-4 w-4 shrink-0 ${e.changed?`text-[var(--system-positive-strong)]`:`text-[var(--content-secondary)]`}`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`text-[14px] font-medium leading-[18px] text-[var(--content-secondary)]`,children:e.label})]})]},e.key))}),(0,G.jsx)(B,{variant:`primary`,fullWidth:!0,disabled:!j||he||n,onClick:()=>{!j||he||n||s({machineTier:de.tier,storageTier:pe.tier,creditTier:A===`__none__`?null:A})},children:c(`customPlanModal.continue`)}),(0,G.jsx)(B,{variant:`ghost`,fullWidth:!0,disabled:n,onClick:o,children:c(`customPlanModal.cancel`)})]})]})]})})})})}function Ue({className:e,onConfigure:t,configureDisabled:n,isCurrent:r=!1,currentSummary:i}){let{t:o}=a(`settings`);return(0,G.jsxs)(`div`,{className:`flex w-full flex-col items-center gap-8 ${e??``}`,children:[(0,G.jsx)(`p`,{className:`text-center text-[20px] font-medium text-[var(--content-tertiary)]`,children:o(`customPlanRow.prompt`)}),(0,G.jsxs)(`div`,{className:`flex w-[840px] max-w-full flex-col items-start gap-4 rounded-2xl bg-[var(--surface-lift)] p-4 sm:flex-row sm:items-center sm:justify-between sm:gap-6`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-4`,children:[(0,G.jsx)(`div`,{className:`flex shrink-0 items-center justify-center rounded-xl bg-[var(--content-disabled)] p-[14px]`,children:(0,G.jsx)(u,{className:`h-6 w-6 text-[var(--aux-white)]`,"aria-hidden":!0})}),(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`text-[16px] font-medium text-[var(--content-emphasised)]`,children:o(`customPlanRow.title`)}),r?(0,G.jsx)(F,{className:`bg-[var(--feed-digest-weak)] text-[var(--content-default)]`,children:o(`customPlanRow.currentPlanTag`)}):null]}),(0,G.jsx)(`span`,{className:`text-[14px] font-medium text-[var(--content-tertiary)]`,children:i??o(`customPlanRow.genericDescriptor`)})]})]}),(0,G.jsx)(`div`,{className:`flex shrink-0 items-center gap-3`,children:(0,G.jsx)(B,{variant:`outlined`,onClick:t,disabled:n,children:o(`customPlanRow.configure`)})})]})]})}function We({open:e,lostFeatures:t,viaPortal:n,pending:r,onCancel:i,onConfirm:o}){let{t:s}=a(`settings`),c=t.length>0;return(0,G.jsx)(I.Root,{open:e,onOpenChange:e=>{!e&&!r&&i()},children:(0,G.jsxs)(I.Content,{size:`md`,hideCloseButton:!0,children:[(0,G.jsx)(I.Header,{icon:h,children:(0,G.jsx)(I.Title,{children:s(`freeDowngradeConfirmModal.title`)})}),(0,G.jsxs)(I.Body,{children:[(0,G.jsx)(we,{as:`p`,variant:`body-medium-default`,className:`text-(--content-secondary)`,children:s(n?c?`freeDowngradeConfirmModal.bodyWithFeaturesPortal`:`freeDowngradeConfirmModal.bodyCancelOnlyPortal`:c?`freeDowngradeConfirmModal.bodyWithFeatures`:`freeDowngradeConfirmModal.bodyCancelOnly`)}),c?(0,G.jsx)(`ul`,{className:`mt-4 list-disc space-y-2 pl-5`,children:t.map(e=>(0,G.jsx)(`li`,{children:(0,G.jsx)(we,{as:`span`,variant:`body-medium-default`,children:e})},e))}):null]}),(0,G.jsxs)(I.Footer,{children:[(0,G.jsx)(B,{variant:`outlined`,onClick:i,disabled:r,children:s(`freeDowngradeConfirmModal.cancel`)}),(0,G.jsx)(B,{variant:`danger`,onClick:o,disabled:r,"data-testid":`confirm-free-downgrade-button`,children:s(`freeDowngradeConfirmModal.confirm`)})]})]})})}function Ge({tierKey:e,name:t,tagline:n,priceLabel:r,priceCaption:i,ctaLabel:o,features:s,recommended:c=!1,tone:l=`dark`,isCurrent:u,intent:d=`upgrade`,pending:p,onCta:m}){let{t:h}=a(`settings`),g=d===`downgrade`&&!u;return(0,G.jsxs)(`div`,{"data-theme":l,className:`flex w-full flex-col gap-3 rounded-2xl bg-[var(--surface-lift)] p-3 sm:gap-4 sm:p-4`,children:[(0,G.jsx)(C,{tier:e,size:50}),(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsxs)(`div`,{className:`flex h-8 items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`text-[20px] font-medium text-[var(--content-emphasised)]`,children:t}),c&&!g&&!u?(0,G.jsx)(F,{className:`bg-[var(--feed-digest-weak)] text-[12px] font-semibold uppercase text-[var(--credits-accent)]`,children:h(`planColumnCard.recommended`)}):null]}),(0,G.jsx)(`p`,{className:`overflow-hidden text-[14px] font-medium leading-[18px] text-[var(--content-tertiary)] sm:h-9`,children:n})]}),(0,G.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,G.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,G.jsx)(`span`,{className:`text-[24px] font-medium text-[var(--content-default)]`,children:r}),(0,G.jsx)(`span`,{className:`text-[11px] font-medium text-[var(--content-tertiary)]`,children:i})]}),(0,G.jsx)(B,{variant:g?`outlined`:`primary`,fullWidth:!0,disabled:u||p,onClick:m,children:u?h(`planColumnCard.currentPlan`):o}),(0,G.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,G.jsxs)(`div`,{className:`flex flex-col gap-2 sm:gap-4`,children:[(0,G.jsx)(`span`,{className:`text-[12px] font-medium text-[var(--content-tertiary)]`,children:h(`planColumnCard.includes`)}),(0,G.jsx)(`ul`,{className:`flex flex-col gap-2`,children:s.map(e=>(0,G.jsxs)(`li`,{className:`flex items-start gap-2`,children:[(0,G.jsx)(f,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`text-[14px] font-medium text-[var(--content-secondary)]`,children:e})]},e))})]})]})}function Ke({enabled:e=!0}={}){let n=i(),a=Se(),o=e&&a,s=r({...Ae(),enabled:o}),c=s.data,l=c!=null&&c.plan_id!==`base`,u=r({...z(),enabled:o&&l}),d=r({...ke(),enabled:o&&l}).data?.plans.find(e=>e.id===`pro`)?.machine_tiers??[],f=e=>d.find(t=>t.tier===e)?.price_cents??null,p=t(be()),m=t(ye()),h=t(xe()),g={machineTier:u.data?.max_machine_tier??null,storageTier:u.data?.selected_storage_tier??null,storageGib:u.data?.selected_storage_gib??null,creditTier:c?.selected_credit_tier??null},_=c!=null&&c.plan_id!==`base`&&c.status!=null&&ue.has(c.status)&&c.cancel_at_period_end!==!0&&!c.cancel_at,v=!l||!u.isPending,y=!l||u.isSuccess&&u.data!=null&&!u.isFetching&&u.dataUpdatedAt>=s.dataUpdatedAt;return{changeTiers:async e=>{let t=e.machineTier!==g.machineTier,r=e.storageTier!==g.storageTier,i=e.creditTier!==g.creditTier,a=f(e.machineTier),o=f(g.machineTier),s=t&&a!=null&&o!=null&&a<o,c=[];if(t&&c.push(new Promise(t=>{p.mutate({body:{machine_tier:e.machineTier}},{onSuccess:()=>t({dimension:`machine`,ok:!0}),onError:e=>t({dimension:`machine`,ok:!1,error:e})})})),r&&c.push(new Promise(t=>{m.mutate({body:{storage_tier:e.storageTier}},{onSuccess:()=>t({dimension:`storage`,ok:!0}),onError:e=>t({dimension:`storage`,ok:!1,error:e})})})),i&&c.push(new Promise(t=>{h.mutate({body:{credit_tier:e.creditTier}},{onSuccess:()=>t({dimension:`credit`,ok:!0}),onError:e=>t({dimension:`credit`,ok:!1,error:e})})})),c.length===0)return{needsResize:!1,creditChanged:!1};let l=await Promise.all(c);await oe(n);let u=l.some(e=>e.ok&&e.dimension===`machine`)&&!s,d=l.some(e=>e.ok&&e.dimension===`storage`),_=u||d,v=l.some(e=>e.ok&&e.dimension===`credit`),y=l.filter(e=>!e.ok);if(y.length>0){let e=y.map(e=>O(e.error,`Failed to update ${e.dimension} tier.`)).join(` `);return L.error(e),_||v?{needsResize:_,creditChanged:v}:null}return{needsResize:_,creditChanged:v}},isPending:p.isPending||m.isPending||h.isPending,current:g,eligible:_,currentReady:v,currentKnown:y,primaryAssistantId:y?u.data?.primary_assistant_id??null:null}}var qe=`#0A0A0B`,Je=8e3,Ye={upgrade:`upgrade`,downgrade:`downgrade`,switch:`change`};N();function J(e,t){return t(`plansPage.featureComputer`,{machine:E(e)})}function Xe(e,t,n){return[J(e,n),n(`plansPage.featureStorage`,{gib:e.storage_gib}),n(`plansPage.featureUsage`,{name:e.name}),...t]}function Ze(e,t){return v(e,t).join(` · `)}function Qe(){let{t:e}=a(`settings`),o=s(),[l,u]=c(),d=i(),f=Oe(),h=ve({platformHostedOnly:!0}),g=he(),v=ge(),y=h===`full`&&g,x=h===`full`&&v,C=r({...Ae(),enabled:y}),w=r({...ke(),enabled:y}),E=t(Ce()),{changePackage:oe,isPending:D}=de(),{changeTiers:se,isPending:ue,current:k,currentReady:M,currentKnown:N,primaryAssistantId:ye}=Ke({enabled:y});fe();let[be,xe]=(0,H.useState)(!1),[we,F]=(0,H.useState)(!1),[I,R]=(0,H.useState)(!1),[z,Ne]=(0,H.useState)(null),[Pe,V]=(0,H.useState)(!1),[Ie,U]=(0,H.useState)(void 0),W=(0,H.useRef)(!1),[Le,ze]=(0,H.useState)(!1),Be=(0,H.useRef)(!1),[Ve,K]=(0,H.useState)(null),q=C.data,J=w.data?.plans.find(e=>e.id===`pro`),Qe=J?.packages??[],$e=Qe.length>0,Y=q?.plan_id===`pro`,et=Se(),tt=te(ye,y&&et&&Y&&N),nt=N?tt:void 0,X=q?q.plan_id===`base`?`free`:b(q.package)?q.package.key:null:null,{cancelSubscription:rt,isPending:it}=ne(),at=ae(q),ot=re(le(q)),st=A(),ct=new Set(w.data?.plans.find(e=>e.id===`base`)?.included_features??[]),lt=(J?.included_features??[]).filter(e=>!ct.has(e)),Z=be||D||it||ot.isPending,ut=(0,H.useMemo)(()=>!Y||k.storageTier==null?null:{machineTier:k.machineTier,storageTier:k.storageTier,creditTier:k.creditTier},[Y,k.machineTier,k.storageTier,k.creditTier]),Q=l.get(Ee),dt=!y&&!x,ft=y&&!w.isLoading&&!$e,$=dt||!(Q!=null&&!Le)&&(C.isError||ft);(0,H.useEffect)(()=>{$&&o(dt?P.settings.usageBilling:`${P.settings.usageBilling}&adjust_plan`,{replace:!0})},[$,dt,o]);let pt=()=>{(window.history.state?.idx??0)>0?o(-1):o(P.settings.usageBilling)},mt=async t=>{xe(!0);try{let e=await E.mutateAsync({body:{...t,return_target:Me()}});e.status===`redirect`&&e.checkout_url?(_e(t.package?{kind:`package`,packageKey:t.package}:{kind:`custom`,machineTier:t.machine_tier??null,storageTier:t.storage_tier??null,creditTier:t.credit_tier??null}),me(d),Te(e.checkout_url)):(await d.invalidateQueries({queryKey:De()}),await d.invalidateQueries({queryKey:j()}))}catch(t){L.error(O(t,e(`plansPage.checkoutFailedToast`)))}finally{xe(!1)}},ht=(e,t)=>{if(q&&!Z){if(st){je(P.plans);return}if(Y){if(e===`free`){R(!0);return}let n=Qe.find(t=>t.key===e);if(!n||T(X,n.key)===`current`)return;if(!ie(q)){o(`${P.settings.usageBilling}&adjust_plan`,{replace:t?.replaceOnBail===!0});return}Ne(n);return}e!==`free`&&mt({target_plan_id:`pro`,package:e,confirm:!0})}},gt=(0,H.useRef)(ht);(0,H.useEffect)(()=>{gt.current=ht}),(0,H.useEffect)(()=>{if(Q==null||W.current||$||!y||Be.current)return;Be.current=!0;let e=setTimeout(()=>{ze(!0)},Je),t=()=>{clearTimeout(e),ze(!0)};Promise.all([d.refetchQueries({queryKey:De()}),d.refetchQueries({queryKey:j()})]).then(t,t)},[$,Q,y,d]),(0,H.useEffect)(()=>{Q==null||W.current||$||!y||!Le||(W.current=!0,Y&&Q!==`free`&&K(Q),u(e=>{let t=new URLSearchParams(e);return t.delete(Ee),t},{replace:!0}))},[Le,$,Q,y,Y,u]),(0,H.useEffect)(()=>{Ve==null||Q!=null||(K(null),gt.current(Ve,{replaceOnBail:!0}))},[Q,Ve]);let _t;if(q&&J&&$e){let t=Y&&X===null&&M&&k.storageGib!=null,r=t?Ze(k,J):void 0,i=async()=>{if(!at){R(!1),ot.mutate({});return}await rt()&&R(!1)},a=()=>({creditTier:k.creditTier,fromSnapshot:{machineSize:nt?.machine_size??null,storageGib:nt?.provisioned_storage_gib??null}}),o=z?X===null?`switch`:T(X,z.key)===`downgrade`?`downgrade`:`upgrade`:`upgrade`,s=async()=>{if(!z)return;let t=z,n=a(),r=X===null||!M||!N||Fe(k.machineTier,t.machine_tier),i=await oe(t.key);if(!i)return;if(Ne(null),i.status===`no_op`){L.success(e(`plansPage.alreadyOnPlanToast`));return}let s=t.credit_tier??null;U({fromSnapshot:n.fromSnapshot,credits:s===n.creditTier?null:{fromTier:n.creditTier,toTier:s},direction:Ye[o],canLowerResources:r}),V(!0)},c=e=>mt({target_plan_id:`pro`,confirm:!0,machine_tier:e.machineTier,storage_tier:e.storageTier,credit_tier:e.creditTier}),l=async t=>{let n=a(),r=!N||Fe(k.machineTier,t.machineTier),i=await se(t);i&&(F(!1),i.needsResize||i.creditChanged?(U({fromSnapshot:n.fromSnapshot,credits:i.creditChanged?{fromTier:n.creditTier,toTier:t.creditTier}:null,direction:`change`,canLowerResources:r}),V(!0)):L.success(e(`plansPage.planUpdatedToast`)))},u=()=>{if(!Z){if(st){je(P.plans);return}Y&&!M||F(!0)}},d=[...Qe].sort((e,t)=>ee.indexOf(e.key)-ee.indexOf(t.key)),f=S(`free`),p=Y?`downgrade`:T(X,`free`),m=[e(`plansPage.freeFeatureSmallComputer`),e(`plansPage.freeFeatureStorage`,{gib:4}),e(`plansPage.freeFeaturePayAsYouGo`)];_t=(0,G.jsxs)(`div`,{className:`my-auto flex w-full flex-col items-center`,children:[(0,G.jsxs)(`header`,{className:`flex flex-col items-center gap-2 text-center`,children:[(0,G.jsx)(`h1`,{className:`text-[40px] text-[var(--content-emphasised)] sm:text-[60px]`,style:{fontFamily:`var(--font-serif)`,fontWeight:400,lineHeight:1.2,letterSpacing:`1.2px`},children:e(`plansPage.heading`)}),(0,G.jsx)(`p`,{className:`text-[20px] font-medium text-[var(--content-tertiary)]`,children:e(`plansPage.subheading`)})]}),(0,G.jsxs)(`div`,{className:`mt-6 grid w-full max-w-[1312px] grid-cols-1 items-start gap-4 sm:mt-10 sm:grid-cols-2 sm:gap-6 lg:grid-cols-4`,children:[(0,G.jsx)(Ge,{tierKey:`free`,name:`Base`,tagline:f?.tagline??``,priceLabel:e(`plansPage.freePriceLabel`),priceCaption:f?.priceCaption??e(`plansPage.foreverCaption`),ctaLabel:p===`downgrade`?e(`plansPage.downgradeTo`,{name:`Base`}):f?.cta??e(`plansPage.startFreeCta`),features:m,tone:`dark`,isCurrent:X===`free`,intent:p,pending:Z,onCta:()=>ht(`free`)}),d.map(t=>{let n=S(t.key),r=T(X,t.key);return(0,G.jsx)(Ge,{tierKey:t.key,name:t.name,tagline:n?.tagline??``,priceLabel:_(t.total_price_cents),priceCaption:n?.priceCaption??e(`plansPage.billedMonthlyCaption`),ctaLabel:r===`downgrade`?e(`plansPage.downgradeTo`,{name:t.name}):n?.cta??t.name,features:Xe(t,n?.extraFeatures??[],e),recommended:n?.recommended,tone:n?.recommended?`light`:`dark`,isCurrent:X===t.key,intent:r,pending:Z,onCta:()=>ht(t.key)},t.key)})]}),(0,G.jsx)(Ue,{className:`mt-6 sm:mt-10`,onConfigure:u,configureDisabled:Y&&!M||Z,isCurrent:t,currentSummary:r}),(0,G.jsx)(He,{open:we,proPlan:J,pending:be||ue,currentStorageGib:Y?k.storageGib:null,initialSelection:ut,onClose:()=>F(!1),onContinue:e=>{Y?l(e):c(e)}}),(0,G.jsx)(ce,{open:z!==null,relation:o,packageName:z?.name??``,targetPackage:z,pending:D,onCancel:()=>Ne(null),onConfirm:()=>void s()}),(0,G.jsx)(We,{open:I,lostFeatures:lt,viaPortal:!at,pending:it||ot.isPending,onCancel:()=>R(!1),onConfirm:()=>void i()}),(0,G.jsx)(pe,{mode:`resize`,open:Pe,onClose:()=>{V(!1),U(void 0)},resizeContext:Ie}),(0,G.jsx)(`p`,{className:`mt-6 text-center text-[12px] font-medium text-[var(--content-tertiary)] sm:mt-10`,children:(0,G.jsx)(n,{ns:`settings`,i18nKey:`plansPage.cancelAnytimeFooter`,components:{docsLink:(0,G.jsx)(`a`,{href:Re,target:`_blank`,rel:`noopener noreferrer`,className:`text-[var(--content-default)] underline`})}})})]})}else _t=(0,G.jsx)(`div`,{className:`my-auto flex items-center justify-center`,children:(0,G.jsx)(m,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`,"aria-label":e(`plansPage.loadingPlansAriaLabel`)})});return(0,G.jsxs)(`div`,{"data-theme":`dark`,className:`plans-takeover-canvas-enter relative h-full w-full overflow-y-auto`,style:{backgroundColor:qe},children:[(0,G.jsx)(`div`,{className:`absolute left-8 z-10 [-webkit-app-region:no-drag]`,style:{top:f?`3rem`:`2rem`},children:(0,G.jsx)(B,{variant:`outlined`,leftIcon:(0,G.jsx)(p,{className:`h-4 w-4`,"aria-hidden":!0}),onClick:pt,className:`[-webkit-app-region:no-drag]`,children:e(`plansPage.back`)})}),(0,G.jsx)(`div`,{className:`plans-takeover-content-enter flex min-h-full flex-col items-center px-4 pb-8 sm:px-6`,style:{paddingTop:f?`5rem`:`4rem`},children:_t})]})}function $e(){return(0,G.jsx)(Qe,{})}export{$e as PlansPage};
@@ -1 +0,0 @@
1
- import{g as e,r as t,t as n}from"./react-DPM_L_aA.js";import{av as r}from"./index-CEGpfe8u.js";var i=n();function a(){let[n]=e(),a=n.toString();return(0,i.jsx)(t,{to:`${r.superpowers}${a?`?${a}`:``}`,replace:!0})}export{a as PluginsPage};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Jn as t,N as n,Zn as r,er as i,j as a}from"./vendor-kNpRDQWe.js";import{b as o,t as s,y as c}from"./react-DPM_L_aA.js";import{Lr as l,U as u,_t as d,i as f,tn as p,x as m,zr as h}from"./icons-CSdHOix6.js";import{Al as g,Bi as _,F as v,Hi as y,I as b,If as x,Kv as S,L as C,Lf as w,Lp as T,Mf as E,Nf as D,Ol as O,Pf as k,R as ee,Tp as te,Vi as ne,Xs as A,Y as j,Ys as M,_g as N,av as P,cv as F,dv as I,dy as L,fm as re,fr as ie,fv as ae,fy as R,gg as oe,hg as se,hp as z,hy as B,iv as ce,kl as le,lv as V,mg as ue,mr as de,nu as fe,ny as H,on as pe,pr as U,ru as me,ty as he,ug as ge,uv as W,vg as G,vy as _e,wy as ve,xy as K,yg as ye,yy as be}from"./index-CEGpfe8u.js";import{t as q}from"./detail-card-CX2K67l2.js";import{t as xe}from"./setting-row-BfNuVRjv.js";import{t as Se}from"./settings-divider-C4b_Mlte.js";var J=e(o(),1),Y=s(),Ce=[{id:`accessibility`,type:`system`,sourceKind:`accessibility`},{id:`screen`,type:`system`,sourceKind:`screen`,availableOnWindows:!0},{id:`microphone`,type:`system`,sourceKind:`microphone`,availableOnWindows:!0},{id:`speechRecognition`,type:`system`,sourceKind:`speechRecognition`,availableOnWindows:!0},{id:`notifications`,type:`system`,sourceKind:`notifications`,availableOnWindows:!0}],we=[{id:`notificationBadges`,type:`local`}];function Te(e,t,n){switch(e){case`accessibility`:return{label:t(`systemPermissionsCard.accessibilityLabel`),description:t(`systemPermissionsCard.accessibilityDescription`)};case`screen`:return{label:t(`systemPermissionsCard.screenLabel`),description:t(`systemPermissionsCard.screenDescription`)};case`microphone`:return{label:t(`systemPermissionsCard.microphoneLabel`),description:t(`systemPermissionsCard.microphoneDescription`)};case`speechRecognition`:return{label:t(`systemPermissionsCard.speechRecognitionLabel`),description:t(n?`systemPermissionsCard.speechRecognitionWindowsDescription`:`systemPermissionsCard.speechRecognitionDescription`)};case`notifications`:return{label:t(`systemPermissionsCard.notificationsLabel`),description:t(n?`systemPermissionsCard.notificationsWindowsDescription`:`systemPermissionsCard.notificationsDescription`)};default:throw Error(`Unsupported system permission row: ${e}`)}}function Ee(){let[e,t]=(0,J.useState)(null);return{pendingKind:e,run:async(e,n)=>{t(e);try{await n()}catch{}finally{t(t=>t===e?null:t)}}}}function De(){let[e,t]=(0,J.useState)(()=>F(`dockBadgesEnabled`,!0));return(0,J.useEffect)(()=>ae(`dockBadgesEnabled`,()=>{t(F(`dockBadgesEnabled`,!0))}),[]),[e,e=>{t(e),W(`dockBadgesEnabled`,e),e||ne(0)}]}function Oe({row:e,onToggle:t}){return(0,Y.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Y.jsx)(L,{checked:e.checked,disabled:e.disabled,"aria-label":e.label,onChange:()=>t(e.id)}),(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsxs)(`button`,{type:`button`,disabled:e.disabled,onClick:()=>t(e.id),className:ve(`block w-full text-left`,e.disabled?`cursor-not-allowed`:`cursor-pointer`),children:[(0,Y.jsx)(`span`,{className:`block text-[14px] font-semibold leading-[18px] text-[var(--content-emphasised)]`,children:e.label}),(0,Y.jsx)(`span`,{className:`mt-1 block text-[13px] font-medium leading-[18px] text-[var(--content-tertiary)]`,children:e.description})]}),e.error&&(0,Y.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--system-negative-strong)]`,children:e.error})]})]})}function ke(){return(0,Y.jsx)(`span`,{"aria-hidden":`true`,className:`h-4 w-4 animate-spin rounded-full border-2 border-[var(--border-base)] border-t-[var(--content-tertiary)]`})}function Ae({compact:e=!1}){let{t}=a(),{state:n,loading:r,error:i,supported:o,refresh:s}=g(),{pendingKind:c,run:l}=Ee(),[u,d]=De(),f=te()===`windows`,p=(0,J.useMemo)(()=>Ce.filter(e=>!f||e.availableOnWindows),[f]),m=(0,J.useMemo)(()=>{let e=new Map;if(!n)return e;for(let t of p){let r=n[t.sourceKind];r&&r.status!==`not-applicable`&&e.set(t.id,{meta:t,item:r})}return e},[n,p]),h=(0,J.useMemo)(()=>{let e=p.map(e=>{let n=m.get(e.id)?.item;if(!n)return null;let r=Te(e.id,t,f);return{id:e.id,label:r.label,description:r.description,checked:n.status===`granted`,disabled:c===e.id||n.status===`restricted`,...n.error?{error:n.error}:{}}}).filter(Boolean),n=_()===`taskbar icon`?t(`systemPermissionsCard.taskbarIcon`):t(`systemPermissionsCard.dockIcon`),r=y()?we.map(e=>({id:e.id,label:t(`systemPermissionsCard.notificationBadgesLabel`),description:t(`systemPermissionsCard.notificationBadgesDescription`,{surface:n}),checked:u,disabled:c===e.id})):[];return[...e,...r]},[f,u,c,m,t,p]);if(!o&&h.length===0)return null;let v=async(e,t)=>{t.status===`granted`||t.status===`denied`||!t.canRequest?await O(e.sourceKind):await le(e.sourceKind),await s()},b=e=>{let t=m.get(e);if(t){l(e,()=>v(t.meta,t.item));return}e===`notificationBadges`&&l(e,async()=>{d(!u)})};return(0,Y.jsxs)(`section`,{className:`w-full rounded-[20px] border border-[var(--border-hover)] bg-[var(--surface-lift)] px-4 pb-3 pt-5`,children:[(0,Y.jsx)(`h2`,{className:`text-[18px] font-semibold leading-[22px] text-[var(--content-emphasised)]`,children:t(`systemPermissionsCard.title`)}),r&&h.length===0?(0,Y.jsxs)(`div`,{className:`mt-6 flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Y.jsx)(ke,{}),t(`systemPermissionsCard.checking`)]}):(0,Y.jsx)(`div`,{className:`mt-3 space-y-2`,children:h.map(e=>(0,Y.jsx)(Oe,{row:e,onToggle:b},e.id))}),i&&(0,Y.jsx)(`div`,{role:`alert`,className:`mt-6 rounded-md border border-[color-mix(in_srgb,var(--system-negative-strong)_25%,transparent)] bg-[var(--system-negative-weak)] p-3 text-body-medium-lighter text-[var(--content-secondary)]`,children:i})]})}function je(){let{t:e}=a(`settings`),n=k({platformHostedOnly:!0}),o=E(),s=D(),c=i(),{data:l,isLoading:u,isError:d}=r({...M(),enabled:n===`full`&&o}),f=t({mutationFn:async e=>{let{data:t}=await re({body:{access_consented:e},throwOnError:!0});return t},onSuccess:t=>{A(c,void 0,t),H.success(t?.access_consented?e(`accessConsentSetting.toastEnabled`):e(`accessConsentSetting.toastDisabled`))},onError:()=>{H.error(e(`accessConsentSetting.toastUpdateFailed`))}});if(n===`gated`)return null;let m=n===`full`&&s,h=l?.access_consented??!1,g=n!==`full`||!o||u||d||f.isPending;return(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex-1`,children:[(0,Y.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`accessConsentSetting.title`)}),(0,Y.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-tertiary)]`,children:e(`accessConsentSetting.description`)}),n===`full`&&d&&(0,Y.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--system-negative-strong)]`,children:e(`accessConsentSetting.loadError`)})]}),(0,Y.jsx)(`div`,{className:`flex items-center gap-2`,children:n===`disabled`?null:(0,Y.jsxs)(Y.Fragment,{children:[(f.isPending||m)&&(0,Y.jsx)(p,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,Y.jsx)(L,{checked:h,disabled:g,onChange:()=>f.mutate(!h)})]})})]}),n===`disabled`&&(0,Y.jsx)(pe,{className:`mt-3`,children:e(`accessConsentSetting.loginNotice`)})]})}function Me(){let{t:e}=a(`settings`),t=ue(),n=T(),[r,i]=(0,J.useState)(()=>N()),[o,s]=(0,J.useState)(null),[c,l]=(0,J.useState)(!1);if((0,J.useEffect)(()=>{if(!t)return;let e=!0;return oe().then(t=>{e&&s(t)}),()=>{e=!1}},[t]),!t||!o?.available)return null;let u=async()=>{l(!0);try{if(r)G(!1),await se(),i(!1);else{let e=ge();if(!e||!await ye(e)){G(!1),i(!1);return}G(!0),i(!0)}}finally{l(!1)}};return(0,Y.jsx)(q,{title:e(`biometricSettingsCard.title`),children:(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex-1`,children:[(0,Y.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`biometricSettingsCard.useForSignIn`,{label:o.label})}),(0,Y.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-tertiary)]`,children:e(n?`biometricSettingsCard.descriptionWithPasscode`:`biometricSettingsCard.description`,{label:o.label})})]}),(0,Y.jsx)(L,{checked:r,onChange:()=>void u(),disabled:c})]})})}var X=[`youtube.com`,`youtu.be`,`vimeo.com`,`loom.com`];function Ne(e){try{let t=JSON.parse(e);if(Array.isArray(t))return t.filter(e=>typeof e==`string`)}catch{}return[...X]}function Pe(){return F(`mediaEmbedsEnabled`,!0)}function Fe(){let e=V(`mediaEmbedDomains`,``);return e?Ne(e):[...X]}function Ie(){let{t:e}=a(`settings`),[t,n]=(0,J.useState)(()=>Pe()),[r,i]=(0,J.useState)(()=>Fe()),[o,s]=(0,J.useState)(!1),[c,u]=(0,J.useState)(``),d=(0,J.useMemo)(()=>c.trim().toLowerCase(),[c]),f=e=>{n(e),W(`mediaEmbedsEnabled`,e)},p=e=>{i(e),I(`mediaEmbedDomains`,JSON.stringify(e))},g=()=>{if(d){if(r.includes(d)){u(``);return}p([...r,d]),u(``)}},_=e=>{p(r.filter(t=>t!==e))},v=()=>{p([...X])},y=r.length===X.length&&r.every((e,t)=>e===X[t]);return(0,Y.jsxs)(q,{title:e(`mediaEmbedsCard.title`),subtitle:e(`mediaEmbedsCard.subtitle`),children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Y.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e(`mediaEmbedsCard.autoToggle`)}),(0,Y.jsx)(L,{checked:t,onChange:f})]}),t&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`mt-4`,children:(0,Y.jsx)(Se,{})}),(0,Y.jsxs)(K,{type:`button`,variant:`ghost`,onClick:()=>s(e=>!e),className:`mt-4 w-full justify-between px-3`,"aria-expanded":o,children:[(0,Y.jsxs)(`span`,{className:`flex items-center gap-2`,children:[o?(0,Y.jsx)(h,{className:`h-4 w-4`,"aria-hidden":!0}):(0,Y.jsx)(l,{className:`h-4 w-4`,"aria-hidden":!0}),e(`mediaEmbedsCard.allowlist`)]}),(0,Y.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e(`mediaEmbedsCard.domainCount`,{count:r.length})})]}),o&&(0,Y.jsxs)(`div`,{className:`mt-3 space-y-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,Y.jsx)(R,{label:e(`mediaEmbedsCard.addDomainLabel`),type:`text`,value:c,onChange:e=>u(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),g())},placeholder:e(`mediaEmbedsCard.addDomainPlaceholder`),fullWidth:!0,wrapperClassName:`flex-1`}),(0,Y.jsx)(K,{variant:`primary`,size:`compact`,onClick:g,disabled:!d,children:e(`mediaEmbedsCard.add`)})]}),r.length>0&&(0,Y.jsx)(`div`,{className:`flex justify-end`,children:(0,Y.jsx)(K,{type:`button`,variant:`ghost`,size:`compact`,onClick:v,disabled:y,tintColor:`var(--content-tertiary)`,children:e(`mediaEmbedsCard.resetDefaults`)})}),r.length>0&&(0,Y.jsx)(`ul`,{className:`space-y-2`,children:r.map(t=>(0,Y.jsxs)(`li`,{className:`flex items-center justify-between rounded-md border border-[var(--border-base)] px-3 py-2 text-body-medium-lighter`,children:[(0,Y.jsx)(`span`,{className:`font-mono text-[var(--content-default)]`,children:t}),(0,Y.jsx)(K,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,Y.jsx)(m,{}),onClick:()=>_(t),"aria-label":e(`mediaEmbedsCard.removeDomainAria`,{domain:t})})]},t))})]})]})]})}function Z(){return(0,Y.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}var Q=v.map(e=>({value:e.id,label:e.label,icon:(0,Y.jsx)(e.icon,{className:`h-3.5 w-3.5`})}));function Le(){let{t:e}=a(`settings`),t=j(),n=i(),{data:o,isError:s}=r({queryKey:[`thresholds`,t],queryFn:()=>C(t),staleTime:3e4}),[c,u]=(0,J.useState)(`relaxed`),[d,f]=(0,J.useState)(`conservative`),[p,m]=(0,J.useState)(`strict`),[g,_]=(0,J.useState)(!1),y=(0,J.useRef)(!1),[x,w]=(0,J.useState)(!1),T=(0,J.useRef)(null),E=(0,J.useRef)(null);(0,J.useEffect)(()=>{!o||y.current||(u(b(o.interactive).id),f(b(o.autonomous).id),m(b(o.headless).id),w(!0))},[o]),(0,J.useEffect)(()=>()=>{T.current!==null&&(clearTimeout(T.current),T.current=null,E.current?.(),E.current=null)},[]);let D=(0,J.useCallback)((e,r,i)=>{if(!t||!x)return;let a=v.find(t=>t.id===e)?.riskThreshold,o=v.find(e=>e.id===r)?.riskThreshold,s=v.find(e=>e.id===i)?.riskThreshold;!a||!o||!s||ee(t,{interactive:a,autonomous:o,headless:s}).then(()=>{n.invalidateQueries({queryKey:[`thresholds`,t]})}).catch(()=>{})},[t,x,n]),O=(0,J.useCallback)((e,t,n)=>{T.current!==null&&clearTimeout(T.current),E.current=()=>D(e,t,n),T.current=setTimeout(()=>{E.current?.(),T.current=null,E.current=null},500)},[D]),k=(0,J.useCallback)(e=>{y.current=!0,u(e),O(e,d,p)},[d,p,O]),te=(0,J.useCallback)(e=>{y.current=!0,f(e),O(c,e,p)},[c,p,O]),ne=(0,J.useCallback)(e=>{y.current=!0,m(e),O(c,d,e)},[c,d,O]),A=v.find(e=>e.id===c),M=v.find(e=>e.id===d),N=v.find(e=>e.id===p),P=!t||!x;return(0,Y.jsxs)(be,{children:[(0,Y.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:e(`riskToleranceSettings.title`)}),(0,Y.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`riskToleranceSettings.description`)}),s&&(0,Y.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--system-negative-strong)]`,children:e(`riskToleranceSettings.loadError`)}),(0,Y.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`riskToleranceSettings.conversationsTitle`)}),(0,Y.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:e(`riskToleranceSettings.conversationsDescription`)}),(0,Y.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,Y.jsx)(S,{value:c,onChange:k,options:Q,disabled:P})}),A&&(0,Y.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:A.description})]}),(0,Y.jsx)(Z,{}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>_(e=>!e),className:`flex items-center gap-1 text-[var(--content-secondary)] hover:text-[var(--content-default)] transition-colors`,"aria-expanded":g,children:[g?(0,Y.jsx)(h,{className:`h-4 w-4`}):(0,Y.jsx)(l,{className:`h-4 w-4`}),(0,Y.jsx)(`span`,{className:`text-body-medium-default`,children:e(`riskToleranceSettings.advanced`)})]}),(0,Y.jsxs)(`div`,{className:g?`mt-4 space-y-4`:`hidden`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`riskToleranceSettings.backgroundTitle`)}),(0,Y.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:e(`riskToleranceSettings.backgroundDescription`)}),(0,Y.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,Y.jsx)(S,{value:d,onChange:te,options:Q,disabled:P})}),M&&(0,Y.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:M.description})]}),(0,Y.jsx)(Z,{}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`riskToleranceSettings.headlessTitle`)}),(0,Y.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:e(`riskToleranceSettings.headlessDescription`)}),(0,Y.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,Y.jsx)(S,{value:p,onChange:ne,options:Q,disabled:P})}),N&&(0,Y.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:N.description})]})]})]})]})]})}var Re=e(c(),1),ze=[`bash`,`file_read`,`file_write`,`file_edit`,`web_fetch`,`skill_load`];function Be({assistantId:e,existingRule:t,onClose:n,onSaved:r}){let{t:i}=a(`settings`),o=(0,J.useRef)(null),[s,c]=(0,J.useState)(t.tool),[l,u]=(0,J.useState)(t.pattern),[d,p]=(0,J.useState)(t.risk),[m,h]=(0,J.useState)(t.description??``),[g,_]=(0,J.useState)(!1),[v,y]=(0,J.useState)(null),b=[{value:`low`,label:i(`trustRuleFormModal.riskLow`),description:i(`trustRuleFormModal.riskLowDescription`)},{value:`medium`,label:i(`trustRuleFormModal.riskMedium`),description:i(`trustRuleFormModal.riskMediumDescription`)},{value:`high`,label:i(`trustRuleFormModal.riskHigh`),description:i(`trustRuleFormModal.riskHighDescription`)}],x=l.trim(),C=x.length>0&&!g,w=i(`trustRuleFormModal.defaultDescription`,{tool:s,pattern:x||i(`trustRuleFormModal.patternFallback`)}),T=(0,J.useCallback)(async n=>{if(n.preventDefault(),!C)return;let a=m.trim()||w;_(!0),y(null);try{await de(e,t.id,{risk:d,description:a}),r()}catch(e){y(e instanceof Error?e.message:i(`trustRuleFormModal.saveFailed`))}finally{_(!1)}},[e,C,w,m,t,r,d,i]);return(0,Re.createPortal)((0,Y.jsx)(`div`,{ref:o,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`trust-rule-form-title`,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:(0,J.useCallback)(e=>{e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),n())},[n]),onClick:(0,J.useCallback)(e=>{e.target===o.current&&n()},[n]),children:(0,Y.jsxs)(`div`,{className:`mx-4 flex max-h-[calc(100vh-2rem)] w-full max-w-md flex-col rounded-xl border border-[var(--border-base)] bg-[var(--surface-lift)] shadow-xl`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-[var(--border-base)] px-6 py-4`,children:[(0,Y.jsx)(`h2`,{id:`trust-rule-form-title`,className:`text-title-medium text-[var(--content-default)]`,children:i(`trustRuleFormModal.title`)}),(0,Y.jsx)(`button`,{type:`button`,onClick:n,"aria-label":i(`trustRuleFormModal.closeAriaLabel`),className:`rounded-lg p-1.5 text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-base)] hover:text-[var(--content-default)]`,children:(0,Y.jsx)(f,{className:`h-4 w-4`})})]}),(0,Y.jsxs)(`form`,{onSubmit:e=>void T(e),className:`min-h-0 flex-1 space-y-4 overflow-y-auto px-6 py-4`,children:[v&&(0,Y.jsx)(_e,{tone:`error`,children:v}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`label`,{htmlFor:`trust-rule-tool`,className:`block text-body-medium-default text-[var(--content-default)]`,children:i(`trustRuleFormModal.toolLabel`)}),(0,Y.jsx)(`div`,{className:`mt-1`,children:(0,Y.jsx)(S,{value:s,onChange:c,disabled:!0,options:ze.map(e=>({value:e,label:e}))})})]}),(0,Y.jsx)(R,{label:i(`trustRuleFormModal.patternLabel`),type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:i(`trustRuleFormModal.patternPlaceholder`),disabled:!0}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:i(`trustRuleFormModal.riskLevelLabel`)}),(0,Y.jsx)(`div`,{className:`mt-2 flex gap-2`,children:b.map(e=>(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>p(e.value),className:`flex-1 rounded-lg border px-3 py-2 text-left text-body-small-default transition-colors ${d===e.value?e.value===`low`?`border-[var(--system-positive-strong)] bg-[var(--system-positive-weak)] text-[var(--system-positive-strong)]`:e.value===`medium`?`border-[var(--system-warning-strong)] bg-[var(--system-warning-weak)] text-[var(--system-warning-strong)]`:`border-[var(--system-negative-strong)] bg-[var(--system-negative-weak)] text-[var(--system-negative-strong)]`:`border-[var(--border-element)] text-[var(--content-default)] hover:bg-[var(--surface-base)]`}`,children:[(0,Y.jsx)(`div`,{children:e.label}),(0,Y.jsx)(`div`,{className:`mt-0.5 text-label-medium-default leading-tight opacity-70`,children:e.description})]},e.value))})]}),(0,Y.jsx)(R,{label:i(`trustRuleFormModal.descriptionLabel`),type:`text`,value:m,onChange:e=>h(e.target.value),placeholder:w}),(0,Y.jsxs)(`div`,{className:`flex justify-end gap-2 pt-2`,children:[(0,Y.jsx)(`button`,{type:`button`,onClick:n,className:`rounded-lg border border-[var(--border-element)] bg-white px-4 py-2 text-body-medium-default text-[var(--content-default)] transition-colors hover:bg-[var(--surface-base)] dark:border-[var(--border-base)] dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:i(`trustRuleFormModal.cancel`)}),(0,Y.jsx)(`button`,{type:`submit`,disabled:!C,className:`rounded-lg bg-[var(--system-positive-strong)] px-4 py-2 text-body-medium-default text-white transition-colors hover:bg-[var(--system-positive-strong)] disabled:cursor-not-allowed disabled:opacity-50`,children:i(g?`trustRuleFormModal.saving`:`trustRuleFormModal.save`)})]})]})]})}),document.body)}function Ve(e){return e.origin===`default`&&!e.userModified}function He(e,t){let n=new Set,r=[];for(let t of e)n.has(t.id)||(n.add(t.id),r.push(t));for(let e of t)n.has(e.id)||(n.add(e.id),r.push(e));return r.sort((e,t)=>e.tool===t.tool?e.description.localeCompare(t.description):e.tool.localeCompare(t.tool))}function Ue(e){switch(e){case`low`:return`positive`;case`medium`:return`warning`;case`high`:return`negative`}}function We({assistantId:e,onClose:t}){let{t:n}=a(`settings`),r=(0,J.useRef)(null),[i,o]=(0,J.useState)([]),[s,c]=(0,J.useState)(!0),[l,f]=(0,J.useState)(null),[p,h]=(0,J.useState)(null),[g,_]=(0,J.useState)(null),[v,y]=(0,J.useState)(!1),b=(0,J.useCallback)(e=>{switch(e){case`low`:return n(`trustRulesModal.riskLow`);case`medium`:return n(`trustRulesModal.riskMedium`);case`high`:return n(`trustRulesModal.riskHigh`)}},[n]),x=(0,J.useCallback)(async t=>{if(t){let[t,n]=await Promise.all([U(e),U(e,{origin:`default`})]);return He(t,n)}return U(e)},[e]),S=(0,J.useCallback)(async()=>{c(!0);try{o(await x(v)),f(null)}catch(e){f(e instanceof Error?e.message:n(`trustRulesModal.loadErrorFallback`))}finally{c(!1)}},[x,v,n]);(0,J.useEffect)(()=>{let e=!1;return(async()=>{c(!0);try{let t=await x(v);e||(o(t),f(null))}catch(t){e||f(t instanceof Error?t.message:n(`trustRulesModal.loadErrorFallback`))}finally{e||c(!1)}})(),()=>{e=!0}},[x,v,n]);let C=(0,J.useCallback)(async()=>{if(g)try{await ie(e,g.id),S()}catch(e){f(e instanceof Error?e.message:n(`trustRulesModal.deleteErrorFallback`))}finally{_(null)}},[e,g,S,n]);return(0,Re.createPortal)((0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{ref:r,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`trust-rules-title`,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:(0,J.useCallback)(e=>{e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),t())},[t]),onClick:(0,J.useCallback)(e=>{e.target===r.current&&t()},[t]),children:(0,Y.jsxs)(`div`,{className:`mx-4 flex max-h-[80vh] w-full max-w-2xl flex-col rounded-xl border border-[var(--border-base)] bg-[var(--surface-lift)] shadow-xl`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-[var(--border-base)] px-6 py-4`,children:[(0,Y.jsx)(`h2`,{id:`trust-rules-title`,className:`text-title-medium text-[var(--content-default)]`,children:n(`trustRulesModal.title`)}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Y.jsx)(L,{checked:v,onChange:y,label:n(`trustRulesModal.showAllDefaults`)}),(0,Y.jsx)(K,{variant:`outlined`,onClick:t,children:n(`trustRulesModal.done`)})]})]}),(0,Y.jsxs)(`div`,{className:`flex-1 overflow-y-auto px-6 py-4`,children:[l&&(0,Y.jsx)(`div`,{className:`mb-3`,children:(0,Y.jsx)(_e,{tone:`error`,children:l})}),s?(0,Y.jsx)(`div`,{className:`flex h-48 items-center justify-center text-body-medium-lighter text-[var(--content-tertiary)]`,children:n(`trustRulesModal.loading`)}):i.length===0?(0,Y.jsxs)(`div`,{className:`flex h-48 flex-col items-center justify-center gap-2 px-6 text-[var(--content-tertiary)]`,children:[(0,Y.jsx)(u,{className:`h-8 w-8`}),(0,Y.jsx)(`p`,{className:`max-w-xs text-center text-body-medium-lighter`,children:n(`trustRulesModal.empty`)})]}):(0,Y.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)]`,children:i.map(e=>{let t=Ve(e);return(0,Y.jsxs)(`li`,{className:`flex items-start gap-3 py-3`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.tool}),(0,Y.jsx)(B,{tone:Ue(e.risk),children:b(e.risk)}),e.origin===`default`&&(0,Y.jsx)(B,{tone:`neutral`,children:n(`trustRulesModal.defaultTag`)}),e.userModified&&(0,Y.jsx)(B,{tone:`warning`,children:n(`trustRulesModal.modifiedTag`)})]}),(0,Y.jsx)(`div`,{className:`mt-1 truncate font-mono text-body-small-default text-[var(--content-secondary)]`,children:e.pattern}),e.description&&(0,Y.jsx)(`div`,{className:`mt-0.5 truncate text-body-small-default text-[var(--content-tertiary)]`,children:e.description})]}),(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,Y.jsx)(`button`,{type:`button`,"aria-label":n(`trustRulesModal.editRuleAria`,{tool:e.tool}),onClick:()=>h(e),className:`rounded-lg p-1.5 text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-base)] hover:text-[var(--content-default)]`,children:(0,Y.jsx)(d,{className:`h-4 w-4`})}),(!t||e.userModified)&&(0,Y.jsx)(K,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,Y.jsx)(m,{className:`h-4 w-4`}),"aria-label":n(`trustRulesModal.deleteRuleAria`,{tool:e.tool}),onClick:()=>_(e)})]})]},e.id)})})]})]})}),p&&(0,Y.jsx)(Be,{assistantId:e,existingRule:p,onClose:()=>h(null),onSaved:()=>{h(null),S()}}),(0,Y.jsx)(he,{open:g!==null,title:n(`trustRulesModal.deleteTitle`),message:g?n(`trustRulesModal.deleteMessage`,{risk:b(g.risk).toLowerCase(),tool:g.tool,pattern:g.pattern}):``,confirmLabel:n(`trustRulesModal.delete`),cancelLabel:n(`trustRulesModal.cancel`),destructive:!0,onConfirm:()=>void C(),onCancel:()=>_(null)})]}),document.body)}function Ge(){let{t:e}=a(`settings`),t=j(),[n,r]=(0,J.useState)(!1);return(0,Y.jsxs)(be,{children:[(0,Y.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Y.jsx)(u,{className:`mt-0.5 h-5 w-5 shrink-0 text-[var(--content-secondary)]`}),(0,Y.jsxs)(`div`,{className:`flex-1`,children:[(0,Y.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:e(`trustRules.title`)}),(0,Y.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`trustRules.description`)})]}),(0,Y.jsx)(K,{variant:`outlined`,onClick:()=>r(!0),children:e(`trustRules.manage`)})]}),n&&(0,Y.jsx)(We,{assistantId:t,onClose:()=>r(!1)})]})}var Ke=[{value:`dontRetain`,labelKey:`privacyPage.retentionDontRetain`},{value:`oneHour`,labelKey:`privacyPage.retentionOneHour`},{value:`oneDay`,labelKey:`privacyPage.retentionOneDay`},{value:`sevenDays`,labelKey:`privacyPage.retentionSevenDays`},{value:`thirtyDays`,labelKey:`privacyPage.retentionThirtyDays`},{value:`ninetyDays`,labelKey:`privacyPage.retentionNinetyDays`},{value:`keepForever`,labelKey:`privacyPage.retentionKeepForever`}],qe=`thirtyDays`;function $(){return(0,Y.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}function Je(){let{t:e}=a(`settings`),t=k({platformHostedOnly:!0}),r=w(),i=r,o=x.use.user()?.id??null,[s]=fe(),[c]=me(),l=s??!0,u=c??!0,[d,f]=(0,J.useState)(()=>V(`llmLogRetention`,qe)),p=(0,J.useMemo)(()=>Ke.map(t=>({value:t.value,label:e(t.labelKey)})),[e]);return(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[(0,Y.jsx)(Me,{}),(0,Y.jsx)(Ae,{}),(0,Y.jsx)(Ge,{}),(0,Y.jsx)(Le,{}),(0,Y.jsx)(Ie,{}),(0,Y.jsx)(q,{title:e(`privacyPage.title`),subtitle:r?(0,Y.jsx)(n,{ns:`settings`,i18nKey:`privacyPage.subtitleWithPolicy`,components:{policyLink:(0,Y.jsx)(`a`,{href:ce(P.docs.legal.privacyPolicy),target:`_blank`,rel:`noreferrer`,className:`underline`})}}):void 0,children:(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[i&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(xe,{label:e(`privacyPage.shareAnalyticsLabel`),helperText:e(`privacyPage.shareAnalyticsHelper`),checked:l,onChange:()=>{z(`share_analytics`,!l,{userId:o,hasPlatformSession:r})},variant:`toggle-trailing`}),(0,Y.jsx)($,{}),(0,Y.jsx)(xe,{label:e(`privacyPage.shareDiagnosticsLabel`),helperText:e(`privacyPage.shareDiagnosticsHelper`),checked:u,onChange:()=>{z(`share_diagnostics`,!u,{userId:o,hasPlatformSession:r})},variant:`toggle-trailing`}),(0,Y.jsx)($,{})]}),(0,Y.jsx)(je,{}),t!==`gated`&&(0,Y.jsx)($,{}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`label`,{htmlFor:`llm-log-retention`,className:`block text-body-medium-default text-[var(--content-default)]`,children:e(`privacyPage.llmLogRetentionLabel`)}),(0,Y.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,Y.jsx)(S,{value:d,onChange:e=>{f(e),I(`llmLogRetention`,e)},options:p})}),(0,Y.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:e(`privacyPage.llmLogRetentionDescription`)})]})]})})]})}export{Je as PrivacyPage};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-kNpRDQWe.js";import{b as n,f as r,g as i,t as a}from"./react-DPM_L_aA.js";import{Ar as o,C_ as s,Cg as c,Eg as l,Gl as u,Hl as d,If as f,Kl as p,Pr as m,Rf as h,Tg as g,Yl as _,av as v,ev as y,gi as b,iu as x,kg as S,mg as C,mi as w,mp as T,ov as E,ql as D,ru as O,tu as ee,u_ as k,vi as A,xy as j}from"./index-CEGpfe8u.js";import{t as M}from"./plugin-attribution-C-EIiue7.js";import{n as N,t as P}from"./consent-controls-CK7jmqvZ.js";import{r as F,t as I}from"./checkout-continuation-DULKIGS-.js";var L=e(n(),1),R=a();function z({current:e,total:n,color:r}){let{t:i}=t(`onboarding`);return(0,R.jsx)(`div`,{className:`flex items-center gap-1.5`,role:`group`,"aria-label":i(`stepIndicator.ariaLabel`,{current:e+1,total:n}),children:Array.from({length:n},(t,n)=>(0,R.jsx)(`div`,{"aria-hidden":`true`,className:`h-[3px] w-8 rounded-full transition-colors`,style:r?{backgroundColor:r,opacity:n<=e?1:.3}:void 0,children:r?null:(0,R.jsx)(`div`,{className:`h-full w-full rounded-full bg-[var(--content-default)] ${n<=e?``:`opacity-20`}`})},n))})}function B(){let{t:e}=t(`onboarding`),n=r(),[a]=i(),c=f.use.user()?.id??null,y=E(),B=C(),[H,U]=O(),W=H??!0,[G,K]=x(),[q,J]=ee(),Y=h(),X=F();(0,L.useEffect)(()=>{A()},[]);let Z=a.get(`preview`)===`true`,Q=(0,L.useCallback)(e=>{},[]),te=Z?Q:U,ne=Z?Q:K,re=Z?Q:J,ie=u(),$=(0,L.useCallback)(e=>{if(Z)return;T({userId:c,tos:G,privacy:q,shareAnalytics:null,shareDiagnostics:W,hasPlatformSession:Y}),b(w.privacyTos,{userId:c});let t=d(a.get(`returnTo`));if(t){n(e?_(t):t,m);return}let r=a.get(`hosting`),i=new URLSearchParams;r&&i.set(`hosting`,r);let o=a.get(M);o&&i.set(M,o);let u=i.toString(),f=D({isLocalHatch:s()&&r!==null&&r!==`vellum-cloud`,skipResearch:e,alreadyOnboarded:S(k.getState().assistants),newAssistant:p(a)}),h=e?_(`${f}${u?`?${u}`:``}`):`${f}${u?`?${u}`:``}`,y=l();if(y?.resumeAfterOnboarding===!0)if(X===`disabled`)g();else{let e=V(y);if(e){e.set(I,h),n(`${v.checkout}?${e.toString()}`,m);return}}n(h,m)},[q,Y,Z,n,a,W,X,G,c]);return(0,R.jsx)(o,{avatarWave:`beside`,children:(0,R.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${y?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`px-6 py-16`} text-[var(--content-default)]`,children:[B&&(0,R.jsx)(`div`,{className:`mb-8 flex w-full justify-center`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:(0,R.jsx)(z,{current:2,total:3})}),(0,R.jsx)(`h1`,{className:y?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:e(`privacyScreen.title`)}),(0,R.jsx)(`p`,{className:`text-center text-body-medium-lighter text-[var(--content-tertiary)] ${y?`mt-3.5`:`mt-4`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:e(`privacyScreen.body`)}),(0,R.jsx)(N,{electron:y,showAnalytics:!1,shareAnalytics:!1,shareDiagnostics:W,onShareAnalyticsChange:Q,onShareDiagnosticsChange:te,className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`}}),(0,R.jsx)(P,{electron:y,privacyConsent:q,tosAccepted:G,onPrivacyChange:re,onTosChange:ne,className:`mt-6 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`}}),(0,R.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${y?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.55s both`},children:[(0,R.jsx)(j,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:!G||!q,onClick:()=>$(!1),className:y?void 0:`h-11 text-base`,children:e(`privacyScreen.start`)}),ie&&(0,R.jsx)(j,{variant:`outlined`,size:`regular`,fullWidth:!0,disabled:!G||!q,onClick:()=>$(!0),className:y?void 0:`h-11 text-base`,children:e(`privacyScreen.skipToChat`)}),(0,R.jsx)(j,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:()=>n(s()?v.onboarding.hosting:v.onboarding.start,m),className:y?void 0:`h-11 text-base`,children:e(`actions.back`)})]})]})})}function V(e){return e.kind===`package`?new URLSearchParams({[y]:e.packageKey}):e.storageTier===null?null:c({machineTier:e.machineTier,storageTier:e.storageTier,creditTier:e.creditTier})}export{B as PrivacyScreen};