ryco-cli 0.1.22 → 0.1.24
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.
- package/dist/{ClaudeDriver-D7NatUx6.cjs → ClaudeDriver-B7mbf51W.cjs} +1 -1
- package/dist/{ClaudeDriver-D65SPdHR.mjs → ClaudeDriver-C4yu7Jit.mjs} +1 -1
- package/dist/{CodexDriver-DWGtHt9r.cjs → CodexDriver-CR0S17Lb.cjs} +2 -2
- package/dist/{CodexDriver-D4z5-wUD.mjs → CodexDriver-DnnqkGoY.mjs} +2 -2
- package/dist/{CodexTextGeneration-BikHow8k.mjs → CodexTextGeneration-Cw-FZbSS.mjs} +1 -1
- package/dist/{CodexTextGeneration-B4tJTUDo.cjs → CodexTextGeneration-tlfe1S5W.cjs} +1 -1
- package/dist/{CopilotDriver-ZvvsAIkd.mjs → CopilotDriver-GxKLX5pL.mjs} +2 -2
- package/dist/{CopilotDriver-DJvYncGI.cjs → CopilotDriver-IBd27Ji2.cjs} +2 -2
- package/dist/{CursorDriver-D3I4KULs.cjs → CursorDriver-C4Enoe9N.cjs} +1 -1
- package/dist/{CursorDriver-B1QSBzuH.mjs → CursorDriver-CNo9Uzo8.mjs} +1 -1
- package/dist/{GrokDriver-DgQe3pKz.mjs → GrokDriver-DSPEmiwq.mjs} +1 -1
- package/dist/{GrokDriver-_puXDTU3.cjs → GrokDriver-RyyFeh_q.cjs} +1 -1
- package/dist/{Metrics-DIjMQ5pa.cjs → Metrics-Bcb9vCAe.cjs} +21 -15
- package/dist/{Metrics-BP9YjxZB.mjs → Metrics-a1h4iBQi.mjs} +21 -15
- package/dist/{OpenCodeDriver-DNUlF8M-.mjs → OpenCodeDriver-0q44rSQX.mjs} +1 -1
- package/dist/{OpenCodeDriver-401RexI0.cjs → OpenCodeDriver-CDcvPT9v.cjs} +1 -1
- package/dist/bin.cjs +337 -123
- package/dist/bin.mjs +339 -125
- package/dist/client/assets/AccountSettings-ApnDA1f-.js +1 -0
- package/dist/client/assets/AiFocusSettings-CNmGHEcA.js +1 -0
- package/dist/client/assets/{AnimatedHeight-DKCe4x_Q.js → AnimatedHeight-i0YhvlGD.js} +1 -1
- package/dist/client/assets/AppearanceSettings-BG8W4DP0.js +1 -0
- package/dist/client/assets/BranchToolbar.logic-AgPy06Mx.js +1 -0
- package/dist/client/assets/BrowserPanel-BWztlNuL.js +1 -0
- package/dist/client/assets/ChatRightPanel-a6UOHNMm.js +194 -0
- package/dist/client/assets/ChatThreadRouteView-CWoBLzR_.js +1 -0
- package/dist/client/assets/CommandPaletteDialog-B2iKWCUi.js +1 -0
- package/dist/client/assets/CompositeRoot-C1G-Ejus.js +1 -0
- package/dist/client/assets/ComputerUseSettings-CPwWoHWj.js +1 -0
- package/dist/client/assets/ConnectionsSettings-CPMkuxza.js +7 -0
- package/dist/client/assets/ContextHandoffEndpointLabel-BildLLDY.js +4 -0
- package/dist/client/assets/DiagnosticsSettings-DvnNz2AZ.js +2 -0
- package/dist/client/assets/DialogHandle-8o3kfoiI.js +1 -0
- package/dist/client/assets/DialogPopup-CLw6NCkW.js +1 -0
- package/dist/client/assets/DialogRoot-SKkIuQHA.js +1 -0
- package/dist/client/assets/DialogTitle-DCHX74Tz.js +1 -0
- package/dist/client/assets/DialogTrigger-Bl_fcIV2.js +1 -0
- package/dist/client/assets/DialogViewport-DVDl03yd.js +1 -0
- package/dist/client/assets/DraftChatThreadRouteView-CEDYjbKq.js +1 -0
- package/dist/client/assets/{ExternalIdentityWeb.logic-CGJKCFPo.js → ExternalIdentityWeb.logic-arHvT6AX.js} +1 -1
- package/dist/client/assets/GlassSurface-GY6owikG.js +1 -0
- package/dist/client/assets/HostedConnectionControls-COUhSe9x.js +1 -0
- package/dist/client/assets/HostedHubRoot-BTWc0XoQ.js +2 -0
- package/dist/client/assets/HostedNativeAuthorizationRoute-DZhYxv--.js +2 -0
- package/dist/client/assets/HostedRelayTrustNotice-Bl6On0Yi.js +1 -0
- package/dist/client/assets/IntegrationsSettingsPanel-n9owMZf-.js +2 -0
- package/dist/client/assets/KeybindingsSettings-CPtXx-W2.js +7 -0
- package/dist/client/assets/LazyBrowserPanel-SUIBB7B4.js +2 -0
- package/dist/client/assets/McpServersSettings-BWIUud0Z.js +6 -0
- package/dist/client/assets/MobileSheet-NTayGHF6.js +1 -0
- package/dist/client/assets/NodeSecuritySettings-BFifrshE.js +1 -0
- package/dist/client/assets/OpinionatedPluginsSettings-D7WuuNWZ.js +1 -0
- package/dist/client/assets/PhoneGetAppInterstitial-R0cqI17q.js +1 -0
- package/dist/client/assets/PhoneHome-FqWvnJP_.js +1 -0
- package/dist/client/assets/PhoneSettingsSurface-w5PJnoBc.js +2 -0
- package/dist/client/assets/ProviderModelPicker-dwWhl7Uf.js +1 -0
- package/dist/client/assets/ProvidersSettingsPanel-Ww1ch3xA.js +1 -0
- package/dist/client/assets/QuitShortcutFeedback-CklL3jMd.js +1 -0
- package/dist/client/assets/RedactedSensitiveText-CLPBtvH1.js +1 -0
- package/dist/client/assets/RootAppShell-BdQCs2XJ.js +7 -0
- package/dist/client/assets/Separator-CpYBhf-I.js +1 -0
- package/dist/client/assets/SettingsDialog-DeMzEeCP.js +2 -0
- package/dist/client/assets/SettingsPanels-ZxNz9ZfL.js +3 -0
- package/dist/client/assets/SettingsPanels.editor-9pSZP875.js +1 -0
- package/dist/client/assets/SourceControlSettings-C1F3Brcn.js +1 -0
- package/dist/client/assets/StatisticsPage-C7v-6CTr.js +1 -0
- package/dist/client/assets/StatisticsPanel-CeIjiBm8.js +1 -0
- package/dist/client/assets/StatisticsSettingsLink-5s_violW.js +1 -0
- package/dist/client/assets/ThreadTerminalDrawer-CHZ60lPI.js +18 -0
- package/dist/client/assets/ThreadWorkspacePanel-Ct5kMcuY.js +2073 -0
- package/dist/client/assets/actionscript-3-Cs6JJXT5.js +1 -0
- package/dist/client/assets/activity-BMBx2Fu0.js +1 -0
- package/dist/client/assets/ahk-CA9gdOdF.js +1 -0
- package/dist/client/assets/ahk2-_6rzW9BS.js +1 -0
- package/dist/client/assets/alert-CXnC_RJc.js +1 -0
- package/dist/client/assets/apex-KFGFyKwG.js +1 -0
- package/dist/client/assets/{appChrome-CJauXpqv.js → appChrome-BzM66lXM.js} +1 -1
- package/dist/client/assets/appearancePreferences-nFx4MHoI.js +1 -0
- package/dist/client/assets/arrow-left-CymyVbCi.js +1 -0
- package/dist/client/assets/arrow-right-9wyq4YVq.js +1 -0
- package/dist/client/assets/arrow-up-right-mfU38K6p.js +1 -0
- package/dist/client/assets/asciidoc-SCjQUq34.js +1 -0
- package/dist/client/assets/authorization-CjOFkg7b.js +1 -0
- package/dist/client/assets/badge-Dg7mXiOh.js +1 -0
- package/dist/client/assets/{bat-Bo4NYOV-.js → bat-qdxAdBWQ.js} +1 -1
- package/dist/client/assets/bird2-CYIUgYqB.js +1 -0
- package/dist/client/assets/bot-BR3RyOWP.js +1 -0
- package/dist/client/assets/bsl-_VjlB9mv.js +1 -0
- package/dist/client/assets/c3-D0apG41V.js +1 -0
- package/dist/client/assets/{capabilities-D6bsjqkj.js → capabilities-C8sxDbKT.js} +1 -1
- package/dist/client/assets/chapel-B4wvmE90.js +1 -0
- package/dist/client/assets/chart-column-CcRi3pAd.js +1 -0
- package/dist/client/assets/chevron-right-CuUjBsQV.js +1 -0
- package/dist/client/assets/clarity-CtfBBspg.js +1 -0
- package/dist/client/assets/clipboard-copy-ezz8rnaT.js +1 -0
- package/dist/client/assets/coq-DuBRPxYg.js +1 -0
- package/dist/client/assets/cpp-C3nXdf7H.js +1 -0
- package/dist/client/assets/data-list-ZLhzdlED.js +1 -0
- package/dist/client/assets/{desktopWorkspace-8s8rm3zL.js → desktopWorkspace-P28r2lN2.js} +1 -1
- package/dist/client/assets/download-BA9L9tK9.js +1 -0
- package/dist/client/assets/editorPreferences-DeKdSV3s.js +1 -0
- package/dist/client/assets/emacs-lisp-c_oH4hRZ.js +1 -0
- package/dist/client/assets/empty-3NpXLnAM.js +1 -0
- package/dist/client/assets/{erb-UQla4w8B.js → erb-CXyXxaAM.js} +1 -1
- package/dist/client/assets/{gdresource-C0sCabJj.js → gdresource-xMC7jr7x.js} +1 -1
- package/dist/client/assets/gdscript-DYvRD3hg.js +1 -0
- package/dist/client/assets/group-D5qBdsaB.js +1 -0
- package/dist/client/assets/hack-Bw3mo9za.js +1 -0
- package/dist/client/assets/haxe-C8oCnwJJ.js +1 -0
- package/dist/client/assets/hostedConnectionCoordinator-CLV-JD1S.js +1 -0
- package/dist/client/assets/{hostedPairing-PogXRAb7.js → hostedPairing-B_ylEEDa.js} +1 -1
- package/dist/client/assets/hubRoutes-EWJ3Gdod.js +1 -0
- package/dist/client/assets/hxml-Dcm88srW.js +1 -0
- package/dist/client/assets/{index-DRY8Hgrj.js → index-DxCd1PgA.js} +2 -2
- package/dist/client/assets/input-DrOL1KPS.js +1 -0
- package/dist/client/assets/{julia-DTmLe4fA.js → julia-C-lBeOK5.js} +1 -1
- package/dist/client/assets/{just-CPUGe9J1.js → just-DfEtguTY.js} +1 -1
- package/dist/client/assets/kbd-rWDjJnWX.js +1 -0
- package/dist/client/assets/key-round-D2DtQ7aS.js +1 -0
- package/dist/client/assets/latex-6oxeCMbP.js +1 -0
- package/dist/client/assets/layers-DtSJWmwy.js +1 -0
- package/dist/client/assets/{liquidGlass-yFkZrRk5.js → liquidGlass-Dbl4k51l.js} +1 -1
- package/dist/client/assets/{llvm-Cm23YOpf.js → llvm-DqHOMS-s.js} +1 -1
- package/dist/client/assets/log-out-YAp9fsOg.js +1 -0
- package/dist/client/assets/{logging-Y73f240E.js → logging-BuUPX1SP.js} +1 -1
- package/dist/client/assets/luau-C2pBCSgt.js +1 -0
- package/dist/client/assets/main-BbtLAX7M.js +9 -0
- package/dist/client/assets/main-D4CtFNPY.css +2 -0
- package/dist/client/assets/mdc-uTSeACfH.js +1 -0
- package/dist/client/assets/mermaid-BxpfTIzt.js +1 -0
- package/dist/client/assets/mojo-fg40_ntQ.js +1 -0
- package/dist/client/assets/monitor-OyD484tI.js +1 -0
- package/dist/client/assets/moonbit-DgjMoLWr.js +1 -0
- package/dist/client/assets/move-BYnGhZoM.js +1 -0
- package/dist/client/assets/nsis-CjNLYCLg.js +1 -0
- package/dist/client/assets/nushell-DHYfO66s.js +1 -0
- package/dist/client/assets/org-DRYqs_wo.js +1 -0
- package/dist/client/assets/palette-D18VboLH.js +1 -0
- package/dist/client/assets/play-d3KUi4G6.js +1 -0
- package/dist/client/assets/{powershell-DshXNtvi.js → powershell-CCSX75yM.js} +1 -1
- package/dist/client/assets/primary-D_D7eLwT.js +2 -0
- package/dist/client/assets/prisma-DMgNhnYS.js +1 -0
- package/dist/client/assets/providerDriverMeta-DNTocCcU.js +1 -0
- package/dist/client/assets/providerModels-bFbEIfL9.js +1 -0
- package/dist/client/assets/{qr-code-BKrwYZ2s.js → qr-code-Bk1kdf_k.js} +1 -1
- package/dist/client/assets/qr-code-MAZkoKtL.js +1 -0
- package/dist/client/assets/r-B-BYV2IP.js +1 -0
- package/dist/client/assets/radio-group-D-VCGinX.js +2 -0
- package/dist/client/assets/rbs-C0MpOrj4.js +1 -0
- package/dist/client/assets/refresh-cw-DY3_Ph-S.js +1 -0
- package/dist/client/assets/{rst-C90_EUa_.js → rst-DKqX_39h.js} +1 -1
- package/dist/client/assets/{ruby-BlGyFGAQ.js → ruby-CaU3RLfE.js} +1 -1
- package/dist/client/assets/runtime-Djy96GJd.js +17 -0
- package/dist/client/assets/save-ugJXuJRM.js +1 -0
- package/dist/client/assets/{scala-DKOlJaKm.js → scala-BiFt_7mu.js} +1 -1
- package/dist/client/assets/scroll-area-BMnGzd2a.js +1 -0
- package/dist/client/assets/scrollEdges-QLSFwGSQ.js +1 -0
- package/dist/client/assets/separator-BwUYkCkX.js +1 -0
- package/dist/client/assets/settingsLayout-C6SUmJVB.js +1 -0
- package/dist/client/assets/sheet-DLy4aeVa.js +1 -0
- package/dist/client/assets/shield-Zq_ygsnJ.js +1 -0
- package/dist/client/assets/shield-alert-DfUhTI4-.js +1 -0
- package/dist/client/assets/shield-check-CO4SMhAs.js +1 -0
- package/dist/client/assets/sidebar-DNnW-a2V.js +1 -0
- package/dist/client/assets/sidebarProjectFolders-ygpaKZM6.js +4 -0
- package/dist/client/assets/sidebarStatusText-CawrXnx0.js +1 -0
- package/dist/client/assets/skeleton-DRm4_OvB.js +1 -0
- package/dist/client/assets/smalltalk-BHpQb5nM.js +1 -0
- package/dist/client/assets/smartphone-O2VACDhU.js +1 -0
- package/dist/client/assets/smithy-Dgaz7aur.js +1 -0
- package/dist/client/assets/solidity-Bj7E1mRn.js +1 -0
- package/dist/client/assets/sparkles-isHutYWU.js +1 -0
- package/dist/client/assets/src-BSuAGqhK.js +14 -0
- package/dist/client/assets/star-7UHEnC3x.js +1 -0
- package/dist/client/assets/surrealql-CVtmRpY6.js +1 -0
- package/dist/client/assets/swift-CyEgAFGc.js +1 -0
- package/dist/client/assets/switch-DD1qVLgN.js +48 -0
- package/dist/client/assets/system-verilog-Dh5ihWbf.js +1 -0
- package/dist/client/assets/tex-DOBpnpUK.js +1 -0
- package/dist/client/assets/toggle-CaKBNe6W.js +1 -0
- package/dist/client/assets/toggle-group-UeFeTI3u.js +1 -0
- package/dist/client/assets/tokenModePresentation-DV56ekA4.js +1 -0
- package/dist/client/assets/tooltip-DXvXxL37.js +1 -0
- package/dist/client/assets/twig-DsmcR2eZ.js +1 -0
- package/dist/client/assets/typst-Drab9wKO.js +1 -0
- package/dist/client/assets/unplug-DisTpujT.js +1 -0
- package/dist/client/assets/useAppSidebarCollapsed-CaAsLi1q.js +1 -0
- package/dist/client/assets/useAppearancePreference-BteoFdGa.js +1 -0
- package/dist/client/assets/useBaseUiId-CJN4MvrU.js +1 -0
- package/dist/client/assets/{useControlled-HocCF1v9.js → useControlled-DQwgzrEC.js} +1 -1
- package/dist/client/assets/useLabelableId-BsDFG9Oj.js +1 -0
- package/dist/client/assets/{useLongPress-OGlhYKlH.js → useLongPress-DG1W7YqV.js} +1 -1
- package/dist/client/assets/useNavigate-cLfxn_9L.js +1 -0
- package/dist/client/assets/usePhoneThreadActions-rekHL1Mi.js +1 -0
- package/dist/client/assets/usePopupViewport-kXU31P6l.js +1 -0
- package/dist/client/assets/useScrollLock-DjMxrUJe.js +1 -0
- package/dist/client/assets/useStatistics-BYP-9CmW.js +55 -0
- package/dist/client/assets/{useTheme-By1kfyiU.js → useTheme-CVNauCtz.js} +1 -1
- package/dist/client/assets/useTriggerFocusGuards-DuAm2B8C.js +1 -0
- package/dist/client/assets/useValueChanged-DreFjrMK.js +1 -0
- package/dist/client/assets/user-round-DctamWV6.js +1 -0
- package/dist/client/assets/{v-DETTlOr0.js → v-DBj4K9d_.js} +1 -1
- package/dist/client/assets/{vb-Djn5o6TS.js → vb-DOwzaHZ0.js} +1 -1
- package/dist/client/assets/verilog-B2gwz-sJ.js +1 -0
- package/dist/client/assets/vscode-icons-Dw-LGJAv.js +1 -0
- package/dist/client/assets/{vue-DStD_OmO.js → vue-Dt-rrFdH.js} +1 -1
- package/dist/client/assets/worker-Bs0l0ezO.js +162 -0
- package/dist/client/assets/{workspaceMetadataProjection-D3vqw40g.js → workspaceMetadataProjection-BL4sEIL2.js} +1 -1
- package/dist/client/assets/wrench-Ds8eZerZ.js +1 -0
- package/dist/client/index.html +1 -1
- package/dist/client/mockServiceWorker.js +124 -99
- package/dist/resource-monitor/darwin-arm64/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/darwin-x64/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/linux-arm64/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/linux-x64/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/ryco-resource-monitor.exe +0 -0
- package/dist/resource-monitor/win32-arm64/ryco-resource-monitor.exe +0 -0
- package/dist/resource-monitor/win32-x64/ryco-resource-monitor.exe +0 -0
- package/package.json +20 -12
- package/dist/client/assets/AccountSettings-CypheYqM.js +0 -1
- package/dist/client/assets/AiFocusSettings-BlX0ED1t.js +0 -1
- package/dist/client/assets/AppearanceSettings-BSyn6NXf.js +0 -1
- package/dist/client/assets/BranchToolbar.logic-fpBz8Ajj.js +0 -1
- package/dist/client/assets/BrowserPanel-BWch19QH.js +0 -1
- package/dist/client/assets/ChatRightPanel-B7yrq-hS.js +0 -27
- package/dist/client/assets/ChatThreadRouteView-Cg0d_EHs.js +0 -1
- package/dist/client/assets/CommandPaletteDialog-DImCuPaX.js +0 -1
- package/dist/client/assets/CompositeItem-BYnHWRNf.js +0 -1
- package/dist/client/assets/CompositeRoot-B28uivk7.js +0 -1
- package/dist/client/assets/ComputerUseSettings-CosW7jaG.js +0 -1
- package/dist/client/assets/ConnectionsSettings-Bk6vI3G-.js +0 -7
- package/dist/client/assets/ContextHandoffEndpointLabel-BR6ygaub.js +0 -4
- package/dist/client/assets/DiagnosticsSettings-Dp_tCNLw.js +0 -2
- package/dist/client/assets/DialogHandle-BN-QB-sO.js +0 -1
- package/dist/client/assets/DialogPopup-BuJs5WUt.js +0 -1
- package/dist/client/assets/DialogRoot-PxEcoecQ.js +0 -1
- package/dist/client/assets/DialogTitle-4nxQsra4.js +0 -1
- package/dist/client/assets/DialogTrigger-D_0canul.js +0 -1
- package/dist/client/assets/DialogViewport-DSo-2hyf.js +0 -1
- package/dist/client/assets/DraftChatThreadRouteView-C94kpMx4.js +0 -1
- package/dist/client/assets/GlassSurface-CyOTUS7E.js +0 -1
- package/dist/client/assets/HostedConnectionControls-CL0Ws4ca.js +0 -1
- package/dist/client/assets/HostedHubRoot-LUINZl4r.js +0 -1
- package/dist/client/assets/HostedNativeAuthorizationRoute-CgYVBE6N.js +0 -1
- package/dist/client/assets/HostedRelayTrustNotice-DgdeZh52.js +0 -1
- package/dist/client/assets/Icons-BIUbIFr7.js +0 -1
- package/dist/client/assets/IntegrationsSettingsPanel-B7tXTaa3.js +0 -1
- package/dist/client/assets/KeybindingsSettings-HMlRcGQ4.js +0 -7
- package/dist/client/assets/LazyBrowserPanel-CKfmuM9U.js +0 -1
- package/dist/client/assets/McpServersSettings-Bq-HyhvC.js +0 -6
- package/dist/client/assets/MobileSheet-acDRH9aa.js +0 -1
- package/dist/client/assets/NoActiveThreadState-7rym7bV7.js +0 -1
- package/dist/client/assets/NodeSecuritySettings-D8qjh4Dc.js +0 -1
- package/dist/client/assets/OpinionatedPluginsSettings-D7Uks5yR.js +0 -1
- package/dist/client/assets/PhoneGetAppInterstitial-BQXUSufH.js +0 -1
- package/dist/client/assets/PhoneGetAppInterstitialBackdrop-BbUvwGmI.js +0 -1
- package/dist/client/assets/PhoneHome-DvgdMTkh.js +0 -1
- package/dist/client/assets/PhoneSettingsSurface-DncJ540i.js +0 -1
- package/dist/client/assets/ProjectFavicon-BY5Vyyk6.js +0 -1
- package/dist/client/assets/ProviderInstanceIcon-CZe1TbeC.js +0 -1
- package/dist/client/assets/ProviderModelPicker-DHAY1n_1.js +0 -1
- package/dist/client/assets/ProviderUpdateLaunchNotification.logic-DQJVrUIo.js +0 -1
- package/dist/client/assets/ProvidersSettingsPanel-BylxZs4S.js +0 -1
- package/dist/client/assets/RedactedSensitiveText-D-enj1h5.js +0 -1
- package/dist/client/assets/RootAppShell-DBK0WW2b.js +0 -6
- package/dist/client/assets/RycoLetterMark-PnGm6TQY.js +0 -1
- package/dist/client/assets/Separator-BWKYMFqt.js +0 -1
- package/dist/client/assets/SettingsDialog-N25hIv-a.js +0 -1
- package/dist/client/assets/SettingsPanels-D9YXmUPP.js +0 -3
- package/dist/client/assets/SettingsPanels.editor-Cn18k74l.js +0 -1
- package/dist/client/assets/SourceControlSettings-BAzSpMfR.js +0 -1
- package/dist/client/assets/StatisticsPage-CLKpfsQ8.js +0 -1
- package/dist/client/assets/StatisticsPanel-DxHUFn64.js +0 -1
- package/dist/client/assets/StatisticsSettingsLink-B3HIQYFh.js +0 -1
- package/dist/client/assets/ThreadStatusIndicators-CQZ_OgY8.js +0 -0
- package/dist/client/assets/ThreadTerminalDrawer-D1SPewXR.js +0 -20
- package/dist/client/assets/ThreadWorkspacePanel-DVF6oZsV.js +0 -2009
- package/dist/client/assets/ToolbarRootContext-Dt8G5aCw.js +0 -1
- package/dist/client/assets/WorkItemsTab-BoE-TcXJ.js +0 -19
- package/dist/client/assets/actionscript-3--17pq3dv.js +0 -1
- package/dist/client/assets/activity-DfFM6I8A.js +0 -1
- package/dist/client/assets/alert-DE5SkZhr.js +0 -1
- package/dist/client/assets/alert-dialog-BqPnPhb6.js +0 -1
- package/dist/client/assets/andromeeda-WkhI09AS.js +0 -1
- package/dist/client/assets/apex-VAyPSnFM.js +0 -1
- package/dist/client/assets/appearancePreferences-BhNRCg6W.js +0 -1
- package/dist/client/assets/archive-BFV4YQ7D.js +0 -1
- package/dist/client/assets/arrow-left-CCmICk1t.js +0 -1
- package/dist/client/assets/arrow-right-Z3Eay6Fd.js +0 -1
- package/dist/client/assets/arrow-up-caak6P06.js +0 -1
- package/dist/client/assets/arrow-up-right-BwC-fCE4.js +0 -1
- package/dist/client/assets/asciidoc-DE70LPWp.js +0 -1
- package/dist/client/assets/aurora-x-C7CFqhAd.js +0 -1
- package/dist/client/assets/authorization-bHsGYIT0.js +0 -1
- package/dist/client/assets/ayu-dark-CRu61w6_.js +0 -1
- package/dist/client/assets/ayu-light-Dn6O_aYR.js +0 -1
- package/dist/client/assets/ayu-mirage-CTjYAbs-.js +0 -1
- package/dist/client/assets/badge-m9kM3P07.js +0 -1
- package/dist/client/assets/bird2-C6vDhewU.js +0 -1
- package/dist/client/assets/bot-Cv7a7Ksf.js +0 -1
- package/dist/client/assets/bsl-BkkzgIyY.js +0 -1
- package/dist/client/assets/button-B6xQZNKz.js +0 -1
- package/dist/client/assets/c3-BFHwR3_K.js +0 -1
- package/dist/client/assets/catppuccin-frappe-3VR1Za6u.js +0 -1
- package/dist/client/assets/catppuccin-latte-DwIHMF0Q.js +0 -1
- package/dist/client/assets/catppuccin-macchiato-DYnBP6_5.js +0 -1
- package/dist/client/assets/catppuccin-mocha-DYhrFGRu.js +0 -1
- package/dist/client/assets/chart-column-DgGlY4sD.js +0 -1
- package/dist/client/assets/chatThreadActions-BXaNbPbp.js +0 -1
- package/dist/client/assets/check-BfnWUGBT.js +0 -1
- package/dist/client/assets/chevron-down-B_FKCRVh.js +0 -1
- package/dist/client/assets/chevron-right-B6CKNGh4.js +0 -1
- package/dist/client/assets/circle-alert-BV3vJE-c.js +0 -1
- package/dist/client/assets/circle-check-D2Vx39x-.js +0 -1
- package/dist/client/assets/circle-dashed-khcA8K3Y.js +0 -1
- package/dist/client/assets/circle-question-mark-DEuLdOiy.js +0 -1
- package/dist/client/assets/circle-x-DqfM_2wS.js +0 -1
- package/dist/client/assets/clamp-D0kAXd-u.js +0 -1
- package/dist/client/assets/clarity-SemFz856.js +0 -1
- package/dist/client/assets/clipboard-copy-CiD4tBsh.js +0 -1
- package/dist/client/assets/clock--4M7moiV.js +0 -1
- package/dist/client/assets/clock-3-NbnQqtcd.js +0 -1
- package/dist/client/assets/collapsible-BECg-ssO.js +0 -1
- package/dist/client/assets/command-DvbA3O0J.js +0 -1
- package/dist/client/assets/composerHandleContext-BrQ6d8r9.js +0 -1
- package/dist/client/assets/copy-CkPe1c-r.js +0 -1
- package/dist/client/assets/coq-BrsZFFmf.js +0 -1
- package/dist/client/assets/cpp-nUc1dxUX.js +0 -1
- package/dist/client/assets/dark-plus-GAt2ZgX8.js +0 -1
- package/dist/client/assets/data-list-7TiaqfZU.js +0 -1
- package/dist/client/assets/desktopUpdateAtoms-6j0d8vfy.js +0 -1
- package/dist/client/assets/device-CGaJ6fwD.js +0 -168
- package/dist/client/assets/dialog-C9v8Zl6e.js +0 -1
- package/dist/client/assets/download-DPjzVxTa.js +0 -1
- package/dist/client/assets/dracula-C2uKkzgK.js +0 -1
- package/dist/client/assets/dracula-soft-D1bVjxWZ.js +0 -1
- package/dist/client/assets/draft-input-BRSLIjV6.js +0 -1
- package/dist/client/assets/editorPreferences-D-9SDgRM.js +0 -1
- package/dist/client/assets/emacs-lisp-B4R74twV.js +0 -1
- package/dist/client/assets/empty-CuQ57p2u.js +0 -1
- package/dist/client/assets/everforest-dark-D-DlICQR.js +0 -1
- package/dist/client/assets/everforest-light-CeVdGHYG.js +0 -1
- package/dist/client/assets/external-link-CF9EzT-A.js +0 -1
- package/dist/client/assets/eye-C2Puut9B.js +0 -1
- package/dist/client/assets/folder-BKTxLq18.js +0 -1
- package/dist/client/assets/folder-closed-D2cwiusg.js +0 -1
- package/dist/client/assets/gdscript-Cp2uCuqX.js +0 -1
- package/dist/client/assets/getPseudoElementBounds-DdH76YK5.js +0 -1
- package/dist/client/assets/git-branch-Dauy2SWC.js +0 -1
- package/dist/client/assets/git-pull-request-DsK1gBtK.js +0 -1
- package/dist/client/assets/github-dark-DwbbXv51.js +0 -1
- package/dist/client/assets/github-dark-default-CxjRwzl6.js +0 -1
- package/dist/client/assets/github-dark-dimmed-Cr1oaoul.js +0 -1
- package/dist/client/assets/github-dark-high-contrast-B4qJZLZa.js +0 -1
- package/dist/client/assets/github-light-CsVXhIlR.js +0 -1
- package/dist/client/assets/github-light-default-DB_IwZa6.js +0 -1
- package/dist/client/assets/github-light-high-contrast-DLgVeSB-.js +0 -1
- package/dist/client/assets/globe-dS40wBdE.js +0 -1
- package/dist/client/assets/group-DBXm8riE.js +0 -1
- package/dist/client/assets/gruvbox-dark-hard-DXm60lX3.js +0 -1
- package/dist/client/assets/gruvbox-dark-medium-GE2thSmD.js +0 -1
- package/dist/client/assets/gruvbox-dark-soft-04Cj-4VZ.js +0 -1
- package/dist/client/assets/gruvbox-light-hard-K6wSn29D.js +0 -1
- package/dist/client/assets/gruvbox-light-medium-CVy3aSlc.js +0 -1
- package/dist/client/assets/gruvbox-light-soft-DNgJjaY0.js +0 -1
- package/dist/client/assets/hack-Vy6VBrBk.js +0 -1
- package/dist/client/assets/haxe-OTjmBuCE.js +0 -1
- package/dist/client/assets/horizon-0-RkHfro.js +0 -1
- package/dist/client/assets/horizon-bright-BgL2X9oq.js +0 -1
- package/dist/client/assets/hostedConnectionCoordinator-DSMW2Ldh.js +0 -1
- package/dist/client/assets/houston-KyjWKfuY.js +0 -1
- package/dist/client/assets/hxml-B0Qn7Nwc.js +0 -1
- package/dist/client/assets/input-Dn_zesdZ.js +0 -1
- package/dist/client/assets/isElementDisabled-KSuuBj8D.js +0 -1
- package/dist/client/assets/kanagawa-dragon-CXtmUGW6.js +0 -1
- package/dist/client/assets/kanagawa-lotus-BN08jTvb.js +0 -1
- package/dist/client/assets/kanagawa-wave-CTweb8Dz.js +0 -1
- package/dist/client/assets/kbd-BF2-WlxQ.js +0 -1
- package/dist/client/assets/key-round-BjaaL9Df.js +0 -1
- package/dist/client/assets/keybindings-FSJY3Tht.js +0 -1
- package/dist/client/assets/keyboard-AkUFPD_e.js +0 -1
- package/dist/client/assets/label-BKjVY2A9.js +0 -1
- package/dist/client/assets/laserwave-CQkdhozh.js +0 -1
- package/dist/client/assets/latex-UxGGx4RW.js +0 -1
- package/dist/client/assets/layers-tzRiuxSx.js +0 -1
- package/dist/client/assets/lib-D5cyGc84.js +0 -29
- package/dist/client/assets/light-plus-CNQ8_7Y0.js +0 -1
- package/dist/client/assets/loader-BrbWRz3I.js +0 -1
- package/dist/client/assets/loader-circle-DRKbHQst.js +0 -1
- package/dist/client/assets/log-out-BEihaal1.js +0 -1
- package/dist/client/assets/luau-FMPmPwt6.js +0 -1
- package/dist/client/assets/main-BiIQEybS.js +0 -9
- package/dist/client/assets/main-tZWU6iqX.css +0 -2
- package/dist/client/assets/material-theme-CAtLaHa3.js +0 -1
- package/dist/client/assets/material-theme-darker-k-s5Bc6K.js +0 -1
- package/dist/client/assets/material-theme-lighter-CD6a-c4d.js +0 -1
- package/dist/client/assets/material-theme-ocean-B3mraInd.js +0 -1
- package/dist/client/assets/material-theme-palenight-DEhAARHw.js +0 -1
- package/dist/client/assets/mdc-OfbQwt23.js +0 -1
- package/dist/client/assets/menu-BxtB33Up.js +0 -1
- package/dist/client/assets/mermaid-Bk4SNUv9.js +0 -1
- package/dist/client/assets/messages-square-e0Zg750i.js +0 -1
- package/dist/client/assets/min-dark-BFqTAwCr.js +0 -1
- package/dist/client/assets/min-light-O7UdaaxX.js +0 -1
- package/dist/client/assets/minimize-2-DC9gMgGl.js +0 -1
- package/dist/client/assets/mojo-BgCJLMeH.js +0 -1
- package/dist/client/assets/monitor-Dj0JFj4_.js +0 -1
- package/dist/client/assets/monokai-CdkpiU2Y.js +0 -1
- package/dist/client/assets/moonbit-CaWjb8XO.js +0 -1
- package/dist/client/assets/motion-thOBhZyM.js +0 -1
- package/dist/client/assets/move-B1IS1UjX.js +0 -1
- package/dist/client/assets/night-owl-BsnCLAKc.js +0 -1
- package/dist/client/assets/night-owl-light-BODRhcTU.js +0 -1
- package/dist/client/assets/nord-Cd-F4txO.js +0 -1
- package/dist/client/assets/nushell-DcLAeLz5.js +0 -1
- package/dist/client/assets/one-dark-pro-DUS_IGRK.js +0 -1
- package/dist/client/assets/one-light-CVUd7yD5.js +0 -1
- package/dist/client/assets/palette-0qvNt1CR.js +0 -1
- package/dist/client/assets/pathEntry-BR9vr7Ug.js +0 -1
- package/dist/client/assets/pencil-CA0DGufX.js +0 -1
- package/dist/client/assets/phoneAnchoredActions-CtpkI3yG.js +0 -1
- package/dist/client/assets/plastic-CF8VZTnn.js +0 -1
- package/dist/client/assets/play-wIyvqd_g.js +0 -1
- package/dist/client/assets/plus-5kH13lqq.js +0 -1
- package/dist/client/assets/poimandres-BX2TyY6j.js +0 -1
- package/dist/client/assets/popover-CwhgX3HA.js +0 -1
- package/dist/client/assets/primary-BqnEJHWx.js +0 -2
- package/dist/client/assets/prisma-BsRQq5mF.js +0 -1
- package/dist/client/assets/projectPaths-45WPhgoj.js +0 -1
- package/dist/client/assets/providerDriverMeta-Cc60r9Rb.js +0 -1
- package/dist/client/assets/providerInstances-Cr8JmFCe.js +0 -1
- package/dist/client/assets/providerModels-Cr8JmFCe.js +0 -1
- package/dist/client/assets/qr-code-DDmpRnPp.js +0 -1
- package/dist/client/assets/r-DbaFp5Gj.js +0 -1
- package/dist/client/assets/radio-group-DZCo21CF.js +0 -2
- package/dist/client/assets/react-dom-x9LNwWQc.js +0 -1
- package/dist/client/assets/red-CJ3rzSJv.js +0 -1
- package/dist/client/assets/refresh-cw-DiuiLTny.js +0 -1
- package/dist/client/assets/resolveAriaLabelledBy-927ShlEO.js +0 -1
- package/dist/client/assets/rightPanelRouteSearch-CExl-IaQ.js +0 -1
- package/dist/client/assets/rose-pine-BthvhNj6.js +0 -1
- package/dist/client/assets/rose-pine-dawn-Dg85fqjY.js +0 -1
- package/dist/client/assets/rose-pine-moon-hon4tzzS.js +0 -1
- package/dist/client/assets/rotate-ccw-XOYBPtyK.js +0 -1
- package/dist/client/assets/rotate-cw-D32Z4Sdd.js +0 -1
- package/dist/client/assets/runtime-CA2W9mZ-.js +0 -17
- package/dist/client/assets/save-DjlqeVG_.js +0 -1
- package/dist/client/assets/scroll-area-CylKYQms.js +0 -1
- package/dist/client/assets/scrollEdges-D7RQhYjX.js +0 -1
- package/dist/client/assets/search-B2nLj573.js +0 -1
- package/dist/client/assets/select-qTezUK8F.js +0 -1
- package/dist/client/assets/separator-D77goPy-.js +0 -1
- package/dist/client/assets/server-y8Wq0Qwv.js +0 -1
- package/dist/client/assets/session-logic-xfW418Rx.js +0 -1
- package/dist/client/assets/settings-2-DpwBKj3m.js +0 -1
- package/dist/client/assets/settingsLayout-BuaXzjIe.js +0 -1
- package/dist/client/assets/settingsSections.logic-CR4aytUI.js +0 -1
- package/dist/client/assets/shallow-DWZCFNun.js +0 -1
- package/dist/client/assets/sheet-z3AEiSN4.js +0 -1
- package/dist/client/assets/shield-BuXuMVtb.js +0 -1
- package/dist/client/assets/shield-alert-Dfk--o-I.js +0 -1
- package/dist/client/assets/shield-check-BHi57iF1.js +0 -1
- package/dist/client/assets/sidebar-Dst9O2OR.js +0 -1
- package/dist/client/assets/sidebarProjectFolders-DR1NBLLz.js +0 -4
- package/dist/client/assets/sidebarStatusText-7jo1n9E1.js +0 -1
- package/dist/client/assets/skeleton-D_kbMg21.js +0 -1
- package/dist/client/assets/slack-dark-DYvUXyrP.js +0 -1
- package/dist/client/assets/slack-ochin-bqtMVDfH.js +0 -1
- package/dist/client/assets/smalltalk-B16xEiuN.js +0 -1
- package/dist/client/assets/smartphone-DcUQ17YT.js +0 -1
- package/dist/client/assets/snazzy-light-D8dzFmq5.js +0 -1
- package/dist/client/assets/solarized-dark-DV17i1UV.js +0 -1
- package/dist/client/assets/solarized-light-DSh2HLQt.js +0 -1
- package/dist/client/assets/solidity-CKzVLygQ.js +0 -1
- package/dist/client/assets/sparkles-nVLLtdqb.js +0 -1
- package/dist/client/assets/spinner-CkXSwhuf.js +0 -1
- package/dist/client/assets/square-pen-dcArpda7.js +0 -1
- package/dist/client/assets/src-I4s4HU8f.js +0 -14
- package/dist/client/assets/star-CdUOqzzZ.js +0 -1
- package/dist/client/assets/storeSelectors-Cr8JmFCe.js +0 -1
- package/dist/client/assets/surrealql-CaZedS14.js +0 -1
- package/dist/client/assets/swift-DonLKvLd.js +0 -1
- package/dist/client/assets/switch-BMeRsIbg.js +0 -1
- package/dist/client/assets/synthwave-84-CIknw8y7.js +0 -1
- package/dist/client/assets/system-verilog-DJ5XKQeo.js +0 -1
- package/dist/client/assets/tabSwitchInstrumentation-BuxWNdCV.js +0 -1
- package/dist/client/assets/terminal-DupJfYRW.js +0 -1
- package/dist/client/assets/terminal-links-Bf4neyyn.js +0 -1
- package/dist/client/assets/tex-CLeF3jRN.js +0 -1
- package/dist/client/assets/textarea-Bu_OTJYe.js +0 -1
- package/dist/client/assets/threadPinning-DhnkssEa.js +0 -1
- package/dist/client/assets/threadPriorityRefreshRuntime-DJjlyX7f.js +0 -1
- package/dist/client/assets/timestampFormat-8uPXS812.js +0 -1
- package/dist/client/assets/toast-CIjfIWUw.js +0 -1
- package/dist/client/assets/toggle-BA4mJ5v9.js +0 -1
- package/dist/client/assets/toggle-group-ChGfILTR.js +0 -1
- package/dist/client/assets/tokenModePresentation-B64s_OK3.js +0 -1
- package/dist/client/assets/tokyo-night-iIspnLcq.js +0 -1
- package/dist/client/assets/tooltip-C2VVqN6U.js +0 -1
- package/dist/client/assets/trash-2-Dqgxd0nF.js +0 -1
- package/dist/client/assets/triangle-alert-D4cCh6sB.js +0 -1
- package/dist/client/assets/twig-BmgBVapk.js +0 -1
- package/dist/client/assets/types-Cr8JmFCe.js +0 -1
- package/dist/client/assets/typst-DI99ib-x.js +0 -1
- package/dist/client/assets/undo-2-C8EQVSSD.js +0 -1
- package/dist/client/assets/unplug-Dt3Sy2op.js +0 -1
- package/dist/client/assets/useAppSidebarCollapsed-w0th-164.js +0 -1
- package/dist/client/assets/useAtlassian-j7ex3bVN.js +0 -0
- package/dist/client/assets/useButton-Dx5k1uZG.js +0 -1
- package/dist/client/assets/useCompositeListItem-BqkyY0oT.js +0 -1
- package/dist/client/assets/useCopyToClipboard-BTpWxumf.js +0 -1
- package/dist/client/assets/useDebouncedValue-BevbEbPO.js +0 -1
- package/dist/client/assets/useFloatingRootContext-j6TgzEFa.js +0 -1
- package/dist/client/assets/useHandleNewThread-gVYty_Bg.js +0 -1
- package/dist/client/assets/useLabelableId-CcYPzJvj.js +0 -1
- package/dist/client/assets/useLocation-CZ3osOgz.js +0 -1
- package/dist/client/assets/useNavigate-2tVq4iZ2.js +0 -1
- package/dist/client/assets/useOpenInteractionType-apbY9ZEK.js +0 -1
- package/dist/client/assets/usePhoneThreadActions-CnDlicSp.js +0 -1
- package/dist/client/assets/usePopupViewport-0k75uXo1.js +0 -1
- package/dist/client/assets/useRenderElement-5DRNLBaU.js +0 -1
- package/dist/client/assets/useRouter-CcIDS3PN.js +0 -1
- package/dist/client/assets/useScrollLock-C5WLWXcc.js +0 -1
- package/dist/client/assets/useStatistics-GOFXPHO0.js +0 -55
- package/dist/client/assets/useSwipeDismiss-BNHPBucH.js +0 -1
- package/dist/client/assets/useThreadActions-B4Xy2soQ.js +0 -2
- package/dist/client/assets/useTriggerFocusGuards-C3geWFzt.js +0 -1
- package/dist/client/assets/useValueChanged-FVqPwcY_.js +0 -1
- package/dist/client/assets/user-round-KsVtJgon.js +0 -1
- package/dist/client/assets/utils-B5qahmRn.js +0 -1
- package/dist/client/assets/verilog-CiiDBU1e.js +0 -1
- package/dist/client/assets/vesper-BIFK_oDq.js +0 -1
- package/dist/client/assets/visuallyHidden-j2WbVEv-.js +0 -1
- package/dist/client/assets/vitesse-black-D082JcaE.js +0 -1
- package/dist/client/assets/vitesse-dark-z-nr_5O8.js +0 -1
- package/dist/client/assets/vitesse-light-ojz42ZLy.js +0 -1
- package/dist/client/assets/vscode-icons-D3XEYHTI.js +0 -1
- package/dist/client/assets/worker-B0IAubm_.js +0 -161
- package/dist/client/assets/wrench-BnpoYEZm.js +0 -1
- package/dist/client/assets/x-BXHT1Zj1.js +0 -1
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import{i as e,n as t,r as n,t as r}from"./react-SIfiwpqq.js";import{t as i}from"./index-DRY8Hgrj.js";import{$ as a,$t as o,At as s,B as c,Bt as l,Cn as u,Dn as d,En as f,Et as p,Ft as m,G as h,H as g,Ht as _,Jt as v,K as y,L as b,Lt as x,Mt as S,Nt as C,On as w,Ot as ee,Pt as te,Q as ne,Qt as T,Rt as E,Sn as D,Tn as re,Tt as ie,Ut as O,V as ae,Vt as oe,W as se,Wt as ce,X as le,Xt as ue,Y as de,Z as fe,Zt as pe,_n as me,_t as he,an as ge,at as _e,bn as ve,bt as ye,cn as be,ct as xe,dn as Se,dt as Ce,en as we,et as Te,fn as Ee,ft as De,gn as Oe,hn as ke,ht as Ae,i as je,in as Me,it as Ne,jt as Pe,kn as Fe,kt as Ie,ln as Le,lt as Re,mn as ze,mt as Be,n as Ve,nn as He,o as Ue,on as We,ot as Ge,pn as Ke,pt as qe,r as Je,rn as Ye,sn as Xe,tn as Ze,un as Qe,ut as $e,vn as et,w as tt,wn as nt,xn as k,xt as rt,yn as it,yt as at,zt as ot}from"./primary-BqnEJHWx.js";import{$ as st,$a as ct,$l as lt,Aa as ut,Al as dt,Ao as ft,As as pt,B as mt,Ba as ht,Bl as gt,Br as _t,Bs as vt,Cc as yt,Cl as bt,Da as xt,Dc as St,Dl as Ct,Do as wt,Ds as Tt,E as Et,Ec as Dt,El as Ot,Es as kt,Fa as At,Fc as jt,Fl as Mt,Fr as Nt,G as Pt,Gi as Ft,Gs as It,H as Lt,Ha as Rt,Hl as zt,Hr as Bt,Hs as Vt,I as Ht,Ia as Ut,Ir as Wt,J as Gt,Jc as Kt,Ji as qt,Jl as Jt,Js as Yt,Ks as Xt,La as Zt,Lc as Qt,Ll as $t,Lo as en,Lr as tn,M as nn,Ma as rn,Mi as an,Ml as on,Mo as sn,Ms as cn,Na as ln,Nl as un,No as dn,Oa as fn,Oc as pn,Ol as mn,Pa as hn,Pl as gn,Q as _n,Qa as vn,Qi as A,Ql as yn,Qr as bn,Qs as xn,Rc as Sn,Ri as Cn,Rl as wn,Ro as Tn,Rs as En,S as Dn,Sa as j,Sc as On,Sl as kn,So as An,Ss as jn,Tc as Mn,Tl as Nn,To as Pn,Ts as Fn,Ua as In,Uo as Ln,Ur as Rn,V as zn,Va as Bn,Vc as Vn,Vl as Hn,Vo as Un,Vr as Wn,Wa as Gn,Wc as Kn,Wi as qn,Wo as Jn,Xa as Yn,Xi as M,Xr as Xn,Xs as Zn,Yc as Qn,Yi as $n,Yl as er,Yr as tr,Za as nr,Zc as rr,Zi as ir,Zl as ar,_a as or,_l as sr,_o as cr,_s as lr,aa as ur,al as dr,ao as fr,at as N,au as pr,b as mr,ba as hr,bi as gr,bl as _r,bs as vr,ca as yr,ci as br,cl as xr,co as Sr,cs as P,ct as Cr,dl as wr,do as Tr,ec as Er,ei as Dr,el as Or,es as kr,et as Ar,eu as jr,fa as Mr,fl as Nr,fo as Pr,g as Fr,ga as Ir,gl as Lr,go as Rr,ha as zr,hl as Br,ho as Vr,hs as Hr,it as Ur,iu as Wr,j as Gr,ja as Kr,jl as qr,jo as Jr,ka as Yr,kc as Xr,kl as Zr,ks as Qr,la as $r,li as ei,ll as ti,ls as ni,ma as ri,na as ii,nl as F,no as ai,nt as oi,nu as si,oa as ci,oo as li,ot as ui,pa as di,pc as fi,pi,po as mi,q as hi,qc as gi,qi as _i,ql as vi,qr as yi,qs as bi,ra as xi,ro as Si,rt as Ci,ru as wi,ss as Ti,st as Ei,su as Di,t as Oi,ta as ki,ti as Ai,tl as ji,to as Mi,ua as Ni,uc as Pi,uo as Fi,us as Ii,va as Li,vc as Ri,vi as zi,vl as Bi,vs as Vi,wl as Hi,ws as Ui,xa as Wi,xl as Gi,xs as Ki,yc as qi,yl as Ji,yo as Yi,ys as Xi,z as Zi,za as Qi,zc as $i,zi as ea,zo as ta,zr as na}from"./src-I4s4HU8f.js";import{t as ra}from"./compiler-runtime-qmuS0Svy.js";import{t as ia}from"./pairingUrl-rQM9kSGT.js";import{a as aa,n as oa,r as sa}from"./perfInstrumentation-BT27w4tn.js";import{A as ca,B as la,C as ua,D as da,E as fa,F as pa,G as ma,H as ha,I as ga,J as _a,K as va,L as ya,M as ba,N as xa,O as Sa,P as Ca,Q as wa,R as Ta,S as Ea,T as Da,U as Oa,V as ka,W as Aa,X as ja,Y as Ma,_ as Na,a as Pa,at as Fa,c as Ia,ct as La,d as Ra,dt as za,f as Ba,ft as Va,g as Ha,h as Ua,ht as Wa,it as Ga,j as Ka,k as qa,l as Ja,lt as Ya,m as Xa,mt as Za,o as Qa,ot as $a,p as eo,pt as to,q as no,rt as ro,s as I,st as io,tt as ao,u as oo,ut as so,w as co,x as lo,z as uo}from"./authorization-bHsGYIT0.js";import{t as fo}from"./presentationTier-xlIjcFab.js";import{r as po}from"./hostedPairing-PogXRAb7.js";var mo=Ct,ho=Mn,go=globalThis.Number,_o=e=>{if(e===`NaN`)return Gi(NaN);if(e===`Infinity`)return Gi(1/0);if(e===`-Infinity`)return Gi(-1/0);if(e.trim()===``)return _r();let t=go(e);return go.isNaN(t)?_r():Gi(t)},vo=`~effect/http/UrlParams`,yo=e=>Jt(e,vo),bo={...qr,[vo]:vo,[Symbol.iterator](){return this.params[Symbol.iterator]()},toJSON(){return{_id:`UrlParams`,params:Object.fromEntries(this.params)}},[Hn](e){return wo(this,e)},[vi](){return zt(this.params.flat())}},xo=e=>{let t=Object.create(bo);return t.params=e,t},So=e=>{if(yo(e))return e;let t=Co(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 xo(n)},Co=e=>{let t=typeof e[Symbol.iterator]==`function`?Kn(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=Co(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},wo=mn((e,t)=>To(e.params,t.params)),To=gi(mo([Zr(),Zr()])),Eo=xo([]),Do=si(2,(e,t)=>{let n=So(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}),Oo=`~effect/http/HttpBody`;En(`HttpBodyError`);var ko=class{[Oo];constructor(){this[Oo]=Oo}[Mt](){return this.toJSON()}toString(){return $t(this,{ignoreToString:!0})}},Ao=new class extends ko{_tag=`Empty`;toJSON(){return{_id:`effect/HttpBody`,_tag:`Empty`}}},jo=class extends ko{_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}}},Mo=(e,t)=>new jo(e,t??`application/octet-stream`,e.length),No=new TextEncoder,Po=(e,t)=>Mo(No.encode(e),t??`text/plain`),Fo=(e,t)=>Po(JSON.stringify(e),t??`application/json`),Io=`~effect/http/Cookies`,Lo=`~effect/http/Cookies/Cookie`;En(`CookieError`);var Ro={[Io]:Io,...un,toJSON(){return{_id:`effect/Cookies`,cookies:Fe(this.cookies,e=>e.toJSON())}},pipe(){return Di(this,arguments)}},zo=e=>{let t=Object.create(Ro);return t.cookies=e,t},Bo=e=>{let t={};for(let n of e)on(t,n.name,n);return zo(t)},Vo=e=>{let t=typeof e==`string`?[e]:e,n=[];for(let e of t){let t=Ho(e.trim());t&&n.push(t)}return Bo(n)};function Ho(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(!Uo.test(r))return;let i=t[0].slice(n+1),a=Go(i);if(t.length===1)return Object.assign(Object.create(Wo),{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=$i(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(Wo),{name:r,value:a,valueEncoded:i,options:Object.keys(o).length>0?o:void 0})}var Uo=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Wo={[Lo]:Lo,...un,toJSON(){return{_id:`effect/Cookies/Cookie`,name:this.name,value:this.value,options:this.options}}},Go=e=>{try{return decodeURIComponent(e)}catch{return e}},Ko=[[`GET`,`get`],[`POST`,`post`],[`PUT`,`put`],[`DELETE`,`del`],[`PATCH`,`patch`],[`HEAD`,`head`],[`OPTIONS`,`options`],[`TRACE`,`trace`]],qo=(e,t)=>t._tag===`Empty`||t._tag===`FormData`?Le(Le(e,`content-type`),`content-length`):(e=t.contentType===void 0?Le(e,`content-type`):Qe(e,`content-type`,t.contentType),t.contentLength===void 0?Le(e,`content-length`):Qe(e,`content-length`,t.contentLength.toString())),Jo=class extends En(`UrlError`){},Yo=(e,t,n)=>Or({try:()=>{let r=new URL(e,Xo());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 Jo({cause:e})}),Xo=()=>{if(`location`in globalThis&&globalThis.location!==void 0&&globalThis.location.origin!==void 0&&globalThis.location.pathname!==void 0)return location.origin+location.pathname},Zo=`~effect/http/HttpClientRequest`,Qo={[Zo]:Zo,...un,toJSON(){return{_id:`HttpClientRequest`,method:this.method,url:this.url,urlParams:this.urlParams,hash:this.hash,headers:wn(this.headers),body:this.body.toJSON()}},pipe(){return Di(this,arguments)}};function $o(e,t,n,r,i,a){let o=Object.create(Qo);return o.method=e,o.url=t,o.urlParams=n,o.hash=r,o.headers=i,o.body=a,o}var es=$o(`GET`,``,Eo,_r(),Me,Ao),ts=e=>(t,n)=>rs(es,{method:e,url:t,...n??void 0}),ns=ts(`POST`),rs=si(2,(e,t)=>{let n=e;return t.method&&(n=is(n,t.method)),t.url&&(n=ls(n,t.url)),t.headers&&(n=os(n,t.headers)),t.urlParams&&(n=us(n,t.urlParams)),t.hash&&(n=ds(n,t.hash)),t.body&&(n=fs(n,t.body)),t.accept&&(n=ss(n,t.accept)),t.acceptJson&&(n=cs(n)),n}),is=si(2,(e,t)=>$o(t,e.url,e.urlParams,e.hash,e.headers,e.body)),as=si(3,(e,t,n)=>$o(e.method,e.url,e.urlParams,e.hash,Qe(e.headers,t,n),e.body)),os=si(2,(e,t)=>$o(e.method,e.url,e.urlParams,e.hash,Se(e.headers,t),e.body)),ss=si(2,(e,t)=>as(e,`Accept`,t)),cs=ss(`application/json`),ls=si(2,(e,t)=>{if(typeof t==`string`)return $o(e.method,t,e.urlParams,e.hash,e.headers,e.body);let n=new URL(t.toString()),r=So(n.searchParams),i=wr(n.hash===``?void 0:n.hash.slice(1));return n.search=``,n.hash=``,$o(e.method,n.toString(),r,i,e.headers,e.body)}),us=si(2,(e,t)=>$o(e.method,e.url,Do(e.urlParams,t),e.hash,e.headers,e.body)),ds=si(2,(e,t)=>$o(e.method,e.url,e.urlParams,Gi(t),e.headers,e.body)),fs=si(2,(e,t)=>$o(e.method,e.url,e.urlParams,e.hash,qo(e.headers,t),t)),ps=`~effect/http/HttpIncomingMessage`,ms=(e,t)=>{let n=e.headers[`content-type`]??``,r;if(n.includes(`application/json`))try{r=kr(e.json)}catch{}else if(n.includes(`text/`)||n.includes(`urlencoded`))try{r=kr(e.text)}catch{}let i={...t,headers:wn(e.headers),remoteAddress:e.remoteAddress};return r!==void 0&&(i.body=r),i},hs=`~effect/http/HttpClientResponse`,gs=(e,t)=>new vs(e,t),_s=e=>e.status>=200&&e.status<300?P(e):Fi(new ze({reason:new Oe({response:e,request:e.request,description:`non 2xx status code`})})),vs=class extends gn{[ps];[hs];request;source;constructor(e,t){super(),this.request=e,this.source=t,this[ps]=ps,this[hs]=hs}toJSON(){return ms(this,{_id:`HttpClientResponse`,request:this.request.toJSON(),status:this.status})}get status(){return this.source.status}get headers(){return ge(this.source.headers)}cachedCookies;get cookies(){return this.cachedCookies?this.cachedCookies:this.cachedCookies=Vo(this.source.headers.getSetCookie())}get remoteAddress(){return _r()}get stream(){return this.source.body?pi({evaluate:()=>this.source.body,onError:e=>new ze({reason:new Ee({request:this.request,response:this,cause:e})})}):ei(new ze({reason:new Ke({request:this.request,response:this,description:`can not create stream from empty body`})}))}get json(){return Pr(this.text,e=>Vi({try:()=>e===``?null:JSON.parse(e),catch:e=>new ze({reason:new Ee({request:this.request,response:this,cause:e})})}))}textBody;get text(){return this.textBody??=ft(this.arrayBuffer,e=>new TextDecoder().decode(e))}get urlParamsBody(){return Pr(this.text,e=>Vi({try:()=>So(new URLSearchParams(e)),catch:e=>new ze({reason:new Ee({request:this.request,response:this,cause:e})})}))}formDataBody;get formData(){return this.formDataBody??=lr({try:()=>this.source.formData(),catch:e=>new ze({reason:new Ee({request:this.request,response:this,cause:e})})}).pipe(ct,kr)}arrayBufferBody;get arrayBuffer(){return this.arrayBufferBody||=lr({try:()=>this.source.arrayBuffer(),catch:e=>new ze({reason:new Ee({request:this.request,response:this,cause:e})})}).pipe(ct,kr),this.arrayBufferBody}pipe(){return Di(this,arguments)}},ys=e=>We({b3:`${e.traceId}-${e.spanId}-${e.sampled?`1`:`0`}${Ji(e.parent,{onNone:()=>``,onSome:e=>`-${e.spanId}`})}`,traceparent:`00-${e.traceId}-${e.spanId}-${e.sampled?`01`:`00`}`}),bs=`~effect/http/HttpClient`,xs=F(`effect/HttpClient`),Ss=si(2,(e,t)=>ws(n=>t(e.postprocess(n)),e.preprocess)),Cs=Ss(Pr(_s)),ws=(e,t)=>{let n=Object.create(Ts);return n.preprocess=t,n.postprocess=e,n.execute=function(n){return e(t(n))},n},Ts={[bs]:bs,pipe(){return Di(this,arguments)},...un,toJSON(){return{_id:`effect/HttpClient`}},...Object.fromEntries(Ko.map(([e,t])=>[t,function(t,n){return this.execute(ts(e)(t,n))}]))},Es=e=>ws(t=>Pr(t,t=>Ui(n=>{let r=Ps.get(t),i=r??new AbortController,a=Yo(t.url,t.urlParams,Br(t.hash));if(rr(a))return Fi(new ze({reason:new ke({request:t,cause:a.failure})}));let o=a.success;if(n.getRef(Dt)||n.getRef(Os)(t)){let a=e(t,o,i.signal,n);return r?a:Xi(e=>dn(e(a),{onSuccess(e){return Ns.register(e,i),P(new Fs(e,i))},onFailure(e){return Ri(e)&&i.abort(),Tr(e)}}))}return Ki(n.getRef(js)(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(Ye),l=n.getRef(ks),u=be(t.headers,c);for(let e in u)l(e,`request`)&&a.attribute(`http.request.header.${e}`,String(u[e]));return t=n.getRef(As)?os(t,ys(a)):t,Xi(s=>s(e(t,o,i.signal,n)).pipe(Fn(a,{captureStackTrace:!1}),dn({onSuccess:e=>{a.attribute(`http.response.status_code`,e.status);let t=be(e.headers,c);for(let e in t)l(e,`response`)&&a.attribute(`http.response.header.${e}`,String(t[e]));return r?P(e):(Ns.register(e,i),P(new Fs(e,i)))},onFailure(e){return!r&&Ri(e)&&i.abort(),Tr(e)}})))})})),P),Ds=si(2,(e,t)=>{let n=pt(t),r=n?`errors-and-responses`:t.retryOn??`errors-and-responses`,i=n?t:t.schedule,a=i&&cn(i),o=n?void 0:t.times;return Ss(e,wi(r===`errors-only`?Wr:Ln({schedule:a,times:o,while:Rs}),r===`response-only`?Wr:Jn({while:n||t.while===void 0?Is:yn(Is,t.while),schedule:i,times:o})))}),Os=ji(`effect/http/HttpClient/TracerDisabledWhen`,{defaultValue:()=>lt}),ks=ji(`effect/http/HttpClient/TracerHeaderFilter`,{defaultValue:()=>jr}),As=ji(`effect/HttpClient/TracerPropagationEnabled`,{defaultValue:jr}),js=ji(`effect/http/HttpClient/SpanNameGenerator`,{defaultValue:()=>e=>`http.client ${e.method}`}),Ms=e=>vt(xs)(li(t=>ft(e,e=>Ss(e,vr(e=>xr(t,e)))))),Ns=(()=>{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))}}})(),Ps=new WeakMap,Fs=class{original;controller;constructor(e,t){this.original=e,this.controller=t}[hs]=hs;[ps]=ps;applyInterrupt(e){return ni(()=>(Ns.unregister(this.original),en(e,()=>Ii(()=>{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 zi(()=>(Ns.unregister(this.original),br(this.original.stream,Ii(()=>{this.controller.abort()}))))}toJSON(){return this.original.toJSON()}[Mt](){return this.original[Mt]()}pipe(){return Di(this,arguments)}},Is=e=>On(e)||Ls(e),Ls=e=>et(e)&&(e.reason._tag===`TransportError`||e.reason._tag===`StatusCodeError`&&Rs(e.reason.response)),Rs=e=>e.status===408||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504,L=e(r(),1);function zs(e){return{_tag:`Value`,value:e}}function Bs(e,t){return{_tag:`Record`,keys:e,value:t}}function Vs(e,t){return{_tag:`Array`,length:e,value:t}}En(`SourceError`);var Hs=ji(`effect/ConfigProvider`,{defaultValue:()=>Xs()}),Us={...qr,toJSON(){return{_id:`ConfigProvider`}}},Ws=e=>e;function Gs(e,t){let n=Object.create(Us);return n.load=e,n.mapInput=t,n}function Ks(e,t){return Gs(n=>e(t(n)),n=>Ks(e,wi(t,n)))}function qs(e){return Ks(e,Ws)}function Js(e,t){return e===``&&!t?void 0:e}function Ys(e,t){let n=t?.preserveEmptyStrings===!0,r=Zs(e);return qs(t=>P($s(r,e,t,n)))}function Xs(e){return Ys(e?.env??{APP_VERSION:`0.1.22`,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 Zs(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 Qs=/^(0|[1-9][0-9]*)$/;function $s(e,t,n,r){let i=n.map(String).join(`_`),a=Js(Object.hasOwn(t,i)?t[i]:void 0,r),o=ec(e,n),s=o?.children?Object.keys(o.children):[];return s.length===0?a===void 0?void 0:zs(a):s.every(e=>Qs.test(e))?Vs(Math.max(...s.map(e=>parseInt(e,10)))+1,a):Bs(new Set(s),a)}function ec(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 tc=`~effect/Config`,nc=class{_tag=`ConfigError`;name=`ConfigError`;cause;constructor(e){this.cause=e}get message(){return this.cause.toString()}toString(){return`ConfigError(${this.message})`}},rc={...dt({label:`Config`,evaluate(e){return this.parse(e.getRef(Hs))}}),[tc]:tc,toJSON(){return{_id:`Config`}}};function ic(e){let t=Object.create(rc);return t.evaluator=e,t.parse=t=>e(t,[]).pipe(sn(e=>e.error),mi(e=>e._tag===`Resolved`?P(e.value):Fi(e.error))),t}var ac=(e,t)=>({_tag:`Resolved`,value:e,hasInput:t}),oc=e=>({_tag:`Absent`,error:e}),sc=(e,t)=>({error:e,hasInput:t}),cc=e=>ar(e,`SourceError`),lc=(e,t)=>e.pipe(ai(e=>cc(e)?Fi(sc(new nc(e),t)):Sr(e))),uc=()=>`<configuration>`,dc=(e,t)=>e.load(t).pipe(Tn,Jr(n=>({provider:e,path:t,node:n,toString:uc}))),fc=(e,t)=>dc(e.provider,[...e.path,t]),pc=e=>e?.value,mc=(e,t)=>ln(At,e,new Ut(Rt(e=>t(e)),ht())),hc=e=>{switch(e._tag){case`Union`:return e.types.every(hc);case`Objects`:case`Arrays`:case`Suspend`:return!1;default:return!0}},gc=(e,t)=>{switch(e._tag){case`Objects`:return t?._tag===`Record`;case`Arrays`:return t?._tag===`Array`;case`Union`:return e.types.some(e=>gc(e,t));case`Suspend`:return gc(e.thunk(),t);default:return pc(t)!==void 0}},_c=pr(e=>{let t=new WeakSet,n=rn(e=>{switch(t.add(e),e._tag){case`Objects`:{let t=e.indexSignatures.map(e=>ut(e.parameter)),r=Vr(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*fc(n,e);t.node!==void 0&&on(a,e,t)}return a});return mc(e.recur(n,e=>e),r)}case`Arrays`:{let t=Vr(function*(e){if(e.node?._tag!==`Array`)return;let t=[];for(let n=0;n<e.node.length;n++)t.push(yield*fc(e,n));return t});return mc(e.recur(n),t)}case`Union`:for(let t of e.types)n(t);return hc(e)?mc(e,e=>P(pc(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 mc(e,e=>P(pc(e.node)))}});return n(e)});function vc(e,t){let n=xt(e),r=hn(n.ast),i=Kr(hr(_c(n.ast))),a=typeof t==`string`?[t]:t??[];return ic((e,t)=>{let n=[...t,...a];return lc(dc(e,n),!1).pipe(mi(e=>{let t=gc(r,e.node);return lc(i(e).pipe(Jr(e=>ac(e,t)),Si(e=>{let r=new nc(new fn(n.length>0?new Gn(n,e):e));return t?Fi(sc(r,!0)):P(oc(r))})),t)}))})}var yc=(e,t,n)=>{let r=$n(e,t),i=Zt(n),a=M.pipe(ci(xt(r),{decode:i.decode,encode:ht({strict:!1}).compose(i.encode)}));return ii([r,a])};function bc(e){return vc(M,e)}function xc(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 Sc(e){return{...e.chatAttachments?.readChunk?{attachments:{readChunk:e.chatAttachments.readChunk}}:{},server:{refreshProviders:e.server.refreshProviders,updateProvider:e.server.updateProvider,getSettings:e.server.getSettings,updateSettings:e.server.updateSettings,upsertKeybinding:e.server.upsertKeybinding,getResourceTelemetryHistory:e.server.getResourceTelemetryHistory,retryResourceTelemetry:e.server.retryResourceTelemetry,signalDiagnosticProcess:e.server.signalDiagnosticProcess,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 Cc(e){return{read:t=>{if(!e.canReadConnections()||!t)return;let n=e.readClient(t);return n?Sc(n):void 0}}}function wc(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 Tc(e){return{sequence:e.snapshotSequence,updatedAt:e.updatedAt}}function Ec(e){if(e.current===null)return`newer`;let t=wc(e.current,Tc(e.next));return t<0?`newer`:t===0?`current`:`stale`}function Dc(e){return e.current===null||e.sequence>e.current.sequence}function Oc(){let e=new Map;return{read:t=>e.get(t)??null,markSnapshot:(t,n)=>{let r=Tc(n),i=e.get(t);(i===void 0||wc(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 kc=class extends Error{status;constructor(e,t){super(e),this.name=`RemoteEnvironmentAuthHttpError`,this.status=t}};function Ac(e){return e instanceof kc}function jc(e,t){let n=new URL(e);return n.pathname=t,n.toString()}async function Mc(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 Nc(e,t){let n=jc(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 kc(await Mc(r,`Remote auth request failed (${r.status}).`),r.status);return await r.json()}function Pc(e,t){return{bootstrapRemoteBearerSession:async t=>Nc(e,{httpBaseUrl:t.httpBaseUrl,pathname:`/api/auth/bootstrap/bearer`,method:`POST`,body:{credential:t.credential}}),fetchRemoteSessionState:async t=>Nc(e,{httpBaseUrl:t.httpBaseUrl,pathname:`/api/auth/session`,bearerToken:t.bearerToken}),fetchRemoteEnvironmentDescriptor:async t=>Nc(e,{httpBaseUrl:t.httpBaseUrl,pathname:`/.well-known/ryco/environment`}),issueRemoteWebSocketToken:async t=>Nc(e,{httpBaseUrl:t.httpBaseUrl,pathname:`/api/auth/ws-token`,method:`POST`,bearerToken:t.bearerToken}),resolveRemoteWebSocketConnectionUrl:async n=>{let r=await Nc(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 Fc(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 Ic(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 Lc(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 Rc(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=Fc(i.host,t);return{credential:i.token,httpBaseUrl:Ic(e),wsBaseUrl:Lc(e)}}let a=n.readPairingToken(e)??``;if(!a)throw Error(`Pairing URL is missing its token.`);return{credential:a,httpBaseUrl:Ic(e),wsBaseUrl:Lc(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=Fc(i,t);return{credential:a,httpBaseUrl:Ic(o),wsBaseUrl:Lc(o)}}function zc(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 Bc(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 Vc(e){let t=new Map,n=new Map,r=e=>_(l(e.environmentId,e.threadId)),i=e=>t.get(r(e))??0,a=e=>{let n=i(e)+1;return t.set(r(e),n),n},o=e=>{t.set(r(e),i(e)+1)},s=t=>{let o=i(t.scope),s=`${r(t.scope)}:${o}:${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)===o?(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)===o)try{return await e.recoverStale(t.scope),a(t.scope),null}catch(e){n=e}throw i(t.scope)===o&&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:a,invalidate:o,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):s({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})=>s({scope:e,collection:`messages`,request:{threadId:e.threadId,collection:`messages`,mode:{kind:`around`,anchorId:t},limit:n},requestKey:`messages:around:${t}:${n}`})}}var Hc=()=>void 0,Uc=3e5,Wc=32,Gc=12582912,Kc=2e3,qc=2500,Jc=2,Yc=class extends Error{constructor(e){super(`Saved environment ${e} connection was cancelled.`),this.name=`SavedEnvironmentConnectionCancelledError`}};function Xc(e){let t=new Map,n=new Map,r=new Set,i=new Map,a=Oc(),o=null,s=-1/0,c=()=>{for(let e of r)e();e.onRegistryChange?.()},u=(e,t)=>_(l(e,t)),d=e=>{try{return new TextEncoder().encode(JSON.stringify(e)).byteLength}catch{return 0}},f=(e,t)=>{e.estimatedRetainedBytes=d(t)},p=(e,t)=>{e.estimatedRetainedBytes=Math.min(Gc,e.estimatedRetainedBytes+d(t))},m=t=>{t.evictionTimeoutId!==null&&(e.clearTimeout(t.evictionTimeoutId),t.evictionTimeoutId=null)},h=t=>t.refCount===0&&!e.isThreadDetailSubscriptionNonIdle(t.environmentId,t.threadId),g=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=Vc({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&&(p(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!==Hc)return!0;let n=v(t.environmentId);if(!n)return!1;let r=!0,i=Hc,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}p(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}p(t,n.event),w(),e.applyThreadDetailEvent(t.environmentId,n.event)},{onError:()=>{c=!0,i!==Hc&&o()}}),c&&o(),!0},S=t=>{t.unsubscribeConnectionListener===null&&(t.unsubscribeConnectionListener=g(()=>{x(t)&&(t.lastAccessedAt=e.now())}),x(t))},C=e=>{let t=i.get(e);return t?(m(t),t.unsubscribeConnectionListener?.(),t.unsubscribeConnectionListener=null,i.delete(e),b.invalidate({environmentId:t.environmentId,threadId:t.threadId}),t.unsubscribe(),t.unsubscribe=Hc,!0):!1},w=()=>{let e=xc([...i.entries()].map(([e,t])=>({key:e,lastAccessedAt:t.lastAccessedAt,retainedBytes:t.estimatedRetainedBytes,evictable:h(t)})),{maxEntries:Wc,maxBytes:Gc});for(let t of e)C(t)},ee=t=>{m(t),h(t)&&(t.evictionTimeoutId=e.setTimeout(()=>{let e=i.get(u(t.environmentId,t.threadId));e&&(e.evictionTimeoutId=null,h(e)&&C(u(e.environmentId,e.threadId)))},Uc))},te=e=>{for(let t of i.values())t.environmentId===e&&ee(t);w()},ne=(e,t)=>{let n=i.get(u(e,t));n&&ee(n)},T=(e,t)=>{let n=new Set(t);for(let[t,r]of i)r.environmentId===e&&!n.has(r.threadId)&&C(t)},E=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 c(),e},D=async e=>{let n=t.get(e);if(!n)return!1;t.delete(e),a.clearEnvironment(e),b.clearEnvironment(e),c();for(let t of i.values())t.environmentId===e&&(t.unsubscribe(),t.unsubscribe=Hc,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:Hc,unsubscribeConnectionListener:null,refCount:0,lastAccessedAt:e.now(),evictionTimeoutId:null,protocol:`bounded`,estimatedRetainedBytes:0};a||i.set(r,o),m(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&&(ee(o),w()))}},ie=e=>{for(let[t,n]of i)n.environmentId===e&&C(t)},O=()=>{let t=e.createPrimaryConnection();if(!t)return null;let n=v(t.environmentId);return n?(n!==t&&t.dispose().catch(Hc),n):E(t)},ae=async e=>{let n=e?t.get(e):[...t.values()].find(e=>e.kind===`primary`);n?.kind===`primary`&&n&&await D(n.environmentId).catch(()=>!1)},oe=(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 D(n.environmentId).catch(()=>!1)||await n.dispose().catch(Hc),new Yc(e.environmentId);return n})};return n.set(e.environmentId,a),a.promise.finally(()=>{n.get(e.environmentId)===a&&n.delete(e.environmentId)})},se=e=>{let t=n.get(e);t&&(t.cancelled=!0,n.delete(e))},ce=(t,n)=>{if(!Dc({current:a.read(n),sequence:t.sequence}))return;let r=e.stateSink.prepareShellEvent(n,t);e.stateSink.applyShellEvent(n,t),a.markEvent(n,t.sequence),e.stateSink.afterShellEventApplied(n,t,r)},le=(t,n,r)=>{e.onShellSnapshotReceived(n);let i=Ec({current:a.read(n),next:t});if(i===`current`){e.onShellSnapshotCurrent(n),r?.onCurrent();return}i!==`stale`&&(e.stateSink.syncServerShellSnapshot(n,t),e.onShellSnapshotApplied(n),a.markSnapshot(n,t),e.onShellSnapshotReady(n),r?.onReady(),T(n,t.threads.map(e=>e.id)),te(n),e.stateSink.reconcileSnapshotDerivedState())},ue=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(qc),await Bc(zc(n),{concurrency:Jc,connect:async t=>{await oe(t,n=>e.connectSavedEnvironment(t,n)).catch(()=>void 0)}})},de=()=>{let e=null,t=!1,n=async()=>{do t=!1,await ue();while(t)};return()=>e?(t=!0,e):(e=n().catch(()=>void 0).finally(()=>{e=null}),e)},fe=n=>{let r=e.now();if(!(r-s<Kc))for(let e of t.values())e.client.isHeartbeatFresh()||(s=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=()=>{o?.stop(),o=null};return{subscribe:g,list:()=>[...t.values()],read:v,require:y,register:E,remove:D,connectPrimary:O,disconnectPrimary:ae,ensureSavedEnvironmentConnection:oe,cancelPendingSavedEnvironmentConnection:se,applyShellEvent:ce,resetShellProjection:e=>a.clearEnvironment(e),syncShellSnapshot:le,retainThreadDetailSubscription:re,disposeThreadDetailSubscriptionsForEnvironment:ie,disposeThreadDetailSubscription:(e,t)=>C(u(e,t)),reconcileThreadDetailSubscriptionEvictionForEnvironment:te,reconcileThreadDetailSubscriptionEvictionForThread:ne,reconcileThreadDetailSubscriptionsForEnvironment:T,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(o){let e=o;return e.refCount+=1,()=>{o===e&&(--e.refCount,e.refCount===0&&pe())}}pe(),e.resetProviderInvalidation();let t=e.createInvalidationThrottle(),n=de();O();let r=e.isHostedMode()?Hc:e.subscribeSavedEnvironmentRegistry(()=>{e.hasSavedEnvironmentRegistryHydrated()&&n()});e.isHostedMode()||e.waitForSavedEnvironmentRegistryHydration().then(n).catch(Hc);let i=e.isHostedMode()?Hc:e.subscribeBrowserResume(fe),a={throttle:t,refCount:1,stop:()=>{r(),i(),t.cancel()}};return o=a,()=>{o===a&&(--a.refCount,a.refCount===0&&pe())}},requestProviderInvalidation:()=>{o?.throttle.maybeExecute()},resetForTests:async()=>{pe(),s=-1/0;for(let e of i.keys())C(e);await Promise.all([...t.keys()].map(e=>D(e))),n.clear(),a.clear()}}}var Zc=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,T());else{var t=n(l);t!==null&&re(x,t.startTime-e)}}}var S=!1,C=-1,w=5,ee=-1;function te(){return g?!0:!(e.unstable_now()-ee<w)}function ne(){if(g=!1,S){var t=e.unstable_now();ee=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&&te());){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?T():S=!1}}}var T;if(typeof y==`function`)T=function(){y(ne)};else if(typeof MessageChannel<`u`){var E=new MessageChannel,D=E.port2;E.port1.onmessage=ne,T=function(){D.postMessage(null)}}else T=function(){_(ne,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,T()))),r},e.unstable_shouldYield=te,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),Qc=t(((e,t)=>{t.exports=Zc()})),$c=e(Qc(),1);function el(e){let t=$c.unstable_scheduleCallback(4,e);return()=>$c.unstable_cancelCallback(t)}var tl=L.createContext(d({scheduleTask:el,defaultIdleTTL:400})),nl=new WeakMap;function rl(e,t){let n=nl.get(e);n===void 0&&(n=new WeakMap,nl.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 ve(t,e)}};return n.set(t,i),i}function il(e,t){let n=rl(e,t);return L.useSyncExternalStore(n.subscribe,n.snapshot,n.getServerSnapshot)}var al=(e,t)=>{let n=L.useContext(tl);return t?il(n,L.useMemo(()=>u(e,t),[e,t])):il(n,e)},ol=(e,t,n)=>{let r=L.useContext(tl);L.useEffect(()=>r.subscribe(e,t,n),[r,e,t,n?.immediate])};function sl(e,t){if(!er(e)||!er(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]=er(t)&&er(r)?sl(t,r):r}return n}var cl=Qi(e=>Vi({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`),Gi(JSON.parse(t))},catch:t=>new In({message:String(t)},e)})),ll=new Ut(cl,Bn()),ul=e=>M.pipe(ci(e,ll)),dl=N.make(`codex`);function fl(e,t){let n=kl(e.shortName),r=kl(e.name),i=kl(e.slug)??e.slug;return t?.preferShortName?n??r??i:r??n??i}function pl(e,t){let n=fl(e,t),r=kl(e.subProvider);return r?`${r} · ${n}`:n}function ml(e){return{optionDescriptors:e.optionDescriptors.map(_l)}}function hl(e,t){return e?.find(e=>e.id===t)?.value}function gl(e,t){let n=kl(t);return n?e.options.length===0?n:e.promptInjectedValues?.includes(n)&&e.options.some(e=>e.id===n)?e.options.find(e=>e.isDefault)?.id:e.options.some(e=>e.id===n)?n:e.currentValue??e.options.find(e=>e.isDefault)?.id:e.currentValue??e.options.find(e=>e.isDefault)?.id}function _l(e){return e.type===`select`?{...e,options:[...e.options],...e.promptInjectedValues?{promptInjectedValues:[...e.promptInjectedValues]}:{}}:{...e}}function vl(e){return{...e}}function yl(e,t){if(e.type===`boolean`)return typeof t==`boolean`?{...e,currentValue:t}:e;let n=typeof t==`string`?gl(e,t):gl(e,e.currentValue);if(!n){let{currentValue:t,...n}=e;return n}return{...e,currentValue:n}}function bl(e){let{caps:t,selections:n}=e;return(t.optionDescriptors??[]).map(_l).map(e=>yl(e,hl(n,e.id)??e.currentValue))}function xl(e){if(e)return e.type===`boolean`||e.currentValue?e.currentValue:e.options.find(e=>e.isDefault)?.id}function Sl(e){if(!e)return;if(e.type===`boolean`)return typeof e.currentValue==`boolean`?e.currentValue?`On`:`Off`:void 0;let t=xl(e);if(typeof t==`string`)return e.options.find(e=>e.id===t)?.label}function Cl(e){if(!e||e.length===0)return;let t=[];for(let n of e){let e=xl(n);(typeof e==`string`||typeof e==`boolean`)&&t.push({id:n.id,value:e})}return t.length>0?t:void 0}function wl(e){return typeof e==`string`&&/\bultrathink\b/i.test(e)}function Tl(e,t=dl){if(typeof e!=`string`)return null;let n=e.trim();if(!n)return null;let r=Ci[t]??{},i=Object.prototype.hasOwnProperty.call(r,n)?r[n]:void 0;return typeof i==`string`?i:n}function El(e,t,n){if(typeof t!=`string`)return null;let r=t.trim();if(!r)return null;let i=n.find(e=>e.slug===r);if(i)return i.slug;let a=n.find(e=>e.name.toLowerCase()===r.toLowerCase());if(a)return a.slug;let o=Tl(r,e);if(!o)return null;let s=n.find(e=>e.slug===o);return s?s.slug:null}function Dl(e,t){return Tl(e,t)||(oi[t]??`gpt-5.6-terra`)}function Ol(e,t){return Dl(t,e)}function kl(e){return typeof e==`string`&&e.trim()||null}function Al(e){return e.map(vl)}function R(e,t,n){let r=n?Al(n):[],i={instanceId:e,model:t};return r.length>0?{...i,options:r}:i}function jl(e){return e.canonicalSelection.instanceId!==e.targetSelection.instanceId}function Ml(e,t){let n=kl(t);if(!n)return null;let r=bl({caps:e});for(let e of r)if(e.type===`select`&&e.promptInjectedValues?.includes(n))return n;return null}function Nl(e,t){let n=e.trim();return!n||t!==`ultrathink`||n.startsWith(`Ultrathink:`)?n:`Ultrathink:\n${n}`}ul(Et);function Pl(e){return!!(e&&(e.instanceId!==void 0||e.model!==void 0))}function Fl(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 Il(e,t){let n=t.textGenerationModelSelection,r=sl(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=Pl(n)?n.options:Fl({current:e.textGenerationModelSelection.options,patch:n.options});return{...i,textGenerationModelSelection:R(a,o,s)}}var Ll=t((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),Rl=t(((e,t)=>{t.exports=Ll()})),zl=ra(),Bl=Rl();function Vl(e){return e.requestedEnvironmentId??e.routedEnvironmentId??e.activeEnvironmentId??e.primaryEnvironmentId??null}var Hl=(0,L.createContext)(null);function Ul(e){let t=(0,zl.c)(3),n;return t[0]!==e.children||t[1]!==e.value?(n=(0,Bl.jsx)(Hl.Provider,{value:e.value,children:e.children}),t[0]=e.children,t[1]=e.value,t[2]=n):n=t[2],n}function Wl(){return(0,L.useContext)(Hl)}function Gl(e,t){let n=(0,L.useRef)(t);n.current=t,ol(e,(0,L.useCallback)(e=>{e!==null&&n.current(e)},[]),{immediate:!0})}function Kl(){let e=al(Be),t=Wl();return t?t.serverConfig:e}function ql(){let e=(0,zl.c)(2),t=Kl(),n;return e[0]===t?n=e[1]:(n=qe(t),e[0]=t,e[1]=n),n}function Jl(){let e=(0,zl.c)(2),t=Kl(),n;return e[0]===t?n=e[1]:(n=De(t),e[0]=t,e[1]=n),n}function Yl(){let e=(0,zl.c)(2),t=Kl(),n;return e[0]===t?n=e[1]:(n=Re(t),e[0]=t,e[1]=n),n}function Xl(){let e=(0,zl.c)(2),t=Kl(),n;return e[0]===t?n=e[1]:(n=xe(t),e[0]=t,e[1]=n),n}function Zl(){let e=(0,zl.c)(2),t=Kl(),n;return e[0]===t?n=e[1]:(n=$e(t),e[0]=t,e[1]=n),n}function Ql(){let e=(0,zl.c)(2),t=Kl(),n;return e[0]===t?n=e[1]:(n=Ce(t),e[0]=t,e[1]=n),n}function $l(e){Gl(he,e)}function eu(e){Gl(Ae,e)}var tu=new Set,nu=new Set,ru=mr,iu=!1,au=null;function ou(){for(let e of tu)e()}function su(){for(let e of nu)e()}function cu(){return ru}function lu(e){ru=e,ou()}function uu(){return iu}function du(e){iu!==e&&(iu=e,su())}function fu(e){return tu.add(e),()=>{tu.delete(e)}}function pu(){return au}function mu(e){au=e}function hu(e){au===e&&(au=null)}var gu=`[CLIENT_SETTINGS]`;function _u(e){let t=fu(e);return vu(),t}async function vu(){if(uu())return;let e=pu();if(e)return e;let t=(async()=>{try{let e=await kh().persistence.getClientSettings();e&&lu({...mr,...e})}catch(e){console.error(`${gu} hydrate failed`,e)}finally{du(!0)}})().finally(()=>{hu(t)});return mu(t),t}function yu(e){lu(e),kh().persistence.setClientSettings(e).catch(e=>{console.error(`${gu} persist failed`,e)})}var bu=new Set(Yr(Et.fields));function xu(e){let t={},n={};for(let[r,i]of Object.entries(e))bu.has(r)?t[r]=i:n[r]=i;return{serverPatch:t,clientPatch:n}}function Su(){return cu()}function Cu(e){let t=(0,zl.c)(6),n=ql(),r=(0,L.useSyncExternalStore)(_u,cu,wu),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 wu(){return mr}function Tu(){let e=(0,zl.c)(9),t=Wl(),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}=xu(e);if(Object.keys(t).length>0){if(n&&!r)i?lP(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=Ge();e&&Ne(Il(e.settings,t)),kh().server.updateSettings(t)}}Object.keys(a).length>0&&yu({...cu(),...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(Dn)},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 Eu=Object.freeze({data:null,error:null,cause:null,isPending:!1}),Du=Object.freeze({...Eu,isPending:!0}),Ou=D(Eu).pipe(k,f(`git-status:null`)),ku=()=>void 0,Au=new Map,ju=new Set,Mu=new Map,Nu=new Map,Pu=1e3,Fu=it(e=>(ju.add(e),D(Du).pipe(k,f(`git-status:${e}`))));function Iu(e){return e.environmentId===null||e.cwd===null?null:`${e.environmentId}:${e.cwd}`}function Lu(e,t){return`${e}:remote-poll=${t?.automaticRemoteRefreshIntervalMs??0}`}function Ru(e){if(e.environmentId===null)return null;let t=sP(e.environmentId);return t?{clientIdentity:t.environmentId,client:t.client.vcs}:null}function zu(e){let t=Iu(e);return t===null?Eu:T.get(Fu(t))}function Bu(e,t,n){let r=Iu(e);if(r===null)return ku;let i=Lu(r,n),a=Au.get(i);return a?(a.refCount+=1,()=>Ku(i)):(Au.set(i,{refCount:1,unsubscribe:qu(r,e,t,n)}),()=>Ku(i))}function Vu(e,t){return Hu(e,t).then(t=>{let n=Iu(e);return n!==null&&t!==null&&Uu(n,t),t})}function Hu(e,t){let n=Iu(e);if(n===null||e.cwd===null)return Promise.resolve(null);let r=t??Ru(e)?.client;if(!r)return Promise.resolve(zu(e).data);let i=Mu.get(n);if(i)return i;let a=Nu.get(n)??0;if(Date.now()-a<Pu)return Promise.resolve(zu(e).data);Nu.set(n,Date.now());let o=r.refreshStatus({cwd:e.cwd}).finally(()=>{Mu.delete(n)});return Mu.set(n,o),o}function Uu(e,t){T.set(Fu(e),{data:t,error:null,cause:null,isPending:!1})}function Wu(e){let t=(0,zl.c)(5),n=Iu(e),r=Cu(Gu),i,a;t[0]!==r||t[1]!==e.cwd||t[2]!==e.environmentId?(i=()=>Bu({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=al(n===null?Ou:Fu(n));return n===null?Eu:o}function Gu(e){return e.gitStatusPollIntervalMs}function Ku(e){let t=Au.get(e);t&&(--t.refCount,!(t.refCount>0)&&(t.unsubscribe(),Au.delete(e)))}function qu(e,t,n,r){if(t.cwd===null)return ku;let i=t.cwd,a=null,o=ku,s=()=>{let s=n?{clientIdentity:`provided:${e}`,client:n}:Ru(t);if(!s){a!==null&&(o(),o=ku,a=null),Yu(e);return}a!==s.clientIdentity&&(o(),a=s.clientIdentity,o=Ju(e,{...t,cwd:i},s.client,r))},c=n?ku:aP(s);return s(),()=>{c(),o()}}function Ju(e,t,n,r){Yu(e);let i=t.cwd,a=r?.automaticRemoteRefreshIntervalMs??0,o=n.onStatus({cwd:i,...a>0?{automaticRemoteRefreshIntervalMs:a}:{}},t=>{T.set(Fu(e),{data:t,error:null,cause:null,isPending:!1})},{onResubscribe:()=>{Yu(e)}}),s=!1;return Hu(t,n).then(t=>{!s&&t!==null&&Uu(e,t)}).catch(()=>void 0),()=>{s=!0,o()}}function Yu(e){let t=Fu(e),n=T.get(t),r=n.data===null?Du:{...n,error:null,cause:null,isPending:!0};(n.data!==r.data||n.error!==r.error||n.cause!==r.cause||n.isPending!==r.isPending)&&T.set(t,r)}var Xu=Object.freeze({data:null,error:null,isPending:!1}),Zu=Object.freeze({data:null,error:null,isPending:!0}),Qu=new Set,$u=it(e=>(Qu.add(e),D(Zu).pipe(k,f(`source-control-discovery:${e}`))));D(Xu).pipe(k,f(`source-control-discovery:null`));function ed(e){let t=e.key?.trim();return t&&t.length>0?t:null}function td(e){let t=new Map;function n(t,n){e.getRegistry().set($u(t),n)}function r(t){let r=e.getRegistry().get($u(t)),i=r.data===null?Zu:{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($u(t)).data,error:r instanceof Error?r.message:`Failed to discover source control tools.`,isPending:!1})}function o(n,o){let c=ed(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=ed(t);return n===null?Xu:e.getRegistry().get($u(n))}function c(){t.clear();for(let e of Qu)n(e,Zu);Qu.clear()}return{refresh:o,getSnapshot:s,reset:c}}var nd={key:`primary`},rd=3e4,id=3e5;function ad(e){let t=e?.environmentId??null;return t?Je()?.environmentId===t?nd:{key:t}:nd}var od=td({getRegistry:()=>T,getClient:e=>{if(e===nd.key){let e=Je()?.environmentId??null,t=e?sP(e):null;if(t)return t.client.server;try{return Oh()?.server??null}catch{return null}}let t=sP(bn.make(e));return t?t.client.server:null}}),sd=it(e=>D(()=>ta(()=>od.refresh({key:e}))).pipe(re({staleTime:rd,revalidateOnMount:!0}),nt(id),f(`source-control-discovery:auto-refresh:${e}`)));function cd(e){return od.refresh(ad(e))}function ld(e){return od.getSnapshot(ad(e))}function ud(e){let t=ed(ad(e))??nd.key;return al(sd(t)),al($u(t))}function dd(){return al(ye)}var fd={isForeground:()=>typeof document>`u`||document.visibilityState!==`hidden`,isOnline:()=>typeof navigator>`u`||navigator.onLine!==!1,subscribe:e=>{if(typeof document>`u`||typeof window>`u`)return()=>void 0;let t=()=>e(document.visibilityState===`hidden`?`background`:`foreground`),n=()=>e(`offline`),r=()=>e(`online`),i=()=>e(`resume`);return document.addEventListener(`visibilitychange`,t),window.addEventListener(`offline`,n),window.addEventListener(`online`,r),window.addEventListener(`pageshow`,i),()=>{document.removeEventListener(`visibilitychange`,t),window.removeEventListener(`offline`,n),window.removeEventListener(`online`,r),window.removeEventListener(`pageshow`,i)}}},pd={now:()=>typeof performance<`u`&&typeof performance.now==`function`?performance.now():Date.now()},md={scheduleFrame:e=>{if(typeof requestAnimationFrame==`function`){requestAnimationFrame(()=>e());return}setTimeout(e,0)}};function hd(e){return typeof e==`function`}function gd(e,...t){return hd(e)?e(...t):e}function _d({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(!0)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(!0)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}function vd(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var yd=[],bd=0,{link:xd,unlink:Sd,propagate:Cd,checkDirty:wd,shallowPropagate:Td}=_d({update(e){return e._update()},notify(e){yd[Dd++]=e,e.flags&=-3},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,Ad(e))}}),Ed=0,Dd=0,Od,kd=0;function Ad(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=Sd(n,e)}function jd(){if(!(kd>0)){for(;Ed<Dd;){let e=yd[Ed];yd[Ed++]=void 0,e.notify()}Ed=0,Dd=0}}function Md(e,t){let n=typeof e==`function`,r=e,i={_snapshot:n?void 0:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:+!n,get(){return Od!==void 0&&xd(i,Od,bd),i._snapshot},subscribe(e){let t=vd(e),n={current:!1},r=Nd(()=>{i.get(),n.current?t.next?.(i._snapshot):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=Od,o=t?.compare??Object.is;if(n)Od=i,++bd,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=5);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{Od=a,n&&(i.flags&=-5),Ad(i)}}};return n?(i.flags=17,i.get=function(){let e=i.flags;if(e&16||e&32&&wd(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&Td(e)}}else e&32&&(i.flags=e&-33);return Od!==void 0&&xd(i,Od,bd),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(Cd(e),Td(e),jd())}},i}function Nd(e){let t=()=>{let t=Od;Od=n,++bd,n.depsTail=void 0,n.flags=6;try{return e()}finally{Od=t,n.flags&=-5,Ad(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:6,notify(){let e=this.flags;e&16||e&32&&wd(this.deps,this)?t():this.flags=2},stop(){this.flags=0,this.depsTail=void 0,Ad(this)}};return t(),n}var Pd=class{constructor(e,t){this.atom=Md(e),this.get=this.get.bind(this),this.setState=this.setState.bind(this),this.subscribe=this.subscribe.bind(this),t&&(this.actions=t(this))}setState(e){this.atom.set(e)}get state(){return this.atom.get()}get(){return this.state}subscribe(e){return this.atom.subscribe(vd(e))}},Fd=class{#e;constructor({pluginId:e}){this.#e=e}getPluginId(){return this.#e}createEventPayload(e,t){return{type:`${this.#e}:${e}`,payload:t,pluginId:this.#e}}emit(e,t){}on(e,t,n){return()=>{}}onAll(e){return()=>{}}onAllPluginEvents(e){return()=>{}}},Id=new Map;function Ld(e,t){Id.set(e,t)}function Rd(e){if(e!==void 0)try{return JSON.parse(JSON.stringify(e))}catch{return null}}function zd(e){return typeof e.get==`function`?e.get():e.state}function Bd(e){return{key:e.key,store:{state:Rd(zd(e.store))},options:Rd(e.options)}}var Vd=class extends Fd{constructor(e){super({pluginId:`pacer`,debug:e?.debug,reconnectEveryMs:1e3})}},Hd=(e,t)=>{let n=t.key;n&&(Ld(n,t),Ud.emit(e,Bd({...t,key:n})))},Ud=new Vd;function Wd(){return{canLeadingExecute:!0,executionCount:0,isPending:!1,lastArgs:void 0,status:`idle`,maybeExecuteCount:0}}var Gd={enabled:!0,leading:!1,trailing:!0,wait:0},Kd=class{#e;constructor(e,t){this.fn=e,this.store=new Pd(Wd()),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`}}),Hd(`Debouncer`,this)},this.#n=()=>!!gd(this.options.enabled,this),this.#r=()=>gd(this.options.wait,this),this.maybeExecute=(...e)=>{if(!this.#n())return;this.#t({maybeExecuteCount:this.store.state.maybeExecuteCount+1});let t=!1;this.options.leading&&this.store.state.canLeadingExecute&&(this.#t({canLeadingExecute:!1}),t=!0,this.#i(...e)),this.options.trailing&&this.#t({isPending:!0,lastArgs:e}),this.#e&&clearTimeout(this.#e),this.#e=setTimeout(()=>{this.#t({canLeadingExecute:!0}),this.options.trailing&&!t&&this.#i(...e)},this.#r())},this.#i=(...e)=>{this.#n()&&(this.fn(...e),this.#t({executionCount:this.store.state.executionCount+1,isPending:!1,lastArgs:void 0}),this.options.onExecute?.(e,this))},this.flush=()=>{this.store.state.isPending&&this.store.state.lastArgs&&(this.#a(),this.#i(...this.store.state.lastArgs))},this.#a=()=>{this.#e&&=(clearTimeout(this.#e),void 0)},this.cancel=()=>{this.#a(),this.#t({canLeadingExecute:!0,isPending:!1})},this.reset=()=>{this.#t(Wd())},this.key=t.key,this.options={...Gd,...t},this.#t(this.options.initialState??{}),this.key&&Ud.on(`d-Debouncer`,e=>{e.payload.key===this.key&&(this.#t(e.payload.store.state),this.setOptions(e.payload.options))})}#t;#n;#r;#i;#a};function qd(){return{executionCount:0,isPending:!1,lastArgs:void 0,lastExecutionTime:0,nextExecutionTime:0,status:`idle`,maybeExecuteCount:0}}var Jd={enabled:!0,leading:!0,trailing:!0,wait:0},Yd=class{#e;constructor(e,t){this.fn=e,this.store=new Pd(qd()),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`}}),Hd(`Throttler`,this)},this.#n=()=>!!gd(this.options.enabled,this),this.#r=()=>gd(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(qd())},this.key=t.key,this.options={...Jd,...t},this.#t(this.options.initialState??{}),this.key&&Ud.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};function Xd(){let e=new Map;return{getItem:t=>e.get(t)??null,setItem:(t,n)=>{e.set(t,n)},removeItem:t=>{e.delete(t)}}}function Zd(e){return e!=null&&typeof e.getItem==`function`&&typeof e.setItem==`function`&&typeof e.removeItem==`function`}function Qd(e){return Zd(e)?e:Xd()}function $d(e,t=300){let n=Qd(e),r=new Kd((e,t)=>{n.setItem(e,t)},{wait:t});return{getItem:e=>n.getItem(e),setItem:(e,t)=>{r.maybeExecute(e,t)},removeItem:e=>{r.cancel(),n.removeItem(e)},flush:()=>{r.flush()}}}function ef(){return Qd(typeof window>`u`?null:window.localStorage)}function tf(e=ef()){return{getItem:async t=>await e.getItem(t),setItem:async(t,n)=>{await e.setItem(t,n)},removeItem:async t=>{await e.removeItem(t)}}}tf();var nf=ji(`effect/http/FetchHttpClient/Fetch`,{defaultValue:()=>globalThis.fetch}),rf=class extends F()(`effect/http/FetchHttpClient/RequestInit`){},af=Ms(P(Es((e,t,n,r)=>{let i=r.getRef(nf),a=r.context.mapUnsafe.get(rf.key)??{},o=a.headers?Xe(ge(a.headers),e.headers):e.headers;o[`content-length`]&&(o=Le(o,`content-length`));let s=r=>ft(lr({try:()=>i(t,{...a,method:e.method,headers:o,body:r,duplex:e.body._tag===`Stream`?`half`:void 0,signal:n}),catch:t=>new ze({reason:new me({request:e,cause:t})})}),t=>gs(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 Pr(gr(e.body.stream),s)}return s(void 0)}))),of=e=>{let t=Nr(e).pipe(ti(_o));if(sr(t))return P($i(t.value));if(e===void 0)return P($i(5));let n=Date.parse(e);return Number.isNaN(n)?P($i(5)):ft(ho,e=>Sn(Math.max(n-e.currentTimeMillisUnsafe(),1)))},sf=Qr.pipe(cn,Tt(({output:e})=>et(e)&&e.reason._tag===`StatusCodeError`&&e.reason.response.status===429?of(e.reason.response.headers[`retry-after`]):P($i(1)))),cf=class extends F()(`effect/observability/OtlpExporter/Flusher`){},lf=Xt(cf,()=>{let e=new Set;return{flush:ni(()=>e.size===0?jn:Rr(e,Wr,{concurrency:`unbounded`,discard:!0})),register:t=>Pr(bi,n=>(e.add(t),Yt(n,Ii(()=>e.delete(t)))))}}),uf=Vr(function*(e){let t=yield*fr(),n=dr(t,ho),r=dr(t,bi),i=Qt(jt(e.exportInterval),Vn),a,s=Cs(dr(t,xs)).pipe(Ss(Un(As,!1)),Ds({schedule:sf,times:3})),c=We({"user-agent":`effect-opentelemetry-${e.label}/0.0.0`});e.headers&&(c=Xe(ge(e.headers),c));let l=ns(e.url,{headers:c}),u=[],d=ni(()=>{if(a!==void 0&&n.currentTimeMillisUnsafe()<a)return jn;a!==void 0&&(a=void 0);let t=u;if(e.maxBatchSize!==`disabled`){if(u.length===0)return jn;u=[]}let[r,i]=e.body(t);return s.execute(fs(l,r)).pipe(Yn(i),vn,kt(!1))}).pipe(Mi(e=>a===void 0?(a=n.currentTimeMillisUnsafe()+6e4,u=[],wt(`Disabling exporter for 60 seconds`,e)):jn),nr({package:`@effect/opentelemetry`,module:e.label})),f=yield*we(),p=yield*He(f)();return yield*(yield*cf).register(d),yield*Yt(r,ni(()=>a===void 0?(p(d),o(f)):jn).pipe(An,Pn,Hr(e.shutdownTimeout))),yield*Ti(i).pipe(Yn(Ze(f,d)),Pr(an),cr,Yi(r)),{push(t){a===void 0&&(u.push(t),e.maxBatchSize!==`disabled`&&u.length>=e.maxBatchSize&&p(d))}}}),df=e=>{let t=e.attributes?mf(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}},ff=Vr(function*(e){let t=yield*vc(ki(yc(ir,ir)),`OTEL_RESOURCE_ATTRIBUTES`),n=e?.serviceName??e?.attributes?.[`service.name`]??(yield*vc(ki(M),`OTEL_SERVICE_NAME`))??t?.[`service.name`]??(yield*bc(`OTEL_SERVICE_NAME`)),r=e?.serviceVersion??e?.attributes?.[`service.version`]??(yield*vc(ki(M),`OTEL_SERVICE_VERSION`))??t?.[`service.version`],i={...t,...e?.attributes};return delete i[`service.name`],delete i[`service.version`],df({serviceName:n,serviceVersion:r,attributes:i})},Tn),pf=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},mf=e=>{let t=[];for(let[n,r]of e)t.push({key:n,value:hf(r)});return t},hf=e=>{if(Array.isArray(e))return{arrayValue:{values:e.map(hf)}};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:$t(e)}}},gf=class extends F()(`effect/observability/OtlpSerialization`){},_f=It(gf,{traces:e=>Fo(e),metrics:e=>Fo(e),logs:e=>Fo(e)}),vf=Vr(function*(e){let t=yield*ff(e.resource),n=yield*gf,r={name:pf(t)},i=yield*uf({label:`OtlpTracer`,url:e.url,headers:e.headers,exportInterval:e.exportInterval??$i(5),maxBatchSize:e.maxBatchSize??1e3,body(e){let i={resourceSpans:[{resource:t,scopeSpans:[{scope:r,spans:e}]}]};return[n.traces(i),jn]},shutdownTimeout:e.shutdownTimeout??$i(3)});function a(e){e.sampled&&i.push(Sf(e))}return Xr({span(e){return bf({...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})}),yf={_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)}},bf=e=>{let t=Object.assign(Object.create(yf),e);return t.traceId=sr(t.parent)?t.parent.value.traceId:xf(32),t.spanId=xf(16),t.events=[],t},xf=e=>{let t=``;for(let n=0;n<e;n++)t+=`0123456789abcdef`[Math.floor(Math.random()*16)];return t},Sf=e=>{let t=e.status,n=mf(e.attributes.entries()),r=e.events.map(([e,t,n])=>({name:e,timeUnixNano:String(t),attributes:n?mf(Object.entries(n)):[],droppedAttributesCount:0})),i;if(t.exit._tag===`Success`)i=Tf;else if(qi(t.exit.cause))i={code:Cf.Ok,message:`Interrupted`},n.push({key:`span.label`,value:{stringValue:`⚠︎ Interrupted`}},{key:`status.interrupted`,value:{boolValue:!0}});else{let e=yt(t.exit.cause,{includeCauseInStack:!0});if(i={code:Cf.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:Ji(e.parent,{onNone:()=>void 0,onSome:e=>e.spanId}),name:e.name,kind:wf[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:mf(Object.entries(e.attributes)),droppedAttributesCount:0})),droppedLinksCount:0}},Cf={Unset:0,Ok:1,Error:2},wf={unspecified:0,internal:1,server:2,client:3,producer:4,consumer:5},Tf={code:Cf.Ok};function Ef(){return typeof window>`u`?null:window.desktopBridge?.getAppBranding?.()??null}var Df=Ef(),Of=Df?.baseName??`Ryco`,kf=Df?.stageLabel??`Beta`,Af=Df?.displayName??`${Of} (${kf})`,jf=`0.1.22`,Mf=1e3,Nf={serviceName:`ryco-web`,attributes:{"service.runtime":`ryco-web`,"service.mode":h?`electron`:`browser`,"service.version":jf}},Pf=Vt(af,_f,lf,It(Os,()=>!0)),Ff=null,If=null,Lf=null,Rf=null,zf=0,Bf=Promise.resolve(),Vf=It(pn,Xr({span(e){return Ff?.span(e)??new St(e)}}));function Hf(e={}){return e.exportIntervalMs===void 0&&Rf!==null||(Bf=Bf.finally(()=>Uf(e))),Bf}async function Uf(e){let t=se(`/api/observability/v1/traces`),n=Math.max(10,e.exportIntervalMs??Mf),r=`${t}|${n}`;if(Rf===r&&Ff!==null)return;Rf=r;let i=++zf,a=If,o=Lf;Ff=null,If=null,Lf=null,await Wf(a,o);let s=te(Pf),c=s.runSync(xn());try{let e=await s.runPromise(Er(c)(vf({url:t,exportInterval:`${n} millis`,resource:Nf})));if(i!==zf){await Wf(s,c);return}Ff=e,If=s,Lf=c}catch(e){await Wf(s,c),i===zf&&console.warn(`Failed to configure client tracing exporter`,{error:Gf(e),otlpTracesUrl:t})}}async function Wf(e,t){e!==null&&t!==null&&await e.runPromise(Zn(t,fi)).catch(()=>void 0).finally(()=>{e.dispose()})}function Gf(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}var Kf={tracingLayer:Vf,performanceEnabled:()=>oa(),recordPerformance:(e,t,n)=>aa(e,t,n)},qf=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(Wn,Math.max(a,Math.max(0,Math.min(Wn,Math.round(e??0)))))}reset(){this.#o=0,this.#s=null}};function Jf(e,t){return Zf(e),Zf(t),e.epoch===t.epoch?e.counter===t.counter?0:e.counter<t.counter?-1:1:e.epoch<t.epoch?-1:1}function Yf(e,t){return Jf(e,t)===0}function Xf(e,t){if(Zf(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 Zf(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 Qf(e){let t=pa(e.epoch,e.counter);return{epochField:t.slice(0,4),counterField:t.slice(4)}}function $f(e){let t=0n;for(let n=0;n<e.byteLength;n+=1)t=t<<8n|BigInt(e[n]);return t}var ep=`ryco.relay-e2ee.close.v1`;function tp(e){return e===2||e===4}function np(e){let t=vp(e.innerType),n=yp(e.senderDirection),r=xp(e.sessionBindingHash),i=Qf(e.finalSend),a=Qf(e.expectedRecv);return Uint8Array.from(va([ep,t,n,r,i.epochField,i.counterField,a.epochField,a.counterField],no))}function rp(e){let t=_a(np(e));if(t.byteLength!==32)throw TypeError(`Relay E2EE close commitment must be E2EE_CLOSE_COMMITMENT_BYTES long.`);return t}var ip=5,ap=Object.freeze([4,8,4,8,32]);function op(e){let t=Qf(e.finalSend),n=Qf(e.expectedRecv);return Uint8Array.from(va([t.epochField,t.counterField,n.epochField,n.counterField,rp(e)],no))}function sp(e){let t=Ka(e);if(t.kind===`error`)return{kind:`error`,reason:t.reason};let n=t.value;if(!Array.isArray(n)||n.length!==ip)return{kind:`error`,reason:`shape`};for(let e=0;e<ip;e+=1){let t=n[e];if(!(t instanceof Uint8Array))return{kind:`error`,reason:`shape`};if(t.byteLength!==ap[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:$f(r[0]),counter:$f(r[1])},expectedRecv:{epoch:$f(r[2]),counter:$f(r[3])}}}}function cp(e){let t=vp(e.innerType),n=yp(e.senderDirection),r=xp(e.sessionBindingHash);Zf(e.envelope),Zf(e.currentNextSend);let i=sp(e.body);if(i.kind===`error`)return{kind:`invalid`,reason:`malformed_body`,decodeError:i.reason};let a=i.value,o=Qf(e.envelope);if(!la(a.finalSendEpochField,o.epochField)||!la(a.finalSendCounterField,o.counterField))return{kind:`invalid`,reason:`header_mismatch`};let s=rp({innerType:t,senderDirection:n,sessionBindingHash:r,finalSend:a.finalSend,expectedRecv:a.expectedRecv});if(!la(a.closeCommitment,s))return{kind:`invalid`,reason:`commitment_mismatch`};if(t===2)return Jf(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 Zf(c),Yf(a.expectedRecv,c)?{kind:`ok`,value:a}:{kind:`invalid`,reason:`strict_rule`}}var lp=Object.freeze({failed:3,unclean_truncation:2,unclean_abrupt:1,clean:0});function up(e){let t=lp[e];if(t===void 0)throw TypeError(`Relay E2EE close verdict must be one of the four §10.4 verdicts.`);return t}function dp(e,t){return up(t)>up(e)?t:e}function fp(e){return e===1||e===2||e===3}var pp=1;function mp(e){if(!fp(e))throw TypeError(`Relay E2EE error records carry a defined §11.3 error code.`);return Uint8Array.from(va([e],no))}function hp(e){if(!(e instanceof Uint8Array))return{kind:`error`,reason:`malformed`};if(e.byteLength>16)return{kind:`error`,reason:`oversized`};let t=Ka(e);if(t.kind===`error`)return{kind:`error`,reason:t.reason};let n=t.value;if(!Array.isArray(n)||n.length!==pp)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:fp(r)}}}var gp=2,_p=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(xp(e.sessionBindingHash)),this.#t=yp(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&&!Yf(Zf(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:Zf(n.sendPosition).epoch,counter:n.sendPosition.counter},i={epoch:Zf(n.expectedRecv).epoch,counter:n.expectedRecv.counter},a={innerType:e,body:op({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.`);bp(e.at);let n={epoch:e.epoch,counter:e.counter};if(!Yf(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=Xf(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(!ya(e.innerType))throw TypeError(`Relay E2EE inner record type must be a registered type.`);if(Zf(e.envelope),Zf(e.currentNextSend),bp(e.at),e.innerType===3){let t=hp(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=cp({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=Xf({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=cp({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>=gp)throw TypeError(`Relay E2EE close phase admits at most two T_CLOSE-bounded waits.`);bp(e),this.#h+=1,this.#g=e+Ga}#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:dp(this.#x,e)}};function vp(e){if(!tp(e))throw TypeError(`Relay E2EE close records are inner type 0x02 or 0x04 only.`);return e}function yp(e){if(!ga(e))throw TypeError(`Relay E2EE direction must be a registered direction label.`);return e}function bp(e){if(typeof e!=`number`||!Number.isFinite(e))throw TypeError(`Relay E2EE close machine requires a finite timestamp.`);return e}function xp(e){if(!(e instanceof Uint8Array)||e.byteLength!==32)throw TypeError(`Relay E2EE close records require a full-length session binding hash.`);return e}var Sp=/^[A-Za-z][A-Za-z0-9._-]{0,63}$/,Cp=64,wp=Symbol(`INVALID_PROFILE_VALUE`),Tp=new Set(Wt),Ep={allowIndefinite:!1,allowUndefined:!1,allowInfinity:!1,allowNaN:!1,allowBigInt:!1,strict:!0,useMaps:!0,rejectDuplicateMapKeys:!0,tags:{}},Dp=e=>({ok:!0,value:e}),z=(e,t)=>t===void 0?{ok:!1,error:{code:e}}:{ok:!1,error:{code:e,supported:t}};function Op(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 kp(e,t=0){if(t>Cp)return wp;if(e===null||typeof e==`boolean`||typeof e==`string`)return e;if(typeof e==`number`)return Number.isSafeInteger(e)?e:wp;if(e instanceof Uint8Array)return e;if(Array.isArray(e)){let n=[];for(let r of e){let e=kp(r,t+1);if(e===wp)return wp;n.push(e)}return n}if(e instanceof Map){let n=Object.create(null);for(let[r,i]of e){if(typeof r!=`string`||!Sp.test(r))return wp;let e=kp(i,t+1);if(e===wp)return wp;n[r]=e}return n}return wp}function Ap(e){let t;try{t=ma(e,Ep)}catch{return z(`invalid_encoding`)}if(!(t instanceof Map))return z(`invalid_encoding`);let n;try{n=va(t,no)}catch{return z(`invalid_encoding`)}if(!Op(e,n))return z(`invalid_encoding`);let r=kp(t);return r===wp||r===null||Array.isArray(r)?z(`invalid_encoding`):Dp(r)}function jp(e,t){let n=yr(tr)({protocolMajor:e.protocolMajor,protocolMinor:e.protocolMinor});return Pi(n)?z(`invalid_frame`):n.value.protocolMajor===1?t!==void 0&&(n.value.protocolMajor!==t.protocolMajor||n.value.protocolMinor!==t.protocolMinor)?z(`invalid_frame`):Dp(n.value):z(`protocol_unsupported`,Rn)}function Mp(e,t={}){if(e.byteLength>263168)return z(`frame_too_large`);let n=Ap(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 z(`frame_too_large`);let i=jp(r,t.expectedVersion);if(!i.ok)return i;if(!(`type`in r))return z(`missing_discriminant`);if(typeof r.type!=`string`)return z(`invalid_frame`);if(!Tp.has(r.type))return z(`unknown_frame_type`);let a=yr(yi)(r);return Pi(a)?z(r.type===`ready`?`invalid_limits`:`invalid_frame`):Dp(a.value)}function Np(e){if(typeof e==`object`&&e&&`type`in e&&e.type===`data`&&`payload`in e&&e.payload instanceof Uint8Array&&e.payload.byteLength>262144)return z(`frame_too_large`);let t=yr(yi)(e);if(Pi(t))return z((typeof e==`object`&&e&&`type`in e?e.type:void 0)===`ready`?`invalid_limits`:`invalid_frame`);if(t.value.protocolMajor!==1)return z(`protocol_unsupported`,Rn);let n;try{n=va(t.value,no)}catch{return z(`invalid_frame`)}let r=t.value.type===`data`?na:tn;return n.byteLength<=r?Dp(n):z(`frame_too_large`)}var Pp={protocolMajor:1,protocolMinor:3},Fp=1,Ip=32,Lp=ja+so.byteLength+Ip;function Rp(e){let t=0;for(let n of e)t+=n+Ip;return t}var zp=`Relay E2EE negotiation send buffer is full.`,Bp=`Relay E2EE send is unavailable.`,Vp=`RPC payload exceeds the maximum relay message size.`,Hp=`Relay peer does not support multi-frame RPC messages.`,Up=`Relay send queue is full.`,Wp={fatal_pre_key:`channel_rejected`,fatal_post_key:`channel_rejected`,send_path_unusable:`channel_rejected`};function B(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 Gp(e){return B(Wp[e])}function Kp(){return{kind:`protocol`,retryable:!0,closeReason:`channel_rejected`}}var qp=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=Za(e.ticket);try{let e=Np({type:`auth`,peer:`client`,...Pp,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(B(`network`))})}#A=new za;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(Gp(`send_path_unusable`));let n;try{n=t.submit(e)}catch(e){throw this.#U(Gp(`fatal_post_key`)),e}if(!n)throw Error(Bp)}#M(e){let t=to(e,this.#K(this.#e));if(t.kind===`error`)throw e.fill(0),this.#ne(B(`transfer_limit`)),Error(t.reason===`peer_unsupported`?Hp:Vp);for(let e of t.payloads)this.#Q(Uint8Array.from(e))}#N(e,t){if(e.byteLength>La(t).plaintextCeiling)throw Error(Vp);let n=Va(e.byteLength,this.#K(t));if(n.kind===`error`)throw Error(n.reason===`peer_unsupported`?Hp:Vp);let r=Va(32+e.byteLength,this.#K(t));if(r.kind===`error`)throw Error(r.reason===`peer_unsupported`?Hp:Vp);let i=Math.max(Rp(n.payloadBytes),Rp(r.payloadBytes)),a=Math.max(0,Ya(t)-Lp);if(this.bufferedAmount+i>a)throw Error(zp);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(Gp(`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(B(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(B(`authentication_timeout`)),Nt);try{this.options.socket.send(e)}catch{this.#ne(B(`network`))}finally{e.fill(0)}}#L(e){if(e.byteLength>263168)return this.#ne(B(`frame_too_large`));let t=Uint8Array.from(e),n=Mp(t,this.#t===null?{}:{expectedVersion:this.#t});if(t.fill(0),!n.ok)return this.#ne(B(`protocol_invalid`));let r=n.value,i=r.type===`data`?(this.#e?.maxDataChunkBytes??262144)+_t:this.#e?.maxControlFrameBytes??262144;if(e.byteLength>i)return this.#ne(B(`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=B(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(B(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(B(`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(B(`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(B(r.reason??`channel_rejected`)):this.#ne(B(`channel_rejected`));if(r.type===`e2ee.enrollment-revoked`)return this.#ne(B(`revoked`));if(r.type===`flow.pause`||r.type===`flow.resume`){if(r.channelId!==this.#n)return this.#ne(B(`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(Gp(`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(Gp(`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=Rp(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=to(e,this.#K(t));if(n.kind===`error`)return!1;for(let e of n.payloads){let t=Uint8Array.from(e),n=t.byteLength+Ip;this.#l.push({bytes:t,reservedBytes:n}),this.#u+=n}return this.#$(),!0}#K(e){return{maxChunkBytes:e.maxDataChunkBytes,maxMessageBytes:Math.min(Bt,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(B(`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(B(`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(B(`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(Gp(`fatal_post_key`))}};this.#D=this.#D.then(n,n)}#Q(e){let t=this.#e,n=e.byteLength+Ip;if(this.bufferedAmount+n>t.maxQueuedBytes-t.maxControlFrameBytes)throw e.fill(0),this.#ne(B(`slow_consumer`)),Error(Up);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(B(`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!==Fp)return;let t=Np(e);if(!t.ok||t.value.byteLength>(e.type===`data`?263168:262144))return this.#ne(B(`protocol_invalid`));try{this.options.socket.send(t.value)}catch{this.#ne(B(`network`))}finally{t.value.fill(0)}}#te(){return this.#t??Pp}#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)}},Jp=`c2n`,Yp=Object.freeze({kind:`rejected`}),Xp=Object.freeze({kind:`claimed`}),Zp={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 Qp(e){let t=e.host,n=()=>t.now(),r=e.onDiagnostic??(()=>void 0),i=La(t.limits),a=new da({secrets:e.secrets,suite:e.suite,sessionBindingHash:e.sessionBindingHash,sendDirection:Jp,plaintextCeiling:i.establishable?i.plaintextCeiling:0,...e.testOnlySyntheticSendState===void 0?{}:{testOnlySyntheticSendState:e.testOnlySyntheticSendState},...e.testOnlySyntheticReceiveState===void 0?{}:{testOnlySyntheticReceiveState:e.testOnlySyntheticReceiveState}}),o=new _p({sessionBindingHash:e.sessionBindingHash,sendDirection:Jp}),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 Yp;s=!0;let i=o.noteFatal();return await g(async()=>{!a.sendPathUsable||!o.mayProtectTerminalError||(await _(3,mp(n))).kind===`protected`&&o.noteTerminalErrorTransmitted()}),m(),r({phase:`post_key`,row:e,verdict:i}),t.close(Gp(`fatal_post_key`)),Yp}function y(e){if(s)return;s=!0;let n=o.noteFatal();m(),r({phase:`post_key`,row:`Q10`,verdict:n}),t.close(Gp(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 ee(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 te(){for(;o.pendingRecord!==void 0;){let e=await ee(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 ne(){if(s||o.closePhaseActive)return`opened`;d=!1;let e=new Promise(e=>{l=e}),t=await ee(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 T(e,n,i){let a=b();if(a===void 0)return S(),Xp;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 te(),Xp;case`terminal_error`:return s||(s=!0,m(),r({phase:`post_key`,row:`local`,verdict:o.verdict}),t.close(Gp(`fatal_post_key`))),Yp;case`fatal`:return v(c.row,1)}}async function E(e){if(s)return Yp;if(ba(e).kind!==`envelope`)return v(`Q6`,1);let t=a.unprotect(e);return t.kind===`fatal`?v(Zp[t.reason],1):T(t.innerType,t.body,{epoch:t.epoch,counter:t.counter,epochCompleted:t.epochCompleted,at:n()})}function D(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`){ne().catch(()=>y(`fatal_post_key`));return}e.kind===`unusable`&&y(`send_path_unusable`)}catch{y(`fatal_post_key`)}finally{p(c)}}),!0}return{intercept:E,submit:D,beginClose:ne,dispose:(e={})=>{o.noteChannelEnded({at:n(),...e.incompleteReassembly===void 0?{}:{incompleteReassembly:e.incompleteReassembly}}),s=!0,m()},verdict:()=>o.verdict,sendPosition:b,expectedRecv:x}}var $p=`ryco.relay-e2ee.web-sas.v1`,em=`node`;function tm(e){return Uint8Array.from(va(e,no))}function nm(e){let t=Aa(e.nodeIdentityPublicKey),n=Oa(e.webEphemeralPublicKey);return tm([$p,em,uo,t,`web`,Ta,n])}function rm(e){(!(e.sessionBindingHash instanceof Uint8Array)||e.sessionBindingHash.byteLength!==32)&&ha();let t=nm(e),n=ca(_a,t,e.sessionBindingHash),r=qa(_a,n,Ma($p),5);return{input:t,prk:n,output:r,display:im(r)}}function im(e){(!(e instanceof Uint8Array)||e.byteLength!==5||e.byteLength*8!=ao.chars*5||ao.chars!==ao.groups*ao.charsPerGroup)&&ha();let t=``,n=0,r=0;for(let i of e)for(n=n<<8|i,r+=8;r>=5;)r-=5,t+=wa[n>>r&31];let i=[];for(let e=0;e<t.length;e+=ao.charsPerGroup)i.push(t.slice(e,e+ao.charsPerGroup));return i.join(ao.separator)}var V=Object.freeze({kind:`rejected`}),am=Object.freeze({kind:`claimed`});function om(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:ka(t)}:{}}}function sm(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`?V:(a=`closed`,v(),c?.destroy(),c=void 0,y(),i({phase:`pre_key`,row:e}),t.close(Gp(`fatal_pre_key`)),V)}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(!La(t.limits).establishable)return Sa(e.secrets),b(`P14`);try{u=Qp({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),am}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=rm({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()}},ro);function ee(){m=t.setTimeout(()=>{m=void 0,!(a!==`negotiating`||!o)&&b(`P20`)},$a)}async function te(e){if(s)return b(`P4`);s=!0;let c=e===void 0?void 0:Da({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()+io,!await ne(c,!0)||a!==`negotiating`||o)return a===`closed`?V:am}else if(c!==void 0&&(!await ne(c,!1)||a!==`negotiating`||o))return a===`closed`?V:am;return c===void 0||c.kind!==`verified`?n.selectionClass===`latched`?b(`P15`):(i({phase:`pre_key`,row:`K3`}),am):T(e,c.statement,c.anchor,c.selectedSuite,l??r()+3e3)}function ne(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)},io));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 T(e,t,r,i,s){if(a!==`negotiating`||o)return V;let c=n.credentials;return c.tier===`native`&&!(`agreementSecretKey`in c)?n.nativeHandshake===void 0?D(t,e,r,i,c,s):E(e,i,s):re(t,e,r,i,c)}function E(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=()=>_(V),_=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`),_(V),f;p=t.setTimeout(()=>{p=void 0,a===`negotiating`&&!o&&b(`local`),_(V)},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`),_(V),f}return y.then(e=>{if(e.kind===`fatal`){a===`negotiating`&&b(e.result.row),_(V);return}if(m||a!==`negotiating`||o){Promise.resolve(c.destroy(e.handle)).catch(()=>void 0),_(V);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`),_(V);return}l=e.handle,o=!0,d!==void 0&&t.clearTimeout(d),d=void 0,ee(),_(am)},()=>{a===`negotiating`&&b(`local`),_(V)}),f}function D(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(V),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(V),m;p=t.setTimeout(()=>{p=void 0,a===`negotiating`&&!o&&b(`local`),v(V)},y);let x;try{x=d(t=>h||a!==`negotiating`||o?V:re(e,i,s,c,{...l,agreementSecretKey:t}))}catch{return b(`local`),v(V),m}return Promise.resolve(x).then(e=>{if(!h&&a===`negotiating`&&!o){b(`local`),v(V);return}v(e)},()=>{a===`negotiating`&&b(`local`),v(V)}),m}function re(e,i,s,l,u){if(a!==`negotiating`||o)return V;let f=new fa({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:om(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,ee(),am)}function ie(e){let t=Ca(e);return t.kind===`error`?b(`P3`):t.value.recordType===2?!o||c===void 0&&l===void 0?b(`P16`):ae(e):t.value.recordType===3?b(o?`P17`:`P3`):b(`P3`)}function O(e){return e.kind===`fatal`?b(e.row):n.pairingOnly||S()?(Sa(e.secrets),b(`P21`)):C({secrets:e.secrets,suite:e.suite,sessionBindingHash:e.sessionBindingHash,webEphemeralPublicKey:e.webEphemeralPublicKey})}function ae(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`?O(e):(e.kind===`established`&&Sa(e.secrets),V),()=>a===`negotiating`?b(`local`):V))}return O(c.receiveServerAccept(e,r()))}async function oe(e){switch(ba(e).kind){case`legacy-json`:{let t=xa(e);return t.kind===`ok`?te(t.value):t.reason===`malformed`?te(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 se(e){switch(ba(e).kind){case`legacy-json`:{let t=xa(e);return t.kind===`ok`||t.reason===`malformed`?(i({phase:`pre_key`,row:`K20`}),am):{kind:`rpc`,message:e}}case`envelope`:return b(`P5`);case`negotiation`:return b(`P24`);case`other`:return b(`P6`)}}async function ce(e){switch(a){case`negotiating`:return oe(e);case`legacy`:return se(e);case`e2ee`:return u===void 0?V:u.intercept(e);case`closed`:return V}}return{intercept:ce,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 cm=class extends Error{failure;constructor(e){super(`Hosted relay preparation failed.`),this.name=`HostedRelayPreparationError`,this.failure=e}},lm=new Set([mt.subscribeShell,mt.subscribeThread,mt.subscribeThreadWindow,Oi.subscribeServerConfig,Oi.subscribeServerLifecycle,Oi.subscribeTerminalEvents,Oi.subscribeVcsStatus]),um=new Set([...lm,Oi.subscribeAuthAccess]);function dm(e,t){return co(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`)&&lm.has(t.tag):!1}function fm(e){return dm(I.getState(),e)}function pm(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 mm(){return{nodeId:()=>I.getState().selectedNode?.id??null,generation:()=>I.getState().generation,isAuthenticated:()=>I.getState().accountStatus===`authenticated`,isCurrent:e=>I.getState().generation===e,prepareSocketContext:()=>Xa().prepareRelaySocketContext?.()??Promise.resolve(void 0),issueRelayAttempt:async e=>{let t=Xa().issueRelayAttempt;if(t)return t(e);let n=await eo().issueRelayTicket(e.nodeId);return{ticket:n.ticket,expiresAt:n.expiresAt,preparedSocketContext:e.preparedSocketContext}},disposeSocketContext:e=>Xa().disposeRelaySocketContext?.(e),authorizeRequest:fm,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)=>Qa.transportStatus(e,t),sessionStatus:(e,t)=>Qa.sessionStatus(e,t),role:(e,t)=>Qa.role(e,t),failure:(e,t)=>Qa.failure(e,t),markDeliveryUnknown:e=>Qa.markDeliveryUnknown(e),connectionClosed:e=>Qa.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`&&Xa().timers.queueMicrotask(()=>{let n=I.getState();n.generation===e&&n.selectedNode?.id===t.selectedNode?.id&&Qa.retrySelectedNode()})}}}var hm=class{#e;#t=new qf;#n=new Map;#r=null;#i;#a=null;#o=0;#s=null;#c=null;#l=!1;constructor(e=mm()){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 eo().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?.()??Xa().relayUrl()}catch(e){if(this.#u(n),e instanceof Na&&e.status===401)Qa.expireSession();else if(e instanceof cm)this.#i=e.failure.retryAfterMs,this.#e.failure(t,e.failure);else if(e instanceof Na){let n=pm(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<=Xa().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}):Xa().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&&um.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)}},gm=null;function _m(){return gm??=new hm,gm}function vm(){return gm?.hasPendingRequests()??!1}function ym(){gm?.reset(),gm=null}function bm(e){return e===`platform`||e===`cross-platform`?e:void 0}function xm(e){return e.filter(e=>lo.has(e))}function Sm(e){if(!(e instanceof PublicKeyCredential))throw Error(`Passkey ceremony was cancelled.`);return e}async function Cm(e,t){let n=typeof e==`object`&&e&&`challenge`in e&&e.challenge instanceof Uint8Array?e:Ea(e),r=Sm(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:Wa(r.rawId),response:{clientDataJSON:Wa(i.clientDataJSON),authenticatorData:Wa(i.authenticatorData),signature:Wa(i.signature),...i.userHandle?{userHandle:Wa(i.userHandle)}:{}},type:`public-key`,clientExtensionResults:r.getClientExtensionResults(),...bm(r.authenticatorAttachment)?{authenticatorAttachment:bm(r.authenticatorAttachment)}:{}}}async function wm(e,t){let n=typeof e==`object`&&e&&`challenge`in e&&e.challenge instanceof Uint8Array?e:ua(e),r=Sm(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:Wa(r.rawId),response:{clientDataJSON:Wa(i.clientDataJSON),attestationObject:Wa(i.attestationObject),...c?{transports:xm(c)}:{},...s===void 0?{}:{publicKeyAlgorithm:s},...a?{publicKey:Wa(a)}:{},...o?{authenticatorData:Wa(o)}:{}},type:`public-key`,clientExtensionResults:r.getClientExtensionResults(),...bm(r.authenticatorAttachment)?{authenticatorAttachment:bm(r.authenticatorAttachment)}:{}}}var Tm={authenticate:(e,t)=>Cm(e,t),register:(e,t)=>wm(e,t)};function Em(e){return e}var Dm={get:e=>kh().persistence.getSavedEnvironmentSecret(Em(e)),set:(e,t)=>kh().persistence.setSavedEnvironmentSecret(Em(e),t),remove:e=>kh().persistence.removeSavedEnvironmentSecret(Em(e))},Om={webSocketConstructor:(e,t)=>{let n=typeof t==`string`||t===void 0?t:Array.from(t);return new globalThis.WebSocket(e,n)}};function km(){v(fd)}function Am(){return al(pe)}function jm(){return al(ue)}function Mm(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 Nm(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&&Mm(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(()=>{Mm(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 Pm=0,Fm=0,Im=null,Lm=new Set;function Rm(){for(let e of Lm)e()}function zm(){return Pm>0}function Bm(){return Pm+=1,()=>{--Pm,Pm===0&&Im&&Wm(Im.id,null)}}function Vm(e){return Lm.add(e),()=>{Lm.delete(e)}}function Hm(){return Im}function Um(e){return new Promise(t=>{Im?.resolve(null),Fm+=1,Im={id:Fm,items:e,resolve:t},Rm()})}function Wm(e,t){if(!Im||Im.id!==e)return;let n=Im;Im=null,Rm(),n.resolve(t)}var Gm=6048e5;function Km(e){return new Date(e+Gm).toISOString()}function qm(e){if(!e)return null;let t=Date.parse(e);return Number.isFinite(t)?t:null}function Jm(e){if(!e.token||e.token.trim().length===0)return!1;let t=qm(e.expiresAt);return e.expiresAt!==void 0&&t===null?!1:t===null||t>e.nowMs}var Ym=(()=>{if(typeof window<`u`&&!y())return window.localStorage;let e=new Map;return{clear:()=>e.clear(),getItem:t=>e.get(t)??null,key:t=>w(e).at(t)??null,get length(){return e.size},removeItem:t=>e.delete(t),setItem:(t,n)=>e.set(t,n)}})(),Xm=(e,t)=>ur(di(e))(t),Zm=(e,t)=>Mr(di(e))(t),Qm=(e,t)=>{let n=Ym.getItem(e);return n?Xm(t,n):null},$m=(e,t,n)=>{let r=Zm(n,t);Ym.setItem(e,r)},eh=e=>{Ym.removeItem(e)},th=`ryco:local_storage_change`;function nh(e){typeof window>`u`||window.dispatchEvent(new CustomEvent(th,{detail:{key:e}}))}function rh(e,t,n){let[r,i]=(0,L.useState)(()=>{try{return Qm(e,n)??t}catch(e){return console.error(`[LOCALSTORAGE] Error:`,e),t}}),a=(0,L.useCallback)(t=>{try{i(r=>{let i=typeof t==`function`?t(r):t;return i===null?eh(e):$m(e,i,n),queueMicrotask(()=>nh(e)),i})}catch(e){console.error(`[LOCALSTORAGE] Error:`,e)}},[e,n]),o=(0,L.useRef)(e);return(0,L.useEffect)(()=>{if(o.current!==e){o.current=e;try{let r=Qm(e,n);i(r??t)}catch(e){console.error(`[LOCALSTORAGE] Error:`,e)}}},[e,t,n]),(0,L.useEffect)(()=>{let r=()=>{try{let r=Qm(e,n);i(r??t)}catch(e){console.error(`[LOCALSTORAGE] Error:`,e)}},a=t=>{t.key===e&&r()},o=t=>{t.detail.key===e&&r()};return window.addEventListener(`storage`,a),window.addEventListener(th,o),()=>{window.removeEventListener(`storage`,a),window.removeEventListener(th,o)}},[e,t,n]),[r,a]}var ih=`ryco:client-settings:v1`,ah=`ryco:saved-environment-registry:v1`,oh=A({environmentId:bn,label:M,httpBaseUrl:M,wsBaseUrl:M,createdAt:M,lastConnectedAt:_i(M),desktopSsh:j(A({alias:M,hostname:M,username:_i(M),port:_i(qt)})),bearerToken:j(M),bearerTokenSavedAt:j(M),bearerTokenExpiresAt:j(M)}),sh=A({version:j(qt),records:j(Cn(oh))});function ch(){return typeof window<`u`}function lh(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 uh(e,t){return Jm({token:e.bearerToken,expiresAt:e.bearerTokenExpiresAt,nowMs:t})}function dh(e,t){return e.bearerToken?{...e,bearerTokenSavedAt:e.bearerTokenSavedAt??new Date(t).toISOString(),bearerTokenExpiresAt:e.bearerTokenExpiresAt??Km(t)}:e}function fh(e){return lh(e)}function ph(){if(!ch())return null;try{return Qm(ih,Fr)}catch{return null}}function mh(e){ch()&&$m(ih,e,Fr)}function hh(){if(!ch())return{};try{return Qm(`ryco:saved-environment-registry:v1`,sh)??{}}catch{return{}}}function gh(e){ch()&&$m(ah,e,sh)}function _h(){return hh().records??[]}function vh(e){gh({version:1,records:e})}function yh(){return _h().map(e=>lh(e))}function bh(e){let t=Date.now(),n=new Map(_h().map(e=>[e.environmentId,e]));vh(e.map(e=>{let r=n.get(e.environmentId);if(!r||!uh(r,t))return lh(e);let i=dh(r,t),a=i.bearerToken;if(!a)return lh(e);let o=i.bearerTokenSavedAt??new Date(t).toISOString(),s=i.bearerTokenExpiresAt??Km(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 xh(e){let t=hh(),n=t.records??[],r=n.find(t=>t.environmentId===e);if(!r?.bearerToken)return null;let i=Date.now();if(!uh(r,i))return Ch(e),null;let a=dh(r,i);return(a.bearerTokenSavedAt!==r.bearerTokenSavedAt||a.bearerTokenExpiresAt!==r.bearerTokenExpiresAt)&&gh({version:t.version??1,records:n.map(t=>t.environmentId===e?a:t)}),r.bearerToken}function Sh(e,t){let n=t.trim();if(n.length===0)return Ch(e),!1;let r=hh(),i=r.records??[],a=!1,o=Date.now();return gh({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:Km(o)};return t.desktopSsh?Object.assign(r,{desktopSsh:t.desktopSsh}):r})}),a}function Ch(e){let t=hh();gh({version:t.version??1,records:(t.records??[]).map(t=>t.environmentId===e?fh(t):t)})}var wh;function Th(){return Error(`Local backend API is unavailable before a backend is paired.`)}function H(e,t){let n=e();return n?t(n):Promise.reject(Th())}function Eh(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)=>H(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):fo()===`phone`&&zm()?Um(e):Nm(e,t)},persistence:{getClientSettings:async()=>window.desktopBridge?window.desktopBridge.getClientSettings():ph(),setClientSettings:async e=>{if(window.desktopBridge)return window.desktopBridge.setClientSettings(e);mh(e)},getSavedEnvironmentRegistry:async()=>window.desktopBridge?window.desktopBridge.getSavedEnvironmentRegistry():yh(),setSavedEnvironmentRegistry:async e=>{if(window.desktopBridge)return window.desktopBridge.setSavedEnvironmentRegistry(e);bh(e)},getSavedEnvironmentSecret:async e=>window.desktopBridge?window.desktopBridge.getSavedEnvironmentSecret(e):xh(e),setSavedEnvironmentSecret:async(e,t)=>window.desktopBridge?window.desktopBridge.setSavedEnvironmentSecret(e,t):Sh(e,t),removeSavedEnvironmentSecret:async e=>{if(window.desktopBridge)return window.desktopBridge.removeSavedEnvironmentSecret(e);Ch(e)}},server:{getConfig:()=>H(n,e=>e.server.getConfig()),getAdvertisedEndpoints:()=>H(n,e=>e.server.getAdvertisedEndpoints()),getDiagnosticsMetrics:()=>H(n,e=>e.server.getDiagnosticsMetrics()),getStatistics:()=>H(n,e=>e.server.getStatistics()),getUsageSummary:e=>H(n,t=>t.server.getUsageSummary(e)),refreshProviders:()=>H(n,e=>e.server.refreshProviders()),updateProvider:e=>H(n,t=>t.server.updateProvider(e)),upsertKeybinding:e=>H(n,t=>t.server.upsertKeybinding(e)),getSettings:()=>H(n,e=>e.server.getSettings()),updateSettings:e=>H(n,t=>t.server.updateSettings(e)),getResourceTelemetryHistory:e=>H(n,t=>t.server.getResourceTelemetryHistory(e)),retryResourceTelemetry:()=>H(n,e=>e.server.retryResourceTelemetry()),signalDiagnosticProcess:e=>H(n,t=>t.server.signalDiagnosticProcess(e)),getDiagnosticsSnapshot:()=>H(n,e=>e.server.getDiagnosticsSnapshot()),discoverSourceControl:()=>H(n,e=>e.server.discoverSourceControl()),listOpinionatedPlugins:()=>H(n,e=>e.server.listOpinionatedPlugins()),checkOpinionatedPlugins:e=>H(n,t=>t.server.checkOpinionatedPlugins(e)),installOpinionatedPlugin:e=>H(n,t=>t.server.installOpinionatedPlugin(e))},keybindings:{replaceCustom:e=>H(n,t=>t.keybindings.replaceCustom(e))},...t?.includeMcp??e!==void 0?{mcp:{listWorkspaces:()=>H(n,e=>e.mcp.listWorkspaces()),listServers:e=>H(n,t=>t.mcp.listServers(e)),upsertServer:e=>H(n,t=>t.mcp.upsertServer(e)),setServerEnabled:e=>H(n,t=>t.mcp.setServerEnabled(e)),removeServer:e=>H(n,t=>t.mcp.removeServer(e)),reloadServers:e=>H(n,t=>t.mcp.reloadServers(e)),startOauthLogin:e=>H(n,t=>t.mcp.startOauthLogin(e))}}:{}}}function Dh(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 Oh(){if(!(typeof window>`u`))return wh||(window.nativeApi?(wh=Dh(Eh(),window.nativeApi),wh):(wh=Eh(()=>{let e=Ve();if(!e)return;let t=e.environmentId?sP(e.environmentId)?.client:void 0;return t||y()?t:uP().client},{includeMcp:Ve()!==null}),wh))}function kh(){let e=Oh();if(!e)throw Error(`Local API not found`);return e}function Ah(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 jh=Pe({kv:{getRegistry:()=>kh().persistence.getSavedEnvironmentRegistry(),setRegistry:e=>kh().persistence.setSavedEnvironmentRegistry(e.map(e=>S(e)))},secretKV:Dm}),Mh=Ah(jh.registryStore),U=Ah(jh.runtimeStore),Nh=jh.hasHydrated,Ph=jh.waitForHydration,Fh=jh.list,Ih=jh.get,Lh=jh.persistRecord,Rh=jh.readBearerToken,zh=jh.writeBearerToken,Bh=jh.removeBearerToken;jh.resetForTests,jh.resetRuntimeForTests,jh.getRuntime;function Vh(e){if(y())return null;let t=Ve();return t?.environmentId===e?Ie(t):Ih(e)?.httpBaseUrl??null}function Hh(e){let t=Vh(e.environmentId);if(!t)throw Error(`Unable to resolve HTTP base URL for environment ${e.environmentId}.`);let n=new URL(ae(t));return n.pathname=e.pathname,e.searchParams&&(n.search=new URLSearchParams(e.searchParams).toString()),n.toString()}var Uh=3e4;function Wh(e,t){let n=Date.parse(e);return Number.isFinite(n)?t<n-Uh:!1}function Gh(e){let t=e?.fileAttachments?.maxUploadBytes;return typeof t!=`number`||!Number.isFinite(t)||t<=0?null:Math.min(t,Pt)}function Kh(e,t){let n=t?.nowMs??(()=>Date.now()),r=new Map,i=[],a=0,o=new Set,s=null;function c(){for(let e of o)e()}function l(e){r.set(e.attachmentId,e),s=null,c()}function u(){return s||=new Map(r),s}async function d(){if(a>0)return;let t=i.shift();if(!t)return;let n=r.get(t);if(!n){d();return}let o=n,s=()=>r.get(t)===o,c=e=>{s()&&(o=e,l(e))};a+=1;try{if(n.status.kind===`needsReattach`||n.status.kind===`uploaded`)return;c({...n,status:{kind:`uploading`,progress:0}});let t,i;try{let r=await e.createFileUploadUrl({environmentId:n.environmentId,threadId:n.threadId,name:n.name,mimeType:n.mimeType,sizeBytes:n.sizeBytes});t=r.uploadToken,i=r.expiresAt}catch(e){c({...n,status:{kind:`failed`,retryable:!0,message:e instanceof Error?e.message:`Could not start the upload.`}});return}try{if(!s())return;let a=await n.readBytes();if(!s())return;let o=await e.transferBytes({environmentId:n.environmentId,uploadToken:t,bytes:a,onProgress:e=>{let t=r.get(n.attachmentId);!s()||!t||t.status.kind!==`uploading`||c({...t,status:{kind:`uploading`,progress:e}})}}),l=o.sizeBytes!==void 0&&Number.isFinite(o.sizeBytes)&&o.sizeBytes>=0?o.sizeBytes:n.sizeBytes;c({...n,sizeBytes:l,status:{kind:`uploaded`,uploadToken:t,expiresAt:i}})}catch(e){c({...n,status:{kind:`failed`,retryable:!0,message:e instanceof Error?e.message:`The upload failed.`}})}}finally{--a,d()}}return{get:e=>r.get(e)??null,snapshot:()=>u(),subscribe:e=>(o.add(e),()=>{o.delete(e)}),enqueue:e=>{l({...e,status:{kind:`pending`}}),i.includes(e.attachmentId)||i.push(e.attachmentId),d()},retry:e=>{let t=r.get(e);!t||t.status.kind!==`failed`||!t.status.retryable||(l({...t,status:{kind:`pending`}}),i.includes(e)||i.push(e),d())},seedUploaded:e=>{let t={attachmentId:e.attachmentId,threadId:e.threadId,environmentId:e.environmentId,name:e.name,mimeType:e.mimeType,sizeBytes:e.sizeBytes,readBytes:()=>{throw Error(`Uploaded attachments do not keep local bytes.`)},status:{kind:`uploaded`,uploadToken:e.uploadToken,expiresAt:e.expiresAt}};if(!Wh(e.expiresAt,n())){l({...t,status:{kind:`needsReattach`,message:`The upload token expired.`}});return}l(t)},seedNeedsReattach:e=>{let t=r.get(e);t?.status.kind!==`uploaded`&&l({attachmentId:e,threadId:``,environmentId:``,name:t?.name??``,mimeType:t?.mimeType??``,sizeBytes:t?.sizeBytes??0,readBytes:()=>{throw Error(`Unattached attachments do not keep local bytes.`)},status:{kind:`needsReattach`,message:`The upload did not finish.`}})},verifyUsable:(e,t)=>{let n=r.get(e);return!n||n.status.kind!==`uploaded`?!1:Wh(n.status.expiresAt,t)?!0:(l({...n,status:{kind:`needsReattach`,message:`The upload token expired.`}}),!1)},release:e=>{if(!r.delete(e))return;let t=i.indexOf(e);t!==-1&&i.splice(t,1),s=null,c()},releaseAll:()=>{r.size!==0&&(r.clear(),i.length=0,s=null,c())}}}var qh=`full-access`,Jh=`default`,Yh=`balanced`,Xh=`default`;function Zh(e){return e.type===`image`}function Qh(e){return e.type===`file`}var $h=/\n*<terminal_context>\n([\s\S]*?)\n<\/terminal_context>\s*$/;function eg(e){return e.replace(/\r\n/g,`
|
|
2
|
-
`).replace(/^\n+|\n+$/g,``)}function tg(e){return eg(e.text).length>0}function ng(e){return!tg(e)}function rg(e){return e.filter(e=>tg(e))}function ig(e){let t=eg(e.text),n=e.terminalId.trim(),r=e.terminalLabel.trim();if(t.length===0||n.length===0||r.length===0)return null;let i=Math.max(1,Math.floor(e.lineStart));return{terminalId:n,terminalLabel:r,lineStart:i,lineEnd:Math.max(i,Math.floor(e.lineEnd)),text:t}}function ag(e){return e.lineStart===e.lineEnd?`line ${e.lineStart}`:`lines ${e.lineStart}-${e.lineEnd}`}function og(e){return`${e.terminalLabel} ${ag(e)}`}function sg(e){return`@${e.terminalLabel.trim().toLowerCase().replace(/\s+/g,`-`)}:${e.lineStart===e.lineEnd?`${e.lineStart}`:`${e.lineStart}-${e.lineEnd}`}`}function cg(e){return eg(e.text).split(`
|
|
3
|
-
`).map((t,n)=>` ${e.lineStart+n} | ${t}`)}function lg(e){let t=e.map(e=>ig(e)).filter(e=>e!==null);if(t.length===0)return``;let n=[];for(let e=0;e<t.length;e+=1){let r=t[e];n.push(`- ${og(r)}:`),n.push(...cg(r)),e<t.length-1&&n.push(``)}return[`<terminal_context>`,...n,`</terminal_context>`].join(`
|
|
4
|
-
`)}function ug(e,t){let n=0,r=``;for(let i of e){if(i!==``){r+=i;continue}let e=t[n]??null;n+=1,e&&(r+=sg(e))}return r}function dg(e,t){let n=ug(e,t).trim(),r=lg(t);return r.length===0?n:n.length>0?`${n}\n\n${r}`:r}function fg(e){let t=$h.exec(e);if(!t)return{promptText:e,contextCount:0,previewTitle:null,contexts:[]};let n=e.slice(0,t.index).replace(/\n+$/,``),r=mg(t[1]??``);return{promptText:n,contextCount:r.length,previewTitle:r.length>0?r.map(({header:e,body:t})=>t.length>0?`${e}\n${t}`:e).join(`
|
|
5
|
-
|
|
6
|
-
`):null,contexts:r}}function pg(e){let t=fg(e);return{visibleText:t.promptText,copyText:e,contextCount:t.contextCount,previewTitle:t.previewTitle,contexts:t.contexts}}function mg(e){let t=[],n=null,r=()=>{n&&=(t.push({header:n.header,body:n.bodyLines.join(`
|
|
7
|
-
`).trimEnd()}),null)};for(let t of e.split(`
|
|
8
|
-
`)){let e=/^- (.+):$/.exec(t);if(e){r(),n={header:e[1],bodyLines:[]};continue}if(n){if(t.startsWith(` `)){n.bodyLines.push(t.slice(2));continue}t.length===0&&n.bodyLines.push(``)}}return r(),t}function hg(e){let t=0;for(let n of e)n===``&&(t+=1);return t}function gg(e,t){let n=t-hg(e);return n<=0?e:`${``.repeat(n)}${e}`}function _g(e){return e===void 0||e===` `||e===`
|
|
9
|
-
`||e===` `||e===`\r`}function vg(e,t){let n=Math.max(0,Math.min(e.length,Math.floor(t))),r=`${_g(e[n-1])?``:` `} `,i=e[n]===` `?n+1:n;return{prompt:`${e.slice(0,n)}${r}${e.slice(i)}`,cursor:n+r.length,contextIndex:hg(e.slice(0,n))}}function yg(e){return e.replaceAll(``,``)}function bg(e,t){if(t<0)return{prompt:e,cursor:e.length};let n=0;for(let r=0;r<e.length;r+=1)if(e[r]===``){if(n===t)return{prompt:e.slice(0,r)+e.slice(r+1),cursor:r};n+=1}return{prompt:e,cursor:e.length}}var xg=`ryco:composer-drafts:v1`,Sg=Ft([`local`,`worktree`]),Cg=ri(Gt),wg=ri(nn),Tg=ri(hi),Eg=A({type:j(Ft([`image`,`file`])),id:M,name:M,mimeType:M,sizeBytes:qt,dataUrl:j(M),uploadToken:j(M),expiresAt:j(M),uploadState:j(Ft([`needsReattach`]))}),Dg=A({id:M,threadId:Ai,createdAt:M,terminalId:M,terminalLabel:M,lineStart:qt,lineEnd:qt}),Og=A({prompt:M,attachments:Cn(Eg),terminalContexts:j(Cn(Dg)),modelSelectionByProvider:j($n(ui,Zi)),activeProvider:j(_i(ui)),runtimeMode:j(Gt),interactionMode:j(hi),tokenMode:j(nn)}),kg=A({threadId:Ai,environmentId:M,projectId:Dr,logicalProjectKey:j(M),createdAt:M,runtimeMode:Gt,interactionMode:hi,tokenMode:j(nn),branch:_i(M),worktreePath:_i(M),fetchOrigin:j(ea),worktreeBranchName:j(_i(M)),worktreeSource:j(_i(ii([A({kind:qn(`pr`),number:qt,label:M}),A({kind:qn(`issue`),number:qt,title:M,label:M}),A({kind:qn(`workItem`),provider:qn(`jira`),key:M,title:M,state:Wi(M),stateName:Wi(M),url:Wi(M),label:M})]))),envMode:Sg,promotedTo:j(_i(A({environmentId:M,threadId:M})))}),Ag=A({draftsByThreadKey:$n(M,Og),draftThreadsByThreadKey:$n(M,kg),logicalProjectDraftThreadKeyByLogicalProjectKey:$n(M,M),stickyModelSelectionByProvider:j($n(ui,Zi)),stickyActiveProvider:j(_i(ui))}),jg=A({version:qt,state:Ag});function Mg(e){return{...e,...e.options?{options:e.options.map(e=>({...e}))}:{}}}function Ng(e){return Object.fromEntries(Object.entries(e).filter(e=>e[1]!==void 0).map(([e,t])=>[e,Mg(t)]))}var Pg=Object.freeze({draftsByThreadKey:{},draftThreadsByThreadKey:{},logicalProjectDraftThreadKeyByLogicalProjectKey:{},stickyModelSelectionByProvider:{},stickyActiveProvider:null});function Fg(e){return ri(N)(e)?e:null}var Ig=/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/;function Lg(e){return typeof e!=`string`||!Ig.test(e)?null:e}function Rg(e){if(Array.isArray(e)){let t=[];for(let n of e){if(!n||typeof n!=`object`)continue;let e=n,r=e.id,i=e.value;typeof r==`string`&&r.length!==0&&(typeof i==`string`||typeof i==`boolean`)&&t.push({id:r,value:i})}return t.length>0?t:void 0}if(e&&typeof e==`object`){let t=e,n=[];for(let[e,r]of Object.entries(t))(typeof r==`string`||typeof r==`boolean`)&&n.push({id:e,value:r});return n.length>0?n:void 0}}function zg(e,t,n){let r=e&&typeof e==`object`?e:null,i={};for(let e of[`codex`,`claudeAgent`,`cursor`,`grok`,`opencode`]){let t=Rg(r?.[e]);t&&(i[e]=t)}if(t===`codex`&&n){let e=[];if(typeof n.effort==`string`&&n.effort.length>0&&e.push({id:`reasoningEffort`,value:n.effort}),(n.codexFastMode===!0||typeof n.serviceTier==`string`&&n.serviceTier===`fast`)&&e.push({id:`fastMode`,value:!0}),e.length>0){let t=i.codex??[],n=new Set(t.map(e=>e.id)),r=[...t];for(let t of e)n.has(t.id)||r.push(t);i.codex=r}}return Object.keys(i).length>0?i:null}function Bg(e,t){let n=e&&typeof e==`object`?e:null,r=Lg(n?.instanceId??n?.provider??t?.provider);if(r===null)return null;let i=n?.model??t?.model;if(typeof i!=`string`)return null;let a=Tl(i,Fg(n?.provider??t?.provider)??N.make(`codex`));if(!a)return null;if(Array.isArray(n?.options))return R(r,a,Rg(n.options));let o=Fg(r),s=o?zg(n?.options?{[o]:n.options}:t?.modelOptions,o,o===`codex`?t?.legacyCodex:void 0):null;return R(r,a,o?s?.[o]:void 0)}function Vg(e,t){if(e===null)return null;let n=Fg(e.instanceId),r=n?t?.[n]:void 0;return R(e.instanceId,e.model,r)}function Hg(e,t){if(!e?.options||e.options.length===0)return zg(t);let n=Fg(e.instanceId);return n?Ug(zg(t),n,e.options):zg(t)}function Ug(e,t,n){let{[t]:r,...i}=e??{},a={...i};return n&&n.length>0&&(a[t]=n),Object.keys(a).length>0?a:null}function Wg(e,t){let n={};if(t)for(let r of[`codex`,`claudeAgent`,`cursor`,`grok`,`opencode`]){let i=t[r];if(i&&i.length>0){let t=N.make(r),a=Ei(t);n[a]=R(a,e?.instanceId===a?e.model:oi[t]??`gpt-5.6-terra`,i)}}return e&&(n[e.instanceId]=e),n}function Gg(e){if(!e||typeof e!=`object`)return null;let t=e,n=t.id,r=t.type,i=t.name,a=t.mimeType,o=t.sizeBytes,s=t.dataUrl,c=t.uploadToken,l=t.expiresAt,u=t.uploadState,d=typeof s==`string`&&s.length>0,f=typeof c==`string`&&c.length>0,p=u===`needsReattach`;return typeof n!=`string`||r!==void 0&&r!==`image`&&r!==`file`||typeof i!=`string`||typeof a!=`string`||typeof o!=`number`||!Number.isFinite(o)||n.length===0||!d&&!f&&!p?null:{...r?{type:r}:{},id:n,name:i,mimeType:a,sizeBytes:o,...d?{dataUrl:s}:{},...f?{uploadToken:c}:{},...typeof l==`string`&&l.length>0?{expiresAt:l}:{},...u===`needsReattach`?{uploadState:u}:{}}}function Kg(e){if(!e||typeof e!=`object`)return null;let t=e,n=t.id,r=t.threadId,i=t.createdAt,a=t.lineStart,o=t.lineEnd;if(typeof n!=`string`||n.length===0||typeof r!=`string`||r.length===0||typeof i!=`string`||i.length===0||typeof a!=`number`||!Number.isFinite(a)||typeof o!=`number`||!Number.isFinite(o))return null;let s=typeof t.terminalId==`string`?t.terminalId.trim():``,c=typeof t.terminalLabel==`string`?t.terminalLabel.trim():``;if(s.length===0||c.length===0)return null;let l=Math.max(1,Math.floor(a));return{id:n,threadId:r,createdAt:i,terminalId:s,terminalLabel:c,lineStart:l,lineEnd:Math.max(l,Math.floor(o))}}function qg(e,t){return e===`local`||e===`worktree`?e:t?`worktree`:`local`}function Jg(e){return oe(e)}function Yg(e){return e.trim()}function Xg(e){return typeof e==`string`?e.trim():_(e)}function Zg(e,t){let n=E(e);return n?Xg(n):t?.environmentId?Xg(l(t.environmentId,e)):e}function Qg(e){return E(e)}function $g(e,t){let n={},r=new Map;if(t&&typeof t==`object`)for(let[e,n]of Object.entries(t)){if(typeof n!=`string`||n.length===0)continue;let t=x(e);if(!t)continue;let i=E(n);if(i){r.set(i.threadId,i.environmentId);continue}r.set(n,t.environmentId)}if(e&&typeof e==`object`)for(let[t,i]of Object.entries(e)){if(typeof t!=`string`||t.length===0||!i||typeof i!=`object`)continue;let e=i,a=E(t),o=Zg(t),s=a?.threadId??(typeof e.threadId==`string`&&e.threadId.length>0?e.threadId:t),c=a?.environmentId??(typeof e.environmentId==`string`&&e.environmentId.length>0?e.environmentId:r.get(t)),u=e.projectId,d=e.createdAt,f=e.branch,p=e.worktreePath,m=typeof p==`string`?p:null,h=e.promotedTo,g=h&&typeof h==`object`?h:null,_=g&&typeof g.environmentId==`string`&&g.environmentId.length>0&&typeof g.threadId==`string`&&g.threadId.length>0?l(g.environmentId,g.threadId):null;if(typeof u!=`string`||u.length===0||c===void 0)continue;let v=c;n[o]={threadId:s,environmentId:v,projectId:u,logicalProjectKey:typeof e.logicalProjectKey==`string`&&e.logicalProjectKey.length>0?e.logicalProjectKey:a?Jg(ot(v,u)):t,createdAt:typeof d==`string`&&d.length>0?d:new Date().toISOString(),runtimeMode:Cg(e.runtimeMode)?e.runtimeMode:qh,interactionMode:Tg(e.interactionMode)?e.interactionMode:Jh,tokenMode:wg(e.tokenMode)?e.tokenMode:Yh,fetchOrigin:typeof e.fetchOrigin!=`boolean`||e.fetchOrigin,worktreeBranchName:typeof e.worktreeBranchName==`string`?e.worktreeBranchName:null,branch:typeof f==`string`?f:null,worktreePath:m,envMode:qg(e.envMode,m),promotedTo:_}}let i={};if(t&&typeof t==`object`)for(let[e,a]of Object.entries(t)){if(typeof a!=`string`||a.length===0)continue;let t=x(e),o=E(a),s=Zg(a);if(i[e]=s,o&&r.set(o.threadId,o.environmentId),!t){let t=n[s];t&&!t.logicalProjectKey&&(n[s]={...t,logicalProjectKey:e});continue}n[s]?(n[s]?.projectId!==t.projectId||n[s]?.environmentId!==t.environmentId)&&(n[s]={...n[s],threadId:n[s].threadId,environmentId:t.environmentId,projectId:t.projectId,logicalProjectKey:e}):n[s]={threadId:o?.threadId??s,environmentId:t.environmentId,projectId:t.projectId,logicalProjectKey:e,createdAt:new Date().toISOString(),runtimeMode:qh,interactionMode:Jh,tokenMode:Yh,branch:null,worktreePath:null,envMode:`local`,promotedTo:null}}return{draftThreadsByThreadKey:n,logicalProjectDraftThreadKeyByLogicalProjectKey:i}}function e_(e,t){if(!e||typeof e!=`object`)return{};let n=new Map;for(let[e,r]of Object.entries(t)){let t=Qg(e);t&&n.set(t.threadId,r.environmentId)}let r={};for(let[i,a]of Object.entries(e)){if(typeof i!=`string`||i.length===0||!a||typeof a!=`object`)continue;let e=a,o=typeof e.prompt==`string`?e.prompt:``,s=Array.isArray(e.attachments)?e.attachments.flatMap(e=>{let t=Gg(e);return t?[t]:[]}):[],c=Array.isArray(e.terminalContexts)?e.terminalContexts.flatMap(e=>{let t=Kg(e);return t?[t]:[]}):[],l=Cg(e.runtimeMode)?e.runtimeMode:null,u=Tg(e.interactionMode)?e.interactionMode:null,d=wg(e.tokenMode)?e.tokenMode:null,f=gg(o,c.length),p=a,m={},h=null;if(e.modelSelectionByProvider&&typeof e.modelSelectionByProvider==`object`)m=e.modelSelectionByProvider,h=Lg(e.activeProvider);else{let e=zg(p.modelOptions,void 0,p)??null,t=Bg(p.modelSelection,{provider:p.provider,model:p.model,modelOptions:e??p.modelOptions,legacyCodex:p}),n=Hg(t,e),r=Vg(t,n);m=Wg(r,n),h=r?.instanceId??null}let g=Object.keys(m).length>0||h!==null;if(o.length===0&&s.length===0&&c.length===0&&!g&&!l&&!u&&!d)continue;let _=E(i)===null?t[i]===void 0?(()=>{let e=n.get(i);return e?Zg(i,{environmentId:e}):i})():i:Zg(i);r[_]={prompt:f,attachments:s,...c.length>0?{terminalContexts:c}:{},...g?{modelSelectionByProvider:Ng(m),activeProvider:h}:{},...l?{runtimeMode:l}:{},...u?{interactionMode:u}:{},...d?{tokenMode:d}:{}}}return r}function t_(e){if(!e||typeof e!=`object`)return Pg;let t=e,n=t.draftsByThreadKey??t.draftsByThreadId,r=t.draftThreadsByThreadKey??t.draftThreadsByThreadId,i=t.logicalProjectDraftThreadKeyByLogicalProjectKey??t.projectDraftThreadKeyByProjectKey??t.projectDraftThreadIdByProjectKey??t.projectDraftThreadIdByProjectId,a=zg(t.stickyModelOptions)??{},o=Bg(t.stickyModelSelection,{provider:t.stickyProvider??`codex`,model:t.stickyModel,modelOptions:a}),s=Hg(o,a),c=Wg(Vg(o,s),s),l=Lg(t.stickyProvider)??null,{draftThreadsByThreadKey:u,logicalProjectDraftThreadKeyByLogicalProjectKey:d}=$g(r,i);return{draftsByThreadKey:e_(n,u),draftThreadsByThreadKey:u,logicalProjectDraftThreadKeyByLogicalProjectKey:d,stickyModelSelectionByProvider:Ng(c),stickyActiveProvider:l}}function n_(e){let t={};for(let[n,r]of Object.entries(e.draftsByThreadKey)){if(typeof n!=`string`||n.length===0)continue;let e=Object.keys(r.modelSelectionByProvider).length>0||r.activeProvider!==null;r.prompt.length===0&&r.persistedAttachments.length===0&&r.terminalContexts.length===0&&!e&&r.runtimeMode===null&&r.interactionMode===null&&r.tokenMode==null||(t[n]={prompt:r.prompt,attachments:r.persistedAttachments,...r.terminalContexts.length>0?{terminalContexts:r.terminalContexts.map(e=>({id:e.id,threadId:e.threadId,createdAt:e.createdAt,terminalId:e.terminalId,terminalLabel:e.terminalLabel,lineStart:e.lineStart,lineEnd:e.lineEnd}))}:{},...e?{modelSelectionByProvider:Ng(r.modelSelectionByProvider),activeProvider:r.activeProvider}:{},...r.runtimeMode?{runtimeMode:r.runtimeMode}:{},...r.interactionMode?{interactionMode:r.interactionMode}:{},...r.tokenMode?{tokenMode:r.tokenMode}:{}})}return{draftsByThreadKey:t,draftThreadsByThreadKey:e.draftThreadsByThreadKey,logicalProjectDraftThreadKeyByLogicalProjectKey:e.logicalProjectDraftThreadKeyByLogicalProjectKey,stickyModelSelectionByProvider:Ng(e.stickyModelSelectionByProvider),stickyActiveProvider:e.stickyActiveProvider}}function r_(e){if(!e||typeof e!=`object`)return Pg;let t=e,{draftThreadsByThreadKey:n,logicalProjectDraftThreadKeyByLogicalProjectKey:r}=$g(t.draftThreadsByThreadKey??t.draftThreadsByThreadId,t.logicalProjectDraftThreadKeyByLogicalProjectKey??t.projectDraftThreadKeyByProjectKey??t.projectDraftThreadIdByProjectKey??t.projectDraftThreadIdByProjectId),i={},a=null;if(t.stickyModelSelectionByProvider&&typeof t.stickyModelSelectionByProvider==`object`)i=t.stickyModelSelectionByProvider,a=Lg(t.stickyActiveProvider);else{let e=zg(t.stickyModelOptions)??{},n=Bg(t.stickyModelSelection,{provider:t.stickyProvider,model:t.stickyModel,modelOptions:e}),r=Hg(n,e);i=Wg(Vg(n,r),r),a=Lg(t.stickyProvider)}return{draftsByThreadKey:e_(t.draftsByThreadKey??t.draftsByThreadId,n),draftThreadsByThreadKey:n,logicalProjectDraftThreadKeyByLogicalProjectKey:r,stickyModelSelectionByProvider:Ng(i),stickyActiveProvider:a}}function i_(e,t){let n=e.modelSelectionByProvider??{},r=Lg(e.activeProvider)??null;return{prompt:e.prompt,images:t(e.attachments),nonPersistedImageIds:[],persistedAttachments:[...e.attachments],terminalContexts:e.terminalContexts?.map(e=>({...e,text:``}))??[],sourceControlContexts:[],modelSelectionByProvider:n,activeProvider:r,runtimeMode:e.runtimeMode??null,interactionMode:e.interactionMode??null,tokenMode:e.tokenMode??null}}function a_(e){return{threadId:e.threadId,environmentId:e.environmentId,projectId:e.projectId,logicalProjectKey:e.logicalProjectKey??Jg(ot(e.environmentId,e.projectId)),createdAt:e.createdAt,runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,tokenMode:e.tokenMode??`balanced`,fetchOrigin:e.fetchOrigin??!0,worktreeBranchName:e.worktreeBranchName??null,branch:e.branch,worktreePath:e.worktreePath,envMode:e.envMode,promotedTo:e.promotedTo?l(e.promotedTo.environmentId,e.promotedTo.threadId):null}}function o_(e,t){let n;try{n=e()}catch{return}return{getItem:e=>{let r=e=>e===null?null:JSON.parse(e,t?.reviver),i=n.getItem(e)??null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,r)=>n.setItem(e,JSON.stringify(r,t?.replacer)),removeItem:e=>n.removeItem(e)}}var s_=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return s_(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return s_(t)(e)}}}},c_=(e,t)=>(n,r,i)=>{let a={storage:o_(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,s=0,c=new Set,l=new Set,u=a.storage;if(!u)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),n(...e)},r,i);let d=()=>{let e=a.partialize({...r()});return u.setItem(a.name,{state:e,version:a.version})},f=i.setState;i.setState=(e,t)=>(f(e,t),d());let p=e((...e)=>(n(...e),d()),r,i);i.getInitialState=()=>p;let m,h=()=>{if(!u)return;let e=++s;o=!1,c.forEach(e=>e(r()??p));let t=a.onRehydrateStorage?.call(a,r()??p)||void 0;return s_(u.getItem.bind(u))(a.name).then(e=>{if(e){if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state]}return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(m=a.merge(o,r()??p),n(m,!0),i)return d()}).then(()=>{e===s&&(t?.(r(),void 0),m=r(),o=!0,l.forEach(e=>e(m)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(u=e.storage)},clearStorage:()=>{++s,u?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>h(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},a.skipHydration||h(),m||p},l_=ml({optionDescriptors:[]}),u_=N.make(`codex`);function d_(e){return e.replace(/([a-z])([A-Z])/g,`$1 $2`).replace(/[_-]+/g,` `).trim().replace(/\b\w/g,e=>e.toUpperCase())}function f_(e,t){return p_(e,t)?.models??[]}function p_(e,t){let n=Ei(t);return e.find(e=>e.instanceId===n)}function m_(e,t){return p_(e,t)?.showInteractionModeToggle??!0}function h_(e,t){return p_(e,t)?.supportsAskMode??!1}function g_(e,t){let n=e.find(e=>e.instanceId===t);return n?.enabled?n.driver:e.find(e=>e.enabled)?.driver??u_}function __(e,t,n){let r=Tl(t,n);return e.find(e=>e.slug===r)?.capabilities??l_}function v_(e,t){let n=f_(e,t),r=oi[t]??`gpt-5.6-terra`;return n.find(e=>e.slug===r)?.slug??n.find(e=>!e.isCustom)?.slug??n[0]?.slug??r}function y_(e){let t=bl({caps:__(e.models,e.model,e.provider),selections:e.modelOptions}),n=t.find(e=>e.type===`select`),r=xl(n??null),i=typeof r==`string`?r:null,a=(n?.promptInjectedValues?.length??0)>0&&wl(e.prompt);return{provider:e.provider,promptEffort:i,modelOptionsForDispatch:Cl(t),...a?{composerFrameClassName:`ultrathink-frame`,composerSurfaceClassName:`shadow-[0_0_0_1px_rgba(255,255,255,0.04)_inset]`,modelPickerIconClassName:`ultrathink-chroma`}:{}}}function b_(e){return e.replace(/[_-]+/g,` `).replace(/([a-z])([A-Z])/g,`$1 $2`).split(` `).filter(e=>e.length>0).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function x_(e){return Ur[e]??d_(e)}function S_(e){let t=e?.trim();if(t)return/^#[0-9a-fA-F]{6}$/u.test(t)?t:void 0}function C_(e,t,n,r){let i=e.displayName?.trim(),a=x_(n);if(i&&i!==a)return i;if(!r){let e=b_(t);if(e.length>0)return e}return i||a}function w_(e){return e.map(e=>{let t=e.instanceId,n=e.driver,r=t===Ei(n);return{instanceId:t,driverKind:n,displayName:C_(e,t,n,r),accentColor:S_(e.accentColor),continuationGroupKey:e.continuation?.groupKey,enabled:e.enabled,installed:e.installed,status:e.status,isDefault:r,isAvailable:e.availability!==`unavailable`,snapshot:e,models:e.models}})}function T_(e){let t=new Map;for(let n of e){let e=t.get(n.driverKind);e?e.push(n):t.set(n.driverKind,[n])}let n=[];for(let e of t.values()){let t=e.filter(e=>e.isDefault),r=e.filter(e=>!e.isDefault);n.push(...t,...r)}return n}function E_(e,t,n){let r=e.find(e=>e.instanceId===n);if(r)return r.driverKind}function D_(e,t){return`${e}:${t}`}function O_(e){return new Map(Kt(e,(e,t)=>[e,t]))}function k_(e){return e instanceof Set?e:new Set(e??[])}function A_(e){return Ot(bt,t=>e(t)??1/0)}function j_(e){return Ot(Nn(kn),e)}function M_(e,t){let n=t?.modelOrder??[],r=k_(t?.favoriteModels),i=O_(n),a=O_(Kt(e,e=>e.slug)),o=[...t?.groupFavorites===!0?[j_(e=>r.has(e.slug))]:[],A_(e=>i.get(e.slug)),A_(e=>a.get(e.slug))];return Qn(e,Hi(o))}function N_(e,t){let n=k_(t?.favoriteModelKeys),r=new Map(Kt(t?.instanceOrder??[],(e,t)=>[e,t])),i=O_(Kt(e,e=>D_(e.instanceId,e.slug))),a=[...t?.groupFavorites===!0?[j_(e=>n.has(D_(e.instanceId,e.slug)))]:[],A_(e=>r.get(e.instanceId)),A_(e=>i.get(D_(e.instanceId,e.slug)))];return Qn(e,Hi(a))}var P_=32,F_=ui.make(`codex`);function I_(e,t,n){let r=e.providerInstances?.[t]?.config;if(typeof r==`object`&&r){let e=r.customModels;if(Array.isArray(e))return e.filter(e=>typeof e==`string`)}return t===Ei(n)?e.providers[n]?.customModels??[]:[]}function L_(e){let t={slug:e.slug,name:e.name,isCustom:e.isCustom};return e.shortName&&(t.shortName=e.shortName),e.subProvider&&(t.subProvider=e.subProvider),t}function R_(e,t){return e.providerModelPreferences?.[t]??{hiddenModels:[],modelOrder:[]}}function z_(e,t){let n=new Set(t.hiddenModels);return M_(e.filter(e=>e.isCustom||!n.has(e.slug)),{modelOrder:t.modelOrder})}function B_(e,t,n=N.make(`codex`)){let r=[],i=new Set;for(let a of e){let e=Tl(a,n);if(!(!e||e.length>256||t.has(e)||i.has(e))&&(i.add(e),r.push(e),r.length>=P_))break}return r}function V_(e,t,n,r){let i=f_(t,n).map(L_),a=new Set(i.map(e=>e.slug)),o=new Set(f_(t,n).filter(e=>!e.isCustom).map(e=>e.slug)),s=Ei(n),c=I_(e,s,n);for(let e of B_(c,o,n))a.has(e)||(a.add(e),i.push({slug:e,name:e,isCustom:!0}));return z_(i,R_(e,s))}function H_(e,t,n){let r=t.models.map(L_),i=new Set(r.map(e=>e.slug)),a=new Set(t.models.filter(e=>!e.isCustom).map(e=>e.slug)),o=I_(e,t.instanceId,t.driverKind),s=t.driverKind;for(let e of B_(o,a,s))i.has(e)||(i.add(e),r.push({slug:e,name:e,isCustom:!0}));let c=z_(r,R_(e,t.instanceId)),l=Tl(n,t.driverKind);return t.status!==`ready`&&l&&!c.some(e=>e.slug===l)?[{slug:l,name:l,isCustom:!1,isUnavailable:!0},...c]:c}function U_(e,t,n,r){let i=g_(n,e);return El(i,r,V_(t,n,i,r))??v_(n,i)}function W_(e,t,n,r){let i=w_(n).find(t=>t.instanceId===e);if(!i)return null;let a=H_(t,i),o=oi[i.driverKind]??`gpt-5.6-terra`,s=Tl(r,i.driverKind);return El(i.driverKind,r,a)??(i.status===`ready`?null:s)??El(i.driverKind,o,a)??a[0]?.slug??i.models[0]?.slug??null}function G_(e,t,n,r){let i=new Map;for(let n of w_(t))i.set(n.instanceId,H_(e,n));return i}function K_(e,t){let n=e.textGenerationModelSelection??{instanceId:F_,model:`gpt-5.6-luna`,options:st},r=w_(t),i=r.find(e=>e.instanceId===n.instanceId&&e.enabled&&e.isAvailable),a=i??r.find(e=>e.enabled&&e.isAvailable);if(a){let t=_n[a.driverKind]??`gpt-5.6-luna`,r=H_(e,a),o=i?El(a.driverKind,n.model,r):null,s=o??El(a.driverKind,t,r)??r[0]?.slug??a.models[0]?.slug;if(!s)return R(a.instanceId,``,[]);let c=a.driverKind,{modelOptionsForDispatch:l}=y_({provider:c,model:s,models:a.models,prompt:``,modelOptions:o?n.options:Ar[a.driverKind]});return R(a.instanceId,s,l)}let o=g_(t,null),s=U_(o,e,t,null),{modelOptionsForDispatch:c}=y_({provider:o,model:s,models:f_(t,o),prompt:``,modelOptions:void 0});return R(Ei(o),s,c)}var q_=M.pipe(xi(`DraftId`));function J_(e){if(!e)return null;let t=e.options;return!t||t.length===0?null:{[e.instanceId]:t}}function Y_(e){if(!e)return null;let t={};for(let[n,r]of Object.entries(e))r?.options&&r.options.length>0&&(t[n]=r.options);return Object.keys(t).length>0?t:null}var X_=[],Z_=[],Q_=[],$_=[],ev=[];Object.freeze(X_),Object.freeze(Z_),Object.freeze(Q_),Object.freeze(ev);var tv=Object.freeze({}),nv=Object.freeze({activeProvider:null,modelSelectionByProvider:tv}),rv=Object.freeze({prompt:``,images:X_,nonPersistedImageIds:Z_,persistedAttachments:Q_,terminalContexts:$_,sourceControlContexts:ev,modelSelectionByProvider:tv,activeProvider:null,runtimeMode:null,interactionMode:null,tokenMode:null});function iv(){return{prompt:``,images:[],nonPersistedImageIds:[],persistedAttachments:[],terminalContexts:[],sourceControlContexts:[],modelSelectionByProvider:{},activeProvider:null,runtimeMode:null,interactionMode:null,tokenMode:null}}function av(e){return`${e.mimeType}\u0000${e.sizeBytes}\u0000${e.name}`}function ov(e){return`${e.terminalId}\u0000${e.lineStart}\u0000${e.lineEnd}`}function sv(e,t){let n=t.terminalId.trim(),r=t.terminalLabel.trim();if(n.length===0||r.length===0)return null;let i=Math.max(1,Math.floor(t.lineStart)),a=Math.max(i,Math.floor(t.lineEnd));return{...t,threadId:e,terminalId:n,terminalLabel:r,lineStart:i,lineEnd:a,text:eg(t.text)}}function cv(e,t){let n=new Set,r=new Set,i=[];for(let a of t){let t=sv(e,a);if(!t)continue;let o=ov(t);n.has(t.id)||r.has(o)||(i.push(t),n.add(t.id),r.add(o))}return i}function W(e){return e.prompt.length===0&&e.images.length===0&&e.persistedAttachments.length===0&&e.terminalContexts.length===0&&e.sourceControlContexts.length===0&&Object.keys(e.modelSelectionByProvider).length===0&&e.activeProvider===null&&e.runtimeMode===null&&e.interactionMode===null&&e.tokenMode==null}function lv(e){let t=e.threadModelSelection?.model??e.projectModelSelection?.model??null,n=(e.selectedInstanceId?W_(e.selectedInstanceId,e.settings,e.providers,t):null)??U_(e.selectedProvider,e.settings,e.providers,t)??Tl(t,e.selectedProvider)??v_(e.providers,e.selectedProvider),r=e.selectedInstanceId?e.draft?.modelSelectionByProvider?.[e.selectedInstanceId]:void 0,i=e.draft?.modelSelectionByProvider?.[ui.make(e.selectedProvider)],a=r??i,o=r?e.selectedInstanceId??ui.make(e.selectedProvider):ui.make(e.selectedProvider);return{selectedModel:a?.model?W_(o,e.settings,e.providers,a.model)??U_(e.selectedProvider,e.settings,e.providers,a.model):n,modelOptions:Y_(e.draft?.modelSelectionByProvider)??J_(e.threadModelSelection)??J_(e.projectModelSelection)??null}}function uv(e,t){if(typeof t==`string`){let e=t.trim();return e.length>0?q_.make(e):null}return t}function G(e,t){let n=uv(e,t);if(!n)return null;if(typeof n!=`string`){let t=Xg(n);if(e.draftsByThreadKey[t])return t;for(let[t,r]of Object.entries(e.draftThreadsByThreadKey))if(r.environmentId===n.environmentId&&r.threadId===n.threadId)return t;return t}let r=Xg(n);return r.length>0?r:null}function dv(e,t){let n=uv(e,t);return n?typeof n==`string`?e.draftThreadsByThreadKey[n]?.threadId??null:n.threadId:null}function fv(e,t){let n=G(e,t);return n?e.draftsByThreadKey[n]??null:null}function pv(e,t){return Object.values(e).includes(t)}function mv(e,t){return{draftId:e,...t}}function hv(e,t,n,r,i){let a=r!==void 0&&(r.environmentId!==e.environmentId||r.projectId!==e.projectId),o=i?.worktreePath===void 0?a?null:r?.worktreePath??null:i.worktreePath??null,s=i?.branch===void 0?a?null:r?.branch??null:i.branch??null;return{threadId:t,environmentId:e.environmentId,projectId:e.projectId,logicalProjectKey:n,createdAt:i?.createdAt??r?.createdAt??new Date().toISOString(),runtimeMode:i?.runtimeMode??r?.runtimeMode??`full-access`,interactionMode:i?.interactionMode??r?.interactionMode??`default`,tokenMode:i?.tokenMode??r?.tokenMode??`balanced`,fetchOrigin:i?.fetchOrigin??r?.fetchOrigin??!0,worktreeBranchName:a?null:i?.worktreeBranchName===void 0?r?.worktreeBranchName??null:i.worktreeBranchName,branch:s,worktreePath:o,worktreeSource:i?.worktreeSource===void 0?a?null:r?.worktreeSource??null:i.worktreeSource,envMode:i?.envMode??(o?`worktree`:a?`local`:r?.envMode??`local`),promotedTo:null}}function gv(e,t){return!e||!t?e===t:e.environmentId===t.environmentId&&e.threadId===t.threadId}function _v(e){return e?.promotedTo!==null&&e?.promotedTo!==void 0}function vv(e,t){return!!e&&e.threadId===t.threadId&&e.environmentId===t.environmentId&&e.projectId===t.projectId&&e.logicalProjectKey===t.logicalProjectKey&&e.createdAt===t.createdAt&&e.runtimeMode===t.runtimeMode&&e.interactionMode===t.interactionMode&&e.tokenMode===t.tokenMode&&e.branch===t.branch&&e.worktreePath===t.worktreePath&&e.envMode===t.envMode&&gv(e.promotedTo,t.promotedTo)}function yv(e){function t(t){if(t)for(let n of t.images)e.revokePreviewUrl(n.previewUrl)}function n(e,n){let r=Object.fromEntries(Object.entries(e.logicalProjectDraftThreadKeyByLogicalProjectKey).filter(([,e])=>e!==n)),{[n]:i,...a}=e.draftThreadsByThreadKey,{[n]:o,...s}=e.draftsByThreadKey;return t(o),{draftsByThreadKey:s,draftThreadsByThreadKey:a,logicalProjectDraftThreadKeyByLogicalProjectKey:r}}function r(t,n,r){let i=new Set;try{e.flushStorage(),i=new Set(e.readPersistedAttachmentIds(t))}catch{i=new Set}r(e=>{let r=e.draftsByThreadKey[t];if(!r)return e;let a=new Set(r.images.map(e=>e.id)),o=n.filter(e=>a.has(e.id)&&i.has(e.id)),s=r.images.map(e=>e.id).filter(e=>!i.has(e)),c={...r,persistedAttachments:o,nonPersistedImageIds:s},l={...e.draftsByThreadKey};return W(c)?delete l[t]:l[t]=c,{draftsByThreadKey:l}})}let i=O()(c_((i,a)=>{let o=i;return{draftsByThreadKey:{},draftThreadsByThreadKey:{},logicalProjectDraftThreadKeyByLogicalProjectKey:{},stickyModelSelectionByProvider:{},stickyActiveProvider:null,getComposerDraft:e=>fv(a(),e),getDraftThreadByLogicalProjectKey:e=>a().getDraftSessionByLogicalProjectKey(e),getDraftSessionByLogicalProjectKey:e=>{let t=Yg(e);if(t.length===0)return null;let n=a().logicalProjectDraftThreadKeyByLogicalProjectKey[t];if(!n)return null;let r=a().draftThreadsByThreadKey[n];return!r||_v(r)?null:mv(q_.make(n),r)},getDraftThreadByProjectRef:e=>a().getDraftSessionByProjectRef(e),getDraftSessionByProjectRef:e=>{for(let[t,n]of Object.entries(a().draftThreadsByThreadKey))if(!_v(n)&&n.projectId===e.projectId&&n.environmentId===e.environmentId)return mv(q_.make(t),n);return null},getDraftSession:e=>a().draftThreadsByThreadKey[e]??null,getDraftSessionByRef:e=>{for(let t of Object.values(a().draftThreadsByThreadKey))if(t.environmentId===e.environmentId&&t.threadId===e.threadId)return t;return null},getDraftThread:e=>typeof e==`string`?a().getDraftSession(q_.make(e)):a().getDraftSessionByRef(e),getDraftThreadByRef:e=>a().getDraftSessionByRef(e),listDraftThreadKeys:()=>Object.values(a().draftThreadsByThreadKey).map(e=>_(l(e.environmentId,e.threadId))),hasDraftThreadsInEnvironment:e=>Object.values(a().draftThreadsByThreadKey).some(t=>t.environmentId===e),setLogicalProjectDraftThreadId:(e,t,n,r)=>{let i=Yg(e);i.length!==0&&n.length!==0&&o(e=>{let a=e.draftThreadsByThreadKey[n],o=e.logicalProjectDraftThreadKeyByLogicalProjectKey[i],s=hv(t,r?.threadId??a?.threadId??Ai.make(n),i,a,r);if(o===n&&vv(a,s))return e;let c={...e.logicalProjectDraftThreadKeyByLogicalProjectKey,[i]:n},l={...e.draftThreadsByThreadKey,[n]:s},u=e.draftsByThreadKey,d=o===void 0?void 0:l[o];return o&&o!==n&&!pv(c,o)&&!_v(d)&&(delete l[o],e.draftsByThreadKey[o]!==void 0&&(u={...e.draftsByThreadKey},delete u[o])),{draftsByThreadKey:u,draftThreadsByThreadKey:l,logicalProjectDraftThreadKeyByLogicalProjectKey:c}})},setProjectDraftThreadId:(e,t,n)=>{a().setLogicalProjectDraftThreadId(Jg(e),e,t,n)},setDraftThreadContext:(e,t)=>{let n=G(a(),e)??``;n.length!==0&&o(e=>{let r=e.draftThreadsByThreadKey[n];if(!r)return e;let i=t.projectRef??{environmentId:r.environmentId,projectId:r.projectId};if(i.projectId.length===0||i.environmentId.length===0)return e;let a=i.environmentId!==r.environmentId||i.projectId!==r.projectId,o=t.worktreePath===void 0?a?null:r.worktreePath:t.worktreePath??null,s=t.branch===void 0?a?null:r.branch:t.branch??null,c=t.worktreeSource===void 0?a?null:r.worktreeSource??null:t.worktreeSource,l={threadId:r.threadId,environmentId:i.environmentId,projectId:i.projectId,logicalProjectKey:r.logicalProjectKey,createdAt:t.createdAt===void 0?r.createdAt:t.createdAt||r.createdAt,runtimeMode:t.runtimeMode??r.runtimeMode,interactionMode:t.interactionMode??r.interactionMode,tokenMode:t.tokenMode??r.tokenMode??`balanced`,fetchOrigin:t.fetchOrigin??r.fetchOrigin??!0,worktreeBranchName:a?null:t.worktreeBranchName===void 0?r.worktreeBranchName??null:t.worktreeBranchName,branch:s,worktreePath:o,worktreeSource:c,envMode:t.envMode??(o?`worktree`:a?`local`:r.envMode??`local`),promotedTo:r.promotedTo??null};return l.environmentId===r.environmentId&&l.projectId===r.projectId&&l.logicalProjectKey===r.logicalProjectKey&&l.createdAt===r.createdAt&&l.runtimeMode===r.runtimeMode&&l.interactionMode===r.interactionMode&&l.tokenMode===r.tokenMode&&l.fetchOrigin===(r.fetchOrigin??!0)&&l.worktreeBranchName===(r.worktreeBranchName??null)&&l.branch===r.branch&&l.worktreePath===r.worktreePath&>(l.worktreeSource,r.worktreeSource??null)&&l.envMode===r.envMode&&gv(l.promotedTo,r.promotedTo)?e:{draftThreadsByThreadKey:{...e.draftThreadsByThreadKey,[n]:l}}})},moveDraftThreadToProject:(e,n)=>{let r=G(a(),e)??``,i=Yg(n.logicalProjectKey);r.length!==0&&i.length!==0&&n.projectRef.projectId.length!==0&&n.projectRef.environmentId.length!==0&&o(e=>{let a=e.draftThreadsByThreadKey[r];if(!a||_v(a))return e;let o=hv(n.projectRef,a.threadId,i,a);if(vv(a,o)&&e.logicalProjectDraftThreadKeyByLogicalProjectKey[i]===r)return e;let s=Object.fromEntries(Object.entries(e.logicalProjectDraftThreadKeyByLogicalProjectKey).filter(([,e])=>e!==r)),c=s[i];s[i]=r;let l={...e.draftThreadsByThreadKey,[r]:o},u=e.draftsByThreadKey,d=c?e.draftsByThreadKey[c]:void 0,f=d===void 0||W(d);return c&&c!==r&&f&&!pv(s,c)&&!_v(l[c])&&(delete l[c],e.draftsByThreadKey[c]!==void 0&&(u={...e.draftsByThreadKey},t(u[c]),delete u[c])),{draftsByThreadKey:u,draftThreadsByThreadKey:l,logicalProjectDraftThreadKeyByLogicalProjectKey:s}})},clearProjectDraftThreadId:e=>{o(t=>{let r=Object.entries(t.draftThreadsByThreadKey).find(([,t])=>t.projectId===e.projectId&&t.environmentId===e.environmentId);return r?n(t,r[0]):t})},clearProjectDraftThreadById:(e,t)=>{let r=G(a(),t)??``;r.length!==0&&o(t=>{let i=t.draftThreadsByThreadKey[r];return!i||i.projectId!==e.projectId||i.environmentId!==e.environmentId?t:n(t,r)})},markDraftThreadPromoting:(e,t)=>{let n=G(a(),e);n&&o(e=>{let r=e.draftThreadsByThreadKey[n];if(!r)return e;let i=t??l(r.environmentId,r.threadId);return gv(r.promotedTo,i)?e:{draftThreadsByThreadKey:{...e.draftThreadsByThreadKey,[n]:{...r,promotedTo:i}}}})},finalizePromotedDraftThread:e=>{let t=G(a(),e)??``;t.length!==0&&o(e=>{let r=e.draftThreadsByThreadKey[t];return _v(r)?n(e,t):e})},clearDraftThread:e=>{let t=G(a(),e)??``;t.length!==0&&o(e=>{let r=e.draftThreadsByThreadKey[t]!==void 0,i=Object.values(e.logicalProjectDraftThreadKeyByLogicalProjectKey).includes(t),a=e.draftsByThreadKey[t]!==void 0;return!r&&!i&&!a?e:n(e,t)})},setStickyModelSelection:e=>{let t=Bg(e);o(e=>{if(!t)return e;let n={...e.stickyModelSelectionByProvider,[t.instanceId]:t};return gt(e.stickyModelSelectionByProvider,n)?e.stickyActiveProvider===t.instanceId?e:{stickyActiveProvider:t.instanceId}:{stickyModelSelectionByProvider:n,stickyActiveProvider:t.instanceId}})},applyStickyState:e=>{let t=G(a(),e)??``;t.length!==0&&o(e=>{let n=e.stickyModelSelectionByProvider,r=e.stickyActiveProvider;if(Object.keys(n).length===0&&r===null)return e;let i=e.draftsByThreadKey[t]??iv(),a={...i.modelSelectionByProvider};for(let[e,t]of Object.entries(n))if(t){let n=e,r=a[n];a[n]={...t,model:r?.model??t.model}}if(gt(i.modelSelectionByProvider,a)&&i.activeProvider===r)return e;let o={...i,modelSelectionByProvider:a,activeProvider:r},s={...e.draftsByThreadKey};return W(o)?delete s[t]:s[t]=o,{draftsByThreadKey:s}})},setPrompt:(e,t)=>{let n=G(a(),e)??``;n.length!==0&&o(e=>{let r={...e.draftsByThreadKey[n]??iv(),prompt:t},i={...e.draftsByThreadKey};return W(r)?delete i[n]:i[n]=r,{draftsByThreadKey:i}})},setTerminalContexts:(e,t)=>{let n=G(a(),e),r=dv(a(),e);if(!n||!r)return;let i=cv(r,t);o(e=>{let t=e.draftsByThreadKey[n]??iv(),r={...t,prompt:gg(t.prompt,i.length),terminalContexts:i},a={...e.draftsByThreadKey};return W(r)?delete a[n]:a[n]=r,{draftsByThreadKey:a}})},setModelSelection:(e,t)=>{let n=G(a(),e)??``;if(n.length===0)return;let r=Bg(t);o(e=>{let t=e.draftsByThreadKey[n];if(!t&&r===null)return e;let i=t??iv(),a={...i.modelSelectionByProvider};if(r){let e=a[r.instanceId];r.options===void 0?a[r.instanceId]=R(r.instanceId,r.model,e?.options):a[r.instanceId]=r}let o=r?.instanceId??i.activeProvider;if(gt(i.modelSelectionByProvider,a)&&i.activeProvider===o)return e;let s={...i,modelSelectionByProvider:a,activeProvider:o},c={...e.draftsByThreadKey};return W(s)?delete c[n]:c[n]=s,{draftsByThreadKey:c}})},setModelOptions:(e,t)=>{let n=G(a(),e)??``;n.length!==0&&o(e=>{let r=e.draftsByThreadKey[n];if(!r&&(!t||Object.keys(t).length===0))return e;let i=r??iv(),a={...i.modelSelectionByProvider};for(let e of[`codex`,`claudeAgent`,`cursor`,`grok`,`opencode`]){if(!t||!(e in t))continue;let n=t[e],r=N.make(e),i=Ei(r),o=a[i];if(n&&n.length>0)a[i]=R(i,o?.model??oi[r]??`gpt-5.6-terra`,n);else if(o?.options){let{options:e,...t}=o;a[i]=t}}if(gt(i.modelSelectionByProvider,a))return e;let o={...i,modelSelectionByProvider:a},s={...e.draftsByThreadKey};return W(o)?delete s[n]:s[n]=o,{draftsByThreadKey:s}})},setProviderModelOptions:(e,t,n,r)=>{let i=G(a(),e)??``;if(i.length===0)return;let s=Fg(t);if(s===null)return;let c=r?.instanceId??Ei(s),l=Tl(r?.model,s)??oi[s]??`gpt-5.6-terra`,u=n&&n.length>0?n:void 0;o(e=>{let t=e.draftsByThreadKey[i]??iv(),n={...t.modelSelectionByProvider},a=n[c];if(u)n[c]=R(c,a?.model??l,u);else if(a&&(a.options?.length??0)>0){let{options:e,...t}=a;n[c]=t}let o=e.stickyModelSelectionByProvider,s=e.stickyActiveProvider;if(r?.persistSticky===!0){o={...e.stickyModelSelectionByProvider};let n=o[c]??t.modelSelectionByProvider[c]??R(c,l);if(u)o[c]=R(c,n.model,u);else if((n.options?.length??0)>0){let{options:e,...t}=n;o[c]=t}s=r.instanceId?c:t.activeProvider??c}if(gt(t.modelSelectionByProvider,n)&>(e.stickyModelSelectionByProvider,o)&&e.stickyActiveProvider===s)return e;let d={...t,...r?.instanceId?{activeProvider:c}:{},modelSelectionByProvider:n},f={...e.draftsByThreadKey};return W(d)?delete f[i]:f[i]=d,{draftsByThreadKey:f,...r?.persistSticky===!0?{stickyModelSelectionByProvider:o,stickyActiveProvider:s}:{}}})},setRuntimeMode:(e,t)=>{let n=G(a(),e)??``;if(n.length===0)return;let r=Cg(t)?t:null;o(e=>{let t=e.draftsByThreadKey[n];if(!t&&r===null)return e;let i=t??iv();if(i.runtimeMode===r)return e;let a={...i,runtimeMode:r},o={...e.draftsByThreadKey};return W(a)?delete o[n]:o[n]=a,{draftsByThreadKey:o}})},setInteractionMode:(e,t)=>{let n=G(a(),e)??``;if(n.length===0)return;let r=ri(hi)(t)?t:null;o(e=>{let t=e.draftsByThreadKey[n];if(!t&&r===null)return e;let i=t??iv();if(i.interactionMode===r)return e;let a={...i,interactionMode:r},o={...e.draftsByThreadKey};return W(a)?delete o[n]:o[n]=a,{draftsByThreadKey:o}})},setTokenMode:(e,t)=>{let n=G(a(),e)??``;if(n.length===0)return;let r=wg(t)?t:null;o(e=>{let t=e.draftsByThreadKey[n];if(!t&&r===null)return e;let i=t??iv();if(i.tokenMode===r)return e;let a={...i,tokenMode:r},o={...e.draftsByThreadKey};return W(a)?delete o[n]:o[n]=a,{draftsByThreadKey:o}})},addImage:(e,t)=>{let n=G(a(),e),r=dv(a(),e);!n||!r||a().addImages(typeof e==`string`?q_.make(n):e,[t])},addImages:(t,n)=>{let r=G(a(),t)??``;r.length!==0&&n.length!==0&&o(t=>{let i=t.draftsByThreadKey[r]??iv(),a=new Set(i.images.map(e=>e.id)),o=new Set(i.images.map(e=>av(e))),s=new Set(i.images.map(e=>e.previewUrl)),c=[];for(let t of n){let n=av(t);if(a.has(t.id)||o.has(n)){s.has(t.previewUrl)||e.revokePreviewUrl(t.previewUrl);continue}c.push(t),a.add(t.id),o.add(n),s.add(t.previewUrl)}return c.length===0?t:{draftsByThreadKey:{...t.draftsByThreadKey,[r]:{...i,images:[...i.images,...c]}}}})},removeImage:(t,n)=>{let r=G(a(),t)??``;if(r.length===0)return;let i=a().draftsByThreadKey[r];if(!i)return;let s=i.images.find(e=>e.id===n);s&&e.revokePreviewUrl(s.previewUrl),o(e=>{let t=e.draftsByThreadKey[r];if(!t)return e;let i={...t,images:t.images.filter(e=>e.id!==n),nonPersistedImageIds:t.nonPersistedImageIds.filter(e=>e!==n),persistedAttachments:t.persistedAttachments.filter(e=>e.id!==n)},a={...e.draftsByThreadKey};return W(i)?delete a[r]:a[r]=i,{draftsByThreadKey:a}})},updateImage:(e,t,n)=>{let r=G(a(),e)??``;r.length!==0&&o(e=>{let i=e.draftsByThreadKey[r];if(!i)return e;let a=i.images.findIndex(e=>e.id===t);if(a===-1)return e;let o=n(i.images[a]);if(o===i.images[a])return e;let s=[...i.images];s[a]=o;let c={...i,images:s};return{draftsByThreadKey:{...e.draftsByThreadKey,[r]:c}}})},insertTerminalContext:(e,t,n,r)=>{let i=G(a(),e),s=dv(a(),e);if(!i||!s)return!1;let c=!1;return o(e=>{let a=e.draftsByThreadKey[i]??iv(),o=sv(s,n);if(!o)return e;let l=ov(o);if(a.terminalContexts.some(e=>e.id===o.id)||a.terminalContexts.some(e=>ov(e)===l))return e;c=!0;let u=Math.max(0,Math.min(a.terminalContexts.length,r)),d={...a,prompt:t,terminalContexts:[...a.terminalContexts.slice(0,u),o,...a.terminalContexts.slice(u)]};return{draftsByThreadKey:{...e.draftsByThreadKey,[i]:d}}}),c},addTerminalContext:(e,t)=>{let n=G(a(),e),r=dv(a(),e);!n||!r||a().addTerminalContexts(typeof e==`string`?q_.make(n):e,[t])},addTerminalContexts:(e,t)=>{let n=G(a(),e),r=dv(a(),e);!n||!r||t.length===0||o(e=>{let i=e.draftsByThreadKey[n]??iv(),a=cv(r,[...i.terminalContexts,...t]).slice(i.terminalContexts.length);return a.length===0?e:{draftsByThreadKey:{...e.draftsByThreadKey,[n]:{...i,prompt:gg(i.prompt,i.terminalContexts.length+a.length),terminalContexts:[...i.terminalContexts,...a]}}}})},removeTerminalContext:(e,t)=>{let n=G(a(),e)??``;n.length!==0&&t.length!==0&&o(e=>{let r=e.draftsByThreadKey[n];if(!r)return e;let i={...r,terminalContexts:r.terminalContexts.filter(e=>e.id!==t)},a={...e.draftsByThreadKey};return W(i)?delete a[n]:a[n]=i,{draftsByThreadKey:a}})},clearTerminalContexts:e=>{let t=G(a(),e)??``;t.length!==0&&o(e=>{let n=e.draftsByThreadKey[t];if(!n||n.terminalContexts.length===0)return e;let r={...n,terminalContexts:[]},i={...e.draftsByThreadKey};return W(r)?delete i[t]:i[t]=r,{draftsByThreadKey:i}})},addSourceControlContext:(e,t)=>{let n=G(a(),e)??``;if(n.length===0)return{added:!1};let r=`${t.provider}:${t.reference}`,i=!1;return o(e=>{let a=e.draftsByThreadKey[n]??iv();return i=a.sourceControlContexts.some(e=>`${e.provider}:${e.reference}`===r),i?e:{draftsByThreadKey:{...e.draftsByThreadKey,[n]:{...a,sourceControlContexts:[...a.sourceControlContexts,t]}}}}),i?{added:!1,reason:`duplicate`}:{added:!0}},removeSourceControlContext:(e,t)=>{let n=G(a(),e)??``;n.length!==0&&o(e=>{let r=e.draftsByThreadKey[n];if(!r)return e;let i={...r,sourceControlContexts:r.sourceControlContexts.filter(e=>e.id!==t)},a={...e.draftsByThreadKey};return W(i)?delete a[n]:a[n]=i,{draftsByThreadKey:a}})},clearSourceControlContexts:e=>{let t=G(a(),e)??``;t.length!==0&&o(e=>{let n=e.draftsByThreadKey[t];if(!n||n.sourceControlContexts.length===0)return e;let r={...n,sourceControlContexts:[]},i={...e.draftsByThreadKey};return W(r)?delete i[t]:i[t]=r,{draftsByThreadKey:i}})},clearPersistedAttachments:e=>{let t=G(a(),e)??``;t.length!==0&&o(e=>{let n=e.draftsByThreadKey[t];if(!n)return e;let r={...n,persistedAttachments:[],nonPersistedImageIds:[]},i={...e.draftsByThreadKey};return W(r)?delete i[t]:i[t]=r,{draftsByThreadKey:i}})},syncPersistedAttachments:(e,t)=>{let n=G(a(),e);if(!n)return;let i=new Set(t.map(e=>e.id));o(e=>{let r=e.draftsByThreadKey[n];if(!r)return e;let a={...r,persistedAttachments:t,nonPersistedImageIds:r.nonPersistedImageIds.filter(e=>!i.has(e))},o={...e.draftsByThreadKey};return W(a)?delete o[n]:o[n]=a,{draftsByThreadKey:o}}),Promise.resolve().then(()=>{r(n,t,o)})},clearPromptAndImages:e=>{let t=G(a(),e)??``;t.length!==0&&o(e=>{let n=e.draftsByThreadKey[t];if(!n)return e;let r={...n,prompt:gg(``,n.terminalContexts.length),images:[],nonPersistedImageIds:[],persistedAttachments:[]},i={...e.draftsByThreadKey};return W(r)?delete i[t]:i[t]=r,{draftsByThreadKey:i}})},clearComposerContent:e=>{let t=G(a(),e)??``;t.length!==0&&o(e=>{let n=e.draftsByThreadKey[t];if(!n)return e;let r={...n,prompt:``,images:[],nonPersistedImageIds:[],persistedAttachments:[],terminalContexts:[],sourceControlContexts:[]},i={...e.draftsByThreadKey};return W(r)?delete i[t]:i[t]=r,{draftsByThreadKey:i}})}}},{name:xg,version:7,storage:o_(()=>e.storage),migrate:e=>t_(e),partialize:e=>n_(e),merge:(t,n)=>{let r=r_(t),i=Object.fromEntries(Object.entries(r.draftsByThreadKey).map(([t,n])=>[t,i_(n,e.hydrateImages)])),a=Object.fromEntries(Object.entries(r.draftThreadsByThreadKey).map(([e,t])=>[e,a_(t)]));return{...n,draftsByThreadKey:i,draftThreadsByThreadKey:a,logicalProjectDraftThreadKeyByLogicalProjectKey:r.logicalProjectDraftThreadKeyByLogicalProjectKey,stickyModelSelectionByProvider:r.stickyModelSelectionByProvider??{},stickyActiveProvider:r.stickyActiveProvider??null}}}));function a(e){let t=i.getState(),n=[];for(let[r,i]of Object.entries(t.draftThreadsByThreadKey))i.threadId===e&&n.push(q_.make(r));if(n.length!==0)for(let e of n)t.markDraftThreadPromoting(e)}function o(e){let t=i.getState();for(let[n,r]of Object.entries(t.draftThreadsByThreadKey))r.environmentId===e.environmentId&&r.threadId===e.threadId&&t.markDraftThreadPromoting(q_.make(n),e)}function s(e){for(let t of e)a(t)}function c(e){for(let t of e)o(t)}function u(e){let t=i.getState();for(let[n,r]of Object.entries(t.draftThreadsByThreadKey))r.promotedTo&&r.promotedTo.environmentId===e.environmentId&&r.promotedTo.threadId===e.threadId&&t.finalizePromotedDraftThread(q_.make(n))}function d(e){for(let t of e)u(t)}return{useComposerDraftStore:i,markPromotedDraftThread:a,markPromotedDraftThreadByRef:o,markPromotedDraftThreads:s,markPromotedDraftThreadsByRef:c,finalizePromotedDraftThreadByRef:u,finalizePromotedDraftThreadsByRef:d}}var bv=/(^|\s)\$([a-zA-Z][a-zA-Z0-9:_-]*)(?=\s)/g,xv=/(^|\s)@(?:"((?:\\.|[^"\\])*)"|([^\s@"]+))(?=\s)/g;function Sv(e,t,n){return e<=n&&n<t}function Cv(e,t){if(!t)return;let n=e[e.length-1];if(n&&n.type===`text`){n.text+=t;return}e.push({type:`text`,text:t})}function wv(e){let t=[];for(let n of e.matchAll(xv)){let e=n[0],r=n[1]??``,i=n[2],a=n[3],o=i===void 0?a??``:i.replace(/\\(.)/g,`$1`),s=(n.index??0)+r.length,c=s+e.length-r.length;o.length>0&&t.push({type:`mention`,value:o,start:s,end:c})}return t}function Tv(e){let t=wv(e);for(let n of e.matchAll(bv)){let e=n[0],r=n[1]??``,i=n[2]??``,a=(n.index??0)+r.length,o=a+e.length-r.length;i.length>0&&t.push({type:`skill`,value:i,start:a,end:o})}return t.toSorted((e,t)=>e.start-t.start)}function Ev(e,t){let n=0;for(let r=0;r<e.length;r+=1)if(e[r]===``){if(r>n&&t({type:`text`,text:e.slice(n,r),promptOffset:n})===!0||t({type:`terminal-context`,promptOffset:r})===!0)return!0;n=r+1}return n<e.length&&t({type:`text`,text:e.slice(n),promptOffset:n})===!0}function Dv(e,t){return Ev(e,e=>e.type===`text`&&t(e.text,e.promptOffset))}function Ov(e,t){return Dv(e,(e,n)=>{for(let r of wv(e))if(t(r,n)===!0)return!0;return!1})}function kv(e){let t=[];if(!e)return t;let n=Tv(e),r=0;for(let i of n)i.start<r||(i.start>r&&Cv(t,e.slice(r,i.start)),i.type===`mention`?t.push({type:`mention`,path:i.value}):t.push({type:`skill`,name:i.value}),r=i.end);return r<e.length&&Cv(t,e.slice(r)),t}function Av(e,t,n){return!e||t>=n?!1:Ov(e,(r,i)=>{let a=i+r.start,o=i+r.end,s=a-1,c=o;return!!(s>=0&&/\s/.test(e[s]??``)&&Sv(t,n,s)||c<e.length&&/\s/.test(e[c]??``)&&Sv(t,n,c))})}function jv(e,t=[]){if(!e)return[];let n=[],r=0;return Ev(e,e=>e.type===`text`?(n.push(...kv(e.text)),!1):(n.push({type:`terminal-context`,context:t[r]??null}),r+=1,!1)),n}var Mv=/^[^\s@"\\]+$/;function Nv(e){return Mv.test(e)?e:`"${e.replaceAll(`\\`,`\\\\`).replaceAll(`"`,`\\"`)}"`}var Pv=e=>e.type!==`text`;function Fv(e,t){return Number.isFinite(t)?Math.max(0,Math.min(e.length,Math.floor(t))):e.length}function Iv(e){return e===` `||e===`
|
|
10
|
-
`||e===` `||e===`\r`||e===``}function Lv(e,t){let n=t-1;for(;n>=0&&!Iv(e[n]??``);)--n;return n+1}function Rv(e){return/[\s"'`]/.test(e)?e.includes(`"`)?e.includes(`'`)?JSON.stringify(e):`'${e}'`:`"${e}"`:e}function zv(e){let t=e.replaceAll(`\\`,`/`),n=/^[a-z]:/i.test(t),r=/^\/\/[^/]/.test(t),i=t.replace(/\/+/g,`/`).replace(/\/$/g,``);return n||r?i.toLowerCase():i}function Bv(e){return e.startsWith(`/`)||/^[a-z]:[\\/]/i.test(e)||/^\\\\[^\\]/.test(e)}function Vv(e,t){if(!Bv(e)||!Bv(t))return!1;let n=zv(e),r=zv(t);return n===r||n.startsWith(`${r}/`)}function Hv(e){return!e.isLocalDesktopEnvironment||!e.resolvedPath||!Bv(e.resolvedPath)?!1:e.runtimeMode===`full-access`?!0:e.cwd?Vv(e.resolvedPath,e.cwd):!1}function Uv(e,t){let n=Fv(e,t),r=jv(e);if(r.length===0)return n;let i=n,a=0;for(let e of r){if(e.type===`mention`){let t=Nv(e.path).length+1;if(i<=1)return a+(i===0?0:t);--i,a+=t;continue}if(e.type===`skill`){let t=e.name.length+1;if(i<=1)return a+(i===0?0:t);--i,a+=t;continue}if(e.type===`terminal-context`){if(i<=1)return a+i;--i,a+=1;continue}let t=e.text.length;if(i<=t)return a+i;i-=t,a+=t}return a}function Wv(e){return e.type===`text`?e.text.length:1}function Gv(e,t){let n=e.reduce((e,t)=>e+Wv(t),0);return Number.isFinite(t)?Math.max(0,Math.min(n,Math.floor(t))):n}function Kv(e,t){return Gv(jv(e),t)}function qv(e,t){let n=Fv(e,t),r=jv(e);if(r.length===0)return n;let i=n,a=0;for(let e of r){if(e.type===`mention`){let t=Nv(e.path).length+1;if(i===0)return a;if(i<=t)return a+1;i-=t,a+=1;continue}if(e.type===`skill`){let t=e.name.length+1;if(i===0)return a;if(i<=t)return a+1;i-=t,a+=1;continue}if(e.type===`terminal-context`){if(i<=1)return a+i;--i,a+=1;continue}let t=e.text.length;if(i<=t)return a+i;i-=t,a+=t}return a}function Jv(e,t,n){let r=jv(e);if(!r.some(Pv))return!1;let i=Gv(r,t),a=0;for(let e of r){if(Pv(e)&&(n===`left`&&i===a+1||n===`right`&&i===a))return!0;a+=Wv(e)}return!1}function Yv(e,t){let n=Fv(e,t),r=e.lastIndexOf(`
|
|
11
|
-
`,Math.max(0,n-1))+1,i=e.slice(r,n);if(i.startsWith(`/`)){let e=/^\/(\S*)$/.exec(i);if(e)return{kind:`slash-command`,query:e[1]??``,rangeStart:r,rangeEnd:n}}let a=Lv(e,n),o=e.slice(a,n);if(o.startsWith(`$`))return{kind:`skill`,query:o.slice(1),rangeStart:a,rangeEnd:n};if(o.startsWith(`#`)){let e=o.slice(1);return{kind:`source-control`,query:e,rangeStart:a,rangeEnd:n,directAttach:/^[1-9]\d*$/.test(e)}}return o.startsWith(`@`)?{kind:`path`,query:o.slice(1),rangeStart:a,rangeEnd:n}:null}function Xv(e){let t=/^\/(plan|default)\s*$/i.exec(e.trim());return t?t[1]?.toLowerCase()===`plan`?`plan`:`default`:null}function Zv(e){let t=/^\/goal(?:\s+([\s\S]*))?$/i.exec(e.trim());if(!t)return null;let n=t[1]?.trim()??``;if(!n)return{action:`show`};switch(n.toLowerCase()){case`pause`:return{action:`pause`};case`resume`:return{action:`resume`};case`clear`:return{action:`clear`};default:return{action:`set`,objective:n}}}function Qv(e,t,n,r){let i=Math.max(0,Math.min(e.length,t)),a=Math.max(i,Math.min(e.length,n));return{text:`${e.slice(0,i)}${r}${e.slice(a)}`,cursor:i+r.length}}function $v(e){if(!e.threadStarted)return{mode:`all-ready`,lockedProvider:null,reason:null};let t=e.isPhoneTier?`phone-tier`:e.phase===`running`||e.orchestrationStatus===`running`?`running`:e.orchestrationStatus===`starting`?`starting`:e.phase===`connecting`||e.isConnecting?`connecting`:e.isPreparingWorktree?`worktree-preparation`:e.isSendBusy?`local-dispatch`:e.hasPendingApproval?`pending-approval`:e.hasPendingUserInput?`pending-input`:e.hasQueuedMessage?`queued-message`:e.isRevertingCheckpoint?`checkpoint-revert`:e.mutationAllowed?e.environmentAvailable?null:`environment-unavailable`:`mutation-unavailable`;return t===null?{mode:`all-ready`,lockedProvider:null,reason:null}:{mode:`continuation-only`,lockedProvider:e.canonicalProvider,reason:t}}function ey(e){return!e.threadStarted||e.policy.mode===`all-ready`||!jl(e)}function ty(e,t){return e===`ask`&&!t?`default`:e}var ny=`ryco:prompt-stash:v1`,ry=1e6,iy=2e6,ay=M.check(or(255)),oy=qt.check(Ir(),zr(0)),sy=100,cy=A({id:M.check(Li(1),or(128)),createdAt:M.check(Li(1),or(64)),prompt:M,attachments:Cn(Eg),droppedImageNames:Cn(ay),unreadableImageNames:Cn(ay),pendingImageCount:oy});A({entries:Cn(cy)});function ly(e){return{kept:e.slice(0,20),evicted:e.slice(20)}}function uy(e){return e.reduce((e,t)=>e+(t.dataUrl?.length??0),0)}function dy(e,t=0){let n=[],r=[],i=0,a=Math.max(0,t);for(let t of e){let e=t.dataUrl?.length??0,o=i+e>ry,s=a+e>iy;if(o||s){r.push(t.name);continue}n.push(t),i+=e,a+=e}return{kept:n,droppedNames:r,keptChars:i}}function fy(e,t){return e.reduce((e,n)=>n.id===t?e:e+uy(n.attachments),0)}function py(e){if(e.pendingImageCount===0)return e;let t=Math.min(e.pendingImageCount,sy),n=e.pendingImageCount-t;return{...e,unreadableImageNames:[...e.unreadableImageNames,...Array.from({length:t},(e,t)=>`image ${t+1} (not saved before reload)`),...n>0?[`${n} additional images (not saved before reload)`]:[]],pendingImageCount:0}}function my(e){if(!e||typeof e!=`object`)return{entries:[]};let t=e.entries;if(!Array.isArray(t))return{entries:[]};let n=[];for(let e of t)if(ri(cy)(e)&&Number.isFinite(Date.parse(e.createdAt))&&(n.push(py(e)),n.length===20))break;let r=0,i=[];for(let e of n){let t=dy(e.attachments,r);if(r+=t.keptChars,t.droppedNames.length===0){i.push(e);continue}i.push({...e,attachments:t.kept,droppedImageNames:[...e.droppedImageNames,...t.droppedNames]})}return{entries:i}}function hy(e){if(!(!e.isLocalDraftThread&&!e.baseBranchForWorktree))return{...e.isLocalDraftThread?{createThread:{projectId:e.projectId,title:e.title,modelSelection:e.threadCreateModelSelection,runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,tokenMode:e.tokenMode,branch:e.activeThreadBranch,worktreePath:e.worktreePath,createdAt:e.threadCreatedAt}}:{},...e.baseBranchForWorktree?{prepareWorktree:{projectCwd:e.projectCwd,baseBranch:e.baseBranchForWorktree,...e.fetchOrigin===void 0?{}:{fetchOrigin:e.fetchOrigin},...e.shouldMaterializeLegacyBranchWorktree?{}:{branch:e.worktreeBranchName||Te()}},runSetupScript:!0}:{}}}var gy=`[User attached one or more files without additional text. Respond using the conversation context and the attachment(s).]`;function _y(e){return R(e.selectedModelSelection.instanceId,e.selectedModel||e.defaultModel||`gpt-5.6-terra`,e.selectedModelSelection.options)}function vy(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t)}function yy(e){return`uri`in e?e.uri:`data:${e.mime};base64,${vy(e.bytes)}`}function by(e){return{type:e.type??`image`,name:e.name,mimeType:e.attachment.mime,sizeBytes:e.attachment.size,dataUrl:yy(e.attachment)}}function xy(e){return{type:`file`,name:e.name,mimeType:e.mimeType,sizeBytes:e.sizeBytes,uploadToken:e.uploadToken}}async function Sy(e){e.isFirstMessage&&e.isServerThread&&await e.api.orchestration.dispatchCommand({type:`thread.meta.update`,commandId:e.newCommandId(),threadId:e.threadId,title:e.title}),e.isServerThread&&await e.persistThreadSettingsForNextTurn({threadId:e.threadId,createdAt:e.createdAt,runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,tokenMode:e.tokenMode}),e.beginLocalDispatch({preparingWorktree:!1}),await e.api.orchestration.dispatchCommand({type:`thread.turn.start`,commandId:e.newCommandId(),threadId:e.threadId,message:{messageId:e.messageId,role:`user`,text:e.outgoingMessageText,attachments:e.turnAttachments},modelSelection:e.modelSelection,titleSeed:e.title,runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,tokenMode:e.tokenMode,...e.goal?{goal:e.goal}:{},...e.bootstrap?{bootstrap:e.bootstrap}:{},...e.sourceControlContexts.length>0?{sourceControlContexts:e.sourceControlContexts}:{},createdAt:e.createdAt})}function Cy(e){return Hh({environmentId:e.environmentId,pathname:`/attachments/upload`,searchParams:{token:e.uploadToken}})}function wy(e){return new Promise((t,n)=>{let r=new XMLHttpRequest;r.open(`POST`,e.url,!0),r.withCredentials=!0,r.responseType=`text`,r.upload.addEventListener(`progress`,t=>{!e.onProgress||!t.lengthComputable||t.total<=0||e.onProgress(Math.min(1,t.loaded/t.total))}),r.addEventListener(`load`,()=>{if(r.status<200||r.status>=300){n(Error(`The upload was rejected (${r.status}).`));return}e.onProgress?.(1);try{t(JSON.parse(r.responseText||`{}`))}catch{t({})}}),r.addEventListener(`error`,()=>{n(Error(`The upload could not reach the server.`))}),r.addEventListener(`abort`,()=>{n(Error(`The upload was cancelled.`))}),r.setRequestHeader(`Content-Type`,`application/octet-stream`),r.send(new Uint8Array(e.bytes))})}var Ty=Kh({createFileUploadUrl:async e=>{let{readEnvironmentConnection:t}=await i(async()=>{let{readEnvironmentConnection:e}=await Promise.resolve().then(()=>QM);return{readEnvironmentConnection:e}},void 0),n=t(e.environmentId);if(!n)throw Error(`The environment is not connected.`);let{environmentId:r,...a}=e;return n.client.chatAttachments.createFileUpload(a)},transferBytes:async e=>{let t=await wy({url:Cy({environmentId:e.environmentId,uploadToken:e.uploadToken}),bytes:e.bytes,...e.onProgress?{onProgress:e.onProgress}:{}});return{...typeof t.name==`string`?{name:t.name}:{},...typeof t.mimeType==`string`?{mimeType:t.mimeType}:{},...typeof t.sizeBytes==`number`?{sizeBytes:t.sizeBytes}:{}}}});function Ey(e,t){for(let n of e)t.has(n)||Ty.release(n)}function Dy(e){Ty.seedUploaded({...e,threadId:``,environmentId:``})}function Oy(e){Ty.seedNeedsReattach(e)}function ky(e){for(let t of e.attachments){if(t.type!==`file`)continue;let n=Ty.get(t.id)?.status;if(n){if(n.kind===`pending`||n.kind===`uploading`)return`Uploading '${t.name}'…`;if(n.kind===`failed`)return`'${t.name}' failed to upload. Retry it or remove it.`;if(n.kind===`needsReattach`||n.kind===`uploaded`&&!Wh(n.expiresAt,e.nowMs))return`Attach '${t.name}' again to send this message.`;continue}if(t.file===null&&!Ay(t,e.nowMs))return`Attach '${t.name}' again to send this message.`}return null}function Ay(e,t){return e.uploadToken!==void 0&&e.expiresAt!==void 0&&Wh(e.expiresAt,t)}function jy(){return(0,L.useSyncExternalStore)(Ty.subscribe,Ny,My)}function My(){return Ty.snapshot()}function Ny(){return Ty.snapshot()}function Py(e){let t=(0,zl.c)(4),n;t[0]===e?n=t[1]:(n=t=>t.byId[e]?.descriptor??null,t[0]=e,t[1]=n);let r=U(n),i=je(),a=(i?.environmentId===e?i:r)?.capabilities,o;return t[2]===a?o=t[3]:(o=Gh(a),t[2]=a,t[3]=o),o}var Fy=$d(typeof localStorage<`u`&&!y()?localStorage:Xd(),300);typeof window<`u`&&typeof window.addEventListener==`function`&&window.addEventListener(`beforeunload`,()=>{Fy.flush()});function Iy(e){if(e.length===0)return[];try{let t=Qm(xg,jg);return!t||t.version!==7?[]:(t.state.draftsByThreadKey[e]?.attachments??[]).map(e=>e.id)}catch{return[]}}function Ly(e,t){let n=t.indexOf(`,`),r=n===-1?t:t.slice(0,n),i=n===-1?``:t.slice(n+1);if(i.length===0)return null;try{if(!r.includes(`;base64`)){let t=decodeURIComponent(i),n=r.startsWith(`data:`)&&r.includes(`;`)?r.slice(5,r.indexOf(`;`)):e.mimeType;return new File([t],e.name,{type:n||e.mimeType})}let t=atob(i),n=new Uint8Array(t.length);for(let e=0;e<t.length;e+=1)n[e]=t.charCodeAt(e);return new File([n],e.name,{type:e.mimeType})}catch{return null}}function Ry(e){return zy(e).images}function zy(e){let t=[],n=[];for(let r of e){if(!r.dataUrl){r.uploadToken&&r.expiresAt?Dy({attachmentId:r.id,name:r.name,mimeType:r.mimeType,sizeBytes:r.sizeBytes,uploadToken:r.uploadToken,expiresAt:r.expiresAt}):Oy(r.id),t.push({type:`file`,id:r.id,name:r.name,mimeType:r.mimeType,sizeBytes:r.sizeBytes,previewUrl:``,file:null});continue}let e=Ly(r,r.dataUrl);if(!e){n.push(r.name);continue}t.push({type:r.type??(r.mimeType.startsWith(`image/`)?`image`:`file`),id:r.id,name:r.name,mimeType:r.mimeType,sizeBytes:r.sizeBytes,previewUrl:r.dataUrl,file:e})}return{images:t,unreadableImageNames:n}}function By(e){typeof URL>`u`||e.startsWith(`blob:`)&&URL.revokeObjectURL(e)}var Vy=yv({storage:Fy,flushStorage:()=>Fy.flush(),revokePreviewUrl:By,hydrateImages:Ry,readPersistedAttachmentIds:Iy}),Hy=Vy.useComposerDraftStore;Vy.markPromotedDraftThread;var Uy=Vy.markPromotedDraftThreadByRef;Vy.markPromotedDraftThreads;var Wy=Vy.markPromotedDraftThreadsByRef,Gy=Vy.finalizePromotedDraftThreadByRef;Vy.finalizePromotedDraftThreadsByRef;function Ky(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 qy=new Map,Jy=Cc({canReadConnections:()=>!0,readClient:e=>sP(e)?.client??null});function Yy(e){return qy.get(e)??Jy.read(e)}function Xy(e,t){return qy.get(e)??(t?Sc(t):void 0)}function Zy(e){let t=Yy(e);if(!t)throw Error(`Environment API not found for environment ${e}`);return t}Object.freeze({entries:[],truncated:!1});var Qy=Object.freeze({data:null,isLoading:!1,isFetching:!1,error:null}),$y=Qy,eb=D(Qy).pipe(k,f(`project-search-entries:null`)),tb=new Set,nb=new Map,rb=it(e=>(tb.add(e),D(Qy).pipe(k,f(`project-search-entries:${e}`))));function ib(e,t,n){return`${e}::${t}::${n}`}function ab(e){return e.environmentId===null||e.cwd===null?null:ib(e.environmentId,e.cwd,e.limit??80)}function ob(e){return e===null?eb:rb(e)}function sb(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 cb(e,t,n){let r=ib(e,t,n),i=nb.get(r);return i||(i={environmentId:e,cwd:t,limit:n,token:0,inFlightQuery:null,lastInput:null,observerCount:0,cache:new Map},nb.set(r,i)),i}function lb(e,t){let n=rb(e),r=T.get(n);(r.data!==t.data||r.isLoading!==t.isLoading||r.isFetching!==t.isFetching||r.error!==t.error)&&T.set(n,t)}function ub(e){let t=T.get(rb(e));lb(e,{data:t.data,isLoading:t.data===null,isFetching:!0,error:null})}function db(e,t){lb(e,{data:t,isLoading:!1,isFetching:!1,error:null})}function fb(e,t){lb(e,{data:T.get(rb(e)).data,isLoading:!1,isFetching:!1,error:t})}function pb(e,t,n){let r=n.query,i=++t.token;t.inFlightQuery=r,ub(e);let a;try{a=Zy(n.environmentId)}catch(n){t.token===i&&(t.inFlightQuery=null,fb(e,mb(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,db(e,n))}).catch(n=>{t.token===i&&(t.inFlightQuery=null,fb(e,mb(n)))})}function mb(e){return e instanceof Error?e:Error(String(e))}function hb(e,t){let n=sb(e);if(n===null)return;let r=ib(n.environmentId,n.cwd,n.limit),i=cb(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){db(r,e.result);return}if(i.inFlightQuery===n.query)return}pb(r,i,n)}function gb(e){if(e.environmentId===null||e.cwd===null)return;let t=cb(e.environmentId,e.cwd,e.limit??80);t.observerCount+=1}function _b(e){let t=ab(e);if(t===null)return;let n=nb.get(t);n&&n.observerCount>0&&--n.observerCount}function vb(e){let t=e?.environmentId??null,n=e?.cwd??null;for(let e of nb.values())(t===null||e.environmentId===t)&&(n===null||e.cwd===n)&&(e.cache.clear(),e.observerCount>0&&e.lastInput!==null&&hb(e.lastInput,{force:!0}))}var yb=Object.freeze({data:null,isLoading:!1,isFetching:!1,error:null,isPending:!0}),bb=yb,xb=`\0`,Sb=new Set,Cb=it(e=>(Sb.add(e),D(yb).pipe(k,f(`filesystem-browse:${e}`)))),wb=D(yb).pipe(k,f(`filesystem-browse:null`)),Tb=new Map;function Eb(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}${xb}${t??``}${xb}${e.partialPath}`;return{environmentId:e.environmentId,partialPath:e.partialPath,cwd:t,staleTime:e.staleTime??3e4,compositeKey:n}}function Db(e){return Eb(e)?.compositeKey??null}function Ob(e){return e===null?wb:Cb(e)}function kb(e,t){T.set(Cb(e),t)}function Ab(e){return T.get(Cb(e))}async function jb(e){let t=++e.fetchToken;e.fetching=!0;let n=Ab(e.compositeKey);kb(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?Yy(e.environmentId):r;if(!i){if(t!==e.fetchToken)return;e.fetching=!1,kb(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,kb(e.compositeKey,{data:n,isLoading:!1,isFetching:!1,error:null,isPending:!1})}catch(n){if(t!==e.fetchToken)return;e.fetching=!1;let r=mb(n);kb(e.compositeKey,{data:Ab(e.compositeKey).data,isLoading:!1,isFetching:!1,error:r,isPending:!1})}}function Mb(e){let t=Tb.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},Tb.set(e.compositeKey,t)),t}function Nb(e){let t=Mb(e),n=t.hasData&&Date.now()-t.lastFetchedAt>=t.staleTime;!t.fetching&&(!t.hasData||n)&&jb(t)}function Pb(e,t){let n=Eb(e);if(n===null)return;let r=Mb(n);if(!t?.force){if(r.hasData&&Date.now()-r.lastFetchedAt<n.staleTime){kb(n.compositeKey,{data:r.lastResult,isLoading:!1,isFetching:!1,error:null,isPending:!1});return}if(r.fetching)return}jb(r)}function Fb(e,t){let n=Eb(e);if(n===null)return()=>void 0;let r=Mb(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,Nb(n),()=>{let e=Tb.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 Ib(e){Pb(e)}function Lb(){for(let e of tb)T.set(rb(e),Qy);tb.clear(),nb.clear();for(let e of Tb.values())e.fetchToken+=1;Tb.clear();for(let e of Sb)T.set(Cb(e),yb);Sb.clear()}function Rb(e){return JSON.stringify([e.environmentId??null,e.threadId,e.fromTurnCount,e.toTurnCount,e.ignoreWhitespace,e.cacheScope??null])}function zb(e){return e.fromTurnCount===0?$r(zn)({threadId:e.threadId,toTurnCount:e.toTurnCount,ignoreWhitespace:e.ignoreWhitespace}).pipe(Bi(e=>({kind:`fullThreadDiff`,input:e}))):$r(Lt)({threadId:e.threadId,fromTurnCount:e.fromTurnCount,toTurnCount:e.toTurnCount,ignoreWhitespace:e.ignoreWhitespace}).pipe(Bi(e=>({kind:`turnDiff`,input:e})))}function Bb(e){return(e.enabled??!0)&&!!e.environmentId&&!!e.threadId&&sr(zb(e))}function Vb(e){return e instanceof Error?e.message:typeof e==`string`?e:``}function Hb(e){let t=Vb(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 Ub(e){let t=Vb(e).toLowerCase();return t.includes(`exceeds current turn count`)||t.includes(`checkpoint is unavailable for turn`)||t.includes(`filesystem checkpoint is unavailable`)}function Wb(e,t){return Ub(t)?e<12:e<3}function Gb(e,t){return Ub(t)?Math.min(5e3,250*2**(e-1)):Math.min(1e3,100*2**(e-1))}async function Kb(e){let t=zb(e);if(!e.environmentId||!e.threadId||Lr(t))throw Error(`Checkpoint diff is unavailable.`);let n=Zy(e.environmentId);return t.value.kind===`fullThreadDiff`?await n.orchestration.getFullThreadDiff(t.value.input):await n.orchestration.getTurnDiff(t.value.input)}var qb=Object.freeze({data:null,error:null,isLoading:!1}),Jb=Object.freeze({data:null,error:null,isLoading:!0}),Yb=qb,Xb=D(Yb).pipe(k,f(`checkpoint-diff:disabled`)),Zb=new Set,Qb=it(e=>(Zb.add(e),D(Jb).pipe(k,f(`checkpoint-diff:${e}`)))),$b=new Map,ex=new Map,tx=()=>void 0;function nx(e,t){T.set(Qb(e),t)}function rx(e){return T.get(Qb(e))}function ix(e){return new Promise(t=>{setTimeout(t,e)})}function ax(e){let t=++e.generation;e.fetching=!0;let n=rx(e.key);nx(e.key,{data:n.data,error:null,isLoading:n.data===null}),(async()=>{let n=0;for(;;)try{let n=await Kb(e.input);if(e.generation!==t)return;e.fetching=!1,e.hasResolved=!0,nx(e.key,{data:n,error:null,isLoading:!1});return}catch(r){let i=Error(Hb(r),{cause:r});if(n+=1,e.generation!==t)return;if(!Wb(n,i)){e.fetching=!1,nx(e.key,{data:null,error:i,isLoading:!1});return}if(await ix(Gb(n,i)),e.generation!==t)return}})()}function ox(e,t){let n=ex.get(e);if(n){n.add(t);return}ex.set(e,new Set([t]))}function sx(e){if(!Bb(e)||e.threadId===null)return tx;let t=Rb(e),n=$b.get(t);return n||(n={key:t,input:e,threadId:e.threadId,refCount:0,generation:0,hasResolved:!1,fetching:!1},$b.set(t,n),ox(e.threadId,t)),n.refCount+=1,!n.hasResolved&&!n.fetching&&ax(n),()=>{let e=$b.get(t);e&&(e.refCount=Math.max(0,e.refCount-1))}}function cx(e){if(e.hasResolved=!1,e.refCount>0){ax(e);return}e.generation+=1,e.fetching=!1}function lx(){for(let e of $b.values())cx(e)}function ux(){for(let e of $b.values())e.generation+=1;$b.clear(),ex.clear();for(let e of Zb)nx(e,Jb);Zb.clear()}function dx(){return Pc(c,g.origin())}var fx=e=>dx().bootstrapRemoteBearerSession(e),px=e=>dx().fetchRemoteSessionState(e),mx=e=>dx().fetchRemoteEnvironmentDescriptor(e),hx=e=>dx().resolveRemoteWebSocketConnectionUrl(e);function gx(e){return Rc(e,g.origin(),{readPairingToken:ia,readHostedPairingRequest:po})}var _x=Object.freeze({lastSnapshotSequence:null,lastEventSequence:null,highestSequence:null,eventCount:0,snapshotCount:0,gapCount:0,lastGap:null,updatedAt:null});function vx(){return new Date().toISOString()}function yx(e,t,n){let r=e??_x,i=r.highestSequence===null?t:Math.max(r.highestSequence,t);return{...r,lastSnapshotSequence:t,highestSequence:i,snapshotCount:r.snapshotCount+1,updatedAt:n}}function bx(e,t,n){let r=e??_x,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 xx=O()(e=>({byEnvironment:{},recordSnapshot:(t,n)=>e(e=>({byEnvironment:{...e.byEnvironment,[t]:yx(e.byEnvironment[t],n,vx())}})),recordEvent:(t,n)=>e(e=>({byEnvironment:{...e.byEnvironment,[t]:bx(e.byEnvironment[t],n,vx())}})),reset:()=>e({byEnvironment:{}})}));function Sx(e,t){try{xx.getState().recordSnapshot(e,t)}catch{}}function Cx(e,t){try{xx.getState().recordEvent(e,t)}catch{}}var wx={recordEvent:Cx,recordSnapshot:Sx};function Tx(e){return m({...e,pushSequenceMonitor:wx})}F()(`@ryco/client-runtime/platform/Endpoint`),F()(`@ryco/client-runtime/platform/Socket`),F()(`@ryco/client-runtime/platform/AppLifecycle`),F()(`@ryco/client-runtime/platform/KV`),F()(`@ryco/client-runtime/platform/SecretKV`),F()(`@ryco/client-runtime/platform/PasskeyCeremony`),F()(`@ryco/client-runtime/platform/SessionCredentials`),F()(`@ryco/client-runtime/platform/DpopSigner`),F()(`@ryco/client-runtime/platform/PairingCredentialSource`),F()(`@ryco/client-runtime/platform/AttachmentCodec`),F()(`@ryco/client-runtime/platform/Clock`),F()(`@ryco/client-runtime/platform/FrameScheduler`);var Ex=Xr({span(e){return new St(e)}}),Dx={tracingLayer:It(pn,Ex),performanceEnabled:()=>!1,recordPerformance:()=>void 0};ji(`@ryco/client-runtime/platform/Observability`,{defaultValue:()=>Dx}),F()(`@ryco/client-runtime/platform/ClientRuntimeConfig`);var Ox={clock:{now:()=>Date.now()},frameScheduler:{scheduleFrame:e=>void Promise.resolve().then(e)},observability:Dx,isHostedHubMode:()=>!1,resolveAttachmentPreviewUrl:({attachmentId:e})=>e},kx=null;function Ax(e){kx=e}function jx(e){kx=null,Ox=e}function Mx(){if(kx){let e=kx;kx=null,e()}return Ox}var Nx=`context-compaction`,Px=Ni(Ht);function Fx(e){return e.kind===Nx}function Ix(e){if(e.kind!==`context-handoff`)return!1;try{let t=Px(e.payload);return t.status===`consumed`||t.status===`failed`||t.status===`delivery-uncertain`}catch{return!1}}function Lx(e){return Fx(e)||Ix(e)}function Rx(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=>Lx(e)&&!r.has(e.id));return i.length===0?[...n]:[...i,...n]}var zx=[],Bx=[],Vx=[],Hx=[],Ux={},Wx={},Gx={},Kx={},qx=new WeakMap,Jx=new WeakMap;function Yx(e,t,n){if(!e||e.length===0||!t)return n;let r=qx.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||qx.set(e,o),a}function Xx(e,t){return Yx(e.messageIdsByThreadId[t],e.messageByThreadId[t]??Ux,zx)}function Zx(e,t){return Yx(e.activityIdsByThreadId[t],e.activityByThreadId[t]??Wx,Bx)}function Qx(e,t){return Yx(e.proposedPlanIdsByThreadId[t],e.proposedPlanByThreadId[t]??Gx,Vx)}function $x(e,t){return Yx(e.turnDiffIdsByThreadId[t],e.turnDiffSummaryByThreadId[t]??Kx,Hx)}function eS(e,t){let n=e.threadShellById[t];if(!n)return;let r=e.threadSessionById[t]??null,i=e.threadTurnStateById[t],a=Xx(e,t),o=Zx(e,t),s=Qx(e,t),c=$x(e,t),l=Jx.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 Jx.set(n,{session:r,turnState:i,messages:a,activities:o,proposedPlans:s,turnDiffSummaries:c,thread:u}),u}var tS={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},nS={activeEnvironmentId:null,environmentStateById:{}},rS=2e3,iS=500,aS=[],oS=[],sS=[],cS=[];function lS(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function uS(e){return Cr(e.instanceId)?{...e,model:Ol(e.instanceId,e.model)}:e}function dS(e){return e.map(e=>({...e}))}function fS(e){return{provider:nC(e.providerName),providerInstanceId:e.providerInstanceId??void 0,status:tC(e.status),orchestrationStatus:e.status,activeTurnId:e.activeTurnId??void 0,createdAt:e.updatedAt,updatedAt:e.updatedAt,...e.lastError?{lastError:e.lastError}:{}}}function pS(e,t){let n=t.attachments?.map(t=>(t.type===`image`||t.type===`file`)&&t.id!==void 0?{...t,...Mx().isHostedHubMode()?{}:{previewUrl:Mx().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 mS(e){return{id:e.id,turnId:e.turnId,planMarkdown:e.planMarkdown,implementedAt:e.implementedAt,implementationThreadId:e.implementationThreadId,createdAt:e.createdAt,updatedAt:e.updatedAt}}function hS(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(gS).map(e=>({path:e.path,kind:e.kind,additions:e.additions,deletions:e.deletions}))}}function gS(e){return e.kind!==`modified`||e.additions>0||e.deletions>0}function _S(e,t){return{id:e.id,environmentId:t,name:e.title,cwd:e.workspaceRoot,projectMetadataDir:e.projectMetadataDir,repositoryIdentity:e.repositoryIdentity??null,defaultModelSelection:e.defaultModelSelection?uS(e.defaultModelSelection):null,customSystemPrompt:e.customSystemPrompt??null,customAvatarContentHash:e.customAvatarContentHash??null,preferredRemoteName:e.preferredRemoteName??null,createdAt:e.createdAt,updatedAt:e.updatedAt,scripts:dS(e.scripts)}}function vS(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 yS(e,t){return{id:e.id,environmentId:t,codexThreadId:null,projectId:e.projectId,title:e.title,modelSelection:uS(e.modelSelection),runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,tokenMode:e.tokenMode??`balanced`,session:e.session?fS(e.session):null,messages:e.messages.map(e=>pS(t,e)),proposedPlans:e.proposedPlans.map(mS),error:a(e.session?.lastError),createdAt:e.createdAt,archivedAt:e.archivedAt,settledOverride:e.settledOverride,settledAt:e.settledAt,snoozedUntil:e.snoozedUntil??null,snoozedAt:e.snoozedAt??null,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(hS),activities:e.activities.map(e=>({...e}))}}function bS(e,t){let n={id:e.id,environmentId:t,codexThreadId:null,projectId:e.projectId,title:e.title,modelSelection:uS(e.modelSelection),runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,tokenMode:e.tokenMode??`balanced`,error:a(e.session?.lastError),createdAt:e.createdAt,archivedAt:e.archivedAt,settledOverride:e.settledOverride,settledAt:e.settledAt,snoozedUntil:e.snoozedUntil??null,snoozedAt:e.snoozedAt??null,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?fS(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:uS(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,snoozedUntil:e.snoozedUntil??null,snoozedAt:e.snoozedAt??null,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 xS(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,snoozedUntil:e.snoozedUntil??null,snoozedAt:e.snoozedAt??null,updatedAt:e.updatedAt,branch:e.branch,worktreePath:e.worktreePath,worktreeId:e.worktreeId,manualStatusBucket:e.manualStatusBucket,manualPosition:e.manualPosition,goal:e.goal??null}}function SS(e){return{latestTurn:e.latestTurn,...e.pendingSourceProposedPlan?{pendingSourceProposedPlan:e.pendingSourceProposedPlan}:{}}}function CS(e,t){return e===t?!0:e===void 0||t===void 0?!1:e.threadId===t.threadId&&e.planId===t.planId}function wS(e,t){return e===t?!0:e==null||t==null?!1:e.synchronization?.requestId===t.synchronization?.requestId&&e.synchronization?.state===t.synchronization?.state&&e.synchronization?.action===t.synchronization?.action&&e.synchronization?.startTurn===t.synchronization?.startTurn&&e.synchronization?.deferUntilTurn===t.synchronization?.deferUntilTurn&&e.synchronization?.fields?.length===t.synchronization?.fields?.length&&(e.synchronization?.fields?.every((e,n)=>e===t.synchronization?.fields?.[n])??!0)&&e.synchronization?.error===t.synchronization?.error&&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 TS(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&&CS(e.sourceProposedPlan,t.sourceProposedPlan)}function ES(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 DS(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&&ES(e.session,t.session)&&e.createdAt===t.createdAt&&e.archivedAt===t.archivedAt&&e.settledOverride===t.settledOverride&&e.settledAt===t.settledAt&&e.snoozedUntil===t.snoozedUntil&&e.snoozedAt===t.snoozedAt&&e.updatedAt===t.updatedAt&&TS(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)&&OS(e.priority,t.priority)}function OS(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 kS(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.snoozedUntil===t.snoozedUntil&&e.snoozedAt===t.snoozedAt&&e.updatedAt===t.updatedAt&&e.branch===t.branch&&e.worktreePath===t.worktreePath&&e.worktreeId===t.worktreeId&&e.manualStatusBucket===t.manualStatusBucket&&e.manualPosition===t.manualPosition&&wS(e.goal,t.goal)}function AS(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 jS(e,t){return e!==void 0&&TS(e.latestTurn,t.latestTurn)&&CS(e.pendingSourceProposedPlan,t.pendingSourceProposedPlan)}function MS(e,t){return e.includes(t)?[...e]:[...e,t]}function NS(e,t){return e.filter(e=>e!==t)}function PS(e){return{ids:e.messages.map(e=>e.id),byId:Object.fromEntries(e.messages.map(e=>[e.id,e]))}}function FS(e){return IS(e.activities)}function IS(e){return{ids:e.map(e=>e.id),byId:Object.fromEntries(e.map(e=>[e.id,e]))}}function LS(e){return{ids:e.proposedPlans.map(e=>e.id),byId:Object.fromEntries(e.proposedPlans.map(e=>[e.id,e]))}}function RS(e){return{ids:e.turnDiffSummaries.map(e=>e.turnId),byId:Object.fromEntries(e.turnDiffSummaries.map(e=>[e.turnId,e]))}}function zS(e){return e.projectIds.flatMap(t=>{let n=e.projectById[t];return n?[n]:[]})}function BS(e){return e.threadIds.flatMap(t=>{let n=eS(e,t);return n?[n]:[]})}function VS(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]??aS,i=NS(n,t);if(i.length===0){let{[r]:t,...n}=e;e=n}else lS(n,i)||(e={...e,[r]:i})}let a=e[n]??aS,o=MS(a,t);lS(a,o)||(e={...e,[n]:o}),e!==i.threadIdsByProjectId&&(i={...i,threadIdsByProjectId:e})}return i}function HS(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=xS(t),o=SS(t),s=e.threadShellById[t.id],c=e.threadTurnStateById[t.id],l=VS(e,t.id,t.projectId,n?.projectId);if(kS(s,a)||(l={...l,threadShellById:{...l.threadShellById,[t.id]:a}}),ES(n?.session??null,t.session)||(l={...l,threadSessionById:{...l.threadSessionById,[t.id]:t.session}}),jS(c,o)||(l={...l,threadTurnStateById:{...l.threadTurnStateById,[t.id]:o}}),n?.messages!==i.messages){let e=PS(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=FS(t);l={...l,activityIdsByThreadId:{...l.activityIdsByThreadId,[t.id]:e.ids},activityByThreadId:{...l.activityByThreadId,[t.id]:e.byId}}}if(n?.proposedPlans!==t.proposedPlans){let e=LS(t);l={...l,proposedPlanIdsByThreadId:{...l.proposedPlanIdsByThreadId,[t.id]:e.ids},proposedPlanByThreadId:{...l.proposedPlanByThreadId,[t.id]:e.byId}}}if(n?.turnDiffSummaries!==t.turnDiffSummaries){let e=RS(t);l={...l,turnDiffIdsByThreadId:{...l.turnDiffIdsByThreadId,[t.id]:e.ids},turnDiffSummaryByThreadId:{...l.turnDiffSummaryByThreadId,[t.id]:e.byId}}}return l}function US(e,t){let n=e.threadShellById[t.shell.id],r=VS(e,t.shell.id,t.shell.projectId,n?.projectId);return kS(n,t.shell)||(r={...r,threadShellById:{...r.threadShellById,[t.shell.id]:t.shell}}),ES(e.threadSessionById[t.shell.id]??null,t.session)||(r={...r,threadSessionById:{...r.threadSessionById,[t.shell.id]:t.session}}),jS(e.threadTurnStateById[t.shell.id],t.turnState)||(r={...r,threadTurnStateById:{...r.threadTurnStateById,[t.shell.id]:t.turnState}}),DS(e.sidebarThreadSummaryById[t.shell.id],t.summary)||(r={...r,sidebarThreadSummaryById:{...r.sidebarThreadSummaryById,[t.shell.id]:t.summary}}),r}function WS(e,t){return Object.fromEntries(Object.entries(e).flatMap(([e,n])=>t.has(e)?[[e,n]]:[]))}function GS(e,t){let n=e.threadShellById[t];if(!n)return e;let r=NS(e.threadIds,t),i=NS(e.threadIdsByProjectId[n.projectId]??aS,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,...ee}=e.proposedPlanByThreadId,{[t]:te,...ne}=e.turnDiffIdsByThreadId,{[t]:T,...E}=e.turnDiffSummaryByThreadId,{[t]:D,...re}=e.threadHistoryByThreadId??{},{[t]:ie,...O}=e.threadHistoryLoadByThreadId??{},{[t]:ae,...oe}=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:ee,turnDiffIdsByThreadId:ne,turnDiffSummaryByThreadId:E,threadHistoryByThreadId:re,threadHistoryLoadByThreadId:O,sidebarThreadSummaryById:oe}}function KS(e,t){let n=e.environmentStateById[t.environmentId];return n?q(e,t.environmentId,GS(n,t.threadId)):e}function qS(e,t){let n=e.worktreeById??{},r=e.worktreeIds??oS,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(AS(i,t)&&r.includes(t.id)&&c.includes(t.id))return e;if(a){let e=NS(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 JS(e,t){let n=e.worktreeById??{},r=n[t];if(!r)return e;let{[t]:i,...a}=n,o=e.worktreeIdsByProjectId??{},s=NS(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:NS(e.worktreeIds??oS,t),worktreeIdsByProjectId:c,worktreeById:a}}function YS(e){return e===`error`?`error`:e===`missing`?`interrupted`:`completed`}function XS(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 ZS(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 QS(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 $S(e,t){return e.filter(e=>e.turnId===null||t.has(e.turnId))}function eC(e,t){return e.filter(e=>e.turnId===null||t.has(e.turnId))}function tC(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 nC(e){return ri(N)(e)?e:N.make(`codex`)}function K(e,t,n){let r=eS(e,t);if(!r)return e;let i=n(r);return i===r?e:HS(e,i,r)}function rC(e,t,n){let r=e.threadShellById[t];return!r||r.updatedAt===n?e:{...e,threadShellById:{...e.threadShellById,[t]:{...r,updatedAt:n}}}}function iC(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&&(n.snoozedUntil===void 0||r.snoozedUntil===n.snoozedUntil)&&(n.snoozedAt===void 0||r.snoozedAt===n.snoozedAt)&&r.updatedAt===n.updatedAt,o=!i||i.settledOverride===n.settledOverride&&i.settledAt===n.settledAt&&(n.snoozedUntil===void 0||i.snoozedUntil===n.snoozedUntil)&&(n.snoozedAt===void 0||i.snoozedAt===n.snoozedAt)&&i.updatedAt===n.updatedAt;return a&&o?e:{...e,...r?{threadShellById:{...e.threadShellById,[t]:{...r,...n}}}:{},...i?{sidebarThreadSummaryById:{...e.sidebarThreadSummaryById,[t]:{...i,...n}}}:{}}}function aC(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 oC(e,t,n){let r=e.pendingMessagesByThreadId[t]??[],i=r.find(e=>e.id===n.id)?r.map(e=>e.id===n.id?aC(e,n):e):[...r,n];return{...e,pendingMessagesByThreadId:{...e.pendingMessagesByThreadId,[t]:i}}}function sC(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 cC(e,t,n){let r=pS(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 oC(e,i,r);let a=e.messageIdsByThreadId[i]??sS,o=e.messageByThreadId[i]??{},s=e.pendingMessagesByThreadId[i]??[],c=s.find(e=>e.id===r.id),l=o[r.id]??c,u=l?aC(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>rS)){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=sC(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:ZS({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}:{}};jS(e,r)||(m={...m,threadTurnStateById:{...m.threadTurnStateById,[i]:r}})}}return rC(m,i,t.occurredAt)}function lC(e,t,n){let r=e.length>0?t[e[e.length-1]]:void 0;if(!r||XS(r,n)<=0)return[...e,n.id];let i=[...e],a=i.findIndex(e=>{let r=t[e];return r?XS(n,r)<0:!1});return a===-1?i.push(n.id):i.splice(a,0,n.id),i}function uC(e,t){let n=t.payload.threadId;if(!e.threadShellById[n])return e;let r={...t.payload.activity},i=e.activityIdsByThreadId[n]??cS,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=lC(i.filter(e=>e!==r.id),l,r)):c=lC(i,a,r),c.length>iS){let e=IS(Rx(c.flatMap(e=>{let t=l[e];return t?[t]:[]}),iS));c=e.ids,l=e.byId}return rC({...e,activityIdsByThreadId:c===i?e.activityIdsByThreadId:{...e.activityIdsByThreadId,[n]:c},activityByThreadId:{...e.activityByThreadId,[n]:l}},n,t.occurredAt)}function dC(e){return{projectIds:e.map(e=>e.id),projectById:Object.fromEntries(e.map(e=>[e.id,e]))}}function fC(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 pC(e,t){return e.environmentStateById[t]??tS}function q(e,t,n){let r=e.environmentStateById[t]===n?e.environmentStateById:{...e.environmentStateById,[t]:n};return r===e.environmentStateById?e:{...e,environmentStateById:r}}function mC(e,t,n){let r=t.projects.map(e=>_S(e,n)),i=(t.worktrees??[]).map(e=>vS(e,n)),a=new Set(t.threads.map(e=>e.id)),o={...e,...dC(r),...fC(i),threadIds:[],threadIdsByProjectId:{},threadShellById:{},threadSessionById:{},threadTurnStateById:{},sidebarThreadSummaryById:{},messageIdsByThreadId:WS(e.messageIdsByThreadId,a),messageByThreadId:WS(e.messageByThreadId,a),pendingMessagesByThreadId:WS(e.pendingMessagesByThreadId,a),activityIdsByThreadId:WS(e.activityIdsByThreadId,a),activityByThreadId:WS(e.activityByThreadId,a),proposedPlanIdsByThreadId:WS(e.proposedPlanIdsByThreadId,a),proposedPlanByThreadId:WS(e.proposedPlanByThreadId,a),turnDiffIdsByThreadId:WS(e.turnDiffIdsByThreadId,a),turnDiffSummaryByThreadId:WS(e.turnDiffSummaryByThreadId,a),threadHistoryByThreadId:WS(e.threadHistoryByThreadId??{},a),threadHistoryLoadByThreadId:WS(e.threadHistoryLoadByThreadId??{},a),bootstrapComplete:!0,hydratedFromCacheAt:void 0};for(let e of t.threads)o=US(o,bS(e,n));return o}function hC(e,t,n){return q(e,n,mC(pC(e,n),t,n))}function gC(e,t,n){let r=pC(e,n),i=eS(r,t.id);return q(e,n,HS(r,yS(t,n),i))}var _C={oldestCursor:null,newestCursor:null,hasMoreBefore:!1};function vC(e,t){let n=e?.[t.collection];return{messages:e?.messages??_C,proposedPlans:e?.proposedPlans??_C,activities:e?.activities??_C,checkpoints:e?.checkpoints??_C,[t.collection]:{oldestCursor:t.page.oldestCursor??n?.oldestCursor??null,newestCursor:n?.newestCursor??t.page.newestCursor,hasMoreBefore:t.page.hasMoreBefore}}}function yC(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]=pS(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=IS(Rx(Object.values(r).toSorted(XS),iS));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]=mS(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]=hS(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]:vC(e.threadHistoryByThreadId?.[n],t)}}}function bC(e,t,n){let r=gC(e,t.thread,n),i=pC(r,n),{[t.thread.id]:a,...o}=i.threadHistoryLoadByThreadId??{};return q(r,n,{...i,threadHistoryByThreadId:{...i.threadHistoryByThreadId,[t.thread.id]:t.history},threadHistoryLoadByThreadId:o})}function xC(e,t,n,r){return q(e,r,yC(pC(e,r),t,n,r))}function SC(e,t){let n=pC(e,t.environmentId);return q(e,t.environmentId,{...n,threadHistoryLoadByThreadId:{...n.threadHistoryLoadByThreadId,[t.threadId]:{...n.threadHistoryLoadByThreadId?.[t.threadId],[t.collection]:t.loadState}}})}function CC(e,t,n){switch(t.type){case`project.created`:{let r=_S({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?uS(t.payload.defaultModelSelection):null},...t.payload.scripts===void 0?{}:{scripts:dS(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:NS(e.projectIds,t.payload.projectId)}}case`thread.created`:{let r=eS(e,t.payload.threadId);return HS(e,yS({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 GS(e,t.payload.threadId);case`thread.archived`:return K(e,t.payload.threadId,e=>({...e,archivedAt:t.payload.archivedAt,updatedAt:t.payload.updatedAt}));case`thread.unarchived`:return K(e,t.payload.threadId,e=>({...e,archivedAt:null,updatedAt:t.payload.updatedAt}));case`thread.snoozed`:return iC(e,t.payload.threadId,{settledOverride:`active`,settledAt:null,snoozedUntil:t.payload.snoozedUntil,snoozedAt:t.payload.snoozedAt,updatedAt:t.payload.updatedAt});case`thread.unsnoozed`:return iC(e,t.payload.threadId,{settledOverride:`active`,settledAt:null,snoozedUntil:null,snoozedAt:null,updatedAt:t.payload.updatedAt});case`thread.settled`:return iC(e,t.payload.threadId,{settledOverride:`settled`,snoozedUntil:null,snoozedAt:null,settledAt:t.payload.settledAt,updatedAt:t.payload.updatedAt});case`thread.unsettled`:return iC(e,t.payload.threadId,{settledOverride:t.payload.reason===`user`?`active`:null,settledAt:null,updatedAt:t.payload.updatedAt});case`thread.meta-updated`:return K(e,t.payload.threadId,e=>({...e,...t.payload.title===void 0?{}:{title:t.payload.title},...t.payload.modelSelection===void 0?{}:{modelSelection:uS(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 K(e,t.payload.threadId,e=>({...e,runtimeMode:t.payload.runtimeMode,updatedAt:t.payload.updatedAt}));case`thread.interaction-mode-set`:return K(e,t.payload.threadId,e=>({...e,interactionMode:t.payload.interactionMode,updatedAt:t.payload.updatedAt}));case`thread.token-mode-set`:return K(e,t.payload.threadId,e=>({...e,tokenMode:t.payload.tokenMode??`balanced`,updatedAt:t.payload.updatedAt}));case`thread.goal-updated`:return K(e,t.payload.threadId,e=>({...e,goal:t.payload.goal,updatedAt:t.payload.goal.updatedAt}));case`thread.goal-cleared`:return K(e,t.payload.threadId,e=>({...e,goal:null,updatedAt:t.payload.updatedAt}));case`thread.turn-start-requested`:return K(e,t.payload.threadId,e=>({...e,...t.payload.modelSelection===void 0?{}:{modelSelection:uS(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:K(e,t.payload.threadId,e=>{let n=e.latestTurn;return n===null||n.turnId!==t.payload.turnId?e:{...e,latestTurn:ZS({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 cC(e,t,n);case`thread.session-set`:return K(e,t.payload.threadId,e=>({...e,session:fS(t.payload.session),error:a(t.payload.session.lastError),latestTurn:t.payload.session.status===`running`&&t.payload.session.activeTurnId!==null?ZS({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 K(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 K(e,t.payload.threadId,e=>{let n=mS(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 K(e,t.payload.threadId,e=>{let n=hS({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?ZS({previous:e.latestTurn,turnId:t.payload.turnId,state:YS(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 K(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=QS(e.messages,r,t.payload.turnCount).slice(-2e3),a=eC(e.proposedPlans,r).slice(-200),o=$S(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:YS(s.status??`ready`),requestedAt:s.completedAt,startedAt:s.completedAt,completedAt:s.completedAt,assistantMessageId:s.assistantMessageId??null},updatedAt:t.occurredAt}});case`thread.activity-appended`:return uC(e,t);case`worktree.created`:return qS(e,vS({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?qS(e,{...n,archivedAt:t.payload.archivedAt,updatedAt:t.payload.archivedAt}):e}case`worktree.metaUpdated`:{let n=e.worktreeById?.[t.payload.worktreeId];return n?qS(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?qS(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?qS(e,{...n,archivedAt:null,updatedAt:t.payload.restoredAt}):e}case`worktree.deleted`:return JS(e,t.payload.worktreeId);case`thread.attachedToWorktree`:return K(e,t.payload.threadId,e=>({...e,worktreeId:t.payload.worktreeId,updatedAt:t.payload.attachedAt}));case`thread.statusBucketOverridden`:return K(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 wC(e,t,n){switch(t.kind){case`project-upserted`:{let r=_S(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:NS(e.projectIds,t.projectId)}}case`thread-upserted`:return US(e,bS(t.thread,n));case`worktree-upserted`:return qS(e,vS(t.worktree,n));case`thread-removed`:return GS(e,t.threadId);case`worktree-removed`:return JS(e,t.worktreeId)}}function TC(e,t,n){if(t.length===0)return e;let r=Mx(),i=r.observability.performanceEnabled(),a=i?r.clock.now():0,o=pC(e,n),s=q(e,n,t.reduce((e,t)=>CC(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 EC(e){return Object.entries(e.environmentStateById)}function DC(e,t){return t?pC(e,t):tS}function OC(e,t){return BS(DC(e,t))}function kC(e){return EC(e).flatMap(([,e])=>zS(e))}function AC(e){return EC(e).flatMap(([,e])=>BS(e))}function jC(e){return EC(e).flatMap(([,e])=>e.threadIds.flatMap(t=>{let n=e.threadShellById[t];return n?[n]:[]}))}function MC(e){return EC(e).flatMap(([e,t])=>t.threadIds.flatMap(n=>{let r=t.sidebarThreadSummaryById[n];return r&&r.environmentId===e?[r]:[]}))}function NC(e){return EC(e).flatMap(([e,t])=>(t.worktreeIds??oS).flatMap(n=>{let r=t.worktreeById?.[n];return r&&r.environmentId===e?[r]:[]}))}function PC(e,t){if(!t)return[];let n=DC(e,t.environmentId);return(n.worktreeIdsByProjectId?.[t.projectId]??[]).flatMap(e=>{let t=n.worktreeById?.[e];return t?[t]:[]})}function FC(e,t){return t.length===0?[]:t.length===1?PC(e,t[0]):t.flatMap(t=>PC(e,t))}function IC(e,t){if(!t)return[];let n=DC(e,t.environmentId);return(n.threadIdsByProjectId[t.projectId]??aS).flatMap(e=>{let t=n.sidebarThreadSummaryById[e];return t?[t]:[]})}function LC(e,t){return t.length===0?[]:t.length===1?IC(e,t[0]):t.flatMap(t=>IC(e,t))}function RC(e,t){return t?DC(e,t.environmentId).projectById[t.projectId]:void 0}function zC(e,t){return t?eS(DC(e,t.environmentId),t.threadId):void 0}function BC(e,t){return t?DC(e,t.environmentId).threadShellById[t.threadId]!==void 0:!1}function VC(e,t){return t?DC(e,t.environmentId).sidebarThreadSummaryById[t.threadId]:void 0}function HC(e,t,n){let r=K(pC(e,t.environmentId),t.threadId,e=>e.error===n?e:{...e,error:n});return q(e,t.environmentId,r)}function UC(e,t,n){let r=Mx(),i=r.observability.performanceEnabled(),a=i?r.clock.now():0,o=q(e,n,CC(pC(e,n),t,n));return i&&r.observability.recordPerformance(`web.store.orchestration.event.apply`,t,{durationMs:r.clock.now()-a}),o}function WC(e,t,n){let r=Mx(),i=r.observability.performanceEnabled(),a=i?r.clock.now():0,o=q(e,n,wC(pC(e,n),t,n));return i&&r.observability.recordPerformance(`web.store.orchestration.shell.apply`,t,{durationMs:r.clock.now()-a}),o}function GC(e,t){return e.activeEnvironmentId===t?e:{...e,activeEnvironmentId:t}}function KC(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 qC(e,t,n){if(e.environmentStateById[n])return e;let r={...tS,...dC(t.projects.filter(e=>e.environmentId===n)),...fC(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=US(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 q(e,n,r)}function JC(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 q(e,t,{...r,threadSessionById:i,sidebarThreadSummaryById:a,bootstrapComplete:!1,hydratedFromCacheAt:n})}function YC(e,t,n,r){let i=K(pC(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 q(e,t.environmentId,i)}function XC(e,t,n,r,i){let a=pC(e,t),o=a.worktreeById?.[n];return o?q(e,t,qS(a,{...o,title:r,updatedAt:i})):e}var ZC=8;function QC(e){let t=e.now??(()=>Mx().clock.now()),n=e.schedule??(e=>Mx().frameScheduler.scheduleFrame(e)),r=e.thresholdEventsPerMs??10,i=e.rateWindowMs??ZC,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=WC(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 J=O((e,t)=>{let n=QC({getState:t,commitState:t=>e(t)});return{...nS,setActiveEnvironmentId:t=>{n.flush(),e(e=>GC(e,t))},removeEnvironmentState:t=>{n.flush(),e(e=>KC(e,t))},hydrateEnvironmentStateFromCache:(t,r)=>{n.flush(),e(e=>qC(e,t,r))},demoteEnvironmentStateToCachedSnapshot:(t,r)=>{n.flush(),e(e=>JC(e,t,r))},syncServerShellSnapshot:(t,r)=>{n.flush(),e(e=>hC(e,t,r))},syncServerThreadDetail:(t,r)=>{n.flush(),e(e=>gC(e,t,r))},syncServerThreadWindow:(t,r)=>{n.flush(),e(e=>bC(e,t,r))},syncServerThreadHistoryPage:(t,r,i)=>{n.flush(),e(e=>xC(e,t,r,i))},setServerThreadHistoryLoadState:t=>{n.flush(),e(e=>SC(e,t))},applyOrchestrationEvent:(t,r)=>{n.flush(),e(e=>UC(e,t,r))},applyOrchestrationEvents:(t,r)=>{n.flush(),e(e=>TC(e,t,r))},applyShellEvent:(e,t)=>n.enqueue(e,t),removeThread:t=>{n.flush(),e(e=>KS(e,t))},setThreadError:(t,r)=>{n.flush(),e(e=>HC(e,t,r))},setThreadBranch:(t,r,i)=>{n.flush(),e(e=>YC(e,t,r,i))},setSidebarWorktreeTitle:(t,r,i,a)=>{n.flush(),e(e=>XC(e,t,r,i,a))}}});function $C(e){if(!e)return null;let t=Date.parse(e);return Number.isFinite(t)?t:null}function ew(e){if(e.latestUserMessageAt)return $C(e.latestUserMessageAt)??-1/0;let t=null;for(let n of e.messages??[]){if(n.role!==`user`)continue;let e=$C(n.createdAt);e!==null&&(t=t===null?e:Math.max(t,e))}return t===null?$C(e.updatedAt??e.createdAt)??-1/0:t}function tw(e,t){return t===`created_at`?$C(e.createdAt)??-1/0:ew(e)}function nw(e,t){return e.toSorted((e,n)=>{let r=tw(n,t),i=tw(e,t),a=r===i?0:r>i?1:-1;return a===0?n.id.localeCompare(e.id):a})}function rw(e,t,n){return nw(e.filter(e=>e.projectId===t&&e.archivedAt===null),n)[0]??null}function iw(e){return t=>e?DC(t,e.environmentId).projectById[e.projectId]:void 0}function aw(e){let t,n,r;return i=>{let a=e(i);if(!a)return;let o=DC(i,a.environmentId);return r&&t===o&&n===a.threadId?r:(t=o,n=a.threadId,r=eS(o,a.threadId),r)}}function ow(e){return aw(()=>e)}function sw(e){return aw(t=>{if(e){for(let[n,r]of Object.entries(t.environmentStateById))if(r.threadShellById[e])return{environmentId:n,threadId:e}}})}var cw=(e,t,n)=>t||(n?{id:e,createdAt:n.createdAt,updatedAt:n.updatedAt,latestUserMessageAt:null}:null);function lw(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=DC(c,e);if(n===l.threadIds&&r===l.sidebarThreadSummaryById&&i===l.threadShellById&&a===t)return s;let u=nw(l.threadIds.flatMap(e=>{let t=cw(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}}var uw=12e4,dw=864e5;function fw(e){if(!e)return null;let t=Date.parse(e);return Number.isFinite(t)?t:null}function pw(e){if(e.latestTurnState===`error`||e.sessionStatus===`error`)return!1;let t=fw(e.latestUserMessageAt);if(t===null)return e.latestUserMessageAt!==null;if(e.latestTurnRequestedAt!==null){let n=fw(e.latestTurnRequestedAt);if(n===null)return!0;if(n>=t)return!1}if(!Number.isFinite(e.nowMs))return!0;let n=e.nowMs-t;return n<0||n<=12e4}function mw(e){return{canSettle:!1,blocker:e}}function hw(e){return e.threadSettlementSupported?e.archivedAt===null?e.deletedAt===null?e.worktreeArchivedAt===null?e.hasPendingApprovals?mw(`pending-approval`):e.hasPendingUserInput?mw(`pending-user-input`):e.sessionStatus===`starting`?mw(`session-starting`):e.sessionStatus===`running`?mw(`session-running`):e.hasLocalQueuedMessage?mw(`local-queue`):e.deliveryUnknown?mw(`delivery-unknown`):pw(e)?mw(`queued-turn`):{canSettle:!0,blocker:null}:mw(`worktree-archived`):mw(`thread-deleted`):mw(`thread-archived`):mw(`unsupported`)}function gw(e){let t=null;for(let n of e){let e=fw(n);n!==null&&e!==null&&(t===null||e>t.ms)&&(t={value:n,ms:e})}return t?.value??null}function _w(e){return gw([e.latestUserMessageAt,e.latestTurnRequestedAt,e.latestTurnStartedAt,e.latestTurnCompletedAt])}function vw(e){if(e.autoSettleAfterDays===null||!Number.isInteger(e.autoSettleAfterDays)||e.autoSettleAfterDays<1||e.autoSettleAfterDays>90)return null;let t=fw(_w(e));if(t===null)return null;let n=t+e.autoSettleAfterDays*dw;return Number.isFinite(n)?n:null}function yw(e){return e.settledOverride===null&&e.prState===null}function bw(e){if(!yw(e)||!Number.isFinite(e.nowMs))return null;let t=vw(e);if(t===null)return null;let n=hw(e);if(!n.canSettle&&n.blocker!==`queued-turn`)return null;let r=[];if(t>e.nowMs&&r.push(t),n.blocker===`queued-turn`){let t=fw(e.latestUserMessageAt);if(t!==null){let n=t+uw+1;n>e.nowMs&&r.push(n)}}return r.length>0?Math.min(...r):null}function xw(e){if(e.settledOverride===`settled`)return fw(e.settledAt)===null?null:e.settledAt;if(e.prState===`merged`||e.prState===`closed`)return gw([e.worktreeUpdatedAt,e.latestTurnCompletedAt,e.latestUserMessageAt,e.updatedAt,e.createdAt]);if(!yw(e)||!hw(e).canSettle)return null;let t=vw(e);return t===null||!Number.isFinite(e.nowMs)||e.nowMs<t?null:new Date(t).toISOString()}function Sw(e){return e.archivedAt!==null||e.deletedAt!==null||e.worktreeArchivedAt!==null?`excluded`:hw(e).canSettle?e.settledOverride===`settled`?xw(e)===null?`active`:`settled`:e.settledOverride===`active`?`active`:(e.prState===`merged`||e.prState===`closed`)&&xw(e)!==null||xw(e)!==null?`settled`:`active`:`active`}function Cw(e,t){if(e.pinned!==t.pinned)return e.pinned?-1:1;let n=fw(e.createdAt)??-1/0,r=fw(t.createdAt)??-1/0;return n===r?e.scopedKey.localeCompare(t.scopedKey):r-n}function ww(e,t){let n=fw(e.effectiveSettlementTimestamp)??-1/0,r=fw(t.effectiveSettlementTimestamp)??-1/0;if(n!==r)return r-n;let i=fw(e.createdAt)??-1/0,a=fw(t.createdAt)??-1/0;return i===a?e.scopedKey.localeCompare(t.scopedKey):a-i}function Tw(e){let t=hw({...e,sessionStatus:e.sessionStatus===`running`||e.sessionStatus===`starting`?null:e.sessionStatus});return{canSnooze:t.canSettle,blocker:t.blocker}}function Ew(e,t){let n=Date.parse(e.snoozedUntil??``),r=Date.parse(e.snoozedAt??``);return!(!Number.isFinite(t)||!Number.isFinite(n)||!Number.isFinite(r)||n<=t||e.hasPendingApprovals||e.hasPendingUserInput||Date.parse(e.latestUserMessageAt??``)>r||Date.parse(e.latestTurn?.completedAt??``)>r||e.session?.status===`error`&&Date.parse(e.session.updatedAt??``)>r)}function Dw(e){let t=[{id:`hour`,label:`In 1 hour`,snoozedUntil:new Date(e.getTime()+36e5).toISOString()}],n=new Date(e);n.setHours(18,0,0,0),n.getTime()>e.getTime()&&t.push({id:`evening`,label:`This evening`,snoozedUntil:n.toISOString()});let r=new Date(e);r.setDate(r.getDate()+1),r.setHours(9,0,0,0),t.push({id:`tomorrow`,label:`Tomorrow morning`,snoozedUntil:r.toISOString()});let i=new Date(e);return i.setDate(i.getDate()+((8-i.getDay())%7||7)),i.setHours(9,0,0,0),t.push({id:`next-week`,label:`Next week`,snoozedUntil:i.toISOString()}),t.filter((e,n)=>t.findIndex(t=>t.snoozedUntil===e.snoozedUntil)===n)}function Ow(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function kw(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}function Aw(e){if(!Array.isArray(e))return kw(e);let t=[];for(let n of e){let e=Ow(n);if(!e)continue;let r=e.type===`content`?Ow(e.content):e;if(!r)continue;let i=r.type===`resource`?Ow(r.resource):void 0,a=r.type===`text`||r.type===`inputText`||r.type===void 0?kw(r.text):kw(i?.text);a&&t.push(a)}return t.length>0?t.join(`
|
|
12
|
-
`):void 0}function jw(e){let t=Aw(e);if(t)return t;let n=Ow(e);if(!n)return;let r=[kw(n.stdout),kw(n.stderr)].filter(e=>e!==void 0);if(r.length>0)return r.join(`
|
|
13
|
-
`);for(let e of[`detailedContent`,`content`,`text`,`markdown`,`message`,`summary`]){let t=Aw(n[e]);if(t)return t}if(n.structuredContent!==void 0&&n.structuredContent!==null)try{return JSON.stringify(n.structuredContent,null,2)}catch{return}}var Mw=new Set([`agent`,`subagent`,`subagent task`,`task`]),Nw=`Turing.Dirac.Hegel.Arendt.Boyle.Locke.Epicurus.Curie.Bohr.Newton.Euler.Gauss.Hopper.Lovelace.Noether.Pascal.Tesla.Darwin.Kepler.Faraday.Planck.Heisenberg.Maxwell.Fermi.Feynman.Lagrange.Riemann.Babbage.Shannon.Ramanujan.Galileo.Copernicus.Pasteur.Mendel.Hawking.Lavoisier.Fourier.Pauli.Kant.Plato.Socrates.Aristotle.Nietzsche.Spinoza.Descartes.Hume.Leibniz.Wittgenstein.Russell.Camus.Sartre.Voltaire.Confucius.Seneca.Aurelius.Diogenes`.split(`.`);function Pw(e){return e?.trim()||null}function Fw(e){return e.replace(/[_-]+/g,` `).replace(/\s+/g,` `).trim().replace(/\b\w/g,e=>e.toUpperCase())}function Iw(e){let t=Pw(e);return!t||Mw.has(t.toLocaleLowerCase())?null:Fw(t)}function Lw(e,t){let n=Pw(e)?.toLocaleLowerCase(),r=Pw(t)?.toLocaleLowerCase();return n!=null&&n===r}function Rw(e){let t=e.trim();return(t.startsWith(`subagent:`)?t.slice(9):t)||t||`agent`}function zw(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return t>>>0}function Bw(e){let t=Array.from({length:Nw.length},(e,t)=>t),n=zw(e)||1;for(let e=t.length-1;e>0;--e){n=(Math.imul(n,16777619)^e+1)>>>0;let r=n%(e+1),i=t[e];t[e]=t[r],t[r]=i}return t}function Vw(e){let t=new Map,n=new Set,r=[...new Set(e)].toSorted((e,t)=>e.localeCompare(t));for(let e of r){let r=Bw(e),i=null;for(let e of r){let t=Nw[e];if(!n.has(t.toLocaleLowerCase())){i=t;break}}if(i===null){let e=Nw[r[0]],t=2;for(;n.has(`${e} ${t}`.toLocaleLowerCase());)t+=1;i=`${e} ${t}`}n.add(i.toLocaleLowerCase()),t.set(e,i)}return t}function Hw(e){let t=new Map(e.map(e=>[e.key,Rw(e.key)])),n=Vw([...t.values()]),r=new Map;for(let i of e){let e=t.get(i.key)??Rw(i.key);r.set(i.key,{codename:n.get(e)??e,avatarKey:e,role:Iw(i.role),taskLabel:Pw(i.taskLabel)})}return r}var Uw=new Set([`completed`,`failed`,`cancelled`,`interrupted`]);function Ww(e){return Uw.has(e)}function Gw(e){return e===`pending`||e===`running`||e===`waiting`}var Kw=6,qw=180,Jw=100;function Yw(e){return Gw(e.status)?0:e.status===`idle`?1:2}function Xw(e){return e.length<=Jw?[...e]:e.toSorted((e,t)=>Yw(e)-Yw(t)||t.updatedAt.localeCompare(e.updatedAt)).slice(0,Jw)}function Zw(e){return e.agentKind!==`agent`}function Qw(e){return e.length<=qw?e:`${e.slice(0,179)}…`}function $w(e,t,n){let r=Qw(n);if(e.length>0&&e[e.length-1]?.summary===r)return e;let i=[...e,{at:t,summary:r}];return i.length>Kw?i.slice(-6):i}function Y(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}function X(e){return typeof e==`number`&&Number.isFinite(e)&&e>=0?e:void 0}function eT(e){if(typeof e!=`object`||!e)return;let t=e,n=X(t.totalTokens);if(n===void 0)return;let r={totalTokens:n},i=X(t.inputTokens);i!==void 0&&(r.inputTokens=i);let a=X(t.cachedInputTokens);a!==void 0&&(r.cachedInputTokens=a);let o=X(t.outputTokens);o!==void 0&&(r.outputTokens=o);let s=X(t.reasoningOutputTokens);s!==void 0&&(r.reasoningOutputTokens=s);let c=X(t.toolUses);c!==void 0&&(r.toolUses=c);let l=X(t.durationMs);return l!==void 0&&(r.durationMs=l),r}function tT(e,t){if(!t)return e;if(!e)return t;let n=(e,t)=>e===void 0?t:t===void 0?e:Math.max(e,t),r={totalTokens:Math.max(e.totalTokens,t.totalTokens)},i=n(e.inputTokens,t.inputTokens);i!==void 0&&(r.inputTokens=i);let a=n(e.cachedInputTokens,t.cachedInputTokens);a!==void 0&&(r.cachedInputTokens=a);let o=n(e.outputTokens,t.outputTokens);o!==void 0&&(r.outputTokens=o);let s=n(e.reasoningOutputTokens,t.reasoningOutputTokens);s!==void 0&&(r.reasoningOutputTokens=s);let c=n(e.toolUses,t.toolUses);c!==void 0&&(r.toolUses=c);let l=n(e.durationMs,t.durationMs);return l!==void 0&&(r.durationMs=l),r}function nT(e,t){return Y(e.taskType)===`local_workflow`?`workflow`:e.parentAgentId!==void 0||t.includes(`:wf:`)?`workflow_agent`:`subagent`}function rT(e,t,n,r){let i=e.get(t);if(i)return r.localeCompare(i.firstSeenAt)<0&&(i.firstSeenAt=r),i;let a={id:t,kind:nT(n,t),title:Y(n.title)??Y(n.detail)??t,role:Y(n.role)??null,model:Y(n.model)??null,effort:Y(n.effort)??null,status:`pending`,activationCount:0,usage:null,progress:null,lastToolName:null,result:null,error:null,outputFile:null,parentAgentId:Y(n.parentAgentId)??null,agentIndex:X(n.agentIndex)??null,phaseIndex:X(n.phaseIndex)??null,phaseTitle:Y(n.phaseTitle)??null,attempt:X(n.attempt)??null,workflowName:Y(n.workflowName)??null,phases:[],runHandles:null,recentActivity:[],firstSeenAt:r,startedAt:null,completedAt:null,updatedAt:r};return e.set(t,a),a}function iT(e,t){let n=!1,r=Y(t.title);r&&(e.title=r);let i=Y(t.role);i&&(e.role=i);let a=Y(t.model);a&&(e.model=a);let o=Y(t.effort);o&&(e.effort=o);let s=Y(t.parentAgentId);s&&(e.parentAgentId=s,e.kind===`subagent`&&(e.kind=`workflow_agent`));let c=Y(t.workflowName);c&&(e.workflowName=c),Y(t.taskType)===`local_workflow`&&(e.kind=`workflow`);let l=X(t.agentIndex);l!==void 0&&(e.agentIndex=l);let u=X(t.phaseIndex);u!==void 0&&(e.phaseIndex=u);let d=Y(t.phaseTitle);d&&(e.phaseTitle=d);let f=X(t.attempt);f!==void 0&&(e.attempt!==null&&f>e.attempt&&(n=!0,e.result=null,e.error=null,e.completedAt=null),e.attempt=f);let p=Y(t.outputFile);if(p&&(e.outputFile=p),Array.isArray(t.phases)){let n=[];for(let e of t.phases){if(typeof e!=`object`||!e)continue;let t=e,r=X(t.index),i=Y(t.title);r!==void 0&&i&&n.push({index:r,title:i})}n.length>0&&(e.phases=n.toSorted((e,t)=>e.index-t.index))}if(typeof t.runHandles==`object`&&t.runHandles!==null){let n=t.runHandles,r={},i=Y(n.runId);i&&(r.runId=i);let a=Y(n.scriptPath);a&&(r.scriptPath=a);let o=Y(n.transcriptDir);o&&(r.transcriptDir=o);let s=Y(n.sessionUrl);s&&/^https?:\/\//i.test(s)&&(r.sessionUrl=s),Object.keys(r).length>0&&(e.runHandles={...e.runHandles,...r})}return n}function aT(e,t,n,r=!1){let i=Ww(e.status),a=Ww(t);i&&!r||(i&&r?(e.activationCount+=1,e.result=null,e.error=null,e.completedAt=null,e.startedAt=t===`pending`?null:n):e.status===`idle`&&(t===`running`||t===`pending`)&&(e.activationCount+=1,e.result=null,e.error=null,e.completedAt=null,t===`running`&&(e.startedAt=n)),t===`running`&&e.startedAt===null&&(e.startedAt=n),a&&e.completedAt===null&&(e.completedAt=n),e.status=t)}var oT=new Map([[`completed`,`completed`],[`failed`,`failed`],[`stopped`,`interrupted`]]),sT=new Set([`pending`,`running`,`waiting`,`idle`,`completed`,`failed`,`cancelled`,`interrupted`]);function cT(e){return typeof e==`string`&&sT.has(e)?e:void 0}function lT(e,t){let n=new Map;for(let t of e){if(typeof t.payload!=`object`||t.payload===null)continue;let e=t.payload,r=t.createdAt;switch(t.kind){case`task.started`:{let t=Y(e.taskId);if(!t||Zw(e))break;let i=rT(n,t,e,r);iT(i,e)?aT(i,`running`,r,!0):i.activationCount===0&&!Ww(i.status)?(i.activationCount=1,i.startedAt=i.startedAt??r,i.status=`running`):i.status===`idle`&&aT(i,`running`,r);let a=Y(e.detail);a&&i.title===i.id&&(i.title=a),i.updatedAt=r;break}case`task.progress`:{let t=Y(e.taskId);if(!t)break;let i=n.has(t);if(!i&&Zw(e))break;let a=rT(n,t,e,r),o=iT(a,e);a.activationCount===0&&(a.activationCount=1);let s=cT(e.status);s?aT(a,s,r,o):o?aT(a,`running`,r,!0):(e.usageSnapshot!==!0||!i)&&!Ww(a.status)&&a.status!==`idle`&&aT(a,`running`,r);let c=Y(e.summary);c&&(a.progress=Qw(c),a.recentActivity=$w(a.recentActivity,r,c));let l=Y(e.lastToolName);l&&(a.lastToolName=l,c||(a.recentActivity=$w(a.recentActivity,r,`▸ ${l}`)));let u=Y(e.error);u&&(a.error=Qw(u)),a.usage=tT(a.usage,eT(e.typedUsage)),a.updatedAt=r;break}case`task.updated`:{let t=Y(e.taskId);if(!t||!n.has(t)&&Zw(e))break;let i=rT(n,t,e,r),a=iT(i,e);i.activationCount===0&&(i.activationCount=1);let o=Ww(i.status),s=cT(e.status);s&&aT(i,s,r,a);let c=Y(e.error);c&&(i.error=Qw(c));let l=Y(e.endedAt);l&&!o&&Ww(i.status)&&(i.completedAt=l),i.updatedAt=r;break}case`task.completed`:{let t=Y(e.taskId);if(!t||!n.has(t)&&Zw(e))break;let i=rT(n,t,e,r),a=iT(i,e);i.activationCount===0&&(i.activationCount=1);let o=Y(e.summary)??Y(e.detail);if(Ww(i.status)&&!a){o&&(i.status===`failed`?i.error=i.error??Qw(o):i.result=i.result??Qw(o)),i.usage=tT(i.usage,eT(e.typedUsage));break}let s=oT.get(Y(e.status)??``)??`completed`;aT(i,s,r,a),o&&(s===`failed`?i.error=i.error??Qw(o):i.result=Qw(o)),i.usage=tT(i.usage,eT(e.typedUsage)),i.updatedAt=r;break}case`tool.progress`:{let t=Y(e.taskId);if(!t)break;let i=n.get(t);if(!i)break;let a=Y(e.toolName);a&&(i.lastToolName=a,i.recentActivity=$w(i.recentActivity,r,`▸ ${a}`)),i.updatedAt=r;break}}}for(let e of n.values())if(!(e.kind!==`workflow`||!Ww(e.status)))for(let t of n.values())t.parentAgentId===e.id&&(Ww(t.status)||t.status===`idle`||(t.status=e.status===`completed`?`completed`:`interrupted`,t.completedAt=t.completedAt??e.completedAt??e.updatedAt,t.updatedAt=e.updatedAt));if(t?.sessionLive===!1)for(let e of n.values())Gw(e.status)&&(e.status=`interrupted`,e.completedAt=e.completedAt??e.updatedAt);return Xw(Array.from(n.values()))}var uT={workflows:[],directAgents:[],runningCount:0,waitingCount:0,idleCount:0,settledCount:0,totalTokens:0,hasAgents:!1,liveCount:0};function dT(){return uT}function fT(e,t){return e===`running`?t?`running`:`interrupted`:e===`finished`?`completed`:e}function pT(e,t){let n=fT(e.status,t),r=e.messages.at(-1)?.text,i=e.entries.at(-1),a=r??i?.output??null,o=n===`running`?r??null:null,s=Ww(n);return{id:e.key,kind:`subagent`,title:e.detail??e.role??`Agent task`,role:e.role??null,model:e.model??null,effort:e.effort??null,status:n,activationCount:1,usage:null,progress:o?Qw(o):null,lastToolName:null,result:n===`completed`&&r?Qw(r):null,error:n===`failed`&&a?Qw(a):null,outputFile:null,parentAgentId:null,agentIndex:null,phaseIndex:null,phaseTitle:null,attempt:null,workflowName:null,phases:[],runHandles:null,recentActivity:e.entries.slice(-6).map(e=>({at:e.createdAt,summary:Qw(e.detail??e.output??e.label)})),firstSeenAt:e.startedAt,startedAt:e.startedAt,completedAt:s?e.updatedAt:null,updatedAt:e.updatedAt}}function mT(e){let t=lT(e.activities,{sessionLive:e.sessionLive}),n=new Set(t.map(e=>Rw(e.id))),r=e.transcriptSubagents.filter(e=>!n.has(Rw(e.key))).map(t=>pT(t,e.sessionLive));return hT({agents:Xw([...t,...r])})}function hT({agents:e,v2Projection:t}){let n=t??e;if(n.length===0)return uT;let r=n.filter(e=>e.kind===`workflow`).toSorted((e,t)=>e.firstSeenAt.localeCompare(t.firstSeenAt)||e.id.localeCompare(t.id)),i=new Set(r.map(e=>e.id)),a=new Map,o=[];for(let e of n)if(e.kind!==`workflow`){if(e.parentAgentId!==null&&i.has(e.parentAgentId)){let t=a.get(e.parentAgentId)??[];t.push(e),a.set(e.parentAgentId,t)}else o.push(e)}let s=r.map(e=>{let t=a.get(e.id)??[],n=e.phases.length>0?e.phases:(()=>{let e=new Map;for(let n of t)n.phaseIndex!==null&&!e.has(n.phaseIndex)&&e.set(n.phaseIndex,n.phaseTitle??`Phase ${n.phaseIndex+1}`);return Array.from(e.entries()).map(([e,t])=>({index:e,title:t})).toSorted((e,t)=>e.index-t.index)})(),r=new Set(n.map(e=>e.index));return{workflow:e,phases:n.map(n=>{let r=t.filter(e=>e.phaseIndex===n.index).toSorted((e,t)=>(e.agentIndex??2**53-1)-(t.agentIndex??2**53-1)||e.firstSeenAt.localeCompare(t.firstSeenAt)||e.id.localeCompare(t.id)),i=r.filter(e=>Gw(e.status)||e.status===`idle`).length,a=r.filter(e=>Ww(e.status)).length,o=r.length===0?Ww(e.status)?`done`:`pending`:i>0?`running`:a===r.length?`done`:`pending`;return{index:n.index,title:n.title,members:r,state:o,activeCount:i,settledCount:a}}),unphasedMembers:t.filter(e=>e.phaseIndex===null||!r.has(e.phaseIndex)).toSorted((e,t)=>(e.agentIndex??2**53-1)-(t.agentIndex??2**53-1)||e.firstSeenAt.localeCompare(t.firstSeenAt)||e.id.localeCompare(t.id))}}),c=0,l=0,u=0,d=0,f=0;for(let e of n)e.kind===`workflow`&&(a.get(e.id)??[]).length>0||(e.status===`running`||e.status===`pending`?c+=1:e.status===`waiting`?l+=1:e.status===`idle`?u+=1:d+=1,f+=e.usage?.totalTokens??0);return{workflows:s,directAgents:o.toSorted((e,t)=>e.firstSeenAt.localeCompare(t.firstSeenAt)||e.id.localeCompare(t.id)),runningCount:c,waitingCount:l,idleCount:u,settledCount:d,totalTokens:f,hasAgents:!0,liveCount:c+l}}function gT(e,t){if(!e)return null;let n=e.replace(/^claude-/,``).replace(/-\d{8}$/,``).replace(/-latest$/,``);return t?`${n} · ${t}`:n}function _T(e){if(e<1e3)return`${e}`;if(e<1e6){let t=e/1e3;return`${t>=100?Math.round(t):t.toFixed(1)}k`}return`${(e/1e6).toFixed(1)}M`}var vT=Ni(Ht);function yT(e){if(e.kind!==`context-handoff`)return null;let t;try{t=vT(e.payload)}catch{return null}return t.status!==`consumed`&&t.status!==`failed`&&t.status!==`delivery-uncertain`?null:{id:`context-handoff:${e.id}`,activityId:e.id,handoffId:t.handoffId,createdAt:e.createdAt,turnId:e.turnId,status:t.status,targetMessageId:t.targetMessageId,targetTurnId:t.targetTurnId??e.turnId,sources:t.sources,target:t.target,...t.inspection?{inspection:t.inspection}:{},...t.status===`failed`||t.status===`delivery-uncertain`?{error:t.error}:{}}}var bT=[{value:N.make(`codex`),label:`Codex`,available:!0},{value:N.make(`claudeAgent`),label:`Claude`,available:!0},{value:N.make(`copilot`),label:`GitHub Copilot`,available:!0},{value:N.make(`opencode`),label:`OpenCode`,available:!0,pickerSidebarBadge:`new`},{value:N.make(`cursor`),label:`Cursor`,available:!0,pickerSidebarBadge:`new`},{value:N.make(`grok`),label:`Grok`,available:!0,pickerSidebarBadge:`new`}];function xT(e){if(!Number.isFinite(e)||e<0)return`0ms`;if(e<1e3)return`${Math.max(1,Math.round(e))}ms`;if(e<1e4)return`${(e/1e3).toFixed(1)}s`;if(e<6e4)return`${Math.round(e/1e3)}s`;let t=Math.floor(e/6e4),n=Math.round(e%6e4/1e3);return n===0?`${t}m`:n===60?`${t+1}m`:`${t}m ${n}s`}function ST(e,t){if(!t)return null;let n=Date.parse(e),r=Date.parse(t);return Number.isNaN(n)||Number.isNaN(r)||r<n?null:xT(r-n)}function CT(e,t){return!e?.startedAt||!e.completedAt?!1:!t||t.orchestrationStatus!==`running`}function wT(e){return e.interactionMode===`plan`&&e.latestTurnSettled&&!e.hasPendingUserInput&&e.hasActionableProposedPlan}function TT(e,t,n){let r=t?.orchestrationStatus===`running`?t.activeTurnId??null:null;return r===null?CT(e,t)?n:e?.startedAt??n:e?.turnId===r?e.startedAt??n:n}function ET(e){switch(e){case`command_execution_approval`:case`exec_command_approval`:case`dynamic_tool_call`:return`command`;case`file_read_approval`:return`file-read`;case`file_change_approval`:case`apply_patch_approval`:return`file-change`;default:return null}}function DT(e){let t=e?.toLowerCase();return t?t.includes(`stale pending approval request`)||t.includes(`stale pending user-input request`)||t.includes(`unknown pending approval request`)||t.includes(`unknown pending permission request`)||t.includes(`unknown pending user-input request`):!1}function OT(e){return e.payload&&typeof e.payload==`object`?e.payload:null}function kT(e){return e&&typeof e.requestId==`string`?Xn.make(e.requestId):null}function AT(e){return e&&typeof e.detail==`string`?e.detail:void 0}function jT(e){return e&&(e.requestKind===`command`||e.requestKind===`file-read`||e.requestKind===`file-change`)?e.requestKind:e?ET(e.requestType):null}function MT(e,t,n){if(t.kind!==`approval.requested`&&t.kind!==`approval.resolved`&&t.kind!==`provider.approval.respond.failed`)return;let r=kT(n),i=jT(n),a=AT(n);if(t.kind===`approval.requested`&&r&&i){e.set(r,{requestId:r,requestKind:i,createdAt:t.createdAt,...a?{detail:a}:{}});return}if(t.kind===`approval.resolved`&&r){e.delete(r);return}t.kind===`provider.approval.respond.failed`&&r&&DT(a)&&e.delete(r)}function NT(e){return[...e.values()].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt))}function PT(e){let t=e?.questions;if(!Array.isArray(t))return null;let n=t.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.id!=`string`||typeof t.header!=`string`||typeof t.question!=`string`||!Array.isArray(t.options))return null;let n=t.options.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;return typeof t.label!=`string`||typeof t.description!=`string`?null:{label:t.label,description:t.description}}).filter(e=>e!==null);return n.length===0?null:{id:t.id,header:t.header,question:t.question,options:n,multiSelect:t.multiSelect===!0}}).filter(e=>e!==null);return n.length>0?n:null}function FT(e,t,n){if(t.kind!==`user-input.requested`&&t.kind!==`user-input.resolved`&&t.kind!==`provider.user-input.respond.failed`)return;let r=kT(n),i=AT(n);if(t.kind===`user-input.requested`&&r){let i=PT(n);if(!i)return;e.set(r,{requestId:r,createdAt:t.createdAt,questions:i});return}if(t.kind===`user-input.resolved`&&r){e.delete(r);return}t.kind===`provider.user-input.respond.failed`&&r&&DT(i)&&e.delete(r)}function IT(e){return[...e.values()].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt))}function LT(e){if(!e)return null;let t=OT(e),n=t?.plan;if(!Array.isArray(n))return null;let r=n.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.step!=`string`)return null;let n=t.status===`completed`||t.status===`inProgress`?t.status:`pending`;return{step:t.step,status:n}}).filter(e=>e!==null);return r.length===0?null:{createdAt:e.createdAt,turnId:e.turnId,...t&&`explanation`in t?{explanation:t.explanation}:{},steps:r}}function RT(e,t){if(t){let n=[...e].filter(e=>e.turnId===t).toSorted((e,t)=>e.updatedAt.localeCompare(t.updatedAt)||e.id.localeCompare(t.id)).at(-1);if(n)return aE(n)}let n=[...e].toSorted((e,t)=>e.updatedAt.localeCompare(t.updatedAt)||e.id.localeCompare(t.id)).at(-1);return n?aE(n):null}function zT(e){let t=e.threads.find(t=>t.id===e.threadId)?.proposedPlans??[];if(!e.latestTurnSettled){let t=e.latestTurn?.sourceProposedPlan;if(t){let n=e.threads.find(e=>e.id===t.threadId)?.proposedPlans.find(e=>e.id===t.planId);if(n)return aE(n)}}return RT(t,e.latestTurn?.turnId??null)}function BT(e){return e!==null&&e.implementedAt===null}function VT(e,t,n){let r=[...e].toSorted(WE),i=HT(r),a=new Map;if(n?.agentTimeline)for(let e of r){let t=bE(Z(e.payload));t&&e.sequence!==void 0&&!a.has(t)&&a.set(t,e.sequence)}let o=[];for(let e of r){let r=n?.agentTimeline&&e.kind===`tool.started`?{...e,kind:`tool.updated`}:e;if(qT(r,t,n?.agentTimeline)){let t=XT(r,i),s=(t.toolCallId?a.get(t.toolCallId):void 0)??e.sequence;n?.agentTimeline&&s!==void 0&&(t.sequence=s),o.push(t)}}if(n?.agentTimeline){let e=new Map,t=[];for(let n of o){let r=n.toolCallId?`${n.turnId??``}:${n.toolCallId}`:null,i=r?e.get(r):void 0;if(i!==void 0){let e=t[i];(!e.completed||n.completed)&&(t[i]={...eE(e,n),id:e.id})}else r&&e.set(r,t.length),t.push(n)}return JT(t)}return JT(o)}function HT(e){let t=new Map;for(let n of e){if(n.kind!==`tool.started`)continue;let e=bE(n.payload&&typeof n.payload==`object`?n.payload:null);e&&!t.has(e)&&t.set(e,n.createdAt)}return t}function UT(e){let t=e.payload&&typeof e.payload==`object`?e.payload:null;return!t||typeof t.taskId!=`string`?null:t}function WT(e){let t=UT(e);return t!==null&&!Zw(t)}function GT(e){if(e.kind!==`task.started`&&e.kind!==`task.progress`&&e.kind!==`task.completed`)return!1;let t=UT(e);return t!==null&&!Zw(t)}function KT(e){let t=e.payload&&typeof e.payload==`object`?e.payload:null;return t?e.kind===`task.started`||e.kind===`task.progress`||e.kind===`task.updated`||e.kind===`task.completed`?typeof t.agentId==`string`&&t.agentId.trim().length>0||t.timelineBypass===!0?!(e.kind!==`task.updated`&&typeof t.taskId==`string`&&!Zw(t)):!1:t.timelineBypass===!0||typeof t.agentId==`string`&&t.agentId.trim().length>0:!1}function qT(e,t,n=!1){return t&&e.turnId!==t&&!GT(e)?!1:e.kind===`task.started`?WT(e):e.kind===`task.updated`||e.kind===`tool.progress`||!n&&KT(e)?!1:e.kind!==`tool.started`&&e.kind!==`agent.message`&&e.kind!==`context-window.updated`&&e.kind!==`context-handoff`&&!Fx(e)&&e.summary!==`Checkpoint captured`&&!YT(e)}function JT(e){return QT(e).map(({activityKind:e,collapseKey:t,...n})=>n)}function YT(e){if(e.kind!==`tool.updated`&&e.kind!==`tool.completed`)return!1;let t=e.payload&&typeof e.payload==`object`?e.payload:null;return typeof t?.detail==`string`&&t.detail.startsWith(`ExitPlanMode:`)}function XT(e,t){let n=e.payload&&typeof e.payload==`object`?e.payload:null,r=vE(n),i=HE(n),a=UE(n),o=yE(n),s=e.kind===`task.started`||e.kind===`task.progress`||e.kind===`task.completed`,c=s&&typeof n?.summary==`string`&&n.summary.length>0?n.summary:null,l=s&&!c&&typeof n?.detail==`string`&&n.detail.length>0?n.detail:null,u=c||l,d=s?!l&&n&&typeof n.detail==`string`&&n.detail.length>0?NE(n.detail).output:null:DE(n,o??e.summary),f=s?null:bE(n),p={id:e.id,createdAt:e.createdAt,label:u||e.summary,tone:e.kind===`task.progress`?`thinking`:e.tone===`approval`?`info`:e.tone,activityKind:e.kind},m=PE(n),h=FE(n),g=AE(n),_=ME(n);if(d&&(p.detail=d),r.command&&(p.command=r.command),r.rawCommand&&(p.rawCommand=r.rawCommand),i.length>0&&(p.changedFiles=i),a.length>0&&(p.changedFileStats=a),o&&(p.toolTitle=o),m&&(p.itemType=m),h&&(p.requestKind=h),f){p.toolCallId=f;let e=t.get(f);e&&(p.startedAt=e)}p.lastActivityAt=e.createdAt,g&&(p.output=g),_!==null&&(p.exitCode=_),e.turnId!==null&&(p.turnId=e.turnId),(e.kind===`tool.completed`||e.kind===`task.completed`)&&(p.completed=!0),s&&typeof n?.taskId==`string`&&n.taskId.length>0&&(p.taskId=n.taskId),s&&typeof n?.role==`string`&&n.role.length>0&&(p.agentRole=n.role),s&&(n?.taskType===`local_workflow`||typeof n?.workflowName==`string`&&n.workflowName.length>0)&&(p.isWorkflowCoordinator=!0),s&&n&&Zw(n)&&(p.isBackgroundTask=!0);let v=rE(p);return v&&(p.collapseKey=v),p}function ZT(e){let t=e.taskId??``,n=t.indexOf(`:wf:`);return n===-1?e.agentSpawn?.workflowId?`wf:${e.agentSpawn.workflowId}`:e.isWorkflowCoordinator?`wf:${t}`:e.turnId?`direct:${e.turnId}`:`direct:task:${t}`:`wf:${t.slice(0,n)}`}function QT(e){let t=[],n=new Map,r=new Map;for(let i of e){if(i.taskId!==void 0&&!i.isBackgroundTask&&(i.activityKind===`task.started`||i.activityKind===`task.progress`||i.activityKind===`task.completed`)&&i.taskId!==void 0){let e=r.get(i.taskId),a=e??ZT(i);e===void 0&&r.set(i.taskId,a);let o=a.startsWith(`wf:`)?a.slice(3):null,s=n.get(a);if(s!==void 0){let e=t[s],n=e.agentSpawn?.agentTaskIds.includes(i.taskId)?e.agentSpawn.agentTaskIds:[...e.agentSpawn?.agentTaskIds??[],i.taskId];t[s]={...eE(e,i),id:e.id,createdAt:e.createdAt,turnId:e.turnId??null,...e.taskId===void 0?{}:{taskId:e.taskId},label:e.label,agentSpawn:{workflowId:o,agentTaskIds:n}};continue}n.set(a,t.length),t.push({...i,agentSpawn:{workflowId:o,agentTaskIds:[i.taskId]}});continue}let e=t.at(-1);if(e&&$T(e,i)){t[t.length-1]=eE(e,i);continue}t.push(i)}return t}function $T(e,t){return e.activityKind!==`tool.updated`&&e.activityKind!==`tool.completed`||t.activityKind!==`tool.updated`&&t.activityKind!==`tool.completed`||e.activityKind===`tool.completed`?!1:e.collapseKey!==void 0&&e.collapseKey===t.collapseKey||e.toolCallId!==void 0&&t.toolCallId===void 0&&e.itemType===t.itemType&&iE(e.toolTitle??e.label)===iE(t.toolTitle??t.label)}function eE(e,t){let n=tE(e.changedFiles,t.changedFiles),r=nE(e.changedFileStats,t.changedFileStats),i=t.detail??e.detail,a=t.command??e.command,o=t.rawCommand??e.rawCommand,s=t.toolTitle??e.toolTitle,c=t.itemType??e.itemType,l=t.requestKind??e.requestKind,u=t.collapseKey??e.collapseKey,d=t.toolCallId??e.toolCallId,f=t.output??e.output,p=t.exitCode??e.exitCode,m=e.startedAt??t.startedAt??e.createdAt,h=t.lastActivityAt??t.createdAt;return{...e,...t,startedAt:m,lastActivityAt:h,...i?{detail:i}:{},...a?{command:a}:{},...o?{rawCommand:o}:{},...n.length>0?{changedFiles:n}:{},...r.length>0?{changedFileStats:r}:{},...s?{toolTitle:s}:{},...c?{itemType:c}:{},...l?{requestKind:l}:{},...u?{collapseKey:u}:{},...d?{toolCallId:d}:{},...f?{output:f}:{},...p===void 0?{}:{exitCode:p}}}function tE(e,t){let n=[...e??[],...t??[]];return n.length===0?[]:[...new Set(n)]}function nE(e,t){let n=new Map;for(let r of[...e??[],...t??[]]){let e=n.get(r.path);n.set(r.path,{path:r.path,kind:r.kind??e?.kind,additions:r.additions??e?.additions,deletions:r.deletions??e?.deletions})}return Array.from(n.values())}function rE(e){if(e.taskId&&(e.activityKind===`task.progress`||e.activityKind===`task.completed`))return`task${e.taskId}`;if(e.activityKind!==`tool.updated`&&e.activityKind!==`tool.completed`)return;if(e.toolCallId)return`tool:${e.toolCallId}`;let t=iE(e.toolTitle??e.label),n=e.detail?.trim()??``,r=e.itemType??``;if(t.length!==0||n.length!==0||r.length!==0)return[r,t,n].join(``)}function iE(e){return e.replace(/\s+(?:complete|completed)\s*$/i,``).trim()}function aE(e){return{id:e.id,createdAt:e.createdAt,updatedAt:e.updatedAt,turnId:e.turnId,planMarkdown:e.planMarkdown,implementedAt:e.implementedAt,implementationThreadId:e.implementationThreadId}}function Z(e){return e&&typeof e==`object`?e:null}function Q(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function oE(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function sE(e){let t=e.trim();if(t.startsWith(`'`)&&t.endsWith(`'`)||t.startsWith(`"`)&&t.endsWith(`"`)){let e=t.slice(1,-1).trim();return e.length>0?e:t}return t}function cE(e){let t=sE(e);if(t.length===0)return null;let n=t.replace(/\\/g,`/`).split(`/`).at(-1)?.trim()??``;return n.length>0?n.toLowerCase():null}function lE(e){let t=e.trim();if(t.length===0)return null;if(t.startsWith(`"`)||t.startsWith(`'`)){let e=t.charAt(0),n=t.indexOf(e,1);return n<=0?null:{executable:t.slice(0,n+1),rest:t.slice(n+1).trim()}}let n=t.search(/\s/);return n<0?{executable:t,rest:``}:{executable:t.slice(0,n),rest:t.slice(n).trim()}}var uE=[{executables:[`pwsh`,`pwsh.exe`,`powershell`,`powershell.exe`],wrapperFlagPattern:/(?:^|\s)-command\s+/i},{executables:[`cmd`,`cmd.exe`],wrapperFlagPattern:/(?:^|\s)\/c\s+/i},{executables:[`bash`,`sh`,`zsh`],wrapperFlagPattern:/(?:^|\s)-(?:l)?c\s+/i}];function dE(e){return uE.find(t=>t.executables.includes(e))}function fE(e,t){let n=t.exec(e);if(!n)return null;let r=e.slice(n.index+n[0].length).trim();if(r.length===0)return null;let i=sE(r);return i.length>0?i:null}function pE(e){let t=lE(e);if(!t||t.rest.length===0)return e;let n=cE(t.executable);if(!n)return e;let r=dE(n);return r?fE(t.rest,r.wrapperFlagPattern)??e:e}function mE(e){return/[\s"'`]/.test(e)?`"${e.replace(/"/g,`\\"`)}"`:e}function hE(e){let t=Q(e);if(t)return t;if(!Array.isArray(e))return null;let n=e.map(e=>Q(e)).filter(e=>e!==null);return n.length===0?null:n.map(e=>mE(e)).join(` `)}function gE(e){let t=hE(e);return t?pE(t):null}function _E(e,t){let n=hE(e);return!n||t===null||n===t?null:n}function vE(e){let t=Z(e?.data),n=Z(t?.item),r=Z(n?.result),i=Z(n?.input),a=Q(e?.itemType),o=Q(e?.detail),s=[n?.command,i?.command,r?.command,t?.command,Z(t?.input)?.command,Z(t?.rawInput)?.command,Z(Z(t?.state)?.input)?.command,a===`command_execution`&&o?NE(o).output:null];for(let e of s){let t=gE(e);if(t)return{command:t,rawCommand:_E(e,t)}}return{command:null,rawCommand:null}}function yE(e){return Q(e?.title)}function bE(e){return Q(Z(e?.data)?.toolCallId)??Q(e?.providerItemId)}function xE(e){return e.replace(/\s+/g,` `).trim()}function SE(e,t=84){return e.length<=t?e:`${e.slice(0,t-1).trimEnd()}…`}function CE(e){let t=Q(e);return t?iE(xE(t)).toLowerCase():null}function wE(e){let t=e.split(/\r?\n/u).map(e=>xE(e)).filter(e=>e.length>0),n=t.find(e=>e!=="```");return n?SE(n):t.length>1?`${t.length.toLocaleString()} lines`:null}function TE(e){let t=Z(Z(e?.data)?.rawOutput);if(!t)return null;let n=oE(t.totalFiles);if(n!==null){let e=t.truncated===!0?`+`:``;return`${n.toLocaleString()} file${n===1?``:`s`}${e}`}let r=Q(t.content);if(r)return wE(r);let i=Q(t.stdout);return i?wE(i):null}function EE(e,t){let n=Q(Z(e?.data)?.kind)?.toLowerCase(),r=Q(e?.title??t)?.toLowerCase();return PE(e)===`command_execution`||n===`execute`||r===`terminal`||r===`ran command`}function DE(e,t){let n=Q(e?.detail),r=n?NE(n).output:null,i=CE(t),a=CE(r);if(r&&i!==a)return r;if(EE(e,t))return null;let o=TE(e);return o&&CE(o)!==i?o:null}function OE(e){return Aw(e)??null}function kE(e){if(!e)return null;let t=Q(e.type);if(t===`commandExecution`)return Q(e.aggregatedOutput);if(t===`mcpToolCall`){let t=Q(Z(e.error)?.message);if(t)return t;let n=Z(e.result);if(n){let e=OE(n.content);if(e)return e;let t=n.structuredContent;if(t&&typeof t==`object`)try{return JSON.stringify(t,null,2)}catch{return null}}return null}if(t===`dynamicToolCall`)return OE(e.contentItems);if(t===`fileChange`){let t=e.changes;if(Array.isArray(t)){let e=t.map(e=>!e||typeof e!=`object`?null:Q(e.diff)).filter(e=>e!==null);if(e.length>0)return e.join(`
|
|
14
|
-
|
|
15
|
-
`)}return null}return null}function AE(e){let t=Z(e?.data);if(!t)return null;let n=kE(Z(t.item));if(n)return n;let r=jE(t.changes);if(r)return r;let i=Z(t.state);return jw(t.rawOutput)??jw(t.output)??jw(t.result)??jw(i?.output)??Q(i?.error)??Q(Z(t.error)?.message)??Aw(t.content)??null}function jE(e){if(!Array.isArray(e))return null;let t=[];for(let n of e){let e=Q(Z(n)?.diff);e&&t.push(e)}return t.length>0?t.join(`
|
|
16
|
-
|
|
17
|
-
`):null}function ME(e){let t=Z(e?.data);if(!t)return null;let n=Z(t.item);if(n){let e=oE(n.exitCode);if(e!==null&&Number.isInteger(e))return e}let r=oE(Z(t.rawOutput)?.exitCode);if(r!==null&&Number.isInteger(r))return r;let i=Q(e?.detail);return i?NE(i).exitCode??null:null}function NE(e){let t=e.trim(),n=/^(?<output>[\s\S]*?)(?:\s*<exited with exit code (?<code>\d+)>)\s*$/i.exec(t);if(!n?.groups)return{output:t.length>0?t:null};let r=Number.parseInt(n.groups.code??``,10),i=n.groups.output?.trim()??``;return{output:i.length>0?i:null,...Number.isInteger(r)?{exitCode:r}:{}}}function PE(e){if(typeof e?.itemType==`string`&&Gr(e.itemType))return e.itemType}function FE(e){return e?.requestKind===`command`||e?.requestKind===`file-read`||e?.requestKind===`file-change`?e.requestKind:ET(e?.requestType)??void 0}function IE(e,t,n){let r=Q(n);!r||t.has(r)||(t.add(r),e.push(r))}function LE(e){for(let t of[`path`,`filePath`,`relativePath`,`filename`,`newPath`,`oldPath`]){let n=Q(e[t]);if(n)return n}return null}function RE(e){if(!(typeof e!=`number`||!Number.isFinite(e)))return Math.max(0,Math.trunc(e))}function zE(e){let t=LE(e);if(!t)return null;let n=RE(e.additions??e.insertions??e.addedLines??e.additionLines),r=RE(e.deletions??e.deletedLines??e.deletionLines??e.removedLines??e.removals);return n===void 0&&r===void 0?null:{path:t,...n===void 0?{}:{additions:n},...r===void 0?{}:{deletions:r}}}function BE(e,t,n,r){if(r>4||t.length>=12)return;if(Array.isArray(e)){for(let i of e)if(BE(i,t,n,r+1),t.length>=12)return;return}let i=Z(e);if(i){IE(t,n,i.path),IE(t,n,i.filePath),IE(t,n,i.relativePath),IE(t,n,i.filename),IE(t,n,i.newPath),IE(t,n,i.oldPath);for(let e of[`item`,`result`,`input`,`data`,`changes`,`files`,`edits`,`patch`,`patches`,`operations`])if(e in i&&(BE(i[e],t,n,r+1),t.length>=12))return}}function VE(e,t,n,r){if(r>4||t.length>=12)return;if(Array.isArray(e)){for(let i of e)if(VE(i,t,n,r+1),t.length>=12)return;return}let i=Z(e);if(!i)return;let a=zE(i);a&&!n.has(a.path)&&(n.add(a.path),t.push(a));for(let e of[`item`,`result`,`input`,`data`,`changes`,`files`,`edits`,`patch`,`patches`,`operations`])if(e in i&&(VE(i[e],t,n,r+1),t.length>=12))return}function HE(e){let t=[],n=new Set;return BE(Z(e?.data),t,n,0),t}function UE(e){let t=[],n=new Set;return VE(Z(e?.data),t,n,0),t}function WE(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;let n=e.createdAt.localeCompare(t.createdAt);if(n!==0)return n;let r=GE(e.kind)-GE(t.kind);return r===0?e.id.localeCompare(t.id):r}function GE(e){return e.endsWith(`.started`)||e===`tool.started`?0:e.endsWith(`.progress`)||e.endsWith(`.updated`)?1:e.endsWith(`.completed`)||e.endsWith(`.resolved`)?2:1}function KE(e){return{id:`context-compaction:${e.id}`,activityId:e.id,createdAt:e.createdAt,label:e.summary,turnId:e.turnId}}function qE(e,t){let n=[...e].toSorted(WE),r=HT(n),i=t??void 0,a=new Map,o=new Map,s=[],c=[],l=[],u=!1,d=null,f=null;for(let e of n){let t=OT(e);MT(a,e,t),FT(o,e,t),e.kind===`turn.plan.updated`&&(d=e,i&&e.turnId===i&&(f=e)),i&&!u&&e.turnId===i&&e.tone===`tool`&&(u=!0),Fx(e)&&c.push(KE(e));let n=yT(e);n&&l.push(n),qT(e,i)&&s.push(XT(e,r))}return{workLogEntries:JT(s),contextCompactionEntries:c,contextHandoffEntries:l,latestTurnHasToolActivity:u,pendingApprovals:NT(a),pendingUserInputs:IT(o),activePlan:LT(f??d)}}function JE(e){let t=[...e].toSorted((e,t)=>e.completedAt.localeCompare(t.completedAt)),n={};for(let e=0;e<t.length;e+=1){let r=t[e];r&&(n[r.turnId]=e+1)}return n}function YE(e){return!e||e.status===`closed`?`disconnected`:e.status===`connecting`?`connecting`:e.status===`running`?`running`:`ready`}function XE(e){if(e.hasPendingApprovals)return`approval`;if(e.hasPendingUserInput)return`input`;let t=YE(e.session);return t===`running`||e.latestTurn?.state===`running`?`working`:t===`connecting`?`connecting`:wT({interactionMode:e.interactionMode,latestTurnSettled:CT(e.latestTurn,e.session),hasPendingUserInput:e.hasPendingUserInput,hasActionableProposedPlan:e.hasActionableProposedPlan})?`plan-ready`:e.backgroundLiveness===`working`?`working`:e.backgroundLiveness===`monitoring`?`monitoring`:`idle`}function ZE(e){switch(e.source){case`pin`:return{title:`Pinned`,detail:`Pinned by you.`,aiGenerated:!1};case`approval`:return{title:`Approval required`,detail:`This thread is waiting for your approval.`,aiGenerated:!1};case`input`:return{title:`Input required`,detail:`This thread is waiting for your response.`,aiGenerated:!1};case`failure`:return{title:`Recent failure`,detail:`The latest turn failed and has not received a newer request.`,aiGenerated:!1};case`ai`:return{title:e.ranking?.tier===`now`?`Now`:`Soon`,detail:e.ranking?.reason??`Selected by the Inbox ranking model.`,aiGenerated:!0}}}function QE(e){if(e==null)return null;let t=Date.parse(e);return Number.isFinite(t)?t:null}function $E(e,t){if(e.latestTurn?.state!==`error`)return!1;let n=QE(e.latestTurn.completedAt??e.latestTurn.startedAt??e.latestTurn.requestedAt);if(n===null||t<n||t-n>=864e5)return!1;let r=QE(e.latestUserMessageAt);return r===null||r<=n}function eD(e,t){if(e==null||e.confidence===`low`||e.tier!==`now`&&e.tier!==`soon`)return!1;let n=QE(e.rankedAt),r=QE(e.usableUntil);return n!==null&&r!==null&&t>=n&&t<r&&t-n<864e5}function tD(e,t){return e.hasPendingApprovals?`approval`:e.hasPendingUserInput?`input`:$E(e,t)?`failure`:null}function nD(e){if(!e.enabled)return{focus:[],active:e.active};let t=e.active.map((t,n)=>({value:t,index:n,candidate:e.toCandidate(t)})),n=[],r=new Set,i=(e,t,i=null)=>{r.has(e.candidate.scopedKey)||(r.add(e.candidate.scopedKey),n.push({value:e.value,focus:{source:t,ranking:i}}))};for(let e of t)e.candidate.serverOwned&&e.candidate.pinned&&i(e,`pin`);let a=Math.max(e.target??5,n.length),o=t.map(t=>({...t,source:tD(t.candidate,e.nowMs)})).filter(e=>e.candidate.serverOwned&&e.source!==null).toSorted((e,t)=>{let n={approval:0,input:1,failure:2};return n[e.source]-n[t.source]||e.index-t.index});for(let e of o){if(n.length>=a)break;i(e,e.source)}let s=t.filter(t=>t.candidate.serverOwned&&eD(t.candidate.priority,e.nowMs)).toSorted((e,t)=>{let n={now:0,soon:1},r=e.candidate.priority,i=t.candidate.priority;return n[r.tier]-n[i.tier]||e.index-t.index});for(let e of s){if(n.length>=a)break;i(e,`ai`,e.candidate.priority)}return{focus:n,active:t.filter(e=>!r.has(e.candidate.scopedKey)).map(e=>e.value)}}function rD(e,t){return`${e}:${t}`}function iD(e){return e instanceof Set?e:new Set(e??[])}function aD(e){return{environmentId:e,label:e,threadSettlementSupported:!1,connected:!1,mutationReady:!1,shellCurrent:!1}}function oD(e){return e.thread.worktreeId?e.worktreeByKey.get(rD(e.thread.environmentId,e.thread.worktreeId))??null:e.thread.worktreePath===null?null:e.worktreesByProjectKey.get(oe({environmentId:e.thread.environmentId,projectId:e.thread.projectId}))?.find(t=>t.worktreePath===e.thread.worktreePath)??null}function sD(e,t){return t?`client-draft`:e.threadSettlementSupported?e.connected?e.shellCurrent?e.mutationReady?null:`read-only`:`shell-stale`:`disconnected`:`unsupported`}function cD(e){return{threadSettlementSupported:e.environment.threadSettlementSupported,archivedAt:e.thread.archivedAt,deletedAt:null,worktreeArchivedAt:e.worktree?.archivedAt??null,settledOverride:e.thread.settledOverride??null,settledAt:e.thread.settledAt??null,sessionStatus:e.thread.session?.orchestrationStatus??null,latestTurnState:e.thread.latestTurn?.state??null,latestTurnRequestedAt:e.thread.latestTurn?.requestedAt??null,latestTurnStartedAt:e.thread.latestTurn?.startedAt??null,latestTurnCompletedAt:e.thread.latestTurn?.completedAt??null,latestUserMessageAt:e.thread.latestUserMessageAt,hasPendingApprovals:e.thread.hasPendingApprovals,hasPendingUserInput:e.thread.hasPendingUserInput||XE(e.thread)===`plan-ready`,hasLocalQueuedMessage:e.hasLocalQueuedMessage,deliveryUnknown:e.deliveryUnknown,prState:e.worktree?.prState??null,worktreeUpdatedAt:e.worktree?.updatedAt??null,updatedAt:e.thread.updatedAt??null,createdAt:e.thread.createdAt,autoSettleAfterDays:e.autoSettleAfterDays,nowMs:e.nowMs}}function lD(e,t){if(!t)return!0;if(t.environmentIds&&!t.environmentIds.includes(e.environment.environmentId)||t.projectKeys&&!t.projectKeys.includes(oe({environmentId:e.ref.environmentId,projectId:e.project?.id??e.thread?.projectId??e.draft.projectId}))||t.worktreeKeys&&(e.worktree===null||!t.worktreeKeys.includes(rD(e.environment.environmentId,e.worktree.id))))return!1;let n=t.text?.trim().toLocaleLowerCase();return!n||[e.title,e.environment.label,e.project?.name,e.project?.cwd,e.worktree?.title,e.worktree?.branch,e.worktree?.prTitle,e.worktree?.issueTitle,e.worktree?.workItemKey,e.worktree?.workItemTitle].some(e=>e?.toLocaleLowerCase().includes(n)===!0)}function uD(e){return{id:e.threadId,environmentId:e.environmentId,projectId:e.projectId,title:e.title,interactionMode:`default`,session:null,createdAt:e.createdAt,archivedAt:null,settledOverride:null,settledAt:null,latestTurn:null,branch:e.branch,worktreePath:e.worktreePath,worktreeId:e.worktreeId??null,manualStatusBucket:null,manualPosition:0,latestUserMessageAt:null,hasPendingApprovals:!1,hasPendingUserInput:!1,hasActionableProposedPlan:!1}}function dD(e){let t=iD(e.pinnedThreadKeys),n=iD(e.localQueuedThreadKeys),r=iD(e.deliveryUnknownThreadKeys),i=new Map(e.environments.map(e=>[e.environmentId,e])),a=new Map(e.projects.map(e=>[oe({environmentId:e.environmentId,projectId:e.id}),e])),o=new Map(e.worktrees.map(e=>[rD(e.environmentId,e.id),e])),s=new Map;for(let t of e.worktrees){let e=oe({environmentId:t.environmentId,projectId:t.projectId});s.set(e,[...s.get(e)??[],t])}let c=new Set(e.threads.map(e=>_(l(e.environmentId,e.id)))),u=0,d=null,f=[];for(let c of e.threads){let p=l(c.environmentId,c.id),m=_(p),h=i.get(c.environmentId)??aD(c.environmentId),g=a.get(oe({environmentId:c.environmentId,projectId:c.projectId}))??null,v=oD({thread:c,worktreeByKey:o,worktreesByProjectKey:s}),y=cD({thread:c,worktree:v,environment:h,hasLocalQueuedMessage:n.has(m),deliveryUnknown:r.has(m),autoSettleAfterDays:e.autoSettleAfterDays??null,nowMs:e.nowMs}),b=bw(y);b!==null&&(d===null||b<d)&&(d=b);let x=Sw(y);if(x===`excluded`){u+=1;continue}let S=Ew(c,e.nowMs)&&!y.hasLocalQueuedMessage&&!y.deliveryUnknown;if(S){let e=Date.parse(c.snoozedUntil);d=Math.min(d??e,e)}let C=hw(y),w=sD(h,!1);f.push({key:m,ref:p,thread:c,draft:null,title:c.title,createdAt:c.createdAt,project:g,worktree:v,environment:h,lifecycle:{classification:S?`snoozed`:x,eligibility:C,effectiveSettlementTimestamp:xw(y),settlementBlocker:C.blocker},mutationEnabled:w===null,mutationBlocker:w,pinned:t.has(m),current:e.currentThreadKey===m,isDraft:!1,canSnooze:h.threadSnoozeSupported===!0&&h.connected&&h.shellCurrent&&h.mutationReady&&Tw(y).canSnooze,focus:null})}for(let n of e.drafts??[]){let r=n.promotedTo?_(n.promotedTo):null;if(r!==null&&c.has(r))continue;let u=n.promotedTo??l(n.environmentId,n.threadId),d=_(u);if(c.has(d))continue;let p=i.get(n.environmentId)??aD(n.environmentId),m=uD(n),h=a.get(oe({environmentId:n.environmentId,projectId:n.projectId}))??null,g=oD({thread:m,worktreeByKey:o,worktreesByProjectKey:s});f.push({key:d,ref:u,thread:null,draft:n,title:n.title,createdAt:n.createdAt,project:h,worktree:g,environment:p,lifecycle:{classification:`active`,eligibility:{canSettle:!1,blocker:`unsupported`},effectiveSettlementTimestamp:null,settlementBlocker:`unsupported`},mutationEnabled:!1,mutationBlocker:`client-draft`,pinned:t.has(d),current:e.currentThreadKey===d,isDraft:!0,canSnooze:!1,focus:null})}let p=f.filter(t=>t.current||lD(t,e.filters)),m=nD({active:p.filter(e=>e.lifecycle.classification===`active`).toSorted((e,t)=>Cw({scopedKey:e.key,pinned:e.pinned,createdAt:e.createdAt},{scopedKey:t.key,pinned:t.pinned,createdAt:t.createdAt})),enabled:e.aiFocusEnabled??!1,nowMs:e.nowMs,toCandidate:e=>({scopedKey:e.key,pinned:e.pinned,serverOwned:!e.isDraft,hasPendingApprovals:e.thread?.hasPendingApprovals??!1,hasPendingUserInput:e.thread?.hasPendingUserInput??!1,latestTurn:e.thread?.latestTurn??null,latestUserMessageAt:e.thread?.latestUserMessageAt??null,priority:e.thread?.priority})});return{snoozed:p.filter(e=>e.lifecycle.classification===`snoozed`).toSorted((e,t)=>(e.thread?.snoozedUntil??``).localeCompare(t.thread?.snoozedUntil??``)),focus:m.focus.map(({value:e,focus:t})=>({...e,focus:t})),active:[...m.active],settled:p.filter(e=>e.lifecycle.classification===`settled`).toSorted((e,t)=>ww({scopedKey:e.key,effectiveSettlementTimestamp:e.lifecycle.effectiveSettlementTimestamp,createdAt:e.createdAt},{scopedKey:t.key,effectiveSettlementTimestamp:t.lifecycle.effectiveSettlementTimestamp,createdAt:t.createdAt})),excludedCount:u,nextSettlementEvaluationAtMs:d}}Ax(()=>{jx({clock:{now:()=>pd.now()},frameScheduler:{scheduleFrame:e=>md.scheduleFrame(e)},observability:Kf,isHostedHubMode:()=>y(),resolveAttachmentPreviewUrl:({environmentId:e,attachmentId:t})=>Hh({environmentId:e,pathname:`/attachments/${encodeURIComponent(t)}`})})});function fD(e){switch(e.type){case`activity`:return e.hasRunningSubprocess;case`started`:case`restarted`:case`exited`:return!1;default:return null}}function pD(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 mD={enabled:()=>!1,now:()=>0,record:()=>void 0};function hD(){let e=new Map;return{getItem:t=>e.get(t)??null,setItem:(t,n)=>{e.set(t,n)},removeItem:t=>{e.delete(t)}}}var gD=`ryco:terminal-state:v1`,_D=[],vD=200;function yD(e,t){return t===1&&e&&typeof e==`object`?{terminalStateByThreadKey:Object.fromEntries(Object.entries(e.terminalStateByThreadKey??{}).filter(([e])=>E(e)))}:{terminalStateByThreadKey:{}}}function bD(e){let t=[...new Set(e.map(e=>e.trim()).filter(e=>e.length>0))];return t.length>0?t:[Xh]}function xD(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 SD(e){return`group-${e}`}function CD(e,t){let n=e,r=2;for(;t.has(n);)n=`${e}-${r}`,r+=1;return t.add(n),n}function wD(e,t){return e.findIndex(e=>e.terminalIds.includes(t))}function TD(e){return[...new Set(e.map(e=>e.trim()).filter(e=>e.length>0))]}function ED(e,t){let n=new Set(t),r=new Set,i=[],a=new Set;for(let t of e){let e=TD(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():SD(e[0]??`default`);i.push({id:CD(o,a),terminalIds:e})}for(let e of t)r.has(e)||i.push({id:CD(SD(e),a),terminalIds:[e]});return i.length===0?[{id:SD(Xh),terminalIds:[Xh]}]:i}function DD(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 OD(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||!DD(r.terminalIds,i.terminalIds))return!1}return!0}function kD(e,t){return e.terminalOpen===t.terminalOpen&&e.terminalHeight===t.terminalHeight&&e.activeTerminalId===t.activeTerminalId&&e.activeTerminalGroupId===t.activeTerminalGroupId&&DD(e.terminalIds,t.terminalIds)&&DD(e.runningTerminalIds,t.runningTerminalIds)&&OD(e.terminalGroups,t.terminalGroups)}var AD=Object.freeze({terminalOpen:!1,terminalHeight:280,terminalIds:[Xh],runningTerminalIds:[],activeTerminalId:Xh,terminalGroups:[{id:SD(Xh),terminalIds:[Xh]}],activeTerminalGroupId:SD(Xh)});function jD(){return{...AD,terminalIds:[...AD.terminalIds],runningTerminalIds:[...AD.runningTerminalIds],terminalGroups:RD(AD.terminalGroups)}}function MD(){return AD}function ND(e){let t=bD(e.terminalIds),n=t.length>0?t:[Xh],r=xD(e.runningTerminalIds,n),i=n.includes(e.activeTerminalId)?e.activeTerminalId:n[0]??`default`,a=ED(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??SD(`default`)};return kD(e,c)?e:c}function PD(e){return kD(ND(e),AD)}function FD(e){return e.trim().length>0}function ID(e){return _(e)}function LD(e,t){return`${ID(e)}\u0000${t}`}function RD(e){return e.map(e=>({id:e.id,terminalIds:[...e.terminalIds]}))}function zD(e,t,n,r){let i=LD(n,r.terminalId),a=e[i]??_D,o={id:t,event:r},s=a.length>=vD?[...a.slice(1),o]:[...a,o];return{terminalEventEntriesByKey:{...e,[i]:s},nextTerminalEventId:t+1}}function BD(e){return{cwd:e.snapshot.cwd,worktreePath:e.snapshot.worktreePath}}function VD(e,t,n){let r=ND(e);if(!FD(t))return r;let i=!r.terminalIds.includes(t),a=i?[...r.terminalIds,t]:r.terminalIds,o=RD(r.terminalGroups),s=wD(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=CD(SD(t),e);return o.push({id:n,terminalIds:[t]}),ND({...r,terminalOpen:!0,terminalIds:a,activeTerminalId:t,terminalGroups:o,activeTerminalGroupId:n})}let c=o.findIndex(e=>e.id===r.activeTerminalGroupId);if(c<0&&(c=wD(o,r.activeTerminalId)),c<0){let e=new Set(o.map(e=>e.id)),t=CD(SD(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 ND({...r,terminalOpen:!0,terminalIds:a,activeTerminalId:t,terminalGroups:o,activeTerminalGroupId:l.id})}function HD(e,t){let n=ND(e);return n.terminalOpen===t?n:{...n,terminalOpen:t}}function UD(e,t){let n=ND(e);return!Number.isFinite(t)||t<=0||n.terminalHeight===t?n:{...n,terminalHeight:t}}function WD(e,t){return VD(e,t,`split`)}function GD(e,t){return VD(e,t,`new`)}function KD(e,t){let n=ND(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 qD(e,t){let n=ND(e);if(!n.terminalIds.includes(t))return n;let r=n.terminalIds.filter(e=>e!==t);if(r.length===0)return jD();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??SD(a);return ND({terminalOpen:n.terminalOpen,terminalHeight:n.terminalHeight,terminalIds:r,runningTerminalIds:n.runningTerminalIds.filter(e=>e!==t),activeTerminalId:a,terminalGroups:o,activeTerminalGroupId:s})}function JD(e,t,n){let r=ND(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 YD(e,t){return!t||t.threadId.length===0?MD():e[ID(t)]??MD()}function XD(e,t,n){if(t.threadId.length===0)return e;let r=ID(t),i=YD(e,t),a=n(i);if(a===i)return e;if(PD(a)){if(e[r]===void 0)return e;let{[r]:t,...n}=e;return n}return{...e,[r]:a}}function ZD(e,t,n){return!t||t.threadId.length===0||n.trim().length===0?_D:e[LD(t,n)]??_D}function QD(e){let t=e?.storage??hD(),n=e?.observability??mD;return O()(c_(e=>{let t=(t,n)=>{e(e=>{let r=XD(e.terminalStateByThreadKey,t,n);return r===e.terminalStateByThreadKey?e:{terminalStateByThreadKey:r}})};return{terminalStateByThreadKey:{},terminalLaunchContextByThreadKey:{},terminalEventEntriesByKey:{},nextTerminalEventId:1,setTerminalOpen:(e,n)=>t(e,e=>HD(e,n)),setTerminalHeight:(e,n)=>t(e,e=>UD(e,n)),splitTerminal:(e,n)=>t(e,e=>WD(e,n)),newTerminal:(e,n)=>t(e,e=>GD(e,n)),ensureTerminal:(e,n,r)=>t(e,e=>{let t=e;return e.terminalIds.includes(n)||(t=GD(t,n)),r?.active===!1&&(t={...t,activeTerminalId:e.activeTerminalId,activeTerminalGroupId:e.activeTerminalGroupId}),(r?.active??!0)&&(t=KD(t,n)),r?.open&&(t=HD(t,!0)),ND(t)}),setActiveTerminal:(e,n)=>t(e,e=>KD(e,n)),closeTerminal:(e,n)=>t(e,e=>qD(e,n)),setTerminalLaunchContext:(t,n)=>e(e=>({terminalLaunchContextByThreadKey:{...e.terminalLaunchContextByThreadKey,[ID(t)]:n}})),clearTerminalLaunchContext:t=>e(e=>{let n=ID(t);if(!e.terminalLaunchContextByThreadKey[n])return e;let{[n]:r,...i}=e.terminalLaunchContextByThreadKey;return{terminalLaunchContextByThreadKey:i}}),setTerminalActivity:(e,n,r)=>t(e,e=>JD(e,n,r)),recordTerminalEvent:(t,r)=>{let i=n.enabled(),a=i?n.now():0;e(e=>zD(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=ID(t),i=e.terminalStateByThreadKey,a=e.terminalLaunchContextByThreadKey;(r.type===`started`||r.type===`restarted`)&&(i=XD(i,t,e=>{let t=e;return e.terminalIds.includes(r.terminalId)||(t=GD(t,r.terminalId)),t=KD(t,r.terminalId),t=HD(t,!0),ND(t)}),a={...a,[n]:BD(r)});let o=fD(r);o!==null&&(i=XD(i,t,e=>JD(e,r.terminalId,o)));let s=zD(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=ID(t),r=XD(e.terminalStateByThreadKey,t,()=>jD()),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=ID(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:gD,version:2,storage:o_(()=>t),migrate:yD,partialize:e=>({terminalStateByThreadKey:e.terminalStateByThreadKey})}))}var $D=Qd(typeof window<`u`&&!y()?window.localStorage:void 0),eO=QD({storage:{getItem:e=>$D.getItem(e),setItem:(e,t)=>{$D.setItem(e,t)},removeItem:e=>{$D.removeItem(e)}},observability:{enabled:oa,now:sa,record:(e,t,n)=>aa(e,t,{durationMs:n})}});function tO(e){let t=e.setTimeout??globalThis.setTimeout,n=e.clearTimeout??globalThis.clearTimeout,r=e.random??Math.random,i=Math.max(0,Math.min(.5,e.jitterRatio??0)),a=null,o=null,s=!1,c=()=>{a!==null&&(n(a),a=null)},l=()=>{if(c(),s||!e.lifecycle.isForeground())return;let n=e.resolveDelayMs();if(n===!1||n<=0)return;let o=n*i*(r()*2-1),l=Math.max(1,Math.round(n+o));a=t(()=>{a=null,u()},l)},u=()=>{if(s)return Promise.resolve();if(c(),o)return o;let t=Promise.resolve().then(e.run).then(()=>void 0,()=>void 0).finally(()=>{o===t&&(o=null),l()});return o=t,t},d=e.lifecycle.subscribe(t=>{if(t===`background`){c();return}(t===`foreground`||t===`resume`||t===`online`)&&e.lifecycle.isForeground()&&u()});return e.runImmediately??!0?u():l(),{refresh:u,stop:()=>{s||(s=!0,c(),d())}}}var nO=Object.freeze({data:void 0,error:null,status:`pending`,fetchStatus:`idle`,dataUpdatedAt:0,errorUpdatedAt:0});function rO(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 iO(e){return rO(e)}function aO(e){return e instanceof Error?e:Error(String(e))}function oO(e){return e===void 0||e===!0?3:e===!1?0:e}function sO(e){return Math.min(1e3*2**e,3e4)}function cO(e){return new Promise(t=>setTimeout(t,e))}function lO(e,t){if(t.length>e.length)return!1;for(let n=0;n<t.length;n+=1)if(rO(e[n])!==rO(t[n]))return!1;return!0}var uO=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 rO(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=nO,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=iO(e),n=this.cache.get(t);return n||(n={key:e,hash:t,state:nO,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(iO(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&&!lO(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=oO(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=aO(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 cO(sO(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=nO;this.cache.clear(),this.prefixIndex.clear()}};function dO(){return uO}function fO(e){return e}function pO(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 mO(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 mO(e,t,n,n.status===`success`?t.select?t.select(n.data):n.data:void 0)}}}function hO(e){let t=dO(),{queryKey:n}=e,r=iO(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 tO({lifecycle:fd,run:()=>t.fetch(e.queryKey,e.queryFn,{retry:e.retry,force:!0}),resolveDelayMs:()=>r,runImmediately:!1,jitterRatio:.05}).stop},[t,r,c,s]),mO(t,e,s,pO(s.status===`success`?s.data:void 0,e.select))}var gO=Object.freeze({status:`idle`,data:void 0,error:null,variables:void 0});function _O(e){let t=(0,L.useRef)(e);t.current=e;let n=(0,L.useRef)(gO),[,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=aO(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(gO)},[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 vO(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 yO(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 bO=yO({fence:e=>{uO.fenceActiveQueriesForEnvironment(e),ie(e)},refresh:async e=>{await Promise.all([uO.refreshActiveQueriesForEnvironment(e),p(e)])}}),xO=class extends ne{constructor(e,t){super(e,{observability:Kf,socket:Om},t)}},SO=class extends le{constructor(e,t){super(e,{observability:Kf,socket:Om},t)}},CO=class extends fe{constructor(e,t){super(e,{observability:Kf,socket:Om},t)}},wO=`ryco:version-mismatch-dismissals:v1`,TO=A({keys:Cn(M)});function EO(e){let t=e?.trim();return t&&t.length>0?t:null}function DO(e){let t=EO(jf),n=EO(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 OO(e){return DO(e?.environment.serverVersion)}function kO(e,t){return`${e}:${t.clientVersion}:${t.serverVersion}`}function AO(){try{return Qm(`ryco:version-mismatch-dismissals:v1`,TO)??{keys:[]}}catch{return{keys:[]}}}function jO(e){try{$m(wO,e,TO)}catch{}}function MO(e){return e?AO().keys.includes(e):!1}function NO(e){if(!e)return;let t=AO();t.keys.includes(e)||jO({keys:[...t.keys,e]})}function PO(e,t){let n=EO(e);return n?t?`${n} Hint: ${t.hint}`:n:t?.hint??null}var FO=`ryco:startup:`;function IO(){return typeof performance<`u`&&typeof performance.mark==`function`}function LO(e){return`${FO}${e}`}function RO(e){if(IO())try{performance.mark(LO(e))}catch{}}function zO(e,t,n){if(!(!IO()||typeof performance.measure!=`function`))try{performance.measure(`${FO}${e}`,{start:LO(t),end:LO(n)})}catch{}}var BO=new Map,VO=new Map;function HO(e,t){let n=BO.get(e.hubOrigin);n===void 0&&t&&(n=new Map,BO.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 UO(e,t){let n=VO.get(e.hubOrigin);n===void 0&&t&&(n=new Map,VO.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 WO(e){HO(e,!0)?.add(e.nodeId)}function GO(e){return HO(e,!1)?.has(e.nodeId)??!1}function KO(e){return UO(e,!1)?.get(e.nodeId)}function qO(e,t){let n=UO(e,!0),r=n?.get(e.nodeId);(r===void 0||t>r)&&n?.set(e.nodeId,t)}function JO(){BO.clear(),VO.clear()}var YO=Object.freeze({status:`unavailable`,verificationCode:null}),XO=YO,ZO=new Set,QO=[];function $O(e){if(e.status!==XO.status||e.verificationCode!==XO.verificationCode){XO=e;for(let e of ZO)e()}}function ek(){return XO}function tk(e){return ZO.add(e),()=>void ZO.delete(e)}function nk(){QO=[...QO,`e2ee_policy_generation_regressed`].slice(-8);for(let e of ZO)e()}function rk(){if(QO.length!==0){QO=[];for(let e of ZO)e()}}function ik(){$O({status:`negotiating`,verificationCode:null})}function ak(e){$O({status:e===`e2ee`?`web-unsigned`:`legacy`,verificationCode:e===`e2ee`?XO.verificationCode:null})}function ok(e){XO.status!==`unavailable`&&XO.status!==`legacy`&&$O({status:XO.status,verificationCode:e})}function sk(){$O(YO)}var ck=[1];function lk(){let e=globalThis;return e.isSecureContext===!0&&typeof e.crypto?.getRandomValues==`function`}var uk=lk(),dk=null;function fk(){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 pk(e){let t=KO(e);return{hubOrigin:e.hubOrigin,selectionClass:GO(e)?`latched`:`legacy-eligible`,legacyPermitted:!0,pairingOnly:!1,localSuitePreference:ck,credentials:{tier:`web`},...t===void 0?{}:{acceptedPolicyGeneration:t},onStatement:t=>{if(t.kind===`invalid`&&t.reason===`policy_generation_regressed`){nk();return}if(!(`statement`in t))return;let n=KO(e);if(n!==void 0&&t.statement.policyGeneration<n)throw nk(),Error(`Web E2EE policy generation regressed.`);WO(e),qO(e,t.statement.policyGeneration)},onWebVerificationCode:ok}}function mk(e){return e.close(Kp()),{intercept:async()=>({kind:`rejected`}),submit:()=>!1,beginClose:async()=>`refused`,dispose:()=>void 0}}function hk(){if(!uk){ak(`legacy`);return}let e=fk();if(e===null)return mk;let t=pk(e);return e=>{let n={};dk=n,ik();let r=sm({host:{...e,lockMode:t=>{e.lockMode(t),ak(t)}},attempt:t});return{...r,dispose:e=>{r.dispose(e),dk===n&&(dk=null,sk())}}}}var gk;function _k(){if(gk!==void 0)return gk;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,JO(),rk(),sk())});return gk=()=>{gk=void 0,t()},gk}var vk=O(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 yk(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 bk(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 xk(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?bk(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 Sk(e,t){return e.filter(e=>e.id!==t)}function Ck(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 wk(e){return new Set(Object.entries(e).flatMap(([e,t])=>t.length>0?[e]:[]))}var Tk=120;function Ek(e){let t=e.trimmedPrompt.trim();return t.length>0?t.length>Tk?`${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 Dk(){return O(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]:Sk(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]:Ck(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 Ok=Dk(),kk=O(e=>({open:!1,setOpen:t=>e(e=>e.open===t?e:{open:t})}));function Ak(){return kk(jk)}function jk(e){return e.open}function Mk(e){kk.getState().setOpen(e)}function Nk(e){return`git:${e??``}`}var Pk=new Map;function Fk(e,t){let n=Pk.get(e);return n||(n=new Set,Pk.set(e,n)),n.add(t),()=>{let n=Pk.get(e);n&&(n.delete(t),n.size===0&&Pk.delete(e))}}function Ik(e){let t=new Set;for(let n of e){let e=Pk.get(n);if(e)for(let n of e)t.add(n)}for(let e of t)e()}var Lk=new Set,Rk=it(e=>(Lk.add(e),D(0).pipe(k,f(`git-mutation-running:${e}`))));function zk(e){return Rk(e)}function Bk(e){let t=Rk(e);T.set(t,T.get(t)+1)}function Vk(e){let t=Rk(e);T.set(t,Math.max(0,T.get(t)-1))}var Hk=15e3,Uk=6e4,Wk=100,Gk=Object.freeze({pages:[],isPending:!1,isFetchingNextPage:!1,error:null}),Kk=Object.freeze({...Gk,isPending:!0}),qk=D(Gk).pipe(k,f(`git-branches:null`)),Jk=new Set,Yk=it(e=>(Jk.add(e),D(Kk).pipe(k,f(`git-branches:${e}`)))),Xk=()=>void 0,Zk=new Map;function Qk(e){return`${e.environmentId}\u0000${e.cwd}\u0000${e.query}`}function $k(e){return e.environmentId===null||e.cwd===null?null:Qk({environmentId:e.environmentId,cwd:e.cwd,query:e.query})}function eA(e){return e===null?qk:Yk(e)}function tA(e,t){T.set(Yk(e),t)}async function nA(e,t,n,r){let i=Yy(e);if(!i)throw Error(`Git refs are unavailable.`);return i.vcs.listRefs({cwd:t,...n.length>0?{query:n}:{},cursor:r,limit:Wk})}function rA(e){let t=e[e.length-1];return t?t.nextCursor:null}function iA(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 aA(e){let t=++e.fetchToken,n=T.get(Yk(e.key));tA(e.key,{pages:n.pages,isPending:n.pages.length===0,isFetchingNextPage:!1,error:null});try{let n=await nA(e.environmentId,e.cwd,e.query,0);if(t!==e.fetchToken)return;e.loadedPageCount=1,e.lastFetchedAt=Date.now(),e.hasLoadedOnce=!0,tA(e.key,{pages:[n],isPending:!1,isFetchingNextPage:!1,error:null})}catch(n){if(t!==e.fetchToken)return;tA(e.key,{pages:T.get(Yk(e.key)).pages,isPending:!1,isFetchingNextPage:!1,error:n instanceof Error?n:Error(`Failed to load refs.`)})}}function oA(e){return iA(e,()=>aA(e))}async function sA(e){let t=++e.fetchToken,n=Math.max(1,e.loadedPageCount),r=T.get(Yk(e.key));tA(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 nA(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,tA(e.key,{pages:r,isPending:!1,isFetchingNextPage:!1,error:null})}catch(n){if(t!==e.fetchToken)return;tA(e.key,{pages:T.get(Yk(e.key)).pages,isPending:!1,isFetchingNextPage:!1,error:n instanceof Error?n:Error(`Failed to load refs.`)})}}function cA(e){return iA(e,()=>sA(e))}function lA(e){return e.hasLoadedOnce?cA(e):oA(e)}function uA(e){if(e===null)return;let t=Zk.get(e);if(!t)return;let n=T.get(Yk(e));if(n.isFetchingNextPage||t.inFlightPromise)return;let r=rA(n.pages);if(r===null)return;tA(e,{...n,isFetchingNextPage:!0,error:null});let i=t.fetchToken;iA(t,async()=>{try{let n=await nA(t.environmentId,t.cwd,t.query,r);if(i!==t.fetchToken)return;let a=T.get(Yk(e));t.loadedPageCount=a.pages.length+1,t.lastFetchedAt=Date.now(),tA(e,{pages:[...a.pages,n],isPending:!1,isFetchingNextPage:!1,error:null})}catch(n){if(i!==t.fetchToken)return;tA(e,{...T.get(Yk(e)),isFetchingNextPage:!1,error:n instanceof Error?n:Error(`Failed to load refs.`)})}})}function dA(e){if(e===null)return;let t=Zk.get(e);if(!t){_A(e);return}t.poller?.refresh()??lA(t)}function fA(e){Date.now()-e.lastFetchedAt<Hk||(e.poller?.refresh()??lA(e))}function pA(e){if(e.environmentId===null||e.cwd===null)return Xk;let t=e.environmentId,n=e.cwd,r=Qk({environmentId:t,cwd:n,query:e.query}),i=Zk.get(r);if(i)return i.subscriberCount+=1,i.hasLoadedOnce&&fA(i),()=>mA(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:Xk,focusListener:null,poller:null};if(Zk.set(r,a),a.invalidationUnsub=Fk(Nk(n),()=>{a.poller?.refresh()??lA(a)}),typeof window<`u`){let e=()=>fA(a);a.focusListener=e,window.addEventListener(`focus`,e)}return typeof window<`u`&&typeof document<`u`?a.poller=tO({lifecycle:fd,run:()=>lA(a),resolveDelayMs:()=>Uk,jitterRatio:.05}):oA(a),()=>mA(r)}function mA(e){let t=Zk.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,Zk.delete(e)))}var hA=new Set,gA=0;async function _A(e){if(hA.has(e)||Zk.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);hA.add(e);let o=gA;try{let t=await nA(r,i,a,0);if(o!==gA||Zk.has(e))return;tA(e,{pages:[t],isPending:!1,isFetchingNextPage:!1,error:null})}catch{}finally{o===gA&&hA.delete(e)}}function vA(e){let t=$k(e);t!==null&&(T.get(Yk(t)).pages.length>0||_A(t))}function yA(e){return e.flatMap(e=>e.refs)}var bA=3e4,xA=Object.freeze({data:null,isPending:!1,isFetching:!1,isError:!1,error:null}),SA=D(xA).pipe(k,f(`git-resolve-pr:null`)),CA=new Set,wA=it(e=>(CA.add(e),D(xA).pipe(k,f(`git-resolve-pr:${e}`)))),TA=new Map;function EA(e){return`${e.environmentId}\u0000${e.cwd}\u0000${e.reference}`}function DA(e){return e.environmentId===null||e.cwd===null||e.reference===null?null:EA({environmentId:e.environmentId,cwd:e.cwd,reference:e.reference})}function OA(e){return e===null?SA:wA(e)}async function kA(e){let t=++e.fetchToken,n=T.get(wA(e.key));T.set(wA(e.key),{data:n.data,isPending:n.data===null,isFetching:!0,isError:!1,error:null});try{let n=Yy(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(),T.set(wA(e.key),{data:r,isPending:!1,isFetching:!1,isError:!1,error:null})}catch(n){if(t!==e.fetchToken)return;T.set(wA(e.key),{data:null,isPending:!1,isFetching:!1,isError:!0,error:n instanceof Error?n:Error(`Failed to resolve pull request.`)})}}function AA(e){let t=DA(e);if(t===null||e.environmentId===null||e.cwd===null||e.reference===null)return Xk;let n=e.environmentId,r=e.cwd,i=e.reference,a=TA.get(t);if(a)return a.subscriberCount+=1,Date.now()-a.lastFetchedAt>=bA&&kA(a),()=>jA(t);let o={key:t,environmentId:n,cwd:r,reference:i,subscriberCount:1,lastFetchedAt:0,fetchToken:0};return TA.set(t,o),kA(o),()=>jA(t)}function jA(e){let t=TA.get(e);t&&(--t.subscriberCount,!(t.subscriberCount>0)&&(t.fetchToken+=1,TA.delete(e)))}function MA(){for(let e of Zk.values())e.fetchToken+=1,e.invalidationUnsub(),e.focusListener&&typeof window<`u`&&window.removeEventListener(`focus`,e.focusListener),e.poller?.stop();Zk.clear(),gA+=1,hA.clear();for(let e of TA.values())e.fetchToken+=1;TA.clear(),Pk.clear();for(let e of Jk)T.set(Yk(e),Kk);for(let e of CA)T.set(wA(e),xA);for(let e of Lk)T.set(Rk(e),0)}var NA=O(e=>({open:!1,section:`general`,targetEnvironmentId:null,openSettings:(t,n)=>e(e=>({open:!0,section:t??e.section,targetEnvironmentId:n??null})),closeSettings:()=>e({open:!1,targetEnvironmentId:null}),setSection:t=>e({section:t})})),PA={metaKey:!1,ctrlKey:!1,altKey:!1,shiftKey:!1};function FA(e,t){return e.metaKey===t.metaKey&&e.ctrlKey===t.ctrlKey&&e.altKey===t.altKey&&e.shiftKey===t.shiftKey}var IA=O(e=>({state:PA,setState:t=>e(e=>FA(e.state,t)?e:{state:t}),clear:()=>e(e=>FA(e.state,PA)?e:{state:PA})}));function LA(){return IA(RA)}function RA(e){return e.state}function zA(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 BA(e){let t=zA(e.key);if(t){let n=IA.getState().state;IA.getState().setState({...n,[t]:e.type===`keydown`});return}IA.getState().setState({metaKey:e.metaKey,ctrlKey:e.ctrlKey,altKey:e.altKey,shiftKey:e.shiftKey})}function VA(){IA.getState().clear()}var HA=new Set,UA=O((e,t)=>({selectedThreadKeys:HA,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:HA,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})),WA=`ryco:ui-state:v1`,GA=[`ryco:renderer-state:v8`,`ryco:renderer-state:v7`,`ryco:renderer-state:v6`,`ryco:renderer-state:v5`,`ryco:renderer-state:v4`,`ryco:renderer-state:v3`,`codething:renderer-state:v4`,`codething:renderer-state:v3`,`codething:renderer-state:v2`,`codething:renderer-state:v1`],KA=!0,qA=!0;function JA(e){return e.persistedMode===`inbox`||e.persistedMode===`projects`?e.persistedMode:e.documentFound?`projects`:`inbox`}function YA(e){return typeof e==`boolean`?e:KA}function XA(e){return typeof e==`boolean`?e:qA}var ZA={sidebarMode:`inbox`,projectExpandedById:{},projectOrder:[],projectFoldersById:{},projectFolderOrder:[],projectTreeOrder:[],pinnedThreadKeys:{},threadLastVisitedAtById:{},threadChangedFilesExpandedById:{},threadTurnFoldExpandedById:{},threadWorkGroupExpandedById:{},threadWorkEntryExpandedById:{},defaultAdvertisedEndpointKey:null,wideComposerControlsAutoCollapse:KA,alwaysUseBuildMode:qA},QA=new Set,$A=new Set,ej=[],tj=!1,nj=new Map,rj=new Map,ij=new Map,aj=!1;function oj(){return new Date().toISOString()}function sj(){return typeof globalThis.crypto?.randomUUID==`function`?`folder-${globalThis.crypto.randomUUID()}`:`folder-${Math.random().toString(36).slice(2)}-${Date.now().toString(36)}`}function cj(e){return`folder:${e}`}function lj(e){return`project:${e}`}function uj(e){if(e.startsWith(`folder:`)){let t=e.slice(7);return t.length>0?{kind:`folder`,folderId:t}:null}if(e.startsWith(`project:`)){let t=e.slice(8);return t.length>0?{kind:`project`,projectKey:t}:null}return null}function dj(e){let t=new Set,n=[];for(let r of e){if(typeof r!=`string`)continue;let e=r.trim();!e||t.has(e)||(t.add(e),n.push(e))}return n}function fj(e,t){return typeof e!=`string`||e.length===0||Number.isNaN(Date.parse(e))?t:e}function pj(e){if(!Array.isArray(e))return{};let t={},n=oj();for(let r of e){if(!r||typeof r!=`object`)continue;let e=typeof r.id==`string`?r.id.trim():``,i=typeof r.name==`string`?r.name.trim():``;if(!e||!i||t[e]!==void 0)continue;let a=fj(r.createdAt,n);t[e]={id:e,name:i,projectKeys:dj(r.projectKeys??[]),expanded:r.expanded!==!1,createdAt:a,updatedAt:fj(r.updatedAt,a)}}return t}function mj(e,t){let n=new Set(Object.keys(t)),r=[];for(let t of dj(e??[]))n.has(t)&&r.push(t);for(let e of Object.keys(t))r.includes(e)||r.push(e);return r}function hj(e,t){if(!Array.isArray(e))return[];let n=new Set,r=[];for(let i of e){if(typeof i!=`string`||n.has(i))continue;let e=uj(i);e&&(e.kind!==`folder`||t[e.folderId]!==void 0)&&(n.add(i),r.push(i))}return r}function gj(e){return ij.get(e)??e}function _j(e){let t=new Set,n=[];for(let r of e){let e=gj(r);t.has(e)||(t.add(e),n.push(e))}return n}function vj(e){let t=new Set;for(let n of Object.values(e))for(let e of n.projectKeys)t.add(gj(e));return t}function yj(e,t){let n=new Set(t),r=new Set(_j(t));return e.filter(e=>{let t=uj(e);return t?.kind!==`project`||!n.has(t.projectKey)&&!r.has(t.projectKey)})}function bj(e){let t=e.rootProjectKeys??_j(e.projectKeys),n=new Set(t),r=vj(e.foldersById),i=new Set,a=[];for(let t of e.treeOrder){if(i.has(t))continue;let o=uj(t);if(o){if(o.kind===`folder`){if(e.foldersById[o.folderId]===void 0)continue}else if(!n.has(o.projectKey)||r.has(o.projectKey))continue;i.add(t),a.push(t)}}for(let t of e.folderOrder){let n=cj(t);e.foldersById[t]!==void 0&&!i.has(n)&&(i.add(n),a.push(n))}for(let e of t){let t=lj(e);!r.has(e)&&!i.has(t)&&(i.add(t),a.push(t))}return a}function xj(e,t,n){let r=typeof n==`number`&&Number.isFinite(n)?Math.max(0,Math.min(e.length,Math.trunc(n))):e.length;return[...e.slice(0,r),...t,...e.slice(r)]}function Sj(e,t,n){let r=!1,i=Object.entries(e).map(([e,i])=>{let a=i.projectKeys.filter(e=>!t.has(e));return a.length===i.projectKeys.length?[e,i]:(r=!0,[e,{...i,projectKeys:a,updatedAt:n}])});return r?Object.fromEntries(i):e}function Cj(){if(typeof window>`u`)return ZA;try{let e=window.localStorage.getItem(WA);if(!e){for(let e of GA){let t=window.localStorage.getItem(e);if(!t)continue;let n=JSON.parse(t);return y()||Ej(n),{...ZA,sidebarMode:`projects`}}return ZA}let t=JSON.parse(e),n=JA({documentFound:!0,persistedMode:t.sidebarMode});if(y())return{...ZA,sidebarMode:n};Ej(t);let r=pj(t.projectFolders),i=mj(t.projectFolderOrder,r);return{...ZA,sidebarMode:n,projectFoldersById:r,projectFolderOrder:i,projectTreeOrder:hj(t.projectTreeOrder,r),defaultAdvertisedEndpointKey:typeof t.defaultAdvertisedEndpointKey==`string`&&t.defaultAdvertisedEndpointKey.length>0?t.defaultAdvertisedEndpointKey:null,pinnedThreadKeys:wj(t.pinnedThreadKeys),threadChangedFilesExpandedById:Tj(t.threadChangedFilesExpandedById),wideComposerControlsAutoCollapse:YA(t.wideComposerControlsAutoCollapse),alwaysUseBuildMode:XA(t.alwaysUseBuildMode)}}catch{return ZA}}function wj(e){return Object.fromEntries(dj(e??[]).map(e=>[e,!0]))}function Tj(e){if(!e||typeof e!=`object`)return{};let t={};for(let[n,r]of Object.entries(e)){if(!n||!r||typeof r!=`object`)continue;let e={};for(let[t,n]of Object.entries(r))t&&typeof n==`boolean`&&n===!1&&(e[t]=!1);Object.keys(e).length>0&&(t[n]=e)}return t}function Ej(e){QA.clear(),$A.clear(),ej.length=0,tj=!Array.isArray(e.collapsedProjectCwds);for(let t of e.collapsedProjectCwds??[])typeof t==`string`&&t.length>0&&QA.add(t);for(let t of e.expandedProjectCwds??[])typeof t==`string`&&t.length>0&&$A.add(t);for(let t of e.projectOrderCwds??[])typeof t==`string`&&t.length>0&&!ej.includes(t)&&ej.push(t)}function Dj(e){if(!(typeof window>`u`))try{if(y()){window.localStorage.setItem(WA,JSON.stringify({sidebarMode:e.sidebarMode}));return}let t=Object.entries(e.projectExpandedById).filter(([,e])=>!e).flatMap(([e])=>rj.get(e)??[]),n=Object.entries(e.projectExpandedById).filter(([,e])=>e).flatMap(([e])=>rj.get(e)??[]),r=e.projectOrder.flatMap(e=>{let t=nj.get(e);return t?[t]:[]}),i=e.projectFolderOrder.flatMap(t=>{let n=e.projectFoldersById[t];return n?[{id:n.id,name:n.name,projectKeys:n.projectKeys,expanded:n.expanded,createdAt:n.createdAt,updatedAt:n.updatedAt}]:[]}),a=Object.entries(e.pinnedThreadKeys).flatMap(([e,t])=>t?[e]:[]),o=Object.fromEntries(Object.entries(e.threadChangedFilesExpandedById).flatMap(([e,t])=>{let n=Object.fromEntries(Object.entries(t).filter(([,e])=>e===!1));return Object.keys(n).length>0?[[e,n]]:[]}));if(window.localStorage.setItem(WA,JSON.stringify({sidebarMode:e.sidebarMode,collapsedProjectCwds:t,expandedProjectCwds:n,projectOrderCwds:r,projectFolders:i,projectFolderOrder:e.projectFolderOrder,projectTreeOrder:e.projectTreeOrder,defaultAdvertisedEndpointKey:e.defaultAdvertisedEndpointKey,pinnedThreadKeys:a,threadChangedFilesExpandedById:o,wideComposerControlsAutoCollapse:e.wideComposerControlsAutoCollapse,alwaysUseBuildMode:e.alwaysUseBuildMode})),!aj){aj=!0;for(let e of GA)window.localStorage.removeItem(e)}}catch{}}var Oj=new Kd(Dj,{wait:500});function kj(e,t){let n=Object.entries(e),r=Object.entries(t);if(n.length!==r.length)return!1;for(let[e,r]of n)if(t[e]!==r)return!1;return!0}function Aj(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function jj(e,t){let n=Object.entries(e),r=Object.entries(t);if(n.length!==r.length)return!1;for(let[e,r]of n){let n=t[e];if(!n||r.id!==n.id||r.name!==n.name||r.expanded!==n.expanded||r.createdAt!==n.createdAt||r.updatedAt!==n.updatedAt||!Aj(r.projectKeys,n.projectKeys))return!1}return!0}function Mj(e,t){let n=Object.entries(e),r=Object.entries(t);if(n.length!==r.length)return!1;for(let[e,r]of n)if(!(e in t)||!kj(r,t[e]))return!1;return!0}function Nj(e,t){let n=new Map(nj),r=new Map(ij);nj.clear(),ij.clear();for(let e of t)nj.set(e.key,e.cwd),ij.set(e.key,e.logicalKey);rj.clear();for(let e of t){let t=rj.get(e.logicalKey);t?t.includes(e.cwd)||t.push(e.cwd):rj.set(e.logicalKey,[e.cwd])}let i=new Map;for(let e of t){let t=r.get(e.key);if(!t||t===e.logicalKey)continue;let n=i.get(e.logicalKey);n?n.add(t):i.set(e.logicalKey,new Set([t]))}let a=n.size!==nj.size||t.some(e=>n.get(e.key)!==e.cwd),o={},s=e.projectExpandedById,c=new Map(ej.map((e,t)=>[e,t])),l=t.map((e,t)=>{if(!(e.logicalKey in o)){let t=rj.get(e.logicalKey)??[e.cwd],n=(()=>{let t=i.get(e.logicalKey);if(t){for(let e of t)if(e in s)return s[e]}})(),r=t.some(e=>$A.has(e))?!0:!(t.some(e=>QA.has(e))||tj&&$A.size>0),a=s[e.logicalKey]??n??r;o[e.logicalKey]=a}return{id:e.key,cwd:e.cwd,incomingIndex:t}}),u=e.projectOrder.length>0?(()=>{let t=new Set(l.map(e=>e.id)),r=new Map(l.map(e=>[e.cwd,e.id])),i=new Set,a=[];for(let o of e.projectOrder){let e=(t.has(o)?o:void 0)??(()=>{let e=n.get(o);return e?r.get(e):void 0})();!e||i.has(e)||(i.add(e),a.push(e))}for(let e of l)i.has(e.id)||a.push(e.id);return a})():l.map(e=>({id:e.id,incomingIndex:e.incomingIndex,orderIndex:c.get(e.cwd)??ej.length+e.incomingIndex})).toSorted((e,t)=>{let n=e.orderIndex-t.orderIndex;return n===0?e.incomingIndex-t.incomingIndex:n}).map(e=>e.id),d=new Set(l.map(e=>e.id)),f=e.projectFoldersById,p=Object.entries(e.projectFoldersById).map(([e,t])=>[e,{...t,projectKeys:t.projectKeys.filter(e=>d.has(e))}]),m=Object.fromEntries(p);jj(e.projectFoldersById,m)||(f=m);let h=e.projectFolderOrder.filter(e=>f[e]!==void 0);for(let e of Object.keys(f))h.includes(e)||h.push(e);let g=bj({projectKeys:u,rootProjectKeys:_j(u),foldersById:f,folderOrder:h,treeOrder:e.projectTreeOrder});return kj(e.projectExpandedById,o)&&Aj(e.projectOrder,u)&&jj(e.projectFoldersById,f)&&Aj(e.projectFolderOrder,h)&&Aj(e.projectTreeOrder,g)&&!a?e:{...e,projectExpandedById:o,projectOrder:u,projectFoldersById:f,projectFolderOrder:h,projectTreeOrder:g}}function Pj(e,t){let n=new Set(t.map(e=>e.key)),r=Object.fromEntries(Object.entries(e.pinnedThreadKeys).filter(([e])=>n.has(e))),i=Object.fromEntries(Object.entries(e.threadLastVisitedAtById).filter(([e])=>n.has(e)));for(let e of t)i[e.key]===void 0&&e.seedVisitedAt!==void 0&&e.seedVisitedAt.length>0&&(i[e.key]=e.seedVisitedAt);let a=Object.fromEntries(Object.entries(e.threadChangedFilesExpandedById).filter(([e])=>n.has(e))),o=Object.fromEntries(Object.entries(e.threadWorkEntryExpandedById).filter(([e])=>n.has(e))),s=Object.fromEntries(Object.entries(e.threadTurnFoldExpandedById).filter(([e])=>n.has(e))),c=Object.fromEntries(Object.entries(e.threadWorkGroupExpandedById).filter(([e])=>n.has(e)));return kj(e.pinnedThreadKeys,r)&&kj(e.threadLastVisitedAtById,i)&&Mj(e.threadChangedFilesExpandedById,a)&&Mj(e.threadTurnFoldExpandedById,s)&&Mj(e.threadWorkGroupExpandedById,c)&&Mj(e.threadWorkEntryExpandedById,o)?e:{...e,pinnedThreadKeys:r,threadLastVisitedAtById:i,threadChangedFilesExpandedById:a,threadTurnFoldExpandedById:s,threadWorkGroupExpandedById:c,threadWorkEntryExpandedById:o}}function Fj(e,t,n){let r=n??new Date().toISOString(),i=Date.parse(r),a=e.threadLastVisitedAtById[t],o=a?Date.parse(a):NaN;return Number.isFinite(o)&&Number.isFinite(i)&&o>=i?e:{...e,threadLastVisitedAtById:{...e.threadLastVisitedAtById,[t]:r}}}function Ij(e,t,n){if(!n)return e;let r=Date.parse(n);if(Number.isNaN(r))return e;let i=new Date(r-1).toISOString();return e.threadLastVisitedAtById[t]===i?e:{...e,threadLastVisitedAtById:{...e.threadLastVisitedAtById,[t]:i}}}function Lj(e,t,n){if(e.pinnedThreadKeys[t]===!0===n)return e;if(!n){let n={...e.pinnedThreadKeys};return delete n[t],{...e,pinnedThreadKeys:n}}return{...e,pinnedThreadKeys:{...e.pinnedThreadKeys,[t]:!0}}}function Rj(e,t){return Lj(e,t,e.pinnedThreadKeys[t]!==!0)}function zj(e,t){let n=t in e.pinnedThreadKeys,r=t in e.threadLastVisitedAtById,i=t in e.threadChangedFilesExpandedById,a=t in e.threadTurnFoldExpandedById,o=t in e.threadWorkGroupExpandedById,s=t in e.threadWorkEntryExpandedById;if(!n&&!r&&!i&&!a&&!o&&!s)return e;let c={...e.pinnedThreadKeys},l={...e.threadLastVisitedAtById},u={...e.threadChangedFilesExpandedById},d={...e.threadTurnFoldExpandedById},f={...e.threadWorkGroupExpandedById},p={...e.threadWorkEntryExpandedById};return delete c[t],delete l[t],delete u[t],delete d[t],delete f[t],delete p[t],{...e,pinnedThreadKeys:c,threadLastVisitedAtById:l,threadChangedFilesExpandedById:u,threadTurnFoldExpandedById:d,threadWorkGroupExpandedById:f,threadWorkEntryExpandedById:p}}function Bj(e,t,n,r){let i=e.threadChangedFilesExpandedById[t]??{};if((i[n]??!0)===r)return e;if(r){if(!(n in i))return e;let r={...i};if(delete r[n],Object.keys(r).length===0){let n={...e.threadChangedFilesExpandedById};return delete n[t],{...e,threadChangedFilesExpandedById:n}}return{...e,threadChangedFilesExpandedById:{...e.threadChangedFilesExpandedById,[t]:r}}}return{...e,threadChangedFilesExpandedById:{...e.threadChangedFilesExpandedById,[t]:{...i,[n]:!1}}}}function Vj(e,t,n,r){let i=e.threadWorkEntryExpandedById[t]??{};return i[n]===r?e:{...e,threadWorkEntryExpandedById:{...e.threadWorkEntryExpandedById,[t]:{...i,[n]:r}}}}function Hj(e,t,n,r){let i=e[t]??{};return i[n]===r?null:{...e,[t]:{...i,[n]:r}}}function Uj(e,t,n,r){let i=Hj(e.threadTurnFoldExpandedById,t,n,r);return i?{...e,threadTurnFoldExpandedById:i}:e}function Wj(e,t,n,r){let i=Hj(e.threadWorkGroupExpandedById,t,n,r);return i?{...e,threadWorkGroupExpandedById:i}:e}function Gj(e,t){let n=t&&t.length>0?t:null;return e.defaultAdvertisedEndpointKey===n?e:{...e,defaultAdvertisedEndpointKey:n}}function Kj(e,t){return e.wideComposerControlsAutoCollapse===t?e:{...e,wideComposerControlsAutoCollapse:t}}function qj(e,t){return e.alwaysUseBuildMode===t?e:{...e,alwaysUseBuildMode:t}}function Jj(e,t){let n=e.projectExpandedById[t]??!0;return{...e,projectExpandedById:{...e.projectExpandedById,[t]:!n}}}function Yj(e,t,n){return(e.projectExpandedById[t]??!0)===n?e:{...e,projectExpandedById:{...e.projectExpandedById,[t]:n}}}function Xj(e,t,n=[],r){let i=t.trim();if(!i)return e;let a=r?.folderId?.trim()||sj();if(!a||e.projectFoldersById[a]!==void 0)return e;let o=r?.now??oj(),s=dj(n),c=new Set(s),l={...Sj(e.projectFoldersById,c,o),[a]:{id:a,name:i,projectKeys:s,expanded:!0,createdAt:o,updatedAt:o}},u=[...e.projectFolderOrder,a],d=bj({projectKeys:e.projectOrder,rootProjectKeys:_j(e.projectOrder),foldersById:l,folderOrder:u,treeOrder:[...yj(e.projectTreeOrder,s),cj(a)]});return{...e,projectFoldersById:l,projectFolderOrder:u,projectTreeOrder:d}}function Zj(e,t,n,r=oj()){let i=e.projectFoldersById[t],a=n.trim();return!i||!a||i.name===a?e:{...e,projectFoldersById:{...e.projectFoldersById,[t]:{...i,name:a,updatedAt:r}}}}function Qj(e,t){if(e.projectFoldersById[t]===void 0)return e;let{[t]:n,...r}=e.projectFoldersById,i=e.projectFolderOrder.filter(e=>e!==t),a=bj({projectKeys:e.projectOrder,rootProjectKeys:_j(e.projectOrder),foldersById:r,folderOrder:i,treeOrder:e.projectTreeOrder.filter(e=>e!==cj(t))});return{...e,projectFoldersById:r,projectFolderOrder:i,projectTreeOrder:a}}function $j(e,t,n){let r=e.projectFoldersById[t];return!r||r.expanded===n?e:{...e,projectFoldersById:{...e.projectFoldersById,[t]:{...r,expanded:n,updatedAt:oj()}}}}function eM(e,t,n,r){let i=e.projectFoldersById[n],a=dj(t).filter(t=>e.projectOrder.includes(t));if(!i||a.length===0)return e;let o=oj(),s=new Set(a),c=Sj(e.projectFoldersById,s,o),l=c[n]??i,u=xj(l.projectKeys.filter(e=>!s.has(e)),a,r),d={...c,[n]:{...l,projectKeys:u,updatedAt:o}},f=bj({projectKeys:e.projectOrder,rootProjectKeys:_j(e.projectOrder),foldersById:d,folderOrder:e.projectFolderOrder,treeOrder:yj(e.projectTreeOrder,a)});return{...e,projectFoldersById:d,projectTreeOrder:f}}function tM(e,t,n){let r=dj(t).filter(t=>e.projectOrder.includes(t));if(r.length===0)return e;let i=new Set(r),a=_j(r),o=Sj(e.projectFoldersById,i,oj()),s=yj(e.projectTreeOrder,r),c=bj({projectKeys:e.projectOrder,rootProjectKeys:_j(e.projectOrder),foldersById:o,folderOrder:e.projectFolderOrder,treeOrder:xj(s,a.map(e=>lj(e)),n)});return{...e,projectFoldersById:o,projectTreeOrder:c}}function nM(e,t,n,r,i){return eM(e,t,r,i)}function rM(e,t,n){if(t.length===0)return e;let r=new Set(t),i=new Set(n);if(t.every(e=>i.has(e)))return e;let a=e.projectOrder.findIndex(e=>i.has(e));if(a<0)return e;let o=[...e.projectOrder],s=[],c=0;for(let e=o.length-1;e>=0;e--)r.has(o[e])&&(s.unshift(o.splice(e,1)[0]),e<a&&c++);if(s.length===0)return e;let l=a-Math.max(0,c-1);return o.splice(l,0,...s),{...e,projectOrder:o}}function iM(e,t,n){if(t===n)return e;let r=uj(t),i=uj(n);if(!r||!i)return e;let a=e.projectTreeOrder.indexOf(t),o=e.projectTreeOrder.indexOf(n);if(a<0||o<0)return e;let s=[...e.projectTreeOrder],[c]=s.splice(a,1);if(!c)return e;let l=o;s.splice(l,0,c);let u={...e,projectTreeOrder:s};return r.kind===`project`&&i.kind===`project`?rM(u,[r.projectKey],[i.projectKey]):u}var aM=O(e=>({...Cj(),setSidebarMode:t=>e({sidebarMode:t}),syncProjects:t=>e(e=>Nj(e,t)),syncThreads:t=>e(e=>Pj(e,t)),markThreadVisited:(t,n)=>e(e=>Fj(e,t,n)),markThreadUnread:(t,n)=>e(e=>Ij(e,t,n)),setThreadPinned:(t,n)=>e(e=>Lj(e,t,n)),toggleThreadPinned:t=>e(e=>Rj(e,t)),clearThreadUi:t=>e(e=>zj(e,t)),setThreadChangedFilesExpanded:(t,n,r)=>e(e=>Bj(e,t,n,r)),setThreadTurnFoldExpanded:(t,n,r)=>e(e=>Uj(e,t,n,r)),setThreadWorkGroupExpanded:(t,n,r)=>e(e=>Wj(e,t,n,r)),setThreadWorkEntryExpanded:(t,n,r)=>e(e=>Vj(e,t,n,r)),setDefaultAdvertisedEndpointKey:t=>e(e=>Gj(e,t)),setWideComposerControlsAutoCollapse:t=>e(e=>Kj(e,t)),setAlwaysUseBuildMode:t=>e(e=>qj(e,t)),toggleProject:t=>e(e=>Jj(e,t)),setProjectExpanded:(t,n)=>e(e=>Yj(e,t,n)),createProjectFolder:(t,n=[])=>e(e=>Xj(e,t,n)),renameProjectFolder:(t,n)=>e(e=>Zj(e,t,n)),deleteProjectFolder:t=>e(e=>Qj(e,t)),setProjectFolderExpanded:(t,n)=>e(e=>$j(e,t,n)),moveProjectsToFolder:(t,n,r)=>e(e=>eM(e,t,n,r)),moveProjectsToRoot:(t,n)=>e(e=>tM(e,t,n)),moveProjectsBetweenFolders:(t,n,r,i)=>e(e=>nM(e,t,n,r,i)),reorderProjects:(t,n)=>e(e=>rM(e,t,n)),reorderProjectTreeItem:(t,n)=>e(e=>iM(e,t,n))}));aM.subscribe(e=>Oj.maybeExecute(e)),typeof window<`u`&&typeof window.addEventListener==`function`&&window.addEventListener(`beforeunload`,()=>{Oj.flush()});function oM(e){sk(),rt(e),Lb(),MA(),ux(),J.getState().demoteEnvironmentStateToCachedSnapshot(e,Date.now()),_e()}function sM(){for(let e of Object.keys(J.getState().environmentStateById))J.getState().removeEnvironmentState(e);Hy.setState({draftsByThreadKey:{},draftThreadsByThreadKey:{},logicalProjectDraftThreadKeyByLogicalProjectKey:{},stickyModelSelectionByProvider:{},stickyActiveProvider:null}),eO.setState({terminalStateByThreadKey:{},terminalLaunchContextByThreadKey:{},terminalEventEntriesByKey:{},nextTerminalEventId:1}),Ok.setState({queuesByThreadKey:{}}),vk.getState().setOpen(!1),NA.getState().closeSettings(),Mk(!1),VA(),UA.getState().clearSelection(),aM.setState({projectExpandedById:{},projectOrder:[],projectFoldersById:{},projectFolderOrder:[],projectTreeOrder:[],pinnedThreadKeys:{},threadLastVisitedAtById:{},threadChangedFilesExpandedById:{},threadWorkEntryExpandedById:{},defaultAdvertisedEndpointKey:null}),uO.clear(),_e()}function cM(){let e=new URL(window.location.origin);return e.protocol=e.protocol===`https:`?`wss:`:`ws:`,e.pathname=`/v1/relay/client`,e.toString()}function lM(e){return typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer}function uM(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))}:lM(e)?{fail:`protocol_invalid`}:{fail:`frame_too_large`}}var dM=new Set([Up,Vp,Hp,zp,Bp]);function fM(e){return!(e instanceof Error)||e instanceof DOMException?e:new DOMException(e.message,dM.has(e.message)?`QuotaExceededError`:`InvalidStateError`)}var pM=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!==cM()||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=uM(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 qp({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||lM(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 fM(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)}},mM=!1;function hM(e){mM||(mM=!0,_k(),Ba({endpoint:g,httpClient:c,passkeyCeremony:Tm,sessionCredentials:b,nodeLifecycle:{activate:async()=>void 0,suspend:async()=>void 0,deactivate:async()=>void 0,clearNodeScopedState:oM,writePrimaryEnvironmentDescriptor:Ue,connectPrimaryEnvironment:eP,disconnectPrimaryEnvironment:$N,setActiveEnvironmentId:e=>J.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:vm,resetRelayAttemptFactory:ym,relayUrl:cM,createRelaySocket:e=>new pM({...e,e2ee:hk()})},e))}var gM=new class extends Ha{constructor(){super({endpoint:g,httpClient:c,passkeyCeremony:Tm,sessionCredentials:b})}},_M=n({HOSTED_SESSION_SYNC_FAILURE_MESSAGE:()=>HOSTED_SESSION_SYNC_FAILURE_MESSAGE,ensureWebHostedRuntimeConfigured:()=>vM,hostedAccountStore:()=>Pa,hostedHubController:()=>Qa,hostedHubStore:()=>I,hostedRecoveryCodeDisplayStore:()=>Ia,useHostedAccountStore:()=>bM,useHostedHubStore:()=>yM,useHostedRecoveryCodeDisplayStore:()=>xM});Ua(()=>hM(gM));function vM(){hM(gM)}var yM=Object.assign(e=>ce(I,e),I),bM=Object.assign(e=>ce(Pa,e),Pa),xM=Object.assign(e=>ce(Ia,e),Ia);function SM(e){return/^[a-zA-Z]:([/\\]|$)/.test(e)}function CM(e){return e.startsWith(`\\\\`)}function wM(e){return CM(e)||SM(e)}function TM(e){return e===`.`||e===`..`||e.startsWith(`./`)||e.startsWith(`../`)||e.startsWith(`.\\`)||e.startsWith(`..\\`)}function EM(e){return e===`/`||e===`\\`||/^[a-zA-Z]:[/\\]?$/.test(e)}function DM(e){return SM(e)||CM(e)?`windows`:e.startsWith(`/`)?`unix`:null}function OM(e){if(e.length===0||EM(e))return e;let t=DM(e)===`unix`?e.replace(/\/+$/g,``):e.replace(/[\\/]+$/g,``);return t.length===0?e:/^[a-zA-Z]:$/.test(t)?`${t}\\`:t}function kM(e){let t=OM(e.trim());return SM(t)||t.startsWith(`\\\\`)?t.replaceAll(`/`,`\\`).toLowerCase():t}function AM(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 jM(e){let t=e.repositoryIdentity?.rootPath?.trim();if(!t)return null;let n=kM(e.cwd),r=kM(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 MM(e,t){return`${e}:${kM(t)}`}function NM(e){return MM(e.environmentId,e.cwd)}function PM(e,t){let n=e.repositoryIdentity?.canonicalKey;if(!n)return null;if(t===`repository`)return n;let r=jM(e);return r===null||r.length===0?n:`${n}::${r}`}function FM(e,t){let n=t?.groupingMode??`repository`;return n===`separate`?NM(e):PM(e,n)??NM(e)??`${e.environmentId}:${e.id}`}function IM(e){let t=AM(e.members.map(e=>e.repositoryIdentity?.displayName));if(t.length===1)return t[0];let n=AM(e.members.map(e=>e.repositoryIdentity?.name));return n.length===1?n[0]:e.representative.name}function LM(e,t){return{key:e.physicalKey,label:e.name,repositoryIdentity:e.repositoryIdentity,variants:[e],ambiguous:t}}function RM(e,t){let n=new Map;for(let r of e){let e=FM({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=>LM(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:IM({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 zM(e){return NM(e)}function BM(e){return NM(e)}function VM(e,t){return t.sidebarProjectGroupingOverrides?.[zM(e)]??t.sidebarProjectGroupingMode}function HM(e,t){return FM(e,{groupingMode:VM(e,t)})}function UM(e){return{prepareShellEvent:(e,t)=>{let n=t.kind===`thread-upserted`?t.thread.id:t.kind===`thread-removed`?t.threadId:null,r=n?l(e,n):null;return{previousThread:r?zC(J.getState(),r):void 0,threadRef:r}},applyShellEvent:(e,t)=>J.getState().applyShellEvent(t,e),afterShellEventApplied:(t,n,r)=>{let{previousThread:i,threadRef:a}=r;switch(n.kind){case`project-upserted`:case`project-removed`:WM();return;case`worktree-upserted`:case`worktree-removed`:return;case`thread-upserted`:GM(),!i&&a&&Uy(a),i?.archivedAt===null&&n.thread.archivedAt!==null&&a&&eO.getState().removeTerminalState(a),e.supervisor?.().reconcileThreadDetailSubscriptionEvictionForThread(t,n.thread.id),e.supervisor?.().evictIdleThreadDetailSubscriptionsToCapacity();return;case`thread-removed`:a&&(e.supervisor?.().disposeThreadDetailSubscription(t,n.threadId),Hy.getState().clearDraftThread(a),aM.getState().clearThreadUi(_(a)),eO.getState().removeTerminalState(a)),GM()}},applyOrchestrationEvents:(e,t)=>J.getState().applyOrchestrationEvents(t,e),syncServerShellSnapshot:(e,t)=>J.getState().syncServerShellSnapshot(t,e),reconcileSnapshotDerivedState:()=>{WM(),GM();let e=pD({snapshotThreads:AC(J.getState()).map(e=>({key:_(l(e.environmentId,e.id)),deletedAt:null,archivedAt:e.archivedAt})),draftThreadKeys:Hy.getState().listDraftThreadKeys()});eO.getState().removeOrphanedTerminalStates(e)},syncProjects:()=>{let e=Su();aM.getState().syncProjects(kC(J.getState()).map(t=>({key:NM(t),logicalKey:HM(t,e),cwd:t.cwd})))},syncThreads:()=>{let e=AC(J.getState());aM.getState().syncThreads(e.map(e=>({key:_(l(e.environmentId,e.id)),seedVisitedAt:e.updatedAt??e.createdAt})))},clearThreadDraft:e=>{Hy.getState().clearDraftThread(e),aM.getState().clearThreadUi(_(e))},clearProjectDraftThread:e=>Hy.getState().clearProjectDraftThreadId(e),clearTerminalState:e=>eO.getState().removeTerminalState(e),markProviderInvalidationNeeded:e.markProviderInvalidationNeeded,flushProviderInvalidation:e.flushProviderInvalidation}}function WM(){let e=kC(J.getState()),t=Su();aM.getState().syncProjects(e.map(e=>({key:NM(e),logicalKey:HM(e,t),cwd:e.cwd})))}function GM(){let e=AC(J.getState());aM.getState().syncThreads(e.map(e=>({key:_(l(e.environmentId,e.id)),seedVisitedAt:e.updatedAt??e.createdAt}))),Wy(e.map(e=>l(e.environmentId,e.id)))}var KM=0,qM=1,JM=2,YM=3,XM=class{url;protocol=``;extensions=``;binaryType=`arraybuffer`;CONNECTING=KM;OPEN=qM;CLOSING=JM;CLOSED=YM;onopen=null;onmessage=null;onerror=null;onclose=null;#e;#t;#n=new Map;#r;#i=KM;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!==qM)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!==JM&&this.#i!==YM&&(this.#i=JM,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!==YM)switch(e.type){case`open`:if(this.#i!==KM)return;this.#i=qM,this.#s({type:`open`});return;case`message`:if(this.#i!==qM)return;this.#s({type:`message`,data:Uint8Array.from(e.data)});return;case`error`:this.#s({type:`error`});return;case`close`:this.#i=YM,this.#s({type:`close`,code:e.code,reason:e.reason,wasClean:e.code===1e3}),this.#r?.()}}#o(){this.#i!==YM&&(this.#s({type:`error`}),this.#i=YM,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)}},ZM=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 XM({url:e,transportId:t,bridge:this.#t})}},QM=n({addSavedEnvironment:()=>mP,applyEnvironmentThreadDetailEvent:()=>UN,connectDesktopSshEnvironment:()=>hP,connectDesktopWorkspaceEnvironment:()=>tP,connectPrimaryEnvironment:()=>eP,disconnectPrimaryEnvironment:()=>$N,disconnectSavedEnvironment:()=>dP,ensureEnvironmentConnectionBootstrapped:()=>gP,getPrimaryEnvironmentConnection:()=>uP,listEnvironmentConnections:()=>oP,loadOlderThreadHistory:()=>_N,loadThreadHistoryAroundMessage:()=>vN,readEnvironmentConnection:()=>sP,reconnectSavedEnvironment:()=>fP,removeSavedEnvironment:()=>pP,requireEnvironmentConnection:()=>cP,retainThreadDetailSubscription:()=>gN,shouldApplyTerminalEvent:()=>VN,startEnvironmentConnectionService:()=>_P,subscribeEnvironmentConnections:()=>aP,updateEnvironmentServerSettings:()=>lP});function $M(e){return e instanceof Yc}var eN=!1,tN=UM({markProviderInvalidationNeeded:()=>{eN=!0,$().requestProviderInvalidation()},flushProviderInvalidation:()=>{eN=!1,lx(),vb()},supervisor:$}),nN=150,rN=()=>void 0,iN=/^\[ssh_http:(\d+)\]\s/u,aN=null,oN=!1,sN=null,cN=new Promise(e=>{sN=e}),lN=null;function $(){return lN||(lN=Xc({isHostedMode:y,now:Date.now,setTimeout:(e,t)=>globalThis.setTimeout(e,t),clearTimeout:e=>globalThis.clearTimeout(e),createInvalidationThrottle:()=>new Yd(()=>{eN&&tN.flushProviderInvalidation()},{wait:100,leading:!1,trailing:!0}),resetProviderInvalidation:()=>{eN=!1},createPrimaryConnection:()=>Ve()?.environmentId?ZN():null,listSavedEnvironmentRecords:Fh,hasSavedEnvironmentRegistryHydrated:Nh,waitForSavedEnvironmentRegistryHydration:Ph,subscribeSavedEnvironmentRegistry:Mh.subscribe,connectSavedEnvironment:(e,t)=>rP(e,void 0,t),disconnectSavedEnvironment:dP,waitForPrimaryShellSnapshotApplied:fN,subscribeBrowserResume:iP,isThreadDetailSubscriptionNonIdle:(e,t)=>mN({environmentId:e,threadId:t}),syncThreadDetailSnapshot:(e,t)=>J.getState().syncServerThreadDetail(t.thread,e),syncThreadWindowSnapshot:(e,t)=>J.getState().syncServerThreadWindow(t,e),syncThreadHistoryPage:(e,t,n)=>J.getState().syncServerThreadHistoryPage(n,t,e),setThreadHistoryRequestState:e=>J.getState().setServerThreadHistoryLoadState({...e,loadState:{status:e.status,cursor:e.cursor,error:e.error}}),applyThreadDetailEvent:(e,t)=>UN(t,e),stateSink:tN,onShellSnapshotReceived:e=>{e===Ve()?.environmentId&&RO(`primary-shell-snapshot-received`)},onShellSnapshotCurrent:()=>void 0,onShellSnapshotApplied:e=>{e===Ve()?.environmentId&&(RO(`primary-shell-snapshot-applied`),zO(`primary-shell-snapshot`,`primary-shell-snapshot-received`,`primary-shell-snapshot-applied`),RO(`primary-shell-usable`),zO(`primary-shell-ready`,`root-before-load-ready`,`primary-shell-usable`),dN())},onShellSnapshotReady:()=>void 0}),lN)}function uN(){let e=null;return{promise:new Promise(t=>{e=t}),resolve:t=>{e?.(t),e=null}}}function dN(){oN||(oN=!0,sN?.(),sN=null)}async function fN(e){oN||!Ve()?.environmentId||await Promise.race([cN,new Promise(t=>{globalThis.setTimeout(t,e)})])}async function pN(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 mN(e){let t=l(e.environmentId,e.threadId),n=J.getState(),r=VC(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=zC(n,t);if(!i)return!1;let a=i.session?.orchestrationStatus;return!!(a&&a!==`idle`&&a!==`stopped`)||i.latestTurn?.state===`running`||i.pendingSourceProposedPlan!==void 0}function hN(e){$().disposeThreadDetailSubscriptionsForEnvironment(e)}function gN(e,t){return $().retainThreadDetailSubscription(e,t)}function _N(e){return $().loadOlderThreadHistory(e)}function vN(e){return $().loadThreadHistoryAroundMessage(e)}function yN(e){return{lastError:e instanceof Error?e.message:String(e),lastErrorAt:new Date().toISOString()}}function bN(){return new Date().toISOString()}function xN(e){if(!(e instanceof Error))return null;let t=iN.exec(e.message);if(!t)return null;let n=Number.parseInt(t[1]??``,10);return Number.isInteger(n)?n:null}function SN(e,t){return xN(e)===t}function CN(e,t){return!e||!t?!1:e.alias===t.alias&&e.hostname===t.hostname&&e.username===t.username&&e.port===t.port}function wN(e){return e?Fh().find(t=>CN(t.desktopSsh,e))??null:null}function TN(e){return Object.fromEntries(e.map(e=>[e.environmentId,e]))}function EN(e){return new Map(e.map(e=>[e,Ih(e)??null]))}async function DN(e){let t=TN(Fh());for(let[n,r]of e){if(r){t[n]=r;continue}delete t[n]}let n=Object.values(t);await kh().persistence.setSavedEnvironmentRegistry(n.map(e=>S(e))),Mh.setState({byId:t})}async function ON(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 kN(){let e=window.desktopBridge;if(!e)throw Error(`SSH launch is only available in the desktop app.`);return e}async function AN(e){return await kN().fetchSshEnvironmentDescriptor(e)}async function jN(e,t){return await kN().bootstrapSshBearerSession(e,t)}async function MN(e,t){return await kN().fetchSshSessionState(e,t)}async function NN(e,t,n){let r=await kN().issueSshWebSocketToken(t,n),i=new URL(e,window.location.origin);return i.searchParams.set(`wsToken`,r.token),i.toString()}async function PN(e,t){if(!e.desktopSsh)return{record:e,pairingToken:null,remotePort:null,remoteServerKind:null};let n=await ON(e.desktopSsh,t),r={...e,httpBaseUrl:n.httpBaseUrl,wsBaseUrl:n.wsBaseUrl,desktopSsh:n.target};return(r.httpBaseUrl!==e.httpBaseUrl||r.wsBaseUrl!==e.wsBaseUrl||!CN(r.desktopSsh,e.desktopSsh))&&(await Lh(r),Mh.getState().upsert(r)),{record:r,pairingToken:n.pairingToken,remotePort:n.remotePort??null,remoteServerKind:n.remoteServerKind??null}}async function FN(e){let t=EN([e.environmentId]),n=await PN(e,{issuePairingToken:!0});if(!n.pairingToken)throw await DN(t),Error(`Desktop SSH launch did not return a pairing token.`);let r=await jN(n.record.httpBaseUrl,n.pairingToken).catch(async e=>{await DN(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 zh(n.record.environmentId,r.sessionToken))throw await DN(t),Error(`Unable to persist saved environment credentials.`);return{record:n.record,bearerToken:r.sessionToken,role:r.role??null}}function IN(e){U.getState().patch(e,{connectionState:`connecting`,lastError:null,lastErrorAt:null})}function LN(e){let t=bN();U.getState().patch(e,{connectionState:`connected`,authState:`authenticated`,connectedAt:t,disconnectedAt:null,lastError:null,lastErrorAt:null}),Mh.getState().markConnected(e,t)}function RN(e,t){U.getState().patch(e,{connectionState:`disconnected`,disconnectedAt:bN(),...t&&t.trim().length>0?{lastError:t,lastErrorAt:bN()}:{}})}function zN(e,t){U.getState().patch(e,{connectionState:`error`,...yN(t)})}function BN(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 VN(e){return e.serverThreadArchivedAt===void 0?e.hasDraftThread:e.serverThreadArchivedAt===null}function HN(e,t){if(e.length===0)return;let n=Ky(e),r=BN(e),i=e.some(e=>e.type===`project.created`||e.type===`project.meta-updated`||e.type===`project.deleted`);n.needsProviderInvalidation&&tN.markProviderInvalidationNeeded(),tN.applyOrchestrationEvents(t,r),i&&tN.syncProjects(t),e.some(e=>e.type===`thread.created`||e.type===`thread.deleted`)&&tN.syncThreads(t);for(let e of n.promoteDraftThreadIds)Uy(l(t,e));for(let e of n.clearDeletedThreadIds)tN.clearThreadDraft(l(t,e));for(let n of e)n.type===`project.deleted`&&tN.clearProjectDraftThread(ot(t,n.payload.projectId));for(let e of n.removeTerminalStateThreadIds)tN.clearTerminalState(l(t,e));$().reconcileThreadDetailSubscriptionEvictionForEnvironment(t)}function UN(e,t){HN([e],t)}function WN(e=null,t){let n=()=>e===null||yM.getState().generation===e,r=t?bO.begin(t):null,i=e=>{n()&&(r=bO.begin(e))},a=t=>{let n=r;n!==null&&bO.ready(t,n,()=>e===null||vO(yM.getState(),t,e)).catch(()=>void 0)};return{onResubscribe:t=>{n()&&(i(t),e!==null&&oo(t,e))},onShellError:t=>{e!==null&&n()&&Ra(t,e)},resetShellProjection:e=>{n()&&$().resetShellProjection(e)},applyShellEvent:(e,t)=>{n()&&$().applyShellEvent(e,t)},syncShellSnapshot:(t,r)=>{n()&&$().syncShellSnapshot(t,r,{onCurrent:()=>{e!==null&&Ja(r,e),a(r)},onReady:()=>{e!==null&&Ja(r,e),a(r)}})},applyTerminalEvent:(e,t)=>{if(!n())return;let r=l(t,Ai.make(e.threadId)),i=zC(J.getState(),r),a=Hy.getState().getDraftThreadByRef(r)!==null;VN({serverThreadArchivedAt:i?.archivedAt,hasDraftThread:a})&&eO.getState().applyTerminalEvent(r,e)}}}function GN(e){let t=s(e);if(!t)throw Error(`Unable to resolve websocket URL for ${e?.label??`primary environment`}.`);let n=e?.label??null;if(y()){let t=_m(),r=t.lifecycleHandlers(),i=new CO(()=>t.nextUrl(),{...r,getConnectionLabel:()=>n,getEnvironmentId:()=>e?.environmentId??null,onOpen:()=>{r.onOpen?.(),RO(`primary-ws-open`)}});return de(i,at(i,{manageTransport:!1}))}let r=async e=>{let n=await tt(),r=new URL(t,window.location.origin);return r.pathname=e,r.searchParams.set(`wsToken`,n.token),r.toString()};return de(new xO(()=>r(`/ws`),{getConnectionLabel:()=>n,getEnvironmentId:()=>e?.environmentId??null,getVersionMismatchHint:()=>OO(Ge())?.hint??null,onOpen:()=>{RO(`primary-ws-open`)}}),at(new SO(()=>r(`/ws/device`),{getConnectionLabel:()=>n}),{openFrameSource:(e,t)=>C({udid:e,handlers:t,socket:Om,resolveUrl:()=>r(`/ws/device-frames`)})}))}async function KN(e,t,n){let r=Ih(e);if(!r)throw Error(`Saved environment ${e} not found.`);let i=r.desktopSsh?await NN(r.wsBaseUrl,r.httpBaseUrl,t):await hx({wsBaseUrl:r.wsBaseUrl,httpBaseUrl:r.httpBaseUrl,bearerToken:t}),a=new URL(i,window.location.origin);return a.pathname=n,a.toString()}function qN(e,t){return U.getState().ensure(e),de(new xO(()=>KN(e,t,`/ws`),{getConnectionLabel:()=>Ih(e)?.label??null,getEnvironmentId:()=>e,getVersionMismatchHint:()=>OO(U.getState().byId[e]?.serverConfig)?.hint??null,onAttempt:()=>{IN(e)},onOpen:()=>{LN(e)},onError:t=>{let n=OO(U.getState().byId[e]?.serverConfig);U.getState().patch(e,{connectionState:`error`,lastError:PO(t,n),lastErrorAt:bN()})},onClose:(t,n)=>{n.intentional||RN(e,PO(t.reason,OO(U.getState().byId[e]?.serverConfig)))}}),at(new SO(()=>KN(e,t,`/ws/device`),{getConnectionLabel:()=>Ih(e)?.label??null}),{openFrameSource:(n,r)=>C({udid:n,handlers:r,socket:Om,resolveUrl:()=>KN(e,t,`/ws/device-frames`)})}))}async function JN(e,t,n,r,i){let a=Ih(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?MN(a.httpBaseUrl,t):px({httpBaseUrl:a.httpBaseUrl,bearerToken:t})]);U.getState().patch(a.environmentId,{authState:s.authenticated?`authenticated`:`requires-auth`,descriptor:o.environment,serverConfig:o,role:s.authenticated?s.role??r??null:null}),Mh.getState().rename(a.environmentId,o.environment.label)}function YN(e){return $().register(e)}async function XN(e){return await $().remove(e)}function ZN(){let e=Ve();if(!e?.environmentId)throw Error(`Unable to resolve the primary environment.`);let t=$().read(e.environmentId);if(t)return t;let n=y()?yM.getState().generation:null;return YN(Tx({kind:`primary`,knownEnvironment:e,client:GN(e),...WN(n,n===null?void 0:e.environmentId)}))}function QN(){return Ve()?.environmentId?$().connectPrimary():null}async function $N(){await $().disconnectPrimary()}function eP(){return QN()}async function tP(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 ZM(e.environmentId,t),i=new CO(()=>r.nextUrl(),{preserveSocketPath:!0,webSocketConstructor:e=>r.createSocket(e),retryTransientErrors:!1,reconnectMaxRetries:1e6,getConnectionLabel:()=>e.label,getEnvironmentId:()=>e.environmentId}),a=YN(Tx({kind:`saved`,knownEnvironment:{...ee({id:e.environmentId,label:e.label,source:`hub-hosted`,target:{httpBaseUrl:`http://desktop-workspace.invalid`,wsBaseUrl:`ws://desktop-workspace.invalid`}}),environmentId:e.environmentId},client:de(i),onConfigUpdated:t=>{U.getState().ensure(e.environmentId),U.getState().patch(e.environmentId,{descriptor:t.environment,serverConfig:t,connectionState:`connected`})},onWelcome:t=>{U.getState().ensure(e.environmentId),U.getState().patch(e.environmentId,{descriptor:t.environment})},...WN()}));try{return await a.ensureBootstrapped(),a}catch(t){throw await XN(e.environmentId).catch(()=>void 0),t}}async function nP(e,t){return await $().ensureSavedEnvironmentConnection(e,n=>rP(e,t,n))}async function rP(e,t,n=()=>!1){let r=e,i=t?.role??null,a=t?.bearerToken??await Rh(e.environmentId),o=t?.client;for(;;){if(!a){if(e.desktopSsh){let e=await FN(r);r=e.record,a=e.bearerToken,i=e.role}else throw await Bh(e.environmentId).catch(()=>void 0),U.getState().patch(e.environmentId,{authState:`requires-auth`,role:null,connectionState:`disconnected`,lastError:`Saved environment is missing its saved credential. Pair it again.`,lastErrorAt:bN()}),Error(`Saved environment is missing its saved credential.`)}r=(await PN(r)).record;let s=a,c=o??qN(r.environmentId,s),l=uN(),u=Tx({kind:`saved`,knownEnvironment:{...ee({id:r.environmentId,label:r.label,source:`manual`,target:{httpBaseUrl:r.httpBaseUrl,wsBaseUrl:r.wsBaseUrl}}),environmentId:r.environmentId},client:c,refreshMetadata:async()=>{await JN(r.environmentId,s,c)},onConfigUpdated:e=>{l.resolve(e),U.getState().patch(r.environmentId,{descriptor:e.environment,serverConfig:e})},onWelcome:e=>{U.getState().patch(r.environmentId,{descriptor:e.environment})},...WN()});try{try{let e=t?.serverConfig??await pN(l.promise,nN);await JN(r.environmentId,s,c,i,e)}catch(e){if(!(r.desktopSsh?SN(e,401):Ac(e)&&e.status===401))throw e;if(!r.desktopSsh)throw await Bh(r.environmentId),Error(`Saved environment credential expired. Pair it again.`,{cause:e});let t=await FN(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 Yc(r.environmentId);return YN(u),u}catch(e){throw e instanceof Yc?e:(zN(r.environmentId,e),await XN(r.environmentId).catch(()=>!1)||await u.dispose().catch(()=>void 0),e)}}}function iP(e){if(typeof document>`u`||typeof window>`u`)return rN;let t=()=>{if(document.visibilityState===`hidden`){aN=Date.now();return}document.visibilityState===`visible`&&aN!==null&&(aN=null,e(`visibilitychange`))},n=t=>{(t.persisted||aN!==null)&&(aN=null,e(`pageshow`))};return document.addEventListener(`visibilitychange`,t),window.addEventListener(`pageshow`,n),()=>{document.removeEventListener(`visibilitychange`,t),window.removeEventListener(`pageshow`,n)}}function aP(e){return $().subscribe(e)}function oP(){return $().list()}function sP(e){return $().read(e)}function cP(e){let t=sP(e);if(!t)throw Error(`No websocket client registered for environment ${e}.`);return t}async function lP(e,t){let n=await cP(e).client.server.updateSettings(t);if(Ve()?.environmentId===e){Ne(n);return}let r=U.getState().byId[e]?.serverConfig;r&&U.getState().patch(e,{serverConfig:{...r,settings:n}})}function uP(){return ZN()}async function dP(e){let t=Ih(e);$().cancelPendingSavedEnvironmentConnection(e),$().read(e)?.kind===`saved`&&await XN(e).catch(()=>!1),RN(e),t?.desktopSsh&&typeof window<`u`&&(await window.desktopBridge?.disconnectSshEnvironment(t.desktopSsh),await Bh(e))}async function fP(e){let t=Ih(e);if(!t)throw Error(`Saved environment not found.`);let n=$().read(e);if(!n){IN(e);try{await nP(t);return}catch(t){if($M(t))return;throw zN(e,t),t}}IN(e);try{t.desktopSsh&&await PN(t),await n.reconnect()}catch(n){if(t.desktopSsh)try{let n=await FN(Ih(e)??t);await XN(e).catch(()=>!1),await nP(n.record,{bearerToken:n.bearerToken,role:n.role});return}catch(t){if($M(t))return;throw zN(e,t),t}throw zN(e,n),n}}async function pP(e){await dP(e),hN(e),Mh.getState().remove(e),U.getState().clear(e),J.getState().removeEnvironmentState(e),await Bh(e)}async function mP(e){let t=gx({...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 AN(t.httpBaseUrl):await mx({httpBaseUrl:t.httpBaseUrl}),r=n.environmentId,i=EN([r]),a=Ih(r)??wN(e.desktopSsh),o=a&&a.environmentId!==r?a:null,s=e.desktopSsh?await jN(t.httpBaseUrl,t.credential):await fx({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??bN(),lastConnectedAt:bN(),...e.desktopSsh??a?.desktopSsh?{desktopSsh:e.desktopSsh??a?.desktopSsh}:{}};if(await Lh(c),!await zh(r,s.sessionToken))throw await DN(i),Error(`Unable to persist saved environment credentials.`);return Mh.getState().upsert(c),o&&await pP(o.environmentId),await XN(r).catch(()=>!1),await nP(c,{bearerToken:s.sessionToken,role:s.role}),c}async function hP(e,t){let n=await ON(e,{issuePairingToken:!0});if(!n.pairingToken)throw Error(`Desktop SSH launch did not return a pairing token.`);return await mP({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 gP(e){await $().read(e)?.ensureBootstrapped()}function _P(){return $().start()}var vP=n({waitForSavedEnvironmentRegistryHydration:()=>Ph});export{zk as $,Jl as $i,jy as $n,pg as $r,Rw as $t,wM as A,Am as Ai,Qb as An,q_ as Ar,ZD as At,lj as B,cd as Bi,Db as Bn,D_ as Br,RT as Bt,BM as C,rh as Ci,AC as Cn,Xv as Cr,OO as Ct,RM as D,Vm as Di,Xb as Dn,Nv as Dr,dO as Dt,IM as E,Wm as Ei,xx as En,Hv as Er,hO as Et,xM as F,jf as Fi,Ob as Fn,fv as Fr,bT as Ft,LA as G,Cu as Gi,Yy as Gn,E_ as Gr,JE as Gt,UA as H,Vu as Hi,gb as Hn,N_ as Hr,xT as Ht,gM as I,Kd as Ii,ob as In,H_ as Ir,TT as It,Vk as J,Kl as Ji,Hy as Jn,m_ as Jr,mT as Jt,NA as K,Tu as Ki,Xy as Kn,T_ as Kr,CT as Kt,sM as L,fd as Li,Ib as Ln,G_ as Lr,YE as Lt,_M as M,Of as Mi,sx as Mn,rv as Mr,dD as Mt,bM as N,Af as Ni,bb as Nn,av as Nr,ZE as Nt,TM as O,km as Oi,Yb as On,Av as Or,tO as Ot,yM as P,kf as Pi,$y as Pn,lv as Pr,XE as Pt,$k as Q,Ql as Qi,Ey as Qn,dg as Qr,Hw as Qt,uj as R,dd as Ri,_b as Rn,W_ as Rr,qE as Rt,zM as S,$m as Si,jC as Sn,Jv as Sr,MO as St,MM as T,Bm as Ti,J as Tn,Qv as Tr,_O as Tt,VA as U,Wu as Ui,Fb as Un,w_ as Ur,ST as Ut,aM as V,ud as Vi,ab as Vn,M_ as Vr,zT as Vt,BA as W,Su as Wi,Zy as Wn,S_ as Wr,BT as Wt,yA as X,Yl as Xi,Ty as Xn,h_ as Xr,gT as Xt,uA as Y,eu as Yi,zy as Yn,__ as Yr,dT as Yt,eA as Z,Zl as Zi,ky as Zn,g_ as Zr,_T as Zt,gN as _,El as _a,Mh as _i,NC as _n,Kv as _r,ek as _t,eP as a,Nl as aa,bg as ai,ow as an,Sy as ar,dA as at,lP as b,Qc as ba,Oh as bi,zC as bn,Uv as br,kO as bt,gP as c,pl as ca,Jh as ci,nw as cn,ny as cr,Mk as ct,_N as d,xl as da,Qh as di,RC as dn,dy as dr,yk as dt,$l as ea,rg as ei,Lw as en,Py as er,OA as et,vN as f,bl as fa,Zh as fi,kC as fn,ly as fr,wk as ft,cP as g,Ml as ga,Hh as gi,LC as gn,ey as gr,tk as gt,pP as h,Tl as ha,Fh as hi,IC as hn,ty as hr,vk as ht,tP as i,Rl as ia,ng as ii,sw as in,xy as ir,vA as it,SM as j,Hf as ji,Bb as jn,nv as jr,YD as jt,CM as k,jm as ki,Rb as kn,jv as kr,eO as kt,uP as l,fl as la,qh as li,$C as ln,cy as lr,Ak as lt,fP as m,jl as ma,Vh as mi,MC as mn,$v as mr,Ek as mt,mP as n,Vl as na,og as ni,lw as nn,hy as nr,Nk as nt,$N as o,Cl as oa,yg as oi,rw as on,yy as or,pA as ot,sP as p,wl as pa,Wh as pi,VC as pn,fy as pr,xk as pt,Bk as q,Xl as qi,Gy as qn,d_ as qr,wT as qt,hP as r,Wl as ra,vg as ri,iw as rn,by as rr,Ik as rt,dP as s,R as sa,Yh as si,tw as sn,_y as sr,AA as st,vP as t,Ul as ta,sg as ti,Dw as tn,gy as tr,DA as tt,oP as u,Sl as ua,Xh as ui,DC as un,my as ur,Ok as ut,_P as v,al as va,U as vi,PC as vn,qv as vr,RO as vt,NM as w,Hm as wi,OC as wn,Zv as wr,fO as wt,HM as x,Qm as xi,BC as xn,Rv as xr,NO as xt,aP as y,tl as ya,kh as yi,FC as yn,Yv as yr,zO as yt,cj as z,ld as zi,hb as zn,K_ as zr,VT as zt};
|