@vellumai/web 0.12.7-staging.1 → 0.12.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. package/dist/assets/{a2a-invite-CYkZ2bwB.js → a2a-invite-C4885wc_.js} +1 -1
  2. package/dist/assets/{about-page-CDf8_c83.js → about-page-OhJ1Y0_b.js} +1 -1
  3. package/dist/assets/{account-page-DYgu7ene.js → account-page-Bd7a2i5_.js} +1 -1
  4. package/dist/assets/{account-shell-Cxi1v479.js → account-shell-RM4hokh5.js} +1 -1
  5. package/dist/assets/{acp-run-detail-panel--S5Mrgwf.js → acp-run-detail-panel-CCLk2KCU.js} +1 -1
  6. package/dist/assets/{activation-list-route-fUUXXrqq.js → activation-list-route-DzBmo7MF.js} +1 -1
  7. package/dist/assets/{activity-redirect-page-Dday27zi.js → activity-redirect-page-aalRz3ru.js} +1 -1
  8. package/dist/assets/{activity-steps-panel-BnCTZLXH.js → activity-steps-panel-MY7LyILM.js} +1 -1
  9. package/dist/assets/add-credits-modal-C65Z6nbb.js +1 -0
  10. package/dist/assets/{add-credits-modal-BPRQXrJL.js → add-credits-modal-DYXqJVrA.js} +1 -1
  11. package/dist/assets/{ai-page-BmPw_Cbb.js → ai-page-Bv8MHKwy.js} +1 -1
  12. package/dist/assets/{all-chats-page-route-XyYPy--V.js → all-chats-page-route-BC4cJbn9.js} +1 -1
  13. package/dist/assets/{android-billing-handoff-CvgyuFs9.js → android-billing-handoff-DkztgMMX.js} +1 -1
  14. package/dist/assets/{animated-stat-square-gKVZj83m.js → animated-stat-square-DfspueEE.js} +1 -1
  15. package/dist/assets/{api-key-screen-B3eNGHTQ.js → api-key-screen-DMYrX3xq.js} +1 -1
  16. package/dist/assets/{app-KRIEMzuO.js → app-BEoekemj.js} +21 -19
  17. package/dist/assets/{app-info-BS5SWiPy.js → app-info-JELjTeSr.js} +1 -1
  18. package/dist/assets/{archive-redirect-page-B_JVRF8z.js → archive-redirect-page-CDu9_cSE.js} +1 -1
  19. package/dist/assets/{assistant-handle-modal-cqAXFvU4.js → assistant-handle-modal-B9aYt_fz.js} +1 -1
  20. package/dist/assets/{assistant-inbox-page-route-BmMCSNYC.js → assistant-inbox-page-route-BlKCkLjN.js} +1 -1
  21. package/dist/assets/{assistant-status-panel-5KKU97Nr.js → assistant-status-panel-Ib811iyR.js} +1 -1
  22. package/dist/assets/auth-store-BNRELUI-.js +1 -0
  23. package/dist/assets/{auth-welcome-screen-CK9ayr5r.js → auth-welcome-screen-CnpHRdVh.js} +1 -1
  24. package/dist/assets/avatar-bundled-components-CA2b3Qbn.js +1 -0
  25. package/dist/assets/{avatar-random-B0PlMwfP.js → avatar-random-Bqs0WRXW.js} +2 -2
  26. package/dist/assets/{await-org-header-settled-DCrUbt__.js → await-org-header-settled-Bka_Fh2i.js} +1 -1
  27. package/dist/assets/{background-task-detail-panel-ByZEhdsg.js → background-task-detail-panel-pwmuvBdb.js} +1 -1
  28. package/dist/assets/{billing-page-CYKuyCF5.js → billing-page-CQDe4wC9.js} +3 -3
  29. package/dist/assets/{billing-redirect-page-t6TNZq6q.js → billing-redirect-page-CgxuQ6OG.js} +1 -1
  30. package/dist/assets/{bookmarks-page-DkomjdJQ.js → bookmarks-page-BVSEx2HM.js} +1 -1
  31. package/dist/assets/{bundle-confirm-page-BRqor1bF.js → bundle-confirm-page-DxLUosoE.js} +1 -1
  32. package/dist/assets/{channel-transcript-panel-BZPmdLEj.js → channel-transcript-panel-AnyjZw-p.js} +1 -1
  33. package/dist/assets/{channels-page-route-CtttpYll.js → channels-page-route-CoXHj9DC.js} +1 -1
  34. package/dist/assets/{chat-info-panel-DQumRkcF.js → chat-info-panel-oNSMH-Rg.js} +1 -1
  35. package/dist/assets/{checkout-continuation-DDjhky4Y.js → checkout-continuation-ZsRm--tW.js} +1 -1
  36. package/dist/assets/{checkout-page-CDYYh4ze.js → checkout-page-Cbc1Yxhk.js} +1 -1
  37. package/dist/assets/checkout-return-target-DMexYntq.js +1 -0
  38. package/dist/assets/{command-palette-BUFKVA4Z.js → command-palette-D98tgb3c.js} +1 -1
  39. package/dist/assets/{command-palette-window-page-C0dY_FbH.js → command-palette-window-page-BwYCB4uz.js} +1 -1
  40. package/dist/assets/command-palette-xFt9p-Zp.js +1 -0
  41. package/dist/assets/{community-page-DDVVXFKB.js → community-page-C_t6hJx9.js} +1 -1
  42. package/dist/assets/{companion-accent-obJ7TDkU.js → companion-accent-DHN8mSGN.js} +1 -1
  43. package/dist/assets/{companion-dock-zones-page-CUZsYl_W.js → companion-dock-zones-page-yp3BLs-9.js} +1 -1
  44. package/dist/assets/{companion-layout-Cl8T5Bfs.js → companion-layout-DUIauyGx.js} +1 -1
  45. package/dist/assets/{companion-popover-Duq3If7x.js → companion-popover-CEltebX7.js} +1 -1
  46. package/dist/assets/{companion-popover-page-8OaaN-qP.js → companion-popover-page-NrLfgW85.js} +1 -1
  47. package/dist/assets/{companion-surface-DzxGavvE.js → companion-surface-CEpWVTaQ.js} +1 -1
  48. package/dist/assets/{companion-surface-page-BI1DVG0L.js → companion-surface-page-Dfs9lnVq.js} +1 -1
  49. package/dist/assets/{companion-tour-entry-D35urSvp.js → companion-tour-entry-CEdPrBsl.js} +1 -1
  50. package/dist/assets/{companion-watch-frame-page-chC7gmAI.js → companion-watch-frame-page-XbdyXdlU.js} +1 -1
  51. package/dist/assets/{connect-page-Cx7ACmXt.js → connect-page-DvwqAL21.js} +1 -1
  52. package/dist/assets/{consent-controls-B8KluMR-.js → consent-controls-CSns_4iB.js} +1 -1
  53. package/dist/assets/{contacts-gateway-DJQtU5it.js → contacts-gateway-DL44TLR9.js} +1 -1
  54. package/dist/assets/{contacts-page-route-g0cBfSRU.js → contacts-page-route-BIASFsPk.js} +1 -1
  55. package/dist/assets/{copy-button-Bwu12tAq.js → copy-button-benjZQNN.js} +1 -1
  56. package/dist/assets/{credential-entry-page-CrMmjA4m.js → credential-entry-page-fH4FNFwY.js} +1 -1
  57. package/dist/assets/{credentials-page-DXegpKuT.js → credentials-page-BgsUXMw4.js} +1 -1
  58. package/dist/assets/{csv-preview-BUNDraKQ.js → csv-preview-CBVZAL8V.js} +1 -1
  59. package/dist/assets/{danger-zone-redirect-page-Dju7UyCP.js → danger-zone-redirect-page-rAqyukS8.js} +1 -1
  60. package/dist/assets/debug-page-s3VnB3Jn.js +4 -0
  61. package/dist/assets/{deploy-dialogs-CKv9kQor.js → deploy-dialogs-BwKeOiNO.js} +1 -1
  62. package/dist/assets/deploy-dialogs-CKFVL9lA.js +1 -0
  63. package/dist/assets/{desktop-preview-content-BwMNHlWb.js → desktop-preview-content-DyhOQZfU.js} +2 -2
  64. package/dist/assets/{desktop-status-CCzewHXe.js → desktop-status-rhE91WHU.js} +1 -1
  65. package/dist/assets/{desktop-viewer-DBH1IT5s.js → desktop-viewer-DnRXsZHE.js} +1 -1
  66. package/dist/assets/{detail-card-C53pHjsM.js → detail-card-DdL-TwEw.js} +1 -1
  67. package/dist/assets/{detail-panel-stop-button-t_VDZYtt.js → detail-panel-stop-button-9gdxgBZq.js} +1 -1
  68. package/dist/assets/{detail-primitives-BHVQRcGw.js → detail-primitives-DbHxZutJ.js} +1 -1
  69. package/dist/assets/{developer-page-CKcDBScK.js → developer-page-CLDXmpgw.js} +1 -1
  70. package/dist/assets/{devices-redirect-page-BEyGhbmn.js → devices-redirect-page-DTriAmul.js} +1 -1
  71. package/dist/assets/{dictation-overlay-page-DpanSK5-.js → dictation-overlay-page-8oynsdBm.js} +1 -1
  72. package/dist/assets/document-load-Dd9T9sVB.js +1 -0
  73. package/dist/assets/{document-load-B5HpKq-W.js → document-load-DdRg4kwv.js} +1 -1
  74. package/dist/assets/{document-viewer-page-4Z_VnjKZ.js → document-viewer-page-DwqleCG5.js} +1 -1
  75. package/dist/assets/{emails-page-DyrcXFet.js → emails-page-d48Qo5TY.js} +1 -1
  76. package/dist/assets/esm-BMVS8Ywz.js +2 -0
  77. package/dist/assets/esm-Bm61i-L4.js +1 -0
  78. package/dist/assets/esm-CUO0AHtA.js +2 -0
  79. package/dist/assets/esm-Ci2CqtrR.js +2 -0
  80. package/dist/assets/esm-DM-kxKqE.js +1 -0
  81. package/dist/assets/esm-PJP6gQUq.js +2 -0
  82. package/dist/assets/{esm-DFoZ6rpj.js → esm-YJgArrZn.js} +1 -1
  83. package/dist/assets/esm-ZDwTeYcs.js +2 -0
  84. package/dist/assets/{esm-COgrn4oo.js → esm-oFf4cNn1.js} +2 -2
  85. package/dist/assets/{esm-DPwp_tyY.js → esm-xHo3DTmi.js} +1 -1
  86. package/dist/assets/{file-diff-view-DqA1_0h3.js → file-diff-view-A52sCKKz.js} +1 -1
  87. package/dist/assets/{file-view-mode-DPofWJnz.js → file-view-mode-DqXCmgGD.js} +1 -1
  88. package/dist/assets/general-page-Y55ICpxV.js +2 -0
  89. package/dist/assets/{hatching-screen-C5fid3Mi.js → hatching-screen-BCrEhJki.js} +1 -1
  90. package/dist/assets/{hosting-screen-BTxmBl_3.js → hosting-screen-DrbGcUwu.js} +1 -1
  91. package/dist/assets/{identity-page-route-DSyT39Yq.js → identity-page-route-PW0b8HfB.js} +1 -1
  92. package/dist/assets/{inspect-page-WDA56TDM.js → inspect-page-DsB1BUwJ.js} +3 -3
  93. package/dist/assets/{integrations-page-7jff5YRS.js → integrations-page-phceinc7.js} +1 -1
  94. package/dist/assets/{intelligence-layout-DOOxr8TM.js → intelligence-layout-ClXPJOlz.js} +1 -1
  95. package/dist/assets/intelligence-layout-slots-store-jzhqxk-F.js +1 -0
  96. package/dist/assets/{keyboard-shortcuts-redirect-page-0f4iR9cK.js → keyboard-shortcuts-redirect-page-CZG9PbfD.js} +1 -1
  97. package/dist/assets/{latest-assistant-text-C5TlzsjF.js → latest-assistant-text-CfRyVmjf.js} +1 -1
  98. package/dist/assets/{library-detail-page-CXu1dzI8.js → library-detail-page-DB03TRkW.js} +1 -1
  99. package/dist/assets/{library-page-BdtUHlv5.js → library-page-SCpSNw8r.js} +1 -1
  100. package/dist/assets/local-mode-C-TKP5UT.js +1 -0
  101. package/dist/assets/{login-page-BYz-IJwG.js → login-page-DlzYKg__.js} +1 -1
  102. package/dist/assets/{logout-page-CA2Gb3fM.js → logout-page-DNJegpBL.js} +1 -1
  103. package/dist/assets/{logs-layout-BgviygkY.js → logs-layout-BYnI6Won.js} +1 -1
  104. package/dist/assets/managed-export-B8hZl8fK.js +1 -0
  105. package/dist/assets/{markdown-preview-CBXcCZg7.js → markdown-preview-BOAf9rHZ.js} +1 -1
  106. package/dist/assets/{media-preview-CTjI28Y4.js → media-preview-CiWddeik.js} +1 -1
  107. package/dist/assets/{memory-page-route-Od3Muhow.js → memory-page-route-DAe7cXOM.js} +1 -1
  108. package/dist/assets/{memory-router-playground-page-D8do5kDw.js → memory-router-playground-page-B6RLB6SJ.js} +1 -1
  109. package/dist/assets/{message-files-panel-CnyA6dJL.js → message-files-panel-D8Cvtzm7.js} +1 -1
  110. package/dist/assets/mutation-error-C2MukXLE.js +1 -0
  111. package/dist/assets/native-attachment-pickers-DMi3o2P3.js +1 -0
  112. package/dist/assets/native-file-Dcnehsuk.js +1 -0
  113. package/dist/assets/{notifications-page-CICwZV_j.js → notifications-page-B6BaoRe4.js} +1 -1
  114. package/dist/assets/{oauth-complete-page-HYAqM-h3.js → oauth-complete-page-C8RguTIe.js} +1 -1
  115. package/dist/assets/{oauth-popup-complete-page-0Nnhyx6m.js → oauth-popup-complete-page-9mkrWQG1.js} +1 -1
  116. package/dist/assets/paired-platform-identity-RQOjYmiL.js +1 -0
  117. package/dist/assets/{pairing-page-CbPjyGMx.js → pairing-page-BoIDiN07.js} +1 -1
  118. package/dist/assets/password-reset-page-CMKwr9QD.js +1 -0
  119. package/dist/assets/{pdf-file-preview-CfJUarVV.js → pdf-file-preview-BdmWkRby.js} +1 -1
  120. package/dist/assets/{peeking-eyes-C3X1d6Jj.js → peeking-eyes-GhtIN21V.js} +1 -1
  121. package/dist/assets/{permission-guide-page-DgNjuyxd.js → permission-guide-page-D4XS94Lj.js} +1 -1
  122. package/dist/assets/{permission-setup-C4VdQwwz.js → permission-setup-BKUZnWJQ.js} +1 -1
  123. package/dist/assets/{personality-page-BEzNdxON.js → personality-page-B7hhb6bJ.js} +1 -1
  124. package/dist/assets/{personality-page-ILl8FXFu.js → personality-page-DbSLfV_N.js} +1 -1
  125. package/dist/assets/{personality-sliders-PxNPuK2H.js → personality-sliders-DahfpXIK.js} +1 -1
  126. package/dist/assets/{plans-page-CI3FmLNs.js → plans-page-Q2u7IYdx.js} +1 -1
  127. package/dist/assets/{platform-loopback-page-DM2A9sb6.js → platform-loopback-page-Gsgl1-C1.js} +1 -1
  128. package/dist/assets/{plugin-detail-page-Cj6u283V.js → plugin-detail-page-CwTxMfPK.js} +1 -1
  129. package/dist/assets/{plugins-page-D7_NjR08.js → plugins-page-BeceTGDE.js} +1 -1
  130. package/dist/assets/plugins-surface-DRWOFcBb.js +1 -0
  131. package/dist/assets/{preview-error-B2MuMDf7.js → preview-error-Bsw56ZjR.js} +1 -1
  132. package/dist/assets/privacy-page-C0L5u1-E.js +1 -0
  133. package/dist/assets/{privacy-screen-BnqXrWj-.js → privacy-screen-q5pYNYHV.js} +1 -1
  134. package/dist/assets/{profile-card-BJ45rF7O.js → profile-card-ORX8JyeJ.js} +1 -1
  135. package/dist/assets/{provider-callback-page-CNNhqRdO.js → provider-callback-page-Bh4aARKp.js} +1 -1
  136. package/dist/assets/{provider-key-CqD-hAxF.js → provider-key-DhHj1MSM.js} +1 -1
  137. package/dist/assets/{provider-signup-page-BEBgiI0J.js → provider-signup-page-BZcyuRq8.js} +1 -1
  138. package/dist/assets/{quick-input-page-ZC5y6AKn.js → quick-input-page-B0vdeXBp.js} +1 -1
  139. package/dist/assets/referral-modal-0tLKuYzN.js +1 -0
  140. package/dist/assets/{referral-modal-B5zxNJBt.js → referral-modal-BgoEpFmG.js} +1 -1
  141. package/dist/assets/{rehype-katex-DWUGzNKD.js → rehype-katex-CwfN9TOG.js} +1 -1
  142. package/dist/assets/{research-mock-page-B3giO94y.js → research-mock-page-oXOlmOna.js} +1 -1
  143. package/dist/assets/{research-onboarding-route-Dim74aoQ.js → research-onboarding-route-q3lZEjxC.js} +1 -1
  144. package/dist/assets/{review-terms-screen-CIYiUq4M.js → review-terms-screen-LCDdoz6t.js} +1 -1
  145. package/dist/assets/routes-1ENCqxlq.js +1 -0
  146. package/dist/assets/{schedules-J3G9N-px.js → schedules-RwCneOYe.js} +1 -1
  147. package/dist/assets/{schedules-page-Cnl8mEzJ.js → schedules-page-D2HxxCQz.js} +1 -1
  148. package/dist/assets/{security-redirect-page-BEtWQiAG.js → security-redirect-page-BdOwkxkl.js} +1 -1
  149. package/dist/assets/{select-assistant-screen-BHvcUbOb.js → select-assistant-screen-B1NbmvWZ.js} +1 -1
  150. package/dist/assets/{self-hosted-servers-Bn0mvFIm.js → self-hosted-servers-Dn5AaPCS.js} +1 -1
  151. package/dist/assets/{service-form-controls-DaeZPEiA.js → service-form-controls-Bn1R361b.js} +1 -1
  152. package/dist/assets/{setting-row-DPTW9jvI.js → setting-row-CaxliRhN.js} +1 -1
  153. package/dist/assets/{settings-Bh67VJVe.js → settings-CPmDyMN-.js} +4 -2
  154. package/dist/assets/{settings-k5uhZfPH.js → settings-DFXVH_HE.js} +4 -2
  155. package/dist/assets/{settings-ClEDqshB.js → settings-DydJJiwS.js} +4 -2
  156. package/dist/assets/settings-divider-DipomhZT.js +1 -0
  157. package/dist/assets/{settings-layout-DEmxtBd4.js → settings-layout-C7CQeAi8.js} +1 -1
  158. package/dist/assets/{settings-DDU54LDK.js → settings-w04_tItH.js} +4 -2
  159. package/dist/assets/share-feedback-modal-CrOSSoWU.js +1 -0
  160. package/dist/assets/{share-feedback-modal-Du_F68zS.js → share-feedback-modal-W3JhVF1c.js} +2 -2
  161. package/dist/assets/{sidebar-tree-D43H3cb8.js → sidebar-tree-CtDTchuN.js} +1 -1
  162. package/dist/assets/{signup-page-BiV-Kq2O.js → signup-page-BgVg1-Cz.js} +1 -1
  163. package/dist/assets/{signup-shell-BbFj5txC.js → signup-shell-rqZZKQs9.js} +1 -1
  164. package/dist/assets/{skill-detail-page-CNTwONYG.js → skill-detail-page-DVceqbB8.js} +1 -1
  165. package/dist/assets/{skill-detail-panel-Duoeqpk6.js → skill-detail-panel-D0MQeUNt.js} +1 -1
  166. package/dist/assets/{skill-removal-dialog-DcbMCW1X.js → skill-removal-dialog-CKyIY15v.js} +1 -1
  167. package/dist/assets/{skills-page-DeEyocII.js → skills-page-BNFEhwCh.js} +1 -1
  168. package/dist/assets/{sounds-page-CYqyUiLI.js → sounds-page-D-1xB2X0.js} +1 -1
  169. package/dist/assets/{start-screen-C4ocEh6e.js → start-screen-BfdqRCiG.js} +1 -1
  170. package/dist/assets/{step-detail-header-C0_Bji0I.js → step-detail-header-LQsSbC2J.js} +1 -1
  171. package/dist/assets/{stt-language-picker-modal-Dw_dzvcQ.js → stt-language-picker-modal-CU8T9AvB.js} +1 -1
  172. package/dist/assets/{subagent-detail-panel-DqFckc_d.js → subagent-detail-panel-CBnRBOPg.js} +1 -1
  173. package/dist/assets/{superpowers-page-kjcwHwaR.js → superpowers-page-DabWyYFo.js} +1 -1
  174. package/dist/assets/{system-events-page-C0Nrrv_n.js → system-events-page-BO75f0oo.js} +1 -1
  175. package/dist/assets/{system-events-redirect-page-DR4dTzmZ.js → system-events-redirect-page-DTc8VcbG.js} +1 -1
  176. package/dist/assets/{tabular-grid-9asraGxC.js → tabular-grid-TnP0G_0N.js} +1 -1
  177. package/dist/assets/teleport-gateway-client-BY9KVOT2.js +1 -0
  178. package/dist/assets/{text-preview-C6jKP_-h.js → text-preview-ClaaOGkz.js} +1 -1
  179. package/dist/assets/{theme-stage-page-BCd5ZTdW.js → theme-stage-page-CDguIcG0.js} +1 -1
  180. package/dist/assets/{tiptap-document-editor-BCrbYYDo.js → tiptap-document-editor-C6mVckqJ.js} +1 -1
  181. package/dist/assets/{tool-detail-panel-nu-dK5jf.js → tool-detail-panel-CQ-R1S2x.js} +1 -1
  182. package/dist/assets/tool-detail-panel-D2UjNK8Q.js +1 -0
  183. package/dist/assets/{trait-cycle-row-CPRGog-6.js → trait-cycle-row-Dw9MgLO3.js} +1 -1
  184. package/dist/assets/{upgrade-cancel-page-BiU2HQZG.js → upgrade-cancel-page-BMNn9Xs4.js} +1 -1
  185. package/dist/assets/{upgrade-success-page-BCvxSNPT.js → upgrade-success-page-6A6LKBWV.js} +1 -1
  186. package/dist/assets/{usage-redirect-page-A2FxznAL.js → usage-redirect-page-DuL6faM2.js} +1 -1
  187. package/dist/assets/{use-app-delete-Bd9ibG9z.js → use-app-delete-CzP_P0YE.js} +1 -1
  188. package/dist/assets/{use-assistant-identity-details-BPVOfzxy.js → use-assistant-identity-details-C3ihvjLl.js} +1 -1
  189. package/dist/assets/{use-channel-trust-floors-BkkxL6wd.js → use-channel-trust-floors-ENV3m3Vx.js} +1 -1
  190. package/dist/assets/{use-checkout-dismiss-refresh-DYmiO0wT.js → use-checkout-dismiss-refresh-Db6rZnu3.js} +1 -1
  191. package/dist/assets/{use-edge-swipe-back-B2Kt4500.js → use-edge-swipe-back-zSNP4R0a.js} +1 -1
  192. package/dist/assets/{use-hotkey-recorder-Dngc9P3v.js → use-hotkey-recorder-DZfuD-Wf.js} +1 -1
  193. package/dist/assets/{use-invite-link-dialog-Dqkj_T4s.js → use-invite-link-dialog-D8vtY1q5.js} +1 -1
  194. package/dist/assets/{use-plugins-list-DJlgCfb-.js → use-plugins-list-Bfr06IMK.js} +1 -1
  195. package/dist/assets/{use-return-to-short-circuit-CrgMpIk2.js → use-return-to-short-circuit-C0-TwAO7.js} +1 -1
  196. package/dist/assets/{use-side-list-room-CttXRA29.js → use-side-list-room-CDaRUxpt.js} +1 -1
  197. package/dist/assets/{use-skill-actions-BhUkfXmL.js → use-skill-actions-BvJl4cE_.js} +1 -1
  198. package/dist/assets/{use-skill-detail-files-JWSwpirW.js → use-skill-detail-files-upPaF1Ti.js} +1 -1
  199. package/dist/assets/use-supports-credentials-settings-BmKvWH5p.js +1 -0
  200. package/dist/assets/{vendor-DLH51Vjf.js → vendor-cVd2QlFV.js} +2 -2
  201. package/dist/assets/{voice-page-CN-XVbya.js → voice-page-CyiYN5gw.js} +1 -1
  202. package/dist/assets/{wake-detail-panel-BN6Np2AU.js → wake-detail-panel-Ca8kOmoN.js} +1 -1
  203. package/dist/assets/{weather-forecast-display-Dg7Tug8o.js → weather-forecast-display-C5WJSVZN.js} +1 -1
  204. package/dist/assets/{web-C2Y5uOI1.js → web-4gtEtmAK.js} +1 -1
  205. package/dist/assets/{web-BmoVVmPZ.js → web-B2la00zR.js} +1 -1
  206. package/dist/assets/{web-D0qh5Vlp.js → web-BD6n-X3I.js} +1 -1
  207. package/dist/assets/{web-BlKAJber.js → web-BDmJP5H5.js} +1 -1
  208. package/dist/assets/{web-D5UHHnMG.js → web-Bb3-M0eN.js} +1 -1
  209. package/dist/assets/{web-Xy5dhNHF.js → web-Co3fdUhk.js} +1 -1
  210. package/dist/assets/{web-CAi9YePi.js → web-DUEEDTea.js} +1 -1
  211. package/dist/assets/{web-vcW3se1t.js → web-FCPcWxlK.js} +1 -1
  212. package/dist/assets/{web-DZvE04fg.js → web-p3qShnRq.js} +1 -1
  213. package/dist/assets/welcome-screen-BoF2bJeJ.js +1 -0
  214. package/dist/assets/{workflow-detail-panel-Bo3bUe-w.js → workflow-detail-panel-BWjagS_I.js} +1 -1
  215. package/dist/assets/{workspace-page-yTSdnWq3.js → workspace-page-BwYluW9Z.js} +1 -1
  216. package/dist/assets/{xlsx-preview-C7vk2tgm.js → xlsx-preview-D7-VqTY7.js} +1 -1
  217. package/dist/index.html +2 -2
  218. package/package.json +1 -1
  219. package/dist/assets/add-credits-modal-htqAQMX6.js +0 -1
  220. package/dist/assets/auth-store-CUfwxB8-.js +0 -1
  221. package/dist/assets/avatar-bundled-components-BQa_U1xg.js +0 -1
  222. package/dist/assets/checkout-return-target-B6Qnd5vl.js +0 -1
  223. package/dist/assets/command-palette-CYJg3gK4.js +0 -1
  224. package/dist/assets/debug-page-Cu82bP9V.js +0 -4
  225. package/dist/assets/deploy-dialogs-B1_w7Ez-.js +0 -1
  226. package/dist/assets/document-load-DHdbQvKt.js +0 -1
  227. package/dist/assets/esm-5n5jSt3e.js +0 -2
  228. package/dist/assets/esm-B5HvNA2f.js +0 -1
  229. package/dist/assets/esm-BVAuvmyr.js +0 -2
  230. package/dist/assets/esm-CIgMNIdz.js +0 -1
  231. package/dist/assets/esm-CvOYazPQ.js +0 -2
  232. package/dist/assets/esm-DetZupO7.js +0 -2
  233. package/dist/assets/esm-DpDUzGbk.js +0 -2
  234. package/dist/assets/general-page-B5G4H9NJ.js +0 -2
  235. package/dist/assets/intelligence-layout-slots-store-BvTIV21o.js +0 -1
  236. package/dist/assets/local-mode-C-1-fXwg.js +0 -1
  237. package/dist/assets/mutation-error--JEZBa3Q.js +0 -1
  238. package/dist/assets/native-attachment-pickers-BAxJDXTk.js +0 -1
  239. package/dist/assets/native-file-BlJDG-CS.js +0 -1
  240. package/dist/assets/paired-platform-identity-BN7Zkoo1.js +0 -1
  241. package/dist/assets/password-reset-page-j1R5YVAm.js +0 -1
  242. package/dist/assets/plugins-surface-ClVSBf-s.js +0 -1
  243. package/dist/assets/privacy-page-B2g1Pqqs.js +0 -1
  244. package/dist/assets/referral-modal-BUgtMC2a.js +0 -1
  245. package/dist/assets/routes-zhZ8T_Wu.js +0 -1
  246. package/dist/assets/share-feedback-modal-C2fAj8NH.js +0 -1
  247. package/dist/assets/teleport-gateway-client-B8e53i-5.js +0 -1
  248. package/dist/assets/tool-detail-panel-BM_9qtZ-.js +0 -1
  249. package/dist/assets/use-supports-credentials-settings-fg3eXgQy.js +0 -1
  250. package/dist/assets/welcome-screen-B1WHzW0q.js +0 -1
  251. /package/dist/assets/{account-BkxBMG9Z.js → account-BlV1qOTL.js} +0 -0
  252. /package/dist/assets/{account-OIF2BHH7.js → account-Yhb7EPiE.js} +0 -0
  253. /package/dist/assets/{account-D5JdUO7K.js → account-iXFebGNX.js} +0 -0
  254. /package/dist/assets/{account-DYG79724.js → account-zbO2wvfB.js} +0 -0
  255. /package/dist/assets/{activation-Dd7eAIHs.js → activation-BBxBYSHn.js} +0 -0
  256. /package/dist/assets/{activation-tasks-rViOqW7C.js → activation-BpktogSQ.js} +0 -0
  257. /package/dist/assets/{activation-C91KPzrh.js → activation-CflM_LQ5.js} +0 -0
  258. /package/dist/assets/{activation-ReimSfhn.js → activation-Daef_l1I.js} +0 -0
  259. /package/dist/assets/{activation-tasks-wtMwJ0EV.js → activation-tasks-CV_7HKqY.js} +0 -0
  260. /package/dist/assets/{activation-yoBQ36AY.js → activation-tasks-CumTmEGs.js} +0 -0
  261. /package/dist/assets/{activation-tasks-efxGWsFw.js → activation-tasks-ayYeMiiM.js} +0 -0
  262. /package/dist/assets/{activation-tasks-D4dorV2v.js → activation-tasks-cUwRl0aM.js} +0 -0
  263. /package/dist/assets/{assistant-inbox-CAvCHzi9.js → assistant-inbox-BTOw7wfJ.js} +0 -0
  264. /package/dist/assets/{assistant-inbox-qWeVmA1L.js → assistant-inbox-CrSow2BT.js} +0 -0
  265. /package/dist/assets/{assistant-inbox-DslyrhIn.js → assistant-inbox-DFWc70zr.js} +0 -0
  266. /package/dist/assets/{assistant-inbox-CQdSXLLi.js → assistant-inbox-Yf62pQhK.js} +0 -0
  267. /package/dist/assets/{build.umd-B0ATW5UM.js → build.umd-DYhQfml1.js} +0 -0
  268. /package/dist/assets/{channels-Cz7YAOIH.js → channels-CgD67LT0.js} +0 -0
  269. /package/dist/assets/{channels-BMnoL5SH.js → channels-DeTGbiPP.js} +0 -0
  270. /package/dist/assets/{channels-vNXfvsPT.js → channels-DmpyD-3T.js} +0 -0
  271. /package/dist/assets/{channels-CsbKXJZc.js → channels-DuQeNaoa.js} +0 -0
  272. /package/dist/assets/{chat-DSN9cMJf.js → chat--ZmD-zey.js} +0 -0
  273. /package/dist/assets/{chat-bnp2gG3L.js → chat-Ck0pUgkI.js} +0 -0
  274. /package/dist/assets/{chat-BgW0N2Gb.js → chat-D6epoOzw.js} +0 -0
  275. /package/dist/assets/{chat-BE3uio8d.js → chat-D7C62t6i.js} +0 -0
  276. /package/dist/assets/{common-LOT1T5DR.js → common-BE18Mx30.js} +0 -0
  277. /package/dist/assets/{common-IoqtSg0p.js → common-Csoou9wq.js} +0 -0
  278. /package/dist/assets/{common-kmi6H4cg.js → common-Da7fmzzI.js} +0 -0
  279. /package/dist/assets/{common-BdQfnACd.js → common-Du9wm05t.js} +0 -0
  280. /package/dist/assets/{contacts-BTmOfEVL.js → contacts-Caqw0Sif.js} +0 -0
  281. /package/dist/assets/{contacts-Cxz-DyYF.js → contacts-Co__1ikw.js} +0 -0
  282. /package/dist/assets/{contacts-DgC-8PHB.js → contacts-DD_eTIfs.js} +0 -0
  283. /package/dist/assets/{contacts-mijLgegD.js → contacts-DK2Vo7jK.js} +0 -0
  284. /package/dist/assets/{credential-requests-CmFaXPwz.js → credential-requests-BGJaT5P8.js} +0 -0
  285. /package/dist/assets/{credential-requests-gl4lfjL4.js → credential-requests-CLJKvy8_.js} +0 -0
  286. /package/dist/assets/{credential-requests-D3J3i5oa.js → credential-requests-CY3rhP-v.js} +0 -0
  287. /package/dist/assets/{credential-requests-h908NRpv.js → credential-requests-K_K5QYWo.js} +0 -0
  288. /package/dist/assets/{definitions-BUCExH-9.js → definitions-BlPXXV5t.js} +0 -0
  289. /package/dist/assets/{definitions-DpZNNWA7.js → definitions-LeNf6LcI.js} +0 -0
  290. /package/dist/assets/{home-D4Knhe9B.js → home-Ciwnqb-0.js} +0 -0
  291. /package/dist/assets/{home-BI-fzzA0.js → home-D9CyYzwt.js} +0 -0
  292. /package/dist/assets/{home-BZGFmZ0D.js → home-DRimDXb8.js} +0 -0
  293. /package/dist/assets/{home-CM9kRnjx.js → home-FBlk-Kn_.js} +0 -0
  294. /package/dist/assets/{intelligence-DFW_P1Fv.js → intelligence-CxgptCMO.js} +0 -0
  295. /package/dist/assets/{intelligence-DXMdwG0t.js → intelligence-DNvhgTjL.js} +0 -0
  296. /package/dist/assets/{intelligence-B6UWzaf0.js → intelligence-leUjdPLY.js} +0 -0
  297. /package/dist/assets/{intelligence-DaVJutXG.js → intelligence-xPDdEiiN.js} +0 -0
  298. /package/dist/assets/{library-Dv9w5D8Z.js → library-DyYHQ0GO.js} +0 -0
  299. /package/dist/assets/{library-CFGvGWZt.js → library-EaBsKALT.js} +0 -0
  300. /package/dist/assets/{library-CmSFUt9r.js → library-Hu58bAic.js} +0 -0
  301. /package/dist/assets/{library-D26ezl8B.js → library-JzJCLakz.js} +0 -0
  302. /package/dist/assets/{logs-BJTGRcSn.js → logs-Bz1qUaJ9.js} +0 -0
  303. /package/dist/assets/{logs-BpX8Zuzb.js → logs-CZofq5k0.js} +0 -0
  304. /package/dist/assets/{logs-5jFWrQRx.js → logs-DWYxin7R.js} +0 -0
  305. /package/dist/assets/{logs-BPrpYBp7.js → logs-g4hcj_Po.js} +0 -0
  306. /package/dist/assets/{onboarding-B9_JitSg.js → onboarding-B8Kqi3lF.js} +0 -0
  307. /package/dist/assets/{onboarding-cBGAfB74.js → onboarding-BmTUYcow.js} +0 -0
  308. /package/dist/assets/{onboarding-BrS1fcVE.js → onboarding-Cg2xtY6u.js} +0 -0
  309. /package/dist/assets/{onboarding-Cx2yoeE5.js → onboarding-CudNVueP.js} +0 -0
  310. /package/dist/assets/{pdf-_tTrkaWt.js → pdf-D787RoTm.js} +0 -0
  311. /package/dist/assets/{remote-web-DkzrBzGi.js → remote-web-B48hBzZQ.js} +0 -0
  312. /package/dist/assets/{remote-web-42kFkA33.js → remote-web-BWB9gusD.js} +0 -0
  313. /package/dist/assets/{remote-web-DFX945w2.js → remote-web-Dir5X2Uc.js} +0 -0
  314. /package/dist/assets/{remote-web-CFPdQIeJ.js → remote-web-DoH8uPma.js} +0 -0
  315. /package/dist/assets/{schedules-CGU7CKaM.js → schedules-BWTSjt7H.js} +0 -0
  316. /package/dist/assets/{schedules-JnprnWDo.js → schedules-CWPFs_Xm.js} +0 -0
  317. /package/dist/assets/{schedules-J687h0Fh.js → schedules-DrYrmkfN.js} +0 -0
  318. /package/dist/assets/{schedules-Bk7XGnqS.js → schedules-Oj3x1jCN.js} +0 -0
  319. /package/dist/assets/{terminal-Cxm0NKaj.js → terminal-0PGnTYRE.js} +0 -0
  320. /package/dist/assets/{terminal-BV6xg9ZA.js → terminal-BxOTNQdO.js} +0 -0
  321. /package/dist/assets/{terminal-CYHsl1AH.js → terminal-CTNk9Vx-.js} +0 -0
  322. /package/dist/assets/{terminal-BjOF3LBT.js → terminal-DMbjaLiG.js} +0 -0
  323. /package/dist/assets/{workspace-C-huZiu_.js → workspace-7FfNfyOX.js} +0 -0
  324. /package/dist/assets/{workspace-Bcvg2VfS.js → workspace-ALDzNPUC.js} +0 -0
  325. /package/dist/assets/{workspace-P8HaFDdu.js → workspace-DrLe-8Lj.js} +0 -0
  326. /package/dist/assets/{workspace-BscXtFFU.js → workspace-Dxoo5uUn.js} +0 -0
  327. /package/dist/assets/{xterm-Pyzkt_-B.js → xterm-6q1BGEu_.js} +0 -0
  328. /package/dist/assets/{xterm-addon-fit-HaY_WHvm.js → xterm-addon-fit-DARdNMYD.js} +0 -0
@@ -1,2 +1,2 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,Ah as n,FS as r,HC as i,Jc as a,LS as o,On as s,PS as c,W as l,Yc as u,Ys as d,Zf as f,gC as p,hC as m,iy as h,kC as g,qc as _,sc as v,tu as y,ty as b,vC as x,xS as ee}from"./app-KRIEMzuO.js";import{$n as S,E as C,Qn as te,j as w,nr as T}from"./vendor-DLH51Vjf.js";import{f as ne,t as re,x as E}from"./react-B9IgSVeK.js";import{$ as D,At as O,Cn as ie,Et as ae,Ki as oe,Ln as k,Lt as se,Mn as A,Wi as j,gt as M,i as N,n as ce,qi as P,t as le,vt as F}from"./icons-C0wyat6T.js";var I=e(E(),1),L={x:600,y:450},ue=`memory_tab_v1`,de=crypto.randomUUID();function R(e){typeof window>`u`||n()&&d([{type:`onboarding`,daemon_event_id:crypto.randomUUID(),recorded_at:Date.now(),screen:`memory`,session_id:de,step_name:e,funnel_version:ue}])}var z=Math.PI*(3-Math.sqrt(5)),B=7,V=2.4,H=34,U=10;function fe(e){return Math.min(H,B+V*Math.sqrt(e))}function W(e){return e===`concept`||e===`skill`||e===`capability`||e===`pending`?e:`other`}function pe(e){return e===`link`||e===`learned`?e:`other`}function me(e,t={}){let n=t.center??L,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)=>fe(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*z,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]+U;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:W(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:pe(e.kind),directed:e.directed??!1};return e.description&&(n.description=e.description),n})}}var G=re();function he({title:e,detail:t,action:n}){return(0,G.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-2 px-6 text-center`,children:[(0,G.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),t?(0,G.jsx)(`p`,{className:`max-w-sm text-body-small-default`,style:{color:`var(--content-tertiary)`},children:t}):null,n?(0,G.jsx)(`div`,{className:`mt-2`,children:n}):null]})}function K(){return w(`getMemoryGraphNode.failureMessage`,{ns:`intelligence`})}function ge(e,t){return te({queryKey:[`memory-graph-node`,e,t],enabled:!!(e&&t),queryFn:async()=>{let{data:n,error:i,response:a}=await h({path:{assistant_id:e},query:{id:t??``},throwOnError:!1});if(r(a,i,K()),!a.ok)throw new c(a.status,o(i,a,K()));return n??{found:!1}}})}var _e={concept:`#467CC8`,skill:`#DB4B77`,capability:`#0E9B8B`,pending:`#F1B21E`,other:`#8D99A5`},ve=[`#467CC8`,`#E86B40`,`#7A5AF5`,`#22B8CF`,`#3DB85E`,`#E9C91A`,`#E83F5B`,`#6ECF87`,`#F39B74`,`#F5C94E`],q={concept:`conceptGraphConstants.nodeKind.concept`,skill:`conceptGraphConstants.nodeKind.skill`,capability:`conceptGraphConstants.nodeKind.capability`,pending:`conceptGraphConstants.nodeKind.pending`,other:`conceptGraphConstants.nodeKind.other`};function J(e){return w(q[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 Y=600;function X(e){let t=e.slice(0,Y),n=t.lastIndexOf(`
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,Ah as n,FS as r,HC as i,Jc as a,LS as o,On as s,PS as c,W as l,Yc as u,Ys as d,Zf as f,gC as p,hC as m,iy as h,kC as g,qc as _,sc as v,tu as y,ty as b,vC as x,xS as ee}from"./app-BEoekemj.js";import{$n as S,E as C,Qn as te,j as w,nr as T}from"./vendor-cVd2QlFV.js";import{f as ne,t as re,x as E}from"./react-B9IgSVeK.js";import{$ as D,At as O,Cn as ie,Et as ae,Ki as oe,Ln as k,Lt as se,Mn as A,Wi as j,gt as M,i as N,n as ce,qi as P,t as le,vt as F}from"./icons-C0wyat6T.js";var I=e(E(),1),L={x:600,y:450},ue=`memory_tab_v1`,de=crypto.randomUUID();function R(e){typeof window>`u`||n()&&d([{type:`onboarding`,daemon_event_id:crypto.randomUUID(),recorded_at:Date.now(),screen:`memory`,session_id:de,step_name:e,funnel_version:ue}])}var z=Math.PI*(3-Math.sqrt(5)),B=7,V=2.4,H=34,U=10;function fe(e){return Math.min(H,B+V*Math.sqrt(e))}function W(e){return e===`concept`||e===`skill`||e===`capability`||e===`pending`?e:`other`}function pe(e){return e===`link`||e===`learned`?e:`other`}function me(e,t={}){let n=t.center??L,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)=>fe(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*z,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]+U;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:W(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:pe(e.kind),directed:e.directed??!1};return e.description&&(n.description=e.description),n})}}var G=re();function he({title:e,detail:t,action:n}){return(0,G.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-2 px-6 text-center`,children:[(0,G.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),t?(0,G.jsx)(`p`,{className:`max-w-sm text-body-small-default`,style:{color:`var(--content-tertiary)`},children:t}):null,n?(0,G.jsx)(`div`,{className:`mt-2`,children:n}):null]})}function K(){return w(`getMemoryGraphNode.failureMessage`,{ns:`intelligence`})}function ge(e,t){return te({queryKey:[`memory-graph-node`,e,t],enabled:!!(e&&t),queryFn:async()=>{let{data:n,error:i,response:a}=await h({path:{assistant_id:e},query:{id:t??``},throwOnError:!1});if(r(a,i,K()),!a.ok)throw new c(a.status,o(i,a,K()));return n??{found:!1}}})}var _e={concept:`#467CC8`,skill:`#DB4B77`,capability:`#0E9B8B`,pending:`#F1B21E`,other:`#8D99A5`},ve=[`#467CC8`,`#E86B40`,`#7A5AF5`,`#22B8CF`,`#3DB85E`,`#E9C91A`,`#E83F5B`,`#6ECF87`,`#F39B74`,`#F5C94E`],q={concept:`conceptGraphConstants.nodeKind.concept`,skill:`conceptGraphConstants.nodeKind.skill`,capability:`conceptGraphConstants.nodeKind.capability`,pending:`conceptGraphConstants.nodeKind.pending`,other:`conceptGraphConstants.nodeKind.other`};function J(e){return w(q[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 Y=600;function X(e){let t=e.slice(0,Y),n=t.lastIndexOf(`
2
2
  `);return n>Y/2?e.slice(0,n):t}function Se({content:e}){let[n,r]=(0,I.useState)(!1),{t:i}=C(`intelligence`);return e.length<=Y?(0,G.jsx)(s,{content:e}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(s,{content:n?e:X(e)}),(0,G.jsx)(t,{variant:`ghost`,size:`compact`,className:`-ml-2 mt-1`,onClick:()=>r(e=>!e),rightIcon:n?(0,G.jsx)(j,{size:16,"aria-hidden":!0}):(0,G.jsx)(P,{size:16,"aria-hidden":!0}),children:i(n?`conceptDetailPanel.showLess`:`conceptDetailPanel.readFullNote`)})]})}function Ce({assistantId:e,node:n,trail:r,neighbors:i,onTravel:a,onCrumb:o,onClose:s,onOpenThread:c}){let{t:l}=C(`intelligence`),u=S(ge(e,n.id)),d=u.data,f=xe(n.updatedAtMs),p=d?.title??n.label,m=be(r);return(0,I.useEffect)(()=>{let e=e=>{e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),s())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[s]),(0,G.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,G.jsx)(`div`,{className:`absolute inset-0`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 16%, transparent)`},onClick:s}),(0,G.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:[r.length>1?(0,G.jsxs)(`nav`,{"aria-label":l(`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,G.jsx)(t,{variant:`ghost`,size:`compact`,iconOnly:(0,G.jsx)(oe,{"aria-hidden":!0}),iconOnlyGlyphClassName:`[&_svg]:size-4`,expandOnMobile:!1,onClick:()=>o(r.length-2),"aria-label":l(`conceptDetailPanel.backAriaLabel`),className:`-ml-1 mr-0.5 h-5 w-5 shrink-0 rounded`}),m.map((e,t)=>(0,G.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,children:[t>0?(0,G.jsx)(`span`,{"aria-hidden":!0,children:`›`}):null,e===`ellipsis`?(0,G.jsx)(`span`,{"aria-hidden":!0,children:`…`}):e.index===r.length-1?(0,G.jsx)(`span`,{"aria-current":`page`,className:`max-w-[9rem] truncate`,style:{color:`var(--content-default)`},children:e.node.label}):(0,G.jsx)(`button`,{type:`button`,onClick:()=>o(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,G.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,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`h2`,{className:`truncate text-title-small`,style:{color:`var(--content-default)`},title:d?.title??n.label,children:d?.title??n.label}),f?(0,G.jsx)(`p`,{className:`mt-0.5 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:l(`conceptDetailPanel.updated`,{date:f})}):null]}),(0,G.jsx)(t,{variant:`ghost`,iconOnly:(0,G.jsx)(N,{"aria-hidden":!0}),onClick:s,"aria-label":l(`conceptDetailPanel.closeAriaLabel`),tintColor:`var(--content-tertiary)`})]}),(0,G.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-5 py-4`,style:{touchAction:`pan-y`},children:[u.isLoading?(0,G.jsx)(`div`,{className:`flex justify-center py-8`,children:(0,G.jsx)(`div`,{className:`h-5 w-5 animate-spin rounded-full border-2`,style:{borderColor:`var(--border-base)`,borderTopColor:`var(--content-tertiary)`}})}):u.isError?(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:l(`conceptDetailPanel.loadError`)}):d?.found&&d.content?.trim()?(0,G.jsx)(Se,{content:d.content},n.id):(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:l(`conceptDetailPanel.emptyContent`)}),i.length>0?(0,G.jsxs)(`section`,{className:`mt-6 border-t pt-4`,style:{borderColor:`var(--border-base)`},children:[(0,G.jsxs)(`div`,{className:`mb-2 flex items-baseline justify-between gap-2`,children:[(0,G.jsx)(`h3`,{className:`text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:l(`conceptDetailPanel.wiredTo`)}),(0,G.jsx)(`span`,{className:`text-body-small-default tabular-nums`,style:{color:`var(--content-tertiary)`},children:l(`conceptDetailPanel.connectionCount`,{count:i.length})})]}),(0,G.jsx)(`ul`,{className:`flex list-none flex-col gap-0.5`,children:i.map(e=>(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,onClick:()=>a({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,G.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,G.jsx)(`span`,{className:`truncate`,children:e.label})]})},e.id))})]}):null]}),c?(0,G.jsxs)(`footer`,{className:`flex shrink-0 gap-2 border-t px-5 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,G.jsx)(t,{variant:`outlined`,size:`regular`,className:`flex-1`,leftIcon:(0,G.jsx)(A,{size:16,"aria-hidden":!0}),onClick:()=>c(l(`conceptDetailPanel.askPrompt`,{title:p})),children:l(`conceptDetailPanel.askAboutThis`)}),(0,G.jsx)(t,{variant:`primary`,size:`regular`,className:`flex-1`,leftIcon:(0,G.jsx)(D,{size:16,"aria-hidden":!0}),onClick:()=>c(l(`conceptDetailPanel.refinePrompt`,{title:p})),children:l(`conceptDetailPanel.refine`)})]}):null]})]})}function we({onDismiss:e}){let{t:n}=C(`intelligence`);return(0,G.jsxs)(`div`,{"data-graph-control":!0,className:`pointer-events-auto flex w-full max-w-[30rem] self-center 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,G.jsx)(`span`,{className:`mt-0.5 shrink-0`,style:{color:`var(--primary-base)`},"aria-hidden":!0,children:(0,G.jsx)(D,{size:18})}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:n(`conceptGraphIntroBanner.title`)}),(0,G.jsx)(`p`,{className:`mt-0.5 text-body-small-lighter`,style:{color:`var(--content-tertiary)`},children:n(`conceptGraphIntroBanner.description`)})]}),(0,G.jsx)(t,{variant:`ghost`,iconOnly:(0,G.jsx)(N,{"aria-hidden":!0}),onClick:e,"aria-label":n(`conceptGraphIntroBanner.dismissAriaLabel`),tintColor:`var(--content-tertiary)`})]})}var Z=8;function Te({nodeKinds:e,coloredByTheme:t,themes:n,hasLinks:r,hasLearned:i,onToggleLink:a,onToggleLearned:o,linkActive:s,learnedActive:c}){let{t:l}=C(`intelligence`);return(0,G.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,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`inline-block h-2.5 w-2.5 rounded-full`,style:{backgroundColor:_e[e]}}),(0,G.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:J(e)})]},e)),t&&(n&&n.length>0?(0,G.jsxs)(G.Fragment,{children:[n.slice(0,Z).map((e,t)=>(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`inline-block h-2.5 w-2.5 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),(0,G.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>Z&&(0,G.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:l(`conceptGraphLegend.moreThemes`,{count:n.length-Z})})]}):(0,G.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:l(`conceptGraphLegend.coloredByTheme`)})),(e.length>0||t)&&(r||i)&&(0,G.jsx)(`div`,{className:`mt-0.5 border-t pt-1.5`,style:{borderColor:`var(--border-base)`}}),r&&(0,G.jsx)(Ee,{swatchStyle:{borderTop:`2px solid var(--content-tertiary)`},label:l(`conceptGraphLegend.link`),onToggle:a,active:s}),i&&(0,G.jsx)(Ee,{swatchStyle:{borderTop:`2px dashed #F1B21E`},label:l(`conceptGraphLegend.learned`),onToggle:o,active:c})]})}function Ee({swatchStyle:e,label:t,onToggle:n,active:r}){let i=(0,G.jsx)(`span`,{className:`inline-block h-0 w-4`,style:e}),a=(0,G.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:t});return n?(0,G.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,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i,a]})}var De=8;function Oe(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<De;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 w(`memoryUnavailable.prompts.v2`,{ns:`intelligence`})}function $(){return w(`memoryUnavailable.prompts.v1`,{ns:`intelligence`})}function ke(){return w(`memoryUnavailable.prompts.enable`,{ns:`intelligence`})}function Ae(){return{title:w(`memoryUnavailable.statusError.title`,{ns:`intelligence`}),detail:w(`memoryUnavailable.statusError.detail`,{ns:`intelligence`}),action:`retry`}}function je(e){return e===`off`?{title:w(`memoryUnavailable.off.title`,{ns:`intelligence`}),detail:w(`memoryUnavailable.off.detail`,{ns:`intelligence`}),action:`settings`,prompt:ke()}:e===`v1`||e===`v2`?{title:w(`memoryUnavailable.legacy.title`,{ns:`intelligence`}),detail:w(`memoryUnavailable.legacy.detail`,{ns:`intelligence`}),action:`upgrade`,prompt:e===`v1`?$():Q()}:{title:w(`memoryUnavailable.unknown.title`,{ns:`intelligence`}),detail:w(`memoryUnavailable.unknown.detail`,{ns:`intelligence`}),action:`none`}}function Me({assistantId:e,onOpenThread:n}){let{t:r}=C(`intelligence`),i=ne(),o=T(),s=S(a(e));(0,I.useEffect)(()=>{_(o,e)},[o,e]);let c=v(`memoryOptOut`),l=f.use.settingsDeveloperNav(),u=c&&l===!0;if(s.isLoading)return null;let d=s.data?.kind===`ready`?s.data.tier:void 0,p=s.isError?Ae():je(d),m=p.prompt,h=null;return p.action===`upgrade`&&n&&m?h=(0,G.jsx)(t,{variant:`primary`,size:`compact`,leftIcon:(0,G.jsx)(D,{}),onClick:()=>{R(`upgrade_v3_clicked`),n(m)},children:r(`memoryUpgradePrompt.upgradeMemory`)}):p.action===`retry`?h=(0,G.jsx)(t,{variant:`outlined`,size:`compact`,leftIcon:(0,G.jsx)(O,{}),onClick:()=>{s.refetch()},children:r(`memoryUpgradePrompt.tryAgain`)}):p.action===`settings`&&u?h=(0,G.jsx)(t,{variant:`outlined`,size:`compact`,leftIcon:(0,G.jsx)(M,{}),onClick:()=>i(`${ee.settings.developer}?tab=memory`),children:r(`memoryUpgradePrompt.memorySettings`)}):p.action===`settings`&&n&&m&&(h=(0,G.jsx)(t,{variant:`primary`,size:`compact`,leftIcon:(0,G.jsx)(D,{}),onClick:()=>{R(`enable_memory_clicked`),n(m)},children:r(`memoryUpgradePrompt.turnMemoryOn`)})),(0,G.jsx)(he,{title:p.title,detail:p.detail,action:h})}function Ne({value:e,onChange:t}){let{t:n}=C(`intelligence`),r=[{value:`all`,label:n(`recencyLens.all`)},{value:`month`,label:n(`recencyLens.month`)},{value:`week`,label:n(`recencyLens.week`)}];return(0,G.jsx)(x,{ariaLabel:n(`recencyLens.ariaLabel`),items:r,value:e,onChange:t,className:`!w-auto [&>*]:!flex-none`})}var Pe=`vellum:memoryGraph:introDismissed:`;function Fe(e){return`${Pe}${e}`}function Ie(e){if(!e)return!0;try{return window.localStorage.getItem(Fe(e))===`1`}catch{return!0}}function Le(e){let[t,n]=(0,I.useState)(()=>Ie(e));return(0,I.useEffect)(()=>{n(Ie(e))},[e]),[t,(0,I.useCallback)(()=>{n(!0);try{window.localStorage.setItem(Fe(e),`1`)}catch{}},[e])]}var Re=[`concept`,`skill`,`capability`,`pending`,`other`],ze=.13,Be=2600,Ve=.006,He=1.15,Ue=3,We=.32,Ge=.45,Ke=3,qe=4,Je=1440*60*1e3,Ye=14*Je,Xe=12,Ze=2*Je,Qe=80,$e=340,et=.12,tt=.05,nt=.03,rt=12,it=2600;function at(e){let t=getComputedStyle(e);return{content:t.getPropertyValue(`--content-default`).trim()||`#e5e7eb`,tertiary:t.getPropertyValue(`--content-tertiary`).trim()||`#8792a0`}}function ot(e){return e.kind===`learned`?`Learned association`:e.description??`Linked concepts`}function st(e,t,n){return t==null?!1:e==null||n-e>t}function ct(e,t){let n=t?e.get(t):void 0;return e=>t!=null&&(e===t||(n?.has(e)??!1))}function lt({assistantId:e,className:n,isFullscreen:r,onToggleFullscreen:i,onOpenThread:a,headerAction:o,handleRef:s}){let{t:c}=C(`intelligence`),l=(0,I.useRef)(null),d=(0,I.useRef)(null),f=S(u(e)),p=f.data?.kind===`ready`?f.data.graph:null,m=(0,I.useMemo)(()=>p?me(p):{nodes:[],edges:[]},[p]),h=f.data?.kind===`ready`&&m.nodes.length>0,g=(0,I.useMemo)(()=>Oe(m.nodes,m.edges),[m.nodes,m.edges]),_=(0,I.useMemo)(()=>{let e=new Map;for(let t of m.nodes){let n=g.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:ve[e%ve.length],name:n[0].label,concepts:n.map(e=>e.label),size:t.length}}).sort((e,t)=>t.size-e.size)},[g,m.nodes]),v=(0,I.useMemo)(()=>new Set(_.map(e=>e.hubId)),[_]),y=(0,I.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 m.edges)t(e.fromId,e.toId),t(e.toId,e.fromId);return e},[m.edges]),b=(0,I.useMemo)(()=>{if(m.nodes.length===0)return 1;let e=m.nodes.map(e=>{let t=e.x-L.x,n=e.y-L.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])},[m.nodes]),x=(0,I.useRef)({yaw:.5,pitch:.32,zoom:1,hoveredId:null,dragging:!1,moved:!1,lastX:0,lastY:0,lastInteractAt:-1/0,dirty:!0}),ee=(0,I.useRef)([]),te=(0,I.useRef)([]),w=(0,I.useRef)({content:`#e5e7eb`,tertiary:`#8792a0`}),T=(0,I.useRef)(null),ne=(0,I.useRef)(!1),re=(0,I.useRef)(null),E=(0,I.useRef)(null),[D,O]=(0,I.useState)(null),[oe,se]=(0,I.useState)(null),[A,j]=(0,I.useState)([]),M=A.at(-1)??null,P=(0,I.useCallback)(e=>{R(`node_opened`),j(t=>[...t,e])},[]),ue=(0,I.useRef)(null);(0,I.useEffect)(()=>{ue.current=M?.id??null,x.current.dirty=!0},[M?.id]);let[de,z]=Le(e),[B,V]=(0,I.useState)(``),[H,U]=(0,I.useState)(!1),fe=(0,I.useRef)(null);(0,I.useEffect)(()=>{H&&fe.current?.focus()},[H]);let W=(0,I.useRef)(!1),pe=B.trim().toLowerCase(),K=(0,I.useMemo)(()=>{if(!pe)return null;let e=new Set;for(let t of m.nodes)t.label.toLowerCase().includes(pe)&&e.add(t.id);return e},[pe,m.nodes]),ge=(0,I.useRef)({active:!1,matches:null});(0,I.useEffect)(()=>{ge.current={active:!!K,matches:K},x.current.dirty=!0},[K]),(0,I.useEffect)(()=>{B.trim()||(W.current=!1)},[B]);let q=(0,I.useMemo)(()=>!K||K.size===0?[]:m.nodes.filter(e=>K.has(e.id)).sort((e,t)=>t.degree-e.degree).slice(0,8),[K,m.nodes]),[J,be]=(0,I.useState)(`all`),xe=(0,I.useRef)(null);(0,I.useEffect)(()=>{xe.current=J===`week`?7*Je:J===`month`?30*Je:null,x.current.dirty=!0},[J]);let Y=(0,I.useMemo)(()=>m.nodes.some(e=>e.updatedAtMs!=null),[m.nodes]);(0,I.useEffect)(()=>{!Y&&J!==`all`&&be(`all`)},[Y,J]);let[X,Se]=(0,I.useState)({link:!0,learned:!0}),Z=(0,I.useRef)(X);(0,I.useEffect)(()=>{Z.current=X,x.current.dirty=!0},[X]),(0,I.useEffect)(()=>{V(``),be(`all`),Se({link:!0,learned:!0}),j([]),W.current=!1},[e]);let Ee=(0,I.useCallback)(()=>{let e=x.current;e.yaw=.5,e.pitch=.32,e.zoom=1,e.lastInteractAt=-1/0,e.dirty=!0,O(null)},[]),De=(0,I.useCallback)(e=>{let t=x.current;t.zoom=Math.max(Ge,Math.min(Ke,t.zoom*e)),t.lastInteractAt=performance.now(),t.dirty=!0},[]),Q=(0,I.useCallback)(e=>{T.current=e,x.current.lastInteractAt=performance.now(),x.current.dirty=!0},[]),$=(0,I.useCallback)(e=>{P(e),Q(e.id)},[P,Q]),ke=(0,I.useCallback)(e=>{re.current={id:e,start:performance.now()},Q(e),window.setTimeout(()=>{x.current.dirty=!0},it+60)},[Q]),Ae=(0,I.useCallback)(e=>{m.nodes.some(t=>t.id===e)?ke(e):E.current=e},[m.nodes,ke]);(0,I.useEffect)(()=>{let e=E.current;e&&m.nodes.some(t=>t.id===e)&&(E.current=null,ke(e))},[m.nodes,ke]),(0,I.useImperativeHandle)(s,()=>({focusNode:Ae}),[Ae]);let je=(0,I.useCallback)(()=>{j([]),V(``),O(null),T.current=null,ne.current=!0},[]),Pe=(0,I.useCallback)(e=>{V(``);let t=A.slice(0,e+1);j(t);let n=t.at(-1);n?Q(n.id):O(null)},[A,Q]),Fe=(0,I.useCallback)(e=>{V(``),$(e)},[$]),Ie=(0,I.useMemo)(()=>{let e=M?.id;if(!e)return[];let t=y.get(e);if(!t||t.size===0)return[];let n=new Map(m.nodes.map(e=>[e.id,e.label])),r=new Map;for(let t of m.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},[M?.id,y,m.nodes,m.edges]);(0,I.useEffect)(()=>{if(!h)return;let e=d.current,t=l.current;if(!e||!t)return;let n=e.getContext(`2d`);if(!n)return;let r=m.nodes,i=m.edges,a=g,o=v,s=y,c=new Set(r.map(e=>e.id)),u=b,f=window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;w.current=at(t);let p=Math.min(window.devicePixelRatio||1,2),_=0,S=0,C=()=>{let n=t.getBoundingClientRect();_=n.width,S=n.height,p=Math.min(window.devicePixelRatio||1,2),e.width=Math.max(1,Math.round(_*p)),e.height=Math.max(1,Math.round(S*p)),e.style.width=`${_}px`,e.style.height=`${S}px`,w.current=at(t),x.current.dirty=!0};C();let E=new ResizeObserver(C);E.observe(t);let D=new MutationObserver(()=>{w.current=at(t),x.current.dirty=!0});D.observe(document.documentElement,{attributes:!0,attributeFilter:[`data-theme`,`class`,`style`]});let O=0,ie=0,ae=e=>{let t=ie?Math.min(.05,(e-ie)/1e3):0;ie=e;let l=x.current,d=w.current,m=Date.now(),h=T.current;if(!l.dragging&&e-l.lastInteractAt>Be&&!f&&!h&&(l.yaw+=ze*t),h){let e=r.find(e=>e.id===h);if(!e)T.current=null;else{let t=e.x-L.x,n=e.y-L.y,r=e.z,i=-Math.atan2(t,r),a=Math.hypot(t,r),o=Math.max(-He,Math.min(He,Math.atan2(n,a))),s=Math.min(Ke,1.6),c=f?1:.15,u=i-l.yaw;u=Math.atan2(Math.sin(u),Math.cos(u)),l.yaw+=u*c,l.pitch+=(o-l.pitch)*c,l.zoom+=(s-l.zoom)*c,l.dirty=!0,Math.abs(u)<.01&&Math.abs(o-l.pitch)<.01&&Math.abs(s-l.zoom)<.02&&(T.current=null)}}if(ne.current&&!l.dragging){let e=f?1:.15;l.pitch+=(.32-l.pitch)*e,l.zoom+=(1-l.zoom)*e,l.dirty=!0,Math.abs(.32-l.pitch)<.01&&Math.abs(1-l.zoom)<.02&&(ne.current=!1)}if(f&&!l.dirty){O=requestAnimationFrame(ae);return}l.dirty=!1;let g=Math.cos(l.yaw),v=Math.sin(l.yaw),y=Math.cos(l.pitch),b=Math.sin(l.pitch),C=Ue*u,E=Math.min(_,S)*.88/(2*u)*l.zoom,D=_/2,oe=S/2;n.setTransform(p,0,0,p,0,0),n.clearRect(0,0,_,S);let k=l.hoveredId,se=k?s.get(k):void 0,A=e=>!k||e===k||(se?.has(e)??!1),j=ge.current,M=j.active,N=e=>!M||(j.matches?.has(e)??!1),ce=xe.current,P=e=>st(e.updatedAtMs,ce,m),le=Z.current,F=ue.current,I=F!=null&&c.has(F),de=ct(s,I?F:null),R=r.length<=Qe?1:Math.max(et,1-(r.length-Qe)/($e-Qe)*(1-et)),z=Array(r.length);for(let e=0;e<r.length;e++){let t=r[e],n=t.x-L.x,i=t.y-L.y,a=t.z,o=n*g+a*v,s=-n*v+a*g,c=i*y-s*b,l=i*b+s*y,d=C/(C-l);z[e]={node:t,sx:D+o*E*d,sy:oe+c*E*d,sr:Math.max(1.2,t.radius*E*d),depth:Math.max(0,Math.min(1,(l+u)/(2*u)))}}let B=z.map((e,t)=>t).sort((e,t)=>z[e].depth-z[t].depth),V=new Map;for(let e of z)V.set(e.node.id,e);let H=[];n.lineCap=`round`;for(let e of i){let t=V.get(e.fromId),r=V.get(e.toId);if(!t||!r)continue;let i=e.kind===`learned`,a=F!=null&&(e.fromId===F||e.toId===F);if(!a&&(i?!le.learned:!le.link))continue;let o=M&&(!N(e.fromId)||!N(e.toId))||!a&&(P(t.node)||P(r.node)),s=k!=null&&(e.fromId===k||e.toId===k),c=(t.depth+r.depth)/2;!o&&(!I||a)&&H.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*R:l,f;f=o?.03:I?a?.9:nt:k==null?u:s?.9:A(e.fromId)&&A(e.toId)?l:.05,n.globalAlpha=f,n.strokeStyle=i?ye:d.tertiary,n.lineWidth=(s||I&&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 B){let r=z[t],i=r.node,o=i.kind===`concept`?ve[(a.get(i.id)??0)%ve.length]:_e[i.kind],s=M&&!N(i.id),c=de(i.id),l=s||P(i)&&!c,u=I?c&&!l:!l&&A(i.id),d=i.id===k,p=We+(1-We)*r.depth,h=I&&!c?p*tt:l?p*.08:u?p:p*.18,g=(d?16:i.degree>=qe?8:4)*r.depth,_=i.updatedAtMs;if(_){let n=m-_,i=Math.max(0,1-n/Ye);if(i>0){let a=i*Xe;!f&&n<Ze&&(a*=.55+.45*Math.sin(e/420+t*1.7)),g+=a*r.depth}}n.shadowColor=o,n.shadowBlur=u?g:0;let v=i.kind===`pending`;n.globalAlpha=h*(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=h,n.lineWidth=d?2.5:1.4,n.strokeStyle=o,n.setLineDash(v?[3,3]:[]),n.stroke(),n.setLineDash([]);let y=re.current;if(y&&y.id===i.id){let t=e-y.start;if(t>it)re.current=null;else if(f)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 B){let t=z[e],r=t.node,i=de(r.id);if(M&&!N(r.id)||P(r)&&!i||!(I?i:M?t.depth>.3:k==null?o.has(r.id)||r.degree>=qe&&t.depth>.55:A(r.id)))continue;n.globalAlpha=(r.id===k||r.id===F?1:.85)*(.4+.6*t.depth),n.fillStyle=d.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,ee.current=z.map(e=>({id:e.node.id,sx:e.sx,sy:e.sy,sr:e.sr,depth:e.depth,updatedAtMs:e.node.updatedAtMs})),te.current=H,O=requestAnimationFrame(ae)};return O=requestAnimationFrame(ae),()=>{cancelAnimationFrame(O),E.disconnect(),D.disconnect()}},[h,m,y,b,g,v]);let lt=(0,I.useCallback)((e,t)=>{let n=ge.current,r=xe.current,i=ct(y,ue.current),a=Date.now(),o=null,s=-1;for(let c of ee.current){if(n.active&&!(n.matches?.has(c.id)??!1)||!i(c.id)&&st(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},[y]),ut=(0,I.useCallback)((e,t)=>{let n=null,r=1/0,i=-1;for(let a of te.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=l.current.getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}},ft=(0,I.useCallback)(e=>{if(e.button!==0||e.target.closest(`[data-graph-control]`))return;let t=x.current;T.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,I.useCallback)(e=>{let t=x.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*Ve,t.pitch=Math.max(-He,Math.min(He,t.pitch+r*Ve)),t.lastX=e.clientX,t.lastY=e.clientY,t.lastInteractAt=performance.now(),t.dirty=!0;return}let{x:n,y:r}=dt(e),i=lt(n,r);if(i!==t.hoveredId&&(t.hoveredId=i,t.dirty=!0),i)se(null);else{let e=ut(n,r);se(e?ot(e):null)}},[lt,ut]),mt=(0,I.useCallback)(e=>{let t=x.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=lt(t,n);if(r){let e=m.nodes.find(e=>e.id===r);e&&$({id:e.id,label:e.label,updatedAtMs:e.updatedAtMs})}else O(null)}},[lt,m.nodes,$]),ht=(0,I.useCallback)(()=>{let e=x.current;se(null),!(e.dragging||e.hoveredId==null)&&(e.hoveredId=null,e.dirty=!0,O(null))},[]);(0,I.useEffect)(()=>{let e=l.current;if(!e||!h)return;let t=e=>{if(e.target.closest?.(`[data-graph-panel]`))return;e.preventDefault();let t=x.current;t.zoom=Math.max(Ge,Math.min(Ke,t.zoom*(1-e.deltaY/500))),t.lastInteractAt=performance.now(),t.dirty=!0};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[h]);let gt=(0,I.useMemo)(()=>{let e=new Set(m.nodes.map(e=>e.kind));return Re.filter(t=>e.has(t))},[m.nodes]),_t=(0,I.useMemo)(()=>m.edges.some(e=>e.kind===`learned`),[m.edges]),vt=(0,I.useMemo)(()=>m.edges.some(e=>e.kind!==`learned`),[m.edges]);(0,I.useEffect)(()=>{!(vt&&_t)&&(!X.link||!X.learned)&&Se({link:!0,learned:!0})},[vt,_t,X]);let yt=f.data?.kind===`ready`&&!de,bt=m.nodes.length,xt=m.edges.length,St=new Set(g.values()).size,Ct=(e,t)=>`${e} ${t}${e===1?``:`s`}`,wt=yt?null:D??oe,Tt=h&&(m.nodes.length>rt||!!B),Et=!!(i||o)||h,Dt;return Dt=f.isLoading?(0,G.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,G.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2`,style:{borderColor:`var(--border-base)`,borderTopColor:`var(--content-tertiary)`}})}):f.isError?(0,G.jsx)(he,{title:c(`conceptGraphView.loadErrorTitle`),detail:c(`conceptGraphView.loadErrorDetail`)}):f.data?.kind===`unsupported`?(0,G.jsx)(Me,{assistantId:e,onOpenThread:a}):h?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`canvas`,{ref:d,className:`absolute inset-0 h-full w-full`}),(0,G.jsx)(Te,{nodeKinds:gt.filter(e=>e!==`concept`),coloredByTheme:gt.includes(`concept`),themes:_,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,G.jsx)(`div`,{className:`pointer-events-none absolute bottom-4 right-4 text-[11px]`,style:{color:`var(--content-tertiary)`},children:c(`conceptGraphView.dragToRotateHint`)}),p?.truncated?(0,G.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:c(`conceptGraphView.truncatedNotice`,{count:m.nodes.length})}):null,(0,G.jsxs)(`div`,{"data-graph-control":!0,className:`absolute right-4 top-4 flex flex-col gap-1`,children:[(0,G.jsx)(t,{variant:`ghost`,iconOnly:(0,G.jsx)(le,{}),onClick:()=>De(1.25),"aria-label":c(`conceptGraphView.zoomInAriaLabel`),tooltip:c(`conceptGraphView.zoomInAriaLabel`)}),(0,G.jsx)(t,{variant:`ghost`,iconOnly:(0,G.jsx)(ce,{}),onClick:()=>De(.8),"aria-label":c(`conceptGraphView.zoomOutAriaLabel`),tooltip:c(`conceptGraphView.zoomOutAriaLabel`)}),(0,G.jsx)(t,{variant:`ghost`,iconOnly:(0,G.jsx)(ae,{}),onClick:Ee,"aria-label":c(`conceptGraphView.resetViewAriaLabel`),tooltip:c(`conceptGraphView.resetViewAriaLabel`)})]})]}):(0,G.jsx)(he,{title:c(`conceptGraphView.emptyTitle`),detail:c(`conceptGraphView.emptyDetail`)}),(0,G.jsxs)(`div`,{className:`@container flex select-none flex-col overflow-hidden rounded-xl ${n??``}`,style:{backgroundColor:`var(--surface-base)`},children:[Et?(0,G.jsxs)(`div`,{className:`flex h-12 flex-none items-center gap-2 px-3`,style:{borderBottom:`1px solid var(--border-base)`},children:[i?(0,G.jsx)(t,{variant:`ghost`,iconOnly:r?(0,G.jsx)(ie,{}):(0,G.jsx)(k,{}),onClick:i,"aria-label":c(r?`conceptGraphView.exitFullscreenAriaLabel`:`conceptGraphView.enterFullscreenAriaLabel`),tooltip:c(r?`conceptGraphView.exitFullscreenAriaLabel`:`conceptGraphView.enterFullscreenAriaLabel`)}):null,Tt?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(t,{variant:`ghost`,iconOnly:(0,G.jsx)(F,{}),onClick:()=>U(!0),"aria-label":c(`conceptGraphView.searchConceptsAriaLabel`),tooltip:c(`conceptGraphView.searchConceptsAriaLabel`),className:H?`hidden`:`@2xl:hidden`}),(0,G.jsxs)(`div`,{className:`relative ${H?``:`hidden @2xl:block`}`,children:[(0,G.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,G.jsx)(F,{size:14,"aria-hidden":!0,style:{color:`var(--content-tertiary)`}}),(0,G.jsx)(`input`,{ref:fe,type:`text`,value:B,onChange:e=>{let t=e.target.value;t.trim()&&!W.current&&(R(`search`),W.current=!0),V(t)},onKeyDown:e=>{e.key===`Escape`?(B||H)&&(e.preventDefault(),e.stopPropagation(),V(``),U(!1)):e.key===`Enter`&&q.length>0&&(e.preventDefault(),Q(q[0].id))},placeholder:c(`conceptGraphView.searchConceptsPlaceholder`),"aria-label":c(`conceptGraphView.searchConceptsAriaLabel`),className:`w-36 bg-transparent text-[12px] outline-none placeholder:text-[var(--content-tertiary)]`,style:{color:`var(--content-default)`}}),B?(0,G.jsx)(`span`,{className:`text-[11px] tabular-nums`,style:{color:`var(--content-tertiary)`},children:K?.size??0}):null,B||H?(0,G.jsx)(`button`,{type:`button`,onClick:()=>{V(``),U(!1)},"aria-label":c(`conceptGraphView.clearSearchAriaLabel`),className:`flex items-center`,style:{color:`var(--content-tertiary)`},children:(0,G.jsx)(N,{size:13})}):null]}),B&&q.length>0?(0,G.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:q.map(e=>(0,G.jsx)(`li`,{children:(0,G.jsx)(`button`,{type:`button`,onClick:()=>{$({id:e.id,label:e.label,updatedAtMs:e.updatedAtMs}),V(``),U(!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,G.jsx)(`div`,{className:`pointer-events-none mx-auto min-w-0`,children:wt?(0,G.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}):h&&!yt&&!H?(0,G.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,G.jsxs)(`span`,{className:`@max-md:hidden`,children:[Ct(bt,`neuron`),` · `,Ct(xt,`synapse`),` ·`,` `,Ct(St,`lobe`)]}),(0,G.jsxs)(`span`,{className:`hidden @max-md:inline`,children:[bt,` · `,xt,` · `,St]})]}):null}),o?(0,G.jsx)(`div`,{className:`flex-none`,children:o}):null]}):null,(0,G.jsxs)(`div`,{ref:l,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:h?`grab`:`default`},onPointerDown:h?ft:void 0,onPointerMove:h?pt:void 0,onPointerUp:h?mt:void 0,onPointerCancel:h?mt:void 0,onPointerLeave:h?ht:void 0,children:[Dt,(0,G.jsxs)(`div`,{className:`pointer-events-none absolute left-4 right-16 top-4 z-10 flex flex-col items-start gap-3`,children:[h&&(m.nodes.length>rt||J!==`all`)&&Y?(0,G.jsx)(`div`,{"data-graph-control":!0,className:`pointer-events-auto`,children:(0,G.jsx)(Ne,{value:J,onChange:be})}):null,yt?(0,G.jsx)(we,{onDismiss:z}):null]}),h&&M?(0,G.jsx)(Ce,{assistantId:e,node:M,trail:A,neighbors:Ie,onTravel:Fe,onCrumb:Pe,onClose:je,onOpenThread:a}):null]})]})}async function ut(e,t){let{data:n}=await b({path:{assistant_id:e},body:{content:t},throwOnError:!0});return n}function dt({open:e,onOpenChange:n,assistantId:r,onCreated:o}){let{t:s}=C(`intelligence`),c=T(),[l,d]=(0,I.useState)(``),[f,h]=(0,I.useState)(!1),_=(0,I.useCallback)(async()=>{let e=l.trim();if(e){h(!0);try{let t=await ut(r,e);if(!t.success){m.error(t.message||s(`createMemoryModal.saveError`));return}m.success(t.pendingNodeId?s(`createMemoryModal.savedFoundToast`):s(`createMemoryModal.savedPendingToast`)),d(``),n(!1),o?.(t.pendingNodeId),await Promise.all([c.invalidateQueries({queryKey:u(r).queryKey}),c.invalidateQueries({queryKey:a(r).queryKey})])}catch(e){let t=e instanceof Error?e.message:s(`createMemoryModal.createError`);m.error(t)}finally{h(!1)}}},[r,l,n,o,c,s]);return(0,G.jsx)(p.Root,{open:e,onOpenChange:n,children:(0,G.jsxs)(p.Content,{size:`sm`,children:[(0,G.jsx)(p.Header,{children:(0,G.jsx)(p.Title,{children:s(`createMemoryModal.title`)})}),(0,G.jsx)(p.Body,{children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,G.jsx)(g,{label:s(`createMemoryModal.contentLabel`),placeholder:s(`createMemoryModal.contentPlaceholder`),value:l,onChange:e=>d(e.target.value),disabled:f,rows:3,fullWidth:!0}),(0,G.jsx)(i,{as:`p`,variant:`body-medium-lighter`,className:`text-(--content-secondary)`,children:s(`createMemoryModal.helperText`)})]})}),(0,G.jsxs)(p.Footer,{children:[(0,G.jsx)(p.Close,{asChild:!0,children:(0,G.jsx)(t,{variant:`outlined`,disabled:f,children:s(`createMemoryModal.cancel`)})}),(0,G.jsx)(t,{variant:`primary`,onClick:_,disabled:f||!l.trim(),loading:f,children:s(f?`createMemoryModal.creating`:`createMemoryModal.create`)})]})]})})}function ft({onOpenThread:e}){let{t:n}=C(`intelligence`),r=l(),[i,o]=(0,I.useState)(!1),s=(0,I.useRef)(null),c=S(u(r)),d=S(a(r)),f=c.data?.kind===`ready`&&d.data?.kind===`ready`,p=(0,I.useRef)(!1);return(0,I.useEffect)(()=>{p.current||(p.current=!0,R(`opened`))},[]),(0,G.jsxs)(`div`,{className:`relative flex h-full min-h-0 flex-col`,children:[(0,G.jsx)(lt,{assistantId:r,className:`h-full w-full`,onOpenThread:e,handleRef:s,headerAction:f?(0,G.jsx)(t,{variant:`primary`,size:`compact`,leftIcon:(0,G.jsx)(se,{}),onClick:()=>o(!0),children:n(`memoryPage.createMemory`)}):void 0}),f?(0,G.jsx)(dt,{open:i,onOpenChange:o,assistantId:r,onCreated:e=>{e&&s.current?.focusNode(e)}}):null]})}function pt(){let e=ne();return(0,G.jsx)(ft,{onOpenThread:t=>{R(`chat_from_node`),y(e,{prompt:t})}},l())}export{pt as MemoryPageRoute};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$p as t,BC as n,Ha as r,Oh as i,Qp as a,W as o,ry as s,wp as c,xv as l}from"./app-KRIEMzuO.js";import{$n as u,E as d,O as f,Xn as p,j as m}from"./vendor-DLH51Vjf.js";import{t as h,x as g}from"./react-B9IgSVeK.js";var _=e(g(),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 s({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 p({mutationFn:async t=>{if(!e)throw new v(0,`Missing assistantId`);return y(e,t)}})}function S(e){return u({...c({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4})}function C(e){return u({...t({path:{assistant_id:e}}),enabled:!!e,staleTime:1440*60*1e3})}function ee(e){return u({...a({path:{assistant_id:e}}),enabled:!!e,staleTime:1/0})}var w=h();function T(){let{t:e}=d(`chat`),t=r(),n=i(),a=l.use.memoryRouterPlayground();return n?(0,w.jsx)($,{children:e(`memoryRouterPlaygroundPage.loading`)}):!t||!a?(0,w.jsx)($,{children:e(`memoryRouterPlaygroundPage.notAvailable`)}):(0,w.jsx)(D,{})}var E={tier1:``,tier2:``,batch:``,profile:``,customPrompt:``};function D(){let{t:e}=d(`chat`),t=o(),n=x(t),r=x(t),i=S(t),a=C(t),s=ee(t),[c,l]=(0,_.useState)(``),[u,f]=(0,_.useState)([{assistantMessage:``,userMessage:``}]),[p,m]=(0,_.useState)(!1);(0,_.useEffect)(()=>{if(p)return;let e=s.data?.nowText;typeof e==`string`&&c===``&&l(e)},[s.data?.nowText,c,p]);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:f}),(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:a.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:a.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,t){let n=t.trim();if(n===``)return{};if(n===`null`)return{[e]:null};let r=Number(n);if(!Number.isInteger(r)||r<1)throw Error(m(`chat:memoryRouterPlaygroundPage.overrideMustBePositiveInteger`,{fieldName:e,value:n}));return{[e]:r}}function A(){let{t:e}=d(`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)(f,{ns:`chat`,i18nKey:`memoryRouterPlaygroundPage.description`,components:{code:(0,w.jsx)(`code`,{})}})})]})}function j({nowText:e,onNowTextChange:t,onReloadNowText:r,nowTextLoading:i,pairs:a,onPairsChange:o}){let{t:s}=d(`chat`),c=(e,t)=>{o(a.map((n,r)=>r===e?{...n,...t}:n))},l=()=>{o([{assistantMessage:``,userMessage:``},...a])},u=e=>{e!==a.length-1&&o(a.filter((t,n)=>n!==e))};return(0,w.jsx)(n,{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(i?`memoryRouterPlaygroundPage.nowLoadingPlaceholder`:`memoryRouterPlaygroundPage.nowDefaultPlaceholder`),trailing:(0,w.jsx)(`button`,{type:`button`,onClick:r,disabled:i,className:`rounded px-2 py-1 text-label-medium-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:i?`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-medium-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-medium-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:`pointer`},children:s(`memoryRouterPlaygroundPage.addOlderPairButton`)})]}),a.map((e,t)=>{let n=t===a.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-medium-default`,style:{color:`var(--content-secondary)`},children:[s(`memoryRouterPlaygroundPage.pairLabel`,{index:t+1,total:a.length}),n?s(`memoryRouterPlaygroundPage.pairMostRecentSuffix`):``]}),!n&&(0,w.jsx)(`button`,{type:`button`,onClick:()=>u(t),className:`rounded px-2 py-1 text-label-medium-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&&a.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-medium-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:r,onRun:i,canRun:a,isRunning:o,profiles:s,activeProfile:c,defaultPromptTemplate:l}){let{t:u}=d(`chat`);return(0,w.jsx)(n,{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=>r({...t,tier1:e})}),(0,w.jsx)(I,{paneId:e,label:`tier2_size`,value:t.tier2,onChange:e=>r({...t,tier2:e})}),(0,w.jsx)(I,{paneId:e,label:`batch_size`,value:t.batch,onChange:e=>r({...t,batch:e})})]}),(0,w.jsx)(F,{paneId:e,value:t.profile,onChange:e=>r({...t,profile:e}),profiles:s,activeProfile:c}),(0,w.jsx)(P,{paneId:e,value:t.customPrompt,onChange:e=>r({...t,customPrompt:e}),defaultTemplate:l}),(0,w.jsx)(`div`,{className:`flex justify-end`,children:(0,w.jsx)(`button`,{type:`button`,onClick:i,disabled:!a,className:`rounded-md px-4 py-2 text-body-medium-default transition-colors`,style:{background:a?`var(--system-positive-strong)`:`var(--surface-overlay)`,color:a?`var(--aux-white)`:`var(--content-disabled)`,border:`none`,cursor:a?`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}=d(`chat`),[a,o]=(0,_.useState)(!1),s=`memory-router-playground-${e}-prompt`,c=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:()=>o(e=>!e),"aria-expanded":a,className:`text-label-medium-default`,style:{color:`var(--content-secondary)`,background:`transparent`,border:`none`,padding:0,cursor:`pointer`,textAlign:`left`},children:[a?`▾`:`▸`,` `,i(`memoryRouterPlaygroundPage.systemPrompt`),` `,(0,w.jsxs)(`span`,{style:{color:`var(--content-tertiary)`},children:[`(`,i(c?`memoryRouterPlaygroundPage.promptModeCustom`:`memoryRouterPlaygroundPage.promptModeBundled`),`)`]})]}),a&&(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-medium-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:!c,className:`rounded px-2 py-1 text-label-medium-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:c?`pointer`:`not-allowed`},children:i(`memoryRouterPlaygroundPage.reset`)})]})]}),a&&(0,w.jsx)(`textarea`,{id:s,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:a}=d(`chat`),o=`memory-router-playground-${e}-profile`,s=i!==null&&i.length>0?a(`memoryRouterPlaygroundPage.inheritActiveWithProfile`,{profile:i}):a(`memoryRouterPlaygroundPage.inheritActive`);return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsx)(`label`,{htmlFor:o,className:`text-label-medium-default`,style:{color:`var(--content-secondary)`},children:a(`memoryRouterPlaygroundPage.llmProfilesOverride`)}),(0,w.jsxs)(`select`,{id:o,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:s}),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}=d(`chat`),a=`memory-router-playground-${e}-${t}`;return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsx)(`label`,{htmlFor:a,className:`text-label-medium-default`,style:{color:`var(--content-secondary)`},children:t}),(0,w.jsx)(`input`,{id:a,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}=d(`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-inset)`,border:`none`,cursor:t?`not-allowed`:`pointer`},children:r(n?`memoryRouterPlaygroundPage.running`:`memoryRouterPlaygroundPage.runBoth`)})}function ne({visible:e}){let{t}=d(`chat`);return e?(0,w.jsxs)(`div`,{className:`flex flex-wrap items-center gap-4 rounded-md px-4 py-2 text-label-medium-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:a}=d(`chat`),o=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:a(`memoryRouterPlaygroundPage.failedToRunSimulation`)}),o!==void 0&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(H,{paneId:e,userMessage:t,result:o.response,otherResult:r}),(0,w.jsx)(z,{paneId:e,rawRequest:o.rawRequest,rawResponse:o.rawResponse})]})]})}function z({paneId:e,rawRequest:t,rawResponse:r}){let{t:i}=d(`chat`),[a,o]=(0,_.useState)(!1);return(0,w.jsx)(n,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-2 p-4`,children:[(0,w.jsxs)(`button`,{type:`button`,onClick:()=>o(e=>!e),"aria-expanded":a,className:`text-label-medium-default`,style:{color:`var(--content-secondary)`,background:`transparent`,border:`none`,padding:0,cursor:`pointer`,textAlign:`left`},children:[a?`▾`:`▸`,` `,i(`memoryRouterPlaygroundPage.rawApiExchange`)]}),a&&(0,w.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,w.jsx)(B,{label:i(`memoryRouterPlaygroundPage.requestLabel`,{paneId:e}),body:t}),(0,w.jsx)(B,{label:i(`memoryRouterPlaygroundPage.responseLabel`,{paneId:e}),body:r})]})]})})}function B({label:e,body:t}){let{t:n}=d(`chat`);return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsx)(`span`,{className:`text-label-medium-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}=d(`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}=d(`chat`),a=(0,_.useMemo)(()=>U(n,r),[n,r]),o=(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(a),[a])}),(0,w.jsx)(K,{result:n}),n.failureReason!==null&&(0,w.jsx)(Q,{message:i(`memoryRouterPlaygroundPage.routerFailure`,{reason:n.failureReason})}),o.length===0?(0,w.jsx)(ae,{}):o.map(t=>(0,w.jsx)(ie,{paneId:e,source:t.source,slugs:t.slugs,scores:n.scores,diff:a},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:r,counts:i}){let{t:a}=d(`chat`),o=[{label:a(`memoryRouterPlaygroundPage.summaryUserMessageLabel`),value:t},{label:a(`memoryRouterPlaygroundPage.totalCandidatePagesLabel`),value:e.totalCandidatePages.toLocaleString()},{label:a(`memoryRouterPlaygroundPage.selectedLabel`),value:a(`memoryRouterPlaygroundPage.selectedValue`,{count:e.selectedSlugs.length,maxPageIds:e.effectiveConfig.max_page_ids})}];return r!==void 0&&o.push({label:a(`memoryRouterPlaygroundPage.diffLabel`),value:a(`memoryRouterPlaygroundPage.diffValue`,{shared:i.shared,unique:i.unique})}),(0,w.jsx)(n,{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:a(`memoryRouterPlaygroundPage.summary`)}),(0,w.jsx)(Z,{rows:o})]})})}function K({result:e}){let{t}=d(`chat`),r=[`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 r.push({label:t(`memoryRouterPlaygroundPage.llmProfilesOverride`),value:e.profileOverride===null?t(`memoryRouterPlaygroundPage.inheritActive`):`${e.profileOverride}${t(`memoryRouterPlaygroundPage.overrideSuffix`)}`}),r.push({label:t(`memoryRouterPlaygroundPage.systemPromptConfigLabel`),value:e.routerPromptOverridden?t(`memoryRouterPlaygroundPage.promptModeCustom`):t(`memoryRouterPlaygroundPage.promptModeBundled`)}),(0,w.jsx)(n,{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:r})]})})}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:r,scores:i,diff:a}){let{t:o}=d(`chat`);return(0,w.jsx)(n,{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-medium-default`,style:{color:`var(--content-secondary)`},children:o(`memoryRouterPlaygroundPage.pageCount`,{count:r.length})})]}),(0,w.jsx)(`ul`,{className:`flex flex-col gap-1`,children:r.map(n=>{let{color:r,marker:s}=re(e,a.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:r},children:s}),(0,w.jsx)(`code`,{className:`text-body-medium-default`,style:{color:r},children:n})]}),t===`tier2`&&(0,w.jsx)(`span`,{className:`tabular-nums text-label-medium-default`,style:{color:`var(--content-secondary)`},children:o(`memoryRouterPlaygroundPage.emaScore`,{score:(i[n]??0).toFixed(3)})})]},n)})})]})})}function ae(){let{t:e}=d(`chat`);return(0,w.jsx)(n,{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-body-small-lighter`,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-medium-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-medium-default`,style:{color:`var(--content-tertiary)`},children:e})}export{T as MemoryRouterPlaygroundPage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$p as t,BC as n,Ha as r,Oh as i,Qp as a,W as o,ry as s,wp as c,xv as l}from"./app-BEoekemj.js";import{$n as u,E as d,O as f,Xn as p,j as m}from"./vendor-cVd2QlFV.js";import{t as h,x as g}from"./react-B9IgSVeK.js";var _=e(g(),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 s({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 p({mutationFn:async t=>{if(!e)throw new v(0,`Missing assistantId`);return y(e,t)}})}function S(e){return u({...c({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4})}function C(e){return u({...t({path:{assistant_id:e}}),enabled:!!e,staleTime:1440*60*1e3})}function ee(e){return u({...a({path:{assistant_id:e}}),enabled:!!e,staleTime:1/0})}var w=h();function T(){let{t:e}=d(`chat`),t=r(),n=i(),a=l.use.memoryRouterPlayground();return n?(0,w.jsx)($,{children:e(`memoryRouterPlaygroundPage.loading`)}):!t||!a?(0,w.jsx)($,{children:e(`memoryRouterPlaygroundPage.notAvailable`)}):(0,w.jsx)(D,{})}var E={tier1:``,tier2:``,batch:``,profile:``,customPrompt:``};function D(){let{t:e}=d(`chat`),t=o(),n=x(t),r=x(t),i=S(t),a=C(t),s=ee(t),[c,l]=(0,_.useState)(``),[u,f]=(0,_.useState)([{assistantMessage:``,userMessage:``}]),[p,m]=(0,_.useState)(!1);(0,_.useEffect)(()=>{if(p)return;let e=s.data?.nowText;typeof e==`string`&&c===``&&l(e)},[s.data?.nowText,c,p]);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:f}),(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:a.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:a.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,t){let n=t.trim();if(n===``)return{};if(n===`null`)return{[e]:null};let r=Number(n);if(!Number.isInteger(r)||r<1)throw Error(m(`chat:memoryRouterPlaygroundPage.overrideMustBePositiveInteger`,{fieldName:e,value:n}));return{[e]:r}}function A(){let{t:e}=d(`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)(f,{ns:`chat`,i18nKey:`memoryRouterPlaygroundPage.description`,components:{code:(0,w.jsx)(`code`,{})}})})]})}function j({nowText:e,onNowTextChange:t,onReloadNowText:r,nowTextLoading:i,pairs:a,onPairsChange:o}){let{t:s}=d(`chat`),c=(e,t)=>{o(a.map((n,r)=>r===e?{...n,...t}:n))},l=()=>{o([{assistantMessage:``,userMessage:``},...a])},u=e=>{e!==a.length-1&&o(a.filter((t,n)=>n!==e))};return(0,w.jsx)(n,{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(i?`memoryRouterPlaygroundPage.nowLoadingPlaceholder`:`memoryRouterPlaygroundPage.nowDefaultPlaceholder`),trailing:(0,w.jsx)(`button`,{type:`button`,onClick:r,disabled:i,className:`rounded px-2 py-1 text-label-medium-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:i?`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-medium-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-medium-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:`pointer`},children:s(`memoryRouterPlaygroundPage.addOlderPairButton`)})]}),a.map((e,t)=>{let n=t===a.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-medium-default`,style:{color:`var(--content-secondary)`},children:[s(`memoryRouterPlaygroundPage.pairLabel`,{index:t+1,total:a.length}),n?s(`memoryRouterPlaygroundPage.pairMostRecentSuffix`):``]}),!n&&(0,w.jsx)(`button`,{type:`button`,onClick:()=>u(t),className:`rounded px-2 py-1 text-label-medium-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&&a.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-medium-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:r,onRun:i,canRun:a,isRunning:o,profiles:s,activeProfile:c,defaultPromptTemplate:l}){let{t:u}=d(`chat`);return(0,w.jsx)(n,{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=>r({...t,tier1:e})}),(0,w.jsx)(I,{paneId:e,label:`tier2_size`,value:t.tier2,onChange:e=>r({...t,tier2:e})}),(0,w.jsx)(I,{paneId:e,label:`batch_size`,value:t.batch,onChange:e=>r({...t,batch:e})})]}),(0,w.jsx)(F,{paneId:e,value:t.profile,onChange:e=>r({...t,profile:e}),profiles:s,activeProfile:c}),(0,w.jsx)(P,{paneId:e,value:t.customPrompt,onChange:e=>r({...t,customPrompt:e}),defaultTemplate:l}),(0,w.jsx)(`div`,{className:`flex justify-end`,children:(0,w.jsx)(`button`,{type:`button`,onClick:i,disabled:!a,className:`rounded-md px-4 py-2 text-body-medium-default transition-colors`,style:{background:a?`var(--system-positive-strong)`:`var(--surface-overlay)`,color:a?`var(--aux-white)`:`var(--content-disabled)`,border:`none`,cursor:a?`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}=d(`chat`),[a,o]=(0,_.useState)(!1),s=`memory-router-playground-${e}-prompt`,c=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:()=>o(e=>!e),"aria-expanded":a,className:`text-label-medium-default`,style:{color:`var(--content-secondary)`,background:`transparent`,border:`none`,padding:0,cursor:`pointer`,textAlign:`left`},children:[a?`▾`:`▸`,` `,i(`memoryRouterPlaygroundPage.systemPrompt`),` `,(0,w.jsxs)(`span`,{style:{color:`var(--content-tertiary)`},children:[`(`,i(c?`memoryRouterPlaygroundPage.promptModeCustom`:`memoryRouterPlaygroundPage.promptModeBundled`),`)`]})]}),a&&(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-medium-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:!c,className:`rounded px-2 py-1 text-label-medium-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:c?`pointer`:`not-allowed`},children:i(`memoryRouterPlaygroundPage.reset`)})]})]}),a&&(0,w.jsx)(`textarea`,{id:s,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:a}=d(`chat`),o=`memory-router-playground-${e}-profile`,s=i!==null&&i.length>0?a(`memoryRouterPlaygroundPage.inheritActiveWithProfile`,{profile:i}):a(`memoryRouterPlaygroundPage.inheritActive`);return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsx)(`label`,{htmlFor:o,className:`text-label-medium-default`,style:{color:`var(--content-secondary)`},children:a(`memoryRouterPlaygroundPage.llmProfilesOverride`)}),(0,w.jsxs)(`select`,{id:o,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:s}),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}=d(`chat`),a=`memory-router-playground-${e}-${t}`;return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsx)(`label`,{htmlFor:a,className:`text-label-medium-default`,style:{color:`var(--content-secondary)`},children:t}),(0,w.jsx)(`input`,{id:a,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}=d(`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-inset)`,border:`none`,cursor:t?`not-allowed`:`pointer`},children:r(n?`memoryRouterPlaygroundPage.running`:`memoryRouterPlaygroundPage.runBoth`)})}function ne({visible:e}){let{t}=d(`chat`);return e?(0,w.jsxs)(`div`,{className:`flex flex-wrap items-center gap-4 rounded-md px-4 py-2 text-label-medium-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:a}=d(`chat`),o=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:a(`memoryRouterPlaygroundPage.failedToRunSimulation`)}),o!==void 0&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(H,{paneId:e,userMessage:t,result:o.response,otherResult:r}),(0,w.jsx)(z,{paneId:e,rawRequest:o.rawRequest,rawResponse:o.rawResponse})]})]})}function z({paneId:e,rawRequest:t,rawResponse:r}){let{t:i}=d(`chat`),[a,o]=(0,_.useState)(!1);return(0,w.jsx)(n,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-2 p-4`,children:[(0,w.jsxs)(`button`,{type:`button`,onClick:()=>o(e=>!e),"aria-expanded":a,className:`text-label-medium-default`,style:{color:`var(--content-secondary)`,background:`transparent`,border:`none`,padding:0,cursor:`pointer`,textAlign:`left`},children:[a?`▾`:`▸`,` `,i(`memoryRouterPlaygroundPage.rawApiExchange`)]}),a&&(0,w.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,w.jsx)(B,{label:i(`memoryRouterPlaygroundPage.requestLabel`,{paneId:e}),body:t}),(0,w.jsx)(B,{label:i(`memoryRouterPlaygroundPage.responseLabel`,{paneId:e}),body:r})]})]})})}function B({label:e,body:t}){let{t:n}=d(`chat`);return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsx)(`span`,{className:`text-label-medium-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}=d(`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}=d(`chat`),a=(0,_.useMemo)(()=>U(n,r),[n,r]),o=(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(a),[a])}),(0,w.jsx)(K,{result:n}),n.failureReason!==null&&(0,w.jsx)(Q,{message:i(`memoryRouterPlaygroundPage.routerFailure`,{reason:n.failureReason})}),o.length===0?(0,w.jsx)(ae,{}):o.map(t=>(0,w.jsx)(ie,{paneId:e,source:t.source,slugs:t.slugs,scores:n.scores,diff:a},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:r,counts:i}){let{t:a}=d(`chat`),o=[{label:a(`memoryRouterPlaygroundPage.summaryUserMessageLabel`),value:t},{label:a(`memoryRouterPlaygroundPage.totalCandidatePagesLabel`),value:e.totalCandidatePages.toLocaleString()},{label:a(`memoryRouterPlaygroundPage.selectedLabel`),value:a(`memoryRouterPlaygroundPage.selectedValue`,{count:e.selectedSlugs.length,maxPageIds:e.effectiveConfig.max_page_ids})}];return r!==void 0&&o.push({label:a(`memoryRouterPlaygroundPage.diffLabel`),value:a(`memoryRouterPlaygroundPage.diffValue`,{shared:i.shared,unique:i.unique})}),(0,w.jsx)(n,{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:a(`memoryRouterPlaygroundPage.summary`)}),(0,w.jsx)(Z,{rows:o})]})})}function K({result:e}){let{t}=d(`chat`),r=[`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 r.push({label:t(`memoryRouterPlaygroundPage.llmProfilesOverride`),value:e.profileOverride===null?t(`memoryRouterPlaygroundPage.inheritActive`):`${e.profileOverride}${t(`memoryRouterPlaygroundPage.overrideSuffix`)}`}),r.push({label:t(`memoryRouterPlaygroundPage.systemPromptConfigLabel`),value:e.routerPromptOverridden?t(`memoryRouterPlaygroundPage.promptModeCustom`):t(`memoryRouterPlaygroundPage.promptModeBundled`)}),(0,w.jsx)(n,{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:r})]})})}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:r,scores:i,diff:a}){let{t:o}=d(`chat`);return(0,w.jsx)(n,{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-medium-default`,style:{color:`var(--content-secondary)`},children:o(`memoryRouterPlaygroundPage.pageCount`,{count:r.length})})]}),(0,w.jsx)(`ul`,{className:`flex flex-col gap-1`,children:r.map(n=>{let{color:r,marker:s}=re(e,a.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:r},children:s}),(0,w.jsx)(`code`,{className:`text-body-medium-default`,style:{color:r},children:n})]}),t===`tier2`&&(0,w.jsx)(`span`,{className:`tabular-nums text-label-medium-default`,style:{color:`var(--content-secondary)`},children:o(`memoryRouterPlaygroundPage.emaScore`,{score:(i[n]??0).toFixed(3)})})]},n)})})]})})}function ae(){let{t:e}=d(`chat`);return(0,w.jsx)(n,{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-body-small-lighter`,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-medium-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-medium-default`,style:{color:`var(--content-tertiary)`},children:e})}export{T as MemoryRouterPlaygroundPage};
@@ -1 +1 @@
1
- import{Kn as e,Rt as t,Un as n,ot as r,qn as i}from"./app-KRIEMzuO.js";import{E as a}from"./vendor-DLH51Vjf.js";import{t as o}from"./react-B9IgSVeK.js";import{in as s}from"./icons-C0wyat6T.js";var c=[];function l(e){let t=r(e);return t?t.attachments??c:null}var u=o();function d({payload:r,onClose:o}){let{t:c}=a(`chat`),{displayAttachments:d,renderSquare:f,previewModal:p}=t({attachments:l(r.messageId)??r.attachments,assistantId:r.assistantId});return(0,u.jsxs)(n,{Glyph:s,titleNode:(0,u.jsx)(i,{title:c(`messageFilesPanel.title`),count:d.length}),closeLabel:c(`messageFilesPanel.closeAria`),onClose:o,children:[d.length===0?(0,u.jsx)(e,{placement:`panel`,children:c(`messageFilesPanel.empty`)}):(0,u.jsx)(`div`,{className:`flex flex-wrap items-start gap-3`,children:d.map((e,t)=>f(e,t))}),p]})}export{d as MessageFilesPanel};
1
+ import{Kn as e,Rt as t,Un as n,ot as r,qn as i}from"./app-BEoekemj.js";import{E as a}from"./vendor-cVd2QlFV.js";import{t as o}from"./react-B9IgSVeK.js";import{in as s}from"./icons-C0wyat6T.js";var c=[];function l(e){let t=r(e);return t?t.attachments??c:null}var u=o();function d({payload:r,onClose:o}){let{t:c}=a(`chat`),{displayAttachments:d,renderSquare:f,previewModal:p}=t({attachments:l(r.messageId)??r.attachments,assistantId:r.assistantId});return(0,u.jsxs)(n,{Glyph:s,titleNode:(0,u.jsx)(i,{title:c(`messageFilesPanel.title`),count:d.length}),closeLabel:c(`messageFilesPanel.closeAria`),onClose:o,children:[d.length===0?(0,u.jsx)(e,{placement:`panel`,children:c(`messageFilesPanel.empty`)}):(0,u.jsx)(`div`,{className:`flex flex-wrap items-start gap-3`,children:d.map((e,t)=>f(e,t))}),p]})}export{d as MessageFilesPanel};
@@ -0,0 +1 @@
1
+ import{hC as e}from"./app-BEoekemj.js";function t(t){return n=>{e.error(n instanceof Error?n.message:t)}}export{t};
@@ -0,0 +1 @@
1
+ import{et as e}from"./app-BEoekemj.js";export{e as filesFromNativePaths};
@@ -0,0 +1 @@
1
+ import{Ir as e}from"./app-BEoekemj.js";export{e as saveFile};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,AS as n,BC as r,Cc as i,Eg as a,Ng as o,PC as s,Sc as c,Tc as l,_f as u,wc as d,xS as f}from"./app-KRIEMzuO.js";import{E as p,w as m,x as h}from"./vendor-DLH51Vjf.js";import{r as g,t as _,x as v}from"./react-B9IgSVeK.js";import{Ta as y,Zr as b}from"./icons-C0wyat6T.js";var x=e(v(),1),S=m(`AndroidNotificationSettings`);function C(){return a()&&h.isPluginAvailable(`AndroidNotificationSettings`)}async function w(){if(C())try{await S.open()}catch(e){n(e,{context:`android_notification_settings_open`,level:`warning`})}}var T=_();function E(){let{t:e}=p(`settings`),n=C(),[i,a]=(0,x.useState)(null);(0,x.useEffect)(()=>{c().then(a)},[]),u(`app.resume`,({signal:e})=>{e!==`online`&&d().then(a)});let o;switch(i){case`granted`:o={description:e(`androidNotificationSettingsCard.grantedDescription`),label:e(`androidNotificationSettingsCard.grantedLabel`),tone:`positive`};break;case`denied`:o={description:e(`androidNotificationSettingsCard.deniedDescription`),label:e(`androidNotificationSettingsCard.deniedLabel`),tone:`negative`};break;case`prompt`:o={description:e(`androidNotificationSettingsCard.promptDescription`),label:e(`androidNotificationSettingsCard.promptLabel`),tone:`warning`};break;case`unsupported`:o={description:e(`androidNotificationSettingsCard.unsupportedDescription`),label:e(`androidNotificationSettingsCard.unsupportedLabel`),tone:`neutral`};break;default:o={description:e(`androidNotificationSettingsCard.checkingDescription`),label:e(`androidNotificationSettingsCard.checkingLabel`),tone:`neutral`};break}return(0,T.jsx)(r,{padding:`lg`,children:(0,T.jsxs)(`div`,{className:`flex flex-col gap-5 sm:flex-row sm:items-center sm:justify-between`,children:[(0,T.jsxs)(`div`,{className:`flex min-w-0 items-start gap-4`,children:[(0,T.jsx)(`span`,{className:`flex size-11 shrink-0 items-center justify-center rounded-xl bg-[var(--surface-base)] text-[var(--content-secondary)]`,children:(0,T.jsx)(y,{className:`size-5`,"aria-hidden":!0})}),(0,T.jsxs)(`div`,{className:`min-w-0`,children:[(0,T.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,T.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`androidNotificationSettingsCard.title`)}),(0,T.jsx)(s,{tone:o.tone,children:o.label})]}),(0,T.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-secondary)]`,children:o.description})]})]}),n&&(0,T.jsx)(t,{variant:`outlined`,onClick:()=>void w(),disabled:i===null,rightIcon:(0,T.jsx)(b,{"aria-hidden":!0}),className:`self-start sm:self-auto`,children:e(`androidNotificationSettingsCard.openSettings`)})]})})}function D(){let{t:e}=p(`settings`),[n,i]=(0,x.useState)(null),[a,o]=(0,x.useState)(!1),s=()=>{d().then(i)};(0,x.useEffect)(s,[]),u(`app.resume`,s),u(`app.attention`,({attended:e})=>{e&&s()});let c=()=>{o(!0),l().then(e=>{i(e),o(!1)})},f=e(n===`granted`?`browserNotificationSettingsCard.grantedDescription`:n===`denied`?`browserNotificationSettingsCard.deniedDescription`:n===`unsupported`?`browserNotificationSettingsCard.unsupportedDescription`:n===`prompt`?`browserNotificationSettingsCard.promptDescription`:`browserNotificationSettingsCard.checkingDescription`);return(0,T.jsx)(r,{padding:`lg`,children:(0,T.jsxs)(`div`,{className:`space-y-3`,children:[(0,T.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`browserNotificationSettingsCard.title`)}),(0,T.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:f}),(0,T.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:e(`browserNotificationSettingsCard.openTabDescription`)}),n===`prompt`&&(0,T.jsx)(t,{variant:`outlined`,disabled:a,onClick:c,children:e(`browserNotificationSettingsCard.enable`)})]})})}function O(){let{t:e}=p(`settings`),t=o();return!t&&!i()?(0,T.jsx)(g,{replace:!0,to:f.settings.general}):(0,T.jsxs)(`div`,{className:`mx-auto w-full max-w-2xl space-y-6`,children:[(0,T.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,T.jsx)(`span`,{className:`flex size-10 shrink-0 items-center justify-center rounded-xl bg-[var(--surface-lift)] text-[var(--content-secondary)]`,children:(0,T.jsx)(y,{className:`size-5`,"aria-hidden":!0})}),(0,T.jsxs)(`div`,{className:`min-w-0`,children:[(0,T.jsx)(`h1`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:e(`notificationsPage.title`)}),(0,T.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-secondary)]`,children:e(`notificationsPage.description`)})]})]}),t?(0,T.jsx)(E,{}):(0,T.jsx)(D,{})]})}export{O as NotificationsPage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,AS as n,BC as r,Cc as i,Eg as a,Ng as o,PC as s,Sc as c,Tc as l,_f as u,wc as d,xS as f}from"./app-BEoekemj.js";import{E as p,w as m,x as h}from"./vendor-cVd2QlFV.js";import{r as g,t as _,x as v}from"./react-B9IgSVeK.js";import{Ta as y,Zr as b}from"./icons-C0wyat6T.js";var x=e(v(),1),S=m(`AndroidNotificationSettings`);function C(){return a()&&h.isPluginAvailable(`AndroidNotificationSettings`)}async function w(){if(C())try{await S.open()}catch(e){n(e,{context:`android_notification_settings_open`,level:`warning`})}}var T=_();function E(){let{t:e}=p(`settings`),n=C(),[i,a]=(0,x.useState)(null);(0,x.useEffect)(()=>{c().then(a)},[]),u(`app.resume`,({signal:e})=>{e!==`online`&&d().then(a)});let o;switch(i){case`granted`:o={description:e(`androidNotificationSettingsCard.grantedDescription`),label:e(`androidNotificationSettingsCard.grantedLabel`),tone:`positive`};break;case`denied`:o={description:e(`androidNotificationSettingsCard.deniedDescription`),label:e(`androidNotificationSettingsCard.deniedLabel`),tone:`negative`};break;case`prompt`:o={description:e(`androidNotificationSettingsCard.promptDescription`),label:e(`androidNotificationSettingsCard.promptLabel`),tone:`warning`};break;case`unsupported`:o={description:e(`androidNotificationSettingsCard.unsupportedDescription`),label:e(`androidNotificationSettingsCard.unsupportedLabel`),tone:`neutral`};break;default:o={description:e(`androidNotificationSettingsCard.checkingDescription`),label:e(`androidNotificationSettingsCard.checkingLabel`),tone:`neutral`};break}return(0,T.jsx)(r,{padding:`lg`,children:(0,T.jsxs)(`div`,{className:`flex flex-col gap-5 sm:flex-row sm:items-center sm:justify-between`,children:[(0,T.jsxs)(`div`,{className:`flex min-w-0 items-start gap-4`,children:[(0,T.jsx)(`span`,{className:`flex size-11 shrink-0 items-center justify-center rounded-xl bg-[var(--surface-base)] text-[var(--content-secondary)]`,children:(0,T.jsx)(y,{className:`size-5`,"aria-hidden":!0})}),(0,T.jsxs)(`div`,{className:`min-w-0`,children:[(0,T.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,T.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`androidNotificationSettingsCard.title`)}),(0,T.jsx)(s,{tone:o.tone,children:o.label})]}),(0,T.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-secondary)]`,children:o.description})]})]}),n&&(0,T.jsx)(t,{variant:`outlined`,onClick:()=>void w(),disabled:i===null,rightIcon:(0,T.jsx)(b,{"aria-hidden":!0}),className:`self-start sm:self-auto`,children:e(`androidNotificationSettingsCard.openSettings`)})]})})}function D(){let{t:e}=p(`settings`),[n,i]=(0,x.useState)(null),[a,o]=(0,x.useState)(!1),s=()=>{d().then(i)};(0,x.useEffect)(s,[]),u(`app.resume`,s),u(`app.attention`,({attended:e})=>{e&&s()});let c=()=>{o(!0),l().then(e=>{i(e),o(!1)})},f=e(n===`granted`?`browserNotificationSettingsCard.grantedDescription`:n===`denied`?`browserNotificationSettingsCard.deniedDescription`:n===`unsupported`?`browserNotificationSettingsCard.unsupportedDescription`:n===`prompt`?`browserNotificationSettingsCard.promptDescription`:`browserNotificationSettingsCard.checkingDescription`);return(0,T.jsx)(r,{padding:`lg`,children:(0,T.jsxs)(`div`,{className:`space-y-3`,children:[(0,T.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`browserNotificationSettingsCard.title`)}),(0,T.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:f}),(0,T.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:e(`browserNotificationSettingsCard.openTabDescription`)}),n===`prompt`&&(0,T.jsx)(t,{variant:`outlined`,disabled:a,onClick:c,children:e(`browserNotificationSettingsCard.enable`)})]})})}function O(){let{t:e}=p(`settings`),t=o();return!t&&!i()?(0,T.jsx)(g,{replace:!0,to:f.settings.general}):(0,T.jsxs)(`div`,{className:`mx-auto w-full max-w-2xl space-y-6`,children:[(0,T.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,T.jsx)(`span`,{className:`flex size-10 shrink-0 items-center justify-center rounded-xl bg-[var(--surface-lift)] text-[var(--content-secondary)]`,children:(0,T.jsx)(y,{className:`size-5`,"aria-hidden":!0})}),(0,T.jsxs)(`div`,{className:`min-w-0`,children:[(0,T.jsx)(`h1`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:e(`notificationsPage.title`)}),(0,T.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-secondary)]`,children:e(`notificationsPage.description`)})]})]}),t?(0,T.jsx)(E,{}):(0,T.jsx)(D,{})]})}export{O as NotificationsPage};
@@ -1,4 +1,4 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{xi as t}from"./app-KRIEMzuO.js";import{E as n}from"./vendor-DLH51Vjf.js";import{_ as r,t as i,x as a}from"./react-B9IgSVeK.js";var o=e(a(),1),s=i();function c(){return(0,s.jsxs)(`svg`,{className:`oauth-icon`,viewBox:`0 0 56 56`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,s.jsx)(`circle`,{cx:`28`,cy:`28`,r:`28`,fill:`var(--oauth-positive-bg)`}),(0,s.jsx)(`path`,{className:`oauth-check`,d:`M17 28.5L24.5 36L39 21`,stroke:`var(--oauth-positive-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,strokeLinejoin:`round`,fill:`none`})]})}function l(){return(0,s.jsxs)(`svg`,{className:`oauth-icon`,viewBox:`0 0 56 56`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,s.jsx)(`circle`,{cx:`28`,cy:`28`,r:`28`,fill:`var(--oauth-negative-bg)`}),(0,s.jsx)(`path`,{className:`oauth-cross oauth-cross-1`,d:`M20 20L36 36`,stroke:`var(--oauth-negative-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,fill:`none`}),(0,s.jsx)(`path`,{className:`oauth-cross oauth-cross-2`,d:`M36 20L20 36`,stroke:`var(--oauth-negative-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,fill:`none`})]})}var u=`
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{xi as t}from"./app-BEoekemj.js";import{E as n}from"./vendor-cVd2QlFV.js";import{_ as r,t as i,x as a}from"./react-B9IgSVeK.js";var o=e(a(),1),s=i();function c(){return(0,s.jsxs)(`svg`,{className:`oauth-icon`,viewBox:`0 0 56 56`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,s.jsx)(`circle`,{cx:`28`,cy:`28`,r:`28`,fill:`var(--oauth-positive-bg)`}),(0,s.jsx)(`path`,{className:`oauth-check`,d:`M17 28.5L24.5 36L39 21`,stroke:`var(--oauth-positive-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,strokeLinejoin:`round`,fill:`none`})]})}function l(){return(0,s.jsxs)(`svg`,{className:`oauth-icon`,viewBox:`0 0 56 56`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,s.jsx)(`circle`,{cx:`28`,cy:`28`,r:`28`,fill:`var(--oauth-negative-bg)`}),(0,s.jsx)(`path`,{className:`oauth-cross oauth-cross-1`,d:`M20 20L36 36`,stroke:`var(--oauth-negative-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,fill:`none`}),(0,s.jsx)(`path`,{className:`oauth-cross oauth-cross-2`,d:`M36 20L20 36`,stroke:`var(--oauth-negative-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,fill:`none`})]})}var u=`
2
2
  :root {
3
3
  --oauth-surface: #F5F3EB;
4
4
  --oauth-surface-card: #FFFFFF;
@@ -1,4 +1,4 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{nb as t,tb as n,xi as r}from"./app-KRIEMzuO.js";import{E as i}from"./vendor-DLH51Vjf.js";import{_ as a,t as o,x as s}from"./react-B9IgSVeK.js";var c=e(s(),1),l=o();function u(){return(0,l.jsxs)(`svg`,{className:`oauth-icon`,viewBox:`0 0 56 56`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,l.jsx)(`circle`,{cx:`28`,cy:`28`,r:`28`,fill:`var(--oauth-positive-bg)`}),(0,l.jsx)(`path`,{className:`oauth-check`,d:`M17 28.5L24.5 36L39 21`,stroke:`var(--oauth-positive-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,strokeLinejoin:`round`,fill:`none`})]})}function d(){return(0,l.jsxs)(`svg`,{className:`oauth-icon`,viewBox:`0 0 56 56`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,l.jsx)(`circle`,{cx:`28`,cy:`28`,r:`28`,fill:`var(--oauth-negative-bg)`}),(0,l.jsx)(`path`,{className:`oauth-cross oauth-cross-1`,d:`M20 20L36 36`,stroke:`var(--oauth-negative-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,fill:`none`}),(0,l.jsx)(`path`,{className:`oauth-cross oauth-cross-2`,d:`M36 20L20 36`,stroke:`var(--oauth-negative-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,fill:`none`})]})}var f=`
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{nb as t,tb as n,xi as r}from"./app-BEoekemj.js";import{E as i}from"./vendor-cVd2QlFV.js";import{_ as a,t as o,x as s}from"./react-B9IgSVeK.js";var c=e(s(),1),l=o();function u(){return(0,l.jsxs)(`svg`,{className:`oauth-icon`,viewBox:`0 0 56 56`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,l.jsx)(`circle`,{cx:`28`,cy:`28`,r:`28`,fill:`var(--oauth-positive-bg)`}),(0,l.jsx)(`path`,{className:`oauth-check`,d:`M17 28.5L24.5 36L39 21`,stroke:`var(--oauth-positive-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,strokeLinejoin:`round`,fill:`none`})]})}function d(){return(0,l.jsxs)(`svg`,{className:`oauth-icon`,viewBox:`0 0 56 56`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,l.jsx)(`circle`,{cx:`28`,cy:`28`,r:`28`,fill:`var(--oauth-negative-bg)`}),(0,l.jsx)(`path`,{className:`oauth-cross oauth-cross-1`,d:`M20 20L36 36`,stroke:`var(--oauth-negative-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,fill:`none`}),(0,l.jsx)(`path`,{className:`oauth-cross oauth-cross-2`,d:`M36 20L20 36`,stroke:`var(--oauth-negative-fg)`,strokeWidth:`3.5`,strokeLinecap:`round`,fill:`none`})]})}var f=`
2
2
  :root {
3
3
  --oauth-surface: #F5F3EB;
4
4
  --oauth-surface-card: #FFFFFF;
@@ -0,0 +1 @@
1
+ import{vg as e}from"./app-BEoekemj.js";export{e as resolvePairedAssistantPlatformId};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,Cb as n,Cg as r,Ky as i,Ox as a,S_ as o,YS as s,_x as c,b_ as l,i as u,vx as d,w_ as f,wg as p,xS as m,x_ as h,y_ as g}from"./app-KRIEMzuO.js";import{E as _}from"./vendor-DLH51Vjf.js";import{d as v,f as y,t as b,x}from"./react-B9IgSVeK.js";import{Ui as S,Yn as C,rt as w,zi as T}from"./icons-C0wyat6T.js";import{r as E}from"./self-hosted-servers-Bn0mvFIm.js";var D=e(x(),1),O=b();function k(e){switch(e.kind){case`starting`:return{title:`Starting pairing`,body:`Creating a code for this browser.`};case`handoff_choice`:return{title:`Open in the Vellum app`,body:`Scanning from a phone with the Vellum app installed? Hand this pairing to the app.`};case`verifying`:return{title:`Pairing`,body:`Connecting this device to your assistant.`};case`approved`:return{title:`Connected`,body:`Opening your assistant.`};case`expired`:return{title:`Pairing expired`,body:`This pairing code is invalid or expired. Run vellum pair on the machine running your assistant to get a new one.`};case`error`:return{title:`Pairing failed`,body:e.message};case`polling`:return{title:`Waiting for approval`,body:`Confirm this code on the machine running your assistant.`}}}function A({state:e}){return e.kind===`approved`?(0,O.jsx)(T,{className:`h-5 w-5 text-[var(--system-positive-strong)]`,"aria-hidden":!0}):e.kind===`handoff_choice`?(0,O.jsx)(w,{className:`h-5 w-5 text-[var(--system-info-strong)]`,"aria-hidden":!0}):e.kind===`starting`||e.kind===`verifying`||e.kind===`polling`?(0,O.jsx)(C,{className:`h-5 w-5 animate-spin text-[var(--system-info-strong)]`,"aria-hidden":!0}):(0,O.jsx)(S,{className:`h-5 w-5 text-[var(--system-negative-strong)]`,"aria-hidden":!0})}function j(){try{let e=new URL(window.location.href);for(let t of[`deviceCode`,`device_code`,`userCode`,`user_code`])e.searchParams.delete(t);e.hash=``,window.history.replaceState(null,``,`${e.pathname}${e.search}`)}catch{}}var M=`vellum-assistant`,N=`ai.vellum.assistant`;function P(e,t){let n=new URLSearchParams({url:f(),code:e}),r=c();r&&n.set(`name`,r);let i=n.toString().replace(/\+/g,`%20`);return t===`ios`?`${M}://connect?${i}`:`intent://connect?${i}#Intent;scheme=${M};package=${N};S.browser_fallback_url=${encodeURIComponent(window.location.href)};end`}function F(){let e=d();if(!e)return null;try{return`${new URL(e).origin}${m.selectAssistant}?noAutoSkip=1`}catch{return null}}function I({deviceCode:e,platform:n,onContinueInBrowser:r}){let{t:i}=_(`remote-web`);return(0,O.jsxs)(`div`,{className:`mt-6 flex flex-col gap-3`,children:[(0,O.jsx)(t,{variant:`primary`,fullWidth:!0,asChild:!0,children:(0,O.jsx)(`a`,{href:(0,D.useMemo)(()=>P(e,n),[e,n]),children:i(`pairingPage.openInApp`)})}),(0,O.jsx)(t,{variant:`outlined`,fullWidth:!0,onClick:r,children:i(`pairingPage.continueInBrowser`)})]})}function L(){let{t:e}=_(`remote-web`),c=v(),d=y(),f=a(),b=(0,D.useMemo)(()=>n(new URLSearchParams(c.search).get(`returnTo`),m.assistant),[c.search]),x=(0,D.useMemo)(()=>s(`${c.pathname}${c.search}${c.hash}`),[c.pathname,c.search,c.hash]),S=(0,D.useMemo)(()=>!x.deviceCode||i()?null:r()?`android`:p()?`ios`:null,[x.deviceCode]),[C,w]=(0,D.useState)(()=>x.deviceCode?{deviceCode:x.deviceCode,userCode:x.userCode}:null),[T,M]=(0,D.useState)(()=>!S),[N,P]=(0,D.useState)(()=>S?{kind:`handoff_choice`}:x.deviceCode?{kind:`verifying`}:{kind:`starting`});(0,D.useEffect)(()=>{if(!f||C)return;let e=new AbortController;return(async()=>{try{let t=await h(e.signal);w({deviceCode:t.deviceCode,userCode:t.userCode}),P({kind:`polling`,expiresAt:t.expiresAt})}catch{if(e.signal.aborted)return;P({kind:`error`,message:`The assistant could not start pairing. Refresh the page to try again.`})}})(),()=>{e.abort()}},[f,C]),(0,D.useEffect)(()=>{if(!f||!C?.deviceCode||!T)return;let e=new AbortController,t=null,n=async()=>{try{let r=await o(C.deviceCode,e.signal);if(r.status===`pending`){P({kind:`polling`,expiresAt:r.expiresAt||null}),t=setTimeout(()=>void n(),Math.max(1,r.intervalSeconds)*1e3);return}l(r),j(),P({kind:`approved`}),t=setTimeout(()=>d(b,{replace:!0}),250)}catch(t){if(e.signal.aborted)return;if(t instanceof g&&t.status===401){P({kind:`expired`});return}if(t instanceof g&&t.code===`GUARDIAN_REPAIR_REQUIRED`){P({kind:`error`,message:`The assistant's trust database needs repair. Run guardian repair on the machine hosting the assistant, then retry this same pairing link — the code stays valid.`});return}P({kind:`error`,message:`The assistant could not complete pairing. Try starting a new pairing.`})}};return n(),()=>{e.abort(),t&&clearTimeout(t)}},[f,C?.deviceCode,T,d,b]);let L=(0,D.useCallback)(()=>{M(!0),P({kind:`verifying`})},[]),R=(0,D.useMemo)(()=>F(),[]),z=(0,D.useCallback)(()=>{E(null,`select-assistant?noAutoSkip=1`).then(e=>{!e&&R&&window.location.assign(R)})},[R]);if(!f)return(0,O.jsx)(u,{});let B=k(N);return(0,O.jsx)(`main`,{className:`flex min-h-svh items-center justify-center bg-[var(--surface-base)] px-6 py-10 text-[var(--content-default)]`,children:(0,O.jsxs)(`section`,{className:`w-full max-w-md rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] p-8 shadow-[var(--shadow-sm)]`,children:[(0,O.jsxs)(`div`,{className:`mb-5 flex items-center gap-3`,children:[(0,O.jsx)(A,{state:N}),(0,O.jsx)(`h1`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:B.title})]}),N.kind===`polling`&&C?.userCode?(0,O.jsxs)(`div`,{className:`mb-5 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-4 text-center`,children:[(0,O.jsx)(`div`,{className:`text-label-small-default uppercase tracking-wide text-[var(--content-tertiary)]`,children:e(`pairingPage.pairingCode`)}),(0,O.jsx)(`div`,{className:`mt-2 font-mono text-3xl font-semibold tracking-[0.18em] text-[var(--content-emphasised)]`,children:C.userCode})]}):null,(0,O.jsx)(`p`,{className:`text-body-medium-lighter leading-6 text-[var(--content-secondary)]`,children:B.body}),N.kind===`handoff_choice`&&C&&S?(0,O.jsx)(I,{deviceCode:C.deviceCode,platform:S,onContinueInBrowser:L}):null,N.kind===`polling`&&N.expiresAt?(0,O.jsx)(`p`,{className:`text-body-small-lighter mt-4 text-[var(--content-tertiary)]`,children:e(`pairingPage.expiresAt`,{time:new Date(N.expiresAt).toLocaleTimeString()})}):null,N.kind===`polling`&&R?(0,O.jsx)(t,{variant:`outlined`,fullWidth:!0,className:`mt-6`,onClick:z,children:e(`pairingPage.cancel`)}):null]})})}export{L as RemoteWebPairingPage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,Cb as n,Cg as r,Ky as i,Ox as a,S_ as o,YS as s,_x as c,b_ as l,i as u,vx as d,w_ as f,wg as p,xS as m,x_ as h,y_ as g}from"./app-BEoekemj.js";import{E as _}from"./vendor-cVd2QlFV.js";import{d as v,f as y,t as b,x}from"./react-B9IgSVeK.js";import{Ui as S,Yn as C,rt as w,zi as T}from"./icons-C0wyat6T.js";import{r as E}from"./self-hosted-servers-Dn5AaPCS.js";var D=e(x(),1),O=b();function k(e){switch(e.kind){case`starting`:return{title:`Starting pairing`,body:`Creating a code for this browser.`};case`handoff_choice`:return{title:`Open in the Vellum app`,body:`Scanning from a phone with the Vellum app installed? Hand this pairing to the app.`};case`verifying`:return{title:`Pairing`,body:`Connecting this device to your assistant.`};case`approved`:return{title:`Connected`,body:`Opening your assistant.`};case`expired`:return{title:`Pairing expired`,body:`This pairing code is invalid or expired. Run vellum pair on the machine running your assistant to get a new one.`};case`error`:return{title:`Pairing failed`,body:e.message};case`polling`:return{title:`Waiting for approval`,body:`Confirm this code on the machine running your assistant.`}}}function A({state:e}){return e.kind===`approved`?(0,O.jsx)(T,{className:`h-5 w-5 text-[var(--system-positive-strong)]`,"aria-hidden":!0}):e.kind===`handoff_choice`?(0,O.jsx)(w,{className:`h-5 w-5 text-[var(--system-info-strong)]`,"aria-hidden":!0}):e.kind===`starting`||e.kind===`verifying`||e.kind===`polling`?(0,O.jsx)(C,{className:`h-5 w-5 animate-spin text-[var(--system-info-strong)]`,"aria-hidden":!0}):(0,O.jsx)(S,{className:`h-5 w-5 text-[var(--system-negative-strong)]`,"aria-hidden":!0})}function j(){try{let e=new URL(window.location.href);for(let t of[`deviceCode`,`device_code`,`userCode`,`user_code`])e.searchParams.delete(t);e.hash=``,window.history.replaceState(null,``,`${e.pathname}${e.search}`)}catch{}}var M=`vellum-assistant`,N=`ai.vellum.assistant`;function P(e,t){let n=new URLSearchParams({url:f(),code:e}),r=c();r&&n.set(`name`,r);let i=n.toString().replace(/\+/g,`%20`);return t===`ios`?`${M}://connect?${i}`:`intent://connect?${i}#Intent;scheme=${M};package=${N};S.browser_fallback_url=${encodeURIComponent(window.location.href)};end`}function F(){let e=d();if(!e)return null;try{return`${new URL(e).origin}${m.selectAssistant}?noAutoSkip=1`}catch{return null}}function I({deviceCode:e,platform:n,onContinueInBrowser:r}){let{t:i}=_(`remote-web`);return(0,O.jsxs)(`div`,{className:`mt-6 flex flex-col gap-3`,children:[(0,O.jsx)(t,{variant:`primary`,fullWidth:!0,asChild:!0,children:(0,O.jsx)(`a`,{href:(0,D.useMemo)(()=>P(e,n),[e,n]),children:i(`pairingPage.openInApp`)})}),(0,O.jsx)(t,{variant:`outlined`,fullWidth:!0,onClick:r,children:i(`pairingPage.continueInBrowser`)})]})}function L(){let{t:e}=_(`remote-web`),c=v(),d=y(),f=a(),b=(0,D.useMemo)(()=>n(new URLSearchParams(c.search).get(`returnTo`),m.assistant),[c.search]),x=(0,D.useMemo)(()=>s(`${c.pathname}${c.search}${c.hash}`),[c.pathname,c.search,c.hash]),S=(0,D.useMemo)(()=>!x.deviceCode||i()?null:r()?`android`:p()?`ios`:null,[x.deviceCode]),[C,w]=(0,D.useState)(()=>x.deviceCode?{deviceCode:x.deviceCode,userCode:x.userCode}:null),[T,M]=(0,D.useState)(()=>!S),[N,P]=(0,D.useState)(()=>S?{kind:`handoff_choice`}:x.deviceCode?{kind:`verifying`}:{kind:`starting`});(0,D.useEffect)(()=>{if(!f||C)return;let e=new AbortController;return(async()=>{try{let t=await h(e.signal);w({deviceCode:t.deviceCode,userCode:t.userCode}),P({kind:`polling`,expiresAt:t.expiresAt})}catch{if(e.signal.aborted)return;P({kind:`error`,message:`The assistant could not start pairing. Refresh the page to try again.`})}})(),()=>{e.abort()}},[f,C]),(0,D.useEffect)(()=>{if(!f||!C?.deviceCode||!T)return;let e=new AbortController,t=null,n=async()=>{try{let r=await o(C.deviceCode,e.signal);if(r.status===`pending`){P({kind:`polling`,expiresAt:r.expiresAt||null}),t=setTimeout(()=>void n(),Math.max(1,r.intervalSeconds)*1e3);return}l(r),j(),P({kind:`approved`}),t=setTimeout(()=>d(b,{replace:!0}),250)}catch(t){if(e.signal.aborted)return;if(t instanceof g&&t.status===401){P({kind:`expired`});return}if(t instanceof g&&t.code===`GUARDIAN_REPAIR_REQUIRED`){P({kind:`error`,message:`The assistant's trust database needs repair. Run guardian repair on the machine hosting the assistant, then retry this same pairing link — the code stays valid.`});return}P({kind:`error`,message:`The assistant could not complete pairing. Try starting a new pairing.`})}};return n(),()=>{e.abort(),t&&clearTimeout(t)}},[f,C?.deviceCode,T,d,b]);let L=(0,D.useCallback)(()=>{M(!0),P({kind:`verifying`})},[]),R=(0,D.useMemo)(()=>F(),[]),z=(0,D.useCallback)(()=>{E(null,`select-assistant?noAutoSkip=1`).then(e=>{!e&&R&&window.location.assign(R)})},[R]);if(!f)return(0,O.jsx)(u,{});let B=k(N);return(0,O.jsx)(`main`,{className:`flex min-h-svh items-center justify-center bg-[var(--surface-base)] px-6 py-10 text-[var(--content-default)]`,children:(0,O.jsxs)(`section`,{className:`w-full max-w-md rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] p-8 shadow-[var(--shadow-sm)]`,children:[(0,O.jsxs)(`div`,{className:`mb-5 flex items-center gap-3`,children:[(0,O.jsx)(A,{state:N}),(0,O.jsx)(`h1`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:B.title})]}),N.kind===`polling`&&C?.userCode?(0,O.jsxs)(`div`,{className:`mb-5 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-4 text-center`,children:[(0,O.jsx)(`div`,{className:`text-label-small-default uppercase tracking-wide text-[var(--content-tertiary)]`,children:e(`pairingPage.pairingCode`)}),(0,O.jsx)(`div`,{className:`mt-2 font-mono text-3xl font-semibold tracking-[0.18em] text-[var(--content-emphasised)]`,children:C.userCode})]}):null,(0,O.jsx)(`p`,{className:`text-body-medium-lighter leading-6 text-[var(--content-secondary)]`,children:B.body}),N.kind===`handoff_choice`&&C&&S?(0,O.jsx)(I,{deviceCode:C.deviceCode,platform:S,onContinueInBrowser:L}):null,N.kind===`polling`&&N.expiresAt?(0,O.jsx)(`p`,{className:`text-body-small-lighter mt-4 text-[var(--content-tertiary)]`,children:e(`pairingPage.expiresAt`,{time:new Date(N.expiresAt).toLocaleTimeString()})}):null,N.kind===`polling`&&R?(0,O.jsx)(t,{variant:`outlined`,fullWidth:!0,className:`mt-6`,onClick:z,children:e(`pairingPage.cancel`)}):null]})})}export{L as RemoteWebPairingPage};
@@ -0,0 +1 @@
1
+ import{xS as e}from"./app-BEoekemj.js";import{r as t,t as n}from"./react-B9IgSVeK.js";var r=n();function i(){return(0,r.jsx)(t,{to:e.account.login,replace:!0})}export{i as PasswordResetPage};
@@ -1 +1 @@
1
- import{An as e,ir as t,nr as n}from"./app-KRIEMzuO.js";import{t as r}from"./react-B9IgSVeK.js";import{t as i}from"./preview-error-B2MuMDf7.js";var a=r();function o({blob:r,filename:o}){let s=n(r,`application/pdf`);return s===null?(0,a.jsx)(t,{}):(0,a.jsx)(`span`,{className:`block w-full [&_[data-slot=skeleton]]:w-full! [&_canvas]:w-full!`,children:(0,a.jsx)(e,{url:s,errorFallback:(0,a.jsx)(i,{filename:o})})})}export{o as PdfFilePreview};
1
+ import{An as e,ir as t,nr as n}from"./app-BEoekemj.js";import{t as r}from"./react-B9IgSVeK.js";import{t as i}from"./preview-error-Bsw56ZjR.js";var a=r();function o({blob:r,filename:o}){let s=n(r,`application/pdf`);return s===null?(0,a.jsx)(t,{}):(0,a.jsx)(`span`,{className:`block w-full [&_[data-slot=skeleton]]:w-full! [&_canvas]:w-full!`,children:(0,a.jsx)(e,{url:s,errorFallback:(0,a.jsx)(i,{filename:o})})})}export{o as PdfFilePreview};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{a as t,d as n,s as r}from"./vendor-DLH51Vjf.js";import{t as i,x as a}from"./react-B9IgSVeK.js";var o=e(a(),1),s=i(),c=.25,l=.46,u=.3,d=.85,f=.4,p=14,m=8;function h({art:e,stage:i,entrance:a=!1,entranceDelay:h=0,restSinkFraction:g=0,bumpNonce:_}){let v=r(),{w:y,h:b}=i,[x,S]=(0,o.useState)({x:0,y:0});(0,o.useEffect)(()=>{if(v)return;let e=e=>{S({x:(e.clientX/window.innerWidth-.5)*2,y:(e.clientY/window.innerHeight-.5)*2})};return window.addEventListener(`mousemove`,e),()=>window.removeEventListener(`mousemove`,e)},[v]);let C=a&&!v,w=t();(0,o.useEffect)(()=>{(_??0)>0&&!v&&w.start({y:[0,-34,8,0],transition:{duration:.45,ease:`easeOut`}})},[_,v,w]);let[T,E]=(0,o.useState)(!1),[D,O]=(0,o.useState)(!a);if((0,o.useEffect)(()=>{if(v||!D)return;let e=!1,t,n=n=>{e||(E(!0),t=setTimeout(()=>{e||(E(!1),t=setTimeout(n,140))},140))},r=()=>{t=setTimeout(()=>n(r),2500+Math.random()*4e3)};return a?n(()=>n(r)):r(),()=>{e=!0,clearTimeout(t)}},[v,D,a]),y===0||b===0)return null;let k=y*d,A=Math.min(Math.min(y,b)*u,k*e.bbox.h/e.bbox.w),j=A*e.bbox.w/e.bbox.h,M=(y-j)/2,N=b-(1-c)*A+b*g,P=f*b-(N+A/2),F=(l-c)*A,I=e.bbox.x+e.bbox.w/2,L=e.bbox.y+e.bbox.h/2,R=(0,s.jsx)(`div`,{style:{transform:`translate(${x.x*p}px, ${x.y*m}px)`,transition:`transform 0.5s cubic-bezier(0.22, 1, 0.36, 1)`},children:(0,s.jsx)(`svg`,{viewBox:`${e.bbox.x} ${e.bbox.y} ${e.bbox.w} ${e.bbox.h}`,width:j,height:A,style:{overflow:`visible`,display:`block`},children:(0,s.jsx)(`g`,{style:{transform:T?`scaleY(0.1)`:`scaleY(1)`,transformOrigin:`${I}px ${L}px`,transition:`transform 0.14s ease-in-out`},children:e.paths.map((e,t)=>(0,s.jsx)(`path`,{d:e.svgPath,fill:e.color},t))})})});return(0,s.jsx)(n.div,{"aria-hidden":`true`,className:`pointer-events-none absolute z-[2]`,style:{left:M,top:N,width:j,height:A,transformOrigin:`center`},initial:C?{y:P,scale:.35}:!1,animate:C?{y:[P,F,0],scale:[.35,1,1]}:{y:0,scale:1},transition:C?{duration:1,delay:h,times:[0,.7,1],ease:`easeInOut`}:{duration:0},onAnimationComplete:()=>O(!0),children:_===void 0?R:(0,s.jsx)(n.div,{animate:w,children:R})})}var g=u*(1-c);export{h as n,g as t};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{a as t,d as n,s as r}from"./vendor-cVd2QlFV.js";import{t as i,x as a}from"./react-B9IgSVeK.js";var o=e(a(),1),s=i(),c=.25,l=.46,u=.3,d=.85,f=.4,p=14,m=8;function h({art:e,stage:i,entrance:a=!1,entranceDelay:h=0,restSinkFraction:g=0,bumpNonce:_}){let v=r(),{w:y,h:b}=i,[x,S]=(0,o.useState)({x:0,y:0});(0,o.useEffect)(()=>{if(v)return;let e=e=>{S({x:(e.clientX/window.innerWidth-.5)*2,y:(e.clientY/window.innerHeight-.5)*2})};return window.addEventListener(`mousemove`,e),()=>window.removeEventListener(`mousemove`,e)},[v]);let C=a&&!v,w=t();(0,o.useEffect)(()=>{(_??0)>0&&!v&&w.start({y:[0,-34,8,0],transition:{duration:.45,ease:`easeOut`}})},[_,v,w]);let[T,E]=(0,o.useState)(!1),[D,O]=(0,o.useState)(!a);if((0,o.useEffect)(()=>{if(v||!D)return;let e=!1,t,n=n=>{e||(E(!0),t=setTimeout(()=>{e||(E(!1),t=setTimeout(n,140))},140))},r=()=>{t=setTimeout(()=>n(r),2500+Math.random()*4e3)};return a?n(()=>n(r)):r(),()=>{e=!0,clearTimeout(t)}},[v,D,a]),y===0||b===0)return null;let k=y*d,A=Math.min(Math.min(y,b)*u,k*e.bbox.h/e.bbox.w),j=A*e.bbox.w/e.bbox.h,M=(y-j)/2,N=b-(1-c)*A+b*g,P=f*b-(N+A/2),F=(l-c)*A,I=e.bbox.x+e.bbox.w/2,L=e.bbox.y+e.bbox.h/2,R=(0,s.jsx)(`div`,{style:{transform:`translate(${x.x*p}px, ${x.y*m}px)`,transition:`transform 0.5s cubic-bezier(0.22, 1, 0.36, 1)`},children:(0,s.jsx)(`svg`,{viewBox:`${e.bbox.x} ${e.bbox.y} ${e.bbox.w} ${e.bbox.h}`,width:j,height:A,style:{overflow:`visible`,display:`block`},children:(0,s.jsx)(`g`,{style:{transform:T?`scaleY(0.1)`:`scaleY(1)`,transformOrigin:`${I}px ${L}px`,transition:`transform 0.14s ease-in-out`},children:e.paths.map((e,t)=>(0,s.jsx)(`path`,{d:e.svgPath,fill:e.color},t))})})});return(0,s.jsx)(n.div,{"aria-hidden":`true`,className:`pointer-events-none absolute z-[2]`,style:{left:M,top:N,width:j,height:A,transformOrigin:`center`},initial:C?{y:P,scale:.35}:!1,animate:C?{y:[P,F,0],scale:[.35,1,1]}:{y:0,scale:1},transition:C?{duration:1,delay:h,times:[0,.7,1],ease:`easeInOut`}:{duration:0},onAnimationComplete:()=>O(!0),children:_===void 0?R:(0,s.jsx)(n.div,{animate:w,children:R})})}var g=u*(1-c);export{h as n,g as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,BC as n,HC as r,Oh as i,ac as a,nc as o,vf as s}from"./app-KRIEMzuO.js";import{E as c}from"./vendor-DLH51Vjf.js";import{t as l,x as u}from"./react-B9IgSVeK.js";import{Ia as d,Ki as f,Ya as p}from"./icons-C0wyat6T.js";import{a as m,c as h,i as g,o as _,r as v,s as y}from"./permission-setup-C4VdQwwz.js";var b=p(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),x=e(u(),1);function S(){let[e,t]=(0,x.useState)(null);return(0,x.useEffect)(()=>{let e=!0,n=!1,r=h(e=>{n=!0,t(e)});return m().then(r=>{e&&!n&&t(r)}).catch(()=>void 0),()=>{e=!1,r()}},[]),e}var C=l();function w(){a(!i()),s();let{t:e}=c(),l=S(),[u,p]=(0,x.useState)(!1),m=l?.id,h=(0,x.useRef)(null);if((0,x.useLayoutEffect)(()=>{let e=h.current,t=e?.parentElement;if(m===void 0||!e||!t)return;let n=()=>{let n=getComputedStyle(t),r=parseFloat(n.paddingTop)+parseFloat(n.paddingBottom)+parseFloat(n.borderTopWidth)+parseFloat(n.borderBottomWidth);_(m,Math.min(320,Math.max(148,Math.ceil(e.getBoundingClientRect().height+r))))};n();let r=new ResizeObserver(n);return r.observe(e),()=>r.disconnect()},[m]),!l)return null;let w=e(l.kind===`screen`?`systemPermissionsCard.screenLabel`:`permissionGuide.inputLabel`),T=()=>{y(l.id).catch(()=>p(!0))};return(0,C.jsx)(n.Root,{asChild:!0,style:o(l.accentHex),className:`permission-guide flex h-screen items-center gap-3 overflow-hidden select-none shadow-[var(--shadow-popover)]`,children:(0,C.jsxs)(`main`,{children:[(0,C.jsx)(t,{className:`shrink-0`,variant:`ghost`,size:`regular`,iconOnly:(0,C.jsx)(f,{}),"aria-label":e(`permissionGuide.back`),onClick:()=>v(l.id)}),(0,C.jsxs)(`div`,{ref:h,className:`min-w-0 flex-1`,children:[(0,C.jsxs)(`div`,{className:`mb-3 flex items-center gap-3`,children:[(0,C.jsx)(d,{className:`permission-arrow size-6 shrink-0 text-[var(--avatar-accent-fill,var(--primary-base))]`,"aria-hidden":`true`}),(0,C.jsx)(r,{as:`h1`,variant:`body-medium-default`,children:e(`permissionGuide.dragInstruction`,{app:l.appName,permission:w})})]}),(0,C.jsx)(n.Root,{asChild:!0,interactive:!0,surface:`overlay`,padding:`sm`,className:`flex cursor-grab items-center gap-3 active:cursor-grabbing`,children:(0,C.jsxs)(`button`,{type:`button`,draggable:!0,"aria-label":e(`permissionGuide.dragApp`,{app:l.appName}),onDragStart:e=>{e.preventDefault(),g(l.id)},onClick:T,children:[(0,C.jsx)(`span`,{className:`flex size-10 shrink-0 items-center justify-center rounded-md bg-[color-mix(in_srgb,var(--avatar-accent,var(--primary-base))_12%,transparent)]`,children:(0,C.jsx)(`img`,{src:l.appIcon,alt:``,draggable:!1,className:`size-8 object-contain`})}),(0,C.jsx)(r,{variant:`body-large-default`,className:`min-w-0 flex-1 break-words`,children:l.appName}),(0,C.jsx)(b,{className:`size-4 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":`true`})]})}),(0,C.jsxs)(`div`,{className:`mt-2 flex items-center gap-2`,children:[(l.error||u)&&(0,C.jsx)(r,{variant:`body-small-lighter`,role:`alert`,className:`text-[var(--system-negative-strong)]`,children:e(`permissionGuide.dragError`)}),(0,C.jsx)(t,{variant:`ghost`,size:`compact`,className:`ml-auto shrink-0`,onClick:T,children:e(`permissionGuide.showInFinder`)})]})]})]})})}export{w as PermissionGuidePage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,BC as n,HC as r,Oh as i,ac as a,nc as o,vf as s}from"./app-BEoekemj.js";import{E as c}from"./vendor-cVd2QlFV.js";import{t as l,x as u}from"./react-B9IgSVeK.js";import{Ia as d,Ki as f,Ya as p}from"./icons-C0wyat6T.js";import{a as m,c as h,i as g,o as _,r as v,s as y}from"./permission-setup-BKUZnWJQ.js";var b=p(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),x=e(u(),1);function S(){let[e,t]=(0,x.useState)(null);return(0,x.useEffect)(()=>{let e=!0,n=!1,r=h(e=>{n=!0,t(e)});return m().then(r=>{e&&!n&&t(r)}).catch(()=>void 0),()=>{e=!1,r()}},[]),e}var C=l();function w(){a(!i()),s();let{t:e}=c(),l=S(),[u,p]=(0,x.useState)(!1),m=l?.id,h=(0,x.useRef)(null);if((0,x.useLayoutEffect)(()=>{let e=h.current,t=e?.parentElement;if(m===void 0||!e||!t)return;let n=()=>{let n=getComputedStyle(t),r=parseFloat(n.paddingTop)+parseFloat(n.paddingBottom)+parseFloat(n.borderTopWidth)+parseFloat(n.borderBottomWidth);_(m,Math.min(320,Math.max(148,Math.ceil(e.getBoundingClientRect().height+r))))};n();let r=new ResizeObserver(n);return r.observe(e),()=>r.disconnect()},[m]),!l)return null;let w=e(l.kind===`screen`?`systemPermissionsCard.screenLabel`:`permissionGuide.inputLabel`),T=()=>{y(l.id).catch(()=>p(!0))};return(0,C.jsx)(n.Root,{asChild:!0,style:o(l.accentHex),className:`permission-guide flex h-screen items-center gap-3 overflow-hidden select-none shadow-[var(--shadow-popover)]`,children:(0,C.jsxs)(`main`,{children:[(0,C.jsx)(t,{className:`shrink-0`,variant:`ghost`,size:`regular`,iconOnly:(0,C.jsx)(f,{}),"aria-label":e(`permissionGuide.back`),onClick:()=>v(l.id)}),(0,C.jsxs)(`div`,{ref:h,className:`min-w-0 flex-1`,children:[(0,C.jsxs)(`div`,{className:`mb-3 flex items-center gap-3`,children:[(0,C.jsx)(d,{className:`permission-arrow size-6 shrink-0 text-[var(--avatar-accent-fill,var(--primary-base))]`,"aria-hidden":`true`}),(0,C.jsx)(r,{as:`h1`,variant:`body-medium-default`,children:e(`permissionGuide.dragInstruction`,{app:l.appName,permission:w})})]}),(0,C.jsx)(n.Root,{asChild:!0,interactive:!0,surface:`overlay`,padding:`sm`,className:`flex cursor-grab items-center gap-3 active:cursor-grabbing`,children:(0,C.jsxs)(`button`,{type:`button`,draggable:!0,"aria-label":e(`permissionGuide.dragApp`,{app:l.appName}),onDragStart:e=>{e.preventDefault(),g(l.id)},onClick:T,children:[(0,C.jsx)(`span`,{className:`flex size-10 shrink-0 items-center justify-center rounded-md bg-[color-mix(in_srgb,var(--avatar-accent,var(--primary-base))_12%,transparent)]`,children:(0,C.jsx)(`img`,{src:l.appIcon,alt:``,draggable:!1,className:`size-8 object-contain`})}),(0,C.jsx)(r,{variant:`body-large-default`,className:`min-w-0 flex-1 break-words`,children:l.appName}),(0,C.jsx)(b,{className:`size-4 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":`true`})]})}),(0,C.jsxs)(`div`,{className:`mt-2 flex items-center gap-2`,children:[(l.error||u)&&(0,C.jsx)(r,{variant:`body-small-lighter`,role:`alert`,className:`text-[var(--system-negative-strong)]`,children:e(`permissionGuide.dragError`)}),(0,C.jsx)(t,{variant:`ghost`,size:`compact`,className:`ml-auto shrink-0`,onClick:T,children:e(`permissionGuide.showInFinder`)})]})]})]})})}export{w as PermissionGuidePage};
@@ -1 +1 @@
1
- import{SS as e}from"./app-KRIEMzuO.js";var t=()=>e()?window.vellum?.permissions?.setup:void 0,n=()=>t()!==void 0,r=()=>{t()?.cancel?.()},i=async(e,n)=>await t()?.begin(e,n)??null,a=async()=>await t()?.getGuide()??null,o=e=>t()?.onGuide(e)??(()=>void 0),s=(e,n)=>{t()?.ready(e,n)},c=e=>{t()?.dismiss(e)},l=e=>{t()?.startDrag(e)},u=async e=>{await t()?.revealApp(e)};export{a,o as c,l as i,n as l,r as n,s as o,c as r,u as s,i as t};
1
+ import{SS as e}from"./app-BEoekemj.js";var t=()=>e()?window.vellum?.permissions?.setup:void 0,n=()=>t()!==void 0,r=()=>{t()?.cancel?.()},i=async(e,n)=>await t()?.begin(e,n)??null,a=async()=>await t()?.getGuide()??null,o=e=>t()?.onGuide(e)??(()=>void 0),s=(e,n)=>{t()?.ready(e,n)},c=e=>{t()?.dismiss(e)},l=e=>{t()?.startDrag(e)},u=async e=>{await t()?.revealApp(e)};export{a,o as c,l as i,n as l,r as n,s as o,c as r,u as s,i as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,W as n,Zf as r,_C as i,hC as a,pv as o,xS as s}from"./app-KRIEMzuO.js";import{$n as c,E as l,nr as u}from"./vendor-DLH51Vjf.js";import{r as d,t as f,x as p}from"./react-B9IgSVeK.js";import{t as m}from"./detail-card-C53pHjsM.js";import{i as h,n as g,r as _,t as v}from"./personality-sliders-PxNPuK2H.js";var y=e(p(),1),b=f(),x=[{id:o.companionCoworker,leftKey:`personalityPage.axes.companionCoworker.left`,rightKey:`personalityPage.axes.companionCoworker.right`},{id:o.genzBoomer,leftKey:`personalityPage.axes.genzBoomer.left`,rightKey:`personalityPage.axes.genzBoomer.right`},{id:o.executeCollaborate,leftKey:`personalityPage.axes.executeCollaborate.left`,rightKey:`personalityPage.axes.executeCollaborate.right`},{id:o.playfulSerious,leftKey:`personalityPage.axes.playfulSerious.left`,rightKey:`personalityPage.axes.playfulSerious.right`},{id:o.politeUnfiltered,leftKey:`personalityPage.axes.politeUnfiltered.left`,rightKey:`personalityPage.axes.politeUnfiltered.right`}];function S(){let{t:e}=l(`settings`),o=n(),f=u(),p=r.use.vellumHostedInference(),S=r.use.hasHydrated(),C=c({queryKey:_(o),queryFn:()=>g(o)}),[w,T]=(0,y.useState)(null),[E,D]=(0,y.useState)(!1),O=w??C.data??{};if(S&&!p)return(0,b.jsx)(d,{replace:!0,to:s.settings.general});let k=()=>{D(!0),h(o,v(O)).then(t=>{D(!1),t?(f.invalidateQueries({queryKey:_(o)}),a.success(e(`personalityPage.saveSuccessToast`))):a.error(e(`personalityPage.saveErrorToast`))})},A=E||C.isLoading;return(0,b.jsxs)(`div`,{"data-slot":`personality-page`,className:`space-y-6`,children:[(0,b.jsx)(m,{title:e(`personalityPage.title`),subtitle:e(`personalityPage.subtitle`),children:C.isError?(0,b.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e(`personalityPage.loadError`)}):(0,b.jsx)(`div`,{className:`flex flex-col gap-6`,children:x.map(t=>{let n=e(t.leftKey),r=e(t.rightKey);return(0,b.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,b.jsxs)(`div`,{className:`flex items-center justify-between gap-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,b.jsx)(`span`,{children:n}),(0,b.jsx)(`span`,{children:r})]}),(0,b.jsx)(i,{value:O[t.id]??50,onValueChange:e=>{typeof e==`number`&&T({...O,[t.id]:e})},min:0,max:100,step:1,disabled:A,"aria-label":e(`personalityPage.rangeAriaLabel`,{left:n,right:r})})]},t.id)})})}),(0,b.jsx)(t,{onClick:k,disabled:A||C.isError,children:e(E?`personalityPage.saving`:`personalityPage.save`)})]})}export{S as SettingsPersonalityPage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,W as n,Zf as r,_C as i,hC as a,pv as o,xS as s}from"./app-BEoekemj.js";import{$n as c,E as l,nr as u}from"./vendor-cVd2QlFV.js";import{r as d,t as f,x as p}from"./react-B9IgSVeK.js";import{t as m}from"./detail-card-DdL-TwEw.js";import{i as h,n as g,r as _,t as v}from"./personality-sliders-DahfpXIK.js";var y=e(p(),1),b=f(),x=[{id:o.companionCoworker,leftKey:`personalityPage.axes.companionCoworker.left`,rightKey:`personalityPage.axes.companionCoworker.right`},{id:o.genzBoomer,leftKey:`personalityPage.axes.genzBoomer.left`,rightKey:`personalityPage.axes.genzBoomer.right`},{id:o.executeCollaborate,leftKey:`personalityPage.axes.executeCollaborate.left`,rightKey:`personalityPage.axes.executeCollaborate.right`},{id:o.playfulSerious,leftKey:`personalityPage.axes.playfulSerious.left`,rightKey:`personalityPage.axes.playfulSerious.right`},{id:o.politeUnfiltered,leftKey:`personalityPage.axes.politeUnfiltered.left`,rightKey:`personalityPage.axes.politeUnfiltered.right`}];function S(){let{t:e}=l(`settings`),o=n(),f=u(),p=r.use.vellumHostedInference(),S=r.use.hasHydrated(),C=c({queryKey:_(o),queryFn:()=>g(o)}),[w,T]=(0,y.useState)(null),[E,D]=(0,y.useState)(!1),O=w??C.data??{};if(S&&!p)return(0,b.jsx)(d,{replace:!0,to:s.settings.general});let k=()=>{D(!0),h(o,v(O)).then(t=>{D(!1),t?(f.invalidateQueries({queryKey:_(o)}),a.success(e(`personalityPage.saveSuccessToast`))):a.error(e(`personalityPage.saveErrorToast`))})},A=E||C.isLoading;return(0,b.jsxs)(`div`,{"data-slot":`personality-page`,className:`space-y-6`,children:[(0,b.jsx)(m,{title:e(`personalityPage.title`),subtitle:e(`personalityPage.subtitle`),children:C.isError?(0,b.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e(`personalityPage.loadError`)}):(0,b.jsx)(`div`,{className:`flex flex-col gap-6`,children:x.map(t=>{let n=e(t.leftKey),r=e(t.rightKey);return(0,b.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,b.jsxs)(`div`,{className:`flex items-center justify-between gap-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,b.jsx)(`span`,{children:n}),(0,b.jsx)(`span`,{children:r})]}),(0,b.jsx)(i,{value:O[t.id]??50,onValueChange:e=>{typeof e==`number`&&T({...O,[t.id]:e})},min:0,max:100,step:1,disabled:A,"aria-label":e(`personalityPage.rangeAriaLabel`,{left:n,right:r})})]},t.id)})})}),(0,b.jsx)(t,{onClick:k,disabled:A||C.isError,children:e(E?`personalityPage.saving`:`personalityPage.save`)})]})}export{S as SettingsPersonalityPage};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Na as t,Pa as n,Pc as r,W as i,Zs as a,hC as o,ic as s,iw as c,ja as l,nu as u,xS as d}from"./app-KRIEMzuO.js";import{$n as f,E as p,Gt as m,Kt as h,Ut as g,j as _,nr as v}from"./vendor-DLH51Vjf.js";import{f as y,t as b,x}from"./react-B9IgSVeK.js";import{$ as S,za as C}from"./icons-C0wyat6T.js";import{i as w,n as T,r as E,t as D}from"./personality-sliders-PxNPuK2H.js";import{n as O,t as k}from"./peeking-eyes-C3X1d6Jj.js";import{a as A,i as j,n as M,r as N,t as P}from"./use-assistant-identity-details-BPVOfzxy.js";import{r as F}from"./latest-assistant-text-C5TlzsjF.js";var I=e(x(),1),L=b();function R({components:e,traits:n,stage:r,entrance:i=!1,entranceDelay:a=0}){let o=(0,I.useMemo)(()=>{let r=e.eyeStyles.find(e=>e.id===n.eyeStyle);return r?{paths:r.paths,bbox:t(r.paths.map(e=>l(e.svgPath)))}:null},[e,n.eyeStyle]);return o?(0,L.jsx)(O,{art:o,stage:r,entrance:i,entranceDelay:a}):null}var z=`#17191C`,B=24,V=.2,H=96,U=160,W=(0,I.createContext)(null);function G(){let e=(0,I.useContext)(W);if(!e)throw Error(`useAssistantStage must be used inside <AssistantStage>`);return e}function K({components:e,traits:t,customImageUrl:r,accentHex:i,entrance:o=!1,children:l,className:u}){let{ref:d,size:f}=n(),p=i??z,m=s(p),h=a.use.setSurface();(0,I.useLayoutEffect)(()=>(h(p),()=>{h(null)}),[p,h]);let g=!!(e&&t),_=!g&&!!r,v=Math.round(Math.min(U,Math.max(H,Math.min(f.w,f.h)*V))),y=f.h-v-B,b=g?Math.round(k*Math.min(f.w,f.h))+16:_?v+B+16:24;return(0,L.jsxs)(`div`,{ref:d,className:c(`relative flex min-h-0 flex-1 flex-col overflow-hidden rounded-lg border border-[var(--border-base)]`,`native-mobile:rounded-none native-mobile:border-0`,u),style:{backgroundColor:p,color:m.fg},children:[g&&e&&t&&(0,L.jsx)(R,{components:e,traits:t,stage:f,entrance:o}),_&&r&&(0,L.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute z-[2] overflow-hidden rounded-full ring-4 ring-white/25`,style:{left:(f.w-v)/2,top:y,width:v,height:v},children:(0,L.jsx)(`img`,{src:r,alt:``,className:`h-full w-full object-cover`,draggable:!1})}),(0,L.jsx)(W.Provider,{value:{stage:f,tone:m,bottomReserve:b},children:(0,L.jsx)(`div`,{className:`relative z-10 flex min-h-0 flex-1 flex-col`,children:l})})]})}var q=`rgba(36, 41, 46, 0.25)`,J=`#FDFDFC`;function Y({axis:e,value:t,onValueChange:n,tone:r,disabled:i}){let{t:a}=p(`intelligence`),o=a(e.leftKey),s=a(e.rightKey);return(0,L.jsxs)(`div`,{className:`flex w-full shrink-0 flex-wrap items-center gap-x-5 gap-y-1.5 sm:flex-nowrap`,style:{opacity:i?.7:1},children:[(0,L.jsx)(`span`,{className:`order-1 flex-1 text-left text-sm sm:w-32 sm:flex-none sm:text-right sm:text-[17px]`,style:{color:r.fg},children:o}),(0,L.jsx)(`span`,{className:`order-2 flex-1 text-right text-sm sm:order-3 sm:w-32 sm:flex-none sm:text-left sm:text-[17px]`,style:{color:r.fg},children:s}),(0,L.jsxs)(g,{"data-owns-horizontal-drag":``,className:`relative order-3 flex h-6 w-full touch-none items-center select-none sm:order-2 sm:w-auto sm:flex-1`,value:[t],onValueChange:e=>n(e[0]??A),disabled:i,min:0,max:100,step:1,"aria-label":a(`personalitySliderRow.rangeAriaLabel`,{left:o,right:s}),children:[(0,L.jsx)(h,{className:`relative h-2 w-full grow rounded-full sm:h-3`,style:{backgroundColor:q}}),(0,L.jsx)(m,{className:`block h-5 w-5 cursor-grab rounded-full shadow-sm transition-transform active:scale-95 active:cursor-grabbing keyboard-focus:outline-none keyboard-focus:ring-2 keyboard-focus:ring-white/70 data-[disabled]:cursor-not-allowed data-[disabled]:active:scale-100 sm:h-6 sm:w-6`,style:{backgroundColor:J}})]})]})}async function X({assistantId:e,values:t,assistantName:n}){return N({assistantId:e,content:F(t,void 0,n),title:_(`applyPersonalityUpdate.conversationTitle`,{ns:`intelligence`}),context:`identity_personality_update`})}function Z(){let{t:e}=p(`intelligence`),t=i(),n=y(),a=v(),{components:s,traits:c,customImageUrl:l,accentHex:u}=r(t),m=M(t),h=f({queryKey:E(t),queryFn:()=>T(t)}),[g,_]=(0,I.useState)(null),[b,x]=(0,I.useState)(!1),S=g??h.data??{},C=m.data?.identity?.name||e(`identityOverview.defaultAssistantName`);return(0,L.jsx)(K,{components:s,traits:c,customImageUrl:l,accentHex:u,entrance:!0,children:(0,L.jsx)(Q,{assistantName:C,values:S,onValueChange:(e,t)=>_({...S,[e]:t}),applying:b,onUpdate:()=>{x(!0);let r=D(S);X({assistantId:t,values:r,assistantName:m.data?.identity?.name}).then(async i=>{x(!1),i?(await w(t,r),a.invalidateQueries({queryKey:E(t)}),a.invalidateQueries({queryKey:P(t)}),o.success(e(`personalityPage.updateSuccessToast`)),n(d.identity)):o.error(e(`personalityPage.updateErrorToast`))})},onBack:()=>void n(d.identity)})})}function Q({assistantName:e,values:t,onValueChange:n,applying:r,onUpdate:i,onBack:a}){let{t:o}=p(`intelligence`),s=u(),{tone:c,bottomReserve:l}=G(),d=c.isLight?`bg-black/10 hover:bg-black/20`:`bg-white/10 hover:bg-white/20`;return(0,L.jsxs)(L.Fragment,{children:[s?null:(0,L.jsxs)(`button`,{type:`button`,onClick:a,className:`absolute top-4 left-4 z-20 flex cursor-pointer items-center gap-1.5 rounded-full py-2 pr-4 pl-3 text-body-medium-default backdrop-blur-sm transition-all duration-150 active:scale-[0.97] ${d}`,style:{color:c.fg},children:[(0,L.jsx)(C,{className:`h-4 w-4`,"aria-hidden":!0}),o(`personalityPage.back`)]}),(0,L.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col items-center overflow-y-auto px-6`,style:{paddingBottom:l},children:[(0,L.jsx)(`div`,{className:`w-full min-h-14 shrink-[4]`,style:{flexBasis:`12%`}}),(0,L.jsxs)(`div`,{className:`flex shrink-0 flex-col items-center gap-2 text-center`,children:[(0,L.jsx)(`h1`,{className:`text-[2.6rem] leading-none max-sm:text-[2rem]`,style:{fontFamily:`var(--font-serif)`},children:o(`personalityPage.title`)}),(0,L.jsx)(`p`,{className:`max-w-md text-[15px]`,style:{color:c.fgMuted},children:o(`personalityPage.subtitle`)})]}),(0,L.jsx)(`div`,{className:`w-full min-h-3 shrink-[2] basis-10`}),(0,L.jsx)(`div`,{className:`flex w-full max-w-2xl shrink-0 flex-col`,children:j.map((e,i)=>(0,L.jsxs)(I.Fragment,{children:[i>0&&(0,L.jsx)(`div`,{className:`w-full min-h-2.5 shrink basis-8 sm:basis-11`}),(0,L.jsx)(Y,{axis:e,value:t[e.id]??A,onValueChange:t=>n(e.id,t),tone:c,disabled:r})]},e.id))}),(0,L.jsx)(`div`,{className:`w-full min-h-3 shrink-[2] basis-12`}),(0,L.jsx)(`button`,{type:`button`,onClick:i,disabled:r,className:`flex min-h-11 min-w-[240px] max-w-full shrink-0 cursor-pointer items-center justify-center gap-2 rounded-[10px] px-6 py-2 text-body-medium-default transition-transform duration-150 active:scale-[0.97] disabled:cursor-default disabled:opacity-80 disabled:active:scale-100`,style:{backgroundColor:c.isLight?`#1A1A1A`:`#FFFFFF`,color:c.isLight?`#FFFFFF`:`#1A1A1A`},children:r?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`div`,{className:`h-4 w-4 shrink-0 animate-spin rounded-full border-2 border-transparent`,style:{borderTopColor:c.isLight?`#FFFFFF`:`#1A1A1A`,borderRightColor:c.isLight?`#FFFFFF`:`#1A1A1A`}}),(0,L.jsx)(`span`,{className:`min-w-0 text-center`,children:o(`personalityPage.updatingPersonality`,{name:e})})]}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(S,{className:`h-4 w-4`,"aria-hidden":!0}),o(`personalityPage.updatePersonality`)]})})]})]})}export{Z as PersonalityPage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Na as t,Pa as n,Pc as r,W as i,Zs as a,hC as o,ic as s,iw as c,ja as l,nu as u,xS as d}from"./app-BEoekemj.js";import{$n as f,E as p,Gt as m,Kt as h,Ut as g,j as _,nr as v}from"./vendor-cVd2QlFV.js";import{f as y,t as b,x}from"./react-B9IgSVeK.js";import{$ as S,za as C}from"./icons-C0wyat6T.js";import{i as w,n as T,r as E,t as D}from"./personality-sliders-DahfpXIK.js";import{n as O,t as k}from"./peeking-eyes-GhtIN21V.js";import{a as A,i as j,n as M,r as N,t as P}from"./use-assistant-identity-details-C3ihvjLl.js";import{r as F}from"./latest-assistant-text-CfRyVmjf.js";var I=e(x(),1),L=b();function R({components:e,traits:n,stage:r,entrance:i=!1,entranceDelay:a=0}){let o=(0,I.useMemo)(()=>{let r=e.eyeStyles.find(e=>e.id===n.eyeStyle);return r?{paths:r.paths,bbox:t(r.paths.map(e=>l(e.svgPath)))}:null},[e,n.eyeStyle]);return o?(0,L.jsx)(O,{art:o,stage:r,entrance:i,entranceDelay:a}):null}var z=`#17191C`,B=24,V=.2,H=96,U=160,W=(0,I.createContext)(null);function G(){let e=(0,I.useContext)(W);if(!e)throw Error(`useAssistantStage must be used inside <AssistantStage>`);return e}function K({components:e,traits:t,customImageUrl:r,accentHex:i,entrance:o=!1,children:l,className:u}){let{ref:d,size:f}=n(),p=i??z,m=s(p),h=a.use.setSurface();(0,I.useLayoutEffect)(()=>(h(p),()=>{h(null)}),[p,h]);let g=!!(e&&t),_=!g&&!!r,v=Math.round(Math.min(U,Math.max(H,Math.min(f.w,f.h)*V))),y=f.h-v-B,b=g?Math.round(k*Math.min(f.w,f.h))+16:_?v+B+16:24;return(0,L.jsxs)(`div`,{ref:d,className:c(`relative flex min-h-0 flex-1 flex-col overflow-hidden rounded-lg border border-[var(--border-base)]`,`native-mobile:rounded-none native-mobile:border-0`,u),style:{backgroundColor:p,color:m.fg},children:[g&&e&&t&&(0,L.jsx)(R,{components:e,traits:t,stage:f,entrance:o}),_&&r&&(0,L.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute z-[2] overflow-hidden rounded-full ring-4 ring-white/25`,style:{left:(f.w-v)/2,top:y,width:v,height:v},children:(0,L.jsx)(`img`,{src:r,alt:``,className:`h-full w-full object-cover`,draggable:!1})}),(0,L.jsx)(W.Provider,{value:{stage:f,tone:m,bottomReserve:b},children:(0,L.jsx)(`div`,{className:`relative z-10 flex min-h-0 flex-1 flex-col`,children:l})})]})}var q=`rgba(36, 41, 46, 0.25)`,J=`#FDFDFC`;function Y({axis:e,value:t,onValueChange:n,tone:r,disabled:i}){let{t:a}=p(`intelligence`),o=a(e.leftKey),s=a(e.rightKey);return(0,L.jsxs)(`div`,{className:`flex w-full shrink-0 flex-wrap items-center gap-x-5 gap-y-1.5 sm:flex-nowrap`,style:{opacity:i?.7:1},children:[(0,L.jsx)(`span`,{className:`order-1 flex-1 text-left text-sm sm:w-32 sm:flex-none sm:text-right sm:text-[17px]`,style:{color:r.fg},children:o}),(0,L.jsx)(`span`,{className:`order-2 flex-1 text-right text-sm sm:order-3 sm:w-32 sm:flex-none sm:text-left sm:text-[17px]`,style:{color:r.fg},children:s}),(0,L.jsxs)(g,{"data-owns-horizontal-drag":``,className:`relative order-3 flex h-6 w-full touch-none items-center select-none sm:order-2 sm:w-auto sm:flex-1`,value:[t],onValueChange:e=>n(e[0]??A),disabled:i,min:0,max:100,step:1,"aria-label":a(`personalitySliderRow.rangeAriaLabel`,{left:o,right:s}),children:[(0,L.jsx)(h,{className:`relative h-2 w-full grow rounded-full sm:h-3`,style:{backgroundColor:q}}),(0,L.jsx)(m,{className:`block h-5 w-5 cursor-grab rounded-full shadow-sm transition-transform active:scale-95 active:cursor-grabbing keyboard-focus:outline-none keyboard-focus:ring-2 keyboard-focus:ring-white/70 data-[disabled]:cursor-not-allowed data-[disabled]:active:scale-100 sm:h-6 sm:w-6`,style:{backgroundColor:J}})]})]})}async function X({assistantId:e,values:t,assistantName:n}){return N({assistantId:e,content:F(t,void 0,n),title:_(`applyPersonalityUpdate.conversationTitle`,{ns:`intelligence`}),context:`identity_personality_update`})}function Z(){let{t:e}=p(`intelligence`),t=i(),n=y(),a=v(),{components:s,traits:c,customImageUrl:l,accentHex:u}=r(t),m=M(t),h=f({queryKey:E(t),queryFn:()=>T(t)}),[g,_]=(0,I.useState)(null),[b,x]=(0,I.useState)(!1),S=g??h.data??{},C=m.data?.identity?.name||e(`identityOverview.defaultAssistantName`);return(0,L.jsx)(K,{components:s,traits:c,customImageUrl:l,accentHex:u,entrance:!0,children:(0,L.jsx)(Q,{assistantName:C,values:S,onValueChange:(e,t)=>_({...S,[e]:t}),applying:b,onUpdate:()=>{x(!0);let r=D(S);X({assistantId:t,values:r,assistantName:m.data?.identity?.name}).then(async i=>{x(!1),i?(await w(t,r),a.invalidateQueries({queryKey:E(t)}),a.invalidateQueries({queryKey:P(t)}),o.success(e(`personalityPage.updateSuccessToast`)),n(d.identity)):o.error(e(`personalityPage.updateErrorToast`))})},onBack:()=>void n(d.identity)})})}function Q({assistantName:e,values:t,onValueChange:n,applying:r,onUpdate:i,onBack:a}){let{t:o}=p(`intelligence`),s=u(),{tone:c,bottomReserve:l}=G(),d=c.isLight?`bg-black/10 hover:bg-black/20`:`bg-white/10 hover:bg-white/20`;return(0,L.jsxs)(L.Fragment,{children:[s?null:(0,L.jsxs)(`button`,{type:`button`,onClick:a,className:`absolute top-4 left-4 z-20 flex cursor-pointer items-center gap-1.5 rounded-full py-2 pr-4 pl-3 text-body-medium-default backdrop-blur-sm transition-all duration-150 active:scale-[0.97] ${d}`,style:{color:c.fg},children:[(0,L.jsx)(C,{className:`h-4 w-4`,"aria-hidden":!0}),o(`personalityPage.back`)]}),(0,L.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col items-center overflow-y-auto px-6`,style:{paddingBottom:l},children:[(0,L.jsx)(`div`,{className:`w-full min-h-14 shrink-[4]`,style:{flexBasis:`12%`}}),(0,L.jsxs)(`div`,{className:`flex shrink-0 flex-col items-center gap-2 text-center`,children:[(0,L.jsx)(`h1`,{className:`text-[2.6rem] leading-none max-sm:text-[2rem]`,style:{fontFamily:`var(--font-serif)`},children:o(`personalityPage.title`)}),(0,L.jsx)(`p`,{className:`max-w-md text-[15px]`,style:{color:c.fgMuted},children:o(`personalityPage.subtitle`)})]}),(0,L.jsx)(`div`,{className:`w-full min-h-3 shrink-[2] basis-10`}),(0,L.jsx)(`div`,{className:`flex w-full max-w-2xl shrink-0 flex-col`,children:j.map((e,i)=>(0,L.jsxs)(I.Fragment,{children:[i>0&&(0,L.jsx)(`div`,{className:`w-full min-h-2.5 shrink basis-8 sm:basis-11`}),(0,L.jsx)(Y,{axis:e,value:t[e.id]??A,onValueChange:t=>n(e.id,t),tone:c,disabled:r})]},e.id))}),(0,L.jsx)(`div`,{className:`w-full min-h-3 shrink-[2] basis-12`}),(0,L.jsx)(`button`,{type:`button`,onClick:i,disabled:r,className:`flex min-h-11 min-w-[240px] max-w-full shrink-0 cursor-pointer items-center justify-center gap-2 rounded-[10px] px-6 py-2 text-body-medium-default transition-transform duration-150 active:scale-[0.97] disabled:cursor-default disabled:opacity-80 disabled:active:scale-100`,style:{backgroundColor:c.isLight?`#1A1A1A`:`#FFFFFF`,color:c.isLight?`#FFFFFF`:`#1A1A1A`},children:r?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`div`,{className:`h-4 w-4 shrink-0 animate-spin rounded-full border-2 border-transparent`,style:{borderTopColor:c.isLight?`#FFFFFF`:`#1A1A1A`,borderRightColor:c.isLight?`#FFFFFF`:`#1A1A1A`}}),(0,L.jsx)(`span`,{className:`min-w-0 text-center`,children:o(`personalityPage.updatingPersonality`,{name:e})})]}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(S,{className:`h-4 w-4`,"aria-hidden":!0}),o(`personalityPage.updatePersonality`)]})})]})]})}export{Z as PersonalityPage};
@@ -1 +1 @@
1
- import{FS as e,Fy as t,jy as n,mv as r,pv as i}from"./app-KRIEMzuO.js";function a(e){return[`personality-sliders`,e]}function o(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`number`)}function s(e){return Object.fromEntries(Object.values(i).map(t=>[t,e[t]??50]))}async function c(t){let{data:i,error:a,response:s}=await n({path:{assistant_id:t},query:{path:r},throwOnError:!1});if(e(s,a,`Failed to fetch personality sliders`),s.status===404)return null;if(!s.ok||!i)throw Error(`Failed to fetch personality sliders`);let c=JSON.parse(i.content);if(!o(c))throw Error(`Personality sliders sidecar is malformed`);return c}async function l(n,i){try{let{error:a,response:o}=await t({path:{assistant_id:n},body:{path:r,content:JSON.stringify(i,null,2),encoding:`utf-8`},throwOnError:!1});return e(o,a,`Failed to save personality sliders`),o.ok}catch{return!1}}export{l as i,c as n,a as r,s as t};
1
+ import{FS as e,Fy as t,jy as n,mv as r,pv as i}from"./app-BEoekemj.js";function a(e){return[`personality-sliders`,e]}function o(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`number`)}function s(e){return Object.fromEntries(Object.values(i).map(t=>[t,e[t]??50]))}async function c(t){let{data:i,error:a,response:s}=await n({path:{assistant_id:t},query:{path:r},throwOnError:!1});if(e(s,a,`Failed to fetch personality sliders`),s.status===404)return null;if(!s.ok||!i)throw Error(`Failed to fetch personality sliders`);let c=JSON.parse(i.content);if(!o(c))throw Error(`Personality sliders sidecar is malformed`);return c}async function l(n,i){try{let{error:a,response:o}=await t({path:{assistant_id:n},body:{path:r,content:JSON.stringify(i,null,2),encoding:`utf-8`},throwOnError:!1});return e(o,a,`Failed to save personality sliders`),o.ok}catch{return!1}}export{l as i,c as n,a as r,s as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,Ad as n,Fd as r,HC as i,Id as a,Ld as o,Ng as s,PC as c,SS as l,Uy as u,_h as d,ah as f,bh as p,fC as m,gC as h,hC as g,hS as _,kd as v,lb as y,wi as b,xS as x,yh as S,zy as C}from"./app-KRIEMzuO.js";import{$n as w,E as T,O as ee,Xn as E,nr as te}from"./vendor-DLH51Vjf.js";import{_ as ne,f as re,t as D,x as ie}from"./react-B9IgSVeK.js";import{D as O,Yn as ae,it as k,pi as A,xr as oe,za as se,zi as j}from"./icons-C0wyat6T.js";import{A as ce,B as le,E as M,F as ue,G as de,H as fe,I as pe,K as me,M as N,N as he,O as P,P as F,S as ge,U as _e,V as ve,W as ye,_ as be,f as xe,g as Se,h as Ce,i as we,j as Te,k as Ee,n as De,o as Oe,r as ke,s as Ae,t as je,w as Me,z as I}from"./use-checkout-dismiss-refresh-DYmiO0wT.js";import{t as Ne}from"./android-billing-handoff-CvgyuFs9.js";import{t as Pe}from"./checkout-return-target-B6Qnd5vl.js";import{i as L,r as Fe,s as Ie,t as R}from"./machine-sizes-srbag24Q.js";var z=e(ie(),1),B=`__none__`,V=`__baseline__`,H=`${L[R]} machine (${Fe[R]})`;function U(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===V,d=u?null:s.find(e=>e.tier===r)??null,f=u?H: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?H: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=n!=null&&n.hasPlatformFee===!1,C=[{key:`base`,label:`Platform fee: ${ce(t.base_price_cents)}`,changed:S}];if(f!=null){let e=n!=null&&!b&&g!==r;C.push({key:`machine`,label:f,previousLabel:e?_:void 0,changed:e})}if(p!=null){let e=n!=null&&!x&&v?.tier!==p.tier;C.push({key:`storage`,label:N(p.storage_gib),previousLabel:e&&v!=null?N(v.storage_gib):void 0,changed:e})}let w=a===`__none__`?o:m==null?null:m.label;if(w!=null){let e=n!=null&&(n.creditTier??`__none__`)!==a,t=n?.creditTier==null?o:y?.label;C.push({key:`credit`,label:w,previousLabel:e?t:void 0,changed:e})}let T=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:T,previousTotalCents:null,deltaCents:null,rows:C};let E=(S?0:t.base_price_cents)+(h?.price_cents??0)+(v?.price_cents??0)+(y?.price_cents??0);return{totalCents:T,previousTotalCents:E,deltaCents:T-E,rows:C}}var Le=`https://www.vellum.ai/docs/pricing`,Re=`${Le}#machine-sizes`,ze=`${Le}#storage`,Be=`${Le}#credit-bundles`,W=D();function G(e){return(0,W.jsxs)(`span`,{className:`text-[12px] font-medium text-[var(--content-disabled)]`,children:[`+`,ce(e)]})}function K({label:e,docsUrl:t,docsLabel:n,learnMore:r}){return(0,W.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,W.jsx)(`span`,{className:`text-[11px] font-medium text-[var(--content-secondary)]`,children:e}),(0,W.jsx)(C,{href:t,"aria-label":n,tone:`quiet`,glyph:!1,className:`text-[11px] font-medium text-[var(--content-tertiary)]`,children:r})]})}function Ve({open:e,proPlan:n,pending:r,currentStorageGib:i,initialSelection:a,onClose:o,onContinue:s}){let{t:c}=T(`settings`),l=c(`customPlanModal.noExtraUsage`),u=e?a??null:null,[d,f]=(0,z.useState)(()=>u?u.machineTier??`__baseline__`:``),[p,g]=(0,z.useState)(()=>u?.storageTier??``),[_,v]=(0,z.useState)(()=>u?u.creditTier??`__none__`:``),[y,b]=(0,z.useState)({open:e,initialSelection:a});(y.open!==e||y.initialSelection!==a)&&(b({open:e,initialSelection:a}),f(u?u.machineTier??`__baseline__`:``),g(u?.storageTier??``),v(u?u.creditTier??`__none__`:``));let x=n.machine_tiers,S=(0,z.useMemo)(()=>n.storage_tiers.filter(e=>!e.legacy||e.tier===a?.storageTier),[n.storage_tiers,a?.storageTier]),C=n.credit_tiers??[],w=(0,z.useMemo)(()=>(n.credit_tiers??[]).filter(e=>!e.legacy),[n.credit_tiers]),ee=e=>ge(e)||e.legacy&&e.tier!==a?.storageTier||i!=null&&e.storage_gib<i,E=a!=null&&a.machineTier==null,te=[...E?[{value:V,label:H,icon:(0,W.jsx)(me,{className:`h-4 w-4`,"aria-hidden":!0}),disabled:!0}]:[],...x.map(e=>({value:e.tier,label:e.description,icon:(0,W.jsx)(me,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:G(e.price_cents),disabled:ge(e)}))],ne=S.map(e=>({value:e.tier,label:e.label,icon:(0,W.jsx)(oe,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:G(e.price_cents),disabled:ee(e)})),re=_&&_!==`__none__`?C.find(e=>e.tier===_)??null:null,D=re?.legacy?re:null,ie=[{value:B,label:l,icon:(0,W.jsx)(A,{className:`h-4 w-4`,"aria-hidden":!0})},...w.map(e=>({value:e.tier,label:e.label,icon:(0,W.jsx)(A,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:G(e.price_cents)})),...D?[{value:D.tier,label:D.label,icon:(0,W.jsx)(A,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:G(D.price_cents),disabled:!0}]:[]],O=d===V,ae=O?null:x.find(e=>e.tier===d)??null,se=O?E?{tier:null}:null:ae==null?null:{tier:ae.tier},le=p!==``&&p===a?.storageTier,M=S.find(e=>e.tier===p&&(le||!ee(e)))??null,ue=_===`__none__`||_===a?.creditTier||w.some(e=>e.tier===_),de=_!==``&&ue?_:null,fe=se!=null&&M!=null&&de!=null,pe=a!=null&&a.hasPlatformFee!==!1&&d===(a.machineTier??`__baseline__`)&&p===a.storageTier&&_===(a.creditTier??`__none__`),N=(0,z.useMemo)(()=>U({proPlan:n,seed:a??null,machineTier:d,storageTier:p,creditChoice:_,noBundleLabel:l}),[n,a,d,p,_,l]);return(0,W.jsx)(h.Root,{open:e,onOpenChange:e=>{e||o()},children:(0,W.jsx)(h.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,W.jsx)(h.Body,{className:`p-4`,children:(0,W.jsxs)(`div`,{className:`flex flex-col gap-8 md:flex-row md:gap-12`,children:[(0,W.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-6 md:flex-1`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,W.jsx)(`div`,{className:`flex shrink-0 items-center justify-center rounded-xl bg-[var(--surface-active)] p-[14px]`,children:(0,W.jsx)(k,{className:`h-6 w-6 text-[var(--content-emphasised)]`,"aria-hidden":!0})}),(0,W.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,W.jsx)(h.Title,{className:`text-[16px] font-medium text-[var(--content-emphasised)]`,children:c(`customPlanModal.title`)}),(0,W.jsx)(h.Description,{className:`mt-0 text-[14px] font-medium leading-[18px] text-[var(--content-tertiary)]`,children:c(`customPlanModal.subtitle`)})]})]}),(0,W.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,W.jsx)(K,{label:c(`customPlanModal.machineSizeLabel`),docsUrl:Re,docsLabel:c(`customPlanModal.machineSizeDocsAriaLabel`),learnMore:c(`customPlanModal.learnMore`)}),(0,W.jsx)(m,{"aria-label":c(`customPlanModal.machineSizeAriaLabel`),placeholder:c(`customPlanModal.machineSizePlaceholder`),value:d,onChange:f,options:te})]}),(0,W.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,W.jsx)(K,{label:c(`customPlanModal.storageLabel`),docsUrl:ze,docsLabel:c(`customPlanModal.storageDocsAriaLabel`),learnMore:c(`customPlanModal.learnMore`)}),(0,W.jsx)(m,{"aria-label":c(`customPlanModal.storageAriaLabel`),placeholder:c(`customPlanModal.storagePlaceholder`),value:p,onChange:g,options:ne})]}),(0,W.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,W.jsx)(K,{label:c(`customPlanModal.usageBundleLabel`),docsUrl:Be,docsLabel:c(`customPlanModal.usageBundleDocsAriaLabel`),learnMore:c(`customPlanModal.learnMore`)}),(0,W.jsx)(m,{"aria-label":c(`customPlanModal.usageBundleAriaLabel`),placeholder:c(`customPlanModal.usageBundlePlaceholder`),value:_,onChange:v,options:ie})]})]}),(0,W.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-16 md:pt-[5px]`,children:[(0,W.jsx)(`span`,{className:`text-[16px] font-medium text-[var(--content-emphasised)]`,children:c(`customPlanModal.recap`)}),(0,W.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,W.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,W.jsx)(`span`,{className:`text-[24px] font-medium text-[var(--content-default)]`,children:ce(N.totalCents)}),N.deltaCents!=null&&N.deltaCents!==0&&N.previousTotalCents!=null&&(0,W.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:P(N.deltaCents),previous:Ee(N.previousTotalCents)})}),(0,W.jsx)(`span`,{className:`text-[11px] font-medium text-[var(--content-tertiary)]`,children:c(`customPlanModal.totalBilledMonthly`)})]}),(0,W.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,W.jsx)(`span`,{className:`text-[12px] font-medium text-[var(--content-tertiary)]`,children:c(`customPlanModal.yourSelection`)}),(0,W.jsx)(`ul`,{className:`flex flex-col gap-2`,children:N.rows.map(e=>(0,W.jsxs)(`li`,{className:`flex flex-col gap-2`,children:[e.previousLabel!=null&&(0,W.jsxs)(`div`,{className:`relative flex w-fit items-start gap-2`,children:[(0,W.jsx)(j,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`,"aria-hidden":!0}),(0,W.jsx)(`s`,{className:`text-[14px] font-medium leading-[18px] text-[var(--content-disabled)] no-underline`,children:e.previousLabel}),(0,W.jsx)(`span`,{"aria-hidden":!0,className:`pointer-events-none absolute -left-1 right-0 top-[9px] h-px bg-[var(--content-disabled)]`})]}),(0,W.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,W.jsx)(j,{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,W.jsx)(`span`,{className:`text-[14px] font-medium leading-[18px] text-[var(--content-secondary)]`,children:e.label})]})]},e.key))}),(0,W.jsx)(t,{variant:`primary`,fullWidth:!0,disabled:!fe||pe||r,onClick:()=>{!fe||pe||r||s({machineTier:se.tier,storageTier:M.tier,creditTier:de===`__none__`?null:de})},children:c(`customPlanModal.continue`)}),(0,W.jsx)(t,{variant:`ghost`,fullWidth:!0,disabled:r,onClick:o,children:c(`customPlanModal.cancel`)})]})]})]})})})})}function He({className:e,onConfigure:n,configureDisabled:r,isCurrent:i=!1,currentSummary:a}){let{t:o}=T(`settings`);return(0,W.jsxs)(`div`,{className:`flex w-full flex-col items-center gap-8 ${e??``}`,children:[(0,W.jsx)(`p`,{className:`text-center text-[20px] font-medium text-[var(--content-tertiary)]`,children:o(`customPlanRow.prompt`)}),(0,W.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,W.jsxs)(`div`,{className:`flex min-w-0 items-center gap-4`,children:[(0,W.jsx)(`div`,{className:`flex shrink-0 items-center justify-center rounded-xl bg-[var(--content-disabled)] p-[14px]`,children:(0,W.jsx)(k,{className:`h-6 w-6 text-[var(--aux-white)]`,"aria-hidden":!0})}),(0,W.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,W.jsx)(`span`,{className:`text-[16px] font-medium text-[var(--content-emphasised)]`,children:o(`customPlanRow.title`)}),i?(0,W.jsx)(c,{className:`bg-[var(--feed-digest-weak)] text-[var(--content-default)]`,children:o(`customPlanRow.currentPlanTag`)}):null]}),(0,W.jsx)(`span`,{className:`text-[14px] font-medium text-[var(--content-tertiary)]`,children:a??o(`customPlanRow.genericDescriptor`)})]})]}),(0,W.jsx)(`div`,{className:`flex shrink-0 items-center gap-3`,children:(0,W.jsx)(t,{variant:`outlined`,onClick:n,disabled:r,children:o(`customPlanRow.configure`)})})]})]})}function Ue({open:e,pending:t,onCancel:n,...r}){return(0,W.jsx)(h.Root,{open:e,onOpenChange:e=>{!e&&!t&&n()},children:(0,W.jsx)(h.Content,{size:`md`,hideCloseButton:!0,children:(0,W.jsx)(We,{pending:t,onCancel:n,...r})})})}function We({lostFeatures:e,viaPortal:n,pending:r,onCancel:a,onConfirm:o}){let{t:s}=T(`settings`),c=e.length>0,[l,u]=(0,z.useState)(ve),d=n||fe(l);return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(h.Header,{icon:O,children:(0,W.jsx)(h.Title,{children:s(`freeDowngradeConfirmModal.title`)})}),(0,W.jsxs)(h.Body,{children:[(0,W.jsx)(i,{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,W.jsx)(`ul`,{className:`mt-4 list-disc space-y-2 pl-5`,children:e.map(e=>(0,W.jsx)(`li`,{children:(0,W.jsx)(i,{as:`span`,variant:`body-medium-default`,children:e})},e))}):null,n?null:(0,W.jsx)(le,{value:l,onChange:u,disabled:r})]}),(0,W.jsxs)(h.Footer,{children:[(0,W.jsx)(t,{variant:`outlined`,onClick:a,disabled:r,children:s(`freeDowngradeConfirmModal.cancel`)}),(0,W.jsx)(t,{variant:`danger`,onClick:()=>o(l),disabled:r||!d,"data-testid":`confirm-free-downgrade-button`,children:s(`freeDowngradeConfirmModal.confirm`)})]})]})}function Ge({tierKey:e,name:n,tagline:r,priceLabel:i,priceCaption:a,ctaLabel:o,features:s,recommended:l=!1,tone:u=`dark`,isCurrent:d,intent:f=`upgrade`,pending:p,onCta:m}){let{t:h}=T(`settings`),g=f===`downgrade`&&!d;return(0,W.jsxs)(`div`,{"data-theme":u,className:`flex w-full flex-col gap-3 rounded-2xl bg-[var(--surface-lift)] p-3 sm:gap-4 sm:p-4`,children:[(0,W.jsx)(F,{tier:e,size:50}),(0,W.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,W.jsxs)(`div`,{className:`flex h-8 items-center gap-2`,children:[(0,W.jsx)(`span`,{className:`text-[20px] font-medium text-[var(--content-emphasised)]`,children:n}),l&&!g&&!d?(0,W.jsx)(c,{className:`bg-[var(--feed-digest-weak)] text-[12px] font-semibold uppercase text-[var(--credits-accent)]`,children:h(`planColumnCard.recommended`)}):null]}),(0,W.jsx)(`p`,{className:`overflow-hidden text-[14px] font-medium leading-[18px] text-[var(--content-tertiary)] sm:h-9`,children:r})]}),(0,W.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,W.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,W.jsx)(`span`,{className:`text-[24px] font-medium text-[var(--content-default)]`,children:i}),(0,W.jsx)(`span`,{className:`text-[11px] font-medium text-[var(--content-tertiary)]`,children:a})]}),(0,W.jsx)(t,{variant:g?`outlined`:`primary`,fullWidth:!0,disabled:d||p,onClick:m,children:d?h(`planColumnCard.currentPlan`):o}),(0,W.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,W.jsxs)(`div`,{className:`flex flex-col gap-2 sm:gap-4`,children:[(0,W.jsx)(`span`,{className:`text-[12px] font-medium text-[var(--content-tertiary)]`,children:h(`planColumnCard.includes`)}),(0,W.jsx)(`ul`,{className:`flex flex-col gap-2`,children:s.map(e=>(0,W.jsxs)(`li`,{className:`flex items-start gap-2`,children:[(0,W.jsx)(j,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,W.jsx)(`span`,{className:`text-[14px] font-medium text-[var(--content-secondary)]`,children:e})]},e))})]})]})}function Ke(e,t){return t(`plansPage.featureComputer`,{machine:M(e)})}function qe(e,t,n){return[Ke(e,n),n(`plansPage.featureStorage`,{gib:e.storage_gib}),n(`plansPage.featureUsage`,{name:e.name}),...t]}function Je(e){return[e(`plansPage.freeFeatureSmallComputer`),e(`plansPage.freeFeatureStorage`,{gib:4}),e(`plansPage.freeFeaturePayAsYouGo`)]}var Ye=`#0A0A0B`,Xe=8e3,Ze={upgrade:`upgrade`,downgrade:`downgrade`,switch:`change`};b();function Qe(e,t){return Me(e,t).join(` · `)}function $e(){let{t:e}=T(`settings`),i=re(),[c,m]=ne(),h=te(),b=l(),D=p({platformHostedOnly:!0}),ie=d(),O=S(),k=D===`full`&&ie,A=D===`full`&&O,oe=w({...r(),enabled:k}),j=w({...v(),enabled:k}),ce=E(o()),{changePackage:le,isPending:M}=ke(),{changeTiers:fe,isPending:me,current:N,currentReady:P,currentKnown:F,primaryAssistantId:ge}=we({enabled:k});je();let[ve,Ee]=(0,z.useState)(!1),[Me,L]=(0,z.useState)(!1),[Fe,R]=(0,z.useState)(!1),[B,V]=(0,z.useState)(null),[H,U]=(0,z.useState)(!1),[Re,ze]=(0,z.useState)(void 0),Be=(0,z.useRef)(!1),[G,K]=(0,z.useState)(!1),We=(0,z.useRef)(!1),[Ke,$e]=(0,z.useState)(null),q=oe.data,J=j.data?.plans.find(e=>e.id===`pro`),et=J?.packages??[],tt=et.length>0,Y=q?.plan_id===`pro`,nt=f(),rt=de(ge,k&&nt&&Y&&F),it=F?rt:void 0,X=q?q.plan_id===`base`?`free`:pe(q.package)?q.package.key:null:null,{cancelSubscription:at,isPending:ot}=Oe(),st=Se(q),ct=xe(Ae(q)),lt=s(),ut=new Set(j.data?.plans.find(e=>e.id===`base`)?.included_features??[]),dt=(J?.included_features??[]).filter(e=>!ut.has(e)),Z=ve||M||ot||ct.isPending,ft=(0,z.useMemo)(()=>!Y||N.storageTier==null?null:{machineTier:N.machineTier,storageTier:N.storageTier,creditTier:N.creditTier,hasPlatformFee:N.hasPlatformFee},[Y,N.machineTier,N.storageTier,N.creditTier,N.hasPlatformFee]),Q=c.get(_),pt=!k&&!A,mt=k&&!j.isLoading&&!tt,$=pt||!(Q!=null&&!G)&&(oe.isError||mt);(0,z.useEffect)(()=>{$&&i(pt?x.settings.usageBilling:`${x.settings.usageBilling}&adjust_plan`,{replace:!0})},[$,pt,i]);let ht=()=>{(window.history.state?.idx??0)>0?i(-1):i(x.settings.usageBilling)},gt=async t=>{Ee(!0);try{let e=await ce.mutateAsync({body:{...t,return_target:Pe()}});e.status===`redirect`&&e.checkout_url?(y(t.package?{kind:`package`,packageKey:t.package}:{kind:`custom`,machineTier:t.machine_tier??null,storageTier:t.storage_tier??null,creditTier:t.credit_tier??null}),u(e.checkout_url)):(await h.invalidateQueries({queryKey:a()}),await h.invalidateQueries({queryKey:n()}))}catch(t){g.error(Ce(t,e(`plansPage.checkoutFailedToast`)))}finally{Ee(!1)}},_t=(e,t)=>{if(q&&!Z){if(lt){Ne(x.plans);return}if(Y){if(e===`free`){R(!0);return}let n=et.find(t=>t.key===e);if(!n||I(X,n.key)===`current`)return;if(!be(q)){i(`${x.settings.usageBilling}&adjust_plan`,{replace:t?.replaceOnBail===!0});return}V(n);return}e!==`free`&&gt({target_plan_id:`pro`,package:e,confirm:!0})}},vt=(0,z.useRef)(_t);(0,z.useEffect)(()=>{vt.current=_t}),(0,z.useEffect)(()=>{if(Q==null||Be.current||$||!k||We.current)return;We.current=!0;let e=setTimeout(()=>{K(!0)},Xe),t=()=>{clearTimeout(e),K(!0)};Promise.all([h.refetchQueries({queryKey:a()}),h.refetchQueries({queryKey:n()})]).then(t,t)},[$,Q,k,h]),(0,z.useEffect)(()=>{Q==null||Be.current||$||!k||!G||(Be.current=!0,Y&&Q!==`free`&&$e(Q),m(e=>{let t=new URLSearchParams(e);return t.delete(_),t},{replace:!0}))},[G,$,Q,k,Y,m]),(0,z.useEffect)(()=>{Ke==null||Q!=null||($e(null),vt.current(Ke,{replaceOnBail:!0}))},[Q,Ke]);let yt;if(q&&J&&tt){let t=Y&&X===null&&P&&N.storageGib!=null,n=t?Qe(N,J):void 0,r=async e=>{if(!st){R(!1),ct.mutate({});return}await at(_e(e))&&(R(!1),i(x.settings.usageBilling,{replace:!0}))},a=()=>({creditTier:N.creditTier,fromSnapshot:{machineSize:it?.machine_size??null,storageGib:it?.provisioned_storage_gib??null}}),o=B?X===null?`switch`:I(X,B.key)===`downgrade`?`downgrade`:`upgrade`:`upgrade`,s=async()=>{if(!B)return;let t=B,n=a(),r=X===null||!P||!F||Ie(N.machineTier,t.machine_tier),i=await le(t.key);if(!i)return;if(V(null),i.status===`no_op`){g.success(e(`plansPage.alreadyOnPlanToast`));return}let s=t.credit_tier??null;ze({fromSnapshot:n.fromSnapshot,credits:s===n.creditTier?null:{fromTier:n.creditTier,toTier:s},direction:Ze[o],canLowerResources:r}),U(!0)},c=e=>gt({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=!F||Ie(N.machineTier,t.machineTier),i=await fe(t,ft??void 0);i&&(L(!1),i.needsResize||i.creditChanged?(ze({fromSnapshot:n.fromSnapshot,credits:i.creditChanged?{fromTier:n.creditTier,toTier:t.creditTier}:null,direction:`change`,canLowerResources:r}),U(!0)):g.success(e(`plansPage.planUpdatedToast`)))},u=()=>{if(!Z){if(lt){Ne(x.plans);return}Y&&!P||L(!0)}},d=[...et].sort((e,t)=>ue.indexOf(e.key)-ue.indexOf(t.key)),f=he(`free`),p=Y?`downgrade`:I(X,`free`),m=Je(e);yt=(0,W.jsxs)(`div`,{className:`my-auto flex w-full flex-col items-center`,children:[(0,W.jsxs)(`header`,{className:`flex flex-col items-center gap-2 text-center`,children:[(0,W.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,W.jsx)(`p`,{className:`text-[20px] font-medium text-[var(--content-tertiary)]`,children:e(`plansPage.subheading`)})]}),(0,W.jsxs)(`div`,{className:`mt-6 grid w-full max-w-[1312px] grid-cols-1 gap-4 sm:mt-10 sm:grid-cols-2 sm:gap-6 lg:grid-cols-4`,children:[(0,W.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:()=>_t(`free`)}),d.map(t=>{let n=he(t.key),r=I(X,t.key);return(0,W.jsx)(Ge,{tierKey:t.key,name:t.name,tagline:n?.tagline??``,priceLabel:Te(t.total_price_cents),priceCaption:n?.priceCaption??e(`plansPage.billedMonthlyCaption`),ctaLabel:r===`downgrade`?e(`plansPage.downgradeTo`,{name:t.name}):n?.cta??t.name,features:qe(t,n?.extraFeatures??[],e),recommended:n?.recommended,tone:n?.recommended?`light`:`dark`,isCurrent:X===t.key,intent:r,pending:Z,onCta:()=>_t(t.key)},t.key)})]}),(0,W.jsx)(He,{className:`mt-6 sm:mt-10`,onConfigure:u,configureDisabled:Y&&!P||Z,isCurrent:t,currentSummary:n}),(0,W.jsx)(Ve,{open:Me,proPlan:J,pending:ve||me,currentStorageGib:Y?N.storageGib:null,initialSelection:ft,onClose:()=>L(!1),onContinue:e=>{Y?l(e):c(e)}}),(0,W.jsx)(De,{open:B!==null,relation:o,packageName:B?.name??``,targetPackage:B,pending:M,onCancel:()=>V(null),onConfirm:()=>void s()}),(0,W.jsx)(Ue,{open:Fe,lostFeatures:dt,viaPortal:!st,pending:ot||ct.isPending,onCancel:()=>R(!1),onConfirm:e=>void r(e)}),(0,W.jsx)(ye,{mode:`resize`,open:H,onClose:()=>{U(!1),ze(void 0)},resizeContext:Re}),(0,W.jsx)(`p`,{className:`mt-6 text-center text-[12px] font-medium text-[var(--content-tertiary)] sm:mt-10`,children:(0,W.jsx)(ee,{ns:`settings`,i18nKey:`plansPage.cancelAnytimeFooter`,components:{docsLink:(0,W.jsx)(C,{href:Le,tone:`quiet`,className:`text-[var(--content-default)]`,glyph:!1})}})})]})}else yt=(0,W.jsx)(`div`,{className:`my-auto flex items-center justify-center`,children:(0,W.jsx)(ae,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`,"aria-label":e(`plansPage.loadingPlansAriaLabel`)})});return(0,W.jsxs)(`div`,{"data-theme":`dark`,className:`plans-takeover-canvas-enter relative h-full w-full overflow-y-auto`,style:{backgroundColor:Ye},children:[(0,W.jsx)(`div`,{className:`absolute left-8 z-10 [-webkit-app-region:no-drag]`,style:{top:b?`3rem`:`2rem`},children:(0,W.jsx)(t,{variant:`outlined`,leftIcon:(0,W.jsx)(se,{className:`h-4 w-4`,"aria-hidden":!0}),onClick:ht,className:`[-webkit-app-region:no-drag]`,children:e(`plansPage.back`)})}),(0,W.jsx)(`div`,{className:`plans-takeover-content-enter flex min-h-full flex-col items-center px-4 pb-8 sm:px-6`,style:{paddingTop:b?`5rem`:`4rem`},children:yt})]})}function q(){return(0,W.jsx)($e,{})}export{q as PlansPage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,Ad as n,Fd as r,HC as i,Id as a,Ld as o,Ng as s,PC as c,SS as l,Uy as u,_h as d,ah as f,bh as p,fC as m,gC as h,hC as g,hS as _,kd as v,lb as y,wi as b,xS as x,yh as S,zy as C}from"./app-BEoekemj.js";import{$n as w,E as T,O as ee,Xn as E,nr as te}from"./vendor-cVd2QlFV.js";import{_ as ne,f as re,t as D,x as ie}from"./react-B9IgSVeK.js";import{D as O,Yn as ae,it as k,pi as A,xr as oe,za as se,zi as j}from"./icons-C0wyat6T.js";import{A as ce,B as le,E as M,F as ue,G as de,H as fe,I as pe,K as me,M as N,N as he,O as P,P as F,S as ge,U as _e,V as ve,W as ye,_ as be,f as xe,g as Se,h as Ce,i as we,j as Te,k as Ee,n as De,o as Oe,r as ke,s as Ae,t as je,w as Me,z as I}from"./use-checkout-dismiss-refresh-Db6rZnu3.js";import{t as Ne}from"./android-billing-handoff-DkztgMMX.js";import{t as Pe}from"./checkout-return-target-DMexYntq.js";import{i as L,r as Fe,s as Ie,t as R}from"./machine-sizes-srbag24Q.js";var z=e(ie(),1),B=`__none__`,V=`__baseline__`,H=`${L[R]} machine (${Fe[R]})`;function U(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===V,d=u?null:s.find(e=>e.tier===r)??null,f=u?H: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?H: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=n!=null&&n.hasPlatformFee===!1,C=[{key:`base`,label:`Platform fee: ${ce(t.base_price_cents)}`,changed:S}];if(f!=null){let e=n!=null&&!b&&g!==r;C.push({key:`machine`,label:f,previousLabel:e?_:void 0,changed:e})}if(p!=null){let e=n!=null&&!x&&v?.tier!==p.tier;C.push({key:`storage`,label:N(p.storage_gib),previousLabel:e&&v!=null?N(v.storage_gib):void 0,changed:e})}let w=a===`__none__`?o:m==null?null:m.label;if(w!=null){let e=n!=null&&(n.creditTier??`__none__`)!==a,t=n?.creditTier==null?o:y?.label;C.push({key:`credit`,label:w,previousLabel:e?t:void 0,changed:e})}let T=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:T,previousTotalCents:null,deltaCents:null,rows:C};let E=(S?0:t.base_price_cents)+(h?.price_cents??0)+(v?.price_cents??0)+(y?.price_cents??0);return{totalCents:T,previousTotalCents:E,deltaCents:T-E,rows:C}}var Le=`https://www.vellum.ai/docs/pricing`,Re=`${Le}#machine-sizes`,ze=`${Le}#storage`,Be=`${Le}#credit-bundles`,W=D();function G(e){return(0,W.jsxs)(`span`,{className:`text-[12px] font-medium text-[var(--content-disabled)]`,children:[`+`,ce(e)]})}function K({label:e,docsUrl:t,docsLabel:n,learnMore:r}){return(0,W.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,W.jsx)(`span`,{className:`text-[11px] font-medium text-[var(--content-secondary)]`,children:e}),(0,W.jsx)(C,{href:t,"aria-label":n,tone:`quiet`,glyph:!1,className:`text-[11px] font-medium text-[var(--content-tertiary)]`,children:r})]})}function Ve({open:e,proPlan:n,pending:r,currentStorageGib:i,initialSelection:a,onClose:o,onContinue:s}){let{t:c}=T(`settings`),l=c(`customPlanModal.noExtraUsage`),u=e?a??null:null,[d,f]=(0,z.useState)(()=>u?u.machineTier??`__baseline__`:``),[p,g]=(0,z.useState)(()=>u?.storageTier??``),[_,v]=(0,z.useState)(()=>u?u.creditTier??`__none__`:``),[y,b]=(0,z.useState)({open:e,initialSelection:a});(y.open!==e||y.initialSelection!==a)&&(b({open:e,initialSelection:a}),f(u?u.machineTier??`__baseline__`:``),g(u?.storageTier??``),v(u?u.creditTier??`__none__`:``));let x=n.machine_tiers,S=(0,z.useMemo)(()=>n.storage_tiers.filter(e=>!e.legacy||e.tier===a?.storageTier),[n.storage_tiers,a?.storageTier]),C=n.credit_tiers??[],w=(0,z.useMemo)(()=>(n.credit_tiers??[]).filter(e=>!e.legacy),[n.credit_tiers]),ee=e=>ge(e)||e.legacy&&e.tier!==a?.storageTier||i!=null&&e.storage_gib<i,E=a!=null&&a.machineTier==null,te=[...E?[{value:V,label:H,icon:(0,W.jsx)(me,{className:`h-4 w-4`,"aria-hidden":!0}),disabled:!0}]:[],...x.map(e=>({value:e.tier,label:e.description,icon:(0,W.jsx)(me,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:G(e.price_cents),disabled:ge(e)}))],ne=S.map(e=>({value:e.tier,label:e.label,icon:(0,W.jsx)(oe,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:G(e.price_cents),disabled:ee(e)})),re=_&&_!==`__none__`?C.find(e=>e.tier===_)??null:null,D=re?.legacy?re:null,ie=[{value:B,label:l,icon:(0,W.jsx)(A,{className:`h-4 w-4`,"aria-hidden":!0})},...w.map(e=>({value:e.tier,label:e.label,icon:(0,W.jsx)(A,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:G(e.price_cents)})),...D?[{value:D.tier,label:D.label,icon:(0,W.jsx)(A,{className:`h-4 w-4`,"aria-hidden":!0}),suffix:G(D.price_cents),disabled:!0}]:[]],O=d===V,ae=O?null:x.find(e=>e.tier===d)??null,se=O?E?{tier:null}:null:ae==null?null:{tier:ae.tier},le=p!==``&&p===a?.storageTier,M=S.find(e=>e.tier===p&&(le||!ee(e)))??null,ue=_===`__none__`||_===a?.creditTier||w.some(e=>e.tier===_),de=_!==``&&ue?_:null,fe=se!=null&&M!=null&&de!=null,pe=a!=null&&a.hasPlatformFee!==!1&&d===(a.machineTier??`__baseline__`)&&p===a.storageTier&&_===(a.creditTier??`__none__`),N=(0,z.useMemo)(()=>U({proPlan:n,seed:a??null,machineTier:d,storageTier:p,creditChoice:_,noBundleLabel:l}),[n,a,d,p,_,l]);return(0,W.jsx)(h.Root,{open:e,onOpenChange:e=>{e||o()},children:(0,W.jsx)(h.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,W.jsx)(h.Body,{className:`p-4`,children:(0,W.jsxs)(`div`,{className:`flex flex-col gap-8 md:flex-row md:gap-12`,children:[(0,W.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-6 md:flex-1`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,W.jsx)(`div`,{className:`flex shrink-0 items-center justify-center rounded-xl bg-[var(--surface-active)] p-[14px]`,children:(0,W.jsx)(k,{className:`h-6 w-6 text-[var(--content-emphasised)]`,"aria-hidden":!0})}),(0,W.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,W.jsx)(h.Title,{className:`text-[16px] font-medium text-[var(--content-emphasised)]`,children:c(`customPlanModal.title`)}),(0,W.jsx)(h.Description,{className:`mt-0 text-[14px] font-medium leading-[18px] text-[var(--content-tertiary)]`,children:c(`customPlanModal.subtitle`)})]})]}),(0,W.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,W.jsx)(K,{label:c(`customPlanModal.machineSizeLabel`),docsUrl:Re,docsLabel:c(`customPlanModal.machineSizeDocsAriaLabel`),learnMore:c(`customPlanModal.learnMore`)}),(0,W.jsx)(m,{"aria-label":c(`customPlanModal.machineSizeAriaLabel`),placeholder:c(`customPlanModal.machineSizePlaceholder`),value:d,onChange:f,options:te})]}),(0,W.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,W.jsx)(K,{label:c(`customPlanModal.storageLabel`),docsUrl:ze,docsLabel:c(`customPlanModal.storageDocsAriaLabel`),learnMore:c(`customPlanModal.learnMore`)}),(0,W.jsx)(m,{"aria-label":c(`customPlanModal.storageAriaLabel`),placeholder:c(`customPlanModal.storagePlaceholder`),value:p,onChange:g,options:ne})]}),(0,W.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,W.jsx)(K,{label:c(`customPlanModal.usageBundleLabel`),docsUrl:Be,docsLabel:c(`customPlanModal.usageBundleDocsAriaLabel`),learnMore:c(`customPlanModal.learnMore`)}),(0,W.jsx)(m,{"aria-label":c(`customPlanModal.usageBundleAriaLabel`),placeholder:c(`customPlanModal.usageBundlePlaceholder`),value:_,onChange:v,options:ie})]})]}),(0,W.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-16 md:pt-[5px]`,children:[(0,W.jsx)(`span`,{className:`text-[16px] font-medium text-[var(--content-emphasised)]`,children:c(`customPlanModal.recap`)}),(0,W.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,W.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,W.jsx)(`span`,{className:`text-[24px] font-medium text-[var(--content-default)]`,children:ce(N.totalCents)}),N.deltaCents!=null&&N.deltaCents!==0&&N.previousTotalCents!=null&&(0,W.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:P(N.deltaCents),previous:Ee(N.previousTotalCents)})}),(0,W.jsx)(`span`,{className:`text-[11px] font-medium text-[var(--content-tertiary)]`,children:c(`customPlanModal.totalBilledMonthly`)})]}),(0,W.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,W.jsx)(`span`,{className:`text-[12px] font-medium text-[var(--content-tertiary)]`,children:c(`customPlanModal.yourSelection`)}),(0,W.jsx)(`ul`,{className:`flex flex-col gap-2`,children:N.rows.map(e=>(0,W.jsxs)(`li`,{className:`flex flex-col gap-2`,children:[e.previousLabel!=null&&(0,W.jsxs)(`div`,{className:`relative flex w-fit items-start gap-2`,children:[(0,W.jsx)(j,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`,"aria-hidden":!0}),(0,W.jsx)(`s`,{className:`text-[14px] font-medium leading-[18px] text-[var(--content-disabled)] no-underline`,children:e.previousLabel}),(0,W.jsx)(`span`,{"aria-hidden":!0,className:`pointer-events-none absolute -left-1 right-0 top-[9px] h-px bg-[var(--content-disabled)]`})]}),(0,W.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,W.jsx)(j,{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,W.jsx)(`span`,{className:`text-[14px] font-medium leading-[18px] text-[var(--content-secondary)]`,children:e.label})]})]},e.key))}),(0,W.jsx)(t,{variant:`primary`,fullWidth:!0,disabled:!fe||pe||r,onClick:()=>{!fe||pe||r||s({machineTier:se.tier,storageTier:M.tier,creditTier:de===`__none__`?null:de})},children:c(`customPlanModal.continue`)}),(0,W.jsx)(t,{variant:`ghost`,fullWidth:!0,disabled:r,onClick:o,children:c(`customPlanModal.cancel`)})]})]})]})})})})}function He({className:e,onConfigure:n,configureDisabled:r,isCurrent:i=!1,currentSummary:a}){let{t:o}=T(`settings`);return(0,W.jsxs)(`div`,{className:`flex w-full flex-col items-center gap-8 ${e??``}`,children:[(0,W.jsx)(`p`,{className:`text-center text-[20px] font-medium text-[var(--content-tertiary)]`,children:o(`customPlanRow.prompt`)}),(0,W.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,W.jsxs)(`div`,{className:`flex min-w-0 items-center gap-4`,children:[(0,W.jsx)(`div`,{className:`flex shrink-0 items-center justify-center rounded-xl bg-[var(--content-disabled)] p-[14px]`,children:(0,W.jsx)(k,{className:`h-6 w-6 text-[var(--aux-white)]`,"aria-hidden":!0})}),(0,W.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,W.jsx)(`span`,{className:`text-[16px] font-medium text-[var(--content-emphasised)]`,children:o(`customPlanRow.title`)}),i?(0,W.jsx)(c,{className:`bg-[var(--feed-digest-weak)] text-[var(--content-default)]`,children:o(`customPlanRow.currentPlanTag`)}):null]}),(0,W.jsx)(`span`,{className:`text-[14px] font-medium text-[var(--content-tertiary)]`,children:a??o(`customPlanRow.genericDescriptor`)})]})]}),(0,W.jsx)(`div`,{className:`flex shrink-0 items-center gap-3`,children:(0,W.jsx)(t,{variant:`outlined`,onClick:n,disabled:r,children:o(`customPlanRow.configure`)})})]})]})}function Ue({open:e,pending:t,onCancel:n,...r}){return(0,W.jsx)(h.Root,{open:e,onOpenChange:e=>{!e&&!t&&n()},children:(0,W.jsx)(h.Content,{size:`md`,hideCloseButton:!0,children:(0,W.jsx)(We,{pending:t,onCancel:n,...r})})})}function We({lostFeatures:e,viaPortal:n,pending:r,onCancel:a,onConfirm:o}){let{t:s}=T(`settings`),c=e.length>0,[l,u]=(0,z.useState)(ve),d=n||fe(l);return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(h.Header,{icon:O,children:(0,W.jsx)(h.Title,{children:s(`freeDowngradeConfirmModal.title`)})}),(0,W.jsxs)(h.Body,{children:[(0,W.jsx)(i,{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,W.jsx)(`ul`,{className:`mt-4 list-disc space-y-2 pl-5`,children:e.map(e=>(0,W.jsx)(`li`,{children:(0,W.jsx)(i,{as:`span`,variant:`body-medium-default`,children:e})},e))}):null,n?null:(0,W.jsx)(le,{value:l,onChange:u,disabled:r})]}),(0,W.jsxs)(h.Footer,{children:[(0,W.jsx)(t,{variant:`outlined`,onClick:a,disabled:r,children:s(`freeDowngradeConfirmModal.cancel`)}),(0,W.jsx)(t,{variant:`danger`,onClick:()=>o(l),disabled:r||!d,"data-testid":`confirm-free-downgrade-button`,children:s(`freeDowngradeConfirmModal.confirm`)})]})]})}function Ge({tierKey:e,name:n,tagline:r,priceLabel:i,priceCaption:a,ctaLabel:o,features:s,recommended:l=!1,tone:u=`dark`,isCurrent:d,intent:f=`upgrade`,pending:p,onCta:m}){let{t:h}=T(`settings`),g=f===`downgrade`&&!d;return(0,W.jsxs)(`div`,{"data-theme":u,className:`flex w-full flex-col gap-3 rounded-2xl bg-[var(--surface-lift)] p-3 sm:gap-4 sm:p-4`,children:[(0,W.jsx)(F,{tier:e,size:50}),(0,W.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,W.jsxs)(`div`,{className:`flex h-8 items-center gap-2`,children:[(0,W.jsx)(`span`,{className:`text-[20px] font-medium text-[var(--content-emphasised)]`,children:n}),l&&!g&&!d?(0,W.jsx)(c,{className:`bg-[var(--feed-digest-weak)] text-[12px] font-semibold uppercase text-[var(--credits-accent)]`,children:h(`planColumnCard.recommended`)}):null]}),(0,W.jsx)(`p`,{className:`overflow-hidden text-[14px] font-medium leading-[18px] text-[var(--content-tertiary)] sm:h-9`,children:r})]}),(0,W.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,W.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,W.jsx)(`span`,{className:`text-[24px] font-medium text-[var(--content-default)]`,children:i}),(0,W.jsx)(`span`,{className:`text-[11px] font-medium text-[var(--content-tertiary)]`,children:a})]}),(0,W.jsx)(t,{variant:g?`outlined`:`primary`,fullWidth:!0,disabled:d||p,onClick:m,children:d?h(`planColumnCard.currentPlan`):o}),(0,W.jsx)(`div`,{className:`h-px w-full bg-[var(--border-hover)]`}),(0,W.jsxs)(`div`,{className:`flex flex-col gap-2 sm:gap-4`,children:[(0,W.jsx)(`span`,{className:`text-[12px] font-medium text-[var(--content-tertiary)]`,children:h(`planColumnCard.includes`)}),(0,W.jsx)(`ul`,{className:`flex flex-col gap-2`,children:s.map(e=>(0,W.jsxs)(`li`,{className:`flex items-start gap-2`,children:[(0,W.jsx)(j,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,W.jsx)(`span`,{className:`text-[14px] font-medium text-[var(--content-secondary)]`,children:e})]},e))})]})]})}function Ke(e,t){return t(`plansPage.featureComputer`,{machine:M(e)})}function qe(e,t,n){return[Ke(e,n),n(`plansPage.featureStorage`,{gib:e.storage_gib}),n(`plansPage.featureUsage`,{name:e.name}),...t]}function Je(e){return[e(`plansPage.freeFeatureSmallComputer`),e(`plansPage.freeFeatureStorage`,{gib:4}),e(`plansPage.freeFeaturePayAsYouGo`)]}var Ye=`#0A0A0B`,Xe=8e3,Ze={upgrade:`upgrade`,downgrade:`downgrade`,switch:`change`};b();function Qe(e,t){return Me(e,t).join(` · `)}function $e(){let{t:e}=T(`settings`),i=re(),[c,m]=ne(),h=te(),b=l(),D=p({platformHostedOnly:!0}),ie=d(),O=S(),k=D===`full`&&ie,A=D===`full`&&O,oe=w({...r(),enabled:k}),j=w({...v(),enabled:k}),ce=E(o()),{changePackage:le,isPending:M}=ke(),{changeTiers:fe,isPending:me,current:N,currentReady:P,currentKnown:F,primaryAssistantId:ge}=we({enabled:k});je();let[ve,Ee]=(0,z.useState)(!1),[Me,L]=(0,z.useState)(!1),[Fe,R]=(0,z.useState)(!1),[B,V]=(0,z.useState)(null),[H,U]=(0,z.useState)(!1),[Re,ze]=(0,z.useState)(void 0),Be=(0,z.useRef)(!1),[G,K]=(0,z.useState)(!1),We=(0,z.useRef)(!1),[Ke,$e]=(0,z.useState)(null),q=oe.data,J=j.data?.plans.find(e=>e.id===`pro`),et=J?.packages??[],tt=et.length>0,Y=q?.plan_id===`pro`,nt=f(),rt=de(ge,k&&nt&&Y&&F),it=F?rt:void 0,X=q?q.plan_id===`base`?`free`:pe(q.package)?q.package.key:null:null,{cancelSubscription:at,isPending:ot}=Oe(),st=Se(q),ct=xe(Ae(q)),lt=s(),ut=new Set(j.data?.plans.find(e=>e.id===`base`)?.included_features??[]),dt=(J?.included_features??[]).filter(e=>!ut.has(e)),Z=ve||M||ot||ct.isPending,ft=(0,z.useMemo)(()=>!Y||N.storageTier==null?null:{machineTier:N.machineTier,storageTier:N.storageTier,creditTier:N.creditTier,hasPlatformFee:N.hasPlatformFee},[Y,N.machineTier,N.storageTier,N.creditTier,N.hasPlatformFee]),Q=c.get(_),pt=!k&&!A,mt=k&&!j.isLoading&&!tt,$=pt||!(Q!=null&&!G)&&(oe.isError||mt);(0,z.useEffect)(()=>{$&&i(pt?x.settings.usageBilling:`${x.settings.usageBilling}&adjust_plan`,{replace:!0})},[$,pt,i]);let ht=()=>{(window.history.state?.idx??0)>0?i(-1):i(x.settings.usageBilling)},gt=async t=>{Ee(!0);try{let e=await ce.mutateAsync({body:{...t,return_target:Pe()}});e.status===`redirect`&&e.checkout_url?(y(t.package?{kind:`package`,packageKey:t.package}:{kind:`custom`,machineTier:t.machine_tier??null,storageTier:t.storage_tier??null,creditTier:t.credit_tier??null}),u(e.checkout_url)):(await h.invalidateQueries({queryKey:a()}),await h.invalidateQueries({queryKey:n()}))}catch(t){g.error(Ce(t,e(`plansPage.checkoutFailedToast`)))}finally{Ee(!1)}},_t=(e,t)=>{if(q&&!Z){if(lt){Ne(x.plans);return}if(Y){if(e===`free`){R(!0);return}let n=et.find(t=>t.key===e);if(!n||I(X,n.key)===`current`)return;if(!be(q)){i(`${x.settings.usageBilling}&adjust_plan`,{replace:t?.replaceOnBail===!0});return}V(n);return}e!==`free`&&gt({target_plan_id:`pro`,package:e,confirm:!0})}},vt=(0,z.useRef)(_t);(0,z.useEffect)(()=>{vt.current=_t}),(0,z.useEffect)(()=>{if(Q==null||Be.current||$||!k||We.current)return;We.current=!0;let e=setTimeout(()=>{K(!0)},Xe),t=()=>{clearTimeout(e),K(!0)};Promise.all([h.refetchQueries({queryKey:a()}),h.refetchQueries({queryKey:n()})]).then(t,t)},[$,Q,k,h]),(0,z.useEffect)(()=>{Q==null||Be.current||$||!k||!G||(Be.current=!0,Y&&Q!==`free`&&$e(Q),m(e=>{let t=new URLSearchParams(e);return t.delete(_),t},{replace:!0}))},[G,$,Q,k,Y,m]),(0,z.useEffect)(()=>{Ke==null||Q!=null||($e(null),vt.current(Ke,{replaceOnBail:!0}))},[Q,Ke]);let yt;if(q&&J&&tt){let t=Y&&X===null&&P&&N.storageGib!=null,n=t?Qe(N,J):void 0,r=async e=>{if(!st){R(!1),ct.mutate({});return}await at(_e(e))&&(R(!1),i(x.settings.usageBilling,{replace:!0}))},a=()=>({creditTier:N.creditTier,fromSnapshot:{machineSize:it?.machine_size??null,storageGib:it?.provisioned_storage_gib??null}}),o=B?X===null?`switch`:I(X,B.key)===`downgrade`?`downgrade`:`upgrade`:`upgrade`,s=async()=>{if(!B)return;let t=B,n=a(),r=X===null||!P||!F||Ie(N.machineTier,t.machine_tier),i=await le(t.key);if(!i)return;if(V(null),i.status===`no_op`){g.success(e(`plansPage.alreadyOnPlanToast`));return}let s=t.credit_tier??null;ze({fromSnapshot:n.fromSnapshot,credits:s===n.creditTier?null:{fromTier:n.creditTier,toTier:s},direction:Ze[o],canLowerResources:r}),U(!0)},c=e=>gt({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=!F||Ie(N.machineTier,t.machineTier),i=await fe(t,ft??void 0);i&&(L(!1),i.needsResize||i.creditChanged?(ze({fromSnapshot:n.fromSnapshot,credits:i.creditChanged?{fromTier:n.creditTier,toTier:t.creditTier}:null,direction:`change`,canLowerResources:r}),U(!0)):g.success(e(`plansPage.planUpdatedToast`)))},u=()=>{if(!Z){if(lt){Ne(x.plans);return}Y&&!P||L(!0)}},d=[...et].sort((e,t)=>ue.indexOf(e.key)-ue.indexOf(t.key)),f=he(`free`),p=Y?`downgrade`:I(X,`free`),m=Je(e);yt=(0,W.jsxs)(`div`,{className:`my-auto flex w-full flex-col items-center`,children:[(0,W.jsxs)(`header`,{className:`flex flex-col items-center gap-2 text-center`,children:[(0,W.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,W.jsx)(`p`,{className:`text-[20px] font-medium text-[var(--content-tertiary)]`,children:e(`plansPage.subheading`)})]}),(0,W.jsxs)(`div`,{className:`mt-6 grid w-full max-w-[1312px] grid-cols-1 gap-4 sm:mt-10 sm:grid-cols-2 sm:gap-6 lg:grid-cols-4`,children:[(0,W.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:()=>_t(`free`)}),d.map(t=>{let n=he(t.key),r=I(X,t.key);return(0,W.jsx)(Ge,{tierKey:t.key,name:t.name,tagline:n?.tagline??``,priceLabel:Te(t.total_price_cents),priceCaption:n?.priceCaption??e(`plansPage.billedMonthlyCaption`),ctaLabel:r===`downgrade`?e(`plansPage.downgradeTo`,{name:t.name}):n?.cta??t.name,features:qe(t,n?.extraFeatures??[],e),recommended:n?.recommended,tone:n?.recommended?`light`:`dark`,isCurrent:X===t.key,intent:r,pending:Z,onCta:()=>_t(t.key)},t.key)})]}),(0,W.jsx)(He,{className:`mt-6 sm:mt-10`,onConfigure:u,configureDisabled:Y&&!P||Z,isCurrent:t,currentSummary:n}),(0,W.jsx)(Ve,{open:Me,proPlan:J,pending:ve||me,currentStorageGib:Y?N.storageGib:null,initialSelection:ft,onClose:()=>L(!1),onContinue:e=>{Y?l(e):c(e)}}),(0,W.jsx)(De,{open:B!==null,relation:o,packageName:B?.name??``,targetPackage:B,pending:M,onCancel:()=>V(null),onConfirm:()=>void s()}),(0,W.jsx)(Ue,{open:Fe,lostFeatures:dt,viaPortal:!st,pending:ot||ct.isPending,onCancel:()=>R(!1),onConfirm:e=>void r(e)}),(0,W.jsx)(ye,{mode:`resize`,open:H,onClose:()=>{U(!1),ze(void 0)},resizeContext:Re}),(0,W.jsx)(`p`,{className:`mt-6 text-center text-[12px] font-medium text-[var(--content-tertiary)] sm:mt-10`,children:(0,W.jsx)(ee,{ns:`settings`,i18nKey:`plansPage.cancelAnytimeFooter`,components:{docsLink:(0,W.jsx)(C,{href:Le,tone:`quiet`,className:`text-[var(--content-default)]`,glyph:!1})}})})]})}else yt=(0,W.jsx)(`div`,{className:`my-auto flex items-center justify-center`,children:(0,W.jsx)(ae,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`,"aria-label":e(`plansPage.loadingPlansAriaLabel`)})});return(0,W.jsxs)(`div`,{"data-theme":`dark`,className:`plans-takeover-canvas-enter relative h-full w-full overflow-y-auto`,style:{backgroundColor:Ye},children:[(0,W.jsx)(`div`,{className:`absolute left-8 z-10 [-webkit-app-region:no-drag]`,style:{top:b?`3rem`:`2rem`},children:(0,W.jsx)(t,{variant:`outlined`,leftIcon:(0,W.jsx)(se,{className:`h-4 w-4`,"aria-hidden":!0}),onClick:ht,className:`[-webkit-app-region:no-drag]`,children:e(`plansPage.back`)})}),(0,W.jsx)(`div`,{className:`plans-takeover-content-enter flex min-h-full flex-col items-center px-4 pb-8 sm:px-6`,style:{paddingTop:b?`5rem`:`4rem`},children:yt})]})}function q(){return(0,W.jsx)($e,{})}export{q as PlansPage};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$x as t,Ch as n,Kx as r,P_ as i,m_ as a,rb as o,xS as s}from"./app-KRIEMzuO.js";import{E as c}from"./vendor-DLH51Vjf.js";import{_ as l,f as u,t as d,x as f}from"./react-B9IgSVeK.js";var p=e(f(),1),m=d(),h=`vellum:loopback:state`,g=`vellum:loopback:returnTo`;function _(){let{t:e}=c(`account`),[d]=l(),f=u(),[_,v]=(0,p.useState)(null);return(0,p.useEffect)(()=>{let c=d.get(`state`),l=d.get(`session_token`),u=sessionStorage.getItem(h),p=sessionStorage.getItem(g)||s.assistant;if(sessionStorage.removeItem(h),sessionStorage.removeItem(g),!c||c!==u){v(e(`authErrors.loopbackStateMismatch`));return}if(!l){v(e(`authErrors.loopbackNoToken`));return}if(!/^[a-zA-Z0-9]+$/.test(l)){v(e(`authErrors.loopbackInvalidToken`));return}(async()=>{if(!await t(l)){v(`Login failed: couldn't reach the local Vellum server to store the session. Please try again.`);return}await n.getState().initSession(),await o(!0);try{let e=await i();if(e.ok&&e.data.length>0){await r(e.data,a.getState().currentOrganizationId??void 0),f(s.assistant,{replace:!0});return}}catch{}f(p,{replace:!0})})()},[d,f,e]),_?(0,m.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-[var(--surface-base)] text-[var(--content-default)]`,children:(0,m.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,m.jsx)(`p`,{className:`text-body-medium-default`,children:_}),(0,m.jsx)(`button`,{type:`button`,className:`mt-4 rounded-lg border border-[var(--border-disabled)] px-4 py-2 text-sm hover:bg-[var(--surface-lift)]`,onClick:()=>void f(s.welcome),children:e(`platformLoopbackPage.backToWelcome`)})]})}):(0,m.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-[var(--surface-base)] text-[var(--content-default)]`,children:(0,m.jsx)(`p`,{className:`text-body-medium-default`,children:e(`platformLoopbackPage.completing`)})})}export{_ as PlatformLoopbackPage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$x as t,Ch as n,Kx as r,P_ as i,m_ as a,rb as o,xS as s}from"./app-BEoekemj.js";import{E as c}from"./vendor-cVd2QlFV.js";import{_ as l,f as u,t as d,x as f}from"./react-B9IgSVeK.js";var p=e(f(),1),m=d(),h=`vellum:loopback:state`,g=`vellum:loopback:returnTo`;function _(){let{t:e}=c(`account`),[d]=l(),f=u(),[_,v]=(0,p.useState)(null);return(0,p.useEffect)(()=>{let c=d.get(`state`),l=d.get(`session_token`),u=sessionStorage.getItem(h),p=sessionStorage.getItem(g)||s.assistant;if(sessionStorage.removeItem(h),sessionStorage.removeItem(g),!c||c!==u){v(e(`authErrors.loopbackStateMismatch`));return}if(!l){v(e(`authErrors.loopbackNoToken`));return}if(!/^[a-zA-Z0-9]+$/.test(l)){v(e(`authErrors.loopbackInvalidToken`));return}(async()=>{if(!await t(l)){v(`Login failed: couldn't reach the local Vellum server to store the session. Please try again.`);return}await n.getState().initSession(),await o(!0);try{let e=await i();if(e.ok&&e.data.length>0){await r(e.data,a.getState().currentOrganizationId??void 0),f(s.assistant,{replace:!0});return}}catch{}f(p,{replace:!0})})()},[d,f,e]),_?(0,m.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-[var(--surface-base)] text-[var(--content-default)]`,children:(0,m.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,m.jsx)(`p`,{className:`text-body-medium-default`,children:_}),(0,m.jsx)(`button`,{type:`button`,className:`mt-4 rounded-lg border border-[var(--border-disabled)] px-4 py-2 text-sm hover:bg-[var(--surface-lift)]`,onClick:()=>void f(s.welcome),children:e(`platformLoopbackPage.backToWelcome`)})]})}):(0,m.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-[var(--surface-base)] text-[var(--content-default)]`,children:(0,m.jsx)(`p`,{className:`text-body-medium-default`,children:e(`platformLoopbackPage.completing`)})})}export{_ as PlatformLoopbackPage};
@@ -1 +1 @@
1
- import{iS as e,xS as t}from"./app-KRIEMzuO.js";import{h as n,r,t as i}from"./react-B9IgSVeK.js";import{t as a}from"./plugins-surface-ClVSBf-s.js";var o=i();function s(){let i=e.use.version(),s=a(),{name:c}=n();return i===null?null:!s||!c?(0,o.jsx)(r,{to:t.superpowers,replace:!0}):(0,o.jsx)(r,{to:`${t.superpowers}?plugin=${encodeURIComponent(c)}`,replace:!0})}export{s as PluginDetailPage};
1
+ import{iS as e,xS as t}from"./app-BEoekemj.js";import{h as n,r,t as i}from"./react-B9IgSVeK.js";import{t as a}from"./plugins-surface-DRWOFcBb.js";var o=i();function s(){let i=e.use.version(),s=a(),{name:c}=n();return i===null?null:!s||!c?(0,o.jsx)(r,{to:t.superpowers,replace:!0}):(0,o.jsx)(r,{to:`${t.superpowers}?plugin=${encodeURIComponent(c)}`,replace:!0})}export{s as PluginDetailPage};
@@ -1 +1 @@
1
- import{xS as e}from"./app-KRIEMzuO.js";import{_ as t,r as n,t as r}from"./react-B9IgSVeK.js";var i=r();function a(){let[r]=t(),a=r.toString();return(0,i.jsx)(n,{to:`${e.superpowers}${a?`?${a}`:``}`,replace:!0})}export{a as PluginsPage};
1
+ import{xS as e}from"./app-BEoekemj.js";import{_ as t,r as n,t as r}from"./react-B9IgSVeK.js";var i=r();function a(){let[r]=t(),a=r.toString();return(0,i.jsx)(n,{to:`${e.superpowers}${a?`?${a}`:``}`,replace:!0})}export{a as PluginsPage};
@@ -0,0 +1 @@
1
+ import{zg as e}from"./app-BEoekemj.js";var t=`0.10.3`;function n(){return e(t)}export{n as t};