@vellumai/web 0.8.6 → 0.8.7-dev.202606052118.34cd356

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 (662) hide show
  1. package/README.md +1 -1
  2. package/dist/assets/{QueryClientProvider-B6PnMGWJ.js → QueryClientProvider-DBAeGN3q.js} +1 -1
  3. package/dist/assets/about-page-VHKsk9M1.js +1 -0
  4. package/dist/assets/account-page-D9CGOt0R.js +1 -0
  5. package/dist/assets/{account-shell-CKkPHgS9.js → account-shell-jkpKz4_4.js} +1 -1
  6. package/dist/assets/add-credits-modal-CELDqeFL.js +1 -0
  7. package/dist/assets/advanced-page-CaKwSVhX.js +1 -0
  8. package/dist/assets/ai-page-fYctq3LE.js +1 -0
  9. package/dist/assets/{angular-html-BNkT9eyS.js → angular-html-DoxnP4L3.js} +1 -1
  10. package/dist/assets/{angular-ts-BDnVtklc.js → angular-ts-9spjMgRd.js} +1 -1
  11. package/dist/assets/api-DYTu2hC1.js +39 -0
  12. package/dist/assets/api-errors-DhNZwQy5.js +1 -0
  13. package/dist/assets/api-key-screen-B5lwBbF1.js +1 -0
  14. package/dist/assets/{apl-Cvfre3ur.js → apl-BjPuT95r.js} +1 -1
  15. package/dist/assets/{app-html-cache-CJYf8NER.js → app-html-cache-B0vrz1YW.js} +1 -1
  16. package/dist/assets/archive-page-Cg-IQv1e.js +1 -0
  17. package/dist/assets/archive-yWA8_b2E.js +1 -0
  18. package/dist/assets/arrow-up-Cev-d0qQ.js +1 -0
  19. package/dist/assets/assistant-feature-flag-store-DtJxEl2H.js +1 -0
  20. package/dist/assets/assistant-identity-store-CsS_tq85.js +1 -0
  21. package/dist/assets/assistant-status-panel-Cx9PTuBg.js +1 -0
  22. package/dist/assets/{astro-jLJZU875.js → astro-xfSi9ARd.js} +1 -1
  23. package/dist/assets/auth-store-Vu-UnVOs.js +1 -0
  24. package/dist/assets/avatar-api-DygRCPqF.js +1 -0
  25. package/dist/assets/bell-BFRXSoMR.js +1 -0
  26. package/dist/assets/billing-page-Cxk-3jZz.js +34 -0
  27. package/dist/assets/{blade-wilAfCxp.js → blade-C8H1jvQW.js} +1 -1
  28. package/dist/assets/{bsl-BWfsS9fN.js → bsl-1Uw5GcVj.js} +1 -1
  29. package/dist/assets/bug-wSdnBKWO.js +1 -0
  30. package/dist/assets/button-Cs9tc8OR.js +1 -0
  31. package/dist/assets/{cairo-uikTSnm5.js → cairo-LeKPj3R4.js} +1 -1
  32. package/dist/assets/{calendar-DuFqXuuD.js → calendar-xwiYi6y2.js} +1 -1
  33. package/dist/assets/capture-error-23NwnaZt.js +4 -0
  34. package/dist/assets/card-BcKGvsaa.js +1 -0
  35. package/dist/assets/check-DqeyrftF.js +1 -0
  36. package/dist/assets/checkbox-hJlRqWtn.js +1 -0
  37. package/dist/assets/chevron-right-CJ0Oykrn.js +1 -0
  38. package/dist/assets/{chevron-up-Bo3-OB-v.js → chevron-up-C-4xJEr7.js} +1 -1
  39. package/dist/assets/chunk-5KNZJZUH-BpLAEZ0-.js +4 -0
  40. package/dist/assets/cn-DIX4PZch.js +1 -0
  41. package/dist/assets/{cobol-CIiUbggr.js → cobol-D5SqfAvu.js} +1 -1
  42. package/dist/assets/{coffee-CEYJB2K9.js → coffee-KrVM6VAY.js} +1 -1
  43. package/dist/assets/command-palette-BrMePKGh.js +1 -0
  44. package/dist/assets/community-page-BE3TcsGC.js +1 -0
  45. package/dist/assets/confirm-dialog-DavdF-L4.js +1 -0
  46. package/dist/assets/connect-page-WUYnjsNv.js +1 -0
  47. package/dist/assets/contacts-gateway-B5HYYdVz.js +1 -0
  48. package/dist/assets/contacts-page-route-DiEnwsHY.js +1 -0
  49. package/dist/assets/conversation-store-D6erO6zc.js +1 -0
  50. package/dist/assets/{cpp-mde4ZU9c.js → cpp-C0UxZXSh.js} +1 -1
  51. package/dist/assets/{create-selectors-Bi35YIGD.js → create-selectors-LbkU9b0a.js} +1 -1
  52. package/dist/assets/createLucideIcon-CSvzx8tc.js +1 -0
  53. package/dist/assets/{createLucideIcon-C9oV_FLv.js → createLucideIcon-D8wUFCt3.js} +1 -1
  54. package/dist/assets/{crystal-DvUAeN8f.js → crystal-ClJk9iNu.js} +1 -1
  55. package/dist/assets/danger-zone-redirect-page-CVe8PiEo.js +1 -0
  56. package/dist/assets/debug-page-Cu7cV0ph.js +3 -0
  57. package/dist/assets/deploy-dialogs-Co2asMMP.js +1 -0
  58. package/dist/assets/{detail-card-XLnEy7rv.js → detail-card-BBcoMDq8.js} +1 -1
  59. package/dist/assets/developer-page-DMvVDFn_.js +1 -0
  60. package/dist/assets/device-settings-C07QvMzm.js +1 -0
  61. package/dist/assets/devices-page-CD8OBIuC.js +1 -0
  62. package/dist/assets/dist-3bWmqQYy.js +45 -0
  63. package/dist/assets/dist-Cb2Epurm.js +1 -0
  64. package/dist/assets/{dist-Cu3p6ULF.js → dist-DacRcU3L.js} +3 -3
  65. package/dist/assets/document-viewer-page-DIZaCqI9.js +1 -0
  66. package/dist/assets/{dollar-sign-CrzJnMOM.js → dollar-sign-D_9hooHL.js} +1 -1
  67. package/dist/assets/{domain-field-KsEz6xZI.js → domain-field-CyNgwvDW.js} +1 -1
  68. package/dist/assets/dropdown-PPtOL9bp.js +1 -0
  69. package/dist/assets/earn-credits-modal-3fAfu8Yj.js +1 -0
  70. package/dist/assets/{edge-BOBmGDxF.js → edge-BiYC4_90.js} +1 -1
  71. package/dist/assets/edit-chat-session-DseODZCl.js +1 -0
  72. package/dist/assets/effective-timezone-QeovgyP0.js +1 -0
  73. package/dist/assets/{elixir-DUPuwEVX.js → elixir-CeTC01SF.js} +1 -1
  74. package/dist/assets/{ellipsis-vertical-BEukgUyo.js → ellipsis-vertical-f27t2xXb.js} +1 -1
  75. package/dist/assets/{elm-5TzY042r.js → elm-Cn1hsMyk.js} +1 -1
  76. package/dist/assets/emails-page-D8es8Vdq.js +1 -0
  77. package/dist/assets/{erb-Dme7vl56.js → erb-DSDLUB86.js} +1 -1
  78. package/dist/assets/{erlang-qP3U3mvq.js → erlang-C99b08Nz.js} +1 -1
  79. package/dist/assets/esm-DKyh2sdX.js +2 -0
  80. package/dist/assets/esm-DUUKbDsd.js +2 -0
  81. package/dist/assets/esm-Da4x-MH2.js +2 -0
  82. package/dist/assets/{esm-DxV3a7UZ.js → esm-SU3SyAUz.js} +2 -2
  83. package/dist/assets/esm-dtSsvPGT.js +2 -0
  84. package/dist/assets/event-bus-DKlaDVAu.js +1 -0
  85. package/dist/assets/{external-link-BzN68Baf.js → external-link-CcV79Arv.js} +1 -1
  86. package/dist/assets/feature-flag-catalog--1VEc4mE.js +1 -0
  87. package/dist/assets/{file-markdown-BeBUXXva.js → file-markdown-_6RadtEy.js} +1 -1
  88. package/dist/assets/{fortran-fixed-form-D0yi1x_F.js → fortran-fixed-form-CfIW45ck.js} +1 -1
  89. package/dist/assets/{fsharp-DC4DLJa3.js → fsharp-CpfXaTmO.js} +1 -1
  90. package/dist/assets/gateway-session-BEbYXAZw.js +1 -0
  91. package/dist/assets/{gdresource-CK0esNja.js → gdresource-Bq9ffHIF.js} +1 -1
  92. package/dist/assets/general-page-pwgo7IrN.js +1 -0
  93. package/dist/assets/{git-commit-CtQrm65C.js → git-commit-4hNTcyXg.js} +1 -1
  94. package/dist/assets/{git-rebase-BEYA8QIR.js → git-rebase-DoeXBq-R.js} +1 -1
  95. package/dist/assets/{glimmer-js-DK_nUSGb.js → glimmer-js-CYkye81z.js} +1 -1
  96. package/dist/assets/{glimmer-ts-CfPJjfB9.js → glimmer-ts-Bk7QAWr2.js} +1 -1
  97. package/dist/assets/{globe-wFgNRLYC.js → globe-B6unPYdp.js} +1 -1
  98. package/dist/assets/{glsl-BLTb4pw5.js → glsl-BYZink9d.js} +1 -1
  99. package/dist/assets/google-logo-CBBlhwbc.js +1 -0
  100. package/dist/assets/{graphql-Dmm8h7KV.js → graphql-CS_bfAPh.js} +1 -1
  101. package/dist/assets/{hack-CE-G0PM6.js → hack-rkugl_pJ.js} +1 -1
  102. package/dist/assets/{haml-X4fw6GmH.js → haml-BkhENUsf.js} +1 -1
  103. package/dist/assets/{handlebars-rJYAy9gV.js → handlebars-Bh3JZxjr.js} +1 -1
  104. package/dist/assets/hard-drive-C5ssi802.js +1 -0
  105. package/dist/assets/hatching-screen-BdInsbEv.js +1 -0
  106. package/dist/assets/home-page-route-CYhJPXuO.js +1 -0
  107. package/dist/assets/hosting-screen-joWfMgFu.js +1 -0
  108. package/dist/assets/{html-BJ9sAXe_.js → html-Chvx6bbW.js} +1 -1
  109. package/dist/assets/{html-derivative-Bysi4tv4.js → html-derivative-BZlQ5XVV.js} +1 -1
  110. package/dist/assets/{http-BS7Jqdgv.js → http-CZnYRnoH.js} +1 -1
  111. package/dist/assets/{hurl-_C9yb954.js → hurl-C9D1SYfx.js} +1 -1
  112. package/dist/assets/{hxml-DqH_d5Aw.js → hxml-CqBwUL68.js} +1 -1
  113. package/dist/assets/identity-page-route-bqmH9pAp.js +1 -0
  114. package/dist/assets/impersonate-version-flag-DC4HAvtV.js +1 -0
  115. package/dist/assets/index-BXFh6SyK.css +2 -0
  116. package/dist/assets/index-C0-CE6Al.js +124 -0
  117. package/dist/assets/input-DwAJUlac.js +1 -0
  118. package/dist/assets/inspect-page-CgNTUN8o.js +2 -0
  119. package/dist/assets/install-C4tkd7Wj.js +1 -0
  120. package/dist/assets/integrations-page-D89OcCOp.js +1 -0
  121. package/dist/assets/intelligence-layout-Cuku4uqi.js +1 -0
  122. package/dist/assets/is-electron-BCDAAC00.js +1 -0
  123. package/dist/assets/{jinja-kFAIX1rC.js → jinja-DA4mN-er.js} +1 -1
  124. package/dist/assets/{jison-efOvWr8V.js → jison-BUGhbqsC.js} +1 -1
  125. package/dist/assets/{julia-DpX7Fjmm.js → julia-DE2tbbof.js} +1 -1
  126. package/dist/assets/{just-IdY1z9FD.js → just-F4pUwLYE.js} +1 -1
  127. package/dist/assets/{latex-9FXC3ncb.js → latex-DVRfNFWZ.js} +1 -1
  128. package/dist/assets/{lib-KV3M-JnZ.js → lib-CVXzm3-C.js} +1 -1
  129. package/dist/assets/library-detail-page-_D85yLW9.js +1 -0
  130. package/dist/assets/library-page-CBB_8v5U.js +1 -0
  131. package/dist/assets/{link-2-8I3QXA-n.js → link-2-B0QONFsy.js} +1 -1
  132. package/dist/assets/{liquid-Dmd--mKG.js → liquid-BQaobxSx.js} +1 -1
  133. package/dist/assets/llm-dimension-DZzl8VAV.js +1 -0
  134. package/dist/assets/loader-circle-FEkI0Am4.js +1 -0
  135. package/dist/assets/login-flow-DIpcUTNe.js +1 -0
  136. package/dist/assets/login-page-VPaB4xql.js +1 -0
  137. package/dist/assets/logout-page-BECXh4F0.js +1 -0
  138. package/dist/assets/logs-layout-Dt8Xlesr.js +1 -0
  139. package/dist/assets/loopback-auth-RK24i2eZ.js +1 -0
  140. package/dist/assets/{lua-B9l8P4B3.js → lua-C6astBbM.js} +1 -1
  141. package/dist/assets/{marko-BLKIGWCO.js → marko-CDvDU-jy.js} +1 -1
  142. package/dist/assets/{mdc-DqnMcfsN.js → mdc-DYeZOJof.js} +1 -1
  143. package/dist/assets/memory-router-playground-page-C721buHE.js +3 -0
  144. package/dist/assets/menu-0h93UDZw.js +1 -0
  145. package/dist/assets/minimize-2-H-zinYcX.js +1 -0
  146. package/dist/assets/{misc-CBjwzlgT.js → misc-BwTS2Omn.js} +1 -1
  147. package/dist/assets/{mobile-sidebar-drawer-C6Gyr33c.js → mobile-sidebar-drawer-S4w1qz1d.js} +1 -1
  148. package/dist/assets/modal-C7CS3Y_X.js +1 -0
  149. package/dist/assets/native-biometric-BYFBF18V.js +6 -0
  150. package/dist/assets/{native-file-DH3T-Yy4.js → native-file-BURkYQJV.js} +2 -2
  151. package/dist/assets/{nextflow-D6uJA-4H.js → nextflow-CSmwW5Ci.js} +1 -1
  152. package/dist/assets/{nginx-DpJLfokZ.js → nginx-CnKPWPN7.js} +1 -1
  153. package/dist/assets/{nim-BhJPviH3.js → nim-DVpbAykj.js} +1 -1
  154. package/dist/assets/notice-BWm2kHlI.js +1 -0
  155. package/dist/assets/notifications-page-cIm6df1B.js +1 -0
  156. package/dist/assets/{oauth-complete-page-Yae_ACRB.js → oauth-complete-page-B6N3m4NP.js} +2 -2
  157. package/dist/assets/{oauth-popup-complete-page-DIxZ73Tq.js → oauth-popup-complete-page-395H22WR.js} +2 -2
  158. package/dist/assets/{octagon-x-DgCpvPRH.js → octagon-x-Bze4QGjG.js} +1 -1
  159. package/dist/assets/onboarding-layout-DjM09Q5m.js +1 -0
  160. package/dist/assets/{page-shell-2Pocdjh8.js → page-shell-D7zZqTOH.js} +1 -1
  161. package/dist/assets/panel-item-BPosLg5Y.js +1 -0
  162. package/dist/assets/password-reset-page-BSJUcHmw.js +1 -0
  163. package/dist/assets/pcm-downsample-worklet-CwNZrVLe.js +1 -0
  164. package/dist/assets/{pencil-rsHfEBVu.js → pencil-CESg1M7c.js} +1 -1
  165. package/dist/assets/{perl-C94Kq8Vf.js → perl-DL5nyTE3.js} +1 -1
  166. package/dist/assets/{php-BjvEifTN.js → php-14zLJiK2.js} +1 -1
  167. package/dist/assets/platform-loopback-page-Dv832i5i.js +1 -0
  168. package/dist/assets/plugins-page-D0AYf4VK.js +1 -0
  169. package/dist/assets/portal-container-CKtYcZfP.js +1 -0
  170. package/dist/assets/pre-chat-flow-C_L0Kj1b.js +1 -0
  171. package/dist/assets/privacy-page-CWEzt4GF.js +1 -0
  172. package/dist/assets/privacy-screen-Cglc2W0S.js +1 -0
  173. package/dist/assets/progress-bar-CgQMQ_UR.js +1 -0
  174. package/dist/assets/provider-callback-page-CuKLmggk.js +1 -0
  175. package/dist/assets/provider-key-D2KYz36o.js +1 -0
  176. package/dist/assets/provider-signup-page-BEtl7KkK.js +1 -0
  177. package/dist/assets/{pug-Bes6CgOS.js → pug-BcGFw36t.js} +1 -1
  178. package/dist/assets/{qml-Br-eozzh.js → qml-DSBzgwxk.js} +1 -1
  179. package/dist/assets/query-tags-DAoC-jzg.js +1 -0
  180. package/dist/assets/{razor-CI0vZK4x.js → razor-DzERoHYk.js} +1 -1
  181. package/dist/assets/react-query.gen-CfXF72qo.js +1 -0
  182. package/dist/assets/resize-errors-C_vO4oid.js +1 -0
  183. package/dist/assets/routes-C8gmti0H.js +1 -0
  184. package/dist/assets/{rst-gAYJ4hB7.js → rst-BIN6LBBb.js} +1 -1
  185. package/dist/assets/{ruby-wkizT7Hc.js → ruby-jBJwv2mP.js} +1 -1
  186. package/dist/assets/{sas-BOBTpuDj.js → sas-yRpQSa4M.js} +1 -1
  187. package/dist/assets/{save-dqBojVBU.js → save-CBzZvuPl.js} +1 -1
  188. package/dist/assets/schedules-b9DnRmiG.js +1 -0
  189. package/dist/assets/schedules-page-DfGN3eJh.js +1 -0
  190. package/dist/assets/{scss-D4rXmeJf.js → scss-D6nUDMBD.js} +1 -1
  191. package/dist/assets/{sdk.gen-ONnYjEkg.js → sdk.gen-Dvq7zGs0.js} +1 -1
  192. package/dist/assets/sdk.gen-up8j0_uF.js +6 -0
  193. package/dist/assets/selection-store-BCKoLRDh.js +1 -0
  194. package/dist/assets/settings-layout-BDZvVIm1.js +1 -0
  195. package/dist/assets/{shaderlab-1WaRBvWr.js → shaderlab-2mkDNSZE.js} +1 -1
  196. package/dist/assets/share-feedback-modal-B1A11seo.js +1 -0
  197. package/dist/assets/{shellsession-CHvhGC18.js → shellsession-qVduQyG2.js} +1 -1
  198. package/dist/assets/sidebar-tree-D2dxb9op.js +1 -0
  199. package/dist/assets/signup-page-sKugF6gW.js +1 -0
  200. package/dist/assets/skills-page-Cf_Mb_VB.js +1 -0
  201. package/dist/assets/sounds-page-D4AbKNGs.js +1 -0
  202. package/dist/assets/{soy-CC4jhDb2.js → soy-N-ikyuo0.js} +1 -1
  203. package/dist/assets/{sparql-D35QugD4.js → sparql-CXOfNIAD.js} +1 -1
  204. package/dist/assets/{src-kyqznrcv.js → src-Bah0_lDG.js} +39 -38
  205. package/dist/assets/stat-square-CMFH3mHq.js +1 -0
  206. package/dist/assets/{stata-CGSSTS3B.js → stata-DAwqVBtA.js} +1 -1
  207. package/dist/assets/step-indicator-dots-DEwJDNRl.js +1 -0
  208. package/dist/assets/{subagent-detail-panel-DLYXaUCC.js → subagent-detail-panel-IA4lwH71.js} +2 -2
  209. package/dist/assets/{surrealql-BdswqyEk.js → surrealql-mj-mrh8J.js} +1 -1
  210. package/dist/assets/{svelte-MSsWfmYM.js → svelte-Dc7E_mCh.js} +1 -1
  211. package/dist/assets/system-events-page-BEGsifyy.js +1 -0
  212. package/dist/assets/system-events-redirect-page-Don4wWIq.js +1 -0
  213. package/dist/assets/tag-BkZB4euH.js +1 -0
  214. package/dist/assets/{target-BxPTyI8x.js → target-B8JHLfTN.js} +1 -1
  215. package/dist/assets/{templ-BarTQ1Ke.js → templ-B12CJEzs.js} +1 -1
  216. package/dist/assets/{tex-CFh-xGZ2.js → tex-SEHboowz.js} +1 -1
  217. package/dist/assets/{tiptap-document-editor-Bj7lmYZq.js → tiptap-document-editor-CE5261JW.js} +34 -34
  218. package/dist/assets/toast-Cii5pffK.js +1 -0
  219. package/dist/assets/toggle-DGzEs0L1.js +1 -0
  220. package/dist/assets/tool-detail-panel-Bia-i_-t.js +1 -0
  221. package/dist/assets/trace-page-BvV75mVp.js +1 -0
  222. package/dist/assets/{ts-tags-BbyYMTDf.js → ts-tags-D-Jr8mpt.js} +1 -1
  223. package/dist/assets/{twig-DVqAieqO.js → twig-CWdkELuI.js} +1 -1
  224. package/dist/assets/typography-PN7B1rrW.js +1 -0
  225. package/dist/assets/upgrade-cancel-page-qA1Xq7P0.js +1 -0
  226. package/dist/assets/upgrade-success-page-CDrPlb_B.js +1 -0
  227. package/dist/assets/usage-page-BfKtkt5O.js +1 -0
  228. package/dist/assets/usage-window-D5EMg2nb.js +1 -0
  229. package/dist/assets/use-active-assistant-id-DBTnnGZz.js +1 -0
  230. package/dist/assets/use-bus-subscription-Cz3Ryocr.js +1 -0
  231. package/dist/assets/use-current-platform-assistant-BPc5EmNa.js +1 -0
  232. package/dist/assets/use-debounced-value-kSPC-rBe.js +1 -0
  233. package/dist/assets/{use-is-mobile-L-si1_f-.js → use-is-mobile-BFvLVXwH.js} +1 -1
  234. package/dist/assets/use-is-org-ready-CQYZJPtU.js +1 -0
  235. package/dist/assets/use-oauth-complete-deep-link-listener-D9DuhgOP.js +1 -0
  236. package/dist/assets/{use-reduced-motion-C44fEWVQ.js → use-reduced-motion-Blyqtp4V.js} +1 -1
  237. package/dist/assets/{useMutation-Cq8DErPD.js → useMutation-DTb3lMvF.js} +1 -1
  238. package/dist/assets/{useQuery-DQMwUXEx.js → useQuery-DAtrV0RI.js} +1 -1
  239. package/dist/assets/utils-CVZ8WTxM.js +1 -0
  240. package/dist/assets/viewer-store-BIjT34BR.js +1 -0
  241. package/dist/assets/voice-page-BqZOkgpX.js +1 -0
  242. package/dist/assets/{vue-ZcyTzC7t.js → vue-BprQ0-Ub.js} +1 -1
  243. package/dist/assets/{vue-html-BwbWezq9.js → vue-html-hp77151s.js} +1 -1
  244. package/dist/assets/{vue-vine-ie3wWKPT.js → vue-vine-Cr9pIPKl.js} +1 -1
  245. package/dist/assets/{wand-sparkles-C7VKsA2r.js → wand-sparkles-CIV_5Oi6.js} +1 -1
  246. package/dist/assets/{weather-forecast-display-AStDyQ3C.js → weather-forecast-display-C-8IrzJ_.js} +1 -1
  247. package/dist/assets/{web-DlXZWSqt.js → web-BUHhvd6U.js} +1 -1
  248. package/dist/assets/{web-gAwEO0jl.js → web-BlXL6x8k.js} +1 -1
  249. package/dist/assets/{web-D8J6gL8c.js → web-CBHiUh0h.js} +1 -1
  250. package/dist/assets/{web-BJFOKMLV.js → web-DuNCoqzd.js} +1 -1
  251. package/dist/assets/{web-DEF_PvZf.js → web-Pb43q_QH.js} +1 -1
  252. package/dist/assets/{web-MvGEGUgv.js → web-qR3jv4Dd.js} +1 -1
  253. package/dist/assets/{web-C0UeTCAq.js → web-tLusY4Su.js} +1 -1
  254. package/dist/assets/welcome-screen-foFXU-ge.js +1 -0
  255. package/dist/assets/{with-selector-DE2FUwCr.js → with-selector-BomrVLKx.js} +1 -1
  256. package/dist/assets/workspace-page-D9Re-ww4.js +1 -0
  257. package/dist/assets/x-2OoTSOWJ.js +1 -0
  258. package/dist/assets/x-CwP6G6OK.js +1 -0
  259. package/dist/assets/{xml-D9pOU8XJ.js → xml-Cm8puQKu.js} +1 -1
  260. package/dist/assets/{xsl-BcbVml5f.js → xsl-C1TQprpW.js} +1 -1
  261. package/dist/index.html +92 -92
  262. package/dist/skills/amazon/assets/icon.svg +38 -0
  263. package/dist/skills/api-mapping/assets/icon.svg +18 -0
  264. package/dist/skills/discord-app-setup/assets/icon.svg +1 -0
  265. package/dist/skills/doordash/assets/icon.svg +1 -0
  266. package/dist/skills/elevenlabs-voice/assets/icon.svg +1 -0
  267. package/dist/skills/frontend-design/assets/icon.svg +16 -0
  268. package/dist/skills/gmail/assets/icon.svg +1 -0
  269. package/dist/skills/google-calendar/assets/icon.svg +1 -0
  270. package/dist/skills/inbox-cleanup/assets/icon.svg +1 -0
  271. package/dist/skills/inbox-management/assets/icon.svg +1 -0
  272. package/dist/skills/linear-app-setup/assets/icon.svg +1 -0
  273. package/dist/skills/macos-automation/assets/icon.svg +12 -0
  274. package/dist/skills/mailgun-setup/assets/icon.svg +1 -0
  275. package/dist/skills/meet-join/assets/icon.svg +1 -0
  276. package/dist/skills/notion/assets/icon.svg +1 -0
  277. package/dist/skills/outlook/assets/icon.svg +2 -0
  278. package/dist/skills/outlook-calendar/assets/icon.svg +2 -0
  279. package/dist/skills/sentry-app-setup/assets/icon.svg +1 -0
  280. package/dist/skills/slack/assets/icon.svg +6 -0
  281. package/dist/skills/start-the-day/assets/icon.svg +13 -0
  282. package/dist/skills/stripe-app-setup/assets/icon.svg +1 -0
  283. package/dist/skills/stripe-link-wallet/assets/icon.svg +1 -0
  284. package/dist/skills/tasks/assets/icon.svg +34 -0
  285. package/dist/skills/telegram-setup/assets/icon.svg +1 -0
  286. package/dist/skills/twilio-setup/assets/icon.svg +1 -0
  287. package/dist/skills/vellum-github-app-setup/assets/icon.svg +1 -0
  288. package/dist/skills/vercel-token-setup/assets/icon.svg +1 -0
  289. package/dist/skills/voice-setup/assets/icon.svg +20 -0
  290. package/dist/skills/weather/assets/icon.svg +24 -0
  291. package/dist/theme-init.js +23 -0
  292. package/package.json +3 -109
  293. package/dist/assets/about-page-CnlFBAlo.js +0 -1
  294. package/dist/assets/account-page-DZ08DwDd.js +0 -1
  295. package/dist/assets/add-credits-modal-DBN3IiqI.js +0 -1
  296. package/dist/assets/advanced-page-D4WM0z2t.js +0 -1
  297. package/dist/assets/ai-page-BfQitl93.js +0 -1
  298. package/dist/assets/api-DbR15MBi.js +0 -1
  299. package/dist/assets/api-errors-Cb5XX5_j.js +0 -1
  300. package/dist/assets/archive-page-BLEve1DA.js +0 -1
  301. package/dist/assets/arrow-up-yLYY3n8J.js +0 -1
  302. package/dist/assets/assistant-identity-store-BV4ukE7H.js +0 -1
  303. package/dist/assets/assistant-status-panel-DdVjK_zY.js +0 -1
  304. package/dist/assets/auth-store-B6yNvrw4.js +0 -1
  305. package/dist/assets/avatar-api-CIOvIRtJ.js +0 -1
  306. package/dist/assets/billing-page-CHX3U91U.js +0 -34
  307. package/dist/assets/book-open-hfriGSXm.js +0 -1
  308. package/dist/assets/button-aAWi2gw6.js +0 -1
  309. package/dist/assets/card-CaVHvRGL.js +0 -1
  310. package/dist/assets/check-BFZgpbzl.js +0 -1
  311. package/dist/assets/checkbox-BT0BEiJ_.js +0 -1
  312. package/dist/assets/client-CxU24LyV.js +0 -1
  313. package/dist/assets/cn-B70VuHjM.js +0 -1
  314. package/dist/assets/command-palette-PBnYsqsq.js +0 -1
  315. package/dist/assets/community-page-F488D9ad.js +0 -1
  316. package/dist/assets/connect-page-BuLQWuNT.js +0 -1
  317. package/dist/assets/contacts-page-route-B_b4lEcp.js +0 -1
  318. package/dist/assets/createLucideIcon-CeYGTD1f.js +0 -1
  319. package/dist/assets/danger-zone-redirect-page-C2oVQP1D.js +0 -1
  320. package/dist/assets/debug-page-D6h6VUQe.js +0 -3
  321. package/dist/assets/deploy-dialogs-Bv1QJrTq.js +0 -1
  322. package/dist/assets/developer-page-0nBXlNRW.js +0 -1
  323. package/dist/assets/devices-page-N4kBGW8N.js +0 -1
  324. package/dist/assets/dist-CTD_Ut2j.js +0 -45
  325. package/dist/assets/dist-DwtfUqIl.js +0 -1
  326. package/dist/assets/document-viewer-page-BGPZ66Xt.js +0 -1
  327. package/dist/assets/dropdown-C8OVNOei.js +0 -1
  328. package/dist/assets/emails-page-C22gGUAv.js +0 -1
  329. package/dist/assets/error-report-sc-aicjG.js +0 -1
  330. package/dist/assets/esm-BVjuoASL.js +0 -2
  331. package/dist/assets/esm-BbhMzrwe.js +0 -2
  332. package/dist/assets/esm-CsGTlVMU.js +0 -2
  333. package/dist/assets/esm-DBgkZZR_.js +0 -2
  334. package/dist/assets/event-bus-store-BE6deqo9.js +0 -1
  335. package/dist/assets/exports-DfyYqtWD.js +0 -4
  336. package/dist/assets/feature-flag-catalog-JWwXDw7v.js +0 -1
  337. package/dist/assets/general-page-D9RIl6J5.js +0 -1
  338. package/dist/assets/hatching-screen-gO2HHyic.js +0 -1
  339. package/dist/assets/home-page-route-fnsklykY.js +0 -1
  340. package/dist/assets/hosting-screen-B5nQ8yuX.js +0 -1
  341. package/dist/assets/identity-page-route-BA650DxB.js +0 -1
  342. package/dist/assets/index-D6-nsIUa.js +0 -160
  343. package/dist/assets/index-jvwn-vUC.css +0 -2
  344. package/dist/assets/input-DMJDsLW2.js +0 -1
  345. package/dist/assets/inspect-page-CkllaIUi.js +0 -2
  346. package/dist/assets/integrations-page-Jw4FUhet.js +0 -1
  347. package/dist/assets/intelligence-layout-zCvScYek.js +0 -1
  348. package/dist/assets/library-detail-page-Bf5UPSVB.js +0 -1
  349. package/dist/assets/library-page-WKkVYmYF.js +0 -1
  350. package/dist/assets/llm-dimension-Com-uEL8.js +0 -1
  351. package/dist/assets/loader-circle-DfyYkLlZ.js +0 -1
  352. package/dist/assets/local-mode-DTyhlxIJ.js +0 -1
  353. package/dist/assets/login-flow-C1czXxt_.js +0 -1
  354. package/dist/assets/login-page-Bs98MBVV.js +0 -1
  355. package/dist/assets/logout-page-B-cqUfTT.js +0 -1
  356. package/dist/assets/logs-layout-CJqMV8_W.js +0 -1
  357. package/dist/assets/memory-router-playground-page-CHa4g1Wq.js +0 -3
  358. package/dist/assets/middleware-DJdXCbpc.js +0 -1
  359. package/dist/assets/modal-BhjmOSWp.js +0 -1
  360. package/dist/assets/native-biometric-D17G0wwQ.js +0 -6
  361. package/dist/assets/native-deep-link-C4IUgLby.js +0 -1
  362. package/dist/assets/notice-C9Zmf-rY.js +0 -1
  363. package/dist/assets/notifications-page-DbC865Ee.js +0 -1
  364. package/dist/assets/oauth-popup-DOiKxIt3.js +0 -1
  365. package/dist/assets/onboarding-layout-CWG_GDpU.js +0 -1
  366. package/dist/assets/panel-item-CH4BnWiy.js +0 -1
  367. package/dist/assets/password-reset-page-B421l998.js +0 -1
  368. package/dist/assets/plugins-page-KBZxx4RX.js +0 -1
  369. package/dist/assets/portal-container-T4u-kJy6.js +0 -1
  370. package/dist/assets/pre-chat-flow--eyTMO3O.js +0 -1
  371. package/dist/assets/prefs-DBzVLQNO.js +0 -1
  372. package/dist/assets/privacy-page-nfKw-hpQ.js +0 -1
  373. package/dist/assets/privacy-screen-dPprxJBH.js +0 -1
  374. package/dist/assets/progress-bar-BpNHPD3g.js +0 -1
  375. package/dist/assets/provider-callback-page-BgDcw9wR.js +0 -1
  376. package/dist/assets/provider-signup-page-DR57-8of.js +0 -1
  377. package/dist/assets/query-tags-CuHlkyMo.js +0 -1
  378. package/dist/assets/react-dom-CuYvR46t.js +0 -1
  379. package/dist/assets/react-query.gen-C9LHPeRr.js +0 -1
  380. package/dist/assets/react-query.gen-CaeZaVZK.js +0 -1
  381. package/dist/assets/resize-errors-CVxnnl9j.js +0 -1
  382. package/dist/assets/routes-Bc63mRsk.js +0 -1
  383. package/dist/assets/schedules-page-CwAYzq9f.js +0 -1
  384. package/dist/assets/sdk.gen-CpEhy2hU.js +0 -6
  385. package/dist/assets/settings-layout-B-gZsVPl.js +0 -1
  386. package/dist/assets/share-feedback-modal-DTruEHXl.js +0 -1
  387. package/dist/assets/sidebar-tree-B_R8bNLb.js +0 -1
  388. package/dist/assets/signals-p6C5D4Qf.js +0 -1
  389. package/dist/assets/signup-page-Bw5wdYLf.js +0 -1
  390. package/dist/assets/skill-detail-DJAAupq5.js +0 -1
  391. package/dist/assets/skills-page-CFXPf98E.js +0 -1
  392. package/dist/assets/sounds-page-DTaMvwZR.js +0 -1
  393. package/dist/assets/stat-square-C4k7AFbD.js +0 -1
  394. package/dist/assets/step-indicator-dots-HcCBE3eb.js +0 -1
  395. package/dist/assets/system-events-page-DdDTzp8J.js +0 -1
  396. package/dist/assets/system-events-redirect-page-CVMCk5Ug.js +0 -1
  397. package/dist/assets/tag-Bq7LZ7NN.js +0 -1
  398. package/dist/assets/toast-BRhiclkk.js +0 -1
  399. package/dist/assets/toggle-Ba6zbjWC.js +0 -1
  400. package/dist/assets/tool-detail-panel-CRHrxhJk.js +0 -1
  401. package/dist/assets/trace-page-CRobJzr1.js +0 -1
  402. package/dist/assets/typography-X3i-p9De.js +0 -1
  403. package/dist/assets/upgrade-cancel-page-DX66i0gg.js +0 -1
  404. package/dist/assets/upgrade-success-page-192bn-iX.js +0 -1
  405. package/dist/assets/usage-page-DB_MUKAx.js +0 -1
  406. package/dist/assets/use-active-assistant-id-BNTrFfbP.js +0 -1
  407. package/dist/assets/use-current-platform-assistant-BSNVkqHJ.js +0 -1
  408. package/dist/assets/use-oauth-complete-deep-link-listener-ChUbzwXg.js +0 -1
  409. package/dist/assets/voice-page-gNQLbCww.js +0 -1
  410. package/dist/assets/welcome-screen-CIlYxrxN.js +0 -1
  411. package/dist/assets/workspace-page-7df9edRz.js +0 -1
  412. package/dist/assets/x-D9hhnMwf.js +0 -1
  413. package/dist/assets/x-x84-Y-pw.js +0 -1
  414. /package/dist/assets/{abap-DNUpiG8A.js → abap-Bfl6OWPB.js} +0 -0
  415. /package/dist/assets/{actionscript-3-Bo2fXZ6X.js → actionscript-3-Dlqiiy8x.js} +0 -0
  416. /package/dist/assets/{ada-CX4zIdvl.js → ada-COUbPro6.js} +0 -0
  417. /package/dist/assets/{andromeeda-DRyK6uS2.js → andromeeda-BoXZFw2R.js} +0 -0
  418. /package/dist/assets/{apache-Df13Lvky.js → apache-DpKhYfq6.js} +0 -0
  419. /package/dist/assets/{apex-Chnf7MTn.js → apex-B_uFO61F.js} +0 -0
  420. /package/dist/assets/{applescript-Ctc_PVwP.js → applescript-D3paN7K0.js} +0 -0
  421. /package/dist/assets/{ara-8aWxaf_S.js → ara-CwbWLquj.js} +0 -0
  422. /package/dist/assets/{asciidoc-DT2KgubG.js → asciidoc-VGSo8T5D.js} +0 -0
  423. /package/dist/assets/{asm-vqnSgROr.js → asm-FPeQDFEa.js} +0 -0
  424. /package/dist/assets/{aurora-x-CTu0bZlN.js → aurora-x-COSrEIJC.js} +0 -0
  425. /package/dist/assets/{avatar-bundled-components-B4Qvdjm-.js → avatar-bundled-components-CrafToy8.js} +0 -0
  426. /package/dist/assets/{avatar-svg-compositor-B7_Irzdj.js → avatar-svg-compositor-DuV7I45L.js} +0 -0
  427. /package/dist/assets/{awk-BLYIprkI.js → awk-fUzIbt5q.js} +0 -0
  428. /package/dist/assets/{ayu-dark-C1nqQ7ZO.js → ayu-dark-K3pEfprB.js} +0 -0
  429. /package/dist/assets/{ayu-light-CcUJeQaT.js → ayu-light-BhBDUJo9.js} +0 -0
  430. /package/dist/assets/{ayu-mirage-IZ3AFYVd.js → ayu-mirage-CYENPbEi.js} +0 -0
  431. /package/dist/assets/{ballerina-DIr0Mnnk.js → ballerina-DIi7YSrd.js} +0 -0
  432. /package/dist/assets/{bat-CpUMzNgl.js → bat-tHgyIDGw.js} +0 -0
  433. /package/dist/assets/{beancount-BobOo5zN.js → beancount-DawK3651.js} +0 -0
  434. /package/dist/assets/{berry-Ccgj4CiA.js → berry-DkDnrvVb.js} +0 -0
  435. /package/dist/assets/{bibtex-CVITMyxL.js → bibtex-B5oISiWf.js} +0 -0
  436. /package/dist/assets/{bicep-C4egU_bX.js → bicep-BlTgOqlL.js} +0 -0
  437. /package/dist/assets/{bird2-CYfTnGm_.js → bird2-COHCqf-V.js} +0 -0
  438. /package/dist/assets/{c-DZ6nPbF_.js → c-DBsgGwh3.js} +0 -0
  439. /package/dist/assets/{c3-Bm97WyY3.js → c3-DG4RoDeZ.js} +0 -0
  440. /package/dist/assets/{cadence-Bl3iDFGB.js → cadence-BHyhLOnE.js} +0 -0
  441. /package/dist/assets/{catppuccin-frappe-BicMddtJ.js → catppuccin-frappe-BoFiW_80.js} +0 -0
  442. /package/dist/assets/{catppuccin-latte-B-eVCkn1.js → catppuccin-latte-CFlPOnsH.js} +0 -0
  443. /package/dist/assets/{catppuccin-macchiato-CJEhjVZk.js → catppuccin-macchiato-CLHnCD9Z.js} +0 -0
  444. /package/dist/assets/{catppuccin-mocha-VLn722eu.js → catppuccin-mocha-D9O1RTSI.js} +0 -0
  445. /package/dist/assets/{clarity-BzEOBBx4.js → clarity-Bad-9p-G.js} +0 -0
  446. /package/dist/assets/{client.gen-ywbejrz1.js → client.gen-BSPUYAay.js} +0 -0
  447. /package/dist/assets/{clojure-nX7NgSDb.js → clojure-JsVarUVs.js} +0 -0
  448. /package/dist/assets/{clsx-DhcQR1oF.js → clsx-CAUM2Ssy.js} +0 -0
  449. /package/dist/assets/{cmake-CEeIa3iP.js → cmake-DXbVPxoO.js} +0 -0
  450. /package/dist/assets/{codeowners-BP42p7Bn.js → codeowners-Co7U_H7C.js} +0 -0
  451. /package/dist/assets/{codeql-DE7I523g.js → codeql-DbhkTzcI.js} +0 -0
  452. /package/dist/assets/{common-lisp-Dvijln0X.js → common-lisp-5EpYtPq7.js} +0 -0
  453. /package/dist/assets/{coq-p4_rGKEV.js → coq-BHTaQtqU.js} +0 -0
  454. /package/dist/assets/{csharp-D1-Vrrzm.js → csharp-vNqAk7wS.js} +0 -0
  455. /package/dist/assets/{css-C0lcjSm8.js → css-D8Elscfw.js} +0 -0
  456. /package/dist/assets/{csv-GH5M7Aoj.js → csv-BOCRZ51I.js} +0 -0
  457. /package/dist/assets/{cue-D7vDT7xE.js → cue--vvB6NEp.js} +0 -0
  458. /package/dist/assets/{cypher-BF-7MPbx.js → cypher-8zw1cZPY.js} +0 -0
  459. /package/dist/assets/{d-DcsICAjO.js → d-DCw6i__G.js} +0 -0
  460. /package/dist/assets/{dark-plus-Cal9Cy_n.js → dark-plus-CJQgO0a2.js} +0 -0
  461. /package/dist/assets/{dart-DPfMdfDn.js → dart-Di_0TMyS.js} +0 -0
  462. /package/dist/assets/{dax-BDcxvPW6.js → dax-C3FCmr3K.js} +0 -0
  463. /package/dist/assets/{definitions-gMlRm8A_.js → definitions-BhcK9MeU.js} +0 -0
  464. /package/dist/assets/{desktop-DmetOriX.js → desktop-DfPpjKHQ.js} +0 -0
  465. /package/dist/assets/{diff-BTv5s55n.js → diff-CbXGRoMP.js} +0 -0
  466. /package/dist/assets/{dist-Cz1Xi5ZX.js → dist-d-PJ8AUi.js} +0 -0
  467. /package/dist/assets/{docker-B84PvePO.js → docker-B4Kzg9bz.js} +0 -0
  468. /package/dist/assets/{dotenv-CM30jnus.js → dotenv-Bou3VaLF.js} +0 -0
  469. /package/dist/assets/{dracula-tOsQSJSR.js → dracula-DqvSNsR6.js} +0 -0
  470. /package/dist/assets/{dracula-soft-ortSsJzr.js → dracula-soft-h1T06flS.js} +0 -0
  471. /package/dist/assets/{dream-maker-BMXKWh7r.js → dream-maker-BVxHB1DY.js} +0 -0
  472. /package/dist/assets/{emacs-lisp-I4D2eRgr.js → emacs-lisp-C5w5G5qc.js} +0 -0
  473. /package/dist/assets/{emoji-catalog-data-y-nZS0_U.js → emoji-catalog-data-ZbE1lqD6.js} +0 -0
  474. /package/dist/assets/{everforest-dark-BbuuIlHG.js → everforest-dark-8YvZGFtA.js} +0 -0
  475. /package/dist/assets/{everforest-light-BNk8Csve.js → everforest-light-7kDryiLY.js} +0 -0
  476. /package/dist/assets/{fennel-DFsKO9y1.js → fennel-0vdmVKTu.js} +0 -0
  477. /package/dist/assets/{fish-DvqK9JLk.js → fish-IyesOFcd.js} +0 -0
  478. /package/dist/assets/{fluent-gfd9SBYr.js → fluent-CcNoA3qp.js} +0 -0
  479. /package/dist/assets/{format-DvVeYaVl.js → format-VxJLq14L.js} +0 -0
  480. /package/dist/assets/{format-date-CB3SQEqd.js → format-date-lYqfuFdi.js} +0 -0
  481. /package/dist/assets/{fortran-free-form-DvnCB3mS.js → fortran-free-form-_mCAt4L5.js} +0 -0
  482. /package/dist/assets/{gdscript-Cum68Rfn.js → gdscript-DXUJNbQF.js} +0 -0
  483. /package/dist/assets/{gdshader-Bdw_vrfE.js → gdshader-DK3kh5kx.js} +0 -0
  484. /package/dist/assets/{genie-DGL6epfr.js → genie-BDu4LoAt.js} +0 -0
  485. /package/dist/assets/{gherkin-DKP8C3S5.js → gherkin-Bj4QY2ZZ.js} +0 -0
  486. /package/dist/assets/{github-dark-DenWerWF.js → github-dark-23T46ITp.js} +0 -0
  487. /package/dist/assets/{github-dark-default-CSOAoAA7.js → github-dark-default-YRljnVzM.js} +0 -0
  488. /package/dist/assets/{github-dark-dimmed-CLVzfuGo.js → github-dark-dimmed-dQav7O6R.js} +0 -0
  489. /package/dist/assets/{github-dark-high-contrast-FMEczBGH.js → github-dark-high-contrast-DidY19tg.js} +0 -0
  490. /package/dist/assets/{github-light-CAxis8VP.js → github-light-BObDDVDh.js} +0 -0
  491. /package/dist/assets/{github-light-default-AwK-IReR.js → github-light-default-BoJDCN5R.js} +0 -0
  492. /package/dist/assets/{github-light-high-contrast-V1Zvs65Q.js → github-light-high-contrast-Bst7qyBs.js} +0 -0
  493. /package/dist/assets/{gleam-BL786rUo.js → gleam-mHMeGp-o.js} +0 -0
  494. /package/dist/assets/{gn-SXKhqpGI.js → gn-BOh1TF98.js} +0 -0
  495. /package/dist/assets/{gnuplot-o4b-hOMZ.js → gnuplot-BeWb4QIH.js} +0 -0
  496. /package/dist/assets/{go-Fy8CAqoa.js → go-GgqMuLaN.js} +0 -0
  497. /package/dist/assets/{groovy-CkybMBjt.js → groovy-C9Z63wPJ.js} +0 -0
  498. /package/dist/assets/{gruvbox-dark-hard-cr7F5Ei8.js → gruvbox-dark-hard-D3hhOWHI.js} +0 -0
  499. /package/dist/assets/{gruvbox-dark-medium-CdfKHaW0.js → gruvbox-dark-medium-CPtDKE5U.js} +0 -0
  500. /package/dist/assets/{gruvbox-dark-soft-BhjMakzc.js → gruvbox-dark-soft--KzcMTkn.js} +0 -0
  501. /package/dist/assets/{gruvbox-light-hard-Br7DaceI.js → gruvbox-light-hard-Cr7t7Yc0.js} +0 -0
  502. /package/dist/assets/{gruvbox-light-medium-Dgq_qIGX.js → gruvbox-light-medium-DSXNnsG2.js} +0 -0
  503. /package/dist/assets/{gruvbox-light-soft-D_ggJWiO.js → gruvbox-light-soft-CQt4xaiw.js} +0 -0
  504. /package/dist/assets/{haskell-XYheirt-.js → haskell-BAFTh2zU.js} +0 -0
  505. /package/dist/assets/{haxe-DnGntDfe.js → haxe-Bzf0Gule.js} +0 -0
  506. /package/dist/assets/{hcl-CCY9Se-u.js → hcl-DG1GEjfN.js} +0 -0
  507. /package/dist/assets/{hjson-C9WnX9lx.js → hjson-CfLJP1MZ.js} +0 -0
  508. /package/dist/assets/{hlsl-C3AzQq04.js → hlsl-CzJWYpeK.js} +0 -0
  509. /package/dist/assets/{horizon-DwCI16hp.js → horizon-Debh6yGF.js} +0 -0
  510. /package/dist/assets/{horizon-bright-Cpa65OQf.js → horizon-bright-CKvdi3Tu.js} +0 -0
  511. /package/dist/assets/{houston-DBa6DcY7.js → houston-B2Ejyr-g.js} +0 -0
  512. /package/dist/assets/{hy-ClfbeOZN.js → hy-pcFArSJ6.js} +0 -0
  513. /package/dist/assets/{imba-DcxUW-wx.js → imba-BQU3ATlD.js} +0 -0
  514. /package/dist/assets/{ini-DhtXMm-i.js → ini-Bv5_HvOR.js} +0 -0
  515. /package/dist/assets/{java-CKvSfw0c.js → java-owmbVqcc.js} +0 -0
  516. /package/dist/assets/{javascript-BwEwwHgf.js → javascript-DTuM3op3.js} +0 -0
  517. /package/dist/assets/{json-G-m-vE3h.js → json-zR3clZYf.js} +0 -0
  518. /package/dist/assets/{json5-IgZ1Is9k.js → json5-7NU9KTTA.js} +0 -0
  519. /package/dist/assets/{jsonc-_pBTLcGT.js → jsonc-B2TECXI_.js} +0 -0
  520. /package/dist/assets/{jsonl-Sa5wNLrm.js → jsonl-BX_fzJy3.js} +0 -0
  521. /package/dist/assets/{jsonnet-BtUJ4OTu.js → jsonnet-BbG4eXRI.js} +0 -0
  522. /package/dist/assets/{jssm-CLhTkxxx.js → jssm-DSjdYnDs.js} +0 -0
  523. /package/dist/assets/{jsx-runtime-2-RJdKf7.js → jsx-runtime-XSukodg_.js} +0 -0
  524. /package/dist/assets/{jsx-BBG89ojQ.js → jsx-uYQiwDAi.js} +0 -0
  525. /package/dist/assets/{kanagawa-dragon--Qu5IFRs.js → kanagawa-dragon-DRQWRtYa.js} +0 -0
  526. /package/dist/assets/{kanagawa-lotus-R-ZX3jlF.js → kanagawa-lotus-B27_zN-N.js} +0 -0
  527. /package/dist/assets/{kanagawa-wave-Dr1nqAI2.js → kanagawa-wave-EAZwYQVu.js} +0 -0
  528. /package/dist/assets/{kdl-D0nszg2B.js → kdl-BPFF2QoT.js} +0 -0
  529. /package/dist/assets/{kotlin-B0DCiK42.js → kotlin-CzYpDily.js} +0 -0
  530. /package/dist/assets/{kusto-nT_Fmo0Y.js → kusto-Cd20wvqp.js} +0 -0
  531. /package/dist/assets/{laserwave-DlB4MU6V.js → laserwave-Bg9CK1g0.js} +0 -0
  532. /package/dist/assets/{lean-DhOVDhCh.js → lean-BFRCe_H4.js} +0 -0
  533. /package/dist/assets/{less-Dh-4e8MC.js → less-p1NRP6KM.js} +0 -0
  534. /package/dist/assets/{lib-BZXpTQaD.js → lib-eGZllh2n.js} +0 -0
  535. /package/dist/assets/{light-plus-C6nWIJDZ.js → light-plus-upjemLP3.js} +0 -0
  536. /package/dist/assets/{llvm-DH9YS7kW.js → llvm-Cet_tzjQ.js} +0 -0
  537. /package/dist/assets/{log-DGyRW4Yu.js → log-DBmXghSa.js} +0 -0
  538. /package/dist/assets/{logo-CpTJpw-N.js → logo-BLXhBfIu.js} +0 -0
  539. /package/dist/assets/{luau-BdrPFhCA.js → luau-CT4sQte_.js} +0 -0
  540. /package/dist/assets/{make-BWqrzVrZ.js → make-CzZ-Pqm8.js} +0 -0
  541. /package/dist/assets/{markdown-B7ABVAOk.js → markdown-CK4ZeF9q.js} +0 -0
  542. /package/dist/assets/{material-theme-DsfbG_93.js → material-theme-B0X5JuGU.js} +0 -0
  543. /package/dist/assets/{material-theme-darker-BOYhcZVv.js → material-theme-darker-bAfX1Mca.js} +0 -0
  544. /package/dist/assets/{material-theme-lighter-BsUaNSYL.js → material-theme-lighter-kiXQ2ArM.js} +0 -0
  545. /package/dist/assets/{material-theme-ocean-gCQDxtdX.js → material-theme-ocean-0YlpVqMF.js} +0 -0
  546. /package/dist/assets/{material-theme-palenight-DyQiZfLe.js → material-theme-palenight-BuhI7LV9.js} +0 -0
  547. /package/dist/assets/{matlab-CQRZ4zL0.js → matlab-d4q8V2kc.js} +0 -0
  548. /package/dist/assets/{mdx-DatRQiQI.js → mdx-K6mWiB31.js} +0 -0
  549. /package/dist/assets/{mermaid-gyMkSpkM.js → mermaid-CPUZiUu1.js} +0 -0
  550. /package/dist/assets/{min-dark-BDsS6QdN.js → min-dark-2Rbk1Br6.js} +0 -0
  551. /package/dist/assets/{min-light-C4auzl9H.js → min-light-BmT_ha59.js} +0 -0
  552. /package/dist/assets/{mipsasm-52d4hrT5.js → mipsasm-DK7WtL4H.js} +0 -0
  553. /package/dist/assets/{mojo-ReGWoUrl.js → mojo-C6jO9tbh.js} +0 -0
  554. /package/dist/assets/{monokai-7Vjupg4U.js → monokai-n0skDik5.js} +0 -0
  555. /package/dist/assets/{moonbit-u2c36Msk.js → moonbit-C-f1WC7g.js} +0 -0
  556. /package/dist/assets/{move-BsGpRiYx.js → move-QSx3iSl5.js} +0 -0
  557. /package/dist/assets/{narrat-C8eS3QuF.js → narrat-DFAniABg.js} +0 -0
  558. /package/dist/assets/{nextflow-groovy-B4EOlBh1.js → nextflow-groovy-B9N2TG62.js} +0 -0
  559. /package/dist/assets/{night-owl-light-DJpSUPM6.js → night-owl-light-CVag60SP.js} +0 -0
  560. /package/dist/assets/{night-owl-jqGB_AJC.js → night-owl-mCA1q7O0.js} +0 -0
  561. /package/dist/assets/{nix-CIk4aIJt.js → nix-bdwWUuk-.js} +0 -0
  562. /package/dist/assets/{nord-DhYX4sDa.js → nord-CtXtkaes.js} +0 -0
  563. /package/dist/assets/{nushell-Bw9o-_U9.js → nushell--fLVweC7.js} +0 -0
  564. /package/dist/assets/{objective-c-BkOBe0B7.js → objective-c-DAGpxSED.js} +0 -0
  565. /package/dist/assets/{objective-cpp-PDR4so4c.js → objective-cpp-S9Qw4p5N.js} +0 -0
  566. /package/dist/assets/{ocaml-CFXWY8j_.js → ocaml-CXgsxD0u.js} +0 -0
  567. /package/dist/assets/{odin-kspmECgu.js → odin-BMIOl-Ey.js} +0 -0
  568. /package/dist/assets/{one-dark-pro-BFWg7LIX.js → one-dark-pro-D0SOVXc3.js} +0 -0
  569. /package/dist/assets/{one-light-DlM8WZz3.js → one-light-6H2Du-_j.js} +0 -0
  570. /package/dist/assets/{openscad-Badon6BV.js → openscad-nYs158Bh.js} +0 -0
  571. /package/dist/assets/{pascal-CmfHLDzg.js → pascal-xdQR9yYI.js} +0 -0
  572. /package/dist/assets/{pdf-BUHzSUqO.js → pdf-DB2rCsKP.js} +0 -0
  573. /package/dist/assets/{pkl-DdCYUxoM.js → pkl-CKXXcd2b.js} +0 -0
  574. /package/dist/assets/{plastic-CR7bohBy.js → plastic-CUGHL3mc.js} +0 -0
  575. /package/dist/assets/{plsql-BaM1LDLA.js → plsql-Cbu0u4o0.js} +0 -0
  576. /package/dist/assets/{po-BkO2Svmr.js → po-BzXmFbAz.js} +0 -0
  577. /package/dist/assets/{poimandres-D0O61fdS.js → poimandres-K0I2PGAn.js} +0 -0
  578. /package/dist/assets/{polar-BJiJ13gV.js → polar-JCQfk1iI.js} +0 -0
  579. /package/dist/assets/{postcss-CjX6Je85.js → postcss-D-Lhrf07.js} +0 -0
  580. /package/dist/assets/{powerquery-CrTtEEHJ.js → powerquery-B0Xnzpzi.js} +0 -0
  581. /package/dist/assets/{powershell-CeyBY4Ux.js → powershell-Dhr7o9Mu.js} +0 -0
  582. /package/dist/assets/{prisma-DUVeuIW2.js → prisma-CP6RFVWH.js} +0 -0
  583. /package/dist/assets/{prolog-DOIhdAwp.js → prolog--OnDee30.js} +0 -0
  584. /package/dist/assets/{proto-BUbUT3Wx.js → proto-D5uLba8m.js} +0 -0
  585. /package/dist/assets/{public-asset-BNpOWIkb.js → public-asset-D_6jw-nO.js} +0 -0
  586. /package/dist/assets/{puppet-DjDgZm1H.js → puppet-B-NS8S2F.js} +0 -0
  587. /package/dist/assets/{purescript-6oUK_FNT.js → purescript-YiaGpr2G.js} +0 -0
  588. /package/dist/assets/{python-CNZqNZKJ.js → python-BLHZUHuM.js} +0 -0
  589. /package/dist/assets/{qmldir-CzQgdBMq.js → qmldir-BqPbfIfY.js} +0 -0
  590. /package/dist/assets/{qss-BA9J31sG.js → qss-CNa1aCQe.js} +0 -0
  591. /package/dist/assets/{queryOptions-C9SyzZF9.js → queryOptions-C_ypb2wA.js} +0 -0
  592. /package/dist/assets/{r-Cgso_yG8.js → r-DA-LaeJg.js} +0 -0
  593. /package/dist/assets/{racket-BbjYWtUw.js → racket-Bbm_5p0C.js} +0 -0
  594. /package/dist/assets/{raku-CHANBUFX.js → raku-C97eJ11n.js} +0 -0
  595. /package/dist/assets/{react-BlnqVGWw.js → react-DJZBPgpf.js} +0 -0
  596. /package/dist/assets/{red-Ds_qC_g5.js → red-BcnEthHf.js} +0 -0
  597. /package/dist/assets/{reg-C0Wud1Dh.js → reg-BE7bjPQ8.js} +0 -0
  598. /package/dist/assets/{regexp-CAdeCauu.js → regexp-zNGmBvxe.js} +0 -0
  599. /package/dist/assets/{rel-B9eJnUl_.js → rel-DxkHU6ey.js} +0 -0
  600. /package/dist/assets/{riscv-BPVhY_ca.js → riscv-s2KghewY.js} +0 -0
  601. /package/dist/assets/{ron-LOoqfhER.js → ron-C2k99hFN.js} +0 -0
  602. /package/dist/assets/{rose-pine-OL_nLgyo.js → rose-pine-DvkjqEA5.js} +0 -0
  603. /package/dist/assets/{rose-pine-dawn-CQ29Ujg-.js → rose-pine-dawn-IDeCX2R_.js} +0 -0
  604. /package/dist/assets/{rose-pine-moon-Ci03ycU_.js → rose-pine-moon-AwRS3fIg.js} +0 -0
  605. /package/dist/assets/{rosmsg-DDoaH2Y-.js → rosmsg-DZvmyLbf.js} +0 -0
  606. /package/dist/assets/{rust-DCessToL.js → rust-BR0kD35m.js} +0 -0
  607. /package/dist/assets/{sass-CnIiNj11.js → sass-B1iDQwrz.js} +0 -0
  608. /package/dist/assets/{scala-DlQuinCN.js → scala-B_bbzrFM.js} +0 -0
  609. /package/dist/assets/{scheme-Br1c3eSM.js → scheme-Bh3SmU2Z.js} +0 -0
  610. /package/dist/assets/{sdbl-L4TWJGSX.js → sdbl-BjuGg6Hv.js} +0 -0
  611. /package/dist/assets/{semver-DsaRCj6a.js → semver-DLbEvyUs.js} +0 -0
  612. /package/dist/assets/{shellscript-CR_zcVmb.js → shellscript-Df7hfJNE.js} +0 -0
  613. /package/dist/assets/{slack-dark-DIgRzo04.js → slack-dark-BMKx-uNu.js} +0 -0
  614. /package/dist/assets/{slack-ochin-DL7QpWFU.js → slack-ochin-DVWF26Tk.js} +0 -0
  615. /package/dist/assets/{smalltalk-L7jQXua0.js → smalltalk-DOyDlfjw.js} +0 -0
  616. /package/dist/assets/{snazzy-light-DWympol9.js → snazzy-light-CV5I2qfQ.js} +0 -0
  617. /package/dist/assets/{solarized-dark-DFuC6LpI.js → solarized-dark-ROrlu8b7.js} +0 -0
  618. /package/dist/assets/{solarized-light-Cv9L4wdZ.js → solarized-light-DLaQaEqx.js} +0 -0
  619. /package/dist/assets/{solidity-DeCdbXvR.js → solidity-Cpy-lQA4.js} +0 -0
  620. /package/dist/assets/{splunk-58oMfK82.js → splunk-amWRSsqJ.js} +0 -0
  621. /package/dist/assets/{sql-B0ZI3DYA.js → sql-LDYZUbXj.js} +0 -0
  622. /package/dist/assets/{ssh-config-BCRqvx5K.js → ssh-config-DFL3K5A6.js} +0 -0
  623. /package/dist/assets/{stylus-BJjwPJql.js → stylus-CpFppqWZ.js} +0 -0
  624. /package/dist/assets/{swift-EeyUyWzq.js → swift-Cm8RIbkm.js} +0 -0
  625. /package/dist/assets/{synthwave-84-C1xi6dxV.js → synthwave-84-B07FyWEU.js} +0 -0
  626. /package/dist/assets/{system-verilog-B12ndnhe.js → system-verilog-Efh9Iyxc.js} +0 -0
  627. /package/dist/assets/{systemd--it6RcB0.js → systemd-CM8aBYFi.js} +0 -0
  628. /package/dist/assets/{talonscript-D8lIdKMp.js → talonscript-DNBlw3UJ.js} +0 -0
  629. /package/dist/assets/{tasl-BmcKtOps.js → tasl-B5CaCj6V.js} +0 -0
  630. /package/dist/assets/{tcl-CEkgEEsq.js → tcl-LiOm-HhN.js} +0 -0
  631. /package/dist/assets/{terraform-DJT5zXqt.js → terraform-Z3CLHZWW.js} +0 -0
  632. /package/dist/assets/{tokyo-night-BGZyTCtK.js → tokyo-night-C_9jP15n.js} +0 -0
  633. /package/dist/assets/{toml-B7t8PDen.js → toml-CH-AWylV.js} +0 -0
  634. /package/dist/assets/{tsv-DMCtrWtN.js → tsv-CbgjNKMk.js} +0 -0
  635. /package/dist/assets/{tsx-CrroWwfF.js → tsx-DMQkHAfP.js} +0 -0
  636. /package/dist/assets/{turtle-CTRvaxbL.js → turtle-DyuXN5E6.js} +0 -0
  637. /package/dist/assets/{typescript-BIp7QN-G.js → typescript-DWQix_1Y.js} +0 -0
  638. /package/dist/assets/{typespec-CX9Z5_ZB.js → typespec-BAtHNJ2P.js} +0 -0
  639. /package/dist/assets/{typst-C-SBr8a2.js → typst-Ccl-pSVT.js} +0 -0
  640. /package/dist/assets/{v-D0ScLbsZ.js → v-B-fTy4zo.js} +0 -0
  641. /package/dist/assets/{vala-CGqeULn4.js → vala-B5pVtMk_.js} +0 -0
  642. /package/dist/assets/{vb-Cxo8x-Op.js → vb-Bmh_zzxH.js} +0 -0
  643. /package/dist/assets/{verilog-CSfc9NxX.js → verilog-CdTJwARf.js} +0 -0
  644. /package/dist/assets/{vesper-CoPmLhNq.js → vesper-CLXAFKGT.js} +0 -0
  645. /package/dist/assets/{vhdl-CunL_Ln5.js → vhdl-B4YfSXFK.js} +0 -0
  646. /package/dist/assets/{viml-BJkh9-D0.js → viml-CCaONKHu.js} +0 -0
  647. /package/dist/assets/{vitesse-black-BwYIG_yQ.js → vitesse-black-DRcju0Ze.js} +0 -0
  648. /package/dist/assets/{vitesse-dark-CTjSPNe4.js → vitesse-dark-WdU9udp0.js} +0 -0
  649. /package/dist/assets/{vitesse-light-BGxhfK2G.js → vitesse-light-ByFqwcMo.js} +0 -0
  650. /package/dist/assets/{vyper-DXKiLUHC.js → vyper-BPJ2UA1J.js} +0 -0
  651. /package/dist/assets/{wasm-ChtccNfv.js → wasm-BQxIq9Eb.js} +0 -0
  652. /package/dist/assets/{wasm-k1w8QFn2.js → wasm-Du4Oqb3T.js} +0 -0
  653. /package/dist/assets/{wenyan-DRgZ3SJe.js → wenyan-AvBa7-F9.js} +0 -0
  654. /package/dist/assets/{wgsl-S5iKzSms.js → wgsl-VJugdx8c.js} +0 -0
  655. /package/dist/assets/{wikitext-CD4_smiT.js → wikitext-BPOx0NBh.js} +0 -0
  656. /package/dist/assets/{wit-CeLfBbkX.js → wit-e40cyGQD.js} +0 -0
  657. /package/dist/assets/{wolfram-4LwsT0lL.js → wolfram-DvIVouaK.js} +0 -0
  658. /package/dist/assets/{xterm-_0qzMgvB.js → xterm-D62GGRqD.js} +0 -0
  659. /package/dist/assets/{xterm-addon-fit-DBA_HPLR.js → xterm-addon-fit-B4zTZTld.js} +0 -0
  660. /package/dist/assets/{yaml-B95PTw_r.js → yaml-c7bUfcEd.js} +0 -0
  661. /package/dist/assets/{zenscript-DFY9FRJP.js → zenscript-CeS3qazQ.js} +0 -0
  662. /package/dist/assets/{zig-BwVjLGiI.js → zig-DigpDLaV.js} +0 -0
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{i as t,r as n,s as r}from"./local-settings-lVNyIOJ_.js";import{t as i}from"./react-BlnqVGWw.js";import{r as a}from"./routes-Bc63mRsk.js";import{t as o}from"./client.gen-ywbejrz1.js";import{n as s}from"./QueryClientProvider-B6PnMGWJ.js";import{t as c}from"./useQuery-DQMwUXEx.js";import{t as l}from"./useMutation-Cq8DErPD.js";import{t as u}from"./jsx-runtime-2-RJdKf7.js";import{$ as d,c as f,d as p,f as m,g as h,h as g,l as _,m as v,o as y,p as b,s as x,u as S,v as C,y as w}from"./react-query.gen-CaeZaVZK.js";import{t as T}from"./button-aAWi2gw6.js";import{t as E}from"./typography-X3i-p9De.js";import{t as D}from"./dropdown-C8OVNOei.js";import{a as O}from"./src-kyqznrcv.js";import{n as ee,r as k}from"./stat-square-C4k7AFbD.js";import{t as A}from"./notice-C9Zmf-rY.js";import{t as te}from"./tag-Bq7LZ7NN.js";import{n as j,t as M}from"./input-DMJDsLW2.js";import{t as N}from"./toggle-Ba6zbjWC.js";import{t as P}from"./modal-BhjmOSWp.js";import{t as F}from"./toast-BRhiclkk.js";import{i as I}from"./query-tags-CuHlkyMo.js";import{t as L}from"./createLucideIcon-C9oV_FLv.js";import{n as ne,t as R}from"./domain-field-KsEz6xZI.js";import{t as z}from"./external-link-BzN68Baf.js";import{t as B}from"./loader-circle-DfyYkLlZ.js";import{Mr as re,Nt as V,Wn as H,Xn as U,Zn as ie,_t as W,ci as ae,dn as oe,er as se,ui as ce,wr as le}from"./index-D6-nsIUa.js";import{t as G}from"./detail-card-XLnEy7rv.js";import{t as K}from"./error-report-sc-aicjG.js";var ue=L(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),q=e(i(),1),de={anthropic:[{id:`claude-opus-4-8`,displayName:`Claude Opus 4.8`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-opus-4-7`,displayName:`Claude Opus 4.7`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-opus-4-6`,displayName:`Claude Opus 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-sonnet-4-6`,displayName:`Claude Sonnet 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-sonnet-4-5-20250929`,displayName:`Claude Sonnet 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`claude-opus-4-5-20251101`,displayName:`Claude Opus 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`claude-haiku-4-5-20251001`,displayName:`Claude Haiku 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0}],openai:[{id:`gpt-5.5`,displayName:`GPT-5.5`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.5-pro`,displayName:`GPT-5.5 Pro`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.4`,displayName:`GPT-5.4`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.2`,displayName:`GPT-5.2`,contextWindowTokens:4e5,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0},{id:`gpt-5.4-mini`,displayName:`GPT-5.4 Mini`,contextWindowTokens:4e5,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0},{id:`gpt-5.4-nano`,displayName:`GPT-5.4 Nano`,contextWindowTokens:4e5,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0}],gemini:[{id:`gemini-3.1-pro-preview`,displayName:`Gemini 3.1 Pro Preview`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`gemini-3.1-pro-preview-customtools`,displayName:`Gemini 3.1 Pro Preview (Custom Tools)`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`gemini-3-flash-preview`,displayName:`Gemini 3 Flash Preview`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-3.1-flash-lite-preview`,displayName:`Gemini 3.1 Flash-Lite Preview`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-3.1-flash-lite`,displayName:`Gemini 3.1 Flash-Lite`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-2.5-flash`,displayName:`Gemini 2.5 Flash`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-2.5-flash-lite`,displayName:`Gemini 2.5 Flash Lite`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:65536},{id:`gemini-2.5-pro`,displayName:`Gemini 2.5 Pro`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0,longContextPricingThresholdTokens:2e5}],fireworks:[{id:`accounts/fireworks/models/kimi-k2p5`,displayName:`Kimi K2.5`,contextWindowTokens:256e3,defaultContextWindowTokens:2e5,maxOutputTokens:32768},{id:`accounts/fireworks/models/minimax-m2p7`,displayName:`MiniMax M2.7`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:25e3},{id:`accounts/fireworks/models/minimax-m2p5`,displayName:`MiniMax M2.5`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:25e3},{id:`accounts/fireworks/models/deepseek-v4-pro`,displayName:`DeepSeek V4 Pro`,contextWindowTokens:104e4,defaultContextWindowTokens:2e5,maxOutputTokens:131072,supportsThinking:!0}],openrouter:[{id:`anthropic/claude-opus-4.8`,displayName:`Claude Opus 4.8`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-4.7`,displayName:`Claude Opus 4.7`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-4.6`,displayName:`Claude Opus 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-sonnet-4.6`,displayName:`Claude Sonnet 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-sonnet-4.5`,displayName:`Claude Sonnet 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`anthropic/claude-opus-4.5`,displayName:`Claude Opus 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`anthropic/claude-haiku-4.5`,displayName:`Claude Haiku 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`x-ai/grok-4.20-beta`,displayName:`Grok 4.20 Beta`,contextWindowTokens:256e3,defaultContextWindowTokens:2e5,maxOutputTokens:16e3,supportsThinking:!0},{id:`x-ai/grok-4`,displayName:`Grok 4`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:16e3,supportsThinking:!0},{id:`deepseek/deepseek-r1-0528`,displayName:`DeepSeek R1`,contextWindowTokens:163840,defaultContextWindowTokens:163840,maxOutputTokens:32e3,supportsThinking:!0},{id:`deepseek/deepseek-chat-v3-0324`,displayName:`DeepSeek V3`,contextWindowTokens:163840,defaultContextWindowTokens:163840,maxOutputTokens:32e3},{id:`deepseek/deepseek-v4-pro`,displayName:`DeepSeek V4 Pro`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:384e3,supportsThinking:!0},{id:`deepseek/deepseek-v4-flash`,displayName:`DeepSeek V4 Flash`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:384e3,supportsThinking:!0},{id:`deepseek/deepseek-v3.2-speciale`,displayName:`DeepSeek V3.2 Speciale`,contextWindowTokens:163840,defaultContextWindowTokens:163840,maxOutputTokens:163840,supportsThinking:!0},{id:`qwen/qwen3.5-plus-02-15`,displayName:`Qwen 3.5 Plus`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:8192,supportsThinking:!0},{id:`qwen/qwen3.5-397b-a17b`,displayName:`Qwen 3.5 397B`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:8192,supportsThinking:!0},{id:`qwen/qwen3.5-flash-02-23`,displayName:`Qwen 3.5 Flash`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:8192},{id:`qwen/qwen3-coder-next`,displayName:`Qwen 3 Coder`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:8192},{id:`moonshotai/kimi-k2.6`,displayName:`Kimi K2.6`,contextWindowTokens:262144,defaultContextWindowTokens:2e5,maxOutputTokens:32768,supportsThinking:!0},{id:`moonshotai/kimi-k2.5`,displayName:`Kimi K2.5`,contextWindowTokens:256e3,defaultContextWindowTokens:2e5,maxOutputTokens:32768},{id:`minimax/minimax-m2.7`,displayName:`MiniMax M2.7`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:131072,supportsThinking:!0},{id:`minimax/minimax-m2.5`,displayName:`MiniMax M2.5`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:196608,supportsThinking:!0},{id:`minimax/minimax-m2.1`,displayName:`MiniMax M2.1`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:196608,supportsThinking:!0},{id:`minimax/minimax-m2`,displayName:`MiniMax M2`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:196608,supportsThinking:!0},{id:`minimax/minimax-m2-her`,displayName:`MiniMax M2-her`,contextWindowTokens:65536,defaultContextWindowTokens:65536,maxOutputTokens:2048},{id:`minimax/minimax-m1`,displayName:`MiniMax M1`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:4e4,supportsThinking:!0},{id:`minimax/minimax-01`,displayName:`MiniMax-01`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:1e6},{id:`mistralai/mistral-medium-3`,displayName:`Mistral Medium 3`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:16e3},{id:`mistralai/mistral-small-2603`,displayName:`Mistral Small 4`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:16e3},{id:`mistralai/devstral-2512`,displayName:`Devstral 2`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:16e3},{id:`meta-llama/llama-4-maverick`,displayName:`Llama 4 Maverick`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:16e3},{id:`meta-llama/llama-4-scout`,displayName:`Llama 4 Scout`,contextWindowTokens:327680,defaultContextWindowTokens:2e5,maxOutputTokens:16e3},{id:`amazon/nova-pro-v1`,displayName:`Amazon Nova Pro`,contextWindowTokens:3e5,defaultContextWindowTokens:2e5,maxOutputTokens:5e3}],"openai-compatible":[]},fe={anthropic:`claude-sonnet-4-6`,openai:`gpt-5.5`,gemini:`gemini-2.5-flash`,fireworks:`accounts/fireworks/models/kimi-k2p5`,openrouter:`x-ai/grok-4.20-beta`,"openai-compatible":``},J={anthropic:`Anthropic`,openai:`OpenAI`,gemini:`Google Gemini`,ollama:`Ollama`,fireworks:`Fireworks`,openrouter:`OpenRouter`,"openai-compatible":`OpenAI-compatible`},pe={anthropic:!0,openai:!0,gemini:!0,ollama:!1,fireworks:!0,openrouter:!1,"openai-compatible":!1};de.anthropic;function me(e){return de[e]??[]}function he(e){return fe[e]}function Y(e){return pe[e]===!0}var ge=[`inference-provider-native`,`perplexity`,`brave`,`tavily`],X={"inference-provider-native":`Provider Native`,perplexity:`Perplexity`,brave:`Brave`,tavily:`Tavily`},_e={perplexity:`pplx-...`,brave:`BSA...`,tavily:`tvly-...`},ve={perplexity:`vellum:ai:perplexityKey`,brave:`vellum:ai:braveKey`,tavily:`vellum:ai:tavilyKey`},ye=new Set([`perplexity`,`brave`,`tavily`]);async function Z(e){let{provider:t,apiKey:n,voiceId:r,text:i}=e;if(n.trim().length===0)return{kind:`error`,message:`Save an API key for this provider first.`};try{return t===`elevenlabs`?await Q(n,r,i):t===`deepgram`?await be(n,i):t===`fish-audio`?{kind:`unsupported`,message:`Fish Audio TTS is only supported in the desktop app today. Use ElevenLabs or Deepgram to test from the browser.`}:t===`xai`?{kind:`unsupported`,message:`xAI TTS is only supported in the desktop app today. Use ElevenLabs or Deepgram to test from the browser.`}:{kind:`unsupported`,message:`TTS testing for "${t}" is not supported from the browser yet.`}}catch(e){return{kind:`error`,message:e instanceof Error?e.message:`Failed to reach the TTS provider.`}}}async function Q(e,t,n){let r=t.trim();if(r.length===0)return{kind:`error`,message:`Enter and save a Voice ID before testing ElevenLabs.`};let i=await fetch(`https://api.elevenlabs.io/v1/text-to-speech/${encodeURIComponent(r)}?output_format=mp3_44100_128`,{method:`POST`,headers:{"xi-api-key":e,"Content-Type":`application/json`,Accept:`audio/mpeg`},body:JSON.stringify({text:n,model_id:`eleven_turbo_v2_5`})});return i.ok?{kind:`audio`,blob:await i.blob()}:{kind:`error`,message:await xe(i,`ElevenLabs rejected the request.`)}}async function be(e,t){let n=await fetch(`https://api.deepgram.com/v1/speak?model=aura-2-thalia-en`,{method:`POST`,headers:{Authorization:`Token ${e}`,"Content-Type":`application/json`,Accept:`audio/mpeg`},body:JSON.stringify({text:t})});return n.ok?{kind:`audio`,blob:await n.blob()}:{kind:`error`,message:await xe(n,`Deepgram rejected the request.`)}}async function xe(e,t){try{let n=await e.text();if(n.length===0)return`${t} (HTTP ${e.status})`;try{let e=JSON.parse(n);if(e&&typeof e==`object`&&`detail`in e&&typeof e.detail==`string`)return e.detail;if(e&&typeof e==`object`&&`message`in e&&typeof e.message==`string`)return e.message}catch{}return n.slice(0,200)}catch{return`${t} (HTTP ${e.status})`}}var Se=`auto`;function Ce(e,t){return t?[...e]:e.filter(e=>e.name!==Se)}function we(e,t,n){let r=Ce(e.filter(e=>e.status!==`disabled`),n);return t&&r.some(e=>e.name===t)?t:r[0]?.name}function Te(e,t){let n=new Set;for(let e of t)e&&n.add(e);return e.filter(e=>e.status!==`disabled`||n.has(e.name))}function Ee(e){let t=e.label??e.name;return e.status===`disabled`?`${t} (Disabled)`:t}var $=u(),De=`__custom__`;function Oe(e){return e?!!(e.profile||e.provider||e.model):!1}function ke(e,t){let n=Oe(e);return n===Oe(t)?n?(e?.profile??null)===(t?.profile??null)&&(e?.provider??null)===(t?.provider??null)&&(e?.model??null)===(t?.model??null):!0:!1}function Ae({isOpen:e,onClose:t,assistantId:n,orderedProfiles:r,persistedOverrides:i,daemonConfigLoaded:a,onSaved:o}){let s=(0,q.useRef)(!1);return(0,$.jsx)(P.Root,{open:e,onOpenChange:e=>{!e&&!s.current&&t()},children:e?(0,$.jsx)(je,{assistantId:n,orderedProfiles:r,persistedOverrides:i,daemonConfigLoaded:a,onClose:t,onSaved:o,onSavingChange:e=>{s.current=e}}):null})}function je({assistantId:e,orderedProfiles:t,persistedOverrides:n,daemonConfigLoaded:r,onClose:i,onSaved:a,onSavingChange:s}){let[l,u]=(0,q.useState)(``),[d,f]=(0,q.useState)({}),[p,m]=(0,q.useState)(!1),[h,g]=(0,q.useState)(!1),[_,v]=(0,q.useState)(!1),y=(0,q.useRef)(!1),b=le.use.analyzeConversation(),{data:x,isLoading:S,isError:C,refetch:w}=c({queryKey:[`call-site-catalog`,e],queryFn:async()=>{let{data:t}=await o.get({url:`/v1/assistants/{assistant_id}/config/llm/call-sites`,path:{assistant_id:e},throwOnError:!0});return t},enabled:!!e,staleTime:6e4,refetchOnWindowFocus:!1}),E=(0,q.useMemo)(()=>{let e=(x?.callSites??[]).filter(e=>e.id!==`mainAgent`);return b?e:e.filter(e=>e.id!==`analyzeConversation`)},[x,b]),O=!S&&!C&&!!x,k=(0,q.useMemo)(()=>E.map(e=>e.id),[E]);(0,q.useEffect)(()=>{if(y.current||!O||r===!1)return;let e={};for(let t of k){let r=n[t];e[t]=r?{...r}:{}}f(e),y.current=!0,g(!0)},[O,r,k,n]);let A=Et,te=(0,q.useMemo)(()=>new Set(k),[k]),j=(0,q.useMemo)(()=>Object.entries(n).some(([e,t])=>te.has(e)&&(t?.profile!=null||t?.provider!=null||t?.model!=null)),[n,te]),I=(0,q.useMemo)(()=>{if(!y.current)return!1;for(let e of Object.keys(d))if(!ke(d[e],n[e]))return!0;return!1},[d,n]),L=(0,q.useMemo)(()=>Object.values(d).some(e=>Oe(e)&&!!e?.provider&&!e?.model),[d]),ne=le.use.queryComplexityRouting(),R=(0,q.useCallback)(e=>[...Ce(Te(t,[e]),ne).map(e=>({value:e.name,label:Ee(e)})),{value:De,label:`Custom`}],[t,ne]),z=(0,q.useMemo)(()=>{if(!l.trim())return E;let e=l.toLowerCase();return E.filter(t=>(t.displayName??``).toLowerCase().includes(e)||(t.description??``).toLowerCase().includes(e)||(t.domain??``).toLowerCase().includes(e))},[E,l]),re=(0,q.useMemo)(()=>{if(!x)return[];let e=x.domains.map(e=>e.id),t=new Map(x.domains.map(e=>[e.id,e])),n=[];for(let r of e){let e=z.filter(e=>e.domain===r);e.length>0&&n.push({domain:t.get(r),sites:e})}let r=new Set(e),i=z.filter(e=>!r.has(e.domain));return i.length>0&&n.push({domain:{id:`other`,displayName:`Other`},sites:i}),n},[x,z]);function H(e){return d[e]??null}function U(e){return Oe(H(e))}function ie(e){let t=H(e);return!t||!Oe(t)?``:t.provider||t.model?De:t.profile??``}function W(e,n,r){if(!n){f(t=>({...t,[e]:null}));return}let i=we(t,r,ne);if(i)f(t=>({...t,[e]:{profile:i}}));else{let t=A[0],n=he(t)??``;f(r=>({...r,[e]:{provider:t,model:n}}))}}function ae(e,t){if(t===`__custom__`){let t=A[0],n=he(t)??``;f(r=>({...r,[e]:{profile:null,provider:t,model:n}}))}else f(t===``?t=>({...t,[e]:null}):n=>({...n,[e]:{profile:t,provider:null,model:null}}))}function oe(e,t){let n=he(t)??``;f(r=>({...r,[e]:{...r[e],profile:null,provider:t,model:n}}))}function se(e,t){f(n=>({...n,[e]:{...n[e],model:t}}))}let ce=(0,q.useCallback)(async()=>{m(!0),s?.(!0);try{let t={};for(let e of Object.keys(d)){let n=d[e]??null;t[e]=Oe(n)?{profile:n?.profile??null,provider:n?.provider??null,model:n?.model??null}:null}await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:e},body:{llm:{callSites:t}},headers:{"Content-Type":`application/json`},throwOnError:!0}),a(),i(),F.success(`Overrides saved.`)}catch(e){F.error(`Failed to save overrides. Please try again.`),K(e,{context:`call_site_overrides_save`,userMessage:`Failed to save overrides`})}finally{m(!1),s?.(!1)}},[e,d,i,a,n]),G=(0,q.useCallback)(async()=>{m(!0),s?.(!0);try{let t={};for(let e of Object.keys(d))t[e]=null;await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:e},body:{llm:{callSites:t}},headers:{"Content-Type":`application/json`},throwOnError:!0}),a(),i(),F.success(`Overrides reset.`)}catch(e){F.error(`Failed to reset overrides. Please try again.`),K(e,{context:`call_site_overrides_reset`,userMessage:`Failed to reset overrides`})}finally{m(!1),s?.(!1)}},[e,d,i,a,n]);return(0,$.jsxs)(P.Content,{size:`lg`,hideCloseButton:!0,children:[(0,$.jsxs)(P.Header,{children:[(0,$.jsx)(P.Title,{children:`Action Overrides`}),(0,$.jsx)(P.Description,{children:`Customize which model profile specific actions should use. Uses your default profile if no override is set.`})]}),(0,$.jsxs)(P.Body,{children:[(0,$.jsx)(`div`,{className:`mb-4`,children:(0,$.jsx)(M,{type:`search`,value:l,onChange:e=>u(e.target.value),placeholder:`Search actions…`,leftIcon:(0,$.jsx)(V,{className:`h-4 w-4`}),fullWidth:!0})}),S&&(0,$.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,$.jsx)(B,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})}),C&&(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-12 text-center`,children:[(0,$.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Couldn't load actions`}),(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Make sure your assistant is running`}),(0,$.jsx)(T,{variant:`outlined`,size:`compact`,onClick:()=>void w(),children:`Retry`})]}),!S&&!C&&x&&(0,$.jsx)(`div`,{className:`space-y-4`,children:re.length===0?(0,$.jsx)(`p`,{className:`py-8 text-center text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No actions match your search.`}):re.map(({domain:e,sites:n})=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`p`,{className:`mb-2 text-body-small-default font-semibold uppercase tracking-wider text-[var(--content-tertiary)]`,children:e.displayName}),(0,$.jsx)(`div`,{className:`space-y-1`,children:n.map(e=>{let n=U(e.id),r=ie(e.id),i=r===`__custom__`,a=H(e.id),o=a?.provider??A[0],s=me(o??`anthropic`).map(e=>({value:e.id,label:e.displayName})),c=!!a?.provider&&!a?.model,l=R(r===``||r===`__custom__`?null:r);return(0,$.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] p-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`p`,{className:`text-body-medium-default font-medium text-[var(--content-default)]`,children:e.displayName}),e.description&&(0,$.jsxs)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[e.description,e.defaultProfile&&(0,$.jsxs)(`span`,{className:`ml-1.5 text-body-small-default text-[var(--content-tertiary)] opacity-60`,children:[`· Default: `,t.find(t=>t.name===e.defaultProfile)?.label??e.defaultProfile]})]})]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[n&&(0,$.jsx)(D,{value:r,onChange:t=>ae(e.id,t),options:l,className:`w-36`}),(0,$.jsx)(N,{checked:n,onChange:t=>W(e.id,t,e.defaultProfile),"aria-label":`Override ${e.displayName}`})]})]}),n&&i&&(0,$.jsxs)(`div`,{className:`mt-3 space-y-2 border-t border-[var(--border-base)] pt-3`,children:[(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex-1`,children:[(0,$.jsx)(`label`,{className:`mb-1 block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(D,{value:o??``,onChange:t=>oe(e.id,t),options:A.map(e=>({value:e,label:Dt[e]??e}))})]}),(0,$.jsxs)(`div`,{className:`flex-1`,children:[(0,$.jsx)(`label`,{className:`mb-1 block text-body-small-default text-[var(--content-tertiary)]`,children:`Model`}),(0,$.jsx)(D,{value:a?.model??``,onChange:t=>se(e.id,t),options:s})]})]}),c&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:`Pick a model`})]})]},e.id)})})]},e.id))})]}),(0,$.jsxs)(P.Footer,{children:[j&&(0,$.jsx)(T,{variant:`outlined`,size:`compact`,onClick:()=>v(!0),disabled:p||!h,tintColor:`var(--system-negative-strong)`,className:`mr-auto`,children:`Reset to Defaults`}),(0,$.jsx)(T,{variant:`outlined`,size:`compact`,onClick:i,disabled:p,children:`Cancel`}),(0,$.jsx)(T,{variant:`primary`,size:`compact`,onClick:()=>void ce(),disabled:!I||L||p,children:p?(0,$.jsx)(B,{className:`h-4 w-4 animate-spin`}):`Save`})]}),(0,$.jsx)(ee,{open:_,title:`Reset to Defaults`,message:`Every task override will be reset and will follow your active profile. This cannot be undone.`,confirmLabel:`Reset to Defaults`,destructive:!0,onConfirm:()=>{v(!1),G()},onCancel:()=>v(!1)})]})}var Me={maxTokens:!1,contextWindow:!1,effort:!1,speed:!1,verbosity:!1,temperature:!1,thinking:!1};function Ne(e){return e===`gpt-5`||e.startsWith(`gpt-5.`)||e.startsWith(`gpt-5-`)}function Pe(e){return e.startsWith(`anthropic/`)}function Fe(e){return Pe(e)||e.startsWith(`x-ai/grok-4`)||e.startsWith(`deepseek/deepseek-r1`)||e===`qwen/qwen3.5-plus-02-15`||e===`qwen/qwen3.5-397b-a17b`||e===`moonshotai/kimi-k2.6`}function Ie(e,t){let n=me(e).find(e=>e.id===t);return n?.supportsThinking===void 0?e===`anthropic`?!0:e===`openrouter`?Fe(t):!1:n.supportsThinking}function Le(e,t,n){return e===`anthropic`?!t.includes(`haiku`)&&n:e===`openai`?Ne(t):e===`openrouter`?Pe(t)?!t.includes(`haiku`)&&n:n:e===`fireworks`?n:!1}function Re(e,t){if(!e||!t)return Me;let n=e.toLowerCase(),r=t.toLowerCase(),i=n===`anthropic`||n===`openrouter`&&Pe(r),a=Ie(n,r);return{maxTokens:!0,contextWindow:!0,effort:Le(n,r,a),speed:n===`anthropic`&&r.includes(`opus`),verbosity:n===`openai`&&Ne(r),temperature:i,thinking:(n===`anthropic`||n===`openrouter`)&&a}}function ze(e){return e.toLowerCase().split(/[^a-z0-9]+/).filter(Boolean).join(`-`)}var Be=Object.keys(de),Ve=`openai-compatible`,He=new Set([`gpt-5.5`,`gpt-5.4`,`gpt-5.4-mini`,`gpt-5.3-codex`]),Ue=[`none`,`low`,`medium`,`high`,`xhigh`,`max`],We=[`standard`,`fast`],Ge=[`low`,`medium`,`high`],Ke=64e3,qe=1e3,Je=2e5,Ye=1e3;function Xe({isOpen:e,mode:t,profileName:n,initialValues:r,assistantId:i,existingNames:a,connections:o,openAICompatibleEndpointsEnabled:s=!1,onSave:c,onCancel:l}){return(0,$.jsx)(P.Root,{open:e,onOpenChange:e=>{e||l()},children:e?(0,$.jsx)(Ze,{mode:t,profileName:n,initialValues:r,existingNames:a,connections:o,openAICompatibleEndpointsEnabled:s,onSave:c,onCancel:l}):null})}function Ze({mode:e,profileName:t,initialValues:n,existingNames:r,connections:i,openAICompatibleEndpointsEnabled:a,onSave:o,onCancel:s}){let[c,l]=(0,q.useState)(e),u=c===`view`,d=t===`auto`,f=n?.label??``,p=n?.status??`active`,[m,h]=(0,q.useState)(n?.label??``),[g,_]=(0,q.useState)(n?.description??``),[v,y]=(0,q.useState)(e===`create`?``:t??``),[b,x]=(0,q.useState)(n?.provider??``),[S,C]=(0,q.useState)(n?.model??``),[w,ee]=(0,q.useState)(n?.provider_connection??``),[A,F]=(0,q.useState)(n?.status??`active`),I=u&&(m!==f||A!==p),[L,ne]=(0,q.useState)(!1),[R,z]=(0,q.useState)(null),[B,re]=(0,q.useState)(n?.maxTokens??null),[V,H]=(0,q.useState)(n?.contextWindow?.maxInputTokens??null),[U,ie]=(0,q.useState)(n?.effort??`none`),[W,ae]=(0,q.useState)(n?.speed??`standard`),[oe,se]=(0,q.useState)(n?.verbosity??`medium`),[ce,le]=(0,q.useState)(typeof n?.temperature==`number`),[G,K]=(0,q.useState)(typeof n?.temperature==`number`?n.temperature:.7),[ue,de]=(0,q.useState)(n?.thinking?.enabled??!1),[fe,pe]=(0,q.useState)(n?.thinking?.streamThinking??!1),he=(0,q.useMemo)(()=>b?me(b).find(e=>e.id===S)??null:null,[b,S]),Y=(0,q.useMemo)(()=>Re(b,S),[b,S]),ge=(0,q.useMemo)(()=>a?Be:Be.filter(e=>e!==Ve),[a]),X=(0,q.useMemo)(()=>b?(i??[]).filter(e=>e.provider===b&&(a||e.provider!==Ve)):[],[b,i,a]),_e=(0,q.useMemo)(()=>{let e=new Set;for(let t of i??[])(a||t.provider!==Ve)&&e.add(t.provider);return b&&(a||b!==Ve)&&e.add(b),ge.filter(t=>e.has(t))},[ge,i,a,b]),ve=i===void 0?ge:_e,ye=w!==``&&!X.some(e=>e.name===w),Z=b!==``&&(X.length>0||w!==``),Q=(0,q.useRef)(!1);(0,q.useEffect)(()=>{Q.current=!1},[t,e]);function be(e){h(e),c===`create`&&!Q.current&&y(ze(e))}function xe(e){Q.current=!0,y(e)}function Se(e){if(e===b)return;x(e),C(``);let t=(i??[]).filter(t=>t.provider===e);ee(t.length===1?t[0].name:``),re(null),H(null),ie(`none`),ae(`standard`),se(`medium`),le(!1),K(.7),de(!1),pe(!1)}function Ce(e){if(ee(e),b&&me(b).length===0&&S){let t=X.find(t=>t.name===e),n=new Set((t?.models??[]).map(e=>e.id));(e===``||!n.has(S))&&C(``)}}function we(e){e!==S&&(C(e),re(null),H(null))}let Te=v.trim(),Ee=Te.length===0,De=/\s/.test(v),Oe=c===`create`?r.includes(Te):r.filter(e=>e!==t).includes(Te),ke=b.length===0,Ae=b.length>0&&S.length===0,je=Ee||De||Oe||ke||Ae,Me=Ee?`Key is required`:De?`Key cannot contain whitespace`:Oe?`A profile with this key already exists`:null;async function Ne(){if(!(je&&!u)){if(u){if(!I)return;ne(!0),z(null);try{await o(Te,{label:m.trim()||null,status:A},{mode:`merge`})}catch{z(`Failed to save profile. Please try again.`)}finally{ne(!1)}return}ne(!0),z(null);try{let e={},t=w===``&&X.length===1?X[0].name:w,n=ye?``:t;c===`edit`?(e.label=m.trim()||null,e.description=g.trim()||null,e.provider=b||null,e.model=S||null,e.provider_connection=n||null):(m.trim()&&(e.label=m.trim()),g.trim()&&(e.description=g.trim()),b&&(e.provider=b),S&&(e.model=S),n&&(e.provider_connection=n)),Y.maxTokens&&B!==null&&(e.maxTokens=B),Y.contextWindow&&V!==null&&(e.contextWindow={maxInputTokens:V}),Y.effort&&U!==`none`&&(e.effort=U),Y.speed&&W!==`standard`&&(e.speed=W),Y.verbosity&&(e.verbosity=oe),Y.temperature&&(ce?e.temperature=G:c===`edit`&&(e.temperature=null)),Y.thinking&&(e.thinking={enabled:ue,...ue?{streamThinking:fe}:{}}),(c===`edit`||A!==`active`)&&(e.status=A),await o(Te,e)}catch{z(`Failed to save profile. Please try again.`)}finally{ne(!1)}}}let Pe=c===`create`?`New Profile`:c===`edit`?`Edit Profile`:n?.label??t??`Profile`,Fe=(0,q.useMemo)(()=>{if(!b||b===Ve&&!a)return[];let e=me(b);if(e.length>0)return(w?X.find(e=>e.name===w):void 0)?.auth.type===`oauth_subscription`||!w&&X.length>0&&X.every(e=>e.auth.type===`oauth_subscription`)?e.filter(e=>He.has(e.id)):e;let t=e=>(e??[]).map(e=>({id:e.id,displayName:e.displayName??e.id}));if(w){let e=X.find(e=>e.name===w);return e?t(e.models):[]}let n=new Set,r=[];for(let e of X)for(let t of e.models??[])n.has(t.id)||(n.add(t.id),r.push({id:t.id,displayName:t.displayName??t.id}));return r},[b,a,w,X]);return(0,q.useEffect)(()=>{S&&Fe.length>0&&!Fe.some(e=>e.id===S)&&C(``)},[S,Fe]),(0,$.jsxs)(P.Content,{size:`md`,children:[(0,$.jsx)(P.Header,{children:c===`view`?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(P.Title,{children:Pe}),(0,$.jsx)(te,{tone:`positive`,children:`Platform`})]}):(0,$.jsx)(P.Title,{children:Pe})}),(0,$.jsx)(P.Body,{children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Display Name`}),(0,$.jsx)(M,{type:`text`,value:m,onChange:e=>be(e.target.value),placeholder:`e.g. Fast & Cheap`,fullWidth:!0})]}),(0,$.jsx)(j,{label:(0,$.jsxs)($.Fragment,{children:[`Description`,` `,(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:`(optional)`})]}),value:g,onChange:e=>_(e.target.value),placeholder:`Describe when to use this profile`,disabled:u,rows:2,fullWidth:!0,className:`resize-none`}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Key`}),(0,$.jsx)(M,{type:`text`,value:v,onChange:e=>xe(e.target.value),placeholder:`e.g. fast-cheap`,disabled:u||c===`edit`,fullWidth:!0}),Me&&!u?(0,$.jsx)(E,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:Me}):null]}),(0,$.jsx)(N,{checked:A===`active`,onChange:e=>F(e?`active`:`disabled`),label:`Active`}),d&&(0,$.jsx)(`div`,{className:`rounded-lg bg-[var(--surface-info-subtle)] p-3`,children:(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Auto mode routes each query to the best profile automatically — fast for simple questions, capable for complex ones. No provider or model configuration needed.`})}),!d&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`label`,{id:`profile-editor-provider-label`,className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),ke?(0,$.jsx)(`span`,{className:`rounded-full bg-[var(--surface-warning-subtle)] px-2 py-0.5 text-body-small-default text-[var(--content-warning)]`,children:`Pick a provider`}):null]}),(0,$.jsx)(D,{value:b,onChange:Se,disabled:u,placeholder:`Select a provider…`,"aria-labelledby":`profile-editor-provider-label`,options:ve.map(e=>({value:e,label:J[e]??e}))}),ve.length===0&&!u?(0,$.jsx)(E,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`No provider connections. Open Providers to add one.`}):null]}),Z&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[`Connection`,` `,(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:`(optional)`})]}),(0,$.jsx)(D,{value:w,onChange:Ce,disabled:u,options:[...X.length>1?[{value:``,label:`Any ${J[b]??b} connection`}]:[],...X.map(e=>({value:e.name,label:e.label&&e.label.trim()!==``?e.label:e.name})),...ye?[{value:w,label:`${w} (not found)`}]:[]]}),ye&&!u?(0,$.jsxs)(E,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:[`Connection “`,w,`” not found. Will be cleared on save unless you pick another.`]}):null]}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Model`}),(0,$.jsx)(D,{value:S,onChange:we,disabled:u||!b,options:[{value:``,label:b?b===`openai-compatible`&&Fe.length===0?`Configure models on connection`:`Select a model`:`Select a provider first`},...Fe.map(e=>({value:e.id,label:e.displayName}))]}),Ae&&!u?(0,$.jsx)(E,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:b===`openai-compatible`&&Fe.length===0?`No models available. Configure models on the provider connection first.`:`Select a model.`}):null]})]}),!d&&(0,$.jsxs)($.Fragment,{children:[Y.maxTokens&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Max Output Tokens`}),(0,$.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:B===null?`Inherit`:Kt(B)})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`div`,{className:`flex-1`,children:(0,$.jsx)(O,{value:B??Ke,onValueChange:e=>re(typeof e==`number`?e:e[0]),min:qe,max:he?.maxOutputTokens??Ke,step:1e3,disabled:u})}),(0,$.jsx)(T,{variant:`ghost`,size:`compact`,onClick:()=>re(null),disabled:u||B===null,children:`Inherit`})]})]}),Y.contextWindow&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Context Window`}),(0,$.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:V===null?`Inherit`:Kt(V)})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`div`,{className:`flex-1`,children:(0,$.jsx)(O,{value:V??Je,onValueChange:e=>H(typeof e==`number`?e:e[0]),min:Ye,max:he?.contextWindowTokens??Je,step:5e4,disabled:u||!he})}),(0,$.jsx)(T,{variant:`ghost`,size:`compact`,onClick:()=>H(null),disabled:u||V===null,children:`Inherit`})]})]}),Y.effort&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[`Effort`,` `,(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:`(none = inherit)`})]}),(0,$.jsx)(k,{items:Ue.map(e=>({value:e,label:e})),value:U,onChange:e=>ie(e),ariaLabel:`Effort`})]}),Y.speed&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Speed`}),(0,$.jsx)(k,{items:We.map(e=>({value:e,label:e})),value:W,onChange:e=>ae(e),ariaLabel:`Speed`})]}),Y.verbosity&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Verbosity`}),(0,$.jsx)(k,{items:Ge.map(e=>({value:e,label:e})),value:oe,onChange:e=>se(e),ariaLabel:`Verbosity`})]}),Y.temperature&&(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Temperature`}),(0,$.jsx)(N,{checked:ce,onChange:e=>le(e),disabled:u,"aria-label":`Enable temperature override`})]}),ce&&(0,$.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,$.jsx)(`div`,{className:`flex-1`,children:(0,$.jsx)(O,{value:G,onValueChange:e=>K(typeof e==`number`?e:e[0]),min:0,max:2,step:.01,disabled:u,showValue:!0,formatValue:e=>typeof e==`number`?e.toFixed(2):String(e)})})})]}),Y.thinking&&(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsx)(N,{checked:ue,onChange:e=>{de(e),e||pe(!1)},label:`Enable extended thinking`,disabled:u}),ue&&(0,$.jsx)(`div`,{className:`pl-4`,children:(0,$.jsx)(N,{checked:fe,onChange:e=>pe(e),label:`Stream thinking tokens`,disabled:u})})]})]}),R?(0,$.jsx)(E,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:R}):null]})}),(0,$.jsx)(P.Footer,{children:c===`view`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(T,{variant:`outlined`,onClick:s,disabled:L,"data-testid":`modal-cancel-btn`,children:`Close`}),!d&&(0,$.jsx)(T,{variant:`outlined`,onClick:()=>{l(`create`),y(``),Q.current=!1},disabled:L,children:`Save As New`}),(0,$.jsx)(T,{variant:`primary`,onClick:()=>void Ne(),disabled:!I||L,"data-testid":`modal-save-btn`,children:L?`Saving…`:`Save`})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(T,{variant:`outlined`,onClick:s,disabled:L,"data-testid":`modal-cancel-btn`,children:`Cancel`}),(0,$.jsx)(T,{variant:`primary`,onClick:()=>void Ne(),disabled:je||L,"data-testid":`modal-save-btn`,children:L?`Saving…`:`Save`})]})})]})}function Qe(){let e={anthropic:J.anthropic,openai:J.openai,gemini:J.gemini,ollama:J.ollama,fireworks:J.fireworks,openrouter:J.openrouter,"openai-compatible":J[`openai-compatible`]},t={};for(let n of Object.keys(e)){let r=e[n];if(r===void 0)throw Error(`provider-connections-client: catalog missing displayName for ConnectionProvider "${n}".`);t[n]=r}return t}var $e=Qe();function et(e){throw Object.assign(Error(`Request failed`),{status:e?.status})}function tt(e){return{...e,label:e.label??null,baseUrl:e.baseUrl??null,models:e.models??null}}async function nt(e,t){let n=await o.get({url:`/v1/assistants/{assistant_id}/inference/provider-connections`,path:{assistant_id:e},query:t?{provider:t}:void 0});return n.response?.ok||et(n.response),(n.data.connections??[]).map(tt)}async function rt(e,t){let n=await o.post({url:`/v1/assistants/{assistant_id}/inference/provider-connections`,path:{assistant_id:e},body:t,headers:{"Content-Type":`application/json`}});return n.response?.ok||et(n.response),tt(n.data)}async function it(e,t,n){let r=await o.patch({url:`/v1/assistants/{assistant_id}/inference/provider-connections/{name}`,path:{assistant_id:e,name:t},body:n,headers:{"Content-Type":`application/json`}});return r.response?.ok||et(r.response),tt(r.data)}async function at(e,t){let n=await o.delete({url:`/v1/assistants/{assistant_id}/inference/provider-connections/{name}`,path:{assistant_id:e,name:t}});n.response?.ok||et(n.response)}async function ot(e){let t=await o.get({url:`/v1/assistants/{assistant_id}/secrets/`,path:{assistant_id:e}});t.response?.ok||et(t.response);let n=t.data,r=n.secrets??n.accounts??[],i=[];for(let e of r){let t=e.type;if(t){if(t===`api_key`){let t=e.name;t&&i.push({service:t,field:`api_key`})}else if(t===`credential`){let t=e.name;if(!t)continue;let n=t.lastIndexOf(`:`);if(n>=0){let e=t.slice(0,n),r=t.slice(n+1);e&&r&&i.push({service:e,field:r})}}}}return i}async function st(e,t,n){let r=await o.post({url:`/v1/assistants/{assistant_id}/secrets/read/`,path:{assistant_id:e},body:{type:t,name:n},headers:{"Content-Type":`application/json`}});if(!r.response?.ok)return{found:!1,masked:null};let i=r.data;return{found:i.found??!1,masked:i.masked??null}}async function ct(e,t,n,r){let i=await o.post({url:`/v1/assistants/{assistant_id}/secrets/`,path:{assistant_id:e},body:{type:t,name:n,value:r},headers:{"Content-Type":`application/json`}});i.response?.ok||et(i.response)}async function lt(e){let t=await o.post({url:`/v1/assistants/{assistant_id}/inference/chatgpt-subscription/auth`,path:{assistant_id:e},headers:{"Content-Type":`application/json`}});return t.response?.ok||et(t.response),t.data}async function ut(e,t,n){let r=await o.post({url:`/v1/assistants/{assistant_id}/inference/chatgpt-subscription/auth/exchange`,path:{assistant_id:e},body:{code:t,state:n},headers:{"Content-Type":`application/json`}});r.response?.ok||et(r.response)}function dt(e,t){return t?e:e.filter(e=>e.provider!==`openai-compatible`)}function ft({isOpen:e,profiles:t,profileOrder:n,activeProfile:r,assistantId:i,callSiteOverrides:a,onClose:s,onProfilesChanged:c}){let l=le.use.openAICompatibleEndpoints(),[u,d]=(0,q.useState)(!1),[f,p]=(0,q.useState)(null),[m,h]=(0,q.useState)(void 0);(0,q.useEffect)(()=>{if(!e)return;let t=!1;return(async()=>{try{let e=await nt(i);t||h(dt(e,l))}catch{}})(),()=>{t=!0}},[e,i,u,l]);let g=Object.keys(t);async function _(e,r,a){let s=a?.mode??`replace`,l=!(e in t);if(s===`merge`&&!l){await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:i},body:{llm:{profiles:{[e]:r}}},headers:{"Content-Type":`application/json`},throwOnError:!0});let n={...t[e],...r};c({profiles:{[e]:n}}),d(!1),p(null);return}let u={profiles:{[e]:r}},f={profiles:{[e]:r}};if(l){let t=n.includes(e)?n:[...n,e];f.profileOrder=t,u.profileOrder=t}if(l)await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:i},body:{llm:f},headers:{"Content-Type":`application/json`},throwOnError:!0});else{let n=t[e];await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:i},body:{llm:{profiles:{[e]:null}}},headers:{"Content-Type":`application/json`},throwOnError:!0});try{await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:i},body:{llm:f},headers:{"Content-Type":`application/json`},throwOnError:!0})}catch(t){throw n!=null&&await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:i},body:{llm:{profiles:{[e]:n}}},headers:{"Content-Type":`application/json`},throwOnError:!0}).catch(()=>{}),t}}c(u),d(!1),p(null)}let v=(0,q.useRef)(t);(0,q.useEffect)(()=>{v.current=t});async function y(e,n){let r=n?`active`:`disabled`,a=t[e.name];if(!a)return!1;let s=a.status;c({profiles:{[e.name]:{...a,status:r}}});try{return await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:i},body:{llm:{profiles:{[e.name]:{status:r}}}},headers:{"Content-Type":`application/json`},throwOnError:!0}),!0}catch{let t=v.current[e.name];return t&&c({profiles:{[e.name]:{...t,status:s}}}),!1}}return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(P.Root,{open:e,onOpenChange:e=>{e||s()},children:e?(0,$.jsx)(pt,{profiles:t,profileOrder:n,activeProfile:r,assistantId:i,callSiteOverrides:a,onClose:s,onProfilesChanged:c,onEditClick:e=>{p(e),d(!0)},onNewClick:()=>{p(null),d(!0)},onStatusToggle:y}):null}),(0,$.jsx)(Xe,{isOpen:u,mode:f?f.source===`managed`?`view`:`edit`:`create`,profileName:f?.name,initialValues:f??void 0,assistantId:i,existingNames:g,connections:m,openAICompatibleEndpointsEnabled:l,onSave:_,onCancel:()=>{d(!1),p(null)}})]})}function pt({profiles:e,profileOrder:t,activeProfile:n,assistantId:r,callSiteOverrides:i,onClose:a,onProfilesChanged:s,onEditClick:c,onNewClick:l,onStatusToggle:u}){let[d,f]=(0,q.useState)({}),[p,m]=(0,q.useState)({}),[h,g]=(0,q.useState)(new Set),[_,v]=(0,q.useState)(null);async function y(e,t){if(!h.has(e.name)){g(t=>new Set(t).add(e.name)),v(null);try{await u(e,t)||v(`Couldn't update "${e.label??e.name}". Please try again.`)}finally{g(t=>{let n=new Set(t);return n.delete(e.name),n})}}}let[b,x]=(0,q.useState)(null),[S,C]=(0,q.useState)(null),[w,D]=(0,q.useState)(null),O=(0,q.useRef)(t),ee=(0,q.useRef)(null),k=(0,q.useRef)(null),[A,j]=(0,q.useState)(null),[M,F]=(0,q.useState)(null),[I,L]=(0,q.useState)(``),[ne,R]=(0,q.useState)(!1),z=t.filter(t=>t in e).map(t=>{let n=e[t];return{name:t,source:n.source,status:n.status??`active`,label:n.label??void 0,description:n.description??void 0,provider:n.provider??void 0,provider_connection:n.provider_connection??void 0,model:n.model??void 0,maxTokens:n.maxTokens,effort:n.effort,speed:n.speed,verbosity:n.verbosity,temperature:n.temperature,thinking:n.thinking,contextWindow:n.contextWindow}}),B=new Set(t),re=Object.entries(e).filter(([e])=>!B.has(e)).map(([e,t])=>({name:e,source:t.source,status:t.status??`active`,label:t.label??void 0,description:t.description??void 0,provider:t.provider??void 0,provider_connection:t.provider_connection??void 0,model:t.model??void 0,maxTokens:t.maxTokens,effort:t.effort,speed:t.speed,verbosity:t.verbosity,temperature:t.temperature,thinking:t.thinking,contextWindow:t.contextWindow})),V=Ce([...z,...re],le.use.queryComplexityRouting());async function H(e){m(t=>({...t,[e]:!0})),f(t=>{let n={...t};return delete n[e],n});try{let n=t.filter(t=>t!==e);await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:r},body:{llm:{profiles:{[e]:null},profileOrder:n}},headers:{"Content-Type":`application/json`},throwOnError:!0}),s({profiles:{[e]:null},profileOrder:n})}catch{f(t=>({...t,[e]:`Failed to delete profile. Please try again.`}))}finally{m(t=>{let n={...t};return delete n[e],n})}}function U(e){let t=V.find(t=>t.name===e)?.label??e,r=e===n,a=Object.entries(i).filter(([t,n])=>t!==`mainAgent`&&n?.profile===e).map(([e])=>e);if(r||a.length>0){j({name:e,label:t,isActive:r,callSiteIds:a}),L(``),F(null);return}H(e)}async function ie(){if(!A||!I)return;R(!0),F(null);let e={};if(A.isActive&&(e.activeProfile=I),A.callSiteIds.length>0){let t={};for(let e of A.callSiteIds)t[e]={profile:I};e.callSites=t}if(Object.keys(e).length>0)try{await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:r},body:{llm:e},headers:{"Content-Type":`application/json`},throwOnError:!0});let t=A.callSiteIds.length>0?Object.fromEntries(A.callSiteIds.map(e=>[e,I])):void 0;s({...A.isActive&&{activeProfile:I},...t&&{callSites:t}})}catch{F(`Failed to reassign references. Please try again.`),R(!1);return}let t=A.name;j(null),R(!1),H(t)}async function ae(e,n){if(e===n.name)return;D(null);let i=t.filter(t=>t!==e),a=i.indexOf(n.name);if(a===-1)return;n.after&&(a+=1);let c=[...i.slice(0,a),e,...i.slice(a)];s({profileOrder:c});try{await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:r},body:{llm:{profileOrder:c}},headers:{"Content-Type":`application/json`},throwOnError:!0}),O.current=c}catch{s({profileOrder:O.current}),D(`Failed to reorder profiles. Please try again.`)}}let oe=V.filter(e=>e.name!==A?.name&&e.source!==`managed`),se=oe.length>0?oe:V.filter(e=>e.name!==A?.name);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(P.Content,{size:`md`,children:[(0,$.jsxs)(P.Header,{children:[(0,$.jsx)(P.Title,{children:`Model Profiles`}),(0,$.jsx)(P.Description,{children:`Bundle a provider and model into a named profile. Assign profiles to specific actions or swap between them when chatting.`})]}),(0,$.jsxs)(P.Body,{children:[V.length===0?(0,$.jsx)(E,{variant:`body-medium-lighter`,as:`p`,className:`py-4 text-center text-(--content-tertiary)`,children:`No profiles yet. Create one to get started.`}):(0,$.jsx)(`div`,{className:`space-y-1`,children:V.map(e=>{let t=e.source===`managed`,n=p[e.name]??!1,r=d[e.name],i=e.status!==`disabled`,a=h.has(e.name),o=e.name===Se;return(0,$.jsxs)(`div`,{className:`relative`,children:[S?.name===e.name&&!S.after&&(0,$.jsx)(`div`,{className:`mx-0 h-0.5 rounded-full bg-[var(--border-active)]`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg pr-2 py-2${b===e.name?` opacity-50`:``}`,draggable:!t,onDragStart:t=>{ee.current=e.name,x(e.name),t.dataTransfer&&(t.dataTransfer.effectAllowed=`move`)},onDragEnd:()=>{ee.current=null,k.current=null,x(null),C(null)},onDragOver:t=>{t.preventDefault();let n=t.currentTarget.getBoundingClientRect(),r=t.clientY>n.top+n.height/2,i={name:e.name,after:r};k.current=i,C(i)},onDragLeave:t=>{t.currentTarget.contains(t.relatedTarget)||(k.current=null,C(t=>t?.name===e.name?null:t))},onDrop:e=>{e.preventDefault();let t=ee.current,n=k.current;ee.current=null,k.current=null,x(null),C(null),t&&n&&ae(t,n)},children:[(0,$.jsx)(ue,{className:`h-4 w-4 shrink-0 ${t?`invisible`:`cursor-grab text-[var(--content-tertiary)]`}`}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1${i?``:` opacity-55`}`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(E,{variant:`body-medium-default`,as:`span`,className:`text-(--content-default)`,children:e.label??e.name}),t&&e.name!==`auto`&&(0,$.jsx)(te,{tone:`positive`,title:`Managed by Platform — auth is locked, but you can rename or disable this profile.`,children:`Platform`})]}),e.description?(0,$.jsx)(E,{variant:`body-medium-lighter`,as:`p`,className:`mt-0.5 text-(--content-tertiary)`,children:e.description}):null,e.model??e.provider?(0,$.jsx)(E,{variant:`body-medium-lighter`,as:`p`,className:`mt-0.5 text-(--content-tertiary)`,children:e.model??e.provider}):null]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,$.jsx)(`div`,{className:`flex shrink-0 items-center`,title:i?`Active — toggle to hide from pickers`:`Disabled — toggle to show in pickers`,children:(0,$.jsx)(N,{checked:i,onChange:t=>void y(e,t),disabled:a,"aria-label":`${i?`Disable`:`Enable`} ${e.label??e.name}`})}),(0,$.jsxs)(`div`,{className:`flex w-[92px] items-center justify-end gap-2${o?` invisible`:``}`,children:[(0,$.jsx)(T,{variant:`ghost`,size:`compact`,onClick:()=>c(e),children:t?`View`:`Edit`}),(0,$.jsx)(T,{variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(W,{}),"aria-label":`Delete ${e.label??e.name}`,disabled:t||n,title:t?`Managed profiles cannot be deleted`:void 0,onClick:()=>U(e.name),tintColor:`var(--system-negative-strong)`})]})]})]}),S?.name===e.name&&S.after&&(0,$.jsx)(`div`,{className:`mx-0 h-0.5 rounded-full bg-[var(--border-active)]`}),r?(0,$.jsx)(E,{variant:`body-small-default`,as:`p`,className:`px-2 pb-1 text-(--system-negative-strong)`,children:r}):null,e.name===`auto`&&(0,$.jsx)(`div`,{className:`mx-2 mt-1 border-b border-[var(--border-subtle)]`})]},e.name)})}),w&&(0,$.jsx)(E,{variant:`body-small-default`,as:`p`,className:`mt-2 text-(--system-negative-strong)`,children:w}),_&&(0,$.jsx)(E,{variant:`body-small-default`,as:`p`,className:`mt-2 text-(--system-negative-strong)`,children:_})]}),(0,$.jsxs)(P.Footer,{className:`justify-between`,children:[(0,$.jsx)(T,{variant:`outlined`,size:`compact`,onClick:l,children:`+ New Profile`}),(0,$.jsx)(T,{variant:`outlined`,size:`compact`,onClick:a,children:`Done`})]})]}),(0,$.jsx)(mt,{blocked:A,availableReplacements:se,replacement:I,onReplacementChange:L,error:M,saving:ne,onClose:()=>{j(null),F(null)},onConfirm:()=>void ie()})]})}function mt({blocked:e,availableReplacements:t,replacement:n,onReplacementChange:r,error:i,saving:a,onClose:o,onConfirm:s}){let c=``;if(e){let t=e.label||e.name;c=e.isActive&&e.callSiteIds.length>0?`"${t}" is the active profile and is used by ${e.callSiteIds.length} call site(s). Pick a replacement profile.`:e.isActive?`"${t}" is the active profile. Pick a different active profile before deleting, or select a replacement below.`:`"${t}" is used by ${e.callSiteIds.length} call site(s). Select a replacement profile to reassign them before deleting.`}return(0,$.jsx)(P.Root,{open:e!==null,onOpenChange:e=>{e||o()},children:(0,$.jsxs)(P.Content,{size:`sm`,children:[(0,$.jsx)(P.Header,{children:(0,$.jsx)(P.Title,{children:`Can't Delete Profile`})}),(0,$.jsxs)(P.Body,{className:`space-y-4`,children:[(0,$.jsx)(E,{variant:`body-medium-default`,as:`p`,children:c}),e&&e.callSiteIds.length>0&&(0,$.jsx)(`ul`,{className:`space-y-1 pl-1`,children:e.callSiteIds.map(e=>(0,$.jsxs)(`li`,{className:`text-body-small-default text-(--content-secondary)`,children:[`• `,(0,$.jsx)(`code`,{children:e})]},e))}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Replacement profile`}),(0,$.jsx)(D,{"aria-label":`Replacement profile`,value:n,onChange:r,options:[{value:``,label:`Select a replacement…`},...t.map(e=>({value:e.name,label:e.label??e.name}))]})]}),i&&(0,$.jsx)(E,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:i})]}),(0,$.jsxs)(P.Footer,{children:[(0,$.jsx)(T,{variant:`ghost`,size:`compact`,onClick:o,children:`Cancel`}),(0,$.jsx)(T,{variant:`primary`,size:`compact`,disabled:!n||a,onClick:s,children:a?`Saving…`:`Reassign and Delete`})]})]})})}var ht=`•`.repeat(8);function gt(e,t){return t?ht:e}var _t=[`anthropic`,`openai`,`gemini`,`ollama`,`fireworks`,`openrouter`,`openai-compatible`],vt={api_key:`API Key`,platform:`Platform (managed proxy)`,none:`None (local / no auth)`,oauth_subscription:`ChatGPT Subscription`};function yt({mode:e,connection:t,assistantId:n,existingNames:r,openAICompatibleEndpointsEnabled:i=!1,chatgptSubscriptionEnabled:a=!1,onSave:o,onCancel:s}){let[c,l]=(0,q.useState)(e),u=c===`managed-edit`,[d,f]=(0,q.useState)(t?.label??``),[p,m]=(0,q.useState)(t?.name??``),[h,g]=(0,q.useState)(t?.provider??`anthropic`),[_,v]=(0,q.useState)(()=>t?t.auth.type:`platform`),[y,b]=(0,q.useState)(()=>t?.auth.type===`api_key`?t.auth.credential:t?``:`credential/anthropic/api_key`),[x,S]=(0,q.useState)(t?.baseUrl??``),[C,w]=(0,q.useState)(()=>t?.models?t.models.map(e=>e.id).join(`, `):``),[O,ee]=(0,q.useState)(!1),[k,A]=(0,q.useState)(null),te=h===`openai-compatible`,j=(0,q.useMemo)(()=>{let e=i?_t:_t.filter(e=>e!==`openai-compatible`);return h&&!e.includes(h)?[...e,h]:e},[i,h]),N=(0,q.useRef)(!1),[F,I]=(0,q.useState)(``),[L,ne]=(0,q.useState)(!1),[R,z]=(0,q.useState)(!1),[re,V]=(0,q.useState)(!1),[H,U]=(0,q.useState)([]),[W,ae]=(0,q.useState)(!1),[oe,se]=(0,q.useState)(``),[ce,le]=(0,q.useState)(!1),[G,K]=(0,q.useState)(`idle`),[ue,de]=(0,q.useState)(``),[fe,J]=(0,q.useState)(null),pe=(0,q.useRef)(``);async function me(){K(`starting`),J(null);let e=window.open(`about:blank`,`_blank`);try{let{authorize_url:t,state:r}=await lt(n);pe.current=r,e?(e.opener=null,e.location.href=t):window.open(t,`_blank`,`noopener`),K(`paste_url`)}catch{e?.close(),K(`failed`),J(`Failed to start ChatGPT sign-in. Please try again.`)}}async function he(){J(null);let e=ue.trim();if(!e){J(`Please paste the URL from the error page.`);return}let t;try{t=new URL(e)}catch{J(`Invalid URL. Please paste the full URL from the address bar.`);return}let r=t.searchParams.get(`code`),i=t.searchParams.get(`state`);if(!r){J(`The URL is missing the authorization code. Make sure you copied the full URL.`);return}if(!i){J(`The URL is missing the state parameter. Make sure you copied the full URL.`);return}K(`exchanging`);try{await ut(n,r,i),K(`completed`),o((await nt(n,`openai`)).find(e=>e.name===`chatgpt-subscription`||e.name===`openai-chatgpt`)||{name:`chatgpt-subscription`,provider:`openai`,auth:{type:`oauth_subscription`,credential:`credential/openai/chatgpt-subscription`},label:`ChatGPT Subscription`,createdAt:Date.now(),updatedAt:Date.now(),baseUrl:null,models:null})}catch{K(`failed`),J(`Failed to complete sign-in. Please try again.`)}}let ge=(0,q.useCallback)(async e=>{let t=e.split(`/`);if(t.length<3||t[0]!==`credential`){z(!1);return}let r=t[1],i=t.slice(2).join(`/`);V(!0);try{z((await st(n,`credential`,`${r}:${i}`)).found)}catch{z(!1)}finally{V(!1)}},[n]),X=(0,q.useCallback)(async()=>{U(await ot(n))},[n]);(0,q.useEffect)(()=>{let e=t?.provider??`anthropic`;f(t?.label??``),m(t?.name??``),g(e),v(t?t.auth.type:`platform`),t?.auth.type===`api_key`?b(t.auth.credential):b(t?``:`credential/${e}/api_key`),N.current=!1,A(null),S(t?.baseUrl??``),w(t?.models?t.models.map(e=>e.id).join(`, `):``),I(``),z(!1),V(!1),U([]),ae(!1),se(``),le(!1),ne(!1),K(`idle`),de(``),J(null),pe.current=``,t?.auth.type===`api_key`?(ge(t.auth.credential),X()):t||X()},[t,ge,X]);function _e(e){f(e),c===`create`&&!N.current&&m(ze(e))}function ve(e){N.current=!0,m(e)}function ye(){l(`create`),m(``),N.current=!1,h===`ollama`?(v(`none`),b(``)):(v(`api_key`),b(`credential/${h}/api_key`)),I(``),z(!1),S(``),w(``),A(null),X()}let Z=p.trim()&&c===`create`&&r.includes(p.trim())?`A connection named "${p.trim()}" already exists.`:null,Q=p.trim().length>0&&!Z;async function be(){if(Q){ee(!0),A(null);try{let e;if(_===`api_key`){let t=y.trim()||`credential/${h}/api_key`,r=F.trim();if(r){le(!0);try{let e=t.split(`/`);if(e.length>=3&&e[0]===`credential`){let t=e[1];await ct(n,`credential`,`${t}:${e.slice(2).join(`/`)}`,r)}else await ct(n,`api_key`,h,r);z(!0)}catch{A(`Failed to save API key. Please try again.`);return}finally{le(!1)}}else if(!R&&c===`create`){A(`Enter an API key or select an existing credential.`);return}e={type:`api_key`,credential:t}}else if(_===`oauth_subscription`)if(c!==`create`&&t?.auth.type===`oauth_subscription`)e=t.auth;else{A(`Use the "Sign in with ChatGPT" button to connect your subscription.`);return}else e=_===`none`?{type:`none`}:{type:`platform`};let r=d.trim()||null,i;if(c===`create`)i=await rt(n,{name:p.trim(),provider:h,auth:e,...r!==null&&{label:r},...te&&{base_url:x.trim()||null,models:C.trim()?C.split(`,`).map(e=>({id:e.trim()})).filter(e=>e.id):null}});else{let a={auth:e,label:r,...te&&{base_url:x.trim()||null,models:C.trim()?C.split(`,`).map(e=>({id:e.trim()})).filter(e=>e.id):null}};i=await it(n,t.name,a)}o(i)}catch(e){let t=e?.status;A(t===409?`A connection named "${p.trim()}" already exists.`:t===404?`Connection not found. It may have been deleted.`:t===400?`Invalid configuration. Check the provider and auth settings.`:`Failed to save connection. Please try again.`)}finally{ee(!1)}}}let xe=H.filter(e=>e.service===h),Se=c!==`create`&&t?.auth.type===`api_key`,Ce=xe.length>0||W||Se,we=gt(`Enter your API key`,R);return(0,$.jsxs)(P.Content,{size:`md`,children:[(0,$.jsxs)(P.Header,{children:[(0,$.jsx)(P.Title,{children:c===`create`?`New Provider Connection`:`Edit Connection`}),(0,$.jsx)(P.Description,{children:c===`create`?`Define a provider and auth configuration for inference routing.`:u?`Managed by Vellum — auth is locked, but you can rename "${t?.name}".`:`Editing "${t?.name}".`})]}),(0,$.jsxs)(P.Body,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[`Display Name`,` `,(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:`(optional)`})]}),(0,$.jsx)(M,{value:d,onChange:e=>_e(e.target.value),placeholder:`e.g. My Anthropic Key`,fullWidth:!0})]}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Key`}),(0,$.jsx)(M,{value:p,onChange:e=>{ve(e.target.value),A(null)},placeholder:`e.g. anthropic-personal`,disabled:c!==`create`,fullWidth:!0}),Z&&(0,$.jsx)(E,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:Z})]}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(D,{"aria-label":`Provider`,value:h,onChange:e=>{let t=e;g(t),c===`create`&&(t===`ollama`?(v(`none`),b(``)):(v(e=>e===`none`||e===`oauth_subscription`&&t!==`openai`||e===`platform`&&!Y(t)?`api_key`:e),b(`credential/${t}/api_key`)),z(!1))},disabled:c!==`create`,options:j.map(e=>({value:e,label:$e[e]}))})]}),te&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Base URL`}),(0,$.jsx)(M,{value:x,onChange:e=>S(e.target.value),placeholder:`https://api.example.com/v1`,disabled:u,fullWidth:!0})]}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Models`}),(0,$.jsx)(M,{value:C,onChange:e=>w(e.target.value),placeholder:`model-1, model-2`,disabled:u,fullWidth:!0}),(0,$.jsx)(E,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Comma-separated model identifiers exposed by your endpoint.`})]})]}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Auth Type`}),(0,$.jsx)(D,{"aria-label":`Auth type`,value:_,onChange:e=>{v(e),A(null)},disabled:u||h===`ollama`,options:(()=>{let e;return e=h===`ollama`?[`none`]:Y(h)?[`api_key`,`platform`]:[`api_key`],a&&h===`openai`&&c===`create`&&e.push(`oauth_subscription`),_&&!e.includes(_)&&e.push(_),e.map(e=>({value:e,label:vt[e]}))})()})]}),_===`api_key`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`API Key`}),re?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 h-8`,children:[(0,$.jsx)(B,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,$.jsx)(E,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:`Loading…`})]}):(0,$.jsx)(M,{type:`password`,value:F,onChange:e=>{I(e.target.value),A(null)},placeholder:we,disabled:u,fullWidth:!0})]}),Ce&&(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`button`,{type:`button`,"aria-expanded":L,onClick:()=>ne(e=>!e),className:`flex items-center gap-1 text-body-small-default text-[var(--content-secondary)] w-full text-left`,children:[(0,$.jsx)(ie,{className:`h-4 w-4 transition-transform ${L?`rotate-90`:``}`}),(0,$.jsx)(`span`,{children:`Advanced`}),(0,$.jsx)(`span`,{className:`text-[var(--content-tertiary)] ml-1`,children:`· Credential reference`})]}),L&&(0,$.jsxs)(`div`,{className:`mt-2 space-y-3`,children:[(()=>{let e=xe.map(e=>{let t=`credential/${e.service}/${e.field}`;return{label:t,value:t}}),t=e.some(e=>e.value===y),n=y&&!t?[{label:y,value:y},...e]:e;return n.length===0?null:(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Credential Reference`}),(0,$.jsx)(D,{"aria-label":`Credential reference`,value:y,onChange:e=>{b(e),ge(e)},disabled:u,options:n})]})})(),W&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`New Credential Name`}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(M,{value:oe,onChange:e=>se(e.target.value),placeholder:`e.g. team-key`,disabled:u,fullWidth:!0}),(0,$.jsx)(T,{variant:`primary`,size:`compact`,disabled:u||!oe.trim(),onClick:()=>{let e=oe.trim();if(!e)return;let t=`credential/${h}/${e}`;b(t),ae(!1),se(``),ge(t)},children:`Use`})]})]}),(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsx)(T,{variant:`ghost`,size:`compact`,disabled:u,onClick:()=>{W?(ae(!1),se(``)):ae(!0)},children:W?`Cancel`:`+ New Credential`})})]})]})]}),_===`oauth_subscription`&&(0,$.jsxs)(`div`,{className:`space-y-3 rounded-lg border border-[var(--border-default)] p-4`,children:[(0,$.jsx)(E,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Connect your ChatGPT subscription to use OpenAI models without an API key.`}),G===`idle`||G===`paste_url`?(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(E,{variant:`body-small-default`,as:`p`,className:G===`paste_url`?`text-[var(--content-tertiary)] line-through`:`text-[var(--content-secondary)]`,children:[`1. Click “Sign in with ChatGPT”`,G===`idle`?` below`:null,` to open a popup`]}),(0,$.jsx)(E,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-secondary)]`,children:`2. Sign in, then you'll land on an error page — that's expected`}),(0,$.jsx)(E,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-secondary)]`,children:`3. Copy the full URL from that page's address bar and paste it below`})]}),G===`idle`?(0,$.jsx)(T,{variant:`outlined`,size:`compact`,onClick:()=>void me(),children:`Sign in with ChatGPT`}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(M,{value:ue,onChange:e=>{de(e.target.value),J(null)},placeholder:`Paste callback URL here...`,fullWidth:!0}),(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsx)(T,{variant:`primary`,size:`compact`,disabled:!ue.trim(),onClick:()=>void he(),children:`Complete Sign In`})})]})]}):null,G===`starting`?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(B,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,$.jsx)(E,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:`Starting sign-in...`})]}):null,G===`exchanging`?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(B,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,$.jsx)(E,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:`Completing sign-in...`})]}):null,G===`completed`?(0,$.jsx)(E,{variant:`body-small-default`,as:`p`,className:`text-[var(--system-positive-strong)]`,children:`ChatGPT subscription connected successfully.`}):null,fe?(0,$.jsx)(E,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:fe}):null,G===`failed`?(0,$.jsx)(T,{variant:`outlined`,size:`compact`,onClick:()=>{K(`idle`),de(``),J(null)},children:`Try Again`}):null]}),k&&(0,$.jsx)(E,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:k})]}),(0,$.jsxs)(P.Footer,{children:[(0,$.jsx)(T,{variant:`ghost`,size:`compact`,onClick:s,children:`Cancel`}),c===`managed-edit`&&(0,$.jsx)(T,{variant:`outlined`,size:`compact`,onClick:ye,disabled:O||ce,children:`Save as New`}),(0,$.jsx)(T,{variant:`primary`,size:`compact`,disabled:!Q||O||ce,onClick:()=>void be(),children:O?`Saving…`:c===`create`?`Create`:`Save`})]})]})}function bt(e){switch(e.type){case`api_key`:return`API key · ${e.credential}`;case`oauth_subscription`:return`ChatGPT Subscription`;case`platform`:return`Managed proxy`;case`none`:return`None (local)`;default:return e.type}}function xt(e,t){return t?e:e.filter(e=>e.provider!==`openai-compatible`)}function St({isOpen:e,assistantId:t,onClose:n}){let r=le.use.openAICompatibleEndpoints(),i=le.use.chatgptSubscriptionAuth(),[a,o]=(0,q.useState)([]),[s,c]=(0,q.useState)(!0),[l,u]=(0,q.useState)(null),[d,f]=(0,q.useState)(!1),[p,m]=(0,q.useState)(null),h=(0,q.useRef)(0),g=(0,q.useCallback)(()=>{let e=++h.current;c(!0),u(null),nt(t).then(t=>{h.current===e&&(o(xt(t,r)),c(!1))}).catch(()=>{h.current===e&&(u(`Failed to load connections. Please try again.`),c(!1))})},[t,r]);(0,q.useEffect)(()=>{e&&g()},[e,g]);function _(e){h.current++,o(t=>{if(e.provider===`openai-compatible`&&!r)return t;let n=t.findIndex(t=>t.name===e.name);if(n>=0){let r=[...t];return r[n]=e,r}return[...t,e]}),f(!1),m(null)}let v=a.map(e=>e.name),y=()=>{f(!1),m(null)};return(0,$.jsx)(P.Root,{open:e,onOpenChange:e=>{e||(d?y():n())},children:e?d?(0,$.jsx)(yt,{mode:p?p.isManaged?`managed-edit`:`edit`:`create`,connection:p??void 0,assistantId:t,existingNames:v,openAICompatibleEndpointsEnabled:r,chatgptSubscriptionEnabled:i,onSave:_,onCancel:y}):(0,$.jsx)(Ct,{connections:a,loading:s,loadError:l,assistantId:t,onClose:n,onEditClick:e=>{m(e),f(!0)},onNewClick:()=>{m(null),f(!0)},onConnectionDeleted:e=>{o(t=>t.filter(t=>t.name!==e))}}):null})}function Ct({connections:e,loading:t,loadError:n,assistantId:r,onClose:i,onEditClick:a,onNewClick:o,onConnectionDeleted:s}){let[c,l]=(0,q.useState)({}),[u,d]=(0,q.useState)({});async function f(e){d(t=>({...t,[e]:!0})),l(t=>{let n={...t};return delete n[e],n});try{await at(r,e),s(e)}catch(t){let n=t?.status;n===409?l(t=>({...t,[e]:`Connection is in use by one or more profiles. Remove those references first.`})):n===404?s(e):l(t=>({...t,[e]:`Failed to delete connection. Please try again.`}))}finally{d(t=>{let n={...t};return delete n[e],n})}}return(0,$.jsxs)(P.Content,{size:`md`,children:[(0,$.jsxs)(P.Header,{children:[(0,$.jsx)(P.Title,{children:`Provider Connections`}),(0,$.jsx)(P.Description,{children:`Manage inference provider connections. Each connection binds a name to a provider and auth configuration.`})]}),(0,$.jsx)(P.Body,{children:t?(0,$.jsx)(`div`,{className:`space-y-2 py-2`,children:[1,2,3].map(e=>(0,$.jsx)(`div`,{className:`h-10 animate-pulse rounded-lg bg-[var(--surface-active)]`},e))}):n?(0,$.jsx)(E,{variant:`body-medium-default`,as:`p`,className:`py-4 text-center text-(--system-negative-strong)`,children:n}):e.length===0?(0,$.jsx)(E,{variant:`body-medium-lighter`,as:`p`,className:`py-4 text-center text-(--content-tertiary)`,children:`No connections yet. Create one to get started.`}):(0,$.jsx)(`div`,{className:`space-y-1`,children:e.map(e=>{let t=u[e.name]??!1,n=c[e.name],r=e.isManaged??!1;return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg px-2 py-2`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(E,{variant:`body-medium-default`,as:`span`,className:`text-(--content-default)`,children:e.label??e.name}),r&&(0,$.jsx)(te,{tone:`positive`,title:`Managed by Platform — auth is locked, but you can rename this connection.`,children:`Platform`})]}),(0,$.jsxs)(E,{variant:`body-medium-lighter`,as:`p`,className:`mt-0.5 text-(--content-tertiary)`,children:[e.label?`${e.name} · `:``,$e[e.provider]??e.provider,` · `,bt(e.auth)]})]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,$.jsx)(T,{variant:`ghost`,size:`compact`,onClick:()=>a(e),children:`Edit`}),(0,$.jsx)(T,{variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(W,{}),"aria-label":`Delete ${e.name}`,disabled:r||t,title:r?`Managed connections cannot be deleted`:void 0,onClick:()=>void f(e.name),tintColor:`var(--system-negative-strong)`})]})]}),n?(0,$.jsx)(E,{variant:`body-small-default`,as:`p`,className:`px-2 pb-1 text-(--system-negative-strong)`,children:n}):null]},e.name)})})}),(0,$.jsxs)(P.Footer,{className:`justify-between`,children:[(0,$.jsx)(T,{variant:`outlined`,size:`compact`,onClick:o,children:`+ New Connection`}),(0,$.jsx)(T,{variant:`outlined`,size:`compact`,onClick:i,children:`Done`})]})]})}var wt=[`gemini-3.1-flash-image-preview`,`gemini-3-pro-image-preview`],Tt={"gemini-3.1-flash-image-preview":`Nano Banana 2`,"gemini-3-pro-image-preview":`Nano Banana Pro`},Et=[`anthropic`,`openai`,`fireworks`,`openrouter`,`gemini`],Dt=J,Ot=[{id:`elevenlabs`,displayName:`ElevenLabs`,subtitle:`High-quality voice synthesis for conversations and read-aloud. Requires an ElevenLabs API key.`,supportsVoiceSelection:!0,apiKeyPlaceholder:`sk_…`,credentialsGuide:{description:`Sign in to ElevenLabs, go to your Profile, and copy your API key.`,url:`https://elevenlabs.io/app/settings/api-keys`,linkLabel:`Open ElevenLabs API Keys`}},{id:`fish-audio`,displayName:`Fish Audio`,subtitle:`Natural-sounding voice synthesis with custom voice cloning. Requires a Fish Audio API key and voice reference ID.`,supportsVoiceSelection:!0,apiKeyPlaceholder:`Enter your Fish Audio API key`,credentialsGuide:{description:`Sign in to Fish Audio, navigate to API Keys in your dashboard, and create a new key.`,url:`https://fish.audio/app/api-keys/`,linkLabel:`Open Fish Audio API Keys`}},{id:`deepgram`,displayName:`Deepgram`,subtitle:`Fast, accurate text-to-speech synthesis. Uses the same API key as Deepgram speech-to-text.`,supportsVoiceSelection:!1,apiKeyPlaceholder:`Enter your Deepgram API key`,credentialsGuide:{description:`Sign in to Deepgram, navigate to your API Keys page, and create or copy an existing key. This is the same key used for speech-to-text.`,url:`https://console.deepgram.com/`,linkLabel:`Open Deepgram Console`}},{id:`xai`,displayName:`xAI`,subtitle:`Text-to-speech from xAI with expressive voices (eve, ara, rex, sal, leo). Requires an xAI API key.`,supportsVoiceSelection:!1,apiKeyPlaceholder:`Enter your xAI API key`,credentialsGuide:{description:`Sign in to the xAI console, navigate to API Keys, and create a new key.`,url:`https://console.x.ai/`,linkLabel:`Open xAI Console`}}],kt=[{id:`deepgram`,displayName:`Deepgram`,subtitle:`Fast, accurate speech-to-text transcription. Uses the same API key as Deepgram text-to-speech.`,apiKeyPlaceholder:`Enter your Deepgram API key`,credentialsGuide:{description:`Sign in to Deepgram, navigate to your API Keys page, and create or copy an existing key. This is the same key used for text-to-speech.`,url:`https://console.deepgram.com/`,linkLabel:`Open Deepgram Console`}},{id:`openai`,displayName:`OpenAI`,subtitle:`OpenAI Whisper transcription. Requires an OpenAI API key.`,apiKeyPlaceholder:`sk-…`,credentialsGuide:{description:`Sign in to the OpenAI platform, navigate to API Keys, and create a new secret key.`,url:`https://platform.openai.com/api-keys`,linkLabel:`Open OpenAI API Keys`}}];function At(e){if(e?.success===!1)throw Error(`Failed to provision API key: server returned success=false`)}function jt(e){let t=e.services??{},n=e.llm??{},r={},i=n.default?.provider;i&&(r.inferenceProvider=i);let a=n.default?.model;a&&(r.selectedModel=a),n.activeProfile!==void 0&&(r.activeProfile=n.activeProfile??null),n.profiles&&(r.profiles=n.profiles),n.profileOrder!==void 0&&(r.profileOrder=n.profileOrder);let o=t[`web-search`]?.mode;(o===`managed`||o===`your-own`)&&(r.webSearchMode=o);let s=t[`web-search`]?.provider;s&&(r.webSearchProvider=s);let c=t[`image-generation`]?.mode;return(c===`managed`||c===`your-own`)&&(r.imageGenMode=c),r}var Mt=`vellum:ai:imageGenMode`,Nt=`vellum:ai:imageGenModel`,Pt=`vellum:ai:webSearchMode`,Ft=`vellum:ai:webSearchProvider`,It=`vellum:ai:emailMode`,Lt=`vellum:ai:emailByoProvider`,Rt=`vellum:voice:ttsProvider`,zt=`vellum:voice:ttsApiKey:`,Bt=`vellum:voice:ttsVoiceId:`,Vt=`vellum:voice:sttProvider`,Ht=`vellum:voice:sttApiKey:`,Ut=`vellum:ai:geminiKey`;function Wt(e){return ve[e]??``}function Gt(e,t){return e.toLocaleString(`en-US`,{maximumFractionDigits:t,minimumFractionDigits:0})}function Kt(e){let t=Array.isArray(e)?e[0]??0:e,n=Math.round(t);return Math.abs(n)>=1e6?`${Gt(n/1e6,2)}M`:Math.abs(n)>=1e3?`${Gt(n/1e3,1)}K`:n.toLocaleString(`en-US`)}function qt({mode:e,onChange:t}){return(0,$.jsx)(`div`,{className:`max-w-[280px]`,children:(0,$.jsx)(k,{ariaLabel:`Service mode`,value:e,onChange:t,items:[{value:`managed`,label:`Managed`},{value:`your-own`,label:`Your Own`}]})})}function Jt({id:e,title:t,subtitle:n,mode:r,onModeChange:i,children:a}){return(0,$.jsxs)(G,{id:e,title:t,subtitle:n,accessory:(0,$.jsx)(qt,{mode:r,onChange:i}),children:[(0,$.jsx)(`div`,{className:`h-px bg-[var(--surface-active)]`}),(0,$.jsx)(`div`,{className:`mt-4`,children:a})]})}function Yt({onClick:e,disabled:t}){return(0,$.jsx)(T,{onClick:e,disabled:t,children:`Save`})}function Xt({onClick:e,filled:t=!1}){return(0,$.jsx)(T,{variant:t?`danger`:`dangerGhost`,onClick:e,children:`Reset`})}function Zt({title:e,subtitle:t,children:n}){return(0,$.jsxs)(G,{title:e,subtitle:t,children:[(0,$.jsx)(`div`,{className:`h-px bg-[var(--surface-active)]`}),(0,$.jsx)(`div`,{className:`mt-4`,children:n})]})}function Qt({guide:e}){return(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(oe,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{children:e.description}),(0,$.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[e.linkLabel,(0,$.jsx)(z,{className:`h-3 w-3`})]})]})]})}function $t(){let e=Ot[0]?.id??`elevenlabs`,[t,i]=(0,q.useState)(()=>n(Rt,e)),[a,o]=(0,q.useState)(t),[s,l]=(0,q.useState)(``),[u,d]=(0,q.useState)(``),[f,p]=(0,q.useState)(``),[m,h]=(0,q.useState)(!1),[g,_]=(0,q.useState)(!1),[v,y]=(0,q.useState)(!1),{data:b}=c(C()),x=b?.results?.[0]?.name??`your assistant`,S=(0,q.useMemo)(()=>Ot.find(e=>e.id===t)??Ot[0],[t]),w=(0,q.useCallback)(e=>{let t=n(zt+e,``),r=n(Bt+e,``);h(t.length>0),d(r),p(r),l(``)},[]);(0,q.useEffect)(()=>{w(t)},[t,w]);let E=(0,q.useMemo)(()=>{let e=t!==a,n=s.trim().length>0,r=u.trim()!==f;return e||n||r},[t,a,s,u,f]),O=(0,q.useCallback)(()=>{_(!0);try{r(Rt,t);let e=s.trim();e.length>0&&(r(zt+t,e),h(!0));let n=u.trim();r(Bt+t,n),o(t),p(n),l(``)}finally{_(!1)}},[t,s,u]),ee=(0,q.useCallback)(()=>{r(zt+t,``),h(!1),l(``)},[t]),k=(0,q.useCallback)(async()=>{y(!0);try{let e=n(zt+t,``),r=s.trim(),i=r.length>0?r:e;if(i.length===0){F.error(`Save an API key for this provider before testing.`);return}let a=n(Bt+t,``),o=u.trim(),c=await Z({provider:t,apiKey:i,voiceId:o.length>0?o:a,text:`Hey! It's ${x}. How does this sound?`});if(c.kind!==`audio`){F.error(c.message);return}let l=URL.createObjectURL(c.blob);try{let e=new Audio(l);await e.play(),await new Promise(t=>{e.onended=()=>t(),e.onerror=()=>t()})}finally{URL.revokeObjectURL(l)}}finally{y(!1)}},[x,s,t,u]),A=m?`•••••••• (Enter a new key to replace)`:S.apiKeyPlaceholder;return(0,$.jsx)(Zt,{title:`Text-to-Speech`,subtitle:S.subtitle,children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-quiet)]`,children:`Provider`}),(0,$.jsx)(D,{value:t,onChange:i,options:Ot.map(e=>({value:e.id,label:e.displayName})),"aria-label":`TTS provider`})]}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-quiet)]`,children:`API Key`}),(0,$.jsx)(M,{type:`password`,value:s,onChange:e=>l(e.target.value),placeholder:A,fullWidth:!0})]}),S.supportsVoiceSelection&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-quiet)]`,children:`Voice ID`}),(0,$.jsx)(M,{type:`text`,value:u,onChange:e=>d(e.target.value),placeholder:`Enter a voice ID`,fullWidth:!0})]}),(0,$.jsx)(Qt,{guide:S.credentialsGuide}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(T,{variant:`outlined`,onClick:k,disabled:v,children:v?`Testing…`:`Test`}),(0,$.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,$.jsx)(Yt,{onClick:O,disabled:!E||g}),g&&(0,$.jsx)(B,{className:`h-4 w-4 animate-spin text-stone-400`}),m&&(0,$.jsx)(Xt,{onClick:ee})]})]})]})})}function en(){let e=kt[0]?.id??`deepgram`,[t,i]=(0,q.useState)(()=>n(Vt,e)),[a,o]=(0,q.useState)(t),[s,c]=(0,q.useState)(``),[l,u]=(0,q.useState)(!1),[d,f]=(0,q.useState)(!1),p=(0,q.useMemo)(()=>kt.find(e=>e.id===t)??kt[0],[t]);(0,q.useEffect)(()=>{u(n(Ht+t,``).length>0),c(``)},[t]);let m=(0,q.useMemo)(()=>{let e=t!==a,n=s.trim().length>0;return e||n},[t,a,s]),h=(0,q.useCallback)(()=>{f(!0);try{r(Vt,t);let e=s.trim();e.length>0&&(r(Ht+t,e),u(!0)),o(t),c(``)}finally{f(!1)}},[t,s]),g=(0,q.useCallback)(()=>{r(Ht+t,``),u(!1),c(``)},[t]),_=l?`•••••••• (Enter a new key to replace)`:p.apiKeyPlaceholder;return(0,$.jsx)(Zt,{title:`Speech-to-Text`,subtitle:p.subtitle,children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-quiet)]`,children:`Provider`}),(0,$.jsx)(D,{value:t,onChange:i,options:kt.map(e=>({value:e.id,label:e.displayName})),"aria-label":`STT provider`})]}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-quiet)]`,children:`API Key`}),(0,$.jsx)(M,{type:`password`,value:s,onChange:e=>c(e.target.value),placeholder:_,fullWidth:!0})]}),(0,$.jsx)(Qt,{guide:p.credentialsGuide}),(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,$.jsx)(Yt,{onClick:h,disabled:!m||d}),d&&(0,$.jsx)(B,{className:`h-4 w-4 animate-spin text-stone-400`}),l&&(0,$.jsx)(Xt,{onClick:g})]})]})})}var tn=[{id:`mailgun`,displayName:`Mailgun`,setupSkill:`mailgun-setup`,docsUrl:`https://www.mailgun.com/`},{id:`resend`,displayName:`Resend`,setupSkill:`resend-setup`,docsUrl:`https://resend.com/`}];function nn({status:e,message:t,isLoading:n}){return n?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2.5 py-0.5 text-body-small-default text-[var(--content-quiet)]`,children:[(0,$.jsx)(B,{className:`h-3 w-3 animate-spin`}),`Checking domain…`]}):e?e===`verified`?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-positive-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-positive-strong)]`,title:`DNS records have been verified. Your domain is ready to send and receive email.`,children:[(0,$.jsx)(se,{className:`h-3 w-3`}),`Domain verified`]}):e===`pending`||e===`not_started`?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-mid-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-mid-strong)]`,title:`DNS records have been provisioned. Waiting for the email provider to verify them — this usually takes a few minutes.`,children:[(0,$.jsx)(H,{className:`h-3 w-3`}),`Verifying domain…`]}):(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-negative-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-negative-strong)]`,title:`Domain verification failed. DNS records may not have propagated correctly. You could try releasing and re-registering the domain.`,children:[(0,$.jsx)(U,{className:`h-3 w-3`}),`Verification failed`]}):(0,$.jsx)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2.5 py-0.5 text-body-small-default text-[var(--content-quiet)]`,title:`Unable to retrieve domain verification status.`,children:`Unknown status`})}function rn({assistantId:e,assistantHandle:t}){let i=s(),o=ae(),[u,C]=ce(),E=re.use.emailRootDomain(),[O,k]=(0,q.useState)(()=>n(It,`managed`)),[te,j]=(0,q.useState)(()=>n(Lt,`resend`)),[M,N]=(0,q.useState)(``),[P,I]=(0,q.useState)(!1),[L,V]=(0,q.useState)(null),[H,U]=(0,q.useState)(``),[ie,se]=(0,q.useState)(null),[le,G]=(0,q.useState)(!1),[K,ue]=(0,q.useState)(!1),[de,fe]=(0,q.useState)(!1),[J,pe]=(0,q.useState)(!1);(0,q.useEffect)(()=>{P||!t||M||(N(t),I(!0))},[t,P,M]);let me=c({...d(),enabled:O===`managed`}),he=me.data,Y=he?.entitlements,ge=Y?.managed_email===!0,X=!!Y&&!ge,_e=!he&&me.isError&&!me.isFetching,ve=c({...f({path:{assistant_id:e??``}}),enabled:!!e&&O===`managed`&&!X}),ye=c({...b({path:{assistant_id:e??``}}),enabled:!!e&&O===`managed`&&!X}),Z=ve.data?.results?.[0],Q=ye.data?.results?.[0],be=Z?`${Z.subdomain}.${E}`:null,xe=c({...g({path:{assistant_id:e??``,id:Q?.id??``}}),enabled:!!e&&!!Q?.id&&O===`managed`,refetchOnWindowFocus:!1}),Se=c({...S({path:{assistant_id:e??``,id:Z?.id??``}}),enabled:!!e&&!!Z?.id&&O===`managed`,refetchInterval:e=>{let t=e.state.data?.status;return t===`verified`||t===`failed`?!1:1e4},refetchOnWindowFocus:!0});(0,q.useEffect)(()=>{u.get(`release`)!==`1`||!Z||Q||(fe(!0),C(e=>{let t=new URLSearchParams(e);return t.delete(`release`),t},{replace:!0}))},[Q,Z,u,C]);let Ce=l(y()),we=l(x()),Te=l(p()),Ee=l(m()),De=(0,q.useCallback)(()=>{if(!e)return;let t={assistant_id:e};i.invalidateQueries({queryKey:_({path:t})}),i.invalidateQueries({queryKey:v({path:t})}),Q?.id&&i.invalidateQueries({queryKey:h({path:{...t,id:Q.id}})}),i.invalidateQueries({queryKey:w()})},[Q?.id,e,i]),Oe=(0,q.useCallback)(async()=>{if(!e)return;let t=M.trim().toLowerCase();if(!t){V(`Enter a subdomain.`);return}ue(!1);try{await Ce.mutateAsync({path:{assistant_id:e},body:{subdomain:t}}),N(``),V(null),De(),F.success(`Domain ${t}.${E} registered.`)}catch(e){let t=e;V((t&&typeof t.detail==`string`?t.detail:null)??(e instanceof Error&&e.message?e.message:`Failed to register domain.`))}},[e,E,De,Ce,M]),ke=(0,q.useCallback)(async()=>{if(!e)return;let t=H.trim().toLowerCase();if(!t){se(`Enter an email username.`);return}try{await Te.mutateAsync({path:{assistant_id:e},body:{username:t}}),U(``),se(null),De(),F.success(`Email address created.`)}catch(e){let t=e;se((t&&typeof t.detail==`string`?t.detail:null)??(e instanceof Error&&e.message?e.message:`Failed to create email address.`))}},[e,De,Te,H]),Ae=(0,q.useCallback)(async()=>{if(!(!e||!Q?.id)){pe(!1);try{await Ee.mutateAsync({path:{assistant_id:e,id:Q.id}}),De(),F.success(`Email address removed.`)}catch{F.error(`Failed to remove email address.`)}}},[Q?.id,e,Ee,De]),je=(0,q.useCallback)(async()=>{if(!e||!Z?.id)return;if(Q){F.error(`Remove the email address first.`);return}fe(!1);let t=Z.subdomain;try{await we.mutateAsync({path:{assistant_id:e,id:Z.id}}),N(t),De(),F.success(`Domain released.`)}catch{F.error(`Failed to release domain.`)}},[Q,e,we,Z?.id,Z?.subdomain,De]),Me=(0,q.useCallback)(e=>{k(e),r(It,e)},[]),Ne=(0,q.useCallback)(async()=>{G(!0);try{O===`your-own`&&r(Lt,te),F.success(`Email settings saved.`)}finally{G(!1)}},[te,O]),Pe=(0,q.useMemo)(()=>tn.find(e=>e.id===te)??tn[0],[te]);return(0,$.jsx)(Jt,{id:`email`,title:`Email`,subtitle:`Configure how your assistant sends and receives email`,mode:O,onModeChange:Me,children:O===`managed`?(0,$.jsxs)(`div`,{className:`space-y-4`,children:[_e&&(0,$.jsx)(A,{tone:`warning`,title:`Couldn't verify subscription status`,actions:(0,$.jsx)(T,{size:`compact`,variant:`outlined`,onClick:()=>me.refetch(),children:`Retry`}),children:`We couldn't reach the billing service. The form below assumes managed email is enabled for your org — if it isn't, registering a domain will fail.`}),me.isLoading?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(B,{className:`h-4 w-4 animate-spin`}),`Checking subscription…`]}):X?(0,$.jsxs)(A,{tone:`info`,icon:(0,$.jsx)(ne,{className:`h-4 w-4`,"aria-hidden":!0}),title:`Get a dedicated email address for your assistant`,actions:(0,$.jsx)(T,{size:`compact`,onClick:()=>o(`${a.settings.billing}?adjust_plan`),children:`Upgrade to Pro`}),children:[`Pro plans include a managed`,` `,`<your-subdomain>.${E}`,` inbox — no provider setup required. Or switch to `,(0,$.jsx)(`strong`,{children:`Your Own`}),` to bring an existing provider.`]}):e?Z?Q?(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-quiet)]`,children:`Address`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`font-mono text-body-small-default text-[var(--content-default)]`,children:Q.address}),(0,$.jsx)(nn,{status:Se.data?.status,message:Se.data?.message,isLoading:Se.isLoading}),(0,$.jsx)(T,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,$.jsx)(W,{}),onClick:()=>pe(!0),disabled:Ee.isPending,"aria-label":`Remove email address`})]}),(0,$.jsx)(ee,{open:J,title:`Remove Email Address`,message:(0,$.jsxs)($.Fragment,{children:[`Are you sure you want to remove `,(0,$.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 font-mono text-[0.9em]`,children:Q.address}),`? Your assistant will no longer be able to send or receive email at this address.`]}),confirmLabel:`Remove`,destructive:!0,onConfirm:Ae,onCancel:()=>pe(!1)})]}),xe.data?.usage&&(0,$.jsxs)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[xe.data.usage.sent_today,` /`,` `,xe.data.usage.daily_limit,` sent today ·`,` `,xe.data.usage.received_today,` received`]})]}):(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-quiet)]`,children:`Domain`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`span`,{className:`font-mono text-body-small-default text-[var(--content-default)]`,children:[Z.subdomain,`.`,E]}),(0,$.jsx)(nn,{status:Se.data?.status,message:Se.data?.message,isLoading:Se.isLoading}),(0,$.jsx)(T,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,$.jsx)(W,{}),onClick:()=>fe(!0),disabled:we.isPending,"aria-label":`Release domain`})]}),(0,$.jsx)(ee,{open:de,title:`Release Domain`,message:(0,$.jsxs)($.Fragment,{children:[`Are you sure you want to release `,(0,$.jsxs)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 font-mono text-[0.9em]`,children:[Z.subdomain,`.`,E]}),`? The subdomain will become available for others to claim.`]}),confirmLabel:`Release`,destructive:!0,onConfirm:je,onCancel:()=>fe(!1)})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-quiet)]`,children:`Email address`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex h-9 min-w-0 flex-1 items-center rounded-md border bg-[var(--field-bg)] text-body-medium-lighter transition-[border-color] duration-150 ${ie?`border-[var(--system-negative-strong)]`:`border-[var(--field-border)] focus-within:border-[var(--border-active)]`}`,children:[(0,$.jsx)(`input`,{value:H,onChange:e=>{U(e.target.value.toLowerCase()),ie&&se(null)},placeholder:`hi`,"aria-label":`Email username`,"aria-invalid":!!ie,className:`h-full min-w-0 flex-1 bg-transparent pl-3 pr-1 text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none`}),(0,$.jsxs)(`span`,{className:`shrink-0 pr-3 font-mono text-[var(--content-secondary)]`,children:[`@`,be]})]}),(0,$.jsx)(T,{onClick:ke,disabled:Te.isPending||!H.trim(),children:Te.isPending?`Creating…`:`Create`})]}),ie&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:ie})]})]}):(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-quiet)]`,children:`Subdomain`}),(0,$.jsx)(R,{subdomain:M,onSubdomainChange:e=>{N(e),L&&V(null)},domainSuffix:E,subdomainPlaceholder:`my-assistant`,error:L}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Each assistant gets its own subdomain. Lowercase letters, numbers, and hyphens only.`}),(0,$.jsx)(T,{onClick:()=>ue(!0),disabled:Ce.isPending||!M.trim(),children:Ce.isPending?`Registering…`:`Register`}),(0,$.jsx)(ee,{open:K,title:`Set Subdomain`,message:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 font-mono text-[0.9em]`,children:M.trim().toLowerCase()||`subdomain`}),` will also become your assistant's public handle. You won't be able to change it once set.`]}),confirmLabel:`Confirm`,onConfirm:Oe,onCancel:()=>ue(!1)})]}):(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No assistant found yet.`})]}):(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(D,{value:te,onChange:e=>j(e),options:tn.map(e=>({value:e.id,label:e.displayName}))})]}),(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(oe,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsxs)(`span`,{children:[`Configure `,Pe.displayName,` via the assistant CLI: ask the assistant to run the`,` `,(0,$.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 text-[12px]`,children:Pe.setupSkill}),` `,`skill. It walks you through storing the API key, detecting the domain, and (optionally) wiring up an inbound webhook.`]}),(0,$.jsxs)(`a`,{href:Pe.docsUrl,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[`Open `,Pe.displayName,(0,$.jsx)(z,{className:`h-3 w-3`})]})]})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Yt,{onClick:Ne,disabled:le}),le&&(0,$.jsx)(B,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`})]})]})})}function an(){let[e,i]=(0,q.useState)(!1),[a,u]=(0,q.useState)(!1),[d,f]=(0,q.useState)(null),[p,m]=(0,q.useState)(null),[h,g]=(0,q.useState)(!1),[_,v]=(0,q.useState)({}),[y,b]=(0,q.useState)([]),[x,S]=(0,q.useState)(!1),[w,O]=(0,q.useState)(!1),[ee,k]=(0,q.useState)(!1);(0,q.useEffect)(()=>{let e=window.location.hash.slice(1);e&&requestAnimationFrame(()=>{document.getElementById(e)?.scrollIntoView({block:`start`})})},[]);let A=s(),{data:te}=c(C()),j=te?.results?.[0]?.id,{data:N}=c({queryKey:I(j),queryFn:async()=>{let{data:e}=await o.get({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:j},throwOnError:!0});return e},enabled:!!j,staleTime:3e4,refetchOnWindowFocus:!1}),P=l({mutationFn:async e=>{let{data:t}=await o.post({url:`/v1/assistants/{assistant_id}/secrets/`,path:{assistant_id:e.assistantId},body:e.body,throwOnError:!0});return t}}),L=l({mutationFn:async e=>{let{data:t}=await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:e.assistantId},body:e.partial,throwOnError:!0});return t}}),ne=l({mutationFn:async e=>{let{data:t}=await o.put({url:`/v1/assistants/{assistant_id}/model/image-gen`,path:{assistant_id:e.assistantId},body:{modelId:e.modelId},throwOnError:!0});return t}}),R=(0,q.useCallback)(async()=>j||((await A.fetchQuery(C())).results?.[0]?.id??null),[j,A]),re=(0,q.useCallback)(async(e,t)=>{try{let n=await R();if(!n)throw F.error(`No assistant found. Please hatch an assistant first.`),Error(`No assistant found`);At(await P.mutateAsync({assistantId:n,body:{value:t,type:`api_key`,name:e}}))}catch(t){throw t instanceof Error&&t.message===`No assistant found`||F.error(`Failed to save ${e} API key. Please try again.`),K(t,{context:`provision_provider_key`,userMessage:`Failed to provision ${e} API key`}),t}},[P,R]),V=(0,q.useCallback)(async e=>{let t=await R();if(!t)throw F.error(`No assistant found. Please hatch an assistant first.`),Error(`No assistant found`);try{await L.mutateAsync({assistantId:t,partial:e})}catch(e){throw F.error(`Failed to update assistant configuration. Please try again.`),K(e,{context:`patch_daemon_config`,userMessage:`Failed to patch daemon config`}),e}},[L,R]),H=(0,q.useCallback)(async e=>{let t=await R();if(!t)throw F.error(`No assistant found. Please hatch an assistant first.`),Error(`No assistant found`);try{await ne.mutateAsync({assistantId:t,modelId:e})}catch(t){throw F.error(`Failed to update image generation model. Please try again.`),K(t,{context:`set_image_gen_model`,userMessage:`Failed to set image gen model ${e}`}),t}},[ne,R]),[U,ie]=(0,q.useState)(()=>n(Pt,`your-own`)),[W,ae]=(0,q.useState)(()=>n(Ft,`inference-provider-native`)),[se,ce]=(0,q.useState)(U),[G,ue]=(0,q.useState)(W),[de,fe]=(0,q.useState)(``),[J,pe]=(0,q.useState)(!1),[me,he]=(0,q.useState)(0),Y=(0,q.useRef)({assistantId:null,provider:null}),[ve,Z]=(0,q.useState)(()=>n(Mt,`your-own`)),[Q,be]=(0,q.useState)(()=>n(Nt,`gemini-3.1-flash-image-preview`)),[xe,Se]=(0,q.useState)(``),we=ye.has(W),De=de.trim().length>0,Oe=e||U===`your-own`&&we&&!J&&!De||!(U!==se||(U===`managed`?`inference-provider-native`:W)!==G)&&!De,ke=gt(_e[W]??`Enter your API key`,J),je=(0,q.useMemo)(()=>{let e=y.filter(e=>e in _).map(e=>({name:e,..._[e]})),t=new Set(y),n=Object.entries(_).filter(([e])=>!t.has(e)).map(([e,t])=>({name:e,...t}));return[...e,...n]},[_,y]),Me=le.use.queryComplexityRouting(),Ne=(0,q.useMemo)(()=>Ce(Te(je,[d]),Me),[je,d,Me]),Pe=(0,q.useRef)(!1);(0,q.useEffect)(()=>{if(!N||Pe.current)return;Pe.current=!0;let e=jt(N);if(e.activeProfile!==void 0){let t=e.activeProfile??null;f(t),m(t)}e.profiles&&v(e.profiles),e.profileOrder!==void 0&&b(e.profileOrder),e.webSearchMode&&(ie(e.webSearchMode),ce(e.webSearchMode)),e.webSearchProvider&&(ae(e.webSearchProvider),ue(e.webSearchProvider)),e.imageGenMode&&Z(e.imageGenMode)},[N]),(0,q.useEffect)(()=>{let e=!1,t=Y.current,n={assistantId:j??null,provider:W},r=t.assistantId!==n.assistantId||t.provider!==n.provider;return Y.current=n,(async()=>{if(await Promise.resolve(),!e){if(!j||!we){pe(!1);return}r&&pe(!1);try{let t=await st(j,`api_key`,W);if(e)return;pe(t.found)}catch(t){if(e)return;pe(!1),K(t,{context:`settings-ai-web-search-read-secret`})}}})(),()=>{e=!0}},[j,we,W,me]);let Fe=Object.entries(N?.llm?.callSites??{}).filter(([e,t])=>e!==`mainAgent`&&(t?.profile!=null||t?.provider!=null||t?.model!=null)).length,Ie=Fe===1?`1 Override`:Fe>0?`${Fe} Overrides`:`Overrides`,Le=d!==p,Re=(0,q.useCallback)(async()=>{if(!j){F.error(`Assistant not ready. Please try again.`);return}g(!0);try{await o.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:j},body:{llm:{activeProfile:d}},headers:{"Content-Type":`application/json`},throwOnError:!0}),m(d),A.invalidateQueries({queryKey:I(j)}),F.success(`Profile saved.`)}catch{F.error(`Failed to switch profile. Please try again.`)}finally{g(!1)}},[d,j,A]),ze=(0,q.useCallback)(e=>{e.profiles&&(v(t=>{let n={...t};for(let[t,r]of Object.entries(e.profiles))r===null?delete n[t]:n[t]=r;return n}),A.invalidateQueries({queryKey:I(j)})),e.profileOrder!==void 0&&b(e.profileOrder),e.activeProfile!==void 0&&(f(e.activeProfile),m(e.activeProfile)),e.callSites!==void 0&&A.invalidateQueries({queryKey:I(j)})},[j,A]),Be=async()=>{i(!0);let e=de.trim(),t=U===`managed`?`inference-provider-native`:W,n=Wt(t),a=U===`your-own`&&we&&e.length>0,o=!1;try{a&&await re(t,e),await V({services:{"web-search":{mode:U,provider:t}}}),o=!0,A.invalidateQueries({queryKey:I(j)})}catch{}if(!o){i(!1);return}try{r(Pt,U),r(Ft,t),ae(t),ce(U),ue(t),a&&(n&&r(n,e),pe(!0),he(e=>e+1),fe(``)),F.success(`Web search settings saved.`)}catch(e){K(e,{context:`settings-ai-web-search-persist-local`,userMessage:`Saved, but local preferences could not be written.`})}finally{i(!1)}},Ve=()=>{let e=Wt(W);e&&t(e),pe(!1),fe(``),ae(`inference-provider-native`),r(Ft,`inference-provider-native`)},He=async()=>{u(!0);let e=xe.trim(),t=ve===`your-own`&&e.length>0,n=!1;try{t&&await re(`gemini`,e),await V({services:{"image-generation":{mode:ve}}}),await H(Q),n=!0,A.invalidateQueries({queryKey:I(j)})}catch{}if(!n){u(!1);return}try{r(Mt,ve),r(Nt,Q),t&&(r(Ut,e),Se(``)),F.success(`Image generation settings saved.`)}catch(e){K(e,{context:`settings-ai-image-gen-persist-local`,userMessage:`Saved, but local preferences could not be written.`})}finally{u(!1)}};return(0,$.jsxs)(`div`,{className:`max-w-[940px] space-y-5`,children:[(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] px-4 py-2.5`,children:[(0,$.jsx)(oe,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-tertiary)]`}),(0,$.jsxs)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:[`Managed services are metered and deducted from your Vellum account balance.`,` `,(0,$.jsxs)(`a`,{href:`https://www.vellum.ai/docs/pricing`,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--primary-base)] hover:underline`,children:[`View pricing`,(0,$.jsx)(z,{className:`h-3.5 w-3.5`})]})]})]}),(0,$.jsx)(Zt,{title:`Language Model`,subtitle:`Configure the LLMs that power your assistant`,children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Default Profile`}),(0,$.jsx)(D,{value:d??``,onChange:e=>{f(e===``?null:e)},placeholder:`Select a default profile…`,options:Ne.map(e=>({value:e.name,label:e.name===`auto`?`Automatically switch between profiles`:Ee(e)}))}),Me&&d===`auto`&&(0,$.jsx)(`div`,{className:`flex items-center gap-2 rounded-lg bg-[var(--surface-warning-subtle)] px-3 py-2`,children:(0,$.jsx)(`span`,{className:`text-body-small-default text-[var(--content-warning)]`,children:`Auto may use more powerful models when needed, which can increase costs.`})}),Ne.length===0?(0,$.jsx)(E,{variant:`body-small-default`,as:`p`,className:`mt-1 text-(--content-tertiary)`,children:`No profiles yet. Click Profiles below to create one.`}):null]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(T,{variant:`outlined`,size:`compact`,onClick:()=>k(!0),children:`Providers`}),(0,$.jsx)(T,{variant:`outlined`,size:`compact`,onClick:()=>S(!0),children:`Profiles`}),(0,$.jsx)(T,{variant:`outlined`,size:`compact`,onClick:()=>O(!0),children:Ie})]}),Le&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Yt,{onClick:Re,disabled:h}),h&&(0,$.jsx)(B,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`})]})]})}),(0,$.jsx)(Jt,{title:`Web Search`,subtitle:`Configure how your assistant should search the web`,mode:U,onModeChange:e=>ie(e),children:U===`managed`?(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Web search is included with managed inference.`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Yt,{onClick:Be,disabled:Oe}),e&&(0,$.jsx)(B,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`})]})]}):(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(D,{value:W,onChange:ae,options:ge.map(e=>({value:e,label:X[e]??e}))})]}),we&&(0,$.jsx)(M,{label:`API Key`,type:`password`,value:de,onChange:e=>fe(e.target.value),placeholder:ke,fullWidth:!0}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Yt,{onClick:Be,disabled:Oe}),e&&(0,$.jsx)(B,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}),we&&(0,$.jsx)(Xt,{onClick:Ve,filled:!0})]})]})}),(0,$.jsx)(rn,{assistantId:j,assistantHandle:te?.results?.[0]?.handle}),(0,$.jsx)(Jt,{title:`Image Generation`,subtitle:`Configure which model your assistant uses to generate images`,mode:ve,onModeChange:e=>Z(e),children:ve===`managed`?(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Active Model`}),(0,$.jsxs)(`div`,{className:`flex items-end gap-3`,children:[(0,$.jsx)(D,{className:`flex-1`,value:Q,onChange:be,options:wt.map(e=>({value:e,label:Tt[e]??e}))}),(0,$.jsx)(Yt,{onClick:He,disabled:a}),a&&(0,$.jsx)(B,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`})]})]}):(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsx)(M,{label:`API Key`,type:`password`,value:xe,onChange:e=>Se(e.target.value),placeholder:`Enter your Gemini API key`,fullWidth:!0}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Active Model`}),(0,$.jsx)(D,{value:Q,onChange:be,options:wt.map(e=>({value:e,label:Tt[e]??e}))})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Yt,{onClick:He,disabled:a}),a&&(0,$.jsx)(B,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}),(0,$.jsx)(Xt,{onClick:()=>{t(Ut),Se(``),be(`gemini-3.1-flash-image-preview`),r(Nt,`gemini-3.1-flash-image-preview`)}})]})]})}),(0,$.jsx)($t,{}),(0,$.jsx)(en,{}),j&&(0,$.jsx)(ft,{isOpen:x,profiles:_,profileOrder:y,activeProfile:d,assistantId:j,callSiteOverrides:N?.llm?.callSites??{},onClose:()=>S(!1),onProfilesChanged:ze}),j&&(0,$.jsx)(Ae,{isOpen:w,onClose:()=>O(!1),assistantId:j,orderedProfiles:je,persistedOverrides:N?.llm?.callSites??{},daemonConfigLoaded:!!N,onSaved:()=>{A.invalidateQueries({queryKey:I(j)})}}),j&&(0,$.jsx)(St,{isOpen:ee,assistantId:j,onClose:()=>k(!1)})]})}export{an as AiPage};
@@ -1 +0,0 @@
1
- import{r as e}from"./routes-Bc63mRsk.js";import{t}from"./client.gen-ywbejrz1.js";import{i as n,r,t as i}from"./api-errors-Cb5XX5_j.js";function a(t){let n=typeof window<`u`?window.location.origin:``,r=new URLSearchParams({senderAssistantId:t.senderAssistantId,token:t.token});return`${n}${e.connect}?${r.toString()}`}function o(e){let t=e.get(`senderAssistantId`)?.trim(),n=e.get(`token`)?.trim();return!t||!n?null:{senderAssistantId:t,token:n}}async function s(e,a={}){let o={limit:a.limit??50};a.role&&(o.role=a.role);let{data:s,error:c,response:l}=await t.get({url:`/v1/assistants/{assistant_id}/contacts/`,path:{assistant_id:e},query:o,throwOnError:!1});if(r(l,c,`Failed to list contacts`),!l.ok)throw new i(l.status,n(c,l,`Failed to list contacts`));return s?.contacts??[]}async function c(e,a){let{data:o,error:s,response:c}=await t.post({url:`/v1/assistants/{assistant_id}/contacts/`,path:{assistant_id:e},body:a,headers:{"Content-Type":`application/json`},throwOnError:!1});if(r(c,s,`Failed to create contact`),!c.ok||!o?.contact)throw new i(c.status,n(s,c,`Failed to create contact`));return o.contact}async function l(e,a){let{error:o,response:s}=await t.delete({url:`/v1/assistants/{assistant_id}/contacts/{contact_id}/`,path:{assistant_id:e,contact_id:a},throwOnError:!1});if(r(s,o,`Failed to delete contact`),!s.ok&&s.status!==204)throw new i(s.status,n(o,s,`Failed to delete contact`))}async function u(e,a,o){let s={id:a,displayName:o.displayName};o.notes!==void 0&&(s.notes=o.notes);let{data:c,error:l,response:u}=await t.post({url:`/v1/assistants/{assistant_id}/contacts/`,path:{assistant_id:e},body:s,headers:{"Content-Type":`application/json`},throwOnError:!1});if(r(u,l,`Failed to update contact`),!u.ok||!c?.contact)throw new i(u.status,n(l,u,`Failed to update contact`));return c.contact}var d=[{id:`slack`,label:`Slack`,subtitle:`Message your assistant from Slack`,icon:`hash`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian on Slack. Can you help me set that up?`,contact:`I'd like to verify a contact's Slack identity. Can you walk me through it?`}},{id:`telegram`,label:`Telegram`,subtitle:`Message your assistant from Telegram`,icon:`send`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian on Telegram. Can you help me set that up?`,contact:`I'd like to verify a contact's Telegram identity. Can you walk me through it?`}},{id:`phone`,label:`Phone Calling`,subtitle:`Call or text your assistant via phone`,icon:`phone`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian for phone calls. Can you help me set that up?`,contact:`I'd like to verify a contact's phone number. Can you help me set that up?`}}];async function f(e){let{data:a,error:o,response:s}=await t.get({url:`/v1/assistants/{assistant_id}/channels/available/`,path:{assistant_id:e},throwOnError:!1});if(r(s,o,`Failed to fetch channel availability`),s.status===404)return d;if(!s.ok)throw new i(s.status,n(o,s,`Failed to fetch channel availability`));return a?.channels??[]}async function p(e){let{data:a,error:o,response:s}=await t.get({url:`/v1/assistants/{assistant_id}/channels/readiness/`,path:{assistant_id:e},throwOnError:!1});if(r(s,o,`Failed to fetch channel readiness`),!s.ok)throw new i(s.status,n(o,s,`Failed to fetch channel readiness`));return a?.snapshots??[]}async function m(e){let{error:a,response:o}=await t.delete({url:`/v1/assistants/{assistant_id}/integrations/slack/channel/config/`,path:{assistant_id:e},throwOnError:!1});if(r(o,a,`Failed to disconnect Slack`),!o.ok&&o.status!==204)throw new i(o.status,n(a,o,`Failed to disconnect Slack`))}async function h(e,a,o){let{error:s,response:c}=await t.post({url:`/v1/assistants/{assistant_id}/integrations/slack/channel/config/`,path:{assistant_id:e},body:{botToken:a,appToken:o},headers:{"Content-Type":`application/json`},throwOnError:!1});if(r(c,s,`Failed to save Slack config`),!c.ok)throw new i(c.status,n(s,c,`Failed to save Slack config`))}async function g(e,a){let{error:o,response:s}=await t.post({url:`/v1/assistants/{assistant_id}/integrations/telegram/config/`,path:{assistant_id:e},body:{botToken:a},headers:{"Content-Type":`application/json`},throwOnError:!1});if(r(s,o,`Failed to save Telegram config`),!s.ok)throw new i(s.status,n(o,s,`Failed to save Telegram config`))}async function _(e){let{error:a,response:o}=await t.delete({url:`/v1/assistants/{assistant_id}/integrations/telegram/config/`,path:{assistant_id:e},throwOnError:!1});if(r(o,a,`Failed to clear Telegram config`),!o.ok&&o.status!==204)throw new i(o.status,n(a,o,`Failed to clear Telegram config`))}async function v(e,a,o){let{error:s,response:c}=await t.post({url:`/v1/assistants/{assistant_id}/integrations/twilio/credentials/`,path:{assistant_id:e},body:{accountSid:a,authToken:o},headers:{"Content-Type":`application/json`},throwOnError:!1});if(r(c,s,`Failed to save Twilio credentials`),!c.ok)throw new i(c.status,n(s,c,`Failed to save Twilio credentials`))}async function y(e){let{error:a,response:o}=await t.delete({url:`/v1/assistants/{assistant_id}/integrations/twilio/credentials/`,path:{assistant_id:e},throwOnError:!1});if(r(o,a,`Failed to clear Twilio credentials`),!o.ok&&o.status!==204)throw new i(o.status,n(a,o,`Failed to clear Twilio credentials`))}async function b(e,a,o){let{data:s,error:c,response:l}=await t.post({url:`/v1/assistants/{assistant_id}/contacts/merge/`,path:{assistant_id:e},body:{keepId:a,mergeId:o},headers:{"Content-Type":`application/json`},throwOnError:!1});if(r(l,c,`Failed to merge contacts`),!l.ok||!s?.contact)throw new i(l.status,n(c,l,`Failed to merge contacts`));return s.contact}async function x(e,a){let o={};a?.expiresInHours!==void 0&&(o.expiresInHours=a.expiresInHours);let{data:s,error:c,response:l}=await t.post({url:`/v1/assistants/{assistant_id}/integrations/a2a/invite/`,path:{assistant_id:e},body:o,headers:{"Content-Type":`application/json`},throwOnError:!1});if(r(l,c,`Failed to create A2A invite`),!l.ok)throw new i(l.status,n(c,l,`Failed to create A2A invite`));if(!s?.inviteId||!s.token||s.expiresAt===void 0)throw new i(500,`Create invite succeeded but response is missing required fields`);return{inviteId:s.inviteId,token:s.token,expiresAt:s.expiresAt}}async function S(e,a){let{data:o,error:s,response:c}=await t.post({url:`/v1/assistants/{assistant_id}/a2a/invites/redeem/`,path:{assistant_id:e},body:{sender_assistant_id:a.senderAssistantId,token:a.token},headers:{"Content-Type":`application/json`},throwOnError:!1});if(r(c,s,`Failed to redeem A2A invite`),!c.ok)throw new i(c.status,n(s,c,`Failed to redeem A2A invite`));return{success:o?.success??!0,alreadyConnected:o?.already_connected,error:o?.error,errorCode:o?.error_code}}async function C(e,a){let{error:o,response:s}=await t.post({url:`/v1/assistants/{assistant_id}/contact-channels/{channel_id}/verify/`,path:{assistant_id:e,channel_id:a},throwOnError:!1});if(r(s,o,`Failed to verify channel`),!s.ok)throw new i(s.status,n(o,s,`Failed to verify channel`))}async function w(e,a){let{error:o,response:s}=await t.patch({url:`/v1/assistants/{assistant_id}/contact-channels/{channel_id}/`,path:{assistant_id:e,channel_id:a},body:{status:`revoked`},headers:{"Content-Type":`application/json`},throwOnError:!1});if(r(s,o,`Failed to revoke channel`),!s.ok)throw new i(s.status,n(o,s,`Failed to revoke channel`))}export{C as _,l as a,p as c,S as d,w as f,u as g,v as h,c as i,s as l,g as m,y as n,m as o,h as p,x as r,f as s,_ as t,b as u,a as v,o as y};
@@ -1 +0,0 @@
1
- function e(e,t){return e&&typeof e==`object`&&!Array.isArray(e)?e:typeof e==`string`&&!e.trimStart().startsWith(`<`)?{detail:e.slice(0,500)||t?.statusText||`Request failed.`}:{detail:t?.statusText||`Request failed.`}}function t(e,t,n){if(e&&typeof e==`object`&&!Array.isArray(e)){let t=e;if(typeof t.detail==`string`)return t.detail;if(typeof t.error==`string`)return t.error;if(t.error&&typeof t.error==`object`&&typeof t.error.message==`string`)return t.error.message;if(typeof t.message==`string`)return t.message}return typeof e==`string`&&e&&!e.trimStart().startsWith(`<`)?e:n??(t?`HTTP ${t.status}`:`Request failed.`)}function n(e,t,n){if(!e)throw t instanceof Error?t:Error(n)}var r=class extends Error{status;constructor(e,t){super(t),this.name=`ApiError`,this.status=e}},i=typeof window>`u`?{baseUrl:`http://localhost`}:{};export{e as a,t as i,i as n,n as r,r as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BlnqVGWw.js";import{n}from"./QueryClientProvider-B6PnMGWJ.js";import{t as r}from"./useQuery-DQMwUXEx.js";import{t as i}from"./jsx-runtime-2-RJdKf7.js";import{v as a}from"./react-query.gen-CaeZaVZK.js";import{t as o}from"./button-aAWi2gw6.js";import{t as s}from"./card-CaVHvRGL.js";import{f as c}from"./query-tags-CuHlkyMo.js";import{p as l}from"./sdk.gen-CpEhy2hU.js";import{t as u}from"./loader-circle-DfyYkLlZ.js";import{Dr as d,It as f,ht as p,ur as m}from"./index-D6-nsIUa.js";import{t as h}from"./error-report-sc-aicjG.js";var g=e(t(),1),_=i();function v(e){if(e==null)return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleString(void 0,{month:`short`,day:`numeric`,year:`numeric`,hour:`numeric`,minute:`2-digit`,hour12:!0})}function y(){return(0,_.jsx)(s,{children:(0,_.jsxs)(`div`,{className:`flex min-h-[400px] flex-col items-center justify-center px-6 py-16 text-center`,children:[(0,_.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,_.jsx)(m,{className:`h-6 w-6 text-[var(--content-disabled)] dark:text-[var(--content-default)]`})}),(0,_.jsx)(`h2`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:`No archived conversations`}),(0,_.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Conversations you archive will appear here.`})]})})}function b({conversation:e,isFirst:t,onUnarchive:n,isPending:r}){let i=[v(e.createdAt),e.source??`vellum-assistant`].filter(Boolean).join(` · `),a=e.title&&e.title.trim().length>0?e.title:`Untitled conversation`;return(0,_.jsxs)(`div`,{className:`flex items-center gap-3 py-3 ${t?``:`border-t border-[var(--border-base)]`}`,children:[(0,_.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,_.jsx)(`div`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:a}),(0,_.jsx)(`p`,{className:`mt-0.5 truncate text-body-small-default text-[var(--content-tertiary)]`,children:i})]}),(0,_.jsx)(o,{variant:`outlined`,onClick:n,disabled:r,className:`shrink-0`,children:r?(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(u,{className:`h-4 w-4 animate-spin`}),`Unarchiving`]}):`Unarchive`})]})}function x(){let e=n(),{data:t,isLoading:i}=r(a()),m=t?.results?.[0]?.id??null,{conversations:v,isLoading:x,isError:S,refetch:C}=d(m),[w,T]=(0,g.useState)(null),E=(0,g.useMemo)(()=>v.filter(e=>e.archivedAt!=null).sort((e,t)=>(t.archivedAt??0)-(e.archivedAt??0)),[v]),D=(0,g.useCallback)(async t=>{if(m){T(t);try{await l({path:{assistant_id:m,id:t},throwOnError:!0}),e.invalidateQueries({queryKey:c(m)})}catch(e){h(e,{context:`archive_settings_unarchive_conversation`,userMessage:`Failed to unarchive conversation.`})}finally{T(null)}}},[m,e]);return i||x?(0,_.jsx)(`div`,{className:`max-w-[940px]`,children:(0,_.jsx)(`div`,{className:`flex min-h-[400px] items-center justify-center`,children:(0,_.jsx)(u,{className:`h-6 w-6 animate-spin text-[var(--content-disabled)]`})})}):S?(0,_.jsx)(`div`,{className:`max-w-[940px]`,children:(0,_.jsx)(s,{children:(0,_.jsxs)(`div`,{className:`flex min-h-[400px] flex-col items-center justify-center px-6 py-16 text-center`,children:[(0,_.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--system-error-lighter)]`,children:(0,_.jsx)(p,{className:`h-6 w-6 text-[var(--system-error-default)]`})}),(0,_.jsx)(`h2`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:`Failed to load archived conversations`}),(0,_.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Something went wrong. Please try again.`}),(0,_.jsxs)(o,{variant:`outlined`,onClick:C,className:`mt-4`,children:[(0,_.jsx)(f,{className:`h-4 w-4`}),`Retry`]})]})})}):E.length===0?(0,_.jsx)(`div`,{className:`max-w-[940px]`,children:(0,_.jsx)(y,{})}):(0,_.jsx)(`div`,{className:`max-w-[940px]`,children:(0,_.jsx)(s,{noPadding:!0,className:`px-4`,children:E.map((e,t)=>(0,_.jsx)(b,{conversation:e,isFirst:t===0,onUnarchive:()=>{D(e.conversationId)},isPending:w===e.conversationId},e.conversationId))})})}export{x as ArchivePage};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-C9oV_FLv.js";var t=e(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]);export{t};
@@ -1 +0,0 @@
1
- import{i as e,r as t,s as n}from"./local-settings-lVNyIOJ_.js";import{n as r,t as i}from"./create-selectors-Bi35YIGD.js";var a=`vellum:debug:impersonateAssistantVersion`;function o(){let e=t(a,``);return e.length>0?e:null}function s(t){if(typeof window>`u`)return null;if(t===void 0){let e=o();return console.info(`[vellumDebug] impersonateAssistantVersion (current) = ${e===null?`null`:JSON.stringify(e)}`),e}if(t===null||t===``){if(e(a),o()!==null)return console.warn(`[vellumDebug] failed to clear impersonateAssistantVersion flag`),o();console.info(`[vellumDebug] impersonateAssistantVersion = null (cleared) — reloading…`)}else{if(n(a,t),o()!==t)return console.warn(`[vellumDebug] failed to persist impersonateAssistantVersion flag`),o();console.info(`[vellumDebug] impersonateAssistantVersion = ${JSON.stringify(t)} — reloading…`)}return window.location.reload(),t===``?null:t}var c=i(r(e=>({name:null,version:null,setIdentity:(t,n)=>{e({name:t,version:o()??n})},clearIdentity:()=>e({name:null,version:null})})));export{s as n,c as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BlnqVGWw.js";import{n}from"./auth-store-B6yNvrw4.js";import{t as r}from"./useQuery-DQMwUXEx.js";import{t as i}from"./jsx-runtime-2-RJdKf7.js";import{t as a}from"./tag-Bq7LZ7NN.js";import{t as o}from"./loader-circle-DfyYkLlZ.js";import{Gr as s,Kr as c,Mr as l,wr as u}from"./index-D6-nsIUa.js";import{t as d}from"./error-report-sc-aicjG.js";var f=e(t(),1),p=i();function m({value:e,max:t,caption:n}){let r=t>0?Math.max(0,Math.min(e/t*100,100)):0,i=r>90;return(0,p.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,p.jsx)(`div`,{className:`h-2 w-full overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,p.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-200`,style:{width:`${r}%`,backgroundColor:i?`var(--system-negative-strong)`:`var(--system-positive-strong)`}})}),n&&(0,p.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:n})]})}var h=7,g=2e3;function _({version:e,loading:t,assistantId:n}){let r=(0,f.useRef)(0),i=(0,f.useRef)(null),[a,s]=(0,f.useState)(null),c=(0,f.useCallback)(()=>{if(r.current+=1,r.current>=h){r.current=0;let e=u.getState(),t=!e.settingsDeveloperNav;e.setFlag(`settingsDeveloperNav`,t,n),s(t?`Developer mode enabled`:`Developer mode disabled`),i.current!==null&&clearTimeout(i.current),i.current=setTimeout(()=>{s(null),i.current=null},g)}},[n]);return(0,f.useEffect)(()=>()=>{i.current!==null&&clearTimeout(i.current)},[]),t?(0,p.jsxs)(`span`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,p.jsx)(o,{className:`h-4 w-4 animate-spin`}),`Loading version...`]}):e?(0,p.jsxs)(`div`,{children:[(0,p.jsx)(`button`,{type:`button`,className:`break-all text-left text-body-medium-lighter text-[var(--content-default)]`,onClick:c,children:e}),a&&(0,p.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-accent)]`,children:a})]}):(0,p.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`—`})}var v=[`currentAssistant`],y=4e3,b=9e4;function x(e,t){return(e.memory?.maxMb??null)!==(t.memory?.maxMb??null)||(e.cpu?.maxCores??null)!==(t.cpu?.maxCores??null)}function S(){let{data:e=null,isLoading:t,refetch:n}=r({queryKey:v,queryFn:async()=>{let e=await s();return e.ok?e.data:null},retry:!1}),i=e?.id,[a,o]=(0,f.useState)(null),[l,u]=(0,f.useState)(!1),[p,m]=(0,f.useState)(!1),h=(0,f.useRef)(0),g=(0,f.useRef)(0),_=(0,f.useCallback)(async e=>{if(!i)return o(null),u(!1),null;h.current+=1;let t=h.current;u(!0);try{let n=await c(i);return t===h.current?n.ok?(o(n.data),n.data):(e?.keepStaleOnError||o(null),null):null}catch(n){return t===h.current?(e?.keepStaleOnError||o(null),!(n instanceof TypeError&&/failed to fetch|load failed|networkerror/i.test(n.message))&&!e?.keepStaleOnError&&d(n,{context:`fetch_assistant_healthz`,userMessage:`Failed to load assistant info`}),null):null}finally{t===h.current&&u(!1)}},[i]);return(0,f.useEffect)(()=>{_()},[_]),(0,f.useEffect)(()=>()=>{g.current+=1,m(!1),o(null)},[i]),{assistant:e,assistantLoading:t,healthz:a,healthzLoading:l,healthzPolling:p,refetch:(0,f.useCallback)(async()=>{await n(),await _()},[n,_]),refetchUntilResized:(0,f.useCallback)(async e=>{let t=++g.current,r=Date.now()+b;m(!0);let i=e;try{for(n();Date.now()<r&&t===g.current;){if(await new Promise(e=>setTimeout(e,y)),t!==g.current)return;let e=await _({keepStaleOnError:!0});if(t!==g.current)return;if(e){if(i==null){i=e;continue}if(x(e,i))return}}}finally{t===g.current&&m(!1)}},[_,n])}}function C({assistant:e,assistantLoading:t,healthz:r,healthzLoading:i}){let s=l.use.isNonProduction(),c=n.use.user()?.email;if(t)return(0,p.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,p.jsx)(o,{className:`h-4 w-4 animate-spin`}),`Loading assistant info...`]});if(!e)return(0,p.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No assistant found. Hatch an assistant to get started.`});let u=r?.version??e.current_release_version;return(0,p.jsxs)(`div`,{className:`grid grid-cols-[140px_minmax(0,1fr)] gap-y-3`,children:[c&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(T,{children:`Account`}),(0,p.jsx)(E,{children:c})]}),(0,p.jsx)(T,{children:`Name`}),(0,p.jsx)(E,{children:e.name}),e.description&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(T,{children:`Description`}),(0,p.jsx)(E,{children:e.description})]}),(0,p.jsx)(T,{children:`Status`}),(0,p.jsx)(`div`,{children:(0,p.jsx)(a,{tone:e.status===`active`?`positive`:`neutral`,children:e.status})}),(0,p.jsx)(T,{children:`Assistant ID`}),(0,p.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.id}),s&&e.machine_id&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(T,{children:`Machine ID`}),(0,p.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.machine_id})]}),(0,p.jsx)(T,{children:`Created`}),(0,p.jsx)(E,{children:e.created?new Date(e.created).toLocaleDateString():`Unknown`}),(0,p.jsx)(T,{children:`Version`}),(0,p.jsx)(_,{version:u??null,loading:i&&!e.current_release_version,assistantId:e.id??null})]})}function w(e){return e>=1024?`${(e/1024).toFixed(1)} GB`:`${e.toFixed(0)} MB`}function T({children:e}){return(0,p.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e})}function E({children:e}){return(0,p.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e})}export{m as i,w as n,S as r,C as t};
@@ -1 +0,0 @@
1
- import{i as e}from"./local-settings-lVNyIOJ_.js";import{A as t,D as n,S as r,a as i,b as a,i as o,l as s,m as c,t as l,u}from"./native-biometric-D17G0wwQ.js";import{C as d,T as f,b as p,d as m,o as h,p as g,t as _,w as v,x as y}from"./local-mode-DTyhlxIJ.js";import{n as b,t as x}from"./create-selectors-Bi35YIGD.js";import{ft as S}from"./sdk.gen-ONnYjEkg.js";import{t as C}from"./event-bus-store-BE6deqo9.js";var w=`vellum:onboarding:tosAccepted`,T=`vellum:onboarding:aiDataConsent`,E=`vellum:onboarding:completed`,D=`vellum:onboarding:selectedVersion`;function O(){e(w),e(T),e(E),e(D)}function k(e){if(!(typeof window>`u`)&&e!==null)try{if(n(`lastUserId`,``)===e)return;O(),t(`lastUserId`,e)}catch{}}var A=`vellum_active_organization_id`;function j(){return globalThis.sessionStorage===void 0?null:globalThis.sessionStorage}function M(){let e=j();if(!e)return null;try{return e.getItem(A)}catch{return null}}function N(e){let t=j();if(t)try{t.setItem(A,e)}catch{}}function P(){let e=j();if(e)try{e.removeItem(A)}catch{}}function F(e,t){return e.length===0?null:t&&e.some(e=>e.id===t)?t:e[0].id}var I=x(b()((e,t)=>({organizations:[],currentOrganizationId:null,status:`idle`,error:null,fetchOrganizations:async()=>{e({status:`loading`,error:null});try{let n=(await S()).data?.results??[],r=F(n,t().currentOrganizationId??M());r&&N(r),e({organizations:n,currentOrganizationId:r,status:r?`ready`:`error`,error:r?null:`No organization available for this user.`})}catch(t){e({status:`error`,error:t instanceof Error&&t.message?t.message:`Failed to load organizations.`})}},setCurrentOrganizationId:n=>{let{organizations:r}=t();r.some(e=>e.id===n)&&(N(n),e({currentOrganizationId:n,status:`ready`}))},clearOrganization:()=>{P(),e({organizations:[],currentOrganizationId:null,status:`idle`,error:null})}})));function L(){return I.getState().currentOrganizationId??M()}function R(){I.getState().clearOrganization()}function z(){let e=0,t=I.subscribe(t=>{(t.status===`ready`||t.status===`error`)&&(e=Date.now())}),n=$.subscribe((e,t)=>{e.isLoggedIn&&(!t.isLoggedIn||e.user?.id!==t.user?.id)&&I.getState().fetchOrganizations()}),r=()=>{let{status:t}=I.getState();(t===`ready`||t===`error`)&&Date.now()-e>1e4&&I.getState().fetchOrganizations()},i=C.getState().subscribe(`app.resume`,()=>{r()});return()=>{t(),n(),i()}}var B=`vellum:`,V=[`onboarding.`,`voice:`,`gw:`,`ff:client:`,`local:`,`integrations.`,`vellumDebug.`,`vellum_`],H=new Set([`vellum_theme`,`vellum_share_analytics`,`vellum_share_diagnostics`,`vellum_biometric_enabled`,`vellum_llm_log_retention`,`vellum_timezone`,`vellum_media_embeds_enabled`,`vellum_media_embed_domains`,`onboarding.lastUserId`]);function U(e){return e.startsWith(B)?!0:H.has(e)?!1:V.some(t=>e.startsWith(t))}function W(){try{sessionStorage.clear()}catch{}try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n&&U(n)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e))}catch{}}function G(e){return e?.id??e?.email??e?.username??null}function K(e){return e?{id:G(e),username:e.username??null,email:e.email??null,isStaff:e.is_staff??!1,firstName:e.first_name??``,lastName:e.last_name??``}:null}var q=null,J=null,Y={id:`gateway-local`,username:`local`,email:null,isStaff:!1,firstName:`Local`,lastName:`User`};function X(e){(!e||q&&q!==e)&&R(),q=e}function Z(){J?.postMessage(`auth-changed`)}function Q(e){k(e),X(e)}var $=x(b()(e=>({isLoggedIn:!1,isLoading:!0,user:null,hasPlatformSession:!1,initSession:async()=>{if(v()){try{await g(),e({isLoggedIn:!0,isLoading:!1,user:Y})}catch{e({isLoggedIn:!1,isLoading:!1,user:null})}(!m()||h().length>0)&&a().then(t=>{t.ok&&t.data.user&&e({hasPlatformSession:!0})}).catch(()=>{});return}if(m()&&!v()){e({isLoggedIn:!0,isLoading:!1,user:Y}),a().then(t=>{t.ok&&t.data.user&&e({hasPlatformSession:!0,user:K(t.data.user)})}).catch(()=>{});return}try{let t=await a();if(t.ok&&t.data.user){let n=K(t.data.user);Q(n?.id??null),e({isLoggedIn:!0,isLoading:!1,user:n,hasPlatformSession:!0});return}}catch(e){console.error(`auth.initSession failed`,e)}if(u()&&o())try{let t=await i();if(t){s(t),await c();let n=await a();if(n.ok&&n.data.user){let t=K(n.data.user);Q(t?.id??null),e({isLoggedIn:!0,isLoading:!1,user:t,hasPlatformSession:!0});return}}}catch(e){console.warn(`auth.initSession biometric recovery failed`,e)}Q(null),e({isLoggedIn:!1,isLoading:!1,user:null})},refreshSession:async()=>{if(f()){try{await y(d()),e({isLoggedIn:!0})}catch{return e({isLoggedIn:!1,user:null,hasPlatformSession:!1}),!1}return(!m()||h().length>0)&&a().then(t=>{e({hasPlatformSession:!!(t.ok&&t.data.user)})}).catch(()=>e({hasPlatformSession:!1})),!0}try{let t=await a();if(t.ok&&t.data.user){let n=K(t.data.user);return Q(n?.id??null),e({isLoggedIn:!0,user:n,hasPlatformSession:!0}),!0}}catch(e){console.warn(`auth.refreshSession failed`,e)}return Q(null),e({isLoggedIn:!1,user:null,hasPlatformSession:!1}),!1},logout:async()=>{if(f()){_(),p(),O(),R(),W(),e({isLoggedIn:!1,user:null,hasPlatformSession:!1}),Z();return}try{await r()}finally{l(),O(),R(),W(),e({isLoggedIn:!1,user:null,hasPlatformSession:!1}),Z()}}})));function ee(){let{refreshSession:e}=$.getState(),t=[],n=()=>e().catch(e=>console.warn(`auth.refreshSession failed`,e)),r=C.getState().subscribe(`app.resume`,()=>{n()});return t.push(r),typeof BroadcastChannel<`u`&&(J=new BroadcastChannel(`auth`),J.onmessage=()=>{W(),window.location.reload()},t.push(()=>{J?.close(),J=null})),()=>t.forEach(e=>e())}export{I as a,w as c,z as i,O as l,$ as n,T as o,L as r,E as s,ee as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./client.gen-ywbejrz1.js";import{r as t}from"./api-errors-Cb5XX5_j.js";function n(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.bodyShape==`string`&&typeof t.eyeStyle==`string`&&typeof t.color==`string`}async function r(n){try{let{data:r,error:i,response:a}=await e.get({url:`/v1/assistants/{assistant_id}/avatar/character-components`,path:{assistant_id:n}});return t(a,i,`Failed to fetch character components`),!a.ok||!r||typeof r!=`object`?null:r}catch{return null}}async function i(r){try{let{data:i,error:a,response:o}=await e.get({url:`/v1/assistants/{assistant_id}/workspace/file/`,path:{assistant_id:r},query:{path:`data/avatar/character-traits.json`}});if(t(o,a,`Failed to fetch character traits`),!o.ok||!i||typeof i!=`object`)return null;let s=i.content;if(typeof s!=`string`)return null;let c=JSON.parse(s);return n(c)?c:null}catch{return null}}async function a(n,r){try{let{error:i,response:a}=await e.post({url:`/v1/assistants/{assistant_id}/avatar/render-from-traits`,path:{assistant_id:n},body:r,headers:{"Content-Type":`application/json`}});return t(a,i,`Failed to save character traits`),a.ok}catch{return!1}}async function o(n,r){try{let i=await r.arrayBuffer(),a=btoa(new Uint8Array(i).reduce((e,t)=>e+String.fromCharCode(t),``)),{error:o,response:s}=await e.post({url:`/v1/assistants/{assistant_id}/workspace/write/`,path:{assistant_id:n},body:{path:`data/avatar/avatar-image.png`,content:a,encoding:`base64`},headers:{"Content-Type":`application/json`}});return t(s,o,`Failed to upload avatar image`),s.ok?(await e.post({url:`/v1/assistants/{assistant_id}/workspace/delete/`,path:{assistant_id:n},body:{path:`data/avatar/character-traits.json`},headers:{"Content-Type":`application/json`}}),!0):!1}catch{return!1}}async function s(t){try{let[n,r]=await Promise.all([e.post({url:`/v1/assistants/{assistant_id}/workspace/delete/`,path:{assistant_id:t},body:{path:`data/avatar/avatar-image.png`},headers:{"Content-Type":`application/json`}}),e.post({url:`/v1/assistants/{assistant_id}/workspace/delete/`,path:{assistant_id:t},body:{path:`data/avatar/character-traits.json`},headers:{"Content-Type":`application/json`}})]);return(n.response?.ok??!1)||(r.response?.ok??!1)}catch{return!1}}async function c(n){try{let{data:r,error:i,response:a}=await e.get({url:`/v1/assistants/{assistant_id}/workspace/file/content/`,path:{assistant_id:n},query:{path:`data/avatar/avatar-image.png`},parseAs:`blob`});return t(a,i,`Failed to fetch avatar image`),!a.ok||!r?null:URL.createObjectURL(r)}catch{return null}}export{a,i,c as n,o,r,s as t};