ryco-cli 0.1.19 → 0.1.21

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 (202) hide show
  1. package/dist/{AcpNativeLogging-BnzQt9go.mjs → AcpNativeLogging-Ch-s9nA8.mjs} +182 -2
  2. package/dist/{AcpNativeLogging-sb_DOSyg.cjs → AcpNativeLogging-D54V5cIY.cjs} +187 -1
  3. package/dist/{AzureDevOpsSourceControlProvider-BHtgXept.cjs → AzureDevOpsSourceControlProvider-BzB5-N9m.cjs} +2 -2
  4. package/dist/{AzureDevOpsSourceControlProvider-B_rxsveN.mjs → AzureDevOpsSourceControlProvider-DTOlXGyd.mjs} +2 -2
  5. package/dist/{BitbucketSourceControlProvider-CAQf4Kv7.cjs → BitbucketSourceControlProvider-D-8PWXO3.cjs} +2 -2
  6. package/dist/{BitbucketSourceControlProvider-BMaa5G9E.mjs → BitbucketSourceControlProvider-DGd4IPx5.mjs} +2 -2
  7. package/dist/{ClaudeDriver-QCXWLMlT.mjs → ClaudeDriver-DxowtK6I.mjs} +2 -2
  8. package/dist/{ClaudeDriver-DfPigB1i.cjs → ClaudeDriver-HEbUzW34.cjs} +2 -2
  9. package/dist/{CodexDriver-pMXV4cdE.mjs → CodexDriver-CccSWoP3.mjs} +3 -3
  10. package/dist/{CodexDriver-BTZDfSTo.cjs → CodexDriver-YG4IwzLm.cjs} +3 -3
  11. package/dist/{CodexTextGeneration-ES8U6XFV.mjs → CodexTextGeneration-BfGt7ZUe.mjs} +1 -1
  12. package/dist/{CodexTextGeneration-BNKVkvo9.cjs → CodexTextGeneration-CBJHkgOz.cjs} +1 -1
  13. package/dist/{CopilotDriver-BCNHWlcE.cjs → CopilotDriver-Bm4OZMkm.cjs} +3 -3
  14. package/dist/{CopilotDriver-B313kdfE.mjs → CopilotDriver-DZAW-7yV.mjs} +3 -3
  15. package/dist/{CursorDriver-DtCq_M54.mjs → CursorDriver-B4jb4rWd.mjs} +14 -3
  16. package/dist/{CursorDriver-BOFTf_G1.cjs → CursorDriver-CYcKAkUY.cjs} +14 -3
  17. package/dist/{ForgejoSourceControlProvider-Xx8gP9mV.cjs → ForgejoSourceControlProvider-CXUevO6C.cjs} +2 -2
  18. package/dist/{ForgejoSourceControlProvider-BjJmvo0h.mjs → ForgejoSourceControlProvider-Dfi8KH7I.mjs} +2 -2
  19. package/dist/{GitHubSourceControlProvider-CwSuSyD7.mjs → GitHubSourceControlProvider-BH97aNa0.mjs} +2 -2
  20. package/dist/{GitHubSourceControlProvider-oFASPn98.cjs → GitHubSourceControlProvider-DOs1ouvp.cjs} +2 -2
  21. package/dist/{GitLabSourceControlProvider-CfCdfJ4C.cjs → GitLabSourceControlProvider-CfbE6GYD.cjs} +2 -2
  22. package/dist/{GitLabSourceControlProvider-BzOAAREX.mjs → GitLabSourceControlProvider-nIzcy9AJ.mjs} +2 -2
  23. package/dist/{GrokDriver-CU16uh8w.cjs → GrokDriver-C35gWEiw.cjs} +14 -3
  24. package/dist/{GrokDriver-4ZUx36Bj.mjs → GrokDriver-CENrrqQc.mjs} +14 -3
  25. package/dist/{OpenCodeDriver-CmoacKRC.mjs → OpenCodeDriver-BIxSPI9J.mjs} +105 -23
  26. package/dist/{OpenCodeDriver-B9Hxfodu.cjs → OpenCodeDriver-CHuQ6Xhc.cjs} +105 -23
  27. package/dist/{SourceControlProviderDiscoveryCatalog-DZrf3FFb.cjs → SourceControlProviderDiscoveryCatalog-DCmYsPEa.cjs} +1 -1
  28. package/dist/{SourceControlProviderDiscoveryCatalog-G0HUTo-t.mjs → SourceControlProviderDiscoveryCatalog-DaRgCE5d.mjs} +1 -1
  29. package/dist/bin.cjs +6158 -5045
  30. package/dist/bin.mjs +6148 -5035
  31. package/dist/client/assets/AccountSettings--RGb4Xyh.js +1 -0
  32. package/dist/client/assets/{AiFocusSettings-3u1skSAb.js → AiFocusSettings-BnGcbAMj.js} +1 -1
  33. package/dist/client/assets/{AnimatedHeight-Dhoy_tmE.js → AnimatedHeight-xBldRJT_.js} +1 -1
  34. package/dist/client/assets/{AppearanceSettings-BR5lbrLN.js → AppearanceSettings-BZRfC5N0.js} +1 -1
  35. package/dist/client/assets/{BranchToolbar.logic-Dmwakdqj.js → BranchToolbar.logic-CGpYXkLE.js} +1 -1
  36. package/dist/client/assets/{ChatRightPanel-DkOGSrAn.js → ChatRightPanel-BlooofmF.js} +9 -9
  37. package/dist/client/assets/{ChatThreadRouteView-CGYYcrsI.js → ChatThreadRouteView-B28bv4Zt.js} +1 -1
  38. package/dist/client/assets/CommandPaletteDialog-hNEraTe2.js +1 -0
  39. package/dist/client/assets/{CompositeItem-qhfO5Blk.js → CompositeItem-CKY4wPzb.js} +1 -1
  40. package/dist/client/assets/{CompositeRoot-CXp9th_F.js → CompositeRoot-Ds7U4w5S.js} +1 -1
  41. package/dist/client/assets/ConnectionsSettings-C4VqR67L.js +7 -0
  42. package/dist/client/assets/{DiagnosticsSettings-Ci3rPY6t.js → DiagnosticsSettings-ByZ42-mW.js} +1 -1
  43. package/dist/client/assets/{DialogHandle-Bx9yEeA_.js → DialogHandle-BdmgCiER.js} +1 -1
  44. package/dist/client/assets/{DialogPopup-DXniIm-O.js → DialogPopup-D6m8w7-0.js} +1 -1
  45. package/dist/client/assets/DialogRoot-BnE2_J9j.js +1 -0
  46. package/dist/client/assets/{DialogTitle-_K4jB_gk.js → DialogTitle-DFkPQ5wa.js} +1 -1
  47. package/dist/client/assets/{DialogTrigger-Dqu3mivf.js → DialogTrigger-CTCt2xVs.js} +1 -1
  48. package/dist/client/assets/{DialogViewport-D732iUV7.js → DialogViewport-OqbNjTEg.js} +1 -1
  49. package/dist/client/assets/{DraftChatThreadRouteView-Dywv4CEn.js → DraftChatThreadRouteView-B_4VVh8J.js} +1 -1
  50. package/dist/client/assets/{ExternalIdentityWeb.logic-CS0uWMYD.js → ExternalIdentityWeb.logic-TXvkTDG8.js} +1 -1
  51. package/dist/client/assets/{GlassSurface-DvC0rFwP.js → GlassSurface-k7VAG7Dp.js} +1 -1
  52. package/dist/client/assets/HostedConnectionControls-D0YyFVVm.js +1 -0
  53. package/dist/client/assets/HostedHubRoot-gr9o6h-w.js +1 -0
  54. package/dist/client/assets/{HostedNativeAuthorizationRoute-A5gRE9XG.js → HostedNativeAuthorizationRoute-DQy7gPHg.js} +1 -1
  55. package/dist/client/assets/HostedRelayTrustNotice-DtiCe1oF.js +1 -0
  56. package/dist/client/assets/{Icons-D3hxyIhB.js → Icons-BHigZ6eO.js} +1 -1
  57. package/dist/client/assets/{IntegrationsSettingsPanel-C84xzXbm.js → IntegrationsSettingsPanel-RgmTIo_4.js} +1 -1
  58. package/dist/client/assets/{KeybindingsSettings-Ch3AQ6Q-.js → KeybindingsSettings-2J94301x.js} +1 -1
  59. package/dist/client/assets/{McpServersSettings-9gaMeIPz.js → McpServersSettings-Cpzyop0g.js} +1 -1
  60. package/dist/client/assets/{MobileSheet-CyXRW17C.js → MobileSheet-5RNq1fWV.js} +1 -1
  61. package/dist/client/assets/{NewWorktreeDialog-CkhG-yS2.js → NewWorktreeDialog-BE_53fbt.js} +1 -1
  62. package/dist/client/assets/{NoActiveThreadState-BLcjrUMm.js → NoActiveThreadState-Cpar0wiW.js} +1 -1
  63. package/dist/client/assets/NodeSecuritySettings-BpZYwf5z.js +1 -0
  64. package/dist/client/assets/{OpinionatedPluginsSettings-Dh6Ymfc-.js → OpinionatedPluginsSettings-CLbbw_K_.js} +1 -1
  65. package/dist/client/assets/{PhoneGetAppInterstitial-BP2XMKHP.js → PhoneGetAppInterstitial-G1mx30Rm.js} +1 -1
  66. package/dist/client/assets/{PhoneGetAppInterstitialBackdrop-B0rZOvB2.js → PhoneGetAppInterstitialBackdrop-nfP93au3.js} +1 -1
  67. package/dist/client/assets/PhoneHome-D24dskaK.js +1 -0
  68. package/dist/client/assets/{PhoneSettingsSurface-kXeokfgI.js → PhoneSettingsSurface-DU6QcRMa.js} +1 -1
  69. package/dist/client/assets/{ProjectFavicon-BcX_Ec0T.js → ProjectFavicon-DiAvCEOv.js} +1 -1
  70. package/dist/client/assets/ProviderModelPicker-KKoDIb0I.js +1 -0
  71. package/dist/client/assets/{ProviderUpdateLaunchNotification.logic-BdeBHnT4.js → ProviderUpdateLaunchNotification.logic-BWOy8LJG.js} +1 -1
  72. package/dist/client/assets/{ProvidersSettingsPanel-m1r_skHL.js → ProvidersSettingsPanel-Cotp9jkx.js} +1 -1
  73. package/dist/client/assets/{RedactedSensitiveText-D7gjFW0p.js → RedactedSensitiveText-Bijn-7t0.js} +1 -1
  74. package/dist/client/assets/{RootAppShell-dI1nMiVY.js → RootAppShell-BPFAVRor.js} +3 -3
  75. package/dist/client/assets/{RycoLetterMark-JQr1uxZT.js → RycoLetterMark-DDqdXSCR.js} +1 -1
  76. package/dist/client/assets/{SettingsDialog-CHOdPMdL.js → SettingsDialog-C1pQqIpt.js} +1 -1
  77. package/dist/client/assets/{SettingsPanels-B2k-6Ehb.js → SettingsPanels-_z4Xw8vV.js} +1 -1
  78. package/dist/client/assets/{SettingsPanels.editor-DvS8npAI.js → SettingsPanels.editor-CFrJ6eJl.js} +1 -1
  79. package/dist/client/assets/{SourceControlSettings-CokcENz_.js → SourceControlSettings-aZXtdyQJ.js} +1 -1
  80. package/dist/client/assets/{StatisticsPage-TN6yaBa1.js → StatisticsPage-DLxnsLkl.js} +1 -1
  81. package/dist/client/assets/{StatisticsPanel-BKw4XkjR.js → StatisticsPanel-CZng52aF.js} +1 -1
  82. package/dist/client/assets/{StatisticsSettingsLink-tBTypC6v.js → StatisticsSettingsLink-BswiD6v1.js} +1 -1
  83. package/dist/client/assets/{ThreadStatusIndicators-Zvgn04Dn.js → ThreadStatusIndicators-Dg7ByO0t.js} +0 -0
  84. package/dist/client/assets/{ThreadTerminalDrawer-BI6ku1uz.js → ThreadTerminalDrawer-ro03rSMk.js} +1 -1
  85. package/dist/client/assets/{ThreadWorkspacePanel-DwaK2nc1.js → ThreadWorkspacePanel-j_muuK0U.js} +1 -1
  86. package/dist/client/assets/{ToolbarRootContext-BXZDNd0W.js → ToolbarRootContext-gBA5VTsh.js} +1 -1
  87. package/dist/client/assets/{WorkItemsTab-Cxn1bSXE.js → WorkItemsTab-CBbr_lPX.js} +4 -4
  88. package/dist/client/assets/{alert-DzagxL5z.js → alert-DM55UBFJ.js} +1 -1
  89. package/dist/client/assets/{alert-dialog-CQaNXuTj.js → alert-dialog-t0tth9lg.js} +1 -1
  90. package/dist/client/assets/authorization-jiPI8hG1.js +1 -0
  91. package/dist/client/assets/{badge-C5_ROuZu.js → badge-DUe5V2Mj.js} +1 -1
  92. package/dist/client/assets/{branding-BBkacezg.js → branding-31Bj-8ZC.js} +1 -1
  93. package/dist/client/assets/{button-84K7n2wA.js → button-BdUaa4U1.js} +1 -1
  94. package/dist/client/assets/{capabilities-D1zCmMpy.js → capabilities-DQDkV1US.js} +1 -1
  95. package/dist/client/assets/{chatThreadActions-VKH852R7.js → chatThreadActions-3VwZmcuQ.js} +1 -1
  96. package/dist/client/assets/{collapsible-BSEa-ORB.js → collapsible-BmAgbTeN.js} +1 -1
  97. package/dist/client/assets/{command-C_cBoAjK.js → command-8YtR6jmS.js} +1 -1
  98. package/dist/client/assets/composerDraftStore-Bz5WIZBE.js +11 -0
  99. package/dist/client/assets/{data-list-D98sJjJQ.js → data-list-D7UF_rKC.js} +1 -1
  100. package/dist/client/assets/{desktopUpdateAtoms-B8Szv6by.js → desktopUpdateAtoms-D_GMRE2r.js} +1 -1
  101. package/dist/client/assets/{desktopWorkspace-V4qpyp0M.js → desktopWorkspace-Dg6EeBlb.js} +1 -1
  102. package/dist/client/assets/{device-CNHT_o2u.js → device-DlExHdp_.js} +1 -1
  103. package/dist/client/assets/{dialog-ekyTdmtN.js → dialog-B0sUgnpe.js} +1 -1
  104. package/dist/client/assets/{draft-input-BzdYQSqp.js → draft-input-CljKajxE.js} +1 -1
  105. package/dist/client/assets/{editorPreferences-n_SEOStx.js → editorPreferences-B3qgjPa6.js} +1 -1
  106. package/dist/client/assets/{empty-Bo-8VHEg.js → empty-D5W-VFFg.js} +1 -1
  107. package/dist/client/assets/{env-Clz4p9nL.js → env-3rzMJf1D.js} +1 -1
  108. package/dist/client/assets/{getPseudoElementBounds-2BN7VP7X.js → getPseudoElementBounds-BAmGtfzA.js} +1 -1
  109. package/dist/client/assets/{group-NJVrmJK2.js → group-BQB2fHcw.js} +1 -1
  110. package/dist/client/assets/{index-D4BJ8pQ9.js → index-CQJvt69U.js} +2 -2
  111. package/dist/client/assets/{input-Zumpn45a.js → input-5Gxk32uP.js} +1 -1
  112. package/dist/client/assets/{kbd-BmI1rkHM.js → kbd-B4HCyWpi.js} +1 -1
  113. package/dist/client/assets/{keybindings-uuaAI71h.js → keybindings-DCgzArdM.js} +1 -1
  114. package/dist/client/assets/{label-DYSChiPa.js → label-CaZNWVUA.js} +1 -1
  115. package/dist/client/assets/{lib-BHW_qN3R.js → lib-B7pkMeOn.js} +1 -1
  116. package/dist/client/assets/{logging-Bj9aNa1i.js → logging-B1VrUJXw.js} +1 -1
  117. package/dist/client/assets/{main-YXgtRMJq.js → main-BPfnkW0F.js} +2 -2
  118. package/dist/client/assets/main-DspUYA0Y.css +2 -0
  119. package/dist/client/assets/{menu-DNSzJ_Xt.js → menu-C9Z3D_7l.js} +1 -1
  120. package/dist/client/assets/{popover-CN-oXBGi.js → popover-CCz2VJor.js} +1 -1
  121. package/dist/client/assets/primary-BMsRfh2b.js +2 -0
  122. package/dist/client/assets/{projectPaths-Da79jKxq.js → projectPaths-C7IGaRXO.js} +1 -1
  123. package/dist/client/assets/{providerDriverMeta-C5Ifsitu.js → providerDriverMeta-CgWTJ9AV.js} +1 -1
  124. package/dist/client/assets/{providerIconUtils-DzYW2dg3.js → providerIconUtils-DKIWQBl_.js} +1 -1
  125. package/dist/client/assets/providerInstances-DTwJD7w4.js +1 -0
  126. package/dist/client/assets/providerModels-DTwJD7w4.js +1 -0
  127. package/dist/client/assets/{qr-code-LEPl28s1.js → qr-code-BPTdK_Fr.js} +1 -1
  128. package/dist/client/assets/{radio-group-DUiKilPu.js → radio-group-2REtGBUc.js} +1 -1
  129. package/dist/client/assets/{resolveAriaLabelledBy-zZ8aBV0g.js → resolveAriaLabelledBy-CPzaFh9Q.js} +1 -1
  130. package/dist/client/assets/{rightPanelRouteSearch-BvTNRdcl.js → rightPanelRouteSearch-Cv7sQjf8.js} +1 -1
  131. package/dist/client/assets/runtime-DAfYpzw4.js +1 -0
  132. package/dist/client/assets/{scroll-area-CBSY6ISs.js → scroll-area-BsYcpnWD.js} +1 -1
  133. package/dist/client/assets/{scrollEdges-q2Ioxety.js → scrollEdges-CUJFIJBP.js} +1 -1
  134. package/dist/client/assets/{select-CY7KGJfs.js → select-zInJ5G5C.js} +1 -1
  135. package/dist/client/assets/{separator-BhDQoah6.js → separator-CsdeZPxC.js} +1 -1
  136. package/dist/client/assets/{session-logic-yjU32k5M.js → session-logic-CjEpVbpM.js} +4 -2
  137. package/dist/client/assets/{settingsDialogStore-3FuA919f.js → settingsDialogStore-B7yUTgbo.js} +1 -1
  138. package/dist/client/assets/{settingsLayout-Bdb0BKqT.js → settingsLayout-7JR7nC6x.js} +1 -1
  139. package/dist/client/assets/{sheet-CAyuCkkv.js → sheet-CLd8wqAA.js} +1 -1
  140. package/dist/client/assets/{sidebar-BJtWwdvq.js → sidebar-BliCAaUG.js} +1 -1
  141. package/dist/client/assets/{sidebarProjectFolders-alWDQ6Ua.js → sidebarProjectFolders-ScxWbdTn.js} +1 -1
  142. package/dist/client/assets/{sidebarStatusText-CFZFs_GL.js → sidebarStatusText-WiaEF1ae.js} +1 -1
  143. package/dist/client/assets/{skeleton-DVOyUeDB.js → skeleton-B_qDqbso.js} +1 -1
  144. package/dist/client/assets/{spinner-QltLJ3rj.js → spinner-BlCG_0jN.js} +1 -1
  145. package/dist/client/assets/src-Chx4ffXH.js +14 -0
  146. package/dist/client/assets/storeSelectors-Of4FM0vM.js +1 -0
  147. package/dist/client/assets/{switch-Buq6cQMX.js → switch-DUT5lUyk.js} +1 -1
  148. package/dist/client/assets/{terminal-links-B5riX-FI.js → terminal-links-Bxew8m4Q.js} +1 -1
  149. package/dist/client/assets/{textarea-oR-QEhm-.js → textarea-C5eyaBI3.js} +1 -1
  150. package/dist/client/assets/{threadPinning-DTdgSmd6.js → threadPinning-B8un4fjx.js} +1 -1
  151. package/dist/client/assets/{threadPriorityRefreshRuntime-C9_hY5A-.js → threadPriorityRefreshRuntime-Cgjn5Y-7.js} +1 -1
  152. package/dist/client/assets/{toast-ClkUrsPP.js → toast-X_O6OBAx.js} +1 -1
  153. package/dist/client/assets/{toggle-CFeFFpQ7.js → toggle-P-wZyQFO.js} +1 -1
  154. package/dist/client/assets/{toggle-group-DTpGnsyn.js → toggle-group-Du7zfd4_.js} +1 -1
  155. package/dist/client/assets/{tooltip-C0IyzT7d.js → tooltip-D_i-87PL.js} +1 -1
  156. package/dist/client/assets/types-Of4FM0vM.js +1 -0
  157. package/dist/client/assets/{uiStateStore-77JarUWB.js → uiStateStore-UUXKrPLz.js} +1 -1
  158. package/dist/client/assets/{useAtlassian-CCX2YMMO.js → useAtlassian-BPNtoDXL.js} +0 -0
  159. package/dist/client/assets/{useButton-DqpJ6e75.js → useButton-D8BjCVb-.js} +1 -1
  160. package/dist/client/assets/{useCompositeListItem-Dsvm-5fB.js → useCompositeListItem-BHuxHR8U.js} +1 -1
  161. package/dist/client/assets/{useDebouncedValue-CEauJPrh.js → useDebouncedValue-D2-9M4Tq.js} +1 -1
  162. package/dist/client/assets/{useFloatingRootContext-6_Jqtexa.js → useFloatingRootContext-CTdmlYcf.js} +1 -1
  163. package/dist/client/assets/useHandleNewThread-YGjWitl4.js +1 -0
  164. package/dist/client/assets/{useLabelableId-C6SFj1V_.js → useLabelableId-LInf_Egz.js} +1 -1
  165. package/dist/client/assets/{useLocation-B6GbzsxV.js → useLocation-3zGT25DO.js} +1 -1
  166. package/dist/client/assets/{useOpenInteractionType-Dz3FMr9X.js → useOpenInteractionType-BPthQeg6.js} +1 -1
  167. package/dist/client/assets/{usePhoneThreadActions-CCCWjAtp.js → usePhoneThreadActions-D_Z29f6p.js} +1 -1
  168. package/dist/client/assets/{usePopupViewport-BlA5mlIJ.js → usePopupViewport-BErrsN0k.js} +1 -1
  169. package/dist/client/assets/{useScrollLock-DfvnGWSO.js → useScrollLock-CLyJPg7p.js} +1 -1
  170. package/dist/client/assets/{useStatistics-Cm_ww9Q5.js → useStatistics-BQkcb-1_.js} +1 -1
  171. package/dist/client/assets/{useSwipeDismiss-DTX51-vs.js → useSwipeDismiss-DjMT1XiU.js} +1 -1
  172. package/dist/client/assets/{useThreadActions-BQRfXVVz.js → useThreadActions-ISbVGkmx.js} +1 -1
  173. package/dist/client/assets/{useTriggerFocusGuards-9BE2fzWh.js → useTriggerFocusGuards-DwOHWbrB.js} +1 -1
  174. package/dist/client/assets/{useValueChanged-BLrOCH_k.js → useValueChanged-Bq39JB8D.js} +1 -1
  175. package/dist/client/assets/{utils-CjMKiqw4.js → utils-BFbDkTQq.js} +1 -1
  176. package/dist/client/index.html +1 -1
  177. package/dist/{collectUint8StreamText-CJEzr0MN.cjs → collectUint8StreamText-C5fop6Zf.cjs} +443 -143
  178. package/dist/{collectUint8StreamText-BIOBnIzb.mjs → collectUint8StreamText-D8TBiBWk.mjs} +414 -144
  179. package/dist/{makeManagedServerProvider-CkLRh_mS.cjs → makeManagedServerProvider-BytnBN6b.cjs} +1 -1
  180. package/dist/{makeManagedServerProvider-CMwrPtKm.mjs → makeManagedServerProvider-DRlNwlhe.mjs} +1 -1
  181. package/package.json +1 -1
  182. package/dist/client/assets/AccountSettings-CTztI8Bi.js +0 -1
  183. package/dist/client/assets/CommandPaletteDialog-XNiKnBBc.js +0 -1
  184. package/dist/client/assets/ConnectionsSettings-BY3ddbHV.js +0 -7
  185. package/dist/client/assets/DialogRoot-Bk6gBQ5V.js +0 -1
  186. package/dist/client/assets/HostedConnectionControls-BvTKuCi3.js +0 -1
  187. package/dist/client/assets/HostedHubRoot-CP5muHrF.js +0 -1
  188. package/dist/client/assets/HostedRelayTrustNotice-DJHB-hdG.js +0 -1
  189. package/dist/client/assets/NodeSecuritySettings-CfDwptzi.js +0 -1
  190. package/dist/client/assets/PhoneHome-Cx7nMLqo.js +0 -1
  191. package/dist/client/assets/ProviderModelPicker-0XHZhfEq.js +0 -1
  192. package/dist/client/assets/authorization-D3QNaV6E.js +0 -1
  193. package/dist/client/assets/composerDraftStore-DM8BJvHt.js +0 -11
  194. package/dist/client/assets/main-CgLLEwXi.css +0 -2
  195. package/dist/client/assets/primary-DjvrcOzR.js +0 -2
  196. package/dist/client/assets/providerInstances-DuEFgB4d.js +0 -1
  197. package/dist/client/assets/providerModels-DuEFgB4d.js +0 -1
  198. package/dist/client/assets/runtime-rC2k29TW.js +0 -1
  199. package/dist/client/assets/src-DUTt1PTH.js +0 -14
  200. package/dist/client/assets/storeSelectors-9DTss3Bt.js +0 -1
  201. package/dist/client/assets/types-9DTss3Bt.js +0 -1
  202. package/dist/client/assets/useHandleNewThread-Cqmf_d8K.js +0 -1
@@ -0,0 +1 @@
1
+ import{i as e,n as t,r as n,t as r}from"./react-SIfiwpqq.js";import{t as i}from"./compiler-runtime-qmuS0Svy.js";import{_ as a,g as o,h as s,l as c,n as l,p as u,t as d,u as f,y as p}from"./env-3rzMJf1D.js";import{$l as m,$o as h,$s as g,Ai as _,Al as v,Ao as y,Ba as b,Bc as x,Bl as S,Bo as C,C as w,Cs as T,Dc as ee,Dl as E,Ec as D,Eo as te,Es as ne,Fa as re,Fi as ie,Fl as ae,Gc as oe,Gi as se,Gr as ce,Gs as le,H as ue,Hc as O,Ho as de,Hr as fe,Ia as pe,Ic as me,Il as he,Io as ge,Jc as _e,Jl as ve,Ka as ye,Ki as be,Kl as xe,Ks as Se,Lc as Ce,Ll as we,Lo as Te,Lr as Ee,Ls as De,Ma as Oe,Mi as ke,Ml as Ae,Mo as je,Na as Me,Ni as k,Nl as Ne,Oc as Pe,Ol as Fe,Os as Ie,Pa as Le,Pc as Re,Pi as ze,Qa as Be,Qc as Ve,Ql as He,R as Ue,Ra as We,Rc as Ge,Ri as Ke,Rl as qe,Ro as Je,Rr as Ye,Sc as Xe,T as Ze,Ta as Qe,Tc as $e,Ts as et,U as tt,Ui as nt,Uo as rt,Ur as it,Va as at,Vc as ot,Vl as st,Vr as ct,Vs as lt,W as ut,Wr as dt,Ws as ft,Xa as pt,Xl as mt,Ya as ht,Yc as gt,Yr as _t,Ys as vt,Za as yt,Zi as bt,Zl as xt,Zr as St,Zs as Ct,_c as wt,_i as Tt,_l as Et,_s as Dt,aa as Ot,al as kt,ao as At,bl as jt,bs as Mt,ci as Nt,cl as Pt,cs as Ft,da as It,dl as Lt,do as Rt,ei as zt,eo as Bt,fa as Vt,fc as Ht,fi as Ut,fl as Wt,fo as Gt,gl as Kt,go as qt,gs as Jt,hl as Yt,ho as Xt,io as Zt,iu as Qt,ja as $t,ji as en,jo as tn,js as nn,k as rn,kl as an,ko as on,ks as sn,lc as cn,ll as ln,lo as un,ls as dn,ma as fn,mo as pn,ms as mn,no as hn,nu as gn,os as _n,ou as vn,pa as yn,qa as bn,qi as xn,ql as Sn,qs as Cn,ra as wn,ri as Tn,ru as En,si as Dn,so as On,ss as A,st as kn,t as An,tl as jn,to as Mn,tu as j,ua as Nn,uo as Pn,ut as Fn,vc as In,vl as Ln,vo as Rn,vs as zn,wc as Bn,wo as Vn,ws as Hn,xc as Un,xi as Wn,xl as Gn,xo as Kn,xs as qn,y as Jn,yi as Yn,yl as Xn,ys as Zn,za as Qn,zi as $n,zr as er,zs as tr}from"./src-Chx4ffXH.js";import{$ as nr,$t as rr,B as ir,Bt as ar,Ct as or,Et as sr,Ft as M,G as cr,Gt as lr,H as ur,Ht as dr,It as fr,J as pr,Jt as mr,K as hr,Kt as gr,L as _r,Lt as vr,Nt as yr,Pt as br,Q as xr,Qt as Sr,Rt as Cr,St as wr,Tt as Tr,Ut as Er,V as Dr,Vt as Or,W as kr,Wt as Ar,Xt as jr,Y as Mr,Yt as Nr,Z as Pr,Zt as Fr,an as N,at as Ir,bt as Lr,cn as Rr,ct as zr,dn as Br,en as P,ft as Vr,in as Hr,it as Ur,jt as Wr,ln as Gr,mt as Kr,n as qr,nn as Jr,nt as Yr,o as Xr,on as Zr,ot as Qr,pt as $r,q as ei,qt as ti,r as ni,rn as ri,rt as ii,sn as ai,st as oi,tn as F,tt as si,un as ci,ut as li,vt as ui,w as di,wt as fi,xt as pi,yt as mi,zt as hi}from"./primary-BMsRfh2b.js";import{Bt as gi,Ct as _i,It as vi,Lt as yi,Mt as bi,Rt as xi,_t as Si,bt as Ci,gt as wi,i as Ti,n as Ei,nt as Di,r as Oi,rt as ki,vt as Ai,zt as ji}from"./composerDraftStore-Bz5WIZBE.js";import{t as Mi}from"./pairingUrl-rQM9kSGT.js";import{n as Ni,t as Pi}from"./visibilityPolling-BwzZdaSN.js";import{i as Fi}from"./branding-31Bj-8ZC.js";import{a as Ii,n as Li,r as Ri}from"./perfInstrumentation-BT27w4tn.js";import{A as zi,B as Bi,C as Vi,D as Hi,E as Ui,F as Wi,G as Gi,H as Ki,I as qi,J as Ji,K as Yi,L as Xi,M as Zi,N as Qi,O as $i,P as ea,Q as ta,R as na,S as ra,T as ia,U as aa,V as oa,W as sa,X as ca,Y as la,_ as ua,a as da,at as fa,c as pa,ct as ma,d as ha,dt as ga,f as _a,ft as va,g as ya,h as ba,ht as xa,it as Sa,j as Ca,k as wa,l as Ta,lt as Ea,m as Da,mt as Oa,o as ka,ot as Aa,p as ja,pt as Ma,q as Na,rt as Pa,s as I,st as Fa,tt as Ia,u as La,ut as Ra,w as za,x as Ba,z as Va}from"./authorization-jiPI8hG1.js";import{t as Ha}from"./presentationTier-xlIjcFab.js";import{r as Ua}from"./hostedPairing-PogXRAb7.js";import{t as Wa}from"./settingsDialogStore-B7yUTgbo.js";import{i as Ga}from"./uiStateStore-UUXKrPLz.js";var L=e(r(),1),Ka=he,qa=Bn,Ja=globalThis.Number,Ya=e=>{if(e===`NaN`)return Gn(NaN);if(e===`Infinity`)return Gn(1/0);if(e===`-Infinity`)return Gn(-1/0);if(e.trim()===``)return jt();let t=Ja(e);return Ja.isNaN(t)?jt():Gn(t)};function Xa(e){return{_tag:`Value`,value:e}}function Za(e,t){return{_tag:`Record`,keys:e,value:t}}function Qa(e,t){return{_tag:`Array`,length:e,value:t}}De(`SourceError`);var $a=ot(`effect/ConfigProvider`,{defaultValue:()=>so()}),eo={...E,toJSON(){return{_id:`ConfigProvider`}}},to=e=>e;function no(e,t){let n=Object.create(eo);return n.load=e,n.mapInput=t,n}function ro(e,t){return no(n=>e(t(n)),n=>ro(e,gn(t,n)))}function io(e){return ro(e,to)}function ao(e,t){return e===``&&!t?void 0:e}function oo(e,t){let n=t?.preserveEmptyStrings===!0,r=co(e);return io(t=>A(uo(r,e,t,n)))}function so(e){return oo(e?.env??{APP_VERSION:`0.1.21`,BASE_URL:`/`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,TSS_INLINE_CSS_ENABLED:`false`,VITE_HOSTED_APP_URL:``,VITE_HTTP_URL:``,VITE_RYCO_CLIENT_MODE:`standard`,VITE_RYCO_MOBILE_APP_URL:``,VITE_RYCO_PHONE_APP_INTERSTITIAL:`disabled`,VITE_WS_URL:``},{preserveEmptyStrings:e?.preserveEmptyStrings})}function co(e){let t={};for(let[n,r]of Object.entries(e)){if(r===void 0)continue;let e=n.split(`_`),i=t;for(let t of e){let e=i.children??=Object.create(null);i=e[t]??={}}}return t}var lo=/^(0|[1-9][0-9]*)$/;function uo(e,t,n,r){let i=n.map(String).join(`_`),a=ao(Object.hasOwn(t,i)?t[i]:void 0,r),o=fo(e,n),s=o?.children?Object.keys(o.children):[];return s.length===0?a===void 0?void 0:Xa(a):s.every(e=>lo.test(e))?Qa(Math.max(...s.map(e=>parseInt(e,10)))+1,a):Za(new Set(s),a)}function fo(e,t){if(t.length===0)return e;let n=e;for(let e of t)if(n=n?.children?.[String(e)],!n)return;return n}var po=`~effect/Config`,mo=class{_tag=`ConfigError`;name=`ConfigError`;cause;constructor(e){this.cause=e}get message(){return this.cause.toString()}toString(){return`ConfigError(${this.message})`}},ho={...gt({label:`Config`,evaluate(e){return this.parse(e.getRef($a))}}),[po]:po,toJSON(){return{_id:`Config`}}};function go(e){let t=Object.create(ho);return t.evaluator=e,t.parse=t=>e(t,[]).pipe(tn(e=>e.error),Gt(e=>e._tag===`Resolved`?A(e.value):un(e.error))),t}var _o=(e,t)=>({_tag:`Resolved`,value:e,hasInput:t}),vo=e=>({_tag:`Absent`,error:e}),yo=(e,t)=>({error:e,hasInput:t}),bo=e=>mt(e,`SourceError`),xo=(e,t)=>e.pipe(Mn(e=>bo(e)?un(yo(new mo(e),t)):On(e))),So=()=>`<configuration>`,Co=(e,t)=>e.load(t).pipe(Te,y(n=>({provider:e,path:t,node:n,toString:So}))),wo=(e,t)=>Co(e.provider,[...e.path,t]),To=e=>e?.value,Eo=(e,t)=>Oe(Le,e,new re(at(e=>t(e)),Qn())),Do=e=>{switch(e._tag){case`Union`:return e.types.every(Do);case`Objects`:case`Arrays`:case`Suspend`:return!1;default:return!0}},Oo=(e,t)=>{switch(e._tag){case`Objects`:return t?._tag===`Record`;case`Arrays`:return t?._tag===`Array`;case`Union`:return e.types.some(e=>Oo(e,t));case`Suspend`:return Oo(e.thunk(),t);default:return To(t)!==void 0}},ko=Qt(e=>{let t=new WeakSet,n=$t(e=>{switch(t.add(e),e._tag){case`Objects`:{let t=e.indexSignatures.map(e=>yn(e.parameter)),r=pn(function*(n){if(n.node?._tag!==`Record`)return;let r=n.node,i=new Set;for(let t of e.propertySignatures)typeof t.name==`string`&&i.add(t.name);if(t.length>0)for(let e of r.keys)t.some(t=>t(e))&&i.add(e);let a={};for(let e of i){let t=yield*wo(n,e);t.node!==void 0&&ae(a,e,t)}return a});return Eo(e.recur(n,e=>e),r)}case`Arrays`:{let t=pn(function*(e){if(e.node?._tag!==`Array`)return;let t=[];for(let n=0;n<e.node.length;n++)t.push(yield*wo(e,n));return t});return Eo(e.recur(n),t)}case`Union`:for(let t of e.types)n(t);return Do(e)?Eo(e,e=>A(To(e.node))):e.recur(n);case`Suspend`:{let r=e.thunk();return t.has(r)||n(r),e.recur(n)}case`Declaration`:case`Any`:throw new globalThis.Error(`Config.schema does not support opaque StringTree encodings`,{cause:e});default:return Eo(e,e=>A(To(e.node)))}});return n(e)});function Ao(e,t){let n=Nn(e),r=Me(n.ast),i=fn(wn(ko(n.ast))),a=typeof t==`string`?[t]:t??[];return go((e,t)=>{let n=[...t,...a];return xo(Co(e,n),!1).pipe(Gt(e=>{let t=Oo(r,e.node);return xo(i(e).pipe(y(e=>_o(e,t)),hn(e=>{let r=new mo(new It(n.length>0?new bn(n,e):e));return t?un(yo(r,!0)):A(vo(r))})),t)}))})}var jo=(e,t,n)=>{let r=ke(e,t),i=pe(n),a=k.pipe(nt(Nn(r),{decode:i.decode,encode:Qn({strict:!1}).compose(i.encode)}));return $n([r,a])};function Mo(e){return Ao(k,e)}function No(){return{executionCount:0,isPending:!1,lastArgs:void 0,lastExecutionTime:0,nextExecutionTime:0,status:`idle`,maybeExecuteCount:0}}var Po={enabled:!0,leading:!0,trailing:!0,wait:0},Fo=class{#e;constructor(e,t){this.fn=e,this.store=new ji(No()),this.setOptions=e=>{this.options={...this.options,...e},this.#n()||this.cancel()},this.#t=e=>{this.store.setState(t=>{let n={...t,...e},{isPending:r}=n;return{...n,status:this.#n()?r?`pending`:`idle`:`disabled`}}),yi(`Throttler`,this)},this.#n=()=>!!gi(this.options.enabled,this),this.#r=()=>gi(this.options.wait,this),this.maybeExecute=(...e)=>{this.#t({maybeExecuteCount:this.store.state.maybeExecuteCount+1});let t=Date.now(),n=t-this.store.state.lastExecutionTime,r=this.#r();if(this.options.leading&&n>=r)this.#i(...e);else if(this.#t({lastArgs:e}),!this.#e&&this.options.trailing){let e=r-(this.store.state.lastExecutionTime?t-this.store.state.lastExecutionTime:0);this.#t({isPending:!0}),this.#e=setTimeout(()=>{let{lastArgs:e}=this.store.state;e!==void 0&&this.#i(...e)},e)}},this.#i=(...e)=>{if(!this.#n())return;this.fn(...e);let t=Date.now(),n=t+this.#r();this.#a(),this.#t({executionCount:this.store.state.executionCount+1,lastExecutionTime:t,nextExecutionTime:n,isPending:!1,lastArgs:void 0}),this.options.onExecute?.(e,this),setTimeout(()=>{this.store.state.isPending||this.#t({nextExecutionTime:void 0})},this.#r())},this.flush=()=>{this.store.state.isPending&&this.store.state.lastArgs&&this.#i(...this.store.state.lastArgs)},this.#a=()=>{this.#e&&=(clearTimeout(this.#e),void 0)},this.cancel=()=>{this.#a(),this.#t({lastArgs:void 0,isPending:!1})},this.reset=()=>{this.#t(No())},this.key=t.key,this.options={...Po,...t},this.#t(this.options.initialState??{}),this.key&&xi.on(`d-Throttler`,e=>{e.payload.key===this.key&&(this.#t(e.payload.store.state),this.setOptions(e.payload.options))})}#t;#n;#r;#i;#a},Io=t((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,S||(S=!0,D());else{var t=n(l);t!==null&&re(x,t.startTime-e)}}}var S=!1,C=-1,w=5,T=-1;function ee(){return g?!0:!(e.unstable_now()-T<w)}function E(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&ee());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&re(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}}}finally{i?D():S=!1}}}var D;if(typeof y==`function`)D=function(){y(E)};else if(typeof MessageChannel<`u`){var te=new MessageChannel,ne=te.port2;te.port1.onmessage=E,D=function(){ne.postMessage(null)}}else D=function(){_(E,0)};function re(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,re(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,D()))),r},e.unstable_shouldYield=ee,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),Lo=t(((e,t)=>{t.exports=Io()})),Ro=e(Lo(),1);function zo(e){let t=Ro.unstable_scheduleCallback(4,e);return()=>Ro.unstable_cancelCallback(t)}var Bo=L.createContext(Zr({scheduleTask:zo,defaultIdleTTL:400})),Vo=new WeakMap;function Ho(e,t){let n=Vo.get(e);n===void 0&&(n=new WeakMap,Vo.set(e,n));let r=n.get(t);if(r!==void 0)return r;let i={subscribe(n){return e.subscribe(t,n)},snapshot(){return e.get(t)},getServerSnapshot(){return rr(t,e)}};return n.set(t,i),i}function Uo(e,t){let n=Ho(e,t);return L.useSyncExternalStore(n.subscribe,n.snapshot,n.getServerSnapshot)}var Wo=(e,t)=>{let n=L.useContext(Bo);return t?Uo(n,L.useMemo(()=>Jr(e,t),[e,t])):Uo(n,e)},Go=(e,t,n)=>{let r=L.useContext(Bo);L.useEffect(()=>r.subscribe(e,t,n),[r,e,t,n?.immediate])},Ko=`~effect/http/UrlParams`,qo=e=>Sn(e,Ko),Jo={...E,[Ko]:Ko,[Symbol.iterator](){return this.params[Symbol.iterator]()},toJSON(){return{_id:`UrlParams`,params:Object.fromEntries(this.params)}},[S](e){return Qo(this,e)},[xe](){return st(this.params.flat())}},Yo=e=>{let t=Object.create(Jo);return t.params=e,t},Xo=e=>{if(qo(e))return e;let t=Zo(e),n=[];for(let e=0;e<t.length;e++)if(Array.isArray(t[e][0])){let[r,i]=t[e];n.push([`${r[0]}[${r.slice(1).join(`][`)}]`,i])}else n.push(t[e]);return Yo(n)},Zo=e=>{let t=typeof e[Symbol.iterator]==`function`?Ve(e):Object.entries(e),n=[];for(let[e,r]of t)if(Array.isArray(r))for(let t=0;t<r.length;t++)r[t]!==void 0&&n.push([e,String(r[t])]);else if(typeof r==`object`){let t=Zo(r);for(let[r,i]of t)n.push([[e,...typeof r==`string`?[r]:r],i])}else r!==void 0&&n.push([e,String(r)]);return n},Qo=we((e,t)=>$o(e.params,t.params)),$o=jn(Ka([qe(),qe()])),es=Yo([]),ts=j(2,(e,t)=>{let n=Xo(t),r=n.params,i=new Set;for(let e=0;e<r.length;e++)i.add(r[e][0]);for(let t=0;t<e.params.length;t++)i.has(e.params[t][0])||r.push(e.params[t]);return n}),ns=`~effect/http/HttpBody`;De(`HttpBodyError`);var rs=class{[ns];constructor(){this[ns]=ns}[v](){return this.toJSON()}toString(){return Ae(this,{ignoreToString:!0})}},is=new class extends rs{_tag=`Empty`;toJSON(){return{_id:`effect/HttpBody`,_tag:`Empty`}}},as=class extends rs{_tag=`Uint8Array`;body;contentType;contentLength;constructor(e,t,n){super(),this.body=e,this.contentType=t,this.contentLength=n}toJSON(){return{_id:`effect/HttpBody`,_tag:`Uint8Array`,body:this.contentType.startsWith(`text/`)||this.contentType.endsWith(`json`)?new TextDecoder().decode(this.body):`Uint8Array(${this.body.length})`,contentType:this.contentType,contentLength:this.contentLength}}},os=(e,t)=>new as(e,t??`application/octet-stream`,e.length),ss=new TextEncoder,cs=(e,t)=>os(ss.encode(e),t??`text/plain`),ls=(e,t)=>cs(JSON.stringify(e),t??`application/json`),us=`~effect/http/Cookies`,ds=`~effect/http/Cookies/Cookie`;De(`CookieError`);var fs={[us]:us,...Fe,toJSON(){return{_id:`effect/Cookies`,cookies:u(this.cookies,e=>e.toJSON())}},pipe(){return vn(this,arguments)}},ps=e=>{let t=Object.create(fs);return t.cookies=e,t},ms=e=>{let t={};for(let n of e)ae(t,n.name,n);return ps(t)},hs=e=>{let t=typeof e==`string`?[e]:e,n=[];for(let e of t){let t=gs(e.trim());t&&n.push(t)}return ms(n)};function gs(e){let t=e.split(`;`).map(e=>e.trim()).filter(e=>e!==``);if(t.length===0)return;let n=t[0].indexOf(`=`);if(n===-1)return;let r=t[0].slice(0,n);if(!_s.test(r))return;let i=t[0].slice(n+1),a=ys(i);if(t.length===1)return Object.assign(Object.create(vs),{name:r,value:a,valueEncoded:i});let o={};for(let e=1;e<t.length;e++){let n=t[e],r=n.indexOf(`=`),i=r===-1?n:n.slice(0,r).trim(),a=r===-1?void 0:n.slice(r+1).trim();switch(i.toLowerCase()){case`domain`:{if(a===void 0)break;let e=a.trim().replace(/^\./,``);e&&(o.domain=e);break}case`expires`:{if(a===void 0)break;let e=new Date(a);isNaN(e.getTime())||(o.expires=e);break}case`max-age`:{if(a===void 0)break;let e=parseInt(a,10);isNaN(e)||(o.maxAge=Ge(e));break}case`path`:if(a===void 0)break;a[0]===`/`&&(o.path=a);break;case`priority`:if(a===void 0)break;switch(a.toLowerCase()){case`low`:o.priority=`low`;break;case`medium`:o.priority=`medium`;break;case`high`:o.priority=`high`}break;case`httponly`:o.httpOnly=!0;break;case`secure`:o.secure=!0;break;case`partitioned`:o.partitioned=!0;break;case`samesite`:if(a===void 0)break;switch(a.toLowerCase()){case`lax`:o.sameSite=`lax`;break;case`strict`:o.sameSite=`strict`;break;case`none`:o.sameSite=`none`}}}return Object.assign(Object.create(vs),{name:r,value:a,valueEncoded:i,options:Object.keys(o).length>0?o:void 0})}var _s=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,vs={[ds]:ds,...Fe,toJSON(){return{_id:`effect/Cookies/Cookie`,name:this.name,value:this.value,options:this.options}}},ys=e=>{try{return decodeURIComponent(e)}catch{return e}},bs=[[`GET`,`get`],[`POST`,`post`],[`PUT`,`put`],[`DELETE`,`del`],[`PATCH`,`patch`],[`HEAD`,`head`],[`OPTIONS`,`options`],[`TRACE`,`trace`]],xs=(e,t)=>t._tag===`Empty`||t._tag===`FormData`?dr(dr(e,`content-type`),`content-length`):(e=t.contentType===void 0?dr(e,`content-type`):Er(e,`content-type`,t.contentType),t.contentLength===void 0?dr(e,`content-length`):Er(e,`content-length`,t.contentLength.toString())),Ss=class extends De(`UrlError`){},Cs=(e,t,n)=>Pt({try:()=>{let r=new URL(e,ws());for(let e=0;e<t.params.length;e++){let[n,i]=t.params[e];i!==void 0&&r.searchParams.append(n,i)}return n!==void 0&&(r.hash=n),r},catch:e=>new Ss({cause:e})}),ws=()=>{if(`location`in globalThis&&globalThis.location!==void 0&&globalThis.location.origin!==void 0&&globalThis.location.pathname!==void 0)return location.origin+location.pathname},Ts=`~effect/http/HttpClientRequest`,Es={[Ts]:Ts,...Fe,toJSON(){return{_id:`HttpClientRequest`,method:this.method,url:this.url,urlParams:this.urlParams,hash:this.hash,headers:Ne(this.headers),body:this.body.toJSON()}},pipe(){return vn(this,arguments)}};function Ds(e,t,n,r,i,a){let o=Object.create(Es);return o.method=e,o.url=t,o.urlParams=n,o.hash=r,o.headers=i,o.body=a,o}var Os=Ds(`GET`,``,es,jt(),vr,is),ks=e=>(t,n)=>js(Os,{method:e,url:t,...n??void 0}),As=ks(`POST`),js=j(2,(e,t)=>{let n=e;return t.method&&(n=Ms(n,t.method)),t.url&&(n=Ls(n,t.url)),t.headers&&(n=Ps(n,t.headers)),t.urlParams&&(n=Rs(n,t.urlParams)),t.hash&&(n=zs(n,t.hash)),t.body&&(n=Bs(n,t.body)),t.accept&&(n=Fs(n,t.accept)),t.acceptJson&&(n=Is(n)),n}),Ms=j(2,(e,t)=>Ds(t,e.url,e.urlParams,e.hash,e.headers,e.body)),Ns=j(3,(e,t,n)=>Ds(e.method,e.url,e.urlParams,e.hash,Er(e.headers,t,n),e.body)),Ps=j(2,(e,t)=>Ds(e.method,e.url,e.urlParams,e.hash,Ar(e.headers,t),e.body)),Fs=j(2,(e,t)=>Ns(e,`Accept`,t)),Is=Fs(`application/json`),Ls=j(2,(e,t)=>{if(typeof t==`string`)return Ds(e.method,t,e.urlParams,e.hash,e.headers,e.body);let n=new URL(t.toString()),r=Xo(n.searchParams),i=Lt(n.hash===``?void 0:n.hash.slice(1));return n.search=``,n.hash=``,Ds(e.method,n.toString(),r,i,e.headers,e.body)}),Rs=j(2,(e,t)=>Ds(e.method,e.url,ts(e.urlParams,t),e.hash,e.headers,e.body)),zs=j(2,(e,t)=>Ds(e.method,e.url,e.urlParams,Gn(t),e.headers,e.body)),Bs=j(2,(e,t)=>Ds(e.method,e.url,e.urlParams,e.hash,xs(e.headers,t),t)),Vs=`~effect/http/HttpIncomingMessage`,Hs=(e,t)=>{let n=e.headers[`content-type`]??``,r;if(n.includes(`application/json`))try{r=h(e.json)}catch{}else if(n.includes(`text/`)||n.includes(`urlencoded`))try{r=h(e.text)}catch{}let i={...t,headers:Ne(e.headers),remoteAddress:e.remoteAddress};return r!==void 0&&(i.body=r),i},Us=`~effect/http/HttpClientResponse`,Ws=(e,t)=>new Ks(e,t),Gs=e=>e.status>=200&&e.status<300?A(e):un(new ti({reason:new Nr({response:e,request:e.request,description:`non 2xx status code`})})),Ks=class extends an{[Vs];[Us];request;source;constructor(e,t){super(),this.request=e,this.source=t,this[Vs]=Vs,this[Us]=Us}toJSON(){return Hs(this,{_id:`HttpClientResponse`,request:this.request.toJSON(),status:this.status})}get status(){return this.source.status}get headers(){return Cr(this.source.headers)}cachedCookies;get cookies(){return this.cachedCookies?this.cachedCookies:this.cachedCookies=hs(this.source.headers.getSetCookie())}get remoteAddress(){return jt()}get stream(){return this.source.body?Ut({evaluate:()=>this.source.body,onError:e=>new ti({reason:new lr({request:this.request,response:this,cause:e})})}):Nt(new ti({reason:new gr({request:this.request,response:this,description:`can not create stream from empty body`})}))}get json(){return Rt(this.text,e=>Dt({try:()=>e===``?null:JSON.parse(e),catch:e=>new ti({reason:new lr({request:this.request,response:this,cause:e})})}))}textBody;get text(){return this.textBody??=on(this.arrayBuffer,e=>new TextDecoder().decode(e))}get urlParamsBody(){return Rt(this.text,e=>Dt({try:()=>Xo(new URLSearchParams(e)),catch:e=>new ti({reason:new lr({request:this.request,response:this,cause:e})})}))}formDataBody;get formData(){return this.formDataBody??=Jt({try:()=>this.source.formData(),catch:e=>new ti({reason:new lr({request:this.request,response:this,cause:e})})}).pipe(Be,h)}arrayBufferBody;get arrayBuffer(){return this.arrayBufferBody||=Jt({try:()=>this.source.arrayBuffer(),catch:e=>new ti({reason:new lr({request:this.request,response:this,cause:e})})}).pipe(Be,h),this.arrayBufferBody}pipe(){return vn(this,arguments)}},qs=e=>hi({b3:`${e.traceId}-${e.spanId}-${e.sampled?`1`:`0`}${Xn(e.parent,{onNone:()=>``,onSome:e=>`-${e.spanId}`})}`,traceparent:`00-${e.traceId}-${e.spanId}-${e.sampled?`01`:`00`}`}),Js=`~effect/http/HttpClient`,Ys=O(`effect/HttpClient`),Xs=j(2,(e,t)=>Qs(n=>t(e.postprocess(n)),e.preprocess)),Zs=Xs(Rt(Gs)),Qs=(e,t)=>{let n=Object.create($s);return n.preprocess=t,n.postprocess=e,n.execute=function(n){return e(t(n))},n},$s={[Js]:Js,pipe(){return vn(this,arguments)},...Fe,toJSON(){return{_id:`effect/HttpClient`}},...Object.fromEntries(bs.map(([e,t])=>[t,function(t,n){return this.execute(ks(e)(t,n))}]))},ec=e=>Qs(t=>Rt(t,t=>T(n=>{let r=cc.get(t),i=r??new AbortController,a=Cs(t.url,t.urlParams,Yt(t.hash));if(kt(a))return un(new ti({reason:new mr({request:t,cause:a.failure})}));let o=a.success;if(n.getRef($e)||n.getRef(nc)(t)){let a=e(t,o,i.signal,n);return r?a:zn(e=>je(e(a),{onSuccess(e){return sc.register(e,i),A(new lc(e,i))},onFailure(e){return wt(e)&&i.abort(),Pn(e)}}))}return Mt(n.getRef(ac)(t),{kind:`client`},a=>{a.attribute(`http.request.method`,t.method),a.attribute(`server.address`,o.origin),o.port!==``&&a.attribute(`server.port`,+o.port),a.attribute(`url.full`,o.toString()),a.attribute(`url.path`,o.pathname),a.attribute(`url.scheme`,o.protocol.slice(0,-1));let s=o.search.slice(1);s!==``&&a.attribute(`url.query`,s);let c=n.getRef(fr),l=n.getRef(rc),u=Or(t.headers,c);for(let e in u)l(e,`request`)&&a.attribute(`http.request.header.${e}`,String(u[e]));return t=n.getRef(ic)?Ps(t,qs(a)):t,zn(s=>s(e(t,o,i.signal,n)).pipe(Hn(a,{captureStackTrace:!1}),je({onSuccess:e=>{a.attribute(`http.response.status_code`,e.status);let t=Or(e.headers,c);for(let e in t)l(e,`response`)&&a.attribute(`http.response.header.${e}`,String(t[e]));return r?A(e):(sc.register(e,i),A(new lc(e,i)))},onFailure(e){return!r&&wt(e)&&i.abort(),Pn(e)}})))})})),A),tc=j(2,(e,t)=>{let n=sn(t),r=n?`errors-and-responses`:t.retryOn??`errors-and-responses`,i=n?t:t.schedule,a=i&&nn(i),o=n?void 0:t.times;return Xs(e,gn(r===`errors-only`?En:de({schedule:a,times:o,while:fc}),r===`response-only`?En:rt({while:n||t.while===void 0?uc:xt(uc,t.while),schedule:i,times:o})))}),nc=ot(`effect/http/HttpClient/TracerDisabledWhen`,{defaultValue:()=>He}),rc=ot(`effect/http/HttpClient/TracerHeaderFilter`,{defaultValue:()=>m}),ic=ot(`effect/HttpClient/TracerPropagationEnabled`,{defaultValue:m}),ac=ot(`effect/http/HttpClient/SpanNameGenerator`,{defaultValue:()=>e=>`http.client ${e.method}`}),oc=e=>tr(Ys)(At(t=>on(e,e=>Xs(e,Zn(e=>_e(t,e)))))),sc=(()=>{if(`FinalizationRegistry`in globalThis&&globalThis.FinalizationRegistry){let e=new FinalizationRegistry(e=>{e.abort()});return{register(t,n){e.register(t,n,t)},unregister(t){e.unregister(t)}}}let e=new Map;return{register(t,n){e.set(t,setTimeout(()=>n.abort(),5e3))},unregister(t){let n=e.get(t);n!==void 0&&(clearTimeout(n),e.delete(t))}}})(),cc=new WeakMap,lc=class{original;controller;constructor(e,t){this.original=e,this.controller=t}[Us]=Us;[Vs]=Vs;applyInterrupt(e){return Ft(()=>(sc.unregister(this.original),ge(e,()=>dn(()=>{this.controller.abort()}))))}get request(){return this.original.request}get status(){return this.original.status}get headers(){return this.original.headers}get cookies(){return this.original.cookies}get remoteAddress(){return this.original.remoteAddress}get formData(){return this.applyInterrupt(this.original.formData)}get text(){return this.applyInterrupt(this.original.text)}get json(){return this.applyInterrupt(this.original.json)}get urlParamsBody(){return this.applyInterrupt(this.original.urlParamsBody)}get arrayBuffer(){return this.applyInterrupt(this.original.arrayBuffer)}get stream(){return Tt(()=>(sc.unregister(this.original),Dn(this.original.stream,dn(()=>{this.controller.abort()}))))}toJSON(){return this.original.toJSON()}[v](){return this.original[v]()}pipe(){return vn(this,arguments)}},uc=e=>Un(e)||dc(e),dc=e=>Fr(e)&&(e.reason._tag===`TransportError`||e.reason._tag===`StatusCodeError`&&fc(e.reason.response)),fc=e=>e.status===408||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504;function pc(e,t){let n=e.length,r=e.reduce((e,t)=>e+t.retainedBytes,0),i=()=>n<=t.maxEntries&&r<=t.maxBytes;if(i())return[];let a=[],o=e.filter(e=>e.evictable).toSorted((e,t)=>e.lastAccessedAt-t.lastAccessedAt);for(let e of o){if(i())break;a.push(e.key),--n,r=Math.max(0,r-e.retainedBytes)}return a}function mc(e){return{server:{refreshProviders:e.server.refreshProviders,updateProvider:e.server.updateProvider,getSettings:e.server.getSettings,updateSettings:e.server.updateSettings,upsertKeybinding:e.server.upsertKeybinding,getDiagnosticsSnapshot:e.server.getDiagnosticsSnapshot,discoverSourceControl:e.server.discoverSourceControl,listOpinionatedPlugins:e.server.listOpinionatedPlugins,checkOpinionatedPlugins:e.server.checkOpinionatedPlugins,installOpinionatedPlugin:e.server.installOpinionatedPlugin},...e.keybindings?{keybindings:{replaceCustom:e.keybindings.replaceCustom}}:{},...e.device?{device:e.device}:{},terminal:{open:t=>e.terminal.open(t),write:t=>e.terminal.write(t),resize:t=>e.terminal.resize(t),clear:t=>e.terminal.clear(t),restart:t=>e.terminal.restart(t),close:t=>e.terminal.close(t),onEvent:t=>e.terminal.onEvent(t)},projects:{listEntries:e.projects.listEntries,readFile:e.projects.readFile,readFileBinary:e.projects.readFileBinary,searchEntries:e.projects.searchEntries,writeFile:e.projects.writeFile,stageFileReference:e.projects.stageFileReference,initializeGit:e.projects.initializeGit},filesystem:{browse:e.filesystem.browse},sourceControl:{lookupRepository:e.sourceControl.lookupRepository,searchRepositories:e.sourceControl.searchRepositories,cloneRepository:e.sourceControl.cloneRepository,publishRepository:e.sourceControl.publishRepository},vcs:{pull:e.vcs.pull,refreshStatus:e.vcs.refreshStatus,onStatus:(t,n,r)=>e.vcs.onStatus(t,n,r),listRefs:e.vcs.listRefs,createWorktree:e.vcs.createWorktree,removeWorktree:e.vcs.removeWorktree,createRef:e.vcs.createRef,switchRef:e.vcs.switchRef,init:e.vcs.init},git:{runStackedAction:e.git.runStackedAction,resolvePullRequest:e.git.resolvePullRequest,preparePullRequestThread:e.git.preparePullRequestThread,createWorktreeForProject:e.git.createWorktreeForProject,findWorktreeForOrigin:e.git.findWorktreeForOrigin,archiveWorktree:e.git.archiveWorktree,restoreWorktree:e.git.restoreWorktree,deleteWorktree:e.git.deleteWorktree},...e.worktrees?{worktrees:{setManualPosition:e.worktrees.setManualPosition}}:{},...e.threads?{threads:{setManualBucket:e.threads.setManualBucket,setManualPosition:e.threads.setManualPosition}}:{},orchestration:{dispatchCommand:e.orchestration.dispatchCommand,getTurnDiff:e.orchestration.getTurnDiff,getWorkflowScript:e.orchestration.getWorkflowScript,getTaskOutput:e.orchestration.getTaskOutput,stopBackgroundTask:e.orchestration.stopBackgroundTask,getFullThreadDiff:e.orchestration.getFullThreadDiff,searchThreadMessages:e.orchestration.searchThreadMessages,...e.orchestration.getThreadWindow?{getThreadWindow:e.orchestration.getThreadWindow}:{},...e.orchestration.getThreadHistoryPage?{getThreadHistoryPage:e.orchestration.getThreadHistoryPage}:{},subscribeShell:(t,n)=>e.orchestration.subscribeShell(t,n),subscribeThread:(t,n,r)=>e.orchestration.subscribeThread(t,n,r),...e.orchestration.subscribeThreadWindow?{subscribeThreadWindow:(t,n,r)=>e.orchestration.subscribeThreadWindow(t,n,r)}:{}},contextHandoff:{getInspectionSummary:e.contextHandoff.getInspectionSummary,listInspectionEntries:e.contextHandoff.listInspectionEntries,readRawPayloadChunk:e.contextHandoff.readRawPayloadChunk,readExportChunk:e.contextHandoff.readExportChunk},mcp:{listWorkspaces:e.mcp.listWorkspaces,listServers:e.mcp.listServers,upsertServer:e.mcp.upsertServer,setServerEnabled:e.mcp.setServerEnabled,removeServer:e.mcp.removeServer,reloadServers:e.mcp.reloadServers,startOauthLogin:e.mcp.startOauthLogin},...e.agentControl?{agentControl:{listProposals:e.agentControl.listProposals,getProposal:e.agentControl.getProposal,acceptProposal:e.agentControl.acceptProposal,rejectProposal:e.agentControl.rejectProposal,subscribeProposals:e.agentControl.subscribeProposals,listIntegrations:e.agentControl.listIntegrations,createIntegration:e.agentControl.createIntegration,updateIntegration:e.agentControl.updateIntegration,resumeIntegrationPairing:e.agentControl.resumeIntegrationPairing,revokeIntegration:e.agentControl.revokeIntegration,deleteIntegration:e.agentControl.deleteIntegration,listMcpInstallations:e.agentControl.listMcpInstallations,connectMcpInstallation:e.agentControl.connectMcpInstallation,repairMcpInstallation:e.agentControl.repairMcpInstallation,disconnectMcpInstallation:e.agentControl.disconnectMcpInstallation}}:{}}}function hc(e){return{read:t=>{if(!e.canReadConnections()||!t)return;let n=e.readClient(t);return n?mc(n):void 0}}}function gc(e,t){if(e.sequence!==t.sequence)return e.sequence-t.sequence;let n=e.updatedAt??``,r=t.updatedAt??``;return n===r?0:n<r?-1:1}function _c(e){return{sequence:e.snapshotSequence,updatedAt:e.updatedAt}}function vc(e){if(e.current===null)return`newer`;let t=gc(e.current,_c(e.next));return t<0?`newer`:t===0?`current`:`stale`}function yc(e){return e.current===null||e.sequence>e.current.sequence}function bc(){let e=new Map;return{read:t=>e.get(t)??null,markSnapshot:(t,n)=>{let r=_c(n),i=e.get(t);(i===void 0||gc(i,r)<0)&&e.set(t,r)},markEvent:(t,n)=>{let r=e.get(t);(r===void 0||n>r.sequence)&&e.set(t,{sequence:n,updatedAt:r?.updatedAt??null})},clearEnvironment:t=>e.delete(t),clear:()=>e.clear()}}var xc=class extends Error{status;constructor(e,t){super(e),this.name=`RemoteEnvironmentAuthHttpError`,this.status=t}};function Sc(e){return e instanceof xc}function Cc(e,t){let n=new URL(e);return n.pathname=t,n.toString()}async function wc(e,t){let n=await e.text();if(!n)return t;try{let e=JSON.parse(n);if(typeof e.error==`string`&&e.error.length>0)return e.error}catch{}return n}async function Tc(e,t){let n=Cc(t.httpBaseUrl,t.pathname),r;try{r=await e.fetch(n,{method:t.method??`GET`,headers:{...t.body===void 0?{}:{"content-type":`application/json`},...t.bearerToken?{authorization:`Bearer ${t.bearerToken}`}:{}},...t.body===void 0?{}:{body:JSON.stringify(t.body)}})}catch(e){throw Error(`Failed to fetch remote auth endpoint ${n} (${e.message}).`,{cause:e})}if(!r.ok)throw new xc(await wc(r,`Remote auth request failed (${r.status}).`),r.status);return await r.json()}function Ec(e,t){return{bootstrapRemoteBearerSession:async t=>Tc(e,{httpBaseUrl:t.httpBaseUrl,pathname:`/api/auth/bootstrap/bearer`,method:`POST`,body:{credential:t.credential}}),fetchRemoteSessionState:async t=>Tc(e,{httpBaseUrl:t.httpBaseUrl,pathname:`/api/auth/session`,bearerToken:t.bearerToken}),fetchRemoteEnvironmentDescriptor:async t=>Tc(e,{httpBaseUrl:t.httpBaseUrl,pathname:`/.well-known/ryco/environment`}),issueRemoteWebSocketToken:async t=>Tc(e,{httpBaseUrl:t.httpBaseUrl,pathname:`/api/auth/ws-token`,method:`POST`,bearerToken:t.bearerToken}),resolveRemoteWebSocketConnectionUrl:async n=>{let r=await Tc(e,{httpBaseUrl:n.httpBaseUrl,pathname:`/api/auth/ws-token`,method:`POST`,bearerToken:n.bearerToken}),i=new URL(n.wsBaseUrl,t);return i.searchParams.set(`wsToken`,r.token),i.toString()}}}function Dc(e,t){let n=e.trim();if(!n)throw Error(`Enter a backend URL.`);let r=/^[a-zA-Z][a-zA-Z\d+-]*:\/\//.test(n)||n.startsWith(`//`)?n:`https://${n}`,i=new URL(r,t);return i.pathname=`/`,i.search=``,i.hash=``,i}function Oc(e){let t=new URL(e.toString());return t.protocol===`ws:`?t.protocol=`http:`:t.protocol===`wss:`&&(t.protocol=`https:`),t.pathname=`/`,t.search=``,t.hash=``,t.toString()}function kc(e){let t=new URL(e.toString());return t.protocol===`http:`?t.protocol=`ws:`:t.protocol===`https:`&&(t.protocol=`wss:`),t.pathname=`/`,t.search=``,t.hash=``,t.toString()}function Ac(e,t,n){let r=e.pairingUrl?.trim()??``;if(r.length>0){let e=new URL(r,t),i=n.readHostedPairingRequest(e);if(i){let e=Dc(i.host,t);return{credential:i.token,httpBaseUrl:Oc(e),wsBaseUrl:kc(e)}}let a=n.readPairingToken(e)??``;if(!a)throw Error(`Pairing URL is missing its token.`);return{credential:a,httpBaseUrl:Oc(e),wsBaseUrl:kc(e)}}let i=e.host?.trim()??``,a=e.pairingCode?.trim()??``;if(!i)throw Error(`Enter a backend URL.`);if(!a)throw Error(`Enter a pairing code.`);let o=Dc(i,t);return{credential:a,httpBaseUrl:Oc(o),wsBaseUrl:kc(o)}}function jc(e,t=new Set){return[...e].toSorted((e,n)=>{let r=t.has(e.environmentId);if(r!==t.has(n.environmentId))return r?-1:1;let i=e.lastConnectedAt??``,a=n.lastConnectedAt??``;return i===a?String(e.environmentId).localeCompare(String(n.environmentId)):a.localeCompare(i)})}async function Mc(e,t){let n=Math.max(1,Math.floor(t.concurrency)),r=[...e],i=Array.from({length:Math.min(n,r.length)},async()=>{for(;;){let e=r.shift();if(!e)return;await t.connect(e)}});await Promise.all(i)}function Nc(e){let t=new Map,n=new Map,r=e=>p(a(e.environmentId,e.threadId)),i=e=>t.get(r(e))??0,o=e=>{let n=i(e)+1;return t.set(r(e),n),n},s=e=>{t.set(r(e),i(e)+1)},c=t=>{let a=i(t.scope),s=`${r(t.scope)}:${a}:${t.requestKey}`,c=n.get(s);if(c)return c;let l=t.request.mode.kind===`before`?t.request.mode.cursor:`around:${t.request.mode.anchorId}`;e.setRequestState({...t.scope,collection:t.collection,status:`loading`,cursor:l,error:null});let u=e.request(t.scope.environmentId,t.request).then(n=>i(t.scope)===a?(e.apply(t.scope.environmentId,t.scope.threadId,n),e.setRequestState({...t.scope,collection:t.collection,status:`idle`,cursor:null,error:null}),n):null).catch(async n=>{let r=typeof n==`object`&&n?n:null;if(r?._tag===`OrchestrationThreadHistoryError`&&(r.reason===`stale-cursor`||r.reason===`invalid-cursor`||r.reason===`unsupported-version`)&&e.recoverStale&&i(t.scope)===a)try{return await e.recoverStale(t.scope),o(t.scope),null}catch(e){n=e}throw i(t.scope)===a&&e.setRequestState({...t.scope,collection:t.collection,status:`error`,cursor:l,error:n instanceof Error?n.message:String(n)}),n}).finally(()=>{n.get(s)===u&&n.delete(s)});return n.set(s,u),u};return{beginSnapshot:o,invalidate:s,clearEnvironment:e=>{for(let n of t.keys())n.startsWith(`${e}:`)&&t.delete(n)},loadBefore:({scope:e,collection:t,page:n,limit:r})=>!n.hasMoreBefore||n.oldestCursor===null?Promise.resolve(null):c({scope:e,collection:t,request:{threadId:e.threadId,collection:t,mode:{kind:`before`,cursor:n.oldestCursor},limit:r},requestKey:`${t}:before:${n.oldestCursor}:${r}`}),loadAroundMessage:({scope:e,anchorId:t,limit:n})=>c({scope:e,collection:`messages`,request:{threadId:e.threadId,collection:`messages`,mode:{kind:`around`,anchorId:t},limit:n},requestKey:`messages:around:${t}:${n}`})}}var R=()=>void 0,Pc=3e5,Fc=32,Ic=12582912,Lc=2e3,Rc=2500,zc=2,Bc=class extends Error{constructor(e){super(`Saved environment ${e} connection was cancelled.`),this.name=`SavedEnvironmentConnectionCancelledError`}};function Vc(e){let t=new Map,n=new Map,r=new Set,i=new Map,o=bc(),s=null,c=-1/0,l=()=>{for(let e of r)e();e.onRegistryChange?.()},u=(e,t)=>p(a(e,t)),d=e=>{try{return new TextEncoder().encode(JSON.stringify(e)).byteLength}catch{return 0}},f=(e,t)=>{e.estimatedRetainedBytes=d(t)},m=(e,t)=>{e.estimatedRetainedBytes=Math.min(Ic,e.estimatedRetainedBytes+d(t))},h=t=>{t.evictionTimeoutId!==null&&(e.clearTimeout(t.evictionTimeoutId),t.evictionTimeoutId=null)},g=t=>t.refCount===0&&!e.isThreadDetailSubscriptionNonIdle(t.environmentId,t.threadId),_=e=>(r.add(e),()=>r.delete(e)),v=e=>t.get(e)??null,y=e=>{let t=v(e);if(!t)throw Error(`No websocket client registered for environment ${e}.`);return t},b=Nc({request:(e,t)=>{let n=y(e).client.orchestration.getThreadHistoryPage;return n?n(t):Promise.reject(Error(`Thread history pagination is unavailable`))},apply:(t,n,r)=>{e.syncThreadHistoryPage?.(t,n,r);let a=i.get(u(t,n));a&&(m(a,r),w())},setRequestState:t=>e.setThreadHistoryRequestState?.(t),recoverStale:async t=>{let n=y(t.environmentId).client.orchestration.getThreadWindow;if(!n)throw Error(`Bounded thread history is unavailable`);let r=await n({threadId:t.threadId,limits:{messages:150,proposedPlans:30,activities:150,checkpoints:30}});e.syncThreadWindowSnapshot?e.syncThreadWindowSnapshot(t.environmentId,r):e.syncThreadDetailSnapshot(t.environmentId,r);let a=i.get(u(t.environmentId,t.threadId));a&&(f(a,r),w())}}),x=t=>{if(t.unsubscribeConnectionListener!==null&&(t.unsubscribeConnectionListener(),t.unsubscribeConnectionListener=null),t.unsubscribe!==R)return!0;let n=v(t.environmentId);if(!n)return!1;let r=!0,i=R,a={environmentId:t.environmentId,threadId:t.threadId},o=()=>{r&&(t.protocol=`legacy`,i(),i=n.client.orchestration.subscribeThread({threadId:t.threadId},n=>{if(n.kind===`snapshot`){b.beginSnapshot(a),f(t,n.snapshot),w(),e.syncThreadDetailSnapshot(t.environmentId,n.snapshot);return}m(t,n.event),w(),e.applyThreadDetailEvent(t.environmentId,n.event)}))};t.unsubscribe=()=>{r=!1,i()};let s=n.client.orchestration.subscribeThreadWindow;if(t.protocol===`legacy`||s===void 0)return o(),!0;let c=!1;return i=s({threadId:t.threadId,limits:{messages:150,proposedPlans:30,activities:150,checkpoints:30}},n=>{if(n.kind===`snapshot`){b.beginSnapshot(a),f(t,n.snapshot),w(),e.syncThreadWindowSnapshot?e.syncThreadWindowSnapshot(t.environmentId,n.snapshot):e.syncThreadDetailSnapshot(t.environmentId,n.snapshot);return}m(t,n.event),w(),e.applyThreadDetailEvent(t.environmentId,n.event)},{onError:()=>{c=!0,i!==R&&o()}}),c&&o(),!0},S=t=>{t.unsubscribeConnectionListener===null&&(t.unsubscribeConnectionListener=_(()=>{x(t)&&(t.lastAccessedAt=e.now())}),x(t))},C=e=>{let t=i.get(e);return t?(h(t),t.unsubscribeConnectionListener?.(),t.unsubscribeConnectionListener=null,i.delete(e),b.invalidate({environmentId:t.environmentId,threadId:t.threadId}),t.unsubscribe(),t.unsubscribe=R,!0):!1},w=()=>{let e=pc([...i.entries()].map(([e,t])=>({key:e,lastAccessedAt:t.lastAccessedAt,retainedBytes:t.estimatedRetainedBytes,evictable:g(t)})),{maxEntries:Fc,maxBytes:Ic});for(let t of e)C(t)},T=t=>{h(t),g(t)&&(t.evictionTimeoutId=e.setTimeout(()=>{let e=i.get(u(t.environmentId,t.threadId));e&&(e.evictionTimeoutId=null,g(e)&&C(u(e.environmentId,e.threadId)))},Pc))},ee=e=>{for(let t of i.values())t.environmentId===e&&T(t);w()},E=(e,t)=>{let n=i.get(u(e,t));n&&T(n)},D=(e,t)=>{let n=new Set(t);for(let[t,r]of i)r.environmentId===e&&!n.has(r.threadId)&&C(t)},te=e=>{let n=t.get(e.environmentId);if(n===e)return e;if(n&&n!==e)throw Error(`Environment ${e.environmentId} already has an active connection.`);t.set(e.environmentId,e);for(let t of i.values())t.environmentId===e.environmentId&&x(t);return l(),e},ne=async e=>{let n=t.get(e);if(!n)return!1;t.delete(e),o.clearEnvironment(e),b.clearEnvironment(e),l();for(let t of i.values())t.environmentId===e&&(t.unsubscribe(),t.unsubscribe=R,S(t));return await n.dispose(),!0},re=(t,n)=>{let r=u(t,n),a=i.get(r),o=a??{environmentId:t,threadId:n,unsubscribe:R,unsubscribeConnectionListener:null,refCount:0,lastAccessedAt:e.now(),evictionTimeoutId:null,protocol:`bounded`,estimatedRetainedBytes:0};a||i.set(r,o),h(o),o.refCount+=1,o.lastAccessedAt=e.now(),x(o)||S(o),a||w();let s=!1;return()=>{s||(s=!0,o.refCount=Math.max(0,o.refCount-1),o.lastAccessedAt=e.now(),o.refCount===0&&(T(o),w()))}},ie=e=>{for(let[t,n]of i)n.environmentId===e&&C(t)},ae=()=>{let t=e.createPrimaryConnection();if(!t)return null;let n=v(t.environmentId);return n?(n!==t&&t.dispose().catch(R),n):te(t)},oe=async e=>{let n=e?t.get(e):[...t.values()].find(e=>e.kind===`primary`);n?.kind===`primary`&&n&&await ne(n.environmentId).catch(()=>!1)},se=(e,t)=>{let r=v(e.environmentId);if(r)return Promise.resolve(r);let i=n.get(e.environmentId);if(i)return i.promise;let a={cancelled:!1,promise:Promise.resolve().then(async()=>{let n=await t(()=>a.cancelled);if(a.cancelled)throw await ne(n.environmentId).catch(()=>!1)||await n.dispose().catch(R),new Bc(e.environmentId);return n})};return n.set(e.environmentId,a),a.promise.finally(()=>{n.get(e.environmentId)===a&&n.delete(e.environmentId)})},ce=e=>{let t=n.get(e);t&&(t.cancelled=!0,n.delete(e))},le=(t,n)=>{if(!yc({current:o.read(n),sequence:t.sequence}))return;let r=e.stateSink.prepareShellEvent(n,t);e.stateSink.applyShellEvent(n,t),o.markEvent(n,t.sequence),e.stateSink.afterShellEventApplied(n,t,r)},ue=(t,n,r)=>{e.onShellSnapshotReceived(n);let i=vc({current:o.read(n),next:t});if(i===`current`){e.onShellSnapshotCurrent(n),r?.onCurrent();return}i!==`stale`&&(e.stateSink.syncServerShellSnapshot(n,t),e.onShellSnapshotApplied(n),o.markSnapshot(n,t),e.onShellSnapshotReady(n),r?.onReady(),D(n,t.threads.map(e=>e.id)),ee(n),e.stateSink.reconcileSnapshotDerivedState())},O=async()=>{let n=e.listSavedEnvironmentRecords(),r=new Set(n.map(e=>e.environmentId)),i=[...t.values()].filter(e=>e.kind===`saved`).map(e=>e.environmentId).filter(e=>!r.has(e));await Promise.all(i.map(t=>e.disconnectSavedEnvironment(t))),await e.waitForPrimaryShellSnapshotApplied(Rc),await Mc(jc(n),{concurrency:zc,connect:async t=>{await se(t,n=>e.connectSavedEnvironment(t,n)).catch(()=>void 0)}})},de=()=>{let e=null,t=!1,n=async()=>{do t=!1,await O();while(t)};return()=>e?(t=!0,e):(e=n().catch(()=>void 0).finally(()=>{e=null}),e)},fe=n=>{let r=e.now();if(!(r-c<Lc))for(let e of t.values())e.client.isHeartbeatFresh()||(c=r,e.reconnect().catch(t=>{console.warn(`Environment reconnect after browser resume failed`,{environmentId:e.environmentId,reason:n,error:t instanceof Error?t.message:String(t)})}))},pe=()=>{s?.stop(),s=null};return{subscribe:_,list:()=>[...t.values()],read:v,require:y,register:te,remove:ne,connectPrimary:ae,disconnectPrimary:oe,ensureSavedEnvironmentConnection:se,cancelPendingSavedEnvironmentConnection:ce,applyShellEvent:le,resetShellProjection:e=>o.clearEnvironment(e),syncShellSnapshot:ue,retainThreadDetailSubscription:re,disposeThreadDetailSubscriptionsForEnvironment:ie,disposeThreadDetailSubscription:(e,t)=>C(u(e,t)),reconcileThreadDetailSubscriptionEvictionForEnvironment:ee,reconcileThreadDetailSubscriptionEvictionForThread:E,reconcileThreadDetailSubscriptionsForEnvironment:D,evictIdleThreadDetailSubscriptionsToCapacity:w,loadOlderThreadHistory:({environmentId:e,threadId:t,collection:n,page:r,limit:i})=>b.loadBefore({scope:{environmentId:e,threadId:t},collection:n,page:r,limit:i}),loadThreadHistoryAroundMessage:({environmentId:e,threadId:t,messageId:n,limit:r})=>b.loadAroundMessage({scope:{environmentId:e,threadId:t},anchorId:n,limit:r}),start:()=>{if(s){let e=s;return e.refCount+=1,()=>{s===e&&(--e.refCount,e.refCount===0&&pe())}}pe(),e.resetProviderInvalidation();let t=e.createInvalidationThrottle(),n=de();ae();let r=e.isHostedMode()?R:e.subscribeSavedEnvironmentRegistry(()=>{e.hasSavedEnvironmentRegistryHydrated()&&n()});e.isHostedMode()||e.waitForSavedEnvironmentRegistryHydration().then(n).catch(R);let i=e.isHostedMode()?R:e.subscribeBrowserResume(fe),a={throttle:t,refCount:1,stop:()=>{r(),i(),t.cancel()}};return s=a,()=>{s===a&&(--a.refCount,a.refCount===0&&pe())}},requestProviderInvalidation:()=>{s?.throttle.maybeExecute()},resetForTests:async()=>{pe(),c=-1/0;for(let e of i.keys())C(e);await Promise.all([...t.keys()].map(e=>ne(e))),n.clear(),o.clear()}}}function Hc(e,t){if(!ve(e)||!ve(t))return t;let n={...e};for(let[e,r]of Object.entries(t)){if(r===void 0)continue;let t=n[e];n[e]=ve(t)&&ve(r)?Hc(t,r):r}return n}var Uc=We(e=>Dt({try:()=>{let t=e.replace(/("(?:[^"\\]|\\.)*")|\/\/[^\n]*/g,(e,t)=>t?e:``);return t=t.replace(/("(?:[^"\\]|\\.)*")|\/\*[\s\S]*?\*\//g,(e,t)=>t?e:``),t=t.replace(/,(\s*[}\]])/g,`$1`),Gn(JSON.parse(t))},catch:t=>new ye({message:String(t)},e)})),Wc=new re(Uc,b());(e=>k.pipe(nt(e,Wc)))(rn);function Gc(e){return!!(e&&(e.instanceId!==void 0||e.model!==void 0))}function Kc(e){if(e.patch===void 0)return e.current?[...e.current]:void 0;if(e.patch.length===0)return;let t=new Map((e.current??[]).map(e=>[e.id,e.value]));for(let n of e.patch)t.set(n.id,n.value);return[...t.entries()].map(([e,t])=>({id:e,value:t}))}function qc(e,t){let n=t.textGenerationModelSelection,r=Hc(e,t),i=t.providerInstances===void 0?r:{...r,providerInstances:t.providerInstances};if(!n)return i;let a=n.instanceId??e.textGenerationModelSelection.instanceId,o=n.model??e.textGenerationModelSelection.model,s=Gc(n)?n.options:Kc({current:e.textGenerationModelSelection.options,patch:n.options});return{...i,textGenerationModelSelection:_i(a,o,s)}}var Jc=i(),Yc=vi();function Xc(e){return e.requestedEnvironmentId??e.routedEnvironmentId??e.activeEnvironmentId??e.primaryEnvironmentId??null}var Zc=(0,L.createContext)(null);function Qc(e){let t=(0,Jc.c)(3),n;return t[0]!==e.children||t[1]!==e.value?(n=(0,Yc.jsx)(Zc.Provider,{value:e.value,children:e.children}),t[0]=e.children,t[1]=e.value,t[2]=n):n=t[2],n}function $c(){return(0,L.useContext)(Zc)}function el(e,t){let n=(0,L.useRef)(t);n.current=t,Go(e,(0,L.useCallback)(e=>{e!==null&&n.current(e)},[]),{immediate:!0})}function tl(){let e=Wo(oi),t=$c();return t?t.serverConfig:e}function nl(){let e=(0,Jc.c)(2),t=tl(),n;return e[0]===t?n=e[1]:(n=Qr(t),e[0]=t,e[1]=n),n}function rl(){let e=(0,Jc.c)(2),t=tl(),n;return e[0]===t?n=e[1]:(n=Ir(t),e[0]=t,e[1]=n),n}function il(){let e=(0,Jc.c)(2),t=tl(),n;return e[0]===t?n=e[1]:(n=Yr(t),e[0]=t,e[1]=n),n}function al(){let e=(0,Jc.c)(2),t=tl(),n;return e[0]===t?n=e[1]:(n=si(t),e[0]=t,e[1]=n),n}function ol(){let e=(0,Jc.c)(2),t=tl(),n;return e[0]===t?n=e[1]:(n=ii(t),e[0]=t,e[1]=n),n}function sl(){let e=(0,Jc.c)(2),t=tl(),n;return e[0]===t?n=e[1]:(n=Ur(t),e[0]=t,e[1]=n),n}function cl(e){el(li,e)}function ll(e){el(zr,e)}var ul=new Set,dl=new Set,fl=w,pl=!1,ml=null;function hl(){for(let e of ul)e()}function gl(){for(let e of dl)e()}function _l(){return fl}function vl(e){fl=e,hl()}function yl(){return pl}function bl(e){pl!==e&&(pl=e,gl())}function xl(e){return ul.add(e),()=>{ul.delete(e)}}function Sl(){return ml}function Cl(e){ml=e}function wl(e){ml===e&&(ml=null)}var Tl=`[CLIENT_SETTINGS]`;function El(e){let t=xl(e);return Dl(),t}async function Dl(){if(yl())return;let e=Sl();if(e)return e;let t=(async()=>{try{let e=await Ip().persistence.getClientSettings();e&&vl({...w,...e})}catch(e){console.error(`${Tl} hydrate failed`,e)}finally{bl(!0)}})().finally(()=>{wl(t)});return Cl(t),t}function Ol(e){vl(e),Ip().persistence.setClientSettings(e).catch(e=>{console.error(`${Tl} persist failed`,e)})}var kl=new Set(Vt(rn.fields));function Al(e){let t={},n={};for(let[r,i]of Object.entries(e))kl.has(r)?t[r]=i:n[r]=i;return{serverPatch:t,clientPatch:n}}function jl(){return _l()}function Ml(e){let t=(0,Jc.c)(6),n=nl(),r=(0,L.useSyncExternalStore)(El,_l,Nl),i;t[0]!==r||t[1]!==n?(i={...n,...r},t[0]=r,t[1]=n,t[2]=i):i=t[2];let a=i,o;return t[3]!==a||t[4]!==e?(o=e?e(a):a,t[3]=a,t[4]=e,t[5]=o):o=t[5],o}function Nl(){return w}function Pl(){let e=(0,Jc.c)(9),t=$c(),n=t?.environmentId??null,r=t?.primary??!0,i=t?.connected??!0,a;e[0]!==i||e[1]!==n||e[2]!==r?(a=e=>{let{serverPatch:t,clientPatch:a}=Al(e);if(Object.keys(t).length>0){if(n&&!r)i?VC(n,t).catch(e=>{console.error(`[SETTINGS] update failed for ${n}`,e)}):console.error(`[SETTINGS] Refused a node setting write while ${n} is disconnected.`);else{let e=nr();e&&Pr(qc(e.settings,t)),Ip().server.updateSettings(t)}}Object.keys(a).length>0&&Ol({..._l(),...a})},e[0]=i,e[1]=n,e[2]=r,e[3]=a):a=e[3];let o=a,s;e[4]===o?s=e[5]:(s=()=>{o(Ze)},e[4]=o,e[5]=s);let c=s,l;return e[6]!==c||e[7]!==o?(l={updateSettings:o,resetSettings:c},e[6]=c,e[7]=o,e[8]=l):l=e[8],l}var Fl=Object.freeze({data:null,error:null,cause:null,isPending:!1}),Il=Object.freeze({...Fl,isPending:!0}),Ll=F(Fl).pipe(P,N(`git-status:null`)),Rl=()=>void 0,zl=new Map,Bl=new Set,Vl=new Map,Hl=new Map,Ul=1e3,Wl=Sr(e=>(Bl.add(e),F(Il).pipe(P,N(`git-status:${e}`))));function Gl(e){return e.environmentId===null||e.cwd===null?null:`${e.environmentId}:${e.cwd}`}function Kl(e,t){return`${e}:remote-poll=${t?.automaticRemoteRefreshIntervalMs??0}`}function ql(e){if(e.environmentId===null)return null;let t=zC(e.environmentId);return t?{clientIdentity:t.environmentId,client:t.client.vcs}:null}function Jl(e){let t=Gl(e);return t===null?Fl:M.get(Wl(t))}function Yl(e,t,n){let r=Gl(e);if(r===null)return Rl;let i=Kl(r,n),a=zl.get(i);return a?(a.refCount+=1,()=>tu(i)):(zl.set(i,{refCount:1,unsubscribe:nu(r,e,t,n)}),()=>tu(i))}function Xl(e,t){return Zl(e,t).then(t=>{let n=Gl(e);return n!==null&&t!==null&&Ql(n,t),t})}function Zl(e,t){let n=Gl(e);if(n===null||e.cwd===null)return Promise.resolve(null);let r=t??ql(e)?.client;if(!r)return Promise.resolve(Jl(e).data);let i=Vl.get(n);if(i)return i;let a=Hl.get(n)??0;if(Date.now()-a<Ul)return Promise.resolve(Jl(e).data);Hl.set(n,Date.now());let o=r.refreshStatus({cwd:e.cwd}).finally(()=>{Vl.delete(n)});return Vl.set(n,o),o}function Ql(e,t){M.set(Wl(e),{data:t,error:null,cause:null,isPending:!1})}function $l(e){let t=(0,Jc.c)(5),n=Gl(e),r=Ml(eu),i,a;t[0]!==r||t[1]!==e.cwd||t[2]!==e.environmentId?(i=()=>Yl({environmentId:e.environmentId,cwd:e.cwd},void 0,{automaticRemoteRefreshIntervalMs:r}),a=[r,e.environmentId,e.cwd],t[0]=r,t[1]=e.cwd,t[2]=e.environmentId,t[3]=i,t[4]=a):(i=t[3],a=t[4]),(0,L.useEffect)(i,a);let o=Wo(n===null?Ll:Wl(n));return n===null?Fl:o}function eu(e){return e.gitStatusPollIntervalMs}function tu(e){let t=zl.get(e);t&&(--t.refCount,!(t.refCount>0)&&(t.unsubscribe(),zl.delete(e)))}function nu(e,t,n,r){if(t.cwd===null)return Rl;let i=t.cwd,a=null,o=Rl,s=()=>{let s=n?{clientIdentity:`provided:${e}`,client:n}:ql(t);if(!s){a!==null&&(o(),o=Rl,a=null),iu(e);return}a!==s.clientIdentity&&(o(),a=s.clientIdentity,o=ru(e,{...t,cwd:i},s.client,r))},c=n?Rl:LC(s);return s(),()=>{c(),o()}}function ru(e,t,n,r){iu(e);let i=t.cwd,a=r?.automaticRemoteRefreshIntervalMs??0,o=n.onStatus({cwd:i,...a>0?{automaticRemoteRefreshIntervalMs:a}:{}},t=>{M.set(Wl(e),{data:t,error:null,cause:null,isPending:!1})},{onResubscribe:()=>{iu(e)}}),s=!1;return Zl(t,n).then(t=>{!s&&t!==null&&Ql(e,t)}).catch(()=>void 0),()=>{s=!0,o()}}function iu(e){let t=Wl(e),n=M.get(t),r=n.data===null?Il:{...n,error:null,cause:null,isPending:!0};(n.data!==r.data||n.error!==r.error||n.cause!==r.cause||n.isPending!==r.isPending)&&M.set(t,r)}var au=Object.freeze({data:null,error:null,isPending:!1}),ou=Object.freeze({data:null,error:null,isPending:!0}),su=new Set,cu=Sr(e=>(su.add(e),F(ou).pipe(P,N(`source-control-discovery:${e}`))));F(au).pipe(P,N(`source-control-discovery:null`));function lu(e){let t=e.key?.trim();return t&&t.length>0?t:null}function uu(e){let t=new Map;function n(t,n){e.getRegistry().set(cu(t),n)}function r(t){let r=e.getRegistry().get(cu(t)),i=r.data===null?ou:{data:r.data,error:null,isPending:!0};(r.data!==i.data||r.error!==i.error||r.isPending!==i.isPending)&&n(t,i)}function i(e,t){n(e,{data:t,error:null,isPending:!1})}function a(t,r){n(t,{data:e.getRegistry().get(cu(t)).data,error:r instanceof Error?r.message:`Failed to discover source control tools.`,isPending:!1})}function o(n,o){let c=lu(n);if(c===null)return Promise.resolve(null);let l=t.get(c);if(l)return l;let u=o??e.getClient(c);if(!u)return a(c,Error(`Source control discovery client is unavailable.`)),Promise.resolve(s(n).data);r(c);let d=u.discoverSourceControl().then(e=>(i(c,e),e),e=>(a(c,e),s(n).data)).finally(()=>t.delete(c));return t.set(c,d),d}function s(t){let n=lu(t);return n===null?au:e.getRegistry().get(cu(n))}function c(){t.clear();for(let e of su)n(e,ou);su.clear()}return{refresh:o,getSnapshot:s,reset:c}}var du={key:`primary`},fu=3e4,pu=3e5;function mu(e){let t=e?.environmentId??null;return t?ni()?.environmentId===t?du:{key:t}:du}var hu=uu({getRegistry:()=>M,getClient:e=>{if(e===du.key){let e=ni()?.environmentId??null,t=e?zC(e):null;if(t)return t.client.server;try{return Fp()?.server??null}catch{return null}}let t=zC(zt.make(e));return t?t.client.server:null}}),gu=Sr(e=>F(()=>Je(()=>hu.refresh({key:e}))).pipe(Hr({staleTime:fu,revalidateOnMount:!0}),ri(pu),N(`source-control-discovery:auto-refresh:${e}`)));function _u(e){return hu.refresh(mu(e))}function vu(e){return hu.getSnapshot(mu(e))}function yu(e){let t=lu(mu(e))??du.key;return Wo(gu(t)),Wo(cu(t))}function bu(){return Wo($r)}var xu={now:()=>typeof performance<`u`&&typeof performance.now==`function`?performance.now():Date.now()},Su={scheduleFrame:e=>{if(typeof requestAnimationFrame==`function`){requestAnimationFrame(()=>e());return}setTimeout(e,0)}};function Cu(){return Ci(typeof window>`u`?null:window.localStorage)}function wu(e=Cu()){return{getItem:async t=>await e.getItem(t),setItem:async(t,n)=>{await e.setItem(t,n)},removeItem:async t=>{await e.removeItem(t)}}}wu();var Tu=ot(`effect/http/FetchHttpClient/Fetch`,{defaultValue:()=>globalThis.fetch}),Eu=class extends O()(`effect/http/FetchHttpClient/RequestInit`){},Du=oc(A(ec((e,t,n,r)=>{let i=r.getRef(Tu),a=r.context.mapUnsafe.get(Eu.key)??{},o=a.headers?ar(Cr(a.headers),e.headers):e.headers;o[`content-length`]&&(o=dr(o,`content-length`));let s=r=>on(Jt({try:()=>i(t,{...a,method:e.method,headers:o,body:r,duplex:e.body._tag===`Stream`?`half`:void 0,signal:n}),catch:t=>new ti({reason:new jr({request:e,cause:t})})}),t=>Ws(e,t));switch(e.body._tag){case`Raw`:case`Uint8Array`:return s(e.body.body);case`FormData`:return s(e.body.formData);case`Stream`:return Rt(Yn(e.body.stream),s)}return s(void 0)}))),Ou=e=>{let t=Wt(e).pipe(ln(Ya));if(Et(t))return A(Ge(t.value));if(e===void 0)return A(Ge(5));let n=Date.parse(e);return Number.isNaN(n)?A(Ge(5)):on(qa,e=>Ce(Math.max(n-e.currentTimeMillisUnsafe(),1)))},ku=Ie.pipe(nn,ne(({output:e})=>Fr(e)&&e.reason._tag===`StatusCodeError`&&e.reason.response.status===429?Ou(e.reason.response.headers[`retry-after`]):A(Ge(1)))),Au=class extends O()(`effect/observability/OtlpExporter/Flusher`){},ju=le(Au,()=>{let e=new Set;return{flush:Ft(()=>e.size===0?qn:Xt(e,En,{concurrency:`unbounded`,discard:!0})),register:t=>Rt(Se,n=>(e.add(t),Cn(n,dn(()=>e.delete(t)))))}}),Mu=pn(function*(e){let t=yield*Zt(),n=oe(t,qa),r=oe(t,Se),i=me(Re(e.exportInterval),x),a,o=Zs(oe(t,Ys)).pipe(Xs(C(ic,!1)),tc({schedule:ku,times:3})),s=hi({"user-agent":`effect-opentelemetry-${e.label}/0.0.0`});e.headers&&(s=ar(Cr(e.headers),s));let c=As(e.url,{headers:s}),l=[],u=Ft(()=>{if(a!==void 0&&n.currentTimeMillisUnsafe()<a)return qn;a!==void 0&&(a=void 0);let t=l;if(e.maxBatchSize!==`disabled`){if(l.length===0)return qn;l=[]}let[r,i]=e.body(t);return o.execute(Bs(c,r)).pipe(ht(i),yt,et(!1))}).pipe(Bt(e=>a===void 0?(a=n.currentTimeMillisUnsafe()+6e4,l=[],te(`Disabling exporter for 60 seconds`,e)):qn),pt({package:`@effect/opentelemetry`,module:e.label})),d=yield*Gr(),f=yield*Br(d)();return yield*(yield*Au).register(u),yield*Cn(r,Ft(()=>a===void 0?(f(u),Rr(d)):qn).pipe(Kn,Vn,mn(e.shutdownTimeout))),yield*_n(i).pipe(ht(ci(d,u)),Rt(Qe),qt,Rn(r)),{push(t){a===void 0&&(l.push(t),e.maxBatchSize!==`disabled`&&l.length>=e.maxBatchSize&&f(u))}}}),Nu=e=>{let t=e.attributes?Iu(Object.entries(e.attributes)):[];return t.push({key:`service.name`,value:{stringValue:e.serviceName}}),e.serviceVersion&&t.push({key:`service.version`,value:{stringValue:e.serviceVersion}}),{attributes:t,droppedAttributesCount:0}},Pu=pn(function*(e){let t=yield*Ao(Ke(jo(ze,ze)),`OTEL_RESOURCE_ATTRIBUTES`),n=e?.serviceName??e?.attributes?.[`service.name`]??(yield*Ao(Ke(k),`OTEL_SERVICE_NAME`))??t?.[`service.name`]??(yield*Mo(`OTEL_SERVICE_NAME`)),r=e?.serviceVersion??e?.attributes?.[`service.version`]??(yield*Ao(Ke(k),`OTEL_SERVICE_VERSION`))??t?.[`service.version`],i={...t,...e?.attributes};return delete i[`service.name`],delete i[`service.version`],Nu({serviceName:n,serviceVersion:r,attributes:i})},Te),Fu=e=>{let t=e.attributes.find(e=>e.key===`service.name`);if(!t||!t.value.stringValue)throw Error(`Resource does not contain a service name`);return t.value.stringValue},Iu=e=>{let t=[];for(let[n,r]of e)t.push({key:n,value:Lu(r)});return t},Lu=e=>{if(Array.isArray(e))return{arrayValue:{values:e.map(Lu)}};switch(typeof e){case`string`:return{stringValue:e};case`bigint`:return{intValue:String(e)};case`number`:return Number.isInteger(e)?{intValue:e}:{doubleValue:e};case`boolean`:return{boolValue:e};default:return{stringValue:Ae(e)}}},Ru=class extends O()(`effect/observability/OtlpSerialization`){},zu=ft(Ru,{traces:e=>ls(e),metrics:e=>ls(e),logs:e=>ls(e)}),Bu=pn(function*(e){let t=yield*Pu(e.resource),n=yield*Ru,r={name:Fu(t)},i=yield*Mu({label:`OtlpTracer`,url:e.url,headers:e.headers,exportInterval:e.exportInterval??Ge(5),maxBatchSize:e.maxBatchSize??1e3,body(e){let i={resourceSpans:[{resource:t,scopeSpans:[{scope:r,spans:e}]}]};return[n.traces(i),qn]},shutdownTimeout:e.shutdownTimeout??Ge(3)});function a(e){e.sampled&&i.push(Wu(e))}return Pe({span(e){return Hu({...e,status:{_tag:`Started`,startTime:e.startTime},attributes:new Map,export:a})},context:e.context?function(t,n){return n.currentSpan===void 0?t[`~effect/Effect/evaluate`](n):e.context(t,n.currentSpan)}:void 0})}),Vu={_tag:`Span`,end(e,t){this.status={_tag:`Ended`,startTime:this.status.startTime,endTime:e,exit:t},this.export(this)},attribute(e,t){this.attributes.set(e,t)},event(e,t,n){this.events.push([e,t,n])},addLinks(e){this.links.push(...e)}},Hu=e=>{let t=Object.assign(Object.create(Vu),e);return t.traceId=Et(t.parent)?t.parent.value.traceId:Uu(32),t.spanId=Uu(16),t.events=[],t},Uu=e=>{let t=``;for(let n=0;n<e;n++)t+=`0123456789abcdef`[Math.floor(Math.random()*16)];return t},Wu=e=>{let t=e.status,n=Iu(e.attributes.entries()),r=e.events.map(([e,t,n])=>({name:e,timeUnixNano:String(t),attributes:n?Iu(Object.entries(n)):[],droppedAttributesCount:0})),i;if(t.exit._tag===`Success`)i=qu;else if(In(t.exit.cause))i={code:Gu.Ok,message:`Interrupted`},n.push({key:`span.label`,value:{stringValue:`⚠︎ Interrupted`}},{key:`status.interrupted`,value:{boolValue:!0}});else{let e=Xe(t.exit.cause,{includeCauseInStack:!0});if(i={code:Gu.Error},e.length>0){i.message=e[0].message;for(let n of e)r.push({name:`exception`,timeUnixNano:String(t.endTime),droppedAttributesCount:0,attributes:[{key:`exception.type`,value:{stringValue:n.name}},{key:`exception.message`,value:{stringValue:n.message}},{key:`exception.stacktrace`,value:{stringValue:n.stack??`No stack trace available`}}]})}}return{traceId:e.traceId,spanId:e.spanId,parentSpanId:Xn(e.parent,{onNone:()=>void 0,onSome:e=>e.spanId}),name:e.name,kind:Ku[e.kind],startTimeUnixNano:String(t.startTime),endTimeUnixNano:String(t.endTime),attributes:n,droppedAttributesCount:0,events:r,droppedEventsCount:0,status:i,links:e.links.map(e=>({traceId:e.span.traceId,spanId:e.span.spanId,attributes:Iu(Object.entries(e.attributes)),droppedAttributesCount:0})),droppedLinksCount:0}},Gu={Unset:0,Ok:1,Error:2},Ku={unspecified:0,internal:1,server:2,client:3,producer:4,consumer:5},qu={code:Gu.Ok},Ju=1e3,Yu={serviceName:`ryco-web`,attributes:{"service.runtime":`ryco-web`,"service.mode":d?`electron`:`browser`,"service.version":Fi}},Xu=lt(Du,zu,ju,ft(nc,()=>!0)),Zu=null,Qu=null,$u=null,ed=null,td=0,nd=Promise.resolve(),rd=ft(ee,Pe({span(e){return Zu?.span(e)??new D(e)}}));function id(e={}){return e.exportIntervalMs===void 0&&ed!==null||(nd=nd.finally(()=>ad(e))),nd}async function ad(e){let t=kr(`/api/observability/v1/traces`),n=Math.max(10,e.exportIntervalMs??Ju),r=`${t}|${n}`;if(ed===r&&Zu!==null)return;ed=r;let i=++td,a=Qu,o=$u;Zu=null,Qu=null,$u=null,await od(a,o);let s=ai(Xu),c=s.runSync(Ct());try{let e=await s.runPromise(g(c)(Bu({url:t,exportInterval:`${n} millis`,resource:Yu})));if(i!==td){await od(s,c);return}Zu=e,Qu=s,$u=c}catch(e){await od(s,c),i===td&&console.warn(`Failed to configure client tracing exporter`,{error:sd(e),otlpTracesUrl:t})}}async function od(e,t){e!==null&&t!==null&&await e.runPromise(vt(t,Ht)).catch(()=>void 0).finally(()=>{e.dispose()})}function sd(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}var cd={tracingLayer:rd,performanceEnabled:()=>Li(),recordPerformance:(e,t,n)=>Ii(e,t,n)},ld=class{#e;#t;#n;#r;#i;#a;#o=0;#s=null;constructor(e={}){this.#e=e.baseDelayMs??1e3,this.#t=e.maxDelayMs??6e4,this.#n=e.stableIntervalMs??6e4,this.#r=e.jitterRatio??.2,this.#i=e.random??Math.random,this.#a=e.now??Date.now}opened(){this.#s=this.#a()}closed(){this.#s!==null&&this.#a()-this.#s>=this.#n&&(this.#o=0),this.#s=null}nextDelay(e){let t=Math.min(this.#o,30);this.#o+=1;let n=Math.min(this.#t,this.#e*2**t),r=Math.max(0,Math.min(1,this.#i())),i=1-this.#r+2*this.#r*r,a=Math.max(250,Math.min(this.#t,Math.round(n*i)));return Math.min(it,Math.max(a,Math.max(0,Math.min(it,Math.round(e??0)))))}reset(){this.#o=0,this.#s=null}};function ud(e,t){return z(e),z(t),e.epoch===t.epoch?e.counter===t.counter?0:e.counter<t.counter?-1:1:e.epoch<t.epoch?-1:1}function dd(e,t){return ud(e,t)===0}function fd(e,t){if(z(e),t)return e.epoch>=4294967295n?void 0:{epoch:e.epoch+1n,counter:0n};if(!(e.counter>=18446744073709551615n))return{epoch:e.epoch,counter:e.counter+1n}}function z(e){if(typeof e?.epoch!=`bigint`||typeof e.counter!=`bigint`||e.epoch<0n||e.epoch>4294967295n||e.counter<0n||e.counter>18446744073709551615n)throw TypeError(`Relay E2EE sequence positions are bigints within their field ranges.`);return e}function pd(e){let t=Wi(e.epoch,e.counter);return{epochField:t.slice(0,4),counterField:t.slice(4)}}function md(e){let t=0n;for(let n=0;n<e.byteLength;n+=1)t=t<<8n|BigInt(e[n]);return t}var hd=`ryco.relay-e2ee.close.v1`;function gd(e){return e===2||e===4}function _d(e){let t=Nd(e.innerType),n=Pd(e.senderDirection),r=Id(e.sessionBindingHash),i=pd(e.finalSend),a=pd(e.expectedRecv);return Uint8Array.from(Yi([hd,t,n,r,i.epochField,i.counterField,a.epochField,a.counterField],Na))}function vd(e){let t=Ji(_d(e));if(t.byteLength!==32)throw TypeError(`Relay E2EE close commitment must be E2EE_CLOSE_COMMITMENT_BYTES long.`);return t}var yd=5,bd=Object.freeze([4,8,4,8,32]);function xd(e){let t=pd(e.finalSend),n=pd(e.expectedRecv);return Uint8Array.from(Yi([t.epochField,t.counterField,n.epochField,n.counterField,vd(e)],Na))}function Sd(e){let t=Ca(e);if(t.kind===`error`)return{kind:`error`,reason:t.reason};let n=t.value;if(!Array.isArray(n)||n.length!==yd)return{kind:`error`,reason:`shape`};for(let e=0;e<yd;e+=1){let t=n[e];if(!(t instanceof Uint8Array))return{kind:`error`,reason:`shape`};if(t.byteLength!==bd[e])return{kind:`error`,reason:`field_width`}}let r=n;return{kind:`ok`,value:{finalSendEpochField:r[0],finalSendCounterField:r[1],expectedRecvEpochField:r[2],expectedRecvCounterField:r[3],closeCommitment:r[4],finalSend:{epoch:md(r[0]),counter:md(r[1])},expectedRecv:{epoch:md(r[2]),counter:md(r[3])}}}}function Cd(e){let t=Nd(e.innerType),n=Pd(e.senderDirection),r=Id(e.sessionBindingHash);z(e.envelope),z(e.currentNextSend);let i=Sd(e.body);if(i.kind===`error`)return{kind:`invalid`,reason:`malformed_body`,decodeError:i.reason};let a=i.value,o=pd(e.envelope);if(!Bi(a.finalSendEpochField,o.epochField)||!Bi(a.finalSendCounterField,o.counterField))return{kind:`invalid`,reason:`header_mismatch`};let s=vd({innerType:t,senderDirection:n,sessionBindingHash:r,finalSend:a.finalSend,expectedRecv:a.expectedRecv});if(!Bi(a.closeCommitment,s))return{kind:`invalid`,reason:`commitment_mismatch`};if(t===2)return ud(a.expectedRecv,e.currentNextSend)>0?{kind:`invalid`,reason:`passed_through_rule`}:{kind:`ok`,value:a};let c=e.closeAnchor;if(c===void 0)throw TypeError(`Relay E2EE strict close-rule requires the receiver's close anchor (§10.1.1).`);return z(c),dd(a.expectedRecv,c)?{kind:`ok`,value:a}:{kind:`invalid`,reason:`strict_rule`}}var wd=Object.freeze({failed:3,unclean_truncation:2,unclean_abrupt:1,clean:0});function Td(e){let t=wd[e];if(t===void 0)throw TypeError(`Relay E2EE close verdict must be one of the four §10.4 verdicts.`);return t}function Ed(e,t){return Td(t)>Td(e)?t:e}function Dd(e){return e===1||e===2||e===3}var Od=1;function kd(e){if(!Dd(e))throw TypeError(`Relay E2EE error records carry a defined §11.3 error code.`);return Uint8Array.from(Yi([e],Na))}function Ad(e){if(!(e instanceof Uint8Array))return{kind:`error`,reason:`malformed`};if(e.byteLength>16)return{kind:`error`,reason:`oversized`};let t=Ca(e);if(t.kind===`error`)return{kind:`error`,reason:t.reason};let n=t.value;if(!Array.isArray(n)||n.length!==Od)return{kind:`error`,reason:`shape`};let r=n[0];return typeof r!=`number`||!Number.isSafeInteger(r)||r<0?{kind:`error`,reason:`shape`}:{kind:`ok`,value:{errorCode:r,defined:Dd(r)}}}var jd=2,Md=class{#e;#t;#n;#r=`open`;#i;#a;#o;#s=!1;#c;#l;#u=!1;#d=0;#f=!1;#p=!1;#m=!1;#h=0;#g;#_=!1;#v;#y=!1;#b=!1;#x;constructor(e){this.#e=Uint8Array.from(Id(e.sessionBindingHash)),this.#t=Pd(e.sendDirection),this.#n=this.#t===`c2n`?`n2c`:`c2n`}get state(){return this.#r}get branch(){return this.#i}get closeAnchor(){return this.#a}get closeAnchorRecord(){return this.#o}get closeAnchorUnavailable(){return this.#s}get ackExpectedRecv(){return this.#l}get ackExpectedRecvUnavailable(){return this.#u}get pendingRecord(){return this.#r===`close_received`||this.#r===`simultaneous_pending`?this.#u?void 0:`close_ack`:this.#r===`confirmation_due`?`final_confirmation`:void 0}get closeRecordsSent(){return this.#d}get waitsArmed(){return this.#h}get waitDeadlineAt(){return this.#g}get closePhaseActive(){return this.#r!==`open`}get exchangeComplete(){return this.#f}get mayProtectApplicationRecord(){return this.#r===`open`}get mayProtectTerminalError(){return!this.#y&&!this.#b}get terminalErrorSent(){return this.#y}get isLastRecordSender(){return this.#_}get lingerDeadlineAt(){return this.#v}get verdict(){return this.#x}buildClose(e){if(this.#r!==`open`)throw TypeError(`Relay E2EE close machine may only initiate from the application phase.`);return this.#S(2,`close`,e)}buildCloseAck(e){let t=this.pendingRecord;if(t===void 0)throw TypeError(`Relay E2EE close machine owes no close acknowledgement in this state.`);let n=this.ackExpectedRecv;if(n!==void 0&&!dd(z(e.expectedRecv),n))throw TypeError(`Relay E2EE close acknowledgement declares the expected-next as of the peer's close.`);return this.#S(4,t,e)}#S(e,t,n){if(this.#y||this.#b)throw TypeError(`Relay E2EE close machine is terminal; no further record may follow.`);if(this.#d>=2)throw TypeError(`Relay E2EE close machine exceeded E2EE_CLOSE_RECORDS_RESERVED records.`);let r={epoch:z(n.sendPosition).epoch,counter:n.sendPosition.counter},i={epoch:z(n.expectedRecv).epoch,counter:n.expectedRecv.counter},a={innerType:e,body:xd({innerType:e,senderDirection:this.#t,sessionBindingHash:this.#e,finalSend:r,expectedRecv:i}),position:r,purpose:t};return this.#c=a,a}noteTransmitted(e){let t=this.#c;if(t===void 0||t!==e.record)throw TypeError(`Relay E2EE close machine was told of a record it did not build.`);Fd(e.at);let n={epoch:e.epoch,counter:e.counter};if(!dd(n,t.position))throw TypeError(`Relay E2EE close record was protected at a position it does not declare.`);if(t.purpose===`close`&&this.#r!==`open`||t.purpose===`close_ack`&&this.#r!==`close_received`&&this.#r!==`simultaneous_pending`||t.purpose===`final_confirmation`&&this.#r!==`confirmation_due`)throw TypeError(`Relay E2EE close machine left the state this record answers.`);if(this.#c=void 0,this.#d+=1,this.#a===void 0&&!this.#s){let r=fd(n,e.epochCompleted);r===void 0?(this.#s=!0,this.#k(`unclean_abrupt`)):(this.#a=r,this.#o=t.innerType)}switch(t.purpose){case`close`:this.#r=`awaiting_ack`,this.#T(e.at);return;case`close_ack`:if(this.#l=void 0,this.#r===`close_received`){this.#i=`sequential_responder`,this.#r=`awaiting_confirmation`,this.#T(e.at);return}if(this.#i=`simultaneous`,this.#_=!0,this.#v=e.at+fa,this.#p){this.#E();return}this.#r=`awaiting_simultaneous_ack`,this.#T(e.at);return;case`final_confirmation`:this.#i=`sequential_initiator`,this.#_=!0,this.#v=e.at+fa,this.#E();return}}noteTerminalErrorTransmitted(){if(!this.mayProtectTerminalError)throw TypeError(`Relay E2EE close machine permits exactly one terminal E2EEError.`);this.#y=!0,this.#c=void 0,this.#k(`failed`),this.#D()}receive(e){if(!Xi(e.innerType))throw TypeError(`Relay E2EE inner record type must be a registered type.`);if(z(e.envelope),z(e.currentNextSend),Fd(e.at),e.innerType===3){let t=Ad(e.body);return t.kind===`error`?this.#O(`malformed_error_body`,`Q11`,t.reason):(this.#b=!0,this.#c=void 0,this.#k(`failed`),this.#D(),{kind:`terminal_error`,value:t.value})}return this.#r===`ended`?this.#O(`record_beyond_machine`):e.innerType===1?this.#m||this.#p||this.#r===`complete`?this.#O(`record_beyond_machine`):{kind:`application`}:e.innerType===2?this.#C(e):this.#w(e)}#C(e){if(this.#r!==`open`&&this.#r!==`awaiting_ack`)return this.#O(`record_beyond_machine`);let t=Cd({innerType:2,body:e.body,envelope:e.envelope,sessionBindingHash:this.#e,senderDirection:this.#n,currentNextSend:e.currentNextSend});if(t.kind===`invalid`)return this.#O(t.reason);this.#m=!0;let n=fd({epoch:e.envelope.epoch,counter:e.envelope.counter},e.epochCompleted===!0);return n===void 0?(this.#u=!0,this.#k(`unclean_abrupt`)):this.#l=n,this.#r===`open`?(this.#i=`sequential_responder`,this.#r=`close_received`,this.#u&&this.#T(e.at),{kind:`close`,branch:`sequential`,value:t.value}):(this.#i=`simultaneous`,this.#r=`simultaneous_pending`,{kind:`close`,branch:`simultaneous`,value:t.value})}#w(e){let t=this.#a;if(!(t!==void 0&&!this.#p&&(this.#r===`awaiting_ack`||this.#r===`awaiting_confirmation`||this.#r===`simultaneous_pending`||this.#r===`awaiting_simultaneous_ack`)))return this.#O(`record_beyond_machine`);let n=Cd({innerType:4,body:e.body,envelope:e.envelope,sessionBindingHash:this.#e,senderDirection:this.#n,currentNextSend:e.currentNextSend,closeAnchor:t});return n.kind===`invalid`?this.#O(n.reason):(this.#p=!0,this.#r===`awaiting_ack`?(this.#i=`sequential_initiator`,this.#r=`confirmation_due`,{kind:`close_ack`,exchangeComplete:!1,value:n.value}):this.#r===`simultaneous_pending`?{kind:`close_ack`,exchangeComplete:!1,value:n.value}:(this.#E(),{kind:`close_ack`,exchangeComplete:!0,value:n.value}))}waitExpired(e){return this.#g!==void 0&&e>this.#g}noteWaitExpired(e){if(!this.waitExpired(e))throw TypeError(`Relay E2EE close machine has no expired T_CLOSE wait.`);return this.#c=void 0,this.#k(`unclean_abrupt`),this.#D(),this.#x}noteChannelEnded(e){return e.incompleteReassembly===!0?this.#k(`unclean_truncation`):this.exchangeComplete||this.#k(`unclean_abrupt`),this.#c=void 0,this.#D(),this.#x??`unclean_abrupt`}noteFatal(){return this.#c=void 0,this.#k(`failed`),this.#D(),this.#x}outerCloseAllowed(e){return!this.closePhaseActive||this.#r===`ended`||this.#r===`complete`||this.waitExpired(e)}shouldLinger(e){return this.#_?this.#v!==void 0&&e<this.#v:!1}#T(e){if(this.#h>=jd)throw TypeError(`Relay E2EE close phase admits at most two T_CLOSE-bounded waits.`);Fd(e),this.#h+=1,this.#g=e+Sa}#E(){this.#r=`complete`,this.#f=!0,this.#g=void 0,this.#k(`clean`)}#D(){this.#r=`ended`,this.#g=void 0}#O(e,t=`Q7`,n){return this.#c=void 0,this.#k(`failed`),this.#D(),n===void 0?{kind:`fatal`,row:t,reason:e}:{kind:`fatal`,row:t,reason:e,decodeError:n}}#k(e){this.#x=this.#x===void 0?e:Ed(this.#x,e)}};function Nd(e){if(!gd(e))throw TypeError(`Relay E2EE close records are inner type 0x02 or 0x04 only.`);return e}function Pd(e){if(!qi(e))throw TypeError(`Relay E2EE direction must be a registered direction label.`);return e}function Fd(e){if(typeof e!=`number`||!Number.isFinite(e))throw TypeError(`Relay E2EE close machine requires a finite timestamp.`);return e}function Id(e){if(!(e instanceof Uint8Array)||e.byteLength!==32)throw TypeError(`Relay E2EE close records require a full-length session binding hash.`);return e}var Ld=/^[A-Za-z][A-Za-z0-9._-]{0,63}$/,Rd=64,zd=Symbol(`INVALID_PROFILE_VALUE`),Bd=new Set(Ye),Vd={allowIndefinite:!1,allowUndefined:!1,allowInfinity:!1,allowNaN:!1,allowBigInt:!1,strict:!0,useMaps:!0,rejectDuplicateMapKeys:!0,tags:{}},Hd=e=>({ok:!0,value:e}),B=(e,t)=>t===void 0?{ok:!1,error:{code:e}}:{ok:!1,error:{code:e,supported:t}};function Ud(e,t){if(e.byteLength!==t.byteLength)return!1;for(let n=0;n<e.byteLength;n+=1)if(e[n]!==t[n])return!1;return!0}function Wd(e,t=0){if(t>Rd)return zd;if(e===null||typeof e==`boolean`||typeof e==`string`)return e;if(typeof e==`number`)return Number.isSafeInteger(e)?e:zd;if(e instanceof Uint8Array)return e;if(Array.isArray(e)){let n=[];for(let r of e){let e=Wd(r,t+1);if(e===zd)return zd;n.push(e)}return n}if(e instanceof Map){let n=Object.create(null);for(let[r,i]of e){if(typeof r!=`string`||!Ld.test(r))return zd;let e=Wd(i,t+1);if(e===zd)return zd;n[r]=e}return n}return zd}function Gd(e){let t;try{t=Gi(e,Vd)}catch{return B(`invalid_encoding`)}if(!(t instanceof Map))return B(`invalid_encoding`);let n;try{n=Yi(t,Na)}catch{return B(`invalid_encoding`)}if(!Ud(e,n))return B(`invalid_encoding`);let r=Wd(t);return r===zd||r===null||Array.isArray(r)?B(`invalid_encoding`):Hd(r)}function Kd(e,t){let n=se(St)({protocolMajor:e.protocolMajor,protocolMinor:e.protocolMinor});return cn(n)?B(`invalid_frame`):n.value.protocolMajor===1?t!==void 0&&(n.value.protocolMajor!==t.protocolMajor||n.value.protocolMinor!==t.protocolMinor)?B(`invalid_frame`):Hd(n.value):B(`protocol_unsupported`,ce)}function qd(e,t={}){if(e.byteLength>263168)return B(`frame_too_large`);let n=Gd(e);if(!n.ok)return n;let r=n.value;if(r.type!==`data`&&e.byteLength>262144||r.type===`data`&&r.payload instanceof Uint8Array&&r.payload.byteLength>262144)return B(`frame_too_large`);let i=Kd(r,t.expectedVersion);if(!i.ok)return i;if(!(`type`in r))return B(`missing_discriminant`);if(typeof r.type!=`string`)return B(`invalid_frame`);if(!Bd.has(r.type))return B(`unknown_frame_type`);let a=se(_t)(r);return cn(a)?B(r.type===`ready`?`invalid_limits`:`invalid_frame`):Hd(a.value)}function Jd(e){if(typeof e==`object`&&e&&`type`in e&&e.type===`data`&&`payload`in e&&e.payload instanceof Uint8Array&&e.payload.byteLength>262144)return B(`frame_too_large`);let t=se(_t)(e);if(cn(t))return B((typeof e==`object`&&e&&`type`in e?e.type:void 0)===`ready`?`invalid_limits`:`invalid_frame`);if(t.value.protocolMajor!==1)return B(`protocol_unsupported`,ce);let n;try{n=Yi(t.value,Na)}catch{return B(`invalid_frame`)}let r=t.value.type===`data`?ct:er;return n.byteLength<=r?Hd(n):B(`frame_too_large`)}var Yd={protocolMajor:1,protocolMinor:3},Xd=1,Zd=32,Qd=ca+Ra.byteLength+Zd;function $d(e){let t=0;for(let n of e)t+=n+Zd;return t}var ef=`Relay E2EE negotiation send buffer is full.`,tf=`Relay E2EE send is unavailable.`,nf=`RPC payload exceeds the maximum relay message size.`,rf=`Relay peer does not support multi-frame RPC messages.`,af=`Relay send queue is full.`,of={fatal_pre_key:`channel_rejected`,fatal_post_key:`channel_rejected`,send_path_unusable:`channel_rejected`};function V(e){return[`node_offline`,`server_draining`,`connection_replaced`,`rate_limited`,`slow_consumer`].includes(e)?{kind:e===`node_offline`?`offline`:e===`server_draining`?`draining`:e===`connection_replaced`?`replacement`:e===`rate_limited`?`rate-limited`:`slow-consumer`,retryable:!0,closeReason:e}:[`revoked`,`node_revoked`,`grant_revoked`].includes(e)?{kind:`revoked`,retryable:!1,closeReason:e}:e===`authorization_failed`?{kind:`authorization-removed`,retryable:!1,closeReason:e}:[`authentication_failed`,`authentication_required`,`ticket_expired`,`ticket_consumed`,`authentication_timeout`].includes(e)?{kind:`authentication`,retryable:e!==`authentication_required`,closeReason:e}:e===`protocol_unsupported`?{kind:`incompatible`,retryable:!1,closeReason:e}:[`protocol_invalid`,`frame_too_large`,`channel_rejected`,`transfer_limit`].includes(e)?{kind:`protocol`,retryable:!1,...e===`protocol_invalid`?{}:{closeReason:e}}:e===`network`?{kind:`network`,retryable:!0}:{kind:`internal`,retryable:!0,closeReason:e}}function sf(e){return V(of[e])}function cf(){return{kind:`protocol`,retryable:!0,closeReason:`channel_rejected`}}var lf=class{options;#e=null;#t=null;#n=null;#r;#i=!1;#a=null;#o=0;#s=0;#c=!1;#l=[];#u=0;#d=[];#f=0;#p=!1;#m=!1;#h=!1;#g=!1;#_=null;#v=null;#y=null;#b=null;#x=`negotiating`;#S=null;#C=[];#w=0;#T=0;#E=new Set;#D=Promise.resolve();#O=!1;#k=!1;constructor(e){if(this.options=e,e.ticketExpiresAt<=e.timers.now())throw Error(`Relay attempt is no longer valid.`);let t=Oa(e.ticket);try{let e=Jd({type:`auth`,peer:`client`,...Yd,relayTicket:t});if(!e.ok)throw Error(`Relay authentication could not be encoded.`);this.#_=e.value}finally{t.fill(0)}e.callbacks.onTransportStatus(`connecting`),e.socket.onOpen(()=>this.#I()),e.socket.onBinaryMessage(e=>this.#L(e)),e.socket.onError(()=>{this.#h||e.events.onError()}),e.socket.onClose(()=>{this.#h||this.#ne(V(`network`))})}#A=new ga;get bufferedAmount(){return this.options.socket.bufferedAmount+this.#u+this.#T+this.#w}send(e){if(this.#h||!this.#i||!this.#n||!this.#e)throw Error(`Relay channel is not open.`);if(this.#x===`negotiating`)return this.#N(e,this.#e);if(this.#x===`e2ee`)return this.#j(e);this.#M(e)}#j(e){let t=this.#b;if(!t)return this.#U(sf(`send_path_unusable`));let n;try{n=t.submit(e)}catch(e){throw this.#U(sf(`fatal_post_key`)),e}if(!n)throw Error(tf)}#M(e){let t=Ma(e,this.#K(this.#e));if(t.kind===`error`)throw e.fill(0),this.#ne(V(`transfer_limit`)),Error(t.reason===`peer_unsupported`?rf:nf);for(let e of t.payloads)this.#Q(Uint8Array.from(e))}#N(e,t){if(e.byteLength>ma(t).plaintextCeiling)throw Error(nf);let n=va(e.byteLength,this.#K(t));if(n.kind===`error`)throw Error(n.reason===`peer_unsupported`?rf:nf);let r=va(32+e.byteLength,this.#K(t));if(r.kind===`error`)throw Error(r.reason===`peer_unsupported`?rf:nf);let i=Math.max($d(n.payloadBytes),$d(r.payloadBytes)),a=Math.max(0,Ea(t)-Qd);if(this.bufferedAmount+i>a)throw Error(ef);this.#C.push(Uint8Array.from(e)),this.#w+=i}close(e=1e3,t=`closed`){if(!this.#h){if(this.#x===`e2ee`&&this.#b){this.#k=!0,this.options.callbacks.onTransportStatus(`draining`),this.#P();return}this.#F(e,t)}}#P(){let e=this.#b;this.#h||!e||this.#O||!this.#k||(this.#O=!0,e.beginClose().then(t=>{t===`refused`&&!this.#h&&this.#b===e&&(this.#O=!1)},()=>this.#U(sf(`fatal_post_key`))))}#F(e,t){this.#h||(this.#O=!0,this.options.callbacks.onTransportStatus(`draining`),this.#$(!0),this.#n&&this.#ee({type:`channel.close`,...this.#te(),channelId:this.#n}),this.#re(e,t))}reportUndecodableMessage(e){this.#ne(V(e))}#I(){if(this.#h||!this.#_)return;let e=this.#_;this.#_=null,this.options.callbacks.onTransportStatus(`authenticating`),this.#v=this.options.timers.setTimeout(()=>this.#ne(V(`authentication_timeout`)),Ee);try{this.options.socket.send(e)}catch{this.#ne(V(`network`))}finally{e.fill(0)}}#L(e){if(e.byteLength>263168)return this.#ne(V(`frame_too_large`));let t=Uint8Array.from(e),n=qd(t,this.#t===null?{}:{expectedVersion:this.#t});if(t.fill(0),!n.ok)return this.#ne(V(`protocol_invalid`));let r=n.value,i=r.type===`data`?(this.#e?.maxDataChunkBytes??262144)+fe:this.#e?.maxControlFrameBytes??262144;if(e.byteLength>i)return this.#ne(V(`frame_too_large`));if(r.type===`ping`)return this.#ee({type:`pong`,...this.#te(),nonce:Uint8Array.from(r.nonce)});if(r.type===`error`){let e=V(r.code===`invalid_encoding`||r.code===`invalid_frame`||r.code===`invalid_limits`||r.code===`missing_discriminant`||r.code===`unknown_frame_type`?`protocol_invalid`:r.code);return this.#ne({...e,...r.retryAfterMs===void 0?{}:{retryAfterMs:r.retryAfterMs}})}if(!this.#e){if(r.type!==`ready`||r.protocolMajor!==1||r.protocolMinor<2||r.protocolMinor>3)return this.#ne(V(r.type===`ready`?`protocol_unsupported`:`protocol_invalid`));this.#t={protocolMajor:r.protocolMajor,protocolMinor:r.protocolMinor},this.#e=r.limits,this.#v&&this.options.timers.clearTimeout(this.#v),this.#v=null,this.options.callbacks.onTransportStatus(`opening-channel`);return}if(r.type===`channel.open`){if(this.#n||r.capability!==`ryco.rpc`||!r.effectiveRole)return this.#ne(V(`channel_rejected`));this.#n=r.channelId,this.#r=r.accountGrantContext,this.#a=r.effectiveRole,this.options.callbacks.onRole(this.#a);return}if(r.type===`channel.accept`){if(this.#i||r.channelId!==this.#n||!this.#a)return this.#ne(V(`channel_rejected`));if(this.#i=!0,this.options.e2ee){this.#x=`negotiating`,this.#R(this.#e);return}this.#B(`legacy`);return}if(r.type===`channel.close`&&r.reason===void 0&&r.channelId===this.#n&&this.#O)return this.#F(1e3,`closed`);if(r.type===`channel.close`||r.type===`channel.reject`)return r.channelId===this.#n?this.#ne(V(r.reason??`channel_rejected`)):this.#ne(V(`channel_rejected`));if(r.type===`e2ee.enrollment-revoked`)return this.#ne(V(`revoked`));if(r.type===`flow.pause`||r.type===`flow.resume`){if(r.channelId!==this.#n)return this.#ne(V(`channel_rejected`));this.#c=r.type===`flow.pause`,this.#c||this.#$();return}r.type===`data`&&this.#q(r)}#R(e){try{this.#b=this.options.e2ee({limits:e,channel:{channelId:this.#n,capability:`ryco.rpc`,effectiveRole:this.#a,relayProtocolMajor:this.#te().protocolMajor,relayProtocolMinor:this.#te().protocolMinor,...this.#r===void 0?{}:{accountGrantContext:{relayTicketId:this.#r[1],deviceGrantDigest:Uint8Array.from(this.#r[2]),nodeCapabilityStatementDigest:Uint8Array.from(this.#r[3])}}},admit:e=>this.#W(e),lockMode:e=>this.#z(e),close:e=>{if(e)return this.#U(e);this.#F(1e3,`closed`)},now:()=>this.options.timers.now(),setTimeout:(e,t)=>this.options.timers.setTimeout(e,t),clearTimeout:e=>this.options.timers.clearTimeout(e)})}catch{this.#U(sf(`fatal_pre_key`));return}let t=this.#S;this.#S=null,t&&this.#B(t)}#z(e){if(!(this.#h||this.#x!==`negotiating`)){if(!this.#b){this.#S=e;return}this.#B(e)}}#B(e){this.#h||this.#x!==`negotiating`||(this.#x=e,this.#V(e),!this.#h&&(this.options.callbacks.onTransportStatus(`online`),this.options.callbacks.onSessionStatus(`synchronizing`),this.options.events.onOpen()))}#V(e){let t=this.#C;this.#C=[],this.#w=0;for(let n of t){if(!this.#h)try{e===`e2ee`?this.#j(n):this.#M(n)}catch{e===`e2ee`&&!this.#h&&this.#U(sf(`fatal_post_key`))}n.fill(0)}}#H(){for(let e of this.#C)e.fill(0);this.#C=[],this.#w=0}#U(e){this.#h||(this.#O=!0,this.#$(!0),this.#n&&e.closeReason&&this.#ee({type:`channel.close`,...this.#te(),channelId:this.#n,reason:e.closeReason}),this.#ne(e))}#W(e){let t=this.#e;if(this.#h||!this.#n||!t)return;let n=va(e,this.#K(t));if(n.kind===`error`)return;let r=$d(n.payloadBytes);if(this.bufferedAmount+r>t.maxQueuedBytes-t.maxControlFrameBytes)return;this.#T+=r;let i={reservedBytes:r,active:!0};this.#E.add(i);let a=()=>i.active?(i.active=!1,this.#E.delete(i),this.#T-=i.reservedBytes,!0):!1;return{release:()=>void a(),send:e=>a()?this.#G(e):!1}}#G(e){let t=this.#e;if(this.#h||!this.#n||!t)return!1;let n=Ma(e,this.#K(t));if(n.kind===`error`)return!1;for(let e of n.payloads){let t=Uint8Array.from(e),n=t.byteLength+Zd;this.#l.push({bytes:t,reservedBytes:n}),this.#u+=n}return this.#$(),!0}#K(e){return{maxChunkBytes:e.maxDataChunkBytes,maxMessageBytes:Math.min(dt,e.maxQueuedBytes-e.maxControlFrameBytes),peerSupportsChunking:this.#A.peerSupportsChunking}}#q(e){if(this.#h||!this.#i||e.channelId!==this.#n||e.sequence!==this.#o||!this.#e)return this.#ne(V(`channel_rejected`));this.#o+=1;let t=Uint8Array.from(e.payload);if(this.#J()+t.byteLength>this.#e.maxQueuedBytes)return t.fill(0),this.#ne(V(`slow_consumer`));this.#d.push(t),this.#f+=t.byteLength,this.#Y(),this.#X()}#J(){return this.#f+this.#A.heldBytes}#Y(){if(!this.#e||!this.#n)return;let e=this.#J();!this.#p&&e>=Math.floor(this.#e.maxQueuedBytes*.75)?(this.#p=!0,this.#ee({type:`flow.pause`,...this.#te(),channelId:this.#n})):this.#p&&e<=Math.floor(this.#e.maxQueuedBytes*.5)&&(this.#p=!1,this.#ee({type:`flow.resume`,...this.#te(),channelId:this.#n}))}#X(){this.#m||(this.#m=!0,this.options.timers.queueMicrotask(()=>{if(this.#m=!1,this.#h)return;let e=this.#d.shift();if(e){this.#f-=e.byteLength;let t=Uint8Array.from(e);e.fill(0);let n=this.#A.push(t);if(n.kind===`error`){this.#ne(V(`transfer_limit`));return}n.kind===`done`&&this.#Z(n.message)}this.#Y(),this.#d.length>0&&this.#X()}))}#Z(e){let t=this.#b;if(!t)return this.options.events.onData(e);let n=async()=>{if(!(this.#h||this.#b!==t))try{let n=await t.intercept(e);n.kind===`rpc`&&!this.#h&&this.options.events.onData(n.message)}catch{this.#U(sf(`fatal_post_key`))}};this.#D=this.#D.then(n,n)}#Q(e){let t=this.#e,n=e.byteLength+Zd;if(this.bufferedAmount+n>t.maxQueuedBytes-t.maxControlFrameBytes)throw e.fill(0),this.#ne(V(`slow_consumer`)),Error(af);this.#l.push({bytes:e,reservedBytes:n}),this.#u+=n,this.#$()}#$(e=!1){if(!(this.#h||this.#c||!this.#n||!this.#e)){for(this.#y&&this.options.timers.clearTimeout(this.#y),this.#y=null;this.#l.length>0;){let t=this.#l[0];if(!e&&this.options.socket.bufferedAmount+t.reservedBytes>this.#e.maxQueuedBytes){this.#y=this.options.timers.setTimeout(()=>this.#$(),10);return}this.#l.shift(),this.#u-=t.reservedBytes;let n=this.#s;if(n>4294967295){t.bytes.fill(0),this.#ne(V(`transfer_limit`));return}this.#s+=1,this.#ee({type:`data`,...this.#te(),channelId:this.#n,sequence:n,payload:t.bytes}),t.bytes.fill(0)}this.#P()}}#ee(e){if(this.#h||this.options.socket.readyState!==Xd)return;let t=Jd(e);if(!t.ok||t.value.byteLength>(e.type===`data`?263168:262144))return this.#ne(V(`protocol_invalid`));try{this.options.socket.send(t.value)}catch{this.#ne(V(`network`))}finally{t.value.fill(0)}}#te(){return this.#t??Yd}#ne(e){this.#h||(this.#g||(this.#g=!0,this.options.callbacks.onFailure(e)),this.options.events.onError(),this.#re(4e3,e.kind))}#re(e,t){if(this.#h)return;this.#h=!0,this.#v&&this.options.timers.clearTimeout(this.#v),this.#y&&this.options.timers.clearTimeout(this.#y),this.#v=null,this.#y=null,this.#_?.fill(0),this.#_=null,this.#H();for(let e of this.#l)e.bytes.fill(0);for(let e of this.#d)e.fill(0);let n=this.#b;this.#b=null,n?.dispose({incompleteReassembly:this.#A.incompleteMessage}),this.#A.reset(),this.#l=[],this.#d=[],this.#u=0;for(let e of this.#E)e.active=!1;this.#E.clear(),this.#T=0,this.#f=0,this.options.callbacks.onRole(null),e===1e3&&!this.#g&&this.options.callbacks.onSessionStatus(`closed`);try{this.options.socket.close(e===1e3?1e3:4e3,t.slice(0,64))}catch{}this.options.events.onClose(e,t)}},uf=`c2n`,df=Object.freeze({kind:`rejected`}),ff=Object.freeze({kind:`claimed`}),pf={version_mismatch:`Q1`,suite_mismatch:`Q1`,sequence_mismatch:`Q2`,authentication_failed:`Q3`,malformed_envelope:`Q4`,reserved_inner_type:`Q5`,malformed_record:`Q5`,receive_terminated:`Q2`};function mf(e){let t=e.host,n=()=>t.now(),r=e.onDiagnostic??(()=>void 0),i=ma(t.limits),a=new Hi({secrets:e.secrets,suite:e.suite,sessionBindingHash:e.sessionBindingHash,sendDirection:uf,plaintextCeiling:i.establishable?i.plaintextCeiling:0,...e.testOnlySyntheticSendState===void 0?{}:{testOnlySyntheticSendState:e.testOnlySyntheticSendState},...e.testOnlySyntheticReceiveState===void 0?{}:{testOnlySyntheticReceiveState:e.testOnlySyntheticReceiveState}}),o=new Md({sessionBindingHash:e.sessionBindingHash,sendDirection:uf}),s=!1,c,l,u=!1,d=!0,f=new Set;function p(e){e.settled||(e.settled=!0,e.plaintext.fill(0),e.reservation.release(),f.delete(e))}function m(){a.erase();for(let e of f)p(e);c!==void 0&&t.clearTimeout(c),c=void 0,l?.(),l=void 0,u=!0}let h=Promise.resolve();function g(e){let t=h.then(e,e);return h=t.then(()=>void 0,()=>void 0),t}async function _(e,n,r,i){let o=r,s;try{if(a.erased)return{kind:`unavailable`};s=await a.protect({innerType:e,body:n,admit:e=>{if(o!==void 0){if(i!==e)throw RangeError(`Relay E2EE reservation does not match the protected record.`);return!0}return o=t.admit(e),o!==void 0},transmit:e=>{let t=o;return o=void 0,t!==void 0&&t.send(e)?{kind:`sent`}:{kind:`failed`,delivery:`none`}}})}finally{o?.release()}return s.kind===`protected`?{kind:`protected`,epoch:s.epoch,counter:s.counter,epochCompleted:s.epochCompleted}:s.kind===`close_required`?{kind:`close_required`}:s.kind===`send_failed`?s.sendPathUsable?{kind:`unavailable`}:{kind:`unusable`}:s.kind===`exhausted`?{kind:`unusable`}:s.kind===`unavailable`?{kind:`unavailable`}:{kind:`refused`}}async function v(e,n){if(s)return df;s=!0;let i=o.noteFatal();return await g(async()=>{!a.sendPathUsable||!o.mayProtectTerminalError||(await _(3,kd(n))).kind===`protected`&&o.noteTerminalErrorTransmitted()}),m(),r({phase:`post_key`,row:e,verdict:i}),t.close(sf(`fatal_post_key`)),df}function y(e){if(s)return;s=!0;let n=o.noteFatal();m(),r({phase:`post_key`,row:`Q10`,verdict:n}),t.close(sf(e))}function b(){let e=a.sendState;if(e.epoch!==void 0&&e.counter!==void 0)return{epoch:e.epoch,counter:e.counter}}function x(){let e=a.receiveState;if(e.epoch!==void 0&&e.counter!==void 0)return{epoch:e.epoch,counter:e.counter}}function S(){o.noteChannelEnded({at:n()}),w()}function C(){c!==void 0&&t.clearTimeout(c),c=void 0;let e=o.waitDeadlineAt;e!==void 0&&(c=t.setTimeout(()=>{c=void 0,!(s||!o.waitExpired(n()))&&(o.noteWaitExpired(n()),w())},Math.max(1,e-n())))}function w(){if(u||!o.outerCloseAllowed(n()))return;u=!0,c!==void 0&&t.clearTimeout(c),c=void 0;let e=()=>{s||(s=!0,m(),t.close())};if(o.shouldLinger(n())){let r=Math.max(1,(o.lingerDeadlineAt??n())-n());c=t.setTimeout(()=>{c=void 0,e()},r),l?.(),l=void 0;return}e()}async function T(e){return g(async()=>{let t=e(b());if(t.kind===`none`)return`none`;if(t.kind===`degenerate`)return S(),`ended`;let r=t.record,i=await _(r.innerType,r.body);return i.kind===`refused`?`refused`:i.kind===`protected`?(o.noteTransmitted({record:r,epoch:i.epoch,counter:i.counter,epochCompleted:i.epochCompleted,at:n()}),`transmitted`):(S(),`ended`)})}async function ee(){for(;o.pendingRecord!==void 0;){let e=await T(e=>{if(s||o.pendingRecord===void 0)return{kind:`none`};let t=o.ackExpectedRecv??x();return t===void 0||e===void 0?{kind:`degenerate`}:{kind:`send`,record:o.buildCloseAck({sendPosition:e,expectedRecv:t})}});if(e===`refused`||e===`none`)break;if(e===`ended`)return}s||(o.exchangeComplete?w():C())}async function E(){if(s||o.closePhaseActive)return`opened`;d=!1;let e=new Promise(e=>{l=e}),t=await T(e=>{if(s||o.closePhaseActive)return{kind:`none`};let t=x();return e===void 0||t===void 0?{kind:`degenerate`}:{kind:`send`,record:o.buildClose({sendPosition:e,expectedRecv:t})}});return t===`refused`?(!s&&!o.closePhaseActive&&(d=!0),`refused`):(t===`transmitted`&&C(),u||await e,`opened`)}async function D(e,n,i){let a=b();if(a===void 0)return S(),ff;let c=o.receive({innerType:e,body:n,envelope:{epoch:i.epoch,counter:i.counter},epochCompleted:i.epochCompleted,currentNextSend:a,at:i.at});switch(c.kind){case`application`:return{kind:`rpc`,message:n};case`close`:case`close_ack`:return await ee(),ff;case`terminal_error`:return s||(s=!0,m(),r({phase:`post_key`,row:`local`,verdict:o.verdict}),t.close(sf(`fatal_post_key`))),df;case`fatal`:return v(c.row,1)}}async function te(e){if(s)return df;if(Zi(e).kind!==`envelope`)return v(`Q6`,1);let t=a.unprotect(e);return t.kind===`fatal`?v(pf[t.reason],1):D(t.innerType,t.body,{epoch:t.epoch,counter:t.counter,epochCompleted:t.epochCompleted,at:n()})}function ne(n){if(s||!d||!o.mayProtectApplicationRecord||n.byteLength>i.plaintextCeiling)return!1;let r=t.admit(32+n.byteLength);if(r===void 0)return!1;if(s||!d||!o.mayProtectApplicationRecord)return r.release(),!1;let a;try{a=Uint8Array.from(n)}catch(e){throw r.release(),e}try{e.testOnlyOnOwnedApplicationPlaintext?.(a)}catch(e){throw a.fill(0),r.release(),e}let c={plaintext:a,reservation:r,settled:!1};return f.add(c),g(async()=>{try{if(s)return;let e=await _(1,c.plaintext,c.reservation,32+c.plaintext.byteLength);if(e.kind===`protected`)return;if(e.kind===`close_required`){E().catch(()=>y(`fatal_post_key`));return}e.kind===`unusable`&&y(`send_path_unusable`)}catch{y(`fatal_post_key`)}finally{p(c)}}),!0}return{intercept:te,submit:ne,beginClose:E,dispose:(e={})=>{o.noteChannelEnded({at:n(),...e.incompleteReassembly===void 0?{}:{incompleteReassembly:e.incompleteReassembly}}),s=!0,m()},verdict:()=>o.verdict,sendPosition:b,expectedRecv:x}}var hf=`ryco.relay-e2ee.web-sas.v1`,gf=`node`;function _f(e){return Uint8Array.from(Yi(e,Na))}function vf(e){let t=sa(e.nodeIdentityPublicKey),n=aa(e.webEphemeralPublicKey);return _f([hf,gf,Va,t,`web`,na,n])}function yf(e){(!(e.sessionBindingHash instanceof Uint8Array)||e.sessionBindingHash.byteLength!==32)&&Ki();let t=vf(e),n=zi(Ji,t,e.sessionBindingHash),r=wa(Ji,n,la(hf),5);return{input:t,prk:n,output:r,display:bf(r)}}function bf(e){(!(e instanceof Uint8Array)||e.byteLength!==5||e.byteLength*8!=Ia.chars*5||Ia.chars!==Ia.groups*Ia.charsPerGroup)&&Ki();let t=``,n=0,r=0;for(let i of e)for(n=n<<8|i,r+=8;r>=5;)r-=5,t+=ta[n>>r&31];let i=[];for(let e=0;e<t.length;e+=Ia.charsPerGroup)i.push(t.slice(e,e+Ia.charsPerGroup));return i.join(Ia.separator)}var H=Object.freeze({kind:`rejected`}),xf=Object.freeze({kind:`claimed`});function Sf(e,t,n,r,i){return{nodeId:e.nodeId,nodeIdentityFingerprint:i!==void 0&&r===`pin-unchanged`?i.identityFingerprint:e.identityFingerprint,prekeyId:e.prekeyCertificate.prekeyId,agreementPublicKey:e.prekeyCertificate.agreementPublicKey,continuityChainTranscripts:e.continuityChain.map(e=>e.transcript),continuityId:i===void 0?e.continuityId:i.continuityId,...n===2?{policyGeneration:e.policyGeneration,capabilityStatementDigest:oa(t)}:{}}}function Cf(e){let t=e.host,n=e.attempt,r=()=>t.now(),i=n.onDiagnostic??(()=>void 0),a=`negotiating`,o=!1,s=!1,c,l,u,d,f,p,m,h,g,_;function v(){d!==void 0&&t.clearTimeout(d),f!==void 0&&t.clearTimeout(f),p!==void 0&&t.clearTimeout(p),m!==void 0&&t.clearTimeout(m),d=void 0,f=void 0,p=void 0,m=void 0;let e=h;h=void 0,e?.();let n=g;g=void 0,n?.()}function y(){let e=l;if(l=void 0,e!==void 0)try{Promise.resolve(n.nativeHandshake?.destroy(e)).catch(()=>void 0)}catch{}}function b(e){return a===`closed`?H:(a=`closed`,v(),c?.destroy(),c=void 0,y(),i({phase:`pre_key`,row:e}),t.close(sf(`fatal_pre_key`)),H)}function x(){if(a===`negotiating`){if(n.pairingOnly)return b(`local`);a=`legacy`,v(),t.lockMode(`legacy`)}}function S(){return n.credentials.tier===`native`&&n.credentials.trustSource!==`account-enrolled`&&n.verifiedPin===void 0}function C(e){if(!ma(t.limits).establishable)return $i(e.secrets),b(`P14`);try{u=mf({host:t,secrets:e.secrets,suite:e.suite,sessionBindingHash:e.sessionBindingHash})}catch{return b(`P14`)}return a=`e2ee`,v(),t.lockMode(`e2ee`),w(e.sessionBindingHash,e.webEphemeralPublicKey),xf}function w(e,t){if(n.credentials.tier!==`web`)return;let r=n.onWebVerificationCode;if(r===void 0)return;let i=_;if(t===void 0||i===void 0)return;let a;try{a=yf({nodeIdentityPublicKey:i,webEphemeralPublicKey:t,sessionBindingHash:e}).display}catch{return}r(a)}d=t.setTimeout(()=>{if(d=void 0,!(a!==`negotiating`||o)){if(n.selectionClass===`latched`||!n.legacyPermitted){b(`P19`);return}if(n.selectionClass===`unexpected`){n.onUnexpectedNode?.(`none`),b(`P22`);return}x()}},Pa);function T(){m=t.setTimeout(()=>{m=void 0,!(a!==`negotiating`||!o)&&b(`P20`)},Aa)}async function ee(e){if(s)return b(`P4`);s=!0;let c=e===void 0?void 0:ia({statement:e,connectedHubOrigin:n.hubOrigin,tier:n.credentials.tier,...n.credentials.trustSource===void 0?{}:{trustSource:n.credentials.trustSource},localSuitePreference:n.localSuitePreference,now:r(),...n.accountId===void 0?{}:{accountId:n.accountId},...n.verifiedPin===void 0?{}:{pin:n.verifiedPin},...n.acceptedPolicyGeneration===void 0?{}:{acceptedPolicyGeneration:n.acceptedPolicyGeneration}}),l;if(c!==void 0&&c.kind===`verified`){if(d!==void 0&&t.clearTimeout(d),d=void 0,l=r()+Fa,!await E(c,!0)||a!==`negotiating`||o)return a===`closed`?H:xf}else if(c!==void 0&&(!await E(c,!1)||a!==`negotiating`||o))return a===`closed`?H:xf;return c===void 0||c.kind!==`verified`?n.selectionClass===`latched`?b(`P15`):(i({phase:`pre_key`,row:`K3`}),xf):D(e,c.statement,c.anchor,c.selectedSuite,l??r()+3e3)}function E(e,r){let i=n.onStatement;if(i===void 0)return Promise.resolve(!0);let s,c=new Promise(e=>{s=e}),l=!1,u=()=>d(!1),d=e=>{l||(l=!0,f!==void 0&&t.clearTimeout(f),f=void 0,h===u&&(h=void 0),s(e))};h=u,r&&(f=t.setTimeout(()=>{f=void 0,a===`negotiating`&&!o&&b(`local`),d(!1)},Fa));let p;try{p=i(e)}catch{return b(`local`),d(!1),c}return Promise.resolve(p).then(()=>d(a===`negotiating`&&!o),()=>{a===`negotiating`&&b(`local`),d(!1)}),c}function D(e,t,r,i,s){if(a!==`negotiating`||o)return H;let c=n.credentials;return c.tier===`native`&&!(`agreementSecretKey`in c)?n.nativeHandshake===void 0?ne(t,e,r,i,c,s):te(e,i,s):re(t,e,r,i,c)}function te(e,i,s){let c=n.nativeHandshake;if(c===void 0)return Promise.resolve(b(`local`));let u,f=new Promise(e=>{u=e}),m=!1,h=()=>_(H),_=e=>{m||(m=!0,p!==void 0&&t.clearTimeout(p),p=void 0,g===h&&(g=void 0),u(e))};g=h;let v=s-r();if(v<=0)return b(`local`),_(H),f;p=t.setTimeout(()=>{p=void 0,a===`negotiating`&&!o&&b(`local`),_(H)},v);let y;try{y=c.start({statement:e,channel:{hubOrigin:n.hubOrigin,channelId:t.channel.channelId,relayProtocolMajor:t.channel.relayProtocolMajor,relayProtocolMinor:t.channel.relayProtocolMinor,channelOpenCapability:t.channel.capability,channelOpenEffectiveRole:t.channel.effectiveRole,...t.channel.accountGrantContext===void 0?{}:{accountGrantContext:t.channel.accountGrantContext}},selectedSuite:i,offeredSuites:n.localSuitePreference,intendedCapability:t.channel.capability,intendedRole:t.channel.effectiveRole,now:r()})}catch{return b(`local`),_(H),f}return y.then(e=>{if(e.kind===`fatal`){a===`negotiating`&&b(e.result.row),_(H);return}if(m||a!==`negotiating`||o){Promise.resolve(c.destroy(e.handle)).catch(()=>void 0),_(H);return}let n=t.admit(e.result.record.byteLength);if(n===void 0||!n.send(e.result.record)){n?.release(),Promise.resolve(c.destroy(e.handle)).catch(()=>void 0),b(`local`),_(H);return}l=e.handle,o=!0,d!==void 0&&t.clearTimeout(d),d=void 0,T(),_(xf)},()=>{a===`negotiating`&&b(`local`),_(H)}),f}function ne(e,i,s,c,l,u){let d=n.withNativeAgreementSecretKey;if(d===void 0)return Promise.resolve(b(`local`));let f,m=new Promise(e=>{f=e}),h=!1,_=()=>v(H),v=e=>{h||(h=!0,p!==void 0&&t.clearTimeout(p),p=void 0,g===_&&(g=void 0),f(e))};g=_;let y=u-r();if(y<=0)return b(`local`),v(H),m;p=t.setTimeout(()=>{p=void 0,a===`negotiating`&&!o&&b(`local`),v(H)},y);let x;try{x=d(t=>h||a!==`negotiating`||o?H:re(e,i,s,c,{...l,agreementSecretKey:t}))}catch{return b(`local`),v(H),m}return Promise.resolve(x).then(e=>{if(!h&&a===`negotiating`&&!o){b(`local`),v(H);return}v(e)},()=>{a===`negotiating`&&b(`local`),v(H)}),m}function re(e,i,s,l,u){if(a!==`negotiating`||o)return H;let f=new Ui({channel:{hubOrigin:n.hubOrigin,channelId:t.channel.channelId,relayProtocolMajor:t.channel.relayProtocolMajor,relayProtocolMinor:t.channel.relayProtocolMinor,channelOpenCapability:t.channel.capability,channelOpenEffectiveRole:t.channel.effectiveRole,...t.channel.accountGrantContext===void 0?{}:{accountGrantContext:t.channel.accountGrantContext}},advertised:Sf(e,i,l,s,n.verifiedPin),selectedSuite:l,offeredSuites:n.localSuitePreference,credentials:u,intendedCapability:t.channel.capability,intendedRole:t.channel.effectiveRole}),p;try{p=f.createHello(r())}catch{return b(`local`)}if(p.kind===`fatal`)return c=void 0,f.destroy(),b(p.row);let m=t.admit(p.record.byteLength);return m===void 0||!m.send(p.record)?(m?.release(),f.destroy(),b(`local`)):(u.tier===`web`&&(_=e.identityPublicKey),c=f,o=!0,d!==void 0&&t.clearTimeout(d),d=void 0,T(),xf)}function ie(e){let t=ea(e);return t.kind===`error`?b(`P3`):t.value.recordType===2?!o||c===void 0&&l===void 0?b(`P16`):oe(e):t.value.recordType===3?b(o?`P17`:`P3`):b(`P3`)}function ae(e){return e.kind===`fatal`?b(e.row):n.pairingOnly||S()?($i(e.secrets),b(`P21`)):C({secrets:e.secrets,suite:e.suite,sessionBindingHash:e.sessionBindingHash,webEphemeralPublicKey:e.webEphemeralPublicKey})}function oe(e){let t=l;if(t!==void 0){let i=n.nativeHandshake;return i===void 0?b(`local`):(l=void 0,i.finish(t,e,r()).then(e=>a===`negotiating`?ae(e):(e.kind===`established`&&$i(e.secrets),H),()=>a===`negotiating`?b(`local`):H))}return ae(c.receiveServerAccept(e,r()))}async function se(e){switch(Zi(e).kind){case`legacy-json`:{let t=Qi(e);return t.kind===`ok`?ee(t.value):t.reason===`malformed`?ee(void 0):o||n.selectionClass===`latched`||!n.legacyPermitted?b(`P18`):n.selectionClass===`unexpected`?(n.onUnexpectedNode?.(`none`),b(`P22`)):x()??{kind:`rpc`,message:e}}case`negotiation`:return ie(e);case`envelope`:return b(`P5`);case`other`:return b(`P6`)}}function ce(e){switch(Zi(e).kind){case`legacy-json`:{let t=Qi(e);return t.kind===`ok`||t.reason===`malformed`?(i({phase:`pre_key`,row:`K20`}),xf):{kind:`rpc`,message:e}}case`envelope`:return b(`P5`);case`negotiation`:return b(`P24`);case`other`:return b(`P6`)}}async function le(e){switch(a){case`negotiating`:return se(e);case`legacy`:return ce(e);case`e2ee`:return u===void 0?H:u.intercept(e);case`closed`:return H}}return{intercept:le,submit:e=>u!==void 0&&u.submit(e),beginClose:async()=>u===void 0?(a=`closed`,v(),c?.destroy(),c=void 0,y(),t.close(),`opened`):u.beginClose(),dispose:(e={})=>{a=`closed`,v(),c?.destroy(),c=void 0,y(),u?.dispose(e)},mode:()=>a,abort:()=>{a===`negotiating`&&b(`local`)}}}var wf=class extends Error{failure;constructor(e){super(`Hosted relay preparation failed.`),this.name=`HostedRelayPreparationError`,this.failure=e}},Tf=new Set([ue.subscribeShell,ue.subscribeThread,ue.subscribeThreadWindow,An.subscribeServerConfig,An.subscribeServerLifecycle,An.subscribeTerminalEvents,An.subscribeVcsStatus]),Ef=new Set([...Tf,An.subscribeAuthAccess]);function Df(e,t){return za(e.effectiveRole,t.tag,e.directoryStatus===`ready`)?e.transportStatus===`online`&&e.browserStatus===`current`&&e.sessionStatus===`ready`||t.stream&&(e.browserStatus===`current`||e.browserStatus===`synchronizing`)&&(e.sessionStatus===`synchronizing`||e.sessionStatus===`replaying`||e.sessionStatus===`delivery-unknown`||e.sessionStatus===`stale`||e.sessionStatus===`closed`)&&Tf.has(t.tag):!1}function Of(e){return Df(I.getState(),e)}function kf(e){switch(e.code){case`node_offline`:return{kind:`offline`,retryable:!0,...e.retryAfterMs===void 0?{}:{retryAfterMs:e.retryAfterMs}};case`server_draining`:return{kind:`draining`,retryable:!0,...e.retryAfterMs===void 0?{}:{retryAfterMs:e.retryAfterMs}};case`rate_limited`:return{kind:`rate-limited`,retryable:!0,...e.retryAfterMs===void 0?{}:{retryAfterMs:e.retryAfterMs}};case`unsupported_version`:return{kind:`incompatible`,retryable:!1};case`forbidden`:case`authorization_failed`:return{kind:`authorization-removed`,retryable:!1};case`revoked`:return{kind:`revoked`,retryable:!1};default:return{kind:`network`,retryable:!0}}}function Af(){return{nodeId:()=>I.getState().selectedNode?.id??null,generation:()=>I.getState().generation,isAuthenticated:()=>I.getState().accountStatus===`authenticated`,isCurrent:e=>I.getState().generation===e,prepareSocketContext:()=>Da().prepareRelaySocketContext?.()??Promise.resolve(void 0),issueRelayAttempt:async e=>{let t=Da().issueRelayAttempt;if(t)return t(e);let n=await ja().issueRelayTicket(e.nodeId);return{ticket:n.ticket,expiresAt:n.expiresAt,preparedSocketContext:e.preparedSocketContext}},disposeSocketContext:e=>Da().disposeRelaySocketContext?.(e),authorizeRequest:Of,shouldReconnect:e=>{let t=I.getState();return e===t.generation&&t.accountStatus===`authenticated`&&t.selectedNode!==null&&(t.browserStatus===`current`||t.browserStatus===`synchronizing`)&&t.transportStatus!==`terminal-failure`},transportStatus:(e,t)=>ka.transportStatus(e,t),sessionStatus:(e,t)=>ka.sessionStatus(e,t),role:(e,t)=>ka.role(e,t),failure:(e,t)=>ka.failure(e,t),markDeliveryUnknown:e=>ka.markDeliveryUnknown(e),connectionClosed:e=>ka.connectionClosed(e),connectionRecovered:e=>{let t=I.getState();t.generation===e&&t.accountStatus===`authenticated`&&t.directoryStatus===`ready`&&t.browserStatus===`current`&&t.selectedNode!==null&&t.transportStatus!==`terminal-failure`&&Da().timers.queueMicrotask(()=>{let n=I.getState();n.generation===e&&n.selectedNode?.id===t.selectedNode?.id&&ka.retrySelectedNode()})}}}var jf=class{#e;#t=new ld;#n=new Map;#r=null;#i;#a=null;#o=0;#s=null;#c=null;#l=!1;constructor(e=Af()){this.#e=e}async nextUrl(){let e=this.#e.nodeId(),t=this.#e.generation();if(!e||t===null||!this.#e.isAuthenticated())throw Error(`No authorized hosted node is selected.`);this.#a=t,this.#e.transportStatus(t,`requesting-ticket`),this.#d();let n;try{if(n=await this.#e.prepareSocketContext?.(),!this.#e.isCurrent(t))throw Error(`Hosted node selection changed.`);let r=this.#e.issueRelayAttempt?await this.#e.issueRelayAttempt({nodeId:e,generation:t,preparedSocketContext:n}):{...await ja().issueRelayTicket(e),preparedSocketContext:n};if(n=void 0,!this.#e.isCurrent(t))throw this.#u(r.preparedSocketContext),Error(`Hosted node selection changed.`);return this.#r={ticket:r.ticket,expiresAt:r.expiresAt,generation:t,preparedSocketContext:r.preparedSocketContext,used:!1},this.#e.relayUrl?.()??Da().relayUrl()}catch(e){if(this.#u(n),e instanceof ua&&e.status===401)ka.expireSession();else if(e instanceof wf)this.#i=e.failure.retryAfterMs,this.#e.failure(t,e.failure);else if(e instanceof ua){let n=kf(e);this.#i=n.retryAfterMs,this.#e.failure(t,n)}throw e}}createSocket(e){let t=this.#r;if(this.#r=null,!t||t.used||t.expiresAt<=Da().timers.now())throw this.#u(t?.preparedSocketContext),Error(`A fresh relay ticket is required for every connection attempt.`);t.used=!0;let n=t.generation,r=t.ticket,i=t.expiresAt,a=this.#o+1;this.#o=a,this.#s=a;let o=()=>this.#s===a,s={onTransportStatus:e=>{o()&&(this.#e.transportStatus(n,e),e===`online`&&this.#l&&(this.#l=!1,this.#e.connectionRecovered?.(n)))},onSessionStatus:e=>{o()&&this.#e.sessionStatus(n,e)},onRole:e=>{o()&&this.#e.role(n,e)},onFailure:e=>{o()&&(this.#i=e.retryAfterMs,this.#t.closed(),this.#n.size>0&&(this.#e.markDeliveryUnknown(n),this.#n.clear()),this.#e.failure(n,e))}};this.#a=n;try{let n=this.#e.createRelaySocket?this.#e.createRelaySocket({url:e,ticket:r,ticketExpiresAt:i,callbacks:s,preparedSocketContext:t.preparedSocketContext}):Da().createRelaySocket({url:e,ticket:r,ticketExpiresAt:i,callbacks:s,preparedSocketContext:t.preparedSocketContext});return o()&&(this.#c=n),n}catch(e){throw this.#u(t.preparedSocketContext),o()&&(this.#s=null,this.#c=null,this.#a===n&&(this.#a=null)),e}}lifecycleHandlers(){return{webSocketConstructor:e=>this.createSocket(e),isSocketCurrent:e=>e===this.#c,preserveSocketPath:!0,retryTransientErrors:!1,reconnectMaxRetries:1e6,shouldReconnect:()=>this.#a!==null&&this.#e.shouldReconnect(this.#a),authorizeRequest:e=>this.#e.authorizeRequest(e),getReconnectDelayMs:()=>{let e=this.#t.nextDelay(this.#i);return this.#i=void 0,e},onOpen:()=>this.#t.opened(),onClose:(e,t)=>{if(t.intentional)return;let n=this.#a;n!==null&&(this.#t.closed(),this.#l=!0,this.#e.connectionClosed(n))},onRequestStart:e=>{e.stream&&Ef.has(e.tag)||this.#n.set(e.id,e.stream?`exit`:`first-chunk`)},onRequestChunk:e=>{this.#n.get(e.id)===`first-chunk`&&this.#n.delete(e.id)},onRequestExit:e=>this.#n.delete(e.id),onRequestInterrupt:e=>this.#n.delete(e.id)}}hasPendingRequests(){return this.#n.size>0}reset(){this.#d(),this.#n.clear(),this.#i=void 0,this.#a=null,this.#s=null,this.#c=null,this.#l=!1,this.#o=0,this.#t.reset()}#u(e){if(e!==void 0)try{this.#e.disposeSocketContext?.(e)}catch{}}#d(){let e=this.#r;this.#r=null,e!==null&&this.#u(e.preparedSocketContext)}},Mf=null;function Nf(){return Mf??=new jf,Mf}function Pf(){return Mf?.hasPendingRequests()??!1}function Ff(){Mf?.reset(),Mf=null}function If(e){return e===`platform`||e===`cross-platform`?e:void 0}function Lf(e){return e.filter(e=>Ba.has(e))}function Rf(e){if(!(e instanceof PublicKeyCredential))throw Error(`Passkey ceremony was cancelled.`);return e}async function zf(e,t){let n=typeof e==`object`&&e&&`challenge`in e&&e.challenge instanceof Uint8Array?e:ra(e),r=Rf(await navigator.credentials.get({publicKey:n,...t?{signal:t}:{}})),i=r.response;if(!(i instanceof AuthenticatorAssertionResponse))throw Error(`Invalid passkey response.`);return{id:r.id,rawId:xa(r.rawId),response:{clientDataJSON:xa(i.clientDataJSON),authenticatorData:xa(i.authenticatorData),signature:xa(i.signature),...i.userHandle?{userHandle:xa(i.userHandle)}:{}},type:`public-key`,clientExtensionResults:r.getClientExtensionResults(),...If(r.authenticatorAttachment)?{authenticatorAttachment:If(r.authenticatorAttachment)}:{}}}async function Bf(e,t){let n=typeof e==`object`&&e&&`challenge`in e&&e.challenge instanceof Uint8Array?e:Vi(e),r=Rf(await navigator.credentials.create({publicKey:n,...t?{signal:t}:{}})),i=r.response;if(!(i instanceof AuthenticatorAttestationResponse))throw Error(`Invalid passkey response.`);let a=i.getPublicKey?.()??null,o=i.getAuthenticatorData?.(),s=i.getPublicKeyAlgorithm?.(),c=i.getTransports?.();return{id:r.id,rawId:xa(r.rawId),response:{clientDataJSON:xa(i.clientDataJSON),attestationObject:xa(i.attestationObject),...c?{transports:Lf(c)}:{},...s===void 0?{}:{publicKeyAlgorithm:s},...a?{publicKey:xa(a)}:{},...o?{authenticatorData:xa(o)}:{}},type:`public-key`,clientExtensionResults:r.getClientExtensionResults(),...If(r.authenticatorAttachment)?{authenticatorAttachment:If(r.authenticatorAttachment)}:{}}}var Vf={authenticate:(e,t)=>zf(e,t),register:(e,t)=>Bf(e,t)};function Hf(e){return e}var Uf={get:e=>Ip().persistence.getSavedEnvironmentSecret(Hf(e)),set:(e,t)=>Ip().persistence.setSavedEnvironmentSecret(Hf(e),t),remove:e=>Ip().persistence.removeSavedEnvironmentSecret(Hf(e))},Wf={webSocketConstructor:(e,t)=>{let n=typeof t==`string`||t===void 0?t:Array.from(t);return new globalThis.WebSocket(e,n)}};function Gf(){Wr(Ni)}function Kf(){return Wo(br)}function qf(){return Wo(yr)}function Jf(e,t,n){let r=e.getBoundingClientRect(),i=Math.min(Math.max(4,t),Math.max(4,window.innerWidth-r.width-4)),a=Math.min(Math.max(4,n),Math.max(4,window.innerHeight-r.height-4));e.style.left=`${i}px`,e.style.top=`${a}px`}function Yf(e,t){return new Promise(n=>{let r=document.createElement(`div`);r.style.cssText=`position:fixed;inset:0;z-index:9999`;let i=[],a=e=>{document.removeEventListener(`keydown`,o),r.remove();for(let e of i)e.remove();n(e)},o=e=>{e.key===`Escape`&&(e.preventDefault(),a(null))},s=e=>{for(;i.length>e;)i.pop()?.remove()},c=(e,t,n,r)=>{s(r);let o=document.createElement(`div`);o.className=`fixed z-[10000] min-w-[160px] rounded-md border border-border bg-popover py-1 shadow-xl animate-in fade-in zoom-in-95`,o.style.left=`${t}px`,o.style.top=`${n}px`,o.dataset.level=String(r);for(let t of e){let e=document.createElement(`button`);e.type=`button`;let n=Array.isArray(t.children)&&t.children.length>0,l=!n&&(t.destructive===!0||t.id===`delete`),u=t.disabled===!0;e.disabled=u,e.className=u?`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[11px] text-muted-foreground/60 cursor-not-allowed`:l?`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[11px] text-destructive hover:bg-accent cursor-default`:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[11px] text-popover-foreground hover:bg-accent cursor-default`;let d=document.createElement(`span`);if(d.className=`min-w-0 flex-1 truncate`,d.textContent=t.label,e.appendChild(d),n){let t=document.createElement(`span`);t.className=`shrink-0 text-muted-foreground/70`,t.textContent=`›`,e.appendChild(t)}u||(n?(e.addEventListener(`mouseenter`,()=>{let n=e.getBoundingClientRect(),a=n.right+4,o=n.top;c(t.children,a,o,r+1);let s=i[r+1];if(!s)return;let l=s.getBoundingClientRect();l.right>window.innerWidth&&Jf(s,n.left-l.width-4,n.top)}),e.addEventListener(`click`,e=>{e.preventDefault()})):(e.addEventListener(`mouseenter`,()=>{s(r+1)}),e.addEventListener(`click`,()=>a(t.id)))),o.appendChild(e)}o.addEventListener(`mouseenter`,()=>{s(r+1)}),document.body.appendChild(o),i[r]=o,requestAnimationFrame(()=>{Jf(o,t,n)})};r.addEventListener(`mousedown`,()=>a(null)),document.addEventListener(`keydown`,o),document.body.appendChild(r),c(e,t?.x??0,t?.y??0,0)})}var Xf=0,Zf=0,Qf=null,$f=new Set;function ep(){for(let e of $f)e()}function tp(){return Xf>0}function np(){return Xf+=1,()=>{--Xf,Xf===0&&Qf&&op(Qf.id,null)}}function rp(e){return $f.add(e),()=>{$f.delete(e)}}function ip(){return Qf}function ap(e){return new Promise(t=>{Qf?.resolve(null),Zf+=1,Qf={id:Zf,items:e,resolve:t},ep()})}function op(e,t){if(!Qf||Qf.id!==e)return;let n=Qf;Qf=null,ep(),n.resolve(t)}var sp=6048e5;function cp(e){return new Date(e+sp).toISOString()}function lp(e){if(!e)return null;let t=Date.parse(e);return Number.isFinite(t)?t:null}function up(e){if(!e.token||e.token.trim().length===0)return!1;let t=lp(e.expiresAt);return e.expiresAt!==void 0&&t===null?!1:t===null||t>e.nowMs}var dp=`ryco:client-settings:v1`,fp=`ryco:saved-environment-registry:v1`,pp=ie({environmentId:zt,label:k,httpBaseUrl:k,wsBaseUrl:k,createdAt:k,lastConnectedAt:_(k),desktopSsh:Ot(ie({alias:k,hostname:k,username:_(k),port:_(en)})),bearerToken:Ot(k),bearerTokenSavedAt:Ot(k),bearerTokenExpiresAt:Ot(k)}),mp=ie({version:Ot(en),records:Ot(Wn(pp))});function hp(){return typeof window<`u`}function gp(e){let t={environmentId:e.environmentId,label:e.label,httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl,createdAt:e.createdAt,lastConnectedAt:e.lastConnectedAt};return e.desktopSsh?{...t,desktopSsh:e.desktopSsh}:t}function _p(e,t){return up({token:e.bearerToken,expiresAt:e.bearerTokenExpiresAt,nowMs:t})}function vp(e,t){return e.bearerToken?{...e,bearerTokenSavedAt:e.bearerTokenSavedAt??new Date(t).toISOString(),bearerTokenExpiresAt:e.bearerTokenExpiresAt??cp(t)}:e}function yp(e){return gp(e)}function bp(){if(!hp())return null;try{return Si(dp,Jn)}catch{return null}}function xp(e){hp()&&Ai(dp,e,Jn)}function Sp(){if(!hp())return{};try{return Si(`ryco:saved-environment-registry:v1`,mp)??{}}catch{return{}}}function Cp(e){hp()&&Ai(fp,e,mp)}function wp(){return Sp().records??[]}function Tp(e){Cp({version:1,records:e})}function Ep(){return wp().map(e=>gp(e))}function Dp(e){let t=Date.now(),n=new Map(wp().map(e=>[e.environmentId,e]));Tp(e.map(e=>{let r=n.get(e.environmentId);if(!r||!_p(r,t))return gp(e);let i=vp(r,t),a=i.bearerToken;if(!a)return gp(e);let o=i.bearerTokenSavedAt??new Date(t).toISOString(),s=i.bearerTokenExpiresAt??cp(t);return{environmentId:e.environmentId,label:e.label,httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl,createdAt:e.createdAt,lastConnectedAt:e.lastConnectedAt,...e.desktopSsh?{desktopSsh:e.desktopSsh}:{},bearerToken:a,bearerTokenSavedAt:o,bearerTokenExpiresAt:s}}))}function Op(e){let t=Sp(),n=t.records??[],r=n.find(t=>t.environmentId===e);if(!r?.bearerToken)return null;let i=Date.now();if(!_p(r,i))return Ap(e),null;let a=vp(r,i);return(a.bearerTokenSavedAt!==r.bearerTokenSavedAt||a.bearerTokenExpiresAt!==r.bearerTokenExpiresAt)&&Cp({version:t.version??1,records:n.map(t=>t.environmentId===e?a:t)}),r.bearerToken}function kp(e,t){let n=t.trim();if(n.length===0)return Ap(e),!1;let r=Sp(),i=r.records??[],a=!1,o=Date.now();return Cp({version:r.version??1,records:i.map(t=>{if(t.environmentId!==e)return t;a=!0;let r={environmentId:t.environmentId,label:t.label,httpBaseUrl:t.httpBaseUrl,wsBaseUrl:t.wsBaseUrl,createdAt:t.createdAt,lastConnectedAt:t.lastConnectedAt,bearerToken:n,bearerTokenSavedAt:new Date(o).toISOString(),bearerTokenExpiresAt:cp(o)};return t.desktopSsh?Object.assign(r,{desktopSsh:t.desktopSsh}):r})}),a}function Ap(e){let t=Sp();Cp({version:t.version??1,records:(t.records??[]).map(t=>t.environmentId===e?yp(t):t)})}var jp;function Mp(){return Error(`Local backend API is unavailable before a backend is paired.`)}function U(e,t){let n=e();return n?t(n):Promise.reject(Mp())}function Np(e,t){let n=typeof e==`function`?e:()=>e;return{dialogs:{pickFolder:async e=>window.desktopBridge?window.desktopBridge.pickFolder(e):null,confirm:async e=>window.desktopBridge?window.desktopBridge.confirm(e):window.confirm(e)},shell:{openInEditor:(e,t)=>U(n,n=>n.shell.openInEditor({cwd:e,editor:t})),openExternal:async e=>{if(window.desktopBridge){if(!await window.desktopBridge.openExternal(e))throw Error(`Unable to open link.`);return}window.open(e,`_blank`,`noopener,noreferrer`)},getPathForFile:async e=>window.desktopBridge?.getPathForFile?.(e)||null},contextMenu:{show:async(e,t)=>window.desktopBridge?window.desktopBridge.showContextMenu(e,t):Ha()===`phone`&&tp()?ap(e):Yf(e,t)},persistence:{getClientSettings:async()=>window.desktopBridge?window.desktopBridge.getClientSettings():bp(),setClientSettings:async e=>{if(window.desktopBridge)return window.desktopBridge.setClientSettings(e);xp(e)},getSavedEnvironmentRegistry:async()=>window.desktopBridge?window.desktopBridge.getSavedEnvironmentRegistry():Ep(),setSavedEnvironmentRegistry:async e=>{if(window.desktopBridge)return window.desktopBridge.setSavedEnvironmentRegistry(e);Dp(e)},getSavedEnvironmentSecret:async e=>window.desktopBridge?window.desktopBridge.getSavedEnvironmentSecret(e):Op(e),setSavedEnvironmentSecret:async(e,t)=>window.desktopBridge?window.desktopBridge.setSavedEnvironmentSecret(e,t):kp(e,t),removeSavedEnvironmentSecret:async e=>{if(window.desktopBridge)return window.desktopBridge.removeSavedEnvironmentSecret(e);Ap(e)}},server:{getConfig:()=>U(n,e=>e.server.getConfig()),getAdvertisedEndpoints:()=>U(n,e=>e.server.getAdvertisedEndpoints()),getDiagnosticsMetrics:()=>U(n,e=>e.server.getDiagnosticsMetrics()),getStatistics:()=>U(n,e=>e.server.getStatistics()),getUsageSummary:e=>U(n,t=>t.server.getUsageSummary(e)),refreshProviders:()=>U(n,e=>e.server.refreshProviders()),updateProvider:e=>U(n,t=>t.server.updateProvider(e)),upsertKeybinding:e=>U(n,t=>t.server.upsertKeybinding(e)),getSettings:()=>U(n,e=>e.server.getSettings()),updateSettings:e=>U(n,t=>t.server.updateSettings(e)),getDiagnosticsSnapshot:()=>U(n,e=>e.server.getDiagnosticsSnapshot()),discoverSourceControl:()=>U(n,e=>e.server.discoverSourceControl()),listOpinionatedPlugins:()=>U(n,e=>e.server.listOpinionatedPlugins()),checkOpinionatedPlugins:e=>U(n,t=>t.server.checkOpinionatedPlugins(e)),installOpinionatedPlugin:e=>U(n,t=>t.server.installOpinionatedPlugin(e))},keybindings:{replaceCustom:e=>U(n,t=>t.keybindings.replaceCustom(e))},...t?.includeMcp??e!==void 0?{mcp:{listWorkspaces:()=>U(n,e=>e.mcp.listWorkspaces()),listServers:e=>U(n,t=>t.mcp.listServers(e)),upsertServer:e=>U(n,t=>t.mcp.upsertServer(e)),setServerEnabled:e=>U(n,t=>t.mcp.setServerEnabled(e)),removeServer:e=>U(n,t=>t.mcp.removeServer(e)),reloadServers:e=>U(n,t=>t.mcp.reloadServers(e)),startOauthLogin:e=>U(n,t=>t.mcp.startOauthLogin(e))}}:{}}}function Pp(e,t){let n=t.mcp??e.mcp;return{...e,...t,dialogs:{...e.dialogs,...t.dialogs},shell:{...e.shell,...t.shell},contextMenu:{...e.contextMenu,...t.contextMenu},persistence:{...e.persistence,...t.persistence},server:{...e.server,...t.server},...n?{mcp:n}:{}}}function Fp(){if(!(typeof window>`u`))return jp||(window.nativeApi?(jp=Pp(Np(),window.nativeApi),jp):(jp=Np(()=>{let e=qr();if(!e)return;let t=e.environmentId?zC(e.environmentId)?.client:void 0;return t||l()?t:HC().client},{includeMcp:qr()!==null}),jp))}function Ip(){let e=Fp();if(!e)throw Error(`Local API not found`);return e}function Lp(e){let t=(t=>(0,L.useSyncExternalStore)(e.subscribe,()=>t(e.getState()),()=>t(e.getState())));return t.getState=e.getState,t.setState=e.setState,t.subscribe=e.subscribe,t}var W=or({kv:{getRegistry:()=>Ip().persistence.getSavedEnvironmentRegistry(),setRegistry:e=>Ip().persistence.setSavedEnvironmentRegistry(e.map(e=>fi(e)))},secretKV:Uf}),Rp=Lp(W.registryStore),G=Lp(W.runtimeStore),zp=W.hasHydrated,Bp=W.waitForHydration,Vp=W.list,Hp=W.get,Up=W.persistRecord,Wp=W.readBearerToken,Gp=W.writeBearerToken,Kp=W.removeBearerToken;W.resetForTests,W.resetRuntimeForTests,W.getRuntime;function qp(e){if(l())return null;let t=qr();return t?.environmentId===e?pi(t):Hp(e)?.httpBaseUrl??null}function Jp(e){let t=qp(e.environmentId);if(!t)throw Error(`Unable to resolve HTTP base URL for environment ${e.environmentId}.`);let n=new URL(Dr(t));return n.pathname=e.pathname,e.searchParams&&(n.search=new URLSearchParams(e.searchParams).toString()),n.toString()}function Yp(e){let t=new Map,n=!1;for(let r of e)switch(r.type){case`thread.turn-diff-completed`:case`thread.reverted`:n=!0;break;case`thread.created`:t.set(r.payload.threadId,{clearPromotedDraft:!0,clearDeletedThread:!1,removeTerminalState:!1});break;case`thread.deleted`:t.set(r.payload.threadId,{clearPromotedDraft:!1,clearDeletedThread:!0,removeTerminalState:!0});break;case`thread.archived`:t.set(r.payload.threadId,{clearPromotedDraft:!1,clearDeletedThread:!1,removeTerminalState:!0});break;case`thread.unarchived`:t.set(r.payload.threadId,{clearPromotedDraft:!1,clearDeletedThread:!1,removeTerminalState:!1})}let r=[],i=[],a=[];for(let[e,n]of t)n.clearPromotedDraft&&r.push(e),n.clearDeletedThread&&i.push(e),n.removeTerminalState&&a.push(e);return{promoteDraftThreadIds:r,clearDeletedThreadIds:i,removeTerminalStateThreadIds:a,needsProviderInvalidation:n}}var Xp=new Map,Zp=hc({canReadConnections:()=>!0,readClient:e=>zC(e)?.client??null});function Qp(e){return Xp.get(e)??Zp.read(e)}function $p(e,t){return Xp.get(e)??(t?mc(t):void 0)}function em(e){let t=Qp(e);if(!t)throw Error(`Environment API not found for environment ${e}`);return t}Object.freeze({entries:[],truncated:!1});var tm=Object.freeze({data:null,isLoading:!1,isFetching:!1,error:null}),nm=tm,rm=F(tm).pipe(P,N(`project-search-entries:null`)),im=new Set,am=new Map,om=Sr(e=>(im.add(e),F(tm).pipe(P,N(`project-search-entries:${e}`))));function sm(e,t,n){return`${e}::${t}::${n}`}function cm(e){return e.environmentId===null||e.cwd===null?null:sm(e.environmentId,e.cwd,e.limit??80)}function lm(e){return e===null?rm:om(e)}function um(e){return!((e.enabled??!0)&&e.environmentId!==null&&e.cwd!==null&&e.query.length>0)||e.environmentId===null||e.cwd===null?null:{environmentId:e.environmentId,cwd:e.cwd,query:e.query,limit:e.limit??80,staleTime:e.staleTime??15e3}}function dm(e,t,n){let r=sm(e,t,n),i=am.get(r);return i||(i={environmentId:e,cwd:t,limit:n,token:0,inFlightQuery:null,lastInput:null,observerCount:0,cache:new Map},am.set(r,i)),i}function fm(e,t){let n=om(e),r=M.get(n);(r.data!==t.data||r.isLoading!==t.isLoading||r.isFetching!==t.isFetching||r.error!==t.error)&&M.set(n,t)}function pm(e){let t=M.get(om(e));fm(e,{data:t.data,isLoading:t.data===null,isFetching:!0,error:null})}function mm(e,t){fm(e,{data:t,isLoading:!1,isFetching:!1,error:null})}function hm(e,t){fm(e,{data:M.get(om(e)).data,isLoading:!1,isFetching:!1,error:t})}function gm(e,t,n){let r=n.query,i=++t.token;t.inFlightQuery=r,pm(e);let a;try{a=em(n.environmentId)}catch(n){t.token===i&&(t.inFlightQuery=null,hm(e,_m(n)));return}a.projects.searchEntries({cwd:n.cwd,query:r,limit:n.limit}).then(n=>{t.cache.set(r,{result:n,fetchedAt:Date.now()}),t.token===i&&(t.inFlightQuery=null,mm(e,n))}).catch(n=>{t.token===i&&(t.inFlightQuery=null,hm(e,_m(n)))})}function _m(e){return e instanceof Error?e:Error(String(e))}function vm(e,t){let n=um(e);if(n===null)return;let r=sm(n.environmentId,n.cwd,n.limit),i=dm(n.environmentId,n.cwd,n.limit);if(i.lastInput=n,!t?.force){let e=i.cache.get(n.query);if(e&&Date.now()-e.fetchedAt<n.staleTime){mm(r,e.result);return}if(i.inFlightQuery===n.query)return}gm(r,i,n)}function ym(e){if(e.environmentId===null||e.cwd===null)return;let t=dm(e.environmentId,e.cwd,e.limit??80);t.observerCount+=1}function bm(e){let t=cm(e);if(t===null)return;let n=am.get(t);n&&n.observerCount>0&&--n.observerCount}function xm(e){let t=e?.environmentId??null,n=e?.cwd??null;for(let e of am.values())(t===null||e.environmentId===t)&&(n===null||e.cwd===n)&&(e.cache.clear(),e.observerCount>0&&e.lastInput!==null&&vm(e.lastInput,{force:!0}))}var Sm=Object.freeze({data:null,isLoading:!1,isFetching:!1,error:null,isPending:!0}),Cm=Sm,wm=`\0`,Tm=new Set,Em=Sr(e=>(Tm.add(e),F(Sm).pipe(P,N(`filesystem-browse:${e}`)))),Dm=F(Sm).pipe(P,N(`filesystem-browse:null`)),Om=new Map;function km(e){if(!((e.enabled??!0)&&e.environmentId!==null&&e.partialPath.length>0)||e.environmentId===null)return null;let t=e.cwd??null,n=`${e.environmentId}${wm}${t??``}${wm}${e.partialPath}`;return{environmentId:e.environmentId,partialPath:e.partialPath,cwd:t,staleTime:e.staleTime??3e4,compositeKey:n}}function Am(e){return km(e)?.compositeKey??null}function jm(e){return e===null?Dm:Em(e)}function Mm(e,t){M.set(Em(e),t)}function Nm(e){return M.get(Em(e))}async function Pm(e){let t=++e.fetchToken;e.fetching=!0;let n=Nm(e.compositeKey);Mm(e.compositeKey,{data:n.data,isLoading:n.data===null,isFetching:!0,error:null,isPending:!0});let r=Array.from(e.subscriberTargets.values()).at(-1),i=r===void 0?Qp(e.environmentId):r;if(!i){if(t!==e.fetchToken)return;e.fetching=!1,Mm(e.compositeKey,{data:n.data,isLoading:!1,isFetching:!1,error:Error(`The environment is temporarily unavailable. Reconnecting…`),isPending:!1});return}try{let n=await i.filesystem.browse({partialPath:e.partialPath,...e.cwd?{cwd:e.cwd}:{}});if(t!==e.fetchToken)return;e.fetching=!1,e.hasData=!0,e.lastFetchedAt=Date.now(),e.lastResult=n,Mm(e.compositeKey,{data:n,isLoading:!1,isFetching:!1,error:null,isPending:!1})}catch(n){if(t!==e.fetchToken)return;e.fetching=!1;let r=_m(n);Mm(e.compositeKey,{data:Nm(e.compositeKey).data,isLoading:!1,isFetching:!1,error:r,isPending:!1})}}function Fm(e){let t=Om.get(e.compositeKey);return t||(t={compositeKey:e.compositeKey,environmentId:e.environmentId,partialPath:e.partialPath,cwd:e.cwd,staleTime:e.staleTime,subscriberCount:0,lastFetchedAt:0,fetchToken:0,hasData:!1,fetching:!1,lastResult:null,subscriberTargets:new Map},Om.set(e.compositeKey,t)),t}function Im(e){let t=Fm(e),n=t.hasData&&Date.now()-t.lastFetchedAt>=t.staleTime;!t.fetching&&(!t.hasData||n)&&Pm(t)}function Lm(e,t){let n=km(e);if(n===null)return;let r=Fm(n);if(!t?.force){if(r.hasData&&Date.now()-r.lastFetchedAt<n.staleTime){Mm(n.compositeKey,{data:r.lastResult,isLoading:!1,isFetching:!1,error:null,isPending:!1});return}if(r.fetching)return}Pm(r)}function Rm(e,t){let n=km(e);if(n===null)return()=>void 0;let r=Fm(n),i=Symbol(`filesystem-browse-subscriber`),a=Array.from(r.subscriberTargets.values()).at(-1);return t!==void 0&&r.subscriberTargets.set(i,t),a!==Array.from(r.subscriberTargets.values()).at(-1)&&r.fetching&&(r.fetchToken+=1,r.fetching=!1),r.subscriberCount+=1,Im(n),()=>{let e=Om.get(n.compositeKey);if(e&&e.subscriberCount>0){let t=Array.from(e.subscriberTargets.values()).at(-1);e.subscriberTargets.delete(i),t!==Array.from(e.subscriberTargets.values()).at(-1)&&e.fetching&&(e.fetchToken+=1,e.fetching=!1),--e.subscriberCount}}}function zm(e){Lm(e)}function Bm(){for(let e of im)M.set(om(e),tm);im.clear(),am.clear();for(let e of Om.values())e.fetchToken+=1;Om.clear();for(let e of Tm)M.set(Em(e),Sm);Tm.clear()}function Vm(e){return JSON.stringify([e.environmentId??null,e.threadId,e.fromTurnCount,e.toTurnCount,e.ignoreWhitespace,e.cacheScope??null])}function Hm(e){return e.fromTurnCount===0?be(tt)({threadId:e.threadId,toTurnCount:e.toTurnCount,ignoreWhitespace:e.ignoreWhitespace}).pipe(Ln(e=>({kind:`fullThreadDiff`,input:e}))):be(ut)({threadId:e.threadId,fromTurnCount:e.fromTurnCount,toTurnCount:e.toTurnCount,ignoreWhitespace:e.ignoreWhitespace}).pipe(Ln(e=>({kind:`turnDiff`,input:e})))}function Um(e){return(e.enabled??!0)&&!!e.environmentId&&!!e.threadId&&Et(Hm(e))}function Wm(e){return e instanceof Error?e.message:typeof e==`string`?e:``}function Gm(e){let t=Wm(e).trim();if(t.length===0)return`Failed to load checkpoint diff.`;let n=t.toLowerCase();if(n.includes(`not a git repository`))return`Turn diffs are unavailable because this project is not a git repository.`;if(n.includes(`checkpoint unavailable for thread`)||n.includes(`checkpoint invariant violation`)){let e=t.indexOf(`:`);if(e>=0){let n=t.slice(e+1).trim();if(n.length>0)return n}}return t}function Km(e){let t=Wm(e).toLowerCase();return t.includes(`exceeds current turn count`)||t.includes(`checkpoint is unavailable for turn`)||t.includes(`filesystem checkpoint is unavailable`)}function qm(e,t){return Km(t)?e<12:e<3}function Jm(e,t){return Km(t)?Math.min(5e3,250*2**(e-1)):Math.min(1e3,100*2**(e-1))}async function Ym(e){let t=Hm(e);if(!e.environmentId||!e.threadId||Kt(t))throw Error(`Checkpoint diff is unavailable.`);let n=em(e.environmentId);return t.value.kind===`fullThreadDiff`?await n.orchestration.getFullThreadDiff(t.value.input):await n.orchestration.getTurnDiff(t.value.input)}var Xm=Object.freeze({data:null,error:null,isLoading:!1}),Zm=Object.freeze({data:null,error:null,isLoading:!0}),Qm=Xm,$m=F(Qm).pipe(P,N(`checkpoint-diff:disabled`)),eh=new Set,th=Sr(e=>(eh.add(e),F(Zm).pipe(P,N(`checkpoint-diff:${e}`)))),nh=new Map,rh=new Map,ih=()=>void 0;function ah(e,t){M.set(th(e),t)}function oh(e){return M.get(th(e))}function sh(e){return new Promise(t=>{setTimeout(t,e)})}function ch(e){let t=++e.generation;e.fetching=!0;let n=oh(e.key);ah(e.key,{data:n.data,error:null,isLoading:n.data===null}),(async()=>{let n=0;for(;;)try{let n=await Ym(e.input);if(e.generation!==t)return;e.fetching=!1,e.hasResolved=!0,ah(e.key,{data:n,error:null,isLoading:!1});return}catch(r){let i=Error(Gm(r),{cause:r});if(n+=1,e.generation!==t)return;if(!qm(n,i)){e.fetching=!1,ah(e.key,{data:null,error:i,isLoading:!1});return}if(await sh(Jm(n,i)),e.generation!==t)return}})()}function lh(e,t){let n=rh.get(e);if(n){n.add(t);return}rh.set(e,new Set([t]))}function uh(e){if(!Um(e)||e.threadId===null)return ih;let t=Vm(e),n=nh.get(t);return n||(n={key:t,input:e,threadId:e.threadId,refCount:0,generation:0,hasResolved:!1,fetching:!1},nh.set(t,n),lh(e.threadId,t)),n.refCount+=1,!n.hasResolved&&!n.fetching&&ch(n),()=>{let e=nh.get(t);e&&(e.refCount=Math.max(0,e.refCount-1))}}function dh(e){if(e.hasResolved=!1,e.refCount>0){ch(e);return}e.generation+=1,e.fetching=!1}function fh(){for(let e of nh.values())dh(e)}function ph(){for(let e of nh.values())e.generation+=1;nh.clear(),rh.clear();for(let e of eh)ah(e,Zm);eh.clear()}function mh(){return Ec(ir,ur.origin())}var hh=e=>mh().bootstrapRemoteBearerSession(e),gh=e=>mh().fetchRemoteSessionState(e),_h=e=>mh().fetchRemoteEnvironmentDescriptor(e),vh=e=>mh().resolveRemoteWebSocketConnectionUrl(e);function yh(e){return Ac(e,ur.origin(),{readPairingToken:Mi,readHostedPairingRequest:Ua})}var bh=Object.freeze({lastSnapshotSequence:null,lastEventSequence:null,highestSequence:null,eventCount:0,snapshotCount:0,gapCount:0,lastGap:null,updatedAt:null});function xh(){return new Date().toISOString()}function Sh(e,t,n){let r=e??bh,i=r.highestSequence===null?t:Math.max(r.highestSequence,t);return{...r,lastSnapshotSequence:t,highestSequence:i,snapshotCount:r.snapshotCount+1,updatedAt:n}}function Ch(e,t,n){let r=e??bh,i=r.highestSequence,a=r.gapCount,o=r.lastGap;i!==null&&t>i+1&&(a+=1,o={expectedSequence:i+1,receivedSequence:t,detectedAt:n});let s=i===null?t:Math.max(i,t);return{...r,lastEventSequence:t,highestSequence:s,eventCount:r.eventCount+1,gapCount:a,lastGap:o,updatedAt:n}}var wh=c()(e=>({byEnvironment:{},recordSnapshot:(t,n)=>e(e=>({byEnvironment:{...e.byEnvironment,[t]:Sh(e.byEnvironment[t],n,xh())}})),recordEvent:(t,n)=>e(e=>({byEnvironment:{...e.byEnvironment,[t]:Ch(e.byEnvironment[t],n,xh())}})),reset:()=>e({byEnvironment:{}})}));function Th(e,t){try{wh.getState().recordSnapshot(e,t)}catch{}}function Eh(e,t){try{wh.getState().recordEvent(e,t)}catch{}}var Dh={recordEvent:Eh,recordSnapshot:Th};function Oh(e){return sr({...e,pushSequenceMonitor:Dh})}O()(`@ryco/client-runtime/platform/Endpoint`),O()(`@ryco/client-runtime/platform/Socket`),O()(`@ryco/client-runtime/platform/AppLifecycle`),O()(`@ryco/client-runtime/platform/KV`),O()(`@ryco/client-runtime/platform/SecretKV`),O()(`@ryco/client-runtime/platform/PasskeyCeremony`),O()(`@ryco/client-runtime/platform/SessionCredentials`),O()(`@ryco/client-runtime/platform/DpopSigner`),O()(`@ryco/client-runtime/platform/PairingCredentialSource`),O()(`@ryco/client-runtime/platform/AttachmentCodec`),O()(`@ryco/client-runtime/platform/Clock`),O()(`@ryco/client-runtime/platform/FrameScheduler`);var kh=Pe({span(e){return new D(e)}}),Ah={tracingLayer:ft(ee,kh),performanceEnabled:()=>!1,recordPerformance:()=>void 0};ot(`@ryco/client-runtime/platform/Observability`,{defaultValue:()=>Ah}),O()(`@ryco/client-runtime/platform/ClientRuntimeConfig`);var jh={clock:{now:()=>Date.now()},frameScheduler:{scheduleFrame:e=>void Promise.resolve().then(e)},observability:Ah,isHostedHubMode:()=>!1,resolveAttachmentPreviewUrl:({attachmentId:e})=>e},Mh=null;function Nh(e){Mh=e}function Ph(e){Mh=null,jh=e}function Fh(){if(Mh){let e=Mh;Mh=null,e()}return jh}var Ih=`context-compaction`,Lh=xn(Ue);function Rh(e){return e.kind===Ih}function zh(e){if(e.kind!==`context-handoff`)return!1;try{let t=Lh(e.payload);return t.status===`consumed`||t.status===`failed`||t.status===`delivery-uncertain`}catch{return!1}}function Bh(e){return Rh(e)||zh(e)}function Vh(e,t){if(e.length<=t)return[...e];let n=e.slice(-t),r=new Set(n.map(e=>e.id)),i=e.filter(e=>Bh(e)&&!r.has(e.id));return i.length===0?[...n]:[...i,...n]}var Hh=[],Uh=[],Wh=[],Gh=[],Kh={},qh={},Jh={},Yh={},Xh=new WeakMap,Zh=new WeakMap;function Qh(e,t,n){if(!e||e.length===0||!t)return n;let r=Xh.get(e),i=r?.get(t);if(i)return i;let a=e.flatMap(e=>{let n=t[e];return n?[n]:[]}),o=r??new WeakMap;return o.set(t,a),r||Xh.set(e,o),a}function $h(e,t){return Qh(e.messageIdsByThreadId[t],e.messageByThreadId[t]??Kh,Hh)}function eg(e,t){return Qh(e.activityIdsByThreadId[t],e.activityByThreadId[t]??qh,Uh)}function tg(e,t){return Qh(e.proposedPlanIdsByThreadId[t],e.proposedPlanByThreadId[t]??Jh,Wh)}function ng(e,t){return Qh(e.turnDiffIdsByThreadId[t],e.turnDiffSummaryByThreadId[t]??Yh,Gh)}function rg(e,t){let n=e.threadShellById[t];if(!n)return;let r=e.threadSessionById[t]??null,i=e.threadTurnStateById[t],a=$h(e,t),o=eg(e,t),s=tg(e,t),c=ng(e,t),l=Zh.get(n);if(l&&l.session===r&&l.turnState===i&&l.messages===a&&l.activities===o&&l.proposedPlans===s&&l.turnDiffSummaries===c)return l.thread;let u={...n,session:r,latestTurn:i?.latestTurn??null,pendingSourceProposedPlan:i?.pendingSourceProposedPlan,messages:a,activities:o,proposedPlans:s,turnDiffSummaries:c};return Zh.set(n,{session:r,turnState:i,messages:a,activities:o,proposedPlans:s,turnDiffSummaries:c,thread:u}),u}var ig={projectIds:[],projectById:{},worktreeIds:[],worktreeIdsByProjectId:{},worktreeById:{},threadIds:[],threadIdsByProjectId:{},threadShellById:{},threadSessionById:{},threadTurnStateById:{},messageIdsByThreadId:{},messageByThreadId:{},pendingMessagesByThreadId:{},activityIdsByThreadId:{},activityByThreadId:{},proposedPlanIdsByThreadId:{},proposedPlanByThreadId:{},turnDiffIdsByThreadId:{},turnDiffSummaryByThreadId:{},threadHistoryByThreadId:{},threadHistoryLoadByThreadId:{},sidebarThreadSummaryById:{},bootstrapComplete:!1,hydratedFromCacheAt:void 0},ag={activeEnvironmentId:null,environmentStateById:{}},og=2e3,sg=500,cg=[],lg=[],ug=[],dg=[];function fg(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function pg(e){return Fn(e.instanceId)?{...e,model:bi(e.instanceId,e.model)}:e}function mg(e){return e.map(e=>({...e}))}function hg(e){return{provider:i_(e.providerName),providerInstanceId:e.providerInstanceId??void 0,status:r_(e.status),orchestrationStatus:e.status,activeTurnId:e.activeTurnId??void 0,createdAt:e.updatedAt,updatedAt:e.updatedAt,...e.lastError?{lastError:e.lastError}:{}}}function gg(e,t){let n=t.attachments?.map(t=>t.type===`image`?{...t,...Fh().isHostedHubMode()?{}:{previewUrl:Fh().resolveAttachmentPreviewUrl({environmentId:e,attachmentId:t.id})}}:{...t});return{id:t.id,role:t.role,text:t.text,turnId:t.turnId,...t.dispatchMode===void 0?{}:{dispatchMode:t.dispatchMode},createdAt:t.createdAt,streaming:t.streaming,...t.streaming?{}:{completedAt:t.updatedAt},...n&&n.length>0?{attachments:n}:{}}}function _g(e){return{id:e.id,turnId:e.turnId,planMarkdown:e.planMarkdown,implementedAt:e.implementedAt,implementationThreadId:e.implementationThreadId,createdAt:e.createdAt,updatedAt:e.updatedAt}}function vg(e){return{turnId:e.turnId,completedAt:e.completedAt,status:e.status,assistantMessageId:e.assistantMessageId??void 0,checkpointTurnCount:e.checkpointTurnCount,checkpointRef:e.checkpointRef,files:e.files.filter(yg).map(e=>({path:e.path,kind:e.kind,additions:e.additions,deletions:e.deletions}))}}function yg(e){return e.kind!==`modified`||e.additions>0||e.deletions>0}function bg(e,t){return{id:e.id,environmentId:t,name:e.title,cwd:e.workspaceRoot,projectMetadataDir:e.projectMetadataDir,repositoryIdentity:e.repositoryIdentity??null,defaultModelSelection:e.defaultModelSelection?pg(e.defaultModelSelection):null,customSystemPrompt:e.customSystemPrompt??null,customAvatarContentHash:e.customAvatarContentHash??null,preferredRemoteName:e.preferredRemoteName??null,createdAt:e.createdAt,updatedAt:e.updatedAt,scripts:mg(e.scripts)}}function xg(e,t){return{id:e.worktreeId,environmentId:t,projectId:e.projectId,title:e.title??null,branch:e.branch,worktreePath:e.worktreePath,origin:e.origin,prNumber:e.prNumber,issueNumber:e.issueNumber,prTitle:e.prTitle,issueTitle:e.issueTitle,prState:e.prState??null,prIsDraft:e.prIsDraft??null,issueState:e.issueState??null,workItemProvider:e.workItemProvider??null,workItemKey:e.workItemKey??null,workItemTitle:e.workItemTitle??null,workItemState:e.workItemState??null,workItemStateName:e.workItemStateName??null,workItemUrl:e.workItemUrl??null,createdAt:e.createdAt,updatedAt:e.updatedAt,archivedAt:e.archivedAt,manualPosition:e.manualPosition}}function Sg(e,t){return{id:e.id,environmentId:t,codexThreadId:null,projectId:e.projectId,title:e.title,modelSelection:pg(e.modelSelection),runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,tokenMode:e.tokenMode??`balanced`,session:e.session?hg(e.session):null,messages:e.messages.map(e=>gg(t,e)),proposedPlans:e.proposedPlans.map(_g),error:Mr(e.session?.lastError),createdAt:e.createdAt,archivedAt:e.archivedAt,settledOverride:e.settledOverride,settledAt:e.settledAt,updatedAt:e.updatedAt,latestTurn:e.latestTurn,pendingSourceProposedPlan:e.latestTurn?.sourceProposedPlan,branch:e.branch,worktreePath:e.worktreePath,worktreeId:e.worktreeId??null,manualStatusBucket:e.manualStatusBucket??null,manualPosition:e.manualPosition??0,goal:e.goal??null,turnDiffSummaries:e.checkpoints.map(vg),activities:e.activities.map(e=>({...e}))}}function Cg(e,t){let n={id:e.id,environmentId:t,codexThreadId:null,projectId:e.projectId,title:e.title,modelSelection:pg(e.modelSelection),runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,tokenMode:e.tokenMode??`balanced`,error:Mr(e.session?.lastError),createdAt:e.createdAt,archivedAt:e.archivedAt,settledOverride:e.settledOverride,settledAt:e.settledAt,updatedAt:e.updatedAt,branch:e.branch,worktreePath:e.worktreePath,worktreeId:e.worktreeId??null,manualStatusBucket:e.manualStatusBucket??null,manualPosition:e.manualPosition??0,goal:e.goal??null},r=e.session?hg(e.session):null;return{shell:n,session:r,turnState:{latestTurn:e.latestTurn,pendingSourceProposedPlan:e.latestTurn?.sourceProposedPlan},summary:{id:e.id,environmentId:t,projectId:e.projectId,title:e.title,modelSelection:pg(e.modelSelection),interactionMode:e.interactionMode,tokenMode:e.tokenMode??`balanced`,session:r,providerDriver:r?.provider??null,createdAt:e.createdAt,archivedAt:e.archivedAt,settledOverride:e.settledOverride,settledAt:e.settledAt,updatedAt:e.updatedAt,latestTurn:e.latestTurn,branch:e.branch,worktreePath:e.worktreePath,worktreeId:e.worktreeId??null,manualStatusBucket:e.manualStatusBucket??null,manualPosition:e.manualPosition??0,latestUserMessageAt:e.latestUserMessageAt,hasPendingApprovals:e.hasPendingApprovals,hasPendingUserInput:e.hasPendingUserInput,hasActionableProposedPlan:e.hasActionableProposedPlan,backgroundLiveness:e.backgroundLiveness??null,priority:e.priority}}}function wg(e){return{id:e.id,environmentId:e.environmentId,codexThreadId:e.codexThreadId,projectId:e.projectId,title:e.title,modelSelection:e.modelSelection,runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,tokenMode:e.tokenMode??`balanced`,error:e.error,createdAt:e.createdAt,archivedAt:e.archivedAt,settledOverride:e.settledOverride,settledAt:e.settledAt,updatedAt:e.updatedAt,branch:e.branch,worktreePath:e.worktreePath,worktreeId:e.worktreeId,manualStatusBucket:e.manualStatusBucket,manualPosition:e.manualPosition,goal:e.goal??null}}function Tg(e){return{latestTurn:e.latestTurn,...e.pendingSourceProposedPlan?{pendingSourceProposedPlan:e.pendingSourceProposedPlan}:{}}}function Eg(e,t){return e===t?!0:e===void 0||t===void 0?!1:e.threadId===t.threadId&&e.planId===t.planId}function Dg(e,t){return e===t?!0:e==null||t==null?!1:e.objective===t.objective&&e.status===t.status&&e.tokenBudget===t.tokenBudget&&e.tokensUsed===t.tokensUsed&&e.timeUsedSeconds===t.timeUsedSeconds&&e.createdAt===t.createdAt&&e.updatedAt===t.updatedAt}function Og(e,t){return e===t?!0:e==null||t==null?!1:e.turnId===t.turnId&&e.state===t.state&&e.requestedAt===t.requestedAt&&e.startedAt===t.startedAt&&e.completedAt===t.completedAt&&e.assistantMessageId===t.assistantMessageId&&Eg(e.sourceProposedPlan,t.sourceProposedPlan)}function kg(e,t){return e===t?!0:e==null||t==null?!1:e.provider===t.provider&&e.status===t.status&&e.orchestrationStatus===t.orchestrationStatus&&e.activeTurnId===t.activeTurnId&&e.createdAt===t.createdAt&&e.updatedAt===t.updatedAt&&e.lastError===t.lastError}function Ag(e,t){return e!==void 0&&e.id===t.id&&e.projectId===t.projectId&&e.title===t.title&&e.interactionMode===t.interactionMode&&e.tokenMode===t.tokenMode&&kg(e.session,t.session)&&e.createdAt===t.createdAt&&e.archivedAt===t.archivedAt&&e.settledOverride===t.settledOverride&&e.settledAt===t.settledAt&&e.updatedAt===t.updatedAt&&Og(e.latestTurn,t.latestTurn)&&e.branch===t.branch&&e.worktreePath===t.worktreePath&&e.worktreeId===t.worktreeId&&e.manualStatusBucket===t.manualStatusBucket&&e.manualPosition===t.manualPosition&&e.latestUserMessageAt===t.latestUserMessageAt&&e.hasPendingApprovals===t.hasPendingApprovals&&e.hasPendingUserInput===t.hasPendingUserInput&&e.hasActionableProposedPlan===t.hasActionableProposedPlan&&(e.backgroundLiveness??null)===(t.backgroundLiveness??null)&&jg(e.priority,t.priority)}function jg(e,t){return e===t||e!==void 0&&t!==void 0&&e.tier===t.tier&&e.confidence===t.confidence&&e.reason===t.reason&&e.inputFingerprint===t.inputFingerprint&&e.batchId===t.batchId&&e.modelSelection.instanceId===t.modelSelection.instanceId&&e.modelSelection.model===t.modelSelection.model&&JSON.stringify(e.modelSelection.options)===JSON.stringify(t.modelSelection.options)&&e.rankedAt===t.rankedAt&&e.usableUntil===t.usableUntil}function Mg(e,t){return e!==void 0&&e.id===t.id&&e.environmentId===t.environmentId&&e.codexThreadId===t.codexThreadId&&e.projectId===t.projectId&&e.title===t.title&&e.modelSelection===t.modelSelection&&e.runtimeMode===t.runtimeMode&&e.interactionMode===t.interactionMode&&e.tokenMode===t.tokenMode&&e.error===t.error&&e.createdAt===t.createdAt&&e.archivedAt===t.archivedAt&&e.settledOverride===t.settledOverride&&e.settledAt===t.settledAt&&e.updatedAt===t.updatedAt&&e.branch===t.branch&&e.worktreePath===t.worktreePath&&e.worktreeId===t.worktreeId&&e.manualStatusBucket===t.manualStatusBucket&&e.manualPosition===t.manualPosition&&Dg(e.goal,t.goal)}function Ng(e,t){return e!==void 0&&e.id===t.id&&e.environmentId===t.environmentId&&e.projectId===t.projectId&&e.title===t.title&&e.branch===t.branch&&e.worktreePath===t.worktreePath&&e.origin===t.origin&&e.prNumber===t.prNumber&&e.issueNumber===t.issueNumber&&e.prTitle===t.prTitle&&e.issueTitle===t.issueTitle&&e.prState===t.prState&&e.prIsDraft===t.prIsDraft&&e.issueState===t.issueState&&e.workItemProvider===t.workItemProvider&&e.workItemKey===t.workItemKey&&e.workItemTitle===t.workItemTitle&&e.workItemState===t.workItemState&&e.workItemStateName===t.workItemStateName&&e.workItemUrl===t.workItemUrl&&e.createdAt===t.createdAt&&e.updatedAt===t.updatedAt&&e.archivedAt===t.archivedAt&&e.manualPosition===t.manualPosition}function Pg(e,t){return e!==void 0&&Og(e.latestTurn,t.latestTurn)&&Eg(e.pendingSourceProposedPlan,t.pendingSourceProposedPlan)}function Fg(e,t){return e.includes(t)?[...e]:[...e,t]}function Ig(e,t){return e.filter(e=>e!==t)}function Lg(e){return{ids:e.messages.map(e=>e.id),byId:Object.fromEntries(e.messages.map(e=>[e.id,e]))}}function Rg(e){return zg(e.activities)}function zg(e){return{ids:e.map(e=>e.id),byId:Object.fromEntries(e.map(e=>[e.id,e]))}}function Bg(e){return{ids:e.proposedPlans.map(e=>e.id),byId:Object.fromEntries(e.proposedPlans.map(e=>[e.id,e]))}}function Vg(e){return{ids:e.turnDiffSummaries.map(e=>e.turnId),byId:Object.fromEntries(e.turnDiffSummaries.map(e=>[e.turnId,e]))}}function Hg(e){return e.projectIds.flatMap(t=>{let n=e.projectById[t];return n?[n]:[]})}function Ug(e){return e.threadIds.flatMap(t=>{let n=rg(e,t);return n?[n]:[]})}function Wg(e,t,n,r){let i=e;if(e.threadIds.includes(t)||(i={...i,threadIds:[...i.threadIds,t]}),r!==n){let e=i.threadIdsByProjectId;if(r){let n=e[r]??cg,i=Ig(n,t);if(i.length===0){let{[r]:t,...n}=e;e=n}else fg(n,i)||(e={...e,[r]:i})}let a=e[n]??cg,o=Fg(a,t);fg(a,o)||(e={...e,[n]:o}),e!==i.threadIdsByProjectId&&(i={...i,threadIdsByProjectId:e})}return i}function Gg(e,t,n){let r=e.pendingMessagesByThreadId[t.id]??[],i=r.length===0?t:{...t,messages:[...t.messages,...r].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id))},a=wg(t),o=Tg(t),s=e.threadShellById[t.id],c=e.threadTurnStateById[t.id],l=Wg(e,t.id,t.projectId,n?.projectId);if(Mg(s,a)||(l={...l,threadShellById:{...l.threadShellById,[t.id]:a}}),kg(n?.session??null,t.session)||(l={...l,threadSessionById:{...l.threadSessionById,[t.id]:t.session}}),Pg(c,o)||(l={...l,threadTurnStateById:{...l.threadTurnStateById,[t.id]:o}}),n?.messages!==i.messages){let e=Lg(i);l={...l,messageIdsByThreadId:{...l.messageIdsByThreadId,[i.id]:e.ids},messageByThreadId:{...l.messageByThreadId,[i.id]:e.byId}}}if(r.length>0){let{[i.id]:e,...t}=l.pendingMessagesByThreadId;l={...l,pendingMessagesByThreadId:t}}if(n?.activities!==t.activities){let e=Rg(t);l={...l,activityIdsByThreadId:{...l.activityIdsByThreadId,[t.id]:e.ids},activityByThreadId:{...l.activityByThreadId,[t.id]:e.byId}}}if(n?.proposedPlans!==t.proposedPlans){let e=Bg(t);l={...l,proposedPlanIdsByThreadId:{...l.proposedPlanIdsByThreadId,[t.id]:e.ids},proposedPlanByThreadId:{...l.proposedPlanByThreadId,[t.id]:e.byId}}}if(n?.turnDiffSummaries!==t.turnDiffSummaries){let e=Vg(t);l={...l,turnDiffIdsByThreadId:{...l.turnDiffIdsByThreadId,[t.id]:e.ids},turnDiffSummaryByThreadId:{...l.turnDiffSummaryByThreadId,[t.id]:e.byId}}}return l}function Kg(e,t){let n=e.threadShellById[t.shell.id],r=Wg(e,t.shell.id,t.shell.projectId,n?.projectId);return Mg(n,t.shell)||(r={...r,threadShellById:{...r.threadShellById,[t.shell.id]:t.shell}}),kg(e.threadSessionById[t.shell.id]??null,t.session)||(r={...r,threadSessionById:{...r.threadSessionById,[t.shell.id]:t.session}}),Pg(e.threadTurnStateById[t.shell.id],t.turnState)||(r={...r,threadTurnStateById:{...r.threadTurnStateById,[t.shell.id]:t.turnState}}),Ag(e.sidebarThreadSummaryById[t.shell.id],t.summary)||(r={...r,sidebarThreadSummaryById:{...r.sidebarThreadSummaryById,[t.shell.id]:t.summary}}),r}function K(e,t){return Object.fromEntries(Object.entries(e).flatMap(([e,n])=>t.has(e)?[[e,n]]:[]))}function qg(e,t){let n=e.threadShellById[t];if(!n)return e;let r=Ig(e.threadIds,t),i=Ig(e.threadIdsByProjectId[n.projectId]??cg,t),a=i.length===0?(()=>{let{[n.projectId]:t,...r}=e.threadIdsByProjectId;return r})():{...e.threadIdsByProjectId,[n.projectId]:i},{[t]:o,...s}=e.threadShellById,{[t]:c,...l}=e.threadSessionById,{[t]:u,...d}=e.threadTurnStateById,{[t]:f,...p}=e.messageIdsByThreadId,{[t]:m,...h}=e.messageByThreadId,{[t]:g,..._}=e.pendingMessagesByThreadId,{[t]:v,...y}=e.activityIdsByThreadId,{[t]:b,...x}=e.activityByThreadId,{[t]:S,...C}=e.proposedPlanIdsByThreadId,{[t]:w,...T}=e.proposedPlanByThreadId,{[t]:ee,...E}=e.turnDiffIdsByThreadId,{[t]:D,...te}=e.turnDiffSummaryByThreadId,{[t]:ne,...re}=e.threadHistoryByThreadId??{},{[t]:ie,...ae}=e.threadHistoryLoadByThreadId??{},{[t]:oe,...se}=e.sidebarThreadSummaryById;return{...e,threadIds:r,threadIdsByProjectId:a,threadShellById:s,threadSessionById:l,threadTurnStateById:d,messageIdsByThreadId:p,messageByThreadId:h,pendingMessagesByThreadId:_,activityIdsByThreadId:y,activityByThreadId:x,proposedPlanIdsByThreadId:C,proposedPlanByThreadId:T,turnDiffIdsByThreadId:E,turnDiffSummaryByThreadId:te,threadHistoryByThreadId:re,threadHistoryLoadByThreadId:ae,sidebarThreadSummaryById:se}}function Jg(e,t){let n=e.environmentStateById[t.environmentId];return n?Y(e,t.environmentId,qg(n,t.threadId)):e}function Yg(e,t){let n=e.worktreeById??{},r=e.worktreeIds??lg,i=n[t.id],a=i!==void 0&&i.projectId!==t.projectId,o=r.includes(t.id)?r:[...r,t.id],s=e.worktreeIdsByProjectId??{},c=s[t.projectId]??[];if(Ng(i,t)&&r.includes(t.id)&&c.includes(t.id))return e;if(a){let e=Ig(s[i.projectId]??[],t.id);if(e.length===0){let{[i.projectId]:e,...t}=s;s=t}else s={...s,[i.projectId]:e}}let l=s[t.projectId]??[];return l.includes(t.id)||(s={...s,[t.projectId]:[...l,t.id]}),i===void 0&&o===r&&(o=[...o]),{...e,worktreeIds:o,worktreeIdsByProjectId:s,worktreeById:{...n,[t.id]:t}}}function Xg(e,t){let n=e.worktreeById??{},r=n[t];if(!r)return e;let{[t]:i,...a}=n,o=e.worktreeIdsByProjectId??{},s=Ig(o[r.projectId]??[],t),c=s.length===0?Object.fromEntries(Object.entries(o).filter(([e])=>e!==r.projectId)):{...o,[r.projectId]:s};return{...e,worktreeIds:Ig(e.worktreeIds??lg,t),worktreeIdsByProjectId:c,worktreeById:a}}function Zg(e){return e===`error`?`error`:e===`missing`?`interrupted`:`completed`}function Qg(e,t){if(e.sequence!==void 0&&t.sequence!==void 0){if(e.sequence!==t.sequence)return e.sequence-t.sequence}else if(e.sequence!==void 0)return 1;else if(t.sequence!==void 0)return-1;return e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id)}function $g(e){let t=e.previous?.turnId===e.turnId?e.previous.sourceProposedPlan:e.sourceProposedPlan;return{turnId:e.turnId,state:e.state,requestedAt:e.requestedAt,startedAt:e.startedAt,completedAt:e.completedAt,assistantMessageId:e.assistantMessageId,...t?{sourceProposedPlan:t}:{}}}function e_(e,t,n){let r=new Set;for(let n of e){if(n.role===`system`){r.add(n.id);continue}n.turnId!==void 0&&n.turnId!==null&&t.has(n.turnId)&&r.add(n.id)}let i=e.filter(e=>e.role===`user`&&r.has(e.id)).length,a=Math.max(0,n-i);if(a>0){let n=e.filter(e=>e.role===`user`&&!r.has(e.id)&&(e.turnId===void 0||e.turnId===null||t.has(e.turnId))).toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id)).slice(0,a);for(let e of n)r.add(e.id)}let o=e.filter(e=>e.role===`assistant`&&r.has(e.id)).length,s=Math.max(0,n-o);if(s>0){let n=e.filter(e=>e.role===`assistant`&&!r.has(e.id)&&(e.turnId===void 0||e.turnId===null||t.has(e.turnId))).toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id)).slice(0,s);for(let e of n)r.add(e.id)}return e.filter(e=>r.has(e.id))}function t_(e,t){return e.filter(e=>e.turnId===null||t.has(e.turnId))}function n_(e,t){return e.filter(e=>e.turnId===null||t.has(e.turnId))}function r_(e){switch(e){case`starting`:return`connecting`;case`running`:return`running`;case`error`:return`error`;case`ready`:case`interrupted`:return`ready`;case`idle`:case`stopped`:return`closed`}}function i_(e){return bt(kn)(e)?e:kn.make(`codex`)}function q(e,t,n){let r=rg(e,t);if(!r)return e;let i=n(r);return i===r?e:Gg(e,i,r)}function a_(e,t,n){let r=e.threadShellById[t];return!r||r.updatedAt===n?e:{...e,threadShellById:{...e.threadShellById,[t]:{...r,updatedAt:n}}}}function o_(e,t,n){let r=e.threadShellById[t],i=e.sidebarThreadSummaryById[t];if(!r&&!i)return e;let a=!r||r.settledOverride===n.settledOverride&&r.settledAt===n.settledAt&&r.updatedAt===n.updatedAt,o=!i||i.settledOverride===n.settledOverride&&i.settledAt===n.settledAt&&i.updatedAt===n.updatedAt;return a&&o?e:{...e,...r?{threadShellById:{...e.threadShellById,[t]:{...r,...n}}}:{},...i?{sidebarThreadSummaryById:{...e.sidebarThreadSummaryById,[t]:{...i,...n}}}:{}}}function s_(e,t){return{...e,text:t.streaming?`${e.text}${t.text}`:t.text.length>0?t.text:e.text,streaming:t.streaming,...t.turnId===void 0?{}:{turnId:t.turnId},...t.streaming?e.completedAt===void 0?{}:{completedAt:e.completedAt}:t.completedAt===void 0?{}:{completedAt:t.completedAt},...t.attachments===void 0?{}:{attachments:t.attachments}}}function c_(e,t,n){let r=e.pendingMessagesByThreadId[t]??[],i=r.find(e=>e.id===n.id)?r.map(e=>e.id===n.id?s_(e,n):e):[...r,n];return{...e,pendingMessagesByThreadId:{...e.pendingMessagesByThreadId,[t]:i}}}function l_(e,t,n,r){let i=e.turnDiffSummaryByThreadId[t],a=i?.[n];return!i||!a||a.assistantMessageId===r?e:{...e,turnDiffSummaryByThreadId:{...e.turnDiffSummaryByThreadId,[t]:{...i,[n]:{...a,assistantMessageId:r}}}}}function u_(e,t,n){let r=gg(n,{id:t.payload.messageId,role:t.payload.role,text:t.payload.text,...t.payload.attachments===void 0?{}:{attachments:t.payload.attachments},...t.payload.dispatchMode===void 0?{}:{dispatchMode:t.payload.dispatchMode},turnId:t.payload.turnId,streaming:t.payload.streaming,createdAt:t.payload.createdAt,updatedAt:t.payload.updatedAt}),i=t.payload.threadId;if(!e.threadShellById[i])return c_(e,i,r);let a=e.messageIdsByThreadId[i]??ug,o=e.messageByThreadId[i]??{},s=e.pendingMessagesByThreadId[i]??[],c=s.find(e=>e.id===r.id),l=o[r.id]??c,u=l?s_(l,r):r,d=a,f={...o,[r.id]:u},p=e.pendingMessagesByThreadId;if(!o[r.id]&&!a.includes(r.id)&&(d=[...a,r.id],d.length>og)){let e=d.slice(-2e3),t=new Set(e);f=Object.fromEntries(Object.entries(f).filter(([e])=>t.has(e))),d=e}if(c){let t=s.filter(e=>e.id!==r.id);if(t.length===0){let{[i]:t,...n}=e.pendingMessagesByThreadId;p=n}else p={...e.pendingMessagesByThreadId,[i]:t}}let m={...e,pendingMessagesByThreadId:p,messageIdsByThreadId:d===a?e.messageIdsByThreadId:{...e.messageIdsByThreadId,[i]:d},messageByThreadId:{...e.messageByThreadId,[i]:f}};if(t.payload.role===`assistant`&&t.payload.turnId!==null){m=l_(m,i,t.payload.turnId,t.payload.messageId);let e=m.threadTurnStateById[i],n=e?.latestTurn??null;if(n===null||n.turnId===t.payload.turnId){let r={latestTurn:$g({previous:n,turnId:t.payload.turnId,state:t.payload.streaming?`running`:n?.state===`interrupted`?`interrupted`:n?.state===`error`?`error`:`completed`,requestedAt:n?.turnId===t.payload.turnId?n.requestedAt:t.payload.createdAt,startedAt:n?.turnId===t.payload.turnId?n.startedAt??t.payload.createdAt:t.payload.createdAt,sourceProposedPlan:e?.pendingSourceProposedPlan,completedAt:t.payload.streaming?n?.turnId===t.payload.turnId?n.completedAt??null:null:t.payload.updatedAt,assistantMessageId:t.payload.messageId}),...e?.pendingSourceProposedPlan?{pendingSourceProposedPlan:e.pendingSourceProposedPlan}:{}};Pg(e,r)||(m={...m,threadTurnStateById:{...m.threadTurnStateById,[i]:r}})}}return a_(m,i,t.occurredAt)}function d_(e,t,n){let r=e.length>0?t[e[e.length-1]]:void 0;if(!r||Qg(r,n)<=0)return[...e,n.id];let i=[...e],a=i.findIndex(e=>{let r=t[e];return r?Qg(n,r)<0:!1});return a===-1?i.push(n.id):i.splice(a,0,n.id),i}function f_(e,t){let n=t.payload.threadId;if(!e.threadShellById[n])return e;let r={...t.payload.activity},i=e.activityIdsByThreadId[n]??dg,a=e.activityByThreadId[n]??{},o=a[r.id],s=o!==void 0&&(o.createdAt!==r.createdAt||o.sequence!==r.sequence),c=i,l={...a,[r.id]:r};if(o?s&&(c=d_(i.filter(e=>e!==r.id),l,r)):c=d_(i,a,r),c.length>sg){let e=zg(Vh(c.flatMap(e=>{let t=l[e];return t?[t]:[]}),sg));c=e.ids,l=e.byId}return a_({...e,activityIdsByThreadId:c===i?e.activityIdsByThreadId:{...e.activityIdsByThreadId,[n]:c},activityByThreadId:{...e.activityByThreadId,[n]:l}},n,t.occurredAt)}function p_(e){return{projectIds:e.map(e=>e.id),projectById:Object.fromEntries(e.map(e=>[e.id,e]))}}function m_(e){let t={};for(let n of e)t[n.projectId]=[...t[n.projectId]??[],n.id];return{worktreeIds:e.map(e=>e.id),worktreeIdsByProjectId:t,worktreeById:Object.fromEntries(e.map(e=>[e.id,e]))}}function J(e,t){return e.environmentStateById[t]??ig}function Y(e,t,n){let r=e.environmentStateById[t]===n?e.environmentStateById:{...e.environmentStateById,[t]:n};return r===e.environmentStateById?e:{...e,environmentStateById:r}}function h_(e,t,n){let r=t.projects.map(e=>bg(e,n)),i=(t.worktrees??[]).map(e=>xg(e,n)),a=new Set(t.threads.map(e=>e.id)),o={...e,...p_(r),...m_(i),threadIds:[],threadIdsByProjectId:{},threadShellById:{},threadSessionById:{},threadTurnStateById:{},sidebarThreadSummaryById:{},messageIdsByThreadId:K(e.messageIdsByThreadId,a),messageByThreadId:K(e.messageByThreadId,a),pendingMessagesByThreadId:K(e.pendingMessagesByThreadId,a),activityIdsByThreadId:K(e.activityIdsByThreadId,a),activityByThreadId:K(e.activityByThreadId,a),proposedPlanIdsByThreadId:K(e.proposedPlanIdsByThreadId,a),proposedPlanByThreadId:K(e.proposedPlanByThreadId,a),turnDiffIdsByThreadId:K(e.turnDiffIdsByThreadId,a),turnDiffSummaryByThreadId:K(e.turnDiffSummaryByThreadId,a),threadHistoryByThreadId:K(e.threadHistoryByThreadId??{},a),threadHistoryLoadByThreadId:K(e.threadHistoryLoadByThreadId??{},a),bootstrapComplete:!0,hydratedFromCacheAt:void 0};for(let e of t.threads)o=Kg(o,Cg(e,n));return o}function g_(e,t,n){return Y(e,n,h_(J(e,n),t,n))}function __(e,t,n){let r=J(e,n),i=rg(r,t.id);return Y(e,n,Gg(r,Sg(t,n),i))}var v_={oldestCursor:null,newestCursor:null,hasMoreBefore:!1};function y_(e,t){let n=e?.[t.collection];return{messages:e?.messages??v_,proposedPlans:e?.proposedPlans??v_,activities:e?.activities??v_,checkpoints:e?.checkpoints??v_,[t.collection]:{oldestCursor:t.page.oldestCursor??n?.oldestCursor??null,newestCursor:n?.newestCursor??t.page.newestCursor,hasMoreBefore:t.page.hasMoreBefore}}}function b_(e,t,n,r){let i=e;if(t.collection===`messages`){let a={...e.messageByThreadId[n]};for(let e of t.items)a[e.id]=gg(r,e);let o=Object.values(a).toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id)).slice(-2e3).map(e=>e.id),s=new Set(o);i={...i,messageIdsByThreadId:{...i.messageIdsByThreadId,[n]:o},messageByThreadId:{...i.messageByThreadId,[n]:Object.fromEntries(Object.entries(a).filter(([e])=>s.has(e)))}}}else if(t.collection===`activities`){let r={...e.activityByThreadId[n]};for(let e of t.items)r[e.id]={...e};let a=zg(Vh(Object.values(r).toSorted(Qg),sg));i={...i,activityIdsByThreadId:{...i.activityIdsByThreadId,[n]:a.ids},activityByThreadId:{...i.activityByThreadId,[n]:a.byId}}}else if(t.collection===`proposedPlans`){let r={...e.proposedPlanByThreadId[n]};for(let e of t.items)r[e.id]=_g(e);let a=Object.values(r).toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id)).slice(-200);i={...i,proposedPlanIdsByThreadId:{...i.proposedPlanIdsByThreadId,[n]:a.map(e=>e.id)},proposedPlanByThreadId:{...i.proposedPlanByThreadId,[n]:Object.fromEntries(a.map(e=>[e.id,e]))}}}else{let r={...e.turnDiffSummaryByThreadId[n]};for(let e of t.items)r[e.turnId]=vg(e);let a=Object.values(r).toSorted((e,t)=>(e.checkpointTurnCount??-1)-(t.checkpointTurnCount??-1)||e.turnId.localeCompare(t.turnId)).slice(-500);i={...i,turnDiffIdsByThreadId:{...i.turnDiffIdsByThreadId,[n]:a.map(e=>e.turnId)},turnDiffSummaryByThreadId:{...i.turnDiffSummaryByThreadId,[n]:Object.fromEntries(a.map(e=>[e.turnId,e]))}}}return{...i,threadHistoryByThreadId:{...i.threadHistoryByThreadId,[n]:y_(e.threadHistoryByThreadId?.[n],t)}}}function x_(e,t,n){let r=__(e,t.thread,n),i=J(r,n),{[t.thread.id]:a,...o}=i.threadHistoryLoadByThreadId??{};return Y(r,n,{...i,threadHistoryByThreadId:{...i.threadHistoryByThreadId,[t.thread.id]:t.history},threadHistoryLoadByThreadId:o})}function S_(e,t,n,r){return Y(e,r,b_(J(e,r),t,n,r))}function C_(e,t){let n=J(e,t.environmentId);return Y(e,t.environmentId,{...n,threadHistoryLoadByThreadId:{...n.threadHistoryLoadByThreadId,[t.threadId]:{...n.threadHistoryLoadByThreadId?.[t.threadId],[t.collection]:t.loadState}}})}function w_(e,t,n){switch(t.type){case`project.created`:{let r=bg({id:t.payload.projectId,title:t.payload.title,workspaceRoot:t.payload.workspaceRoot,projectMetadataDir:t.payload.projectMetadataDir,repositoryIdentity:t.payload.repositoryIdentity??null,defaultModelSelection:t.payload.defaultModelSelection,scripts:t.payload.scripts,createdAt:t.payload.createdAt,updatedAt:t.payload.updatedAt,deletedAt:null},n),i=e.projectIds.find(n=>n===t.payload.projectId||e.projectById[n]?.cwd===t.payload.workspaceRoot)??null,a=e.projectById,o=e.projectIds;if(i!==null&&i!==r.id){let{[i]:t,...n}=e.projectById;a={...n,[r.id]:r},o=e.projectIds.map(e=>e===i?r.id:e)}else a={...e.projectById,[r.id]:r},o=i===null&&!e.projectIds.includes(r.id)?[...e.projectIds,r.id]:e.projectIds;return{...e,projectById:a,projectIds:o}}case`project.meta-updated`:{let n=e.projectById[t.payload.projectId];if(!n)return e;let r={...n,...t.payload.title===void 0?{}:{name:t.payload.title},...t.payload.workspaceRoot===void 0?{}:{cwd:t.payload.workspaceRoot},...t.payload.projectMetadataDir===void 0?{}:{projectMetadataDir:t.payload.projectMetadataDir},...t.payload.repositoryIdentity===void 0?{}:{repositoryIdentity:t.payload.repositoryIdentity??null},...t.payload.defaultModelSelection===void 0?{}:{defaultModelSelection:t.payload.defaultModelSelection?pg(t.payload.defaultModelSelection):null},...t.payload.scripts===void 0?{}:{scripts:mg(t.payload.scripts)},...t.payload.preferredRemoteName===void 0?{}:{preferredRemoteName:t.payload.preferredRemoteName??null},updatedAt:t.payload.updatedAt};return{...e,projectById:{...e.projectById,[t.payload.projectId]:r}}}case`project.avatar-set`:{let n=e.projectById[t.payload.projectId];return n?{...e,projectById:{...e.projectById,[t.payload.projectId]:{...n,customAvatarContentHash:t.payload.contentHash??null,updatedAt:t.payload.updatedAt}}}:e}case`project.deleted`:{if(!e.projectById[t.payload.projectId])return e;let{[t.payload.projectId]:n,...r}=e.projectById;return{...e,projectById:r,projectIds:Ig(e.projectIds,t.payload.projectId)}}case`thread.created`:{let r=rg(e,t.payload.threadId);return Gg(e,Sg({id:t.payload.threadId,projectId:t.payload.projectId,title:t.payload.title,modelSelection:t.payload.modelSelection,runtimeMode:t.payload.runtimeMode,interactionMode:t.payload.interactionMode,tokenMode:t.payload.tokenMode??`balanced`,branch:t.payload.branch,worktreePath:t.payload.worktreePath,worktreeId:null,manualStatusBucket:null,manualPosition:0,latestTurn:null,goal:null,createdAt:t.payload.createdAt,updatedAt:t.payload.updatedAt,archivedAt:null,settledOverride:null,settledAt:null,deletedAt:null,messages:[],proposedPlans:[],activities:[],checkpoints:[],session:null},n),r)}case`thread.deleted`:return qg(e,t.payload.threadId);case`thread.archived`:return q(e,t.payload.threadId,e=>({...e,archivedAt:t.payload.archivedAt,updatedAt:t.payload.updatedAt}));case`thread.unarchived`:return q(e,t.payload.threadId,e=>({...e,archivedAt:null,updatedAt:t.payload.updatedAt}));case`thread.settled`:return o_(e,t.payload.threadId,{settledOverride:`settled`,settledAt:t.payload.settledAt,updatedAt:t.payload.updatedAt});case`thread.unsettled`:return o_(e,t.payload.threadId,{settledOverride:t.payload.reason===`user`?`active`:null,settledAt:null,updatedAt:t.payload.updatedAt});case`thread.meta-updated`:return q(e,t.payload.threadId,e=>({...e,...t.payload.title===void 0?{}:{title:t.payload.title},...t.payload.modelSelection===void 0?{}:{modelSelection:pg(t.payload.modelSelection)},...t.payload.branch===void 0?{}:{branch:t.payload.branch},...t.payload.worktreePath===void 0?{}:{worktreePath:t.payload.worktreePath},updatedAt:t.payload.updatedAt}));case`thread.runtime-mode-set`:return q(e,t.payload.threadId,e=>({...e,runtimeMode:t.payload.runtimeMode,updatedAt:t.payload.updatedAt}));case`thread.interaction-mode-set`:return q(e,t.payload.threadId,e=>({...e,interactionMode:t.payload.interactionMode,updatedAt:t.payload.updatedAt}));case`thread.token-mode-set`:return q(e,t.payload.threadId,e=>({...e,tokenMode:t.payload.tokenMode??`balanced`,updatedAt:t.payload.updatedAt}));case`thread.goal-updated`:return q(e,t.payload.threadId,e=>({...e,goal:t.payload.goal,updatedAt:t.payload.goal.updatedAt}));case`thread.goal-cleared`:return q(e,t.payload.threadId,e=>({...e,goal:null,updatedAt:t.payload.updatedAt}));case`thread.turn-start-requested`:return q(e,t.payload.threadId,e=>({...e,...t.payload.modelSelection===void 0?{}:{modelSelection:pg(t.payload.modelSelection)},runtimeMode:t.payload.runtimeMode,interactionMode:t.payload.interactionMode,tokenMode:t.payload.tokenMode,pendingSourceProposedPlan:t.payload.sourceProposedPlan,updatedAt:t.occurredAt}));case`thread.turn-interrupt-requested`:return t.payload.turnId===void 0?e:q(e,t.payload.threadId,e=>{let n=e.latestTurn;return n===null||n.turnId!==t.payload.turnId?e:{...e,latestTurn:$g({previous:n,turnId:t.payload.turnId,state:`interrupted`,requestedAt:n.requestedAt,startedAt:n.startedAt??t.payload.createdAt,completedAt:n.completedAt??t.payload.createdAt,assistantMessageId:n.assistantMessageId}),updatedAt:t.occurredAt}});case`thread.message-sent`:return u_(e,t,n);case`thread.session-set`:return q(e,t.payload.threadId,e=>({...e,session:hg(t.payload.session),error:Mr(t.payload.session.lastError),latestTurn:t.payload.session.status===`running`&&t.payload.session.activeTurnId!==null?$g({previous:e.latestTurn,turnId:t.payload.session.activeTurnId,state:`running`,requestedAt:e.latestTurn?.turnId===t.payload.session.activeTurnId?e.latestTurn.requestedAt:t.payload.session.updatedAt,startedAt:e.latestTurn?.turnId===t.payload.session.activeTurnId?e.latestTurn.startedAt??t.payload.session.updatedAt:t.payload.session.updatedAt,completedAt:null,assistantMessageId:e.latestTurn?.turnId===t.payload.session.activeTurnId?e.latestTurn.assistantMessageId:null,sourceProposedPlan:e.pendingSourceProposedPlan}):e.latestTurn,updatedAt:t.occurredAt}));case`thread.session-stop-requested`:return q(e,t.payload.threadId,e=>e.session===null?e:{...e,session:{...e.session,status:`closed`,orchestrationStatus:`stopped`,activeTurnId:void 0,updatedAt:t.payload.createdAt},updatedAt:t.occurredAt});case`thread.proposed-plan-upserted`:return q(e,t.payload.threadId,e=>{let n=_g(t.payload.proposedPlan),r=[...e.proposedPlans.filter(e=>e.id!==n.id),n].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id)).slice(-200);return{...e,proposedPlans:r,updatedAt:t.occurredAt}});case`thread.turn-diff-completed`:return q(e,t.payload.threadId,e=>{let n=vg({turnId:t.payload.turnId,checkpointTurnCount:t.payload.checkpointTurnCount,checkpointRef:t.payload.checkpointRef,status:t.payload.status,files:t.payload.files,assistantMessageId:t.payload.assistantMessageId,completedAt:t.payload.completedAt}),r=e.turnDiffSummaries.find(e=>e.turnId===n.turnId);if(r&&r.status!==`missing`&&n.status===`missing`)return e;let i=[...e.turnDiffSummaries.filter(e=>e.turnId!==n.turnId),n].toSorted((e,t)=>(e.checkpointTurnCount??2**53-1)-(t.checkpointTurnCount??2**53-1)).slice(-500),a=e.latestTurn===null||e.latestTurn.turnId===t.payload.turnId?$g({previous:e.latestTurn,turnId:t.payload.turnId,state:Zg(t.payload.status),requestedAt:e.latestTurn?.requestedAt??t.payload.completedAt,startedAt:e.latestTurn?.startedAt??t.payload.completedAt,completedAt:t.payload.completedAt,assistantMessageId:t.payload.assistantMessageId,sourceProposedPlan:e.pendingSourceProposedPlan}):e.latestTurn;return{...e,turnDiffSummaries:i,latestTurn:a,updatedAt:t.occurredAt}});case`thread.reverted`:return q(e,t.payload.threadId,e=>{let n=e.turnDiffSummaries.filter(e=>e.checkpointTurnCount!==void 0&&e.checkpointTurnCount<=t.payload.turnCount).toSorted((e,t)=>(e.checkpointTurnCount??2**53-1)-(t.checkpointTurnCount??2**53-1)).slice(-500),r=new Set(n.map(e=>e.turnId)),i=e_(e.messages,r,t.payload.turnCount).slice(-2e3),a=n_(e.proposedPlans,r).slice(-200),o=t_(e.activities,r),s=n.at(-1)??null;return{...e,turnDiffSummaries:n,messages:i,proposedPlans:a,activities:o,pendingSourceProposedPlan:void 0,latestTurn:s===null?null:{turnId:s.turnId,state:Zg(s.status??`ready`),requestedAt:s.completedAt,startedAt:s.completedAt,completedAt:s.completedAt,assistantMessageId:s.assistantMessageId??null},updatedAt:t.occurredAt}});case`thread.activity-appended`:return f_(e,t);case`worktree.created`:return Yg(e,xg({worktreeId:t.payload.worktreeId,projectId:t.payload.projectId,title:null,branch:t.payload.branch,worktreePath:t.payload.worktreePath,origin:t.payload.origin,prNumber:t.payload.prNumber,issueNumber:t.payload.issueNumber,prTitle:t.payload.prTitle,issueTitle:t.payload.issueTitle,prState:null,prIsDraft:null,issueState:null,workItemProvider:t.payload.workItemProvider??null,workItemKey:t.payload.workItemKey??null,workItemTitle:t.payload.workItemTitle??null,workItemState:t.payload.workItemState??null,workItemStateName:t.payload.workItemStateName??null,workItemUrl:t.payload.workItemUrl??null,createdAt:t.payload.createdAt,updatedAt:t.payload.updatedAt,archivedAt:null,manualPosition:0},n));case`worktree.archived`:{let n=e.worktreeById?.[t.payload.worktreeId];return n?Yg(e,{...n,archivedAt:t.payload.archivedAt,updatedAt:t.payload.archivedAt}):e}case`worktree.metaUpdated`:{let n=e.worktreeById?.[t.payload.worktreeId];return n?Yg(e,{...n,...t.payload.title===void 0?{}:{title:t.payload.title},...t.payload.branch===void 0?{}:{branch:t.payload.branch},updatedAt:t.payload.changedAt}):e}case`worktree.sourceControlStateUpdated`:{let n=e.worktreeById?.[t.payload.worktreeId];return n?Yg(e,{...n,...t.payload.prNumber===void 0?{}:{prNumber:t.payload.prNumber},...t.payload.prTitle===void 0?{}:{prTitle:t.payload.prTitle},prState:t.payload.prState,prIsDraft:t.payload.prIsDraft,issueState:t.payload.issueState,updatedAt:t.payload.updatedAt}):e}case`worktree.restored`:{let n=e.worktreeById?.[t.payload.worktreeId];return n?Yg(e,{...n,archivedAt:null,updatedAt:t.payload.restoredAt}):e}case`worktree.deleted`:return Xg(e,t.payload.worktreeId);case`thread.attachedToWorktree`:return q(e,t.payload.threadId,e=>({...e,worktreeId:t.payload.worktreeId,updatedAt:t.payload.attachedAt}));case`thread.statusBucketOverridden`:return q(e,t.payload.threadId,e=>({...e,manualStatusBucket:t.payload.bucket,updatedAt:t.payload.changedAt}));case`thread.approval-response-requested`:case`thread.user-input-response-requested`:return e}return e}function T_(e,t,n){switch(t.kind){case`project-upserted`:{let r=bg(t.project,n),i=e.projectIds.find(n=>n===t.project.id||e.projectById[n]?.cwd===t.project.workspaceRoot)??null,a=e.projectById,o=e.projectIds;if(i!==null&&i!==r.id){let{[i]:t,...n}=e.projectById;a={...n,[r.id]:r},o=e.projectIds.map(e=>e===i?r.id:e)}else a={...e.projectById,[r.id]:r},o=i===null&&!e.projectIds.includes(r.id)?[...e.projectIds,r.id]:e.projectIds;return{...e,projectById:a,projectIds:o}}case`project-removed`:{if(!e.projectById[t.projectId])return e;let{[t.projectId]:n,...r}=e.projectById;return{...e,projectById:r,projectIds:Ig(e.projectIds,t.projectId)}}case`thread-upserted`:return Kg(e,Cg(t.thread,n));case`worktree-upserted`:return Yg(e,xg(t.worktree,n));case`thread-removed`:return qg(e,t.threadId);case`worktree-removed`:return Xg(e,t.worktreeId)}}function E_(e,t,n){if(t.length===0)return e;let r=Fh(),i=r.observability.performanceEnabled(),a=i?r.clock.now():0,o=J(e,n),s=Y(e,n,t.reduce((e,t)=>w_(e,t,n),o));return i&&r.observability.recordPerformance(`web.store.orchestration.events.apply`,t,{count:t.length,durationMs:r.clock.now()-a}),s}function D_(e){return Object.entries(e.environmentStateById)}function X(e,t){return t?J(e,t):ig}function O_(e,t){return Ug(X(e,t))}function k_(e){return D_(e).flatMap(([,e])=>Hg(e))}function A_(e){return D_(e).flatMap(([,e])=>Ug(e))}function j_(e){return D_(e).flatMap(([,e])=>e.threadIds.flatMap(t=>{let n=e.threadShellById[t];return n?[n]:[]}))}function M_(e){return D_(e).flatMap(([e,t])=>t.threadIds.flatMap(n=>{let r=t.sidebarThreadSummaryById[n];return r&&r.environmentId===e?[r]:[]}))}function N_(e){return D_(e).flatMap(([e,t])=>(t.worktreeIds??lg).flatMap(n=>{let r=t.worktreeById?.[n];return r&&r.environmentId===e?[r]:[]}))}function P_(e,t){if(!t)return[];let n=X(e,t.environmentId);return(n.worktreeIdsByProjectId?.[t.projectId]??[]).flatMap(e=>{let t=n.worktreeById?.[e];return t?[t]:[]})}function F_(e,t){return t.length===0?[]:t.length===1?P_(e,t[0]):t.flatMap(t=>P_(e,t))}function I_(e,t){if(!t)return[];let n=X(e,t.environmentId);return(n.threadIdsByProjectId[t.projectId]??cg).flatMap(e=>{let t=n.sidebarThreadSummaryById[e];return t?[t]:[]})}function L_(e,t){return t.length===0?[]:t.length===1?I_(e,t[0]):t.flatMap(t=>I_(e,t))}function R_(e,t){return t?X(e,t.environmentId).projectById[t.projectId]:void 0}function z_(e,t){return t?rg(X(e,t.environmentId),t.threadId):void 0}function B_(e,t){return t?X(e,t.environmentId).threadShellById[t.threadId]!==void 0:!1}function V_(e,t){return t?X(e,t.environmentId).sidebarThreadSummaryById[t.threadId]:void 0}function H_(e,t,n){let r=q(J(e,t.environmentId),t.threadId,e=>e.error===n?e:{...e,error:n});return Y(e,t.environmentId,r)}function U_(e,t,n){let r=Fh(),i=r.observability.performanceEnabled(),a=i?r.clock.now():0,o=Y(e,n,w_(J(e,n),t,n));return i&&r.observability.recordPerformance(`web.store.orchestration.event.apply`,t,{durationMs:r.clock.now()-a}),o}function W_(e,t,n){let r=Fh(),i=r.observability.performanceEnabled(),a=i?r.clock.now():0,o=Y(e,n,T_(J(e,n),t,n));return i&&r.observability.recordPerformance(`web.store.orchestration.shell.apply`,t,{durationMs:r.clock.now()-a}),o}function G_(e,t){return e.activeEnvironmentId===t?e:{...e,activeEnvironmentId:t}}function K_(e,t){if(!e.environmentStateById[t]&&e.activeEnvironmentId!==t)return e;let{[t]:n,...r}=e.environmentStateById;return{...e,activeEnvironmentId:e.activeEnvironmentId===t?null:e.activeEnvironmentId,environmentStateById:r}}function q_(e,t,n){if(e.environmentStateById[n])return e;let r={...ig,...p_(t.projects.filter(e=>e.environmentId===n)),...m_(t.worktrees.filter(e=>e.environmentId===n)),hydratedFromCacheAt:t.capturedAt};for(let e of t.threads)e.shell.environmentId===n&&e.summary.environmentId===n&&(r=Kg(r,{shell:e.shell,session:null,turnState:{latestTurn:e.summary.latestTurn,pendingSourceProposedPlan:e.summary.latestTurn?.sourceProposedPlan},summary:{...e.summary,modelSelection:e.summary.modelSelection??e.shell.modelSelection,session:null,backgroundLiveness:null}}));return Y(e,n,r)}function J_(e,t,n){let r=e.environmentStateById[t];if(!r)return e;let i=Object.fromEntries(Object.keys(r.threadSessionById).map(e=>[e,null])),a=Object.fromEntries(Object.entries(r.sidebarThreadSummaryById).map(([e,t])=>[e,{...t,session:null,backgroundLiveness:null}]));return Y(e,t,{...r,threadSessionById:i,sidebarThreadSummaryById:a,bootstrapComplete:!1,hydratedFromCacheAt:n})}function Y_(e,t,n,r){let i=q(J(e,t.environmentId),t.threadId,e=>{if(e.branch===n&&e.worktreePath===r)return e;let t=e.worktreePath!==r;return{...e,branch:n,worktreePath:r,...t?{session:null}:{}}});return Y(e,t.environmentId,i)}function X_(e,t,n,r,i){let a=J(e,t),o=a.worktreeById?.[n];return o?Y(e,t,Yg(a,{...o,title:r,updatedAt:i})):e}var Z_=8;function Q_(e){let t=e.now??(()=>Fh().clock.now()),n=e.schedule??(e=>Fh().frameScheduler.scheduleFrame(e)),r=e.thresholdEventsPerMs??10,i=e.rateWindowMs??Z_,a=[],o=[],s=!1;function c(){if(o.length<2)return!1;let e=o[o.length-1]-o[0];return(e<=0?1/0:o.length/e)>r}function l(){if(s=!1,a.length===0)return;let t=a;a=[];let n=e.getState();for(let e of t)n=W_(n,e.event,e.environmentId);e.commitState(n)}function u(e,r){let u=t();o.push(u);let d=u-i;for(;o.length>0&&o[0]<d;)o.shift();if(a.push({event:e,environmentId:r}),c()){s||(s=!0,n(l));return}l()}return{enqueue:u,flush:l,hasPending:()=>a.length>0}}var Z=c((e,t)=>{let n=Q_({getState:t,commitState:t=>e(t)});return{...ag,setActiveEnvironmentId:t=>{n.flush(),e(e=>G_(e,t))},removeEnvironmentState:t=>{n.flush(),e(e=>K_(e,t))},hydrateEnvironmentStateFromCache:(t,r)=>{n.flush(),e(e=>q_(e,t,r))},demoteEnvironmentStateToCachedSnapshot:(t,r)=>{n.flush(),e(e=>J_(e,t,r))},syncServerShellSnapshot:(t,r)=>{n.flush(),e(e=>g_(e,t,r))},syncServerThreadDetail:(t,r)=>{n.flush(),e(e=>__(e,t,r))},syncServerThreadWindow:(t,r)=>{n.flush(),e(e=>x_(e,t,r))},syncServerThreadHistoryPage:(t,r,i)=>{n.flush(),e(e=>S_(e,t,r,i))},setServerThreadHistoryLoadState:t=>{n.flush(),e(e=>C_(e,t))},applyOrchestrationEvent:(t,r)=>{n.flush(),e(e=>U_(e,t,r))},applyOrchestrationEvents:(t,r)=>{n.flush(),e(e=>E_(e,t,r))},applyShellEvent:(e,t)=>n.enqueue(e,t),removeThread:t=>{n.flush(),e(e=>Jg(e,t))},setThreadError:(t,r)=>{n.flush(),e(e=>H_(e,t,r))},setThreadBranch:(t,r,i)=>{n.flush(),e(e=>Y_(e,t,r,i))},setSidebarWorktreeTitle:(t,r,i,a)=>{n.flush(),e(e=>X_(e,t,r,i,a))}}});function $_(e){if(!e)return null;let t=Date.parse(e);return Number.isFinite(t)?t:null}function ev(e){if(e.latestUserMessageAt)return $_(e.latestUserMessageAt)??-1/0;let t=null;for(let n of e.messages??[]){if(n.role!==`user`)continue;let e=$_(n.createdAt);e!==null&&(t=t===null?e:Math.max(t,e))}return t===null?$_(e.updatedAt??e.createdAt)??-1/0:t}function tv(e,t){return t===`created_at`?$_(e.createdAt)??-1/0:ev(e)}function nv(e,t){return e.toSorted((e,n)=>{let r=tv(n,t),i=tv(e,t),a=r===i?0:r>i?1:-1;return a===0?n.id.localeCompare(e.id):a})}function rv(e,t,n){return nv(e.filter(e=>e.projectId===t&&e.archivedAt===null),n)[0]??null}function iv(e){return t=>e?X(t,e.environmentId).projectById[e.projectId]:void 0}function av(e){let t,n,r;return i=>{let a=e(i);if(!a)return;let o=X(i,a.environmentId);return r&&t===o&&n===a.threadId?r:(t=o,n=a.threadId,r=rg(o,a.threadId),r)}}function ov(e){return av(()=>e)}function sv(e){return av(t=>{if(e){for(let[n,r]of Object.entries(t.environmentStateById))if(r.threadShellById[e])return{environmentId:n,threadId:e}}})}var cv=(e,t,n)=>t||(n?{id:e,createdAt:n.createdAt,updatedAt:n.updatedAt,latestUserMessageAt:null}:null);function lv(e,t){let n,r,i,a,o,s=null;return c=>{if(!e)return n=void 0,r=void 0,i=void 0,o=null,s=null,null;let l=X(c,e);if(n===l.threadIds&&r===l.sidebarThreadSummaryById&&i===l.threadShellById&&a===t)return s;let u=nv(l.threadIds.flatMap(e=>{let t=cv(e,l.sidebarThreadSummaryById[e],l.threadShellById[e]);return t?[t]:[]}),t)[0]?.id??null;return n=l.threadIds,r=l.sidebarThreadSummaryById,i=l.threadShellById,a=t,o!==u&&(o=u,s=u?{environmentId:e,threadId:u}:null),s}}Nh(()=>{Ph({clock:{now:()=>xu.now()},frameScheduler:{scheduleFrame:e=>Su.scheduleFrame(e)},observability:cd,isHostedHubMode:()=>l(),resolveAttachmentPreviewUrl:({environmentId:e,attachmentId:t})=>Jp({environmentId:e,pathname:`/attachments/${encodeURIComponent(t)}`})})});function uv(e){switch(e.type){case`activity`:return e.hasRunningSubprocess;case`started`:case`restarted`:case`exited`:return!1;default:return null}}function dv(e){let t=new Set,n=new Map(e.snapshotThreads.map(e=>[e.key,e]));for(let n of e.snapshotThreads)n.deletedAt===null&&n.archivedAt===null&&t.add(n.key);for(let r of e.draftThreadKeys){let e=n.get(r);e&&(e.deletedAt!==null||e.archivedAt!==null)||t.add(r)}return t}var fv={enabled:()=>!1,now:()=>0,record:()=>void 0};function pv(){let e=new Map;return{getItem:t=>e.get(t)??null,setItem:(t,n)=>{e.set(t,n)},removeItem:t=>{e.delete(t)}}}var mv=`ryco:terminal-state:v1`,hv=[],gv=200;function _v(e,t){return t===1&&e&&typeof e==`object`?{terminalStateByThreadKey:Object.fromEntries(Object.entries(e.terminalStateByThreadKey??{}).filter(([e])=>s(e)))}:{terminalStateByThreadKey:{}}}function vv(e){let t=[...new Set(e.map(e=>e.trim()).filter(e=>e.length>0))];return t.length>0?t:[wi]}function yv(e,t){if(e.length===0)return[];let n=new Set(t);return[...new Set(e)].map(e=>e.trim()).filter(e=>e.length>0&&n.has(e))}function bv(e){return`group-${e}`}function xv(e,t){let n=e,r=2;for(;t.has(n);)n=`${e}-${r}`,r+=1;return t.add(n),n}function Sv(e,t){return e.findIndex(e=>e.terminalIds.includes(t))}function Cv(e){return[...new Set(e.map(e=>e.trim()).filter(e=>e.length>0))]}function wv(e,t){let n=new Set(t),r=new Set,i=[],a=new Set;for(let t of e){let e=Cv(t.terminalIds).filter(e=>!(!n.has(e)||r.has(e)));if(e.length===0)continue;for(let t of e)r.add(t);let o=t.id.trim().length>0?t.id.trim():bv(e[0]??`default`);i.push({id:xv(o,a),terminalIds:e})}for(let e of t)r.has(e)||i.push({id:xv(bv(e),a),terminalIds:[e]});return i.length===0?[{id:bv(wi),terminalIds:[wi]}]:i}function Tv(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function Ev(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(!r||!i||r.id!==i.id||!Tv(r.terminalIds,i.terminalIds))return!1}return!0}function Dv(e,t){return e.terminalOpen===t.terminalOpen&&e.terminalHeight===t.terminalHeight&&e.activeTerminalId===t.activeTerminalId&&e.activeTerminalGroupId===t.activeTerminalGroupId&&Tv(e.terminalIds,t.terminalIds)&&Tv(e.runningTerminalIds,t.runningTerminalIds)&&Ev(e.terminalGroups,t.terminalGroups)}var Ov=Object.freeze({terminalOpen:!1,terminalHeight:280,terminalIds:[wi],runningTerminalIds:[],activeTerminalId:wi,terminalGroups:[{id:bv(wi),terminalIds:[wi]}],activeTerminalGroupId:bv(wi)});function kv(){return{...Ov,terminalIds:[...Ov.terminalIds],runningTerminalIds:[...Ov.runningTerminalIds],terminalGroups:Fv(Ov.terminalGroups)}}function Av(){return Ov}function Q(e){let t=vv(e.terminalIds),n=t.length>0?t:[wi],r=yv(e.runningTerminalIds,n),i=n.includes(e.activeTerminalId)?e.activeTerminalId:n[0]??`default`,a=wv(e.terminalGroups,n),o=a.some(t=>t.id===e.activeTerminalGroupId)?e.activeTerminalGroupId:null,s=a.find(e=>e.terminalIds.includes(i))?.id??null,c={terminalOpen:e.terminalOpen,terminalHeight:Number.isFinite(e.terminalHeight)&&e.terminalHeight>0?e.terminalHeight:280,terminalIds:n,runningTerminalIds:r,activeTerminalId:i,terminalGroups:a,activeTerminalGroupId:o??s??a[0]?.id??bv(`default`)};return Dv(e,c)?e:c}function jv(e){return Dv(Q(e),Ov)}function Mv(e){return e.trim().length>0}function Nv(e){return p(e)}function Pv(e,t){return`${Nv(e)}\u0000${t}`}function Fv(e){return e.map(e=>({id:e.id,terminalIds:[...e.terminalIds]}))}function Iv(e,t,n,r){let i=Pv(n,r.terminalId),a=e[i]??hv,o={id:t,event:r},s=a.length>=gv?[...a.slice(1),o]:[...a,o];return{terminalEventEntriesByKey:{...e,[i]:s},nextTerminalEventId:t+1}}function Lv(e){return{cwd:e.snapshot.cwd,worktreePath:e.snapshot.worktreePath}}function Rv(e,t,n){let r=Q(e);if(!Mv(t))return r;let i=!r.terminalIds.includes(t),a=i?[...r.terminalIds,t]:r.terminalIds,o=Fv(r.terminalGroups),s=Sv(o,t);if(s>=0&&(o[s].terminalIds=o[s].terminalIds.filter(e=>e!==t),o[s].terminalIds.length===0&&o.splice(s,1)),n===`new`){let e=new Set(o.map(e=>e.id)),n=xv(bv(t),e);return o.push({id:n,terminalIds:[t]}),Q({...r,terminalOpen:!0,terminalIds:a,activeTerminalId:t,terminalGroups:o,activeTerminalGroupId:n})}let c=o.findIndex(e=>e.id===r.activeTerminalGroupId);if(c<0&&(c=Sv(o,r.activeTerminalId)),c<0){let e=new Set(o.map(e=>e.id)),t=xv(bv(r.activeTerminalId),e);o.push({id:t,terminalIds:[r.activeTerminalId]}),c=o.length-1}let l=o[c];if(!l||i&&!l.terminalIds.includes(t)&&l.terminalIds.length>=4)return r;if(!l.terminalIds.includes(t)){let e=l.terminalIds.indexOf(r.activeTerminalId);e>=0?l.terminalIds.splice(e+1,0,t):l.terminalIds.push(t)}return Q({...r,terminalOpen:!0,terminalIds:a,activeTerminalId:t,terminalGroups:o,activeTerminalGroupId:l.id})}function zv(e,t){let n=Q(e);return n.terminalOpen===t?n:{...n,terminalOpen:t}}function Bv(e,t){let n=Q(e);return!Number.isFinite(t)||t<=0||n.terminalHeight===t?n:{...n,terminalHeight:t}}function Vv(e,t){return Rv(e,t,`split`)}function Hv(e,t){return Rv(e,t,`new`)}function Uv(e,t){let n=Q(e);if(!n.terminalIds.includes(t))return n;let r=n.terminalGroups.find(e=>e.terminalIds.includes(t))?.id??n.activeTerminalGroupId;return n.activeTerminalId===t&&n.activeTerminalGroupId===r?n:{...n,activeTerminalId:t,activeTerminalGroupId:r}}function Wv(e,t){let n=Q(e);if(!n.terminalIds.includes(t))return n;let r=n.terminalIds.filter(e=>e!==t);if(r.length===0)return kv();let i=n.terminalIds.indexOf(t),a=n.activeTerminalId===t?r[Math.min(i,r.length-1)]??r[0]??`default`:n.activeTerminalId,o=n.terminalGroups.map(e=>({...e,terminalIds:e.terminalIds.filter(e=>e!==t)})).filter(e=>e.terminalIds.length>0),s=o.find(e=>e.terminalIds.includes(a))?.id??o[0]?.id??bv(a);return Q({terminalOpen:n.terminalOpen,terminalHeight:n.terminalHeight,terminalIds:r,runningTerminalIds:n.runningTerminalIds.filter(e=>e!==t),activeTerminalId:a,terminalGroups:o,activeTerminalGroupId:s})}function Gv(e,t,n){let r=Q(e);if(!r.terminalIds.includes(t)||n===r.runningTerminalIds.includes(t))return r;let i=new Set(r.runningTerminalIds);return n?i.add(t):i.delete(t),{...r,runningTerminalIds:[...i]}}function Kv(e,t){return!t||t.threadId.length===0?Av():e[Nv(t)]??Av()}function qv(e,t,n){if(t.threadId.length===0)return e;let r=Nv(t),i=Kv(e,t),a=n(i);if(a===i)return e;if(jv(a)){if(e[r]===void 0)return e;let{[r]:t,...n}=e;return n}return{...e,[r]:a}}function Jv(e,t,n){return!t||t.threadId.length===0||n.trim().length===0?hv:e[Pv(t,n)]??hv}function Yv(e){let t=e?.storage??pv(),n=e?.observability??fv;return c()(ki(e=>{let t=(t,n)=>{e(e=>{let r=qv(e.terminalStateByThreadKey,t,n);return r===e.terminalStateByThreadKey?e:{terminalStateByThreadKey:r}})};return{terminalStateByThreadKey:{},terminalLaunchContextByThreadKey:{},terminalEventEntriesByKey:{},nextTerminalEventId:1,setTerminalOpen:(e,n)=>t(e,e=>zv(e,n)),setTerminalHeight:(e,n)=>t(e,e=>Bv(e,n)),splitTerminal:(e,n)=>t(e,e=>Vv(e,n)),newTerminal:(e,n)=>t(e,e=>Hv(e,n)),ensureTerminal:(e,n,r)=>t(e,e=>{let t=e;return e.terminalIds.includes(n)||(t=Hv(t,n)),r?.active===!1&&(t={...t,activeTerminalId:e.activeTerminalId,activeTerminalGroupId:e.activeTerminalGroupId}),(r?.active??!0)&&(t=Uv(t,n)),r?.open&&(t=zv(t,!0)),Q(t)}),setActiveTerminal:(e,n)=>t(e,e=>Uv(e,n)),closeTerminal:(e,n)=>t(e,e=>Wv(e,n)),setTerminalLaunchContext:(t,n)=>e(e=>({terminalLaunchContextByThreadKey:{...e.terminalLaunchContextByThreadKey,[Nv(t)]:n}})),clearTerminalLaunchContext:t=>e(e=>{let n=Nv(t);if(!e.terminalLaunchContextByThreadKey[n])return e;let{[n]:r,...i}=e.terminalLaunchContextByThreadKey;return{terminalLaunchContextByThreadKey:i}}),setTerminalActivity:(e,n,r)=>t(e,e=>Gv(e,n,r)),recordTerminalEvent:(t,r)=>{let i=n.enabled(),a=i?n.now():0;e(e=>Iv(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,r)),i&&n.record(`web.terminal.store.events.record`,r,n.now()-a)},applyTerminalEvent:(t,r)=>{let i=n.enabled(),a=i?n.now():0;e(e=>{let n=Nv(t),i=e.terminalStateByThreadKey,a=e.terminalLaunchContextByThreadKey;(r.type===`started`||r.type===`restarted`)&&(i=qv(i,t,e=>{let t=e;return e.terminalIds.includes(r.terminalId)||(t=Hv(t,r.terminalId)),t=Uv(t,r.terminalId),t=zv(t,!0),Q(t)}),a={...a,[n]:Lv(r)});let o=uv(r);o!==null&&(i=qv(i,t,e=>Gv(e,r.terminalId,o)));let s=Iv(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,r);return{terminalStateByThreadKey:i,terminalLaunchContextByThreadKey:a,...s}}),i&&n.record(`web.terminal.store.events.apply`,r,n.now()-a)},clearTerminalState:t=>e(e=>{let n=Nv(t),r=qv(e.terminalStateByThreadKey,t,()=>kv()),i=e.terminalLaunchContextByThreadKey[n]!==void 0,{[n]:a,...o}=e.terminalLaunchContextByThreadKey,s={...e.terminalEventEntriesByKey},c=!1;for(let e of Object.keys(s))e.startsWith(`${n}\u0000`)&&(delete s[e],c=!0);return r===e.terminalStateByThreadKey&&!i&&!c?e:{terminalStateByThreadKey:r,terminalLaunchContextByThreadKey:o,terminalEventEntriesByKey:s}}),removeTerminalState:t=>e(e=>{let n=Nv(t),r=e.terminalStateByThreadKey[n]!==void 0,i=e.terminalLaunchContextByThreadKey[n]!==void 0,a={...e.terminalEventEntriesByKey},o=!1;for(let e of Object.keys(a))e.startsWith(`${n}\u0000`)&&(delete a[e],o=!0);if(!r&&!i&&!o)return e;let s={...e.terminalStateByThreadKey};delete s[n];let c={...e.terminalLaunchContextByThreadKey};return delete c[n],{terminalStateByThreadKey:s,terminalLaunchContextByThreadKey:c,terminalEventEntriesByKey:a}}),removeOrphanedTerminalStates:t=>e(e=>{let n=Object.keys(e.terminalStateByThreadKey).filter(e=>!t.has(e)),r=Object.keys(e.terminalLaunchContextByThreadKey).filter(e=>!t.has(e)),i={...e.terminalEventEntriesByKey},a=!1;for(let e of Object.keys(i)){let[n]=e.split(`\0`);n&&!t.has(n)&&(delete i[e],a=!0)}if(n.length===0&&r.length===0&&!a)return e;let o={...e.terminalStateByThreadKey};for(let e of n)delete o[e];let s={...e.terminalLaunchContextByThreadKey};for(let e of r)delete s[e];return{terminalStateByThreadKey:o,terminalLaunchContextByThreadKey:s,terminalEventEntriesByKey:i}})}},{name:mv,version:2,storage:Di(()=>t),migrate:_v,partialize:e=>({terminalStateByThreadKey:e.terminalStateByThreadKey})}))}var Xv=Ci(typeof window<`u`&&!l()?window.localStorage:void 0),Zv=Yv({storage:{getItem:e=>Xv.getItem(e),setItem:(e,t)=>{Xv.setItem(e,t)},removeItem:e=>{Xv.removeItem(e)}},observability:{enabled:Li,now:Ri,record:(e,t,n)=>Ii(e,t,{durationMs:n})}}),Qv=Object.freeze({data:void 0,error:null,status:`pending`,fetchStatus:`idle`,dataUpdatedAt:0,errorUpdatedAt:0});function $v(e){return JSON.stringify(e,(e,t)=>t&&typeof t==`object`&&!Array.isArray(t)?Object.keys(t).toSorted().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function ey(e){return $v(e)}function ty(e){return e instanceof Error?e:Error(String(e))}function ny(e){return e===void 0||e===!0?3:e===!1?0:e}function ry(e){return Math.min(1e3*2**e,3e4)}function iy(e){return new Promise(t=>setTimeout(t,e))}function ay(e,t){if(t.length>e.length)return!1;for(let n=0;n<t.length;n+=1)if($v(e[n])!==$v(t[n]))return!1;return!0}var oy=new class{cache=new Map;prefixIndex=new Map;maxEntries;defaultGcTime;constructor(e){this.maxEntries=Math.max(1,Math.floor(e?.maxEntries??512)),this.defaultGcTime=Math.max(0,e?.defaultGcTime??3e5)}prefixHash(e){return $v(e)}indexEntry(e){for(let t=1;t<=e.key.length;t+=1){let n=this.prefixHash(e.key.slice(0,t)),r=this.prefixIndex.get(n)??new Set;r.add(e.hash),this.prefixIndex.set(n,r)}}unindexEntry(e){for(let t=1;t<=e.key.length;t+=1){let n=this.prefixHash(e.key.slice(0,t)),r=this.prefixIndex.get(n);r&&(r.delete(e.hash),r.size===0&&this.prefixIndex.delete(n))}}clearGcTimer(e){e.gcTimer!==null&&(clearTimeout(e.gcTimer),e.gcTimer=null)}isPinned(e){return e.listeners.size>0||e.observers.size>0||e.promise!==null}removeEntry(e){return this.cache.get(e.hash)!==e||this.isPinned(e)?!1:(this.clearGcTimer(e),e.fetchId+=1,e.state=Qv,this.cache.delete(e.hash),this.unindexEntry(e),!0)}scheduleGc(e){if(this.clearGcTimer(e),!(this.isPinned(e)||e.gcTime===1/0)){if(e.gcTime===0){this.removeEntry(e);return}e.gcTimer=setTimeout(()=>{e.gcTimer=null,this.removeEntry(e)},e.gcTime)}}touch(e){e.lastAccessedAt=Date.now(),this.clearGcTimer(e)}evictToCapacity(){if(this.cache.size<=this.maxEntries)return;let e=[...this.cache.values()].filter(e=>!this.isPinned(e)).toSorted((e,t)=>e.lastAccessedAt-t.lastAccessedAt);for(let t of e){if(this.cache.size<=this.maxEntries)break;this.removeEntry(t)}}ensureEntry(e){let t=ey(e),n=this.cache.get(t);return n||(n={key:e,hash:t,state:Qv,listeners:new Set,observers:new Set,promise:null,fetchId:0,gcTime:this.defaultGcTime,lastAccessedAt:Date.now(),gcTimer:null},this.cache.set(t,n),this.indexEntry(n),this.evictToCapacity()),this.touch(n),n}setGcTime(e,t){let n=this.ensureEntry(e);n.gcTime=Math.max(0,t??this.defaultGcTime),this.isPinned(n)||this.scheduleGc(n)}getCacheSize(){return this.cache.size}getEntry(e){return this.ensureEntry(e)}getEntryByHash(e){return this.cache.get(e)}getState(e){return this.ensureEntry(e).state}setState(e,t){e.state=t;for(let t of e.listeners)t()}subscribe(e,t){let n=this.ensureEntry(e);return n.listeners.add(t),this.clearGcTimer(n),()=>{n.listeners.delete(t),this.scheduleGc(n)}}addObserver(e,t){let n=this.ensureEntry(e);return n.observers.add(t),this.clearGcTimer(n),()=>{n.observers.delete(t),this.scheduleGc(n)}}isStale(e,t){let n=this.ensureEntry(e);return n.state.status!==`success`||t!==1/0&&Date.now()-n.state.dataUpdatedAt>=t}getQueryData(e){let t=this.cache.get(ey(e));return t?.state.status===`success`?t.state.data:void 0}setQueryData(e,t){let n=this.ensureEntry(e),r=n.state.status===`success`?n.state.data:void 0,i=typeof t==`function`?t(r):t;return i===void 0?r:(this.setState(n,{data:i,error:null,status:`success`,fetchStatus:`idle`,dataUpdatedAt:Date.now(),errorUpdatedAt:n.state.errorUpdatedAt}),this.scheduleGc(n),i)}cancelQueries(e={}){let t=e.queryKey;for(let e of this.cache.values())t&&!ay(e.key,t)||(e.fetchId+=1,e.promise=null,e.state.fetchStatus===`fetching`&&this.setState(e,{...e.state,fetchStatus:`idle`}));return Promise.resolve()}invalidateQueries(e={}){let t=e.queryKey,n=t?[...this.prefixIndex.get(this.prefixHash(t))??[]].map(e=>this.cache.get(e)).filter(e=>e!==void 0):[...this.cache.values()];for(let e of n)if(e.state.status===`success`&&this.setState(e,{...e.state,dataUpdatedAt:0}),e.observers.size>0)for(let t of e.observers)t.refetch();return Promise.resolve()}fenceActiveQueriesForEnvironment(e){for(let t of this.cache.values())[...t.observers].some(t=>t.environmentId===e)&&(t.fetchId+=1,t.promise=null,t.state.fetchStatus===`fetching`&&this.setState(t,{...t.state,fetchStatus:`idle`}))}async refreshActiveQueriesForEnvironment(e){let t=[];for(let n of this.cache.values()){let r=[...n.observers].filter(t=>t.environmentId===e),i=r[0];i&&(n.state.status!==`error`&&!r.some(e=>this.isStale(n.key,e.staleTime??0))||t.push(Promise.resolve(i.refetch()).catch(()=>void 0)))}await Promise.all(t)}async fetch(e,t,n={}){let r=this.ensureEntry(e);if(r.promise)return r.promise;let i=++r.fetchId,a=ny(n.retry);this.setState(r,{...r.state,fetchStatus:`fetching`,error:null});let o=(async()=>{for(let e=0;e<=a;e+=1)try{let e=await t();return r.fetchId===i?(this.setState(r,{data:e,error:null,status:`success`,fetchStatus:`idle`,dataUpdatedAt:Date.now(),errorUpdatedAt:r.state.errorUpdatedAt}),e):r.state.status===`success`?r.state.data:void 0}catch(t){if(r.fetchId!==i)return;if(e>=a){let e=ty(t);throw this.setState(r,{data:r.state.data,error:e,status:`error`,fetchStatus:`idle`,dataUpdatedAt:r.state.dataUpdatedAt,errorUpdatedAt:Date.now()}),e}if(await iy(ry(e)),r.fetchId!==i)return}})().finally(()=>{r.promise===o&&(r.promise=null,this.scheduleGc(r),this.evictToCapacity())});return r.promise=o,o}async fetchQuery(e){this.setGcTime(e.queryKey,e.gcTime);let t=e.staleTime??0;return this.isStale(e.queryKey,t)?await this.fetch(e.queryKey,e.queryFn,{retry:e.retry,force:!0}):this.getQueryData(e.queryKey)}async prefetchQuery(e){try{await this.fetchQuery(e)}catch{}}clear(){for(let e of this.cache.values())this.clearGcTimer(e),e.fetchId+=1,e.state=Qv;this.cache.clear(),this.prefixIndex.clear()}};function sy(){return oy}function cy(e){return e}function ly(e,t){let n=(0,L.useRef)(null);if(e===void 0)return;if(!t)return e;let r=n.current;if(r&&r.input===e)return r.output;let i=t(e);return n.current={input:e,output:i},i}function uy(e,t,n,r){let i=t.staleTime??0,a=n.fetchStatus===`fetching`,o=n.status===`pending`;return{data:r,error:n.error,status:n.status,fetchStatus:n.fetchStatus,isPending:o,isLoading:o&&a,isError:n.status===`error`,isSuccess:n.status===`success`,isFetching:a,isRefetching:a&&!o,isStale:e.isStale(t.queryKey,i),dataUpdatedAt:n.dataUpdatedAt,refetch:async()=>{await e.fetch(t.queryKey,t.queryFn,{retry:t.retry,force:!0});let n=e.getState(t.queryKey);return uy(e,t,n,n.status===`success`?t.select?t.select(n.data):n.data:void 0)}}}function dy(e){let t=sy(),{queryKey:n}=e,r=ey(n);t.setGcTime(n,e.gcTime);let i=(0,L.useRef)(e);i.current=e;let a=(0,L.useCallback)(e=>t.subscribe(i.current.queryKey,e),[t,r]),o=(0,L.useCallback)(()=>t.getState(i.current.queryKey),[t,r]),s=(0,L.useSyncExternalStore)(a,o,o),c=e.enabled??!0,l=e.staleTime??0,u=e.refetchOnMount;return(0,L.useEffect)(()=>{if(!c)return;let e=i.current,n={...e.environmentId?{environmentId:e.environmentId}:{},staleTime:e.staleTime??0,refetch:()=>t.fetch(e.queryKey,e.queryFn,{retry:e.retry,force:!0})},r=t.addObserver(e.queryKey,n),a=u===`always`;return(a||t.isStale(e.queryKey,l))&&t.fetch(e.queryKey,e.queryFn,{retry:e.retry,force:a}),r},[t,r,c,l,u]),(0,L.useEffect)(()=>{if(!c)return;let e=i.current,n=e.refetchInterval;if(n===void 0||n===!1)return;let r=typeof n==`function`?n({state:{data:t.getQueryData(e.queryKey)}}):n;if(!(r===!1||r===void 0||r<=0))return Pi({lifecycle:Ni,run:()=>t.fetch(e.queryKey,e.queryFn,{retry:e.retry,force:!0}),resolveDelayMs:()=>r,runImmediately:!1,jitterRatio:.05}).stop},[t,r,c,s]),uy(t,e,s,ly(s.status===`success`?s.data:void 0,e.select))}var fy=Object.freeze({status:`idle`,data:void 0,error:null,variables:void 0});function py(e){let t=(0,L.useRef)(e);t.current=e;let n=(0,L.useRef)(fy),[,r]=(0,L.useReducer)(e=>e+1,0),i=(0,L.useRef)(!0);(0,L.useEffect)(()=>(i.current=!0,()=>{i.current=!1}),[]);let a=(0,L.useCallback)(e=>{n.current=e,i.current&&r()},[]),o=(0,L.useCallback)(async(e,n)=>{let r=t.current;a({status:`pending`,data:void 0,error:null,variables:e});let i;try{i=r.onMutate?await r.onMutate(e):void 0;let t=await r.mutationFn(e);return await r.onSuccess?.(t,e,i),await n?.onSuccess?.(t,e),await r.onSettled?.(t,null,e,i),await n?.onSettled?.(t,null,e),a({status:`success`,data:t,error:null,variables:e}),t}catch(t){let o=ty(t);throw await r.onError?.(o,e,i),await n?.onError?.(o,e),await r.onSettled?.(void 0,o,e,i),await n?.onSettled?.(void 0,o,e),a({status:`error`,data:void 0,error:o,variables:e}),o}},[a]),s=(0,L.useCallback)(e=>o(e),[o]),c=(0,L.useCallback)((e,t)=>{o(e,t).catch(()=>void 0)},[o]),l=(0,L.useCallback)(()=>{a(fy)},[a]),u=n.current;return{mutate:c,mutateAsync:s,isPending:u.status===`pending`,isIdle:u.status===`idle`,isError:u.status===`error`,isSuccess:u.status===`success`,status:u.status,error:u.error,data:u.data,variables:u.variables,reset:l}}function my(e,t,n){return e.generation===n&&e.selectedNode?.environmentId===t&&e.directoryStatus===`ready`&&e.selectionStatus===`online`&&e.transportStatus===`online`&&e.sessionStatus===`ready`&&e.sessionEstablished&&e.browserStatus===`current`}function hy(e){let t=new Map,n=new Map,r=new Map;return{begin(n){let i=(t.get(n)??0)+1;return t.set(n,i),r.delete(n),e.fence(n),i},ready(i,a,o=()=>!0){if(t.get(i)!==a||!o())return Promise.resolve(!1);let s=r.get(i);if(s?.generation===a)return s.promise;if(n.get(i)===a)return Promise.resolve(!0);let c=e.refresh(i).then(()=>t.get(i)===a&&(n.set(i,a),!0));r.set(i,{generation:a,promise:c});let l=()=>{r.get(i)?.promise===c&&r.delete(i)};return c.then(l,l),c},resetForTests(){t.clear(),n.clear(),r.clear()}}}var gy=hy({fence:e=>{oy.fenceActiveQueriesForEnvironment(e),ui(e)},refresh:async e=>{await Promise.all([oy.refreshActiveQueriesForEnvironment(e),mi(e)])}}),_y=class extends pr{constructor(e,t){super(e,{observability:cd,socket:Wf},t)}},vy=class extends hr{constructor(e,t){super(e,{observability:cd,socket:Wf},t)}},yy=class extends ei{constructor(e,t){super(e,{observability:cd,socket:Wf},t)}},by=`ryco:version-mismatch-dismissals:v1`,xy=ie({keys:Wn(k)});function Sy(e){let t=e?.trim();return t&&t.length>0?t:null}function Cy(e){let t=Sy(Fi),n=Sy(e);return!t||!n||t===n?null:{clientVersion:t,serverVersion:n,hint:`Version mismatch. Try syncing the client and server to the same Ryco version.`}}function wy(e){return Cy(e?.environment.serverVersion)}function Ty(e,t){return`${e}:${t.clientVersion}:${t.serverVersion}`}function Ey(){try{return Si(`ryco:version-mismatch-dismissals:v1`,xy)??{keys:[]}}catch{return{keys:[]}}}function Dy(e){try{Ai(by,e,xy)}catch{}}function Oy(e){return e?Ey().keys.includes(e):!1}function ky(e){if(!e)return;let t=Ey();t.keys.includes(e)||Dy({keys:[...t.keys,e]})}function Ay(e,t){let n=Sy(e);return n?t?`${n} Hint: ${t.hint}`:n:t?.hint??null}var jy=`ryco:startup:`;function My(){return typeof performance<`u`&&typeof performance.mark==`function`}function Ny(e){return`${jy}${e}`}function Py(e){if(My())try{performance.mark(Ny(e))}catch{}}function Fy(e,t,n){if(!(!My()||typeof performance.measure!=`function`))try{performance.measure(`${jy}${e}`,{start:Ny(t),end:Ny(n)})}catch{}}var Iy=new Map,Ly=new Map;function Ry(e,t){let n=Iy.get(e.hubOrigin);n===void 0&&t&&(n=new Map,Iy.set(e.hubOrigin,n));let r=n?.get(e.accountId);return r===void 0&&t&&n!==void 0&&(r=new Set,n.set(e.accountId,r)),r}function zy(e,t){let n=Ly.get(e.hubOrigin);n===void 0&&t&&(n=new Map,Ly.set(e.hubOrigin,n));let r=n?.get(e.accountId);return r===void 0&&t&&n!==void 0&&(r=new Map,n.set(e.accountId,r)),r}function By(e){Ry(e,!0)?.add(e.nodeId)}function Vy(e){return Ry(e,!1)?.has(e.nodeId)??!1}function Hy(e){return zy(e,!1)?.get(e.nodeId)}function Uy(e,t){let n=zy(e,!0),r=n?.get(e.nodeId);(r===void 0||t>r)&&n?.set(e.nodeId,t)}function Wy(){Iy.clear(),Ly.clear()}var Gy=Object.freeze({status:`unavailable`,verificationCode:null}),Ky=Gy,qy=new Set,Jy=[];function Yy(e){if(e.status!==Ky.status||e.verificationCode!==Ky.verificationCode){Ky=e;for(let e of qy)e()}}function Xy(){return Ky}function Zy(e){return qy.add(e),()=>void qy.delete(e)}function Qy(){Jy=[...Jy,`e2ee_policy_generation_regressed`].slice(-8);for(let e of qy)e()}function $y(){if(Jy.length!==0){Jy=[];for(let e of qy)e()}}function eb(){Yy({status:`negotiating`,verificationCode:null})}function tb(e){Yy({status:e===`e2ee`?`web-unsigned`:`legacy`,verificationCode:e===`e2ee`?Ky.verificationCode:null})}function nb(e){Ky.status!==`unavailable`&&Ky.status!==`legacy`&&Yy({status:Ky.status,verificationCode:e})}function rb(){Yy(Gy)}var ib=[1];function ab(){let e=globalThis;return e.isSecureContext===!0&&typeof e.crypto?.getRandomValues==`function`}var ob=ab(),sb=null;function cb(){let e=globalThis.window?.location.origin;if(typeof e!=`string`||e.length===0)return null;let t=I.getState(),n=t.selectedNode;return t.accountStatus!==`authenticated`||t.account===null||n===null?null:{hubOrigin:e,accountId:t.account.id,nodeId:n.id}}function lb(e){let t=Hy(e);return{hubOrigin:e.hubOrigin,selectionClass:Vy(e)?`latched`:`legacy-eligible`,legacyPermitted:!0,pairingOnly:!1,localSuitePreference:ib,credentials:{tier:`web`},...t===void 0?{}:{acceptedPolicyGeneration:t},onStatement:t=>{if(t.kind===`invalid`&&t.reason===`policy_generation_regressed`){Qy();return}if(!(`statement`in t))return;let n=Hy(e);if(n!==void 0&&t.statement.policyGeneration<n)throw Qy(),Error(`Web E2EE policy generation regressed.`);By(e),Uy(e,t.statement.policyGeneration)},onWebVerificationCode:nb}}function ub(e){return e.close(cf()),{intercept:async()=>({kind:`rejected`}),submit:()=>!1,beginClose:async()=>`refused`,dispose:()=>void 0}}function db(){if(!ob){tb(`legacy`);return}let e=cb();if(e===null)return ub;let t=lb(e);return e=>{let n={};sb=n,eb();let r=Cf({host:{...e,lockMode:t=>{e.lockMode(t),tb(t)}},attempt:t});return{...r,dispose:e=>{r.dispose(e),sb===n&&(sb=null,rb())}}}}var fb;function pb(){if(fb!==void 0)return fb;let e=I.getState().accountStatus===`authenticated`,t=I.subscribe(()=>{let t=I.getState().accountStatus;if(t===`authenticated`){e=!0;return}!e||t!==`signed-out`&&t!==`session-expired`||(e=!1,Wy(),$y(),rb())});return fb=()=>{fb=void 0,t()},fb}var mb=c(e=>({open:!1,openIntent:null,setOpen:t=>e({open:t,...t?{}:{openIntent:null}}),toggleOpen:()=>e(e=>({open:!e.open,...e.open?{openIntent:null}:{}})),openAddProject:()=>e(e=>({open:!0,openIntent:{kind:`add-project`,requestId:(e.openIntent?.requestId??0)+1}})),clearOpenIntent:()=>e({openIntent:null})}));function hb(e){return{type:`thread.turn.steer`,commandId:e.commandId,threadId:e.threadId,expectedTurnId:e.expectedTurnId,message:{messageId:e.messageId,role:`user`,text:e.text,attachments:[...e.attachments]},createdAt:e.createdAt,requestedAt:e.requestedAt}}function gb(e,t){return!e||!t?!1:e.instanceId===t.instanceId&&e.model===t.model&&JSON.stringify(e.options??null)===JSON.stringify(t.options??null)}function _b(e){return e.mutationReady?!e.turnRunning||e.activeTurnId===null||e.activeTurnId===void 0?{allowed:!1,reason:`Steering is available only while a turn is running.`}:e.supportsTurnSteering?gb(e.queuedModelSelection,e.activeModelSelection)?e.queuedRuntimeMode!==e.activeRuntimeMode||e.queuedInteractionMode!==e.activeInteractionMode||e.queuedTokenMode!==e.activeTokenMode?{allowed:!1,reason:`The queued runtime settings do not match the active turn.`}:{allowed:!0,expectedTurnId:e.activeTurnId}:{allowed:!1,reason:`The queued provider or model no longer matches the active turn.`}:{allowed:!1,reason:`This provider does not support active-turn steering.`}:{allowed:!1,reason:`Steering is unavailable until the connection is ready.`}}function vb(e,t){return e.filter(e=>e.id!==t)}function yb(e,t,n){let r=e.findIndex(e=>e.id===t);if(r===-1)return[...e];let i=n===`up`?r-1:r+1;if(i<0||i>=e.length)return[...e];let a=[...e],[o]=a.splice(r,1);return a.splice(i,0,o),a}function bb(e){return new Set(Object.entries(e).flatMap(([e,t])=>t.length>0?[e]:[]))}var xb=120;function Sb(e){let t=e.trimmedPrompt.trim();return t.length>0?t.length>xb?`${t.slice(0,119)}…`:t:e.imageCount>0?e.imageCount===1?`1 image`:`${e.imageCount} images`:e.terminalContextCount>0?e.terminalContextCount===1?`1 terminal context`:`${e.terminalContextCount} terminal contexts`:`Queued message`}function Cb(){return c(e=>({queuesByThreadKey:{},steeringIdsByThreadKey:{},enqueue:(t,n)=>e(e=>({queuesByThreadKey:{...e.queuesByThreadKey,[t]:[...e.queuesByThreadKey[t]??[],n]}})),remove:(t,n)=>e(e=>{let r=e.queuesByThreadKey[t];if(!r)return e;let i=e.steeringIdsByThreadKey[t]??[];return{queuesByThreadKey:{...e.queuesByThreadKey,[t]:vb(r,n)},steeringIdsByThreadKey:{...e.steeringIdsByThreadKey,[t]:i.filter(e=>e!==n)}}}),move:(t,n,r)=>e(e=>{let i=e.queuesByThreadKey[t];return i?{queuesByThreadKey:{...e.queuesByThreadKey,[t]:yb(i,n,r)}}:e}),dequeue:t=>e(e=>{let n=e.queuesByThreadKey[t];return!n||n.length===0?e:{queuesByThreadKey:{...e.queuesByThreadKey,[t]:n.slice(1)}}}),clear:t=>e(e=>{if(!(t in e.queuesByThreadKey))return e;let n={...e.queuesByThreadKey},r={...e.steeringIdsByThreadKey};return delete n[t],delete r[t],{queuesByThreadKey:n,steeringIdsByThreadKey:r}}),beginSteer:(t,n)=>e(e=>{let r=e.steeringIdsByThreadKey[t]??[];return r.includes(n)?e:{steeringIdsByThreadKey:{...e.steeringIdsByThreadKey,[t]:[...r,n]}}}),endSteer:(t,n)=>e(e=>{let r=e.steeringIdsByThreadKey[t];return r?.includes(n)?{steeringIdsByThreadKey:{...e.steeringIdsByThreadKey,[t]:r.filter(e=>e!==n)}}:e})}))}var wb=Cb(),Tb=c(e=>({open:!1,setOpen:t=>e(e=>e.open===t?e:{open:t})}));function Eb(){return Tb(Db)}function Db(e){return e.open}function Ob(e){Tb.getState().setOpen(e)}function kb(e){return`git:${e??``}`}var Ab=new Map;function jb(e,t){let n=Ab.get(e);return n||(n=new Set,Ab.set(e,n)),n.add(t),()=>{let n=Ab.get(e);n&&(n.delete(t),n.size===0&&Ab.delete(e))}}function Mb(e){let t=new Set;for(let n of e){let e=Ab.get(n);if(e)for(let n of e)t.add(n)}for(let e of t)e()}var Nb=new Set,Pb=Sr(e=>(Nb.add(e),F(0).pipe(P,N(`git-mutation-running:${e}`))));function Fb(e){return Pb(e)}function Ib(e){let t=Pb(e);M.set(t,M.get(t)+1)}function Lb(e){let t=Pb(e);M.set(t,Math.max(0,M.get(t)-1))}var Rb=15e3,zb=6e4,Bb=100,Vb=Object.freeze({pages:[],isPending:!1,isFetchingNextPage:!1,error:null}),Hb=Object.freeze({...Vb,isPending:!0}),Ub=F(Vb).pipe(P,N(`git-branches:null`)),Wb=new Set,Gb=Sr(e=>(Wb.add(e),F(Hb).pipe(P,N(`git-branches:${e}`)))),Kb=()=>void 0,qb=new Map;function Jb(e){return`${e.environmentId}\u0000${e.cwd}\u0000${e.query}`}function Yb(e){return e.environmentId===null||e.cwd===null?null:Jb({environmentId:e.environmentId,cwd:e.cwd,query:e.query})}function Xb(e){return e===null?Ub:Gb(e)}function Zb(e,t){M.set(Gb(e),t)}async function Qb(e,t,n,r){let i=Qp(e);if(!i)throw Error(`Git refs are unavailable.`);return i.vcs.listRefs({cwd:t,...n.length>0?{query:n}:{},cursor:r,limit:Bb})}function $b(e){let t=e[e.length-1];return t?t.nextCursor:null}function ex(e,t){if(e.inFlightPromise)return e.inFlightPromise;let n=t().finally(()=>{e.inFlightPromise===n&&(e.inFlightPromise=null)});return e.inFlightPromise=n,n}async function tx(e){let t=++e.fetchToken,n=M.get(Gb(e.key));Zb(e.key,{pages:n.pages,isPending:n.pages.length===0,isFetchingNextPage:!1,error:null});try{let n=await Qb(e.environmentId,e.cwd,e.query,0);if(t!==e.fetchToken)return;e.loadedPageCount=1,e.lastFetchedAt=Date.now(),e.hasLoadedOnce=!0,Zb(e.key,{pages:[n],isPending:!1,isFetchingNextPage:!1,error:null})}catch(n){if(t!==e.fetchToken)return;Zb(e.key,{pages:M.get(Gb(e.key)).pages,isPending:!1,isFetchingNextPage:!1,error:n instanceof Error?n:Error(`Failed to load refs.`)})}}function nx(e){return ex(e,()=>tx(e))}async function rx(e){let t=++e.fetchToken,n=Math.max(1,e.loadedPageCount),r=M.get(Gb(e.key));Zb(e.key,{pages:r.pages,isPending:r.pages.length===0,isFetchingNextPage:!1,error:null});try{let r=[],i=0;for(let a=0;a<n;a+=1){let n=await Qb(e.environmentId,e.cwd,e.query,i);if(t!==e.fetchToken)return;if(r.push(n),n.nextCursor===null)break;i=n.nextCursor}e.loadedPageCount=r.length,e.lastFetchedAt=Date.now(),e.hasLoadedOnce=!0,Zb(e.key,{pages:r,isPending:!1,isFetchingNextPage:!1,error:null})}catch(n){if(t!==e.fetchToken)return;Zb(e.key,{pages:M.get(Gb(e.key)).pages,isPending:!1,isFetchingNextPage:!1,error:n instanceof Error?n:Error(`Failed to load refs.`)})}}function ix(e){return ex(e,()=>rx(e))}function ax(e){return e.hasLoadedOnce?ix(e):nx(e)}function ox(e){if(e===null)return;let t=qb.get(e);if(!t)return;let n=M.get(Gb(e));if(n.isFetchingNextPage||t.inFlightPromise)return;let r=$b(n.pages);if(r===null)return;Zb(e,{...n,isFetchingNextPage:!0,error:null});let i=t.fetchToken;ex(t,async()=>{try{let n=await Qb(t.environmentId,t.cwd,t.query,r);if(i!==t.fetchToken)return;let a=M.get(Gb(e));t.loadedPageCount=a.pages.length+1,t.lastFetchedAt=Date.now(),Zb(e,{pages:[...a.pages,n],isPending:!1,isFetchingNextPage:!1,error:null})}catch(n){if(i!==t.fetchToken)return;Zb(e,{...M.get(Gb(e)),isFetchingNextPage:!1,error:n instanceof Error?n:Error(`Failed to load refs.`)})}})}function sx(e){if(e===null)return;let t=qb.get(e);if(!t){px(e);return}t.poller?.refresh()??ax(t)}function cx(e){Date.now()-e.lastFetchedAt<Rb||(e.poller?.refresh()??ax(e))}function lx(e){if(e.environmentId===null||e.cwd===null)return Kb;let t=e.environmentId,n=e.cwd,r=Jb({environmentId:t,cwd:n,query:e.query}),i=qb.get(r);if(i)return i.subscriberCount+=1,i.hasLoadedOnce&&cx(i),()=>ux(r);let a={key:r,environmentId:t,cwd:n,query:e.query,subscriberCount:1,loadedPageCount:0,lastFetchedAt:0,fetchToken:0,hasLoadedOnce:!1,inFlightPromise:null,invalidationUnsub:Kb,focusListener:null,poller:null};if(qb.set(r,a),a.invalidationUnsub=jb(kb(n),()=>{a.poller?.refresh()??ax(a)}),typeof window<`u`){let e=()=>cx(a);a.focusListener=e,window.addEventListener(`focus`,e)}return typeof window<`u`&&typeof document<`u`?a.poller=Pi({lifecycle:Ni,run:()=>ax(a),resolveDelayMs:()=>zb,jitterRatio:.05}):nx(a),()=>ux(r)}function ux(e){let t=qb.get(e);t&&(--t.subscriberCount,!(t.subscriberCount>0)&&(t.invalidationUnsub(),t.focusListener&&typeof window<`u`&&window.removeEventListener(`focus`,t.focusListener),t.poller?.stop(),t.fetchToken+=1,qb.delete(e)))}var dx=new Set,fx=0;async function px(e){if(dx.has(e)||qb.get(e))return;let t=e.indexOf(`\0`),n=e.lastIndexOf(`\0`);if(t===-1||n===t)return;let r=e.slice(0,t),i=e.slice(t+1,n),a=e.slice(n+1);dx.add(e);let o=fx;try{let t=await Qb(r,i,a,0);if(o!==fx||qb.has(e))return;Zb(e,{pages:[t],isPending:!1,isFetchingNextPage:!1,error:null})}catch{}finally{o===fx&&dx.delete(e)}}function mx(e){let t=Yb(e);t!==null&&(M.get(Gb(t)).pages.length>0||px(t))}function hx(e){return e.flatMap(e=>e.refs)}var gx=3e4,_x=Object.freeze({data:null,isPending:!1,isFetching:!1,isError:!1,error:null}),vx=F(_x).pipe(P,N(`git-resolve-pr:null`)),yx=new Set,bx=Sr(e=>(yx.add(e),F(_x).pipe(P,N(`git-resolve-pr:${e}`)))),xx=new Map;function Sx(e){return`${e.environmentId}\u0000${e.cwd}\u0000${e.reference}`}function Cx(e){return e.environmentId===null||e.cwd===null||e.reference===null?null:Sx({environmentId:e.environmentId,cwd:e.cwd,reference:e.reference})}function wx(e){return e===null?vx:bx(e)}async function Tx(e){let t=++e.fetchToken,n=M.get(bx(e.key));M.set(bx(e.key),{data:n.data,isPending:n.data===null,isFetching:!0,isError:!1,error:null});try{let n=Qp(e.environmentId);if(!n)throw Error(`Pull request lookup is unavailable.`);let r=await n.git.resolvePullRequest({cwd:e.cwd,reference:e.reference});if(t!==e.fetchToken)return;e.lastFetchedAt=Date.now(),M.set(bx(e.key),{data:r,isPending:!1,isFetching:!1,isError:!1,error:null})}catch(n){if(t!==e.fetchToken)return;M.set(bx(e.key),{data:null,isPending:!1,isFetching:!1,isError:!0,error:n instanceof Error?n:Error(`Failed to resolve pull request.`)})}}function Ex(e){let t=Cx(e);if(t===null||e.environmentId===null||e.cwd===null||e.reference===null)return Kb;let n=e.environmentId,r=e.cwd,i=e.reference,a=xx.get(t);if(a)return a.subscriberCount+=1,Date.now()-a.lastFetchedAt>=gx&&Tx(a),()=>Dx(t);let o={key:t,environmentId:n,cwd:r,reference:i,subscriberCount:1,lastFetchedAt:0,fetchToken:0};return xx.set(t,o),Tx(o),()=>Dx(t)}function Dx(e){let t=xx.get(e);t&&(--t.subscriberCount,!(t.subscriberCount>0)&&(t.fetchToken+=1,xx.delete(e)))}function Ox(){for(let e of qb.values())e.fetchToken+=1,e.invalidationUnsub(),e.focusListener&&typeof window<`u`&&window.removeEventListener(`focus`,e.focusListener),e.poller?.stop();qb.clear(),fx+=1,dx.clear();for(let e of xx.values())e.fetchToken+=1;xx.clear(),Ab.clear();for(let e of Wb)M.set(Gb(e),Hb);for(let e of yx)M.set(bx(e),_x);for(let e of Nb)M.set(Pb(e),0)}var kx={metaKey:!1,ctrlKey:!1,altKey:!1,shiftKey:!1};function Ax(e,t){return e.metaKey===t.metaKey&&e.ctrlKey===t.ctrlKey&&e.altKey===t.altKey&&e.shiftKey===t.shiftKey}var jx=c(e=>({state:kx,setState:t=>e(e=>Ax(e.state,t)?e:{state:t}),clear:()=>e(e=>Ax(e.state,kx)?e:{state:kx})}));function Mx(){return jx(Nx)}function Nx(e){return e.state}function Px(e){switch(e){case`Meta`:case`OS`:case`Command`:return`metaKey`;case`Control`:return`ctrlKey`;case`Alt`:case`Option`:return`altKey`;case`Shift`:return`shiftKey`;default:return null}}function Fx(e){let t=Px(e.key);if(t){let n=jx.getState().state;jx.getState().setState({...n,[t]:e.type===`keydown`});return}jx.getState().setState({metaKey:e.metaKey,ctrlKey:e.ctrlKey,altKey:e.altKey,shiftKey:e.shiftKey})}function Ix(){jx.getState().clear()}var Lx=new Set,Rx=c((e,t)=>({selectedThreadKeys:Lx,anchorThreadKey:null,toggleThread:t=>{e(e=>{let n=new Set(e.selectedThreadKeys);return n.has(t)?n.delete(t):n.add(t),{selectedThreadKeys:n,anchorThreadKey:n.has(t)?t:e.anchorThreadKey}})},rangeSelectTo:(t,n)=>{e(e=>{let r=e.anchorThreadKey;if(r===null){let n=new Set(e.selectedThreadKeys);return n.add(t),{selectedThreadKeys:n,anchorThreadKey:t}}let i=n.indexOf(r),a=n.indexOf(t);if(i===-1||a===-1){let n=new Set(e.selectedThreadKeys);return n.add(t),{selectedThreadKeys:n,anchorThreadKey:t}}let o=Math.min(i,a),s=Math.max(i,a),c=new Set(e.selectedThreadKeys);for(let e=o;e<=s;e++){let t=n[e];t!==void 0&&c.add(t)}return{selectedThreadKeys:c,anchorThreadKey:r}})},clearSelection:()=>{let n=t();(n.selectedThreadKeys.size!==0||n.anchorThreadKey!==null)&&e({selectedThreadKeys:Lx,anchorThreadKey:null})},setAnchor:n=>{t().anchorThreadKey!==n&&e({anchorThreadKey:n})},removeFromSelection:t=>{e(e=>{let n=new Set(t),r=!1,i=new Set;for(let t of e.selectedThreadKeys)n.has(t)?r=!0:i.add(t);return r?{selectedThreadKeys:i,anchorThreadKey:e.anchorThreadKey!==null&&n.has(e.anchorThreadKey)?null:e.anchorThreadKey}:e})},hasSelection:()=>t().selectedThreadKeys.size>0}));function zx(e){rb(),Kr(e),Bm(),Ox(),ph(),Z.getState().demoteEnvironmentStateToCachedSnapshot(e,Date.now()),xr()}function Bx(){for(let e of Object.keys(Z.getState().environmentStateById))Z.getState().removeEnvironmentState(e);Ti.setState({draftsByThreadKey:{},draftThreadsByThreadKey:{},logicalProjectDraftThreadKeyByLogicalProjectKey:{},stickyModelSelectionByProvider:{},stickyActiveProvider:null}),Zv.setState({terminalStateByThreadKey:{},terminalLaunchContextByThreadKey:{},terminalEventEntriesByKey:{},nextTerminalEventId:1}),wb.setState({queuesByThreadKey:{}}),mb.getState().setOpen(!1),Wa.getState().closeSettings(),Ob(!1),Ix(),Rx.getState().clearSelection(),Ga.setState({projectExpandedById:{},projectOrder:[],projectFoldersById:{},projectFolderOrder:[],projectTreeOrder:[],pinnedThreadKeys:{},threadLastVisitedAtById:{},threadChangedFilesExpandedById:{},threadWorkEntryExpandedById:{},defaultAdvertisedEndpointKey:null}),oy.clear(),xr()}function Vx(){let e=new URL(window.location.origin);return e.protocol=e.protocol===`https:`?`wss:`:`ws:`,e.pathname=`/v1/relay/client`,e.toString()}function Hx(e){return typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer}function Ux(e){return e instanceof ArrayBuffer?{bytes:new Uint8Array(e.slice(0))}:e instanceof Uint8Array?{bytes:Uint8Array.from(e)}:ArrayBuffer.isView(e)?{bytes:Uint8Array.from(new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}:Hx(e)?{fail:`protocol_invalid`}:{fail:`frame_too_large`}}var Wx=new Set([af,nf,rf,ef,tf]);function Gx(e){return!(e instanceof Error)||e instanceof DOMException?e:new DOMException(e.message,Wx.has(e.message)?`QuotaExceededError`:`InvalidStateError`)}var Kx=class extends EventTarget{url;protocol=``;extensions=``;binaryType=`arraybuffer`;CONNECTING=WebSocket.CONNECTING;OPEN=WebSocket.OPEN;CLOSING=WebSocket.CLOSING;CLOSED=WebSocket.CLOSED;onopen=null;onmessage=null;onerror=null;onclose=null;#e;#t=WebSocket.CONNECTING;constructor(e){if(super(),this.url=e.url,e.url!==Vx()||e.ticketExpiresAt<=Date.now())throw Error(`Relay attempt is no longer valid.`);let t=(e.createSocket??(e=>new WebSocket(e)))(e.url);t.binaryType=`arraybuffer`;let n={get bufferedAmount(){return t.bufferedAmount},get readyState(){return t.readyState},send:e=>t.send(Uint8Array.from(e).buffer),close:(e,n)=>t.close(e,n),onOpen:e=>t.addEventListener(`open`,e),onBinaryMessage:e=>t.addEventListener(`message`,t=>{let n=Ux(t.data);`bytes`in n?e(n.bytes):this.#e.reportUndecodableMessage(n.fail)}),onClose:e=>t.addEventListener(`close`,e),onError:e=>t.addEventListener(`error`,e)};try{this.#e=new lf({ticket:e.ticket,ticketExpiresAt:e.ticketExpiresAt,socket:n,callbacks:e.callbacks,...e.e2ee===void 0?{}:{e2ee:e.e2ee},timers:{now:()=>Date.now(),setTimeout:(e,t)=>globalThis.setTimeout(e,t),clearTimeout:e=>globalThis.clearTimeout(e),queueMicrotask:e=>globalThis.queueMicrotask(e)},events:{onOpen:()=>{this.#t=WebSocket.OPEN,this.#n(`open`,new Event(`open`))},onData:e=>this.#n(`message`,new MessageEvent(`message`,{data:e})),onError:()=>this.#n(`error`,new Event(`error`)),onClose:(e,t)=>{this.#t=WebSocket.CLOSED,this.#n(`close`,new CloseEvent(`close`,{code:e,reason:t,wasClean:e===1e3}))}}})}catch(e){try{t.close()}catch{}throw e}}get readyState(){return this.#t}get bufferedAmount(){return this.#e.bufferedAmount}send(e){let t=typeof e==`string`?new TextEncoder().encode(e):e instanceof ArrayBuffer||Hx(e)?new Uint8Array(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):(()=>{throw new DOMException(`Blob RPC writes are unsupported.`,`DataError`)})();try{this.#e.send(Uint8Array.from(t))}catch(e){throw Gx(e)}}close(e=1e3,t=``){this.#t!==WebSocket.CLOSED&&this.#t!==WebSocket.CLOSING&&(this.#t=WebSocket.CLOSING,this.#e.close(e,t))}#n(e,t){this.dispatchEvent(t);let n=this[`on${e}`];n&&n.call(this,t)}},qx=!1;function Jx(e){qx||(qx=!0,pb(),_a({endpoint:ur,httpClient:ir,passkeyCeremony:Vf,sessionCredentials:_r,nodeLifecycle:{activate:async()=>void 0,suspend:async()=>void 0,deactivate:async()=>void 0,clearNodeScopedState:zx,writePrimaryEnvironmentDescriptor:Xr,connectPrimaryEnvironment:MC,disconnectPrimaryEnvironment:jC,setActiveEnvironmentId:e=>Z.getState().setActiveEnvironmentId(e)},timers:{now:()=>Date.now(),setTimeout:(e,t)=>globalThis.setTimeout(e,t),clearTimeout:e=>globalThis.clearTimeout(e),queueMicrotask:e=>globalThis.queueMicrotask(e)},isForeground:()=>globalThis.document?.visibilityState!==`hidden`,subscribeForeground:e=>{let t=()=>{globalThis.document?.visibilityState===`visible`&&e()};return globalThis.document?.addEventListener(`visibilitychange`,t,{once:!0}),()=>globalThis.document?.removeEventListener(`visibilitychange`,t)},hasPendingRelayRequests:Pf,resetRelayAttemptFactory:Ff,relayUrl:Vx,createRelaySocket:e=>new Kx({...e,e2ee:db()})},e))}var Yx=new class extends ya{constructor(){super({endpoint:ur,httpClient:ir,passkeyCeremony:Vf,sessionCredentials:_r})}},Xx=n({HOSTED_SESSION_SYNC_FAILURE_MESSAGE:()=>HOSTED_SESSION_SYNC_FAILURE_MESSAGE,ensureWebHostedRuntimeConfigured:()=>Zx,hostedAccountStore:()=>da,hostedHubController:()=>ka,hostedHubStore:()=>I,hostedRecoveryCodeDisplayStore:()=>pa,useHostedAccountStore:()=>$x,useHostedHubStore:()=>Qx,useHostedRecoveryCodeDisplayStore:()=>eS});ba(()=>Jx(Yx));function Zx(){Jx(Yx)}var Qx=Object.assign(e=>f(I,e),I),$x=Object.assign(e=>f(da,e),da),eS=Object.assign(e=>f(pa,e),pa);function tS(e){return/^[a-zA-Z]:([/\\]|$)/.test(e)}function nS(e){return e.startsWith(`\\\\`)}function rS(e){return nS(e)||tS(e)}function iS(e){return e===`.`||e===`..`||e.startsWith(`./`)||e.startsWith(`../`)||e.startsWith(`.\\`)||e.startsWith(`..\\`)}function aS(e){return e===`/`||e===`\\`||/^[a-zA-Z]:[/\\]?$/.test(e)}function oS(e){return tS(e)||nS(e)?`windows`:e.startsWith(`/`)?`unix`:null}function sS(e){if(e.length===0||aS(e))return e;let t=oS(e)===`unix`?e.replace(/\/+$/g,``):e.replace(/[\\/]+$/g,``);return t.length===0?e:/^[a-zA-Z]:$/.test(t)?`${t}\\`:t}function cS(e){let t=sS(e.trim());return tS(t)||t.startsWith(`\\\\`)?t.replaceAll(`/`,`\\`).toLowerCase():t}function lS(e){let t=new Set,n=[];for(let r of e){let e=r?.trim();!e||t.has(e)||(t.add(e),n.push(e))}return n}function uS(e){let t=e.repositoryIdentity?.rootPath?.trim();if(!t)return null;let n=cS(e.cwd),r=cS(t);if(n.length===0||r.length===0)return null;if(n===r)return``;let i=`${r}${r.includes(`\\`)?`\\`:`/`}`;return n.startsWith(i)?n.slice(i.length).replaceAll(`\\`,`/`):null}function dS(e,t){return`${e}:${cS(t)}`}function fS(e){return dS(e.environmentId,e.cwd)}function pS(e,t){let n=e.repositoryIdentity?.canonicalKey;if(!n)return null;if(t===`repository`)return n;let r=uS(e);return r===null||r.length===0?n:`${n}::${r}`}function mS(e,t){let n=t?.groupingMode??`repository`;return n===`separate`?fS(e):pS(e,n)??fS(e)??`${e.environmentId}:${e.id}`}function hS(e){let t=lS(e.members.map(e=>e.repositoryIdentity?.displayName));if(t.length===1)return t[0];let n=lS(e.members.map(e=>e.repositoryIdentity?.name));return n.length===1?n[0]:e.representative.name}function gS(e,t){return{key:e.physicalKey,label:e.name,repositoryIdentity:e.repositoryIdentity,variants:[e],ambiguous:t}}function _S(e,t){let n=new Map;for(let r of e){let e=mS({environmentId:r.environmentId,id:r.projectId,cwd:r.cwd,repositoryIdentity:r.repositoryIdentity},t),i=n.get(e)??[];i.push(r),n.set(e,i)}let r=[];for(let[e,t]of n){let n=new Map;for(let e of t)n.set(e.environmentId,(n.get(e.environmentId)??0)+1);let i=Array.from(n.values()).some(e=>e>1);if(i||t.length===1){r.push(...t.map(e=>gS(e,i)));continue}let a=t.toSorted((e,t)=>{let n=e.lastUsedAt??e.lastLiveAt??0;return(t.lastUsedAt??t.lastLiveAt??0)-n||e.physicalKey.localeCompare(t.physicalKey)}),o=a[0];r.push({key:e,label:hS({representative:o,members:t}),repositoryIdentity:o.repositoryIdentity,variants:a,ambiguous:!1})}return r.toSorted((e,t)=>e.label.localeCompare(t.label)||e.key.localeCompare(t.key))}function vS(e){return fS(e)}function yS(e){return fS(e)}function bS(e,t){return t.sidebarProjectGroupingOverrides?.[vS(e)]??t.sidebarProjectGroupingMode}function xS(e,t){return mS(e,{groupingMode:bS(e,t)})}function SS(e){return{prepareShellEvent:(e,t)=>{let n=t.kind===`thread-upserted`?t.thread.id:t.kind===`thread-removed`?t.threadId:null,r=n?a(e,n):null;return{previousThread:r?z_(Z.getState(),r):void 0,threadRef:r}},applyShellEvent:(e,t)=>Z.getState().applyShellEvent(t,e),afterShellEventApplied:(t,n,r)=>{let{previousThread:i,threadRef:a}=r;switch(n.kind){case`project-upserted`:case`project-removed`:CS();return;case`worktree-upserted`:case`worktree-removed`:return;case`thread-upserted`:wS(),!i&&a&&Ei(a),i?.archivedAt===null&&n.thread.archivedAt!==null&&a&&Zv.getState().removeTerminalState(a),e.supervisor?.().reconcileThreadDetailSubscriptionEvictionForThread(t,n.thread.id),e.supervisor?.().evictIdleThreadDetailSubscriptionsToCapacity();return;case`thread-removed`:a&&(e.supervisor?.().disposeThreadDetailSubscription(t,n.threadId),Ti.getState().clearDraftThread(a),Ga.getState().clearThreadUi(p(a)),Zv.getState().removeTerminalState(a)),wS()}},applyOrchestrationEvents:(e,t)=>Z.getState().applyOrchestrationEvents(t,e),syncServerShellSnapshot:(e,t)=>Z.getState().syncServerShellSnapshot(t,e),reconcileSnapshotDerivedState:()=>{CS(),wS();let e=dv({snapshotThreads:A_(Z.getState()).map(e=>({key:p(a(e.environmentId,e.id)),deletedAt:null,archivedAt:e.archivedAt})),draftThreadKeys:Ti.getState().listDraftThreadKeys()});Zv.getState().removeOrphanedTerminalStates(e)},syncProjects:()=>{let e=jl();Ga.getState().syncProjects(k_(Z.getState()).map(t=>({key:fS(t),logicalKey:xS(t,e),cwd:t.cwd})))},syncThreads:()=>{let e=A_(Z.getState());Ga.getState().syncThreads(e.map(e=>({key:p(a(e.environmentId,e.id)),seedVisitedAt:e.updatedAt??e.createdAt})))},clearThreadDraft:e=>{Ti.getState().clearDraftThread(e),Ga.getState().clearThreadUi(p(e))},clearProjectDraftThread:e=>Ti.getState().clearProjectDraftThreadId(e),clearTerminalState:e=>Zv.getState().removeTerminalState(e),markProviderInvalidationNeeded:e.markProviderInvalidationNeeded,flushProviderInvalidation:e.flushProviderInvalidation}}function CS(){let e=k_(Z.getState()),t=jl();Ga.getState().syncProjects(e.map(e=>({key:fS(e),logicalKey:xS(e,t),cwd:e.cwd})))}function wS(){let e=A_(Z.getState());Ga.getState().syncThreads(e.map(e=>({key:p(a(e.environmentId,e.id)),seedVisitedAt:e.updatedAt??e.createdAt}))),Oi(e.map(e=>a(e.environmentId,e.id)))}var TS=0,ES=1,DS=2,OS=3,kS=class{url;protocol=``;extensions=``;binaryType=`arraybuffer`;CONNECTING=TS;OPEN=ES;CLOSING=DS;CLOSED=OS;onopen=null;onmessage=null;onerror=null;onclose=null;#e;#t;#n=new Map;#r;#i=TS;constructor(e){this.url=e.url,this.#t=e.transportId,this.#e=e.bridge,this.#r=e.bridge.onDesktopWorkspaceTransportEvent?.(e=>this.#a(e)),Promise.resolve().then(async()=>{try{await e.bridge.activateDesktopWorkspaceTransport?.(e.transportId)}catch{this.#o()}})}get readyState(){return this.#i}get bufferedAmount(){return 0}send(e){if(this.#i!==ES)throw Error(`Desktop workspace transport is not open.`);let t=typeof e==`string`?new TextEncoder().encode(e):e instanceof ArrayBuffer?new Uint8Array(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):null;if(t===null)throw Error(`Desktop workspace transport payload is invalid.`);this.#e.sendDesktopWorkspaceTransport?.(this.#t,Uint8Array.from(t))}close(){this.#i!==DS&&this.#i!==OS&&(this.#i=DS,this.#e.closeDesktopWorkspaceTransport?.(this.#t))}addEventListener(e,t,n){let r=this.#n.get(e)??new Set;r.add({listener:t,once:n?.once??!1}),this.#n.set(e,r)}removeEventListener(e,t){let n=this.#n.get(e);if(n)for(let e of[...n])e.listener===t&&n.delete(e)}#a(e){if(e.transportId===this.#t&&this.#i!==OS)switch(e.type){case`open`:if(this.#i!==TS)return;this.#i=ES,this.#s({type:`open`});return;case`message`:if(this.#i!==ES)return;this.#s({type:`message`,data:Uint8Array.from(e.data)});return;case`error`:this.#s({type:`error`});return;case`close`:this.#i=OS,this.#s({type:`close`,code:e.code,reason:e.reason,wasClean:e.code===1e3}),this.#r?.()}}#o(){this.#i!==OS&&(this.#s({type:`error`}),this.#i=OS,this.#s({type:`close`,code:4401,reason:`Relay unavailable`,wasClean:!1}),this.#r?.())}#s(e){let t=this.#n.get(e.type);if(t)for(let n of[...t])n.once&&t.delete(n),n.listener(e);let n={open:this.onopen,message:this.onmessage,error:this.onerror,close:this.onclose}[e.type];n?.(e)}},AS=class{#e;#t;#n=null;constructor(e,t){this.#e=e,this.#t=t}async nextUrl(){if(!this.#t.prepareDesktopWorkspaceTransport)throw Error(`Desktop workspace transport is unavailable.`);let e=await this.#t.prepareDesktopWorkspaceTransport(this.#e);return this.#n=e.transportId,`ws://desktop-workspace.invalid/${e.transportId}`}createSocket(e){let t=this.#n;if(this.#n=null,!t||!e.endsWith(`/${t}`))throw Error(`Desktop workspace transport requires a fresh opaque handle.`);return new kS({url:e,transportId:t,bridge:this.#t})}};function jS(e){return e instanceof Bc}var MS=!1,NS=SS({markProviderInvalidationNeeded:()=>{MS=!0,$().requestProviderInvalidation()},flushProviderInvalidation:()=>{MS=!1,fh(),xm()},supervisor:$}),PS=150,FS=()=>void 0,IS=/^\[ssh_http:(\d+)\]\s/u,LS=null,RS=!1,zS=null,BS=new Promise(e=>{zS=e}),VS=null;function $(){return VS||(VS=Vc({isHostedMode:l,now:Date.now,setTimeout:(e,t)=>globalThis.setTimeout(e,t),clearTimeout:e=>globalThis.clearTimeout(e),createInvalidationThrottle:()=>new Fo(()=>{MS&&NS.flushProviderInvalidation()},{wait:100,leading:!1,trailing:!0}),resetProviderInvalidation:()=>{MS=!1},createPrimaryConnection:()=>qr()?.environmentId?kC():null,listSavedEnvironmentRecords:Vp,hasSavedEnvironmentRegistryHydrated:zp,waitForSavedEnvironmentRegistryHydration:Bp,subscribeSavedEnvironmentRegistry:Rp.subscribe,connectSavedEnvironment:(e,t)=>FC(e,void 0,t),disconnectSavedEnvironment:UC,waitForPrimaryShellSnapshotApplied:WS,subscribeBrowserResume:IC,isThreadDetailSubscriptionNonIdle:(e,t)=>KS({environmentId:e,threadId:t}),syncThreadDetailSnapshot:(e,t)=>Z.getState().syncServerThreadDetail(t.thread,e),syncThreadWindowSnapshot:(e,t)=>Z.getState().syncServerThreadWindow(t,e),syncThreadHistoryPage:(e,t,n)=>Z.getState().syncServerThreadHistoryPage(n,t,e),setThreadHistoryRequestState:e=>Z.getState().setServerThreadHistoryLoadState({...e,loadState:{status:e.status,cursor:e.cursor,error:e.error}}),applyThreadDetailEvent:(e,t)=>xC(t,e),stateSink:NS,onShellSnapshotReceived:e=>{e===qr()?.environmentId&&Py(`primary-shell-snapshot-received`)},onShellSnapshotCurrent:()=>void 0,onShellSnapshotApplied:e=>{e===qr()?.environmentId&&(Py(`primary-shell-snapshot-applied`),Fy(`primary-shell-snapshot`,`primary-shell-snapshot-received`,`primary-shell-snapshot-applied`),Py(`primary-shell-usable`),Fy(`primary-shell-ready`,`root-before-load-ready`,`primary-shell-usable`),US())},onShellSnapshotReady:()=>void 0}),VS)}function HS(){let e=null;return{promise:new Promise(t=>{e=t}),resolve:t=>{e?.(t),e=null}}}function US(){RS||(RS=!0,zS?.(),zS=null)}async function WS(e){RS||!qr()?.environmentId||await Promise.race([BS,new Promise(t=>{globalThis.setTimeout(t,e)})])}async function GS(e,t){return await new Promise(n=>{let r=globalThis.setTimeout(()=>n(null),t);e.then(e=>{clearTimeout(r),n(e)},()=>{clearTimeout(r),n(null)})})}function KS(e){let t=a(e.environmentId,e.threadId),n=Z.getState(),r=V_(n,t);if(r){if(r.hasPendingApprovals||r.hasPendingUserInput||r.hasActionableProposedPlan)return!0;let e=r.session?.orchestrationStatus;if(e&&e!==`idle`&&e!==`stopped`||r.latestTurn?.state===`running`)return!0}let i=z_(n,t);if(!i)return!1;let o=i.session?.orchestrationStatus;return!!(o&&o!==`idle`&&o!==`stopped`)||i.latestTurn?.state===`running`||i.pendingSourceProposedPlan!==void 0}function qS(e){$().disposeThreadDetailSubscriptionsForEnvironment(e)}function JS(e,t){return $().retainThreadDetailSubscription(e,t)}function YS(e){return $().loadOlderThreadHistory(e)}function XS(e){return $().loadThreadHistoryAroundMessage(e)}function ZS(e){return{lastError:e instanceof Error?e.message:String(e),lastErrorAt:new Date().toISOString()}}function QS(){return new Date().toISOString()}function $S(e){if(!(e instanceof Error))return null;let t=IS.exec(e.message);if(!t)return null;let n=Number.parseInt(t[1]??``,10);return Number.isInteger(n)?n:null}function eC(e,t){return $S(e)===t}function tC(e,t){return!e||!t?!1:e.alias===t.alias&&e.hostname===t.hostname&&e.username===t.username&&e.port===t.port}function nC(e){return e?Vp().find(t=>tC(t.desktopSsh,e))??null:null}function rC(e){return Object.fromEntries(e.map(e=>[e.environmentId,e]))}function iC(e){return new Map(e.map(e=>[e,Hp(e)??null]))}async function aC(e){let t=rC(Vp());for(let[n,r]of e){if(r){t[n]=r;continue}delete t[n]}let n=Object.values(t);await Ip().persistence.setSavedEnvironmentRegistry(n.map(e=>fi(e))),Rp.setState({byId:t})}async function oC(e,t){let n=window.desktopBridge;if(!n)throw Error(`SSH launch is only available in the desktop app.`);return await n.ensureSshEnvironment(e,t)}function sC(){let e=window.desktopBridge;if(!e)throw Error(`SSH launch is only available in the desktop app.`);return e}async function cC(e){return await sC().fetchSshEnvironmentDescriptor(e)}async function lC(e,t){return await sC().bootstrapSshBearerSession(e,t)}async function uC(e,t){return await sC().fetchSshSessionState(e,t)}async function dC(e,t,n){let r=await sC().issueSshWebSocketToken(t,n),i=new URL(e,window.location.origin);return i.searchParams.set(`wsToken`,r.token),i.toString()}async function fC(e,t){if(!e.desktopSsh)return{record:e,pairingToken:null,remotePort:null,remoteServerKind:null};let n=await oC(e.desktopSsh,t),r={...e,httpBaseUrl:n.httpBaseUrl,wsBaseUrl:n.wsBaseUrl,desktopSsh:n.target};return(r.httpBaseUrl!==e.httpBaseUrl||r.wsBaseUrl!==e.wsBaseUrl||!tC(r.desktopSsh,e.desktopSsh))&&(await Up(r),Rp.getState().upsert(r)),{record:r,pairingToken:n.pairingToken,remotePort:n.remotePort??null,remoteServerKind:n.remoteServerKind??null}}async function pC(e){let t=iC([e.environmentId]),n=await fC(e,{issuePairingToken:!0});if(!n.pairingToken)throw await aC(t),Error(`Desktop SSH launch did not return a pairing token.`);let r=await lC(n.record.httpBaseUrl,n.pairingToken).catch(async e=>{await aC(t);let r=[`local ${n.record.httpBaseUrl}`,`remote port ${n.remotePort??`unknown`}`,n.remoteServerKind?`remote server ${n.remoteServerKind}`:null].filter(Boolean).join(`, `),i=e instanceof Error?e.message:String(e);throw Error(`${i} (${r})`)});if(!await Gp(n.record.environmentId,r.sessionToken))throw await aC(t),Error(`Unable to persist saved environment credentials.`);return{record:n.record,bearerToken:r.sessionToken,role:r.role??null}}function mC(e){G.getState().patch(e,{connectionState:`connecting`,lastError:null,lastErrorAt:null})}function hC(e){let t=QS();G.getState().patch(e,{connectionState:`connected`,authState:`authenticated`,connectedAt:t,disconnectedAt:null,lastError:null,lastErrorAt:null}),Rp.getState().markConnected(e,t)}function gC(e,t){G.getState().patch(e,{connectionState:`disconnected`,disconnectedAt:QS(),...t&&t.trim().length>0?{lastError:t,lastErrorAt:QS()}:{}})}function _C(e,t){G.getState().patch(e,{connectionState:`error`,...ZS(t)})}function vC(e){if(e.length<2)return[...e];let t=[];for(let n of e){let e=t.at(-1);if(e?.type===`thread.message-sent`&&n.type===`thread.message-sent`&&e.payload.threadId===n.payload.threadId&&e.payload.messageId===n.payload.messageId){t[t.length-1]={...n,payload:{...n.payload,attachments:n.payload.attachments??e.payload.attachments,createdAt:e.payload.createdAt,text:!n.payload.streaming&&n.payload.text.length>0?n.payload.text:e.payload.text+n.payload.text}};continue}t.push(n)}return t}function yC(e){return e.serverThreadArchivedAt===void 0?e.hasDraftThread:e.serverThreadArchivedAt===null}function bC(e,t){if(e.length===0)return;let n=Yp(e),r=vC(e),i=e.some(e=>e.type===`project.created`||e.type===`project.meta-updated`||e.type===`project.deleted`);n.needsProviderInvalidation&&NS.markProviderInvalidationNeeded(),NS.applyOrchestrationEvents(t,r),i&&NS.syncProjects(t),e.some(e=>e.type===`thread.created`||e.type===`thread.deleted`)&&NS.syncThreads(t);for(let e of n.promoteDraftThreadIds)Ei(a(t,e));for(let e of n.clearDeletedThreadIds)NS.clearThreadDraft(a(t,e));for(let n of e)n.type===`project.deleted`&&NS.clearProjectDraftThread(o(t,n.payload.projectId));for(let e of n.removeTerminalStateThreadIds)NS.clearTerminalState(a(t,e));$().reconcileThreadDetailSubscriptionEvictionForEnvironment(t)}function xC(e,t){bC([e],t)}function SC(e=null,t){let n=()=>e===null||Qx.getState().generation===e,r=t?gy.begin(t):null,i=e=>{n()&&(r=gy.begin(e))},o=t=>{let n=r;n!==null&&gy.ready(t,n,()=>e===null||my(Qx.getState(),t,e)).catch(()=>void 0)};return{onResubscribe:t=>{n()&&(i(t),e!==null&&La(t,e))},onShellError:t=>{e!==null&&n()&&ha(t,e)},resetShellProjection:e=>{n()&&$().resetShellProjection(e)},applyShellEvent:(e,t)=>{n()&&$().applyShellEvent(e,t)},syncShellSnapshot:(t,r)=>{n()&&$().syncShellSnapshot(t,r,{onCurrent:()=>{e!==null&&Ta(r,e),o(r)},onReady:()=>{e!==null&&Ta(r,e),o(r)}})},applyTerminalEvent:(e,t)=>{if(!n())return;let r=a(t,Tn.make(e.threadId)),i=z_(Z.getState(),r),o=Ti.getState().getDraftThreadByRef(r)!==null;yC({serverThreadArchivedAt:i?.archivedAt,hasDraftThread:o})&&Zv.getState().applyTerminalEvent(r,e)}}}function CC(e){let t=wr(e);if(!t)throw Error(`Unable to resolve websocket URL for ${e?.label??`primary environment`}.`);let n=e?.label??null;if(l()){let t=Nf(),r=t.lifecycleHandlers(),i=new yy(()=>t.nextUrl(),{...r,getConnectionLabel:()=>n,getEnvironmentId:()=>e?.environmentId??null,onOpen:()=>{r.onOpen?.(),Py(`primary-ws-open`)}});return cr(i,Vr(i,{manageTransport:!1}))}let r=async e=>{let n=await di(),r=new URL(t,window.location.origin);return r.pathname=e,r.searchParams.set(`wsToken`,n.token),r.toString()};return cr(new _y(()=>r(`/ws`),{getConnectionLabel:()=>n,getEnvironmentId:()=>e?.environmentId??null,getVersionMismatchHint:()=>wy(nr())?.hint??null,onOpen:()=>{Py(`primary-ws-open`)}}),Vr(new vy(()=>r(`/ws/device`),{getConnectionLabel:()=>n}),{openFrameSource:(e,t)=>Tr({udid:e,handlers:t,socket:Wf,resolveUrl:()=>r(`/ws/device-frames`)})}))}async function wC(e,t,n){let r=Hp(e);if(!r)throw Error(`Saved environment ${e} not found.`);let i=r.desktopSsh?await dC(r.wsBaseUrl,r.httpBaseUrl,t):await vh({wsBaseUrl:r.wsBaseUrl,httpBaseUrl:r.httpBaseUrl,bearerToken:t}),a=new URL(i,window.location.origin);return a.pathname=n,a.toString()}function TC(e,t){return G.getState().ensure(e),cr(new _y(()=>wC(e,t,`/ws`),{getConnectionLabel:()=>Hp(e)?.label??null,getEnvironmentId:()=>e,getVersionMismatchHint:()=>wy(G.getState().byId[e]?.serverConfig)?.hint??null,onAttempt:()=>{mC(e)},onOpen:()=>{hC(e)},onError:t=>{let n=wy(G.getState().byId[e]?.serverConfig);G.getState().patch(e,{connectionState:`error`,lastError:Ay(t,n),lastErrorAt:QS()})},onClose:(t,n)=>{n.intentional||gC(e,Ay(t.reason,wy(G.getState().byId[e]?.serverConfig)))}}),Vr(new vy(()=>wC(e,t,`/ws/device`),{getConnectionLabel:()=>Hp(e)?.label??null}),{openFrameSource:(n,r)=>Tr({udid:n,handlers:r,socket:Wf,resolveUrl:()=>wC(e,t,`/ws/device-frames`)})}))}async function EC(e,t,n,r,i){let a=Hp(e);if(!a)throw Error(`Saved environment ${e} not found.`);let[o,s]=await Promise.all([i?Promise.resolve(i):n.server.getConfig(),a.desktopSsh?uC(a.httpBaseUrl,t):gh({httpBaseUrl:a.httpBaseUrl,bearerToken:t})]);G.getState().patch(a.environmentId,{authState:s.authenticated?`authenticated`:`requires-auth`,descriptor:o.environment,serverConfig:o,role:s.authenticated?s.role??r??null:null}),Rp.getState().rename(a.environmentId,o.environment.label)}function DC(e){return $().register(e)}async function OC(e){return await $().remove(e)}function kC(){let e=qr();if(!e?.environmentId)throw Error(`Unable to resolve the primary environment.`);let t=$().read(e.environmentId);if(t)return t;let n=l()?Qx.getState().generation:null;return DC(Oh({kind:`primary`,knownEnvironment:e,client:CC(e),...SC(n,n===null?void 0:e.environmentId)}))}function AC(){return qr()?.environmentId?$().connectPrimary():null}async function jC(){await $().disconnectPrimary()}function MC(){return AC()}async function NC(e){let t=globalThis.window?.desktopBridge;if(!t?.prepareDesktopWorkspaceTransport)throw Error(`Desktop workspace transport is unavailable.`);let n=$().read(e.environmentId);if(n)return await n.reconnect(),await n.ensureBootstrapped(),n;let r=new AS(e.environmentId,t),i=new yy(()=>r.nextUrl(),{preserveSocketPath:!0,webSocketConstructor:e=>r.createSocket(e),retryTransientErrors:!1,reconnectMaxRetries:1e6,getConnectionLabel:()=>e.label,getEnvironmentId:()=>e.environmentId}),a=DC(Oh({kind:`saved`,knownEnvironment:{...Lr({id:e.environmentId,label:e.label,source:`hub-hosted`,target:{httpBaseUrl:`http://desktop-workspace.invalid`,wsBaseUrl:`ws://desktop-workspace.invalid`}}),environmentId:e.environmentId},client:cr(i),onConfigUpdated:t=>{G.getState().ensure(e.environmentId),G.getState().patch(e.environmentId,{descriptor:t.environment,serverConfig:t,connectionState:`connected`})},onWelcome:t=>{G.getState().ensure(e.environmentId),G.getState().patch(e.environmentId,{descriptor:t.environment})},...SC()}));try{return await a.ensureBootstrapped(),a}catch(t){throw await OC(e.environmentId).catch(()=>void 0),t}}async function PC(e,t){return await $().ensureSavedEnvironmentConnection(e,n=>FC(e,t,n))}async function FC(e,t,n=()=>!1){let r=e,i=t?.role??null,a=t?.bearerToken??await Wp(e.environmentId),o=t?.client;for(;;){if(!a){if(e.desktopSsh){let e=await pC(r);r=e.record,a=e.bearerToken,i=e.role}else throw await Kp(e.environmentId).catch(()=>void 0),G.getState().patch(e.environmentId,{authState:`requires-auth`,role:null,connectionState:`disconnected`,lastError:`Saved environment is missing its saved credential. Pair it again.`,lastErrorAt:QS()}),Error(`Saved environment is missing its saved credential.`)}r=(await fC(r)).record;let s=a,c=o??TC(r.environmentId,s),l=HS(),u=Oh({kind:`saved`,knownEnvironment:{...Lr({id:r.environmentId,label:r.label,source:`manual`,target:{httpBaseUrl:r.httpBaseUrl,wsBaseUrl:r.wsBaseUrl}}),environmentId:r.environmentId},client:c,refreshMetadata:async()=>{await EC(r.environmentId,s,c)},onConfigUpdated:e=>{l.resolve(e),G.getState().patch(r.environmentId,{descriptor:e.environment,serverConfig:e})},onWelcome:e=>{G.getState().patch(r.environmentId,{descriptor:e.environment})},...SC()});try{try{let e=t?.serverConfig??await GS(l.promise,PS);await EC(r.environmentId,s,c,i,e)}catch(e){if(!(r.desktopSsh?eC(e,401):Sc(e)&&e.status===401))throw e;if(!r.desktopSsh)throw await Kp(r.environmentId),Error(`Saved environment credential expired. Pair it again.`,{cause:e});let t=await pC(r);r=t.record,a=t.bearerToken,i=t.role,await u.dispose().catch(()=>void 0),o=void 0;continue}if(n())throw await u.dispose().catch(()=>void 0),new Bc(r.environmentId);return DC(u),u}catch(e){throw e instanceof Bc?e:(_C(r.environmentId,e),await OC(r.environmentId).catch(()=>!1)||await u.dispose().catch(()=>void 0),e)}}}function IC(e){if(typeof document>`u`||typeof window>`u`)return FS;let t=()=>{if(document.visibilityState===`hidden`){LS=Date.now();return}document.visibilityState===`visible`&&LS!==null&&(LS=null,e(`visibilitychange`))},n=t=>{(t.persisted||LS!==null)&&(LS=null,e(`pageshow`))};return document.addEventListener(`visibilitychange`,t),window.addEventListener(`pageshow`,n),()=>{document.removeEventListener(`visibilitychange`,t),window.removeEventListener(`pageshow`,n)}}function LC(e){return $().subscribe(e)}function RC(){return $().list()}function zC(e){return $().read(e)}function BC(e){let t=zC(e);if(!t)throw Error(`No websocket client registered for environment ${e}.`);return t}async function VC(e,t){let n=await BC(e).client.server.updateSettings(t);if(qr()?.environmentId===e){Pr(n);return}let r=G.getState().byId[e]?.serverConfig;r&&G.getState().patch(e,{serverConfig:{...r,settings:n}})}function HC(){return kC()}async function UC(e){let t=Hp(e);$().cancelPendingSavedEnvironmentConnection(e),$().read(e)?.kind===`saved`&&await OC(e).catch(()=>!1),gC(e),t?.desktopSsh&&typeof window<`u`&&(await window.desktopBridge?.disconnectSshEnvironment(t.desktopSsh),await Kp(e))}async function WC(e){let t=Hp(e);if(!t)throw Error(`Saved environment not found.`);let n=$().read(e);if(!n){mC(e);try{await PC(t);return}catch(t){if(jS(t))return;throw _C(e,t),t}}mC(e);try{t.desktopSsh&&await fC(t),await n.reconnect()}catch(n){if(t.desktopSsh)try{let n=await pC(Hp(e)??t);await OC(e).catch(()=>!1),await PC(n.record,{bearerToken:n.bearerToken,role:n.role});return}catch(t){if(jS(t))return;throw _C(e,t),t}throw _C(e,n),n}}async function GC(e){await UC(e),qS(e),Rp.getState().remove(e),G.getState().clear(e),Z.getState().removeEnvironmentState(e),await Kp(e)}async function KC(e){let t=yh({...e.pairingUrl===void 0?{}:{pairingUrl:e.pairingUrl},...e.host===void 0?{}:{host:e.host},...e.pairingCode===void 0?{}:{pairingCode:e.pairingCode}}),n=e.desktopSsh?await cC(t.httpBaseUrl):await _h({httpBaseUrl:t.httpBaseUrl}),r=n.environmentId,i=iC([r]),a=Hp(r)??nC(e.desktopSsh),o=a&&a.environmentId!==r?a:null,s=e.desktopSsh?await lC(t.httpBaseUrl,t.credential):await hh({httpBaseUrl:t.httpBaseUrl,credential:t.credential}),c={environmentId:r,label:e.label.trim()||a?.label||n.label,wsBaseUrl:t.wsBaseUrl,httpBaseUrl:t.httpBaseUrl,createdAt:a?.createdAt??QS(),lastConnectedAt:QS(),...e.desktopSsh??a?.desktopSsh?{desktopSsh:e.desktopSsh??a?.desktopSsh}:{}};if(await Up(c),!await Gp(r,s.sessionToken))throw await aC(i),Error(`Unable to persist saved environment credentials.`);return Rp.getState().upsert(c),o&&await GC(o.environmentId),await OC(r).catch(()=>!1),await PC(c,{bearerToken:s.sessionToken,role:s.role}),c}async function qC(e,t){let n=await oC(e,{issuePairingToken:!0});if(!n.pairingToken)throw Error(`Desktop SSH launch did not return a pairing token.`);return await KC({label:t?.label?.trim()||n.target.alias,host:n.httpBaseUrl,pairingCode:n.pairingToken,desktopSsh:n.target}).catch(e=>{let t=[`local ${n.httpBaseUrl}`,`remote port ${n.remotePort??`unknown`}`,n.remoteServerKind?`remote server ${n.remoteServerKind}`:null].filter(Boolean).join(`, `),r=e instanceof Error?e.message:String(e);throw Error(`${r} (${t})`)})}async function JC(e){await $().read(e)?.ensureBootstrapped()}function YC(){return $().start()}var XC=n({waitForSavedEnvironmentRegistryHydration:()=>Bp});export{mx as $,Bo as $n,Qm as $t,rS as A,Kf as An,rv as At,Fx as B,Pl as Bn,L_ as Bt,yS as C,Fp as Cn,Zv as Ct,_S as D,rp as Dn,iv as Dt,hS as E,op as En,lv as Et,eS as F,yu as Fn,R_ as Ft,hx as G,ol as Gn,B_ as Gt,Ib as H,tl as Hn,P_ as Ht,Yx as I,Xl as In,k_ as It,Fb as J,cl as Jn,O_ as Jt,Xb as K,sl as Kn,j_ as Kt,Bx as L,$l as Ln,V_ as Lt,Xx as M,bu as Mn,nv as Mt,$x as N,vu as Nn,$_ as Nt,iS as O,Gf as On,sv as Ot,Qx as P,_u as Pn,X as Pt,Mb as Q,Wo as Qn,$m as Qt,Rx as R,jl as Rn,M_ as Rt,vS as S,Ip as Sn,sy as St,dS as T,np as Tn,Kv as Tt,Lb as U,ll as Un,F_ as Ut,Mx as V,al as Vn,N_ as Vt,ox as W,il as Wn,z_ as Wt,Cx as X,Xc as Xn,Rh as Xt,wx as Y,Qc as Yn,Z as Yt,kb as Z,$c as Zn,wh as Zt,JS as _,$p as _n,Oy as _t,MC as a,nm as an,wb as at,VC as b,Rp as bn,py as bt,JC as c,zm as cn,_b as ct,YS as d,Am as dn,Zy as dt,Vm as en,Lo as er,sx as et,XS as f,cm as fn,Xy as ft,BC as g,Qp as gn,ky as gt,GC as h,em as hn,Ty as ht,NC as i,Cm as in,Eb as it,tS as j,id as jn,tv as jt,nS as k,qf as kn,ov as kt,HC as l,bm as ln,Sb as lt,WC as m,Rm as mn,Fy as mt,KC as n,Um as nn,Ex as nt,jC as o,jm as on,hb as ot,zC as p,ym as pn,Py as pt,Yb as q,rl as qn,A_ as qt,qC as r,uh as rn,Ob as rt,UC as s,lm as sn,bb as st,XC as t,th as tn,lx as tt,RC as u,vm as un,mb as ut,YC as v,Vp as vn,wy as vt,fS as w,ip as wn,Jv as wt,xS as x,G as xn,dy as xt,LC as y,Jp as yn,cy as yt,Ix as z,Ml as zn,I_ as zt};