@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 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,f as n,h as r,k as i,l as a,p as o,s,t as c,v as l}from"./i18n-DmTrjH8B.js";import{t as u}from"./react-DJZBPgpf.js";import{t as d}from"./button-B1kEAcLt.js";import{d as f,h as p,t 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{t as y}from"./cn-naJKasky.js";import{t as b}from"./card-B4b9cF6X.js";import{d as x,o as S}from"./list-row-BvCm9O6y.js";import{t as C}from"./createLucideIcon-CMfEC_aW.js";import{t as w}from"./bell-B3GoRAIC.js";import{t as T}from"./check-bDVYejGM.js";import{t as E}from"./chevron-down-D437oaYt.js";import{t as D}from"./circle-alert-BaeJJrSp.js";import{t as O}from"./circle-check-CnoFVsRZ.js";import{t as k}from"./hard-drive-CXysKjuo.js";import{t as A}from"./heart-DF_JiyEl.js";import{t as j}from"./loader-circle-DZ65N8bz.js";import{t as M}from"./monitor-BKwWxjph.js";import{t as N}from"./moon-MfogEw5q.js";import{C as P,d as F,g as I,h as ee,i as L,l as R,n as z,o as te,t as ne,u as re,w as ie,x as ae}from"./composer-settings-LrZeVSAJ.js";import{t as oe}from"./refresh-cw-BDh1a2sj.js";import{n as se,t as ce}from"./relative-time-COU7Zqre.js";import{t as le}from"./rotate-ccw-BYcZOtjy.js";import{t as ue}from"./smartphone-P7vq0dcA.js";import{t as de}from"./sparkles-D6kBPNlr.js";import{t as fe}from"./sun-Dtr03Yty.js";import{t as pe}from"./triangle-alert-B6J57Xfo.js";import{t as me}from"./x-nhRPd-Mz.js";import{t as B}from"./notice-BHeYlKvv.js";import{t as he}from"./progress-bar-C9zSzt4m.js";import{B as ge,V as _e,o as ve,r as ye,s as V}from"./src-BKET5Cno.js";import{t as be}from"./tag-DAsImP7W.js";import{t as H}from"./input-ChbJ2nzd.js";import{t as xe}from"./toggle-CdhdS_iC.js";import{t as U}from"./modal-_49mDK_d.js";import{n as W}from"./toast-BKrDuNtu.js";import{t as Se}from"./confirm-dialog-EPYSBP_B.js";import{t as Ce}from"./select-DmdFZj4l.js";import{t as we}from"./skeleton-BV6nOVEl.js";import{C as Te,K as Ee,M as De,P as Oe,S as ke,U as Ae,V as je,Z as Me,_ as Ne,a as Pe,f as Fe,i as Ie,p as Le,u as Re,v as ze,z as Be}from"./local-mode-BQ8gp0wB.js";import{i as Ve,l as He}from"./local-settings-D9SNRv4p.js";import{t as Ue}from"./is-electron-D45bjFI8.js";import{r as We}from"./resolved-assistants-store-DEtotxhR.js";import{t as Ge}from"./Trans-aGiJoe8I.js";import{r as Ke,t as qe}from"./semver-CeGQrxWZ.js";import{i as Je,r as Ye}from"./utils-CAI1IDgW.js";import{$ as Xe,E as Ze,S as Qe,T as $e,Z as et,a as tt,g as nt,n as rt,q as it,tt as at,w as ot,x as st}from"./auth-store-BS_AckaH.js";import{t as G}from"./client.gen-D1UKq9QZ.js";import{$ as ct,C as lt,Gt as ut,N as dt,P as ft,Q as pt,T as mt,W as ht}from"./sdk.gen-CrcsMCNX.js";import{h as gt,p as _t}from"./use-assistant-avatar-BJgMIWOW.js";import{c as vt}from"./remote-gateway-session-C3H0Oq0r.js";import{f as K}from"./routes-C6ueuiMd.js";import{d as yt,f as bt,g as xt,s as St}from"./platform-detection-BBpg4tha.js";import{i as Ct,r as wt,t as Tt}from"./use-platform-gate-BGciIhS7.js";import{r as Et}from"./use-is-org-ready-BKgGDOej.js";import{et as Dt}from"./react-query.gen-C_GLKG7m.js";import{t as q}from"./client-feature-flag-store-BmjgGl9P.js";import{t as Ot}from"./use-bus-subscription-DfxTm1-Q.js";import{A as kt,D as At,E as jt,Ft as Mt,It as Nt,Lt as Pt,N as Ft,Nt as It,O as Lt,Ot as Rt,P as zt,Pt as Bt,Rt as Vt,T as Ht,c as Ut,ft as Wt,j as Gt,k as Kt,kt as qt,mt as Jt,v as Yt,w as Xt,wt as Zt}from"./react-query.gen-C5widOeH.js";import{t as Qt}from"./hard-navigate-BVv7q79D.js";import{t as $t}from"./assistant-feature-flag-store-Co_o5uD3.js";import{t as en}from"./pointer-DktxhCd8.js";import{n as tn,t as nn}from"./retire-confirm-dialog-RkS3NvLp.js";import{a as rn,i as an,r as on,s as sn}from"./local-runtime-upgrade-w4ASPcze.js";import{t as cn}from"./copy-to-clipboard-B078_jza.js";import{t as ln}from"./proxy-CROyCGs8.js";import{t as un}from"./AnimatePresence-BkWQRluv.js";import{t as dn}from"./use-reduced-motion-CVyEdyEe.js";import{t as J}from"./platform-login-notice-CWwlTxPN.js";import{t as fn}from"./use-active-assistant-id-lxYJu99R.js";import{t as pn}from"./use-copy-to-clipboard-81gBKimW.js";import{t as Y}from"./detail-card-D9EAxXI8.js";import{t as mn}from"./app-info-CBSIGREh.js";import{a as hn,i as gn,l as _n,o as vn}from"./machine-sizes-CoWjZd83.js";import{t as yn}from"./environment-store-DEyTyd0y.js";import{a as bn,i as xn,n as Sn,r as Cn,t as wn}from"./assistant-status-panel-Des4OppH.js";import{t as Tn}from"./use-hotkey-recorder-BQEYtl-Y.js";import{t as En}from"./settings-divider-SUwXIK4c.js";var Dn=C(`fingerprint-pattern`,[[`path`,{d:`M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4`,key:`1nerag`}],[`path`,{d:`M14 13.12c0 2.38 0 6.38-1 8.88`,key:`o46ks0`}],[`path`,{d:`M17.29 21.02c.12-.6.43-2.3.5-3.02`,key:`ptglia`}],[`path`,{d:`M2 12a10 10 0 0 1 18-6`,key:`ydlgp0`}],[`path`,{d:`M2 16h.01`,key:`1gqxmh`}],[`path`,{d:`M21.8 16c.2-2 .131-5.354 0-6`,key:`drycrb`}],[`path`,{d:`M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2`,key:`1tidbn`}],[`path`,{d:`M8.65 22c.21-.66.45-1.32.57-2`,key:`13wd9y`}],[`path`,{d:`M9 6.8a6 6 0 0 1 9 5.2v2`,key:`1fr1j5`}]]),On=C(`server`,[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]),kn=C(`vibrate`,[[`path`,{d:`m2 8 2 2-2 2 2 2-2 2`,key:`sv1b1`}],[`path`,{d:`m22 8-2 2 2 2-2 2 2 2`,key:`101i4y`}],[`rect`,{width:`8`,height:`14`,x:`8`,y:`5`,rx:`1`,key:`1oyrl4`}]]),X=e(u(),1),Z=v();function An(){let{t:e}=l(`settings`),t=q.use.velvet(),{theme:n,setThemePreference:r}=ee(),i=[{value:`system`,label:e(`themePicker.system`),icon:(0,Z.jsx)(M,{className:`h-4 w-4`})},{value:`light`,label:e(`themePicker.light`),icon:(0,Z.jsx)(fe,{className:`h-4 w-4`})},{value:`dark`,label:e(`themePicker.dark`),icon:(0,Z.jsx)(N,{className:`h-4 w-4`})},...t?[{value:`velvet`,label:e(`themePicker.velvet`),icon:(0,Z.jsx)(A,{className:`h-4 w-4`})}]:[]];return(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:e(`themePicker.title`)}),(0,Z.jsx)(`div`,{className:`mt-2 max-w-[360px]`,children:(0,Z.jsx)(S,{ariaLabel:e(`themePicker.ariaLabel`),value:n,onChange:r,items:i})})]})}var jn=st,Mn=`Please choose a different handle.`;async function Nn(e,t){let{data:n,error:i,response:a}=await ft({path:{id:e},body:{handle:t},throwOnError:!1});if(!a)return{kind:`error`,message:r(i,void 0,`Failed to save handle.`)??`Failed to save handle.`};if(a.ok&&n)return{kind:`ok`,data:n};if(a.status===409){let{message:e}=Ze(i,`handle`,jn.taken);return{kind:`taken`,message:e}}if(a.status===400){let{code:e,message:t}=Ze(i,`handle`,Mn);return{kind:`invalid`,code:e,message:t}}return{kind:`error`,message:r(i,a,`Failed to save handle.`)}}async function Pn(e,t,i){let{data:a,error:s,response:c}=await lt({path:{assistant_id:e},query:{handle:t},signal:i,throwOnError:!1});if(o(c,s,`Failed to check handle availability.`),!c.ok||!a)throw new n(c.status,c.status===429?`Too many checks — try again in a moment.`:r(s,c,`Failed to check handle availability.`));return{available:a.available,code:a.code??null,message:a.message??null}}function Fn(e){return/\d{2,}$/.test(e)}var In=300,Ln=1400;function Rn({initialHandle:e,inputLabel:t,helperText:n,idleHelperText:r,checkAvailable:i,save:a,onSaved:o,saveSuccessToast:s,fieldId:c}){let{t:u}=l(),[f,p]=(0,X.useState)(e),[m,h]=(0,X.useState)(null),[g,_]=(0,X.useState)(!1),[v,y]=(0,X.useState)(`idle`),[b,x]=(0,X.useState)(null),S=dn(),C=(0,X.useRef)(null),w=(0,X.useMemo)(()=>f.trim().toLowerCase(),[f]),E=w===e.toLowerCase();(0,X.useEffect)(()=>{if(E||w.length===0){_(!1),C.current?.abort();return}let e=new AbortController;C.current?.abort(),C.current=e,_(!0);let t=window.setTimeout(async()=>{try{let t=await i(w,e.signal);e.signal.aborted||h(t)}catch(t){e.signal.aborted||x(t instanceof Error?t.message:u(`profileCard.checkAvailabilityFailed`))}finally{e.signal.aborted||_(!1)}},In);return()=>{window.clearTimeout(t),e.abort()}},[w,E,i,u]);let O=(()=>{if(b)return b;if(m&&!m.available){let e=m.code;return m.message??(e?jn[e]:u(`profileCard.chooseDifferentHandle`))}return null})(),k=O?n:E?r??null:g?u(`profileCard.checkingAvailability`):m?.available?u(`profileCard.availableHelper`):null,A=!E&&!g&&m?.available!==!1&&v!==`saving`,M=(0,X.useCallback)(async()=>{if(!A)return;y(`saving`),x(null);let e=await a(w);if(e.kind===`ok`){y(`saved`),o(e.data),W.success(s),window.setTimeout(()=>y(`idle`),Ln);return}if(e.kind===`taken`){y(`idle`),h({available:!1,code:`taken`,message:e.message});return}if(e.kind===`invalid`){y(`idle`),h({available:!1,code:e.code,message:e.message});return}y(`error`),x(e.message),W.error(e.message)},[A,w,o,a,s]),N=(()=>{if(E&&f.length>0||f.length===0)return null;let e=g?`checking`:m?.available?`available`:m?.available===!1?`invalid`:null;return e?(0,Z.jsx)(un,{mode:`wait`,initial:!1,children:(0,Z.jsxs)(ln.span,{initial:S?!1:{opacity:0,scale:.85},animate:{opacity:1,scale:1},exit:S?void 0:{opacity:0,scale:.85},transition:{duration:.14,ease:`easeOut`},className:`flex items-center`,"aria-hidden":e!==`available`&&e!==`invalid`,children:[e===`checking`&&(0,Z.jsx)(j,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),e===`available`&&(0,Z.jsx)(T,{className:`h-4 w-4 text-[var(--system-positive-strong)]`,"aria-label":u(`profileCard.available`)}),e===`invalid`&&(0,Z.jsx)(D,{className:`h-4 w-4 text-[var(--system-negative-strong)]`,"aria-label":u(`profileCard.notAvailable`)})]},e)}):null})(),P=(()=>{switch(v){case`saving`:return(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Z.jsx)(j,{className:`h-3.5 w-3.5 animate-spin`,"aria-hidden":!0}),u(`profileCard.saving`)]});case`saved`:return(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Z.jsx)(T,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),u(`profileCard.saved`)]});default:return u(`profileCard.save`)}})();return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Z.jsx)(H,{label:t,value:f,onChange:e=>{p(e.target.value.replace(/\s+/g,``)),h(null),x(null)},autoCorrect:`off`,autoCapitalize:`none`,spellCheck:!1,maxLength:30,leftIcon:(0,Z.jsx)(`span`,{className:`select-none font-mono text-[var(--content-tertiary)]`,"aria-hidden":!0,children:`@`}),rightIcon:N,errorText:O??void 0,helperText:k??void 0,"aria-invalid":!!O,fullWidth:!0,"data-testid":`${c}-input`}),(!E||v!==`idle`)&&(0,Z.jsx)(`div`,{className:`flex justify-end`,children:(0,Z.jsx)(d,{variant:`primary`,size:`compact`,onClick:M,disabled:!A,"aria-live":`polite`,"data-testid":`${c}-save`,children:P})})]})}function zn({initial:e,onSaved:t}){let{t:n}=l(),r=rt.use.refreshSession(),i=Fn(e.username)?n(`profileCard.userHandleIdleAutoGenerated`):void 0,a=(0,X.useCallback)(async e=>await $e({username:e}),[]),o=(0,X.useCallback)((e,t)=>Qe(e,t),[]),s=(0,X.useCallback)(e=>{t(e),r()},[t,r]);return(0,Z.jsx)(Rn,{initialHandle:e.username,inputLabel:n(`profileCard.userHandleLabel`),helperText:n(`profileCard.handleHelper`),idleHelperText:i,checkAvailable:o,save:a,onSaved:s,saveSuccessToast:n(`profileCard.profileUpdated`),fieldId:`user-handle`})}function Bn({assistant:e,onSaved:t}){let{t:n}=l(),r=e.handle??``,i=g({...Ut({path:{assistant_id:e.id}})}).data?.results?.[0],a=!!i&&i.subdomain.toLowerCase()===r.toLowerCase(),o=r.length===0?n(`profileCard.assistantHandleIdleEmpty`):void 0,s=(0,X.useCallback)(async t=>await Nn(e.id,t),[e.id]),c=(0,X.useCallback)((t,n)=>Pn(e.id,t,n),[e.id]);return a?(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(H,{label:n(`profileCard.assistantHandleLabel`),value:r,readOnly:!0,disabled:!0,leftIcon:(0,Z.jsx)(`span`,{className:`select-none font-mono text-[var(--content-tertiary)]`,"aria-hidden":!0,children:`@`}),fullWidth:!0,"data-testid":`assistant-handle-input`}),(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:(0,Z.jsx)(Ge,{i18nKey:`profileCard.handleLocked`,components:{releaseLink:(0,Z.jsx)(m,{to:`${K.settings.ai}?release=1#email`,className:`text-[var(--content-link)] underline hover:text-[var(--content-link-hover)]`})}})})]}):(0,Z.jsx)(Rn,{initialHandle:r,inputLabel:n(`profileCard.assistantHandleLabel`),helperText:n(`profileCard.handleHelper`),idleHelperText:o,checkAvailable:c,save:s,onSaved:t,saveSuccessToast:n(`profileCard.assistantHandleUpdated`),fieldId:`assistant-handle`})}function Vn(){let{t:e}=l();return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4`,"aria-busy":!0,"aria-live":`polite`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(we,{className:`h-3 w-16`}),(0,Z.jsx)(we,{className:`h-9 w-full rounded-md`}),(0,Z.jsx)(we,{className:`h-3 w-72`})]}),(0,Z.jsx)(we,{className:`h-9 w-full rounded-md`}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Z.jsx)(we,{className:`h-3 w-60`}),(0,Z.jsx)(we,{className:`h-7 w-16 rounded-md`})]}),(0,Z.jsx)(`span`,{className:`sr-only`,children:e(`profileCard.loading`)})]})}function Hn(){return(0,Z.jsx)(`div`,{className:`border-t border-[var(--border-subtle)]`})}function Un({assistant:e,showHandles:t=!0,children:n}={}){let{t:r}=l(),i=rt.use.user?.()?.email??null;return(0,Z.jsx)(Y,{title:r(`profileCard.title`),subtitle:r(`profileCard.subtitle`),children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[i&&(0,Z.jsx)(`div`,{className:`max-w-[420px]`,children:(0,Z.jsx)(H,{label:r(`profileCard.emailLabel`),value:i,disabled:!0,readOnly:!0})}),t&&(0,Z.jsxs)(Z.Fragment,{children:[i&&(0,Z.jsx)(Hn,{}),(0,Z.jsx)(Wn,{assistant:e})]}),n!=null&&(0,Z.jsxs)(Z.Fragment,{children:[(i||t)&&(0,Z.jsx)(Hn,{}),n]})]})})}function Wn({assistant:e}){let[t,n]=(0,X.useState)(null),[r,i]=(0,X.useState)(null),a=dn(),[o,s]=(0,X.useState)(e??null);return(0,X.useEffect)(()=>{s(e??null)},[e]),(0,X.useEffect)(()=>{let e=!1;return ot().then(t=>{e||n(t)}).catch(t=>{e||i(t instanceof Error?t.message:`Failed to load profile.`)}),()=>{e=!0}},[]),r?(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:r}):t?(0,Z.jsxs)(ln.div,{initial:a?!1:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.22,ease:`easeOut`},className:`flex flex-col gap-6`,children:[(0,Z.jsx)(zn,{initial:t,onSaved:n}),o&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`border-t border-[var(--border-subtle)]`}),(0,Z.jsx)(Bn,{assistant:o,onSaved:s})]})]}):(0,Z.jsx)(Vn,{})}var Gn=Yt({query:{hosting:`platform`}});function Kn(){let{t:e}=l(`settings`),t=fn(),n=g(Gn),r=n.data?.results??[];return n.isPending||r.length<2?null:(0,Z.jsx)(Y,{title:e(`assistantPicker.title`),subtitle:e(`assistantPicker.subtitle`),children:(0,Z.jsx)(`div`,{className:`space-y-2`,children:r.map(n=>{let r=n.id===t;return(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-4 rounded-lg border px-4 py-3 ${r?`border-[var(--border-focus)] bg-[var(--surface-lift)]`:`border-[var(--border-base)] bg-[var(--surface-default)]`}`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,Z.jsx)(M,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)]`}),(0,Z.jsx)(`div`,{className:`min-w-0`,children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:n.name||e(`assistantPicker.unnamed`)}),n.status!==`active`&&(0,Z.jsx)(be,{tone:`warning`,children:n.status})]})})]}),(0,Z.jsx)(`div`,{className:`shrink-0`,children:r?(0,Z.jsxs)(`span`,{className:`flex items-center gap-1.5 text-body-small-default text-[var(--system-positive-default)]`,children:[(0,Z.jsx)(T,{className:`h-4 w-4`}),e(`assistantPicker.active`)]}):(0,Z.jsx)(d,{variant:`outlined`,size:`compact`,disabled:n.status!==`active`,onClick:()=>{et(n.id),W.success(e(`assistantPicker.switchedToast`))},children:e(`assistantPicker.switch`)})})]},n.id)})})})}var qn=[0,300,600,3600,10800,86400,259200,604800,1209600,2592e3],Jn=new Set([300,600]);function Yn(e,t){if(e===0)return t(`assistantSleepPolicy.neverSleep`);let n=Math.floor(e/86400),r=Math.floor(e%86400/3600);if(n>0&&r>0)return t(`assistantSleepPolicy.daysHours`,{days:n,hours:r});if(n>0)return t(`assistantSleepPolicy.days`,{days:n});if(r>0)return t(`assistantSleepPolicy.hours`,{hours:r});let i=Math.floor(e/60);return i>0?t(`assistantSleepPolicy.minutes`,{minutes:i}):t(`assistantSleepPolicy.seconds`,{seconds:e})}function Xn(e,t){switch(e){case 0:return t(`assistantSleepPolicy.presetNever`);case 300:return t(`assistantSleepPolicy.preset5Min`);case 600:return t(`assistantSleepPolicy.preset10Min`);case 3600:return t(`assistantSleepPolicy.preset1Hour`);case 10800:return t(`assistantSleepPolicy.preset3Hours`);case 86400:return t(`assistantSleepPolicy.preset1Day`);case 259200:return t(`assistantSleepPolicy.preset3Days`);case 604800:return t(`assistantSleepPolicy.preset7Days`);case 1209600:return t(`assistantSleepPolicy.preset14Days`);case 2592e3:return t(`assistantSleepPolicy.preset30Days`);default:return Yn(e,t)}}function Zn({assistantId:e}){let{t}=l(`settings`),n=h(),r=yn.use.isNonProduction(),i=(0,X.useMemo)(()=>qn.filter(e=>!Jn.has(e)||r),[r]),{data:a,isLoading:o,isError:s}=g(kt({path:{id:e}})),c=(0,X.useMemo)(()=>a?.idle_timeout_seconds??259200,[a]),[u,f]=(0,X.useState)(null),p=u??c,m=u!==null,_=qt({onSuccess:()=>{W.success(t(`assistantSleepPolicy.savedToast`)),f(null),n.invalidateQueries({queryKey:Gt({path:{id:e}})})},onError:()=>{W.error(t(`assistantSleepPolicy.saveErrorToast`))}});return o?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(j,{className:`h-4 w-4 animate-spin`}),t(`assistantSleepPolicy.loading`)]}):s?(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:t(`assistantSleepPolicy.loadError`)}):(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:t(`assistantSleepPolicy.idleTimeout`)}),(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t(`assistantSleepPolicy.idleTimeoutDescription`)}),(0,Z.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:i.map(e=>(0,Z.jsx)(d,{variant:`outlined`,active:p===e,onClick:()=>f(e),children:Xn(e,t)},e))}),(0,Z.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:t(`assistantSleepPolicy.current`,{duration:Yn(p,t)})})]}),m&&(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(d,{variant:`primary`,leftIcon:_.isPending?(0,Z.jsx)(j,{className:`animate-spin`}):void 0,onClick:()=>_.mutate({path:{id:e},body:{idle_timeout_seconds:p}}),disabled:_.isPending,children:t(`assistantSleepPolicy.save`)}),(0,Z.jsx)(d,{variant:`outlined`,onClick:()=>f(null),disabled:_.isPending,children:t(`assistantSleepPolicy.cancel`)})]})]})}function Qn(e,t,n){let r=[e.version];return e.version===n&&r.push(i(`settings:assistantUpgrades.latestSuffix`)),t&&e.version===t&&r.push(i(`settings:assistantUpgrades.currentSuffix`)),r.join(` `)}var $n=3e3;function er({version:e,assistantId:t}){let{onTap:n,message:r}=xn(t);return(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`block min-w-0 break-all text-left text-body-medium-lighter text-[var(--content-default)]`,onClick:n,children:e??`—`}),r&&(0,Z.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-accent)]`,children:r})]})}function tr({assistantId:e,currentVersion:t,releaseChannel:n,onUpgradeComplete:r}){let{t:i}=l(`settings`),a=$t.use.rollbackEnabled(),o=q.use.previewChannel(),s=h(),c=an(n,o),u=c===`preview`,[f,p]=(0,X.useState)(!1),m=(0,X.useRef)(null),[v,y]=(0,X.useState)(null),[b,x]=(0,X.useState)(!1),[S,C]=(0,X.useState)(!1),[w,T]=(0,X.useState)(null),E=e=>e&&m.current&&e===m.current?(queueMicrotask(()=>{T(i(S?`assistantUpgrades.successRolledBack`:`assistantUpgrades.successUpdated`,{version:m.current})),p(!1),m.current=null,y(null),W.success(i(S?`assistantUpgrades.toastRollbackComplete`:`assistantUpgrades.toastUpdateComplete`),{id:`runtime-upgrade-complete`,tone:`strong`}),r?.()}),!1):$n;g({...Lt({path:{id:e}}),refetchInterval:f?e=>E(e.state.data?.current_release_version):!1});let{data:D,isLoading:O}=g(Zt({query:{channel:c}})),k=D?.find(e=>e.is_stable!==!1)??D?.[0],A=v??k?.version??null,M=(0,X.useMemo)(()=>{if(!a||!A||!t)return!1;let e=Ke(A),n=Ke(t);return!e||!n?!1:qe(e,n)<0},[a,A,t]),N=(0,X.useMemo)(()=>{if(!A)return!1;if(!t)return!0;let e=Ke(A),n=Ke(t);if(!e||!n)return A!==t;let r=qe(e,n);return a?r!==0:r>0},[a,A,t]),P=_({mutationFn:async t=>{let{data:n}=await pt({path:{id:e},body:t,throwOnError:!0});return n}}),F=_({mutationFn:async t=>{let{data:n}=await ht({path:{id:e},body:t,throwOnError:!0});return n}}),I=async()=>{x(!1),T(null);let t=a?A??void 0:void 0;try{if(M){let e=await F.mutateAsync({version:t});m.current=e.version??t??null,W.success(e.detail||i(`assistantUpgrades.toastRollbackInitiated`,{version:t}))}else{let e=await P.mutateAsync({version:t});if(e.detail?.includes(`Already on the latest`)){W.warning(e.detail);return}m.current=e.version??t??null,W.success(e.detail||i(`assistantUpgrades.toastUpdateInitiated`,{version:e.version??t??i(`assistantUpgrades.latest`)}))}C(M),p(!0),s.invalidateQueries({queryKey:Kt({path:{id:e}})})}catch{W.error(i(M?`assistantUpgrades.toastRollbackFailed`:`assistantUpgrades.toastUpdateFailed`))}},ee=i(u?`assistantUpgrades.previewRelease`:N?M?`assistantUpgrades.rollbackTo`:`assistantUpgrades.updateTo`:`assistantUpgrades.selected`);return(0,Z.jsxs)(`div`,{className:`space-y-5`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4 md:grid md:grid-cols-[auto_minmax(0,1fr)] md:items-center md:gap-x-8 md:gap-y-4`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1 md:contents`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:i(`assistantUpgrades.current`)}),(0,Z.jsx)(er,{version:t,assistantId:e})]}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1 md:contents`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:ee}),(0,Z.jsx)(`span`,{className:`block min-w-0`,children:O?(0,Z.jsxs)(`span`,{className:`flex items-center gap-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(j,{className:`h-3 w-3 animate-spin`}),i(`assistantUpgrades.loading`)]}):D&&D.length>0?a?(0,Z.jsx)(Ce,{value:A??``,onChange:e=>y(e===k?.version?null:e),disabled:f||P.isPending||F.isPending,options:D.map(e=>({value:e.version,label:Qn(e,t,k?.version)}))}):(0,Z.jsx)(`span`,{className:`block min-w-0 break-all text-body-medium-lighter text-[var(--content-default)]`,children:k?Qn(k,t,k.version):`—`}):i(`assistantUpgrades.noReleases`)})]})]}),(0,Z.jsx)(d,{variant:M?`outlined`:`primary`,className:`min-w-[160px]`,leftIcon:P.isPending||F.isPending||f?(0,Z.jsx)(j,{className:`animate-spin`}):(0,Z.jsx)(oe,{}),onClick:()=>x(!0),disabled:!N||P.isPending||F.isPending||f||O||!D?.length,children:i(f?S?`assistantUpgrades.rollingBack`:`assistantUpgrades.updating`:M?`assistantUpgrades.rollback`:u?`assistantUpgrades.updatePreview`:`assistantUpgrades.update`)}),u&&(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:(0,Z.jsx)(Ge,{ns:`settings`,i18nKey:`assistantUpgrades.usingPreviewReleases`,components:{stableLink:(0,Z.jsx)(`a`,{href:`#preview-release-channel`,className:`text-[var(--primary-base)] underline-offset-2 hover:underline`})}})}),!N&&t&&A&&!O&&(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-positive-strong)]`,children:w??i(`assistantUpgrades.alreadyOnVersion`)}),(0,Z.jsx)(Se,{open:b,title:i(M?`assistantUpgrades.confirmRollbackTitle`:u?`assistantUpgrades.confirmPreviewTitle`:`assistantUpgrades.confirmUpdateTitle`),message:M?i(`assistantUpgrades.confirmRollbackMessage`,{version:A??i(`assistantUpgrades.unknown`)}):i(u?`assistantUpgrades.confirmPreviewMessage`:`assistantUpgrades.confirmUpdateMessage`,{version:A??i(`assistantUpgrades.latest`)}),confirmLabel:i(M?`assistantUpgrades.rollback`:u?`assistantUpgrades.updatePreview`:`assistantUpgrades.update`),onConfirm:I,onCancel:()=>x(!1)})]})}function nr({assistantId:e,currentVersion:t,onUpgradeComplete:n}){let{t:r}=l(`settings`),[i,a]=(0,X.useState)(!1),[o,s]=(0,X.useState)(null),{data:c,isLoading:u}=g(Zt({query:{stable:!0,limit:100}})),f=(0,X.useMemo)(()=>on(c),[c]),p=f?.version,m=t?rn(t,p):!!p,h=sn({assistantId:e,targetVersion:p});return(0,Z.jsxs)(`div`,{className:`space-y-5`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4 md:grid md:grid-cols-[auto_minmax(0,1fr)] md:items-center md:gap-x-8 md:gap-y-4`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1 md:contents`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:r(`assistantUpgrades.current`)}),(0,Z.jsx)(er,{version:t,assistantId:e})]}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1 md:contents`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:r(`assistantUpgrades.updateTo`)}),(0,Z.jsx)(`span`,{className:`block min-w-0 break-all text-body-medium-lighter text-[var(--content-default)]`,children:u?r(`assistantUpgrades.loading`):p&&f?Qn(f,t,p):r(`assistantUpgrades.noReleases`)})]})]}),(0,Z.jsx)(d,{variant:`primary`,className:`min-w-[160px]`,leftIcon:h.isPending?(0,Z.jsx)(j,{className:`animate-spin`}):(0,Z.jsx)(oe,{}),onClick:()=>a(!0),disabled:h.isPending||u||!p||!m,children:h.isPending?r(`assistantUpgrades.updating`):p?r(`assistantUpgrades.updateToVersion`,{version:p}):r(`assistantUpgrades.update`)}),o&&(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-positive-strong)]`,children:o}),!o&&!m&&p&&!u&&(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-positive-strong)]`,children:r(`assistantUpgrades.alreadyOnVersion`)}),(0,Z.jsx)(Se,{open:i,title:r(`assistantUpgrades.confirmUpdateTitle`),message:r(`assistantUpgrades.confirmUpdateMessage`,{version:p??r(`assistantUpgrades.latest`)}),confirmLabel:r(`assistantUpgrades.update`),onConfirm:async()=>{a(!1),s(null);try{s(r(`assistantUpgrades.successUpdated`,{version:(await h.upgrade()).version??p??r(`assistantUpgrades.latest`)})),W.success(r(`assistantUpgrades.toastUpdateComplete`),{id:`runtime-upgrade-complete`,tone:`strong`}),n?.()}catch(e){W.error(e instanceof Error?e.message:r(`assistantUpgrades.toastUpdateFailed`))}},onCancel:()=>a(!1)})]})}function rr(){let{t:e}=l(`settings`),t=Ct({platformHostedOnly:!0}),n=wt(),r=rt.use.user()?.id??null,i=rt.use.logout(),[a,o]=(0,X.useState)(!1),s=It({onSuccess:async()=>{W.success(e(`deleteAccountSection.toastRequested`)),nt(r),await i(),Qt(K.account.login)},onError:()=>{W.error(e(`deleteAccountSection.toastFailed`))}}),c=t===`full`&&n;return(0,X.useEffect)(()=>{c&&a&&o(!1)},[c,a]),t===`gated`?null:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`section`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:e(`deleteAccountSection.title`)}),(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e(`deleteAccountSection.description`)}),(0,Z.jsx)(`div`,{className:`mt-1`,children:t===`disabled`?(0,Z.jsx)(J,{children:e(`deleteAccountSection.platformLoginNotice`)}):(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(d,{variant:`dangerOutline`,onClick:()=>o(!0),disabled:s.isPending||c,className:`self-start`,children:e(`deleteAccountSection.deleteMyAccount`)}),c&&(0,Z.jsx)(j,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`})]})})]}),(0,Z.jsx)(Se,{open:a,title:e(`deleteAccountSection.confirmTitle`),message:e(`deleteAccountSection.confirmMessage`),confirmLabel:e(`deleteAccountSection.confirmLabel`),destructive:!0,onConfirm:()=>{if(c){o(!1);return}o(!1),s.mutate({})},onCancel:()=>o(!1)})]})}function ir({title:e,subtitle:t,benefits:n,ctaLabel:r,ctaLeftIcon:i,onAction:a}){return(0,Z.jsx)(Y,{title:e,subtitle:t,children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Z.jsx)(`ul`,{className:`space-y-3`,children:n.map(({icon:e,text:t})=>(0,Z.jsxs)(`li`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center rounded-md`,style:{background:`var(--surface-base)`},children:(0,Z.jsx)(e,{size:14,style:{color:`var(--content-secondary)`},"aria-hidden":!0})}),(0,Z.jsx)(`span`,{className:`text-body-medium-lighter text-[color:var(--content-secondary)]`,children:t})]},t))}),(0,Z.jsx)(d,{variant:`primary`,size:`regular`,leftIcon:i,onClick:a,className:`self-start`,children:r})]})})}function ar(){let{t:e}=l(`settings`),t=bt(),n=yt(),r=t?`ios`:n?`android`:null,i=r?L(r):null;return i?(0,Z.jsx)(ir,{title:e(`nativeAppCard.title`,{appName:i.appName}),subtitle:e(`nativeAppCard.subtitle`,{appName:i.appName}),benefits:[{icon:w,text:e(`nativeAppCard.benefitPush`)},{icon:Dn,text:e(`nativeAppCard.benefitBiometric`)},{icon:kn,text:e(`nativeAppCard.benefitHaptics`)},{icon:ue,text:e(`nativeAppCard.benefitHomeScreen`)}],ctaLabel:e(`nativeAppCard.download`),ctaLeftIcon:(0,Z.jsx)(ue,{size:16}),onAction:()=>{R(i.platform),te(i.platform)}}):null}var or=`0.10.0`;function sr(){return Je(or)}var cr=[`login.tailscale.com`,`tailscale.com`,`www.tailscale.com`,`ngrok.com`,`dashboard.ngrok.com`,`dash.cloudflare.com`,`cloudflare.com`,`www.cloudflare.com`];function lr(e){let t;try{t=new URL(e).hostname}catch{return!1}return cr.includes(t)}function ur(e){let t;try{t=new URL(e).hostname}catch{return null}return cr.includes(t)?t.includes(`tailscale`)?`Tailscale`:t.includes(`ngrok`)?`ngrok`:t.includes(`cloudflare`)?`Cloudflare`:null:null}function dr(e){try{let t=new URL(e).hostname;return t===`localhost`||t===`[::1]`||/^127(?:\.\d{1,3}){3}$/.test(t)}catch{return!1}}function fr(e){let t=new URL(e);t.search=``,t.hash=``;let n=t.pathname.split(`/`).filter(Boolean),r=n.indexOf(`assistant`);return r>=0&&n.splice(r),t.pathname=n.length?`/${n.join(`/`)}`:`/`,t.toString().replace(/\/+$/,``)}function pr(e){let t;try{t=fr(e)}catch{return{ok:!1,reason:`unparseable`}}return dr(t)?{ok:!1,reason:`loopback`}:lr(t)?{ok:!1,reason:`service-website`}:new URL(t).protocol===`https:`?{ok:!0,url:t}:{ok:!1,reason:`non-https`}}function mr(e){let t=new URL(e.verificationUri);return t.hash=new URLSearchParams({device_code:e.deviceCode}).toString(),t.toString()}function hr(e,t){switch(e){case`unparseable`:return i(`settings:pairDeviceUrl.unparseable`);case`loopback`:return i(`settings:pairDeviceUrl.loopback`);case`non-https`:return i(`settings:pairDeviceUrl.nonHttps`);case`service-website`:return i(`settings:pairDeviceUrl.serviceWebsite`,{service:t&&ur(t)||i(`settings:pairDeviceUrl.serviceFallbackName`)})}}var gr=`/v1/remote-web/pairing-challenge`,_r=`/v1/remote-web/pairing-verification`,vr=`/v1/remote-web/pairing-requests`,yr=`${vr}/approve`,br=`${vr}/deny`;function xr(){return i(`settings:pairDeviceClient.connectivityHint`)}var Sr=class extends Error{hint;status;code;constructor(e,t={}){super(e),this.name=`PairDeviceError`,this.hint=t.hint,this.status=t.status,this.code=t.code}},Cr=5e3;function wr(){if(typeof window>`u`)return null;let e=Le(),t=Pe(e);return t?{base:`${window.location.origin}${t}`,assistantName:e?.name?.trim()||null,ingressUrl:e?.ingressUrl?.trim()||null}:null}function Tr(e){let t=e?.error?.message;return typeof t==`string`&&t.trim()?t:null}function Er(e){let t=e?.error?.code;return typeof t==`string`&&t?t:void 0}async function Dr(e,t,n,r){let a;try{a=await fetch(e,{...t,signal:n})}catch(e){throw e instanceof DOMException&&e.name===`AbortError`?e:new Sr(i(`settings:pairDeviceClient.networkError`))}let o=await a.json().catch(()=>null);if(!a.ok)throw new Sr(Tr(o)??i(`settings:pairDeviceClient.httpError`,{status:a.status}),{hint:r,status:a.status,code:Er(o)});if(typeof o!=`object`||!o)throw new Sr(i(`settings:pairDeviceClient.unexpectedResponse`));return o}function Or(e,t,n,r){return Dr(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)},n,r)}async function kr(e){let{base:t,publicBaseUrl:n,signal:r}=e,i=await Or(`${t}${gr}`,{publicBaseUrl:n},r,xr());try{await Or(`${t}${_r}`,{userCode:i.userCode},r,xr())}catch(e){let n=AbortSignal.timeout(Cr);throw e instanceof DOMException&&e.name===`AbortError`?Ar(t,i.userCode,n):await Ar(t,i.userCode,r?AbortSignal.any([r,n]):n),e}return{pairUrl:mr(i),expiresAt:i.expiresAt}}async function Ar(e,t,n){try{let r=(await jr({base:e,signal:n})).find(e=>e.userCode===t);r&&await Pr({base:e,requestId:r.requestId,signal:n})}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)return;a(e,{context:`pair-device-orphan-cleanup`,bestEffort:!0})}}async function jr(e){let t=await Dr(`${e.base}${vr}`,{method:`GET`},e.signal);return Array.isArray(t.requests)?t.requests:[]}async function Mr(e,t){await Or(`${t.base}${e}`,{requestId:t.requestId},t.signal)}function Nr(e){return Mr(yr,e)}function Pr(e){return Mr(br,e)}var Fr=Object.defineProperty,Ir=Object.getOwnPropertySymbols,Lr=Object.prototype.hasOwnProperty,Rr=Object.prototype.propertyIsEnumerable,zr=(e,t,n)=>t in e?Fr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Br=(e,t)=>{for(var n in t||={})Lr.call(t,n)&&zr(e,n,t[n]);if(Ir)for(var n of Ir(t))Rr.call(t,n)&&zr(e,n,t[n]);return e},Vr=(e,t)=>{var n={};for(var r in e)Lr.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ir)for(var r of Ir(e))t.indexOf(r)<0&&Rr.call(e,r)&&(n[r]=e[r]);return n},Hr;(e=>{let t=class t{constructor(e,n,r,a){if(this.version=e,this.errorCorrectionLevel=n,this.modules=[],this.isFunction=[],e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version value out of range`);if(a<-1||a>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let o=[];for(let e=0;e<this.size;e++)o.push(!1);for(let e=0;e<this.size;e++)this.modules.push(o.slice()),this.isFunction.push(o.slice());this.drawFunctionPatterns();let s=this.addEccAndInterleave(r);if(this.drawCodewords(s),a==-1){let e=1e9;for(let t=0;t<8;t++){this.applyMask(t),this.drawFormatBits(t);let n=this.getPenaltyScore();n<e&&(a=t,e=n),this.applyMask(t)}}i(0<=a&&a<=7),this.mask=a,this.applyMask(a),this.drawFormatBits(a),this.isFunction=[]}static encodeText(n,r){let i=e.QrSegment.makeSegments(n);return t.encodeSegments(i,r)}static encodeBinary(n,r){let i=e.QrSegment.makeBytes(n);return t.encodeSegments([i],r)}static encodeSegments(e,r,a=1,s=40,c=-1,l=!0){if(!(t.MIN_VERSION<=a&&a<=s&&s<=t.MAX_VERSION)||c<-1||c>7)throw RangeError(`Invalid value`);let u,d;for(u=a;;u++){let n=t.getNumDataCodewords(u,r)*8,i=o.getTotalBits(e,u);if(i<=n){d=i;break}if(u>=s)throw RangeError(`Data too long`)}for(let e of[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH])l&&d<=t.getNumDataCodewords(u,e)*8&&(r=e);let f=[];for(let t of e){n(t.mode.modeBits,4,f),n(t.numChars,t.mode.numCharCountBits(u),f);for(let e of t.getData())f.push(e)}i(f.length==d);let p=t.getNumDataCodewords(u,r)*8;i(f.length<=p),n(0,Math.min(4,p-f.length),f),n(0,(8-f.length%8)%8,f),i(f.length%8==0);for(let e=236;f.length<p;e^=253)n(e,8,f);let m=[];for(;m.length*8<f.length;)m.push(0);return f.forEach((e,t)=>m[t>>>3]|=e<<7-(t&7)),new t(u,r,m,c)}getModule(e,t){return 0<=e&&e<this.size&&0<=t&&t<this.size&&this.modules[t][e]}getModules(){return this.modules}drawFunctionPatterns(){for(let e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0),this.setFunctionModule(e,6,e%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);let e=this.getAlignmentPatternPositions(),t=e.length;for(let n=0;n<t;n++)for(let r=0;r<t;r++)n==0&&r==0||n==0&&r==t-1||n==t-1&&r==0||this.drawAlignmentPattern(e[n],e[r]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){let t=this.errorCorrectionLevel.formatBits<<3|e,n=t;for(let e=0;e<10;e++)n=n<<1^(n>>>9)*1335;let a=(t<<10|n)^21522;i(a>>>15==0);for(let e=0;e<=5;e++)this.setFunctionModule(8,e,r(a,e));this.setFunctionModule(8,7,r(a,6)),this.setFunctionModule(8,8,r(a,7)),this.setFunctionModule(7,8,r(a,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,r(a,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,r(a,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,r(a,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;i(t>>>18==0);for(let e=0;e<18;e++){let n=r(t,e),i=this.size-11+e%3,a=Math.floor(e/3);this.setFunctionModule(i,a,n),this.setFunctionModule(a,i,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;0<=a&&a<this.size&&0<=o&&o<this.size&&this.setFunctionModule(a,o,i!=2&&i!=4)}}drawAlignmentPattern(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.setFunctionModule(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!=1)}setFunctionModule(e,t,n){this.modules[t][e]=n,this.isFunction[t][e]=!0}addEccAndInterleave(e){let n=this.version,r=this.errorCorrectionLevel;if(e.length!=t.getNumDataCodewords(n,r))throw RangeError(`Invalid argument`);let a=t.NUM_ERROR_CORRECTION_BLOCKS[r.ordinal][n],o=t.ECC_CODEWORDS_PER_BLOCK[r.ordinal][n],s=Math.floor(t.getNumRawDataModules(n)/8),c=a-s%a,l=Math.floor(s/a),u=[],d=t.reedSolomonComputeDivisor(o);for(let n=0,r=0;n<a;n++){let i=e.slice(r,r+l-o+(n<c?0:1));r+=i.length;let a=t.reedSolomonComputeRemainder(i,d);n<c&&i.push(0),u.push(i.concat(a))}let f=[];for(let e=0;e<u[0].length;e++)u.forEach((t,n)=>{(e!=l-o||n>=c)&&f.push(t[e])});return i(f.length==s),f}drawCodewords(e){if(e.length!=Math.floor(t.getNumRawDataModules(this.version)/8))throw RangeError(`Invalid argument`);let n=0;for(let t=this.size-1;t>=1;t-=2){t==6&&(t=5);for(let i=0;i<this.size;i++)for(let a=0;a<2;a++){let o=t-a,s=t+1&2?i:this.size-1-i;!this.isFunction[s][o]&&n<e.length*8&&(this.modules[s][o]=r(e[n>>>3],7-(n&7)),n++)}}i(n==e.length*8)}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t<this.size;t++)for(let n=0;n<this.size;n++){let r;switch(e){case 0:r=(n+t)%2==0;break;case 1:r=t%2==0;break;case 2:r=n%3==0;break;case 3:r=(n+t)%3==0;break;case 4:r=(Math.floor(n/3)+Math.floor(t/2))%2==0;break;case 5:r=n*t%2+n*t%3==0;break;case 6:r=(n*t%2+n*t%3)%2==0;break;case 7:r=((n+t)%2+n*t%3)%2==0;break;default:throw Error(`Unreachable`)}!this.isFunction[t][n]&&r&&(this.modules[t][n]=!this.modules[t][n])}}getPenaltyScore(){let e=0;for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[n][o]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[n][o],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[o][n]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[o][n],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size-1;n++)for(let r=0;r<this.size-1;r++){let i=this.modules[n][r];i==this.modules[n][r+1]&&i==this.modules[n+1][r]&&i==this.modules[n+1][r+1]&&(e+=t.PENALTY_N2)}let n=0;for(let e of this.modules)n=e.reduce((e,t)=>e+ +!!t,n);let r=this.size*this.size,a=Math.ceil(Math.abs(n*20-r*10)/r)-1;return i(0<=a&&a<=9),e+=a*t.PENALTY_N4,i(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(this.version==1)return[];{let e=Math.floor(this.version/7)+2,t=this.version==32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.length<e;r-=t)n.splice(1,0,r);return n}}static getNumRawDataModules(e){if(e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version number out of range`);let n=(16*e+128)*e+64;if(e>=2){let t=Math.floor(e/7)+2;n-=(25*t-10)*t-55,e>=7&&(n-=36)}return i(208<=n&&n<=29648),n}static getNumDataCodewords(e,n){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[n.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let n=[];for(let t=0;t<e-1;t++)n.push(0);n.push(1);let r=1;for(let i=0;i<e;i++){for(let e=0;e<n.length;e++)n[e]=t.reedSolomonMultiply(n[e],r),e+1<n.length&&(n[e]^=n[e+1]);r=t.reedSolomonMultiply(r,2)}return n}static reedSolomonComputeRemainder(e,n){let r=n.map(e=>0);for(let i of e){let e=i^r.shift();r.push(0),n.forEach((n,i)=>r[i]^=t.reedSolomonMultiply(n,e))}return r}static reedSolomonMultiply(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return i(n>>>8==0),n}finderPenaltyCountPatterns(e){let t=e[1];i(t<=this.size*3);let n=t>0&&e[2]==t&&e[3]==t*3&&e[4]==t&&e[5]==t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]==0&&(e+=this.size),t.pop(),t.unshift(e)}};t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],e.QrCode=t;function n(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function r(e,t){return(e>>>t&1)!=0}function i(e){if(!e)throw Error(`Assertion error`)}let a=class e{constructor(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw RangeError(`Invalid argument`);this.bitData=n.slice()}static makeBytes(t){let r=[];for(let e of t)n(e,8,r);return new e(e.Mode.BYTE,t.length,r)}static makeNumeric(t){if(!e.isNumeric(t))throw RangeError(`String contains non-numeric characters`);let r=[];for(let e=0;e<t.length;){let i=Math.min(t.length-e,3);n(parseInt(t.substring(e,e+i),10),i*3+1,r),e+=i}return new e(e.Mode.NUMERIC,t.length,r)}static makeAlphanumeric(t){if(!e.isAlphanumeric(t))throw RangeError(`String contains unencodable characters in alphanumeric mode`);let r=[],i;for(i=0;i+2<=t.length;i+=2){let a=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i))*45;a+=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i+1)),n(a,11,r)}return i<t.length&&n(e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i)),6,r),new e(e.Mode.ALPHANUMERIC,t.length,r)}static makeSegments(t){return t==``?[]:e.isNumeric(t)?[e.makeNumeric(t)]:e.isAlphanumeric(t)?[e.makeAlphanumeric(t)]:[e.makeBytes(e.toUtf8ByteArray(t))]}static makeEci(t){let r=[];if(t<0)throw RangeError(`ECI assignment value out of range`);if(t<128)n(t,8,r);else if(t<16384)n(2,2,r),n(t,14,r);else if(t<1e6)n(6,3,r),n(t,21,r);else throw RangeError(`ECI assignment value out of range`);return new e(e.Mode.ECI,0,r)}static isNumeric(t){return e.NUMERIC_REGEX.test(t)}static isAlphanumeric(t){return e.ALPHANUMERIC_REGEX.test(t)}getData(){return this.bitData.slice()}static getTotalBits(e,t){let n=0;for(let r of e){let e=r.mode.numCharCountBits(t);if(r.numChars>=1<<e)return 1/0;n+=4+e+r.bitData.length}return n}static toUtf8ByteArray(e){e=encodeURI(e);let t=[];for(let n=0;n<e.length;n++)e.charAt(n)==`%`?(t.push(parseInt(e.substring(n+1,n+3),16)),n+=2):t.push(e.charCodeAt(n));return t}};a.NUMERIC_REGEX=/^[0-9]*$/,a.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,a.ALPHANUMERIC_CHARSET=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`;let o=a;e.QrSegment=a})(Hr||={}),(e=>{(e=>{let t=class{constructor(e,t){this.ordinal=e,this.formatBits=t}};t.LOW=new t(0,1),t.MEDIUM=new t(1,0),t.QUARTILE=new t(2,3),t.HIGH=new t(3,2),e.Ecc=t})(e.QrCode||={})})(Hr||={}),(e=>{(e=>{let t=class{constructor(e,t){this.modeBits=e,this.numBitsCharCount=t}numCharCountBits(e){return this.numBitsCharCount[Math.floor((e+7)/17)]}};t.NUMERIC=new t(1,[10,12,14]),t.ALPHANUMERIC=new t(2,[9,11,13]),t.BYTE=new t(4,[8,16,16]),t.KANJI=new t(8,[8,10,12]),t.ECI=new t(7,[0,0,0]),e.Mode=t})(e.QrSegment||={})})(Hr||={});var Ur=Hr,Wr={L:Ur.QrCode.Ecc.LOW,M:Ur.QrCode.Ecc.MEDIUM,Q:Ur.QrCode.Ecc.QUARTILE,H:Ur.QrCode.Ecc.HIGH},Gr=128,Kr=`L`,qr=`#FFFFFF`,Jr=`#000000`,Yr=!1,Xr=1,Zr=4,Qr=0,$r=.1;function ei(e,t=0){let n=[];return e.forEach(function(e,r){let i=null;e.forEach(function(a,o){if(!a&&i!==null){n.push(`M${i+t} ${r+t}h${o-i}v1H${i+t}z`),i=null;return}if(o===e.length-1){if(!a)return;i===null?n.push(`M${o+t},${r+t} h1v1H${o+t}z`):n.push(`M${i+t},${r+t} h${o+1-i}v1H${i+t}z`);return}a&&i===null&&(i=o)})}),n.join(``)}function ti(e,t){return e.slice().map((e,n)=>n<t.y||n>=t.y+t.h?e:e.map((e,n)=>n<t.x||n>=t.x+t.w?e:!1))}function ni(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*$r),o=i/t,s=(r.width||a)*o,c=(r.height||a)*o,l=r.x==null?e.length/2-s/2:r.x*o,u=r.y==null?e.length/2-c/2:r.y*o,d=r.opacity==null?1:r.opacity,f=null;if(r.excavate){let e=Math.floor(l),t=Math.floor(u);f={x:e,y:t,w:Math.ceil(s+l-e),h:Math.ceil(c+u-t)}}let p=r.crossOrigin;return{x:l,y:u,h:c,w:s,excavation:f,opacity:d,crossOrigin:p}}function ri(e,t){return t==null?e?Zr:Qr:Math.max(Math.floor(t),0)}function ii({value:e,level:t,minVersion:n,includeMargin:r,marginSize:i,imageSettings:a,size:o,boostLevel:s}){let c=X.useMemo(()=>{let r=(Array.isArray(e)?e:[e]).reduce((e,t)=>(e.push(...Ur.QrSegment.makeSegments(t)),e),[]);return Ur.QrCode.encodeSegments(r,Wr[t],n,void 0,void 0,s)},[e,t,n,s]),{cells:l,margin:u,numCells:d,calculatedImageSettings:f}=X.useMemo(()=>{let e=c.getModules(),t=ri(r,i);return{cells:e,margin:t,numCells:e.length+t*2,calculatedImageSettings:ni(e,o,t,a)}},[c,o,a,r,i]);return{qrcode:c,margin:u,cells:l,numCells:d,calculatedImageSettings:f}}var ai=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),oi=X.forwardRef(function(e,t){let n=e,{value:r,size:i=Gr,level:a=Kr,bgColor:o=qr,fgColor:s=Jr,includeMargin:c=Yr,minVersion:l=Xr,boostLevel:u,marginSize:d,imageSettings:f}=n,p=Vr(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`marginSize`,`imageSettings`]),{style:m}=p,h=Vr(p,[`style`]),g=f?.src,_=X.useRef(null),v=X.useRef(null),y=X.useCallback(e=>{_.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]),[b,x]=X.useState(!1),{margin:S,cells:C,numCells:w,calculatedImageSettings:T}=ii({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:d,imageSettings:f,size:i});X.useEffect(()=>{if(_.current!=null){let e=_.current,t=e.getContext(`2d`);if(!t)return;let n=C,r=v.current,a=T!=null&&r!==null&&r.complete&&r.naturalHeight!==0&&r.naturalWidth!==0;a&&T.excavation!=null&&(n=ti(C,T.excavation));let c=window.devicePixelRatio||1;e.height=e.width=i*c;let l=i/w*c;t.scale(l,l),t.fillStyle=o,t.fillRect(0,0,w,w),t.fillStyle=s,ai?t.fill(new Path2D(ei(n,S))):C.forEach(function(e,n){e.forEach(function(e,r){e&&t.fillRect(r+S,n+S,1,1)})}),T&&(t.globalAlpha=T.opacity),a&&t.drawImage(r,T.x+S,T.y+S,T.w,T.h)}}),X.useEffect(()=>{x(!1)},[g]);let E=Br({height:i,width:i},m),D=null;return g!=null&&(D=X.createElement(`img`,{src:g,key:g,style:{display:`none`},onLoad:()=>{x(!0)},ref:v,crossOrigin:T?.crossOrigin})),X.createElement(X.Fragment,null,X.createElement(`canvas`,Br({style:E,height:i,width:i,ref:y,role:`img`},h)),D)});oi.displayName=`QRCodeCanvas`;var si=X.forwardRef(function(e,t){let n=e,{value:r,size:i=Gr,level:a=Kr,bgColor:o=qr,fgColor:s=Jr,includeMargin:c=Yr,minVersion:l=Xr,boostLevel:u,title:d,marginSize:f,imageSettings:p}=n,m=Vr(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`title`,`marginSize`,`imageSettings`]),{margin:h,cells:g,numCells:_,calculatedImageSettings:v}=ii({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:f,imageSettings:p,size:i}),y=g,b=null;p!=null&&v!=null&&(v.excavation!=null&&(y=ti(g,v.excavation)),b=X.createElement(`image`,{href:p.src,height:v.h,width:v.w,x:v.x+h,y:v.y+h,preserveAspectRatio:`none`,opacity:v.opacity,crossOrigin:v.crossOrigin}));let x=ei(y,h);return X.createElement(`svg`,Br({height:i,width:i,viewBox:`0 0 ${_} ${_}`,ref:t,role:`img`},m),!!d&&X.createElement(`title`,null,d),X.createElement(`path`,{fill:o,d:`M0,0 h${_}v${_}H0z`,shapeRendering:`crispEdges`}),X.createElement(`path`,{fill:s,d:x,shapeRendering:`crispEdges`}),b)});si.displayName=`QRCodeSVG`;function ci(e,t){if(!Number.isFinite(t)||t<=0)return e(`pairDeviceReady.singleUse`);let n=Math.ceil(t/1e3);return e(`pairDeviceReady.expiresIn`,{time:`${Math.floor(n/60)}:${(n%60).toString().padStart(2,`0`)}`})}function li({pairUrl:e,remainingMs:t,expired:n,copied:r,onCopy:i}){let{t:a}=l(`settings`);return n?(0,Z.jsx)(B,{tone:`warning`,title:a(`pairDeviceReady.expiredTitle`),children:a(`pairDeviceReady.expiredBody`)}):(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Z.jsx)(`div`,{className:`w-fit rounded-lg bg-white p-3`,children:(0,Z.jsx)(si,{value:e,size:192,level:`M`,title:a(`pairDeviceReady.qrTitle`)})}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`code`,{"data-testid":`pair-device-url`,className:`min-w-0 flex-1 truncate rounded-md bg-[var(--surface-active)] px-2.5 py-1.5 text-body-small-default text-[var(--content-secondary)]`,children:e}),(0,Z.jsx)(d,{variant:`outlined`,size:`compact`,leftIcon:r?(0,Z.jsx)(T,{}):(0,Z.jsx)(x,{}),onClick:()=>i(e),children:a(r?`pairDeviceReady.copiedButton`:`pairDeviceReady.copyButton`)})]}),(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:ci(a,t)})]})}var ui=3e4;function di(e){let[,t]=(0,X.useState)(0);(0,X.useEffect)(()=>{if(!e)return;let n=setInterval(()=>t(e=>e+1),ui);return()=>clearInterval(n)},[e])}function fi(e){return ce(typeof e==`string`?new Date(e).getTime():e,{locale:c(),minimumUnit:`minute`})}var pi=5e3,mi=6e4;function hi({pollWhilePairing:e=!1,revalidateKey:t,isExpanded:n=!1}={}){let[r,i]=(0,X.useState)(null),[a,o]=(0,X.useState)(null),[s,c]=(0,X.useState)(!1),[l,u]=(0,X.useState)(null),d=(0,X.useRef)(!0),f=(0,X.useRef)(0);(0,X.useEffect)(()=>(d.current=!0,()=>{d.current=!1}),[]);let p=(0,X.useCallback)((e=Le()?.assistantId)=>{if(!e)return;i(t=>t&&t.assistantId!==e?null:t);let t=++f.current;Ae(e).then(n=>{!d.current||t!==f.current||i(n.ok?{assistantId:e,devices:n.devices}:null)})},[]),m=We.use.selectedAssistantId()??Le()?.assistantId;(0,X.useEffect)(()=>{o(null),u(null),p(m)},[m,p]);let h=(0,X.useRef)(t);(0,X.useEffect)(()=>{t!==h.current&&(h.current=t,p(m))},[t,m,p]);let g=(0,X.useRef)(!1);(0,X.useEffect)(()=>{if(e&&!s){g.current=!0;let e=setInterval(()=>p(),pi);return()=>clearInterval(e)}!e&&g.current&&(g.current=!1,p())},[e,s,p]);let _=(r?.devices.length??0)>0;(0,X.useEffect)(()=>{if(!n||!_||e||s)return;let t=setInterval(()=>p(),mi);return()=>clearInterval(t)},[n,_,e,s,p]);let v=(0,X.useCallback)(e=>{u(null),o(e)},[]),y=(0,X.useCallback)(()=>{o(null),u(null)},[]),b=(0,X.useCallback)(()=>{!r||!a||s||(c(!0),u(null),Ee(r.assistantId,a.hashedDeviceId).then(e=>{d.current&&(c(!1),e.ok?(o(null),p()):u(e.error))}))},[r,a,s,p]);return{devices:r?.devices??null,confirmTarget:a,isRevoking:s,revokeError:l,requestRevoke:v,cancelRevoke:y,confirmRevoke:b}}var gi=600*1e3,_i=`paired-devices`;function vi(e){return e.slice(0,12)}function yi(e,t){return t?t.charAt(0).toUpperCase()+t.slice(1):e(`pairedDevicesSection.platformUnknown`)}function bi(e,t){return t===null?e(`pairedDevicesSection.dateUnknown`):new Date(t).toLocaleDateString(c())}function xi(e,t){let n=bi(e,t.issuedAt);return t.lastUsedAt===null?e(`pairedDevicesSection.pairedLine`,{paired:n}):Date.now()-t.lastUsedAt<=gi?e(`pairedDevicesSection.pairedActiveLine`,{paired:n}):e(`pairedDevicesSection.pairedAndUsedLine`,{paired:n,lastUsed:fi(t.lastUsedAt)})}function Si({pollWhilePairing:e=!1,revalidateKey:t}={}){let{t:n}=l(`settings`),[r,i]=(0,X.useState)(!1),a=hi({pollWhilePairing:e,revalidateKey:t,isExpanded:r}),{devices:o,confirmTarget:s}=a;di(o?.some(e=>e.lastUsedAt!==null)??!1);let c=(0,X.useMemo)(()=>o===null?null:[...o].sort((e,t)=>(t.lastUsedAt??0)-(e.lastUsedAt??0)),[o]);return c===null||c.length===0?null:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(V.Root,{type:`multiple`,value:r?[_i]:[],onValueChange:e=>i(e.includes(_i)),children:(0,Z.jsxs)(V.Item,{value:_i,children:[(0,Z.jsxs)(V.Trigger,{className:`group flex w-full items-center justify-between gap-3`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:n(`pairedDevicesSection.title`,{count:c.length})}),(0,Z.jsx)(E,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]}),(0,Z.jsx)(V.Content,{children:(0,Z.jsx)(`div`,{className:`mt-3 flex flex-col gap-3`,children:c.map(e=>(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,Z.jsxs)(`span`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:[yi(n,e.platform),` `,(0,Z.jsx)(`span`,{className:`font-mono text-[var(--content-tertiary)]`,title:e.hashedDeviceId,children:vi(e.hashedDeviceId)}),e.isCurrentHost&&(0,Z.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:` · ${n(`pairedDevicesSection.thisMachine`)}`})]}),(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:xi(n,e)})]}),(0,Z.jsx)(d,{variant:`dangerOutline`,size:`compact`,className:`shrink-0`,disabled:e.isCurrentHost===!0,title:e.isCurrentHost?n(`pairedDevicesSection.hostRevokeDisabledTitle`):void 0,onClick:()=>a.requestRevoke(e),children:n(`pairedDevicesSection.revokeButton`)})]},e.hashedDeviceId))})})]})}),(0,Z.jsx)(Se,{open:s!==null,title:n(`pairedDevicesSection.confirmTitle`),message:s&&(0,Z.jsxs)(Z.Fragment,{children:[n(`pairedDevicesSection.confirmMessage`,{platform:yi(n,s.platform),hash:vi(s.hashedDeviceId)}),a.revokeError&&(0,Z.jsx)(`span`,{className:`mt-2 block text-[var(--system-negative-strong)]`,children:a.revokeError})]}),confirmLabel:n(`pairedDevicesSection.revokeButton`),destructive:!0,isPending:a.isRevoking,onConfirm:a.confirmRevoke,onCancel:a.cancelRevoke})]})}var Ci=5e3;function wi(e,t){return e.length===t.length&&t.every((t,n)=>e[n]?.requestId===t.requestId)}function Ti(e,t){let[n,r]=(0,X.useState)([]),[o,s]=(0,X.useState)(null),[c,l]=(0,X.useState)(null),[u,d]=(0,X.useState)(null),f=(0,X.useRef)(null),p=(0,X.useRef)(null),[m,h]=(0,X.useState)(e);e!==m&&(h(e),r([]),s(null),l(null),d(null)),(0,X.useEffect)(()=>()=>{p.current?.abort(),p.current=null},[e]),(0,X.useEffect)(()=>{let t=async()=>{f.current?.abort();let t=new AbortController;f.current=t;try{let n=await jr({base:e,signal:t.signal});if(t.signal.aborted)return;r(e=>wi(e,n)?e:n),d(e=>e&&!e.sticky&&!n.some(t=>t.requestId===e.requestId)?null:e),l(null)}catch(e){if(t.signal.aborted)return;if(e instanceof Sr){l(e.message);return}a(e,{context:`pair-device-pending-requests-poll`}),l(i(`settings:usePendingPairingRequests.pollErrorFallback`))}};t();let n=setInterval(()=>void t(),Ci);return()=>{clearInterval(n),f.current?.abort()}},[e]);let g=(0,X.useCallback)(async(n,o)=>{if(p.current)return;let c=new AbortController;p.current=c,s({requestId:n,action:o}),d(null);let l=()=>{f.current?.abort(),r(e=>e.filter(e=>e.requestId!==n))};try{if(await(o===`approve`?Nr:Pr)({base:e,requestId:n,signal:c.signal}),c.signal.aborted)return;l(),o===`approve`&&t?.()}catch(e){if(c.signal.aborted)return;e instanceof Sr?o===`deny`&&e.status===409&&e.code===`ALREADY_APPROVED`?(l(),t?.(),d({requestId:n,message:i(`settings:usePendingPairingRequests.denyAlreadyApproved`),sticky:!0})):e.status===404||e.status===410?l():d({requestId:n,message:e.message}):(a(e,{context:`pair-device-pending-request-action`}),d({requestId:n,message:i(`settings:usePendingPairingRequests.actionErrorFallback`)}))}finally{p.current===c&&(p.current=null),c.signal.aborted||s(null)}},[e,t]),_=(0,X.useCallback)(e=>g(e,`approve`),[g]),v=(0,X.useCallback)(e=>g(e,`deny`),[g]);return{requests:n,actingOn:o,error:u?.message??c,approve:_,deny:v}}function Ei({base:e,onApproved:t}){let{t:n}=l(`settings`),{requests:r,actingOn:i,error:a,approve:o,deny:s}=Ti(e,t);return di(r.length>0),r.length===0&&!a?null:(0,Z.jsxs)(`section`,{className:`flex flex-col gap-3 border-t border-[var(--border-element)] pt-4`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:n(`pendingPairingRequests.title`)}),(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n(`pendingPairingRequests.instruction`)})]}),a&&(0,Z.jsx)(B,{tone:`error`,title:a}),r.length>0&&(0,Z.jsx)(`ul`,{className:`flex flex-col gap-2`,children:r.map(e=>{let t=i!==null&&i.requestId===e.requestId?i.action:null,r=t===`approve`,a=t===`deny`;return(0,Z.jsxs)(`li`,{className:`flex flex-col gap-2 rounded-lg border border-[var(--border-element)] p-3`,children:[(0,Z.jsx)(`code`,{className:y(`rounded-md bg-[var(--surface-active)] text-body-small-default text-[color:var(--content-primary)]`,`w-fit px-2.5 py-1.5 text-title-medium tracking-wide text-[color:var(--content-emphasised)]`),children:e.userCode}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e.viaEdgeProxy===!1?n(`pendingPairingRequests.requestedMetaHost`,{when:fi(e.requestedAt)}):n(`pendingPairingRequests.requestedMeta`,{when:fi(e.requestedAt),ip:e.requesterIp})}),e.requesterUserAgent&&(0,Z.jsx)(`p`,{className:`truncate text-body-small-default text-[var(--content-tertiary)]`,title:e.requesterUserAgent,children:e.requesterUserAgent})]}),(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(d,{variant:`primary`,size:`compact`,disabled:i!==null,"aria-busy":r||void 0,leftIcon:r?(0,Z.jsx)(j,{className:`animate-spin`}):void 0,onClick:()=>void o(e.requestId),children:n(`pendingPairingRequests.approveButton`)}),(0,Z.jsx)(d,{variant:`dangerOutline`,size:`compact`,disabled:i!==null,"aria-busy":a||void 0,leftIcon:a?(0,Z.jsx)(j,{className:`animate-spin`}):void 0,onClick:()=>void s(e.requestId),children:n(`pendingPairingRequests.denyButton`)})]})]},e.requestId)})})]})}function Di({onRefresh:e,isRefreshing:t,labelled:n=!1}){let{t:r}=l(`settings`),i=r(`tunnelStatusRow.refreshLabel`),a=(0,Z.jsx)(oe,{className:t?`animate-spin`:void 0});return n?(0,Z.jsx)(d,{variant:`outlined`,size:`compact`,leftIcon:a,disabled:t,onClick:e,children:i}):(0,Z.jsx)(d,{variant:`ghost`,size:`compact`,iconOnly:a,"aria-label":i,disabled:t,onClick:e})}function Oi(e){return`publicBaseUrl`in e&&e.publicBaseUrl?e.publicBaseUrl:null}function ki(e){return`checkedAt`in e&&e.checkedAt?e.checkedAt:null}function Ai(e,t){let n=t?.trim();return n?`vellum tunnel ${Mi(n)} --provider ${e}`:`vellum tunnel --provider ${e}`}var ji=/^[A-Za-z0-9._-]+$/;function Mi(e){return ji.test(e)?e:`'${e.replace(/'/g,`'\\''`)}'`}var Ni={checking:`var(--content-tertiary)`,stopped:`var(--content-tertiary)`,healthy:`var(--system-positive-strong)`,unpairable:`var(--system-mid-strong)`,unreachable:`var(--system-mid-strong)`,foreign:`var(--system-negative-strong)`},Pi=`text-body-small-default text-[var(--content-tertiary)]`,Fi=`truncate ${Pi}`;function Ii({status:e,onRefresh:t,isRefreshing:n,assistantName:r=null}){let{t:i}=l(`settings`);if(e.kind===`unconfigured`||e.kind===`unavailable`)return null;let a=ki(e),o=Oi(e),s=`provider`in e?e.provider:void 0,c=`detail`in e?e.detail:void 0;return(0,Z.jsxs)(`div`,{className:`flex items-start gap-2.5 rounded-lg border border-[var(--border-element)] px-3 py-2.5`,children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`mt-1.5 inline-block h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:Ni[e.kind]}}),(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-default)]`,children:Li(e,i)}),c&&(0,Z.jsx)(`p`,{className:Fi,title:c,children:c}),s&&(0,Z.jsx)(`p`,{className:Pi,children:(0,Z.jsx)(Ge,{i18nKey:e.kind===`stopped`?`tunnelStatusRow.stoppedRestart`:`tunnelStatusRow.restartHint`,ns:`settings`,values:{command:Ai(s,r)},components:{code:(0,Z.jsx)(`code`,{className:y(`rounded-md bg-[var(--surface-active)] text-body-small-default text-[color:var(--content-primary)]`,`px-1.5 py-0.5`)})}})}),o&&(0,Z.jsx)(`p`,{className:Fi,title:o,children:o}),a&&(0,Z.jsx)(`p`,{className:Pi,children:i(`tunnelStatusRow.checkedAt`,{when:fi(a)})})]}),(0,Z.jsx)(Di,{onRefresh:t,isRefreshing:n})]})}function Li(e,t){switch(e.kind){case`checking`:return t(`tunnelStatusRow.checkingStatus`);case`stopped`:return t(`tunnelStatusRow.stoppedStatus`);case`healthy`:return t(`tunnelStatusRow.healthyStatus`);case`unpairable`:return t(`tunnelStatusRow.unpairableStatus`);case`unreachable`:return t(`tunnelStatusRow.unreachableStatus`);case`foreign`:return e.servingAssistantName?t(`tunnelStatusRow.foreignStatusNamed`,{name:e.servingAssistantName}):t(`tunnelStatusRow.foreignStatus`)}}var Ri=`vellum:pair-device:public-base-url`;function zi(e){let t=e?.trim();if(t)return{url:t,source:`tunnel`};let n=Ve(Ri,``).trim();return n?{url:n,source:`stored`}:{url:``,source:`none`}}function Bi(e,t){let n=(0,X.useMemo)(()=>zi(t),[t]),[r,o]=(0,X.useState)(null),s=r??n.url,[c,l]=(0,X.useState)(null),[u,d]=(0,X.useState)({kind:`idle`}),[f,p]=(0,X.useState)(()=>Date.now()),m=(0,X.useRef)(null);(0,X.useEffect)(()=>()=>m.current?.abort(),[]),(0,X.useEffect)(()=>{if(u.kind!==`ready`)return;p(Date.now());let e=setInterval(()=>p(Date.now()),1e3);return()=>clearInterval(e)},[u]);let h=(0,X.useCallback)(e=>{o(e),l(null)},[]),g=(0,X.useCallback)(()=>{if(!e)return;let t=s.trim(),n=pr(t);if(!n.ok){l(hr(n.reason,t));return}l(null),m.current?.abort();let r=new AbortController;m.current=r,d({kind:`minting`}),(async()=>{try{let t=await kr({base:e,publicBaseUrl:n.url,signal:r.signal});if(r.signal.aborted)return;He(Ri,n.url),d({kind:`ready`,pairUrl:t.pairUrl,expiresAtMs:Date.parse(t.expiresAt)})}catch(e){if(r.signal.aborted)return;if(e instanceof Sr){d({kind:`error`,message:e.message,hint:e.hint});return}a(e,{context:`pair-device-mint`}),d({kind:`error`,message:i(`settings:usePairDevice.mintErrorFallback`)})}})()},[e,s]),_=u.kind===`ready`?Math.max(0,u.expiresAtMs-f):0,v=u.kind===`ready`&&_<=0;return{publicBaseUrl:s,setPublicBaseUrl:h,prefillSource:n.source,inputError:c,phase:u,remainingMs:_,expired:v,generate:g}}var Vi=`0.11.6`;function Hi(e){return Ye(Vi,e)}function Ui(e){let t=fn(),n=Hi(t),r=Et(),i=e&&n&&r,{data:a,isFetching:o,refetch:s}=g({...Dt({path:{assistant_id:t}}),enabled:i,staleTime:0,refetchOnWindowFocus:!1}),c=(0,X.useCallback)(()=>{i&&s()},[i,s]);return{status:Wi(a,o),isRefreshing:o,refresh:c}}function Wi(e,t){if(!e)return t?{kind:`checking`}:{kind:`unavailable`};let{lastTunnel:n}=e,r=e.publicBaseUrl??``,i=e.checkedAt??``,a=n?{provider:n.provider}:{};switch(e.state){case`unconfigured`:return{kind:`unconfigured`};case`stopped`:return{kind:`stopped`,...a,...n?{publicBaseUrl:n.publicBaseUrl}:{}};case`healthy`:return{kind:`healthy`,publicBaseUrl:r,checkedAt:i};case`unpairable`:case`unreachable`:return{kind:e.state,publicBaseUrl:r,checkedAt:i,...e.detail?{detail:e.detail}:{},...a};case`foreign`:return{kind:`foreign`,publicBaseUrl:r,checkedAt:i,...e.servingAssistantName?{servingAssistantName:e.servingAssistantName}:{},...a};default:return{kind:`unavailable`}}}var Gi=`tailscale`,Ki=`public-url`,qi=new Set([`unpairable`,`unreachable`,`foreign`]),Ji=`vellum tunnel --help`;function Yi(){let{t:e}=l(`settings`),t=wr(),n=sr(),r=q.use.pairedDevicesUI(),i=Ui(n&&t!==null),a=i.status.kind!==`unavailable`;Ot(`app.resume`,()=>{i.refresh()}),di(ki(i.status)!==null);let o=i.status.kind===`stopped`?null:Oi(i.status),s=Bi(t?.base??null,a?o:t?.ingressUrl??null),[c,u]=(0,X.useState)(0),[f,p]=(0,X.useState)(!1),{copy:m,copied:h}=pn({errorMessage:e(`pairDeviceCard.copyError`)});if(!t||!n)return null;let g=t.assistantName??e(`pairDeviceCard.subtitleFallbackName`),{phase:_}=s,v=_.kind===`minting`,b=_.kind===`ready`,x=s.prefillSource===`tunnel`,S=a?i.status.kind===`unconfigured`:s.prefillSource===`none`&&s.publicBaseUrl.trim()===``,C=S&&a,w=a&&qi.has(i.status.kind),T=e(v?`pairDeviceCard.generateButtonMinting`:b?`pairDeviceCard.generateButtonRegenerate`:w?`pairDeviceCard.generateButtonWarned`:`pairDeviceCard.generateButton`),D=a&&o!==null,O=f||s.inputError!==null,k=(0,Z.jsx)(d,{variant:w?`outlined`:`primary`,className:`self-start`,disabled:v||s.publicBaseUrl.trim()===``,onClick:s.generate,children:T}),A=(0,Z.jsx)(H,{label:e(`pairDeviceCard.publicUrlLabel`),fullWidth:!0,placeholder:e(`pairDeviceCard.publicUrlPlaceholder`),helperText:e(x?`pairDeviceCard.publicUrlHelperTunnel`:`pairDeviceCard.publicUrlHelper`),value:s.publicBaseUrl,errorText:s.inputError??void 0,disabled:v,onChange:e=>{p(!0),s.setPublicBaseUrl(e.target.value)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),s.generate())}});return(0,Z.jsx)(Y,{title:e(`pairDeviceCard.title`),subtitle:e(`pairDeviceCard.subtitle`,{name:g}),children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[S&&(0,Z.jsx)(B,{tone:`info`,title:e(`pairDeviceCard.noTunnelTitle`),actions:C?(0,Z.jsx)(Di,{onRefresh:i.refresh,isRefreshing:i.isRefreshing,labelled:!0}):void 0,children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`p`,{children:e(`pairDeviceCard.noTunnelWhy`,{name:g})}),(0,Z.jsx)(`code`,{className:y(`rounded-md bg-[var(--surface-active)] text-body-small-default text-[color:var(--content-primary)]`,`w-fit max-w-full overflow-x-auto px-2.5 py-1.5`),children:Ai(Gi,t.assistantName)}),(0,Z.jsx)(`p`,{children:e(`pairDeviceCard.noTunnelNext`)}),(0,Z.jsx)(`p`,{children:(0,Z.jsx)(Ge,{i18nKey:`pairDeviceCard.noTunnelMore`,ns:`settings`,values:{command:Ji},components:{code:(0,Z.jsx)(`code`,{className:y(`rounded-md bg-[var(--surface-active)] text-body-small-default text-[color:var(--content-primary)]`,`px-1.5 py-0.5`)})}})})]})}),(0,Z.jsx)(Ii,{status:i.status,onRefresh:i.refresh,isRefreshing:i.isRefreshing,assistantName:t.assistantName}),(0,Z.jsx)(`div`,{className:`flex flex-col gap-3`,children:D?(0,Z.jsxs)(Z.Fragment,{children:[k,(0,Z.jsx)(V.Root,{type:`single`,collapsible:!0,value:O?Ki:``,onValueChange:e=>p(e===Ki),children:(0,Z.jsxs)(V.Item,{value:Ki,children:[(0,Z.jsxs)(V.Trigger,{className:`group flex w-full items-center justify-between gap-3`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:e(`pairDeviceCard.publicUrlDisclosure`)}),(0,Z.jsx)(E,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]}),(0,Z.jsx)(V.Content,{children:(0,Z.jsx)(`div`,{className:`mt-3`,children:A})})]})})]}):(0,Z.jsxs)(Z.Fragment,{children:[A,k]})}),_.kind===`error`&&(0,Z.jsx)(B,{tone:`error`,title:_.message,children:_.hint}),b&&(0,Z.jsx)(li,{pairUrl:_.pairUrl,remainingMs:s.remainingMs,expired:s.expired,copied:h,onCopy:m}),(0,Z.jsx)(Ei,{base:t.base,onApproved:()=>u(e=>e+1)}),r&&(0,Z.jsx)(Si,{pollWhilePairing:b&&!s.expired,revalidateKey:c})]})})}function Xi(e){return[{scope:`global`,title:e(`shortcutsSections.globalTitle`),description:e(`shortcutsSections.globalDescription`)},{scope:`menu`,title:e(`shortcutsSections.appTitle`),description:e(`shortcutsSections.appDescription`)}]}function Zi({hotkey:e,recording:t,conflictLabel:n,alternateBinding:r,onStartRecording:i,onCancelRecording:a,onReset:o,onRemove:s}){let{t:c}=l(`settings`),u=e.accelerator===``,f=e.override!==null;return(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-2`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`div`,{className:`truncate text-body-medium-lighter text-[var(--content-default)]`,children:e.label}),n!==null&&(0,Z.jsx)(`div`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:c(`shortcutsSections.alreadyUsedBy`,{label:n})})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[r,t?(0,Z.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:c(`shortcutsSections.recordingHint`)}):u?(0,Z.jsx)(`span`,{className:`text-body-small-default italic text-[var(--content-disabled)]`,children:c(`shortcutsSections.none`)}):(0,Z.jsx)(ye,{accelerator:e.accelerator}),t?(0,Z.jsx)(d,{variant:`ghost`,size:`compact`,onClick:a,children:c(`shortcutsSections.cancel`)}):(0,Z.jsx)(d,{variant:`outlined`,size:`compact`,onClick:i,"aria-label":c(`shortcutsSections.recordShortcutAriaLabel`,{label:e.label}),children:c(`shortcutsSections.record`)}),(0,Z.jsx)(d,{variant:`ghost`,size:`compact`,disabled:!f,leftIcon:(0,Z.jsx)(le,{className:`h-3.5 w-3.5`}),onClick:o,"aria-label":c(`shortcutsSections.resetShortcutAriaLabel`,{label:e.label})}),(0,Z.jsx)(d,{variant:`ghost`,size:`compact`,disabled:u,leftIcon:(0,Z.jsx)(me,{className:`h-3.5 w-3.5`}),onClick:s,"aria-label":c(`shortcutsSections.removeBindingAriaLabel`,{label:e.label})})]})]})}function Qi(){let{t:e}=l(`settings`),{catalog:t,recordingKey:n,conflict:r,startRecording:i,stopRecording:a,resetHotkey:o,removeHotkey:s}=Tn(),c=(0,X.useMemo)(()=>Xi(e).map(e=>({...e,commands:t.filter(t=>t.rebindable&&t.scope===e.scope)})).filter(e=>e.commands.length>0),[t,e]);return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[r!==null&&(0,Z.jsxs)(B,{tone:`warning`,children:[e(`shortcutsSections.conflictNoticePrefix`,{label:r.label}),` `,e(n===null?`shortcutsSections.conflictResetHint`:`shortcutsSections.conflictRecordingHint`)]}),c.map(e=>(0,Z.jsxs)(b,{bordered:!0,children:[(0,Z.jsxs)(`div`,{className:`mb-2`,children:[(0,Z.jsx)(`div`,{className:`text-body-medium-emphasised text-[var(--content-default)]`,children:e.title}),(0,Z.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e.description})]}),(0,Z.jsx)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:e.commands.map(e=>(0,Z.jsx)(Zi,{hotkey:e,recording:n===e.key,conflictLabel:r!==null&&r.key===e.key?r.label:null,onStartRecording:()=>i(e.key),onCancelRecording:a,onReset:()=>o(e.key),onRemove:()=>s(e.key)},e.key))})]},e.scope))]})}async function $i(){if(!Ue())return!1;let e=window.vellum;return e?.launchAtLogin?e.launchAtLogin.get():!1}async function ea(e){if(!Ue())return;let t=window.vellum;t?.launchAtLogin&&await t.launchAtLogin.set(e)}function ta(){let{t:e}=l(`settings`),t=ne.useValue(),n=z.useValue(),r=!en(),i=St();return(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:e(`preferencesModal.composerTitle`)}),(0,Z.jsxs)(`div`,{className:`mt-2 space-y-4`,children:[r&&(0,Z.jsx)(xe,{checked:t,onChange:ne.save,label:e(i?`preferencesModal.sendWithCmdEnter`:`preferencesModal.sendWithCtrlEnter`),helperText:e(i?`preferencesModal.sendWithCmdEnterHelper`:`preferencesModal.sendWithCtrlEnterHelper`)}),(0,Z.jsx)(xe,{checked:n,onChange:z.save,label:e(`preferencesModal.showContextWindow`),helperText:e(`preferencesModal.showContextWindowHelper`)})]})]})}function na(){let{t:e}=l(`settings`),[t,n]=(0,X.useState)(!1);(0,X.useEffect)(()=>{$i().then(n)},[]);let r=async e=>{n(e);try{await ea(e)}catch{n(!e)}};return(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:e(`preferencesModal.launchAtLoginTitle`)}),(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e(`preferencesModal.launchAtLoginDescription`)}),(0,Z.jsx)(`div`,{className:`mt-2`,children:(0,Z.jsx)(xe,{checked:t,onChange:e=>void r(e),"aria-label":e(`preferencesModal.launchAtLoginAriaLabel`)})})]})}function ra({open:e,onClose:t}){let{t:n}=l(`settings`);return(0,Z.jsx)(U.Root,{open:e,onOpenChange:e=>{e||t()},children:(0,Z.jsxs)(U.Content,{size:`lg`,children:[(0,Z.jsxs)(U.Header,{children:[(0,Z.jsx)(U.Title,{children:n(`preferencesModal.title`)}),(0,Z.jsx)(U.Description,{children:n(`preferencesModal.description`)})]}),(0,Z.jsx)(U.Body,{children:(0,Z.jsxs)(`div`,{className:`space-y-6`,children:[Ue()&&(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:n(`preferencesModal.keyboardShortcutsTitle`)}),(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:n(`preferencesModal.keyboardShortcutsDescription`)}),(0,Z.jsx)(`div`,{className:`mt-2`,children:(0,Z.jsx)(Qi,{})})]}),(0,Z.jsx)(ta,{}),Ue()&&(0,Z.jsx)(na,{})]})})]})})}function ia(e){return e===`preview`?`preview`:`stable`}function aa(e,t){if(!e)return t;let n=new Date(e);return Number.isNaN(n.getTime())?t:n.toLocaleString(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`})}function oa(e){return e.filter(e=>e.ready_to_use)}function sa(e){return e?.feature_enabled===!1}function ca({assistantId:e,onComplete:t}){let{t:n}=l(`settings`),i=q.use.previewChannel(),a=h(),[o,s]=(0,X.useState)(),[c,u]=(0,X.useState)(!1),[d,f]=(0,X.useState)(!1),[p,m]=(0,X.useState)(`restore_backup`),[v,y]=(0,X.useState)(``),b=jt({path:{assistant_id:e}}),x=At({path:{assistant_id:e}}),S=Kt({path:{id:e}}),{data:C,isLoading:w,isError:T}=g({...b,enabled:i,retry:!1}),D=(0,X.useMemo)(()=>oa(C?.preview_backups??[]),[C?.preview_backups]),O=D[0],k=D.find(e=>e.snapshot_name===v)??O,A=()=>{a.invalidateQueries({queryKey:x}),a.invalidateQueries({queryKey:S}),t?.()},M=_(Xt()),N=_(Ht()),P=ia(C?.current_channel),F=M.isPending||N.isPending,I=F||sa(C)||!C?.latest_preview_release,ee=p===`restore_backup`&&!k;if((0,X.useEffect)(()=>{s(P===`preview`?`release-channel`:void 0)},[P]),!i)return null;let L=C?.standard_upgrade_available??!1;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(V.Root,{type:`single`,collapsible:!0,value:o,onValueChange:e=>s(e||void 0),className:`mt-5 border-t border-[var(--border-base)] pt-5`,children:(0,Z.jsxs)(V.Item,{value:`release-channel`,id:`preview-release-channel`,children:[(0,Z.jsxs)(V.Trigger,{className:`group justify-between gap-3`,children:[(0,Z.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:n(`previewReleaseChannel.title`)}),C&&(0,Z.jsx)(be,{tone:P===`preview`?`warning`:`neutral`,children:n(P===`preview`?`previewReleaseChannel.preview`:`previewReleaseChannel.stable`)})]}),(0,Z.jsx)(E,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]}),(0,Z.jsx)(V.Content,{children:(0,Z.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[w&&(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(j,{className:`h-4 w-4 animate-spin`}),n(`previewReleaseChannel.loading`)]}),T&&(0,Z.jsx)(B,{tone:`error`,title:n(`previewReleaseChannel.loadErrorTitle`),children:n(`previewReleaseChannel.loadErrorBody`)}),C&&(0,Z.jsxs)(Z.Fragment,{children:[sa(C)&&(0,Z.jsx)(B,{tone:`neutral`,title:n(`previewReleaseChannel.unavailableTitle`),children:n(`previewReleaseChannel.unavailableBody`)}),P===`stable`?(0,Z.jsx)(la,{status:C,isChangingChannel:F,optInDisabled:I,onOptIn:()=>u(!0)}):(0,Z.jsx)(ua,{status:C,isChangingChannel:F,onOptOut:()=>{let e=O;y(e?.snapshot_name??``),m(e?`restore_backup`:L?`standard_upgrade`:`restore_backup`),f(!0)}})]})]})})]})}),(0,Z.jsx)(fa,{open:c,isPending:M.isPending,previewVersion:C?.latest_preview_release?.version,onConfirm:async()=>{try{let t=await M.mutateAsync({path:{assistant_id:e}});W.success(t.detail||n(`previewReleaseChannel.previewEnabledToast`)),u(!1),A()}catch(e){W.error(r(e,void 0,n(`previewReleaseChannel.previewEnableFailedToast`)))}},onCancel:()=>u(!1)}),(0,Z.jsx)(pa,{open:d,backups:D,mode:p,selectedSnapshotName:k?.snapshot_name??``,isPending:N.isPending,restoreModeDisabled:ee,standardUpgradeAvailable:L,onModeChange:m,onSnapshotChange:y,onConfirm:async()=>{if(!ee)try{let t=await N.mutateAsync({path:{assistant_id:e},body:p===`restore_backup`?{mode:`restore_backup`,snapshot_name:k?.snapshot_name}:{mode:`standard_upgrade`}});W.success(t.detail||n(`previewReleaseChannel.stableEnabledToast`)),f(!1),A()}catch(e){W.error(r(e,void 0,`Could not switch to Stable.`))}},onCancel:()=>f(!1)})]})}function la({status:e,isChangingChannel:t,optInDisabled:n,onOptIn:r}){let{t:i}=l(`settings`);return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsx)(da,{status:e}),!e.latest_preview_release&&(0,Z.jsx)(B,{tone:`neutral`,title:i(`previewReleaseChannel.noPreviewTitle`),children:i(`previewReleaseChannel.noPreviewBody`)}),(0,Z.jsx)(d,{variant:`outlined`,leftIcon:t?(0,Z.jsx)(j,{className:`animate-spin`}):(0,Z.jsx)(se,{}),disabled:n,onClick:r,children:i(`previewReleaseChannel.optIn`)})]})}function ua({status:e,isChangingChannel:t,onOptOut:n}){let{t:r}=l(`settings`);return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsx)(da,{status:e}),(0,Z.jsx)(d,{variant:`outlined`,leftIcon:t?(0,Z.jsx)(j,{className:`animate-spin`}):(0,Z.jsx)(le,{}),disabled:t,onClick:n,children:r(`previewReleaseChannel.switchBack`)})]})}function da({status:e}){let{t}=l(`settings`);return(0,Z.jsxs)(`dl`,{className:`grid gap-3 text-body-medium-lighter sm:grid-cols-2`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{className:`text-[var(--content-tertiary)]`,children:t(`previewReleaseChannel.latestStable`)}),(0,Z.jsx)(`dd`,{className:`break-all text-[var(--content-default)]`,children:e.latest_stable_release?.version??t(`previewReleaseChannel.none`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{className:`text-[var(--content-tertiary)]`,children:t(`previewReleaseChannel.latestPreview`)}),(0,Z.jsx)(`dd`,{className:`break-all text-[var(--content-default)]`,children:e.latest_preview_release?.version??t(`previewReleaseChannel.none`)})]})]})}function fa({open:e,isPending:t,previewVersion:n,onConfirm:r,onCancel:i}){let{t:a}=l(`settings`);return(0,Z.jsx)(U.Root,{open:e,onOpenChange:e=>!e&&i(),children:(0,Z.jsxs)(U.Content,{size:`md`,hideCloseButton:t,children:[(0,Z.jsxs)(U.Header,{icon:pe,children:[(0,Z.jsx)(U.Title,{children:a(`previewReleaseChannel.optInTitle`)}),(0,Z.jsx)(U.Description,{children:a(`previewReleaseChannel.optInDescription`)})]}),(0,Z.jsx)(U.Body,{children:(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsx)(B,{tone:`warning`,title:a(`previewReleaseChannel.dataLossTitle`),children:a(`previewReleaseChannel.dataLossBody`)}),(0,Z.jsxs)(`ol`,{className:`list-decimal space-y-2 pl-5 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,Z.jsx)(`li`,{children:a(`previewReleaseChannel.optInStep1`)}),(0,Z.jsx)(`li`,{children:a(`previewReleaseChannel.optInStep2`,{version:n??a(`previewReleaseChannel.latest`)})}),(0,Z.jsx)(`li`,{children:a(`previewReleaseChannel.optInStep3`)})]})]})}),(0,Z.jsxs)(U.Footer,{children:[(0,Z.jsx)(d,{variant:`outlined`,disabled:t,onClick:i,children:a(`previewReleaseChannel.cancel`)}),(0,Z.jsx)(d,{variant:`primary`,disabled:t,leftIcon:t?(0,Z.jsx)(j,{className:`animate-spin`}):(0,Z.jsx)(se,{}),onClick:r,children:a(t?`previewReleaseChannel.switching`:`previewReleaseChannel.takeBackupAndSwitch`)})]})]})})}function pa({open:e,backups:t,mode:n,selectedSnapshotName:r,isPending:i,restoreModeDisabled:a,standardUpgradeAvailable:o,onModeChange:s,onSnapshotChange:c,onConfirm:u,onCancel:f}){let{t:p}=l(`settings`),m=p(`previewReleaseChannel.unknownDate`);return(0,Z.jsx)(U.Root,{open:e,onOpenChange:e=>!e&&f(),children:(0,Z.jsxs)(U.Content,{size:`md`,hideCloseButton:i,children:[(0,Z.jsxs)(U.Header,{icon:pe,children:[(0,Z.jsx)(U.Title,{children:p(`previewReleaseChannel.optOutTitle`)}),(0,Z.jsx)(U.Description,{children:p(`previewReleaseChannel.optOutDescription`)})]}),(0,Z.jsx)(U.Body,{children:(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(_e,{value:n,onValueChange:s,disabled:i,"aria-label":p(`previewReleaseChannel.returnMethodAriaLabel`),children:[(0,Z.jsx)(ge,{value:`restore_backup`,disabled:t.length===0,label:p(`previewReleaseChannel.restoreBackupLabel`),helperText:p(`previewReleaseChannel.restoreBackupHelper`)}),(0,Z.jsx)(ge,{value:`standard_upgrade`,disabled:!o,label:p(`previewReleaseChannel.standardUpgradeLabel`),helperText:p(o?`previewReleaseChannel.standardUpgradeHelper`:`previewReleaseChannel.standardUpgradeUnavailable`)})]}),n===`restore_backup`&&t.length>0&&(0,Z.jsxs)(`label`,{className:`flex flex-col gap-1 text-body-medium-default text-[var(--content-secondary)]`,children:[p(`previewReleaseChannel.safetyBackup`),(0,Z.jsx)(Ce,{value:r,onChange:c,disabled:i,options:t.map(e=>{let t=e.source_release_version?p(`previewReleaseChannel.stableBackupLabel`,{version:e.source_release_version}):e.snapshot_name;return{value:e.snapshot_name,label:p(`previewReleaseChannel.backupOptionLabel`,{name:t,date:aa(e.created_at,m)})}})})]}),n===`restore_backup`&&t.length===0&&!o&&(0,Z.jsx)(B,{tone:`error`,title:p(`previewReleaseChannel.requiresBackupTitle`),children:p(`previewReleaseChannel.requiresBackupBody`)}),n===`standard_upgrade`&&(0,Z.jsx)(B,{tone:`error`,title:p(`previewReleaseChannel.mayNotSurviveTitle`),children:p(`previewReleaseChannel.mayNotSurviveBody`)})]})}),(0,Z.jsxs)(U.Footer,{children:[(0,Z.jsx)(d,{variant:`outlined`,disabled:i,onClick:f,children:p(`previewReleaseChannel.cancel`)}),(0,Z.jsx)(d,{variant:n===`standard_upgrade`?`danger`:`primary`,disabled:i||a||n===`standard_upgrade`&&!o,leftIcon:i?(0,Z.jsx)(j,{className:`animate-spin`}):(0,Z.jsx)(oe,{}),onClick:u,children:p(i?`previewReleaseChannel.switching`:`previewReleaseChannel.switchToStable`)})]})]})})}var ma=new Set([`exceeds_machine_tier`,`exceeds_storage_tier`]);function ha(e,t){return e&&typeof e==`object`&&!Array.isArray(e)&&`error`in e&&typeof e.error==`string`&&ma.has(e.error)?`That size isn't available on your plan.`:r(e,void 0,t)}function ga({assistant:e,healthz:t,healthzLoading:n,healthzPolling:r,refetch:i,refetchUntilResized:a}){let{t:o}=l(`settings`),s=f(),c=g(Jt()),u=c.data,p=!e.is_local,h=u?.plan_id===`pro`,_=g({...Wt(),enabled:h}),v=e.machine_size||`small`,y=hn(_.data?.max_machine_tier??null),b=(0,X.useMemo)(()=>vn(y,v,(0,Z.jsx)(be,{tone:`positive`,children:o(`resizeCard.current`)})),[y,v,o]),x=_.data?.selected_storage_gib??null,[S,C]=(0,X.useState)(!1),w=y.length>0?y[y.length-1]:null,[T,E]=(0,X.useState)(null),D=T??w??v,[O,A]=(0,X.useState)(!1),[M,N]=(0,X.useState)(null),P=Rt({onSuccess:(e,n)=>{W.success(o(`resizeCard.toastStarted`),{id:`assistant-resize`}),N(null),E(null),C(!1),n.body?.machine_size==null?i():a(t)},onError:e=>{N(ha(e,o(`resizeCard.resizeFailed`)))}});if(c.isError&&u==null)return(0,Z.jsx)(Y,{id:`storage-resources`,title:o(`resizeCard.title`),subtitle:o(`resizeCard.subtitle`),children:(0,Z.jsx)(B,{tone:`error`,children:o(`resizeCard.subscriptionLoadError`)})});let F=h&&y.includes(D)&&D!==v?D:null,I=h&&x!=null&&!0,ee=h&&y.length>0&&_n(v)<_n(y[y.length-1]),L=P.isPending||r,R=x==null?t?.disk?.totalMb??null:x*1024,z=t?.disk&&R!=null?{value:t.disk.usedMb,max:R,caption:o(`resizeCard.usedOf`,{used:wn(t.disk.usedMb),total:wn(R)})}:null,te=t?.cpu?{value:t.cpu.currentPercent,max:100,caption:`${t.cpu.currentPercent.toFixed(1)}%`}:null,ne=t?.memory?{value:t.memory.currentMb,max:t.memory.maxMb,caption:o(`resizeCard.usedOf`,{used:wn(t.memory.currentMb),total:wn(t.memory.maxMb)})}:null,re=(0,Z.jsx)(d,{variant:`ghost`,size:`compact`,onClick:()=>A(!0),children:o(`resizeCard.resize`)}),ie=p?h?I?(0,Z.jsxs)(`button`,{type:`button`,disabled:L,onClick:()=>C(!0),className:`flex items-center gap-1.5 rounded-lg border border-amber-500/30 bg-amber-500/15 px-3 py-1.5 text-body-small-default font-medium text-amber-400 transition-colors hover:bg-amber-500/25 disabled:opacity-50`,children:[(0,Z.jsx)(de,{className:`h-3.5 w-3.5`}),o(`resizeCard.increaseStorage`)]}):(0,Z.jsx)(d,{variant:`ghost`,size:`compact`,disabled:L,onClick:()=>C(!0),children:o(`resizeCard.resize`)}):re:null,ae=p?h?ee?(0,Z.jsxs)(`button`,{type:`button`,disabled:L,onClick:()=>C(!0),className:`flex items-center gap-1.5 rounded-lg border border-amber-500/30 bg-amber-500/15 px-3 py-1.5 text-body-small-default font-medium text-amber-400 transition-colors hover:bg-amber-500/25 disabled:opacity-50`,children:[(0,Z.jsx)(de,{className:`h-3.5 w-3.5`}),o(`resizeCard.increaseSize`)]}):(0,Z.jsx)(d,{variant:`ghost`,size:`compact`,disabled:L,onClick:()=>C(!0),children:o(`resizeCard.resize`)}):re:null;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Y,{id:`storage-resources`,title:o(`resizeCard.title`),subtitle:o(`resizeCard.subtitle`),compactAccessory:!0,accessory:(0,Z.jsx)(d,{variant:`ghost`,size:`compact`,iconOnly:n||r?(0,Z.jsx)(j,{className:`animate-spin`}):(0,Z.jsx)(oe,{}),tooltip:o(r?`resizeCard.applyingResize`:`resizeCard.refreshMetrics`),"aria-label":o(`resizeCard.refreshMetrics`),disabled:n||r,onClick:()=>void i()}),children:(0,Z.jsxs)(`div`,{className:`grid grid-cols-1 gap-2 sm:grid-cols-[1fr_2fr]`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col rounded-lg bg-[var(--surface-base)] p-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Z.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:(0,Z.jsx)(k,{className:`h-3.5 w-3.5`})}),(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:o(`resizeCard.disk`)})]}),ie]}),(0,Z.jsxs)(`div`,{className:`mt-auto flex flex-col gap-1 pt-3`,children:[(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:o(`resizeCard.storage`)}),z?(0,Z.jsx)(bn,{value:z.value,max:z.max,caption:z.caption}):n?(0,Z.jsx)(`div`,{className:`flex items-center gap-2 text-[var(--content-tertiary)]`,children:(0,Z.jsx)(j,{className:`h-3 w-3 animate-spin`})}):(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:o(`resizeCard.unavailable`)})]})]}),(0,Z.jsxs)(`div`,{className:`flex flex-col rounded-lg bg-[var(--surface-base)] p-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Z.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:(0,Z.jsx)(On,{className:`h-3.5 w-3.5`})}),(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:o(`resizeCard.machine`)}),(0,Z.jsx)(be,{tone:`neutral`,children:gn[v]})]}),ae]}),(0,Z.jsxs)(`div`,{className:`mt-auto grid grid-cols-2 gap-3 pt-3`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:o(`resizeCard.cpu`)}),te?(0,Z.jsx)(bn,{value:te.value,max:te.max,caption:te.caption}):n?(0,Z.jsx)(`div`,{className:`flex items-center gap-2 text-[var(--content-tertiary)]`,children:(0,Z.jsx)(j,{className:`h-3 w-3 animate-spin`})}):(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:`—`})]}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:o(`resizeCard.memory`)}),ne?(0,Z.jsx)(bn,{value:ne.value,max:ne.max,caption:ne.caption}):n?(0,Z.jsx)(`div`,{className:`flex items-center gap-2 text-[var(--content-tertiary)]`,children:(0,Z.jsx)(j,{className:`h-3 w-3 animate-spin`})}):(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:`—`})]})]})]})]})}),(0,Z.jsx)(U.Root,{open:O,onOpenChange:e=>{e||A(!1)},children:(0,Z.jsxs)(U.Content,{size:`sm`,children:[(0,Z.jsxs)(U.Header,{children:[(0,Z.jsx)(U.Title,{children:o(`resizeCard.upgradeTitle`)}),(0,Z.jsx)(U.Description,{children:o(`resizeCard.upgradeDescription`)})]}),(0,Z.jsxs)(U.Footer,{children:[(0,Z.jsx)(d,{variant:`ghost`,onClick:()=>A(!1),children:o(`resizeCard.cancel`)}),(0,Z.jsx)(d,{onClick:()=>{A(!1),s(K.plans)},children:o(`resizeCard.upgrade`)})]})]})}),(0,Z.jsx)(U.Root,{open:S,onOpenChange:e=>{e||(C(!1),E(null),N(null))},children:(0,Z.jsxs)(U.Content,{size:`sm`,children:[(0,Z.jsxs)(U.Header,{icon:On,children:[(0,Z.jsx)(U.Title,{children:o(`resizeCard.modalTitle`)}),(0,Z.jsx)(U.Description,{children:o(`resizeCard.modalDescription`)})]}),(0,Z.jsx)(U.Body,{children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[y.length===0?(0,Z.jsx)(B,{tone:`warning`,children:o(`resizeCard.noMachineTier`)}):(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-secondary)]`,children:o(`resizeCard.machineSize`)}),(0,Z.jsx)(Ce,{options:b,value:D,onChange:E,"aria-label":o(`resizeCard.machineSizeAriaLabel`),"data-testid":`resize-machine-size`})]}),I?(0,Z.jsx)(B,{tone:`info`,children:o(`resizeCard.storageExpandTo`,{to:x})}):(0,Z.jsx)(B,{tone:`neutral`,children:o(`resizeCard.storageUnchanged`)}),M&&(0,Z.jsx)(B,{tone:`error`,children:M})]})}),(0,Z.jsxs)(U.Footer,{className:`items-center justify-between`,children:[(0,Z.jsx)(`span`,{className:`text-label-small-default text-[var(--content-tertiary)]`,children:(0,Z.jsx)(Ge,{ns:`settings`,i18nKey:`resizeCard.needMore`,components:{upgradeLink:(0,Z.jsx)(m,{to:K.plans,className:`text-[var(--content-secondary)] underline decoration-[var(--border-element)] underline-offset-2 transition-colors hover:text-[var(--content-default)]`,onClick:()=>C(!1)})}})}),(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(d,{variant:`ghost`,onClick:()=>{C(!1),E(null),N(null)},children:o(`resizeCard.cancel`)}),(0,Z.jsx)(d,{disabled:F==null&&!I||L,leftIcon:L?(0,Z.jsx)(j,{className:`animate-spin`}):void 0,onClick:()=>{N(null);let t={};F!=null&&(t.machine_size=F),I&&x!=null&&(t.storage_gib=x),P.mutate({path:{id:e.id},body:t})},children:o(M?`resizeCard.retry`:`resizeCard.apply`)})]})]})]})})]})}function _a({assistantId:e}){let{t}=l(`settings`),n=f(),[r,i]=(0,X.useState)(!1),[a,o]=(0,X.useState)(!1);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(d,{variant:`dangerOutline`,onClick:()=>i(!0),className:`shrink-0`,children:t(`retireAssistant.button`)}),(0,Z.jsx)(nn,{open:r,isPending:a,onConfirm:async()=>{o(!0);let t=await tn(e);if(t.ok){i(!1),n(t.nextRoute,{replace:!0});return}W.error(t.error),o(!1),i(!1)},onCancel:()=>i(!1)})]})}function va(){let{t:e}=l(`settings`),t=ie(),n=ae.useValue();return P(t)?(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,Z.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e(`showTipsRow.label`)}),(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e(`showTipsRow.description`)})]}),(0,Z.jsx)(xe,{checked:n,onChange:e=>{ae.save(e),e||I(`settings`,`dont_show_again`,t)},"aria-label":e(`showTipsRow.ariaLabel`)})]}):null}var ya=`UTC.Africa/Cairo.Africa/Johannesburg.Africa/Lagos.Africa/Nairobi.America/Anchorage.America/Argentina/Buenos_Aires.America/Bogota.America/Chicago.America/Denver.America/Halifax.America/Lima.America/Los_Angeles.America/Mexico_City.America/New_York.America/Phoenix.America/Santiago.America/Sao_Paulo.America/Toronto.America/Vancouver.Asia/Bangkok.Asia/Dubai.Asia/Hong_Kong.Asia/Jakarta.Asia/Jerusalem.Asia/Karachi.Asia/Kolkata.Asia/Kuala_Lumpur.Asia/Manila.Asia/Seoul.Asia/Shanghai.Asia/Singapore.Asia/Taipei.Asia/Tokyo.Australia/Melbourne.Australia/Perth.Australia/Sydney.Europe/Amsterdam.Europe/Athens.Europe/Berlin.Europe/Brussels.Europe/Dublin.Europe/Istanbul.Europe/Lisbon.Europe/London.Europe/Madrid.Europe/Moscow.Europe/Paris.Europe/Rome.Europe/Stockholm.Europe/Vienna.Europe/Warsaw.Europe/Zurich.Pacific/Auckland.Pacific/Honolulu`.split(`.`);function ba(){let e=Intl;if(typeof e.supportedValuesOf==`function`)try{let t=e.supportedValuesOf(`timeZone`);if(t.length>0)return[...t].sort()}catch{}return[...ya].sort()}function xa(e){let t=e.split(`/`),n=(t[t.length-1]??e).replace(/_/g,` `),r=t.length>1?(t[0]??``).replace(/_/g,` `):``,i=0,a=``;try{let t=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`shortOffset`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value??`GMT`;a=t.startsWith(`GMT`)||t.startsWith(`UTC`)?t:`GMT ${t}`;let n=t.match(/([+-])(\d{1,2})(?::(\d{2}))?/);if(n){let e=n[1]===`-`?-1:1,t=parseInt(n[2]??`0`,10),r=parseInt(n[3]??`0`,10);i=e*(t*60+r)}}catch{return null}return{identifier:e,city:n,region:r,offsetLabel:a,offsetMinutes:i}}function Sa(e){try{return new Intl.DateTimeFormat(`en-US`,{timeZone:e,hour:`numeric`,minute:`2-digit`,hour12:!0}).format(new Date)}catch{return``}}function Ca(e,t){if(!e)return t;try{let t=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`long`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value;if(t)return t}catch{}return e.replace(/_/g,` `)}var wa=200;function Ta({value:e,onChange:t}){let{t:n}=l(`settings`),[r,i]=(0,X.useState)(``),a=(0,X.useMemo)(()=>ba().map(e=>xa(e)).filter(e=>e!==null),[]),o=r.trim().toLowerCase(),s=(0,X.useMemo)(()=>(o?a.filter(e=>e.city.toLowerCase().includes(o)||e.region.toLowerCase().includes(o)||e.offsetLabel.toLowerCase().includes(o)||e.identifier.toLowerCase().includes(o)):a).slice(0,wa),[a,o]),c=(0,X.useMemo)(()=>s.map(e=>e.identifier),[s]),u=(0,X.useMemo)(()=>{if(!e)return``;let t=e.split(`/`);return(t[t.length-1]??e).replace(/_/g,` `)},[e]);return(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1.5 md:flex-row md:items-center md:justify-between md:gap-4`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:n(`timezonePicker.closestCity`)}),(0,Z.jsxs)(ve.Root,{className:`w-full md:max-w-[280px]`,options:c,value:e,onSelect:t,onOpenChange:e=>{e||i(``)},autoActivateFirst:o.length>0,children:[(0,Z.jsx)(ve.Input,{type:`text`,"aria-label":n(`timezonePicker.closestCity`),value:r,placeholder:u||n(`timezonePicker.searchPlaceholder`),onChange:e=>i(e.target.value),fullWidth:!0}),(0,Z.jsx)(ve.List,{"aria-label":n(`timezonePicker.citiesAriaLabel`),className:`absolute left-0 right-0 top-full z-20 mt-1 max-h-[240px] rounded-md border border-[var(--border-base)] bg-[var(--surface-lift)] shadow-lg`,emptyState:(0,Z.jsx)(`p`,{className:`px-3 py-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:n(`timezonePicker.noMatchingCities`)}),children:s.map(e=>(0,Z.jsxs)(ve.Option,{value:e.identifier,className:y(`flex w-full items-center justify-between gap-3 px-3 py-2`,`text-body-medium-lighter text-[var(--content-default)] transition-colors`,`hover:bg-[var(--surface-active)]`,`data-[active]:bg-[var(--surface-active)] aria-selected:bg-[var(--surface-active)]`),children:[(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`div`,{className:`truncate text-body-medium-default`,children:e.city}),e.region&&(0,Z.jsx)(`div`,{className:`truncate text-body-small-default text-[var(--content-tertiary)]`,children:e.region})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 flex-col items-end gap-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(`span`,{children:Sa(e.identifier)}),(0,Z.jsx)(`span`,{children:e.offsetLabel})]})]},e.identifier))})]})]}),(0,Z.jsx)(En,{}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:n(`timezonePicker.timeZone`)}),(0,Z.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:Ca(e,n(`timezonePicker.notSet`))})]})]})}function Ea(){let{t:e}=l(`settings`),n=We.use.activeAssistantId(),[r,i]=(0,X.useState)(()=>t(`timezone`,``)),o=(0,X.useRef)(n);(0,X.useEffect)(()=>{o.current=n},[n]);let c=(0,X.useRef)(!1),u=(0,X.useRef)(null),d=(0,X.useRef)(()=>{}),f=e=>{if(c.current){u.current=e;return}let t=o.current;if(!t){u.current=null;return}c.current=!0,u.current=null,G.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:t},body:{ui:{userTimezone:e}},throwOnError:!0}).catch(e=>{a(e,{context:`settings-timezone-override`})}).finally(()=>{c.current=!1;let e=u.current;u.current=null,e!==null&&d.current(e)})};return(0,X.useEffect)(()=>{d.current=f}),(0,Z.jsxs)(`section`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:e(`timezoneSection.title`)}),(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e(`timezoneSection.description`)}),(0,Z.jsx)(`div`,{className:`mt-1`,children:(0,Z.jsx)(Ta,{value:r,onChange:e=>{i(e),s(`timezone`,e),f(e)}})})]})}var Da=[0,1,2,3,4,5,6];function Oa(e){let[t,n]=e.split(`:`).map(Number),r=new Date,i=new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate(),t,n));return`${i.getHours().toString().padStart(2,`0`)}:${i.getMinutes().toString().padStart(2,`0`)}`}function ka(e){let[t,n]=e.split(`:`).map(Number),r=new Date,i=new Date(r.getFullYear(),r.getMonth(),r.getDate(),t,n);return`${i.getUTCHours().toString().padStart(2,`0`)}:${i.getUTCMinutes().toString().padStart(2,`0`)}`}function Aa(){return Intl.DateTimeFormat(void 0,{timeZoneName:`short`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value??``}function ja(e){let t=e?.schedule?.window.start??`06:00`,n=e?.schedule?.window.end??`08:00`;return{enabled:e?.enabled??!0,timezone:`UTC`,frequency:e?.schedule?.frequency??`weekly`,daysOfWeek:e?.schedule?.days_of_week??[0],daysOfMonth:e?.schedule?.days_of_month??[],windowStart:Oa(t),windowEnd:Oa(n)}}function Ma({assistantId:e}){let{t}=l(`settings`),n=h(),r=[t(`updateWindowPolicy.dayMon`),t(`updateWindowPolicy.dayTue`),t(`updateWindowPolicy.dayWed`),t(`updateWindowPolicy.dayThu`),t(`updateWindowPolicy.dayFri`),t(`updateWindowPolicy.daySat`),t(`updateWindowPolicy.daySun`)],{data:i,isLoading:a,isError:o}=g(Ft({path:{id:e}})),s=(0,X.useMemo)(()=>ja(i),[i]),[c,u]=(0,X.useState)(null),f=c??s,p=c!==null,m=(0,X.useMemo)(()=>Aa(),[]),[v,y]=(0,X.useState)(null),b=v??f.daysOfMonth.join(`, `),x=_({mutationFn:async t=>{let{data:n}=await ct({path:{id:e},body:t,throwOnError:!0});return n}}),C=e=>{u(t=>({...t??s,...e}))},w=e=>{C({daysOfWeek:f.daysOfWeek.includes(e)?f.daysOfWeek.filter(t=>t!==e):[...f.daysOfWeek,e].sort((e,t)=>e-t)})},T=e=>e.split(`,`).map(e=>parseInt(e.trim(),10)).filter(e=>!isNaN(e)&&e>=1&&e<=31);return a?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(j,{className:`h-4 w-4 animate-spin`}),t(`updateWindowPolicy.loading`)]}):o?(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:t(`updateWindowPolicy.loadError`)}):(0,Z.jsxs)(`div`,{className:`space-y-6`,children:[(0,Z.jsx)(xe,{checked:f.enabled,onChange:e=>C({enabled:e}),label:t(`updateWindowPolicy.automaticUpdates`),helperText:t(`updateWindowPolicy.automaticUpdatesHelper`)}),f.enabled&&(0,Z.jsxs)(`div`,{className:`space-y-5`,children:[(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-secondary)]`,children:t(`updateWindowPolicy.frequency`)}),(0,Z.jsx)(`div`,{className:`max-w-[400px]`,children:(0,Z.jsx)(S,{ariaLabel:t(`updateWindowPolicy.frequency`),value:f.frequency,onChange:e=>{e!==`monthly`&&y(null),C({frequency:e})},items:[{value:`daily`,label:t(`updateWindowPolicy.daily`)},{value:`weekly`,label:t(`updateWindowPolicy.weekly`)},{value:`monthly`,label:t(`updateWindowPolicy.monthly`)}]})})]}),f.frequency===`weekly`&&(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-secondary)]`,children:t(`updateWindowPolicy.daysOfWeek`)}),(0,Z.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:Da.map(e=>(0,Z.jsx)(d,{variant:`outlined`,size:`compact`,active:f.daysOfWeek.includes(e),onClick:()=>w(e),children:r[e]},e))})]}),f.frequency===`monthly`&&(0,Z.jsx)(H,{label:t(`updateWindowPolicy.daysOfMonth`),type:`text`,value:b,onChange:e=>y(e.target.value),onBlur:e=>{let t=T(e.target.value);C({daysOfMonth:t}),y(t.join(`, `))},placeholder:t(`updateWindowPolicy.daysOfMonthPlaceholder`),helperText:t(`updateWindowPolicy.daysOfMonthHelper`),className:`w-48`}),(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-secondary)]`,children:m?t(`updateWindowPolicy.updateWindowWithTz`,{tz:m}):t(`updateWindowPolicy.updateWindow`)}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(H,{type:`time`,value:f.windowStart,onChange:e=>C({windowStart:e.target.value})}),(0,Z.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:t(`updateWindowPolicy.to`)}),(0,Z.jsx)(H,{type:`time`,value:f.windowEnd,onChange:e=>C({windowEnd:e.target.value})})]})]})]}),(0,Z.jsx)(d,{variant:`primary`,leftIcon:x.isPending?(0,Z.jsx)(j,{className:`animate-spin`}):void 0,onClick:async()=>{let r=f.frequency===`monthly`&&v!==null?T(v):f.daysOfMonth;try{await x.mutateAsync({enabled:f.enabled,timezone:`UTC`,schedule:{frequency:f.frequency,days_of_week:f.frequency===`weekly`?f.daysOfWeek:[],days_of_month:f.frequency===`monthly`?r:[],window:{start:ka(f.windowStart),end:ka(f.windowEnd)}}}),W.success(t(`updateWindowPolicy.toastSaved`)),u(null),y(null),n.invalidateQueries({queryKey:zt({path:{id:e}})})}catch{W.error(t(`updateWindowPolicy.toastSaveFailed`))}},disabled:x.isPending||!p,children:t(`updateWindowPolicy.savePolicy`)})]})}function Na({assistantId:e,open:t,onClose:n}){let{t:r}=l(`settings`);return(0,Z.jsx)(U.Root,{open:t,onOpenChange:e=>{e||n()},children:(0,Z.jsxs)(U.Content,{size:`md`,children:[(0,Z.jsxs)(U.Header,{children:[(0,Z.jsx)(U.Title,{children:r(`updateWindowModal.title`)}),(0,Z.jsx)(U.Description,{children:r(`updateWindowModal.description`)})]}),(0,Z.jsx)(U.Body,{children:(0,Z.jsx)(Ma,{assistantId:e})})]})})}function Pa(e){if(typeof e==`object`&&e&&`code`in e){let t=e.code;if(typeof t==`string`)return t}}function Fa({open:e,onOpenChange:t}){let{t:n}=l(`settings`),r=h(),[i,a]=(0,X.useState)(null),[o,s]=(0,X.useState)(``),[c,u]=(0,X.useState)(null),f=(0,X.useRef)(!1),p=(0,X.useRef)(e),m=()=>r.invalidateQueries({queryKey:Vt()}),g=e=>{ut({path:{id:e}}).catch(()=>void 0).finally(()=>void m())},_=Bt({onSuccess:e=>{if(!p.current){g(e.factor_id);return}a(e)},onError:e=>{let r=Pa(e);r===`no_workos_account`?W.error(n(`enrollTotpModal.toastNoWorkosAccount`)):r===`throttled`||r===`workos_rate_limited`?W.error(n(`enrollTotpModal.toastThrottled`)):r===`factor_limit_reached`?W.error(n(`enrollTotpModal.toastFactorLimitReached`)):W.error(n(`enrollTotpModal.toastStartFailed`)),t(!1)}}),v=Nt({onSuccess:e=>{e.valid?(f.current=!0,W.success(n(`enrollTotpModal.toastEnabled`)),m(),t(!1)):u(n(`enrollTotpModal.errorCodeMismatch`))},onError:e=>{let r=Pa(e);if(r===`challenge_already_verified`){f.current=!0,W.success(n(`enrollTotpModal.toastEnabled`)),m(),t(!1);return}if(r===`challenge_expired`||r===`challenge_not_found`){i&&g(i.factor_id),a(null),s(``),u(n(`enrollTotpModal.errorSessionExpired`)),_.mutate({});return}if(r===`throttled`||r===`workos_rate_limited`){u(n(`enrollTotpModal.errorThrottledInline`));return}u(n(`enrollTotpModal.errorVerifyFailed`))}});(0,X.useEffect)(()=>{p.current=e,e&&(f.current=!1,a(null),s(``),u(null),_.mutate({}))},[e]);let y=e=>{!e&&v.isPending||(!e&&i&&!f.current&&g(i.factor_id),t(e))},b=()=>{i&&cn(i.secret,{successMessage:n(`enrollTotpModal.copySuccess`),errorMessage:n(`enrollTotpModal.copyError`)})},S=()=>{!i||o.length!==6||v.isPending||(u(null),v.mutate({body:{challenge_id:i.challenge_id,code:o}}))};return(0,Z.jsx)(U.Root,{open:e,onOpenChange:y,children:(0,Z.jsxs)(U.Content,{size:`sm`,children:[(0,Z.jsxs)(U.Header,{children:[(0,Z.jsx)(U.Title,{children:n(`enrollTotpModal.title`)}),(0,Z.jsx)(U.Description,{children:n(`enrollTotpModal.description`)})]}),(0,Z.jsx)(U.Body,{children:i===null?(0,Z.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,Z.jsx)(j,{className:`h-5 w-5 animate-spin text-[var(--content-tertiary)]`})}):(0,Z.jsxs)(`form`,{className:`flex flex-col items-center gap-4`,onSubmit:e=>{e.preventDefault(),S()},children:[(0,Z.jsx)(`img`,{src:i.qr_code,alt:n(`enrollTotpModal.qrCodeAlt`),className:`h-44 w-44 rounded-lg bg-white p-2`}),(0,Z.jsxs)(`div`,{className:`flex w-full flex-col gap-1`,children:[(0,Z.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n(`enrollTotpModal.manualKeyHint`)}),(0,Z.jsxs)(`button`,{type:`button`,onClick:b,className:`flex cursor-pointer items-center gap-2 self-start font-mono text-body-small-default text-[var(--content-default)] hover:text-[var(--content-emphasised)]`,children:[(0,Z.jsx)(`span`,{className:`break-all text-left`,children:i.secret}),(0,Z.jsx)(x,{className:`h-3.5 w-3.5 shrink-0`})]})]}),(0,Z.jsxs)(`div`,{className:`flex w-full flex-col gap-1`,children:[(0,Z.jsx)(`label`,{htmlFor:`totp-code`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:n(`enrollTotpModal.codeLabel`)}),(0,Z.jsx)(H,{id:`totp-code`,inputMode:`numeric`,autoComplete:`one-time-code`,maxLength:6,placeholder:n(`enrollTotpModal.codePlaceholder`),value:o,onChange:e=>s(e.target.value.replace(/\D/g,``).slice(0,6))}),c&&(0,Z.jsx)(`p`,{role:`alert`,className:`text-body-small-default text-[var(--system-negative-strong)]`,children:c})]})]})}),(0,Z.jsxs)(U.Footer,{children:[(0,Z.jsx)(d,{variant:`outlined`,onClick:()=>y(!1),disabled:v.isPending,children:n(`enrollTotpModal.cancel`)}),(0,Z.jsx)(d,{onClick:S,disabled:i===null||o.length!==6||v.isPending,children:v.isPending?n(`enrollTotpModal.verifying`):n(`enrollTotpModal.verify`)})]})]})})}function Ia(e){let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleDateString(void 0,{month:`short`,day:`numeric`,year:`numeric`})}function La(){let{t:e}=l(`settings`),t=h(),[n,r]=(0,X.useState)(!1),[i,a]=(0,X.useState)(null),o=g({...Pt()}),s=o.data??[],c=()=>t.invalidateQueries({queryKey:Vt()}),u=Mt({onSuccess:()=>{W.success(e(`twoFactorSection.toastRemoved`)),c()},onError:t=>{if(Pa(t)===`factor_not_found`){c();return}W.error(e(`twoFactorSection.toastRemoveFailed`))}});return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[o.isPending?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(j,{className:`h-4 w-4 animate-spin`}),(0,Z.jsx)(`span`,{className:`text-body-medium-default`,children:e(`twoFactorSection.loading`)})]}):o.isError?(0,Z.jsx)(B,{tone:`error`,children:(0,Z.jsx)(Ge,{ns:`settings`,i18nKey:`twoFactorSection.loadError`,components:{retryButton:(0,Z.jsx)(`button`,{type:`button`,className:`cursor-pointer underline`,onClick:()=>void o.refetch()})}})}):s.length===0?(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e(`twoFactorSection.emptyDescription`)}):(0,Z.jsx)(`ul`,{className:`flex flex-col divide-y divide-[var(--border-base)]`,children:s.map(t=>(0,Z.jsxs)(`li`,{className:`flex items-center justify-between gap-3 py-3`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,Z.jsx)(ue,{className:`h-5 w-5 shrink-0 text-[var(--content-tertiary)]`}),(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`twoFactorSection.authenticatorApp`)}),(0,Z.jsxs)(`div`,{className:`truncate text-body-small-default text-[var(--content-tertiary)]`,children:[t.user,t.created_at?e(`twoFactorSection.addedOn`,{date:Ia(t.created_at)}):``]})]})]}),(0,Z.jsx)(d,{variant:`dangerOutline`,onClick:()=>a(t),disabled:u.isPending,children:e(`twoFactorSection.remove`)})]},t.id))}),!o.isPending&&!o.isError&&s.length===0&&(0,Z.jsx)(d,{onClick:()=>r(!0),className:`self-start`,children:e(`twoFactorSection.addAuthenticatorApp`)}),(0,Z.jsx)(Fa,{open:n,onOpenChange:r}),(0,Z.jsx)(Se,{open:i!==null,title:e(`twoFactorSection.removeDialogTitle`),message:e(`twoFactorSection.removeDialogMessage`),confirmLabel:e(`twoFactorSection.removeDialogConfirm`),destructive:!0,onConfirm:()=>{i&&u.mutate({path:{id:i.id}}),a(null)},onCancel:()=>a(null)})]})}var Q=class extends Error{code;constructor(e,t){super(t),this.name=`TeleportError`,this.code=e}},Ra=`local`,za=`docker`,Ba=`vellum`;function Va(e){switch((e??``).toLowerCase()){case Ra:return`local`;case za:return`docker`;case Ba:return`managed`;default:return`other`}}function Ha(e){let t=Va(e);return t===`managed`?`local`:t===`local`?`platform`:null}function Ua(e){switch(e){case`docker`:return`Move to Docker`;case`platform`:return`Move to Cloud (Platform)`;case`local`:return`Move to Local`}}function Wa(e){switch(e){case`docker`:return`Run your assistant in a Docker container on this Mac.`;case`platform`:return`Run your assistant in the cloud, managed by the Vellum platform.`;case`local`:return`Run your assistant locally on this Mac.`}}function Ga(e){if(!e||typeof e!=`object`)return null;let t=e;if(t.reason!==`version_mismatch`)return null;let n=t.bundle_compat,r=t.target_runtime_version;if(!n||typeof n!=`object`||typeof r!=`string`)return null;let i=n,a=i.min_runtime_version;if(typeof a!=`string`)return null;let o=typeof i.max_runtime_version==`string`?i.max_runtime_version:null;return`Cannot import: bundle requires runtime ${o?`${a}–${o}`:`${a}+`}, but this local runtime is ${r}. Update your local runtime before importing.`}async function Ka(e,t){let n=Number(e.headers.get(`Content-Length`)??0);if(!e.body||!t||n<=0){let n=await e.arrayBuffer();return t?.(1),n}let r=e.body.getReader(),i=[],a=0;for(;;){let{done:e,value:o}=await r.read();if(e)break;i.push(o),a+=o.length,t(a/n)}let o=new Uint8Array(a),s=0;for(let e of i)o.set(e,s),s+=e.length;return t(1),o.buffer}function qa(e){let t=Pe(e);if(!t)throw new Q(`local_assistant_not_found`,`Assistant ${e.assistantId} has no resolved local gateway.`);return`${window.location.origin}${t}`}async function Ja(e,t){let n=await Be(e.assistantId),r=await fetch(`${t}/auth/token`,{method:`POST`,headers:{Authorization:`Bearer ${n}`}});if(!r.ok)throw new Q(`not_signed_in`,`Gateway token request failed (HTTP ${r.status}).`);let{token:i}=await r.json();return i}async function Ya(e,t){let n=qa(e),r=await Ja(e,n),i=await fetch(`${n}/v1/migrations/export`,{method:`POST`,headers:{Authorization:`Bearer ${r}`}});if(!i.ok)throw new Q(`export_failed`,`Export failed (HTTP ${i.status}).`);return Ka(i,t)}async function Xa(e,t){let n=qa(e),r=await Ja(e,n),i=await fetch(`${n}/v1/migrations/import`,{method:`POST`,headers:{Authorization:`Bearer ${r}`},body:new Blob([t],{type:`application/octet-stream`})});if(!i.ok)throw new Q(`import_failed`,`Import failed (HTTP ${i.status}).`);let a=await $a(i);if(a&&a.success===!1)throw new Q(`import_failed`,a.error??`Import reported failure`)}async function Za(e,t){let{data:n,response:r}=await G.post({url:`/v1/assistants/{assistant_id}/migrations/export-to-gcs/`,path:{assistant_id:e},body:{upload_url:t},throwOnError:!1}),i=r?.status??0;if(!(r?.ok??!1)&&i!==202)throw new Q(`export_failed`,`Export failed (HTTP ${i}).`);let a=n?.job_id;if(!a)throw new Q(`export_failed`,`Export accepted but no job ID was returned.`);return a}async function Qa(e,t){let{data:n,response:r}=await G.get({url:`/v1/assistants/{assistant_id}/migrations/jobs/{job_id}`,path:{assistant_id:e,job_id:t},throwOnError:!1}),i=r?.status??0;if(i>=500)return`processing`;if(!(r?.ok??!1))throw new Q(`export_job_failed`,`Job status check failed (HTTP ${i})`);let a=n;if(a?.status===`failed`)throw new Q(`export_job_failed`,a.error??`Export job failed`);return a?.status??`processing`}async function $a(e){try{return await e.json()}catch{return null}}var eo=new Set([500,502,503,504]),$=3,to=e=>new Promise(t=>setTimeout(t,e));async function no(e,t=new Set){for(let n=0;n<=$;n++){let{response:r,data:i,error:a}=await e(),o=r?.status??0;if(n<$&&eo.has(o)&&!t.has(o)){await to(2**n*1e3);continue}return{status:o,data:i,error:a}}throw new Q(`unknown`,`Unexpected retry loop exit`)}async function ro(e,t){let n={operation:`upload`};e&&(n.min_runtime_version=e,n.max_runtime_version=null),t&&(n.consumer=t);let{status:r,data:i}=await no(()=>G.post({url:`/v1/migrations/signed-url/`,body:n,throwOnError:!1}),new Set([404,503]));if(r===503||r===404)throw new Q(`export_failed`,`Signed URL uploads are not available — the platform may not support this feature yet.`);if(r!==201)throw new Q(`export_failed`,`Migration request failed (HTTP ${r}).`);let a=i;return{url:a.url,bundleKey:a.bundle_key,expiresAt:a.expires_at}}async function io(e,t){let{status:n,data:r,error:i}=await no(()=>G.post({url:`/v1/migrations/signed-url/`,body:{operation:`download`,bundle_key:e,target_runtime_version:t},throwOnError:!1}),new Set([422]));if(n===422){let e=Ga(i);if(e)throw new Q(`version_mismatch`,e)}if(n!==200&&n!==201)throw new Q(`import_failed`,`Migration request failed (HTTP ${n}).`);return r.url}async function ao(e,t,n){for(let r=0;r<=$;r++){let i=await oo(e,t,n);if(r<$&&eo.has(i)){await to(2**r*1e3),n?.(0);continue}if(i<200||i>=300)throw new Q(`export_failed`,`Bundle upload failed (HTTP ${i}).`);return}}function oo(e,t,n){return new Promise((r,i)=>{let a=new XMLHttpRequest;a.open(`PUT`,e),a.setRequestHeader(`Content-Type`,`application/octet-stream`),a.timeout=36e5,n&&(a.upload.onprogress=e=>{e.lengthComputable&&n(e.loaded/e.total)}),a.onload=()=>{n?.(1),r(a.status)},a.onerror=()=>i(new Q(`export_failed`,`Bundle upload failed.`)),a.ontimeout=()=>i(new Q(`export_timed_out`,`Bundle upload timed out.`)),a.send(t)})}async function so(e,t){for(let n=0;n<=$;n++){let r=await fetch(e,{method:`GET`});if(n<$&&eo.has(r.status)){await to(2**n*1e3),t?.(0);continue}if(!r.ok)throw new Q(`import_failed`,`Bundle download failed (HTTP ${r.status}).`);return Ka(r,t)}throw new Q(`import_failed`,`Unexpected retry loop exit`)}async function co(e){let{status:t,data:n,error:r}=await no(()=>G.post({url:`/v1/migrations/import-from-gcs/`,body:{bundle_key:e},throwOnError:!1}));return{status:t,body:n??r??null}}async function lo(e){let{status:t,data:n}=await no(()=>G.get({url:`/v1/migrations/jobs/{job_id}/`,path:{job_id:e},throwOnError:!1}));if(t!==200)throw new Q(`import_failed`,`Job status check failed (HTTP ${t})`);let r=n??{};return{status:typeof r.status==`string`?r.status:`unknown`,jobId:typeof r.job_id==`string`?r.job_id:null,error:typeof r.error==`string`?r.error:null}}var uo=5e3,fo=36e5,po=5*6e4,mo=30,ho=e=>new Promise(t=>setTimeout(t,e));function go(){let e=f(),t=Le(),n=Ha(t?.cloud),[r,i]=(0,X.useState)({kind:`idle`}),[o,s]=(0,X.useState)(!1),c=(0,X.useRef)(null),l=(0,X.useRef)(null),u=(0,X.useCallback)(e=>{i({kind:`transferring`,step:e,progress:null})},[]),d=(0,X.useCallback)(e=>{i(t=>t.kind===`transferring`?{...t,progress:e}:t)},[]),p=(0,X.useCallback)(async()=>{if(!(!t||!n)){l.current={id:t.assistantId,kind:Va(t.cloud)===`managed`?`managed`:`local`,createdFresh:!1};try{if(n===`platform`)await _o(t,u,d,c);else if(n===`local`)await vo(t,u,d,c);else throw new Q(`unknown`,`Unsupported teleport destination.`);i({kind:`verifying`})}catch(e){i({kind:`failed`,error:`Teleport failed: ${e instanceof Q||e instanceof Error?e.message:`Teleport failed.`}`}),a(e,{context:`teleport-execute`}),await bo(c.current,l.current,`teleport-execute-cleanup`),c.current=null}}},[t,n,u,d]),m=(0,X.useCallback)(()=>s(!0),[]),h=(0,X.useCallback)(()=>s(!1),[]),g=(0,X.useCallback)(()=>{s(!1),p()},[p]),_=(0,X.useCallback)(()=>{c.current=null,l.current=null,i({kind:`idle`})},[]);return{destination:n,phase:r,confirmOpen:o,requestTeleport:m,cancelConfirm:h,confirm:g,confirmAndSwitch:(0,X.useCallback)(()=>{let t=c.current,n=l.current;t&&(async()=>{try{let e=rt.getState();t.kind===`managed`?await e.connectPlatformAssistant(t.id):(await e.connectLocalAssistant(t.id),it(t.id,{onError:e=>a(e,{context:`teleport-inject-platform-identity`})}))}catch(e){i({kind:`failed`,error:`Switch failed: ${e instanceof Error?e.message:`Failed to switch assistant.`}`}),a(e,{context:`teleport-confirm-switch`});return}n&&tn(n.id).then(e=>{e.ok||a(Error(e.error),{context:`teleport-retire-source`})}),_(),e(K.assistant,{replace:!0})})()},[e,_]),cancelTeleport:(0,X.useCallback)(()=>{let e=c.current,t=l.current;c.current=null,l.current=null,i({kind:`idle`}),bo(e,t,`teleport-cancel-retire-target`)},[]),reset:_}}async function _o(e,t,n,r){t(`Exporting assistant data...`);let i=await Ya(e,n);t(`Resolving organization...`);let a=await So();t(`Checking for existing assistant...`);let o=(await mt({query:{hosting:`platform`},throwOnError:!1})).data?.results?.[0];if(o)throw new Q(`existing_platform_assistant`,`You already have a platform assistant '${o.id}'. Retire it first, then retry the teleport.`);t(`Uploading data to cloud...`);let s=await ro(e.resources?.runtimeVersion);await ao(s.url,i,n),t(`Setting up cloud assistant...`);let c=await gt(void 0,`create`);if(!c.ok)throw new Q(`import_failed`,`Failed to set up the cloud assistant.`);if(c.status===200)throw new Q(`existing_platform_assistant`,`You already have a platform assistant '${c.data.id}'. Retire it first, then retry the teleport.`);let l=c.data.id;await De({assistantId:l,name:c.data.name,cloud:`vellum`,runtimeUrl:Me(),hatchedAt:c.data.created??new Date().toISOString(),organizationId:a}),await Oe(e.assistantId),r.current={id:l,kind:`managed`,createdFresh:!0},t(`Finalizing cloud assistant...`),await Co(l),t(`Importing data to cloud...`);let u=await co(s.bundleKey);if(u.status<200||u.status>=300){let e=u.body;throw new Q(`import_failed`,e?.error??`Import failed (HTTP ${u.status}).`)}if(u.status===202){let e=u.body?.job_id;if(!e)throw new Q(`import_failed`,`Import accepted but no job ID returned.`);await wo(e)}else{let e=u.body;if(e&&e.success===!1)throw new Q(`import_failed`,e.error??`Import reported failure.`)}}async function vo(e,t,n,r){t(`Preparing export...`);let i=await ro(await xo(e.assistantId),`runtime`);t(`Exporting cloud data...`);let a=await Za(e.assistantId,i.url);await To(e.assistantId,a),t(`Preparing local assistant...`);let{assistant:o,createdFresh:s}=await Eo();r.current={id:o.assistantId,kind:`local`,createdFresh:s};let c=await yo(o,s);if(!c)throw new Q(`local_assistant_not_found`,`Could not determine the local assistant's runtime version. Restart or upgrade the local assistant, then retry the teleport.`);t(`Preparing import...`);let l=await io(i.bundleKey,c);t(`Downloading data...`);let u=await so(l,n);t(`Importing data...`),await Oo(o,u),await Oe(e.assistantId)}async function yo(e,t){if(e.resources?.runtimeVersion)return e.resources.runtimeVersion;if(t)return(await mn())?.version??void 0}async function bo(e,t,n){if(e?.createdFresh){let t=await tn(e.id);t.ok||a(Error(t.error),{context:n})}t&&await Oe(t.id)}async function xo(e){let t=await _t(e);return t.ok?t.data.version??void 0:void 0}async function So(){let e=at.getState();e.organizations.length===0&&await e.fetchOrganizations();let t=at.getState().organizations,n=Xe();if(n&&t.some(e=>e.id===n))return n;if(t.length===0)throw new Q(`no_organizations`,`No organizations found for this account.`);if(t.length>1)throw new Q(`multiple_organizations`,`Multiple organizations found — please select one in account settings first.`);let r=t[0].id;return at.getState().setCurrentOrganizationId(r),r}async function Co(e){let t=Date.now();for(;Date.now()-t<po;){let{data:t,response:n}=await dt({path:{id:e},throwOnError:!1});if(n?.ok&&t?.state===`active`)return;await ho(uo)}}async function wo(e){let t=Date.now();for(;Date.now()-t<fo;){await ho(uo);let t=await lo(e);if(t.status===`complete`)return;if(t.status===`failed`)throw new Q(`import_failed`,t.error??`Import job failed`)}throw new Q(`import_failed`,`Import timed out after 60 minutes.`)}async function To(e,t){let n=Date.now();for(;Date.now()-n<fo;)if(await ho(uo),await Qa(e,t)===`complete`)return;throw new Q(`export_timed_out`,`Export timed out.`)}async function Eo(){let e=await je(void 0,void 0);if(!e.ok)throw new Q(`local_assistant_not_found`,e.error??`Could not create a local assistant.`);await Te();let t=e.assistantId?Ie().find(t=>t.assistantId===e.assistantId):Do();if(!t)throw new Q(`local_assistant_not_found`,`Could not find or create a local assistant.`);return{assistant:t,createdFresh:!0}}function Do(){return Ie().slice().sort((e,t)=>(t.hatchedAt??``).localeCompare(e.hatchedAt??``))[0]}async function Oo(e,t){let n;for(let r=0;r<mo;r++)try{await Xa(e,t);return}catch(e){n=e,await ho(1e3)}throw n instanceof Error?n:new Q(`import_failed`,`Import failed.`)}function ko(){let{t:e}=l(`settings`),t=go(),{destination:n,phase:r}=t;return n?(0,Z.jsxs)(Y,{title:e(`teleportCard.title`),subtitle:e(`teleportCard.subtitle`),children:[r.kind===`idle`&&(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:Wa(n)}),(0,Z.jsx)(d,{variant:`outlined`,className:`self-start`,onClick:t.requestTeleport,children:Ua(n)})]}),r.kind===`transferring`&&(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[r.progress==null&&(0,Z.jsx)(j,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:r.step})]}),r.progress!=null&&(0,Z.jsx)(he,{value:r.progress,"aria-label":e(`teleportCard.progressAriaLabel`),className:`max-w-[240px]`})]}),r.kind===`verifying`&&(0,Z.jsx)(B,{tone:`success`,icon:(0,Z.jsx)(O,{className:`h-4 w-4`}),title:e(`teleportCard.verifyTitle`),actions:(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(d,{variant:`primary`,onClick:t.confirmAndSwitch,children:e(`teleportCard.confirmAndSwitch`)}),(0,Z.jsx)(d,{variant:`outlined`,onClick:t.cancelTeleport,children:e(`teleportCard.cancel`)})]})}),r.kind===`failed`&&(0,Z.jsx)(B,{tone:`error`,title:r.error,actions:(0,Z.jsx)(d,{variant:`outlined`,onClick:t.reset,children:e(`teleportCard.tryAgain`)})}),(0,Z.jsx)(Se,{open:t.confirmOpen,title:Ua(n),message:e(`teleportCard.confirmMessage`),confirmLabel:e(`teleportCard.confirmLabel`),onConfirm:t.confirm,onCancel:t.cancelConfirm})]}):null}function Ao(){let{t:e}=l(`settings`),{assistant:t,healthz:n,healthzLoading:r,healthzPolling:i,refetch:a,refetchUntilResized:o}=Sn(),s=q.use.multiPlatformAssistant(),c=q.use.teleport(),u=q.use.accountMfa(),m=$t.use.settingsSleepPolicy(),h=tt(),g=xt(),_=ze()||h||ke()||g,v=f(),y=Ct(),b=Ct({platformHostedOnly:!0}),x=Tt(),S=F({assistantId:t?.id??null,enabled:b===`full`&&x}),[C,w]=(0,X.useState)(!1),[T,E]=(0,X.useState)(!1),[D,O]=p();(0,X.useEffect)(()=>{if(D.get(`preferences`)!==`open`)return;let e=new URLSearchParams(D);e.delete(`preferences`),O(e,{replace:!0}),E(!0)},[D,O]);let k=t?.is_local&&!ze()?null:t,A=Le(),j=ze()&&!!t&&!!A&&Ne(A),M=j,N=j&&!ke(),P=b===`full`&&!!k||N&&!!t;(0,X.useEffect)(()=>{!t||window.location.hash!==`#storage-resources`||requestAnimationFrame(()=>{document.getElementById(`storage-resources`)?.scrollIntoView({block:`start`})})},[t]);let I=n?.version??t?.current_release_version??null,ee=()=>{let e=Fe();if(ke()&&!g&&e){let t=new URLSearchParams({register:vt()}),n=Re();n&&t.set(`name`,n);let r=new URL(e).origin;window.location.assign(`${r}${K.selectAssistant}?${t.toString()}`);return}v(`${K.selectAssistant}?noAutoSkip=1`)},L=(y===`full`||M)&&!!k||y===`disabled`&&!M,R=b!==`gated`;return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[S.status&&S.mode!==`inactive`&&(0,Z.jsx)(re,{status:S.status,mode:S.mode,isAcknowledging:S.isAcknowledging,acknowledgeError:S.acknowledgeError?.message??null,onAcknowledge:()=>void S.acknowledge(),onReviewWorkspaceData:()=>void v(`${K.workspace}?sort=size`),onUpgradeStorage:b===`full`?()=>void v(K.plans):null}),(0,Z.jsxs)(Un,{assistant:x?k:null,showHandles:h&&y===`full`,children:[(0,Z.jsx)(Ea,{}),u&&y!==`gated`&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`border-t border-[var(--border-subtle)]`}),(0,Z.jsxs)(`section`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:e(`generalPage.twoFactorTitle`)}),(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e(`generalPage.twoFactorDescription`)}),(0,Z.jsx)(`div`,{className:`mt-1`,children:y===`disabled`?(0,Z.jsx)(J,{children:e(`generalPage.twoFactorLoginNotice`)}):(0,Z.jsx)(La,{})})]})]})]}),(0,Z.jsx)(Y,{title:e(`generalPage.versionTitle`),subtitle:e(`generalPage.versionSubtitle`),accessory:b===`full`&&k?(0,Z.jsx)(d,{variant:`outlined`,onClick:()=>w(!0),children:e(`generalPage.updateWindow`)}):void 0,children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[b===`full`&&k&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(tr,{assistantId:k.id,currentVersion:I,releaseChannel:k.release_channel,onUpgradeComplete:()=>{a()}}),(0,Z.jsx)(ca,{assistantId:k.id,onComplete:()=>{a()}})]}),N&&t&&(0,Z.jsx)(nr,{assistantId:t.id,currentVersion:I,onUpgradeComplete:()=>{a()}}),!P&&t&&(0,Z.jsxs)(`div`,{className:`grid grid-cols-[140px_minmax(0,1fr)] gap-y-3`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e(`generalPage.current`)}),(0,Z.jsx)(Cn,{version:I,loading:r&&!t.current_release_version,assistantId:t.id??null})]}),b===`disabled`&&!N&&(0,Z.jsx)(J,{children:e(`generalPage.updatesLoginNotice`)})]})}),b===`full`&&k&&(0,Z.jsx)(Na,{assistantId:k.id,open:C,onClose:()=>w(!1)}),b===`full`&&t&&(0,Z.jsx)(ga,{assistant:t,healthz:n,healthzLoading:r,healthzPolling:i,refetch:a,refetchUntilResized:o}),b===`disabled`&&(0,Z.jsx)(Y,{id:`storage-resources`,title:e(`generalPage.computeResourcesTitle`),subtitle:e(`generalPage.computeResourcesSubtitle`),children:(0,Z.jsx)(J,{children:e(`generalPage.computeResourcesLoginNotice`)})}),(0,Z.jsx)(Y,{title:e(`generalPage.preferencesTitle`),subtitle:e(`generalPage.preferencesSubtitle`),accessory:(0,Z.jsx)(d,{variant:`outlined`,onClick:()=>E(!0),children:e(`generalPage.customize`)}),children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,Z.jsx)(An,{}),(0,Z.jsx)(va,{})]})}),(0,Z.jsx)(ra,{open:T,onClose:()=>E(!1)}),c&&Ue()&&(0,Z.jsx)(ko,{}),(0,Z.jsx)(ar,{}),(0,Z.jsx)(Yi,{}),b===`full`&&k&&m&&(0,Z.jsx)(Y,{title:e(`generalPage.sleepPolicyTitle`),subtitle:e(`generalPage.sleepPolicySubtitle`),children:(0,Z.jsx)(Zn,{assistantId:k.id})}),b===`disabled`&&m&&(0,Z.jsx)(Y,{title:e(`generalPage.sleepPolicyTitle`),subtitle:e(`generalPage.sleepPolicySubtitle`),children:(0,Z.jsx)(J,{children:e(`generalPage.sleepPolicyLoginNotice`)})}),s&&!_&&(0,Z.jsx)(Kn,{}),_&&(0,Z.jsx)(Y,{title:e(`generalPage.switchAssistantTitle`),subtitle:e(`generalPage.switchAssistantSubtitle`),accessory:(0,Z.jsx)(d,{variant:`outlined`,onClick:ee,children:e(`generalPage.chooseAssistant`)})}),(L||R)&&(0,Z.jsx)(Y,{variant:`danger`,title:e(`generalPage.dangerZoneTitle`),children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[L&&(0,Z.jsxs)(`section`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:e(`generalPage.retireAssistantTitle`)}),(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e(`generalPage.retireAssistantDescription`)}),(0,Z.jsx)(`div`,{className:`mt-1`,children:(y===`full`||M)&&k?(0,Z.jsx)(_a,{assistantId:k.id}):(0,Z.jsx)(J,{children:e(`generalPage.retireAssistantLoginNotice`)})})]}),L&&R&&(0,Z.jsx)(`div`,{className:`border-t border-[var(--border-subtle)]`}),(0,Z.jsx)(rr,{})]})})]})}export{Ao as GeneralPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,f as n,h as r,k as i,l as a,p as o,s,t as c,v as l}from"./i18n-BDfnKs41.js";import{t as u}from"./react-DJZBPgpf.js";import{t as d}from"./button-B1kEAcLt.js";import{d as f,h as p,t 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{t as y}from"./cn-naJKasky.js";import{t as b}from"./card-B4b9cF6X.js";import{d as x,o as S}from"./list-row-BvCm9O6y.js";import{t as C}from"./createLucideIcon-CMfEC_aW.js";import{t as w}from"./bell-B3GoRAIC.js";import{t as T}from"./check-bDVYejGM.js";import{t as E}from"./chevron-down-D437oaYt.js";import{t as D}from"./circle-alert-BaeJJrSp.js";import{t as O}from"./circle-check-CnoFVsRZ.js";import{t as k}from"./hard-drive-CXysKjuo.js";import{t as A}from"./heart-DF_JiyEl.js";import{t as j}from"./loader-circle-DZ65N8bz.js";import{t as M}from"./monitor-BKwWxjph.js";import{t as N}from"./moon-MfogEw5q.js";import{C as P,d as F,g as I,h as ee,i as L,l as R,n as z,o as te,t as ne,u as re,w as ie,x as ae}from"./composer-settings-C-0rpzHA.js";import{t as oe}from"./refresh-cw-BDh1a2sj.js";import{n as se,t as ce}from"./relative-time-COU7Zqre.js";import{t as le}from"./rotate-ccw-BYcZOtjy.js";import{t as ue}from"./smartphone-P7vq0dcA.js";import{t as de}from"./sparkles-D6kBPNlr.js";import{t as fe}from"./sun-Dtr03Yty.js";import{t as pe}from"./triangle-alert-B6J57Xfo.js";import{t as me}from"./x-nhRPd-Mz.js";import{t as B}from"./notice-BHeYlKvv.js";import{t as he}from"./progress-bar-C9zSzt4m.js";import{B as ge,V as _e,o as ve,r as ye,s as V}from"./src-BKET5Cno.js";import{t as be}from"./tag-DAsImP7W.js";import{t as H}from"./input-ChbJ2nzd.js";import{t as xe}from"./toggle-CdhdS_iC.js";import{t as U}from"./modal-_49mDK_d.js";import{n as W}from"./toast-BKrDuNtu.js";import{t as Se}from"./confirm-dialog-EPYSBP_B.js";import{t as Ce}from"./select-DmdFZj4l.js";import{t as we}from"./skeleton-BV6nOVEl.js";import{C as Te,K as Ee,M as De,P as Oe,S as ke,U as Ae,V as je,Z as Me,_ as Ne,a as Pe,f as Fe,i as Ie,p as Le,u as Re,v as ze,z as Be}from"./local-mode-BQ8gp0wB.js";import{i as Ve,l as He}from"./local-settings-D9SNRv4p.js";import{t as Ue}from"./is-electron-D45bjFI8.js";import{r as We}from"./resolved-assistants-store-DEtotxhR.js";import{t as Ge}from"./Trans-v2rRKTPL.js";import{r as Ke,t as qe}from"./semver-CeGQrxWZ.js";import{i as Je,r as Ye}from"./utils-CAI1IDgW.js";import{$ as Xe,E as Ze,S as Qe,T as $e,Z as et,a as tt,g as nt,n as rt,q as it,tt as at,w as ot,x as st}from"./auth-store-CjmqULlA.js";import{t as G}from"./client.gen-D1UKq9QZ.js";import{$ as ct,C as lt,Gt as ut,N as dt,P as ft,Q as pt,T as mt,W as ht}from"./sdk.gen-CrcsMCNX.js";import{h as gt,p as _t}from"./use-assistant-avatar-CT8Pozwx.js";import{c as vt}from"./remote-gateway-session-C3H0Oq0r.js";import{f as K}from"./routes-C6ueuiMd.js";import{d as yt,f as bt,g as xt,s as St}from"./platform-detection-BVSM8PRh.js";import{i as Ct,r as wt,t as Tt}from"./use-platform-gate-PHzS1_gQ.js";import{r as Et}from"./use-is-org-ready-TE5xIhFU.js";import{et as Dt}from"./react-query.gen-C_GLKG7m.js";import{t as q}from"./client-feature-flag-store-BmjgGl9P.js";import{t as Ot}from"./use-bus-subscription-DfxTm1-Q.js";import{A as kt,D as At,E as jt,Ft as Mt,It as Nt,Lt as Pt,N as Ft,Nt as It,O as Lt,Ot as Rt,P as zt,Pt as Bt,Rt as Vt,T as Ht,c as Ut,ft as Wt,j as Gt,k as Kt,kt as qt,mt as Jt,v as Yt,w as Xt,wt as Zt}from"./react-query.gen-C5widOeH.js";import{t as Qt}from"./hard-navigate-BVv7q79D.js";import{t as $t}from"./assistant-feature-flag-store-Co_o5uD3.js";import{t as en}from"./pointer-DktxhCd8.js";import{n as tn,t as nn}from"./retire-confirm-dialog-B3ZUAlmZ.js";import{a as rn,i as an,r as on,s as sn}from"./local-runtime-upgrade-8SxM3rIp.js";import{t as cn}from"./copy-to-clipboard-CIyU3zmr.js";import{t as ln}from"./proxy-CROyCGs8.js";import{t as un}from"./AnimatePresence-BkWQRluv.js";import{t as dn}from"./use-reduced-motion-CVyEdyEe.js";import{t as J}from"./platform-login-notice-Dq3m5QWH.js";import{t as fn}from"./use-active-assistant-id-lxYJu99R.js";import{t as pn}from"./use-copy-to-clipboard-IWl9ygbI.js";import{t as Y}from"./detail-card-D9EAxXI8.js";import{t as mn}from"./app-info-CBSIGREh.js";import{a as hn,i as gn,l as _n,o as vn}from"./machine-sizes-CoWjZd83.js";import{t as yn}from"./environment-store-DEyTyd0y.js";import{a as bn,i as xn,n as Sn,r as Cn,t as wn}from"./assistant-status-panel-DVk8iz06.js";import{t as Tn}from"./use-hotkey-recorder-BQEYtl-Y.js";import{t as En}from"./settings-divider-SUwXIK4c.js";var Dn=C(`fingerprint-pattern`,[[`path`,{d:`M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4`,key:`1nerag`}],[`path`,{d:`M14 13.12c0 2.38 0 6.38-1 8.88`,key:`o46ks0`}],[`path`,{d:`M17.29 21.02c.12-.6.43-2.3.5-3.02`,key:`ptglia`}],[`path`,{d:`M2 12a10 10 0 0 1 18-6`,key:`ydlgp0`}],[`path`,{d:`M2 16h.01`,key:`1gqxmh`}],[`path`,{d:`M21.8 16c.2-2 .131-5.354 0-6`,key:`drycrb`}],[`path`,{d:`M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2`,key:`1tidbn`}],[`path`,{d:`M8.65 22c.21-.66.45-1.32.57-2`,key:`13wd9y`}],[`path`,{d:`M9 6.8a6 6 0 0 1 9 5.2v2`,key:`1fr1j5`}]]),On=C(`server`,[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]),kn=C(`vibrate`,[[`path`,{d:`m2 8 2 2-2 2 2 2-2 2`,key:`sv1b1`}],[`path`,{d:`m22 8-2 2 2 2-2 2 2 2`,key:`101i4y`}],[`rect`,{width:`8`,height:`14`,x:`8`,y:`5`,rx:`1`,key:`1oyrl4`}]]),X=e(u(),1),Z=v();function An(){let{t:e}=l(`settings`),t=q.use.velvet(),{theme:n,setThemePreference:r}=ee(),i=[{value:`system`,label:e(`themePicker.system`),icon:(0,Z.jsx)(M,{className:`h-4 w-4`})},{value:`light`,label:e(`themePicker.light`),icon:(0,Z.jsx)(fe,{className:`h-4 w-4`})},{value:`dark`,label:e(`themePicker.dark`),icon:(0,Z.jsx)(N,{className:`h-4 w-4`})},...t?[{value:`velvet`,label:e(`themePicker.velvet`),icon:(0,Z.jsx)(A,{className:`h-4 w-4`})}]:[]];return(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:e(`themePicker.title`)}),(0,Z.jsx)(`div`,{className:`mt-2 max-w-[360px]`,children:(0,Z.jsx)(S,{ariaLabel:e(`themePicker.ariaLabel`),value:n,onChange:r,items:i})})]})}var jn=st,Mn=`Please choose a different handle.`;async function Nn(e,t){let{data:n,error:i,response:a}=await ft({path:{id:e},body:{handle:t},throwOnError:!1});if(!a)return{kind:`error`,message:r(i,void 0,`Failed to save handle.`)??`Failed to save handle.`};if(a.ok&&n)return{kind:`ok`,data:n};if(a.status===409){let{message:e}=Ze(i,`handle`,jn.taken);return{kind:`taken`,message:e}}if(a.status===400){let{code:e,message:t}=Ze(i,`handle`,Mn);return{kind:`invalid`,code:e,message:t}}return{kind:`error`,message:r(i,a,`Failed to save handle.`)}}async function Pn(e,t,i){let{data:a,error:s,response:c}=await lt({path:{assistant_id:e},query:{handle:t},signal:i,throwOnError:!1});if(o(c,s,`Failed to check handle availability.`),!c.ok||!a)throw new n(c.status,c.status===429?`Too many checks — try again in a moment.`:r(s,c,`Failed to check handle availability.`));return{available:a.available,code:a.code??null,message:a.message??null}}function Fn(e){return/\d{2,}$/.test(e)}var In=300,Ln=1400;function Rn({initialHandle:e,inputLabel:t,helperText:n,idleHelperText:r,checkAvailable:i,save:a,onSaved:o,saveSuccessToast:s,fieldId:c}){let{t:u}=l(),[f,p]=(0,X.useState)(e),[m,h]=(0,X.useState)(null),[g,_]=(0,X.useState)(!1),[v,y]=(0,X.useState)(`idle`),[b,x]=(0,X.useState)(null),S=dn(),C=(0,X.useRef)(null),w=(0,X.useMemo)(()=>f.trim().toLowerCase(),[f]),E=w===e.toLowerCase();(0,X.useEffect)(()=>{if(E||w.length===0){_(!1),C.current?.abort();return}let e=new AbortController;C.current?.abort(),C.current=e,_(!0);let t=window.setTimeout(async()=>{try{let t=await i(w,e.signal);e.signal.aborted||h(t)}catch(t){e.signal.aborted||x(t instanceof Error?t.message:u(`profileCard.checkAvailabilityFailed`))}finally{e.signal.aborted||_(!1)}},In);return()=>{window.clearTimeout(t),e.abort()}},[w,E,i,u]);let O=(()=>{if(b)return b;if(m&&!m.available){let e=m.code;return m.message??(e?jn[e]:u(`profileCard.chooseDifferentHandle`))}return null})(),k=O?n:E?r??null:g?u(`profileCard.checkingAvailability`):m?.available?u(`profileCard.availableHelper`):null,A=!E&&!g&&m?.available!==!1&&v!==`saving`,M=(0,X.useCallback)(async()=>{if(!A)return;y(`saving`),x(null);let e=await a(w);if(e.kind===`ok`){y(`saved`),o(e.data),W.success(s),window.setTimeout(()=>y(`idle`),Ln);return}if(e.kind===`taken`){y(`idle`),h({available:!1,code:`taken`,message:e.message});return}if(e.kind===`invalid`){y(`idle`),h({available:!1,code:e.code,message:e.message});return}y(`error`),x(e.message),W.error(e.message)},[A,w,o,a,s]),N=(()=>{if(E&&f.length>0||f.length===0)return null;let e=g?`checking`:m?.available?`available`:m?.available===!1?`invalid`:null;return e?(0,Z.jsx)(un,{mode:`wait`,initial:!1,children:(0,Z.jsxs)(ln.span,{initial:S?!1:{opacity:0,scale:.85},animate:{opacity:1,scale:1},exit:S?void 0:{opacity:0,scale:.85},transition:{duration:.14,ease:`easeOut`},className:`flex items-center`,"aria-hidden":e!==`available`&&e!==`invalid`,children:[e===`checking`&&(0,Z.jsx)(j,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),e===`available`&&(0,Z.jsx)(T,{className:`h-4 w-4 text-[var(--system-positive-strong)]`,"aria-label":u(`profileCard.available`)}),e===`invalid`&&(0,Z.jsx)(D,{className:`h-4 w-4 text-[var(--system-negative-strong)]`,"aria-label":u(`profileCard.notAvailable`)})]},e)}):null})(),P=(()=>{switch(v){case`saving`:return(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Z.jsx)(j,{className:`h-3.5 w-3.5 animate-spin`,"aria-hidden":!0}),u(`profileCard.saving`)]});case`saved`:return(0,Z.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,Z.jsx)(T,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),u(`profileCard.saved`)]});default:return u(`profileCard.save`)}})();return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Z.jsx)(H,{label:t,value:f,onChange:e=>{p(e.target.value.replace(/\s+/g,``)),h(null),x(null)},autoCorrect:`off`,autoCapitalize:`none`,spellCheck:!1,maxLength:30,leftIcon:(0,Z.jsx)(`span`,{className:`select-none font-mono text-[var(--content-tertiary)]`,"aria-hidden":!0,children:`@`}),rightIcon:N,errorText:O??void 0,helperText:k??void 0,"aria-invalid":!!O,fullWidth:!0,"data-testid":`${c}-input`}),(!E||v!==`idle`)&&(0,Z.jsx)(`div`,{className:`flex justify-end`,children:(0,Z.jsx)(d,{variant:`primary`,size:`compact`,onClick:M,disabled:!A,"aria-live":`polite`,"data-testid":`${c}-save`,children:P})})]})}function zn({initial:e,onSaved:t}){let{t:n}=l(),r=rt.use.refreshSession(),i=Fn(e.username)?n(`profileCard.userHandleIdleAutoGenerated`):void 0,a=(0,X.useCallback)(async e=>await $e({username:e}),[]),o=(0,X.useCallback)((e,t)=>Qe(e,t),[]),s=(0,X.useCallback)(e=>{t(e),r()},[t,r]);return(0,Z.jsx)(Rn,{initialHandle:e.username,inputLabel:n(`profileCard.userHandleLabel`),helperText:n(`profileCard.handleHelper`),idleHelperText:i,checkAvailable:o,save:a,onSaved:s,saveSuccessToast:n(`profileCard.profileUpdated`),fieldId:`user-handle`})}function Bn({assistant:e,onSaved:t}){let{t:n}=l(),r=e.handle??``,i=g({...Ut({path:{assistant_id:e.id}})}).data?.results?.[0],a=!!i&&i.subdomain.toLowerCase()===r.toLowerCase(),o=r.length===0?n(`profileCard.assistantHandleIdleEmpty`):void 0,s=(0,X.useCallback)(async t=>await Nn(e.id,t),[e.id]),c=(0,X.useCallback)((t,n)=>Pn(e.id,t,n),[e.id]);return a?(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(H,{label:n(`profileCard.assistantHandleLabel`),value:r,readOnly:!0,disabled:!0,leftIcon:(0,Z.jsx)(`span`,{className:`select-none font-mono text-[var(--content-tertiary)]`,"aria-hidden":!0,children:`@`}),fullWidth:!0,"data-testid":`assistant-handle-input`}),(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:(0,Z.jsx)(Ge,{i18nKey:`profileCard.handleLocked`,components:{releaseLink:(0,Z.jsx)(m,{to:`${K.settings.ai}?release=1#email`,className:`text-[var(--content-link)] underline hover:text-[var(--content-link-hover)]`})}})})]}):(0,Z.jsx)(Rn,{initialHandle:r,inputLabel:n(`profileCard.assistantHandleLabel`),helperText:n(`profileCard.handleHelper`),idleHelperText:o,checkAvailable:c,save:s,onSaved:t,saveSuccessToast:n(`profileCard.assistantHandleUpdated`),fieldId:`assistant-handle`})}function Vn(){let{t:e}=l();return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4`,"aria-busy":!0,"aria-live":`polite`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(we,{className:`h-3 w-16`}),(0,Z.jsx)(we,{className:`h-9 w-full rounded-md`}),(0,Z.jsx)(we,{className:`h-3 w-72`})]}),(0,Z.jsx)(we,{className:`h-9 w-full rounded-md`}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Z.jsx)(we,{className:`h-3 w-60`}),(0,Z.jsx)(we,{className:`h-7 w-16 rounded-md`})]}),(0,Z.jsx)(`span`,{className:`sr-only`,children:e(`profileCard.loading`)})]})}function Hn(){return(0,Z.jsx)(`div`,{className:`border-t border-[var(--border-subtle)]`})}function Un({assistant:e,showHandles:t=!0,children:n}={}){let{t:r}=l(),i=rt.use.user?.()?.email??null;return(0,Z.jsx)(Y,{title:r(`profileCard.title`),subtitle:r(`profileCard.subtitle`),children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[i&&(0,Z.jsx)(`div`,{className:`max-w-[420px]`,children:(0,Z.jsx)(H,{label:r(`profileCard.emailLabel`),value:i,disabled:!0,readOnly:!0})}),t&&(0,Z.jsxs)(Z.Fragment,{children:[i&&(0,Z.jsx)(Hn,{}),(0,Z.jsx)(Wn,{assistant:e})]}),n!=null&&(0,Z.jsxs)(Z.Fragment,{children:[(i||t)&&(0,Z.jsx)(Hn,{}),n]})]})})}function Wn({assistant:e}){let[t,n]=(0,X.useState)(null),[r,i]=(0,X.useState)(null),a=dn(),[o,s]=(0,X.useState)(e??null);return(0,X.useEffect)(()=>{s(e??null)},[e]),(0,X.useEffect)(()=>{let e=!1;return ot().then(t=>{e||n(t)}).catch(t=>{e||i(t instanceof Error?t.message:`Failed to load profile.`)}),()=>{e=!0}},[]),r?(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:r}):t?(0,Z.jsxs)(ln.div,{initial:a?!1:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.22,ease:`easeOut`},className:`flex flex-col gap-6`,children:[(0,Z.jsx)(zn,{initial:t,onSaved:n}),o&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`border-t border-[var(--border-subtle)]`}),(0,Z.jsx)(Bn,{assistant:o,onSaved:s})]})]}):(0,Z.jsx)(Vn,{})}var Gn=Yt({query:{hosting:`platform`}});function Kn(){let{t:e}=l(`settings`),t=fn(),n=g(Gn),r=n.data?.results??[];return n.isPending||r.length<2?null:(0,Z.jsx)(Y,{title:e(`assistantPicker.title`),subtitle:e(`assistantPicker.subtitle`),children:(0,Z.jsx)(`div`,{className:`space-y-2`,children:r.map(n=>{let r=n.id===t;return(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-4 rounded-lg border px-4 py-3 ${r?`border-[var(--border-focus)] bg-[var(--surface-lift)]`:`border-[var(--border-base)] bg-[var(--surface-default)]`}`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,Z.jsx)(M,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)]`}),(0,Z.jsx)(`div`,{className:`min-w-0`,children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:n.name||e(`assistantPicker.unnamed`)}),n.status!==`active`&&(0,Z.jsx)(be,{tone:`warning`,children:n.status})]})})]}),(0,Z.jsx)(`div`,{className:`shrink-0`,children:r?(0,Z.jsxs)(`span`,{className:`flex items-center gap-1.5 text-body-small-default text-[var(--system-positive-default)]`,children:[(0,Z.jsx)(T,{className:`h-4 w-4`}),e(`assistantPicker.active`)]}):(0,Z.jsx)(d,{variant:`outlined`,size:`compact`,disabled:n.status!==`active`,onClick:()=>{et(n.id),W.success(e(`assistantPicker.switchedToast`))},children:e(`assistantPicker.switch`)})})]},n.id)})})})}var qn=[0,300,600,3600,10800,86400,259200,604800,1209600,2592e3],Jn=new Set([300,600]);function Yn(e,t){if(e===0)return t(`assistantSleepPolicy.neverSleep`);let n=Math.floor(e/86400),r=Math.floor(e%86400/3600);if(n>0&&r>0)return t(`assistantSleepPolicy.daysHours`,{days:n,hours:r});if(n>0)return t(`assistantSleepPolicy.days`,{days:n});if(r>0)return t(`assistantSleepPolicy.hours`,{hours:r});let i=Math.floor(e/60);return i>0?t(`assistantSleepPolicy.minutes`,{minutes:i}):t(`assistantSleepPolicy.seconds`,{seconds:e})}function Xn(e,t){switch(e){case 0:return t(`assistantSleepPolicy.presetNever`);case 300:return t(`assistantSleepPolicy.preset5Min`);case 600:return t(`assistantSleepPolicy.preset10Min`);case 3600:return t(`assistantSleepPolicy.preset1Hour`);case 10800:return t(`assistantSleepPolicy.preset3Hours`);case 86400:return t(`assistantSleepPolicy.preset1Day`);case 259200:return t(`assistantSleepPolicy.preset3Days`);case 604800:return t(`assistantSleepPolicy.preset7Days`);case 1209600:return t(`assistantSleepPolicy.preset14Days`);case 2592e3:return t(`assistantSleepPolicy.preset30Days`);default:return Yn(e,t)}}function Zn({assistantId:e}){let{t}=l(`settings`),n=h(),r=yn.use.isNonProduction(),i=(0,X.useMemo)(()=>qn.filter(e=>!Jn.has(e)||r),[r]),{data:a,isLoading:o,isError:s}=g(kt({path:{id:e}})),c=(0,X.useMemo)(()=>a?.idle_timeout_seconds??259200,[a]),[u,f]=(0,X.useState)(null),p=u??c,m=u!==null,_=qt({onSuccess:()=>{W.success(t(`assistantSleepPolicy.savedToast`)),f(null),n.invalidateQueries({queryKey:Gt({path:{id:e}})})},onError:()=>{W.error(t(`assistantSleepPolicy.saveErrorToast`))}});return o?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(j,{className:`h-4 w-4 animate-spin`}),t(`assistantSleepPolicy.loading`)]}):s?(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:t(`assistantSleepPolicy.loadError`)}):(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`label`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:t(`assistantSleepPolicy.idleTimeout`)}),(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t(`assistantSleepPolicy.idleTimeoutDescription`)}),(0,Z.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:i.map(e=>(0,Z.jsx)(d,{variant:`outlined`,active:p===e,onClick:()=>f(e),children:Xn(e,t)},e))}),(0,Z.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:t(`assistantSleepPolicy.current`,{duration:Yn(p,t)})})]}),m&&(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(d,{variant:`primary`,leftIcon:_.isPending?(0,Z.jsx)(j,{className:`animate-spin`}):void 0,onClick:()=>_.mutate({path:{id:e},body:{idle_timeout_seconds:p}}),disabled:_.isPending,children:t(`assistantSleepPolicy.save`)}),(0,Z.jsx)(d,{variant:`outlined`,onClick:()=>f(null),disabled:_.isPending,children:t(`assistantSleepPolicy.cancel`)})]})]})}function Qn(e,t,n){let r=[e.version];return e.version===n&&r.push(i(`settings:assistantUpgrades.latestSuffix`)),t&&e.version===t&&r.push(i(`settings:assistantUpgrades.currentSuffix`)),r.join(` `)}var $n=3e3;function er({version:e,assistantId:t}){let{onTap:n,message:r}=xn(t);return(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`block min-w-0 break-all text-left text-body-medium-lighter text-[var(--content-default)]`,onClick:n,children:e??`—`}),r&&(0,Z.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-accent)]`,children:r})]})}function tr({assistantId:e,currentVersion:t,releaseChannel:n,onUpgradeComplete:r}){let{t:i}=l(`settings`),a=$t.use.rollbackEnabled(),o=q.use.previewChannel(),s=h(),c=an(n,o),u=c===`preview`,[f,p]=(0,X.useState)(!1),m=(0,X.useRef)(null),[v,y]=(0,X.useState)(null),[b,x]=(0,X.useState)(!1),[S,C]=(0,X.useState)(!1),[w,T]=(0,X.useState)(null),E=e=>e&&m.current&&e===m.current?(queueMicrotask(()=>{T(i(S?`assistantUpgrades.successRolledBack`:`assistantUpgrades.successUpdated`,{version:m.current})),p(!1),m.current=null,y(null),W.success(i(S?`assistantUpgrades.toastRollbackComplete`:`assistantUpgrades.toastUpdateComplete`),{id:`runtime-upgrade-complete`,tone:`strong`}),r?.()}),!1):$n;g({...Lt({path:{id:e}}),refetchInterval:f?e=>E(e.state.data?.current_release_version):!1});let{data:D,isLoading:O}=g(Zt({query:{channel:c}})),k=D?.find(e=>e.is_stable!==!1)??D?.[0],A=v??k?.version??null,M=(0,X.useMemo)(()=>{if(!a||!A||!t)return!1;let e=Ke(A),n=Ke(t);return!e||!n?!1:qe(e,n)<0},[a,A,t]),N=(0,X.useMemo)(()=>{if(!A)return!1;if(!t)return!0;let e=Ke(A),n=Ke(t);if(!e||!n)return A!==t;let r=qe(e,n);return a?r!==0:r>0},[a,A,t]),P=_({mutationFn:async t=>{let{data:n}=await pt({path:{id:e},body:t,throwOnError:!0});return n}}),F=_({mutationFn:async t=>{let{data:n}=await ht({path:{id:e},body:t,throwOnError:!0});return n}}),I=async()=>{x(!1),T(null);let t=a?A??void 0:void 0;try{if(M){let e=await F.mutateAsync({version:t});m.current=e.version??t??null,W.success(e.detail||i(`assistantUpgrades.toastRollbackInitiated`,{version:t}))}else{let e=await P.mutateAsync({version:t});if(e.detail?.includes(`Already on the latest`)){W.warning(e.detail);return}m.current=e.version??t??null,W.success(e.detail||i(`assistantUpgrades.toastUpdateInitiated`,{version:e.version??t??i(`assistantUpgrades.latest`)}))}C(M),p(!0),s.invalidateQueries({queryKey:Kt({path:{id:e}})})}catch{W.error(i(M?`assistantUpgrades.toastRollbackFailed`:`assistantUpgrades.toastUpdateFailed`))}},ee=i(u?`assistantUpgrades.previewRelease`:N?M?`assistantUpgrades.rollbackTo`:`assistantUpgrades.updateTo`:`assistantUpgrades.selected`);return(0,Z.jsxs)(`div`,{className:`space-y-5`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4 md:grid md:grid-cols-[auto_minmax(0,1fr)] md:items-center md:gap-x-8 md:gap-y-4`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1 md:contents`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:i(`assistantUpgrades.current`)}),(0,Z.jsx)(er,{version:t,assistantId:e})]}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1 md:contents`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:ee}),(0,Z.jsx)(`span`,{className:`block min-w-0`,children:O?(0,Z.jsxs)(`span`,{className:`flex items-center gap-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(j,{className:`h-3 w-3 animate-spin`}),i(`assistantUpgrades.loading`)]}):D&&D.length>0?a?(0,Z.jsx)(Ce,{value:A??``,onChange:e=>y(e===k?.version?null:e),disabled:f||P.isPending||F.isPending,options:D.map(e=>({value:e.version,label:Qn(e,t,k?.version)}))}):(0,Z.jsx)(`span`,{className:`block min-w-0 break-all text-body-medium-lighter text-[var(--content-default)]`,children:k?Qn(k,t,k.version):`—`}):i(`assistantUpgrades.noReleases`)})]})]}),(0,Z.jsx)(d,{variant:M?`outlined`:`primary`,className:`min-w-[160px]`,leftIcon:P.isPending||F.isPending||f?(0,Z.jsx)(j,{className:`animate-spin`}):(0,Z.jsx)(oe,{}),onClick:()=>x(!0),disabled:!N||P.isPending||F.isPending||f||O||!D?.length,children:i(f?S?`assistantUpgrades.rollingBack`:`assistantUpgrades.updating`:M?`assistantUpgrades.rollback`:u?`assistantUpgrades.updatePreview`:`assistantUpgrades.update`)}),u&&(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:(0,Z.jsx)(Ge,{ns:`settings`,i18nKey:`assistantUpgrades.usingPreviewReleases`,components:{stableLink:(0,Z.jsx)(`a`,{href:`#preview-release-channel`,className:`text-[var(--primary-base)] underline-offset-2 hover:underline`})}})}),!N&&t&&A&&!O&&(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-positive-strong)]`,children:w??i(`assistantUpgrades.alreadyOnVersion`)}),(0,Z.jsx)(Se,{open:b,title:i(M?`assistantUpgrades.confirmRollbackTitle`:u?`assistantUpgrades.confirmPreviewTitle`:`assistantUpgrades.confirmUpdateTitle`),message:M?i(`assistantUpgrades.confirmRollbackMessage`,{version:A??i(`assistantUpgrades.unknown`)}):i(u?`assistantUpgrades.confirmPreviewMessage`:`assistantUpgrades.confirmUpdateMessage`,{version:A??i(`assistantUpgrades.latest`)}),confirmLabel:i(M?`assistantUpgrades.rollback`:u?`assistantUpgrades.updatePreview`:`assistantUpgrades.update`),onConfirm:I,onCancel:()=>x(!1)})]})}function nr({assistantId:e,currentVersion:t,onUpgradeComplete:n}){let{t:r}=l(`settings`),[i,a]=(0,X.useState)(!1),[o,s]=(0,X.useState)(null),{data:c,isLoading:u}=g(Zt({query:{stable:!0,limit:100}})),f=(0,X.useMemo)(()=>on(c),[c]),p=f?.version,m=t?rn(t,p):!!p,h=sn({assistantId:e,targetVersion:p});return(0,Z.jsxs)(`div`,{className:`space-y-5`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4 md:grid md:grid-cols-[auto_minmax(0,1fr)] md:items-center md:gap-x-8 md:gap-y-4`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1 md:contents`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:r(`assistantUpgrades.current`)}),(0,Z.jsx)(er,{version:t,assistantId:e})]}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1 md:contents`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:r(`assistantUpgrades.updateTo`)}),(0,Z.jsx)(`span`,{className:`block min-w-0 break-all text-body-medium-lighter text-[var(--content-default)]`,children:u?r(`assistantUpgrades.loading`):p&&f?Qn(f,t,p):r(`assistantUpgrades.noReleases`)})]})]}),(0,Z.jsx)(d,{variant:`primary`,className:`min-w-[160px]`,leftIcon:h.isPending?(0,Z.jsx)(j,{className:`animate-spin`}):(0,Z.jsx)(oe,{}),onClick:()=>a(!0),disabled:h.isPending||u||!p||!m,children:h.isPending?r(`assistantUpgrades.updating`):p?r(`assistantUpgrades.updateToVersion`,{version:p}):r(`assistantUpgrades.update`)}),o&&(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-positive-strong)]`,children:o}),!o&&!m&&p&&!u&&(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-positive-strong)]`,children:r(`assistantUpgrades.alreadyOnVersion`)}),(0,Z.jsx)(Se,{open:i,title:r(`assistantUpgrades.confirmUpdateTitle`),message:r(`assistantUpgrades.confirmUpdateMessage`,{version:p??r(`assistantUpgrades.latest`)}),confirmLabel:r(`assistantUpgrades.update`),onConfirm:async()=>{a(!1),s(null);try{s(r(`assistantUpgrades.successUpdated`,{version:(await h.upgrade()).version??p??r(`assistantUpgrades.latest`)})),W.success(r(`assistantUpgrades.toastUpdateComplete`),{id:`runtime-upgrade-complete`,tone:`strong`}),n?.()}catch(e){W.error(e instanceof Error?e.message:r(`assistantUpgrades.toastUpdateFailed`))}},onCancel:()=>a(!1)})]})}function rr(){let{t:e}=l(`settings`),t=Ct({platformHostedOnly:!0}),n=wt(),r=rt.use.user()?.id??null,i=rt.use.logout(),[a,o]=(0,X.useState)(!1),s=It({onSuccess:async()=>{W.success(e(`deleteAccountSection.toastRequested`)),nt(r),await i(),Qt(K.account.login)},onError:()=>{W.error(e(`deleteAccountSection.toastFailed`))}}),c=t===`full`&&n;return(0,X.useEffect)(()=>{c&&a&&o(!1)},[c,a]),t===`gated`?null:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`section`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:e(`deleteAccountSection.title`)}),(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e(`deleteAccountSection.description`)}),(0,Z.jsx)(`div`,{className:`mt-1`,children:t===`disabled`?(0,Z.jsx)(J,{children:e(`deleteAccountSection.platformLoginNotice`)}):(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(d,{variant:`dangerOutline`,onClick:()=>o(!0),disabled:s.isPending||c,className:`self-start`,children:e(`deleteAccountSection.deleteMyAccount`)}),c&&(0,Z.jsx)(j,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`})]})})]}),(0,Z.jsx)(Se,{open:a,title:e(`deleteAccountSection.confirmTitle`),message:e(`deleteAccountSection.confirmMessage`),confirmLabel:e(`deleteAccountSection.confirmLabel`),destructive:!0,onConfirm:()=>{if(c){o(!1);return}o(!1),s.mutate({})},onCancel:()=>o(!1)})]})}function ir({title:e,subtitle:t,benefits:n,ctaLabel:r,ctaLeftIcon:i,onAction:a}){return(0,Z.jsx)(Y,{title:e,subtitle:t,children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Z.jsx)(`ul`,{className:`space-y-3`,children:n.map(({icon:e,text:t})=>(0,Z.jsxs)(`li`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center rounded-md`,style:{background:`var(--surface-base)`},children:(0,Z.jsx)(e,{size:14,style:{color:`var(--content-secondary)`},"aria-hidden":!0})}),(0,Z.jsx)(`span`,{className:`text-body-medium-lighter text-[color:var(--content-secondary)]`,children:t})]},t))}),(0,Z.jsx)(d,{variant:`primary`,size:`regular`,leftIcon:i,onClick:a,className:`self-start`,children:r})]})})}function ar(){let{t:e}=l(`settings`),t=bt(),n=yt(),r=t?`ios`:n?`android`:null,i=r?L(r):null;return i?(0,Z.jsx)(ir,{title:e(`nativeAppCard.title`,{appName:i.appName}),subtitle:e(`nativeAppCard.subtitle`,{appName:i.appName}),benefits:[{icon:w,text:e(`nativeAppCard.benefitPush`)},{icon:Dn,text:e(`nativeAppCard.benefitBiometric`)},{icon:kn,text:e(`nativeAppCard.benefitHaptics`)},{icon:ue,text:e(`nativeAppCard.benefitHomeScreen`)}],ctaLabel:e(`nativeAppCard.download`),ctaLeftIcon:(0,Z.jsx)(ue,{size:16}),onAction:()=>{R(i.platform),te(i.platform)}}):null}var or=`0.10.0`;function sr(){return Je(or)}var cr=[`login.tailscale.com`,`tailscale.com`,`www.tailscale.com`,`ngrok.com`,`dashboard.ngrok.com`,`dash.cloudflare.com`,`cloudflare.com`,`www.cloudflare.com`];function lr(e){let t;try{t=new URL(e).hostname}catch{return!1}return cr.includes(t)}function ur(e){let t;try{t=new URL(e).hostname}catch{return null}return cr.includes(t)?t.includes(`tailscale`)?`Tailscale`:t.includes(`ngrok`)?`ngrok`:t.includes(`cloudflare`)?`Cloudflare`:null:null}function dr(e){try{let t=new URL(e).hostname;return t===`localhost`||t===`[::1]`||/^127(?:\.\d{1,3}){3}$/.test(t)}catch{return!1}}function fr(e){let t=new URL(e);t.search=``,t.hash=``;let n=t.pathname.split(`/`).filter(Boolean),r=n.indexOf(`assistant`);return r>=0&&n.splice(r),t.pathname=n.length?`/${n.join(`/`)}`:`/`,t.toString().replace(/\/+$/,``)}function pr(e){let t;try{t=fr(e)}catch{return{ok:!1,reason:`unparseable`}}return dr(t)?{ok:!1,reason:`loopback`}:lr(t)?{ok:!1,reason:`service-website`}:new URL(t).protocol===`https:`?{ok:!0,url:t}:{ok:!1,reason:`non-https`}}function mr(e){let t=new URL(e.verificationUri);return t.hash=new URLSearchParams({device_code:e.deviceCode}).toString(),t.toString()}function hr(e,t){switch(e){case`unparseable`:return i(`settings:pairDeviceUrl.unparseable`);case`loopback`:return i(`settings:pairDeviceUrl.loopback`);case`non-https`:return i(`settings:pairDeviceUrl.nonHttps`);case`service-website`:return i(`settings:pairDeviceUrl.serviceWebsite`,{service:t&&ur(t)||i(`settings:pairDeviceUrl.serviceFallbackName`)})}}var gr=`/v1/remote-web/pairing-challenge`,_r=`/v1/remote-web/pairing-verification`,vr=`/v1/remote-web/pairing-requests`,yr=`${vr}/approve`,br=`${vr}/deny`;function xr(){return i(`settings:pairDeviceClient.connectivityHint`)}var Sr=class extends Error{hint;status;code;constructor(e,t={}){super(e),this.name=`PairDeviceError`,this.hint=t.hint,this.status=t.status,this.code=t.code}},Cr=5e3;function wr(){if(typeof window>`u`)return null;let e=Le(),t=Pe(e);return t?{base:`${window.location.origin}${t}`,assistantName:e?.name?.trim()||null,ingressUrl:e?.ingressUrl?.trim()||null}:null}function Tr(e){let t=e?.error?.message;return typeof t==`string`&&t.trim()?t:null}function Er(e){let t=e?.error?.code;return typeof t==`string`&&t?t:void 0}async function Dr(e,t,n,r){let a;try{a=await fetch(e,{...t,signal:n})}catch(e){throw e instanceof DOMException&&e.name===`AbortError`?e:new Sr(i(`settings:pairDeviceClient.networkError`))}let o=await a.json().catch(()=>null);if(!a.ok)throw new Sr(Tr(o)??i(`settings:pairDeviceClient.httpError`,{status:a.status}),{hint:r,status:a.status,code:Er(o)});if(typeof o!=`object`||!o)throw new Sr(i(`settings:pairDeviceClient.unexpectedResponse`));return o}function Or(e,t,n,r){return Dr(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)},n,r)}async function kr(e){let{base:t,publicBaseUrl:n,signal:r}=e,i=await Or(`${t}${gr}`,{publicBaseUrl:n},r,xr());try{await Or(`${t}${_r}`,{userCode:i.userCode},r,xr())}catch(e){let n=AbortSignal.timeout(Cr);throw e instanceof DOMException&&e.name===`AbortError`?Ar(t,i.userCode,n):await Ar(t,i.userCode,r?AbortSignal.any([r,n]):n),e}return{pairUrl:mr(i),expiresAt:i.expiresAt}}async function Ar(e,t,n){try{let r=(await jr({base:e,signal:n})).find(e=>e.userCode===t);r&&await Pr({base:e,requestId:r.requestId,signal:n})}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)return;a(e,{context:`pair-device-orphan-cleanup`,bestEffort:!0})}}async function jr(e){let t=await Dr(`${e.base}${vr}`,{method:`GET`},e.signal);return Array.isArray(t.requests)?t.requests:[]}async function Mr(e,t){await Or(`${t.base}${e}`,{requestId:t.requestId},t.signal)}function Nr(e){return Mr(yr,e)}function Pr(e){return Mr(br,e)}var Fr=Object.defineProperty,Ir=Object.getOwnPropertySymbols,Lr=Object.prototype.hasOwnProperty,Rr=Object.prototype.propertyIsEnumerable,zr=(e,t,n)=>t in e?Fr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Br=(e,t)=>{for(var n in t||={})Lr.call(t,n)&&zr(e,n,t[n]);if(Ir)for(var n of Ir(t))Rr.call(t,n)&&zr(e,n,t[n]);return e},Vr=(e,t)=>{var n={};for(var r in e)Lr.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ir)for(var r of Ir(e))t.indexOf(r)<0&&Rr.call(e,r)&&(n[r]=e[r]);return n},Hr;(e=>{let t=class t{constructor(e,n,r,a){if(this.version=e,this.errorCorrectionLevel=n,this.modules=[],this.isFunction=[],e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version value out of range`);if(a<-1||a>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let o=[];for(let e=0;e<this.size;e++)o.push(!1);for(let e=0;e<this.size;e++)this.modules.push(o.slice()),this.isFunction.push(o.slice());this.drawFunctionPatterns();let s=this.addEccAndInterleave(r);if(this.drawCodewords(s),a==-1){let e=1e9;for(let t=0;t<8;t++){this.applyMask(t),this.drawFormatBits(t);let n=this.getPenaltyScore();n<e&&(a=t,e=n),this.applyMask(t)}}i(0<=a&&a<=7),this.mask=a,this.applyMask(a),this.drawFormatBits(a),this.isFunction=[]}static encodeText(n,r){let i=e.QrSegment.makeSegments(n);return t.encodeSegments(i,r)}static encodeBinary(n,r){let i=e.QrSegment.makeBytes(n);return t.encodeSegments([i],r)}static encodeSegments(e,r,a=1,s=40,c=-1,l=!0){if(!(t.MIN_VERSION<=a&&a<=s&&s<=t.MAX_VERSION)||c<-1||c>7)throw RangeError(`Invalid value`);let u,d;for(u=a;;u++){let n=t.getNumDataCodewords(u,r)*8,i=o.getTotalBits(e,u);if(i<=n){d=i;break}if(u>=s)throw RangeError(`Data too long`)}for(let e of[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH])l&&d<=t.getNumDataCodewords(u,e)*8&&(r=e);let f=[];for(let t of e){n(t.mode.modeBits,4,f),n(t.numChars,t.mode.numCharCountBits(u),f);for(let e of t.getData())f.push(e)}i(f.length==d);let p=t.getNumDataCodewords(u,r)*8;i(f.length<=p),n(0,Math.min(4,p-f.length),f),n(0,(8-f.length%8)%8,f),i(f.length%8==0);for(let e=236;f.length<p;e^=253)n(e,8,f);let m=[];for(;m.length*8<f.length;)m.push(0);return f.forEach((e,t)=>m[t>>>3]|=e<<7-(t&7)),new t(u,r,m,c)}getModule(e,t){return 0<=e&&e<this.size&&0<=t&&t<this.size&&this.modules[t][e]}getModules(){return this.modules}drawFunctionPatterns(){for(let e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0),this.setFunctionModule(e,6,e%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);let e=this.getAlignmentPatternPositions(),t=e.length;for(let n=0;n<t;n++)for(let r=0;r<t;r++)n==0&&r==0||n==0&&r==t-1||n==t-1&&r==0||this.drawAlignmentPattern(e[n],e[r]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){let t=this.errorCorrectionLevel.formatBits<<3|e,n=t;for(let e=0;e<10;e++)n=n<<1^(n>>>9)*1335;let a=(t<<10|n)^21522;i(a>>>15==0);for(let e=0;e<=5;e++)this.setFunctionModule(8,e,r(a,e));this.setFunctionModule(8,7,r(a,6)),this.setFunctionModule(8,8,r(a,7)),this.setFunctionModule(7,8,r(a,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,r(a,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,r(a,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,r(a,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;i(t>>>18==0);for(let e=0;e<18;e++){let n=r(t,e),i=this.size-11+e%3,a=Math.floor(e/3);this.setFunctionModule(i,a,n),this.setFunctionModule(a,i,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;0<=a&&a<this.size&&0<=o&&o<this.size&&this.setFunctionModule(a,o,i!=2&&i!=4)}}drawAlignmentPattern(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.setFunctionModule(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!=1)}setFunctionModule(e,t,n){this.modules[t][e]=n,this.isFunction[t][e]=!0}addEccAndInterleave(e){let n=this.version,r=this.errorCorrectionLevel;if(e.length!=t.getNumDataCodewords(n,r))throw RangeError(`Invalid argument`);let a=t.NUM_ERROR_CORRECTION_BLOCKS[r.ordinal][n],o=t.ECC_CODEWORDS_PER_BLOCK[r.ordinal][n],s=Math.floor(t.getNumRawDataModules(n)/8),c=a-s%a,l=Math.floor(s/a),u=[],d=t.reedSolomonComputeDivisor(o);for(let n=0,r=0;n<a;n++){let i=e.slice(r,r+l-o+(n<c?0:1));r+=i.length;let a=t.reedSolomonComputeRemainder(i,d);n<c&&i.push(0),u.push(i.concat(a))}let f=[];for(let e=0;e<u[0].length;e++)u.forEach((t,n)=>{(e!=l-o||n>=c)&&f.push(t[e])});return i(f.length==s),f}drawCodewords(e){if(e.length!=Math.floor(t.getNumRawDataModules(this.version)/8))throw RangeError(`Invalid argument`);let n=0;for(let t=this.size-1;t>=1;t-=2){t==6&&(t=5);for(let i=0;i<this.size;i++)for(let a=0;a<2;a++){let o=t-a,s=t+1&2?i:this.size-1-i;!this.isFunction[s][o]&&n<e.length*8&&(this.modules[s][o]=r(e[n>>>3],7-(n&7)),n++)}}i(n==e.length*8)}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t<this.size;t++)for(let n=0;n<this.size;n++){let r;switch(e){case 0:r=(n+t)%2==0;break;case 1:r=t%2==0;break;case 2:r=n%3==0;break;case 3:r=(n+t)%3==0;break;case 4:r=(Math.floor(n/3)+Math.floor(t/2))%2==0;break;case 5:r=n*t%2+n*t%3==0;break;case 6:r=(n*t%2+n*t%3)%2==0;break;case 7:r=((n+t)%2+n*t%3)%2==0;break;default:throw Error(`Unreachable`)}!this.isFunction[t][n]&&r&&(this.modules[t][n]=!this.modules[t][n])}}getPenaltyScore(){let e=0;for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[n][o]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[n][o],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[o][n]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[o][n],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size-1;n++)for(let r=0;r<this.size-1;r++){let i=this.modules[n][r];i==this.modules[n][r+1]&&i==this.modules[n+1][r]&&i==this.modules[n+1][r+1]&&(e+=t.PENALTY_N2)}let n=0;for(let e of this.modules)n=e.reduce((e,t)=>e+ +!!t,n);let r=this.size*this.size,a=Math.ceil(Math.abs(n*20-r*10)/r)-1;return i(0<=a&&a<=9),e+=a*t.PENALTY_N4,i(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(this.version==1)return[];{let e=Math.floor(this.version/7)+2,t=this.version==32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.length<e;r-=t)n.splice(1,0,r);return n}}static getNumRawDataModules(e){if(e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version number out of range`);let n=(16*e+128)*e+64;if(e>=2){let t=Math.floor(e/7)+2;n-=(25*t-10)*t-55,e>=7&&(n-=36)}return i(208<=n&&n<=29648),n}static getNumDataCodewords(e,n){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[n.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let n=[];for(let t=0;t<e-1;t++)n.push(0);n.push(1);let r=1;for(let i=0;i<e;i++){for(let e=0;e<n.length;e++)n[e]=t.reedSolomonMultiply(n[e],r),e+1<n.length&&(n[e]^=n[e+1]);r=t.reedSolomonMultiply(r,2)}return n}static reedSolomonComputeRemainder(e,n){let r=n.map(e=>0);for(let i of e){let e=i^r.shift();r.push(0),n.forEach((n,i)=>r[i]^=t.reedSolomonMultiply(n,e))}return r}static reedSolomonMultiply(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return i(n>>>8==0),n}finderPenaltyCountPatterns(e){let t=e[1];i(t<=this.size*3);let n=t>0&&e[2]==t&&e[3]==t*3&&e[4]==t&&e[5]==t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]==0&&(e+=this.size),t.pop(),t.unshift(e)}};t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],e.QrCode=t;function n(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function r(e,t){return(e>>>t&1)!=0}function i(e){if(!e)throw Error(`Assertion error`)}let a=class e{constructor(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw RangeError(`Invalid argument`);this.bitData=n.slice()}static makeBytes(t){let r=[];for(let e of t)n(e,8,r);return new e(e.Mode.BYTE,t.length,r)}static makeNumeric(t){if(!e.isNumeric(t))throw RangeError(`String contains non-numeric characters`);let r=[];for(let e=0;e<t.length;){let i=Math.min(t.length-e,3);n(parseInt(t.substring(e,e+i),10),i*3+1,r),e+=i}return new e(e.Mode.NUMERIC,t.length,r)}static makeAlphanumeric(t){if(!e.isAlphanumeric(t))throw RangeError(`String contains unencodable characters in alphanumeric mode`);let r=[],i;for(i=0;i+2<=t.length;i+=2){let a=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i))*45;a+=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i+1)),n(a,11,r)}return i<t.length&&n(e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i)),6,r),new e(e.Mode.ALPHANUMERIC,t.length,r)}static makeSegments(t){return t==``?[]:e.isNumeric(t)?[e.makeNumeric(t)]:e.isAlphanumeric(t)?[e.makeAlphanumeric(t)]:[e.makeBytes(e.toUtf8ByteArray(t))]}static makeEci(t){let r=[];if(t<0)throw RangeError(`ECI assignment value out of range`);if(t<128)n(t,8,r);else if(t<16384)n(2,2,r),n(t,14,r);else if(t<1e6)n(6,3,r),n(t,21,r);else throw RangeError(`ECI assignment value out of range`);return new e(e.Mode.ECI,0,r)}static isNumeric(t){return e.NUMERIC_REGEX.test(t)}static isAlphanumeric(t){return e.ALPHANUMERIC_REGEX.test(t)}getData(){return this.bitData.slice()}static getTotalBits(e,t){let n=0;for(let r of e){let e=r.mode.numCharCountBits(t);if(r.numChars>=1<<e)return 1/0;n+=4+e+r.bitData.length}return n}static toUtf8ByteArray(e){e=encodeURI(e);let t=[];for(let n=0;n<e.length;n++)e.charAt(n)==`%`?(t.push(parseInt(e.substring(n+1,n+3),16)),n+=2):t.push(e.charCodeAt(n));return t}};a.NUMERIC_REGEX=/^[0-9]*$/,a.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,a.ALPHANUMERIC_CHARSET=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`;let o=a;e.QrSegment=a})(Hr||={}),(e=>{(e=>{let t=class{constructor(e,t){this.ordinal=e,this.formatBits=t}};t.LOW=new t(0,1),t.MEDIUM=new t(1,0),t.QUARTILE=new t(2,3),t.HIGH=new t(3,2),e.Ecc=t})(e.QrCode||={})})(Hr||={}),(e=>{(e=>{let t=class{constructor(e,t){this.modeBits=e,this.numBitsCharCount=t}numCharCountBits(e){return this.numBitsCharCount[Math.floor((e+7)/17)]}};t.NUMERIC=new t(1,[10,12,14]),t.ALPHANUMERIC=new t(2,[9,11,13]),t.BYTE=new t(4,[8,16,16]),t.KANJI=new t(8,[8,10,12]),t.ECI=new t(7,[0,0,0]),e.Mode=t})(e.QrSegment||={})})(Hr||={});var Ur=Hr,Wr={L:Ur.QrCode.Ecc.LOW,M:Ur.QrCode.Ecc.MEDIUM,Q:Ur.QrCode.Ecc.QUARTILE,H:Ur.QrCode.Ecc.HIGH},Gr=128,Kr=`L`,qr=`#FFFFFF`,Jr=`#000000`,Yr=!1,Xr=1,Zr=4,Qr=0,$r=.1;function ei(e,t=0){let n=[];return e.forEach(function(e,r){let i=null;e.forEach(function(a,o){if(!a&&i!==null){n.push(`M${i+t} ${r+t}h${o-i}v1H${i+t}z`),i=null;return}if(o===e.length-1){if(!a)return;i===null?n.push(`M${o+t},${r+t} h1v1H${o+t}z`):n.push(`M${i+t},${r+t} h${o+1-i}v1H${i+t}z`);return}a&&i===null&&(i=o)})}),n.join(``)}function ti(e,t){return e.slice().map((e,n)=>n<t.y||n>=t.y+t.h?e:e.map((e,n)=>n<t.x||n>=t.x+t.w?e:!1))}function ni(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*$r),o=i/t,s=(r.width||a)*o,c=(r.height||a)*o,l=r.x==null?e.length/2-s/2:r.x*o,u=r.y==null?e.length/2-c/2:r.y*o,d=r.opacity==null?1:r.opacity,f=null;if(r.excavate){let e=Math.floor(l),t=Math.floor(u);f={x:e,y:t,w:Math.ceil(s+l-e),h:Math.ceil(c+u-t)}}let p=r.crossOrigin;return{x:l,y:u,h:c,w:s,excavation:f,opacity:d,crossOrigin:p}}function ri(e,t){return t==null?e?Zr:Qr:Math.max(Math.floor(t),0)}function ii({value:e,level:t,minVersion:n,includeMargin:r,marginSize:i,imageSettings:a,size:o,boostLevel:s}){let c=X.useMemo(()=>{let r=(Array.isArray(e)?e:[e]).reduce((e,t)=>(e.push(...Ur.QrSegment.makeSegments(t)),e),[]);return Ur.QrCode.encodeSegments(r,Wr[t],n,void 0,void 0,s)},[e,t,n,s]),{cells:l,margin:u,numCells:d,calculatedImageSettings:f}=X.useMemo(()=>{let e=c.getModules(),t=ri(r,i);return{cells:e,margin:t,numCells:e.length+t*2,calculatedImageSettings:ni(e,o,t,a)}},[c,o,a,r,i]);return{qrcode:c,margin:u,cells:l,numCells:d,calculatedImageSettings:f}}var ai=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),oi=X.forwardRef(function(e,t){let n=e,{value:r,size:i=Gr,level:a=Kr,bgColor:o=qr,fgColor:s=Jr,includeMargin:c=Yr,minVersion:l=Xr,boostLevel:u,marginSize:d,imageSettings:f}=n,p=Vr(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`marginSize`,`imageSettings`]),{style:m}=p,h=Vr(p,[`style`]),g=f?.src,_=X.useRef(null),v=X.useRef(null),y=X.useCallback(e=>{_.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]),[b,x]=X.useState(!1),{margin:S,cells:C,numCells:w,calculatedImageSettings:T}=ii({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:d,imageSettings:f,size:i});X.useEffect(()=>{if(_.current!=null){let e=_.current,t=e.getContext(`2d`);if(!t)return;let n=C,r=v.current,a=T!=null&&r!==null&&r.complete&&r.naturalHeight!==0&&r.naturalWidth!==0;a&&T.excavation!=null&&(n=ti(C,T.excavation));let c=window.devicePixelRatio||1;e.height=e.width=i*c;let l=i/w*c;t.scale(l,l),t.fillStyle=o,t.fillRect(0,0,w,w),t.fillStyle=s,ai?t.fill(new Path2D(ei(n,S))):C.forEach(function(e,n){e.forEach(function(e,r){e&&t.fillRect(r+S,n+S,1,1)})}),T&&(t.globalAlpha=T.opacity),a&&t.drawImage(r,T.x+S,T.y+S,T.w,T.h)}}),X.useEffect(()=>{x(!1)},[g]);let E=Br({height:i,width:i},m),D=null;return g!=null&&(D=X.createElement(`img`,{src:g,key:g,style:{display:`none`},onLoad:()=>{x(!0)},ref:v,crossOrigin:T?.crossOrigin})),X.createElement(X.Fragment,null,X.createElement(`canvas`,Br({style:E,height:i,width:i,ref:y,role:`img`},h)),D)});oi.displayName=`QRCodeCanvas`;var si=X.forwardRef(function(e,t){let n=e,{value:r,size:i=Gr,level:a=Kr,bgColor:o=qr,fgColor:s=Jr,includeMargin:c=Yr,minVersion:l=Xr,boostLevel:u,title:d,marginSize:f,imageSettings:p}=n,m=Vr(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`title`,`marginSize`,`imageSettings`]),{margin:h,cells:g,numCells:_,calculatedImageSettings:v}=ii({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:f,imageSettings:p,size:i}),y=g,b=null;p!=null&&v!=null&&(v.excavation!=null&&(y=ti(g,v.excavation)),b=X.createElement(`image`,{href:p.src,height:v.h,width:v.w,x:v.x+h,y:v.y+h,preserveAspectRatio:`none`,opacity:v.opacity,crossOrigin:v.crossOrigin}));let x=ei(y,h);return X.createElement(`svg`,Br({height:i,width:i,viewBox:`0 0 ${_} ${_}`,ref:t,role:`img`},m),!!d&&X.createElement(`title`,null,d),X.createElement(`path`,{fill:o,d:`M0,0 h${_}v${_}H0z`,shapeRendering:`crispEdges`}),X.createElement(`path`,{fill:s,d:x,shapeRendering:`crispEdges`}),b)});si.displayName=`QRCodeSVG`;function ci(e,t){if(!Number.isFinite(t)||t<=0)return e(`pairDeviceReady.singleUse`);let n=Math.ceil(t/1e3);return e(`pairDeviceReady.expiresIn`,{time:`${Math.floor(n/60)}:${(n%60).toString().padStart(2,`0`)}`})}function li({pairUrl:e,remainingMs:t,expired:n,copied:r,onCopy:i}){let{t:a}=l(`settings`);return n?(0,Z.jsx)(B,{tone:`warning`,title:a(`pairDeviceReady.expiredTitle`),children:a(`pairDeviceReady.expiredBody`)}):(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Z.jsx)(`div`,{className:`w-fit rounded-lg bg-white p-3`,children:(0,Z.jsx)(si,{value:e,size:192,level:`M`,title:a(`pairDeviceReady.qrTitle`)})}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`code`,{"data-testid":`pair-device-url`,className:`min-w-0 flex-1 truncate rounded-md bg-[var(--surface-active)] px-2.5 py-1.5 text-body-small-default text-[var(--content-secondary)]`,children:e}),(0,Z.jsx)(d,{variant:`outlined`,size:`compact`,leftIcon:r?(0,Z.jsx)(T,{}):(0,Z.jsx)(x,{}),onClick:()=>i(e),children:a(r?`pairDeviceReady.copiedButton`:`pairDeviceReady.copyButton`)})]}),(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:ci(a,t)})]})}var ui=3e4;function di(e){let[,t]=(0,X.useState)(0);(0,X.useEffect)(()=>{if(!e)return;let n=setInterval(()=>t(e=>e+1),ui);return()=>clearInterval(n)},[e])}function fi(e){return ce(typeof e==`string`?new Date(e).getTime():e,{locale:c(),minimumUnit:`minute`})}var pi=5e3,mi=6e4;function hi({pollWhilePairing:e=!1,revalidateKey:t,isExpanded:n=!1}={}){let[r,i]=(0,X.useState)(null),[a,o]=(0,X.useState)(null),[s,c]=(0,X.useState)(!1),[l,u]=(0,X.useState)(null),d=(0,X.useRef)(!0),f=(0,X.useRef)(0);(0,X.useEffect)(()=>(d.current=!0,()=>{d.current=!1}),[]);let p=(0,X.useCallback)((e=Le()?.assistantId)=>{if(!e)return;i(t=>t&&t.assistantId!==e?null:t);let t=++f.current;Ae(e).then(n=>{!d.current||t!==f.current||i(n.ok?{assistantId:e,devices:n.devices}:null)})},[]),m=We.use.selectedAssistantId()??Le()?.assistantId;(0,X.useEffect)(()=>{o(null),u(null),p(m)},[m,p]);let h=(0,X.useRef)(t);(0,X.useEffect)(()=>{t!==h.current&&(h.current=t,p(m))},[t,m,p]);let g=(0,X.useRef)(!1);(0,X.useEffect)(()=>{if(e&&!s){g.current=!0;let e=setInterval(()=>p(),pi);return()=>clearInterval(e)}!e&&g.current&&(g.current=!1,p())},[e,s,p]);let _=(r?.devices.length??0)>0;(0,X.useEffect)(()=>{if(!n||!_||e||s)return;let t=setInterval(()=>p(),mi);return()=>clearInterval(t)},[n,_,e,s,p]);let v=(0,X.useCallback)(e=>{u(null),o(e)},[]),y=(0,X.useCallback)(()=>{o(null),u(null)},[]),b=(0,X.useCallback)(()=>{!r||!a||s||(c(!0),u(null),Ee(r.assistantId,a.hashedDeviceId).then(e=>{d.current&&(c(!1),e.ok?(o(null),p()):u(e.error))}))},[r,a,s,p]);return{devices:r?.devices??null,confirmTarget:a,isRevoking:s,revokeError:l,requestRevoke:v,cancelRevoke:y,confirmRevoke:b}}var gi=600*1e3,_i=`paired-devices`;function vi(e){return e.slice(0,12)}function yi(e,t){return t?t.charAt(0).toUpperCase()+t.slice(1):e(`pairedDevicesSection.platformUnknown`)}function bi(e,t){return t===null?e(`pairedDevicesSection.dateUnknown`):new Date(t).toLocaleDateString(c())}function xi(e,t){let n=bi(e,t.issuedAt);return t.lastUsedAt===null?e(`pairedDevicesSection.pairedLine`,{paired:n}):Date.now()-t.lastUsedAt<=gi?e(`pairedDevicesSection.pairedActiveLine`,{paired:n}):e(`pairedDevicesSection.pairedAndUsedLine`,{paired:n,lastUsed:fi(t.lastUsedAt)})}function Si({pollWhilePairing:e=!1,revalidateKey:t}={}){let{t:n}=l(`settings`),[r,i]=(0,X.useState)(!1),a=hi({pollWhilePairing:e,revalidateKey:t,isExpanded:r}),{devices:o,confirmTarget:s}=a;di(o?.some(e=>e.lastUsedAt!==null)??!1);let c=(0,X.useMemo)(()=>o===null?null:[...o].sort((e,t)=>(t.lastUsedAt??0)-(e.lastUsedAt??0)),[o]);return c===null||c.length===0?null:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(V.Root,{type:`multiple`,value:r?[_i]:[],onValueChange:e=>i(e.includes(_i)),children:(0,Z.jsxs)(V.Item,{value:_i,children:[(0,Z.jsxs)(V.Trigger,{className:`group flex w-full items-center justify-between gap-3`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:n(`pairedDevicesSection.title`,{count:c.length})}),(0,Z.jsx)(E,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]}),(0,Z.jsx)(V.Content,{children:(0,Z.jsx)(`div`,{className:`mt-3 flex flex-col gap-3`,children:c.map(e=>(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,Z.jsxs)(`span`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:[yi(n,e.platform),` `,(0,Z.jsx)(`span`,{className:`font-mono text-[var(--content-tertiary)]`,title:e.hashedDeviceId,children:vi(e.hashedDeviceId)}),e.isCurrentHost&&(0,Z.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:` · ${n(`pairedDevicesSection.thisMachine`)}`})]}),(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:xi(n,e)})]}),(0,Z.jsx)(d,{variant:`dangerOutline`,size:`compact`,className:`shrink-0`,disabled:e.isCurrentHost===!0,title:e.isCurrentHost?n(`pairedDevicesSection.hostRevokeDisabledTitle`):void 0,onClick:()=>a.requestRevoke(e),children:n(`pairedDevicesSection.revokeButton`)})]},e.hashedDeviceId))})})]})}),(0,Z.jsx)(Se,{open:s!==null,title:n(`pairedDevicesSection.confirmTitle`),message:s&&(0,Z.jsxs)(Z.Fragment,{children:[n(`pairedDevicesSection.confirmMessage`,{platform:yi(n,s.platform),hash:vi(s.hashedDeviceId)}),a.revokeError&&(0,Z.jsx)(`span`,{className:`mt-2 block text-[var(--system-negative-strong)]`,children:a.revokeError})]}),confirmLabel:n(`pairedDevicesSection.revokeButton`),destructive:!0,isPending:a.isRevoking,onConfirm:a.confirmRevoke,onCancel:a.cancelRevoke})]})}var Ci=5e3;function wi(e,t){return e.length===t.length&&t.every((t,n)=>e[n]?.requestId===t.requestId)}function Ti(e,t){let[n,r]=(0,X.useState)([]),[o,s]=(0,X.useState)(null),[c,l]=(0,X.useState)(null),[u,d]=(0,X.useState)(null),f=(0,X.useRef)(null),p=(0,X.useRef)(null),[m,h]=(0,X.useState)(e);e!==m&&(h(e),r([]),s(null),l(null),d(null)),(0,X.useEffect)(()=>()=>{p.current?.abort(),p.current=null},[e]),(0,X.useEffect)(()=>{let t=async()=>{f.current?.abort();let t=new AbortController;f.current=t;try{let n=await jr({base:e,signal:t.signal});if(t.signal.aborted)return;r(e=>wi(e,n)?e:n),d(e=>e&&!e.sticky&&!n.some(t=>t.requestId===e.requestId)?null:e),l(null)}catch(e){if(t.signal.aborted)return;if(e instanceof Sr){l(e.message);return}a(e,{context:`pair-device-pending-requests-poll`}),l(i(`settings:usePendingPairingRequests.pollErrorFallback`))}};t();let n=setInterval(()=>void t(),Ci);return()=>{clearInterval(n),f.current?.abort()}},[e]);let g=(0,X.useCallback)(async(n,o)=>{if(p.current)return;let c=new AbortController;p.current=c,s({requestId:n,action:o}),d(null);let l=()=>{f.current?.abort(),r(e=>e.filter(e=>e.requestId!==n))};try{if(await(o===`approve`?Nr:Pr)({base:e,requestId:n,signal:c.signal}),c.signal.aborted)return;l(),o===`approve`&&t?.()}catch(e){if(c.signal.aborted)return;e instanceof Sr?o===`deny`&&e.status===409&&e.code===`ALREADY_APPROVED`?(l(),t?.(),d({requestId:n,message:i(`settings:usePendingPairingRequests.denyAlreadyApproved`),sticky:!0})):e.status===404||e.status===410?l():d({requestId:n,message:e.message}):(a(e,{context:`pair-device-pending-request-action`}),d({requestId:n,message:i(`settings:usePendingPairingRequests.actionErrorFallback`)}))}finally{p.current===c&&(p.current=null),c.signal.aborted||s(null)}},[e,t]),_=(0,X.useCallback)(e=>g(e,`approve`),[g]),v=(0,X.useCallback)(e=>g(e,`deny`),[g]);return{requests:n,actingOn:o,error:u?.message??c,approve:_,deny:v}}function Ei({base:e,onApproved:t}){let{t:n}=l(`settings`),{requests:r,actingOn:i,error:a,approve:o,deny:s}=Ti(e,t);return di(r.length>0),r.length===0&&!a?null:(0,Z.jsxs)(`section`,{className:`flex flex-col gap-3 border-t border-[var(--border-element)] pt-4`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:n(`pendingPairingRequests.title`)}),(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n(`pendingPairingRequests.instruction`)})]}),a&&(0,Z.jsx)(B,{tone:`error`,title:a}),r.length>0&&(0,Z.jsx)(`ul`,{className:`flex flex-col gap-2`,children:r.map(e=>{let t=i!==null&&i.requestId===e.requestId?i.action:null,r=t===`approve`,a=t===`deny`;return(0,Z.jsxs)(`li`,{className:`flex flex-col gap-2 rounded-lg border border-[var(--border-element)] p-3`,children:[(0,Z.jsx)(`code`,{className:y(`rounded-md bg-[var(--surface-active)] text-body-small-default text-[color:var(--content-primary)]`,`w-fit px-2.5 py-1.5 text-title-medium tracking-wide text-[color:var(--content-emphasised)]`),children:e.userCode}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e.viaEdgeProxy===!1?n(`pendingPairingRequests.requestedMetaHost`,{when:fi(e.requestedAt)}):n(`pendingPairingRequests.requestedMeta`,{when:fi(e.requestedAt),ip:e.requesterIp})}),e.requesterUserAgent&&(0,Z.jsx)(`p`,{className:`truncate text-body-small-default text-[var(--content-tertiary)]`,title:e.requesterUserAgent,children:e.requesterUserAgent})]}),(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(d,{variant:`primary`,size:`compact`,disabled:i!==null,"aria-busy":r||void 0,leftIcon:r?(0,Z.jsx)(j,{className:`animate-spin`}):void 0,onClick:()=>void o(e.requestId),children:n(`pendingPairingRequests.approveButton`)}),(0,Z.jsx)(d,{variant:`dangerOutline`,size:`compact`,disabled:i!==null,"aria-busy":a||void 0,leftIcon:a?(0,Z.jsx)(j,{className:`animate-spin`}):void 0,onClick:()=>void s(e.requestId),children:n(`pendingPairingRequests.denyButton`)})]})]},e.requestId)})})]})}function Di({onRefresh:e,isRefreshing:t,labelled:n=!1}){let{t:r}=l(`settings`),i=r(`tunnelStatusRow.refreshLabel`),a=(0,Z.jsx)(oe,{className:t?`animate-spin`:void 0});return n?(0,Z.jsx)(d,{variant:`outlined`,size:`compact`,leftIcon:a,disabled:t,onClick:e,children:i}):(0,Z.jsx)(d,{variant:`ghost`,size:`compact`,iconOnly:a,"aria-label":i,disabled:t,onClick:e})}function Oi(e){return`publicBaseUrl`in e&&e.publicBaseUrl?e.publicBaseUrl:null}function ki(e){return`checkedAt`in e&&e.checkedAt?e.checkedAt:null}function Ai(e,t){let n=t?.trim();return n?`vellum tunnel ${Mi(n)} --provider ${e}`:`vellum tunnel --provider ${e}`}var ji=/^[A-Za-z0-9._-]+$/;function Mi(e){return ji.test(e)?e:`'${e.replace(/'/g,`'\\''`)}'`}var Ni={checking:`var(--content-tertiary)`,stopped:`var(--content-tertiary)`,healthy:`var(--system-positive-strong)`,unpairable:`var(--system-mid-strong)`,unreachable:`var(--system-mid-strong)`,foreign:`var(--system-negative-strong)`},Pi=`text-body-small-default text-[var(--content-tertiary)]`,Fi=`truncate ${Pi}`;function Ii({status:e,onRefresh:t,isRefreshing:n,assistantName:r=null}){let{t:i}=l(`settings`);if(e.kind===`unconfigured`||e.kind===`unavailable`)return null;let a=ki(e),o=Oi(e),s=`provider`in e?e.provider:void 0,c=`detail`in e?e.detail:void 0;return(0,Z.jsxs)(`div`,{className:`flex items-start gap-2.5 rounded-lg border border-[var(--border-element)] px-3 py-2.5`,children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`mt-1.5 inline-block h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:Ni[e.kind]}}),(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-default)]`,children:Li(e,i)}),c&&(0,Z.jsx)(`p`,{className:Fi,title:c,children:c}),s&&(0,Z.jsx)(`p`,{className:Pi,children:(0,Z.jsx)(Ge,{i18nKey:e.kind===`stopped`?`tunnelStatusRow.stoppedRestart`:`tunnelStatusRow.restartHint`,ns:`settings`,values:{command:Ai(s,r)},components:{code:(0,Z.jsx)(`code`,{className:y(`rounded-md bg-[var(--surface-active)] text-body-small-default text-[color:var(--content-primary)]`,`px-1.5 py-0.5`)})}})}),o&&(0,Z.jsx)(`p`,{className:Fi,title:o,children:o}),a&&(0,Z.jsx)(`p`,{className:Pi,children:i(`tunnelStatusRow.checkedAt`,{when:fi(a)})})]}),(0,Z.jsx)(Di,{onRefresh:t,isRefreshing:n})]})}function Li(e,t){switch(e.kind){case`checking`:return t(`tunnelStatusRow.checkingStatus`);case`stopped`:return t(`tunnelStatusRow.stoppedStatus`);case`healthy`:return t(`tunnelStatusRow.healthyStatus`);case`unpairable`:return t(`tunnelStatusRow.unpairableStatus`);case`unreachable`:return t(`tunnelStatusRow.unreachableStatus`);case`foreign`:return e.servingAssistantName?t(`tunnelStatusRow.foreignStatusNamed`,{name:e.servingAssistantName}):t(`tunnelStatusRow.foreignStatus`)}}var Ri=`vellum:pair-device:public-base-url`;function zi(e){let t=e?.trim();if(t)return{url:t,source:`tunnel`};let n=Ve(Ri,``).trim();return n?{url:n,source:`stored`}:{url:``,source:`none`}}function Bi(e,t){let n=(0,X.useMemo)(()=>zi(t),[t]),[r,o]=(0,X.useState)(null),s=r??n.url,[c,l]=(0,X.useState)(null),[u,d]=(0,X.useState)({kind:`idle`}),[f,p]=(0,X.useState)(()=>Date.now()),m=(0,X.useRef)(null);(0,X.useEffect)(()=>()=>m.current?.abort(),[]),(0,X.useEffect)(()=>{if(u.kind!==`ready`)return;p(Date.now());let e=setInterval(()=>p(Date.now()),1e3);return()=>clearInterval(e)},[u]);let h=(0,X.useCallback)(e=>{o(e),l(null)},[]),g=(0,X.useCallback)(()=>{if(!e)return;let t=s.trim(),n=pr(t);if(!n.ok){l(hr(n.reason,t));return}l(null),m.current?.abort();let r=new AbortController;m.current=r,d({kind:`minting`}),(async()=>{try{let t=await kr({base:e,publicBaseUrl:n.url,signal:r.signal});if(r.signal.aborted)return;He(Ri,n.url),d({kind:`ready`,pairUrl:t.pairUrl,expiresAtMs:Date.parse(t.expiresAt)})}catch(e){if(r.signal.aborted)return;if(e instanceof Sr){d({kind:`error`,message:e.message,hint:e.hint});return}a(e,{context:`pair-device-mint`}),d({kind:`error`,message:i(`settings:usePairDevice.mintErrorFallback`)})}})()},[e,s]),_=u.kind===`ready`?Math.max(0,u.expiresAtMs-f):0,v=u.kind===`ready`&&_<=0;return{publicBaseUrl:s,setPublicBaseUrl:h,prefillSource:n.source,inputError:c,phase:u,remainingMs:_,expired:v,generate:g}}var Vi=`0.11.6`;function Hi(e){return Ye(Vi,e)}function Ui(e){let t=fn(),n=Hi(t),r=Et(),i=e&&n&&r,{data:a,isFetching:o,refetch:s}=g({...Dt({path:{assistant_id:t}}),enabled:i,staleTime:0,refetchOnWindowFocus:!1}),c=(0,X.useCallback)(()=>{i&&s()},[i,s]);return{status:Wi(a,o),isRefreshing:o,refresh:c}}function Wi(e,t){if(!e)return t?{kind:`checking`}:{kind:`unavailable`};let{lastTunnel:n}=e,r=e.publicBaseUrl??``,i=e.checkedAt??``,a=n?{provider:n.provider}:{};switch(e.state){case`unconfigured`:return{kind:`unconfigured`};case`stopped`:return{kind:`stopped`,...a,...n?{publicBaseUrl:n.publicBaseUrl}:{}};case`healthy`:return{kind:`healthy`,publicBaseUrl:r,checkedAt:i};case`unpairable`:case`unreachable`:return{kind:e.state,publicBaseUrl:r,checkedAt:i,...e.detail?{detail:e.detail}:{},...a};case`foreign`:return{kind:`foreign`,publicBaseUrl:r,checkedAt:i,...e.servingAssistantName?{servingAssistantName:e.servingAssistantName}:{},...a};default:return{kind:`unavailable`}}}var Gi=`tailscale`,Ki=`public-url`,qi=new Set([`unpairable`,`unreachable`,`foreign`]),Ji=`vellum tunnel --help`;function Yi(){let{t:e}=l(`settings`),t=wr(),n=sr(),r=q.use.pairedDevicesUI(),i=Ui(n&&t!==null),a=i.status.kind!==`unavailable`;Ot(`app.resume`,()=>{i.refresh()}),di(ki(i.status)!==null);let o=i.status.kind===`stopped`?null:Oi(i.status),s=Bi(t?.base??null,a?o:t?.ingressUrl??null),[c,u]=(0,X.useState)(0),[f,p]=(0,X.useState)(!1),{copy:m,copied:h}=pn({errorMessage:e(`pairDeviceCard.copyError`)});if(!t||!n)return null;let g=t.assistantName??e(`pairDeviceCard.subtitleFallbackName`),{phase:_}=s,v=_.kind===`minting`,b=_.kind===`ready`,x=s.prefillSource===`tunnel`,S=a?i.status.kind===`unconfigured`:s.prefillSource===`none`&&s.publicBaseUrl.trim()===``,C=S&&a,w=a&&qi.has(i.status.kind),T=e(v?`pairDeviceCard.generateButtonMinting`:b?`pairDeviceCard.generateButtonRegenerate`:w?`pairDeviceCard.generateButtonWarned`:`pairDeviceCard.generateButton`),D=a&&o!==null,O=f||s.inputError!==null,k=(0,Z.jsx)(d,{variant:w?`outlined`:`primary`,className:`self-start`,disabled:v||s.publicBaseUrl.trim()===``,onClick:s.generate,children:T}),A=(0,Z.jsx)(H,{label:e(`pairDeviceCard.publicUrlLabel`),fullWidth:!0,placeholder:e(`pairDeviceCard.publicUrlPlaceholder`),helperText:e(x?`pairDeviceCard.publicUrlHelperTunnel`:`pairDeviceCard.publicUrlHelper`),value:s.publicBaseUrl,errorText:s.inputError??void 0,disabled:v,onChange:e=>{p(!0),s.setPublicBaseUrl(e.target.value)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),s.generate())}});return(0,Z.jsx)(Y,{title:e(`pairDeviceCard.title`),subtitle:e(`pairDeviceCard.subtitle`,{name:g}),children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[S&&(0,Z.jsx)(B,{tone:`info`,title:e(`pairDeviceCard.noTunnelTitle`),actions:C?(0,Z.jsx)(Di,{onRefresh:i.refresh,isRefreshing:i.isRefreshing,labelled:!0}):void 0,children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`p`,{children:e(`pairDeviceCard.noTunnelWhy`,{name:g})}),(0,Z.jsx)(`code`,{className:y(`rounded-md bg-[var(--surface-active)] text-body-small-default text-[color:var(--content-primary)]`,`w-fit max-w-full overflow-x-auto px-2.5 py-1.5`),children:Ai(Gi,t.assistantName)}),(0,Z.jsx)(`p`,{children:e(`pairDeviceCard.noTunnelNext`)}),(0,Z.jsx)(`p`,{children:(0,Z.jsx)(Ge,{i18nKey:`pairDeviceCard.noTunnelMore`,ns:`settings`,values:{command:Ji},components:{code:(0,Z.jsx)(`code`,{className:y(`rounded-md bg-[var(--surface-active)] text-body-small-default text-[color:var(--content-primary)]`,`px-1.5 py-0.5`)})}})})]})}),(0,Z.jsx)(Ii,{status:i.status,onRefresh:i.refresh,isRefreshing:i.isRefreshing,assistantName:t.assistantName}),(0,Z.jsx)(`div`,{className:`flex flex-col gap-3`,children:D?(0,Z.jsxs)(Z.Fragment,{children:[k,(0,Z.jsx)(V.Root,{type:`single`,collapsible:!0,value:O?Ki:``,onValueChange:e=>p(e===Ki),children:(0,Z.jsxs)(V.Item,{value:Ki,children:[(0,Z.jsxs)(V.Trigger,{className:`group flex w-full items-center justify-between gap-3`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:e(`pairDeviceCard.publicUrlDisclosure`)}),(0,Z.jsx)(E,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]}),(0,Z.jsx)(V.Content,{children:(0,Z.jsx)(`div`,{className:`mt-3`,children:A})})]})})]}):(0,Z.jsxs)(Z.Fragment,{children:[A,k]})}),_.kind===`error`&&(0,Z.jsx)(B,{tone:`error`,title:_.message,children:_.hint}),b&&(0,Z.jsx)(li,{pairUrl:_.pairUrl,remainingMs:s.remainingMs,expired:s.expired,copied:h,onCopy:m}),(0,Z.jsx)(Ei,{base:t.base,onApproved:()=>u(e=>e+1)}),r&&(0,Z.jsx)(Si,{pollWhilePairing:b&&!s.expired,revalidateKey:c})]})})}function Xi(e){return[{scope:`global`,title:e(`shortcutsSections.globalTitle`),description:e(`shortcutsSections.globalDescription`)},{scope:`menu`,title:e(`shortcutsSections.appTitle`),description:e(`shortcutsSections.appDescription`)}]}function Zi({hotkey:e,recording:t,conflictLabel:n,alternateBinding:r,onStartRecording:i,onCancelRecording:a,onReset:o,onRemove:s}){let{t:c}=l(`settings`),u=e.accelerator===``,f=e.override!==null;return(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-2`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`div`,{className:`truncate text-body-medium-lighter text-[var(--content-default)]`,children:e.label}),n!==null&&(0,Z.jsx)(`div`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:c(`shortcutsSections.alreadyUsedBy`,{label:n})})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[r,t?(0,Z.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:c(`shortcutsSections.recordingHint`)}):u?(0,Z.jsx)(`span`,{className:`text-body-small-default italic text-[var(--content-disabled)]`,children:c(`shortcutsSections.none`)}):(0,Z.jsx)(ye,{accelerator:e.accelerator}),t?(0,Z.jsx)(d,{variant:`ghost`,size:`compact`,onClick:a,children:c(`shortcutsSections.cancel`)}):(0,Z.jsx)(d,{variant:`outlined`,size:`compact`,onClick:i,"aria-label":c(`shortcutsSections.recordShortcutAriaLabel`,{label:e.label}),children:c(`shortcutsSections.record`)}),(0,Z.jsx)(d,{variant:`ghost`,size:`compact`,disabled:!f,leftIcon:(0,Z.jsx)(le,{className:`h-3.5 w-3.5`}),onClick:o,"aria-label":c(`shortcutsSections.resetShortcutAriaLabel`,{label:e.label})}),(0,Z.jsx)(d,{variant:`ghost`,size:`compact`,disabled:u,leftIcon:(0,Z.jsx)(me,{className:`h-3.5 w-3.5`}),onClick:s,"aria-label":c(`shortcutsSections.removeBindingAriaLabel`,{label:e.label})})]})]})}function Qi(){let{t:e}=l(`settings`),{catalog:t,recordingKey:n,conflict:r,startRecording:i,stopRecording:a,resetHotkey:o,removeHotkey:s}=Tn(),c=(0,X.useMemo)(()=>Xi(e).map(e=>({...e,commands:t.filter(t=>t.rebindable&&t.scope===e.scope)})).filter(e=>e.commands.length>0),[t,e]);return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[r!==null&&(0,Z.jsxs)(B,{tone:`warning`,children:[e(`shortcutsSections.conflictNoticePrefix`,{label:r.label}),` `,e(n===null?`shortcutsSections.conflictResetHint`:`shortcutsSections.conflictRecordingHint`)]}),c.map(e=>(0,Z.jsxs)(b,{bordered:!0,children:[(0,Z.jsxs)(`div`,{className:`mb-2`,children:[(0,Z.jsx)(`div`,{className:`text-body-medium-emphasised text-[var(--content-default)]`,children:e.title}),(0,Z.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e.description})]}),(0,Z.jsx)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:e.commands.map(e=>(0,Z.jsx)(Zi,{hotkey:e,recording:n===e.key,conflictLabel:r!==null&&r.key===e.key?r.label:null,onStartRecording:()=>i(e.key),onCancelRecording:a,onReset:()=>o(e.key),onRemove:()=>s(e.key)},e.key))})]},e.scope))]})}async function $i(){if(!Ue())return!1;let e=window.vellum;return e?.launchAtLogin?e.launchAtLogin.get():!1}async function ea(e){if(!Ue())return;let t=window.vellum;t?.launchAtLogin&&await t.launchAtLogin.set(e)}function ta(){let{t:e}=l(`settings`),t=ne.useValue(),n=z.useValue(),r=!en(),i=St();return(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:e(`preferencesModal.composerTitle`)}),(0,Z.jsxs)(`div`,{className:`mt-2 space-y-4`,children:[r&&(0,Z.jsx)(xe,{checked:t,onChange:ne.save,label:e(i?`preferencesModal.sendWithCmdEnter`:`preferencesModal.sendWithCtrlEnter`),helperText:e(i?`preferencesModal.sendWithCmdEnterHelper`:`preferencesModal.sendWithCtrlEnterHelper`)}),(0,Z.jsx)(xe,{checked:n,onChange:z.save,label:e(`preferencesModal.showContextWindow`),helperText:e(`preferencesModal.showContextWindowHelper`)})]})]})}function na(){let{t:e}=l(`settings`),[t,n]=(0,X.useState)(!1);(0,X.useEffect)(()=>{$i().then(n)},[]);let r=async e=>{n(e);try{await ea(e)}catch{n(!e)}};return(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:e(`preferencesModal.launchAtLoginTitle`)}),(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e(`preferencesModal.launchAtLoginDescription`)}),(0,Z.jsx)(`div`,{className:`mt-2`,children:(0,Z.jsx)(xe,{checked:t,onChange:e=>void r(e),"aria-label":e(`preferencesModal.launchAtLoginAriaLabel`)})})]})}function ra({open:e,onClose:t}){let{t:n}=l(`settings`);return(0,Z.jsx)(U.Root,{open:e,onOpenChange:e=>{e||t()},children:(0,Z.jsxs)(U.Content,{size:`lg`,children:[(0,Z.jsxs)(U.Header,{children:[(0,Z.jsx)(U.Title,{children:n(`preferencesModal.title`)}),(0,Z.jsx)(U.Description,{children:n(`preferencesModal.description`)})]}),(0,Z.jsx)(U.Body,{children:(0,Z.jsxs)(`div`,{className:`space-y-6`,children:[Ue()&&(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:n(`preferencesModal.keyboardShortcutsTitle`)}),(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:n(`preferencesModal.keyboardShortcutsDescription`)}),(0,Z.jsx)(`div`,{className:`mt-2`,children:(0,Z.jsx)(Qi,{})})]}),(0,Z.jsx)(ta,{}),Ue()&&(0,Z.jsx)(na,{})]})})]})})}function ia(e){return e===`preview`?`preview`:`stable`}function aa(e,t){if(!e)return t;let n=new Date(e);return Number.isNaN(n.getTime())?t:n.toLocaleString(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`})}function oa(e){return e.filter(e=>e.ready_to_use)}function sa(e){return e?.feature_enabled===!1}function ca({assistantId:e,onComplete:t}){let{t:n}=l(`settings`),i=q.use.previewChannel(),a=h(),[o,s]=(0,X.useState)(),[c,u]=(0,X.useState)(!1),[d,f]=(0,X.useState)(!1),[p,m]=(0,X.useState)(`restore_backup`),[v,y]=(0,X.useState)(``),b=jt({path:{assistant_id:e}}),x=At({path:{assistant_id:e}}),S=Kt({path:{id:e}}),{data:C,isLoading:w,isError:T}=g({...b,enabled:i,retry:!1}),D=(0,X.useMemo)(()=>oa(C?.preview_backups??[]),[C?.preview_backups]),O=D[0],k=D.find(e=>e.snapshot_name===v)??O,A=()=>{a.invalidateQueries({queryKey:x}),a.invalidateQueries({queryKey:S}),t?.()},M=_(Xt()),N=_(Ht()),P=ia(C?.current_channel),F=M.isPending||N.isPending,I=F||sa(C)||!C?.latest_preview_release,ee=p===`restore_backup`&&!k;if((0,X.useEffect)(()=>{s(P===`preview`?`release-channel`:void 0)},[P]),!i)return null;let L=C?.standard_upgrade_available??!1;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(V.Root,{type:`single`,collapsible:!0,value:o,onValueChange:e=>s(e||void 0),className:`mt-5 border-t border-[var(--border-base)] pt-5`,children:(0,Z.jsxs)(V.Item,{value:`release-channel`,id:`preview-release-channel`,children:[(0,Z.jsxs)(V.Trigger,{className:`group justify-between gap-3`,children:[(0,Z.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:n(`previewReleaseChannel.title`)}),C&&(0,Z.jsx)(be,{tone:P===`preview`?`warning`:`neutral`,children:n(P===`preview`?`previewReleaseChannel.preview`:`previewReleaseChannel.stable`)})]}),(0,Z.jsx)(E,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]}),(0,Z.jsx)(V.Content,{children:(0,Z.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[w&&(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(j,{className:`h-4 w-4 animate-spin`}),n(`previewReleaseChannel.loading`)]}),T&&(0,Z.jsx)(B,{tone:`error`,title:n(`previewReleaseChannel.loadErrorTitle`),children:n(`previewReleaseChannel.loadErrorBody`)}),C&&(0,Z.jsxs)(Z.Fragment,{children:[sa(C)&&(0,Z.jsx)(B,{tone:`neutral`,title:n(`previewReleaseChannel.unavailableTitle`),children:n(`previewReleaseChannel.unavailableBody`)}),P===`stable`?(0,Z.jsx)(la,{status:C,isChangingChannel:F,optInDisabled:I,onOptIn:()=>u(!0)}):(0,Z.jsx)(ua,{status:C,isChangingChannel:F,onOptOut:()=>{let e=O;y(e?.snapshot_name??``),m(e?`restore_backup`:L?`standard_upgrade`:`restore_backup`),f(!0)}})]})]})})]})}),(0,Z.jsx)(fa,{open:c,isPending:M.isPending,previewVersion:C?.latest_preview_release?.version,onConfirm:async()=>{try{let t=await M.mutateAsync({path:{assistant_id:e}});W.success(t.detail||n(`previewReleaseChannel.previewEnabledToast`)),u(!1),A()}catch(e){W.error(r(e,void 0,n(`previewReleaseChannel.previewEnableFailedToast`)))}},onCancel:()=>u(!1)}),(0,Z.jsx)(pa,{open:d,backups:D,mode:p,selectedSnapshotName:k?.snapshot_name??``,isPending:N.isPending,restoreModeDisabled:ee,standardUpgradeAvailable:L,onModeChange:m,onSnapshotChange:y,onConfirm:async()=>{if(!ee)try{let t=await N.mutateAsync({path:{assistant_id:e},body:p===`restore_backup`?{mode:`restore_backup`,snapshot_name:k?.snapshot_name}:{mode:`standard_upgrade`}});W.success(t.detail||n(`previewReleaseChannel.stableEnabledToast`)),f(!1),A()}catch(e){W.error(r(e,void 0,`Could not switch to Stable.`))}},onCancel:()=>f(!1)})]})}function la({status:e,isChangingChannel:t,optInDisabled:n,onOptIn:r}){let{t:i}=l(`settings`);return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsx)(da,{status:e}),!e.latest_preview_release&&(0,Z.jsx)(B,{tone:`neutral`,title:i(`previewReleaseChannel.noPreviewTitle`),children:i(`previewReleaseChannel.noPreviewBody`)}),(0,Z.jsx)(d,{variant:`outlined`,leftIcon:t?(0,Z.jsx)(j,{className:`animate-spin`}):(0,Z.jsx)(se,{}),disabled:n,onClick:r,children:i(`previewReleaseChannel.optIn`)})]})}function ua({status:e,isChangingChannel:t,onOptOut:n}){let{t:r}=l(`settings`);return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsx)(da,{status:e}),(0,Z.jsx)(d,{variant:`outlined`,leftIcon:t?(0,Z.jsx)(j,{className:`animate-spin`}):(0,Z.jsx)(le,{}),disabled:t,onClick:n,children:r(`previewReleaseChannel.switchBack`)})]})}function da({status:e}){let{t}=l(`settings`);return(0,Z.jsxs)(`dl`,{className:`grid gap-3 text-body-medium-lighter sm:grid-cols-2`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{className:`text-[var(--content-tertiary)]`,children:t(`previewReleaseChannel.latestStable`)}),(0,Z.jsx)(`dd`,{className:`break-all text-[var(--content-default)]`,children:e.latest_stable_release?.version??t(`previewReleaseChannel.none`)})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`dt`,{className:`text-[var(--content-tertiary)]`,children:t(`previewReleaseChannel.latestPreview`)}),(0,Z.jsx)(`dd`,{className:`break-all text-[var(--content-default)]`,children:e.latest_preview_release?.version??t(`previewReleaseChannel.none`)})]})]})}function fa({open:e,isPending:t,previewVersion:n,onConfirm:r,onCancel:i}){let{t:a}=l(`settings`);return(0,Z.jsx)(U.Root,{open:e,onOpenChange:e=>!e&&i(),children:(0,Z.jsxs)(U.Content,{size:`md`,hideCloseButton:t,children:[(0,Z.jsxs)(U.Header,{icon:pe,children:[(0,Z.jsx)(U.Title,{children:a(`previewReleaseChannel.optInTitle`)}),(0,Z.jsx)(U.Description,{children:a(`previewReleaseChannel.optInDescription`)})]}),(0,Z.jsx)(U.Body,{children:(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsx)(B,{tone:`warning`,title:a(`previewReleaseChannel.dataLossTitle`),children:a(`previewReleaseChannel.dataLossBody`)}),(0,Z.jsxs)(`ol`,{className:`list-decimal space-y-2 pl-5 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,Z.jsx)(`li`,{children:a(`previewReleaseChannel.optInStep1`)}),(0,Z.jsx)(`li`,{children:a(`previewReleaseChannel.optInStep2`,{version:n??a(`previewReleaseChannel.latest`)})}),(0,Z.jsx)(`li`,{children:a(`previewReleaseChannel.optInStep3`)})]})]})}),(0,Z.jsxs)(U.Footer,{children:[(0,Z.jsx)(d,{variant:`outlined`,disabled:t,onClick:i,children:a(`previewReleaseChannel.cancel`)}),(0,Z.jsx)(d,{variant:`primary`,disabled:t,leftIcon:t?(0,Z.jsx)(j,{className:`animate-spin`}):(0,Z.jsx)(se,{}),onClick:r,children:a(t?`previewReleaseChannel.switching`:`previewReleaseChannel.takeBackupAndSwitch`)})]})]})})}function pa({open:e,backups:t,mode:n,selectedSnapshotName:r,isPending:i,restoreModeDisabled:a,standardUpgradeAvailable:o,onModeChange:s,onSnapshotChange:c,onConfirm:u,onCancel:f}){let{t:p}=l(`settings`),m=p(`previewReleaseChannel.unknownDate`);return(0,Z.jsx)(U.Root,{open:e,onOpenChange:e=>!e&&f(),children:(0,Z.jsxs)(U.Content,{size:`md`,hideCloseButton:i,children:[(0,Z.jsxs)(U.Header,{icon:pe,children:[(0,Z.jsx)(U.Title,{children:p(`previewReleaseChannel.optOutTitle`)}),(0,Z.jsx)(U.Description,{children:p(`previewReleaseChannel.optOutDescription`)})]}),(0,Z.jsx)(U.Body,{children:(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(_e,{value:n,onValueChange:s,disabled:i,"aria-label":p(`previewReleaseChannel.returnMethodAriaLabel`),children:[(0,Z.jsx)(ge,{value:`restore_backup`,disabled:t.length===0,label:p(`previewReleaseChannel.restoreBackupLabel`),helperText:p(`previewReleaseChannel.restoreBackupHelper`)}),(0,Z.jsx)(ge,{value:`standard_upgrade`,disabled:!o,label:p(`previewReleaseChannel.standardUpgradeLabel`),helperText:p(o?`previewReleaseChannel.standardUpgradeHelper`:`previewReleaseChannel.standardUpgradeUnavailable`)})]}),n===`restore_backup`&&t.length>0&&(0,Z.jsxs)(`label`,{className:`flex flex-col gap-1 text-body-medium-default text-[var(--content-secondary)]`,children:[p(`previewReleaseChannel.safetyBackup`),(0,Z.jsx)(Ce,{value:r,onChange:c,disabled:i,options:t.map(e=>{let t=e.source_release_version?p(`previewReleaseChannel.stableBackupLabel`,{version:e.source_release_version}):e.snapshot_name;return{value:e.snapshot_name,label:p(`previewReleaseChannel.backupOptionLabel`,{name:t,date:aa(e.created_at,m)})}})})]}),n===`restore_backup`&&t.length===0&&!o&&(0,Z.jsx)(B,{tone:`error`,title:p(`previewReleaseChannel.requiresBackupTitle`),children:p(`previewReleaseChannel.requiresBackupBody`)}),n===`standard_upgrade`&&(0,Z.jsx)(B,{tone:`error`,title:p(`previewReleaseChannel.mayNotSurviveTitle`),children:p(`previewReleaseChannel.mayNotSurviveBody`)})]})}),(0,Z.jsxs)(U.Footer,{children:[(0,Z.jsx)(d,{variant:`outlined`,disabled:i,onClick:f,children:p(`previewReleaseChannel.cancel`)}),(0,Z.jsx)(d,{variant:n===`standard_upgrade`?`danger`:`primary`,disabled:i||a||n===`standard_upgrade`&&!o,leftIcon:i?(0,Z.jsx)(j,{className:`animate-spin`}):(0,Z.jsx)(oe,{}),onClick:u,children:p(i?`previewReleaseChannel.switching`:`previewReleaseChannel.switchToStable`)})]})]})})}var ma=new Set([`exceeds_machine_tier`,`exceeds_storage_tier`]);function ha(e,t){return e&&typeof e==`object`&&!Array.isArray(e)&&`error`in e&&typeof e.error==`string`&&ma.has(e.error)?`That size isn't available on your plan.`:r(e,void 0,t)}function ga({assistant:e,healthz:t,healthzLoading:n,healthzPolling:r,refetch:i,refetchUntilResized:a}){let{t:o}=l(`settings`),s=f(),c=g(Jt()),u=c.data,p=!e.is_local,h=u?.plan_id===`pro`,_=g({...Wt(),enabled:h}),v=e.machine_size||`small`,y=hn(_.data?.max_machine_tier??null),b=(0,X.useMemo)(()=>vn(y,v,(0,Z.jsx)(be,{tone:`positive`,children:o(`resizeCard.current`)})),[y,v,o]),x=_.data?.selected_storage_gib??null,[S,C]=(0,X.useState)(!1),w=y.length>0?y[y.length-1]:null,[T,E]=(0,X.useState)(null),D=T??w??v,[O,A]=(0,X.useState)(!1),[M,N]=(0,X.useState)(null),P=Rt({onSuccess:(e,n)=>{W.success(o(`resizeCard.toastStarted`),{id:`assistant-resize`}),N(null),E(null),C(!1),n.body?.machine_size==null?i():a(t)},onError:e=>{N(ha(e,o(`resizeCard.resizeFailed`)))}});if(c.isError&&u==null)return(0,Z.jsx)(Y,{id:`storage-resources`,title:o(`resizeCard.title`),subtitle:o(`resizeCard.subtitle`),children:(0,Z.jsx)(B,{tone:`error`,children:o(`resizeCard.subscriptionLoadError`)})});let F=h&&y.includes(D)&&D!==v?D:null,I=h&&x!=null&&!0,ee=h&&y.length>0&&_n(v)<_n(y[y.length-1]),L=P.isPending||r,R=x==null?t?.disk?.totalMb??null:x*1024,z=t?.disk&&R!=null?{value:t.disk.usedMb,max:R,caption:o(`resizeCard.usedOf`,{used:wn(t.disk.usedMb),total:wn(R)})}:null,te=t?.cpu?{value:t.cpu.currentPercent,max:100,caption:`${t.cpu.currentPercent.toFixed(1)}%`}:null,ne=t?.memory?{value:t.memory.currentMb,max:t.memory.maxMb,caption:o(`resizeCard.usedOf`,{used:wn(t.memory.currentMb),total:wn(t.memory.maxMb)})}:null,re=(0,Z.jsx)(d,{variant:`ghost`,size:`compact`,onClick:()=>A(!0),children:o(`resizeCard.resize`)}),ie=p?h?I?(0,Z.jsxs)(`button`,{type:`button`,disabled:L,onClick:()=>C(!0),className:`flex items-center gap-1.5 rounded-lg border border-amber-500/30 bg-amber-500/15 px-3 py-1.5 text-body-small-default font-medium text-amber-400 transition-colors hover:bg-amber-500/25 disabled:opacity-50`,children:[(0,Z.jsx)(de,{className:`h-3.5 w-3.5`}),o(`resizeCard.increaseStorage`)]}):(0,Z.jsx)(d,{variant:`ghost`,size:`compact`,disabled:L,onClick:()=>C(!0),children:o(`resizeCard.resize`)}):re:null,ae=p?h?ee?(0,Z.jsxs)(`button`,{type:`button`,disabled:L,onClick:()=>C(!0),className:`flex items-center gap-1.5 rounded-lg border border-amber-500/30 bg-amber-500/15 px-3 py-1.5 text-body-small-default font-medium text-amber-400 transition-colors hover:bg-amber-500/25 disabled:opacity-50`,children:[(0,Z.jsx)(de,{className:`h-3.5 w-3.5`}),o(`resizeCard.increaseSize`)]}):(0,Z.jsx)(d,{variant:`ghost`,size:`compact`,disabled:L,onClick:()=>C(!0),children:o(`resizeCard.resize`)}):re:null;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Y,{id:`storage-resources`,title:o(`resizeCard.title`),subtitle:o(`resizeCard.subtitle`),compactAccessory:!0,accessory:(0,Z.jsx)(d,{variant:`ghost`,size:`compact`,iconOnly:n||r?(0,Z.jsx)(j,{className:`animate-spin`}):(0,Z.jsx)(oe,{}),tooltip:o(r?`resizeCard.applyingResize`:`resizeCard.refreshMetrics`),"aria-label":o(`resizeCard.refreshMetrics`),disabled:n||r,onClick:()=>void i()}),children:(0,Z.jsxs)(`div`,{className:`grid grid-cols-1 gap-2 sm:grid-cols-[1fr_2fr]`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col rounded-lg bg-[var(--surface-base)] p-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Z.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:(0,Z.jsx)(k,{className:`h-3.5 w-3.5`})}),(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:o(`resizeCard.disk`)})]}),ie]}),(0,Z.jsxs)(`div`,{className:`mt-auto flex flex-col gap-1 pt-3`,children:[(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:o(`resizeCard.storage`)}),z?(0,Z.jsx)(bn,{value:z.value,max:z.max,caption:z.caption}):n?(0,Z.jsx)(`div`,{className:`flex items-center gap-2 text-[var(--content-tertiary)]`,children:(0,Z.jsx)(j,{className:`h-3 w-3 animate-spin`})}):(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:o(`resizeCard.unavailable`)})]})]}),(0,Z.jsxs)(`div`,{className:`flex flex-col rounded-lg bg-[var(--surface-base)] p-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Z.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:(0,Z.jsx)(On,{className:`h-3.5 w-3.5`})}),(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:o(`resizeCard.machine`)}),(0,Z.jsx)(be,{tone:`neutral`,children:gn[v]})]}),ae]}),(0,Z.jsxs)(`div`,{className:`mt-auto grid grid-cols-2 gap-3 pt-3`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:o(`resizeCard.cpu`)}),te?(0,Z.jsx)(bn,{value:te.value,max:te.max,caption:te.caption}):n?(0,Z.jsx)(`div`,{className:`flex items-center gap-2 text-[var(--content-tertiary)]`,children:(0,Z.jsx)(j,{className:`h-3 w-3 animate-spin`})}):(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:`—`})]}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:o(`resizeCard.memory`)}),ne?(0,Z.jsx)(bn,{value:ne.value,max:ne.max,caption:ne.caption}):n?(0,Z.jsx)(`div`,{className:`flex items-center gap-2 text-[var(--content-tertiary)]`,children:(0,Z.jsx)(j,{className:`h-3 w-3 animate-spin`})}):(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:`—`})]})]})]})]})}),(0,Z.jsx)(U.Root,{open:O,onOpenChange:e=>{e||A(!1)},children:(0,Z.jsxs)(U.Content,{size:`sm`,children:[(0,Z.jsxs)(U.Header,{children:[(0,Z.jsx)(U.Title,{children:o(`resizeCard.upgradeTitle`)}),(0,Z.jsx)(U.Description,{children:o(`resizeCard.upgradeDescription`)})]}),(0,Z.jsxs)(U.Footer,{children:[(0,Z.jsx)(d,{variant:`ghost`,onClick:()=>A(!1),children:o(`resizeCard.cancel`)}),(0,Z.jsx)(d,{onClick:()=>{A(!1),s(K.plans)},children:o(`resizeCard.upgrade`)})]})]})}),(0,Z.jsx)(U.Root,{open:S,onOpenChange:e=>{e||(C(!1),E(null),N(null))},children:(0,Z.jsxs)(U.Content,{size:`sm`,children:[(0,Z.jsxs)(U.Header,{icon:On,children:[(0,Z.jsx)(U.Title,{children:o(`resizeCard.modalTitle`)}),(0,Z.jsx)(U.Description,{children:o(`resizeCard.modalDescription`)})]}),(0,Z.jsx)(U.Body,{children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[y.length===0?(0,Z.jsx)(B,{tone:`warning`,children:o(`resizeCard.noMachineTier`)}):(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Z.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-secondary)]`,children:o(`resizeCard.machineSize`)}),(0,Z.jsx)(Ce,{options:b,value:D,onChange:E,"aria-label":o(`resizeCard.machineSizeAriaLabel`),"data-testid":`resize-machine-size`})]}),I?(0,Z.jsx)(B,{tone:`info`,children:o(`resizeCard.storageExpandTo`,{to:x})}):(0,Z.jsx)(B,{tone:`neutral`,children:o(`resizeCard.storageUnchanged`)}),M&&(0,Z.jsx)(B,{tone:`error`,children:M})]})}),(0,Z.jsxs)(U.Footer,{className:`items-center justify-between`,children:[(0,Z.jsx)(`span`,{className:`text-label-small-default text-[var(--content-tertiary)]`,children:(0,Z.jsx)(Ge,{ns:`settings`,i18nKey:`resizeCard.needMore`,components:{upgradeLink:(0,Z.jsx)(m,{to:K.plans,className:`text-[var(--content-secondary)] underline decoration-[var(--border-element)] underline-offset-2 transition-colors hover:text-[var(--content-default)]`,onClick:()=>C(!1)})}})}),(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(d,{variant:`ghost`,onClick:()=>{C(!1),E(null),N(null)},children:o(`resizeCard.cancel`)}),(0,Z.jsx)(d,{disabled:F==null&&!I||L,leftIcon:L?(0,Z.jsx)(j,{className:`animate-spin`}):void 0,onClick:()=>{N(null);let t={};F!=null&&(t.machine_size=F),I&&x!=null&&(t.storage_gib=x),P.mutate({path:{id:e.id},body:t})},children:o(M?`resizeCard.retry`:`resizeCard.apply`)})]})]})]})})]})}function _a({assistantId:e}){let{t}=l(`settings`),n=f(),[r,i]=(0,X.useState)(!1),[a,o]=(0,X.useState)(!1);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(d,{variant:`dangerOutline`,onClick:()=>i(!0),className:`shrink-0`,children:t(`retireAssistant.button`)}),(0,Z.jsx)(nn,{open:r,isPending:a,onConfirm:async()=>{o(!0);let t=await tn(e);if(t.ok){i(!1),n(t.nextRoute,{replace:!0});return}W.error(t.error),o(!1),i(!1)},onCancel:()=>i(!1)})]})}function va(){let{t:e}=l(`settings`),t=ie(),n=ae.useValue();return P(t)?(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,Z.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e(`showTipsRow.label`)}),(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e(`showTipsRow.description`)})]}),(0,Z.jsx)(xe,{checked:n,onChange:e=>{ae.save(e),e||I(`settings`,`dont_show_again`,t)},"aria-label":e(`showTipsRow.ariaLabel`)})]}):null}var ya=`UTC.Africa/Cairo.Africa/Johannesburg.Africa/Lagos.Africa/Nairobi.America/Anchorage.America/Argentina/Buenos_Aires.America/Bogota.America/Chicago.America/Denver.America/Halifax.America/Lima.America/Los_Angeles.America/Mexico_City.America/New_York.America/Phoenix.America/Santiago.America/Sao_Paulo.America/Toronto.America/Vancouver.Asia/Bangkok.Asia/Dubai.Asia/Hong_Kong.Asia/Jakarta.Asia/Jerusalem.Asia/Karachi.Asia/Kolkata.Asia/Kuala_Lumpur.Asia/Manila.Asia/Seoul.Asia/Shanghai.Asia/Singapore.Asia/Taipei.Asia/Tokyo.Australia/Melbourne.Australia/Perth.Australia/Sydney.Europe/Amsterdam.Europe/Athens.Europe/Berlin.Europe/Brussels.Europe/Dublin.Europe/Istanbul.Europe/Lisbon.Europe/London.Europe/Madrid.Europe/Moscow.Europe/Paris.Europe/Rome.Europe/Stockholm.Europe/Vienna.Europe/Warsaw.Europe/Zurich.Pacific/Auckland.Pacific/Honolulu`.split(`.`);function ba(){let e=Intl;if(typeof e.supportedValuesOf==`function`)try{let t=e.supportedValuesOf(`timeZone`);if(t.length>0)return[...t].sort()}catch{}return[...ya].sort()}function xa(e){let t=e.split(`/`),n=(t[t.length-1]??e).replace(/_/g,` `),r=t.length>1?(t[0]??``).replace(/_/g,` `):``,i=0,a=``;try{let t=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`shortOffset`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value??`GMT`;a=t.startsWith(`GMT`)||t.startsWith(`UTC`)?t:`GMT ${t}`;let n=t.match(/([+-])(\d{1,2})(?::(\d{2}))?/);if(n){let e=n[1]===`-`?-1:1,t=parseInt(n[2]??`0`,10),r=parseInt(n[3]??`0`,10);i=e*(t*60+r)}}catch{return null}return{identifier:e,city:n,region:r,offsetLabel:a,offsetMinutes:i}}function Sa(e){try{return new Intl.DateTimeFormat(`en-US`,{timeZone:e,hour:`numeric`,minute:`2-digit`,hour12:!0}).format(new Date)}catch{return``}}function Ca(e,t){if(!e)return t;try{let t=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`long`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value;if(t)return t}catch{}return e.replace(/_/g,` `)}var wa=200;function Ta({value:e,onChange:t}){let{t:n}=l(`settings`),[r,i]=(0,X.useState)(``),a=(0,X.useMemo)(()=>ba().map(e=>xa(e)).filter(e=>e!==null),[]),o=r.trim().toLowerCase(),s=(0,X.useMemo)(()=>(o?a.filter(e=>e.city.toLowerCase().includes(o)||e.region.toLowerCase().includes(o)||e.offsetLabel.toLowerCase().includes(o)||e.identifier.toLowerCase().includes(o)):a).slice(0,wa),[a,o]),c=(0,X.useMemo)(()=>s.map(e=>e.identifier),[s]),u=(0,X.useMemo)(()=>{if(!e)return``;let t=e.split(`/`);return(t[t.length-1]??e).replace(/_/g,` `)},[e]);return(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1.5 md:flex-row md:items-center md:justify-between md:gap-4`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:n(`timezonePicker.closestCity`)}),(0,Z.jsxs)(ve.Root,{className:`w-full md:max-w-[280px]`,options:c,value:e,onSelect:t,onOpenChange:e=>{e||i(``)},autoActivateFirst:o.length>0,children:[(0,Z.jsx)(ve.Input,{type:`text`,"aria-label":n(`timezonePicker.closestCity`),value:r,placeholder:u||n(`timezonePicker.searchPlaceholder`),onChange:e=>i(e.target.value),fullWidth:!0}),(0,Z.jsx)(ve.List,{"aria-label":n(`timezonePicker.citiesAriaLabel`),className:`absolute left-0 right-0 top-full z-20 mt-1 max-h-[240px] rounded-md border border-[var(--border-base)] bg-[var(--surface-lift)] shadow-lg`,emptyState:(0,Z.jsx)(`p`,{className:`px-3 py-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:n(`timezonePicker.noMatchingCities`)}),children:s.map(e=>(0,Z.jsxs)(ve.Option,{value:e.identifier,className:y(`flex w-full items-center justify-between gap-3 px-3 py-2`,`text-body-medium-lighter text-[var(--content-default)] transition-colors`,`hover:bg-[var(--surface-active)]`,`data-[active]:bg-[var(--surface-active)] aria-selected:bg-[var(--surface-active)]`),children:[(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`div`,{className:`truncate text-body-medium-default`,children:e.city}),e.region&&(0,Z.jsx)(`div`,{className:`truncate text-body-small-default text-[var(--content-tertiary)]`,children:e.region})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 flex-col items-end gap-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(`span`,{children:Sa(e.identifier)}),(0,Z.jsx)(`span`,{children:e.offsetLabel})]})]},e.identifier))})]})]}),(0,Z.jsx)(En,{}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:n(`timezonePicker.timeZone`)}),(0,Z.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:Ca(e,n(`timezonePicker.notSet`))})]})]})}function Ea(){let{t:e}=l(`settings`),n=We.use.activeAssistantId(),[r,i]=(0,X.useState)(()=>t(`timezone`,``)),o=(0,X.useRef)(n);(0,X.useEffect)(()=>{o.current=n},[n]);let c=(0,X.useRef)(!1),u=(0,X.useRef)(null),d=(0,X.useRef)(()=>{}),f=e=>{if(c.current){u.current=e;return}let t=o.current;if(!t){u.current=null;return}c.current=!0,u.current=null,G.patch({url:`/v1/assistants/{assistant_id}/config`,path:{assistant_id:t},body:{ui:{userTimezone:e}},throwOnError:!0}).catch(e=>{a(e,{context:`settings-timezone-override`})}).finally(()=>{c.current=!1;let e=u.current;u.current=null,e!==null&&d.current(e)})};return(0,X.useEffect)(()=>{d.current=f}),(0,Z.jsxs)(`section`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:e(`timezoneSection.title`)}),(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e(`timezoneSection.description`)}),(0,Z.jsx)(`div`,{className:`mt-1`,children:(0,Z.jsx)(Ta,{value:r,onChange:e=>{i(e),s(`timezone`,e),f(e)}})})]})}var Da=[0,1,2,3,4,5,6];function Oa(e){let[t,n]=e.split(`:`).map(Number),r=new Date,i=new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate(),t,n));return`${i.getHours().toString().padStart(2,`0`)}:${i.getMinutes().toString().padStart(2,`0`)}`}function ka(e){let[t,n]=e.split(`:`).map(Number),r=new Date,i=new Date(r.getFullYear(),r.getMonth(),r.getDate(),t,n);return`${i.getUTCHours().toString().padStart(2,`0`)}:${i.getUTCMinutes().toString().padStart(2,`0`)}`}function Aa(){return Intl.DateTimeFormat(void 0,{timeZoneName:`short`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value??``}function ja(e){let t=e?.schedule?.window.start??`06:00`,n=e?.schedule?.window.end??`08:00`;return{enabled:e?.enabled??!0,timezone:`UTC`,frequency:e?.schedule?.frequency??`weekly`,daysOfWeek:e?.schedule?.days_of_week??[0],daysOfMonth:e?.schedule?.days_of_month??[],windowStart:Oa(t),windowEnd:Oa(n)}}function Ma({assistantId:e}){let{t}=l(`settings`),n=h(),r=[t(`updateWindowPolicy.dayMon`),t(`updateWindowPolicy.dayTue`),t(`updateWindowPolicy.dayWed`),t(`updateWindowPolicy.dayThu`),t(`updateWindowPolicy.dayFri`),t(`updateWindowPolicy.daySat`),t(`updateWindowPolicy.daySun`)],{data:i,isLoading:a,isError:o}=g(Ft({path:{id:e}})),s=(0,X.useMemo)(()=>ja(i),[i]),[c,u]=(0,X.useState)(null),f=c??s,p=c!==null,m=(0,X.useMemo)(()=>Aa(),[]),[v,y]=(0,X.useState)(null),b=v??f.daysOfMonth.join(`, `),x=_({mutationFn:async t=>{let{data:n}=await ct({path:{id:e},body:t,throwOnError:!0});return n}}),C=e=>{u(t=>({...t??s,...e}))},w=e=>{C({daysOfWeek:f.daysOfWeek.includes(e)?f.daysOfWeek.filter(t=>t!==e):[...f.daysOfWeek,e].sort((e,t)=>e-t)})},T=e=>e.split(`,`).map(e=>parseInt(e.trim(),10)).filter(e=>!isNaN(e)&&e>=1&&e<=31);return a?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(j,{className:`h-4 w-4 animate-spin`}),t(`updateWindowPolicy.loading`)]}):o?(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:t(`updateWindowPolicy.loadError`)}):(0,Z.jsxs)(`div`,{className:`space-y-6`,children:[(0,Z.jsx)(xe,{checked:f.enabled,onChange:e=>C({enabled:e}),label:t(`updateWindowPolicy.automaticUpdates`),helperText:t(`updateWindowPolicy.automaticUpdatesHelper`)}),f.enabled&&(0,Z.jsxs)(`div`,{className:`space-y-5`,children:[(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-secondary)]`,children:t(`updateWindowPolicy.frequency`)}),(0,Z.jsx)(`div`,{className:`max-w-[400px]`,children:(0,Z.jsx)(S,{ariaLabel:t(`updateWindowPolicy.frequency`),value:f.frequency,onChange:e=>{e!==`monthly`&&y(null),C({frequency:e})},items:[{value:`daily`,label:t(`updateWindowPolicy.daily`)},{value:`weekly`,label:t(`updateWindowPolicy.weekly`)},{value:`monthly`,label:t(`updateWindowPolicy.monthly`)}]})})]}),f.frequency===`weekly`&&(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-secondary)]`,children:t(`updateWindowPolicy.daysOfWeek`)}),(0,Z.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:Da.map(e=>(0,Z.jsx)(d,{variant:`outlined`,size:`compact`,active:f.daysOfWeek.includes(e),onClick:()=>w(e),children:r[e]},e))})]}),f.frequency===`monthly`&&(0,Z.jsx)(H,{label:t(`updateWindowPolicy.daysOfMonth`),type:`text`,value:b,onChange:e=>y(e.target.value),onBlur:e=>{let t=T(e.target.value);C({daysOfMonth:t}),y(t.join(`, `))},placeholder:t(`updateWindowPolicy.daysOfMonthPlaceholder`),helperText:t(`updateWindowPolicy.daysOfMonthHelper`),className:`w-48`}),(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-secondary)]`,children:m?t(`updateWindowPolicy.updateWindowWithTz`,{tz:m}):t(`updateWindowPolicy.updateWindow`)}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(H,{type:`time`,value:f.windowStart,onChange:e=>C({windowStart:e.target.value})}),(0,Z.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:t(`updateWindowPolicy.to`)}),(0,Z.jsx)(H,{type:`time`,value:f.windowEnd,onChange:e=>C({windowEnd:e.target.value})})]})]})]}),(0,Z.jsx)(d,{variant:`primary`,leftIcon:x.isPending?(0,Z.jsx)(j,{className:`animate-spin`}):void 0,onClick:async()=>{let r=f.frequency===`monthly`&&v!==null?T(v):f.daysOfMonth;try{await x.mutateAsync({enabled:f.enabled,timezone:`UTC`,schedule:{frequency:f.frequency,days_of_week:f.frequency===`weekly`?f.daysOfWeek:[],days_of_month:f.frequency===`monthly`?r:[],window:{start:ka(f.windowStart),end:ka(f.windowEnd)}}}),W.success(t(`updateWindowPolicy.toastSaved`)),u(null),y(null),n.invalidateQueries({queryKey:zt({path:{id:e}})})}catch{W.error(t(`updateWindowPolicy.toastSaveFailed`))}},disabled:x.isPending||!p,children:t(`updateWindowPolicy.savePolicy`)})]})}function Na({assistantId:e,open:t,onClose:n}){let{t:r}=l(`settings`);return(0,Z.jsx)(U.Root,{open:t,onOpenChange:e=>{e||n()},children:(0,Z.jsxs)(U.Content,{size:`md`,children:[(0,Z.jsxs)(U.Header,{children:[(0,Z.jsx)(U.Title,{children:r(`updateWindowModal.title`)}),(0,Z.jsx)(U.Description,{children:r(`updateWindowModal.description`)})]}),(0,Z.jsx)(U.Body,{children:(0,Z.jsx)(Ma,{assistantId:e})})]})})}function Pa(e){if(typeof e==`object`&&e&&`code`in e){let t=e.code;if(typeof t==`string`)return t}}function Fa({open:e,onOpenChange:t}){let{t:n}=l(`settings`),r=h(),[i,a]=(0,X.useState)(null),[o,s]=(0,X.useState)(``),[c,u]=(0,X.useState)(null),f=(0,X.useRef)(!1),p=(0,X.useRef)(e),m=()=>r.invalidateQueries({queryKey:Vt()}),g=e=>{ut({path:{id:e}}).catch(()=>void 0).finally(()=>void m())},_=Bt({onSuccess:e=>{if(!p.current){g(e.factor_id);return}a(e)},onError:e=>{let r=Pa(e);r===`no_workos_account`?W.error(n(`enrollTotpModal.toastNoWorkosAccount`)):r===`throttled`||r===`workos_rate_limited`?W.error(n(`enrollTotpModal.toastThrottled`)):r===`factor_limit_reached`?W.error(n(`enrollTotpModal.toastFactorLimitReached`)):W.error(n(`enrollTotpModal.toastStartFailed`)),t(!1)}}),v=Nt({onSuccess:e=>{e.valid?(f.current=!0,W.success(n(`enrollTotpModal.toastEnabled`)),m(),t(!1)):u(n(`enrollTotpModal.errorCodeMismatch`))},onError:e=>{let r=Pa(e);if(r===`challenge_already_verified`){f.current=!0,W.success(n(`enrollTotpModal.toastEnabled`)),m(),t(!1);return}if(r===`challenge_expired`||r===`challenge_not_found`){i&&g(i.factor_id),a(null),s(``),u(n(`enrollTotpModal.errorSessionExpired`)),_.mutate({});return}if(r===`throttled`||r===`workos_rate_limited`){u(n(`enrollTotpModal.errorThrottledInline`));return}u(n(`enrollTotpModal.errorVerifyFailed`))}});(0,X.useEffect)(()=>{p.current=e,e&&(f.current=!1,a(null),s(``),u(null),_.mutate({}))},[e]);let y=e=>{!e&&v.isPending||(!e&&i&&!f.current&&g(i.factor_id),t(e))},b=()=>{i&&cn(i.secret,{successMessage:n(`enrollTotpModal.copySuccess`),errorMessage:n(`enrollTotpModal.copyError`)})},S=()=>{!i||o.length!==6||v.isPending||(u(null),v.mutate({body:{challenge_id:i.challenge_id,code:o}}))};return(0,Z.jsx)(U.Root,{open:e,onOpenChange:y,children:(0,Z.jsxs)(U.Content,{size:`sm`,children:[(0,Z.jsxs)(U.Header,{children:[(0,Z.jsx)(U.Title,{children:n(`enrollTotpModal.title`)}),(0,Z.jsx)(U.Description,{children:n(`enrollTotpModal.description`)})]}),(0,Z.jsx)(U.Body,{children:i===null?(0,Z.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,Z.jsx)(j,{className:`h-5 w-5 animate-spin text-[var(--content-tertiary)]`})}):(0,Z.jsxs)(`form`,{className:`flex flex-col items-center gap-4`,onSubmit:e=>{e.preventDefault(),S()},children:[(0,Z.jsx)(`img`,{src:i.qr_code,alt:n(`enrollTotpModal.qrCodeAlt`),className:`h-44 w-44 rounded-lg bg-white p-2`}),(0,Z.jsxs)(`div`,{className:`flex w-full flex-col gap-1`,children:[(0,Z.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n(`enrollTotpModal.manualKeyHint`)}),(0,Z.jsxs)(`button`,{type:`button`,onClick:b,className:`flex cursor-pointer items-center gap-2 self-start font-mono text-body-small-default text-[var(--content-default)] hover:text-[var(--content-emphasised)]`,children:[(0,Z.jsx)(`span`,{className:`break-all text-left`,children:i.secret}),(0,Z.jsx)(x,{className:`h-3.5 w-3.5 shrink-0`})]})]}),(0,Z.jsxs)(`div`,{className:`flex w-full flex-col gap-1`,children:[(0,Z.jsx)(`label`,{htmlFor:`totp-code`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:n(`enrollTotpModal.codeLabel`)}),(0,Z.jsx)(H,{id:`totp-code`,inputMode:`numeric`,autoComplete:`one-time-code`,maxLength:6,placeholder:n(`enrollTotpModal.codePlaceholder`),value:o,onChange:e=>s(e.target.value.replace(/\D/g,``).slice(0,6))}),c&&(0,Z.jsx)(`p`,{role:`alert`,className:`text-body-small-default text-[var(--system-negative-strong)]`,children:c})]})]})}),(0,Z.jsxs)(U.Footer,{children:[(0,Z.jsx)(d,{variant:`outlined`,onClick:()=>y(!1),disabled:v.isPending,children:n(`enrollTotpModal.cancel`)}),(0,Z.jsx)(d,{onClick:S,disabled:i===null||o.length!==6||v.isPending,children:v.isPending?n(`enrollTotpModal.verifying`):n(`enrollTotpModal.verify`)})]})]})})}function Ia(e){let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleDateString(void 0,{month:`short`,day:`numeric`,year:`numeric`})}function La(){let{t:e}=l(`settings`),t=h(),[n,r]=(0,X.useState)(!1),[i,a]=(0,X.useState)(null),o=g({...Pt()}),s=o.data??[],c=()=>t.invalidateQueries({queryKey:Vt()}),u=Mt({onSuccess:()=>{W.success(e(`twoFactorSection.toastRemoved`)),c()},onError:t=>{if(Pa(t)===`factor_not_found`){c();return}W.error(e(`twoFactorSection.toastRemoveFailed`))}});return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[o.isPending?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(j,{className:`h-4 w-4 animate-spin`}),(0,Z.jsx)(`span`,{className:`text-body-medium-default`,children:e(`twoFactorSection.loading`)})]}):o.isError?(0,Z.jsx)(B,{tone:`error`,children:(0,Z.jsx)(Ge,{ns:`settings`,i18nKey:`twoFactorSection.loadError`,components:{retryButton:(0,Z.jsx)(`button`,{type:`button`,className:`cursor-pointer underline`,onClick:()=>void o.refetch()})}})}):s.length===0?(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e(`twoFactorSection.emptyDescription`)}):(0,Z.jsx)(`ul`,{className:`flex flex-col divide-y divide-[var(--border-base)]`,children:s.map(t=>(0,Z.jsxs)(`li`,{className:`flex items-center justify-between gap-3 py-3`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,Z.jsx)(ue,{className:`h-5 w-5 shrink-0 text-[var(--content-tertiary)]`}),(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`twoFactorSection.authenticatorApp`)}),(0,Z.jsxs)(`div`,{className:`truncate text-body-small-default text-[var(--content-tertiary)]`,children:[t.user,t.created_at?e(`twoFactorSection.addedOn`,{date:Ia(t.created_at)}):``]})]})]}),(0,Z.jsx)(d,{variant:`dangerOutline`,onClick:()=>a(t),disabled:u.isPending,children:e(`twoFactorSection.remove`)})]},t.id))}),!o.isPending&&!o.isError&&s.length===0&&(0,Z.jsx)(d,{onClick:()=>r(!0),className:`self-start`,children:e(`twoFactorSection.addAuthenticatorApp`)}),(0,Z.jsx)(Fa,{open:n,onOpenChange:r}),(0,Z.jsx)(Se,{open:i!==null,title:e(`twoFactorSection.removeDialogTitle`),message:e(`twoFactorSection.removeDialogMessage`),confirmLabel:e(`twoFactorSection.removeDialogConfirm`),destructive:!0,onConfirm:()=>{i&&u.mutate({path:{id:i.id}}),a(null)},onCancel:()=>a(null)})]})}var Q=class extends Error{code;constructor(e,t){super(t),this.name=`TeleportError`,this.code=e}},Ra=`local`,za=`docker`,Ba=`vellum`;function Va(e){switch((e??``).toLowerCase()){case Ra:return`local`;case za:return`docker`;case Ba:return`managed`;default:return`other`}}function Ha(e){let t=Va(e);return t===`managed`?`local`:t===`local`?`platform`:null}function Ua(e){switch(e){case`docker`:return`Move to Docker`;case`platform`:return`Move to Cloud (Platform)`;case`local`:return`Move to Local`}}function Wa(e){switch(e){case`docker`:return`Run your assistant in a Docker container on this Mac.`;case`platform`:return`Run your assistant in the cloud, managed by the Vellum platform.`;case`local`:return`Run your assistant locally on this Mac.`}}function Ga(e){if(!e||typeof e!=`object`)return null;let t=e;if(t.reason!==`version_mismatch`)return null;let n=t.bundle_compat,r=t.target_runtime_version;if(!n||typeof n!=`object`||typeof r!=`string`)return null;let i=n,a=i.min_runtime_version;if(typeof a!=`string`)return null;let o=typeof i.max_runtime_version==`string`?i.max_runtime_version:null;return`Cannot import: bundle requires runtime ${o?`${a}–${o}`:`${a}+`}, but this local runtime is ${r}. Update your local runtime before importing.`}async function Ka(e,t){let n=Number(e.headers.get(`Content-Length`)??0);if(!e.body||!t||n<=0){let n=await e.arrayBuffer();return t?.(1),n}let r=e.body.getReader(),i=[],a=0;for(;;){let{done:e,value:o}=await r.read();if(e)break;i.push(o),a+=o.length,t(a/n)}let o=new Uint8Array(a),s=0;for(let e of i)o.set(e,s),s+=e.length;return t(1),o.buffer}function qa(e){let t=Pe(e);if(!t)throw new Q(`local_assistant_not_found`,`Assistant ${e.assistantId} has no resolved local gateway.`);return`${window.location.origin}${t}`}async function Ja(e,t){let n=await Be(e.assistantId),r=await fetch(`${t}/auth/token`,{method:`POST`,headers:{Authorization:`Bearer ${n}`}});if(!r.ok)throw new Q(`not_signed_in`,`Gateway token request failed (HTTP ${r.status}).`);let{token:i}=await r.json();return i}async function Ya(e,t){let n=qa(e),r=await Ja(e,n),i=await fetch(`${n}/v1/migrations/export`,{method:`POST`,headers:{Authorization:`Bearer ${r}`}});if(!i.ok)throw new Q(`export_failed`,`Export failed (HTTP ${i.status}).`);return Ka(i,t)}async function Xa(e,t){let n=qa(e),r=await Ja(e,n),i=await fetch(`${n}/v1/migrations/import`,{method:`POST`,headers:{Authorization:`Bearer ${r}`},body:new Blob([t],{type:`application/octet-stream`})});if(!i.ok)throw new Q(`import_failed`,`Import failed (HTTP ${i.status}).`);let a=await $a(i);if(a&&a.success===!1)throw new Q(`import_failed`,a.error??`Import reported failure`)}async function Za(e,t){let{data:n,response:r}=await G.post({url:`/v1/assistants/{assistant_id}/migrations/export-to-gcs/`,path:{assistant_id:e},body:{upload_url:t},throwOnError:!1}),i=r?.status??0;if(!(r?.ok??!1)&&i!==202)throw new Q(`export_failed`,`Export failed (HTTP ${i}).`);let a=n?.job_id;if(!a)throw new Q(`export_failed`,`Export accepted but no job ID was returned.`);return a}async function Qa(e,t){let{data:n,response:r}=await G.get({url:`/v1/assistants/{assistant_id}/migrations/jobs/{job_id}`,path:{assistant_id:e,job_id:t},throwOnError:!1}),i=r?.status??0;if(i>=500)return`processing`;if(!(r?.ok??!1))throw new Q(`export_job_failed`,`Job status check failed (HTTP ${i})`);let a=n;if(a?.status===`failed`)throw new Q(`export_job_failed`,a.error??`Export job failed`);return a?.status??`processing`}async function $a(e){try{return await e.json()}catch{return null}}var eo=new Set([500,502,503,504]),$=3,to=e=>new Promise(t=>setTimeout(t,e));async function no(e,t=new Set){for(let n=0;n<=$;n++){let{response:r,data:i,error:a}=await e(),o=r?.status??0;if(n<$&&eo.has(o)&&!t.has(o)){await to(2**n*1e3);continue}return{status:o,data:i,error:a}}throw new Q(`unknown`,`Unexpected retry loop exit`)}async function ro(e,t){let n={operation:`upload`};e&&(n.min_runtime_version=e,n.max_runtime_version=null),t&&(n.consumer=t);let{status:r,data:i}=await no(()=>G.post({url:`/v1/migrations/signed-url/`,body:n,throwOnError:!1}),new Set([404,503]));if(r===503||r===404)throw new Q(`export_failed`,`Signed URL uploads are not available — the platform may not support this feature yet.`);if(r!==201)throw new Q(`export_failed`,`Migration request failed (HTTP ${r}).`);let a=i;return{url:a.url,bundleKey:a.bundle_key,expiresAt:a.expires_at}}async function io(e,t){let{status:n,data:r,error:i}=await no(()=>G.post({url:`/v1/migrations/signed-url/`,body:{operation:`download`,bundle_key:e,target_runtime_version:t},throwOnError:!1}),new Set([422]));if(n===422){let e=Ga(i);if(e)throw new Q(`version_mismatch`,e)}if(n!==200&&n!==201)throw new Q(`import_failed`,`Migration request failed (HTTP ${n}).`);return r.url}async function ao(e,t,n){for(let r=0;r<=$;r++){let i=await oo(e,t,n);if(r<$&&eo.has(i)){await to(2**r*1e3),n?.(0);continue}if(i<200||i>=300)throw new Q(`export_failed`,`Bundle upload failed (HTTP ${i}).`);return}}function oo(e,t,n){return new Promise((r,i)=>{let a=new XMLHttpRequest;a.open(`PUT`,e),a.setRequestHeader(`Content-Type`,`application/octet-stream`),a.timeout=36e5,n&&(a.upload.onprogress=e=>{e.lengthComputable&&n(e.loaded/e.total)}),a.onload=()=>{n?.(1),r(a.status)},a.onerror=()=>i(new Q(`export_failed`,`Bundle upload failed.`)),a.ontimeout=()=>i(new Q(`export_timed_out`,`Bundle upload timed out.`)),a.send(t)})}async function so(e,t){for(let n=0;n<=$;n++){let r=await fetch(e,{method:`GET`});if(n<$&&eo.has(r.status)){await to(2**n*1e3),t?.(0);continue}if(!r.ok)throw new Q(`import_failed`,`Bundle download failed (HTTP ${r.status}).`);return Ka(r,t)}throw new Q(`import_failed`,`Unexpected retry loop exit`)}async function co(e){let{status:t,data:n,error:r}=await no(()=>G.post({url:`/v1/migrations/import-from-gcs/`,body:{bundle_key:e},throwOnError:!1}));return{status:t,body:n??r??null}}async function lo(e){let{status:t,data:n}=await no(()=>G.get({url:`/v1/migrations/jobs/{job_id}/`,path:{job_id:e},throwOnError:!1}));if(t!==200)throw new Q(`import_failed`,`Job status check failed (HTTP ${t})`);let r=n??{};return{status:typeof r.status==`string`?r.status:`unknown`,jobId:typeof r.job_id==`string`?r.job_id:null,error:typeof r.error==`string`?r.error:null}}var uo=5e3,fo=36e5,po=5*6e4,mo=30,ho=e=>new Promise(t=>setTimeout(t,e));function go(){let e=f(),t=Le(),n=Ha(t?.cloud),[r,i]=(0,X.useState)({kind:`idle`}),[o,s]=(0,X.useState)(!1),c=(0,X.useRef)(null),l=(0,X.useRef)(null),u=(0,X.useCallback)(e=>{i({kind:`transferring`,step:e,progress:null})},[]),d=(0,X.useCallback)(e=>{i(t=>t.kind===`transferring`?{...t,progress:e}:t)},[]),p=(0,X.useCallback)(async()=>{if(!(!t||!n)){l.current={id:t.assistantId,kind:Va(t.cloud)===`managed`?`managed`:`local`,createdFresh:!1};try{if(n===`platform`)await _o(t,u,d,c);else if(n===`local`)await vo(t,u,d,c);else throw new Q(`unknown`,`Unsupported teleport destination.`);i({kind:`verifying`})}catch(e){i({kind:`failed`,error:`Teleport failed: ${e instanceof Q||e instanceof Error?e.message:`Teleport failed.`}`}),a(e,{context:`teleport-execute`}),await bo(c.current,l.current,`teleport-execute-cleanup`),c.current=null}}},[t,n,u,d]),m=(0,X.useCallback)(()=>s(!0),[]),h=(0,X.useCallback)(()=>s(!1),[]),g=(0,X.useCallback)(()=>{s(!1),p()},[p]),_=(0,X.useCallback)(()=>{c.current=null,l.current=null,i({kind:`idle`})},[]);return{destination:n,phase:r,confirmOpen:o,requestTeleport:m,cancelConfirm:h,confirm:g,confirmAndSwitch:(0,X.useCallback)(()=>{let t=c.current,n=l.current;t&&(async()=>{try{let e=rt.getState();t.kind===`managed`?await e.connectPlatformAssistant(t.id):(await e.connectLocalAssistant(t.id),it(t.id,{onError:e=>a(e,{context:`teleport-inject-platform-identity`})}))}catch(e){i({kind:`failed`,error:`Switch failed: ${e instanceof Error?e.message:`Failed to switch assistant.`}`}),a(e,{context:`teleport-confirm-switch`});return}n&&tn(n.id).then(e=>{e.ok||a(Error(e.error),{context:`teleport-retire-source`})}),_(),e(K.assistant,{replace:!0})})()},[e,_]),cancelTeleport:(0,X.useCallback)(()=>{let e=c.current,t=l.current;c.current=null,l.current=null,i({kind:`idle`}),bo(e,t,`teleport-cancel-retire-target`)},[]),reset:_}}async function _o(e,t,n,r){t(`Exporting assistant data...`);let i=await Ya(e,n);t(`Resolving organization...`);let a=await So();t(`Checking for existing assistant...`);let o=(await mt({query:{hosting:`platform`},throwOnError:!1})).data?.results?.[0];if(o)throw new Q(`existing_platform_assistant`,`You already have a platform assistant '${o.id}'. Retire it first, then retry the teleport.`);t(`Uploading data to cloud...`);let s=await ro(e.resources?.runtimeVersion);await ao(s.url,i,n),t(`Setting up cloud assistant...`);let c=await gt(void 0,`create`);if(!c.ok)throw new Q(`import_failed`,`Failed to set up the cloud assistant.`);if(c.status===200)throw new Q(`existing_platform_assistant`,`You already have a platform assistant '${c.data.id}'. Retire it first, then retry the teleport.`);let l=c.data.id;await De({assistantId:l,name:c.data.name,cloud:`vellum`,runtimeUrl:Me(),hatchedAt:c.data.created??new Date().toISOString(),organizationId:a}),await Oe(e.assistantId),r.current={id:l,kind:`managed`,createdFresh:!0},t(`Finalizing cloud assistant...`),await Co(l),t(`Importing data to cloud...`);let u=await co(s.bundleKey);if(u.status<200||u.status>=300){let e=u.body;throw new Q(`import_failed`,e?.error??`Import failed (HTTP ${u.status}).`)}if(u.status===202){let e=u.body?.job_id;if(!e)throw new Q(`import_failed`,`Import accepted but no job ID returned.`);await wo(e)}else{let e=u.body;if(e&&e.success===!1)throw new Q(`import_failed`,e.error??`Import reported failure.`)}}async function vo(e,t,n,r){t(`Preparing export...`);let i=await ro(await xo(e.assistantId),`runtime`);t(`Exporting cloud data...`);let a=await Za(e.assistantId,i.url);await To(e.assistantId,a),t(`Preparing local assistant...`);let{assistant:o,createdFresh:s}=await Eo();r.current={id:o.assistantId,kind:`local`,createdFresh:s};let c=await yo(o,s);if(!c)throw new Q(`local_assistant_not_found`,`Could not determine the local assistant's runtime version. Restart or upgrade the local assistant, then retry the teleport.`);t(`Preparing import...`);let l=await io(i.bundleKey,c);t(`Downloading data...`);let u=await so(l,n);t(`Importing data...`),await Oo(o,u),await Oe(e.assistantId)}async function yo(e,t){if(e.resources?.runtimeVersion)return e.resources.runtimeVersion;if(t)return(await mn())?.version??void 0}async function bo(e,t,n){if(e?.createdFresh){let t=await tn(e.id);t.ok||a(Error(t.error),{context:n})}t&&await Oe(t.id)}async function xo(e){let t=await _t(e);return t.ok?t.data.version??void 0:void 0}async function So(){let e=at.getState();e.organizations.length===0&&await e.fetchOrganizations();let t=at.getState().organizations,n=Xe();if(n&&t.some(e=>e.id===n))return n;if(t.length===0)throw new Q(`no_organizations`,`No organizations found for this account.`);if(t.length>1)throw new Q(`multiple_organizations`,`Multiple organizations found — please select one in account settings first.`);let r=t[0].id;return at.getState().setCurrentOrganizationId(r),r}async function Co(e){let t=Date.now();for(;Date.now()-t<po;){let{data:t,response:n}=await dt({path:{id:e},throwOnError:!1});if(n?.ok&&t?.state===`active`)return;await ho(uo)}}async function wo(e){let t=Date.now();for(;Date.now()-t<fo;){await ho(uo);let t=await lo(e);if(t.status===`complete`)return;if(t.status===`failed`)throw new Q(`import_failed`,t.error??`Import job failed`)}throw new Q(`import_failed`,`Import timed out after 60 minutes.`)}async function To(e,t){let n=Date.now();for(;Date.now()-n<fo;)if(await ho(uo),await Qa(e,t)===`complete`)return;throw new Q(`export_timed_out`,`Export timed out.`)}async function Eo(){let e=await je(void 0,void 0);if(!e.ok)throw new Q(`local_assistant_not_found`,e.error??`Could not create a local assistant.`);await Te();let t=e.assistantId?Ie().find(t=>t.assistantId===e.assistantId):Do();if(!t)throw new Q(`local_assistant_not_found`,`Could not find or create a local assistant.`);return{assistant:t,createdFresh:!0}}function Do(){return Ie().slice().sort((e,t)=>(t.hatchedAt??``).localeCompare(e.hatchedAt??``))[0]}async function Oo(e,t){let n;for(let r=0;r<mo;r++)try{await Xa(e,t);return}catch(e){n=e,await ho(1e3)}throw n instanceof Error?n:new Q(`import_failed`,`Import failed.`)}function ko(){let{t:e}=l(`settings`),t=go(),{destination:n,phase:r}=t;return n?(0,Z.jsxs)(Y,{title:e(`teleportCard.title`),subtitle:e(`teleportCard.subtitle`),children:[r.kind===`idle`&&(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:Wa(n)}),(0,Z.jsx)(d,{variant:`outlined`,className:`self-start`,onClick:t.requestTeleport,children:Ua(n)})]}),r.kind===`transferring`&&(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[r.progress==null&&(0,Z.jsx)(j,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:r.step})]}),r.progress!=null&&(0,Z.jsx)(he,{value:r.progress,"aria-label":e(`teleportCard.progressAriaLabel`),className:`max-w-[240px]`})]}),r.kind===`verifying`&&(0,Z.jsx)(B,{tone:`success`,icon:(0,Z.jsx)(O,{className:`h-4 w-4`}),title:e(`teleportCard.verifyTitle`),actions:(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(d,{variant:`primary`,onClick:t.confirmAndSwitch,children:e(`teleportCard.confirmAndSwitch`)}),(0,Z.jsx)(d,{variant:`outlined`,onClick:t.cancelTeleport,children:e(`teleportCard.cancel`)})]})}),r.kind===`failed`&&(0,Z.jsx)(B,{tone:`error`,title:r.error,actions:(0,Z.jsx)(d,{variant:`outlined`,onClick:t.reset,children:e(`teleportCard.tryAgain`)})}),(0,Z.jsx)(Se,{open:t.confirmOpen,title:Ua(n),message:e(`teleportCard.confirmMessage`),confirmLabel:e(`teleportCard.confirmLabel`),onConfirm:t.confirm,onCancel:t.cancelConfirm})]}):null}function Ao(){let{t:e}=l(`settings`),{assistant:t,healthz:n,healthzLoading:r,healthzPolling:i,refetch:a,refetchUntilResized:o}=Sn(),s=q.use.multiPlatformAssistant(),c=q.use.teleport(),u=q.use.accountMfa(),m=$t.use.settingsSleepPolicy(),h=tt(),g=xt(),_=ze()||h||ke()||g,v=f(),y=Ct(),b=Ct({platformHostedOnly:!0}),x=Tt(),S=F({assistantId:t?.id??null,enabled:b===`full`&&x}),[C,w]=(0,X.useState)(!1),[T,E]=(0,X.useState)(!1),[D,O]=p();(0,X.useEffect)(()=>{if(D.get(`preferences`)!==`open`)return;let e=new URLSearchParams(D);e.delete(`preferences`),O(e,{replace:!0}),E(!0)},[D,O]);let k=t?.is_local&&!ze()?null:t,A=Le(),j=ze()&&!!t&&!!A&&Ne(A),M=j,N=j&&!ke(),P=b===`full`&&!!k||N&&!!t;(0,X.useEffect)(()=>{!t||window.location.hash!==`#storage-resources`||requestAnimationFrame(()=>{document.getElementById(`storage-resources`)?.scrollIntoView({block:`start`})})},[t]);let I=n?.version??t?.current_release_version??null,ee=()=>{let e=Fe();if(ke()&&!g&&e){let t=new URLSearchParams({register:vt()}),n=Re();n&&t.set(`name`,n);let r=new URL(e).origin;window.location.assign(`${r}${K.selectAssistant}?${t.toString()}`);return}v(`${K.selectAssistant}?noAutoSkip=1`)},L=(y===`full`||M)&&!!k||y===`disabled`&&!M,R=b!==`gated`;return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[S.status&&S.mode!==`inactive`&&(0,Z.jsx)(re,{status:S.status,mode:S.mode,isAcknowledging:S.isAcknowledging,acknowledgeError:S.acknowledgeError?.message??null,onAcknowledge:()=>void S.acknowledge(),onReviewWorkspaceData:()=>void v(`${K.workspace}?sort=size`),onUpgradeStorage:b===`full`?()=>void v(K.plans):null}),(0,Z.jsxs)(Un,{assistant:x?k:null,showHandles:h&&y===`full`,children:[(0,Z.jsx)(Ea,{}),u&&y!==`gated`&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`border-t border-[var(--border-subtle)]`}),(0,Z.jsxs)(`section`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:e(`generalPage.twoFactorTitle`)}),(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e(`generalPage.twoFactorDescription`)}),(0,Z.jsx)(`div`,{className:`mt-1`,children:y===`disabled`?(0,Z.jsx)(J,{children:e(`generalPage.twoFactorLoginNotice`)}):(0,Z.jsx)(La,{})})]})]})]}),(0,Z.jsx)(Y,{title:e(`generalPage.versionTitle`),subtitle:e(`generalPage.versionSubtitle`),accessory:b===`full`&&k?(0,Z.jsx)(d,{variant:`outlined`,onClick:()=>w(!0),children:e(`generalPage.updateWindow`)}):void 0,children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[b===`full`&&k&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(tr,{assistantId:k.id,currentVersion:I,releaseChannel:k.release_channel,onUpgradeComplete:()=>{a()}}),(0,Z.jsx)(ca,{assistantId:k.id,onComplete:()=>{a()}})]}),N&&t&&(0,Z.jsx)(nr,{assistantId:t.id,currentVersion:I,onUpgradeComplete:()=>{a()}}),!P&&t&&(0,Z.jsxs)(`div`,{className:`grid grid-cols-[140px_minmax(0,1fr)] gap-y-3`,children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e(`generalPage.current`)}),(0,Z.jsx)(Cn,{version:I,loading:r&&!t.current_release_version,assistantId:t.id??null})]}),b===`disabled`&&!N&&(0,Z.jsx)(J,{children:e(`generalPage.updatesLoginNotice`)})]})}),b===`full`&&k&&(0,Z.jsx)(Na,{assistantId:k.id,open:C,onClose:()=>w(!1)}),b===`full`&&t&&(0,Z.jsx)(ga,{assistant:t,healthz:n,healthzLoading:r,healthzPolling:i,refetch:a,refetchUntilResized:o}),b===`disabled`&&(0,Z.jsx)(Y,{id:`storage-resources`,title:e(`generalPage.computeResourcesTitle`),subtitle:e(`generalPage.computeResourcesSubtitle`),children:(0,Z.jsx)(J,{children:e(`generalPage.computeResourcesLoginNotice`)})}),(0,Z.jsx)(Y,{title:e(`generalPage.preferencesTitle`),subtitle:e(`generalPage.preferencesSubtitle`),accessory:(0,Z.jsx)(d,{variant:`outlined`,onClick:()=>E(!0),children:e(`generalPage.customize`)}),children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,Z.jsx)(An,{}),(0,Z.jsx)(va,{})]})}),(0,Z.jsx)(ra,{open:T,onClose:()=>E(!1)}),c&&Ue()&&(0,Z.jsx)(ko,{}),(0,Z.jsx)(ar,{}),(0,Z.jsx)(Yi,{}),b===`full`&&k&&m&&(0,Z.jsx)(Y,{title:e(`generalPage.sleepPolicyTitle`),subtitle:e(`generalPage.sleepPolicySubtitle`),children:(0,Z.jsx)(Zn,{assistantId:k.id})}),b===`disabled`&&m&&(0,Z.jsx)(Y,{title:e(`generalPage.sleepPolicyTitle`),subtitle:e(`generalPage.sleepPolicySubtitle`),children:(0,Z.jsx)(J,{children:e(`generalPage.sleepPolicyLoginNotice`)})}),s&&!_&&(0,Z.jsx)(Kn,{}),_&&(0,Z.jsx)(Y,{title:e(`generalPage.switchAssistantTitle`),subtitle:e(`generalPage.switchAssistantSubtitle`),accessory:(0,Z.jsx)(d,{variant:`outlined`,onClick:ee,children:e(`generalPage.chooseAssistant`)})}),(L||R)&&(0,Z.jsx)(Y,{variant:`danger`,title:e(`generalPage.dangerZoneTitle`),children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[L&&(0,Z.jsxs)(`section`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`h3`,{className:`text-title-small text-[var(--content-emphasised)]`,children:e(`generalPage.retireAssistantTitle`)}),(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e(`generalPage.retireAssistantDescription`)}),(0,Z.jsx)(`div`,{className:`mt-1`,children:(y===`full`||M)&&k?(0,Z.jsx)(_a,{assistantId:k.id}):(0,Z.jsx)(J,{children:e(`generalPage.retireAssistantLoginNotice`)})})]}),L&&R&&(0,Z.jsx)(`div`,{className:`border-t border-[var(--border-subtle)]`}),(0,Z.jsx)(rr,{})]})})]})}export{Ao as GeneralPage};