ryco-cli 0.1.22 → 0.1.23

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 (531) hide show
  1. package/dist/{ClaudeDriver-D7NatUx6.cjs → ClaudeDriver-B7mbf51W.cjs} +1 -1
  2. package/dist/{ClaudeDriver-D65SPdHR.mjs → ClaudeDriver-C4yu7Jit.mjs} +1 -1
  3. package/dist/{CodexDriver-DWGtHt9r.cjs → CodexDriver-CR0S17Lb.cjs} +2 -2
  4. package/dist/{CodexDriver-D4z5-wUD.mjs → CodexDriver-DnnqkGoY.mjs} +2 -2
  5. package/dist/{CodexTextGeneration-BikHow8k.mjs → CodexTextGeneration-Cw-FZbSS.mjs} +1 -1
  6. package/dist/{CodexTextGeneration-B4tJTUDo.cjs → CodexTextGeneration-tlfe1S5W.cjs} +1 -1
  7. package/dist/{CopilotDriver-ZvvsAIkd.mjs → CopilotDriver-GxKLX5pL.mjs} +2 -2
  8. package/dist/{CopilotDriver-DJvYncGI.cjs → CopilotDriver-IBd27Ji2.cjs} +2 -2
  9. package/dist/{CursorDriver-D3I4KULs.cjs → CursorDriver-C4Enoe9N.cjs} +1 -1
  10. package/dist/{CursorDriver-B1QSBzuH.mjs → CursorDriver-CNo9Uzo8.mjs} +1 -1
  11. package/dist/{GrokDriver-DgQe3pKz.mjs → GrokDriver-DSPEmiwq.mjs} +1 -1
  12. package/dist/{GrokDriver-_puXDTU3.cjs → GrokDriver-RyyFeh_q.cjs} +1 -1
  13. package/dist/{Metrics-DIjMQ5pa.cjs → Metrics-Bcb9vCAe.cjs} +21 -15
  14. package/dist/{Metrics-BP9YjxZB.mjs → Metrics-a1h4iBQi.mjs} +21 -15
  15. package/dist/{OpenCodeDriver-DNUlF8M-.mjs → OpenCodeDriver-0q44rSQX.mjs} +1 -1
  16. package/dist/{OpenCodeDriver-401RexI0.cjs → OpenCodeDriver-CDcvPT9v.cjs} +1 -1
  17. package/dist/bin.cjs +110 -36
  18. package/dist/bin.mjs +110 -36
  19. package/dist/client/assets/AccountSettings-DGvZzAqN.js +1 -0
  20. package/dist/client/assets/AiFocusSettings-D8wZfNES.js +1 -0
  21. package/dist/client/assets/{AnimatedHeight-DKCe4x_Q.js → AnimatedHeight-D9bpLPqe.js} +1 -1
  22. package/dist/client/assets/AppearanceSettings-BFo6g6_s.js +1 -0
  23. package/dist/client/assets/BranchToolbar.logic-CmO2U1U7.js +1 -0
  24. package/dist/client/assets/BrowserPanel-r6is5C3e.js +1 -0
  25. package/dist/client/assets/ChatRightPanel-BewXBRFZ.js +194 -0
  26. package/dist/client/assets/ChatThreadRouteView-CC_6FmHd.js +1 -0
  27. package/dist/client/assets/CommandPaletteDialog-ftA_Xg2G.js +1 -0
  28. package/dist/client/assets/CompositeRoot-arlgwzfX.js +1 -0
  29. package/dist/client/assets/ComputerUseSettings-V-oMtddy.js +1 -0
  30. package/dist/client/assets/ConnectionsSettings-BrFvrRjz.js +7 -0
  31. package/dist/client/assets/ContextHandoffEndpointLabel-CPeU4K5A.js +4 -0
  32. package/dist/client/assets/DiagnosticsSettings-Dk3JaIOU.js +2 -0
  33. package/dist/client/assets/DialogHandle-00ZXxxpz.js +1 -0
  34. package/dist/client/assets/DialogPopup-mazVJKyB.js +1 -0
  35. package/dist/client/assets/DialogRoot-CWlzx19Z.js +1 -0
  36. package/dist/client/assets/DialogTitle-CKaEtTky.js +1 -0
  37. package/dist/client/assets/DialogTrigger-CiElTNmo.js +1 -0
  38. package/dist/client/assets/DialogViewport-a5beR5bY.js +1 -0
  39. package/dist/client/assets/DraftChatThreadRouteView-DMwnSfgh.js +1 -0
  40. package/dist/client/assets/{ExternalIdentityWeb.logic-CGJKCFPo.js → ExternalIdentityWeb.logic-pjD4pCDd.js} +1 -1
  41. package/dist/client/assets/FloatingPortalLite-DWdtHKob.js +1 -0
  42. package/dist/client/assets/GlassSurface-BqfxDYiR.js +1 -0
  43. package/dist/client/assets/HostedConnectionControls-BmJd89CC.js +1 -0
  44. package/dist/client/assets/HostedHubRoot-CRIiJ67A.js +2 -0
  45. package/dist/client/assets/HostedNativeAuthorizationRoute-DcksCt9n.js +2 -0
  46. package/dist/client/assets/{HostedRelayTrustNotice-DgdeZh52.js → HostedRelayTrustNotice-C9pl5h2a.js} +1 -1
  47. package/dist/client/assets/IntegrationsSettingsPanel-BnfjyLrM.js +2 -0
  48. package/dist/client/assets/KeybindingsSettings-CkW7lzvz.js +7 -0
  49. package/dist/client/assets/LazyBrowserPanel-C6uMUmoV.js +2 -0
  50. package/dist/client/assets/McpServersSettings-BdXgS-Pm.js +6 -0
  51. package/dist/client/assets/MobileSheet-D19YdeQ9.js +1 -0
  52. package/dist/client/assets/NodeSecuritySettings-BfcBgtEg.js +1 -0
  53. package/dist/client/assets/OpinionatedPluginsSettings-YY54IT7P.js +1 -0
  54. package/dist/client/assets/PhoneGetAppInterstitial-9r6NwJP8.js +1 -0
  55. package/dist/client/assets/PhoneHome-DnEJp0bU.js +1 -0
  56. package/dist/client/assets/PhoneSettingsSurface-NKJrLCxU.js +2 -0
  57. package/dist/client/assets/ProviderModelPicker-CYGv-4fE.js +1 -0
  58. package/dist/client/assets/ProvidersSettingsPanel-DsXHij4h.js +1 -0
  59. package/dist/client/assets/QuitShortcutFeedback-BVyYaNtd.js +1 -0
  60. package/dist/client/assets/{RedactedSensitiveText-D-enj1h5.js → RedactedSensitiveText-D8j7kpow.js} +1 -1
  61. package/dist/client/assets/RootAppShell-D7c8sbA0.js +7 -0
  62. package/dist/client/assets/{Separator-BWKYMFqt.js → Separator-Bn8l1oSK.js} +1 -1
  63. package/dist/client/assets/SettingsDialog-BlPX1mT8.js +2 -0
  64. package/dist/client/assets/SettingsPanels-CeuvwIV_.js +3 -0
  65. package/dist/client/assets/SettingsPanels.editor-CLJJeKLI.js +1 -0
  66. package/dist/client/assets/SourceControlSettings-D-GeZ6PW.js +1 -0
  67. package/dist/client/assets/StatisticsPage-poomFDoQ.js +1 -0
  68. package/dist/client/assets/StatisticsPanel-DbGgCCpZ.js +1 -0
  69. package/dist/client/assets/{StatisticsSettingsLink-B3HIQYFh.js → StatisticsSettingsLink-Brc9--O7.js} +1 -1
  70. package/dist/client/assets/ThreadTerminalDrawer-DcZk76Y9.js +18 -0
  71. package/dist/client/assets/ThreadWorkspacePanel-Shhau2BD.js +2073 -0
  72. package/dist/client/assets/actionscript-3-Cs6JJXT5.js +1 -0
  73. package/dist/client/assets/activity-Dy-wOS-S.js +1 -0
  74. package/dist/client/assets/ahk-CA9gdOdF.js +1 -0
  75. package/dist/client/assets/ahk2-_6rzW9BS.js +1 -0
  76. package/dist/client/assets/{alert-DE5SkZhr.js → alert-4WZo8oMe.js} +1 -1
  77. package/dist/client/assets/apex-KFGFyKwG.js +1 -0
  78. package/dist/client/assets/{appChrome-CJauXpqv.js → appChrome-CiOQzE1d.js} +1 -1
  79. package/dist/client/assets/appearancePreferences-nFx4MHoI.js +1 -0
  80. package/dist/client/assets/arrow-left-gLRAasih.js +1 -0
  81. package/dist/client/assets/arrow-right-CAK2t4QL.js +1 -0
  82. package/dist/client/assets/arrow-up-right-DP0hmMEB.js +1 -0
  83. package/dist/client/assets/asciidoc-SCjQUq34.js +1 -0
  84. package/dist/client/assets/authorization-K_UCP_xh.js +1 -0
  85. package/dist/client/assets/badge-CYDyJZRJ.js +1 -0
  86. package/dist/client/assets/{bat-Bo4NYOV-.js → bat-qdxAdBWQ.js} +1 -1
  87. package/dist/client/assets/bird2-CYIUgYqB.js +1 -0
  88. package/dist/client/assets/bot-CCrx5oCt.js +1 -0
  89. package/dist/client/assets/bsl-_VjlB9mv.js +1 -0
  90. package/dist/client/assets/{button-B6xQZNKz.js → button-QrCU0tNP.js} +1 -1
  91. package/dist/client/assets/c3-D0apG41V.js +1 -0
  92. package/dist/client/assets/{capabilities-D6bsjqkj.js → capabilities-BTd0MRtv.js} +1 -1
  93. package/dist/client/assets/chapel-B4wvmE90.js +1 -0
  94. package/dist/client/assets/chart-column-BvK6lSzG.js +1 -0
  95. package/dist/client/assets/chevron-down-yka18-iP.js +1 -0
  96. package/dist/client/assets/chevron-right-CHyIXx5W.js +1 -0
  97. package/dist/client/assets/clarity-CtfBBspg.js +1 -0
  98. package/dist/client/assets/clipboard-copy-DfdkWOiT.js +1 -0
  99. package/dist/client/assets/copy-riIPLkKV.js +1 -0
  100. package/dist/client/assets/coq-DuBRPxYg.js +1 -0
  101. package/dist/client/assets/cpp-C3nXdf7H.js +1 -0
  102. package/dist/client/assets/{data-list-7TiaqfZU.js → data-list-CsiYTho5.js} +1 -1
  103. package/dist/client/assets/download-B0lbSdq5.js +1 -0
  104. package/dist/client/assets/editorPreferences-Cf2Smgu1.js +1 -0
  105. package/dist/client/assets/emacs-lisp-c_oH4hRZ.js +1 -0
  106. package/dist/client/assets/{empty-CuQ57p2u.js → empty-CHk0OiOB.js} +1 -1
  107. package/dist/client/assets/{erb-UQla4w8B.js → erb-CXyXxaAM.js} +1 -1
  108. package/dist/client/assets/{gdresource-C0sCabJj.js → gdresource-xMC7jr7x.js} +1 -1
  109. package/dist/client/assets/gdscript-DYvRD3hg.js +1 -0
  110. package/dist/client/assets/{group-DBXm8riE.js → group-DfFZdj79.js} +1 -1
  111. package/dist/client/assets/hack-Bw3mo9za.js +1 -0
  112. package/dist/client/assets/haxe-C8oCnwJJ.js +1 -0
  113. package/dist/client/assets/hostedConnectionCoordinator-DZh1yVqz.js +1 -0
  114. package/dist/client/assets/hxml-Dcm88srW.js +1 -0
  115. package/dist/client/assets/{index-DRY8Hgrj.js → index-D5j6WG7w.js} +2 -2
  116. package/dist/client/assets/input-BAC5Cd3b.js +1 -0
  117. package/dist/client/assets/{julia-DTmLe4fA.js → julia-C-lBeOK5.js} +1 -1
  118. package/dist/client/assets/{just-CPUGe9J1.js → just-DfEtguTY.js} +1 -1
  119. package/dist/client/assets/kbd-CMUW8K7b.js +1 -0
  120. package/dist/client/assets/key-round-Cm6itp2V.js +1 -0
  121. package/dist/client/assets/latex-6oxeCMbP.js +1 -0
  122. package/dist/client/assets/layers-DoDpJao_.js +1 -0
  123. package/dist/client/assets/{liquidGlass-yFkZrRk5.js → liquidGlass-Dbl4k51l.js} +1 -1
  124. package/dist/client/assets/{llvm-Cm23YOpf.js → llvm-DqHOMS-s.js} +1 -1
  125. package/dist/client/assets/loader-circle-D0CNb5GI.js +1 -0
  126. package/dist/client/assets/log-out-BuoOiS45.js +1 -0
  127. package/dist/client/assets/{logging-Y73f240E.js → logging-DfaR8ACp.js} +1 -1
  128. package/dist/client/assets/luau-C2pBCSgt.js +1 -0
  129. package/dist/client/assets/main-CRk9p9SC.css +2 -0
  130. package/dist/client/assets/main-DaXSCt8g.js +9 -0
  131. package/dist/client/assets/mdc-uTSeACfH.js +1 -0
  132. package/dist/client/assets/mermaid-BxpfTIzt.js +1 -0
  133. package/dist/client/assets/mojo-fg40_ntQ.js +1 -0
  134. package/dist/client/assets/monitor-Dyigmrl2.js +1 -0
  135. package/dist/client/assets/moonbit-DgjMoLWr.js +1 -0
  136. package/dist/client/assets/move-BYnGhZoM.js +1 -0
  137. package/dist/client/assets/nsis-CjNLYCLg.js +1 -0
  138. package/dist/client/assets/nushell-DHYfO66s.js +1 -0
  139. package/dist/client/assets/org-DRYqs_wo.js +1 -0
  140. package/dist/client/assets/palette-kIM_geXk.js +1 -0
  141. package/dist/client/assets/play-Dh8XDMnw.js +1 -0
  142. package/dist/client/assets/{powershell-DshXNtvi.js → powershell-CCSX75yM.js} +1 -1
  143. package/dist/client/assets/primary-DjXNHNGV.js +2 -0
  144. package/dist/client/assets/prisma-DMgNhnYS.js +1 -0
  145. package/dist/client/assets/providerDriverMeta-Cl-ADdmZ.js +1 -0
  146. package/dist/client/assets/providerModels-dpugJUmV.js +1 -0
  147. package/dist/client/assets/{qr-code-BKrwYZ2s.js → qr-code-Bun4dpvz.js} +1 -1
  148. package/dist/client/assets/qr-code-CkI1p05P.js +1 -0
  149. package/dist/client/assets/r-B-BYV2IP.js +1 -0
  150. package/dist/client/assets/radio-group-Hh0oQGyf.js +2 -0
  151. package/dist/client/assets/rbs-C0MpOrj4.js +1 -0
  152. package/dist/client/assets/refresh-cw-MqmsC7V0.js +1 -0
  153. package/dist/client/assets/{rst-C90_EUa_.js → rst-DKqX_39h.js} +1 -1
  154. package/dist/client/assets/{ruby-BlGyFGAQ.js → ruby-CaU3RLfE.js} +1 -1
  155. package/dist/client/assets/runtime-L56puJDA.js +17 -0
  156. package/dist/client/assets/save-BSB81i-r.js +1 -0
  157. package/dist/client/assets/{scala-DKOlJaKm.js → scala-BiFt_7mu.js} +1 -1
  158. package/dist/client/assets/scroll-area-DCGCzd6v.js +1 -0
  159. package/dist/client/assets/{scrollEdges-D7RQhYjX.js → scrollEdges-DIzjkUJG.js} +1 -1
  160. package/dist/client/assets/{separator-D77goPy-.js → separator-YeH3P39x.js} +1 -1
  161. package/dist/client/assets/settingsLayout-CmNqO2kB.js +1 -0
  162. package/dist/client/assets/settingsSections.logic-Bg960p_I.js +1 -0
  163. package/dist/client/assets/{sheet-z3AEiSN4.js → sheet-CTbjQ5Bv.js} +1 -1
  164. package/dist/client/assets/shield-DlqCO-0N.js +1 -0
  165. package/dist/client/assets/shield-alert-BrZ-Rb8N.js +1 -0
  166. package/dist/client/assets/shield-check-DHxdM6te.js +1 -0
  167. package/dist/client/assets/sidebar-4cwEndEB.js +1 -0
  168. package/dist/client/assets/sidebarProjectFolders-C7WDwUYJ.js +4 -0
  169. package/dist/client/assets/{sidebarStatusText-7jo1n9E1.js → sidebarStatusText-Cq_MMykN.js} +1 -1
  170. package/dist/client/assets/{skeleton-D_kbMg21.js → skeleton-BlostfCS.js} +1 -1
  171. package/dist/client/assets/smalltalk-BHpQb5nM.js +1 -0
  172. package/dist/client/assets/smartphone-OaA-Xj_d.js +1 -0
  173. package/dist/client/assets/smithy-Dgaz7aur.js +1 -0
  174. package/dist/client/assets/solidity-Bj7E1mRn.js +1 -0
  175. package/dist/client/assets/sparkles-BXwkPX2M.js +1 -0
  176. package/dist/client/assets/src-gDjuIvMO.js +14 -0
  177. package/dist/client/assets/star-BjaAYD-x.js +1 -0
  178. package/dist/client/assets/surrealql-CVtmRpY6.js +1 -0
  179. package/dist/client/assets/swift-CyEgAFGc.js +1 -0
  180. package/dist/client/assets/switch-COrEGDkz.js +48 -0
  181. package/dist/client/assets/system-verilog-Dh5ihWbf.js +1 -0
  182. package/dist/client/assets/tex-DOBpnpUK.js +1 -0
  183. package/dist/client/assets/toast-C_F1LeME.js +1 -0
  184. package/dist/client/assets/toggle-BPNEBXg_.js +1 -0
  185. package/dist/client/assets/toggle-group-BC1zJ9xi.js +1 -0
  186. package/dist/client/assets/tokenModePresentation-DUJ8DMTy.js +1 -0
  187. package/dist/client/assets/tooltip-iy3_osu5.js +1 -0
  188. package/dist/client/assets/triangle-alert-YXqtFxD6.js +1 -0
  189. package/dist/client/assets/twig-DsmcR2eZ.js +1 -0
  190. package/dist/client/assets/typst-Drab9wKO.js +1 -0
  191. package/dist/client/assets/unplug-e3z4rXgY.js +1 -0
  192. package/dist/client/assets/useAppSidebarCollapsed-mtvJ7qbW.js +1 -0
  193. package/dist/client/assets/useAppearancePreference-BteoFdGa.js +1 -0
  194. package/dist/client/assets/{useControlled-HocCF1v9.js → useControlled-DQwgzrEC.js} +1 -1
  195. package/dist/client/assets/useLabelableId-NJQsKdL6.js +1 -0
  196. package/dist/client/assets/{useLongPress-OGlhYKlH.js → useLongPress-DG1W7YqV.js} +1 -1
  197. package/dist/client/assets/usePhoneThreadActions-97AsVVIR.js +1 -0
  198. package/dist/client/assets/usePopupViewport-8OM2irPK.js +1 -0
  199. package/dist/client/assets/usePositioner-0Kb-C4al.js +1 -0
  200. package/dist/client/assets/useRenderElement-D0HVF5g_.js +1 -0
  201. package/dist/client/assets/useScrollLock-AUqaSAkf.js +1 -0
  202. package/dist/client/assets/useStatistics-DfLU9_Qu.js +55 -0
  203. package/dist/client/assets/useSwipeDismiss-CcW-GPO_.js +1 -0
  204. package/dist/client/assets/{useTheme-By1kfyiU.js → useTheme-CVNauCtz.js} +1 -1
  205. package/dist/client/assets/useTriggerFocusGuards-ChBvppef.js +1 -0
  206. package/dist/client/assets/{useButton-Dx5k1uZG.js → useValueChanged-CThCTn4h.js} +1 -1
  207. package/dist/client/assets/user-round-evbX_eto.js +1 -0
  208. package/dist/client/assets/{utils-B5qahmRn.js → utils-5-6TOrS1.js} +1 -1
  209. package/dist/client/assets/{v-DETTlOr0.js → v-DBj4K9d_.js} +1 -1
  210. package/dist/client/assets/{vb-Djn5o6TS.js → vb-DOwzaHZ0.js} +1 -1
  211. package/dist/client/assets/verilog-B2gwz-sJ.js +1 -0
  212. package/dist/client/assets/{visuallyHidden-j2WbVEv-.js → visuallyHidden-BRaogTVF.js} +1 -1
  213. package/dist/client/assets/vscode-icons-Dgo7Sslf.js +1 -0
  214. package/dist/client/assets/{vue-DStD_OmO.js → vue-Dt-rrFdH.js} +1 -1
  215. package/dist/client/assets/worker-Bs0l0ezO.js +162 -0
  216. package/dist/client/assets/{workspaceMetadataProjection-D3vqw40g.js → workspaceMetadataProjection-UiprkDbH.js} +1 -1
  217. package/dist/client/assets/wrench-mA--bcId.js +1 -0
  218. package/dist/client/assets/x-_SjFRYll.js +1 -0
  219. package/dist/client/index.html +1 -1
  220. package/dist/client/mockServiceWorker.js +124 -99
  221. package/dist/resource-monitor/darwin-arm64/ryco-resource-monitor +0 -0
  222. package/dist/resource-monitor/darwin-x64/ryco-resource-monitor +0 -0
  223. package/dist/resource-monitor/linux-arm64/ryco-resource-monitor +0 -0
  224. package/dist/resource-monitor/linux-x64/ryco-resource-monitor +0 -0
  225. package/dist/resource-monitor/ryco-resource-monitor +0 -0
  226. package/dist/resource-monitor/ryco-resource-monitor.exe +0 -0
  227. package/dist/resource-monitor/win32-arm64/ryco-resource-monitor.exe +0 -0
  228. package/dist/resource-monitor/win32-x64/ryco-resource-monitor.exe +0 -0
  229. package/package.json +20 -12
  230. package/dist/client/assets/AccountSettings-CypheYqM.js +0 -1
  231. package/dist/client/assets/AiFocusSettings-BlX0ED1t.js +0 -1
  232. package/dist/client/assets/AppearanceSettings-BSyn6NXf.js +0 -1
  233. package/dist/client/assets/BranchToolbar.logic-fpBz8Ajj.js +0 -1
  234. package/dist/client/assets/BrowserPanel-BWch19QH.js +0 -1
  235. package/dist/client/assets/ChatRightPanel-B7yrq-hS.js +0 -27
  236. package/dist/client/assets/ChatThreadRouteView-Cg0d_EHs.js +0 -1
  237. package/dist/client/assets/CommandPaletteDialog-DImCuPaX.js +0 -1
  238. package/dist/client/assets/CompositeItem-BYnHWRNf.js +0 -1
  239. package/dist/client/assets/CompositeRoot-B28uivk7.js +0 -1
  240. package/dist/client/assets/ComputerUseSettings-CosW7jaG.js +0 -1
  241. package/dist/client/assets/ConnectionsSettings-Bk6vI3G-.js +0 -7
  242. package/dist/client/assets/ContextHandoffEndpointLabel-BR6ygaub.js +0 -4
  243. package/dist/client/assets/DiagnosticsSettings-Dp_tCNLw.js +0 -2
  244. package/dist/client/assets/DialogHandle-BN-QB-sO.js +0 -1
  245. package/dist/client/assets/DialogPopup-BuJs5WUt.js +0 -1
  246. package/dist/client/assets/DialogRoot-PxEcoecQ.js +0 -1
  247. package/dist/client/assets/DialogTitle-4nxQsra4.js +0 -1
  248. package/dist/client/assets/DialogTrigger-D_0canul.js +0 -1
  249. package/dist/client/assets/DialogViewport-DSo-2hyf.js +0 -1
  250. package/dist/client/assets/DraftChatThreadRouteView-C94kpMx4.js +0 -1
  251. package/dist/client/assets/GlassSurface-CyOTUS7E.js +0 -1
  252. package/dist/client/assets/HostedConnectionControls-CL0Ws4ca.js +0 -1
  253. package/dist/client/assets/HostedHubRoot-LUINZl4r.js +0 -1
  254. package/dist/client/assets/HostedNativeAuthorizationRoute-CgYVBE6N.js +0 -1
  255. package/dist/client/assets/Icons-BIUbIFr7.js +0 -1
  256. package/dist/client/assets/IntegrationsSettingsPanel-B7tXTaa3.js +0 -1
  257. package/dist/client/assets/KeybindingsSettings-HMlRcGQ4.js +0 -7
  258. package/dist/client/assets/LazyBrowserPanel-CKfmuM9U.js +0 -1
  259. package/dist/client/assets/McpServersSettings-Bq-HyhvC.js +0 -6
  260. package/dist/client/assets/MobileSheet-acDRH9aa.js +0 -1
  261. package/dist/client/assets/NoActiveThreadState-7rym7bV7.js +0 -1
  262. package/dist/client/assets/NodeSecuritySettings-D8qjh4Dc.js +0 -1
  263. package/dist/client/assets/OpinionatedPluginsSettings-D7Uks5yR.js +0 -1
  264. package/dist/client/assets/PhoneGetAppInterstitial-BQXUSufH.js +0 -1
  265. package/dist/client/assets/PhoneGetAppInterstitialBackdrop-BbUvwGmI.js +0 -1
  266. package/dist/client/assets/PhoneHome-DvgdMTkh.js +0 -1
  267. package/dist/client/assets/PhoneSettingsSurface-DncJ540i.js +0 -1
  268. package/dist/client/assets/ProjectFavicon-BY5Vyyk6.js +0 -1
  269. package/dist/client/assets/ProviderInstanceIcon-CZe1TbeC.js +0 -1
  270. package/dist/client/assets/ProviderModelPicker-DHAY1n_1.js +0 -1
  271. package/dist/client/assets/ProviderUpdateLaunchNotification.logic-DQJVrUIo.js +0 -1
  272. package/dist/client/assets/ProvidersSettingsPanel-BylxZs4S.js +0 -1
  273. package/dist/client/assets/RootAppShell-DBK0WW2b.js +0 -6
  274. package/dist/client/assets/RycoLetterMark-PnGm6TQY.js +0 -1
  275. package/dist/client/assets/SettingsDialog-N25hIv-a.js +0 -1
  276. package/dist/client/assets/SettingsPanels-D9YXmUPP.js +0 -3
  277. package/dist/client/assets/SettingsPanels.editor-Cn18k74l.js +0 -1
  278. package/dist/client/assets/SourceControlSettings-BAzSpMfR.js +0 -1
  279. package/dist/client/assets/StatisticsPage-CLKpfsQ8.js +0 -1
  280. package/dist/client/assets/StatisticsPanel-DxHUFn64.js +0 -1
  281. package/dist/client/assets/ThreadStatusIndicators-CQZ_OgY8.js +0 -0
  282. package/dist/client/assets/ThreadTerminalDrawer-D1SPewXR.js +0 -20
  283. package/dist/client/assets/ThreadWorkspacePanel-DVF6oZsV.js +0 -2009
  284. package/dist/client/assets/ToolbarRootContext-Dt8G5aCw.js +0 -1
  285. package/dist/client/assets/WorkItemsTab-BoE-TcXJ.js +0 -19
  286. package/dist/client/assets/actionscript-3--17pq3dv.js +0 -1
  287. package/dist/client/assets/activity-DfFM6I8A.js +0 -1
  288. package/dist/client/assets/alert-dialog-BqPnPhb6.js +0 -1
  289. package/dist/client/assets/andromeeda-WkhI09AS.js +0 -1
  290. package/dist/client/assets/apex-VAyPSnFM.js +0 -1
  291. package/dist/client/assets/appearancePreferences-BhNRCg6W.js +0 -1
  292. package/dist/client/assets/archive-BFV4YQ7D.js +0 -1
  293. package/dist/client/assets/arrow-left-CCmICk1t.js +0 -1
  294. package/dist/client/assets/arrow-right-Z3Eay6Fd.js +0 -1
  295. package/dist/client/assets/arrow-up-caak6P06.js +0 -1
  296. package/dist/client/assets/arrow-up-right-BwC-fCE4.js +0 -1
  297. package/dist/client/assets/asciidoc-DE70LPWp.js +0 -1
  298. package/dist/client/assets/aurora-x-C7CFqhAd.js +0 -1
  299. package/dist/client/assets/authorization-bHsGYIT0.js +0 -1
  300. package/dist/client/assets/ayu-dark-CRu61w6_.js +0 -1
  301. package/dist/client/assets/ayu-light-Dn6O_aYR.js +0 -1
  302. package/dist/client/assets/ayu-mirage-CTjYAbs-.js +0 -1
  303. package/dist/client/assets/badge-m9kM3P07.js +0 -1
  304. package/dist/client/assets/bird2-C6vDhewU.js +0 -1
  305. package/dist/client/assets/bot-Cv7a7Ksf.js +0 -1
  306. package/dist/client/assets/bsl-BkkzgIyY.js +0 -1
  307. package/dist/client/assets/c3-BFHwR3_K.js +0 -1
  308. package/dist/client/assets/catppuccin-frappe-3VR1Za6u.js +0 -1
  309. package/dist/client/assets/catppuccin-latte-DwIHMF0Q.js +0 -1
  310. package/dist/client/assets/catppuccin-macchiato-DYnBP6_5.js +0 -1
  311. package/dist/client/assets/catppuccin-mocha-DYhrFGRu.js +0 -1
  312. package/dist/client/assets/chart-column-DgGlY4sD.js +0 -1
  313. package/dist/client/assets/chatThreadActions-BXaNbPbp.js +0 -1
  314. package/dist/client/assets/check-BfnWUGBT.js +0 -1
  315. package/dist/client/assets/chevron-down-B_FKCRVh.js +0 -1
  316. package/dist/client/assets/chevron-right-B6CKNGh4.js +0 -1
  317. package/dist/client/assets/circle-alert-BV3vJE-c.js +0 -1
  318. package/dist/client/assets/circle-check-D2Vx39x-.js +0 -1
  319. package/dist/client/assets/circle-dashed-khcA8K3Y.js +0 -1
  320. package/dist/client/assets/circle-question-mark-DEuLdOiy.js +0 -1
  321. package/dist/client/assets/circle-x-DqfM_2wS.js +0 -1
  322. package/dist/client/assets/clarity-SemFz856.js +0 -1
  323. package/dist/client/assets/clipboard-copy-CiD4tBsh.js +0 -1
  324. package/dist/client/assets/clock--4M7moiV.js +0 -1
  325. package/dist/client/assets/clock-3-NbnQqtcd.js +0 -1
  326. package/dist/client/assets/collapsible-BECg-ssO.js +0 -1
  327. package/dist/client/assets/command-DvbA3O0J.js +0 -1
  328. package/dist/client/assets/composerHandleContext-BrQ6d8r9.js +0 -1
  329. package/dist/client/assets/copy-CkPe1c-r.js +0 -1
  330. package/dist/client/assets/coq-BrsZFFmf.js +0 -1
  331. package/dist/client/assets/cpp-nUc1dxUX.js +0 -1
  332. package/dist/client/assets/dark-plus-GAt2ZgX8.js +0 -1
  333. package/dist/client/assets/desktopUpdateAtoms-6j0d8vfy.js +0 -1
  334. package/dist/client/assets/desktopWorkspace-8s8rm3zL.js +0 -1
  335. package/dist/client/assets/device-CGaJ6fwD.js +0 -168
  336. package/dist/client/assets/dialog-C9v8Zl6e.js +0 -1
  337. package/dist/client/assets/download-DPjzVxTa.js +0 -1
  338. package/dist/client/assets/dracula-C2uKkzgK.js +0 -1
  339. package/dist/client/assets/dracula-soft-D1bVjxWZ.js +0 -1
  340. package/dist/client/assets/draft-input-BRSLIjV6.js +0 -1
  341. package/dist/client/assets/editorPreferences-D-9SDgRM.js +0 -1
  342. package/dist/client/assets/emacs-lisp-B4R74twV.js +0 -1
  343. package/dist/client/assets/everforest-dark-D-DlICQR.js +0 -1
  344. package/dist/client/assets/everforest-light-CeVdGHYG.js +0 -1
  345. package/dist/client/assets/external-link-CF9EzT-A.js +0 -1
  346. package/dist/client/assets/eye-C2Puut9B.js +0 -1
  347. package/dist/client/assets/folder-BKTxLq18.js +0 -1
  348. package/dist/client/assets/folder-closed-D2cwiusg.js +0 -1
  349. package/dist/client/assets/gdscript-Cp2uCuqX.js +0 -1
  350. package/dist/client/assets/getPseudoElementBounds-DdH76YK5.js +0 -1
  351. package/dist/client/assets/git-branch-Dauy2SWC.js +0 -1
  352. package/dist/client/assets/git-pull-request-DsK1gBtK.js +0 -1
  353. package/dist/client/assets/github-dark-DwbbXv51.js +0 -1
  354. package/dist/client/assets/github-dark-default-CxjRwzl6.js +0 -1
  355. package/dist/client/assets/github-dark-dimmed-Cr1oaoul.js +0 -1
  356. package/dist/client/assets/github-dark-high-contrast-B4qJZLZa.js +0 -1
  357. package/dist/client/assets/github-light-CsVXhIlR.js +0 -1
  358. package/dist/client/assets/github-light-default-DB_IwZa6.js +0 -1
  359. package/dist/client/assets/github-light-high-contrast-DLgVeSB-.js +0 -1
  360. package/dist/client/assets/globe-dS40wBdE.js +0 -1
  361. package/dist/client/assets/gruvbox-dark-hard-DXm60lX3.js +0 -1
  362. package/dist/client/assets/gruvbox-dark-medium-GE2thSmD.js +0 -1
  363. package/dist/client/assets/gruvbox-dark-soft-04Cj-4VZ.js +0 -1
  364. package/dist/client/assets/gruvbox-light-hard-K6wSn29D.js +0 -1
  365. package/dist/client/assets/gruvbox-light-medium-CVy3aSlc.js +0 -1
  366. package/dist/client/assets/gruvbox-light-soft-DNgJjaY0.js +0 -1
  367. package/dist/client/assets/hack-Vy6VBrBk.js +0 -1
  368. package/dist/client/assets/haxe-OTjmBuCE.js +0 -1
  369. package/dist/client/assets/horizon-0-RkHfro.js +0 -1
  370. package/dist/client/assets/horizon-bright-BgL2X9oq.js +0 -1
  371. package/dist/client/assets/hostedConnectionCoordinator-DSMW2Ldh.js +0 -1
  372. package/dist/client/assets/houston-KyjWKfuY.js +0 -1
  373. package/dist/client/assets/hxml-B0Qn7Nwc.js +0 -1
  374. package/dist/client/assets/input-Dn_zesdZ.js +0 -1
  375. package/dist/client/assets/isElementDisabled-KSuuBj8D.js +0 -1
  376. package/dist/client/assets/kanagawa-dragon-CXtmUGW6.js +0 -1
  377. package/dist/client/assets/kanagawa-lotus-BN08jTvb.js +0 -1
  378. package/dist/client/assets/kanagawa-wave-CTweb8Dz.js +0 -1
  379. package/dist/client/assets/kbd-BF2-WlxQ.js +0 -1
  380. package/dist/client/assets/key-round-BjaaL9Df.js +0 -1
  381. package/dist/client/assets/keybindings-FSJY3Tht.js +0 -1
  382. package/dist/client/assets/keyboard-AkUFPD_e.js +0 -1
  383. package/dist/client/assets/label-BKjVY2A9.js +0 -1
  384. package/dist/client/assets/laserwave-CQkdhozh.js +0 -1
  385. package/dist/client/assets/latex-UxGGx4RW.js +0 -1
  386. package/dist/client/assets/layers-tzRiuxSx.js +0 -1
  387. package/dist/client/assets/lib-D5cyGc84.js +0 -29
  388. package/dist/client/assets/light-plus-CNQ8_7Y0.js +0 -1
  389. package/dist/client/assets/loader-BrbWRz3I.js +0 -1
  390. package/dist/client/assets/loader-circle-DRKbHQst.js +0 -1
  391. package/dist/client/assets/log-out-BEihaal1.js +0 -1
  392. package/dist/client/assets/luau-FMPmPwt6.js +0 -1
  393. package/dist/client/assets/main-BiIQEybS.js +0 -9
  394. package/dist/client/assets/main-tZWU6iqX.css +0 -2
  395. package/dist/client/assets/material-theme-CAtLaHa3.js +0 -1
  396. package/dist/client/assets/material-theme-darker-k-s5Bc6K.js +0 -1
  397. package/dist/client/assets/material-theme-lighter-CD6a-c4d.js +0 -1
  398. package/dist/client/assets/material-theme-ocean-B3mraInd.js +0 -1
  399. package/dist/client/assets/material-theme-palenight-DEhAARHw.js +0 -1
  400. package/dist/client/assets/mdc-OfbQwt23.js +0 -1
  401. package/dist/client/assets/menu-BxtB33Up.js +0 -1
  402. package/dist/client/assets/mermaid-Bk4SNUv9.js +0 -1
  403. package/dist/client/assets/messages-square-e0Zg750i.js +0 -1
  404. package/dist/client/assets/min-dark-BFqTAwCr.js +0 -1
  405. package/dist/client/assets/min-light-O7UdaaxX.js +0 -1
  406. package/dist/client/assets/minimize-2-DC9gMgGl.js +0 -1
  407. package/dist/client/assets/mojo-BgCJLMeH.js +0 -1
  408. package/dist/client/assets/monitor-Dj0JFj4_.js +0 -1
  409. package/dist/client/assets/monokai-CdkpiU2Y.js +0 -1
  410. package/dist/client/assets/moonbit-CaWjb8XO.js +0 -1
  411. package/dist/client/assets/motion-thOBhZyM.js +0 -1
  412. package/dist/client/assets/move-B1IS1UjX.js +0 -1
  413. package/dist/client/assets/night-owl-BsnCLAKc.js +0 -1
  414. package/dist/client/assets/night-owl-light-BODRhcTU.js +0 -1
  415. package/dist/client/assets/nord-Cd-F4txO.js +0 -1
  416. package/dist/client/assets/nushell-DcLAeLz5.js +0 -1
  417. package/dist/client/assets/one-dark-pro-DUS_IGRK.js +0 -1
  418. package/dist/client/assets/one-light-CVUd7yD5.js +0 -1
  419. package/dist/client/assets/palette-0qvNt1CR.js +0 -1
  420. package/dist/client/assets/pathEntry-BR9vr7Ug.js +0 -1
  421. package/dist/client/assets/pencil-CA0DGufX.js +0 -1
  422. package/dist/client/assets/phoneAnchoredActions-CtpkI3yG.js +0 -1
  423. package/dist/client/assets/plastic-CF8VZTnn.js +0 -1
  424. package/dist/client/assets/play-wIyvqd_g.js +0 -1
  425. package/dist/client/assets/plus-5kH13lqq.js +0 -1
  426. package/dist/client/assets/poimandres-BX2TyY6j.js +0 -1
  427. package/dist/client/assets/popover-CwhgX3HA.js +0 -1
  428. package/dist/client/assets/primary-BqnEJHWx.js +0 -2
  429. package/dist/client/assets/prisma-BsRQq5mF.js +0 -1
  430. package/dist/client/assets/projectPaths-45WPhgoj.js +0 -1
  431. package/dist/client/assets/providerDriverMeta-Cc60r9Rb.js +0 -1
  432. package/dist/client/assets/providerInstances-Cr8JmFCe.js +0 -1
  433. package/dist/client/assets/providerModels-Cr8JmFCe.js +0 -1
  434. package/dist/client/assets/qr-code-DDmpRnPp.js +0 -1
  435. package/dist/client/assets/r-DbaFp5Gj.js +0 -1
  436. package/dist/client/assets/radio-group-DZCo21CF.js +0 -2
  437. package/dist/client/assets/red-CJ3rzSJv.js +0 -1
  438. package/dist/client/assets/refresh-cw-DiuiLTny.js +0 -1
  439. package/dist/client/assets/resolveAriaLabelledBy-927ShlEO.js +0 -1
  440. package/dist/client/assets/rightPanelRouteSearch-CExl-IaQ.js +0 -1
  441. package/dist/client/assets/rose-pine-BthvhNj6.js +0 -1
  442. package/dist/client/assets/rose-pine-dawn-Dg85fqjY.js +0 -1
  443. package/dist/client/assets/rose-pine-moon-hon4tzzS.js +0 -1
  444. package/dist/client/assets/rotate-ccw-XOYBPtyK.js +0 -1
  445. package/dist/client/assets/rotate-cw-D32Z4Sdd.js +0 -1
  446. package/dist/client/assets/runtime-CA2W9mZ-.js +0 -17
  447. package/dist/client/assets/save-DjlqeVG_.js +0 -1
  448. package/dist/client/assets/scroll-area-CylKYQms.js +0 -1
  449. package/dist/client/assets/search-B2nLj573.js +0 -1
  450. package/dist/client/assets/select-qTezUK8F.js +0 -1
  451. package/dist/client/assets/server-y8Wq0Qwv.js +0 -1
  452. package/dist/client/assets/session-logic-xfW418Rx.js +0 -1
  453. package/dist/client/assets/settings-2-DpwBKj3m.js +0 -1
  454. package/dist/client/assets/settingsLayout-BuaXzjIe.js +0 -1
  455. package/dist/client/assets/settingsSections.logic-CR4aytUI.js +0 -1
  456. package/dist/client/assets/shallow-DWZCFNun.js +0 -1
  457. package/dist/client/assets/shield-BuXuMVtb.js +0 -1
  458. package/dist/client/assets/shield-alert-Dfk--o-I.js +0 -1
  459. package/dist/client/assets/shield-check-BHi57iF1.js +0 -1
  460. package/dist/client/assets/sidebar-Dst9O2OR.js +0 -1
  461. package/dist/client/assets/sidebarProjectFolders-DR1NBLLz.js +0 -4
  462. package/dist/client/assets/slack-dark-DYvUXyrP.js +0 -1
  463. package/dist/client/assets/slack-ochin-bqtMVDfH.js +0 -1
  464. package/dist/client/assets/smalltalk-B16xEiuN.js +0 -1
  465. package/dist/client/assets/smartphone-DcUQ17YT.js +0 -1
  466. package/dist/client/assets/snazzy-light-D8dzFmq5.js +0 -1
  467. package/dist/client/assets/solarized-dark-DV17i1UV.js +0 -1
  468. package/dist/client/assets/solarized-light-DSh2HLQt.js +0 -1
  469. package/dist/client/assets/solidity-CKzVLygQ.js +0 -1
  470. package/dist/client/assets/sparkles-nVLLtdqb.js +0 -1
  471. package/dist/client/assets/spinner-CkXSwhuf.js +0 -1
  472. package/dist/client/assets/square-pen-dcArpda7.js +0 -1
  473. package/dist/client/assets/src-I4s4HU8f.js +0 -14
  474. package/dist/client/assets/star-CdUOqzzZ.js +0 -1
  475. package/dist/client/assets/storeSelectors-Cr8JmFCe.js +0 -1
  476. package/dist/client/assets/surrealql-CaZedS14.js +0 -1
  477. package/dist/client/assets/swift-DonLKvLd.js +0 -1
  478. package/dist/client/assets/switch-BMeRsIbg.js +0 -1
  479. package/dist/client/assets/synthwave-84-CIknw8y7.js +0 -1
  480. package/dist/client/assets/system-verilog-DJ5XKQeo.js +0 -1
  481. package/dist/client/assets/tabSwitchInstrumentation-BuxWNdCV.js +0 -1
  482. package/dist/client/assets/terminal-DupJfYRW.js +0 -1
  483. package/dist/client/assets/terminal-links-Bf4neyyn.js +0 -1
  484. package/dist/client/assets/tex-CLeF3jRN.js +0 -1
  485. package/dist/client/assets/textarea-Bu_OTJYe.js +0 -1
  486. package/dist/client/assets/threadPinning-DhnkssEa.js +0 -1
  487. package/dist/client/assets/threadPriorityRefreshRuntime-DJjlyX7f.js +0 -1
  488. package/dist/client/assets/timestampFormat-8uPXS812.js +0 -1
  489. package/dist/client/assets/toast-CIjfIWUw.js +0 -1
  490. package/dist/client/assets/toastHelpers-CSQRKo4F.js +0 -1
  491. package/dist/client/assets/toggle-BA4mJ5v9.js +0 -1
  492. package/dist/client/assets/toggle-group-ChGfILTR.js +0 -1
  493. package/dist/client/assets/tokenModePresentation-B64s_OK3.js +0 -1
  494. package/dist/client/assets/tokyo-night-iIspnLcq.js +0 -1
  495. package/dist/client/assets/tooltip-C2VVqN6U.js +0 -1
  496. package/dist/client/assets/trash-2-Dqgxd0nF.js +0 -1
  497. package/dist/client/assets/triangle-alert-D4cCh6sB.js +0 -1
  498. package/dist/client/assets/twig-BmgBVapk.js +0 -1
  499. package/dist/client/assets/types-Cr8JmFCe.js +0 -1
  500. package/dist/client/assets/typst-DI99ib-x.js +0 -1
  501. package/dist/client/assets/undo-2-C8EQVSSD.js +0 -1
  502. package/dist/client/assets/unplug-Dt3Sy2op.js +0 -1
  503. package/dist/client/assets/useAppSidebarCollapsed-w0th-164.js +0 -1
  504. package/dist/client/assets/useAtlassian-j7ex3bVN.js +0 -0
  505. package/dist/client/assets/useCompositeListItem-BqkyY0oT.js +0 -1
  506. package/dist/client/assets/useCopyToClipboard-BTpWxumf.js +0 -1
  507. package/dist/client/assets/useDebouncedValue-BevbEbPO.js +0 -1
  508. package/dist/client/assets/useFloatingRootContext-j6TgzEFa.js +0 -1
  509. package/dist/client/assets/useHandleNewThread-gVYty_Bg.js +0 -1
  510. package/dist/client/assets/useLabelableId-CcYPzJvj.js +0 -1
  511. package/dist/client/assets/useLocation-CZ3osOgz.js +0 -1
  512. package/dist/client/assets/useOpenInteractionType-apbY9ZEK.js +0 -1
  513. package/dist/client/assets/usePhoneThreadActions-CnDlicSp.js +0 -1
  514. package/dist/client/assets/usePopupViewport-0k75uXo1.js +0 -1
  515. package/dist/client/assets/useRenderElement-5DRNLBaU.js +0 -1
  516. package/dist/client/assets/useScrollLock-C5WLWXcc.js +0 -1
  517. package/dist/client/assets/useStatistics-GOFXPHO0.js +0 -55
  518. package/dist/client/assets/useSwipeDismiss-BNHPBucH.js +0 -1
  519. package/dist/client/assets/useThreadActions-B4Xy2soQ.js +0 -2
  520. package/dist/client/assets/useTriggerFocusGuards-C3geWFzt.js +0 -1
  521. package/dist/client/assets/useValueChanged-FVqPwcY_.js +0 -1
  522. package/dist/client/assets/user-round-KsVtJgon.js +0 -1
  523. package/dist/client/assets/verilog-CiiDBU1e.js +0 -1
  524. package/dist/client/assets/vesper-BIFK_oDq.js +0 -1
  525. package/dist/client/assets/vitesse-black-D082JcaE.js +0 -1
  526. package/dist/client/assets/vitesse-dark-z-nr_5O8.js +0 -1
  527. package/dist/client/assets/vitesse-light-ojz42ZLy.js +0 -1
  528. package/dist/client/assets/vscode-icons-D3XEYHTI.js +0 -1
  529. package/dist/client/assets/worker-B0IAubm_.js +0 -161
  530. package/dist/client/assets/wrench-BnpoYEZm.js +0 -1
  531. package/dist/client/assets/x-BXHT1Zj1.js +0 -1
package/dist/bin.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { $ as AgentControlExternalCapabilitiesResult, $a as ProviderInstanceId, $i as ThreadMessageSentPayload, $n as UsageReadError, $o as CheckpointRef, $r as OrchestrationActorKind, $t as AgentControlMcpReadDeviceStateResult, A as AGENT_CONTROL_EXTERNAL_MCP_TOOL_NAMES, Aa as WORK_ITEM_DETAIL_COMMENT_BODY_MAX_BYTES, Ai as PROVIDER_SEND_TURN_MAX_FILE_BYTES, An as AtlassianCapability, Ao as RELAY_AUTHENTICATION_DEADLINE_MS, Ar as CHAT_ATTACHMENT_READ_CHUNK_BYTES, At as AgentControlMcpOrchestrationEventsResult, B as AGENT_CONTROL_MCP_WAIT_TIMEOUT_MS_DEFAULT, Bi as ProjectionPendingApprovalStatus, Bn as McpInventoryTool, Bo as RelayEffectiveRole, Br as ContextHandoffActivityPayload, Bt as AgentControlMcpProposeDeviceOpenUrlInput, C as AGENT_CONTROL_AUTOMATION_MIN_INTERVAL_MS, Ca as WorktreeSourceControlStateUpdatedPayload$1, Ci as OrchestrationStopBackgroundTaskError, Cn as DEVICE_SWIPE_DURATION_MAX_MS, Co as NATIVE_E2EE_MAX_GRANT_KEYS, Cr as ProviderRespondToUserInputInput, Ct as AgentControlMcpListDevicesResult, D as AGENT_CONTROL_ERROR_CODES, Da as WorktreeId, Di as OrchestrationThreadHistoryError, Dn as ThreadPriorityBatchSnapshot, Do as HubEnrollmentStartResult, Dr as ProviderStopBackgroundTaskInput, Dt as AgentControlMcpListThreadsResult, E as AGENT_CONTROL_DEVICE_ACTION_KINDS, Ea as Worktree, Ei as OrchestrationThreadHistoryCursor, En as DeviceUdid, Eo as HubEnrollmentCeremonyDetail, Er as ProviderSteerTurnInput, Et as AgentControlMcpListThreadsInput, F as AGENT_CONTROL_MCP_OPERATIONAL_RANGE_MAX_MS, Fa as SourceControlRepositoryError, Fi as ProjectDeletedPayload$1, Fn as GitCommandError, Fo as RELAY_MAX_RETRY_AFTER_MS, Fr as CONTEXT_HANDOFF_MAX_INPUT_CHARS, Ft as AgentControlMcpProposeDeviceBootInput, G as AgentControlActionKind, Ga as ThreadPriorityFingerprint, Gi as ThreadActivityAppendedPayload$1, Gn as McpServer, Go as AuthCreatePairingCredentialInput, Gr as ContextHandoffMode, Gt as AgentControlMcpProposeProjectUpdateInput, H as AGENT_CONTROL_RISK_TAGS, Ha as VcsUnsupportedOperationError, Hi as ProviderInteractionMode, Hn as McpOauthLoginResult, Ho as RelayProtocolVersion, Hr as ContextHandoffDigest, Ht as AgentControlMcpProposeDeviceShutdownInput, I as AGENT_CONTROL_MCP_OPERATIONAL_RETENTION_MS, Ii as ProjectMetaUpdatedPayload$1, In as GitManagerError, Io as RELAY_MAX_RPC_MESSAGE_BYTES, Ir as CONTEXT_HANDOFF_WS_METHODS, It as AgentControlMcpProposeDeviceDetachInput, J as AgentControlAutomationDefinition, Ja as DEFAULT_GIT_TEXT_GENERATION_OPTIONS_BY_PROVIDER, Ji as ThreadCreatedPayload$1, Jn as McpServerWritableConfig, Jo as AuthRpcError, Jr as DEFAULT_PROVIDER_INTERACTION_MODE, Jt as AgentControlMcpReadAutomationInput, K as AgentControlActionPlan, Ki as ThreadArchivedPayload$1, Kn as McpServerConfig, Ko as AuthRevokeClientSessionInput, Kr as DEFAULT_AGENT_TOKEN_MODE, Kt as AgentControlMcpProposeSettingsChangeInput, L as AGENT_CONTROL_MCP_READ_THREAD_TEXT_BUDGET_CHARS, La as VcsDriverKind, Li as ProjectMetadataDir, Ln as TextGenerationError, Lo as RELAY_SUPPORTED_VERSION_RANGE, Lr as ChatAttachment, Lt as AgentControlMcpProposeDeviceInputInput, M as AGENT_CONTROL_EXTERNAL_PROPOSAL_TTL_MS, Ma as WorkItemProviderKind, Mi as PROVIDER_SEND_TURN_MAX_INPUT_CHARS, Mn as AtlassianConnectionKind, Mo as RELAY_MAX_CONTROL_FRAME_BYTES, Mr as CONTEXT_HANDOFF_ERROR_MAX_CHARS, Mt as AgentControlMcpProposeAutomationCreateInput, N as AGENT_CONTROL_MCP_AUTOMATION_LIST_PROMPT_MAX_CHARS, Ni as ProjectAvatarSetPayload$1, Nn as AtlassianConnectionStatus, Nr as CONTEXT_HANDOFF_INSPECTION_CHUNK_MAX_BYTES, Nt as AgentControlMcpProposeAutomationUpdateInput, O as AGENT_CONTROL_EXTERNAL_CREDENTIAL_AUDIENCE, Oa as ThreadGoal, Oi as OrchestrationWorktreeShell, On as ThreadPriorityCandidateRanking, Oo as HubIdentitySummary, Or as ProviderStopSessionInput, Ot as AgentControlMcpMutationResult, P as AGENT_CONTROL_MCP_MESSAGE_TEXT_MAX_CHARS, Pa as SourceControlProviderError, Pi as ProjectCreatedPayload$1, Pn as AtlassianProduct, Po as RELAY_MAX_DATA_FRAME_BYTES, Pt as AgentControlMcpProposeDeviceAttachInput, Q as AgentControlCapability, Qa as ProviderDriverKind, Qi as ThreadInteractionModeSetPayload$1, Qn as OpinionatedPluginError, Qo as AuthSessionId, Qr as ORCHESTRATION_WS_METHODS, Qt as AgentControlMcpReadDeviceStateInput, R as AGENT_CONTROL_MCP_TOOLS, Ri as ProjectScript, Rn as McpInventoryResource, Ro as RelayCapability, Rr as ChatAttachmentReadError, Rt as AgentControlMcpProposeDeviceInstallInput, S as AGENT_CONTROL_AUTOMATION_MAX_HORIZON_MS, Sa as WorktreeRestoredPayload$1, Si as OrchestrationShellSnapshot, Sn as DEVICE_FRAME_MAGIC, So as HubDeviceGrantClaims, Sr as ProviderRespondToRequestInput, St as AgentControlMcpListDevicesInput, T as AGENT_CONTROL_CAPABILITIES, Ta as StatusBucket, Ti as OrchestrationThreadActivityTone, Tn as DeviceRpcError, To as HubConnectorStatus, Tr as ProviderSessionStartInput, Tt as AgentControlMcpListProjectsResult, U as AGENT_CONTROL_TERMINAL_PROPOSAL_STATUSES, Ua as ThreadPriorityBatchId, Ui as ProviderSessionRuntimeStatus, Un as McpProviderCapabilities, Uo as AuthBootstrapInput, Ur as ContextHandoffEndpointSnapshot, Ut as AgentControlMcpProposeProjectCreateInput, V as AGENT_CONTROL_MCP_WAIT_TIMEOUT_MS_MAX, Vn as McpListServersResult, Vo as RelayFrame, Vr as ContextHandoffAppliedBudget, Vt as AgentControlMcpProposeDeviceRecordingInput, W as AGENT_CONTROL_WS_METHODS, Wa as ThreadPriorityCandidateId, Wi as RuntimeMode, Wn as McpProviderSupport, Wo as AuthClientMetadataDeviceType, Wr as ContextHandoffInspectionError, Wt as AgentControlMcpProposeProjectRemoveInput, X as AgentControlAutomationRun, Xa as MODEL_SLUG_ALIASES_BY_PROVIDER, Xi as ThreadGoalClearedPayload$1, Xn as McpWorkspace, Xo as AtlassianConnectionId, Xr as ModelContextWindowMetadata, Xt as AgentControlMcpReadControlRequestInput, Y as AgentControlAutomationId, Ya as DEFAULT_MODEL, Yi as ThreadDeletedPayload$1, Yn as McpSettingsError, Yo as ApprovalRequestId, Yr as FileAttachmentCreateUploadUrlError, Yt as AgentControlMcpReadAutomationResult, Z as AgentControlAutomationRunId, Za as ModelCapabilities, Zi as ThreadGoalUpdatedPayload$1, Zn as McpWorkspaceId, Zo as AtlassianResourceId, Zr as ModelSelection, Zt as AgentControlMcpReadDeviceContentInput, _ as ProjectReadFileError, _a as WorktreeArchivedPayload$1, _i as OrchestrationProposedPlanId, _n as AgentControlRequestId, _r as THREAD_JUMP_KEYBINDING_COMMANDS, _s as TurnId, _t as AgentControlMcpInterruptThreadInput, a as ComputerUseBridgeConfig, aa as ThreadSessionSetPayload$1, ai as OrchestrationDispatchCommandError, an as AgentControlMcpUpdateThreadInput, ao as TerminalNotRunningError, ar as CursorSettings, as as MessageId, at as AgentControlExternalTaskId, b as ProjectWriteFileError, ba as WorktreeManualPositionSetPayload$1, bi as OrchestrationSession, bn as AgentControlRpcError, bo as LocalIntroductionCompleteRequest, br as isToolLifecycleItemType, bt as AgentControlMcpListAutomationsInput, c as WS_METHODS, ca as ThreadSnoozedPayload, ci as OrchestrationEventType, cn as AgentControlOperationId, co as EDITORS, cr as OpenCodeSettings, cs as ProjectId, ct as AgentControlIntegrationId, d as WsRpcGroup, da as ThreadTurnDiffCompletedPayload$1, di as OrchestrationGetTaskOutputError, dn as AgentControlPlanDigest, do as DESKTOP_NATIVE_NODE_CLAIM_DESCRIPTOR_PATH, dr as ThreadEnvMode, dt as AgentControlMcpControlRequestResult, ea as ThreadMetaUpdatedPayload$1, ei as OrchestrationAggregateKind, en as AgentControlMcpReadThreadInput, eo as defaultInstanceIdForDriver, er as ServerProvider, es as CommandId, et as AgentControlExternalCreateTaskInput, f as FilesystemBrowseError, fa as ThreadTurnInterruptRequestedPayload$1, fi as OrchestrationGetTurnDiffError, fn as AgentControlPrincipal, fo as DESKTOP_NATIVE_NODE_CLAIM_MAX_BODY_BYTES, fr as KeybindingRule, fs as RuntimeSessionId, ft as AgentControlMcpCreateThreadsInput, g as ProjectReadFileBinaryError, ga as TurnDispatchMode, gi as OrchestrationMessageRole, gn as AgentControlProposalStatus, go as LOCAL_INTRODUCTION_COMPLETE_PATH, gr as ResolvedKeybindingRule, gs as TrimmedNonEmptyString, gt as AgentControlMcpInstallationId, h as ProjectListEntriesError, ha as ThreadUnsnoozedPayload, hi as OrchestrationMessage, hn as AgentControlProposalId, ho as DesktopNativeNodeClaimSignRequest, hr as MODEL_PICKER_JUMP_KEYBINDING_COMMANDS, hs as ThreadId, ht as AgentControlMcpInstallation, i as fromLenientJson, ia as ThreadRuntimeModeSetPayload$1, ii as OrchestrationCommandReceiptStatus, in as AgentControlMcpSettingsSummaryResult, io as TerminalHistoryError, ir as CopilotSettings, is as IsoDateTime, it as AgentControlExternalRpcError, j as AGENT_CONTROL_EXTERNAL_PAIRING_CODE_TTL_MS, ja as WorkItemProviderError, ji as PROVIDER_SEND_TURN_MAX_IMAGE_BYTES, jn as AtlassianConnectionError, jo as RELAY_FRAME_TYPES, jr as CONTEXT_HANDOFF_ACTIVITY_KIND, jt as AgentControlMcpProposeAutomationCancelInput, k as AGENT_CONTROL_EXTERNAL_MCP_TOOLS, ka as WORK_ITEM_DETAIL_BODY_MAX_BYTES, ki as PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES, kn as ThreadPriorityRpcError, ko as HubGrantVerificationKeyId, kr as AgentTokenMode, kt as AgentControlMcpOperationalReadInput, l as WsDeviceRpcGroup, la as ThreadStatusBucketOverriddenPayload$1, li as OrchestrationGetFullThreadDiffError, ln as AgentControlOperationState, lo as OpenError, lr as ServerSettings, lt as AgentControlMcpCapabilitiesResult, ma as ThreadUnsettledPayload$1, mi as OrchestrationGetWorkflowScriptError, mn as AgentControlProposal, mo as DesktopNativeNodeClaimCommitRequest, mr as KeybindingsConfigError, mt as AgentControlMcpDiagnosticsSummaryResult, n as decodeJsonResult, na as ThreadProposedPlanUpsertedPayload$1, ni as OrchestrationCheckpointStatus, nn as AgentControlMcpRecentActivityResult, nr as ClaudeSettings, ns as EnvironmentId, nt as AgentControlExternalOverviewResult, o as ComputerUseRequest, oa as ThreadSettledPayload$1, oi as OrchestrationEvent, on as AgentControlMcpWaitForControlRequestInput, oo as TerminalSessionLookupError, or as DEFAULT_SERVER_SETTINGS, os as NonNegativeInt, ot as AgentControlExternalTaskIdInput, p as PROJECT_READ_FILE_BINARY_MAX_BYTES, pa as ThreadUnarchivedPayload$1, pi as OrchestrationGetTurnDiffResult, pn as AgentControlPromptSummary, po as DESKTOP_NATIVE_NODE_CLAIM_SIGN_PATH, pr as KeybindingsConfig, pt as AgentControlMcpDiagnosticsSummaryInput, q as AgentControlAutomation, qa as DEFAULT_GIT_TEXT_GENERATION_MODEL_BY_PROVIDER, qi as ThreadAttachedToWorktreePayload$1, qn as McpServerName, qo as AuthRevokePairingLinkInput, qr as DEFAULT_PROJECT_METADATA_DIR, qt as AgentControlMcpProviderRuntimeEventsResult, r as formatSchemaError, ra as ThreadRevertedPayload$1, ri as OrchestrationCheckpointSummary, rn as AgentControlMcpSendMessageInput, ro as TerminalCwdError, rr as CodexSettings, rs as EventId, rt as AgentControlExternalProjectScope, s as ComputerUseResult, sa as ThreadSettlementOverride, si as OrchestrationEventMetadata, sn as AgentControlOperation, so as TerminalSubscriptionResyncError, sr as GrokSettings, ss as PositiveInt, st as AgentControlExternalWaitForTaskInput, t as collectUint8StreamText, ta as ThreadPriorityProjectedRanking, ti as OrchestrationCheckpointFile, tn as AgentControlMcpReadThreadResult, to as isProviderDriverKind, tr as ServerProviderUpdateError, ts as ContextHandoffId, tt as AgentControlExternalIntegration, u as WsHostedRpcGroup, ua as ThreadTokenModeSetPayload$1, ui as OrchestrationGetSnapshotError, un as AgentControlOperationStatus, uo as DESKTOP_NATIVE_NODE_CLAIM_COMMIT_PATH, ur as ServerSettingsError, ut as AgentControlMcpContextResult, v as ProjectSearchEntriesError, va as WorktreeCreatedPayload$1, vi as OrchestrationReadModel, vn as AgentControlResultEnvelope, vo as LOCAL_INTRODUCTION_DESCRIPTOR_PATH, vr as RuntimeSubagentStatus, vt as AgentControlMcpListAutomationRunsInput, w as AGENT_CONTROL_AUTOMATION_PROPOSAL_TTL_MS, wa as PullRequestState, wi as OrchestrationThread, wn as DEVICE_WS_METHODS, wo as NodeE2eeAdmissionPolicy, wr as ProviderSendTurnInput, wt as AgentControlMcpListProjectsInput, x as AGENT_CONTROL_ACTION_CAPABILITIES, xa as WorktreeMetaUpdatedPayload$1, xi as OrchestrationSessionStatus, xn as DEVICE_CAPABILITY_LABELS, xo as HUB_DEVICE_GRANT_MAX_BYTES, xr as ProviderInterruptTurnInput, xt as AgentControlMcpListAutomationsResult, y as ProjectStageFileReferenceError, ya as WorktreeDeletedPayload$1, yi as OrchestrationReplayEventsError, yn as AgentControlRiskTag, yo as LOCAL_INTRODUCTION_MAX_BODY_BYTES, yr as ToolLifecycleItemType, yt as AgentControlMcpListAutomationRunsResult, z as AGENT_CONTROL_MCP_TOOL_NAMES, za as VcsProcessExitError, zi as ProjectionPendingApprovalDecision, zn as McpInventoryResourceTemplate, zo as RelayChannelId, zr as ClientOrchestrationCommand, zt as AgentControlMcpProposeDeviceLaunchInput } from "./collectUint8StreamText-C_VNyArd.mjs";
4
- import { $ as normalizeGitRemoteUrl, A as runtimeQueueBlockedDuration, B as startupCommandGateQueueHighWater, C as providerStartupQueueHighWater, Ct as decode, D as providerTurnsTotal, E as providerTurnMetricAttributes, Et as Type, F as runtimeQueueHighWater, G as LocalDiagnosticsMetrics, H as terminalRestartsTotal, I as runtimeQueueOverflowsTotal, J as buildTemporaryWorktreeBranchName, K as LocalDiagnosticsMetricsLive, L as runtimeQueueRecoveriesTotal, M as runtimeQueueDepth, N as runtimeQueueDequeuesTotal, O as rpcRequestDuration, P as runtimeQueueEnqueuesTotal, Q as mergeGitStatusParts, R as startupCommandGateEnqueuesTotal, S as providerStartupQueueDepth, St as Tokeniser, T as providerTurnDuration, Tt as rfc8949EncodeOptions, U as terminalSessionsTotal, V as startupCommandGateQueueWaitDuration, W as withMetrics, X as detectSourceControlProviderFromGitRemoteUrl, Y as dedupeRemoteBranchesWithLocalMatches, Z as isTemporaryWorktreeBranch, _ as providerRuntimeEventsTotal, _t as encodeNodeKeyRotationTranscript, a as contextHandoffsTotal, at as DEFAULT_PORT, b as providerStaleStopTimeoutsTotal, bt as formatNodePublicKeyFingerprint, c as increment, ct as deriveServerPaths, d as orchestrationCommandAckDuration, dt as resolveManagedWorktreesRoot, et as resolveAutoFeatureBranchName, f as orchestrationCommandDuration, ft as resolveNodeE2eePolicyConfig, g as providerMetricAttributes, gt as encodeNodeAuthenticationTranscript, h as providerEventLogRecordsDroppedTotal, ht as encodeNativeNodeClaimTranscript, i as contextHandoffPreparationDuration, it as outcomeFromExit, j as runtimeQueueCoalescedTotal, k as rpcRequestsTotal, l as metricAttributes, lt as ensureServerDirectories, m as orchestrationEventsProcessedTotal, mt as canonicalizeHubOrigin, n as contextHandoffContextEntriesTotal, nt as sanitizeFeatureBranchName, o as gitCommandDuration, ot as RuntimeMode$1, p as orchestrationCommandsTotal, pt as resolveStaticDir, q as WORKTREE_BRANCH_PREFIX, r as contextHandoffDispatchDuration, rt as compactTraceAttributes, s as gitCommandsTotal, st as ServerConfig, t as contextHandoffContextBytesTotal, tt as sanitizeBranchFragment, u as metricNames, ut as resolveHubConnectorConfig, v as providerRuntimeStaleEventsTotal, vt as equalNodeIdentityBytes, w as providerStartupQueueWaitDuration, wt as encode, x as providerStartupAdmissionTotal, xt as normalizeHubNodeName, y as providerSessionsTotal, yt as fingerprintNodePublicKey, z as startupCommandGateQueueDepth } from "./Metrics-BP9YjxZB.mjs";
4
+ import { $ as normalizeGitRemoteUrl, A as runtimeQueueBlockedDuration, B as startupCommandGateQueueHighWater, C as providerStartupQueueHighWater, Ct as decode, D as providerTurnsTotal, E as providerTurnMetricAttributes, Et as Type, F as runtimeQueueHighWater, G as LocalDiagnosticsMetrics, H as terminalRestartsTotal, I as runtimeQueueOverflowsTotal, J as buildTemporaryWorktreeBranchName, K as LocalDiagnosticsMetricsLive, L as runtimeQueueRecoveriesTotal, M as runtimeQueueDepth, N as runtimeQueueDequeuesTotal, O as rpcRequestDuration, P as runtimeQueueEnqueuesTotal, Q as mergeGitStatusParts, R as startupCommandGateEnqueuesTotal, S as providerStartupQueueDepth, St as Tokeniser, T as providerTurnDuration, Tt as rfc8949EncodeOptions, U as terminalSessionsTotal, V as startupCommandGateQueueWaitDuration, W as withMetrics, X as detectSourceControlProviderFromGitRemoteUrl, Y as dedupeRemoteBranchesWithLocalMatches, Z as isTemporaryWorktreeBranch, _ as providerRuntimeEventsTotal, _t as encodeNodeKeyRotationTranscript, a as contextHandoffsTotal, at as DEFAULT_PORT, b as providerStaleStopTimeoutsTotal, bt as formatNodePublicKeyFingerprint, c as increment, ct as deriveServerPaths, d as orchestrationCommandAckDuration, dt as resolveManagedWorktreesRoot, et as resolveAutoFeatureBranchName, f as orchestrationCommandDuration, ft as resolveNodeE2eePolicyConfig, g as providerMetricAttributes, gt as encodeNodeAuthenticationTranscript, h as providerEventLogRecordsDroppedTotal, ht as encodeNativeNodeClaimTranscript, i as contextHandoffPreparationDuration, it as outcomeFromExit, j as runtimeQueueCoalescedTotal, k as rpcRequestsTotal, l as metricAttributes, lt as ensureServerDirectories, m as orchestrationEventsProcessedTotal, mt as canonicalizeHubOrigin, n as contextHandoffContextEntriesTotal, nt as sanitizeFeatureBranchName, o as gitCommandDuration, ot as RuntimeMode$1, p as orchestrationCommandsTotal, pt as resolveStaticDir, q as WORKTREE_BRANCH_PREFIX, r as contextHandoffDispatchDuration, rt as compactTraceAttributes, s as gitCommandsTotal, st as ServerConfig, t as contextHandoffContextBytesTotal, tt as sanitizeBranchFragment, u as metricNames, ut as resolveHubConnectorConfig, v as providerRuntimeStaleEventsTotal, vt as equalNodeIdentityBytes, w as providerStartupQueueWaitDuration, wt as encode, x as providerStartupAdmissionTotal, xt as normalizeHubNodeName, y as providerSessionsTotal, yt as fingerprintNodePublicKey, z as startupCommandGateQueueDepth } from "./Metrics-a1h4iBQi.mjs";
5
5
  import { a as makeForgejoDiscovery, c as sourceBranch, d as firstNonEmptyLine, f as probeSourceControlProvider, h as layer$21, i as makeBitbucketDiscovery, m as VcsProcess, n as githubDiscovery, o as SourceControlProvider, p as refineUnknownRemoteProvider, r as gitlabDiscovery, s as parseSourceControlOwnerRef, t as azureDevOpsDiscovery, u as detailFromCause } from "./SourceControlProviderDiscoveryCatalog-B37RHe2u.mjs";
6
6
  import { n as detectSourceControlProviderFromRemoteUrl, r as getChangeRequestTerminologyForKind } from "./sourceControl-BiEBxN01.mjs";
7
7
  import * as NodeRuntime from "@effect/platform-node/NodeRuntime";
@@ -33981,7 +33981,7 @@ const BUILT_IN_DRIVERS = [
33981
33981
  configSchema: CodexSettings,
33982
33982
  defaultConfig: () => Schema.decodeSync(CodexSettings)({}),
33983
33983
  create: (input) => Effect.tryPromise({
33984
- try: () => import("./CodexDriver-D4z5-wUD.mjs"),
33984
+ try: () => import("./CodexDriver-DnnqkGoY.mjs"),
33985
33985
  catch: (cause) => driverImportError(codexDriverKind, input, cause)
33986
33986
  }).pipe(Effect.flatMap(({ CodexDriver }) => CodexDriver.create(input)))
33987
33987
  },
@@ -33995,7 +33995,7 @@ const BUILT_IN_DRIVERS = [
33995
33995
  configSchema: ClaudeSettings,
33996
33996
  defaultConfig: () => Schema.decodeSync(ClaudeSettings)({}),
33997
33997
  create: (input) => Effect.tryPromise({
33998
- try: () => import("./ClaudeDriver-D65SPdHR.mjs"),
33998
+ try: () => import("./ClaudeDriver-C4yu7Jit.mjs"),
33999
33999
  catch: (cause) => driverImportError(claudeDriverKind, input, cause)
34000
34000
  }).pipe(Effect.flatMap(({ ClaudeDriver }) => ClaudeDriver.create(input)))
34001
34001
  },
@@ -34009,7 +34009,7 @@ const BUILT_IN_DRIVERS = [
34009
34009
  configSchema: CopilotSettings,
34010
34010
  defaultConfig: () => Schema.decodeSync(CopilotSettings)({}),
34011
34011
  create: (input) => Effect.tryPromise({
34012
- try: () => import("./CopilotDriver-ZvvsAIkd.mjs"),
34012
+ try: () => import("./CopilotDriver-GxKLX5pL.mjs"),
34013
34013
  catch: (cause) => driverImportError(copilotDriverKind, input, cause)
34014
34014
  }).pipe(Effect.flatMap(({ CopilotDriver }) => CopilotDriver.create(input)))
34015
34015
  },
@@ -34023,7 +34023,7 @@ const BUILT_IN_DRIVERS = [
34023
34023
  configSchema: CursorSettings,
34024
34024
  defaultConfig: () => Schema.decodeSync(CursorSettings)({}),
34025
34025
  create: (input) => Effect.tryPromise({
34026
- try: () => import("./CursorDriver-B1QSBzuH.mjs"),
34026
+ try: () => import("./CursorDriver-CNo9Uzo8.mjs"),
34027
34027
  catch: (cause) => driverImportError(cursorDriverKind, input, cause)
34028
34028
  }).pipe(Effect.flatMap(({ CursorDriver }) => CursorDriver.create(input)))
34029
34029
  },
@@ -34037,7 +34037,7 @@ const BUILT_IN_DRIVERS = [
34037
34037
  configSchema: GrokSettings,
34038
34038
  defaultConfig: () => Schema.decodeSync(GrokSettings)({}),
34039
34039
  create: (input) => Effect.tryPromise({
34040
- try: () => import("./GrokDriver-DgQe3pKz.mjs"),
34040
+ try: () => import("./GrokDriver-DSPEmiwq.mjs"),
34041
34041
  catch: (cause) => driverImportError(grokDriverKind, input, cause)
34042
34042
  }).pipe(Effect.flatMap(({ GrokDriver }) => GrokDriver.create(input)))
34043
34043
  },
@@ -34051,7 +34051,7 @@ const BUILT_IN_DRIVERS = [
34051
34051
  configSchema: OpenCodeSettings,
34052
34052
  defaultConfig: () => Schema.decodeSync(OpenCodeSettings)({}),
34053
34053
  create: (input) => Effect.tryPromise({
34054
- try: () => import("./OpenCodeDriver-DNUlF8M-.mjs"),
34054
+ try: () => import("./OpenCodeDriver-0q44rSQX.mjs"),
34055
34055
  catch: (cause) => driverImportError(openCodeDriverKind, input, cause)
34056
34056
  }).pipe(Effect.flatMap(({ OpenCodeDriver }) => OpenCodeDriver.create(input)))
34057
34057
  }
@@ -34766,7 +34766,7 @@ const scopedSafeTeardown = (label) => (effect) => Effect.gen(function* () {
34766
34766
  });
34767
34767
  //#endregion
34768
34768
  //#region package.json
34769
- var version$1 = "0.1.22";
34769
+ var version$1 = "0.1.23";
34770
34770
  //#endregion
34771
34771
  //#region src/provider/Layers/CodexProvider.ts
34772
34772
  const PROVIDER_PROBE_TIMEOUT_MS = 8e3;
@@ -40584,8 +40584,8 @@ var QrSegment = class QrSegment {
40584
40584
  static makeAlphanumeric(text) {
40585
40585
  if (!QrSegment.isAlphanumeric(text)) throw new RangeError("String contains unencodable characters in alphanumeric mode");
40586
40586
  let bb = [];
40587
- let i;
40588
- for (i = 0; i + 2 <= text.length; i += 2) {
40587
+ let i = 0;
40588
+ for (; i + 2 <= text.length; i += 2) {
40589
40589
  let temp = QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)) * 45;
40590
40590
  temp += QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i + 1));
40591
40591
  appendBits(temp, 11, bb);
@@ -41896,7 +41896,8 @@ const COMMIT_TIMEOUT_MS = 6e5;
41896
41896
  const MAX_PROGRESS_TEXT_LENGTH = 500;
41897
41897
  const SHORT_SHA_LENGTH = 7;
41898
41898
  const TOAST_DESCRIPTION_MAX = 72;
41899
- const STATUS_RESULT_CACHE_TTL = Duration.seconds(1);
41899
+ const LOCAL_STATUS_RESULT_CACHE_TTL = Duration.seconds(5);
41900
+ const REMOTE_STATUS_RESULT_CACHE_TTL = Duration.seconds(30);
41900
41901
  const STATUS_RESULT_CACHE_CAPACITY = 2048;
41901
41902
  function isNotGitRepositoryError(error) {
41902
41903
  return error.message.toLowerCase().includes("not a git repository");
@@ -42271,7 +42272,7 @@ const makeGitManager = Effect.fn("makeGitManager")(function* () {
42271
42272
  });
42272
42273
  const localStatusResultCache = yield* Cache.makeWith(readLocalStatus, {
42273
42274
  capacity: STATUS_RESULT_CACHE_CAPACITY,
42274
- timeToLive: (exit) => Exit.isSuccess(exit) ? STATUS_RESULT_CACHE_TTL : Duration.zero
42275
+ timeToLive: (exit) => Exit.isSuccess(exit) ? LOCAL_STATUS_RESULT_CACHE_TTL : Duration.zero
42275
42276
  });
42276
42277
  const invalidateLocalStatusResultCache = (cwd) => normalizeStatusCacheKey(cwd).pipe(Effect.flatMap((cacheKey) => Cache.invalidate(localStatusResultCache, cacheKey)));
42277
42278
  const probeBranchPublished = Effect.fn("probeBranchPublished")(function* (cwd, branch, upstreamRef) {
@@ -42318,7 +42319,7 @@ const makeGitManager = Effect.fn("makeGitManager")(function* () {
42318
42319
  });
42319
42320
  const remoteStatusResultCache = yield* Cache.makeWith(readRemoteStatus, {
42320
42321
  capacity: STATUS_RESULT_CACHE_CAPACITY,
42321
- timeToLive: (exit) => Exit.isSuccess(exit) ? STATUS_RESULT_CACHE_TTL : Duration.zero
42322
+ timeToLive: (exit) => Exit.isSuccess(exit) ? REMOTE_STATUS_RESULT_CACHE_TTL : Duration.zero
42322
42323
  });
42323
42324
  const invalidateRemoteStatusResultCache = (cwd) => normalizeStatusCacheKey(cwd).pipe(Effect.flatMap((cacheKey) => Cache.invalidate(remoteStatusResultCache, cacheKey)));
42324
42325
  const readConfigValueNullable = (cwd, key) => gitCore.readConfigValue(cwd, key).pipe(Effect.catch(() => Effect.succeed(null)));
@@ -42642,7 +42643,8 @@ const makeGitManager = Effect.fn("makeGitManager")(function* () {
42642
42643
  return yield* Cache.get(remoteStatusResultCache, cacheKey);
42643
42644
  });
42644
42645
  const status = Effect.fn("status")(function* (input) {
42645
- const [local, remote] = yield* Effect.all([localStatus(input), remoteStatus(input)]);
42646
+ const cacheKey = yield* normalizeStatusCacheKey(input.cwd);
42647
+ const [local, remote] = yield* Effect.all([Cache.get(localStatusResultCache, cacheKey), Cache.get(remoteStatusResultCache, cacheKey)]);
42646
42648
  return mergeGitStatusParts(local, remote);
42647
42649
  });
42648
42650
  const invalidateLocalStatus = Effect.fn("invalidateLocalStatus")(function* (cwd) {
@@ -42652,8 +42654,8 @@ const makeGitManager = Effect.fn("makeGitManager")(function* () {
42652
42654
  yield* invalidateRemoteStatusResultCache(cwd);
42653
42655
  });
42654
42656
  const invalidateStatus = Effect.fn("invalidateStatus")(function* (cwd) {
42655
- yield* invalidateLocalStatusResultCache(cwd);
42656
- yield* invalidateRemoteStatusResultCache(cwd);
42657
+ const cacheKey = yield* normalizeStatusCacheKey(cwd);
42658
+ yield* Effect.all([Cache.invalidate(localStatusResultCache, cacheKey), Cache.invalidate(remoteStatusResultCache, cacheKey)]);
42657
42659
  });
42658
42660
  const resolvePullRequest = Effect.fn("resolvePullRequest")(function* (input) {
42659
42661
  return { pullRequest: yield* (yield* sourceControlProvider(input.cwd)).getChangeRequest({
@@ -42991,10 +42993,15 @@ const DEFAULT_VCS_STATUS_REFRESH_INTERVAL = Duration.seconds(30);
42991
42993
  const VCS_STATUS_REFRESH_FAILURE_BASE_DELAY = Duration.seconds(30);
42992
42994
  const VCS_STATUS_REFRESH_FAILURE_MAX_DELAY = Duration.minutes(15);
42993
42995
  const MAX_REMOTE_REFRESH_CONSECUTIVE_FAILURES = 64;
42996
+ const LOCAL_STATUS_CACHE_TTL_MS = Duration.toMillis(Duration.seconds(5));
42997
+ const REMOTE_STATUS_CACHE_TTL_MS = Duration.toMillis(Duration.seconds(30));
42994
42998
  var VcsStatusBroadcaster = class extends Context.Service()("ryco/vcs/VcsStatusBroadcaster") {};
42995
42999
  function fingerprintStatusPart(status) {
42996
43000
  return JSON.stringify(status);
42997
43001
  }
43002
+ function isCachedValueFresh(cached, nowMs, ttlMs) {
43003
+ return nowMs - cached.cachedAtMs < ttlMs;
43004
+ }
42998
43005
  function normalizeCwd(cwd) {
42999
43006
  try {
43000
43007
  return realpathSync.native(cwd);
@@ -43014,11 +43021,57 @@ const layer$5 = Layer.effect(VcsStatusBroadcaster, Effect.gen(function* () {
43014
43021
  const broadcasterScope = yield* Effect.acquireRelease(Scope.make(), (scope) => Scope.close(scope, Exit.void));
43015
43022
  const cacheRef = yield* Ref.make(/* @__PURE__ */ new Map());
43016
43023
  const pollersRef = yield* SynchronizedRef.make(/* @__PURE__ */ new Map());
43024
+ const makeStatusSingleFlight = () => Effect.gen(function* () {
43025
+ const flightsRef = yield* SynchronizedRef.make(/* @__PURE__ */ new Map());
43026
+ let requestedVersion = 0;
43027
+ const run = (cwd, kind, operation, retryVersion) => Effect.uninterruptibleMask((restore) => Effect.gen(function* () {
43028
+ const version = retryVersion ?? ++requestedVersion;
43029
+ const candidate = yield* Deferred.make();
43030
+ const selection = yield* SynchronizedRef.modify(flightsRef, (flights) => {
43031
+ const current = flights.get(cwd);
43032
+ if (current) {
43033
+ if (kind === "refresh" && (current.kind === "load" || current.version < version)) return [{
43034
+ _tag: "retryAfter",
43035
+ deferred: current.deferred
43036
+ }, flights];
43037
+ return [{
43038
+ _tag: "await",
43039
+ deferred: current.deferred
43040
+ }, flights];
43041
+ }
43042
+ const nextFlights = new Map(flights);
43043
+ nextFlights.set(cwd, {
43044
+ deferred: candidate,
43045
+ kind,
43046
+ version: requestedVersion
43047
+ });
43048
+ return [{
43049
+ _tag: "owner",
43050
+ deferred: candidate
43051
+ }, nextFlights];
43052
+ });
43053
+ if (selection._tag === "retryAfter") {
43054
+ yield* restore(Deferred.await(selection.deferred)).pipe(Effect.exit);
43055
+ return yield* restore(run(cwd, kind, operation, version));
43056
+ }
43057
+ if (selection._tag === "owner") yield* operation.pipe(Effect.onExit((exit) => SynchronizedRef.update(flightsRef, (flights) => {
43058
+ if (flights.get(cwd)?.deferred !== candidate) return flights;
43059
+ const nextFlights = new Map(flights);
43060
+ nextFlights.delete(cwd);
43061
+ return nextFlights;
43062
+ }).pipe(Effect.andThen(Deferred.done(candidate, exit)))), Effect.ignore, Effect.forkIn(broadcasterScope));
43063
+ return yield* restore(Deferred.await(selection.deferred));
43064
+ }));
43065
+ return run;
43066
+ });
43067
+ const coalesceLocalStatus = yield* makeStatusSingleFlight();
43068
+ const coalesceRemoteStatus = yield* makeStatusSingleFlight();
43017
43069
  const getCachedStatus = Effect.fn("VcsStatusBroadcaster.getCachedStatus")(function* (cwd) {
43018
43070
  return yield* Ref.get(cacheRef).pipe(Effect.map((cache) => cache.get(cwd) ?? null));
43019
43071
  });
43020
43072
  const updateCachedLocalStatus = Effect.fn("VcsStatusBroadcaster.updateCachedLocalStatus")(function* (cwd, local, options) {
43021
43073
  const nextLocal = {
43074
+ cachedAtMs: yield* Clock.currentTimeMillis,
43022
43075
  fingerprint: fingerprintStatusPart(local),
43023
43076
  value: local
43024
43077
  };
@@ -43049,7 +43102,9 @@ const layer$5 = Layer.effect(VcsStatusBroadcaster, Effect.gen(function* () {
43049
43102
  return local;
43050
43103
  });
43051
43104
  const updateCachedRemoteStatus = Effect.fn("VcsStatusBroadcaster.updateCachedRemoteStatus")(function* (cwd, remote, options) {
43105
+ const cachedAtMs = yield* Clock.currentTimeMillis;
43052
43106
  const nextRemote = {
43107
+ cachedAtMs,
43053
43108
  fingerprint: fingerprintStatusPart(remote),
43054
43109
  value: remote
43055
43110
  };
@@ -43062,13 +43117,14 @@ const layer$5 = Layer.effect(VcsStatusBroadcaster, Effect.gen(function* () {
43062
43117
  ...previous,
43063
43118
  remote: nextRemote
43064
43119
  };
43120
+ const currentLocal = next.local && isCachedValueFresh(next.local, cachedAtMs, LOCAL_STATUS_CACHE_TTL_MS) ? next.local.value : null;
43065
43121
  const nextCache = new Map(cache);
43066
43122
  nextCache.set(cwd, next);
43067
43123
  return [{
43068
- changed: previous.remote?.fingerprint !== nextRemote.fingerprint,
43069
- event: next.local ? {
43124
+ changed: previous.remote?.fingerprint !== nextRemote.fingerprint || !previous.remote || !isCachedValueFresh(previous.remote, cachedAtMs, REMOTE_STATUS_CACHE_TTL_MS),
43125
+ event: currentLocal ? {
43070
43126
  _tag: "snapshot",
43071
- local: next.local.value,
43127
+ local: currentLocal,
43072
43128
  remote
43073
43129
  } : {
43074
43130
  _tag: "remoteUpdated",
@@ -43083,21 +43139,27 @@ const layer$5 = Layer.effect(VcsStatusBroadcaster, Effect.gen(function* () {
43083
43139
  return remote;
43084
43140
  });
43085
43141
  const loadLocalStatus = Effect.fn("VcsStatusBroadcaster.loadLocalStatus")(function* (cwd) {
43086
- const local = yield* workflow.localStatus({ cwd });
43087
- return yield* updateCachedLocalStatus(cwd, local);
43142
+ return yield* coalesceLocalStatus(cwd, "load", Effect.gen(function* () {
43143
+ const local = yield* workflow.localStatus({ cwd });
43144
+ return yield* updateCachedLocalStatus(cwd, local);
43145
+ }));
43088
43146
  });
43089
43147
  const loadRemoteStatus = Effect.fn("VcsStatusBroadcaster.loadRemoteStatus")(function* (cwd) {
43090
- const remote = yield* workflow.remoteStatus({ cwd });
43091
- return yield* updateCachedRemoteStatus(cwd, remote);
43148
+ return yield* coalesceRemoteStatus(cwd, "load", Effect.gen(function* () {
43149
+ const remote = yield* workflow.remoteStatus({ cwd });
43150
+ return yield* updateCachedRemoteStatus(cwd, remote);
43151
+ }));
43092
43152
  });
43093
43153
  const getOrLoadLocalStatus = Effect.fn("VcsStatusBroadcaster.getOrLoadLocalStatus")(function* (cwd) {
43094
43154
  const cached = yield* getCachedStatus(cwd);
43095
- if (cached?.local) return cached.local.value;
43155
+ const nowMs = yield* Clock.currentTimeMillis;
43156
+ if (cached?.local && isCachedValueFresh(cached.local, nowMs, LOCAL_STATUS_CACHE_TTL_MS)) return cached.local.value;
43096
43157
  return yield* loadLocalStatus(cwd);
43097
43158
  });
43098
43159
  const getOrLoadRemoteStatus = Effect.fn("VcsStatusBroadcaster.getOrLoadRemoteStatus")(function* (cwd) {
43099
43160
  const cached = yield* getCachedStatus(cwd);
43100
- if (cached?.remote) return cached.remote.value;
43161
+ const nowMs = yield* Clock.currentTimeMillis;
43162
+ if (cached?.remote && isCachedValueFresh(cached.remote, nowMs, REMOTE_STATUS_CACHE_TTL_MS)) return cached.remote.value;
43101
43163
  return yield* loadRemoteStatus(cwd);
43102
43164
  });
43103
43165
  const getStatus = Effect.fn("VcsStatusBroadcaster.getStatus")(function* (input) {
@@ -43107,14 +43169,19 @@ const layer$5 = Layer.effect(VcsStatusBroadcaster, Effect.gen(function* () {
43107
43169
  });
43108
43170
  const refreshLocalStatus = Effect.fn("VcsStatusBroadcaster.refreshLocalStatus")(function* (rawCwd) {
43109
43171
  const cwd = normalizeCwd(rawCwd);
43110
- yield* workflow.invalidateLocalStatus(cwd);
43111
- const local = yield* workflow.localStatus({ cwd });
43112
- return yield* updateCachedLocalStatus(cwd, local, { publish: true });
43172
+ return yield* coalesceLocalStatus(cwd, "refresh", Effect.gen(function* () {
43173
+ yield* workflow.invalidateLocalStatus(cwd);
43174
+ const local = yield* workflow.localStatus({ cwd });
43175
+ return yield* updateCachedLocalStatus(cwd, local, { publish: true });
43176
+ }));
43113
43177
  });
43114
- const refreshRemoteStatus = Effect.fn("VcsStatusBroadcaster.refreshRemoteStatus")(function* (cwd) {
43115
- yield* workflow.invalidateRemoteStatus(cwd);
43116
- const remote = yield* workflow.remoteStatus({ cwd });
43117
- return yield* updateCachedRemoteStatus(cwd, remote, { publish: true });
43178
+ const refreshRemoteStatus = Effect.fn("VcsStatusBroadcaster.refreshRemoteStatus")(function* (rawCwd) {
43179
+ const cwd = normalizeCwd(rawCwd);
43180
+ return yield* coalesceRemoteStatus(cwd, "refresh", Effect.gen(function* () {
43181
+ yield* workflow.invalidateRemoteStatus(cwd);
43182
+ const remote = yield* workflow.remoteStatus({ cwd });
43183
+ return yield* updateCachedRemoteStatus(cwd, remote, { publish: true });
43184
+ }));
43118
43185
  });
43119
43186
  const refreshStatus = Effect.fn("VcsStatusBroadcaster.refreshStatus")(function* (rawCwd) {
43120
43187
  const cwd = normalizeCwd(rawCwd);
@@ -43187,17 +43254,24 @@ const layer$5 = Layer.effect(VcsStatusBroadcaster, Effect.gen(function* () {
43187
43254
  const cwd = normalizeCwd(input.cwd);
43188
43255
  const subscription = yield* PubSub.subscribe(changesPubSub);
43189
43256
  const initialLocal = yield* getOrLoadLocalStatus(cwd);
43190
- const initialRemote = (yield* getCachedStatus(cwd))?.remote?.value ?? null;
43257
+ const cachedRemote = (yield* getCachedStatus(cwd))?.remote ?? null;
43258
+ const nowMs = yield* Clock.currentTimeMillis;
43259
+ const initialRemote = cachedRemote && isCachedValueFresh(cachedRemote, nowMs, REMOTE_STATUS_CACHE_TTL_MS) ? cachedRemote.value : null;
43191
43260
  const automaticRemoteRefreshInterval = options?.automaticRemoteRefreshInterval ?? Effect.succeed(Duration.zero);
43192
43261
  const initialRemoteRefreshInterval = yield* automaticRemoteRefreshInterval;
43193
43262
  const retainedRemotePoller = !Duration.isZero(initialRemoteRefreshInterval);
43194
- if (retainedRemotePoller) yield* retainRemotePoller(cwd, automaticRemoteRefreshInterval);
43195
- const release = retainedRemotePoller ? releaseRemotePoller(cwd).pipe(Effect.ignore, Effect.asVoid) : Effect.void;
43263
+ if (retainedRemotePoller) {
43264
+ yield* Effect.acquireRelease(retainRemotePoller(cwd, automaticRemoteRefreshInterval), () => releaseRemotePoller(cwd).pipe(Effect.ignore, Effect.asVoid));
43265
+ yield* options?.afterRemotePollerRetained ?? Effect.void;
43266
+ }
43196
43267
  return Stream.concat(Stream.make({
43197
43268
  _tag: "snapshot",
43198
43269
  local: initialLocal,
43199
43270
  remote: initialRemote
43200
- }), Stream.fromSubscription(subscription).pipe(Stream.filter((event) => event.cwd === cwd), Stream.map((event) => event.event))).pipe(Stream.ensuring(release));
43271
+ }), Stream.merge(retainedRemotePoller || initialRemote !== null ? Stream.empty : Stream.fromEffect(getOrLoadRemoteStatus(cwd)).pipe(Stream.map((remote) => ({
43272
+ _tag: "remoteUpdated",
43273
+ remote
43274
+ })), Stream.catchCause(() => Stream.empty)), Stream.fromSubscription(subscription).pipe(Stream.filter((event) => event.cwd === cwd), Stream.map((event) => event.event))));
43201
43275
  }));
43202
43276
  return VcsStatusBroadcaster.of({
43203
43277
  getStatus,
@@ -0,0 +1 @@
1
+ import{i as e,t}from"./react-SIfiwpqq.js";import"./src-gDjuIvMO.js";import{I as n,N as r,P as i,ia as a}from"./runtime-L56puJDA.js";import{A as ee,F as o,Ft as s,I as c,It as l,M as u,Mt as te,N as d,Nt as f,P as p,Pt as m,an as h,ct as g,j as ne,jt as re,kt as ie,r as _}from"./switch-COrEGDkz.js";import{t as v}from"./compiler-runtime-qmuS0Svy.js";import{_ as y,o as b}from"./authorization-K_UCP_xh.js";import{f as x}from"./useRenderElement-D0HVF5g_.js";import{n as S}from"./loader-circle-D0CNb5GI.js";import{K as C}from"./ContextHandoffEndpointLabel-CPeU4K5A.js";import{t as w}from"./badge-CYDyJZRJ.js";import{o as T}from"./toast-C_F1LeME.js";import{t as E}from"./copy-riIPLkKV.js";import{t as D}from"./key-round-Cm6itp2V.js";import{t as O}from"./refresh-cw-MqmsC7V0.js";import{t as k}from"./shield-check-DHxdM6te.js";import{t as A}from"./triangle-alert-YXqtFxD6.js";import{t as ae}from"./user-round-evbX_eto.js";import{t as j}from"./button-QrCU0tNP.js";import{n as oe,t as se}from"./input-BAC5Cd3b.js";import{i as M,n as ce,r as N,t as P}from"./alert-4WZo8oMe.js";import{C as F,S as I,_ as L,a as le,b as R,c as ue,d as de,f as z,g as B,h as V,i as H,l as U,m as W,n as G,o as K,p as q,r as fe,s as J,t as pe,u as Y,v as X,x as Z,y as me}from"./ExternalIdentityWeb.logic-pjD4pCDd.js";import{i as he,n as ge,r as _e}from"./settingsLayout-CmNqO2kB.js";import{t as ve}from"./qr-code-Bun4dpvz.js";var ye={name:`monitor-smartphone`,size:24,node:[[`path`,{d:`M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8`,key:`10dyio`}],[`path`,{d:`M10 19v-3.96 3.15`,key:`1irgej`}],[`path`,{d:`M7 19h5`,key:`qswx4l`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`12`,rx:`2`,key:`1egngj`}]]};ye.node;var be=x(ye),Q=e(t(),1),xe=v(),Se=`Signed-in native apps use these device keys to establish encrypted connections automatically. The Hub authorizes account-trusted connections, so this does not protect against a malicious Hub; independent node verification remains the stronger option.`,Ce={darwin:`macOS`,linux:`Linux`,windows:`Windows`,ios:`iPhone or iPad`,android:`Android`},we={"secure-enclave":`Secure Enclave`,strongbox:`StrongBox`,tee:`Hardware-backed TEE`,tpm:`TPM`,"hardware-backed":`Hardware backed`,unavailable:`Unavailable`};function Te(e){return Ce[e.platform]}function Ee(e){return`${we[e.reportedKeyBacking]} · reported by device`}function De(e){switch(e.status){case`active`:return`Active`;case`revoked`:return`Revoked`;case`superseded`:return`Superseded`}}function Oe(e){let t=e.trim();return t.length>0&&t.length<=100?t:null}function ke(e,t){return[{label:`Enrollment`,value:e.enrollmentId},{label:`Identity fingerprint`,value:e.identityFingerprint,fingerprint:!0},{label:`Agreement fingerprint`,value:e.agreementFingerprint,fingerprint:!0},{label:`Key backing`,value:Ee(e)},{label:`First enrolled`,value:t(e.createdAt)},{label:`Last used`,value:e.lastUsedAt===null?`Not used yet`:t(e.lastUsedAt)},...e.revokedAt===null?[]:[{label:`Revoked`,value:t(e.revokedAt)}]]}var $=a(),Ae=new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`});function je(e){return Ae.format(new Date(e))}function Me(){let e=(0,xe.c)(75),t=r(Re),n=r(Le),i=r(Ie),[a,h]=(0,Q.useState)(null),[v,y]=(0,Q.useState)(``),[x,S]=(0,Q.useState)(null),C=i!==`idle`,T=i===`renaming-e2ee-device`,E=i===`revoking-e2ee-device`,D;e[0]===v?D=e[1]:(D=Oe(v),e[0]=v,e[1]=D);let O=D,k;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(k=[],e[2]=k):k=e[2],(0,Q.useEffect)(Fe,k);let A;e[3]!==O||e[4]!==a?(A=async()=>{a&&O!==null&&(await b.renameE2eeDevice(a.enrollmentId,{expectedEnrollmentRevision:a.enrollmentRevision,deviceLabel:O})).status===`committed`&&(h(null),y(``))},e[3]=O,e[4]=a,e[5]=A):A=e[5];let ae=A,M;e[6]===x?M=e[7]:(M=async()=>{x&&(await b.revokeE2eeDevice(x.enrollmentId,{expectedEnrollmentRevision:x.enrollmentRevision,reasonCode:`owner_requested`})).status===`committed`&&S(null)},e[6]=x,e[7]=M);let ce=M,N;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,$.jsx)(be,{"aria-hidden":!0,className:`size-3.5`}),e[8]=N):N=e[8];let P=C||n===`loading`,F;e[9]===P?F=e[10]:(F=(0,$.jsx)(j,{size:`xs`,variant:`ghost`,disabled:P,onClick:Pe,children:`Refresh`}),e[9]=P,e[10]=F);let I;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,$.jsx)(_e,{title:`Automatic native encryption`,description:Se,status:`A new signed-in Desktop or mobile app enrolls its own keys; private keys stay on that device.`}),e[11]=I):I=e[11];let L;e[12]!==C||e[13]!==t||e[14]!==n?(L=t.length===0?(0,$.jsx)(_e,{title:n===`loading`?`Loading devices…`:`No native devices yet`,description:`Sign in from Ryco Desktop or mobile to enroll that app automatically. Web sessions stay separate and do not join this native device trust set.`,status:n===`stale`?`The device directory is temporarily unavailable.`:null,control:n===`loading`?(0,$.jsx)(g,{className:`size-3.5`}):null}):t.map(e=>{let t=e.status===`active`;return(0,$.jsx)(_e,{title:(0,$.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[e.deviceLabel,(0,$.jsx)(w,{variant:t?`success`:`secondary`,children:De(e)})]}),description:`${Te(e)} · Ryco ${e.appVersion}`,status:n===`stale`?`Showing the last device directory Ryco read.`:null,control:t?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(j,{size:`xs`,variant:`outline`,disabled:C,onClick:()=>{h(e),y(e.deviceLabel)},children:`Rename`}),(0,$.jsx)(j,{size:`xs`,variant:`destructive-outline`,disabled:C,onClick:()=>S(e),children:`Revoke`})]}):null,children:(0,$.jsx)(`dl`,{className:`mt-3 grid grid-cols-[auto_1fr] gap-x-4 gap-y-2 border-t border-border/60 py-3`,children:ke(e,je).map(Ne)})},`${e.enrollmentId}:${String(e.enrollmentRevision)}`)}),e[12]=C,e[13]=t,e[14]=n,e[15]=L):L=e[15];let le=a!==null,R;e[16]===T?R=e[17]:(R=e=>{e||T||(h(null),y(``))},e[16]=T,e[17]=R);let ue;e[18]===ae?ue=e[19]:(ue=e=>{e.preventDefault(),ae()},e[18]=ae,e[19]=ue);let de;e[20]===Symbol.for(`react.memo_cache_sentinel`)?(de=(0,$.jsxs)(f,{children:[(0,$.jsx)(l,{children:`Rename encrypted device`}),(0,$.jsx)(re,{children:`This label is account metadata. Renaming does not rotate or replace the device keys.`})]}),e[20]=de):de=e[20];let z;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,$.jsx)(_,{htmlFor:`account-e2ee-device-label`,children:`Device name`}),e[21]=z):z=e[21];let B;e[22]===Symbol.for(`react.memo_cache_sentinel`)?(B=e=>y(e.target.value),e[22]=B):B=e[22];let V;e[23]!==v||e[24]!==T?(V=(0,$.jsxs)(m,{className:`space-y-2`,children:[z,(0,$.jsx)(se,{id:`account-e2ee-device-label`,value:v,maxLength:100,disabled:T,className:oe,onChange:B})]}),e[23]=v,e[24]=T,e[25]=V):V=e[25];let H;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(H=()=>{h(null),y(``)},e[26]=H):H=e[26];let U;e[27]===T?U=e[28]:(U=(0,$.jsx)(j,{type:`button`,variant:`outline`,disabled:T,onClick:H,children:`Cancel`}),e[27]=T,e[28]=U);let W=T||O===null,G;e[29]===T?G=e[30]:(G=T?(0,$.jsx)(g,{className:`size-3.5`}):null,e[29]=T,e[30]=G);let K;e[31]!==W||e[32]!==G?(K=(0,$.jsxs)(j,{type:`submit`,disabled:W,children:[G,`Save name`]}),e[31]=W,e[32]=G,e[33]=K):K=e[33];let q;e[34]!==U||e[35]!==K?(q=(0,$.jsxs)(te,{children:[U,K]}),e[34]=U,e[35]=K,e[36]=q):q=e[36];let fe;e[37]!==ue||e[38]!==V||e[39]!==q?(fe=(0,$.jsx)(s,{className:`max-w-sm`,children:(0,$.jsxs)(`form`,{onSubmit:ue,children:[de,V,q]})}),e[37]=ue,e[38]=V,e[39]=q,e[40]=fe):fe=e[40];let J;e[41]!==R||e[42]!==fe||e[43]!==le?(J=(0,$.jsx)(ie,{open:le,onOpenChange:R,children:fe}),e[41]=R,e[42]=fe,e[43]=le,e[44]=J):J=e[44];let pe=x!==null,Y;e[45]===E?Y=e[46]:(Y=e=>{!e&&!E&&S(null)},e[45]=E,e[46]=Y);let X;e[47]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,$.jsx)(c,{children:`Revoke this encrypted device?`}),e[47]=X):X=e[47];let Z=x?.deviceLabel??`This device`,me;e[48]===Z?me=e[49]:(me=(0,$.jsxs)(p,{children:[X,(0,$.jsxs)(u,{children:[Z,` will lose account-authorized native connections. Signing in again can enroll fresh keys, but this enrollment cannot be restored.`]})]}),e[48]=Z,e[49]=me);let ge;e[50]===E?ge=e[51]:(ge=(0,$.jsx)(ne,{render:(0,$.jsx)(j,{variant:`outline`,disabled:E}),children:`Cancel`}),e[50]=E,e[51]=ge);let ve;e[52]===ce?ve=e[53]:(ve=()=>void ce(),e[52]=ce,e[53]=ve);let ye;e[54]===E?ye=e[55]:(ye=E?(0,$.jsx)(g,{className:`size-3.5`}):null,e[54]=E,e[55]=ye);let Ce;e[56]!==E||e[57]!==ve||e[58]!==ye?(Ce=(0,$.jsxs)(j,{variant:`destructive`,disabled:E,onClick:ve,children:[ye,`Revoke device`]}),e[56]=E,e[57]=ve,e[58]=ye,e[59]=Ce):Ce=e[59];let we;e[60]!==ge||e[61]!==Ce?(we=(0,$.jsxs)(d,{children:[ge,Ce]}),e[60]=ge,e[61]=Ce,e[62]=we):we=e[62];let Ee;e[63]!==me||e[64]!==we?(Ee=(0,$.jsxs)(o,{children:[me,we]}),e[63]=me,e[64]=we,e[65]=Ee):Ee=e[65];let Ae;e[66]!==pe||e[67]!==Y||e[68]!==Ee?(Ae=(0,$.jsx)(ee,{open:pe,onOpenChange:Y,children:Ee}),e[66]=pe,e[67]=Y,e[68]=Ee,e[69]=Ae):Ae=e[69];let Me;return e[70]!==J||e[71]!==Ae||e[72]!==F||e[73]!==L?(Me=(0,$.jsxs)(he,{title:`Encrypted devices`,icon:N,headerAction:F,children:[I,L,J,Ae]}),e[70]=J,e[71]=Ae,e[72]=F,e[73]=L,e[74]=Me):Me=e[74],Me}function Ne(e){return(0,$.jsxs)(`div`,{className:`contents`,children:[(0,$.jsx)(`dt`,{className:`text-xs text-muted-foreground`,children:e.label}),(0,$.jsx)(`dd`,{className:e.fingerprint?`min-w-0 font-mono text-xs break-all`:`min-w-0 text-xs break-all`,children:e.value})]},e.label)}function Pe(){b.refreshE2eeDevices({force:!0})}function Fe(){b.refreshE2eeDevices()}function Ie(e){return e.actionStatus}function Le(e){return e.e2eeDevicesStatus??`idle`}function Re(e){return e.e2eeDevices??[]}var ze=new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`});function Be(e){return e===null||!Number.isFinite(e)?null:ze.format(new Date(e))}function Ve(){let e=(0,xe.c)(15),[t,n]=(0,Q.useState)(null),[r,i]=(0,Q.useState)(0),[a,ee]=(0,Q.useState)(``),[o,s]=(0,Q.useState)(!1),c=(0,Q.useRef)(0),l;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>{n(null),i(0),ee(``)},e[0]=l):l=e[0];let u=l,te;e[1]===t?.options?te=e[2]:(te=()=>{c.current+=1,b.cancelAccountAction(),t?.options?.onAbandoned?.(),s(!1),u()},e[1]=t?.options,e[2]=te);let d=te,f;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(f=async(e,t,r)=>{let a=c.current+=1;s(!1);let o=await t({});if(c.current===a){if(z(o)){ee(``),i(0),n({action:e,run:t,options:r,inferred:o.inferredErrorCode===!0});return}o.status===`committed`&&r?.onCommitted?.()}},e[3]=f):f=e[3];let p=f,m;e[4]!==t||e[5]!==a||e[6]!==r?(m=async()=>{if(!t)return;let e=V(a);if(e.length===0)return;let n=c.current+=1,o=await t.run({totpCode:e});if(c.current===n){if(z(o)){let e=r+1;if(R(o,e)){i(e),ee(``);return}s(!0),t.options?.onAbandoned?.(),u();return}o.status===`committed`&&t.options?.onCommitted?.(),u()}},e[4]=t,e[5]=a,e[6]=r,e[7]=m):m=e[7];let h=m,g;return e[8]!==d||e[9]!==t||e[10]!==a||e[11]!==r||e[12]!==o||e[13]!==h?(g={run:p,cancel:d,stepUp:t,stepUpAttempts:r,stepUpCode:a,stepUpUnresolved:o,setStepUpCode:ee,submitStepUp:h},e[8]=d,e[9]=t,e[10]=a,e[11]=r,e[12]=o,e[13]=h,e[14]=g):g=e[14],g}function He(){let e=(0,xe.c)(1),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0],(0,Q.useEffect)(Ue,t)}function Ue(){return b.leaseRecoveryCodeDisplay()}function We(e){let t=(0,xe.c)(3),{busy:n,children:r}=e,i;return t[0]!==n||t[1]!==r?(i=n?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(g,{className:`size-3.5`}),r]}):(0,$.jsx)($.Fragment,{children:r}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i}function Ge(){let e=(0,xe.c)(100),t=i(ut),a=i(lt),[ee,o]=(0,Q.useState)(!1),s=r(ct),c=r(st),l=r(ot),u=r(at),te=r(it),d=r(rt),f=r(nt),p=r(tt),m=i(et),h=i($e),[g,ne]=(0,Q.useState)(!1),[re,ie]=(0,Q.useState)(null),_=(0,Q.useRef)(!1),v=Ve(),b=v.run;He();let x=d!==`idle`,S;e[0]===te?S=e[1]:(S=fe(te),e[0]=te,e[1]=S);let C=S,w;e[2]===l?.externalIdentities?w=e[3]:(w=l?.externalIdentities.find(Qe)??null,e[2]=l?.externalIdentities,e[3]=w);let T=w,E;e[4]===g?E=e[5]:(E=async()=>{if(!g){ne(!0),ie(null);try{await pe({intent:`link`,returnTo:`/account/security`,start:Ze,navigate:Xe})}catch(e){let t=e;ie(t instanceof y?t.message:`GitHub connection is temporarily unavailable.`),ne(!1)}}},e[4]=g,e[5]=E);let D=E,O;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(O=[],e[6]=O):O=e[6],(0,Q.useEffect)(Ye,O);let oe,se;if(e[7]!==t||e[8]!==b?(oe=()=>{if(t!==`authenticated`||_.current)return;_.current=!0;let e=new AbortController;return n.getPendingExternalIdentity(e.signal).then(e=>{if(e.status===`link`)return b(`connect-github`,Je);e.status===`error`&&ie(G(e.code))}).catch(qe),()=>e.abort()},se=[t,b],e[7]=t,e[8]=b,e[9]=oe,e[10]=se):(oe=e[9],se=e[10]),(0,Q.useEffect)(oe,se),t!==`authenticated`){let t;return e[11]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(ge,{children:(0,$.jsxs)(P,{variant:`warning`,children:[(0,$.jsx)(A,{"aria-hidden":!0}),(0,$.jsx)(M,{children:`Not signed in`}),(0,$.jsx)(N,{children:`Sign in to the Hub to manage passkeys, two-factor authentication, and recovery codes.`})]})}),e[11]=t):t=e[11],t}let F;e[12]!==v.stepUp||e[13]!==v.stepUpUnresolved||e[14]!==p||e[15]!==f?(F=v.stepUpUnresolved?H:U(f,p,v.stepUp!==null),e[12]=v.stepUp,e[13]=v.stepUpUnresolved,e[14]=p,e[15]=f,e[16]=F):F=e[16];let I=F,L;e[17]!==v.stepUpUnresolved||e[18]!==p?(L=!v.stepUpUnresolved&&de(p),e[17]=v.stepUpUnresolved,e[18]=p,e[19]=L):L=e[19];let R=L,ue;e[20]!==s||e[21]!==c?(ue=le(s,c),e[20]=s,e[21]=c,e[22]=ue):ue=e[22];let z=ue,B;e[23]!==I||e[24]!==R?(B=I?(0,$.jsxs)(P,{variant:R?`info`:`error`,"aria-live":`polite`,children:[(0,$.jsx)(A,{"aria-hidden":!0}),(0,$.jsx)(M,{children:R?`Passkey needed`:`That did not work`}),(0,$.jsx)(N,{children:I})]}):null,e[23]=I,e[24]=R,e[25]=B):B=e[25];let V;e[26]===re?V=e[27]:(V=re?(0,$.jsxs)(P,{variant:`warning`,"aria-live":`polite`,children:[(0,$.jsx)(A,{"aria-hidden":!0}),(0,$.jsx)(M,{children:`GitHub connection did not complete`}),(0,$.jsx)(N,{children:re})]}):null,e[26]=re,e[27]=V);let W;e[28]!==l||e[29]!==u?(W=l===null&&u!==`stale`?(0,$.jsxs)(P,{variant:`info`,"aria-live":`polite`,children:[(0,$.jsx)(k,{"aria-hidden":!0}),(0,$.jsx)(M,{children:`Checking account security`}),(0,$.jsx)(N,{children:`Reading which fallback sign-in methods are configured on this Hub.`})]}):null,e[28]=l,e[29]=u,e[30]=W):W=e[30];let K;e[31]!==x||e[32]!==l||e[33]!==u?(K=u===`stale`?(0,$.jsxs)(P,{variant:`warning`,"aria-live":`polite`,children:[(0,$.jsx)(A,{"aria-hidden":!0}),(0,$.jsx)(M,{children:l===null?`Account security unavailable`:`Account security may be outdated`}),(0,$.jsx)(N,{children:l===null?`Ryco could not read the current password, authenticator, and email state.`:`These controls use the last state Ryco successfully read from the Hub.`}),(0,$.jsx)(ce,{children:(0,$.jsx)(j,{size:`xs`,variant:`outline`,disabled:x,onClick:Ke,children:`Retry`})})]}):null,e[31]=x,e[32]=l,e[33]=u,e[34]=K):K=e[34];let q;e[35]!==x||e[36]!==z?(q=z?(0,$.jsxs)(P,{variant:z.variant,"aria-live":`polite`,children:[(0,$.jsx)(A,{"aria-hidden":!0}),(0,$.jsx)(M,{children:z.title}),(0,$.jsx)(N,{children:z.description}),(0,$.jsx)(ce,{children:(0,$.jsx)(j,{size:`xs`,variant:`outline`,disabled:x,onClick:()=>o(!0),children:z.actionLabel})})]}):null,e[35]=x,e[36]=z,e[37]=q):q=e[37];let J;e[38]===Symbol.for(`react.memo_cache_sentinel`)?(J=(0,$.jsx)(ae,{"aria-hidden":!0,className:`size-3.5`}),e[38]=J):J=e[38];let Y=a?.displayName??`Signed in`,X;e[39]===a?X=e[40]:(X=a?`${a.role} · joined ${Be(a.createdAt)??`unknown`}`:null,e[39]=a,e[40]=X);let Z;e[41]!==Y||e[42]!==X?(Z=(0,$.jsx)(he,{title:`Account`,icon:J,children:(0,$.jsx)(_e,{title:Y,description:`The Hub account these credentials belong to.`,status:X})}),e[41]=Y,e[42]=X,e[43]=Z):Z=e[43];let me;e[44]===Symbol.for(`react.memo_cache_sentinel`)?(me=(0,$.jsx)(Me,{}),e[44]=me):me=e[44];let ve;e[45]!==d||e[46]!==x||e[47]!==g||e[48]!==T||e[49]!==C?.link||e[50]!==b||e[51]!==D?(ve=T||C?.link?(0,$.jsx)(dt,{identity:T,actionsAvailable:C?.link===!0,busy:x||g,actionStatus:d,onConnect:()=>void D(),run:b}):null,e[45]=d,e[46]=x,e[47]=g,e[48]=T,e[49]=C?.link,e[50]=b,e[51]=D,e[52]=ve):ve=e[52];let ye=c===`loading`,be=c===`stale`,Se;e[53]!==v.cancel||e[54]!==v.run||e[55]!==d||e[56]!==ee||e[57]!==x||e[58]!==s||e[59]!==ye||e[60]!==be?(Se=(0,$.jsx)(pt,{passkeys:s,loading:ye,stale:be,busy:x,actionStatus:d,addOpen:ee,setAddOpen:o,run:v.run,cancel:v.cancel}),e[53]=v.cancel,e[54]=v.run,e[55]=d,e[56]=ee,e[57]=x,e[58]=s,e[59]=ye,e[60]=be,e[61]=Se):Se=e[61];let Ce=l?.totpEnrolled??null,we;e[62]!==v.run||e[63]!==d||e[64]!==x||e[65]!==Ce||e[66]!==h?(we=(0,$.jsx)(mt,{busy:x,actionStatus:d,enrollment:h,enrolled:Ce,run:v.run}),e[62]=v.run,e[63]=d,e[64]=x,e[65]=Ce,e[66]=h,e[67]=we):we=e[67];let Te;e[68]!==v.run||e[69]!==d||e[70]!==x||e[71]!==m?(Te=(0,$.jsx)(bt,{busy:x,actionStatus:d,recoveryCodes:m,run:v.run}),e[68]=v.run,e[69]=d,e[70]=x,e[71]=m,e[72]=Te):Te=e[72];let Ee;e[73]!==v.cancel||e[74]!==v.run||e[75]!==d||e[76]!==x||e[77]!==l?(Ee=(0,$.jsx)(_t,{busy:x,actionStatus:d,security:l,run:v.run,cancel:v.cancel}),e[73]=v.cancel,e[74]=v.run,e[75]=d,e[76]=x,e[77]=l,e[78]=Ee):Ee=e[78];let De;e[79]!==v.cancel||e[80]!==v.setStepUpCode||e[81]!==v.stepUp||e[82]!==v.stepUpAttempts||e[83]!==v.stepUpCode||e[84]!==v.submitStepUp||e[85]!==x?(De=(0,$.jsx)(Tt,{pending:v.stepUp,attempts:v.stepUpAttempts,code:v.stepUpCode,onCodeChange:v.setStepUpCode,onSubmit:v.submitStepUp,onCancel:v.cancel,busy:x}),e[79]=v.cancel,e[80]=v.setStepUpCode,e[81]=v.stepUp,e[82]=v.stepUpAttempts,e[83]=v.stepUpCode,e[84]=v.submitStepUp,e[85]=x,e[86]=De):De=e[86];let Oe;return e[87]!==V||e[88]!==W||e[89]!==K||e[90]!==q||e[91]!==Z||e[92]!==ve||e[93]!==Se||e[94]!==we||e[95]!==Te||e[96]!==Ee||e[97]!==De||e[98]!==B?(Oe=(0,$.jsxs)(ge,{children:[B,V,W,K,q,Z,me,ve,Se,we,Te,Ee,De]}),e[87]=V,e[88]=W,e[89]=K,e[90]=q,e[91]=Z,e[92]=ve,e[93]=Se,e[94]=we,e[95]=Te,e[96]=Ee,e[97]=De,e[98]=B,e[99]=Oe):Oe=e[99],Oe}function Ke(){b.refreshAccountSecurity({force:!0})}function qe(){}function Je(e){return b.finishBrowserExternalIdentityConnection(`github`,e)}function Ye(){b.refreshPasskeys(),b.refreshAccountSecurity(),b.refreshExternalIdentityConfiguration()}function Xe(e){return window.location.assign(e)}function Ze(e){return n.startExternalIdentityAuthorization(e)}function Qe(e){return e.provider===`github`}function $e(e){return e.totpEnrollment??null}function et(e){return e.recoveryCodes}function tt(e){return e.errorCode??null}function nt(e){return e.errorMessage}function rt(e){return e.actionStatus}function it(e){return e.externalIdentityConfiguration}function at(e){return e.securityStatus}function ot(e){return e.security}function st(e){return e.passkeysStatus}function ct(e){return e.passkeys}function lt(e){return e.account}function ut(e){return e.accountStatus}function dt(e){let t=(0,xe.c)(33),{identity:n,actionsAvailable:r,busy:i,actionStatus:a,onConnect:s,run:l}=e,[te,f]=(0,Q.useState)(!1),m=a===`connecting-external-identity`,g=a===`disconnecting-external-identity`,re;t[0]===l?re=t[1]:(re=async()=>{await l(`disconnect-github`,ft,{onCommitted:()=>f(!1)})},t[0]=l,t[1]=re);let ie=re,_;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(h,{"aria-hidden":!0,className:`size-3.5`}),t[2]=_):_=t[2];let v=n?`GitHub · @${n.login}`:`GitHub`,y=n?`Use this GitHub identity to sign in to Ryco. Repository access remains separate.`:`Connect GitHub as another way to sign in. Ryco requests no repository access.`,b;t[3]===n?b=t[4]:(b=n?`Connected ${Be(n.connectedAt)??`at an unknown time`}${n.lastUsedAt===null?``:` · last used ${Be(n.lastUsedAt)??`at an unknown time`}`}`:null,t[3]=n,t[4]=b);let x;t[5]!==r||t[6]!==i||t[7]!==m||t[8]!==g||t[9]!==n||t[10]!==s?(x=r?n?(0,$.jsx)(j,{size:`sm`,variant:`outline`,disabled:i,onClick:()=>f(!0),children:(0,$.jsx)(We,{busy:g,children:`Disconnect`})}):(0,$.jsx)(j,{size:`sm`,variant:`outline`,disabled:i,onClick:s,children:(0,$.jsx)(We,{busy:m,children:`Connect GitHub`})}):null,t[5]=r,t[6]=i,t[7]=m,t[8]=g,t[9]=n,t[10]=s,t[11]=x):x=t[11];let S;t[12]!==v||t[13]!==y||t[14]!==b||t[15]!==x?(S=(0,$.jsx)(_e,{title:v,description:y,status:b,control:x}),t[12]=v,t[13]=y,t[14]=b,t[15]=x,t[16]=S):S=t[16];let C;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsxs)(p,{children:[(0,$.jsx)(c,{children:`Disconnect GitHub?`}),(0,$.jsx)(u,{children:`You will no longer be able to sign in with GitHub. Ryco refuses this change if GitHub is your only remaining sign-in method.`})]}),t[17]=C):C=t[17];let w;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(ne,{render:(0,$.jsx)(j,{variant:`outline`}),children:`Cancel`}),t[18]=w):w=t[18];let T;t[19]===ie?T=t[20]:(T=()=>void ie(),t[19]=ie,t[20]=T);let E;t[21]===g?E=t[22]:(E=(0,$.jsx)(We,{busy:g,children:`Disconnect GitHub`}),t[21]=g,t[22]=E);let D;t[23]!==i||t[24]!==T||t[25]!==E?(D=(0,$.jsxs)(o,{children:[C,(0,$.jsxs)(d,{children:[w,(0,$.jsx)(j,{disabled:i,onClick:T,children:E})]})]}),t[23]=i,t[24]=T,t[25]=E,t[26]=D):D=t[26];let O;t[27]!==te||t[28]!==D?(O=(0,$.jsx)(ee,{open:te,onOpenChange:f,children:D}),t[27]=te,t[28]=D,t[29]=O):O=t[29];let k;return t[30]!==O||t[31]!==S?(k=(0,$.jsxs)(he,{title:`Connected accounts`,icon:_,children:[S,O]}),t[30]=O,t[31]=S,t[32]=k):k=t[32],k}function ft(e){return b.disconnectExternalIdentity(`github`,e)}function pt({passkeys:e,loading:t,stale:n,busy:r,actionStatus:i,addOpen:a,setAddOpen:h,run:g,cancel:v}){let[y,x]=(0,Q.useState)(``),[S,T]=(0,Q.useState)(null),[E,O]=(0,Q.useState)(null),k=i===`adding-passkey`,A=i===`revoking-passkey`,ae=K(e),M=F(e),ce=B(e),N=(0,Q.useCallback)(()=>{x(``),h(!1)},[h]),P=async e=>{e.preventDefault();let t=W(y);await g(`add-passkey`,e=>b.addPasskey({passkeyLabel:t,...e}),{onCommitted:N,onAbandoned:N})},I=async()=>{let e=S;if(e){T(null),O(e.id);try{await b.revokePasskey(e.id)}finally{O(null)}}};return(0,$.jsxs)(he,{title:`Passkeys`,icon:(0,$.jsx)(D,{"aria-hidden":!0,className:`size-3.5`}),headerAction:(0,$.jsx)(j,{size:`xs`,variant:`outline`,disabled:r,onClick:()=>h(!0),children:`Add passkey`}),children:[(0,$.jsx)(_e,{title:`Passkeys on this account`,description:`A passkey is the strongest way in. Add one for every device you sign in from, and keep at least two so losing a device does not lock you out.`,status:n?`This list could not be refreshed and may be out of date.`:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{children:`${String(ae.length)} usable ${ae.length===1?`passkey`:`passkeys`}`}),M>0?(0,$.jsx)(`span`,{children:` · ${String(M)} synced to a password manager`}):null]})}),t&&e.length===0?(0,$.jsx)(_e,{title:`Loading passkeys…`,description:`Reading the credentials on file.`}):null,!t&&e.length===0?(0,$.jsx)(_e,{title:`No passkeys yet`,description:`Add one now — without a passkey you can only get back in through a fallback credential.`}):null,ce.map(e=>{let t=Y(e),n=L(e),i=Be(e.createdAt),a=Be(e.lastUsedAt);return(0,$.jsx)(_e,{title:(0,$.jsxs)(`span`,{className:`flex items-center gap-2`,children:[X(e),t?(0,$.jsx)(w,{variant:`error`,size:`sm`,children:`Revoked`}):null]}),description:t?`Revoked${e.revocationReasonCode?` — ${e.revocationReasonCode}`:``}. This credential can no longer sign in.`:n??`The Hub did not report whether this credential is backed up.`,status:[i?`Added ${i}`:null,a?`Last used ${a}`:`Never used`].filter(e=>e!==null).join(` · `),control:t?null:(0,$.jsx)(j,{size:`xs`,variant:`destructive-outline`,"aria-label":`Revoke ${X(e)}`,disabled:r,onClick:()=>T(e),children:(0,$.jsxs)(We,{busy:A&&E===e.id,children:[(0,$.jsx)(C,{"aria-hidden":!0}),`Revoke`]})})},e.id)}),(0,$.jsx)(ie,{open:a,onOpenChange:e=>{if(e){h(!0);return}r||N()},children:(0,$.jsx)(s,{className:`max-w-md`,children:(0,$.jsxs)(`form`,{onSubmit:e=>void P(e),children:[(0,$.jsxs)(f,{children:[(0,$.jsx)(l,{children:`Add a passkey`}),(0,$.jsx)(re,{children:`Your browser will ask you to create a passkey for this account. Adding one replaces the current Hub session with a fresh one.`})]}),(0,$.jsxs)(m,{className:`space-y-3`,children:[(0,$.jsx)(_,{htmlFor:`account-passkey-label`,children:`Name (optional)`}),(0,$.jsx)(se,{id:`account-passkey-label`,value:y,autoComplete:`off`,placeholder:`Work laptop`,disabled:k,className:oe,onChange:e=>x(e.target.value)})]}),(0,$.jsxs)(te,{children:[(0,$.jsx)(j,{variant:`outline`,onClick:()=>{v(),N()},children:`Cancel`}),(0,$.jsx)(j,{type:`submit`,disabled:r,children:(0,$.jsx)(We,{busy:k,children:`Create passkey`})})]})]})})}),(0,$.jsx)(ee,{open:S!==null,onOpenChange:e=>{r||e||T(null)},children:(0,$.jsxs)(o,{children:[(0,$.jsxs)(p,{children:[(0,$.jsx)(c,{children:`Revoke this passkey?`}),(0,$.jsxs)(u,{children:[ae.length===1?`This is the only usable passkey on this account. `:``,S?X(S):``,` will stop working immediately, on every device it is stored on. This cannot be undone — you would have to enrol the device again.`]})]}),(0,$.jsxs)(d,{children:[(0,$.jsx)(ne,{render:(0,$.jsx)(j,{variant:`outline`}),children:`Keep it`}),(0,$.jsx)(j,{variant:`destructive`,disabled:r,onClick:()=>void I(),children:`Revoke passkey`})]})]})})]})}function mt(e){let t=(0,xe.c)(61),{busy:n,actionStatus:r,enrollment:i,enrolled:a,run:h}=e,[g,v]=(0,Q.useState)(``),[y,x]=(0,Q.useState)(!1),S=r===`enrolling-totp`,C=r===`confirming-totp`,w=r===`revoking-totp`,T;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(T=()=>{v(``),b.dismissTotpEnrollment()},t[0]=T):T=t[0];let E=T,D;t[1]===g?D=t[2]:(D=async e=>{e.preventDefault();let t=V(g);t.length!==0&&(await b.confirmTotpEnrollment({code:t}),v(``))},t[1]=g,t[2]=D);let O=D,A;t[3]===h?A=t[4]:(A=async()=>{x(!1),await h(`revoke-totp`,gt)},t[3]=h,t[4]=A);let ae=A,M;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(k,{"aria-hidden":!0,className:`size-3.5`}),t[5]=M):M=t[5];let ce=a===null?`Checking current state…`:a?`On`:`Off`,N;t[6]!==n||t[7]!==a||t[8]!==S||t[9]!==w?(N=a===null?null:a?(0,$.jsx)(j,{size:`xs`,variant:`destructive-outline`,"aria-label":`Turn off two-factor authentication`,disabled:n,onClick:()=>x(!0),children:(0,$.jsx)(We,{busy:w,children:`Turn off`})}):(0,$.jsx)(j,{size:`xs`,variant:`outline`,disabled:n,onClick:ht,children:(0,$.jsx)(We,{busy:S,children:`Set up`})}),t[6]=n,t[7]=a,t[8]=S,t[9]=w,t[10]=N):N=t[10];let P;t[11]!==ce||t[12]!==N?(P=(0,$.jsx)(_e,{title:`Authenticator app`,description:`A six-digit code from an authenticator app, required whenever you change credentials from a session that was not started with a passkey. Signing in with a passkey never asks for one.`,status:ce,control:N}),t[11]=ce,t[12]=N,t[13]=P):P=t[13];let F=i!==null,I;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(I=e=>{e||E()},t[14]=I):I=t[14];let L;t[15]===O?L=t[16]:(L=e=>void O(e),t[15]=O,t[16]=L);let le;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,$.jsxs)(f,{children:[(0,$.jsx)(l,{children:`Set up two-factor authentication`}),(0,$.jsx)(re,{children:`Scan this with your authenticator app, then enter the code it shows. This is the only time the key is displayed.`})]}),t[17]=le):le=t[17];let R;t[18]===i?R=t[19]:(R=i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`flex justify-center rounded-xl border border-border bg-white p-4`,children:(0,$.jsx)(ve,{value:i.provisioningUri,size:168,level:`M`,marginSize:1,title:`Two-factor setup code`})}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Can't scan? Enter this key manually:`}),(0,$.jsx)(`p`,{"aria-label":`Two-factor setup key`,className:`rounded-lg border border-border bg-background px-3 py-2 font-mono text-sm break-all`,children:i.secretBase32})]})]}):null,t[18]=i,t[19]=R);let ue;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,$.jsx)(_,{htmlFor:`account-totp-confirm`,children:`Code from your app`}),t[20]=ue):ue=t[20];let de;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(de=e=>v(V(e.target.value)),t[21]=de):de=t[21];let z;t[22]!==g||t[23]!==C?(z=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[ue,(0,$.jsx)(se,{id:`account-totp-confirm`,value:g,inputMode:`numeric`,autoComplete:`one-time-code`,maxLength:16,disabled:C,className:oe,onChange:de})]}),t[22]=g,t[23]=C,t[24]=z):z=t[24];let B;t[25]!==R||t[26]!==z?(B=(0,$.jsxs)(m,{className:`space-y-4`,children:[R,z]}),t[25]=R,t[26]=z,t[27]=B):B=t[27];let H;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,$.jsx)(j,{variant:`outline`,onClick:E,children:`Cancel`}),t[28]=H):H=t[28];let U;t[29]!==n||t[30]!==g?(U=n||!q(g),t[29]=n,t[30]=g,t[31]=U):U=t[31];let W;t[32]===C?W=t[33]:(W=(0,$.jsx)(We,{busy:C,children:`Turn on`}),t[32]=C,t[33]=W);let G;t[34]!==U||t[35]!==W?(G=(0,$.jsxs)(te,{children:[H,(0,$.jsx)(j,{type:`submit`,disabled:U,children:W})]}),t[34]=U,t[35]=W,t[36]=G):G=t[36];let K;t[37]!==L||t[38]!==B||t[39]!==G?(K=(0,$.jsx)(s,{className:`max-w-md`,children:(0,$.jsxs)(`form`,{onSubmit:L,children:[le,B,G]})}),t[37]=L,t[38]=B,t[39]=G,t[40]=K):K=t[40];let fe;t[41]!==K||t[42]!==F?(fe=(0,$.jsx)(ie,{open:F,onOpenChange:I,children:K}),t[41]=K,t[42]=F,t[43]=fe):fe=t[43];let J;t[44]===n?J=t[45]:(J=e=>{n||x(e)},t[44]=n,t[45]=J);let pe;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(pe=(0,$.jsxs)(p,{children:[(0,$.jsx)(c,{children:`Remove two-factor authentication?`}),(0,$.jsx)(u,{children:`Password, recovery-code, and emailed-link sign-ins will no longer need a code from your authenticator app. You can set it up again at any time.`})]}),t[46]=pe):pe=t[46];let Y;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(Y=(0,$.jsx)(ne,{render:(0,$.jsx)(j,{variant:`outline`}),children:`Keep it on`}),t[47]=Y):Y=t[47];let X;t[48]===ae?X=t[49]:(X=()=>void ae(),t[48]=ae,t[49]=X);let Z;t[50]!==n||t[51]!==X?(Z=(0,$.jsxs)(o,{children:[pe,(0,$.jsxs)(d,{children:[Y,(0,$.jsx)(j,{variant:`destructive`,disabled:n,onClick:X,children:`Remove two-factor`})]})]}),t[50]=n,t[51]=X,t[52]=Z):Z=t[52];let me;t[53]!==y||t[54]!==J||t[55]!==Z?(me=(0,$.jsx)(ee,{open:y,onOpenChange:J,children:Z}),t[53]=y,t[54]=J,t[55]=Z,t[56]=me):me=t[56];let ge;return t[57]!==fe||t[58]!==me||t[59]!==P?(ge=(0,$.jsxs)(he,{title:`Two-factor authentication`,icon:M,children:[P,fe,me]}),t[57]=fe,t[58]=me,t[59]=P,t[60]=ge):ge=t[60],ge}function ht(){b.beginTotpEnrollment()}function gt(e){return b.revokeTotp(e)}function _t(e){let t=(0,xe.c)(86),{busy:n,actionStatus:r,security:i,run:a,cancel:h}=e,[g,v]=(0,Q.useState)(!1),[y,x]=(0,Q.useState)(``),[S,C]=(0,Q.useState)(``),[w,T]=(0,Q.useState)(!1),[E,O]=(0,Q.useState)(!1),k=r===`setting-password`,A=r===`removing-password`,ae;t[0]!==S||t[1]!==y?(ae=me(y,S),t[0]=S,t[1]=y,t[2]=ae):ae=t[2];let M=ae,ce;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(ce=()=>{x(``),C(``),T(!1)},t[3]=ce):ce=t[3];let N=ce,P;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(P=()=>{N(),v(!1)},t[4]=P):P=t[4];let F=P,I;t[5]===h?I=t[6]:(I=()=>{h(),F()},t[5]=h,t[6]=I);let L=I,le;t[7]!==M||t[8]!==y||t[9]!==a?(le=async e=>{e.preventDefault(),T(!0),!M&&await a(`set-password`,e=>b.setPassword({password:y,...e}),{onCommitted:F,onAbandoned:F})},t[7]=M,t[8]=y,t[9]=a,t[10]=le):le=t[10];let R=le,ue;t[11]===a?ue=t[12]:(ue=async()=>{O(!1),await a(`remove-password`,vt)},t[11]=a,t[12]=ue);let de=ue,z;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,$.jsx)(D,{"aria-hidden":!0,className:`size-3.5`}),t[13]=z):z=t[13];let B=i===null?`Checking current state…`:i.passwordConfigured?`Set`:`Not set`,V;t[14]!==n||t[15]!==A||t[16]!==i||t[17]!==k?(V=i===null?null:(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,$.jsx)(j,{size:`xs`,variant:`outline`,disabled:n,onClick:()=>v(!0),children:(0,$.jsx)(We,{busy:k,children:i.passwordConfigured?`Change`:`Set password`})}),i.passwordConfigured?(0,$.jsx)(j,{size:`xs`,variant:`destructive-outline`,"aria-label":`Delete the fallback password`,disabled:n,onClick:()=>O(!0),children:(0,$.jsx)(We,{busy:A,children:`Remove`})}):null]}),t[14]=n,t[15]=A,t[16]=i,t[17]=k,t[18]=V):V=t[18];let H;t[19]!==B||t[20]!==V?(H=(0,$.jsx)(_e,{title:`Fallback password`,description:`A password is a fallback, not an equal of a passkey: it can be phished and reused, and a session started with one has to prove itself again before changing credentials. Keep a passkey as your normal way in.`,status:B,control:V}),t[19]=B,t[20]=V,t[21]=H):H=t[21];let U=i===null?void 0:i.email,W=i?.emailDeliveryConfigured,G;t[22]!==r||t[23]!==n||t[24]!==a||t[25]!==U||t[26]!==W?(G=(0,$.jsx)(yt,{busy:n,actionStatus:r,email:U,deliveryConfigured:W,run:a}),t[22]=r,t[23]=n,t[24]=a,t[25]=U,t[26]=W,t[27]=G):G=t[27];let K;t[28]===L?K=t[29]:(K=e=>{if(e){v(!0);return}L()},t[28]=L,t[29]=K);let q;t[30]===R?q=t[31]:(q=e=>void R(e),t[30]=R,t[31]=q);let fe;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(fe=(0,$.jsxs)(f,{children:[(0,$.jsx)(l,{children:`Set a fallback password`}),(0,$.jsx)(re,{children:`This replaces any password already on the account. The Hub rejects passwords that have appeared in a known breach.`})]}),t[32]=fe):fe=t[32];let J;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(J=(0,$.jsx)(_,{htmlFor:`account-password`,children:`New password`}),t[33]=J):J=t[33];let pe;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(pe=e=>x(e.target.value),t[34]=pe):pe=t[34];let Y;t[35]!==y||t[36]!==k?(Y=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[J,(0,$.jsx)(se,{id:`account-password`,type:`password`,value:y,autoComplete:`new-password`,maxLength:256,disabled:k,className:oe,onChange:pe})]}),t[35]=y,t[36]=k,t[37]=Y):Y=t[37];let X;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,$.jsx)(_,{htmlFor:`account-password-confirm`,children:`Confirm password`}),t[38]=X):X=t[38];let Z;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(Z=e=>C(e.target.value),t[39]=Z):Z=t[39];let ge;t[40]!==S||t[41]!==k?(ge=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[X,(0,$.jsx)(se,{id:`account-password-confirm`,type:`password`,value:S,autoComplete:`new-password`,maxLength:256,disabled:k,className:oe,onChange:Z})]}),t[40]=S,t[41]=k,t[42]=ge):ge=t[42];let ve;t[43]!==M||t[44]!==w?(ve=w&&M?(0,$.jsx)(`p`,{role:`alert`,className:`text-xs text-destructive-foreground`,children:M}):null,t[43]=M,t[44]=w,t[45]=ve):ve=t[45];let ye;t[46]!==Y||t[47]!==ge||t[48]!==ve?(ye=(0,$.jsxs)(m,{className:`space-y-3`,children:[Y,ge,ve]}),t[46]=Y,t[47]=ge,t[48]=ve,t[49]=ye):ye=t[49];let be;t[50]===L?be=t[51]:(be=(0,$.jsx)(j,{variant:`outline`,onClick:L,children:`Cancel`}),t[50]=L,t[51]=be);let Se;t[52]===k?Se=t[53]:(Se=(0,$.jsx)(We,{busy:k,children:`Save password`}),t[52]=k,t[53]=Se);let Ce;t[54]!==n||t[55]!==Se?(Ce=(0,$.jsx)(j,{type:`submit`,disabled:n,children:Se}),t[54]=n,t[55]=Se,t[56]=Ce):Ce=t[56];let we;t[57]!==be||t[58]!==Ce?(we=(0,$.jsxs)(te,{children:[be,Ce]}),t[57]=be,t[58]=Ce,t[59]=we):we=t[59];let Te;t[60]!==q||t[61]!==ye||t[62]!==we?(Te=(0,$.jsx)(s,{className:`max-w-md`,children:(0,$.jsxs)(`form`,{onSubmit:q,children:[fe,ye,we]})}),t[60]=q,t[61]=ye,t[62]=we,t[63]=Te):Te=t[63];let Ee;t[64]!==g||t[65]!==K||t[66]!==Te?(Ee=(0,$.jsx)(ie,{open:g,onOpenChange:K,children:Te}),t[64]=g,t[65]=K,t[66]=Te,t[67]=Ee):Ee=t[67];let De;t[68]===n?De=t[69]:(De=e=>{n||O(e)},t[68]=n,t[69]=De);let Oe;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,$.jsxs)(p,{children:[(0,$.jsx)(c,{children:`Remove the password?`}),(0,$.jsx)(u,{children:`You will no longer be able to sign in with a password. Make sure you still have a passkey, or recovery codes you have saved.`})]}),t[70]=Oe):Oe=t[70];let ke;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(ke=(0,$.jsx)(ne,{render:(0,$.jsx)(j,{variant:`outline`}),children:`Keep it`}),t[71]=ke):ke=t[71];let Ae;t[72]===de?Ae=t[73]:(Ae=()=>void de(),t[72]=de,t[73]=Ae);let je;t[74]!==n||t[75]!==Ae?(je=(0,$.jsxs)(o,{children:[Oe,(0,$.jsxs)(d,{children:[ke,(0,$.jsx)(j,{variant:`destructive`,disabled:n,onClick:Ae,children:`Remove password`})]})]}),t[74]=n,t[75]=Ae,t[76]=je):je=t[76];let Me;t[77]!==E||t[78]!==De||t[79]!==je?(Me=(0,$.jsx)(ee,{open:E,onOpenChange:De,children:je}),t[77]=E,t[78]=De,t[79]=je,t[80]=Me):Me=t[80];let Ne;return t[81]!==H||t[82]!==G||t[83]!==Ee||t[84]!==Me?(Ne=(0,$.jsxs)(he,{title:`Fallback sign-in`,icon:z,children:[H,G,Ee,Me]}),t[81]=H,t[82]=G,t[83]=Ee,t[84]=Me,t[85]=Ne):Ne=t[85],Ne}function vt(e){return b.removePassword(e)}function yt(e){let t=(0,xe.c)(25),{busy:n,actionStatus:r,email:i,deliveryConfigured:a,run:ee}=e,[o,s]=(0,Q.useState)(``),[c,l]=(0,Q.useState)(!1),[u,te]=(0,Q.useState)(!1),d=r===`requesting-email-verification`,f;t[0]===o?f=t[1]:(f=J(o),t[0]=o,t[1]=f);let p=f,m;t[2]!==o||t[3]!==p||t[4]!==ee?(m=async e=>{e.preventDefault(),l(!0),te(!1),!p&&await ee(`request-email-verification`,e=>b.requestEmailVerification({email:o.trim(),...e}),{onCommitted:()=>{te(!0),s(``),l(!1)}})},t[2]=o,t[3]=p,t[4]=ee,t[5]=m):m=t[5];let h=m,g;t[6]===a?g=t[7]:(g=a===!1?(0,$.jsx)(`div`,{className:`border-t border-border/60 px-4 pt-3.5 sm:px-5`,children:(0,$.jsxs)(P,{variant:`warning`,children:[(0,$.jsx)(A,{"aria-hidden":!0}),(0,$.jsx)(M,{children:`No mail will arrive yet`}),(0,$.jsx)(N,{children:`This Hub has no mail transport configured, so verification messages are generated and discarded. The request below will be accepted and nothing will be delivered until an operator wires one up. Do not rely on email as your way back into the account.`})]})}):null,t[6]=a,t[7]=g);let ne=a?`Used for account recovery after verification. The Hub answers the same way whether or not the address is already known, so this never confirms who owns it.`:`Used for account recovery once mail delivery is switched on. The Hub answers the same way whether or not the address is already known, so this never confirms who owns it.`,re=i===void 0?`Checking current state…`:i===null?`Not set`:`${i.verified?`Verified`:`Verification pending`} · ${i.address}`,ie;t[8]!==u||t[9]!==n||t[10]!==i||t[11]!==a||t[12]!==o||t[13]!==p||t[14]!==d||t[15]!==h||t[16]!==c?(ie=i===void 0?null:(0,$.jsxs)(`form`,{className:`pt-3 pb-3.5`,onSubmit:e=>void h(e),children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,$.jsx)(se,{"aria-label":`Email address`,type:`email`,value:o,autoComplete:`email`,placeholder:`you@example.com`,maxLength:254,disabled:d,className:oe,onChange:e=>{s(e.target.value),te(!1)}}),(0,$.jsx)(j,{type:`submit`,size:`sm`,variant:`outline`,disabled:n,className:`shrink-0`,children:(0,$.jsx)(We,{busy:d,children:i===null?`Send verification`:i.verified?`Change email`:`Resend or change`})})]}),c&&p?(0,$.jsx)(`p`,{role:`alert`,className:`pt-2 text-xs text-destructive-foreground`,children:p}):null,u?(0,$.jsx)(`p`,{role:`status`,className:`pt-2 text-xs text-muted-foreground`,children:a?`Verification email requested. Check your inbox and spam folder; delivery may take a moment.`:`Request accepted by the Hub. No message will be delivered until a mail transport is configured.`}):null]}),t[8]=u,t[9]=n,t[10]=i,t[11]=a,t[12]=o,t[13]=p,t[14]=d,t[15]=h,t[16]=c,t[17]=ie):ie=t[17];let _;t[18]!==ne||t[19]!==re||t[20]!==ie?(_=(0,$.jsx)(_e,{title:`Recovery email`,description:ne,status:re,children:ie}),t[18]=ne,t[19]=re,t[20]=ie,t[21]=_):_=t[21];let v;return t[22]!==g||t[23]!==_?(v=(0,$.jsxs)($.Fragment,{children:[g,_]}),t[22]=g,t[23]=_,t[24]=v):v=t[24],v}function bt(e){let t=(0,xe.c)(52),{busy:n,actionStatus:r,recoveryCodes:i,run:a}=e,[h,g]=(0,Q.useState)(!1),_=r===`regenerating-recovery-codes`,{copyToClipboard:v,isCopied:y}=T(),b;t[0]===a?b=t[1]:(b=async()=>{g(!1),await a(`regenerate-recovery-codes`,wt)},t[0]=a,t[1]=b);let x=b,C;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(O,{"aria-hidden":!0,className:`size-3.5`}),t[2]=C):C=t[2];let w;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>g(!0),t[3]=w):w=t[3];let D;t[4]===_?D=t[5]:(D=(0,$.jsx)(We,{busy:_,children:`Generate new codes`}),t[4]=_,t[5]=D);let k;t[6]!==n||t[7]!==D?(k=(0,$.jsx)(_e,{title:`One-time recovery codes`,description:`Single-use codes that get you back in when you have lost every passkey. They are a last resort, not a substitute for one — anyone holding a code can sign in as you.`,status:`Ryco shows them once and never writes them to browser storage.`,control:(0,$.jsx)(j,{size:`xs`,variant:`destructive-outline`,disabled:n,onClick:w,children:D})}),t[6]=n,t[7]=D,t[8]=k):k=t[8];let A;t[9]===n?A=t[10]:(A=e=>{n||g(e)},t[9]=n,t[10]=A);let ae;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,$.jsxs)(p,{children:[(0,$.jsx)(c,{children:`Replace your recovery codes?`}),(0,$.jsx)(u,{children:`Every code you have already saved stops working immediately. You will get a new set, shown once — if you lose them you will have to generate another set from a session you can still sign in to.`})]}),t[11]=ae):ae=t[11];let oe;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,$.jsx)(ne,{render:(0,$.jsx)(j,{variant:`outline`}),children:`Cancel`}),t[12]=oe):oe=t[12];let se;t[13]===x?se=t[14]:(se=()=>void x(),t[13]=x,t[14]=se);let M;t[15]!==n||t[16]!==se?(M=(0,$.jsxs)(o,{children:[ae,(0,$.jsxs)(d,{children:[oe,(0,$.jsx)(j,{variant:`destructive`,disabled:n,onClick:se,children:`Replace codes`})]})]}),t[15]=n,t[16]=se,t[17]=M):M=t[17];let ce;t[18]!==h||t[19]!==M||t[20]!==A?(ce=(0,$.jsx)(ee,{open:h,onOpenChange:A,children:M}),t[18]=h,t[19]=M,t[20]=A,t[21]=ce):ce=t[21];let N=i.length>0,P;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(l,{children:`Save your recovery codes`}),t[22]=P):P=t[22];let F=String(i.length),I;t[23]===F?I=t[24]:(I=(0,$.jsxs)(f,{children:[P,(0,$.jsxs)(re,{children:[`Save all `,F,` codes — they are shown once and cannot be retrieved later. Store them somewhere only you can reach — a password manager, or paper somewhere safe.`]})]}),t[23]=F,t[24]=I);let L;t[25]===i?L=t[26]:(L=i.map(St),t[25]=i,t[26]=L);let le;t[27]===L?le=t[28]:(le=(0,$.jsx)(m,{children:(0,$.jsx)(`ul`,{"aria-label":`Recovery codes`,className:`grid gap-2 rounded-xl border border-border bg-background p-4 font-mono text-sm break-all sm:grid-cols-2`,children:L})}),t[27]=L,t[28]=le);let R;t[29]!==v||t[30]!==i?(R=()=>v(ue(i),void 0),t[29]=v,t[30]=i,t[31]=R):R=t[31];let de;t[32]===y?de=t[33]:(de=y?(0,$.jsx)(S,{"aria-hidden":!0}):(0,$.jsx)(E,{"aria-hidden":!0}),t[32]=y,t[33]=de);let z=y?`Copied`:`Copy codes`,B;t[34]!==R||t[35]!==de||t[36]!==z?(B=(0,$.jsxs)(j,{variant:`outline`,onClick:R,children:[de,z]}),t[34]=R,t[35]=de,t[36]=z,t[37]=B):B=t[37];let V;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(j,{onClick:xt,children:`I saved the codes`}),t[38]=V):V=t[38];let H;t[39]===B?H=t[40]:(H=(0,$.jsxs)(te,{children:[B,V]}),t[39]=B,t[40]=H);let U;t[41]!==I||t[42]!==le||t[43]!==H?(U=(0,$.jsxs)(s,{className:`max-w-md`,showCloseButton:!1,children:[I,le,H]}),t[41]=I,t[42]=le,t[43]=H,t[44]=U):U=t[44];let W;t[45]!==N||t[46]!==U?(W=(0,$.jsx)(ie,{open:N,disablePointerDismissal:!0,onOpenChange:Ct,children:U}),t[45]=N,t[46]=U,t[47]=W):W=t[47];let G;return t[48]!==ce||t[49]!==W||t[50]!==k?(G=(0,$.jsxs)(he,{title:`Recovery codes`,icon:C,children:[k,ce,W]}),t[48]=ce,t[49]=W,t[50]=k,t[51]=G):G=t[51],G}function xt(){return b.dismissRecoveryCodes()}function St(e){return(0,$.jsx)(`li`,{children:e},e)}function Ct(e,t){e||t.cancel()}function wt(e){return b.regenerateRecoveryCodes(e)}function Tt(e){let t=(0,xe.c)(45),{pending:n,attempts:r,code:i,onCodeChange:a,onSubmit:ee,onCancel:o,busy:c}=e,u=n!==null,d;t[0]===o?d=t[1]:(d=e=>{e||o()},t[0]=o,t[1]=d);let p;t[2]===ee?p=t[3]:(p=e=>{e.preventDefault(),ee()},t[2]=ee,t[3]=p);let h;t[4]===n?h=t[5]:(h=n?I(n.action):``,t[4]=n,t[5]=h);let g;t[6]===h?g=t[7]:(g=(0,$.jsx)(l,{children:h}),t[6]=h,t[7]=g);let ne=n?.inferred??!1,v;t[8]!==r||t[9]!==ne?(v=Z(r,ne),t[8]=r,t[9]=ne,t[10]=v):v=t[10];let y;t[11]===v?y=t[12]:(y=(0,$.jsx)(re,{children:v}),t[11]=v,t[12]=y);let b;t[13]!==g||t[14]!==y?(b=(0,$.jsxs)(f,{children:[g,y]}),t[13]=g,t[14]=y,t[15]=b):b=t[15];let x;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(_,{htmlFor:`account-step-up-code`,children:`Authenticator code`}),t[16]=x):x=t[16];let S;t[17]===a?S=t[18]:(S=e=>a(V(e.target.value)),t[17]=a,t[18]=S);let C;t[19]!==c||t[20]!==i||t[21]!==S?(C=(0,$.jsxs)(m,{className:`space-y-2`,children:[x,(0,$.jsx)(se,{id:`account-step-up-code`,value:i,inputMode:`numeric`,autoComplete:`one-time-code`,maxLength:16,disabled:c,className:oe,onChange:S})]}),t[19]=c,t[20]=i,t[21]=S,t[22]=C):C=t[22];let w;t[23]===o?w=t[24]:(w=(0,$.jsx)(j,{variant:`outline`,onClick:o,children:`Cancel`}),t[23]=o,t[24]=w);let T;t[25]!==c||t[26]!==i?(T=c||!q(i),t[25]=c,t[26]=i,t[27]=T):T=t[27];let E;t[28]===c?E=t[29]:(E=(0,$.jsx)(We,{busy:c,children:`Confirm code`}),t[28]=c,t[29]=E);let D;t[30]!==T||t[31]!==E?(D=(0,$.jsx)(j,{type:`submit`,disabled:T,children:E}),t[30]=T,t[31]=E,t[32]=D):D=t[32];let O;t[33]!==w||t[34]!==D?(O=(0,$.jsxs)(te,{children:[w,D]}),t[33]=w,t[34]=D,t[35]=O):O=t[35];let k;t[36]!==C||t[37]!==O||t[38]!==p||t[39]!==b?(k=(0,$.jsx)(s,{className:`max-w-sm`,children:(0,$.jsxs)(`form`,{onSubmit:p,children:[b,C,O]})}),t[36]=C,t[37]=O,t[38]=p,t[39]=b,t[40]=k):k=t[40];let A;return t[41]!==u||t[42]!==k||t[43]!==d?(A=(0,$.jsx)(ie,{open:u,onOpenChange:d,children:k}),t[41]=u,t[42]=k,t[43]=d,t[44]=A):A=t[44],A}export{Ge as AccountSettingsPanel};
@@ -0,0 +1 @@
1
+ import{i as e,t}from"./react-SIfiwpqq.js";import{Kt as n,n as r}from"./primary-DjXNHNGV.js";import{Qr as i,T as a,b as o}from"./src-gDjuIvMO.js";import{Gi as s,Ji as c,Ki as l,Kr as u,Lr as d,Ur as f,b as p,ia as m,p as h,sa as g,u as _,vi as ee,y as v,zr as y}from"./runtime-L56puJDA.js";import{t as te}from"./switch-COrEGDkz.js";import{t as b}from"./compiler-runtime-qmuS0Svy.js";import{r as ne,y as x}from"./RootAppShell-D7c8sbA0.js";import{a as S,c as C,n as w,o as re,s as T}from"./badge-CYDyJZRJ.js";import{a as E,i as D,s as ie}from"./toast-C_F1LeME.js";import{t as ae}from"./sparkles-BXwkPX2M.js";import{t as oe}from"./refresh-cw-MqmsC7V0.js";import{t as O}from"./button-QrCU0tNP.js";import{i as k,n as se,r as A}from"./settingsLayout-CmNqO2kB.js";import{t as j}from"./ProviderModelPicker-CYGv-4fE.js";var ce=[`Thread titles`,`Project or repository names`,`Branch names`,`Bucketed creation and activity age`,`Running, approval, input, queue, failure, and delivery state`,`Pull request or linked issue title and state`,`Up to 600 characters from the latest user request`],le=[{value:0,label:`Manual only`},{value:3e5,label:`Every 5 minutes`},{value:6e5,label:`Every 10 minutes`},{value:18e5,label:`Every 30 minutes`},{value:36e5,label:`Every hour`},{value:216e5,label:`Every 6 hours`},{value:864e5,label:`Every 24 hours`}];function ue(e){return{...e.enabled===void 0?{}:{aiFocusEnabled:e.enabled},...e.refreshIntervalMs===void 0?{}:{aiFocusRefreshIntervalMs:e.refreshIntervalMs}}}function de(e){return e.map(e=>{let t=e.serverConfig,n=t?.environment.capabilities.threadPriorityRanking===!0,r=t?.settings.inboxPriorityModelSelection??null,i=t?r??t.settings.textGenerationModelSelection:null,a=i===null?null:t?.providers.find(e=>e.instanceId===i.instanceId)??null;return{...e,supported:n,inherited:r===null,effectiveModelSelection:i,effectiveProvider:a}})}function M(e,t){let n=e.find(e=>e.instanceId===t);return!!(n&&n.enabled&&n.installed&&n.availability!==`unavailable`&&n.status!==`disabled`&&n.status!==`error`)}function N(e){if(e.selection!==null&&!M(e.serverConfig.providers,e.selection.instanceId))throw Error(`That provider instance is not available on this environment.`);return{inboxPriorityModelSelection:e.selection}}var P=b(),F=e(t(),1),I=m();function L(e){return e instanceof Error?e.message:`An unexpected error occurred.`}function fe(e){let t=(0,P.c)(12),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,I.jsx)(x,{className:`size-3.5`}),t[0]=n):n=t[0];let r;t[1]===e.value?r=t[2]:(r=e.value?.toString()??`off`,t[1]=e.value,t[2]=r);let i;t[3]===e?i=t[4]:(i=t=>{let n=t===`off`?null:Number(t);(n===null||a.includes(n))&&e.onChange(n)},t[3]=e,t[4]=i);let o=e.value===null?`Off`:`After ${e.value} ${e.value===1?`day`:`days`}`,s;t[5]===o?s=t[6]:(s=(0,I.jsx)(T,{className:`w-48`,"aria-label":`Auto-settle inactive tasks`,children:(0,I.jsx)(C,{children:o})}),t[5]=o,t[6]=s);let c;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,I.jsxs)(re,{align:`end`,alignItemWithTrigger:!1,children:[(0,I.jsx)(S,{hideIndicator:!0,value:`off`,children:`Off`}),a.map(R)]}),t[7]=c):c=t[7];let l;return t[8]!==r||t[9]!==i||t[10]!==s?(l=(0,I.jsx)(k,{title:`Housekeeping`,icon:n,children:(0,I.jsx)(A,{title:`Auto-settle inactive tasks`,description:`Move inactive tasks to Settled after their last message or turn. Running work, queued messages, pending input, open pull requests, and tasks kept active are protected.`,control:(0,I.jsxs)(w,{value:r,onValueChange:i,children:[s,c]})})}),t[8]=r,t[9]=i,t[10]=s,t[11]=l):l=t[11],l}function R(e){return(0,I.jsxs)(S,{hideIndicator:!0,value:String(e),children:[`After `,e,` `,e===1?`day`:`days`]},e)}function pe(){let e=(0,P.c)(2),[t,n]=(0,F.useState)(z),r,i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>v(()=>{n(_())}),i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),(0,F.useEffect)(r,i),t}function z(){return _()}function B({row:e}){let[t,n]=(0,F.useState)(!1),r=e.serverConfig;if(!r||!e.effectiveModelSelection)return null;let i={...r.settings,...o},a=e.effectiveModelSelection,s=u(f(r.providers)),c=d(i,r.providers,a.instanceId,a.model),l=async t=>{n(!0);try{let n=N({serverConfig:r,selection:t});await p(e.environmentId,n)}catch(t){D.add(E({type:`error`,title:`Could not update ${e.label}`,description:L(t)}))}finally{n(!1)}};return(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:[(0,I.jsx)(j,{activeInstanceId:a.instanceId,model:a.model,lockedProvider:null,instanceEntries:s,modelOptionsByInstance:c,compact:!0,disabled:t||!e.connected,...e.connected?{}:{disabledReason:`Connect this environment to change its model.`},onInstanceModelChange:(e,t)=>{l(y({...i,textGenerationModelSelection:g(e,t)},r.providers))}}),e.inherited?null:(0,I.jsx)(O,{size:`xs`,variant:`ghost`,disabled:t||!e.connected,onClick:()=>void l(null),children:`Use text model`})]})}function V(e){let t=(0,P.c)(6),{row:n}=e,r=n.effectiveProvider?.displayName??n.effectiveProvider?.driver??null,i=n.connected?n.supported?n.inherited?`Inherits the text-generation model${r?` (${r})`:``}.`:`Uses a separate model for Inbox ranking.`:`This node version does not support AI Focus ranking. Other supported nodes still work.`:`Offline — ranking waits for an existing connection.`,a;t[0]===n?a=t[1]:(a=n.supported?(0,I.jsx)(B,{row:n}):void 0,t[0]=n,t[1]=a);let o;return t[2]!==n.label||t[3]!==i||t[4]!==a?(o=(0,I.jsx)(A,{title:n.label,description:i,control:a}),t[2]=n.label,t[3]=i,t[4]=a,t[5]=o):o=t[5],o}function H(){let e=(0,P.c)(54),t=s(),{updateSettings:n}=l(),a=c(),o;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=r(),e[0]=o):o=e[0];let u=o,d=ee(ve),f=pe(),[p,m]=(0,F.useState)(!1);u?.environmentId,u?.label;let h;if(e[1]!==f||e[2]!==a||e[3]!==d){let t=new Map;u?.environmentId&&t.set(u.environmentId,{label:u.label,config:a});for(let e of f){if(t.has(e.environmentId))continue;let n=d[e.environmentId];t.set(e.environmentId,{label:n?.descriptor?.label??e.knownEnvironment.label,config:n?.serverConfig??null})}for(let[e,n]of Object.entries(d)){let r=i.make(e);t.has(r)||t.set(r,{label:n.descriptor?.label??`Saved environment`,config:n.serverConfig})}h=de([...t].map(_e)),e[1]=f,e[2]=a,e[3]=d,e[4]=h}else h=e[4];let g=h,_;e[5]===g?_=e[6]:(_=async()=>{m(!0);let e=await ne(),t=e.failures;t.length>0?D.add(E({type:`error`,title:`AI Focus refresh failed`,description:t.map(e=>{let{environmentId:t,error:n}=e;return`${g.find(e=>e.environmentId===t)?.label??`Environment`}: ${L(n)}`}).join(` · `)})):D.add(E({type:`success`,title:e.attempted.length>0?`AI Focus refreshed`:`No connected supported nodes`,description:e.attempted.length>0?`Updated ${e.succeeded.length} environment${e.succeeded.length===1?``:`s`}.`:`Connect a supported node to rank its Inbox.`})),m(!1)},e[5]=g,e[6]=_);let v=_,y;e[7]===n?y=e[8]:(y=e=>n({sidebarAutoSettleAfterDays:e}),e[7]=n,e[8]=y);let b;e[9]!==t.sidebarAutoSettleAfterDays||e[10]!==y?(b=(0,I.jsx)(fe,{value:t.sidebarAutoSettleAfterDays,onChange:y}),e[9]=t.sidebarAutoSettleAfterDays,e[10]=y,e[11]=b):b=e[11];let x;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,I.jsx)(ae,{className:`size-3.5`}),e[12]=x):x=e[12];let S;e[13]===n?S=e[14]:(S=e=>n(ue({enabled:e})),e[13]=n,e[14]=S);let j;e[15]!==t.aiFocusEnabled||e[16]!==S?(j=(0,I.jsx)(A,{title:`Prioritize the Inbox`,description:`Create a Focus section from pinned, actionable, and model-ranked threads. Focused threads are removed from Active, never duplicated.`,control:(0,I.jsx)(te,{"aria-label":`Enable AI Focus`,checked:t.aiFocusEnabled,onCheckedChange:S})}),e[15]=t.aiFocusEnabled,e[16]=S,e[17]=j):j=e[17];let M=String(t.aiFocusRefreshIntervalMs),N;e[18]===n?N=e[19]:(N=e=>{let t=Number(e);n(ue({refreshIntervalMs:t}))},e[18]=n,e[19]=N);let R;e[20]===t.aiFocusRefreshIntervalMs?R=e[21]:(R=le.find(e=>e.value===t.aiFocusRefreshIntervalMs)?.label??`Every 10 minutes`,e[20]=t.aiFocusRefreshIntervalMs,e[21]=R);let z;e[22]===R?z=e[23]:(z=(0,I.jsx)(T,{className:`w-48`,"aria-label":`AI Focus refresh interval`,children:(0,I.jsx)(C,{children:R})}),e[22]=R,e[23]=z);let B;e[24]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,I.jsx)(re,{align:`end`,alignItemWithTrigger:!1,children:le.map(ge)}),e[24]=B):B=e[24];let V;e[25]!==z||e[26]!==M||e[27]!==N?(V=(0,I.jsxs)(w,{value:M,onValueChange:N,children:[z,B]}),e[25]=z,e[26]=M,e[27]=N,e[28]=V):V=e[28];let H;e[29]===v?H=e[30]:(H=()=>void v(),e[29]=v,e[30]=H);let U=p?`size-4 animate-spin`:`size-4`,W;e[31]===U?W=e[32]:(W=(0,I.jsx)(oe,{className:U}),e[31]=U,e[32]=W);let G;e[33]!==p||e[34]!==H||e[35]!==W?(G=(0,I.jsx)(O,{size:`icon-sm`,variant:`outline`,"aria-label":`Refresh AI Focus now`,disabled:p,onClick:H,children:W}),e[33]=p,e[34]=H,e[35]=W,e[36]=G):G=e[36];let K;e[37]!==V||e[38]!==G?(K=(0,I.jsx)(A,{title:`Refresh rankings`,description:`Automatic checks use only nodes that are already connected. Manual-only never starts a connection.`,control:(0,I.jsxs)(`div`,{className:`flex items-center gap-2`,children:[V,G]})}),e[37]=V,e[38]=G,e[39]=K):K=e[39];let q;e[40]!==K||e[41]!==j?(q=(0,I.jsxs)(k,{title:`AI Focus`,icon:x,children:[j,K]}),e[40]=K,e[41]=j,e[42]=q):q=e[42];let J;e[43]===g?J=e[44]:(J=g.length>0?g.map(he):(0,I.jsx)(A,{title:`No environments available`,description:`Connect a node to configure its Inbox ranking model.`}),e[43]=g,e[44]=J);let Y;e[45]===J?Y=e[46]:(Y=(0,I.jsx)(k,{title:`Models`,children:J}),e[45]=J,e[46]=Y);let X;e[47]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,I.jsx)(ie,{className:`size-3.5`}),e[47]=X):X=e[47];let Z;e[48]===Symbol.for(`react.memo_cache_sentinel`)?(Z=(0,I.jsx)(`p`,{className:`mb-3 text-xs text-muted-foreground`,children:`Ranking sends only this bounded metadata from each environment. It does not send full chat history, file contents, or message responses.`}),e[48]=Z):Z=e[48];let Q;e[49]===Symbol.for(`react.memo_cache_sentinel`)?(Q=(0,I.jsx)(k,{title:`Data sent to the selected model`,icon:X,children:(0,I.jsxs)(`div`,{className:`px-5 py-4`,children:[Z,(0,I.jsx)(`ul`,{className:`grid gap-1.5 text-xs text-foreground/80 sm:grid-cols-2`,children:ce.map(me)})]})}),e[49]=Q):Q=e[49];let $;return e[50]!==q||e[51]!==Y||e[52]!==b?($=(0,I.jsxs)(se,{children:[b,q,Y,Q]}),e[50]=q,e[51]=Y,e[52]=b,e[53]=$):$=e[53],$}function me(e){return(0,I.jsxs)(`li`,{className:`flex gap-2`,children:[(0,I.jsx)(`span`,{"aria-hidden":!0,className:`text-muted-foreground`,children:`•`}),(0,I.jsx)(`span`,{children:e})]},e)}function he(e){return(0,I.jsx)(V,{row:e},e.environmentId)}function ge(e){return(0,I.jsx)(S,{hideIndicator:!0,value:String(e.value),children:e.label},e.value)}function _e(e){let[t,r]=e;return{environmentId:t,label:r.label,connected:h(t)!==null&&n(t).phase===`connected`,serverConfig:r.config}}function ve(e){return e.byId}export{H as AiFocusSettings};
@@ -1 +1 @@
1
- import{i as e,t}from"./react-SIfiwpqq.js";import{ia as n}from"./runtime-CA2W9mZ-.js";import{t as r}from"./compiler-runtime-qmuS0Svy.js";var i=r(),a=e(t(),1),o=n(),s=250;function c(e){let t=(0,i.c)(17),{children:n}=e,r=(0,a.useRef)(null),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c={height:null,isClipping:!1},t[0]=c):c=t[0];let[d,f]=(0,a.useState)(c),p;t[1]===d.isClipping?p=t[2]:(p=()=>{if(!d.isClipping)return;let e=window.setTimeout(()=>{f(u)},s);return()=>window.clearTimeout(e)},t[1]=d.isClipping,t[2]=p);let m;t[3]!==d.height||t[4]!==d.isClipping?(m=[d.height,d.isClipping],t[3]=d.height,t[4]=d.isClipping,t[5]=m):m=t[5],(0,a.useEffect)(p,m);let h,g;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>{let e=r.current;if(!e)return;let t=null,n=null,i=()=>{let t=Math.ceil(e.scrollHeight||e.getBoundingClientRect().height);f(e=>e.height===t?e:{height:t,isClipping:e.height!==null})},a=()=>{t!==null&&(window.cancelAnimationFrame(t),t=null),n!==null&&(window.cancelAnimationFrame(n),n=null)},o=()=>{a(),i(),t=window.requestAnimationFrame(()=>{t=null,i(),n=window.requestAnimationFrame(()=>{n=null,i()})})};o();let s=new ResizeObserver(o);return s.observe(e),()=>{s.disconnect(),a()}},g=[],t[6]=h,t[7]=g):(h=t[6],g=t[7]),(0,a.useLayoutEffect)(h,g);let _;t[8]!==d.height||t[9]!==d.isClipping?(_=d.height===null?void 0:{height:d.height,overflow:d.isClipping?`hidden`:`visible`},t[8]=d.height,t[9]=d.isClipping,t[10]=_):_=t[10];let v;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(v=e=>{e.target===e.currentTarget&&e.propertyName===`height`&&f(l)},t[11]=v):v=t[11];let y;t[12]===n?y=t[13]:(y=(0,o.jsx)(`div`,{ref:r,children:n}),t[12]=n,t[13]=y);let b;return t[14]!==_||t[15]!==y?(b=(0,o.jsx)(`div`,{"data-slot":`animated-height`,className:`transition-[height] duration-200 ease-out motion-reduce:transition-none`,style:_,onTransitionEnd:v,children:y}),t[14]=_,t[15]=y,t[16]=b):b=t[16],b}function l(e){return e.isClipping?{...e,isClipping:!1}:e}function u(e){return e.isClipping?{...e,isClipping:!1}:e}export{c as t};
1
+ import{i as e,t}from"./react-SIfiwpqq.js";import{ia as n}from"./runtime-L56puJDA.js";import{t as r}from"./compiler-runtime-qmuS0Svy.js";var i=r(),a=e(t(),1),o=n(),s=250;function c(e){let t=(0,i.c)(17),{children:n}=e,r=(0,a.useRef)(null),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c={height:null,isClipping:!1},t[0]=c):c=t[0];let[d,f]=(0,a.useState)(c),p;t[1]===d.isClipping?p=t[2]:(p=()=>{if(!d.isClipping)return;let e=window.setTimeout(()=>{f(u)},s);return()=>window.clearTimeout(e)},t[1]=d.isClipping,t[2]=p);let m;t[3]!==d.height||t[4]!==d.isClipping?(m=[d.height,d.isClipping],t[3]=d.height,t[4]=d.isClipping,t[5]=m):m=t[5],(0,a.useEffect)(p,m);let h,g;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>{let e=r.current;if(!e)return;let t=null,n=null,i=()=>{let t=Math.ceil(e.scrollHeight||e.getBoundingClientRect().height);f(e=>e.height===t?e:{height:t,isClipping:e.height!==null})},a=()=>{t!==null&&(window.cancelAnimationFrame(t),t=null),n!==null&&(window.cancelAnimationFrame(n),n=null)},o=()=>{a(),i(),t=window.requestAnimationFrame(()=>{t=null,i(),n=window.requestAnimationFrame(()=>{n=null,i()})})};o();let s=new ResizeObserver(o);return s.observe(e),()=>{s.disconnect(),a()}},g=[],t[6]=h,t[7]=g):(h=t[6],g=t[7]),(0,a.useLayoutEffect)(h,g);let _;t[8]!==d.height||t[9]!==d.isClipping?(_=d.height===null?void 0:{height:d.height,overflow:d.isClipping?`hidden`:`visible`},t[8]=d.height,t[9]=d.isClipping,t[10]=_):_=t[10];let v;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(v=e=>{e.target===e.currentTarget&&e.propertyName===`height`&&f(l)},t[11]=v):v=t[11];let y;t[12]===n?y=t[13]:(y=(0,o.jsx)(`div`,{ref:r,children:n}),t[12]=n,t[13]=y);let b;return t[14]!==_||t[15]!==y?(b=(0,o.jsx)(`div`,{"data-slot":`animated-height`,className:`transition-[height] duration-200 ease-out motion-reduce:transition-none`,style:_,onTransitionEnd:v,children:y}),t[14]=_,t[15]=y,t[16]=b):b=t[16],b}function l(e){return e.isClipping?{...e,isClipping:!1}:e}function u(e){return e.isClipping?{...e,isClipping:!1}:e}export{c as t};