@vellumai/web 0.10.12 → 0.11.0-staging.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (354) hide show
  1. package/dist/assets/{AnimatePresence-3WpfAWHe.js → AnimatePresence-DPfyu3ET.js} +1 -1
  2. package/dist/assets/{BundleConfirmPage-CDklssHh.js → BundleConfirmPage-CChUOtcg.js} +1 -1
  3. package/dist/assets/{a2a-invite-DUYZLVQb.js → a2a-invite-pyBtaaeG.js} +1 -1
  4. package/dist/assets/{about-page-CT70Pgvf.js → about-page-DGUK5p8j.js} +1 -1
  5. package/dist/assets/access-DS79PSR3.js +1 -0
  6. package/dist/assets/{account-page-D5cJIu1-.js → account-page-D3ERiewh.js} +1 -1
  7. package/dist/assets/{account-shell-C_IH8r44.js → account-shell-Dk4aC-Ls.js} +1 -1
  8. package/dist/assets/{acp-run-actions-CAjb0Wcm.js → acp-run-actions-BH8wuBAL.js} +1 -1
  9. package/dist/assets/{acp-run-detail-panel-DqzZdPiN.js → acp-run-detail-panel-dqVK6rPq.js} +1 -1
  10. package/dist/assets/{acp-run-store-C6n-XeY_.js → acp-run-store-B_eDLRwl.js} +1 -1
  11. package/dist/assets/{activity-steps-panel-BzHQOJsQ.js → activity-steps-panel-xxl2hu3E.js} +1 -1
  12. package/dist/assets/add-credential-modal-CY_--m8L.js +1 -0
  13. package/dist/assets/{add-credits-modal-CCEMf2_U.js → add-credits-modal-fT_gTTP5.js} +1 -1
  14. package/dist/assets/ai-page-B02NwVRu.js +1 -0
  15. package/dist/assets/animated-avatar-BcgncPkc.js +1 -0
  16. package/dist/assets/api-C3QSs67k.js +1 -0
  17. package/dist/assets/{api-XwdNiVE9.js → api-LG8zI3nK.js} +1 -1
  18. package/dist/assets/{api-key-screen-BXn2F-lQ.js → api-key-screen-CvBdN6Ae.js} +1 -1
  19. package/dist/assets/{app-card-Uowaj1kh.js → app-card-CAaFL1oB.js} +1 -1
  20. package/dist/assets/{archive-redirect-page-CpKvFqvX.js → archive-redirect-page-BH7h0Lk7.js} +1 -1
  21. package/dist/assets/{assistant-feature-flag-store-CLqMw4mK.js → assistant-feature-flag-store-CAdgpPiS.js} +1 -1
  22. package/dist/assets/{assistant-status-panel-DKnWIr7_.js → assistant-status-panel-BTnD-jhG.js} +1 -1
  23. package/dist/assets/auth-store-5qq59BAN.js +2 -0
  24. package/dist/assets/avatar-random-BMSYTcJK.js +1 -0
  25. package/dist/assets/{avatar-renderer-DK54o2kQ.js → avatar-renderer-ClUVcQmf.js} +1 -1
  26. package/dist/assets/{background-task-actions-CmYMPa2o.js → background-task-actions-DmP5s0oO.js} +1 -1
  27. package/dist/assets/{background-task-detail-panel-KDqjs7i2.js → background-task-detail-panel-BCYAElGc.js} +1 -1
  28. package/dist/assets/{background-task-store-DFS8MP5D.js → background-task-store-DMP8ByUq.js} +1 -1
  29. package/dist/assets/billing-page-B5j5TW_S.js +3 -0
  30. package/dist/assets/{billing-redirect-page-BRcj5q0u.js → billing-redirect-page-B1o1rsQZ.js} +1 -1
  31. package/dist/assets/{bookmarks-page-fFnFzh4F.js → bookmarks-page-D_Jr-a4Q.js} +1 -1
  32. package/dist/assets/{browser-CNL8hh8H.js → browser-CTZVDjOL.js} +2 -2
  33. package/dist/assets/build-state-m0LQ5Iis.js +1 -0
  34. package/dist/assets/channels-page-route-BYP9SOw5.js +9 -0
  35. package/dist/assets/chat-avatar-CvEA6z0H.js +1 -0
  36. package/dist/assets/chat-markdown-message-rxPKNeTx.js +2 -0
  37. package/dist/assets/{checkbox-BY0BDJjm.js → checkbox-CRmgkYah.js} +1 -1
  38. package/dist/assets/checkout-continuation-U3Pd2nxi.js +1 -0
  39. package/dist/assets/checkout-page-C5_9GbP-.js +1 -0
  40. package/dist/assets/checkout-return-target-DI6Hb-9L.js +1 -0
  41. package/dist/assets/client-feature-flag-store-CMncoan8.js +1 -0
  42. package/dist/assets/{client-identity-BS5mQsaQ.js → client-identity-DhkdvP5w.js} +1 -1
  43. package/dist/assets/{command-palette-CsRPcIM-.js → command-palette-BTaT__fo.js} +1 -1
  44. package/dist/assets/{command-palette-window-page-BzQ_oDaq.js → command-palette-window-page-gq0zowBe.js} +1 -1
  45. package/dist/assets/{community-page-mlhk4LsN.js → community-page-CsEKt9wX.js} +1 -1
  46. package/dist/assets/{connect-page-PuRyFup0.js → connect-page-B4aTS7Yj.js} +1 -1
  47. package/dist/assets/{consent-controls-BOFoWAYO.js → consent-controls-OcgxuxS0.js} +1 -1
  48. package/dist/assets/consent-hzYg-zbh.js +1 -0
  49. package/dist/assets/{contacts-gateway-C5OljhCC.js → contacts-gateway-B6OrAmU3.js} +1 -1
  50. package/dist/assets/{contacts-page-route-VBlklzVL.js → contacts-page-route-DNoCUXE7.js} +1 -1
  51. package/dist/assets/{conversation-cache-CqCkWHT6.js → conversation-cache-DKvwwWNo.js} +1 -1
  52. package/dist/assets/{conversation-list-fetchers-D84gJs6f.js → conversation-list-fetchers-DM-Y61u5.js} +1 -1
  53. package/dist/assets/conversation-navigation-DsN0hcpL.js +1 -0
  54. package/dist/assets/{conversation-queries-Ba_1sW5M.js → conversation-queries-CWvK6RLK.js} +1 -1
  55. package/dist/assets/{credential-entry-page-Bfrl1sD_.js → credential-entry-page-CHinHO85.js} +1 -1
  56. package/dist/assets/credentials-page-BsJFuOc9.js +1 -0
  57. package/dist/assets/{danger-zone-redirect-page-DKfrmf_o.js → danger-zone-redirect-page-SU45WI74.js} +1 -1
  58. package/dist/assets/debug-page-BziypDgA.js +4 -0
  59. package/dist/assets/{deploy-dialogs-BNMcZzII.js → deploy-dialogs-DZSd5o9b.js} +1 -1
  60. package/dist/assets/{deploy-store-CxnShfQj.js → deploy-store-D6snB1j5.js} +1 -1
  61. package/dist/assets/{detail-card-CwtjhGfi.js → detail-card-Du8OuE3q.js} +1 -1
  62. package/dist/assets/{detail-panel-stop-button-C1rystDS.js → detail-panel-stop-button-BNuh6N0s.js} +1 -1
  63. package/dist/assets/{detail-shell-DcNnOqM_.js → detail-shell-Cyqr5FXJ.js} +1 -1
  64. package/dist/assets/{developer-page-Bu7HBiPJ.js → developer-page-QMFEIyBS.js} +1 -1
  65. package/dist/assets/{devices-redirect-page-Cvt_H5ig.js → devices-redirect-page-B14wK98N.js} +1 -1
  66. package/dist/assets/{diagnostics-Dva51gYK.js → diagnostics-T_96Uyh5.js} +1 -1
  67. package/dist/assets/doctor-handoff-store-CYjL1S0n.js +1 -0
  68. package/dist/assets/document-viewer-container-B7TEDeV0.js +2 -0
  69. package/dist/assets/{document-viewer-page-kV6TCXu0.js → document-viewer-page-3Eq8L562.js} +1 -1
  70. package/dist/assets/effective-timezone-CmcoXrio.js +1 -0
  71. package/dist/assets/{emails-page-D9E3uXkG.js → emails-page-Wr4wPSYl.js} +1 -1
  72. package/dist/assets/{esm-BWFeAIOX.js → esm-BKewCp71.js} +2 -2
  73. package/dist/assets/{esm-DKdDWqsF.js → esm-Deuay4YU.js} +2 -2
  74. package/dist/assets/{esm-C6-ZMSya.js → esm-Dk6A-sQ0.js} +2 -2
  75. package/dist/assets/{esm-BQjZqfJZ.js → esm-IoT87yZe.js} +2 -2
  76. package/dist/assets/{esm-BTyZM-kf.js → esm-PYpy75OW.js} +2 -2
  77. package/dist/assets/esm-xItcektK.js +2 -0
  78. package/dist/assets/{eye-bbox-DXmmg9ML.js → eye-bbox-C_V87iLg.js} +1 -1
  79. package/dist/assets/feature-flag-catalog-I9-eJQP_.js +1 -0
  80. package/dist/assets/file-markdown-DaflJFk7.js +2 -0
  81. package/dist/assets/{first-run-scope-BoT9LMYw.js → first-run-scope-CL5YbC3b.js} +1 -1
  82. package/dist/assets/{funnel-events-CK938pi2.js → funnel-events-n2IVlwTo.js} +1 -1
  83. package/dist/assets/general-page-lbkufqHg.js +1 -0
  84. package/dist/assets/{get-memory-stats-ERcqnC0Q.js → get-memory-stats-BCYSpBF6.js} +1 -1
  85. package/dist/assets/{haptics-D9eNTUq-.js → haptics-DvWjk9Fg.js} +2 -2
  86. package/dist/assets/hatching-screen-D81diZoa.js +1 -0
  87. package/dist/assets/{home-page-route-BOCisuYY.js → home-page-route-CHe8eoLz.js} +1 -1
  88. package/dist/assets/{hosting-screen-6xIW6q02.js → hosting-screen-D9atAksQ.js} +1 -1
  89. package/dist/assets/{identity-page-route-qWwRSRld.js → identity-page-route-CK3YsXCN.js} +1 -1
  90. package/dist/assets/index-0f48hi7h.js +11 -0
  91. package/dist/assets/index-UKZ4bO6i.css +2 -0
  92. package/dist/assets/{ingest-DGkxw0Go.js → ingest-BizI657K.js} +1 -1
  93. package/dist/assets/{inspect-page-CRBfQ5WU.js → inspect-page-COwvbHtX.js} +3 -3
  94. package/dist/assets/{installed-plugins-query-C29LGAEV.js → installed-plugins-query-Cgek0q7G.js} +1 -1
  95. package/dist/assets/{integration-icon-Dvjn3ytY.js → integration-icon-dv-9Zzx3.js} +1 -1
  96. package/dist/assets/integrations-page-CJOBwxXp.js +1 -0
  97. package/dist/assets/{intelligence-layout-DP9zklR6.js → intelligence-layout-MNoGhi-l.js} +1 -1
  98. package/dist/assets/{invalidate-plugin-queries-DamxiwYv.js → invalidate-plugin-queries-C3NTXkCX.js} +1 -1
  99. package/dist/assets/{keyboard-shortcuts-redirect-page--bCvhp62.js → keyboard-shortcuts-redirect-page-CBI_mZIL.js} +1 -1
  100. package/dist/assets/{latest-assistant-text-D5WR-o6J.js → latest-assistant-text-DOepZ_Io.js} +2 -2
  101. package/dist/assets/{library-detail-page-pviljaQw.js → library-detail-page-DVwI94NZ.js} +1 -1
  102. package/dist/assets/{library-page-CYYuLywk.js → library-page-CNA794WY.js} +1 -1
  103. package/dist/assets/local-mode-BTovbt13.js +39 -0
  104. package/dist/assets/{local-runtime-upgrade-BggVMXfW.js → local-runtime-upgrade-Bqn3d7Q7.js} +1 -1
  105. package/dist/assets/login-flow-CD9tyuFG.js +1 -0
  106. package/dist/assets/{login-page-DdHXGGAt.js → login-page-BNStrcnU.js} +1 -1
  107. package/dist/assets/{logout-page-DjihP6Qk.js → logout-page-CpFeuLA_.js} +1 -1
  108. package/dist/assets/{logs-layout-C84-h0Hn.js → logs-layout-BUiPeZ4I.js} +1 -1
  109. package/dist/assets/{machine-sizes-DAflIPTM.js → machine-sizes-DO8duvpy.js} +1 -1
  110. package/dist/assets/{memory-page-route-dGWTWCWF.js → memory-page-route-C0cBV7HD.js} +1 -1
  111. package/dist/assets/{memory-router-playground-page-CjUiz_bH.js → memory-router-playground-page-D4UIq8mw.js} +1 -1
  112. package/dist/assets/{messages-Dl5_cjD9.js → messages-CFcAW4iz.js} +2 -2
  113. package/dist/assets/{metric-card-CkAD9RpC.js → metric-card-05a5slPx.js} +1 -1
  114. package/dist/assets/{mobile-sidebar-drawer-CbJ5JfXT.js → mobile-sidebar-drawer-DtKU2vlu.js} +1 -1
  115. package/dist/assets/native-anchor-CeekjwVy.js +1 -0
  116. package/dist/assets/native-biometric-BAMIyaSS.js +6 -0
  117. package/dist/assets/{native-file-B6_oAU2Q.js → native-file-ySSv1sQ7.js} +2 -2
  118. package/dist/assets/navigation-resolver-DPJxzx0h.js +1 -0
  119. package/dist/assets/{not-found-DV3iLBwm.js → not-found-OqaWNmdx.js} +1 -1
  120. package/dist/assets/{notifications-page-B9vnqyB1.js → notifications-page-ClfcJeLf.js} +1 -1
  121. package/dist/assets/{oauth-complete-page-BSxiDbQm.js → oauth-complete-page-rVmA2Cl8.js} +1 -1
  122. package/dist/assets/{oauth-connection-utils-DbcihBL8.js → oauth-connection-utils-CWPUW4MK.js} +1 -1
  123. package/dist/assets/{oauth-popup-complete-page-CyYbqLoK.js → oauth-popup-complete-page-DBsOvLES.js} +1 -1
  124. package/dist/assets/{onboarding-layout-Dd5fPfE7.js → onboarding-layout-DLs1hfp_.js} +1 -1
  125. package/dist/assets/onboarding-store-bZ2qYISk.js +1 -0
  126. package/dist/assets/open-workspace-file-DtK3a84K.js +2 -0
  127. package/dist/assets/{page-empty-state-BA3_YQN2.js → page-empty-state-DT-tC1u6.js} +1 -1
  128. package/dist/assets/{page-shell-_QxBKTK3.js → page-shell-C7SUgga9.js} +1 -1
  129. package/dist/assets/{pairing-page-DPfIgf3F.js → pairing-page-ZkFipOSH.js} +1 -1
  130. package/dist/assets/{password-reset-page-D55bGMVy.js → password-reset-page-iASQZawH.js} +1 -1
  131. package/dist/assets/{personality-page-fJJd-i4s.js → personality-page-BJpW3UXD.js} +1 -1
  132. package/dist/assets/plans-page-BDKqdYNM.js +1 -0
  133. package/dist/assets/{platform-detection-CMiRPRCq.js → platform-detection-XEAAu4c-.js} +1 -1
  134. package/dist/assets/{platform-login-notice-BG9TFAJa.js → platform-login-notice-CdYiKsE8.js} +1 -1
  135. package/dist/assets/{platform-loopback-page-DunGLusR.js → platform-loopback-page-D0gXCm2S.js} +1 -1
  136. package/dist/assets/{plugin-detail-page-BngHrN8T.js → plugin-detail-page-Bx2wzKEf.js} +1 -1
  137. package/dist/assets/{plugins-page-DD0t1_pE.js → plugins-page-B2zQ2iGh.js} +1 -1
  138. package/dist/assets/{prefs-BZnS5vR_.js → prefs-bw85lYLp.js} +1 -1
  139. package/dist/assets/{privacy-page-nZvfh3dh.js → privacy-page-B0QN4qZO.js} +1 -1
  140. package/dist/assets/privacy-screen-vp4uUpm6.js +1 -0
  141. package/dist/assets/{provider-callback-page-BwANEd-K.js → provider-callback-page-BH6DES7c.js} +1 -1
  142. package/dist/assets/{provider-key-B3R8SlMJ.js → provider-key-D2Nsf9zh.js} +1 -1
  143. package/dist/assets/{provider-signup-page-Cz2DP-jP.js → provider-signup-page-BAPcG_iJ.js} +1 -1
  144. package/dist/assets/provisioning-targets-BTjyR9nk.js +1 -0
  145. package/dist/assets/{quick-input-page-CF2MJnCE.js → quick-input-page-Dq-0BGrJ.js} +1 -1
  146. package/dist/assets/{react-query.gen-r3I6j8-1.js → react-query.gen-C5c1Acuq.js} +1 -1
  147. package/dist/assets/{remote-gateway-session-BHjZ9gQ6.js → remote-gateway-session-yRYdsfDx.js} +1 -1
  148. package/dist/assets/{research-mock-page-DnbQpZcp.js → research-mock-page-BJEpxdMv.js} +1 -1
  149. package/dist/assets/research-onboarding-route-CFL3q__m.js +50 -0
  150. package/dist/assets/{research-results-view-CxhTn2J7.js → research-results-view-C4sIw2gK.js} +1 -1
  151. package/dist/assets/{resolved-assistants-store-C-PdxK8f.js → resolved-assistants-store-Dw5UuGyB.js} +1 -1
  152. package/dist/assets/retire-confirm-dialog-CsSY2-T8.js +1 -0
  153. package/dist/assets/review-terms-screen-BhyRQBjl.js +1 -0
  154. package/dist/assets/{risk-C_bbPQPd.js → risk-CdT92Vqr.js} +2 -2
  155. package/dist/assets/routes-CaP5Tqj7.js +23 -0
  156. package/dist/assets/routes-D9sNqB_o.js +1 -0
  157. package/dist/assets/{runtime-upgrade-banner-DQI-l3Yc.js → runtime-upgrade-banner-DPqzKtZU.js} +2 -2
  158. package/dist/assets/{schedules-DF5cTXBf.js → schedules-6hzhR_C_.js} +1 -1
  159. package/dist/assets/schedules-page-DVnUeaoB.js +1 -0
  160. package/dist/assets/{sdk.gen-BVAVE6A_.js → sdk.gen-BHZ0fJla.js} +1 -1
  161. package/dist/assets/{security-redirect-page-BEohiPDW.js → security-redirect-page-4DKqyPsf.js} +1 -1
  162. package/dist/assets/{select-assistant-screen-C2q8wO2f.js → select-assistant-screen-CVV3iqMy.js} +1 -1
  163. package/dist/assets/{settings-divider-CXIrJieH.js → settings-divider-Ro7lPCkV.js} +1 -1
  164. package/dist/assets/settings-layout-B_4PKJr9.js +1 -0
  165. package/dist/assets/settings-navigation-CSG7jiyJ.js +1 -0
  166. package/dist/assets/{share-feedback-modal-B05-nKgu.js → share-feedback-modal-BoWCg4KH.js} +1 -1
  167. package/dist/assets/{sidebar-tree-ByF78JHW.js → sidebar-tree-C_PPNHe5.js} +1 -1
  168. package/dist/assets/{signup-page-CGauGszD.js → signup-page-D0S_8XYw.js} +1 -1
  169. package/dist/assets/{signup-shell-Bw6r9tWP.js → signup-shell-CMsBZ8vG.js} +1 -1
  170. package/dist/assets/{site-favicon-CCyX9r-Z.js → site-favicon-BB1pYWLF.js} +1 -1
  171. package/dist/assets/skill-detail-page-CTobyK6L.js +1 -0
  172. package/dist/assets/{skill-detail-panel-crqCBZbU.js → skill-detail-panel-CNzionF7.js} +1 -1
  173. package/dist/assets/{skills-C1CAcW7T.js → skills-Cum1XWT2.js} +1 -1
  174. package/dist/assets/{skills-page-BikP-AR7.js → skills-page-DZVxAbua.js} +1 -1
  175. package/dist/assets/slack-setup-wizard-DK2F8LXc.js +1 -0
  176. package/dist/assets/{sound-manager-xEbUgFv-.js → sound-manager-Bx-OcMAz.js} +1 -1
  177. package/dist/assets/{sounds-page-9_otQ97S.js → sounds-page-C45-RF4i.js} +1 -1
  178. package/dist/assets/{src-D89CNeuT.js → src-te3YTBG-.js} +4 -4
  179. package/dist/assets/{start-screen-DSF3melT.js → start-screen-CkJiCl9b.js} +1 -1
  180. package/dist/assets/{subagent-detail-panel-q0g4JWAX.js → subagent-detail-panel-DyyMdaNO.js} +1 -1
  181. package/dist/assets/subagent-store-MDi6lBXs.js +3 -0
  182. package/dist/assets/{superpowers-page-UgdWFWsF.js → superpowers-page-CaLzK5D-.js} +1 -1
  183. package/dist/assets/{system-events-page-Bw94HLwx.js → system-events-page-DXAU01ZO.js} +1 -1
  184. package/dist/assets/{system-events-redirect-page-BGZQC8-K.js → system-events-redirect-page-Bm9bipNo.js} +1 -1
  185. package/dist/assets/{theme-stage-page-bEZxHTyN.js → theme-stage-page-BDTCmutO.js} +1 -1
  186. package/dist/assets/{threshold-presets-BO8En2q0.js → threshold-presets-BdTTHCnm.js} +1 -1
  187. package/dist/assets/{tiptap-document-editor-CyY1HRzV.js → tiptap-document-editor-CHn2wCDv.js} +1 -1
  188. package/dist/assets/{tool-detail-panel-DFMOphDJ.js → tool-detail-panel-DFrWEWKG.js} +1 -1
  189. package/dist/assets/{transcript-message-body-shared-nWAkSzar.js → transcript-message-body-shared-D9_d2c2X.js} +1 -1
  190. package/dist/assets/{trust-rules-api-C0-hkXT2.js → trust-rules-api-B5lfygCA.js} +1 -1
  191. package/dist/assets/{upgrade-cancel-page-DwxI6NLL.js → upgrade-cancel-page-eiJEAvFz.js} +1 -1
  192. package/dist/assets/{upgrade-success-page-SO92J-Rf.js → upgrade-success-page-Cb1Gl4MM.js} +1 -1
  193. package/dist/assets/{usage-redirect-page-BJBkecYr.js → usage-redirect-page-BOfJ7uot.js} +1 -1
  194. package/dist/assets/{use-active-assistant-id-Cjbsk2Q3.js → use-active-assistant-id-CldxA_-M.js} +1 -1
  195. package/dist/assets/{use-app-theme-Q42fO5Nz.js → use-app-theme-Dg8A6vPA.js} +1 -1
  196. package/dist/assets/{use-assistant-avatar-DSu2_Mzi.js → use-assistant-avatar-bwLHcMz4.js} +1 -1
  197. package/dist/assets/{use-assistant-capability-gxe56K48.js → use-assistant-capability-CDS7GbSO.js} +1 -1
  198. package/dist/assets/{use-assistant-identity-details-CpHkzjrI.js → use-assistant-identity-details-9JRWxXTQ.js} +1 -1
  199. package/dist/assets/{use-avatar-accent-var-PV9tsBJj.js → use-avatar-accent-var-vpakP1ce.js} +1 -1
  200. package/dist/assets/{use-bookmarks-BbJtKyHe.js → use-bookmarks-CK-nOiT-.js} +1 -1
  201. package/dist/assets/{use-bundled-avatar-components-Gp_YaD6o.js → use-bundled-avatar-components-Bbs4vCnX.js} +2 -2
  202. package/dist/assets/use-checkout-dismiss-refresh-CqGR_OsB.js +1 -0
  203. package/dist/assets/use-command-palette-sections-CkpUaAKs.js +1 -0
  204. package/dist/assets/{use-edge-swipe-DVeTYbmY.js → use-edge-swipe-Wm9pU2HX.js} +1 -1
  205. package/dist/assets/{use-edge-swipe-back-DDq-N20h.js → use-edge-swipe-back-BcSHNCwS.js} +1 -1
  206. package/dist/assets/{use-edit-app-DfFIonqZ.js → use-edit-app-B_Nequzs.js} +1 -1
  207. package/dist/assets/{use-effective-timezone-LqzBqHBy.js → use-effective-timezone-Dqs8OaXJ.js} +1 -1
  208. package/dist/assets/use-invite-link-dialog-CPPOduk8.js +1 -0
  209. package/dist/assets/{use-ios-app-nudge-BO8jWfr0.js → use-ios-app-nudge-B-ojl-b1.js} +1 -1
  210. package/dist/assets/use-is-org-ready-C5xlYywh.js +1 -0
  211. package/dist/assets/use-onboarding-login-DI5gvqEG.js +1 -0
  212. package/dist/assets/use-platform-assistant-id-DOsSt6k1.js +1 -0
  213. package/dist/assets/use-platform-gate-C65D14xY.js +1 -0
  214. package/dist/assets/{use-reduced-motion-Se97jRQ-.js → use-reduced-motion-W1fCe3vS.js} +1 -1
  215. package/dist/assets/{use-save-twilio-credentials-CUQ6gdIj.js → use-save-twilio-credentials-c9xG9RPK.js} +1 -1
  216. package/dist/assets/{use-skill-actions-DgK7Nmt1.js → use-skill-actions-BAAx1Eia.js} +1 -1
  217. package/dist/assets/{use-skill-detail-files-_v4zUF6S.js → use-skill-detail-files-BvOKvY0-.js} +1 -1
  218. package/dist/assets/use-sticky-profiles-CdWX0mgI.js +1 -0
  219. package/dist/assets/{use-subagent-card-data-YbAN73Fw.js → use-subagent-card-data-DHuNtSy9.js} +1 -1
  220. package/dist/assets/use-supports-credentials-settings-BbfghcWq.js +1 -0
  221. package/dist/assets/{use-swipe-engine-DRvffOuu.js → use-swipe-engine-6PcZZMVD.js} +1 -1
  222. package/dist/assets/{utils-BtC1KiH4.js → utils-B0rBxtYP.js} +1 -1
  223. package/dist/assets/{viewer-store-BDpZVbcr.js → viewer-store-DLk-jp8U.js} +1 -1
  224. package/dist/assets/{voice-list-DJeZeHuA.js → voice-list-CW8mzaHU.js} +1 -1
  225. package/dist/assets/{voice-page-DQcyxaPl.js → voice-page-0zsCIOdT.js} +1 -1
  226. package/dist/assets/{voice-picker-modal-BXMvQihh.js → voice-picker-modal-PdsZwrsV.js} +1 -1
  227. package/dist/assets/{weather-forecast-display-D2sn4QD4.js → weather-forecast-display-BAAnrNdd.js} +1 -1
  228. package/dist/assets/{web-Bj8XUknF.js → web-B3Q8ntoM.js} +1 -1
  229. package/dist/assets/{web-BE7l06mM.js → web-BlvxItuO.js} +1 -1
  230. package/dist/assets/{welcome-screen-n-cGiojh.js → welcome-screen-DwOAZpZS.js} +1 -1
  231. package/dist/assets/{workflow-detail-panel-Cq3AwWXE.js → workflow-detail-panel-DGL2BZSr.js} +1 -1
  232. package/dist/assets/{workflow-store-QV5aMjTt.js → workflow-store-lM7yKbUo.js} +1 -1
  233. package/dist/assets/workspace-page-D4NvhCv1.js +1 -0
  234. package/dist/assets/workspace-tree-query-B1A-efgV.js +1 -0
  235. package/dist/index.html +144 -141
  236. package/package.json +1 -1
  237. package/dist/assets/access-D3fUSyFH.js +0 -1
  238. package/dist/assets/ai-page-BznkOakE.js +0 -1
  239. package/dist/assets/animated-avatar-DzfEDnTh.js +0 -1
  240. package/dist/assets/api-CJFoPWHm.js +0 -1
  241. package/dist/assets/auth-store-D9BqFncz.js +0 -2
  242. package/dist/assets/billing-page-Cc5fHBn2.js +0 -3
  243. package/dist/assets/build-state-WR9nlRgM.js +0 -1
  244. package/dist/assets/channels-page-route-wxREzs6W.js +0 -9
  245. package/dist/assets/chat-avatar-DIDq1Jt5.js +0 -1
  246. package/dist/assets/chat-markdown-message-ERK48E1Z.js +0 -2
  247. package/dist/assets/client-feature-flag-store-oTfL8Oiz.js +0 -1
  248. package/dist/assets/consent-DbD2Hcbf.js +0 -1
  249. package/dist/assets/conversation-navigation-Wm7_pLFs.js +0 -1
  250. package/dist/assets/credentials-page-B-AJyMvk.js +0 -1
  251. package/dist/assets/debug-page-DWEIExMH.js +0 -4
  252. package/dist/assets/document-viewer-container-Cl4jDmfx.js +0 -2
  253. package/dist/assets/effective-timezone-qiooajmO.js +0 -1
  254. package/dist/assets/esm-CDPcGg-B.js +0 -2
  255. package/dist/assets/feature-flag-catalog-BAyJlRMY.js +0 -1
  256. package/dist/assets/file-Ddp9Dqgl.js +0 -1
  257. package/dist/assets/file-markdown-CLmQTpqL.js +0 -2
  258. package/dist/assets/general-page-DpKVqj5t.js +0 -1
  259. package/dist/assets/hatching-screen-d3SWqFKY.js +0 -1
  260. package/dist/assets/index-B0l9Wjpj.css +0 -2
  261. package/dist/assets/index-BOC87TAq.js +0 -11
  262. package/dist/assets/integrations-page-D5KWY6v-.js +0 -1
  263. package/dist/assets/local-mode-Ckii2tmN.js +0 -39
  264. package/dist/assets/login-flow-BCNBNLzu.js +0 -1
  265. package/dist/assets/native-anchor-CVNubOIm.js +0 -1
  266. package/dist/assets/native-biometric-CntdlaL-.js +0 -6
  267. package/dist/assets/onboarding-store-DutUn1E3.js +0 -1
  268. package/dist/assets/open-workspace-file-CpveqBim.js +0 -2
  269. package/dist/assets/plans-page-C-JyEPT_.js +0 -1
  270. package/dist/assets/privacy-screen-D2aDT6E6.js +0 -1
  271. package/dist/assets/research-onboarding-route-yg2iKw6i.js +0 -50
  272. package/dist/assets/retire-confirm-dialog--eF_pXhA.js +0 -1
  273. package/dist/assets/review-terms-screen-Dpk-gyJE.js +0 -1
  274. package/dist/assets/routes-BBFM42ft.js +0 -23
  275. package/dist/assets/routes-vE-2hncW.js +0 -1
  276. package/dist/assets/schedules-page-Dgu-znOf.js +0 -1
  277. package/dist/assets/settings-layout-b7iBWIT-.js +0 -1
  278. package/dist/assets/settings-navigation-BGdjm0Ki.js +0 -1
  279. package/dist/assets/skill-detail-page-GlV5JRzQ.js +0 -1
  280. package/dist/assets/slack-setup-wizard-DKj1_XdA.js +0 -1
  281. package/dist/assets/stream-watchdog-BafbDdX9.js +0 -1
  282. package/dist/assets/subagent-store-D-GPthdC.js +0 -3
  283. package/dist/assets/use-checkout-dismiss-refresh-kdxxDNpF.js +0 -1
  284. package/dist/assets/use-command-palette-sections-BWjxkwKB.js +0 -1
  285. package/dist/assets/use-invite-link-dialog-DX58-LWY.js +0 -1
  286. package/dist/assets/use-is-org-ready-X_98Cnx9.js +0 -1
  287. package/dist/assets/use-onboarding-login-B8rpbSEh.js +0 -1
  288. package/dist/assets/use-platform-gate-Dry0Nv4f.js +0 -1
  289. package/dist/assets/use-sticky-profiles-B0zVD3uk.js +0 -1
  290. package/dist/assets/workspace-page-CL9z2Jrs.js +0 -1
  291. /package/dist/assets/{app-info-qQex8Ndg.js → app-info-DefDjPEl.js} +0 -0
  292. /package/dist/assets/{app-types-CBg2__YH.js → app-types-DSkgEmV3.js} +0 -0
  293. /package/dist/assets/{apple-logo-poQac1tY.js → apple-logo--8ZT6Umn.js} +0 -0
  294. /package/dist/assets/{avatar-bundled-components-CecbESCk.js → avatar-bundled-components-DPqbVXi9.js} +0 -0
  295. /package/dist/assets/{avatar-subagent-C9WTTUjI.js → avatar-subagent-CRA2B82x.js} +0 -0
  296. /package/dist/assets/{avatar-svg-compositor-FtVPqzlC.js → avatar-svg-compositor-Dl-ckXRE.js} +0 -0
  297. /package/dist/assets/{avatar-tone-CMoWR2JX.js → avatar-tone-BKwvoDSj.js} +0 -0
  298. /package/dist/assets/{browser-timezone-C_0jBUid.js → browser-timezone-CGwaX5Uv.js} +0 -0
  299. /package/dist/assets/{build.umd-59c0EvgO.js → build.umd-Bixyt_xE.js} +0 -0
  300. /package/dist/assets/{by-tool-use-id-index-aoRP6d51.js → by-tool-use-id-index-M50wYE1f.js} +0 -0
  301. /package/dist/assets/{chat-BrL0k2UY.js → chat-CDFCY8f0.js} +0 -0
  302. /package/dist/assets/{chat-layout-slots-store-C2IFeZFr.js → chat-layout-slots-store-BJfYGnd7.js} +0 -0
  303. /package/dist/assets/{conversation-selection-3EKkKt0G.js → conversation-selection-oJy8Oht3.js} +0 -0
  304. /package/dist/assets/{conversation-store-bshB7nDP.js → conversation-store-C--wWMNW.js} +0 -0
  305. /package/dist/assets/{definitions-PikNVFdS.js → definitions-D_AmTPWg.js} +0 -0
  306. /package/dist/assets/{definitions-OhJf_HMS.js → definitions-JF3PcEff.js} +0 -0
  307. /package/dist/assets/{dictation-overlay-page-zpoNqudq.js → dictation-overlay-page-DtgaXzdF.js} +0 -0
  308. /package/dist/assets/{edge-swipe-arbiter-store-DyemvsR-.js → edge-swipe-arbiter-store-CQnDi2yf.js} +0 -0
  309. /package/dist/assets/{edit-chat-session-yPtopwB6.js → edit-chat-session-D37Qx6ol.js} +0 -0
  310. /package/dist/assets/{emoji-catalog-data-COLzb2Wj.js → emoji-catalog-data-BCc1YNMR.js} +0 -0
  311. /package/dist/assets/{environment-store-BFVmN-OW.js → environment-store-Bft0lpgv.js} +0 -0
  312. /package/dist/assets/{esm-DEY-lP80.js → esm-DNvorKcw.js} +0 -0
  313. /package/dist/assets/{external-urls-BYwuIdYk.js → external-urls-_vjsdj2L.js} +0 -0
  314. /package/dist/assets/{file-editor-DpNdd7HZ.js → file-editor-phorJEVv.js} +0 -0
  315. /package/dist/assets/{format-date-RZ9mCDCy.js → format-date-BGnM4mqL.js} +0 -0
  316. /package/dist/assets/{format-file-size-CQaPE33p.js → format-file-size-BgMTiWPt.js} +0 -0
  317. /package/dist/assets/{hard-navigate-DZlpL1No.js → hard-navigate-DyUrcxe0.js} +0 -0
  318. /package/dist/assets/{link-click-BoSQACXo.js → link-click-DLYgWZdo.js} +0 -0
  319. /package/dist/assets/{misc-DckBb5zz.js → misc-CuYswARt.js} +0 -0
  320. /package/dist/assets/{mutation-error-CwYvaYnb.js → mutation-error-DEknRDAQ.js} +0 -0
  321. /package/dist/assets/{native-deep-link-PvbVHiPM.js → native-deep-link-DCBJ-Rw0.js} +0 -0
  322. /package/dist/assets/{oauth-popup-DZEqljdC.js → oauth-popup-OhSYYlQF.js} +0 -0
  323. /package/dist/assets/{onboarding-step-layout-CURfuoh4.js → onboarding-step-layout-D9rghAjS.js} +0 -0
  324. /package/dist/assets/{optimistic-lifecycle-C2a6IJ7E.js → optimistic-lifecycle-BINTsVFx.js} +0 -0
  325. /package/dist/assets/{pdf-IQXtc7_x.js → pdf-BlwLcQAc.js} +0 -0
  326. /package/dist/assets/{plugin-attribution-DCFEMRUF.js → plugin-attribution-DrwveSW_.js} +0 -0
  327. /package/dist/assets/{plugins-surface-D4i2vqBz.js → plugins-surface-B43Op43l.js} +0 -0
  328. /package/dist/assets/{pointer-RLpjGG7A.js → pointer-BbPfN86L.js} +0 -0
  329. /package/dist/assets/{prechat-DIuViPZk.js → prechat-CeL4a_1i.js} +0 -0
  330. /package/dist/assets/{profile-metadata-h4CTeMKT.js → profile-metadata-BhqRdqUJ.js} +0 -0
  331. /package/dist/assets/{proxy-RtD8704m.js → proxy-D7UPVac3.js} +0 -0
  332. /package/dist/assets/{public-asset-CbDDcomC.js → public-asset-BBVUuTT_.js} +0 -0
  333. /package/dist/assets/{react-query.gen-Mwd5l-vZ.js → react-query.gen-BC3STDmV.js} +0 -0
  334. /package/dist/assets/{research-facts-UIXXE8D6.js → research-facts-B7Ev1zv0.js} +0 -0
  335. /package/dist/assets/{research-onboarding-persistence-CceFfAqE.js → research-onboarding-persistence-51lJoYJ2.js} +0 -0
  336. /package/dist/assets/{sandbox-bridge-DgDrAWv3.js → sandbox-bridge-BxW8HZq_.js} +0 -0
  337. /package/dist/assets/{sdk.gen-DPKrJeho.js → sdk.gen-B5ygTzyg.js} +0 -0
  338. /package/dist/assets/{setting-row-0LXvW7Kh.js → setting-row-BwXKepmJ.js} +0 -0
  339. /package/dist/assets/{status-badge-pill-z1OKPW3B.js → status-badge-pill-wJPMXQk1.js} +0 -0
  340. /package/dist/assets/{theme-preferences-ln8xC5zH.js → theme-preferences-Bb2pPRXa.js} +0 -0
  341. /package/dist/assets/{three-dot-indicator-SJcKW5cG.js → three-dot-indicator-BMvKQ_On.js} +0 -0
  342. /package/dist/assets/{use-bus-subscription-Cu4Y9DQi.js → use-bus-subscription-nUrbz9Mu.js} +0 -0
  343. /package/dist/assets/{use-copy-to-clipboard-DBVpNZOl.js → use-copy-to-clipboard-cF7ZSilD.js} +0 -0
  344. /package/dist/assets/{use-is-mobile-Bz2l7wPL.js → use-is-mobile-BlQuzI5Z.js} +0 -0
  345. /package/dist/assets/{web-7I6Bn0iP.js → web-9Cwi5jnT.js} +0 -0
  346. /package/dist/assets/{web-CBluPLFP.js → web-Bi-BvsRt.js} +0 -0
  347. /package/dist/assets/{web-Cmg3AbZk.js → web-D486_dlv.js} +0 -0
  348. /package/dist/assets/{web-DHVjLzid.js → web-DUb4LJ2M.js} +0 -0
  349. /package/dist/assets/{web-BEpNr5_U.js → web-l9DWMZeA.js} +0 -0
  350. /package/dist/assets/{web-BPyURh2Z.js → web-sr1ba6fP.js} +0 -0
  351. /package/dist/assets/{workflow-status-DXdUkbSd.js → workflow-status-HyIIhMBP.js} +0 -0
  352. /package/dist/assets/{workspace-theme-tokens-J8dqkK9n.js → workspace-theme-tokens-DNNwX-XS.js} +0 -0
  353. /package/dist/assets/{xterm-CdT0HObJ.js → xterm-DgGqTfet.js} +0 -0
  354. /package/dist/assets/{xterm-addon-fit-CPcVj1i5.js → xterm-addon-fit-BVObYBMM.js} +0 -0
@@ -1 +1 @@
1
- import{t as e}from"./createLucideIcon-CAM1RhH8.js";import{Un as t}from"./sdk.gen-BVAVE6A_.js";import{st as n}from"./react-query.gen-r3I6j8-1.js";var r=e(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]),i=300*1e3;function a(e){return{queryKey:n({path:{assistant_id:e},query:{q:void 0}}),queryFn:async({signal:n})=>{let r=await t({path:{assistant_id:e},query:{q:void 0},signal:n,throwOnError:!1});if(r.response?.status===404)return{plugins:[]};if(!r.response?.ok)throw Error(`Failed to load plugins`);return r.data??{plugins:[]}},staleTime:i}}export{r as n,a as t};
1
+ import{t as e}from"./createLucideIcon-CAM1RhH8.js";import{Un as t}from"./sdk.gen-BHZ0fJla.js";import{st as n}from"./react-query.gen-C5c1Acuq.js";var r=e(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]),i=300*1e3;function a(e){return{queryKey:n({path:{assistant_id:e},query:{q:void 0}}),queryFn:async({signal:n})=>{let r=await t({path:{assistant_id:e},query:{q:void 0},signal:n,throwOnError:!1});if(r.response?.status===404)return{plugins:[]};if(!r.response?.ok)throw Error(`Failed to load plugins`);return r.data??{plugins:[]}},staleTime:i}}export{r as n,a as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./createLucideIcon-CAM1RhH8.js";import{t as i}from"./public-asset-CbDDcomC.js";var a=r(`power`,[[`path`,{d:`M12 2v10`,key:`mnfbl`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`,key:`obofu9`}]]),o=e(t(),1),s=n();function c({size:e=24,className:t,style:n}){return(0,s.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 48 48`,width:e,height:e,className:t,style:n,"aria-hidden":!0,children:[(0,s.jsx)(`path`,{fill:`#EA4335`,d:`M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z`}),(0,s.jsx)(`path`,{fill:`#4285F4`,d:`M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z`}),(0,s.jsx)(`path`,{fill:`#FBBC05`,d:`M10.53 28.59a14.5 14.5 0 0 1 0-9.18l-7.97-6.19A23.99 23.99 0 0 0 0 24c0 3.77.9 7.35 2.56 10.78l7.97-6.19z`}),(0,s.jsx)(`path`,{fill:`#34A853`,d:`M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z`})]})}var l={github:i(`/images/integrations/github.svg`),linear:i(`/images/integrations/linear-light-logo.svg`),notion:i(`/images/integrations/notion.svg`),outlook:i(`/images/integrations/outlook.png`),slack:i(`/images/integrations/slack.svg`)},u=[`bg-sky-500`,`bg-violet-500`,`bg-fuchsia-500`,`bg-teal-500`,`bg-orange-500`,`bg-amber-500`,`bg-rose-500`,`bg-indigo-500`];function d(e){let t=0;for(let n=0;n<e.length;n+=1)t=(t+e.charCodeAt(n))%(2**53-1);return u[t%u.length]??u[0]}function f({providerKey:e,displayName:t,logoUrl:n,size:r=32}){let[i,a]=(0,o.useState)(!1),u=e.toLowerCase(),f=n??l[u],p=(t??e).slice(0,2).toUpperCase(),m=d(e);return u===`google`?(0,s.jsx)(c,{size:r,className:`shrink-0 rounded-md object-contain`,style:{width:r,height:r}}):f&&!i?(0,s.jsx)(`img`,{src:f,alt:``,width:r,height:r,style:{width:r,height:r},className:`shrink-0 rounded-md object-contain`,onError:()=>a(!0)}):(0,s.jsx)(`div`,{style:{width:r,height:r,fontSize:r*.4},className:`flex shrink-0 items-center justify-center rounded-full font-semibold text-white ${m}`,"aria-hidden":`true`,children:p})}export{a as n,f as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./createLucideIcon-CAM1RhH8.js";import{t as i}from"./public-asset-BBVUuTT_.js";var a=r(`power`,[[`path`,{d:`M12 2v10`,key:`mnfbl`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`,key:`obofu9`}]]),o=e(t(),1),s=n();function c({size:e=24,className:t,style:n}){return(0,s.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 48 48`,width:e,height:e,className:t,style:n,"aria-hidden":!0,children:[(0,s.jsx)(`path`,{fill:`#EA4335`,d:`M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z`}),(0,s.jsx)(`path`,{fill:`#4285F4`,d:`M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z`}),(0,s.jsx)(`path`,{fill:`#FBBC05`,d:`M10.53 28.59a14.5 14.5 0 0 1 0-9.18l-7.97-6.19A23.99 23.99 0 0 0 0 24c0 3.77.9 7.35 2.56 10.78l7.97-6.19z`}),(0,s.jsx)(`path`,{fill:`#34A853`,d:`M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z`})]})}var l={github:i(`/images/integrations/github.svg`),linear:i(`/images/integrations/linear-light-logo.svg`),notion:i(`/images/integrations/notion.svg`),outlook:i(`/images/integrations/outlook.png`),slack:i(`/images/integrations/slack.svg`)},u=[`bg-sky-500`,`bg-violet-500`,`bg-fuchsia-500`,`bg-teal-500`,`bg-orange-500`,`bg-amber-500`,`bg-rose-500`,`bg-indigo-500`];function d(e){let t=0;for(let n=0;n<e.length;n+=1)t=(t+e.charCodeAt(n))%(2**53-1);return u[t%u.length]??u[0]}function f({providerKey:e,displayName:t,logoUrl:n,size:r=32}){let[i,a]=(0,o.useState)(!1),u=e.toLowerCase(),f=n??l[u],p=(t??e).slice(0,2).toUpperCase(),m=d(e);return u===`google`?(0,s.jsx)(c,{size:r,className:`shrink-0 rounded-md object-contain`,style:{width:r,height:r}}):f&&!i?(0,s.jsx)(`img`,{src:f,alt:``,width:r,height:r,style:{width:r,height:r},className:`shrink-0 rounded-md object-contain`,onError:()=>a(!0)}):(0,s.jsx)(`div`,{style:{width:r,height:r,fontSize:r*.4},className:`flex shrink-0 items-center justify-center rounded-full font-semibold text-white ${m}`,"aria-hidden":`true`,children:p})}export{a as n,f as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{c as t,i as n}from"./local-settings-C-dW2vkq.js";import{t as r}from"./capture-error-Bj8_eutd.js";import{t as i}from"./react-BFJW0bSv.js";import{t as a}from"./button-Dy5001j6.js";import{m as o,u as s}from"./chunk-5KNZJZUH-Bsoom5--.js";import{N as c,O as l,S as u,T as d,c as f,n as p}from"./QueryClientProvider-CMu7CkQU.js";import{a as m,c as h,d as g,i as _,l as v,o as y,r as b,s as x,t as S,u as C}from"./useQuery-Bz-fbQ-m.js";import{t as w}from"./jsx-runtime-D3ZM-ToX.js";import{t as T}from"./card-DRIctGVs.js";import{t as E}from"./createLucideIcon-CAM1RhH8.js";import{t as D}from"./check-sC49_hjU.js";import{t as O}from"./chevron-down-B5A-0g8A.js";import{t as k}from"./chevron-right-HU6H84S0.js";import{t as A}from"./circle-alert-DVCpoZrc.js";import{t as j}from"./circle-check-CjGnAahM.js";import{t as M}from"./circle-x-17dBxF06.js";import{n as N,o as P,t as F}from"./list-row-B1wPb2Au.js";import{t as I}from"./external-link-CS0aVYGt.js";import{t as L}from"./key-round-0Zop_GsZ.js";import{t as R}from"./loader-circle-XREx3i4W.js";import{t as z}from"./log-in-CqVJRYe-.js";import{t as ee}from"./log-out-B4hsBWnk.js";import{t as B}from"./pencil-D38YNe2r.js";import{t as V}from"./plus-jH3kAliM.js";import{n as te,t as H}from"./integration-icon-dv-9Zzx3.js";import{t as ne}from"./refresh-cw-DzPnoeCh.js";import{t as re}from"./search-BVW-n8to.js";import{t as ie}from"./sparkles-Ccrj7hxd.js";import{t as U}from"./trash-2-L5LNgw9o.js";import{t as ae}from"./x-JBAsSOmg.js";import{t as oe}from"./notice-BMK7xqUw.js";import{t as W}from"./popover-BRpYVASI.js";import{t as G}from"./input-hw3el2GJ.js";import{t as se}from"./toggle-lfnhEAcN.js";import{t as K}from"./modal-BR4CUFBd.js";import{n as q,t as ce}from"./panel-item-CrtoJCrd.js";import{n as J}from"./toast-LgLp4obE.js";import{t as Y}from"./confirm-dialog-UYFm4osC.js";import{Wr as X}from"./sdk.gen-BHZ0fJla.js";import{$ as le,$t as ue,Q as de,Z as fe,en as pe,et as me,nn as he,nt as ge,tn as _e,tt as ve}from"./react-query.gen-C5c1Acuq.js";import{r as ye}from"./api-errors-CFiCT7Ap.js";import{C as be}from"./auth-store-5qq59BAN.js";import{r as xe}from"./api-LG8zI3nK.js";import{m as Se}from"./native-biometric-BAMIyaSS.js";import{u as Ce}from"./routes-D9sNqB_o.js";import{i as we,t as Te}from"./use-platform-gate-C65D14xY.js";import{n as Ee,r as De}from"./browser-CTZVDjOL.js";import{n as Oe}from"./conversation-navigation-DsN0hcpL.js";import{n as ke}from"./use-is-mobile-BlQuzI5Z.js";import{Dt as Ae,Ot as je,S as Me,b as Z,x as Ne}from"./react-query.gen-BC3STDmV.js";import{t as Pe}from"./assistant-feature-flag-store-CAdgpPiS.js";import{a as Fe,i as Ie,n as Le,r as Re}from"./oauth-connection-utils-CWPUW4MK.js";import{a as ze,i as Be,n as Ve,t as He}from"./oauth-popup-OhSYYlQF.js";import{t as Ue}from"./platform-login-notice-CdYiKsE8.js";import{t as We}from"./use-active-assistant-id-CldxA_-M.js";import{t as Ge}from"./use-platform-assistant-id-DOsSt6k1.js";function Ke(e,t){let n=new Set(t);return e.filter(e=>!n.has(e))}function qe(e,t,n){let r=e.slice(0);return r[t]=n,r}var Je=class extends c{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l=[];constructor(e,t,n){super(),this.#e=e,this.#r=n,this.#n=[],this.#i=[],this.#t=[],this.setQueries(t)}onSubscribe(){this.listeners.size===1&&this.#i.forEach(e=>{e.subscribe(t=>{this.#p(e,t)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#i.forEach(e=>{e.destroy()})}setQueries(e,t){this.#n=e,this.#r=t,f.batch(()=>{let e=this.#i,t=this.#f(this.#n);t.forEach(e=>e.observer.setOptions(e.defaultedQueryOptions));let n=t.map(e=>e.observer),r=n.map(e=>e.getCurrentResult()),i=e.length!==n.length,a=n.some((t,n)=>t!==e[n]),o=i||a,s=o?!0:r.some((e,t)=>{let n=this.#t[t];return!n||!l(e,n)});!o&&!s||(o&&(this.#l=t,this.#i=n),this.#t=r,this.hasListeners()&&(o&&(Ke(e,n).forEach(e=>{e.destroy()}),Ke(n,e).forEach(e=>{e.subscribe(t=>{this.#p(e,t)})})),this.#m()))})}getCurrentResult(){return this.#t}getQueries(){return this.#i.map(e=>e.getCurrentQuery())}getObservers(){return this.#i}getOptimisticResult(e,t){let n=this.#f(e),r=n.map(e=>e.observer.getOptimisticResult(e.defaultedQueryOptions)),i=n.map(e=>e.defaultedQueryOptions.queryHash);return[r,e=>this.#d(e??r,t,i),()=>this.#u(r,n)]}#u(e,t){return t.map((n,r)=>{let i=e[r];return n.defaultedQueryOptions.notifyOnChangeProps?i:n.observer.trackResult(i,e=>{t.forEach(t=>{t.observer.trackProp(e)})})})}#d(e,t,n){if(t){let r=this.#c,i=n!==void 0&&r!==void 0&&(r.length!==n.length||n.some((e,t)=>e!==r[t]));return(!this.#a||this.#t!==this.#s||i||t!==this.#o)&&(this.#o=t,this.#s=this.#t,n!==void 0&&(this.#c=n),this.#a=d(this.#a,t(e))),this.#a}return e}#f(e){let t=new Map;this.#i.forEach(e=>{let n=e.options.queryHash;if(!n)return;let r=t.get(n);r?r.push(e):t.set(n,[e])});let n=[];return e.forEach(e=>{let r=this.#e.defaultQueryOptions(e),i=t.get(r.queryHash)?.shift()??new g(this.#e,r);n.push({defaultedQueryOptions:r,observer:i})}),n}#p(e,t){let n=this.#i.indexOf(e);n!==-1&&(this.#t=qe(this.#t,n,t),this.#m())}#m(){if(this.hasListeners()){let e=this.#a,t=this.#u(this.#t,this.#l);e!==this.#d(t,this.#r?.combine)&&f.batch(()=>{this.listeners.forEach(e=>{e(this.#t)})})}}},Q=e(i(),1);function Ye({queries:e,...t},n){let r=p(n),i=C(),a=v(),o=Q.useMemo(()=>e.map(e=>{let t=r.defaultQueryOptions(e);return t._optimisticResults=i?`isRestoring`:`optimistic`,t}),[e,r,i]);o.forEach(e=>{b(e),y(e,a,r.getQueryCache().get(e.queryHash))}),h(a);let[s]=Q.useState(()=>new Je(r,o,t)),[c,l,d]=s.getOptimisticResult(o,t.combine),S=!i&&t.subscribed!==!1;Q.useSyncExternalStore(Q.useCallback(e=>S?s.subscribe(f.batchCalls(e)):u,[s,S]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),Q.useEffect(()=>{s.setQueries(o,t)},[o,t,s]);let w=c.some((e,t)=>m(o[t],e))?c.flatMap((e,t)=>{let n=o[t];return n&&m(n,e)?_(n,new g(r,n),a):[]}):[];if(w.length>0)throw Promise.all(w);let T=c.find((e,t)=>{let n=o[t];return n&&x({result:e,errorResetBoundary:a,throwOnError:n.throwOnError,query:r.getQueryCache().get(n.queryHash),suspense:n.suspense})});if(T?.error)throw T.error;return l(d())}var Xe=E(`cable`,[[`path`,{d:`M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z`,key:`trhst0`}],[`path`,{d:`M17 21v-2`,key:`ds4u3f`}],[`path`,{d:`M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10`,key:`1mo9zo`}],[`path`,{d:`M21 21v-2`,key:`eo0ou`}],[`path`,{d:`M3 5V3`,key:`1k5hjh`}],[`path`,{d:`M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z`,key:`1dd30t`}],[`path`,{d:`M7 5V3`,key:`1t1388`}]]),Ze=E(`calendar-plus`,[[`path`,{d:`M16 19h6`,key:`xwg31i`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`path`,{d:`M19 16v6`,key:`tddt3s`}],[`path`,{d:`M21 12.598V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5`,key:`1glfrc`}],[`path`,{d:`M3 10h18`,key:`8toen8`}],[`path`,{d:`M8 2v4`,key:`1cmpym`}]]);function Qe({assistantId:e,providerKey:t,displayName:n,managedAvailable:r,connectionsQueryKey:i,allConnections:a}){let o=p(),s=Se(),c=(0,Q.useRef)(null),l=(0,Q.useRef)(null),u=(0,Q.useRef)(null),d=(0,Q.useRef)(null),[f,m]=(0,Q.useState)(!1),h=()=>{l.current=null,m(!1)},g=()=>{c.current&&!c.current.closed&&c.current.close(),c.current=null,u.current&&=(clearInterval(u.current),null),d.current&&=(clearTimeout(d.current),null)},_=(0,Q.useCallback)(e=>{if(e.type!==`vellum:oauth-complete`||!l.current||e.requestId!==l.current.requestId)return;let{oauthStatus:t,oauthCode:r}=e;if(g(),h(),t===`connected`)J.success(`${n} account connected.`),o.invalidateQueries({queryKey:i});else{let e=r?`Error: ${r}`:`Authorization failed`;J.error(`${n} ${e}`)}},[i,n,o]),v=(0,Q.useCallback)(async(e,n)=>{if(!r)return!1;for(let r=0;r<8;r+=1){r>0&&await Ie(750);try{if(o.invalidateQueries({queryKey:i}),Re(await o.fetchQuery({...Z({path:{assistant_id:e}}),staleTime:0}),t,n))return!0}catch{}}return!1},[i,r,t,o]);(0,Q.useEffect)(()=>{let e=e=>{let t=l.current;if(!t)return;let n=He(e,window.location.origin,t.requestId);n&&_(n)},t=e=>{let t=l.current;if(!t)return;let n=Ve(e,t.requestId);n&&(_(n),window.localStorage.removeItem(Be(t.requestId)))};return window.addEventListener(`message`,e),window.addEventListener(`storage`,t),()=>{window.removeEventListener(`message`,e),window.removeEventListener(`storage`,t)}},[_]),Fe((0,Q.useCallback)(e=>{let t=l.current;t&&e.requestId===t.requestId&&_({type:`vellum:oauth-complete`,requestId:e.requestId,oauthStatus:e.oauthStatus,oauthProvider:e.oauthProvider,oauthCode:e.oauthCode})},[_])),(0,Q.useEffect)(()=>De(()=>{let e=l.current;e&&(async()=>{let t=await v(e.platformAssistantId,e.baselineConnectionSignatures);l.current&&(h(),t&&J.success(`${n} account connected.`))})()}),[v,n]),(0,Q.useEffect)(()=>()=>{u.current&&clearInterval(u.current),d.current&&clearTimeout(d.current),c.current&&!c.current.closed&&c.current.close()},[]);let y=je();return{handleConnect:(i=[])=>{if(!r)return;let f=crypto.randomUUID();m(!0);let p=async r=>{let c;try{c=await be(e)}catch(e){g(),h(),J.error(e instanceof Error?e.message:`Failed to start ${n} authorization.`);return}let u=Le(await o.fetchQuery({...Z({path:{assistant_id:c}}),staleTime:0}).catch(()=>c===e?a??[]:[]),t);l.current={requestId:f,provider:t,platformAssistantId:c,baselineConnectionSignatures:u},y.mutate({path:{assistant_id:c,provider:t},body:{requested_scopes:i,redirect_after_connect:`${Ce.account.oauth.popupComplete}?requestId=${f}${s?`&native=1`:``}`}},{onSuccess(e){if(s){Ee(e.connect_url);return}r&&!r.closed?r.location.href=e.connect_url:l.current&&(g(),h(),J.error(`${n} connection failed: popup closed.`))},onError(e){g(),h();let t=ye(e,void 0,`Failed to start ${n} authorization.`);J.error(t)}})};if(s){p(null);return}let b=window.open(``,`_blank`,`width=500,height=600`);if(b===null){h(),J.error(`Popup blocked. Please enable popups and try again.`);return}c.current=b,u.current=setInterval(()=>{c.current&&c.current.closed&&l.current&&!d.current&&(d.current=setTimeout(async()=>{d.current=null;let e=l.current;if(!e)return;let t=window.localStorage.getItem(Be(e.requestId));if(t){let n=ze(t);if(n&&n.requestId===e.requestId){_(n),window.localStorage.removeItem(Be(e.requestId));return}}let r=await v(e.platformAssistantId,e.baselineConnectionSignatures);if(l.current){if(r){g(),h(),J.success(`${n} account connected.`);return}g(),h(),J.error(`${n} connection failed: authorization popup closed.`)}},1e3))},100),p(b)},oauthInProgress:f,startOAuthPending:y.isPending}}var $=w();function $e({displayName:e,providerKey:t,logoUrl:n,connections:r,connectionsLoading:i,startPending:o,oauthInProgress:s,disconnectingId:c,onConnect:l,onDisconnect:u,connectPresets:d=[]}){let f=o||s;return i?(0,$.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,$.jsx)(R,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})}):r.length===0?o||s?(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-10`,children:[(0,$.jsx)(H,{providerKey:t,displayName:e,logoUrl:n,size:48}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,$.jsx)(R,{className:`h-3.5 w-3.5 animate-spin`}),`Waiting for authorization...`]})]}):(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-10`,children:[(0,$.jsx)(H,{providerKey:t,displayName:e,logoUrl:n,size:48}),(0,$.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:`Connect Account to continue`}),(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,$.jsx)(a,{variant:`primary`,size:`compact`,leftIcon:(0,$.jsx)(V,{}),onClick:()=>l(),disabled:f,children:`Connect Account`}),d.map(e=>(0,$.jsx)(a,{variant:`outlined`,size:`compact`,leftIcon:(0,$.jsx)(Ze,{}),onClick:()=>l(e.scopes),disabled:f,children:e.label},e.id))]})]}):(0,$.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)]`,children:[(0,$.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)]`,children:r.map(r=>{let i=c===r.id;return(0,$.jsxs)(`li`,{className:`flex items-center gap-3 px-4 py-3`,children:[(0,$.jsx)(H,{providerKey:t,displayName:e,logoUrl:n,size:20}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default text-[var(--content-default)]`,children:r.account_label??`${e} Account`}),(0,$.jsx)(a,{variant:`dangerOutline`,size:`compact`,iconOnly:i?(0,$.jsx)(R,{className:`animate-spin`}):(0,$.jsx)(U,{}),onClick:()=>u(r),disabled:i,"aria-label":`Disconnect ${r.account_label??`${e} account`}`})]},r.id)})}),(0,$.jsx)(`div`,{className:`border-t border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:f?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,$.jsx)(R,{className:`h-3.5 w-3.5 animate-spin`}),`Waiting for authorization...`]}):(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsx)(a,{variant:`primary`,size:`compact`,leftIcon:(0,$.jsx)(I,{}),onClick:()=>l(),disabled:f,children:`Connect account`}),d.map(e=>(0,$.jsx)(a,{variant:`outlined`,size:`compact`,leftIcon:(0,$.jsx)(Ze,{}),onClick:()=>l(e.scopes),disabled:f,children:e.label},e.id))]})})]})}function et(e){return e.length>16?`${e.slice(0,12)}…${e.slice(-4)}`:e.length>8?`${e.slice(0,8)}…`:e}function tt(e){try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function nt({assistantId:e,providerKey:t,displayName:n,logoUrl:r}){let i=p(),o=S({...le({path:{assistant_id:e},query:{provider_key:t}}),select:e=>e.apps}),s=S({...ve({path:{assistant_id:e,providerKey:t}}),select:e=>e.oauth_callback_url}),c=o.data??[],l=s.data??null,u=Ye({queries:c.map(t=>({...fe({path:{assistant_id:e,appId:t.id}}),select:e=>e.connections}))}),d={};c.forEach((e,t)=>{d[e.id]=u[t]?.data??[]});let f=me({path:{assistant_id:e},query:{provider_key:t}}),m=_e({onSuccess:()=>{i.invalidateQueries({queryKey:f}),x(``),w(``),y(!1),J.success(`${n} OAuth app added.`)},onError:e=>{J.error(e.message||`Failed to create OAuth app`)}}),h=pe({onSuccess:()=>{i.invalidateQueries({queryKey:f}),J.success(`OAuth app deleted.`)},onError:e=>{J.error(e.message||`Failed to delete OAuth app`)}}),g=ue({onSuccess:e=>{`auth_url`in e&&(window.location.href=e.auth_url)},onError:e=>{J.error(e.message||`Failed to start OAuth flow`)}}),_=he(),[v,y]=(0,Q.useState)(!1),[b,x]=(0,Q.useState)(``),[C,w]=(0,Q.useState)(``),[E,O]=(0,Q.useState)(!1),[k,A]=(0,Q.useState)(null),[j,M]=(0,Q.useState)(null),N=m.isPending,F=h.isPending?h.variables?.path?.id??null:null,L=g.isPending?g.variables?.path?.appId??null:null,z=_.isPending?_.variables?.path?.id??null:null,ee=()=>{let n=b.trim(),r=C.trim();!n||!r||m.mutate({path:{assistant_id:e},body:{provider_key:t,client_id:n,client_secret:r}})},B=()=>{let t=k;A(null),t&&h.mutate({path:{assistant_id:e,id:t.id}})},te=t=>{g.mutate({path:{assistant_id:e,appId:t.id},body:{callback_transport:`gateway`,scopes:[]}})};return o.isLoading?(0,$.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,$.jsx)(R,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})}):(0,$.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[c.length===0||v?(0,$.jsx)(T.Root,{children:(0,$.jsxs)(T.Body,{className:`flex flex-col gap-3`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:c.length===0?`Add your own ${n} OAuth app`:`Add another ${n} OAuth app`}),(0,$.jsx)(`p`,{className:`text-body-small-default leading-relaxed text-[var(--content-tertiary)]`,children:`Credentials are stored encrypted on the assistant and are never sent to Vellum.`})]}),l?(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Redirect URL`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(G,{type:`text`,value:l,readOnly:!0,fullWidth:!0}),(0,$.jsx)(a,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{navigator.clipboard.writeText(l).then(()=>{O(!0),J.success(`Copied to clipboard!`),setTimeout(()=>O(!1),2e3)})},"aria-label":E?`Copied`:`Copy redirect URL`,iconOnly:E?(0,$.jsx)(D,{"aria-hidden":!0}):(0,$.jsx)(P,{"aria-hidden":!0})})]}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Add this URL to your OAuth app's redirect settings.`})]}):null,(0,$.jsx)(G,{label:`Client ID`,type:`text`,value:b,onChange:e=>x(e.target.value),placeholder:`Enter your client ID`,fullWidth:!0}),(0,$.jsx)(G,{label:`Client Secret`,type:`password`,value:C,onChange:e=>w(e.target.value),placeholder:`Enter your client secret`,fullWidth:!0}),(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2 pt-1`,children:[c.length>0?(0,$.jsx)(a,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{y(!1),x(``),w(``)},disabled:N,children:`Cancel`}):null,(0,$.jsx)(a,{type:`button`,size:`compact`,onClick:ee,disabled:N||!b.trim()||!C.trim(),leftIcon:N?(0,$.jsx)(R,{className:`animate-spin`,"aria-hidden":!0}):(0,$.jsx)(V,{"aria-hidden":!0}),children:`Add App`})]})]})}):null,c.map(e=>{let i=d[e.id]??[],o=F===e.id,s=L===e.id;return(0,$.jsx)(T.Root,{children:(0,$.jsxs)(T.Body,{className:`flex flex-col gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 space-y-0.5`,children:[(0,$.jsx)(`p`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:et(e.client_id)}),(0,$.jsxs)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[`Added `,tt(e.created_at)]})]}),(0,$.jsx)(a,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>A(e),disabled:o,"aria-label":`Delete OAuth app ${et(e.client_id)}`,iconOnly:o?(0,$.jsx)(R,{className:`animate-spin`,"aria-hidden":!0}):(0,$.jsx)(U,{"aria-hidden":!0})})]}),i.length>0?(0,$.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)] overflow-hidden rounded-md border border-[var(--border-base)] dark:divide-[var(--border-base)] dark:border-[var(--border-base)]`,children:i.map(i=>{let o=z===i.id;return(0,$.jsxs)(`li`,{className:`flex items-center gap-3 px-3 py-2`,children:[(0,$.jsx)(H,{providerKey:t,displayName:n,logoUrl:r,size:18}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-lighter text-[var(--content-default)]`,children:i.account_info??`${n} Account`}),(0,$.jsx)(a,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>M({appId:e.id,connection:i}),disabled:o,"aria-label":`Disconnect ${i.account_info??`${n} account`}`,iconOnly:o?(0,$.jsx)(R,{className:`animate-spin`,"aria-hidden":!0}):(0,$.jsx)(U,{"aria-hidden":!0})})]},i.id)})}):null,(0,$.jsx)(a,{type:`button`,size:`compact`,onClick:()=>te(e),disabled:s,className:`w-full`,leftIcon:s?(0,$.jsx)(R,{className:`animate-spin`,"aria-hidden":!0}):(0,$.jsx)(I,{"aria-hidden":!0}),children:s?`Waiting for authorization...`:`Connect account`})]})},e.id)}),c.length>0&&!v?(0,$.jsx)(a,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>y(!0),className:`w-full border-dashed`,leftIcon:(0,$.jsx)(V,{"aria-hidden":!0}),children:`Add Another App`}):null,(0,$.jsx)(Y,{open:k!==null,title:`Delete OAuth app`,message:k?`Delete OAuth app '${et(k.client_id)}'? This will disconnect all linked accounts.`:``,confirmLabel:`Delete`,destructive:!0,onConfirm:B,onCancel:()=>A(null)}),(0,$.jsx)(Y,{open:j!==null,title:`Disconnect ${n}?`,message:j?`Disconnect ${j.connection.account_info??`${n} Account`}? You can reconnect later.`:``,confirmLabel:`Disconnect`,destructive:!0,onConfirm:()=>{let t=j;M(null),t&&_.mutate({path:{assistant_id:e,id:t.connection.id}},{onSuccess:()=>{let r=de({path:{assistant_id:e,appId:t.appId}});i.invalidateQueries({queryKey:r}),i.invalidateQueries({queryKey:f}),J.success(`${n} account disconnected.`)},onError:e=>{J.error(e.message||`Failed to disconnect account`)}})},onCancel:()=>M(null)})]})}var rt={};function it(e){return rt[e]??[]}function at({assistantId:e,platformAssistantId:t,providerKey:n,displayName:r,description:i,logoUrl:o,platformGate:s,onClose:c}){let l=p(),u=s===`full`,d=!Te(),[f,m]=(0,Q.useState)(s===`gated`&&d?`your-own`:`managed`);(0,Q.useEffect)(()=>{!d&&f===`your-own`&&m(`managed`)},[d,f]);let[h,g]=(0,Q.useState)(null),[_,v]=(0,Q.useState)(null),y=Ne({path:{assistant_id:t}}),{data:b,isLoading:x}=S({...Z({path:{assistant_id:t}}),enabled:u}),C=(b??[]).filter(e=>e.provider===n&&e.connected),{handleConnect:w,oauthInProgress:T,startOAuthPending:E}=Qe({assistantId:e,providerKey:n,displayName:r,managedAvailable:u,connectionsQueryKey:y,allConnections:b}),D={path:{assistant_id:t}},O=Ae({onSuccess(e,t){J.success(`${r} account disconnected.`);let n=t.path.connection_id;Me(l,D,e=>e?.filter(e=>e.id!==n)),l.invalidateQueries({queryKey:y}),g(null)},onError(e){let t=ye(e,void 0,`Failed to disconnect ${r} account.`);J.error(t),g(null)}});(0,Q.useEffect)(()=>{let e=e=>{e.key===`Escape`&&c()};document.addEventListener(`keydown`,e);let t=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.removeEventListener(`keydown`,e),document.body.style.overflow=t}},[c]);let k=e=>{v(e)},A=()=>{let e=_;v(null),e&&(g(e.id),O.mutate({path:{assistant_id:t,connection_id:e.id}}))},j=i?`Configure ${r} OAuth for ${i}`:`Configure ${r} OAuth`;return(0,$.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4`,children:[(0,$.jsxs)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-labelledby":`integration-modal-title`,className:`flex w-full max-w-[520px] flex-col overflow-hidden rounded-xl bg-white shadow-xl dark:bg-[var(--surface-lift)]`,children:[(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-3 border-b border-[var(--border-base)] px-5 py-4 dark:border-[var(--border-base)]`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(H,{providerKey:n,displayName:r,logoUrl:o,size:32}),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`h2`,{id:`integration-modal-title`,className:`text-title-small text-[var(--content-default)]`,children:[r,` OAuth`]}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:j})]})]}),(0,$.jsx)(a,{variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(ae,{}),"aria-label":`Close`,onClick:c})]}),(0,$.jsxs)(`div`,{className:`space-y-4 px-5 py-4`,children:[s!==`gated`&&d&&(0,$.jsxs)(`div`,{role:`tablist`,"aria-label":`OAuth mode`,className:`flex w-full rounded-md border border-[var(--border-base)] bg-[var(--surface-base)] p-0.5 dark:border-[var(--border-base)] dark:bg-[var(--surface-base)]/40`,children:[(0,$.jsx)(ot,{active:f===`managed`,onClick:()=>m(`managed`),children:`Managed`}),(0,$.jsx)(ot,{active:f===`your-own`,onClick:()=>m(`your-own`),children:`Your Own`})]}),f===`managed`&&s!==`gated`?s===`disabled`?(0,$.jsx)(Ue,{children:`Log in to the Vellum platform to manage OAuth connections.`}):(0,$.jsx)($e,{displayName:r,providerKey:n,logoUrl:o,connections:C,connectionsLoading:x,startPending:E,oauthInProgress:T,disconnectingId:O.isPending?h:null,onConnect:w,onDisconnect:k,connectPresets:it(n)}):d?(0,$.jsx)(nt,{assistantId:e,providerKey:n,displayName:r,logoUrl:o}):null]}),(0,$.jsx)(`div`,{className:`flex justify-end border-t border-[var(--border-base)] px-5 py-3 dark:border-[var(--border-base)]`,children:(0,$.jsx)(a,{variant:`outlined`,size:`compact`,onClick:c,children:`Confirm`})})]}),(0,$.jsx)(Y,{open:_!==null,title:`Disconnect ${r}?`,message:_?`Disconnect ${_.account_label??`${r} Account`}? You can reconnect later.`:``,confirmLabel:`Disconnect`,destructive:!0,onConfirm:A,onCancel:()=>v(null)})]})}function ot({active:e,onClick:t,children:n}){return(0,$.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":e,onClick:t,className:`flex-1 cursor-pointer rounded-[5px] px-3 py-1.5 text-body-medium-default transition-colors ${e?`bg-white text-[var(--content-default)] shadow-sm dark:bg-[var(--surface-lift)] dark:text-[var(--content-default)]`:`text-[var(--content-secondary)] hover:text-[var(--content-default)] dark:text-[var(--content-disabled)] dark:hover:text-[var(--content-default)]`}`,children:n})}function st({platformAssistantId:e,providerKey:t,displayName:n,description:r,logoUrl:i,connection:o,platformGate:s,onConfigure:c}){let l=p(),u=!!o?.connected,[d,f]=(0,Q.useState)(!1),[m,h]=(0,Q.useState)(!1),g=ke(),_=Ne({path:{assistant_id:e}}),v={path:{assistant_id:e}},y=Ae({onSuccess(e,t){J.success(`${n} account disconnected.`);let r=t.path.connection_id;Me(l,v,e=>e?.filter(e=>e.id!==r)),l.invalidateQueries({queryKey:_})},onError(e){let t=ye(e,void 0,`Failed to disconnect ${n} account.`);J.error(t)}}),b=()=>{o?.id&&h(!0)};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(T.Root,{children:(0,$.jsxs)(T.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,$.jsx)(H,{providerKey:t,displayName:n,logoUrl:i,size:32}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:n}),r&&(0,$.jsx)(`p`,{className:`truncate text-body-medium-lighter text-[var(--content-tertiary)]`,children:r})]}),u&&s===`full`?(0,$.jsx)(`div`,{className:`shrink-0`,children:(0,$.jsx)(ct,{displayName:n,open:d,onOpenChange:f,onEditConnections:()=>{f(!1),c()},onDisable:()=>{f(!1),b()},disablePending:y.isPending,isMobile:g})}):(0,$.jsx)(a,{variant:`primary`,onClick:c,className:`shrink-0`,children:`Enable`})]})}),(0,$.jsx)(Y,{open:m,title:`Disconnect ${n}?`,message:`Disconnect your ${n} account? You can reconnect it later.`,confirmLabel:`Disconnect`,destructive:!0,onConfirm:()=>{h(!1),o?.id&&y.mutate({path:{assistant_id:e,connection_id:o.id}})},onCancel:()=>h(!1)})]})}function ct({displayName:e,open:t,onOpenChange:n,onEditConnections:r,onDisable:i,disablePending:o,isMobile:s}){return s?(0,$.jsxs)(q.Root,{open:t,onOpenChange:n,children:[(0,$.jsx)(q.Trigger,{asChild:!0,children:(0,$.jsx)(a,{variant:`outlined`,rightIcon:(0,$.jsx)(O,{}),"aria-haspopup":`menu`,"aria-expanded":t,children:`Configure`})}),(0,$.jsxs)(q.Content,{children:[(0,$.jsx)(q.Header,{children:(0,$.jsx)(q.Title,{children:e})}),(0,$.jsxs)(q.Body,{children:[(0,$.jsx)(ce,{icon:B,label:`Edit connections`,onSelect:r}),(0,$.jsx)(ce,{icon:o?R:M,label:`Disable`,onSelect:()=>{o||i()}})]})]})]}):(0,$.jsxs)(W.Root,{open:t,onOpenChange:n,children:[(0,$.jsx)(W.Trigger,{asChild:!0,children:(0,$.jsx)(a,{variant:`outlined`,rightIcon:(0,$.jsx)(O,{}),"aria-haspopup":`menu`,"aria-expanded":t,children:`Configure`})}),(0,$.jsxs)(W.Content,{align:`end`,sideOffset:4,role:`menu`,className:`w-56 overflow-hidden p-0`,children:[(0,$.jsx)(a,{type:`button`,role:`menuitem`,variant:`ghost`,onClick:r,className:`w-full justify-start rounded-none`,leftIcon:(0,$.jsx)(B,{"aria-hidden":!0}),children:`Edit connections`}),(0,$.jsx)(a,{type:`button`,role:`menuitem`,variant:`dangerGhost`,onClick:i,disabled:o,className:`w-full justify-start rounded-none`,leftIcon:o?(0,$.jsx)(R,{className:`animate-spin`,"aria-hidden":!0}):(0,$.jsx)(M,{"aria-hidden":!0}),children:`Disable`})]})]})}var lt=[{value:`none`,label:`None`},{value:`oauth`,label:`OAuth`},{value:`bearer`,label:`Bearer Token`},{value:`api-key`,label:`API Key`}],ut=[{value:`sse`,label:`SSE`},{value:`streamable-http`,label:`Streamable HTTP`},{value:`stdio`,label:`Stdio (command)`}];function dt({open:e,onClose:t,onAdd:n,isPending:r}){let[i,o]=(0,Q.useState)(``),[s,c]=(0,Q.useState)(`sse`),[l,u]=(0,Q.useState)(``),[d,f]=(0,Q.useState)(``),[p,m]=(0,Q.useState)(``),[h,g]=(0,Q.useState)(`none`),[_,v]=(0,Q.useState)(``),[y,b]=(0,Q.useState)(`X-API-Key`),[x,S]=(0,Q.useState)(``),C=(0,Q.useCallback)(()=>{o(``),c(`sse`),u(``),f(``),m(``),g(`none`),v(``),b(`X-API-Key`),S(``)},[]),w=(0,Q.useCallback)(()=>{r||(C(),t())},[r,C,t]),T=(0,Q.useCallback)(()=>{let e=i.trim();if(!e)return;let t={name:e,transportType:s};if(s===`stdio`){let e=d.trim();if(!e)return;t.command=e;let n=p.trim();n&&(t.args=n.split(/\s+/))}else{let e=l.trim();if(!e)return;t.url=e,h===`bearer`&&_.trim()?t.headers={Authorization:`Bearer ${_.trim()}`}:h===`api-key`&&y.trim()&&x.trim()?t.headers={[y.trim()]:x.trim()}:h===`oauth`&&(t.autoAuth=!0)}n(t)},[i,s,l,d,p,h,_,y,x,n]),E=s===`stdio`,D=i.trim()&&(E?d.trim():l.trim());return(0,$.jsx)(K.Root,{open:e,onOpenChange:e=>{e||w()},children:(0,$.jsxs)(K.Content,{size:`md`,children:[(0,$.jsxs)(K.Header,{children:[(0,$.jsx)(K.Title,{icon:Xe,children:`Add MCP Server`}),(0,$.jsx)(K.Description,{children:`Connect to a Model Context Protocol server to extend available tools.`})]}),(0,$.jsx)(K.Body,{children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-name`,children:`Server name`}),(0,$.jsx)(G,{id:`mcp-name`,type:`text`,value:i,onChange:e=>o(e.target.value),placeholder:`my-server`,fullWidth:!0,autoFocus:!0})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-transport`,children:`Transport`}),(0,$.jsx)(`select`,{id:`mcp-transport`,value:s,onChange:e=>c(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:ut.map(e=>(0,$.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),E?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-command`,children:`Command`}),(0,$.jsx)(G,{id:`mcp-command`,type:`text`,value:d,onChange:e=>f(e.target.value),placeholder:`npx -y @modelcontextprotocol/server-example`,fullWidth:!0})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-args`,children:`Arguments (space-separated)`}),(0,$.jsx)(G,{id:`mcp-args`,type:`text`,value:p,onChange:e=>m(e.target.value),placeholder:`--port 3000`,fullWidth:!0})]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-url`,children:`Server URL`}),(0,$.jsx)(G,{id:`mcp-url`,type:`url`,value:l,onChange:e=>u(e.target.value),placeholder:`https://example.com/mcp`,fullWidth:!0})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-auth`,children:`Authentication`}),(0,$.jsx)(`select`,{id:`mcp-auth`,value:h,onChange:e=>g(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:lt.map(e=>(0,$.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),h===`oauth`?(0,$.jsx)(`p`,{className:`rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-3 py-2 text-body-small-default text-[var(--content-tertiary)]`,children:`OAuth credentials will be configured through a browser-based authorization flow after the server is added.`}):null,h===`bearer`?(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-bearer`,children:`Bearer token`}),(0,$.jsx)(G,{id:`mcp-bearer`,type:`password`,value:_,onChange:e=>v(e.target.value),placeholder:`tok_...`,fullWidth:!0})]}):null,h===`api-key`?(0,$.jsxs)(`div`,{className:`flex gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-header`,children:`Header name`}),(0,$.jsx)(G,{id:`mcp-apikey-header`,type:`text`,value:y,onChange:e=>b(e.target.value),placeholder:`X-API-Key`,fullWidth:!0})]}),(0,$.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-value`,children:`API key`}),(0,$.jsx)(G,{id:`mcp-apikey-value`,type:`password`,value:x,onChange:e=>S(e.target.value),placeholder:`sk_...`,fullWidth:!0})]})]}):null]})]})}),(0,$.jsxs)(K.Footer,{children:[(0,$.jsx)(a,{variant:`ghost`,onClick:w,disabled:r,children:`Cancel`}),(0,$.jsx)(a,{variant:`primary`,onClick:T,disabled:!D||r,children:r?`Adding...`:`Add Server`})]})]})})}async function ft(e){let{data:t,response:n}=await X.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 pt(e){let{data:t,response:n}=await X.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 mt(e,t){let{response:n}=await X.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 ht(e,t){let{response:n}=await X.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 gt(e,t){let{response:n}=await X.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 _t(e,t){let{data:n,response:r}=await X.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 vt(e,t){let{data:n,response:r}=await X.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 yt(e,t){let{response:n}=await X.post({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/revoke`,path:{assistant_id:e},body:{serverId:t}});if(!n?.ok)throw Error(`Failed to revoke OAuth for ${t}: ${n?.status}`)}async function bt(e){let{response:t}=await X.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 xt={connected:{icon:j,label:`Connected`,className:`text-[var(--system-positive-strong)]`},"needs-auth":{icon:L,label:`Needs Auth`,className:`text-[var(--system-warning-strong)]`},disabled:{icon:te,label:`Disabled`,className:`text-[var(--content-tertiary)]`}},St={icon:A,label:`Error`,className:`text-[var(--system-negative-strong)]`};function Ct({server:e,toolsSummary:t,onToggleEnabled:n,onRemove:r,onConfigure:i,onAuthenticate:o,onRevokeOAuth:s,isUpdating:c,isAuthenticating:l,isRevoking:u}){let[d,f]=(0,Q.useState)(!1),p=xt[e.status]??St,m=p.icon,h=(0,Q.useCallback)(t=>n(e.id,t),[n,e.id]),g=(0,Q.useCallback)(()=>r(e.id),[r,e.id]),_=(0,Q.useCallback)(()=>i(e.id),[i,e.id]),v=(0,Q.useCallback)(()=>o(e.id),[o,e.id]),y=(0,Q.useCallback)(()=>s(e.id),[s,e.id]),b=(0,Q.useCallback)(()=>f(e=>!e),[]);return(0,$.jsx)(T.Root,{children:(0,$.jsxs)(T.Body,{children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.id}),(0,$.jsxs)(`span`,{className:`flex items-center gap-1 text-label-medium-default ${p.className}`,children:[(0,$.jsx)(m,{className:`h-3.5 w-3.5`}),p.label]}),e.hasOAuth?(0,$.jsx)(`span`,{className:`rounded-full bg-[var(--surface-lift)] px-2 py-0.5 text-label-small-default text-[var(--content-secondary)]`,children:`OAuth`}):null]}),(0,$.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(`span`,{children:e.transport.type}),t?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,$.jsxs)(`span`,{children:[t.toolCount,` `,t.toolCount===1?`tool`:`tools`]}),(0,$.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,$.jsxs)(`span`,{children:[`~`,t.estimatedTokens.toLocaleString(),` tokens`]})]}):null]})]})}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[c||l?(0,$.jsx)(R,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}):null,e.status===`needs-auth`&&e.transport.type!==`stdio`&&!e.hasOAuth?(0,$.jsx)(a,{variant:`ghost`,size:`compact`,leftIcon:(0,$.jsx)(z,{}),onClick:v,disabled:l,children:l?`Authenticating...`:`Authenticate`}):null,e.hasOAuth?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(a,{variant:`ghost`,size:`compact`,leftIcon:(0,$.jsx)(ne,{}),onClick:v,disabled:l,tooltip:`Re-authenticate OAuth`,children:`Re-auth`}),(0,$.jsx)(a,{variant:`dangerGhost`,size:`compact`,leftIcon:(0,$.jsx)(ee,{}),onClick:y,disabled:u,tooltip:`Revoke OAuth credentials`,children:u?`Revoking...`:`Revoke`})]}):null,(0,$.jsx)(se,{checked:e.enabled,onChange:h,disabled:c,"aria-label":`${e.enabled?`Disable`:`Enable`} ${e.id}`}),(0,$.jsx)(a,{variant:`ghost`,size:`compact`,onClick:_,tooltip:`Configure`,children:`Configure`}),(0,$.jsx)(a,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,$.jsx)(U,{}),onClick:g,tooltip:`Remove server`,"aria-label":`Remove ${e.id}`})]})]}),t&&t.tools.length>0?(0,$.jsxs)(`div`,{className:`mt-3 border-t border-[var(--border-base)] pt-2`,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:b,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,$.jsx)(O,{className:`h-3.5 w-3.5`}):(0,$.jsx)(k,{className:`h-3.5 w-3.5`}),t.toolCount,` registered `,t.toolCount===1?`tool`:`tools`]}),d?(0,$.jsx)(`div`,{className:`mt-2 max-h-60 overflow-y-auto`,children:t.tools.map(e=>(0,$.jsx)(F,{title:e.name,subtitle:e.description||void 0,trailing:(0,$.jsxs)(`span`,{className:`whitespace-nowrap text-body-small-default text-[var(--content-secondary)]`,children:[`~`,e.estimatedTokens.toLocaleString(),` tok`]})},e.name))}):null]}):null]})})}var wt=[{value:`none`,label:`None`},{value:`bearer`,label:`Bearer Token`},{value:`api-key`,label:`API Key`}],Tt=[`low`,`medium`,`high`];function Et({server:e,toolsSummary:t,onClose:n,onSave:r,isPending:i}){let[o,s]=(0,Q.useState)(`medium`),[c,l]=(0,Q.useState)(`none`),[u,d]=(0,Q.useState)(``),[f,p]=(0,Q.useState)(`X-API-Key`),[m,h]=(0,Q.useState)(``);(0,Q.useEffect)(()=>{e&&(s(e.defaultRiskLevel),l(e.authType),d(``),p(e.authHeaderName??`X-API-Key`),h(``))},[e]);let g=(0,Q.useCallback)(()=>{if(!e)return;let t=c!==e.authType,n=c===`bearer`&&u.trim()!==``,i=c===`api-key`&&f.trim()!==``&&m.trim()!==``,a=t||n||i,s;s=a?c===`none`?null:c===`bearer`&&u.trim()?{Authorization:`Bearer ${u.trim()}`}:c===`api-key`&&f.trim()&&m.trim()?{[f.trim()]:m.trim()}:void 0:void 0,r(e.id,{name:e.id,defaultRiskLevel:o,...s===void 0?{}:{headers:s}})},[e,o,c,u,f,m,r]),_=(0,Q.useCallback)(()=>{i||n()},[i,n]);return e?(0,$.jsx)(K.Root,{open:!!e,onOpenChange:e=>{e||_()},children:(0,$.jsxs)(K.Content,{size:`lg`,children:[(0,$.jsxs)(K.Header,{children:[(0,$.jsx)(K.Title,{icon:Xe,children:e.id}),(0,$.jsxs)(K.Description,{children:[e.transport.type,` transport · `,e.status]})]}),(0,$.jsx)(K.Body,{children:(0,$.jsxs)(`div`,{className:`space-y-5`,children:[(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-risk`,children:`Default risk level`}),(0,$.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:Tt.map(e=>(0,$.jsx)(`option`,{value:e,children:e.charAt(0).toUpperCase()+e.slice(1)},e))})]}),e.transport.type===`stdio`?null:(0,$.jsxs)($.Fragment,{children:[e.hasOAuth?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-3 py-2`,children:[(0,$.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Authentication`}),(0,$.jsx)(`span`,{className:`rounded-full bg-[var(--surface-lift)] px-2 py-0.5 text-label-small-default text-[var(--content-default)]`,children:`OAuth`}),(0,$.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`— managed via OAuth flow`})]}):null,e.hasOAuth?null:(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-auth`,children:`Authentication`}),(0,$.jsx)(`select`,{id:`mcp-detail-auth`,value:c,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:wt.map(e=>(0,$.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),c===`bearer`&&!e.hasOAuth?(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-bearer`,children:`Bearer token`}),(0,$.jsx)(G,{id:`mcp-detail-bearer`,type:`password`,value:u,onChange:e=>d(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`bearer`?`•••••••• (leave blank to keep current)`:`tok_...`,fullWidth:!0})]}):null,c===`api-key`&&!e.hasOAuth?(0,$.jsxs)(`div`,{className:`flex gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-header`,children:`Header name`}),(0,$.jsx)(G,{id:`mcp-detail-apikey-header`,type:`text`,value:f,onChange:e=>p(e.target.value),placeholder:`X-API-Key`,fullWidth:!0})]}),(0,$.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-value`,children:`API key`}),(0,$.jsx)(G,{id:`mcp-detail-apikey-value`,type:`password`,value:m,onChange:e=>h(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`api-key`?`•••••••• (leave blank to keep current)`:`sk_...`,fullWidth:!0})]})]}):null]}),t&&t.tools.length>0?(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsxs)(`h3`,{className:`text-body-medium-default text-[var(--content-default)]`,children:[`Registered tools (`,t.toolCount,`)`]}),(0,$.jsxs)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[`Total estimated token overhead: ~`,t.estimatedTokens.toLocaleString(),` tokens`]}),(0,$.jsx)(`div`,{className:`max-h-64 overflow-y-auto rounded-lg border border-[var(--border-base)]`,children:(0,$.jsxs)(`table`,{className:`w-full text-body-small-default`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] bg-[var(--surface-base)]`,children:[(0,$.jsx)(`th`,{className:`px-3 py-2 text-left font-medium text-[var(--content-secondary)]`,children:`Tool`}),(0,$.jsx)(`th`,{className:`px-3 py-2 text-left font-medium text-[var(--content-secondary)]`,children:`Description`}),(0,$.jsx)(`th`,{className:`px-3 py-2 text-right font-medium text-[var(--content-secondary)]`,children:`Tokens`})]})}),(0,$.jsx)(`tbody`,{children:t.tools.map(e=>(0,$.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] last:border-b-0`,children:[(0,$.jsx)(`td`,{className:`px-3 py-2 font-medium text-[var(--content-default)]`,children:e.name}),(0,$.jsx)(`td`,{className:`max-w-xs truncate px-3 py-2 text-[var(--content-tertiary)]`,children:e.description||`—`}),(0,$.jsxs)(`td`,{className:`px-3 py-2 text-right text-[var(--content-tertiary)]`,children:[`~`,e.estimatedTokens.toLocaleString()]})]},e.name))})]})})]}):null]})}),(0,$.jsxs)(K.Footer,{children:[(0,$.jsx)(a,{variant:`ghost`,onClick:_,disabled:i,children:`Cancel`}),(0,$.jsx)(a,{variant:`primary`,onClick:g,disabled:i,children:i?`Saving...`:`Save`})]})]})}):null}var Dt=`mcp-servers`,Ot=`mcp-tools-summary`,kt=`Help me set up an MCP server to extend you with external tools.`;function At(){let e=We(),t=p(),n=s(),r=Pe.use.mcpAddServer(),i=Pe.use.hasHydrated(),[o,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(null),[d,f]=(0,Q.useState)(null),[m,h]=(0,Q.useState)(new Set),[g,_]=(0,Q.useState)(!1),[v,y]=(0,Q.useState)(!1),[b,x]=(0,Q.useState)(!1),[C,w]=(0,Q.useState)(!1),[T,E]=(0,Q.useState)(null),[D,O]=(0,Q.useState)(null),{data:k,isLoading:A,isError:j}=S({queryKey:[Dt,e],queryFn:()=>ft(e)}),{data:M}=S({queryKey:[Ot,e],queryFn:()=>pt(e)}),N=(0,Q.useCallback)(()=>{t.invalidateQueries({queryKey:[Dt,e]}),t.invalidateQueries({queryKey:[Ot,e]})},[t,e]),P=(0,Q.useMemo)(()=>{let e=new Map;if(M)for(let t of M.servers)e.set(t.serverId,t);return e},[M]),F=(0,Q.useMemo)(()=>!l||!k?null:k.servers.find(e=>e.id===l)??null,[l,k]),I=(0,Q.useCallback)(async(t,n)=>{h(e=>new Set(e).add(t));try{await mt(e,{name:t,enabled:n}),N()}catch{J.error(`Failed to ${n?`enable`:`disable`} ${t}`)}finally{h(e=>{let n=new Set(e);return n.delete(t),n})}},[e,N]),L=(0,Q.useCallback)(async()=>{if(d){y(!0);try{await gt(e,d),N(),J.success(`Removed ${d}`),f(null)}catch{J.error(`Failed to remove ${d}`)}finally{y(!1)}}},[d,e,N]),z=(0,Q.useCallback)(async t=>{E(t);let n;try{n=await _t(e,t)}catch{J.error(`Failed to start authentication for ${t}`),E(null);return}try{if(n.already_authenticated){J.success(`${t} is already authenticated`),N();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 vt(e,t);if(n.status===`complete`){J.success(`${t} authenticated successfully`),N();return}if(n.status===`error`){J.error(n.error??`Authentication failed for ${t}`);return}}J.error(`Authentication timed out for ${t}`)}catch{J.error(`Authentication polling failed for ${t}`)}finally{E(null),N()}},[e,N]),ee=(0,Q.useCallback)(async t=>{O(t);try{await yt(e,t),N(),J.success(`OAuth credentials revoked for ${t}`)}catch{J.error(`Failed to revoke OAuth for ${t}`)}finally{O(null)}},[e,N]),B=(0,Q.useCallback)(async t=>{let n=t.autoAuth?window.open(`about:blank`,`_blank`,`noopener`):null;_(!0);try{await ht(e,t),N(),J.success(`Added ${t.name}`),c(!1)}catch{J.error(`Failed to add ${t.name}`),n?.close(),_(!1);return}if(_(!1),t.autoAuth){E(t.name);try{let r=await _t(e,t.name);if(r.already_authenticated){n?.close(),J.success(`${t.name} is already authenticated`),N();return}n?n.location.href=r.auth_url:window.open(r.auth_url,`_blank`,`noopener,noreferrer`);for(let n=0;n<60;n++){await new Promise(e=>setTimeout(e,3e3));let n=await vt(e,t.name);if(n.status===`complete`){J.success(`${t.name} authenticated successfully`),N();return}if(n.status===`error`){J.error(n.error??`Authentication failed for ${t.name}`);return}}J.error(`Authentication timed out for ${t.name}`)}catch{n?.close(),J.error(`Failed to start authentication for ${t.name}`)}finally{E(null),N()}}},[e,N]),te=(0,Q.useCallback)(async(t,n)=>{x(!0);try{await mt(e,n),N(),J.success(`Updated ${t}`),u(null)}catch{J.error(`Failed to update ${t}`)}finally{x(!1)}},[e,N]),H=(0,Q.useCallback)(async()=>{w(!0);try{await bt(e),N(),J.success(`MCP servers reloaded`)}catch{J.error(`Failed to reload MCP servers`)}finally{w(!1)}},[e,N]),re=(0,Q.useCallback)(()=>{r?c(!0):Oe(n,{prompt:kt})},[r,n]),ie=k?.servers??[];return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:`MCP Servers`}),(0,$.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,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(a,{variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(ne,{className:C?`animate-spin`:``}),onClick:H,disabled:C,tooltip:`Reload all servers`,"aria-label":`Reload MCP servers`}),r?(0,$.jsx)(a,{variant:`primary`,size:`compact`,leftIcon:(0,$.jsx)(V,{}),onClick:()=>c(!0),children:`Add Server`}):null]})]}),M?(0,$.jsxs)(`div`,{className:`flex gap-4 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsxs)(`span`,{children:[M.totalToolCount,` total `,M.totalToolCount===1?`tool`:`tools`]}),(0,$.jsxs)(`span`,{children:[`~`,M.totalEstimatedTokens.toLocaleString(),` total tokens`]})]}):null,A?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,$.jsx)(R,{className:`h-4 w-4 animate-spin`}),(0,$.jsx)(`span`,{children:`Loading MCP servers...`})]}):j?(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Failed to load MCP servers. Check that an assistant is running.`}):ie.length===0?(0,$.jsxs)(`button`,{type:`button`,onClick:re,disabled:!i,className:`flex w-full flex-col items-center gap-2 rounded-lg border border-dashed border-[var(--border-element)] px-4 py-12 text-center transition-colors hover:border-[var(--border-active)] hover:bg-[var(--surface-hover)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] disabled:pointer-events-none`,children:[(0,$.jsx)(Xe,{className:`h-6 w-6 text-[var(--content-disabled)]`}),(0,$.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`No MCP Servers`}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:r?`Add an MCP server to extend your assistant with external tools.`:`Chat with your assistant to set up an MCP server.`})]}):(0,$.jsx)(`div`,{className:`space-y-2`,children:ie.map(e=>(0,$.jsx)(Ct,{server:e,toolsSummary:P.get(e.id),onToggleEnabled:I,onRemove:f,onConfigure:u,onAuthenticate:z,onRevokeOAuth:ee,isUpdating:m.has(e.id),isAuthenticating:T===e.id,isRevoking:D===e.id},e.id))}),r?(0,$.jsx)(dt,{open:o,onClose:()=>c(!1),onAdd:B,isPending:g}):null,(0,$.jsx)(Et,{server:F,toolsSummary:l?P.get(l):void 0,onClose:()=>u(null),onSave:te,isPending:b}),(0,$.jsx)(Y,{open:!!d,title:`Remove MCP Server`,message:`Are you sure you want to remove "${d}"? This will disconnect all tools provided by this server.`,confirmLabel:`Remove`,destructive:!0,isPending:v,onConfirm:L,onCancel:()=>f(null)})]})}function jt(){return(0,$.jsx)(At,{})}var Mt=`vellum:integrations:bannerDismissed`,Nt=[{value:`all`,label:`All`},{value:`enabled`,label:`Enabled`},{value:`not-enabled`,label:`Not Enabled`}];function Pt(e,t){return e?.find(e=>e.provider===t)??null}function Ft(e){return e===`mcp`?`mcp`:`oauth`}function It(){let[e]=o(),i=s(),a=we(),[c,l]=(0,Q.useState)(null),[u,d]=(0,Q.useState)(!0),[f,p]=(0,Q.useState)(``),[m,h]=(0,Q.useState)(`all`),[g,_]=(0,Q.useState)(!1),[v,y]=(0,Q.useState)(!0),[b,x]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{y(n(Mt,`false`)===`true`)},[]);let C=()=>{y(!0),t(Mt,`true`)};(0,Q.useEffect)(()=>{let e=!0;return(async()=>{try{let t=await xe();e&&t.ok&&l(t.data)}catch(e){r(e,{context:`integrations.getAssistant`})}finally{e&&d(!1)}})(),()=>{e=!1}},[]);let{platformAssistantId:w,isLoading:T}=Ge(c?.id,a===`full`),{data:E,isLoading:D,isError:k}=S({...ge({path:{assistant_id:c?.id??``}}),select:e=>e.providers,enabled:!!c}),{data:A,isLoading:j}=S({...Z({path:{assistant_id:w??``}}),enabled:!!w&&a===`full`});(0,Q.useEffect)(()=>{let t=e.get(`oauth_status`);if(!t)return;let n=e.get(`oauth_provider`),r=n?n.charAt(0).toUpperCase()+n.slice(1):null;if(t===`connected`)J.success(r?`${r} account connected successfully.`:`Account connected successfully.`);else if(t===`error`){let t=e.get(`oauth_code`)??`unknown`;J.error({denied:`Authorization was denied. Please try again.`,state_invalid:`Authorization state was invalid. Please try again.`,state_expired:`Authorization expired. Please try again.`,exchange_failed:`Failed to complete authorization. Please try again.`,identity_failed:`Failed to verify account identity. Please try again.`}[t]??(r?`Failed to connect ${r}.`:`Failed to connect. Please try again.`))}i(Ce.settings.integrations,{replace:!0})},[e,i]);let M=(0,Q.useMemo)(()=>E?.filter(e=>e.supports_managed_mode)??[],[E]),N=(0,Q.useMemo)(()=>{let e=f.trim().toLowerCase(),t=M.filter(t=>{if(t.provider_key===`slack`)return!1;if(!e)return!0;let n=(t.display_name??t.provider_key).toLowerCase(),r=(t.description??``).toLowerCase();return n.includes(e)||r.includes(e)});return m!==`all`&&(t=t.filter(e=>{let t=!!Pt(A,e.provider_key)?.connected;return m===`enabled`?t:!t})),[...t].sort((e,t)=>{let n=!!Pt(A,e.provider_key)?.connected;if(n!==!!Pt(A,t.provider_key)?.connected)return n?-1:1;let r=(e.display_name??e.provider_key).toLowerCase(),i=(t.display_name??t.provider_key).toLowerCase();return r.localeCompare(i)})},[M,A,f,m]),P=u||D||j||T,F=Nt.find(e=>e.value===m)?.label??`All`,I=(()=>{if(f.trim())return`No integrations matched`;switch(m){case`enabled`:return`No Enabled Integrations`;case`not-enabled`:return`All Integrations Are Enabled`;default:return`No Integrations Available`}})(),L=(()=>{if(f.trim())return`No integrations matched "${f.trim()}"`;switch(m){case`enabled`:return`Connect an integration to get started.`;case`not-enabled`:return`All available integrations have been connected.`;default:return`Check your connection and try again.`}})(),z=(0,Q.useMemo)(()=>b?M.find(e=>e.provider_key===b)??null:null,[M,b]);return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[!v&&(0,$.jsxs)(oe,{tone:`info`,icon:(0,$.jsx)(ie,{className:`h-3.5 w-3.5`}),onDismiss:C,children:[(0,$.jsx)(`span`,{className:`text-body-medium-default`,children:`Tip:`}),` You can enable integrations by mentioning them in chat.`]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(G,{type:`text`,value:f,onChange:e=>p(e.target.value),placeholder:`Search Integrations`,"aria-label":`Search integrations`,leftIcon:(0,$.jsx)(re,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0,wrapperClassName:`flex-1`}),(0,$.jsxs)(W.Root,{open:g,onOpenChange:_,children:[(0,$.jsx)(W.Trigger,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,"aria-haspopup":`listbox`,"aria-expanded":g,className:`flex w-36 cursor-pointer items-center justify-between gap-2 rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-lighter text-[var(--content-default)] transition-colors hover:bg-[var(--ghost-hover)]`,children:[(0,$.jsx)(`span`,{children:F}),(0,$.jsx)(O,{className:`h-3.5 w-3.5`})]})}),(0,$.jsx)(W.Content,{align:`end`,sideOffset:4,className:`w-36 overflow-hidden p-0`,children:(0,$.jsx)(`div`,{role:`listbox`,children:Nt.map(e=>{let t=e.value===m;return(0,$.jsx)(`button`,{type:`button`,role:`option`,"aria-selected":t,onClick:()=>{h(e.value),_(!1)},className:`flex w-full cursor-pointer items-center px-3 py-1.5 text-left hover:bg-[var(--ghost-hover)] ${t?`text-body-medium-default text-[var(--content-default)]`:`text-body-medium-lighter text-[var(--content-default)]`}`,children:e.label},e.value)})})})]})]}),(0,$.jsx)(`div`,{children:P?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,$.jsx)(R,{className:`h-4 w-4 animate-spin`}),(0,$.jsx)(`span`,{children:`Loading...`})]}):k?(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Failed to load integrations. Please try again.`}):c?N.length===0?(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 rounded-lg border border-dashed border-[var(--border-element)] px-4 py-12 text-center`,children:[(0,$.jsx)(re,{className:`h-6 w-6 text-[var(--content-disabled)]`}),(0,$.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:I}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:L})]}):(0,$.jsx)(`div`,{className:`space-y-2`,children:N.map(e=>(0,$.jsx)(st,{platformAssistantId:w??c.id,providerKey:e.provider_key,displayName:e.display_name??e.provider_key,description:e.description,logoUrl:e.logo_url,connection:Pt(A,e.provider_key),platformGate:a,onConfigure:()=>x(e.provider_key)},e.provider_key))}):(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No assistant found. Hatch an assistant to connect integrations.`})}),z&&c&&(0,$.jsx)(at,{assistantId:c.id,platformAssistantId:w??c.id,providerKey:z.provider_key,displayName:z.display_name??z.provider_key,description:z.description,logoUrl:z.logo_url,platformGate:a,onClose:()=>x(null)})]})}function Lt(){let[e,t]=o(),n=Ft(e.get(`tab`));return(0,$.jsx)(`div`,{className:`space-y-6`,children:(0,$.jsxs)(N.Root,{value:n,onValueChange:n=>{let r=Ft(n),i=new URLSearchParams(e);r===`mcp`?i.set(`tab`,`mcp`):i.delete(`tab`),t(i,{replace:!0})},children:[(0,$.jsxs)(N.List,{children:[(0,$.jsx)(N.Trigger,{value:`oauth`,children:`OAuth`}),(0,$.jsx)(N.Trigger,{value:`mcp`,children:`MCP`})]}),(0,$.jsx)(N.Panel,{value:`oauth`,className:`pt-4`,children:(0,$.jsx)(Q.Suspense,{children:(0,$.jsx)(It,{})})}),(0,$.jsx)(N.Panel,{value:`mcp`,className:`pt-4`,children:(0,$.jsx)(jt,{})})]})})}export{Lt as IntegrationsPage};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{l as n,r,t as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./typography-DEI9Ra9z.js";import{t as s}from"./chevron-left-CytMddTB.js";import"./src-D89CNeuT.js";import{t as c}from"./assistant-identity-store-DIyVo8LV.js";import{r as l,u}from"./routes-vE-2hncW.js";import{n as d}from"./use-is-mobile-Bz2l7wPL.js";import{t as f}from"./chat-layout-slots-store-C2IFeZFr.js";import{t as p}from"./page-shell-_QxBKTK3.js";var m=e(t(),1),h=a();function g(){let e=c.use.name(),{pathname:t}=n(),a=d(),g=f.use.setTopBarCenter(),_=l(t),v=_?.label??null;return(0,m.useEffect)(()=>(g(a&&v?(0,h.jsx)(o,{variant:`body-medium-default`,className:`truncate text-[var(--content-secondary)]`,children:v}):null),()=>{g(null)}),[a,v,g]),_?(0,h.jsxs)(p,{children:[(0,h.jsxs)(`div`,{className:`mb-4 flex shrink-0 items-center gap-1.5`,children:[(0,h.jsx)(i,{to:u.identity,className:`-ml-2 flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center rounded-md text-[var(--content-secondary)] transition-colors outline-none hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)] focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,"aria-label":`Back to ${e||`Assistant`}`,title:`Back to ${e||`Assistant`}`,children:(0,h.jsx)(s,{className:`h-5 w-5`,"aria-hidden":!0})}),(0,h.jsx)(`h1`,{className:`text-title-large text-[var(--content-default)] max-md:hidden`,children:_.label})]}),(0,h.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-y-auto`,children:(0,h.jsx)(r,{})})]}):(0,h.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,h.jsx)(r,{})})}export{g as IntelligenceLayout};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{l as n,r,t as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./typography-DEI9Ra9z.js";import{t as s}from"./chevron-left-CytMddTB.js";import"./src-te3YTBG-.js";import{t as c}from"./assistant-identity-store-DIyVo8LV.js";import{r as l,u}from"./routes-D9sNqB_o.js";import{n as d}from"./use-is-mobile-BlQuzI5Z.js";import{t as f}from"./chat-layout-slots-store-BJfYGnd7.js";import{t as p}from"./page-shell-C7SUgga9.js";var m=e(t(),1),h=a();function g(){let e=c.use.name(),{pathname:t}=n(),a=d(),g=f.use.setTopBarCenter(),_=l(t),v=_?.label??null;return(0,m.useEffect)(()=>(g(a&&v?(0,h.jsx)(o,{variant:`body-medium-default`,className:`truncate text-[var(--content-secondary)]`,children:v}):null),()=>{g(null)}),[a,v,g]),_?(0,h.jsxs)(p,{children:[(0,h.jsxs)(`div`,{className:`mb-4 flex shrink-0 items-center gap-1.5`,children:[(0,h.jsx)(i,{to:u.identity,className:`-ml-2 flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center rounded-md text-[var(--content-secondary)] transition-colors outline-none hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)] focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,"aria-label":`Back to ${e||`Assistant`}`,title:`Back to ${e||`Assistant`}`,children:(0,h.jsx)(s,{className:`h-5 w-5`,"aria-hidden":!0})}),(0,h.jsx)(`h1`,{className:`text-title-large text-[var(--content-default)] max-md:hidden`,children:_.label})]}),(0,h.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-y-auto`,children:(0,h.jsx)(r,{})})]}):(0,h.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,h.jsx)(r,{})})}export{g as IntelligenceLayout};
@@ -1 +1 @@
1
- import{t as e}from"./createLucideIcon-CAM1RhH8.js";import{it as t,lt as n,ot as r,st as i}from"./react-query.gen-r3I6j8-1.js";var a=e(`circle-arrow-up`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 12-4-4-4 4`,key:`177agl`}],[`path`,{d:`M12 16V8`,key:`1sbj14`}]]),o=e(`shopping-cart`,[[`circle`,{cx:`8`,cy:`21`,r:`1`,key:`jimo8o`}],[`circle`,{cx:`19`,cy:`21`,r:`1`,key:`13723u`}],[`path`,{d:`M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12`,key:`9zh506`}]]);function s(e,a,o){if(e.invalidateQueries({queryKey:i({path:{assistant_id:a}})}),e.invalidateQueries({queryKey:n({path:{assistant_id:a}})}),o){e.invalidateQueries({queryKey:t({path:{assistant_id:a,name:o}})}),e.invalidateQueries({queryKey:r({path:{assistant_id:a,name:o}})});return}e.invalidateQueries({queryKey:[{_id:`pluginsByNameGet`,path:{assistant_id:a}}]}),e.invalidateQueries({queryKey:[{_id:`pluginsByNameInspectGet`,path:{assistant_id:a}}]})}export{o as n,a as r,s as t};
1
+ import{t as e}from"./createLucideIcon-CAM1RhH8.js";import{it as t,lt as n,ot as r,st as i}from"./react-query.gen-C5c1Acuq.js";var a=e(`circle-arrow-up`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 12-4-4-4 4`,key:`177agl`}],[`path`,{d:`M12 16V8`,key:`1sbj14`}]]),o=e(`shopping-cart`,[[`circle`,{cx:`8`,cy:`21`,r:`1`,key:`jimo8o`}],[`circle`,{cx:`19`,cy:`21`,r:`1`,key:`13723u`}],[`path`,{d:`M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12`,key:`9zh506`}]]);function s(e,a,o){if(e.invalidateQueries({queryKey:i({path:{assistant_id:a}})}),e.invalidateQueries({queryKey:n({path:{assistant_id:a}})}),o){e.invalidateQueries({queryKey:t({path:{assistant_id:a,name:o}})}),e.invalidateQueries({queryKey:r({path:{assistant_id:a,name:o}})});return}e.invalidateQueries({queryKey:[{_id:`pluginsByNameGet`,path:{assistant_id:a}}]}),e.invalidateQueries({queryKey:[{_id:`pluginsByNameInspectGet`,path:{assistant_id:a}}]})}export{o as n,a as r,s as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{u as n}from"./chunk-5KNZJZUH-Bsoom5--.js";import{u as r}from"./routes-vE-2hncW.js";var i=e(t(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(`${r.settings.general}?preferences=open`,{replace:!0})},[e]),null}export{a as KeyboardShortcutsRedirectPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{u as n}from"./chunk-5KNZJZUH-Bsoom5--.js";import{u as r}from"./routes-D9sNqB_o.js";var i=e(t(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(`${r.settings.general}?preferences=open`,{replace:!0})},[e]),null}export{a as KeyboardShortcutsRedirectPage};
@@ -1,4 +1,4 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{Hr as n,Lr as r}from"./sdk.gen-BVAVE6A_.js";import{n as i}from"./api-errors-CFiCT7Ap.js";var a={companionCoworker:`companion-coworker`,genzBoomer:`genz-boomer`,executeCollaborate:`execute-collaborate`,playfulSerious:`playful-serious`,politeUnfiltered:`polite-unfiltered`},o=2;function s({processing:e,sawProcessing:t,hasReply:n,stableReads:r}){return e===void 0?n&&r>=o:!e&&(n||t)}var c=e=>Math.max(0,Math.min(100,Math.round(e)));function l(e,t,n){let r=t=>c(e[t]??50),i=r(a.companionCoworker),o=r(a.executeCollaborate),s=r(a.playfulSerious),l=r(a.politeUnfiltered),u=t?.trim()||`The user`,d=n?.trim(),f=d?`Your name is ${d}. Write exactly \`- **Name:** ${d}\` in IDENTITY.md — do not rename yourself or invent a different name, even if the file currently shows a placeholder or a different name. This changes your personality, not who you are.`:"Keep your existing name exactly as it is — this changes your personality, not who you are. Do not rename yourself, and if your name is already set, carry it through verbatim (don't treat it as a placeholder to fill). Whatever the name ends up being, keep it on IDENTITY.md's `- **Name:** …` line.";return`<system-message>
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{Rr as n,Ur as r}from"./sdk.gen-BHZ0fJla.js";import{n as i}from"./api-errors-CFiCT7Ap.js";var a={companionCoworker:`companion-coworker`,genzBoomer:`genz-boomer`,executeCollaborate:`execute-collaborate`,playfulSerious:`playful-serious`,politeUnfiltered:`polite-unfiltered`},o=2;function s({processing:e,sawProcessing:t,hasReply:n,stableReads:r}){return e===void 0?n&&r>=o:!e&&(n||t)}var c=e=>Math.max(0,Math.min(100,Math.round(e)));function l(e,t,n){let r=t=>c(e[t]??50),i=r(a.companionCoworker),o=r(a.executeCollaborate),s=r(a.playfulSerious),l=r(a.politeUnfiltered),u=t?.trim()||`The user`,d=n?.trim(),f=d?`Your name is ${d}. Write exactly \`- **Name:** ${d}\` in IDENTITY.md — do not rename yourself or invent a different name, even if the file currently shows a placeholder or a different name. This changes your personality, not who you are.`:"Keep your existing name exactly as it is — this changes your personality, not who you are. Do not rename yourself, and if your name is already set, carry it through verbatim (don't treat it as a placeholder to fill). Whatever the name ends up being, keep it on IDENTITY.md's `- **Name:** …` line.";return`<system-message>
2
2
  ${u} wants to customize your personality.
3
3
  This is what they want you to be:
4
4
  Companion (0-100): ${100-i}
@@ -20,5 +20,5 @@ IDENTITY.md must keep a line reading exactly \`- **Personality:** <one short sen
20
20
  ${f}
21
21
 
22
22
  Each rewritten file must still be complete: SOUL.md keeps everything you operate by — how you use memory, your boundaries, your compliance stance — re-expressed in your new voice rather than dropped. When you finish, both files should read top-to-bottom as this new personality, with nothing left in the generic default voice.
23
- </system-message>`}var u=`data/personality-sliders.json`;function d(e){return[`personality-sliders`,e]}function f(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`number`)}function p(e){return Object.fromEntries(Object.values(a).map(t=>[t,e[t]??50]))}async function m(e){let{data:t,error:n,response:a}=await r({path:{assistant_id:e},query:{path:u},throwOnError:!1});if(i(a,n,`Failed to fetch personality sliders`),a.status===404)return null;if(!a.ok||!t)throw Error(`Failed to fetch personality sliders`);let o=JSON.parse(t.content);if(!f(o))throw Error(`Personality sliders sidecar is malformed`);return o}async function h(e,t){try{let{error:r,response:a}=await n({path:{assistant_id:e},body:{path:u,content:JSON.stringify(t,null,2),encoding:`utf-8`},throwOnError:!1});return i(a,r,`Failed to save personality sliders`),a.ok}catch{return!1}}var g=e(t(),1),_={w:1280,h:800};function v(){return typeof window>`u`?_:{w:window.innerWidth,h:window.innerHeight}}function y(){let[e,t]=(0,g.useState)(null),[n,r]=(0,g.useState)(()=>v());return(0,g.useLayoutEffect)(()=>{if(!e)return;let t=()=>{let t=e.getBoundingClientRect();r({w:t.width,h:t.height})};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[e]),{ref:t,size:n}}function b(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(!n||n.role!==`assistant`))return(n.contentBlocks??[]).filter(e=>e.type===`text`).map(e=>e.text).join(`
23
+ </system-message>`}var u=`data/personality-sliders.json`;function d(e){return[`personality-sliders`,e]}function f(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`number`)}function p(e){return Object.fromEntries(Object.values(a).map(t=>[t,e[t]??50]))}async function m(e){let{data:t,error:r,response:a}=await n({path:{assistant_id:e},query:{path:u},throwOnError:!1});if(i(a,r,`Failed to fetch personality sliders`),a.status===404)return null;if(!a.ok||!t)throw Error(`Failed to fetch personality sliders`);let o=JSON.parse(t.content);if(!f(o))throw Error(`Personality sliders sidecar is malformed`);return o}async function h(e,t){try{let{error:n,response:a}=await r({path:{assistant_id:e},body:{path:u,content:JSON.stringify(t,null,2),encoding:`utf-8`},throwOnError:!1});return i(a,n,`Failed to save personality sliders`),a.ok}catch{return!1}}var g=e(t(),1),_={w:1280,h:800};function v(){return typeof window>`u`?_:{w:window.innerWidth,h:window.innerHeight}}function y(){let[e,t]=(0,g.useState)(null),[n,r]=(0,g.useState)(()=>v());return(0,g.useLayoutEffect)(()=>{if(!e)return;let t=()=>{let t=e.getBoundingClientRect();r({w:t.width,h:t.height})};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[e]),{ref:t,size:n}}function b(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(!n||n.role!==`assistant`))return(n.contentBlocks??[]).filter(e=>e.type===`text`).map(e=>e.text).join(`
24
24
  `).trim()}return``}export{m as a,l as c,p as i,s as l,y as n,d as o,v as r,h as s,b as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{f as n,l as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./loader-circle-XREx3i4W.js";import{n as s,t as c}from"./use-edit-app-DfFIonqZ.js";import"./src-D89CNeuT.js";import{n as l}from"./toast-LgLp4obE.js";import{n as u}from"./sdk.gen-BVAVE6A_.js";import{u as d}from"./routes-vE-2hncW.js";import{o as f}from"./viewer-store-BDpZVbcr.js";import{n as p}from"./conversation-navigation-Wm7_pLFs.js";import{n as m}from"./use-is-mobile-Bz2l7wPL.js";import"./use-edge-swipe-DVeTYbmY.js";import{n as h,t as g}from"./deploy-store-CxnShfQj.js";import{t as _}from"./use-active-assistant-id-Cjbsk2Q3.js";import{t as v}from"./deploy-dialogs-BNMcZzII.js";import{t as y}from"./use-edge-swipe-back-DDq-N20h.js";import{t as b}from"./app-types-CBg2__YH.js";var x=e(t(),1),S=a();function C({enabled:e}){return e?(0,S.jsx)(`div`,{"aria-hidden":!0,className:`absolute inset-y-0 left-0 z-10`,style:{width:20}}):null}function w(){let{appId:e}=n(),t=_(),a=i(),{pathname:w}=r(),T=m(),E=g.use.isDeploying(),D=(0,x.useRef)(null),[O,k]=(0,x.useState)(null),[A,j]=(0,x.useState)(null),[M,N]=(0,x.useState)(!1),P=(0,x.useRef)(null);(0,x.useEffect)(()=>{if(e)return P.current=e,k(null),j(null),u({path:{assistant_id:t,id:e},throwOnError:!0}).then(({data:n})=>{P.current===e&&(f(t,n.appId,n.html),k({appId:n.appId,dirName:n.dirName,name:n.name,html:n.html,origin:n.origin}))}).catch(t=>{P.current===e&&j(t instanceof Error?t.message:`Failed to open app`)}),()=>{P.current=null}},[t,e]);let F=(0,x.useCallback)(()=>{a(d.library.root)},[a]);y({containerRef:D,onBack:F,enabled:T,navKey:w});let I=c(),L=(0,x.useCallback)(()=>{O&&I(O)},[O,I]),R=(0,x.useCallback)(async()=>{if(!(!O||M)){N(!0);try{await h(t,O.appId,O.name),l.success(`App exported`,{description:`${O.name}.vellum`})}catch(e){l.error(`Failed to share app`,{description:e instanceof Error?e.message:void 0})}finally{N(!1)}}},[t,O,M]),z=(0,x.useCallback)(()=>{O&&g.getState().deployApp(t,O.appId,O.name,O.html)},[t,O]),B=(0,x.useCallback)(e=>{p(a,{prompt:e})},[a]);return e?A?(0,S.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4`,children:[(0,S.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:A}),(0,S.jsx)(`button`,{type:`button`,onClick:F,className:`text-body-medium-default text-[var(--primary-base)] underline`,children:`Back to Library`})]}):O?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`div`,{ref:D,className:`relative flex min-h-0 flex-1 flex-col`,children:[(0,S.jsx)(C,{enabled:T}),(0,S.jsx)(s,{appId:O.appId,appName:O.name,html:O.html,assistantId:t,onClose:F,...b(O.origin)?{}:{onEdit:L,onShare:R,isSharing:M,onDeploy:z,isDeploying:E},enableFullscreen:!0})]}),(0,S.jsx)(v,{assistantId:t,onStartConversation:B})]}):(0,S.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,S.jsx)(o,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})}):null}export{w as LibraryDetailPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{f as n,l as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./loader-circle-XREx3i4W.js";import{n as s,t as c}from"./use-edit-app-B_Nequzs.js";import"./src-te3YTBG-.js";import{n as l}from"./toast-LgLp4obE.js";import{n as u}from"./sdk.gen-BHZ0fJla.js";import{u as d}from"./routes-D9sNqB_o.js";import{o as f}from"./viewer-store-DLk-jp8U.js";import{n as p}from"./conversation-navigation-DsN0hcpL.js";import{n as m}from"./use-is-mobile-BlQuzI5Z.js";import"./use-edge-swipe-Wm9pU2HX.js";import{n as h,t as g}from"./deploy-store-D6snB1j5.js";import{t as _}from"./use-active-assistant-id-CldxA_-M.js";import{t as v}from"./deploy-dialogs-DZSd5o9b.js";import{t as y}from"./use-edge-swipe-back-BcSHNCwS.js";import{t as b}from"./app-types-DSkgEmV3.js";var x=e(t(),1),S=a();function C({enabled:e}){return e?(0,S.jsx)(`div`,{"aria-hidden":!0,className:`absolute inset-y-0 left-0 z-10`,style:{width:20}}):null}function w(){let{appId:e}=n(),t=_(),a=i(),{pathname:w}=r(),T=m(),E=g.use.isDeploying(),D=(0,x.useRef)(null),[O,k]=(0,x.useState)(null),[A,j]=(0,x.useState)(null),[M,N]=(0,x.useState)(!1),P=(0,x.useRef)(null);(0,x.useEffect)(()=>{if(e)return P.current=e,k(null),j(null),u({path:{assistant_id:t,id:e},throwOnError:!0}).then(({data:n})=>{P.current===e&&(f(t,n.appId,n.html),k({appId:n.appId,dirName:n.dirName,name:n.name,html:n.html,origin:n.origin}))}).catch(t=>{P.current===e&&j(t instanceof Error?t.message:`Failed to open app`)}),()=>{P.current=null}},[t,e]);let F=(0,x.useCallback)(()=>{a(d.library.root)},[a]);y({containerRef:D,onBack:F,enabled:T,navKey:w});let I=c(),L=(0,x.useCallback)(()=>{O&&I(O)},[O,I]),R=(0,x.useCallback)(async()=>{if(!(!O||M)){N(!0);try{await h(t,O.appId,O.name),l.success(`App exported`,{description:`${O.name}.vellum`})}catch(e){l.error(`Failed to share app`,{description:e instanceof Error?e.message:void 0})}finally{N(!1)}}},[t,O,M]),z=(0,x.useCallback)(()=>{O&&g.getState().deployApp(t,O.appId,O.name,O.html)},[t,O]),B=(0,x.useCallback)(e=>{p(a,{prompt:e})},[a]);return e?A?(0,S.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4`,children:[(0,S.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:A}),(0,S.jsx)(`button`,{type:`button`,onClick:F,className:`text-body-medium-default text-[var(--primary-base)] underline`,children:`Back to Library`})]}):O?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`div`,{ref:D,className:`relative flex min-h-0 flex-1 flex-col`,children:[(0,S.jsx)(C,{enabled:T}),(0,S.jsx)(s,{appId:O.appId,appName:O.name,html:O.html,assistantId:t,onClose:F,...b(O.origin)?{}:{onEdit:L,onShare:R,isSharing:M,onDeploy:z,isDeploying:E},enableFullscreen:!0})]}),(0,S.jsx)(v,{assistantId:t,onStartConversation:B})]}):(0,S.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,S.jsx)(o,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})}):null}export{w as LibraryDetailPage};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{u as r}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as i}from"./QueryClientProvider-CMu7CkQU.js";import{t as a}from"./useQuery-Bz-fbQ-m.js";import{t as o}from"./jsx-runtime-D3ZM-ToX.js";import{t as s}from"./arrow-up-BNd4Gpy7.js";import{t as c}from"./menu-BvjhxZo7.js";import{t as l}from"./download-CywcQLB2.js";import{t as u}from"./ellipsis-DnoqTkj4.js";import{t as d}from"./file-text-Br730Q4B.js";import{t as f}from"./globe-CMtjL_s_.js";import{t as p}from"./layout-grid-DA_CfD6d.js";import{a as m,c as h,i as g,n as _,o as v,r as y,s as b}from"./app-card-Uowaj1kh.js";import{t as x}from"./search-BVW-n8to.js";import{t as S}from"./trash-2-L5LNgw9o.js";import"./src-D89CNeuT.js";import{t as C}from"./input-hw3el2GJ.js";import{n as w,t as T}from"./panel-item-CrtoJCrd.js";import{n as E}from"./toast-LgLp4obE.js";import{s as D}from"./sdk.gen-BVAVE6A_.js";import{E as O,n as k,t as A}from"./react-query.gen-r3I6j8-1.js";import{u as j}from"./routes-vE-2hncW.js";import{a as M}from"./viewer-store-BDpZVbcr.js";import{n as N}from"./conversation-navigation-Wm7_pLFs.js";import{n as P}from"./use-is-mobile-Bz2l7wPL.js";import{t as F}from"./pointer-RLpjGG7A.js";import{t as I}from"./misc-DckBb5zz.js";import{n as L,t as R}from"./deploy-store-CxnShfQj.js";import{t as z}from"./format-date-RZ9mCDCy.js";import{t as B}from"./use-active-assistant-id-Cjbsk2Q3.js";import{t as V}from"./deploy-dialogs-BNMcZzII.js";import{t as H}from"./app-types-CBg2__YH.js";var U=e(t(),1),W=o();function G(e){return e===1?`1 word`:`${e} words`}function K({document:e,onOpen:t}){return(0,W.jsxs)(`div`,{className:`group relative flex flex-col gap-2`,children:[(0,W.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:I(`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,W.jsx)(d,{size:34,className:`text-[var(--content-tertiary)]`}),(0,W.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:G(e.wordCount)})]}),(0,W.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,W.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.title}),(0,W.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:z(new Date(e.updatedAt))})]})]})}function q({accept:e,fileInputRef:t,isImporting:r,onImportBundle:i,onNewConversation:a}){return(0,W.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4 py-24`,children:[(0,W.jsx)(`input`,{ref:t,type:`file`,accept:e,className:`hidden`,onChange:i}),(0,W.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,W.jsx)(p,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,W.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Your library is empty`}),(0,W.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,W.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[a?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(n,{variant:`primary`,size:`regular`,onClick:a,children:`New Conversation`}),(0,W.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:`or`})]}):null,(0,W.jsxs)(n,{variant:`outlined`,size:`regular`,onClick:()=>t.current?.click(),disabled:r,children:[r?(0,W.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}):(0,W.jsx)(l,{size:14}),(0,W.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,U.useState)(!1),d=H(e.origin),f=d?void 0:a,p=d?void 0:o,m=(0,U.useCallback)(()=>M(t,e.id),[t,e.id]),g=(0,U.useCallback)(async()=>{if(!l){u(!0);try{await L(t,e.id,e.name),E.success(`App exported`,{description:`${e.name}.vellum`})}catch(e){E.error(`Failed to share app`,{description:e instanceof Error?e.message:void 0})}finally{u(!1)}}},[t,e.id,e.name,l]),[y,x]=(0,U.useState)(!1),C=P();return(0,W.jsx)(v,{trailingActions:F()?[{id:`pin`,label:n?`Unpin`:`Pin`,icon:n?h:b,onSelect:()=>i(e)},...f?[{id:`delete`,label:`Delete`,icon:S,variant:`destructive`,onSelect:()=>f(e)}]:[]]:[],className:`rounded-xl`,children:(0,W.jsxs)(`div`,{className:I(`group relative flex flex-col gap-2`,s&&`animate-[card-entrance_400ms_ease-out]`),onAnimationEnd:s?c:void 0,children:[(0,W.jsx)(`button`,{type:`button`,onClick:()=>r(e.id),className:I(`relative w-full cursor-pointer overflow-hidden rounded-xl`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:(0,W.jsx)(_,{name:e.name,icon:e.icon,loadHtml:m})}),(0,W.jsx)(`div`,{className:I(`absolute right-2 top-2 z-20 transition-opacity`,`max-md:opacity-100`,`md:group-hover:opacity-100 md:group-focus-within:opacity-100`,y?`opacity-100`:`md:opacity-0`),children:(0,W.jsx)(Y,{appName:e.name,isPinned:n,open:y,onOpenChange:x,onPin:()=>i(e),onDelete:f?()=>f(e):void 0,onShare:d?void 0:g,onDeploy:p,isMobile:C})}),(0,W.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,W.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.name}),(0,W.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:z(new Date(e.createdAt))})]})]})})}function Y({appName:e,isPinned:t,open:r,onOpenChange:i,onPin:a,onDelete:o,onShare:l,onDeploy:d,isMobile:p}){return p?(0,W.jsxs)(w.Root,{open:r,onOpenChange:i,children:[(0,W.jsx)(w.Trigger,{asChild:!0,children:(0,W.jsx)(n,{variant:`primary`,size:`compact`,iconOnly:(0,W.jsx)(u,{}),"aria-label":`App actions`,onClick:e=>e.stopPropagation()})}),(0,W.jsxs)(w.Content,{children:[(0,W.jsx)(w.Header,{className:`sr-only`,children:(0,W.jsx)(w.Title,{children:e})}),(0,W.jsxs)(w.Body,{className:`pt-0`,children:[(0,W.jsx)(T,{icon:t?h:b,label:t?`Unpin`:`Pin`,onSelect:()=>{i(!1),a()}}),l?(0,W.jsx)(T,{icon:s,label:(0,W.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,W.jsx)(`span`,{children:`Share`}),(0,W.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Export as .vellum file`})]}),onSelect:()=>{i(!1),l()}}):null,d?(0,W.jsx)(T,{icon:f,label:(0,W.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,W.jsx)(`span`,{children:`Deploy to Vercel`}),(0,W.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Publish as a static page`})]}),onSelect:()=>{i(!1),d()}}):null,o?(0,W.jsx)(T,{icon:S,label:`Delete`,onSelect:()=>{i(!1),o()}}):null]})]})]}):(0,W.jsxs)(c.Root,{open:r,onOpenChange:i,children:[(0,W.jsx)(c.Trigger,{asChild:!0,children:(0,W.jsx)(n,{variant:`primary`,size:`compact`,iconOnly:(0,W.jsx)(u,{}),"aria-label":`App actions`,onClick:e=>e.stopPropagation()})}),(0,W.jsxs)(c.Content,{align:`end`,sideOffset:4,children:[(0,W.jsx)(c.Item,{leftIcon:t?(0,W.jsx)(h,{size:14}):(0,W.jsx)(b,{size:14}),onSelect:()=>a(),className:`whitespace-nowrap`,children:t?`Unpin`:`Pin`}),l?(0,W.jsx)(c.Item,{leftIcon:(0,W.jsx)(s,{size:14}),onSelect:()=>l(),className:`whitespace-nowrap`,children:`Share`}):null,d?(0,W.jsx)(c.Item,{leftIcon:(0,W.jsx)(f,{size:14}),onSelect:()=>d(),className:`whitespace-nowrap`,children:`Deploy to Vercel`}):null,o?(0,W.jsx)(c.Item,{leftIcon:(0,W.jsx)(S,{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,W.jsxs)(`section`,{children:[(0,W.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:e}),(0,W.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:t.map(e=>(0,W.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=m.use.pinnedAppIds(),{data:n=[],isLoading:r,error:i}=a({...A({path:{assistant_id:e}}),select:e=>e.apps}),{data:o=[],isLoading:s,error:c}=a({...O({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,U.useState)(``),p=(0,U.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,U.useMemo)(()=>p.filter(e=>t.has(e.id)).sort(Z),[p,t]),recentApps:(0,U.useMemo)(()=>p.filter(e=>!t.has(e.id)).sort(Z),[p,t]),filteredDocuments:(0,U.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 D({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,onNewConversation:r,onOpenDocument:a,onOpenApp:o}){let s=i(),c=m.use.togglePin(),u=m.use.pinnedAppIds(),d=R.use.isDeploying(),{apps:f,documents:p,filteredApps:h,pinnedApps:_,recentApps:v,filteredDocuments:b,searchText:S,setSearchText:w,loading:T,error:D}=Q(e),{pendingDelete:O,isDeleting:A,requestDelete:j,confirmDelete:N,cancelDelete:P}=y(e),[I]=(0,U.useState)(()=>F()?void 0:`.vellum`),L=(0,U.useRef)(null),[z,B]=(0,U.useState)(!1),H=(0,U.useCallback)(async t=>{let n=t.target.files?.[0];if(!(!n||z)){B(!0);try{let t=await $(e,n);await s.invalidateQueries({queryKey:k({path:{assistant_id:e}})}),E.success(t.name+` imported`),o(t.appId)}catch(e){E.error(e instanceof Error?e.message:`Failed to import app`)}finally{B(!1),L.current&&(L.current.value=``)}}},[e,z,s,o]),G=(0,U.useCallback)(async t=>{if(d)return;let n=f.find(e=>e.id===t)?.name??`this app`;try{let r=await M(e,t);R.getState().deployApp(e,t,n,r)}catch{R.getState().deployApp(e,t,n,``)}},[e,d,f]),J=(0,U.useCallback)(e=>c(e),[c]);return T?(0,W.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,W.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`})}):D?(0,W.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4`,children:[(0,W.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:D}),(0,W.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`})]}):f.length===0&&p.length===0?(0,W.jsx)(q,{accept:I,fileInputRef:L,isImporting:z,onImportBundle:H,onNewConversation:r?()=>r():void 0}):(0,W.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[(0,W.jsx)(`div`,{className:`mb-4 flex shrink-0 items-center justify-end gap-4`,children:(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(`input`,{ref:L,type:`file`,accept:I,className:`hidden`,onChange:H}),(0,W.jsxs)(n,{variant:`outlined`,size:`regular`,onClick:()=>L.current?.click(),disabled:z,children:[z?(0,W.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}):(0,W.jsx)(l,{size:14}),(0,W.jsx)(`span`,{className:`ml-1.5`,children:`Import`})]})]})}),(0,W.jsx)(`div`,{className:`mb-6 shrink-0`,children:(0,W.jsx)(C,{fullWidth:!0,type:`text`,placeholder:`Search your library`,value:S,onChange:e=>w(e.target.value),leftIcon:(0,W.jsx)(x,{size:16})})}),(0,W.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:h.length===0&&b.length===0?(0,W.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,W.jsx)(x,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,W.jsxs)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:[`No apps or documents matched “`,S,`”`]})]}):(0,W.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,W.jsx)(X,{title:`Pinned`,apps:_,assistantId:e,pinnedAppIds:u,onOpen:o,onPin:J,onDelete:j,onDeploy:G}),(0,W.jsx)(X,{title:`Recents`,apps:v,assistantId:e,pinnedAppIds:u,onOpen:o,onPin:J,onDelete:j,onDeploy:G}),b.length>0?(0,W.jsxs)(`section`,{children:[(0,W.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:`Documents`}),(0,W.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:b.map(e=>(0,W.jsx)(K,{document:e,onOpen:e=>{a&&a(e)}},e.surfaceId))})]}):null]})}),(0,W.jsx)(V,{assistantId:e,assistantName:t,onStartConversation:r}),(0,W.jsx)(g,{app:O,isDeleting:A,onConfirm:N,onCancel:P})]})}function te(){let e=B(),t=r();return(0,W.jsx)(ee,{assistantId:e,onNewConversation:(0,U.useCallback)(e=>{N(t,{prompt:e})},[t]),onOpenDocument:(0,U.useCallback)(e=>{t(j.document(e))},[t]),onOpenApp:(0,U.useCallback)(e=>{t(j.library.app(e))},[t])})}export{te as LibraryPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{u as r}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as i}from"./QueryClientProvider-CMu7CkQU.js";import{t as a}from"./useQuery-Bz-fbQ-m.js";import{t as o}from"./jsx-runtime-D3ZM-ToX.js";import{t as s}from"./arrow-up-BNd4Gpy7.js";import{t as c}from"./menu-BvjhxZo7.js";import{t as l}from"./download-CywcQLB2.js";import{t as u}from"./ellipsis-DnoqTkj4.js";import{t as d}from"./file-text-Br730Q4B.js";import{t as f}from"./globe-CMtjL_s_.js";import{t as p}from"./layout-grid-DA_CfD6d.js";import{a as m,c as h,i as g,n as _,o as v,r as y,s as b}from"./app-card-CAaFL1oB.js";import{t as x}from"./search-BVW-n8to.js";import{t as S}from"./trash-2-L5LNgw9o.js";import"./src-te3YTBG-.js";import{t as C}from"./input-hw3el2GJ.js";import{n as w,t as T}from"./panel-item-CrtoJCrd.js";import{n as E}from"./toast-LgLp4obE.js";import{s as D}from"./sdk.gen-BHZ0fJla.js";import{E as O,n as k,t as A}from"./react-query.gen-C5c1Acuq.js";import{u as j}from"./routes-D9sNqB_o.js";import{a as M}from"./viewer-store-DLk-jp8U.js";import{n as N}from"./conversation-navigation-DsN0hcpL.js";import{n as P}from"./use-is-mobile-BlQuzI5Z.js";import{t as F}from"./pointer-BbPfN86L.js";import{t as I}from"./misc-CuYswARt.js";import{n as L,t as R}from"./deploy-store-D6snB1j5.js";import{t as z}from"./use-active-assistant-id-CldxA_-M.js";import{t as B}from"./format-date-BGnM4mqL.js";import{t as V}from"./deploy-dialogs-DZSd5o9b.js";import{t as H}from"./app-types-DSkgEmV3.js";var U=e(t(),1),W=o();function G(e){return e===1?`1 word`:`${e} words`}function K({document:e,onOpen:t}){return(0,W.jsxs)(`div`,{className:`group relative flex flex-col gap-2`,children:[(0,W.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:I(`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,W.jsx)(d,{size:34,className:`text-[var(--content-tertiary)]`}),(0,W.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:G(e.wordCount)})]}),(0,W.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,W.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.title}),(0,W.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:B(new Date(e.updatedAt))})]})]})}function q({accept:e,fileInputRef:t,isImporting:r,onImportBundle:i,onNewConversation:a}){return(0,W.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4 py-24`,children:[(0,W.jsx)(`input`,{ref:t,type:`file`,accept:e,className:`hidden`,onChange:i}),(0,W.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,W.jsx)(p,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,W.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Your library is empty`}),(0,W.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,W.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[a?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(n,{variant:`primary`,size:`regular`,onClick:a,children:`New Conversation`}),(0,W.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:`or`})]}):null,(0,W.jsxs)(n,{variant:`outlined`,size:`regular`,onClick:()=>t.current?.click(),disabled:r,children:[r?(0,W.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}):(0,W.jsx)(l,{size:14}),(0,W.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,U.useState)(!1),d=H(e.origin),f=d?void 0:a,p=d?void 0:o,m=(0,U.useCallback)(()=>M(t,e.id),[t,e.id]),g=(0,U.useCallback)(async()=>{if(!l){u(!0);try{await L(t,e.id,e.name),E.success(`App exported`,{description:`${e.name}.vellum`})}catch(e){E.error(`Failed to share app`,{description:e instanceof Error?e.message:void 0})}finally{u(!1)}}},[t,e.id,e.name,l]),[y,x]=(0,U.useState)(!1),C=P();return(0,W.jsx)(v,{trailingActions:F()?[{id:`pin`,label:n?`Unpin`:`Pin`,icon:n?h:b,onSelect:()=>i(e)},...f?[{id:`delete`,label:`Delete`,icon:S,variant:`destructive`,onSelect:()=>f(e)}]:[]]:[],className:`rounded-xl`,children:(0,W.jsxs)(`div`,{className:I(`group relative flex flex-col gap-2`,s&&`animate-[card-entrance_400ms_ease-out]`),onAnimationEnd:s?c:void 0,children:[(0,W.jsx)(`button`,{type:`button`,onClick:()=>r(e.id),className:I(`relative w-full cursor-pointer overflow-hidden rounded-xl`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:(0,W.jsx)(_,{name:e.name,icon:e.icon,loadHtml:m})}),(0,W.jsx)(`div`,{className:I(`absolute right-2 top-2 z-20 transition-opacity`,`max-md:opacity-100`,`md:group-hover:opacity-100 md:group-focus-within:opacity-100`,y?`opacity-100`:`md:opacity-0`),children:(0,W.jsx)(Y,{appName:e.name,isPinned:n,open:y,onOpenChange:x,onPin:()=>i(e),onDelete:f?()=>f(e):void 0,onShare:d?void 0:g,onDeploy:p,isMobile:C})}),(0,W.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,W.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.name}),(0,W.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:B(new Date(e.createdAt))})]})]})})}function Y({appName:e,isPinned:t,open:r,onOpenChange:i,onPin:a,onDelete:o,onShare:l,onDeploy:d,isMobile:p}){return p?(0,W.jsxs)(w.Root,{open:r,onOpenChange:i,children:[(0,W.jsx)(w.Trigger,{asChild:!0,children:(0,W.jsx)(n,{variant:`primary`,size:`compact`,iconOnly:(0,W.jsx)(u,{}),"aria-label":`App actions`,onClick:e=>e.stopPropagation()})}),(0,W.jsxs)(w.Content,{children:[(0,W.jsx)(w.Header,{className:`sr-only`,children:(0,W.jsx)(w.Title,{children:e})}),(0,W.jsxs)(w.Body,{className:`pt-0`,children:[(0,W.jsx)(T,{icon:t?h:b,label:t?`Unpin`:`Pin`,onSelect:()=>{i(!1),a()}}),l?(0,W.jsx)(T,{icon:s,label:(0,W.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,W.jsx)(`span`,{children:`Share`}),(0,W.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Export as .vellum file`})]}),onSelect:()=>{i(!1),l()}}):null,d?(0,W.jsx)(T,{icon:f,label:(0,W.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,W.jsx)(`span`,{children:`Deploy to Vercel`}),(0,W.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Publish as a static page`})]}),onSelect:()=>{i(!1),d()}}):null,o?(0,W.jsx)(T,{icon:S,label:`Delete`,onSelect:()=>{i(!1),o()}}):null]})]})]}):(0,W.jsxs)(c.Root,{open:r,onOpenChange:i,children:[(0,W.jsx)(c.Trigger,{asChild:!0,children:(0,W.jsx)(n,{variant:`primary`,size:`compact`,iconOnly:(0,W.jsx)(u,{}),"aria-label":`App actions`,onClick:e=>e.stopPropagation()})}),(0,W.jsxs)(c.Content,{align:`end`,sideOffset:4,children:[(0,W.jsx)(c.Item,{leftIcon:t?(0,W.jsx)(h,{size:14}):(0,W.jsx)(b,{size:14}),onSelect:()=>a(),className:`whitespace-nowrap`,children:t?`Unpin`:`Pin`}),l?(0,W.jsx)(c.Item,{leftIcon:(0,W.jsx)(s,{size:14}),onSelect:()=>l(),className:`whitespace-nowrap`,children:`Share`}):null,d?(0,W.jsx)(c.Item,{leftIcon:(0,W.jsx)(f,{size:14}),onSelect:()=>d(),className:`whitespace-nowrap`,children:`Deploy to Vercel`}):null,o?(0,W.jsx)(c.Item,{leftIcon:(0,W.jsx)(S,{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,W.jsxs)(`section`,{children:[(0,W.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:e}),(0,W.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:t.map(e=>(0,W.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=m.use.pinnedAppIds(),{data:n=[],isLoading:r,error:i}=a({...A({path:{assistant_id:e}}),select:e=>e.apps}),{data:o=[],isLoading:s,error:c}=a({...O({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,U.useState)(``),p=(0,U.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,U.useMemo)(()=>p.filter(e=>t.has(e.id)).sort(Z),[p,t]),recentApps:(0,U.useMemo)(()=>p.filter(e=>!t.has(e.id)).sort(Z),[p,t]),filteredDocuments:(0,U.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 D({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,onNewConversation:r,onOpenDocument:a,onOpenApp:o}){let s=i(),c=m.use.togglePin(),u=m.use.pinnedAppIds(),d=R.use.isDeploying(),{apps:f,documents:p,filteredApps:h,pinnedApps:_,recentApps:v,filteredDocuments:b,searchText:S,setSearchText:w,loading:T,error:D}=Q(e),{pendingDelete:O,isDeleting:A,requestDelete:j,confirmDelete:N,cancelDelete:P}=y(e),[I]=(0,U.useState)(()=>F()?void 0:`.vellum`),L=(0,U.useRef)(null),[z,B]=(0,U.useState)(!1),H=(0,U.useCallback)(async t=>{let n=t.target.files?.[0];if(!(!n||z)){B(!0);try{let t=await $(e,n);await s.invalidateQueries({queryKey:k({path:{assistant_id:e}})}),E.success(t.name+` imported`),o(t.appId)}catch(e){E.error(e instanceof Error?e.message:`Failed to import app`)}finally{B(!1),L.current&&(L.current.value=``)}}},[e,z,s,o]),G=(0,U.useCallback)(async t=>{if(d)return;let n=f.find(e=>e.id===t)?.name??`this app`;try{let r=await M(e,t);R.getState().deployApp(e,t,n,r)}catch{R.getState().deployApp(e,t,n,``)}},[e,d,f]),J=(0,U.useCallback)(e=>c(e),[c]);return T?(0,W.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,W.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`})}):D?(0,W.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4`,children:[(0,W.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:D}),(0,W.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`})]}):f.length===0&&p.length===0?(0,W.jsx)(q,{accept:I,fileInputRef:L,isImporting:z,onImportBundle:H,onNewConversation:r?()=>r():void 0}):(0,W.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[(0,W.jsx)(`div`,{className:`mb-4 flex shrink-0 items-center justify-end gap-4`,children:(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(`input`,{ref:L,type:`file`,accept:I,className:`hidden`,onChange:H}),(0,W.jsxs)(n,{variant:`outlined`,size:`regular`,onClick:()=>L.current?.click(),disabled:z,children:[z?(0,W.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}):(0,W.jsx)(l,{size:14}),(0,W.jsx)(`span`,{className:`ml-1.5`,children:`Import`})]})]})}),(0,W.jsx)(`div`,{className:`mb-6 shrink-0`,children:(0,W.jsx)(C,{fullWidth:!0,type:`text`,placeholder:`Search your library`,value:S,onChange:e=>w(e.target.value),leftIcon:(0,W.jsx)(x,{size:16})})}),(0,W.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:h.length===0&&b.length===0?(0,W.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,W.jsx)(x,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,W.jsxs)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:[`No apps or documents matched “`,S,`”`]})]}):(0,W.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,W.jsx)(X,{title:`Pinned`,apps:_,assistantId:e,pinnedAppIds:u,onOpen:o,onPin:J,onDelete:j,onDeploy:G}),(0,W.jsx)(X,{title:`Recents`,apps:v,assistantId:e,pinnedAppIds:u,onOpen:o,onPin:J,onDelete:j,onDeploy:G}),b.length>0?(0,W.jsxs)(`section`,{children:[(0,W.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:`Documents`}),(0,W.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:b.map(e=>(0,W.jsx)(K,{document:e,onOpen:e=>{a&&a(e)}},e.surfaceId))})]}):null]})}),(0,W.jsx)(V,{assistantId:e,assistantName:t,onStartConversation:r}),(0,W.jsx)(g,{app:O,isDeleting:A,onConfirm:N,onCancel:P})]})}function te(){let e=z(),t=r();return(0,W.jsx)(ee,{assistantId:e,onNewConversation:(0,U.useCallback)(e=>{N(t,{prompt:e})},[t]),onOpenDocument:(0,U.useCallback)(e=>{t(j.document(e))},[t]),onOpenApp:(0,U.useCallback)(e=>{t(j.library.app(e))},[t])})}export{te as LibraryPage};
@@ -0,0 +1,39 @@
1
+ import{a as e,c as t,i as n}from"./local-settings-C-dW2vkq.js";import{n as r,t as i}from"./create-selectors-Qo7kcikX.js";import{t as a}from"./is-electron-m5eeGBnd.js";var o=`vellum:selectedAssistantId`;function s(){return n(`vellum:selectedAssistantId`,``)||null}function c(e){t(o,e)}function l(){e(o)}var u=class extends Error{status;constructor(e,t){super(t),this.name=`GatewayTokenError`,this.status=e}};function d(e){return e instanceof u&&e.status===401}var f=`vellum:gw:token`,p=`vellum:gw:expiresAt`,ee=`vellum:gw:tokenSource`,te=`gw:token`,ne=`gw:expiresAt`,re=`gw:tokenSource`,m=null,ie=0,ae=null,h=null,oe=0;function se(){return X()?!0:ps()&&$()!=null}function ce(){return se()&&fe()!==null}function le(e){return Date.now()/1e3>=e-60}function ue(e){if(typeof e==`string`){let t=Date.parse(e);return Number.isFinite(t)?t/1e3:0}return e>0xe8d4a51000?e/1e3:e}function de(e){h=e.accessToken,oe=ue(e.accessTokenExpiresAt)}function fe(){if(X())return h&&!le(oe)?h:(h=null,oe=0,null);if(m&&!le(ie))return m;m=null;try{let e=localStorage.getItem(f)??localStorage.getItem(te),t=localStorage.getItem(p)??localStorage.getItem(ne);if(e&&t){let n=Number(t);if(!le(n))return m=e,ie=n,m}}catch{}return null}async function pe(e,t){let n=e??`/auth/token`,r={};t&&(r.Authorization=`Bearer ${t}`);let i=await fetch(n,{method:`POST`,headers:r});if(!i.ok)throw new u(i.status,`Gateway token request failed: ${i.status}`);let{token:a,expiresAt:o}=await i.json();try{localStorage.setItem(f,a),localStorage.setItem(p,String(o)),localStorage.setItem(ee,n)}catch{}return m=a,ie=o,ae=n,a}async function me(e,t){let n=e??`/auth/token`,r=ae??localStorage.getItem(ee)??localStorage.getItem(re);return r&&r!==n&&ge(),fe()||pe(e,t)}function he(e){let t=$(e);if(t)return`${t}/auth/token`}function ge(){m=null,ie=0,ae=null,h=null,oe=0;try{localStorage.removeItem(f),localStorage.removeItem(p),localStorage.removeItem(ee),localStorage.removeItem(te),localStorage.removeItem(ne),localStorage.removeItem(re)}catch{}}function _e(){return window.__VELLUM_CONFIG__?.platformUrl||window.location.origin}var ve={url:null,token:null};function ye(e){ve=e===null?{url:null,token:null}:{url:e.url,token:e.token}}function be(){return ve.url}function xe(){return ve.token}var Se=i(r(e=>({lockfile:null,committed:!1,setLockfile:(t,n=!0)=>e({lockfile:t,committed:n})})));Object.freeze({status:`aborted`});function g(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,`_zod`,{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,`name`,{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,`init`,{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,`name`,{value:e}),o}var _=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},Ce=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}},we={};function v(e){return e&&Object.assign(we,e),we}function Te(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function Ee(e,t){return typeof t==`bigint`?t.toString():t}function y(e){return{get value(){{let t=e();return Object.defineProperty(this,`value`,{value:t}),t}throw Error(`cached value already set`)}}}function De(e){return e==null}function Oe(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function ke(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=t.toString(),i=(r.split(`.`)[1]||``).length;if(i===0&&/\d?e-\d?/.test(r)){let e=r.match(/\d?e-(\d?)/);e?.[1]&&(i=Number.parseInt(e[1]))}let a=n>i?n:i;return Number.parseInt(e.toFixed(a).replace(`.`,``))%Number.parseInt(t.toFixed(a).replace(`.`,``))/10**a}var Ae=Symbol(`evaluating`);function b(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Ae)return r===void 0&&(r=Ae,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function x(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function S(...e){let t={};for(let n of e)Object.assign(t,Object.getOwnPropertyDescriptors(n));return Object.defineProperties({},t)}function je(e){return JSON.stringify(e)}function Me(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var Ne=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function C(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var Pe=y(()=>{if(typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function w(e){if(C(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(C(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}function Fe(e){return w(e)?{...e}:Array.isArray(e)?[...e]:e}var Ie=new Set([`string`,`number`,`symbol`]);function T(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function E(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function D(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function Le(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}var Re={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function ze(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return E(e,S(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return x(this,`shape`,e),e},checks:[]}))}function Be(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return E(e,S(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return x(this,`shape`,r),r},checks:[]}))}function Ve(e,t){if(!w(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return E(e,S(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return x(this,`shape`,n),n}}))}function He(e,t){if(!w(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return E(e,S(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return x(this,`shape`,n),n}}))}function Ue(e,t){return E(e,S(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return x(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:[]}))}function We(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return E(t,S(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return x(this,`shape`,i),i},checks:[]}))}function Ge(e,t,n){return E(t,S(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return x(this,`shape`,i),i}}))}function O(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function k(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function A(e){return typeof e==`string`?e:e?.message}function j(e,t,n){let r={...e,path:e.path??[]};return e.message||(r.message=A(e.inst?._zod.def?.error?.(e))??A(t?.error?.(e))??A(n.customError?.(e))??A(n.localeError?.(e))??`Invalid input`),delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function Ke(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function M(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}var qe=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,`_zod`,{value:e._zod,enumerable:!1}),Object.defineProperty(e,`issues`,{value:t,enumerable:!1}),e.message=JSON.stringify(t,Ee,2),Object.defineProperty(e,`toString`,{value:()=>e.message,enumerable:!1})},Je=g(`$ZodError`,qe),Ye=g(`$ZodError`,qe,{Parent:Error});function Xe(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function Ze(e,t=e=>e.message){let n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`&&i.errors.length)i.errors.map(e=>r({issues:e}));else if(i.code===`invalid_key`)r({issues:i.issues});else if(i.code===`invalid_element`)r({issues:i.issues});else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(e),n}var Qe=e=>(t,n,r,i)=>{let a=r?Object.assign(r,{async:!1}):{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new _;if(o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>j(e,a,v())));throw Ne(t,i?.callee),t}return o.value},$e=e=>async(t,n,r,i)=>{let a=r?Object.assign(r,{async:!0}):{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>j(e,a,v())));throw Ne(t,i?.callee),t}return o.value},N=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new _;return a.issues.length?{success:!1,error:new(e??Je)(a.issues.map(e=>j(e,i,v())))}:{success:!0,data:a.value}},et=N(Ye),P=e=>async(t,n,r)=>{let i=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>j(e,i,v())))}:{success:!0,data:a.value}},tt=P(Ye),nt=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return Qe(e)(t,n,i)},rt=e=>(t,n,r)=>Qe(e)(t,n,r),it=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return $e(e)(t,n,i)},at=e=>async(t,n,r)=>$e(e)(t,n,r),ot=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return N(e)(t,n,i)},st=e=>(t,n,r)=>N(e)(t,n,r),ct=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return P(e)(t,n,i)},lt=e=>async(t,n,r)=>P(e)(t,n,r),ut=/^[cC][^\s-]{8,}$/,dt=/^[0-9a-z]+$/,ft=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,pt=/^[0-9a-vA-V]{20}$/,mt=/^[A-Za-z0-9]{27}$/,ht=/^[a-zA-Z0-9_-]{21}$/,gt=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,_t=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,vt=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,yt=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,bt=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;function xt(){return new RegExp(bt,`u`)}var St=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Ct=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,wt=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Tt=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Et=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Dt=/^[A-Za-z0-9_-]*$/,Ot=/^\+[1-9]\d{6,14}$/,kt=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`,At=RegExp(`^${kt}$`);function jt(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Mt(e){return RegExp(`^${jt(e)}$`)}function Nt(e){let t=jt({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${kt}T(?:${r})$`)}var Pt=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},Ft=/^-?\d+$/,It=/^-?\d+(?:\.\d+)?$/,Lt=/^(?:true|false)$/i,Rt=/^null$/i,zt=/^[^A-Z]*$/,Bt=/^[^a-z]*$/,F=g(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Vt={number:`number`,bigint:`bigint`,object:`date`},Ht=g(`$ZodCheckLessThan`,(e,t)=>{F.init(e,t);let n=Vt[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ut=g(`$ZodCheckGreaterThan`,(e,t)=>{F.init(e,t);let n=Vt[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Wt=g(`$ZodCheckMultipleOf`,(e,t)=>{F.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?n.value%t.value===BigInt(0):ke(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Gt=g(`$ZodCheckNumberFormat`,(e,t)=>{F.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=Re[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=Ft)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),Kt=g(`$ZodCheckMaxLength`,(e,t)=>{var n;F.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!De(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=Ke(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),qt=g(`$ZodCheckMinLength`,(e,t)=>{var n;F.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!De(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=Ke(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Jt=g(`$ZodCheckLengthEquals`,(e,t)=>{var n;F.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!De(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=Ke(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),I=g(`$ZodCheckStringFormat`,(e,t)=>{var n,r;F.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),Yt=g(`$ZodCheckRegex`,(e,t)=>{I.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Xt=g(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=zt,I.init(e,t)}),Zt=g(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Bt,I.init(e,t)}),Qt=g(`$ZodCheckIncludes`,(e,t)=>{F.init(e,t);let n=T(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),$t=g(`$ZodCheckStartsWith`,(e,t)=>{F.init(e,t);let n=RegExp(`^${T(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),en=g(`$ZodCheckEndsWith`,(e,t)=>{F.init(e,t);let n=RegExp(`.*${T(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),tn=g(`$ZodCheckOverwrite`,(e,t)=>{F.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),nn=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
2
+ `).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.args,n=[...(this?.content??[``]).map(e=>` ${e}`)];return new e(...t,n.join(`
3
+ `))}},rn={major:4,minor:3,patch:6},L=g(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=rn;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=O(e),i;for(let a of t){if(a._zod.def.when){if(!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new _;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=O(e,t))});else{if(e.issues.length===t)continue;r||=O(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(O(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new _;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new _;return o.then(e=>t(e,r,a))}return t(o,r,a)}}b(e,`~standard`,()=>({validate:t=>{try{let n=et(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return tt(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),an=g(`$ZodString`,(e,t)=>{L.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Pt(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),R=g(`$ZodStringFormat`,(e,t)=>{I.init(e,t),an.init(e,t)}),on=g(`$ZodGUID`,(e,t)=>{t.pattern??=_t,R.init(e,t)}),sn=g(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=vt(e)}else t.pattern??=vt();R.init(e,t)}),cn=g(`$ZodEmail`,(e,t)=>{t.pattern??=yt,R.init(e,t)}),ln=g(`$ZodURL`,(e,t)=>{R.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(`:`)?i.protocol.slice(0,-1):i.protocol)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=i.href:n.value=r;return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),un=g(`$ZodEmoji`,(e,t)=>{t.pattern??=xt(),R.init(e,t)}),dn=g(`$ZodNanoID`,(e,t)=>{t.pattern??=ht,R.init(e,t)}),fn=g(`$ZodCUID`,(e,t)=>{t.pattern??=ut,R.init(e,t)}),pn=g(`$ZodCUID2`,(e,t)=>{t.pattern??=dt,R.init(e,t)}),mn=g(`$ZodULID`,(e,t)=>{t.pattern??=ft,R.init(e,t)}),hn=g(`$ZodXID`,(e,t)=>{t.pattern??=pt,R.init(e,t)}),gn=g(`$ZodKSUID`,(e,t)=>{t.pattern??=mt,R.init(e,t)}),_n=g(`$ZodISODateTime`,(e,t)=>{t.pattern??=Nt(t),R.init(e,t)}),vn=g(`$ZodISODate`,(e,t)=>{t.pattern??=At,R.init(e,t)}),yn=g(`$ZodISOTime`,(e,t)=>{t.pattern??=Mt(t),R.init(e,t)}),bn=g(`$ZodISODuration`,(e,t)=>{t.pattern??=gt,R.init(e,t)}),xn=g(`$ZodIPv4`,(e,t)=>{t.pattern??=St,R.init(e,t),e._zod.bag.format=`ipv4`}),Sn=g(`$ZodIPv6`,(e,t)=>{t.pattern??=Ct,R.init(e,t),e._zod.bag.format=`ipv6`,e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}}),Cn=g(`$ZodCIDRv4`,(e,t)=>{t.pattern??=wt,R.init(e,t)}),wn=g(`$ZodCIDRv6`,(e,t)=>{t.pattern??=Tt,R.init(e,t),e._zod.check=n=>{let r=n.value.split(`/`);try{if(r.length!==2)throw Error();let[e,t]=r;if(!t)throw Error();let n=Number(t);if(`${n}`!==t||n<0||n>128)throw Error();new URL(`http://[${e}]`)}catch{n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}}});function Tn(e){if(e===``)return!0;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var En=g(`$ZodBase64`,(e,t)=>{t.pattern??=Et,R.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{Tn(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}});function Dn(e){if(!Dt.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return Tn(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var On=g(`$ZodBase64URL`,(e,t)=>{t.pattern??=Dt,R.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{Dn(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),kn=g(`$ZodE164`,(e,t)=>{t.pattern??=Ot,R.init(e,t)});function An(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}var jn=g(`$ZodJWT`,(e,t)=>{R.init(e,t),e._zod.check=n=>{An(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),Mn=g(`$ZodNumber`,(e,t)=>{L.init(e,t),e._zod.pattern=e._zod.bag.pattern??It,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),Nn=g(`$ZodNumberFormat`,(e,t)=>{Gt.init(e,t),Mn.init(e,t)}),Pn=g(`$ZodBoolean`,(e,t)=>{L.init(e,t),e._zod.pattern=Lt,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),Fn=g(`$ZodNull`,(e,t)=>{L.init(e,t),e._zod.pattern=Rt,e._zod.values=new Set([null]),e._zod.parse=(t,n)=>{let r=t.value;return r===null||t.issues.push({expected:`null`,code:`invalid_type`,input:r,inst:e}),t}}),In=g(`$ZodUnknown`,(e,t)=>{L.init(e,t),e._zod.parse=e=>e}),Ln=g(`$ZodNever`,(e,t)=>{L.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function Rn(e,t,n){e.issues.length&&t.issues.push(...k(n,e.issues)),t.value[n]=e.value}var zn=g(`$ZodArray`,(e,t)=>{L.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>Rn(t,n,e))):Rn(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function z(e,t,n,r,i){if(e.issues.length){if(i&&!(n in r))return;t.issues.push(...k(n,e.issues))}e.value===void 0?n in r&&(t.value[n]=void 0):t.value[n]=e.value}function Bn(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${n}": expected a Zod schema`);let n=Le(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Vn(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optout===`optional`;for(let i in t){if(s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>z(e,n,i,t,u))):z(a,n,i,t,u)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}var Hn=g(`$ZodObject`,(e,t)=>{if(L.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,`shape`,{get:()=>{let n={...e};return Object.defineProperty(t,`shape`,{value:n}),n}})}let n=y(()=>Bn(t));b(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=C,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optout===`optional`,i=n._zod.run({value:s[e],issues:[]},o);i instanceof Promise?c.push(i.then(n=>z(n,t,e,s,r))):z(i,t,e,s,r)}return i?Vn(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}}),Un=g(`$ZodObjectJIT`,(e,t)=>{Hn.init(e,t);let n=e._zod.parse,r=y(()=>Bn(t)),i=e=>{let t=new nn([`shape`,`payload`,`ctx`]),n=r.value,i=e=>{let t=je(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write(`const input = payload.value;`);let a=Object.create(null),o=0;for(let e of n.keys)a[e]=`key_${o++}`;t.write(`const newResult = {};`);for(let r of n.keys){let n=a[r],o=je(r),s=e[r]?._zod?.optout===`optional`;t.write(`const ${n} = ${i(r)};`),s?t.write(`
4
+ if (${n}.issues.length) {
5
+ if (${o} in input) {
6
+ payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
7
+ ...iss,
8
+ path: iss.path ? [${o}, ...iss.path] : [${o}]
9
+ })));
10
+ }
11
+ }
12
+
13
+ if (${n}.value === undefined) {
14
+ if (${o} in input) {
15
+ newResult[${o}] = undefined;
16
+ }
17
+ } else {
18
+ newResult[${o}] = ${n}.value;
19
+ }
20
+
21
+ `):t.write(`
22
+ if (${n}.issues.length) {
23
+ payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
24
+ ...iss,
25
+ path: iss.path ? [${o}, ...iss.path] : [${o}]
26
+ })));
27
+ }
28
+
29
+ if (${n}.value === undefined) {
30
+ if (${o} in input) {
31
+ newResult[${o}] = undefined;
32
+ }
33
+ } else {
34
+ newResult[${o}] = ${n}.value;
35
+ }
36
+
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=!we.jitless,c=s&&Pe.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=>j(e,r,v())))}),t)}var Gn=g(`$ZodUnion`,(e,t)=>{L.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=>Oe(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=g(`$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=y(()=>{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=g(`$ZodIntersection`,(e,t)=>{L.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=g(`$ZodRecord`,(e,t)=>{L.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=>j(e,r,v())),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=g(`$ZodEnum`,(e,t)=>{L.init(e,t);let n=Te(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>Ie.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=g(`$ZodLiteral`,(e,t)=>{if(L.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=g(`$ZodTransform`,(e,t)=>{L.init(e,t),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Ce(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 _;return n.value=i,n}});function er(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var tr=g(`$ZodOptional`,(e,t)=>{L.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(`^(${Oe(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=g(`$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=g(`$ZodNullable`,(e,t)=>{L.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(`^(${Oe(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=g(`$ZodDefault`,(e,t)=>{L.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=g(`$ZodPrefault`,(e,t)=>{L.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=g(`$ZodNonOptional`,(e,t)=>{L.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=g(`$ZodCatch`,(e,t)=>{L.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=>j(e,n,v()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>j(e,n,v()))},input:e.value}),e.issues=[]),e)}}),ur=g(`$ZodPipe`,(e,t)=>{L.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=>dr(e,t.in,n)):dr(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>dr(e,t.out,n)):dr(r,t.out,n)}});function dr(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var fr=g(`$ZodReadonly`,(e,t)=>{L.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(pr):pr(r)}});function pr(e){return e.value=Object.freeze(e.value),e}var mr=g(`$ZodCustom`,(e,t)=>{F.init(e,t),L.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=>hr(t,n,r,e));hr(i,n,r,e)}});function hr(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(M(e))}}var gr,_r=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 vr(){return new _r}(gr=globalThis).__zod_globalRegistry??(gr.__zod_globalRegistry=vr());var B=globalThis.__zod_globalRegistry;function yr(e,t){return new e({type:`string`,...D(t)})}function br(e,t){return new e({type:`string`,coerce:!0,...D(t)})}function xr(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...D(t)})}function Sr(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...D(t)})}function Cr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...D(t)})}function wr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...D(t)})}function Tr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...D(t)})}function Er(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...D(t)})}function Dr(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...D(t)})}function Or(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...D(t)})}function kr(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...D(t)})}function Ar(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...D(t)})}function jr(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...D(t)})}function Mr(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...D(t)})}function Nr(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...D(t)})}function Pr(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...D(t)})}function Fr(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...D(t)})}function Ir(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...D(t)})}function Lr(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...D(t)})}function Rr(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...D(t)})}function zr(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...D(t)})}function Br(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...D(t)})}function Vr(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...D(t)})}function Hr(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...D(t)})}function Ur(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...D(t)})}function Wr(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...D(t)})}function Gr(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...D(t)})}function Kr(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...D(t)})}function qr(e,t){return new e({type:`number`,checks:[],...D(t)})}function Jr(e,t){return new e({type:`number`,coerce:!0,checks:[],...D(t)})}function Yr(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...D(t)})}function Xr(e,t){return new e({type:`boolean`,...D(t)})}function Zr(e,t){return new e({type:`null`,...D(t)})}function Qr(e){return new e({type:`unknown`})}function $r(e,t){return new e({type:`never`,...D(t)})}function ei(e,t){return new Ht({check:`less_than`,...D(t),value:e,inclusive:!1})}function ti(e,t){return new Ht({check:`less_than`,...D(t),value:e,inclusive:!0})}function ni(e,t){return new Ut({check:`greater_than`,...D(t),value:e,inclusive:!1})}function ri(e,t){return new Ut({check:`greater_than`,...D(t),value:e,inclusive:!0})}function ii(e,t){return new Wt({check:`multiple_of`,...D(t),value:e})}function ai(e,t){return new Kt({check:`max_length`,...D(t),maximum:e})}function oi(e,t){return new qt({check:`min_length`,...D(t),minimum:e})}function si(e,t){return new Jt({check:`length_equals`,...D(t),length:e})}function ci(e,t){return new Yt({check:`string_format`,format:`regex`,...D(t),pattern:e})}function li(e){return new Xt({check:`string_format`,format:`lowercase`,...D(e)})}function ui(e){return new Zt({check:`string_format`,format:`uppercase`,...D(e)})}function di(e,t){return new Qt({check:`string_format`,format:`includes`,...D(t),includes:e})}function fi(e,t){return new $t({check:`string_format`,format:`starts_with`,...D(t),prefix:e})}function pi(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 mi(e){return V(t=>t.normalize(e))}function hi(){return V(e=>e.trim())}function gi(){return V(e=>e.toLowerCase())}function _i(){return V(e=>e.toUpperCase())}function vi(){return V(e=>Me(e))}function yi(e,t,n){return new e({type:`array`,element:t,...D(n)})}function bi(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...D(n)})}function xi(e){let t=Si(n=>(n.addIssue=e=>{if(typeof e==`string`)n.issues.push(M(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(M(r))}},e(n.value,n)));return t}function Si(e,t){let n=new F({check:`custom`,...D(t)});return n._zod.check=e,n}function Ci(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 wi(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
+
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 Ti(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:Di(t,`input`,e.processors),output:Di(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 Ei=(e,t={})=>n=>{let r=Ci({...n,processors:t});return H(e,r),wi(r,e),Ti(r,e)},Di=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Ci({...i??{},target:a,io:t,processors:n});return H(e,o),wi(o,e),Ti(o,e)},Oi={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},ki=(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=Oi[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}))])}},Ai=(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)},ji=(e,t,n,r)=>{n.type=`boolean`},Mi=(e,t,n,r)=>{t.target===`openapi-3.0`?(n.type=`string`,n.nullable=!0,n.enum=[null]):n.type=`null`},Ni=(e,t,n,r)=>{n.not={}},Pi=(e,t,n,r)=>{let i=e._zod.def,a=Te(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Fi=(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},Ii=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},Li=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},Ri=(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`]})},zi=(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)},Bi=(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},Vi=(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]]},Hi=(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)}},Ui=(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`}]},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},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,n.default=JSON.parse(JSON.stringify(i.defaultValue))},Ki=(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)))},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;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},Ji=(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},Yi=(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},Xi=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Zi=g(`ZodISODateTime`,(e,t)=>{_n.init(e,t),q.init(e,t)});function Qi(e){return Ur(Zi,e)}var $i=g(`ZodISODate`,(e,t)=>{vn.init(e,t),q.init(e,t)});function ea(e){return Wr($i,e)}var ta=g(`ZodISOTime`,(e,t)=>{yn.init(e,t),q.init(e,t)});function na(e){return Gr(ta,e)}var ra=g(`ZodISODuration`,(e,t)=>{bn.init(e,t),q.init(e,t)});function ia(e){return Kr(ra,e)}var aa=(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,Ee,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,Ee,2)}},isEmpty:{get(){return e.issues.length===0}}})};g(`ZodError`,aa);var W=g(`ZodError`,aa,{Parent:Error}),oa=Qe(W),sa=$e(W),ca=N(W),la=P(W),ua=nt(W),da=rt(W),fa=it(W),pa=at(W),ma=ot(W),ha=st(W),ga=ct(W),_a=lt(W),G=g(`ZodType`,(e,t)=>(L.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:Di(e,`input`),output:Di(e,`output`)}}),e.toJSONSchema=Ei(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)=>oa(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>ca(e,t,n),e.parseAsync=async(t,n)=>sa(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>la(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>ua(e,t,n),e.decode=(t,n)=>da(e,t,n),e.encodeAsync=async(t,n)=>fa(e,t,n),e.decodeAsync=async(t,n)=>pa(e,t,n),e.safeEncode=(t,n)=>ma(e,t,n),e.safeDecode=(t,n)=>ha(e,t,n),e.safeEncodeAsync=async(t,n)=>ga(e,t,n),e.safeDecodeAsync=async(t,n)=>_a(e,t,n),e.refine=(t,n)=>e.check(Fo(t,n)),e.superRefine=t=>e.check(Io(t)),e.overwrite=t=>e.check(V(t)),e.optional=()=>_o(e),e.exactOptional=()=>yo(e),e.nullable=()=>xo(e),e.nullish=()=>_o(xo(e)),e.nonoptional=t=>Do(e,t),e.array=()=>Qa(e),e.or=t=>no([e,t]),e.and=t=>oo(e,t),e.transform=t=>jo(e,ho(t)),e.default=t=>Co(e,t),e.prefault=t=>To(e,t),e.catch=t=>ko(e,t),e.pipe=t=>jo(e,t),e.readonly=()=>No(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)),va=g(`_ZodString`,(e,t)=>{an.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ki(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(ci(...t)),e.includes=(...t)=>e.check(di(...t)),e.startsWith=(...t)=>e.check(fi(...t)),e.endsWith=(...t)=>e.check(pi(...t)),e.min=(...t)=>e.check(oi(...t)),e.max=(...t)=>e.check(ai(...t)),e.length=(...t)=>e.check(si(...t)),e.nonempty=(...t)=>e.check(oi(1,...t)),e.lowercase=t=>e.check(li(t)),e.uppercase=t=>e.check(ui(t)),e.trim=()=>e.check(hi()),e.normalize=(...t)=>e.check(mi(...t)),e.toLowerCase=()=>e.check(gi()),e.toUpperCase=()=>e.check(_i()),e.slugify=()=>e.check(vi())}),ya=g(`ZodString`,(e,t)=>{an.init(e,t),va.init(e,t),e.email=t=>e.check(xr(ba,t)),e.url=t=>e.check(Dr(Ca,t)),e.jwt=t=>e.check(Hr(Ra,t)),e.emoji=t=>e.check(Or(wa,t)),e.guid=t=>e.check(Sr(xa,t)),e.uuid=t=>e.check(Cr(Sa,t)),e.uuidv4=t=>e.check(wr(Sa,t)),e.uuidv6=t=>e.check(Tr(Sa,t)),e.uuidv7=t=>e.check(Er(Sa,t)),e.nanoid=t=>e.check(kr(Ta,t)),e.guid=t=>e.check(Sr(xa,t)),e.cuid=t=>e.check(Ar(Ea,t)),e.cuid2=t=>e.check(jr(Da,t)),e.ulid=t=>e.check(Mr(Oa,t)),e.base64=t=>e.check(zr(Fa,t)),e.base64url=t=>e.check(Br(Ia,t)),e.xid=t=>e.check(Nr(ka,t)),e.ksuid=t=>e.check(Pr(Aa,t)),e.ipv4=t=>e.check(Fr(ja,t)),e.ipv6=t=>e.check(Ir(Ma,t)),e.cidrv4=t=>e.check(Lr(Na,t)),e.cidrv6=t=>e.check(Rr(Pa,t)),e.e164=t=>e.check(Vr(La,t)),e.datetime=t=>e.check(Qi(t)),e.date=t=>e.check(ea(t)),e.time=t=>e.check(na(t)),e.duration=t=>e.check(ia(t))});function K(e){return yr(ya,e)}var q=g(`ZodStringFormat`,(e,t)=>{R.init(e,t),va.init(e,t)}),ba=g(`ZodEmail`,(e,t)=>{cn.init(e,t),q.init(e,t)}),xa=g(`ZodGUID`,(e,t)=>{on.init(e,t),q.init(e,t)}),Sa=g(`ZodUUID`,(e,t)=>{sn.init(e,t),q.init(e,t)}),Ca=g(`ZodURL`,(e,t)=>{ln.init(e,t),q.init(e,t)}),wa=g(`ZodEmoji`,(e,t)=>{un.init(e,t),q.init(e,t)}),Ta=g(`ZodNanoID`,(e,t)=>{dn.init(e,t),q.init(e,t)}),Ea=g(`ZodCUID`,(e,t)=>{fn.init(e,t),q.init(e,t)}),Da=g(`ZodCUID2`,(e,t)=>{pn.init(e,t),q.init(e,t)}),Oa=g(`ZodULID`,(e,t)=>{mn.init(e,t),q.init(e,t)}),ka=g(`ZodXID`,(e,t)=>{hn.init(e,t),q.init(e,t)}),Aa=g(`ZodKSUID`,(e,t)=>{gn.init(e,t),q.init(e,t)}),ja=g(`ZodIPv4`,(e,t)=>{xn.init(e,t),q.init(e,t)}),Ma=g(`ZodIPv6`,(e,t)=>{Sn.init(e,t),q.init(e,t)}),Na=g(`ZodCIDRv4`,(e,t)=>{Cn.init(e,t),q.init(e,t)}),Pa=g(`ZodCIDRv6`,(e,t)=>{wn.init(e,t),q.init(e,t)}),Fa=g(`ZodBase64`,(e,t)=>{En.init(e,t),q.init(e,t)}),Ia=g(`ZodBase64URL`,(e,t)=>{On.init(e,t),q.init(e,t)}),La=g(`ZodE164`,(e,t)=>{kn.init(e,t),q.init(e,t)}),Ra=g(`ZodJWT`,(e,t)=>{jn.init(e,t),q.init(e,t)}),za=g(`ZodNumber`,(e,t)=>{Mn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ai(e,t,n,r),e.gt=(t,n)=>e.check(ni(t,n)),e.gte=(t,n)=>e.check(ri(t,n)),e.min=(t,n)=>e.check(ri(t,n)),e.lt=(t,n)=>e.check(ei(t,n)),e.lte=(t,n)=>e.check(ti(t,n)),e.max=(t,n)=>e.check(ti(t,n)),e.int=t=>e.check(Ha(t)),e.safe=t=>e.check(Ha(t)),e.positive=t=>e.check(ni(0,t)),e.nonnegative=t=>e.check(ri(0,t)),e.negative=t=>e.check(ei(0,t)),e.nonpositive=t=>e.check(ti(0,t)),e.multipleOf=(t,n)=>e.check(ii(t,n)),e.step=(t,n)=>e.check(ii(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 Ba(e){return qr(za,e)}var Va=g(`ZodNumberFormat`,(e,t)=>{Nn.init(e,t),za.init(e,t)});function Ha(e){return Yr(Va,e)}var Ua=g(`ZodBoolean`,(e,t)=>{Pn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ji(e,t,n,r)});function Wa(e){return Xr(Ua,e)}var Ga=g(`ZodNull`,(e,t)=>{Fn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Mi(e,t,n,r)});function Ka(e){return Zr(Ga,e)}var qa=g(`ZodUnknown`,(e,t)=>{In.init(e,t),G.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Ja(){return Qr(qa)}var Ya=g(`ZodNever`,(e,t)=>{Ln.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ni(e,t,n,r)});function Xa(e){return $r(Ya,e)}var Za=g(`ZodArray`,(e,t)=>{zn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ri(e,t,n,r),e.element=t.element,e.min=(t,n)=>e.check(oi(t,n)),e.nonempty=t=>e.check(oi(1,t)),e.max=(t,n)=>e.check(ai(t,n)),e.length=(t,n)=>e.check(si(t,n)),e.unwrap=()=>e.element});function Qa(e,t){return yi(Za,e,t)}var $a=g(`ZodObject`,(e,t)=>{Un.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>zi(e,t,n,r),b(e,`shape`,()=>t.shape),e.keyof=()=>uo(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Ja()}),e.loose=()=>e.clone({...e._zod.def,catchall:Ja()}),e.strict=()=>e.clone({...e._zod.def,catchall:Xa()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>Ve(e,t),e.safeExtend=t=>He(e,t),e.merge=t=>Ue(e,t),e.pick=t=>ze(e,t),e.omit=t=>Be(e,t),e.partial=(...t)=>We(go,e,t[0]),e.required=(...t)=>Ge(Eo,e,t[0])});function eo(e,t){return new $a({type:`object`,shape:e??{},...D(t)})}var to=g(`ZodUnion`,(e,t)=>{Gn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Bi(e,t,n,r),e.options=t.options});function no(e,t){return new to({type:`union`,options:e,...D(t)})}var ro=g(`ZodDiscriminatedUnion`,(e,t)=>{to.init(e,t),Kn.init(e,t)});function io(e,t,n){return new ro({type:`union`,options:t,discriminator:e,...D(n)})}var ao=g(`ZodIntersection`,(e,t)=>{qn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Vi(e,t,n,r)});function oo(e,t){return new ao({type:`intersection`,left:e,right:t})}var so=g(`ZodRecord`,(e,t)=>{Xn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Hi(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function co(e,t,n){return new so({type:`record`,keyType:e,valueType:t,...D(n)})}var lo=g(`ZodEnum`,(e,t)=>{Zn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Pi(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 lo({...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 lo({...t,checks:[],...D(r),entries:i})}});function uo(e,t){return new lo({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...D(t)})}var fo=g(`ZodLiteral`,(e,t)=>{Qn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fi(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 po(e,t){return new fo({type:`literal`,values:Array.isArray(e)?e:[e],...D(t)})}var mo=g(`ZodTransform`,(e,t)=>{$n.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Li(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Ce(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(M(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(M(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function ho(e){return new mo({type:`transform`,transform:e})}var go=g(`ZodOptional`,(e,t)=>{tr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Xi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function _o(e){return new go({type:`optional`,innerType:e})}var vo=g(`ZodExactOptional`,(e,t)=>{nr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Xi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function yo(e){return new vo({type:`optional`,innerType:e})}var bo=g(`ZodNullable`,(e,t)=>{rr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ui(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function xo(e){return new bo({type:`nullable`,innerType:e})}var So=g(`ZodDefault`,(e,t)=>{ir.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.removeDefault=e.unwrap});function Co(e,t){return new So({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():Fe(t)}})}var wo=g(`ZodPrefault`,(e,t)=>{or.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ki(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function To(e,t){return new wo({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():Fe(t)}})}var Eo=g(`ZodNonOptional`,(e,t)=>{sr.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 Do(e,t){return new Eo({type:`nonoptional`,innerType:e,...D(t)})}var Oo=g(`ZodCatch`,(e,t)=>{lr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>qi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ko(e,t){return new Oo({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var Ao=g(`ZodPipe`,(e,t)=>{ur.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ji(e,t,n,r),e.in=t.in,e.out=t.out});function jo(e,t){return new Ao({type:`pipe`,in:e,out:t})}var Mo=g(`ZodReadonly`,(e,t)=>{fr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Yi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function No(e){return new Mo({type:`readonly`,innerType:e})}var Po=g(`ZodCustom`,(e,t)=>{mr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ii(e,t,n,r)});function Fo(e,t={}){return bi(Po,e,t)}function Io(e){return xi(e)}function Lo(e,t){return jo(ho(e),t)}function Ro(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 zo=eo({instanceDir:K().optional(),gatewayPort:Ba(),daemonPort:Ba(),runtimeVersion:K().optional(),runtimeInstallDir:K().optional()}),Bo=eo({assistantId:K(),name:K().optional(),cloud:K().optional(),runtimeUrl:K().optional(),species:K().optional(),hatchedAt:K().optional(),organizationId:K().optional(),platformAssistantId:K().optional(),platformBaseUrl:K().optional(),platformOrganizationId:K().optional(),ingressUrl:K().optional(),resources:zo.optional()});function Vo(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ho(e){if(!Vo(e)||typeof e.assistantId!=`string`)return null;let t={};for(let[n,r]of Object.entries(Bo.shape)){let i=r.safeParse(e[n]);i.success&&i.data!==void 0&&(t[n]=i.data)}return t.cloud=Ro(e),t}function Uo(e){let t=Vo(e)?e:{},n=Array.isArray(t.assistants)?t.assistants:[],r=[];for(let e of n){let t=Ho(e);t&&r.push(t)}return{assistants:r,activeAssistant:typeof t.activeAssistant==`string`?t.activeAssistant:null}}var Wo=class extends Error{status;constructor(e,t){super(t),this.name=`GuardianTokenError`,this.status=e}};function Go(e){return e instanceof Wo&&(e.status===404||e.status===401)}var J=`The local assistant host isn't available here.`;function Ko(){if(!(typeof window>`u`))return window.__VELLUM_CONFIG__}function qo(){if(a())return!0;let e=Ko();return!(!e||e.mode===`remote-gateway`)}async function Y(e,t,n){if(!qo())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 Jo(e=`vellum`,t){return a()?window.vellum.localMode.hatch(e,t):Y(`/assistant/__local/hatch`,{species:e,remote:t},J)}async function Yo(){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 Xo(e,t){return a()?window.vellum.localMode.saveLockfileAssistant(e,t):Y(`/assistant/__local/lockfile`,{assistant:e,activeAssistant:t},J)}async function Zo(e,t){return a()?window.vellum.localMode.replacePlatformAssistants(e,t):Y(`/assistant/__local/lockfile`,{syncPlatform:!0,platformAssistants:e,organizationId:t},J)}async function Qo(e){return a()?window.vellum.localMode.retire(e):Y(`/assistant/__local/retire`,{assistantId:e},J)}async function $o(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 es(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 ts(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 ns(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(!qo())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 rs(e){if(a()){let t=await window.vellum.localMode.guardianToken(e);if(!t.ok)throw new Wo(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 Wo(t.status,e.error??`Guardian token request failed: ${t.status}`)}let{accessToken:n}=await t.json();return n}async function is(e){return(await Y(`/assistant/__local/platform-session`,{token:e},J)).ok}async function as(){if(qo())try{await fetch(`/assistant/__local/platform-session`,{method:`DELETE`})}catch{}}var os=()=>Se.getState().lockfile,ss=(e,t=!0)=>Se.getState().setLockfile(e,t),cs={assistants:[],activeAssistant:null},ls=`vellum:local:lockfile`;function us(){return window.__VELLUM_CONFIG__??{}}function X(){return us().mode===`remote-gateway`}function ds(){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=>{ss(e),t(ls,JSON.stringify(e)),Ms()},fs=new Set([`1`,`true`,`yes`]);function ps(){return!fs.has(`false`)}function ms(){let e=us();return e?.disablePlatform==null?!1:!!e.disablePlatform}async function hs(){if(X()){let e=ds();return Z(e),e}try{let e=await Yo();return Z(e),e}catch{return Q()}}function Q(){if(X()){let e=ds();return ss(e),e}let e=os();if(e)return e;let t=n(ls,``);if(t)try{let e=Uo(JSON.parse(t));return ss(e),e}catch{}let r={...cs};return ss(r,!1),r}async function gs(e){let t=await Xo(e,e.assistantId);t.ok&&Z(t.lockfile)}async function _s(e,t,n){await gs({assistantId:e,name:t,cloud:`vellum`,runtimeUrl:_e(),hatchedAt:new Date().toISOString(),organizationId:n})}async function vs(e){let t=await Xo({...e},void 0);t.ok&&Z(t.lockfile)}async function ys(e){if(X())return;let t=Q().assistants.find(t=>t.assistantId===e);if(!t)return;let n=await Xo({...t},e);n.ok&&Z(n.lockfile)}async function bs(e,t,n=()=>!0){if(t==null||!n())return;let r=await Zo(e.filter(e=>!e.is_local).map(e=>({assistantId:e.id,...e.name!=null&&{name:e.name},cloud:`vellum`,runtimeUrl:_e(),hatchedAt:e.created,...t!=null&&{organizationId:t}})),t);r.ok&&n()&&Z(r.lockfile)}async function xs(e){let t=await Qo(e);return t.ok&&(l(),ge(),ye(null),await hs()),t}function Ss(){return Q().assistants.length>0}function Cs(e){return e.cloud===`local`}function ws(e){return e.cloud===`local`||e.cloud===`docker`}function Ts(e){return e.cloud===`vellum`}function Es(e){let t=Q().assistants.find(t=>t.assistantId===e);return!!t&&Cs(t)}function Ds(){return Q().assistants.filter(Cs)}function Os(){return Q().assistants.filter(Ts)}function ks(){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 As(){let e=s();if(e){let t=Q().assistants.find(t=>t.assistantId===e);if(t)return t}return ks()}function js(e){return Q().assistants.find(t=>t.assistantId===e)}function Ms(){let e=s();e&&(Q().assistants.some(t=>t.assistantId===e)||l())}function Ns(e){return`/assistant/__gateway/${e}`}function Ps(e){return!!e&&ps()&&!X()&&ws(e)}function Fs(e){let t=e.resources?.gatewayPort;if(t!=null)return t;if(e.runtimeUrl)try{let t=new URL(e.runtimeUrl);if(t.hostname!==`localhost`&&t.hostname!==`127.0.0.1`)return;let n=Number(t.port);return Number.isInteger(n)&&n>0?n:void 0}catch{return}}function $(e=As()){if(!Ps(e))return;let t=Fs(e);if(t!=null)return Ns(t)}async function Is(){let e=$();if(!e)return!1;try{let t=await fetch(`${e}/readyz`);if(!t.ok)return!1;let n=await t.json();return typeof n==`object`&&!!n&&`status`in n&&n.status===`ok`}catch{return!1}}var Ls=class extends Error{constructor(e){super(`Local assistant ${e} has no resolved gateway`),this.name=`UnresolvedLocalGatewayError`}};async function Rs(e){let t=e??As(),n=he(t);if(!n){if(Ps(t))throw new Ls(t.assistantId);return}await me(n,t?await rs(t.assistantId):void 0);let r=$(t);r&&ye({url:`${window.location.origin}${r}`,token:fe()})}function zs(e){return e instanceof Wo?e.status!==403:!0}async function Bs(e){try{await Rs(e);return}catch(t){if(!zs(t))throw t;let n=(e??As())?.assistantId;if(!n||!(await es(n)).ok)throw t;await Rs((await hs()).assistants.find(e=>e.assistantId===n)??e)}}export{Se as $,qo as A,Qa as B,ys as C,rs as D,as as E,es as F,eo as G,io as H,za as I,K as J,Lo as K,ya as L,Go as M,$o as N,ns as O,ts as P,br as Q,uo as R,_s as S,vs as T,po as U,Wa as V,Ba as W,Ja as X,no as Y,Jr as Z,Rs as _,Q as a,me as at,xs as b,As as c,se as ct,Cs as d,de as dt,xe as et,ps as f,o as ft,hs as g,X as h,c as ht,$ as i,ge as it,is as j,Jo as k,Ss as l,ce as lt,ms as m,s as mt,ks as n,ye as nt,js as o,fe as ot,Ts as p,l as pt,co as q,Ds as r,_e as rt,Os as s,he as st,Ls as t,be as tt,Es as u,d as ut,Bs as v,bs as w,gs as x,Is as y,Ka as z};
@@ -1 +1 @@
1
- import{c as e,i as t}from"./local-settings-C-dW2vkq.js";import{t as n}from"./useMutation-CXGTrp4W.js";import{N as r,g as i,rt as a}from"./local-mode-Ckii2tmN.js";import{r as o,t as s}from"./semver-BpijV4FQ.js";import{A as c,n as l}from"./auth-store-D9BqFncz.js";function u({assistantId:e,targetVersion:t}){let o=n({mutationFn:async()=>{if(!e)throw Error(`No local assistant is active.`);c.setLocalAssistantUpgradeInProgress(e,!0);try{let n=await r(e,{...t?{version:t}:{latest:!0}});if(!n.ok)throw Error(n.error??`Failed to trigger update.`);return n}finally{c.setLocalAssistantUpgradeInProgress(e,!1)}}});return{...o,upgrade:async()=>{if(!e)throw Error(`No local assistant is active.`);let t=await o.mutateAsync();return await i(),a(),await l.getState().connectLocalAssistant(e),t}}}var d=1200*1e3,f=`vellum:runtimeUpgradeDismissed`,p=`vellum:localRuntimeUpgradeDismissed`;function m(e){return(e?o(e):null)?.pre?.split(`.`)[0]===`local`}function h(e){let t=e?.filter(e=>!m(e.version))??[];return t.find(e=>e.is_stable!==!1)??t[0]}function g(e,t){if(!e||!t)return!1;let n=o(t),r=o(e);return!n||!r?t!==e:s(n,r)>0}function _(e,t){return t&&e===`preview`?`preview`:`stable`}function v(e,t,n){return`${e}:${t}:${n}`}function y(e,n){return t(v(f,e,n),``)===`true`||t(v(p,e,n),``)===`true`}function b(t,n){e(v(f,t,n),`true`)}export{g as a,_ as i,b as n,y as o,h as r,u as s,d as t};
1
+ import{c as e,i as t}from"./local-settings-C-dW2vkq.js";import{t as n}from"./useMutation-CXGTrp4W.js";import{P as r,g as i,it as a}from"./local-mode-BTovbt13.js";import{r as o,t as s}from"./semver-BpijV4FQ.js";import{j as c,n as l}from"./auth-store-5qq59BAN.js";function u({assistantId:e,targetVersion:t}){let o=n({mutationFn:async()=>{if(!e)throw Error(`No local assistant is active.`);c.setLocalAssistantUpgradeInProgress(e,!0);try{let n=await r(e,{...t?{version:t}:{latest:!0}});if(!n.ok)throw Error(n.error??`Failed to trigger update.`);return n}finally{c.setLocalAssistantUpgradeInProgress(e,!1)}}});return{...o,upgrade:async()=>{if(!e)throw Error(`No local assistant is active.`);let t=await o.mutateAsync();return await i(),a(),await l.getState().connectLocalAssistant(e),t}}}var d=1200*1e3,f=`vellum:runtimeUpgradeDismissed`,p=`vellum:localRuntimeUpgradeDismissed`;function m(e){return(e?o(e):null)?.pre?.split(`.`)[0]===`local`}function h(e){let t=e?.filter(e=>!m(e.version))??[];return t.find(e=>e.is_stable!==!1)??t[0]}function g(e,t){if(!e||!t)return!1;let n=o(t),r=o(e);return!n||!r?t!==e:s(n,r)>0}function _(e,t){return t&&e===`preview`?`preview`:`stable`}function v(e,t,n){return`${e}:${t}:${n}`}function y(e,n){return t(v(f,e,n),``)===`true`||t(v(p,e,n),``)===`true`}function b(t,n){e(v(f,t,n),`true`)}export{g as a,_ as i,b as n,y as o,h as r,u as s,d as t};
@@ -0,0 +1 @@
1
+ import{u as e}from"./routes-D9sNqB_o.js";import{i as t}from"./navigation-resolver-DPJxzx0h.js";import{t as n}from"./build-state-m0LQ5Iis.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/`)||e.startsWith(`/import`)}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 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{m as r,t as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./cn-CJf7MmLX.js";import"./src-D89CNeuT.js";import{f as s,m as c,p as l}from"./native-biometric-CntdlaL-.js";import{u}from"./routes-vE-2hncW.js";import{n as d,r as f}from"./login-flow-BCNBNLzu.js";import{t as p}from"./public-asset-CbDDcomC.js";var m=e(t(),1),h=a();function g({children:e}){return(0,h.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,h.jsx)(`img`,{src:p(`/vellum-logo.svg`),alt:`Vellum`,width:220,height:66,className:`block dark:hidden`}),(0,h.jsx)(`img`,{src:p(`/vellum-logo-white.svg`),alt:`Vellum`,width:220,height:66,className:`hidden dark:block`}),e,(0,h.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,h.jsx)(`img`,{src:p(`/login-background-characters.svg`),alt:``,width:880,height:182,className:`h-auto w-full`})})]})}function _(){return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`div`,{className:`pointer-events-none absolute top-[120px] left-1/2 z-0 -translate-x-1/2`,children:(0,h.jsx)(`img`,{src:p(`/vellum-logo-white.svg`),alt:`Vellum`,width:92,height:28})}),(0,h.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,h.jsx)(`img`,{src:p(`/login-background-characters.svg`),alt:``,width:880,height:182,className:`h-auto w-full`})})]})}var v=`flex w-full max-w-[448px] flex-col gap-6 rounded-lg border border-[var(--border-disabled)] bg-[var(--surface-lift)] p-6`;function y({children:e}){return(0,h.jsx)(`div`,{className:v,children:e})}function b({children:e}){return(0,h.jsx)(`h1`,{className:`text-title-large text-center text-[var(--content-emphasised)]`,children:e})}function x({children:e,className:t}){return(0,h.jsx)(`p`,{className:o(`text-body-small-default text-center text-[var(--system-negative-strong)]`,t),children:e})}function S({children:e}){return(0,h.jsx)(`div`,{className:`dark`,children:(0,h.jsxs)(`div`,{className:`relative min-h-screen overflow-x-hidden bg-[var(--surface-base)] text-[var(--content-default)]`,children:[(0,h.jsx)(_,{}),(0,h.jsx)(`div`,{className:`relative z-10 flex min-h-screen flex-col items-center justify-center px-4`,children:e})]})})}var C={signup_closed:`Sign-ups are currently closed. Visit vellum.ai/community to request access.`};function w({returnTo:e}){let[t,r]=(0,m.useState)(null),[i,a]=(0,m.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&&C[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,h.jsx)(g,{children:(0,h.jsxs)(`div`,{className:`z-10 mt-8 flex w-full max-w-[320px] flex-col items-center gap-3`,children:[t&&(0,h.jsx)(x,{className:`max-w-[280px]`,children:t}),(0,h.jsx)(n,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>{o()},disabled:i,className:`max-w-[300px]`,children:`Sign in`})]})})}function T({returnTo:e}){let[t,r]=(0,m.useState)(null),[a,o]=(0,m.useState)(!1),c=f(e),l=e?`${u.account.signup}?returnTo=${encodeURIComponent(e)}`:u.account.signup,p=async()=>{r(null),o(!0);try{await s(d,c,{returnTo:e})}catch(e){console.error(`[web-login] auth flow failed:`,e),r(`Something went wrong. Please try again.`),o(!1)}};return(0,h.jsx)(S,{children:(0,h.jsxs)(y,{children:[(0,h.jsx)(b,{children:`Sign in to Vellum`}),t&&(0,h.jsx)(x,{children:t}),(0,h.jsx)(`div`,{className:`flex flex-col items-center gap-3`,children:(0,h.jsx)(n,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>void p(),disabled:a,className:`max-w-[300px]`,children:`Continue`})}),(0,h.jsxs)(`p`,{className:`text-body-small-default flex justify-center gap-1`,children:[(0,h.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Don't have an account?`}),(0,h.jsx)(i,{to:l,className:`font-medium text-[var(--content-emphasised)] hover:underline`,children:`Sign up`})]})]})})}function E(){let[e]=r(),t=c(),n=e.get(`returnTo`);return t?(0,h.jsx)(w,{returnTo:n}):(0,h.jsx)(T,{returnTo:n})}export{E as LoginPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{m as r,t as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./cn-CJf7MmLX.js";import"./src-te3YTBG-.js";import{f as s,m as c,p as l}from"./native-biometric-BAMIyaSS.js";import{u}from"./routes-D9sNqB_o.js";import{n as d,r as f}from"./login-flow-CD9tyuFG.js";import{t as p}from"./public-asset-BBVUuTT_.js";var m=e(t(),1),h=a();function g({children:e}){return(0,h.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,h.jsx)(`img`,{src:p(`/vellum-logo.svg`),alt:`Vellum`,width:220,height:66,className:`block dark:hidden`}),(0,h.jsx)(`img`,{src:p(`/vellum-logo-white.svg`),alt:`Vellum`,width:220,height:66,className:`hidden dark:block`}),e,(0,h.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,h.jsx)(`img`,{src:p(`/login-background-characters.svg`),alt:``,width:880,height:182,className:`h-auto w-full`})})]})}function _(){return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`div`,{className:`pointer-events-none absolute top-[120px] left-1/2 z-0 -translate-x-1/2`,children:(0,h.jsx)(`img`,{src:p(`/vellum-logo-white.svg`),alt:`Vellum`,width:92,height:28})}),(0,h.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,h.jsx)(`img`,{src:p(`/login-background-characters.svg`),alt:``,width:880,height:182,className:`h-auto w-full`})})]})}var v=`flex w-full max-w-[448px] flex-col gap-6 rounded-lg border border-[var(--border-disabled)] bg-[var(--surface-lift)] p-6`;function y({children:e}){return(0,h.jsx)(`div`,{className:v,children:e})}function b({children:e}){return(0,h.jsx)(`h1`,{className:`text-title-large text-center text-[var(--content-emphasised)]`,children:e})}function x({children:e,className:t}){return(0,h.jsx)(`p`,{className:o(`text-body-small-default text-center text-[var(--system-negative-strong)]`,t),children:e})}function S({children:e}){return(0,h.jsx)(`div`,{className:`dark`,children:(0,h.jsxs)(`div`,{className:`relative min-h-screen overflow-x-hidden bg-[var(--surface-base)] text-[var(--content-default)]`,children:[(0,h.jsx)(_,{}),(0,h.jsx)(`div`,{className:`relative z-10 flex min-h-screen flex-col items-center justify-center px-4`,children:e})]})})}var C={signup_closed:`Sign-ups are currently closed. Visit vellum.ai/community to request access.`};function w({returnTo:e}){let[t,r]=(0,m.useState)(null),[i,a]=(0,m.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&&C[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,h.jsx)(g,{children:(0,h.jsxs)(`div`,{className:`z-10 mt-8 flex w-full max-w-[320px] flex-col items-center gap-3`,children:[t&&(0,h.jsx)(x,{className:`max-w-[280px]`,children:t}),(0,h.jsx)(n,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>{o()},disabled:i,className:`max-w-[300px]`,children:`Sign in`})]})})}function T({returnTo:e}){let[t,r]=(0,m.useState)(null),[a,o]=(0,m.useState)(!1),c=f(e),l=e?`${u.account.signup}?returnTo=${encodeURIComponent(e)}`:u.account.signup,p=async()=>{r(null),o(!0);try{await s(d,c,{returnTo:e})}catch(e){console.error(`[web-login] auth flow failed:`,e),r(`Something went wrong. Please try again.`),o(!1)}};return(0,h.jsx)(S,{children:(0,h.jsxs)(y,{children:[(0,h.jsx)(b,{children:`Sign in to Vellum`}),t&&(0,h.jsx)(x,{children:t}),(0,h.jsx)(`div`,{className:`flex flex-col items-center gap-3`,children:(0,h.jsx)(n,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>void p(),disabled:a,className:`max-w-[300px]`,children:`Continue`})}),(0,h.jsxs)(`p`,{className:`text-body-small-default flex justify-center gap-1`,children:[(0,h.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Don't have an account?`}),(0,h.jsx)(i,{to:l,className:`font-medium text-[var(--content-emphasised)] hover:underline`,children:`Sign up`})]})]})})}function E(){let[e]=r(),t=c(),n=e.get(`returnTo`);return t?(0,h.jsx)(w,{returnTo:n}):(0,h.jsx)(T,{returnTo:n})}export{E as LoginPage};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{m as n}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{n as i}from"./auth-store-D9BqFncz.js";import{_ as a}from"./native-biometric-CntdlaL-.js";import{u as o}from"./routes-vE-2hncW.js";import{t as s}from"./hard-navigate-DZlpL1No.js";import{r as c,t as l}from"./account-shell-C_IH8r44.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-BFJW0bSv.js";import{m as n}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{n as i}from"./auth-store-5qq59BAN.js";import{S as a}from"./native-biometric-BAMIyaSS.js";import{u as o}from"./routes-D9sNqB_o.js";import{t as s}from"./hard-navigate-DyUrcxe0.js";import{r as c,t as l}from"./account-shell-Dk4aC-Ls.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};