@vellumai/web 0.10.1 → 0.10.2-dev.202606241743.799fce7

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 (273) hide show
  1. package/dist/assets/AnimatePresence-iz8Br0FI.js +9 -0
  2. package/dist/assets/{BundleConfirmPage-B1RL5CT5.js → BundleConfirmPage-C_kiR0mX.js} +1 -1
  3. package/dist/assets/about-page-C-EuogDv.js +1 -0
  4. package/dist/assets/{account-page-CHiDb1yX.js → account-page-C6e1Asus.js} +1 -1
  5. package/dist/assets/{add-credits-modal-GSsxaybq.js → add-credits-modal-DJoCPMh2.js} +1 -1
  6. package/dist/assets/{advanced-page-9dJbjOiT.js → advanced-page-cg1PhSPO.js} +1 -1
  7. package/dist/assets/ai-page-BnfOtN01.js +1 -0
  8. package/dist/assets/{api-CjVG_nMi.js → api-6kAubuZs.js} +1 -1
  9. package/dist/assets/{api-key-screen-BBajxzG8.js → api-key-screen-D9aVUIn1.js} +1 -1
  10. package/dist/assets/app-info-WEMzhSvW.js +1 -0
  11. package/dist/assets/{archive-page-DDar_tND.js → archive-page-Cl-42cit.js} +1 -1
  12. package/dist/assets/assistant-api-DiaFE2Op.js +1 -0
  13. package/dist/assets/{assistant-feature-flag-store-BD9zTDcP.js → assistant-feature-flag-store-EI2AQmwy.js} +1 -1
  14. package/dist/assets/{assistant-identity-store-DaDnhbxy.js → assistant-identity-store-ADxStqSC.js} +1 -1
  15. package/dist/assets/{assistant-status-panel-CFhkAfJY.js → assistant-status-panel-D5I0z06N.js} +1 -1
  16. package/dist/assets/auth-store-C7FE9LLc.js +7 -0
  17. package/dist/assets/billing-page-CN5y2WzV.js +3 -0
  18. package/dist/assets/{bookmarks-page-DyjSZPPW.js → bookmarks-page-CWM61uFz.js} +1 -1
  19. package/dist/assets/brain-Bs6LnfHO.js +1 -0
  20. package/dist/assets/browser-DKUVpLgv.js +2 -0
  21. package/dist/assets/{build-state-CMpEWWjf.js → build-state-htTId11f.js} +1 -1
  22. package/dist/assets/{capture-error-AoUURkgi.js → capture-error-BaKOqBjF.js} +1 -1
  23. package/dist/assets/check-BCNZ91b3.js +1 -0
  24. package/dist/assets/{client-feature-flag-store-DjN8fxHA.js → client-feature-flag-store-9mwvhzvF.js} +1 -1
  25. package/dist/assets/{command-palette-DJgHXop1.js → command-palette-CfBCI30i.js} +1 -1
  26. package/dist/assets/{command-palette-window-page-CSaRzD87.js → command-palette-window-page-DySNbPQt.js} +1 -1
  27. package/dist/assets/community-page-ByWB-99j.js +1 -0
  28. package/dist/assets/{connect-page-B0Pym3dJ.js → connect-page-DoYSgFSC.js} +1 -1
  29. package/dist/assets/{consent-controls-o06cSwWt.js → consent-controls-BW_93Vr6.js} +1 -1
  30. package/dist/assets/{contacts-gateway-11r4y5pQ.js → contacts-gateway-BxaKCzE9.js} +1 -1
  31. package/dist/assets/contacts-page-route-Dmjrm2yB.js +1 -0
  32. package/dist/assets/{conversation-queries-DF1Lujnm.js → conversation-queries-BdtoA-7l.js} +1 -1
  33. package/dist/assets/{danger-zone-redirect-page-iCmRnyei.js → danger-zone-redirect-page-D1ZS4oVi.js} +1 -1
  34. package/dist/assets/debug-page-CugNTSKJ.js +2 -0
  35. package/dist/assets/{deploy-dialogs-DygUf1og.js → deploy-dialogs-CAuGaoSA.js} +1 -1
  36. package/dist/assets/{developer-page-C5desNav.js → developer-page-DbDerqdt.js} +1 -1
  37. package/dist/assets/devices-page-DycMCNRJ.js +1 -0
  38. package/dist/assets/diagnostics-D5xXiLo-.js +1 -0
  39. package/dist/assets/dictation-overlay-page-CI5MMdBN.js +1 -0
  40. package/dist/assets/document-viewer-page-Bmjw5eSp.js +1 -0
  41. package/dist/assets/earn-credits-modal-DgQkqCm2.js +1 -0
  42. package/dist/assets/{emails-page-Duy9jhr6.js → emails-page-BzFjSyUg.js} +1 -1
  43. package/dist/assets/esm-5V2_V7Ao.js +1 -0
  44. package/dist/assets/{esm-B9FuN3Io.js → esm-CJjEymow.js} +2 -2
  45. package/dist/assets/esm-CYrzAUNH.js +2 -0
  46. package/dist/assets/esm-ClC_4zcn.js +2 -0
  47. package/dist/assets/esm-CxEFp02j.js +2 -0
  48. package/dist/assets/esm-_pMRHia8.js +2 -0
  49. package/dist/assets/feature-flag-catalog-DteSxDgH.js +1 -0
  50. package/dist/assets/file-editor-Dh3eICZH.js +1 -0
  51. package/dist/assets/file-text-ClqzuFsu.js +1 -0
  52. package/dist/assets/general-page-DUZnH9XY.js +1 -0
  53. package/dist/assets/hatching-screen-DhFPt7WB.js +1 -0
  54. package/dist/assets/home-page-route-Bd7ObM7a.js +1 -0
  55. package/dist/assets/{hosting-screen--kBc2JgZ.js → hosting-screen-Bgq-tjdc.js} +1 -1
  56. package/dist/assets/identity-page-route-CBFg4dip.js +1 -0
  57. package/dist/assets/index-ApY1f9HM.css +2 -0
  58. package/dist/assets/index-C1jO2jSf.js +132 -0
  59. package/dist/assets/inspect-page-1wdViQPR.js +7 -0
  60. package/dist/assets/install-JN9UhT9x.js +1 -0
  61. package/dist/assets/integrations-page-BW3ymc1u.js +1 -0
  62. package/dist/assets/{intelligence-layout-DgkmPrJl.js → intelligence-layout-Cw4Ct2E0.js} +1 -1
  63. package/dist/assets/{keyboard-shortcuts-page-waVolRQN.js → keyboard-shortcuts-page-RHuyNXXr.js} +1 -1
  64. package/dist/assets/{library-detail-page-eMzOqx_B.js → library-detail-page-ewP7To6o.js} +1 -1
  65. package/dist/assets/library-page-B_i0rXlO.js +1 -0
  66. package/dist/assets/{local-mode-BD2zqd9I.js → local-mode-BrXxQB_p.js} +1 -1
  67. package/dist/assets/{login-flow-DVsR7fEC.js → login-flow-C4XRX0tn.js} +1 -1
  68. package/dist/assets/login-page-C_SbIj4D.js +1 -0
  69. package/dist/assets/{logout-page-DRRS14hP.js → logout-page-DLTSSk6O.js} +1 -1
  70. package/dist/assets/{logs-layout-CSvew4_d.js → logs-layout-C5XwLOh9.js} +1 -1
  71. package/dist/assets/mcp-page-CMII6AAx.js +1 -0
  72. package/dist/assets/{memory-router-playground-page-A2zlGskJ.js → memory-router-playground-page-CWGJ8ZIM.js} +1 -1
  73. package/dist/assets/messages-BwtkPX8a.js +13 -0
  74. package/dist/assets/{metric-card-CgO1F06f.js → metric-card-J-OmNSo1.js} +1 -1
  75. package/dist/assets/{mobile-sidebar-drawer-R6nyuXZ1.js → mobile-sidebar-drawer-CXeucWIM.js} +1 -1
  76. package/dist/assets/monitor-AzR2uZb7.js +1 -0
  77. package/dist/assets/{native-file-LJQTmnKy.js → native-file-CI0ZuErz.js} +2 -2
  78. package/dist/assets/notifications-page-DI_zXOSz.js +1 -0
  79. package/dist/assets/{oauth-complete-page-BJudfLeY.js → oauth-complete-page-r3tyyWop.js} +1 -1
  80. package/dist/assets/{oauth-popup-complete-page-HRhzTWe_.js → oauth-popup-complete-page-BADB15NE.js} +1 -1
  81. package/dist/assets/{pairing-page-DS3k_UyF.js → pairing-page-lApAtFfB.js} +1 -1
  82. package/dist/assets/{password-reset-page-CDvLTa8S.js → password-reset-page-CetrP6IO.js} +1 -1
  83. package/dist/assets/{platform-loopback-page-CKI-92-q.js → platform-loopback-page-sne9LAr3.js} +1 -1
  84. package/dist/assets/plugin-detail-page-B_7UYTKm.js +1 -0
  85. package/dist/assets/{plugins-page-BxfKs2Np.js → plugins-page-BAnBQ1M_.js} +1 -1
  86. package/dist/assets/prechat-CHU0E2N5.js +1 -0
  87. package/dist/assets/prechat-route-BjBm6H7-.js +1 -0
  88. package/dist/assets/{prefs-DP4g-Qgi.js → prefs-Be9dTh3B.js} +1 -1
  89. package/dist/assets/{privacy-page-Vq50i0Wv.js → privacy-page-BoYGnqAX.js} +1 -1
  90. package/dist/assets/privacy-screen-CMhrQ3nh.js +1 -0
  91. package/dist/assets/{provider-callback-page-tWLMyImI.js → provider-callback-page-VDmHVeXO.js} +1 -1
  92. package/dist/assets/{provider-key-g87caUSW.js → provider-key-DVsrhw9C.js} +1 -1
  93. package/dist/assets/{provider-signup-page-CBPV-1Ih.js → provider-signup-page-cZoYlk_R.js} +1 -1
  94. package/dist/assets/proxy-BMd4CkvC.js +1 -0
  95. package/dist/assets/{quick-input-page-CEPPTVs7.js → quick-input-page-JeFYpvqi.js} +1 -1
  96. package/dist/assets/{react-query.gen-CRARj4mG.js → react-query.gen-B0Od5MEZ.js} +1 -1
  97. package/dist/assets/{react-query.gen-4ZMhZ-fj.js → react-query.gen-DeL3wFEA.js} +1 -1
  98. package/dist/assets/{research-mock-page-Dln6TeKV.js → research-mock-page-DasQDyN8.js} +1 -1
  99. package/dist/assets/research-onboarding-route-DJzU6M0o.js +36 -0
  100. package/dist/assets/{resize-errors-CXz-pd2h.js → resize-errors-l1gkz4Wc.js} +1 -1
  101. package/dist/assets/{resolved-assistants-store-DLNFVaZL.js → resolved-assistants-store-Cpb8fS5G.js} +1 -1
  102. package/dist/assets/{return-to-DxTXKF-C.js → return-to-DoZNVn3w.js} +1 -1
  103. package/dist/assets/{review-terms-screen-DuORfqOE.js → review-terms-screen-HE0UB521.js} +1 -1
  104. package/dist/assets/risk-badge-CBIupvNj.js +1 -0
  105. package/dist/assets/{schedules-MF0cMAPX.js → schedules-DRUBtF8F.js} +1 -1
  106. package/dist/assets/{sdk.gen-DtKkd6hs.js → sdk.gen-D4xWFnu5.js} +1 -1
  107. package/dist/assets/{sdk.gen-0RzHFsEa.js → sdk.gen-DSjI3deY.js} +1 -1
  108. package/dist/assets/select-assistant-screen-4uOjCPKt.js +1 -0
  109. package/dist/assets/{settings-layout-Co57Zw8f.js → settings-layout-D514WCV_.js} +1 -1
  110. package/dist/assets/share-feedback-modal-uf6DidiV.js +1 -0
  111. package/dist/assets/{sidebar-tree-D0lNnpA6.js → sidebar-tree-DQq22ToB.js} +1 -1
  112. package/dist/assets/signup-page-_oBdk8ha.js +1 -0
  113. package/dist/assets/{signup-shell-CEJE1QSw.js → signup-shell-B9Jgwn6n.js} +1 -1
  114. package/dist/assets/skills-page-DkTSKMjA.js +1 -0
  115. package/dist/assets/{sound-manager-RQj5g2kL.js → sound-manager-DbZ5uKZZ.js} +1 -1
  116. package/dist/assets/{sounds-page-DFXhvf_o.js → sounds-page-D1gXuTqp.js} +1 -1
  117. package/dist/assets/{step-indicator-dots-Bx_0xTIr.js → step-indicator-dots-D50_VzXD.js} +1 -1
  118. package/dist/assets/subagent-detail-panel-Cz_BpfzN.js +4 -0
  119. package/dist/assets/subagent-store-CdQ9IO-6.js +3 -0
  120. package/dist/assets/{system-events-page-BJJteZri.js → system-events-page-DCNticD2.js} +1 -1
  121. package/dist/assets/{system-events-redirect-page-CheSz42h.js → system-events-redirect-page-DEnjgb69.js} +1 -1
  122. package/dist/assets/{tiptap-document-editor-C8FlNAsc.js → tiptap-document-editor-C6UlHVBO.js} +2 -2
  123. package/dist/assets/tool-call-status-DNS6Y_vi.js +1 -0
  124. package/dist/assets/tool-detail-panel-r69r_Kbn.js +2 -0
  125. package/dist/assets/trace-page-YcXysBt-.js +1 -0
  126. package/dist/assets/{upgrade-cancel-page-BQJOrigy.js → upgrade-cancel-page-C34Io1_I.js} +1 -1
  127. package/dist/assets/{upgrade-success-page-BPRZMLDu.js → upgrade-success-page-DwL1yfEf.js} +1 -1
  128. package/dist/assets/{usage-page-DU36h2RZ.js → usage-page-uw9eR78e.js} +1 -1
  129. package/dist/assets/{use-active-assistant-id-BlwRimQH.js → use-active-assistant-id-CuamPYIw.js} +1 -1
  130. package/dist/assets/{use-bus-subscription-D-1qIPnj.js → use-bus-subscription-CKWguMzy.js} +1 -1
  131. package/dist/assets/use-is-org-ready-CXy5WSa5.js +1 -0
  132. package/dist/assets/{use-onboarding-login-BZ4ismb6.js → use-onboarding-login-D6sPCtKW.js} +1 -1
  133. package/dist/assets/{use-plugin-drift-C3gz_rng.js → use-plugin-drift-v7NzMOhO.js} +1 -1
  134. package/dist/assets/{use-reduced-motion-DgX4o6QR.js → use-reduced-motion-DomgCP7o.js} +1 -1
  135. package/dist/assets/user-plus-Chk2BJ7O.js +1 -0
  136. package/dist/assets/{utils-DugRzWBW.js → utils-eWxz_g-8.js} +1 -1
  137. package/dist/assets/{viewer-store-9Ag85lFC.js → viewer-store-Dmp0L2nm.js} +1 -1
  138. package/dist/assets/{voice-page-DB2h9uqJ.js → voice-page-C52t6d2F.js} +1 -1
  139. package/dist/assets/weather-forecast-display-CxwRnzix.js +1 -0
  140. package/dist/assets/{web-DuA0h7oK.js → web-B426K90I.js} +1 -1
  141. package/dist/assets/{web-ByMNu3A_.js → web-BDmMa2Ah.js} +1 -1
  142. package/dist/assets/{web-CUTiBnsF.js → web-BI7Og_dq.js} +1 -1
  143. package/dist/assets/{web-CyTCBnAZ.js → web-BjJEIboG.js} +1 -1
  144. package/dist/assets/{web-B4ULoQq5.js → web-BsjDq2-Z.js} +1 -1
  145. package/dist/assets/{web-CvCsdCeT.js → web-C5TKmyZ7.js} +1 -1
  146. package/dist/assets/{web-DTFLfPeG.js → web-CkqagAoR.js} +1 -1
  147. package/dist/assets/{welcome-screen-z3RULgvo.js → welcome-screen-CAKcPhjI.js} +1 -1
  148. package/dist/assets/workflow-detail-panel-i4SnfufH.js +1 -0
  149. package/dist/assets/workflow-status-B53qU9DS.js +1 -0
  150. package/dist/assets/workspace-page-BgcGxXvz.js +1 -0
  151. package/dist/index.html +94 -81
  152. package/package.json +1 -1
  153. package/dist/assets/about-page-B-yNJBih.js +0 -1
  154. package/dist/assets/ai-page-Du6k7XV_.js +0 -1
  155. package/dist/assets/assistant-api-BX_B1xSC.js +0 -1
  156. package/dist/assets/auth-store-CbVvQiBR.js +0 -7
  157. package/dist/assets/billing-page-BByuYpJa.js +0 -3
  158. package/dist/assets/community-page-BuuYKT7i.js +0 -1
  159. package/dist/assets/contacts-page-route-YQf7Dxxo.js +0 -1
  160. package/dist/assets/debug-page-CXi6rNhS.js +0 -2
  161. package/dist/assets/devices-page-mF5RECdQ.js +0 -1
  162. package/dist/assets/dictation-overlay-page-DL5K7HYW.js +0 -1
  163. package/dist/assets/document-viewer-page-C2oFS1wI.js +0 -1
  164. package/dist/assets/dollar-sign-D_XmiHA-.js +0 -1
  165. package/dist/assets/earn-credits-modal-DsuqrJTY.js +0 -1
  166. package/dist/assets/esm-BIUrrGWd.js +0 -2
  167. package/dist/assets/esm-BT7uz_mC.js +0 -2
  168. package/dist/assets/esm-BU45yXtJ.js +0 -2
  169. package/dist/assets/esm-D51SsTmc.js +0 -2
  170. package/dist/assets/esm-KT7CwnAY.js +0 -1
  171. package/dist/assets/feature-flag-catalog-RZLmDa1F.js +0 -1
  172. package/dist/assets/file-editor-n2sYGdD-.js +0 -1
  173. package/dist/assets/general-page-BSdbq26O.js +0 -1
  174. package/dist/assets/hatching-screen-BRgjqSLd.js +0 -1
  175. package/dist/assets/home-page-route-CV_mh2wJ.js +0 -1
  176. package/dist/assets/identity-page-route-CDcFNfWw.js +0 -1
  177. package/dist/assets/index-BvIwFdLE.css +0 -2
  178. package/dist/assets/index-Cx6vyW7T.js +0 -155
  179. package/dist/assets/inspect-page-D03CXXMs.js +0 -7
  180. package/dist/assets/install-JGbHHiCV.js +0 -1
  181. package/dist/assets/integrations-page-BFPmyQdR.js +0 -1
  182. package/dist/assets/library-page-BwoQ9K34.js +0 -1
  183. package/dist/assets/login-page-DYLjbG5w.js +0 -1
  184. package/dist/assets/mcp-page-CUehr_wQ.js +0 -1
  185. package/dist/assets/notifications-page-DcIQm_jh.js +0 -1
  186. package/dist/assets/plugin-detail-page-THfWbuJx.js +0 -1
  187. package/dist/assets/prechat-route-uavNUOzg.js +0 -1
  188. package/dist/assets/privacy-screen-1ITDKJ6D.js +0 -1
  189. package/dist/assets/proxy-l3iqYpig.js +0 -1
  190. package/dist/assets/research-onboarding-route-HWXEnr-H.js +0 -30
  191. package/dist/assets/select-assistant-screen-C2pCQCeh.js +0 -1
  192. package/dist/assets/share-feedback-modal-C4yo471J.js +0 -1
  193. package/dist/assets/signup-page-P4juei29.js +0 -1
  194. package/dist/assets/skills-page-KI_k-igb.js +0 -1
  195. package/dist/assets/subagent-detail-panel-eXMmoVu4.js +0 -4
  196. package/dist/assets/subagent-status-DOJQZKTk.js +0 -1
  197. package/dist/assets/tool-detail-panel-DgVn-kKw.js +0 -2
  198. package/dist/assets/trace-page-CZICq31J.js +0 -1
  199. package/dist/assets/use-is-org-ready-CRkh60tU.js +0 -1
  200. package/dist/assets/weather-forecast-display-DoCG5fqI.js +0 -1
  201. package/dist/assets/workflow-detail-panel-uiydoHie.js +0 -1
  202. package/dist/assets/workspace-page-9B98Z90n.js +0 -1
  203. /package/dist/assets/{account-shell-BBL0HqTX.js → account-shell-m8OhdsLC.js} +0 -0
  204. /package/dist/assets/{api-errors-D3EsNrwn.js → api-errors-B-g6gvNv.js} +0 -0
  205. /package/dist/assets/{avatar-bundled-components-f4-fradg.js → avatar-bundled-components-DcSzXpA_.js} +0 -0
  206. /package/dist/assets/{avatar-svg-compositor-DMT4wmUm.js → avatar-svg-compositor-CZqTxX-j.js} +0 -0
  207. /package/dist/assets/{bookmark-C8arQ3wm.js → bookmark-C3S-p0MQ.js} +0 -0
  208. /package/dist/assets/{bug-BuL3O3_2.js → bug-DDcuQ3au.js} +0 -0
  209. /package/dist/assets/{build.umd-CPG-O6Se.js → build.umd-C-9hxmJK.js} +0 -0
  210. /package/dist/assets/{cable-C0pEWbc5.js → cable-DeiZJhx5.js} +0 -0
  211. /package/dist/assets/{calendar-BCNBN7PC.js → calendar-DS3F8MRx.js} +0 -0
  212. /package/dist/assets/{chevron-left-o_oJAd6A.js → chevron-left-BSPjMq8L.js} +0 -0
  213. /package/dist/assets/{chevron-right-BNHlGCTg.js → chevron-right-CWG30kI8.js} +0 -0
  214. /package/dist/assets/{chevron-up-BnW-hcOL.js → chevron-up-vUqVm-q3.js} +0 -0
  215. /package/dist/assets/{circle-alert-bz1ccYRI.js → circle-alert-CIThYDGJ.js} +0 -0
  216. /package/dist/assets/{circle-check-DBzb54Kz.js → circle-check-Cfl8Yl_j.js} +0 -0
  217. /package/dist/assets/{client.gen-0CkwJ2Ya.js → client.gen-4zzwm6UN.js} +0 -0
  218. /package/dist/assets/{client.gen-DzaL5PKF.js → client.gen-BnoNy2w0.js} +0 -0
  219. /package/dist/assets/{cloud-off-BWmMU3G-.js → cloud-off-fMC5iwVY.js} +0 -0
  220. /package/dist/assets/{code-Bju_p7d-.js → code-BhoMjTYO.js} +0 -0
  221. /package/dist/assets/{composer-focus-D-P0cGAF.js → composer-focus-BZr63Cvs.js} +0 -0
  222. /package/dist/assets/{conversation-selection-CrdMTnwx.js → conversation-selection-CNu7j2Xb.js} +0 -0
  223. /package/dist/assets/{conversation-store-I2d3A6Tv.js → conversation-store-nVJwhymp.js} +0 -0
  224. /package/dist/assets/{cpu-DpzMm9_m.js → cpu-D1r7PLan.js} +0 -0
  225. /package/dist/assets/{credit-card-CN7yFHhB.js → credit-card-BwN95biV.js} +0 -0
  226. /package/dist/assets/{definitions-B4RRVbRh.js → definitions--qkv65-s.js} +0 -0
  227. /package/dist/assets/{detail-card-QPVpO5cj.js → detail-card-jO9NyAKk.js} +0 -0
  228. /package/dist/assets/{dist-3i_EPbLt.js → dist-CzyDxYAs.js} +0 -0
  229. /package/dist/assets/{domain-field-ChoXVdlk.js → domain-field-CNW1t3OC.js} +0 -0
  230. /package/dist/assets/{edit-chat-session-DXSCprPw.js → edit-chat-session-BYvbyTwd.js} +0 -0
  231. /package/dist/assets/{effective-timezone-DBaPUyaX.js → effective-timezone-DAkNzd21.js} +0 -0
  232. /package/dist/assets/{emoji-catalog-data-C0EjtsOi.js → emoji-catalog-data-D1w5YRAh.js} +0 -0
  233. /package/dist/assets/{environment-store-DoO5ZqXZ.js → environment-store-C-h-XXc-.js} +0 -0
  234. /package/dist/assets/{event-bus-CFhOgvB8.js → event-bus-CBil9JQT.js} +0 -0
  235. /package/dist/assets/{external-link-DAovIsxF.js → external-link-RJkZLlff.js} +0 -0
  236. /package/dist/assets/{format-B2A6k4bb.js → format-C-Aoc3OC.js} +0 -0
  237. /package/dist/assets/{format-date-Cx9GZ7-D.js → format-date-C51RKaFF.js} +0 -0
  238. /package/dist/assets/{format-file-size-Br1LCKQi.js → format-file-size-BsHnxzq6.js} +0 -0
  239. /package/dist/assets/{globe-CfKniRIP.js → globe-atPvTfX9.js} +0 -0
  240. /package/dist/assets/{google-logo-DNkI-jCf.js → google-logo-C0Ye7zqf.js} +0 -0
  241. /package/dist/assets/{haptics-BCTVEX6s.js → haptics-CKwMH4eq.js} +0 -0
  242. /package/dist/assets/{hard-drive-DggmyfjR.js → hard-drive-CxwXPeeK.js} +0 -0
  243. /package/dist/assets/{impersonate-version-flag-BksY65Mo.js → impersonate-version-flag-Caig8rhF.js} +0 -0
  244. /package/dist/assets/{info-DXbzDupm.js → info-DKfsKkAk.js} +0 -0
  245. /package/dist/assets/{lib-BVvJNDCQ.js → lib-Ck-V6pPR.js} +0 -0
  246. /package/dist/assets/{link-2-Dmka5LJV.js → link-2-DAUpNv36.js} +0 -0
  247. /package/dist/assets/{llm-dimension-ovOt_D6t.js → llm-dimension-DAAJ-1sE.js} +0 -0
  248. /package/dist/assets/{loader-circle-Cw1KvvLK.js → loader-circle-BU6b8vrp.js} +0 -0
  249. /package/dist/assets/{log-in-CUDpYpYW.js → log-in-F2ivXAeS.js} +0 -0
  250. /package/dist/assets/{minimize-2-CPmn1RIm.js → minimize-2-Ps3BPNpX.js} +0 -0
  251. /package/dist/assets/{misc-Dm72afTZ.js → misc-CBD9JJCY.js} +0 -0
  252. /package/dist/assets/{moon-Be4Pgk5X.js → moon-shagZJqX.js} +0 -0
  253. /package/dist/assets/{mutation-error-BjiE6W0q.js → mutation-error-C1_ICE-g.js} +0 -0
  254. /package/dist/assets/{native-deep-link-CYaeyOfj.js → native-deep-link-DmJ7Ty6z.js} +0 -0
  255. /package/dist/assets/{page-shell-W5IMIXQq.js → page-shell-tozCEPBk.js} +0 -0
  256. /package/dist/assets/{pdf-DhvXjkis.js → pdf-Bi0PDaJC.js} +0 -0
  257. /package/dist/assets/{pencil-Dm2eFMe3.js → pencil-CKTX3v1w.js} +0 -0
  258. /package/dist/assets/{prechat-names-CkLrL-Jh.js → prechat-names-JWGOLvFL.js} +0 -0
  259. /package/dist/assets/{public-asset-CH9GPeL_.js → public-asset-BTisO-cB.js} +0 -0
  260. /package/dist/assets/{reduced-motion-8QnGN6lg.js → reduced-motion-BZH7waJ6.js} +0 -0
  261. /package/dist/assets/{refresh-cw-YXbpNg95.js → refresh-cw-d--DqlE0.js} +0 -0
  262. /package/dist/assets/{routes-B9xcBuuC.js → routes-DlW6mpdp.js} +0 -0
  263. /package/dist/assets/{save-CQ2-kSlv.js → save-BOCvrkQo.js} +0 -0
  264. /package/dist/assets/{semver-aan9RUyA.js → semver-DpUibCte.js} +0 -0
  265. /package/dist/assets/{setting-row-BHlMSre_.js → setting-row-DFBId7mH.js} +0 -0
  266. /package/dist/assets/{sparkles-C8hCShdb.js → sparkles-DzoKZLdI.js} +0 -0
  267. /package/dist/assets/{triangle-alert-AqQQTwUZ.js → triangle-alert-B3q5kQ4P.js} +0 -0
  268. /package/dist/assets/{typed-storage-qVehRaS3.js → typed-storage-Chj38wph.js} +0 -0
  269. /package/dist/assets/{usage-window-DbWHZkbr.js → usage-window-BTrQei8M.js} +0 -0
  270. /package/dist/assets/{use-is-mobile-D_0cze0t.js → use-is-mobile-BF5x8sr8.js} +0 -0
  271. /package/dist/assets/{x-BeVbiDS2.js → x-Cb3jFpZR.js} +0 -0
  272. /package/dist/assets/{xterm-B74sC241.js → xterm-BJTDHDUK.js} +0 -0
  273. /package/dist/assets/{xterm-addon-fit-By7PlC-c.js → xterm-addon-fit-Ba7bgpoc.js} +0 -0
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{i as n,n as r,u as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./cn-DvW5mxZR.js";import{t as s}from"./typography-BscuIPxA.js";import"./src-BJj2O5XB.js";import{a as c}from"./routes-B9xcBuuC.js";import{n as l}from"./use-is-mobile-D_0cze0t.js";import{t as u}from"./assistant-identity-store-DaDnhbxy.js";import{t as d}from"./assistant-feature-flag-store-BD9zTDcP.js";import{Vt as f}from"./index-Cx6vyW7T.js";import{t as p}from"./page-shell-W5IMIXQq.js";var m=e(t(),1),h=a(),g=[{label:`Identity`,to:c.identity},{label:`Skills`,to:c.skills},{label:`Workspace`,to:c.workspace},{label:`Contacts`,to:c.contacts.root}],_={label:`Plugins`,to:c.plugins};function v(){let e=u.use.name(),t=d.use.hasHydrated(),a=d.use.externalPlugins(),{pathname:c}=i(),v=l(),y=f.use.setTopBarCenter();(0,m.useEffect)(()=>(y(v?(0,h.jsxs)(s,{variant:`body-medium-default`,className:`truncate text-[var(--content-secondary)]`,children:[`About `,e||`Assistant`]}):null),()=>{y(null)}),[v,e,y]);let b=t&&a?[g[0],_,...g.slice(1)]:g;return(0,h.jsxs)(p,{children:[(0,h.jsxs)(`h1`,{className:`mb-4 shrink-0 text-title-large text-[var(--content-default)] max-md:hidden`,children:[`About `,e||`Assistant`]}),(0,h.jsx)(`nav`,{className:`mb-4 flex shrink-0 items-center overflow-x-auto border-b border-[var(--border-base)]`,style:{scrollbarWidth:`none`,WebkitOverflowScrolling:`touch`},"aria-label":`About assistant sections`,children:b.map(({label:e,to:t})=>{let n=c===t||c.startsWith(t+`/`);return(0,h.jsx)(r,{to:t,className:o(`relative -mb-px inline-flex cursor-pointer items-center gap-1.5 border-b-2 border-transparent bg-transparent px-2.5 py-[7px]`,`text-body-medium-default whitespace-nowrap`,`text-[var(--content-secondary)] transition-colors`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:ring-offset-0`,`hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,n&&`border-[var(--border-active)] text-[var(--primary-active)]`,n&&`hover:bg-transparent`),children:e},t)})}),(0,h.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-y-auto`,children:(0,h.jsx)(n,{})})]})}export{v as IntelligenceLayout};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{i as n,n as r,u as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./cn-DvW5mxZR.js";import{t as s}from"./typography-BscuIPxA.js";import"./src-BJj2O5XB.js";import{a as c}from"./routes-DlW6mpdp.js";import{n as l}from"./use-is-mobile-BF5x8sr8.js";import{t as u}from"./assistant-identity-store-ADxStqSC.js";import{t as d}from"./assistant-feature-flag-store-EI2AQmwy.js";import{Jt as f}from"./index-C1jO2jSf.js";import{t as p}from"./page-shell-tozCEPBk.js";var m=e(t(),1),h=a(),g=[{label:`Identity`,to:c.identity},{label:`Skills`,to:c.skills},{label:`Workspace`,to:c.workspace},{label:`Contacts`,to:c.contacts.root}],_={label:`Plugins`,to:c.plugins};function v(){let e=u.use.name(),t=d.use.hasHydrated(),a=d.use.externalPlugins(),{pathname:c}=i(),v=l(),y=f.use.setTopBarCenter();(0,m.useEffect)(()=>(y(v?(0,h.jsxs)(s,{variant:`body-medium-default`,className:`truncate text-[var(--content-secondary)]`,children:[`About `,e||`Assistant`]}):null),()=>{y(null)}),[v,e,y]);let b=t&&a?[g[0],_,...g.slice(1)]:g;return(0,h.jsxs)(p,{children:[(0,h.jsxs)(`h1`,{className:`mb-4 shrink-0 text-title-large text-[var(--content-default)] max-md:hidden`,children:[`About `,e||`Assistant`]}),(0,h.jsx)(`nav`,{className:`mb-4 flex shrink-0 items-center overflow-x-auto border-b border-[var(--border-base)]`,style:{scrollbarWidth:`none`,WebkitOverflowScrolling:`touch`},"aria-label":`About assistant sections`,children:b.map(({label:e,to:t})=>{let n=c===t||c.startsWith(t+`/`);return(0,h.jsx)(r,{to:t,className:o(`relative -mb-px inline-flex cursor-pointer items-center gap-1.5 border-b-2 border-transparent bg-transparent px-2.5 py-[7px]`,`text-body-medium-default whitespace-nowrap`,`text-[var(--content-secondary)] transition-colors`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:ring-offset-0`,`hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,n&&`border-[var(--border-active)] text-[var(--primary-active)]`,n&&`hover:bg-transparent`),children:e},t)})}),(0,h.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-y-auto`,children:(0,h.jsx)(n,{})})]})}export{v as IntelligenceLayout};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D7s2Q_uG.js";import{r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./card-BibIM9x3.js";import{t as o}from"./notice-CynJKEow.js";import{t as s}from"./shortcut-keys-vM6sNj7W.js";import{t as c}from"./is-electron-C_ZTVhv8.js";import{t as l}from"./x-BeVbiDS2.js";import{a as u}from"./routes-B9xcBuuC.js";import{Yr as d}from"./index-Cx6vyW7T.js";var f=e(t(),1);async function p(){if(!c())return[];let e=window.vellum;return e?.hotkeys?e.hotkeys.get():[]}async function m(e,t){if(!c())return;let n=window.vellum;n?.hotkeys&&await n.hotkeys.set(e,t)}function h(e){if(!c())return()=>{};let t=window.vellum;return t?.hotkeys?t.hotkeys.onChange(e):()=>{}}var g={ArrowUp:`Up`,ArrowDown:`Down`,ArrowLeft:`Left`,ArrowRight:`Right`,Enter:`Return`,NumpadEnter:`Return`,Space:`Space`,Tab:`Tab`,Escape:`Escape`,Backspace:`Backspace`,Delete:`Delete`,Insert:`Insert`,Home:`Home`,End:`End`,PageUp:`PageUp`,PageDown:`PageDown`,Minus:`-`,Equal:`=`,BracketLeft:`[`,BracketRight:`]`,Backslash:`\\`,Semicolon:`;`,Quote:`'`,Backquote:"`",Comma:`,`,Period:`.`,Slash:`/`},_=new Set([`MetaLeft`,`MetaRight`,`ControlLeft`,`ControlRight`,`AltLeft`,`AltRight`,`ShiftLeft`,`ShiftRight`]),v=e=>{let t=e.code;return _.has(t)?null:/^Key[A-Z]$/.test(t)?t.slice(3):/^Digit[0-9]$/.test(t)?t.slice(5):/^Numpad[0-9]$/.test(t)?`num${t.slice(6)}`:/^F[0-9]{1,2}$/.test(t)?t:g[t]??null},y=e=>{let t=v(e);if(t===null)return null;let n=[];return e.metaKey&&n.push(`CmdOrCtrl`),e.ctrlKey&&n.push(`Control`),e.altKey&&n.push(`Alt`),e.shiftKey&&n.push(`Shift`),[...n,t].join(`+`)},b=(e,t,n)=>n===``?null:e.find(e=>e.key!==t&&e.accelerator===n)??null,x=i(),S=[{scope:`global`,title:`Global shortcuts`,description:`Work anywhere, even when Vellum is in the background.`},{scope:`menu`,title:`App shortcuts`,description:`Work while a Vellum window is focused.`}];function C({hotkey:e,recording:t,conflictLabel:r,onStartRecording:i,onCancelRecording:a,onReset:o,onRemove:c}){let u=e.accelerator===``,f=e.override!==null;return(0,x.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-2`,children:[(0,x.jsxs)(`div`,{className:`min-w-0`,children:[(0,x.jsx)(`div`,{className:`truncate text-body-medium-lighter text-[var(--content-default)]`,children:e.label}),r!==null&&(0,x.jsxs)(`div`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:[`Already used by `,r]})]}),(0,x.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[t?(0,x.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Recording… press a shortcut, or Esc to cancel`}):u?(0,x.jsx)(`span`,{className:`text-body-small-default italic text-[var(--content-disabled)]`,children:`Disabled`}):(0,x.jsx)(s,{accelerator:e.accelerator}),t?(0,x.jsx)(n,{variant:`ghost`,size:`compact`,onClick:a,children:`Cancel`}):(0,x.jsx)(n,{variant:`outlined`,size:`compact`,onClick:i,"aria-label":`Record shortcut for ${e.label}`,children:`Record`}),(0,x.jsx)(n,{variant:`ghost`,size:`compact`,disabled:!f,leftIcon:(0,x.jsx)(d,{className:`h-3.5 w-3.5`}),onClick:o,"aria-label":`Reset ${e.label} to default`}),(0,x.jsx)(n,{variant:`ghost`,size:`compact`,disabled:u,leftIcon:(0,x.jsx)(l,{className:`h-3.5 w-3.5`}),onClick:c,"aria-label":`Remove ${e.label} binding`})]})]})}function w(){let[e,t]=(0,f.useState)([]),[n,i]=(0,f.useState)(null),[s,l]=(0,f.useState)(null),d=(0,f.useCallback)(()=>{p().then(t)},[]);(0,f.useEffect)(()=>(d(),h(t)),[d]);let g=(0,f.useCallback)(()=>{i(null),l(null)},[]);(0,f.useEffect)(()=>{if(n===null)return;let t=t=>{if(t.preventDefault(),t.stopPropagation(),t.code===`Escape`){g();return}let r=y(t);if(r===null)return;let i=b(e,n,r);if(i!==null){l({key:n,label:i.label});return}m(n,r).then(d),g()};return window.addEventListener(`keydown`,t,!0),()=>window.removeEventListener(`keydown`,t,!0)},[n,e,d,g]);let _=(0,f.useCallback)(e=>{l(null),i(e)},[]),v=(0,f.useCallback)(t=>{let n=b(e,t,e.find(e=>e.key===t)?.defaultAccelerator??``);if(n!==null){i(null),l({key:t,label:n.label});return}g(),m(t,null).then(d)},[e,d,g]),w=(0,f.useCallback)(e=>{g(),m(e,``).then(d)},[d,g]),T=(0,f.useMemo)(()=>S.map(t=>({...t,commands:e.filter(e=>e.rebindable&&e.scope===t.scope)})).filter(e=>e.commands.length>0),[e]);return c()?(0,x.jsxs)(`div`,{className:`space-y-4`,children:[(0,x.jsxs)(`div`,{children:[(0,x.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Keyboard Shortcuts`}),(0,x.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:`Customize the shortcuts for Vellum's commands.`})]}),s!==null&&(0,x.jsxs)(o,{tone:`warning`,children:[`That shortcut is already used by `,s.label,`.`,` `,n===null?`Remove or change that binding before resetting.`:`Pick a different combination, or press Esc to cancel.`]}),T.map(e=>(0,x.jsxs)(a,{bordered:!0,children:[(0,x.jsxs)(`div`,{className:`mb-2`,children:[(0,x.jsx)(`div`,{className:`text-body-medium-emphasised text-[var(--content-default)]`,children:e.title}),(0,x.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e.description})]}),(0,x.jsx)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:e.commands.map(e=>(0,x.jsx)(C,{hotkey:e,recording:n===e.key,conflictLabel:s!==null&&s.key===e.key?s.label:null,onStartRecording:()=>_(e.key),onCancelRecording:g,onReset:()=>v(e.key),onRemove:()=>w(e.key)},e.key))})]},e.scope))]}):(0,x.jsx)(r,{replace:!0,to:u.settings.general})}export{w as KeyboardShortcutsPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D7s2Q_uG.js";import{r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./card-BibIM9x3.js";import{t as o}from"./notice-CynJKEow.js";import{t as s}from"./shortcut-keys-vM6sNj7W.js";import{t as c}from"./is-electron-C_ZTVhv8.js";import{t as l}from"./x-Cb3jFpZR.js";import{a as u}from"./routes-DlW6mpdp.js";import{Jr as d}from"./index-C1jO2jSf.js";var f=e(t(),1);async function p(){if(!c())return[];let e=window.vellum;return e?.hotkeys?e.hotkeys.get():[]}async function m(e,t){if(!c())return;let n=window.vellum;n?.hotkeys&&await n.hotkeys.set(e,t)}function h(e){if(!c())return()=>{};let t=window.vellum;return t?.hotkeys?t.hotkeys.onChange(e):()=>{}}var g={ArrowUp:`Up`,ArrowDown:`Down`,ArrowLeft:`Left`,ArrowRight:`Right`,Enter:`Return`,NumpadEnter:`Return`,Space:`Space`,Tab:`Tab`,Escape:`Escape`,Backspace:`Backspace`,Delete:`Delete`,Insert:`Insert`,Home:`Home`,End:`End`,PageUp:`PageUp`,PageDown:`PageDown`,Minus:`-`,Equal:`=`,BracketLeft:`[`,BracketRight:`]`,Backslash:`\\`,Semicolon:`;`,Quote:`'`,Backquote:"`",Comma:`,`,Period:`.`,Slash:`/`},_=new Set([`MetaLeft`,`MetaRight`,`ControlLeft`,`ControlRight`,`AltLeft`,`AltRight`,`ShiftLeft`,`ShiftRight`]),v=e=>{let t=e.code;return _.has(t)?null:/^Key[A-Z]$/.test(t)?t.slice(3):/^Digit[0-9]$/.test(t)?t.slice(5):/^Numpad[0-9]$/.test(t)?`num${t.slice(6)}`:/^F[0-9]{1,2}$/.test(t)?t:g[t]??null},y=e=>{let t=v(e);if(t===null)return null;let n=[];return e.metaKey&&n.push(`CmdOrCtrl`),e.ctrlKey&&n.push(`Control`),e.altKey&&n.push(`Alt`),e.shiftKey&&n.push(`Shift`),[...n,t].join(`+`)},b=(e,t,n)=>n===``?null:e.find(e=>e.key!==t&&e.accelerator===n)??null,x=i(),S=[{scope:`global`,title:`Global shortcuts`,description:`Work anywhere, even when Vellum is in the background.`},{scope:`menu`,title:`App shortcuts`,description:`Work while a Vellum window is focused.`}];function C({hotkey:e,recording:t,conflictLabel:r,onStartRecording:i,onCancelRecording:a,onReset:o,onRemove:c}){let u=e.accelerator===``,f=e.override!==null;return(0,x.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-2`,children:[(0,x.jsxs)(`div`,{className:`min-w-0`,children:[(0,x.jsx)(`div`,{className:`truncate text-body-medium-lighter text-[var(--content-default)]`,children:e.label}),r!==null&&(0,x.jsxs)(`div`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:[`Already used by `,r]})]}),(0,x.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[t?(0,x.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Recording… press a shortcut, or Esc to cancel`}):u?(0,x.jsx)(`span`,{className:`text-body-small-default italic text-[var(--content-disabled)]`,children:`Disabled`}):(0,x.jsx)(s,{accelerator:e.accelerator}),t?(0,x.jsx)(n,{variant:`ghost`,size:`compact`,onClick:a,children:`Cancel`}):(0,x.jsx)(n,{variant:`outlined`,size:`compact`,onClick:i,"aria-label":`Record shortcut for ${e.label}`,children:`Record`}),(0,x.jsx)(n,{variant:`ghost`,size:`compact`,disabled:!f,leftIcon:(0,x.jsx)(d,{className:`h-3.5 w-3.5`}),onClick:o,"aria-label":`Reset ${e.label} to default`}),(0,x.jsx)(n,{variant:`ghost`,size:`compact`,disabled:u,leftIcon:(0,x.jsx)(l,{className:`h-3.5 w-3.5`}),onClick:c,"aria-label":`Remove ${e.label} binding`})]})]})}function w(){let[e,t]=(0,f.useState)([]),[n,i]=(0,f.useState)(null),[s,l]=(0,f.useState)(null),d=(0,f.useCallback)(()=>{p().then(t)},[]);(0,f.useEffect)(()=>(d(),h(t)),[d]);let g=(0,f.useCallback)(()=>{i(null),l(null)},[]);(0,f.useEffect)(()=>{if(n===null)return;let t=t=>{if(t.preventDefault(),t.stopPropagation(),t.code===`Escape`){g();return}let r=y(t);if(r===null)return;let i=b(e,n,r);if(i!==null){l({key:n,label:i.label});return}m(n,r).then(d),g()};return window.addEventListener(`keydown`,t,!0),()=>window.removeEventListener(`keydown`,t,!0)},[n,e,d,g]);let _=(0,f.useCallback)(e=>{l(null),i(e)},[]),v=(0,f.useCallback)(t=>{let n=b(e,t,e.find(e=>e.key===t)?.defaultAccelerator??``);if(n!==null){i(null),l({key:t,label:n.label});return}g(),m(t,null).then(d)},[e,d,g]),w=(0,f.useCallback)(e=>{g(),m(e,``).then(d)},[d,g]),T=(0,f.useMemo)(()=>S.map(t=>({...t,commands:e.filter(e=>e.rebindable&&e.scope===t.scope)})).filter(e=>e.commands.length>0),[e]);return c()?(0,x.jsxs)(`div`,{className:`space-y-4`,children:[(0,x.jsxs)(`div`,{children:[(0,x.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Keyboard Shortcuts`}),(0,x.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:`Customize the shortcuts for Vellum's commands.`})]}),s!==null&&(0,x.jsxs)(o,{tone:`warning`,children:[`That shortcut is already used by `,s.label,`.`,` `,n===null?`Remove or change that binding before resetting.`:`Pick a different combination, or press Esc to cancel.`]}),T.map(e=>(0,x.jsxs)(a,{bordered:!0,children:[(0,x.jsxs)(`div`,{className:`mb-2`,children:[(0,x.jsx)(`div`,{className:`text-body-medium-emphasised text-[var(--content-default)]`,children:e.title}),(0,x.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e.description})]}),(0,x.jsx)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:e.commands.map(e=>(0,x.jsx)(C,{hotkey:e,recording:n===e.key,conflictLabel:s!==null&&s.key===e.key?s.label:null,onStartRecording:()=>_(e.key),onCancelRecording:g,onReset:()=>v(e.key),onRemove:()=>w(e.key)},e.key))})]},e.scope))]}):(0,x.jsx)(r,{replace:!0,to:u.settings.general})}export{w as KeyboardShortcutsPage};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n,p as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import"./src-BJj2O5XB.js";import{n as a}from"./toast-CxaZ5f1d.js";import{t as o}from"./loader-circle-Cw1KvvLK.js";import{n as s}from"./sdk.gen-DtKkd6hs.js";import{a as c}from"./routes-B9xcBuuC.js";import{a as l}from"./viewer-store-9Ag85lFC.js";import{et as u,ot as d,r as f}from"./index-Cx6vyW7T.js";import{t as p}from"./use-active-assistant-id-BlwRimQH.js";var m=e(t(),1),h=i();function g(){let{appId:e}=r(),t=p(),i=n(),[g,_]=(0,m.useState)(null),[v,y]=(0,m.useState)(null),[b,x]=(0,m.useState)(!1),S=(0,m.useRef)(null);(0,m.useEffect)(()=>{if(e)return S.current=e,_(null),y(null),s({path:{assistant_id:t,id:e},throwOnError:!0}).then(({data:n})=>{S.current===e&&(l(t,n.appId,n.html),_({appId:n.appId,dirName:n.dirName,name:n.name,html:n.html}))}).catch(t=>{S.current===e&&y(t instanceof Error?t.message:`Failed to open app`)}),()=>{S.current=null}},[t,e]);let C=(0,m.useCallback)(()=>{i(c.library.root)},[i]),w=f(),T=(0,m.useCallback)(()=>{g&&w(g)},[g,w]),E=(0,m.useCallback)(async()=>{if(!(!g||b)){x(!0);try{await d(t,g.appId,g.name),a.success(`App exported`,{description:`${g.name}.vellum`})}catch(e){a.error(`Failed to share app`,{description:e instanceof Error?e.message:void 0})}finally{x(!1)}}},[t,g,b]);return e?v?(0,h.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4`,children:[(0,h.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:v}),(0,h.jsx)(`button`,{type:`button`,onClick:C,className:`text-body-medium-default text-[var(--primary-base)] underline`,children:`Back to Library`})]}):g?(0,h.jsx)(u,{appId:g.appId,appName:g.name,html:g.html,assistantId:t,onClose:C,onEdit:T,onShare:E,isSharing:b,enableFullscreen:!0}):(0,h.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,h.jsx)(o,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})}):null}export{g as LibraryDetailPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n,p as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import"./src-BJj2O5XB.js";import{n as a}from"./toast-CxaZ5f1d.js";import{t as o}from"./loader-circle-BU6b8vrp.js";import{n as s}from"./sdk.gen-D4xWFnu5.js";import{a as c}from"./routes-DlW6mpdp.js";import{a as l}from"./viewer-store-Dmp0L2nm.js";import{ft as u,r as d,vt as f}from"./index-C1jO2jSf.js";import{t as p}from"./use-active-assistant-id-CuamPYIw.js";var m=e(t(),1),h=i();function g(){let{appId:e}=r(),t=p(),i=n(),[g,_]=(0,m.useState)(null),[v,y]=(0,m.useState)(null),[b,x]=(0,m.useState)(!1),S=(0,m.useRef)(null);(0,m.useEffect)(()=>{if(e)return S.current=e,_(null),y(null),s({path:{assistant_id:t,id:e},throwOnError:!0}).then(({data:n})=>{S.current===e&&(l(t,n.appId,n.html),_({appId:n.appId,dirName:n.dirName,name:n.name,html:n.html}))}).catch(t=>{S.current===e&&y(t instanceof Error?t.message:`Failed to open app`)}),()=>{S.current=null}},[t,e]);let C=(0,m.useCallback)(()=>{i(c.library.root)},[i]),w=d(),T=(0,m.useCallback)(()=>{g&&w(g)},[g,w]),E=(0,m.useCallback)(async()=>{if(!(!g||b)){x(!0);try{await f(t,g.appId,g.name),a.success(`App exported`,{description:`${g.name}.vellum`})}catch(e){a.error(`Failed to share app`,{description:e instanceof Error?e.message:void 0})}finally{x(!1)}}},[t,g,b]);return e?v?(0,h.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4`,children:[(0,h.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:v}),(0,h.jsx)(`button`,{type:`button`,onClick:C,className:`text-body-medium-default text-[var(--primary-base)] underline`,children:`Back to Library`})]}):g?(0,h.jsx)(u,{appId:g.appId,appName:g.name,html:g.html,assistantId:t,onClose:C,onEdit:T,onShare:E,isSharing:b,enableFullscreen:!0}):(0,h.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,h.jsx)(o,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})}):null}export{g as LibraryDetailPage};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D7s2Q_uG.js";import{d as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as i}from"./QueryClientProvider-DKhXIxGb.js";import{t as a}from"./useQuery-B45lW1Kk.js";import{t as o}from"./jsx-runtime-CVSDxk6A.js";import{t as s}from"./menu-CdoNX1qx.js";import"./src-BJj2O5XB.js";import{t as c}from"./confirm-dialog-SpCsmAdG.js";import{t as l}from"./input-Ch7OC6ME.js";import{n as u,t as d}from"./panel-item-BLQE_l-g.js";import{n as f}from"./toast-CxaZ5f1d.js";import{t as p}from"./arrow-up-nBfZxfhi.js";import{t as m}from"./file-text-ClqzuFsu.js";import{t as h}from"./globe-atPvTfX9.js";import{s as g,t as _}from"./sdk.gen-D4xWFnu5.js";import{C as v,n as y,t as b}from"./react-query.gen-DeL3wFEA.js";import{a as x}from"./routes-DlW6mpdp.js";import{n as S}from"./use-is-mobile-BF5x8sr8.js";import{i as C,r as w}from"./viewer-store-Dmp0L2nm.js";import{t as T}from"./misc-CBD9JJCY.js";import{Ai as E,Ft as D,Gr as O,Ht as k,Mr as A,_t as j,at as M,ei as N,gi as P,jr as F,ti as I,vt as L}from"./index-C1jO2jSf.js";import{t as R}from"./deploy-dialogs-CAuGaoSA.js";import{t as z}from"./use-active-assistant-id-CuamPYIw.js";import{t as B}from"./page-shell-tozCEPBk.js";import{t as V}from"./format-date-C51RKaFF.js";var H=e(t(),1),U=o();function W({app:e,isDeleting:t,onConfirm:n,onCancel:r}){return(0,U.jsx)(c,{open:e!==null,title:`Delete app`,message:e?`"${e.name}" will be permanently removed.`:``,confirmLabel:t?`Deleting…`:`Delete`,destructive:!0,onConfirm:n,onCancel:r})}function G(e){return e===1?`1 word`:`${e} words`}function K({document:e,onOpen:t}){return(0,U.jsxs)(`div`,{className:`group relative flex flex-col gap-2`,children:[(0,U.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:T(`relative flex w-full cursor-pointer flex-col items-center justify-center gap-2 overflow-hidden rounded-xl border border-[var(--border-base)] bg-[var(--surface-base)]`,`aspect-[16/10]`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:[(0,U.jsx)(m,{size:34,className:`text-[var(--content-tertiary)]`}),(0,U.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:G(e.wordCount)})]}),(0,U.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:`flex cursor-pointer flex-col gap-0.5 px-0.5 text-left outline-none`,children:[(0,U.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.title}),(0,U.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:V(new Date(e.updatedAt))})]})]})}function q({fileInputRef:e,isImporting:t,onImportBundle:r,onNewConversation:i}){return(0,U.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4 py-24`,children:[(0,U.jsx)(`input`,{ref:e,type:`file`,accept:`.vellum`,className:`hidden`,onChange:r}),(0,U.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,U.jsx)(P,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,U.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Your library is empty`}),(0,U.jsx)(`p`,{className:`max-w-md text-center text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:`Ask your assistant to build something, or import a shared app`}),(0,U.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[i?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(n,{variant:`primary`,size:`regular`,onClick:i,children:`New Conversation`}),(0,U.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:`or`})]}):null,(0,U.jsxs)(n,{variant:`outlined`,size:`regular`,onClick:()=>e.current?.click(),disabled:t,children:[t?(0,U.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}):(0,U.jsx)(F,{size:14}),(0,U.jsx)(`span`,{className:`ml-1.5`,children:`Import .vellum File`})]})]})]})}function J({app:e,assistantId:t,isPinned:n,onOpen:r,onPin:i,onDelete:a,onDeploy:o,justImported:s,onAnimationEnd:c}){let[l,u]=(0,H.useState)(!1),d=(0,H.useCallback)(()=>C(t,e.id),[t,e.id]),p=(0,H.useCallback)(async()=>{if(!l){u(!0);try{await L(t,e.id,e.name),f.success(`App exported`,{description:`${e.name}.vellum`})}catch(e){f.error(`Failed to share app`,{description:e instanceof Error?e.message:void 0})}finally{u(!1)}}},[t,e.id,e.name,l]),[m,h]=(0,H.useState)(!1),g=S();return(0,U.jsxs)(`div`,{className:T(`group relative flex flex-col gap-2`,s&&`animate-[card-entrance_400ms_ease-out]`),onAnimationEnd:s?c:void 0,children:[(0,U.jsx)(`button`,{type:`button`,onClick:()=>r(e.id),className:T(`relative w-full cursor-pointer overflow-hidden rounded-xl`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:(0,U.jsx)(M,{name:e.name,icon:e.icon,loadHtml:d})}),(0,U.jsx)(`div`,{className:T(`absolute right-2 top-2 z-20 transition-opacity`,`max-md:opacity-100`,`md:group-hover:opacity-100 md:group-focus-within:opacity-100`,m?`opacity-100`:`md:opacity-0`),children:(0,U.jsx)(Y,{appName:e.name,isPinned:n,open:m,onOpenChange:h,onPin:()=>i(e),onDelete:a?()=>a(e):void 0,onShare:p,onDeploy:o,isMobile:g})}),(0,U.jsxs)(`button`,{type:`button`,onClick:()=>r(e.id),className:`flex cursor-pointer flex-col gap-0.5 px-0.5 text-left outline-none`,children:[(0,U.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.name}),(0,U.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:V(new Date(e.createdAt))})]})]})}function Y({appName:e,isPinned:t,open:r,onOpenChange:i,onPin:a,onDelete:o,onShare:c,onDeploy:l,isMobile:f}){return f?(0,U.jsxs)(u.Root,{open:r,onOpenChange:i,children:[(0,U.jsx)(u.Trigger,{asChild:!0,children:(0,U.jsx)(n,{variant:`primary`,size:`compact`,iconOnly:(0,U.jsx)(E,{}),"aria-label":`App actions`,onClick:e=>e.stopPropagation()})}),(0,U.jsxs)(u.Content,{children:[(0,U.jsx)(u.Header,{className:`sr-only`,children:(0,U.jsx)(u.Title,{children:e})}),(0,U.jsxs)(u.Body,{className:`pt-0`,children:[(0,U.jsx)(d,{icon:t?I:N,label:t?`Unpin`:`Pin`,onSelect:()=>{i(!1),a()}}),c?(0,U.jsx)(d,{icon:p,label:(0,U.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,U.jsx)(`span`,{children:`Share`}),(0,U.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Export as .vellum file`})]}),onSelect:()=>{i(!1),c()}}):null,l?(0,U.jsx)(d,{icon:h,label:(0,U.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,U.jsx)(`span`,{children:`Deploy to Vercel`}),(0,U.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Publish as a static page`})]}),onSelect:()=>{i(!1),l()}}):null,o?(0,U.jsx)(d,{icon:A,label:`Delete`,onSelect:()=>{i(!1),o()}}):null]})]})]}):(0,U.jsxs)(s.Root,{open:r,onOpenChange:i,children:[(0,U.jsx)(s.Trigger,{asChild:!0,children:(0,U.jsx)(n,{variant:`primary`,size:`compact`,iconOnly:(0,U.jsx)(E,{}),"aria-label":`App actions`,onClick:e=>e.stopPropagation()})}),(0,U.jsxs)(s.Content,{align:`end`,sideOffset:4,children:[(0,U.jsx)(s.Item,{leftIcon:t?(0,U.jsx)(I,{size:14}):(0,U.jsx)(N,{size:14}),onSelect:()=>a(),className:`whitespace-nowrap`,children:t?`Unpin`:`Pin`}),c?(0,U.jsx)(s.Item,{leftIcon:(0,U.jsx)(p,{size:14}),onSelect:()=>c(),className:`whitespace-nowrap`,children:`Share`}):null,l?(0,U.jsx)(s.Item,{leftIcon:(0,U.jsx)(h,{size:14}),onSelect:()=>l(),className:`whitespace-nowrap`,children:`Deploy to Vercel`}):null,o?(0,U.jsx)(s.Item,{leftIcon:(0,U.jsx)(A,{size:14,className:`text-red-600`}),onSelect:()=>o(),className:`whitespace-nowrap text-red-600 data-[highlighted]:text-red-700`,children:`Delete`}):null]})]})}function X({title:e,apps:t,assistantId:n,pinnedAppIds:r,lastImportedAppId:i,onOpen:a,onPin:o,onDelete:s,onDeploy:c,onAnimationEnd:l}){return t.length===0?null:(0,U.jsxs)(`section`,{children:[(0,U.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:e}),(0,U.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:t.map(e=>(0,U.jsx)(J,{app:e,assistantId:n,isPinned:r.has(e.id),onOpen:a,onPin:o,onDelete:s,justImported:e.id===i,onAnimationEnd:l,onDeploy:c?()=>c(e.id):void 0},e.id))})]})}var Z=(e,t)=>t.updatedAt-e.updatedAt||t.createdAt-e.createdAt;function Q(e){let t=D.use.pinnedAppIds(),{data:n=[],isLoading:r,error:i}=a({...b({path:{assistant_id:e}}),select:e=>e.apps}),{data:o=[],isLoading:s,error:c}=a({...v({path:{assistant_id:e}}),select:e=>e.documents}),l=r||s,u=i&&c?i instanceof Error?i.message:`Failed to load library`:null,[d,f]=(0,H.useState)(``),p=(0,H.useMemo)(()=>{if(!d.trim())return n;let e=d.toLowerCase();return n.filter(t=>t.name.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e))},[n,d]);return{apps:n,documents:o,filteredApps:p,pinnedApps:(0,H.useMemo)(()=>p.filter(e=>t.has(e.id)).sort(Z),[p,t]),recentApps:(0,H.useMemo)(()=>p.filter(e=>!t.has(e.id)).sort(Z),[p,t]),filteredDocuments:(0,H.useMemo)(()=>{if(!d.trim())return o;let e=d.toLowerCase();return o.filter(t=>t.title.toLowerCase().includes(e))},[o,d]),searchText:d,setSearchText:f,loading:l,error:u}}async function $(e,t){let{data:n,error:r,response:i}=await g({path:{assistant_id:e},body:t,bodySerializer:e=>e,headers:{"Content-Type":`application/octet-stream`},throwOnError:!1});if(!i||!i.ok){let e=(r&&typeof r==`object`&&`message`in r?r.message:null)??`Failed to import app.`;throw Error(e)}return n}function ee({assistantId:e,assistantName:t,title:r,onNewConversation:a,onOpenDocument:o,onOpenApp:s}){let c=i(),u=D.use.togglePin(),d=D.use.pinnedAppIds(),p=j.use.isDeploying(),{apps:m,documents:h,filteredApps:g,pinnedApps:v,recentApps:b,filteredDocuments:x,searchText:S,setSearchText:T,loading:E,error:k}=Q(e),[A,M]=(0,H.useState)(null),[N,P]=(0,H.useState)(!1),I=(0,H.useCallback)(async()=>{let t=A;if(!(!t||N)){P(!0);try{await _({path:{assistant_id:e,id:t.id},throwOnError:!0}),w(e,t.id),c.invalidateQueries({queryKey:y({path:{assistant_id:e}})}),d.has(t.id)&&u(t),M(null)}catch(e){f.error(e instanceof Error?e.message:`Failed to delete app`)}finally{P(!1)}}},[A,N,e,d,u,c]),L=(0,H.useCallback)(()=>{N||M(null)},[N]),z=(0,H.useRef)(null),[B,V]=(0,H.useState)(!1),G=(0,H.useCallback)(async t=>{let n=t.target.files?.[0];if(!(!n||B)){V(!0);try{let t=await $(e,n);await c.invalidateQueries({queryKey:y({path:{assistant_id:e}})}),f.success(t.name+` imported`),s(t.appId)}catch(e){f.error(e instanceof Error?e.message:`Failed to import app`)}finally{V(!1),z.current&&(z.current.value=``)}}},[e,B,c,s]),J=(0,H.useCallback)(async t=>{if(p)return;let n=m.find(e=>e.id===t)?.name??`this app`;try{let r=await C(e,t);j.getState().deployApp(e,t,n,r)}catch{j.getState().deployApp(e,t,n,``)}},[e,p,m]),Y=(0,H.useCallback)(e=>u(e),[u]);return E?(0,U.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,U.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2 border-[var(--border-base)] border-t-[var(--primary-base)]`,role:`status`,"aria-label":`Loading apps`})}):k?(0,U.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4`,children:[(0,U.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:k}),(0,U.jsx)(`button`,{type:`button`,className:`rounded-lg bg-[var(--primary-base)] px-4 py-2 text-body-medium-default text-[var(--content-inset)] transition-colors hover:bg-[var(--primary-hover)]`,onClick:()=>window.location.reload(),children:`Retry`})]}):m.length===0&&h.length===0?(0,U.jsx)(q,{fileInputRef:z,isImporting:B,onImportBundle:G,onNewConversation:a?()=>a():void 0}):(0,U.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[(0,U.jsxs)(`div`,{className:`mb-4 flex shrink-0 items-center justify-between gap-4`,children:[r?(0,U.jsx)(`h1`,{className:`text-title-large text-[var(--content-default)]`,children:r}):(0,U.jsx)(`span`,{}),(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(`input`,{ref:z,type:`file`,accept:`.vellum`,className:`hidden`,onChange:G}),(0,U.jsxs)(n,{variant:`outlined`,size:`regular`,onClick:()=>z.current?.click(),disabled:B,children:[B?(0,U.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}):(0,U.jsx)(F,{size:14}),(0,U.jsx)(`span`,{className:`ml-1.5`,children:`Import`})]})]})]}),(0,U.jsx)(`div`,{className:`mb-6 shrink-0`,children:(0,U.jsx)(l,{fullWidth:!0,type:`text`,placeholder:`Search your library`,value:S,onChange:e=>T(e.target.value),leftIcon:(0,U.jsx)(O,{size:16})})}),(0,U.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:g.length===0&&x.length===0?(0,U.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,U.jsx)(O,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,U.jsxs)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:[`No apps or documents matched “`,S,`”`]})]}):(0,U.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,U.jsx)(X,{title:`Pinned`,apps:v,assistantId:e,pinnedAppIds:d,onOpen:s,onPin:Y,onDelete:M,onDeploy:J}),(0,U.jsx)(X,{title:`Recents`,apps:b,assistantId:e,pinnedAppIds:d,onOpen:s,onPin:Y,onDelete:M,onDeploy:J}),x.length>0?(0,U.jsxs)(`section`,{children:[(0,U.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:`Documents`}),(0,U.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:x.map(e=>(0,U.jsx)(K,{document:e,onOpen:e=>{o&&o(e)}},e.surfaceId))})]}):null]})}),(0,U.jsx)(R,{assistantId:e,assistantName:t,onStartConversation:a}),(0,U.jsx)(W,{app:A,isDeleting:N,onConfirm:I,onCancel:L})]})}function te(){let e=z(),t=r();return(0,U.jsx)(B,{children:(0,U.jsx)(ee,{assistantId:e,title:`Library`,onNewConversation:(0,H.useCallback)(e=>{k(t,{prompt:e})},[t]),onOpenDocument:(0,H.useCallback)(e=>{t(x.document(e))},[t]),onOpenApp:(0,H.useCallback)(e=>{t(x.library.app(e))},[t])})})}export{te as LibraryPage};
@@ -36,4 +36,4 @@ import{i as e,r as t,s as n}from"./local-settings-lVNyIOJ_.js";import{n as r,t a
36
36
 
37
37
  `)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=C,s=!Se.jitless,c=s&&Ne.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let p=d.value;return o(p)?s&&c&&f?.async===!1&&f.jitless!==!0?(a||=i(t.shape),d=a(d,f),l?Vn([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function Wn(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!O(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>A(e,r,y())))}),t)}var Gn=_(`$ZodUnion`,(e,t)=>{I.init(e,t),b(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),b(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),b(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),b(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>De(e.source)).join(`|`)})$`)}});let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(i,a)=>{if(n)return r(i,a);let o=!1,s=[];for(let e of t.options){let t=e._zod.run({value:i.value,issues:[]},a);if(t instanceof Promise)s.push(t),o=!0;else{if(t.issues.length===0)return t;s.push(t)}}return o?Promise.all(s).then(t=>Wn(t,i,e,a)):Wn(s,i,e,a)}}),Kn=_(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,Gn.init(e,t);let n=e._zod.parse;b(e._zod,`propValues`,()=>{let e={};for(let n of t.options){let r=n._zod.propValues;if(!r||Object.keys(r).length===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(n)}"`);for(let[t,n]of Object.entries(r)){e[t]||(e[t]=new Set);for(let r of n)e[t].add(r)}}return e});let r=Te(()=>{let e=t.options,n=new Map;for(let r of e){let e=r._zod.propValues?.[t.discriminator];if(!e||e.size===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(r)}"`);for(let t of e){if(n.has(t))throw Error(`Duplicate discriminator value "${String(t)}"`);n.set(t,r)}}return n});e._zod.parse=(i,a)=>{let o=i.value;if(!C(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=r.value.get(o?.[t.discriminator]);return s?s._zod.run(i,a):t.unionFallback?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,input:o,path:[t.discriminator],inst:e}),i)}}),qn=_(`$ZodIntersection`,(e,t)=>{I.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>Yn(e,t,n)):Yn(e,i,a)}});function Jn(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(w(e)&&w(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=Jn(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=Jn(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Yn(e,t,n){let r=new Map,i;for(let n of t.issues)if(n.code===`unrecognized_keys`){i??=n;for(let e of n.keys)r.has(e)||r.set(e,{}),r.get(e).l=!0}else e.issues.push(n);for(let t of n.issues)if(t.code===`unrecognized_keys`)for(let e of t.keys)r.has(e)||r.set(e,{}),r.get(e).r=!0;else e.issues.push(t);let a=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(a.length&&i&&e.issues.push({...i,keys:a}),O(e))return e;let o=Jn(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}var Xn=_(`$ZodRecord`,(e,t)=>{I.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!w(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let a=[],o=t.keyType._zod.values;if(o){n.value={};let s=new Set;for(let e of o)if(typeof e==`string`||typeof e==`number`||typeof e==`symbol`){s.add(typeof e==`number`?e.toString():e);let o=t.valueType._zod.run({value:i[e],issues:[]},r);o instanceof Promise?a.push(o.then(t=>{t.issues.length&&n.issues.push(...k(e,t.issues)),n.value[e]=t.value})):(o.issues.length&&n.issues.push(...k(e,o.issues)),n.value[e]=o.value)}let c;for(let e in i)s.has(e)||(c??=[],c.push(e));c&&c.length>0&&n.issues.push({code:`unrecognized_keys`,input:i,inst:e,keys:c})}else{n.value={};for(let o of Reflect.ownKeys(i)){if(o===`__proto__`)continue;let s=t.keyType._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof o==`string`&&It.test(o)&&s.issues.length){let e=t.keyType._zod.run({value:Number(o),issues:[]},r);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(s=e)}if(s.issues.length){t.mode===`loose`?n.value[o]=i[o]:n.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>A(e,r,y())),input:o,path:[o],inst:e});continue}let c=t.valueType._zod.run({value:i[o],issues:[]},r);c instanceof Promise?a.push(c.then(e=>{e.issues.length&&n.issues.push(...k(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...k(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),Zn=_(`$ZodEnum`,(e,t)=>{I.init(e,t);let n=Ce(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>Fe.has(typeof e)).map(e=>typeof e==`string`?T(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),Qn=_(`$ZodLiteral`,(e,t)=>{if(I.init(e,t),t.values.length===0)throw Error(`Cannot create literal schema with no valid values`);let n=new Set(t.values);e._zod.values=n,e._zod.pattern=RegExp(`^(${t.values.map(e=>typeof e==`string`?T(e):e?T(e.toString()):String(e)).join(`|`)})$`),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),$n=_(`$ZodTransform`,(e,t)=>{I.init(e,t),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new xe(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new v;return n.value=i,n}});function er(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var tr=_(`$ZodOptional`,(e,t)=>{I.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,b(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),b(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${De(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(t=>er(t,e.value)):er(r,e.value)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),nr=_(`$ZodExactOptional`,(e,t)=>{tr.init(e,t),b(e._zod,`values`,()=>t.innerType._zod.values),b(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),rr=_(`$ZodNullable`,(e,t)=>{I.init(e,t),b(e._zod,`optin`,()=>t.innerType._zod.optin),b(e._zod,`optout`,()=>t.innerType._zod.optout),b(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${De(e.source)}|null)$`):void 0}),b(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),ir=_(`$ZodDefault`,(e,t)=>{I.init(e,t),e._zod.optin=`optional`,b(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>ar(e,t)):ar(r,t)}});function ar(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var or=_(`$ZodPrefault`,(e,t)=>{I.init(e,t),e._zod.optin=`optional`,b(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),sr=_(`$ZodNonOptional`,(e,t)=>{I.init(e,t),b(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>cr(t,e)):cr(i,e)}});function cr(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}var lr=_(`$ZodCatch`,(e,t)=>{I.init(e,t),b(e._zod,`optin`,()=>t.innerType._zod.optin),b(e._zod,`optout`,()=>t.innerType._zod.optout),b(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>A(e,n,y()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>A(e,n,y()))},input:e.value}),e.issues=[]),e)}}),ur=_(`$ZodPipe`,(e,t)=>{I.init(e,t),b(e._zod,`values`,()=>t.in._zod.values),b(e._zod,`optin`,()=>t.in._zod.optin),b(e._zod,`optout`,()=>t.out._zod.optout),b(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>z(e,t.in,n)):z(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>z(e,t.out,n)):z(r,t.out,n)}});function z(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var dr=_(`$ZodReadonly`,(e,t)=>{I.init(e,t),b(e._zod,`propValues`,()=>t.innerType._zod.propValues),b(e._zod,`values`,()=>t.innerType._zod.values),b(e._zod,`optin`,()=>t.innerType?._zod?.optin),b(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(fr):fr(r)}});function fr(e){return e.value=Object.freeze(e.value),e}var pr=_(`$ZodCustom`,(e,t)=>{P.init(e,t),I.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>mr(t,n,r,e));mr(i,n,r,e)}});function mr(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(j(e))}}var hr,gr=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function _r(){return new gr}(hr=globalThis).__zod_globalRegistry??(hr.__zod_globalRegistry=_r());var B=globalThis.__zod_globalRegistry;function vr(e,t){return new e({type:`string`,...D(t)})}function yr(e,t){return new e({type:`string`,coerce:!0,...D(t)})}function br(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...D(t)})}function xr(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...D(t)})}function Sr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...D(t)})}function Cr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...D(t)})}function wr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...D(t)})}function Tr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...D(t)})}function Er(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...D(t)})}function Dr(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...D(t)})}function Or(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...D(t)})}function kr(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...D(t)})}function Ar(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...D(t)})}function jr(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...D(t)})}function Mr(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...D(t)})}function Nr(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...D(t)})}function Pr(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...D(t)})}function Fr(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...D(t)})}function Ir(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...D(t)})}function Lr(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...D(t)})}function Rr(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...D(t)})}function zr(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...D(t)})}function Br(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...D(t)})}function Vr(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...D(t)})}function Hr(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...D(t)})}function Ur(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...D(t)})}function Wr(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...D(t)})}function Gr(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...D(t)})}function Kr(e,t){return new e({type:`number`,checks:[],...D(t)})}function qr(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...D(t)})}function Jr(e,t){return new e({type:`boolean`,...D(t)})}function Yr(e,t){return new e({type:`null`,...D(t)})}function Xr(e){return new e({type:`unknown`})}function Zr(e,t){return new e({type:`never`,...D(t)})}function Qr(e,t){return new Ht({check:`less_than`,...D(t),value:e,inclusive:!1})}function $r(e,t){return new Ht({check:`less_than`,...D(t),value:e,inclusive:!0})}function ei(e,t){return new Ut({check:`greater_than`,...D(t),value:e,inclusive:!1})}function ti(e,t){return new Ut({check:`greater_than`,...D(t),value:e,inclusive:!0})}function ni(e,t){return new Wt({check:`multiple_of`,...D(t),value:e})}function ri(e,t){return new Kt({check:`max_length`,...D(t),maximum:e})}function ii(e,t){return new qt({check:`min_length`,...D(t),minimum:e})}function ai(e,t){return new Jt({check:`length_equals`,...D(t),length:e})}function oi(e,t){return new Yt({check:`string_format`,format:`regex`,...D(t),pattern:e})}function si(e){return new Xt({check:`string_format`,format:`lowercase`,...D(e)})}function ci(e){return new Zt({check:`string_format`,format:`uppercase`,...D(e)})}function li(e,t){return new Qt({check:`string_format`,format:`includes`,...D(t),includes:e})}function ui(e,t){return new $t({check:`string_format`,format:`starts_with`,...D(t),prefix:e})}function di(e,t){return new en({check:`string_format`,format:`ends_with`,...D(t),suffix:e})}function V(e){return new tn({check:`overwrite`,tx:e})}function fi(e){return V(t=>t.normalize(e))}function pi(){return V(e=>e.trim())}function mi(){return V(e=>e.toLowerCase())}function hi(){return V(e=>e.toUpperCase())}function gi(){return V(e=>je(e))}function _i(e,t,n){return new e({type:`array`,element:t,...D(n)})}function vi(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...D(n)})}function yi(e){let t=bi(n=>(n.addIssue=e=>{if(typeof e==`string`)n.issues.push(j(e,n.value,t._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=n.value,r.inst??=t,r.continue??=!t._zod.def.abort,n.issues.push(j(r))}},e(n.value,n)));return t}function bi(e,t){let n=new P({check:`custom`,...D(t)});return n._zod.check=e,n}function xi(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??B,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,external:e?.external??void 0}}function H(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o);let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,H(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(o.schema,c),t.io===`input`&&U(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&o.schema._prefault&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function Si(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${a}`}}if(t[1]===n)return{ref:`#`};let i=`#/${r}/`,a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+a}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
38
38
 
39
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function Ci(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)e===`$ref`||e===`allOf`||e in a||delete i[e];if(s.$ref&&n.def)for(let e in i)e===`$ref`||e===`allOf`||e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e===`$ref`||e===`allOf`||e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(a[e.defId]=e.def)}e.external||Object.keys(a).length>0&&(e.target===`draft-2020-12`?i.$defs=a:i.definitions=a);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,`~standard`,{value:{...t[`~standard`],jsonSchema:{input:Ti(t,`input`,e.processors),output:Ti(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function U(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return U(r.element,n);if(r.type===`set`)return U(r.valueType,n);if(r.type===`lazy`)return U(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type===`default`||r.type===`prefault`)return U(r.innerType,n);if(r.type===`intersection`)return U(r.left,n)||U(r.right,n);if(r.type===`record`||r.type===`map`)return U(r.keyType,n)||U(r.valueType,n);if(r.type===`pipe`)return U(r.in,n)||U(r.out,n);if(r.type===`object`){for(let e in r.shape)if(U(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(U(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(U(e,n))return!0;return!!(r.rest&&U(r.rest,n))}return!1}var wi=(e,t={})=>n=>{let r=xi({...n,processors:t});return H(e,r),Si(r,e),Ci(r,e)},Ti=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=xi({...i??{},target:a,io:t,processors:n});return H(e,o),Si(o,e),Ci(o,e)},Ei={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Di=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=Ei[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},Oi=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof s==`string`&&s.includes(`int`)?i.type=`integer`:i.type=`number`,typeof u==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u),typeof a==`number`&&(i.minimum=a,typeof u==`number`&&t.target!==`draft-04`&&(u>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof l==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l),typeof o==`number`&&(i.maximum=o,typeof l==`number`&&t.target!==`draft-04`&&(l<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof c==`number`&&(i.multipleOf=c)},ki=(e,t,n,r)=>{n.type=`boolean`},Ai=(e,t,n,r)=>{t.target===`openapi-3.0`?(n.type=`string`,n.nullable=!0,n.enum=[null]):n.type=`null`},ji=(e,t,n,r)=>{n.not={}},Mi=(e,t,n,r)=>{let i=e._zod.def,a=Ce(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Ni=(e,t,n,r)=>{let i=e._zod.def,a=[];for(let e of i.values)if(e===void 0){if(t.unrepresentable===`throw`)throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof e==`bigint`){if(t.unrepresentable===`throw`)throw Error(`BigInt literals cannot be represented in JSON Schema`);a.push(Number(e))}else a.push(e);if(a.length!==0)if(a.length===1){let e=a[0];n.type=e===null?`null`:typeof e,t.target===`draft-04`||t.target===`openapi-3.0`?n.enum=[e]:n.const=e}else a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),a.every(e=>typeof e==`boolean`)&&(n.type=`boolean`),a.every(e=>e===null)&&(n.type=`null`),n.enum=a},Pi=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},Fi=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},Ii=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=H(a.element,t,{...r,path:[...r.path,`items`]})},Li=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=H(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=H(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Ri=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>H(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},zi=(e,t,n,r)=>{let i=e._zod.def,a=H(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=H(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},Bi=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=o._zod.bag?.patterns;if(a.mode===`loose`&&s&&s.size>0){let e=H(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)i.patternProperties[t.source]=e}else (t.target===`draft-07`||t.target===`draft-2020-12`)&&(i.propertyNames=H(a.keyType,t,{...r,path:[...r.path,`propertyNames`]})),i.additionalProperties=H(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]});let c=o._zod.values;if(c){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e)}},Vi=(e,t,n,r)=>{let i=e._zod.def,a=H(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},Hi=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ui=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},Wi=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},Gi=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},Ki=(e,t,n,r)=>{let i=e._zod.def,a=t.io===`input`?i.in._zod.def.type===`transform`?i.out:i.in:i.out;H(a,t,r);let o=t.seen.get(e);o.ref=a},qi=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Ji=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Yi=_(`ZodISODateTime`,(e,t)=>{_n.init(e,t),q.init(e,t)});function Xi(e){return Hr(Yi,e)}var Zi=_(`ZodISODate`,(e,t)=>{vn.init(e,t),q.init(e,t)});function Qi(e){return Ur(Zi,e)}var $i=_(`ZodISOTime`,(e,t)=>{yn.init(e,t),q.init(e,t)});function ea(e){return Wr($i,e)}var ta=_(`ZodISODuration`,(e,t)=>{bn.init(e,t),q.init(e,t)});function na(e){return Gr(ta,e)}var ra=(e,t)=>{Je.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>Ze(e,t)},flatten:{value:t=>Xe(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,we,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,we,2)}},isEmpty:{get(){return e.issues.length===0}}})};_(`ZodError`,ra);var W=_(`ZodError`,ra,{Parent:Error}),ia=Qe(W),aa=$e(W),oa=M(W),sa=N(W),ca=nt(W),la=rt(W),ua=it(W),da=at(W),fa=ot(W),pa=st(W),ma=ct(W),ha=lt(W),G=_(`ZodType`,(e,t)=>(I.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:Ti(e,`input`),output:Ti(e,`output`)}}),e.toJSONSchema=wi(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,`_def`,{value:t}),e.check=(...n)=>e.clone(S(t,{checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0}),e.with=e.check,e.clone=(t,n)=>E(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>ia(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>oa(e,t,n),e.parseAsync=async(t,n)=>aa(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>sa(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>ca(e,t,n),e.decode=(t,n)=>la(e,t,n),e.encodeAsync=async(t,n)=>ua(e,t,n),e.decodeAsync=async(t,n)=>da(e,t,n),e.safeEncode=(t,n)=>fa(e,t,n),e.safeDecode=(t,n)=>pa(e,t,n),e.safeEncodeAsync=async(t,n)=>ma(e,t,n),e.safeDecodeAsync=async(t,n)=>ha(e,t,n),e.refine=(t,n)=>e.check(No(t,n)),e.superRefine=t=>e.check(Po(t)),e.overwrite=t=>e.check(V(t)),e.optional=()=>ho(e),e.exactOptional=()=>_o(e),e.nullable=()=>yo(e),e.nullish=()=>ho(yo(e)),e.nonoptional=t=>To(e,t),e.array=()=>Xa(e),e.or=t=>eo([e,t]),e.and=t=>io(e,t),e.transform=t=>ko(e,po(t)),e.default=t=>xo(e,t),e.prefault=t=>Co(e,t),e.catch=t=>Do(e,t),e.pipe=t=>ko(e,t),e.readonly=()=>jo(e),e.describe=t=>{let n=e.clone();return B.add(n,{description:t}),n},Object.defineProperty(e,`description`,{get(){return B.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return B.get(e);let n=e.clone();return B.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=t=>t(e),e)),ga=_(`_ZodString`,(e,t)=>{an.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Di(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(oi(...t)),e.includes=(...t)=>e.check(li(...t)),e.startsWith=(...t)=>e.check(ui(...t)),e.endsWith=(...t)=>e.check(di(...t)),e.min=(...t)=>e.check(ii(...t)),e.max=(...t)=>e.check(ri(...t)),e.length=(...t)=>e.check(ai(...t)),e.nonempty=(...t)=>e.check(ii(1,...t)),e.lowercase=t=>e.check(si(t)),e.uppercase=t=>e.check(ci(t)),e.trim=()=>e.check(pi()),e.normalize=(...t)=>e.check(fi(...t)),e.toLowerCase=()=>e.check(mi()),e.toUpperCase=()=>e.check(hi()),e.slugify=()=>e.check(gi())}),_a=_(`ZodString`,(e,t)=>{an.init(e,t),ga.init(e,t),e.email=t=>e.check(br(va,t)),e.url=t=>e.check(Er(xa,t)),e.jwt=t=>e.check(Vr(Ia,t)),e.emoji=t=>e.check(Dr(Sa,t)),e.guid=t=>e.check(xr(ya,t)),e.uuid=t=>e.check(Sr(ba,t)),e.uuidv4=t=>e.check(Cr(ba,t)),e.uuidv6=t=>e.check(wr(ba,t)),e.uuidv7=t=>e.check(Tr(ba,t)),e.nanoid=t=>e.check(Or(Ca,t)),e.guid=t=>e.check(xr(ya,t)),e.cuid=t=>e.check(kr(wa,t)),e.cuid2=t=>e.check(Ar(Ta,t)),e.ulid=t=>e.check(jr(Ea,t)),e.base64=t=>e.check(Rr(Na,t)),e.base64url=t=>e.check(zr(Pa,t)),e.xid=t=>e.check(Mr(Da,t)),e.ksuid=t=>e.check(Nr(Oa,t)),e.ipv4=t=>e.check(Pr(ka,t)),e.ipv6=t=>e.check(Fr(Aa,t)),e.cidrv4=t=>e.check(Ir(ja,t)),e.cidrv6=t=>e.check(Lr(Ma,t)),e.e164=t=>e.check(Br(Fa,t)),e.datetime=t=>e.check(Xi(t)),e.date=t=>e.check(Qi(t)),e.time=t=>e.check(ea(t)),e.duration=t=>e.check(na(t))});function K(e){return vr(_a,e)}var q=_(`ZodStringFormat`,(e,t)=>{L.init(e,t),ga.init(e,t)}),va=_(`ZodEmail`,(e,t)=>{cn.init(e,t),q.init(e,t)}),ya=_(`ZodGUID`,(e,t)=>{on.init(e,t),q.init(e,t)}),ba=_(`ZodUUID`,(e,t)=>{sn.init(e,t),q.init(e,t)}),xa=_(`ZodURL`,(e,t)=>{ln.init(e,t),q.init(e,t)}),Sa=_(`ZodEmoji`,(e,t)=>{un.init(e,t),q.init(e,t)}),Ca=_(`ZodNanoID`,(e,t)=>{dn.init(e,t),q.init(e,t)}),wa=_(`ZodCUID`,(e,t)=>{fn.init(e,t),q.init(e,t)}),Ta=_(`ZodCUID2`,(e,t)=>{pn.init(e,t),q.init(e,t)}),Ea=_(`ZodULID`,(e,t)=>{mn.init(e,t),q.init(e,t)}),Da=_(`ZodXID`,(e,t)=>{hn.init(e,t),q.init(e,t)}),Oa=_(`ZodKSUID`,(e,t)=>{gn.init(e,t),q.init(e,t)}),ka=_(`ZodIPv4`,(e,t)=>{xn.init(e,t),q.init(e,t)}),Aa=_(`ZodIPv6`,(e,t)=>{Sn.init(e,t),q.init(e,t)}),ja=_(`ZodCIDRv4`,(e,t)=>{Cn.init(e,t),q.init(e,t)}),Ma=_(`ZodCIDRv6`,(e,t)=>{wn.init(e,t),q.init(e,t)}),Na=_(`ZodBase64`,(e,t)=>{En.init(e,t),q.init(e,t)}),Pa=_(`ZodBase64URL`,(e,t)=>{On.init(e,t),q.init(e,t)}),Fa=_(`ZodE164`,(e,t)=>{kn.init(e,t),q.init(e,t)}),Ia=_(`ZodJWT`,(e,t)=>{jn.init(e,t),q.init(e,t)}),La=_(`ZodNumber`,(e,t)=>{Mn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Oi(e,t,n,r),e.gt=(t,n)=>e.check(ei(t,n)),e.gte=(t,n)=>e.check(ti(t,n)),e.min=(t,n)=>e.check(ti(t,n)),e.lt=(t,n)=>e.check(Qr(t,n)),e.lte=(t,n)=>e.check($r(t,n)),e.max=(t,n)=>e.check($r(t,n)),e.int=t=>e.check(Ba(t)),e.safe=t=>e.check(Ba(t)),e.positive=t=>e.check(ei(0,t)),e.nonnegative=t=>e.check(ti(0,t)),e.negative=t=>e.check(Qr(0,t)),e.nonpositive=t=>e.check($r(0,t)),e.multipleOf=(t,n)=>e.check(ni(t,n)),e.step=(t,n)=>e.check(ni(t,n)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function Ra(e){return Kr(La,e)}var za=_(`ZodNumberFormat`,(e,t)=>{Nn.init(e,t),La.init(e,t)});function Ba(e){return qr(za,e)}var Va=_(`ZodBoolean`,(e,t)=>{Pn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ki(e,t,n,r)});function Ha(e){return Jr(Va,e)}var Ua=_(`ZodNull`,(e,t)=>{Fn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ai(e,t,n,r)});function Wa(e){return Yr(Ua,e)}var Ga=_(`ZodUnknown`,(e,t)=>{In.init(e,t),G.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Ka(){return Xr(Ga)}var qa=_(`ZodNever`,(e,t)=>{Ln.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ji(e,t,n,r)});function Ja(e){return Zr(qa,e)}var Ya=_(`ZodArray`,(e,t)=>{zn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ii(e,t,n,r),e.element=t.element,e.min=(t,n)=>e.check(ii(t,n)),e.nonempty=t=>e.check(ii(1,t)),e.max=(t,n)=>e.check(ri(t,n)),e.length=(t,n)=>e.check(ai(t,n)),e.unwrap=()=>e.element});function Xa(e,t){return _i(Ya,e,t)}var Za=_(`ZodObject`,(e,t)=>{Un.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Li(e,t,n,r),b(e,`shape`,()=>t.shape),e.keyof=()=>co(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Ka()}),e.loose=()=>e.clone({...e._zod.def,catchall:Ka()}),e.strict=()=>e.clone({...e._zod.def,catchall:Ja()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>Be(e,t),e.safeExtend=t=>Ve(e,t),e.merge=t=>He(e,t),e.pick=t=>Re(e,t),e.omit=t=>ze(e,t),e.partial=(...t)=>Ue(mo,e,t[0]),e.required=(...t)=>We(wo,e,t[0])});function Qa(e,t){return new Za({type:`object`,shape:e??{},...D(t)})}var $a=_(`ZodUnion`,(e,t)=>{Gn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ri(e,t,n,r),e.options=t.options});function eo(e,t){return new $a({type:`union`,options:e,...D(t)})}var to=_(`ZodDiscriminatedUnion`,(e,t)=>{$a.init(e,t),Kn.init(e,t)});function no(e,t,n){return new to({type:`union`,options:t,discriminator:e,...D(n)})}var ro=_(`ZodIntersection`,(e,t)=>{qn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>zi(e,t,n,r)});function io(e,t){return new ro({type:`intersection`,left:e,right:t})}var ao=_(`ZodRecord`,(e,t)=>{Xn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Bi(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function oo(e,t,n){return new ao({type:`record`,keyType:e,valueType:t,...D(n)})}var so=_(`ZodEnum`,(e,t)=>{Zn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Mi(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new so({...t,checks:[],...D(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new so({...t,checks:[],...D(r),entries:i})}});function co(e,t){return new so({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...D(t)})}var lo=_(`ZodLiteral`,(e,t)=>{Qn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ni(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,`value`,{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function uo(e,t){return new lo({type:`literal`,values:Array.isArray(e)?e:[e],...D(t)})}var fo=_(`ZodTransform`,(e,t)=>{$n.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fi(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new xe(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(j(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(j(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function po(e){return new fo({type:`transform`,transform:e})}var mo=_(`ZodOptional`,(e,t)=>{tr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ji(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ho(e){return new mo({type:`optional`,innerType:e})}var go=_(`ZodExactOptional`,(e,t)=>{nr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ji(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function _o(e){return new go({type:`optional`,innerType:e})}var vo=_(`ZodNullable`,(e,t)=>{rr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Vi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function yo(e){return new vo({type:`nullable`,innerType:e})}var bo=_(`ZodDefault`,(e,t)=>{ir.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ui(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function xo(e,t){return new bo({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():Pe(t)}})}var So=_(`ZodPrefault`,(e,t)=>{or.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Wi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Co(e,t){return new So({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():Pe(t)}})}var wo=_(`ZodNonOptional`,(e,t)=>{sr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Hi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function To(e,t){return new wo({type:`nonoptional`,innerType:e,...D(t)})}var Eo=_(`ZodCatch`,(e,t)=>{lr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Gi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Do(e,t){return new Eo({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var Oo=_(`ZodPipe`,(e,t)=>{ur.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ki(e,t,n,r),e.in=t.in,e.out=t.out});function ko(e,t){return new Oo({type:`pipe`,in:e,out:t})}var Ao=_(`ZodReadonly`,(e,t)=>{dr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>qi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function jo(e){return new Ao({type:`readonly`,innerType:e})}var Mo=_(`ZodCustom`,(e,t)=>{pr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Pi(e,t,n,r)});function No(e,t={}){return vi(Mo,e,t)}function Po(e){return yi(e)}function Fo(e){return typeof e.cloud==`string`&&e.cloud?e.cloud:typeof e.project==`string`&&e.project?`gcp`:typeof e.sshUser==`string`&&e.sshUser?`custom`:`local`}var Io=Qa({instanceDir:K().optional(),gatewayPort:Ra(),daemonPort:Ra(),runtimeVersion:K().optional(),runtimeInstallDir:K().optional()}),Lo=Qa({assistantId:K(),name:K().optional(),cloud:K().optional(),runtimeUrl:K().optional(),species:K().optional(),hatchedAt:K().optional(),organizationId:K().optional(),resources:Io.optional()});function Ro(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function zo(e){if(!Ro(e)||typeof e.assistantId!=`string`)return null;let t={};for(let[n,r]of Object.entries(Lo.shape)){let i=r.safeParse(e[n]);i.success&&i.data!==void 0&&(t[n]=i.data)}return t.cloud=Fo(e),t}function Bo(e){let t=Ro(e)?e:{},n=Array.isArray(t.assistants)?t.assistants:[],r=[];for(let e of n){let t=zo(e);t&&r.push(t)}return{assistants:r,activeAssistant:typeof t.activeAssistant==`string`?t.activeAssistant:null}}var Vo=class extends Error{status;constructor(e,t){super(t),this.name=`GuardianTokenError`,this.status=e}};function Ho(e){return e instanceof Vo&&(e.status===404||e.status===401)}var J=`The local assistant host isn't available here.`;function Uo(){if(!(typeof window>`u`))return window.__VELLUM_CONFIG__}function Wo(){if(a())return!0;let e=Uo();return!(!e||e.mode===`remote-gateway`)}async function Y(e,t,n){if(!Wo())return{ok:!1,error:n};let r;try{r=await fetch(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})}catch{return{ok:!1,error:n}}return await r.json().catch(()=>null)??{ok:!1,error:n}}async function Go(e=`vellum`,t){return a()?window.vellum.localMode.hatch(e,t):Y(`/assistant/__local/hatch`,{species:e,remote:t},J)}async function Ko(){if(a())return window.vellum.localMode.readLockfile();let e=await fetch(`/assistant/__local/lockfile`);if(!e.ok)throw Error(`lockfile fetch failed: ${e.status}`);return e.json()}async function qo(e,t){return a()?window.vellum.localMode.saveLockfileAssistant(e,t):Y(`/assistant/__local/lockfile`,{assistant:e,activeAssistant:t},J)}async function Jo(e,t){return a()?window.vellum.localMode.replacePlatformAssistants(e,t):Y(`/assistant/__local/lockfile`,{syncPlatform:!0,platformAssistants:e,organizationId:t},J)}async function Yo(e){return a()?window.vellum.localMode.retire(e):Y(`/assistant/__local/retire`,{assistantId:e},J)}async function Xo(e){if(a()){let t=window.vellum.localMode.sleep;return t?t(e):{ok:!1,error:`Sleep is not supported by this app version`}}return Y(`/assistant/__local/sleep`,{assistantId:e},J)}async function Zo(e,t){if(a()){let n=window.vellum.localMode.wake;return n?n(e,t):{ok:!1,error:`Wake is not supported by this app version`}}return Y(`/assistant/__local/wake`,{assistantId:e,repairGuardian:t?.repairGuardian},`Wake failed. Try running vellum wake in your terminal.`)}async function Qo(e,t){if(a()){let n=window.vellum.localMode.upgrade;return n?n(e,t):{ok:!1,error:`Update and restart the desktop app to enable local upgrades.`}}let n={assistantId:e,...t?.latest?{latest:!0}:{},...t?.version?{version:t.version}:{},...t?.force?{force:!0}:{}};return(await fetch(`/assistant/__local/upgrade`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)})).json()}async function $o(e){if(a()){let t=window.vellum.localMode.status;return t?t(e):{ok:!1,status:501,error:`Local assistant status is not supported by this app version`}}if(!Wo())return{ok:!1,status:0,error:J};let t;try{t=await fetch(`/assistant/__local/status/${encodeURIComponent(e)}`)}catch{return{ok:!1,status:0,error:J}}return await t.json().catch(()=>null)??{ok:!1,status:t.status,error:J}}async function es(e){if(a()){let t=await window.vellum.localMode.guardianToken(e);if(!t.ok)throw new Vo(t.status,t.error);return t.accessToken}let t=await fetch(`/assistant/__local/guardian-token/${encodeURIComponent(e)}`);if(!t.ok){let e=await t.json().catch(()=>({}));throw new Vo(t.status,e.error??`Guardian token request failed: ${t.status}`)}let{accessToken:n}=await t.json();return n}async function ts(e){return(await Y(`/assistant/__local/platform-session`,{token:e},J)).ok}async function ns(){if(Wo())try{await fetch(`/assistant/__local/platform-session`,{method:`DELETE`})}catch{}}var rs=()=>be.getState().lockfile,is=(e,t=!0)=>be.getState().setLockfile(e,t),as={assistants:[],activeAssistant:null},os=`vellum:local:lockfile`;function ss(){return window.__VELLUM_CONFIG__?.platformUrl||window.location.origin}function cs(){return window.__VELLUM_CONFIG__??{}}function X(){return cs().mode===`remote-gateway`}function ls(){return{assistants:[{assistantId:`self`,name:`Local Assistant`,cloud:`local`,runtimeUrl:window.location.origin,hatchedAt:`1970-01-01T00:00:00.000Z`,resources:{gatewayPort:0,daemonPort:0}}],activeAssistant:`self`}}var Z=e=>{is(e),n(os,JSON.stringify(e)),Ts()},us=new Set([`1`,`true`,`yes`]);function ds(){return!us.has(`false`)}function fs(){let e=cs();return e?.disablePlatform==null?!1:!!e.disablePlatform}async function ps(){if(X()){let e=ls();return Z(e),e}try{let e=await Ko();return Z(e),e}catch{return Q()}}function Q(){if(X()){let e=ls();return is(e),e}let e=rs();if(e)return e;let n=t(os,``);if(n)try{let e=Bo(JSON.parse(n));return is(e),e}catch{}let r={...as};return is(r,!1),r}async function ms(e){let t=await qo(e,e.assistantId);t.ok&&Z(t.lockfile)}async function hs(e){if(X())return;let t=Q().assistants.find(t=>t.assistantId===e);if(!t)return;let n=await qo({...t},e);n.ok&&Z(n.lockfile)}async function gs(e,t,n=()=>!0){if(t==null||!n())return;let r=await Jo(e.filter(e=>!e.is_local).map(e=>({assistantId:e.id,...e.name!=null&&{name:e.name},cloud:`vellum`,runtimeUrl:ss(),hatchedAt:e.created,...t!=null&&{organizationId:t}})),t);r.ok&&n()&&Z(r.lockfile)}async function _s(e){let t=await Yo(e);return t.ok&&(l(),he(),_e(null),await ps()),t}function vs(){return Q().assistants.length>0}function $(e){return e.cloud===`local`}function ys(e){return e.cloud===`vellum`}function bs(e){let t=Q().assistants.find(t=>t.assistantId===e);return!!t&&$(t)}function xs(){return Q().assistants.filter($)}function Ss(){return Q().assistants.filter(ys)}function Cs(){let e=Q(),t=e.assistants.find(t=>t.assistantId===e.activeAssistant);if(t)return t;if(e.assistants.length===1)return e.assistants[0]}function ws(){let e=s();if(e){let t=Q().assistants.find(t=>t.assistantId===e);if(t)return t}return Cs()}function Ts(){let e=s();e&&(Q().assistants.some(t=>t.assistantId===e)||l())}function Es(e){return`/assistant/__gateway/${e}`}function Ds(e){return!!e&&ds()&&!X()&&$(e)}function Os(e=ws()){if(!Ds(e))return;let t=e.resources?.gatewayPort;if(t!=null)return Es(t)}var ks=class extends Error{constructor(e){super(`Local assistant ${e} has no resolved gateway`),this.name=`UnresolvedLocalGatewayError`}};async function As(e){let t=e??ws(),n=me(t);if(!n){if(Ds(t))throw new ks(t.assistantId);return}await pe(n,t?await es(t.assistantId):void 0);let r=Os(t);r&&_e({url:`${window.location.origin}${r}`,token:de()})}function js(e){return e instanceof Vo?e.status!==403:!0}async function Ms(e){try{await As(e);return}catch(t){if(!js(t))throw t;let n=(e??ws())?.assistantId;if(!n||!(await Zo(n)).ok)throw t;await As((await ps()).assistants.find(e=>e.assistantId===n)??e)}}export{me as $,Qo as A,Qa as B,ns as C,ts as D,Wo as E,Xa as F,yr as G,K as H,Ha as I,ve as J,be as K,no as L,_a as M,co as N,Ho as O,Wa as P,de as Q,uo as R,gs as S,Go as T,eo as U,oo as V,Ka as W,he as X,_e as Y,pe as Z,As as _,Q as a,l as at,ms as b,ws as c,$ as d,oe as et,ds as f,ps as g,X as h,Os as i,o as it,Zo as j,Xo as k,vs as l,fs as m,Cs as n,d as nt,Ss as o,s as ot,ys as p,ye as q,xs as r,ue as rt,ss as s,c as st,ks as t,se as tt,bs as u,Ms as v,$o as w,hs as x,_s as y,Ra as z};
39
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function Ci(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)e===`$ref`||e===`allOf`||e in a||delete i[e];if(s.$ref&&n.def)for(let e in i)e===`$ref`||e===`allOf`||e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e===`$ref`||e===`allOf`||e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(a[e.defId]=e.def)}e.external||Object.keys(a).length>0&&(e.target===`draft-2020-12`?i.$defs=a:i.definitions=a);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,`~standard`,{value:{...t[`~standard`],jsonSchema:{input:Ti(t,`input`,e.processors),output:Ti(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function U(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return U(r.element,n);if(r.type===`set`)return U(r.valueType,n);if(r.type===`lazy`)return U(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type===`default`||r.type===`prefault`)return U(r.innerType,n);if(r.type===`intersection`)return U(r.left,n)||U(r.right,n);if(r.type===`record`||r.type===`map`)return U(r.keyType,n)||U(r.valueType,n);if(r.type===`pipe`)return U(r.in,n)||U(r.out,n);if(r.type===`object`){for(let e in r.shape)if(U(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(U(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(U(e,n))return!0;return!!(r.rest&&U(r.rest,n))}return!1}var wi=(e,t={})=>n=>{let r=xi({...n,processors:t});return H(e,r),Si(r,e),Ci(r,e)},Ti=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=xi({...i??{},target:a,io:t,processors:n});return H(e,o),Si(o,e),Ci(o,e)},Ei={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Di=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=Ei[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},Oi=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof s==`string`&&s.includes(`int`)?i.type=`integer`:i.type=`number`,typeof u==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u),typeof a==`number`&&(i.minimum=a,typeof u==`number`&&t.target!==`draft-04`&&(u>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof l==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l),typeof o==`number`&&(i.maximum=o,typeof l==`number`&&t.target!==`draft-04`&&(l<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof c==`number`&&(i.multipleOf=c)},ki=(e,t,n,r)=>{n.type=`boolean`},Ai=(e,t,n,r)=>{t.target===`openapi-3.0`?(n.type=`string`,n.nullable=!0,n.enum=[null]):n.type=`null`},ji=(e,t,n,r)=>{n.not={}},Mi=(e,t,n,r)=>{let i=e._zod.def,a=Ce(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Ni=(e,t,n,r)=>{let i=e._zod.def,a=[];for(let e of i.values)if(e===void 0){if(t.unrepresentable===`throw`)throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof e==`bigint`){if(t.unrepresentable===`throw`)throw Error(`BigInt literals cannot be represented in JSON Schema`);a.push(Number(e))}else a.push(e);if(a.length!==0)if(a.length===1){let e=a[0];n.type=e===null?`null`:typeof e,t.target===`draft-04`||t.target===`openapi-3.0`?n.enum=[e]:n.const=e}else a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),a.every(e=>typeof e==`boolean`)&&(n.type=`boolean`),a.every(e=>e===null)&&(n.type=`null`),n.enum=a},Pi=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},Fi=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},Ii=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=H(a.element,t,{...r,path:[...r.path,`items`]})},Li=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=H(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=H(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Ri=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>H(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},zi=(e,t,n,r)=>{let i=e._zod.def,a=H(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=H(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},Bi=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=o._zod.bag?.patterns;if(a.mode===`loose`&&s&&s.size>0){let e=H(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)i.patternProperties[t.source]=e}else (t.target===`draft-07`||t.target===`draft-2020-12`)&&(i.propertyNames=H(a.keyType,t,{...r,path:[...r.path,`propertyNames`]})),i.additionalProperties=H(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]});let c=o._zod.values;if(c){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e)}},Vi=(e,t,n,r)=>{let i=e._zod.def,a=H(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},Hi=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ui=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},Wi=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},Gi=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},Ki=(e,t,n,r)=>{let i=e._zod.def,a=t.io===`input`?i.in._zod.def.type===`transform`?i.out:i.in:i.out;H(a,t,r);let o=t.seen.get(e);o.ref=a},qi=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Ji=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Yi=_(`ZodISODateTime`,(e,t)=>{_n.init(e,t),q.init(e,t)});function Xi(e){return Hr(Yi,e)}var Zi=_(`ZodISODate`,(e,t)=>{vn.init(e,t),q.init(e,t)});function Qi(e){return Ur(Zi,e)}var $i=_(`ZodISOTime`,(e,t)=>{yn.init(e,t),q.init(e,t)});function ea(e){return Wr($i,e)}var ta=_(`ZodISODuration`,(e,t)=>{bn.init(e,t),q.init(e,t)});function na(e){return Gr(ta,e)}var ra=(e,t)=>{Je.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>Ze(e,t)},flatten:{value:t=>Xe(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,we,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,we,2)}},isEmpty:{get(){return e.issues.length===0}}})};_(`ZodError`,ra);var W=_(`ZodError`,ra,{Parent:Error}),ia=Qe(W),aa=$e(W),oa=M(W),sa=N(W),ca=nt(W),la=rt(W),ua=it(W),da=at(W),fa=ot(W),pa=st(W),ma=ct(W),ha=lt(W),G=_(`ZodType`,(e,t)=>(I.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:Ti(e,`input`),output:Ti(e,`output`)}}),e.toJSONSchema=wi(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,`_def`,{value:t}),e.check=(...n)=>e.clone(S(t,{checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0}),e.with=e.check,e.clone=(t,n)=>E(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>ia(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>oa(e,t,n),e.parseAsync=async(t,n)=>aa(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>sa(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>ca(e,t,n),e.decode=(t,n)=>la(e,t,n),e.encodeAsync=async(t,n)=>ua(e,t,n),e.decodeAsync=async(t,n)=>da(e,t,n),e.safeEncode=(t,n)=>fa(e,t,n),e.safeDecode=(t,n)=>pa(e,t,n),e.safeEncodeAsync=async(t,n)=>ma(e,t,n),e.safeDecodeAsync=async(t,n)=>ha(e,t,n),e.refine=(t,n)=>e.check(No(t,n)),e.superRefine=t=>e.check(Po(t)),e.overwrite=t=>e.check(V(t)),e.optional=()=>ho(e),e.exactOptional=()=>_o(e),e.nullable=()=>yo(e),e.nullish=()=>ho(yo(e)),e.nonoptional=t=>To(e,t),e.array=()=>Xa(e),e.or=t=>eo([e,t]),e.and=t=>io(e,t),e.transform=t=>ko(e,po(t)),e.default=t=>xo(e,t),e.prefault=t=>Co(e,t),e.catch=t=>Do(e,t),e.pipe=t=>ko(e,t),e.readonly=()=>jo(e),e.describe=t=>{let n=e.clone();return B.add(n,{description:t}),n},Object.defineProperty(e,`description`,{get(){return B.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return B.get(e);let n=e.clone();return B.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=t=>t(e),e)),ga=_(`_ZodString`,(e,t)=>{an.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Di(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(oi(...t)),e.includes=(...t)=>e.check(li(...t)),e.startsWith=(...t)=>e.check(ui(...t)),e.endsWith=(...t)=>e.check(di(...t)),e.min=(...t)=>e.check(ii(...t)),e.max=(...t)=>e.check(ri(...t)),e.length=(...t)=>e.check(ai(...t)),e.nonempty=(...t)=>e.check(ii(1,...t)),e.lowercase=t=>e.check(si(t)),e.uppercase=t=>e.check(ci(t)),e.trim=()=>e.check(pi()),e.normalize=(...t)=>e.check(fi(...t)),e.toLowerCase=()=>e.check(mi()),e.toUpperCase=()=>e.check(hi()),e.slugify=()=>e.check(gi())}),_a=_(`ZodString`,(e,t)=>{an.init(e,t),ga.init(e,t),e.email=t=>e.check(br(va,t)),e.url=t=>e.check(Er(xa,t)),e.jwt=t=>e.check(Vr(Ia,t)),e.emoji=t=>e.check(Dr(Sa,t)),e.guid=t=>e.check(xr(ya,t)),e.uuid=t=>e.check(Sr(ba,t)),e.uuidv4=t=>e.check(Cr(ba,t)),e.uuidv6=t=>e.check(wr(ba,t)),e.uuidv7=t=>e.check(Tr(ba,t)),e.nanoid=t=>e.check(Or(Ca,t)),e.guid=t=>e.check(xr(ya,t)),e.cuid=t=>e.check(kr(wa,t)),e.cuid2=t=>e.check(Ar(Ta,t)),e.ulid=t=>e.check(jr(Ea,t)),e.base64=t=>e.check(Rr(Na,t)),e.base64url=t=>e.check(zr(Pa,t)),e.xid=t=>e.check(Mr(Da,t)),e.ksuid=t=>e.check(Nr(Oa,t)),e.ipv4=t=>e.check(Pr(ka,t)),e.ipv6=t=>e.check(Fr(Aa,t)),e.cidrv4=t=>e.check(Ir(ja,t)),e.cidrv6=t=>e.check(Lr(Ma,t)),e.e164=t=>e.check(Br(Fa,t)),e.datetime=t=>e.check(Xi(t)),e.date=t=>e.check(Qi(t)),e.time=t=>e.check(ea(t)),e.duration=t=>e.check(na(t))});function K(e){return vr(_a,e)}var q=_(`ZodStringFormat`,(e,t)=>{L.init(e,t),ga.init(e,t)}),va=_(`ZodEmail`,(e,t)=>{cn.init(e,t),q.init(e,t)}),ya=_(`ZodGUID`,(e,t)=>{on.init(e,t),q.init(e,t)}),ba=_(`ZodUUID`,(e,t)=>{sn.init(e,t),q.init(e,t)}),xa=_(`ZodURL`,(e,t)=>{ln.init(e,t),q.init(e,t)}),Sa=_(`ZodEmoji`,(e,t)=>{un.init(e,t),q.init(e,t)}),Ca=_(`ZodNanoID`,(e,t)=>{dn.init(e,t),q.init(e,t)}),wa=_(`ZodCUID`,(e,t)=>{fn.init(e,t),q.init(e,t)}),Ta=_(`ZodCUID2`,(e,t)=>{pn.init(e,t),q.init(e,t)}),Ea=_(`ZodULID`,(e,t)=>{mn.init(e,t),q.init(e,t)}),Da=_(`ZodXID`,(e,t)=>{hn.init(e,t),q.init(e,t)}),Oa=_(`ZodKSUID`,(e,t)=>{gn.init(e,t),q.init(e,t)}),ka=_(`ZodIPv4`,(e,t)=>{xn.init(e,t),q.init(e,t)}),Aa=_(`ZodIPv6`,(e,t)=>{Sn.init(e,t),q.init(e,t)}),ja=_(`ZodCIDRv4`,(e,t)=>{Cn.init(e,t),q.init(e,t)}),Ma=_(`ZodCIDRv6`,(e,t)=>{wn.init(e,t),q.init(e,t)}),Na=_(`ZodBase64`,(e,t)=>{En.init(e,t),q.init(e,t)}),Pa=_(`ZodBase64URL`,(e,t)=>{On.init(e,t),q.init(e,t)}),Fa=_(`ZodE164`,(e,t)=>{kn.init(e,t),q.init(e,t)}),Ia=_(`ZodJWT`,(e,t)=>{jn.init(e,t),q.init(e,t)}),La=_(`ZodNumber`,(e,t)=>{Mn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Oi(e,t,n,r),e.gt=(t,n)=>e.check(ei(t,n)),e.gte=(t,n)=>e.check(ti(t,n)),e.min=(t,n)=>e.check(ti(t,n)),e.lt=(t,n)=>e.check(Qr(t,n)),e.lte=(t,n)=>e.check($r(t,n)),e.max=(t,n)=>e.check($r(t,n)),e.int=t=>e.check(Ba(t)),e.safe=t=>e.check(Ba(t)),e.positive=t=>e.check(ei(0,t)),e.nonnegative=t=>e.check(ti(0,t)),e.negative=t=>e.check(Qr(0,t)),e.nonpositive=t=>e.check($r(0,t)),e.multipleOf=(t,n)=>e.check(ni(t,n)),e.step=(t,n)=>e.check(ni(t,n)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function Ra(e){return Kr(La,e)}var za=_(`ZodNumberFormat`,(e,t)=>{Nn.init(e,t),La.init(e,t)});function Ba(e){return qr(za,e)}var Va=_(`ZodBoolean`,(e,t)=>{Pn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ki(e,t,n,r)});function Ha(e){return Jr(Va,e)}var Ua=_(`ZodNull`,(e,t)=>{Fn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ai(e,t,n,r)});function Wa(e){return Yr(Ua,e)}var Ga=_(`ZodUnknown`,(e,t)=>{In.init(e,t),G.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Ka(){return Xr(Ga)}var qa=_(`ZodNever`,(e,t)=>{Ln.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ji(e,t,n,r)});function Ja(e){return Zr(qa,e)}var Ya=_(`ZodArray`,(e,t)=>{zn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ii(e,t,n,r),e.element=t.element,e.min=(t,n)=>e.check(ii(t,n)),e.nonempty=t=>e.check(ii(1,t)),e.max=(t,n)=>e.check(ri(t,n)),e.length=(t,n)=>e.check(ai(t,n)),e.unwrap=()=>e.element});function Xa(e,t){return _i(Ya,e,t)}var Za=_(`ZodObject`,(e,t)=>{Un.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Li(e,t,n,r),b(e,`shape`,()=>t.shape),e.keyof=()=>co(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Ka()}),e.loose=()=>e.clone({...e._zod.def,catchall:Ka()}),e.strict=()=>e.clone({...e._zod.def,catchall:Ja()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>Be(e,t),e.safeExtend=t=>Ve(e,t),e.merge=t=>He(e,t),e.pick=t=>Re(e,t),e.omit=t=>ze(e,t),e.partial=(...t)=>Ue(mo,e,t[0]),e.required=(...t)=>We(wo,e,t[0])});function Qa(e,t){return new Za({type:`object`,shape:e??{},...D(t)})}var $a=_(`ZodUnion`,(e,t)=>{Gn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ri(e,t,n,r),e.options=t.options});function eo(e,t){return new $a({type:`union`,options:e,...D(t)})}var to=_(`ZodDiscriminatedUnion`,(e,t)=>{$a.init(e,t),Kn.init(e,t)});function no(e,t,n){return new to({type:`union`,options:t,discriminator:e,...D(n)})}var ro=_(`ZodIntersection`,(e,t)=>{qn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>zi(e,t,n,r)});function io(e,t){return new ro({type:`intersection`,left:e,right:t})}var ao=_(`ZodRecord`,(e,t)=>{Xn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Bi(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function oo(e,t,n){return new ao({type:`record`,keyType:e,valueType:t,...D(n)})}var so=_(`ZodEnum`,(e,t)=>{Zn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Mi(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new so({...t,checks:[],...D(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new so({...t,checks:[],...D(r),entries:i})}});function co(e,t){return new so({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...D(t)})}var lo=_(`ZodLiteral`,(e,t)=>{Qn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ni(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,`value`,{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function uo(e,t){return new lo({type:`literal`,values:Array.isArray(e)?e:[e],...D(t)})}var fo=_(`ZodTransform`,(e,t)=>{$n.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fi(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new xe(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(j(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(j(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function po(e){return new fo({type:`transform`,transform:e})}var mo=_(`ZodOptional`,(e,t)=>{tr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ji(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ho(e){return new mo({type:`optional`,innerType:e})}var go=_(`ZodExactOptional`,(e,t)=>{nr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ji(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function _o(e){return new go({type:`optional`,innerType:e})}var vo=_(`ZodNullable`,(e,t)=>{rr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Vi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function yo(e){return new vo({type:`nullable`,innerType:e})}var bo=_(`ZodDefault`,(e,t)=>{ir.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ui(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function xo(e,t){return new bo({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():Pe(t)}})}var So=_(`ZodPrefault`,(e,t)=>{or.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Wi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Co(e,t){return new So({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():Pe(t)}})}var wo=_(`ZodNonOptional`,(e,t)=>{sr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Hi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function To(e,t){return new wo({type:`nonoptional`,innerType:e,...D(t)})}var Eo=_(`ZodCatch`,(e,t)=>{lr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Gi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Do(e,t){return new Eo({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var Oo=_(`ZodPipe`,(e,t)=>{ur.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ki(e,t,n,r),e.in=t.in,e.out=t.out});function ko(e,t){return new Oo({type:`pipe`,in:e,out:t})}var Ao=_(`ZodReadonly`,(e,t)=>{dr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>qi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function jo(e){return new Ao({type:`readonly`,innerType:e})}var Mo=_(`ZodCustom`,(e,t)=>{pr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Pi(e,t,n,r)});function No(e,t={}){return vi(Mo,e,t)}function Po(e){return yi(e)}function Fo(e){return typeof e.cloud==`string`&&e.cloud?e.cloud:typeof e.project==`string`&&e.project?`gcp`:typeof e.sshUser==`string`&&e.sshUser?`custom`:`local`}var Io=Qa({instanceDir:K().optional(),gatewayPort:Ra(),daemonPort:Ra(),runtimeVersion:K().optional(),runtimeInstallDir:K().optional()}),Lo=Qa({assistantId:K(),name:K().optional(),cloud:K().optional(),runtimeUrl:K().optional(),species:K().optional(),hatchedAt:K().optional(),organizationId:K().optional(),resources:Io.optional()});function Ro(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function zo(e){if(!Ro(e)||typeof e.assistantId!=`string`)return null;let t={};for(let[n,r]of Object.entries(Lo.shape)){let i=r.safeParse(e[n]);i.success&&i.data!==void 0&&(t[n]=i.data)}return t.cloud=Fo(e),t}function Bo(e){let t=Ro(e)?e:{},n=Array.isArray(t.assistants)?t.assistants:[],r=[];for(let e of n){let t=zo(e);t&&r.push(t)}return{assistants:r,activeAssistant:typeof t.activeAssistant==`string`?t.activeAssistant:null}}var Vo=class extends Error{status;constructor(e,t){super(t),this.name=`GuardianTokenError`,this.status=e}};function Ho(e){return e instanceof Vo&&(e.status===404||e.status===401)}var J=`The local assistant host isn't available here.`;function Uo(){if(!(typeof window>`u`))return window.__VELLUM_CONFIG__}function Wo(){if(a())return!0;let e=Uo();return!(!e||e.mode===`remote-gateway`)}async function Y(e,t,n){if(!Wo())return{ok:!1,error:n};let r;try{r=await fetch(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})}catch{return{ok:!1,error:n}}return await r.json().catch(()=>null)??{ok:!1,error:n}}async function Go(e=`vellum`,t){return a()?window.vellum.localMode.hatch(e,t):Y(`/assistant/__local/hatch`,{species:e,remote:t},J)}async function Ko(){if(a())return window.vellum.localMode.readLockfile();let e=await fetch(`/assistant/__local/lockfile`);if(!e.ok)throw Error(`lockfile fetch failed: ${e.status}`);return e.json()}async function qo(e,t){return a()?window.vellum.localMode.saveLockfileAssistant(e,t):Y(`/assistant/__local/lockfile`,{assistant:e,activeAssistant:t},J)}async function Jo(e,t){return a()?window.vellum.localMode.replacePlatformAssistants(e,t):Y(`/assistant/__local/lockfile`,{syncPlatform:!0,platformAssistants:e,organizationId:t},J)}async function Yo(e){return a()?window.vellum.localMode.retire(e):Y(`/assistant/__local/retire`,{assistantId:e},J)}async function Xo(e){if(a()){let t=window.vellum.localMode.sleep;return t?t(e):{ok:!1,error:`Sleep is not supported by this app version`}}return Y(`/assistant/__local/sleep`,{assistantId:e},J)}async function Zo(e,t){if(a()){let n=window.vellum.localMode.wake;return n?n(e,t):{ok:!1,error:`Wake is not supported by this app version`}}return Y(`/assistant/__local/wake`,{assistantId:e,repairGuardian:t?.repairGuardian},`Wake failed. Try running vellum wake in your terminal.`)}async function Qo(e,t){if(a()){let n=window.vellum.localMode.upgrade;return n?n(e,t):{ok:!1,error:`Update and restart the desktop app to enable local upgrades.`}}let n={assistantId:e,...t?.latest?{latest:!0}:{},...t?.version?{version:t.version}:{},...t?.force?{force:!0}:{}};return(await fetch(`/assistant/__local/upgrade`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)})).json()}async function $o(e){if(a()){let t=window.vellum.localMode.status;return t?t(e):{ok:!1,status:501,error:`Local assistant status is not supported by this app version`}}if(!Wo())return{ok:!1,status:0,error:J};let t;try{t=await fetch(`/assistant/__local/status/${encodeURIComponent(e)}`)}catch{return{ok:!1,status:0,error:J}}return await t.json().catch(()=>null)??{ok:!1,status:t.status,error:J}}async function es(e){if(a()){let t=await window.vellum.localMode.guardianToken(e);if(!t.ok)throw new Vo(t.status,t.error);return t.accessToken}let t=await fetch(`/assistant/__local/guardian-token/${encodeURIComponent(e)}`);if(!t.ok){let e=await t.json().catch(()=>({}));throw new Vo(t.status,e.error??`Guardian token request failed: ${t.status}`)}let{accessToken:n}=await t.json();return n}async function ts(e){return(await Y(`/assistant/__local/platform-session`,{token:e},J)).ok}async function ns(){if(Wo())try{await fetch(`/assistant/__local/platform-session`,{method:`DELETE`})}catch{}}var rs=()=>be.getState().lockfile,is=(e,t=!0)=>be.getState().setLockfile(e,t),as={assistants:[],activeAssistant:null},os=`vellum:local:lockfile`;function ss(){return window.__VELLUM_CONFIG__?.platformUrl||window.location.origin}function cs(){return window.__VELLUM_CONFIG__??{}}function X(){return cs().mode===`remote-gateway`}function ls(){return{assistants:[{assistantId:`self`,name:`Local Assistant`,cloud:`local`,runtimeUrl:window.location.origin,hatchedAt:`1970-01-01T00:00:00.000Z`,resources:{gatewayPort:0,daemonPort:0}}],activeAssistant:`self`}}var Z=e=>{is(e),n(os,JSON.stringify(e)),Ts()},us=new Set([`1`,`true`,`yes`]);function ds(){return!us.has(`false`)}function fs(){let e=cs();return e?.disablePlatform==null?!1:!!e.disablePlatform}async function ps(){if(X()){let e=ls();return Z(e),e}try{let e=await Ko();return Z(e),e}catch{return Q()}}function Q(){if(X()){let e=ls();return is(e),e}let e=rs();if(e)return e;let n=t(os,``);if(n)try{let e=Bo(JSON.parse(n));return is(e),e}catch{}let r={...as};return is(r,!1),r}async function ms(e){let t=await qo(e,e.assistantId);t.ok&&Z(t.lockfile)}async function hs(e){if(X())return;let t=Q().assistants.find(t=>t.assistantId===e);if(!t)return;let n=await qo({...t},e);n.ok&&Z(n.lockfile)}async function gs(e,t,n=()=>!0){if(t==null||!n())return;let r=await Jo(e.filter(e=>!e.is_local).map(e=>({assistantId:e.id,...e.name!=null&&{name:e.name},cloud:`vellum`,runtimeUrl:ss(),hatchedAt:e.created,...t!=null&&{organizationId:t}})),t);r.ok&&n()&&Z(r.lockfile)}async function _s(e){let t=await Yo(e);return t.ok&&(l(),he(),_e(null),await ps()),t}function vs(){return Q().assistants.length>0}function $(e){return e.cloud===`local`}function ys(e){return e.cloud===`vellum`}function bs(e){let t=Q().assistants.find(t=>t.assistantId===e);return!!t&&$(t)}function xs(){return Q().assistants.filter($)}function Ss(){return Q().assistants.filter(ys)}function Cs(){let e=Q(),t=e.assistants.find(t=>t.assistantId===e.activeAssistant);if(t)return t;if(e.assistants.length===1)return e.assistants[0]}function ws(){let e=s();if(e){let t=Q().assistants.find(t=>t.assistantId===e);if(t)return t}return Cs()}function Ts(){let e=s();e&&(Q().assistants.some(t=>t.assistantId===e)||l())}function Es(e){return`/assistant/__gateway/${e}`}function Ds(e){return!!e&&ds()&&!X()&&$(e)}function Os(e=ws()){if(!Ds(e))return;let t=e.resources?.gatewayPort;if(t!=null)return Es(t)}var ks=class extends Error{constructor(e){super(`Local assistant ${e} has no resolved gateway`),this.name=`UnresolvedLocalGatewayError`}};async function As(e){let t=e??ws(),n=me(t);if(!n){if(Ds(t))throw new ks(t.assistantId);return}await pe(n,t?await es(t.assistantId):void 0);let r=Os(t);r&&_e({url:`${window.location.origin}${r}`,token:de()})}function js(e){return e instanceof Vo?e.status!==403:!0}async function Ms(e){try{await As(e);return}catch(t){if(!js(t))throw t;let n=(e??ws())?.assistantId;if(!n||!(await Zo(n)).ok)throw t;await As((await ps()).assistants.find(e=>e.assistantId===n)??e)}}export{de as $,Xo as A,Ra as B,ns as C,Wo as D,Go as E,Wa as F,Ka as G,oo as H,Xa as I,ye as J,yr as K,Ha as L,Zo as M,_a as N,ts as O,co as P,pe as Q,no as R,gs as S,$o as T,K as U,Qa as V,eo as W,_e as X,ve as Y,he as Z,As as _,Q as a,o as at,ms as b,ws as c,c as ct,$ as d,me as et,ds as f,ps as g,X as h,Os as i,ue as it,Qo as j,Ho as k,vs as l,fs as m,Cs as n,se as nt,Ss as o,l as ot,ys as p,be as q,xs as r,d as rt,ss as s,s as st,ks as t,oe as tt,bs as u,Ms as v,es as w,hs as x,_s as y,uo as z};
@@ -1 +1 @@
1
- import{a as e}from"./routes-B9xcBuuC.js";import{r as t,t as n}from"./build-state-CMpEWWjf.js";var r=`workos`,i=e.account.providerCallback,a=`authIntent`;function o(e,t={}){let n=new URLSearchParams;e&&n.set(`returnTo`,e),t.authIntent&&n.set(a,t.authIntent);let r=n.toString();return r?`${i}?${r}`:i}function s(e){return e.get(a)===`signup`?`signup`:`login`}function c(e){return e.startsWith(`http`)||e.startsWith(`/accounts/`)||e.startsWith(`/v1/`)||e.startsWith(`/_allauth/`)}function l(e,t){return u({returnTo:e,fallback:t,authIntent:`login`})}function u({returnTo:e,fallback:r,authIntent:i}){let a=t(n(),{kind:`post-auth`,authIntent:i,returnTo:e,fallback:r}),o=a.action===`redirect`?a.to:r;return{destination:o,requiresFullPageNavigation:c(o)}}export{u as a,s as i,r as n,l as o,o as r,i as t};
1
+ import{a as e}from"./routes-DlW6mpdp.js";import{r as t,t as n}from"./build-state-htTId11f.js";var r=`workos`,i=e.account.providerCallback,a=`authIntent`;function o(e,t={}){let n=new URLSearchParams;e&&n.set(`returnTo`,e),t.authIntent&&n.set(a,t.authIntent);let r=n.toString();return r?`${i}?${r}`:i}function s(e){return e.get(a)===`signup`?`signup`:`login`}function c(e){return e.startsWith(`http`)||e.startsWith(`/accounts/`)||e.startsWith(`/v1/`)||e.startsWith(`/_allauth/`)}function l(e,t){return u({returnTo:e,fallback:t,authIntent:`login`})}function u({returnTo:e,fallback:r,authIntent:i}){let a=t(n(),{kind:`post-auth`,authIntent:i,returnTo:e,fallback:r}),o=a.action===`redirect`?a.to:r;return{destination:o,requiresFullPageNavigation:c(o)}}export{u as a,s as i,r as n,l as o,o as r,i as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D7s2Q_uG.js";import{h as r,t as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./cn-DvW5mxZR.js";import"./src-BJj2O5XB.js";import{F as s,N as c,P as l}from"./auth-store-C7FE9LLc.js";import{a as u}from"./routes-DlW6mpdp.js";import{n as d,r as f}from"./login-flow-C4XRX0tn.js";import{t as p}from"./public-asset-BTisO-cB.js";import{t as m}from"./google-logo-C0Ye7zqf.js";import{ot as h,ui as g}from"./index-C1jO2jSf.js";var _=e(t(),1),v=a();function y({children:e}){return(0,v.jsxs)(`div`,{className:`fixed inset-0 z-50 flex flex-col items-center justify-center bg-[var(--surface-base)] text-[var(--content-default)]`,children:[(0,v.jsx)(`img`,{src:p(`/vellum-logo.svg`),alt:`Vellum`,width:220,height:66,className:`block dark:hidden`}),(0,v.jsx)(`img`,{src:p(`/vellum-logo-white.svg`),alt:`Vellum`,width:220,height:66,className:`hidden dark:block`}),e,(0,v.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute left-1/2 w-full max-w-[900px] -translate-x-1/2`,style:{bottom:0},children:(0,v.jsx)(`img`,{src:p(`/login-background-characters.svg`),alt:``,width:880,height:182,className:`h-auto w-full`})})]})}function b(){return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`div`,{className:`pointer-events-none absolute top-[120px] left-1/2 z-0 -translate-x-1/2`,children:(0,v.jsx)(`img`,{src:p(`/vellum-logo-white.svg`),alt:`Vellum`,width:92,height:28})}),(0,v.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute right-0 bottom-0 left-1/2 z-0 w-full max-w-[1100px] -translate-x-1/2`,children:(0,v.jsx)(`img`,{src:p(`/login-background-characters.svg`),alt:``,width:880,height:182,className:`h-auto w-full`})})]})}var x=`flex w-full max-w-[448px] flex-col gap-6 rounded-lg border border-[var(--border-disabled)] bg-[var(--surface-lift)] p-6`;function S({children:e}){return(0,v.jsx)(`div`,{className:x,children:e})}function C({children:e}){return(0,v.jsx)(`h1`,{className:`text-title-large text-center text-[var(--content-emphasised)]`,children:e})}function w({children:e,className:t}){return(0,v.jsx)(`p`,{className:o(`text-body-small-default text-center text-[var(--system-negative-strong)]`,t),children:e})}function T({children:e}){return(0,v.jsx)(`div`,{className:`dark`,children:(0,v.jsxs)(`div`,{className:`relative min-h-screen overflow-x-hidden bg-[var(--surface-base)] text-[var(--content-default)]`,children:[(0,v.jsx)(b,{}),(0,v.jsx)(`div`,{className:`relative z-10 flex min-h-screen flex-col items-center justify-center px-4`,children:e})]})})}function E({signUpHref:e}){return(0,v.jsxs)(`p`,{className:`text-body-small-default flex justify-center gap-1`,children:[(0,v.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Don't have an account?`}),(0,v.jsx)(i,{to:e,className:`font-medium text-[var(--content-emphasised)] hover:underline`,children:`Sign up`})]})}function D({returnTo:e,loading:t,errorMessage:r,onProviderClick:i}){let a=e?`${u.account.signup}?returnTo=${encodeURIComponent(e)}`:u.account.signup;return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(C,{children:`Sign in to Vellum`}),r&&(0,v.jsx)(w,{children:r}),(0,v.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[(0,v.jsx)(n,{type:`button`,variant:`outlined`,fullWidth:!0,onClick:()=>i(`AppleOAuth`),disabled:t,leftIcon:(0,v.jsx)(h,{}),className:`max-w-[300px] gap-3`,children:`Continue with Apple`}),(0,v.jsx)(n,{type:`button`,variant:`outlined`,fullWidth:!0,onClick:()=>i(`GoogleOAuth`),disabled:t,leftIcon:(0,v.jsx)(m,{}),className:`max-w-[300px] gap-3`,children:`Continue with Google`}),(0,v.jsx)(n,{type:`button`,variant:`outlined`,fullWidth:!0,onClick:()=>i(),disabled:t,leftIcon:(0,v.jsx)(g,{}),className:`max-w-[300px] gap-3`,children:`Continue with Email`})]}),(0,v.jsx)(E,{signUpHref:a})]})}var O={signup_closed:`Sign-ups are currently closed. Visit vellum.ai/community to request access.`};function k({returnTo:e}){let[t,r]=(0,_.useState)(null),[i,a]=(0,_.useState)(!1),o=async()=>{r(null),a(!0);try{await l({returnTo:e??null})}catch(e){let t=e&&typeof e==`object`&&`code`in e?e.code:void 0;if(t===`USER_CANCELLED`){a(!1);return}if(t===`AUTH_ERROR`){let t=e&&typeof e==`object`&&`data`in e&&e.data&&typeof e.data==`object`&&`authError`in e.data&&typeof e.data.authError==`string`?e.data.authError:void 0;r((t&&O[t])??`Something went wrong. Please try again.`)}else console.error(`[native-auth] auth flow failed:`,e),r(`Something went wrong. Please try again.`);a(!1)}};return(0,v.jsx)(y,{children:(0,v.jsxs)(`div`,{className:`z-10 mt-8 flex w-full max-w-[320px] flex-col items-center gap-3`,children:[t&&(0,v.jsx)(w,{className:`max-w-[280px]`,children:t}),(0,v.jsx)(n,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>{o()},disabled:i,className:`max-w-[300px]`,children:`Sign in`})]})})}function A({returnTo:e}){let[t,n]=(0,_.useState)(null),[r,i]=(0,_.useState)(!1),a=f(e),o=async t=>{n(null),i(!0);try{await c(d,a,{...t?{providerHint:t}:{},returnTo:e})}catch(e){console.error(`[web-login] auth flow failed:`,e),n(`Something went wrong. Please try again.`),i(!1)}};return(0,v.jsx)(T,{children:(0,v.jsx)(S,{children:(0,v.jsx)(D,{returnTo:e,loading:r,errorMessage:t,onProviderClick:e=>{o(e)}})})})}function j(){let[e]=r(),t=s(),n=e.get(`returnTo`);return t?(0,v.jsx)(k,{returnTo:n}):(0,v.jsx)(A,{returnTo:n})}export{j as LoginPage};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{h as n}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{n as i}from"./auth-store-CbVvQiBR.js";import{t as a}from"./return-to-DxTXKF-C.js";import{a as o}from"./routes-B9xcBuuC.js";import{Nn as s}from"./index-Cx6vyW7T.js";import{r as c,t as l}from"./account-shell-BBL0HqTX.js";var u=e(t(),1),d=r();function f(){let[e]=n(),t=i.use.logout(),r=(0,u.useRef)(!1);return(0,u.useEffect)(()=>{if(r.current)return;r.current=!0;let n=a(e.get(`returnTo`),o.account.login),i=n.startsWith(`http`)||n===o.account.login?n:`${o.account.login}?returnTo=${encodeURIComponent(n)}`,c=!1;return t().then(()=>{c||s(i)},()=>{c||s(i)}),()=>{c=!0}},[t,e]),(0,d.jsx)(l,{children:(0,d.jsx)(c,{title:`Signing out...`})})}export{f as LogoutPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{h as n}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{n as i}from"./auth-store-C7FE9LLc.js";import{t as a}from"./return-to-DoZNVn3w.js";import{a as o}from"./routes-DlW6mpdp.js";import{Pn as s}from"./index-C1jO2jSf.js";import{r as c,t as l}from"./account-shell-m8OhdsLC.js";var u=e(t(),1),d=r();function f(){let[e]=n(),t=i.use.logout(),r=(0,u.useRef)(!1);return(0,u.useEffect)(()=>{if(r.current)return;r.current=!0;let n=a(e.get(`returnTo`),o.account.login),i=n.startsWith(`http`)||n===o.account.login?n:`${o.account.login}?returnTo=${encodeURIComponent(n)}`,c=!1;return t().then(()=>{c||s(i)},()=>{c||s(i)}),()=>{c=!0}},[t,e]),(0,d.jsx)(l,{children:(0,d.jsx)(c,{title:`Signing out...`})})}export{f as LogoutPage};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{i as n,u as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./createLucideIcon-BlMXrA59.js";import{a as o}from"./routes-B9xcBuuC.js";import{Jt as s,mi as c,qr as l,ra as u}from"./index-Cx6vyW7T.js";import{n as d,t as f}from"./sidebar-tree-D0lNnpA6.js";var p=a(`monitor-cog`,[[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`m14.305 7.53.923-.382`,key:`1mlnsw`}],[`path`,{d:`m15.228 4.852-.923-.383`,key:`82mpwg`}],[`path`,{d:`m16.852 3.228-.383-.924`,key:`ln4sir`}],[`path`,{d:`m16.852 8.772-.383.923`,key:`1dejw0`}],[`path`,{d:`m19.148 3.228.383-.924`,key:`192kgf`}],[`path`,{d:`m19.53 9.696-.382-.924`,key:`fiavlr`}],[`path`,{d:`m20.772 4.852.924-.383`,key:`1j8mgp`}],[`path`,{d:`m20.772 7.148.924.383`,key:`zix9be`}],[`path`,{d:`M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`,key:`1tnzv8`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}]]),m=e(t(),1),h=[{id:`usage`,label:`Usage`,href:o.logs.usage,icon:u},{id:`logs`,label:`Logs`,href:o.logs.trace,icon:l},{id:`emails`,label:`Emails`,href:o.logs.emails,icon:c},{id:`system-events`,label:`System Events`,href:o.logs.systemEvents,icon:p}],g=i();function _(){let e=s({platformHostedOnly:!0}),t=s(),{pathname:i}=r(),a=(0,m.useMemo)(()=>h.filter(n=>!(n.id===`system-events`&&e===`gated`||n.id===`emails`&&t===`gated`)),[e,t]),c=(0,m.useMemo)(()=>{let e=h.find(e=>i===e.href||i.startsWith(e.href+`/`));return e?e.label:i===o.logs.root?h[0]?.label??`Logs & Usage`:`Logs & Usage`},[i]);return(0,g.jsx)(d,{backHref:o.assistant,sidebar:(0,g.jsx)(f,{items:a,indexPath:o.logs.root}),title:c,menuRoute:o.logs.root,children:(0,g.jsx)(n,{})})}export{_ as LogsLayout};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{i as n,u as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./createLucideIcon-BlMXrA59.js";import{a as o}from"./routes-DlW6mpdp.js";import{Kr as s,Zi as c,tn as l,ui as u}from"./index-C1jO2jSf.js";import{n as d,t as f}from"./sidebar-tree-DQq22ToB.js";var p=a(`monitor-cog`,[[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`m14.305 7.53.923-.382`,key:`1mlnsw`}],[`path`,{d:`m15.228 4.852-.923-.383`,key:`82mpwg`}],[`path`,{d:`m16.852 3.228-.383-.924`,key:`ln4sir`}],[`path`,{d:`m16.852 8.772-.383.923`,key:`1dejw0`}],[`path`,{d:`m19.148 3.228.383-.924`,key:`192kgf`}],[`path`,{d:`m19.53 9.696-.382-.924`,key:`fiavlr`}],[`path`,{d:`m20.772 4.852.924-.383`,key:`1j8mgp`}],[`path`,{d:`m20.772 7.148.924.383`,key:`zix9be`}],[`path`,{d:`M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`,key:`1tnzv8`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}]]),m=e(t(),1),h=[{id:`usage`,label:`Usage`,href:o.logs.usage,icon:c},{id:`logs`,label:`Logs`,href:o.logs.trace,icon:s},{id:`emails`,label:`Emails`,href:o.logs.emails,icon:u},{id:`system-events`,label:`System Events`,href:o.logs.systemEvents,icon:p}],g=i();function _(){let e=l({platformHostedOnly:!0}),t=l(),{pathname:i}=r(),a=(0,m.useMemo)(()=>h.filter(n=>!(n.id===`system-events`&&e===`gated`||n.id===`emails`&&t===`gated`)),[e,t]),s=(0,m.useMemo)(()=>{let e=h.find(e=>i===e.href||i.startsWith(e.href+`/`));return e?e.label:i===o.logs.root?h[0]?.label??`Logs & Usage`:`Logs & Usage`},[i]);return(0,g.jsx)(d,{backHref:o.assistant,sidebar:(0,g.jsx)(f,{items:a,indexPath:o.logs.root}),title:s,menuRoute:o.logs.root,children:(0,g.jsx)(n,{})})}export{_ as LogsLayout};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D7s2Q_uG.js";import{n as r}from"./QueryClientProvider-DKhXIxGb.js";import{t as i}from"./useQuery-B45lW1Kk.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./card-BibIM9x3.js";import{t as s}from"./confirm-dialog-SpCsmAdG.js";import{t as c}from"./input-Ch7OC6ME.js";import{t as l}from"./toggle-95p73HGd.js";import{t as u}from"./modal-CHuPOsJJ.js";import{n as d}from"./toast-CxaZ5f1d.js";import{t as f}from"./skill-row-DDoJmniT.js";import{t as p}from"./cable-DeiZJhx5.js";import{t as m}from"./chevron-right-CWG30kI8.js";import{t as h}from"./circle-alert-CIThYDGJ.js";import{t as g}from"./circle-check-Cfl8Yl_j.js";import{t as _}from"./loader-circle-BU6b8vrp.js";import{t as v}from"./log-in-F2ivXAeS.js";import{t as y}from"./refresh-cw-d--DqlE0.js";import{t as b}from"./client.gen-4zzwm6UN.js";import{Mr as x,Qr as S,Xi as C,Zr as w,vi as T}from"./index-C1jO2jSf.js";import{t as E}from"./use-active-assistant-id-CuamPYIw.js";var D=e(t(),1),O=a(),k=[{value:`none`,label:`None`},{value:`bearer`,label:`Bearer Token`},{value:`api-key`,label:`API Key`}],A=[{value:`sse`,label:`SSE`},{value:`streamable-http`,label:`Streamable HTTP`},{value:`stdio`,label:`Stdio (command)`}];function j({open:e,onClose:t,onAdd:r,isPending:i}){let[a,o]=(0,D.useState)(``),[s,l]=(0,D.useState)(`sse`),[d,f]=(0,D.useState)(``),[m,h]=(0,D.useState)(``),[g,_]=(0,D.useState)(``),[v,y]=(0,D.useState)(`none`),[b,x]=(0,D.useState)(``),[S,C]=(0,D.useState)(`X-API-Key`),[w,T]=(0,D.useState)(``),E=(0,D.useCallback)(()=>{o(``),l(`sse`),f(``),h(``),_(``),y(`none`),x(``),C(`X-API-Key`),T(``)},[]),j=(0,D.useCallback)(()=>{i||(E(),t())},[i,E,t]),M=(0,D.useCallback)(()=>{let e=a.trim();if(!e)return;let t={name:e,transportType:s};if(s===`stdio`){let e=m.trim();if(!e)return;t.command=e;let n=g.trim();n&&(t.args=n.split(/\s+/))}else{let e=d.trim();if(!e)return;t.url=e,v===`bearer`&&b.trim()?t.headers={Authorization:`Bearer ${b.trim()}`}:v===`api-key`&&S.trim()&&w.trim()&&(t.headers={[S.trim()]:w.trim()})}r(t)},[a,s,d,m,g,v,b,S,w,r]),N=s===`stdio`,P=a.trim()&&(N?m.trim():d.trim());return(0,O.jsx)(u.Root,{open:e,onOpenChange:e=>{e||j()},children:(0,O.jsxs)(u.Content,{size:`md`,children:[(0,O.jsxs)(u.Header,{children:[(0,O.jsx)(u.Title,{icon:p,children:`Add MCP Server`}),(0,O.jsx)(u.Description,{children:`Connect to a Model Context Protocol server to extend available tools.`})]}),(0,O.jsx)(u.Body,{children:(0,O.jsxs)(`div`,{className:`space-y-4`,children:[(0,O.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,O.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-name`,children:`Server name`}),(0,O.jsx)(c,{id:`mcp-name`,type:`text`,value:a,onChange:e=>o(e.target.value),placeholder:`my-server`,fullWidth:!0,autoFocus:!0})]}),(0,O.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,O.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-transport`,children:`Transport`}),(0,O.jsx)(`select`,{id:`mcp-transport`,value:s,onChange:e=>l(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:A.map(e=>(0,O.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),N?(0,O.jsxs)(O.Fragment,{children:[(0,O.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,O.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-command`,children:`Command`}),(0,O.jsx)(c,{id:`mcp-command`,type:`text`,value:m,onChange:e=>h(e.target.value),placeholder:`npx -y @modelcontextprotocol/server-example`,fullWidth:!0})]}),(0,O.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,O.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-args`,children:`Arguments (space-separated)`}),(0,O.jsx)(c,{id:`mcp-args`,type:`text`,value:g,onChange:e=>_(e.target.value),placeholder:`--port 3000`,fullWidth:!0})]})]}):(0,O.jsxs)(O.Fragment,{children:[(0,O.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,O.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-url`,children:`Server URL`}),(0,O.jsx)(c,{id:`mcp-url`,type:`url`,value:d,onChange:e=>f(e.target.value),placeholder:`https://example.com/mcp`,fullWidth:!0})]}),(0,O.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,O.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-auth`,children:`Authentication`}),(0,O.jsx)(`select`,{id:`mcp-auth`,value:v,onChange:e=>y(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:k.map(e=>(0,O.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),v===`bearer`?(0,O.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,O.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-bearer`,children:`Bearer token`}),(0,O.jsx)(c,{id:`mcp-bearer`,type:`password`,value:b,onChange:e=>x(e.target.value),placeholder:`tok_...`,fullWidth:!0})]}):null,v===`api-key`?(0,O.jsxs)(`div`,{className:`flex gap-3`,children:[(0,O.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,O.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-header`,children:`Header name`}),(0,O.jsx)(c,{id:`mcp-apikey-header`,type:`text`,value:S,onChange:e=>C(e.target.value),placeholder:`X-API-Key`,fullWidth:!0})]}),(0,O.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,O.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-value`,children:`API key`}),(0,O.jsx)(c,{id:`mcp-apikey-value`,type:`password`,value:w,onChange:e=>T(e.target.value),placeholder:`sk_...`,fullWidth:!0})]})]}):null]})]})}),(0,O.jsxs)(u.Footer,{children:[(0,O.jsx)(n,{variant:`ghost`,onClick:j,disabled:i,children:`Cancel`}),(0,O.jsx)(n,{variant:`primary`,onClick:M,disabled:!P||i,children:i?`Adding...`:`Add Server`})]})]})})}async function M(e){let{data:t,response:n}=await b.get({url:`/v1/assistants/{assistant_id}/internal/mcp/list`,path:{assistant_id:e}});if(!n?.ok)throw Error(`Failed to fetch MCP servers: ${n?.status}`);return t}async function N(e){let{data:t,response:n}=await b.get({url:`/v1/assistants/{assistant_id}/internal/mcp/tools-summary`,path:{assistant_id:e}});if(!n?.ok)throw Error(`Failed to fetch MCP tools summary: ${n?.status}`);return t}async function P(e,t){let{response:n}=await b.post({url:`/v1/assistants/{assistant_id}/internal/mcp/update`,path:{assistant_id:e},body:t});if(!n?.ok)throw Error(`Failed to update MCP server: ${n?.status}`)}async function F(e,t){let{response:n}=await b.post({url:`/v1/assistants/{assistant_id}/internal/mcp/add`,path:{assistant_id:e},body:t});if(!n?.ok)throw Error(`Failed to add MCP server: ${n?.status}`)}async function I(e,t){let{response:n}=await b.post({url:`/v1/assistants/{assistant_id}/internal/mcp/remove`,path:{assistant_id:e},body:{name:t}});if(!n?.ok)throw Error(`Failed to remove MCP server: ${n?.status}`)}async function L(e,t){let{data:n,response:r}=await b.post({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/start`,path:{assistant_id:e},body:{serverId:t}});if(!r?.ok)throw Error(`Failed to start MCP auth: ${r?.status}`);return n}async function R(e,t){let{data:n,response:r}=await b.get({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/status/${encodeURIComponent(t)}`,path:{assistant_id:e}});if(!r?.ok)throw Error(`Failed to poll MCP auth status: ${r?.status}`);return n}async function z(e){let{response:t}=await b.post({url:`/v1/assistants/{assistant_id}/internal/mcp/reload`,path:{assistant_id:e},body:{}});if(!t?.ok)throw Error(`Failed to reload MCP servers: ${t?.status}`)}var B={connected:{icon:g,label:`Connected`,className:`text-[var(--system-positive-strong)]`},"needs-auth":{icon:T,label:`Needs Auth`,className:`text-[var(--system-warning-strong)]`},disabled:{icon:w,label:`Disabled`,className:`text-[var(--content-tertiary)]`}},V={icon:h,label:`Error`,className:`text-[var(--system-negative-strong)]`};function H({server:e,toolsSummary:t,onToggleEnabled:r,onRemove:i,onConfigure:a,onAuthenticate:s,isUpdating:c,isAuthenticating:u}){let[d,p]=(0,D.useState)(!1),h=B[e.status]??V,g=h.icon,y=(0,D.useCallback)(t=>r(e.id,t),[r,e.id]),b=(0,D.useCallback)(()=>i(e.id),[i,e.id]),S=(0,D.useCallback)(()=>a(e.id),[a,e.id]),w=(0,D.useCallback)(()=>s(e.id),[s,e.id]),T=(0,D.useCallback)(()=>p(e=>!e),[]);return(0,O.jsx)(o.Root,{children:(0,O.jsxs)(o.Body,{children:[(0,O.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,O.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:(0,O.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,O.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,O.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.id}),(0,O.jsxs)(`span`,{className:`flex items-center gap-1 text-label-medium-default ${h.className}`,children:[(0,O.jsx)(g,{className:`h-3.5 w-3.5`}),h.label]})]}),(0,O.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,O.jsx)(`span`,{children:e.transport.type}),t?(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,O.jsxs)(`span`,{children:[t.toolCount,` `,t.toolCount===1?`tool`:`tools`]}),(0,O.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,O.jsxs)(`span`,{children:[`~`,t.estimatedTokens.toLocaleString(),` tokens`]})]}):null]})]})}),(0,O.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[c||u?(0,O.jsx)(_,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}):null,e.status===`needs-auth`&&e.transport.type!==`stdio`?(0,O.jsx)(n,{variant:`ghost`,size:`compact`,leftIcon:(0,O.jsx)(v,{}),onClick:w,disabled:u,children:u?`Authenticating...`:`Authenticate`}):null,(0,O.jsx)(l,{checked:e.enabled,onChange:y,disabled:c,"aria-label":`${e.enabled?`Disable`:`Enable`} ${e.id}`}),(0,O.jsx)(n,{variant:`ghost`,size:`compact`,onClick:S,tooltip:`Configure`,children:`Configure`}),(0,O.jsx)(n,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,O.jsx)(x,{}),onClick:b,tooltip:`Remove server`,"aria-label":`Remove ${e.id}`})]})]}),t&&t.tools.length>0?(0,O.jsxs)(`div`,{className:`mt-3 border-t border-[var(--border-base)] pt-2`,children:[(0,O.jsxs)(`button`,{type:`button`,onClick:T,className:`flex w-full cursor-pointer items-center gap-1 text-body-small-default text-[var(--content-secondary)] hover:text-[var(--content-default)]`,children:[d?(0,O.jsx)(C,{className:`h-3.5 w-3.5`}):(0,O.jsx)(m,{className:`h-3.5 w-3.5`}),t.toolCount,` registered `,t.toolCount===1?`tool`:`tools`]}),d?(0,O.jsx)(`div`,{className:`mt-2 max-h-60 space-y-1 overflow-y-auto`,children:t.tools.map(e=>(0,O.jsx)(f,{title:(0,O.jsx)(`span`,{className:`font-medium text-[var(--content-default)]`,children:e.name}),subtitle:e.description||void 0,action:(0,O.jsxs)(`span`,{className:`whitespace-nowrap text-body-small-default text-[var(--content-tertiary)]`,children:[`~`,e.estimatedTokens.toLocaleString(),` tok`]})},e.name))}):null]}):null]})})}var U=[{value:`none`,label:`None`},{value:`bearer`,label:`Bearer Token`},{value:`api-key`,label:`API Key`}];function W(e){return e?(e.Authorization??e.authorization)?.startsWith(`Bearer `)?`bearer`:Object.keys(e).length>0?`api-key`:`none`:`none`}function G(e){if(!e)return``;let t=e.Authorization??e.authorization;return t?.startsWith(`Bearer `)?t.slice(7):``}function K(e){if(!e)return{header:`X-API-Key`,value:``};let t=Object.entries(e).filter(([e])=>e.toLowerCase()!==`authorization`);return t.length>0?{header:t[0][0],value:t[0][1]}:{header:`X-API-Key`,value:``}}var q=[`low`,`medium`,`high`];function J({server:e,toolsSummary:t,onClose:r,onSave:i,isPending:a}){let[o,s]=(0,D.useState)(`medium`),[l,d]=(0,D.useState)(`none`),[f,m]=(0,D.useState)(``),[h,g]=(0,D.useState)(`X-API-Key`),[_,v]=(0,D.useState)(``);(0,D.useEffect)(()=>{if(e){s(e.defaultRiskLevel),d(W(e.transport.headers)),m(G(e.transport.headers));let t=K(e.transport.headers);g(t.header),v(t.value)}},[e]);let y=(0,D.useCallback)(()=>{if(!e)return;let t=l!==W(e.transport.headers)||l===`bearer`&&f.trim()!==G(e.transport.headers)||l===`api-key`&&(h.trim()!==K(e.transport.headers).header||_.trim()!==K(e.transport.headers).value),n;n=t?l===`none`?null:l===`bearer`&&f.trim()?{Authorization:`Bearer ${f.trim()}`}:l===`api-key`&&h.trim()&&_.trim()?{[h.trim()]:_.trim()}:void 0:void 0,i(e.id,{name:e.id,defaultRiskLevel:o,...n===void 0?{}:{headers:n}})},[e,o,l,f,h,_,i]),b=(0,D.useCallback)(()=>{a||r()},[a,r]);return e?(0,O.jsx)(u.Root,{open:!!e,onOpenChange:e=>{e||b()},children:(0,O.jsxs)(u.Content,{size:`lg`,children:[(0,O.jsxs)(u.Header,{children:[(0,O.jsx)(u.Title,{icon:p,children:e.id}),(0,O.jsxs)(u.Description,{children:[e.transport.type,` transport · `,e.status]})]}),(0,O.jsx)(u.Body,{children:(0,O.jsxs)(`div`,{className:`space-y-5`,children:[(0,O.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,O.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-risk`,children:`Default risk level`}),(0,O.jsx)(`select`,{id:`mcp-risk`,value:o,onChange:e=>s(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:q.map(e=>(0,O.jsx)(`option`,{value:e,children:e.charAt(0).toUpperCase()+e.slice(1)},e))})]}),e.transport.type===`stdio`?null:(0,O.jsxs)(O.Fragment,{children:[(0,O.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,O.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-auth`,children:`Authentication`}),(0,O.jsx)(`select`,{id:`mcp-detail-auth`,value:l,onChange:e=>d(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:U.map(e=>(0,O.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),l===`bearer`?(0,O.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,O.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-bearer`,children:`Bearer token`}),(0,O.jsx)(c,{id:`mcp-detail-bearer`,type:`password`,value:f,onChange:e=>m(e.target.value),placeholder:`tok_...`,fullWidth:!0})]}):null,l===`api-key`?(0,O.jsxs)(`div`,{className:`flex gap-3`,children:[(0,O.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,O.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-header`,children:`Header name`}),(0,O.jsx)(c,{id:`mcp-detail-apikey-header`,type:`text`,value:h,onChange:e=>g(e.target.value),placeholder:`X-API-Key`,fullWidth:!0})]}),(0,O.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,O.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-value`,children:`API key`}),(0,O.jsx)(c,{id:`mcp-detail-apikey-value`,type:`password`,value:_,onChange:e=>v(e.target.value),placeholder:`sk_...`,fullWidth:!0})]})]}):null]}),t&&t.tools.length>0?(0,O.jsxs)(`div`,{className:`space-y-2`,children:[(0,O.jsxs)(`h3`,{className:`text-body-medium-default text-[var(--content-default)]`,children:[`Registered tools (`,t.toolCount,`)`]}),(0,O.jsxs)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[`Total estimated token overhead: ~`,t.estimatedTokens.toLocaleString(),` tokens`]}),(0,O.jsx)(`div`,{className:`max-h-64 overflow-y-auto rounded-lg border border-[var(--border-base)]`,children:(0,O.jsxs)(`table`,{className:`w-full text-body-small-default`,children:[(0,O.jsx)(`thead`,{children:(0,O.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] bg-[var(--surface-base)]`,children:[(0,O.jsx)(`th`,{className:`px-3 py-2 text-left font-medium text-[var(--content-secondary)]`,children:`Tool`}),(0,O.jsx)(`th`,{className:`px-3 py-2 text-left font-medium text-[var(--content-secondary)]`,children:`Description`}),(0,O.jsx)(`th`,{className:`px-3 py-2 text-right font-medium text-[var(--content-secondary)]`,children:`Tokens`})]})}),(0,O.jsx)(`tbody`,{children:t.tools.map(e=>(0,O.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] last:border-b-0`,children:[(0,O.jsx)(`td`,{className:`px-3 py-2 font-medium text-[var(--content-default)]`,children:e.name}),(0,O.jsx)(`td`,{className:`max-w-xs truncate px-3 py-2 text-[var(--content-tertiary)]`,children:e.description||`—`}),(0,O.jsxs)(`td`,{className:`px-3 py-2 text-right text-[var(--content-tertiary)]`,children:[`~`,e.estimatedTokens.toLocaleString()]})]},e.name))})]})})]}):null]})}),(0,O.jsxs)(u.Footer,{children:[(0,O.jsx)(n,{variant:`ghost`,onClick:b,disabled:a,children:`Cancel`}),(0,O.jsx)(n,{variant:`primary`,onClick:y,disabled:a,children:a?`Saving...`:`Save`})]})]})}):null}var Y=`mcp-servers`,X=`mcp-tools-summary`;function Z(){let e=E(),t=r(),[a,o]=(0,D.useState)(!1),[c,l]=(0,D.useState)(null),[u,f]=(0,D.useState)(null),[m,h]=(0,D.useState)(new Set),[g,v]=(0,D.useState)(!1),[b,x]=(0,D.useState)(!1),[C,w]=(0,D.useState)(!1),[T,k]=(0,D.useState)(!1),[A,B]=(0,D.useState)(null),{data:V,isLoading:U,isError:W}=i({queryKey:[Y,e],queryFn:()=>M(e)}),{data:G}=i({queryKey:[X,e],queryFn:()=>N(e)}),K=(0,D.useCallback)(()=>{t.invalidateQueries({queryKey:[Y,e]}),t.invalidateQueries({queryKey:[X,e]})},[t,e]),q=(0,D.useMemo)(()=>{let e=new Map;if(G)for(let t of G.servers)e.set(t.serverId,t);return e},[G]),Z=(0,D.useMemo)(()=>!c||!V?null:V.servers.find(e=>e.id===c)??null,[c,V]),Q=(0,D.useCallback)(async(t,n)=>{h(e=>new Set(e).add(t));try{await P(e,{name:t,enabled:n}),K()}catch{d.error(`Failed to ${n?`enable`:`disable`} ${t}`)}finally{h(e=>{let n=new Set(e);return n.delete(t),n})}},[e,K]),ee=(0,D.useCallback)(async()=>{if(u){x(!0);try{await I(e,u),K(),d.success(`Removed ${u}`),f(null)}catch{d.error(`Failed to remove ${u}`)}finally{x(!1)}}},[u,e,K]),te=(0,D.useCallback)(async t=>{B(t);let n;try{n=await L(e,t)}catch{d.error(`Failed to start authentication for ${t}`),B(null);return}try{if(n.already_authenticated){d.success(`${t} is already authenticated`),K();return}window.open(n.auth_url,`_blank`,`noopener,noreferrer`);for(let n=0;n<60;n++){await new Promise(e=>setTimeout(e,3e3));let n=await R(e,t);if(n.status===`complete`){d.success(`${t} authenticated successfully`),K();return}if(n.status===`error`){d.error(n.error??`Authentication failed for ${t}`);return}}d.error(`Authentication timed out for ${t}`)}catch{d.error(`Authentication polling failed for ${t}`)}finally{B(null)}},[e,K]),ne=(0,D.useCallback)(async t=>{v(!0);try{await F(e,t),K(),d.success(`Added ${t.name}`),o(!1)}catch{d.error(`Failed to add ${t.name}`)}finally{v(!1)}},[e,K]),re=(0,D.useCallback)(async(t,n)=>{w(!0);try{await P(e,n),K(),d.success(`Updated ${t}`),l(null)}catch{d.error(`Failed to update ${t}`)}finally{w(!1)}},[e,K]),ie=(0,D.useCallback)(async()=>{k(!0);try{await z(e),K(),d.success(`MCP servers reloaded`)}catch{d.error(`Failed to reload MCP servers`)}finally{k(!1)}},[e,K]),$=V?.servers??[];return(0,O.jsxs)(`div`,{className:`space-y-4`,children:[(0,O.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,O.jsxs)(`div`,{children:[(0,O.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:`MCP Servers`}),(0,O.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`Manage Model Context Protocol server connections and their registered tools.`})]}),(0,O.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,O.jsx)(n,{variant:`ghost`,size:`compact`,iconOnly:(0,O.jsx)(y,{className:T?`animate-spin`:``}),onClick:ie,disabled:T,tooltip:`Reload all servers`,"aria-label":`Reload MCP servers`}),(0,O.jsx)(n,{variant:`primary`,size:`compact`,leftIcon:(0,O.jsx)(S,{}),onClick:()=>o(!0),children:`Add Server`})]})]}),G?(0,O.jsxs)(`div`,{className:`flex gap-4 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,O.jsxs)(`span`,{children:[G.totalToolCount,` total `,G.totalToolCount===1?`tool`:`tools`]}),(0,O.jsxs)(`span`,{children:[`~`,G.totalEstimatedTokens.toLocaleString(),` total tokens`]})]}):null,U?(0,O.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,O.jsx)(_,{className:`h-4 w-4 animate-spin`}),(0,O.jsx)(`span`,{children:`Loading MCP servers...`})]}):W?(0,O.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Failed to load MCP servers. Check that an assistant is running.`}):$.length===0?(0,O.jsxs)(`div`,{className:`flex flex-col items-center gap-2 rounded-lg border border-dashed border-[var(--border-element)] px-4 py-12 text-center`,children:[(0,O.jsx)(p,{className:`h-6 w-6 text-[var(--content-disabled)]`}),(0,O.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`No MCP Servers`}),(0,O.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Add an MCP server to extend your assistant with external tools.`})]}):(0,O.jsx)(`div`,{className:`space-y-2`,children:$.map(e=>(0,O.jsx)(H,{server:e,toolsSummary:q.get(e.id),onToggleEnabled:Q,onRemove:f,onConfigure:l,onAuthenticate:te,isUpdating:m.has(e.id),isAuthenticating:A===e.id},e.id))}),(0,O.jsx)(j,{open:a,onClose:()=>o(!1),onAdd:ne,isPending:g}),(0,O.jsx)(J,{server:Z,toolsSummary:c?q.get(c):void 0,onClose:()=>l(null),onSave:re,isPending:C}),(0,O.jsx)(s,{open:!!u,title:`Remove MCP Server`,message:`Are you sure you want to remove "${u}"? This will disconnect all tools provided by this server.`,confirmLabel:`Remove`,destructive:!0,isPending:b,onConfirm:ee,onCancel:()=>f(null)})]})}function Q(){return(0,O.jsx)(Z,{})}export{Q as McpPage};
@@ -1,3 +1,3 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./useQuery-B45lW1Kk.js";import{t as r}from"./useMutation-Lj4VunQV.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./card-BibIM9x3.js";import"./src-BJj2O5XB.js";import{Qt as o}from"./sdk.gen-DtKkd6hs.js";import{G as s,W as c,f as l}from"./react-query.gen-4ZMhZ-fj.js";import{o as u}from"./auth-store-CbVvQiBR.js";import{t as d}from"./client-feature-flag-store-DjN8fxHA.js";import{It as f}from"./index-Cx6vyW7T.js";import{t as p}from"./use-active-assistant-id-BlwRimQH.js";var m=e(t(),1),h=class extends Error{status;constructor(e,t){super(t),this.name=`SimulateMemoryRouterError`,this.status=e}};async function g(e,t,n){let{data:r,response:i}=await o({path:{assistant_id:e},body:t,signal:n,throwOnError:!1}),a=i?await i.clone().text().catch(()=>``):``;if(!i||!i.ok)throw new h(i?.status??0,a||i?.statusText||`Failed to simulate memory router`);if(!r)throw new h(i.status,`Empty response from memory router simulator endpoint`);return{response:r,rawRequest:JSON.stringify(t,null,2),rawResponse:_(a)}}function _(e){if(e.length===0)return e;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}function v(e){return r({mutationFn:async t=>{if(!e)throw new h(0,`Missing assistantId`);return g(e,t)}})}function y(e){return n({...l({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4})}function b(e){return n({...s({path:{assistant_id:e}}),enabled:!!e,staleTime:1440*60*1e3})}function x(e){return n({...c({path:{assistant_id:e}}),enabled:!!e,staleTime:1/0})}var S=i();function C(){let e=f(),t=u(),n=d.use.memoryRouterPlayground();return t?(0,S.jsx)($,{children:`Loading…`}):!e||!n?(0,S.jsx)($,{children:`Memory router playground is not available.`}):(0,S.jsx)(T,{})}var w={tier1:``,tier2:``,batch:``,profile:``,customPrompt:``};function T(){let e=p(),t=v(e),n=v(e),r=y(e),i=b(e),a=x(e),[o,s]=(0,m.useState)(``),[c,l]=(0,m.useState)([{assistantMessage:``,userMessage:``}]),[u,d]=(0,m.useState)(!1);(0,m.useEffect)(()=>{if(u)return;let e=a.data?.nowText;typeof e==`string`&&o===``&&s(e)},[a.data?.nowText,o,u]);let[f,h]=(0,m.useState)(w),[g,_]=(0,m.useState)(w),[C,T]=(0,m.useState)(null),[D,k]=(0,m.useState)(null),j=c[c.length-1].userMessage,M=e=>{let r=e===`A`?f:g,i=e===`A`?T:k,a=e===`A`?t:n;i(null);let s;try{s=E(r)}catch(e){i(e instanceof Error?e.message:`Invalid override input`);return}let l=r.profile.trim().length>0?r.profile:void 0,u=r.customPrompt.trim().length>0?r.customPrompt:void 0,d=c.map((e,t)=>t===c.length-1?{...e,userMessage:e.userMessage.trim()}:e);a.mutate({recentTurnPairs:d,nowText:o,...s?{configOverrides:s}:{},...l===void 0?{}:{profileOverride:l},...u===void 0?{}:{routerPromptOverride:u}})},N=()=>{M(`A`),M(`B`)},P=j.trim().length>0,I=P&&!t.isPending,L=P&&!n.isPending;return(0,S.jsx)(`div`,{className:`flex h-full min-h-0 flex-col overflow-y-auto`,children:(0,S.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[1280px] flex-col gap-6 p-6`,children:[(0,S.jsx)(ee,{}),(0,S.jsx)(O,{nowText:o,onNowTextChange:e=>{d(!0),s(e)},onReloadNowText:()=>{let e=a.data?.nowText;typeof e==`string`&&(s(e),d(!1))},nowTextLoading:a.isLoading,pairs:c,onPairsChange:l}),(0,S.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 lg:grid-cols-2`,children:[(0,S.jsx)(A,{paneId:`A`,overrides:f,onChange:h,onRun:()=>M(`A`),canRun:I,isRunning:t.isPending,profiles:r.data?.profiles??[],activeProfile:r.data?.activeProfile??null,defaultPromptTemplate:i.data?.template??``}),(0,S.jsx)(A,{paneId:`B`,overrides:g,onChange:_,onRun:()=>M(`B`),canRun:L,isRunning:n.isPending,profiles:r.data?.profiles??[],activeProfile:r.data?.activeProfile??null,defaultPromptTemplate:i.data?.template??``})]}),(0,S.jsx)(`div`,{className:`flex justify-end`,children:(0,S.jsx)(te,{onClick:N,disabled:!P||t.isPending||n.isPending,isRunning:t.isPending||n.isPending})}),(0,S.jsx)(ne,{visible:t.data!==void 0&&n.data!==void 0}),(0,S.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 lg:grid-cols-2`,children:[(0,S.jsx)(F,{paneId:`A`,userMessage:j,mutation:t,otherResult:n.data?.response,validation:C}),(0,S.jsx)(F,{paneId:`B`,userMessage:j,mutation:n,otherResult:t.data?.response,validation:D})]})]})})}function E(e){let t={...D(`tier1_size`,e.tier1),...D(`tier2_size`,e.tier2),...D(`batch_size`,e.batch)};return Object.keys(t).length===0?void 0:t}function D(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(`${e} must be a positive integer or 'null' (got "${n}")`);return{[e]:r}}function ee(){return(0,S.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,S.jsx)(`h1`,{className:`text-body-large-default`,style:{color:`var(--content-default)`},children:`Memory Router Playground`}),(0,S.jsxs)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:[`Dry-run the v4 router with custom tier/batch overrides. Read-only — no rows are written to `,(0,S.jsx)(`code`,{children:`memory_v2_injection_events`}),` or`,` `,(0,S.jsx)(`code`,{children:`memory_v2_activation_logs`}),`, and no activation state is mutated. Leave an override blank to inherit the live config value; enter`,` `,(0,S.jsx)(`code`,{children:`null`}),` to explicitly disable a tier.`]})]})}function O({nowText:e,onNowTextChange:t,onReloadNowText:n,nowTextLoading:r,pairs:i,onPairsChange:o}){let s=(e,t)=>{o(i.map((n,r)=>r===e?{...n,...t}:n))},c=()=>{o([{assistantMessage:``,userMessage:``},...i])},l=e=>{e!==i.length-1&&o(i.filter((t,n)=>n!==e))};return(0,S.jsx)(a,{children:(0,S.jsxs)(`div`,{className:`flex flex-col gap-4 p-4`,children:[(0,S.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Conversational context (shared by both panes)`}),(0,S.jsx)(k,{id:`memory-router-playground-now`,label:`<now> block`,value:e,onChange:t,rows:6,monospace:!0,placeholder:r?`Loading current NOW.md…`:`Pre-filled with the live NOW.md. Edit to test alternate states.`,trailing:(0,S.jsx)(`button`,{type:`button`,onClick:n,disabled:r,className:`rounded px-2 py-1 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:r?`not-allowed`:`pointer`},children:`Reload live NOW.md`})}),(0,S.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,S.jsx)(`span`,{className:`text-label-default`,style:{color:`var(--content-secondary)`},children:`Recent (assistant, user) pairs · oldest first`}),(0,S.jsx)(`button`,{type:`button`,onClick:c,className:`rounded px-2 py-1 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:`pointer`},children:`+ Add older pair`})]}),i.map((e,t)=>{let n=t===i.length-1;return(0,S.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-md border p-3`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`},children:[(0,S.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,S.jsxs)(`span`,{className:`text-label-default`,style:{color:`var(--content-secondary)`},children:[`Pair `,t+1,` of `,i.length,n?` · most recent`:``]}),!n&&(0,S.jsx)(`button`,{type:`button`,onClick:()=>l(t),className:`rounded px-2 py-1 text-label-default`,style:{background:`transparent`,color:`var(--system-negative-strong)`,border:`none`,cursor:`pointer`},children:`Remove`})]}),(0,S.jsx)(k,{id:`memory-router-playground-pair-${t}-assistant`,label:`[assistant]: reply`,value:e.assistantMessage,onChange:e=>s(t,{assistantMessage:e}),rows:3,placeholder:t===0&&i.length===1?`Leave blank for a first-turn scenario.`:`Assistant's reply that came before the user message below.`}),(0,S.jsx)(k,{id:`memory-router-playground-pair-${t}-user`,label:n?`Just-arrived [user]: message`:`[user]: message`,value:e.userMessage,onChange:e=>s(t,{userMessage:e}),rows:3,placeholder:n?`e.g. what should we ship next`:`User's message.`,required:n})]},t)})]})})}function k({id:e,label:t,value:n,onChange:r,rows:i,placeholder:a,monospace:o,trailing:s,required:c}){return(0,S.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,S.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,S.jsxs)(`label`,{htmlFor:e,className:`text-label-default`,style:{color:`var(--content-secondary)`},children:[t,c?` *`:``]}),s]}),(0,S.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 A({paneId:e,overrides:t,onChange:n,onRun:r,canRun:i,isRunning:o,profiles:s,activeProfile:c,defaultPromptTemplate:l}){return(0,S.jsx)(a,{children:(0,S.jsxs)(`div`,{className:`flex flex-col gap-4 p-4`,children:[(0,S.jsxs)(`div`,{className:`text-body-medium-default`,style:{color:q(e)},children:[`Config `,e]}),(0,S.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-3`,children:[(0,S.jsx)(N,{paneId:e,label:`tier1_size`,value:t.tier1,onChange:e=>n({...t,tier1:e})}),(0,S.jsx)(N,{paneId:e,label:`tier2_size`,value:t.tier2,onChange:e=>n({...t,tier2:e})}),(0,S.jsx)(N,{paneId:e,label:`batch_size`,value:t.batch,onChange:e=>n({...t,batch:e})})]}),(0,S.jsx)(M,{paneId:e,value:t.profile,onChange:e=>n({...t,profile:e}),profiles:s,activeProfile:c}),(0,S.jsx)(j,{paneId:e,value:t.customPrompt,onChange:e=>n({...t,customPrompt:e}),defaultTemplate:l}),(0,S.jsx)(`div`,{className:`flex justify-end`,children:(0,S.jsx)(`button`,{type:`button`,onClick:r,disabled:!i,className:`rounded-md px-4 py-2 text-body-medium-default transition-colors`,style:{background:i?`var(--system-positive-strong)`:`var(--surface-overlay)`,color:i?`var(--content-on-positive)`:`var(--content-disabled)`,border:`none`,cursor:i?`pointer`:`not-allowed`},children:o?`Running…`:`Run ${e}`})})]})})}function j({paneId:e,value:t,onChange:n,defaultTemplate:r}){let[i,a]=(0,m.useState)(!1),o=`memory-router-playground-${e}-prompt`,s=t.trim().length>0;return(0,S.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,S.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,S.jsxs)(`button`,{type:`button`,onClick:()=>a(e=>!e),className:`text-label-default`,style:{color:`var(--content-secondary)`,background:`transparent`,border:`none`,padding:0,cursor:`pointer`,textAlign:`left`},children:[i?`▾`:`▸`,` System prompt`,` `,(0,S.jsxs)(`span`,{style:{color:`var(--content-tertiary)`},children:[`(`,s?`custom`:`bundled`,`)`]})]}),i&&(0,S.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,S.jsx)(`button`,{type:`button`,onClick:()=>n(r),disabled:r.length===0,className:`rounded px-2 py-1 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:r.length===0?`not-allowed`:`pointer`},children:`Load default`}),(0,S.jsx)(`button`,{type:`button`,onClick:()=>n(``),disabled:!s,className:`rounded px-2 py-1 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:s?`pointer`:`not-allowed`},children:`Reset`})]})]}),i&&(0,S.jsx)(`textarea`,{id:o,value:t,onChange:e=>n(e.target.value),rows:12,placeholder:`Custom router system prompt. Available placeholders:
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./useQuery-B45lW1Kk.js";import{t as r}from"./useMutation-Lj4VunQV.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./card-BibIM9x3.js";import"./src-BJj2O5XB.js";import{Qt as o}from"./sdk.gen-D4xWFnu5.js";import{G as s,W as c,f as l}from"./react-query.gen-DeL3wFEA.js";import{o as u}from"./auth-store-C7FE9LLc.js";import{t as d}from"./client-feature-flag-store-9mwvhzvF.js";import{Ut as f}from"./index-C1jO2jSf.js";import{t as p}from"./use-active-assistant-id-CuamPYIw.js";var m=e(t(),1),h=class extends Error{status;constructor(e,t){super(t),this.name=`SimulateMemoryRouterError`,this.status=e}};async function g(e,t,n){let{data:r,response:i}=await o({path:{assistant_id:e},body:t,signal:n,throwOnError:!1}),a=i?await i.clone().text().catch(()=>``):``;if(!i||!i.ok)throw new h(i?.status??0,a||i?.statusText||`Failed to simulate memory router`);if(!r)throw new h(i.status,`Empty response from memory router simulator endpoint`);return{response:r,rawRequest:JSON.stringify(t,null,2),rawResponse:_(a)}}function _(e){if(e.length===0)return e;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}function v(e){return r({mutationFn:async t=>{if(!e)throw new h(0,`Missing assistantId`);return g(e,t)}})}function y(e){return n({...l({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4})}function b(e){return n({...s({path:{assistant_id:e}}),enabled:!!e,staleTime:1440*60*1e3})}function x(e){return n({...c({path:{assistant_id:e}}),enabled:!!e,staleTime:1/0})}var S=i();function C(){let e=f(),t=u(),n=d.use.memoryRouterPlayground();return t?(0,S.jsx)($,{children:`Loading…`}):!e||!n?(0,S.jsx)($,{children:`Memory router playground is not available.`}):(0,S.jsx)(T,{})}var w={tier1:``,tier2:``,batch:``,profile:``,customPrompt:``};function T(){let e=p(),t=v(e),n=v(e),r=y(e),i=b(e),a=x(e),[o,s]=(0,m.useState)(``),[c,l]=(0,m.useState)([{assistantMessage:``,userMessage:``}]),[u,d]=(0,m.useState)(!1);(0,m.useEffect)(()=>{if(u)return;let e=a.data?.nowText;typeof e==`string`&&o===``&&s(e)},[a.data?.nowText,o,u]);let[f,h]=(0,m.useState)(w),[g,_]=(0,m.useState)(w),[C,T]=(0,m.useState)(null),[D,k]=(0,m.useState)(null),j=c[c.length-1].userMessage,M=e=>{let r=e===`A`?f:g,i=e===`A`?T:k,a=e===`A`?t:n;i(null);let s;try{s=E(r)}catch(e){i(e instanceof Error?e.message:`Invalid override input`);return}let l=r.profile.trim().length>0?r.profile:void 0,u=r.customPrompt.trim().length>0?r.customPrompt:void 0,d=c.map((e,t)=>t===c.length-1?{...e,userMessage:e.userMessage.trim()}:e);a.mutate({recentTurnPairs:d,nowText:o,...s?{configOverrides:s}:{},...l===void 0?{}:{profileOverride:l},...u===void 0?{}:{routerPromptOverride:u}})},N=()=>{M(`A`),M(`B`)},P=j.trim().length>0,I=P&&!t.isPending,L=P&&!n.isPending;return(0,S.jsx)(`div`,{className:`flex h-full min-h-0 flex-col overflow-y-auto`,children:(0,S.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[1280px] flex-col gap-6 p-6`,children:[(0,S.jsx)(ee,{}),(0,S.jsx)(O,{nowText:o,onNowTextChange:e=>{d(!0),s(e)},onReloadNowText:()=>{let e=a.data?.nowText;typeof e==`string`&&(s(e),d(!1))},nowTextLoading:a.isLoading,pairs:c,onPairsChange:l}),(0,S.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 lg:grid-cols-2`,children:[(0,S.jsx)(A,{paneId:`A`,overrides:f,onChange:h,onRun:()=>M(`A`),canRun:I,isRunning:t.isPending,profiles:r.data?.profiles??[],activeProfile:r.data?.activeProfile??null,defaultPromptTemplate:i.data?.template??``}),(0,S.jsx)(A,{paneId:`B`,overrides:g,onChange:_,onRun:()=>M(`B`),canRun:L,isRunning:n.isPending,profiles:r.data?.profiles??[],activeProfile:r.data?.activeProfile??null,defaultPromptTemplate:i.data?.template??``})]}),(0,S.jsx)(`div`,{className:`flex justify-end`,children:(0,S.jsx)(te,{onClick:N,disabled:!P||t.isPending||n.isPending,isRunning:t.isPending||n.isPending})}),(0,S.jsx)(ne,{visible:t.data!==void 0&&n.data!==void 0}),(0,S.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 lg:grid-cols-2`,children:[(0,S.jsx)(F,{paneId:`A`,userMessage:j,mutation:t,otherResult:n.data?.response,validation:C}),(0,S.jsx)(F,{paneId:`B`,userMessage:j,mutation:n,otherResult:t.data?.response,validation:D})]})]})})}function E(e){let t={...D(`tier1_size`,e.tier1),...D(`tier2_size`,e.tier2),...D(`batch_size`,e.batch)};return Object.keys(t).length===0?void 0:t}function D(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(`${e} must be a positive integer or 'null' (got "${n}")`);return{[e]:r}}function ee(){return(0,S.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,S.jsx)(`h1`,{className:`text-body-large-default`,style:{color:`var(--content-default)`},children:`Memory Router Playground`}),(0,S.jsxs)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:[`Dry-run the v4 router with custom tier/batch overrides. Read-only — no rows are written to `,(0,S.jsx)(`code`,{children:`memory_v2_injection_events`}),` or`,` `,(0,S.jsx)(`code`,{children:`memory_v2_activation_logs`}),`, and no activation state is mutated. Leave an override blank to inherit the live config value; enter`,` `,(0,S.jsx)(`code`,{children:`null`}),` to explicitly disable a tier.`]})]})}function O({nowText:e,onNowTextChange:t,onReloadNowText:n,nowTextLoading:r,pairs:i,onPairsChange:o}){let s=(e,t)=>{o(i.map((n,r)=>r===e?{...n,...t}:n))},c=()=>{o([{assistantMessage:``,userMessage:``},...i])},l=e=>{e!==i.length-1&&o(i.filter((t,n)=>n!==e))};return(0,S.jsx)(a,{children:(0,S.jsxs)(`div`,{className:`flex flex-col gap-4 p-4`,children:[(0,S.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Conversational context (shared by both panes)`}),(0,S.jsx)(k,{id:`memory-router-playground-now`,label:`<now> block`,value:e,onChange:t,rows:6,monospace:!0,placeholder:r?`Loading current NOW.md…`:`Pre-filled with the live NOW.md. Edit to test alternate states.`,trailing:(0,S.jsx)(`button`,{type:`button`,onClick:n,disabled:r,className:`rounded px-2 py-1 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:r?`not-allowed`:`pointer`},children:`Reload live NOW.md`})}),(0,S.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,S.jsx)(`span`,{className:`text-label-default`,style:{color:`var(--content-secondary)`},children:`Recent (assistant, user) pairs · oldest first`}),(0,S.jsx)(`button`,{type:`button`,onClick:c,className:`rounded px-2 py-1 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:`pointer`},children:`+ Add older pair`})]}),i.map((e,t)=>{let n=t===i.length-1;return(0,S.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-md border p-3`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`},children:[(0,S.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,S.jsxs)(`span`,{className:`text-label-default`,style:{color:`var(--content-secondary)`},children:[`Pair `,t+1,` of `,i.length,n?` · most recent`:``]}),!n&&(0,S.jsx)(`button`,{type:`button`,onClick:()=>l(t),className:`rounded px-2 py-1 text-label-default`,style:{background:`transparent`,color:`var(--system-negative-strong)`,border:`none`,cursor:`pointer`},children:`Remove`})]}),(0,S.jsx)(k,{id:`memory-router-playground-pair-${t}-assistant`,label:`[assistant]: reply`,value:e.assistantMessage,onChange:e=>s(t,{assistantMessage:e}),rows:3,placeholder:t===0&&i.length===1?`Leave blank for a first-turn scenario.`:`Assistant's reply that came before the user message below.`}),(0,S.jsx)(k,{id:`memory-router-playground-pair-${t}-user`,label:n?`Just-arrived [user]: message`:`[user]: message`,value:e.userMessage,onChange:e=>s(t,{userMessage:e}),rows:3,placeholder:n?`e.g. what should we ship next`:`User's message.`,required:n})]},t)})]})})}function k({id:e,label:t,value:n,onChange:r,rows:i,placeholder:a,monospace:o,trailing:s,required:c}){return(0,S.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,S.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,S.jsxs)(`label`,{htmlFor:e,className:`text-label-default`,style:{color:`var(--content-secondary)`},children:[t,c?` *`:``]}),s]}),(0,S.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 A({paneId:e,overrides:t,onChange:n,onRun:r,canRun:i,isRunning:o,profiles:s,activeProfile:c,defaultPromptTemplate:l}){return(0,S.jsx)(a,{children:(0,S.jsxs)(`div`,{className:`flex flex-col gap-4 p-4`,children:[(0,S.jsxs)(`div`,{className:`text-body-medium-default`,style:{color:q(e)},children:[`Config `,e]}),(0,S.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-3`,children:[(0,S.jsx)(N,{paneId:e,label:`tier1_size`,value:t.tier1,onChange:e=>n({...t,tier1:e})}),(0,S.jsx)(N,{paneId:e,label:`tier2_size`,value:t.tier2,onChange:e=>n({...t,tier2:e})}),(0,S.jsx)(N,{paneId:e,label:`batch_size`,value:t.batch,onChange:e=>n({...t,batch:e})})]}),(0,S.jsx)(M,{paneId:e,value:t.profile,onChange:e=>n({...t,profile:e}),profiles:s,activeProfile:c}),(0,S.jsx)(j,{paneId:e,value:t.customPrompt,onChange:e=>n({...t,customPrompt:e}),defaultTemplate:l}),(0,S.jsx)(`div`,{className:`flex justify-end`,children:(0,S.jsx)(`button`,{type:`button`,onClick:r,disabled:!i,className:`rounded-md px-4 py-2 text-body-medium-default transition-colors`,style:{background:i?`var(--system-positive-strong)`:`var(--surface-overlay)`,color:i?`var(--content-on-positive)`:`var(--content-disabled)`,border:`none`,cursor:i?`pointer`:`not-allowed`},children:o?`Running…`:`Run ${e}`})})]})})}function j({paneId:e,value:t,onChange:n,defaultTemplate:r}){let[i,a]=(0,m.useState)(!1),o=`memory-router-playground-${e}-prompt`,s=t.trim().length>0;return(0,S.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,S.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,S.jsxs)(`button`,{type:`button`,onClick:()=>a(e=>!e),className:`text-label-default`,style:{color:`var(--content-secondary)`,background:`transparent`,border:`none`,padding:0,cursor:`pointer`,textAlign:`left`},children:[i?`▾`:`▸`,` System prompt`,` `,(0,S.jsxs)(`span`,{style:{color:`var(--content-tertiary)`},children:[`(`,s?`custom`:`bundled`,`)`]})]}),i&&(0,S.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,S.jsx)(`button`,{type:`button`,onClick:()=>n(r),disabled:r.length===0,className:`rounded px-2 py-1 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:r.length===0?`not-allowed`:`pointer`},children:`Load default`}),(0,S.jsx)(`button`,{type:`button`,onClick:()=>n(``),disabled:!s,className:`rounded px-2 py-1 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:s?`pointer`:`not-allowed`},children:`Reset`})]})]}),i&&(0,S.jsx)(`textarea`,{id:o,value:t,onChange:e=>n(e.target.value),rows:12,placeholder:`Custom router system prompt. Available placeholders:
2
2
  {{ASSISTANT_NAME}}, {{USER_NAME}}, {{PAGE_INDEX}}
3
3
  Leave blank to use the bundled template. "Load default" seeds the textarea with the bundled body for editing.`,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 M({paneId:e,value:t,onChange:n,profiles:r,activeProfile:i}){let a=`memory-router-playground-${e}-profile`,o=i!==null&&i.length>0?`inherit active (${i})`:`inherit active`;return(0,S.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,S.jsx)(`label`,{htmlFor:a,className:`text-label-default`,style:{color:`var(--content-secondary)`},children:`llm.profiles override`}),(0,S.jsxs)(`select`,{id:a,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,S.jsx)(`option`,{value:``,children:o}),r.map(e=>(0,S.jsx)(`option`,{value:e,children:e},e))]})]})}function N({paneId:e,label:t,value:n,onChange:r}){let i=`memory-router-playground-${e}-${t}`;return(0,S.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,S.jsx)(`label`,{htmlFor:i,className:`text-label-default`,style:{color:`var(--content-secondary)`},children:t}),(0,S.jsx)(`input`,{id:i,value:n,onChange:e=>r(e.target.value),placeholder:`inherit`,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}){return(0,S.jsx)(`button`,{type:`button`,onClick:e,disabled:t,className:`rounded-md px-4 py-2 text-body-medium-default transition-colors`,style:{background:t?`var(--surface-overlay)`:`var(--primary-base)`,color:t?`var(--content-disabled)`:`var(--content-on-primary)`,border:`none`,cursor:t?`not-allowed`:`pointer`},children:n?`Running…`:`Run both`})}function ne({visible:e}){return e?(0,S.jsxs)(`div`,{className:`flex flex-wrap items-center gap-4 rounded-md px-4 py-2 text-label-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`},children:[(0,S.jsx)(P,{marker:`●`,markerColor:`var(--content-default)`,label:`in both`}),(0,S.jsx)(P,{marker:`◆`,markerColor:q(`A`),label:`A only`}),(0,S.jsx)(P,{marker:`◇`,markerColor:q(`B`),label:`B only`})]}):null}function P({marker:e,markerColor:t,label:n}){return(0,S.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,S.jsx)(`span`,{style:{color:t},children:e}),(0,S.jsx)(`span`,{children:n})]})}function F({paneId:e,userMessage:t,mutation:n,otherResult:r,validation:i}){let a=n.data;return(0,S.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,S.jsx)(R,{paneId:e}),i!==null&&(0,S.jsx)(Q,{message:i}),n.isError&&(0,S.jsx)(Q,{message:n.error instanceof Error?n.error.message:`Failed to run simulation`}),a!==void 0&&(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(z,{paneId:e,userMessage:t,result:a.response,otherResult:r}),(0,S.jsx)(I,{paneId:e,rawRequest:a.rawRequest,rawResponse:a.rawResponse})]})]})}function I({paneId:e,rawRequest:t,rawResponse:n}){let[r,i]=(0,m.useState)(!1);return(0,S.jsx)(a,{children:(0,S.jsxs)(`div`,{className:`flex flex-col gap-2 p-4`,children:[(0,S.jsxs)(`button`,{type:`button`,onClick:()=>i(e=>!e),className:`text-label-default`,style:{color:`var(--content-secondary)`,background:`transparent`,border:`none`,padding:0,cursor:`pointer`,textAlign:`left`},children:[r?`▾`:`▸`,` Raw API exchange`]}),r&&(0,S.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,S.jsx)(L,{label:`Request (Pane ${e})`,body:t}),(0,S.jsx)(L,{label:`Response (Pane ${e})`,body:n})]})]})})}function L({label:e,body:t}){return(0,S.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,S.jsx)(`span`,{className:`text-label-default`,style:{color:`var(--content-secondary)`},children:e}),(0,S.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?`(empty)`:t})]})}function R({paneId:e}){return(0,S.jsxs)(`div`,{className:`text-body-medium-default`,style:{color:q(e)},children:[`Pane `,e]})}function z({paneId:e,userMessage:t,result:n,otherResult:r}){let i=(0,m.useMemo)(()=>B(n,r),[n,r]),a=(0,m.useMemo)(()=>W(n),[n]);return(0,S.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,S.jsx)(H,{result:n,userMessage:t,otherResult:r,counts:(0,m.useMemo)(()=>V(i),[i])}),(0,S.jsx)(U,{result:n}),n.failureReason!==null&&(0,S.jsx)(Q,{message:`Router failure: ${n.failureReason}`}),a.length===0?(0,S.jsx)(X,{}):a.map(t=>(0,S.jsx)(Y,{paneId:e,source:t.source,slugs:t.slugs,scores:n.scores,diff:i},t.source))]})}function B(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 V(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 H({result:e,userMessage:t,otherResult:n,counts:r}){let i=[{label:`User message`,value:t},{label:`Total candidate pages`,value:e.totalCandidatePages.toLocaleString()},{label:`Selected`,value:`${e.selectedSlugs.length} (live max_page_ids: ${e.effectiveConfig.max_page_ids})`}];return n!==void 0&&i.push({label:`Diff`,value:`${r.shared} shared · ${r.unique} unique to this pane`}),(0,S.jsx)(a,{children:(0,S.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,S.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Summary`}),(0,S.jsx)(Z,{rows:i})]})})}function U({result:e}){let t=[`tier1_size`,`tier2_size`,`batch_size`,`max_page_ids`].map(t=>{let n=e.effectiveConfig[t],r=e.overrides[t];return{label:t,value:`${n===null?`null`:String(n)}${r===void 0?``:` (override)`}`}});return t.push({label:`llm.profiles override`,value:e.profileOverride===null?`inherit active`:`${e.profileOverride} (override)`}),t.push({label:`system prompt`,value:e.routerPromptOverridden?`custom`:`bundled`}),(0,S.jsx)(a,{children:(0,S.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,S.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Effective config`}),(0,S.jsx)(Z,{rows:t})]})})}function W(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)=>G(e)-G(t)).map(e=>({source:e,slugs:t.get(e)}))}function G(e){return e===`tier1`?0:e===`tier2`?1:e.startsWith(`tier3:`)?2+Number(e.slice(6)):2**53-1}function K(e){return e===`tier1`?`tier 1`:e===`tier2`?`tier 2`:e.startsWith(`tier3:`)?`tier 3 · b${e.slice(6)}`:e}function q(e){return e===`A`?`var(--system-mid-strong)`:`var(--primary-base)`}function J(e,t){return t===`both`?{color:`var(--content-default)`,marker:`●`}:{color:q(e),marker:e===`A`?`◆`:`◇`}}function Y({paneId:e,source:t,slugs:n,scores:r,diff:i}){return(0,S.jsx)(a,{children:(0,S.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,S.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,S.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:K(t)}),(0,S.jsxs)(`span`,{className:`text-label-default`,style:{color:`var(--content-secondary)`},children:[n.length,` `,n.length===1?`page`:`pages`]})]}),(0,S.jsx)(`ul`,{className:`flex flex-col gap-1`,children:n.map(n=>{let{color:a,marker:o}=J(e,i.get(n)??`only-here`);return(0,S.jsxs)(`li`,{className:`flex items-baseline justify-between gap-3`,children:[(0,S.jsxs)(`span`,{className:`flex items-baseline gap-2`,children:[(0,S.jsx)(`span`,{style:{color:a},children:o}),(0,S.jsx)(`code`,{className:`text-body-medium-default`,style:{color:a},children:n})]}),t===`tier2`&&(0,S.jsxs)(`span`,{className:`tabular-nums text-label-default`,style:{color:`var(--content-secondary)`},children:[`EMA `,(r[n]??0).toFixed(3)]})]},n)})})]})})}function X(){return(0,S.jsx)(a,{children:(0,S.jsxs)(`div`,{className:`flex flex-col gap-2 p-4`,children:[(0,S.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`No pages selected`}),(0,S.jsx)(`span`,{className:`text-label-default`,style:{color:`var(--content-secondary)`},children:`The router returned an empty selection. Try a more specific query, or relax the override values.`})]})})}function Z({rows:e}){return(0,S.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.map(({label:e,value:t})=>(0,S.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3`,children:[(0,S.jsx)(`span`,{className:`shrink-0 text-label-default`,style:{color:`var(--content-secondary)`},children:e}),(0,S.jsx)(`span`,{className:`text-right text-body-medium-lighter`,style:{color:`var(--content-default)`},children:t})]},e))})}function Q({message:e}){return(0,S.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,S.jsx)(`div`,{className:`flex h-full w-full items-center justify-center p-8 text-label-default`,style:{color:`var(--content-tertiary)`},children:e})}export{C as MemoryRouterPlaygroundPage};
@@ -0,0 +1,13 @@
1
+ import{t as e}from"./capture-error-BaKOqBjF.js";import{en as t,mr as n,nn as r,rn as i,tn as a,u as o,ur as s}from"./sdk.gen-D4xWFnu5.js";import{n as c,r as l}from"./api-errors-B-g6gvNv.js";import{t as u}from"./assistant-identity-store-ADxStqSC.js";import{r as d,t as f}from"./semver-DpUibCte.js";import{a as p,s as m}from"./prechat-CHU0E2N5.js";import{t as h}from"./effective-timezone-DAkNzd21.js";var g=/^\[File attachment\] (.+?), type=([^,\n]+?)(?:, size=([^\n]+))?$/,_=/^([\d.]+)\s*(B|KB|MB|GB)$/;function v(e){let t=_.exec(e.trim());if(!t)return 0;let n=Number.parseFloat(t[1]);if(!Number.isFinite(n))return 0;switch(t[2]){case`B`:return Math.round(n);case`KB`:return Math.round(n*1024);case`MB`:return Math.round(n*1024*1024);case`GB`:return Math.round(n*1024*1024*1024);default:return 0}}function y(e){let t=e.indexOf(`[File attachment] `);if(t<0||!(t===0||e[t-1]===`
2
+ `))return{cleanedContent:e,attachments:void 0};let n=t>0&&e[t-1]===`
3
+ `?e.slice(0,t-1):e.slice(0,t),r=[];for(let n of e.slice(t).split(`
4
+ `)){let e=g.exec(n);if(!e)continue;let[,t,i,a]=e;r.push({id:`rehydrated:${r.length}`,filename:t,mimeType:i,sizeBytes:a?v(a):0,previewUrl:null})}return{cleanedContent:n,attachments:r.length>0?r:void 0}}var b=[`users/guardian.md`,`users/default.md`],x=`## Onboarding Context`;function S(e){let t=[x,``];return e.preferredName&&t.push(`- **Preferred name:** ${e.preferredName}`),e.occupation&&t.push(`- **Role:** ${e.occupation}`),e.commonWork.length>0&&t.push(`- **Common work:** ${e.commonWork.join(`; `)}`),e.dailyTools.length>0&&t.push(`- **Daily tools:** ${e.dailyTools.join(`, `)}`),t.push(``),t.join(`
5
+ `)}function C(e,t){let n=e??`# User Profile
6
+
7
+ `,r=n.indexOf(x);if(r!==-1){let e=n.indexOf(`
8
+ `,r),i=e===-1?``:n.slice(e+1),a=i.match(/^## /m),o=n.slice(0,r),s=a?i.slice(a.index):``;return o+t+s}return n.endsWith(`
9
+ `)||(n+=`
10
+ `),n.endsWith(`
11
+
12
+ `)||(n+=`
13
+ `),n+t}async function w(e,t){let{data:n,error:r,response:i}=await s({path:{assistant_id:e},query:{path:t},throwOnError:!1});if(c(i,r,`Failed to fetch onboarding profile file`),i.status===404)return null;if(!i.ok)throw Error(`Failed to fetch onboarding profile file (${i.status})`);if(n?.isBinary)throw Error(`Onboarding profile file is binary`);return typeof n?.content==`string`?n.content:null}async function T(e,t,r){let{error:i,response:a}=await n({path:{assistant_id:e},body:{path:t,content:r},throwOnError:!1});if(c(a,i,`Failed to write onboarding profile file`),!a.ok)throw Error(`Failed to write onboarding profile file (${a.status})`)}async function E(e,t,n){await T(e,t,C(await w(e,t),n))}async function D(e,t){let n=S(m(t));await Promise.allSettled(b.map(t=>E(e,t,n)))}function O(e){return e.map(e=>{let t=null;return e.data?t=`data:${e.mimeType};base64,${e.data}`:e.thumbnailData&&(t=`data:image/jpeg;base64,${e.thumbnailData}`),{id:e.id,filename:e.filename,mimeType:e.mimeType,sizeBytes:e.sizeBytes,previewUrl:t}})}function k(e){return e===`inline`||e===`panel`?e:void 0}function A(e){return{surfaceId:e.surfaceId,surfaceType:e.surfaceType,title:e.title,data:e.data,actions:e.actions,display:k(e.display),completed:e.completed,completionSummary:e.completionSummary,toolCallId:e.toolCallId}}function j(e){return e.map(A)}function M(e){if(typeof e==`number`)return e;if(typeof e==`string`){let t=new Date(e).getTime();return Number.isFinite(t)?t:void 0}}function N(e){if(!e||e.length===0)return{segments:void 0,attachments:void 0};let t=[];return{segments:e.map(e=>{let{cleanedContent:n,attachments:r}=y(e);return r&&t.push(...r),n}),attachments:t.length>0?t.map((e,t)=>({...e,id:`rehydrated:${t}`})):void 0}}function P(e){let{segments:t,attachments:n}=N(e.textSegments&&e.textSegments.length>0?e.textSegments:void 0),r=e.attachments&&e.attachments.length>0?O(e.attachments):void 0,i=H(e.contentOrder),a=U(e),o=e.toolCalls&&e.toolCalls.length>0?B(e.toolCalls,e.id):void 0,s=M(e.timestamp),c=e.thinkingSegments&&e.thinkingSegments.length>0?e.thinkingSegments:void 0,l={id:e.id,role:e.role};e.mergedMessageIds?.length&&(l.mergedMessageIds=e.mergedMessageIds),e.clientMessageId&&(l.clientMessageId=e.clientMessageId),e.surfaces&&(l.surfaces=j(e.surfaces)),a&&(l.contentBlocks=a),t&&(l.textSegments=t),i&&(l.contentOrder=i),c&&(l.thinkingSegments=c),e.subagentNotification&&(l.isSubagentNotification=!0),e.slackMessage&&(l.slackMessage=e.slackMessage),o&&(l.toolCalls=o),s!=null&&(l.timestamp=s);let u=r??n;return u&&(l.attachments=u),l}var F=`0.8.6`;function I(){let e=u.getState().version;if(!e)return`conversationKey`;let t=d(e),n=d(F);return!t||!n?`conversationKey`:f({...t,pre:null},n)>=0?`conversationId`:`conversationKey`}var L=1e3,R=12e4;async function z(e,n,r){let i=Date.now()+R;for(;Date.now()<i;){let{data:i,error:a,response:o}=await t({path:{assistant_id:e},query:{conversationId:r},throwOnError:!1});if(c(o,a,`Failed to poll for messages`),!o.ok){let e=l(a,o,`Failed to poll for messages`);throw Error(e)}let s=i?.messages??[],u=s.findIndex(e=>e.id===n);if(u>=0){let e=s.slice(u+1).find(e=>e.role===`assistant`);if(e)return e}await new Promise(e=>setTimeout(e,L))}return null}function B(e,t){return e.map((e,n)=>{let{confirmationDecision:r,...i}=e;return{...i,id:e.id??`tool-history-${t}-${n}`,...r===void 0?{}:{confirmationDecision:r}}})}function V(e){if(e&&typeof e==`object`&&!Array.isArray(e)){let t=e;if(typeof t.type==`string`&&typeof t.id==`string`)return{type:t.type,id:t.id}}if(typeof e==`string`){let t=e.indexOf(`:`);if(t>0)return{type:e.slice(0,t),id:e.slice(t+1)}}return null}function H(e){if(!e||e.length===0)return;let t=[];for(let n of e){let e=V(n);e&&t.push(e)}return t.length>0?t:void 0}function U(e){if(e.contentBlocks!==void 0)return e.contentBlocks;let t=H(e.contentOrder);if(!t)return;let n=[];for(let{type:r,id:i}of t){let t=Number.parseInt(i,10);if(!Number.isNaN(t))switch(r){case`text`:{let r=e.textSegments?.[t];if(r==null)break;let{cleanedContent:i}=y(r);i.trim().length>0&&n.push({type:`text`,text:i});break}case`thinking`:{let r=e.thinkingSegments?.[t];r!=null&&n.push({type:`thinking`,thinking:r});break}case`tool`:case`toolCall`:{let r=e.toolCalls?.[t];r&&n.push({type:`tool_use`,toolCall:{...r,id:r.id??`tool-history-${e.id}-${t}`}});break}case`surface`:{let r=e.surfaces?.[t];r&&n.push({type:`surface`,surface:r});break}case`attachment`:{let r=e.attachments[t];r&&n.push({type:`attachment`,attachment:r});break}}}return n.length>0?n:void 0}async function W(e,n){let{data:r,error:i,response:a}=await t({path:{assistant_id:e},query:{conversationId:n},throwOnError:!1});if(c(a,i,`Failed to fetch conversation messages`),!a.ok)throw Error(`Failed to fetch conversation messages (HTTP ${a.status})`);return r}async function G(e,t){let n=t.name||`attachment`,r=t.type||`application/octet-stream`,{data:i,error:a,response:s}=await o({path:{assistant_id:e},body:{file:t,filename:n,mimeType:r},throwOnError:!1});if(c(s,a,`Failed to upload attachment`),!s.ok){let e=a&&typeof a==`object`&&!Array.isArray(a)?a:{},t=(typeof e.detail==`string`?e.detail:void 0)??(typeof e.error==`string`?e.error:void 0)??`HTTP ${s.status}`;return{ok:!1,status:s.status,error:{detail:t}}}let l=i?.id;return l?{ok:!0,id:l}:{ok:!1,status:422,error:{detail:`Upload response did not include an attachment id.`}}}async function K(t,n,r,i=[],o,s,l){let u={content:r,sourceChannel:`vellum`,interface:`vellum`},d=h();d&&(u.clientTimezone=d);let f=I();(n!==null||f!==`conversationId`)&&(u[f]=n),i.length>0&&(u.attachmentIds=i),s&&(u.clientMessageId=s),l&&(u.inferenceProfile=l);let m=o?p(o):void 0;if(m){let e={tools:m.tools,tasks:m.tasks,tone:m.tone};m.userName!==void 0&&(e.userName=m.userName),m.occupation!==void 0&&(e.occupation=m.occupation),m.assistantName!==void 0&&(e.assistantName=m.assistantName),m.googleConnected!==void 0&&(e.googleConnected=m.googleConnected),m.googleScopes!==void 0&&(e.googleScopes=m.googleScopes),m.priorAssistants!==void 0&&(e.priorAssistants=m.priorAssistants),m.cohort!==void 0&&(e.cohort=m.cohort),m.bootstrapTemplate!==void 0&&(e.bootstrapTemplate=m.bootstrapTemplate),m.initialMessage!==void 0&&m.initialMessage.trim().toLowerCase().replace(/[.!?]+$/,``)!==`wake up, my friend`&&(e.initialMessage=m.initialMessage),m.skills!==void 0&&(e.skills=m.skills),m.title!==void 0&&(e.title=m.title),u.onboarding=e}m&&D(t,m).catch(t=>e(t,{context:`persistPreChatOnboardingProfile`}));let{data:g,error:_,response:v}=await a({path:{assistant_id:t},body:u,throwOnError:!1});if(c(v,_,`Failed to send chat message`),!v.ok){let e=_&&typeof _==`object`&&!Array.isArray(_)?_:{},t=e.error&&typeof e.error==`object`&&!Array.isArray(e.error)?e.error:{};return{ok:!1,status:v.status,error:{code:typeof e.code==`string`?e.code:typeof t.code==`string`?t.code:typeof e.error==`string`?e.error:void 0,detail:(typeof e.detail==`string`?e.detail:void 0)??(typeof e.message==`string`?e.message:void 0)??(typeof t.message==`string`?t.message:void 0)??`HTTP ${v.status}`}}}let y=g;if(!y?.accepted)return{ok:!1,status:422,error:{detail:`Message was not accepted by the assistant.`}};let b=typeof y.conversationId==`string`?y.conversationId:void 0;return b===void 0?{ok:!1,status:422,error:{detail:`Assistant accepted the message but did not return a conversation id.`}}:y.queued?{ok:!0,queued:!0,assistantId:t,conversationId:b,requestId:typeof y.requestId==`string`?y.requestId:void 0}:typeof y.messageId==`string`?{ok:!0,assistantId:t,conversationId:b,messageId:y.messageId}:{ok:!1,status:422,error:{detail:`Message was not accepted by the assistant.`}}}async function q(e,t,n){try{let{response:r}=await i({path:{assistant_id:e,id:n},query:{conversationId:t},throwOnError:!1});return r?.ok??!1}catch{return!1}}async function J(e,t,n){try{let{response:i}=await r({path:{assistant_id:e,id:n},query:{conversationId:t},throwOnError:!1});return i?.ok??!1}catch{return!1}}export{K as a,P as c,z as i,A as l,W as n,q as o,U as r,G as s,J as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./typography-BscuIPxA.js";import"./src-BJj2O5XB.js";import{t as i}from"./createLucideIcon-BlMXrA59.js";import{t as a}from"./use-reduced-motion-DgX4o6QR.js";var o=i(`arrow-up-from-line`,[[`path`,{d:`m18 9-6-6-6 6`,key:`kcunyi`}],[`path`,{d:`M12 3v14`,key:`7cf3v8`}],[`path`,{d:`M5 21h14`,key:`11awu3`}]]),s=e(t(),1),c=n();function l(e){if(e>=1e6){let t=e/1e6;return`${t%1==0?t.toFixed(0):t.toFixed(1)}M`}if(e>=1e3){let t=e/1e3;return`${t%1==0?t.toFixed(0):t.toFixed(1)}K`}return e.toLocaleString()}function u(e){let t=a(),[n,r]=(0,s.useState)(e),i=(0,s.useRef)(e),o=(0,s.useRef)(e),c=(0,s.useRef)(0);return(0,s.useEffect)(()=>{if(o.current=e,t){cancelAnimationFrame(c.current),c.current=0,i.current=e,r(e);return}if(i.current===e||c.current)return;let n=performance.now(),a=i.current,s=e=>{let t=o.current,l=Math.min((e-n)/300,1),u=1-(1-l)**3;i.current=l>=1?t:a+(t-a)*u,r(i.current),l<1?c.current=requestAnimationFrame(s):c.current=0};c.current=requestAnimationFrame(s)},[e,t]),(0,s.useEffect)(()=>()=>cancelAnimationFrame(c.current),[]),n}function d({icon:e,value:t,label:n}){return(0,c.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] px-3 py-3`,children:[(0,c.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:e}),(0,c.jsxs)(`div`,{className:`min-w-0`,children:[(0,c.jsx)(r,{variant:`title-small`,className:`block text-[var(--content-default)]`,children:t}),(0,c.jsx)(r,{variant:`body-small-default`,className:`block text-[var(--content-secondary)]`,children:n})]})]})}function f({icon:e,label:t,target:n,format:r}){return(0,c.jsx)(d,{icon:e,label:t,value:r(u(n))})}export{l as n,o as r,f as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./typography-BscuIPxA.js";import"./src-BJj2O5XB.js";import{t as i}from"./createLucideIcon-BlMXrA59.js";import{t as a}from"./use-reduced-motion-DomgCP7o.js";var o=i(`arrow-up-from-line`,[[`path`,{d:`m18 9-6-6-6 6`,key:`kcunyi`}],[`path`,{d:`M12 3v14`,key:`7cf3v8`}],[`path`,{d:`M5 21h14`,key:`11awu3`}]]),s=e(t(),1),c=n();function l(e){if(e>=1e6){let t=e/1e6;return`${t%1==0?t.toFixed(0):t.toFixed(1)}M`}if(e>=1e3){let t=e/1e3;return`${t%1==0?t.toFixed(0):t.toFixed(1)}K`}return e.toLocaleString()}function u(e){let t=a(),[n,r]=(0,s.useState)(e),i=(0,s.useRef)(e),o=(0,s.useRef)(e),c=(0,s.useRef)(0);return(0,s.useEffect)(()=>{if(o.current=e,t){cancelAnimationFrame(c.current),c.current=0,i.current=e,r(e);return}if(i.current===e||c.current)return;let n=performance.now(),a=i.current,s=e=>{let t=o.current,l=Math.min((e-n)/300,1),u=1-(1-l)**3;i.current=l>=1?t:a+(t-a)*u,r(i.current),l<1?c.current=requestAnimationFrame(s):c.current=0};c.current=requestAnimationFrame(s)},[e,t]),(0,s.useEffect)(()=>()=>cancelAnimationFrame(c.current),[]),n}function d({icon:e,value:t,label:n}){return(0,c.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] px-3 py-3`,children:[(0,c.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:e}),(0,c.jsxs)(`div`,{className:`min-w-0`,children:[(0,c.jsx)(r,{variant:`title-small`,className:`block text-[var(--content-default)]`,children:t}),(0,c.jsx)(r,{variant:`body-small-default`,className:`block text-[var(--content-secondary)]`,children:n})]})]})}function f({icon:e,label:t,target:n,format:r}){return(0,c.jsx)(d,{icon:e,label:t,value:r(u(n))})}export{l as n,o as r,f as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D7s2Q_uG.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import"./src-BJj2O5XB.js";import{t as i}from"./x-BeVbiDS2.js";import{pi as a}from"./index-Cx6vyW7T.js";var o=e(t(),1),s=r(),c=`(min-width: 640px)`,l=[`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function u({open:e,onClose:t,children:r,title:a}){let u=(0,o.useRef)(null),d=(0,o.useRef)(null),f=(0,o.useRef)(t);return(0,o.useEffect)(()=>{f.current=t}),(0,o.useEffect)(()=>{if(!e)return;d.current?.focus();let t=document.body.style.overflow;document.body.style.overflow=`hidden`;let n=window.matchMedia(c),r=e=>{e.matches&&f.current()};n.addEventListener(`change`,r);let i=e=>{if(e.key===`Escape`){f.current();return}if(e.key!==`Tab`||!u.current)return;let t=u.current.querySelectorAll(l),n=t[0],r=t[t.length-1];if(!n||!r){e.preventDefault();return}let i=document.activeElement,a=u.current.contains(i);e.shiftKey?(!a||i===n)&&(e.preventDefault(),r.focus()):(!a||i===r)&&(e.preventDefault(),n.focus())};return document.addEventListener(`keydown`,i),()=>{document.removeEventListener(`keydown`,i),n.removeEventListener(`change`,r),document.body.style.overflow=t}},[e]),e?(0,s.jsxs)(`div`,{ref:u,className:`fixed inset-0 sm:hidden`,style:{zIndex:40},role:`dialog`,"aria-modal":`true`,"aria-label":a,children:[(0,s.jsx)(`button`,{type:`button`,"aria-label":`Close sidebar`,className:`absolute inset-0 h-full w-full cursor-default`,style:{background:`rgba(0, 0, 0, 0.4)`,zIndex:40},onClick:t}),(0,s.jsxs)(`aside`,{className:`relative flex h-full w-[80vw] max-w-xs flex-col shadow-xl`,style:{background:`var(--surface-lift)`,borderRight:`1px solid var(--border-base)`,zIndex:50,paddingTop:`var(--safe-area-inset-top, env(safe-area-inset-top, 0px))`,paddingBottom:`var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))`,paddingLeft:`var(--safe-area-inset-left, env(safe-area-inset-left, 0px))`},children:[(0,s.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between border-b px-4 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,s.jsx)(`span`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:a}),(0,s.jsx)(n,{ref:d,type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,s.jsx)(i,{"aria-hidden":!0}),onClick:t,"aria-label":`Close`,tintColor:`var(--content-tertiary)`})]}),(0,s.jsx)(`div`,{className:`flex-1 overflow-y-auto p-4`,children:r})]})]}):null}function d({onClick:e}){return(0,s.jsx)(n,{type:`button`,variant:`ghost`,iconOnly:(0,s.jsx)(a,{"aria-hidden":!0}),onClick:e,"aria-label":`Open sidebar`,tintColor:`var(--content-secondary)`,className:`sm:hidden`})}export{d as n,u as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D7s2Q_uG.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import"./src-BJj2O5XB.js";import{t as i}from"./x-Cb3jFpZR.js";import{li as a}from"./index-C1jO2jSf.js";var o=e(t(),1),s=r(),c=`(min-width: 640px)`,l=[`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function u({open:e,onClose:t,children:r,title:a}){let u=(0,o.useRef)(null),d=(0,o.useRef)(null),f=(0,o.useRef)(t);return(0,o.useEffect)(()=>{f.current=t}),(0,o.useEffect)(()=>{if(!e)return;d.current?.focus();let t=document.body.style.overflow;document.body.style.overflow=`hidden`;let n=window.matchMedia(c),r=e=>{e.matches&&f.current()};n.addEventListener(`change`,r);let i=e=>{if(e.key===`Escape`){f.current();return}if(e.key!==`Tab`||!u.current)return;let t=u.current.querySelectorAll(l),n=t[0],r=t[t.length-1];if(!n||!r){e.preventDefault();return}let i=document.activeElement,a=u.current.contains(i);e.shiftKey?(!a||i===n)&&(e.preventDefault(),r.focus()):(!a||i===r)&&(e.preventDefault(),n.focus())};return document.addEventListener(`keydown`,i),()=>{document.removeEventListener(`keydown`,i),n.removeEventListener(`change`,r),document.body.style.overflow=t}},[e]),e?(0,s.jsxs)(`div`,{ref:u,className:`fixed inset-0 sm:hidden`,style:{zIndex:40},role:`dialog`,"aria-modal":`true`,"aria-label":a,children:[(0,s.jsx)(`button`,{type:`button`,"aria-label":`Close sidebar`,className:`absolute inset-0 h-full w-full cursor-default`,style:{background:`rgba(0, 0, 0, 0.4)`,zIndex:40},onClick:t}),(0,s.jsxs)(`aside`,{className:`relative flex h-full w-[80vw] max-w-xs flex-col shadow-xl`,style:{background:`var(--surface-lift)`,borderRight:`1px solid var(--border-base)`,zIndex:50,paddingTop:`var(--safe-area-inset-top, env(safe-area-inset-top, 0px))`,paddingBottom:`var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))`,paddingLeft:`var(--safe-area-inset-left, env(safe-area-inset-left, 0px))`},children:[(0,s.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between border-b px-4 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,s.jsx)(`span`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:a}),(0,s.jsx)(n,{ref:d,type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,s.jsx)(i,{"aria-hidden":!0}),onClick:t,"aria-label":`Close`,tintColor:`var(--content-tertiary)`})]}),(0,s.jsx)(`div`,{className:`flex-1 overflow-y-auto p-4`,children:r})]})]}):null}function d({onClick:e}){return(0,s.jsx)(n,{type:`button`,variant:`ghost`,iconOnly:(0,s.jsx)(a,{"aria-hidden":!0}),onClick:e,"aria-label":`Open sidebar`,tintColor:`var(--content-secondary)`,className:`sm:hidden`})}export{d as n,u as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-BlMXrA59.js";var t=e(`monitor`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]);export{t};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-B9FuN3Io.js","assets/preload-helper-BewR0kVT.js","assets/dist-3i_EPbLt.js","assets/definitions-B4RRVbRh.js","assets/esm-BIUrrGWd.js"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./chunk-jRWAZmH_.js";import{t}from"./preload-helper-BewR0kVT.js";import{t as n}from"./dist-3i_EPbLt.js";var r=e({saveFile:()=>i});async function i(e,t){n.isNativePlatform()?await a(e,t):o(e,t)}async function a(e,n){let{Filesystem:r,Directory:i}=await t(async()=>{let{Filesystem:e,Directory:t}=await import(`./esm-B9FuN3Io.js`);return{Filesystem:e,Directory:t}},__vite__mapDeps([0,1,2,3])),{Share:a}=await t(async()=>{let{Share:e}=await import(`./esm-BIUrrGWd.js`);return{Share:e}},__vite__mapDeps([4,1,2])),o;if(typeof e==`string`){let t=await fetch(e);if(!t.ok)throw Error(`Failed to fetch file: ${t.statusText}`);o=await t.blob()}else o=e;let c=await s(o),l=await r.writeFile({path:n,data:c,directory:i.Cache});try{await a.share({files:[l.uri]})}catch{}r.deleteFile({path:n,directory:i.Cache}).catch(()=>{})}function o(e,t){let n=document.createElement(`a`);typeof e==`string`?n.href=e:n.href=URL.createObjectURL(e),n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n),e instanceof Blob&&URL.revokeObjectURL(n.href)}function s(e){return new Promise((t,n)=>{let r=new FileReader;r.onloadend=()=>{let e=r.result.split(`,`)[1];e?t(e):n(Error(`Failed to convert blob to base64`))},r.onerror=()=>n(r.error),r.readAsDataURL(e)})}export{i as n,r as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-CJjEymow.js","assets/preload-helper-BewR0kVT.js","assets/dist-CzyDxYAs.js","assets/definitions--qkv65-s.js","assets/esm-_pMRHia8.js"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./chunk-jRWAZmH_.js";import{t}from"./preload-helper-BewR0kVT.js";import{t as n}from"./dist-CzyDxYAs.js";var r=e({saveFile:()=>i});async function i(e,t){n.isNativePlatform()?await a(e,t):o(e,t)}async function a(e,n){let{Filesystem:r,Directory:i}=await t(async()=>{let{Filesystem:e,Directory:t}=await import(`./esm-CJjEymow.js`);return{Filesystem:e,Directory:t}},__vite__mapDeps([0,1,2,3])),{Share:a}=await t(async()=>{let{Share:e}=await import(`./esm-_pMRHia8.js`);return{Share:e}},__vite__mapDeps([4,1,2])),o;if(typeof e==`string`){let t=await fetch(e);if(!t.ok)throw Error(`Failed to fetch file: ${t.statusText}`);o=await t.blob()}else o=e;let c=await s(o),l=await r.writeFile({path:n,data:c,directory:i.Cache});try{await a.share({files:[l.uri]})}catch{}r.deleteFile({path:n,directory:i.Cache}).catch(()=>{})}function o(e,t){let n=document.createElement(`a`);typeof e==`string`?n.href=e:n.href=URL.createObjectURL(e),n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n),e instanceof Blob&&URL.revokeObjectURL(n.href)}function s(e){return new Promise((t,n)=>{let r=new FileReader;r.onloadend=()=>{let e=r.result.split(`,`)[1];e?t(e):n(Error(`Failed to convert blob to base64`))},r.onerror=()=>n(r.error),r.readAsDataURL(e)})}export{i as n,r as t};