@vellumai/web 0.11.6-staging.1 → 0.11.6-staging.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/dist/assets/{Trans-aGiJoe8I.js → Trans-v2rRKTPL.js} +1 -1
  2. package/dist/assets/{about-page-ZnkPsf0U.js → about-page-Dw0Uwev9.js} +1 -1
  3. package/dist/assets/{account-page-CdyM1iwP.js → account-page-DlvLIypA.js} +1 -1
  4. package/dist/assets/{acp-run-detail-panel-zRE7-vdm.js → acp-run-detail-panel-Iio-GZu9.js} +1 -1
  5. package/dist/assets/{activity-steps-panel-nbxTKOVk.js → activity-steps-panel-PJzUgOtB.js} +1 -1
  6. package/dist/assets/{add-credential-modal-BATaEuxb.js → add-credential-modal-D7srPAPB.js} +1 -1
  7. package/dist/assets/{add-credits-modal-DooRKUbe.js → add-credits-modal-DeNURe8K.js} +1 -1
  8. package/dist/assets/{ai-page-DPbjFKx7.js → ai-page-DD80M99s.js} +1 -1
  9. package/dist/assets/{android-billing-handoff-Ds3DxpCc.js → android-billing-handoff-Bh58jm76.js} +1 -1
  10. package/dist/assets/{api-key-screen-99woWR1P.js → api-key-screen-z0y8OmyR.js} +1 -1
  11. package/dist/assets/{app-card-B4Qtpfzx.js → app-card-BhEYWzKz.js} +1 -1
  12. package/dist/assets/{assistant-status-panel-Des4OppH.js → assistant-status-panel-DVk8iz06.js} +1 -1
  13. package/dist/assets/{auth-store-BS_AckaH.js → auth-store-CjmqULlA.js} +1 -1
  14. package/dist/assets/{auth-welcome-screen-D1S5M2Kh.js → auth-welcome-screen-CZqGjUcN.js} +1 -1
  15. package/dist/assets/{avatar-random-yqbTVEOu.js → avatar-random-BnLwN7Id.js} +1 -1
  16. package/dist/assets/{background-task-detail-panel-BLiP5JQ4.js → background-task-detail-panel-C45_k5DQ.js} +1 -1
  17. package/dist/assets/{billing-page-DOEkieS2.js → billing-page-CKwUJ6q-.js} +1 -1
  18. package/dist/assets/{bookmarks-page-BFaVU7b4.js → bookmarks-page-Dx3rKSni.js} +1 -1
  19. package/dist/assets/{browser-FhK1jedq.js → browser-BEhg-q3w.js} +1 -1
  20. package/dist/assets/{build-state-D823nCLC.js → build-state-B8LOllfu.js} +1 -1
  21. package/dist/assets/{bundle-confirm-page-DZnoSjc9.js → bundle-confirm-page-6fk5bxhm.js} +1 -1
  22. package/dist/assets/{channels-page-route-_rDah3g9.js → channels-page-route-oOKo0PJl.js} +1 -1
  23. package/dist/assets/{chat-BdKZmBwG.js → chat-CBvs4_4y.js} +1 -1
  24. package/dist/assets/{chat-avatar-CHLuqAEg.js → chat-avatar-UYWpN1Us.js} +1 -1
  25. package/dist/assets/{chat-markdown-message-_z6qxnqG.js → chat-markdown-message-u0xAGkrJ.js} +1 -1
  26. package/dist/assets/{checkout-continuation-DlHd_nON.js → checkout-continuation-BWg-BcSF.js} +1 -1
  27. package/dist/assets/{checkout-page-Ch_IEvCI.js → checkout-page-CbYIkUzX.js} +1 -1
  28. package/dist/assets/checkout-return-target-D-ski0RP.js +1 -0
  29. package/dist/assets/{client-perf-CLY3_q_D.js → client-perf-HISWGXqe.js} +1 -1
  30. package/dist/assets/{command-palette-k80zjQSl.js → command-palette-H8-iGtrr.js} +1 -1
  31. package/dist/assets/{command-palette-window-page-DqlKENK8.js → command-palette-window-page-BhTJGf5Z.js} +1 -1
  32. package/dist/assets/{community-page-nbMgxomH.js → community-page-D5Arbqn5.js} +1 -1
  33. package/dist/assets/{companion-surface-page-Ch88Na9Y.js → companion-surface-page-ocmWMzcw.js} +1 -1
  34. package/dist/assets/{composer-settings-LrZeVSAJ.js → composer-settings-C-0rpzHA.js} +1 -1
  35. package/dist/assets/{connect-page-DASZ4VQs.js → connect-page-mZ1hzLhX.js} +1 -1
  36. package/dist/assets/consent-CSU4nfO3.js +1 -0
  37. package/dist/assets/{consent-controls-BPQTRctP.js → consent-controls-BO5Fuj76.js} +1 -1
  38. package/dist/assets/{contacts-gateway-MKSgXEZy.js → contacts-gateway-DoiRPJZq.js} +1 -1
  39. package/dist/assets/{contacts-page-route-BnRkVN9h.js → contacts-page-route-BsBSdQ8v.js} +1 -1
  40. package/dist/assets/{conversation-cache-Cso4_Bep.js → conversation-cache-DOQdWaTg.js} +1 -1
  41. package/dist/assets/{conversation-navigation-CmHzY4Xq.js → conversation-navigation-116d0b9Q.js} +1 -1
  42. package/dist/assets/{conversation-queries-BF8k8u33.js → conversation-queries-tt9gZId5.js} +1 -1
  43. package/dist/assets/{conversation-selection-ISP-GEpt.js → conversation-selection-DKq2AZf8.js} +1 -1
  44. package/dist/assets/{copy-to-clipboard-B078_jza.js → copy-to-clipboard-CIyU3zmr.js} +1 -1
  45. package/dist/assets/{credential-entry-page-BPFHyo8L.js → credential-entry-page-Dd7upL78.js} +1 -1
  46. package/dist/assets/{credentials-page-DeWI9q-0.js → credentials-page-BVljsi9m.js} +1 -1
  47. package/dist/assets/{csv-preview-CqWvdRkQ.js → csv-preview-CeNy614y.js} +1 -1
  48. package/dist/assets/debug-page-DpV9vuot.js +4 -0
  49. package/dist/assets/{deploy-dialogs-6g154vY-.js → deploy-dialogs-TTQiNB6y.js} +1 -1
  50. package/dist/assets/{developer-page-Dc5sQTEA.js → developer-page-DBUNokt3.js} +1 -1
  51. package/dist/assets/{diagnostics-CDY7BQoh.js → diagnostics-Bi4k4B8U.js} +1 -1
  52. package/dist/assets/{dictation-overlay-page-DSdKbYyc.js → dictation-overlay-page-BmayMkea.js} +1 -1
  53. package/dist/assets/{doctor-handoff-store-DQO1EjVy.js → doctor-handoff-store-Do2X2LvI.js} +1 -1
  54. package/dist/assets/{document-viewer-container-BtW95bF_.js → document-viewer-container-CrbF9Z_4.js} +2 -2
  55. package/dist/assets/{document-viewer-page-UdVOXLpf.js → document-viewer-page-DqN6k_UB.js} +1 -1
  56. package/dist/assets/effective-timezone-BZrvS5yC.js +1 -0
  57. package/dist/assets/{emails-page-UnMnEidw.js → emails-page-BSDs_cnf.js} +1 -1
  58. package/dist/assets/{external-anchor-Bkm-fDSc.js → external-anchor-DKrqdxff.js} +1 -1
  59. package/dist/assets/{feed-item-status-actions-BHvscGQu.js → feed-item-status-actions-CCNKonlC.js} +1 -1
  60. package/dist/assets/{file-editor-C9OAvqwA.js → file-editor-Bn3fjyeW.js} +1 -1
  61. package/dist/assets/{file-markdown-B2klOAQg.js → file-markdown-8-h2vx0G.js} +1 -1
  62. package/dist/assets/{first-run-scope-DJpBBdJm.js → first-run-scope-lw_VDLUA.js} +1 -1
  63. package/dist/assets/{format-usd-RiDwg_QI.js → format-usd-B9okvVIq.js} +1 -1
  64. package/dist/assets/{funnel-events-BtXh2plQ.js → funnel-events-D-InjbTX.js} +1 -1
  65. package/dist/assets/{general-page-DN_w4TPU.js → general-page-DppPvamB.js} +1 -1
  66. package/dist/assets/{get-memory-stats-O7uGD6O3.js → get-memory-stats-BhVFtDQg.js} +1 -1
  67. package/dist/assets/{haptics-DvIfvjqC.js → haptics-DRyt58c5.js} +1 -1
  68. package/dist/assets/{hatching-screen-2q8r9puV.js → hatching-screen-1ZOPcV42.js} +1 -1
  69. package/dist/assets/{home-page-route-c2TGfb6a.js → home-page-route-D1QbN6M5.js} +1 -1
  70. package/dist/assets/{hosting-screen-CbyH6Atk.js → hosting-screen-C-uvieVy.js} +1 -1
  71. package/dist/assets/{i18n-DmTrjH8B.js → i18n-BDfnKs41.js} +1 -1
  72. package/dist/assets/{identity-KKhytdTo.js → identity-BueQJAR8.js} +1 -1
  73. package/dist/assets/{identity-page-route-D-3xzuIC.js → identity-page-route-BOQd6ko9.js} +1 -1
  74. package/dist/assets/{index-mFpsjcJ6.js → index-CfSEZ8JN.js} +1 -1
  75. package/dist/assets/{ingest-CU_Li3h3.js → ingest-BD3GYGpk.js} +1 -1
  76. package/dist/assets/{inspect-page-DKPQ27do.js → inspect-page-CGsWZzun.js} +1 -1
  77. package/dist/assets/{integrations-page-Bq0sWlli.js → integrations-page-D5H6XJIt.js} +1 -1
  78. package/dist/assets/{intelligence-layout-f5wyMaIl.js → intelligence-layout-_FM08eqn.js} +1 -1
  79. package/dist/assets/{invalidate-memory-queries-Br8jTINF.js → invalidate-memory-queries-DqdhPLUe.js} +1 -1
  80. package/dist/assets/{latest-assistant-text-Dced2okE.js → latest-assistant-text-BeS_23nt.js} +1 -1
  81. package/dist/assets/{library-detail-page-BOc9XP2T.js → library-detail-page-DLtBHLA8.js} +1 -1
  82. package/dist/assets/{library-page-Cu_cukyn.js → library-page-YT1vECkY.js} +1 -1
  83. package/dist/assets/{local-runtime-upgrade-w4ASPcze.js → local-runtime-upgrade-8SxM3rIp.js} +1 -1
  84. package/dist/assets/{login-flow-DsNuV6DN.js → login-flow-B8yCe4pl.js} +1 -1
  85. package/dist/assets/{login-page-DpsjjRMr.js → login-page-awRRidw5.js} +1 -1
  86. package/dist/assets/{logout-page-Cmz7sbQo.js → logout-page-nRjDnT8Z.js} +1 -1
  87. package/dist/assets/{logs-layout-C1Fe6XzX.js → logs-layout-D8c2JBmw.js} +1 -1
  88. package/dist/assets/{markdown-preview-DjFhlkUi.js → markdown-preview-BkK4kDdG.js} +1 -1
  89. package/dist/assets/{media-preview-D4MG8kYt.js → media-preview-lY5oZbAH.js} +1 -1
  90. package/dist/assets/{memory-page-route-DRbOMySi.js → memory-page-route-j0Dpopb-.js} +1 -1
  91. package/dist/assets/{memory-router-playground-page-BdMCdqle.js → memory-router-playground-page-BYD7TF11.js} +1 -1
  92. package/dist/assets/{message-files-panel-Fxs-rmt5.js → message-files-panel-aRAyF3Ir.js} +1 -1
  93. package/dist/assets/{messages-D29Jnu8v.js → messages-CCAr4He2.js} +1 -1
  94. package/dist/assets/native-anchor-C9EuQRVe.js +1 -0
  95. package/dist/assets/{native-biometric-B2BCv4UL.js → native-biometric-ntyxdDLY.js} +1 -1
  96. package/dist/assets/{navigation-resolver-CkRFZvMW.js → navigation-resolver-dBlKf1YD.js} +1 -1
  97. package/dist/assets/{not-found-D0BBLotb.js → not-found-DWwWs5dL.js} +1 -1
  98. package/dist/assets/{notifications-28pbXqp8.js → notifications-CdfIUmqd.js} +1 -1
  99. package/dist/assets/{notifications-page-KaEKT5jM.js → notifications-page-DqdfKth8.js} +1 -1
  100. package/dist/assets/{oauth-complete-page-C6qCszaI.js → oauth-complete-page-O3DSqE_R.js} +1 -1
  101. package/dist/assets/{oauth-popup-complete-page-BLcrBAUt.js → oauth-popup-complete-page-Bax7Z0q9.js} +1 -1
  102. package/dist/assets/{onboarding-store-CvgTQIIF.js → onboarding-store-BsVgs3Ut.js} +1 -1
  103. package/dist/assets/{open-workspace-file-BTTUgCt1.js → open-workspace-file-Cw5RJCCD.js} +2 -2
  104. package/dist/assets/{operational-status-BZXW6I_s.js → operational-status-DpG5GDPe.js} +1 -1
  105. package/dist/assets/{pairing-page-CqEOn5rN.js → pairing-page-BAjVwQx2.js} +1 -1
  106. package/dist/assets/{pdf-file-preview-uKdLOqN0.js → pdf-file-preview-DOGYGRl6.js} +1 -1
  107. package/dist/assets/{personality-page-2sZ6-R9f.js → personality-page-DHXw49da.js} +1 -1
  108. package/dist/assets/{plans-page-oZu0oBkq.js → plans-page-CEKWL3n4.js} +1 -1
  109. package/dist/assets/{platform-detection-BBpg4tha.js → platform-detection-BVSM8PRh.js} +1 -1
  110. package/dist/assets/{platform-login-notice-CWwlTxPN.js → platform-login-notice-Dq3m5QWH.js} +1 -1
  111. package/dist/assets/{platform-loopback-page-C9OvnmnD.js → platform-loopback-page-pQ4fn0Nn.js} +1 -1
  112. package/dist/assets/{prefs-BaoT5tM9.js → prefs-CXvngLdE.js} +1 -1
  113. package/dist/assets/{preview-skeleton-YDIO2gF1.js → preview-skeleton-DA_Jj0Wc.js} +1 -1
  114. package/dist/assets/{privacy-page-Dvb2GtB0.js → privacy-page-BMzUBvaJ.js} +1 -1
  115. package/dist/assets/{privacy-screen-Bqv76Nq2.js → privacy-screen-Dy6bC1QU.js} +1 -1
  116. package/dist/assets/{provider-callback-page-Ce2jTkvh.js → provider-callback-page-DI_iDUZB.js} +1 -1
  117. package/dist/assets/{provider-key-CMNgoPPW.js → provider-key-CXIl3HXm.js} +1 -1
  118. package/dist/assets/{provider-signup-page-D7KPQDTx.js → provider-signup-page-CEZYja-E.js} +1 -1
  119. package/dist/assets/{push-registration-Def6tMwq.js → push-registration-DSgQ3jMG.js} +1 -1
  120. package/dist/assets/{quick-input-page-D3EbU-FY.js → quick-input-page-DCkaYfUc.js} +1 -1
  121. package/dist/assets/{remove-from-device-dialog-BbJRKUXj.js → remove-from-device-dialog-CYJV-5IC.js} +1 -1
  122. package/dist/assets/{research-facts-xwTtzOsw.js → research-facts-DKRZaLQC.js} +1 -1
  123. package/dist/assets/{research-mock-page-C-vd6Js2.js → research-mock-page-Y0Hec2hX.js} +1 -1
  124. package/dist/assets/{research-onboarding-route-CNAu2dNs.js → research-onboarding-route-CREwj2sS.js} +1 -1
  125. package/dist/assets/{research-results-view-Jw7TJTaZ.js → research-results-view-CBvWhXB8.js} +1 -1
  126. package/dist/assets/{retire-confirm-dialog-RkS3NvLp.js → retire-confirm-dialog-B3ZUAlmZ.js} +1 -1
  127. package/dist/assets/{review-terms-screen-BWgeEqds.js → review-terms-screen-7OU_S96U.js} +1 -1
  128. package/dist/assets/{routes-eT5q78xz.js → routes-DvpgDVCJ.js} +6 -6
  129. package/dist/assets/{runtime-upgrade-banner-z2o_sHZe.js → runtime-upgrade-banner-lbVqs7Te.js} +1 -1
  130. package/dist/assets/{sandbox-bridge-lNdpH-lI.js → sandbox-bridge-BkKOlHRs.js} +1 -1
  131. package/dist/assets/{schedules-qIwqn-CD.js → schedules-5MJ4hhjn.js} +1 -1
  132. package/dist/assets/{schedules-CKSTyNa5.js → schedules-DCr5HsxY.js} +1 -1
  133. package/dist/assets/{schedules-page-DW7XjHcT.js → schedules-page-DRcO3zq3.js} +1 -1
  134. package/dist/assets/{section-membership-Bdo3i5eu.js → section-membership-CyAaLX8V.js} +1 -1
  135. package/dist/assets/{select-assistant-screen-k386tZII.js → select-assistant-screen-DJHzqmSj.js} +1 -1
  136. package/dist/assets/{self-hosted-servers-BDgPxWVB.js → self-hosted-servers-DTLMKzVl.js} +1 -1
  137. package/dist/assets/settings-CcU8vWuM.js +3 -0
  138. package/dist/assets/settings-Ce2mFlFl.js +3 -0
  139. package/dist/assets/{settings-layout-Y_R4_NQY.js → settings-layout-Brb4OeZD.js} +1 -1
  140. package/dist/assets/{settings-navigation-BoSIdnWk.js → settings-navigation-eZSfIWFH.js} +1 -1
  141. package/dist/assets/{share-feedback-modal-BEya0Yqs.js → share-feedback-modal-DuppDLIt.js} +1 -1
  142. package/dist/assets/{sidebar-tree-CdM-vr-W.js → sidebar-tree-hjulk9XJ.js} +1 -1
  143. package/dist/assets/{signup-page-DmElIotT.js → signup-page-pBgqV9xZ.js} +1 -1
  144. package/dist/assets/{site-favicon-BedPYfUd.js → site-favicon-zvd-HIsY.js} +1 -1
  145. package/dist/assets/{skill-detail-page-DyHeyxn6.js → skill-detail-page-CB5IciZz.js} +1 -1
  146. package/dist/assets/{skill-detail-panel-HctOj1h8.js → skill-detail-panel-CxyyNg-F.js} +1 -1
  147. package/dist/assets/{skills-v0VHK5y6.js → skills-DGBAogub.js} +1 -1
  148. package/dist/assets/{sound-manager-DYTGIzjx.js → sound-manager-BCNOVpEJ.js} +1 -1
  149. package/dist/assets/{sounds-page-BtxsdG4G.js → sounds-page-B9l4ortG.js} +1 -1
  150. package/dist/assets/{start-screen-C7dTCePQ.js → start-screen-BXejiAHk.js} +1 -1
  151. package/dist/assets/{status-badge-pill-Baw4Cqvw.js → status-badge-pill-B4knVe4X.js} +1 -1
  152. package/dist/assets/{stt-language-picker-modal-BPtrOwPj.js → stt-language-picker-modal-DoiPypZS.js} +1 -1
  153. package/dist/assets/{subagent-detail-panel--dEqnU_m.js → subagent-detail-panel-Dgs09-aR.js} +1 -1
  154. package/dist/assets/{subagent-store-Dl-mIb0t.js → subagent-store-B3w3yLSH.js} +1 -1
  155. package/dist/assets/{superpowers-page-DfnfxMoY.js → superpowers-page-DqtKtLl_.js} +1 -1
  156. package/dist/assets/{swipe-action-reveal-DgsLJylW.js → swipe-action-reveal-rwiWQgU_.js} +1 -1
  157. package/dist/assets/{system-events-page-CQz3l7aH.js → system-events-page-DVQ_Igth.js} +1 -1
  158. package/dist/assets/{telegram-setup-wizard-CUbUmp6W.js → telegram-setup-wizard-CYy9zEtc.js} +1 -1
  159. package/dist/assets/{text-preview-DwBFvH3m.js → text-preview-DG1TgtrX.js} +1 -1
  160. package/dist/assets/{theme-preferences-DIV1b2y-.js → theme-preferences-U-DK54R3.js} +1 -1
  161. package/dist/assets/{theme-stage-page-CGtNZKJ0.js → theme-stage-page-DncswvCE.js} +1 -1
  162. package/dist/assets/{threshold-presets-d4-WHyc0.js → threshold-presets-XHj6N666.js} +1 -1
  163. package/dist/assets/{tiptap-document-editor-CRVXDMaT.js → tiptap-document-editor-CeH50SNN.js} +1 -1
  164. package/dist/assets/{tool-detail-panel-DZ84LNQz.js → tool-detail-panel-CjI_rLvP.js} +1 -1
  165. package/dist/assets/{transcript-message-body-shared-BWxl7fY-.js → transcript-message-body-shared-DAn7Y7Ac.js} +1 -1
  166. package/dist/assets/{trust-rules-api-DiTTv8Xh.js → trust-rules-api-CpP3h7B2.js} +1 -1
  167. package/dist/assets/{upgrade-cancel-page-Ea5Sph4r.js → upgrade-cancel-page-Rayv5lL4.js} +1 -1
  168. package/dist/assets/{upgrade-success-page-BnRSiTpn.js → upgrade-success-page-BTYOlmt5.js} +1 -1
  169. package/dist/assets/{use-app-theme-C1S3mjC9.js → use-app-theme-CsfqodmR.js} +1 -1
  170. package/dist/assets/{use-assistant-avatar-BJgMIWOW.js → use-assistant-avatar-CT8Pozwx.js} +1 -1
  171. package/dist/assets/{use-assistant-capability-DMm0QlXl.js → use-assistant-capability-D_tZY-cd.js} +1 -1
  172. package/dist/assets/{use-assistant-identity-details-CxMeMMyX.js → use-assistant-identity-details-BqNPVmfH.js} +1 -1
  173. package/dist/assets/{use-attachment-preview-CBeM5b0S.js → use-attachment-preview-DuaQSNrO.js} +1 -1
  174. package/dist/assets/{use-attachment-squares-C-bgyqWz.js → use-attachment-squares-Cbx4ZiOb.js} +1 -1
  175. package/dist/assets/{use-bookmarks-FrEqnEhr.js → use-bookmarks-BZRDuTXA.js} +1 -1
  176. package/dist/assets/{use-checkout-dismiss-refresh-DFe-xI7y.js → use-checkout-dismiss-refresh-D9yXOKh9.js} +1 -1
  177. package/dist/assets/{use-command-palette-sections-PE4jpcjb.js → use-command-palette-sections-BUETm__K.js} +1 -1
  178. package/dist/assets/{use-copy-to-clipboard-81gBKimW.js → use-copy-to-clipboard-IWl9ygbI.js} +1 -1
  179. package/dist/assets/{use-edge-swipe-DKTO3Cv4.js → use-edge-swipe-CAV3Gs1-.js} +1 -1
  180. package/dist/assets/{use-edge-swipe-back-CyCOlcdD.js → use-edge-swipe-back-BgZR4YZn.js} +2 -2
  181. package/dist/assets/{use-edit-app-BhH9qfzH.js → use-edit-app-BzvFD5ew.js} +1 -1
  182. package/dist/assets/{use-effective-timezone-fVManBSH.js → use-effective-timezone-DByqidDL.js} +1 -1
  183. package/dist/assets/{use-invite-link-dialog-BN8Wpu4s.js → use-invite-link-dialog-DRNVCYW4.js} +1 -1
  184. package/dist/assets/{use-is-org-ready-BKgGDOej.js → use-is-org-ready-TE5xIhFU.js} +1 -1
  185. package/dist/assets/{use-onboarding-login-5Y1lz16z.js → use-onboarding-login-Q4gvH8Wj.js} +1 -1
  186. package/dist/assets/{use-platform-assistant-id-ozCBrdTi.js → use-platform-assistant-id-8TlYUj7-.js} +1 -1
  187. package/dist/assets/{use-platform-gate-BGciIhS7.js → use-platform-gate-PHzS1_gQ.js} +1 -1
  188. package/dist/assets/{use-return-to-short-circuit-D44uvNf1.js → use-return-to-short-circuit-BVG-rqwe.js} +1 -1
  189. package/dist/assets/{use-save-twilio-credentials-DKSM1mRw.js → use-save-twilio-credentials-CLM74CvJ.js} +1 -1
  190. package/dist/assets/{use-side-list-room-C6Z5u28A.js → use-side-list-room-Bq836e0c.js} +1 -1
  191. package/dist/assets/{use-skill-actions-BVDaCf6_.js → use-skill-actions-l1FxBNiT.js} +1 -1
  192. package/dist/assets/{use-skill-detail-files-DG06yE_k.js → use-skill-detail-files-CBPqC-XL.js} +1 -1
  193. package/dist/assets/{use-sticky-profiles-BKE8FjEv.js → use-sticky-profiles-C4JFSief.js} +1 -1
  194. package/dist/assets/{use-stt-language-selection-Gm1f-ivf.js → use-stt-language-selection-CGDAHN7_.js} +1 -1
  195. package/dist/assets/{use-subagent-card-data-Dy4-aRfP.js → use-subagent-card-data-dOGbE8zd.js} +1 -1
  196. package/dist/assets/{use-swipe-horizontal-DZyIbuDo.js → use-swipe-horizontal-Bad1Uh4M.js} +1 -1
  197. package/dist/assets/use-transcript-message-by-id-D684pai6.js +1 -0
  198. package/dist/assets/{use-transcript-messages-BB1rO2uq.js → use-transcript-messages-DIEDHw01.js} +1 -1
  199. package/dist/assets/{use-voice-sample-preview-Bv8Lpoi6.js → use-voice-sample-preview-BBqCdK2Z.js} +1 -1
  200. package/dist/assets/{viewer-store-BSA96yyy.js → viewer-store-Dgua7F-U.js} +1 -1
  201. package/dist/assets/{voice-page-8wEr3tXP.js → voice-page-BYDJEThX.js} +1 -1
  202. package/dist/assets/{voice-providers-note-DJFMA5E4.js → voice-providers-note-DpSF3-Ma.js} +1 -1
  203. package/dist/assets/{weather-forecast-display-BdKore4p.js → weather-forecast-display-MET3csCf.js} +1 -1
  204. package/dist/assets/{welcome-screen-BCDDdfJj.js → welcome-screen-Dn7IdxeX.js} +1 -1
  205. package/dist/assets/{workflow-detail-panel-DPJZRzuN.js → workflow-detail-panel-BUuxWGNn.js} +1 -1
  206. package/dist/assets/{workflow-store-JtZ4LqGp.js → workflow-store-CA048OMm.js} +1 -1
  207. package/dist/assets/{workspace-page-BhDvGikQ.js → workspace-page-CcIru1nv.js} +1 -1
  208. package/dist/index.html +93 -93
  209. package/package.json +1 -1
  210. package/dist/assets/checkout-return-target-B_TPDEoT.js +0 -1
  211. package/dist/assets/consent-BLSEyXFF.js +0 -1
  212. package/dist/assets/debug-page-BbaKlAFm.js +0 -4
  213. package/dist/assets/effective-timezone-CxitKH1O.js +0 -1
  214. package/dist/assets/native-anchor-CKzrSOXb.js +0 -1
  215. package/dist/assets/settings-BIPnhjK7.js +0 -3
  216. package/dist/assets/settings-Cm4c97nK.js +0 -3
  217. package/dist/assets/use-transcript-message-by-id-J-Bidsvj.js +0 -1
@@ -1,4 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/xterm-DdHeF_2A.js","assets/chunk-jRWAZmH_.js","assets/xterm-addon-fit-CoHQbqyC.js"])))=>i.map(i=>d[i]);
2
- import{o as e}from"./chunk-jRWAZmH_.js";import{f as t,h as n,l as r,v as i}from"./i18n-DmTrjH8B.js";import{a,i as o,n as s,r as c,t as l}from"./doctor-handoff-store-DQO1EjVy.js";import{t as u}from"./react-DJZBPgpf.js";import{t as d}from"./button-B1kEAcLt.js";import{t as f}from"./preload-helper-BewR0kVT.js";import{d as p,h as m}from"./chunk-5KNZJZUH-CPFsMQoz.js";import{n as h}from"./QueryClientProvider-BPZM68-A.js";import{t as g}from"./useQuery-BtL9k7Sh.js";import{t as _}from"./useMutation-Cl7cazkm.js";import{t as v}from"./jsx-runtime-COOF1INC.js";import{d as y,s as b}from"./list-row-BvCm9O6y.js";import{t as x}from"./createLucideIcon-CMfEC_aW.js";import{t as S}from"./archive-DMKVAVAX.js";import{t as ee}from"./arrow-up-CijF4S8i.js";import{t as C}from"./check-bDVYejGM.js";import{t as te}from"./chevron-down-D437oaYt.js";import{t as w}from"./chevron-right-D5lPX854.js";import{t as T}from"./chevron-up-B_I9Uakl.js";import{t as E}from"./circle-check-CnoFVsRZ.js";import{t as D}from"./circle-x-BnqzdPia.js";import{t as O}from"./clipboard-copy-BFyCoPu3.js";import{t as ne}from"./hard-drive-CXysKjuo.js";import{t as k}from"./loader-circle-DZ65N8bz.js";import{t as A}from"./message-square-text-CvSl10LZ.js";import{t as re}from"./play-D-HSCeZj.js";import{t as j}from"./rotate-ccw-BYcZOtjy.js";import{t as M}from"./search-DYHr3LM9.js";import{t as N}from"./shield-OLSnLaN7.js";import{t as ie}from"./square-sQS2OW8v.js";import{t as P}from"./terminal-Bw8gHw-v.js";import{t as ae}from"./triangle-alert-B6J57Xfo.js";import{t as F}from"./wrench-ajjC5omI.js";import{t as I}from"./x-nhRPd-Mz.js";import{t as oe}from"./notice-BHeYlKvv.js";import{p as L}from"./src-BKET5Cno.js";import{t as R}from"./tag-DAsImP7W.js";import{t as z}from"./input-ChbJ2nzd.js";import{n as B}from"./toast-BKrDuNtu.js";import{t as se}from"./confirm-dialog-EPYSBP_B.js";import{t as ce}from"./select-DmdFZj4l.js";import{n as le,t as ue}from"./create-selectors-sLdtxUZQ.js";import{c as V,f as H,h as de,m as fe,o as pe,p as U,r as me,s as he,u as W}from"./schemas-BNPZ_RzM.js";import{H as ge,Y as G,g as K,q as _e}from"./local-mode-BQ8gp0wB.js";import{r as ve}from"./resolved-assistants-store-DEtotxhR.js";import{t as ye}from"./Trans-aGiJoe8I.js";import{g as be,n as xe}from"./auth-store-BS_AckaH.js";import{t as Se}from"./client.gen-D1UKq9QZ.js";import{J as Ce,O as we,X as Te,Y as q,Z as Ee,c as De,d as Oe,k as ke,l as Ae,p as je,u as Me}from"./sdk.gen-CrcsMCNX.js";import{H as Ne,Q as Pe}from"./sdk.gen-BluU0h_N.js";import{d as Fe,g as Ie,u as Le,v as Re,y as ze}from"./use-assistant-avatar-BJgMIWOW.js";import{f as Be}from"./routes-C6ueuiMd.js";import{i as J,r as Ve}from"./use-platform-gate-BGciIhS7.js";import{r as He}from"./ingest-CU_Li3h3.js";import{Tt as Ue,a as We,i as Ge}from"./react-query.gen-C5widOeH.js";import{n as Ke}from"./conversation-navigation-CmHzY4Xq.js";import{r as qe}from"./conversation-cache-Cso4_Bep.js";import{t as Je}from"./pointer-DktxhCd8.js";import{a as Ye,n as Xe,o as Ze,t as Qe}from"./conversation-queries-BF8k8u33.js";import{t as $e}from"./copy-to-clipboard-B078_jza.js";import{t as et}from"./platform-login-notice-CWwlTxPN.js";import{n as tt,t as nt}from"./external-anchor-Bkm-fDSc.js";import{t as rt}from"./use-active-assistant-id-lxYJu99R.js";import{t as it}from"./share-feedback-modal-BEya0Yqs.js";var at=x(`plug-zap`,[[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m18 3-4 4h6l-4 4`,key:`16psg9`}]]),ot=x(`rotate-cw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]),st=x(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),ct=x(`thumbs-down`,[[`path`,{d:`M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z`,key:`m61m77`}],[`path`,{d:`M17 14V2`,key:`8ymqnk`}]]),lt=x(`thumbs-up`,[[`path`,{d:`M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z`,key:`emmmcr`}],[`path`,{d:`M7 10v12`,key:`1qc93n`}]]),ut=x(`unplug`,[[`path`,{d:`m19 5 3-3`,key:`yk6iyv`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z`,key:`1snsnr`}]]),Y=e(u(),1);function dt(e,t){return t||e.archivedAt!=null}function ft(e,t){let n=e.lastMessageAt??e.createdAt??0;return(t.lastMessageAt??t.createdAt??0)-n}function pt(e,t){let n=e.archivedAt??0;return(t.archivedAt??0)-n||ft(e,t)}function mt(e,t){let n=new Map;for(let t of e)for(let e of t)n.has(e.conversationId)||n.set(e.conversationId,{conversation:e,archived:dt(e,!1)});for(let e of t)n.set(e.conversationId,{conversation:e,archived:dt(e,!0)});return[...n.values()].sort((e,t)=>ft(e.conversation,t.conversation))}function ht(e){return{needsActive:e!==`archived`,needsArchived:e!==`active`}}function gt(e,{activeLoading:t,archivedLoading:n}){return e===`active`?t:e===`archived`?n:t||n}function _t(e,{activeError:t,archivedError:n}){return e===`active`?t:e===`archived`?n:t||n}function vt(e,t){return t===`active`?e.filter(e=>!e.archived):t===`archived`?e.filter(e=>e.archived).sort((e,t)=>pt(e.conversation,t.conversation)):e}function yt(e,t){let n=t.trim().toLowerCase();return n?e.filter(e=>(e.conversation.title??``).toLowerCase().includes(n)):e}function bt(e,t=`all`){let[n,r]=(0,Y.useState)(``),[i,a]=(0,Y.useState)(t),{needsActive:o,needsArchived:s}=ht(i),{conversations:c,isLoading:l,isError:u,refetch:d}=Ye(e,o),{conversations:f,isLoading:p,isError:m,refetch:h}=Xe(e,o),{conversations:g,isLoading:_,isError:v,refetch:y}=Ze(e,o),{conversations:b,isLoading:x,isError:S,refetch:ee}=Qe(e,s),C=l||p||_,te=u||m||v,w=()=>{d(),h(),y()},T=(0,Y.useMemo)(()=>mt([c,f,g],b),[c,f,g,b]),E=(0,Y.useMemo)(()=>vt(T,i),[T,i]);return{merged:T,rows:(0,Y.useMemo)(()=>yt(E,n),[E,n]),searchText:n,setSearchText:r,filter:i,setFilter:a,loading:gt(i,{activeLoading:C,archivedLoading:x}),error:_t(i,{activeError:te,archivedError:S}),refetch:()=>{o&&w(),s&&ee()}}}var X=v();function xt(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 St({row:e,isFirst:t,onOpen:n,onArchive:r,onUnarchive:a,isPending:o}){let{t:s}=i(`settings`),{conversation:c,archived:l}=e,u=[xt(c.lastMessageAt??c.createdAt),c.source??`vellum-assistant`].filter(Boolean).join(` · `),f=c.title&&c.title.trim().length>0?c.title:s(`allConversationsView.untitled`);return(0,X.jsxs)(`div`,{className:`flex items-center gap-3 py-3 ${t?``:`border-t border-[var(--border-base)]`}`,children:[(0,X.jsxs)(`button`,{type:`button`,onClick:n,className:`min-w-0 flex-1 text-left`,children:[(0,X.jsx)(`div`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:f}),(0,X.jsx)(`p`,{className:`mt-0.5 truncate text-body-small-default text-[var(--content-tertiary)]`,children:u})]}),(0,X.jsx)(d,{variant:`outlined`,onClick:l?a:r,disabled:o,className:`shrink-0`,children:o?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(k,{className:`h-4 w-4 animate-spin`}),s(l?`allConversationsView.unarchiving`:`allConversationsView.archiving`)]}):l?s(`allConversationsView.unarchive`):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(S,{className:`h-4 w-4`}),s(`allConversationsView.archive`)]})})]})}function Ct({assistantId:e,title:t,initialFilter:n,onOpenConversation:a}){let{t:o}=i(`settings`),s=h(),{rows:c,searchText:l,setSearchText:u,filter:f,setFilter:p,loading:m,error:g,refetch:_}=bt(e,n),[v,y]=(0,Y.useState)(null),b=(0,Y.useMemo)(()=>[{value:`all`,label:o(`allConversationsView.filterAll`)},{value:`active`,label:o(`allConversationsView.filterActive`)},{value:`archived`,label:o(`allConversationsView.filterArchived`)}],[o]),x=(0,Y.useCallback)(async(t,n,i,a)=>{y(t.conversationId);try{await n({path:{assistant_id:e,id:t.conversationId},throwOnError:!0}),qe(s,e)}catch(e){r(e,{context:a}),B.error(i)}finally{y(null)}},[e,s]),S=(0,Y.useCallback)(e=>{x(e,Ne,o(`allConversationsView.archiveFailed`),`all_conversations_archive_conversation`)},[x,o]),ee=(0,Y.useCallback)(e=>{x(e,Pe,o(`allConversationsView.unarchiveFailed`),`all_conversations_unarchive_conversation`)},[x,o]);return m?(0,X.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,X.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2 border-[var(--border-base)] border-t-[var(--primary-base)]`,role:`status`,"aria-label":o(`allConversationsView.loading`)})}):g?(0,X.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4`,children:[(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:o(`allConversationsView.loadError`)}),(0,X.jsxs)(d,{variant:`outlined`,onClick:_,children:[(0,X.jsx)(j,{className:`h-4 w-4`}),o(`allConversationsView.retry`)]})]}):(0,X.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[t?(0,X.jsx)(`h1`,{className:`mb-4 shrink-0 text-title-large text-[var(--content-default)]`,children:t}):null,(0,X.jsxs)(`div`,{className:`mb-6 flex shrink-0 items-center gap-2`,children:[(0,X.jsx)(z,{fullWidth:!0,wrapperClassName:`min-w-0 flex-1`,type:`text`,placeholder:o(`allConversationsView.searchPlaceholder`),value:l,onChange:e=>u(e.target.value),leftIcon:(0,X.jsx)(M,{size:16})}),(0,X.jsx)(ce,{"aria-label":o(`allConversationsView.filterAria`),value:f,onChange:p,options:b,menuAlign:`end`,className:`w-36 shrink-0`})]}),(0,X.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,X.jsx)(wt,{rows:c,filter:f,searchText:l,pendingId:v,onOpen:a,onArchive:S,onUnarchive:ee})})]})}function wt({rows:e,filter:t,searchText:n,pendingId:r,onOpen:a,onArchive:o,onUnarchive:s}){let{t:c}=i(`settings`);if(e.length===0){if(n.trim())return(0,X.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,X.jsx)(M,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:c(`allConversationsView.noMatch`,{query:n})})]});let e=c(t===`archived`?`allConversationsView.emptyArchived`:t===`active`?`allConversationsView.emptyActive`:`allConversationsView.emptyAll`);return(0,X.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,X.jsx)(S,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e})]})}return(0,X.jsx)(`div`,{children:e.map((e,t)=>(0,X.jsx)(St,{row:e,isFirst:t===0,onOpen:()=>a(e.conversation.conversationId),onArchive:()=>o(e.conversation),onUnarchive:()=>s(e.conversation),isPending:r===e.conversation.conversationId},e.conversation.conversationId))})}function Tt(e,t,n,r){let i=!1,s=new AbortController;return(async()=>{if(i)return;let l=null;try{let{stream:u}=await Se.sse.get({url:`/v1/assistants/{assistant_id}/terminal/sessions/{session_id}/events/`,path:{assistant_id:e,session_id:t},headers:{Accept:`text/event-stream, application/json`,...He()},signal:s.signal,sseMaxRetryAttempts:0,onSseError:e=>{l=c(e,`Terminal stream disconnected`)}});for await(let e of u){if(i)return;let t=o(e);if(!t)continue;let r=a(t),s=typeof r.seq==`number`?r.seq:-1,c=typeof r.data==`string`?r.data:``;if(!(s<0||c===``))try{n({seq:s,data:c})}catch{}}if(i)return;if(l){r(l);return}r(Error(`Terminal stream ended unexpectedly`))}catch(e){if(i)return;r(c(e,`Terminal stream connection failed`))}})().catch(e=>{i||r(c(e,`Terminal stream setup failed`))}),{cancel:()=>{i=!0,s.abort()}}}var Z=ue(le()((e,t)=>({status:`idle`,errorMessage:null,reconnectAttempts:0,sessionId:null,requestConnect:()=>{let{status:n}=t();(n===`idle`||n===`closed`||n===`error`)&&e({status:`connecting`,errorMessage:null,reconnectAttempts:0})},connectSucceeded:n=>{t().status===`connecting`&&e({status:`connected`,sessionId:n,errorMessage:null,reconnectAttempts:0})},connectFailed:n=>{t().status===`connecting`&&e({status:`error`,errorMessage:n,sessionId:null})},disconnected:()=>{t().status===`connected`&&e({status:`error`,errorMessage:`Connection lost.`,sessionId:null})},requestReconnect:()=>{let{status:n,reconnectAttempts:r}=t();(n===`error`||n===`connected`)&&e({status:`reconnecting`,errorMessage:null,reconnectAttempts:r+1,sessionId:null})},reconnectSucceeded:n=>{t().status===`reconnecting`&&e({status:`connected`,sessionId:n,errorMessage:null,reconnectAttempts:0})},reconnectFailed:n=>{t().status===`reconnecting`&&e({status:`error`,errorMessage:n,sessionId:null})},errorOccurred:t=>{e({status:`error`,errorMessage:t,sessionId:null})},closed:()=>{e({status:`closed`,errorMessage:null,sessionId:null})},reset:()=>{e({status:`idle`,errorMessage:null,reconnectAttempts:0,sessionId:null})}}))),Et=50,Dt=150,Ot=3,kt=1e3;function At(){return{highWaterMark:-1}}function jt({assistantId:e,onData:t,service:n}){let r=(0,Y.useRef)(null),i=(0,Y.useRef)(t);(0,Y.useLayoutEffect)(()=>{i.current=t},[t]);let a=(0,Y.useRef)(``),o=(0,Y.useRef)(null),s=(0,Y.useRef)(null),c=(0,Y.useRef)(null),l=(0,Y.useRef)(null),u=(0,Y.useRef)(At()),d=(0,Y.useRef)(null),f=(0,Y.useRef)(!1),p=(0,Y.useRef)(null),m=(0,Y.useMemo)(()=>n?{service:n}:void 0,[n]),h=(0,Y.useCallback)(t=>{o.current||=setInterval(()=>{let n=a.current;!n||!e||(a.current=``,Te({path:{assistant_id:e,session_id:t},body:{data:n},throwOnError:!1}).catch(()=>{}))},Et)},[e]),g=(0,Y.useCallback)(()=>{o.current&&=(clearInterval(o.current),null),a.current=``},[]),_=(0,Y.useCallback)(async t=>{if(!e){t?Z.getState().reconnectFailed(`No assistant ID`):Z.getState().connectFailed(`No assistant ID`);return}let n;try{let{data:t,error:r,response:i}=await Ce({path:{assistant_id:e},body:m,throwOnError:!1});if(!i||!i.ok){let e=r&&typeof r==`object`&&!Array.isArray(r)?r.detail:void 0;throw Error(e??`Failed to create terminal session (HTTP ${i?.status??`unknown`})`)}let a=t&&typeof t==`object`&&!Array.isArray(t)?t:{},o=typeof a.session_id==`string`?a.session_id:typeof a.id==`string`?a.id:void 0;if(!o)throw Error(`Backend did not return a session ID`);n=o}catch(e){let n=e instanceof Error?e.message:`Failed to create terminal session`;t?Z.getState().reconnectFailed(n):Z.getState().connectFailed(n);return}let a=t?`reconnecting`:`connecting`;if(Z.getState().status!==a){q({path:{assistant_id:e,session_id:n},throwOnError:!1}).catch(()=>{});return}u.current=At(),r.current=Tt(e,n,e=>{if(!(e.seq<=u.current.highWaterMark)){u.current.highWaterMark=e.seq;try{i.current(e.data)}catch{}}},e=>{g(),Z.getState().errorOccurred(e.message)}),h(n),f.current=!1,p.current=n,t?Z.getState().reconnectSucceeded(n):Z.getState().connectSucceeded(n);let o=l.current;o&&e&&Ee({path:{assistant_id:e,session_id:n},body:{cols:o.cols,rows:o.rows},throwOnError:!1}).catch(()=>{})},[e,m,h,g]),v=Z.use.status(),y=Z.use.reconnectAttempts();(0,Y.useEffect)(()=>{if(v!==`error`||f.current||y>=Ot)return;let t=kt*2**y;return d.current=setTimeout(()=>{if(d.current=null,Z.getState().status!==`error`||f.current)return;r.current?.cancel(),r.current=null;let t=p.current;t&&e&&(p.current=null,q({path:{assistant_id:e,session_id:t},throwOnError:!1}).catch(()=>{})),Z.getState().requestReconnect(),_(!0)},t),()=>{d.current&&=(clearTimeout(d.current),null)}},[v,y,e,_]);let b=(0,Y.useCallback)(()=>{let{status:e}=Z.getState();e!==`idle`&&e!==`closed`&&e!==`error`||(Z.getState().requestConnect(),_(!1))},[_]),x=(0,Y.useCallback)(()=>{let{status:t,sessionId:n}=Z.getState();t!==`error`&&t!==`connected`||(r.current?.cancel(),r.current=null,g(),s.current&&=(clearTimeout(s.current),null),c.current=null,n&&e&&q({path:{assistant_id:e,session_id:n},throwOnError:!1}).catch(()=>{}),Z.getState().requestReconnect(),_(!0))},[e,_,g]),S=(0,Y.useCallback)(()=>{let{sessionId:t}=Z.getState();f.current=!0,d.current&&=(clearTimeout(d.current),null),r.current?.cancel(),r.current=null,g(),s.current&&=(clearTimeout(s.current),null),t&&e&&q({path:{assistant_id:e,session_id:t},throwOnError:!1}).catch(()=>{}),Z.getState().closed()},[e,g]),ee=(0,Y.useCallback)(e=>{a.current+=e},[]),C=(0,Y.useCallback)((t,n)=>{l.current={cols:t,rows:n};let{status:r,sessionId:i}=Z.getState();r!==`connected`||!i||!e||(c.current={cols:t,rows:n},s.current&&clearTimeout(s.current),s.current=setTimeout(()=>{s.current=null;let t=c.current,n=Z.getState();!t||!n.sessionId||n.status!==`connected`||!e||(c.current=null,Ee({path:{assistant_id:e,session_id:n.sessionId},body:{cols:t.cols,rows:t.rows},throwOnError:!1}).catch(()=>{}))},Dt))},[e]);return(0,Y.useEffect)(()=>()=>{f.current=!0,d.current&&=(clearTimeout(d.current),null),r.current?.cancel(),r.current=null,o.current&&=(clearInterval(o.current),null),s.current&&=(clearTimeout(s.current),null);let{sessionId:t}=Z.getState();t&&e&&q({path:{assistant_id:e,session_id:t},throwOnError:!1}).catch(()=>{}),Z.getState().reset()},[e]),{connect:b,reconnect:x,close:S,sendInput:ee,sendResize:C}}function Mt({onData:t,onResize:n,className:r,readOnly:a=!1,writeRef:o}){let{t:s}=i(`terminal`),c=(0,Y.useRef)(null),l=(0,Y.useRef)(null),u=(0,Y.useRef)(t),d=(0,Y.useRef)(n),p=(0,Y.useRef)(a);return(0,Y.useLayoutEffect)(()=>{u.current=t,d.current=n,p.current=a}),(0,Y.useEffect)(()=>{let e=l.current;e&&(e.options.disableStdin=a,a||e.focus())},[a]),(0,Y.useEffect)(()=>{if(!c.current)return;let t=c.current,n=!1,r=null,i=null,s=null,m=null;return Promise.all([f(()=>import(`./xterm-DdHeF_2A.js`).then(t=>e(t.default,1)),__vite__mapDeps([0,1])),f(()=>import(`./xterm-addon-fit-CoHQbqyC.js`).then(t=>e(t.default,1)),__vite__mapDeps([2,1]))]).then(([{Terminal:e},{FitAddon:c}])=>{if(n||!t)return;let f=new e({cursorBlink:!0,fontFamily:`"JetBrains Mono", "Fira Code", monospace`,fontSize:14,theme:{background:`#0f1117`,foreground:`#d4d4d4`,cursor:`#d4d4d4`,black:`#1e1e1e`,brightBlack:`#666666`,red:`#f44747`,brightRed:`#f44747`,green:`#6a9955`,brightGreen:`#6a9955`,yellow:`#dcdcaa`,brightYellow:`#dcdcaa`,blue:`#569cd6`,brightBlue:`#569cd6`,magenta:`#c586c0`,brightMagenta:`#c586c0`,cyan:`#4ec9b0`,brightCyan:`#4ec9b0`,white:`#d4d4d4`,brightWhite:`#ffffff`},disableStdin:a,scrollback:2e3});r=f;let h=new c;f.loadAddon(h),f.open(t),l.current=f,f.attachCustomKeyEventHandler(e=>e.key===`k`&&e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey?(e.type===`keydown`&&(e.preventDefault(),f.clear()),!1):!0);try{h.fit(),f.cols&&f.rows&&d.current?.({cols:f.cols,rows:f.rows})}catch{}s=f.onData(e=>{p.current||u.current?.(e)}),m=f.onResize(({cols:e,rows:t})=>{d.current?.({cols:e,rows:t})}),i=new ResizeObserver(()=>{try{h.fit()}catch{}}),i.observe(t),o&&(o.current=e=>f.write(e))}),()=>{n=!0,i?.disconnect(),s?.dispose(),m?.dispose(),r?.dispose(),l.current=null,o&&(o.current=null)}},[]),(0,X.jsx)(`div`,{ref:c,className:r,style:{width:`100%`,height:`100%`,overflow:`hidden`},role:`region`,"aria-label":s(`terminalConsole.consoleAria`)})}function Nt({status:e,onConnect:t,onDisconnect:n,onClear:r,className:a,maintenanceModeActive:o}){let{t:s}=i(`terminal`),c=e===`connecting`||e===`reconnecting`,l=e===`connected`,u=e===`idle`||e===`closed`||e===`error`;return(0,X.jsxs)(`div`,{className:[`flex items-center justify-between gap-3 border-b px-3 py-1.5`,a].filter(Boolean).join(` `),style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,X.jsx)(P,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}),(0,X.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-secondary)`},children:s(`terminalToolbar.heading`)}),(0,X.jsx)(Pt,{status:e}),o&&(0,X.jsx)(R,{tone:`warning`,leftIcon:(0,X.jsx)(F,{}),title:s(`terminalToolbar.recoveryTitle`),children:s(`terminalToolbar.recoveryTag`)})]}),(0,X.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,X.jsx)(d,{variant:`ghost`,size:`compact`,leftIcon:(0,X.jsx)(I,{}),onClick:r,title:s(`terminalToolbar.clearTitle`),children:s(`terminalToolbar.clear`)}),l||c?(0,X.jsx)(d,{variant:`danger`,size:`compact`,leftIcon:c?(0,X.jsx)(k,{className:`animate-spin`}):(0,X.jsx)(ut,{}),onClick:n,disabled:c,title:s(`terminalToolbar.disconnectTitle`),children:s(`terminalToolbar.disconnect`)}):(0,X.jsx)(d,{variant:`primary`,size:`compact`,leftIcon:(0,X.jsx)(at,{}),onClick:t,disabled:!u,title:s(`terminalToolbar.connectTitle`),children:s(`terminalToolbar.connect`)})]})]})}function Pt({status:e}){let{t}=i(`terminal`),n=Ft[e],r=t(n.labelKey);return(0,X.jsx)(R,{tone:n.tone,leftIcon:(0,X.jsx)(`span`,{className:[`h-1.5 w-1.5 rounded-full bg-current`,n.pulse?`animate-pulse`:``].filter(Boolean).join(` `)}),"aria-label":t(`terminalToolbar.statusAria`,{status:r}),children:r})}var Ft={idle:{labelKey:`terminalStatus.idle`,tone:`neutral`},connecting:{labelKey:`terminalStatus.connecting`,tone:`warning`,pulse:!0},connected:{labelKey:`terminalStatus.connected`,tone:`positive`},reconnecting:{labelKey:`terminalStatus.reconnecting`,tone:`warning`,pulse:!0},error:{labelKey:`terminalStatus.error`,tone:`negative`},closed:{labelKey:`terminalStatus.closed`,tone:`neutral`}};function It({assistantId:e,className:t,maintenanceMode:n,service:r}){let{t:a}=i(),o=(0,Y.useRef)(null),{connect:s,close:c,sendInput:l,sendResize:u,reconnect:d}=jt({assistantId:e,onData:(0,Y.useCallback)(e=>{try{let t=atob(e);o.current?.(t)}catch{o.current?.(e)}},[]),service:r}),f=Z.use.status(),p=Z.use.errorMessage(),m=Z.use.reconnectAttempts(),h=(0,Y.useCallback)(()=>{f===`error`||f===`reconnecting`||m>0?d():s()},[f,m,s,d]),g=(0,Y.useCallback)(e=>{l(e)},[l]),_=(0,Y.useCallback)(({cols:e,rows:t})=>{u(e,t)},[u]),v=(0,Y.useCallback)(()=>{o.current?.(`\x1B[2J\x1B[H`)},[]),y=f!==`connected`,b=n?.enabled===!0;return(0,X.jsxs)(`div`,{className:[`flex flex-col overflow-hidden rounded-lg border border-[var(--border-base)]`,t].filter(Boolean).join(` `),children:[(0,X.jsx)(Nt,{status:f,onConnect:h,onDisconnect:c,onClear:v,maintenanceModeActive:b}),b&&(0,X.jsx)(`div`,{className:`border-b border-[var(--system-mid-strong)] bg-[var(--system-mid-weak)] px-3 py-2 text-body-small-default text-[var(--system-mid-strong)]`,children:a(`terminalPanel.recoveryModeBanner`)}),f===`error`&&p&&(0,X.jsx)(`div`,{className:`border-b border-[var(--border-base)] bg-[var(--system-negative-weak)] px-3 py-2 text-body-small-default text-[var(--system-negative-strong)]`,children:p}),(0,X.jsx)(`div`,{className:`relative min-h-0 flex-1`,children:(0,X.jsx)(`div`,{className:`absolute inset-0`,children:(0,X.jsx)(Mt,{onData:g,onResize:_,readOnly:y,writeRef:o,className:`h-full w-full`})})})]})}function Lt(){let{t:e}=i(`settings`),t=J({platformHostedOnly:!0}),n=Ve(),[a,o]=(0,Y.useState)(null),[s,c]=(0,Y.useState)(null),[l,u]=(0,Y.useState)(!0),[d,f]=(0,Y.useState)(`assistant`),p=(0,Y.useRef)(!1),m=(0,Y.useMemo)(()=>[{value:`assistant`,label:`assistant`},{value:`gateway`,label:`gateway`},{value:`credential-executor`,label:`credential-executor`}],[]),h=(0,Y.useCallback)(async t=>{if(!(!t&&p.current)){t||u(!0);try{let e=await Fe();e.ok&&(p.current=!0,o(e.data.id),c(e.data.maintenance_mode))}catch(t){r(t,{context:`fetch_assistant_for_terminal`}),B.error(e(`assistantTerminalPanel.loadErrorToast`))}finally{u(!1)}}},[e]);if((0,Y.useEffect)(()=>{t===`full`&&h()},[h,t]),t===`gated`)return null;let g=l||t===`full`&&n;return(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4`,children:[(0,X.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-3`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,X.jsx)(`div`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-[var(--surface-base)]`,children:(0,X.jsx)(P,{className:`h-5 w-5 text-[var(--content-secondary)]`})}),(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`assistantTerminalPanel.title`)}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`assistantTerminalPanel.subtitle`)})]})]}),a&&(0,X.jsx)(ce,{options:[...m],value:d,onChange:f,"aria-label":e(`assistantTerminalPanel.targetContainer`)})]}),t===`disabled`?(0,X.jsx)(et,{children:e(`assistantTerminalPanel.loginNotice`)}):g?(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,X.jsx)(`span`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-[var(--border-element)] border-t-[var(--content-secondary)]`}),e(`assistantTerminalPanel.loading`)]}):a?(0,X.jsx)(It,{assistantId:a,maintenanceMode:s??void 0,service:d,className:`min-h-0 flex-1`},d):(0,X.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] px-4 py-3 text-body-medium-lighter text-[var(--content-tertiary)]`,children:(0,X.jsxs)(`div`,{className:`flex items-center gap-2 px-1 py-0.5`,children:[(0,X.jsx)(P,{className:`h-4 w-4 shrink-0`}),(0,X.jsx)(`span`,{children:e(`assistantTerminalPanel.noAssistant`)})]})})]})}var Rt=3,zt={point_in_time:`neutral`,scheduled:`positive`,preview_channel:`warning`,doctor:`warning`};function Bt({type:e}){let{t}=i(`settings`),n=e;return e===`point_in_time`?n=t(`assistantBackups.typePointInTime`):e===`scheduled`?n=t(`assistantBackups.typeScheduled`):e===`preview_channel`?n=t(`assistantBackups.typePreview`):e===`doctor`&&(n=t(`assistantBackups.typeDoctor`)),(0,X.jsx)(R,{tone:zt[e]??`neutral`,children:n})}function Vt(e){if(e==null)return`—`;let t=String(e);/Z|[+-]\d{2}:?\d{2}$/.test(t)||(t+=`Z`);let n=new Date(t);return Number.isNaN(n.getTime())?`—`:n.toLocaleString(`en-US`,{year:`numeric`,month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`})}function Ht({assistantId:e}){let{t}=i(`settings`),[n,r]=(0,Y.useState)(null),[a,o]=(0,Y.useState)(null),[s,c]=(0,Y.useState)([]),[l,u]=(0,Y.useState)(0),[f,p]=(0,Y.useState)(null),[m,h]=(0,Y.useState)(null),[g,_]=(0,Y.useState)(!1),[v,b]=(0,Y.useState)(null),x=(0,Y.useCallback)(e=>{$e(e,{errorMessage:t(`assistantBackups.copyFailed`),onCopied:()=>{b(e),setTimeout(()=>b(null),2e3)}})},[t]),S=n!==e;(0,Y.useEffect)(()=>{let n=!1;return Ie(e).then(i=>{n||(i.ok?(c(i.data),o(null)):o(typeof i.error?.detail==`string`?i.error.detail:t(`assistantBackups.loadFailed`)),r(e))}).catch(()=>{n||(o(t(`assistantBackups.loadFailed`)),r(e))}),()=>{n=!0}},[e,l,t]);let ee=(0,Y.useCallback)(async()=>{if(!m)return;let n=m;h(null),p(n.snapshot_name);try{let r=await ze(e,n);if(r.ok)B.success(t(`assistantBackups.restoreSuccessToast`)),u(e=>e+1);else{let e=typeof r.error?.detail==`string`?r.error.detail:t(`assistantBackups.restoreFailedToast`);B.error(e)}}catch{B.error(t(`assistantBackups.restoreFailedToast`))}finally{p(null)}},[e,m,t]),te=(0,Y.useCallback)(async()=>{_(!0);try{let n=await Le(e);if(n.ok)B.success(t(`assistantBackups.createSuccessToast`)),u(e=>e+1);else{let e=typeof n.error?.detail==`string`?n.error.detail:t(`assistantBackups.createFailedToast`);B.error(e)}}catch{B.error(t(`assistantBackups.createFailedToast`))}finally{_(!1)}},[e,t]);if(S)return(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,X.jsx)(k,{className:`h-4 w-4 animate-spin`}),t(`assistantBackups.loading`)]});if(a)return(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--system-negative-strong)]`,children:[(0,X.jsx)(ae,{className:`h-4 w-4 shrink-0`}),a]});let w=s.filter(e=>e.backup_type===`point_in_time`).length,T=(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-3`,children:[w>=Rt&&(0,X.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t(`assistantBackups.oldestRemovedNotice`)}),(0,X.jsx)(d,{variant:`outlined`,leftIcon:g?(0,X.jsx)(k,{className:`animate-spin`}):(0,X.jsx)(st,{}),onClick:te,disabled:g||f!==null,className:`shrink-0`,children:t(g?`assistantBackups.creating`:`assistantBackups.createBackup`)})]});return s.length===0?(0,X.jsxs)(`div`,{className:`space-y-3`,children:[(0,X.jsx)(`div`,{className:`flex justify-end`,children:T}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:t(`assistantBackups.empty`)})]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`space-y-2`,children:[T,(0,X.jsx)(`div`,{className:`hidden lg:block`,children:(0,X.jsxs)(`table`,{className:`w-full table-fixed text-body-medium-lighter`,children:[(0,X.jsx)(`thead`,{children:(0,X.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] text-left text-body-small-default text-[var(--content-secondary)]`,children:[(0,X.jsx)(`th`,{className:`w-[35%] pb-2 pr-4`,children:t(`assistantBackups.columnSnapshotName`)}),(0,X.jsx)(`th`,{className:`w-[13%] pb-2 pr-4`,children:t(`assistantBackups.columnType`)}),(0,X.jsx)(`th`,{className:`w-[12%] pb-2 pr-4`,children:t(`assistantBackups.columnReady`)}),(0,X.jsx)(`th`,{className:`w-[20%] pb-2 pr-4`,children:t(`assistantBackups.columnCreated`)}),(0,X.jsx)(`th`,{className:`w-[20%] pb-2`})]})}),(0,X.jsx)(`tbody`,{children:s.map(e=>(0,X.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] last:border-0`,children:[(0,X.jsx)(`td`,{className:`py-2.5 pr-4`,children:(0,X.jsxs)(`div`,{"data-reveal-row":``,className:`flex items-center gap-1`,children:[(0,X.jsx)(`code`,{className:`truncate text-body-small-default text-[var(--content-default)]`,title:e.snapshot_name,children:e.snapshot_name}),(0,X.jsx)(`button`,{type:`button`,onClick:()=>x(e.snapshot_name),"data-reveal":``,className:`shrink-0 text-[var(--content-secondary)] hover:text-[var(--content-default)]`,title:t(`assistantBackups.copySnapshotName`),children:v===e.snapshot_name?(0,X.jsx)(C,{className:`h-3.5 w-3.5 text-green-500`}):(0,X.jsx)(y,{className:`h-3.5 w-3.5`})})]})}),(0,X.jsx)(`td`,{className:`overflow-hidden whitespace-nowrap py-2.5 pr-4`,children:(0,X.jsx)(Bt,{type:e.backup_type})}),(0,X.jsx)(`td`,{className:`overflow-hidden whitespace-nowrap py-2.5 pr-4`,children:(0,X.jsx)(R,{tone:e.ready_to_use?`positive`:`warning`,children:e.ready_to_use?t(`assistantBackups.ready`):t(`assistantBackups.pending`)})}),(0,X.jsx)(`td`,{className:`overflow-hidden whitespace-nowrap py-2.5 pr-4 text-body-medium-default text-[var(--content-default)]`,children:Vt(e.created_at)}),(0,X.jsx)(`td`,{className:`py-2.5 text-right`,children:(0,X.jsx)(d,{variant:`ghost`,leftIcon:f===e.snapshot_name?(0,X.jsx)(k,{className:`animate-spin`}):(0,X.jsx)(j,{}),onClick:()=>h(e),disabled:f!==null||!e.ready_to_use,title:e.ready_to_use?void 0:t(`assistantBackups.notReady`),children:t(`assistantBackups.restore`)})})]},e.snapshot_name))})]})}),(0,X.jsx)(`div`,{className:`flex flex-col gap-3 lg:hidden`,children:s.map(e=>(0,X.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] p-3`,children:[(0,X.jsxs)(`div`,{className:`mb-2 flex items-center gap-1`,children:[(0,X.jsx)(`code`,{className:`truncate text-body-small-default text-[var(--content-default)]`,title:e.snapshot_name,children:e.snapshot_name}),(0,X.jsx)(`button`,{type:`button`,onClick:()=>x(e.snapshot_name),className:`shrink-0 text-[var(--content-secondary)] hover:text-[var(--content-default)]`,title:t(`assistantBackups.copySnapshotName`),children:v===e.snapshot_name?(0,X.jsx)(C,{className:`h-3.5 w-3.5 text-green-500`}):(0,X.jsx)(y,{className:`h-3.5 w-3.5`})})]}),(0,X.jsxs)(`div`,{className:`mb-2 flex flex-wrap items-center gap-2 text-body-medium-lighter`,children:[(0,X.jsx)(Bt,{type:e.backup_type}),(0,X.jsx)(R,{tone:e.ready_to_use?`positive`:`warning`,children:e.ready_to_use?t(`assistantBackups.ready`):t(`assistantBackups.pending`)}),(0,X.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:Vt(e.created_at)})]}),(0,X.jsx)(d,{variant:`ghost`,leftIcon:f===e.snapshot_name?(0,X.jsx)(k,{className:`animate-spin`}):(0,X.jsx)(j,{}),onClick:()=>h(e),disabled:f!==null||!e.ready_to_use,title:e.ready_to_use?void 0:t(`assistantBackups.notReady`),children:t(`assistantBackups.restore`)})]},e.snapshot_name))})]}),(0,X.jsx)(se,{open:m!==null,title:t(`assistantBackups.restoreTitle`),message:m?t(`assistantBackups.restoreMessage`,{name:m.snapshot_name}):``,confirmLabel:t(`assistantBackups.restore`),destructive:!0,onConfirm:ee,onCancel:()=>h(null)})]})}function Ut({assistantId:e,maintenanceMode:t,onMaintenanceModeChange:n}){let{t:a}=i(`settings`),[o,s]=(0,Y.useState)(!1),[c,l]=(0,Y.useState)(null),u=J({platformHostedOnly:!0}),f=Ve(),p=(0,Y.useCallback)(async()=>{s(!0),l(null);try{let{response:t}=await we({path:{assistant_id:e},throwOnError:!1});t?.ok?await n():(r(Error(`Enter maintenance mode returned non-ok response`),{context:`enter_maintenance_mode`}),l(a(`recoveryModeControls.enterError`)))}catch(e){r(e,{context:`enter_maintenance_mode`}),l(a(`recoveryModeControls.enterError`))}finally{s(!1)}},[e,n,a]),m=(0,Y.useCallback)(async()=>{s(!0),l(null);try{let{response:t}=await ke({path:{assistant_id:e},throwOnError:!1});t?.ok?await n():(r(Error(`Exit maintenance mode returned non-ok response`),{context:`exit_maintenance_mode`}),l(a(`recoveryModeControls.exitError`)))}catch(e){r(e,{context:`exit_maintenance_mode`}),l(a(`recoveryModeControls.exitError`))}finally{s(!1)}},[e,n,a]);if(u===`gated`)return null;let h=t?.enabled===!0,g=o||u===`full`&&f;return(0,X.jsxs)(`div`,{className:`space-y-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-[var(--border-base)] px-4 py-3`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,X.jsx)(F,{className:`h-4 w-4 shrink-0 ${h?`text-[var(--system-mid-strong)]`:`text-[var(--content-disabled)]`}`}),(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:a(`recoveryModeControls.title`)}),h?(0,X.jsx)(`p`,{className:`text-body-small-default text-[var(--system-mid-strong)]`,children:a(`recoveryModeControls.activeDescription`)}):(0,X.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:a(`recoveryModeControls.inactiveDescription`)})]})]}),(0,X.jsx)(`div`,{className:`ml-4 flex shrink-0 items-center gap-2`,children:u===`disabled`?null:g?(0,X.jsx)(k,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}):h?(0,X.jsx)(d,{variant:`outlined`,onClick:m,children:a(`recoveryModeControls.resumeAssistant`)}):(0,X.jsx)(d,{variant:`dangerOutline`,onClick:p,children:a(`recoveryModeControls.enter`)})})]}),u===`disabled`&&(0,X.jsx)(et,{children:a(h?`recoveryModeControls.loginNoticeExit`:`recoveryModeControls.loginNoticeEnter`)}),c&&(0,X.jsx)(oe,{tone:`error`,children:c})]})}async function Wt(e,t,n){let r=await _e(e);if(!r.ok)return{ok:!1,error:r.error??t};let i=await G(e);return i.ok?{ok:!0}:{ok:!1,error:i.error??n}}function Gt({assistantId:e,isLocal:t}){let{t:n}=i(`settings`),[r,a]=(0,Y.useState)(!1),[o,s]=(0,Y.useState)(!1);return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(d,{variant:`outlined`,leftIcon:r?(0,X.jsx)(k,{className:`animate-spin`}):(0,X.jsx)(j,{}),onClick:()=>s(!0),disabled:r,className:`shrink-0`,children:n(`restartAssistant.button`)}),(0,X.jsx)(se,{open:o,title:n(`restartAssistant.confirmTitle`),message:n(`restartAssistant.confirmMessage`),confirmLabel:n(`restartAssistant.confirmLabel`),onConfirm:async()=>{s(!1),a(!0);try{if(t&&ge()&&K(e)){let t=await Wt(e,n(`restartAssistant.failStop`),n(`restartAssistant.failStart`));t.ok?B.success(n(`restartAssistant.toastRestarting`)):B.error(t.error??n(`restartAssistant.toastFailed`))}else{let t=await Re(e);if(t.ok)B.success(n(`restartAssistant.toastRestarting`));else{let e=typeof t.error?.detail==`string`?t.error.detail:n(`restartAssistant.toastFailed`);B.error(e)}}}catch{B.error(n(`restartAssistant.toastFailed`))}finally{a(!1)}},onCancel:()=>s(!1)})]})}function Kt(e){return e?.isStaff===!0||e?.email?.toLowerCase().endsWith(`@vellum.ai`)===!0}function qt(){let{t:e}=i(`settings`),t=p(),n=xe.use.user(),a=J(),o=Kt(n),[s,c]=(0,Y.useState)(null),[l,u]=(0,Y.useState)(!0),f=(0,Y.useRef)(!1),m=(0,Y.useCallback)(()=>{be(n?.id??null),B.success(e(`debugControlsPanel.onboardingClearedToast`)),t(Be.onboarding.privacy)},[t,e,n?.id]),h=(0,Y.useCallback)(async t=>{if(!(!t&&f.current)){t||u(!0);try{let e=await Fe();e.ok?(f.current=!0,c(e.data)):c(null)}catch(t){r(t,{context:`fetch_assistant_for_debug_controls`}),B.error(e(`debugControlsPanel.loadFailedToast`))}finally{u(!1)}}},[e]);return(0,Y.useEffect)(()=>{h()},[h]),(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,X.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg bg-[var(--surface-base)]`,children:(0,X.jsx)(F,{className:`h-5 w-5 text-[var(--content-secondary)]`})}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`debugControlsPanel.title`)}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`debugControlsPanel.subtitle`)})]})]}),l?(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,X.jsx)(k,{className:`h-4 w-4 animate-spin`}),e(`debugControlsPanel.loading`)]}):s?(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:[(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`debugControlsPanel.restartTitle`)}),(0,X.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e(`debugControlsPanel.restartDescription`)})]}),(0,X.jsx)(`div`,{className:`ml-4 shrink-0`,children:(0,X.jsx)(Gt,{assistantId:s.id,isLocal:s.is_local})})]}),(0,X.jsx)(Ut,{assistantId:s.id,maintenanceMode:s.maintenance_mode,onMaintenanceModeChange:()=>h(!0)}),o&&(0,X.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:[(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`debugControlsPanel.replayTitle`)}),(0,X.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e(`debugControlsPanel.replayDescription`)})]}),(0,X.jsx)(`div`,{className:`ml-4 shrink-0`,children:(0,X.jsx)(d,{variant:`outlined`,leftIcon:(0,X.jsx)(ot,{}),onClick:m,children:e(`debugControlsPanel.replay`)})})]}),a===`disabled`&&(0,X.jsx)(et,{children:e(`debugControlsPanel.loginNotice`)}),a!==`disabled`&&(0,X.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:[(0,X.jsxs)(`div`,{className:`mb-3 flex items-center gap-2`,children:[(0,X.jsx)(ne,{className:`h-4 w-4 text-[var(--content-secondary)]`}),(0,X.jsx)(`h3`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`debugControlsPanel.backups`)})]}),(0,X.jsx)(Ht,{assistantId:s.id})]})]}):(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`debugControlsPanel.noAssistant`)})]})}function Jt({text:e}){let{t}=i(`settings`),[n,r]=(0,Y.useState)(!1),a=(0,Y.useRef)(null);return(0,Y.useEffect)(()=>()=>{a.current&&clearTimeout(a.current)},[]),(0,X.jsx)(`button`,{type:`button`,onClick:()=>{$e(e,{errorMessage:t(`doctorChatBlocks.copyError`),onCopied:()=>{r(!0),a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{r(!1),a.current=null},1500)}})},title:t(n?`doctorChatBlocks.copyTitleCopied`:`doctorChatBlocks.copyTitle`),"aria-label":t(n?`doctorChatBlocks.copyAriaCopied`:`doctorChatBlocks.copyAria`),"data-reveal":``,className:`flex h-6 w-6 cursor-pointer items-center justify-center rounded-md bg-[var(--surface-overlay)] text-[var(--content-tertiary)] hover:text-[var(--content-secondary)]`,children:(0,X.jsxs)(`div`,{className:`relative h-3.5 w-3.5`,children:[(0,X.jsx)(C,{className:`absolute inset-0 h-3.5 w-3.5 text-[var(--system-positive-strong)] transition-opacity duration-150 ${n?`opacity-100`:`opacity-0`}`}),(0,X.jsx)(y,{className:`absolute inset-0 h-3.5 w-3.5 transition-opacity duration-150 ${n?`opacity-0`:`opacity-100`}`})]})})}function Yt({entry:e}){let{t}=i(`settings`),[n,r]=(0,Y.useState)(!1),{toolName:a,input:o,result:s,isError:c,status:l}=e.meta,u=l===`running`,d=t(u?`doctorChatBlocks.runningStep`:c?`doctorChatBlocks.failedStep`:`doctorChatBlocks.completedStep`),f=!u&&(s!==void 0||Object.keys(o).length>0);return(0,X.jsxs)(`div`,{className:`my-1 w-full`,children:[(0,X.jsxs)(`button`,{type:`button`,onClick:()=>{f&&r(!n)},className:`flex w-full items-center gap-2 rounded-lg px-3 py-2 transition-colors ${c?`bg-[var(--system-negative-weak)]`:`bg-[var(--surface-base)]`} ${f?`cursor-pointer hover:bg-[var(--surface-hover)]`:`cursor-default`} ${n?`rounded-b-none`:``}`,children:[u?(0,X.jsx)(k,{className:`h-4 w-4 shrink-0 animate-spin text-[var(--content-disabled)]`}):c?(0,X.jsx)(D,{className:`h-4 w-4 shrink-0 text-[var(--system-negative-strong)]`}):(0,X.jsx)(E,{className:`h-4 w-4 shrink-0 text-[var(--system-positive-strong)]`}),(0,X.jsx)(`span`,{className:`text-body-medium-default ${c?`text-[var(--system-negative-strong)]`:`text-[var(--content-default)]`}`,children:d}),(0,X.jsx)(`span`,{className:`ml-auto flex items-center gap-1.5 text-[var(--content-tertiary)]`,children:f&&(n?(0,X.jsx)(T,{className:`h-4 w-4`}):(0,X.jsx)(te,{className:`h-4 w-4`}))})]}),n&&f&&(0,X.jsxs)(`div`,{className:`rounded-b-lg border-t px-3 pb-3 ${c?`border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)]`:`border-[var(--border-base)] bg-[var(--surface-base)] dark:bg-[var(--surface-lift)]`}`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2 py-2`,children:[(0,X.jsx)(F,{className:`h-3.5 w-3.5`}),(0,X.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:a})]}),(0,X.jsx)(`div`,{className:`border-t border-[var(--border-base)]`}),(0,X.jsxs)(`div`,{className:`mt-2.5`,children:[(0,X.jsx)(`div`,{className:`mb-1.5 text-[10px] font-semibold uppercase tracking-wider text-[var(--content-disabled)]`,children:t(`doctorChatBlocks.technicalDetails`)}),Object.entries(o).map(([e,t])=>(0,X.jsxs)(`div`,{className:`mt-0.5`,children:[(0,X.jsxs)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:[e,`:`]}),` `,(0,X.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:typeof t==`string`?t.length>200?t.slice(0,200)+`...`:t:JSON.stringify(t)})]},e))]}),s!==void 0&&(0,X.jsxs)(`div`,{className:`mt-3`,children:[(0,X.jsx)(`div`,{className:`mb-1.5 text-[10px] font-semibold uppercase tracking-wider text-[var(--content-disabled)]`,children:t(`doctorChatBlocks.output`)}),(0,X.jsx)(`div`,{className:`rounded-md border p-3 ${c?`border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)]/50`:`border-[var(--border-element)] bg-[var(--surface-base)]`}`,children:(0,X.jsx)(`pre`,{className:`max-h-60 overflow-y-auto whitespace-pre-wrap break-words text-body-small-default ${c?`text-[var(--system-negative-strong)]`:`text-[var(--content-default)]`}`,children:s.length>2e3?s.slice(0,2e3)+`...`:s})})]})]})]})}function Xt({entry:e,onRespond:t,disabled:n}){let{t:r}=i(`settings`),{toolName:a,description:o,input:s}=e.meta,[c,l]=(0,Y.useState)(!1),u=!!a||!!o||!!s,d=a===`exec_command`;return(0,X.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:[(0,X.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,X.jsx)(N,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,X.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:r(`doctorChatBlocks.confirmationRequired`)})]}),(0,X.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,X.jsx)(`button`,{type:`button`,disabled:n,onClick:()=>t(`approve`),className:`flex items-center gap-1.5 rounded-md bg-[var(--system-positive-strong)] px-3 py-1.5 text-body-small-default text-white transition-colors hover:bg-[var(--system-positive-strong)] disabled:cursor-not-allowed disabled:opacity-50`,children:r(`doctorChatBlocks.allowOnce`)}),d&&(0,X.jsx)(`button`,{type:`button`,disabled:n,onClick:()=>t(`approve all exec`),className:`flex items-center gap-1.5 rounded-md border border-[var(--system-positive-strong)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-small-default text-[var(--system-positive-strong)] transition-colors hover:bg-[var(--system-positive-weak)] disabled:cursor-not-allowed disabled:opacity-50`,children:r(`doctorChatBlocks.alwaysAllow`)}),(0,X.jsx)(`button`,{type:`button`,disabled:n,onClick:()=>t(`deny`),className:`flex items-center gap-1.5 rounded-md border border-[var(--system-negative-strong)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-small-default text-[var(--system-negative-strong)] transition-colors hover:bg-[var(--system-negative-weak)] disabled:cursor-not-allowed disabled:opacity-50`,children:r(`doctorChatBlocks.deny`)})]})]}),u&&(0,X.jsxs)(`div`,{className:`mt-3`,children:[(0,X.jsxs)(`button`,{type:`button`,onClick:()=>l(!c),className:`flex items-center gap-1 text-body-small-default text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-default)]`,children:[(0,X.jsx)(w,{className:`h-3 w-3 transition-transform ${c?`rotate-90`:``}`}),r(c?`doctorChatBlocks.hideDetails`:`doctorChatBlocks.showDetails`)]}),c&&(0,X.jsxs)(`div`,{className:`mt-2 space-y-1.5`,children:[a&&(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,X.jsx)(`span`,{children:r(`doctorChatBlocks.toolLabel`)}),(0,X.jsx)(`code`,{className:`rounded bg-[var(--surface-base)] px-1.5 py-0.5 font-mono text-[var(--content-secondary)] dark:bg-[var(--surface-lift)] dark:text-[var(--content-default)]`,children:a})]}),o&&(0,X.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:o}),s&&Object.keys(s).length>0&&(0,X.jsx)(`pre`,{className:`overflow-x-auto whitespace-pre-wrap rounded bg-[var(--surface-base)] p-2 text-label-medium-default text-[var(--content-secondary)] dark:bg-[var(--surface-lift)] dark:text-[var(--content-default)]`,children:JSON.stringify(s,null,2)})]})]})]})}function Zt({entry:e,onRespond:t,disabled:n}){let{t:r}=i(`settings`),{toolName:a}=e.meta;return(0,X.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:(0,X.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,X.jsx)(ne,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:r(`doctorChatBlocks.backupPromptTitle`)}),(0,X.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:(0,X.jsx)(ye,{ns:`settings`,i18nKey:`doctorChatBlocks.backupPromptBody`,values:{toolName:a},components:{toolCode:(0,X.jsx)(`code`,{className:`rounded bg-[var(--surface-base)] px-1 py-0.5 font-mono text-[var(--content-secondary)]`})}})})]})]}),(0,X.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,X.jsx)(d,{variant:`primary`,disabled:n,onClick:()=>t(`backup`),children:r(`doctorChatBlocks.backUp`)}),(0,X.jsx)(d,{variant:`outlined`,disabled:n,onClick:()=>t(`skip_backup`),children:r(`doctorChatBlocks.skip`)})]})]})})}function Qt({onOpenFeedback:e}){let{t}=i(`settings`);return(0,X.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:(0,X.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,X.jsx)(A,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:t(`doctorChatBlocks.feedbackTitle`)}),(0,X.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t(`doctorChatBlocks.feedbackBody`)})]})]}),(0,X.jsx)(`div`,{className:`flex shrink-0`,children:(0,X.jsx)(d,{variant:`outlined`,onClick:e,leftIcon:(0,X.jsx)(A,{}),children:t(`doctorChatBlocks.shareFeedback`)})})]})})}function $t({question:e,answer:t,onRespond:n,disabled:r}){let{t:a}=i(`settings`);return(0,X.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:(0,X.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,X.jsx)(E,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,X.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e})]}),t?(0,X.jsx)(`span`,{className:`flex shrink-0 items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:t===`resolved`?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(lt,{className:`h-4 w-4 text-[var(--system-positive-strong)]`}),a(`doctorChatBlocks.gladSolved`)]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(ct,{className:`h-4 w-4`}),a(`doctorChatBlocks.notSolved`)]})}):(0,X.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,X.jsx)(d,{variant:`outlined`,onClick:()=>n(!0),disabled:r,iconOnly:(0,X.jsx)(lt,{}),"aria-label":a(`doctorChatBlocks.solvedAria`),title:a(`doctorChatBlocks.solvedAria`)}),(0,X.jsx)(d,{variant:`outlined`,onClick:()=>n(!1),disabled:r,iconOnly:(0,X.jsx)(ct,{}),"aria-label":a(`doctorChatBlocks.notSolvedAria`),title:a(`doctorChatBlocks.notSolvedAria`)})]})]})})}function en({entry:e}){return(0,X.jsxs)(`div`,{"data-reveal-row":``,className:`flex items-start justify-end gap-1.5`,children:[(0,X.jsx)(`div`,{className:`flex shrink-0 items-center self-center`,children:(0,X.jsx)(Jt,{text:e.content})}),(0,X.jsx)(`div`,{className:`max-w-[80%] whitespace-pre-wrap rounded-lg bg-[var(--surface-lift)] px-4 py-3 text-chat text-[var(--content-default)]`,children:e.content})]})}var tn=({href:e,children:t})=>(0,X.jsx)(tt,{href:e,className:nt,children:t});function nn({entry:e}){return(0,X.jsxs)(`div`,{"data-reveal-row":``,className:`flex items-start justify-start gap-1.5`,children:[(0,X.jsx)(`div`,{className:`w-full text-chat text-[var(--content-default)]`,children:(0,X.jsx)(L,{content:e.content,linkComponent:tn})}),(0,X.jsx)(`div`,{className:`flex shrink-0 items-center pt-0.5`,children:(0,X.jsx)(Jt,{text:e.content})})]})}function rn({entry:e}){return(0,X.jsxs)(`div`,{className:`flex items-start gap-2 text-body-small-default text-[var(--system-negative-strong)]`,children:[(0,X.jsx)(ae,{className:`mt-0.5 h-3.5 w-3.5 shrink-0`}),(0,X.jsx)(`span`,{children:e.content})]})}function an({entry:e}){return(0,X.jsx)(`div`,{className:`text-center text-body-small-default text-[var(--content-disabled)]`,children:e.content})}var on=`0 0 724 691`,sn=`#DB4B77`,cn=`#F2F2F2`,ln=`#1A1A1A`,un=`M707.996 341.488C683.572 371.035 643.096 379.081 606.995 383.544C585.458 386.205 563.817 387.947 542.142 388.871C531.271 389.34 520.394 389.578 509.517 389.597C509.127 389.597 508.73 389.604 508.34 389.604C539.98 409.658 571.958 431.456 594.664 461.683C615.354 489.223 627.369 524.084 618.659 558.345C614.714 573.858 606.844 588.374 594.889 599.167C581.012 611.696 562.615 618.079 543.959 615.227C524.928 612.31 508.592 601.272 493.122 590.513C477.163 579.416 461.759 567.586 446.956 554.985C432.226 542.449 418.071 529.273 404.782 515.212C401.597 511.845 398.478 508.439 395.411 504.987C395.332 506.221 395.246 507.449 395.16 508.67C393.64 530.804 390.508 552.813 385.876 574.505C381.812 593.503 376.631 612.297 370.221 630.642C364.769 646.24 357.917 662.018 345.916 673.761C335.032 684.415 319.932 690.693 304.614 689.954C288.622 689.175 276.49 679.894 268.619 666.374C260.055 651.654 254.761 634.51 250.294 618.172C245.424 600.355 242.173 582.096 240.561 563.692C238.882 544.456 238.677 524.613 240.752 505.093C240.164 505.898 239.57 506.703 238.955 507.509C233.457 514.704 227.14 521.378 220.716 527.755C208.154 540.218 194.349 551.433 179.54 561.131C166.422 569.719 152.519 577.132 138.073 583.238C122.86 589.674 106.333 595.787 89.7861 597.351C74.8317 598.764 59.4075 595.437 49.4026 583.548C40.8116 573.336 37.4353 559.13 38.4529 546.02C39.6691 530.33 47.6584 515.879 57.1277 503.647C68.289 489.237 81.7962 476.568 94.8805 463.941C112.63 446.817 130.797 429.759 149.769 413.758C133.652 415.052 117.487 415.257 101.562 414.385C83.9244 413.414 65.996 411.269 49.079 406.015C34.3755 401.454 19.6257 393.756 10.2747 381.167C2.05413 370.11 -2.30039 355.053 1.24128 341.481C5.30564 325.922 19.0643 317.597 32.7163 311.115C64.555 296.005 99.8366 290.097 134.834 288.763C152.538 288.09 170.274 288.71 187.945 289.879C189.611 289.984 191.276 290.097 192.948 290.209C176.744 285.403 161.776 275.713 148.831 265.151C134.458 253.42 121.869 239.663 110.318 225.193C99.3547 211.456 88.8807 197.112 79.3448 182.351C69.558 167.188 61.3172 149.748 63.1485 131.237C66.4331 98.0067 102.368 85.2731 131.491 90.3755C149.836 93.5902 166.349 102.892 181.588 113.209C196.325 123.19 210.724 133.792 224.615 144.922C235.558 153.695 246.224 162.923 256.142 172.858C254.979 152.288 253.539 131.614 254.438 111.017C255.224 92.9499 258.066 74.7764 265.348 58.1084C272.082 42.6945 282.748 29.3267 296.143 19.1613C309.34 9.15344 326.309 1.12634 343.035 0.0771651C360.441 -1.01881 374.92 9.70203 384.813 23.1751C403.157 48.167 404.803 82.1373 400.666 111.764C397.904 131.527 392.564 150.843 388.461 170.35C386.386 180.225 384.575 190.166 383.524 200.207C383.445 200.973 383.379 201.738 383.313 202.511C384.529 200.299 385.863 198.121 387.284 195.949C392.887 187.394 399.146 179.149 405.674 171.274C418.838 155.398 433.225 140.565 448.688 126.907C474.956 103.711 506.371 78.8764 542.863 76.8298C551.982 76.3212 561.479 77.3051 569.778 81.319C576.968 84.7978 582.638 90.5806 586.583 97.4655C594.909 112.028 596.74 129.666 594.387 146.05C589.213 182.06 565.7 211.211 538.798 234.164C524.716 246.184 509.576 256.879 494.542 267.665C492.553 269.091 490.564 270.517 488.575 271.942C500.847 267.367 513.29 263.228 525.807 259.459C547.515 252.917 569.593 247.537 592.101 244.567C611.965 241.946 632.332 241.095 652.289 243.26C667.541 244.916 683.03 248.686 696.346 256.528C710.032 264.595 720.156 277.487 722.555 293.423C725.144 310.667 718.966 328.22 707.996 341.488Z`,dn=[{d:`M320.715 343.724C320.838 359.862 316.431 375.655 310.169 390.408C310.138 390.482 310.107 390.555 310.07 390.629C307.833 395.777 305.299 400.893 302.372 405.757C296.079 416.243 287.955 425.559 277.045 431.507C262.264 439.554 242.097 440.564 229.523 427.806C219.821 417.961 217.343 402.876 219.161 389.644C221.017 376.135 227.365 363.661 231.267 350.694C233.246 344.106 234.793 337.265 234.398 330.338C233.998 323.381 230.971 317.932 226.94 312.433C222.909 306.929 220.468 301.067 221.042 294.11C221.578 287.632 224.148 281.58 228.352 276.63C238.627 264.543 255.953 264.131 269.612 270.165C277.057 273.453 283.597 278.464 289.644 283.858C293.749 287.515 297.737 291.333 301.41 295.427C302.884 297.065 304.301 298.746 305.663 300.476C315.513 313.012 320.592 327.789 320.715 343.724Z`,fill:cn},{d:`M305.663 300.476C304.301 298.746 302.884 297.065 301.41 295.427C297.737 291.333 293.749 287.515 289.644 283.858C283.597 278.464 277.057 273.453 269.612 270.165C255.953 264.131 238.627 264.543 228.352 276.63C224.148 281.58 221.578 287.632 221.042 294.11C220.468 301.067 222.909 306.929 226.94 312.433C230.971 317.932 233.998 323.381 234.398 330.338C234.793 337.265 233.246 344.106 231.267 350.694C227.365 363.661 221.017 376.135 219.161 389.644C217.343 402.876 219.821 417.961 229.523 427.806C242.097 440.564 262.264 439.554 277.045 431.507C287.955 425.559 296.079 416.243 302.372 405.757C305.299 400.893 307.833 395.777 310.07 390.629C310.107 390.555 310.138 390.482 310.169 390.408C316.431 375.655 320.838 359.862 320.715 343.724C320.592 327.789 315.513 313.012 305.663 300.476ZM304.524 387.107C298.767 400.413 291.229 413.86 279.185 422.468C278.809 422.733 278.432 422.997 278.05 423.256C277.687 423.502 277.317 423.743 276.941 423.977C265.698 431.107 250.831 434.142 238.867 426.926C227.846 420.282 224.518 406.305 225.233 394.268C225.96 382.034 231.477 370.458 235.428 359.025C239.323 347.739 242.855 335.277 239.921 323.338C238.522 317.673 235.458 313.117 232.087 308.456C228.315 303.235 226.558 297.749 228.037 291.302C231.212 277.479 244.84 270.743 258.221 273.348C267.843 275.226 276.219 280.681 283.665 287.134C283.721 287.183 283.782 287.232 283.837 287.282C287.314 290.311 290.587 293.549 293.681 296.733C305.238 308.622 312.973 322.624 314.027 339.383C315.057 355.743 310.878 372.139 304.524 387.107Z`,fill:cn},{d:`M320.716 343.724C320.839 359.862 316.432 375.655 310.17 390.408C310.139 390.481 310.108 390.555 310.071 390.629C307.833 395.777 305.3 400.893 302.372 405.757C299.642 409.766 296.597 413.571 293.145 417.043C293.022 417.13 292.893 417.21 292.769 417.29C288.011 420.43 282.574 422.85 276.941 423.976C270.58 425.251 263.972 424.882 257.803 422.031C244.686 415.978 243.435 402.371 248.662 390.796C254.745 377.97 263.658 365.853 265.575 351.691C266.647 343.699 265.051 336.243 262.672 328.602C260.465 321.491 257.956 314.225 258.197 306.726C258.548 295.587 266.604 288.944 278.094 287.558C279.912 287.331 281.779 287.189 283.666 287.134C286.643 287.029 289.669 287.14 292.664 287.478C293.028 287.78 293.379 288.082 293.737 288.39C296.363 290.662 298.945 292.995 301.411 295.427C302.884 297.065 304.302 298.746 305.664 300.476C315.513 313.012 320.592 327.789 320.716 343.724Z`,fill:ln},{d:`M449.963 343.724C450.086 359.862 445.679 375.655 439.417 390.408C439.386 390.482 439.355 390.555 439.318 390.629C437.081 395.777 434.548 400.893 431.62 405.757C425.327 416.243 417.203 425.559 406.293 431.507C391.512 439.554 371.345 440.564 358.771 427.806C349.069 417.961 346.591 402.876 348.409 389.644C350.265 376.135 356.613 363.661 360.515 350.694C362.493 344.106 364.041 337.265 363.646 330.338C363.245 323.381 360.219 317.932 356.188 312.433C352.157 306.929 349.716 301.067 350.289 294.11C350.826 287.632 353.396 281.58 357.599 276.63C367.874 264.543 385.201 264.131 398.859 270.165C406.305 273.453 412.845 278.464 418.891 283.858C422.996 287.515 426.985 291.333 430.658 295.427C432.131 297.065 433.549 298.746 434.911 300.476C444.761 313.012 449.84 327.789 449.963 343.724Z`,fill:cn},{d:`M434.911 300.476C433.549 298.746 432.131 297.065 430.658 295.427C426.985 291.333 422.996 287.515 418.891 283.858C412.845 278.464 406.305 273.453 398.859 270.165C385.201 264.131 367.874 264.543 357.599 276.63C353.396 281.58 350.826 287.632 350.289 294.11C349.716 301.067 352.157 306.929 356.188 312.433C360.219 317.932 363.245 323.381 363.646 330.338C364.041 337.265 362.493 344.106 360.515 350.694C356.613 363.661 350.265 376.135 348.409 389.644C346.591 402.876 349.069 417.961 358.771 427.806C371.345 440.564 391.512 439.554 406.293 431.507C417.203 425.559 425.327 416.243 431.62 405.757C434.548 400.893 437.081 395.777 439.318 390.629C439.355 390.555 439.386 390.482 439.417 390.408C445.679 375.655 450.086 359.862 449.963 343.724C449.84 327.789 444.761 313.012 434.911 300.476ZM433.771 387.107C428.014 400.413 420.476 413.86 408.432 422.468C408.056 422.733 407.68 422.997 407.298 423.256C406.935 423.502 406.565 423.743 406.189 423.977C394.946 431.107 380.079 434.142 368.115 426.926C357.094 420.282 353.766 406.305 354.481 394.268C355.208 382.034 360.724 370.458 364.675 359.025C368.571 347.739 372.103 335.277 369.169 323.338C367.77 317.673 364.706 313.117 361.335 308.456C357.562 303.235 355.806 297.749 357.285 291.302C360.46 277.479 374.087 270.743 387.469 273.348C397.09 275.226 405.467 280.681 412.913 287.134C412.968 287.183 413.03 287.232 413.085 287.282C416.562 290.311 419.835 293.549 422.929 296.733C434.486 308.622 442.221 322.624 443.275 339.383C444.305 355.743 440.125 372.139 433.771 387.107Z`,fill:cn},{d:`M449.964 343.724C450.087 359.862 445.68 375.655 439.418 390.408C439.387 390.481 439.356 390.555 439.319 390.629C437.081 395.777 434.548 400.893 431.621 405.757C428.89 409.766 425.845 413.571 422.393 417.043C422.27 417.13 422.141 417.21 422.017 417.29C417.259 420.43 411.823 422.85 406.189 423.976C399.828 425.251 393.221 424.882 387.051 422.031C373.934 415.978 372.683 402.371 377.91 390.796C383.993 377.97 392.906 365.853 394.823 351.691C395.896 343.699 394.299 336.243 391.92 328.602C389.713 321.491 387.205 314.225 387.445 306.726C387.797 295.587 395.852 288.944 407.342 287.558C409.16 287.331 411.028 287.189 412.914 287.134C415.891 287.029 418.917 287.14 421.913 287.478C422.276 287.78 422.628 288.082 422.985 288.39C425.611 290.662 428.193 292.995 430.659 295.427C432.132 297.065 433.55 298.746 434.912 300.476C444.762 313.012 449.841 327.789 449.964 343.724Z`,fill:ln}];function fn({className:e}){return(0,X.jsxs)(`svg`,{viewBox:on,xmlns:`http://www.w3.org/2000/svg`,className:e,"aria-hidden":`true`,children:[(0,X.jsx)(`path`,{d:un,fill:sn}),dn.map((e,t)=>(0,X.jsx)(`path`,{d:e.d,fill:e.fill},t)),(0,X.jsxs)(`g`,{transform:`translate(370 510) scale(1.37) translate(-370 -510)`,children:[(0,X.jsx)(`path`,{d:`M 230 440 Q 210 560 320 585 Q 430 610 500 540`,stroke:`#1F1F23`,strokeWidth:`22`,strokeLinecap:`round`,fill:`none`}),(0,X.jsx)(`circle`,{cx:`230`,cy:`435`,r:`16`,fill:`#1F1F23`}),(0,X.jsx)(`circle`,{cx:`510`,cy:`525`,r:`58`,fill:`#E4E4E7`,stroke:`#1F1F23`,strokeWidth:`10`}),(0,X.jsx)(`circle`,{cx:`510`,cy:`525`,r:`34`,fill:`#52525B`}),(0,X.jsx)(`circle`,{cx:`500`,cy:`515`,r:`10`,fill:`#A1A1AA`,opacity:`0.55`})]})]})}var pn=`Did the Doctor solve your problem?`;function mn(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function hn(e){for(let t=e.length-1;t>=0;--t)if(e[t]?.kind===`user`)return t;return-1}function gn(e){return e.slice(hn(e)+1).some(e=>e.kind===`feedback_prompt`)}function _n(e){let t=hn(e)+1,n=[],r=[];return e.forEach((e,i)=>{if(i>=t&&e.kind===`user_outcome_prompt`){r.push(e);return}n.push(e)}),{transcript:n,trailingPrompts:r}}var vn=/^\d+-\d+$/;function yn(e){let t=e.reason??e.classification;return t===`bug_report`||t===`feature_request`||t===`other`?t:void 0}function bn(e){return typeof e==`string`&&vn.test(e)}function xn(e){return e.map(e=>e.source_event_id).filter(bn)}function Sn(e){for(let t=e.length-1;t>=0;--t){let n=e[t]?.source_event_id;if(bn(n))return n}return null}function Cn(e){let t=[];for(let n of e){let e=Date.parse(n.occurred_at),r=mn(n.metadata);switch(n.kind){case`user`:t.push({id:n.id,kind:`user`,content:n.content,timestamp:e});break;case`assistant`:t.push({id:n.id,kind:`assistant`,content:n.content,timestamp:e});break;case`tool_call`:{let i=typeof r.toolName==`string`?r.toolName:n.content;t.push({id:n.id,kind:`tool_call`,content:i,timestamp:e,meta:{toolName:i,input:r.input??{},toolCallId:typeof r.id==`string`?r.id:n.id,status:`running`}});break}case`tool_result`:{let e=r.toolCallId,i=r.isError===!0,a=t.findIndex(t=>t.kind===`tool_call`&&t.meta.toolCallId===e);if(a===-1)break;let o=t[a];if(o.kind!==`tool_call`)break;t[a]={...o,meta:{...o.meta,result:n.content,isError:i,status:i?`error`:`completed`}};break}case`approval`:{let i=typeof r.toolName==`string`?r.toolName:n.content;t.push({id:n.id,kind:`approval`,content:i,timestamp:e,meta:{toolName:i,input:r.input??{},toolCallId:typeof r.id==`string`?r.id:n.id,description:typeof r.description==`string`?r.description:``}});break}case`status`:if(n.content===`completed`)t.push({id:n.id,kind:`status`,content:`Session completed`,timestamp:e});else if(n.content===`error`)t.push({id:n.id,kind:`status`,content:`Session ended with error`,timestamp:e});else if(n.content===`feedback_prompt`){let i=typeof r.summary==`string`?r.summary.trim():``,a=yn(r);t.push({id:n.id,kind:`feedback_prompt`,content:i||`Share feedback`,...a?{meta:{reason:a}}:{},timestamp:e})}else n.content===`user_outcome_prompt`&&t.push({id:n.id,kind:`user_outcome_prompt`,content:pn,timestamp:e});break;case`error`:t.push({id:n.id,kind:`error`,content:n.content,timestamp:e});break;default:break}}return t}function wn(e){switch(e){case`active`:return`active`;case`completed`:return`completed`;case`error`:return`error`}}function Tn(e,t){return t!==`resolved`&&t!==`not_resolved`?e:e.map(e=>e.kind===`user_outcome_prompt`?{...e,meta:{...e.meta,answer:t}}:e)}function En(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n&&!(n.kind===`status`||n.kind===`feedback_prompt`||n.kind===`user_outcome_prompt`))return n.kind===`approval`}return!1}function Dn(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n&&!(n.kind===`status`||n.kind===`feedback_prompt`||n.kind===`user_outcome_prompt`))return n.kind===`backup_prompt`}return!1}function On(e){let t=[];for(let n of e)switch(n.kind){case`user`:t.push(`User: ${n.content}`);break;case`assistant`:t.push(`Doctor: ${n.content}`);break;case`feedback_prompt`:t.push(`Feedback Prompt: ${n.content}`);break;case`user_outcome_prompt`:t.push(`User Outcome Prompt: ${n.content}${n.meta?.answer?` (answered: ${n.meta.answer===`resolved`?`Yes`:`No`})`:``}`);break;case`tool_call`:{let{toolName:e,input:r,result:i,isError:a}=n.meta;t.push(`Tool Call: ${e}`),Object.keys(r).length>0&&t.push(` Input: ${JSON.stringify(r,null,2)}`),i!==void 0&&t.push(` ${a?`Error`:`Output`}: ${i}`);break}case`approval`:{let{toolName:e,description:r,input:i}=n.meta;t.push(`Approval Required: ${e}${r?` — ${r}`:``}`),Object.keys(i).length>0&&t.push(` Input: ${JSON.stringify(i,null,2)}`);break}case`backup_prompt`:t.push(`Backup Prompt: ${n.meta.toolName}`);break;case`error`:t.push(`Error: ${n.content}`);break;case`status`:t.push(`--- ${n.content} ---`);break}return t.join(`
3
-
4
- `)}function kn(e){return e[0]??null}var Q=ue(le()((e,t)=>({entries:[],inputValue:``,thinking:!1,sessionId:null,sessionStatus:`idle`,pendingApproval:!1,pendingBackup:!1,historyDismissed:!1,streamingEntryId:null,entryCounter:0,lastAssistantId:null,latestReplayableSourceEventId:null,processedSourceEventIds:new Set,nextId:()=>{let n=t().entryCounter+1;return e({entryCounter:n}),`entry-${n}`},appendEntry:n=>{let r=t().nextId();e(e=>({entries:[...e.entries,{...n,id:r,timestamp:Date.now()}]}))},updateEntries:t=>{e(e=>({entries:t(e.entries)}))},teardown:()=>{e({sessionId:null,sessionStatus:`completed`,pendingApproval:!1,pendingBackup:!1,thinking:!1,streamingEntryId:null,latestReplayableSourceEventId:null,processedSourceEventIds:new Set})},reset:()=>{e({entries:[],inputValue:``,thinking:!1,sessionId:null,sessionStatus:`idle`,pendingApproval:!1,pendingBackup:!1,historyDismissed:!1,streamingEntryId:null,entryCounter:0,latestReplayableSourceEventId:null,processedSourceEventIds:new Set})},resetForNewSession:()=>{e({entries:[],inputValue:``,thinking:!1,sessionId:null,sessionStatus:`idle`,pendingApproval:!1,pendingBackup:!1,historyDismissed:!0,streamingEntryId:null,entryCounter:0,latestReplayableSourceEventId:null,processedSourceEventIds:new Set})},setInputValue:t=>e({inputValue:t}),setThinking:t=>e({thinking:t}),setPendingApproval:t=>e({pendingApproval:t}),setPendingBackup:t=>e({pendingBackup:t}),setSessionId:t=>e({sessionId:t}),setSessionStatus:t=>e({sessionStatus:t}),setHistoryDismissed:t=>e({historyDismissed:t}),setStreamingEntryId:t=>e({streamingEntryId:t}),setEntries:t=>e({entries:t}),resetReplayState:()=>{e({latestReplayableSourceEventId:null,processedSourceEventIds:new Set})},seedReplayState:(t,n)=>{e({latestReplayableSourceEventId:n,processedSourceEventIds:new Set(t)})},recordReplayableSourceEventId:n=>{let r=t().processedSourceEventIds;return r.has(n)?!1:(e({latestReplayableSourceEventId:n,processedSourceEventIds:new Set(r).add(n)}),!0)}}))),An=`Hi! I'm the Doctor. State the nature of the issue you're experiencing with your assistant and I'll help diagnose and fix it.`,jn=new Set([`approve`,`approve all exec`,`approve all future exec commands`,`approve_all_exec`,`deny`]);function Mn(e,t){Me({path:{assistant_id:e,session_id:t},throwOnError:!1}).catch(e=>r(e,{context:`doctor_cleanup_destroy`})),ke({path:{assistant_id:e},throwOnError:!1}).catch(e=>r(e,{context:`doctor_cleanup_maintenance_exit`}))}var $={source_event_id:U().nullable().optional()},Nn=he(`type`,[W({...$,type:V(`message`),content:U()}),W({...$,type:V(`message_delta`),content:U()}),W({...$,type:V(`tool_call`),toolName:U(),input:H(U(),de()),id:U()}),W({...$,type:V(`tool_result`),toolCallId:U(),content:U(),isError:pe()}),W({...$,type:V(`approval_required`),toolName:U(),input:H(U(),de()),id:U(),description:U()}),W({...$,type:V(`backup_prompt`),toolName:U()}),W({...$,type:V(`feedback_prompt`),summary:U().optional(),reason:me([`bug_report`,`feature_request`,`other`]).optional(),classification:me([`bug_report`,`feature_request`,`other`]).optional()}),W({...$,type:V(`user_outcome_prompt`)}),W({...$,type:V(`status`),status:fe([V(`active`),V(`completed`),V(`error`)])}),W({...$,type:V(`error`),message:U()})]);function Pn(e){try{let t=typeof e==`string`?JSON.parse(e):e,n=Nn.safeParse(t);return n.success?n.data:null}catch{return null}}function Fn(e,t){e.setThinking(!1);let n=e.getStreamingEntryId();if(n)e.updateEntries(e=>e.map(e=>e.id===n?{...e,content:e.content+t.content}:e));else{let n=e.nextId();e.setStreamingEntryId(n),e.updateEntries(e=>[...e,{id:n,kind:`assistant`,content:t.content,timestamp:Date.now()}])}}function In(e){e.setThinking(!1),e.setStreamingEntryId(null)}function Ln(e,t){e.setThinking(!1),e.setStreamingEntryId(null),e.appendEntry({kind:`tool_call`,content:t.toolName,meta:{toolName:t.toolName,input:t.input,toolCallId:t.id,status:`running`}})}function Rn(e,t){e.updateEntries(e=>{let n=e.findIndex(e=>e.kind===`tool_call`&&e.meta.toolCallId===t.toolCallId);if(n===-1)return e;let r=e[n];if(r.kind!==`tool_call`)return e;let i=[...e];return i[n]={...r,meta:{...r.meta,result:t.content,isError:t.isError,status:t.isError?`error`:`completed`}},i})}function zn(e,t){e.setThinking(!1),e.setPendingApproval(!0),e.appendEntry({kind:`approval`,content:t.toolName,meta:{toolName:t.toolName,input:t.input,toolCallId:t.id,description:t.description}})}function Bn(e,t){e.setThinking(!1),e.setPendingBackup(!0),e.appendEntry({kind:`backup_prompt`,content:t.toolName,meta:{toolName:t.toolName}})}function Vn(e,t){let n=t.summary?.trim(),r=t.reason??t.classification;if(gn(e.getEntries())){(n||r)&&e.updateEntries(e=>e.map((t,i)=>t.kind===`feedback_prompt`&&!e.slice(i+1).some(e=>e.kind===`feedback_prompt`)?{...t,...n?{content:n}:{},...r?{meta:{...t.meta,reason:r}}:{}}:t));return}e.appendEntry({kind:`feedback_prompt`,content:n||`Share feedback`,...r?{meta:{reason:r}}:{}})}function Hn(e){e.setThinking(!0),e.appendEntry({kind:`user_outcome_prompt`,content:pn})}function Un(e,t){return t.status===`completed`||t.status===`error`?(e.setThinking(!1),e.setSessionStatus(t.status),e.appendEntry({kind:`status`,content:t.status===`completed`?`Session completed`:`Session ended with error`}),!0):(e.setSessionStatus(t.status),!1)}function Wn(e,t){e.setThinking(!1),e.setPendingApproval(!1),e.setPendingBackup(!1),e.setStreamingEntryId(null),e.appendEntry({kind:`error`,content:t.message})}function Gn(e){return e}var Kn=new Set([404,410]),qn=`replay_gap`,Jn=5,Yn=500,Xn=5e3,Zn=45e3;function Qn(e){let t=Yn*2**e,n=Math.floor(Math.random()*250);return Math.min(t,Xn)+n}function $n(e,t){return new Promise(n=>{if(t.aborted){n();return}let r=setTimeout(n,e);t.addEventListener(`abort`,()=>{clearTimeout(r),n()},{once:!0})})}async function er(e){return e.status===409?(await e.clone().json().catch(()=>null))?.code===qn:!1}function tr(e){if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=e.id;return typeof t==`string`&&t.length>0?t:null}function nr(e,t){let n=Cn(t),r=wn(e),i=Q.getState();return i.setEntries(n),i.setSessionStatus(r),i.setPendingApproval(r===`active`&&En(n)),i.setPendingBackup(r===`active`&&Dn(n)),i.seedReplayState(xn(t),Sn(t)),r}async function rr(e,t){let n=await De({path:{assistant_id:e,doctor_session_id:t},throwOnError:!1});return!n.response?.ok||!n.data?null:nr(n.data.status,n.data.messages??[])===`active`?(Q.getState().setSessionId(t),`active`):`terminal`}function ir(){let e=(0,Y.useRef)(null);return{connectSSE:(0,Y.useCallback)((t,n)=>{e.current?.abort();let i=new AbortController;e.current=i;let a=!1,o=()=>e.current===i,l={getEntries:()=>Q.getState().entries,updateEntries:e=>Q.getState().updateEntries(e),setThinking:e=>Q.getState().setThinking(e),setPendingApproval:e=>Q.getState().setPendingApproval(e),setPendingBackup:e=>Q.getState().setPendingBackup(e),setSessionStatus:e=>Q.getState().setSessionStatus(e),appendEntry:e=>Q.getState().appendEntry(e),nextId:()=>Q.getState().nextId(),getStreamingEntryId:()=>Q.getState().streamingEntryId,setStreamingEntryId:e=>Q.getState().setStreamingEntryId(e)},u=t=>{if(!o())return;e.current=null;let n=Q.getState();n.setThinking(!1),n.setPendingApproval(!1),n.setPendingBackup(!1),n.setStreamingEntryId(null),n.setSessionStatus(`error`),n.appendEntry({kind:`error`,content:t})};function d(e){if(!o())return;let t=e.source_event_id;if(!(bn(t)&&!Q.getState().recordReplayableSourceEventId(t)))switch(e.type){case`message_delta`:Fn(l,e);break;case`message`:In(l);break;case`tool_call`:Ln(l,e);break;case`tool_result`:Rn(l,e);break;case`approval_required`:zn(l,e);break;case`backup_prompt`:Bn(l,e);break;case`feedback_prompt`:Vn(l,e);break;case`user_outcome_prompt`:Hn(l);break;case`status`:Un(l,e)&&(a=!0);break;case`error`:Wn(l,e);break}}(async()=>{let e=0,l=0;for(;!i.signal.aborted&&o();){let f=new AbortController,p=()=>{f.abort()};i.signal.addEventListener(`abort`,p,{once:!0});let m=s({idleTimeoutMs:Zn,assistantId:t});m.resetCounters();let h=null,g=!1,_=!1,v=null,y=!1,b=null;try{let r=Q.getState().latestReplayableSourceEventId,a={Accept:`text/event-stream, application/json`,...He()};r&&(a[`Last-Event-ID`]=r);let{stream:s}=await Oe({path:{assistant_id:t,session_id:n},headers:a,signal:f.signal,sseMaxRetryAttempts:0,fetch:(async(e,t)=>{let n=await globalThis.fetch(e,t);return n.ok||(v=n.status,Kn.has(n.status)&&(g=!0),await er(n)&&(_=!0)),n}),onSseEvent:t=>{let n=t.data!==void 0;n&&(y=!0,b=tr(t)),m.recordTraffic(n),!i.signal.aborted&&o()&&m.arm(f,e)},onSseError:e=>{g||_||(h=c(e,`Doctor stream disconnected`))}});if(!o())return;m.arm(f,e);for await(let t of s){if(!o())return;y=!0,e=0,m.arm(f,e);let n=b;b=null;let r=Pn(t);r&&d(r.source_event_id||!n?r:{...r,source_event_id:n})}}catch(e){if(i.signal.aborted)return;h=m.consumeLastAbortCause()===`watchdog`?c(e,`Doctor stream stalled`):c(e,`Doctor stream connection failed`)}finally{m.clear(),i.signal.removeEventListener(`abort`,p)}if(!o()||a)return;if(_){if(l>=1){u(`Doctor event history changed while reconnecting. Start a new session to continue.`);return}l+=1;let e=null;try{e=await rr(t,n)}catch(e){r(e,{context:`doctor_replay_gap_refresh`})}if(!o())return;if(e===`active`)continue;if(e===`terminal`){a=!0;return}u(`Doctor event history changed while reconnecting. Start a new session to continue.`);return}if(g){a=!0;let e=Q.getState();e.setThinking(!1),e.setStreamingEntryId(null),e.setSessionStatus(`completed`),e.setPendingApproval(!1),e.setPendingBackup(!1),e.appendEntry({kind:`status`,content:`Previous session expired. Start a new session to continue.`});return}if(h||=Error(`Doctor event stream ended before the session completed.`),Gn(y)&&(e=0),e>=Jn){r(h,{context:`doctor_sse_stream`}),u(v?`Failed to connect to event stream (${v}). Start a new session to continue.`:`Event stream disconnected. Start a new session to continue.`);return}await $n(Qn(e),i.signal),e+=1}})()},[]),abort:(0,Y.useCallback)(()=>{e.current?.abort(),e.current=null},[])}}var ar=64,or=240;function sr(e){let[t,n]=(0,Y.useState)(null),[r,i]=(0,Y.useState)(!1),a=(0,Y.useRef)(!0),o=(0,Y.useCallback)(e=>{n(t=>(e!==t&&(a.current=!0,i(!1)),e))},[]),s=(0,Y.useCallback)(()=>{let e=t;if(!e)return;let n=Math.max(0,e.scrollHeight-e.clientHeight),r=Math.max(0,n-e.scrollTop);a.current=r<=ar,i(r>or)},[t]);return(0,Y.useEffect)(()=>{a.current&&t&&t.scrollTo({top:t.scrollHeight,behavior:`auto`})},[e,t]),(0,Y.useEffect)(()=>{if(t)return t.addEventListener(`scroll`,s,{passive:!0}),()=>{t.removeEventListener(`scroll`,s)}},[t,s]),(0,Y.useEffect)(()=>{s()},[e,s]),(0,Y.useEffect)(()=>{if(!t||typeof ResizeObserver>`u`)return;let e=t.firstElementChild;if(!e)return;let n=new ResizeObserver(()=>{a.current&&t.scrollTo({top:t.scrollHeight,behavior:`auto`}),s()});return n.observe(e),()=>{n.disconnect()}},[t,s]),{scrollContainerRef:o,showScrollToLatest:r,scrollToLatest:(0,Y.useCallback)(()=>{t&&(a.current=!0,t.scrollTo({top:t.scrollHeight,behavior:`auto`}),i(!1))},[t])}}function cr({entries:e}){let{t}=i(`settings`),[n,r]=(0,Y.useState)(!1),a=(0,Y.useRef)(null);(0,Y.useEffect)(()=>()=>{a.current&&clearTimeout(a.current)},[]);let o=(0,Y.useCallback)(()=>{$e(On(e),{errorMessage:t(`doctorPanel.copyFailed`),onCopied:()=>{r(!0),a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{r(!1),a.current=null},1500)}})},[e,t]);return(0,X.jsx)(d,{variant:`ghost`,size:`compact`,leftIcon:n?(0,X.jsx)(C,{className:`text-[var(--system-positive-strong)]`}):(0,X.jsx)(O,{}),onClick:o,tooltip:t(n?`doctorPanel.copiedTooltip`:`doctorPanel.copySessionTooltip`),"aria-label":t(n?`doctorPanel.copiedAria`:`doctorPanel.copySessionAria`),children:t(n?`doctorPanel.copied`:`doctorPanel.copySession`)})}function lr({entry:e,onRespond:t}){return(0,X.jsx)(`div`,{className:`max-w-[90%]`,children:(0,X.jsx)($t,{question:e.content,answer:e.meta?.answer,onRespond:n=>t(e.id,n)})})}function ur(){let{t:e}=i(`settings`),a=ve.use.activeAssistantId()??``,o=Q.use.entries(),s=Q.use.inputValue(),c=Q.use.pendingApproval(),u=Q.use.pendingBackup(),f=Q.use.thinking(),p=Q.use.streamingEntryId(),m=Q.use.sessionId(),h=Q.use.sessionStatus(),v=Q.use.historyDismissed(),[y,b]=(0,Y.useState)(!1),[x,S]=(0,Y.useState)(null),C=J(),w=(0,Y.useRef)(null),T=(0,Y.useRef)(null),E=(0,Y.useRef)(!1),{connectSSE:D,abort:O}=ir(),ne=!!a&&m===null&&!v&&o.length===0,A=g({...Ge({path:{assistant_id:a||`placeholder`},query:{limit:1}}),enabled:ne}),j=(A.data?kn(A.data.results??[]):null)?.id??null,M=g({...We({path:{assistant_id:a||`placeholder`,doctor_session_id:j??``}}),enabled:!!a&&!!j&&!v&&m===null&&o.length===0}),N=v?void 0:M.data,P=N?wn(N.status):null,ae=(0,Y.useMemo)(()=>N?Tn(Cn(N.messages??[]),N.user_outcome):[],[N]);(0,Y.useEffect)(()=>{if(v||m!==null||o.length>0||!N||!j||P!==`active`)return;let e=Q.getState(),t=N.messages??[],n=Tn(Cn(t),N.user_outcome);e.setEntries(n),e.setPendingApproval(En(n)),e.setPendingBackup(Dn(n)),e.seedReplayState(xn(t),Sn(t)),e.setSessionId(j),e.setSessionStatus(`active`),D(a,j)},[v,m,o.length,N,P,j,a,D]),(0,Y.useEffect)(()=>{A.error&&r(A.error,{context:`doctor_history_list`})},[A.error]),(0,Y.useEffect)(()=>{M.error&&r(M.error,{context:`doctor_history_detail`})},[M.error]);let F=_({async mutationFn(e){let{data:n,error:r,response:i}=await Ae({...e,throwOnError:!1});if(r)throw i?.status===429?new t(429,`You've used all of your available Doctor sessions for this month. Please try again next month.`):r;return n},onSuccess(e){let t=Q.getState();t.resetReplayState(),t.setSessionId(e.session_id),t.setSessionStatus(`active`),t.setEntries([{kind:`assistant`,content:An,id:`greeting`,timestamp:Date.now()}]),D(a,e.session_id)},onError(e){e instanceof t&&e.status===429||r(e,{context:`start_doctor_session`});let i=Q.getState();i.setSessionStatus(`error`),i.appendEntry({kind:`error`,content:e instanceof t?e.message:n(e,void 0,`Failed to start doctor session`)})}}),I=Ue({onMutate(e){let t=e.body.content,n=Q.getState();n.appendEntry({kind:`user`,content:t}),n.setInputValue(``),n.setThinking(!0),jn.has(t.toLowerCase())&&n.setPendingApproval(!1)},onError(e){r(e,{context:`send_doctor_message`}),Q.getState().setThinking(!1),Q.getState().appendEntry({kind:`error`,content:n(e,void 0,`Failed to send message`)})}}),oe=F.isPending,L=I.isPending,z=e=>{let t=e.trim();!t||!m||(G(),I.mutate({path:{assistant_id:a,session_id:m},body:{content:t}}))},B=(0,Y.useCallback)(e=>{S({message:e?.message?.trim()||void 0,reason:e?.reason}),b(!0)},[]),se=(0,Y.useCallback)(()=>{b(!1),S(null)},[]),ce=M.refetch,le=(0,Y.useCallback)((e,t)=>{let n=Q.getState(),i=n.sessionId===null,o=n.sessionId??j;if(!a||!o)return;let s=n.entries.find(t=>t.id===e),c=s?.kind===`user_outcome_prompt`?s.meta?.answer:void 0,l=t?`resolved`:`not_resolved`,u=t=>{n.updateEntries(n=>n.map(n=>n.id===e&&n.kind===`user_outcome_prompt`?{...n,meta:{...n.meta,answer:t}}:n))};u(l),je({path:{assistant_id:a,session_id:o},body:{resolved:t},throwOnError:!1}).then(({error:t})=>{if(t){let n=Q.getState(),i=n.entries.find(t=>t.id===e);n.sessionId===o&&i?.kind===`user_outcome_prompt`&&i.meta?.answer===l&&u(c),r(t,{context:`doctor_session_user_outcome`})}else i&&ce()}),t||B({message:`The Doctor wasn't able to solve my problem: `})},[a,j,B,ce]),ue=()=>{O();let e=Q.getState();e.sessionId&&a&&Mn(a,e.sessionId),e.teardown()},V=()=>{O();let e=Q.getState();e.sessionId&&a&&Mn(a,e.sessionId),e.resetForNewSession()},H=(0,Y.useMemo)(()=>m||o.length>0?o:v?[]:ae,[m,o,v,ae]),de=m??(v?null:j),fe=(0,Y.useMemo)(()=>On(H),[H]),{transcript:pe,trailingPrompts:U}=(0,Y.useMemo)(()=>_n(H),[H]),me=f||p!==null,he=(0,Y.useMemo)(()=>{if(!(m!==null||o.length>0))return null;let e=null;for(let t=H.length-1;t>=0;t--){let n=H[t];if(!(n.kind!==`tool_call`||n.meta.status!==`completed`||n.meta.isError)){if(n.meta.toolName===`list_assistant_backups`)return{entryId:n.id,refreshKey:e??n.id};e===null&&(n.meta.toolName===`create_doctor_backup`||n.meta.toolName===`restore_assistant_backup`)&&(e=n.id)}}return null},[H,m,o]),{scrollContainerRef:W,showScrollToLatest:ge,scrollToLatest:G}=sr(H);(0,Y.useEffect)(()=>{if(l.getState().pendingPrompt!==null)return;let e=Q.getState();e.lastAssistantId===a&&e.sessionStatus===`active`&&e.sessionId&&D(a,e.sessionId),e.historyDismissed&&!e.sessionId&&Q.setState({historyDismissed:!1})},[]),(0,Y.useEffect)(()=>{let e=Q.getState();if(e.lastAssistantId===a)return;let t=e.lastAssistantId,n=e.sessionId;O(),e.reset(),Q.setState({lastAssistantId:a}),n&&t&&Mn(t,n)},[a,O]),(0,Y.useEffect)(()=>()=>{O()},[O]),(0,Y.useEffect)(()=>{if(E.current||!a)return;let e=l.getState().consumePendingPrompt();if(e===null)return;E.current=!0;let t=Q.getState();O(),t.sessionId&&Mn(a,t.sessionId),t.resetForNewSession(),T.current=e.length>0?e:null,F.mutate({path:{assistant_id:a}})},[a,O,F]);let K=m!==null&&h===`active`,_e=!K&&o.length>0&&(h===`completed`||h===`error`),ye=K||_e?h:P??`idle`,be=ne&&(A.isLoading||!!j&&M.isLoading);return(0,Y.useEffect)(()=>{let e=T.current;e&&(!K||!m||(T.current=null,G(),I.mutate({path:{assistant_id:a,session_id:m},body:{content:e}})))},[K,m,a,G,I]),(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-2 rounded-xl bg-[var(--surface-base)] p-5 ring-1 ring-[var(--border-base)]`,children:[(0,X.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,X.jsx)(fn,{className:`h-10 w-10 shrink-0`}),(0,X.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`doctorPanel.title`)}),(0,X.jsx)(R,{tone:`neutral`,title:e(`doctorPanel.betaTitle`),children:e(`doctorPanel.beta`)}),C===`full`&&(0,X.jsx)(`button`,{type:`button`,onClick:()=>B(),className:`cursor-pointer text-body-small-default text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)]`,children:e(`doctorPanel.shareFeedback`)})]}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[H.length>0&&(0,X.jsx)(cr,{entries:H}),K&&(0,X.jsxs)(`button`,{type:`button`,onClick:ue,className:`flex cursor-pointer items-center gap-1.5 rounded border border-[var(--system-negative-strong)] px-3 py-1.5 text-body-small-default text-[var(--system-negative-strong)] transition-colors hover:bg-[var(--system-negative-weak)] disabled:cursor-not-allowed disabled:opacity-50`,children:[(0,X.jsx)(ie,{className:`h-3 w-3`}),e(`doctorPanel.endSession`)]})]})]}),be?(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,X.jsx)(`span`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-[var(--border-element)] border-t-[var(--content-secondary)]`}),e(`doctorPanel.loading`)]}):a?ye===`idle`?(0,X.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4 py-12`,children:[(0,X.jsx)(fn,{className:`h-24 w-24 shrink-0`}),(0,X.jsxs)(`div`,{className:`text-center`,children:[(0,X.jsx)(`h3`,{className:`text-title-medium text-[var(--content-default)]`,children:e(`doctorPanel.idleTitle`)}),(0,X.jsx)(`p`,{className:`mt-1 max-w-md text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`doctorPanel.idleDescription`)})]}),(0,X.jsxs)(`button`,{type:`button`,onClick:()=>F.mutate({path:{assistant_id:a}}),disabled:oe,className:`flex cursor-pointer items-center gap-2 rounded-lg bg-[var(--primary-base)] px-5 py-2.5 text-body-medium-default text-[var(--content-inset)] transition-colors hover:bg-[var(--primary-hover)] disabled:cursor-not-allowed disabled:opacity-50`,children:[oe?(0,X.jsx)(k,{className:`h-4 w-4 animate-spin`}):(0,X.jsx)(re,{className:`h-4 w-4`}),e(`doctorPanel.startSession`)]})]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`relative min-h-0 flex-1`,children:[(0,X.jsx)(`div`,{ref:W,className:`h-full overflow-y-auto`,children:(0,X.jsxs)(`div`,{className:`mx-auto max-w-3xl space-y-3`,children:[pe.map(e=>{switch(e.kind){case`user`:return(0,X.jsx)(en,{entry:e},e.id);case`assistant`:return(0,X.jsx)(nn,{entry:e},e.id);case`tool_call`:return(0,X.jsx)(`div`,{className:`flex justify-start`,children:(0,X.jsxs)(`div`,{className:`w-full`,children:[(0,X.jsx)(Yt,{entry:e}),e.id===he?.entryId&&a&&(0,X.jsx)(`div`,{className:`mt-2 rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:(0,X.jsx)(Ht,{assistantId:a},he.refreshKey)})]})},e.id);case`approval`:return(0,X.jsx)(`div`,{className:`max-w-[90%]`,children:(0,X.jsx)(Xt,{entry:e,onRespond:z,disabled:!c||L})},e.id);case`backup_prompt`:return(0,X.jsx)(`div`,{className:`max-w-[90%]`,children:(0,X.jsx)(Zt,{entry:e,onRespond:e=>{Q.getState().setPendingBackup(!1),z(e)},disabled:!u||L})},e.id);case`feedback_prompt`:return(0,X.jsx)(`div`,{className:`max-w-[90%]`,children:(0,X.jsx)(Qt,{onOpenFeedback:()=>B({message:e.content===`Share feedback`?void 0:e.content,reason:e.meta?.reason})})},e.id);case`user_outcome_prompt`:return(0,X.jsx)(lr,{entry:e,onRespond:le},e.id);case`error`:return(0,X.jsx)(rn,{entry:e},e.id);case`status`:return(0,X.jsx)(an,{entry:e},e.id);default:return null}}),f&&(0,X.jsx)(`div`,{className:`flex justify-start`,children:(0,X.jsxs)(`div`,{className:`flex items-center gap-[5px] rounded-[var(--radius-lg)] bg-[var(--surface-overlay)] px-4 py-3`,children:[[-.333,0,-.667].map((e,t)=>(0,X.jsx)(`span`,{"aria-hidden":!0,className:`typing-dot block h-2 w-2 rounded-full bg-[var(--content-tertiary)]`,style:{animation:`typing-dot-pulse 1s ease-in-out infinite`,animationDelay:`${e}s`}},t)),(0,X.jsx)(`span`,{className:`sr-only`,children:e(`doctorPanel.thinking`)})]})}),!me&&U.map(e=>(0,X.jsx)(lr,{entry:e,onRespond:le},e.id)),K&&!H.length&&(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-disabled)]`,children:[(0,X.jsx)(k,{className:`h-4 w-4 animate-spin`}),e(`doctorPanel.connecting`)]})]})}),ge&&(0,X.jsxs)(`button`,{type:`button`,onClick:G,"aria-label":e(`doctorPanel.goToNewestAria`),className:`pointer-events-auto absolute bottom-3 left-1/2 -translate-x-1/2 z-10 inline-flex items-center gap-1 rounded-full bg-[var(--surface-lift)] px-3 py-2 text-body-medium-default text-[var(--content-emphasised)] shadow-md transition-colors hover:text-[var(--content-default)]`,children:[e(`doctorPanel.goToNewest`),(0,X.jsx)(te,{className:`h-3 w-3`})]})]}),K&&(0,X.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),s.trim()&&!L&&(z(s),w.current&&(w.current.style.height=`auto`))},className:`mx-auto w-full max-w-3xl shrink-0 overflow-hidden rounded-[10px] bg-[var(--surface-lift)] shadow-sm ring-1 ring-transparent focus-within:ring-[var(--ring)]`,children:[(0,X.jsx)(`textarea`,{ref:w,value:s,onChange:e=>{Q.getState().setInputValue(e.target.value),e.target.style.height=`auto`,e.target.style.height=`${Math.min(e.target.scrollHeight,160)}px`},onKeyDown:e=>{e.key!==`Enter`||e.shiftKey||e.nativeEvent.isComposing||e.keyCode===229||Je()||(e.preventDefault(),s.trim()&&!L&&(z(s),w.current&&(w.current.style.height=`auto`)))},placeholder:e(c?`doctorPanel.placeholderApproval`:`doctorPanel.placeholderMessage`),disabled:L,rows:1,className:`w-full resize-none border-none bg-transparent px-4 pb-2 pt-3 text-body-medium-lighter text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] focus:outline-none disabled:opacity-50`}),(0,X.jsx)(`div`,{className:`flex items-center justify-end px-3 pb-2`,children:(0,X.jsx)(d,{variant:`primary`,iconOnly:(0,X.jsx)(ee,{className:`h-4 w-4`,strokeWidth:2.5}),type:`submit`,disabled:!s.trim()||L,"aria-label":e(`doctorPanel.sendMessageAria`)})})]}),(_e||!K&&P&&P!==`active`)&&(0,X.jsx)(`div`,{className:`flex shrink-0 items-center justify-center gap-3 py-2`,children:(0,X.jsxs)(`button`,{type:`button`,onClick:V,className:`flex cursor-pointer items-center gap-2 rounded-lg bg-[var(--primary-base)] px-4 py-2 text-body-medium-default text-[var(--content-inset)] transition-colors hover:bg-[var(--primary-hover)]`,children:[(0,X.jsx)(re,{className:`h-4 w-4`}),e(`doctorPanel.newSession`)]})})]}):(0,X.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] px-4 py-3 text-body-medium-lighter text-[var(--content-tertiary)]`,children:(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(fn,{className:`h-6 w-6 shrink-0`}),(0,X.jsx)(`span`,{children:e(`doctorPanel.noAssistant`)})]})}),(0,X.jsx)(it,{open:y,onClose:se,initialReason:x?.reason,initialMessage:x?.message,assistantId:a,doctorSessionId:de,doctorSessionLog:fe})]})}function dr(e){return e===`archive`?{tabId:`conversations`,conversationsFilter:`archived`}:{tabId:e,conversationsFilter:`all`}}var fr=[{id:`general`,label:`General`},{id:`terminal`,label:`Terminal`},{id:`doctor`,label:`Doctor`},{id:`conversations`,label:`Conversations`}],pr=`general`;function mr(){let[e,t]=m(),n=rt(),r=p(),i=(0,Y.useCallback)(e=>{Ke(r,e)},[r]),a=J({platformHostedOnly:!0}),o=(0,Y.useMemo)(()=>fr.filter(e=>!(e.id===`terminal`&&a===`gated`||e.id===`doctor`&&a===`gated`)),[a]),{tabId:s,conversationsFilter:c}=dr(e.get(`tab`)),l=(0,Y.useMemo)(()=>o.find(e=>e.id===s)?.id??pr,[s,o]);return(0,X.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,X.jsxs)(b.Root,{value:l,onValueChange:n=>{let r=new URLSearchParams(e);n===pr?r.delete(`tab`):r.set(`tab`,n),t(r,{replace:!0})},className:`flex min-h-0 flex-1 flex-col`,children:[(0,X.jsx)(b.List,{children:o.map(e=>(0,X.jsx)(b.Trigger,{value:e.id,children:e.label},e.id))}),(0,X.jsx)(b.Panel,{value:`general`,className:`pt-4`,children:(0,X.jsx)(qt,{})}),o.some(e=>e.id===`terminal`)&&(0,X.jsx)(b.Panel,{value:`terminal`,className:`flex min-h-0 flex-1 flex-col pt-4`,children:(0,X.jsx)(Lt,{})}),o.some(e=>e.id===`doctor`)&&(0,X.jsx)(b.Panel,{value:`doctor`,className:`flex min-h-0 flex-1 flex-col pt-4`,children:(0,X.jsx)(ur,{})}),(0,X.jsx)(b.Panel,{value:`conversations`,className:`flex min-h-0 flex-1 flex-col pt-4`,children:(0,X.jsx)(Ct,{assistantId:n,initialFilter:c,onOpenConversation:i},c)})]})})}export{mr as DebugPage};
@@ -1 +0,0 @@
1
- import{a as e}from"./i18n-DmTrjH8B.js";import{t}from"./browser-timezone-DEQubHhx.js";function n(){return e(`timezone`,``).trim()||t()}export{n as t};
@@ -1 +0,0 @@
1
- import{l as e}from"./native-biometric-B2BCv4UL.js";import{n as t}from"./browser-FhK1jedq.js";function n(n,r){!r||!e()||(n.preventDefault(),t(r))}export{n as t};
@@ -1,3 +0,0 @@
1
- var e={description:`Cuando está activado, el personal de Vellum podrá acceder a tu asistente y a sus datos con fines de depuración. Se recomienda dejarlo desactivado y activarlo solo temporalmente si necesitas ayuda de Soporte de Vellum para investigar un problema.`,loadError:`No se pudo cargar la configuración de consentimiento.`,loginNotice:`Inicia sesión en la plataforma de Vellum para gestionar el acceso de administración a los datos.`,title:`Permitir acceso del personal`,toastDisabled:`Acceso de administración a los datos desactivado.`,toastEnabled:`Acceso de administración a los datos activado.`,toastUpdateFailed:`No se pudo actualizar el consentimiento de acceso a los registros.`},t={alreadyOnPro:`Ya estás en Pro.`,back:`Atrás`,cancel:`Cancelar`,confirmDowngrade:`Confirmar bajada de plan`,creditBundleUpdated:`Paquete de créditos actualizado.`,downgradeIntro:`Al bajar de plan se eliminan las siguientes funciones Pro:`,downgradeTitle:`¿Bajar a Base?`,footerNote:`Puedes cambiar o cancelar tu plan en cualquier momento desde la configuración de facturación.`,heroSubtitle:`Elige el plan que mejor se adapte a ti y a tu asistente.`,heroTitle:`Tu asistente, a tu manera`,loadPlansError:`No se pudieron cargar los planes. Inténtalo de nuevo más tarde.`,loadingPlans:`Cargando planes...`,machineDowngradeFeature:`Menos CPU y memoria para tu asistente: se redimensionará al perfil de cómputo más pequeño.`,pickTiersError:`Elige un nivel de máquina y de almacenamiento para continuar.`,planUpdated:`Plan actualizado.`,updateFailed:`No se pudo actualizar el plan. Inténtalo de nuevo.`,upgradeFailed:`No se pudo iniciar la mejora. Inténtalo de nuevo.`,upgradePlanTitle:`Mejorar plan`},n={chooseProfilePlaceholder:`Elegir perfil…`,description:`El perfil que tu asistente consulta para una segunda opinión cuando quiere revisar un plan o su propio trabajo.`,title:`Asesor`},r={defaultEntryMeta:`Predeterminado`},i={archive:`Archivar`,archiveFailed:`No se pudo archivar la conversación.`,archiving:`Archivando`,emptyActive:`No hay conversaciones activas`,emptyAll:`Aún no hay conversaciones`,emptyArchived:`No hay conversaciones archivadas`,filterActive:`Activas`,filterAll:`Todas`,filterArchived:`Archivadas`,filterAria:`Filtrar conversaciones`,loadError:`No se pudieron cargar las conversaciones`,loading:`Cargando conversaciones`,noMatch:`Ninguna conversación coincidió con “{query}”`,retry:`Reintentar`,searchPlaceholder:`Buscar conversaciones`,unarchive:`Desarchivar`,unarchiveFailed:`No se pudo desarchivar la conversación.`,unarchiving:`Desarchivando`,untitled:`Conversación sin título`},a={checkingDescription:`Comprobando el acceso a notificaciones de este dispositivo.`,checkingLabel:`Comprobando`,deniedDescription:`Las notificaciones están desactivadas en los ajustes de Android.`,deniedLabel:`Desactivadas`,grantedDescription:`Las notificaciones están permitidas en este dispositivo.`,grantedLabel:`Activadas`,openSettings:`Abrir ajustes`,promptDescription:`Activa las notificaciones en los ajustes de Android para recibir alertas.`,promptLabel:`No activadas`,title:`Notificaciones push`,unsupportedDescription:`Los ajustes de notificaciones no están disponibles en esta versión de la app.`,unsupportedLabel:`No disponible`},o={columnCreated:`Creada`,columnReady:`Lista`,columnSnapshotName:`Nombre de la instantánea`,columnType:`Tipo`,copyFailed:`No se pudo copiar el nombre de la instantánea.`,copySnapshotName:`Copiar nombre de la instantánea`,createBackup:`Crear copia de seguridad`,createFailedToast:`No se pudo crear la copia de seguridad.`,createSuccessToast:`Copia de seguridad iniciada. Aparecerá en la lista en breve.`,creating:`Creando…`,empty:`No se encontraron copias de seguridad para este asistente.`,loadFailed:`No se pudieron cargar las copias de seguridad.`,loading:`Cargando copias de seguridad...`,notReady:`La copia de seguridad aún no está lista para usarse`,oldestRemovedNotice:`Crear una nueva copia de seguridad eliminará la más antigua.`,pending:`Pendiente`,ready:`Lista`,restore:`Restaurar`,restoreFailedToast:`No se pudo restaurar la copia de seguridad.`,restoreMessage:`¿Restaurar desde la copia de seguridad "{name}"?
2
-
3
- El asistente no estará disponible temporalmente durante la restauración.`,restoreSuccessToast:`Copia de seguridad restaurada correctamente.`,restoreTitle:`Restaurar copia de seguridad`,typeDoctor:`Doctor`,typePointInTime:`Punto en el tiempo`,typePreview:`Vista previa`,typeScheduled:`Programada`},s={allAssistantsSubtitle:`{count, plural, one {# asistente encontrado.} other {# asistentes encontrados.}}`,allAssistantsTitle:`Todos los asistentes`,assistantId:`ID del asistente`,created:`Creado`,current:`Actual`,hatch:`Crear`,hatchConfirmMessage:`¿Seguro que quieres crear un asistente nuevo? Esto aprovisionará nueva infraestructura.`,hatchConfirmTitle:`Crear asistente nuevo`,hatchDescription:`Aprovisiona un asistente nuevo. Puede tardar un momento.`,hatchExistingToast:`Ya tienes un asistente. No se creó nada nuevo.`,hatchFailedToast:`No se pudo crear el asistente.`,hatchSubtitle:`Crea una nueva instancia de asistente.`,hatchSuccessToast:`Asistente nuevo creado correctamente.`,hatchTitle:`Crear asistente nuevo`,infoEmpty:`No se encontró ningún asistente. Crea uno para empezar.`,infoLoading:`Cargando información del asistente...`,infoSubtitle:`Detalles del asistente actual.`,infoTitle:`Información del asistente`,lastModified:`Última modificación`,machineId:`ID de la máquina`,name:`Nombre`,status:`Estado`,unnamed:`Sin nombre`,version:`Versión`},c={active:`Activo`,subtitle:`Elige qué asistente está activo para esta cuenta.`,switch:`Cambiar`,switchedToast:`Asistente activo cambiado.`,title:`Cambiar de asistente`,unnamed:`Sin nombre`},l={cancel:`Cancelar`,current:`Actual: {duration}`,days:`{days, plural, one {# día} other {# días}}`,daysHours:`{days}d {hours}h`,hours:`{hours, plural, one {# hora} other {# horas}}`,idleTimeout:`Tiempo de inactividad`,idleTimeoutDescription:`Cuánto tiempo puede estar inactivo el asistente antes de suspenderse. "Nunca" desactiva por completo la suspensión por inactividad.`,loadError:`No se pudo cargar la política de suspensión. Actualiza la página para intentarlo de nuevo.`,loading:`Cargando configuración de suspensión...`,minutes:`{minutes, plural, one {# minuto} other {# minutos}}`,neverSleep:`Nunca (suspensión desactivada)`,preset10Min:`10 min`,preset14Days:`14 días`,preset1Day:`1 día`,preset1Hour:`1 hora`,preset30Days:`30 días`,preset3Days:`3 días`,preset3Hours:`3 horas`,preset5Min:`5 min`,preset7Days:`7 días`,presetNever:`Nunca`,save:`Guardar`,saveErrorToast:`No se pudo guardar la política de suspensión. Inténtalo de nuevo.`,savedToast:`Política de suspensión guardada.`,seconds:`{seconds}s`},u={account:`Cuenta`,assistantId:`ID del asistente`,cpuUsage:`Uso de CPU`,created:`Creado`,description:`Descripción`,diskUnavailable:`Estado del disco no disponible`,diskUsage:`Uso del disco`,empty:`No se encontró ningún asistente. Crea un asistente para empezar.`,loadHealthzFailed:`No se pudo cargar la información del asistente`,loading:`Cargando información del asistente...`,loadingCpu:`Cargando estado de la CPU...`,loadingDisk:`Cargando estado del disco...`,loadingMemory:`Cargando estado de la memoria...`,machineId:`ID de la máquina`,memoryUsage:`Uso de memoria`,name:`Nombre`,status:`Estado`,unknown:`Desconocido`,usedOf:`{used} usados de {total}`,version:`Versión`},d={loadErrorToast:`No se pudo cargar la información del asistente`,loading:`Cargando terminal...`,loginNotice:`Inicia sesión en la plataforma Vellum para abrir una sesión de terminal.`,noAssistant:`No se encontró ningún asistente. Crea un asistente para usar la terminal.`,subtitle:`Sesión de shell interactiva en la máquina de tu asistente`,targetContainer:`Contenedor de destino`,title:`Terminal`},f={alreadyOnVersion:`Ya estás en esta versión.`,confirmPreviewMessage:`¿Actualizar a la versión de vista previa {version}? El asistente no estará disponible por un momento durante la actualización.`,confirmPreviewTitle:`Actualizar versión de vista previa`,confirmRollbackMessage:`¿Volver a la versión {version}? El asistente no estará disponible por un momento.`,confirmRollbackTitle:`Revertir asistente`,confirmUpdateMessage:`¿Actualizar a la versión {version}? El asistente no estará disponible por un momento durante la actualización.`,confirmUpdateTitle:`Actualizar asistente`,current:`Actual`,currentSuffix:`(actual)`,latest:`más reciente`,latestSuffix:`(más reciente)`,loading:`Cargando...`,noReleases:`No hay versiones disponibles`,previewRelease:`Versión de vista previa`,rollback:`Revertir`,rollbackTo:`Revertir a`,rollingBack:`Revirtiendo...`,selected:`Seleccionada`,successRolledBack:`Se revirtió correctamente a la versión {version}.`,successUpdated:`Se actualizó correctamente a la versión {version}.`,toastRollbackComplete:`Reversión completa. Tu asistente está en buen estado.`,toastRollbackFailed:`No se pudo iniciar la reversión. Inténtalo de nuevo.`,toastRollbackInitiated:`Reversión a {version} iniciada.`,toastUpdateComplete:`Actualización completa. Tu asistente está en buen estado.`,toastUpdateFailed:`No se pudo iniciar la actualización. Inténtalo de nuevo.`,toastUpdateInitiated:`Actualización a {version} iniciada.`,unknown:`desconocida`,update:`Actualizar`,updatePreview:`Actualizar vista previa`,updateTo:`Actualizar a`,updateToVersion:`Actualizar a {version}`,updating:`Actualizando...`,usingPreviewReleases:`Usando versiones de vista previa. <stableLink>Volver a Estable</stableLink>`},p={addCreditCard:`Añadir una tarjeta de crédito`,addPaymentMethod:`Añadir método de pago`,adjust:`Ajustar`,capProgress:` / {cap} este mes`,connectCardBanner:`La recarga automática requiere vincular una tarjeta de crédito.`,declinedCutoffNotice:`Pausamos las recargas automáticas tras varios pagos rechazados. Añade un nuevo método de pago para volver a activar la recarga automática.`,disableError:`No se pudo desactivar la recarga automática. Inténtalo de nuevo.`,dismiss:`Descartar`,loadError:`No se pudo cargar la configuración de la recarga automática.`,loading:`Cargando…`,summary:`Añadir {amount} cuando el saldo baje de {threshold}`,toggleLabel:`Activar recarga automática`,updateError:`No se pudo guardar la configuración de la recarga automática. Inténtalo de nuevo.`},m={disable:`Desactivar`,disabling:`Desactivando…`,keepEnabled:`Mantener activado`,message:`La recarga automática se detendrá. Los métodos de pago guardados se conservarán.`,title:`¿Desactivar la recarga automática?`},h={amountLabel:`Importe de recarga automática`,cancel:`Cancelar`,capLabel:`Límite de gasto mensual`,save:`Guardar`,thresholdLabel:`Recargar automáticamente cuando el saldo esté por debajo de`},g={addressFormLoadError:`No se pudo cargar el formulario de dirección de facturación. Cierra y vuelve a abrir este diálogo.`,cancel:`Cancelar`,confirmFailed:`No se pudo guardar el método de pago.`,paymentFormLoadError:`No se pudo cargar el formulario de pago. Cierra y vuelve a abrir este diálogo.`,save:`Guardar`,savedToast:`Método de pago guardado.`,setupError:`No se pudo iniciar la configuración de la tarjeta. Inténtalo de nuevo.`,title:`Guardar método de pago`,tryAgain:`Intentar de nuevo`,unavailable:`La configuración del método de pago no está disponible en este momento. Inténtalo de nuevo más tarde.`},_={backgroundConfirmContinue:`Continuar`,backgroundConfirmKeepWaiting:`Seguir esperando`,backgroundConfirmTitle:`¿Continuar en segundo plano?`},v={billingTab:`Facturación`,billingUnavailable:`La facturación no está disponible para el estado actual del asistente.`,finishSetupBody:`La dirección de correo de tu asistente aún no se ha configurado.`,finishSetupButton:`Finalizar configuración`,finishSetupTitle:`Termina de configurar tu plan {plan}`,loadingBilling:`Cargando facturación…`,platformLoginNotice:`Inicia sesión en la plataforma Vellum para administrar la facturación y el uso.`,usageTab:`Uso`},y={addCreditsButton:`Añadir créditos`,balanceLabel:`Créditos`,degradedNotice:`No se pudieron calcular los cargos pendientes. El saldo mostrado puede estar incompleto.`,earnCreditsButton:`Gana créditos gratis`,loadError:`No se pudo cargar el resumen de facturación. Inténtalo de nuevo más tarde.`,loading:`Cargando resumen de facturación...`,lowBalanceToggle:`Alerta personalizada de saldo bajo`,noInfo:`No hay información de facturación disponible.`,subtitle:`Resumen rápido de tus saldos y otros datos`,title:`Créditos`},b={endOfBillingPeriod:`el final de tu período de facturación`,proCanceled:`Plan Pro cancelado. Tendrás acceso hasta {date}.`,proReactivated:`Plan Pro reactivado.`,subscriptionUpdated:`Suscripción actualizada.`},x={successToast:`¡Pago recibido! Tu saldo de créditos se actualizará en breve.`,topUpCancelToast:`Se canceló el pago. No se añadieron créditos.`,upgradeCancelToast:`Mejora cancelada. No hay cambios en tu plan.`},S={empty:`No hay datos de uso para este período`},C={backToAllUsage:`Volver a todo el uso`,chartMetricAria:`Métrica del gráfico`,eventsLabel:`Eventos`,llmDimensionAria:`Dimensión del gasto de LLM`,llmSpend:`Gasto de LLM`,loadError:`No se pudieron cargar los datos de uso.`,metricEvents:`Eventos`,metricSpend:`Gasto ($)`,oauthSpend:`Gasto de OAuth`,spendLabel:`Gasto`,subtitle:`Resumen de tus hábitos de gasto.`,title:`Uso de créditos`},w={description:`Cuando expire tu sesión, verifica con {label} en lugar de iniciar sesión de nuevo.`,descriptionWithPasscode:`Cuando expire tu sesión, verifica con {label} o el código de tu dispositivo en lugar de iniciar sesión de nuevo.`,title:`Seguridad`,useForSignIn:`Usar {label} para iniciar sesión`},T={emptyDescription:`Pasa el cursor sobre cualquier mensaje y haz clic en el icono de marcador para guardarlo aquí.`,emptyTitle:`Sin marcadores`,errorDescription:`Algo salió mal. Inténtalo de nuevo.`,errorTitle:`No se pudieron cargar los marcadores`,open:`Abrir`,removeBookmark:`Eliminar marcador`,retry:`Reintentar`,untitledConversation:`Conversación sin título`},E={affectedSummary:`{count, plural, one {# acción usa actualmente {profile}} other {# acciones usan actualmente {profile}}}`,applyTo:`{count, plural, one {Aplicar a # acción} other {Aplicar a # acciones}}`,cancel:`Cancelar`,changeToLabel:`Cambiar a`,chooseActions:`Elige qué acciones actualizar.`,clearAll:`Borrar todo`,currentlyUsingLabel:`Usando actualmente`,intro:`Actualiza las acciones que actualmente usan un perfil. El resultado se guarda como anulaciones individuales.`,noticeBody:`Cambia las acciones seleccionadas que usan {sourceLabel} hoy. No crea una regla continua entre perfiles.`,noticeTitle:`Esto ocurre una sola vez.`,selectAll:`Seleccionar todo`,successToast:`Se actualizaron {count, plural, one {# acción} other {# acciones}} a "{targetLabel}".`,targetPlaceholder:`Selecciona un perfil…`,title:`Cambiar anulaciones de acciones`,updateFailedToast:`No se pudieron actualizar las anulaciones. Inténtalo de nuevo.`,viaDefault:`Predeterminado`,viaOverride:`Anulación`,willChange:`{count, plural, one {Cambiará # acción} other {Cambiarán # acciones}}`},D={defaultProfileSuffix:`· Predeterminado: {label}`,modelLabel:`Modelo`,overrideAriaLabel:`Anular {displayName}`,pickModelError:`Elige un modelo`,providerLabel:`Proveedor`,unavailableOption:`{name} (no disponible)`},O={completeFailed:`No se pudo completar el inicio de sesión. Inténtalo de nuevo.`,completeSignIn:`Completar inicio de sesión`,completingSignIn:`Completando inicio de sesión...`,connected:`Suscripción a ChatGPT conectada correctamente.`,intro:`Conecta tu suscripción a ChatGPT para usar modelos de OpenAI sin una clave de API.`,invalidUrl:`URL no válida. Pega la URL completa de la barra de direcciones.`,missingCode:`A la URL le falta el código de autorización. Asegúrate de haber copiado la URL completa.`,missingState:`A la URL le falta el parámetro state. Asegúrate de haber copiado la URL completa.`,pasteUrlError:`Pega la URL de la página de error.`,signInButton:`Iniciar sesión con ChatGPT`,startFailed:`No se pudo iniciar el inicio de sesión con ChatGPT. Inténtalo de nuevo.`,startingSignIn:`Iniciando sesión...`,step1Idle:`1. Haz clic en "Iniciar sesión con ChatGPT" abajo para abrir una ventana emergente`,step1PasteUrl:`1. Haz clic en "Iniciar sesión con ChatGPT" para abrir una ventana emergente`,step2:`2. Inicia sesión; llegarás a una página de error, y eso es normal`,step3:`3. Copia la URL completa de la barra de direcciones de esa página y pégala abajo`,tryAgain:`Intentar de nuevo`,urlPlaceholder:`Pega aquí la URL de devolución de llamada...`},k={body:`Reclama un crédito único de {amount} y lo añadiremos directamente al saldo de tu cuenta. No se requiere ningún pago.`,claim:`Reclamar {amount} en créditos`,decline:`No, gracias`,errorToast:`No se pudieron añadir los créditos. Inténtalo de nuevo.`,grantedToast:`Se añadieron {amount} en créditos a tu cuenta.`,title:`Aquí tienes {amount} de nuestra parte`,unavailableToast:`Esta oferta ya no está disponible.`},A={awaitingReturnMessage:`El pago se abrió en tu navegador. Complétalo allí para finalizar la mejora.`,checkoutFailedMessage:`No pudimos iniciar el pago. Inténtalo de nuevo.`,continueSetup:`Continuar configuración`,preparingCheckout:`Preparando pago…`,preparingCheckoutAriaLabel:`Preparando pago`,reopenCheckout:`Reabrir pago`,tryAgain:`Intentar de nuevo`,viewPlans:`Ver planes`},j={communityHubDescription:`Muestras, guías y proyectos compartidos por la comunidad.`,communityHubTitle:`Centro de la comunidad`,discordBenefitAnswers:`Obtén respuestas más rápido de la comunidad`,discordBenefitFeedback:`Comparte comentarios y solicita funciones`,discordBenefitTeam:`Habla directamente con el equipo`,discordLabel:`Discord`,discordSubtitle:`Habla con el equipo, comparte comentarios, solicita funciones y obtén respuestas más rápido.`,discordTitle:`Únete a nuestra comunidad`,followOnXDescription:`Actualizaciones del producto, lanzamientos y detrás de escena.`,followOnXTitle:`Seguir en X`,heroDescription:`Vellum se construye en abierto con una comunidad creciente de desarrolladores, diseñadores y experimentadores. Así puedes participar.`,heroTag:`Comunidad`,heroTitle:`Construye con nosotros, en abierto.`,joinDiscord:`Unirse a Discord`,moreFromVellum:`Más de Vellum`,openSourceBenefitContribute:`Contribuye con correcciones y nuevas funciones`,openSourceBenefitIssues:`Abre incidencias y reporta errores`,openSourceBenefitStar:`Marca el repositorio para seguir las actualizaciones`,openSourceLabel:`Código abierto`,openSourceSubtitle:`Lee el código fuente, marca el repositorio y contribuye con correcciones y funciones en GitHub.`,openSourceTitle:`Vellum es de código abierto`,starOnGitHub:`Marcar en GitHub`,viewSource:`Ver código fuente`,youtubeChannelDescription:`Recorridos, tutoriales y análisis profundos del producto.`,youtubeChannelTitle:`Canal de YouTube`},M={assistantFallbackName:`tu asistente`,returnTo:`Volver a {assistantName}`,title:`¡Ya está todo listo!`},N={advancedCron:`Avanzado: escribe una expresión cron`,atMinute:`En el minuto`,atTime:`A la hora`,backToSimple:`← Volver al constructor simple`,cancel:`Cancelar`,create:`Crear programación`,createFailed:`No se pudo crear la programación.`,creating:`Creando…`,cronAriaLabel:`Expresión cron`,cronContinuePrompt:`Introduce una expresión cron para continuar.`,cronHelper:`Cron estándar de 5 campos (minuto hora día mes día-semana). También se aceptan expresiones RRULE.`,dayOfMonthAriaLabel:`Día del mes`,description:`Programa una instrucción recurrente para tu asistente. Se ejecuta en modo execute: el mensaje se entrega al asistente en cada activación.`,descriptionLabel:`Descripción`,descriptionPlaceholder:`¿Para qué es esta programación?`,frequencyAriaLabel:`Con qué frecuencia se ejecuta la programación`,frequencyDaily:`Diaria`,frequencyHourly:`Cada hora`,frequencyMonthly:`Mensual`,frequencyWeekly:`Semanal`,hourAriaLabel:`Hora`,lastDay:`Último día`,messageLabel:`Mensaje`,messagePlaceholder:`¿Qué debe hacer el asistente en cada activación?`,minuteAriaLabel:`Minuto`,nameLabel:`Nombre`,namePlaceholder:`Resumen matutino`,onDay:`El día`,onTheseDays:`En estos días`,periodAm:`AM`,periodAriaLabel:`AM o PM`,periodPm:`PM`,repeatLabel:`Repetir`,timezoneNote:`Las horas usan tu zona horaria: {timezone}.`,title:`Crear programación`},P={addedMetadata:`añadida el {date}`,clickToRevealTitle:`Haz clic para revelar`,configureAriaLabel:`Configurar {name}`,configureButton:`Configurar`,copyFailedToast:`No se pudo copiar. Revela y copia manualmente.`,copyValueAriaLabel:`Copiar valor de {name}`,copyValueTitle:`Copiar valor`,deleteLabel:`Eliminar`,generateLinkLabel:`Generar enlace`,hideValueAriaLabel:`Ocultar valor de {name}`,hideValueTitle:`Ocultar valor`,revealFailedToast:`No se pudo revelar {name}.`,revealValueAriaLabel:`Revelar valor de {name}`},F={addButton:`Añadir`,addCredentialButton:`Añadir credencial`,copyLinkButton:`Copiar enlace`,credentialSourceAriaLabel:`Origen de credenciales`,deleteConfirmLabel:`Eliminar`,deleteConfirmMessage:`¿Eliminar {name}? Las herramientas e integraciones que la usan perderán el acceso.`,deleteConfirmTitle:`Eliminar credencial`,deleteErrorToast:`No se pudo eliminar la credencial`,deleteSuccessToast:`Se eliminó {name}.`,emptySubtitle:`Añade una clave de API o un token para que herramientas e integraciones lo usen.`,emptyTitle:`Aún no hay credenciales`,generateLinkFailedToast:`No se pudo generar un enlace de un solo uso`,inUseConfirmLabel:`Eliminar de todos modos`,inUseMessage:`{count, plural, one {{name} es la credencial con la que la conexión {connections} envía sus solicitudes. Si la eliminas, esa conexión dejará de responder hasta que agregues una credencial nueva.} other {{name} es la credencial con la que las conexiones {connections} envían sus solicitudes. Si la eliminas, esas conexiones dejarán de responder hasta que agregues una credencial nueva.}}`,inUseTitle:`La credencial está en uso`,linkCopiedToast:`Enlace copiado al portapapeles.`,linkCopyFailedToast:`No se pudo copiar el enlace. Selecciónalo y cópialo manualmente.`,linkLabel:`Enlace`,managedTag:`Gestionada`,noMatch:`Ninguna credencial coincide con "{query}".`,oneTimeLinkModalDescription:`Envía este enlace a quien deba proporcionar {name}. Funciona exactamente una vez{expiresClause}. Cualquiera con el enlace puede establecer esta credencial, así que compártelo por un canal seguro.`,oneTimeLinkModalExpiresClause:` y caduca el {expiresAt}`,oneTimeLinkModalTitle:`Enlace de credencial de un solo uso`,searchAriaLabel:`Buscar credenciales`,searchPlaceholder:`Buscar credenciales`,segmentManaged:`Gestionadas`,segmentYourOwn:`Propias`,subtitleManaged:`Proporcionadas a través de tus integraciones gestionadas por Vellum. Aquí son solo de lectura.`,subtitleOwn:`Guardadas cifradas en la bóveda de credenciales de tu asistente. Revela un valor bajo demanda, o reemplázalo o elimínalo en cualquier momento.`,title:`Credenciales`},I={ariaLabel:`Paquete de créditos`,label:`Paquete de créditos`,noBundleOption:`Sin paquete de créditos - {price}`,optionLabel:`{label} - {price}`,placeholder:`Selecciona un paquete de créditos`,tooltip:`Una asignación mensual de créditos añadida a tu suscripción del Plan Pro`},L={cancel:`Cancelar`,comparedToPrevious:`{delta} en comparación con el anterior ({previous})`,continue:`Continuar`,creditBundleAriaLabel:`Paquete de créditos`,creditBundlePlaceholder:`Selecciona un paquete de créditos`,creditsDocsAriaLabel:`Más información sobre paquetes de créditos`,creditsLabel:`Añade créditos:`,learnMore:`Más información`,machineSizeAriaLabel:`Tamaño de máquina`,machineSizeDocsAriaLabel:`Más información sobre tamaños de máquina`,machineSizeLabel:`Selecciona un tamaño de máquina:`,machineSizePlaceholder:`Selecciona un tamaño de máquina`,noExtraUsage:`Sin uso adicional`,recap:`Resumen`,storageAriaLabel:`Almacenamiento`,storageDocsAriaLabel:`Más información sobre almacenamiento`,storageLabel:`Selecciona almacenamiento:`,storagePlaceholder:`Selecciona almacenamiento`,subtitle:`Simplemente mejor.`,title:`Crear un plan personalizado`,totalBilledMonthly:`Total · Facturación mensual`,usageBundleAriaLabel:`Paquete de uso`,usageBundleDocsAriaLabel:`Más información sobre paquetes de uso`,usageBundleLabel:`Añade un paquete de uso:`,usageBundlePlaceholder:`Selecciona un paquete de uso`,yourSelection:`Tu selección:`},R={configure:`Configurar`,currentPlanTag:`Tu plan actual`,genericDescriptor:`Selecciona potencia de CPU, RAM y almacenamiento personalizados. O añade algunos tokens.`,prompt:`¿Necesitas algo más adaptado a tus necesidades?`,title:`Plan personalizado`},z={errorDecimals:`Usa como máximo dos decimales`,errorEmpty:`Introduce un límite diario`,errorMin:`Debe ser al menos $1`,helperText:`Se restablece a diario a las {time}.`,inputLabel:`Dejar de gastar créditos de Vellum después de`,loadError:`No se pudo cargar la configuración del límite diario de créditos.`,loading:`Cargando…`,progress:`{spent} de {limit} gastados hoy`,reachedNotice:`El gasto de créditos de Vellum de hoy ha alcanzado este límite. La generación se reanuda a las {time} o cuando subas el límite.`,requiredNote:`Se requiere un límite diario de créditos mientras la recarga automática está activada.`,resumeError:`No se pudo reanudar el límite diario de créditos. Inténtalo de nuevo.`,resumeNow:`Reanudar ahora`,save:`Guardar`,saveError:`No se pudo guardar el límite diario de créditos. Inténtalo de nuevo.`,skippedNotice:`Omitido por hoy. Este límite se reanuda a las {time}.`,toggleLabel:`Límite diario de créditos`},B={backups:`Copias de seguridad`,loadFailedToast:`No se pudo cargar la información del asistente`,loading:`Cargando información del asistente...`,loginNotice:`Inicia sesión en la plataforma Vellum para administrar las copias de seguridad.`,noAssistant:`No se encontró ningún asistente. Crea un asistente para acceder a los controles de depuración.`,onboardingClearedToast:`Indicadores de incorporación borrados.`,replay:`Repetir`,replayDescription:`Borra los indicadores locales de incorporación y vuelve a recorrer las pantallas de privacidad → creación. Tu asistente existente se conserva.`,replayTitle:`Repetir incorporación (solo Vellum)`,restartDescription:`Reinicia la máquina del asistente. Estará brevemente no disponible durante el reinicio.`,restartTitle:`Reiniciar asistente`,subtitle:`Administra copias de seguridad, reinicia tu asistente o entra en modo de recuperación para conectar al terminal de depuración.`,title:`General`},V={confirmLabel:`Eliminar cuenta`,confirmMessage:`Esto eliminará permanentemente tu cuenta y todos los datos asociados. Esta acción no se puede deshacer.`,confirmTitle:`Eliminar cuenta`,deleteMyAccount:`Eliminar mi cuenta`,description:`Elimina permanentemente tu cuenta y todos los datos asociados.`,platformLoginNotice:`Inicia sesión en la plataforma de Vellum para eliminar tu cuenta.`,title:`Eliminar cuenta`,toastFailed:`No se pudo solicitar la eliminación de la cuenta. Inténtalo de nuevo.`,toastRequested:`Eliminación de cuenta solicitada. Se cerrará tu sesión en breve.`},H={disabled:`Modo desarrollador desactivado`,enabled:`Modo desarrollador activado`,loading:`Cargando versión...`},U={sectionsAriaLabel:`Secciones de desarrollador`,tabFeatureFlags:`Indicadores de funciones`,tabLifecycle:`Ciclo de vida del asistente`,tabMemory:`Memoria`,tabSentry:`Pruebas de Sentry`},W={allowOnce:`Permitir una vez`,alwaysAllow:`Permitir siempre`,backUp:`Hacer copia`,backupPromptBody:`El doctor está a punto de ejecutar <toolCode>{toolName}</toolCode>. ¿Quieres hacer una copia de seguridad de tu espacio de trabajo primero?`,backupPromptTitle:`¿Crear una copia de seguridad antes de modificar?`,completedStep:`Se completó 1 paso`,confirmationRequired:`Confirmación requerida`,copyAria:`Copiar al portapapeles`,copyAriaCopied:`Copiado`,copyError:`No se pudo copiar el mensaje.`,copyTitle:`Copiar`,copyTitleCopied:`¡Copiado!`,deny:`Denegar`,failedStep:`Falló 1 paso`,feedbackBody:`Puedes enviarlo con registros mientras el Doctor sigue buscando una solución o alternativa aquí.`,feedbackTitle:`Esto parece comentarios para el equipo de Vellum.`,gladSolved:`¡Me alegra que esté resuelto!`,hideDetails:`Ocultar detalles`,notSolved:`No resuelto`,notSolvedAria:`No, mi problema no está resuelto`,output:`Salida`,runningStep:`Ejecutando 1 paso`,shareFeedback:`Compartir comentarios`,showDetails:`Mostrar detalles`,skip:`Omitir`,solvedAria:`Sí, mi problema está resuelto`,technicalDetails:`Detalles técnicos`,toolLabel:`Herramienta:`},G={beta:`Beta`,betaTitle:`Doctor está en beta: usa el menú de Configuración para enviar comentarios`,connecting:`Conectando...`,copied:`¡Copiado!`,copiedAria:`Copiado`,copiedTooltip:`¡Copiado!`,copyFailed:`No se pudo copiar la sesión.`,copySession:`Copiar sesión`,copySessionAria:`Copiar sesión al portapapeles`,copySessionTooltip:`Copiar sesión al portapapeles`,endSession:`Finalizar sesión`,goToNewest:`Ir al más reciente`,goToNewestAria:`Ir al mensaje más reciente`,idleDescription:`Inicia una sesión de diagnóstico para que el Doctor analice tu asistente, identifique problemas y sugiera o aplique correcciones. El Doctor es gratuito. Los registros del Doctor pueden almacenarse temporalmente.`,idleTitle:`Doctor del asistente`,loading:`Cargando...`,newSession:`Nueva sesión`,noAssistant:`No se encontró ningún asistente. Crea un asistente para usar el Doctor.`,placeholderApproval:`Escribe "approve" o "deny", o envía un mensaje...`,placeholderMessage:`Escribe un mensaje...`,sendMessageAria:`Enviar mensaje`,shareFeedback:`Compartir comentarios`,startSession:`Iniciar sesión del Doctor`,thinking:`Pensando…`,title:`Doctor`},K={subdomainAriaLabel:`Subdominio`},q={continue:`Continuar`,domainLockedMessage:`Este dominio ya está establecido y no se puede cambiar.`,domainSetRedirecting:`Dominio establecido. Redirigiendo…`,handleImmutableNotice:`No podrás cambiar el identificador una vez establecido.`,handleLabel:`Identificador (público)`,machineBusyNotice:`Tu asistente se está reiniciando; podrás establecer el dominio en un momento.`,next:`Siguiente`,prefixLabel:`Prefijo`,registerSubdomainFailed:`No se pudo registrar ese subdominio. Prueba con otro.`,skip:`Omitir`,subtitle:`Configura un correo para tu asistente.`,title:`Correo del asistente`},J={body:`Al bajar de plan se eliminan las siguientes funciones Pro:`,confirm:`Confirmar bajada de plan`,keepPro:`Mantener Pro`,title:`¿Bajar a Base?`},Y={addressLabel:`Dirección`,checkingSubscription:`Comprobando suscripción…`,confirm:`Confirmar`,create:`Crear`,createEmailFailedFallback:`No se pudo crear la dirección de correo.`,creating:`Creando…`,domainLabel:`Dominio`,domainRegisteredToast:`Dominio {domain} registrado.`,domainReleaseFailedToast:`No se pudo liberar el dominio.`,domainReleasedToast:`Dominio liberado.`,emailAddressLabel:`Dirección de correo`,emailCreatedToast:`Dirección de correo creada.`,emailRemoveFailedToast:`No se pudo eliminar la dirección de correo.`,emailRemovedToast:`Dirección de correo eliminada.`,emailUsernameAriaLabel:`Nombre de usuario del correo`,emailUsernamePlaceholder:`hola`,enterSubdomainError:`Introduce un subdominio.`,enterUsernameError:`Introduce un nombre de usuario de correo.`,register:`Registrar`,registerDomainFailedFallback:`No se pudo registrar el dominio.`,registering:`Registrando…`,releaseConfirm:`Liberar`,releaseDomainAriaLabel:`Liberar dominio`,releaseDomainConfirmMessage:`¿Seguro que quieres liberar <code>{domain}</code>? El subdominio quedará disponible para que otros lo reclamen.`,releaseDomainTitle:`Liberar dominio`,removeAddressFirstToast:`Elimina primero la dirección de correo.`,removeConfirm:`Eliminar`,removeEmailAriaLabel:`Eliminar dirección de correo`,removeEmailConfirmMessage:`¿Seguro que quieres eliminar <code>{address}</code>? Tu asistente ya no podrá enviar ni recibir correo en esta dirección.`,removeEmailTitle:`Eliminar dirección de correo`,retry:`Reintentar`,setSubdomainConfirmMessage:`<code>{subdomain}</code> también será el identificador público de tu asistente. No podrás cambiarlo una vez establecido.`,setSubdomainTitle:`Establecer subdominio`,subdomainExamplePlaceholder:`mi-asistente`,subdomainFallback:`subdominio`,subdomainHint:`Cada asistente tiene su propio subdominio. Solo letras minúsculas, números y guiones.`,subdomainLabel:`Subdominio`,subscriptionWarningBody:`No pudimos contactar con el servicio de facturación. El formulario siguiente asume que el correo gestionado está habilitado para tu organización. Si no lo está, registrar un dominio fallará.`,subscriptionWarningTitle:`No se pudo verificar el estado de la suscripción`,upgradeButton:`Mejorar plan`,upgradeNoticeBody:`Mejora a un plan que incluya una dirección de correo para tu asistente. No hace falta configurar un proveedor.`,upgradeNoticeTitle:`Dale a tu asistente su propia dirección de correo`,usageSummary:`{sent} / {limit} enviados hoy · {received} recibidos`},X={apiKeyConfigured:`Clave API de {providerName} configurada. Para reconfigurar, ejecuta la habilidad <code>{setupSkill}</code>.`,connecting:`Conectando con la plataforma Vellum…`,openProvider:`Abrir {providerName}`,platformLoginNotice:`Inicia sesión en la plataforma Vellum para administrar la configuración de correo.`,providerLabel:`Proveedor`,saveSuccessToast:`Configuración de correo guardada.`,setupInstructions:`Configura {providerName} mediante la CLI del asistente: pídele al asistente que ejecute la habilidad <code>{setupSkill}</code>. Te guiará para guardar la clave API, detectar el dominio y (opcionalmente) configurar un webhook entrante.`,subtitle:`Configura cómo tu asistente envía y recibe correo`,title:`Correo`},Z={cancel:`Cancelar`,codeLabel:`Código de 6 dígitos`,codePlaceholder:`123456`,copyError:`No se pudo copiar la clave de configuración.`,copySuccess:`Clave de configuración copiada.`,description:`Escanea el código QR con una aplicación de autenticación como Google Authenticator o 1Password, luego ingresa el código de 6 dígitos que muestra.`,errorCodeMismatch:`Ese código no coincide. Revisa tu aplicación de autenticación y vuelve a intentarlo.`,errorSessionExpired:`Esta sesión de configuración caducó. Escanea el nuevo código QR y vuelve a intentarlo.`,errorThrottledInline:`Demasiados intentos. Espera un minuto y vuelve a intentarlo.`,errorVerifyFailed:`No se pudo verificar el código. Espera un momento y vuelve a intentarlo.`,manualKeyHint:`¿No puedes escanearlo? Ingresa esta clave de configuración manualmente:`,qrCodeAlt:`Código QR para tu aplicación de autenticación`,title:`Configurar aplicación de autenticación`,toastEnabled:`La autenticación de dos factores está activada.`,toastFactorLimitReached:`Ya hay una aplicación de autenticación configurada. Elimínala antes de añadir otra.`,toastNoWorkosAccount:`La autenticación de dos factores solo está disponible para cuentas de la plataforma Vellum.`,toastStartFailed:`No se pudo iniciar la configuración. Vuelve a intentarlo.`,toastThrottled:`Demasiados intentos. Vuelve a intentarlo en un minuto.`,verify:`Verificar`,verifying:`Verificando…`},Q={emailRootDomain:`Dominio raíz de correo`,emailRootDomainDescription:`Dominio raíz usado para las direcciones de correo del asistente (p. ej. vellum.me).`,nonProduction:`No producción`,nonProductionDescription:`Indica un entorno que no es de producción. Habilita superficies de UI y diagnósticos solo para desarrollo.`,nonProductionOffAriaLabel:`No producción está desactivado`,nonProductionOnAriaLabel:`No producción está activado`,subtitle:`Anulaciones de configuración del entorno para esta sesión.`,title:`Entorno`},$={fetchErrorTitle:`No se pudo acceder a facturación`,goToBilling:`Ir a facturación`},ee={defaultLabel:`Predeterminado:`,empty:`(vacío)`,enterValue:`Introduce un valor...`,expectedOneOf:`Se espera uno de: {values}`,flagOffAriaLabel:`{label} está desactivado`,flagOnAriaLabel:`{label} está activado`,noMatching:`No hay indicadores coincidentes.`,off:`Desactivado`,on:`Activado`,scopeAssistant:`asistente`,scopeClient:`cliente`,searchPlaceholder:`Buscar indicadores...`,subtitle:`Indicadores de función activos evaluados para la sesión actual.`,title:`Indicadores de función`,valueAriaLabel:`Valor de {label}`},te={bodyCancelOnly:`Tu suscripción se cancelará al final de tu período de facturación actual. Mantendrás el acceso Pro hasta entonces.`,bodyCancelOnlyPortal:`Se te llevará a Stripe para cancelar tu suscripción.`,bodyWithFeatures:`Al bajar de plan se eliminan las siguientes funciones Pro. Tu suscripción se cancelará al final de tu período de facturación actual.`,bodyWithFeaturesPortal:`Al bajar de plan se eliminan las siguientes funciones Pro. Se te llevará a Stripe para cancelar tu suscripción.`,cancel:`Cancelar`,confirm:`Bajar a Base`,title:`¿Bajar a Base?`},ne={chooseAssistant:`Elegir asistente`,computeResourcesLoginNotice:`Inicia sesión en la plataforma Vellum para administrar los recursos de cómputo.`,computeResourcesSubtitle:`Supervisa el uso de recursos y administra el perfil de cómputo de tu asistente.`,computeResourcesTitle:`Cómputo y recursos`,current:`Actual`,customize:`Personalizar`,dangerZoneTitle:`Zona de peligro`,preferencesSubtitle:`Personaliza cómo se ve y se comporta Vellum en este dispositivo.`,preferencesTitle:`Preferencias`,retireAssistantDescription:`Retira permanentemente este asistente y elimina todos los datos asociados.`,retireAssistantLoginNotice:`Inicia sesión en la plataforma Vellum para retirar este asistente.`,retireAssistantTitle:`Retirar asistente`,sleepPolicyLoginNotice:`Inicia sesión en la plataforma Vellum para administrar la política de suspensión.`,sleepPolicySubtitle:`Controla cuánto tiempo permanece activo este asistente cuando está inactivo.`,sleepPolicyTitle:`Política de suspensión`,switchAssistantSubtitle:`Elige a qué asistente está conectado este dispositivo.`,switchAssistantTitle:`Cambiar asistente`,twoFactorDescription:`Requiere un código de una aplicación de autenticación cuando inicias sesión.`,twoFactorLoginNotice:`Inicia sesión en la plataforma Vellum para administrar la autenticación de dos factores.`,twoFactorTitle:`Autenticación de dos factores`,updateWindow:`Ventana de actualización`,updatesLoginNotice:`Inicia sesión en la plataforma Vellum para administrar las actualizaciones de software.`,versionSubtitle:`Administra la versión de software de tu asistente y las actualizaciones.`,versionTitle:`Versión`},re={body:`Conservarás las funciones Pro hasta entonces.`,reactivate:`Reactivar`,title:`Tu plan Pro terminará el {date}.`},ie={activeModelLabel:`Modelo activo`,apiKeyLabel:`Clave de API`,configUpdateFailedToast:`No se pudo actualizar la configuración del asistente. Inténtalo de nuevo.`,geminiApiKeyPlaceholder:`Introduce tu clave de API de Gemini`,localPreferencesFailedToast:`Guardado, pero no se pudieron escribir las preferencias locales.`,modelAriaLabel:`Modelo de generación de imágenes`,modelUpdateFailedToast:`No se pudo actualizar el modelo de generación de imágenes. Inténtalo de nuevo.`,openaiApiKeyPlaceholder:`Introduce tu clave de API de OpenAI`,providerAriaLabel:`Proveedor de generación de imágenes`,providerLabel:`Proveedor`,savedToast:`Configuración de generación de imágenes guardada.`,subtitle:`Configura qué modelo usa tu asistente para generar imágenes`,title:`Generación de imágenes`,vellumNote:`La generación de imágenes se ejecuta a través de tu cuenta de Vellum.`},ae={accountFallback:`Cuenta de {name}`,close:`Cerrar`,confirm:`Confirmar`,disconnect:`Desconectar`,disconnectFailedToast:`No se pudo desconectar la cuenta de {name}.`,disconnectMessage:`¿Desconectar {account}? Puedes volver a conectarla más tarde.`,disconnectTitle:`¿Desconectar {name}?`,disconnectedToast:`Cuenta de {name} desconectada.`,loginNotice:`Inicia sesión en la plataforma Vellum para administrar las conexiones OAuth.`,managedTab:`Administrada`,oauthModeAriaLabel:`Modo OAuth`,subtitle:`Configurar OAuth de {name}`,subtitleWithDescription:`Configurar OAuth de {name} para {description}`,title:`OAuth de {name}`,yourOwnTab:`Propia`},oe={configure:`Configurar`,disable:`Desactivar`,disconnect:`Desconectar`,disconnectFailedToast:`No se pudo desconectar la cuenta de {name}.`,disconnectMessage:`¿Desconectar tu cuenta de {name}? Puedes volver a conectarla más tarde.`,disconnectTitle:`¿Desconectar {name}?`,disconnectedToast:`Cuenta de {name} desconectada.`,editConnections:`Editar conexiones`,enable:`Activar`},se={accountConnectedToast:`Cuenta de {providerLabel} conectada correctamente.`,accountConnectedToastGeneric:`Cuenta conectada correctamente.`,connectFailedToast:`No se pudo conectar {providerLabel}.`,connectFailedToastGeneric:`No se pudo conectar. Inténtalo de nuevo.`,emptyAllEnabledTitle:`Todas las integraciones están habilitadas`,emptyDefaultSubtitle:`Comprueba tu conexión e inténtalo de nuevo.`,emptyDefaultTitle:`No hay integraciones disponibles`,emptyEnabledSubtitle:`Conecta una integración para comenzar.`,emptyEnabledTitle:`No hay integraciones habilitadas`,emptyNotEnabledSubtitle:`Todas las integraciones disponibles han sido conectadas.`,emptySearchSubtitle:`Ninguna integración coincide con "{query}"`,emptySearchTitle:`Ninguna integración coincide`,filterAll:`Todas`,filterAriaLabel:`Filtrar integraciones`,filterEnabled:`Habilitadas`,filterNotEnabled:`No habilitadas`,loadFailed:`No se pudieron cargar las integraciones. Inténtalo de nuevo.`,loading:`Cargando...`,noAssistant:`No se encontró ningún asistente. Crea un asistente para conectar integraciones.`,oauthErrorDenied:`Se denegó la autorización. Inténtalo de nuevo.`,oauthErrorExchangeFailed:`No se pudo completar la autorización. Inténtalo de nuevo.`,oauthErrorIdentityFailed:`No se pudo verificar la identidad de la cuenta. Inténtalo de nuevo.`,oauthErrorStateExpired:`La autorización expiró. Inténtalo de nuevo.`,oauthErrorStateInvalid:`El estado de autorización no era válido. Inténtalo de nuevo.`,searchAriaLabel:`Buscar integraciones`,searchPlaceholder:`Buscar integraciones`,tabMcp:`MCP`,tabOAuth:`OAuth`,tipBanner:`<tip>Consejo:</tip> Puedes habilitar integraciones mencionándolas en el chat.`},ce={columnAction:`Acción`,columnAmount:`Importe`,columnDate:`Fecha`,columnStatus:`Estado`,downloadAll:`Descargar todas`,downloadAllFailed:`No se pudieron descargar las facturas.`,downloadPdfAriaLabel:`Descargar PDF de la factura`,empty:`No se encontraron facturas`,hideButton:`Ocultar facturas`,loadError:`No se pudieron cargar las facturas.`,loadMore:`Cargar más`,loadMoreError:`No se pudieron cargar más facturas.`,loading:`Cargando facturas...`,retry:`Reintentar`,showButton:`Mostrar facturas`,showLess:`Mostrar menos`,showMore:`Mostrar más ({count} más)`,title:`Facturas`,view:`Ver`},le={defaultProviderUnavailable:`Tu proveedor predeterminado no está disponible.`,manage:`Administrar`,overridesTitle:`Anulaciones`,subtitle:`Los perfiles eligen qué modelo responde. Los proveedores dan acceso a él`,title:`Modelo de lenguaje`},ue={change:`Cambiar`,subtitle:`El idioma en el que hablas con tu asistente. Se aplica a partir de tu próximo turno hablado.`,title:`Idioma de escucha`},de={errorDecimals:`Usa como máximo dos decimales`,errorRange:`Debe estar entre $1 y $1,000`,helperText:`El valor predeterminado es {amount} si no se establece`,label:`Avisarme cuando mi saldo baje de`,loadError:`No se pudo cargar la configuración de alerta de saldo bajo.`,loading:`Cargando…`,reset:`Restablecer al valor predeterminado`,save:`Guardar`,saveError:`No se pudo guardar la alerta de saldo bajo. Inténtalo de nuevo.`},fe={actionOverridesTitle:`Anulaciones de acciones`,cancel:`Cancelar`,clauseActionOverrides:`lo usa {count, plural, one {# anulación de acción} other {# anulaciones de acciones}}`,clauseDefaultProfile:`es tu perfil predeterminado`,clauseRunsBoth:`ejecuta {schedules, plural, one {# programación} other {# programaciones}} y {reminders, plural, one {# recordatorio} other {# recordatorios}}`,clauseRunsReminders:`ejecuta {count, plural, one {# recordatorio} other {# recordatorios}}`,clauseRunsSchedules:`ejecuta {count, plural, one {# programación} other {# programaciones}}`,disabledTargetTooltip:`Habilita este perfil para mover programaciones a él.`,moreSchedules:`y {count} más`,reassignAndDelete:`Reasignar y eliminar`,replacementLabel:`Perfil de reemplazo`,replacementPlaceholder:`Selecciona un reemplazo…`,saving:`Guardando…`,scheduleLookupFailed:`No pudimos comprobar qué programaciones usan este perfil. Cualquier programación fijada a él también se moverá al reemplazo.`,schedulesTitle:`Programaciones`,summaryNoReferences:`Elige un perfil de reemplazo para "{display}". Todo lo que aún apunte a él se moverá allí antes de eliminarlo.`,summaryOneClause:`"{display}" {clause1}. Elige un reemplazo abajo y esas referencias se moverán a él; después se eliminará "{display}".`,summaryThreeClauses:`"{display}" {clause1}, {clause2} y {clause3}. Elige un reemplazo abajo y esas referencias se moverán a él; después se eliminará "{display}".`,summaryTwoClauses:`"{display}" {clause1} y {clause2}. Elige un reemplazo abajo y esas referencias se moverán a él; después se eliminará "{display}".`,title:`Elige un perfil de reemplazo`},pe={accountFallback:`Cuenta de {name}`,connectAccount:`Conectar cuenta`,connectAccountLower:`Conectar cuenta`,connectToContinue:`Conecta una cuenta para continuar`,disconnectAriaLabel:`Desconectar {account}`,waitingForAuthorization:`Esperando autorización...`},me={addServer:`Agregar servidor`,adding:`Agregando...`,apiKeyHeaderPlaceholder:`X-API-Key`,apiKeyLabel:`Clave API`,apiKeyPlaceholder:`sk_...`,argsLabel:`Argumentos (separados por espacios)`,argsPlaceholder:`--port 3000`,authApiKey:`Clave API`,authBearer:`Token Bearer`,authNone:`Ninguna`,authOAuth:`OAuth`,authenticationLabel:`Autenticación`,bearerPlaceholder:`tok_...`,bearerTokenLabel:`Token Bearer`,cancel:`Cancelar`,commandLabel:`Comando`,commandPlaceholder:`npx -y @modelcontextprotocol/server-example`,description:`Conéctate a un servidor Model Context Protocol para ampliar las herramientas disponibles.`,headerNameLabel:`Nombre del encabezado`,namePlaceholder:`my-server`,oauthHint:`Las credenciales OAuth se configurarán mediante un flujo de autorización en el navegador después de agregar el servidor.`,serverNameLabel:`Nombre del servidor`,serverUrlLabel:`URL del servidor`,title:`Agregar servidor MCP`,transportLabel:`Transporte`,transportSse:`SSE`,transportStdio:`Stdio (comando)`,transportStreamableHttp:`HTTP transmisible`,urlPlaceholder:`https://example.com/mcp`},he={addServerButton:`Agregar servidor`,emptyAddSubtitle:`Agrega un servidor MCP para ampliar tu asistente con herramientas externas.`,emptyChatSubtitle:`Chatea con tu asistente para configurar un servidor MCP.`,emptyTitle:`Sin servidores MCP`,loadError:`No se pudieron cargar los servidores MCP. Comprueba que un asistente esté en ejecución.`,loading:`Cargando servidores MCP...`,reloadAriaLabel:`Recargar servidores MCP`,reloadTooltip:`Recargar todos los servidores`,removeDialogConfirm:`Eliminar`,removeDialogMessage:`¿Seguro que quieres eliminar "{serverId}"? Esto desconectará todas las herramientas proporcionadas por este servidor.`,removeDialogTitle:`Eliminar servidor MCP`,setupPrompt:`Ayúdame a configurar un servidor MCP para ampliarte con herramientas externas.`,subtitle:`Administra las conexiones de servidores Model Context Protocol y sus herramientas registradas.`,title:`Servidores MCP`,toastAddFailed:`No se pudo agregar {name}`,toastAdded:`Se agregó {name}`,toastAlreadyAuthenticated:`{serverId} ya está autenticado`,toastAuthFailed:`La autenticación falló para {serverId}`,toastAuthPollingFailed:`Falló el sondeo de autenticación para {serverId}`,toastAuthStartFailed:`No se pudo iniciar la autenticación para {serverId}`,toastAuthTimedOut:`La autenticación expiró para {serverId}`,toastAuthenticatedSuccess:`{serverId} se autenticó correctamente`,toastDisableFailed:`No se pudo deshabilitar {serverId}`,toastEnableFailed:`No se pudo habilitar {serverId}`,toastOAuthRevokeFailed:`No se pudo revocar OAuth para {serverId}`,toastOAuthRevoked:`Se revocaron las credenciales OAuth para {serverId}`,toastReloadFailed:`No se pudieron recargar los servidores MCP`,toastReloadSuccess:`Servidores MCP recargados`,toastRemoveFailed:`No se pudo eliminar {serverId}`,toastRemoved:`Se eliminó {serverId}`,toastUpdateFailed:`No se pudo actualizar {serverId}`,toastUpdated:`Se actualizó {serverId}`,totalTokens:`~{count} tokens en total`,totalTools:`{count, plural, one {# herramienta en total} other {# herramientas en total}}`},ge={authenticate:`Autenticar`,authenticating:`Autenticando...`,configure:`Configurar`,configureTooltip:`Configurar`,estimatedTokens:`~{count} tokens`,oauthBadge:`OAuth`,reAuth:`Reautenticar`,reAuthTooltip:`Volver a autenticar OAuth`,registeredTools:`{count, plural, one {# herramienta registrada} other {# herramientas registradas}}`,removeServerAriaLabel:`Eliminar {serverId}`,removeServerTooltip:`Eliminar servidor`,revoke:`Revocar`,revokeOAuthTooltip:`Revocar credenciales de OAuth`,revoking:`Revocando...`,statusConnected:`Conectado`,statusDisabled:`Desactivado`,statusError:`Error`,statusNeedsAuth:`Requiere autenticación`,toggleDisableAriaLabel:`Desactivar {serverId}`,toggleEnableAriaLabel:`Activar {serverId}`,toolCount:`{count, plural, one {# herramienta} other {# herramientas}}`,toolTokensAbbrev:`~{count} tok`},_e={apiKey:`Clave API`,apiKeyPlaceholder:`sk_...`,apiKeyPlaceholderKeep:`•••••••• (dejar en blanco para mantener la actual)`,authApiKey:`Clave API`,authBearerToken:`Token Bearer`,authNone:`Ninguno`,authentication:`Autenticación`,bearerToken:`Token Bearer`,bearerTokenPlaceholder:`tok_...`,bearerTokenPlaceholderKeep:`•••••••• (dejar en blanco para mantener el actual)`,cancel:`Cancelar`,defaultRiskLevel:`Nivel de riesgo predeterminado`,description:`{transport} transporte · {status}`,emptyDescription:`-`,headerName:`Nombre del encabezado`,headerNamePlaceholder:`X-API-Key`,oauthBadge:`OAuth`,oauthManagedHint:`administrado mediante el flujo de OAuth`,registeredToolsHeading:`Herramientas registradas ({count})`,riskHigh:`Alto`,riskLow:`Bajo`,riskMedium:`Medio`,save:`Guardar`,saving:`Guardando...`,tableDescription:`Descripción`,tableTokens:`Tokens`,tableTool:`Herramienta`,tokenOverhead:`Sobrecarga total estimada de tokens: ~{count} tokens`,toolEstimatedTokens:`~{count}`},ve={add:`Añadir`,addDomainLabel:`Añadir dominio`,addDomainPlaceholder:`Añadir dominio (p. ej. example.com)`,allowlist:`Lista de dominios de video permitidos`,autoToggle:`Incrustaciones de medios automáticas`,domainCount:`{count, plural, one {# dominio} other {# dominios}}`,removeDomainAria:`Eliminar {domain}`,resetDefaults:`Restablecer valores predeterminados`,subtitle:`Incrusta automáticamente imágenes, videos y otros medios compartidos en los mensajes del chat.`,title:`Incrustaciones de medios`},ye={disabledToast:`Memoria desactivada.`,enableAriaLabel:`Activar memoria`,enabledToast:`Memoria activada.`,subtitle:`Permite que tu asistente recuerde información de conversaciones anteriores. Desactivarla también pausa la consolidación de memoria.`,title:`Memoria`,updateFailedToast:`No se pudo actualizar la configuración de memoria.`},be={ariaLabel:`Activar retrospectivas de memoria`,description:`Permite que tu asistente vuelva a leer conversaciones recientes en segundo plano y guarde lo que se le escapó en el momento. Pausar esto mantiene el resto de la memoria en funcionamiento.`,title:`Retrospectivas`,toastEnabled:`Retrospectivas de memoria activadas.`,toastFailed:`No se pudieron actualizar las retrospectivas de memoria.`,toastPaused:`Retrospectivas de memoria en pausa.`},xe={ariaLabel:`Activar el proceso de memoria en segundo plano`,description:`Ejecuta la consolidación de memoria en un proceso dedicado en segundo plano. Se inicia automáticamente; deténlo para pausar el procesamiento de memoria en segundo plano hasta el próximo reinicio.`,title:`Proceso en segundo plano`,toastFailed:`No se pudo actualizar el proceso en segundo plano.`,toastStarted:`Proceso en segundo plano iniciado.`,toastStopped:`Proceso en segundo plano detenido.`},Se={customCallSiteModel:`Modelo personalizado del call site`,defaultMainAgent:`Predeterminado (modelo principal del asistente)`,defaultNamed:`Predeterminado ({name})`,label:`Perfil de modelo`,override:`Anulación ({name})`},Ce={ariaLabel:`Perfil de modelo`},we={benefitBiometric:`Inicio de sesión biométrico`,benefitHaptics:`Háptica nativa`,benefitHomeScreen:`Acceso desde la pantalla de inicio`,benefitPush:`Notificaciones push`,download:`Descargar`,subtitle:`La app de Vellum para {appName} te ofrece una experiencia nativa.`,title:`Obtén la app de {appName}`},Te={description:`Administra cómo Vellum te notifica en este dispositivo Android.`,title:`Notificaciones`},Ee={emptySearch:`Ninguna acción coincide con tu búsqueda.`},De={advisorSection:`Asesor`,bulkChange:`Cambio masivo`,bulkChangeNoCandidatesTitle:`Ninguna acción usa actualmente un perfil`,bulkChangeUnsavedTitle:`Guarda o restablece tus cambios primero`,customProfileOption:`Personalizado`,description:`Personaliza qué perfil de modelo deben usar acciones concretas. Usa tu perfil predeterminado si no hay anulación.`,loadErrorHint:`Asegúrate de que tu asistente esté en ejecución`,loadErrorTitle:`No se pudieron cargar las acciones`,otherDomain:`Otros`,overridesResetToast:`Anulaciones restablecidas.`,overridesSavedToast:`Anulaciones guardadas.`,resetConfirmMessage:`Todas las anulaciones de acciones se restablecerán y seguirán su valor predeterminado. Esto no se puede deshacer.`,resetFailedToast:`No se pudieron restablecer las anulaciones. Inténtalo de nuevo.`,resetToDefaults:`Restablecer valores predeterminados`,retry:`Reintentar`,save:`Guardar`,saveFailedToast:`No se pudieron guardar las anulaciones. Inténtalo de nuevo.`,searchPlaceholder:`Buscar acciones…`,title:`Anulaciones de acciones`},Oe={cancel:`Cancelar`},ke={copyError:`No se pudo copiar la dirección de vinculación.`,generateButton:`Generar QR de vinculación`,generateButtonMinting:`Generando…`,generateButtonRegenerate:`Generar nuevo código`,generateButtonWarned:`Generar de todos modos`,noTunnelMore:`Otros proveedores y opciones: <code>{command}</code>`,noTunnelNext:`El túnel imprime una dirección https. Pégala en URL pública más abajo y deja el túnel en marcha mientras vinculas y usas otros dispositivos.`,noTunnelTitle:`Abre primero un túnel`,noTunnelWhy:`Otros dispositivos alcanzan {name} por internet a través de un túnel desde este equipo. En una terminal aquí, ejecuta:`,publicUrlDisclosure:`Usar otra dirección`,publicUrlHelper:`La dirección https en la que tus dispositivos pueden alcanzar este asistente (tu URL de Tailscale o la de otro túnel).`,publicUrlHelperTunnel:"Esta dirección proviene de `vellum tunnel` en este equipo. Edítala si tus dispositivos alcanzan este asistente en otra URL.",publicUrlLabel:`URL pública`,publicUrlPlaceholder:`https://your-assistant.ts.net`,subtitle:`Escanéalo con la cámara de otro dispositivo, o abre el enlace en él, para usar {name} allí.`,subtitleFallbackName:`este asistente`,title:`Vincular un dispositivo`},Ae={connectivityHint:"Si un escaneo no puede conectar, asegúrate de que haya un túnel en ejecución en el host (`vellum tunnel`) y de que la URL pública apunte a él; después genera un nuevo código.",httpError:`La vinculación falló (HTTP {status}).`,networkError:`No se pudo conectar con el asistente. Asegúrate de que esté en ejecución e inténtalo de nuevo.`,unexpectedResponse:`El asistente devolvió una respuesta inesperada.`},je={copiedButton:`Copiado`,copyButton:`Copiar`,expiredBody:`Genera un nuevo código para vincular un dispositivo.`,expiredTitle:`Este código de vinculación expiró.`,expiresIn:`Expira en {time} · de un solo uso.`,qrTitle:`Código QR de vinculación de dispositivo`,singleUse:`De un solo uso.`},Me={loopback:`Esta es una dirección de loopback que otros dispositivos no pueden alcanzar. Introduce la URL https pública del asistente.`,nonHttps:`La URL debe usar https para que tus dispositivos se conecten de forma segura.`,serviceFallbackName:`el proveedor del túnel`,serviceWebsite:"Este es el sitio web de {service}, no la dirección de tu asistente. Ejecuta `vellum tunnel` en el host para obtener una.",unparseable:`Introduce una URL válida, p. ej. https://your-assistant.ts.net.`},Ne={confirmMessage:`El dispositivo {platform} {hash} pierde el acceso a este asistente. Sus tokens de acceso se invalidan de inmediato; ese dispositivo tendrá que vincularse de nuevo desde este equipo para reconectarse.`,confirmTitle:`¿Revocar este dispositivo?`,dateUnknown:`desconocido`,hostRevokeDisabledTitle:`Esta es la credencial de este mismo equipo; revocarla dejaría al host sin acceso al asistente.`,pairedActiveLine:`Vinculado {paired} · Activo ahora`,pairedAndUsedLine:`Vinculado {paired} · Último uso {lastUsed}`,pairedLine:`Vinculado {paired}`,platformUnknown:`Desconocido`,revokeButton:`Revocar`,thisMachine:`Este equipo`,title:`Dispositivos vinculados ({count})`},Pe={endingIn:`Termina en {last4}`,savedCard:`Tarjeta guardada`,updateCard:`Actualizar tarjeta`},Fe={addButton:`Añadir método de pago`,empty:`No hay ningún método de pago guardado. Añade uno para usar la recarga automática.`,loadError:`No se pudieron cargar los métodos de pago.`,loading:`Cargando…`,title:`Método de pago`},Ie={approveButton:`Aprobar`,denyButton:`Denegar`,instruction:`Un dispositivo está pidiendo usar este asistente. Aprueba una solicitud solo después de confirmar que su código coincide con el que muestra el dispositivo solicitante.`,requestedMeta:`Solicitado {when} desde {ip}`,requestedMetaHost:`Solicitado {when} desde este equipo`,title:`Solicitudes de vinculación`},Le={alreadyOnPlanToast:`Ya estás en este plan.`,checkoutFailedToast:`No se pudo iniciar el pago de la mejora. Inténtalo de nuevo.`,current:`Actual`,endsOn:`Tu plan termina el {date}.`,freeForever:`Gratis para siempre`,heading:`Plan`,loadError:`No se pudo cargar el plan.`,loading:`Cargando plan...`,manageSubscription:`Gestionar suscripción`,nextPlan:`Siguiente plan`,powerUp:`Potenciar`,powerUpFor:`Potenciar por +{amount}/mes`,renewsOn:`Pago mensual • Tu suscripción se renovará automáticamente el {date}.`,usageBalanceAddCredits:`Añadir`,usageBalanceExhausted:`Añade créditos para seguir usando tu asistente`,usageBalancePctUsed:`{pct}% usado`,usageBalanceResets:`Se restablece el {date}`,usageBalanceTitle:`Saldo de uso`,usageChip:`Uso de {name}, se restablece cada mes`,usageIncludedChip:`{label} incluido`,viewAllPlans:`Ver todos los planes`},Re={baseFee:`{amount} de tarifa base`,baseTagline:`Todo lo que necesitas para un asistente capaz`,creditsNotIncluded:`*Créditos no incluidos`,current:`Actual`,currentlyPrice:`Actualmente {price}`,downgradeToBase:`Bajar a Base`,forever:`Para siempre`,free:`Gratis`,fromPrice:`Desde {price}`,keepPlan:`Conservar tu plan`,loadingPlan:`Cargando tu plan...`,planEndsOn:`Tu plan termina el {date}`,pricingUnavailable:`Precio del plan actual no disponible`,proTagline:`Más funciones, más cómputo, más almacenamiento`,subscriptionChangeTitle:`Tu suscripción del Plan Pro cambiará de {from} a {to}.`,updatePlan:`Actualizar plan`,upgradeToPro:`Mejorar a Pro`},ze={currentPlan:`Plan actual`,includes:`Incluye:`,recommended:`Recomendado`},Be={alreadyOnPlanToast:`Ya estás en este plan.`,back:`Atrás`,billedMonthlyCaption:`Facturación mensual`,cancelAnytimeFooter:`Puedes cancelar o cambiar tu plan cuando quieras. Para obtener más información, <docsLink>Lee nuestra documentación.</docsLink>`,checkoutFailedToast:`No se pudo iniciar el pago de mejora. Inténtalo de nuevo.`,downgradeTo:`Bajar a {name}`,featureComputer:`Ordenador {machine}`,featureCreditsIncluded:`{amount} en créditos incluidos`,featureStorage:`{gib} GB de almacenamiento`,featureUsage:`Uso de {name}, se restablece cada mes`,featureUsageIncluded:`{label} incluido`,foreverCaption:`Para siempre`,freeFeaturePayAsYouGo:`Créditos de pago por uso`,freeFeatureSmallComputer:`Ordenador pequeño`,freeFeatureStorage:`{gib} GB de almacenamiento`,freePriceLabel:`Gratis`,heading:`Dale más potencia a tu asistente`,loadingPlansAriaLabel:`Cargando planes`,planUpdatedToast:`Plan actualizado.`,startFreeCta:`Empezar gratis`,subheading:`Elige el nivel que se ajuste a cuánto quieres que se encargue.`},Ve={composerTitle:`Compositor`,description:`Personaliza los atajos y el comportamiento de Vellum en este dispositivo.`,keyboardShortcutsDescription:`Personaliza los atajos de los comandos de Vellum.`,keyboardShortcutsTitle:`Atajos de teclado`,launchAtLoginAriaLabel:`Abrir al iniciar sesión`,launchAtLoginDescription:`Inicia Vellum automáticamente cuando inicies sesión en tu Mac.`,launchAtLoginTitle:`Abrir al iniciar sesión`,sendWithCmdEnter:`Enviar con Cmd+Enter`,sendWithCmdEnterHelper:`Cuando está activado, Enter inserta una nueva línea y Cmd+Enter envía.`,sendWithCtrlEnter:`Enviar con Ctrl+Enter`,sendWithCtrlEnterHelper:`Cuando está activado, Enter inserta una nueva línea y Ctrl+Enter envía.`,showContextWindow:`Mostrar uso de la ventana de contexto`,showContextWindowHelper:`Añade un anillo al compositor que indica cuán llena está la ventana de contexto. Tu asistente compacta el contexto automáticamente de todos modos.`,title:`Preferencias`},He={backupOptionLabel:`{name} - {date}`,cancel:`Cancelar`,dataLossBody:`Los datos de Vista previa pueden no ser compatibles con el canal Estable. La copia de seguridad preventiva te permite restaurar los datos del canal Estable que existían antes de optar por la Vista previa.`,dataLossTitle:`Puede haber pérdida de datos al volver a Estable`,latest:`más reciente`,latestPreview:`Vista previa más reciente`,latestStable:`Estable más reciente`,loadErrorBody:`Actualiza esta página antes de cambiar de canal de lanzamiento.`,loadErrorTitle:`No se pudo cargar el estado del canal de lanzamiento`,loading:`Cargando canal de lanzamiento...`,mayNotSurviveBody:`Cambiar directamente a la imagen Estable sin restaurar la copia de seguridad preventiva puede causar pérdida de datos o dejar el asistente inutilizable si los datos de Vista previa son incompatibles con Estable.`,mayNotSurviveTitle:`Los datos de Vista previa pueden no sobrevivir a esto`,noPreviewBody:`Estable sigue siendo el único canal de lanzamiento disponible.`,noPreviewTitle:`No hay ninguna versión de Vista previa disponible`,none:`Ninguna`,optIn:`Optar por Vista previa`,optInDescription:`Las versiones de Vista previa pueden ser inestables. Se toma una copia de seguridad preventiva de 90 días antes de cambiar la imagen.`,optInStep1:`Crea y verifica una copia de seguridad preventiva de Vista previa.`,optInStep2:`Cambia a la imagen de Vista previa {version}.`,optInStep3:`Ejecuta la ruta de actualización normal y espera a que esté en buen estado.`,optInTitle:`Optar por Vista previa`,optOutDescription:`Elige cómo debe salir este asistente del canal de Vista previa.`,optOutTitle:`Volver a Estable`,preview:`Vista previa`,previewEnableFailedToast:`No se pudo activar el canal de Vista previa.`,previewEnabledToast:`Canal de Vista previa activado.`,requiresBackupBody:`Esta versión de Vista previa es más reciente que la última versión Estable, por lo que el cambio directo está bloqueado. Espera una versión Estable más reciente, o ejecuta Vellum Doctor si falta la copia de seguridad preventiva.`,requiresBackupTitle:`Estable requiere una copia de seguridad preventiva`,restoreBackupHelper:`Vuelve a los datos del canal Estable capturados antes de optar por Vista previa.`,restoreBackupLabel:`Restaurar copia de seguridad preventiva`,returnMethodAriaLabel:`Método de retorno al canal Estable`,safetyBackup:`Copia de seguridad preventiva`,stable:`Estable`,stableBackupLabel:`Estable {version}`,stableEnabledToast:`Canal Estable activado.`,standardUpgradeHelper:`Conserva los datos actuales y cambia directamente a la imagen Estable.`,standardUpgradeLabel:`Cambiar a Estable sin restaurar la copia de seguridad`,standardUpgradeUnavailable:`No disponible porque la última versión Estable es anterior a la versión de Vista previa de este asistente.`,switchBack:`Volver a Estable`,switchToStable:`Cambiar a Estable`,switching:`Cambiando...`,takeBackupAndSwitch:`Crear copia de seguridad y cambiar`,title:`Canal de lanzamiento`,unavailableBody:`El canal de Vista previa no está habilitado para este asistente.`,unavailableTitle:`El canal de Vista previa no está disponible`,unknownDate:`Desconocida`},Ue={llmLogRetentionDescription:`Cuánto tiempo conservar los registros de solicitudes y respuestas LLM en este dispositivo. Estos registros documentan las solicitudes y completaciones enviadas a los proveedores de modelos y se usan para depuración. Una retención más corta mejora la privacidad; una retención más larga ayuda a solucionar problemas.`,llmLogRetentionLabel:`Retención de registros de solicitudes LLM`,retentionDontRetain:`No conservar`,retentionKeepForever:`Conservar para siempre`,retentionNinetyDays:`90 días`,retentionOneDay:`1 día`,retentionOneHour:`1 hora`,retentionSevenDays:`7 días`,retentionThirtyDays:`30 días`,shareAnalyticsHelper:`Enviar datos agregados de uso del producto`,shareAnalyticsLabel:`Compartir analíticas`,shareDiagnosticsHelper:`Enviar informes de fallos, trazas de conversación y datos de reproducción de sesión`,shareDiagnosticsLabel:`Compartir diagnósticos`,subtitleWithPolicy:`Consulta detalles sobre qué datos recopilamos y cómo se usan en nuestra <policyLink>política de privacidad</policyLink>.`,title:`Privacidad`},We={contextWindowLabel:`Ventana de contexto`,defaultValueLabel:`Predeterminado · {value}`,effortLabel:`Esfuerzo`,effortSegmentDefault:`predeterminado`,enableExtendedThinkingLabel:`Habilitar pensamiento extendido`,maxOutputTokensLabel:`Máximo de tokens de salida`,reset:`Restablecer`,snapshotsHint:`Los campos que dejes en su valor predeterminado se guardan con los valores mostrados y no cambiarán si los valores predeterminados del asistente cambian más adelante.`,speedLabel:`Velocidad`,streamThinkingTokensLabel:`Transmitir tokens de pensamiento`,temperatureLabel:`Temperatura`,thinkingLevelInheritHint:`(predeterminado = heredar)`,thinkingLevelLabel:`Nivel de pensamiento`,tokensAriaLabel:`{label} (tokens)`,topPLabel:`Top P`,verbosityLabel:`Verbosidad`},Ge={profileError:`Guardado, pero una solicitud de prueba con este perfil falló: {detail} Revisa el modelo y los parámetros del perfil.`,providerError:`Guardado, pero una solicitud de prueba con este perfil falló: {detail} Revisa la conexión de proveedor "{connection}".`,providerErrorUnnamed:`Guardado, pero una solicitud de prueba con este perfil falló: {detail} Revisa la conexión de proveedor del perfil.`,transient:`Guardado, pero una solicitud de prueba con este perfil no se pudo completar: {detail} Puede ser temporal.`,unknown:`Guardado, pero una solicitud de prueba con este perfil falló: {detail}`},Ke={createProfile:`Crear perfil`,defaultTitle:`Perfil`,delete:`Eliminar`,deleting:`Eliminando…`,managedTag:`Administrado por Vellum`,newProfileTitle:`Perfil nuevo`,save:`Guardar`,saveAsNew:`Guardar como nuevo`,saveChanges:`Guardar cambios`,saving:`Guardando…`},qe={maxTokensNoInputRoom:`El máximo de tokens ({maxTokens}) reserva toda la ventana de contexto de {window} tokens para la salida, sin dejar espacio para tus mensajes. Redúcelo (p. ej., 8000).`,maxTokensOverCap:`El máximo de tokens ({maxTokens}) supera la salida máxima del modelo de {cap} tokens. Redúcelo a {cap} o menos.`,subscriptionSteeringHint:`Tu suscripción a ChatGPT está disponible como el proveedor ChatGPT.`},Je={activeLabel:`Activo`,addApiKey:`Añadir clave API`,advanced:`Avanzado`,createNewProvider:`+ Crear proveedor nuevo`,descriptionLabel:`Descripción <optional>(opcional)</optional>`,descriptionPlaceholder:`Describe cuándo usar este perfil`,displayNameLabel:`Nombre para mostrar`,displayNamePlaceholder:`p. ej., Rápido y económico`,keyLabel:`Clave`,keyPlaceholder:`p. ej., rapido-economico`,nameLabel:`Nombre`,newProviderNote:`La nueva conexión de proveedor aparecerá en la sección Proveedores.`,providerLabel:`Proveedor`,selectProviderPlaceholder:`Selecciona un proveedor…`,setUp:`Configurar`},Ye={cancel:`Cancelar`,close:`Cerrar`,editProfileTitle:`Editar perfil`,newProfileTitle:`Nuevo perfil`,platformTag:`Plataforma`,profileFallbackTitle:`Perfil`,save:`Guardar`,saveAsNew:`Guardar como nuevo`,saving:`Guardando…`},Xe={chooseFromList:`Elegir de la lista`,connectionNotFound:`Este perfil hacía referencia a una credencial que ya no existe. Al guardar, se restablecerá para usar la clave disponible del proveedor.`,customModelAriaLabel:`ID de modelo personalizado`,customModelPlaceholder:`proveedor/id-modelo`,enterCustomModelIdHint:`Introduce el identificador exacto del modelo que espera tu proveedor. Se envía a la conexión tal cual.`,enterCustomModelIdOption:`Introduce un ID de modelo personalizado…`,modelAriaLabel:`Modelo`,modelEmptyConfigureConnectionHint:`No hay modelos disponibles. Configura modelos en la conexión del proveedor primero.`,modelEmptyConfigureConnectionPlaceholder:`Configura modelos en la conexión`,modelEmptyNoProviderPlaceholder:`Selecciona un proveedor primero`,modelEmptyUnknownHint:`No hay modelos disponibles para este proveedor en esta versión de la app. Actualiza la app o introduce un ID de modelo personalizado.`,modelEmptyUnknownPlaceholder:`No hay modelos disponibles`,modelLabel:`Modelo`,noProviderConnectionsHint:`No hay conexiones de proveedor. Abre Proveedores para añadir una.`,providerLabel:`Proveedor`,providerNotFoundSuffix:`(no encontrado)`,selectModelError:`Selecciona un modelo.`,selectModelPlaceholder:`Selecciona un modelo`,selectProviderPlaceholder:`Selecciona un proveedor…`},Ze={actionsAriaLabel:`Acciones para {displayName}`,defaultTag:`Predeterminado`,delete:`Eliminar`,disable:`Desactivar`,disabledTag:`Desactivado`,edit:`Editar`,enable:`Activar`,makeDefault:`Hacer predeterminado`,managedByVellum:`Gestionado por Vellum`,openProfileAriaLabel:`Abrir perfil {displayName}`,configIssueModelUnknown:`El modelo de este perfil no está disponible en su proveedor.`,configIssueNoInputRoom:`El máximo de tokens de salida de este perfil no deja espacio para la entrada en la ventana de contexto del modelo.`,configIssueOverOutputCap:`El máximo de tokens de salida de este perfil supera lo que admite su modelo.`,providerUnavailableDefault:`El proveedor de este perfil no está disponible.`,providerUnavailableFixable:`{message} Haz clic para corregirlo.`,view:`Ver`},Qe={createProfile:`Crear perfil`,emptyState:`Aún no hay perfiles. Crea uno para empezar.`,loading:`Cargando perfiles…`,title:`Perfiles`},$e={add:`Añadir`,addNamed:`Añadir {name}`,addProviderDescription:`Elige un proveedor y pega su clave API.`,addProviderTitle:`Añadir proveedor`,advanced:`Avanzado`,apiKeyPlaceholder:`Introduce tu clave API`,baseUrlHintOllama:`Déjalo en blanco para usar el Ollama local predeterminado, o introduce un host remoto o no predeterminado.`,baseUrlLabel:`URL base`,baseUrlPlaceholder:`https://api.x.ai/v1`,baseUrlPlaceholderOllama:`http://127.0.0.1:11434/v1`,cancel:`Cancelar`,customProviderHint:`Los proveedores personalizados se conectan a cualquier endpoint que ofrezca la API compatible con OpenAI: xAI, Groq, LM Studio, vLLM y similares.`,customProviderOption:`Proveedor personalizado`,displayNameLabel:`Nombre para mostrar <optional>(opcional)</optional>`,displayNamePlaceholder:`p. ej., Mi clave de Anthropic`,emptyServerResponse:`El servidor devolvió una respuesta vacía. Inténtalo de nuevo.`,enterApiKeyOrCredential:`Introduce una clave API o selecciona una credencial existente.`,failedSaveApiKey:`No se pudo guardar la clave API. Inténtalo de nuevo.`,failedSaveProvider:`No se pudo guardar el proveedor. Inténtalo de nuevo.`,localEndpointHint:`Deja la clave vacía para endpoints locales: se conectan sin clave.`,modelsHint:`Identificadores de modelo separados por comas expuestos por tu endpoint.`,modelsLabel:`Modelos`,modelsPlaceholder:`modelo-1, modelo-2`,nameLabel:`Nombre`,namePlaceholder:`xAI`,providerAriaLabel:`Proveedor`,providerConnectedToast:`Proveedor conectado`,providerLabel:`Proveedor`,saving:`Guardando…`,useChatgptSignIn:`Usa el botón "Iniciar sesión con ChatGPT" para conectar tu suscripción.`},et={addProviderTitle:`Añadir proveedor`},tt={advanced:`Avanzado`,apiKeyLabel:`Clave de API`,cancel:`Cancelar`,credentialReferenceAriaLabel:`Referencia de credencial`,credentialReferenceLabel:`Referencia de credencial`,credentialReferenceSuffix:`· Referencia de credencial`,loading:`Cargando…`,newCredential:`+ Nueva credencial`,newCredentialNameLabel:`Nombre de la nueva credencial`,newCredentialPlaceholder:`p. ej. clave-equipo`,use:`Usar`},nt={apiKeyPlaceholder:`Introduce tu clave API`,baseUrlHintOllama:`Déjalo en blanco para usar el Ollama local predeterminado, o introduce un host remoto o no predeterminado.`,baseUrlLabel:`URL base`,baseUrlPlaceholder:`https://api.example.com/v1`,baseUrlPlaceholderOllama:`http://127.0.0.1:11434/v1`,cancel:`Cancelar`,displayNameLabel:`Nombre para mostrar <optional>(opcional)</optional>`,displayNamePlaceholder:`p. ej., Mi clave de Anthropic`,editProviderSettingsFallback:`Edita la configuración del proveedor.`,editProviderTitle:`Editar proveedor`,editingConnection:`Editando {name}.`,emptyServerResponse:`El servidor devolvió una respuesta vacía. Inténtalo de nuevo.`,failedSaveApiKey:`No se pudo guardar la clave API. Inténtalo de nuevo.`,failedSaveProvider:`No se pudo guardar el proveedor. Inténtalo de nuevo.`,modelsHint:`Identificadores de modelo separados por comas expuestos por tu endpoint.`,modelsLabel:`Modelos`,modelsPlaceholder:`modelo-1, modelo-2`,nothingToEdit:`No hay nada que editar. Cierra e inténtalo de nuevo.`,saveChanges:`Guardar cambios`,saving:`Guardando…`},rt={httpError:`El endpoint devolvió HTTP {status} en una solicitud de prueba.`,notFound:`El endpoint devolvió 404 en una solicitud de prueba: revisa la ruta base de este proveedor (p. ej., NVIDIA necesita /v1 y OpenRouter /api/v1). Algunos proveedores exigen autenticación, así que puede ser una falsa alarma.`,unauthorized:`El endpoint rechazó la credencial en una solicitud de prueba (HTTP {status}). Revisa la clave de API.`,unreachable:`No se pudo conectar con el endpoint en una solicitud de prueba. Revisa la URL.`},it={actionsAriaLabel:`Acciones para {displayName}`,customTag:`Personalizado`,customTagTitle:`Un proveedor que creaste, servido por un endpoint compatible con OpenAI.`,defaultTag:`Predeterminado`,defaultTagTitle:`Los perfiles integrados (Balanced, Quality, Cost, Speed) usan este proveedor.`,delete:`Eliminar`,edit:`Editar`,localTag:`Local`,localTagTitle:`Ejecuta modelos en esta máquina.`,managedTag:`Administrado`,managedTagTitle:`Se ejecuta con las credenciales administradas de Vellum.`,openProviderAriaLabel:`Abrir proveedor {displayName}`,setAsDefault:`Establecer como predeterminado`},at={addProvider:`Añadir proveedor`,empty:`Aún no hay proveedores. Añade uno para empezar.`,loadError:`No se pudieron cargar los proveedores. Inténtalo de nuevo.`,title:`Proveedores`},ot={allDoneStatus:`¡Todo listo!`,confirmingCaption:`Esto puede tardar unos segundos.`,continueInBackground:`Continuar en segundo plano`,creditsChip:`{count} créditos`,dimensionsComplete:`{dimensions} completado`,goToBilling:`Ir a facturación`,machineLabel:`Máquina`,noExtraUsage:`Sin uso adicional`,packageChip:`paquete {name}`,planReadyStatus:`Tu plan está listo`,retryInBackground:`Reintentar en segundo plano`,srOnlyTo:`a`,stalledCaption:`Esto puede tardar un par de minutos.`,statusComplete:`Completado`,statusPending:`Pendiente`,storageLabel:`Almacenamiento`,takingLongerStatus:`Esto está tardando más de lo esperado`,tryAgain:`Intentar de nuevo`,usageLabel:`Uso`,waitingCaptionLong:`Seguimos trabajando. Esto puede tardar uno o dos minutos.`,waitingCaptionShort:`Esto puede tardar unos segundos.`},st={emptyDefault:`Aún no hay ejecuciones.`,error:`Error`,loadMore:`Cargar más`,loadingMore:`Cargando…`,missed:`Omitida`,output:`Salida`,runAtAria:`Ejecución a las {time}`,skipped:`Saltada`,title:`Ejecuciones recientes`},ct={activeDescription:`Activo: conectado al terminal de depuración`,enter:`Entrar en modo de recuperación`,enterError:`No se pudo entrar en el modo de recuperación. Inténtalo de nuevo.`,exitError:`No se pudo salir del modo de recuperación. Inténtalo de nuevo.`,inactiveDescription:`Pausa el asistente y conéctate directamente a su espacio de trabajo mediante el terminal de depuración`,loginNoticeEnter:`Inicia sesión en la plataforma Vellum para entrar en el modo de recuperación.`,loginNoticeExit:`Inicia sesión en la plataforma Vellum para salir del modo de recuperación.`,resumeAssistant:`Reanudar asistente`,title:`Modo de recuperación`},lt={copied:`¡Copiado!`,copyError:`No se pudo copiar el enlace de referido.`,copySuccess:`¡Copiado al portapapeles!`,creditsEarned:`Créditos ganados`,friendsReferred:`Amigos referidos`,gatedNotice:`Ahora mismo no estás ganando créditos por referidos. Compra créditos o mejora a Pro para empezar a ganar - tu enlace de invitación sigue funcionando mientras tanto.`,loadError:`No se pudo cargar la información de referidos.`,loading:`Cargando...`,shareLink:`Compartir enlace`,subtitleDefault:`Comparte Vellum con amigos y gana créditos por cada registro.`,subtitleGated:`Invita amigos a Vellum. Empezarás a ganar créditos por referidos cuando hayas comprado créditos o mejorado a Pro.`,subtitleWithAmounts:`Comparte Vellum con amigos - cada uno ganará {creditAmount} créditos cuando se registren, hasta {earningCap} en total.`},ut={title:`Gana créditos gratis`},dt={apply:`Aplicar`,applyingResize:`Aplicando cambio de tamaño…`,cancel:`Cancelar`,cpu:`CPU`,current:`Actual`,disk:`Disco`,increaseSize:`Aumentar tamaño`,increaseStorage:`Aumentar almacenamiento`,machine:`Máquina`,machineSize:`Tamaño de máquina`,machineSizeAriaLabel:`Tamaño de máquina de cómputo`,memory:`Memoria`,modalDescription:`Cambia el cómputo y el almacenamiento de tu asistente. Tu asistente se reiniciará brevemente.`,modalTitle:`Cambiar tamaño del asistente`,needMore:`¿Necesitas más? <upgradeLink>Mejorar plan</upgradeLink>`,noMachineTier:`No hay un nivel de máquina configurado. Visita la comunidad para obtener ayuda.`,refreshMetrics:`Actualizar métricas de recursos`,resize:`Cambiar tamaño`,resizeFailed:`No se pudo cambiar el tamaño del asistente. Inténtalo de nuevo.`,retry:`Reintentar`,storage:`Almacenamiento`,storageAlreadyProvisioned:`El almacenamiento ya está en su tamaño aprovisionado ({size} GB) y no cambiará.`,storageExpandFromTo:`El almacenamiento se ampliará de {from} GB a {to} GB.`,storageExpandTo:`El almacenamiento se ampliará a {to} GB.`,storageUnchanged:`El almacenamiento no cambiará.`,subscriptionLoadError:`No se pudo cargar tu suscripción. Inténtalo de nuevo.`,subtitle:`Supervisa el uso de recursos y gestiona el perfil de cómputo de tu asistente.`,title:`Cómputo y recursos`,toastStarted:`Cambio de tamaño iniciado. Los cambios se aplicarán en breve.`,unavailable:`No disponible`,upgrade:`Mejorar plan`,upgradeDescription:`Pasa a un plan superior para más potencia, más almacenamiento y un paquete de créditos más grande.`,upgradeTitle:`Mejora tu plan`,usedOf:`{used} de {total}`},ft={button:`Reiniciar`,confirmLabel:`Reiniciar`,confirmMessage:`¿Seguro que quieres reiniciar este asistente? Estará brevemente no disponible durante el reinicio.`,confirmTitle:`Reiniciar asistente`,failStart:`No se pudo iniciar el asistente.`,failStop:`No se pudo detener el asistente.`,toastFailed:`No se pudo reiniciar el asistente.`,toastRestarting:`El asistente se está reiniciando.`},pt={button:`Retirar asistente`},mt={advanced:`Avanzado`,backgroundDescription:`Cuando tu asistente actúa sin ti: tareas programadas, trabajos en segundo plano y disparadores externos.`,backgroundTitle:`Segundo plano`,conversationsDescription:`Cuando chateas directamente con tu asistente.`,conversationsTitle:`Conversaciones`,description:`Controla qué acciones puede realizar tu asistente sin preguntar primero. Cada acción se clasifica por nivel de riesgo: tu nivel de acceso determina qué niveles se aprueban automáticamente. Las reglas de confianza afinan esto para acciones concretas subiendo o bajando su riesgo.`,headlessDescription:`Cuando se dispara externamente sin un cliente interactivo.`,headlessTitle:`Sin interfaz`,loadError:`No se pudieron cargar los ajustes de umbral. Comprueba tu conexión y vuelve a cargar.`,title:`Acceso del asistente`},ht={alreadyOnProfileToast:`Todas las programaciones ya se ejecutan en {profile}.`,dialogMessage:`{count, plural, one {# de las programaciones siguientes se ejecuta en un modelo diferente. Esto mueve todas las programaciones, incluidos los recordatorios que tu asistente dejó para más tarde, a {profile}, tu valor predeterminado actual. Las programaciones que pusiste deliberadamente en otro modelo también se mueven.} other {# de las programaciones siguientes se ejecutan en un modelo diferente. Esto mueve todas las programaciones, incluidos los recordatorios que tu asistente dejó para más tarde, a {profile}, tu valor predeterminado actual. Las programaciones que pusiste deliberadamente en otro modelo también se mueven.}}`,dialogTitle:`¿Usar {profile} para todas las programaciones?`,moveFailedToast:`No se pudieron mover las programaciones.`,moveSchedules:`Mover programaciones`,movedToast:`{count, plural, one {Se movió # programación a {profile}.} other {Se movieron # programaciones a {profile}.}}`},gt={costFor:`Costo de {name} en los últimos 7 días: {cost}`,loadingUsage:`Cargando uso de la programación`,runsFor:`Ejecuciones de {name} en los últimos 7 días: {runs}`,unknownStatus:`desconocido`,viewUsageFor:`Ver uso de {name}`},_t={errorDescription:`Captura una excepción Error de prueba.`,errorLabel:`Evento de error`,errorSentToast:`Evento de error de Sentry enviado.`,fatalDescription:`Envía un evento de nivel fatal a Sentry.`,fatalLabel:`Evento fatal`,fatalSentToast:`Evento fatal de Sentry enviado.`,infoDescription:`Envía un mensaje de nivel info.`,infoLabel:`Evento de info`,infoSentToast:`Evento de info de Sentry enviado.`,performanceDescription:`Inicia y finaliza un span de transacción de prueba.`,performanceLabel:`Transacción de rendimiento`,send:`Enviar`,subtitle:`Dispara eventos de prueba para verificar que la integración de Sentry funciona.`,title:`Pruebas de Sentry`,transactionSentToast:`Transacción de rendimiento de Sentry enviada.`,warningDescription:`Envía un mensaje de nivel warning.`,warningLabel:`Evento de advertencia`,warningSentToast:`Evento de advertencia de Sentry enviado.`},vt={checkingDomain:`Comprobando dominio…`,domainVerified:`Dominio verificado`,failedTitle:`La verificación del dominio falló. Es posible que los registros DNS no se hayan propagado correctamente. Puedes intentar liberar y volver a registrar el dominio.`,managedLabel:`Administrado`,managedServicesBanner:`Los servicios administrados se miden y se deducen del saldo de tu cuenta de Vellum. <link>Ver precios</link>`,modeToggleAriaLabel:`Modo de servicio`,unknownStatus:`Estado desconocido`,unknownStatusTitle:`No se pudo obtener el estado de verificación del dominio.`,verificationFailed:`Verificación fallida`,verifiedTitle:`Los registros DNS se han verificado. Tu dominio está listo para enviar y recibir correo.`,verifyingDomain:`Verificando dominio…`,verifyingTitle:`Los registros DNS se han aprovisionado. Esperando a que el proveedor de correo los verifique; esto suele tardar unos minutos.`,yourOwnLabel:`Propio`},yt={alreadyUsedBy:`Ya está en uso por {label}`,appDescription:`Funcionan mientras una ventana de Vellum está enfocada.`,appTitle:`Atajos de la aplicación`,cancel:`Cancelar`,conflictNoticePrefix:`Ese atajo ya está en uso por {label}.`,conflictRecordingHint:`Elige una combinación diferente, o presiona Esc para cancelar.`,conflictResetHint:`Elimina o cambia esa asignación antes de restablecer.`,globalDescription:`Funcionan en cualquier lugar, incluso cuando Vellum está en segundo plano.`,globalTitle:`Atajos globales`,none:`Ninguno`,record:`Grabar`,recordShortcutAriaLabel:`Grabar atajo para {label}`,recordingHint:`Grabando… presiona un atajo, o Esc para cancelar`,removeBindingAriaLabel:`Eliminar asignación de {label}`,resetShortcutAriaLabel:`Restablecer {label} al valor predeterminado`},bt={ariaLabel:`Mostrar consejos`,description:`Consejos ocasionales en la barra lateral que destacan funciones que aún no has probado.`,label:`Mostrar consejos`},xt={addSound:`Agregar sonido`,allSoundsAdded:`Todos los sonidos agregados`,defaultBlip:`Blip predeterminado`,enableEvent:`Activar {eventName}`,enableSoundEffects:`Activar efectos de sonido`,enableSoundEffectsDescription:`Interruptor principal para cada sonido basado en eventos.`,noSoundFiles:`Aún no hay archivos de sonido. Coloca archivos de audio en data/sounds/ en tu espacio de trabajo.`,preview:`Vista previa`,previewDefaultBlip:`Vista previa del blip predeterminado`,previewSoundAriaLabel:`Vista previa de {filename}`,removeSoundAriaLabel:`Eliminar {filename}`,soundEventCharacterPoke:`Toque de personaje`,soundEventMessageSent:`Mensaje enviado`,soundEventNeedsInput:`Requiere entrada`,soundEventNewConversation:`Nueva conversación`,soundEventNotification:`Notificación`,soundEventRandom:`Aleatorio`,soundEventTaskComplete:`Tarea completada`,soundEventTaskFailed:`Tarea fallida`,soundEventsDescription:`Agrega uno o más sonidos por evento. Cuando hay varios configurados, uno se reproduce al azar.`,soundEventsTitle:`Eventos de sonido`,volume:`Volumen`,volumeAriaLabel:`Volumen de efectos de sonido`},St={subtitle:`Configura cómo tu asistente transcribe el habla`,title:`Voz a texto`},Ct={consolidationName:`Consolidación`,consolidationPausedHelper:`La memoria está desactivada, así que la consolidación está en pausa.`,cost7d:`{cost} (7d)`,disabled:`desactivado`,enabled:`activado`,heartbeatName:`Latido`,lastRun:`Última: {time}`,loadError:`No se pudieron cargar los trabajos del sistema. <retryButton>Reintentar</retryButton>`,nextRun:`Próxima: {time}`,openAriaLabel:`Abrir {name}`,partialLoadError:`Algunos trabajos del sistema no se pudieron cargar. <retryButton>Reintentar</retryButton>`,paused:`En pausa`,retrospectiveName:`Retrospectiva de memoria`,retrospectivePausedHelper:`Las retrospectivas están desactivadas en la configuración de Memoria.`,subtitle:`Trabajos integrados gestionados por el runtime del asistente`,title:`Sistema`},wt={cancel:`Cancelar`,confirmAndSwitch:`Confirmar y cambiar`,confirmLabel:`Teleportar`,confirmMessage:`Tus datos se copiarán al nuevo entorno. El asistente actual seguirá disponible hasta que confirmes que el nuevo funciona.`,progressAriaLabel:`Progreso de teleportación`,subtitle:`Mueve tu asistente a un entorno de alojamiento diferente.`,title:`Teleport`,tryAgain:`Intentar de nuevo`,verifyTitle:`Transferencia completa: verifica que tu nuevo asistente funciona.`},Tt={subtitle:`Configura cómo habla tu asistente`,title:`Texto a voz`},Et={ariaLabel:`Tema`,dark:`Oscuro`,light:`Claro`,system:`Sistema`,title:`Tema`,velvet:`Velvet`},Dt={machineAriaLabel:`Nivel de máquina`,machineLabel:`Máquina`,machineOption:`{label} {priceLabel}`,machinePlaceholder:`Selecciona un nivel de máquina`,machineTooltip:`Determina la CPU y la memoria asignadas a tu asistente`,priceAddon:`+{price}`,priceCurrent:`({price}, actual)`,storageAriaLabel:`Nivel de almacenamiento`,storageLabel:`Almacenamiento`,storageOption:`{gib} GB {priceLabel}`,storagePlaceholder:`Selecciona un nivel de almacenamiento`,storageTooltip:`Espacio de disco persistente para los archivos y datos de tu asistente`},Ot={citiesAriaLabel:`Ciudades`,closestCity:`Ciudad más cercana`,noMatchingCities:`No hay ciudades coincidentes`,notSet:`No configurada`,searchPlaceholder:`Buscar ciudad o país...`,timeZone:`Zona horaria`},kt={description:`Se usa al mostrar horarios y programar recordatorios.`,title:`Zona horaria`},At={cancel:`Cancelar`,closeAriaLabel:`Cerrar`,defaultDescription:`{tool} - {pattern}`,descriptionLabel:`Descripción (opcional)`,patternFallback:`patrón`,patternLabel:`Patrón`,patternPlaceholder:`p. ej., git *`,riskHigh:`Alto`,riskHighDescription:`Siempre requiere aprobación explícita`,riskLevelLabel:`Nivel de riesgo`,riskLow:`Bajo`,riskLowDescription:`Aprobar automáticamente sin preguntar`,riskMedium:`Medio`,riskMediumDescription:`Preguntar antes de ejecutar`,save:`Guardar`,saveFailed:`No se pudo guardar la regla de confianza.`,saving:`Guardando…`,title:`Editar regla de confianza`,toolLabel:`Herramienta`},jt={description:`Administra reglas por herramienta que controlan qué acciones se aprueban automáticamente y cuáles requieren tu permiso explícito.`,manage:`Administrar`,title:`Reglas de confianza`},Mt={cancel:`Cancelar`,defaultTag:`Predeterminada`,delete:`Eliminar`,deleteErrorFallback:`No se pudo eliminar la regla de confianza.`,deleteMessage:`¿Eliminar la regla de riesgo {risk} para {tool} que coincide con "{pattern}"?`,deleteRuleAria:`Eliminar regla de {tool}`,deleteTitle:`¿Eliminar regla de confianza?`,done:`Listo`,editRuleAria:`Editar regla de {tool}`,empty:`Aún no hay reglas de confianza. Se crean cuando clasificas acciones desde los avisos de permiso.`,loadErrorFallback:`No se pudieron cargar las reglas de confianza.`,loading:`Cargando…`,modifiedTag:`Modificada`,riskHigh:`Alto`,riskLow:`Bajo`,riskMedium:`Medio`,showAllDefaults:`Mostrar todos los valores predeterminados`,title:`Reglas de confianza`},Nt={checkedAt:`Comprobado {when}`,checkingStatus:`Comprobando si el túnel es accesible…`,foreignStatus:`Esta dirección está sirviendo a otro asistente ahora mismo.`,foreignStatusNamed:`Esta dirección está sirviendo a {name} ahora mismo, no a este asistente.`,healthyStatus:`El túnel está en marcha y es accesible.`,refreshLabel:`Comprobar el túnel de nuevo`,restartHint:`Vuelve a iniciar el túnel de este asistente con <code>{command}</code> en una terminal de este equipo.`,stoppedRestart:`Ejecuta <code>{command}</code> en una terminal de este equipo para volver a iniciarlo.`,stoppedStatus:`El túnel está detenido, por lo que otros dispositivos no pueden alcanzar este asistente.`,unpairableStatus:`Esta dirección responde, pero no está sirviendo la aplicación de vinculación. Inicia un túnel con la aplicación web habilitada para que los enlaces de vinculación se abran.`,unreachableStatus:`Esta dirección no responde ahora mismo.`},Pt={addAuthenticatorApp:`Añadir aplicación de autenticación`,addedOn:` · Añadido {date}`,authenticatorApp:`Aplicación de autenticación`,emptyDescription:`No hay ninguna aplicación de autenticación configurada. Añade una para requerir un código de un solo uso al iniciar sesión.`,loadError:`No se pudieron cargar tus aplicaciones de autenticación. <retryButton>Intentar de nuevo</retryButton>`,loading:`Cargando aplicaciones de autenticación…`,remove:`Eliminar`,removeDialogConfirm:`Eliminar`,removeDialogMessage:`Al iniciar sesión ya no se pedirá un código de esta aplicación. Puedes configurar una nueva aplicación de autenticación en cualquier momento.`,removeDialogTitle:`Eliminar aplicación de autenticación`,toastRemoveFailed:`No se pudo eliminar la aplicación de autenticación. Vuelve a intentarlo.`,toastRemoved:`Aplicación de autenticación eliminada.`},Ft={description:`Configura cuándo se aplican las actualizaciones automáticas.`,title:`Ventana de actualización`},It={automaticUpdates:`Actualizaciones automáticas`,automaticUpdatesHelper:`Actualizar automáticamente durante una ventana de tiempo configurada`,daily:`Diaria`,dayFri:`Vie`,dayMon:`Lun`,daySat:`Sáb`,daySun:`Dom`,dayThu:`Jue`,dayTue:`Mar`,dayWed:`Mié`,daysOfMonth:`Día(s) del mes`,daysOfMonthHelper:`Números de día separados por comas (1-31)`,daysOfMonthPlaceholder:`p. ej. 1, 15`,daysOfWeek:`Día(s) de la semana`,frequency:`Frecuencia`,loadError:`No se pudo cargar la política de ventana de actualización. Actualiza la página para intentarlo de nuevo.`,loading:`Cargando ajustes de la ventana de actualización...`,monthly:`Mensual`,savePolicy:`Guardar política`,to:`a`,toastSaveFailed:`No se pudo guardar la política. Inténtalo de nuevo.`,toastSaved:`Política de actualización automática guardada.`,updateWindow:`Ventana de actualización`,updateWindowWithTz:`Ventana de actualización ({tz})`,weekly:`Semanal`},Lt={billingUnavailable:`La facturación no está disponible para el estado actual del asistente.`,platformLoginNotice:`Inicie sesión en la plataforma Vellum para administrar facturación y uso.`,redirectingBody:`Regresándolo a la configuración de facturación…`,returnToBilling:`Volver a facturación`,title:`Actualización cancelada`},Rt={cantConfirmUpgrade:`No podemos confirmar su actualización para el asistente actual. Vuelva a facturación para reintentar.`,fetchErrorBody:`Tuvimos un problema al verificar su suscripción. Su actualización puede seguir procesándose. Vuelva a facturación para actualizar.`,fetchErrorTitle:`No se pudo acceder a facturación`,finalizingBody:`Stripe está confirmando su suscripción. Esto suele tardar unos segundos.`,finalizingTitle:`Finalizando su actualización…`,goToBilling:`Ir a facturación`,platformLoginNotice:`Inicie sesión en la plataforma Vellum para administrar facturación y uso.`,processingFallback:`Estamos procesando su actualización. Actualice en un momento para ver su nuevo plan.`,successBody:`Su plan Pro está activo. Será redirigido a facturación en un momento.`,welcomeTitle:`Bienvenido a Pro`},zt={analyzeCostsButton:`Analizar costos con el asistente`,breakdownTitle:`Desglose`,cacheCreatedLabel:`Caché creada`,cacheReadLabel:`Caché leída`,costAssistantSubtitle:`Revise el gasto reciente y ajuste las opciones de perfil del modelo.`,costAssistantTitle:`Asistente de costos`,costLabel:`Costo`,dailyTrend:`Tendencia diaria`,dailyTrendBy:`Tendencia diaria por {group}`,directInputTokensLabel:`Tokens de entrada directa`,failedToLoadUsage:`No se pudo cargar el uso.`,groupByActor:`Actor`,groupByConversation:`Conversación`,groupByModel:`Modelo`,groupByProfile:`Perfil`,groupByProvider:`Proveedor`,groupBySchedule:`Programación`,groupByTask:`Acción`,groupColumnLabel:`Grupo`,hourlyTrend:`Tendencia por hora`,hourlyTrendBy:`Tendencia por hora por {group}`,inferenceUsageTitle:`Uso de inferencia`,llmCallsLabel:`Llamadas LLM`,noBreakdownDataSubtitle:`No hay uso registrado para esta agrupación`,noBreakdownDataTitle:`Sin datos de desglose`,optimizeSettingsButton:`Optimizar ajustes`,outputTokensLabel:`Tokens de salida`,percentOfTotalLabel:`% del total`,range30d:`Últimos 30 días`,range7d:`Últimos 7 días`,range90d:`Últimos 90 días`,rangeAll:`Todo el tiempo`,rangeToday:`Hoy`,rangeYesterday:`Ayer`,retry:`Reintentar`,title:`Uso`,tokensLabel:`Tokens`,totalsAriaLabel:`Totales`,turnsLabel:`Turnos`,unknownSchedule:`Programación desconocida ({scheduleId})`},Bt={noDailyData:`Sin datos diarios`,noHourlyData:`Sin datos por hora`,noUsageInRange:`No hay uso registrado en este intervalo`,total:`Total`},Vt={openError:`No se pudo abrir el portal de facturación. Inténtalo de nuevo.`},Ht={cancelFailedToast:`No se pudo cancelar tu suscripción. Inténtalo de nuevo.`,canceledToast:`Plan Pro cancelado. Tendrás acceso hasta {date}.`,endOfBillingPeriod:`el final de tu período de facturación`},Ut={assistantNotReadyToast:`El asistente no está listo. Inténtalo de nuevo.`,saveApiKeyFailedToast:`No se pudo guardar la clave de API de {providerName}. Inténtalo de nuevo.`},Wt={mintErrorFallback:`Algo salió mal al generar el código.`},Gt={actionErrorFallback:`Algo salió mal. Inténtalo de nuevo.`,denyAlreadyApproved:`Esta solicitud ya se había aprobado en otro lugar, así que la denegación no tuvo efecto y el dispositivo ya está vinculado.`,pollErrorFallback:`Algo salió mal al comprobar las solicitudes de vinculación.`},Kt={createdToast:`Perfil "{name}" creado`},qt={deleteFailedToast:`No se pudo eliminar el proveedor. Inténtalo de nuevo.`,deleteInUseToast:`Este proveedor está en uso en un perfil o como proveedor predeterminado. Actualiza esas configuraciones antes de eliminarlo.`,setDefaultFailedToast:`No se pudo establecer el proveedor predeterminado. Inténtalo de nuevo.`},Jt={consolidationAlreadyQueued:`La consolidación ya está en cola o en ejecución.`,consolidationQueued:`Consolidación en cola.`,consolidationRunFailed:`No se pudo ejecutar la consolidación.`,heartbeatDisabled:`Latido desactivado.`,heartbeatEnabled:`Latido activado.`,heartbeatRunFailed:`No se pudo ejecutar el latido.`,heartbeatSkipped:`Latido omitido.`,heartbeatStarted:`Latido iniciado.`,heartbeatToggleFailed:`No se pudo cambiar el latido.`},Yt={activationKeyLabel:`Tecla de activación:`,allowMicrophoneAccess:`Permitir acceso al micrófono`,captionsSubtitle:`Muestra texto en vivo de lo que tú y el asistente dicen durante una conversación de voz.`,captionsTitle:`Subtítulos`,customKey:`Personalizada`,defaultBadge:`Predeterminado`,enableVoiceShortcut:`Activar el atajo del modo de voz`,fnKeyLabel:`Fn`,fnRefusedNote:`Fn necesita Monitorización de entrada. Concédela en Ajustes del Sistema o define un atajo personalizado.`,focusedTabNote:`Pulsar para hablar solo funciona mientras esta pestaña está enfocada, y los navegadores pueden interceptar algunos atajos (p. ej., Ctrl+T) antes de que la página los detecte. Para PTT siempre activo, usa la aplicación de escritorio de Vellum.`,grantMicrophoneAccessHint:`Concede acceso al micrófono para enumerar tus dispositivos de entrada disponibles.`,interruptSensitivityAriaLabel:`Sensibilidad a interrupciones`,interruptSensitivityDescription:`Qué tan fácilmente hablar por encima del asistente lo interrumpe. Redúcela si el asistente se corta a sí mismo por ruido de fondo o muletillas; aumenta la sensibilidad para interrumpir más rápido.`,interruptSensitivityHigh:`Alta`,interruptSensitivityLabel:`Sensibilidad a interrupciones`,interruptSensitivityLow:`Baja`,interruptSensitivityMedium:`Media`,microphoneAriaLabel:`Micrófono`,microphoneFallbackLabel:`Micrófono {index}`,microphoneSubtitle:`Qué dispositivo de entrada se usa para dictado y conversaciones de voz.`,microphoneTitle:`Micrófono`,offKeyLabel:`Desactivado`,pauseBeforeReplyAriaLabel:`Pausa antes de responder`,pauseBeforeReplyDescription:`Cuánto espera el asistente después de que dejas de hablar antes de responder. Una pausa más larga te permite reunir tus ideas a mitad de frase sin ser interrumpido.`,pauseBeforeReplyLabel:`Pausa antes de responder`,pressShortcut:`Pulsa un atajo…`,recommendedBadge:`Recomendado`,recordingPrompt:`Pulsa una combinación o una tecla…`,resetToDefaults:`Restablecer valores predeterminados`,savedMicrophone:`Micrófono guardado`,savedMicrophoneNotConnected:`Micrófono guardado (no conectado)`,sectionCaptionsHeading:`Subtítulos`,sectionInputDescription:`Cómo hablas con tu asistente.`,sectionInputHeading:`Entrada`,sectionOutputDescription:`Cómo suena tu asistente.`,sectionOutputHeading:`Salida`,shortcutChordHint:`Mantén pulsado un modificador (Cmd, Ctrl, Opción o Mayús) y pulsa una tecla.`,shortcutConflict:`Ya lo usa {command}`,speechServicesBannerLink:`Configúralo en Modelos y servicios`,speechServicesBannerPrompt:`¿Quieres usar tu propia clave API para STT o TTS, o configurar una voz personalizada?`,systemDefault:`Predeterminado del sistema`,turnTakingSubtitle:`Dónde termina tu turno y comienza el del asistente. Se aplica a conversaciones manos libres. Con pulsar para hablar, lo decide la tecla.`,turnTakingTitle:`Turnos de conversación`,voiceShortcutSubtitle:`Pulsa el atajo para iniciar o terminar una conversación de voz, desde cualquier parte de la aplicación.`,voiceShortcutSubtitleDesktop:`Atajo global para iniciar o terminar una conversación de voz.`,voiceShortcutTitle:`Atajo del modo de voz`},Xt={changeButton:`Cambiar`,creditsNote:`Usa créditos de Vellum, a través de proveedores como ElevenLabs y Deepgram.`,title:`Voz`,titleWithName:`Voz de {name}`},Zt={apiBaseHint:`Déjalo vacío para el valor predeterminado en la nube ({defaultBase}).`,apiBaseLabel:`Base de la API`,apiBasePlaceholder:`https://api.fastcrw.com`,apiKeyLabel:`Clave de API`,apiKeyPlaceholder:`Introduce tu clave de API`,configUpdateFailedToast:`No se pudo actualizar la configuración del asistente. Inténtalo de nuevo.`,localPreferencesFailedToast:`Guardado, pero no se pudieron escribir las preferencias locales.`,providerLabel:`Proveedor`,savedToast:`Configuración de obtención web guardada.`,subtitle:`Configura cómo tu asistente lee páginas web individuales`,title:`Obtención web`},Qt={apiBaseHint:`Déjalo vacío para el valor predeterminado en la nube ({defaultBase}).`,apiBaseLabel:`Base de la API`,apiBasePlaceholder:`https://api.fastcrw.com`,apiKeyLabel:`Clave de API`,apiKeyPlaceholder:`Introduce tu clave de API`,configUpdateFailedToast:`No se pudo actualizar la configuración del asistente. Inténtalo de nuevo.`,localPreferencesFailedToast:`Guardado, pero no se pudieron escribir las preferencias locales.`,providerAriaLabel:`Proveedor de búsqueda web`,providerLabel:`Proveedor`,savedToast:`Configuración de búsqueda web guardada.`,subtitle:`Configura cómo tu asistente debe buscar en la web`,title:`Búsqueda web`,vellumNote:`La búsqueda se ejecuta a través de tu cuenta de Vellum.`},$t={accountFallback:`Cuenta de {name}`,addAnotherApp:`Añadir otra app OAuth de {name}`,addAnotherAppButton:`Añadir otra app`,addApp:`Añadir app`,addOwnApp:`Añade tu propia app OAuth de {name}`,addedOn:`Añadida el {date}`,appAddedToast:`App OAuth de {name} añadida.`,appDeletedToast:`App OAuth eliminada.`,cancel:`Cancelar`,clientId:`ID de cliente`,clientIdPlaceholder:`Introduce tu ID de cliente`,clientSecret:`Secreto de cliente`,clientSecretPlaceholder:`Introduce tu secreto de cliente`,connectAccount:`Conectar cuenta`,connectFailedToast:`No se pudo iniciar el flujo OAuth`,copiedAria:`Copiado`,copiedToast:`¡Copiado al portapapeles!`,copyFailedToast:`No se pudo copiar la URL de redirección.`,copyRedirectAria:`Copiar URL de redirección`,createFailedToast:`No se pudo crear la app OAuth`,credentialsNote:`Las credenciales se almacenan cifradas en el asistente y nunca se envían a Vellum.`,delete:`Eliminar`,deleteAppAria:`Eliminar app OAuth {id}`,deleteAppMessage:`¿Eliminar la app OAuth '{id}'? Esto desconectará todas las cuentas vinculadas.`,deleteAppTitle:`Eliminar app OAuth`,deleteFailedToast:`No se pudo eliminar la app OAuth`,disconnect:`Desconectar`,disconnectAria:`Desconectar {account}`,disconnectFailedToast:`No se pudo desconectar la cuenta`,disconnectMessage:`¿Desconectar {account}? Puedes volver a conectarla más tarde.`,disconnectTitle:`¿Desconectar {name}?`,disconnectedToast:`Cuenta de {name} desconectada.`,redirectHint:`Añade esta URL a la configuración de redirección de tu app OAuth.`,redirectUrl:`URL de redirección`,waitingAuthorization:`Esperando autorización...`},en={accessConsentSetting:e,adjustPlanModal:t,advisorProfileRow:n,aiProviderPicker:r,allConversationsView:i,androidNotificationSettingsCard:a,assistantBackups:o,assistantLifecyclePanel:s,assistantPicker:c,assistantSleepPolicy:l,assistantStatusPanel:u,assistantTerminalPanel:d,assistantUpgrades:f,autoTopUpCard:p,autoTopUpDisableConfirm:m,autoTopUpForm:h,autoTopUpPaymentMethodModal:g,billingOnboardingModal:_,billingPage:v,billingPanel:y,billingPortalReturnHandler:b,billingStatusHandler:x,billingUsageChart:S,billingUsagePanel:C,biometricSettingsCard:w,bookmarksPage:T,bulkOverrideSwapModal:E,callSiteOverridesRow:D,chatgptOauthSection:O,checkoutBonusModal:k,checkoutPage:A,communityPage:j,completeState:M,createScheduleModal:N,credentialRow:P,credentialsPage:F,creditBundlePicker:I,customPlanModal:L,customPlanRow:R,dailyCreditLimitCard:z,debugControlsPanel:B,deleteAccountSection:V,devModeVersionUnlock:H,developerPage:U,doctorChatBlocks:W,doctorPanel:G,domainField:K,domainStep:q,downgradeReconfirmModal:J,emailManagedContent:Y,emailServiceCard:X,enrollTotpModal:Z,environmentConfigPanel:Q,errorStates:$,featureFlagsPanel:ee,freeDowngradeConfirmModal:te,generalPage:ne,gracePeriodBanner:re,imageGenerationCard:ie,integrationDetailModal:ae,integrationRow:oe,integrationsPage:se,invoicesTable:ce,languageModelCard:le,listeningLanguageCard:ue,lowBalanceAlertCard:de,manageProfilesBlockedDeleteModal:fe,managedOauthTab:pe,mcpAddServerModal:me,mcpPage:he,mcpServerCard:ge,mcpServerDetailModal:_e,mediaEmbedsCard:ve,memoryCard:ye,memoryRetrospectiveToggle:be,memoryWorkerToggle:xe,modelProfileRow:Se,modelProfileSelect:Ce,nativeAppCard:we,notificationsPage:Te,overridesCallSiteList:Ee,overridesDetailPanel:De,packageSwitchConfirmModal:Oe,pairDeviceCard:ke,pairDeviceClient:Ae,pairDeviceReady:je,pairDeviceUrl:Me,pairedDevicesSection:Ne,paymentMethodRow:Pe,paymentMethodsCard:Fe,pendingPairingRequests:Ie,planCard:Le,planCardContent:Re,planColumnCard:ze,plansPage:Be,preferencesModal:Ve,previewReleaseChannel:He,privacyPage:Ue,profileAdvancedParams:We,profileCheck:Ge,profileDetailPanel:Ke,profileEditor:qe,profileEditorFields:Je,profileEditorModal:Ye,profileEditorProviderSection:Xe,profileRow:Ze,profilesSection:Qe,providerCreateForm:$e,providerDetailPanel:et,providerEditorApiKeySection:tt,providerEditorContent:nt,providerEndpointCheck:rt,providerRow:it,providersSection:at,provisioningState:ot,recentRunsCard:st,recoveryModeControls:ct,referralContent:lt,referralModal:ut,resizeCard:dt,restartAssistant:ft,retireAssistant:pt,riskToleranceSettings:mt,scheduleProfileRebase:ht,scheduleSharedUi:gt,sentryTestingPanel:_t,sharedUi:vt,shortcutsSections:yt,showTipsRow:bt,soundsSections:xt,speechToTextCard:St,systemTasksSection:Ct,teleportCard:wt,textToSpeechCard:Tt,themePicker:Et,tierPicker:Dt,timezonePicker:Ot,timezoneSection:kt,trustRuleFormModal:At,trustRules:jt,trustRulesModal:Mt,tunnelStatusRow:Nt,twoFactorSection:Pt,updateWindowModal:Ft,updateWindowPolicy:It,upgradeCancelPage:Lt,upgradeSuccessPage:Rt,usageTab:zt,usageTrendChart:Bt,useBillingPortalSession:Vt,useCancelSubscription:Ht,useDaemonConfig:Ut,usePairDevice:Wt,usePendingPairingRequests:Gt,useProfileSave:Kt,useProviderActions:qt,useSystemTasks:Jt,voicePage:Yt,voicePickerCard:Xt,webFetchCard:Zt,webSearchCard:Qt,yourOwnOauthTab:$t};export{e as accessConsentSetting,t as adjustPlanModal,n as advisorProfileRow,r as aiProviderPicker,i as allConversationsView,a as androidNotificationSettingsCard,o as assistantBackups,s as assistantLifecyclePanel,c as assistantPicker,l as assistantSleepPolicy,u as assistantStatusPanel,d as assistantTerminalPanel,f as assistantUpgrades,p as autoTopUpCard,m as autoTopUpDisableConfirm,h as autoTopUpForm,g as autoTopUpPaymentMethodModal,_ as billingOnboardingModal,v as billingPage,y as billingPanel,b as billingPortalReturnHandler,x as billingStatusHandler,S as billingUsageChart,C as billingUsagePanel,w as biometricSettingsCard,T as bookmarksPage,E as bulkOverrideSwapModal,D as callSiteOverridesRow,O as chatgptOauthSection,k as checkoutBonusModal,A as checkoutPage,j as communityPage,M as completeState,N as createScheduleModal,P as credentialRow,F as credentialsPage,I as creditBundlePicker,L as customPlanModal,R as customPlanRow,z as dailyCreditLimitCard,B as debugControlsPanel,en as default,V as deleteAccountSection,H as devModeVersionUnlock,U as developerPage,W as doctorChatBlocks,G as doctorPanel,K as domainField,q as domainStep,J as downgradeReconfirmModal,Y as emailManagedContent,X as emailServiceCard,Z as enrollTotpModal,Q as environmentConfigPanel,$ as errorStates,ee as featureFlagsPanel,te as freeDowngradeConfirmModal,ne as generalPage,re as gracePeriodBanner,ie as imageGenerationCard,ae as integrationDetailModal,oe as integrationRow,se as integrationsPage,ce as invoicesTable,le as languageModelCard,ue as listeningLanguageCard,de as lowBalanceAlertCard,fe as manageProfilesBlockedDeleteModal,pe as managedOauthTab,me as mcpAddServerModal,he as mcpPage,ge as mcpServerCard,_e as mcpServerDetailModal,ve as mediaEmbedsCard,ye as memoryCard,be as memoryRetrospectiveToggle,xe as memoryWorkerToggle,Se as modelProfileRow,Ce as modelProfileSelect,we as nativeAppCard,Te as notificationsPage,Ee as overridesCallSiteList,De as overridesDetailPanel,Oe as packageSwitchConfirmModal,ke as pairDeviceCard,Ae as pairDeviceClient,je as pairDeviceReady,Me as pairDeviceUrl,Ne as pairedDevicesSection,Pe as paymentMethodRow,Fe as paymentMethodsCard,Ie as pendingPairingRequests,Le as planCard,Re as planCardContent,ze as planColumnCard,Be as plansPage,Ve as preferencesModal,He as previewReleaseChannel,Ue as privacyPage,We as profileAdvancedParams,Ge as profileCheck,Ke as profileDetailPanel,qe as profileEditor,Je as profileEditorFields,Ye as profileEditorModal,Xe as profileEditorProviderSection,Ze as profileRow,Qe as profilesSection,$e as providerCreateForm,et as providerDetailPanel,tt as providerEditorApiKeySection,nt as providerEditorContent,rt as providerEndpointCheck,it as providerRow,at as providersSection,ot as provisioningState,st as recentRunsCard,ct as recoveryModeControls,lt as referralContent,ut as referralModal,dt as resizeCard,ft as restartAssistant,pt as retireAssistant,mt as riskToleranceSettings,ht as scheduleProfileRebase,gt as scheduleSharedUi,_t as sentryTestingPanel,vt as sharedUi,yt as shortcutsSections,bt as showTipsRow,xt as soundsSections,St as speechToTextCard,Ct as systemTasksSection,wt as teleportCard,Tt as textToSpeechCard,Et as themePicker,Dt as tierPicker,Ot as timezonePicker,kt as timezoneSection,At as trustRuleFormModal,jt as trustRules,Mt as trustRulesModal,Nt as tunnelStatusRow,Pt as twoFactorSection,Ft as updateWindowModal,It as updateWindowPolicy,Lt as upgradeCancelPage,Rt as upgradeSuccessPage,zt as usageTab,Bt as usageTrendChart,Vt as useBillingPortalSession,Ht as useCancelSubscription,Ut as useDaemonConfig,Wt as usePairDevice,Gt as usePendingPairingRequests,Kt as useProfileSave,qt as useProviderActions,Jt as useSystemTasks,Yt as voicePage,Xt as voicePickerCard,Zt as webFetchCard,Qt as webSearchCard,$t as yourOwnOauthTab};